本发明涉及分布式集群,特别涉及一种资源分配方法,还涉及一种资源分配装置、电子设备、非易失性存储介质以及计算机程序产品。
背景技术:
1、随着分布式计算技术的飞速发展,资源调度作为分布式计算的核心技术,也越来越得到人们的重视。资源调度的目标是为当前计算任务选择合适的计算方案,确保其高效运行,有效地利用有限的分布式集群资源。随着用户和企业对数据的机密性要求越来越严格,这就需要分布式集群能够实现对运行时数据的安全防护,因此,机密计算技术应运而生。
2、机密计算是一种用于保护计算过程中数据和代码的机密性和完整性的安全计算模式,该模式基于受信任的硬件通过可信执行环境(tee,trusted executionenvironment),使得环境内的代码和数据在计算时无法被同一设备上运行的其他软件(包括特权软件)监视与篡改。分布式机密计算集群包括众多机密计算节点,机密计算节点将使用时的数据运行在可信执行环境中,可以保证使用时数据的安全。同时,当节点间进行数据传输或者数据使用之前,需要对机密计算节点进行远程证明操作,进而证明机密计算节点以及响应程序确实运行在可信执行环境中,以建立安全的传输通道。然而,分布式集群节点相互之间建立的可信信道通信量大,结构复杂,导致任意两节点之间构造远程证明的过程也较为复杂,在实际中难以应用。
3、因此,如何针对分布式机密计算集群系统,构建高效的分布式机密计算资源分配方法是本领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种资源分配方法,该资源分配方法在分布式机密计算集群系统中实现了高效的分布式机密计算资源分配;本发明的另一目的是提供一种资源分配装置、电子设备、非易失性存储介质以及计算机程序产品,均具有上述有益效果。
2、第一方面,本发明提供了一种资源分配方法,应用于分布式机密计算集群中的任一节点,所述方法包括:
3、当接收到计算请求时,确定所述计算请求对应的请求节点;
4、获取当前节点的所有逻辑距离组,并在所有所述逻辑距离组中确定与所述请求节点距离最近的目标逻辑距离组;所述当前节点对应的每一逻辑距离组中包括有不超过预设数量的可分配节点,且每一可分配节点与所述当前节点之间的距离不超出相应逻辑距离组指定的距离范围;所述当前节点预存有所有所述可分配节点的节点信息;
5、若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上;
6、若所述请求节点未命中所述目标逻辑距离组,则根据所述目标逻辑距离组确定目标节点,并将所述计算请求分配至所述目标节点上。
7、其中,若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上,包括:
8、若所述请求节点命中所述目标逻辑距离组,则获取所述请求节点的网络状态;
9、若所述请求节点的网络状态为离线状态,则在所述目标逻辑距离组内选择目标可分配节点,并将所述计算请求分配至所述目标可分配节点上;
10、若所述请求节点的网络状态为在线状态,则将所述计算请求分配至所述请求节点上。
11、其中,若所述请求节点的网络状态为在线状态,则将所述计算请求分配至所述请求节点上,包括:
12、若所述请求节点的网络状态为在线状态,则获取所述请求节点的可用资源;
13、若所述请求节点的可用资源未达到预设阈值,则在所述目标逻辑距离组内选择目标可分配节点,并将所述计算请求分配至所述目标可分配节点上;
14、若所述请求节点的可用资源达到所述预设阈值,则将所述计算请求分配至所述请求节点上。
15、其中,在所述目标逻辑距离组内选择目标可分配节点,并将所述计算请求分配至所述目标可分配节点上,包括:
16、在所述目标逻辑距离组内,选择网络状态为在线状态且可用资源达到预设阈值的可分配节点作为所述目标可分配节点;
17、将所述计算请求分配至所述目标可分配节点上。
18、其中,所述资源分配方法还包括:
19、若所述请求节点的网络状态为离线状态,则将所述请求节点在所述目标逻辑距离组内删除。
20、其中,所述资源分配方法还包括:
21、确定所述目标可分配节点的所有逻辑距离组,并在所有所述逻辑距离组中确定所述目标可分配节点对应的最近距离节点;
22、若所述最近距离节点命中所述目标逻辑距离组,则将所述最近距离节点添加至所述目标逻辑距离组。
23、其中,若所述请求节点未命中所述目标逻辑距离组,则根据所述目标逻辑距离组确定目标节点,并将所述计算请求分配至所述目标节点上,包括:
24、若所述请求节点未命中所述目标逻辑距离组,则判断所述目标逻辑距离组中可分配节点的数量是否达到所述预设数量;
25、若未达到所述预设数量,则将所述请求节点加入所述目标逻辑距离组并作为所述目标节点,将所述计算请求分配至所述目标节点上;
26、若达到所述预设数量,则在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上。
27、其中,将所述请求节点加入所述目标逻辑距离组并作为所述目标节点,将所述计算请求分配至所述目标节点上,包括:
28、若所述请求节点的网络状态为在线状态,且可用资源达到预设阈值,则将所述请求节点加入所述目标逻辑距离组并作为所述目标节点,将所述计算请求分配至所述目标节点上;
29、若所述请求节点的网络状态为离线状态,或可用资源未达到预设阈值,则在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上。
30、其中,若所述请求节点的网络状态为离线状态,或可用资源未达到预设阈值,则在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上之后,还包括:
31、确定所述目标节点的所有逻辑距离组,并在所有所述逻辑距离组中确定所述目标节点对应的最近距离节点;
32、若所述最近距离节点命中所述目标逻辑距离组,则将所述最近距离节点添加至所述目标逻辑距离组。
33、其中,在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上,包括:
34、在所述目标逻辑距离组内,选择网络状态为在线状态且可用资源达到预设阈值的可分配节点作为所述目标节点;
35、将所述计算请求分配至所述目标节点上。
36、其中,对于所述分布式机密计算集群中的每一节点,所述节点对应的所有逻辑距离组根据所述节点对应的逻辑拓扑网络得到,所述逻辑拓扑网络按照所述节点与所述分布式机密计算集群中其他节点之间的距离构建二叉树得到;
37、在所述当前节点对应的逻辑拓扑网络中,每个子树中不超出所述预设数量的节点组合为所述当前节点对应的一个逻辑距离组。
38、其中,所述节点信息包括远程证明;若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上,包括:
39、若所述请求节点命中所述目标逻辑距离组,则根据所述远程证明与所述请求节点协商会话密钥;
40、利用所述会话密钥对所述计算请求进行加密处理,获得加密计算请求;
41、将所述加密计算请求分配至所述请求节点上。
42、其中,所述节点信息还包括节点id、节点ip、节点位置;将所述加密计算请求分配至所述请求节点上,包括:
43、根据所述节点id、所述节点ip、所述节点位置将所述加密计算请求分配至所述请求节点上。
44、其中,所述节点id包括所述节点位置的编码信息和所述节点ip的哈希信息。
45、其中,所述资源分配方法还包括:
46、向所述请求节点发起远程证明挑战,并发送随机数至所述请求节点,以使所述请求节点响应所述远程证明挑战,以生成包含有所述随机数的请求节点远程证明;
47、获取所述请求节点远程证明进行验证,并在验证通过时保存所述请求节点远程证明。
48、其中,所述资源分配方法还包括:
49、实时获取本地可用资源;
50、若所述本地可用资源低于预设阈值,则在所述当前节点的所有逻辑距离组中确定最近节点;
51、将所述当前节点中的节点负载迁移至所述最近节点上。
52、第二方面,本发明还公开了一种资源分配装置,应用于分布式机密计算集群中的任一节点,所述装置包括:
53、确定模块,用于当接收到计算请求时,确定所述计算请求对应的请求节点;
54、获取模块,用于获取当前节点的所有逻辑距离组,并在所有所述逻辑距离组中确定与所述请求节点距离最近的目标逻辑距离组;所述当前节点对应的每一逻辑距离组中包括有不超过预设数量的可分配节点,且每一可分配节点与所述当前节点之间的距离不超出相应逻辑距离组指定的距离范围;所述当前节点预存有所有所述可分配节点的节点信息;
55、第一分配模块,用于若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上;
56、第二分配模块,用于若所述请求节点未命中所述目标逻辑距离组,则根据所述目标逻辑距离组确定目标节点,并将所述计算请求分配至所述目标节点上。
57、第三方面,本发明还公开了一种电子设备,包括:
58、存储器,用于存储计算机程序;
59、处理器,用于执行所述计算机程序时实现如上所述的任一种资源分配方法的步骤。
60、第四方面,本发明还公开了一种非易失性存储介质,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种资源分配方法的步骤。
61、第五方面,本发明还公开了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上所述的任一种资源分配方法的步骤。
62、本发明提供了一种资源分配方法,应用于分布式机密计算集群中的任一节点,所述方法包括:当接收到计算请求时,确定所述计算请求对应的请求节点;获取当前节点的所有逻辑距离组,并在所有所述逻辑距离组中确定与所述请求节点距离最近的目标逻辑距离组;所述当前节点对应的每一逻辑距离组中包括有不超过预设数量的可分配节点,且每一可分配节点与所述当前节点之间的距离不超出相应逻辑距离组指定的距离范围;所述当前节点预存有所有所述可分配节点的节点信息;若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上;若所述请求节点未命中所述目标逻辑距离组,则根据所述目标逻辑距离组确定目标节点,并将所述计算请求分配至所述目标节点上。
63、应用本发明所提供的技术方案,对于分布式机密计算集群中的每一个节点,均预先创建有其对应的多个逻辑距离组,且每一逻辑距离组内均包含有相对于当前节点指定距离范围内的不超过预设数量个的可分配节点,即不同的逻辑距离组对应于不同的距离范围,由此,当接收到针对某请求节点的计算请求时,可以在当前节点对应的所有逻辑距离组中确定与请求节点距离最近的目标逻辑距离组,并根据请求节点在目标逻辑距离组中的命中情况选择将计算请求分配至相应的节点上进行请求处理。由此可见,分布式机密计算集群中的每一个节点仅需要存储少量其他节点的节点信息,而不需要存储所有其他节点的节点信息,不仅有效地降低了节点存储压力,也大大减少了节点与节点之间的远程证明操作,实现了高效的分布式机密计算资源分配。
64、本发明所提供的资源分配装置、电子设备、非易失性存储介质以及计算机程序产品,同样具有上述技术效果,本发明在此不再赘述。
1.一种资源分配方法,其特征在于,应用于分布式机密计算集群中的任一节点,所述方法包括:
2.根据权利要求1所述的资源分配方法,其特征在于,若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上,包括:
3.根据权利要求2所述的资源分配方法,其特征在于,若所述请求节点的网络状态为在线状态,则将所述计算请求分配至所述请求节点上,包括:
4.根据权利要求2所述的资源分配方法,其特征在于,在所述目标逻辑距离组内选择目标可分配节点,并将所述计算请求分配至所述目标可分配节点上,包括:
5.根据权利要求2所述的资源分配方法,其特征在于,还包括:
6.根据权利要求5所述的资源分配方法,其特征在于,还包括:
7.根据权利要求1所述的资源分配方法,其特征在于,若所述请求节点未命中所述目标逻辑距离组,则根据所述目标逻辑距离组确定目标节点,并将所述计算请求分配至所述目标节点上,包括:
8.根据权利要求7所述的资源分配方法,其特征在于,将所述请求节点加入所述目标逻辑距离组并作为所述目标节点,将所述计算请求分配至所述目标节点上,包括:
9.根据权利要求8所述的资源分配方法,其特征在于,若所述请求节点的网络状态为离线状态,或可用资源未达到预设阈值,则在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上之后,还包括:
10.根据权利要求7所述的资源分配方法,其特征在于,在所述目标逻辑距离组内选择所述目标节点,并将所述计算请求分配至所述目标节点上,包括:
11.根据权利要求1所述的资源分配方法,其特征在于,对于所述分布式机密计算集群中的每一节点,所述节点对应的所有逻辑距离组根据所述节点对应的逻辑拓扑网络得到,所述逻辑拓扑网络按照所述节点与所述分布式机密计算集群中其他节点之间的距离构建二叉树得到;
12.根据权利要求1至11任一项所述的资源分配方法,其特征在于,所述节点信息包括远程证明;若所述请求节点命中所述目标逻辑距离组,则将所述计算请求分配至所述请求节点上,包括:
13.根据权利要求12所述的资源分配方法,其特征在于,所述节点信息还包括节点id、节点ip、节点位置;将所述加密计算请求分配至所述请求节点上,包括:
14.根据权利要求13所述的资源分配方法,其特征在于,所述节点id包括所述节点位置的编码信息和所述节点ip的哈希信息。
15.根据权利要求12所述的资源分配方法,其特征在于,还包括:
16.根据权利要求1所述的资源分配方法,其特征在于,还包括:
17.一种资源分配装置,其特征在于,应用于分布式机密计算集群中的任一节点,所述装置包括:
18.一种电子设备,其特征在于,包括:
19.一种非易失性存储介质,其特征在于,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的资源分配方法的步骤。
20.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至16任一项所述资源分配方法的步骤。
