CN116668465A - 一种数据同步方法、装置、计算机设备和存储介质 - Google Patents
一种数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116668465A CN116668465A CN202310949840.1A CN202310949840A CN116668465A CN 116668465 A CN116668465 A CN 116668465A CN 202310949840 A CN202310949840 A CN 202310949840A CN 116668465 A CN116668465 A CN 116668465A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- proxy
- storage
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012544 monitoring process Methods 0.000 claims abstract description 159
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 16
- 239000003795 chemical substances by application Substances 0.000 description 31
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据同步方法、装置、计算机设备和存储介质。所述方法包括:代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理。采用本方法能够降低数据同步中的延时。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据同步方法、装置、计算机设备和存储介质。
背景技术
随着信息时代的发展,保证数据的一致性尤为重要。目前,对于客户端的数据同步主要通过轮询的方式进行,即客户端需要每间隔一定时间请求服务器查询是否数据存在变化,然后再根据变化的数据进行数据同步,这就导致客户端在对服务器的数据进行同步时,存在一定的延时。
发明内容
基于此,提供一种数据同步方法、装置、计算机设备和存储介质,解决现有技术中数据同步存在延时的问题。
一方面,提供一种数据同步方法,所述方法包括:代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理。
在其中一个实施例中,代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听,包括:代理端获取来自客户端的第一数据监听信息,其中,所述第一数据监听信息包括所述客户端的第一身份标识符和待监听的第一数据的第一关键字;所述代理端根据所述第一身份标识符与所述第一关键字建立所述客户端与所述第一数据的第一监听连接,以使所述客户端根据所述第一监听连接监听存储端的所述第一数据。
在其中一个实施例中,所述客户端根据所述第一监听连接监听存储端的所述第一数据,包括:所述代理端接收并响应于所述客户端的第一监听连接,发送第二数据监听信息至存储端,以使所述存储端根据所述第二数据监听信息建立与所述代理端的第二监听连接;所述代理端根据所述第二监听连接监听所述存储端的所述第一数据,获得监听结果;所述代理端根据所述第一监听连接向所述客户端反馈所述监听结果。
在其中一个实施例中,在代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听之后,若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理之前,还包括:所述代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,所述第一数据包括第一关键字和对应的第一数据值;所述代理端将所述第一数据发送至所述客户端,以使所述客户端将所述第一关键字和对应的所述第一数据值存储于客户端存储地址中。
在其中一个实施例中,若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理,包括:若所述存储端的所述第一数据值对应的第一关键字发生变化,则所述代理端获取变化后的第二关键字,并根据所述第二关键字获得对应的第二数据值;比较所述代理端存储地址中的第一数据值与第二数据值是否相等;若否,则所述代理端将所述代理端存储地址中的第一数据更新为所述第二数据,并将所述第二关键字发送至所述客户端,以使所述客户端进行数据同步处理。
在其中一个实施例中,将所述第二关键字发送至所述客户端,以使所述客户端进行数据同步处理,包括:所述代理端将所述第二关键字发送至所述客户端,以提示所述客户端发生所述第一数据发生变化;所述代理端根据所述第二关键字发送所述代理端存储地址中的第二数据值至所述客户端,以使所述客户端比较所述第二数据值与所述客户端存储地址中的第一数据值是否相等,若否,则所述客户端将所述客户端存储地址中的第一数据更新为所述第二数据。
在其中一个实施例中,所述代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,所述第一数据包括第一关键字和对应的第一数据值,包括:所述代理端获取来自存储端的第一数据的第一关键字,并根据所述第一关键字确认所述存储端的第一数据值是否存在;若存在,则所述代理端根据所述第一关键字获得所述第一数据值。
另一方面,提供了一种数据同步装置,所述装置包括:数据监听模块,用于代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;数据同步模块,用于若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理。
上述数据同步方法、装置、计算机设备和存储介质,通过代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理,因此,本申请的有益效果为降低了数据同步的延时。
附图说明
图1为一个实施例中数据同步方法的应用环境图;
图2为一个实施例中数据同步方法的流程示意图;
图3为一个实施例中数据同步装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据同步方法,可以应用于如图1所示的应用环境中。其中,终端101与服务器102通过网络进行通信。代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理,从而降低了数据同步的延时。客户端可以是终端101,终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,客户端的机器也可以是服务类型的机器。服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据同步方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤201,代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;
步骤202,若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理。
上述数据同步方法中,通过代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理,从而降低了数据同步的延时。
在步骤201中,示例性地说明,代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听,例如,在存储端,可以通过关键字写入/读取整条数据记录,并通过hashmap或者btree或者mysql等方式对数据进行存储,从而使存储端将数据持久化存储。进一步的,该数据可以不使用日志序列信息。因此,在一些实施过程中,存储端可以从服务端获取第一数据,该第一数据包括相应的第一关键字和第一数据值。为了使客户端对存储端的数据实现监听,客户端首先发送第一数据监听信息给代理端,用于监听代理端的数据变化,相应的,代理端根据第一数据监听信息监听存储端的数据变化,并将监听结果反馈给客户端,从而实现客户端的数据监听。其中,第一数据监听信息可以用于识别执行监听的客户端和待监听的第一数据,代理端不持久化存储数据,仅缓存存储端的数据。
在步骤202中,示例性地说明,若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理,例如,存储端的第一数据变化后提示代理端,代理端再从存储端获取变化后的第二数据;然后代理端提示客户端第一数据发生变化后,将获得的第二数据发送至客户端,客户端根据第二数据判断第一数据是否发生变化,若是,则客户端将第一数据更新为第二数据,以实现数据同步。由于该方式通过客户端对代理端的实时监听和代理端对存储端的实时监听的方式获取存储端第一数据变化的情况,避免了轮询产生的延时,在一定程度上确保了数据同步的一致性。
作为上述实施例的一种具体实现方式,代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听,包括:代理端获取来自客户端的第一数据监听信息,其中,第一数据监听信息包括客户端的第一身份标识符和待监听的第一数据的第一关键字;代理端根据第一身份标识符与第一关键字建立客户端与第一数据的第一监听连接,以使客户端根据第一监听连接监听存储端的第一数据。
需要说明的是,第一数据监听信息可以是包括客户端的第一身份标识符(Identity,ID)和待监听的第一数据的第一关键字的信息,其中,第一身份标识符用于识别执行数据监听和数据同步的客户端,第一关键字用于识别需要监听的第一数据。例如,服务端在向存储端下发数据时,可以通过键值对的形式下发,使得数据中包括关键字和对应的数据值,关键字用于识别该数据。客户端向代理端发送自身的第一身份标识符和需要监听的第一数据的第一关键字,从而在代理端建立客户端与第一数据之间的第一监听连接,用于监听代理端的第一数据,相应的,代理端想存储端发送自身的第二身份标识符和需要监听的第一数据的第二关键字,从而在存储端建立代理端与第一数据之间的第二监听连接,从而使客户端通过代理端间接监听存储端的第一数据的变化。需要说明的是,该第一数据可以包含多个数据,第一关键字包含多个关键字,即客户端和/或代理端可以同时监听多个数据的变化。在一些实施过程中,存储端管理来自代理端的第二身份标识符和第一关键字,具体的,存储端维护两个内存,可以通过hashmapH1和hashmapH2实现,其中,hashmapH1可以是键为第一关键字,值为第二身份标识符的列表的数组,hashmapH2可以是键为第二身份标识符,值为第一关键字的列表的数组。当代理端对存储端进行监听时,存储端遍历有权限的第一关键字的列表,向hashmapH1中插入第一关键字和对应的第二身份标识符,向hashmapH2中插入第二身份标识符和对应的有权限的第一关键字。相同的,代理端同样管理来自客户端的第一身份标识符和第一关键字,在此不再赘述。其中,hashmap是基于哈希表的map接口的实现,用于提供所有可选的映射操作。
进一步需要说明的是,第一监听连接和第二监听连接可以基于长连接通讯协议连接产生的监听连接,即客户端使用长连接通讯协议连接到代理端之后,客户端通过发送第一数据监听信息来对代理端的第一数据进行监听,而代理端使用长连接通讯协议连接到存储端之后,代理端通过发送第二数据监听信息来对存储端的第一数据进行监听。
作为上述实施例的一种具体实现方式,客户端根据第一监听连接监听存储端的第一数据,包括:代理端接收并响应于客户端的第一监听连接,发送第二数据监听信息至存储端,以使存储端根据第二数据监听信息建立与代理端的第二监听连接;代理端根据第二监听连接监听存储端的第一数据,获得监听结果;代理端根据第一监听连接向客户端反馈监听结果。
需要说明的是,在本申请中,需要通过代理端从存储端监听第一数据值是否发生变更并确认监听结果,如果确认第一数据值发生变更,则代理端向客户端反馈第一数据发生变更,客户端再根据代理端的反馈判断第一数据是值否变更,若是,则进行数据同步处理,若否,不进行数据同步处理。相应的,代理端如果确认第一数据值没有发生变更,则不向客户端反馈监听结果。需要说明的是,客户端在对存储端的第一数据间接进行监听前,需要确认客户端需要监听的第一数据的第一关键字,代理端是否已经开始对存储端进行监听,如果已经开始监听,则维持监听,如果还未开始监听,则代理端通过与存储端的长连接通讯协议提示存储端,当前的代理端需要增加对第一关键字的监听。
在一些实施过程中,如果代理端与客户端的长连接通讯协议断开,则代理端删除与该客户端相关的第一监听连接,相应的,如果代理端与存储端的长连接通讯协议断开,则存储端删除与该代理端相关的第二监听连接。
在一些实施过程中,在进行监听的情况下,客户端可以每隔5秒发送一次空信息至代理端,代理端接收到该消息后响应于该消息回复另外一个空消息,以便更新客户端和代理端之间的连接过期时间。在另一些实施过程中,客户端如果有连续10秒未收到存储端发送的相关数据,则关闭该监听连接后重新进行连接。可选的,存储端可以开启传输控制协议(Transmission Control Protocol,TCP)的存活检测机制(keepalive),避免无效连接占用内存资源。
作为上述实施例的一种具体实现方式,在代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听之后,若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理之前,还包括:代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,第一数据包括第一关键字和对应的第一数据值;代理端将第一数据发送至客户端,以使客户端将第一关键字和对应的第一数据值存储于客户端存储地址中。
需要说明的是,在客户端对第一数据监听前,客户端通过长连接通讯协议和第一监听连接从代理端下载第一关键字对应的第一数据值的内容,并且存储于客户端存储地址中,代理端通过长连接通讯协议和第二监听连接从存储端下载第一关键字对应的第一数据值的内容,并且缓存于代理端存储地址中。在一些实施过程中,存储端在收到代理端的第二数据监听信息后,需要使用相应的第一关键字去相应的存储端中获取相应的第一数据的第一关键字和第一数据值,并向代理端反馈该第一数据是否存在,若存在,则向代理端反馈第一关键字和第一数据值。
作为上述实施例的一种具体实现方式,若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理,包括:若存储端的第一数据值对应的第一关键字发生变化,则代理端获取变化后的第二关键字,并根据第二关键字获得对应的第二数据值;比较代理端存储地址中的第一数据值与第二数据值是否相等;若否,则代理端将代理端存储地址中的第一数据更新为第二数据,并将第二关键字发送至客户端,以使客户端进行数据同步处理。
需要说明的是,若存储端的第一数据发生变化,变化后的数据为第二数据,第二数据包括相应的第二关键字和第二数据值,则存储端发送第二关键字至代理端,以告知代理端第一数据发生变化。然后代理端通过第二数据,下载存储端的第二关键字对应的第二数据值。代理端将第一数据值和第二数据值进行比较,若第一数据值和第二数据值相等,则不作处理也不需要告知客户端,若第一数据值和第二数据值不相等,则代理端将第二关键字发送给客户端,用于提示客户端第一数据发生变化。客户端根据第二关键字从代理端获取第二数据值,并将第二数据值与客户端存储地址中的第一数据值进行比较,若第二数据值与客户端存储地址中的第一数据值相等,则客户端将第一数据更新为第二数据。
作为上述实施例的一种具体实现方式,将第二关键字发送至客户端,以使客户端进行数据同步处理,包括:代理端将第二关键字发送至客户端,以提示客户端发生第一数据发生变化;代理端根据第二关键字发送代理端存储地址中的第二数据值至客户端,以使客户端比较第二数据值与客户端存储地址中的第一数据值是否相等,若否,则客户端将客户端存储地址中的第一数据更新为第二数据。
作为上述实施例的一种具体实现方式,代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,第一数据包括第一关键字和对应的第一数据值,包括:代理端获取来自存储端的第一数据的第一关键字,并根据第一关键字确认存储端的第一数据值是否存在;若存在,则代理端根据第一关键字获得第一数据值。
需要说明的是,在一些实施过程中,当客户端数量较少时,可以仅使用一个存储端进行数据收发;在另一些实施过程中,当客户端数量较多时,可以部署多个代理端,分布式完成第一数据的下发,从而进一步降低数据同步的延时。
需要说明的是,上述数据同步方法,可以应用于软件升级进行版本号同步中。软件版本号作为第一数据发送给客户端进行存储,当软件升级时,软件版本号不同,可以进行相应的软件升级。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种数据同步装置,包括:数据监听模块、数据同步模块,其中:数据监听模块,用于代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;数据同步模块,用于若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,数据同步装置还用于代理端获取来自客户端的第一数据监听信息,其中,第一数据监听信息包括客户端的第一身份标识符和待监听的第一数据的第一关键字;代理端根据第一身份标识符与第一关键字建立客户端与第一数据的第一监听连接,以使客户端根据第一监听连接监听存储端的第一数据。
在一个实施例中,数据同步装置还用于代理端接收并响应于客户端的第一监听连接,发送第二数据监听信息至存储端,以使存储端根据第二数据监听信息建立与代理端的第二监听连接;代理端根据第二监听连接监听存储端的第一数据,获得监听结果;代理端根据第一监听连接向客户端反馈监听结果。
在一个实施例中,代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,第一数据包括第一关键字和对应的第一数据值;代理端将第一数据发送至客户端,以使客户端将第一关键字和对应的第一数据值存储于客户端存储地址中。
在一个实施例中,若存储端的第一数据值对应的第一关键字发生变化,则代理端获取变化后的第二关键字,并根据第二关键字获得对应的第二数据值;比较代理端存储地址中的第一数据值与第二数据值是否相等;若否,则代理端将代理端存储地址中的第一数据更新为第二数据,并将第二关键字发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,代理端将第二关键字发送至客户端,以提示客户端发生第一数据发生变化;代理端根据第二关键字发送代理端存储地址中的第二数据值至客户端,以使客户端比较第二数据值与客户端存储地址中的第一数据值是否相等,若否,则客户端将客户端存储地址中的第一数据更新为第二数据。
在一个实施例中,数据同步装置还用于代理端获取来自存储端的第一数据的第一关键字,并根据第一关键字确认存储端的第一数据值是否存在;若存在,则代理端根据第一关键字获得第一数据值。
关于数据同步装置的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据同步数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:代理端获取来自客户端的第一数据监听信息,其中,第一数据监听信息包括客户端的第一身份标识符和待监听的第一数据的第一关键字;代理端根据第一身份标识符与第一关键字建立客户端与第一数据的第一监听连接,以使客户端根据第一监听连接监听存储端的第一数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:代理端接收并响应于客户端的第一监听连接,发送第二数据监听信息至存储端,以使存储端根据第二数据监听信息建立与代理端的第二监听连接;代理端根据第二监听连接监听存储端的第一数据,获得监听结果;代理端根据第一监听连接向客户端反馈监听结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,第一数据包括第一关键字和对应的第一数据值;代理端将第一数据发送至客户端,以使客户端将第一关键字和对应的第一数据值存储于客户端存储地址中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若存储端的第一数据值对应的第一关键字发生变化,则代理端获取变化后的第二关键字,并根据第二关键字获得对应的第二数据值;比较代理端存储地址中的第一数据值与第二数据值是否相等;若否,则代理端将代理端存储地址中的第一数据更新为第二数据,并将第二关键字发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:代理端将第二关键字发送至客户端,以提示客户端发生第一数据发生变化;代理端根据第二关键字发送代理端存储地址中的第二数据值至客户端,以使客户端比较第二数据值与客户端存储地址中的第一数据值是否相等,若否,则客户端将客户端存储地址中的第一数据更新为第二数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:代理端获取来自存储端的第一数据的第一关键字,并根据第一关键字确认存储端的第一数据值是否存在;若存在,则代理端根据第一关键字获得第一数据值。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:代理端获取来自客户端的第一数据监听信息,并根据第一数据监听信息对存储端的第一数据进行监听;若存储端的第一数据发生变化,则代理端获取变化后的第二数据,并将第二数据发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:代理端获取来自客户端的第一数据监听信息,其中,第一数据监听信息包括客户端的第一身份标识符和待监听的第一数据的第一关键字;代理端根据第一身份标识符与第一关键字建立客户端与第一数据的第一监听连接,以使客户端根据第一监听连接监听存储端的第一数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:代理端接收并响应于客户端的第一监听连接,发送第二数据监听信息至存储端,以使存储端根据第二数据监听信息建立与代理端的第二监听连接;代理端根据第二监听连接监听存储端的第一数据,获得监听结果;代理端根据第一监听连接向客户端反馈监听结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,第一数据包括第一关键字和对应的第一数据值;代理端将第一数据发送至客户端,以使客户端将第一关键字和对应的第一数据值存储于客户端存储地址中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若存储端的第一数据值对应的第一关键字发生变化,则代理端获取变化后的第二关键字,并根据第二关键字获得对应的第二数据值;比较代理端存储地址中的第一数据值与第二数据值是否相等;若否,则代理端将代理端存储地址中的第一数据更新为第二数据,并将第二关键字发送至客户端,以使客户端进行数据同步处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:代理端将第二关键字发送至客户端,以提示客户端发生第一数据发生变化;代理端根据第二关键字发送代理端存储地址中的第二数据值至客户端,以使客户端比较第二数据值与客户端存储地址中的第一数据值是否相等,若否,则客户端将客户端存储地址中的第一数据更新为第二数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:代理端获取来自存储端的第一数据的第一关键字,并根据第一关键字确认存储端的第一数据值是否存在;若存在,则代理端根据第一关键字获得第一数据值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种数据同步方法,其特征在于,包括:
代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;
若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理;
代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听,包括:
代理端获取来自客户端的第一数据监听信息,其中,所述第一数据监听信息包括所述客户端的第一身份标识符和待监听的第一数据的第一关键字;
所述代理端根据所述第一身份标识符与所述第一关键字建立所述客户端与所述第一数据的第一监听连接,以使所述客户端根据所述第一监听连接监听存储端的所述第一数据;
所述客户端根据所述第一监听连接监听存储端的所述第一数据,包括:
所述代理端接收并响应于所述客户端的第一监听连接,发送第二数据监听信息至存储端,以使所述存储端根据所述第二数据监听信息建立与所述代理端的第二监听连接;
所述代理端根据所述第二监听连接监听所述存储端的所述第一数据,获得监听结果;
所述代理端根据所述第一监听连接向所述客户端反馈所述监听结果。
2.如权利要求1所述的数据同步方法,其特征在于,在代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听之后,若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理之前,还包括:
所述代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,所述第一数据包括第一关键字和对应的第一数据值;
所述代理端将所述第一数据发送至所述客户端,以使所述客户端将所述第一关键字和对应的所述第一数据值存储于客户端存储地址中。
3.如权利要求2所述的数据同步方法,其特征在于,若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理,包括:
若所述存储端的所述第一数据值对应的第一关键字发生变化,则所述代理端获取变化后的第二关键字,并根据所述第二关键字获得对应的第二数据值;
比较所述代理端存储地址中的第一数据值与第二数据值是否相等;
若否,则所述代理端将所述代理端存储地址中的第一数据更新为所述第二数据,并将所述第二关键字发送至所述客户端,以使所述客户端进行数据同步处理。
4.如权利要求3所述的数据同步方法,其特征在于,将所述第二关键字发送至所述客户端,以使所述客户端进行数据同步处理,包括:
所述代理端将所述第二关键字发送至所述客户端,以提示所述客户端发生所述第一数据发生变化;
所述代理端根据所述第二关键字发送所述代理端存储地址中的第二数据值至所述客户端,以使所述客户端比较所述第二数据值与所述客户端存储地址中的第一数据值是否相等,若否,则所述客户端将所述客户端存储地址中的第一数据更新为所述第二数据。
5.如权利要求2所述的数据同步方法,其特征在于,所述代理端获取来自存储端的第一数据并存储于代理端存储地址中,其中,所述第一数据包括第一关键字和对应的第一数据值,包括:
所述代理端获取来自存储端的第一数据的第一关键字,并根据所述第一关键字确认所述存储端的第一数据值是否存在;
若存在,则所述代理端根据所述第一关键字获得所述第一数据值。
6.一种数据同步装置,其特征在于,包括:
数据监听模块,用于代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听;
数据同步模块,用于若所述存储端的第一数据发生变化,则所述代理端获取变化后的第二数据,并将所述第二数据发送至所述客户端,以使所述客户端进行数据同步处理;
所述数据监听模块用于代理端获取来自客户端的第一数据监听信息,并根据所述第一数据监听信息对存储端的第一数据进行监听,包括:代理端获取来自客户端的第一数据监听信息,其中,第一数据监听信息包括客户端的第一身份标识符和待监听的第一数据的第一关键字;代理端根据第一身份标识符与第一关键字建立客户端与第一数据的第一监听连接,以使客户端根据第一监听连接监听存储端的第一数据;
所述数据监听模块以使客户端根据第一监听连接监听存储端的第一数据,包括:代理端接收并响应于客户端的第一监听连接,发送第二数据监听信息至存储端,以使存储端根据第二数据监听信息建立与代理端的第二监听连接;代理端根据第二监听连接监听存储端的第一数据,获得监听结果;代理端根据第一监听连接向客户端反馈监听结果。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述数据同步方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述数据同步方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310949840.1A CN116668465B (zh) | 2023-07-31 | 2023-07-31 | 一种数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310949840.1A CN116668465B (zh) | 2023-07-31 | 2023-07-31 | 一种数据同步方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116668465A true CN116668465A (zh) | 2023-08-29 |
CN116668465B CN116668465B (zh) | 2023-10-03 |
Family
ID=87715735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310949840.1A Active CN116668465B (zh) | 2023-07-31 | 2023-07-31 | 一种数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116668465B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170012941A1 (en) * | 2015-05-27 | 2017-01-12 | Elastic Beam, Inc. | Methods and systems for api proxy based adaptive security |
CN106790629A (zh) * | 2017-01-03 | 2017-05-31 | 努比亚技术有限公司 | 数据同步装置及其实现数据同步的方法、客户端访问系统 |
CN107995302A (zh) * | 2017-12-11 | 2018-05-04 | 北京恒华伟业科技股份有限公司 | 一种数据同步的系统 |
CN111182024A (zh) * | 2019-11-20 | 2020-05-19 | 视联动力信息技术股份有限公司 | 一种数据同步方法、装置及存储介质 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN115510811A (zh) * | 2021-06-07 | 2022-12-23 | 成都卓拙科技有限公司 | 一种字符串编码、解码方法及编码装置和解码装置 |
-
2023
- 2023-07-31 CN CN202310949840.1A patent/CN116668465B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170012941A1 (en) * | 2015-05-27 | 2017-01-12 | Elastic Beam, Inc. | Methods and systems for api proxy based adaptive security |
CN106790629A (zh) * | 2017-01-03 | 2017-05-31 | 努比亚技术有限公司 | 数据同步装置及其实现数据同步的方法、客户端访问系统 |
CN107995302A (zh) * | 2017-12-11 | 2018-05-04 | 北京恒华伟业科技股份有限公司 | 一种数据同步的系统 |
CN111182024A (zh) * | 2019-11-20 | 2020-05-19 | 视联动力信息技术股份有限公司 | 一种数据同步方法、装置及存储介质 |
WO2022063284A1 (zh) * | 2020-09-28 | 2022-03-31 | 京东科技控股股份有限公司 | 数据同步方法、装置、设备及计算机可读介质 |
CN115510811A (zh) * | 2021-06-07 | 2022-12-23 | 成都卓拙科技有限公司 | 一种字符串编码、解码方法及编码装置和解码装置 |
Non-Patent Citations (4)
Title |
---|
YONG CUI ET.AL: "QuickSync: Improving Synchronization Efficiency for Mobile Cloud Storage Services", 《IEEE TRANSACTIONS ON MOBILE COMPUTING 》, vol. 16, no. 12 * |
姚超: "面向业务规则的分布式数据同步方法的研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, no. 2 * |
张永清: "大数据时代,数据实时同步解决方案的思考", 《博客园:HTTPS://WWW.CNBLOGS.COM/LAOQING/P/11359224.HTML》 * |
谈永奇, 齐望东, 刁兴春: "一种跨越不同安全域的数据同步方案的设计与实现", 解放军理工大学学报(自然科学版), no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN116668465B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008118B (zh) | 页面数据测试方法、装置、计算机设备和存储介质 | |
CN110602169B (zh) | 服务调用方法、装置、计算机设备和存储介质 | |
WO2020233352A1 (zh) | 区块链数据入链方法、装置、计算机设备和存储介质 | |
CN111143462A (zh) | 数据导出的方法、装置、计算机设备和存储介质 | |
CN109144487B (zh) | 进件业务开发方法、装置、计算机设备和存储介质 | |
CN110555041A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US11018860B2 (en) | Highly available and reliable secret distribution infrastructure | |
CN112423281B (zh) | 无线模组升级方法、装置、计算机设备和存储介质 | |
CA3128540A1 (en) | Cache system hotspot data access method, apparatus, computer device and storage medium | |
WO2018082079A1 (zh) | 数据对接动态管理方法及装置 | |
CN112783866B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN116668465B (zh) | 一种数据同步方法、装置、计算机设备和存储介质 | |
CN110557398B (zh) | 服务请求控制方法、装置、系统、计算机设备和存储介质 | |
CN113486060A (zh) | 数据访问处理方法和装置、存储介质及电子设备 | |
KR20210044281A (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
CN110928598B (zh) | 系统配置方法、装置、计算机设备和存储介质 | |
CN110659309B (zh) | 内存数据库通信方法、装置、服务器以及存储介质 | |
CN114138895A (zh) | 多数据源的数据同步方法、装置、计算机设备和存储介质 | |
CN113568652A (zh) | 应用系统处理方法、装置、计算机设备和存储介质 | |
CN110879757B (zh) | 客户端异常运行时的重启方法、装置和计算机设备 | |
CN113992735A (zh) | 一种mqtt连接系统及其连接方法、服务器和存储介质 | |
CN113360809A (zh) | 页面数据更新方法、装置、计算机设备及存储介质 | |
CN113051008A (zh) | 接口请求处理方法、装置、计算机设备和存储介质 | |
CN115604041B (zh) | 安全代理方法、系统、装置、计算机设备和存储介质 | |
CN111209187B (zh) | 业务请求处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |