[发明专利]一种集群系统中的时序库主备机内存同步方法在审
申请号: | 201410413346.4 | 申请日: | 2014-08-20 |
公开(公告)号: | CN104243554A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 张俊;王玮 | 申请(专利权)人: | 南京南瑞继保工程技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 211106 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 集群 系统 中的 时序 库主备机 内存 同步 方法 | ||
技术领域
本发明涉及一种集群系统中的时序库主备机内存同步方法。
背景技术
时序数据库是广域测量系统(WAMS)的基础,同时还可用于变电站监控、调度、直流、稳控等多个系统中,满足其存储海量、高频数据的需求。在实际应用中,为满足服务的高可用性,时序数据库服务往往采取主备机集群的方式运行。当主机发生故障时(突然掉电、内存故障、服务进程异常退出),可通过集群系统发现故障并进行失败转移,将服务切换到备机运行,主备机切换的过程存在较高的数据丢失风险,影响了整个系统的高可用性。所述的数据丢失风险可分为可控风险和不可控风险:
可控风险:在发生切换(人工或自动)的这段时间内,服务不可用,此时客户端实时数据无法提交,需要暂时缓存在客户端,防止数据丢失。
不可控风险:由于机器掉电、进程异常退出等造成的数据丢失风险,这种情况下,即便集群将服务切换到备机运行,也可能丢失主机内存中尚未写入磁盘的文件。
对于可控风险,目前的主流时序库产品都能通过客户端缓存机制将实时数据缓存在本地,当服务再次可用时再发送到服务端;而对于不可控风险,目前大多数时序数据库产品都不能很好地处理,在主机掉电或时序库服务被意外异常终止时,不可避免地会导致部分数据的丢失,即使集群能在较短时间内进行失败切换,但此时主机内存中的数据已经无法恢复。
为解决上述问题,本发明致力于在备机维护与主机同样的内存镜像,使得当发生失败切换时,备机能够完全接管主机的服务和内存数据,使整个系统真正做到“高可用”。
发明内容
本发明的目的,在于提供一种集群系统中的时序库主备机内存同步方法,其适用于在集群系统中主备机之间的内存同步,解决了当发生失败切换时主机内存数据丢失的问题。
为了达成上述目的,本发明的解决方案是:
一种集群系统中的时序库主备机内存同步方法,包含如下步骤:
(1)客户端向主机发送TCP报文建立测点模型,主机执行成功后向备机转发模型数据报文;测点模型建立完成后,客户端同时向主、备机发送实时数据;
(2)主机收到实时数据后,依次进行缓冲、压缩及写入文件操作,以实时数据块为操作单位,每个实时数据块具有唯一标示的key;主机将压缩后的实时数据块批量写入红黑树存储结构,并对写入的实时数据块个数进行计数,满足给定的写入次数则强制同步到磁盘;对于已经成功写入磁盘的实时数据块,主机以TCP报文形式将该实时数据块的key发送至备机,备机同步进程收到报文后将具有相同key的实时数据块从内存中清除;
(3)当主机故障发生集群失败切换时,备机同步进程将内存中实时数据块回写到磁盘后退出,并启动服务进程,服务进程将磁盘中实时数据块加载到内存并继续处理;发生故障的主机恢复后,启动同步进程,作为备机与主机进行实时数据块内存同步。
上述步骤(1)还包括如下内容:客户端向主机发送模型数据增删改报文,主机执行相应的操作,执行成功后向备机转发该报文,备机收到报文后执行相应的操作,并向主机返回操作结果;客户端同时向主备机发送实时数据,保证主备机接收到同样的实时数据,实时数据块在主备机内存中的处理流程一致,key一致,保证在任意时刻,备机具有与主机相同的实时数据内存镜像。
上述步骤(2)还包括如下内容:当实时数据缓冲区满时,形成一个实时数据块,对该实时数据块进行压缩,压缩完成后写入相应的红黑树结构,一个已压缩的实时数据块即一个红黑树结点,该红黑树的少量结点缓存在内存中,大部分结点存储在磁盘上;当满足给定的写入次数时,主机执行同步操作,首先将内存中的结点写入到磁盘,再将已写入磁盘的实时数据块key发送给备机同步进程,同步进程遍历待同步实时数据块队列,删除已经被主机写入磁盘的实时数据块。
上述步骤(3)还包括如下内容:备机同步进程收到退出信号,将待同步实时数据队列中的实时数据块写入临时文件后退出;服务进程启动,首先从临时文件读取并处理尚未成功写入磁盘的实时数据块,处理完后即对客户端提供实时数据块存储服务,备机升为主机;原主机故障恢复后,启动同步进程,作为备机与主机进行模型数据、实时数据块内存同步。
采用上述方案后,本发明具有以下特点:
(1)当发生掉电、服务异常终止等不可预料的情况时,保证整个系统内存数据不会丢失;
(2)不仅仅对于时序库,对于其他任何需要进行数据处理和存储的应用或系统软件,均可采用该方法的思路保证系统数据一致性、完整性;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保工程技术有限公司,未经南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410413346.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种税务行业第三方应用云开放平台的设计方法
- 下一篇:资源分享方法和系统