买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】针对增加区块的整体勘误的区块链的查询方法及系统_北京瑞卓喜投科技发展有限公司_201710425484.8 

申请/专利权人:北京瑞卓喜投科技发展有限公司

申请日:2017-06-08

公开(公告)日:2020-09-15

公开(公告)号:CN107451179B

主分类号:G06F16/2458(20190101)

分类号:G06F16/2458(20190101);G06F16/27(20190101)

优先权:["20170324 CN 2017101811407"]

专利状态码:失效-未缴年费专利权终止

法律状态:2023.06.16#未缴年费专利权终止;2018.01.05#实质审查的生效;2017.12.08#公开

摘要:本发明实施例提供了一种针对增加区块的整体勘误的区块链的查询方法及系统,属于区块链技术领域,方法包括:接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;将所述目标数据记录中的数据输出。本发明实施例的方案,旨在通过增加区块而完成整体勘误的情况下,提供一种对该区块链的查询方法,以使用户能够准确查询到想要的数据。

主权项:1.一种针对增加区块的整体勘误的区块链的查询方法,其特征在于,所述区块链包括一个延展区块链,或者一个所述延展区块链和至少一个与所述延展区块链链接的副本区块;所述副本区块为对所述延展区块链中原始区块的区块体数据进行勘误后生成的区块;所述副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,所述区块链中区块的区块体数据存储于一数据表中,其中,所述数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的第一数据记录,所述数据表中的所有所述第一数据的内容构成了所述区块链中所有所述原始区块的区块体数据;所述数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和所述第二数据的内容构成的第二数据记录,所述数据表中的所有所述第二数据的内容构成了所述区块链中所有所述副本区块的区块体数据;所述原始区块与对该原始区块的区块体数据进行勘误后所形成的所述副本区块之间具有关联关系;所述查询方法包括:接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在所述副本区块与其关联的所述原始区块对应的最晚生成的副本区块对应的所述第二数据记录;将所述目标数据记录中的数据输出。

全文数据:针对増加区块的整体勘误的区块链的查询方法及系统技术领域[0001]本发明实施例属于区块链技术领域,尤其涉及一种针对增加区块的整体勘误的区块链的查询方法及系统。背景技术[0002]随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被同时记录在多个账本节点之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。[0003]当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。[0004]发明人在实现本发明的过程中,发现现有技术存在如下缺陷:[0005]现有的区块链是沿着区块链的延展方向,依次生成新的区块,且区块之间满足一致性验证,这也是为了防止区块中的数据被恶意篡改。但是,在一些情况下,当区块链上的某个区块中的区块体数据确实存在错误,或者出于监管或政策部门的特殊需求,需要被修改更正,但如果强行对该数据进行修改,势必会导致区块链的一致性验证不通过,从而出现修改区块数据与区块链一致性验证之间的矛盾。发明内容[0006]本发明实施例提供一种针对增加区块的整体勘误的区块链的查询方法及系统,旨在现有区块链的延展过程中,针对已形成的区块链,通过增加区块数目而完成勘误的情况下,提供一种对该区块链的查询方法,以使用户能够准确查询到想要的数据。[0007]为达到上述目的,本发明实施例提供了一种针对增加区块的整体勘误的区块链的查询方法,所述区块链包括一个延展区块链,或者一个所述延展区块链和至少一个与所述延展区块链链接的副本区块;所述副本区块为对所述延展区块链中原始区块的区块体数据进行勘误后生成的区块;所述副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,所述区块链中区块的区块体数据存储于一数据表中,其中,所述数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的第一数据记录,所述数据表中的所有所述第一数据的内容构成了所述区块链中所有所述原始区块的区块体数据;所述数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和所述第二数据的内容构成的第二数据记录,所述数据表中的所有所述第二数据的内容构成了所述区块链中所有所述副本区块的区块体数据;所述原始区块与对该原始区块的区块体数据进行勘误后所形成的所述副本区块之间具有关联关系;所述查询方法包括:接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在所述副本区块与其关联的所述原始区块对应的最晚生成的副本区块对应的所述第二数据记录;将所述目标数据记录中的数据输出。[0008]本发明实施例提供了一种针对增加区块的整体勘误的区块链的查询系统,所述区块链包括一个延展区块链,或者一个所述延展区块链和至少一个与所述延展区块链链接的副本区块;所述副本区块为对所述延展区块链中原始区块的区块体数据进行勘误后生成的区块;所述副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,所述区块链中区块的区块体数据存储于一数据表中,其中,所述数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的第一数据记录,所述数据表中的所有所述第一数据的内容构成了所述区块链中所有所述原始区块的区块体数据;所述数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和所述第二数据的内容构成的第二数据记录,所述数据表中的所有所述第二数据的内容构成了所述区块链中所有所述副本区块的区块体数据;所述原始区块与对该原始区块的区块体数据进行勘误后所形成的所述副本区块之间具有关联关系;所述查询系统包括:请求接收模块,用于接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;数据查询模块,用于根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在所述副本区块与其关联的所述原始区块对应的最晚生成的副本区块对应的所述第二数据记录;数据输出模块,用于将所述目标数据记录中的数据输出。[0009]本发明实施例的针对增加区块的整体勘误的区块链的查询方法及系统,根据接收的数据查询请求中的关键信息在第三数据记录中进行数据查询得到目标数据记录,所述第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;然后将目标数据记录中的数据输出,从而保证输出的目标数据为区块链经勘误更正过的数据。[0010]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明[0011]图1为本发明实施例提供的区块链的形态图一;[0012]图2为本发明实施例提供的区块链的形态图二;[0013]图3为本发明实施例提供的区块链的形态图三;[0014]图4为本发明实施例提供的针对增加区块的整体勘误的区块链的查询方法流程图;[0015]图5为本发明实施例提供的区块链的形态图四;[0016]图6a为本发明实施例提供的区块链的形态图五;[0017]图6b为本发明实施例提供的区块链的形态图六;[0018]图7为本发明实施例提供的针对增加区块的整体勘误的区块链的查询系统示意图,[0019]图8为本发明实施例提供的针对增加区块的整体勘误的区块链的查询系统示意图--〇具体实施方式[0020]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0021]首先需要说明的是,本发明实施例将提供一种针对增加区块的整体勘误的区块链的查询方法,以对通过增加区块对区块链进行勘误更正的情况下,提供针对该区块链的数据的查询方法。所谓增加区块的整体勘误是指针对位于延展区块链中每一个被勘误的区块,其对应的各副本区块中包含了截至该副本区块生成时之前的历次勘误结果数据,并且这些副本区块以单链条串行的方式或者并行的方式链接在延展区块链上。本方案则是提供了一种针对以增加区块数目的整体勘误的方式而形成的区块链的数据查询方法。具体通过在每次接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求后,根据数据查询请求中的关键信息,在数据表中的第三数据记录中进行查询,从而得到与关键信息匹配的目标数据记录;其中,该第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;然后将目标数据记录中的数据输出,从而提供给查阅者勘误更正后的区块链的数据。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串即散列值,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。[0022]其次需要说明的是,本发明实施例中的区块链中各区块的区块体数据记载的交易信息不局限于商业中的“账本”或“金融交易”的信息,也可以广义的理解为是需要通过区块链这种数据组织形式管理的多样化的对象数据,如针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等。本发明实施例中,对区块链本身的形态及延展方向不做限定,只是针对在区块链正常延展的过程中,对通过增加区块数目的整体勘误的方式,对区块链中区块的区块体数据进行更正勘误的情况,提供一种对该区块链中的区块体数据进行查询的方法。例如,区块链的延展形态可以为如图1所示的传统的单链条的区块链,也可以是如图2所示的整体上呈树形结构的区块链该区块链中每个区块只有一个父区块,并有一个或多个子区块),还可以是如图3所示的具有有向无环图型结构的区块链该区块链中存在至少一个区块具有一个或多个父区块)。[0023]以下将对本发明实施例的针对增加区块的整体勘误的区块链的查询方法进行详细阐述。[0024]实施例一[0025]图4为本发明实施例提供的针对增加区块的整体勘误的区块链的查询方法流程图,本方法的执行主体可以为具有数据处理功能的系统,包括终端和或服务器。本发明实施例中的区块链涉及以下几个概念:延展区块链、原始区块和副本区块。[0026]延展区块链:当为新产生的数据生成新区块时,该新区块在整个区块链中所链接的部分区块链称之为延展区块链,延展区块链中的各区块称为原始区块。本实施例中,一个完整的区块链可包括一个延展区块链,或者一个延展区块链和至少一个与延展区块链链接的副本区块。这些副本区块只是起到对延展区块链中的区块的区块体数据进行勘误更正的目的,不视为为新产生的数据生成的新区块。所述副本区块的区块体数据较被勘误的原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同。换言之,除了截至到本副本区块生成时之前的所有待勘误的数据内容发生改变外,该勘误的数据所在副本区块中的位置与原始区块中被勘误的数据的位置是对应相同的,并且其他未被勘误的数据内容及数据在区块中的位置也是对应相同的。[0027]上述区块链中区块的区块体数据存储于一数据表中,该数据表中包括多条数据记录,每条数据记录对应存储区块链中不同位置处的区块体数据。[0028]其中,数据表中包括多条由关联存储的第一数据在区块链中的位置信息和第一数据的内容构成的第一数据记录,该数据表中的所有第一数据的内容构成了区块链中所有原始区块的区块体数据;[0029]数据表中还包括多条由关联存储的第二数据在区块链中的位置信息和第二数据的内容构成的第二数据记录,该数据表中的所有第二数据的内容构成了区块链中所有副本区块的区块体数据。[0030]数据表中的第一数据记录和第二数据记录中数据组织形式是相同的,区别仅在于:第一数据记录用于存储区块链中原始区块的区块体数据,第二数据记录用于存储区块链中副本区块的区块体数据。原始区块与对该原始区块的区块体数据进行勘误后所形成的副本区块之间具有关联关系,该关联关系可在第一数据记录和或第二数据记录中通过增加标识信息来体现,例如,在第二数据记录中添加被勘误的第一数据在延展区块链中的位置信息。[0031]为了方便描述区块链中各区块的区块体数据在数据表中的存储状态,首先对区块链中区块这里原始区块和副本区块不做区分的区块体数据进行如下简单说明。本实施例将区块链中各区块的区块体数据划分为了多个数据条目,每个数据条目内独立的包含一条交易信息,并且对应一个数据ID,例如图5所示,其示出了区块链中区块的区块体数据的存在形式,即每个区块的区块体数据中可以包括多条数据条目。图5中,由Blockl、Block2和block3......构成的区块链中,位于区块Block2中的txOl:olddata,作为一个数据条目,其数据ID为txOl,交易信息为olddataolddata泛指区块链中还没有被勘误的原始交易信息)。实际上,上述第一数据、第二数据可以是区块体数据中的一条或者多条数据条目对应的交易信息。为了便于后续方法内容的说明,这里的一条第一数据或一条第二数据对应于区块链中的一条数据条目。[0032]当区块链管理者需要对区块链中区块的区块体数据进行勘误时,可向系统输入待勘误的第一数据在区块链中的位置信息,该位置信息具体可以是第一数据所在的区块的编号(区块链中各区块的编号唯一确定,如图5中的“Blockl”、“Block2”、“Block3”、均可作为区块的编号),以及该第一数据在区块的区块体数据中的数据ID如图5中的“txOl”)。通过锁定第一数据在区块链中所在的区块编号,以及在该区块的区块体数据中的数据ID就可以唯一确定一个数据条目及其包含的交易信息。因此,这里需要说明的是,针对某个数据条目中的交易信息进行勘误是在决定进行数据勘误时就已经确定的,而在具体执行数据勘误时,只需要锁定被勘误数据即第一数据在区块链中的位置信息即可,而不必再向系统明确输入第一数据的具体内容。[0033]所述的第二数据,是指第一数据被勘误后的数据,即用于替换第一数据所对应的那部分数据。在向系统输入的数据勘误请求中包括两部分内容,即:待勘误的第一数据在延展区块链中的位置信息,以及对第一数据进行勘误后的第二数据。[0034]在实际应用场景中,区块链管理者可能会向系统一次性输入多条交易信息在区块链中的位置信息,以及对这些交易信息进行勘误后的结果信息,系统会根据这些交易信息在区块链中的位置信息,分析其所对应的信息条目,从而以信息条目为单位,将其视为多个数据勘误请求进行处理,即每个数据勘误请求中只包含针对一个数据条目的数据勘误请求。[0035]本实施例中,在对区块链中的区块体数据进行勘误的方式是通过增加副本区块实现对原始区块的区块体数据进行勘误更正。如图6a示出了增加区块的整体勘误方法对应的一种区块链的形态图。[0036]基于上述对区块链中区块的区块体数据的存在状态,能够清楚说明数据表中第一数据记录和第二数据记录的意义。[0037]表1为对应于图6a的数据表的具体内容。[0038]表1数据表[0039][0040]表1中,包含第一数据的记录记为第一数据记录,包含第二数据的记录记为第二数据记录。图6a中,延展区块链中的区块“Block2”中的数据ID分别为“txOl”、和“tx02”的数据在副本区块“Block2ver2.0”以及副本区块“Block2ver3.0”中被勘误。本实施例中,在区块链对应的区块数据表中,可默认为延展区块链中的各原始区块的版本号为verl.O,则可将原区块编号+版本号作为最终的区块编号,例如,原始区块的区块编号:“Block2verl.0”,副本区块的区块编号:“Block2ver2.0”、“Block2ver3.0”。[0041]另外,在具体应用场景中,还可能存在针对一原始区块的同一第一数据进行多次勘误的情况,每次勘误均会对应生成一个更高版本的副本区块,如图6b,其为针对原始区块Bl〇Ck2verl.O中数据ID为txOl的第一数据进行多次勘误后所形成的区块链,其中,Block2ver2.0为对该第一数据进行第一次勘误后所形成的副本区块,Block2ver3.0为对该第一数据进行第二次勘误后所形成的副本区块。[0042]本实施例的数据表中,第一数据记录包含了当前已形成的区块链中原始区块的区块体数据中第一数据在区块链中的位置信息以及第一数据的具体内容,第二数据记录中包含了区块链中副本区块的区块体数据中第二数据在区块链中的位置信息以及第二数据的内容信息,同时被勘误的第一数据和对该第一数据进行勘误后的第二数据在区块体中的位置数据ID是对应相同的)。本方案中针对增加区块的整体勘误的区块链的查询方法,其核心思想是在原始区块对应的第一数据记录与副本区块对应的第二数据记录中进行数据查询和数据处理的过程。[0043]如图4所示,该针对增加区块的整体勘误的区块链的查询方法包括如下步骤:[0044]S410,接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,该数据查询请求中包括:待查询的目标数据的关键信息;[0045]其中,所述的当前已形成的延展区块链是指截至当前时刻,所形成的延展区块链在整体上所呈现的区块链形态;所述待查询的目标数据的关键信息可以是区块体数据中具体的交易信息的部分内容,也可以是该交易信息对应的第一数据在区块链中的位置信息,如第一数据所在的区块的编号,以及该第一数据在区块的区块体数据中的数据ID等。[0046]具体地,系统接收到查阅者输入的数据查询请求后,提取出该请求中用于查询目标数据的关键信息。[0047]S420,根据关键信息,在数据表中的第三数据记录中进行查询,以得到与关键信息匹配的目标数据记录;该第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;[0048]根据关键信息在数据表中进行数据匹配以得到目标数据记录的方法可采用语义相似度、正则表达式等方法。本实施例对具体实现信息匹配所采用的技术和原理不做限定。但对用于数据匹配的对象数据的范围是具有如下要求的,即:[0049]不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录。[0050]具体地,当区块链中的原始区块不具有关联的副本区块时,则将这样的原始区块在数据表中对应的第一数据记录作为用于数据匹配的对象数据,当区块链中的原始区块具有关联的副本区块时,则将这样的原始区块所关联的副本区块中最晚生成的副本区块在数据表中对应的第二数据记录作为用于数据匹配的对象数据。选取出的对象数据中的第一数据记录和第二数据记录又被称为第三数据记录。[0051]S430,将目标数据记录中的数据输出。[0052]将从各第三数据记录中得到的与关键信息相匹配的数据记录作为目标数据记录进行输出,以使得呈现给查阅者的是经过勘误更正后的区块体数据。[0053]需要注意的是,在实际应用场景中,针对延展区块链中某一原始区块的区块体数据可能存在多次被勘误,而具有多个关联的副本区块的情况。如图6a、图6b中所示的原始区块“Block2verl.0”存在两个与其关联的副本区块“Block2ver2.0”、“Block2ver3·0”。[0054]为了体现数据表中的各第二数据记录所对应的副本区块生成的顺序,在各第二数据记录中还可包括:用于标记该第二数据记录中的第二数据所在的副本区块的版本号;这里的版本号的大小随着副本区块的生产时间顺序增加。例如图6a、图6b中“Block2ver2.0”、“Block2ver3.0”中的ver2.0、ver3.0即为相应副本区块对应的版本号。[0055]相应的,如果针对同一原始区块存在多个副本区块,则可将该多个副本区块对应的第二数据记录中,包含版本号最高的第二数据记录作为第三数据记录。[0056]具体地,依据副本区块中版本号的生成规则,包含版本号最高的第二数据记录中包括了其对应勘误的原始区块中历次勘误后的结果数据。因此可将包含版本号最高的第二数据记录作为第三数据记录,从而保证选取作为第三数据记录的第二数据记录中的第二数据是被勘误的最新版本的数据。[0057]另外需要注意的是,本方案所要达到的根本目的是要提供给查阅者最新的勘误后的区块体数据,这些区块体数据可能是出自原始区块对应的第一数据记录,也可能是副本区块对应的第二数据记录,而查阅者对于这些数据是否是勘误后的数据是不能感知的。例如,当输出的目标数据记录为位于副本区块block2ver:2.0,数据ID为txOl的数据时,查阅者也无法获知,该数据是被勘误的数据还是未被勘误的数据。[0058]为了使用户从查询得到的目标数据记录中获悉该数据是否被勘误,本方案在上述方案步骤的基础上,增加了如下步骤:[0059]如果用于选取作为第三数据记录的第二数据记录中,存在第二数据与数据表中的第一数据为内容相同的数据,则将包含该第一数据的第一数据记录替换掉该第二数据记录作为选定的第三数据记录。[0060]具体地,如果选取作为第三数据记录的第二数据记录与原始区块对应的第一数据记录相同,则表明该第二数据并不是针对原始区块中的区块体数据进行勘误后的数据,此时可将包含与第二数据内容相同的第一数据的第一数据记录替换掉该第二数据记录作为选定的第三数据记录。[0061]基于该处理操作,用于作为第三数据记录的第二数据记录中的第二数据仅存在一种情况,就是被勘误第一数据所对应的第二数据,而针对第三数据记录中未被勘误的数据,全部位于原始区块所对应的第一数据记录中。因此,在输出的目标数据记录中,通过查看该数据记录包含的第一数据或第二数据在区块链中的位置信息有版本号的可以查看版本号信息就可以知道该数据是否被勘误。例如,当输出的数据记录中位置信息对应于原始区块的位置和或版本号为最低版本号,则说明该目标数据未被勘误过;当输出的数据记录中位置信息对应于副本区块的位置和或版本号为非最低版本号,则说明该目标数据被勘误过,并且是在该数据记录所对应的副本区块中进行勘误的。[0062]本实施例中,第二数据记录中还可包括:本次数据记录的生成时间信息;并且再次重申,第一数据在区块链中的位置信息可包括:第一数据所在的区块的编号,以及该第一数据在区块的区块体数据中的数据ID;第二数据在区块链中的位置信息可包括:第二数据所在的区块的编号,以及该第二数据在所述区块的区块体数据中的数据ID。[0063]本发明实施例的针对增加区块的整体勘误的区块链的查询方法,根据接收的数据查询请求中的关键信息在第三数据记录中进行数据查询得到目标数据记录,所述第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;然后将目标数据记录中的数据输出,从而保证输出的目标数据为区块链经勘误更正过的数据。[0064]进一步地,在选取第三数据记录时,针对同一原始区块具有多个副本区块的情况进行了方案细化。使得在执行查询的过程中,通过输出的目标数据记录来体现被查询的数据是否被勘误,并且在哪个副本区块中被勘误的具体信息,使得查阅者能够更加清楚的获悉所查询的结果数据的相关信息。[0065]实施例二[0066]图7为本发明实施例提供的针对增加区块的整体勘误的区块链的查询系统示意图,可用于执行实施例一中所示的方法步骤,所述区块链包括一个延展区块链,或者一个延展区块链和至少一个与延展区块链链接的副本区块;所述副本区块为对延展区块链中原始区块的区块体数据进行勘误后生成的区块;副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,[0067]区块链中区块的区块体数据存储于一数据表中,其中,数据表中包括多条由关联存储的第一数据在区块链中的位置信息和第一数据的内容构成的第一数据记录,数据表中的所有第一数据的内容构成了区块链中所有原始区块的区块体数据;[0068]数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和第二数据的内容构成的第二数据记录,数据表中的所有第二数据的内容构成了区块链中所有副本区块的区块体数据;[0069]所述原始区块与对该原始区块的区块体数据进行勘误后所形成的副本区块之间具有关联关系。如图7所示,该针对增加区块数目的单个勘误的区块链查询系统包括:请求接收模块710、数据查询模块720和数据输出模块730,其中:[0070]请求接收模块710,用于接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,该数据查询请求中包括:待查询的目标数据的关键信息;数据查询模块720,用于根据所述关键信息,在数据表中的第三数据记录中进行查询,以得到与关键信息匹配的目标数据记录;该第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;数据输出模块730,用于将目标数据记录中的数据输出。[0071]进一步地,上述数据表中的各第二数据记录中还可包括:用于标记该第二数据记录中的第二数据所在的副本区块的版本号;[0072]相应的,如图8所示,上述系统还可包括:[0073]第一记录提取模块740,用于如果针对同一原始区块存在多个副本区块,则将该多个副本区块对应的第二数据记录中,包含版本号最高的第二数据记录作为第三数据记录。[0074]进一步地,如图8所示,上述系统还可包括:[0075]第二记录提取模块750,用于如果用于选取作为第三数据记录的第二数据记录中,存在第二数据与数据表中的第一数据为内容相同的数据,则将包含该第一数据的第一数据记录替换掉该第二数据记录作为选定的第三数据记录。[0076]进一步地,上述第二数据记录中还包括:本次数据记录的生成时间信息,第一数据在区块链中的位置信息包括:第一数据所在的区块的编号,以及该第一数据在区块的区块体数据中的数据ID;第二数据在区块链中的位置信息包括:第二数据所在的区块的编号,以及该第二数据在区块的区块体数据中的数据ID。[0077]图8所示系统可用于执行如图4所示的方法步骤。[0078]本发明实施例的针对增加区块的整体勘误的区块链的查询系统,根据接收的数据查询请求中的关键信息在第三数据记录中进行数据查询得到目标数据记录,所述第三数据记录包括:不存在副本区块与其关联的原始区块对应的第一数据记录,以及存在副本区块与其关联的原始区块对应的最晚生成的副本区块对应的第二数据记录;然后将目标数据记录中的数据输出,从而保证输出的目标数据为区块链经勘误更正过的数据。[0079]进一步地,在选取第三数据记录时,针对同一原始区块具有多个副本区块的情况进行了方案细化。使得在执行查询的过程中,通过输出的目标数据记录来体现被查询的数据是否被勘误,并且在哪个副本区块中被勘误的具体信息,使得查阅者能够更加清楚的获悉所查询的结果数据的相关信息。[0080]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0MRAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行各个实施例或者实施例的某些部分所述的方法。[0081]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

权利要求:1.一种针对增加区块的整体勘误的区块链的查询方法,其特征在于,所述区块链包括一个延展区块链,或者一个所述延展区块链和至少一个与所述延展区块链链接的副本区块;所述副本区块为对所述延展区块链中原始区块的区块体数据进行勘误后生成的区块;所述副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,所述区块链中区块的区块体数据存储于一数据表中,其中,所述数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的第一数据记录,所述数据表中的所有所述第一数据的内容构成了所述区块链中所有所述原始区块的区块体数据;所述数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和所述第二数据的内容构成的第二数据记录,所述数据表中的所有所述第二数据的内容构成了所述区块链中所有所述副本区块的区块体数据;所述原始区块与对该原始区块的区块体数据进行勘误后所形成的所述副本区块之间具有关联关系;所述查询方法包括:接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在所述副本区块与其关联的所述原始区块对应的最晚生成的副本区块对应的所述第二数据记录;将所述目标数据记录中的数据输出。2.根据权利要求1所述的查询方法,其特征在于,所述数据表中的各所述第二数据记录中还包括:用于标记该第二数据记录中的所述第二数据所在的所述副本区块的版本号;所述方法还包括:如果针对同一原始区块存在多个所述副本区块,则将该多个所述副本区块对应的所述第二数据记录中,包含所述版本号最高的所述第二数据记录作为所述第三数据记录。3.根据权利要求1所述的查询方法,其特征在于,所述方法还包括:如果用于选取作为所述第三数据记录的所述第二数据记录中,存在第二数据与所述数据表中的所述第一数据为内容相同的数据,则将包含该第一数据的第一数据记录替换掉该第二数据记录作为选定的所述第三数据记录。4.根据权利要求1-3中任一项所述的查询方法,其特征在于,所述第二数据记录中还包括:本次数据记录的生成时间信息,所述第一数据在所述区块链中的位置信息包括:所述第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据ID;所述第二数据在所述区块链中的位置信息包括:所述第二数据所在的区块的编号,以及该第二数据在所述区块的区块体数据中的数据ID。5.—种针对增加区块的整体勘误的区块链的查询系统,其特征在于,所述区块链包括一个延展区块链,或者一个所述延展区块链和至少一个与所述延展区块链链接的副本区块;所述副本区块为对所述延展区块链中原始区块的区块体数据进行勘误后生成的区块;所述副本区块的区块体数据较被勘误的所述原始区块的区块体数据,除截至到本副本区块生成时的各次数据勘误请求中的待勘误数据均被修改外,其他数据对应相同,所述区块链中区块的区块体数据存储于一数据表中,其中,所述数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的第一数据记录,所述数据表中的所有所述第一数据的内容构成了所述区块链中所有所述原始区块的区块体数据;所述数据表中还包括多条由关联存储的第二数据在所述区块链中的位置信息和所述第二数据的内容构成的第二数据记录,所述数据表中的所有所述第二数据的内容构成了所述区块链中所有所述副本区块的区块体数据;所述原始区块与对该原始区块的区块体数据进行勘误后所形成的所述副本区块之间具有关联关系;所述查询系统包括:请求接收模块,用于接收针对当前已形成的延展区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;数据查询模块,用于根据所述关键信息,在所述数据表中的第三数据记录中进行查询,以得到与所述关键信息匹配的目标数据记录;所述第三数据记录包括:不存在所述副本区块与其关联的所述原始区块对应的第一数据记录,以及存在所述副本区块与其关联的所述原始区块对应的最晚生成的副本区块对应的所述第二数据记录;数据输出模块,用于将所述目标数据记录中的数据输出。6.根据权利要求5所述的查询系统,其特征在于,所述数据表中的各所述第二数据记录中还包括:用于标记该第二数据记录中的所述第二数据所在的所述副本区块的版本号;所述系统还包括:第一记录提取模块,用于如果针对同一原始区块存在多个所述副本区块,则将该多个所述副本区块对应的所述第二数据记录中,包含所述版本号最高的所述第二数据记录作为所述第三数据记录。7.根据权利要求5所述的查询系统,其特征在于,所述系统还包括:第二记录提取模块,用于如果用于选取作为所述第三数据记录的所述第二数据记录中,存在第二数据与所述数据表中的所述第一数据为内容相同的数据,则将包含该第一数据的第一数据记录替换掉该第二数据记录作为选定的所述第三数据记录。8.根据权利要求5-7中任一项所述的查询系统,其特征在于,所述第二数据记录中还包括:本次数据记录的生成时间信息,所述第一数据在所述区块链中的位置信息包括:所述第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据ID;所述第二数据在所述区块链中的位置信息包括:所述第二数据所在的区块的编号,以及该第二数据在所述区块的区块体数据中的数据ID。

百度查询: 北京瑞卓喜投科技发展有限公司 针对增加区块的整体勘误的区块链的查询方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。