CN108494706A - 区块链中的数据处理方法和装置 - Google Patents

区块链中的数据处理方法和装置 Download PDF

Info

Publication number
CN108494706A
CN108494706A CN201810135863.8A CN201810135863A CN108494706A CN 108494706 A CN108494706 A CN 108494706A CN 201810135863 A CN201810135863 A CN 201810135863A CN 108494706 A CN108494706 A CN 108494706A
Authority
CN
China
Prior art keywords
block
data
block chain
chain
historical juncture
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
Application number
CN201810135863.8A
Other languages
English (en)
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.)
Beijing European Chain Technology Co Ltd
Original Assignee
Beijing European Chain Technology Co 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 Beijing European Chain Technology Co Ltd filed Critical Beijing European Chain Technology Co Ltd
Priority to CN201810135863.8A priority Critical patent/CN108494706A/zh
Publication of CN108494706A publication Critical patent/CN108494706A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9015Buffering arrangements for supporting a linked list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种区块链中的数据处理方法和装置,其中,方法包括:响应于还原当前区块链在指定历史时刻的形态结构的操作,从所述当前区块链中获取该历史时刻生成的记录区块,所述记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构。本发明实施例的方案能够方便用户清楚分辨出区块链形成的各个阶段,同时降低数据存储成本。

Description

区块链中的数据处理方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链中的数据处理方法和装置。
背景技术
随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个云系统之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。
当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。
但是,现有的区块链只是单纯沿着区块链的延展方向,依次生成新的区块,链条的生成方式单一,对于非单链条的区块链结构,并不能体现出截至到某一历史时刻下,区块链的整体形态,使得用户不能清楚分辨出区块链形成的各个阶段。即使存在通过快照的方式对截至到某一历史时刻下区块链的整体形态进行保存的方案,但由于快照的过程是对目标对象的完全复制,随着区块链的不断延展,每次快照的数据量不断增加,存储成本也随之增大。
发明内容
本发明提供了一种区块链中的数据处理方法和装置,能够方便用户清楚分辨出区块链形成的各个阶段,同时降低数据存储成本。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种区块链中的数据处理方法,包括:
响应于还原当前区块链在指定历史时刻的形态结构的操作,从所述当前区块链中获取该历史时刻生成的记录区块,所述记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;
根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构。
第二方面,提供了一种区块链中的数据处理装置,包括:
数据获取模块,用于响应于还原当前区块链在指定历史时刻的形态结构的操作,从所述当前区块链中获取该历史时刻生成的记录区块,所述记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;
数据还原模块,用于根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构。
本发明提供的区块链中的数据处理方法和装置,在需要从当前区块链获取截至某一历史时刻下区块链的整体形态时,可通过链接在当前区块链中的记录区块中的逻辑数据还原该历史时刻下的区块链的形态结构;该逻辑数据描述了该历史时刻下形成的区块链中各区块之间的链接关系,从而在不需要对区块链的数据在各个历史时刻进行完全复制的情况下,方便用户清楚了解区块链在各个阶段的生成情况,同时降低数据存储成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术的区块链的结构示意图;
图2为本发明实施例的反向链接结构示意图;
图3为本发明实施例的区块链中的数据处理方法流程图一;
图4为本发明实施例的区块链结构示意图一;
图5为本发明实施例的区块链中的数据处理方法流程图二;
图6为本发明实施例的区块链中的数据处理方法流程图三;
图7为本发明实施例的区块链结构示意图二;
图8为本发明实施例的数据勘误表结构图;
图9为本发明实施例的区块链中的数据处理方法流程图四;
图10为本发明实施例的区块链中的数据处理装置的结构示意图一;
图11为本发明实施例的区块链中的数据处理装置的结构示意图二;
图12为本发明实施例的区块链中的数据处理装置的结构示意图三;
图13为本发明实施例的区块链中的数据处理装置的结构示意图四。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
区块链最初是伴随着着比特币的产生而提出的,因此,在描述区块链涉及的数据中,采用了交易数据和账本这样的表达,随着区块链技术的发展,其能够记录的信息和数据已经不限于传统意义上的交易数据,而是可以用来记录任何信息和数据。因此,在本发明实施例中,存储在各区块的区块体中的数据均可以被称为交易数据,该交易数据是指一条信息、数据或者指令等,而账本是指由多个交易数据构成的集合体。
区块链是指由多个区块构成的经过区块链技术加密后的数据存储结构,区块链网络是指,有多个实现区块链技术的节点构成的网络。区块链网络中的节点,可以是互联网中具有处理区块链数据功能的服务器或者终端设备。区块链中的各个节点执行着对交易数据进行记账(将交易数据写入区块体)、将新区块链接到已有区块链上、对区块链进行存储和验证等功能。
本发明实施例的基本原理在于:在区块链延展的过程中,当需要对区块链的某个特定历史时刻下的区块链的形态结构进行保存时,先基于该时刻下区块链的形态结构生成用于描述当前区块链中各区块之间的链接关系的逻辑数据,并以该逻辑数据作为区块体数据生成记录区块,然后将记录区块链接到区块链中,最后将记录区块中的数据向区块链网络进行广播。如此,当需要获取某一历史时刻的区块链的形态结构时,就可以根据记录区块中的逻辑数据从当前区块链中还原出该历史时刻的区块链的形态结构。
需要说明的是,本发明实施例中,区块之间的链接是一种逻辑意义上的链接,这种链接关系是通过区块链中的验证机制来体现的。如图1所示,在传统的区块链中,后一区块的区块头中记录着基于前一个区块生成的校验值,例如该校验值可以是前一个区块中的数据经不可逆算法,如哈希算法得到的哈希值(hash),并基于这样的机制不断向前延展,从而形成链接方向始终向前的区块链。本实施例中,对区块链的形态结构不做具体限定,即针对任何链接结构的区块链均可以通过本方案中的区块链中的数据处理方法对任一时刻的区块链的形态结构进行存储,并且不会带来较大的存储成本。
特别是,如图2所示,当区块链中存在类似例如由区块4指向区块3的反向链接时,上述区块链中的数据处理方法中需要将当前区块链中的区块数据还原为修改之前的区块数据即可。如图2中所示,区块3的区块头中包含区块4的校验值hash2,由于反向链接的建立,导致区块3的内容被修改,当使用区块4中的记录的校验值对区块3进行验证时,由于区块3的区块头中出现了Hash2,基于修改后的区块3计算获得的校验值不等于区块4的区块头中记录的校验值,从而出现验证错误。
通过这种验证机制,就可以识别出反向链接的存在。在实际应用中,可以在每个区块的区块头中预留出用于填写反向校验值的数据区域,从而在后续验证过程中,当发现该区域中存在数据时,就能够获知该区块存在反向链接,然后再基于该数据对该区块之后的各个区块进行验证,找到基于哪个区块计算获得的该校验值,就可以获知完整的反向链接关系。
对于识别反向链接而言,还可以通过区块链勘误表的方式来实现。区块链勘误表可以认为是对区块链的不可篡改机制的一个补充,该区块链勘误表可以由管理区块链网络的监管节点来维护,其目的在于,用来执行一些对区块链的必要的修改,这些修改是在监管节点的监控下完成的,从而保证区块链数据的准确性。
对区块链中的各个区块的修改,可以记录在与区块链对应的区块链勘误表中,在该区块链勘误表中记录着修改所在的具体位置(区块编号和区块中数据的行号以及列号等),以及修改前后的信息或者数据。在验证的过程中,如果出现验证不通过的情形,可以查询该勘误表,确定该验证不通过的区块是否存在修改,如果存在,则可以用修改之前的数据或者信息再进行验证,如果通过,则可以确认该修改经过允许的,不是被恶意篡改。并且,在该区块链勘误表中,还可以进一步记录,该修改是否为反向链接的修改,以及具体是基于哪个区块生成的校验值等信息,从而便于识别出反向链接的逻辑关系。
针对区块之间存在反向链接的区块链,在根据当前区块链还原出某特定历史时刻的区块链形态结构时,需要将修改后的数据还原为修改前的数据,如果被修改的数据是在已有区块的区块头中添加描述区块之间反向链接关系的校验值,那么只需在还原区块链时不添加该校验值到相应的区块的区块头中即可;如果被修改的数据为区块体数据,那么在还原区块链时需要将当前区块链中被修改的区块的区块体数据还原为修改之前的区块体数据。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述根据当前区块链的形态结构以及记录区块中的逻辑数据还原特定历史时刻下区块链的形态结构的方案思想,如图3所示,其为本发明实施例示出的区块链中的数据处理方法流程图一,该方法的执行主体可以为区块链中的处理节点。如图3所示,该区块链中的数据处理方法包括:
S310,响应于还原当前区块链在指定历史时刻的形态结构的操作,从当前区块链中获取该历史时刻生成的记录区块,记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据。
在区块链延展生成新区块的过程中,当需要对截至当前时刻形成的区块链的形态进行存储时,可以基于已形成的区块链中各区块之间的链接关系生成用于描述当前区块链中各区块之间的链接关系的逻辑数据。该逻辑数据的作用在于:不需要对区块链中各区块的数据进行复制,仅通过逻辑数据中记载的各区块的链接关系,就可以参考当前区块链的形态结构,或者是参考在之后的时间段内存在新增区块后的区块链的形态结构,就可以还原出之前历史时刻对应的区块链的形态结构。根据还原出的之前历史时刻对应的区块链的形态结构,以及当前区块链中各区块中的数据,就可以确定出截至该历史时刻生成的所有区块数据。
在生成记录区块之后,可以根据需要将记录区块链接在区块链中的任一区块之后。具体地,将选中的任一区块中的全部数据经不可逆算法进行计算得到校验值,并将校验值存储至记录区块的区块头中完成链接。其中,该不可逆算法可以为哈希算法,得到的校验值为哈希值。
当需要还原当前区块链在指定历史时刻的形态结构时,可以先从当前区块链中获取该历史时刻生成的记录区块,该记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据。
在具体应用场景中,为了方便区分记录区块和区块链中正常延展的区块,可以在每次存储区块链的形态结构时,仅在记录区块中存储正常延展的区块链结构,并且为了在区块链结构上方便区分两种类型的区块,可以将记录区块单独链接在一起。例如,将针对区块链生成的首个记录区块链接在区块链的创世区块之后,然后将首个记录区块以后生成的记录区块,按照记录区块的生成时间依次链接在前一记录区块之后,形成单链条的链接结构。这样,就可以根据区块的链接关系迅速找到记录区块的位置,并从所有记录区块中找到指定历史时刻生成的记录区块。
当然,为了体现区块链的完整性,在每次存储当前区块链的形态结构时,也可以将记录区块和正常延展的区块一并作为存储对象。
另外,为了方便区分记录区块和正常延展的区块这两种区块类型,便于查找记录区块的数据,可以预先采用不同的区块编号对这两种区块进行标识,如图4所示,其中正常延展的区块可采用Block1、Block2,……,Blockn(n为正整数)这种编号方式;记录区块可采用Blockm1、Blockm2,……,Blockmn(n为正整数)这种编号方式。
S320,根据逻辑数据从当前区块链中还原出该历史时刻的区块链的形态结构。
在找到指定历史时刻产生的记录区块后,提取该记录区块中的逻辑数据,然后根据逻辑数据中描述的截至该历史时刻生成的区块链中各区块之间的链接关系,从当前区块链中还原出该历史时刻生成的区块链的形态结构。如此,在不需要对区块链中的全部区块的数据进行复制的情况下,就可以还原指定历史时刻下区块链的形态结构,并且大大降低了存储成本。
本发明实施例的区块链中的数据处理方法,在需要从当前区块链获取截至某一历史时刻下区块链的整体形态时,可通过链接在当前区块链中的记录区块中的逻辑数据还原该历史时刻下的区块链的形态结构;该逻辑数据描述了该历史时刻下形成的区块链中各区块之间的链接关系,从而在不需要对区块链的数据在各个历史时刻进行完全复制的情况下,方便用户清楚了解区块链在各个阶段的生成情况,同时降低数据存储成本。
实施例二
如图5所示,其为本发明实施例示出的区块链中的数据处理方法流程图二,该方法可视为图3所示方法的细化,主要对根据逻辑数据从当前区块链中还原出该历史时刻的区块链的形态结构的过程进行进一步说明。如图5所示,在图3所示步骤的基础上,上述逻辑数据中可具体包括:截至上述历史时刻下形成的区块链中包含的各区块的区块编号,以及各区块之间的链接指向信息;相应地,步骤320可具体包括如下步骤内容:
S510,根据记录区块中存储的区块编号从当前区块链中提取相应的不包含校验值的区块。
首先,从当前区块链中提取记录区块中存储的区块编号对应的区块,然后将这些区块的区块头中存储的校验值全部删除,只保留不包含校验值的剩余区块部分。
S520,根据记录区块中存储的各区块之间的链接指向信息,从当前区块链中获取与记录区块中存储的各区块编号对应的区块中存储的校验值,并添加到相应的无校验值的区块的区块头中,以还原出该历史时刻的区块链的形态结构。
在确定待还原的不包含校验值的区块后,需要将这些区块通过在区块头中添加校验值来形成区块之间的链接指向关系。具体地,根据记录区块中存储的各区块之间的链接指向信息,从当前形成的区块链中提取出与这些不包含校验值的区块对应的区块的区块头中记录的校验值,并将其添加到相应的无校验值的区块的区块头中。
简言之,上述过程就是先从当前区块链中提取出去除校验值的区块,然后根据记录区块中记录的链接指向信息,再从当前区块链中提取出这些区块中符合链接指向信息的校验值,并添加的相应的无校验值的区块的区块头中,最终完成区块链结构的还原。在该过程中,有些区块的校验值可能存在多个,比如在后续的时间段内新形成的区块与截至当前时刻形成的区块又建立了新的链接指向关系,那么在还原当前时刻的区块链的形态结构时,就需要去除掉该新增的链接指向关系,即仅将截至当前时刻产生的校验值添加到对应的无校验值的区块的区块头中。
本发明实施例的区块链中的数据处理方法,在实施例一所示方法的基础上,对逻辑数据进行了进一步说明,通过逻辑数据中的区块编号,获取相应区块编号对应的不包含校验值头的区块,然后从当前区块链中获取与逻辑数据中的连接指向信息对应的各区块的校验值,添加到上述不包含校验值的区块中,以实现区块链的还原。
实施例三
如图6所示,其为本发明实施例示出的区块链中的数据处理方法三,该方法可视为图3和图5所示方法的细化,主要针对待还原的区块链中的区块存在区块体数据被修改的情况下的还原过程进行进一步说明。如图6所示,在图3所示步骤的基础上,还可执行如下步骤:
S610,如果该历史时刻以后的时间段内,待还原的区块链的形态结构中存在区块的区块体数据的修改,则将从当前区块链中获取的区块体数据还原为修改之前的区块体数据,以最终还原出该历史时刻的区块链的形态结构。
在区块链延展过程中,可能会根据需要对已有区块中的数据进行修改,例如在增加反向链接时,需要在已有区块的区块头中增加新区块的校验值;又例如直接对已有区块中区块的区块体数据进行修改(包括增加、删除以及替换数据)。
如图7所示,在形成区块链的过程中,包含对已有区块Block2中的数据进行修改的情况。在形成记录区块时,就需要对Block2中的数据修改情况进行统计,包括修改之前的原数据、修改之后的新数据,然后将得到修改数据,添加到上述记录区块中。该修改数据可以是修改的原数据和新数据本身,也可以是针对某个数据进行修改的标识信息。当然针对后者的记录内容,还需要通过设置在区块链以外的区块链勘误表(如图8所示)对修改的原数据和新数据进行记录,以方便数据还原。
需要说的是,记录区块中记录的修改数据仅限于从上一次存储区块链(对应上一次生成记录区块)到本次存储区块链(对应本次生成记录区块)所对应的时间段内,对区块链中发生的数据修改的区块进行统计而得到的修改数据。
相应地,在后续用户需要还原截至本时刻形成的区块链的形态结构时,除了执行前述内容中的提及的还原过程外,还需要将从后续形成的区块链中获取的区块体数据还原为修改之前也就是当前时刻对应的区块体数据,以最终还原出当前时刻的区块链的形态结构。
同理,以图5所示方法为例,上述记录区块的区块体数据中还可包括:
对该历史时刻到该历史时刻的上一次生成记录区块的时刻所对应的时间段内,对区块链中存在数据修改的区块进行统计得到的修改数据;
相应的,如图9所示,在步骤S520,根据记录区块中存储的区块编号从当前区块链中提取相应的不包含区块头的区块之后,还可包括如下步骤:
S910如果提取的区块中的区块体数据在该历史时刻之后产生的记录区块中存在相应的修改数据,则根据修改数据将当前的区块体数据还原为修改前的区块体数据。
具体地,如果记录区块中记录的修改数据为修改前后的原数据和新数据本身,则可以直接将当前区块中的新数据替换为原数据完成数据还原;如果记录区块中记录的修改数据为针对某个数据进行修改的标识信息,则还需要通过该标识信息查找设置在区块链以外的区块链勘误表(如图8所示)中的原数据和新数据,以完成数据还原。
进一步地,在记录区块中不仅可以记录用于描述截至当前时刻区块链中各区块之间的链接关系对应的逻辑数据,还可以记录基于当前形成的区块链中区块的区块体数据所产生的统计数据,如交易数据总量、交易数据增长速度等。获取统计数据的时机可以是在接收到存储当前区块链的形态结构的请求之后,作为响应操作被执行。
这样,在后续用户还原当前时刻对应的区块链的形态结构时,还可以通过记录区块读取到截至当前时刻的区块链的统计数据。
本发明实施例的区块链中的数据处理方法,在实施例一、实施例二所示方法的基础上,对记录区块中的数据进行了补充说明,即通过增加统计数据可以方便用户在后续根据记录区块还原当前形成的区块链的形态结构时,一并读取到截至当前时刻的区块链的统计数据;另外,通过在记录区块中增加针对区块数据修改后进行统计得到的修改数据,以方便用户准确还原区块链在不同时刻的形态结构。
实施例三
如10所示,其为本发明实施例示出的区块链中的数据处理装置的结构示意图一,该装置可以为设置在网络中的服务器,用于执行实施例一中所示的方法步骤。如图10所示,该区块链中的数据处理装置包括:
数据获取模块101,用于响应于还原当前区块链在指定历史时刻的形态结构的操作,从当前区块链中获取该历史时刻生成的记录区块,记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;
数据还原模块102,用于根据逻辑数据从当前区块链中还原出该历史时刻的区块链的形态结构。
进一步地,上述逻辑数据可包括:截至历史时刻下形成的区块链中包含的各区块的区块编号,以及各区块之间的链接指向信息;
相应的,如图11所示,上述数据还原模块102可包括:
区块提取单元111,用于根据记录区块中存储的区块编号从当前区块链中提取相应的不包含校验值的区块;
数据还原单元112,用于根据记录区块中存储的各区块之间的链接指向信息,从当前区块链中获取与记录区块中存储的各区块编号对应的区块中存储的校验值,并添加到相应的无校验值的区块的区块头中,以还原出该历史时刻的区块链的形态结构。
图11所示的装置结构可用于执行图5所示的方法步骤。
进一步地,在图10所示装置结构的基础上,如图12所示,上述装置中还包括:
数据修改模块121,用于如果历史时刻以后的时间段内,待还原的区块链的形态结构中存在区块的区块体数据的修改,则将从当前区块链中获取的区块体数据还原为修改之前的区块体数据,以最终还原出该历史时刻的区块链的形态结构。
图12所示的装置结构可用于执行图6所示的方法步骤。
进一步地,上述区块体数据中还包括:对该历史时刻到该历史时刻的上一次生成记录区块的时刻所对应的时间段内,对区块链中存在数据修改的区块进行统计得到的修改数据;
相应地,在图11所示装置结构的基础上,如图13所示,上述装置中的数据还原模块102中还包括:
数据修改单元131,如果提取的区块中的区块体数据在该历史时刻之后产生的记录区块中存在相应的修改数据,则根据修改数据将当前的区块体数据还原为修改前的区块体数据。
图13所示的装置结构可用于执行图9所示的方法步骤。
进一步地,上述区块体数据中还可包括:截至该历史时刻下形成的区块链中各区块中的区块体数据经统计得到的统计数据。
本发明实施例的区块链中的数据处理装置,在需要从当前区块链获取截至某一历史时刻下区块链的整体形态时,可通过链接在当前区块链中的记录区块中的逻辑数据还原该历史时刻下的区块链的形态结构;该逻辑数据描述了该历史时刻下形成的区块链中各区块之间的链接关系,从而在不需要对区块链的数据在各个历史时刻进行完全复制的情况下,方便用户清楚了解区块链在各个阶段的生成情况,同时降低数据存储成本。
进一步地,通过逻辑数据中的区块编号,获取相应区块编号对应的不包含校验值头的区块,然后从当前区块链中获取与逻辑数据中的连接指向信息对应的各区块的校验值,添加到上述不包含校验值的区块中,以实现区块链的还原。
进一步地,通过在记录区块中增加统计数据可以方便用户在后续根据记录区块还原当前形成的区块链的形态结构时,一并读取到截至当前时刻的区块链的统计数据;另外,通过在记录区块中增加针对区块数据修改后进行统计得到的修改数据,以方便用户准确还原区块链在不同时刻的形态结构。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种区块链中的数据处理方法,其特征在于,包括:
响应于还原当前区块链在指定历史时刻的形态结构的操作,从所述当前区块链中获取该历史时刻生成的记录区块,所述记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;
根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构。
2.根据权利要求1所述的方法,其特征在于,所述逻辑数据包括:截至所述历史时刻下形成的区块链中包含的各区块的区块编号,以及各区块之间的链接指向信息;
所述根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构,包括:
根据所述记录区块中存储的区块编号从所述当前区块链中提取相应的不包含校验值的区块;
根据所述记录区块中存储的各区块之间的所述链接指向信息,从所述当前区块链中获取与所述记录区块中存储的各区块编号对应的区块中存储的校验值,并添加到相应的无校验值的区块的区块头中,以还原出该历史时刻的区块链的形态结构。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述历史时刻以后的时间段内,待还原的所述区块链的形态结构中存在区块的区块体数据的修改,则将从所述当前区块链中获取的区块体数据还原为修改之前的区块体数据,以最终还原出该历史时刻的区块链的形态结构。
4.根据权利要求2所述的方法,其特征在于,所述区块体数据中还包括:
对该历史时刻到该历史时刻的上一次生成记录区块的时刻所对应的时间段内,对区块链中存在数据修改的区块进行统计得到的修改数据;
所述根据所述记录区块中存储的区块编号从所述当前区块链中提取相应的不包含区块头的区块之后,还包括:
如果提取的区块中的区块体数据在该历史时刻之后产生的记录区块中存在相应的所述修改数据,则根据所述修改数据将当前的区块体数据还原为修改前的区块体数据。
5.根据权利要求1所述的方法,其特征在于,所述区块体数据中还包括:
截至该历史时刻下形成的区块链中各区块中的区块体数据经统计得到的统计数据。
6.一种区块链中的数据处理装置,其特征在于,包括:
数据获取模块,用于响应于还原当前区块链在指定历史时刻的形态结构的操作,从所述当前区块链中获取该历史时刻生成的记录区块,所述记录区块的区块体数据中存储有用于描述截至该历史时刻下形成的区块链中各区块之间的链接关系的逻辑数据;
数据还原模块,用于根据所述逻辑数据从所述当前区块链中还原出该历史时刻的区块链的形态结构。
7.根据权利要求6所述的装置,其特征在于,所述逻辑数据包括:截至所述历史时刻下形成的区块链中包含的各区块的区块编号,以及各区块之间的链接指向信息;
所述数据还原模块包括:
区块提取单元,用于根据所述记录区块中存储的区块编号从所述当前区块链中提取相应的不包含校验值的区块;
数据还原单元,用于根据所述记录区块中存储的各区块之间的所述链接指向信息,从所述当前区块链中获取与所述记录区块中存储的各区块编号对应的区块中存储的校验值,并添加到相应的无校验值的区块的区块头中,以还原出该历史时刻的区块链的形态结构。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据修改模块,用于如果所述历史时刻以后的时间段内,待还原的所述区块链的形态结构中存在区块的区块体数据的修改,则将从所述当前区块链中获取的区块体数据还原为修改之前的区块体数据,以最终还原出该历史时刻的区块链的形态结构。
9.根据权利要求7所述的装置,其特征在于,所述区块体数据中还包括:对该历史时刻到该历史时刻的上一次生成记录区块的时刻所对应的时间段内,对区块链中存在数据修改的区块进行统计得到的修改数据;
所述数据还原模块还包括:
数据修改单元,如果提取的区块中的区块体数据在该历史时刻之后产生的记录区块中存在相应的所述修改数据,则根据所述修改数据将当前的区块体数据还原为修改前的区块体数据。
10.根据权利要求6所述的装置,其特征在于,所述区块体数据中还包括:
截至该历史时刻下形成的区块链中各区块中的区块体数据经统计得到的统计数据。
CN201810135863.8A 2018-02-09 2018-02-09 区块链中的数据处理方法和装置 Pending CN108494706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810135863.8A CN108494706A (zh) 2018-02-09 2018-02-09 区块链中的数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810135863.8A CN108494706A (zh) 2018-02-09 2018-02-09 区块链中的数据处理方法和装置

Publications (1)

Publication Number Publication Date
CN108494706A true CN108494706A (zh) 2018-09-04

Family

ID=63340097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810135863.8A Pending CN108494706A (zh) 2018-02-09 2018-02-09 区块链中的数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN108494706A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275798A (zh) * 2019-05-08 2019-09-24 深圳壹账通智能科技有限公司 区块链数据处理方法、装置、服务器及存储介质
CN114723564A (zh) * 2022-06-01 2022-07-08 杭州天谷信息科技有限公司 一种区块链生成方法以及区块链结构

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686087A (zh) * 2016-12-30 2017-05-17 先锋支付有限公司 一种区块链截断方法及分布式节点
CN106897352A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 在拓展中进行修改的区块链的生成方法及系统
CN106897353A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 中心型多维拓展的区块链的生成方法及系统
CN106909605A (zh) * 2016-12-29 2017-06-30 北京瑞卓喜投科技发展有限公司 沿横向拓展的区块链的生成方法及系统
CN107066495A (zh) * 2016-12-29 2017-08-18 北京瑞卓喜投科技发展有限公司 沿纵向拓展的区块链的生成方法及系统
CN107085582A (zh) * 2016-10-12 2017-08-22 雷盈企业管理(上海)有限公司 区块链数字资产可视化呈现方法、系统及服务器设备
CN107451177A (zh) * 2017-03-24 2017-12-08 北京瑞卓喜投科技发展有限公司 针对增加区块的单个勘误的区块链的查询方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107085582A (zh) * 2016-10-12 2017-08-22 雷盈企业管理(上海)有限公司 区块链数字资产可视化呈现方法、系统及服务器设备
CN106897352A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 在拓展中进行修改的区块链的生成方法及系统
CN106897353A (zh) * 2016-12-29 2017-06-27 北京瑞卓喜投科技发展有限公司 中心型多维拓展的区块链的生成方法及系统
CN106909605A (zh) * 2016-12-29 2017-06-30 北京瑞卓喜投科技发展有限公司 沿横向拓展的区块链的生成方法及系统
CN107066495A (zh) * 2016-12-29 2017-08-18 北京瑞卓喜投科技发展有限公司 沿纵向拓展的区块链的生成方法及系统
CN106686087A (zh) * 2016-12-30 2017-05-17 先锋支付有限公司 一种区块链截断方法及分布式节点
CN107451177A (zh) * 2017-03-24 2017-12-08 北京瑞卓喜投科技发展有限公司 针对增加区块的单个勘误的区块链的查询方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275798A (zh) * 2019-05-08 2019-09-24 深圳壹账通智能科技有限公司 区块链数据处理方法、装置、服务器及存储介质
WO2020224242A1 (zh) * 2019-05-08 2020-11-12 深圳壹账通智能科技有限公司 区块链数据处理方法、装置、服务器及存储介质
CN114723564A (zh) * 2022-06-01 2022-07-08 杭州天谷信息科技有限公司 一种区块链生成方法以及区块链结构

Similar Documents

Publication Publication Date Title
CN108470039A (zh) 区块链中的数据处理方法和装置
US11710131B2 (en) Method and apparatus of identifying a transaction risk
CN106897178B (zh) 一种基于极限学习机的慢盘检测方法及系统
CN108512649A (zh) 区块链的反向哈希链接的处理方法及装置
EP3485453A1 (en) Using a distributed ledger for tracking debt data
CN110390524B (zh) 区块链中作业数据处理方法、装置、电子设备及存储介质
CN110083629B (zh) 一种基于区块链的事件订阅的方法及装置
CN111461751B (zh) 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置
CN109543455A (zh) 一种区块链的数据归档方法及装置
CN108462582A (zh) 区块链中的反馈处理方法和装置
CN104270605B (zh) 一种视频监控数据的处理方法及装置
CN108629205A (zh) 药品质量检测数据的监管方法及装置
CN104778123A (zh) 一种检测系统性能的方法及装置
CN112306982A (zh) 异常用户检测方法、装置、计算设备及存储介质
CN111177795A (zh) 一种利用区块链识别视频篡改的方法、装置和计算机存储介质
CN108494706A (zh) 区块链中的数据处理方法和装置
CN115631039A (zh) 资金追踪方法、装置及设备
CN108510268A (zh) 环形区块链结构、数据处理方法和装置
CN113538154A (zh) 风险对象的识别方法、装置、存储介质和电子设备
CN107070897A (zh) 入侵检测系统中基于多属性哈希去重的网络日志存储方法
CN110505444A (zh) 基于大数据的安防监控系统
CN105892954A (zh) 基于多副本的数据存储方法和装置
CN113032001A (zh) 一种智能合约分类方法及装置
CN107016028A (zh) 数据处理方法及其设备
CN115454717A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180904