电网调度自动化系统的服务注册架构及方法
技术领域
本发明涉及电力信息技术领域,尤其涉及一种电网调度自动化系统的服务注册架构及方法。
背景技术
电网调度自动化系统的网络架构必须满足《全国电力二次系统安全防护总体方案》中“安全分区、网络专用、横向隔离、纵向认证”的要求。系统网络按照安全I区、II区和III区进行划分,不同专业应用系统根据安全级别高低,在各个区域部署。各个区域之间使用不同网段进行分割,区域内部的各个应用系统之间一般不再区分网段。在这种传统的网络架构下,每个安全分区中包含一个服务注册中心,安全分区内的服务通过组播或广播的方式将服务注册信息发送给注册中心,完成服务注册过程。
随着智能电网的蓬勃发展,各个专业应用系统的数据交互大大增加,为了降低各应用之间的网络报文干扰和数据干扰,各安全分区采用应用子网分段设计。各安全分区内的应用系统将核心交换机划分成的独立VLAN子网,使得各应用子系统之间逻辑隔离。I区的自动化业务,如核心EMS应用、WAMS应用、稳定决策控制应用和保信等应用,将后端核心网络引出的分支VLAN子网组成各自的系统主干网。同样II区的各个系统从非控制区后端核心网络引出的分支VLAN子网组成各自的主干网络。各区在分支网络内部部署子系统各自的应用服务器,应用子系统之间相互独立无耦合,不直接交互,所有数据交换均通过访问生产大区综合数据中心来实现。
这种在各个安全分区内又分成多个独立子网段的多网络架构下,无法通过组播或广播的方式将子网内的服务注册信息发送给注册中心。因此如何在这种网络架构下实现跨子网的服务注册和服务定位,是需要解决的重要问题。
发明内容
本发明所要解决的技术问题在于,提供一种电网调度自动化系统的服务注册架构及方法,可以在多网段架构下实现跨子网的服务注册和服务定位。
为了解决上述技术问题,本发明提供了一种电网调度自动化系统的服务注册架构,所述注册架构为多级注册中心架构,将电网调度自动化系统中的节点划分为系统注册中心、子网注册中心和普通工作节点;其中,
所述系统注册中心部署在全局,用于收集各个子网的注册信息,并跨网段同步到其他所有子网注册中心;
所述子网注册中心配置于每个安全分区的每个子网内,用于收集所在子网内的注册信息并发送给所述系统注册中心,同时接收所述系统注册中心发出的服务信息,然后将服务信息同步到子网内的每个普通工作节点;
所述普通工作节点设有共享内存单元,用以存储注册服务信息。
进一步的,所述系统注册中心在全局中共有两个,形成互备模式;所述子网注册中心在每个子网内都设有两个,形成互备模式。
本发明还提供了一种电网调度自动化系统的服务注册方法,所述方法是基于上述的电网调度自动化系统的服务注册架构,则所述方法包括:
普通工作节点的服务程序通过广播或组播向所在子网的子网注册中心汇报注册信息;
子网注册中心通过TCP通讯将本子网的注册信息汇报给系统注册中心,从而使系统注册中心拥有系统内所有子网的注册信息;
子网注册中心向系统注册中心订阅服务信息,系统注册中心将服务信息发布给子网注册中心,从而使子网注册中心拥有所有子网的注册服务信息;
普通工作节点的接收程序向所在子网的子网注册中心订阅服务信息,子网注册中心将服务信息发布给普通工作节点,从而使普通工作节点拥有所有子网的注册服务信息;
普通工作节点将注册服务信息写入到共享内存中,更新共享内存。
进一步的,所述方法还包括:
如果新增加一个服务,那么从系统注册中心发布给子网注册中心时采用变化增量发布的模式,仅发布变化的增量服务信息;
子网注册中心从系统注册中心获得增量服务信息时,发布给普通工作节点也采用变化增量发布的模式。
进一步的,所述共享内存的调度算法包括共享内存的结构设计和共享内存的写入、查找规则;
其中共享内存的结构设计按照电网调度服务注册信息的特征,按应用号进行区分,划定应用的私有共享内存区域,此外提供一块公有共享内存作为公共区域,如果某个应用的共享内存位置不够,可以继续使用公共位置;
其中共享内存的写入、查找规则为:在写入记录时,首先找到该应用号的私有共享内存,查找有效条目数,如果有空闲的条目,则在私有共享内存中写入,如果没有空闲的条目,则在公共区域写入,写入后该应用对应的条目数增加;写入的条目标记位置为有效,当条目状态变化时,不删除条目,仅将标记位置为无效;在读取条目时,先读取该应用的有效条目数,再在其私有区域中查找态号、服务状态、节点名、服务名、端口号,如果找到则返回,如果所查找的还没有达到该应用的有效条目数,就转到公有区域进行查找。
进一步的,普通工作节点的客户端程序在进行服务定位时,直接读取共享内存进行查找,定位操作全部在本地完成,无网络通信操作;当故障导致本地共享内存不可用时,通过网络方式连接系统注册中心,向其发送服务定位请求。
实施本发明,具有如下有益效果:本发明为电网调度自动化系统在多网段的架构下,提供了一种跨网段的服务注册机制,同时为电网调度自动化的服务定位系统提供了一套高效、可靠的跨网段的服务定位方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的电网调度自动化系统的服务注册架构的一个实施例的结构图;
图2是图1的层次图;
图3是本发明提供的电网调度自动化系统的服务注册方法的一个实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的电网调度自动化系统的服务注册架构的一个实施例的结构图,如图1所示,电网调度自动化系统在安全1区中划分了EMS子网、WAMS子网、保信子网等子网段,此外还包括了1.5区和安全2区,不同网段都在交换机上划分了不同的VLAN,组播和广播在不同子网间无法通讯,保证了各子网在通讯上不相互干扰。如图1和图2所示,注册架构为多级注册中心架构,将电网调度自动化系统中的节点划分为系统注册中心、子网注册中心和普通工作节点;本发明实施例中的将系统注册中心在全局中共有两个,分别部署在1.5区和I区EMS子网,形成互备模式;子网注册中心在每个子网内都设有两个,也形成互备模式。确保定位的稳定性。
其中,所述系统注册中心部署在全局,用于收集各个子网的注册信息,并跨网段同步到其他所有子网注册中心;
所述子网注册中心配置于每个安全分区的每个子网内,用于收集所在子网内的注册信息并发送给所述系统注册中心,同时接收所述系统注册中心发出的服务信息,然后将服务信息同步到子网内的每个普通工作节点;
所述普通工作节点设有共享内存单元,用以存储注册服务信息。
图3是本发明提供的电网调度自动化系统的服务注册方法的一个实施例的流程示意图,本方法是基于上述的电网调度自动化系统的服务注册架构的,本方法包括步骤:
普通工作节点的服务程序通过广播或组播向所在子网的子网注册中心汇报注册信息;
子网注册中心通过TCP通讯将本子网的注册信息汇报给系统注册中心,从而使系统注册中心拥有系统内所有子网的注册信息;
子网注册中心向系统注册中心订阅服务信息,系统注册中心将服务信息发布给子网注册中心,从而使子网注册中心拥有所有子网的注册服务信息;
普通工作节点的接收程序向所在子网的子网注册中心订阅服务信息,子网注册中心将服务信息发布给普通工作节点,从而使普通工作节点拥有所有子网的注册服务信息;
普通工作节点将注册服务信息写入到共享内存中,更新共享内存;
如果新增加一个服务,那么从系统注册中心发布给子网注册中心时采用变化增量发布的模式,仅发布变化的增量服务信息;
子网注册中心从系统注册中心获得增量服务信息时,发布给普通工作节点也采用变化增量发布的模式。在电网调度自动化系统多网段架构下各子网间的组播和广播信息通过子网隔离,各子网和中心子网之间正常情况下只传输变化数据,有效的降低了网络流量和通讯代价。
其中,所述共享内存的调度算法包括共享内存的结构设计和共享内存的写入、查找规则;
其中共享内存的结构设计按照电网调度服务注册信息的特征,按应用号进行区分,划定应用的私有共享内存区域,此外提供一块公有共享内存作为公共区域,如果某个应用的共享内存位置不够,可以继续使用公共位置;
其中共享内存的写入、查找规则为:在写入记录时,首先找到该应用号的私有共享内存,查找有效条目数,如果有空闲的条目,则在私有共享内存中写入,如果没有空闲的条目,则在公共区域写入,写入后该应用对应的条目数增加;写入的条目标记位置为有效,当条目状态变化时,不删除条目,仅将标记位置为无效;在读取条目时,先读取该应用的有效条目数,再在其私有区域中查找态号、服务状态、节点名、服务名、端口号,如果找到则返回,如果所查找的还没有达到该应用的有效条目数,就转到公有区域进行查找。
表1共享内存的结构
具体的,共享内存的结构如表1所示,包括了共享内存位置、应用号、刷新时间、态号、状态、记录有效性、节点名、服务名和端口号这些域。在系统启动时,会初始化共享内存,分配好每个应用的私有共享内存区域,然后剩余的位置就是公有共享内存区域。在本地节点程序接收到子网注册中心发布的服务信息后,首先获取该服务的应用号,然后在共享内存中查找,首先查找私有区域,获取私有区域的服务记录个数n,然后最多查找n个有效记录,如果私有区域中没有,则再从公共区域中查找,获取公共区域的有效记录个数m,查找最多m个记录,如果应用号、态号、服务名等信息相同,则更新此条记录的其他信息;如果没有找到记录,则再新的共享位置中写入该记录,写入时同样遵循先在该应用的私有区域查找无效位置,如果没有再从公共区域中查找无效位置,将信息写入后将记录置为有效。
进一步的,普通工作节点的客户端程序在进行服务定位时,直接读取共享内存进行查找,定位操作全部在本地完成,无网络通信操作;当故障导致本地共享内存不可用时,通过网络方式连接系统注册中心,向其发送服务定位请求。冗余的方式在正常情况下保证了定位效率,在异常情况下又提高了该方法的鲁棒性。
实施本发明,具有如下有益效果:本发明为电网调度自动化系统在多网段的架构下,提供了一种跨网段的服务注册机制,同时为电网调度自动化的服务定位系统提供了一套高效、可靠的跨网段的服务定位方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。