一种任务分配方法及装置与流程

文档序号:16326796发布日期:2018-12-19 05:58阅读:193来源:国知局
一种任务分配方法及装置与流程

本发明属于网络技术领域,特别是涉及一种任务分配方法及装置。

背景技术

随着网络技术的不断发展,网络在人们的日常生活中变得越来越重要。为了给用户提供优质的网络体验,一般会采用服务器-终端的模式来部署网络。具体的,服务器可以管理有多个终端,服务器可以用于存储资源数据、转发数据、进行协议转换,等等,用户可以使用终端从服务器获取数据,或者通过服务器来与其他终端建立连接等。

但是,由于服务器上存储的数据较多,且随着管理的终端越来越多,需需要处理的任务也越来越多,导致服务器的负荷较大,出现故障的频率增大,进而使得整个网络的稳定性较差。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种任务分配方法及装置。

依据本发明的第一方面,提供了一种任务分配方法,应用于服务器,该方法包括:接收第一终端发送的注册请求;所述注册请求在所述第一终端的性能参数满足第一预设条件时发送,所述注册请求中包括所述第一终端的性能参数及预设标识;

基于所述注册请求中的预设标识,将所述第一终端确定为可负载终端;

根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端。

可选的,所述基于所述注册请求中的预设标识,将所述第一终端确定为可负载终端的步骤,包括:

检测所述注册请求中是否包含所述预设标识;

若所述注册请求中包含所述预设标识,则将所述第一终端确定为可负载终端,或,获取所述注册请求中包括的所述第一终端的性能参数;若所述第一终端的性能参数满足第二预设条件,则将所述第一终端确定为可负载终端。

可选的,所述性能参数包括可用存储空间;

当所述任务为数据存储时,所述根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端的步骤,包括:

计算所述第一标终端的可用存储空间与预设比例的乘积,得到所述第一终端的可存储数据量;

向所述第一终端发送目标数据,以便于所述第一终端存储所述目标数据;

其中,所述目标数据的数据量不大于所述可存储数据量。

可选的,在所述向所述第一终端发送目标数据,以便于所述第一终端存储所述目标数据的步骤之后,所述方法还包括:

接收第二终端发送的数据获取请求;所述数据获取请求中包括待获取数据的标识;

获取所述数据获取请求中待获取数据的标识,并基于所述待获取数据的标识,确定所述待获取数据的存储地址信息,得到至少一个可获取地址信息;

将所述第二终端连接范围内的可负载终端的地址信息作为辅助地址信息,将所述至少一个可获取地址信息以及所述辅助地址信息发送给所述第二终端,以便于所述第二终端基于所述至少一个可获取地址信息以及辅助地址信息获取待获取数据。

可选的,所述性能参数包括中央处理器cpu占用率;

当所述任务为数据运算时,所述根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端的步骤,包括:

根据所述cpu占用率,确定所述第一终端所能承载的最大运算量;

向所述第一终端发送待运算数据,以便于所述第一终端对所述待运算数据进行处理;

其中,所述待运算数据的运算量不大于所述最大运算量。

依据本发明的第二方面,提供了另一种任务分配方法,应用于第一终端,该方法包括:

获取所述第一终端的性能参数;

判断所述性能参数是否满足第一预设条件;

若所述性能参数满足所述第一预设条件,则向服务器发送携带有所述性能参数及预设标识注册请求,以便于所述服务器根据所述注册请求将所述第一终端确定为可负载终端,并将所述服务器所负责的任务分配给所述可负载终端。

可选的,所述性能参数包括cpu占用率、图形处理器gpu占用率、网络带宽、可用存储空间以及磁盘读写速度中的至少一种。

可选的,所述第一预设条件为所述性能参数不小于预设性能参数阈值,所述预设性能参数阈值用于指示处理所述服务器所分配的任务时,所需要的最低性能参数;

所述判断所述性能参数是否满足第一预设条件的步骤,包括:

将所述性能参数中的每个参数与所述预设性能参数阈值中的每个参数对应的阈值进行对比;

对于性能参数中的每个参数,若所述参数大于所述参数对应的阈值,则确定所述性能参数满足第一预设条件。

依据本发明的第三方面,提供了一种任务分配装置,应用于服务器,该装置可以包括:

接收模块,用于接收第一终端发送的注册请求;所述注册请求在所述第一终端的性能参数满足第一预设条件时发送,所述注册请求中包括所述第一终端的性能参数及预设标识;

确定模块,用于基于所述注册请求中的预设标识,将所述第一终端确定为可负载终端;

分配模块,用于根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端。

可选的,所述确定模块,用于:

检测所述注册请求中是否包含所述预设标识;

若所述注册请求中包含所述预设标识,则将所述第一终端确定为可负载终端,或,获取所述注册请求中包括的所述第一终端的性能参数;若所述第一终端的性能参数满足第二预设条件,则将所述第一终端确定为可负载终端。

可选的,所述性能参数包括可用存储空间;

当所述任务为数据存储时,所述分配模块,包括:

计算子模块,用于计算所述第一终端的可用存储空间与预设比例的乘积,得到所述第一终端的可存储数据量;

第一发送子模块,用于向所述第一终端发送目标数据,以便于所述第一终端存储所述目标数据;

其中,所述目标数据的数据量不大于所述可存储数据量。

可选的,所述分配模块,还包括:

接收子模块,用于接收第二终端发送的数据获取请求;所述数据获取请求中包括待获取数据的标识;

获取子模块,用于获取所述数据获取请求中待获取数据的标识,并基于所述待获取数据的标识,确定所述待获取数据的存储地址信息,得到至少一个可获取地址信息;

第二发送子模块,用于将所述第二终端连接范围内的可负载终端的地址信息作为辅助地址信息,将所述至少一个可获取地址信息以及所述辅助地址信息发送给所述第二终端,以便于所述第二终端基于所述至少一个可获取地址信息以及辅助地址信息获取待获取数据。

可选的,所述性能参数包括中央处理器cpu占用率;

当所述任务为数据运算时,所述分配模块,用于:

根据所述cpu占用率,确定所述第一终端所能承载的最大运算量;

向所述第一终端发送待运算数据,以便于所述第一终端对所述待运算数据进行处理;

其中,所述待运算数据的运算量不大于所述最大运算量。

依据本发明的第四方面,提供了另一种任务分配装置,应用于第一终端,该装置可以包括:

获取模块,用于获取所述第一终端的性能参数;

判断模块,用于判断所述性能参数是否满足第一预设条件;

发送模块,用于若所述性能参数满足所述第一预设条件,则向服务器发送携带有所述性能参数及预设标识注册请求,以便于所述服务器根据所述注册请求将所述第一终端确定为可负载终端,并将所述服务器所负责的任务分配给所述可负载终端。

可选的,所述性能参数包括cpu占用率、图形处理器gpu占用率、网络带宽、可用存储空间以及磁盘读写速度中的至少一种。

可选的,所述第一预设条件为所述性能参数不小于预设性能参数阈值,所述预设性能参数阈值用于指示处理所述服务器所分配的任务时,所需要的最低性能参数;

所述判断模块,用于:

将所述性能参数中的每个参数与所述预设性能参数阈值中的每个参数对应的阈值进行对比;

对于性能参数中的每个参数,若所述参数大于所述参数对应的阈值,则确定所述性能参数满足第一预设条件。

针对在先技术,本发明具备如下优点:

服务器可以接收第一终端在性能参数满足第一预设条件时发送的注册请求,接着基于该注册请求中的预设标识,将该第一终端确定为可负载终端,并基于性能参数,将服务器所负责的任务分配给该可负载终端。本发明实施例中,由于该第一终端的性能参数满足第一预设条件,因此,服务器将第一终端确定为可负载终端,并将自身所负责的任务分配给可负载终端的方式,可以在保证不影响可负载终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例一提供的一种任务分配方法的步骤流程图;

图2是本发明实施例二提供的一种任务分配方法的步骤流程图;

图3是本发明实施例三提供的一种任务分配方法的步骤流程图;

图4是本发明实施例四提供的一种任务分配装置的框图;

图5是本发明实施例五提供的一种任务分配装置的框图。

具体实施方式

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

实施例一

图1是本发明实施例一提供的一种任务分配方法的步骤流程图,应用于服务器,如图1所示,该方法可以包括:

步骤101、接收第一终端发送的注册请求。

本发明实施例中,该注册请求可以是第一终端在第一终端的性能参数满足第一预设条件时发送的,第一预设条件可以是第一终端在保证自身能够正常工作的情况下还能处理其他任务时,性能参数所需要达到的条件。进一步地,该注册请求中还可以包括第一终端的性能参数及预设标识,以便于后续过程中服务器可以基于该性能参数为第一终端分配任务。

步骤102、基于所述注册请求中的预设标识,将所述第一终端确定为可负载终端。

本发明实施例中,该预设标识可以用于指示该请求是第一终端在确认自身能够正常工作的情况下还能处理其他任务时,即,性能参数达到的条件时所发送的注册请求,进一步地,第一终端通过向服务器发送注册请求表明自身性能较好,能够负载更多的任务,因此,服务器可以先基于预设标识判断所接收到的请求是否为注册请求,并在确认接收到注册请求时,将该第一终端确定为可负载终端。

步骤103、根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端。

本发明实施例中,服务器可以先根据可负载终端的性能参数,计算该可负载终端所能负载的任务量,然后基于可负载终端所能负载的任务量,将自身所负担的任务分配给可负载终端,进而减轻自身的负荷,减少出现故障的频率。

综上所述,本发明实施例一提供的任务分配方法,服务器可以接收第一终端在性能参数满足第一预设条件时发送的注册请求,接着基于该注册请求中的预设标识,将该第一终端确定为可负载终端,并基于性能参数,将服务器所负责的任务分配给该可负载终端。本发明实施例中,由于该第一终端的性能参数满足第一预设条件,因此,服务器将第一终端确定为可负载终端,并将自身所负责的任务分配给可负载终端的方式,可以在保证不影响可负载终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

实施例二

图2是本发明实施例二提供的一种任务分配方法的步骤流程图,应用于移动终端,如图2所示,该方法可以包括:

步骤201、获取所述第一终端的性能参数。

本发明实施例中,该性能参数可以包括中央处理器(centralprocessingunit,cpu)占用率、图形处理器(graphicsprocessingunit,gpu)占用率、网络带宽、可用存储空间以及磁盘读写速度中的至少一种。移动终端在获取cpu占有率时,可以是基于cpu的处理能力基准计算实时cpu占用率,具体的,移动终端可以在移动终端的实时操作系统启动前,使用周期性中断,例如,tick中断,来测试cpu的处理能力基准值cpuperformancebase,然后,在实时操作系统进入运行后,使用空闲任务执行测试cpuperformancebase时所采用的算法,得到rtcpuperformance,最后可以通过公式:cpu占用率=1-(rtcpuperformance/cpuperformancebase)*100%,周期地计算cpu占用率,例如,每秒钟计算一次,并清除rtcpuperformance的值。

当然,服务器也可以采用其他方式来获取cpu占用率,例如,通过下述获取函数来获取:getprocesscpu(),:(cpu-last_cpu)*100/khertz*(time-last_time)。进一步地,移动终端在获取网络带宽时,可以向预设的统一资源定位符(uniformresourcelocator,url)上传测试文件,然后基于上传测试文件的速度以及测试文件大小来确定网络带宽;进一步地,移动终端在获取可用存储空间时,可以通过读取系统文件中的参数目录获得可用存储空间,该参数目录可以为:/proc/meminfo;进一步地,移动终端可以利用预设的测试工具进行测试,进而获取移动终端的gpu占用率以及磁盘读写速度。

步骤202、判断所述性能参数是否满足第一预设条件。

本发明实施例中,该第一预设条件可以为性能参数不小于预设性能参数阈值,该预设性能参数阈值可以用于指示处理服务器所分配的任务时,所需要的最低性能参数。

步骤203、若所述性能参数满足所述第一预设条件,则向服务器发送携带有所述性能参数及预设标识注册请求,以便于所述服务器根据所述注册请求将所述第一终端确定为可负载终端,并将所述服务器所负责的任务分配给所述可负载终端。

本发明实施例中,如果性能参数满足第一预设条件,则说明该第一终端可以在保证自身能够正常工作的情况下还能处理其他任务,此时,该第一终端可以向服务器发送携带有性能参数及预设标识注册请求,以便于服务器根据所述注册请求确定可负载终端,并将服务器所负责的任务分配给可负载终端。

综上所述,本发明实施例二提供的任务分配方法,第一终端可以获取第一终端的性能参数,然后判断性能参数是否满足第一预设条件,若性能参数满足第一预设条件,则向服务器发送携带有性能参数及预设标识注册请求,以便于服务器根据注册请求将第一终端确定为可负载终端,并将服务器所负责的任务分配给所述可负载终端。这样,可以在保证不影响第一终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

实施例三

图3是本发明实施例三提供的一种任务分配方法的步骤流程图,如图3所示,该方法可以包括:

步骤301、第一终端获取所述第一终端的性能参数。

具体的,本步骤的实现方式可以参考上述步骤201的具体实现方式,本发明实施例在此不做赘述。

步骤302、第一终端判断所述性能参数是否满足第一预设条件。

具体的,本发明实施例中,该第一预设条件可以为性能参数不小于预设性能参数阈值,其中,性能参数中可以包括多个参数,预设性能参数阈值中可以包括每个参数对应的阈值。示例的,假设性能参数中包括第一终端的cpu占用率、gpu占用率、网络带宽、可用存储空间以及磁盘读写速度,那么,相应的,预设性能参数阈值中可以包括cpu占用率对应的阈值、gpu占用率对应的阈值、网络带宽对应的阈值、可用存储空间对应的阈值以及磁盘读写速度对应的阈值,其中,每个参数对应的阈值可以用于指示处理服务器所分配的任务时,所需要的最低性能参数。

具体的,第一终端可以将所述性能参数中的每个参数与所述预设性能参数阈值中的每个参数对应的阈值进行对比;第一终端对于性能参数中的每个参数,若所述参数大于所述参数对应的阈值,则确定所述性能参数满足第一预设条件。示例的,假设性能参数中包括第一终端的cpu占用率、gpu占用率、网络带宽、可用存储空间以及磁盘读写速度,其中,性能参数中的cpu占用率大于cpu占用率对应的阈值、gpu占用率大于gpu占用率对应的阈值、网络带宽大于网络带宽对应的阈值、可用存储空间大于可用存储空间对应的阈值且磁盘读写速度大于磁盘读写速度对应的阈值,那么第一终端可以确定性能参数满足第一预设条件。

步骤303、若所述性能参数满足所述第一预设条件,则第一终端向服务器发送携带有所述性能参数及预设标识注册请求。

具体的,本步骤的实现方式可以参考上述步骤203的具体实现方式,本发明实施例在此不做赘述。

步骤304、服务器接收第一终端发送的注册请求;所述注册请求中包括所述第一终端的性能参数及预设标识。

具体的,本步骤的实现方式可以参考上述步骤101的具体实现方式,本发明实施例在此不做赘述。

步骤305、服务器基于所述注册请求,将所述第一终端确定为可负载终端。

具体的,服务器可以通过下述子步骤(1)~子步骤(4)来实现步骤305:

子步骤(1):服务器检测所述注册请求中是否包含所述预设标识。

具体的,服务器可以先对注册请求进行解析,然后检测所述注册请求中是否包括预设标识。

子步骤(2):若所述注册请求中包含所述预设标识,则将所述第一终端确定为可负载终端。

本步骤中,如果注册请求中包含预设标识,则可以认为该注册请求是第一终端在确认自身能够正常工作的情况下还能处理其他任务时,性能参数达到的条件时,所发送的注册请求,此时,服务器可以直接将第一终端确定为可负载终端。

进一步地,为了避免由于非法终端恶意向服务器发送注册请求,导致服务器将任务分配给性能较差的第一终端,使得任务无法正常完成的问题,因此,服务器可以在检测到注册请求中包括预设标识之后,继续执行下述子步骤(3)~子步骤(4):

子步骤(3):服务器获取所述注册请求中包括的所述第一终端的性能参数。

本步骤中,服务器可以先解析注册请求,然后从解析后的注册请求中提取第一终端的性能参数。

子步骤(4):若所述第一终端的性能参数满足第二预设条件,则服务器将所述第一终端确定为可负载终端。

本步骤中,第二预设条件可以与第一预设条件完全相同,服务器可以先采用与上述步骤302中相同的判断方式来判断第一终端的性能参数是否满足第二预设条件,在第一终端的性能参数满足第二预设条件时,将该第一终端确定为可负载终端。本发明实施例中,服务器在接收到注册请求后,还会基于注册请求中的性能参数进行二次判断,确保第一终端有能力负载服务器所负载的任务,保证了后续过程中,服务器分配给可负载终端的任务能够正常完成。

当然,第二预设条件也可以与第一预设条件部分相同,示例的,第二预设条件可以是第一终端的性能参数中的部分参数大于对应的预设阈值,例如,该第二预设条件可以是cpu占用率大于cpu占用率对应的阈值、gpu占用率大于gpu占用率对应的阈值。本发明实施例中,服务器验证性能参数中部分参数的方式,可以在保证对终端进行二次判断,以避免恶意注册的同时,减少验证成本,进而节省对服务器系统资源的消耗。同时,服务器基于接收到的注册请求来确定可负载终端的方式,服务器仅需要对接收到的由部分第一终端发送的注册请求进行处理,相较于服务器自主从所有所管理的终端中确定可负载终端的方式,可以减少服务器处理的数据量,进而可以缩短确定可负载终端所需的时间,提高确定效率。

进一步地,服务器还可以在将第一终端确定为可负载终端之后,在可负载终端列表中记录可负载终端的地址信息,其中,可负载终端的地址信息可以为可负载终端的网际协议地址(internetprotocoladdress,ip),进一步地,由于服务器所管理的大量终端中,可能会有较多终端的性能参数满足第一预设条件,即就是,实际应用中,服务器可能会接收到多个第一终端发送的注册请求,进而确定出多个可负载终端,本发明实施例中,服务器通过在可负载终端列表中记录可负载终端的地址信息,可以便于服务器确定所管理的终端中哪些是可负载终端,方便服务器管理。

步骤306、服务器根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端。

本发明实施例中,服务器所负责的任务可以为数据存储、数据运算,相应地,服务器可以向可负载终端分配数据存储任务、数据运算任务,当然,服务器所负责的任务也可以为其他任务,服务器也可以将其他任务分配给可负载终端,本发明实施例对此不作限定。

当任务为数据存储时,服务器可以通过下述子步骤(5)~子步骤(6)来实现步骤306:

子步骤(5):计算所述第一终端的可用存储空间与预设比例的乘积,得到所述第一终端的可存储数据量。

本步骤中,由于服务器所管理的终端中可能会存在多个可负载终端,因此,服务器在分配任务时,可以从可负载终端列表中选择至少一个可负载终端,作为第一目标终端,即,第一目标终端可以为一个,也可以为多个。本发明实施例中,通过在可负载终端列表中记录可负载终端的地址信息,使得服务器能够从所管理的大量终端中,方便快捷的确定出可以接收任务分配的第一目标终端,进而提高了任务分配的效率。

进一步地,该预设比例可以是开发人员根据实际情况设定,示例的,该预设比例可以为0.35,当然,该预设比例也可以为其他数值,本发明实施例对此不作限定。示例的,假设有服务器选择了两个第一目标终端:第一目标终端a以及第一目标终端b,那么服务器可以分别计算第一目标终端a的可用存储空间与预设比例的乘积,计算第一目标终端b的可用存储空间与预设比例的乘积,得到第一目标终端a的可存储数据量以及第一目标终端b的可存储数据量。

子步骤(6):向所述第一终端发送目标数据,以便于所述第一终端存储所述目标数据。

本步骤中,该目标数据的数据量不大于可存储数据量,具体的,服务器可以从自身所存储的数据中提取出目标数据,然后将目标数据发送给第一终端,示例的,假设第一终端a的可存储数据量为100兆字节(mbyte,m),那服务器可以向第一终端a发送数据量不大于100m的目标数据。实际应用中,当终端所存储的数据占用过多可用存储空间时,就会出现卡顿等问题,进而影响终端的正常工作。本发明实施例中,通过第一终端的可用存储空间以及预设比例计算可存储数据量,并保证服务器发送给第一终端的目标数据不大于该可存储数据量,进而使得第一终端在存储接收到的目标数据的同时,还能正常工作。

进一步地,当其他终端想要从服务器中请求存储的数据时,服务器可以通过下述子步骤(7)~子步骤(9)实现:

子步骤(7):服务器接收第二终端发送的数据获取请求;所述数据获取请求中包括待获取数据的标识。

本发明实施例中,当第二终端需要获取数据时,可以向服务器发送携带有待获取数据的标识的数据获取请求,该待获取数据的标识可以是待获取数据的标题、编号,等等。示例的,假设该待获取数据为视频,那么该待获取数据的标识可以为视频的名称。

子步骤(8):服务器获取所述数据获取请求中待获取数据的标识,并基于所述待获取数据的标识,确定所述待获取数据的存储地址信息,得到至少一个可获取地址信息。

本步骤中,移动终端可以基于待获取数据标识,查找待获取数据的存储位置,进而得到可获取地址信息。由于服务器将部分/全部数据存储在可负载终端中,即,待获取数据可能存储在可负载终端中,也可能存储在服务器中,也可能一部分存储在可负载终端中,另一部分存储在服务器中,因此,得到可获取地址信息可能指示存储有待获取数据的可负载终端,或者服务器,或者可负载终端以及服务器。

子步骤(9):服务器将所述第二终端连接范围内的可负载终端的地址信息作为辅助地址信息,将所述至少一个可获取地址信息以及所述辅助地址信息发送给所述第二终端,以便于所述第二终端基于所述至少一个可获取地址信息以及辅助地址信息获取待获取数据。

实际应用场景中,每个终端可以和一定范围内的其他终端连接,以进行通信,数据传输等等,进一步地,当待获取数据存储在可负载终端内时,服务器是将存储有待获取数据的可负载终端的地址作为可获取地址返回给第二终端的,即就是,无法保证可获取地址信息所指示的终端/服务器在第二终端的连接范围内,这样,当出现待获取数据存储在可负载终端中,但是该可负载终端不在第二终端的连接范围内时,第二终端就无法从可获取地址信息所指示的终端中获取待获取数据,因此,本发明实施例中,服务器还会将第二终端连接范围内的可负载终端的地址信息作为辅助地址信息,将可获取地址信息以及辅助地址信息同时发送给第二终端,第二终端在接收到可获取地址信息以及辅助地址信息之后,可以先与可获取地址信息所指示的终端连接,如果连接成功,则直接获取数据,如果连接失败,则可以与辅助地址信息所指示的可负载终端连接,该可负载终端可以从可获取地址信息所指示的终端中获取数据,并转发给第二终端。这样,当第二终端无法与可获取地址信息所指示的终端直接连接时,还可以通过辅助地址信息所指示的可负载终端向第二终端转发数据,进而确保第二终端能够获取到待获取数据。

当然,在本发明的另一可选实施例中,服务器还可以在得到可获取地址信息之后,判断该可获取地址信息所指示的终端是否在第二终端的连接范围内,如果不在,则执行子步骤(9),如果在,则可以直接将得到的可获取地址信息发送给第二终端,进而减少发送给第二终端的数据量。

示例的,当任务为数据运算时,服务器可以通过下述子步骤(10)~子步骤(11)来实现步骤306:

子步骤(10):服务器根据所述cpu占用率,确定所述第一终端所能承载的最大运算量。

本步骤中,服务器可以将使第一终端的cpu占用率达到预设的最大cpu占用率所需的运算量,确定为第一终端所能承载的最大运算量。其中,预设的最大cpu占用率可以是开发人员根据实际需求设定的,示例的,该预设的最大cpu占用率可以为80%,当然,该预设的最大cpu占用率也可以为其他数值,本发明实施例对此不作限定。

子步骤(11):向所述第一终端发送待运算数据,以便于所述第一终端对所述待运算数据进行处理。

本步骤中,该待运算数据的数据量不大于所述最大运算量,具体的,服务器可以从需要自身进行运算的数据中提取待运算数据,然后将待运算数据发送给第一终端,示例的,假设数据运算的任务为协议转换,那么服务器可以将待转化的数据作为待运算数据,发送给第一终端,以便于第一终端对这些待运算数据进行协议转换。实际应用中,当终端的运算量过多时,会导致终端的cpu占用率过高,进而导致终端出现卡顿,影响终端的正常工作。本发明实施例中,通过第一终端的cpu占用率计算最大运算量,并保证服务器发送给第一终端的待运算数据不大于该最大运算量,进而使得第一终端在对待运算数据进行处理的同时,还能正常工作。

综上所述,本发明实施例三提供的任务分配方法,第一终端可以获取第一终端的性能参数,然后判断性能参数是否满足第一预设条件,若性能参数满足第一预设条件,则向服务器发送携带有性能参数及预设标识的注册请求,服务器可以基于接收到的注册请求,将该第一终端确定为可负载终端,并基于性能参数,将服务器所负责的任务分配给该可负载终端。本发明实施例中,由于该第一终端的性能参数满足第一预设条件,因此服务器将第一终端确定为可负载终端,并将自身所负载的任务分配给可负载终端的方式,可以在保证不影响可负载终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

实施例四

图4是本发明实施例四提供的一种任务分配装置的框图,如图4所示,该装置40可以包括:

接收模块401,用于接收第一终端发送的注册请求;所述注册请求在所述第一终端的性能参数满足第一预设条件时发送,所述注册请求中包括所述第一终端的性能参数及预设标识。

确定模块402,用于基于所述注册请求中的预设标识,将所述第一终端确定为可负载终端。

分配模块403,用于根据所述性能参数,将所述服务器所负责的任务分配给所述可负载终端。

综上所述,本发明实施例四提供的任务分配装置,接收模块可以接收第一终端在性能参数满足第一预设条件时发送的注册请求,接着确定模块可以基于该注册请求中的预设标识,将该第一终端确定为可负载终端,最后,分配模块可以基于性能参数,将服务器所负责的任务分配给该可负载终端。由于该第一终端的性能参数满足第一预设条件,因此,服务器将第一终端确定为可负载终端,并将自身所负责的任务分配给可负载终端的方式,可以在保证不影响可负载终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

可选的,上述确定模块402,用于:

检测所述注册请求中是否包含所述预设标识;

若所述注册请求中包含所述预设标识,则将所述第一终端确定为可负载终端,或,获取所述注册请求中包括的所述第一终端的性能参数。若所述第一终端的性能参数满足第二预设条件,则将所述第一终端确定为可负载终端。

可选的,上述性能参数包括可用存储空间。

当所述任务为数据存储时,所述分配模块403,包括:

计算子模块,用于计算所述第一终端的可用存储空间与预设比例的乘积,得到所述第一终端的可存储数据量。

第一发送子模块,用于向所述第一终端发送目标数据,以便于所述第一终端存储所述目标数据。

其中,所述目标数据的数据量不大于所述可存储数据量。

可选的,上述分配模块403,还包括:

接收子模块,用于接收第二终端发送的数据获取请求;所述数据获取请求中包括待获取数据的标识。

获取子模块,用于获取所述数据获取请求中待获取数据的标识,并基于所述待获取数据的标识,确定所述待获取数据的存储地址信息,得到至少一个可获取地址信息。

第二发送子模块,用于将所述第二终端连接范围内的可负载终端的地址信息作为辅助地址信息,将所述至少一个可获取地址信息以及所述辅助地址信息发送给所述第二终端,以便于所述第二终端基于所述至少一个可获取地址信息以及辅助地址信息获取待获取数据。

可选的,上述性能参数包括中央处理器cpu占用率;

当所述任务为数据运算时,所述分配模块403,用于:

根据所述cpu占用率,确定所述第一终端所能承载的最大运算量。

向所述第一终端发送待运算数据,以便于所述第一终端对所述待运算数据进行处理。

其中,所述待运算数据的运算量不大于所述最大运算量。

综上所述,本发明实施例四提供的任务分配装置,接收模块可以接收第一终端在性能参数满足第一预设条件时发送的注册请求,接着确定模块可以在注册请求中包括预设标识时,直接将第一终端确定为可负载终端,也可以继续获取该注册请求中的性能参数,并在该性能参数满足第二预设条件时,将该第一终端确定为可负载终端,进而避免由于非法终端恶意向服务器发送注册请求,导致服务器将任务分配给性能较差的第一终端,使得任务无法正常完成的问题,接着,分配模块可以基于性能参数,将服务器所负责的任务分配给该可负载终端。由于该第一终端的性能参数满足第一预设条件,因此,服务器将第一终端确定为可负载终端,并将自身所负责的任务分配给可负载终端的方式,可以在保证不影响可负载终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

实施例五

图5是本发明实施例五提供的一种任务分配装置的框图,如图5所示,该装置50可以包括:

获取模块501,用于获取所述第一终端的性能参数。

判断模块502,用于判断所述性能参数是否满足第一预设条件。

发送模块503,用于若所述性能参数满足所述第一预设条件,则向服务器发送携带有所述性能参数及预设标识注册请求,以便于所述服务器根据所述注册请求将所述第一终端确定为可负载终端,并将所述服务器所负责的任务分配给所述可负载终端。

综上所述,本发明实施例五提供的任务分配装置,获取模块可以获取第一终端的性能参数,然后判断模块可以判断性能参数是否满足第一预设条件,若性能参数满足第一预设条件,则发送模块会向服务器发送注册请求,以便于服务器根据注册请求将第一终端确定为可负载终端,并将服务器所负责的任务分配给所述可负载终端。这样,可以在保证不影响第一终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

可选的,上述性能参数包括cpu占用率、图形处理器gpu占用率、网络带宽、可用存储空间以及磁盘读写速度中的至少一种。

可选的,上述第一预设条件为所述性能参数不小于预设性能参数阈值,所述预设性能参数阈值用于指示处理所述服务器所分配的任务时,所需要的最低性能参数。

所述判断模块502,用于:

将所述性能参数中的每个参数与所述预设性能参数阈值中的每个参数对应的阈值进行对比。

对于性能参数中的每个参数,若所述参数大于所述参数对应的阈值,则确定所述性能参数满足第一预设条件。

综上所述,本发明实施例五提供的任务分配装置,获取模块可以获取第一终端的性能参数,然后判断模块可以将述性能参数中的每个参数与预设性能参数阈值中的每个参数对应的阈值进行对比,对于性能参数中的每个参数,若参数大于所述参数对应的阈值,则确定性能参数满足第一预设条件,若性能参数满足第一预设条件,则发送模块会向服务器发送注册请求,以便于服务器根据注册请求将第一终端确定为可负载终端,并将服务器所负责的任务分配给所述可负载终端。这样,可以在保证不影响第一终端正常工作的情况下,减轻服务器的负荷,进而提高服务器的稳定性。

对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的任务分配方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的任务分配方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1