一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式内存缓存的数据同步方法及系统与流程

2022-08-13 14:31:07 来源:中国专利 TAG:


1.本发明涉及计算机数据处理技术领域,特别是涉及一种分布式内存缓存的数据同步方法及系统。


背景技术:

2.在服务端编程中,缓存是指将数据库的数据加载到内存中,之后对该数据的访问都在内存中完成,从而减少了对数据库的访问。根据缓存是否与应用进程属于同一进程,可以将内存分为本地缓存和分布式缓存。
3.本地缓存是在同一个进程内的内存空间中缓存数据,数据读写都是在同一个进程内完成;分布式缓存是一个独立部署的进程并且一般都是与应用进程部署在不同的机器,故需要通过网络来完成分布式缓存数据读写操作的数据传输。而现有技术中,尚不存在结合本地缓存和分布式缓存,对数据库中的数据进行加载的技术方案。


技术实现要素:

4.本发明的目的是提供一种分布式内存缓存的数据同步方法及系统,基于分布式缓存对本地内存中存储的数据进行更新,使得数据同步更加便捷高效。
5.为实现上述目的,本发明提供了如下方案:
6.本发明提供的一种分布式内存缓存的数据同步方法,包括:
7.获取远程文件的版本号和本地文件的版本号;所述远程文件为位于分布式缓存中的文件;所述本地文件为位于本地缓存中的文件;
8.判断所述远程文件的版本号与所述本地文件的版本号是否一致;
9.当所述远程文件的版本号与所述本地文件的版本号不一致时,根据目标文件的版本号更新所述本地文件的版本号,根据所述目标文件的数据更新所述本地文件的数据;所述目标文件为位于数据库中的文件。
10.可选地,所述获取远程文件的版本号,具体包括:
11.查询目标文件的版本号;
12.判断所述目标文件的版本号与所述远程文件的版本号是否一致;
13.当所述目标文件的版本号与所述远程文件的版本号不一致时,将所述远程文件的版本号更新为所述目标文件的版本号。
14.可选地,所述分布式内存缓存的数据同步方法,还包括:
15.获取数据更新指令;
16.根据所述数据更新指令对目标文件的数据进行更新,并对所述目标文件的版本号进行更新。
17.可选地,所述获取远程文件的版本号和本地文件的版本号,具体包括:
18.通过同步或者异步的方式,获取远程文件的版本号和本地文件的版本号。
19.本发明提供的一种分布式内存缓存的数据同步方法,包括:
20.获取目标文件的版本号和远程文件的版本号;所述目标文件为位于数据库中的文件;所述远程文件为位于分布式缓存中的文件;
21.判断所述目标文件的版本号与所述远程文件的版本号是否一致;
22.当所述目标文件的版本号与所述远程文件的版本号不一致时,根据所述目标文件的版本号对所述远程文件的版本号进行更新;
23.根据更新后的远程文件的版本号,对本地文件的版本号进行更新;所述本地文件为位于本地缓存中的文件;
24.根据更新后的本地文件的版本号和所述目标文件的数据,对所述本地文件的数据进行更新。
25.为达上述目的,本发明还提供了如下技术方案:
26.本发明提供的一种基于所述的分布式内存缓存的数据同步方法的数据同步系统,包括:
27.版本号获取模块,用于获取远程文件的版本号和本地文件的版本号;所述远程文件为位于分布式缓存中的文件;所述本地文件为位于本地缓存中的文件;
28.版本号判断模块,用于判断所述远程文件的版本号与所述本地文件的版本号是否一致;
29.第一更新模块,用于当所述远程文件的版本号与所述本地文件的版本号不一致时,根据目标文件的版本号更新所述本地文件的版本号,根据所述目标文件的数据更新所述本地文件的数据;所述目标文件为位于数据库中的文件。
30.可选地,在获取远程文件的版本号方面,所述版本号获取模块,具体包括:
31.版本号查询子模块,用于查询目标文件的版本号;
32.判断子模块,用于判断所述目标文件的版本号与所述远程文件的版本号是否一致;
33.更新子模块,用于当所述目标文件的版本号与所述远程文件的版本号不一致时,将所述远程文件的版本号更新为所述目标文件的版本号。
34.可选地,所述分布式内存缓存的数据同步系统,还包括:
35.指令获取模块,用于获取数据更新指令;
36.第二更新模块,用于根据所述数据更新指令对目标文件的数据进行更新,并对所述目标文件的版本号进行更新。
37.根据本发明提供的具体实施例,本发明公开了以下技术效果:
38.本发明提供了一种分布式内存缓存的数据同步方法及系统,当位于分布式缓存中的文件的版本号,与位于本地缓存中的文件的版本号不一致时,即表明位于数据库中的文件的数据发生了修改,需要进一步对应的,对位于本地缓存中的文件的版本号,以及位于本地缓存中的文件的数据进行更新。本发明提供的方案将分布式缓存与本地缓存进行结合,综合本地缓存的访问速度的优点与分布式缓存存储数据量大的优点,实现对大量数据的快速更新和实时同步。
附图说明
39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所
需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
40.图1为本发明实施例一的分布式内存缓存的数据同步方法的流程示意图;
41.图2为本发明实施例一中的初始化步骤的结构示意图;
42.图3为本发明实施例一中同步模式数据查询的结构示意图;
43.图4为本发明实施例一中异步模式数据查询的结构示意图;
44.图5为本发明实施例二的分布式内存缓存的数据同步方法的流程示意图;
45.图6为本发明实施例二中同步更新模式的结构示意图;
46.图7为本发明实施例二中异步更新模式的结构示意图;
47.图8为本发明实施例二中定时更新模式的结构示意图;
48.图9为本发明实施例三的分布式内存缓存的数据同步系统的结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.为使本发明的目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
51.实施例一
52.如图1所示,本实施例提供一种分布式内存缓存的数据同步方法,包括:
53.步骤100,获取远程文件的版本号和本地文件的版本号;所述远程文件为位于分布式缓存中的文件;所述本地文件为位于本地缓存中的文件。
54.具体地,所述获取远程文件的版本号,具体包括:
55.1)查询目标文件的版本号。
56.2)判断所述目标文件的版本号与所述远程文件的版本号是否一致。
57.3)当所述目标文件的版本号与所述远程文件的版本号不一致时,将所述远程文件的版本号更新为所述目标文件的版本号。
58.步骤200,判断所述远程文件的版本号与所述本地文件的版本号是否一致。
59.步骤300,当所述远程文件的版本号与所述本地文件的版本号不一致时,根据目标文件的版本号更新所述本地文件的版本号,根据所述目标文件的数据更新所述本地文件的数据;所述目标文件为位于数据库中的文件。
60.若所述远程文件的版本号与所述本地文件的版本号一致,则控制所述本地缓存不进行数据同步。
61.在具体实施例中,在对数据进行同步之前,首先对所有文件数据进行初始化,如图2所示,所述初始化步骤具体包括:
62.1)对本地缓存进行初始化缓存。
63.2)对数据库中的文件数据进行重复文件的过滤,以及对数据库中已经删除的目标
文件的版本号,进行对应删除。
64.3)在分布式缓存中,基于分布式缓存与数据库的联系,确定时间戳为最新时间戳的文件版本,并将对应的版本号确定为远程文件的版本号。
65.4)记录下本地缓存中时间戳为最新时间戳的版本,并将对应的版本号确定为本地文件的版本号。
66.5)将本地文件中的数据加载到缓存,并构建文件索引。
67.优选地,通过同步或者异步的方式,获取远程文件的版本号和本地文件的版本号,并进一步进行相应数据的查询。
68.如图3所示,为同步模式数据查询,数据查询的具体步骤包括:
69.1)在获取到同步数据查询命令后,在分布式缓存中获取远程文件的版本号,在本地缓存中获取本地文件的版本号。
70.2)对比并判断远程文件的版本号与本地文件的版本号是否一致。
71.3)当远程文件的版本号与本地文件的版本号一致时,直接从本地缓存中调取所要查询的数据。
72.4)当远程文件的版本号与本地文件的版本号不一致时,在数据库中查询与本地文件相对应的目标文件,确定目标文件的最新版本号(高于本地文件的版本号)。
73.5)在分布式缓存中,根据目标文件的最新版本号,对远程文件的版本号进行更新,并进一步对本地缓存中的本地文件的版本号进行更新。
74.6)根据更新后的本地文件的版本号,对应在数据库中调取相应的文件数据,并将其作为查询结果输出。
75.如图4所示,为异步模式数据查询,异步模式数据查询与同步模式数据查询的不同之处在于:在前端应用输入第一异步数据查询命令后,本地缓存和分布式缓存在进行数据查询的同时,前端应用可继续输入第二异步数据查询命令。不同查询命令的输入与对于不同查询命令的响应过程,二者互不影响。
76.进一步地,所述分布式内存缓存的数据同步方法,还包括:获取数据更新指令;根据所述数据更新指令对目标文件的数据进行更新,并对所述目标文件的版本号进行更新。
77.实施例二
78.如图5所示,本实施例提供一种分布式内存缓存的数据同步系统,包括:
79.步骤400,获取目标文件的版本号和远程文件的版本号;所述目标文件为位于数据库中的文件;所述远程文件为位于分布式缓存中的文件。
80.步骤500,判断所述目标文件的版本号与所述远程文件的版本号是否一致。
81.步骤600,当所述目标文件的版本号与所述远程文件的版本号不一致时,根据所述目标文件的版本号对所述远程文件的版本号进行更新。
82.步骤700,根据更新后的远程文件的版本号,对本地文件的版本号进行更新;所述本地文件为位于本地缓存中的文件。
83.步骤800,根据更新后的本地文件的版本号和所述目标文件的数据,对所述本地文件的数据进行更新。
84.具体地,本实施例对数据进行更新时,可以采用同步更新模式和/或异步更新模块,如图6所示,在同步更新模块下,数据同步步骤具体包括:
85.1)在获取前端应用输入的数据同步更新指令后,根据更新指令对数据库中的文件数据进行更新,文件对应的版本号同时进行更新。
86.2)在分布式缓存中,获取并更新远程文件的版本号。
87.3)在本地缓存中获取本地文件当前的版本号,然后根据更新后的远程文件的版本号,对本地文件的版本号进行更新。
88.4)根据更新后的本地文件的版本号,对应在数据库中调取相应的文件数据,并将其更新为本地文件中保存的数据。
89.如图7所示,为异步更新模式,异步更新模式与同步更新模式的不同之处在于:在前端应用输入异步数据同步命令后,一方面对数据库中的文件数据进行更新,另一方面在分布式缓存中获取并更新远程文件的版本号。
90.如图8所示,为定时更新模式,定时更新模式与同步更新模式的不同之处在于:在步骤1)之后,判断数据库的目标文件的版本号与分布式缓存的远程文件的版本号是否一致,若不一致,则获取并更新远程版本号。
91.实施例三
92.如图9所示,本实施例提供一种基于实施例一的分布式内存缓存的数据同步方法的数据同步系统,包括:
93.版本号获取模块101,用于获取远程文件的版本号和本地文件的版本号;所述远程文件为位于分布式缓存中的文件;所述本地文件为位于本地缓存中的文件。
94.版本号判断模块201,用于判断所述远程文件的版本号与所述本地文件的版本号是否一致。
95.第一更新模块301,用于当所述远程文件的版本号与所述本地文件的版本号不一致时,根据目标文件的版本号更新所述本地文件的版本号,根据所述目标文件的数据更新所述本地文件的数据;所述目标文件为位于数据库中的文件。
96.具体地,在获取远程文件的版本号方面,所述版本号获取模块,具体包括:
97.版本号查询子模块,用于查询目标文件的版本号。
98.判断子模块,用于判断所述目标文件的版本号与所述远程文件的版本号是否一致。
99.更新子模块,用于当所述目标文件的版本号与所述远程文件的版本号不一致时,将所述远程文件的版本号更新为所述目标文件的版本号。
100.进一步地,所述分布式内存缓存的数据同步系统,还包括:
101.指令获取模块,用于获取数据更新指令。
102.第二更新模块,用于根据所述数据更新指令对目标文件的数据进行更新,并对所述目标文件的版本号进行更新。
103.优选地,本实施例提供的分布式内存缓存的数据同步系统能够应用于多个服务器或者是计算机实例,以实现基于分布式缓存对本地内存中存储的数据进行更新,使得数据同步更加便捷高效的目的。
104.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
105.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说
明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献