本发明涉及计算机,具体为一种面向分布式协同计算机的区块链系统。
背景技术:
1、从数据角度来看,区块链系统可以被视为一种分布式数据库,通过数据复制的手段在大量节点之间进行数据同步。区块链具有许多优点,如透明性、数据防篡改性和计算可信性。这些优势为分布式计算系统提供了一个公平和可靠的基础设施。在分布式计算系统中,区块链被用来存储系统的运行数据,如计算节点的状态和任务调度的中间数据。此外,区块链还提供了智能合约执行环境,用于执行身份认证、访问控制等轻量级计算。
2、现有技术中,典型的基于区块链的计算任务处理由调度器和工作者组成,它们都是区块链中的节点。区块链被用来存储任务调度和处理过程中的关键信息。调度器根据特定算法(例如首次适配)在链下执行任务调度。调度性能和结果被存储在区块链中。调度器将任务分配给不同的工作者以实现并行处理,而关键的中间和最终数据也存储在区块链中。为了防止链上数据被篡改,每个节点都在本地维护数据的副本,链上数据的写操作需要由所有节点同步进行。
3、但是,现有技术在具体使用时仍存在下述问题:
4、1、现有区块链架构不符合高效数据存储和快速调度的需求。首先,在分布式计算系统中,需要将诸如硬件资源等大量任务调度数据存储在区块链中以确保调度的正确性。但存储调度数据是低效的,因为区块链会在每个节点上冗余存储数据以实现可信数据存储。与此同时,由于点对点区块链中的节点都是平等的,因此调度过程需要遍历所有节点以找到合适的工作者来执行任务。这带来了巨大的调度搜索空间,破坏了调度性能。因此,面向分布式计算的区块链架构需要减少调度搜索空间的规模,减轻调度期间生成的大量数据的存储负担。
5、2、基于串行模式的区块链架构在任务调度中带来了低吞吐量和高延迟。区块链中的操作和流程都是串行的,以避免数据或控制冲突,确保区块链数据的一致性。在分布式计算场景下,任务的调度和处理也只能是串行的,这大大限制了分布式计算系统的性能。根据我们的初步实验,调度和分派500个任务的延迟达到了5分钟。因此,设计一个具有强大的并行任务调度的区块链架构可以有效提高系统性能和服务质量。
6、3、现有的区块链共识机制无法适配分布式计算场景,存在高延迟、低安全性等问题。比特币和以太坊中的工作量证明(pow)要求进行大规模的计算来解决数学难题,然后生成区块。这促使我们设计一种新的区块生成方法,以在分布式计算系统中平衡性能和公平性。
技术实现思路
1、本发明的目的在于提供一种面向分布式协同计算机的区块链系统,通过网络分层构建、跨域调度、并行计算等技术,以提升区块链对复杂计算任务的链上处理效率,以解决背景技术中提到的传统链上调度过程中计算不可信、调度效率低的问题。
2、为实现上述发明目的,本发明采用如下技术方案:
3、本发明提供的一种面向分布式协同计算机的区块链系统,包括:
4、算力平衡的区块链网络虚拟划分机制;
5、链上并行调度机制;
6、以及基于年龄代划分的领导者选举机制;
7、其中,
8、所述算力平衡的区块链网络虚拟划分机制包括构建领导者和计算者;一个领导者和多个计算者组成一个调度域;
9、所述链上并行调度机制包括由智能合约完成的调度逻辑;
10、所述基于年龄代划分的领导者选举机制包括制定领导者选举机制规定,所述领导者选举机制规定为:网络内只存在一个领导者,且在所有的调度者之间根据节点贡献度的大小进行选举。
11、优选的,在所述算力平衡的区块链网络虚拟划分机制中,所述领导者和计算者为区块链网络中的所有节点分为两类而得。
12、优选的,在所述算力平衡的区块链网络虚拟划分机制中,所述领导者负责在本调度域内的计算者上调度外部任务;所述计算者负责计算调度到其的任务,并记录计算过程,然后将计算结果返回给调度者;调度者还负责发放计算奖励等。
13、优选的,在所述算力平衡的区块链网络虚拟划分机制中,当一个节点加入网络的时候,若作为调度者加入,则其必须绑定一个或多个计算者加入,形成一个新的调度域;若作为计算者加入,则将根据整体网络算力均衡的原则将其分配到合适的调度域内。
14、优选的,在所述算力平衡的区块链网络虚拟划分机制中,当一个新的任务被提起时,其将会在与其网络时延最短的调度域内进行调度,若该调度域不能完成其计算,则将会根据最短时延原则被传送到另外一个调度域,直到任务完成返回。
15、优选的,在所述链上并行调度机制中,当任务在某个调度者节点上进行调度时,调度逻辑开始执行;且为了实现并行调度,调度者节点会启动多个智能合约虚拟机来同时运行调度函数,每个虚拟机的输入是不同的计算任务。
16、优选的,在所述链上并行调度机制中,为了解决并行调度中资源冲突的问题,调度者节点会维护一张资源占用表,当某个资源已经被任务占用时,则会进行标记,如此,当其它的任务希望使用该资源时,发现已被占用,则会继续选择其它可供计算的资源;所有的任务调度结果将会被记录在调度者节点中,当任务执行完毕时,与任务调度和计算有关的操作流程都会被打包进区块,并与其它所有网络内的区块链节点同步。
17、优选的,在所述基于年龄代划分的领导者选举机制中,领导者负责生产并广播区块,每个区块内记录了大量关键数据。
18、优选的,在所述基于年龄代划分的领导者选举机制中,所述贡献度指通过对调度者所调度的任务数量、完成的任务质量等原因进行加总得出;且所述贡献度越大,被选举为领导者的概率越大。
19、优选的,在所述基于年龄代划分的领导者选举机制中,为了防止贡献度较大的节点长期能够被选为领导者,从而把控区块生成,则利用年龄代划分的方法将已经成为过领导者的节点放入老年代,在所有节点都被选举为领导者一次之后才能重新加入选举;同时为了对节点进行激励,拥有较高贡献度的节点被选举为领导者后,其所能生成区块的数量会更多,成为领导者后所维护网络的时间也会更长。
20、与现有技术相比,以上一个或多个技术方案存在以下有益效果:
21、1、本发明提出了调度域的概念,将区块链分割为不同的领域,以克服区块链固有的低性能,并设计了跨领域调度以加速任务调度。评估显示,跨域调度实现了1.6倍的调度加速。
22、2、本发明通过设计任务处理单元和资源优先级队列,实现了并行任务调度,以提高调度性能。并行调度技术在任务调度和处理方面具有10.5倍的速度提升。
23、3、本发明提出了基于年龄代的“贡献度证明”方法,这是一种实现快速共识和对区块链节点强大激励的区块生成方法。与pow相比,使用poc进行区块生成的延迟可以从165毫秒大幅降低至6.4纳秒。
24、4、本发明有望显著提高区块链对复杂计算任务的处理效率,从而拓展区块链技术的应用领域。使得金融、供应链管理、医疗保健和物联网等各行各业都可以受益于更加快速可靠的链上计算。
1.面向分布式协同计算机的区块链系统,其特征在于,包括:
2.根据权利要求1所述的面向分布式协同计算机的区块链系统,其特征在于:在所述算力平衡的区块链网络虚拟划分机制中,所述领导者和计算者为区块链网络中的所有节点分为两类而得。
3.根据权利要求2所述的面向分布式协同计算机的区块链系统,其特征在于:在所述算力平衡的区块链网络虚拟划分机制中,所述领导者负责在本调度域内的计算者上调度外部任务;所述计算者负责计算调度到其的任务,并记录计算过程,然后将计算结果返回给调度者;调度者还负责发放计算奖励。
4.根据权利要求3所述的面向分布式协同计算机的区块链系统,其特征在于:在所述算力平衡的区块链网络虚拟划分机制中,当一个节点加入网络的时候,若作为调度者加入,则其必须绑定一个或多个计算者加入,形成一个新的调度域;若作为计算者加入,则将根据整体网络算力均衡的原则将其分配到合适的调度域内。
5.根据权利要求4所述的面向分布式协同计算机的区块链系统,其特征在于:在所述算力平衡的区块链网络虚拟划分机制中,当一个新的任务被提起时,其将会在与其网络时延最短的调度域内进行调度,若该调度域不能完成其计算,则将会根据最短时延原则被传送到另外一个调度域,直到任务完成返回。
6.根据权利要求1所述的面向分布式协同计算机的区块链系统,其特征在于:在所述链上并行调度机制中,当任务在某个调度者节点上进行调度时,调度逻辑开始执行;且为了实现并行调度,调度者节点会启动多个智能合约虚拟机来同时运行调度函数,每个虚拟机的输入是不同的计算任务。
7.根据权利要求6所述的面向分布式协同计算机的区块链系统,其特征在于:在所述链上并行调度机制中,为了解决并行调度中资源冲突的问题,调度者节点会维护一张资源占用表,当某个资源已经被任务占用时,则会进行标记,如此,当其它的任务希望使用该资源时,发现已被占用,则会继续选择其它可供计算的资源;所有的任务调度结果将会被记录在调度者节点中,当任务执行完毕时,与任务调度和计算有关的操作流程都会被打包进区块,并与其它所有网络内的区块链节点同步。
8.根据权利要求7所述的面向分布式协同计算机的区块链系统,其特征在于:在所述基于年龄代划分的领导者选举机制中,领导者负责生产并广播区块,每个区块内记录了大量关键数据。
9.根据权利要求8所述的面向分布式协同计算机的区块链系统,其特征在于:在所述基于年龄代划分的领导者选举机制中,所述贡献度指通过对调度者所调度的任务数量、完成的任务质量进行加总得出;且所述贡献度越大,被选举为领导者的概率越大。
10.根据权利要求9所述的面向分布式协同计算机的区块链系统,其特征在于:在所述基于年龄代划分的领导者选举机制中,为了防止贡献度较大的节点长期能够被选为领导者,从而把控区块生成,则利用年龄代划分的方法将已经成为过领导者的节点放入老年代,在所有节点都被选举为领导者一次之后才能重新加入选举;同时为了对节点进行激励,拥有较高贡献度的节点被选举为领导者后,其所能生成区块的数量会更多,成为领导者后所维护网络的时间也会更长。