CN117527833A - 一种数据同步方法 - Google Patents
一种数据同步方法 Download PDFInfo
- Publication number
- CN117527833A CN117527833A CN202410008636.4A CN202410008636A CN117527833A CN 117527833 A CN117527833 A CN 117527833A CN 202410008636 A CN202410008636 A CN 202410008636A CN 117527833 A CN117527833 A CN 117527833A
- Authority
- CN
- China
- Prior art keywords
- data
- logid
- client
- sent
- server
- 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 52
- 230000001174 ascending effect Effects 0.000 claims abstract description 10
- 238000012986 modification Methods 0.000 claims description 29
- 230000004048 modification Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据同步方法,涉及数据同步的技术领域,其方法包括:读取本地的logid;将读取到的logid发送至服务器;发送至服务器的logid用于触发所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;以及,执行所述服务器发送的数据并将所述数据中最大logid更新至本地的logid。
Description
技术领域
本申请涉及数据同步的技术领域,尤其是涉及一种数据同步方法。
背景技术
在客户端从服务器同步数据时,当前方式有:全量同步、增量同步及差量同步。
对于全量同步,在数据量小时使用影响不明显。但是当数据量很大时,存在以下问题:同步全部数据需要很久的时间,实时性很差,用户等待时间久;占用资源,影响其他的业务流程;占用带宽,影响其他的应用程序,如果是移动应用程序,由于流量消耗大,对用户不友好。
对于增量同步,相比全量同步,实时性提高了,更新的数据量也变小了;增量同步的缺点包括:存在同一数据的重复的操作与不必要的操作;由于经年累月的操作,导致增量记录可能很长,占用存储资源;如果很久没有同步数据,再次同步也需要很长时间。
对于差量同步,与全量同步相比,减少了数据量,提高了实时性;与增量同步相比,减少了不必要的操作,减少了重复操作,因为是同步时比较,因此没有更新记录,也减少了存储要求;缺点是每次都要将历史数据与目标数据对比求出差异值,然后才能根据结果同步数据。由于每个数据都要对比一次,在数据量大时,对比差异比较耗费时间,而且未更新数据的比较是多余的动作。
如何优化进行客户端从服务器同步数据中存在的问题是本领域技术人员需要攻克的技术难题。
发明内容
为了至少部分解决上述技术问题,本申请提供了一种数据同步方法。
第一方面,本申请提供的一种数据同步方法采用如下的技术方案。
一种数据同步方法,应用于客户端,包括:
读取本地的logid;
将读取到的logid发送至服务器;发送至服务器的logid用于触发所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;以及,
执行所述服务器发送的数据并将所述数据中最大logid更新至本地的logid,
可选的,所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端,包括:所述服务器判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;
所述方法还包括:执行所述客户端发送的数据时若识别到所述标记信息,则再次从服务器同步数据。
可选的,读取本地的logid的触发条件包括:检测到需要同步数据的软件启动及接收到服务器发送的同步命令中的一个。
可选的,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据。
可选的,在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;
对于一个有N行有效数据的数据表,其创建操作共有N条log,其修改操作,共有N*M条log有效数据;对应的log表总行数为N*(M+1);加上数据表的已删除P行数据,则log表的总数为N*(M+1)+P。
可选的,读取本地的logid,包括:
判断本地是否存在同步后的logid;
如果存在,则将同步后的logid作为读取到的logid;
如果不存在,则将-1作为读取到的logid。
第二方面,本申请提供的一种数据同步方法采用如下的技术方案。
一种数据同步方法,应用于服务器,包括:
接收客户端发送的logid;客户端发送的logid是所述客户端读取本地的logid后发送的;
判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;若否,则以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;发送至客户端的logid值用于触发所述客户端将数据中最大logid更新至本地的logid。
可选的,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据;
在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;
对于一个有N行有效数据的数据表,其创建操作共有N条log,其修改操作,共有N*M条log有效数据;对应的log表总行数为N*(M+1);加上数据表的已删除P行数据,则log表的总数为N*(M+1)+P。
第三方面,本申请公开一种电子设备,包括存储器和处理器,所述存储器上存储有被处理器加载并执行上述的任一方法的计算机程序。
第四方面,本申请公开一种计算机可读存储介质,存储有能够被处理器加载并执行上述的任一方法的计算机程序。
通过采用上述技术方案,将数据的属性划分为互相独立的,然后每个属性的修改对应一个命令;新的属性修改操作删除同数据同属性的对应操作,数据修改表的变化稳定,可预测表大小;跨越时间很久的数据同步,已经去除了对数据的无效操作;实时同步数据时设置一段延时,则自动获得了去重功能;查询即获得最佳的数据差异,而不需要数据对比操作,且没有重复数据、无效数据。
附图说明
图1是数据表的示意图;
图2是服务器端在接收到修改操作后记录信息变化的log表;
图3是本申请实施例一种数据同步方法应用于客户端的流程图;
图4是本申请实施例一种数据同步方法应用于服务器的流程图;
图5是举例说明的示意图;
图6是举例说明的示意图。
具体实施方式
下面结合附图1-6和具体实施例对本申请作进一步说明。
参照图1所示,这是数据存储时的信息,以下称数据表,此类数据有M个独立的属性。每次新增这种类型的数据将导致数据表增加一行,删除一个类型的数据导致数据表删除一行,修改属性时修改对应属性的值,对行数无影响。
参照图2所示,服务器端在接收到修改操作后记录信息变化的表,以下称为log表。每个数据的每个独立属性更新一次,记录一行log。
本申请实施例公开一种数据同步方法。参照图3,作为一种数据同步方法的一种实施方式,一种数据同步方法包括以下步骤:
步骤101、读取本地的logid。
步骤102、将读取到的logid发送至服务器;发送至服务器的logid用于触发所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端。
步骤103、执行所述服务器发送的数据并将所述数据中最大logid更新至本地的logid。
本申请的技术方案具有如下技术优势:将数据的属性划分为互相独立的,然后每个属性的修改对应一个命令;新的属性修改操作删除同数据同属性的对应操作,数据修改表的变化稳定,可预测表大小;跨越时间很久的数据同步,已经去除了对数据的无效操作;实时同步数据时设置一段延时,则自动获得了去重功能;查询即获得最佳的数据差异,而不需要数据对比操作,且没有重复数据、无效数据。
并且,结合了增量同步与差量同步的优点,摒弃了两者缺点。实现:提高了实时性与响应速度;尽量小的占用存储,减少不必要的更新与重复更新数据,消除了比较操作。
作为一种数据同步方法的一种具体实施方式,所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端,包括:所述服务器判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;
所述方法还包括:执行所述客户端发送的数据时若识别到所述标记信息,则再次从服务器同步数据。
作为一种数据同步方法的一种具体实施方式,读取本地的logid的触发条件包括:检测到需要同步数据的软件启动及接收到服务器发送的同步命令中的一个。
作为一种数据同步方法的一种具体实施方式,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据。
具体地,在第一次部署服务器时,给予预测的存储大小,以后不用担心存储不够的问题,也不用有其他的数据转存操作。而增量更新由于每次修改一次增加一行,导致增量表的大小是修改操作的数量Q,Q随着时间变化逐渐增大,导致存储越来越大,插入与查询操作也更慢;为了解决增量表的这些问题,就要对数据进行处理,如每天将旧数据导出到别的服务等。
在1个logid之后的所有数据,即为当前数据与最新数据的变化的集合,因此不用对比,直接查询就可以得出结果。
所以,此种同步方式,对存储友好,减少存储的额外操作,对维护友好。也不用对比,查询结果即为需求的数据集合。
作为一种数据同步方法的其中一种实施方式,在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;
对于一个有N行有效数据的数据表,其创建操作共有N条log,其修改操作,共有N*M条log有效数据;对应的log表总行数为N*(M+1);加上数据表的已删除P行数据,则log表的总数为N*(M+1)+P。
作为一种数据同步方法的其中一种实施方式,读取本地的logid,包括:
判断本地是否存在同步后的logid;
如果存在,则将同步后的logid作为读取到的logid;
如果不存在,则将-1作为读取到的logid。
下面进行举例说明:如下为一个程序更新使用案例。
参照图5,这是个程序在v1.0更新到v1.4的时候,程序内包含文件的变化情况。有的文件在程序更新时未变化,这种文件就可以不用更新。
参照图6,所示为程序更新历史对应的log表,在图中,更新操作不但将对应的旧版本文件修改操作删除了,也删除了对应文件的创建操作。因为程序更新这种案例中,文件更新与文件新增的结果一样,都要将新文件复制到程序中。因此,这种案例中,log表的行数是文件数量大小,数量也是稳定的。
在程序v1.0创建完成后,客户端执行完log表中{1,2,3}后,记录客户端logid=3;
当程序更新到v1.1,则客户端传输logid=3到服务器,获取结果{4,5}并执行后,记录客户端logid=5;
以此类推,每次程序更新后,客户端执行查询命令获取更新结果并修改客户端logid值。
如果跨版本更新,有一个客户端版本是v1.1,在更新到最新版v1.4的时候,发送logid=5,查询就能获取更新信息为{6,10,11}。
相比于下载完整程序版本安装,减少了下载的文件;
还有一种程序更新方式是,客户端发送当前版本信息或文件信息,服务器对比后将需要的文件打包后发送到客户端。相比于此种方式,减少了服务的文件比对操作,减少了服务器压力。
本申请还提供了一种数据同步方法,应用于服务器,包括:
接收客户端发送的logid;客户端发送的logid是所述客户端读取本地的logid后发送的;
判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;若否,则以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;发送至客户端的logid值用于触发所述客户端将数据中最大logid更新至本地的logid。
作为一种数据同步方法的其中一种实施方式,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据;
在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;
对于一个有N行有效数据的数据表,其创建操作共有N条log,其修改操作,共有N*M条log有效数据;对应的log表总行数为N*(M+1);加上数据表的已删除P行数据,则log表的总数为N*(M+1)+P。
本发明实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;上述存储器存储有能够被上述至少一个处理器执行的计算机程序,上述计算机程序在被上述至少一个处理器执行时用于使电子设备执行本发明实施例的方法。
本发明实施例还提供一种计算机可读存储介质,其中,上述计算机程序在被计算机的处理器执行时用于使上述计算机执行本发明实施例的方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被计算机的处理器执行时用于使计算机执行本发明实施例的方法。
现将描述可以作为本发明实施例的服务器或客户端的电子设备的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
电子设备包括计算单元,其可以根据存储在只读存储器(ROM)中的计算机程序或者从存储单元加载到随机访问存储器(RAM)中的计算机程序,来执行各种适当的动作和处理。在RAM中,还可存储电子设备操作所需的各种程序和数据。计算单元、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
电子设备中的多个部件连接至I/O接口,包括:输入单元、输出单元、存储单元以及通信单元。输入单元可以是能向电子设备输入信息的任何类型的设备,输入单元可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元可以包括但不限于磁盘、光盘。通信单元允许电子设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元的一些示例包括但不限于CPU、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元执行上文所描述的各个方法和处理。例如,在一些实施例中,本发明的方法实施例可被实现为计算机程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到电子设备上。在一些实施例中,计算单元可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述的方法。
用于实施本发明实施例的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得计算机程序当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明实施例的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读信号介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本发明实施例使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。本发明实施例中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本发明实施例所提供的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的保护范围在此方面不受限制。
“实施例”一词在本说明书中指的是结合实施例描述的具体特征、结构或特性可以包括在本发明的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见。尤其,对于装置、设备、系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据同步方法,应用于客户端,其特征在于,包括:
读取本地的logid;
将读取到的logid发送至服务器;发送至服务器的logid用于触发所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;以及,
执行所述服务器发送的数据并将所述数据中最大logid更新至本地的logid。
2.根据权利要求1所述的一种数据同步方法,其特征在于,所述服务器以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端,包括:所述服务器判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;
所述方法还包括:执行所述客户端发送的数据时若识别到所述标记信息,则再次从服务器同步数据。
3.根据权利要求2所述的一种数据同步方法,其特征在于,读取本地的logid的触发条件包括:检测到需要同步数据的软件启动及接收到服务器发送的同步命令中的一个。
4.根据权利要求3所述的一种数据同步方法,其特征在于,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据。
5.根据权利要求4所述的一种数据同步方法,其特征在于,在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;P为常数。
6.根据权利要求5所述的一种数据同步方法,其特征在于,读取本地的logid,包括:
判断本地是否存在同步后的logid;
如果存在,则将同步后的logid作为读取到的logid;
如果不存在,则将-1作为读取到的logid。
7.一种数据同步方法,应用于服务器,其特征在于,包括:
接收客户端发送的logid;客户端发送的logid是所述客户端读取本地的logid后发送的;
判断log表中logid值大于所述客户端发送的logid值的数据量是否大于基准值;若是,则将基准值数据量的logid值发送至客户端并在发送的数据中设置标记信息;所述标记信息用于提示所述客户端存在剩余数据需要获取;若否,则以数据值升序的形式发送log表中logid值大于所述客户端发送的logid值的数据至客户端;发送至客户端的logid值用于触发所述客户端将数据中最大logid更新至本地的logid。
8.根据权利要求7所述的一种数据同步方法,其特征在于,所述log表是所述服务器接收到客户端发送的修改操作后记录信息变化的表;
所述服务器每接收到一个数据属性发生更新记录一行log;
其中,字段数据包括:字段logid、字段s_id及字段cmd;其中,字段logid每次修改数据属性时对应的全局唯一标识,为自增型;字段s_id表示数据自身的唯一标识;字段cmd表示对数据的操作;
所述服务器配置有{create,u1,u2,...,uM,delete}命令集合,create表示创建数据,u1修改独立属性1,uM表示修改独立属性M,delete表示删除数据;
在所述log表中:如果cmd为delete,则会将所述log表下所有相同的s_id的行都删除;对于数据表中曾经存在的P行已删除数据,则log表有P个对应的行;如果cmd不为delete,则数据修改的时候每次更新数据都会将之前同s_id与同cmd的行删除;
对于一个有N行有效数据的数据表,其创建操作共有N条log,其修改操作,共有N*M条log有效数据;对应的log表总行数为N*(M+1);加上数据表的已删除P行数据,则log表的总数为N*(M+1)+P。
9.一种电子设备,其特征在于,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;上述存储器存储有能够被上述至少一个处理器执行的计算机程序,上述计算机程序在被上述至少一个处理器执行时用于使电子设备执行如权利要求1至6或7至8中任一所述方法。
10.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至6或7至8任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008636.4A CN117527833B (zh) | 2024-01-04 | 2024-01-04 | 一种数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008636.4A CN117527833B (zh) | 2024-01-04 | 2024-01-04 | 一种数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117527833A true CN117527833A (zh) | 2024-02-06 |
CN117527833B CN117527833B (zh) | 2024-03-29 |
Family
ID=89763018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410008636.4A Active CN117527833B (zh) | 2024-01-04 | 2024-01-04 | 一种数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527833B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571923A (zh) * | 2011-12-13 | 2012-07-11 | 中国电子科技集团公司第十五研究所 | 数据同步系统及方法 |
CN102789475A (zh) * | 2012-05-08 | 2012-11-21 | 华为技术有限公司 | 数据库服务器端结果集缓存的数据同步方法及装置 |
CN104615759A (zh) * | 2015-02-13 | 2015-05-13 | 厦门雅迅网络股份有限公司 | 一种不同业务系统平台间的数据同步方法 |
WO2016127903A1 (zh) * | 2015-02-13 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
CN108259562A (zh) * | 2017-12-11 | 2018-07-06 | 杭州品茗安控信息技术股份有限公司 | 一种基于多端点的数据同步方法及装置 |
CN110879813A (zh) * | 2019-11-20 | 2020-03-13 | 浪潮软件股份有限公司 | 一种基于二进制日志解析的MySQL数据库增量同步实现方法 |
CN111752941A (zh) * | 2019-07-31 | 2020-10-09 | 北京京东尚科信息技术有限公司 | 一种数据存储、访问方法、装置、服务器及存储介质 |
CN115878721A (zh) * | 2021-08-13 | 2023-03-31 | 漳州立达信光电子科技有限公司 | 一种数据同步方法、装置、终端和计算机可读存储介质 |
CN117294725A (zh) * | 2023-09-26 | 2023-12-26 | 红有软件股份有限公司 | 一种复杂网络下基于文件的数据同步方法及系统 |
-
2024
- 2024-01-04 CN CN202410008636.4A patent/CN117527833B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571923A (zh) * | 2011-12-13 | 2012-07-11 | 中国电子科技集团公司第十五研究所 | 数据同步系统及方法 |
CN102789475A (zh) * | 2012-05-08 | 2012-11-21 | 华为技术有限公司 | 数据库服务器端结果集缓存的数据同步方法及装置 |
CN104615759A (zh) * | 2015-02-13 | 2015-05-13 | 厦门雅迅网络股份有限公司 | 一种不同业务系统平台间的数据同步方法 |
WO2016127903A1 (zh) * | 2015-02-13 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
CN108259562A (zh) * | 2017-12-11 | 2018-07-06 | 杭州品茗安控信息技术股份有限公司 | 一种基于多端点的数据同步方法及装置 |
CN111752941A (zh) * | 2019-07-31 | 2020-10-09 | 北京京东尚科信息技术有限公司 | 一种数据存储、访问方法、装置、服务器及存储介质 |
CN110879813A (zh) * | 2019-11-20 | 2020-03-13 | 浪潮软件股份有限公司 | 一种基于二进制日志解析的MySQL数据库增量同步实现方法 |
CN115878721A (zh) * | 2021-08-13 | 2023-03-31 | 漳州立达信光电子科技有限公司 | 一种数据同步方法、装置、终端和计算机可读存储介质 |
CN117294725A (zh) * | 2023-09-26 | 2023-12-26 | 红有软件股份有限公司 | 一种复杂网络下基于文件的数据同步方法及系统 |
Non-Patent Citations (1)
Title |
---|
谈永奇等: "一种跨越不同安全域的数据同步方案的设计与实现", 解放军理工大学学报(自然科学版), no. 04, 25 August 2005 (2005-08-25), pages 28 - 31 * |
Also Published As
Publication number | Publication date |
---|---|
CN117527833B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763602B (zh) | 一种数据请求处理的方法、服务器及系统 | |
CN110196836B (zh) | 一种数据存储方法及装置 | |
WO2020140634A1 (zh) | 存储空间优化方法、装置、计算机设备及存储介质 | |
CN110247984B (zh) | 业务处理方法、装置及存储介质 | |
CN111190962B (zh) | 一种文件同步方法、装置及本地终端 | |
CN112162773B (zh) | 差分升级方法及装置、存储介质、终端 | |
WO2021115177A1 (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN110609813A (zh) | 一种数据存储系统及方法 | |
CN112347355B (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN107040576A (zh) | 信息推送方法及装置、通讯系统 | |
CN115421968A (zh) | 数据恢复方法及电子设备 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
CN109460389B (zh) | 一种基于openresty的日志记录方法 | |
CN117527833B (zh) | 一种数据同步方法 | |
CN110502574B (zh) | 跨系统的信息同步方法、用户设备、存储介质及装置 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN110851433B (zh) | 键值存储系统键优化方法、存储介质、电子设备及系统 | |
CN115757639A (zh) | 数据源同步方法、装置、电子设备及存储介质 | |
WO2021254280A1 (zh) | 磁盘挂载方法、装置、存储介质以及电子装置 | |
CN115421976A (zh) | 异地备灾数据处理方法及装置 | |
CN108958838A (zh) | 一种新型更新属性信息的方法及装置 | |
CN114385596A (zh) | 数据处理方法及装置 | |
CN114691703A (zh) | 数据更新方法、装置、电子设备及存储介质 | |
CN114254035A (zh) | 数据库系统、数据处理方法及设备 | |
CN110674148A (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 |