CN114760320A - 客户端与中台服务器的数据同步方法、系统及客户端 - Google Patents
客户端与中台服务器的数据同步方法、系统及客户端 Download PDFInfo
- Publication number
- CN114760320A CN114760320A CN202011595250.6A CN202011595250A CN114760320A CN 114760320 A CN114760320 A CN 114760320A CN 202011595250 A CN202011595250 A CN 202011595250A CN 114760320 A CN114760320 A CN 114760320A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- server
- version number
- local
- 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 66
- 230000001360 synchronised effect Effects 0.000 claims abstract description 12
- 238000012986 modification Methods 0.000 claims description 57
- 230000004048 modification Effects 0.000 claims description 57
- 230000006870 function Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/221—Column-oriented storage; Management thereof
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种客户端与中台服务器的数据同步方法、系统及客户端,该客户端与中台服务器的数据同步方法包括:从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号;当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包;基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作;发送数据版本已更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号。相对于现有技术,本申请在客户端不可访问的情况下,中台服务器依旧能够修改客户端的数据,使客户端与中台服务器的数据保持同步一致。
Description
技术领域
本申请实施例涉及数据同步技术领域,尤其涉及一种客户端与中台服务器的数据同步方法、系统及客户端。
背景技术
目前,中台服务器用于产生数据的定义,客户端再对中台服务器的数据进行抓取、改造和使用,并且,中台服务器也需要对客户端改造和使用的数据进行管理。
但是,在客户端网络较差或私有化部署的时候,中台服务器无法与其进行正常的通讯,从而造成中台服务器与客户端的数据无法同步保持一致。
发明内容
本申请实施例提供了一种客户端与中台服务器的数据同步方法、系统及客户端,所述技术方案如下:
第一方面,本申请实施例提供了一种客户端与中台服务器的数据同步方法,中台服务器与各个客户端连接,所述客户端与各台显示设备连接,所述中台服务器用于配置所述客户端的数据版本以及管理所述客户端的运行数据,所述客户端用于实现所述数据版本内的各项功能以及控制所述显示设备的显示,所述客户端与中台服务器的数据同步方法由所述客户端执行,所述方法包括:
从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号;
当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包;
基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作;
发送数据版本已更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号。
第二方面,本申请实施例提供了一种客户端,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的客户端与中台服务器的数据同步方法的步骤。
第三方面,本申请实施例提供了一种客户端与中台服务器的数据同步系统,包括:客户端和中台服务器;所述中台服务器无法主动与所述客户端建立通讯,所述客户端用于执行如权第一方面所述的客户端与中台服务器的数据同步方法的步骤。
在本申请实施例中,通过从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号;当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包;基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作;发送数据版本更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号,从而使得在客户端不可访问的情况下,中台服务器依旧能够修改客户端的数据,使客户端与中台服务器的数据保持同步一致。
为了更好地理解和实施,下面结合附图详细说明本申请的技术方案。
附图说明
图1为本申请一个实施例提供的客户端与中台服务器的数据同步方法的流程示意图;
图2为本申请一个实施例提供的客户端与中台服务器的交互过程示意图;
图3为本申请一个实施例提供的客户端与中台服务器的数据同步方法中S103的流程示意图;
图4为本申请一个实施例提供的客户端进行数据版本更新的过程示意图;
图5为本申请一个实施例提供的客户端与中台服务器的数据同步方法中S104的流程示意图;
图6为本申请另一个实施例提供的客户端与中台服务器的数据同步方法的流程示意图;
图7为本申请另一个实施例提供的客户端与中台服务器的数据同步方法中S106的流程示意图;
图8为本申请一个实施例提出的数据局部修改时的客户端与中台服务器的交互过程示意图;
图9为本申请另一个实施例提供的客户端与中台服务器的数据同步方法中S106的流程示意图;
图10为本申请另一个实施例提出的数据局部修改时的客户端与中台服务器的交互过程示意图;
图11为本申请一个实施例提供的客户端的结构示意图;
图12为本申请一个实施例提供的客户端与中台服务器的数据同步系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”/“若”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请实施例中,中台服务器与各个客户端连接,客户端与各台显示设备连接。
其中,中台服务器用于配置客户端的数据版本,该数据版本内包括若干项待客户端实现的功能,例如:显示设备的管理功能以及显示内容的编辑功能等,并且,中台服务器还用于管理客户端的运行数据,对客户端数据进行维护和备份。
客户端用于实现配置版本内的各项功能,用户通过与客户端交互,可以使用客户端提供的各项功能,并基于各项功能对各个显示设备进行显示控制。
在实际的应用场景中,为了不断地完善客户端的功能,中台服务器需要对客户端的数据版本进行配置更新,具体地,中台服务器需要主动与客户端建立连接,将配置数据版本所需的数据同步至客户端中。
此外,为了及时地掌控客户端的情况,中台服务器也需要对客户端的运行数据进行管理,具体地,中台服务器主动与客户端建立连接,获取客户端在运行过程中会产生的一部分运行数据并存储。
但是,当客户端所在的网络环境较差时,或者,当用户对客户端的安全性要求较高,需要将客户端进行私有化部署时,中台服务器是无法主动与客户端建立连接的,因而,此时中台服务器既无法对客户端的数据版本进行更新,也无法及时地对客户端数据进行同步管理,从而造成了客户端与中台服务器数据无法保持同步一致的技术问题。
为解决上述技术问题,本申请实施例提出了一种客户端与中台服务器的数据同步方法。请参阅图1,图1为本申请一个实施例提供的客户端与中台服务器的数据同步方法的流程示意图,所述方法包括如下步骤:
S101:从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号。
在本实施例中,该客户端与中台服务器的数据同步方法由客户端执行。具体地,可以是由客户端设备本身执行,或者客户端设备内的组成部件执行,例如:客户端内部的处理器或微处理器等。
在一个可选的实施例中,可以通过在客户端内设置定时器,在达到定时器所指定的时刻时,使客户端发起与中台服务器的数据同步;在另一个可选的实施例中,也可以通过连接客户端所在的私有化网络,发送同步更新指令至在客户端,使客户端发起与中台服务器的数据同步;在其他可选的实施例中,还可以是用户使用控制客户端,使客户端主动发起与中台服务器的数据同步。
具体地,客户端在从中台服务器拉取客户端的配置版本号和中台服务器提供的服务版本号。
其中,所有客户端的配置版本号均存储在中台服务器中。每个客户端的标识和该客户端的配置版本号一一对应。
客户端的配置版本号是指当前客户端正在使用的数据版本号。中台服务器提供的服务版本号是指当前中台服务器提供的最新数据版本号。
请参阅图2,图2为本申请一个实施例提供的客户端与中台服务器的交互过程示意图。客户端向发送版本号拉取消息(即图2中所示出的拉取数据),中台服务器在接收版本号拉取信息后,根据其中的客户端标识查找对应的配置版本号,并将该客户端的配置版本号和中台服务器提供的服务版本号一同发送至所述客户端(即图2中所示出的返回版本号)。
S102:当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包。
客户端在接收到客户端的配置版本号和服务版本号后,对配置版本号和服务版本号进行比较判断。
当客户端的配置版本号和服务版本号不同时,获取中台服务器存储的服务版本号对应的数据更新包。
具体地,在一个可选的实施例中,当服务版本号大于客户端的配置版本号时,获取中台服务器存储的服务版本号对应的数据更新包。
请参阅图2,在检查版本号后,若客户端判断需要更新,则从中台服务器拉取更新所需要的数据,即,服务版本号对应的数据更新包。
此外,当客户端的配置版本号和服务版本号相同时,显示无需更新信息在客户端中。
当客户端的配置版本号不存在时,也即客户端的配置版本号为空值时,客户端进行初始化更新操作。
当客户端的配置版本号和服务版本号均不存在时,客户端进行自主回收操作。
S103:基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作。
在客户端中预先存储有数据更新策略,客户端从中台服务器拉取到数据更新包后,基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作。
在本申请实施例中,从中台服务器拉取到的数据更新包是一个完整的数据更新包,中台服务器未对其进行处理,从而能够缩短客户端等待中台服务器处理的时间,减少客户端与外界保持通讯畅通的时间,进而提高客户端的安全性,也就是说,全部的更新操作都由客户端自主执行。
在一个可选的实施例中,客户端为提高数据版本更新操作的执行效率,请参阅图3,步骤S103包括步骤S1031~S1033,具体如下:
S1031:获取所述客户端的原始数据。
所述原始数据是指当前客户端的本地数据,也即客户端当前正在操作使用的数据。
S1032:对比所述客户端的原始数据和所述数据更新包中的数据,得到所述客户端对应的待创建数据记录、待更新数据记录和待删除数据记录。
中台服务器和客户端内的数据的标识都是一致的,因此,通过对比客户端的原始数据的标识和数据更新包中的数据的标识,即能够获取客户端对应的待创建数据记录、待更新数据记录和待删除数据记录。
具体地,待创建数据记录、待更新数据记录和待删除数据记录可以以列表的形式存储,也可以以二进制数据或者其他格式存储。
待创建数据记录是指原始数据中不存在,但是数据更新包中存在的数据记录。
待更新数据记录是指原始数据中存在,数据更新包中也存在的数据记录。需要说明的是,对于原始数据和数据更新包中均存在的数据记录,直接进行替换操作,无需判断数据记录是否发生改变。
待删除数据记录是指原始数据中存在,但是数据更新包中不存在的数据记录。
请参阅图4,图4为本申请一个实施例提供的客户端进行数据版本更新的过程示意图。图4中客户端在拉取到更新所需要的数据后,对比新数据和旧数据,也即原始数据和数据更新包内的数据,分别根据两边数据的唯一标识,筛选出创建列表、更新列表和删除列表,也即筛选出待创建数据记录、待更新数据记录和待删除数据记录。
在一个可选的实施例中,在获取客户端对应的待创建数据记录、待更新数据记录和待删除数据记录之后,需要对待更新数据记录和待删除数据记录进行备份,以避免更新过程中出现故障,导致数据丢失。
S1033:根据所述待创建数据记录、待更新数据记录和待删除数据记录,对所述客户端的原始数据进行更新。
客户端根据待创建数据记录、待更新数据记录和待删除数据记录,完成数据版本的更新。
S104:发送数据版本已更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号。
客户端在数据版本更新完成之后,发送数据版本已更新消息至所述中台服务器,使中台服务器在接收到数据版本已更新消息之后,将中台服务器存储的客户端的配置版本号修改为服务版本号。
在一个可选的实施例中,由于全部的更新操作都由客户端自主执行,因此为保证数据版本更新过程中数据的安全性,请参阅图5,步骤S104包括步骤S1041~S1042,具体如下:
S1041:获取所述客户端对应的已创建数据记录、已更新数据记录和已删除数据记录。
在数据版本更新完成后,客户端获取其已创建数据记录、已更新数据记录和已删除数据记录。
S1042:将所述已创建数据记录、已更新数据记录、已删除数据记录以及所述数据版本已更新消息发送至所述中台服务器,使所述中台服务器根据预设的版本更新校验策略对所述已创建数据记录、已更新数据记录和已删除数据记录进行校验,并在校验成功时再将所述客户端的配置版本号修改为所述服务版本号,发送数据版本更新成功消息至所述客户端。
客户端发送已创建数据记录、已更新数据记录、已删除数据记录以及所述数据版本已更新消息发送至中台服务器。中台服务器在接收到数据版本已更新消息之后,不直接修改版本号。而是根据预设的版本更新校验策略对已创建数据记录、已更新数据记录和已删除数据记录进行校验。在校验成功时再将所述客户端的配置版本号修改为所述服务版本号。
具体地,在一个可选的实施例中,中台服务器判断已创建数据记录、已更新数据记录和已删除数据记录中是否存在对中台服务器定义数据的违法创建、违法更新和违法删除。若存在任意一种上述情况,则判断客户端此次数据版本更新失败,将数据版本更新失败消息发送至客户端,客户端在接收到数据版本更新失败消息后,根据备份数据进行恢复,重新执行版本更新操作。
其中,所述中台服务器定义数据与其他类型的数据不同,其对于维护系统稳定性和安全性起到了关键性的作用,客户端只能在合理的范围内使用中台服务器定义数据,但是不能修改中台服务器定义数据,例如:不能修改其字段类型,不能修改字段大小,不能修改其调取函数,不能修改其可调用条件等。
请参阅图6,在另一个实施例中,在客户端与中台服务器之间的数据同步,某些情况下客户端不需要对整个数据版本进行更新,而是需要对客户端数据进行一些局部修改,那么此时这些局部修改数据也需要与中台服务器同步,以保证数据的一致性。因此,该客户端与中台服务器的数据同步方法还包括如下步骤:
S105:接收局部数据修改指令。
客户端接收用户或者外部设备发送的局部数据修改指令。其中,该局部数据修改指令的包括指令标识、待修改数据的标识和以及需对待修改数据执行的修改操作。例如:待修改数据为字段A,将其从Int类型修改为Varchar类,或者修改数据存储的路径。
S106:基于所述局部数据修改指令,对所述客户端的数据进行局部修改。
客户端解析所述局部数据修改指令,获取待修改数据的标识和修改操作,对所述客户端的数据进行局部修改。
S107:同步所述客户端的局部修改数据至所述中台服务器,使所述中台服务器根据所述局部修改数据修改所述中台服务器存储的所述客户端的数据。
局部修改数据的发起也由客户端进行,客户端主动同步客户端的局部修改数据至中台服务器,使中台服务器根据局部修改数据修改中台服务器存储的客户端的数据。
请参阅图2,图2下方已示出了客户端局部修改数据后,与中台服务器同步的过程。需要说明的是,此次修改无关客户端版本号的更新,仅为了保证中台服务器与客户端局部数据的一致性。在本申请实施例中,任意客户端无法控制其余客户端的版本号以及局部数据的更新。
在本实施例中,在客户端对数据进行局部修改后,可以控制客户端主动将局部修改数据同步至中台服务器,使中台服务器与客户端数据始终保持一致。
在一个可选的实施例中,由于客户端在进行局部修改操作时,安全性较差,因此,请参阅图7,步骤S106还包括S1061~S1065,以提高数据修改的安全性,防止恶意篡改,S1061~S1065具体如下:
S1061:获取所述局部数据修改指令中的待修改数据。
客户端解析局部数据修改指令,得到待修改数据的标识。
S1062:对所述待修改数据进行第一合法性校验,得到所述待修改数据的类型;其中,所述待修修改的数据类型包括中台服务器定义数据、客户端维护数据和待同步中台服务器数据。
在客户端中预设有第一合法性校验规则,基于第一合法性校验规则,客户端对待修改数据进行校验,获取待修改数据的类型。
在本申请实施例中,客户端中数据的类型包括:中台服务器定义数据、客户端维护数据和待同步中台服务器数据。
其中,中台服务器定义数据为由中台服务器定义且客户端不可随意修改的数据,客户端维护数据是只仅在客户端维护不需要中台服务器参与维护的数据,待同步中台服务器数据是可以在客户端修改但是中台服务器也需存储并同步更新的数据。
具体地,在一个可选的实施例中,第一合法性校验规则可以是预先设置在客户端算法内的校验注解。该校验注解可以随着客户端数据版本的更新而发生改变。在对数据进行修改前,需要先运行校验注解,从而实现对待修改数据的校验。
S1063:若所述待修改数据为中台服务器定义数据,禁止所述客户端基于所述局部修改指令对所述客户端的数据进行局部修改。
S1064:若所述待修改数据为客户端维护数据,基于所述局部数据修改指令,对所述客户端的数据进行局部修改,并且不同步所述客户端的局部修改数据至所述中台服务器。
S1065:若所述待修改数据为待同步中台服务器数据,基于所述局部数据修改指令,对所述客户端的数据进行局部修改,并且同步所述客户端中的局部修改数据至所述中台服务器。
请参阅图8,其为本申请一个实施例提出的数据局部修改时的客户端与中台服务器的交互过程示意图。相较于图2中示出的交互过程示意图,图8中客户端在进行局部更新之前,初步对待修改数据进行第一合法性校验。
在另一个可选的实施例中,请参阅图9,步骤S106还包括S1066,具体如下:
S1066:同步所述客户端的局部修改数据至所述中台服务器,使所述中台服务器对所述局部修改数据进行第二合法性校验,并在校验成功时再根据所述局部修改数据修改所述中台服务器存储的所述客户端的数据。
客户端同步客户端的局部修改数据至所述中台服务器,使中台服务器对局部修改数据进行第二合法性校验,并在校验成功时再根据局部修改数据修改中台服务器存储的所述客户端的数据。
也就是说,合法性校验规则也会预先设置在中台服务器中,从而防止外部设备对客户端进行第一合法性校验的恶意干扰,以及防止数据传输过程中的恶意修改,进一步保证数据修改的安全性。请参阅图9,图9中在中台服务器对存储的客户端数据进行局部修改之前,中台服务器也要对局部修改数据进行一次合法性校验。
除图8所示出的客户端与中台服务器都进行合法性校验,也可以如图10所示出的仅在中台服务器进行数据合法性校验的方式,该种方式能够在客户端与中台服务器保持网络连接的情况下,提高合法性验证效率,但是无法在客户端与中台服务器无法保持网络连接的情况下,保证客户端局部修改操作的安全性。
在一个可选的实施例中,客户端在接收所述中台服务器发送的合法校验失败消息时,撤销所述客户端根据所述局部修改指令对所述客户端的数据进行的局部修改。
需要说明的是,客户端对客户端的数据进行局部修改的操作需要在其同步局部修改数据至中台服务器之前,从而避免客户端在局部修改过程中出现异常,从而造成中台服务器已修改但是客户端未修改的情况发生。
在本实施例中,通过在局部修改操作之前,由客户端对局部修改数据进行第一合法性校验,在局部修改数据发送至中台服务器后,控制中台服务器对局部修改数据进行第二合法性校验。从而最大程度地避免了非正常途径下的数据修改,使由中台服务器定义和产生的数据不可以在客户端中更新,保证了数据同步过程中的数据安全性。
请参见图11,为本申请一个实施例提供的客户端的结构示意图。如图11所示,客户端11可以包括:处理器110、存储器111以及存储在存储器111并可以在处理器110上运行的计算机程序112,例如:数据同步程序;处理器110执行计算机程序112时实现上述各方法实施例中的步骤,例如图1所示的步骤S101至S104。
其中,处理器110可以包括一个或多个处理核心。处理器110利用各种接口和线路连接客户端11内的各个部分,通过运行或执行存储在存储器111内的指令、程序、代码集或指令集,以及调用存储器111内的数据,执行客户端11的各种功能和处理数据,可选的,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programble Logic Array,PLA)中的至少一个硬件形式来实现。处理器110可集成中央处理器(Central ProcessingUnit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块芯片进行实现。
其中,存储器111可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器111包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器111可用于存储指令、程序、代码、代码集或指令集。存储器111可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控指令等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器111可选的还可以是至少一个位于远离前述处理器110的存储装置。
请参阅图12,为本申请一个实施例提供的客户端与中台服务器的数据同步系统的结构示意图,包括:客户端11和中台服务器12;客户端11用于执行图1、图3、图5、图6、图7以及图9所述方法的步骤。
在本申请实施例中,客户端通过从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号;当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包;基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作;发送数据版本更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号,从而使得在客户端不可访问的情况下,中台服务器依旧能够修改客户端的数据,使客户端与中台服务器的数据保持同步一致。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
Claims (10)
1.一种客户端与中台服务器的数据同步方法,其特征在于,中台服务器与各个客户端连接,所述客户端与各台显示设备连接,所述中台服务器用于配置所述客户端的数据版本以及管理所述客户端的运行数据,所述客户端用于实现所述数据版本内的各项功能以及控制所述显示设备的显示,所述客户端与中台服务器的数据同步方法由所述客户端执行,所述方法包括步骤:
从中台服务器拉取客户端的配置版本号和所述中台服务器提供的服务版本号;
当所述客户端的配置版本号和所述服务版本号不同时,获取所述中台服务器存储的所述服务版本号对应的数据更新包;
基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作;
发送数据版本已更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号。
2.根据权利要求1所述的客户端与中台服务器的数据同步方法,其特征在于,所述基于预设的数据更新策略和所述数据更新包,执行所述客户端的数据版本更新操作,包括步骤:
获取所述客户端的原始数据;
对比所述客户端的原始数据和所述数据更新包中的数据,得到所述客户端对应的待创建数据记录、待更新数据记录和待删除数据记录;
根据所述待创建数据记录、待更新数据记录和待删除数据记录,对所述客户端的原始数据进行更新。
3.根据权利要求1所述的客户端与中台服务器的数据同步方法,其特征在于,所述发送数据版本已更新消息至所述中台服务器,使所述中台服务器将所述中台服务器存储的所述客户端的配置版本号修改为所述服务版本号,包括步骤:
获取所述客户端对应的已创建数据记录、已更新数据记录和已删除数据记录;
将所述已创建数据记录、已更新数据记录、已删除数据记录以及所述数据版本已更新消息发送至所述中台服务器,使所述中台服务器根据预设的版本更新校验策略对所述已创建数据记录、已更新数据记录和已删除数据记录进行校验,并在校验成功时再将所述客户端的配置版本号修改为所述服务版本号,发送数据版本更新成功消息至所述客户端。
4.根据权利要求3所述的客户端与中台服务器的数据同步方法,其特征在于,还包括步骤:
当接收到所述中台服务器发送的数据版本更新失败消息时,基于预设的数据更新策略和所述数据更新包,重新执行所述客户端的数据版本更新操作。
5.根据权利要求1所述的客户端与中台服务器的数据同步方法,其特征在于,还包括步骤:
接收局部数据修改指令;
基于所述局部数据修改指令,对所述客户端的数据进行局部修改;
同步所述客户端的局部修改数据至所述中台服务器,使所述中台服务器根据所述局部修改数据修改所述中台服务器存储的所述客户端的数据。
6.根据权利要求5所述的客户端与中台服务器的数据同步方法,其特征在于,基于所述局部数据修改指令,对所述客户端的数据进行局部修改,包括步骤:
获取所述局部数据修改指令中的待修改数据;
对所述待修改数据进行第一合法性校验,得到所述待修改数据的类型;其中,所述待修修改的数据类型包括中台服务器定义数据、客户端维护数据和待同步中台服务器数据;
若所述待修改数据为中台服务器定义数据,禁止所述客户端基于所述局部修改指令对所述客户端的数据进行局部修改;
若所述待修改数据为客户端维护数据,基于所述局部数据修改指令,对所述客户端的数据进行局部修改,并且不同步所述客户端的局部修改数据至所述中台服务器;
若所述待修改数据为待同步中台服务器数据,基于所述局部数据修改指令,对所述客户端的数据进行局部修改,并且同步所述客户端中的局部修改数据至所述中台服务器。
7.根据权利要求6所述的客户端与中台服务器的数据同步方法,其特征在于,所述同步所述客户端的局部修改数据至所述中台服务器,使所述中台服务器根据所述局部修改数据修改所述中台服务器存储的所述客户端的数据,包括步骤:
同步所述客户端的局部修改数据至所述中台服务器,使所述中台服务器对所述局部修改数据进行第二合法性校验,并在校验成功时再根据所述局部修改数据修改所述中台服务器存储的所述客户端的数据。
8.根据权利要求7所述的客户端与中台服务器的数据同步方法,其特征在于,还包括步骤:
在接收所述中台服务器发送的合法校验失败消息时,撤销所述客户端根据所述局部修改指令对所述客户端的数据进行的局部修改。
9.一种客户端,其特征在于,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种客户端与中台服务器的数据同步系统,其特征在于,包括:客户端和中台服务器;所述客户端用于执行如权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011595250.6A CN114760320B (zh) | 2020-12-29 | 2020-12-29 | 客户端与中台服务器的数据同步方法、系统及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011595250.6A CN114760320B (zh) | 2020-12-29 | 2020-12-29 | 客户端与中台服务器的数据同步方法、系统及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114760320A true CN114760320A (zh) | 2022-07-15 |
CN114760320B CN114760320B (zh) | 2023-09-12 |
Family
ID=82324528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011595250.6A Active CN114760320B (zh) | 2020-12-29 | 2020-12-29 | 客户端与中台服务器的数据同步方法、系统及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114760320B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344585A (zh) * | 2022-08-03 | 2022-11-15 | 盐城金堤科技有限公司 | 数据版本管理方法、装置以及存储介质和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064630A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种数据同步方法及系统 |
CN103067484A (zh) * | 2012-12-25 | 2013-04-24 | 深圳市天维尔通讯技术有限公司 | 一种自动升级应用程序的方法和系统 |
US8504519B1 (en) * | 2012-06-27 | 2013-08-06 | Dropbox, Inc. | Determining a preferred modified version from among multiple modified versions for synchronized files |
CN104820701A (zh) * | 2015-05-11 | 2015-08-05 | 北京瑞星信息技术有限公司 | 数据记录和同步方法及系统 |
CN106230927A (zh) * | 2016-07-29 | 2016-12-14 | 努比亚技术有限公司 | 联系人同步方法、装置及系统 |
CN108259562A (zh) * | 2017-12-11 | 2018-07-06 | 杭州品茗安控信息技术股份有限公司 | 一种基于多端点的数据同步方法及装置 |
CN109491694A (zh) * | 2019-01-04 | 2019-03-19 | 中国银行股份有限公司 | 应用更新方法和装置、数据推送方法和装置 |
CN109862102A (zh) * | 2019-02-25 | 2019-06-07 | 交通银行股份有限公司 | 一种分布式数据多副本并发控制系统、服务器及方法 |
CN112100194A (zh) * | 2020-10-10 | 2020-12-18 | 苏州浪潮智能科技有限公司 | 一种数据库版本管理方法及系统 |
US20200403874A1 (en) * | 2019-06-20 | 2020-12-24 | Kaloom Inc. | Server and methods for synchronizing networking information with client devices |
-
2020
- 2020-12-29 CN CN202011595250.6A patent/CN114760320B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064630A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种数据同步方法及系统 |
US8504519B1 (en) * | 2012-06-27 | 2013-08-06 | Dropbox, Inc. | Determining a preferred modified version from among multiple modified versions for synchronized files |
CN103067484A (zh) * | 2012-12-25 | 2013-04-24 | 深圳市天维尔通讯技术有限公司 | 一种自动升级应用程序的方法和系统 |
CN104820701A (zh) * | 2015-05-11 | 2015-08-05 | 北京瑞星信息技术有限公司 | 数据记录和同步方法及系统 |
CN106230927A (zh) * | 2016-07-29 | 2016-12-14 | 努比亚技术有限公司 | 联系人同步方法、装置及系统 |
CN108259562A (zh) * | 2017-12-11 | 2018-07-06 | 杭州品茗安控信息技术股份有限公司 | 一种基于多端点的数据同步方法及装置 |
CN109491694A (zh) * | 2019-01-04 | 2019-03-19 | 中国银行股份有限公司 | 应用更新方法和装置、数据推送方法和装置 |
CN109862102A (zh) * | 2019-02-25 | 2019-06-07 | 交通银行股份有限公司 | 一种分布式数据多副本并发控制系统、服务器及方法 |
US20200403874A1 (en) * | 2019-06-20 | 2020-12-24 | Kaloom Inc. | Server and methods for synchronizing networking information with client devices |
CN112100194A (zh) * | 2020-10-10 | 2020-12-18 | 苏州浪潮智能科技有限公司 | 一种数据库版本管理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344585A (zh) * | 2022-08-03 | 2022-11-15 | 盐城金堤科技有限公司 | 数据版本管理方法、装置以及存储介质和电子设备 |
CN115344585B (zh) * | 2022-08-03 | 2024-03-19 | 盐城天眼察微科技有限公司 | 数据版本管理方法、装置以及存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114760320B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331098B (zh) | 一种服务器集群系统 | |
CN110430087B (zh) | 区块链热升级的架构设计与实现 | |
CN104486319B (zh) | 适用于高可用系统的配置文件实时同步方法及其系统 | |
CN106936633B (zh) | 一种应用安装包制作的方法及服务器 | |
CN102291416A (zh) | 一种客户端与服务器端双向同步的方法及系统 | |
CN106603725A (zh) | 一种企业云服务虚拟镜像管理服务的实现方法 | |
CN113778623A (zh) | 资源处理方法和装置、电子设备及存储介质 | |
CN104246743A (zh) | 涉及在网络上虚拟机主机隔离的系统和方法 | |
CN115086287A (zh) | 一种软件产品自动部署方法及系统 | |
CN105389231A (zh) | 一种数据库双机备份方法及系统 | |
CN114760320A (zh) | 客户端与中台服务器的数据同步方法、系统及客户端 | |
CN111984373A (zh) | 一种Kubernetes容器环境下保证环境一致性的方法及系统 | |
CN110519088A (zh) | 配置服务容灾方法及系统 | |
CN111935195B (zh) | 分布式系统管理方法、装置、存储介质和分布式管理系统 | |
CN116149713B (zh) | 一种树型异构网络下的各级设备的程序升级方法及装置 | |
CN104158906A (zh) | 一种服务器代理操控系统及操控方法 | |
CN111563009A (zh) | 一种基于双机冗余系统的文件同步方法、系统及存储介质 | |
CN105939203B (zh) | 表项同步方法以及装置 | |
CN103888283A (zh) | 一种sctp通信方法及装置 | |
CN102540909B (zh) | 工厂自动化系统的数据同步方法和工厂自动化系统 | |
EP3719599B1 (en) | Network-distributed process control system and method for managing redundancy thereof | |
CN103118072B (zh) | 一种数据库更新的方法及系统 | |
CN113438287A (zh) | 一种区块链部署系统及方法 | |
CN112015592A (zh) | 数据复制方法及装置 | |
CN115730007A (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 |