CN103873451A - 一种数据同步的方法、设备和系统 - Google Patents
一种数据同步的方法、设备和系统 Download PDFInfo
- Publication number
- CN103873451A CN103873451A CN201210550113.XA CN201210550113A CN103873451A CN 103873451 A CN103873451 A CN 103873451A CN 201210550113 A CN201210550113 A CN 201210550113A CN 103873451 A CN103873451 A CN 103873451A
- Authority
- CN
- China
- Prior art keywords
- client
- data
- metadata
- message
- receiving
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据同步的方法、设备和系统,主要内容包括:目的客户端在接收网络侧发送的携带了包含了元数据标识和更新数据标识的更新对象的同步消息,根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,与现有技术相比,目的客户端通过本地存储的元数据标识与客户端标识之间的对应关系,快速定位发生数据更新的源客户端,提高了数据同步的速率,提高数据网络传输效率,同时减轻服务器的负载。
Description
技术领域
本发明涉及存储领域,尤其涉及一种数据同步的方法、设备和系统。
背景技术
数据是人类的重要财富,用户与用户之间希望通过共享方式获取对方的数据信息;或者一个用户在一台设备中使用的数据信息,同时希望在其他设备中也能使用该数据信息,这些需求使得在现有技术中出现了大量的网络存储产品,这些网络存储产品用于满足不同用户之间数据信息的共享,或者同一用户不同设备之间数据信息的同步。
在现实生活中出现的这些网络存储产品,大多采用客户端与服务器之间的存储架构。其中,服务器作为数据存储池,支持用户随时随地的访问,并同步获取的数据信息;客户端,即每一个用户终端的数据存储设备,获取用户在其他多台终端中更新的数据信息,之前该数据信息已被更新信息的客户端同步至服务器进行存储。
在这些数据存储产品中,客户端中的数据信息需要和服务器中存储的数据信息保持一致,因此,在客户端与服务器之间需要实时进行数据同步。
在现有技术中,假设客户端A与客户端B需要通过服务器实现数据同步,在这种情况下实现数据同步的方法大致包括三种:
第一种方式:
如图1(a)所示,为一种数据同步方法的流程示意图,所述方法包括:
第一步:客户端A向服务器发送更新数据消息,其中,所述更新数据消息中包含了元数据信息和更新数据信息。
第二步:服务器在接收到客户端发送的更新数据消息时,利用所述更新数据消息对本地存储的数据进行更新。
第三步:服务器接收客户端B发送的查询请求消息。
第四步:服务器根据接收到的查询请求消息确定本地是否存在客户端B需要更新的数据信息,在确定存在时,向客户端B发送查询结果消息。
第五步:客户端B在接收到服务器返回的查询结果消息时,从服务器中获取更新数据信息,并对自身存储的数据进行更新。
该方式是现实中比较常用的数据同步方式,但是客户端A的更新数据需要通过服务器方能通知给客户端B,而客户端B只能根据服务器更新的数据进行更新,这样当请求服务器进行数据更新的客户端比较多或客户端与服务器之间网络连接速度不够理想时,将使得客户端B从服务器中下载更新数据的速率较低,影响了客户端A与客户端B之间数据同步的效率。
第二种方式:
第二种方式是在第一种方式的基础上进行了改进,如图1(b)所示,为一种数据同步方法的流程示意图,所述方法包括:
第一步:客户端A向服务器发送更新数据消息,其中,所述更新数据消息中包含了元数据信息和更新数据信息。
第二步:服务器在接收到客户端A发送的更新数据消息时,利用所述更新数据消息对存储的的数据进行更新。
第三步:服务器判断接收到的更新数据消息中是否有客户端B需要更新的数据信息,若有,则向客户端B发送包含更新数据信息的更新数据消息。
改进后的第二种方式相对于第一种方式,服务器需周期性自查每个客户端的更新消息,且依然具有第一种方式的缺点。
第三种方式:
第三种方式是在第一种方式和第二种方式的基础上进行改进的方式,如图1(c)所示,为一种数据同步的方法的流程示意图,所述方法包括:
第一步:客户端A向服务器发送更新数据消息,其中,所述更新数据消息中包含了元数据信息和更新数据信息。
第二步:服务器在接收到客户端发送的更新数据消息时,利用所述更新数据消息对存储的数据进行更新。
第三步:服务器接收客户端B发送的查询请求消息。
第四步:服务器确定本地是否存在客户端B需要的更新数据信息,并在确定存在时,向客户端B发送查询结果消息,所述查询结果消息中包含了客户端A的IP地址。
第五步:客户端B在接收到服务器返回的查询结果消息,根据查询结果中国携带的IP地址,向客户端A发送携带了更新数据标识的下载数据请求消息,并在实现与客户端A的链接时,对自身的数据进行更新。
虽然在第三种方式中,客户端A与客户端B执行数据同步时,不需要在经过服务器,相对于第一种方式和第二种方式,减轻了服务器的负载,但是由于无法准确了解客户端之间网络连接状态信息,一旦客户端A与客户端B之间的网络连接性能较差,依然存在客户端B与客户端A之间进行数据同步的速率低,进一步影响客户端A与客户端B之间数据同步的效率的问题。
由此可见,在现有技术中,客户端之间进行数据同步时存在数据同步效率低的问题。
发明内容
本发明提供了一种数据同步的方法、设备和系统,用于解决现有技术中客户端之间进行数据同步时存在数据同步效率低的问题。
一种数据同步的方法,包括:
目的客户端接收网络侧发送的携带了更新对象的同步消息,其中,所述更新对象包含了元数据标识和更新数据标识;
目的客户端根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识;
目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
一种数据同步的设备,包括:
接收模块,用于接收网络侧发送的携带了更新对象的同步消息,其中,所述更新对象包含了元数据标识和更新数据标识;
确定模块,用于根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识;
同步模块,用于利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
一种数据同步的系统,包括:
网络侧,用于向目的客户端发送携带了同步对象的同步消息;
目的客户端,用于接收网络侧发送的携带了更新对象的同步消息,并根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,其中,所述更新对象包含了元数据标识和更新数据标识;
源客户端,用于向目的客户端发送所述更新数据标识对应的更新数据。
本发明有益效果如下:
本发明实施例目的客户端在接收网络侧发送的携带了包含了元数据标识和更新数据标识的更新对象的同步消息,根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,与现有技术相比,目的客户端通过本地存储的元数据标识与客户端标识之间的对应关系,快速定位发生数据更新的源客户端,提高了数据同步的速率;由于目的客户端与源客户端在局域网内直接进行数据同步,提高数据网络传输效率,同时减轻服务器的负载。
附图说明
图1(a)为一种数据同步方法的流程示意图;
图1(b)为一种数据同步方法的流程示意图;
图1(c)为一种数据同步的方法的流程示意图;
图2为本发明实施例一的一种数据同步的方法的流程图;
图3为本发明实施例二的一种数据同步的方法的流程示意图;
图4为本发明实施例三的一种数据同步的设备的结构示意图;
图5为本发明实施例五的一种数据同步的系统的结构示意图。
具体实施方式
为了实现本发明的目的,本发明实施例提供了一种数据同步的方法、设备和系统,客户端在接收网络侧发送的携带了包含了元数据标识和更新数据标识的更新对象的同步消息,根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,与现有技术相比,目的客户端通过本地存储的元数据标识与客户端标识之间的对应关系,快速定位发生数据更新的源客户端,提高了数据同步的速率;由于目的客户端与源客户端在局域网内直接进行数据同步,提高数据网络传输效率,同时减轻服务器的负载。
需要说明的是,本发明技术方案优先应用于同一局域网内的客户端之间的数据同步。
下面结合说明书附图对本发明各个实施例进行详细描述。
实施例一:
如图2所示,为本发明实施例一的一种数据同步的方法的流程图,所述方法包括:
步骤101:目的客户端接收网络侧发送的携带了更新对象的同步消息。
其中,所述更新对象中包含了元数据标识和更新数据标识。
由于现有技术中存储设备存放数据一般采用分级存储方式,即一级目录内包含了多个二级目录,多级目录形成一个目录树,其中,目录树的根目录称为元数据标识;每一个目录中数据的存放路径称为对象,每一个对象包含了元数据标识和数据标识。
例如:以两级存储为例,根目录为dir,其下存放的某个文件为file1,其中,dir表示元数据标识,dir/file1表示对象。
在步骤101中,在网络侧向目的客户端发送同步消息之前,所述方法还包括:
第一,在源客户端中的数据发生更新时,源客户端向网络侧发送包含了源客户端标识、元数据标识、更新数据标识和更新数据的数据更新消息。
第二,网络侧在接收到源客户端发送的数据更新消息时,根据数据更新消息中携带的源客户端标识、元数据标识和更新数据标识确定待更新的数据。
第三,网络侧利用接收到源客户端发送的数据更新消息中包含的更新数据对确定的待更新的数据进行更新。
第四,网络侧在该数据更新后,将源客户端标识、元数据标识之间的对应关系存储在本地。
第五,网络侧在本地查找包含有与元数据标识相同的除了源客户端标识之外的其他客户端标识,将查找到的客户端标识作为需要进行数据同步的客户端标识。
第六,网络侧接收客户端发送的数据同步查询请求消息,并将该客户端的标识与查找到的需要进行数据同步的客户端标识进行匹配,在确定该客户端需要进行数据同步时,向该客户端发送携带了更新对象的同步消息。
步骤102:目的客户端根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识。
具体地,在步骤102中,所述目的客户端本地存储的元数据标识与客户端标识之间的对应关系的方法包括但不限于以下方式:
第一步:目的客户端接收局域网内除了自身之外的其他客户端广播的数据包。
其中:所述数据包中包含了所述其他客户端的客户端标识与该其他客户端所拥有的元数据标识。
具体地,在目的客户端接收网络侧发送的携带了更新对象的同步消息之前,处于同一局域网的所有客户端以广播的方式向其他客户端发送数据包。
其中,所述数据包中包含了发送数据包的客户端的客户端标识与该客户端本地所拥用的元数据标识。
需要说明的是,每一个元数据标识对应的根目录内的每一个数据的数据标识是唯一的,是包含元数据标识的存放路径。
所述数据包的发送时间可以是定时发送,也可以是周期发送,这里不做限定。
较优地,该数据包中还包含了该客户端的IP地址和该客户端的端口信息。
较优地,目的客户端同样也在局域网内广播数据包,所述数据包中包含了该目的客户端的客户端标识和其所拥有的元数据标识。
需要说明的是,发送数据包的客户端为源客户端,接收数据包的为目的客户端。也就是说,处于同一局域网中的客户端既可以是源客户端,也可以是目的客户端。
第二步:目的客户端将接收到的元数据标识与本地存储的元数据标识进行比较。
具体地,目的客户端在接收到数据包后,读取数据包中的元数据标识,与本地存储的元数据标识进行比较,判断读取的元数据标识是否与存储在本地的元数据标识相匹配(或者相同),在确定读取的元数据标识与本地存储的元数据标识相匹配时,执行第三步。
第三步:目的客户端在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
具体地,目的客户端根据接收到的数据包中包含的元数据标识以及与本地存储的元数据标识进行比较的结果,生成数据资源列表,该数据资源列表中包含了元数据标识以及该元数据标识对应的客户端标识。
如表1所示,为数据资源列表的示意表:
元数据标识 | 客户端标识 |
dir | A、B、D |
share | A |
root | B、D |
com | A、C |
表1
从表1中可以看出,一个元数据既可以是在一个客户端中独有,也可以是至少两个客户端中所有,这样,通过广播方式广播的数据包使得该局域网中的客户端自身维护了整个局域网中客户端中包含元数据的状态信息,为客户端之间数据同步提供依据。
需要说明的是,由于局域网定时广播数据包,保证了客户端内数据列表的实时性,有利于客户端之间数据同步。
较优地,所述数据包中还包括了客户端的IP地址信息,那么目的客户端根据接收到的数据包中包括的元数据标识、客户端的标识和客户端的IP地址信息,以及根据接收到的数据包中包含的元数据标识与本地存储的元数据标识进行比较的结果,建立元数据标识、同一数据包中包含的客户端标识以及该客户端的IP地址信息之间的对应关系。
这样,通过客户端IP地址,可以更加快速地建立客户端之间的通信连接。
步骤103:目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
具体地,在步骤103中,在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,所述方法还包括:
首先,目的客户端根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息。
具体地,目的客户端在确定了接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,可以随机选择一个源客户端进行连接。
其次,目的客户端在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
目的客户端在接收到源客户端返回的拒绝连接消息时,等待设定时长,若在该设定时长内只有一个源客户端,则再次向该源客户端发送同步连接请求消息;若在该设定时长内不止一个源客户端,则可以向其他源客户端发送同步连接请求消息,或者在获取其他的源客户端已经完成同步更新这一信息之后,从更新后的源客户端中选择一个源客户端,并向选择的源客户端发送同步连接请求消息,请求建立同步连接。
其中,所述拒绝连接的消息是源客户端在确定当前接收到的同步连接请求消息的数量大于设定的连接数量时返回给目的客户端的。
所述设定时长是与更新数据的大小相关的,当更新数据容量越大,设定时长越长;反之,设定时长越短。
具体地,源客户端在接收到目的客户端的同步连接请求消息时,确定当前接收到的同步连接请求消息的数量是否大于设定的连接数量。
在确定当前接收到的同步连接请求消息的数量大于设定的连接数量时,向目的客户端返回拒绝连接的消息。
在同步连接建立之后,目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并向源客户端发送数据更新消息。
其中,所述数据更新消息中包含了更新对象和数据更新的时间信息。
源客户端根据所述更新对象,确定本地所述更新对象的更新时间信息,并将确定的更新时间信息与接收到的时间信息进行比较,当比较结果为确定的更新时间信息与接收到的时间信息相匹配时,向目的客户端发送携带更新数据的数据同步消息。
较优地,在目的客户端与源客户端之间数据同步结束之后,目的客户端在局域网内广播数据包,所述数据包中包含了该目的客户端的客户端标识和其所拥有的元数据标识。
这样其他客户端根据接收到的目的客户端广播的数据包,通过元数据标识之间的比较,可以确定其他客户端本地是否包含有与目的客户端拥有的元数据标识相同的元数据标识,若存在相同的元数据标识,且该元数据标识又是其他客户端需要进行数据同步的元数据标识,则其他客户端端可以向该目的客户端发送数据同步的连接请求消息,增加还没有进行数据同步的其他客户端选择进行数据同步的连接路径,加快了数据同步的效率。
通过本发明实施例一的方案,客户端在接收网络侧发送的携带了包含了元数据标识和更新数据标识的更新对象的同步消息,根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,与现有技术相比,目的客户端通过本地存储的元数据标识与客户端标识之间的对应关系,快速定位发生数据更新的源客户端,提高了数据同步的速率;由于目的客户端与源客户端在局域网内直接进行数据同步,提高数据网络传输效率,同时减轻服务器的负载。
实施例二:
如图3所示,为本发明实施例二的一种数据同步的方法的流程示意图,本发明实施例二是与本发明实施例一在同一构思下的数据同步方法。
假设在同一局域网中,包含了客户端A、客户端B、客户端C和服务器,其中,服务器具有一个用于存储客户端A、B和C中数据的资源池,每当客户端中的数据发生变化时,都会向服务器发送数据更新消息,通知服务器对更新的数据进行同步更新。
步骤201:接收广播的数据包。
其中,所述数据包中包含了客户端标识和元数据标识。
具体地,客户端A接收到客户端B和客户端C广播的数据包;客户端B接收到客户端A和客户端C广播的数据包;客户端C接收到客户端A和客户端B广播的数据包。
其中,客户端A广播的数据包中包含了客户端A标识和客户端A中所有的元数据标识;客户端B广播的数据包中包含了客户端B标识和客户端B中所有的元数据标识;客户端C广播的数据包中包含了客户端C标识和客户端C中所有的元数据标识。
假设客户端A中所有的元数据标识为dir、share和com;客户端B中所有的数据资源的标识为dir和root;客户端C中所有的数据资源的标识为com。
步骤202:根据接收到的数据包中包含的元数据标识与本地存储的元数据标识进行比较,生成数据资源列表。
具体地,以客户端A为目的客户端为例,当客户端A接收到客户端B广播的数据包时,读取数据包中的元数据标识dir和root,与本地存储的元数据标识进行比较,判断读取的元数据标识是否与存储在本地的元数据标识相匹配,由此可知,客户端B中的元数据标识dir与客户端A中的元数据标识dir相匹配,在客户端A本地建立元数据标识dir与客户端B标识之间的对应关系,生成客户端A的数据资源列表。
假设此时客户端B中的元数据标识dir下的数据标识为file1的数据进行了更新,并将更新消息发送给服务器,服务器对本地存储的该数据标识对应的数据进行同步更新处理,同时确定客户端A中的该数据需要进行同步更新,并在接收到客户端A发送的心跳包确定客户端A在线时,向客户端A发送同步消息,执行步骤203。
步骤203:客户端A接收服务器发送的携带了更新对象的同步消息。
其中,所述更新对象包含了元数据标识和更新数据标识。
步骤204:客户端A根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识。
具体地,在步骤204中,客户端A根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识B。
步骤205:客户端A利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从客户端B处获取所述更新数据标识对应的更新数据进行数据同步。
较优地,当客户端B拒绝客户端A的同步连接时,客户端A等待设定时长,其间,客户端A可以向其他具有所述元数据标识的除了客户端A和自身的其他客户端(例如:客户端C)发送同步连接请求,若客户端C已对该更新数据标识对应的更新数据进行同步更新,此时,客户端A可以通过客户端C实现对所述更新数据标识对应的数据进行同步更新。
这样,使得客户端之间进行数据同步更加灵活,提高了客户端之间数据同步的效率,提高了网络资源的利用率。
实施例三:
如图4所示,为本发明实施例三的一种数据同步的设备的结构示意图,所述设备包括:接收模块11、确定模块12和同步模块13,其中:
接收模块11,用于接收网络侧发送的携带了更新对象的同步消息,其中,所述更新对象包含了元数据标识和更新数据标识;
确定模块12,用于根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识;
同步模块13,用于利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
较优地,所述设备还包括:建立模块14,其中:
建立模块14,用于在接收网络侧发送的携带了更新对象的同步消息之前,接收局域网内广播的包含了客户端标识与元数据标识的数据包,并将接收到的元数据标识与本地存储的元数据标识进行比较,在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
具体地,所述数据包中还包括了客户端的IP地址信息;
所述建立模块14,具体用于建立元数据标识、同一数据包中包含的客户端标识以及该客户端的IP地址信息之间的对应关系。
较优地,所述设备还包括:同步连接模块15,其中:
同步连接模块15,用于在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息;
在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
在接收到源客户端返回的拒绝连接消息时,等待设定时长,再次向该源客户端发送同步连接请求消息,其中,所述拒绝连接的消息是源客户端在确定当前接收到的同步连接请求消息的数量大于设定的连接数量时返回给目的客户端的。
所述设备还包括:广播模块16,其中:
广播模块,用于在局域网内广播数据包,所述数据包中包含了该目的客户端的客户端标识和其所拥有的元数据标识。
需要说明的是,该数据同步设备既可以是在源客户端上,也可以在目的客户端上,在不同身份的客户端上所起作用的模块不同,这里不做限定。
实施例四:
如图5所示,为本发明实施例五的一种数据同步的系统的结构示意图,所述系统包括:源客户端21、网络侧22和目的客户端23,其中:
网络侧22,用于向目的客户端发送携带了同步对象的同步消息;
目的客户端23,用于接收网络侧发送的携带了更新对象的同步消息,并根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,其中,所述更新对象包含了元数据标识和更新数据标识;
源客户端21,用于向目的客户端发送所述更新数据标识对应的更新数据。
具体地,所述源客户端21,还用于在局域网内广播数据包,所述数据包中包含了源客户端标识与该源客户端所拥有的元数据标识;
所述目的客户端23,还用于接收局域网内源客户端广播的数据包,所述数据包中包含了所述源客户端的客户端标识与该源客户端所拥有的元数据标识,并将接收到的元数据标识与本地存储的元数据标识进行比较,在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
所述源客户端21,还用于在接收到目的客户端发送的同步连接请求消息时,判断当前接收到的同步连接请求消息的数量是否大于设定的连接数量,若大于,则向目的客户端返回拒绝连接消息;否则,向目的客户端返回允许连接消息;
所述目的客户端23,还用于在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息,并在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
在接收到源客户端返回的拒绝连接消息时,等待设定时长,再次向该源客户端发送同步连接请求消息。
较优地,所述同步消息中包含了数据更新的时间信息。
所述源客户端21,还用于在目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据之后,接收目的客户端发送的数据更新消息,其中,所述数据更新消息中包含了更新对象和数据更新的时间信息;
根据所述更新对象,确定本地所述更新对象的更新时间信息,将确定的更新时间信息与接收到的时间信息进行比较,当比较结果为确定的更新时间信息与接收到的时间信息相匹配时,向目的客户端发送携带更新数据的数据同步消息。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种数据同步的方法,其特征在于,包括:
目的客户端接收网络侧发送的携带了更新对象的同步消息,其中,所述更新对象包含了元数据标识和更新数据标识;
目的客户端根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识;
目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
2.如权利要求1所述的方法,其特征在于,在接收网络侧发送的携带了更新对象的同步消息之前,所述方法还包括:
目的客户端接收局域网内除了自身之外的其他客户端广播的数据包,所述数据包中包含了所述其他客户端的客户端标识与该其他客户端所拥有的元数据标识;
目的客户端将接收到的元数据标识与本地存储的元数据标识进行比较;
目的客户端在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
3.如权利要求2所述的方法,其特征在于,所述数据包中还包括了客户端的IP地址信息;
所述建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系,具体包括:
目的客户端建立元数据标识、同一数据包中包含的客户端标识以及该客户端的IP地址信息之间的对应关系。
4.如权利要求3所述的方法,其特征在于,所述在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,所述方法还包括:
目的客户端根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息;
目的客户端在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
目的客户端在接收到源客户端返回的拒绝连接消息时,等待设定时长,再次向该源客户端发送同步连接请求消息,其中,所述拒绝连接的消息是源客户端在确定当前接收到的同步连接请求消息的数量大于设定的连接数量时返回给目的客户端的。
5.如权利要求1~4任一所述的方法,其特征在于,所述同步消息中包含了数据更新的时间信息;
在目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,所述方法还包括:
源客户端接收目的客户端发送的数据更新消息,其中,所述数据更新消息中包含了更新对象和数据更新的时间信息;
源客户端根据所述更新对象,确定本地所述更新对象的更新时间信息;
源客户端将确定的更新时间信息与接收到的时间信息进行比较,当比较结果为确定的更新时间信息与接收到的时间信息相匹配时,向目的客户端发送携带更新数据的数据同步消息。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
目的客户端在局域网内广播数据包,所述数据包中包含了该目的客户端的客户端标识和其所拥有的元数据标识。
7.一种数据同步的设备,其特征在于,包括:
接收模块,用于接收网络侧发送的携带了更新对象的同步消息,其中,所述更新对象包含了元数据标识和更新数据标识;
确定模块,用于根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识;
同步模块,用于利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步。
8.如权利要求7所述的设备,其特征在于,所述设备还包括:
建立模块,用于在接收网络侧发送的携带了更新对象的同步消息之前,接收局域网内广播的包含了客户端标识与元数据标识的数据包,并将接收到的元数据标识与本地存储的元数据标识进行比较,在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
9.如权利要求8所述的设备,其特征在于,所述数据包中还包括了客户端的IP地址信息;
所述建立模块,具体用于建立元数据标识、同一数据包中包含的客户端标识以及该客户端的IP地址信息之间的对应关系。
10.如权利要求7所述的设备,其特征在于,所述设备还包括:
同步连接模块,用于在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息;
在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
在接收到源客户端返回的拒绝连接消息时,等待设定时长,再次向该源客户端发送同步连接请求消息,其中,所述拒绝连接的消息是源客户端在确定当前接收到的同步连接请求消息的数量大于设定的连接数量时返回给目的客户端的。
11.如权利要求7~10任一所述的设备,其特征在于,所述设备还包括:
广播模块,用于在局域网内广播数据包,所述数据包中包含了该目的客户端的客户端标识和其所拥有的元数据标识。
12.一种数据同步的系统,其特征在于,包括:
网络侧,用于向目的客户端发送携带了同步对象的同步消息;
目的客户端,用于接收网络侧发送的携带了更新对象的同步消息,并根据本地存储的元数据标识与客户端标识之间的对应关系,确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识,利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据,并从源客户端处获取所述更新数据标识对应的更新数据进行数据同步,其中,所述更新对象包含了元数据标识和更新数据标识;
源客户端,用于向目的客户端发送所述更新数据标识对应的更新数据。
13.如权利要求12所述的系统,其特征在于,
所述源客户端,还用于在局域网内广播数据包,所述数据包中包含了源客户端标识与该源客户端所拥有的元数据标识;
所述目的客户端,还用于接收局域网内源客户端广播的数据包,所述数据包中包含了所述源客户端的客户端标识与该源客户端所拥有的元数据标识,并将接收到的元数据标识与本地存储的元数据标识进行比较,在比较结果为接收到的元数据标识与本地存储的元数据标识相同时,在本地建立该元数据标识与接收到同一数据包中包含的客户端标识之间的对应关系。
14.如权利要求13所述的系统,其特征在于,
所述源客户端,还用于在接收到目的客户端发送的同步连接请求消息时,判断当前接收到的同步连接请求消息的数量是否大于设定的连接数量,若大于,则向目的客户端返回拒绝连接消息;否则,向目的客户端返回允许连接消息;
所述目的客户端,还用于在确定接收到的同步消息中更新对象包含的元数据标识对应的源客户端标识之后,从源客户端处获取所述更新数据标识对应的更新数据进行数据同步之前,根据存储的客户端标识与客户端的IP地址信息之间的对应关系,查找所述源客户端标识对应的源客户端的IP地址信息,并向所述IP地址信息对应的源客户端发送同步连接请求消息,并在接收到源客户端返回的允许连接消息时,与该源客户端建立同步连接;
在接收到源客户端返回的拒绝连接消息时,等待设定时长,再次向该源客户端发送同步连接请求消息。
15.如权利要求14所述的系统,其特征在于,所述同步消息中包含了数据更新的时间信息;
所述源客户端,还用于在目的客户端利用接收到的同步消息中更新对象包含的更新数据标识确定本地待更新的数据之后,接收目的客户端发送的数据更新消息,其中,所述数据更新消息中包含了更新对象和数据更新的时间信息;
根据所述更新对象,确定本地所述更新对象的更新时间信息,将确定的更新时间信息与接收到的时间信息进行比较,当比较结果为确定的更新时间信息与接收到的时间信息相匹配时,向目的客户端发送携带更新数据的数据同步消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210550113.XA CN103873451B (zh) | 2012-12-17 | 2012-12-17 | 一种数据同步的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210550113.XA CN103873451B (zh) | 2012-12-17 | 2012-12-17 | 一种数据同步的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873451A true CN103873451A (zh) | 2014-06-18 |
CN103873451B CN103873451B (zh) | 2017-03-29 |
Family
ID=50911580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210550113.XA Active CN103873451B (zh) | 2012-12-17 | 2012-12-17 | 一种数据同步的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873451B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065726A (zh) * | 2014-06-25 | 2014-09-24 | 珠海市杰理科技有限公司 | 客户端数据更新方法及系统 |
CN104702703A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种数据更新方法及装置 |
CN104881766A (zh) * | 2015-05-07 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种分布式仓储数据处理方法、设备和系统 |
CN105577778A (zh) * | 2015-12-18 | 2016-05-11 | 北京奇虎科技有限公司 | 一种用于网络记录同步的方法、终端及网络服务器 |
CN105763587A (zh) * | 2014-12-18 | 2016-07-13 | 中国移动通信集团公司 | 一种数据同步方法及装置 |
CN105933393A (zh) * | 2016-04-12 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种局域网内数据同步方法及其装置、用户终端 |
CN106033452A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种数据更新方法及装置 |
CN106357539A (zh) * | 2015-07-17 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种数据获取方法和设备 |
CN106487892A (zh) * | 2016-10-11 | 2017-03-08 | 深圳市海云天科技股份有限公司 | 数据处理方法及系统 |
WO2017092351A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 缓存数据的更新方法及装置 |
CN108427689A (zh) * | 2017-02-15 | 2018-08-21 | 北京国双科技有限公司 | 信息获取方法和装置 |
CN108960378A (zh) * | 2018-08-08 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种数据下载方法、系统、装置和存储介质 |
CN110019256A (zh) * | 2017-08-03 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置 |
CN110297598A (zh) * | 2018-03-23 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种数据同步方法及存储系统 |
CN110969458A (zh) * | 2018-09-29 | 2020-04-07 | 武汉斗鱼网络科技有限公司 | 一种客户端集群的积分方法、客户端及系统 |
CN111105216A (zh) * | 2019-12-27 | 2020-05-05 | 中水北方勘测设计研究有限责任公司 | 基于局域网络的电缆统计方法及应用 |
CN111866133A (zh) * | 2020-07-20 | 2020-10-30 | 成都民航空管科技发展有限公司 | 一种多源大批量客户端数据同步方法及系统 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN114338398A (zh) * | 2021-12-30 | 2022-04-12 | 北京市商汤科技开发有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN114338398B (zh) * | 2021-12-30 | 2024-06-07 | 北京市商汤科技开发有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743022B2 (en) * | 2003-02-28 | 2010-06-22 | Microsoft Corporation | Method and system for synchronizing data shared among peer computing devices |
CN101232514A (zh) * | 2008-01-24 | 2008-07-30 | 创新科存储技术(深圳)有限公司 | 网络附加存储节点的元数据同步方法及网络附加存储节点 |
KR101430517B1 (ko) * | 2008-01-31 | 2014-08-19 | 삼성전자주식회사 | 복수의 데이터 통신장치들 간의 데이터 동기 방법 |
-
2012
- 2012-12-17 CN CN201210550113.XA patent/CN103873451B/zh active Active
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065726B (zh) * | 2014-06-25 | 2018-04-24 | 珠海市杰理科技股份有限公司 | 客户端数据更新方法及系统 |
CN104065726A (zh) * | 2014-06-25 | 2014-09-24 | 珠海市杰理科技有限公司 | 客户端数据更新方法及系统 |
CN105763587A (zh) * | 2014-12-18 | 2016-07-13 | 中国移动通信集团公司 | 一种数据同步方法及装置 |
CN106033452A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种数据更新方法及装置 |
CN106033452B (zh) * | 2015-03-17 | 2019-06-25 | 阿里巴巴集团控股有限公司 | 一种数据更新方法及装置 |
CN104702703A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种数据更新方法及装置 |
CN104881766A (zh) * | 2015-05-07 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种分布式仓储数据处理方法、设备和系统 |
CN106357539A (zh) * | 2015-07-17 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种数据获取方法和设备 |
WO2017012475A1 (zh) * | 2015-07-17 | 2017-01-26 | 阿里巴巴集团控股有限公司 | 一种数据获取方法和设备 |
CN106357539B (zh) * | 2015-07-17 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 一种数据获取方法和设备 |
WO2017092351A1 (zh) * | 2015-12-01 | 2017-06-08 | 乐视控股(北京)有限公司 | 缓存数据的更新方法及装置 |
CN105577778A (zh) * | 2015-12-18 | 2016-05-11 | 北京奇虎科技有限公司 | 一种用于网络记录同步的方法、终端及网络服务器 |
WO2017177621A1 (zh) * | 2016-04-12 | 2017-10-19 | 乐视控股(北京)有限公司 | 一种局域网内数据同步方法及其装置、用户终端 |
CN105933393A (zh) * | 2016-04-12 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种局域网内数据同步方法及其装置、用户终端 |
CN106487892A (zh) * | 2016-10-11 | 2017-03-08 | 深圳市海云天科技股份有限公司 | 数据处理方法及系统 |
CN108427689A (zh) * | 2017-02-15 | 2018-08-21 | 北京国双科技有限公司 | 信息获取方法和装置 |
CN110019256A (zh) * | 2017-08-03 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据处理方法和装置 |
CN110297598B (zh) * | 2018-03-23 | 2022-12-13 | 中移(苏州)软件技术有限公司 | 一种数据同步方法及存储系统 |
CN110297598A (zh) * | 2018-03-23 | 2019-10-01 | 中移(苏州)软件技术有限公司 | 一种数据同步方法及存储系统 |
CN108960378A (zh) * | 2018-08-08 | 2018-12-07 | 腾讯科技(深圳)有限公司 | 一种数据下载方法、系统、装置和存储介质 |
CN110969458A (zh) * | 2018-09-29 | 2020-04-07 | 武汉斗鱼网络科技有限公司 | 一种客户端集群的积分方法、客户端及系统 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111105216A (zh) * | 2019-12-27 | 2020-05-05 | 中水北方勘测设计研究有限责任公司 | 基于局域网络的电缆统计方法及应用 |
CN111105216B (zh) * | 2019-12-27 | 2023-08-25 | 中水北方勘测设计研究有限责任公司 | 基于局域网络的电缆统计方法及应用 |
CN111866133A (zh) * | 2020-07-20 | 2020-10-30 | 成都民航空管科技发展有限公司 | 一种多源大批量客户端数据同步方法及系统 |
CN114338398A (zh) * | 2021-12-30 | 2022-04-12 | 北京市商汤科技开发有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN114338398B (zh) * | 2021-12-30 | 2024-06-07 | 北京市商汤科技开发有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103873451B (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103873451A (zh) | 一种数据同步的方法、设备和系统 | |
CN103457905B (zh) | 数据同步方法、系统及设备 | |
CN105224609B (zh) | 一种索引查询方法及装置 | |
CN107181686B (zh) | 路由表的同步方法、装置及系统 | |
CN111291079A (zh) | 一种数据的查询方法和装置 | |
CN104284201A (zh) | 一种视频内容的处理方法和装置 | |
US20190327105A1 (en) | Method and apparatus for pushing information | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
CN103326925B (zh) | 一种消息推送方法及装置 | |
CN103312489A (zh) | 一种终端与服务器进行同步的方法和装置 | |
US11463376B2 (en) | Resource distribution method and apparatus in Internet of Things, device, and storage medium | |
CN104348859A (zh) | 文件同步方法、装置、服务器、终端及系统 | |
CN103731507A (zh) | 一种分布式数据存储设备处理数据的方法及装置 | |
CN113452808A (zh) | 域名解析方法、装置、设备及存储介质 | |
US10810269B2 (en) | Method and system for second-degree friend query | |
AU2013397053A1 (en) | Content sharing method and social synchronization apparatus | |
CN104868939A (zh) | 一种基于蓝牙的终端间同步方法及装置 | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN103220331B (zh) | 一种发送大量图片方法及移动智能终端 | |
CN101344882A (zh) | 数据查询方法、插入方法及删除方法 | |
AU2011358857B2 (en) | Method and apparatus for managing content in a processing device | |
CN102075584A (zh) | 一种分布式文件系统及其访问方法 | |
CN103186542A (zh) | 一种数据查询的方法及装置 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |