CN116450595A - 文档一致性校验方法及系统 - Google Patents
文档一致性校验方法及系统 Download PDFInfo
- Publication number
- CN116450595A CN116450595A CN202310417065.5A CN202310417065A CN116450595A CN 116450595 A CN116450595 A CN 116450595A CN 202310417065 A CN202310417065 A CN 202310417065A CN 116450595 A CN116450595 A CN 116450595A
- Authority
- CN
- China
- Prior art keywords
- data block
- document
- identifier
- client
- target document
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 189
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012937 correction Methods 0.000 claims description 14
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供文档一致性校验方法及系统,其中方法包括:接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。通过更新数据块标识和本地记录的当前数据块标识对客户端当前目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,防止用户基于错误的文档进行操作,进而提高文档数据的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别涉及文档一致性校验方法。本申请同时涉及文档一致性校验系统、文档一致性校验装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着电子信息技术的发展,多人协同文档逐渐在办公中普及。与以往的单人文档不同,多人协同文档可以由多位创作者对文档共同进行创作,并且支持多人同时对文档进行编辑操作,大大方便了团队协作办公。
然而,由于服务端和各个办公人员客户端的网络连接存在不稳定因素,同一份文档在不同的客户端可能呈现出不同内容,容易导致用户编辑的内容丢失或者文档出错。
发明内容
有鉴于此,本申请实施例提供了文档一致性校验方法。本申请同时涉及文档一致性校验系统、文档一致性校验装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
根据本申请实施例的第一方面,提供了一种文档一致性校验方法,应用于客户端,包括:
接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;
根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;
根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
根据本申请实施例的第二方面,提供了一种文档一致性校验方法,应用于服务端,包括:
接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;
获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;
对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;
根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
根据本申请实施例的第三方面,提供了一种文档一致性校验系统,包括服务端和客户端:
服务端,被配置为接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验;
客户端,被配置为接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
根据本申请实施例的第四方面,提供了一种文档一致性校验装置,应用于客户端,包括:
第一接收模块,被配置为接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;
第一获取模块,被配置为根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;
校验模块,被配置为根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
根据本申请实施例的第五方面,提供了一种文档一致性校验装置,应用于服务端,包括:
第二接收模块,被配置为接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;
第二获取模块,被配置为获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;
存储模块,被配置为对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;
生成模块,被配置为根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
根据本申请实施例的第六方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述文档一致性校验方法的步骤。
根据本申请实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述文档一致性校验方法的步骤。
本申请提供的文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,防止用户基于错误的文档进行操作,避免客户端的操作数据丢失,进而提高文档数据的准确性。
附图说明
图1是本申请一实施例提供的一种文档一致性校验系统的架构图;
图2是本申请一实施例提供的一种文档一致性校验方法的流程图;
图3是本申请一实施例提供的一种文档一致性校验方法的流程图;
图4是本申请一实施例提供的一种应用于多人协同设计文档的文档一致性校验方法的处理流程图;
图5是本申请一实施例提供的一种文档一致性校验装置的结构示意图;
图6是本申请一实施例提供的一种文档一致性校验装置的结构示意图;
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
哈希算法(hash):是一种摘要算法,对于一段数据可以转换为一个固定大小的输出(比如一个64位整数),可以用于数字签名,验证数据的完整性。也就是如果两端数据的hash不一致,那么可以断定两者并不相同。而如果两段数据的hash一致,一般来说代表两段数据就是相同的。
随着电子信息技术的发展,多人协同文档逐渐在办公中普及。与以往的单人文档不同,多人协同文档可以由多位创作者对文档共同进行设计和创作,并且支持多人同时对文档进行编辑操作,大大方便了团队协作办公。
目前,大多数支持协同编辑的UI设计工具,是由多个用户同时连接到服务端,对同一个文档进行协同编辑。为了支持用户的高效操作,每个客户端都需要在本地保持一份完整的数据,由服务端对各个客户端本地保存的文档数据进行统一管理,因此,服务端和每个客户端都需要维护同一份数据的副本。
由于多个用户在编辑过程中,按照各自的习惯和处理方式对文档进行设计时,很可能会向服务端发送逻辑冲突的操作数据,例如对文档中同一部分内容做出不一样的编辑操作,或者对不同的两部分内容进行了相同的命名等等。服务端往往通过CRDT协议来保证文档数据一致性。CRDT作为一种处理冲突的框架,能够帮助客户端处理难以解决的冲突问题,对造成冲突的处理操作进行修正,从而确保各客户端显示的数据是一致的,避免文档发生错误导致无法打开、文档内容乱码或者用户编辑的数据丢失等问题。
然而,通过CRDT协议对冲突的用户操作数据进行修正后,也需要通过服务端将修正数据下发至各个客户端,在服务端下发数据,对客户端存储的文档进行更新的过程中,由于网络波动、系统漏洞等种种原因,很有可能导致数据无法正确下发,造成各客户端数据不一致的情况。
实际应用中,用户有可能长时间的打开一个文档编辑窗口达数周之久,这个过程中客户端和服务端有可能会断开连接后又重新进行同步。在这个过程中,服务器也可能出现重启,使得一些数据被重复下发。由于流程复杂且数据量巨大,各个环节出现问题都可能导致各个客户端的数据产生不一致的情况,比如:
假设客户端A,B已经连接到服务端,新加入一个客户端C,恰好这个时候有客户端向服务端提交一些新的操作,由于服务端处理的时序问题,导致客户端C漏掉了最新一次操作数据的同步,那么客户端C的文档数据就与其他客户端不一致;
再比如,假设客户端A,B连接到服务端,连接过程中服务端发生了重启,且由于系统漏洞导致服务端重启前后的逻辑不一致。对于同一个操作,客户端A是从重启前的服务端获取的数据,而客户端B是从重启后的服务端获取的数据,那么A、B两个客户端的文档数据就不一致了。
为了提高协同编辑工具的可靠性,为用户带来更好的使用体验,应当优先保障用户数据的正确性,保证各个客户端保存的文档副本是一模一样的,否则就会有文档出错的隐患,可能导致用户编辑数据的丢失。
目前,对文档数据的一致性进行校验,往往是通过全量比较文档数据,具体可以由服务端计算出服务端保存的完整文档数据内容对应的哈希值,然后由服务端获取各个客户端本地当前的文档内容对应的哈希值,并将两端哈希值进行比对,根据比对结果判断文档数据是否一致。
该方案的存在如下缺陷:(1)客户端和服务器编程语言和内存数据模型不一定一致,因此计算哈希值的数据格式很可能不一致,导致计算结果无法直接用于比对。(2)客户端在持续进行编辑的过程中,本地内容很可能与服务器不一致,因此与服务器下发的哈希值只进行简单比对,很有可能由于比对结果不一致产生误报。(3)服务端和客户端均扫描完整文档,计算全局哈希值,会导致系统的计算开销非常大,无法有效利用服务器资源,影响文档处理效率。由于上述缺陷,容易导致该方案较难实现,并且数据一致性的校验结果不够准确。
基于此,本申请一个实施例提供一种文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,不论是什么原因导致的数据不一致,都会第一时间发现并报告,避免用户基于错误的文档进行操作,减少客户端操作数据丢失的可能性,进而提高文档数据的准确性。
在本申请中,提供了文档一致性校验方法,本申请同时涉及文档一致性校验系统,文档一致性校验装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1是本申请一实施例提供的一种文档一致性校验系统的架构图,该系统具体包括服务端102和多个客户端104,服务端102和多个客户端104之间通过信号进行交互,服务端102和多个客户端104之间可以通过互联网或者局域网等建立网络连接:
服务端102,被配置为接收客户端104针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;获取服务端102的目标数据块标识,其中,目标数据块标识为服务端102的数据块链中最后一个数据块的标识;对至少一个操作数据按块存储获得更新数据块,并根据服务端102的当前数据块标识,为更新数据块配置对应的更新数据块标识;根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端104,其中,文档更新信息用于指示各客户端104对当前的目标文档进行校验。
实际应用中,服务端102可以与多个客户端104建立连接,接收各客户端104发送的针对目标文档的操作数据。服务端102可以按照各操作数据的接收时序对各操作数据按照先后顺序进行存储,然后对各操作数据划分数据块,将新产生的数据块按照预设规则进行校验后生成更新数据块,并将更新数据块存储在目标文档对应的数据块链中;也可以按照时间顺序,每接收一个操作数据,就生成该操作数据对应的数据块,按照预设规则进行校验后生成更新数据块,并将更新数据块存储在目标文档对应的数据块链中。
为了降低服务端的数据处理压力,减少服务端与客户端数据传输过程中的数据量,提高数据传输效率以及数据一致性校验效率,本申请一个或多个实施例中,服务端102可以按照操作数据对应的数据块,将目标文档的文档内容以数据块链的形式进行存储。具体存储方式详见如下公式(1)。
DOCn=TX1+TX2+TX3+TX4+...+TXn (1)
其中,DOCn可以理解为目标文档对应的文档内容,TX1至TXn可以理解为针对目标文档的一系列连续的修改操作。
实际应用中,服务端102可以每生成一个更新数据块,就将更新数据块存储在目标文档对应的数据块链中,示例性地,目标文档目前是新建的空白文档,则当前DOC0对应的数据块链为空;此时某个客户端104提交了一次操作数据,服务端102接收到该操作数据后,可以根据该操作数据生成更新数据块TX1,然后将TX1存储在数据块链中,此时目标文档对应的数据块链就可以是DOC1=TX1。服务端102也可以将生成的更新数据块按照先后顺序进行缓存,随后将缓存的多个数据块按照顺序标识存储在目标文档对应的数据块链中,具体方法可以根据实际情况而定,本说明书对此不作任何限定。
需要说明的是,服务端102生成更新数据块,可以根据更新数据块生成目标文档对应的文档更新信息,将文档更新信息下发至各客户端104以使各客户端104根据文档更新信息对本地存储的文档副本进行数据校验和更新。服务端102将更新数据块存储进目标文档对应的数据块链,以及生成文档更新信息,将文档更新信息下发至各客户端104的步骤之间可以按照同步或异步的顺序来执行,本说明书对此不作任何限定。
本申请一个或多个实施例中,服务端接收各客户端发送的针对目标文档的操作数据,根据操作数据生成更新数据块,将更新数据块存储在目标文档对应的数据块链中,并将更新数据块对应的文档更新信息下发至各客户端,能够完成在服务端对目标文档内容的更新存储,以及对更新数据的下发。服务端无需感知各客户端本地对目标文档的存储情况,无需对各客户端的数据一致性进行校验和判断,并且能够减少每次更新下发的数据量,从而能够大大提高服务端数据处理效率,提高服务端性能。
客户端104,被配置为接收服务端102发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端102的更新数据块标识,更新数据块标识为服务端102根据客户端104对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端104本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
实际应用中,客户端104可以存在多个,用户在客户端104上对文档进行编辑等操作的过程中,客户端104与服务端102的连接状态可以是处于网络连接的状态,也可以是断开连接的状态。也就是说,文档既可以是在线文档也可以是离线文档。当文档处于在线编辑状态时,客户端104可以根据预先设置的数据提交规则,自动识别用户的操作,并将操作数据上传至服务端102;当文档处于离线编辑状态时,客户端104可以将用户在文档离线状态下编辑的操作数据进行存储,等到客户端与服务端102建立网络连接之后,可以将离线状态下编辑的操作数据作为一个整体上传至服务端102,也可以将离线状态下的操作数据按照操作步骤的时序,将每步编辑对应的操作数据按序顺次提交至服务端102。
客户端104接收到服务端102下发的文档更新信息,可以根据文档更新信息包括的目标文档标识获取目标文档在客户端104本地的当前记录信息,根据文档更新信息对当前记录信息进行校验,基于校验结果判断客户端当前存储的文档数据是否与服务端一致。各客户端104均可以根据文档更新信息,与服务端存储的文档数据进行对齐,从而保障各个客户端104本地存储的文档数据相互之间是一致的,提高文档准确性。
本申请一个实施例提供一种文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,不论是什么原因导致的数据不一致,都会第一时间发现并报告,避免用户基于错误的文档进行操作,减少客户端操作数据丢失的可能性,进而提高文档数据的准确性。
图2示出了根据本申请一实施例提供的一种文档一致性校验方法的流程图,应用于客户端,具体包括以下步骤:
步骤202:接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得。
实际应用中,用户可以通过客户端上的UI设计软件、文档编辑器等工具,对目标文档进行编辑操作。客户端可以记录用户针对目标文档进行的一系列操作,并将操作数据按照时间顺序提交至服务端。具体地,客户端可以自动识别用户针对目标文档的编辑操作,用户每完成一次编辑操作,客户端就可以将该次编辑操作对应的操作数据保存并提交至服务端。当客户端与服务端处于断开连接的状态时,客户端可以将断开连接的这段时间内,用户进行的编辑操作按序存储,当客户端与服务器重新建立连接之后,客户端可以将这段时间内存储的操作数据作为一个整体上传至服务端,也可以按照每次操作对应的操作顺序,将操作数据按序提交至服务端。本申请一个或多个实施例中,客户端的文档编辑界面可以设置选择控件,用户可以通过该选择控件,选择由客户端自动上传操作数据或者由用户手动提交操作数据。客户端的文档编辑界面还可以设置提交控件,用户可以根据实际需求,点击提交控件,触发客户端将用户编辑的操作数据提交至服务端。
在客户端与服务端保持连接的情况下,客户端可以接收服务端发送的目标文档的文档更新信息,并根据文档更新信息对客户端本地的目标文档对应的文档数据进行一致性校验。
具体地,目标文档可以是用户正在进行操作的文档,也可以是客户端后台存储的文档。文档更新信息可以理解为服务端下发的,用于使客户端对本地存储的当前目标文档对应的文档数据进行校验的信息。文档更新信息可以包括目标文档标识和服务端的更新数据块标识,其中,目标文档标识用于确定进行数据一致性校验的文档,服务端的更新数据块标识可以理解为服务端的目标文档对应的数据块链上新添加的数据块对应的标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得。
需要说明的是,更新数据块可以是一个也可以是多个,具体可以根据服务端存储在服务端的目标文档数据块链中的更新数据块的个数确定,更新数据块标识是第一个更新数据块对应的标识,例如,服务端将更新数据块TX11、TX12、TX13同时存储在目标文档数据块链中,并根据TX11、TX12、TX13生成文档更新信息,则更新数据块标识为11。
示例性地,服务端当前存储的目标文档的数据块链为DOC10=TX1+TX2+TX3+TX4+TX5+TX6+TX7+TX8+TX9+TX10,服务端根据各客户端新提交的操作数据,生成更新数据块TX11,则服务端更新后的目标文档的数据块链为DOC11=TX1+TX2+TX3+TX4+TX5+TX6+TX7+TX8+TX9+TX10+TX11,此时更新数据块标识即为11。
为了提高数据一致性校验效率,降低客户端和服务端的计算压力,本申请一个或多个实施例,接收服务端发送的目标文档的文档更新信息,根据文档更新信息中包括的目标文档标识和服务端的更新数据块标识对客户端本地存储的当前的目标文档进行校验,能够实现基于服务器下发的更新信息,由各客户端对本地文档数据进行一致性校验,减少交互过程中的数据量,减少校验数据量,从而提高校验效率。
由各客户端对本地文档数据进行一致性校验,而不是由服务端对各客户端的文档数据进行获取和一致性校验,能够将服务端的数据处理压力转移至各客户端承担,并且各客户端仅需对本地当前的目标文档进行校验,能够大大提高数据校验效率,降低服务端数据处理压力。
步骤204:根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识。
实际应用中,客户端可以根据文档更新信息中的目标文档标识获取客户端本地对应的文档记录信息。
具体地,文档记录信息可以理解为客户端记录的本地目标文档的当前信息。由于服务端以更新数据块的形式将更新的操作数据按块发送至各个客户端,客户端可以在本地记录服务端最近一次发送的更新数据块对应的数据块标识。
示例性地,服务器对目标文档的数据块链更新完成,并将更新数据块下发至客户端后,在客户端与服务器的文档数据保持一致的情况下,若服务端的数据块链为DOC10=TX1+TX2+TX3+TX4+TX5+TX6+TX7+TX8+TX9+TX10,则客户端本地记录的当前数据块标识应该为10,客户端当前的目标文档内容应当与服务端保持一致。
实际应用中,客户端使用服务器下发的更新数据块对本地的目标文档进行更新,客户端可以仅对更新数据块中最后一个更新数据块对应的标识进行记录,得到文档记录信息,文档记录信息用于记录客户端本地存储的当前数据块标识。示例性地,客户端使用服务器下发的TX11、TX12、TX13对本地的目标文档进行更新,则更新后,文档记录信息中,当前数据块标识应为13。
根据目标文档标识获取客户端本地记录的当前数据块标识,能够确定目标文档在客户端本地的存储情况,根据当前数据块标识判断文档数据是否一致,能够减少数据一致性校验的数据量,提高客户端数据校验效率,无论是什么原因导致的客户端数据不一致,都能够第一时间发现并进行告警,提高文档内容准确性。
步骤206:根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
实际应用中,根据更新数据块标识和当前数据块标识,能够对客户端当前的目标文档进行校验,获得目标文档的校验结果。
具体地,可以根据更新数据块标识对当前数据块标识进行校验,从而实现对客户端当前目标文档的校验。
本申请一个或多个实施例中,根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,可以包括如下步骤:
将当前数据块标识加1获得校验标识;
将更新数据块标识与校验标识进行比对,得到比对结果;
基于比对结果,获得目标文档的校验结果。
具体地,客户端本地记录的当前数据块标识,可以理解为客户端目前存储的由服务端下发的数据块具体是哪一块。例如,当前数据块标识为1,可以理解为客户端目前只存储了服务端下发的数据块1;当前数据标识为10,可以理解为客户端目前存储了服务端下发的数据块1至数据块10。
容易理解的是,如果客户端的数据与服务端的数据是保持一致的,那么客户端接收到的更新数据块标识就应该是当前数据块标识加1。例如,当前数据标识为10,那么在更新数据块标识为11的情况下,可以说明客户端目前存储的数据与服务端是一致的。
因此,根据更新数据块标识对当前数据块标识进行校验,即可判断客户端的目标文档数据与服务端的目标文档数据是否一致。
具体地,将当前数据块标识加1获得校验标识,将更新数据块标识与校验标识进行比对,得到比对结果。
容易理解的是,将更新数据块标识与校验标识进行比对,可以得到三种比对结果。一种是更新数据块标识与校验标识相等,一种是更新数据块标识大于校验标识,还有一种是更新数据块标识小于校验标识。
可以根据这三种比对结果,对客户端本地的目标文档的数据一致性进行进一步校验,提高校验结果的准确性。
本申请一个或多个实施例中,文档更新信息还可以包括更新数据块的第一内容编码和更新数据块的前一个数据块的第二内容编码;相应地,基于比对结果,获得目标文档的校验结果,可以包括如下步骤:
在比对结果为更新数据块标识大于校验标识的情况下,确定目标文档的校验结果为校验不通过;
在比对结果为更新数据块标识不大于校验标识的情况下,结合第一内容编码或第二内容编码确定目标文档的校验结果。
具体地,更新数据块的第一内容编码是服务端针对更新数据块计算得到的编码,更新数据块的前一个数据块的第二内容编码是服务端针对更新数据块的前一个数据块计算得到的编码。示例性地,更新数据块为TX11,则更新数据块的前一个数据块为TX10,根据TX11计算得到的编码就是第一内容编码,根据TX10计算得到的编码就是第二内容编码。计算内容编码可以通过哈希算法实现,为了保障文档内容的安全性,也可以通过信息摘要算法等编码方法对数据块中的内容进行加密编码。
需要说明的是,在比对结果为更新数据块标识大于校验标识的情况下,说明服务端下发的更新数据块标识,大于客户端应当接收的下一块数据块的标识,也就是说,客户端当前存在遗漏的数据块。在这种情况下,客户端的目标文档是缺失操作数据的,因此数据与服务端并不一致,可以确定校验结果为校验不通过。
而在比对结果为更新数据块标识小于或者等于校验标识的情况下,即更新数据块标识不大于校验标识的情况下,一种快速的校验方法是:若更新数据块标识等于校验标识,可以认为客户端要接收的下一个数据块的标识就是服务端发送的更新数据块标识,因此可以认为客户端当前的目标文档与服务端数据一直,确定校验结果为校验通过;若更新数据块标识小于校验标识,可以认为服务端重复下发了之前发送过的数据块,因此客户端可以忽略本次服务端下发的文档更新信息,确定校验结果为忽略本次校验。
为了提高校验结果准确性,保障目标文档在各客户端的文档内容是一致的,本申请一个或多个实施例,还通过第一内容编码或者第二内容编码进一步对客户端本地对应的文档记录信息进行校验。
相应地,结合第一内容编码或第二内容编码确定目标文档的校验结果,可以包括如下步骤:
若更新数据块标识等于校验标识,则获取客户端本地的当前数据块的第三内容编码;对比第二内容编码和第三内容编码,获得目标文档的校验结果;
若更新数据块标识小于校验标识,则判断当前数据块标识和更新数据块标识是否相等,根据判断结果确定目标文档的校验结果。
具体地,在更新数据块标识与校验标识的比对结果为更新数据块标识等于校验标识的情况下,说明客户端要接收的下一个数据块的标识就是服务端下发的更新数据块标识,此时还可以通过服务端存储的前一个数据块的第二内容编码对客户端本地的当前数据块的第三内容编码进行校验。
由于在数据一致的情况下,服务端中更新数据块的前一个数据块应该与客户端本地的当前数据块内容一致,因此,通过前一个数据块的第二内容编码与当前数据块的第三内容编码进行比对,如果第二内容编码与第三内容编码相等,可以认为客户端的目标文档数据与服务器的目标文档数据是一致的,确定校验结果为校验通过,如果第二内容编码与第三内容编码不相等,可以认为客户端的目标文档数据与服务器的目标文档数据不一致,确定校验结果为校验不通过。
在更新数据块标识与校验标识的比对结果为更新数据块标识小于校验标识的情况下,说明服务端可能重复下发了客户端存储的当前数据块,也可能重复下发了更早之前的数据块。需要先确定具体是重复下发了当前数据块还是重复下发了更早之前的数据块,再进一步根据判断结果确定目标文档的校验结果。
本申请一个或多个实施例中,根据判断结果确定目标文档的校验结果,可以包括如下步骤:
若相等,则获取客户端本地的当前数据块的第三内容编码,对比第一内容编码和第三内容编码,获得目标文档的校验结果;
若不相等,则确定目标文档的校验结果为忽略本次校验。
具体地,如果当前数据块标识和更新数据块标识相等,说明重复下发的是客户端的当前数据块,如果当前数据块标识和更新数据块标识不相等,说明重复下发的是比当前数据块更早之前的数据块。如果重复下发的是比当前数据块更早之前的数据块,可以认为这些数据块是已经通过校验,并按照时序在客户端更新过的数据块,因此无需进行校验,可以确定校验结果为忽略本次校验。
如果重复下发的是客户端目标文档的当前数据块,为了进一步提高文档数据一致性,本申请一个或多个实施例可以获取客户端本地的当前数据块的第三内容编码,将第一内容编码和第三内容编码进行对比,获得目标文档的校验结果。
相应地,对比第一内容编码和第三内容编码,获得目标文档的校验结果,可以包括如下步骤:
若第一内容编码和第三内容编码相同,则确定目标文档的校验结果为忽略本次校验;
若第一内容编码和第三内容编码不相同,则确定目标文档的校验结果为校验不通过。
具体地,客户端本地的当前数据块的第三内容编码,是根据服务下发的数据存储得到的。如果第三内容编码与第一内容编码相同,则说明服务端重复下发的更新数据块在内容上与客户端本地的当前数据块内容一致,客户端文档数据与服务端文档数据一致,并未发生错误,因此可以确定校验结果为忽略本次校验。
如果第三内容编码与第一内容编码不相同,则说明服务端重复下发的更新数据块在内容上与客户端本地的当前数据块内容不一致,客户端文档数据与服务端文档数据不一致,客户端的目标文档发生了错误,确定校验结果为校验不通过。
可选地,在校验结果为忽略本次校验的情况下,客户端无需对服务端发送的文档更新信息继续做出响应,直接忽略本次服务端发送的文档更新信息即可。
通过接收的更新数据块标识、第一内容编码、和第二内容编码,对客户端的当前数据块标识、第三内容编码进行校验,可以在校验数据量较少的情况下,得到更加准确的数据一致性校验结果,大大提高数据一致性校验效率以及文档数据准确性。
可选地,当校验结果为校验不通过时,本申请一个或多个实施例,在获得目标文档的校验结果之后,还可以包括如下步骤:
发出告警信息,其中,告警信息用于提示客户端的用户停止对目标文档进行操作;
重新加载目标文档。
具体地,在检测到校验结果为校验不通过的情况下,发出告警信息,告警信息可以是以弹窗的形式弹出的一段报错的文字信息,也可以是以抖动文档、发出提示音等方式,对用户进行告警的信息。无论是什么原因导致的数据不一致,都可以在第一时间检测出来,并对用户进行告警,能够有效避免用户基于错误的文档继续进行操作,减少用户数据丢失的可能性。
客户端在发出告警信息之后,可以等待用户点击交互控件,以对目标文档进行重新加载,或者也可以在发出告警信息之后的预设时间内,自动对目标文档重新进行加载或着关闭目标文档,避免用户继续基于已报错的文档进行编辑操作。
可选地,文档更新信息还可以包括服务端的更新数据块,当校验结果为校验通过时,本申请一个或多个实施例,在获得目标文档的校验结果之后,还可以包括如下步骤:
使用更新数据块,对客户端当前的目标文档进行更新;
根据更新数据块标识,对当前数据块标识进行更新。
实际应用中,服务端发送的目标文档的文档更新信息中可以包括服务端的更新数据块,在校验结果为校验通过的情况下,客户端可以直接使用更新数据块,对客户端当前的目标文档进行更新,以使客户端的目标文档数据与服务器中的目标文档数据保持一致。
可选地,为了提高数据传输效率,节约数据处理资源,文档更新信息中可以不包括服务端的更新数据块,而是在客户端得到校验通过的校验结果之后,再由客户端向服务端发送更新数据块的获取请求,得到更新数据块。
需要说明的是,客户端使用更新数据块对目标文档进行更新之后,还可以将客户端本地对应的文档记录信息中包括的当前数据块标识更新为更新数据块标识,以及可以使用更新数据块对应的第一内容编码,更新客户端本地的当前数据块的第三内容编码。
本申请一个实施例提供的文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,防止用户基于错误的文档进行操作,避免客户端的操作数据丢失,进而提高文档数据的准确性。
图3示出了根据本申请一实施例提供的一种文档一致性校验方法的流程图,应用于服务端,具体包括以下步骤:
步骤302:接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识。
实际应用中,服务端可以接收多个客户端发送的针对目标文档的操作数据。服务端可以根据接收到的操作数据的先后顺序,对操作数据进行存储。
在服务端接收到客户端针对目标文档发送的至少一个操作数据的情况下,说明服务端需要对目标文档对应的数据块链进行更新,因此,需要获取到目标文档对应的数据块链。
步骤304:获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识。
实际应用中,由于服务端需要将根据至少一个操作数据得到的更新数据块添加至数据块链中,因此,需要获取服务端的目标数据块标识。
具体地,目标数据块标识是目标文档的数据链上,最后一个数据块对应的标识。
本说明书一个或多个实施例中,获取服务端的目标数据块标识,可以包括如下步骤:
根据目标文档标识,获取目标文档对应的数据块链;
确定数据块链上最后一个数据块为目标数据块;
根据目标数据块,获取服务端的目标数据块标识。
实际应用中,可以根据操作数据携带目标文档标识,获取目标文档对应的数据块链,确定数据块链上最后一个数据块为目标数据块,根据目标数据块的标识得到目标数据块标识。
需要说明的是,目标文档对应的数据块链上,各数据块对应的数据块标识可以理解为各数据块在数据块链上具有先后顺序的序号。
步骤306:对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识。
本说明书一个或多个实施例中,服务端可以对至少一个操作数据按块存储,得到更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识。
具体地,对至少一个操作数据按块存储获得更新数据块,可以包括如下步骤:
对至少一个操作数据进行分块,生成初始数据块;
根据预设规则对初始数据块的内容进行校验,获得初始数据块的校验结果;
根据初始数据块的校验结果,确定并存储更新数据块。
本说明书一个或多个实施例中,可以根据服务端接收至少一个操作数据的时序,对至少一个操作数据进行分块。例如,可以将0.05秒内接收到的多个操作数据划分到一个数据块中,生成初始数据块;也可以将接收到的一次变更操作对应的操作数据作为一个初始数据块,还可以将一次变更对应的操作数据划分为多个数据块。进一步地,将一次变更对应的操作数据划分为多个数据块,可以是随机划分,也可以是根据操作数据之间的逻辑关系进行划分。客户端每向服务端提交一次操作数据,可以视为一次变更操作。一次变更操作中可以包括用户对目标文档的一步编辑操作,也可以包括用户对目标文档的多步编辑操作。
为了避免初始数据块中的数据与服务端目标文档的数据块链上的原始数据发生冲突,服务端可以根据预设规则对初始数据块的内容进行校验,获得初始数据块的校验结果。具体地,预设规则可以包括更新数据不允许与原始数据发生命名冲突、更新数据不允许与原始数据发生序号冲突、更新数据不允许与原始数据发生节点循环依赖等,可能导致文档内容异常的校验规则。
相应地,根据初始数据块的校验结果,确定并存储更新数据块,可以包括如下步骤:
若初始数据块的校验结果为符合预设规则,则确定初始数据块为更新数据块,并进行存储;
若初始数据块的校验结果为不符合预设规则,则根据预设规则调整初始数据块的内容生成修正数据,根据初始数据块和修正数据生成更新数据块,并进行存储。
本说明书一个或多个实施例中,如果初始数据块的校验结果为符合预设规则,说明初始数据块中的操作数据并不会与数据块链中的原始数据发生冲突,可以将初始数据块确定为更新数据块,并进行存储。
如果初始数据块的校验结果为不符合预设规则,说明初始数据块中的操作数据与数据块链中的原始数据发生了冲突,服务端需要对初始数据块中的操作数据进行修改和调整,基于操作数据生成额外的修正数据,以避免文档内容发生冲突。因此,在初始数据块的校验结果为不符合预设规则的情况下,可以根据预设规则调整初始数据块的内容生成修正数据,并将修正数据添加至初始数据块中,得到更新数据块并进行存储。
步骤308:根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
实际应用中,服务端生成更新数据块,并为更新数据块配置对应的更新数据块标识之后,可以将目标文档对应的文档更新信息下发至各客户端,以指示各客户端根据文档更新信息对各客户端本地当前的目标文档进行校验。
本申请一个或多个实施例中,根据目标文档标识和更新数据块标识生成对应的文档更新信息,可以包括如下步骤:
获取目标数据块标识对应的目标数据块的第二内容编码;
根据第二内容编码,生成更新数据块的第一内容编码;
将第一内容编码、第二内容编码、更新数据块标识和目标文档标识添加至文档更新信息。
具体地,可以获取目标数据块标识对应的目标数据块的第二内容编码,根据根据第二内容编码、更新数据块中的操作数据生成更新数据块的第一内容编码;或者,在更新数据块中包括操作数据对应的修正数据的情况下,可以根据第二内容编码、更新数据块中的操作数据以及操作数据对应的修正数据生成更新数据块的第一内容编码。
根据第二内容编码、更新数据块中的操作数据以及操作数据对应的修正数据生成更新数据块的第一内容编码的具体方法可以参见下述公式(2)。
hash(TXn)=hash(hash(TXn-1),payload,serverPayload) (2)
其中,TXn是更新数据块,hash(TXn)是更新数据块对应的第一内容编码,TXn-1是目标数据块,hash(TXn-1)是目标数据块对应的第二内容编码,payload是更新数据块中的操作数据,serverPayload是更新数据块中,操作数据对应的修正数据。
本申请一个或多个实施例,将第一内容编码、第二内容编码、更新数据块标识和目标文档标识添加至文档更新信息,从而生成可以用于对各客户端本地的当前目标文档进行数据一致性校验的文档更新信息。
可选地,为了进一步提高服务端效率,降低服务端计算成本,还可以由客户端进行操作数据的内容编码计算,客户端每完成一次编辑操作,可以根据编辑操作对应的操作数据生成更新数据块并计算更新数据块的内容编码,将内容编码发送至服务端,服务端接收各客户端发送的至少一个更新数据块和对应的内容编码,可以按照接收时序和预设规则检验各个更新数据块之间的是否存在冲突,如果存在冲突,有服务端对冲突的操作数据进行调整后,重新计算编码值,然后将调整后的更新数据块下发至各客户端,以指示各客户端对更新数据块对应的更新数据信息进行数据一致性校验。
本申请一个实施例提供的文档一致性校验方法,接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
如此,通过服务端接收各客户端发送的针对目标文档的操作数据,根据操作数据生成更新数据块,将更新数据块存储在目标文档对应的数据块链中,并将更新数据块对应的文档更新信息下发至各客户端,能够完成在服务端对目标文档内容的更新存储,以及对更新数据的下发。服务端无需感知各客户端本地对目标文档的存储情况,无需对各客户端的数据一致性进行校验和判断,并且能够减少每次更新下发的数据量,从而能够大大提高服务端数据处理效率,提高服务端性能。
下述结合附图4,以本申请提供的文档一致性校验方法在多人协同设计文档的应用为例,对所述文档一致性校验方法进行进一步说明。其中,图4示出了本申请一实施例提供的一种应用于多人协同设计文档的文档一致性校验方法的处理流程图,具体包括以下步骤:
步骤402:服务端接收客户端A提交的一次变更操作payload。
步骤404:服务端根据预设规则对payload进行校验,在校验结果为不符合预设规则的情况下,针对payload生成额外的serverPayload,根据payload和serverPayload生成更新数据块TX。
步骤406:服务端获取目标数据块标识10,并根据目标数据块标识10为更新数据块TX配置更新数据块标识11,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识。
步骤408:服务端根据目标数据块的哈希值remotePrevHash(TX10)、payload和serverPayload生成更新数据块的哈希值remoteHash(TX11),并将remotePrevHash(TX10)、remoteHash(TX11)、更新数据块标识11以及目标文档标识添加至文档更新信息。
步骤410:服务端将文档更新信息下发至各个客户端。
步骤412:客户端B接收到文档更新信息,根据目标文档标识获取客户端B本地对应的当前数据块标识10以及当前数据块哈希值localHash(TX10)。
步骤414:客户端B将当前数据块标识加1获得校验标识11。
步骤416:客户端B将更新数据块标识11与校验标识11进行比对,得到比对结果为相等。
步骤418:客户端B将remotePrevHash(TX10)与localHash(TX10)进行比对,得到比对结果为不相等。
步骤420:客户端B发出告警信息,提示当前的目标文档与服务端数据不一致。
可选地,根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,可以通过如下伪代码进行实现。其中,remoteTxId是服务端下发的更新数据块标识,localTxId是客户端当前数据块标识,remotePrevHash是服务端下发的目标数据块的哈希值,localHash是客户端当前数据块的哈希值,remoteHash是服务端下发的更新数据块的哈希值。
if(remoteTxId==localTxId+1){
//下发的变更就应该是本地数据的后续变更,校验远程上一次变更的hash应当和本地hash一致
assert(“hash校验不一致”,remotePrevHash==localHash)
//本地应用远程变更且更新hash
localTxId=remoteTxId
localHash=remoteHash
}else if(remoteTxId==localTxId){
//重复下发最新的TX数据,校验数据的hash是否和本地hash一致
assert(“hash校验不一致”,remoteHash==localHash)
}else if(remoteTxId<localTxId){
//存在重复的数据下发,可以忽略
}else{
throw exception(“存在漏掉的tx”)
}
本申请一个实施例提供的文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,防止用户基于错误的文档进行操作,避免客户端的操作数据丢失,进而提高文档数据的准确性。
与上述方法实施例相对应,本申请还提供了文档一致性校验装置实施例,图5示出了本申请一实施例提供的一种文档一致性校验装置的结构示意图,应用于客户端。如图5所示,该装置包括:
第一接收模块502,被配置为接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;
第一获取模块504,被配置为根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;
校验模块506,被配置为根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
可选地,校验模块506,进一步被配置为:
将当前数据块标识加1获得校验标识;
将更新数据块标识与校验标识进行比对,得到比对结果;
基于比对结果,获得目标文档的校验结果。
可选地,文档更新信息还包括更新数据块的第一内容编码和更新数据块的前一个数据块的第二内容编码;
相应地,校验模块506,进一步被配置为:
在比对结果为更新数据块标识大于校验标识的情况下,确定目标文档的校验结果为校验不通过;
在比对结果为更新数据块标识不大于校验标识的情况下,结合第一内容编码或第二内容编码确定目标文档的校验结果。
可选地,校验模块506,进一步被配置为:
若更新数据块标识等于校验标识,则获取客户端本地的当前数据块的第三内容编码;对比第二内容编码和第三内容编码,获得目标文档的校验结果;
若更新数据块标识小于校验标识,则判断当前数据块标识和更新数据块标识是否相等,根据判断结果确定目标文档的校验结果。
可选地,校验模块506,进一步被配置为:
若相等,则获取客户端本地的当前数据块的第三内容编码,对比第一内容编码和第三内容编码,获得目标文档的校验结果;
若不相等,则确定目标文档的校验结果为忽略本次校验。
可选地,校验模块506,进一步被配置为:
若第一内容编码和第三内容编码相同,则确定目标文档的校验结果为忽略本次校验;
若第一内容编码和第三内容编码不相同,则确定目标文档的校验结果为校验不通过。
可选地,校验结果包括校验不通过;
相应地,文档一致性校验装置还包括告警模块,被配置为发出告警信息,其中,告警信息用于提示客户端的用户停止对目标文档进行操作;
重新加载目标文档。
可选地,校验结果包括校验通过,文档更新信息还包括服务端的更新数据块;
相应地,文档一致性校验装置还包括更新模块,被配置为使用更新数据块,对客户端当前的目标文档进行更新;
根据更新数据块标识,对当前数据块标识进行更新。
本申请一个实施例提供的文档一致性校验方法,接收服务端发送的目标文档的文档更新信息,其中,文档更新信息包括目标文档标识和服务端的更新数据块标识,更新数据块标识为服务端根据客户端对目标文档的操作数据按时序分块存储获得;根据目标文档标识获取客户端本地对应的文档记录信息,其中,文档记录信息包括本地记录的当前数据块标识;根据更新数据块标识和当前数据块标识,对客户端当前的目标文档进行校验,获得目标文档的校验结果。
如此,根据服务端发送的目标文档的文档更新信息,对客户端本地对应的文档记录信息进行校验,能够实现客户端对文档数据一致性的自动校验,通过更新数据块标识和客户端本地记录的当前数据块标识,对客户端当前的目标文档进行校验,能够减少校验数据量,提高数据一致性校验效率,从而能够在检测到文档数据不一致的情况下及时发出告警,防止用户基于错误的文档进行操作,避免客户端的操作数据丢失,进而提高文档数据的准确性。
上述为本实施例的一种文档一致性校验装置的示意性方案。需要说明的是,该文档一致性校验装置的技术方案与上述的文档一致性校验方法的技术方案属于同一构思,文档一致性校验装置的技术方案未详细描述的细节内容,均可以参见上述文档一致性校验方法的技术方案的描述。
图6示出了本申请一实施例提供的一种文档一致性校验装置的结构示意图,应用于服务端。如图6所示,该装置包括:
第二接收模块602,被配置为接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;
第二获取模块604,被配置为获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;
存储模块606,被配置为对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;
生成模块608,被配置为根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
可选地,第二获取模块604,进一步被配置为:
根据目标文档标识,获取目标文档对应的数据块链;
确定数据块链上最后一个数据块为目标数据块;
根据目标数据块,获取服务端的目标数据块标识。
可选地,存储模块606,进一步被配置为:
对至少一个操作数据进行分块,生成初始数据块;
根据预设规则对初始数据块的内容进行校验,获得初始数据块的校验结果;
根据初始数据块的校验结果,确定并存储更新数据块。
可选地,存储模块606,进一步被配置为:
若初始数据块的校验结果为符合预设规则,则确定初始数据块为更新数据块,并进行存储;
若初始数据块的校验结果为不符合预设规则,则根据预设规则调整初始数据块的内容生成修正数据,根据初始数据块和修正数据生成更新数据块,并进行存储。
可选地,生成模块608,进一步被配置为:
获取目标数据块标识对应的目标数据块的第二内容编码;
根据第二内容编码,生成更新数据块的第一内容编码;
将第一内容编码、第二内容编码、更新数据块标识和目标文档标识添加至文档更新信息。
本申请一个实施例提供的文档一致性校验方法,接收客户端针对目标文档发送的至少一个操作数据,其中,至少一个操作数据携带目标文档标识;获取服务端的目标数据块标识,其中,目标数据块标识为服务端的数据块链中最后一个数据块的标识;对至少一个操作数据按块存储获得更新数据块,并根据服务端的当前数据块标识,为更新数据块配置对应的更新数据块标识;根据目标文档标识和更新数据块标识生成对应的文档更新信息,将文档更新信息下发至各客户端,其中,文档更新信息用于指示各客户端对当前的目标文档进行校验。
如此,通过服务端接收各客户端发送的针对目标文档的操作数据,根据操作数据生成更新数据块,将更新数据块存储在目标文档对应的数据块链中,并将更新数据块对应的文档更新信息下发至各客户端,能够完成在服务端对目标文档内容的更新存储,以及对更新数据的下发。服务端无需感知各客户端本地对目标文档的存储情况,无需对各客户端的数据一致性进行校验和判断,并且能够减少每次更新下发的数据量,从而能够大大提高服务端数据处理效率,提高服务端性能。
上述为本实施例的一种文档一致性校验装置的示意性方案。需要说明的是,该文档一致性校验装置的技术方案与上述的文档一致性校验方法的技术方案属于同一构思,文档一致性校验装置的技术方案未详细描述的细节内容,均可以参见上述文档一致性校验方法的技术方案的描述。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720执行所述计算机指令时实现所述的文档一致性校验方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的文档一致性校验方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述文档一致性校验方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述文档一致性校验方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的文档一致性校验方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述文档一致性校验方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (18)
1.一种文档一致性校验方法,其特征在于,应用于客户端,包括:
接收服务端发送的目标文档的文档更新信息,其中,所述文档更新信息包括目标文档标识和所述服务端的更新数据块标识,所述更新数据块标识为所述服务端根据客户端对所述目标文档的操作数据按时序分块存储获得;
根据所述目标文档标识获取客户端本地对应的文档记录信息,其中,所述文档记录信息包括本地记录的当前数据块标识;
根据所述更新数据块标识和所述当前数据块标识,对所述客户端当前的目标文档进行校验,获得所述目标文档的校验结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述更新数据块标识和所述当前数据块标识,对所述客户端当前的目标文档进行校验,包括:
将所述当前数据块标识加1获得校验标识;
将所述更新数据块标识与所述校验标识进行比对,得到比对结果;
基于所述比对结果,获得所述目标文档的校验结果。
3.根据权利要求2所述的方法,其特征在于,所述文档更新信息还包括更新数据块的第一内容编码和更新数据块的前一个数据块的第二内容编码;所述基于所述比对结果,获得所述目标文档的校验结果,包括:
在所述比对结果为所述更新数据块标识大于所述校验标识的情况下,确定所述目标文档的校验结果为校验不通过;
在所述比对结果为所述更新数据块标识不大于所述校验标识的情况下,结合所述第一内容编码或所述第二内容编码确定所述目标文档的校验结果。
4.根据权利要求3所述的方法,其特征在于,所述结合所述第一内容编码或所述第二内容编码确定所述目标文档的校验结果,包括:
若所述更新数据块标识等于所述校验标识,则获取客户端本地的当前数据块的第三内容编码;对比所述第二内容编码和所述第三内容编码,获得目标文档的校验结果;
若所述更新数据块标识小于所述校验标识,则判断所述当前数据块标识和所述更新数据块标识是否相等,根据判断结果确定所述目标文档的校验结果。
5.根据权利要求4所述的方法,其特征在于,所述根据判断结果确定所述目标文档的校验结果,包括:
若相等,则获取客户端本地的当前数据块的第三内容编码,对比所述第一内容编码和所述第三内容编码,获得目标文档的校验结果;
若不相等,则确定所述目标文档的校验结果为忽略本次校验。
6.根据权利要求5所述的方法,其特征在于,所述对比所述第一内容编码和所述第三内容编码,获得目标文档的校验结果,包括:
若所述第一内容编码和所述第三内容编码相同,则确定所述目标文档的校验结果为忽略本次校验;
若所述第一内容编码和所述第三内容编码不相同,则确定所述目标文档的校验结果为校验不通过。
7.根据权利要求1所述的方法,其特征在于,所述校验结果包括校验不通过;所述获得所述目标文档的校验结果之后,还包括:
发出告警信息,其中,所述告警信息用于提示所述客户端的用户停止对所述目标文档进行操作;
重新加载所述目标文档。
8.根据权利要求1所述的方法,其特征在于,所述校验结果包括校验通过,所述文档更新信息还包括服务端的更新数据块,
所述获得所述目标文档的校验结果之后,还包括:
使用所述更新数据块,对所述客户端当前的目标文档进行更新;
根据所述更新数据块标识,对所述当前数据块标识进行更新。
9.一种文档一致性校验方法,其特征在于,应用于服务端,包括:
接收客户端针对目标文档发送的至少一个操作数据,其中,所述至少一个操作数据携带目标文档标识;
获取所述服务端的目标数据块标识,其中,所述目标数据块标识为服务端的数据块链中最后一个数据块的标识;
对所述至少一个操作数据按块存储获得更新数据块,并根据所述服务端的当前数据块标识,为所述更新数据块配置对应的更新数据块标识;
根据所述目标文档标识和所述更新数据块标识生成对应的文档更新信息,将所述文档更新信息下发至各客户端,其中,所述文档更新信息用于指示所述各客户端对当前的目标文档进行校验。
10.根据权利要求9所述的方法,其特征在于,所述获取所述服务端的目标数据块标识,包括:
根据所述目标文档标识,获取所述目标文档对应的数据块链;
确定所述数据块链上最后一个数据块为目标数据块;
根据所述目标数据块,获取所述服务端的目标数据块标识。
11.根据权利要求9所述的方法,其特征在于,所述对所述至少一个操作数据按块存储获得更新数据块,包括:
对所述至少一个操作数据进行分块,生成初始数据块;
根据预设规则对所述初始数据块的内容进行校验,获得所述初始数据块的校验结果;
根据所述初始数据块的校验结果,确定并存储更新数据块。
12.根据权利要求11所述的方法,其特征在于,所述根据所述初始数据块的校验结果,确定并存储更新数据块,包括:
若所述初始数据块的校验结果为符合预设规则,则确定所述初始数据块为更新数据块,并进行存储;
若所述初始数据块的校验结果为不符合预设规则,则根据所述预设规则调整所述初始数据块的内容生成修正数据,根据所述初始数据块和所述修正数据生成更新数据块,并进行存储。
13.根据权利要求9所述的方法,其特征在于,所述根据所述目标文档标识和所述更新数据块标识生成对应的文档更新信息,包括:
获取所述目标数据块标识对应的目标数据块的第二内容编码;
根据所述第二内容编码,生成所述更新数据块的第一内容编码;
将所述第一内容编码、所述第二内容编码、所述更新数据块标识和所述目标文档标识添加至所述文档更新信息。
14.一种文档一致性校验系统,其特征在于,包括服务端和客户端:
所述服务端,被配置为接收客户端针对目标文档发送的至少一个操作数据,其中,所述至少一个操作数据携带目标文档标识;获取所述服务端的目标数据块标识,其中,所述目标数据块标识为服务端的数据块链中最后一个数据块的标识;对所述至少一个操作数据按块存储获得更新数据块,并根据所述服务端的当前数据块标识,为所述更新数据块配置对应的更新数据块标识;根据所述目标文档标识和所述更新数据块标识生成对应的文档更新信息,将所述文档更新信息下发至各客户端,其中,所述文档更新信息用于指示所述各客户端对当前的目标文档进行校验;
所述客户端,被配置为接收服务端发送的目标文档的文档更新信息,其中,所述文档更新信息包括目标文档标识和所述服务端的更新数据块标识,所述更新数据块标识为所述服务端根据客户端对所述目标文档的操作数据按时序分块存储获得;根据所述目标文档标识获取客户端本地对应的文档记录信息,其中,所述文档记录信息包括本地记录的当前数据块标识;根据所述更新数据块标识和所述当前数据块标识,对所述客户端当前的目标文档进行校验,获得所述目标文档的校验结果。
15.一种文档一致性校验装置,其特征在于,配置于客户端,包括:
第一接收模块,被配置为接收服务端发送的目标文档的文档更新信息,其中,所述文档更新信息包括目标文档标识和所述服务端的更新数据块标识,所述更新数据块标识为所述服务端根据客户端对所述目标文档的操作数据按时序分块存储获得;
第一获取模块,被配置为根据所述目标文档标识获取客户端本地对应的文档记录信息,其中,所述文档记录信息包括本地记录的当前数据块标识;
校验模块,被配置为根据所述更新数据块标识和所述当前数据块标识,对所述客户端当前的目标文档进行校验,获得所述目标文档的校验结果。
16.一种文档一致性校验装置,其特征在于,配置于服务端,包括:
第二接收模块,被配置为接收客户端针对目标文档发送的至少一个操作数据,其中,所述至少一个操作数据携带目标文档标识;
第二获取模块,被配置为获取所述服务端的目标数据块标识,其中,所述目标数据块标识为服务端的数据块链中最后一个数据块的标识;
存储模块,被配置为对所述至少一个操作数据按块存储获得更新数据块,并根据所述服务端的当前数据块标识,为所述更新数据块配置对应的更新数据块标识;
生成模块,被配置为根据所述目标文档标识和所述更新数据块标识生成对应的文档更新信息,将所述文档更新信息下发至各客户端,其中,所述文档更新信息用于指示所述各客户端对当前的目标文档进行校验。
17.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-13任意一项所述方法的步骤。
18.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-13任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310417065.5A CN116450595A (zh) | 2023-04-18 | 2023-04-18 | 文档一致性校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310417065.5A CN116450595A (zh) | 2023-04-18 | 2023-04-18 | 文档一致性校验方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450595A true CN116450595A (zh) | 2023-07-18 |
Family
ID=87123315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310417065.5A Pending CN116450595A (zh) | 2023-04-18 | 2023-04-18 | 文档一致性校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450595A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312264A (zh) * | 2023-12-01 | 2023-12-29 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
-
2023
- 2023-04-18 CN CN202310417065.5A patent/CN116450595A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312264A (zh) * | 2023-12-01 | 2023-12-29 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
CN117312264B (zh) * | 2023-12-01 | 2024-02-20 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8635266B2 (en) | Method and system for data synchronization, and apparatus thereof | |
EP2834759B1 (en) | Telemetry system for a cloud synchronization system | |
US9143560B2 (en) | Methods and apparatus for dataset synchronization in a wireless environment | |
US10055397B2 (en) | Mechanism for synchronising devices, system and method | |
WO2018177190A1 (zh) | 一种区块链数据同步的方法和装置 | |
CN106131612B (zh) | 安卓app动态加载资源功能模块的方法及系统 | |
US20080172561A1 (en) | Cooperative Non-Repudiated Message Exchange in a Network Environment | |
CN116450595A (zh) | 文档一致性校验方法及系统 | |
CN112988667B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
WO2021195618A1 (en) | System and method for integration and validation | |
CN112642146A (zh) | 一种数据处理方法及装置 | |
EP2602725A1 (en) | Apparatus, and associated method, for synchronizing a database | |
CN113239056B (zh) | 基于区块链的数据核对方法及系统 | |
CN112131014B (zh) | 决策引擎系统及其业务处理方法 | |
CN117201601A (zh) | 物联网设备接入方法、装置、设备及存储介质 | |
CN110585724A (zh) | 游戏客户端中的表格数据更新方法、装置 | |
CN111460034B (zh) | 一种数据库双向同步方法、同步单元及系统 | |
CN104022948A (zh) | TypeX报文传输系统及方法 | |
CN114661231A (zh) | 电网监控主站系统参数变更记录的存储同步方法及装置 | |
CN113641761A (zh) | 数据同步方法及装置 | |
WO2017000713A1 (zh) | 一种光传送网络中时钟时间传送模式同步的方法及装置 | |
CN113407498A (zh) | 一种数据同步方法、装置、云平台、系统及存储介质 | |
CN113505125A (zh) | 数据上链的方法及上链代理装置 | |
CN113553488A (zh) | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 | |
CN114442947B (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 |