一种保证海量数据缓存最终一致性的系统及方法_3

文档序号:8258382阅读:来源:国知局
r>[0099]数据缓存最终一致批处理任务模块资源池,存放着待分配的多个数据缓存最终一致批处理任务模块103。
[0100]如图8所示,海量数据缓存最终一致负载均衡,步骤为:
[0101]步骤801:监听到一条变化数据记录;
[0102]步骤802:根据主键集判断是否已分配,判断当前主键集的变化数据记录是否曾经被处理过;若该变化数据记录被处理过,转步骤805,否则转步骤803 ;
[0103]步骤803,取下一个数据缓存最终一致批处理任务模块,按照权重轮循均衡策略从数据缓存最终一致批处理任务模块资源池中取出一个数据缓存最终一致批处理任务模块,转步骤804 ;
[0104]步骤804,判断该数据缓存最终一致批处理任务模块请求数是否达到阈值;若请求数大于阈值,转步骤803,否则转步骤806 ;
[0105]步骤805,取对应的数据缓存最终一致批处理任务模块,说明该变化数据记录曾被数据缓存最终一致批处理任务模块处理过,将该请求分发给原处理过该数据记录的数据缓存最终一致批处理任务模块;
[0106]步骤806,数据缓存最终一致批处理任务模块开始处理该变化数据记录。
[0107]上述虽然结合附图对本发明的【具体实施方式】进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
【主权项】
1.一种保证海量数据缓存最终一致性的系统,其特征是,包括: 日志监听模块:监听实际数据存储模块的二进制数据操作日志,从中提取出变化数据记录,所述变化数据记录包括变化前后的数据记录,每个数据记录由多个数据列组成;数据缓存最终一致批处理任务模块:接收变化数据记录,将变化数据记录按列拆分为多个变化数据列,将未发生变化的数据列删除,仅仅保留变化数据列,然后利用化简器将变化数据列合并,最后对变化数据列进行修正,实现实际数据存储模块的变化数据记录到目标数据缓存模块的复制,达到海量数据缓存一致。
2.如权利要求1所述的一种保证海量数据缓存最终一致性的系统,其特征是, 实际数据存储模块,海量数据的实际物理存储,采用关系数据库存储海量数据; 目标数据缓存模块,海量数据的缓存,采用无模式数据库存储数据。
3.如权利要求1所述的一种保证海量数据缓存最终一致性的系统,其特征是, 所述数据缓存最终一致批处理任务模块,包括: 若干映射器:每个映射器接收来自日志监听模块的变化数据记录,将变化数据记录按列拆分为多个变化数据列,将未发生变化的数据列删除,仅仅保留变化数据列,变化数据列输出给不同的化简器;所述变化数据列是一个四元组,所述四元组由主键集K、列C、时间戳T、变化类型F组成;所述主键集K为所述变化数据列映射前的变化数据记录主键集合;所述列C为所述变化数据列的值;所述时间戳T是所述数据列映射之前的变化数据记录的时间戳T ;所述变化类型F取值为新增数据与新删数据; 若干化简器,每个化简器接收来自不同的映射器的变化数据列,将相同主键集K和相同变化类型F的同列变化数据列按照时间戳合并为一条变化数据列,合并原则是时间戳新的变化数据列覆盖时间戳旧的变化数据列; 若干修正器,每个修正器按照相应的化简器处理后的变化数据列修正目标数据缓存模块,分为如下情况:若输入是变化类型为新删数据的变化数据列,则删除目标数据缓存相同主键集的数据;若输入是变化类型为新增数据的变化数据列,则在目标数据缓存中增加相同主键集的数据。
4.如权利要求1所述的一种保证海量数据缓存最终一致性的系统,其特征是, 所述变化数据记录是关系数据库数据表发生变化的一条数据记录,通过日志监听模块从关系数据库二进制数据操作日志中提取, 所述变化数据列是关系数据库数据表发生变化的一条数据记录中发生变化的一列数据。
5.如权利要求1所述的一种保证海量数据缓存最终一致性的系统,其特征是, 所述日志监听模块与所述数据缓存最终一致批处理任务模块之间还允许设有: 负载均衡模块,根据处理能力,为每个数据缓存最终一致批处理任务模块设定阈值,使其能够接受相应阈值数的服务请求;将日志监听模块获取到的变化数据记录按照权重轮循均衡路由策略分发到不同数据缓存最终一致批处理任务模块;所述数据缓存最终一致批处理任务模块放在数据缓存最终一致批处理任务模块资源池中等待分配任务;负载均衡模块能确保高性能的数据缓存最终一致批处理任务模块得到更多的使用率,避免低性能的数据缓存最终一致批处理任务模块负载过重。
6.一种保证海量数据缓存最终一致性的方法,其特征是,包括: 日志监听步骤:监听实际数据存储的二进制数据操作日志,从中提取出变化数据记录,所述变化数据记录包括变化前后的数据记录,每个数据记录由多个数据列组成; 数据缓存最终一致批处理任务步骤:接收变化数据记录,将变化数据记录按列拆分为多个变化数据列,将未发生变化的数据列删除,仅仅保留变化数据列,然后利用化简步骤将变化数据列合并,最后对变化数据列进行修正,实现实际数据存储的变化数据记录到目标数据缓存的复制,达到海量数据缓存一致。
7.如权利要求6所述的一种保证海量数据缓存最终一致性的方法,其特征是, 实际数据存储,海量数据的实际物理存储,采用关系数据库存储海量数据; 目标数据缓存,海量数据的缓存,采用无模式数据库存储数据。
8.如权利要求6所述的一种保证海量数据缓存最终一致性的方法,其特征是, 所述数据缓存最终一致批处理任务步骤,包括: 映射步骤:接收变化数据记录,将变化数据记录按列拆分为多个变化数据列,将未发生变化的数据列删除,仅仅保留变化数据列,变化数据列输出;所述变化数据列是一个四元组,所述四元组由主键集K、列C、时间戳T、变化类型F组成;所述主键集K为所述变化数据列映射前的变化数据记录主键集合;所述列C为所述变化数据列的值;所述时间戳T是所述数据列映射之前的变化数据记录的时间戳T ;所述变化类型F取值为新增数据与新删数据; 化简步骤,将相同主键集K和相同变化类型F的同列变化数据列按照时间戳合并为一条变化数据列,合并原则是时间戳新的变化数据列覆盖时间戳旧的变化数据列; 修正步骤,按照化简步骤处理后的变化数据列修正目标数据缓存,分为如下情况:若输入是变化类型为新删数据的变化数据列,则删除目标数据缓存相同主键集的数据;若输入是变化类型为新增数据的变化数据列,则在目标数据缓存中增加相同主键集的数据。
9.如权利要求6所述的一种保证海量数据缓存最终一致性的方法,其特征是, 所述变化数据记录是关系数据库数据表发生变化的一条数据记录,通过日志监听模块从关系数据库二进制数据操作日志中提取, 所述变化数据列是关系数据库数据表发生变化的一条数据记录中发生变化的一列数据。
10.如权利要求6所述的一种保证海量数据缓存最终一致性的方法,其特征是, 所述日志监听步骤与所述数据缓存最终一致批处理任务步骤之间还允许设有: 负载均衡步骤,根据处理能力,为每个数据缓存最终一致批处理任务步骤设定阈值,使其能够接受相应阈值的服务请求;将日志监听步骤获取到的变化数据记录按照权重轮循均衡策略分发到不同数据缓存最终一致批处理任务模块;所述数据缓存最终一致批处理任务模块放在数据缓存最终一致批处理任务模块资源池中等待分配任务;负载均衡步骤能确保高性能的数据缓存最终一致批处理任务模块得到更多的使用率,避免低性能的数据缓存最终一致批处理任务模块负载过重。
【专利摘要】本发明公开了一种保证海量数据缓存最终一致性的系统及方法,包括:日志监听模块:监听实际数据存储模块的二进制数据操作日志,从中提取出变化数据记录,所述变化数据记录包括变化前后的数据记录,每个数据记录由多个数据列组成;数据缓存最终一致批处理任务模块:接收变化数据记录,将变化数据记录按列拆分为多个变化数据列,将未发生变化的数据列删除,仅仅保留变化数据列,然后利用化简器将变化数据列合并,最后对变化数据列进行修正,实现实际数据存储模块的变化数据记录到目标数据缓存模块的复制,达到海量数据缓存一致。系统具有高并发、批处理、高可用等特性,通过映射、化简、修正批处理任务实现数据缓存一致的优点。
【IPC分类】G06F17-30, G06F12-08
【公开号】CN104572505
【申请号】CN201510056231
【发明人】马坤
【申请人】济南大学
【公开日】2015年4月29日
【申请日】2015年2月3日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1