CN107247749A - 一种数据库状态确定方法、一致性验证方法及装置 - Google Patents

一种数据库状态确定方法、一致性验证方法及装置 Download PDF

Info

Publication number
CN107247749A
CN107247749A CN201710377721.8A CN201710377721A CN107247749A CN 107247749 A CN107247749 A CN 107247749A CN 201710377721 A CN201710377721 A CN 201710377721A CN 107247749 A CN107247749 A CN 107247749A
Authority
CN
China
Prior art keywords
data
database
state transition
state
target database
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
Application number
CN201710377721.8A
Other languages
English (en)
Other versions
CN107247749B (zh
Inventor
赵博然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710377721.8A priority Critical patent/CN107247749B/zh
Publication of CN107247749A publication Critical patent/CN107247749A/zh
Priority to TW107108222A priority patent/TWI710916B/zh
Priority to KR1020197020615A priority patent/KR102231058B1/ko
Priority to AU2018274424A priority patent/AU2018274424B2/en
Priority to EP18805650.1A priority patent/EP3557452B1/en
Priority to MX2019008383A priority patent/MX2019008383A/es
Priority to JP2019538236A priority patent/JP6921206B2/ja
Priority to CA3049831A priority patent/CA3049831C/en
Priority to SG11201906495TA priority patent/SG11201906495TA/en
Priority to BR112019014478-1A priority patent/BR112019014478A2/pt
Priority to PCT/CN2018/087966 priority patent/WO2018214897A1/zh
Priority to RU2019121699A priority patent/RU2725760C1/ru
Priority to PH12019501637A priority patent/PH12019501637A1/en
Priority to US16/665,200 priority patent/US10789243B2/en
Application granted granted Critical
Publication of CN107247749B publication Critical patent/CN107247749B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

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 Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种数据库状态确定方法,用以解决现有技术中确定数据库状态值时会消耗较多计算资源的问题。该方法包括:确定对目标数据库执行的状态迁移操作;根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。本申请还公开了一种数据库状态确定装置、数据库一致性验证方法及装置。

Description

一种数据库状态确定方法、一致性验证方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据库状态确定方法及装置,以及一种数据库一致性验证方法及装置。
背景技术
计算机在对数据进行存储时,有时会将同一份数据存储到多个不同数据库之中,基于业务需要,往往还会要求这些不同数据库中保持数据存储的同步性,即各数据库中存储的数据往往会被要求保持一致。以区块链技术为例,在经过验证后,多个交易记录将被写入各个保存区块链数据的节点(对应的数据库)中,为确保产生各节点接受的新的区块,各节点对应的数据库中存储的数据应当保持一致。还比如分布式存储中的主从数据库的情形,为便于在主数据库内数据错误时,能通过从数据库(备份数据库)恢复数据,往往也要求主数据库与其从数据库存储的数据保持一致。
为保证多个数据库中存储的数据的一致性,可以对多个数据库中的数据进行一致性检验,然后在发现数据不一致时,及时地采取补救措施。由于数据库中的数据往往很多,在检验数据库的一致性时,往往不会逐一比对多个数据库中的各数据,而是通过比对用于表征数据库中数据状态的状态值来检验。为便于描述,可将数据库中数据状态简称为数据库状态。
在现有技术中,在每次数据库中的数据发生变化后,都需要重新确定数据库的状态值,在确定状态值时,往往会通过对数据库中的所有数据进行计算来得到该状态值。比如,该状态值可以是数据库中数据的哈希值,那么在确定哈希值时,需要对数据库中的所有数据进行拼接得到一个字符串,然后将该字符串作为哈希函数的输入,通过哈希函数进行计算得到哈希值。那么,当数据库中的数据较多时,确定数据库的状态值便会消耗较多的计算资源。
发明内容
本申请实施例提供一种数据库状态确定方法,用以解决现有技术中确定数据库状态值时会消耗较多计算资源的问题。
本申请实施例采用下述技术方案:
一种数据库状态确定方法,包括:
确定对目标数据库执行的状态迁移操作;
根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。
本申请实施例还提供一种数据库状态确定装置,用以解决现有技术中确定数据库状态值时会消耗较多计算资源的问题。
一种数据库状态确定装置,包括:
第一确定单元,确定对目标数据库执行的状态迁移操作;
第二确定单元,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。
一种数据库一致性验证方法,包括:
判断待校验的第一数据库和第二数据库的状态值是否相同,所述第一数据库和所述第二数据库的状态值是通过本申请提供的数据库状态确定方法确定的;
若所述第一数据库和所述第二数据库的状态值相同,则确定所述第一数据库和第二数据库的状态一致。
一种数据库一致性验证装置,包括:
状态确定单元,判断待校验的第一数据库和第二数据库的状态值是否相同,所述第一数据库和所述第二数据库的状态值是通过本申请提供的数据库状态确定装置确定的;
一致性确定单元,在确定所述第一数据库和所述第二数据库的状态值相同时,则确定所述第一数据库和第二数据库的状态一致。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在确定由状态迁移操作导致数据发生变化的数据库的状态值时,通过确定对目标数据库执行的该状态迁移操作,然后根据确定的状态迁移操作,以及执行该状态迁移操作前数据库的状态值,确定执行该状态迁移操作后数据库的状态值,相对于现有技术来说,无需对整个数据库中的所有数据进行运算,避免消耗过多的计算资源。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请提供的一种哈希树的数据结构示意图;
图2为本申请提供的一种数据库状态确定方法的实现流程示意图;
图3为本申请提供的一种数据库一致性验证方法的实现流程示意图;
图4为本申请提供的一种数据库状态确定方法的实现流程示意图;
图5为本申请提供的一种数据库状态确定装置的具体结构示意图;
图6为本申请提供的一种数据库一致性验证装置的具体结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
随着计算机技术的发展,需要验证各数据库中的数据是否一致的场景已经越来越多,以区块链为例,区块链的本质是分布式数据库,区块链中每笔数据的变化,都会广播至全网的各区块链节点,每个节点都需要有全量的、一致的数据。在各节点中,数据往往会保存在多个数据单元中,一个数据单元可以是区块链中的一个区块,也可以是由多个区块共同构成的数据单元。在确定节点的状态值时,会以各个数据单元中数据的哈希值为叶子节点构建哈希树,例如默克尔树(Merkle Tree),然后将哈希树根节点的哈希值作为数据库的状态值,进而通过该状态值来唯一表征数据库的状态。
如图1所示为针对某一数据库构建的一种哈希树的数据结构示意图,在计算哈希树根节点的过程中,首先会计算各个数据单元中数据的哈希值,然后将得到的哈希值作为哈希树的叶子节点的值,再计算各叶子节点的父节点的哈希值,最终得到哈希树根节点的哈希值。当数据库中的数据变化后,需要重新确定数据库的状态值,这就需要重复上述计算哈希树根节点的过程,而如果数据库中的数据较多,便需要对大量的数据进行哈希运算,这会消耗较多的计算资源。
在一些类似的场景下,在确定数据库的状态值时,也会存在消耗较多的计算资源的问题,此处不再逐一赘述。为了解决该问题,本申请提供一种数据库状态确定方法,通过根据对目标数据库执行的状态迁移操作来确定目标数据库的状态。
下面将详细描述本申请提供的数据状态确定方法,该方法的执行主体可以是计算设备,例如分布式数据库中的数据库节点,或者区块链中的节点。此外,该方法的执行主体还可以是实现本申请提供的数据库状态确定方法的应用程序。为便于描述,下文以该方法的执行主体为计算设备为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为计算设备只是一种示例性的说明,并不应理解为对该方法的限定。
本申请提供的数据库状态确定方法的实现流程示意图如图2所示,包括下述步骤:
步骤S101:确定对目标数据库执行的状态迁移操作;
其中,这里的状态迁移操作可以是导致数据库的状态发送改变的数据库操作,具体可以是数据写入操作、数据更新操作或者数据删除操作等操作,状态迁移操作中可以包含被处理的数据本身以及对数据的处理方式,比如数据写入操作会包含待写入的数据、以及数据要写入数据库中的具体位置。这里的目标数据库可以是状态迁移操作所针对的数据库,该目标数据库可以是待确定状态值的任意数据库。
在实际应用中,具体确定状态迁移操作的方式可以有很多种,比如,在面向对象的应用程序中,状态迁移操作是由对象来实现的,那么可以通过确定状态迁移操作对应的数据操作对象来确定;或者,还可以是根据状态迁移操作对应的数据库操作语句来确定。这里的数据操作对象为面向对象的应用程序中用于执行数据库操作的数据的对象,面向对象的应用程序中,“对象”一般是指类在内存中装载的实例,具有相关的成员变量和成员函数。
由于数据库中数据的改变是通过状态迁移操作来实现的,那么在确定了状态迁移操作后,便可以确定执行该状态迁移操作后的数据库的状态。
步骤S102:根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值。
这里的状态值用于表征目标数据库的状态,由于状态值可以用来对目标数据库进行一致性检验,因此,该状态值可以用于唯一地表征目标数据库中存储的数据的特征,该状态值比如可以是哈希值,也可以是全局唯一标识符。其中,哈希值是通过哈希函数对输入参数进行哈希计算得到的,全局唯一标识符可以是系统分配的用于在系统中唯一标识数据库状态的标识符
需要说明的是,本领域技术人员应当知晓,所谓唯一地表征并不应当理解为绝对意义上的唯一,而是在误差允许范围内的唯一,目前应用最广泛的哈希算法,在理论上也会存在输入的数据不同但输出的哈希值相同的情况,即所谓的哈希碰撞。
由于数据库中数据变化后的状态跟数据变化前的状态以及状态迁移操作有关,那么在确定针对目标数据库的状态迁移操作后,便可以根据执行该操作前目标数据库的状态值,以及确定的该状态迁移操作,确定执行该状态迁移操作后目标数据库的状态值。
在实际应用中,如步骤S101中所描述的,在面向对象的应用程序中,可以通过确定状态迁移操作对应的数据操作对象的方式来确定状态迁移操作,那么后续可以根据确定的该数据操作对象,以及执行该状态迁移操作前目标数据库的状态值,来确定执行该状态迁移操作后目标数据库的状态值。
为了方便通过简短的标识对不同的状态迁移操作进行区分,也可以通过某一特征值来唯一地表征状态迁移操作,状态迁移操作的特征值可以是哈希值,或者也可以是用于唯一标识状态迁移操作的全局唯一标识符等,此处不再赘述。为了方便对状态迁移操作的特征值和目标数据库的状态值进行计算,以得到执行状态迁移操作后的目标数据库的状态值,该特征值的数据格式可以与目标数据库状态值的数据格式相同或相近。
在实际应用中,对于面向对象的应用程序而言,可以确定数据操作对象的哈希值,然后根据确定的该数据操作对象的哈希值,以及执行状态迁移操作前目标数据库的状态值,确定执行状态迁移操作后目标数据库的状态值。
下面具体介绍本申请实施例中确定数据操作对象的哈希值的过程:
在确定数据操作对象的哈希值时,为了能够将数据操作对象的数据格式转换为哈希算法的输入所支持的格式,可以对数据操作对象执行序列化操作,序列化操作可以将对象的状态信息转换为可以存储或传输的格式。在对数据操作对象执行序列化操作后,便可以得到数据操作对象对应的序列化数据,该序列化数据的数据格式比如可以是二进制格式,二进制格式的数据可以作为哈希算法的输入。
在得到数据操作对象对应的序列化数据后,可以通过对该序列化数据进行哈希运算,得到该序列化数据的哈希值,即可将该序列化数据的哈希值作为该数据操作对象的哈希值。
需要说明的是,由于单次状态迁移操作往往会对应不止一个数据操作对象,比如区块链中节点每次状态迁移操作往往会对应多个数据操作对象,那么,在对状态迁移操作对应的数据操作对象进行序列化时,可以分别对各数据操作对象进行序列化,然后按顺序将得到的各序列化数据进行拼接,最终将得到的拼接后的序列化数据,作为状态迁移操作对应的序列化数据。
在按顺序将得到的各序列化数据进行拼接时,若各数据操作对象执行状态迁移操作的顺序是固定的,则按照执行状态迁移操作的顺序,对各数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据;若各数据操作对象执行状态迁移操作的顺序是不固定的,则按照第一预定顺序,对各数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据。然后可以通过哈希函数计算拼接后的序列化数据的哈希值,将该拼接后的序列化数据的哈希值,作为该状态迁移操作对应的数据操作对象的哈希值。
第一预定顺序可以是预先设定的拼接顺序,比如,如果各数据操作对象中数据的格式为key-value格式,那么可以按照key值从大到小的顺序,对各数据操作对象对应的序列化数据进行拼接。
在确定了状态迁移操作对应的数据操作对象的哈希值后,即可根据确定的数据操作对象的哈希值,以及执行该状态迁移操作前目标数据库的状态值,确定执行该状态迁移操作后目标数据库的状态值。具体来说,可以按照第二预定顺序,对数据操作对象的哈希值和执行该状态迁移操作前目标数据库的状态值进行拼接,得到拼接数据,确定该拼接数据的哈希值,将该拼接数据的哈希值作为执行该状态迁移操作后该目标数据库的状态值。
这里的第一预定顺序和第二预定顺序可以是预先设定的拼接顺序,在计算各数据库的状态值时,对数据进行拼接时应遵循相同的拼接顺序,否则即使各数据库之间的数据一致,也会导致计算出的状态值不同,进而无法准确检验各数据库的一致性。
需要说明的是,在某些情况下,两组不同的数据在拼接后可能会变成相同的拼接数据,比如对数据“hello”和“world”进行拼接可以得到拼接数据“helloworld”,而对数据“he”和“lloworld”进行拼接同样会得到“helloworld”,显然这两组数据在拼接前是不同的数据。那么,为了避免不同的数据在拼接后相同,在执行拼接操作时,可以使用分割字符来保证拼接后数据的唯一性,具体可以将预设分割字符放置于数据的拼接位置处,其中,预设分割字符可以由开发人员预先定义。例如,分割字符串为123,那么对于数据“hello”和“world”,在拼接后可以得到“hello123world”,对于数据“he”和“lloworld”,在拼接后可以得到“he123lloworld”。这样即可保证拼接后的两个数据是不同的数据。
基于上述使用分割字符对数据进行拼接的方式,在对各数据操作对象对应的序列化数据进行拼接时,可以将预设分割字符设置于进行拼接的至少两个序列化数据之间,再对设置预设分割字符后的各序列化数据进行拼接,得到拼接后的序列化数据。当然,在使用分割字符对数据进行拼接前,可以先判断不同组的数据在拼接后是否相同,当判断结果为拼接后相同时,再使用分割字符分别对各组数据进行拼接,得到拼接后的序列化数据。
通过本申请实施例提供的数据库状态确定方法,在确定数据发生变化后数据库的状态值时,通过确定对目标数据库执行的状态迁移操作,然后根据确定的状态迁移操作,以及执行该状态迁移操作前数据库的状态值,即可确定执行该状态迁移操作后数据库的状态值,相对于现有技术来说,无需对整个数据库中的所有数据进行运算,避免消耗过多的计算资源。同时,相对于现有的区块链技术中通过哈希树等树形结构来计算节点的哈希值而言,本申请实施例中无需构建树形结构,也就无需对树形结构中各节点的哈希值进行计算,避免消耗过多的计算资源。
在本申请实施例提供的一些优选方案中,会对数据操作对象进行序列化操作,以及对序列化数据进行哈希运算,这会消耗一定的计算资源,然而在分布式数据库中,尤其是在区块链中,数据库中存储的数据量往往是十分庞大的,对数据库中的数据进行哈希运算所消耗的计算资源,会远远大于本申请实施例的上述操作所耗费的计算资源。
按照上述数据库状态确定方法,便可确定数据库的状态值,后续便可以根据确定的状态值来对数据库进行一致性校验,下面将详细描述本申请提供的一种数据库一致性验证方法。
该方法的实现流程示意图如图3所示,包括下述步骤:
步骤S201:判断待校验的第一数据库和第二数据库的状态值是否相同;
这里的第一数据库和第二数据库为待进行校验的数据库,那么,可以根据本申请实施例提供的数据库状态确定方法分别确定第一数据库和第二数据库的状态值,具体确定过程请参照本申请中的相关描述,此处不再赘述。
步骤S202:若所述第一数据库和所述第二数据库的状态值相同,则确定所述第一数据库和所述第二数据库的状态一致。
若第一数据库和第二数据库的状态值不相同,则确定第一数据库和第二数据库的状态不一致。
基于本申请的上述发明构思,为了便于更好的理解本申请的技术特征、手段和效果,下面以目标数据库为区块链技术中的某一节点的数据库为例,对本申请的数据库状态确定方法做进一步说明。
本申请实施例中,以区块链应用为fabric区块链应用、目标数据库为LevelDB数据库以及数据库状态值为哈希值为例来进行描述,LevelDB数据库可以由数据操作对象来执行状态迁移操作,数据操作对象可以将key-value格式的数据写入LevelDB数据库中,区块链中在进行状态迁移操作时,会由共识算法来保证各节点间状态迁移的操作一致,且状态迁移发生的顺序一致。
对于每个区块链节点来说,在数据库中未写入任何数据时,各数据库的初始状态Sinit均为空,此时可以给定一个哈希值,这里将数据库初始状态的哈希值记为Hinit
那么,在确定针对目标数据库的第i次状态迁移操作Transitioni发生时,便可以根据该操作重新计算目标数据库的哈希值,该过程的实现流程示意图如图4所示,包括下述步骤:
步骤S301:确定状态迁移操作对应的数据操作对象;
单次状态迁移操作往往会对应多个数据操作对象,针对节点的第i次状态迁移操作Transitioni可以表示为集合{op1,op2...,opN},其中,op为operation的简写,表示单个数据操作对象,意味着对于单个key-value对的一次写入操作,每个op的格式为Key:=NewVal,那么{op1,op2...,opN}即表示第i次状态迁移操作对N个key-value对进行写入操作。
步骤S302:将各数据操作对象序列化为二进制格式的序列化数据;
步骤S303:判断各数据操作对象执行状态迁移操作的顺序是否固定,若是,则执行步骤S304;若否,则执行步骤S305;
步骤S304:若各数据操作对象的执行顺序固定,则按照执行状态迁移操作的顺序,对各数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据,进入步骤S306;
步骤S305:若各数据操作对象的执行顺序不固定,则按照第一预定顺序,对各数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据;
这里的第一预设顺序可以为按照key值从大到小的顺序。
步骤S306:确定拼接后的序列化数据的哈希值,作为该状态迁移操作对应的哈希值;
将拼接后的序列化数据作为哈希算法的输入,进行哈希计算,得到拼接后的序列化数据的哈希值,即为状态迁移操作Transitioni的哈希值Hash(Transitioni)。
步骤S307:按照第二预定顺序,对该状态迁移操作对应的哈希值和执行该状态迁移操作前目标数据库的哈希值Hi-1进行拼接,得到拼接数据;
步骤S308:确定该拼接数据的哈希值,将该拼接数据的哈希值作为执行状态迁移操作Transitioni后目标数据库的哈希值Hi
最终得到的执行状态迁移操作Transitioni后目标数据库的哈希值Hi可用如下公式表示:
Hi:=Hash(Hi-1||Hash(Transitioni))
其中,H0=Hinit,||表示拼接操作,Hash(x)为哈希函数,表示对输入的数据x执行哈希运算,哈希函数比如可以是SHA3。
通过本申请实施例提供的数据库状态确定方法,在确定数据发生变化后数据库的哈希值时,通过确定对目标数据库执行的状态迁移操作Transitioni,然后确定与该状态迁移操作对应的哈希值Hash(Transitioni),根据执行该状态迁移操作前数据库的哈希值Hi -1,即可确定执行该状态迁移操作后数据库的状态值Hi。相对于现有技术来说,无需对整个节点的数据库中的所有数据进行运算来计算哈希值,避免消耗过多的计算资源。同时,相对于现有的区块链技术中通过哈希树等树形结构来计算节点的哈希值而言,本申请实施例中无需构建树形结构,也就无需对树形结构中各节点的哈希值进行计算,进一步减少了对计算资源的消耗。
以上为本申请实施例提供的数据库状态确定方法,基于同样的思路,本申请实施例还提供相应的数据库状态确定装置,如图5所示,该装置具体包括:
第一确定单元401,确定对目标数据库执行的状态迁移操作;
第二确定单元402,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。
本申请实施例中,数据状态确定的具体实施方式还有很多,在一种实施方式中,第一确定单元401,确定用于对目标数据库执行所述状态迁移操作的数据操作对象;
第二确定单元402,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述数据操作对象,确定执行所述状态迁移操作后所述目标数据库的状态值。
在一种实施方式中,第二确定单元402具体包括第一哈希值确定子单元403和第一状态值确定子单元404,其中:
所述第一哈希值确定子单元403,确定所述数据操作对象的哈希值;
所述第一状态值确定子单元404,根据确定的所述数据操作对象的哈希值,以及执行所述状态迁移操作前所述目标数据库的状态值,确定执行所述状态迁移操作后所述目标数据库的状态值。
在一种实施方式中,所述第一哈希值确定子单元403,具体包括序列化数据确定子单元405和第二哈希值确定子单元406,其中:
所述序列化数据确定子单元405,对所述数据操作对象进行序列化,得到序列化数据;
所述第二哈希值确定子单元406,确定所述序列化数据的哈希值,将所述序列化数据的哈希值作为所述数据操作对象的哈希值。
在一种实施方式中,所述序列化数据确定子单元405,具体包括第一拼接子单元407和第二拼接子单元408:
在一种实施方式中,所述第一拼接子单元407,在存在不止一个用于对目标数据库执行所述状态迁移操作的数据操作对象,且各所述数据操作对象执行状态迁移操作的顺序确定时,按照执行状态迁移操作的顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据;
所述第二拼接子单元408,在存在不止一个用于对目标数据库执行所述状态迁移操作的数据操作对象,且各所述数据操作对象执行状态迁移操作的顺序不确定时,按照第一预定顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据。
为了防止不同组数据在拼接后相同,在一种实施方式中,所述第二拼接子单元408,将预设分割字符设置于至少两个序列化数据之间,对设置预设分割字符后的各序列化数据进行拼接,得到拼接后的序列化数据。
在一种实施方式中,所述第一状态值确定子单元404,按照第二预定顺序,对所述数据操作对象的哈希值和执行所述状态迁移操作前所述目标数据库的状态值进行拼接,得到拼接数据;
确定所述拼接数据的哈希值,将所述拼接数据的哈希值作为执行所述状态迁移操作后所述目标数据库的状态值。
在一种实施方式中,所述目标数据库为区块链中任一节点对应的数据库。
在一种实施方式中,所述状态值用于唯一地表征所述目标数据库中存储的数据的特征。
本申请实施例提供的数据库状态确定装置,在确定数据发生变化后数据库的状态值时,通过确定对目标数据库执行的状态迁移操作,该状态迁移操作为导致数据发生该变化的状态迁移操作,然后根据确定的状态迁移操作,以及执行该状态迁移操作前数据库的状态值,确定执行该状态迁移操作后数据库的状态值,相对于现有技术来说,无需对整个数据库中的所有数据进行运算,避免消耗过多的计算资源。
本申请实施例还提供相应的数据库一致性验证装置,如图6所示,该装置具体包括:
判断单元501,判断待校验的第一数据库和第二数据库的状态值是否相同,所述第一数据库和所述第二数据库的状态值是通过权利要求10-16任一权项所述装置确定的;
一致性确定单元502,在确定所述第一数据库和所述第二数据库的状态值相同时,则确定所述第一数据库和所述第二数据库的状态一致。
需要说明的是,在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(FieldProgrammable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera HardwareDescription Language)、Confluence、CUPL(Cornell University ProgrammingLanguage)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种数据库状态确定方法,包括:
确定对目标数据库执行的状态迁移操作;
根据执行所述状态迁移操作前所述目标数据库的状态值以及所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。
2.如权利要求1所述方法,确定对目标数据库执行的状态迁移操作,具体包括:
确定用于对目标数据库执行所述状态迁移操作的数据操作对象;
根据执行所述状态迁移操作前所述目标数据库的状态值以及所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,具体包括:
根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述数据操作对象,确定执行所述状态迁移操作后所述目标数据库的状态值。
3.如权利要求2所述方法,所述目标数据库为区块链数据库,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述数据操作对象,确定执行所述状态迁移操作后所述目标数据库的状态值,具体包括:
确定所述数据操作对象的哈希值;
根据确定的所述数据操作对象的哈希值,以及执行所述状态迁移操作前所述目标数据库的状态值,确定执行所述状态迁移操作后所述目标数据库的状态值。
4.如权利要求3所述方法,确定所述数据操作对象的哈希值,具体包括:
对所述数据操作对象进行序列化,得到序列化数据;
确定所述序列化数据的哈希值,将所述序列化数据的哈希值作为所述数据操作对象的哈希值。
5.如权利要求4所述方法,若存在不止一个用于对目标数据库执行所述状态迁移操作的数据操作对象,则对所述数据操作对象进行序列化,得到序列化数据,具体包括:
若各所述数据操作对象执行状态迁移操作的顺序是固定的,则按照执行状态迁移操作的顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据;
若各所述数据操作对象执行状态迁移操作的顺序是不固定的,则按照第一预定顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据。
6.如权利要求5所述方法,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据,具体包括:
在对各所述数据操作对象对应的序列化数据进行拼接时,将预设分割字符设置于至少两个序列化数据之间,对设置预设分割字符后的各序列化数据进行拼接,得到拼接后的序列化数据。
7.如权利要求3所述方法,根据确定的所述数据操作对象的哈希值,以及执行所述状态迁移操作前所述目标数据库的状态值,确定执行所述状态迁移操作后所述目标数据库的状态值,具体包括:
按照第二预定顺序,对所述数据操作对象的哈希值和执行所述状态迁移操作前所述目标数据库的状态值进行拼接,得到拼接数据;
确定所述拼接数据的哈希值,将所述拼接数据的哈希值作为执行所述状态迁移操作后所述目标数据库的状态值。
8.如权利要求1-7任一所述方法,所述目标数据库为区块链中任一节点对应的数据库。
9.如权利要求1所述方法,所述状态值用于唯一地表征所述目标数据库中存储的数据的特征。
10.一种数据库一致性验证方法,包括:
判断待校验的第一数据库和第二数据库的状态值是否相同,所述第一数据库和所述第二数据库的状态值是通过权利要求1-8任一权项所述方法确定的;
若所述第一数据库和所述第二数据库的状态值相同,则确定所述第一数据库和所述第二数据库的状态一致。
11.一种数据库状态确定装置,包括:
第一确定单元,确定对目标数据库执行的状态迁移操作;
第二确定单元,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述状态迁移操作,确定执行所述状态迁移操作后所述目标数据库的状态值,所述状态值用于表征所述目标数据库的状态。
12.如权利要求11所述装置,所述第一确定单元,确定用于对目标数据库执行所述状态迁移操作的数据操作对象;
所述第二确定单元,根据执行所述状态迁移操作前所述目标数据库的状态值,以及确定的所述数据操作对象,确定执行所述状态迁移操作后所述目标数据库的状态值。
13.如权利要求12所述装置,所述第二确定单元具体包括第一哈希值确定子单元和第一状态值确定子单元,其中:
所述第一哈希值确定子单元,确定所述数据操作对象的哈希值;
所述第一状态值确定子单元,根据确定的所述数据操作对象的哈希值,以及执行所述状态迁移操作前所述目标数据库的状态值,确定执行所述状态迁移操作后所述目标数据库的状态值。
14.如权利要求13所述装置,所述第一哈希值确定子单元,具体包括序列化数据确定子单元和第二哈希值确定子单元,其中:
所述序列化数据确定子单元,对所述数据操作对象进行序列化,得到序列化数据;
所述第二哈希值确定子单元,确定所述序列化数据的哈希值,将所述序列化数据的哈希值作为所述数据操作对象的哈希值。
15.如权利要求14所述装置,所述序列化数据确定子单元,具体包括第一拼接子单元和第二拼接子单元:
所述第一拼接子单元,在存在不止一个用于对目标数据库执行所述状态迁移操作的数据操作对象,且各所述数据操作对象执行状态迁移操作的顺序确定时,按照执行状态迁移操作的顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据;
所述第二拼接子单元,在存在不止一个用于对目标数据库执行所述状态迁移操作的数据操作对象,且各所述数据操作对象执行状态迁移操作的顺序不确定时,按照第一预定顺序,对各所述数据操作对象对应的序列化数据进行拼接,得到拼接后的序列化数据。
16.如权利要求13所述装置,所述第一状态值确定子单元,按照第二预定顺序,对所述数据操作对象的哈希值和执行所述状态迁移操作前所述目标数据库的状态值进行拼接,得到拼接数据;
确定所述拼接数据的哈希值,将所述拼接数据的哈希值作为执行所述状态迁移操作后所述目标数据库的状态值。
17.如权利要求11-16任一所述装置,所述目标数据库为区块链中任一节点对应的数据库。
18.一种数据库一致性验证装置,包括:
判断单元,判断待校验的第一数据库和第二数据库的状态值是否相同,所述第一数据库和所述第二数据库的状态值是通过权利要求10-16任一权项所述装置确定的;
一致性确定单元,在确定所述第一数据库和所述第二数据库的状态值相同时,则确定所述第一数据库和所述第二数据库的状态一致。
CN201710377721.8A 2017-05-25 2017-05-25 一种数据库状态确定方法、一致性验证方法及装置 Active CN107247749B (zh)

Priority Applications (14)

Application Number Priority Date Filing Date Title
CN201710377721.8A CN107247749B (zh) 2017-05-25 2017-05-25 一种数据库状态确定方法、一致性验证方法及装置
TW107108222A TWI710916B (zh) 2017-05-25 2018-03-12 資料庫狀態確定方法、一致性驗證方法及裝置
SG11201906495TA SG11201906495TA (en) 2017-05-25 2018-05-23 Database state determining method and device, and consistency verifying method and device
BR112019014478-1A BR112019014478A2 (pt) 2017-05-25 2018-05-23 Método para a determinação do estado da base de dados e dispositivo para a determinação do estado da base de dados
EP18805650.1A EP3557452B1 (en) 2017-05-25 2018-05-23 Database state determining method and device, and consistency verifying method and device
MX2019008383A MX2019008383A (es) 2017-05-25 2018-05-23 Metodo y dispositivo de determinacion de estado de base de datos, y metodo y dispositivo de verificacion de consistencia.
JP2019538236A JP6921206B2 (ja) 2017-05-25 2018-05-23 データベース状態決定方法およびデバイスならびに整合性検証方法およびデバイス
CA3049831A CA3049831C (en) 2017-05-25 2018-05-23 Database state determining method and device, and consistency verifying method and device
KR1020197020615A KR102231058B1 (ko) 2017-05-25 2018-05-23 데이터베이스 상태 결정 방법 및 디바이스, 및 일관성 검증 방법 및 디바이스
AU2018274424A AU2018274424B2 (en) 2017-05-25 2018-05-23 Database state determining method and device, and consistency verifying method and device
PCT/CN2018/087966 WO2018214897A1 (zh) 2017-05-25 2018-05-23 一种数据库状态确定方法、一致性验证方法及装置
RU2019121699A RU2725760C1 (ru) 2017-05-25 2018-05-23 Способ и устройство определения состояния базы данных и способ и устройство верификации согласованности
PH12019501637A PH12019501637A1 (en) 2017-05-25 2019-07-12 Database state determining method and device, and consistency verifying method and device
US16/665,200 US10789243B2 (en) 2017-05-25 2019-10-28 Database state determining method and device, and consistency verifying method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710377721.8A CN107247749B (zh) 2017-05-25 2017-05-25 一种数据库状态确定方法、一致性验证方法及装置

Publications (2)

Publication Number Publication Date
CN107247749A true CN107247749A (zh) 2017-10-13
CN107247749B CN107247749B (zh) 2020-08-25

Family

ID=60017352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710377721.8A Active CN107247749B (zh) 2017-05-25 2017-05-25 一种数据库状态确定方法、一致性验证方法及装置

Country Status (14)

Country Link
US (1) US10789243B2 (zh)
EP (1) EP3557452B1 (zh)
JP (1) JP6921206B2 (zh)
KR (1) KR102231058B1 (zh)
CN (1) CN107247749B (zh)
AU (1) AU2018274424B2 (zh)
BR (1) BR112019014478A2 (zh)
CA (1) CA3049831C (zh)
MX (1) MX2019008383A (zh)
PH (1) PH12019501637A1 (zh)
RU (1) RU2725760C1 (zh)
SG (1) SG11201906495TA (zh)
TW (1) TWI710916B (zh)
WO (1) WO2018214897A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729541A (zh) * 2017-10-31 2018-02-23 咪咕数字传媒有限公司 一种数据处理方法、装置及计算机可读存储介质
CN107807982A (zh) * 2017-10-27 2018-03-16 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构
WO2018214897A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
CN109345159A (zh) * 2018-08-21 2019-02-15 深圳市口袋网络科技有限公司 一种数据写入方法及装置、设备、存储介质
CN109446211A (zh) * 2018-10-08 2019-03-08 联动优势科技有限公司 一种一致性校验方法及装置
CN110175758A (zh) * 2019-05-08 2019-08-27 杭州宇链科技有限公司 一种基于区块链的链上多层自动分润方法
CN111373388A (zh) * 2017-12-28 2020-07-03 卓普网盘股份有限公司 有效地传播差异化值
TWI710238B (zh) * 2018-12-17 2020-11-11 財團法人國家實驗研究院 分散式儲存系統之同步刪除方法
CN112463132A (zh) * 2020-11-13 2021-03-09 四川新网银行股份有限公司 一种数据库切换工具及切换方法
CN112559484A (zh) * 2019-09-25 2021-03-26 伊姆西Ip控股有限责任公司 用于管理数据对象的方法、设备和计算机程序产品
CN113420036A (zh) * 2021-06-22 2021-09-21 南方电网数字电网研究院有限公司 一种电网监控系统内存库关系库一致性校验方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201713046D0 (en) * 2017-08-15 2017-09-27 Nchain Holdings Ltd Computer-implemented system and method
US11146407B2 (en) 2018-04-17 2021-10-12 Digicert, Inc. Digital certificate validation using untrusted data
US11044096B2 (en) * 2019-02-04 2021-06-22 Accenture Global Solutions Limited Blockchain based digital identity generation and verification
US11122091B2 (en) * 2019-04-16 2021-09-14 FireMon, LLC Network security and management system
KR102620584B1 (ko) * 2019-05-17 2024-01-02 삼성에스디에스 주식회사 블록체인 기반 시스템에서 상태 db의 무결성을 보장하는 장치 및 그 방법
EP3673620B8 (en) 2019-07-11 2022-02-16 Advanced New Technologies Co., Ltd. Shared blockchain data storage
WO2019179539A2 (en) 2019-07-11 2019-09-26 Alibaba Group Holding Limited Shared blockchain data storage
EP3669281B1 (en) * 2019-07-11 2024-04-03 Advanced New Technologies Co., Ltd. Shared blockchain data storage
CN111639952A (zh) * 2020-05-28 2020-09-08 深圳壹账通智能科技有限公司 基于区块链的退货核验方法、系统、服务器及终端
US20230185670A1 (en) * 2021-12-13 2023-06-15 Scality, S.A. Method and apparatus for monitoring storage system replication

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354292A (zh) * 2011-09-21 2012-02-15 国家计算机网络与信息安全管理中心 主、备数据库记录一致性校验方法及系统
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及系统
CN104731792A (zh) * 2013-12-19 2015-06-24 中国银联股份有限公司 数据库一致性校验方法及系统、定位数据库差异的方法及系统
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106250721A (zh) * 2016-07-28 2016-12-21 杭州云象网络技术有限公司 一种基于区块链的电子版权保护方法
CN106357405A (zh) * 2016-09-19 2017-01-25 弗洛格(武汉)信息科技有限公司 一种基于区块链技术一致性算法的数据管理方法及系统
CN106484690A (zh) * 2015-08-24 2017-03-08 阿里巴巴集团控股有限公司 一种数据迁移的验证方法及装置
US20170132257A1 (en) * 2015-08-28 2017-05-11 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US20170132270A1 (en) * 2012-03-01 2017-05-11 Microsoft Technology Licensing, Llc Drift detection and notification

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03152992A (ja) 1989-10-27 1991-06-28 W R Grace & Co 印刷回路板及びその製造方法
CN1054886A (zh) 1990-03-19 1991-10-02 湖南省森林植物园 一种固体碳酸饮料的生产工艺
US9824107B2 (en) * 2006-10-25 2017-11-21 Entit Software Llc Tracking changing state data to assist in computer network security
CN101957858A (zh) * 2010-09-27 2011-01-26 中兴通讯股份有限公司 数据比对方法和装置
CN102662946B (zh) * 2012-02-20 2015-10-07 北京地拓科技发展有限公司 一种自动监测数据库中记录变化的方法和系统
US9032247B2 (en) * 2012-07-26 2015-05-12 Apple Inc. Intermediate database management layer
JP2014059757A (ja) * 2012-09-18 2014-04-03 International Business Maschines Corporation 木構造を有するデータを処理する装置、処理方法およびプログラム
CN103345521B (zh) * 2013-07-17 2016-04-13 腾讯科技(深圳)有限公司 一种在哈希表数据库中处理键值的方法和装置
CN103678583B (zh) * 2013-12-11 2017-07-21 北京华胜天成科技股份有限公司 结构化数据比较的方法及系统
CN104346454B (zh) * 2014-10-30 2017-12-05 上海新炬网络技术有限公司 基于Oracle数据库的数据一致性校验方法
US9436923B1 (en) * 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
CN106230808A (zh) 2016-07-28 2016-12-14 杭州云象网络技术有限公司 一种基于区块链技术的个人征信系统建设方法
CN107247749B (zh) 2017-05-25 2020-08-25 创新先进技术有限公司 一种数据库状态确定方法、一致性验证方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354292A (zh) * 2011-09-21 2012-02-15 国家计算机网络与信息安全管理中心 主、备数据库记录一致性校验方法及系统
US20170132270A1 (en) * 2012-03-01 2017-05-11 Microsoft Technology Licensing, Llc Drift detection and notification
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及系统
CN104731792A (zh) * 2013-12-19 2015-06-24 中国银联股份有限公司 数据库一致性校验方法及系统、定位数据库差异的方法及系统
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN106484690A (zh) * 2015-08-24 2017-03-08 阿里巴巴集团控股有限公司 一种数据迁移的验证方法及装置
US20170132257A1 (en) * 2015-08-28 2017-05-11 Swirlds, Inc. Methods and apparatus for a distributed database within a network
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105976232A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 资产交易方法和装置
CN106250721A (zh) * 2016-07-28 2016-12-21 杭州云象网络技术有限公司 一种基于区块链的电子版权保护方法
CN106357405A (zh) * 2016-09-19 2017-01-25 弗洛格(武汉)信息科技有限公司 一种基于区块链技术一致性算法的数据管理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREAS M.ANTONOPOULOS: "《Mastering Bitcon-Unlocking Digital Crytocurrencies》", 31 December 2014 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018214897A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
US10789243B2 (en) 2017-05-25 2020-09-29 Alibaba Group Holding Limited Database state determining method and device, and consistency verifying method and device
CN107807982B (zh) * 2017-10-27 2020-09-18 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
CN107807982A (zh) * 2017-10-27 2018-03-16 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
CN107729541A (zh) * 2017-10-31 2018-02-23 咪咕数字传媒有限公司 一种数据处理方法、装置及计算机可读存储介质
US11657067B2 (en) 2017-12-28 2023-05-23 Dropbox Inc. Updating a remote tree for a client synchronization service
CN111373388A (zh) * 2017-12-28 2020-07-03 卓普网盘股份有限公司 有效地传播差异化值
CN111373388B (zh) * 2017-12-28 2024-03-15 卓普网盘股份有限公司 有效地传播差异化值的方法和装置
US11836151B2 (en) 2017-12-28 2023-12-05 Dropbox, Inc. Synchronizing symbolic links
US11704336B2 (en) 2017-12-28 2023-07-18 Dropbox, Inc. Efficient filename storage and retrieval
US11669544B2 (en) 2017-12-28 2023-06-06 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
CN108615156A (zh) * 2018-05-09 2018-10-02 上海魅联信息技术有限公司 一种基于区块链的数据结构
CN109345159A (zh) * 2018-08-21 2019-02-15 深圳市口袋网络科技有限公司 一种数据写入方法及装置、设备、存储介质
CN109446211A (zh) * 2018-10-08 2019-03-08 联动优势科技有限公司 一种一致性校验方法及装置
CN109446211B (zh) * 2018-10-08 2020-08-14 联动优势科技有限公司 一种一致性校验方法及装置
TWI710238B (zh) * 2018-12-17 2020-11-11 財團法人國家實驗研究院 分散式儲存系統之同步刪除方法
CN110175758A (zh) * 2019-05-08 2019-08-27 杭州宇链科技有限公司 一种基于区块链的链上多层自动分润方法
CN112559484A (zh) * 2019-09-25 2021-03-26 伊姆西Ip控股有限责任公司 用于管理数据对象的方法、设备和计算机程序产品
CN112463132B (zh) * 2020-11-13 2023-06-06 四川新网银行股份有限公司 一种数据库切换工具及切换方法
CN112463132A (zh) * 2020-11-13 2021-03-09 四川新网银行股份有限公司 一种数据库切换工具及切换方法
CN113420036A (zh) * 2021-06-22 2021-09-21 南方电网数字电网研究院有限公司 一种电网监控系统内存库关系库一致性校验方法

Also Published As

Publication number Publication date
BR112019014478A2 (pt) 2020-05-26
CA3049831C (en) 2021-12-14
SG11201906495TA (en) 2019-08-27
AU2018274424A1 (en) 2019-08-01
WO2018214897A1 (zh) 2018-11-29
TW201901484A (zh) 2019-01-01
JP2020509451A (ja) 2020-03-26
AU2018274424B2 (en) 2020-07-02
TWI710916B (zh) 2020-11-21
CA3049831A1 (en) 2018-11-29
KR20190096391A (ko) 2019-08-19
EP3557452B1 (en) 2021-09-15
US10789243B2 (en) 2020-09-29
PH12019501637A1 (en) 2020-03-16
EP3557452A4 (en) 2020-01-22
EP3557452A1 (en) 2019-10-23
JP6921206B2 (ja) 2021-08-18
KR102231058B1 (ko) 2021-03-25
US20200057760A1 (en) 2020-02-20
RU2725760C1 (ru) 2020-07-06
CN107247749B (zh) 2020-08-25
MX2019008383A (es) 2019-09-11

Similar Documents

Publication Publication Date Title
CN107247749A (zh) 一种数据库状态确定方法、一致性验证方法及装置
JP6804668B2 (ja) ブロックデータ検証方法および装置
CN107562775A (zh) 一种基于区块链的数据处理方法及设备
CN107402824A (zh) 一种数据处理的方法及装置
CN107832062B (zh) 一种程序更新方法及终端设备
US9092586B1 (en) Version management mechanism for fluid guard ring PCells
CN107016604A (zh) 缓冲记账的方法、装置及设备
CN107391527A (zh) 一种基于区块链的数据处理方法及设备
CN107329899A (zh) 一种应用程序兼容性测试方法和装置
CN106873960A (zh) 一种应用软件的更新方法和设备
CN106909498A (zh) 一种Java程序注入故障的方法和系统
US20200225920A1 (en) Generating synchronous digital circuits from source code constructs that map to circuit implementations
CN109947643A (zh) 一种基于a/b测试的实验方案的配置方法、装置及设备
CN107450959A (zh) 一种版本数据发布、获取方法、设备及装置及更新系统
CN111723102A (zh) 一种智能合约的更新方法和装置
CN111400716A (zh) 一种基于操作系统的安全机制验证方法
CN110457430A (zh) 一种文本的溯源检测方法、装置及设备
CN112083880B (zh) 一种手机系统文件在线修改方法、装置及存储介质
CN107918863A (zh) 基于金融产品的前置处理及配置方法、装置及设备
CN107908552A (zh) 一种基于链接的测试方法、装置及设备
CN113626342B (zh) 一种模型在线测试方法及装置
CN109409037A (zh) 一种数据混淆规则的生成方法、装置及设备
CN110046028A (zh) 数据处理方法、装置及服务器
CN112464636B (zh) 约束文件的比较方法、装置、电子设备和存储介质
CN107390995A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1245450

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191209

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Applicant after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Co., Ltd.

GR01 Patent grant
GR01 Patent grant