掌桥专利:专业的专利平台
掌桥专利
首页

电力监控系统多群组服务实例切换方法和装置

文献发布时间:2023-06-19 18:35:48


电力监控系统多群组服务实例切换方法和装置

技术领域

本申请涉及计算机领域,特别是涉及一种电力监控系统多群组服务实例切换方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

随着可再生能源发电的广泛接入和电力电子装备的逐渐普及,电力系统正朝着大规模、精细化、瞬时性方向发展,客观上要求电力系统调度运行安全与经济并重,同时也对电力系统面对不同市场主体的接入能力、调度决策的精细化程度、大规模电网的分析计算能力、调度行为的规范化能力、市场信息的公开透明提出了新的要求。

电力系统的稳定运行对系统分析计算的精度和速度要求越来越高,传统的实时监控系统面对频繁波动的电网,对电网运行事件的监控存在漏判和误判,对系统资源的部署与监控调度存在误差和延迟,不利于提高电力监控系统的调度效率。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高电力系统的调度效率的电力监控系统多群组服务实例切换方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种电力监控系统多群组服务实例切换方法。所述方法包括:

在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供所述数据处理服务的异常实例所部署于的目标容器;

在所述目标容器的容器类型为主容器的情况下,确定所述目标容器的备用容器;所述备用容器为用于提供与所述数据处理服务相同的数据处理服务的实例所部署于的容器;

停止所述目标容器,启动所述备用容器,以使所述备用容器中所部署的实例为提供所述数据处理服务的主实例;

重新启动所述目标容器,以使所述目标容器中所部署的实例为提供所述数据处理服务的备实例。

在其中一个实施例中,所述方法还包括:

按照预设的时间间隔发送心跳消息至所述电力监控系统中的至少一个数据处理服务;所述心跳消息用于指示所述数据处理服务对应的实例返回相应的心跳响应消息;

在预设等待时间内未接收到所述数据处理服务返回的所述心跳响应消息的情况下,判定所述数据处理服务的响应状态存在异常。

在其中一个实施例中,在所述重新启动所述目标容器的步骤之前,所述方法还包括:

在成功启动所述备用容器的情况下,获取启动后的所述备用容器对应的容器运行状态;

根据所述备用容器对应的容器运行状态,更新所述数据处理服务对应的实例信息。

在其中一个实施例中,所述根据所述备用容器对应的容器运行状态,更新所述数据处理服务对应的实例信息,包括:

在所述容器运行状态表征所述备用容器中所部署的实例成功运行的情况下,将所述备用容器中所部署的实例对应的实例状态设置为主实例,以及,将所述目标容器中所部署的实例对应的实例状态设置为备实例;

将所述备用容器对应的设置后的实例状态和所述目标容器对应的设置后的实例状态,作为所述数据处理服务对应的新的实例信息。

在其中一个实施例中,所述方法还包括:

启动容器集合中的所有容器;所述容器集合为所述电网监控系统中所有数据处理服务关联的容器的集合;

针对所述容器集合中的任一容器,接收所述任一容器发送的容器启动参数;根据所述容器启动参数,返回容器配置信息至所述任一容器;所述容器配置信息用于确定所述任一容器中所部署的实例为提供相应数据处理服务的主实例或备实例。

在其中一个实施例中,所述方法还包括:

在所述目标容器所处的容器节点存在异常的情况下,确定所述容器节点对应的接管节点;所述接管节点用于提供与所述容器节点提供的数据处理服务相同的数据处理服务;

停止所述容器节点中的容器;

将所述接管节点中的容器所部署的实例对应的实例状态设置为备实例。

第二方面,本申请还提供了一种电力监控系统多群组服务实例切换装置。

所述装置包括:

目标容器确定模块,用于在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供所述数据处理服务的异常实例所部署于的目标容器;

备用容器确定模块,用于在所述目标容器的容器类型为主容器的情况下,确定所述目标容器的备用容器;所述备用容器为用于提供与所述数据处理服务相同的数据处理服务的实例所部署于的容器;

容器状态控制模块,用于停止所述目标容器,启动所述备用容器,以使所述备用容器中所部署的实例为提供所述数据处理服务的主实例;

目标容器重启模块,用于重新启动所述目标容器,以使所述目标容器中所部署的实例为提供所述数据处理服务的备实例。

第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述电力监控系统多群组服务实例切换方法、装置、计算机设备、存储介质和计算机程序产品,在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供数据处理服务的异常实例所部署于的目标容器,从而确定异常实例及其对应的异常目标容器,在目标容器的容器类型为主容器的情况下,确定目标容器对应的备用容器,从而确定用于替换目标容器中的实例而运行数据处理服务的备用实例,确定目标容器和备用容器后,停止目标容器,启动备用容器,以使所述备用容器中所部署的实例为提供数据处理服务的主实例,即备用容器中的实例升级为主实例,重新启动目标容器,以使目标容器中所部署的实例为提供数据处理服务的备实例,即目标容器中的实例设置为备实例,进而实现电力监控系统中数据处理服务存在异常时,及时调度备用容器中的实例替换目标容器中的实例运行数据处理服务,提高电力监控系统的调度效率。

附图说明

图1为一个实施例中一种电力监控系统多群组服务实例切换方法的应用环境图;

图2为一个实施例中一种电力监控系统多群组服务实例切换方法的流程示意图;

图3为一个实施例中一种确定服务响应状态的流程示意图;

图4为一个实施例中一种更新实例信息的流程示意图;

图5为另一个实施例中一种更新实例信息的流程示意图;

图6为一个实施例中一种启动容器的流程示意图;

图7为一个实施例中一种确定接管节点的流程示意图;

图8为一个实施例中一种电力监控系统多群组服务实例切换方法的框架图;

图9为一个实施例中一种电力监控系统多群组服务实例切换装置的结构框图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请实施例提供的电力监控系统多群组服务实例切换方法,可以应用于如图1所示的应用环境中。调度器104与电力监控系统的节点(Node)以及节点中容器化部署的服务实例通信连接,每个节点中部署有可提供数据处理服务的应用实例,调度器104可对每个应用实例及其对应的备实例进行调度。在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,调度器104确定提供所述数据处理服务的异常实例所部署于的目标容器,在所述目标容器的容器类型为主容器的情况下,调度器104确定所述目标容器的备用容器,服务器104停止所述目标容器,并启动所述备用容器,以使所述备用容器中所部署的实例为提供所述数据处理服务的主实例,调度器104重新启动所述目标容器,以使所述目标容器中所部署的实例为提供所述数据处理服务的备实例。调度器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一些实施例中,如图2所示,提供了一种电力监控系统多群组服务实例切换方法,以该方法应用于图1中的调度器104为服务器进行说明,包括以下步骤:

步骤S202,在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供所述数据处理服务的异常实例所部署于的目标容器。

其中,电力监控系统可以是指用于监视和控制电力生产及供应过程的系统。

具体实现中,电力监控系统可以包括基于计算机和网络技术的系统及智能设备,以及作为基础支撑的通信及数据网络,例如:数据采集与监视控制系统(SupervisoryControl And Data Acquisition,SCADA)。

其中,数据处理服务可以是指电力监控系统中对电力监控数据进行操作的服务,具体实现中,数据处理服务可以包括电力系统参数传输服务。

其中,异常实例可以是指提供某种数据处理服务的应用程序中运行异常的应用程序。

其中,目标容器可以是指部署有异常实例的容器。

例如,服务器利用应用容器化平台,例如Kubernetes,将应用通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移,容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系。

作为一种示例,服务器利用应用容器化平台将提供某数据处理服务的应用实例部署在电力监控系统的容器中,当服务器检测到电力监控系统中的某数据处理服务的响应状态存在异常时,服务器通过电力监控系统中预设的心跳机制确定提供数据处理服务的异常应用实例,并将部署有该异常应用实例的容器确定为目标容器。

步骤S204,在所述目标容器的容器类型为主容器的情况下,确定所述目标容器的备用容器;所述备用容器为用于提供与所述数据处理服务相同的数据处理服务的实例所部署于的容器。

其中,容器类型可以是指电力监控系统配置给目标容器的容器属性信息,具体实现中,容器类型可以包括主容器和备容器。

其中,备用容器可以是指与目标容器存在对应关系的备用容器,具体实现中,对应关系可以是指备用容器所部署的实例提供的数据处理服务与目标容器所部署的实例提供的数据处理服务相同。

作为一种示例,在所述目标容器的容器类型为备容器的情况下,服务器调用应用容器化平台的接口停止并重新启动该目标容器。

作为一种示例,基于应用容器化平台的节点亲和性以及实例的亲和性,初始化时服务器指定预设的节点用于创建集群数据处理实例,结合应用容器化平台中Pod反亲和性,可以保证主备集群数据处理实例不会在同一节点上。

例如,服务器确定目标容器后,查询目标容器属性信息后,服务器判定目标容器的容器类型为主容器,服务器在电力监控系统中定位目标容器对应的备用容器,并获取该备用容器的地址信息。

步骤S206,停止所述目标容器,启动所述备用容器,以使所述备用容器中所部署的实例为提供所述数据处理服务的主实例。

作为一种示例,当应用容器化平台的某一节点异常时,服务器基于yaml配置文件中配置的亲和性与反亲和性进行实例的重启,利用多群组动态自主弹性伸缩框架对实例进行主备切换,多群组动态自主弹性伸缩框架本身支持主备运行模式,同样基于应用容器化平台的亲和性与反亲和性,由服务器通过应用容器化平台并基于yaml配置文件进行集群数据处理实例的动态调整与切换。

作为一种示例,服务器响应用户触发的主备实例切换请求,服务器停止目标容器,启动目标容器对应的备用容器,目标容器不论是正常退出还是异常退出,服务器均执行主备切换操作。

例如,服务器调用应用容器化平台的接口停止目标容器所部署的实例,并调用应用容器化平台的接口启动备用容器所部署的实例,即启动备用容器所部署的实例代替目标容器所部署的实例,以使备用容器中所部署的实例为提供数据处理服务的主实例。

步骤S208,重新启动所述目标容器,以使所述目标容器中所部署的实例为提供所述数据处理服务的备实例.

例如,服务器调用应用容器化平台的接口重新启动目标容器所部署的实例,此时目标容器所部署的实例可以为在线状态。

上述电力监控系统多群组服务实例切换方法中,在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供数据处理服务的异常实例所部署于的目标容器,从而确定异常实例及其对应的异常目标容器,在目标容器的容器类型为主容器的情况下,确定目标容器对应的备用容器,从而确定用于替换目标容器中的实例而运行数据处理服务的备用实例,确定目标容器和备用容器后,停止目标容器,启动备用容器,以使所述备用容器中所部署的实例为提供数据处理服务的主实例,即将备用容器中的实例升级为主实例,重新启动目标容器,以使目标容器中所部署的实例为提供数据处理服务的备实例,即将目标容器中的实例设置为备实例,进而实现电力监控系统中数据处理服务存在异常时,及时调度备用容器中的实例替换目标容器中的实例运行数据处理服务,提高电力监控系统的调度效率。

在一些实施例中,如图3所示,所述方法还包括:

步骤S302,按照预设的时间间隔发送心跳消息至所述电力监控系统中的至少一个数据处理服务;所述心跳消息用于指示所述数据处理服务对应的实例返回相应的心跳响应消息。

具体实现中,预设的时间间隔可以包括但不限于30秒、1分钟、90秒和2分钟。

其中,心跳消息可以是指用于验证数据处理服务是否正常运行的固定消息。

例如,按照预设的时间间隔,服务器向电力监控系统中至少一个数据处理服务对应的地址信息发送作为心跳消息的固定消息,并接收各数据处理服务返回的心跳响应消息。

步骤S304,在预设等待时间内未接收到所述数据处理服务返回的所述心跳响应消息的情况下,判定所述数据处理服务的响应状态存在异常。

具体实现中,预设等待时间可以包括但不限于30秒、1分钟、90秒和2分钟。

其中,心跳响应消息可以是指与心跳消息对应的用于反映数据处理服务正常运行的响应消息。

例如,服务器接收各数据处理服务返回的心跳响应消息后,统计各数据处理服务及其对应的心跳响应消息,若服务器在预设等待时间内仍未接收到某数据处理服务返回的心跳响应消息,则服务器判定该数据处理服务的响应状态存在异常。

本实施例的技术方案,通过按照预设的时间间隔发送心跳消息电力监控系统中的数据处理服务,并接收心跳消息对应的心跳响应消息,判断在预设等待时间内未接收到心跳响应消息对应的数据处理服务存在异常,能够及时判断电力监控系统中存在异常的数据处理服务,提高电力监控系统的资源监控效率。

在一些实施例中,如图4所示,在所述重新启动所述目标容器的步骤之前,所述方法还包括:

步骤S402,在成功启动所述备用容器的情况下,获取启动后的所述备用容器对应的容器运行状态。

其中,容器运行状态可以是指容器及容器所部署的应用实例的运行状态。

例如,服务器调用应用容器化平台的接口启动备用容器,并运行备用容器中部署的实例,服务器根据该实例提供的数据处理服务的响应状态,判断启动后的备用容器对应的容器运行状态是否为正常运行。

作为一种示例,服务器通过应用容器化平台时集群数据处理的Pod实例是基于集群数据处理的最大阀值计算的,在服务器收到的用户新增数据生产者满足当前集群数据处理实例的要求,且当前集群数据处理实例未达到性能上限时,该用户新增数据生产者加入当前集群数据处理实例;在当前集群数据处理实例已达到性能上限时,服务器新增集群数据处理实例,该用户新增数据生产者加入新增的集群数据处理实例;在当前集群数据处理实例已达到性能上限,且当前集群数据处理实例中存在销毁的数据生产者时,该用户新增数据生产者覆盖已经销毁的数据生产者,当服务器基于应用容器化平台新增的节点用于与集群处理实例时,针对已经运行的集群数据处理实例,服务器不再进行调整,只创建或调整根据伸缩算法计算出的新增的集群数据处理实例。

步骤S404,根据所述备用容器对应的容器运行状态,更新所述数据处理服务对应的实例信息。

其中,实例信息可以是指数据处理服务关联的实例对应的实例类型及实例所部署的容器的地址信息。

例如,服务器检测到某应用实例提供的数据处理服务的响应状态为正常时,服务器判定该应用实例所部署于的备用容器对应的容器运行状态为正常运行,即服务器判定备用容器部署的实例对应实例类型升级为主实例,服务器将备用容器和目标容器所部署的实例对应的实例类型和地址信息作为新的实例信息存储至本地配置信息集中。

本实施例的技术方案,通过获取启动后的备用容器对应的容器运行状态,并根据容器运行状态更新数据处理服务对应的实例信息,能够对启动后的备用容器进行运行检查,并及时更新电力监控系统中数据处理服务对应的实例信息,提高电力监控系统的监控及时性和调度准确性。

在一些实施例中,如图5所示,所述根据所述备用容器对应的容器运行状态,更新所述数据处理服务对应的实例信息,包括:

步骤S502,在所述容器运行状态表征所述备用容器中所部署的实例成功运行的情况下,将所述备用容器中所部署的实例对应的实例状态设置为主实例,以及,将所述目标容器中所部署的实例对应的实例状态设置为备实例。

其中,实例状态可以是指表征容器所部署的实例是否成功运行的状态信息。

例如,服务器获取备用容器的容器运行状态,并确定该备用容器的容器运行状态为正常运行时,服务器判定该备用容器所部署的实例成功运行,服务器将该备用容器中所部署的实例对应的实例状态设置为主实例,并将目标容器中所部署的实例对应的实例状态设置为备实例。

步骤S504,将所述备用容器对应的设置后的实例状态和所述目标容器对应的设置后的实例状态,作为所述数据处理服务对应的新的实例信息。

例如,服务器获取备用容器对应的设置后的实例状态和目标容器对应的设置后的实例状态,并将备用容器对应的设置后的实例状态和目标容器对应的设置后的实例状态作为最新的实例信息存储在本地配置信息集中。

本实施例的技术方案,通过在备用容器中所部署的实例成功运行时,对目标容器和备用容器的实例状态进行设置,以及,对设置后的实例对应的实例信息进行更新,能够及时更新实例信息,提高电力监控系统的调度准确度。

在一些实施例中,如图6所示,所述方法还包括:

步骤S602,启动容器集合中的所有容器;所述容器集合为所述电网监控系统中所有数据处理服务关联的容器的集合。

其中,容器集合可以是指电网监控系统中所有数据处理服务关联的容器的集合,具体实现中,容器集合可以包括电力监控系统中的所有容器。

例如,在预设的指定容器节点(Node)范围内,服务器调用应用容器化平台的接口无差别的启动电力监控系统中与指定的数据处理服务关联的容器,并控制容器发送各容器对应的容器启动参数。

作为一种实例,服务器通过应用容器化平台的调度策略可以是指Node节点亲和度调度和Pod亲和度调度,Node节点亲和度调度可以协助SCADA的调度服务的集群调度,由于SCADA的调度服务时脱离应用容器化平台实现的,所以调度服务不用考虑Pod亲和度调度,SCADA的调度服务结合了Node节点亲和度调度的软硬限制,其中,硬限制指实例只能在某些Node节点上部署;软限制指强调优先满足预设的规则进行服务的调度,但不强求,例如:监控服务和FRONT服务分别用于处理监控数据和处理前置数据,上述监控数据和前置数据通过规约接收并处理入库,若监控服务和FRONT服务需要分配至三个Node节点,分别为Node1、Node2和Node3,此时硬限制可以是指监控数据根据预设的分配要求,只能分配到Node1和Node2处理,不能分配到Node3处理,前置数据只能分配到Node3处理,不能分配到Node1和Node2处理。

步骤S604,针对所述容器集合中的任一容器,接收所述任一容器发送的容器启动参数。

其中,容器启动参数可以是指容器启动时的参数信息。

例如,服务器通过接收模块接收任一容器发送的容器启动参数,并生成各容器启动参数对应的容器配置信息。

步骤S606,根据所述容器启动参数,返回容器配置信息至所述任一容器;所述容器配置信息用于确定所述任一容器中所部署的实例为提供相应数据处理服务的主实例或备实例。

其中,容器配置信息可以是指表征容器中实例对应的实例类型的信息。

作为一种实例,数据处理服务启动时,服务器读取本地配置信息集,该本地配置信息集可以包含服务唯一ID、Node节点IP地址、Node节点计算机名称,其中,服务唯一ID由人工分配。

例如,服务器将容器启动参数对应的容器配置信息返回至各容器,并通过容器配置信息设置电力监控系统中各容器所部署的实例的当前的实例信息。

本实施例的技术方案,通过启动电力监控系统中的所有容器,接收容器启动信息,返回容器配置信息,能够对电力监控系统中个容器对应的实例进行参数配置,迅速确定主备实例,能够提高电力监控系统的运行效率。

在一些实施例中,如图7所示,所述方法还包括:

步骤S702,在所述目标容器所处的容器节点存在异常的情况下,确定所述容器节点对应的接管节点;所述接管节点用于提供与所述容器节点提供的数据处理服务相同的数据处理服务。

其中,容器节点可以是指电力监控系统中至少一个应用实例所部署于的容器所在的节点,具体实现中,容器节点包含的容器数量可以包括但不限于1个、2个和3个。

其中,接管节点可以是指电力监控系统中某容器节点存在异常时,用于接管该容器节点提供相应数据处理服务的容器节点。

例如,服务器检测到目标容器所处的容器节点存在异常时,服务器在电力监控系统中定位该容器节点对应的接管节点,以使该接管节点作为接替容器节点的备用节点。

步骤S704,停止所述容器节点中的容器。

例如,服务器检测到目标容器所处的容器节点存在异常时,服务器停止该容器节点中的容器所部署的实例提供数据处理服务,并对该容器节点中的容器所部署的实例与上述容器对应的备用容器所部署的实例进行主备切换。

步骤S706,将所述接管节点中的容器所部署的实例对应的实例状态设置为备实例。

例如,服务器检测到目标容器所处的容器节点存在异常时,首先停止该容器节点,然后服务器调用应用容器化平台的接口进行相关实例的主备切换,由于此时服务器执行主备切换后,已经有新的主实例提供相关数据处理服务,则接管节点中的容器所部署的实例就作为上述新的主实例对应的备实例。

本实施例的技术方案,在容器节点存在异常时,停止容器节点中当前运行的容器所部署的实例,确定用于接管该容器节点的接管节点,能够及时部署电力监控系统中的容器资源,提高电力监控系统的资源调度效率。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的电力监控系统多群组服务实例切换方法的电力监控系统多群组服务实例切换装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个电力监控系统多群组服务实例切换装置实施例中的具体限定可以参见上文中对于电力监控系统多群组服务实例切换方法的限定,在此不再赘述。

为了便于本领域技术人员的理解,图8示例性地提供一种电力监控系统多群组服务实例切换方法的框架图,如图8所示,SCADA调度通信模块发送心跳消息至SCADA处理模块,SCADA处理模块处理心跳消息并生成心跳响应消息,SCADA处理模块将心跳响应消息发送至心跳模块,心跳模块接收心跳响应消息,并生成心跳响应结果,心跳模块根据心跳响应结果判断是否有心跳响应消息,若判断有心跳响应消息,则经过预设的时间间隔,SCADA调度通信模块再次发送心跳消息至SCADA处理模块,若判断无心跳响应消息,主备切换模块执行主备切换,主备切换模块首先判断是执行备升主操作还是备重启操作,若执行备重启操作,则主备切换模块停止备实例并重新启动备实例,若执行备升主操作,主备切换模块停止原主实例所部署于的主容器,通知备实例部署于的备容器升级为主容器,此时原备实例升级为新的主实例,原主实例为新的备实例,主备切换模块启动新的主实例,并判断主备切换是否成功,若主备切换不成功,则主备切换模块重新启动原主备实例所在分片的所有容器,以重新启动新的主实例和新的备实例,若主备成功切换,则SCADA处理模块更新个实例对应的实例状态,SCADA调度通信模块接收备升主成功报文,主备切换模块重新启动新的备实例。

在一个实施例中,如图9所示,提供了一种电力监控系统多群组服务实例切换装置,包括:

目标容器确定模块902,用于在电力监控系统中的至少一个数据处理服务的响应状态存在异常的情况下,确定提供所述数据处理服务的异常实例所部署于的目标容器。

备用容器确定模块904,用于在所述目标容器的容器类型为主容器的情况下,确定所述目标容器的备用容器;所述备用容器为用于提供与所述数据处理服务相同的数据处理服务的实例所部署于的容器。

容器状态控制模块906,用于停止所述目标容器,启动所述备用容器,以使所述备用容器中所部署的实例为提供所述数据处理服务的主实例。

目标容器重启模块908,用于重新启动所述目标容器,以使所述目标容器中所部署的实例为提供所述数据处理服务的备实例。

在其中一个实施例中,上述装置还包括心跳响应模块,该心跳响应模块具体用于按照预设的时间间隔发送心跳消息至所述电力监控系统中的至少一个数据处理服务;所述心跳消息用于指示所述数据处理服务对应的实例返回相应的心跳响应消息,在预设等待时间内未接收到所述数据处理服务返回的所述心跳响应消息的情况下,判定所述数据处理服务的响应状态存在异常。

在其中一个实施例中,上述装置还包括信息更新模块,该信息更新模块具体用于在成功启动所述备用容器的情况下,获取启动后的所述备用容器对应的容器运行状态,根据所述备用容器对应的容器运行状态,更新所述数据处理服务对应的实例信息。

在其中一个实施例中,上述信息更新模块还具体用于在所述容器运行状态表征所述备用容器中所部署的实例成功运行的情况下,将所述备用容器中所部署的实例对应的实例状态设置为主实例,以及,将所述目标容器中所部署的实例对应的实例状态设置为备实例,将所述备用容器对应的设置后的实例状态和所述目标容器对应的设置后的实例状态,作为所述数据处理服务对应的新的实例信息。

在其中一个实施例中,上述装置还包括容器启动模块,该容器启动模块具体用于启动容器集合中的所有容器;所述容器集合为所述电网监控系统中所有数据处理服务关联的容器的集合,针对所述容器集合中的任一容器,接收所述任一容器发送的容器启动参数,根据所述容器启动参数,返回容器配置信息至所述任一容器;所述容器配置信息用于确定所述任一容器中所部署的实例为提供相应数据处理服务的主实例或备实例。

在其中一个实施例中,上述装置还包括节点调度模块,该节点调度模块具体用于在所述目标容器所处的容器节点存在异常的情况下,确定所述容器节点对应的接管节点;所述接管节点用于提供与所述容器节点提供的数据处理服务相同的数据处理服务,停止所述容器节点中的容器,将所述接管节点中的容器所部署的实例对应的实例状态设置为备实例。

上述电力监控系统多群组服务实例切换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种电力监控系统多群组服务实例切换方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

技术分类

06120115628589