掌桥专利:专业的专利平台
掌桥专利
首页

一种分布式消息处理与分析方法、装置和产品

文献发布时间:2024-04-18 19:59:31


一种分布式消息处理与分析方法、装置和产品

技术领域

本申请涉及区块链技术领域,特别是一种分布式消息处理与分析方法、装置和产品。

背景技术

区块链是一种分布式的账本数据库,具有去中心化、数据可追溯、防篡改的特性。HashGraph区块链的结构是基于Gossip方法运行的。当一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输此新区块,目标服务器收到此新区块后,同样会产生一个区块,随机挑选一个目标服务器进行通信,以传输此新区块,系统以此往复,持续运行。当大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则系统可以进入新的轮次,在新的轮次下继续挑选目标服务器传播区块。

然而,现有的HashGraph算法,完全随机的挑选目标服务器进行通行,会存在多个服务器将新区块同时传播给某个目标服务器的可能性,导致该目标服务器性能超负荷、系统阻塞、甚至宕机的情况发生。因此,有必要开发一种分布式消息处理与分析方法、装置和产品,以实现平稳均衡的区块传播,避免出现服务器性能超负荷、系统阻塞、甚至宕机等问题。

发明内容

鉴于上述问题,本申请实施例提供了一种分布式消息处理与分析方法、装置和产品,以便克服上述问题或者至少部分地解决上述问题。

本申请实施例的第一方面,提供了一种分布式消息处理与分析方法,包括:

在确定进入新的区块传播轮次的情况下,获取分布式消息;

根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;

根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。

本申请实施例第二方面还提供了一种分布式消息处理与分析装置,所述装置包括:

分布式消息获取模块,用于在确定进入新的区块传播轮次时,获取分布式消息;

处理能力计算模块,用于根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;

区块发送指导模块,用于根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。

本申请实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。

本申请实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。

本申请实施例第五方面还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例第一方面所述的分布式消息处理与分析方法中的步骤。

本申请实施例提供的一种分布式消息处理与分析方法,包括:在确定进入新的区块传播轮次的情况下,获取分布式消息;根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。

本申请实施例建立了一种更加智能的随机的区块传播过程,通过获取分布式消息,根据分布式消息计算服务器的有效处理能力,根据服务器的有效处理能力的高低,对区块链集群节点产生区块后随机挑选目标进行传播的过程进行指导,使得区块链系统生成区块与接收区块的分布更加均匀并且符合实际情况,最大化利用集群节点硬件资源,增大系统吞吐量。

附图说明

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

图1是本申请实施例提供的一种分布式消息处理与分析方法的步骤流程图;

图2是本申请实施例提供的一种HashGraph算法的Gossip传播示意图;

图3是本申请实施例提供的一种HashGraph算法的区块传播轮次示意图;

图4是本申请实施例提供的一种马尔科夫链的状态转移示意图;

图5是本申请实施例提供的一种马尔科夫链细致平稳条件图;

图6是本申请实施例提供的一种区块传播的流程示意图;

图7是本申请实施例提供的一种分布式消息处理与分析装置的结构示意图:

图8是本申请实施例提供的一种电子设备的示意图。

具体实施方式

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

首先对本申请技术方案所涉及的技术用词进行简要说明。

区块链(BlockChain):区块链是一种分布式的账本数据库,具有去中心化、数据可追溯、防篡改的特性。在传统中心化数据存储系统中,即便采用异地灾备,面对瞬息万变的战场环境,也很难确保数据的安全性。而在采用区块链技术的系统中,则不需要一个中心化的存储与处理系统,整个系统的任何一个主体都可以存储一整套区块链账本,参与整个系统的数据处理过程。同时,区块链系统中的任一节点被摧毁都不会导致系统的数据丢失与功能瘫痪,可以保证在瞬息万变的战场环境下的可用性与安全性。区块链中的每一个区块都会包含前一个区块的散列值,这种数据加密方法使得数据间的联系更加紧密,被入侵修改数据的可能性微乎其微。

有向无环图(Directed Acyclic Graph,DAG)区块链:传统的区块链系统基于单链结构,区块以链表的方式向上生长。这种结构简单清晰,便于回溯,可在拓展性和性能方面有较大的缺陷。当区块链系统的节点数量增多时,由于需要向同一个链上追加区块,因此节点数量越多,达成共识的难度也越大,系统的吞吐量便会下降。而新型的DAG区块链,采用有向无环图方式构造区块链,每个区块都会指向若干个已确认区块,因此形成了一个有向无环图。DAG区块链与传统区块链工作机制的不同之处在于,后者需要完成工作量证明(Proofof Work,PoW)来执行每一笔交易,而DAG区块链能摆脱区块链的限制来完成这样的操作。不同的是,在DAG区块链中一笔交易接着另外一笔,这意味着一笔交易能够对下一笔交易提供证明,由此一直排序下去。这些交易之间的连接就是DAG,就像区块通过哈希值来向整条区块链提供它们的名字一样。在传统块链式区块链中,每笔交易都要花费不少时间,而对于DAG区块链来说,交易时间将变得微不足道。

哈希图(HashGraph):HashGraph是一种数据结构和共识算法,属于DAG图,是一个底层的出块层,由多条链以及链之间的相互引用组成。HashGraph在共识过程中节点间只需进行少量的数据交互便能保证一致性,减少了网络开销。在HashGraph算法中,每次算法的共识达成都需要统计所有节点的虚拟投票,当节点数量增多时,统计难度也会增加。并且HashGraph算法是一个异步拜占庭容错算法,其共识的顺利达成至少需要全网2/3的节点是可信节点,一旦恶意节点超过1/3,算法将无法保障系统的安全。通过获取每个节点共有的信息以及获取信息的时间,可获取节点的投票信息,从而获得虚拟的投票数据。该数据可以用作投票算法的输入,并且利用该数据能够快速找到已达成共识的交易。确保所有成员获取所有事件后,还需要对事件以及交易的线性顺序记录保存在事件的内部。

HashGraph区块链的结构是基于Gossip方法运行的。当一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输此新区块,目标服务器收到此新区块后,同样会产生一个区块,随机挑选一个目标服务器进行通信,系统以此往复,持续运行。当大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则系统可以进入新的轮次,在新的轮次下继续挑选目标服务器传播区块。

但是完全随机的挑选目标服务器进行通信,会存在多个服务器将新区块同时传播给某个服务器的可能性,导致该目标服务器性能超负荷、系统阻塞、甚至宕机的情况发生。

为了避免系统中某些服务器堆积大量区块导致系统阻塞,常见的处理方式是:不使用完全随机的方式挑选目标服务器发送区块,而是以一定的预设概率进行发送。示例性的,集群中存在A、B、C三个服务器,考虑B服务器性能更强,则A、C服务器以更高的概率将区块发送给B服务器,对应的概率值依据经验或者实践判断。上述方法存在如下缺点:缺点1:需要对服务器进行考量的因素不应只有机器性能。缺点2:依据经验或者实践难以得出准确的区块发送概率分布,存在偏差。缺点3:机器服务器的性能、活跃度等因素会实时变化,预设的目标分布可能并不适用于系统运行时全周期的情况。所以,仍然无法实现区块链的均衡平稳的区块传播。

鉴于上述问题,本申请实施例提出一种分布式消息处理与分析方法、装置和产品,以解决上述区块传播过程中的系统阻塞、服务器性能超负荷等问题。下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的一种分布式消息处理与分析方法进行详细地说明。

本申请实施例第一方面提供了一种分布式消息处理与分析方法,参照图1,图1为本申请实施例提供的一种分布式消息处理与分析方法的步骤流程图,如图1所示,所述方法包括:

步骤S101,在确定进入新的区块传播轮次的情况下,获取分布式消息。

在本实施例中,可以通过分布式系统中的HashGraph算法确定进入新的区块传播轮次时,获取分布式消息,所述分布式消息表示服务器集群中各个服务器的实时状态信息。

参照图2,图2示出了一种HashGraph算法的Gossip传播示意图,如图2所示,对于HashGraph算法,在服务器A、B、C、D之间传播区块的过程中,只有在其中的一个服务器在收到一个区块后,会产生一个区块并随机挑选一个目标服务器进行通信,传输新区块,如图2中服务器B接收到一个区块后,随机向服务器D发送新的区块。目标服务器收到此新区块后,同样会产生一个新区块,随机挑选另一个目标服务器进行通信,系统以此往复,持续运行。

参照图3,图3示出了一种HashGraph算法的区块传播轮次示意图,如图3所示,该传播区块的过程是逐轮次依次进行的。当大部分(超过服务器总数的2/3)服务器的区块在系统上被除自身以外的大部分(超过服务器总数的2/3)服务器接收,则系统可以进入新的轮次,如图3所示,在服务器A、B、C、D之间传播区块的过程中,服务器A、B、C、D分别产生区块a1、b1、c1、d1时表示进入新一轮次,在该轮次下,各个服务器继续挑选目标服务器传播区块。传播一定时间后,再次发生大部分(超过2/3)服务器的区块在系统上被大部分(超过2/3)服务器接收,则该系统重新进行一个新的轮次,如图3所示的服务器A、B、C、D分别产生区块a2、b2、c2、d2时表示又进入新一轮次。分布式消息表示在当前时刻服务器的各项状态相关信息,包括负载情况、受攻击信息、响应速度信息和错误区块相关信息等。在本实施例中,每进入一个新的轮次,则重新获取分布式消息,为后续计算服务器的有效处理能力做准备,从而保证了能够及时根据服务器的实时状态进行分析,得到更为准确的有效处理能力评估结果。

步骤S102,根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力。

在本实施例中,所述能力评估模型用于从服务器的剩余性能、安全性、活跃度和可信度四个方面对服务器的有效处理能力进行计算;能力评估模型用于根据服务器在系统中的表现决定其有效处理能力的高低,能力评估模型与奖励机制结合在一定程度上增大了模型对服务器的威慑作用。可选的,该能力评估模型可以为信誉度模型,该有效处理能力可以为该服务器的信誉度。通过对所有服务器可能存在的威胁系统效率的行为进行分析,得出服务器的考察因素主要分为性能、安全性、活跃度、可信度四个方面。

本实施例综合考量区块链系统集群中各个服务器的剩余性能、安全性、活跃度和可信度,从而实现对服务器的有效处理能力更为准确的评估,让有效处理能力更高的服务器有能力处理更多的区块,使得其它服务器能够以更高的概率将区块发送给“有效处理能力高”的服务器进行处理。相比于相关技术中,仅仅对服务器的机器性能考量,进而优先向机器性能更高的服务器发送区块的方法,本申请能够更加全面充分的对每个服务器进行评估,从而确定出更为合适的服务器。

在一种可选的实施方式中,所述步骤S102,根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力,包括:

步骤S1031,根据所述分布式消息,至少计算服务器的CPU与内存负载程度,得到服务器剩余性能分值。具体的,服务器的剩余性能(Surplus Computing power,Sc)表示服务器的剩余计算能力。能力评估模型可以根据输入的分布式消息,提取得到服务器的CPU与内存负载相关的信息,从而根据计算得到的负载情况,从预设的Sc分值表中,确定得到的服务器剩余性能分值(Sc分值)。示例性的,预设的Sc分值表可以表示为如下形式:

步骤S1032,根据所述分布式消息,至少计算服务器的受攻击概率,得到服务器安全性分值;具体的,服务器的安全性(Possibility ofbeingAttacked,Pa)表示服务器受到外界攻击的概率高低。能力评估模型可以根据输入的分布式消息,提取得到服务器受攻击的相关信息,从而根据计算得到的受攻击概率,从预设的Pa分值表中,确定得到的服务器安全性分值(Pa分值)。示例性的,预设的Pa分值表可以表示为如下形式:

步骤S1033,根据所述分布式消息,至少计算服务器的响应时间,得到服务器活跃度分值;具体的,服务器的活跃度(Reposting Time,Rt)表示服务器响应请求的速度快慢。能力评估模型可以根据输入的分布式消息,提取得到服务器在近段时间内响应对应请求所花费的时间长短,从而根据计算得到的服务器的响应时间,从预设的Rt分值表中,确定得到的服务器安全性分值(Rt分值)。示例性的,预设的Rt分值表可以表示为如下形式:

步骤S1034,根据所述分布式消息,至少计算服务器的错误区块数量,得到服务器可信度分值;具体的,服务器的可信度(mistake rate,Mr)表示服务器发生错误的概率高低。能力评估模型可以根据输入的分布式消息,提取得到服务器在近段时间内产生的错误区块数量,从而根据计算得到的服务器的可信度,从预设的Mr分值表中,确定得到的服务器可信度分值(Mr分值)。示例性的,预设的Mr分值表可以表示为如下形式:

步骤S1034,根据预设调控系数,至少综合所述服务器剩余性能分值、所述服务器安全性分值、所述服务器活跃度分值和所述服务器可信度分值,得到该服务器的所述有效处理能力。

具体的,按照如下公式,利用预设调控系数,至少对服务器剩余性能分值、服务器安全性分值、服务器活跃度分值和服务器可信度分值进行加权求和,将得到的结果作为对应服务器的有效处理能力的值:

信誉度Fame=αSc+βPa+εRt+σMr;

其中,α表示服务器剩余性能分值Sc的预设调控系数,β表示服务器安全性分值、ε表示服务器活跃度分值的预设调控系数、σ表示服务器可信度分值的预设调控系数。

此外,在实际应用过程中,可以根据实际情况(例如系统对服务器的剩余性能、安全性、活跃度和可信度的不同重视程度)对各项预设调控系数的大小进行调整。示例性的,若当前系统运行过于缓慢,可以提高服务器剩余性能分值Sc的预设调控系数,并适当降低其他分支的预设调控系数,则当前系统中剩余性能更高的服务器能够取得更高的有效处理能力评估结果,其他服务器在发送区块时,更可能发送给性能更强的服务器处理,依次提高了系统整体的吞吐量。

步骤S103,根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。

在一种可选的实施方式中,所述步骤S103,根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器,包括:

步骤S1031,根据所述每个服务器的有效处理能力,计算目标概率分布;其中,所述目标概率分布,表示该区块传播轮次中,所述每个服务器接收的区块数量在总区块数量中的占比。具体的,可以表示为:

π=(x

在一种可能的实施方式中,所述步骤S1031,根据所述每个服务器有效处理能力,计算目标概率分布,包括:

步骤S1031-1,将所述每个服务器的有效处理能力分别与预设的权重映射表进行匹配,得到所述每个服务器各自在服务器集群中的权重。

具体的,将每个服务器的有效处理能力(例如,信誉度Fame)分别与权重映射表进行匹配,从表中确定出每个服务器各自在集群中的权重B

表1

示例性的,通过步骤S102确定服务器A的有效处理能力的值为15,则可以通过权重映射表,查询得到服务器A的权重B

步骤S1031-2,将所有服务器的权重B

步骤S1031-3,对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重。

为避免服务器集群中个别服务器的有效处理能力的分值过高,使得该服务器成为热点,出现集群中大部分的服务器均向其发送区块的问题,需要对服务器的权重进行调和,使得服务器的调和后权重更为均衡。

在一种可能的实施方式中,所述步骤步骤S1031-3,对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重,包括:

从所有服务器中确定出待调和服务器,所述待调和服务器为权重的值超出所述总权重的二分之一的服务器。

在确定每个服务器的权重B

对于每个所述待调和服务器,将超出部分按照原权重比例分配给所述服务器集群中的剩余服务器,得到调和后权重;所述原权重比例表示所有服务器之间的权重的比例。

具体的,对于每个待调和服务器,将超过部分,即

步骤S1031-4,根据所述每个服务器的所述调和后权重与所述总权重的比例,生成所述目标概率分布。

具体的,将每个服务器的调和后权重B

其中,π表示目标概率分布,x

步骤S1032,根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵;所述转移矩阵用于表示服务器发送区块给另一服务器的概率。

马尔科夫链蒙特卡洛方法(Markov Chain Monte Carlo,MCMC)是以马尔科夫平稳状态作为理论基础,蒙特卡洛方法作为手段的概率序列生成技术。该采样计算方法在蒙特卡洛模拟的基础上添加了马尔科夫过程,因此该方法能够在抽样分布随模拟过程中进行实时改变的动态模拟。在使用HashGraph算法的同时,如果新区块上链的位置不够均衡,则多个新区块会以高频率指向相同的父区块,此时DAG图就会退化成多个树状结构,显著降低系统的并发性。因此,拟采用基于MCMC的高并发上链算法,利用算法的随机采样功能来获取更加均衡的区块上链位置,从而解决上述问题。

转移矩阵P中的每个元素P

参照图5,图5示出了一种马尔科夫链细致平稳条件图,如图5所示,满足遍历定理的转移矩阵P,不仅满足Pπ=π,并且能够在任意初始分布π

在一种可能的实施方式中,所述步骤S1032,根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵,包括:

步骤S1032-1,获取矩阵Q;所述矩阵Q中的每个元素随机取值。矩阵Q可以按照如下公式表示:

步骤S1032-2,根据所述目标概率分布,所述矩阵Q和所述马尔科夫链细致平稳条件,生成调和矩阵U,所述调和矩阵U与所述矩阵Q组合满足所述马尔科夫链细致平稳条件,即满足如下公式:

u

具体的,将所述矩阵Q带入马尔科夫链细致平稳条件,由于矩阵Q中的元素为随机取值所得,所以矩阵Q与区块分布π组成不等式q

因等式两边只做数值运算,对于调和矩阵U中的元素,可以取值为:

其中,u

步骤S1032-3,根据所述矩阵Q和所述调和矩阵U,生成所述转移矩阵,所述转移矩阵满足如下公式:

其中,P

由此,使得转移矩阵P始终满足马尔科夫链细致平稳条件,并存在唯一平稳分布π。

转移矩阵P中的每个元素P

步骤S1033,利用所述转移矩阵,构建所述每个服务器的几何概率模型。

在本实施例中,在计算得到转移矩阵后,就可以得到各个服务器将区块发送给其它服务器的概率分布,从而构建几何概率模型,该几何概率模型用于表示服务器向其他服务器发送区块的概率。本申请实施例根据服务器之间的区块发送的转移矩阵,通过马尔科夫链模型计算各个服务器准确的发送区块给其它服务器的概率,然后构造几何概率模型对区块发送的随机过程进行模拟,以符合根据服务器有效处理能力得出的区块接收概率,使得各个服务器在综合考量四个维度后,区块的分布更加均衡,更适应服务器的实际情况。

在一种可能的实施方式中,所述步骤S1033,利用所述转移矩阵,构建所述每个服务器的几何概率模型,包括:

步骤S1033-1,根据所述转移矩阵中的每个元素的值的大小,确定每个服务器将区块发送给所述服务器集群中的其他服务器的概率分布。

在本实施例中,在计算得到转移矩阵后,就可以得到各个服务器将区块发送给其它服务器的概率分布,从而构建几何概率模型,该几何概率模型用于表示服务器向其他服务器发送区块的概率。

步骤S1033-2,根据模拟方法,对于每个所述概率分布进行数学建模,得到每个服务器的所述几何概率模型,所述几何概率模型表示为如下公式:

其中,α

步骤S1034,在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,所述区块发送指导信息用于指导该服务器将区块发送至所述目标服务器。

在本实施例中,在该区块发送轮次内,对于该服务器集群中的任意一个服务器,在产生新的区块时,使该服务器的几何概率模型根据区块发送请求生成对应的区块发送指导消息,从而使得服务器根据该区块发送指导消息,将生成的区块发送给目标服务器。

在一种可选的实施方式中,所述步骤S1034,在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,包括:

步骤S1034-1,在接收到服务器的区块发送请求时,在预设数值范围内进行随机抽样,得到随机值;可选的,该预设数值范围为(0,1]。

步骤S1034-2,根据所述随机值,从该服务器的所述几何概率模型中,确定所述随机值所属的取值范围α

步骤S1034-3,根据所述目标服务器,生成所述区块发送指导信息。

示例性的,在服务器A、B、C中,服务器A的概率分布为[0.2,0.4,0.5],则由此构建的服务器A的几何概率模型可以表示为:服务器B的取值范围αt∈(0,0.2],服务器C的取值范围α

在本实施例中,随着HashGraph算法在服务器集群中的运行,当大部分(超过服务器总数的2/3)服务器的区块在系统上被除自身以外的大部分(超过服务器总数的2/3)服务器接收,则系统可以进入新的轮次。每进入一个新的区块发送轮次,则需要重新统计服务器状态(重新统计服务器的剩余性能、响应时间、可信度、安全性),即重新获取分布式消息,通过能力评估模型计算得到新的有效处理能力评估结果,进而得到新的转移矩阵。从而根据新的转移矩阵,建立每个服务器新的几何概率模型,以指导各个服务器向目标服务器发送区块。

参照图6,图6示出了一种区块传播的流程示意图,如图6所示,该流程具体为:

步骤1、在服务器A、B、C、D、E上实现HashGraph区块链网络,使用Gossip方法传播区块。首先在各个服务器上实现接收区块的功能,使之能够接收其他服务器发送的区块,然后在各个服务器上实现产生区块的功能,在服务器接收到区块后触发,最后,在服务器上的区块链系统启动时,主动发送一个创世区块给其它服务器,以触发整个HashGraph的Gossip流程,即收到区块后,产生区块并传播,以此往复。

步骤2、构建信誉度模型,该信誉度模型能够从服务器的剩余算力、下线频率、响应时间和错误率各方面对服务器的信誉度进行评估计算。

步骤3、划分轮次,根据HashGraph算法,在进入新的一个区块传播轮次时,统计最新的服务器状态(获取分布式消息),即根据系统运行情况,统计各个服务器的剩余性能Sc、响应时间Rt、安全性Pa、可靠性Mr,根据这4个维度的量化统计结果,映射到信誉度模型中,得到服务器A、B、C、D、E各自的信誉度。

步骤4、获得区块分布。根据信誉度得到服务器在集群中的权重,进而得出各个服务器接收区块概率的目标概率分布。具体的,根据服务器A、B、C、D、E各自的信誉度,得到服务器接收区块的斐波拉契数列权重,斐波拉契数列权重值可以通过各服务器的信誉度与服务器信誉度权重映射表得出。根据信誉度映射权重值,得到服务器A、B、C、D、E接收区块的目标概率分布。

步骤5、计算转移矩阵。具体的,根据得到的目标概率分布,使用马尔科夫链模型,求出各个服务器发送区块给其它服务器的概率分布,得到转移矩阵P,转移矩阵P中的元素P

步骤6、指导服务器发送区块。具体的,根据求得的转移矩阵,使用蒙特卡洛方法,构造几何概率模型,模拟服务器发送区块的随机过程,对服务器进行指导。在建立几何概率模型后,构造样本空间[0,1)。使用随机数方法在样本空间[0,1)内进行抽样,例如取到随机数0.435。根据随机数确定目标服务器模型,以服务器C为例,服务器C以概率0.2发送区块给A,以概率0.8发送区块给B。因0.435>0.2,故服务器C将下一个区块发送给服务器B,服务器B为目标服务器。如图6所示,向服务器C发送指导信息,以指导服务器C向服务器B发送区块。

随着系统运行并进入HashGraph新轮次,重新从4个维度(剩余算力、响应时间、安全性、可靠性)实时统计系统运行情况,获取新的分布式消息,刷新信誉度模型,计算得到最新的服务器的信誉度,重新计算目标概率分布,并得到最新的服务器发送区块的转移矩阵,利用转移矩阵进行蒙特卡洛模拟,重新构建几何概率模型,以此指导各个服务器发送区块,满足最新的服务器集群实际运行要求。

如图6所示,本申请实施例建立了一种更加智能的随机的区块传播过程,综合且动态的考量了集群节点的性能(安全性、活跃度、可信度四个方面),根据MCMC方法生成平稳概率分布,对区块链集群节点产生区块后随机挑选目标进行传播的过程进行指导,使得区块链系统生成区块与接收区块的分布更加均匀并且符合实际情况,最大化利用集群节点硬件资源,增大系统吞吐量。本申请实施例使基于HashGraph的区块链发送区块的随机过程,区块能够更加贴合实际的,相对均匀且稳定的分布在各个服务器间,避免了在区块绝对均匀分布到各个服务器的情况下,低性能服务器高负载但高性能服务器低负载的情况。本申请利用能力评估模型,在综合考量机器性能、响应时间、安全性、正确性等系统服务器相关因素的情况下,得到区块在各个服务器间的目标概率分布,相比于绝对均匀分布更科学,更符合实际情况,使得各个服务器均能在能力范围内发挥最大作用,提高了系统整体吞吐量。本申请还能够根据区块在服务器间的目标概率分布,准确求出各个服务器发送区块给其它服务器的概率(转移矩阵),能够根据该转移矩阵指导服务器发送区块。并且,本申请能够根据实际系统运行情况,随系统运行而实时调整发送区块的概率,修正区块分布,抑制了服务器小概率危害事件的发生。

本申请实施例第二方面还提供了一种分布式消息处理与分析装置,参照图7,图7示出了一种分布式消息处理与分析装置的结构示意图,如图7所示,所述装置包括:

分布式消息获取模块,用于在确定进入新的区块传播轮次时,获取分布式消息;

处理能力计算模块,用于根据所述分布式消息,利用能力评估模型确定每个服务器的有效处理能力;

区块发送指导模块,用于根据所述每个服务器的有效处理能力,指导服务器将区块发送至目标服务器。

在一种可选的实施方式中,所述区块发送指导模块,包括:

目标概率分布计算模块,用于根据所述每个服务器的有效处理能力,计算目标概率分布;其中,所述目标概率分布,表示该区块传播轮次中,所述每个服务器接收的区块数量在总区块数量中的占比;

转移矩阵计算模块,用于根据所述目标概率分布,使用马尔科夫链细致平稳条件,计算转移矩阵;所述转移矩阵用于表示服务器发送区块给另一服务器的概率;

几何概率模型构建模块,用于利用所述转移矩阵,构建所述每个服务器的几何概率模型;

指导信息生成模块,用于在接收到服务器的区块发送请求时,根据该服务器对应的所述几何概率模型,生成区块发送指导信息,所述区块发送指导信息用于指导该服务器将区块发送至目标服务器。

在一种可选的实施方式中,所述目标概率分布计算模块,包括:

权重确定子模块,用于将所述每个服务器的有效处理能力分别与预设的权重映射表进行匹配,得到所述每个服务器各自在服务器集群中的权重;

总权重确定子模块,用于将所有服务器的权重相加,得到总权重;

调和子模块,用于对所述每个服务器的权重进行调和,得到所述每个服务器的调和后权重;

目标概率分布生成子模块,用于根据所述每个服务器的所述调和后权重与所述总权重的比例,生成所述目标概率分布。

在一种可能的实施方式中,所述调和子模块,包括:

服务器确定单元,用于从所有服务器中确定出待调和服务器,所述待调和服务器为权重的值超出所述总权重的二分之一的服务器;

调和单元,用于对于每个所述待调和服务器,将超出部分按照原权重比例分配给所述服务器集群中的剩余服务器,得到调和后权重;所述原权重比例表示所有服务器之间的权重的比例。

在一种可能的实施方式中,所述转移矩阵计算模块,包括:

矩阵Q获取子模块,用于获取矩阵Q;所述矩阵Q中的每个元素随机取值;

调和矩阵确定子模块,用于根据所述目标概率分布,所述矩阵Q和所述马尔科夫链细致平稳条件,生成调和矩阵U,所述调和矩阵U与所述矩阵Q组合满足所述马尔科夫链细致平稳条件,即满足如下公式:

u

转移矩阵确定子模块,用于根据所述矩阵Q和所述调和矩阵U,生成所述转移矩阵,所述转移矩阵满足如下公式:

其中,P

在一种可能的实施方式中,所述几何概率模型构建模块,包括:

概率分布确定子模块,用于根据所述转移矩阵中的每个元素的值的大小,确定每个服务器将区块发送给所述服务器集群中的其他服务器的概率分布;

几何概率模型生成子模块,用于根据模拟方法,对于每个所述概率分布进行数学建模,得到每个服务器的所述几何概率模型,所述几何概率模型表示为如下公式:

服务器S的几何概率模型

其中,α

在一种可能的实施方式中,所述指导信息生成模块,包括:

随机抽样子模块,用于在接收到服务器的区块发送请求时,在预设数值范围内进行随机抽样,得到随机值;

目标服务器确定子模块,用于根据所述随机值,从该服务器的所述几何概率模型中,确定所述随机值所属的取值范围α

指导信息生成子模块,用于根据所述目标服务器,生成所述区块发送指导信息。

在一种可能的实施方式中,所述处理能力计算模块,包括:

剩余性能计算子模块,用于根据所述分布式消息,至少计算服务器的CPU与内存负载程度,得到服务器剩余性能分值;

安全性计算子模块,用于根据所述分布式消息,至少计算服务器的受攻击概率,得到服务器安全性分值;

活跃度计算子模块,用于根据所述分布式消息,至少计算服务器的响应时间,得到服务器活跃度分值;

可信度计算子模块,用于根据所述分布式消息,至少计算服务器的错误区块数量,得到服务器可信度分值;

处理能力计算子模块,用于根据预设调控系数,至少综合所述服务器剩余性能分值、所述服务器安全性分值、所述服务器活跃度分值和所述服务器可信度分值,得到该服务器的所述有效处理能力。

本申请实施例还提供了一种电子设备,参照图8,图8是本申请实施例提出的电子设备的示意图。如图8所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,进而实现本申请实施例公开的分布式消息处理与分析方法中的步骤。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现如本申请实施例公开的分布式消息处理与分析方法中的步骤。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本申请实施例所公开的分布式消息处理与分析方法的步骤。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本申请实施例是参照根据本申请实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种分布式消息处理与分析方法、装置和产品,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种富文本编辑器的生成方法及装置
  • 一种生成电子合同的方法及服务器
  • 一种基于富文本提供响应事件的方法、装置和计算机记录介质
  • 一种基于OFD文档的增量修改方法
  • 一种基于富文本生成OFD电子合同的方法
  • 一种基于富文本生成OFD电子合同的方法
技术分类

06120116519037