本发明涉及新一代信息技术中的数字信息传输领域,尤其涉及一种区块链去中心化可信数据采集方法及系统。
背景技术:
1、区块链是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。这些服务器在区块链系统中被称为节点,它们为整个区块链系统提供存储空间和算力支持。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。基于这两个特点,区块链所记录的信息更加真实可靠,可以帮助解决人们互不信任的问题。
2、然而,在区块链中的各节点在部分情况下需要获取外部第三方的数据并确保所获取数据的可靠性,当所获取的外部数据不可靠时,基于区块链的再处理也就丧失了相应的可靠性;需进一步改进。
技术实现思路
1、本发明目的在于公开一种区块链去中心化可信数据采集方法及系统,以解决外部数据源的可靠性问题。
2、为达上述目的,本发明公开的方法包括以下步骤:
3、代理服务器集群确定当前的领导节点,包括所述领导节点在内的至少三个组成所述代理服务器集群的各节点分别监听主区块链在执行合约的过程中是否产生面向外部第三方的数据采集请求类事件,如果是,获取所述主区块链所生成的对应当前数据采集请求的标识;
4、各节点分别向外部不同的信息供应方获取与当前数据采集请求相对应的目标数据,再由非领导节点的其他节点将所获取的目标数据基于同一哈希算法进行压缩后发送给所述领导节点,且在发送目标数据压缩后的数据帧中携带所述标识;
5、所述领导节点基于同一哈希算法对自身所采集的目标数据进行压缩后归入与所述标识相对应的数据池中,并验证其他节点所携带标识的可靠性,然后将可靠的其他节点分别发送的压缩后目标数据归类到所述标识所对应的数据池中以进行投票计数;
6、所述领导节点判断投票计数的结果是否与自身所采集的目标数据一致,如果一致,将本地目标数据携带所述标识发送给所述主区块链,否则,随机指定一与投票计数结果一致的其他节点将所采集的目标数据发送给所述主区块链,其中,被指定的其他节点在发送目标数据时携带所述标识以供所述主区块链与当前的数据采集请求进行匹配。
7、优选地,所述代理服务器集群以轮询的机制对领导节点进行更换。
8、优选地,各所述节点包括以预言机在外部网络应用层中搜寻目标数据的一类节点和以相对应插件以在其他区块链搜寻目标数据的二类节点。
9、优选地,所述领导节点在计数时,先以一类节点和二类节点所获取目标数据的权值分别为1判断是否存在两个票数一致的投票结果,如果是,将二类节点所获取目标数据的权值设置为一类节点所获取目标数据的权值的1.1倍再重新进行计票已确定当前数据采集请求所对应的目标数据结果;若调整权值后仍存在两个票数一致的投票结果,则产生相应的告警。
10、为达上述目的,本发明还公开一种区块链去中心化可信数据采集系统,包括组成代理服务器集群的至少三个以上节点,各该节点包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时与相关联的其他节点进行交互以实现上述的方法。
11、本发明具有以下有益效果:
12、代理服务器集群通过投票来确保从外部第三方所获取信息(如实时的气象数据信息、移动终端的定位信息等)的可靠性,在信息采集的过程中,集群内的各节点通过不同的信息供应方进行信息获取,通过数据来源的多元性避免了以偏概全,并通过投票机制确保了所筛选结果的可靠性。其他节点与领导节点之间基于同一哈希算法进行对目标数据进行压缩降低了网络的带宽并提高了数据传输的实时性,在投票过程中,领导节点无需对其他节点的数据一一进行解压缩处理,而是对自身所获取的目标数据也进行相应压缩,确保了投票结果计数的准确性并简化了数据处理量。在本发明中,一个采集事件对应唯一的标识,并基于标识进行该采集事件所对应代理行为中的系列数据处理过程中的分类管理和安全校验,实现了一举多得的技术效果。尤其是标识校验与基于哈希算法进行压缩后数据省略解压缩即进行计票的方式,可以充分规避集群内节点的作恶行为。
13、下面将参照附图,对本发明作进一步详细的说明。
1.一种区块链去中心化可信数据采集方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的区块链去中心化可信数据采集方法,其特征在于,所述代理服务器集群以轮询的机制对领导节点进行更换。
3.根据权利要求1或2所述的区块链去中心化可信数据采集方法,其特征在于,各所述节点包括以预言机在外部网络应用层中搜寻目标数据的一类节点和以相对应插件以在其他区块链搜寻目标数据的二类节点。
4.根据权利要求3所述的区块链去中心化可信数据采集方法,其特征在于,所述领导节点在计数时,先以一类节点和二类节点所获取目标数据的权值分别为1判断是否存在两个票数一致的投票结果;如果是,将二类节点所获取目标数据的权值设置为一类节点所获取目标数据的权值的1.1倍再重新进行计票,以确定当前数据采集请求所对应的目标数据结果;若调整权值后仍存在两个票数一致的投票结果,则产生相应的告警。
5.一种区块链去中心化可信数据采集系统,其特征在于,包括组成代理服务器集群的至少三个以上节点,各该节点包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时与相关联的其他节点进行交互以实现上述权利要求1至4任一所述的方法。