一种基于资源池技术的电网数据实时同步系统的制作方法

文档序号:17843233发布日期:2019-06-11 21:27阅读:189来源:国知局

本发明涉及电网业务技术领域,具体涉及一种基于资源池技术的电网数据实时同步系统。



背景技术:

电力企业信息系统庞大,结构复杂,随着电力信息化的发展,电力业务形态日渐丰富,数据量也随之激增,其规模和复杂度不断增加,海量的并发数据需要实时处理,并被可靠储存,这对数据库的部署和安全提出了新的挑战。

出于灾备(disasterrecovery)的目的,一般都会建设2个(或多个)数据中心,一个是主数据中心用于承担用户的业务,一个是备份数据中心用于备份主数据中心的数据、配置、业务等;双活备份可作为解决海量数据可靠储存的一种手段,双活是觉得备用数据中心只做备份太浪费了,所以让主备两个数据中心都同时承担用户的业务,此时,主备两个数据中心互为备份,并且进行实时备份;一般来说,主数据中心的负载可能会多一些,比如分担60~70%的业务,备数据中心只分担40%~30%的业务。

基于oracle12的数据库资源池可作为解决海量的并发数据实时处理的一种部署手段,其中cdb与pdb是oracle12c引入的新特性,在oracle12c数据库引入的多租用户环境(multitenantenvironment)中,允许一个数据库容器(cdb)承载多个可插拔数据库(pdb)。cdb全称为containerdatabase,中文翻译为数据库容器,pdb全称为pluggabledatabase,即可插拔数据库。在oracle12c之前,实例与数据库是一对一或多对一关系,即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入oracle12c后,实例与数据库可以是一对多的关系。

而如何保证电网业务数据的可靠存储,从而有效保证电网业务的稳定运行成为一个值得解决的问题。



技术实现要素:

本发明提供一种基于资源池技术的电网数据实时同步系统,能有效保证电力业务数据的可靠存储,从而有效保证电网业务的稳定运行。

本发明提供的一种基于资源池技术的电网数据实时同步系统,所述系统包括第一资源池、第二资源池、监控系统、数据同步模块、应用监听模块,其中,所述第一资源池中分配有高级备用cdb、中级cdb和低级cdb,所述第二资源池中分配有高级cdb、中级备用cdb和低级备用cdb,所述高级备用cdb和高级cdb通信连接,所述中级备用cdb和中级cdb通信连接,所述低级备用cdb和低级cdb通信连接;

所述监控系统,用于实时采集和判断系统数据库实例状态和系统数据库状态;

当所述系统数据库实例状态为变更时,判定为数据库实例发生变更;

当所述系统数据库状态为宕机或禁用时,判定为系统发生故障;

所述数据同步模块,用于当数据库实例发生变更或系统发生故障时,实现第一资源池和第二资源池之间的数据同步;

所述应用监听模块,用于处理应用和数据库之间的会话连接。

进一步,所述数据库实例发生变更包括:高级cdb的数据库实例数据变更、中级cdb的数据库实例数据变更、低级cdb的数据库实例数据变更。

进一步,当所述高级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到高级cdb变更数据队列中;

将高级cdb中生成的重做数据实时同步到第一资源池的高级备用cdb中,并写入高级cdb中的本地重做日志中;

实时更新高级cdb变更数据队列数据。

进一步,当所述中级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到中级cdb变更数据队列中;

将中级cdb中生成的重做数据实时同步到第二资源池中级备用cdb中,并写入中级cdb中的本地重做日志中;

实时更新中级cdb变更数据队列数据。

进一步,当所述低级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到低级cdb变更数据队列中;

将低级cdb中生成的重做数据实时同步到第二资源池低级备用cdb中,并写入低级cdb中的本地重做日志中;

实时更新低级cdb变更数据队列数据。

进一步,所述系统发生故障包括高级cdb故障、中级cdb故障、低级cdb故障。

进一步,当所述高级cdb故障时,通过以下步骤实现数据实时同步:

将高级cdb状态记录到高级备用cdb状态数据队列中,高级cdb主状态为开启,高级备用cdb从状态为关闭;

停止高级cdb应用监听;

将高级cdb从主状态切换为备状态,修改高级备用cdb状态数据队列标志,高级cdb主状态由开启改为关闭,高级备用cdb从状态由关闭改为开启;

将第一资源池中的高级备用cdb中的变更数据记录到高级cdb变更数据队列中;

通过数据同步模块将高级cdb中生成的重做数据实时同步到第二资源池的高级cdb中,并更新高级cdb变更数据队列数据;

启用第一资源池中的高级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,当所述中级cdb故障时,通过以下步骤实现数据实时同步:

将中级cdb状态记录到中级备用cdb状态数据队列中,中级cdb主状态为开启,中级备用cdb从状态为关闭;

停止中级cdb应用监听;

将中级cdb从主状态切换为备状态,修改中级备用cdb状态数据队列标志,中级cdb主状态由开启改为关闭,中级备用cdb从状态由关闭改为开启。

将第二资源池的中级备用cdb中的变更数据记录到中级cdb变更数据队列中;

通过数据同步模块将第一资源池的中级cdb中生成的重做数据实时同步到第一资源池的中级cdb中,并更新中级cdb变更数据队列数据;

启用第二资源池中的中级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,当所述低级cdb故障时,通过以下步骤实现数据实时同步:

将低级cdb状态记录到低级备用cdb状态数据队列中,低级cdb主状态为开启,低级备用cdb从状态为关闭。

停止低级cdb应用监听;

将低级cdb从主状态切换为备状态,修改低级备用cdb状态数据队列标志,低级cdb主状态由开启改为关闭,低级备用cdb从状态由关闭改为开启;

将第二资源池的低级备用cdb中的变更数据记录到低级cdb变更数据队列中;

通过数据同步模块将低级cdb中生成的重做数据实时同步到第一资源池的低级cdb中,并更新低级cdb变更数据队列数据;

启用第二资源池中低级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,所述高级cdb,用于分配保护等级级别为三级及以上,以及外网系统数据中心的电网数据;所述中级cdb,用于分配保护等级级别为二级及以上、内网中型系统的电网数据;所述低级cdb,用于分配内网小型系统的电网数据,所述保护等级级别共五级。

本发明的有益效果是:本发明公开一种基于资源池技术的电网数据实时同步系统,所述系统包括第一资源池、第二资源池、监控系统、数据同步模块、应用监听模块,所述第一资源池中分配有高级备用cdb、中级cdb和低级cdb,所述第二资源池中分配有高级cdb、中级备用cdb和低级备用cdb,所述高级备用cdb和高级cdb通信连接,所述中级备用cdb和中级cdb通信连接,所述低级备用cdb和低级cdb通信连接;通过实时采集和判断系统数据库实例状态和系统数据库状态;所述数据同步模块,用于当数据库实例发生变更或系统发生故障时,实现第一资源池和第二资源池之间的数据同步,从而保证应用和数据库之间的会话连接,本发明能保证电力业务数据的可靠存储,从而有效保证电网业务的稳定运行。

附图说明

下面结合附图和实例对本发明作进一步说明。

图1是本发明实施例一种基于资源池技术的电网数据实时同步系统的结构图;

图2是本发明实施例中系统发生故障时高级cdb的数据实时同步的流程图;

图3是本发明实施例中系统发生故障时中级cdb的数据实时同步的流程图;

图4是本发明实施例中系统发生故障时低级cdb的数据实时同步的流程图。

具体实施方式

参考图1,本发明提供的一种基于资源池技术的电网数据实时同步系统,所述系统包括第一资源池、第二资源池、监控系统、数据同步模块、应用监听模块,其中,所述第一资源池中分配有高级备用cdb、中级cdb和低级cdb,所述第二资源池中分配有高级cdb、中级备用cdb和低级备用cdb,所述高级备用cdb和高级cdb通信连接,所述中级备用cdb和中级cdb通信连接,所述低级备用cdb和低级cdb通信连接;

本实施例中,所述第一资源池中分配有1个高级备用cdb、2个中级cdb和1个低级cdb,所述第二资源池中分配2个高级cdb、1个中级备用cdb和1个低级备用cdb;

所述高级备用cdb和高级cdb间数据实时同步,所述中级备用cdb和中级cdb间数据实时同步,所述低级备用cdb和低级cdb间数据实时同步,形成高可用的交叉互为主备系统架构。

所述监控系统,用于实时采集和判断系统数据库实例状态和系统数据库状态;

当所述监控系统实时采集的系统数据库实例状态为变更时,判定为数据库实例发生变更;

当所述监控系统实时采集的系统数据库状态为宕机和/或禁用时,判定为系统发生故障;

所述数据同步模块,用于当数据库实例发生变更或系统发生故障时,实现第一资源池和第二资源池之间的数据同步;

所述应用监听模块,用于处理应用和数据库之间的会话连接。

作为本实施例的进一步改进,所述数据库实例发生变更包括:高级cdb的数据库实例数据变更、中级cdb的数据库实例数据变更、低级cdb的数据库实例数据变更。

进一步,当所述高级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到高级cdb变更数据队列中;

将高级cdb中生成的重做数据实时同步到第一资源池的高级备用cdb中,并写入高级cdb中的本地重做日志中;

实时更新高级cdb变更数据队列数据。

进一步,当所述中级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到中级cdb变更数据队列中;

将中级cdb中生成的重做数据实时同步到第二资源池中级备用cdb中,并写入中级cdb中的本地重做日志中;

实时更新中级cdb变更数据队列数据。

进一步,当所述低级cdb的数据库实例数据变更时,通过数据同步模块执行以下步骤:

将重做数据记录到低级cdb变更数据队列中;

将低级cdb中生成的重做数据实时同步到第二资源池低级备用cdb中,并写入低级cdb中的本地重做日志中;

实时更新低级cdb变更数据队列数据。

作为本实施例的进一步改进,所述系统发生故障包括高级cdb故障、中级cdb故障、低级cdb故障。

参考图2~4,当发生故障时,通过以下步骤进行电网数据转移切换:

步骤s100、将高级cdb状态记录到高级备用cdb状态数据队列中,高级cdb主状态为开启,高级备用cdb从状态为关闭;

将中级cdb状态记录到中级备用cdb状态数据队列中,中级cdb主状态为开启,中级备用cdb从状态为关闭;

将低级cdb状态记录到低级备用cdb状态数据队列中,低级cdb主状态为开启,低级备用cdb从状态为关闭;

进一步,通过以下步骤实现高级cdb的数据实时同步:

步骤s210、当判断为高级cdb故障时,停止高级cdb应用监听;

步骤s220、将高级cdb从主状态切换为备状态,修改高级备用cdb状态数据队列标志,高级cdb主状态由开启改为关闭,高级备用cdb从状态由关闭改为开启;

步骤s230、将第一资源池中的高级备用cdb中的变更数据记录到高级cdb变更数据队列中;

步骤s240、通过数据同步模块将高级cdb中生成的重做数据实时同步到第二资源池的高级cdb中,并更新高级cdb变更数据队列数据;

步骤s250、启用第一资源池中的高级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,通过以下步骤实现中级cdb的数据实时同步:

步骤s310、当判断为中级cdb故障时,停止中级cdb应用监听;

步骤s320、将中级cdb从主状态切换为备状态,修改中级备用cdb状态数据队列标志,中级cdb主状态由开启改为关闭,中级备用cdb从状态由关闭改为开启;

步骤s330、将第二资源池的中级备用cdb中的变更数据记录到中级cdb变更数据队列中;

步骤s340、通过数据同步模块将第一资源池的中级cdb中生成的重做数据实时同步到第一资源池的中级cdb中,并更新中级cdb变更数据队列数据;

步骤s350、启用第二资源池中的中级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,通过以下步骤实现低级cdb的数据实时同步:

步骤s410、当判断为低级cdb故障时,停止低级cdb应用监听;

步骤s420、将低级cdb从主状态切换为备状态,修改低级备用cdb状态数据队列标志,低级cdb主状态由开启改为关闭,低级备用cdb从状态由关闭改为开启;

步骤s430、将第二资源池的低级备用cdb中的变更数据记录到低级cdb变更数据队列中;

步骤s440、通过数据同步模块将低级cdb中生成的重做数据实时同步到第一资源池的低级cdb中,并更新低级cdb变更数据队列数据;

步骤s450、启用第二资源池中低级备用cdb数据库,通过应用监听模块连接应用系统。

进一步,所述高级cdb,用于分配保护等级级别为三级及以上,以及外网系统数据中心区的电网数据;所述中级cdb,用于分配保护等级级别为二级及以上、内网中型系统的电网数据;所述低级cdb,用于分配内网小型系统的电网数据,所述保护等级级别共五级,等级级别越高,数据安全性越重要。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。

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