首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 有向无环图型区块链的生成方法及系统

有向无环图型链的生成方法及系统

阅读:143发布:2020-12-09

专利汇可以提供有向无环图型链的生成方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种有向无环图型 区 块 链 的生成方法及系统,属于区块链技术领域,方法包括:收集来自信息源的信息并打包形成新区块的第一区块体数据;在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块;将已确定的所述父区块中的区块体数据和 区块头 数据经不可逆 算法 生成固定长度的字符串,添加到所述新区块的区块头中;循环执行以上操作以形成如下形态的区块链:所述区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。本发明实施例的方案,旨在现有区块链的 基础 上,在任意至少两个区块的后端衍生出一个公共的子区块,以满足数据的复杂组织需求。,下面是有向无环图型链的生成方法及系统专利的具体信息内容。

1.一种有向无环图型链的生成方法,其特征在于,包括:
收集来自信息源的信息并打包形成新区块的第一区块体数据;
在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块;
将已确定的所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到所述新区块的区块头中;
循环执行以上操作以形成如下形态的区块链:所述区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
2.根据权利要求1所述的生成方法,其特征在于,在所述区块链中具有如下形态的区块单元中的任意一种或者两种:
区块单元由至少两个子区块和一个父区块构成;
区块单元由一个子区块和两个以上父区块构成;
其中,在上述区块单元中的每个子区块记为一个子创世区块,
所述子创世区块的第三区块体数据与该子创世区块所在的子区块链中区块的区块体数据具有相同的类别。
3.根据权利要求2所述的生成方法,其特征在于,所述在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块包括:
将所述第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对,将如下区块确定为所述新区块的父区块:
与所述第一区块体数据具有业务关联性的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块;
和/或,
能够作为该所述第一区块体数据的上位数据的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块。
4.根据权利要求3所述的生成方法,其特征在于,在各所述区块的区块头数据中还包括:根据当前区块的区块体数据的内容所形成的类别信息;
所述将所述第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对包括:
将根据所述第一区块体数据的内容所形成的所述类别信息,与根据所述第三区块体数据的内容所形成的所述类别信息进行比对。
5.根据权利要求3所述的生成方法,其特征在于,
所述第三区块体数据包括针对该子创世区块所在的子区块链中各区块的区块体数据的内容类别信息;
所述将所述第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对包括:
将所述第一区块体数据与所述第三区块体数据中的内容类别信息进行比对。
6.根据权利要求1所述的生成方法,其特征在于,所述将已确定的所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到所述新区块的区块头中包括:
以区块为单位,对各所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,并分别添加到所述新区块的区块头中。
7.根据权利要求1所述的生成方法,其特征在于,所述不可逆算法为哈希算法
8.根据权利要求7所述的生成方法,其特征在于,所述固定长度的字符串为哈希值。
9.一种有向无环图型区块链的生成系统,其特征在于,包括:
第一数据生成模块,用于收集来自信息源的信息并打包形成新区块的第一区块体数据;
区块选取模块,用于在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块;
第二数据生成模块,用于将已确定的所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到所述新区块的区块头中;
所述生成系统循环执行以上操作以形成如下形态的区块链:所述区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
10.根据权利要求9所述的生成系统,其特征在于,在所述区块链中具有如下形态的区块单元中的任意一种或者两种:
区块单元由至少两个子区块和一个父区块构成;
区块单元由一个子区块和两个以上父区块构成;
其中,在上述区块单元中的每个子区块记为一个子创世区块,
所述子创世区块的第三区块体数据与该子创世区块所在的子区块链中区块的区块体数据具有相同的类别。
11.根据权利要求10所述的生成系统,其特征在于,所述区块选取模块具体用于:将所述第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对,将如下区块确定为所述新区块的父区块:
与所述第一区块体数据具有业务关联性的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块;
和/或,
能够作为该所述第一区块体数据的上位数据的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块。
12.根据权利要求11所述的生成系统,其特征在于,在各所述区块的区块头数据中还包括:根据当前区块的区块体数据的内容所形成的类别信息;
所述区块选取模块具体还用于,将根据所述第一区块体数据的内容所形成的所述类别信息,与根据所述第三区块体数据的内容所形成的所述类别信息进行比对。
13.根据权利要求11所述的生成系统,其特征在于,所述第三区块体数据包括针对该子创世区块所在的子区块链中各区块的区块体数据的内容类别信息;
所述区块选取模块具体还用于,将所述第一区块体数据与所述第三区块体数据中的内容类别信息进行比对。
14.根据权利要求9所述的生成系统,其特征在于,所述第二数据生成模块还用于,以区块为单位,对各所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,并分别添加到所述新区块的区块头中。
15.根据权利要求9所述的生成系统,其特征在于,所述不可逆算法为哈希算法。
16.根据权利要求15所述的生成系统,其特征在于,所述固定长度的字符串为哈希值。

说明书全文

有向无环图型链的生成方法及系统

技术领域

[0001] 本发明实施例属于区块链技术领域,尤其涉及一种有向无环图型区块链的生成方法及系统。

背景技术

[0002] 随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个系统之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。
[0003] 当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。
[0004] 发明人在实现本发明的过程中,发现现有技术存在如下缺陷
[0005] 由于各商业领域所要组织和管理的数据的多样性,例如数据内容庞大,数据分类复杂,数据之间逻辑关系复杂等,而传统的区块链技术是以链式的方式来组织数据的,这种方式的区块链的容量过小、区块链的增量数据容量过小、数据之间的逻辑表达过于简单,因此现有区块链不能满足对上述多样性的数据进行组织和管理的需求。

发明内容

[0006] 本发明实施例提供一种有向无环图型区块链的生成方法及系统,旨在现有区块链的基础上,在任意至少两个区块的后端衍生出一个公共的子区块,以满足数据的复杂组织需求。
[0007] 为达到上述目的,本发明实施例提供了一种有向无环图型区块链的生成方法,包括:收集来自信息源的信息并打包形成新区块的第一区块体数据;在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块;将已确定的所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到所述新区块的区块头中;循环执行以上操作以形成如下形态的区块链:所述区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
[0008] 本发明实施例提供了一种有向无环图型区块链的生成系统,包括:第一数据生成模块,用于收集来自信息源的信息并打包形成新区块的第一区块体数据;区块选取模块,用于在当前已形成的区块链上,选取至少一个区块作为所述新区块的父区块;第二数据生成模块,用于将已确定的所述父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到所述新区块的区块头中;所述生成系统循环执行以上操作以形成如下形态的区块链:所述区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
[0009] 本发明实施例的有向无环图型区块链的生成方法及系统,在当前已形成的区块链上,选取至少一个区块作为新区块的父区块,生成具有如下形态的区块链:区块链整体上呈有向无环图型图结构,且至少一个区块具有两个以上的父区块,从而形成“一子多父”的区块链结构,以满足需要通过有向无环图型结构的形式组织数据的需求。
[0010] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明
[0011] 图1a为本发明实施例提供的区块单元的形态图一;
[0012] 图1b为本发明实施例提供的区块单元的形态图二;
[0013] 图2a为本发明实施例提供的区块链的形态图一;
[0014] 图2b为本发明实施例提供的区块链的形态图二;
[0015] 图2c为本发明实施例提供的区块链的形态图三;
[0016] 图2d为本发明实施例提供的区块链的形态图四;
[0017] 图2e为本发明实施例提供的区块链的形态图五;
[0018] 图3为本发明实施例提供的有向无环图型区块链的生成方法流程图一;
[0019] 图4为本发明实施例提供的区块链的形态图六;
[0020] 图5为本发明实施例提供的有向无环图型区块链的生成方法流程图二;
[0021] 图6为本发明实施例提供的区块链的形态图七;
[0022] 图7为本发明实施例提供的区块链的形态图八;
[0023] 图8为本发明实施例提供的有向无环图型区块链的生成系统的结构示意图。

具体实施方式

[0024] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025] 实施例一
[0026] 在介绍本发明实施例的内容之前,先对以下名词进行解释:
[0027] 子创世区块:在具有如下形态的区块单元中,将区块单元中的子区块记为一个子创世区块;
[0028] 区块单元由至少两个子区块和一个父区块构成;
[0029] 区块单元由一个子区块和两个以上父区块构成。
[0030] 举例说明,如图1a所示,上述区块单元可包括两个子区块:区块B和区块C,以及一个父区块:区块A,则在该区块单元中,将区块B和区块C分别记为一个子创世区块。又例如图1b所示,上述区块单元可包括一个子区块:区块C,以及两个父区块:区块A和区块B,则在该区块单元中,将区块C记为一个子创世区块。
[0031] 子区块链:包括两类,一类是基本子区块链,一类是嵌套子区块链,其中:
[0032] 基本子区块链,为仅包括一个子创世区块,并且起始于该子创世区块,并结束于一个末端区块(该末端区块可以为起始的子创世区块本身,如果末端区块为另一个子创世区块,则结束于该末端区块的前一个非子创世区块)的区块链;
[0033] 举例说明,如图2a所示,子区块链1为以区块B1作为子创世区块的子区块链,子区块链2为以区块B2作为子创世区块的子区块链;
[0034] 又例如图2b、2c、2d中各子区块链均对应相同,即子区块链1为以区块B1作为子创世区块的子区块链;子区块链2为以区块B2作为子创世区块的子区块链;子区块链3为以区块C作为子创世区块的子区块链;而不同之处仅是区块C的两个父区块对应不同。
[0035] 又例如图2e所示,子区块链1为以区块B1作为子创世区块的子区块链;子区块链2为以区块B2作为子创世区块的子区块链;
[0036] 嵌套子区块链,为在上述任一种基本子区块链中再嵌套包含至少一种基本子区块链而组成的子区块链,也可以是以该方式经多层嵌套包含后产生的子区块链。
[0037] 举例说明,如图2a至2e中,当区块A为一个区块链中的子创世区块时,图2a至图2e,从整体上也可分别视为一个子区块链。
[0038] 以下各实施例中如没有特殊说明,则默认提及的子区块链,均为基本子区块链。
[0039] 首先需要说明的是,本发明实施例将提供一种有向无环图型区块链的生成方法,以生成具有“一子多父”的有向无环图型的区块链结构。通过在当前已形成的区块链上,选取至少一个区块作为新区块的父区块,将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中,完成一次新区块的生成过程。循环执行该操作过程,以得到整体上呈有向无环图型的区块链结构。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。
[0040] 其次需要说明的是,本发明实施例中的区块链中各区块的区块体数据记载的交易数据的信息不局限于商业中的“账本”或“金融交易”的信息,也可以广义的理解为是需要通过区块链这种数据组织形式管理的多样化的对象数据,如针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等。在对这些数据进行组织和管理的过程中,可能会出现在至少两个区块之后,出现一个公共的子区块,并且以该子区块作为子创世区块延展出多个子区块链,例如,当新生成的区块的区块体数据与当前已形成的区块链中至少两个区块中的区块体数据存在业务关联性时,可以这两个区块作为父区块向后延展出一个公共子区块,该子区块还可进一步作为一个创世子区块继续延展形成一个子区块链,该子区块链中各区块的区块体数据,均与位于该子区块链中最前面的创世子区块的两个父区块中的区块体数据存在业务关联性。
[0041] 以下将对本发明实施例的区块链的生成方法进行详细阐述。
[0042] 图3为本发明实施例提供的有向无环图型区块链的生成方法流程图一。如图3所示,该区块链的生成方法包括如下步骤:
[0043] S310,收集来自信息源的信息并打包形成新区块的第一区块体数据。
[0044] 其中,所述的第一区块体数据为每次生成的新区块中的区块体数据。
[0045] 具体地,从存储区块链备用数据的信息源处,收集相关信息并汇总,其中,所述信息可以是针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等;将汇总的信息按区块体数据的数据格式进行处理打包,以形成新区块的第一区块体数据。其中,数据格式可以包括内容格式,例如每条数据可以按照:“时间+数据id+数据内容”的格式进行打包,也可以包括类型格式,即数据内容为同一类型的打包在一起形成一个区块体数据。
[0046] S320,在当前已形成的区块链上,选取至少一个区块作为新区块的父区块。
[0047] 传统的区块链结构只包含一个链,每次新生成的区块只能以当前已形成的区块链中的最末端的区块作为父区块,完成区块链的延展。本方案中与现有技术的不同之处,是在当前已形成的区块链上,任意选取至少一个区块(不只局限于当前已形成的区块链中的末端区块)作为新区块的父区块,使得在任意至少两个区块的后面均有可能产生新的子区块链。
[0048] 在当前已形成的区块链上选取新区块的父区块时,可以参考新区块中第一区块体数据的内容以及区块链上,各区块的区块体数据的内容的相关度,或者根据数据组织的需要来选取父区块。
[0049] S330,将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中。
[0050] 具体地,根据区块链的区块验证原则,对选取出的父区块中的全部数据,包括区块头数据和区块体数据进行不可逆算法的计算,得到具有固定长度的字符串结果。采用不可逆算法为明文进入区块链的存证和不可篡改提供了保证,该不可逆算法可以为定长计算(哈希(Hash))算法,相应的,经不可逆算法得到的字符串可以为哈希值,且将上述具有固定长度的字符串结果添加到新区块的区块头中。
[0051] 在具体应用场景中,当被确定为新区块的父区块的个数大于一个时,可以以区块为单位,对各父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,并分别添加到新区块的区块头中。因此,当采用哈希算法计算新区块的父区块中所有数据对应的哈希值时,新区块的区块头中自然也会包含多个哈希值。
[0052] S340,循环执行以上操作以形成如下形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
[0053] 上述步骤S310~S330为单次生成新区块过程,该过程为形成图1b所述的区块单元提供了可能性和实现基础。在循环执行步骤S310~S330的操作,即连续多次生成新区块之后,可以形成如图4所示形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。每个区块也可以有至少一个子区块。
[0054] 图4中,各区块内的数据结构包括两部分:区块头中的数据(区块头数据)和区块体中的数据(区块体数据),其中,区块头数据包括上一个或多个区块的散列值(如上一个或多个区块各自的全部数据经不可逆算法计算得到的具有固定长度的字符串,如哈希值)和其他控制信息(可自定义),其中只有创世区块较为特殊,由于其没有父区块,其区块头中没有上一个或多个区块的散列值;区块体数据可以为以Merkle Tree方式组织起来的交易数据的信息,该交易数据的信息从广义上讲可以为上述针对企业进行管理的企业管理数据,或针对项目进行进展跟踪的项目进程管理数据等。
[0055] 本发明实施例的有向无环图型区块链的生成方法,通过收集来自信息源的信息并打包形成新区块的第一区块体数据;在当前已形成的区块链上,选取至少一个区块作为新区块的父区块;将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中,完成单次的新区块的生成过程;循环执行以上操作以形成如下形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块,从而形成具有“一子多父”的有向无环图型的区块链结构。该有向无环图型的区块链为需要通过子区块链方式组织数据提供了可行的实现方案,并且这种有向无环图型区块链,可以组织和管理内容庞大,分类复杂,数据之间逻辑关系复杂的数据,弥补了现有区块链不能满足对多样性的数据进行组织和管理的需求。
[0056] 实施例二
[0057] 在当前已形成的区块链中,或者通过反复执行图3所示的方法步骤而形成的有向无环图型区块链中,可以具有如下形态的区块单元中的任意一种或者两种:
[0058] 区块单元由至少两个子区块和一个父区块构成,即对应如图1a所示的区块单元;
[0059] 区块单元由一个子区块和两个以上父区块构成,即对应如图1b所示的区块单元;
[0060] 其中,在上述区块单元中的每个子区块记为一个子创世区块,该子创世区块的第三区块体数据与该子创世区块所在的子区块链中区块的区块体数据具有相同的类别。
[0061] 其中,所述的第三区块体数据,定义为在当前已形成的区块链中,任一子创世区块中的区块体数据;子创世区块所在的子区块链可理解为,以该子创世区块作为起始区块而形成的子区块链。
[0062] 基于子创世区块,以及子区块链的概念,如图5所示,为本发明实施例提供的有向无环图型区块链的生成方法流程图二,该方法可视为图3所示方法实施例的具体实现方式。如图5所示,上述区块链的生成方法包括如下步骤:
[0063] S510,收集来自信息源的信息并打包形成新区块的第一区块体数据。步骤S510与步骤S310的内容相同。
[0064] S520,将第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对,选取至少一个区块作为新区块的父区块。步骤S520可视为步骤S320的细化步骤。
[0065] 在具体阐述本步骤的执行过程之前,先对区块链中各区块的区块体数据之间的关联性类型进行说明。
[0066] 在已形成的有向无环图型区块链中,两个相邻的父区块和子区块中的区块体数据其内容是关联的,子区块中记载的区块体数据内容可以为父区块中区块体数据的细化数据,或是父区块中区块体数据的延展数据(如对应区块中的区块体数据可依据时间进行区块的延展),又或是与父区块中区块体数据在业务上有关联性的数据。
[0067] 以图6为例,对两个相邻的父区块和子区块中的区块体数据的内容关联性进行解释如下:
[0068] 某一企业采用本实施例中呈有向无环图型结构的区块链对其分公司的业务进行数据组织管理,该企业以区块a0“集团”作为创世区块,“集团”下设立了区块b0“娱乐”、区块b1“餐饮”、区块b2“房地产”三个并列的行业子区块,在“娱乐”行业下进一步包括区块c0“游艺厅”和区块c1“网吧”两个具体经营项目。在该企业的数据管理中,“娱乐”可视为“游艺厅”和“网吧”的上位数据,“集团”可视为“娱乐”、“餐饮”、“房地产”的上位数据;而区块c4“项目竞标”、区块c5“项目融资”、区块c6“项目施工”可视为“房地产”类别下具有延展性的数据并存形式,可视为同类别数据。当然,如果针对某一上位数据的多个下位数据之间不存在细化分类的必要,那么也可将这几个下位数据对应的区块按数据间的延展关系形成单链条的区块链结构,此时,也可称这几个区块对应的区块体数据为同类别数据。
[0069] 在图6所示的区块链中,还存在一种不能用类别划分各区块中区块体数据之间关联性的情况,即由区块c1“网吧”、区块c3“餐厅”、区块d1“超市”形式的区块单元中,“网吧”和“餐厅”既不是“超市”的同类型数据,也不是“超市”的上位数据,但“超市”与“网吧”和“餐厅”之间都存在业务上的往来,如向“网吧”和“餐厅”提供如饮料、小吃等商品,这种关联性就需要业务关联性来进行划分。
[0070] 本实施例中所谓的业务关联性是指,两个对象数据之间,首先就内容类别上不为同类型的数据,其次,两个对象数据之间不具有彼此为上、下位数据的关系,最后,两个对象数据之间有着业务上的关联。
[0071] 如图6中所示,在有向无环图型结构的区块链中,包含了多个线条状的子区块链,而“房地产”、“游戏厅”、“网吧”、“超市”这些区块就是这些子区块链的创世区块,为了区别最原始的创世区块,可以将其称作为子创世区块。
[0072] 例如,区块c4至区块c6的区块体中包含了“房地产”对应的区块所在的子区块链的各种数据,在实际应用中,子创世区块中可以存储一些特殊数据,例如,针对“房地产”作为子创世区块所在的子区块链中各区块的区块体数据的整体说明等,当然,也可以将该子创世区块作为该子区块链中的一个普通区块来存储需要存储的数据。“游戏厅”和“网吧”对应的区块所在的子区块链中的区块用省略号进行示出。
[0073] 整个有向无环图型结构的区块链会随着实际的应用不断延展,延展存在两种情况,一种是继某一个子区块链进行延展,另一种是产生新的子创世区块,从而会形成新的子区块链。
[0074] 以上内容分别对各区块的区块体数据之为同类别关联、上下位数据关联以及业务关联分别进行了说明,同时,还重申了子区块链在实际应用中的概念。
[0075] 在此基础上,将第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对后,可将如下区块确定为新区块的父区块:
[0076] 与第一区块体数据具有业务关联性的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块。
[0077] 例如,以图6中,不包括区块d1“超市”在内的剩余区块所构成的区块链为当前已形成的区块链,当第一区块体数据为关于“超市”的相关数据时,可将与区块d1“超市”具有业务关联性的子创世区块c1“网吧”确定为区块d1“超市”的父区块,或者将子创世区块b1“餐饮”所在子区块链的末端的区块c3“餐厅”确定为区块d1“超市”的父区块;
[0078] 和/或,
[0079] 能够作为该第一区块体数据的上位数据的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块。
[0080] 例如,以图6中,不包括区块d1“超市”在内的剩余区块所构成的区块链为当前已形成的区块链,当第一区块体数据为关于“咖啡厅”的相关数据时,可将为“咖啡厅”的上位数据的“餐饮”所对应的子创世区块b1“餐饮”确定为区块c8“咖啡厅”的父区块,或者将子创世区块b1“餐饮”所在子区块链的末端的区块c3“餐厅”确定为区块c8“咖啡厅”的父区块。图7为将子创世区块b1“餐饮”和区块c3“餐厅”共同作为区块c8“咖啡厅”的父区块形成的区块链形态图。
[0081] 另外,为了方便第一区块体数据与第三区块体数据的相关度对比,可预先在形成每个区块的区块体数据后,将根据区块的区块体数据的内容所形成的类别信息作为控制信息存储在当前区块的区块头中。当将第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据的内容进行比对时,可直接将根据第一区块体数据的内容所形成的类别信息,与根据第三区块体数据的内容所形成的类别信息进行比对,从而确定与第一区块体数据为同类别或为其上位数据或与其存在业务关联性的第三区块体数据。然后按照上述方法选取出新区块的父区块。
[0082] 又或者,为了方便第一区块体数据与第三区块体数据的相关度对比,可预先在形成每个区块的区块体数据后,将根据区块的区块体数据的内容所形成的类别信息存储在当前区块的区块体中。当将第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据的内容进行比对时,可直接将第一区块体数据,与将根据第三区块体数据的内容所形成的类别信息进行比对,从而确定与第一区块体数据为同类别或为其上位数据或与其存在业务关联性的第三区块体数据。然后按照上述方法选取出新区块的父区块。
[0083] S530,将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中。
[0084] S540,循环执行以上操作以形成如下形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
[0085] 步骤S530~S540与步骤S330~S340的内容对应相同。
[0086] 本发明实施例的有向无环图型区块链的生成方法,在图3所示实施例的基础上,对如何在当前已形成的区块链上,选取至少一个区块作为新区块的父区块进行了步骤细化,具体通过新区块的第一区块体数据以及当前已形成的区块链中各子创世区块的第三区块体数据的内容的上下位关系,以及业务关联性进行父区块的选取,使得区块之间的逻辑关系更加合理和多样化。
[0087] 实施例三
[0088] 图8为本发明实施例提供的有向无环图型区块链的生成系统示意图一,可以用于执行如图3所示的方法步骤。如图8所示,该区块链的生成系统包括:第一数据生成模块810、区块选取模块820和第二数据生成模块830,其中:
[0089] 第一数据生成模块810,用于收集来自信息源的信息并打包形成新区块的第一区块体数据;区块选取模块820,用于在当前已形成的区块链上,选取至少一个区块作为新区块的父区块;第二数据生成模块830,用于将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中;上述生成系统循环执行以上操作以形成如下形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块。
[0090] 本发明实施例的区块链的生成系统,通过收集来自信息源的信息并打包形成新区块的第一区块体数据;在当前已形成的区块链上,选取至少一个区块作为新区块的父区块;将已确定的父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,添加到新区块的区块头中,完成单次的新区块的生成过程;循环执行以上操作以形成如下形态的区块链:区块链整体上呈有向无环图型结构,且至少一个区块具有两个以上的父区块,从而形成具有“一子多父”的有向无环图型的区块链结构。该有向无环图型的区块链为需要通过子区块链方式组织数据提供了可行的实现方案,并且这种有向无环图型区块链,可以组织和管理内容庞大,分类复杂,数据之间逻辑关系复杂的数据,弥补了现有区块链不能满足对多样性的数据进行组织和管理的需求。
[0091] 实施例四
[0092] 本实施例中主要是对图8所示的有向无环图型区块链的生成系统进行功能细化,以执行如图5所示的方法步骤。
[0093] 基于图8所示的区块链的生成系统的功能及结构,在当前已形成的区块链中具有如下形态的区块单元中的任意一种或者两种:
[0094] 区块单元由至少两个子区块和一个父区块构成;
[0095] 区块单元由一个子区块和两个以上父区块构成;
[0096] 其中,在上述区块单元中的每个子区块记为一个子创世区块,
[0097] 所述子创世区块的第三区块体数据与该子创世区块所在的子区块链中区块的区块体数据具有相同的类别。
[0098] 在此基础上,上述区块选取模块820具体用于:将第一区块体数据与当前已形成的区块链中各子创世区块的第三区块体数据进行比对,将如下区块确定为新区块的父区块:
[0099] 与第一区块体数据具有业务关联性的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块;
[0100] 和/或,
[0101] 能够作为该第一区块体数据的上位数据的第三区块体数据所对应的子创世区块,或者该子创世区块所在子区块链的末端的区块。
[0102] 进一步地,在上述各区块的区块头数据中还包括:根据当前区块的区块体数据的内容所形成的类别信息;
[0103] 在此基础上,区块选取模块820具体还用于,将根据第一区块体数据的内容所形成的类别信息,与将根据第三区块体数据的内容所形成的类别信息进行比对。
[0104] 进一步地,上述第三区块体数据包括针对该子创世区块所在的子区块链中各区块的区块体数据的内容类别信息;
[0105] 在此基础上,区块选取模块820具体还用于,将第一区块体数据与第三区块体数据中的内容类别信息进行比对。
[0106] 进一步地,上述第二数据生成模块830还用于,以区块为单位,对各父区块中的区块体数据和区块头数据经不可逆算法生成固定长度的字符串,并分别添加到新区块的区块头中。
[0107] 进一步地,不可逆算法为哈希算法。
[0108] 进一步地,固定长度的字符串为哈希值。
[0109] 本发明实施例的有向无环图型区块链的生成系统,在图8所示实施例的基础上,对区块选取模块如何在当前已形成的区块链上,选取至少一个区块作为新区块的父区块进行了功能细化,具体通过新区块的第一区块体数据以及当前已形成的区块链中各子创世区块的第三区块体数据的内容的上下位关系,以及业务关联性进行父区块的选取,使得区块之间的逻辑关系更加合理和多样化。
[0110] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0111] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈