负荷管理系统中的并发通信设计与实现_第1页
负荷管理系统中的并发通信设计与实现_第2页
负荷管理系统中的并发通信设计与实现_第3页
负荷管理系统中的并发通信设计与实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、负荷管理系统中的并发通信设计与实现负荷管理系统中的并发通信设计与实现刘兆伟1赵庆建2(1厦门电业局营销部福建厦门361004;2.东南大学系统工程研究所江苏南京210096)摘要大规模并发通信的管理与控制是计算机监控领域研究的热点与难点之一。本文以厦门电业局负荷管理系统为例,对大规模并发通信系统的结构与性能进行了分析。采用面向对象的观点,构建了系统逻辑结构模型,有效地解决了网络通信中的任务调度问题及负载平衡问题,在此基础上实现了系统的高效稳定运行。关键字负荷管理系统;并发通信;面向对象文献标识码B中图分类号TN92DesignandRealizationoftheConcurrentCommu

2、nicationinthePowerLoadManagementsystemLiuzhaowei1zhaoqingjian2(1XiamenPowerBureauXiamen361004China2.systemengineeringinstitute,SoutheastUniversityNanjing210096,China)Abstract:Themanagementandcontrolofthelarge-scaleconcurrentcommunicationsystemisoneofthehotspotsanddifficultiesinthemonitoringandcontro

3、larea.Thispaperanalysesthestructureandperformanceofthelarge-scaleconcurrentcommunicationsystembasedonFujianelectricpowerloadmoanagementsystem.Thetheoryofobject-orientedisadoptedtoconstructthelogicalmodelbasedonwhichtheproblemsoftasksmanagementandloadbalanceinthecommunicationaresolvedwithhighperforma

4、nceandstability.Keywords:ConcurrentCommunication;Powerloadmanagementsystem;Object-oriented0引言大规模并发通信的管理与控制一直是计算机网络监控领域研究的热点与难点之一。文献1对网络并发通信的通信模式、通信协议、分布式算法进行了深入研究,文献2-4等构建了并发通信的模型并对其性能进行了研究。本文以广域网上运行的电力负荷管理系统为例,对大规模并发通信系统的结构与性能进行了分析,构建了系统逻辑结构模型,并依据此模型有效地解决了网络通信中的任务调度问题及负载平衡问题,实现了管理系统的稳定运行。1电力负荷管理系统总

5、体结构作者简介:刘兆伟,男(1971),工程师,厦门电业局负荷管理中心主任,研究方向配电网自动化与信息控制。电力负荷管理系统是一套运行在电力专用通信网络上的大型管理系统,它通过对分布在全市甚至全省的大客户、变电站、变压器、供电线路等上的数千甚至数万远方监控终端进行实时监测,以掌握电压、电流、功率、电量、开关变位等模拟量与状态量信息,并通过发出遥控命令进行实时控制。以厦门电业局负荷管理系统为例,其系统结构如图1所示。图1电力负荷管理系统总体结构按照电力管理系统的要求,系统由数据库服务器、前置机、后台工作站、计算机网络、监控通信信道、监控终端等组成,整体结构采用全省联网的分布式结构,系统支持省、市

6、、区三级管理人员同时进行操作的要求。通信的核心功能由前置机完成,一方面它必须具有为大量后台提供通信请求服务的能力,另一方面又必须具有同时兼容无线电台、电话、GPRS、CDMA、GSM短信、计算机网络等多种通信信道进行大量通信事务处理的能力。2并发通信系统的逻辑设计电力管理系统中存在着大量的并发通信请求,主要包括多后台并发任务请求、同一后台多任务请求、大规模并发任务请求、多种通道并发通信请求、通道内并发会话请求。针对不同的并发通信请求,本文进行了系统的逻辑结构设计,通过复杂的排队、调度算法实现了通信系统的优化。2.1并发通信请求2.1.1多后台并发任务请求由于前置机与后台是多对多的通信关系,当多

7、个后台(要求不少于100个)同时发出命令时,将会产生大量并发服务的请求。为了满足这种大量并发服务的需求,同时将资源的消耗减少到最低,系统的设计采用标准的多线程并发服务模式,即针对每一种并发服务逻辑设置一个daemon线程,实时监视服务请求的变化,同时动态管理多个服务线程,各个服务线程负责完成具体的服务逻辑。2.1.2同一后台多任务请求前置机系统完全负责与终端设备进行通信及通信信息的解释工作,因此同一个后台应用在某些情况下可能向前置机系统发出多个通信请求。由于这些请求可能同时在不同的前置机或者同一前置机的不同通道或者同一前置机的同一支持并发会话的通道上执行,所以通信请求必须尽可能被并发处理,而不

8、能仅仅采用先来先服务的策略。针对这一问题,前置机系统的后台服务逻辑按照支持多个层叠任务的模式设计,层叠任务数可达成千上万,系统将按照各任务请求所对应的通道及该通道支持并发会话的规模等条件对任务进行分组,组间并发执行,组内按照优先级执行,优先级内按先来先服务执行。2.1.3大规模并发任务处理由于通信信道及规约的差异被局限在前置机系统当中,加之整个系统的分布式设计,后台应用不可能再直接控制通信完成的流程,甚至预先不知道一个通信请求会被哪一个前置机系统执行,因此后台应用只能一股脑将其所请求的通信任务全部发送到各相连的前置机上,这样一来可能造成前置机系统必须同时面对大量的(可能达10000数量级)并发

9、通信任务。针对这种情况,前置机系统设计了一套专门的调度机制来协调这些任务的执行,既保证各任务间的公平性,又尽最大可能提高任务处理的吞吐量。这一套机制主要包括原始请求排队、各通道请求预排队、队首部分请求并发竞争通道、各通道通信请求排队等控制调度算法。2.1.4多种通道并发通信请求按照通信规约5的约定,电力负荷管理系统不仅要支持无线电台通信信道,还必须支持GPRS、GSM短信、宽带网、电话等多种通道数据传输的要求。由于不同通道采用不同的通信协议及编码方式,系统在处理多种通道并发请求任务时,首先将不同通道的请求进行排队处理,编码方式统一转换后,在通道内再次进行并发会话管理。2.1.5通道内并发会话请

10、求与传统的无线电台信道不同,GPRS、GSM短信、宽带网、电话等新的通信信道具有同时进行一对多通信会话的能力,这就要求通信通道控制逻辑不仅能完成标准的轮询通信规程,而且能够支持通道内并发会话的通信规程。按照并发会话的要求,系统通道控制逻辑为每一个通道分别设置多个优先级请求队列、等待应答队列、响应队列等专用数据结构及相应的实时调度算法,实现了并发会话控制。2.2系统逻辑结构设计图2下行数据流图根据管理系统的各种并发通信请求,本文对通信系统逻辑结构进行了设计。图2是通信系统的下行数据流图,描述了信息流从后台出发一起到达数据采集终端设备的过程。为了描述方便,图中以两个后台连接、三个通道配置为例,实际

11、系统中的后台连接数与通道配置数可达数百个。从图2中可以看出,为了满足通道内、通道间、后台内、后台间大规模并发处理的要求,系统中采用了多级排队、级间处理的方式,后台的命令请求下行过程大致如下:进入网络命令接收队列,防止大量后台命令积压无法及时处理时(如数据补测时)被丢弃;后台服务逻辑从网络命令接收队列中按照FIFO的原则对网络命令进行处理,生成后台任务;后台任务按照将要访问的通道的不同,按优先级不同进入对应的通道预处理队列;任务处理管理逻辑按照通道间平等、通道内按优先次序的轮转调度算法,从各通道的预处理队列中取出最早到达的后台任务,并为其分配任务处理逻辑实例;任务处理逻辑对指派的后台任务进行分析

12、,获取必要的档案数据和参数信息,然后调用规约解释逻辑生成一组下行通信请求;处理逻辑将生成的下行通信请求逐一送到各通道的请求发送队列,请求被按照本后台任务的优先级放入相应队列;各通道控制逻辑实例按照优先级的不同、采用FIFO原则处理所有的通信请求,通道控制逻辑对每个通信请求进行通信适配处理,并调用相应设备驱动完成发送,同时,完成发送的通信请求会被记录在等待应答队列中。对于上行数据流,指信息流从数据采集终端设备到达后台的过程,与下行数据流方向相反。此外,不同类型的通信信道在通道接收处理中的流程相差较大,例如电台信道只需进行接收字节的缓存,GSM短信信道及CMPP信道都需要为每一台终端设备分别设立短

13、信接收队列,宽带网络通道、GPRS通道则需要管理TCP连接列表等。3面向对象的软件设计与实现传统的并发模型是围绕进程的概念进行设计的,它由一组进程构成,每个进程是一个顺序执行的过程,各进程间可以并发执行。进程在执行中可以相互通信,交换数据。进程间通信可以采用两种方式:共享变量和消息传递,信号量、临界区、管程和路径表达式等被用来对并发进程的操作进行同步。面向对象模型以一种更加直接的方式刻画客观世界中的活动,模型中存在着潜在的并发执行能力。在面向对象模型中引进并发描述机制是目前一个重要的研究方向。在面向对象的并发系统中,共享资源是作为一些对象的局部数据,由这些对象来对它们进行管理的,对共享资源的使

14、用是通过向管理它们的对象发送消息来实现的,这里,资源管理对象是共享的。非资源管理对象之间的数据交换往往也是通过共享对象来实现的,即使不通过共享对象,它们之间也是通过消息传递来进行通信的。本文从对象模型出发研究了对象的并发能力,将通信中涉及到的物理及逻辑单元进行了对象化,既保留了面向对象的各个重要特性,又解决了并发的软件设计问题。3.1面向对象设计根据电力负荷管理系统的逻辑结构设计,本文设计出了以下主要通信对象:3.1.1通道管理器对象负责实时监视各通信信道配置信息的变化,随时维护内存中的通道控制对象。系统初始化时会创建一个工作线程,负责反复从数据库中读取通道配置信息,监视配置的更改。3.1.2

15、通道控制对象通过管理不同的设备驱动程序,控制不同的通信信道,为 软件对象提供统一的通信访问接口,并按照与多个终端进行并发通信的需要,对通信请求按照优先级进行排队。3.1.3规约厂管理器对象根据系统配置信息,针对每种通信规约DLL创建一个规约厂对象,为通道控制对象提供一个规约检索接口,使其可以通过终端地址精确区分各种规约。3.1.4规约厂对象记录通信规约相关信息,包括规约名、规约描述等,根据规约插件的各调用入口地址,初始化时,将对象对应的规约插件DLL调入内存,创建一个上报处理对象,对外提供任务处理对象的创建和销毁功能。3.1.5规约识别对象根据通道及其支持规约的配置信息,为通道接收提供字节流缓

16、冲,并对缓存的字节流进行断帧处理,以提供对规约进行识别和信息提取的功能。3.1.6上报处理对象为通道管理对象提供上报数据的处理功能,通过调用后台服务管理器的广播通知接口向所有当前活动的后台服务发送上报通知。3.1.7任务处理对象当后台服务对象或自动任务对象新建一个任务时,任务管理对象根据系统当前负荷状况决定立即或延后向对应的规约厂对象申请一个新的任务处理对象实例,这些对象实例至任务执行完毕或者被撤消时放入对象池中,以备下次调用。3.1.8规约插件对象提供规约底层处理功能,包括规约识别、断帧、取地址等,并提供实时召测、参数设置查询、控制功能接口与实时上报数据解释接口,以满足规约识别时的参数调用。

17、3.2软件实现在并发通信逻辑设计与对象设计的基础上,实现了负荷管理软件系统。系统整体采用分布式结构,既可以在各市独立运行,也可以在省公司利用电力通信网监控全省范围的用电负荷。系统中兼容了无线电台、电话、GPRS、CDMA、GSM短信、计算机网络等多种通信方式。由于系统采用了多种并发通信控制措施,有效解决了通信上的拥塞与负载均衡问题,实现了系统的高效稳定运行。4结论随着通信技术和网络技术的发展,负荷管理系统有了很大发展。新一代负荷管理系统主要有以下特点:系统兼容多种通信方式,从单一串口到无线电台、GSM、GPRS、光纤等多信道融合;系统兼容多种规约,通过规约插件实现各厂家终端、电表规约的兼容;与相关系统信息共享,实现与营销系统、调度系统等的无缝集成等。以上特点使得负荷管理系统通信容量大、通信情况复杂,给系统建设造成了一定困难

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论