CN111324660B - 数据同步方法、装置、电子设备及机器可读存储介质 - Google Patents
数据同步方法、装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN111324660B CN111324660B CN201910785511.1A CN201910785511A CN111324660B CN 111324660 B CN111324660 B CN 111324660B CN 201910785511 A CN201910785511 A CN 201910785511A CN 111324660 B CN111324660 B CN 111324660B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- incremental
- delta
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000006835 compression Effects 0.000 claims description 45
- 238000007906 compression Methods 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 18
- 239000012634 fragment Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013467 fragmentation Methods 0.000 claims description 4
- 238000006062 fragmentation reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 13
- 238000012546 transfer Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种数据同步方法、装置、电子设备及机器可读存储介质,该方法包括:读取从数据生成方设备下载的第一数据索引文件,第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;当第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分;从所述数据生成方设备下载所述增量文件的新增部分,并根据所述增量文件的新增部分进行增量数据同步。该方法可以提高是否需要进行数据同步的辨识度,并可以减少数据同步带来的网络流量消耗。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据同步方法、装置、电子设备及机器可读存储介质。
背景技术
目前主要的数据同步方案中分别通过全量同步和增量同步的方式进行数据同步。
为了确定是否需要进行数据同步,需要双方设备分别通过比较全量数据信息和增量数据信息来确定,是否需要同步的辨识度较低。
此外,当需要进行增量数据同步时,需要获取全部的增量数据进行增量同步。当数据变化频繁时,增量同步带来的网络流量消耗将会很大。
发明内容
有鉴于此,本申请提供一种数据同步方法、装置、电子设备及机器可读存储介质。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种数据同步方法,包括:
获取数据索引文件,并根据所述数据索引文件确定是否需要进行增量更新;
当确定需要进行增量更新时,根据所述数据索引文件确定增量更新数据;
获取所述增量更新数据,并根据所述增量更新数据进行增量数据同步。
根据本申请实施例的第二方面,提供一种数据同步方法,包括:
读取从数据生成方设备下载的第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;
当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分;
从所述数据生成方设备下载所述增量文件的新增部分,并根据所述增量文件的新增部分进行增量数据同步。
根据本申请实施例的第三方面,提供一种数据同步装置,包括:
获取单元,用于获取数据索引文件;
确定单元,用于根据所述数据索引文件确定是否需要进行增量更新;
所述确定单元,还用于当确定需要进行增量更新时,根据所述数据索引文件确定增量更新数据;
下载单元,用于获取所述增量更新数据;
同步单元,用于根据所述增量更新数据进行增量数据同步。
根据本申请实施例的第四方面,提供一种数据同步装置,包括:
读取单元,用于读取从数据生成方设备下载的第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;
比较单元,用于比较所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息,以及比较所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息;
确定单元,用于当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分;
下载单元,用于从所述数据生成方设备下载所述增量文件的新增部分;
同步单元,用于根据所述增量文件的新增部分进行增量数据同步。
根据本申请实施例的第五方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面或第二方面提供的数据同步方法。
根据本申请实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面提供的数据同步方法。
本申请实施例的数据同步方法,通过读取从数据生成方设备下载的第一数据索引文件,当第一数据索引文件中包括的第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一数据索引文件中包括的第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,根据第一增量文件更新信息以及第二增量文件更新信息确定增量文件的新增部分,进而,从数据生成方设备下载增量文件的新增部分,并根据增量文件的新增部分进行增量数据同步,提高了是否需要进行数据同步的辨识度,并减少了数据同步带来的网络流量消耗。
附图说明
图1A是本申请一示例性实施例示出的一种数据同步方法的流程示意图;
图1B是本申请又一示例性实施例示出的一种数据同步方法的流程示意图;
图2是本申请一示例性实施例示出的一种数据索引文件和数据文件的目录结构示意图;
图3是本申请一示例性实施例示出的一种数据同步方法的流程示意图;
图4是本申请一示例性实施例示出的一种全量同步子流程的示意图;
图5是本申请一示例性实施例示出的一种增量同步子流程的示意图;
图6是本申请一示例性实施例示出的一种数据库更新流程的示意图;
图7是本申请一示例性实施例示出的一种全量文件生成流程的示意图;
图8是本申请一示例性实施例示出的一种增量文件生成流程的示意图;
图9是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图10是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图11是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图12是本申请一示例性实施例示出的一种电子设备的硬件结构示意图;
图13是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图14是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图15是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图16是本申请一示例性实施例示出的一种数据同步装置的结构示意图;
图17是本申请一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图1A,为本发明实施例提供的一种数据同步方法的流程示意图,如图1A所示,该数据同步方法可以包括以下步骤:
需要说明的是,步骤S100~步骤S120的执行主体可以为数据同步系统中的数据接收方设备。
其中,数据同步系统中可以包括数据生成方设备和数据接收方设备,数据生成方设备可以将本地数据库中的同步给数据接收方设备,由数据接收方设备将数据生成方设备同步的数据保存至本地数据库,实现数据生成方设备和数据接收方之间的数据同步。
但应该认识到,在本申请实施例中,数据生成方设备或数据接收方设备是指设备在数据同步系统中的所处的角色,而并不是指代固定的设备。
例如,对于设备A和设备B构成的数据同步系统,若设备B需要从设备A中获取数据,实现数据同步,则设备A为数据生成方设备,设备B为数据接收方设备。
而对于设备B和设备C构成的数据同步系统,假设设备C需要从设备B中获取数据,实现数据同步,则设备B在该数据同步系统中作为数据生成方设备,即设备B即可以作为数据生成方设备,又可以作为数据接收方设备。
步骤S100、读取从数据生成方设备下载的第一数据索引文件,该第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息。
本申请实施例中,为了实现数据同步,数据接收方设备可以从数据生成方设备下载数据索引文件(本文中称为第一数据索引文件)。
例如,数据接收方设备可以定时从数据生成方设备下载第一数据索引文件。
本申请实施例中,数据接收方设备从数据生成方设备下载第一数据索引文件之后,可以比较该第一数据索引文件以及数据接收方设备本地的数据索引文件(本文中称为第二数据索引文件)。
其中,数据接收方设备可以分别比较第一数据索引文件中包括的数据版本信息(本文中称为第一数据版本信息)和第二数据索引文件中包括的数据版本信息(本文中称为第二数据版本信息),以及第一数据索引文件中包括的增量文件更新信息(本文中称为第一增量文件更新信息)和第二数据索引文件中包括的增量文件更新信息(本文中称为第二增量文件更新信息)。
本发明实施例中,数据生成方设备可以在本地数据库中的数据发生变化(如增加、删除或修改)时,更新第一数据索引文件中包括的当第一数据版本信息,如将第一数据索引文件中包括的第一数据版本信息+1,即可以根据数据版本信息确定数据生成方设备的数据是否存在更新,从而,确定是否需要进行后续的数据同步操作。
需要说明的是,在本申请实施例中,数据接收方设备本地的第二数据索引文件初始为空,当数据接收方设备首次从数据生成方设备下载第一数据索引文件时,将该第一数据索引文件保存在本地作为第二数据索引文件,且此后,数据接收方设备每次与数据生成方设备进行数据同步时,可以在根据从数据生成方设备下载的第一数据索引文件和第二数据索引文件确定完是否需要进行数据同步处理之后,根据第一数据索引文件更新第二数据索引文件,例如,使用第一数据索引文件覆盖本地保存的第二数据索引文件,将该第一数据索引文件作为新的第二数据索引文件。
步骤S110、当第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,则根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分。
本申请实施例中,当数据接收方设备确定第一数据版本信息与第二数据版本信息不一致,且第一增量文件更新信息与第二增量文件更新信息不一致时,数据接收方设备确定需要进行增量数据同步。
本申请实施例中,考虑到增量数据每次更新的数据可能会比较少,但是更新会比较频繁,若每次进行增量数据更新均下载全部的增量文件,则会消耗较多的网络流量,因此,为了减少网络流量的消耗,可以通过增量式读取方式实现增量数据的同步。
相应地,在本申请实施例中,当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一增量文件更新信息以及第二增量文件更新信息确定增量文件的新增部分。
举例来说,以增量文件更新信息包括增量文件编号和行号为例,假设第一增量文件更新信息为3.200(即增量文件有3个,并且第3个增量文件更新到第200行),而第二增量文件更新信息为3.100,则数据接收方设备可以确定增量文件的新增部分为第3个增量文件的第101~200行。
又举例来说,仍以增量文件更新信息包括增量文件编号和行号为例,假设第一增量文件更新信息为3.200(即增量文件有3个,并且第3个增量文件更新到第200行),而第二增量文件更新信息为1.100,则数据接收方设备可以确定增量文件的新增部分包括第1个增量文件第101行之后的数据、第2个增量文件以及第3个增量文件的1~200行。
需要说明的是,在本申请实施例中,增量文件更新信息并一定需要包括增量文件编号和行号,例如,假设所有的增量数据均记录在同一个增量文件中,则增量文件更新信息也可以仅包括增量文件行号,其具体实现在此不做赘述。
步骤S120、从数据生成方设备下载所确定的增量文件的新增部分,并根据增量文件的新增部分进行增量数据同步。
本申请实施例中,数据接收方设备确定了增量文件的新增部分之后,可以从数据生成方设备下载所确定的增量文件的新增部分,并根据所下载的增量文件的新增部分进行增量数据同步。
可见,在图1A所示方法流程中,通过维护包括增量文件更新信息以及数据版本信息的数据索引文件,当需要进行数据同步时,数据接收方设备可以先从数据生成方设备下载数据索引文件,并根据数据版本信息确定数据生成方设备的数据是否发生变化,并当根据数据版本信息确定生成方设备的数据发生变化时,再进一步执行后续数据同步流程,提高了对是否需要进行数据同步的辨识度;此外,当根据数据版本信息确定生成方设备的数据发生了变化,可以根据增量文件更新信息确定是否需要增量数据同步,并当确定需要进行增量数据同步时,采用增量式读取的方式,仅下载增量文件的新增部分,减少了数据同步消耗的网络流量。
进一步地,在本申请实施例中,为了提高方案的兼容性,还可以在数据索引文件中维护用于表明数据生成方设备是否支持增量式读取的标识(本文中称为是否支持增量式读取信息),数据接收方设备从数据生成方设备下载数据索引文件之后,可以根据该是否支持增量读取信息确定数据生成方设备是否支持增量式读取。
相应地,在本申请其中一个实施例中,当第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,上述根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分之前,还可以包括:
根据第一数据索引文件包括的是否支持增量式读取信息确定数据生成方设备是否支持增量式读取;
若支持,则确定执行根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分的步骤;
否则,从数据生成方设备下载增量文件,并根据所下载的增量文件进行增量数据同步。
在该实施例中,当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一数据索引文件包括的是否支持增量读取信息确定数据生成方设备是否支持增量式读取。
当数据接收方设备确定数据生成方设备支持增量式读取时,数据接收方设备可以根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分,并从数据生成方设备下载增量文件的新增部分。
当数据接收方设备确定数据生成方设备不支持增量式读取时,数据接收方设备可以从数据生成方设备下载全部增量文件,并根据所下载的增量文件进行增量数据同步。
进一步地,在本申请实施例中,为了进一步减少数据同步的网络流量消耗,数据生成方设备和数据接收方设备之间传输的数据可以通过压缩文件的形式传输。
相应地,在本申请其中一个实施例中,第一数据索引文件还可以包括是否支持压缩信息;
从数据生成方设备下载增量文件的新增部分,可以包括:
根据第一数据索引文件包括的是否支持压缩信息确定数据生成方设备是否支持压缩文件传输;
若支持,则当增量文件的新增部分包括完整的目标增量文件时,从数据生成方设备下载压缩后的目标增量文件;
否则,从数据生成方设备下载目标增量文件的原始文件。
在该实施例中,数据索引文件中还可以维护用于表明数据生成方设备是否支持压缩文件传输的标识(本文中称为是否支持压缩信息)。
当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一数据索引文件中包括的是否支持压缩信息确定数据生成方设备是否支持压缩文件传输。
当数据接收方设备确定数据生成方设备支持压缩文件传输时,数据接收方设备可以进一步确定增量文件的新增部分是否包括完整的增量文件(本文中称为目标增量文件),若存在,则数据接收方设备可以从数据生成方设备下载压缩后的目标增量文件。
当数据接收方设备确定数据生成方设备不支持压缩文件传输时,数据接收方设备可以从数据生成方设备下载目标增量文件的原始文件。
其中,对于增量文件的新增部分包括的非完整的增量文件,例如,某增量文件的部分行,数据接收方设备可以从数据生成方设备下载对应增量文件的原始文件中的该部分行数据。
进一步地,在本申请实施例中,若数据生成方设备支持压缩文件传输,则当需要进行全量数据同步时,数据接收方设备可以从数据生成方设备下载压缩后的全量文件,其具体实现可以在下文中结合具体实例进行说明。
此外,在本申请实施例中,若数据生成方设备支持压缩文件传输时,数据生成方设备在生成全量文件和增量文件时,还可以对生成的全量文件和增量文件进行压缩,其具体实现也将在下文中结合具体实例进行说明。
请参见图1B,为本发明实施例提供的一种数据同步方法的流程示意图,如图1B所示,该数据同步方法可以包括以下步骤:
需要说明的是,步骤S200~步骤S220的执行主体可以为数据同步系统中的数据接收方设备。
其中,数据同步系统中可以包括数据生成方设备和数据接收方设备,数据生成方设备可以将本地数据库中的同步给数据接收方设备,由数据接收方设备将数据生成方设备同步的数据保存至本地数据库,实现数据生成方设备和数据接收方之间的数据同步。
但应该认识到,在本申请实施例中,数据生成方设备或数据接收方设备是指设备在数据同步系统中的所处的角色,而并不是指代固定的设备。
例如,对于设备A和设备B构成的数据同步系统,若设备B需要从设备A中获取数据,实现数据同步,则设备A为数据生成方设备,设备B为数据接收方设备。
而对于设备B和设备C构成的数据同步系统,假设设备C需要从设备B中获取数据,实现数据同步,则设备B在该数据同步系统中作为数据生成方设备,即设备B即可以作为数据生成方设备,又可以作为数据接收方设备。
步骤S200、获取数据索引文件,并根据该数据索引文件确定是否需要进行增量更新。若是,转至步骤S210;否则,结束当前流程。
本申请实施例中,为了实现数据同步,数据接收方设备获取数据索引文件(如上述第一数据索引文件),并根据该数据索引文件确定是否需要进行增量更新。
例如,数据接收方设备可以定时从数据生成方设备下载第一数据索引文件。
在一个示例中,上述获取数据索引文件,并根据该数据索引文件确定是否需要进行增量更新,包括:
从数据生成方设备中获取第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;
分别比较第一增量文件更新信息与第二增量文件更新信息,以及所述第一数据版本信息以及第二数据版本信息,以确定是否需要进行增量更新;其中,所述第二增量文件更新信息以及第二数据版本信息为本地的第二数据索引文件中包括的增量文件更新信息以及数据版本信息。
示例性的,数据接收方设备可以从数据生成方设备下载第一数据索引文件,并比较该第一数据索引文件以及数据接收方设备本地的数据索引文件(如上述第二数据索引文件)。
示例性的,数据接收方设备可以分别比较第一数据索引文件中包括的数据版本信息(即上述第一数据版本信息)和第二数据索引文件中包括的数据版本信息(即上述第二数据版本信息),以及第一数据索引文件中包括的增量文件更新信息(即上述第一增量文件更新信息)和第二数据索引文件中包括的增量文件更新信息(即上述第二增量文件更新信息)。
本申请实施例中,数据生成方设备可以在本地数据库中的数据发生变化(如增加、删除或修改)时,更新第一数据索引文件中包括的当第一数据版本信息,如将第一数据索引文件中包括的第一数据版本信息+1,即可以根据数据版本信息确定数据生成方设备的数据是否存在更新,从而,确定是否需要进行后续的数据同步操作。
需要说明的是,在本申请实施例中,数据接收方设备本地的第二数据索引文件初始为空,当数据接收方设备首次从数据生成方设备下载第一数据索引文件时,将该第一数据索引文件保存在本地作为第二数据索引文件,且此后,数据接收方设备每次与数据生成方设备进行数据同步时,可以在根据从数据生成方设备下载的第一数据索引文件和第二数据索引文件确定完是否需要进行数据同步处理之后,根据第一数据索引文件更新第二数据索引文件,例如,使用第一数据索引文件覆盖本地保存的第二数据索引文件,将该第一数据索引文件作为新的第二数据索引文件。
示例性的,当第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新。
步骤S210、根据获取到的数据索引文件确定增量更新数据。
本申请实施例中,数据接收方设备获取到第一数据索引文件时,可以根据该第一数据索引文件确定增量更新数据。
在一个示例中,上述根据数据索引文件确定增量更新数据,可以包括:
根据第一增量文件更新信息以及第二增量文件更新信息确定增量文件的新增部分。
示例性的,考虑到增量数据每次更新的数据可能会比较少,但是更新会比较频繁,若每次进行增量数据更新均下载全部的增量文件,则会消耗较多的网络流量,因此,为了减少网络流量的消耗,可以通过增量式读取方式实现增量数据的同步。
相应地,在本申请实施例中,当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一增量文件更新信息以及第二增量文件更新信息确定增量文件的新增部分。
举例来说,以增量文件更新信息包括增量文件编号和行号为例,假设第一增量文件更新信息为3.200(即增量文件有3个,并且第3个增量文件更新到第200行),而第二增量文件更新信息为3.100,则数据接收方设备可以确定增量文件的新增部分为第3个增量文件的第101~200行。
又举例来说,仍以增量文件更新信息包括增量文件编号和行号为例,假设第一增量文件更新信息为3.200(即增量文件有3个,并且第3个增量文件更新到第200行),而第二增量文件更新信息为1.100,则数据接收方设备可以确定增量文件的新增部分包括第1个增量文件第101行之后的数据、第2个增量文件以及第3个增量文件的1~200行。
需要说明的是,在本申请实施例中,增量文件更新信息并一定需要包括增量文件编号和行号,例如,假设所有的增量数据均记录在同一个增量文件中,则增量文件更新信息也可以仅包括增量文件行号,其具体实现在此不做赘述。
步骤S220、获取增量更新数据,并根据该增量更新数据进行增量数据同步。
本申请实施例中,数据接收方设备确定了增量更新数据(如增量文件的新增部分)之后,可以获取该增量更新数据,根据该增量更新数据进行数据同步。
在一个示例中,上述获取增量更新数据,并根据该增量更新数据进行增量数据同步,可以包括:
从数据生成方设备下载该增量文件的新增部分,并根据该增量文件的新增部分进行增量数据同步。
示例性的,数据接收方设备确定了增量文件的新增部分之后,可以从数据生成方设备下载所确定的增量文件的新增部分,并根据所下载的增量文件的新增部分进行增量数据同步。
需要说明的是,在本申请实施例中,数据接收方设备并不限于从数据生成方设备中获取第一数据索引文件。
例如,数据生成方设备与数据接收方设备可以预先协商确定一个用于存储数据索引文件的第三方数据库;数据生成方设备可以将数据索引文件存储到该第三方数据库,数据接收方设备则可以从该第三方数据库中获取数据索引文件(如上述第一数据索引文件)。
此外,数据接收方设备也并不限于根据数据索引文件中包括的增量文件更新信息以及数据版本信息来确定是否需要进行增量更新。
例如,数据生成方设备可以在本地数据库中数据发生变化(如增加、删除或修改)时,在第一数据索引文件中增加一个用于标识数据发生变化的标记,该标记可以标识数据生成方设备的本地数据库中数据发生变化,以及变化发生时间,进而,数据接收方设备可以根据数据索引文件中的该标记确定是否需要进行增量更新。
再者,数据生成方设备也不限于通过增量文件更新信息来确定增量文件的新增部分。
例如,数据生成方设备在本地数据库中数据发生变化时,可以确定发生变化的数据在增量文件中的起始位置以及长度,并将该起始位置以及长度携带在数据索引文件中的指定区域,通知给数据接收方设备,进而,数据接收方设备可以基于该起始位置以及长度确定增量文件的新增部分。
进一步地,在本申请实施例中,为了提高方案的兼容性,还可以在数据索引文件中维护用于表明数据生成方设备是否支持增量式读取的标识(本文中称为是否支持增量式读取信息),数据接收方设备从数据生成方设备下载数据索引文件之后,可以根据该是否支持增量读取信息确定数据生成方设备是否支持增量式读取。
相应地,在本申请其中一个实施例中,当第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,上述根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分之前,还可以包括:
根据第一数据索引文件包括的是否支持增量式读取信息确定数据生成方设备是否支持增量式读取;
若支持,则确定执行根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分的步骤;
否则,从数据生成方设备下载增量文件,并根据所下载的增量文件进行增量数据同步。
在该实施例中,当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一数据索引文件包括的是否支持增量读取信息确定数据生成方设备是否支持增量式读取。
当数据接收方设备确定数据生成方设备支持增量式读取时,数据接收方设备可以根据第一增量文件更新信息以及第二增量更新信息确定增量文件的新增部分,并从数据生成方设备下载增量文件的新增部分。
当数据接收方设备确定数据生成方设备不支持增量式读取时,数据接收方设备可以从数据生成方设备下载全部增量文件,并根据所下载的增量文件进行增量数据同步。
进一步地,在本申请实施例中,为了进一步减少数据同步的网络流量消耗,数据生成方设备和数据接收方设备之间传输的数据可以通过压缩文件的形式传输。
相应地,在本申请其中一个实施例中,第一数据索引文件还可以包括是否支持压缩信息;
从数据生成方设备下载增量文件的新增部分,可以包括:
根据第一数据索引文件包括的是否支持压缩信息确定数据生成方设备是否支持压缩文件传输;
若支持,则当增量文件的新增部分包括完整的目标增量文件时,从数据生成方设备下载压缩后的目标增量文件;
否则,从数据生成方设备下载目标增量文件的原始文件。
在该实施例中,数据索引文件中还可以维护用于表明数据生成方设备是否支持压缩文件传输的标识(本文中称为是否支持压缩信息)。
当数据接收方设备确定需要进行增量数据同步时,数据接收方设备可以根据第一数据索引文件中包括的是否支持压缩信息确定数据生成方设备是否支持压缩文件传输。
当数据接收方设备确定数据生成方设备支持压缩文件传输时,数据接收方设备可以进一步确定增量文件的新增部分是否包括完整的增量文件(本文中称为目标增量文件),若存在,则数据接收方设备可以从数据生成方设备下载压缩后的目标增量文件。
当数据接收方设备确定数据生成方设备不支持压缩文件传输时,数据接收方设备可以从数据生成方设备下载目标增量文件的原始文件。
其中,对于增量文件的新增部分包括的非完整的增量文件,例如,某增量文件的部分行,数据接收方设备可以从数据生成方设备下载对应增量文件的原始文件中的该部分行数据。
进一步地,在本申请实施例中,若数据生成方设备支持压缩文件传输,则当需要进行全量数据同步时,数据接收方设备可以从数据生成方设备下载压缩后的全量文件,其具体实现可以在下文中结合具体实例进行说明。
此外,在本申请实施例中,若数据生成方设备支持压缩文件传输时,数据生成方设备在生成全量文件和增量文件时,还可以对生成的全量文件和增量文件进行压缩,其具体实现也将在下文中结合具体实例进行说明。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
请参见图2,为本申请实施例提供的一种数据索引文件和数据文件的目录结构示意图,如图2所示,数据文件根目录下包括应用1至应用n的数据目录,对于任一应用的数据目录,在该数据目录下的是该应用的数据索引文件,数据索引文件主要包括该应用各种数据类型的目录。
其中,为了实现读写分离,避免某个数据目录下数据文件在进行数据读取的时候又写入新的数据,设置在数据索引文件下的各种数据类型的目录为随机数据目录。任一随机数据目录下包括全量文件和增量文件。
在该实施例中,考虑到大数据同步场景下,当所有的数据均记录在同一个数据文件中,该数据文件会很大,数据同步造成的网络流量消耗也会很大,因此,为了可以采用文件分片的方式进行数据记录,每个文件分片的大小上限可以根据实际场景设定。
其中,当文件分片的大小上限过大时,单文件分片过大,会影响文件下载效率;当文件的大小上限过小时,会使文件的IO(Input/output,输入/输出)访问频繁,影响系统性能,因此,在设置文件分片的大小上限时需要均衡考虑对文件下载和对IO访问的影响。
在该实施例中,可以以文件分片的大小上限为100万条数据为例。
在该实施例中,为了降低数据同步的网络流量消耗,随机数据目录下包括的全量文件和增量文件可以包括原始文件和压缩文件。
其中,考虑到数据变更的频率通常会较高,对于未达到文件分片的大小的上限的增量文件,若对该增量文件进行压缩,则每次该增量文件中写入新的数据时,均需要对该增量文件重新压缩,影响系统性能,因此,对于未达到文件分片的大小上限(即100万条数据)的增量文件,可以不进行压缩。
在该实施例中,为了提供开放式且标准的数据格式,方便第三方系统解析和集成,同时结合索引的特点,保证数据快速、有序、高效的读写,数据索引文件、全量文件以及增量文件均可以采用CSV(Comma-Separated Values,逗号分割值)格式。其中,数据索引文件的格式可以如表1所示:
表1
其中,对于数据索引文件的格式作如下说明:
数据类型(typeCode)必须保持唯一,一种数据类型只有一条索引记录。
随机目录(syncDir)在数据生成过程中,用于实现读写分离,在重复生成数据文件的过程中,以随机目录分开,避免相同目录的数据文件正在被读取时造成冲突;在数据同步过程中,用于指明当前需要同步的数据文件所在的目录。
全量文件名(fullFileName)以数据类型_FULL的形式记录。
全量文件数(fullCount)表明全量文件分片的数量。
其中,全量文件名和全量文件数共同确定各全量文件的文件名。
举例来说,假设数据类型为type1,全量文件数为3,则各全量文件的文件名可以依次为type1_FULL_1、type1_FULL_2和type1_FULL_3。
其中,对于原始文件,其可以为type1_FULL_1.csv;对于压缩文件,其可以为type1_FULL_1.zip。
全量文件最后更新时间(fullLastUpdateTime)表示最近一次全量文件生成的时间,为全量数据同步提供比较依据。
增量文件名(increFileName)以数据类型_FULL的形式记录数据类型_INCRE的形式记录。
增量文件编号和行号(increLastUpdateRowId)格式为[文件编号].[最后更新的文件行号],如3.200表示增量文件有3个,并且第3个增量文件更新到第200行;通过索引文件下载增量文件时,只需要处理上次和本次的增量差值即可。如下次增量更新就从第3个增量文件的201行开始解析增量数据,前面的数据不作处理,并且更新本地数据索引文件的增量文件编号和行号。
是否支持压缩(isZip)是布尔值,如果值为“true(真)”则同时支持原始csv文件和压缩后zip文件的传输,在数据量大的时候能大大减少带宽占用,如果值为“false(假)”则只支持原始csv文件传输。
是否支持增量式读取(isIncreAccess)是布尔值,如果值为“true”则支持增量式读取增量文件,每次增量文件有更新,会从上次读取增量文件的地方开始读取并下载增加部分的增量记录,如果值为“false”则只每次只能读取完整增量文件,每次增量文件有更新,还是会读取和下载整个增量文件。isIncreAccess设为“true”能够减少网络流量使用量。
数据版本(dataVersion)用于表示数据生成方设备的数据是否发生变化,若数据生成方设备的数据发生变化,数据版本会以+1的形式递增。数据接收方设备会首先将数据生成方设备的数据索引文件和本地的数据索引文件的dataVersion进行比较,若dataVersionx相同,则表明数据生成方设备的数据未发生变化,则不去下载远程数据文件;若dataVersion不同,则需要重新下载对应的远程数据文件,并且更新本地数据索引文件的dataVersion。
下面对该实施例的数据同步实现进行说明。
请参见图3,为本申请实施例提供的一种数据同步方法的流程示意图,如图3所示,该数据同步方法可以包括以下步骤:
步骤S300、判断是否有权限读取数据生成方设备的数据索引文件。若是,则转至步骤S310;否则,结束当前流程。
具体地,判断是否有权限读取数据生成方设备的数据索引文件可以采用任意一种进行权限验证的方式,在本申请实施例中,进行权限验证,主要是为了防止数据泄露或者被非法获取,提高数据安全性。
步骤S310、定时读取数据索引文件。
步骤S320、判断数据版本是否更新;若是,则转至步骤S330;否则,结束当前流程。
具体地,当数据接收方设备从数据生成方设备读取到数据索引文件(即第一数据索引文件)之后,可以比较第一数据索引文件中包括的数据版本和本地第二数据索引文件中包括的数据版本;若二者相同,即数据版本未发生更新,则数据接收方设备确定数据发送方设备的数据未发生变化,不需要进行后续同步流程;若二者不同,即数据版本发生更新,则执行步骤S330~步骤S340。
步骤S330、执行全量同步子流程,并转至步骤S340。
步骤S340、执行增量同步子流程。
其中,数据接收方设备执行全量同步子流程和增量同步子流程的具体实现可以分别参见图4和图5所示方法流程中的相关描述,本申请实施例在此不做赘述。
请参见图4,为本申请实施例提供的一种全量同步子流程的示意图,如图4所示,该全量同步子流程可以包括以下步骤:
步骤S400、判断全量文件是否更新。若是,转至步骤S410;否则,结束当前流程。
具体地,数据接收方设备可以比较第一数据索引文件中包括的全量文件最后更新时间和第二数据索引文件中包括的全量文件最后更新时间,若二者不同,则确定全量文件更新;若二者相同,则确定全量文件未更新。
步骤S410、判断数据生成方设备是否支持压缩。若是,则转至步骤S420;否则,转至步骤S430。
具体地,数据接收方设备可以根据第一数据索引文件中包括的是否支持压缩信息确定数据生成方设备是否支持压缩。
步骤S420、下载压缩的全量文件,并解压全量文件,转至步骤S440。
步骤S430、下载全量文件的原始文件。
步骤S440、读取全量文件。
步骤S450、根据全量文件更新本地数据库。
具体地,数据接收方设备更新本地数据库的具体实现可以参见图6所示方法流程中的相关描述,本申请实施例在此不做赘述。
请参见图5,为本申请实施例提供的一种增量同步子流程的示意图,如图5所示,该增量同步子流程可以包括:
步骤S500、判断增量文件是否更新;若是,则转至步骤S510或/和S550;否则,结束当前流程。
具体地,数据接收方设备可以比较第一数据索引文件中包括的增量文件编号和行号以及第二数据索引文件中包括的增量文件编号和行号,以确定增量文件编号和行号是否更新;若是,则确定增量文件更新;否则,确定增量文件未更新。
步骤S510、判断数据生成方设备是否支持压缩。若是,则转至步骤S520;否则,转至步骤S530。
步骤S520、下载压缩的增量文件,并解压增量文件,转至步骤S540。
步骤S530、下载增量文件的原始文件。
步骤S540、读取增量文件。
步骤S550、判断数据生成方设备是否支持增量式读取。若是,则转至步骤S560;否则,转至步骤S570。
具体地,数据接收方设备可以根据第一数据索引文件中包括的是否支持增量式读取信息确定数据生成方设备是否支持增量式读取。
步骤S560、下载增量文件的新增部分,并读取增量文件的新增部分。
步骤S570、下载完整的增量文件,并读取增量文件的新增部分。
具体地,数据接收方设备可以通过比较第一数据索引文件中包括的增量文件编号和行号以及第二数据索引文件中包括的增量文件编号和行号,确定增量文件的新增部分。
当数据接收方设备确定数据生成方设备支持增量式读取时,数据接收方设备而可以仅下载增量文件的新增部分;当数据接收方设备确定数据生成方设备不支持增量式读取时,数据接收方设备需要下载完整的增量文件。
需要说明的是,在该实施例中,数据接收方设备判断数据生成方设备是否支持压缩以及数据接收方设备判断数据生成方设备是否支持增量式读取之间并不存在必然的时序关系,即可以先判断是否支持压缩,后判断是否支持增量式读取;也可以先判断是否支持增量式读取,后判断是否支持压缩;还可以并行判断是否支持压缩和是否支持增量式读取。
在该实施例中,当数据生成方设备支持压缩,且支持增量式读取时,数据接收方设备按照上述方式确定了增量文件的新增部分之后,可以进一步确定增量文件的新增部分是否包括完整的增量文件;若包括,对于增量文件的新增部分中包括的完整的增量文件,数据接收方设备可以下载压缩后的增量文件;对于非完整的增量文件(即增量文件中的部分行)(若存在),数据接收方设备可以从对应的增量文件的原始文件中下载该部分行的数据;若不包括,则数据接收方设备可以从增量文件的原始文件中下载增量文件的新增部分。
步骤S580、解析增量文件对应的数据更新,并更新本地数据库。
具体地,数据接收方设备获取到增量文件的新增之后,可以对该部分增量文件的新增部分进行解析,以确定增量文件对应的数据更新,并更新本地数据库。
具体地,数据接收方设备更新本地数据库的具体实现可以参见图6所示方法流程中的相关描述,本申请实施例在此不做赘述。
在该实施例中,更新数据库可以包括保存、更新以及删除操作。
请参见图6,为本申请实施例提供的一种数据库更新流程的示意图,如图6所示,该保存和更新子流程可以包括以下步骤:
步骤S600、查询本地数据库中的所有唯一键,并将本地数据库中的所有唯一键写入临时文件。
具体地,唯一键用于唯一标识数据,一条数据对应一个唯一键。
其中,对于每一种数据类型,均可以执行步骤S600~步骤S640。
对于任一数据类型,当本地数据库中该数据类型的数据量较大时,可以分批读取本地数据库中的唯一键并写入临时文件。
步骤S610、比较数据文件中的唯一键和临时文件中的唯一键。
其中,数据文件可以包括全量文件(全量同步子流程)或增量文件(增量同步子流程)。
步骤S620、对于数据文件和临时文件中均存在的唯一键,将本地数据库中该唯一键对应的数据更新为数据文件中的该唯一键对应的数据。
步骤S630、对于数据文件中存在,但临时文件中不存在的唯一键,将数据文件中该唯一键对应的数据保存至本地数据库。
步骤S640、对于数据文件中不存在,但临时文件中存在的唯一键,删除本地数据库中该唯一键对应的数据。
进一步地,在该实施例中,对于数据生成方设备,在执行全量同步和增量同步操作之前,还需要生成全量文件和增量文件,下面分别结合图7和图8对生成全量文件和生成增量文件的流程进行说明。
请参见图7,为本申请实施例提供的一种全量文件生成流程的示意图,如图7所示,该全量文件生成流程可以包括以下步骤:
步骤S700、轮询数据类型。
具体地,可以定时或手动触发生成全量文件,即当达到预设全量文件生成触发时间,或接收到全量文件生成触发指令时,确定满足全量文件生成条件,数据生成方设备可以轮询需要生成全量文件的数据类型。
其中,数据生成方设备可以通过解析预设的数据生成配置文件的方式确定需要生成全量文件的数据类型。
其中,该预设的数据生成配置文件还可以包括全量文件的数据格式,如CSV格式或文本格式等。
步骤S710、对于选中的数据类型,在本地数据库中查找该数据类型的数据。若存在数据,则转至步骤S720;否则,转至步骤S700。
步骤S720、将查询到的数据写入全量文件,并判断当前写入的全量文件是否达到大小上限。若是,则转至步骤S730;否则,转至步骤S740。
步骤S730、创建新的全量文件,并写入该新的全量文件。
步骤S740、续写当前写入的全量文件。
具体地,对于任一数据类型,当本地数据库中存在该类型的数据时,将本地数据库中该类型的数据写入对应的全量文件。
其中,当当前写入的全量文件达到大小上限(即100万条)时,数据生成方设备可以创建新的全量文件,后续数据写入该新的全量文件,直至该全量文件也达到大小上限再次创建新的全量文件,或数据全部写入全量文件。
步骤S750、判断是否支持压缩。若是,则转至步骤S760;否则,结束当前流程。
步骤S760、压缩全量文件。
具体地,当数据写入完成时,数据生成方设备可以判断本设备是否支持压缩(即是否支持压缩文件传输)。
若支持,则数据生成方设备可以在数据写入完成时,对全量文件进行压缩。
其中,当数据写入完成时对全量文件进行压缩可以包括当全量文件写满(即达到大小上限)时,对该全量文件进行压缩;当数据写入完成时,对未写满的全量文件(若存在)进行压缩,即边写入边压缩。
或者,当数据写入完成时对全量文件进行压缩可以包括当数据全部写入全量文件时,分别对各全量文件进行压缩,即写入完成后压缩。
请参见图8,为本申请实施例提供的一种增量文件生成流程的示意图,如图8所示,该增量文件生成流程可以包括以下步骤:
步骤S800、当接收到数据更新通知时,根据更新数据的数据类型将更新数据写入增量文件。
步骤S810、判断当前写入的增量文件是否达到大小上限。若是,则转步骤S820;否则,转至步骤S840。
步骤S820、创建新的增量文件,并写入该新的增量文件。
步骤S830、当本设备支持压缩时,对达到大小上限的增量文件进行压缩。
步骤S840、续写当前写入的增量文件。
本申请实施例中,通过读取从数据生成方设备下载的第一数据索引文件,当第一数据索引文件中包括的第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且第一数据索引文件中包括的第一增量文件更新信息与第二数据索引文件中包括的第二增量文件更新信息不一致时,根据第一增量文件更新信息以及第二增量文件更新信息确定增量文件的新增部分,进而,从数据生成方设备下载增量文件的新增部分,并根据增量文件的新增部分进行增量数据同步,提高了是否需要进行数据同步的辨识度,并减少了数据同步带来的网络流量消耗。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图9,为本申请实施例提供的一种数据同步装置的结构示意图,如图9所示,该数据同步装置可以包括:
读取单元910,用于读取从数据生成方设备下载的第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;
比较单元920,用于比较所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息,以及比较所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息;
确定单元930,用于当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分;
下载单元940,用于从所述数据生成方设备下载所述增量文件的新增部分;
同步单元950,用于根据所述增量文件的新增部分进行增量数据同步。
在一种可选的实施方式中,增量文件更新信息包括增量文件编号和行号;
所述确定单元930,具体用于根据第一增量文件编号和行号以及第二增量文件编号和行号,将所述第一增量文件编号和行号到所述第二增量文件编号和行号之间的增量数据确定为增量文件的新增部分。
在一种可选的实施方式中,所述第一数据索引文件还包括是否支持增量式读取信息;
所述确定单元930,还用于根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取;
所述确定单元930,具体用于若所述数据生成方设备支持增量式读取,则根据所述第一增量文件更新信息以及所述第二增量更新信息确定增量文件的新增部分;
所述下载单元940,还用于若所述数据生成方设备不支持增量式读取,则从所述数据生成方设备下载增量文件;
所述同步单元950,还用于根据所下载的增量文件进行增量数据同步。
在一种可选的实施方式中,所述第一数据索引文件还包括是否支持压缩信息;
所述确定单元930,还用于根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
所述下载单元940,具体用于若所述数据生成方设备支持压缩文件传输,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;
所述下载单元940,还用于若所述数据生成方设备不支持压缩文件传输,则从所述数据生成方设备下载增量文件的原始文件。
在一种可选的实施方式中,所述第一数据索引文件还包括第一全量文件更新信息以及是否支持压缩信息;
所述比较单元920,还用于比较所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息;
所述确定单元930,还用于当所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息不一致时,根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
所述下载单元940,还用于若所述数据生成方设备支持压缩文件传输,则从所述数据生成方设备下载压缩后的全量文件;
所述同步单元950,还用于根据所述全量文件的原始文件进行全量数据同步。
在一种可选的实施方式中,如图10所示,所述装置还包括:
第一写入单元960,用于当所述确定满足全量文件生成条件时,对于任一数据类型,当本地数据库中存在该数据类型的数据,将该数据类型的数据写入全量文件;
第一判断单元970,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第一压缩单元980,用于若本设备支持压缩文件传输,则对全量文件进行压缩。
在一种可选的实施方式中,如图11所示,所述装置还包括:
接收单元990,用于接收数据更新通知;
第二写入单元1000,用于当所述接收单元990接收到数据更新通知时,根据更新数据的数据类型将更新数据写入增量文件;
第二判断单元1010,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第二压缩单元1020,用于若本设备支持压缩文件传输,则对增量文件进行压缩。
在一种可选的实施方式中,所述第二压缩单元1020,具体用于当增量文件支持分片时,对达到预设大小的增量文件分片进行压缩,并拒绝对未达到预设大小的增量文件分片进行压缩。
请参见图12,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可以包括处理器1201、通信接口1202、存储器1203和通信总线1204。处理器1201、通信接口1202以及存储器1203通过通信总线1204完成相互间的通信。其中,存储器1203上存放有计算机程序;处理器1201可以通过执行存储器1203上所存放的程序,执行图1A所示的数据同步方法。
本文中提到的存储器1203可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1202可以是:RAM(Radom AccessMemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
本申请实施例还提供了一种存储有计算机程序的机器可读存储介质,例如图12中的存储器1203,所述计算机程序可由图12所示电子设备中的处理器1201执行以实现图1A所示的数据同步方法。
请参见图13,为本申请实施例提供的一种数据同步装置的结构示意图,如图13所示,该数据同步装置可以包括:
获取单元1310,用于获取数据索引文件;
确定单元1320,用于根据所述数据索引文件确定是否需要进行增量更新;
所述确定单元1320,还用于当确定需要进行增量更新时,根据所述数据索引文件确定增量更新数据;
下载单元1330,用于获取所述增量更新数据;
同步单元1340,用于根据所述增量更新数据进行增量数据同步。
在一种可选的实施方式中,所述获取单元1310,具体用于从数据生成方设备中获取第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息以及第一数据版本信息;
如图14所示,所述装置还包括:
比较单元1350,用于分别比较第一增量文件更新信息与第二增量文件更新信息,以及所述第一数据版本信息以及第二数据版本信息;其中,所述第二增量文件更新信息以及第二数据版本信息为本地的第二数据索引文件中包括的增量文件更新信息以及数据版本信息;
所述确定单元1320,具体用于根据所述比较单元的比较结果确定是否需要进行增量更新。
在一种可选的实施方式中,所述确定单元1320,具体用于当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新。
在一种可选的实施方式中,所述确定单元1320,具体用于根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分;
所述下载单元1330,具体用于从所述数据生成方设备下载所述增量文件的新增部分;
所述同步单元1340,具体用于根据所述增量文件的新增部分进行增量数据同步。
在一种可选的实施方式中,所述第一数据索引文件还包括是否支持增量式读取信息;
所述确定单元1320,还用于根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取;
所述确定单元1320,具体用于若所述数据生成方设备支持增量式读取,则根据所述第一增量文件更新信息以及所述第二增量更新信息确定增量文件的新增部分;
所述下载单元1330,还用于若所述数据生成方设备不支持增量式读取,则从所述数据生成方设备下载增量文件;
所述同步单元1340,还用于根据所下载的增量文件进行增量数据同步
在一种可选的实施方式中,所述第一数据索引文件还包括是否支持压缩信息;
所述确定单元1320,还用于根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
所述下载单元1330,具体用于若所述数据生成方设备支持压缩文件传输,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;
所述下载单元1330,还用于若所述数据生成方设备不支持压缩文件传输,则从所述数据生成方设备下载增量文件的原始文件。
在一种可选的实施方式中,所述第一数据索引文件还包括第一全量文件更新信息以及是否支持压缩信息;
所述比较单元1350,还用于比较所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息;
所述确定单元1320,还用于当所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息不一致时,根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
所述下载单元1330,还用于若所述数据生成方设备支持压缩文件传输,则从所述数据生成方设备下载压缩后的全量文件;
所述同步单元1340,还用于根据所述全量文件的原始文件进行全量数据同步。
在一种可选的实施方式中,增量文件更新信息包括增量文件编号和行号;
所述确定单元1320,具体用于根据第一增量文件编号和行号以及第二增量文件编号和行号,将所述第一增量文件编号和行号到所述第二增量文件编号和行号之间的增量数据确定为增量文件的新增部分。
在一种可选的实施方式中,如图15所示,所述装置还包括:
第一写入单元1360,用于当所述确定满足全量文件生成条件时,对于任一数据类型,当本地数据库中存在该数据类型的数据,将该数据类型的数据写入全量文件;
第一判断单元1370,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第一压缩单元1380,用于若本设备支持压缩文件传输,则对全量文件进行压缩。
在一种可选的实施方式中,如图16所示,所述装置还包括:
接收单元1390,用于接收数据更新通知;
第二写入单元1400,用于当所述接收单元接收到数据更新通知时,根据更新数据的数据类型将更新数据写入增量文件;
第二判断单元1410,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第二压缩单元1420,用于若本设备支持压缩文件传输,则对增量文件进行压缩。
在一种可选的实施方式中,所述第二压缩单元1420,具体用于当增量文件支持分片时,对达到预设大小的增量文件分片进行压缩,并拒绝对未达到预设大小的增量文件分片进行压缩。
请参见图17,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可以包括处理器1701、通信接口1702、存储器1703和通信总线1704。处理器1701、通信接口1702以及存储器1703通过通信总线1704完成相互间的通信。其中,存储器1703上存放有计算机程序;处理器1701可以通过执行存储器1703上所存放的程序,执行图1B所示的数据同步方法。
本文中提到的存储器1703可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1702可以是:RAM、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
本申请实施例还提供了一种存储有计算机程序的机器可读存储介质,例如图17中的存储器1703,所述计算机程序可由图17所示电子设备中的处理器1701执行以实现图1B所示的数据同步方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (16)
1.一种数据同步方法,其特征在于,包括 :
从数据生成方设备中获取第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息、第一数据版本信息、是否支持增量式读取信息以及是否支持压缩信息;
当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新;其中,所述第二增量文件更新信息以及第二数据版本信息为本地的第二数据索引文件中包括的增量文件更新信息以及数据版本信息;
当确定需要进行增量更新时,根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取,若支持,则根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分,从所述数据生成方设备下载所述增量文件的新增部分,并根据所述增量文件的新增部分进行增量数据同步;
否则,则从所述数据生成方设备下载增量文件,并根据所下载的增量文件进行增量数据同步;
其中,所述从所述数据生成方设备下载所述增量文件的新增部分,包括:
根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
若支持,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;则当所述增量文件的新增部分包括非完整的增量文件时,则从所述数据生成方设备下载所述非完整的增量文件的原始文件;
否则,从所述数据生成方设备下载目标增量文件的原始文件。
2.一种数据同步方法,其特征在于,包括:
读取从数据生成方设备下载的第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息、第一数据版本信息、是否支持增量式读取信息、以及是否支持压缩信息;
当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新;
当确定需要进行增量更新时,根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取,若支持,则根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分,从所述数据生成方设备下载所述增量文件的新增部分,并根据所述增量文件的新增部分进行增量数据同步;
否则,则从所述数据生成方设备下载增量文件,并根据所下载的增量文件进行增量数据同步;
其中,所述从所述数据生成方设备下载所述增量文件的新增部分,包括:
根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
若支持,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;则当所述增量文件的新增部分包括非完整的增量文件时,则从所述数据生成方设备下载所述非完整的增量文件的原始文件;
否则,从所述数据生成方设备下载目标增量文件的原始文件。
3.根据权利要求1或2所述的方法,其特征在于,所述第一数据索引文件还包括第一全量文件更新信息以及是否支持压缩信息;
所述根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分之前,还包括:
当所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息不一致时,根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
若支持,则从所述数据生成方设备下载压缩后的全量文件,并根据所述压缩后的全量文件进行全量数据同步;
否则,从所述数据生成方设备下载全量文件的原始文件,并根据所述全量文件的原始文件进行全量数据同步。
4.根据权利要求1或2所述的方法,其特征在于,增量文件更新信息包括增量文件编号和行号;
所述根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分,包括:
根据第一增量文件编号和行号以及第二增量文件编号和行号,将所述第一增量文件编号和行号到所述第二增量文件编号和行号之间的增量数据确定为增量文件的新增部分。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当确定满足全量文件生成条件时,对于任一数据类型,当本地数据库中存在该数据类型的数据,将该数据类型的数据写入全量文件;
当数据写入完成时,判断本设备是否支持压缩文件传输;
若支持,则对全量文件进行压缩。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当接收到数据更新通知时,根据更新数据的数据类型将更新数据写入增量文件;
当数据写入完成时,判断本设备是否支持压缩文件传输;
若支持,则对增量文件进行压缩。
7.根据权利要求6所述的方法,其特征在于,所述对增量文件进行压缩,包括:
当增量文件支持分片时,对达到预设大小的增量文件分片进行压缩,并拒绝对未达到预设大小的增量文件分片进行压缩。
8.一种数据同步装置,其特征在于,包括:
获取单元,用于从数据生成方设备中获取第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息、第一数据版本信息、是否支持增量式读取信息以及是否支持压缩信息;
比较单元,用于比较所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息,以及比较所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息;其中,所述第二增量文件更新信息以及第二数据版本信息为本地的第二数据索引文件中包括的增量文件更新信息以及数据版本信息;
确定单元,用于当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新;
下载单元,用于当确定需要进行增量更新时,根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取,若支持,则根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分,从所述数据生成方设备下载所述增量文件的新增部分;否则,则从所述数据生成方设备下载增量文件;
同步单元,用于根据所述增量文件的新增部分进行增量数据同步,或根据所下载的增量文件进行增量数据同步;
其中,所述从所述数据生成方设备下载所述增量文件的新增部分,包括:
根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
若支持,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;则当所述增量文件的新增部分包括非完整的增量文件时,则从所述数据生成方设备下载所述非完整的增量文件的原始文件;
否则,从所述数据生成方设备下载目标增量文件的原始文件。
9.一种数据同步装置,其特征在于,包括:
读取单元,用于读取从数据生成方设备下载的第一数据索引文件,所述第一数据索引文件包括第一增量文件更新信息、第一数据版本信息、是否支持增量式读取信息、以及是否支持压缩信息;
比较单元,用于比较所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息,以及比较所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息;
确定单元,用于当所述第一数据版本信息与本地的第二数据索引文件中包括的第二数据版本信息不一致,且所述第一增量文件更新信息与所述第二数据索引文件中包括的第二增量文件更新信息不一致时,确定需要进行增量更新;
下载单元,用于当确定需要进行增量更新时,根据所述第一数据索引文件包括的是否支持增量式读取信息确定所述数据生成方设备是否支持增量式读取,若支持,则根据所述第一增量文件更新信息以及所述第二增量文件更新信息确定增量文件的新增部分,从所述数据生成方设备下载所述增量文件的新增部分;否则,则从所述数据生成方设备下载增量文件;
同步单元,用于根据所述增量文件的新增部分进行增量数据同步,或根据所下载的增量文件进行增量数据同步;
其中,所述从所述数据生成方设备下载所述增量文件的新增部分,包括:
根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
若支持,则当所述增量文件的新增部分包括完整的目标增量文件时,从所述数据生成方设备下载压缩后的所述目标增量文件;则当所述增量文件的新增部分包括非完整的增量文件时,则从所述数据生成方设备下载所述非完整的增量文件的原始文件;
否则,从所述数据生成方设备下载目标增量文件的原始文件。
10.根据权利要求8或9所述的装置,其特征在于,所述第一数据索引文件还包括第一全量文件更新信息以及是否支持压缩信息;
所述比较单元,还用于比较所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息;
所述确定单元,还用于当所述第一全量文件更新信息与所述第二数据索引文件中包括的第二全量文件更新信息不一致时,根据所述第一数据索引文件包括的是否支持压缩信息确定所述数据生成方设备是否支持压缩文件传输;
所述下载单元,还用于若所述数据生成方设备支持压缩文件传输,则从所述数据生成方设备下载压缩后的全量文件;
所述同步单元,还用于根据所述全量文件的原始文件进行全量数据同步。
11.根据权利要求8或9所述的装置,其特征在于,增量文件更新信息包括增量文件编号和行号;
所述确定单元,具体用于根据第一增量文件编号和行号以及第二增量文件编号和行号,将所述第一增量文件编号和行号到所述第二增量文件编号和行号之间的增量数据确定为增量文件的新增部分。
12.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
第一写入单元,用于当确定满足全量文件生成条件时,对于任一数据类型,当本地数据库中存在该数据类型的数据,将该数据类型的数据写入全量文件;
第一判断单元,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第一压缩单元,用于若本设备支持压缩文件传输,则对全量文件进行压缩。
13.根据权利要求8或9所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收数据更新通知;
第二写入单元,用于当所述接收单元接收到数据更新通知时,根据更新数据的数据类型将更新数据写入增量文件;
第二判断单元,用于当数据写入完成时,判断本设备是否支持压缩文件传输;
第二压缩单元,用于若本设备支持压缩文件传输,则对增量文件进行压缩。
14.根据权利要求13所述的装置,其特征在于,
所述第二压缩单元,具体用于当增量文件支持分片时,对达到预设大小的增量文件分片进行压缩,并拒绝对未达到预设大小的增量文件分片进行压缩。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811525379 | 2018-12-13 | ||
CN2018115253792 | 2018-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324660A CN111324660A (zh) | 2020-06-23 |
CN111324660B true CN111324660B (zh) | 2024-05-24 |
Family
ID=71172475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910785511.1A Active CN111324660B (zh) | 2018-12-13 | 2019-08-23 | 数据同步方法、装置、电子设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324660B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112238881B (zh) * | 2020-09-29 | 2022-10-04 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种实时同步主备数据的高速铁路调度集中自律机系统 |
CN113094347A (zh) * | 2021-05-08 | 2021-07-09 | 广州文石信息科技有限公司 | 一种数据同步方法、装置以及设备 |
CN113157716B (zh) * | 2021-05-13 | 2023-05-26 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、设备及介质 |
CN114090690A (zh) * | 2021-11-24 | 2022-02-25 | 中国建设银行股份有限公司 | 一种数据同步方法、装置及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN102761861A (zh) * | 2011-04-27 | 2012-10-31 | 中国移动通信集团广东有限公司 | 信息的更新方法、服务器以及信息的更新系统 |
CN103955498A (zh) * | 2014-04-22 | 2014-07-30 | 北京联时空网络通信设备有限公司 | 一种搜索引擎创建方法及装置 |
CN104156367A (zh) * | 2013-05-14 | 2014-11-19 | 阿里巴巴集团控股有限公司 | 一种搜索引擎的扩容方法及搜索服务系统 |
CN105404521A (zh) * | 2014-05-30 | 2016-03-16 | 广州市动景计算机科技有限公司 | 一种增量升级方法及相关装置 |
CN105912628A (zh) * | 2016-04-07 | 2016-08-31 | 北京奇虎科技有限公司 | 主从数据库的同步方法及装置 |
CN106302753A (zh) * | 2016-08-18 | 2017-01-04 | 福建天泉教育科技有限公司 | 客户端程序增量更新的方法及系统 |
CN106469158A (zh) * | 2015-08-17 | 2017-03-01 | 杭州海康威视系统技术有限公司 | 数据同步方法和装置 |
CN107402963A (zh) * | 2017-06-20 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 搜索数据的构建方法、增量数据的推送方法及装置和设备 |
CN108121804A (zh) * | 2017-12-22 | 2018-06-05 | 百度在线网络技术(北京)有限公司 | 跨地域分布式存储数据的方法、装置、终端及存储介质 |
KR20180073128A (ko) * | 2016-12-22 | 2018-07-02 | 항저우 순왕 테크놀로지 컴퍼니 리미티드 | 데이터 블록 비교에 의한 데이터 업데이트 방법 |
CN108334771A (zh) * | 2017-01-17 | 2018-07-27 | 杭州海康威视数字技术股份有限公司 | 一种增量升级包生成、增量更新方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282112B2 (en) * | 2014-11-04 | 2019-05-07 | Rubrik, Inc. | Network optimized deduplication of virtual machine snapshots |
EP3271840B1 (en) * | 2015-05-07 | 2019-02-27 | Cloudera, Inc. | Mutations in a column store |
CN104883404B (zh) * | 2015-06-04 | 2017-05-24 | 上海斐讯数据通信技术有限公司 | 基于网络的文件云同步方法 |
-
2019
- 2019-08-23 CN CN201910785511.1A patent/CN111324660B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
CN102761861A (zh) * | 2011-04-27 | 2012-10-31 | 中国移动通信集团广东有限公司 | 信息的更新方法、服务器以及信息的更新系统 |
CN104156367A (zh) * | 2013-05-14 | 2014-11-19 | 阿里巴巴集团控股有限公司 | 一种搜索引擎的扩容方法及搜索服务系统 |
CN103955498A (zh) * | 2014-04-22 | 2014-07-30 | 北京联时空网络通信设备有限公司 | 一种搜索引擎创建方法及装置 |
CN105404521A (zh) * | 2014-05-30 | 2016-03-16 | 广州市动景计算机科技有限公司 | 一种增量升级方法及相关装置 |
CN106469158A (zh) * | 2015-08-17 | 2017-03-01 | 杭州海康威视系统技术有限公司 | 数据同步方法和装置 |
CN105912628A (zh) * | 2016-04-07 | 2016-08-31 | 北京奇虎科技有限公司 | 主从数据库的同步方法及装置 |
CN106302753A (zh) * | 2016-08-18 | 2017-01-04 | 福建天泉教育科技有限公司 | 客户端程序增量更新的方法及系统 |
KR20180073128A (ko) * | 2016-12-22 | 2018-07-02 | 항저우 순왕 테크놀로지 컴퍼니 리미티드 | 데이터 블록 비교에 의한 데이터 업데이트 방법 |
CN108334771A (zh) * | 2017-01-17 | 2018-07-27 | 杭州海康威视数字技术股份有限公司 | 一种增量升级包生成、增量更新方法及装置 |
CN107402963A (zh) * | 2017-06-20 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 搜索数据的构建方法、增量数据的推送方法及装置和设备 |
CN108121804A (zh) * | 2017-12-22 | 2018-06-05 | 百度在线网络技术(北京)有限公司 | 跨地域分布式存储数据的方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111324660A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324660B (zh) | 数据同步方法、装置、电子设备及机器可读存储介质 | |
CN110674146B (zh) | 一种数据同步方法、同步端、待同步端、设备及存储介质 | |
CN107591149B (zh) | 音频合成方法、装置及存储介质 | |
KR100739729B1 (ko) | 디지털 방송 네트워크에서 서버와 클라이언트 간 epg정보를 동기화시키기 위한 방법 및 장치 | |
KR100921845B1 (ko) | 미디어 아이템들의 관리를 위한 방법, 시스템, 컴퓨터프로그램 및 디바이스 | |
JP4341656B2 (ja) | コンテンツ管理装置、ウェブサーバ、ネットワークシステム、コンテンツ管理方法、コンテンツ情報管理方法およびプログラム | |
EP1770599A2 (en) | Information processing apparatus and method, and program used therewith | |
CN110321387A (zh) | 数据同步方法、设备及终端设备 | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
WO2021237467A1 (zh) | 文件上传方法、文件下载方法和文件管理装置 | |
CN110781230A (zh) | 一种数据接入方法、装置及设备 | |
US9088662B2 (en) | System and method for managing file catalogs on a wireless handheld device | |
CN112559463A (zh) | 压缩文件处理的方法及装置 | |
CN107391769B (zh) | 一种索引查询方法及装置 | |
CN112835972B (zh) | 非结构化数据的同步方法及系统 | |
EP2594902A2 (en) | Retrieval terminal device, retrieval server device, retrieval tree compression method, and center-linked retrieval system | |
CN105338059A (zh) | 一种数据同步方法及移动终端 | |
CN110928946A (zh) | 一种文档编辑方法、装置及终端设备 | |
JP4453656B2 (ja) | 端末認証装置および方法 | |
CN110704573B (zh) | 目录存储方法、装置、计算机设备及存储介质 | |
CN114647618A (zh) | 信令数据查询方法、信令数据索引库的构建方法及服务器 | |
CN111104366A (zh) | 数据归档方法、装置、服务器以及存储介质 | |
CN113535962B (zh) | 数据入库方法、装置、电子装置、程序产品及存储介质 | |
CN101515281A (zh) | 影像编辑装置、终端装置以及gui程序发送方法 | |
CN104796497A (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 |