实时数据库故障恢复的方法、系统、存储介质及服务器技术方案

技术编号:32129731 阅读:18 留言:0更新日期:2022-01-29 19:26
一种实时数据库故障恢复的方法、系统、存储介质及服务器,方法包括以下步骤:启动实时数据库看门狗服务进程,初始化共享内存;启动和初始化实时数据库的其他服务进程,所述实时数据库的其他服务进程包括通讯服务进程、基础服务进程、快照服务进程以及历史服务进程;其他服务进程向看门狗服务进程申请需要热备数据的共享内存,并进行数据读写;其他服务进程定时向共享内存更新进程运行状态;如果某个服务进程超时未更新运行状态则重启服务进程;重启的服务进程向共享内存托管进程申请取回数据进行现场恢复。本发明专利技术可实现快速的服务重启和数据恢复,极大地提高了实时数据库的服务稳定性和数据安全性。定性和数据安全性。定性和数据安全性。

【技术实现步骤摘要】
实时数据库故障恢复的方法、系统、存储介质及服务器


[0001]本专利技术属于实时数据库开发
,具体涉及一种实时数据库故障恢复的方法、系统、存储介质及服务器。

技术介绍

[0002]各国制造业创新战略的实施基础都是工业大数据的搜集和特征分析,及以此为未来制造系统搭建的无忧环境。实时数据库是工业大数据的核心服务,也是工业4.0的基础。
[0003]发电企业需要从DCS、辅控等工控系统采集海量生产实时数据,并存储到实时数据库中,对这些入库的数据的安全性要求非常高,不允许因为软件缺陷造成已入库的数据丢失。
[0004]通常实时数据库为了提高海量生产实时数据的入库性能,普遍都采用了数据缓存策略。但这会造成因为已入库的数据在缓存中,还未真正归档,如果此时服务进程崩溃,就会造成数据永久性丢失。同时,当实时数据库的某个服务崩溃重启时,可能需要加载磁盘中大量的基础数据进行初始化,服务启动过程缓慢,从而无法快速恢复服务,造成长时间的服务中断。

技术实现思路

[0005]本专利技术的目的在于提供一种实时数据库故障恢复的方法、系统、存储介质及服务器,解决实时数据库的服务进程崩溃后缓存数据丢失,启动初始化慢的问题。
[0006]为了实现上述目的,本专利技术有如下的技术方案:
[0007]第一方面,提供一种实时数据库故障恢复的方法,包括以下步骤:
[0008]启动实时数据库看门狗服务进程,初始化共享内存;
[0009]启动和初始化实时数据库的其他服务进程,所述实时数据库的其他服务进程包括通讯服务进程、基础服务进程、快照服务进程以及历史服务进程;
[0010]其他服务进程向看门狗服务进程申请需要热备数据的共享内存,并进行数据读写;
[0011]其他服务进程定时向共享内存更新进程运行状态;
[0012]如果某个服务进程超时未更新运行状态则重启服务进程;
[0013]重启的服务进程向共享内存托管进程申请取回数据进行现场恢复。
[0014]作为本专利技术方法的一种优选方案,所述的看门狗服务进程一方面监控其他服务进程,如果发现异常或崩溃,则自动重启相应服务进程;另一方面,托管所有需要热备数据的共享内存,使其他服务进程异常退出时共享内存不被回收;
[0015]看门狗服务进程能够被反向检测,如果发现异常或崩溃,则重启看门狗服务进程。
[0016]作为本专利技术方法的一种优选方案,所述的通讯服务进程根据API调用的功能转发到相应的服务进程进行处理,并将响应报文返回给API调用者。
[0017]作为本专利技术方法的一种优选方案,所述的基础服务进程加载测点表并将测点表以
共享内存Hash表的存储形式长驻内存,供其他服务进程查询。
[0018]作为本专利技术方法的一种优选方案,所述的快照服务进程用于实现快照数据的缓存和压缩,每个测点至少有一个快照数据缓存在快照服务进程的共享内存中,如果测点支持压缩,则还会有压缩计算相关的其他数据缓存在快照服务进程的共享内存中;当某个测点快照数据被写入时,如果测点快照数据被压缩,则会直接覆盖原快照数据,如果不被压缩,则会将测点快照数据推送到历史服务进程。
[0019]作为本专利技术方法的一种优选方案,所述的历史服务进程用于历史数据归档和查询,对每个测点按数据页的大小进行历史数据缓存,所述历史数据缓存存储在历史服务进程的共享内存中;由快照服务进程推送来的快照数据首先会被写入到历史数据缓存中,当某个测点的历史数据缓存被写满时,该历史数据缓存才会被归档写入到存档文件中,然后清空该历史数据缓存,继续等待接收其他历史数据。
[0020]作为本专利技术方法的一种优选方案,所述的共享内存能够被命名,相同共享内存名称对应的共享内存为同一个共享内存块;
[0021]多个服务进程持有同一个共享内存块时,只要有一个服务进程还未释放该共享内存块,则该共享内存不会被回收,其他服务进程能够再次获取该共享内存块的访问权。
[0022]第二方面,提供一种实时数据库故障恢复的系统,包括:
[0023]看门狗服务进程启动模块,用于启动实时数据库看门狗服务进程,初始化共享内存;
[0024]其他服务进程启动模块,用于启动和初始化实时数据库的其他服务进程,所述实时数据库的其他服务进程包括通讯服务进程、基础服务进程、快照服务进程以及历史服务进程;
[0025]共享内存申请模块,用于其他服务进程向看门狗服务进程申请需要热备数据的共享内存,并进行数据读写;
[0026]进程状态更新模块,用于其他服务进程定时向共享内存更新进程运行状态;
[0027]进程重启模块,用于如果某个服务进程超时未更新运行状态则重启服务进程;
[0028]现场恢复模块,用于重启的服务进程向共享内存托管进程申请取回数据进行现场恢复。
[0029]第三方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述实时数据库故障恢复的方法。
[0030]第四方面,提供一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述实时数据库故障恢复的方法。
[0031]相较于现有技术,本专利技术第一方面至少具有如下的有益效果:
[0032]实时数据库服务进程将需要热备的数据存储在共享内存中,并通过看门狗服务进程监控实时数据库所有用于业务处理的其他服务进程运行状态,当某一服务进程崩溃时,看门狗服务进程重启崩溃的服务进程,并通过热备的共享内存快速恢复数据,从而避免出现因服务进程崩溃造成数据丢失的风险,同时也可以加快重启服务进程的初始化速度来快速恢复服务。本专利技术通过看门狗服务进程和业务服务进程共同持有共享内存,实现了业务服务进程运行异常或崩溃时快速重启,并能够恢复重启之前的运行内存数据,从而可以实
现快速的服务重启和数据恢复,极大地提高了实时数据库的服务稳定性和数据安全性。
[0033]可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
[0034]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术看门狗服务进程与其他服务进程的运行关系图;
[0036]图2为本专利技术实时数据库故障恢复的方法流程图;
[0037]图3为本专利技术共享内存的持有结构示意图;
[0038]图4为本专利技术共享内存的命名方式示意图;
[0039]图5为本专利技术服务进程的监控流程图。
具体实施方式
[0040]为使本专利技术的目的、技术方案及优点更加清楚、明确,以下结合具体实施方式与附图对本专利技术进一步详细说明。本专利技术还可以通过另本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时数据库故障恢复的方法,其特征在于,包括以下步骤:启动实时数据库看门狗服务进程,初始化共享内存;启动和初始化实时数据库的其他服务进程,所述实时数据库的其他服务进程包括通讯服务进程、基础服务进程、快照服务进程以及历史服务进程;其他服务进程向看门狗服务进程申请需要热备数据的共享内存,并进行数据读写;其他服务进程定时向共享内存更新进程运行状态;如果某个服务进程超时未更新运行状态则重启服务进程;重启的服务进程向共享内存托管进程申请取回数据进行现场恢复。2.根据权利要求1所述实时数据库故障恢复的方法,其特征在于:所述的看门狗服务进程一方面监控其他服务进程,如果发现异常或崩溃,则自动重启相应服务进程;另一方面,托管所有需要热备数据的共享内存,使其他服务进程异常退出时共享内存不被回收;看门狗服务进程能够被反向检测,如果发现异常或崩溃,则重启看门狗服务进程。3.根据权利要求1所述实时数据库故障恢复的方法,其特征在于:所述的通讯服务进程根据API调用的功能转发到相应的服务进程进行处理,并将响应报文返回给API调用者。4.根据权利要求1所述实时数据库故障恢复的方法,其特征在于:所述的基础服务进程加载测点表并将测点表以共享内存Hash表的存储形式长驻内存,供其他服务进程查询。5.根据权利要求1所述实时数据库故障恢复的方法,其特征在于:所述的快照服务进程用于实现快照数据的缓存和压缩,每个测点至少有一个快照数据缓存在快照服务进程的共享内存中,如果测点支持压缩,则还会有压缩计算相关的其他数据缓存在快照服务进程的共享内存中;当某个测点快照数据被写入时,如果测点快照数据被压缩,则会直接覆盖原快照数据,如果不被压缩,则会将测点快照数据推送到历史服务进程。6.根据权利要求1所述实时数据库故障恢复的方法,其特征在于:所述的历史服务进程...

【专利技术属性】
技术研发人员:何清王毅王奕飞谢贝贝何新
申请(专利权)人:西安西热电站信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1