通信技术
• Communications Technology
面向实时数据流的高效通信服务系统设计与实现
文/周丽丽 秦贺伟 赵时轮
表1:实验测试结果表(a)
摘 要介绍了面向实时数据流的高效通信服务系统的系统组成框架,分析了通信服务端的实现基础和工作流程,介绍了通信客户端的设计,在原型系统中对相应技术实现进行了测试和验证。结果表明,该系统能够满足实时、高效的数据交换要求,可为信息系统通信服务的设计实现提供借鉴。指标主题申请数量数据吞吐量数据转发延迟传输丢包率
6000120MB/s00
客户端接入数量12000180001140MB/s60MB/s0000
表2:实验测试结果表(b)
24000
180MB/s12ms0.001%
指标
【关键词】通信服务 数据交换 IOCP 发布订阅
客户端接入数量数据吞吐量数据转发延迟传输丢包率
25000225MB/s00
主题申请数量50000750004650MB/s75MB/s0000
90000
0MB/s15ms0.002%
1 引言
随着信息系统规模的不断扩大,信息系统间实时数据共享的数据量也在不断上升,继而对支撑信息系统运行的通信服务性能也提出了更高的要求。
本文提出了面向实时数据流的高效通信服务系统,作为信息交换的底层系统软件,支持大型复杂信息系统网络层的数据交互,能在高并发网络环境下提供实时、高效的数据转发服务,能够有效解决通信服务系统面临的并发访问链接数量大、数据交换信息流量大等实时处理的关键问题,对相关信息系统的开发具有一定的参考意义。
2 设计与实现
2.1 系统框架
面向实时数据流的高效通信服务系统,在其实现形式上,是一个典型的CS软件系统体系结构,由通信服务客户端、通信服务端和管理端三部分组成,图1给出了高效通信服务系统的主要组成。
通信服务客户端部署于各应用系统,为其提供网络通信能力。管理端是监控通信服务运行情况的管理程序。通信服务端的主要组成包括:
(1)逻辑管理层:由监控管理、主题管理和链接管理三个子模块组成。监控管理模块按照约定协议向管理端上报服务端状态信息;主题管理负责域内客户端的通信主题维护和通信主题匹配;链接管理用于维护服务端与客户端之间的通信链接。
(2)数据管理层包括:由数据队列管理、线程池管理和内存管理三个子模块组成。数据管理层为逻辑管理层提供数据管理支撑。
(3)通信子层包括:将底层网络通信接口进行封装,对数据管理层提供高效的网络数据传输支撑。2.2 通信服务端设计
为保证通信服务端的实现性能,在Windows系统平台下选择完成端口(Completion Port)Socket I/O模型,以提升
高速CPU和慢速I/O设备(网络适配器)间的高效协调。
采用IOCP模型编写服务程序主要包括两种类型的线程:主线程和工作线程。主线程负责创建并监听套接字,创建工作线程,等待并接受客户端的连接,并将其关联到IOCP等,而工作线程则负责等待并处理在IOCP 对象上完成的事件。
基于IOCP模型编写的服务端工作流程如图2所示。
(1)对网络进行初始化,并设置Socket版本号;
(2)创建一个I/O完成端口,为完成端口分配套接字句柄,并对端口进行标识;
(3)准备好一个监听套接字,并创建监听线程,开始监听网络上客户端的连接请求;
(4)创建工作线程池,当有客户端请求连接时,主线程建立新的连接,为新连接的客户端建立上下文信息,并将该客户端套接字句柄关联到完成端口,然后投递一个异步的收发调用;
(5)工作线程循环获取消息队列状态,从客户上下文信息中获取与Socket相关的上下文信息,判断消息状态,取得要操作的数据内容;
(6)主程序继续下一个循环,等待新的客户端连接;
(7)Windows操作系统内核完成收发操作,并将结果发送到完成端口;工作线程对数据进行处理,然后提交下一个操作请求,继续下一次循环并阻塞获取消息队列状态;
(8)重复步骤(5)至(7),直至服务端程序退出。2.3 通信客户端设计
通信客户端是为各应用系统提供通信服务访问的标准动态库,主要涉及的接口类型包括:公共接口类和数据接口类。通信客户端的类图结构如图3所示。
公共接口类的主要接口包括:客户端类和主题类。客户端类主要接口内容为客户端初始化、客户端退出、与服务端建立连接、向通信服务发送数据和检查客户端状态等。主题类主要接口内容为发布主题、取消主题、订阅主题和取消订阅主题。
图1:系统组成示意图
图2:服务端工作流程图
数据接口类主要接口内容为:设置接收对象、设置重连间隔、设置客户端缓冲区大小、绑定客户端地址和接收数据等。
3 应用评估
3.1 应用模式
面向实时数据流的高效通信服务系统,实现了数据发送端与数据接收端的松耦合关系,支持点对点传输和发布订阅传输两种传输
<<下转37页
36 •电子技术与软件工程Electronic Technology & Software Engineering
Communications Technology 通信技术
•
基于Web Services的风电场监控通信系统
文/冯黎成
1.1 风电场信息模型
摘 要为了更好的解决风机数据映射和通信的问题,根据风机通信映射国家标准IEC61400-25,分别从信息模型、信息交换模型,以及这两种模型向特定协议栈映射三方面进行了分析。在此基础之上构建了Web Services的风电场监控通信系统,这也是对Web Services服务模块、Web服务接口的一种完善设计。有效的解决了风电场监控通信系统中不同设备不想通信的问题,更好的实现了风场设备的集中性监控,优化风电场的运行,在一定程度上还节约了风电场的投资,收获更多的效益。构建风电场信息模型,就是利用逻辑节点、逻辑设备等数据数字形式的表达。在这项标准中对于风电场的通用信息模型做出了重要定义,在标准中明确规范了该系统中特定的逻辑节点以及风电场的特定逻辑节点。系统逻辑节点的重要作用就是为物理主机的相关设备提供属于风电场自身的信息;风电场特定逻辑节点具有系统逻辑节点中所有强制性的信息。风电场中特定的逻辑节点上会显示出不同类型的风电场信息,这些不同的风电场信息其实就是分成了不一致的逻辑节点,并且是一个随机的过程。
【关键词】Web Services 风电场 监控通信系统 IEC61400-25标准
1.2 风电场信息交换模型
IEC61400-25标准中规定:将不同的信息模型所包含的逻辑节点、数据属性的信息进行交换就是风电场信息交换模型发挥的主要作
1.3 IEC61400-25映射到Web Services
Web Services这项技术其实是服务器进行“网络发布的服务”应用起来的,这时客户端程序就可以进行远程操控,很好的实现对服务器的一种调用。这种机制最为主要的就是采用了服务体系结构,应用于各种类型的开放技术标准,能够将涉及到的全部信息都能完整并且准确的存档,之后为计算机应用程序的数据交换行为提供便利。这就好像是超文本传输协议两者有了可以进行信息交换的服务接口,进而实现了良好的操控和管理作用,让信息更加方便快捷的转换。在这项标准中还对抽象通信服务接口做了详细的定义,对于各个接口的对接、变量访问等服务功能也进行了详细的解释和介绍,通过特定的通信服务来映射到各个不同的通信应用层中,其实抽象通信服务接口来自于实体设备所进行的实践,会在实践中对通信服务和通信对象以及通信的参数等内容进行明确的定义。抽象通信服务接口回合其他内容区别开来形成一个的系统。
1 IEC61400-25 标准的风电场建模用。信息交换模型实现了以前不能实现的服务器和客户端之间的通信,让服务器和客户端这
<<上接36页
模式,传输应用流程如图4所示。
在点对点传输模式下,数据发送端发送的数据仅可被一个数据接收端处理。在发布订阅传输模式下,一个客户端应用发布数据,一个或多个客户端应用订阅数据;发布的数据副本会被与订阅主题匹配的一个或多个订阅应用收到,服务端基于主题将数据转发至订阅该主题的客户端。3.2 实验与结果
实验环境包括1台运行通信服务端的服务器、5台运行通信客户端的计算机和1台48口千兆交换机。其中服务器的配置为:处理器Intel(R) Core(TM) i7-4790 CPU @3.6GHZ*8,内存8G,双千兆网卡,Window 7 专业版。实验从客户端接入数量、主题申请数量两个维度,对数据吞吐量、数据转发延迟和传输丢包率3项指标进行了分析测试,测试结果如表1和表2所示。
图3:通信客户端类图
参考文献
[1]梁金晶,姚宏.浅谈Windows下高性能
服务器程序模型IOCP[J].电脑知识与技术,2016,12(03):257-258.
[2]李腾,孙志刚,贾峰.实时发布/订阅
数据分发服务的模型分析[J].无线电工程,2016,46(02):6-9,18.
图4:数据传输应用流程图
通信对抗、信息处理。
赵时轮 (1988-),男,中国电子科技集团公司第五十四研究所工程师。主要研究方向为信息处理。
4 结束语
本文介绍了面向实时数据流的高效通信服务系统的设计和实现,能够满足高并发、大流量的实时数据通信,通过系统实现,简化了应用客户端通信实现和管理的难度,为信息系统间互联提供了具备灵活性和扩展性特点的通信手段。经实验验证,系统运行高效、稳定,可为信息系统通信服务的设计实现提供借鉴。
作者简介
周丽丽(1978-),女,中国电子科技集团公司第五十四研究所高级工程师。主要研究方向为通信对抗、信息处理。
秦贺伟 (1985-),男,中国电子科技集团公司第五十四研究所助理工程师。主要研究方向为
作者单位
中国电子科技集团公司第五十四研究所 河北省石家庄市 050081
Electronic Technology & Software Engineering 电子技术与软件工程• 37