本公开涉及计算机网络,尤其涉及算力分配方法、装置、服务器和计算机可读存储介质。
背景技术:
1、在计算机网络中,各终端需要承担自身的计算任务。然而,在终端因设备老旧等问题算力不足的情况下,将无法完成自身的计算任务。例如,终端运行一款游戏时,由于终端自身算力不足,将导致游戏无法运行。
技术实现思路
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、在一个实施例中,处理模块具体用于:若根据各个所述可用终端当前的空闲计算资源量占总资源量的比例值以及各个所述可用终端的空闲计算资源量,确定各个所述可用终端的计算资源的使用达到满负荷阈值能够完成所述算力请求,则将算力请求按照预设顺序在各个所述可用终端中分配,以使在分配的每个可用终端的计算资源达到所述满负荷阈值时,继续分配给下一个可用终端,直到将算力请求分配完成。
43、在一个实施例中,处理模块具体用于:若根据各个所述可用终端当前的空闲计算资源量占总资源量的比例值以及各个所述可用终端的空闲计算资源量,确定各个所述可用终端的计算资源的使用达到所述满负荷阈值不能够完成所述算力请求,则向所述目标终端发送资源不足通知。
44、在一个实施例中,处理模块具体用于:若根据各个所述可用终端当前的空闲计算资源量占总资源量的比例值以及各个所述可用终端的空闲计算资源量,确定各个所述可用终端的计算资源的使用达到所述满负荷阈值不能够完成所述算力请求,则向备用终端发送算力请求。
45、根据本公开实施例的第三方面,提供一种服务器,包括处理器和存储器,存储器中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的算力分配方法中所执行的步骤。
46、根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储介质中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的算力分配方法中所执行的步骤。
47、本公开实施例提供的算力分配方法、装置、服务器和计算机可读存储介质,在算力系统中的目标终端自身无法完成相应的计算任务时,可以向服务器发送算力请求,服务器从当前所有可调度终端中确定出资源空闲状态的可用终端,根据各个可用终端的空闲计算资源,将该算力请求在可用终端间进行分配,以使各个可用终端共同完成该算力请求,将所有可用终端的计算结果聚合后发送给目标终端,从而目标终端通过服务器利用算力系统中的中的空闲计算资源完成本次算力请求。使得在算力系统中的终端自身算力不足时,也能完成相应的计算任务。在终端设备老旧等情况下,也能运行自身无法运行的应用,达到在低配机器上呈现高配机器的算力。提高了用户体验。
48、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。