[发明专利]一种保证海量数据缓存实时性和一致性的系统及方法有效
| 申请号: | 201510055798.4 | 申请日: | 2015-02-03 |
| 公开(公告)号: | CN104598396B | 公开(公告)日: | 2017-06-16 |
| 发明(设计)人: | 马坤 | 申请(专利权)人: | 济南大学 |
| 主分类号: | G06F12/0813 | 分类号: | G06F12/0813;G06F12/0817;G06F17/30 |
| 代理公司: | 济南圣达知识产权代理有限公司37221 | 代理人: | 张勇 |
| 地址: | 250022 山东*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 保证 海量 数据 缓存 实时 一致性 系统 方法 | ||
技术领域
本发明涉及一种数据缓存一致方法,尤其涉及一种保证海量数据缓存实时性和一致性的系统及方法。
背景技术
为了应对用户对海量数据的高并发请求带来的挑战,解决传统关系数据库面临的大数据访问和极限事务瓶颈问题,海量数据缓存一致性方法成为承载大数据的新型应用提升性能的重要手段。海量数据缓存一致是指在实际数据存储变动过程中,保证实际数据存储与目标数据缓存一致的过程。
现有技术主要通过数据复制实现实际数据存储与目标数据缓存的一致。然而,在海量数据环境中,受到访问需求和访问规律的影响,同步复制方法一致性代价过大,而异步复制又无法满足强一致性。为了保证实际数据与数据缓存的即时一致,提高数据缓存一致的实时性,从数据缓存一致处理方式上看,现有技术存在三类数据缓存一致方法:
(1)单任务批量执行,数据缓存一致划分为多个步骤,每个步骤按顺序执行;
(2)多任务并行,数据缓存一致划分为多个任务,每个任务分配给一个进程,多个进程同步并行执行。进一步将实际数据存储的变化数据流分隔成固定大小的片段,每个片段并行执行;
(3)多线程并发,数据缓存一致划分为多个任务,多个任务分配给一个进程,每个任务分配给一个线程,多个线程同步并行执行。
上述方法在适应范围上都存在不同方面的缺陷:单任务批量执行的效率最低,无法保证海量数据缓存的即时一致;与多任务并行相比,多线程并发占用系统资源少、CPU利用率高,但可靠性较差,单个线程的死锁会影响到整个进程。将变化数据流分为多个片段并行执行的改进方法虽可用于海量数据缓存一致,但不能稳定地满足实时性需求,表现为:处理延迟与数据片段的长度和初始化处理任务的开销成正比;长度小的分段会降低延迟,增加附加开销,增加分段依赖的复杂性;长度大的分段会增加延迟。另一方面,海量数据通常以数据流方式展现,实际数据存储变化数据流具有数据量小、速率大等特点,上述几种方法难以保证数据缓存一致的即时性。
发明内容
本发明的目的就是保证实际数据存储与数据缓存的即时一致,提供一种保证海量数据缓存实时性和一致性的系统及方法。本发明具有高实时性、高并发性、高容错性等特性,通过基于流处理的数据缓存实现海量数据缓存一致过程。
为实现上述目的,本发明采用如下技术方案:
一种保证海量数据缓存实时性和一致性的系统,包括:
数据流提取模块:采用数据库日志方式从实际数据存储模块中提取出变化数据流;
基于流处理的数据缓存模块:采用流处理的方法将提取出的变化数据流复制到目标数据缓存模块,在复制的过程中先将变化数据流拆分成数据元组,将数据元组拆分成数据域,仅仅对发生变化的数据域进行处理后,又将数据域进行聚合,最后写入目标数据缓存,从而保证数据缓存的一致性;在复制的过程中,仅仅用缓冲域库存储中间结果,保证了数据缓存的实时性。
所述变化数据流由多条发生变化的数据元组组成,每个数据元组由多个数据域构成。
所述实际数据存储模块:海量数据的实际物理存储,采用数据库存储海量数据;
所述目标数据缓存模块:进行海量数据的缓存;
所述采用数据库存储海量数据是指采用关系数据库、无模式数据库存储海量数据。
所述基于流处理的数据缓存模块,包括:
域分发数据处理单元,将提取的变化数据流中的数据元组拆分为数据域,按照域分发到不同域过滤数据处理单元,降低数据维度;
域过滤数据处理单元,将拆分的数据域进一步过滤,仅仅提取发生变化的数据域,减少数据缓存一致数据流的处理量,未变化的数据域丢弃不处理;
域缓冲数据处理单元,将域过滤数据处理单元输出的数据域临时存储于缓冲域库;
域聚合数据处理单元,将数据域进行聚合为数据元组,提升数据维度,写入到目标数据缓存,完成数据缓存一致过程。
所述缓冲域库,是域过滤数据处理输出的数据域临时副本;当域过滤数据处理输出的数据域经域聚合数据处理成功复制到目标数据缓存后,从缓冲域库中删除。
所述域过滤数据处理单元与域缓冲数据处理单元之间还允许包括:
异常检测单元:检测海量数据缓存一致过程是否出错;若检测出错,一致过程出现异常,转流数据重放单元;若检测正常,转到域缓冲数据处理单元,域缓冲数据处理单元处理后进入域聚合数据处理单元;
流数据重放单元:对缓冲域库中的数据域进行流数据重放,从检测失败点处恢复数据缓存即时一致过程,最后进入域聚合数据处理单元。
一种保证海量数据缓存实时性和一致性的方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南大学,未经济南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510055798.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





