[发明专利]一种数据同步时防止内存溢出的方法和装置有效

专利信息
申请号: 201811010996.9 申请日: 2018-08-31
公开(公告)号: CN109189577B 公开(公告)日: 2020-05-19
发明(设计)人: 付铨;袁松彪;梅纲 申请(专利权)人: 武汉达梦数据库有限公司
主分类号: G06F9/50 分类号: G06F9/50;G06F9/54;G06F11/14
代理公司: 深圳市六加知识产权代理有限公司 44372 代理人: 向彬
地址: 430000 湖北省武汉市东湖新技术开*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据 同步 防止 内存 溢出 方法 装置
【权利要求书】:

1.一种数据同步时防止内存溢出的方法,其特征在于,包括:

从源端读取数据,根据消息队列中的已缓存数据量判断是否触发大字段外缓存,如果触发则对所述数据进行大字段外缓存处理;

将经外缓存处理后的数据缓存到消息队列中,并更新消息队列中的已缓存数据量;

从消息队列中取出数据并更新已缓存数据量,若取出的数据有大字段外缓存,则从外缓存中进行数据恢复;

将从消息队列取出的数据或经数据恢复后的数据装载至目的端,完成数据同步;

所述根据消息队列中的已缓存数据量判断是否触发大字段外缓存,如果触发则对所述数据进行大字段外缓存处理,具体包括:

计算从源端读取数据的数据字节大小;其中,在内外缓存交换模块内设置触发标记flag,0代表不外缓存大字段,1代表外缓存大字段,2代表数据读取线程被阻塞,将flag初始值设为0;每次进行数据同步时,flag根据实际情况被重置,则在每次计算从源端读取数据的数据字节大小之前,先判断flag是否为2,若flag=2,证明数据读取线程被阻塞,则等待数据读取组件唤醒;或者休眠一段时间后再检测flag的状态;

计算消息队列中的已缓存数据量与所述数据字节大小的和值,并与第一内存阈值比较;

如果所述和值大小超过所述第一内存阈值,则对所述数据进行大字段外缓存处理;提交外缓存请求后将flag重置为0;或者,若当前flag已经为1,则证明需要进行大字段外缓存,可跳过上述计算消息队列中的已缓存数据量与所述数据字节大小的和值,并与第一内存阈值比较过程,直接向公共I/O服务模块提交外缓存请求;若当前的触发标记flag为0且消息队列中当前的已缓存数据量+源端读取数据大小<第一内存阈值,证明当前消息队列中仍可缓存数据,则无需提交外缓存请求;

所述方法还包括:将当前消息队列中的已缓存数据量与第二内存阈值比较;如果所述已缓存数据量超过所述第二内存阈值,则将所述消息队列中预设比例的数据进行大字段外缓存处理;

从消息队列中取出数据并更新已缓存数据量具体包括:将数据追加到fillingQueue,请求公共I/O服务模块填充还原该数据;所述公共I/O服务模块接收请求后,根据所述数据对应的临时文件元数据结构,从所述临时文件中读入所述数据对应的大字段内容填充到该数据中的相应字段,进而完成该数据的恢复还原;最后将恢复的数据追加到filledQueue,作为currentData;其中,fillingQueue为数据请求填充队列,用于存放需要所述公共I/O服务模块填充还原的数据;filledQueue为数据填充完成队列,用于存放所述公共I/O服务模块已填充还原的数据;

其中,currentData表示当前返回数据,是经内外缓存交换模块后可返回给所述数据装载组件进而装载至目的端的数据。

2.根据权利要求1所述的数据同步时防止内存溢出的方法,其特征在于,对所述数据进行大字段外缓存处理的过程具体为:将所述数据中的大字段用临时文件元数据代替,并更新所述数据字节大小;将大字段和临时文件元数据进行提交,进而根据临时文件元数据将数据大字段的内容写到外存中的临时文件。

3.根据权利要求2所述的数据同步时防止内存溢出的方法,其特征在于,对有大字段外缓存的数据,从外缓存中进行数据恢复的过程具体为:根据所述数据对应的临时文件元数据结构,从所述临时文件中读入所述数据对应的大字段内容,进而完成数据恢复。

4.根据权利要求2或3所述的数据同步时防止内存溢出的方法,其特征在于,用于代替大字段的临时文件元数据包括临时文件名、大字段在临时文件中的起始位置以及大字段的长度。

5.根据权利要求1所述的数据同步时防止内存溢出的方法,其特征在于,在所述从消息队列中取出数据之前,所述方法还包括:将所述消息队列中的数据按照经外缓存处理和未经外缓存处理进行分组,且所述未经外缓存处理的数据顺序靠前,所述经外缓存处理的数据顺序靠后,使得所述未经外缓存处理的数据先从消息队列中被取出。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811010996.9/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top