CN110620818B - 一种实现节点分配的方法、装置及相关设备 - Google Patents

一种实现节点分配的方法、装置及相关设备 Download PDF

Info

Publication number
CN110620818B
CN110620818B CN201910883472.9A CN201910883472A CN110620818B CN 110620818 B CN110620818 B CN 110620818B CN 201910883472 A CN201910883472 A CN 201910883472A CN 110620818 B CN110620818 B CN 110620818B
Authority
CN
China
Prior art keywords
verified
node
program
distribution
running
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910883472.9A
Other languages
English (en)
Other versions
CN110620818A (zh
Inventor
金志宇
何光宇
金铸
武二亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201910883472.9A priority Critical patent/CN110620818B/zh
Publication of CN110620818A publication Critical patent/CN110620818A/zh
Application granted granted Critical
Publication of CN110620818B publication Critical patent/CN110620818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种实现节点分配的方法、装置及相关设备,用于实现高效地对应用程序进行验证,该方法包括:获取待验证程序集合,待验证程序集合中包括至少一个待验证程序;确定将各个待验证程序分配到运行节点的各种分配方式;针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;选择单个运行节点的最长运行时间最小的分配方式,作为目标分配方式;按照目标分配方式,将各个待验证程序分配到相应的运行节点进行验证。

Description

一种实现节点分配的方法、装置及相关设备
技术领域
本申请涉及互联网技术领域,具体涉及一种实现节点分配的方法、装置及相关设备。
背景技术
在一些应用场景中,应用程序在正式运行之前,需要利用运行节点对应用程序进行验证,只有通过验证的应用程序才可以在系统中运行。通常情况下,对于一个待验证的应用程序,可以从多个运行节点中选择至少一个运行节点对其进行验证。然而,由于每个运行节点的运行能力不同,使得不同的运行节点的验证效率不同,因此,如何选择合适的运行节点进行验证是亟需解决的问题。
发明内容
有鉴于此,本申请实施例提供一种实现节点分配的方法、装置及相关设备,以实现高效地对应用程序进行验证。
为解决上述问题,本申请实施例提供的技术方案如下:
一种实现节点分配的方法,所述方法包括:
获取待验证程序集合,所述待验证程序集合中包括至少一个待验证程序;
确定将各个所述待验证程序分配到运行节点的各种分配方式;
针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;
选择所述单个运行节点的最长运行时间最小的分配方式,作为目标分配方式;
按照所述目标分配方式,将各个所述待验证程序分配到相应的运行节点进行验证。
在一种可能的实现方式中,所述确定将各个所述待验证程序分配到运行节点的各种分配方式,包括:
将m个待验证程序进行全排列,得到m!种排列顺序,m为大于或等于1的整数;
确定按照第v种排列顺序,将m个所述待验证程序分配到运行节点的各种分配方式,v取1至m!的整数;
所述选择所述单个运行节点的最长运行时间最小的分配方式,作为目标分配方式,包括:
在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式;
在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式。
在一种可能的实现方式中,所述在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式,包括:
建立初始分配矩阵;所述初始分配矩阵为m行n列的矩阵,所述初始分配矩阵表征根据分配策略将每个所述待验证程序分配到全部可能运行的运行节点,n为运行节点的数量;
按照第v种排列顺序,将所述初始分配矩阵作为当前分配矩阵,将所述第v种排列顺序中第一顺位的待验证程序对应的行向量作为当前行向量,执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵;将所述第v种排列顺序中下一顺位的待验证程序对应的行向量作为当前行向量,重复执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,直到所述第v种排列顺序中每一顺位的待验证程序对应的行向量均被执行;
将最终得到的当前分配矩阵作为所述第v种排列顺序对应的最优分配矩阵,所述第v种排列顺序对应的最优分配矩阵表征所述第v种排列顺序对应的最优分配方式。
在一种可能的实现方式中,所述执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,包括:
在满足分配策略且按照将每个所述待验证程序分配给最少的运行节点的情况下,生成所有可能的行向量组合,将每一种可能的行向量组合分别代入到所述当前分配矩阵的当前行向量,生成一组待选分配矩阵;
针对每个所述待选分配矩阵对应的分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的第一最长运行时间;
选择所述单个运行节点的第一最长运行时间最小的分配方式对应的待选分配矩阵为当前分配矩阵。
在一种可能的实现方式中,所述在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式,包括:
在m!种排列顺序分别对应的最优分配方式中,选择所述单个运行节点的第二最长运行时间最小的分配方式作为目标分配方式。
在一种可能的实现方式中,所述运行时间根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定。
在一种可能的实现方式中,所述待验证程序为智能合约,所述运行节点为区块链组织中的节点。
一种实现节点分配的装置,所述装置包括:
获取单元,获取待验证程序集合,所述待验证程序集合中包括至少一个待验证程序;
第一确定单元,用于确定将各个所述待验证程序分配到运行节点的各种分配方式;
第二确定单元,用于针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;
选择单元,用于选择所述单个运行节点的最长运行时间最小的分配方式,作为目标分配方式;
分配单元,用于按照所述目标分配方式,将各个所述待验证程序分配到相应的运行节点进行验证。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的实现节点分配的方法。
一种实现节点分配的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现所述的实现节点分配的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例首先获取待验证程序集合,该待验证程序集合中包括至少一个待验证程序。将各个待验证程序分配到运行节点,确定各个待验证程序分配到运行节点的各种分配方式。针对每种分配方式,根据各个运行节点所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间。即,针对一种分配方式,获得该种分配方式下每个运行节点运行所分配的待验证程序的运行时间,并确定该种分配方式下单个运行节点的最长运行时间。当获得每一种分配方式对应的单个运行节点的最长运行时间,选择单个运行节点的最长运行时间最小的分配方式,将其作为目标分配方式。最后,按照目标分配方式将各个待验证程序分配到相应的运行节点进行验证。
可以理解的是,为使得一组待验证程序在分配到相应的运行节点后,运行节点进行验证的运行时间最短,根据木桶理论,单个运行节点的最长运行时间为验证改组待验证程序整体的最终运行时间,则通过在各种分配方式中最小化单个运行节点的最长运行时间,从而获得目标分配方式。即,本申请根据各个运行节点运行所分配的待验证程序的运行时间来确定目标分配方式,提高验证效率。
附图说明
图1为本申请实施例提供的一种实现节点分配的方法的流程图;
图2为本申请实施例提供的一种确定目标分配方式的方法的流程图;
图3为本申请实施例提供的一种获得最优分配矩阵的方法流程图;
图4为本申请实施例提供的一种对当前分配矩阵的当前行向量进行冗余消除的方法流程图;
图5为本申请实施例提供的一种实现节点分配的框架图;
图6为本申请实施例提供的一种实现节点分配的装置结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
发明人在对区块链中智能合约背书研究中发现,智能合约在区块链上运行时,需要区块链中各组织的节点给予背书,满足该智能合约约定的背书条件的智能合约才可以在区块链系统中执行。其中,智能合约背书是指,智能合约在节点上预运行,得到节点的签名认可。对于一个智能合约,可以选择的背书节点很多,但是在复杂的区块链系统中,由于参与区块链的组织大小不同,各个组织部署节点的主机计算能力也有强弱,每个节点的网络情况也有不同,所以智能合约如何选择背书节点,使背书的时间最快、效率最高就成了一个重要的问题。
在现有区块链系统中,智能合约背书通常采用以下两种方式:一种是,由发起合约方选择背书节点,这种方式实现简单,由用户通过客户端选择背书的节点。然而,客户端只能识别常用的节点,对于新加入的节点往往不能识别。当智能合约较多时,会增加节点的背书负荷,无法实现效率最大化。另一种是,轮询或随机选择背书节点,即由服务端自由选择背书节点,这种方式可以解决少数节点负荷较大的问题,但并没有解决节点之间的性能差异和网络差异的问题,导致性能较弱的节点运行较慢,整体效率低下。
未被背书的智能合约可以理解为一个待验证程序,为智能合约提供背书的区块链节点可以理解为运行节点,则可以将待验证程序分配到运行节点上进行验证,以实现智能合约在节点的背书。
基于此,本申请实施例提供了一种实现节点分配的方法,具体地,针对待验证程序集合,将待验证程序集合中的每个待验证程序进行分配,确定各个待验证程序分配到运行节点的各种分配方式。针对每一种分配方式,根据该种分配方式下各个运行节点运行其所分配的待验证程序的运行时间,确定出该种分配方式对应的单个运行节点的最长运行时间。当获得每种分配方式对应的单个运行节点的最长运行时间,将单个运行节点的最长运行时间最小的分配方式作为目标分配方式。然后,按照目标分配方式,将各个待验证程序分配到相应的运行节点进行验证。
另外,在确定每个运行节点运行所分配的待验证程序的运行时间时,是根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定的。即,本申请在确定待验证程序的最优分配方式时,考虑了不同运行节点的计算能力和网络情况使得其在运行所分配的待验证程序时,使用不同的运行时间,从而为每个待验证程序配置最优的运行节点,提高验证效率。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
参见图1,该图为本申请实施例提供的一种实现节点分配的方法的流程图,如图1所示,该方法可以包括:
S101:获取待验证程序集合。
S102:确定各个待验证程序分配到运行节点的各种分配方式。
本实施例中,首先获取需要进行验证的待验证程序集合,该待验证程序集合中可以包括至少一个待验证程序。然后,对待验证程序集合中的待验证程序进行分配,获得多种分配方式。具体地,将每个待验证程序分配给相同或不同的运行节点,以获得多种分配方式,其中,每个运行节点可以被分配多个待验证程序。例如,待验证程序集合中包括两个待验证程序分别为待验证程序1和待验证程序2,存在两个运行节点分别为运行节点1和运行节点2,则可能的存在分配方式,第一种分配方式:运行节点1分配待验证程序1、运行节点2分配待验证程序2;第二种分配方式:运行节点1分配待验证程序2,运行节点2分配待验证程序1;第三种分配方式:运行节点1分配待验证程序1和待验证程序2,运行节点2不分配待验证程序;第四种分配方式:运行节点1不分配待验证程序,运行节点2分配待验证程序1和待验证程序2。
S103:针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的最长运行时间。
当获得多种分配方式时,针对每种分配方式,计算该种分配方式下每个运行节点运行所分配的待验证程序的运行时间,并选择出该种分配方式对应的单个运行节点的最长运行时间,从而获得每种分配方式对应的单个运行节点的最长运行时间。例如,第一种分配方式:运行节点1运行待验证程序1的运行时间为t11,运行节点2运行待验证程序2的运行时间为t12,如果t11<t12,则第一种分配方式对应的单个节点的最长运行时间为t12;第二种分配方式:运行节点1运行待验证程序2的运行时间为t21,运行节点2运行待验证程序1的运行时间为t22,如果t21>t22,则第二种分配方式对应的单个节点的最长运行时间为t21;第三种分配方式:运行节点1运行待验证程序1和待验证程序2的运行时间为t31,由于运行节点2不分配待验证程序,其对应的运行时间为0,则第三种分配方式对应的单个运行节点的最长运行时间为t31;第四种分配方式:运行节点2运行待验证程序1和待验证程序2的运行时间为,由于运行节点1不分配待验证程序,其对应的运行时间为0,则第四种分配方式对应的单个运行节点的最长运行时间为t41
S104:选择单个运行节点的最长运行时间最小的分配方式,作为目标分配方式。
当获得每种分配方式对应的单个运行节点的最长运行时间,将其中单个运行节点的最长运行时间最小的分配方式确定为目标分配方式,即从多个最长运行时间中选择最小的最长运行时间,将该最小的最长运行时间对应的分配方式确定为目标分配方式。例如,共存在4种分配方式,第一种分配方式对应的单个运行节点的最长运行时间为t12,第二种分配方式对应的单个运行节点的最长运行时间为t21,第三种分配方式对应的单个运行节点的最长运行时间为t31,第四种分配方式对应的单个运行节点的最长运行时间为t41,其中,t12>t41>t31>t21,则将t21对应的第二种分配方式作为目标分配方式。
其中,各个运行节点运行所分配的待验证程序的运行时间是根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定的,具体确定方式将在后续实施进行说明。关于确定每种分配方式对应的单个运行节点的最长运行时间以及选择目标分配方式的具体实现,将在后续实施例进行说明。
S105:按照目标分配方式,将各个待验证程序分配到相应的运行节点进行验证。
当通过S102确定出目标分配方式后,将待验证程序集合中的各个待验证程序按照目标分配方式分配到相应的运行节点进行验证。例如,确定的目标分配方式为运行节点1分配待验证程序2,运行节点2分配待验证程序1,则将待验证程序1分配给运行节点2,由运行节点2对其进行验证,将待验证程序2分配给运行节点1,由运行节点1对其进行验证。
通过上述描述可知,首先获取待验证程序集合,该待验证程序集合中包括至少一个待验证程序。将各个待验证程序分配到运行节点,以确定将各个待验证程序分配到运行节点的分配方式。针对每种分配方式,根据各个运行节点所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的最长运行时间。即,针对一种分配方式,获得该种分配方式下每个运行节点运行所分配的待验证程序的运行时间,并确定该种分配方式下单个运行节点的最长运行时间。当获得每一种分配方式对应的单个运行节点的最长运行时间,选择单个运行节点的最长运行时间最小的分配方式,将其作为目标分配方式。最后,按照目标分配方式将各个待验证程序分配到相应的运行节点进行验证。
可以理解的是,为使得一组待验证程序在分配到相应的运行节点后,运行节点进行验证的运行时间最短,根据木桶理论,单个运行节点的最长运行时间为验证改组待验证程序整体的最终运行时间,则通过在各种分配方式中最小化单个运行节点的最长运行时间,从而获得目标分配方式。即,本申请根据各个运行节点运行所分配的待验证程序的运行时间来确定目标分配方式,提高验证效率。
在一种可能的实现方式中,本实施例提供了一种确定待验证程序对应的各种分配方式的具体实现,以及在该种实现方式下如何确定目标分配方式的具体实现过程,下面将结合附图进行说明。
参见图2,该图为本申请实施例提供的一种确定目标分配方式的流程图,如图2所示,该方法可以包括:
S201:将m个待验证程序进行全排列,得到m!种排列顺序,m为大于或等于1的整数。
本实施例中,针对待验证程序集合中的m个待验证程序,将其进行全排列,获得m!种排列顺序,其中m!是对m进行阶乘计算。
例如,共存在3个待验证程序C1、C2和C3,则可以获得3*2*1=6种排列顺序,分别为{C1、C2、C3}、{C1、C3、C2}、{C2、C1、C3}、{C2、C3、C1}、{C3、C1、C2}、{C3、C2、C1}。
S202:确定按照第v种排列顺序,将m个待验证程序分配到运行节点的各种分配方式,v取1至m!的整数。
本实施例中,针对任一种排列顺序,均可以对应多种分配方式。例如,共存在6个运行节点,针对排列顺序{C1、C2、C3},分配方式1:待验证程序C1分配给节点1、待验证程序C2分配给节点2、待验证程序C3分配给节点3;分配方式2:待验证程序C1分配给节点2、待验证程序C2分配给节点3、待验证程序C3分配给节点4。
可见,通过S201-S202可以确定将各个待验证程序分配到运行节点的各种分配方式。
S203:针对按照第v种排列顺序将m个待验证程序分配到运行节点的分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的最长运行时间。
S204:在按照第v种排列顺序将m个待验证程序分配到运行节点的各种分配方式中,选择单个运行节点的最长运行时间最小的分配方式,作为第v种排列顺序对应的最优分配方式,v取1至m!的整数。
本实施例中,每种排列顺序可以对应多种分配方式,针对每一种排列顺序,获得该排序顺序下每种分配方式中各个运行节点运行所分配的待验证程序的运行时间,从而确定每种分配方式对应的单个运行节点的最长运行时间。然后,再从多个最长运行时间中选择最小的一个,将其对应的分配方式,确定为该种排列顺序对应的最优分配方式。
在具体实现时,本实施例提供了一种确定每种排列顺序对应的最优分配方式的具体过程,参见图3,该图为本申请实施例提供的一种确定每种排列顺序对应的最优分配方式的方法流程图,该方法可以包括:
S2041:建立初始分配矩阵。
本实施例中,可以预先建立初始分配矩阵,该初始分配矩阵为m行n列的矩阵,该初始分配矩阵表征根据分配策略将每个待验证程序分配到全部可能运行的运行节点,n为运行节点的数量。也就是,根据分配策略将每个待验证程序分配到所有可能的运行节点上,从而获得初始分配矩阵。其中,分配策略可以根据实际应用情况进行确定,例如,当存在多个组织,每个组织包括多个运行节点时,分配策略可以为,将每个待验证程序分配给任意一个组织中的任意一个运行节点。具体地,当存在3个组织,每个组织包括2个运行节点,分配策略可以为将每个待验证程序分配给一个组织中的一个运行节点或多个运行节点;或者为将每个待验证程序分配给任意两个组织且每个组织确定一个运行节点或多个运行节点;将每个待验证程序分配给三个组织且每个组织确定一个运行节点或多个运行节点。
在具体实现时,可以根据初始分配矩阵中的数值来确定每个待验证程序是否被分配给对应的节点。当数值为1时,表示待验证程序被分配给当前运行节点,当数值为0时,表示待验证程序未被分配给当前运行节点。如公式(1)所示的初始分配矩阵。
Figure BDA0002206592910000121
上述初始分配矩阵为全1矩阵,第i行表示当前排列顺序中第i个待验证程序被分配到全部的运行节点。
当m为3,n为6,则初始分配矩阵如公式(2)所示:
Figure BDA0002206592910000122
其中,第一个初始分配矩阵对应的分配策略为将每个待验证程序分配给所有的运行节点;第二个初始分配矩阵和第三个初始分配矩阵对应的分配策略为将每个待验证程序分配给其中4个运行节点;第四个初始分配矩阵对应的额分配策略为将每个待验证程序分配给其中2个运行节点。
需要说明的是,初始分配矩阵的具体形态是根据分配策略确定的,上述初始分配矩阵的形态仅为示例,不对本申请进行限定。为便于理解,下述实施例将以公式(2)中第一个初始分配矩阵对应的分配策略为例进行说明。
S2042:按照第v种排列顺序,将初始分配矩阵作为当前分配矩阵,将第v种排列顺序中第一顺位的待验证程序对应的行向量作为当前行向量,执行针对当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵;将第v种排列顺序中下一顺位的待验证程序对应的行向量作为当前行向量,重复执行针对当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,直到第v种排列顺序中每一顺位的待验证程序对应的行向量均被执行。
针对每一种排列顺序,将初始分配矩阵作为当前分配矩阵,将当前排列顺序中的处于第一顺位的待验证程序对应的行向量作为当前行向量,然后对当前分配矩阵的当前行向量的进行冗余消除,其他行向量保持不变,得到当前分配矩阵。然后,对于当前排列顺序中处于第二顺位的待验证程序对应的行向量作为当前行向量,在对当前分配矩阵的当前行向量进行冗余消除,得到当前分配矩阵,依次循环,直到当前排序顺序中每一顺位的待验证程序对应的行向量均被执行。
例如,3个待验证程序对应的当前排列顺序为{C1、C2、C3},则首先将第一行向量作为当前行向量,对第一行向量进行冗余消除,第二行向量和第三行向量均保持不变,得到当前分配矩阵,如公式(3)所示:
Figure BDA0002206592910000131
然后,将公式(3)对应的分配矩阵作为当前分配矩阵,将第二行向量确定为当前行向量,对第二行向量进行冗余消除,第一行向量和第三行向量均保持不变,得到当前分配矩阵,如公式(4):
Figure BDA0002206592910000132
然后,将公式(4)对应的分配矩阵作为当前分配矩阵,将第三行向量确定为当前行向量,对第三行向量进行冗余消除,第一行向量和第二行向量均保持不变,得到当前分配矩阵,如公式(5):
Figure BDA0002206592910000141
通过上述过程,当前排列顺序中每一顺位的待验证程序对应的行向量均被执行。公式(5)对应的分配矩阵为排列顺序为{C1、C2、C3}对应的最优分配矩阵。
再例如,3个待验证程序对应的当前排列顺序为{C1、C3、C2},则首先将第一行向量作为当前行向量,对第一行向量进行冗余消除,第二行向量和第三行向量均保持不变,得到当前分配矩阵,如公式(6)所示:
Figure BDA0002206592910000142
然后,将公式(6)对应的分配矩阵作为当前分配矩阵,将第三行向量确定为当前行向量,对第三行向量进行冗余消除,第一行向量和第二行向量均保持不变,得到当前分配矩阵,如公式(7):
Figure BDA0002206592910000143
然后,将公式(7)对应的分配矩阵作为当前分配矩阵,将第二行向量确定为当前行向量,对第二行向量进行冗余消除,第一行向量和第三行向量均保持不变,得到当前分配矩阵,如公式(8):
Figure BDA0002206592910000144
通过上述过程,公式(8)对应的分配矩阵为排列顺序为{C1、C3、C2}对应的最优分配矩阵。
也就是,对于每种排列顺序,均可以按照执行上述操作,从而使得当前排列顺序中每一顺位的待验证程序对应的行向量均被执行。
需要说明的是,执行针对当前分配矩阵的当前行向量的冗余消除的目标为使得到的当前分配矩阵对应的分配方式满足:该种分配方式对应的单个运行节点的第二最长运行时间最小。也就是,在对当前分配矩阵的当前行向量进行冗余消除时,冗余消除的过程是寻找单个运行节点的第二最长运行时间最小的分配方式。其中,关于针对当前分配矩阵的当前行向量进行冗余消除,得到当前分配矩阵的具体实现过程将在后续实施例进行说明。
S2043:将最终得到的当前分配矩阵作为第v种排列顺序对应的最优分配矩阵,第v种排列顺序对应的最优分配矩阵表征第v种排列顺序对应的最优分配方式。
即,当通过上述操作,可以获得当前排列顺序对应的最终的当前分配矩阵,将该最终得到的当前分配矩阵作为该排列顺序对应的最优分配矩阵,该最优分配矩阵表征当前排列顺序对应的最优分配方式。
针对每一种排列顺序均执行上述操作,从而获得每种排列顺序对应的最优分配方式,当获得每种排序顺序对应的最优分配方式后,执行S203。
S205:在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式。
即,当获得每种排列顺序分别对应的最优分配方式后,从m!中选择一种分配方式作为目标分配方式,以按照该目标分配方式将各个待验证程序分配到相应的运行节点进行验证。
可见,通过S203-S205可以实现选择单个运行节点的最长运行时间最小的分配方式,作为目标分配方式。
在具体实现时,本实施例提供了一种从m!种选择一种分配方式作为目标分配方式的实现方式,具体包括:在m!种排列顺序分别对应的最优分配方式中,选择单个运行节点的第二最长运行时间最小的分配方式作为目标分配方式。也就是,针对每种排列顺序对应的最优分配方式,计算该最优分配方式下各个运行节点运行所分配的验证程序的运行时间,从而确定该最优分配方式对应的单个运行节点的第二最长时间。当获得每种排列顺序对应的最优分配方式所对应的单个运行节点的第二最长运行时间,从多个第二最长运行时间中选择最小的,将最小的第二最长运行时间对应的分配方式作为目标分配方式。
在一种可能的实现方式中,本实施例提供一种执行针对当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵的实现方式,具体可以参见图4,该图为本申请实施例提供的一种冗余消除方法的流程图,如图4所示,该方法可以包括:
S401:在满足分配策略且按照将每个待验证程序分配给最少的运行节点的情况下,生成所有可能的行向量组合,将每一种可能的行向量组合分别代入到当前分配矩阵的当前行向量,生成一组待选分配矩阵。
本实施例中,可以预先设定分配策略,然后在满足分配策略且按照将每个待验证程序分配给最少的运行节点的情况下,生成所有可能的行向量组合,并将每一种可能的行向量组合分别代入到当前分配矩阵的当前行向量,生成一组待选分配矩阵。
其中,分配策略可以为从每个组织至少选择一个运行节点来运行待验证程序,则最小满足分配策略的情况为从每个组织选择一个运行节点来运行待验证程序。例如,共存在D1、D2和D3三个组织,该三个组织分别包括2个运行节点,对于一个待验证程序,从每个组织至少选择一个运行节点来运行待验证程序,则最小满足分配策略的情况为,从每个组织选择一个运行节点来运行待验证程序,则共存在C1 2*C1 2*C1 2=8种选择。则所有可能的行向量组合为[101010]表示从D1组织选择第1个运行节点来运行待验证程序,从D2组织选择第1个运行节点来运行待验证程序以及从D3组织选择第1个运行节点来运行待验证程序;[101001]表示从D1组织选择第1个运行节点来运行待验证程序,从D2组织选择第1个运行节点来运行待验证程序以及从D3组织选择第2个运行节点来运行待验证程序;[100110]表示从D1组织选择第1个运行节点来运行待验证程序,从D2组织选择第2个运行节点来运行待验证程序以及从D3组织选择第1个运行节点来运行待验证程序;[011010]表示从D1组织选择第2个运行节点来运行待验证程序,从D2组织选择第1个运行节点来运行待验证程序以及从D3组织选择第1个运行节点来运行待验证程序等。
当确定出每一种可能的行向量组合后,将每一种可能的行向量组合作为当前分配矩阵的当前行向量,从而获得多个待选分配矩阵。
另外,分配策略也可以为选择任意一个组织,并从该组织中选择至少一个运行节点来运行待验证程序,则最小满足分配策略的情况为从确定的组织中选择一个运行节点。例如,共存在D1、D2和D3三个组织,该三个组织分别包括2个运行节点,对于一个待验证程序,从选中的组织中选择至少一个运行节点来运行待验证程序,则最小满足分配策略的情况为,从选中组织中选择一个运行节点来运行待验证程序,则共存在C1 2+C1 2+C1 2=6种选择。则所有可能的行向量组合为[100000]表示选择D1组织中的第1个运行节点来运行待验证程序;[010000]表示选择D1组织中的第2个运行节点来运行待验证程序;[001000]表示选择D2组织中的第1个运行节点来运行待验证程序;[000100]表示选择D2组织中的第2个运行节点来运行待验证程序;[000010]表示选择D3组织中的第1个运行节点来运行待验证程序;[000001]表示选择D3组织中的第2个运行节点来运行待验证程序。
当确定出每一种可能的行向量组合后,将每一种可能的行向量组合作为当前分配矩阵的当前行向量,从而获得多个待选分配矩阵。
S402:针对每个待选分配矩阵对应的分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的第一最长运行时间。
S403:选择单个运行节点的第一最长运行时间最小的分配方式对应的待选分配矩阵为当前分配矩阵。
当获得多个待选分配矩阵后,针对每个待选分配矩阵对应的分配方式时,计算当前分配方式下各个运行节点运行所分配的待验证程序的运行时间,进而确定该种分配方式下对应的单个运行节点的第一最长运行时间。当获得多个待选分配矩阵对应的分配方式所对应的单个运行节点的第一最长运行时间后,选择单个运行节点的第一最长运行时间最小的分配方式对应的待选分配矩阵为当前分配矩阵。
为便于理解,以3个待验证程序对应的当前排列顺序为{C1、C2、C3},且对第一行向量进行冗余消除为例进行说明。由于存在8种可能的行向量组合,则可以确定出8个待选分配矩阵,分别为:
Figure BDA0002206592910000181
Figure BDA0002206592910000182
计算每个待分配矩阵中各个节点运行所分配的待验证程序的运行时间,并确定每个待分配矩阵对应的分配方式所对应的单个运行节点的第二最长运行时间,从而确定出8个第二最长运行时间,再从中选择一个最小的第二最长运行时间,将其对应的分配方式对应的待选分配矩阵为当前矩阵,例如第2个分配矩阵对应的分配方式为所选择的最小的第二最长运行时间对应的分配方式,则第2个矩阵为对第一行向量进行冗余消除后得到的当前分配矩阵。
在一种可能的实现方式中,本实施例提供了一种计算运行节点运行所分配的待验证程序的运行时间,该运行时间可以根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定的。具体可以通过以下公式计算获得:
Figure BDA0002206592910000191
其中,Tij表示第i个待验证程序在第j个节点上的运行时间,CEi表示第i个待验证程序的计算量,CFi表示第i个待验证程序的大小,DEi表示第j个运行节点的计算能力,DEj表示第j个运行节点的节点传输能力,a为计算能力系数,b为网络能力系数,二者均为固定常数。
可以理解的是,为使得所有待验证程序的运行时间最短,根据木桶理论,运行时间最长的运行节点的运行时间即为最终运行时间,最小化所有运行节点中运行时间最长的时间,最终得到的分配矩阵X:
Figure BDA0002206592910000192
其中,xij表示第i个待验证程序是否被分配到第j个节点,当xij=1表示第i个待验证程序分配到第j个运行节点,当xij=0表示第i个待验证程序未分配到第j个运行节点。分配矩阵X的行向量表示该待验证程序被分配到哪些节点上,列向量表示该运行节点运行哪些待验证程序,通过矩阵列向量可以计算每个运行节点执行所分配的待验证程序的运行时间:
Figure BDA0002206592910000193
其中,Tj表示第j个节点执行所分配的待验证程序的运行时间。
通过公式(12)可以获得当前分配方式对应的单个运行节点的最长运行时间。
T(x)=max(T1,T2,T3.....Tj....Tn) (12)
当获得每种分配方式对应的单个运行节点的最长运行时间,可以根据公式(13)确定目标分配方式:
min(T(x)) (13)
即将单个运行节点的最长运行时间最小的分配方式作为目标分配方式。
为便于理解本申请具体实现过程,参见图5,该图为本申请实施例提供的一种实现节点分配框架图,如图5所示:
S501:获取待验证程序集合,该待验证程序集合包括m个待验证程序。
S502:根据待验证程序集合中的待验证程序数量以及运行节点的数量建立初始分配矩阵。
S503:将m个待验证程序进行全排列,得到m!种排列顺序。
S504:获取一种排列顺序,将初始分配矩阵作为当前分配矩阵,将当前排列顺序中第一顺位的待验证程序对应的行向量作为当前行向量,其他行向量保持不变,对当前分配矩阵的当前行向量进行冗余消除,得到当前分配矩阵。
其中,关于对当前分配矩阵的当前行向量进行冗余消除的具体实现可以参见上述方法实施例,本实施例在此不再赘述。
S505:持续执行m次S504,直到当前排列顺序中每一顺位的待验证程序对应的行向量均被执行,得到当前排列顺序对应的最优分配方式。
S506:判断是否m!种排列顺序均被执行,若否,则获取下一个排列顺序,执行S504;若是,执行S507。
S507:针对每种排列顺序对应的最优分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的最长运行时间。
S508:选择单个运行节点的最长运行时间最小的分配方式作为目标分配方式,并按照目标分配方式,将各个待验证程序分配到相应的运行节点进行验证。
在具体实现时,本申请中的待验证程序可以为智能合约,运行节点为区块链组织中的节点。通过本申请提供的方案,可以将同一时间需要进行背书的智能合约分配到区块链组织中的节点,以提高智能合约背书的效率。
基于上述方法实施例,本申请还提供了一种实现节点分配的装置,下面将结合该装置进行说明。
参见图6,该图为本申请实施例提供的一种实现节点分配的装置结构图,如图6所示,该装置可以包括:
获取单元601,获取待验证程序集合,所述待验证程序集合中包括至少一个待验证程序;
第一确定单元602,用于确定将各个所述待验证程序分配到运行节点的各种分配方式;
第二确定单元603,针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;
选择单元604,用于选择所述单个运行节点的最长运行时间最小的分配方式,作为目标分配方式;
分配单元605,用于按照所述目标分配方式,将各个所述待验证程序分配到相应的运行节点进行验证。
在一种可能的实现方式中,所述第一确定单元,包括:
第一获取子单元,用于将m个待验证程序进行全排列,得到m!种排列顺序,m为大于或等于1的整数;
第一确定子单元,用于确定按照第v种排列顺序,将m个所述待验证程序分配到运行节点的各种分配方式,v取1至m!的整数;
所述选择单元,包括:
第一选择子单元,用于在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式;
第二选择子单元,用于在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式。
在一种可能的实现方式中,所述第一选择子单元,包括:
建立子单元,用于建立初始分配矩阵;所述初始分配矩阵为m行n列的矩阵,所述初始分配矩阵表征根据分配策略将每个所述待验证程序分配到全部可能运行的运行节点,n为运行节点的数量;
消除子单元,用于按照第v种排列顺序,将所述初始分配矩阵作为当前分配矩阵,将所述第v种排列顺序中第一顺位的待验证程序对应的行向量作为当前行向量,执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵;将所述第v种排列顺序中下一顺位的待验证程序对应的行向量作为当前行向量,重复执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,直到所述第v种排列顺序中每一顺位的待验证程序对应的行向量均被执行;
第二获取子单元,用于将最终得到的当前分配矩阵作为所述第v种排列顺序对应的最优分配矩阵,所述第v种排列顺序对应的最优分配矩阵表征所述第v种排列顺序对应的最优分配方式;
所述执行针对所述当前分配矩阵的当前行向量的冗余消除的目标为使得到的当前分配矩阵对应的分配方式满足:该种分配方式对应的单个运行节点的最长运行时间最小。
在一种可能的实现方式中,所述消除子单元,具体用于在满足分配策略且按照将每个待验证程序分配给最少的运行节点的情况下,生成所有可能的行向量组合,将每一种可能的行向量组合分别代入到所述当前分配矩阵的当前行向量,生成一组待选分配矩阵;
针对每个所述待选分配矩阵对应的分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的第一最长运行时间;
选择所述单个运行节点的第一最长运行时间最小的分配方式对应的待选分配矩阵为当前分配矩阵。
在一种可能的实现方式中,所述第二选择子单元,具体用于
在m!种排列顺序分别对应的最优分配方式中,选择所述单个运行节点的第二最长运行时间最小的分配方式作为目标分配方式。
在一种可能的实现方式中,所述运行时间根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定。
在一种可能的实现方式中,所述待验证程序为智能合约,所述运行节点为区块链组织中的节点。
需要说明的是,本实施例中各个单元的实现可以参见上述方法实施例,本实施例在此不做限定。
另外,本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行所述的实现节点分配的方法。
本申请实施例还提供了一种实现节点分配的设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现所述的实现节点分配的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行所述的实现节点分配的方法。
本申请实施例首先获取待验证程序集合,该待验证程序集合中包括至少一个待验证程序。将各个待验证程序分配到运行节点,确定各个待验证程序分配到运行节点的各种分配方式。针对每种分配方式,根据各个运行节点所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间。即,针对一种分配方式,获得该种分配方式下每个运行节点运行所分配的待验证程序的运行时间,并确定该种分配方式下单个运行节点的最长运行时间。当获得每一种分配方式对应的单个运行节点的最长运行时间,选择单个运行节点的最长运行时间最小的分配方式,将其作为目标分配方式。最后,按照目标分配方式将各个待验证程序分配到相应的运行节点进行验证。
可以理解的是,为使得一组待验证程序在分配到相应的运行节点后,运行节点进行验证的运行时间最短,根据木桶理论,单个运行节点的最长运行时间为验证改组待验证程序整体的最终运行时间,则通过在各种分配方式中最小化单个运行节点的最长运行时间,从而获得目标分配方式。即,本申请根据各个运行节点运行所分配的待验证程序的运行时间来确定目标分配方式,提高验证效率。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种实现节点分配的方法,其特征在于,所述方法包括:
获取待验证程序集合,所述待验证程序集合中包括至少一个待验证程序;
将m个待验证程序进行全排列,得到m!种排列顺序,m为大于或等于1的整数;
确定按照第v种排列顺序,将m个所述待验证程序分配到运行节点的各种分配方式,v取1至m!的整数;
针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;
在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式;
在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式;
按照所述目标分配方式,将各个所述待验证程序分配到相应的运行节点进行验证。
2.根据权利要求1所述的方法,其特征在于,所述在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式,包括:
建立初始分配矩阵;所述初始分配矩阵为m行n列的矩阵,所述初始分配矩阵表征根据分配策略将每个所述待验证程序分配到全部可能运行的运行节点,n为运行节点的数量;
按照第v种排列顺序,将所述初始分配矩阵作为当前分配矩阵,将所述第v种排列顺序中第一顺位的待验证程序对应的行向量作为当前行向量,执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵;将所述第v种排列顺序中下一顺位的待验证程序对应的行向量作为当前行向量,重复执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,直到所述第v种排列顺序中每一顺位的待验证程序对应的行向量均被执行;
将最终得到的当前分配矩阵作为所述第v种排列顺序对应的最优分配矩阵,所述第v种排列顺序对应的最优分配矩阵表征所述第v种排列顺序对应的最优分配方式。
3.根据权利要求2所述的方法,其特征在于,所述执行针对所述当前分配矩阵的当前行向量的冗余消除,得到当前分配矩阵,包括:
在满足分配策略且按照将每个所述待验证程序分配给最少的运行节点的情况下,生成所有可能的行向量组合,将每一种可能的行向量组合分别代入到所述当前分配矩阵的当前行向量,生成一组待选分配矩阵;
针对每个所述待选分配矩阵对应的分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定该种分配方式对应的单个运行节点的第一最长运行时间;
选择所述单个运行节点的第一最长运行时间最小的分配方式对应的待选分配矩阵为当前分配矩阵。
4.根据权利要求1所述的方法,其特征在于,所述在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式,包括:
在m!种排列顺序分别对应的最优分配方式中,选择所述单个运行节点的第二最长运行时间最小的分配方式作为目标分配方式。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述运行时间根据运行节点的节点计算能力、运行节点的节点传输能力、待验证程序的计算量以及待验证程序的大小确定。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述待验证程序为智能合约,所述运行节点为区块链组织中的节点。
7.一种实现节点分配的装置,其特征在于,所述装置包括:
获取单元,获取待验证程序集合,所述待验证程序集合中包括至少一个待验证程序;
第一确定单元,用于将m个待验证程序进行全排列,得到m!种排列顺序,m为大于或等于1的整数;确定按照第v种排列顺序,将m个所述待验证程序分配到运行节点的各种分配方式,v取1至m!的整数;
第二确定单元,用于针对每种分配方式,根据各个运行节点运行所分配的待验证程序的运行时间,确定每种分配方式对应的单个运行节点的最长运行时间;
选择单元,用于在按照第v种排列顺序将m个所述待验证程序分配到运行节点的各种分配方式中,选择所述单个运行节点的最长运行时间最小的分配方式,作为所述第v种排列顺序对应的最优分配方式;在m!种排列顺序分别对应的最优分配方式中,选择一种分配方式作为目标分配方式;
分配单元,用于按照所述目标分配方式,将各个所述待验证程序分配到相应的运行节点进行验证。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的实现节点分配的方法。
9.一种实现节点分配的设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述的实现节点分配的方法。
CN201910883472.9A 2019-09-18 2019-09-18 一种实现节点分配的方法、装置及相关设备 Active CN110620818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910883472.9A CN110620818B (zh) 2019-09-18 2019-09-18 一种实现节点分配的方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910883472.9A CN110620818B (zh) 2019-09-18 2019-09-18 一种实现节点分配的方法、装置及相关设备

Publications (2)

Publication Number Publication Date
CN110620818A CN110620818A (zh) 2019-12-27
CN110620818B true CN110620818B (zh) 2022-04-05

Family

ID=68923428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910883472.9A Active CN110620818B (zh) 2019-09-18 2019-09-18 一种实现节点分配的方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN110620818B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726008A (zh) * 2017-10-31 2019-05-07 阿里巴巴集团控股有限公司 资源分配方法及设备
CN110086847A (zh) * 2019-03-12 2019-08-02 中国科学院计算技术研究所 数据分发方法、介质及电子设备
CN110245023A (zh) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 分布式调度方法及装置、电子设备以及计算机存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041773B2 (en) * 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
CN102508619B (zh) * 2011-11-21 2014-09-17 华为数字技术(成都)有限公司 存储系统服务质量控制方法、系统和存储系统
CN104881325B (zh) * 2015-05-05 2018-09-21 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统
CN107045456B (zh) * 2016-02-05 2020-03-10 华为技术有限公司 一种资源分配方法及资源管理器
CN107820276B (zh) * 2017-10-27 2019-09-20 北京邮电大学 一种无线传感器任务分配方法
US10735284B2 (en) * 2017-12-15 2020-08-04 International Business Machines Corporation System and method for managing a moving peer-to-peer network
CN109636097B (zh) * 2018-11-01 2021-09-21 中车工业研究院有限公司 一种产品设计任务的分配方法及装置
CN110209494B (zh) * 2019-04-22 2022-11-25 西北大学 一种面向大数据的分布式任务调度方法及Hadoop集群

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726008A (zh) * 2017-10-31 2019-05-07 阿里巴巴集团控股有限公司 资源分配方法及设备
CN110086847A (zh) * 2019-03-12 2019-08-02 中国科学院计算技术研究所 数据分发方法、介质及电子设备
CN110245023A (zh) * 2019-06-05 2019-09-17 欧冶云商股份有限公司 分布式调度方法及装置、电子设备以及计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Low Latency and Energy Efficient Optical Network-on-Chip Using Wavelength Assignment;Zheng Chen;《IEEE》;20121112;全文 *
李焱 ; 郑亚松.云环境下面向跨域作业的调度方法.《电子学报》.2017, *

Also Published As

Publication number Publication date
CN110620818A (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
CN106529682A (zh) 一种在大数据集群中处理深度学习任务的方法和装置
US7203747B2 (en) Load balancing system and method in a multiprocessor system
Anousha et al. An improved Min-Min task scheduling algorithm in grid computing
JP6699891B2 (ja) 電子装置、方法及び情報処理システム
CN103699443B (zh) 任务分发方法及扫描器
CN111225050B (zh) 云计算资源分配方法及装置
CN106339802A (zh) 任务分配的方法和装置、电子设备
CN110969362A (zh) 一种云计算系统下多目标任务调度方法及系统
Litov et al. Forward bounding on pseudo-trees for DCOPs and ADCOPs
CN114330715A (zh) 一种智能弹药协同进化任务分配方法
CN109062682B (zh) 一种云计算平台的资源调度方法和系统
CN111176840A (zh) 分布式任务的分配优化方法和装置、存储介质及电子装置
US8028291B2 (en) Method and computer program product for job selection and resource allocation of a massively parallel processor
CN109697049A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN110620818B (zh) 一种实现节点分配的方法、装置及相关设备
CN113094179B (zh) 作业分配方法、装置、电子设备及可读存储介质
CN117670005A (zh) 基于蚁群算法的超算互联网多目标工作流优化方法及系统
CN109784687B (zh) 智慧云制造任务调度方法、可读存储介质和终端
CN110020788B (zh) 目标实体资源分布的确定方法和装置
CN112099959B (zh) 数据处理方法及装置
CN112085328B (zh) 风险评估方法、系统、电子设备及存储介质
Iijima et al. Analysis of task allocation based on social utility and incompatible individual preference
CN113791879A (zh) 云平台的任务调度方法、装置、设备和计算机存储介质
Ahmadizar et al. A novel ant colony algorithm for the single-machine total weighted tardiness problem with sequence dependent setup times
Blazewicz et al. Metaheuristics for late work minimization in two-machine flow shop with common due date

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant