多客户端数据差异化二次缓存及同步的处理方法及系统与流程

文档序号:27394481发布日期:2021-11-15 22:45阅读:207来源:国知局
多客户端数据差异化二次缓存及同步的处理方法及系统与流程

1.本发明涉及大数据传输、数据同步和数据缓存领域,尤其涉及一种多客户端数据差异化二次缓存及同步的处理方法及系统。


背景技术:

2.随着互联网技术的发展,软件系统的数据处理量也越来越大,客户端对应的数据处理的规模也越来越大,数据库要保存的数据也越来越多。由于各种原因,需要对数据库中的数据进行多级缓存,即将数据库中的数据同步到其它业务处理计算机缓存或数据库或者其他客户端中。
3.由于系统的高并发性和高性能的要求,很多系统几乎都会用到数据缓存技术如内存缓存、内存数据库及redis缓存数据库等,但这些缓存技术在应用时都会存在以下问题:如果数据单点缓存,会与数据源直接链接,则会存在数据传输量大或数据更新不灵活等缺点;若数据多点缓存,则会出现难以及时同步和更新的问题;而采用整体数据缓存时,则无法实现单个数据集个性化缓存和多客户端差异化缓存的要求。


技术实现要素:

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.数据源响应于服务端发起的数据集获取请求,将相应的数据集发送到服务端;
41.服务端接收数据集并缓存内存,并将数据集发送至相应的客户端;
42.各客户端接收与自身专属客户端标签配对的数据集并缓存内存。
43.一种多客户端数据差异化二次缓存及同步的处理的装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下的方法步骤:
44.服务端响应于各客户端根据自身业务需求发起的数据集调用请求,若服务端存在相应的缓存数据集则将数据集发送至相匹配的客户端中;若不存在,则向数据源发送数据集获取请求;
45.数据源响应于服务端发起的数据集获取请求,将相应的数据集发送到服务端;
46.服务端接收数据集并缓存内存,并将数据集发送至相应的客户端;
47.各客户端接收与自身专属客户端标签配对的数据集并缓存内存。
48.本发明由于采用了以上技术方案,具有显著的技术效果:
49.通过本发明的方法,能使得大量数据在多点、各客户端同时缓存、差异化缓存,并解决数据源与服务端、服务端与多客户端、客户端与客户端之间的数据同步和及时更新问题;解决不同客户端个性化缓存和数据更新的需求。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
51.图1是本发明的方法的流程示意图;
52.图2是某数据集在某客户端与服务端及数据源间数据同步过程示意图;
53.图3是本发明的系统框架示意图。
具体实施方式
54.下面结合实施例对本发明做进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。
55.实施例1:
56.一种多客户端数据差异化二次缓存及同步的处理方法,如图1所示,包括以下步骤:
57.s100、服务端响应于各客户端根据自身业务需求发起的数据集调用请求,若服务端存在相应的缓存数据集则将数据集发送至相匹配的客户端中;若不存在,则向数据源发
送数据集获取请求;
58.s200、数据源响应于服务端发起的数据集获取请求,将相应的数据集发送到服务端;
59.s300、服务端接收数据集并缓存内存,并将数据集发送至相应的客户端;
60.s400、各客户端接收与自身专属客户端标签配对的数据集并缓存内存。
61.在一个具体实施例中,每个客户端设有专属客户端标签,每个数据集设有专属数据集标签,每个客户端内缓存数据集所携带的专属数据集标签与客户端的专属客户端标签相互配对,并将专属客户端标签与专属数据集标签存储于服务端的标签列表中。另外,每个数据集包括数据、数据校验值及专属数据集标签,所述数据校验值为通过数据校验算法进行运算获得的值,所述数据校验算法选用和校验、奇偶校验、循环冗余校验中的一种或几种,所述专属数据集标签为数据集唯一识别代号。
62.以上为数据请求及二次缓存的过程,还包括了数据更新的过程,将所述数据校验值和专属数据集标签组成数据更新标识,若前后两次的数据校验值不同,则判断数据集产生数据更新,数据更新的过程具体包括以下的步骤:
63.s1、当数据源检测到数据集产生数据更新,则将数据更新标识异步推送至服务端;
64.s2、服务端根据数据更新标识指向的数据集,向数据源发送相应的数据更新请求;
65.s3、数据源组织更新数据并将更新数据推送至服务端;
66.s4、服务端接收更新数据并缓存,基于标签列表将数据更新标识异步推送至相对应的客户端中;
67.s5、客户端接收数据更新标识,根据数据更新标识指向的数据集,将更新对应数据集的请求发送至服务端;
68.s6、服务端将缓存中对应的更新数据发送至客户端;
69.s7、客户端接收数据并更新缓存数据。
70.可以将以上的过程总结为以下两大过程:
71.数据请求及二次缓存过程:客户端发起数据请求,服务端组织数据,如果服务器缓存中存在数据,直接响应请求;如果服务端缓存中数据不存在,向数据源发送数据请求,数据源组织数据并发送到服务端,服务端缓存数据并响应客户端请求。
72.数据更新过程:数据源检测到数据集数据更新,异步推送数据更新标识给服务端,服务端根据更新标识指向的数据集,向数据源发送相应的数据请求,数据源组织数据并响应服务端请求,服务端接收数据集(包括数据、数据校验值和专属数据集标签)更新缓存数据,并根据客户端和数据集存储标签列表记录信息,异步推送更新标识给列表中相对应的客户端,客户端向服务端发送相应的数据请求,服务端组织相应的数据集并响应请求,客户端接收数据并更新缓存,实现客户端、服务端及数据源的数据同步。
73.通过以上数据请求、二次缓存及数据更新的过程,将整个发明可以理解为:本发明将数据源的所有数据集先缓存在服务端服务器内存里,又根据各客户端业务需求不同,将所需部分数据集缓存在各客户端电脑内存里,实现服务端和客户端的数据集二次缓存,同时,服务端根据数据源中数据集的更新通知各客户端,客户端请求更新其对应的数据集,整个详细的过程可以参见以上流程或者附图2所示,本技术所述的数据二次缓存是指数据集在服务端和客户端都缓存。
74.通过本技术的方法,能使得客户端与服务端二次缓存数据,服务端缓存所有数据,客户端缓存其所需数据;数据进行差异化缓存,以数据集为最小单位,实现不同客户端差异化缓存;数据集进行多点缓存,不同客户端和服务端都缓存数据;同一数据集在多客户端和服务端间缓存数据实时同步;数据以数据集为单位实现存储和同步,不同客户端同步的数据各不相同。
75.换句话说,本技术中包括多个客户端,根据各客户端业务需求不同,不同客户端之间缓存数据集各不相同,客户端与服务端缓存数据集也不相同,这就体现出了数据差异化缓存,业务领域不同的客户端所缓存的数据集是不同的。为了能够更好更快捷的实现数据的同步,在服务端会存储所有数据集,各客户端存储其业务所需数据集,为每个客户端设置一个唯一的客户端标签,为每个数据集设置一个唯一的数据集标签,将各客户端缓存的数据集标签和客户端标签配对存储在服务端的标签列表中,如果数据源的数据集产生数据更新,则服务端将根据标签列表中记录的信息,将数据集更新标识推送给各客户端,各客户端接收到更新标识后,再根据更新标签指向的数据集,发送对应的更新请求,获取数据更新缓存数据。本专利所述的数据集由数据、数据校验值和专属数据集标签组成,所述的数据是指数据源里的原始数据,数据校验值是指为保证该数据的完整性进行的一种校验运算后获得的值,其数据校验运算算法可选用和校验、奇偶校验、循环冗余校验等中的一种,所述专属数据集标签为数据集唯一识别代号。而在数据更新的过程中,是通过比对前后两次数据校验值,判别数据是否更新。
76.实施例2:
77.一种多客户端数据差异化二次缓存及同步的处理系统,如图3所示,包括服务端、客户端及数据源;
78.所述服务端,响应于各客户端根据自身业务需求发起的数据集调用请求,若服务端存在相应的缓存数据集则将数据集发送至相匹配的客户端中;若不存在,则向数据源发送数据集获取请求;
79.所述数据源,响应于服务端发起的数据集获取请求,将相应的数据集发送到服务端;
80.所述服务端,用于接收数据集并缓存内存,并将数据集发送至相应的客户端;
81.所述客户端,用于接收与自身专属客户端标签配对的数据集并缓存内存。
82.在一个实施例中,所述数据源,还用于检测数据集产生的数据更新,若数据源检测到数据集产生数据更新,则将数据更新标识异步推送至服务端;
83.所述服务端,还用于根据数据更新标识指向的数据集,向数据源发送相应的数据更新请求;
84.所述数据源,还用于组织更新数据并将更新数据发送至服务端;
85.所述服务端,还用于接收更新数据并缓存,基于标签列表将数据更新标识异步推送至相对应的客户端中;
86.所述客户端,还用于接收数据更新标识,根据数据更新标识指向的数据集,将更新对应数据集的请求发送至服务端;
87.所述服务端,还用于将缓存中对应的更新数据发送至客户端;
88.所述客户端,还用于接收数据并更新缓存数据。
89.整个系统实现的过程也是可以总结为以下两大过程:
90.数据请求及二次缓存过程:客户端发起数据请求,服务端组织数据,如果服务器缓存中存在数据,直接响应请求;如果服务端缓存中数据不存在,则向数据源发送数据请求,数据源组织数据并发送到服务端,服务端缓存数据并响应客户端请求。
91.数据更新过程:数据源检测到数据集数据更新,异步推送数据更新标识给服务端,服务端根据更新标识指向的数据集,向数据源发送相应的数据请求,数据源组织数据并响应服务端请求,服务端接收数据集(包括数据、数据校验值和专属数据集标签)更新缓存数据,并根据客户端和数据集存储标签列表记录信息,异步推送更新标识给列表中相对应的客户端,客户端向服务端发送相应的数据请求,服务端组织相应的数据集并响应请求,客户端接收数据并更新缓存,实现客户端、服务端及数据源的数据同步。
92.通过以上数据请求、二次缓存及数据更新的过程,将整个发明可以理解为:本发明将数据源的所有数据集先缓存在服务端服务器内存里,又根据各客户端业务需求不同,将所需部分数据集缓存在各客户端电脑内存里,实现服务端和客户端的数据集二次缓存,同时,服务端根据数据源中数据集的更新通知各客户端,客户端请求更新其对应的数据集,整个详细的过程可以参见以上流程或者附图2所示,本技术所述的数据二次缓存是指数据集在服务端和客户端都缓存。
93.通过本技术的系统,能实现客户端与服务端二次缓存数据,服务端缓存所有数据,客户端缓存其所需数据;数据差异化缓存,以数据集为最小单位,实现不同客户端的差异化缓存;数据集的多点缓存,不同客户端和服务端都缓存数据;同一数据集在多客户端和服务端间缓存数据实时同步;数据以数据集为单位实现存储和同步,不同客户端同步的数据各不相同。
94.当然,在系统中,每个客户端设有专属客户端标签,每个数据集设有专属数据集标签,每个客户端内缓存数据集所携带的专属数据集标签与客户端的专属客户端标签相互配对,并将专属客户端标签与专属数据集标签存储于服务端的标签列表中。另外,每个数据集包括数据、数据校验值和专属数据集标签,所述数据校验值为通过数据校验算法进行运算获得的值,所述数据校验算法选用和校验、奇偶校验、循环冗余校验中的一种或几种,所述专属数据集标签为数据集唯一识别代号。
95.换句话说,本技术中包括多个客户端,根据各客户端业务需求不同,不同客户端之间缓存数据集各不相同,客户端与服务端缓存数据集也不相同,这就体现出了数据差异化缓存,业务领域不同的客户端所缓存的数据集也是不同的。为了能够更好更快捷的实现数据的同步,在服务端会存储所有数据集,各客户端存储其业务所需数据集,为每个客户端设置一个唯一的客户端标签,为每个数据集设置一个唯一的数据集标签,将各客户端缓存的数据集标签和客户端标签配对存储在服务端的标签列表中,如果数据源的数据集产生数据更新,则服务端将根据标签列表中记录的信息,将数据集更新标识推送给各客户端,各客户端接收到更新标识后,再根据更新标签指向的数据集,发送对应的更新请求,获取数据更新并缓存数据。本专利所述的数据集由数据、数据校验值和专属数据集标签组成,所述的数据是指数据源里的原始数据,数据校验值是指为保证该数据的完整性进行的一种校验运算后获得的值,其数据校验运算算法可选用和校验、奇偶校验、循环冗余校验等中的一种,所述专属数据集标签为数据集唯一识别代号。而在数据更新的过程中,是通过比对前后两次数
据校验值,判别数据是否更新。
96.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同、相似的部分互相参见即可。
97.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
98.本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
99.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
100.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
101.需要说明的是:
102.说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
103.此外,需要说明的是,本说明书中所描述的具体实施例,其零、部件的形状、所取名称等可以不同。凡依本发明专利构思所述的构造、特征及原理所做的等效或简单变化,均包括于本发明专利的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1