一种区块链系统及其应用方法与流程

文档序号:15685145发布日期:2018-10-16 20:58阅读:191来源:国知局

本发明涉及数据处理技术领域,特别是涉及一种区块链系统及其应用方法。



背景技术:

随着大数据时代的到来,区块链系统得到了越来越广泛的应用。

目前,区块链系统通常包括有众多的存储节点。用户在利用区块链系统存储数据时,需要自己在众多的存储节点中选择出存储数据的存储节点。但是,由于存储节点众多,用户选择的存储节点可能并不能对数据进行有效存储。用户在发现所选择的存储节点并不能进行有效存储时,需要重新选择存储节点对数据进行存储。由此耗费了大量的时间。

可见,现有的方式,数据的存储的效率较低。



技术实现要素:

有鉴于此,本发明提出了一种区块链系统及其应用方法,主要目的在于可以提高数据的存储效率。

第一方面,本发明提供了一种区块链系统,该区块链系统包括:

至少一个路由节点以及至少一个存储节点;

每一个所述路由节点,分别用于在接收到数据时,在所述至少一个存储节点中确定出至少一个目标存储节点,将所述数据发送给所述至少一个目标存储节点;监控所述至少一个目标存储节点存储所述数据的存储情况,在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息;

每一个所述存储节点,分别用于在接收到所述路由节点发送的数据时,存储。

第二方面,本发明提供了一种区块链系统的应用方法,该应用方法包括:

利用区块链管理模块存储区块链;

在所述至少一个路由节点中的任一目标路由节点接收到外部输入的数据时,在对应的至少一个存储节点中确定出至少一个目标存储节点;

利用每一个所述目标存储节点分别存储所述数据;

所述目标路由节点在监控到所述至少一个目标存储节点完成存储所述数据时,向所述区块链管理模块发送数据存储任务信息;

利用所述区块链管理模块根据所述数据存储任务信息更新所述区块链。

第三方面,本发明提供了一种路由节点,该路由节点包括:

发送设备,用于在接收到数据时,在外部的至少一个存储节点中确定出至少一个目标存储节点,将所述数据发送给所述至少一个目标存储节点;

广播设备,用于监控所述至少一个目标存储节点存储所述数据的存储情况,在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息。

本发明实施例提供了一种区块链系统及其应用方法,该区块链系统包括设定数量个路由节点以及设定数量个存储节点。每一个路由节点分别用于在接收到数据时,可以在各个存储节点中确定出一个或多个目标存储节点,并将数据发送给各个目标存储节点。在每一个存储节点接收到路由节点发送数据时,存储接收到的数据。然后路由节点在监控到各个目标存储节点完成存储数据之后广播数据存储任务信息,以使部署有区块链程序的路由节点和/或存储节点利用数据存储任务信息更新区块链。通过上述可知,在本方案中区块链系统包括路由节点和存储节点,由路由节点安排存储节点对数据进行存储。由于路由节点可以对存储节点进行数据存储管控,因此,本发明提供的方案可以提高数据的存储效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明一个实施例提供的一种区块链系统的结构示意图;

图2示出了本发明一个实施例提供的一种包括存储处理模块的区块链系统的结构示意图;

图3示出了本发明一个实施例提供的一种包括确定模块的区块链系统的结构示意图;

图4示出了本发明一个实施例提供的一种包括用户节点的区块链系统的结构示意图;

图5示出了本发明一个实施例提供的一种区块链系统的应用方法的流程图;

图6示出了本发明一个实施例提供的一种路由节点的结构示意图;

图7示出了本发明一个实施例提供的一种包括提取设备的路由节点的结构示意图;

图8示出了本发明一个实施例提供的一种包括存储处理模块的路由节点的结构示意图;

图9示出了本发明一个实施例提供的一种包括确定模块的路由节点的结构示意图;

图10示出了本发明一个实施例提供的一种包括缓存模块的路由节点的结构示意图;

图11示出了本发明另一个实施例提供的一种区块链系统的应用方法的流程图。

具体实施方式

下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明实施例提供了一种区块链系统,该区块链系统包括:

至少一个路由节点101以及至少一个存储节点102;

每一个所述路由节点101,分别用于在接收到数据时,在所述至少一个存储节点102中确定出至少一个目标存储节点102,将所述数据发送给所述至少一个目标存储节点102;监控所述至少一个目标存储节点102存储所述数据的存储情况,在监控到所述至少一个目标存储节点102完成存储所述数据时,广播数据存储任务信息;

每一个所述存储节点102,分别用于在接收到所述路由节点101发送的数据时,存储。

根据图1所示的实施例,该区块链系统包括设定数量个路由节点以及设定数量个存储节点。每一个路由节点分别用于在接收到数据时,可以在各个存储节点中确定出一个或多个目标存储节点,并将数据发送给各个目标存储节点。在每一个存储节点接收到路由节点发送数据时,存储接收到的数据。然后路由节点在监控到各个目标存储节点完成存储数据之后广播数据存储任务信息,以使部署有区块链程序的路由节点和/或存储节点利用数据存储任务信息更新区块链。通过上述可知,在本方案中区块链系统包括路由节点和存储节点,由路由节点安排存储节点对数据进行存储。由于路由节点可以对存储节点进行数据存储管控,因此,本发明提供的方案可以提高数据的存储效率。

在本发明一个实施例中,区块链系统中可以多个节点,可以根据业务要求将多个节点中的部分节点确定为路由节点,并将多个节点中的部分确定为存储节点。

在本发明一个实施例中,每一个所述路由节点101,分别进一步用于在接收到数据提取指令时,在所述至少一个存储节点102中确定出与所述数据提取指令对应的至少一个存储节点102,并从确定出的至少一个存储节点102中提取与所述数据提取指令对应的数据;

每一个所述存储节点102,分别进一步用于在所述路由节点101提取所述数据提取指令对应的数据时,提供与所述数据提取指令对应的数据。

在本实施例中,数据提取指令中可以包括但不限于数据标识信息。

在本实施例中,在路由节点接收到数据提取指令时,比如可以根据数据提取指令中包括的数据标识信息在其各个存储节点内查找出存储有与该数据标识信息对应的数据的存储节点,并将查找出的各个存储节点均确定为目标存储节点。

在本实施例中,在路由节点确定出目标存储节点之后,访问各个目标存储节点,并从各个目标存储节点中提取与数据提取指令对应的数据。在路由节点提供数据之后,可以将提取到的数据直接提供给输入数据提取指令的用户,也可以先汇总从各个目标存储节点提供的数据,并将汇总之后得到的数据提供给输入数据提取指令的用户。

在本实施例中,每一个存储节点分别用于在路由节点提取数据时,可以先验证路由节点的身份。只有在验证路由节点的身份合法时,才向路由节点提供与数据提取指令对应的数据。

根据上述实施例,在路由节点接收到数据提取指令时,在存储节点中确定出与数据提取指令对应的至少一个存储节点,并在确定出的各个存储节点中提供与数据提取指令对应的数据。由于在提取数据时是通过路由节点从各个存储节点中提取数据的,降低了各个存储节点被外部设备访问的概率。因此,提高了各个存储节点的安全性。

在本发明一个实施例中,每一个所述路由节点101,分别用于以分布式哈希表dht的方式从确定出的至少一个存储节点102中提取与所述数据提取指令对应的数据。

根据上述实施例,由于路由节点以dht的方式从确定出的各个存储节点中提取与数据提取指令对应的数据的。因此可以准确且快速的提取出与数据提取指令对应的数据。

在本发明一个实施例中,路由节点广播的数据存储任务信息可以包括路由节点发放数据信息以及与所述路由节点发放数据信息对应的至少一个存储节点存储数据信息。

在本实施例中,路由节点发放数据信息中可以包括但不限于路由节点标识、至少一个存储节点标识(至少一个存储节点标识为接收路由节点发放数据的存储节点的标识)、数据标识、数据详细信息(比如,数据量、所有者等)。

在本实施例中,存储节点存储数据信息中可以包括但不限于存储节点标识、路由节点标识(发放数据的路由节点的标识)、数据标识(存储数据的标识)、数据详细信息(比如,存储的数据的数据量、存储的数据的所有者)。

在本实施例中,各个部署有区块链的节点根据数据存储任务信息更新区块链的过程可以为:获取当前区块链中位于最后一个的区块的块头。然后利用所获取的块头、路由节点发放数据信息以及各个存储数据信息,生成新的区块的块头以及区块体。将生成的块头以及区块体形成新的区块。将新的区块添加到当前区块链中位于最后一个的区块的后面,形成新的区块链。可见区块链可以对路由节点以及存储节点对于数据执行的存储活动进行有效的记录。

在本发明一个实施例中,区块链系统可以根据区块链确定每一个路由节点以及每一个存储节点分别对应的奖励。

在本实施例中,区块链系统可以在外部的触发下根据区块链确定每一个路由节点以及每一个存储节点分别对应的奖励。区块链系统还可以设定奖励评估周期,根据奖励评估周期自动的根据区块链确定每一个路由节点以及每一个存储节点分别对应的奖励。

在本实施例中,区块链系统根据区块链确定每一个路由节点以及每一个存储节点分别对应的奖励的过程可以为:设置至少一种奖励策略。从区块链中选择设定时间段内形成的区块,然后根据各个区块内包括的数据存储任务信息确定每一个路由节点以及每一个存储节点分别对应的奖励策略,并根据对应的奖励策略分别确定每一个路由节点以及每一个存储节点分别对应的奖励(该奖励可以为比特币)。然后,可以根据确定的奖励对各个路由节点和各个存储节点进行奖励。

在本实施例中,区块链系统可以根据区块链确定出每一个路由节点以及每一个存储节点分别对应的奖励。由于奖励并不需要人工手动的进行确定,因此,自动化程度较高,且较为公正。

在本发明一个实施例中,如图2所示,所述路由节点101可以包括:存储处理模块1011;

所述存储处理模块1011,用于将所述数据处理为至少一个待存储数据,为每一个所述待存储数据分别指定至少一个目标存储节点102,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点102;

每一个所述存储节点102,分别用于在接收到所述待存储数据时,存储接收到的待存储数据。

在本实施例中,存储处理模块将数据处理为至少一个待存储数据的过程可以为:

第一种,设定数据量。然后根据数据量对数据进行切分。

第二种,设定个数,然后将数据切分为设定个数个待存储数据。其中,各个待存储数据可以均具有相同的数据量或不同的数据量。

第三种,根据数据的完整程度进行切分。

在本实施例中,在考虑数据的备份时,可以为每一个待存储数据分别指定两个或多个目标存储节点。利用指定的各个目标存储节点分别对该待存储数据进行存储,从而达到冗余备份的目的。

根据上述实施例,将数据处理为了一个或多个待存储数据,且将每一个待存储数据分别存储到指定的一个或多个存储节点中。由于数据是划分为待存储数据进行存储的,因此,可以降低数据整体丢失或损坏的概率。

在本发明一个实施例中,如图3所示,所述路由节点101可以包括:确定模块1012;

所述确定模块1012,用于确定所述数据的数据量以及确定每一个所述存储节点102的当前可用存储空间和存储信任度;根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点102。

在本实施例中,存储节点的存储信任度可以根据存储节点历史完成的存储任务来进行确定。比如,可以根据存储数据的历史丢失率、自身的宕机概率等确定。

在本实施例中,在确定模块确定目标存储节点时,可以将可用空间存储空间大,且存储信任度高的存储节点优先选择为目标存储节点。

在本实施例中,确定模块1012根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个存储节点的分值;然后根据确定出的分值,确定出至少一个目标存储节点;

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

在本实施例中,在计算出每一个存储节点对应的分值之后,可以将分值大于设定阈值的存储节点均确定为目标存储节点。

在本实施例中,存储空间权重α以及存储信任度权重β均可以根据业务要求确定。比如,存储空间权重α为70%,存储信任度权重β为30%。

根据上述实施例,各个目标存储节点是根据数据的数据量以及每一个存储节点的当前可用存储空间和存储信任度确定的。因此,确定出的各个目标存储节点可以对数据进行有效存储。

在本发明一个实施例中,每一个所述路由节点101,分别进一步用于在接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点102。

在本实施例中,对数据进行缓存的缓存量可以根据业务要求确定。比如在路由节点的空间加大时,可以设定出较大的缓存量。

根据上述实施例,由于路由节点可以对数据进行缓存,因此,可以加快数据存储到各个目标存储节点中的速度。

在本发明一个实施例中,如图4所示,区块链系统中可以进一步包括:至少一个用户节点103;

每一个所述用户节点103,分别用于在外部的触发下,在所述至少一个路由节点101中确定出目标路由节点101,并向所述目标路由节点101发送所述数据。

在本实施例中,区块链系统中包括的多个节点中,可以将部分节点多为用户节点。另外,在有业务需求时,可以将任意一个路由节点或任意一个存储节点作为用户节点使用。

在本发明一个实施例中,每一个所述路由节点101分别与外部的输入设备相连;

每一个所述路由节点101,分别用于接收所述输入设备输入的所述数据。

如图5所示,本发明实施例提供了一种区块链系统的应用方法,该应用方法包括:

步骤201:在所述至少一个路由节点中的任一目标路由节点接收到数据时,在所述至少一个存储节点中确定出至少一个目标存储节点;

步骤202:利用每一个所述目标存储节点分别存储所述数据;

步骤203:所述目标路由节点在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息。

根据图5所示的实施例,在本方案中区块链系统包括路由节点和存储节点,由路由节点安排存储节点对数据进行存储。由于路由节点可以对存储节点进行数据存储管控,因此,本发明提供的方案可以提高数据的存储效率。

在本发明一个实施例中,区块链系统的应用方法可以进一步包括:

在任一所述路由节点接收到数据提取指令时,在所述至少一个存储节点中确定出与所述数据提取指令对应的至少一个存储节点;

利用所述路由节点从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

在本发明一个实施例中,上一个实施例中所涉及的步骤利用所述路由节点从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据,可以包括:

利用所述路由节点以分布式哈希表dht的方式从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

在本发明一个实施例中,上述图5所示流程图中的步骤202利用每一个所述目标存储节点分别存储所述数据,可以包括:

利用所述目标路由节点将所述数据处理为至少一个待存储数据;

利用所述目标路由节点为每一个所述待存储数据指定至少一个目标存储节点,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点;

每一个所述目标存储节点在接收到所述待存储数据时存储接收到的待存储数据。

在本发明一个实施例中,上述图5所示流程图中的步骤101中所涉及的在对应的至少一个存储节点中确定出至少一个目标存储节点,可以包括:

确定所述数据的数据量以及确定每一个所述存储节点的当前可用存储空间和存储信任度;

根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点。

在本发明一个实施例中,上一个实施例中所涉及的步骤根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点,可以包括:

根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个所述存储节点的分值;然后根据确定出的分值,确定出所述至少一个目标存储节点;

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

在本发明一个实施例中,区块链系统的应用方法可以进一步包括:

在所述目标路由节点接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点。

在本发明一个实施例中,区块链系统的应用方法可以进一步包括:

设定至少一个用户节点;

任一所述用户节点在外部的触发下,在所述至少一个路由节点中确定出目标路由节点,并向所述目标路由节点发送所述数据。

在本发明一个实施例中,区块链系统的应用方法可以进一步包括:

在外部的输入设备向所述目标路由节点输入所述数据时,所述目标路由节点接收所述数据。

如图6所示,本发明实施例提供了一种路由节点,该路由节点包括:

发送设备301,用于在接收到数据时,在外部的至少一个存储节点中确定出至少一个目标存储节点,将所述数据发送给所述至少一个目标存储节点;

广播设备302,用于监控所述至少一个目标存储节点存储所述数据的存储情况,在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息。

根据图6所示的实施例,该路由节点包括发送设备和广播设备。发送设备在接收到数据时可以在外部的各个存储节点中确定出至少一个目标存储节点,将数据发送给各个目标存储节点。然后利用广播设备监控各个目标存储节点存储数据的存储情况,并在监控到各个目标存储节点完成存储所述数据时广播数据存储任务信息。可见,本方案可以在路由节点接收到数据时快速的确定出目标存储节点并将数据发送给目标存储节点,以使目标节点进行数据存储。因此,本发明实施例提供的方案可以提高数据的存储效率。

在本发明一个实施例中,如图7所示,路由节点可以进一步包括提取设备303;

所述提取设备303,用于在接收到数据提取指令时,在所述至少一个存储节点中确定出与所述数据提取指令对应的至少一个存储节点,并从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

在本发明一个实施例中,所述提取设备303,用于以分布式哈希表dht的方式从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

在本发明一个实施例中,如图8所示,所述发送设备301可以包括存储处理模块3011;

所述存储处理模块3011,用于将所述数据处理为至少一个待存储数据,为每一个所述待存储数据分别指定至少一个目标存储节点,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点。

在本发明一个实施例中,如图9所示,所述发送设备301可以包括确定模块3012;

所述确定模块,用于确定所述数据的数据量以及确定每一个所述存储节点的当前可用存储空间和存储信任度;根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点。

在本发明一个实施例中,所述确定模块3012,用于根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个所述存储节点的分值;然后根据确定出的分值,确定出所述至少一个目标存储节点;

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

在本发明一个实施例中,如图10所示,所述发送设备301可以包括缓存模块3013;

所述缓存模块3013,用于在接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点。

下面以区块链系统中包括区块链管理模块、路由节点1、路由节点2、存储节点1、存储节点2、存储节点3、存储节点4、存储节点5、存储节点6为例,对区块链系统的应用方法进行说明。如图11所示,该区块链系统的应用方法包括:

步骤501:利用区块链管理模块存储区块链。

步骤502:各个路由节点依次作为当前路由节点。

在本步骤中,以路由节点1作为当前路由节点。

步骤503:利用当前路由节点判断是否接收到外部输入的数据,如果是,执行步骤505;否则,执行步骤504。

在本步骤中,判断出路由节点1接收到的数据a,执行步骤305。

步骤504:判断当前路由节点是否为最后一个路由节点,如果是,结束当前流程;否则,执行步骤502。

步骤505:利用当前路由节点确定数据的数据量以及确定每一个存储节点的当前可用存储空间和存储信任度。

在本步骤中,分别确定出这6个存储节点中的每一个存储节点的当前可用存储空间和存储信任度。

在本步骤中,确定出数据a的数据量。

步骤506:利用当前路由节点根据所确定的当前可用存储空间和存储信任度以及数据量,确定出对应的每一个存储节点的分值。

在本步骤中,利用公式(1)分别计算出存储节点1、存储节点2和存储节点3对应分值。

步骤507:利用当前路由节点根据确定出的分值,确定出至少一个目标存储节点。

在本步骤中,确定出存储节点1和存储节点2的分值均大于设定阈值a,则将存储节点1和存储节点2确定为目标存储节点。

步骤508:利用当前路由节点将数据处理为至少一个待存储数据。

在本步骤中,路由节点将数据a处理为待储存数据1和待存储数据2。

步骤509:利用当前路由节点为每一个待存储数据指定至少一个目标存储节点,并将每一个待存储数据分别发送给指定的至少一个目标存储节点。

在本步骤中,为待储存数据1指定存储节点1。为待储存数据2指定存储节点2。将待储存数据1发送给存储节点1。将待储存数据2发送给存储节点2。

步骤510:利用每一个目标存储节点在接收到待存储数据时存储接收到的待存储数据。

在本步骤中,利用存储节点1储存待存储数据1,存储节点2储存待存储数据2。

步骤511:利用当前路由节点监控各个目标存储节点存储数据的存储情况,在监控到各个目标存储节点完成存储所述数据时,广播数据存储任务信息。

在本步骤中,在路由节点1监控到存储节点1和存储节点2存储完成数据之后,广播数据存储任务信息。

在本步骤中,数据存储任务信息中的路由节点发放数据信息以及至少一个存储节点存储数据信息生成新的区块。区块链系统可以获取当前区块链中位于最后一个的区块的块头。然后利用所获取的块头、路由节点发放数据信息以及各个存储数据信息,生成新的区块的块头以及区块体。将生成的块头以及区块体形成新的区块。将新的区块添加到当前区块链中位于最后一个的区块的后面,形成新的区块链。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,该区块链系统包括设定数量个路由节点以及设定数量个存储节点。每一个路由节点分别用于在接收到数据时,可以在各个存储节点中确定出一个或多个目标存储节点,并将数据发送给各个目标存储节点。在每一个存储节点接收到路由节点发送数据时,存储接收到的数据。然后路由节点在监控到各个目标存储节点完成存储数据之后广播数据存储任务信息,以使部署有区块链程序的路由节点和/或存储节点利用数据存储任务信息更新区块链。通过上述可知,在本方案中区块链系统包括路由节点和存储节点,由路由节点安排存储节点对数据进行存储。由于路由节点可以对存储节点进行数据存储管控,因此,本发明实施例提供的方案可以提高数据的存储效率。

2、在本发明实施例中,在路由节点接收到数据提取指令时,在存储节点中确定出与数据提取指令对应的至少一个存储节点,并在确定出的各个存储节点中提供与数据提取指令对应的数据。由于在提取数据时是通过路由节点从各个存储节点中提取数据的,降低了各个存储节点被外部设备访问的概率。因此,提高了各个存储节点的安全性。

3、在本发明实施例中,由于路由节点以dht的方式从确定出的各个存储节点中提取与数据提取指令对应的数据的。因此可以准确且快速的提取出与数据提取指令对应的数据。

4、在本发明实施例中,将数据处理为了一个或多个待存储数据,且将每一个待存储数据分别存储到指定的一个或多个存储节点中。由于数据是划分为待存储数据进行存储的,因此,可以降低数据整体丢失或损坏的概率。

5、在本发明实施例中,各个目标存储节点是根据数据的数据量以及每一个存储节点的当前可用存储空间和存储信任度确定的。因此,确定出的各个目标存储节点可以对数据进行有效存储。

6、在本发明实施例中,由于路由节点可以对数据进行缓存,因此,可以加快数据存储到各个目标存储节点中的速度。

7、在本发明实施例中,路由节点包括发送设备和广播设备。发送设备在接收到数据时可以在外部的各个存储节点中确定出至少一个目标存储节点,将数据发送给各个目标存储节点。然后利用广播设备监控各个目标存储节点存储数据的存储情况,并在监控到各个目标存储节点完成存储所述数据时广播数据存储任务信息。可见,本方案可以在路由节点接收到数据时快速的确定出目标存储节点并将数据发送给目标存储节点,以使目标节点进行数据存储。因此,本发明实施例提供的方案可以提高数据的存储效率。

8、在本发明实施例中,存储节点中的存储设备在接收到外部的路由节点发送的数据时,对接收到的数据进行存储。可见,本发明实施例提供的方案可以提高数据的存储效率。

本发明实施例公开了:

a1、一种区块链系统,所述区块链系统包括:

至少一个路由节点以及至少一个存储节点;

每一个所述路由节点,分别用于在接收到数据时,在所述至少一个存储节点中确定出至少一个目标存储节点,将所述数据发送给所述至少一个目标存储节点;监控所述至少一个目标存储节点存储所述数据的存储情况,在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息;

每一个所述存储节点,分别用于在接收到所述路由节点发送的数据时,存储。

a2、根据a1所述的区块链系统,

每一个所述路由节点,分别进一步用于在接收到数据提取指令时,在所述至少一个存储节点中确定出与所述数据提取指令对应的至少一个存储节点,并从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据;

每一个所述存储节点,分别进一步用于在所述路由节点提取所述数据提取指令对应的数据时,提供与所述数据提取指令对应的数据。

a3、根据a2所述的区块链系统,

每一个所述路由节点,分别用于以分布式哈希表dht的方式从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

a4、根据a1-a3中任一所述的区块链系统,

所述路由节点,包括:存储处理模块;

所述存储处理模块,用于将所述数据处理为至少一个待存储数据,为每一个所述待存储数据分别指定至少一个目标存储节点,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点;

每一个所述存储节点,分别用于在接收到所述待存储数据时,存储接收到的待存储数据。

a5、根据a1-a3中任一所述的区块链系统,

所述路由节点,包括:确定模块;

所述确定模块,用于确定所述数据的数据量以及确定每一个所述存储节点的当前可用存储空间和存储信任度;根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点。

a6、根据a5所述的区块链系统,

所述确定模块,用于根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个所述存储节点的分值;然后根据确定出的分值,确定出所述至少一个目标存储节点;

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

a7、根据a1-a3、a6中任一所述的区块链系统,

每一个所述路由节点,分别进一步用于在接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点。

a8、根据a1-a3、a6中任一所述的区块链系统,

进一步包括:至少一个用户节点;

每一个所述用户节点,分别用于在外部的触发下,在所述至少一个路由节点中确定出目标路由节点,并向所述目标路由节点发送所述数据。

a9、根据a1-a3、a6中任一所述的区块链系统,

每一个所述路由节点分别与外部的输入设备相连;

每一个所述路由节点,分别用于接收所述输入设备输入的所述数据。

b1、一种a1-a9任一所述区块链系统的应用方法,

在所述至少一个路由节点中的任一目标路由节点接收到数据时,在所述至少一个存储节点中确定出至少一个目标存储节点;

利用每一个所述目标存储节点分别存储所述数据;

所述目标路由节点在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息。

b2、根据b1所述的应用方法,

进一步包括:

在任一所述路由节点接收到数据提取指令时,在所述至少一个存储节点中确定出与所述数据提取指令对应的至少一个存储节点;

利用所述路由节点从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

b3、根据b2所述的应用方法,

所述利用所述路由节点从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据,包括:

利用所述路由节点以分布式哈希表dht的方式从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

b4、根据b1-b3中任一所述的应用方法,

所述利用每一个所述目标存储节点分别存储所述数据,包括:

利用所述目标路由节点将所述数据处理为至少一个待存储数据;

利用所述目标路由节点为每一个所述待存储数据指定至少一个目标存储节点,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点;

每一个所述目标存储节点在接收到所述待存储数据时存储接收到的待存储数据。

b5、根据b1-b3中任一所述的应用方法,

所述在对应的至少一个存储节点中确定出至少一个目标存储节点,包括:

确定所述数据的数据量以及确定每一个所述存储节点的当前可用存储空间和存储信任度;

根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点。

b6、根据b5所述的应用方法,所述根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点,包括:

根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个所述存储节点的分值;然后根据确定出的分值,确定出所述至少一个目标存储节点;

所述第一公式包括:

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

b7、根据b1-b3、b6中任一所述的应用方法,进一步包括:

在所述目标路由节点接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点。

b8、根据b1-b3、b6中任一所述的应用方法,进一步包括:

设定至少一个用户节点;

任一所述用户节点在外部的触发下,在所述至少一个路由节点中确定出目标路由节点,并向所述目标路由节点发送所述数据。

b9、根据b1-b3、b6中任一所述的应用方法,

进一步包括:

在外部的输入设备向所述目标路由节点输入所述数据时,所述目标路由节点接收所述数据。

c1、一种路由节点,所述路由节点包括:

发送设备,用于在接收到数据时,在外部的至少一个存储节点中确定出至少一个目标存储节点,将所述数据发送给所述至少一个目标存储节点;

广播设备,用于监控所述至少一个目标存储节点存储所述数据的存储情况,在监控到所述至少一个目标存储节点完成存储所述数据时,广播数据存储任务信息。

c2、根据c1所述的路由节点,

进一步包括:提取设备;

所述提取设备,用于在接收到数据提取指令时,在所述至少一个存储节点中确定出与所述数据提取指令对应的至少一个存储节点,并从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

c3、根据c2所述的路由节点,所述提取设备,用于以分布式哈希表dht的方式从确定出的至少一个存储节点中提取与所述数据提取指令对应的数据。

c4、根据c1-c3中任一所述的路由节点,

所述发送设备,包括:存储处理模块;

所述存储处理模块,用于将所述数据处理为至少一个待存储数据,为每一个所述待存储数据分别指定至少一个目标存储节点,并将每一个所述待存储数据分别发送给指定的至少一个目标存储节点。

c5、根据c1-c3中任一所述的路由节点,

所述发送设备,包括:确定模块;

所述确定模块,用于确定所述数据的数据量以及确定每一个所述存储节点的当前可用存储空间和存储信任度;根据所确定的当前可用存储空间和存储信任度以及所述数据量确定出至少一个目标存储节点。

c6、根据c5所述的路由节点,

所述确定模块,用于根据所确定的当前可用存储空间和存储信任度以及所述数据量,通过公式(1),确定出每一个所述存储节点的分值;然后根据确定出的分值,确定出所述至少一个目标存储节点;

其中,所述mi表征第i个所述存储节点对应的分值;所述ti表征第i个所述存储节点对应的当前可用存储空间;所述p表征所述数据量;所述ni表征第i个所述存储节点对应的存储信任度;所述α表征存储空间权重;所述β表征存储信任度权重。

c7、根据c1-c3、c6中任一所述的路由节点,

所述发送设备,包括:缓存模块;

所述缓存模块,用于在接收到所述数据时,对所述数据进行缓存,然后将缓存的数据发送给所述至少一个目标存储节点。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一种区块链系统及其应用方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1