CN107066495B - 沿纵向拓展的区块链的生成方法及系统 - Google Patents
沿纵向拓展的区块链的生成方法及系统 Download PDFInfo
- Publication number
- CN107066495B CN107066495B CN201611247834.8A CN201611247834A CN107066495B CN 107066495 B CN107066495 B CN 107066495B CN 201611247834 A CN201611247834 A CN 201611247834A CN 107066495 B CN107066495 B CN 107066495B
- Authority
- CN
- China
- Prior art keywords
- block chain
- block
- snapshot
- chain
- extension
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000002427 irreversible effect Effects 0.000 claims description 12
- 230000002035 prolonged effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 17
- 238000012795 verification Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 125000002015 acyclic group Chemical group 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (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为本发明实施例提供的沿纵向拓展的区块链的生成系统的结构示意图一;
图14为本发明实施例提供的数据快照模块的结构示意图;
图15为本发明实施例提供的沿纵向拓展的区块链的生成系统的结构示意图二。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
在介绍本发明实施例的内容之前,先对以下名词进行解释:
数据快照:与数据复制不完全相同,数据快照后的结果与被执行快照的原数据之间存在部分数据相同,具体可以是:①快照后的数据与原数据完全相同,②快照后的全部数据与原数据的部分数据相同,③快照后的数据中的部分数据与原数据中的全部或部分数据相同;
延展区块链:当为新产生的数据生成新区块时,该新区块在整个区块链中所链接的部分区块链称之为延展区块链;一个完整的区块链,可由一个延展区块链构成,或者由一个或多延展区块链和一个或多个非延展区块链构成,延展区块链在整个区块链中的定义范围,会在对区块链进行如数据快照、区块修改等类似操作后从新指定;初始状态下,区块链仅包括一个创世区块时,该创世区块构成最初形态下的延展区块链。这里说明,所述新产生的数据生成的新区块,不包括上述对区块链进行如数据快照、区块修改等类似操作所产生的新区块;
快照对象区块链:被执行数据快照操作的延展区块链,被记为当次快照对应的快照对象区块链;
快照结果区块链:对区块链进行快照操作后,产生的相对于快照对象区块链的结果区块链。
首先需要说明的是,本发明实施例将提供一种沿纵向拓展的区块链的生成方法,以在整体上以区块链的形式保存当前区块链在各个阶段的历史形态,并且这种保持历史形态的方式是沿纵向拓展的方向实现的,拓展的方式可采用沿时间维度参量(如以固定时间周期对延展区块链进行拓展)、区块链的规模维度参量(如延展区块链每增加固定个数的新区块后对延展区块链进行拓展)等进行拓展,当然,根据实际需要,也可在延展区块链延展的过程中,以多种不同类型的维度参量对延展区块链同时进行拓展;所谓纵向拓展,就是在每次对延展区块链进行拓展后,以拓展后的快照结果区块链作为延展区块链继续延展。通过对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,该快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同,以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。
其次需要说明的是,本发明实施例中的区块链中各区块体数据记载的交易信息不局限于商业中的“账本”或“金融交易”的信息,也可以广义的理解为是需要通过区块链这种数据组织形式管理的多样化的对象数据,如针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等。本发明实施例中,对延展区块链本身的形态及延展方向不做限定,只是在延展区块链正常延展的过程中,插入了数据快照这种新的区块拓展方式。例如,所述的延展区块链的形态可以为如图1所示的传统的单链条的区块链,也可以是如图2所示的整体上呈树形结构的区块链(该区块链中每个区块只有一个父区块,并有一个或多个子区块),还可以是如图3所示的具有有向无环图型结构的区块链(该区块链中存在至少一个区块具有一个或多个父区块)。
以下将对本发明实施例的区块链的生成方法进行详细阐述。
图4为本发明实施例提供的沿纵向拓展的区块链的生成方法流程图一,其中,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上。如图4所示,该区块链的生成方法包括如下步骤:
S410,对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同。
其中,所述的当前已形成的延展区块链是指截至当前时刻,延展区块链在整体上所呈现的区块链形态。当达到一次数据快照的触发条件后,对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链。
这里需要说明的是,本实施例中的数据快照的过程是对快照对象的内容进行部分复制和/或,整体复制和/或修改的操作。该操作仅用于,使数据快照后生成的快照结果区块链与快照对象区块链中各区块的区块体数据对应相同,并且各区块间的链接关系对应相同。这里将快照对象区块链中各区块间的链接关系整体定义为第一链接关系,由于数据快照后,生成的快照结果区块链与对应的快照对象区块链中各区块间的链接关系相同,因此快照结果区块链中各区块间的链接关系也可整体定义为第一链接关系。所述区块间的链接关系,是指各区块之间存在的父子关系,该父子关系不要求必须通过区块中区块头数据中的散列值进行一致性验证。换言之,本实施例中的链接关系只是表达区块之间链接框架,而不作为规定区块之间一致性验证的定义范畴。
在具体应用中,上述数据快照的目的,就是使快照结果区块链与快照对象区块链在区块链的整体架构上是相同的,并且各区块中的区块体数据也是对应相同的,而区块头中的数据可能相同,也可能不同,甚至在快照结果区块链中,各区块的区块头中没有实质数据,这需要根据具体需求来确定。
由于后续步骤中,还要对快照结果区块链从新构建链接关系,为了降低后续计算各区块散列值的复杂度,默认在通过数据快照得到的快照结果区块链中各区块的区块头数据为空。由此可以认为,数据快照后得到的快照结果区块链是一个“不完整”的区块链,该区块链中各区块的区块头中,不包含能够验证区块链一致性的散列值。只有在快照结果区块链的各区块的区块头中增加了散列值,且这些散列值满足区块链的一致性验证要求,才认为是一个“完整”的区块链。
例如,图5示出了数据快照后,对应的快照对象区块链和快照结果区块链的形态图样例。从图中可以看出,快照对象区块链和快照结果区块链在整体形态架构上相同,两个区块链中的各区块间的链接关系(第一链接关系)对应相同,且区块中区块体数据对应相同,区块头数据不一定相同,甚至快照结果区块链中各区块的区头数据可以为空。
S420,以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系。
例如,图5中,以快照对象区块链中的区块A、区块B作为父区块,以快照结果区块链中,与父区块A对应的区块A1作为区块A的子区块;与父区块B对应的区块B1作为区块B的子区块,从而将快照对象区块链与快照结果区块链进行组合链接,并形成第二链接关系。所谓第二链接关系即快照对象区块链与快照结果区块链之间的所有链接关系的总称。如图6所示的区块链形态图,为将快照对象区块链与快照结果区块链进行组合链接后的区块链形态图。需要说明的是,所谓将快照对象区块链与快照结果区块链进行组合链接,仍只是确定两个区块链之间的链接关系,而不涉及区块链链接后的一致性验证,因此,组合链接后形成的区块链中,快照结果区块链中各区块的区块头数据仍是不限定的。
在图5和图6所示的区块链的形态图中,快照结果区块链中各区块的区块头数据不限定,因此图中以“区块头数据?”示出。
S430,按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。
例如,以图6中示出的区块链形态为例,按快照结果区块链中各区块的第一链接关系,以及快照结果区块链与快照对象区块链之间的第二链接关系,确定相应各区块之间的父子关系,然后根据父子关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成形态如图7所示的拓展后的区块链。
结合图7所示,这里所谓的“依次生成”是指先生成区块A1的散列值,该散列值为区块A1的父区块A中的所有数据经不可逆算法生成的固定长度的字符串,该散列值为明文进入区块链的存证和不可篡改提供了保证。在得到区块A1的散列值后,将其添加到区块A1的区块头中,构成区块A1的区块头数据a3,区块体数据a2和区块头数据a3共同构成了区块A1的完整数据;然后按区块之间的父子关系(由第一链接关系和第二链接关系确定),计算区块B1的散列值,该散列值包括两个,分别为区块B1的父区块A1中的所有数据经不可逆算法生成的固定长度的字符串,以及区块B1的父区块B中的所有数据经不可逆算法生成的固定长度的字符串,将这两个散列值分别添加到区块B1的区块头中,构成区块B1的区块头数据b3,区块体数据b2和区块头数据b3共同构成了区块B1的完整数据。在根据上述方法,依次计算完成所有快照结果区块链中各区块的区块头数据后,所形成的整体区块链记为拓展后的区块链。该拓展后的区块链中,将快照结果区块链作为后续的延展区块链,将快照对象区块链作为非延展区块链。
其中,上述的不可逆算法可以为定长计算(哈希(Hash))算法,相应的,经不可逆算法得到的字符串可以为哈希值。
其中,在上述形成快照结果区块链中各区块的区块体数据时,忽略了区块头数据中可能存在的其他控制数据,如果区块的区块头中存在该控制数据,可将其与计算的散列值一起作为当前区块的区块头数据。
本实施例的主要思想是要在保证延展区块链的整体架构以及区块链中各区块的区块体数据不变的基础上,对延展区块链的延展方式进行调整,即在每次进行数据快照后,都产生出一条新的延展区块链。此时,对应的快照对象区块链就完整记录了相应时刻下的延展区块链的整体形态。当然,也可以通过改变快照结果区块链中各区块的区块头数据,如增加统一的时间标签,来记录数据快照时刻延展区块链的整体形态。
本发明实施例的沿纵向拓展的区块链的生成方法,通过对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,该快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链,从而在整体上以区块链的形式保存当前区块链在各个阶段的历史形态。
实施例二
图8为本发明实施例提供的沿纵向拓展的区块链的生成方法流程图二,该方法可视为图4所示方法实施例的具体实现方式。如图8所示,上述区块链的生成方法包括如下步骤:
S810,对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同。步骤S810与步骤S410的内容相似。
这里再次说明,本发明实施例中的数据快照操作,旨在保证数据快照后生成的快照结果区块链与快照对象区块链中各区块的区块体数据对应相同,并且各区块间的第一链接关系对应相同。数据快照过程可以包括对快照对象的内容进行部分复制和/或,整体复制和/或修改的操作。根据实际需求,可以灵活运用这些操作来生成区块内容不完全相同的快照结果区块链。
如图9所示,本实施例示出了一种对当前已形成的延展区块链进行数据快照的具体实现方法,该方法通过在形成的快照结果区块链中各区块的区块头中增加信息的方式,来突出体现延展区块链在进行数据快照时的整体形态。如图9所示,该数据快照方法包括:
S910,对快照对象区块链中各区块的区块体数据以及各区块之间的第一链接关系进行复制,并根据复制内容搭建区块链架构。
例如,以图5中所示的快照对象区块链为例,对区块A和区块B中的区块体数据以及第一链接关系进行复制,并以复制的区块体数据构件不包含区块头数据的区块,然后将这些区块按照第一链接关系搭建区块链架构。
S920,向搭建好的区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成快照结果区块链。
其中,上述标签信息中可以包括针对本次数据快照的时间信息、区块的存储位置信息等。
如图10中,示出了根据上述步骤搭建的区块链架构,其中,区块链架构中各区块的区块体数据与快照对象区块链中各区块的区块体数据对应相同,且在区块头数据中添加了针对本次数据快照的标签信息,各区块的区块头中的标签信息可以相同,也可以不同。
S820,以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系;
S830,按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。
步骤S820~S830的内容与步骤S420~S430的内容对应相同。
在步骤S830之后,还可继续执行步骤S840,以拓展后的区块链中快照结果区块链作为延展区块链进行区块链延展。
需要说明的是,本实施例中进行数据快照操作和进行区块延展的操作均是以延展区块链作为操作对象。
例如,如图11所示,为对延展区块链进行延展过程中,多次发生数据快照的过程示意图。如图中所示,展示了4个状态下的区块链的形态图:
T1时刻状态:该状态为区块链的初始状态,图中仅包括一个由区块A构成的延展区块链;
T2时刻状态:该状态下,原延展区块链已完成了第一次数据快照,生成了由区块A1构成的快照结果区块链,该快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块B;
T3时刻状态:该状态下,延展区块链完成了第二次数据快照,生成了由区块A2和区块B1构成的快照结果区块链,该快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块C和区块D;
T4时刻状态:该状态下,延展区块链完成了第三次数据快照,生成了由区块A3、区块B2、区块C1和区块D1构成的快照结果区块链,该快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块E。
本发明实施例的沿纵向拓展的区块链的生成方法,在图4所示方法的基础上,对数据快照的过程进行了具体说明,通过在快照结果区块链的各区块的区块头增加标签信息,从而更加清楚的显示各历史时刻对应的延展区块链的形态。进一步地,在各次生成快照结果区块链之后,以快照结果区块链作为延展区块链进行区块延展,保持了真实区块链的延展形态。
进一步地,本发明实施例还提供了一种区块链组合生成方法,其中,该区块链由一个延展区块链构成,或者由一个或多个延展区块链,和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在一个所述延展区块链上。该区块链的组合生成方法包括:
在对当前已形成的各延展区块链进行区块延展过程中,针对每个延展区块链,采用如图4或图8所示的区块链的生成方法,生成至少一个快照结果区块链,原延展区块链记为快照对象区块链,并以各快照结果区块链作为延展区块链各自进行区块延展,将快照对象区块链记为非延展区块链。
其中,所述的生成至少一个快照结果区块链,可以是在不同的时刻,多次对当前已形成的延展区块链进行数据快照,每次生成一个快照结果区块链,也可以是单次进行数据快照时,一次生成多个快照结果区块链,也可以是这两种方式的组合方式。如图11中所示,可视为第一种形式的数据快照,即在不同的时刻,多次对当前已形成的延展区块链进行数据快照,每次生成一个快照结果区块链。如图12中所示,可视为第二种形式的数据快照,即在单次进行数据快照时,一次生成多个快照结果区块链(图12中为两个),然后以各快照结果区块链作为延展区块链各自进行区块延展,即在T2时刻形成两个分别由区块A1和区块B构成的当前的延展区块链。
本实施例中提供的区块链的组合生成方法,在图4或图8所示的方法基础上,拓展了最终形成的组合区块链的结构形式,从而满足更为复杂的针对区块体数据的组织需求。
实施例三
图13为本发明实施例提供的沿纵向拓展的区块链的生成系统示意图一,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上。图13所示的区块链的生成系统可以用于执行如图4所示的方法步骤。如图13所示,该区块链的生成系统包括:数据快照模块131、组合链接模块132和区块链生成模块133,其中:
数据快照模块131,用于对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;组合链接模块132,用于以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系;区块链生成模块133,用于按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。
本发明实施例的沿纵向拓展的区块链的生成系统,通过对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,该快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;以快照对象区块链中的各区块作为父区块,以快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链,从而在整体上以区块链的形式保存当前区块链在各个阶段的历史形态。
实施例四
本发明实施例对图13所示系统实施例进行了结构和功能的细化,细化后的结构可用于执行如图8所示的方法步骤。具体地,在图13所示结构的基础上:
如图14所示,上述数据快照模块131具体可包括:
架构搭建单元141,用于对快照对象区块链中各区块的区块体数据以及各区块之间的第一链接关系进行复制,并根据复制内容搭建区块链架构;
信息添加单元142,用于向搭建好的所述区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成所述快照结果区块链。
上述数据快照模块131可具体用于执行图9所示的方法步骤。
进一步地,在图13所示系统结构的基础上,如图15所示,上述生成系统还可包括:区块延展模块134,用于以拓展后的区块链中快照结果区块链作为延展区块链进行区块链延展。
进一步地,上述区块链生成模块133可具体用于,按照第一链接关系和第二链接关系,依次对快照结果区块链中的各个区块进行如下操作:将该区块的各父区块的区块头数据和区块体数据分别经不可逆算法生成固定长度的字符串作为散列值,添加到该区块的区块头中。
进一步地,上述标签信息可包括:时间信息和/或存储位置信息。
进一步地,上述不可逆算法为哈希算法。
进一步地,上述固定长度的字符串为哈希值。
本发明实施例的沿纵向拓展的区块链的生成系统,在图13所示实施例的基础上,对数据快照的过程进行了具体说明,通过在快照结果区块链的各区块的区块头增加标签信息,从而更加清楚的显示各历史时刻对应的延展区块链的形态。进一步地,在各次生成快照结果区块链之后,以快照结果区块链作为延展区块链进行区块延展,保持了真实区块链的延展形态。
进一步地,本发明实施例还提供了一种区块链的组合生成系统,其中,该区块链由一个延展区块链构成,或者由一个或多个延展区块链,和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在一个所述延展区块链上。该区块链的组合生成系统包括:如图13-图15中任一种的区块链的生成系统;所述组合生成系统用于,在对当前已形成的各延展区块链进行区块延展过程中,针对每个延展区块链,采用如图13-图15中任一种的区块链的生成系统,生成至少一个快照结果区块链,原延展区块链记为快照对象区块链,并以各快照结果区块链作为延展区块链各自进行区块延展,将快照对象区块链记为非延展区块链。
上述区块链的组合生成系统,在图13-图15所示的生成系统的功能的基础上,拓展了最终形成的组合区块链的结构形式,从而满足更为复杂的针对区块体数据的组织需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种沿纵向拓展的区块链的生成方法,其特征在于,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上;
所述生成方法包括:
对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链,原所述延展区块链记为快照对象区块链,所述快照结果区块链中各区块间的链接关系与所述快照对象区块链中各区块间的第一链接关系相同,并且区块中区块体数据的内容对应相同;
以所述快照对象区块链中的各区块作为父区块,以所述快照结果区块链中与各所述父区块对应的各区块作为子区块,将所述快照对象区块链与所述快照结果区块链进行组合链接,形成第二链接关系;
按照所述第一链接关系和所述第二链接关系,依次生成所述快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将所述拓展后的区块链中所述快照结果区块链记为所述延展区块链,将所述快照对象区块链记为非延展区块链。
2.根据权利要求1所述的生成方法,其特征在于,所述对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链包括:
对所述快照对象区块链中各区块的区块体数据以及各区块之间的所述第一链接关系进行复制,并根据复制内容搭建区块链架构;
向搭建好的所述区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成所述快照结果区块链。
3.根据权利要求1或2所述的生成方法,其特征在于,所述方法还包括:
以所述拓展后的区块链中所述快照结果区块链作为所述延展区块链进行区块链延展。
4.根据权利要求1所述的生成方法,其特征在于,所述按照所述第一链接关系和所述第二链接关系,依次生成所述快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中包括:
按照所述第一链接关系和所述第二链接关系,依次对所述快照结果区块链中的各个区块进行如下操作:将该区块的各父区块的区块头数据和区块体数据分别经不可逆算法生成固定长度的字符串作为散列值,添加到该区块的区块头中。
5.根据权利要求4所述的生成方法,其特征在于,所述不可逆算法为哈希算法。
6.根据权利要求5所述的生成方法,其特征在于,所述固定长度的字符串为哈希值。
7.一种区块链的组合生成方法,其特征在于,所述区块链由一个延展区块链构成,或者由多个延展区块链,和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在一个所述延展区块链上;
所述组合生成方法包括:
在对当前已形成的各所述延展区块链进行区块延展过程中,针对每个所述延展区块链,采用如权利要求1-6中任一种所述的生成方法,生成至少一个所述快照结果区块链,原所述延展区块链记为快照对象区块链,并以各所述快照结果区块链作为所述延展区块链各自进行区块延展,将所述快照对象区块链记为非延展区块链。
8.一种沿纵向拓展的区块链的生成系统,其特征在于,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上;
所述生成系统包括:
数据快照模块,用于对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链,原所述延展区块链记为快照对象区块链,所述快照结果区块链中各区块间的链接关系与所述快照对象区块链中各区块间的第一链接关系相同,并且区块中区块体数据的内容对应相同;
组合链接模块,用于以所述快照对象区块链中的各区块作为父区块,以所述快照结果区块链中与各所述父区块对应的各区块作为子区块,将所述快照对象区块链与所述快照结果区块链进行组合链接,形成第二链接关系;
区块链生成模块,用于按照所述第一链接关系和所述第二链接关系,依次生成所述快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将所述拓展后的区块链中所述快照结果区块链记为所述延展区块链,将所述快照对象区块链记为非延展区块链。
9.根据权利要求8所述的生成系统,其特征在于,所述数据快照模块具体包括:
架构搭建单元,用于对所述快照对象区块链中各区块的区块体数据以及各区块之间的所述第一链接关系进行复制,并根据复制内容搭建区块链架构;
信息添加单元,用于向搭建好的所述区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成所述快照结果区块链。
10.根据权利要求8或9所述的生成系统,其特征在于,所述生成系统还包括:
区块延展模块,用于以所述拓展后的区块链中所述快照结果区块链作为所述延展区块链进行区块链延展。
11.根据权利要求8所述的生成系统,其特征在于,所述区块链生成模块具体用于,
按照所述第一链接关系和所述第二链接关系,依次对所述快照结果区块链中的各个区块进行如下操作:将该区块的各父区块的区块头数据和区块体数据分别经不可逆算法生成固定长度的字符串作为散列值,添加到该区块的区块头中。
12.根据权利要求11所述的生成系统,其特征在于,所述不可逆算法为哈希算法。
13.根据权利要求12所述的生成系统,其特征在于,所述固定长度的字符串为哈希值。
14.一种区块链的组合生成系统,其特征在于,所述区块链由一个延展区块链构成,或者由多个延展区块链,和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在一个所述延展区块链上;
所述组合生成系统包括:如权利要求8-13中任一项所述的区块链的生成系统;
所述组合生成系统用于,在对当前已形成的所述延展区块链进行区块延展过程中,针对每个所述延展区块链,采用所述区块链的生成系统,生成至少一个所述快照结果区块链,原所述延展区块链记为快照对象区块链,并以各所述快照结果区块链作为所述延展区块链各自进行区块延展,将所述快照对象区块链记为非延展区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247834.8A CN107066495B (zh) | 2016-12-29 | 2016-12-29 | 沿纵向拓展的区块链的生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247834.8A CN107066495B (zh) | 2016-12-29 | 2016-12-29 | 沿纵向拓展的区块链的生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066495A CN107066495A (zh) | 2017-08-18 |
CN107066495B true CN107066495B (zh) | 2020-04-21 |
Family
ID=59624567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611247834.8A Expired - Fee Related CN107066495B (zh) | 2016-12-29 | 2016-12-29 | 沿纵向拓展的区块链的生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107066495B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509149A (zh) * | 2018-02-09 | 2018-09-07 | 北京欧链科技有限公司 | 区块链中的数据处理方法和装置 |
CN108510254B (zh) * | 2018-02-09 | 2020-11-20 | 北京欧链科技有限公司 | 链式双向区块链结构、数据处理方法和装置 |
CN108470039A (zh) * | 2018-02-09 | 2018-08-31 | 北京欧链科技有限公司 | 区块链中的数据处理方法和装置 |
CN108494706A (zh) * | 2018-02-09 | 2018-09-04 | 北京欧链科技有限公司 | 区块链中的数据处理方法和装置 |
CN110799966A (zh) * | 2018-04-22 | 2020-02-14 | 因特比有限公司 | 用于使用现有区块链节点来托管新区块链的方法和系统 |
CN110515543B (zh) * | 2019-08-02 | 2021-02-19 | 星辰天合(北京)数据科技有限公司 | 基于对象存储桶的快照方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916261A (zh) * | 2010-07-28 | 2010-12-15 | 北京播思软件技术有限公司 | 一种分布式并行数据库系统的数据分区方法 |
CN105608146A (zh) * | 2015-12-17 | 2016-05-25 | 布比(北京)网络技术有限公司 | 一种区块链溯源追踪方法 |
CN105678151A (zh) * | 2016-03-04 | 2016-06-15 | 邓迪 | 构建可信节点/卫星节点的区块链传输方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
-
2016
- 2016-12-29 CN CN201611247834.8A patent/CN107066495B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916261A (zh) * | 2010-07-28 | 2010-12-15 | 北京播思软件技术有限公司 | 一种分布式并行数据库系统的数据分区方法 |
CN105608146A (zh) * | 2015-12-17 | 2016-05-25 | 布比(北京)网络技术有限公司 | 一种区块链溯源追踪方法 |
CN105678151A (zh) * | 2016-03-04 | 2016-06-15 | 邓迪 | 构建可信节点/卫星节点的区块链传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107066495A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909605B (zh) | 沿横向拓展的区块链的生成方法及系统 | |
CN107066495B (zh) | 沿纵向拓展的区块链的生成方法及系统 | |
CN106897352B (zh) | 在拓展中进行修改的区块链的生成方法及系统 | |
CN106844523B (zh) | 顺序型多维拓展的区块链的生成方法及系统 | |
CN106897353B (zh) | 中心型多维拓展的区块链的生成方法及系统 | |
CN106897351B (zh) | 有向无环图型区块链的生成方法及系统 | |
CN106815330B (zh) | 沿空间维度拓展的区块链的生成方法及系统 | |
KR101691454B1 (ko) | 그래프에 의해 모델링되는 어셈블리의 설계 | |
CN109274754A (zh) | 用于在区块链网络中同步数据的方法、设备和存储介质 | |
CN108462582B (zh) | 区块链中的反馈处理方法和装置 | |
Kalenkova et al. | Process model discovery: A method based on transition system decomposition | |
CN107463597B (zh) | 针对修改区块体数据的区块链的被动验证方法及系统 | |
CN107391557B (zh) | 针对设置链外勘误表的区块链串行查询方法及系统 | |
CN103259718A (zh) | 一种流表转换方法和装置 | |
WO2021047541A1 (zh) | 一种区块链内获取交易依赖关系的方法及装置 | |
CN110704438B (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
CN107391292B (zh) | 针对保持区块体数据实现勘误的区块链验证方法及系统 | |
CN109492049A (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
CN107463596B (zh) | 针对设置链外勘误表的区块链并行查询方法及系统 | |
CN108469953A (zh) | 一种页面表单的生成方法、服务器及存储介质 | |
CN107451177B (zh) | 针对增加区块的单个勘误的区块链的查询方法及系统 | |
CN109739684A (zh) | 基于向量时钟的分布式键值数据库的副本修复方法与装置 | |
JP5514143B2 (ja) | テストデータ生成装置及び方法 | |
CN107451002B (zh) | 针对修改区块体数据的区块链的主动验证方法及系统 | |
WO2016177075A1 (zh) | 一种业务数据关联关系校验方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200421 |