CN116414841A - 数据库更新方法、装置、电子设备、介质和产品 - Google Patents
数据库更新方法、装置、电子设备、介质和产品 Download PDFInfo
- Publication number
- CN116414841A CN116414841A CN202111653985.4A CN202111653985A CN116414841A CN 116414841 A CN116414841 A CN 116414841A CN 202111653985 A CN202111653985 A CN 202111653985A CN 116414841 A CN116414841 A CN 116414841A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- storage
- stored
- storage data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013461 design Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/23—Updating
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种数据库更新方法、装置、电子设备、介质和产品,该方法包括:在确定满足第一预设条件时,向服务器发送第一数据请求,第一数据请求中包括第一存储数据的属性信息,第一存储数据的属性信息包括:第一存储数据的版本号和第一存储数据的加密代码,第一存储数据的加密代码为对第一存储数据中标志字段对应的数据进行加密得到的,标志字段用于表征第一存储数据中的关键字段;接收服务器发送的目标数据,目标数据是服务器基于第一存储数据的属性信息确定的;基于目标数据,更新预先构建的第一数据库。从而,服务器能够结合关键字段确定需要向客户端发送的目标数据,提升客户端数据库的更新效率。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据库更新方法、装置、电子设备、介质和产品。
背景技术
客户端中的数据可存储在本地数据库中,但是,随着数据量的不断扩增,会增加本地数据库的存储压力。
在现有的技术方案中,可将客户端中本地数据库中的部分数据或全部数据存储在服务器中,并通过客户端向服务器发送数据请求的方式实现客户端与服务器之间的数据交互,对客户端本地数据库中的存储数据进行更新。
然而,上述实现方式中,客户端本地数据库中数据更新效率不高。
发明内容
为了解决上述技术问题,本公开提供了一种数据库更新方法、装置、电子设备、介质和产品。
第一方面,本公开提供了一种数据库更新方法,包括:
在确定满足第一预设条件时,向服务器发送第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据的加密代码为对所述第一存储数据中标志字段对应的数据进行加密得到的,所述第一存储数据存储于所述客户端的第一数据库,所述标志字段用于表征所述第一存储数据中的关键字段;
接收所述服务器发送的目标数据,所述目标数据是所述服务器基于所述第一存储数据的属性信息确定的;
基于所述目标数据,更新预先构建的所述第一数据库。
在一种可能的设计中,所述确定满足第一预设条件包括:
接收服务器发送的第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据对应的加密代码,所述第二存储数据的加密代码为对所述第二存储数据中标志字段对应的数据进行加密得到的;
比对所述第二存储数据的属性信息和第一存储数据的属性信息,获取比对结果;
若所述比对结果满足预设要求,确定满足第一预设条件;
或者,所述确定满足第一预设条件包括:
在所述客户端启动,并检测到所述客户端为非首次启动时,确认满足第一预设条件。
在一种可能的设计中,所述目标数据包括第二存储数据的版本号对应的全量数据;
所述基于所述目标数据,更新预先构建的所述第一数据库,包括:
基于所述第二存储数据,覆盖预先构建的所述第一数据库中的存储数据;
根据编码规则数据生成所述第一数据库中覆盖后的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在一种可能的设计中,所述目标数据包括:增量数据和所述增量数据的加密代码,所述增量数据根据第二存储数据和第二子数据的差数据得到,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据;
所述基于所述目标数据,更新预先构建的所述第一数据库,包括:
基于所述增量数据,对预先构建的所述第一数据库中的存储数据进行相应更新操作,其中,所述更新操作包括:增加、删除和修改中的至少一种;
根据编码规则数据更新所述第一数据库中进行所述更新操作后得到的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在一种可能的设计中,在确定满足第一预设条件之前,还包括:
在检测到所述客户端为首次启动时,向服务器发送携带有全量数据字段的数据请求,使所述服务器返回第二数据库中存储的第二全部数据;
接收所述第二全部数据,基于所述第二全部数据构建所述第一数据库。
第二方面,本公开提供了一种数据库更新方法,包括:
在确定满足第二预设条件,接收客户端发送的第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据存储于所述客户端的第一数据库;
根据所述第一存储数据的属性信息,确定目标数据,并将所述目标数据发送给所述客户端,以使所述客户端基于所述目标数据,更新预先构建的第一数据库。
在一种可能的设计中,所述根据所述第一存储数据的属性信息,确定目标数据之前,还包括:
获取第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码,所述第二存储数据存储于所述服务器的第二数据库;
所述根据所述第一存储数据的属性信息,确定目标数据,包括:
根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据。
在一种可能的设计中,所述根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据,包括:
在检测到所述第二存储数据的版本号和所述第一存储数据的版本号的差值小于第一预设阈值且大于第二预设阈值时,则根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据;
其中,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据。
在一种可能的设计中,所述根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据,包括:
在检测到所述第一存储数据的加密代码与第二子数据的加密代码相同,则将增量数据和所述增量数据的加密代码确定为目标数据,所述增量数据根据所述第二存储数据和所述第二子数据的差数据得到;
或者,在检测到所述第一存储数据的加密代码与第二子数据的加密代码不相同,则将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在一种可能的设计中,所述根据所述第二存储数据的属性信息和所述第一存储数据的属性信息,确定目标数据,包括:
确定第一存储数据的版本号与第二存储数据的版本号一致,且确定所述第一存储数据的加密代码与所述第二存储数据的加密代码不一致,将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在一种可能的设计中,所述确定满足第二预设条件,包括:
在检测到第二数据库中数据发生变化时,更新所述第二数据库,所述第二数据库中包括第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码;
将所述第二存储数据的属性信息发送给客户端,确定满足第二预设条件。
第三方面,本公开提供了一种数据库更新装置,包括:
发送模块,用于在确定满足第一预设条件时,向服务器发送第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据的加密代码为对所述第一存储数据中标志字段对应的数据进行加密得到的,所述第一存储数据存储于所述客户端的第一数据库,所述标志字段用于表征所述第一存储数据中的关键字段;
接收模块,用于接收所述服务器发送的目标数据,所述目标数据是所述服务器基于所述第一存储数据的属性信息确定的;
更新模块,用于基于所述目标数据,更新预先构建的所述第一数据库。
在一种可能的设计中,还包括:确定模块;
确定模块,用于接收服务器发送的第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据对应的加密代码,所述第二存储数据的加密代码为对所述第二存储数据中标志字段对应的数据进行加密得到的;
比对所述第二存储数据的属性信息和第一存储数据的属性信息,获取比对结果;
若所述比对结果满足预设要求,确定满足第一预设条件;
或者,所述确定满足第一预设条件包括:
在所述客户端启动,并检测到所述客户端为非首次启动时,确认满足第一预设条件。
在一种可能的设计中,所述目标数据包括第二存储数据的版本号对应的全量数据;
更新模块,具体用于:
基于所述第二存储数据,覆盖预先构建的所述第一数据库中的存储数据;
根据编码规则数据生成所述第一数据库中覆盖后的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在一种可能的设计中,所述目标数据包括:增量数据和所述增量数据的加密代码,所述增量数据根据第二存储数据和第二子数据的差数据得到,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据;
更新模块,具体用于:
基于所述增量数据,对预先构建的所述第一数据库中的存储数据进行相应更新操作,其中,所述更新操作包括:增加、删除和修改中的至少一种;
根据编码规则数据更新所述第一数据库中进行所述更新操作后得到的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在一种可能的设计中,发送模块,还用于在检测到所述客户端为首次启动时,向服务器发送携带有全量数据字段的数据请求,使所述服务器返回第二数据库中存储的第二全部数据;
接收模块,还用于接收所述第二全部数据,基于所述第二全部数据构建所述第一数据库。
第四方面,本公开提供了一种数据库更新装置,包括:
接收模块,用于在确定满足第二预设条件,接收客户端发送的第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据存储于所述客户端的第一数据库;
确定模块,用于根据所述第一存储数据的属性信息,确定目标数据,并将所述目标数据发送给所述客户端,以使所述客户端基于所述目标数据,更新预先构建的第一数据库。
在一种可能的设计中,还包括:获取模块;
获取模块,用于获取第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码,所述第二存储数据存储于所述服务器的第二数据库;
确定模块,具体用于:
根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据。
在一种可能的设计中,确定模块,具体用于:
在检测到所述第二存储数据的版本号和所述第一存储数据的版本号的差值小于第一预设阈值且大于第二预设阈值时,则根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据;
其中,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据。
在一种可能的设计中,确定模块,具体用于:
在检测到所述第一存储数据的加密代码与第二子数据的加密代码相同,则将增量数据和所述增量数据的加密代码确定为目标数据,所述增量数据根据所述第二存储数据和所述第二子数据的差数据得到;
或者,在检测到所述第一存储数据的加密代码与第二子数据的加密代码不相同,则将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在一种可能的设计中,确定模块,具体用于:
确定第一存储数据的版本号与第二存储数据的版本号一致,且确定所述第一存储数据的加密代码与所述第二存储数据的加密代码不一致,将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在一种可能的设计中,确定模块,还用于在检测到第二数据库中数据发生变化时,更新所述第二数据库,所述第二数据库中包括第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码;
将所述第二存储数据的属性信息发送给客户端,确定满足第二预设条件。
第五方面,本公开提供了一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得电子设备执行第一方面及第一方面任一种可能的设计中的数据库更新方法,或者,执行第二方面及第二方面任一种可能的设计中的数据库更新方法。
第六方面,本公开提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行第一方面及第一方面任一种可能的设计中的数据库更新方法,或者,执行第二方面及第二方面任一种可能的设计中的数据库更新方法。
第七方面,本公开提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面及第一方面任一种可能的设计中的数据库更新方法,或者,执行第二方面及第二方面任一种可能的设计中的数据库更新方法。
本公开实施例提供的数据库更新方法、装置、电子设备、介质和产品,在确定满足第一预设条件时,客户端向服务器发送第一数据请求,以使得服务器根据第一数据请求中包括的第一存储数据的属性信息确定出目标数据,其中,第一存储数据的属性信息可包括第一存储数据的版本号和第一存储数据的加密代码,第一存储数据的加密代码为对第一存储数据中标志字段对应的数据进行加密得到的,标志字段用于表征第一存储数据中的关键字段,使得客户端可通过接收到的目标数据对本地预先构建的第一数据库进行数据更新,其中,服务器能够结合关键字段确定需要向客户端发送的目标数据,从而,有效准确的确定出客户端用于更新第一数据库所需的目标数据,提升客户端数据库的更新效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种数据库更新方法的流程示意图;
图2为本公开实施例提供的一种增量数据的结构示意图;
图3为本公开实施例提供的另一种数据库更新方法的流程示意图;
图4为本公开实施例提供的一种数据库更新装置的结构示意图;
图5为本公开实施例提供的另一种数据库更新装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
示例性地,本公开提供一种数据库更新方法、装置、电子设备、介质和产品,在确定满足第一预设条件时,客户端向服务器发送第一数据请求,以使得服务器根据第一数据请求中包括的第一存储数据的属性信息确定出目标数据,其中,第一存储数据的属性信息可包括第一存储数据的版本号和第一存储数据的加密代码,第一存储数据的加密代码为对第一存储数据中标志字段对应的数据进行加密得到的,标志字段用于表征第一存储数据中的关键字段,使得客户端可通过接收到的目标数据对本地预先构建的第一数据库进行数据更新,其中,服务器能够结合关键字段确定需要向客户端发送的目标数据,从而,有效准确的确定出客户端用于更新第一数据库所需的目标数据,提升客户端数据库的更新效率。
其中,本公开的数据库更新方法由电子设备中安装的客户端来执行。电子设备可以是平板电脑、手机、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等设备,本公开对电子设备的具体类型不作任何限制。
其中,本公开对电子设备的操作系统的类型不做限定。例如,Android系统、Linux系统、Windows系统、iOS系统等。
请参阅图1,图1为本公开实施例提供的一种数据库更新方法的流程示意图。如图1所示,本公开提供的数据库更新方法可以包括:
S110、在确定满足第一预设条件时,向服务器发送第一数据请求。
其中,第一数据请求中包括第一存储数据的属性信息,第一存储数据的属性信息包括:第一存储数据的版本号和第一存储数据的加密代码,第一存储数据的加密代码为对第一存储数据中标志字段对应的数据进行加密得到的,第一存储数据存储于客户端的第一数据库。
其中,对标志字段对应的数据进行加密时,可通过加密算法进行加密编码后得到的加密代码,加密算法可包括:消息摘要算法(Message Digest Algorithm,MD5),编码算法(如Base64编码),哈希散列算法等。
其中,标志字段可用于表征第一存储数据中的关键字段,如可于预先设置出标志字段,如数据对应的字段可包括:姓名、年龄、身高、体重,则可根据数据库的存储需求,设置相应的标志字段,如可将姓名和年龄设置标志字段。
其中,可选的,确定满足第一预设条件可包括如下多种实现方式:
在一些实施例中,接收服务器发送的第二存储数据的属性信息,第二存储数据的属性信息包括:第二存储数据的版本号和第二存储数据对应的加密代码,第二存储数据的加密代码为对第二存储数据中标志字段对应的数据进行加密得到的;比对第二存储数据的属性信息和第一存储数据的属性信息,获取比对结果;若比对结果满足预设要求,确定满足第一预设条件。
其中,第二存储数据的属性信息包括:第二存储数据的版本号和第二存储数据的加密代码。
其中,第二存储数据可为第二数据库中的存储数据,可由客户端发送至服务器,第二数据库为服务器中可用于进行数据存储的数据库。
客户端可与服务器之间建立长连接,来实现客户端与服务器之间的数据交互。
其中,第二存储数据的加密代码可为服务器对第二存储数据中的标志字段对应的数据通过加密算法进行加密编码后得到的加密代码,加密算法可包括:消息摘要算法(Message Digest Algorithm,MD5),编码算法(如Base64编码),哈希散列算法等。
客户端在接收到服务器发送的第二存储数据的属性信息之后,可通过本地预存的第一存储数据的属性信息对接收到的第二存储数据的属性信息进行比对,来确定是否向服务器发送第一数据请求。
举例而言,客户端在比对出第一存储数据的版本号与第二存储数据的版本号一致,且,第一存储数据的加密代码与第二存储数据的加密代码不一致,或者,第一存储数据的版本号与第二存储数据的版本号不一致,且,第一存储数据的加密代码与第二存储数据的加密代码一致,或者,第一存储数据的版本号与第二存储数据的版本号不一致,且,第一存储数据的加密代码与第二存储数据的加密代码不一致,则表示客户端中的存储数据与服务器中的存储数据处于数据不对齐,客户端需要向服务器发送第一数据请求来请求数据,以根据服务器返回的响应数据使得客户端中的存储数据对齐服务器中的存储数据。
再举例而言,客户端在比对出第一存储数据的版本号与第二存储数据的版本号一致,且,第一存储数据的加密代码与第二存储数据的加密代码一致,则表示客户端中的存储数据与服务器中的存储数据处于数据对齐,客户端不需要向服务器发送第一数据请求。
在另一些实施例中,在客户端启动,并检测到客户端为非首次启动时,确认满足第一预设条件。
其中,客户端在非首次启动时,表明客户端中已具有构建好的第一数据库,进而通过向服务器发送数据请求,得到请求数据,来对第一数据库进行数据更新。
从而,客户端能够基于启动次数,确定向用户发送的第一数据请求,以指示服务器确定出第一数据请求的响应数据并返回,一方面,能够提升服务器确定响应数据的速度,另一方面,在客户端不需要全部存储数据时,可避免服务器基于客户端的数据请求发送全部存储数据造成传输资源损耗的问题。
S120、接收服务器发送的目标数据。
其中,目标数据是服务器基于第一存储数据的属性信息确定的。
S130、基于目标数据,更新预先构建的第一数据库。
其中,客户端在接收到目标数据之后,可基于目标数据对第一数据库中的数据进行更新操作,如对第一数据库中的数据进行全局覆盖、局部增添、局部修改、局部删除等。
需要说明的是,目标数据可包括多种类型,如全量类型和增量类型,其中,全量类型对应的目标数据可包括第二存储数据的版本号对应的全量数据,增量类型对应的目标数据可包括第二存储数据的版本号与第一存储数据的版本号的差值对应的增量数据和增量数据的加密代码。
在一些实施例中,在目标数据包括第二存储数据的版本号对应的全量数据时,基于目标数据,更新预先构建的第一数据库,可包括:
基于第二存储数据,覆盖预先构建的第一数据库中的存储数据;
根据编码规则数据生成第一数据库中覆盖后的存储数据的加密代码,其中,编码规则数据是服务器预先发送的。
其中,客户端可通过对接收到服务器发送的第二存储数据的版本号对应的全量数据之后,对其进行数据安全校验,从而,能够在利用版本号保证数据传输安全的基础之上,再利用加密代码对传输数据进行二次检验,来进一步提升数据传输的安全效率。
需要说明的是,编码规则数据可以是客户端首次向服务器请求数据时,由服务器下发给客户端得到。
其中,编码规则数据中可包括数据的加密方式,可由一个字段来表示,编码规则数据的具体展示形式可参见如下示例:
其中,“code”可对应第二存储数据的加密代码的字段,"0BC1D8F75E399E60B5E3243D22BC6084"可对应第二存储数据的加密代码。
需要说明的是,第二存储数据的加密代码属于一种不可逆的字符串组合,从而,避免第二存储数据被篡改,能够有效保证数据完整性。
在另一些实施例中,目标数据可包括:增量数据和增量数据的加密代码,增量数据根据第二存储数据和第二子数据的差数据得到,第二子数据为第二存储数据中与第一存储数据的版本号一致的存储数据。
基于目标数据,更新预先构建的第一数据库,包括:
基于增量数据,对预先构建的第一数据库中的存储数据进行相应更新操作,其中,更新操作包括:增加、删除和修改中的至少一种;
根据编码规则数据更新第一数据库中进行更新操作后得到的存储数据的加密代码,其中,编码规则数据是服务器预先发送的。
其中,客户端能够通过服务器发送的增量数据,对第一数据库中的存储数据进行更新,从而,采用与服务器存储的差异数据对第一数据库进行快速更新,在保证客户端在使用时本地数据库与服务端数据的一致性的同时,最大程度上保证本地数据库的数据完备性。
需要说明的是,增量数据可通过固定的数据格式来表示,具体可出参见图2示例性所示。
图2中,左边可看作一个数列,分别用来存放版本号、操作类型和标志字段,右边可为添加数据或修改数据后得到的全部数据。
增量数据的数据格式可参见如下示例:
其中,Ver为版本号,一般为递增,Add为操作符,可表示增加数据条,Del为操作符,可表示删除数据条,Mod为操作符,可表示修改数据条,id可表示存储数据的标志字段。
参见图2,假设客户端中原有数据如下示例:
经过上述6个版本(如Ver:0-Ver:5)的修改,得到的最终数据可参见如下示例:
本公开实施例提供的数据库更新方法,通过服务器实时监测数据变化,在确定满足第一预设条件时,客户端向服务器发送第一数据请求,以使得服务器根据第一数据请求中包括的第一存储数据的属性信息确定出目标数据,其中,第一存储数据的属性信息可包括第一存储数据的版本号和第一存储数据的加密代码,第一存储数据的加密代码为对第一存储数据中标志字段对应的数据进行加密得到的,标志字段用于表征第一存储数据中的关键字段,使得客户端可通过接收到的目标数据对本地预先构建的第一数据库进行数据更新,其中,服务器能够结合关键字段确定需要向客户端发送的目标数据,从而,有效准确的确定出客户端用于更新第一数据库所需的目标数据,提升客户端数据库的更新效率。
基于上述实施例的描述,第二数据库可由客户端通过与服务器之间的信息交互,构建并更新得出。
其中,第一数据库在更新之前,客户端还可与服务器进行信息交互获得数据,从而,构建出第一数据库。
其中,客户端的启动次数可分为首次启动和非首次启动,在首次启动时,客户端可根据接收到的目标数据构建第一数据库,在非首次启动时,客户端可根据接收到的目标数据更新已经构建完成的第一数据库。
从而,客户端能够在启动之后,向服务器发送数据请求,以根据服务器返回的响应数据(目标数据),有效构建/更新第一数据库,来保证第一数据库中的数据实时性。
需要说明的是,本公开实施例中第一数据库的构建可包括:数据库初始化和数据库更新,其中,数据初始化可用于构建/组件第一数据库,数据库更新可用于对构建/组件好的第一数据库进行数据更新。
其中,在检测到客户端为首次启动时,向服务器发送携带有全量数据字段的数据请求,使服务器返回第二数据库中存储的第二全部数据;
接收第二全部数据,基于第二全部数据构建第一数据库。
其中,第二全部数据为服务器的第二数据库中存储的所有数据。
客户端在首次启动时,此时客户端中还没有任何存储数据,则需要向服务器发送数据请求,以指示服务器将全部存储数据返回至客户端,便于客户端对本地的第一数据库进行构建,满足用户的使用需求。
其中,接收服务器发送的目标数据,可包括:
接收服务器返回的第二数据库中存储的第二全部数据、第二全部数据的版本号和编码规则数据,编码规则数据用于对第二数据库中存储的第二全部数据的编码加密得到第二全部数据的加密代码;其中,第二全部数据为第二数据库中存储的所有的第二存储数据;
或者,接收服务器返回的增量数据,增量数据为第一数据库中存储的第一全部数据与第二数据库中存储的第二全部数据的差异数据。
其中,第二全部数据为服务器的第二数据库中当前存储的全部列表数据,编码规则数据中可包括加密方式,第二全部数据的版本号和编码规则数据具体可用标志字段进行展示,具体可参见如下示例:
其中,“Version”为第二全部数据的版本号对应的字段,“Encoder”为第二全部数据的加密方式对应的字段。
需要说明的是,客户端在接收到第二全部数据之后,可将第二全部数据的标志字段按照数据返回顺序进行组合,利用上述加密方式进行加密,得到第二全部数据的加密代码。
另外,服务器返回的目标数据中可包括返回数据的数据类型,其具体可用不同字段进行表示,以使得客户端能够快速识别出目标数据的数据类型,便于客户端准确基于目标数据对第一数据库进行数据更新。
图3为为本公开实施例提供的另一种数据库更新方法的流程示意图。如图3所示,本公开提供的数据库更新方法可以包括:
S310、在确定满足第二预设条件,接收客户端发送的第一数据请求,第一数据请求中包括第一存储数据的属性信息。
其中,第一存储数据的属性信息包括:第一存储数据的版本号和第一存储数据的加密代码,第一存储数据存储于客户端的第一数据库。
其中,可选的,确定满足第二预设条件,可包括:
在检测到第二数据库中数据发生变化时,更新第二数据库,第二数据库中包括第二存储数据的属性信息,第二存储数据的属性信息包括:第二存储数据的版本号和第二存储数据的加密代码;
将第二存储数据的属性信息发送给客户端,确定满足第二预设条件。
其中,服务器会实时监控第二数据库中的数据是否发生变化,在确定第二数据库中的数据发生变化时,更新第二数据库中包括的第二存储数据、第二存储数据的版本号,并可根据变化后的最新数据生成第二存储数据的加密代码。
其中,服务器可通过与客户端的长连接,将第二存储数据的属性信息实时发送给客户端,避免数据发送延时导致客户端接数据的低实时性。
S320、根据第一存储数据的属性信息,确定目标数据,并将目标数据发送给客户端。
其中,服务器在确定出目标数据之后,可将目标数据发送给客户端,使得客户端可基于目标数据,实时更新第一数据库,从而,保证客户端中的存储数据与服务器中的存储数据的数据一致性。
其中,可选的,根据第一存储数据的属性信息,确定目标数据之前,本实施例方法还可以包括:
获取第二存储数据的属性信息,第二存储数据的属性信息包括:第二存储数据的版本号和第二存储数据的加密代码,第二存储数据存储于服务器的第二数据库;
根据第一存储数据的属性信息,确定目标数据,包括:
根据第一存储数据的属性信息和第二存储数据的属性信息,确定目标数据。
从而,服务器能够结合第一存储数据的属性信息和第二存储数据的属性信息,准确确定出用于向客户端发送的目标数据,使得客户端基于准确有效的目标数据更新第一数据库。
其中,根据第一存储数据的属性信息和第二存储数据的属性信息的差异值,确定目标数据,可包括:
在检测到第一存储数据的版本号和第二存储数据的版本号的差值大于等于第一预设阈值或者小于等于第二阈值阈值时,则将第二存储数据的版本号对应的全量数据确定为目标数据;
或者,在检测到第一存储数据的版本号和第二存储数据的版本号的差值小于第一预设阈值且大于第二预设阈值时,则根据第一存储数据的加密代码和第二子数据的加密代码,确定目标数据,第二子数据为第二存储数据中与第一存储数据的版本号一致的存储数据。
其中,第一存储数据的版本号和第二存储数据的版本号的差值可通过第一存储数据的版本号对应的数值与第二存储数据的版本号对应的数值之间的差值得出。
举例而言,第一存储数据的版本号对应的数值为6.0,第二存储数据的版本号对应的数值为4.0,则第一存储数据的版本号和第二存储数据的版本号的差异值为2。
在一些实施例中,服务器在检测到第一存储数据的版本号和第二存储数据的版本号的差值大于第一预设阈值时,表明客户端与服务器的数据差异较大,服务器返回增量数据的成本较大,因此,服务器可将第二存储数据的版本号对应的全量数据返回给客户端,便于降低服务器的数据处理成本。
在另一些实施例中,服务器在检测到第一存储数据的版本号和第二存储数据的版本号的差值小于第二预设阈值时,其中,第二预设阈值可设置为0,用于识别客户端中的数据是否发生异常。
在又一些实施例中,服务器在检测到第一存储数据的版本号和第二存储数据的版本号的差值小于等于第一预设阈值且大于等于第二预设阈值时,可从第二存储数据中临时回退至与客户端发送的第一存储数据的版本号一致的第二子数据,来确定目标数据,从而,能够利用服务器中存储的与客户端当前数据版本对应的历史数据版本的数据校验客户端的当前数据版本的数据。
其中,根据第一存储数据的加密代码和第二子数据的加密代码,确定目标数据,可包括:
在检测到第一存储数据的加密代码与第二子数据的加密代码相同,则将增量数据和增量数据的加密代码确定为目标数据,增量数据根据第二存储数据和第二子数据的差数据得到;
或者,在检测到第一存储数据的加密代码与第二子数据的加密代码不相同,则将第二存储数据的版本号对应的全量数据确定为目标数据。
其中,服务器在检测到第一存储数据的加密代码与第二子数据的加密代码相同,则表示客户端中的第一存储数据的数据完整,则可在此基础上,将第二存储数据与第一存储数据的增量数据确定为目标数据,从而,在第二存储数据的版本号和第一存储数据的版本号相差较小时,将第二存储数据和第一存储数据得到的增量数据发送给客户端,来降低传输数据量,有效提升数据传输效率。
其中,服务器在检测到第一存储数据的加密代码与第二子数据的加密代码不相同,则表示客户端中的第一存储数据的数据不完整,存在被篡改的风险,则将第二存储数据的版本号对应的全量数据确定为目标数据,便于客户端利用准确数据对第一数据库进行更新。
另外,在客户端向服务器请求数据的同时,服务器检测到第二数据库中的数据再次发生变化,服务器可直接返回再次变化后的数据、版本号以及加密代码,使得客户端基于再次变化后的数据、版本号和加密代码,更新第一数据库。
在此之后,若客户端接收到服务器发生的再次变化的数据反馈时,由于经过上述再次修正之后,客户端与服务器的数据已经保持一致,此时客户端可不需要向服务器发送数据请求。
其中,根据第二存储数据的属性信息和第一存储数据的属性信息,确定目标数据,可包括:
确定第一存储数据的版本号与第二存储数据的版本号一致,且确定第一存储数据的加密代码与第二存储数据的加密代码不一致,将第二存储数据的版本号对应的全量数据确定为目标数据。
其中,在确定出第二存储数据的版本号与第一存储数据的版本号一致,但确定出第二存储数据的加密代码与第一存储数据的加密代码不一致,则表示客户端中的数据可能遭到未知篡改,服务器则向客户端返回第二存储数据的版本号对应的全量数据,来指示客户端进行全局更新,保证客户端数据的准确性。
另外,服务器根据第二数据请求确定目标数据,还可包括:
在第一数据请求中携带有全量数据字段时,将第二数据库中的存储的第二全部数据、第二全部数据的版本号和编码规则数据确定为目标数据,编码规则数据用于对第二数据库中存储的第二全部数据的编码加密得到第二全部数据的加密代码;
或者,
在第一数据请求中携带有第一数据库中存储的第一全部数据的属性信息时,根据第一数据库中存储的第一全部数据的属性信息和第二数据库中存储的第二全部数据的属性信息,确定目标数据,第一全部数据的属性信息包括:第一全部数据的版本号和第一全部数据的加密代码。
其中,在第一数据请求中携带有全量数据字段时,表明客户端是首次启动,则服务器可将第二数据库中存储的第二全部数据和编码规则数据确定为目标数据,以向客户端返回服务器中当前存储的所有数据,便于客户端构建本地数据库(如上提及的第一数据库)。
在第一数据请求中携带有第一数据库中存储的第一全部数据的属性信息时,表明客户端是非首次启动,则可根据第一数据库中存储的第一全部数据的属性信息和第二数据库中存储的第二全部数据的属性信息,确定目标数据,来对目标数据的确定过程进行细分,以确定出满足客户端需求的目标数据。
需要说明的是,服务器可根据第二全部数据的版本号和第二全部数据的加密代码,对第一全部数据的版本号和第一全部数据的加密代码进行数据校验。
基于上述实施例的描述,服务器还可对客户端发送的携带有全量数据字段的数据请求进行影响,将第二数据库中存储的第二全部数据发送给客户端,使得客户端能够根据第二全部数据构建起客户端本地预存的第一数据库。
图4为本公开提供的一种数据库更新装置的结构示意图,如图4所示,本实施例的数据库更新装置400,包括:发送模块410、接收模块420和更新模块430,其中:
发送模块410,用于在确定满足第一预设条件时,向服务器发送第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据的加密代码为对所述第一存储数据中标志字段对应的数据进行加密得到的,所述第一存储数据存储于所述客户端的第一数据库,所述标志字段用于表征所述第一存储数据中的关键字段;
接收模块420,用于接收所述服务器发送的目标数据,所述目标数据是所述服务器基于所述第一存储数据的属性信息确定的;
更新模块430,用于基于所述目标数据,更新预先构建的所述第一数据库。
在本实施例中,可选的,还包括:确定模块;
确定模块,用于接收服务器发送的第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据对应的加密代码,所述第二存储数据的加密代码为对所述第二存储数据中标志字段对应的数据进行加密得到的;
比对所述第二存储数据的属性信息和第一存储数据的属性信息,获取比对结果;
若所述比对结果满足预设要求,确定满足第一预设条件;
或者,所述确定满足第一预设条件包括:
在所述客户端启动,并检测到所述客户端为非首次启动时,确认满足第一预设条件。
在本实施例中,可选的,所述目标数据包括第二存储数据的版本号对应的全量数据;
更新模块430,具体用于:
基于所述第二存储数据,覆盖预先构建的所述第一数据库中的存储数据;
根据编码规则数据生成所述第一数据库中覆盖后的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在本实施例中,可选的,所述目标数据包括:增量数据和所述增量数据的加密代码,所述增量数据根据第二存储数据和第二子数据的差数据得到,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据;
更新模块430,具体用于:
基于所述增量数据,对预先构建的所述第一数据库中的存储数据进行相应更新操作,其中,所述更新操作包括:增加、删除和修改中的至少一种;
根据编码规则数据更新所述第一数据库中进行所述更新操作后得到的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
在本实施例中,可选的,发送模块410,还用于在检测到所述客户端为首次启动时,向服务器发送携带有全量数据字段的数据请求,使所述服务器返回第二数据库中存储的第二全部数据;
接收模块420,还用于接收所述第二全部数据,基于所述第二全部数据构建所述第一数据库。
本公开提供的数据库更新装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本公开此处不再赘述。
图5为本公开提供的一种数据库更新装置的结构示意图,如图5所示,本实施例的数据库更新装置500,包括:接收模块510和确定模块520,其中:
接收模块510,用于在确定满足第二预设条件,接收客户端发送的第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据存储于所述客户端的第一数据库;
确定模块520,用于根据所述第一存储数据的属性信息,确定目标数据,并将所述目标数据发送给所述客户端,以使所述客户端基于所述目标数据,更新预先构建的第一数据库。
在本实施例中,可选的,还包括:获取模块;
获取模块,用于获取第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码,所述第二存储数据存储于所述服务器的第二数据库;
确定模块520,具体用于:
根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据。
在本实施例中,可选的,确定模块520,具体用于:
在检测到所述第二存储数据的版本号和所述第一存储数据的版本号的差值小于第一预设阈值且大于第二预设阈值时,则根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据;
其中,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据。
在本实施例中,可选的,确定模块520,具体用于:
在检测到所述第一存储数据的加密代码与第二子数据的加密代码相同,则将增量数据和所述增量数据的加密代码确定为目标数据,所述增量数据根据所述第二存储数据和所述第二子数据的差数据得到;
或者,在检测到所述第一存储数据的加密代码与第二子数据的加密代码不相同,则将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在本实施例中,可选的,确定模块520,具体用于:
确定第一存储数据的版本号与第二存储数据的版本号一致,且确定所述第一存储数据的加密代码与所述第二存储数据的加密代码不一致,将所述第二存储数据的版本号对应的全量数据确定为目标数据。
在本实施例中,可选的,确定模块520,还用于在检测到第二数据库中数据发生变化时,更新所述第二数据库,所述第二数据库中包括第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码;
将所述第二存储数据的属性信息发送给客户端,确定满足第二预设条件。
本公开提供的数据库更新装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本公开此处不再赘述。
示例性地,本公开提供一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序;其中一个或多个计算机程序被存储在存储器中;一个或多个处理器在执行一个或多个计算机程序时,使得电子设备实现前文实施例的数据库更新方法。
示例性地,本公开提供一种芯片系统,芯片系统应用于包括存储器和传感器的电子设备;芯片系统包括:处理器;当处理器执行前文实施例的数据库更新方法。
示例性地,本公开提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得电子设备执行时实现前文实施例的数据库更新方法。
示例性地,本公开提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行前文实施例的数据库更新方法。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本公开实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (16)
1.一种数据库更新方法,其特征在于,应用于客户端,包括:
在确定满足第一预设条件时,向服务器发送第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据的加密代码为对所述第一存储数据中标志字段对应的数据进行加密得到的,所述第一存储数据存储于所述客户端的第一数据库,所述标志字段用于表征所述第一存储数据中的关键字段;
接收所述服务器发送的目标数据,所述目标数据是所述服务器基于所述第一存储数据的属性信息确定的;
基于所述目标数据,更新预先构建的所述第一数据库。
2.根据权利要求1所述的方法,其特征在于,所述确定满足第一预设条件包括:
接收服务器发送的第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据对应的加密代码,所述第二存储数据的加密代码为对所述第二存储数据中标志字段对应的数据进行加密得到的;
比对所述第二存储数据的属性信息和第一存储数据的属性信息,获取比对结果;
若所述比对结果满足预设要求,确定满足第一预设条件;
或者,所述确定满足第一预设条件包括:
在所述客户端启动,并检测到所述客户端为非首次启动时,确认满足第一预设条件。
3.根据权利要求1所述的方法,其特征在于,所述目标数据包括第二存储数据的版本号对应的全量数据;
所述基于所述目标数据,更新预先构建的所述第一数据库,包括:
基于所述第二存储数据,覆盖预先构建的所述第一数据库中的存储数据;
根据编码规则数据生成所述第一数据库中覆盖后的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
4.根据权利要求1所述的方法,其特征在于,所述目标数据包括:增量数据和所述增量数据的加密代码,所述增量数据根据第二存储数据和第二子数据的差数据得到,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据;
所述基于所述目标数据,更新预先构建的所述第一数据库,包括:
基于所述增量数据,对预先构建的所述第一数据库中的存储数据进行相应更新操作,其中,所述更新操作包括:增加、删除和修改中的至少一种;
根据编码规则数据更新所述第一数据库中进行所述更新操作后得到的存储数据的加密代码,其中,所述编码规则数据是所述服务器预先发送的。
5.根据权利要求1所述的方法,其特征在于,在确定满足第一预设条件之前,还包括:
在检测到所述客户端为首次启动时,向服务器发送携带有全量数据字段的数据请求,使所述服务器返回第二数据库中存储的第二全部数据;
接收所述第二全部数据,基于所述第二全部数据构建所述第一数据库。
6.一种数据库更新方法,其特征在于,应用于服务器,包括:
在确定满足第二预设条件,接收客户端发送的第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据存储于所述客户端的第一数据库;
根据所述第一存储数据的属性信息,确定目标数据,并将所述目标数据发送给所述客户端,以使所述客户端基于所述目标数据,更新预先构建的第一数据库。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一存储数据的属性信息,确定目标数据之前,还包括:
获取第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码,所述第二存储数据存储于所述服务器的第二数据库;
所述根据所述第一存储数据的属性信息,确定目标数据,包括:
根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一存储数据的属性信息和所述第二存储数据的属性信息,确定目标数据,包括:
在检测到所述第二存储数据的版本号和所述第一存储数据的版本号的差值小于第一预设阈值且大于第二预设阈值时,则根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据;
其中,所述第二子数据为所述第二存储数据中与所述第一存储数据的版本号一致的存储数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一存储数据的加密代码和第二子数据的加密代码,确定目标数据,包括:
在检测到所述第一存储数据的加密代码与第二子数据的加密代码相同,则将增量数据和所述增量数据的加密代码确定为目标数据,所述增量数据根据所述第二存储数据和所述第二子数据的差数据得到;
或者,在检测到所述第一存储数据的加密代码与第二子数据的加密代码不相同,则将所述第二存储数据的版本号对应的全量数据确定为目标数据。
10.根据权利要求7所述的方法,其特征在于,所述根据所述第二存储数据的属性信息和所述第一存储数据的属性信息,确定目标数据,包括:
确定第一存储数据的版本号与第二存储数据的版本号一致,且确定所述第一存储数据的加密代码与所述第二存储数据的加密代码不一致,将所述第二存储数据的版本号对应的全量数据确定为目标数据。
11.根据权利要求6所述的方法,其特征在于,所述确定满足第二预设条件,包括:
在检测到第二数据库中数据发生变化时,更新所述第二数据库,所述第二数据库中包括第二存储数据的属性信息,所述第二存储数据的属性信息包括:第二存储数据的版本号和所述第二存储数据的加密代码;
将所述第二存储数据的属性信息发送给客户端,确定满足第二预设条件。
12.一种数据库更新装置,其特征在于,包括:
发送模块,用于在确定满足第一预设条件时,向服务器发送第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据的加密代码为对所述第一存储数据中标志字段对应的数据进行加密得到的,所述第一存储数据存储于客户端的第一数据库,所述标志字段用于表征所述第一存储数据中的关键字段;
接收模块,用于接收所述服务器发送的目标数据,所述目标数据是所述服务器基于所述第一存储数据的属性信息确定的;
更新模块,用于基于所述目标数据,更新预先构建的所述第一数据库。
13.一种数据库更新装置,其特征在于,包括:
接收模块,用于在确定满足第二预设条件,接收客户端发送的第一数据请求,所述第一数据请求中包括第一存储数据的属性信息,所述第一存储数据的属性信息包括:第一存储数据的版本号和所述第一存储数据的加密代码,所述第一存储数据存储于所述客户端的第一数据库;
确定模块,用于根据所述第一存储数据的属性信息,确定目标数据,并将所述目标数据发送给所述客户端,以使所述客户端基于所述目标数据,更新预先构建的第一数据库。
14.一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序;其中所述一个或多个计算机程序被存储在所述存储器中;其特征在于,所述一个或多个处理器在执行所述一个或多个计算机程序时,使得所述电子设备实现如权利要求1-5任一项所述的数据库更新方法,或者,实现如权利要求6-11任一项所述的数据库更新方法。
15.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-5任一项所述的数据库更新方法,或者,执行如权利要求6-11任一项所述的数据库更新方法。
16.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的数据库更新方法,或者,执行如权利要求6-11任一项所述的数据库更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111653985.4A CN116414841A (zh) | 2021-12-30 | 2021-12-30 | 数据库更新方法、装置、电子设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111653985.4A CN116414841A (zh) | 2021-12-30 | 2021-12-30 | 数据库更新方法、装置、电子设备、介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116414841A true CN116414841A (zh) | 2023-07-11 |
Family
ID=87048169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111653985.4A Pending CN116414841A (zh) | 2021-12-30 | 2021-12-30 | 数据库更新方法、装置、电子设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414841A (zh) |
-
2021
- 2021-12-30 CN CN202111653985.4A patent/CN116414841A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914712B1 (en) | Blockchain based secure naming and update verification | |
CN110912937B (zh) | 一种基于区块链的数字存证平台和存证方法 | |
US11582042B2 (en) | Industrial data verification using secure, distributed ledger | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
KR101956486B1 (ko) | 단말 식별자들을 용이하게 하는 방법 및 시스템 | |
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
US11108545B2 (en) | Creating a blockchain account and verifying blockchain transactions | |
CN110263579B (zh) | 一种数据处理方法、系统及相关设备 | |
US9830333B1 (en) | Deterministic data replication with conflict resolution | |
CN115668194A (zh) | 分区的防篡改数据存储装置中的跨分区调用 | |
KR101153085B1 (ko) | 이소제니-기반 서명의 생성과 유효화를 위한 시스템 및방법 | |
CN106664308B (zh) | 注册之前的设备验证 | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
EP4357883A1 (en) | Data verification method and apparatus, device and storage medium | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN116414841A (zh) | 数据库更新方法、装置、电子设备、介质和产品 | |
CN114398678A (zh) | 电子文件防篡改的登记验证方法、装置、电子设备及介质 | |
CN110719163B (zh) | 一种信息处理方法、设备及存储介质 | |
EP4018596A1 (en) | Pruning entries in tamper-evident data stores | |
CN112445783A (zh) | 一种用于数据库更新的方法、装置和服务器 | |
CN110704451A (zh) | 基于区块链的所有权登记、举证的方法及装置 | |
CN114531486B (zh) | 一种工业互联网数据处理方法、装置、设备及存储介质 | |
US12010213B2 (en) | Pruning entries in tamper-evident data stores | |
US10769586B2 (en) | Implementation of rolling key to identify systems inventories |
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 |