数据处理方法及装置制造方法及图纸

技术编号:31308053 阅读:21 留言:0更新日期:2021-12-12 21:31
本申请实施例提供一种数据处理方法及装置,该方法包括:获取第一数据库中的源数据发生更新时对应的操作信息;在第一数据库的操作日志中写入操作信息;将写入操作信息前后的操作日志进行对比,确定出操作日志的变更数据;根据操作日志的变更数据,删除第二数据库的缓存数据;根据更新后的第一数据库中的源数据,在第二数据库中重新写入缓存数据。通过该方式,通过操作日志来同步第一数据库和第二数据库中的数据,从而减少了第二数据库中的脏数据,避免了第一数据库和第二数据库中的数据不一致。一致。一致。

【技术实现步骤摘要】
数据处理方法及装置


[0001]本专利技术涉及信息
,尤其涉及一种数据处理方法及装置。

技术介绍

[0002]在实际应用开发中,通常可以使用两个数据库来配合进行数据的存储。其中,第一数据库还可以为关系型数据库,主要用于存放持久化数据。第二数据库可以为缓存数据库,用于加速和保护第一数据库。当使用两个数据库时,若第一数据库中的数据发生更新,则第二数据库需要保持更新,从而保证第一数据库和第二数据库双写一致性。
[0003]在相关技术中,可以采用多种方式来保证第一数据库和第二数据库双写一致性。例如,可以设置第二数据库的缓存数据的过期时间来保证第二数据库中的缓存数据的定期更新,或者,在设置第二数据库的缓存数据的过期时间的同时在第一数据库更新时同步更新第二数据库,或者,由消息队列保证第二数据库的缓存更新。
[0004]然而,上述方法在第一数据库更新时仍然可能在第二数据库中产生脏数据,从而导致了第一数据库和第二数据库中的数据不一致。

技术实现思路

[0005]本申请实施例提供一种数据处理方法及装置,以解决现有技术中第一数据库和第二数据库中的数据不一致的问题。
[0006]第一方面,本申请实施例提供一种数据处理方法,所述方法包括:
[0007]获取第一数据库中的源数据发生更新时对应的操作信息;
[0008]在所述第一数据库的操作日志中写入所述操作信息;
[0009]将写入所述操作信息前后的操作日志进行对比,确定出所述操作日志的变更数据;
[0010]根据所述操作日志的变更数据,删除第二数据库的缓存数据;
[0011]根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。
[0012]一种可选的实施方式中,所述将写入所述操作信息前后的操作日志进行对比,确定出所述操作日志的变更数据,包括:
[0013]控制解析程序获取所述操作日志;
[0014]控制所述解析程序将所述操作信息前后的操作日志进行对比,确定所述操作日志的增量日志;
[0015]控制所述解析程序对所述操作日志的增量日志进行解析,确定所述操作日志的变更数据。
[0016]一种可选的实施方式中,所述控制解析程序获取所述操作日志,包括:
[0017]控制所述解析程序向所述第一数据库发送获取请求,以使所述第一数据库将所述操作日志发送给所述解析程序。
[0018]一种可选的实施方式中,所述控制解析程序获取所述操作日志,包括:
[0019]通过控制所述解析程序模拟所述第一数据库的交互协议,向所述第一数据库发送获取请求。
[0020]一种可选的实施方式中,在所述第二数据库中重新写入所述缓存数据之前,包括:
[0021]检测所述第二数据库是否成功删除所述缓存数据。
[0022]一种可选的实施方式中,所述根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据,包括:
[0023]若所述第二数据库已删除所述缓存数据,则控制根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。
[0024]一种可选的实施方式中,在所述检测所述第二数据库是否删除所述缓存数据之后,所述方法还包括:
[0025]若所述第二数据库未删除所述缓存数据,则通过消息队列重新删除所述第二数据库中的缓存数据。
[0026]一种可选的实施方式中,所述通过消息队列重新删除所述第二数据库中的缓存数据,包括:
[0027]将所述操作日志的变更数据发送给所述消息队列;
[0028]根据所述消息队列中的消息排列顺序,重新删除所述第二数据库中的缓存数据。
[0029]一种可选的实施方式中,所述操作日志中还包括有所述操作信息的有效期。
[0030]第二方面,本申请实施例提供一种数据处理装置,所述方法包括:
[0031]获取模块,用于获取第一数据库中的源数据发生更新时对应的操作信息;
[0032]写入模块,用于在所述第一数据库的操作日志中写入所述操作信息;
[0033]更新模块,用于将写入所述操作信息前后的操作日志进行对比,确定出所述操作日志的变更数据;根据所述操作日志的变更数据,删除第二数据库的缓存数据;根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。
[0034]一种可选的实施方式中,所述更新模块,具体用于控制解析程序获取所述操作日志;控制所述解析程序将所述操作信息前后的操作日志进行对比,确定所述操作日志的增量日志;控制所述解析程序对所述操作日志的增量日志进行解析,确定所述操作日志的变更数据。
[0035]一种可选的实施方式中,所述更新模块,具体用于控制所述解析程序向所述第一数据库发送获取请求,以使所述第一数据库将所述操作日志发送给所述解析程序。
[0036]一种可选的实施方式中,所述更新模块,具体用于通过控制所述解析程序模拟所述第一数据库的交互协议,向所述第一数据库发送获取请求。
[0037]一种可选的实施方式中,所述更新模块,还用于检测所述第二数据库是否成功删除所述缓存数据。
[0038]一种可选的实施方式中,所述更新模块,具体用于若所述第二数据库已删除所述缓存数据,则控制根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。
[0039]一种可选的实施方式中,所述更新模块,具体用于若所述第二数据库未删除所述缓存数据,则通过消息队列重新删除所述第二数据库中的缓存数据。
[0040]一种可选的实施方式中,所述更新模块,具体用于将所述操作日志的变更数据发送给所述消息队列;根据所述消息队列中的消息排列顺序,重新删除所述第二数据库中的缓存数据。
[0041]一种可选的实施方式中,所述操作日志中还包括有所述操作信息的有效期。
[0042]第三方面,本申请还提供一种电子设备,包括:处理器,以及存储器;
[0043]所述存储器用于存储所述处理器的计算机程序;所述处理器被配置为通过执行所述计算机程序来实现第一方面中任意一种可能的方法。
[0044]第四方面,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任意一项所述的方法。
[0045]第五方面,本专利技术还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任意一种可能的方法。
[0046]本申请实施例提供的数据处理方法及装置,获取第一数据库中的源数据发生更新时对应的操作信息;在第一数据库的操作日志中写入操作信息;将写入操作信息前后的操作日志进行对比,确定出操作日志的变更数据;根据操作日志的变更数据,删除第二数据库的缓存数据;根据更新后的第一数据库中的源数据,在第二数据库中重新写入缓存数据。通过该方式,通过操作日志来同步第一数据库和第二数据库中的数据,从而减少了第二数据库中的脏数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取第一数据库中的源数据发生更新时对应的操作信息;在所述第一数据库的操作日志中写入所述操作信息;将写入所述操作信息前后的操作日志进行对比,确定出所述操作日志的变更数据;根据所述操作日志的变更数据,删除第二数据库的缓存数据;根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。2.根据权利要求1所述的方法,其特征在于,所述将写入所述操作信息前后的操作日志进行对比,确定出所述操作日志的变更数据,包括:控制解析程序获取所述操作日志;控制所述解析程序将所述操作信息前后的操作日志进行对比,确定所述操作日志的增量日志;控制所述解析程序对所述操作日志的增量日志进行解析,确定所述操作日志的变更数据。3.根据权利要求2所述的方法,其特征在于,所述控制解析程序获取所述操作日志,包括:控制所述解析程序向所述第一数据库发送获取请求,以使所述第一数据库将所述操作日志发送给所述解析程序。4.根据权利要求2所述的方法,其特征在于,所述控制解析程序获取所述操作日志,包括:通过控制所述解析程序模拟所述第一数据库的交互协议,向所述第一数据库发送获取请求。5.根据权利要求1所述的方法,其特征在于,在所述第二数据库中重新写入所述缓存数据之前,包括:检测所述第二数据库是否成功删除所述缓存数据。6.根据权利要求5所述的方法,其特征在于,所述根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据,包括:若所述第二数据库已删除所述缓存数据,则控制根据更新后的第一数据库中的源数据,在所述第二数据库中重新写入所述缓存数据。7.根据权利要求5所述的方法,其特征...

【专利技术属性】
技术研发人员:高明凯
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:

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

1