基于区块链系统的数据采集方法、装置和计算机设备与流程

文档序号:22627619发布日期:2020-10-23 19:36阅读:140来源:国知局
基于区块链系统的数据采集方法、装置和计算机设备与流程

本申请涉及到计算机领域,特别是涉及到一种基于区块链系统的数据采集方法、装置、计算机设备和存储介质。



背景技术:

数据采集是数据处理的前置条件。传统方案对普通网络的终端的数据采集时,由于普通网络是交叉性的网络连接,网络中的任意两点在需要信息交互时均能进行直接信号通信,因此其数据互相影响、失真的可能,导致采集的数据的不准确,因此现有技术的数据采集方案的准确性有待提高。



技术实现要素:

本申请的主要目的为提供一种基于区块链系统的数据采集方法、装置、计算机设备和存储介质,旨在防止数据失真,并且提高整体的数据采集效率。

为了实现上述发明目的,本申请提出一种基于区块链系统的数据采集方法,其特征在于,所述区块链系统包括第一区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述方法,应用于所述第一区块链上的1号区块链节点,并且所述1号区块链节点是位于第一独立网络链条上的终端,包括:

获取对所述n个独立网络链条的第一数据进行数据采集的指令;其中所述数据采集的指令至少要求对指定第一终端的第一数据进行数据采集,所述指定第一终端位于第一独立网络链条上;

根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;

向所述指定第一终端发送采集第一数据的要求,并获取所述指定第一终端返回的第一数据;

向2号区块链节点、3号区块链节点、...、n号区块链节点对应发送n-1个数据获取请求,其中所述n-1个数据获取请求分别指定了对所述指定第二终端、指定第三终端、...、指定第n终端的第一数据进行数据采集;并获取所述2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;

将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;

判断审核结果是否为通过;

若审核结果为通过,则将所述数据包存入所述第一区块链中。

进一步地,所述n个独立网络链条彼此间具有相同的层级结构,所述根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端的步骤,包括:

获取所述指定第一终端与所述第一独立网络链条的最低级终端之间的级别差;

获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;其中所述指定第二终端的级别与所述第二独立网络链条的最低级终端的级别之差等于所述级别差、所述指定第三终端的级别与所述第三独立网络链条的最低级终端的级别之差等于所述级别差、...、所述指定第n终端的级别与所述第n独立网络链条的最低级终端的级别之差等于所述级别差。

进一步地,所述第一区块链共包括m个区块链节点,m为大于n的整数,其中n+1号区块链节点、...、m号区块链节点与所述n个独立网络链条不存在直接连接关系,并且n+1号区块链节点、...、m号区块链节点为所述审核区块链节点,所述将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核的步骤,包括:

向所述n+1号区块链节点、...、m号区块链节点分别发送所述数据包,并要求所述n+1号区块链节点、...、m号区块链节点对所述数据包进行审核。

进一步地,所述将所述数据包存入所述第一区块链中的步骤,包括:

采用预设的哈希算法,对所述第一区块链的尾部区块进行哈希计算,从而得到第一哈希值;

采用预设的哈希算法,对所述数据包进行哈希计算,从而得到第二哈希值;

生成由区块头和区块体构成的新区块,其中所述区块头中记载有所述第一哈希值和所述第二哈希值,所述区块体中记载有所述数据包;

将所述新区块衔接所述尾部区块,从而实现将所述数据包存入所述第一区块链中。

本申请提供一种基于区块链系统的数据采集方法,所述区块链系统包括第一区块链、第二区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端;所述第一区块链与所述第二区块链通过所述独立网络链条实现间接连接;所述第二区块链包括n个第二区块链节点,所述n个第二区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述方法,应用于所述第二区块链上的指定区块链节点,所述指定区块链节点是位于第一独立网络链条上的终端,包括:

获取所述第一区块链的1号区块链节点经由所述第一独立网络链条而发送的指定区块数据,其中所述1号区块链节点是位于第一独立网络链条上的终端;

向所述第二区块链的其他区块链节点发送区块数据获取要求,并获取所述其他区块链节点对应返回的多个区块数据;其中所述多个区块数据分别来自于所述第一区块链上的区块链节点,并且多个区块数据的传输过程分别通过所述独立网络链条;

根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似;

若所述指定区块数据和所述多个区块数据彼此相似,则将所述指定区块数据存入所述第二区块链中。

进一步地,所述根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似的步骤,包括:

统计所述多个区块数据的数量,并判断所述多个区块数据的数量是否大于预设的数量阈值;

若所述多个区块数据的数量大于预设的数量阈值,则根据预设的区块数据筛选方法,从所述多个区块数据中选出多个中间区块数据;

对所述指定区块数据和所述多个中间区块数据采用相同的哈希算法进行计算,从而对应得到多个哈希值,并判断所述多个哈希值是否彼此相同;

若所述多个哈希值彼此相同,则判定所述指定区块数据和所述多个区块数据彼此相似。

本申请提供一种基于区块链系统的数据采集装置,所述区块链系统包括第一区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述装置,应用于所述第一区块链上的1号区块链节点,并且所述1号区块链节点是位于第一独立网络链条上的终端,包括:

数据采集指令获取单元,用于获取对所述n个独立网络链条的第一数据进行数据采集的指令;其中所述数据采集的指令至少要求对指定第一终端的第一数据进行数据采集,所述指定第一终端位于第一独立网络链条上;

指定终端获取单元,用于根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;

数据采集要求发送单元,用于向所述指定第一终端发送采集第一数据的要求,并获取所述指定第一终端返回的第一数据;

第一数据获取单元,用于向2号区块链节点、3号区块链节点、...、n号区块链节点对应发送n-1个数据获取请求,其中所述n-1个数据获取请求分别指定了对所述指定第二终端、指定第三终端、...、指定第n终端的第一数据进行数据采集;并获取所述2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;

数据包发送单元,用于将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;

审核结果判断单元,用于判断审核结果是否为通过;

数据包存储单元,用于若审核结果为通过,则将所述数据包存入所述第一区块链中。

本申请提供一种基于区块链系统的数据采集装置,所述区块链系统包括第一区块链、第二区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端;所述第一区块链与所述第二区块链通过所述独立网络链条实现间接连接;所述第二区块链包括n个第二区块链节点,所述n个第二区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述装置,应用于所述第二区块链上的指定区块链节点,所述指定区块链节点是位于第一独立网络链条上的终端,包括:

指定区块数据获取单元,用于获取所述第一区块链的1号区块链节点经由所述第一独立网络链条而发送的指定区块数据,其中所述1号区块链节点是位于第一独立网络链条上的终端;

区块数据获取要求发送单元,用于向所述第二区块链的其他区块链节点发送区块数据获取要求,并获取所述其他区块链节点对应返回的多个区块数据;其中所述多个区块数据分别来自于所述第一区块链上的区块链节点,并且多个区块数据的传输过程分别通过所述独立网络链条;

数据相似判断单元,用于根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似;

指定区块数据存储单元,用于若所述指定区块数据和所述多个区块数据彼此相似,则将所述指定区块数据存入所述第二区块链中。

本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的基于区块链系统的数据采集方法、装置、计算机设备和存储介质,获取对所述n个独立网络链条的第一数据进行数据采集的指令;获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;获取所述指定第一终端返回的第一数据;获取2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;若审核结果为通过,则将所述数据包存入所述第一区块链中。从而防止数据失真,并且提高整体的数据采集效率。

附图说明

图1为本申请一实施例的基于区块链系统的数据采集方法的流程示意图;

图2为本申请一实施例的基于区块链系统的数据采集装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图;

图4为本申请一实施例的区块链系统的结构示意框图;

图5为本申请一实施例的另一区块链系统的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请实施例提供一种基于区块链系统的数据采集方法,所述区块链系统包括第一区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述方法,应用于所述第一区块链上的1号区块链节点,并且所述1号区块链节点是位于第一独立网络链条上的终端,包括:

s1、获取对所述n个独立网络链条的第一数据进行数据采集的指令;其中所述数据采集的指令至少要求对指定第一终端的第一数据进行数据采集,所述指定第一终端位于第一独立网络链条上;

s2、根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;

s3、向所述指定第一终端发送采集第一数据的要求,并获取所述指定第一终端返回的第一数据;

s4、向2号区块链节点、3号区块链节点、...、n号区块链节点对应发送n-1个数据获取请求,其中所述n-1个数据获取请求分别指定了对所述指定第二终端、指定第三终端、...、指定第n终端的第一数据进行数据采集;并获取所述2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;

s5、将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;

s6、判断审核结果是否为通过;

s7、若审核结果为通过,则将所述数据包存入所述第一区块链中。

本申请通过特殊的设计(即特殊的区块链系统,参见图4),所述区块链系统包括第一区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端。从而以独立网络链条的设计,防止数据失真,并且只需要确定一个链条上的数据采集规则,即可完成整个网络体系的数据采集,从而提高了整体的数据采集效率。具体地,在n个独立网络链条采用相似设置,在第一独立网络链条中完成的数据采集的规则,可直接映射于其他独立网络链条中的数据采集中,从而将n倍的设置工作缩小为1倍,进而提高了整体效率。并且,采用了第一区块链的设计,保证每个链条上的数据采集是彼此分离,却能在区块链中汇聚,再利用区块链的数据难以篡改特性,进一步提高了数据的安全性。其中,所述独立链条指不同链条之间不存在直接通信连接。其中所述第一区块链可为公有链、联合链或私有链,优选为私有链。其中,本申请的执行主体为1号区块链节点。

如上述步骤s1所述,获取对所述n个独立网络链条的第一数据进行数据采集的指令;其中所述数据采集的指令至少要求对指定第一终端的第一数据进行数据采集,所述指定第一终端位于第一独立网络链条上。本申请在进行数据采集时,仅需要确定第一数据以及指定第一终端即可,无需指出整个体系中需要数据采集的终端。从而整体效率得到了提升。其中所述第一数据例如为医保网络(在本申请中,所述医保网络为独立网络链条状)中的参保金额、参保人数等等。其中,所述数据采集的指令以任意方式生成,例如通过自然人利用输入设备输入指令;或者通过与1号区块链节点信号连接的任意其他计算机终端通过信号传输而生成。其中,“对所述n个独立网络链条的第一数据进行数据采集的指令”是指作为执行主体的1号区块链节点,先接收全部的独立网络链条的第一数据进行数据采集的指令,其中,第一独立网络链条的第一数据是直接采集,其他独立网络链条的第一数据经由指定第一终端间接采集。

如上述步骤s2所述,根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端。其中的终端对应方法可为任意可行方法,例如为获取所述指定第一终端在第一独立网络链条中的相对位置(例如权限层级位置,编号位置等等),再依据所述相对位置,即可获取在其他独立网络链条中的指定终端。

如上述步骤s3所述,向所述指定第一终端发送采集第一数据的要求,并获取所述指定第一终端返回的第一数据。由于1号区块链节点与所述指定第一终端是第一独立网络中的终端,因此能够进行通信。从获取所述指定第一终端返回的第一数据。其中,所述指定第一终端可以为一个,也可以为多个。其中,所述第一独立网络中包括的计算机终端的数量不做限定,但至少包括一个1号区块链节点和1个指定第一终端。

如上述步骤s4所述,向2号区块链节点、3号区块链节点、...、n号区块链节点对应发送n-1个数据获取请求,其中所述n-1个数据获取请求分别指定了对所述指定第二终端、指定第三终端、...、指定第n终端的第一数据进行数据采集;并获取所述2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据。由于独立网络链条之间彼此独立,因此1号区块链节点无法直接得到其他独立网络链条中的数据。因此通过在其他独立网络链条中的区块链节点,以间接获取第一数据。其中,由于已经获知了所述指定第二终端、指定第三终端、...、指定第n终端,因此2号区块链节点、3号区块链节点、...、n号区块链节点可直接向对应的终端要求数据即可。

如上述步骤s5所述,将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核。其中所述指定第一终端返回的第一数据和所述n-1个第一数据均是需要采集的数据。若这些数据准确,则应当被存入所述第一区块链中。因此将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核。其中所述审核区块链节点可为所述第一区块链中的任意可行节点。

如上述步骤s6所述,判断审核结果是否为通过。若审核结果为通过,则表明数据无误,可存入第一区块链中;反之,表明本次数据采集有误,需要进行重新采集。其中审核的过程在审核区块链节点中进行,例如为将所述数据包与预计数据进行对比,若差异在容忍范围内,则判断为审核通过。

如上述步骤s7所述,若审核结果为通过,则将所述数据包存入所述第一区块链中。其中,将所述数据包存入所述第一区块链中,即是指将将所述数据包写入所述第一区块链中的公共账本里。例如,利用所述数据包生成新的区块,并将所述新的区块加入公共账本中。

在一个实施方式中,所述n个独立网络链条彼此间具有相同的层级结构,所述根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端的步骤s2,包括:

s201、获取所述指定第一终端与所述第一独立网络链条的最低级终端之间的级别差;

s202、获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;其中所述指定第二终端的级别与所述第二独立网络链条的最低级终端的级别之差等于所述级别差、所述指定第三终端的级别与所述第三独立网络链条的最低级终端的级别之差等于所述级别差、...、所述指定第n终端的级别与所述第n独立网络链条的最低级终端的级别之差等于所述级别差。

如上所述,实现了利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端。本申请采用相同层级结构的设计,以便于实现数据的采集。因此,在其他独立网络链条中,与所述指定第一终端具有相同的级别的终端,即为需要数据采集的终端。具体地,利用所述指定第一终端与所述第一独立网络链条的最低级终端之间的级别差,作为定位终端的依据,从而能够快速获取其他独立网络链条中的指定终端。

在一个实施方式中,所述第一区块链共包括m个区块链节点,m为大于n的整数,其中n+1号区块链节点、...、m号区块链节点与所述n个独立网络链条不存在直接连接关系,并且n+1号区块链节点、...、m号区块链节点为所述审核区块链节点,所述将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核的步骤s5,包括:

s501、向所述n+1号区块链节点、...、m号区块链节点分别发送所述数据包,并要求所述n+1号区块链节点、...、m号区块链节点对所述数据包进行审核。

如上所述,实现了将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核。本申请采用区块链节点的数量大于独立网络链条的数量的设置,并将多出来的区块链节点作为审核区块链节点,以使多出来的区块链节点不需兼顾数据采集,而专注于对数据包的审核,从而实现压力均摊,提高整个体系的运作速度,并且容易进行错误追溯。其中,m的数值例如为n的数值的指定倍数,例如为1.2-2倍。

在一个实施方式中,所述将所述数据包存入所述第一区块链中的步骤s7,包括:

s701、采用预设的哈希算法,对所述第一区块链的尾部区块进行哈希计算,从而得到第一哈希值;

s702、采用预设的哈希算法,对所述数据包进行哈希计算,从而得到第二哈希值;

s703、生成由区块头和区块体构成的新区块,其中所述区块头中记载有所述第一哈希值和所述第二哈希值,所述区块体中记载有所述数据包;

s704、将所述新区块衔接所述尾部区块,从而实现将所述数据包存入所述第一区块链中。

如上所述,实现了将所述数据包存入所述第一区块链中。区块链的数据是具有严格的时间顺序的,是以多个区块按照生成的时间顺序衔接。区块由区块头和区块体构成,区块体记载详细数据,区块头记载标识。采用预设的哈希算法,对所述第一区块链的尾部区块进行哈希计算,从而得到第一哈希值,从而尾部区块可用第一哈希值来描述。再采用预设的哈希算法,对所述数据包进行哈希计算,从而得到第二哈希值,则数据包可用第二哈希值描述。因此,区块头记载有所述第一哈希值和所述第二哈希值,从而能够实现与第一区块链的衔接。再用区块体记载所述数据包,从而实现将所述数据包存入所述第一区块链中。

本申请提供一种基于区块链系统的数据采集方法,所述区块链系统包括第一区块链、第二区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端;所述第一区块链与所述第二区块链通过所述独立网络链条实现间接连接;所述第二区块链包括n个第二区块链节点,所述n个第二区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述方法,应用于所述第二区块链上的指定区块链节点,所述指定区块链节点是位于第一独立网络链条上的终端,包括:

st1、获取所述第一区块链的1号区块链节点经由所述第一独立网络链条而发送的指定区块数据,其中所述1号区块链节点是位于第一独立网络链条上的终端;

st2、向所述第二区块链的其他区块链节点发送区块数据获取要求,并获取所述其他区块链节点对应返回的多个区块数据;其中所述多个区块数据分别来自于所述第一区块链上的区块链节点,并且多个区块数据的传输过程分别通过所述独立网络链条;

st3、根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似;

st4、若所述指定区块数据和所述多个区块数据彼此相似,则将所述指定区块数据存入所述第二区块链中。

如上所述,实现了利用第二区块链提高数据的安全性。本申请的第一区块链的最低限度的节点数量为n,即与n个独立网络链条一一对应。当n值较小时,第一区块链的安全性较低(当存在对所有或大多数区块链节点进行攻击的情况下,区块链仍是不安全的,而区块链节点的数量较少时,这种情况发生的可能性较高)。参见图5,本申请采用了第二区块链的设置,以提高安全性。由于第二区块链无需对区块数据进行审核(因为已在第一区块链中进行过审核),因此只需通过n个独立网络链条从n个第一区块链的节点中获取区块数据,并判断区块数据之间的相似性即可,因此第二区块链中的区块链节点承受的计算压力并不大,因此能够以较小的成本以提高数据的安全性。其中,当本申请中的第一区块链为私链时,由于私链中包括的区块链节点较少,其安全性更低,因此本申请的方案尤其适合第一区块链为私链时的状况。

在一个实施方式中,所述根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似的步骤st3,包括:

st301、统计所述多个区块数据的数量,并判断所述多个区块数据的数量是否大于预设的数量阈值;

st302、若所述多个区块数据的数量大于预设的数量阈值,则根据预设的区块数据筛选方法,从所述多个区块数据中选出多个中间区块数据;

st303、对所述指定区块数据和所述多个中间区块数据采用相同的哈希算法进行计算,从而对应得到多个哈希值,并判断所述多个哈希值是否彼此相同;

st304、若所述多个哈希值彼此相同,则判定所述指定区块数据和所述多个区块数据彼此相似。

如上所述,实现了根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似。当区块数据的数量过多时,若一一对比区块数据将造成不必要的算力浪费。因此本申请通过统计所述多个区块数据的数量,若所述多个区块数据的数量大于预设的数量阈值,则根据预设的区块数据筛选方法,从所述多个区块数据中选出多个中间区块数据,对所述指定区块数据和所述多个中间区块数据采用相同的哈希算法进行计算,从而对应得到多个哈希值,并判断所述多个哈希值是否彼此相同的方式,将全部区块数据的对比,转换为可控数量的区块数据对比,从而提高了相似判断的速度。其中所述哈希算法可为任意可行算法,例如为md4、md5或sha-1等。

本申请的基于区块链系统的数据采集方法,获取对所述n个独立网络链条的第一数据进行数据采集的指令;获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;获取所述指定第一终端返回的第一数据;获取2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;若审核结果为通过,则将所述数据包存入所述第一区块链中。从而防止数据失真,并且提高整体的数据采集效率。

参照图2,本申请实施例提供一种基于区块链系统的数据采集装置,所述区块链系统包括第一区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述装置,应用于所述第一区块链上的1号区块链节点,并且所述1号区块链节点是位于第一独立网络链条上的终端,包括:

数据采集指令获取单元10,用于获取对所述n个独立网络链条的第一数据进行数据采集的指令;其中所述数据采集的指令至少要求对指定第一终端的第一数据进行数据采集,所述指定第一终端位于第一独立网络链条上;

指定终端获取单元20,用于根据预设的终端对应方法,利用所述指定第一终端,获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;

数据采集要求发送单元30,用于向所述指定第一终端发送采集第一数据的要求,并获取所述指定第一终端返回的第一数据;

第一数据获取单元40,用于向2号区块链节点、3号区块链节点、...、n号区块链节点对应发送n-1个数据获取请求,其中所述n-1个数据获取请求分别指定了对所述指定第二终端、指定第三终端、...、指定第n终端的第一数据进行数据采集;并获取所述2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;

数据包发送单元50,用于将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;

审核结果判断单元60,用于判断审核结果是否为通过;

数据包存储单元70,用于若审核结果为通过,则将所述数据包存入所述第一区块链中。

其中上述单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

在一个实施方式中,所述n个独立网络链条彼此间具有相同的层级结构,所述指定终端获取单元20,包括:

级别差获取子单元,用于获取所述指定第一终端与所述第一独立网络链条的最低级终端之间的级别差;

指定终端获取子单元,用于获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;其中所述指定第二终端的级别与所述第二独立网络链条的最低级终端的级别之差等于所述级别差、所述指定第三终端的级别与所述第三独立网络链条的最低级终端的级别之差等于所述级别差、...、所述指定第n终端的级别与所述第n独立网络链条的最低级终端的级别之差等于所述级别差。

其中上述子单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

在一个实施方式中,所述第一区块链共包括m个区块链节点,m为大于n的整数,其中n+1号区块链节点、...、m号区块链节点与所述n个独立网络链条不存在直接连接关系,并且n+1号区块链节点、...、m号区块链节点为所述审核区块链节点,所述数据包发送单元50,包括:

数据包发送子单元,用于向所述n+1号区块链节点、...、m号区块链节点分别发送所述数据包,并要求所述n+1号区块链节点、...、m号区块链节点对所述数据包进行审核。

其中上述子单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

在一个实施方式中,所述数据包存储单元70,包括:

第一哈希值获取子单元,用于采用预设的哈希算法,对所述第一区块链的尾部区块进行哈希计算,从而得到第一哈希值;

第二哈希值获取子单元,用于采用预设的哈希算法,对所述数据包进行哈希计算,从而得到第二哈希值;

新区块生成子单元,用于生成由区块头和区块体构成的新区块,其中所述区块头中记载有所述第一哈希值和所述第二哈希值,所述区块体中记载有所述数据包;

数据包存储子单元,用于将所述新区块衔接所述尾部区块,从而实现将所述数据包存入所述第一区块链中。

其中上述子单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

本申请提供一种基于区块链系统的数据采集装置,所述区块链系统包括第一区块链、第二区块链和n个独立网络链条;所述第一区块链至少包括n个第一区块链节点,所述n个第一区块链节点分别对应为所述n个独立网络链条上的终端;所述第一区块链与所述第二区块链通过所述独立网络链条实现间接连接;所述第二区块链包括n个第二区块链节点,所述n个第二区块链节点分别对应为所述n个独立网络链条上的终端,n为大于1的整数;

所述装置,应用于所述第二区块链上的指定区块链节点,所述指定区块链节点是位于第一独立网络链条上的终端,包括:

指定区块数据获取单元,用于获取所述第一区块链的1号区块链节点经由所述第一独立网络链条而发送的指定区块数据,其中所述1号区块链节点是位于第一独立网络链条上的终端;

区块数据获取要求发送单元,用于向所述第二区块链的其他区块链节点发送区块数据获取要求,并获取所述其他区块链节点对应返回的多个区块数据;其中所述多个区块数据分别来自于所述第一区块链上的区块链节点,并且多个区块数据的传输过程分别通过所述独立网络链条;

数据相似判断单元,用于根据预设的数据相似判断方法,判断所述指定区块数据和所述多个区块数据是否彼此相似;

指定区块数据存储单元,用于若所述指定区块数据和所述多个区块数据彼此相似,则将所述指定区块数据存入所述第二区块链中。

其中上述单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

在一个实施方式中,所述数据相似判断单元,包括:

数量阈值判断子单元,用于统计所述多个区块数据的数量,并判断所述多个区块数据的数量是否大于预设的数量阈值;

中间区块数据筛选子单元,用于若所述多个区块数据的数量大于预设的数量阈值,则根据预设的区块数据筛选方法,从所述多个区块数据中选出多个中间区块数据;

哈希值判断子单元,用于对所述指定区块数据和所述多个中间区块数据采用相同的哈希算法进行计算,从而对应得到多个哈希值,并判断所述多个哈希值是否彼此相同;

相似判定子单元,用于若所述多个哈希值彼此相同,则判定所述指定区块数据和所述多个区块数据彼此相似。

其中上述子单元分别用于执行的操作与前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

本申请的基于区块链系统的数据采集装置,获取对所述n个独立网络链条的第一数据进行数据采集的指令;获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;获取所述指定第一终端返回的第一数据;获取2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;若审核结果为通过,则将所述数据包存入所述第一区块链中。从而防止数据失真,并且提高整体的数据采集效率。

参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于区块链系统的数据采集方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链系统的数据采集方法。

上述处理器执行上述基于区块链系统的数据采集方法,其中所述方法包括的步骤分别与执行前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请的计算机设备,获取对所述n个独立网络链条的第一数据进行数据采集的指令;获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;获取所述指定第一终端返回的第一数据;获取2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;若审核结果为通过,则将所述数据包存入所述第一区块链中。从而防止数据失真,并且提高整体的数据采集效率。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于区块链系统的数据采集方法,其中所述方法包括的步骤分别与执行前述实施方式的基于区块链系统的数据采集方法的步骤一一对应,在此不再赘述。

本申请的计算机可读存储介质,获取对所述n个独立网络链条的第一数据进行数据采集的指令;获取位于第二独立网络链条上的指定第二终端、位于第三独立网络链条上的指定第三终端、...、位于第n独立网络链条上的指定第n终端;获取所述指定第一终端返回的第一数据;获取2号区块链节点、3号区块链节点、...、n号区块链节点对应返回的n-1个第一数据;将所述指定第一终端返回的第一数据和所述n-1个第一数据汇总成数据包,将所述数据包发送给预设的审核区块链节点,并要求所述审核区块链节点对所述数据包进行审核;若审核结果为通过,则将所述数据包存入所述第一区块链中。从而防止数据失真,并且提高整体的数据采集效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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