收藏 分享(赏)

组件化数据监显软件设计与实现.doc

上传人:无敌 文档编号:33566 上传时间:2018-03-05 格式:DOC 页数:7 大小:86KB
下载 相关 举报
组件化数据监显软件设计与实现.doc_第1页
第1页 / 共7页
组件化数据监显软件设计与实现.doc_第2页
第2页 / 共7页
组件化数据监显软件设计与实现.doc_第3页
第3页 / 共7页
组件化数据监显软件设计与实现.doc_第4页
第4页 / 共7页
组件化数据监显软件设计与实现.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、组 件 化 数 据监 显 软 件 设计 与 实 现 王毅 赵 俊翔 封慧英 薛凯 空 间 物理 重 点实 验 室 摘 要: 为满足网络数据在开发平台上动态显示, 并允许在分布、 异构的计算环境下稳定 且灵活的运行等功能;本系统应用数据分发服务、 组件化数据监显技术, 针对用 户不同的需求, 完成界面显示的设计;为用户提供分层及微内核的软件框架, 使 界面显示与业务逻辑分开, 降低系统耦合性;提高代码重用性以及可维护性;在 控件功能设计中采用工厂和反射设计模式, 使系统有良好的扩展性, 减少数据 监视软件的开发周期;本系统引入组件化程序设计思想, 将复杂的工程分割成若 干子模块, 实现了用户在客

2、户端上进行信息显示方式的配置;充分验证了组件化 框架在监显系统中的优势;提高系统的重用性、开放性、以及高可靠性。 关键词 : 数据分发服务; 组件化; 用户定制; 界面设计器; 控件; 作 者简 介: 王毅 (1984-) , 男, 辽宁人, 工学硕士, 工程师, 主要从事软件系 统设计、数据挖掘技术等方向的研究。 Design and Implementation of Component Data Monitoring Software Wang Yi Zhao Junxiang Feng Huiying Xue Kai Science and technology on space ph

3、ysics laboratory; Abstract : In order to meet the dynamic display of network data on the development platform, and to allow stable and flexible operation in distributed and heterogeneous computing environment, etc.This system uses the modular data monitoring technology, and aims at the users differe

4、nt requirements, and completes the design of the interface display.Provide users with the MVC framework to separate views from functionality, reduce coupling, and improve code reusability and maintainability.The factory model design is adopted in the design of control function, so that the system ha

5、s good scalability and reduces the development cycle of data monitoring software.The system introduces the idea of component programming, divides complex engineering into several sub modules, and realizes the configuration of information display mode on the client.The advantages of component-based f

6、ramework in monitoring system are fully verified.Improve system reusability, openness, and high reliability. Keyword : component; user customization; interface designer; controls; 0 引言 随着航天飞行器快速发展, 作为飞行器系统关键部分的软件被寄予更多希望。 然 而, 随着航天型号任务增多, 研发软件规模越来越大, 软件开发过程也更为复 杂, 因此传统软件架构方法和设计模式已经不能满足航天软件在质量和进度上 的高要

7、求。 为解决面临的问题, 从传统的组件化设计, 到基于开发框架+组件的开发模式, 再到最后引入中间件技术采用基于数据分发服务的组件化程序设计方法。 数据监显软件在引入中间件和组件化程序设计方法以后, 应分布、 异构的硬件环 境变化要求, 可允许两个软件组件进行跨进程、 跨操作系统的通信, 提升了分布 式环境下数据监显软件的可扩展性、 可重用性, 从而提高整个飞行器软件系统的 研制效率和可靠性。 1 组件化应用程序框 架 组件化数据监显系统面向典型的网络化测控环境, 采用中间件+组件化框架, 通 过与本地服务器数据属性库的自动映射提供数据解析服务, 为用户提供个性化 动态定制的试验数据状态查看功

8、能, 并方便用户根据业务需求动态扩展。 同时实 现用户在客户端上进行信息显示方式的配置, 并且形成各客户端的配置文件, 以.XML 文件形式进行保存。 组件 化数据监显系统利用分层架构模式, 把各组件分成若干平行层次, 每一层 都代表特定功能 (如展示逻辑或者业务逻辑) , 典型的分层架构模式包括展示 层、 逻辑业务层、 持久层和数据层。 分层架构模式关系与功能的关系与功能如图 1 所示。 图1 分层架构模式的关系与功能 下载原图 采用此种分层架构的特点是为了使组件间功能逻辑的分离。 一个层中的组件只会 处理本层的逻辑。 然而, 每一层又都是封闭的。 每一层的输入 request 必须一层 一

9、层的传递。从展示层传递来的请求首先会 传递到业务层, 然后传递到持久层, 最后才传递到数据层。 分层架构模式满足开发-封闭的设计原则, 利用分层架构模式可以在组件化的开 发过程中, 仅关注本层组件的逻辑, 同时利用数据分发中间件技术实现组件间 的交互, 从而提升应用程序架构可重用性和可扩展性。 2 组件化数据监显系 统设计 在组件化数据监显系统中, 系统为用户提供个性化动态定制的试验数据状态查 看功能, 所以将数据传输分为服务端、 客户端以及通信接口 3 个部分。 其中服务 端安装数据库, 保存测试数据的属性信息以及客户端数据监视软件的用户、 人员 权限及个性化配置。 客户端用于数据监视客户端

10、在数据监视软件中用于接受和显 示数据中心发布的试验信息、 测试数据。 组件化 数据监显软件主要由控件库模块、 控件管理模块、用户管理模块 3 个部分组成, 总体设计如图2 所示。 图2 系统模块图 下载原图 利 用DDS 数据分发服务器中间件技术, 实现组件与组件的数据交互。 在组件化数 据监显软件中内部仅关注需要发布和订阅的数据, 而不关注数据的来源和去向。 所有的数据集中在 DCPS 层的数据域中, 并由通信中间件进行分发。在这种结构 方式中, 数据的流向以发布/订阅关系而不是通信地址为标识, 实现了底层网 络、 组件之间的脱耦。 通信地址的改变不会引起组件的任何变动, 使得这种改变 能够

11、在流程中实时进行。 在组件间交互设计过程中, 组件数目的减少将不会引起 现有平台的任何改变, 组件数目的增加则只会引起需要对所增加组件发布的数 据进行处 理的服务和任务的更改。 这种特性极大地提高了软件系统的灵活性和可 靠性。如下图3 组件间逻辑结构设计所示。 2.1 基于 数据分 发服 务软 件架 构 组件化数据监显软件架构是一种基于 DCPS 的软件系统架构。 其由域、 域参与者、 数据写者、 数据读者、 发布者、 订阅者、 主题几种实体构成。 软件系统架构如下 图4 所示。 在基于DDS 的软件架构中, 数据在域内发送和接收, 发布者和订阅者分别用来 管理单个或多重数据写入和数据读取。

12、一对数据读取者和数据写入者必须拥有相 同的主题, 数据写入者发布的数据才能被订阅数据读 取者接收。 图3 组件间的逻辑结构设计图 下载原图 图4 基于 DDS 的软件架构 下载原图 本文通过发布-订阅机制, 数据监显软件实现了应用程序与网络拓扑解耦。应用 程序中的数据产生者向 DCPS 注册声明为数据发布者, 并声明其生产的数据类型 和主题号, 把生产出的数据推送给通信中间件。 数据接收方则声明为订阅者, 描 述其需要的数据类型与主题号。 通信中间件之间根据双方的数据类型与主题号来 进行关联, 若匹配, 则建立数据链路。通过这种发布-订阅机制, 通信中间件正 确地把数据分发给所有的订阅者。一个

13、典型的数据传输过程有以下 几个步骤: 1) 数据生产者注册声明为发布者, 并声明其生产的数据类型、主题和其所要求 的 服务策略; 2) 数据接收方声明为订阅者, 并声明其需要的数据类型、主题和 服务策略; 3) DCPS 层根据双方的数据类型、主题、服务策略进行关联, 若匹配, 则建立数 据链路; 4) 数据生产者向中间件发布数据, 通信中间件根据其服务策略向相应数据链路 发送信息, 订阅者的通信中间件收到信息, 并向数据接收方推送信息。 通过以上 流程, 数据监显软件架构实现了各个组件之间数据的正确、 高效分发。 2.2 控件 库 控件库模块是整个数据监显软件用户定制系统的核心部分, 其利用

14、基于 DDS 的 分布式测控中间件获取和解析信息, 进行数据的显示和按需定制, 主要实现方 式为控件动态显示。 此模块包含两类功能实现。 其一控件产生类型模块使用了一 种 “工厂模式 ”的设计方法来实现依据用户需求产生对应类型的控件这一操作。 工厂模式设计方法的意义是定义一个创建产品对象的工厂接口, 将实际创建工 作推迟到子类当中。 核心工厂类将不再负责产品的创建, 这样核心类成为一个抽 象工 厂角色, 仅负责具体工厂子类必须实现的接口。 其在产生控件类型中引入工 厂方法模式, 涉及到抽象工厂角色、 具体工厂角色、 抽象产品角色以及具体产品 角色等, 其图示例如图 5。 图5 工厂方法模式类图

15、 下载原图 2.3 控件 管理 控件管理模块是整个基于用户定制界面设计器工程的管理部分, 其中控件管理 模块功能设计如 图 6 所示。 图6 控件管理模块功能图 下载原图 基本管理子模块提供了对用户所使用的控 件进行基本管理的功能, 包括了对显 示窗口中添加新的控件, 删除显示窗口中用户所不需要的控件, 复制、 剪切并粘 贴新的控件等。除此之外, 用户可以通过对显示界面中功能控件进行鼠标右击, 在弹出的菜单中选择属性参数查询与属性参数配置修改实现对控件进行属性参 数配置查询及修 改的操作。 扩展管理模块可以根据业务需要对图元控件库进行动态扩展, 并提供标准接口 和图元扩展范例。 用户可以通过预

16、留好的产生控件接口根据自身需求添加相应控 件, 同时删除不需要的控件。 扩展管理模块还可以在多文档视图中, 实现对不同 文档页中的控件进行不同 管理操作。 对某一个文档页中用户使用的控件进行相关 管理操作时, 并不会影响到其他文档页中所设计好的界面及相关信息内容的显 示。从而实现基于多文档视图显示的界面定制设计的 功能需求。 2.4 用户 管理 为实现用户对整个软件系统的管理功能, 用户管理的功能设计包括数据库关联 子模块和系统管理子模块。用户管理模块的相关功能设计如 图7 所示。 图7 用户管理模块功能图 下载原图 数据库关联子模块主要功能是每个用户有自己相应的权限, 对应生成的文件会 保存

17、在对应的数据 库当中。 各用户之间相互独立, 互不相干, 数据之间也互不影 响。 从而保证各用户的数据独立性。 当用户根据需求拖拽不同控件完成界面设计 后, 可以将界面配置文件以 XML 格式进行保存, 保存的界面配置文件将存储到 数据库中。同时, 用户可以直接从数据库对已保存的 XML 配置文件进行读取打 开。从而实现了用户操作与数据库相关数 据的关联。 系统管理子模块实现了用户管理员可以给不同的用户动态的设置和修改不同的 权限的功能, 可以保证不同的用户只能浏览自己相关的数据, 包括管理数据库, 分配数据浏览终端的链接端口和显示方式等。 同时还 可以进行客户端配置文件管 理以及 集中定制。

18、 3 系统 实现与应用 3.1 系统 实现 为了满足动态数据显示平台用户可定制的需求, 将系统的实现分为 3 个状态:定 制态、配置态、运行态。定制态完成用户按需定制控件以及设计显示界面;配置 态是系统进行数据源配置以及属性配置时的状态显示, 此状态完成数据显示前 的一系列配置操作; 而运行态则是系统进行动态显示数据测控结果的状态, 在通 过停止操作便可回到定制态和配置态。 系统根据用户需求在 3 个状态下相互转换, 实现对数据的监 视和测控。 本文所设计的图元控件库涵盖了一系列的图形样式, 包括单行/多行文本、 表盘、 LED 进度条、 指示灯、 表格、 曲线、 分组框、 标签页等。 每一类

19、型的控件都有其 各自具体的设计, 用来实现对应的功能, 并通过这些丰富的图形样式控件来很 好的满足用户按照不同的需求浏览相关信息的要求。控件样式如 图 8 所示。 3.2 系统 应用 在Windows 和Linux 环境下, 用Qt 开发出一个基于组件化的数据监显系统, 系 统以界面显示器的方式供用户自定义设计界面, 以控件的形式动态显示数据。 系 统为用户提供个性化动态定制试验数据查看功能, 操作灵活方便, 运行稳定可 靠, 在数据显示与监控试验中 有着较为广泛的应用。 组件化数据监显软件实现 过 程如下: 图8 控件样式图 下载原图 数据发布端发送以火箭发射记录数据为主题的数据, 完成测控

20、系统中各分布式 节点高效的数据交互功能。 数据订阅与显示端 (人机界面设计器) 接收发布端发 送的数据, 经过分布式测控系统的数据解析后, 界面设计器动态显示出的火箭 发射 记录数据。 数据订阅与显示端动态显示经过解析后的数据, 不同控件识别不同数据类型。 在 飞行器压力状态组合中, 飞行器压力由于其特定的数据结构, 只能由 指示灯控 件识别与显示;火箭发射过程超差数要求以数值形式呈现, 以更加直观表现出超 差数值大小, LCD 控件符合其数据结构用于显示;曲线直观对比出各组数据变化 以及几种测试之间参数要求。 如图 9, 界面设计器连接数据库后, 接收发布者发送的主题, 解析各类型数据, 以

21、不同种类控件显示不同类型信息, 为火箭发射 试验 提供依据。 图9 系统运行界面图 下载原图 4 结论 组件化数据监显软件是基于 Qt creator 可视化编程平台, 满足用户不同的需求 下的数据显 示与监控功能。 使用基于数据分发服务的组件化程序设计思想提升了 分布式环境下数据监显软件的可扩充性、 可重用性, 提高了系统的稳定性和可靠 性, 使系统模块之间独立性提高, 减少开发周期。 参考文献 1 陈春甫.基于DDS 的 数据分发系统的设计与实现D.上海:复旦大学, 2008. 2 巴海涛, 许锐锋.基于 DDS 规范的战场态势信息分发框架J.指挥信息系统 与技术, 2012 (1) :4

22、5-48. 3 周淳.实时发布/ 订 阅中间件中的 QoS 管理机制和策略研究D.南宁:东南大 学, 2012. 4 谢蓓, 刘毅, 曹力 华, 等.实时系统数据分布服务 DDS 技术综述J. 舰船电 子工程, 2006, 26 (2) :16-19, 122. 5OMG Available Specification formal.Data Distribution Service for Real-time Systems Version 1.2S.07-01-01. 6 谢阳杰, 吴家铸.数 据分发服务 DDS 的研究A.全国第19 届计算机技术与应 用学术会议C.合肥, 2008, 38-43.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报