一种充换电站监控的应用服务系统及进程间通讯方法

文档序号:7892447阅读:114来源:国知局
专利名称:一种充换电站监控的应用服务系统及进程间通讯方法
技术领域
本发明属于分布式实时系统进程间通讯技术领域,涉及一种充换电站监控的应用服务系统及进程间通讯方法。
背景技术
本发明属于分布式实时系统进程间通讯技术领域,涉及一种充换电站监控的应用服务系统及进程间通讯方法。
背景技术
为推动电动汽车产业的发展,需要通过现代化的技术手段和管理方法对充换电设施统一监控,实现充换电设施管理和控制的自动化,构建完善、安全、高效的充换电监控系统。电动汽车充电设施监控包括配电设备、充电机、电池箱、充电架、电池更换设备、电池、安全防护等多个方面,系统必须对各个子系统实现无缝集成,在统一的平台上完成对各类设备的监控管理功能,给用户提供一个业务智能化、操作方式统一、人机界面友善的监控管理系统。电动汽车充换电监控系统包括的子系统有配电监控、充电监控、安全防护监控、计量计费系统等,完成对充换电设备、配电设备及其他设备的集中监视、控制管理和计量计费管理。因此,在充换电站监控系统的设计有三个较困难的问题
第一,随着监控系统应用的不断深入及用户需求的增加,系统的架构必须是可以灵活增加新功能,即要求系统必须具备方便的功能可扩充性,最好能达到“即插即用”;
第二,监控系统的功能模块分散布署于不同的机器上,但分散于不同机器上的进程之间或者异构环境的进程之间的通讯问题是个难题;
第三,充换电站监控是复杂的实时监控系统,为了提高系统运行的可靠性和通讯容量,常常采用双机、双网冗余的网络布署方式。为解决进程间通讯IPC (Interprocess communication),现在很多中间件技术,但是适用的情景也不一样
(1)Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯,但这种技术只能在windows环境下应用,不适合于异构系统进程间通讯;
(2)CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,软件系统的互连而提出的一种解决方案,是用于面向对象编程中复杂的IPC的一个强大的解决方案,这种重量级的分布式系统进程通讯中间件,使用与开发都较为复杂;
(3)WebService技术采用SOAP和XML-RPC,使用HTTP作为其传输协议,因此主要用于Web中的B/S系统,不适用于桌面环境的应用系统的进程间通讯。(4)DC0P是一个较轻量级的IPC框架,功能较少,主要用于在Linux系统下KDE桌面环境中,DCOP是一个用于KDE的解决方案,但是它依赖于Qt,所以不能用于其他桌面环境之中;
(5)直接面向Socket编程,进程间的通讯主要采用基于规则协议的通讯报文的解析,但是这种进程间通讯方法可扩展性和通用性较差。

发明内容
本发明的目的是提供一种充换电站监控的应用服务系统进程间通讯方法,以解决充换电站监控系统进程间通讯问题。本发明的另一目的是提供一种充换电站监控的应用服务系统,以实现应用服务对象在服务总线上即插即用。为实现上述目的,本发明的一种充换电站监控的应用服务系统包括 服务请求端,用于向应用服务总线提出服务请求,包括应用服务组件、服务提供者代理组件和应用服务总线接口适配器;
服务提供端,用于提供与应用服务总线发送的服务请求相对应的服务,包括应用服务总线接口适配器;
应用服务总线,用于管理应用服务的服务、消息的交互和处理,监视分布于系统所在的局域网络上的各个主机中的应用服务的运行状态并进行相应的控制,包括总线规范接口、应用服务总线实例、消息中心;
所述服务请求端与服务提供端都是由应用服务组件组成,所述服务请求端和服务提供端分别通过应用服务总线适配器、总线规范接口与应用服务总线通讯连接。进一步的,所述服务请求端、服务提供端和应用服务总线可任意配置在系统所在的局域网络的各主机中。进一步的,服务组件请求另一个服务组件的服务是通过服务提供者代理组件来访问,总线上的服务提供者组件位于服务请求者组件的进程以外,服务请求者组件可以调用的本地接口与服务提供者组件通信,此时,本地接口充当了代理的角色,应用服务提供者代理组件负责将服务请求者组件的请求转发给应用服务总线,再由服务总线转发给相应的服务提供者组件。进一步的,所述应用服务系统的总线接口规范,其包括以下两大部分
(1)应用服务注册/注销接口用于提供给应用服务组件进行模块注册和服务登记,应用服务退出后注销模块信息;
(2)应用服务总线上的应用服务组件接口应用服务组件提供给应用服务总线调用的接口,包括两个接口 1)方法调用的实现用于实现在应用服务总线上登记的服务;2)消息接收用于接收订阅的消息事件的接收。本发明的充换电站监控的应用服务系统进程间通讯方法的一对一的请求一响应步骤如下
(1)服务请求端和服务提供端分别通过应用服务总线的总线规范接口,提交注册信息给消息中心,由消息中心向应用服务总线进程转发,完成在总线上的注册;
(2)服务请求端通过服务提供者代理向消息中心提交服务请求,消息中心将服务请求转发至应用服务总线进程;
(3)应用服务总线进程接收到服务请求端的消息,对消息进行分析,并在信息中心查找相关的信息,找到后,激活对应的服务提供端的数据适配器为消息服务;
(4)服务提供端执行相应的服务,返回数据由消息中心和服务提供者代理返回给服务请求端。进一步的,方法还包括一对多的广播-订阅方式,是应用服务总线接收到一服务组件的事件信号时,向应用服务总线上其余的应用服务组件进行信号广播,订阅本信号的服务组件对事件信号进行相应处理。进一步的,所述步骤(I)中注册内容包括应用服务组件的名称、属性、组件提供的服务和组件订阅的服务。
进一步的,所述步骤(3)中应用服务总线收到组件服务请求后,将所请求的组件服务与先前存入的各种服务信息进行匹配,找到所需的服务及其服务所属的服务组件并将该组件请求信息送至服务提供端中的服务组件。进一步的,所述步骤(3)中消息中心查找相关的信息包括消息的路由信息、使用哪个数据适配器的哪个方法进行数据转换、转换后数据发往哪个服务提供端。进一步的,所述应用服务退出运行时,在应用服务总线上注销本应用服务所有消
肩、O与现有技术相比,本发明具有如下有益效果
第一、本发明好系统属于分布式应用服务总线,在单总线的基础上进行了扩充,可以采用双应用服务总线的冗余布署,突破了单总线负载的性能瓶颈,克服了单点故障,提高了系统的可用性。第二、集成方便任何一个符合本应用服务总线规范接口标准的应用程序都可以通过适配器方式获得应用服务总线的支持,达到应用服务在应用服务总线上的即插即用。第三、交互方便能够方便地实现各应用子系统之间的交互,克服了现有总线功能各异、环境各不相同的缺点,解决了总线与总线、总线与服务、服务与服务、客户与服务之间的信息交互,不仅实现了服务器数据的可访问性,而且实现了各种应用子系统数据的可访问性。第四、具有互操作性本发明解耦了服务请求端和服务提供端,采用了“总线”这样一种模式来管理和简化各应用子系统之间的进程通讯。各应用服务组件的耦合度的降低,在接口不变的情况下各组件可独立开发或修改,有利于并行开发。第五、效率高由于不用考虑组件集成的问题,可使得开发人员专注于业务逻辑的实现,提高开发效率。第六、可维护性好采用该体系结构的系统,结构清晰,有利于系统维护和修改升级。第七、可扩展性和可重用性强采用这种比单总线更加灵活的总线架构,不仅能确保当前的业务的灵活性,而且还可以满足未来更加多种多样的业务需求,能适应更加粗粒度的服务集成。第八、屏蔽性能好引入本应用总线系统后,应用系统之间形成更加松散耦合的关系,相对位置更加透明,服务协议更加独立。第九、支持异构系统的进程间通讯使用应用服务总线可屏蔽服务请求端和服务提供端的异构环境,包括运行环境、操作系统环境、运行平台等,同时应用子系统的架构、实现方式可以不同,通过应用服务的整合,可使不同子系统可以通过应用服务进行互操作。


图I是本发明的总体架构 图2是本发明应用服务组件交互序列 图3是应用服务请求过程图。
具体实施例方式如图I所示,应用服务总线总体架构体系主要分服务请求端、应用服务总线和服务提供端三个部分。系统中的各个应用服务组件通过相应的应用服务总线接口适配器与应用服务总线上的总线规范接口相连实现和应用服务总线的通讯连接,并由应用服务总线统一管理。各个应用服务组件可以随意配置在各个节点机中,即插即用在应用服务总线上,以便于系统的扩充和升级,为了提高系统的稳定性和可靠性,可以在多个节点机上为重要的功能模块配备冗余模块,例如对应用服务总线配备冗余,即存在备应用服务总线。应用服务总线是系统中每一个应用服务启动运行时必须最先加载的模块,每个应用加载应用服务总线并注册后,可以通过应用服务总线与其他应用服务相互通信,从而在全系统范围内建立起一个分布式软件应用环境,此过程称为应用服务的注册。应用服务通过向服务总线注册后,即可向应用服务总线请求其他应用服务组件所提供的服务,注册内容包括组件名和组件的特定属性以及组件提供的服务和组件订阅的服务。在应用服务组件运行过程中,应用服务总线监视各应用服务组件的运行状态,每一个应用服务退出运行时,在应用服务总线上注销本应用服务组件的所有信息。通过节点的注册与注销,由应用服务总线构成的系统分布式应用环境可以随时了解系统的构成及变化。应用服务总线提供应用服务组件注册/注销的接口 ;提供应用服务的服务/消息交互接口及相对于组件透明的服务处理机制;监视分布在各个主机上的应用服务的运行状态,根据一定的控制策略在必要时做出相应的控制。应用服务总线能够规范系统应用服务组件间的通信接口方式,使符合规范的应用服务组件能随时修改和增加,只要不依赖特定的硬件资源,系统应用服务组件可以在系统中任意机器上做到/即插即用,以便灵活配置系统;使系统各应用服务组件之间的耦合尽可能松,提高系统的坚固性,同时兼顾系统效率;提供进程间(包括网络各节点进程间)的服务请求应答机制以及数据传输和关于系统、节点、组件运行状态监视维护的公共服务,从而简化系统应用服务组件的设计。服务请求端与服务提供端都是应用服务,具体表现为应用服务组件,是系统业务功能的划分,每一个应用服务组件或者提供多个服务,或者订阅或者即时请求其他应用服务组件提供的服务,每个服务都以特定的交互方式提供特定的功能。系统应用服务组件完成本模块的业务功能;在组件启动时向应用服务总线注册本组件信息,包括本组件提供的服务,订阅的服务等信息;遵循应用服务总线制定的接口规范提供在运行时与应用服务总线交互的接口,以向应用服务总线发送和接收统一消息;在组件退出时向应用服务总线注销本组件信息,包括本组件提供的服务、订阅的服务等信息。从图I可以看到,各系统应用服务组件通过符合总线接口规范的适配器与应用服务总线交互。应用服务组件间通过总线以消息传送方式相互提供服务,如人机界面组件提供表示服务,前置通信组件提供与远方终端单元的通信服务,它们在应用服务总线上的地位是平等的,均可看作客户或服务。通过适配器和应用服务总线解决了互不相识的系统应用服务组件之间的互操作问题和数据交换问题。在应用服务总线上传输的是统一消息对象----数据和其结构被封装在一起,因而在得到此消息对象后,可动态分析其内容以决定对它进行的操作。不难看出,系统中各应用服务组件可位于不同的主机上,它们通过各自的适配器向应用总线发出请求,应用服务总线对其进行解释并确定接受方的位置,向网络层发送消息,完成通信并实现互操作。只需对适配器进行适当的修改,就能最大限度地使用已有的软件实现系统集成。本发明的交互流程如图2所示,服务请求过程如图3所示
(1)服务请求端和服务提供端分别通过应用总线规范接口,提交注册信息给消息中心,由消息中心向应用总线服务进程转发,从而完成在应用服务总线上的注册;
(2)服务请求端通过服务代理向消息中心提交请求服务,消息中心将服务请求转发至 总线进程,总线接收到服务请求端的消息,对消息进行分析,并在信息中心查找相关的信息,如消息的路由信息、使用哪个数据适配器的哪个方法进行数据转换、转换后数据发往哪个服务提供端;
(3)应用服务总线根据消息的信息,激活对应的数据适配器为消息服务;
(4)应用服务提供者组件执行相应的服务,返回数据由消息中心和代理返回给应用服务请求者。以充换电站监控系统实际应用为例来说明应用服务总线。应用服务总线实现分以下四部分进行实施
I.定义总线接口规范
总线接口规范分为两大部分
(I)应用服务注册/注销接口 提供给应用服务组件进行组件注册和服务登记,应用服务退出后注销组件信息。(2)总线上的应用服务组件接口 应用服务组件提供的给应用服务总线调用的接口,因此应用服务组件主要实现两个接口 1)方法调用的实现实现在应用服务总线上登记的服务;2)消息接收用于接收订阅的消息事件的接收。2.应用服务总线进程的实现
应用服务总线主要功能是建立和维护应用服务组件库,与各计算机的本地数据服务系统连接,为应用层系统提供应用服务等。通过应用服务总线,把各计算机的本地应用服务系统集成起来,实现应用服务的网络位置无关性(对应用层系统来讲,不需要知道数据在哪台计算机上)。另外,通过应用服务总线,为应用层系统提供统一的、透明的、开发的应用服务接口。应用服务总线实现采用多线程结构,应用服务总线接口负责处理系统应用服务组件与总线的交互,包括组件的注册/注销,以及统一消息在两者间的传送。由于各系统应用服务以及应用服务总线都是以独立进程方式运行。主线程初始化时负责创建一个供各组件注册时公用的组件注册接口线程,节点上的某个系统应用组件启动后,主动连接组件注册接口,将本组件信息进行注册,组件注册接口线程收到注册信息后,即为该组件创建一个专用的组件通信接口线程负责该组件与应用服务总线的交互。消息中心负责提供各种传输服务并按照一定的传输调度策略在网络节点间传输信息。应用服务总线功能线程组负责保障总线职能的正常进行,如实时监控本节点运行信息,并通过消息中心向其他网络节点多播该信息,同时接收其他节点传送来的节点信息,并据此更新系统节点信息库以及维护全网一致的实时数据库。3.编写符合总线接口规范的服务组件
服务请求端与服务提供端都是应用服务组件,是系统业务功能的划分,每一个应用服务组件或者提供多个服务,或者订阅或即时请求其他应用组件提供的服务,每个服务都以特定的交互方式提供特定的功能。
系统应用服务组件的任务
(1)完成本组件的业务功能;
(2)在组件启动时向应用服务总线注册本组件信息,包括本组件提供的服务,订阅的服务等信息;
(3)遵循应用服务总线制定的接口规范提供在运行时与应用服务总线交互的接口,以向应用服务总线发送和接收统一消息;
(4)在组件退出时向应用服务总线注销本组件信息,包括本组件提供的服务、订阅的服
务等信息。以下以在充电站监控系统举例,几个比较公用的应用服务组件
(I)公用数据服务组件
在公用数据服务组件,通过两级处理实现数据服务的数据源位置无关性,即数据是本地的还是网络的,和数据源类型无关性,即数据是数据库的还是间隔层设备的,由本地数据服务系统实现)。(2)本地数据服务组件
本地数据服务组件的主要任务是进行实时数据处理和归整/历史数据处理,并通过本地数据服务组件把实时数据库的访问与本地数据库的访问统一起来,使所有应用服务组件能够采用统一的方法访问实时数据库和本地数据库。同时,通过应用服务总线接口组件连接到应用服务总线上,提供透明的、开放的数据服务接口方法。即对应用数据服务系统来讲,不需要指明所访问的数据是实时数据还是归整/历史数据,即实现数据访问的数据源类型无关性。(3)规约转换组件
本组件有两个功能当从外部获取数据时,它实现规约解析功能,即获取数据报文并分离出其中包含的数据;当向外部发送数据时,它实现数据封装功能,即把要发送的数据按相应的通信规约打包成发送数据报文。4.布署应用服务总线
应用服务总线布署采用双总线结构,即在分布式实时应用系统中设有两个应用服务总线,分别为主应用服务总线和备应用服务总线。应用服务总线在正常情况,所有的应用服务通过主应用服务总线请求或者提供服务,主应用服务总线接收服务请求组件消息,调用相应的服务提供组件事件或方法后向相应的服务请求组件返回消息,备应用服务总线同步主应用服务总线上的数据,当主服务总线发生异常时,备应用服务总线无缝切换为应用服务总线。权利要求
1.一种充换电站监控的应用服务系统,其特征在于,包括 服务请求端,用于向应用服务总线提出服务请求,包括应用服务组件、服务提供者代理组件和应用服务总线接口适配器; 服务提供端,用于提供与应用服务总线发送的服务请求相对应的服务,包括应用服务总线接口适配器; 应用服务总线,用于管理应用服务的服务、消息的交互和处理,监视分布于系统所在的局域网络上的各个主机中的应用服务的运行状态并进行相应的控制,包括总线规范接口、应用服务总线实例、消息中心; 所述服务请求端与服务提供端都是由应用服务组件组成,所述服务请求端和服务提供端分别通过应用服务总线适配器、总线规范接口与应用服务总线通讯连接。
2.根据权利要求I所述的系统,其特征在于所述服务请求端、服务提供端和应用服务总线可任意配置在系统所在的局域网络的各主机中。
3.根据权利要求I所述的系统,其特征在于服务组件请求另一个服务组件的服务是通过服务提供者代理组件来访问,总线上的服务提供者组件位于服务请求者组件的进程以夕卜,服务请求者组件可以调用的本地接口与服务提供者组件通信,此时,本地接口充当了代理的角色,应用服务提供者代理组件负责将服务请求者组件的请求转发给应用服务总线,再由服务总线转发给相应的服务提供者组件。
4.根据权利要求1-3中任一项所述的系统,其特征在于,所述应用服务系统的总线接口规范,其包括以下两大部分 (1)应用服务注册/注销接口用于提供给应用服务组件进行模块注册和服务登记,应用服务退出后注销模块信息; (2)应用服务总线上的应用服务组件接口应用服务组件提供给应用服务总线调用的接口,包括两个接口 1)方法调用的实现用于实现在应用服务总线上登记的服务;2)消息接收用于接收订阅的消息事件的接收。
5.一种充换电站监控的应用服务系统进程间通讯方法,其特征在于,该方法的一对一的请求一响应步骤如下 (1)服务请求端和服务提供端分别通过应用服务总线的总线规范接口,提交注册信息给消息中心,由消息中心向应用服务总线进程转发,完成在总线上的注册; (2)服务请求端通过服务提供者代理向消息中心提交服务请求,消息中心将服务请求转发至应用服务总线进程; (3)应用服务总线进程接收到服务请求端的消息,对消息进行分析,并在信息中心查找相关的信息,找到后,激活对应的服务提供端的数据适配器为消息服务; (4)服务提供端执行相应的服务,返回数据由消息中心和服务提供者代理返回给服务请求端。
6.根据权利要求5所述的方法,其特征在于,方法还包括一对多的广播-订阅方式,是应用服务总线接收到一服务组件的事件信号时,向应用服务总线上其余的应用服务组件进行信号广播,订阅本信号的服务组件对事件信号进行相应处理。
7.根据权利要求5或6所述的方法,其特征在于所述步骤(I)中注册内容包括应用服务组件的名称、属性、组件提供的服务和组件订阅的服务。
8.根据权利要求7所述的方法,其特征在于所述步骤(3)中应用服务总线收到组件服务请求后,将所请求的组件服务与先前存入的各种服务信息进行匹配,找到所需的服务及其服务所属的服务组件并将该组件请求信息送至服务提供端中的服务组件。
9.根据权利要求8所述的方法,其特征在于所述步骤(3)中消息中心查找相关的信息包括消息的路由信息、使用哪个数据适配器的哪个方法进行数据转换、转换后数据发往哪个服务提供端。
10.根据权利要求9所述的方法,其特征在于所述应用服务退出运行时,在应用服务总线上注销本应用服务所有消息。
全文摘要
本发明涉及一种充换电站监控的应用服务系统及进程间通讯方法,系统包括服务请求端,用于向应用服务总线提出服务请求;服务提供端,用于提供与应用服务总线发送的服务请求相对应的服务;应用服务总线,用于管理应用服务的服务、消息的交互和处理,监视各个节点的运行状态并进行相应的控制,所述服务请求端和服务提供端分别通过应用服务总线适配器、总线规范接口与应用服务总线通讯连接;本发明实现了各种符合软总线接口标准的组件即插即用,易于大规模软件系统的集成和定制,组件接口的标准化导致生产的硬件化或工厂化,提高生产率,采用双应用服务总线的冗余布署,突破了单总线负载的性能瓶颈,克服了单点故障,提高了系统的可用性。
文档编号H04L12/24GK102647319SQ20121008405
公开日2012年8月22日 申请日期2012年3月27日 优先权日2012年3月27日
发明者丛阳, 何锡点, 余庚宗, 克潇, 唐宇, 张新昌, 徐怡山, 方韬, 朱意霞, 杜强, 薛亮, 赵成功, 连湛伟, 邓建慎, 郭亮, 钱平, 陈钢, 高建琨 申请人:山东电力集团公司, 许昌许继软件技术有限公司, 许继电气股份有限公司, 许继集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1