郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx

上传人:b****1 文档编号:13741795 上传时间:2023-06-16 格式:DOCX 页数:7 大小:32.37KB
下载 相关 举报
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第1页
第1页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第2页
第2页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第3页
第3页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第4页
第4页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第5页
第5页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第6页
第6页 / 共7页
郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx

《郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx》由会员分享,可在线阅读,更多相关《郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx(7页珍藏版)》请在冰点文库上搜索。

郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现.docx

郑州大学远程教育电力市场技术支持系统主站体系方案的设计与实现

电力市场技术支持系统主站体系方案的设计与实现

 

1、引言

电力市场技术支持系统是为支持电力市场运营而建立的一套自动化系统,包含多个子系统【1】。

一般认为,它既要考虑实现电力的交易,又要考虑电力系统的安全运行。

根据这些子系统的特点,可以把电力市场技术支持系统大致划分为基于Web的电力交易平台和主站侧内部应用平台两部分。

随着电力市场的发展,电力市场技术支持系统也在不断进步,尤其是主站侧内部应用平台正经历着由二层客户/服务器模式向三层和多层模式的转变。

二层客户/服务器模式通常以PC机作为客户机使用并运行客户端程序,另外一台服务器用于运行后台的数据库系统,应用软件既实现人机交互又实现业务逻辑,部分业务逻辑以存储过程的形式在数据库服务器上运行。

这种模式的特点是以数据库系统为中心,实现各节点的数据交换和共享,各节点间的数据通信由数据库提供的接口承担。

这种系统架构相对简单,易于实现,适合简单的网络环境。

随着信息技术的发展、实际应用环境中网络环境复杂程度的增加、客户端连接数的不断增加、安全性等问题变得日益突出,内部应用二层客户/服务器结构的不足和缺陷也逐渐暴露出来。

为了克服二层客户/服务器模式的缺陷,出现了一种新的结构,即三层(N层)客户/服务器模型。

三层客户/服务器结构构建了一种分割式的应用程序。

系统对应用程序进行分割后,划分成不同的逻辑组件,主要分为:

①用户界面层:

提供信息浏览、服务请求、定位等,主要是实现用户界面,并保证用户界面的友好性和统一性。

②业务处理层:

实现客户的全部业务逻辑。

③数据服务层:

实现数据定义、存储、备份、检索等功能,主要由数据库系统实现。

三层体系结构的实现相对复杂。

为了满足实现三层体系结构这种需求,出现了各种不同的规范,例如DCOM,CORBA,J2EE等,以及与之相关的产品。

这些技术和产品在很大程度上方便及简化了三层体系结构分布式系统的实现,但在每个节点需安装或部署相应的运行环境,从而增加了系统构建的复杂性以及开发和维护代价;同时,这些相关的产品尚在完善和发展之中,对于某些应用需要,还不能予以有效支持。

考虑到这些因素,本文提出一个基于SOCKETAPI的三层体系结构方案。

2、体系结构

TCP/IP是网络普遍支持的通信协议,SOCKETAPI是与之相关的网络应用编程界面。

网络通信应用程序通过SOCKETAPI与TCP/IP核心进行沟通。

直接使用SOCKETAPI需了解和熟悉相关的复杂细节。

本系统的设计目标就是实现一个基于SOCKETAPI的基本通信平台,为上层应用屏蔽操作系统和网络协议。

整个体系结构由数据通信引擎服务和应用编程接口组成。

基于本体系结构的三层应用系统体系结构如图1所示。

数据通信引擎服务是

图1系统体系结构

运行在应用服务器上的中间层程序,提供网络连接、数据传输分发、进程管理、日志记录等基础型服务,上层应用分应用服务和客户端程序两类,它们均通过应用编程接口与数据通信引擎服务发生联系。

数据通信引擎服务和应用编程接口屏蔽了操作系统和网络协议等细节,支持同步过程调用和异步消息传输两种模式。

同步过程调用时,客户端主动发出请求,数据通信引擎服务根据请求的类别,通知相应的应用服务接收、处理数据并等待处理结果的返回,然后将应用服务返回的处理结果返回给客户端。

异步消息传输有两种类型:

①应用服务发布消息:

数据通信引擎服务根据预先定义的参数把消息传输到相应的客户端或其他应用服务;②客户端发送消息:

数据通信引擎服务根据消息的类别把消息送到相应的应用服务并通知其接收。

数据通信引擎服务调用SOCKETAPI完成端口绑定、监听等一系列网络通信功能,实现面向连接的数据通信,并负责分配和管理其他操作系统资源。

这样,既保证了系统的稳定性和通信效率,又简化了上层应用的复杂性。

相关参数一般以文件的形式静态配置,数据通信引擎服务启动时读入文件并完成环境初始化,对于某些参数可在运行状态动态设置。

该体系结构以数据通信引擎服务为核心,实现了一个可靠的数据通道,保障应用数据的传输,以自身的复杂性换取了上层应用的简单实现、系统的简洁部署和方便管理。

3、关键技术

3.1数据组织

SOCKET有两种类型,即流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)。

流式套接字提供了一个面向连接、可靠、数据无错、无重复发送及按发送顺序接收数据的服务,数据被看作是字节流,无长度限制。

本系统在流式套接字的基础上进行数据封装,根据上层应用的实际调用方式把数据封装成逻辑帧,即一帧数据由定长的逻辑帧头和不定长的数据体构成。

逻辑帧头由16位帧识别字、帧长度、帧标识号、帧数据校验和等域组成。

逻辑帧头的作用是保证帧数据被独立和完整地传输,即一帧在一个环节只传输1次和被响应1次,数据体可变长,以满足实际数据传输的需要。

基于这种数据封装方式,上层应用间很容易实现分布式过程调用功能。

调用请求者将请求数据封装成一个逻辑帧并发送请求,数据通信引擎服务根据帧标识号把请求帧分发到相应的应用服务,被调用的应用服务响应这一个逻辑帧,处理后返回结果,请求者等待到结果数据帧,一次调用圆满结束。

封装的细节由通信框架处理,若发生通信错误,请求者将收到包含错误信息的数据帧。

为了保证通信框架一致性,统一定义了通用错误信息。

为进一步方便和规范上层应用的内存使用,应用编程接口实现并提供一个公用的辅助内存管理类CBuffer。

该类实现了一个以Byte为单位、可变长、连续的线性内存空间。

使用这个类,上层应用可方便地向逻辑帧写入和读取可变长的应用数据。

3.2多线程

数据通信引擎服务和应用编程接口均采用多线程技术,以满足实时性要求,提高系统响应效率。

单线程程序是指在程序运行期间由单个线程独占CPU的控制权,负责执行所有任务。

在这种情况下,程序在执行一些比较费时的任务时,就无法及时响应其他操作,造成阻塞。

多线程程序是指在应用程序中使用多个线程把不同的执行任务分开执行。

因此,采用多线程技术满足实时响应的需要,是数据通信引擎服务成功的关键。

数据通信引擎服务包含3类线程:

主线程响应用户界面;监听线程负责SOCKET端口监听;工作线程负责接收和处理客户端数据。

数据通信引擎服务启动时,主线程自动创建。

主线程读人参数文件,分配内存和资源,初始化运行环境,然后处于等待状态,等待用户操作命令和其他线程的信号。

监听线程由主线程创建,用来创建本地套接字,绑定端口,开始监听。

一旦监听到连接请求,便接收连接,创建工作线程。

工作线程根据预定的逻辑,校验连接的合法性,接收数据,当接收到完整的一帧数据后,识别帧数据,分发给相应的应用服务并触发信号,然后等待返回信号,读取返回数据并封装,最后通过套接字把数据发送回去。

这样,工作线程完成了一个完整循环,在该循环中,工作线程还主动判断是否超时和发生错误。

工作线程一旦创建便独立执行,因而不影响监听线程对客户端请求的响应,线程间可通过信号灯等方式传达必要的信息。

3.3进程间通信

一般操作系统的进程间通信(IPC——inter-processcommunications)机制基本包括共享内存、信号灯操作、消息队列和信号处理等部分。

其中,共享内存允许2个或多个进程共享一个给定的存储区,数据不需要来回复制,是最快的一种进程间通信机制。

为了实现安全通信,必须与信号灯等同步机制共同使用【2】。

数据通信引擎服务正是应用了这种机制来处理与应用服务程序间的数据通信。

数据通信引擎服务为每一个应用服务程序分配一套完整的进程间通信对象,包括共享内存、信号、互斥体等。

工作线程负责把数据写人共享内存并锁定互斥体和触发信号,这样便开始了一次调用,应用服务响应信号处理数据,然后向共享内存写结果数据并清除原信号和触发另一个信号,工作线程响应这个信号读出结果数据,清除信号,解锁互斥体。

一个工作线程的调用过程中,若有另一个工作线程尝试调用同一个应用服务程序,则会因互斥体被锁定而处于等待状态,这样便保证了进程通信的线程安全。

工作线程一旦被创建便锁定某些资源独立运行,在某些情况下可能死锁。

为了避免这种可能的死锁造成系统阻塞,数据通信引擎服务的主线程在空闲时间片内定时检测处于工作状态的工作线程是否超时。

正常情况下,工作线程超时能自己退出,因此,主线程通过判断是否超时,可识别工作线程是否因意外死锁,然后解除死锁,恢复系统正常运行。

4、实际应用

PMOS2000电力市场技术支持系统由基于Web的电力交易平台和主站侧市场内部应用平台两个部分组成。

主站侧市场内部应用平台包括实现不同功能的应用子系统(计划子系统、结算子系统、负荷预测子系统等)以及与其他系统的接口,实现计划编制、结算、考核等功能,为Web电力交易平台提供共享数据,是电力市场技术支持系统的核心【3】。

4.1系统的部署

典型的三层结构模式包括客户端、应用服务器和数据库服务器。

数据通信引擎服务作为中间层运行在应用服务器上,计划子系统、结算子系统、负荷预测子系统等以应用服务的方式部署在服务器上,并由数据通信引擎服务统一管理。

不同的子系统可以部署在不同的应用服务器上,以便实现多台服务器分摊负载。

一个子系统也可以是另一个子系统的客户端,这种级联方式增加了系统部署的灵活性。

数据通信引擎服务的进程管理模块自动管理各子系统并记录客户端的连接、调用情况,系统维护管理简单方便。

4.2上层协议和公共服务

逻辑帧数据封装形式使得系统构建时能方便地定义上层应用协议。

定义上层应用协议使应用服务和客户端各自的实现不相互依赖,应用实现只需链接相应的编程接口。

客户端根据定义好的上层应用协议封装操作和数据,然后调用编程接口的远程方法将请求发送到数据通信引擎服务,数据通信引擎服务根据定义识别请求,将调用转发到相应的应用服务,等待应用返回处理结果,最后将结果数据发送回客户端。

系统构建中对各子系统统一划分编号范围,对所有的操作统一编号,统一定义中文描述,建立数据字典。

系统以操作为原子单位,操作与系统数据相关联。

统一定义操作使系统更具整体性,很容易实现与其他系统的接口。

此外,通过定义新的操作,很容易实现系统功能扩展。

由此构建的软件系统正朝一个可定义、可组态的方向发展。

这种以操作及关联数据为基础的上层应用协议很容易被管理和进行访问控制,权限管理子系统便是这样一个公共服务。

通过这个服务,可灵活方便地实现不同操作权限的组合,权限校验形式统一,实现简单。

4.3可扩展的目标

电力市场运营正处于发展之中,电力市场技术支持系统只有在很好地满足各种需求时,才能得到很好的应用。

应用需求的多变是当前电力市场技术支持系统建设过程中经常碰到的问题,其中某些需求甚至可能发生多次变化。

当一个新的需求提出后,首先,根据数据字典确定这个需求是否已存在定义,若不存在,则定义新的协议,从而将可能的修改定位到尽可能小的范围;其次,根据协议修改对应的应用服务和客户端;最后,重新部署修改的应用。

在修改过程中不影响系统其他模块的运行,软件更新的难度降低,所需的时间减少。

与其他系统的接口是电力市场技术支持系统中一个重要的模块。

例如,结算模块可以通过远程调用召唤接口模块向电量计量系统请求计量数据,这样既满足了功能的要求,又维持了系统的软件结构和模块间的相互独立。

系统接口模块以应用服务这种方式组织,使模块本身具备很强的可扩展性。

5、结语

本文设计实现的三层体系结构框架以SOCKETAPI为基础,具有普遍的适应性,达到了作为系统基础通信框架的目标。

它为上层应用提供了统一的数据通信方式和相关的管理功能,简化了上层应用的开发,提高了整个软件系统的可维护性和可扩展性。

在实际应用中,它的稳定性和运行效率得到了很好的验证。

 

参考文献

【1】赵遵廉,辛耀中,郭国川,等(ZhaoZunlian,XinYaozhong,GuoGuochuan,etal).电力市场运营系统(ElectricityMarketOperationSystem).北京:

中国电力出版社(Beijing:

ElectricPowerPress),2000;

【2】喻志虎(YuZhihu).UNIX平台下C语言编程(CProgramUnderUNIX).北京:

清华大学出版社(Beiiing:

TsinghuaUniversityPress),2001;

【3】宋燕敏,曹荣章,华定中,等(SongYanmin,CaoRongzhang,HuaDingzhong,etal).PMOS-2000发电市场技术支持系统综述(IntroductionofPMOS-2000PowerMarketOperationSystems),电力系统自动化(AutomationofElectricpowersystems),2000,24(4):

10-13。

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

当前位置:首页 > 自然科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2