CN113946414A - 一种任务处理方法、装置及电子设备 - Google Patents
一种任务处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113946414A CN113946414A CN202111065840.2A CN202111065840A CN113946414A CN 113946414 A CN113946414 A CN 113946414A CN 202111065840 A CN202111065840 A CN 202111065840A CN 113946414 A CN113946414 A CN 113946414A
- Authority
- CN
- China
- Prior art keywords
- task
- server
- processing
- determining
- information
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种任务处理方法、装置及电子设备,涉及计算机技术领域,尤其涉及服务技术领域。具体实现方案为:接收任务处理请求,所述任务处理请求包括第一任务的任务信息;响应于所述任务处理请求,获取各服务器的资源信息;基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及服务技术领域的任务处理方法、装置及电子设备。
背景技术
随着计算机技术的广泛应用,电子设备将产生越来越多的服务请求,每个服务请求对应一个任务;针对每个任务,如何通过分配用于处理该任务的服务器、时间和资源,以提高任务处理的效率是一直追求的目标。
发明内容
本公开提供了一种任务处理方法、装置及电子设备。
根据本公开的第一方面,提供了一种任务处理方法,包括:
接收任务处理请求,所述任务处理请求包括第一任务的任务信息;
响应于所述任务处理请求,获取各服务器的资源信息;
基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;
基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
根据本公开的第二方面,提供了一种任务处理装置,包括:
接收模块,用于接收任务处理请求,所述任务处理请求包括第一任务的任务信息;
获取模块,用于响应于所述任务处理请求,获取各服务器的资源信息;
第一确定模块,用于基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;
第二确定模块,用于基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的任务处理方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的任务处理方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现根据上述的任务处理方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开提供的任务处理方法的一种可选处理流程示意图;
图2是根据本公开提供的服务器的资源信息的示意图;
图3是本公开实施例提供的确定用于处理第一任务的第一服务器的具体处理过程示意图;
图4是本公开实施例提供的确定所述第一服务器处理所述第一任务的时间和资源的处理过程示意图;
图5a是本公开实施例提供的服务器的待处理任务的一种可选示意图;
图5b是本公开实施例提供的服务器的待处理任务的一种可选示意图;
图6是本公开实施例提供的服务器的资源的状态信息的示意图;
图7是本公开实施例提供的一种任务处理装置的可选组成结构示意图;
图8是用来实现本公开实施例的任务处理的方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
图1是本公开提供的任务处理方法的一种可选处理流程示意图,任务处理方法至少可以包括以下步骤:
步骤S201,接收任务处理请求,所述任务处理请求包括第一任务的任务信息。
在一些实施例中,任务处理请求中包括第一任务的任务信息;第一任务的任务信息可以包括:处理第一任务所需的时长,处理第一任务所需的资源的大小,以及第一任务的任务结束时刻。其中,第一任务的任务结束时刻可以指处理第一任务的最晚结束时刻。
在一些实施例中,任务处理请求用于请求对第一任务进行处理。
步骤S202,响应于任务处理请求,获取各服务器的资源信息。
在一些实施例中,服务器的资源信息可以包括服务器的目标剩余资源的大小;其中,目标剩余资源为未被占用的、可分配的资源。通过获取各服务器的资源信息,可以确定出能够处理第一任务的服务器。其中,资源可以是指服务器的内存。相应的,目标剩余资源可以是指未被占用的内存。
在一些实施例中,获取各服务器的资源信息的具体实现过程可以是:针对每个服务器执行以下操作:基于所述服务器总的可用资源的大小与全部待处理任务所需的资源的大小之差,确定所述服务器的候选剩余资源的大小;基于所述候选剩余资源的大小与已处理的任务所释放的资源的大小之和,确定所述服务器的目标剩余资源的大小;其中,所述资源信息包括所述目标剩余资源的大小。其中,服务器总的可用资源是指服务器未处理任何任务时的可用资源,也可以称为分配给服务器的初始资源。服务器的目标剩余资源是指服务器处理当前正在处理的任务以及已分配至服务器的待处理任务之后,可用于处理任务的资源。
作为示例,针对第一服务器,若第一服务器总的可用资源的大小为M,第一服务器待处理任务所需的资源的大小为N;其中,第一服务器待处理任务可以是指已经分配至第一服务器处理的任务,因此,第一服务器待处理任务所需的资源可以是指已经预约分配至待处理任务的资源;利用第一服务器总的可用资源的大小为M减去第一服务器待处理任务所需的资源的大小为N,得到第一服务器的候选剩余资源的大小。由于第一服务器处理完一个任务,则处理该任务所占用的资源将被释放,因此将候选剩余资源的大小与已处理的任务所释放的资源的大小相加,得到的便是服务器的目标剩余资源的大小。
在一些实施例中,服务器的资源信息的示意图,可以如图2所示,图2中横坐标表示服务器处理一任务所需的剩余处理时间,纵坐标表示服务器处理一任务所需的资源的大小。图2中的空白部分为目标剩余资源。本申请实施例中,通过图2所示的模型图表征服务器的资源信息,能够清晰地呈现服务器的资源使用情况和资源剩余情况。
若第一服务器总的可用资源的大小为M,R1至Ra为正在处理或待处理任务,每个任务所需的资源大小为mi,处理每个任务所需的剩余时间为ti,其中,i∈[1,a]。若为第一服务器新分配任务Ra+1,处理任务Ra+1所需的资源大小为ma+1,处理任务Ra+1的任务结束时刻Ta+1,处理任务Ra+1所需的时间为ta+1(ta+1<=Ta+1),则消息的最小等待时间tw1;则服务器某时间区间[tn,tn+1)的目标剩余资源可由M、待处理任务所需的资源以及当前正在处理的任务所占用的资源表示,如下公式所示:
其中,M为第一服务器总的可用资源的大小,m′n表示目标剩余资源,a为待处理任务的数量,n为一时间节点。
步骤S203,基于各服务器的资源信息和第一任务的任务信息,确定用于处理第一任务的第一服务器。
在一些实施例中,基于各服务器的资源信息和第一任务的任务信息,确定用于处理第一任务的第一服务器的具体处理过程,可以如图3所示,至少包括以下步骤:
步骤S203a,基于各服务器的资源信息和第一任务的任务信息,确定能够处理第一任务的候选服务器。
在一些实施例中,针对每个服务器,根据第一任务的任务信息所包括的处理第一任务所需的时长、第一任务的任务结束时刻和处理第一任务所需的资源的大小,以及服务器的目标剩余资源的大小确定能够处理第一任务的候选服务器。
在具体实施时,能够处理第一任务的候选服务器的目标剩余资源的大小大于或等于处理第一任务所需的资源的大小,能够处理第一任务的候选服务器完成第一任务的终止时刻小于或等于第一任务的任务结束时刻。因此,可以首先确定每个服务器能够完成所述第一任务的终止时刻,确定小于所述任务信息所指示的任务结束时刻的终止时刻对应的服务器为候选服务器。若全部服务器都能完成第一任务的终止时刻均大于任务信息所指示的任务结束时刻,则确定不存在能够处理所述第一任务的候选服务器。
响应于确定不存在能够处理所述第一任务的候选服务器,所述任务处理方法还可以包括:向所述第一任务对应的电子设备发送任务处理请求响应消息,所述任务处理请求响应消息包括等待时间超时;其中,等待时间超时是指处理服务器完成第一任务的终止时刻大于第一任务的任务结束时刻。任务处理请求响应消息还可以包括再次发送处理请求的时间。作为示例,次发送处理请求的时间可以是全部服务器处理第一任务的等待时间中时长最短的等待时间,也可以是全部服务器处理第一任务的等待时间的平均值,还可以是全部服务器处理第一任务的等待时间中时长最长的等待时间。如此,能够避免在全部服务器均不能处理第一任务时,第一任务对应的电子设备不必要的任务处理等待。
在一些实施例中,完成第一任务的终止时刻可根据服务器开始处理第一任务的起始时刻和处理第一任务所需的时长相加得到。服务器开始处理第一任务的起始时刻可以根据服务器当前正在处理的任务所需的剩余时长以及处理时间位于第一任务之前的待处理任务的总时长确定;如,当前时刻与服务器当前正在处理的任务所需的剩余时长、以及处理时间位于第一任务之前的待处理任务的总时长相加得到的时刻,为服务器开始处理第一任务的起始时刻。
步骤S203b,确定每个候选服务器处理所述第一任务的等待时间。
一些实施例中,根据每个候选服务器当前正在处理的任务所需的剩余时长以及处理时间位于第一任务之前的待处理任务的总时长确定每个候选服务器处理第一任务的等待时间。
在具体实施时,每个候选服务器当前正在处理的任务所需的剩余时长与处理时间位于第一任务之前的待处理任务的总时长相加,得到每个候选服务器处理第一任务的等待时间。
步骤S203c,确定等待时间中最小的等待时间所对应的候选服务器为所述第一服务器。
在一些实施例中,若存在多个候选服务器,则选择处理第一任务的等待时间最小的服务器为第一服务器,第一服务器用于处理第一任务。如此,能够实现第一任务以最快的速度被处理,提高第一任务的处理效率。
步骤S204,基于第一服务器的资源信息和第一任务的任务信息,确定第一服务器处理第一任务的时间和资源。
在一些实施例中,若第一服务器当前不存在待处理任务和正在处理的任务,则确定第一服务器处理第一任务的起始时间为当前时刻,第一服务器处理第一任务的资源为第一服务器当前可用的资源。
在另一些实施例中,若第一服务器当前存在待处理任务,则基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源的处理过程,可以如图4所示,至少包括:
步骤S204a,按照每个待处理任务的任务结束时刻对待处理任务进行排序,生成待处理任务序列。
在具体实施时,待处理任务序列中第一个待处理任务为待处理任务序列中结束时刻最早的任务;待处理任务序列中第一个待处理任务为待处理任务序列中结束时刻最晚的任务。
步骤S204b,根据任务信息中处理第一任务所需的资源的大小,确定第一服务器在第一时间区间内存在可用于处理第一任务的资源。
在一些实施例中,若第一服务器在第一时间区间有空闲资源,且空闲资源的大小大于或等于任务信息中处理第一任务所需的资源的大小,则可以确定服务器在第一时间区间内存在可用于处理第一任务的资源。
步骤S204c,调整待处理任务序列中第一任务与第二任务的顺序,使得所述第一任务的处理时间位于第一时间区间。
在一些实施例中,可采用贪心算法调整待处理任务序列中第一任务与第二任务的顺序;贪心算法对应的策略可以是包括服务器的资源利用率最大化,处理第一任务的等待时间缩短,调整顺序后的第一任务和第二任务的等待时间之和小于调整顺序前的第一任务和第二任务的等待时间之和,调整第二任务在待处理任务序列中的顺序之后,完成第二任务的终止时刻小于或等于第二任务的任务结束时刻。
在一些实施例中,可以调整所有待处理任务在待处理任务序列中的排序,选择平均等待时间最短的待处理任务序列。但是,在待处理任务较多时,计算量大,所需时间长。
在另一些实施例中,可以对待处理任务序列中排序在最后的X个任务调整顺序,即第一任务与第二任务可以为待处理任务序列中排序在最后的X个任务中的两个任务;其中,X为正整数,X的值可根据实际的应用场景灵活设置。如此,通过调整待处理任务序列中排序在最后的X个任务的顺序,使得调整顺序后的第一任务和第二任务的等待时间之和小于调整顺序前的第一任务和第二任务的等待时间之和,如此能够有效地利用服务器的资源。调整待处理任务序列中排序在最后的X个任务的顺序相比于调整待处理任务序列中全部任务的顺序,能够减少计算量。
服务器的待处理任务的一种可选示意图,如图5a所示,横坐标表示服务器处理一任务所需的剩余时间,纵坐标表示服务器处理一任务所需的资源的大小。通过本申请实施例提供的任务处理方法对待处理任务序列中的待处理任务排序,得到如图5b所示的服务器的待处理任务的另一种可选示意图;通过比较图5a和图5b可以确定,图5b中服务器的资源被有序地充分利用,使得服务器的资源最大化地被占用。图5b中服务器的资源利用率高于图5a中服务器的资源利用率。
在一些实施例中,在对待处理任务序列重新排序后,重新确定服务器的资源的状态信息;其中,服务器的资源的状态信息可以指服务器的资源的配置状态,如配置给待处理的任务及正在处理的任务的资源。针对图5b所示的服务器的待处理任务示意图,服务器的资源的状态信息可以如图6所示。若接收到新的任务处理请求,则基于图6所示的服务器的资源的状态信息计算处理新的任务处理请求对应的任务的等待时间,即上述步骤S201。
本公开实施例还提供一种任务处理装置,任务处理装置的一种可选组成结构示意图,如图7所示,包括:
接收模块701,用于接收任务处理请求,所述任务处理请求包括第一任务的任务信息;
获取模块702,用于响应于所述任务处理请求,获取各服务器的资源信息;
第一确定模块703,用于基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;
第二确定模块704,用于基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
在一些实施例中,获取模块702,用于针对每个服务器执行下述操作:
基于所述服务器总的可用资源的大小与全部待处理任务所需的资源的大小之差,确定所述服务器的候选剩余资源的大小;
基于所述候选剩余资源的大小与已处理的任务所释放的资源的大小之和,确定所述服务器的目标剩余资源的大小;其中,所述资源信息包括所述目标剩余资源的大小。
在一些实施例中,第一确定模块703,用于基于所述各服务器的资源信息和所述第一任务的任务信息,确定能够处理所述第一任务的候选服务器;
确定每个所述候选服务器处理所述第一任务的等待时间;
确定所述等待时间中最小的等待时间所对应的候选服务器为所述第一服务器。
在一些实施例中,第一确定模块703,用于确定每个所述服务器能够完成所述第一任务的终止时刻;
确定小于所述任务信息所指示的任务结束时刻的终止时刻对应的服务器为候选服务器。
在一些实施例中,第一确定模块703,用于确定每个所述服务器能够完成所述第一任务的终止时刻;
响应于确定全部所述终止时刻均大于所述任务信息所指示的任务结束时刻,确定不存在能够处理所述第一任务的候选服务器。
在一些实施例中,第一确定模块703,还用于向所述第一任务对应的电子设备发送任务处理请求响应消息,所述任务处理请求响应消息包括处理所述第一任务的等待时间。
在一些实施例中,第二确定模块704,用于响应于所述第一服务器当前存在待处理任务,按照每个所述待处理任务的任务结束时刻对所述待处理任务进行排序,生成待处理任务序列;所述待处理任务序列包括所述第一任务;
根据所述任务信息中处理所述第一任务所需的资源的大小,确定所述第一服务器在第一时间区间内存在可用于处理所述第一任务的资源;
调整所述待处理任务序列中所述第一任务与第二任务的顺序,使得所述第一任务的处理时间位于所述第一时间区间;调整顺序后的所述第一任务和所述第二任务的等待时间之和小于调整顺序前的所述第一任务和所述第二任务的等待时间之和。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如任务处理方法。例如,在一些实施例中,任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (12)
1.一种任务处理方法,包括:
接收任务处理请求,所述任务处理请求包括第一任务的任务信息;
响应于所述任务处理请求,获取各服务器的资源信息;
基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;
基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
2.根据权利要求1所述的方法,其中,所述获取各服务器的资源信息,包括:
针对每个服务器执行下述操作:
基于所述服务器总的可用资源的大小与全部待处理任务所需的资源的大小之差,确定所述服务器的候选剩余资源的大小;
基于所述候选剩余资源的大小与已处理的任务所释放的资源的大小之和,确定所述服务器的目标剩余资源的大小;其中,所述资源信息包括所述目标剩余资源的大小。
3.根据权利要求1所述的方法,所述基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器,包括:
基于所述各服务器的资源信息和所述第一任务的任务信息,确定能够处理所述第一任务的候选服务器;
确定每个所述候选服务器处理所述第一任务的等待时间;
确定所述等待时间中最小的等待时间所对应的候选服务器为所述第一服务器。
4.根据权利要求3所述的方法,所述基于所述各服务器的资源信息和所述第一任务的任务信息,确定能够处理所述第一任务的候选服务器包括:
确定每个所述服务器能够完成所述第一任务的终止时刻;
确定小于所述任务信息所指示的任务结束时刻的终止时刻对应的服务器为候选服务器。
5.根据权利要求3所述的方法,所述基于所述各服务器的资源信息和所述第一任务的任务信息,确定能够处理所述第一任务的候选服务器包括:
确定每个所述服务器能够完成所述第一任务的终止时刻;
响应于确定全部所述终止时刻均大于所述任务信息所指示的任务结束时刻,确定不存在能够处理所述第一任务的候选服务器。
6.根据权利要求5所述的方法,所述确定不存在能够处理所述第一任务的候选服务器之后,所述方法还包括:
向所述第一任务对应的电子设备发送任务处理请求响应消息,所述任务处理请求响应消息包括处理所述第一任务的等待时间。
7.根据权利要求1至6任一项所述的方法,所述基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源包括:
响应于所述第一服务器当前不存在待处理任务和正在处理的任务,确定所述第一服务器处理所述第一任务的起始时间为当前时刻,确定所述第一服务器处理所述第一任务的资源为所述第一服务器当前可用的资源。
8.根据权利要求1至6任一项所述的方法,所述基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源包括:
响应于所述第一服务器当前存在待处理任务,按照每个所述待处理任务的任务结束时刻对所述待处理任务进行排序,生成待处理任务序列;所述待处理任务序列包括所述第一任务;
根据所述任务信息中处理所述第一任务所需的资源的大小,确定所述第一服务器在第一时间区间内存在可用于处理所述第一任务的资源;
调整所述待处理任务序列中所述第一任务与第二任务的顺序,使得所述第一任务的处理时间位于所述第一时间区间;调整顺序后的所述第一任务和所述第二任务的等待时间之和小于调整顺序前的所述第一任务和所述第二任务的等待时间之和。
9.一种任务处理装置,包括:
接收模块,用于接收任务处理请求,所述任务处理请求包括第一任务的任务信息;
获取模块,用于响应于所述任务处理请求,获取各服务器的资源信息;
第一确定模块,用于基于所述各服务器的资源信息和所述第一任务的任务信息,确定用于处理所述第一任务的第一服务器;
第二确定模块,用于基于所述第一服务器的资源信息和所述第一任务的任务信息,确定所述第一服务器处理所述第一任务的时间和资源。
10.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至8中任一项所述的方法。
12.一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065840.2A CN113946414A (zh) | 2021-09-10 | 2021-09-10 | 一种任务处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111065840.2A CN113946414A (zh) | 2021-09-10 | 2021-09-10 | 一种任务处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946414A true CN113946414A (zh) | 2022-01-18 |
Family
ID=79328319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111065840.2A Pending CN113946414A (zh) | 2021-09-10 | 2021-09-10 | 一种任务处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946414A (zh) |
-
2021
- 2021-09-10 CN CN202111065840.2A patent/CN113946414A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113849312B (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN114155026A (zh) | 一种资源分配方法、装置、服务器及存储介质 | |
CN112860974A (zh) | 计算资源的调度方法、装置、电子设备和存储介质 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
EP4060496A2 (en) | Method, apparatus, device and storage medium for running inference service platform | |
CN113986497B (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN113360266B (zh) | 任务处理方法和装置 | |
CN112527509B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN113590329A (zh) | 资源处理方法及装置 | |
CN113032093A (zh) | 分布式计算方法、装置及平台 | |
CN112671892A (zh) | 数据传输方法、装置、电子设备、介质和计算机程序产品 | |
CN116661960A (zh) | 一种批量任务处理方法、装置、设备以及存储介质 | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN114217977B (zh) | 资源分配方法、装置、设备以及存储介质 | |
CN113032092B (zh) | 分布式计算方法、装置及平台 | |
CN114416357A (zh) | 容器组的创建方法、装置、电子设备和介质 | |
CN113946414A (zh) | 一种任务处理方法、装置及电子设备 | |
CN113568706B (zh) | 针对业务的容器调整方法、装置、电子设备和存储介质 | |
CN115328612A (zh) | 资源分配方法、装置、设备以及存储介质 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN114579187A (zh) | 一种指令分配方法、装置、电子设备及可读存储介质 | |
CN115379000B (zh) | 服务平台的扩容方法、装置、电子设备以及存储介质 | |
CN114006902B (zh) | 云手机重启方法、装置、设备以及存储介质 | |
CN115495312B (zh) | 业务请求处理方法和装置 |
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 |