一种基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法与流程

文档序号:11681101阅读:299来源:国知局

本发明涉及智能电网领域,特别是一种基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法。



背景技术:

随着智能电网的快速发展和应用规模的不断扩大,电力系统交互的数据种类和通讯形式日趋增多,使得电力系统中智能变电站同调控主站,以及智能站内各设备同监控系统之间的模型与数据的接入和交互愈发复杂。为此福建电网公司提出《智能变电站与调控主站即插即用关键技术研究》。其中,主要的研究内容为:以实现智能变电站与调控主站的即插即用交互为目标,建立面向服务的广域信息交互基础架构,研究开发以电网管理为核心的即插即用交互接口,实现典型应用的服务化交互,提升调控主站与智能变电站之间的信息共享水平和业务协同能力,为变电站设备的自动接入、调控主站的功能提升及典型应用的服务化改造提供实用化指导。其中面向服务的广域信息交互基础架构为主子站间信息交互的典型应用服务提供了架构基础。

在基于面向服务的广域信息交互基础架构体系中,服务提供者和服务消费者之间的数据交互的完整性与可靠性对于电网系统的稳定运行至关重要。因此如何保障服务消费者在主备切换过程中数据的可靠性,尤其是电力系统、测控保护装置的重要数据不丢失将变得非常关键。因为电网的安全运行越来越依赖于对各种信息的有效分析和处理,一旦电力系统发生故障,尤其是大面积复杂故障时,调度员需要依靠来自电力系统、测控保护装置的开关接点的变位数字量信息,以及事件时序(soe)信息,进行事故分析和系统恢复。这些数据对于调度员分析故障、排查问题的重要性不言而喻。但是服务消费者的主备切换过程又是数据最容易发生丢失的阶段。因此在面向服务的广域信息交互基础架构体系中,务必要保障服务消费者在主备切换时数据的可靠性。



技术实现要素:

有鉴于此,本发明的目的是提出一种基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法,能够在进行主备切换时有效保障数据可靠性。

本发明采用以下方案实现:一种基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法,具体包括以下步骤:

步骤s1:服务消费者包括主服务消费者与备服务消费者,主服务消费者除了处理请求到的数据外,还在实时库中保存接收到的服务提供者的id和datasetid;

步骤s2:当主服务消费者由于异常导致退出时,备服务消费者立即切换为当前的主服务消费者,并接管服务请求的任务;

步骤s3:在备服务消费者切换为当前的主服务消费者时,需要从实时库中读取最新的服务提供者的id和datasetid,并将此datasetid发送到服务提供者;

步骤s4:服务提供者收到此datasetid后,将datasetid以后的数据集上送给当前的主服务消费者。

进一步地,所述步骤s1前还包括下述初始化步骤:

步骤s11:服务提供者创建一定大小的缓存,用于存放产生的数据集和对应的数据集id,每个数据集对应一个id号,即datasetid,其中每产生一个数据集,datasetid的值加1;

步骤s12:服务消费者以主备方式运行;

步骤s13:主服务消费者与服务提供者进行服务交互,备服务消费者不与服务提供者进行服务交互;主服务消费者处理服务请求和响应,备服务消费者与服务提供者进行连接,但不处理数据,时刻准备切换为主服务消费者。

进一步地,步骤s11中,每个数据集有多条数据项,数据集和对应的datasetid建立有索引,用以进行快速查找。

进一步地,所述步骤s12具体为:服务消费者以一主一备或一主多备的方式运行,即系统中运行一个主服务消费者,同时运行一个或多个备服务消费者。

进一步地,所述步骤s2具体为:当主服务消费者由于异常而退出时,一个备服务消费者或多个备服务消费者中的一个备服务消费者作为当前的主服务消费者运行,异常退出的主服务消费者重新启动作为备服务消费者。

较佳的,本发明还提供了一种基于上文所述基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法的系统,具体包括服务提供者、主服务消费者、备服务消费者;所述主服务消费者与所述服务提供者连接,并处理服务请求和响应;所述备服务消费者与所述服务提供者进行连接,但不处理数据,时刻准备切换为主服务消费者。

其中,主服务消费者除了处理请求到的数据外,还在实时库中保存接收到的服务提供者的id和datasetid;当主服务消费者由于异常导致退出时,备服务消费者立即切换为当前的主服务消费者,并接管服务请求的任务;在备服务消费者切换为当前的主服务消费者时,需要从实时库中读取最新的服务提供者的id和datasetid,并将此datasetid发送到服务提供者;服务提供者收到此datasetid后,将datasetid以后的数据集上送给当前的主服务消费者。

进一步地,所述被服务消费者有n个,其中n为大于等于1的正整数。

进一步地,所述服务提供者包括n个,其中n为大于等于1的正整数。

进一步地,包括一实时库,所述实时库为所有服务节点共享的网络库,用以存放服务提供者的id和datasetid。

进一步地,服务消费者以一主一备或一主多备的方式运行,即运行一个主服务消费者,同时运行一个或多个备服务消费者。

与现有技术相比,本发明有以下有益效果:

1、本发明的服务消费者在与服务提供者进行服务交互时,当主服务消费者由于异常而退出时,一个备服务消费者或多个备服务消费者中的一个备服务消费者作为当前的主服务消费者运行,异常退出的主服务消费者重新启动作为备服务消费者,从而能够保证服务消费者于主备系统切换期间产生的运行数据和报告信息不丢失。

2、本发明能够保证电力系统、测控保护装置的重要数据不丢失,从而保证电力运行系统的安全可靠运行。

附图说明

图1为本发明实施例的方法流程示意图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

如图1所示,本实施例提供了一种基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法,具体包括以下步骤:

(1)服务提供者创建一定大小的缓存,用于存放产生的数据集和对应的数据集id,每个数据集对应一个id号(datasetid),其中每产生一个数据集,datasetid的值加1。

其中缓存大小可以灵活设置,以便能保存足够多的数据,每个数据集中有多条数据项,数据集和对应的datasetid可以建立索引,以便能进行快速查找。

(2)服务消费者以主备方式运行。

服务消费者可以以一主一备或一主多备的方式运行,即系统中运行一个主服务消费者,同时运行一个或多个备服务消费者,当主服务消费者由于异常而退出时,一个备服务消费者或多个备服务消费者中的一个备服务消费者作为当前的主服务消费者运行,异常退出的原主服务消费者重新启动后作为备服务消费者,从而保证系统的稳定性。

(3)主服务消费者与服务提供者进行服务交互,备服务消费者不与服务提供者进行服务交互。

主服务消费者处理服务请求和响应,备服务消费者与服务提供者进行连接,但不处理数据,时刻准备切换为主服务消费者。

(4)主服务消费者除了处理请求到的数据外,还要在实时库中保存接收到的服务提供者id和datasetid。

一个服务消费者可以请求多个服务提供者,每个服务提供者的datasetid有可能相同,所以需要额外保存服务提供者id。其中,实时库是所有服务节点共享的网络库。

(5)当主服务消费者由于异常导致退出时,备服务消费者立即切换为主服务消费者,并接管服务请求的任务。

当主服务消费者由于异常而退出时,一个备用系统,或多个备用系统中选出一个备用系统作为主服务消费者运行,异常退出的主服务消费者重新启动作为备服务消费者,从而保证系统的稳定性。

(6)在备服务消费者切换为主服务消费者时,需要从实时库中读取最新的服务提供者id和datasetid,并将此datasetid发送到服务提供者。

服务消费者向服务提供者发送最后收到的datasetid,可以认为是向服务提供者确认已经收到的数据。在主备切换的过程中,服务提供者有可能会发送数据集和对应的datasetid,这些数据集及对应的datasetid没有被服务消费者接受,从而不会保存到实时库中。而从实时库中读取到datasetid是服务消费者最后处理的数据集对应的datasetid。

(7)服务提供者收到此datasetid后,会将datasetid以后的数据集上送给服务消费者。

从而保证主备切换期间的数据不丢失。服务提供者在收到步骤(6)读取的datasetid时,会上送此datasetid以后的数据集和对应的datasetid。从而保证服务消费者在主备切换过程中不会丢失数据。

本实施例还提供了一种基于上文方法所述的基于上文所述基于广域面向服务架构的服务消费者在主备切换时保障数据可靠性的方法的系统,具体包括服务提供者、主服务消费者、备服务消费者;所述主服务消费者与所述服务提供者连接,并处理服务请求和响应;所述备服务消费者与所述服务提供者进行连接,但不处理数据,时刻准备切换为主服务消费者。

其中,主服务消费者除了处理请求到的数据外,还在实时库中保存接收到的服务提供者的id和datasetid;当主服务消费者由于异常导致退出时,备服务消费者立即切换为当前的主服务消费者,并接管服务请求的任务;在备服务消费者切换为当前的主服务消费者时,需要从实时库中读取最新的服务提供者的id和datasetid,并将此datasetid发送到服务提供者;服务提供者收到此datasetid后,将datasetid以后的数据集上送给当前的主服务消费者。

在本实施例中,所述被服务消费者有n个,其中n为大于等于1的正整数。

在本实施例中,所述服务提供者包括n个,其中n为大于等于1的正整数。

在本实施例中,包括一实时库,所述实时库为所有服务节点共享的网络库,用以存放服务提供者的id和datasetid。

在本实施例中,服务消费者以一主一备或一主多备的方式运行,即运行一个主服务消费者,同时运行一个或多个备服务消费者。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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