一种电力调度自动化系统的服务跨区域调用方法及装置与流程

文档序号:17659757发布日期:2019-05-15 22:18阅读:174来源:国知局

本发明涉及一种调用方法,特别是涉及一种电力调度自动化系统在多活环境下的服务跨区域调用方法及装置,属于电力调度自动化领域。



背景技术:

在电力自动化中,为保证系统安全,各级的调度自动化系统之间通常不能直接路由可达,一个调度自动化系统内的节点如果需要访问另一个调度自动化系统的服务必须经过本地的代理网关服务器。例如,对于目前广泛使用的智能电网调度控制系统(d5000),各级调度机构都会配置两台代理网关节点,这些代理网关节点之间经过调度数据网,实现相互路由可达,而各级调度机构内部的应用服务器只能访问到本地的代理网关节点。

代理网关节点上运行代理服务,当需要调用其它系统中的应用服务时,服务请求者首先与本地代理服务建立连接,发送请求;而后由本地代理服务与远程代理服务建立连接,并将请求转发到远程代理服务;远程代理服务与服务提供者建立连接,进行服务调用,并将结果逐级返回,最终传递给服务请求者。如图1所示。

代理服务实现不同调度机构之间的数据交互,支撑了大量的调度业务,包括远程浏览、远程数据库访问等,这些业务对服务代理带来了大量的压力。为了提升远程服务的访问性能,已经采用一些方法对代理服务进行改造优化,如将服务请求与服务响应的处理进程进行分离等。

但是,传统的代理服务的工作机制存在一些限制,阻碍了远程服务调用性能的进一步提升。另外,远程服务调用方式与本地服务调用方式存在差异,没有做到接口的一致性。新一代调度控制系统采用“物理分布、逻辑统一”的体系架构,将电网分析决策功能集中在分析决策中心进行,并且多个分析决策中心采用异地多活方式部署。在异地多活环境下,这些问题更加突出,主要表现在以下几点:

(1)每次远程服务调用,本地代理服务需要对请求进行解析,才能确定应连接到哪个远程的调度机构,解包与判断会造成性能的损失。

(2)每次服务调用都需要建立本地代理服务到远程代理服务之间的套节字连接。

(3)远程服务调用与本地服务调用需要使用不同的编程接口,因为前者需要显式给出对端调度机构,即远程服务调用需要在调用接口中明确地给出对端调度机构。



技术实现要素:

本发明的主要目的在于,克服现有技术中的不足,提供一种电力调度自动化系统在多活环境下的服务跨区域调用方法及装置,通过代理网关服务器将远程服务在本区域内重新发布,来实现不同调度机构间的服务远程访问,实现本地与远程服务一致性调用,并优化调用性能。

为了达到上述目的,本发明所采用的技术方案是:

本发明提供一种电力调度自动化系统的服务跨区域调用方法,包括以下步骤:

1)本地代理服务器确定本区域需要访问的跨区域的远程服务信息,并确定所需访问的跨区域的远程服务在本地重新发布的端口号;

2)本地代理服务器依据所确定的远程服务信息向对端的远程代理服务器建立tcp连接链路,该tcp连接链路用作本地客户端访问指定的服务提供者所运行的远程服务的数据链路;

对端的远程代理服务器记录下该tcp连接链路,并通过接收该tcp连接链路发来的访问请求调用指定的服务提供者所运行的远程服务;

3)本地代理服务器监听远程服务在本地重新发布的端口号,等待本地客户端的服务请求者发起访问请求;

4)在服务请求者连接到远程服务在本地重新发布的端口号时,本地代理服务器为该服务请求者申请唯一的id号,并将id号与访问请求发给对端的远程代理服务器;

5)对端的远程代理服务器收到id号与访问请求,通过tcp连接链路向指定的服务提供者发起连接,并将访问请求发给指定的服务提供者;

服务提供者响应访问请求,并将响应结果返回给对端的远程代理服务器;其中,响应结果为该服务提供者所运行的远程服务;

6)对端的远程代理服务器获得服务提供者返回的响应结果,并将响应结果带上id号沿tcp连接链路返回;

7)本地代理服务器根据id号,将响应结果返回给服务请求者。

本发明方法进一步设置为:所述远程服务信息包括远程服务所属的调度机构、远程服务所在的服务提供者的节点ip地址与该节点ip地址所运行的远程服务的端口号。

本发明方法进一步设置为:所述tcp连接链路通过本地代理服务器依据所确定的远程服务信息向对端的远程代理服务器预先建立。

本发明方法进一步设置为:所述本地代理服务器和远程代理服务器根据tcp/ip协议的路由表进行选路,经过调度数据网的三层网络进行互通。

本发明方法进一步设置为:所述本地代理服务器和远程代理服务器均配置为两台代理网关节点,代理网关节点为多穴主机;该多穴主机既配置调度自动化系统的网段地址,也配置调度数据网的网段地址,多穴主机的网卡分别连接到主网交换机和调度数据网交换机。

本发明方法进一步设置为:所述远程服务所属的调度机构与本地代理服务器所在的调度机构是上下级或同级。

本发明方法进一步设置为:所述远程服务所属的调度机构与本地代理服务器所在的调度机构,两调度机构的调度自动化系统所使用的网段是隔离的。

本发明方法进一步设置为:所述本地代理服务器和远程代理服务器基于预先建立的tcp连接链路,仅且直接进行网络报文转发;其中,本地代理服务器对服务调用的通信协议不作解析,远程代理服务器对调用的远程服务内容不作解析,网络报文包括访问请求和响应结果。

本发明还提供一种电力调度自动化系统的服务跨区域调用装置,包括通过调度数据网相连的本地代理服务器和远程代理服务器,所述本地代理服务器通过本地服务访问接口供本地客户端的服务请求者发起访问请求,所述远程代理服务器通过调用服务提供者所运行的远程服务来响应服务请求者的访问请求;所述本地代理服务器和远程代理服务器共同运行前述的服务跨区域调用方法。

与现有技术相比,本发明具有的有益效果是:

本发明提供的一种电力调度自动化系统的服务跨区域调用方法及装置,通过代理网关服务器将远程服务在本区域内重新发布,来实现不同调度机构间的服务远程访问,实现本地与远程服务一致性调用,服务请求者能够采用一致的方式调用本地与远程服务,可作为传统远程代理服务机制的有益补充。同时,代理服务基于已建立的tcp连接链路,直接进行网络报文转发,不需要了解服务间的通信协议,不需要对远程服务内容进行解析,从而更加优化了调用性能。

上述内容仅是本发明技术方案的概述,为了更清楚的了解本发明的技术手段,下面结合附图对本发明作进一步的描述。

附图说明

图1是传统的远程代理服务机制示意图;

图2是本发明电力自动化系统中服务跨区域调用示意图;

图3是本发明电力自动化系统中不同调度机构间的网络连接图。

具体实施方式

下面结合说明书附图,对本发明作进一步的说明。

本发明提供一种电力调度自动化系统的服务跨区域调用方法,如图2所示,包括以下步骤:

1)本地代理服务器确定本区域需要访问的跨区域的远程服务信息,并确定所需访问的跨区域的远程服务在本地重新发布的端口号;

其中,远程服务信息包括远程服务所属的调度机构、远程服务所在的服务提供者的节点ip地址与该节点ip地址所运行的远程服务的端口号。

2)本地代理服务器依据所确定的远程服务信息向对端的远程代理服务器预先建立tcp连接链路,该预先建立的tcp连接链路用作本地客户端访问指定的服务提供者所运行的远程服务的数据链路;

对端的远程代理服务器记录下该预先建立的tcp连接链路,并通过接收该预先建立的tcp连接链路发来的访问请求调用指定的服务提供者所运行的远程服务。

所述本地代理服务器和远程代理服务器根据tcp/ip协议的路由表进行选路,经过调度数据网的三层网络进行互通。

所述本地代理服务器和远程代理服务器均配置为两台代理网关节点,代理网关节点为多穴主机;该多穴主机既配置调度自动化系统的网段地址,也配置调度数据网的网段地址,多穴主机的网卡分别连接到主网交换机和调度数据网交换机。

所述远程服务所属的调度机构与本地代理服务器所在的调度机构是上下级或同级,两调度机构的调度自动化系统所使用的网段是隔离的。

所述本地代理服务器和远程代理服务器基于预先建立的tcp连接链路,仅且直接进行网络报文转发;其中,本地代理服务器对服务调用的通信协议不作解析,远程代理服务器对调用的远程服务内容不作解析,网络报文包括访问请求和响应结果。

3)本地代理服务器监听远程服务在本地重新发布的端口号,等待本地客户端的服务请求者发起访问请求。

4)在服务请求者连接到远程服务在本地重新发布的端口号时,本地代理服务器为该服务请求者申请唯一的id号,并将id号与访问请求发给对端的远程代理服务器。

5)对端的远程代理服务器收到id号与访问请求,通过预先建立的tcp连接链路向指定的服务提供者发起连接,并将访问请求发给指定的服务提供者;

服务提供者响应访问请求,并将响应结果返回给对端的远程代理服务器;其中,响应结果为该服务提供者所运行的远程服务。

6)对端的远程代理服务器获得服务提供者返回的响应结果,并将响应结果带上指定的id号沿预先建立的tcp连接链路返回。

7)本地代理服务器根据id号,将响应结果返回给服务请求者。

本发明还提供一种电力调度自动化系统的服务跨区域调用装置,包括通过调度数据网相连的本地代理服务器和远程代理服务器,所述本地代理服务器通过本地服务访问接口供本地客户端的服务请求者发起访问请求,所述远程代理服务器通过调用服务提供者所运行的远程服务来响应服务请求者的访问请求;所述本地代理服务器和远程代理服务器共同运行如图2所示的服务跨区域调用方法。具体实施例,通过如图3所示的电力自动化系统中不同调度机构间的网络连接图来进行本发明方法的实施说明。

为了便于说明,图3示意图中只给出了两个调度机构d1、d2的连接情况,其中调度机构d1和调度机构d2可以是上下级也可以是同级的调度机构。如图3所示,调度机构d1的调度自动化系统使用的网段是172.28.1.0/24,调度机构d2的调度自动化系统使用的网段是192.1.101.0/24。而分配给调度机构d1的调度数据网网段为10.32.5.0/24,分配给调度机构d2的调度数据网网段为10.32.10.0/24。两个调度机构分别配置两台代理网关节点,代理网关节点是多穴主机,既配置调度自动化系统网段地址,也配置调度数据网网段地址,网卡分别连接到主网交换机和调度数据网交换机。调度机构d1与调度机构d2的代理网关节点经过调度数据网三层互通,但是调度机构d1与调度机构d2的调度自动化系统网段之间是隔离的,都只能与对应的本地的代理网关节点进行互通。

如图3所示,调度机构d2的调度自动化系统中节点n2(地址:192.1.101.5)运行了服务service1(端口:8888)。服务请求者发起的请求是——调度机构d1的调度自动化系统中节点n1上有程序需要请求节点n2上的服务service1。

在本发明的方法下,调度机构d1的代理网关节点g1与调度机构d2的代理服务网关节点g2分别运行代理服务。g1上的代理服务根据配置,确定需要将调度机构d2中节点n2上的服务service1在本地重新发布,g1首先向g2发起tcp连接,并发送信息通知对端g2,该tcp连接用于访问n2(地址:192.1.101.5)的服务service1(端口:8888),然后g1在本地监听端口9999。此时,节点n1可以像请求本地服务一样,向g1请求服务(端口:9999);g1在得到服务请求时,其分配唯一的id,并将id与请求由已建好的tcp连接发送给g2;g2收到请求后,直接访问节点n2上的服务service1,并将响应结果与id号由原tcp连接返回;g1根据id号将内容返回给服务请求者。

本发明的创新点在于,在服务请求者发起访问请求之前,先建立访问准备,具体是代理服务向远程代理预先建立用作指定服务调用链路的tcp连接链路,将远程服务在本区域内重新发布,并监听指定端口,从而实现跨区域的不同调度机构间的服务远程访问,实现本地与远程服务一致性调用。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1