CN116915797A - 资源分配方法、装置、电子设备和存储介质 - Google Patents

资源分配方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116915797A
CN116915797A CN202310759567.6A CN202310759567A CN116915797A CN 116915797 A CN116915797 A CN 116915797A CN 202310759567 A CN202310759567 A CN 202310759567A CN 116915797 A CN116915797 A CN 116915797A
Authority
CN
China
Prior art keywords
service
processed
determining
time
waiting time
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
Application number
CN202310759567.6A
Other languages
English (en)
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.)
China Mobile Communications Group Co Ltd
China Mobile Group Beijing Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Beijing Co Ltd
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 China Mobile Communications Group Co Ltd, China Mobile Group Beijing Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202310759567.6A priority Critical patent/CN116915797A/zh
Publication of CN116915797A publication Critical patent/CN116915797A/zh
Pending legal-status Critical Current

Links

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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Abstract

本申请涉及通信技术领域,提供一种资源分配方法、装置、电子设备和存储介质。所述方法包括:基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;基于所述第一等待时间的第一排序结果,确定第一目标业务;将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。本申请提供的资源分配方法,通过对第一等待时间对各待处理业务进行排序,根据第一排序结果将相同类型的待处理业务分配至一个保障进程,可以减少进程启动和关闭的频率,从而减少系统的开销,同时还可以提高计算资源的利用率,兼顾紧急业务的优先处理的机会,提高对计算资源分配的效率。

Description

资源分配方法、装置、电子设备和存储介质
技术领域
本申请涉及通信技术领域,具体涉及一种资源分配方法、装置、电子设备和存储介质。
背景技术
随着传输控制协议(Transmission Control Protocol,TCP)多进程并发服务器的广泛应用,业务支撑领域已经全面使用了该技术。TCP并发服务器的思想是每一个客户机的请求并不由服务器直接处理,而是由服务器创建一个子进程来处理。目前对TCP多进程并发服务器的使用还是处于初期阶段,当有空余进程就分配给业务请求,如果没有空余进程就让业务请求等待,直到有空余进程出现,而等待方式也是采用先进先出策略。
现有技术没有考虑到请求业务的差异,对实效要求的差异,同时还存在进程不断的启用和关闭,造成了过多的系统开销,从而导致计算资源分配效率低。
发明内容
本申请实施例提供一种资源分配方法、装置、电子设备和存储介质,用以解决业务处理过程中,系统开销过度导致的计算资源分配效率低的技术问题。
第一方面,本申请实施例提供一种资源分配方法,包括:
基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;
基于所述第一等待时间的第一排序结果,确定第一目标业务;
将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
在一个实施例中,所述基于所述第一等待时间的第一排序结果,确定第一目标业务之后,所述方法还包括:
基于所述业务类型,对所述各待处理业务进行业务划分,得到至少一个业务队列;
确定每个所述业务队列的优先级及其待处理业务的数量;
确定每个所述业务队列的各待处理业务的第一等待时间的第二排序结果;
基于所述第二排序结果、所述优先级以及所述待处理业务的数量,确定每个所述业务队列的排序值;
将最小的排序值的业务队列中各待处理业务,分配至所述保障进程。
在一个实施例中,所述基于所述第二排序结果、所述优先级以及所述待处理业务的数量,确定每个所述业务队列的排序值,包括:
基于所述第二排序结果,确定每个所述业务队列的紧急任务;
基于所述优先级、所述待处理业务的数量以及每个所述业务队列的紧急任务的第一等待时间,确定每个所述业务队列的排序值。
在一个实施例中,所述基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间之前,包括:
接收第二目标业务的访问请求;
基于所述访问请求获取所述第二目标业务的业务类型;
基于所述第二目标业务的业务类型,确定至少一个第一待选进程;所述第一待选进程为与所述第二目标业务的业务类型匹配的常规进程;
基于所述第一待选进程确定第二待选进程,并将所述第二目标业务分配至所述第二待选进程。
在一个实施例中,所述将所述第二目标业务分配至所述第二待选进程,包括:
基于所述第二目标业务的业务类型,确定所述第二目标业务的第二预计处理时间和第二最晚完成时间;
确定所述第二待选进程的排队业务数量;
基于所述第二预计处理时间和所述排队业务数量,确定第二等待时间;
若所述第二最晚完成时间大于所述第二等待时间,则将所述第二目标业务分配至所述第二待选进程。
在一个实施例中,所述基于所述访问请求获取所述第二目标业务的业务类型之后,还包括:
若已开启的常规进程的业务类型与所述第二目标业务的业务类型不匹配,或所述第二最晚完成时间小于或等于所述第二等待时间,则开启新的常规进程,并将所述第二目标业务分配至所述新的常规进程;
若无所述新的常规进程,则将所述第二目标业务确定为所述待处理业务,并执行所述基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间的步骤。
在一个实施例中,所述接收第二目标业务的访问请求之前,还包括:
基于压力测试结果,确定服务器最多可启动的进程数量;
将进程分为常规进程和保障进程,并基于所述进程数量确定所述常规进程的数量和保障进程的数量。
在一个实施例中,所述方法还包括:
获取未开启的保障进程的数量;
若所述数量小于设定阈值,则将释放的常规进程设置为所述保障进程。
第二方面,本申请实施例提供一种资源分配装置,包括:
第一确定模块,用于基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;
第二确定模块,用于基于所述第一等待时间的第一排序结果,确定第一目标业务;
分配模块,用于将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的资源分配方法的步骤。
第四方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的资源分配方法的步骤。
本申请实施例提供的资源分配方法、装置、电子设备和存储介质,通过基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;基于所述第一等待时间的第一排序结果,确定第一目标业务;将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。本申请实施例提供的资源分配方法,通过对第一等待时间对各待处理业务进行排序,根据第一排序结果将相同类型的待处理业务分配至一个保障进程,可以减少进程启动和关闭的频率,从而减少系统的开销,同时还可以提高计算资源的利用率,兼顾紧急业务的优先处理的机会,提高对计算资源分配的效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的资源分配方法的流程示意图;
图2是本申请实施例提供的资源分配装置的结构示意图;
图3是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的资源分配方法的流程示意图。参照图1,本申请实施例提供一种资源分配方法方法,可以包括:
S100,基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间。
本申请实施例的执行主体为业务支撑系统,如数据业务支撑系统。
待处理业务为等待处理的业务,例如,业务支撑系统接收到新的业务后,新的业务匹配不到常规进程,且当前没有未开启的常规进程,则将新的业务列为待处理业务。
请求时间是指请求处理待处理业务的时间,例如,将接收到待处理业务的访问请求的时间作为请求时间。第一预计处理时间为处理待处理业务需要花费的时间。第一最晚完成时间为从发出待处理业务开始,到完成待处理业务处理所能允许的最长时间。第一等待时间为从接收待处理业务至开始处理待处理业务需要等待的时间。
业务支撑系统接收待处理业务的访问请求后,记录待处理业务的请求时间,然后基于访问请求获取待处理业务的业务类型,根据待处理业务的业务类型获取对应的第一预计处理时间以及第一最晚完成时间。进一步地,根据各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间,其中第一等待时间的计算公式为:
t4=t2-t1+t3
其中,t1为第一预计处理时间,t2为第一最晚完成时间,t3为请求时间,t4为第一等待时间。
S200,基于第一等待时间的第一排序结果,确定第一目标业务。
基于所有待处理业务生成待处理业务列表,获取每个待处理业务的第一等待时间,将所有第一等待时间排序得到第一排序结果,选择第一排序结果中第一等待时间最小的值,第一等待时间最小的值对应的待处理业务为第一目标业务。例如基于从小到大的顺序对第一等待时间进行排序,然后将排在第一位的第一等待时间对应的待处理业务为第一目标业务。其中,第一目标业务为紧急任务。
S300,将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
根据业务的时效性要求,将业务划分为不同类型。例如,将常见业务根据时效性从高到低划分为:通信服务的欠费风险控制类业务;流量提醒类业务;集团客户管理类业务;非实时的账务处理和统计分析等业务。业务支撑系统在接收业务时,基于业务请求消息确定业务的业务类型。
启动保障进程,将第一目标业务分配至该保障进程中执行。确定第一目标业务以及其他待处理业务的业务类型,匹配第一目标业务与其他待处理业务的业务类型,当业务类型相同时,匹配成功。将匹配成功的其他待处理业务也分配至该保障进程中执行。同时,将第一目标业务以及匹配成功的其他待处理业务从待处理业务列表中删除。
本申请实施例提供的资源分配方法,通过基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;基于第一等待时间的第一排序结果,确定第一目标业务;将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。本申请实施例提供的资源分配方法,通过对第一等待时间对各待处理业务进行排序,根据第一排序结果将相同类型的待处理业务分配至一个保障进程,可以减少进程启动和关闭的频率,从而减少系统的开销,同时还可以提高计算资源的利用率,兼顾紧急业务的优先处理的机会,提高对计算资源分配的效率。
基于上述实施例,基于第一等待时间的第一排序结果,确定第一目标业务之后,方法还包括:
S210,基于业务类型,对各待处理业务进行业务划分,得到至少一个业务队列;
S220,确定每个业务队列的优先级及其待处理业务的数量;
S230,确定每个业务队列的各待处理业务的第一等待时间的第二排序结果;
S230,基于第二排序结果、优先级以及待处理业务的数量,确定每个业务队列的排序值;
S240,将最小的排序值的业务队列中各待处理业务,分配至保障进程。
遍历待处理业务列表,根据待处理业务的业务类型,将相同业务类型的待处理业务划分为一个业务队列,进而得到多个待处理业务的业务队列。
预先确定每种业务类型的优先级,时效性要求越高的业务类型,对应的优先级越高。例如,通信服务的欠费风险控制类业务的优先级最高为1;流量提醒类业务的优先级较高为2;集团客户管理类业务的优先级较低为3;非实时的账务处理和统计分析等业务的优先级最低为4。获取每个业务队列的业务类型所对应的优先级以及待处理业务的数量。
对每个业务队列的各待处理业务的第一等待时间进行排序,得到第二排序结果;
根据第二排序结果、优先级以及待处理业务的数量,确定每个业务队列的排序值。
对所有排序值进行排序,例如,将所有待处理业务的业务队列的排序值按照从小到大的顺序排序。为待处理业务队列启动一个保障进程,将排序值最小的业务队列中的所有待处理业务放入该保障进程中执行,并将该业务队列中的所有待处理业务从待处理业务列表中删除。
本申请实施例基于待处理业务队列的排序值为待处理业务队列分配保障进程,提高了业务支撑系统分配计算资源的效率。
基于上述实施例,基于第二排序结果、优先级以及待处理业务的数量,确定每个业务队列的排序值,包括:
S231,基于第二排序结果,确定每个业务队列的紧急任务;
S232,基于优先级、待处理业务的数量以及每个业务队列的紧急任务的第一等待时间,确定每个业务队列的排序值。
对每个业务队列中的第一等待时间进行排序,得到第二排序结果,第一等待时间最小的待处理业务为该业务队列中的紧急任务。
根据紧急任务的第一等待时间、待处理业务的业务队列的优先级以及待处理业务的业务队列的待处理业务数量,确定每个待处理业务队列的排序值,其中业务队列的排序值的计算公式为:
其中,p为优先级,t4为紧急任务的第一等待时间,m为待处理业务数量,s为业务队列的排序值。
在计算排序值时只考虑紧急任务的第一等待时间,而不用考虑队列里所有待处理业务的第一等待时间,是因为紧急任务的第一等待时间最小,基于紧急任务的第一等待时间计算得到的排序值也是最小的。
本申请实施例基于优先级、待处理业务的数量以及每个业务队列的紧急任务的第一等待时间对待处理业务进行排序,更加准确。同时,在计算业务队列的排序值时只参考第一目标业务的第一等待时间,没有参考业务队列中所有待处理业务的等待时间,减少了排序值的计算量。
基于上述实施例,基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间之前,包括:
S110,接收第二目标业务的访问请求;
S120,基于访问请求获取第二目标业务的业务类型;
S130,基于第二目标业务的业务类型,确定至少一个第一待选进程;所述第一待选进程为与所述第二目标业务的业务类型匹配的常规进程
S140,基于第一待选进程确定第二待选进程,并将第二目标业务分配至第二待选进程。
第二目标业务为业务支撑系统接收的新业务。当为第二目标业务匹配不到常规进程,且当前没有未开启的常规进程,则将第二目标业务列为待处理业务。
业务支撑系统在接收第二目标业务的同时,根据第二目标业务的业务请求消息,确定第二目标业务的业务类型。
业务支撑系统根据第二目标业务的业务类型匹配至少一个常规进程作为第一待选进程。在第一待选进程中,选择排队业务数量最小的第一待选进程作为第二待选进程,并将该第二目标业务分配至第二待选进程中执行。
本申请实施例通过将进程分为常规进程和保障进程,基于业务类型,为第二目标业务分配常规进程,提高了对计算资源的分配效率。
基于上述实施例,将第二目标业务分配至第二待选进程,包括:
S131,基于第二目标业务的业务类型,确定第二目标业务的第二预计处理时间和第二最晚完成时间;
S132,确定第二待选进程的排队业务数量;
S133,基于第二预计处理时间和排队业务数量,确定第二等待时间;
S134,若第二最晚完成时间大于第二等待时间,则将所述第二目标业务分配至所述第二待选进程。
第二预计处理时间为处理该第二目标业务需要花费的时间。第二最晚完成时间为从发出第二目标业务开始,到完成第二目标业务处理所能允许的最长时间。第二等待时间为从接收该第二目标业务至开始处理该第二目标业务,需要等待的时间。第二待选进程需要处理的业务数量包括排队业务数量、正在处理的业务和准备加入的业务,其中正在处理的业务和准备加入的业务的数量均为1。
业务支撑系统接收第二目标业务,从第二目标业务请求消息中确定第二目标业务的业务类型,根据第二目标业务类型获取对应的第二预计处理时间以及第二最晚完成时间。查找已开启的常规进程中与该第二目标业务的业务类型对应的第一待选进程,选择排队业务数量最小的第一待选进程作为第二待选进程,获取第二待选进程的排队业务数量。
基于第二目标业务的第二预计处理时间和排队业务数量,确定第二等待时间,其中第二等待时间的计算公式为:
t6=t5×(Q+2);
其中,t5为第二预计处理时间,t6为第二等待时间,Q为第二待选进程的排队业务数量,(Q+2)为第二待选进程的排队业务数量、正在处理的业务和准备加入的业务数量之和。
比较第二最晚完成时间与第二等待时间的大小,若第二最晚完成时间大于第二等待时间,则将该第二目标业务分配至第二待选进程。
本申请实施例基于第二预计处理时间与第二最晚完成时间为第二目标业务分配常规进程,提高了对计算资源的分配效率。
基于上述实施例,基于访问请求获取第二目标业务的业务类型之后,还包括:
S121,若已开启的常规进程的业务类型与第二目标业务的业务类型不匹配,或第二最晚完成时间小于或等于第二等待时间,则开启新的常规进程,并将第二目标业务分配至新的常规进程;
S122,若无新的常规进程,则将第二目标业务确定为待处理业务,并执行基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间的步骤。
查找已开启的常规进程中是否有与第二目标业务的业务类型相匹配的常规进程,如果没有,则为第二目标业务开启一个新的常规进程,并将第二目标业务分配至新的常规进程。
如果为第二目标业务匹配到相对应的常规进程,当第二目标业务的第二最晚完成时间小于第二等待时间时,查看是否还有新的常规进程;如果有新的常规进程,则为第二目标业务开启一个新的常规进程,并将第二目标业务分配至新的常规进程。
当匹配不到与第二目标业务的业务类型相对应的已开启的常规进程,同时也没有新的常规进程,则将第二目标业务列为待处理业务。并获取待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,进而确定待处理业务的第一等待时间。基于第一等待时间为待处理业务分配保障进程。
本申请实施例通过优先为业务匹配常规进程,当匹配不到常规进程时,则匹配保障进程,提高了对计算资源的匹配效率。
基于上述实施例,接收第二目标业务的访问请求之前,还包括:
S111,基于压力测试结果,确定服务器最多可启动的进程数量;
S112,将进程分为常规进程和保障进程,并基于进程数量确定常规进程的数量和保障进程的数量。
通过压力测试,检测一个服务器最多能开多少个进程,记为K;每个进程只服务一种类型的业务;一种类型的业务可以开一个或多个进程。
例如,本申请实施例可采用以下步骤进行压力测试:
(1)确定压力测试场景,例如单场景、混合场景;
(2)压力测试前明确压测功能和压测指标;
(3)进行压力测试,并进行压力测试分析与调整。
(4)出具压力测试报告,其中压力测试报告包括:本次压力测试的要求指标、性能要求;本次压力测试的机器性能;本次压力测试的各项指标;本次压力测试的报告结果分析;压力测试报告建议;压力测试报告等级。
将所有进程分为两类,一类是常规进程,一类是保障进程;保障进程设置一个最低值N,剩下的都是常规进程,为K-N;每个被启用的进程都需要维护一个先进先出的业务队列,在该进程下排队的业务以先到先执行的顺序依次执行,并设置一个计数器用来记录排队业务的数量。
本申请实施例通过将进程设置为保障进程和常规进程,并控制保障进程和常规进程的数量,既能够保证计算资源的利用率,又能兼顾比较紧急的业务的有优先处理的机会提高了对计算资源的分配效率。
基于上述实施例,资源分配方法还包括:
S113,获取未开启的保障进程的数量;
S114,若数量小于设定阈值,则将释放的常规进程设置为保障进程。
当启用进程中所有排队业务都完成则释放该进程,如果当前未启用保障进程数量小于N(阈值),则将该释放的进程设置为保障进程,否则设置为常规进程。
可选地,保障进程的数量例如可以设置为总进程数量的10%。
本申请实施例通过将释放的常规进程设置为保障进程,维持了保障进程的数量,提高了对计算资源分配的效率。
为了进一步对本申请实施例提供出的资源分配方法进行解析说明,具体通过两个实施例进行说明:
实施例1:
步骤1:通过压力测试,检测一个服务器最多能开多少个进程,记为K;每个进程只服务一种类型的业务;一种类型的业务可以开一个或多个进程。根据业务的时效性要求,将业务划分为:通信服务的欠费风险控制类业务;流量提醒类业务;集团客户管理类业务;非实时的账务处理和统计分析等业务。业务支撑系统在接收业务时,基于业务请求消息确定业务的业务类型。
步骤2:将所有进程分为两类,一类是常规进程,一类是保障进程;保障进程设置一个最低值N,剩下的都是常规进程,为K-N;每个被启用的进程都需要维护一个先进先出的业务队列,在该进程下排队的业务以先到先执行的顺序依次执行,并设置一个计数器用来记录排队业务的数量。当启用进程中所有排队业务都完成则释放该进程,如果当前未启用保障进程数量小于N(阈值),则将该释放的进程设置为保障进程,否则设置为常规进程。可选地,保障进程的数量例如可以设置为总进程数量的10%。
步骤3:当一个新的业务被请求时,将新的业务列为第二目标业务,从第二目标业务的业务请求消息里确定业务类型,根据业务类型确定对应的第二预计处理时间t5和第二最晚完成时间;查找已开启的常规进程中是否有与该业务类型对应的第一待选进程,如果没有,则执行步骤4;如果有,则选择排队业务数量最小的第一待选进程来作为第二待选进程,获取第二待选进程的排队业务数量Q,判断第二最晚完成时间是否大于t5×(Q+2),正在处理的业务,已经排队的业务和准备加入的业务一共Q+2个,如果大于,则将第二目标业务加入到第二待选进程中,结束流程,否则执行步骤4;
步骤4:查看是否还有剩余常规进程,如果有,则为第二目标业务启用一个新的常规进程,结束流程,否则执行步骤5;
步骤5:将第二目标业务列为待处理业务,记录待处理业务的请求时间t3、第一预计处理时间t1和第一最晚完成时间t2等待统一分配;
步骤6:基于所有待处理业务生成待处理业务列表,周期性地查看等待处理业务列表,计算每个待处理业务的第一等待时间t4,其中,t4=t2-t1+t3;对第一等待时间进行排序;
步骤7:如果没有未启动的保障队列则结束流程,否则启动一个保障进程,将第一等待时间最小的待处理业务放入保障进程中执行,并将与第一等待时间最小的待处理业务具有相同业务类型的待处理业务放入保障进程的业务队列,将已放入保障进程的业务队列的待处理业务从待处理业务列表中删除;如果已经没有待处理业务,则结束流程,否则重复执行步骤7。
本申请实施例以业务类型来对业务进行归类,针对不同业务类型有不同的处理顺序,同时将进程分为常规进程和保障进程,可以提高计算资源的利用率,同时兼顾紧急的业务的有优先处理的机会,提高了对计算资源分配的效率。
实施例2:
步骤1-6与上述实施例1。
步骤7:根据业务类型,时限,同类型业务数量这3个维度,通过算法模型来确定待处理业务的执行顺序。
具体的,步骤7包括:
步骤7.1:遍历步骤6生成的待处理业务列表,根据业务类型的不同,将业务类型相同的待处理业务划分到同一个业务队列中;
步骤7.2:获取每个业务队列的业务类型所对应的优先级p,每个业务队列中紧急任务的第一等待时间t4,以及每个业务队列的待处理业务的数量m。
步骤7.3:通过算法模型计算每个业务队列的排序值s;其中,排序值s的计算公式为:
步骤7.4:如果没有未启动的保障队列则结束流程,否则启动一个保障进程,将s值最小的业务队列中的所有待处理业务放入保障进程来执行,并将这些待处理业务从待处理业务列表中删除。
本申请实施例以业务类型来对业务进行归类,针对不同业务类型有不同的处理顺序,为每个进程设置队列,将同类型的业务分配至一个进程处理,可以减少进程启动和关闭的频率,提高了对计算资源分配的效率。
下面对本申请实施例提供的资源分配装置进行描述,下文描述的资源分配装置与上文描述的资源分配方法可相互对应参照。
图2是本申请提供的资源分配装置的结构示意图,参照图2,本申请实施例提供了一种资源分配装置,包括:
第一确定模块201,用于基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;
第二确定模块202,用于基于第一等待时间的第一排序结果,确定第一目标业务;
分配模块203,用于将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
本申请实施例提供的资源分配装置,通过基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;基于第一等待时间的第一排序结果,确定第一目标业务;将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。本申请实时例通过对业务进行分类,基于第一等待时间对各待处理业务进行排序,根据第一排序结果将相同类型的待处理业务分配至一个保障进程,减少了进程启动和关闭的频率,提高了对计算资源分配的效率。
在一个实施例中,第二确定模块202还用于:基于业务类型,对各待处理业务进行业务划分,得到至少一个业务队列;确定每个业务队列的优先级及其待处理业务的数量;确定每个业务队列的各待处理业务的第一等待时间的第二排序结果;基于第二排序结果、优先级以及待处理业务的数量,确定每个业务队列的排序值;将最小的排序值的业务队列中各待处理业务,分配至保障进程。
在一个实施例中,第二确定模块202还用于:基于第二排序结果,确定每个业务队列的紧急任务;基于优先级、待处理业务的数量以及每个业务队列的紧急任务的第一等待时间,确定每个业务队列的排序值。
在一个实施例中,第一确定模块201还用于:接收第二目标业务的访问请求;基于访问请求获取第二目标业务的业务类型;基于第二目标业务的业务类型,确定至少一个第一待选进程;第一待选进程为与第二目标业务的业务类型匹配的常规进程;基于第一待选进程确定第二待选进程,并将第二目标业务分配至第二待选进程。
在一个实施例中,第一确定模块201还用于:基于第二目标业务的业务类型,确定第二目标业务的第二预计处理时间和第二最晚完成时间;确定第二待选进程的排队业务数量;基于第二预计处理时间和排队业务数量,确定第二等待时间;若第二最晚完成时间大于第二等待时间,则将第二目标业务分配至第二待选进程。
在一个实施例中,第一确定模块201还用于:若已开启的常规进程的业务类型与第二目标业务的业务类型不匹配,或第二最晚完成时间小于或等于第二等待时间,则开启新的常规进程,并将第二目标业务分配至新的常规进程;若无新的常规进程,则将第二目标业务确定为待处理业务,并执行基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间的步骤。
在一个实施例中,第一确定模块201还用于:基于压力测试结果,确定服务器最多可启动的进程数量;将进程分为常规进程和保障进程,并基于进程数量确定常规进程的数量和保障进程的数量。
在一个实施例中,第一确定模块还用于:获取未开启的保障进程的数量;若数量小于设定阈值,则将释放的常规进程设置为保障进程。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communication Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的计算机程序,以执行资源分配方法的步骤,例如包括:
基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;基于第一等待时间的第一排序结果,确定第一目标业务;将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的资源分配方法的步骤,例如包括:
基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;基于第一等待时间的第一排序结果,确定第一目标业务;将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
另一方面,本申请实施例还提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行上述各实施例提供的方法的步骤,例如包括:
基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定各待处理业务的第一等待时间;基于第一等待时间的第一排序结果,确定第一目标业务;将第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种资源分配方法,其特征在于,包括:
基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;
基于所述第一等待时间的第一排序结果,确定第一目标业务;
将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
2.根据权利要求1所述的资源分配方法,其特征在于,所述基于所述第一等待时间的第一排序结果,确定第一目标业务之后,所述方法还包括:
基于所述业务类型,对所述各待处理业务进行业务划分,得到至少一个业务队列;
确定每个所述业务队列的优先级及其待处理业务的数量;
确定每个所述业务队列的各待处理业务的第一等待时间的第二排序结果;
基于所述第二排序结果、所述优先级以及所述待处理业务的数量,确定每个所述业务队列的排序值;
将最小的排序值的业务队列中各待处理业务,分配至所述保障进程。
3.根据权利要求2所述的资源分配方法,其特征在于,所述基于所述第二排序结果、所述优先级以及所述待处理业务的数量,确定每个所述业务队列的排序值,包括:
基于所述第二排序结果,确定每个所述业务队列的紧急任务;
基于所述优先级、所述待处理业务的数量以及每个所述业务队列的紧急任务的第一等待时间,确定每个所述业务队列的排序值。
4.根据权利要求1所述的资源分配方法,其特征在于,所述基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间之前,包括:
接收第二目标业务的访问请求;
基于所述访问请求获取所述第二目标业务的业务类型;
基于所述第二目标业务的业务类型,确定至少一个第一待选进程;所述第一待选进程为与所述第二目标业务的业务类型匹配的常规进程;
基于所述第一待选进程确定第二待选进程,并将所述第二目标业务分配至所述第二待选进程。
5.根据权利要求4所述的资源分配方法,其特征在于,所述将所述第二目标业务分配至所述第二待选进程,包括:
基于所述第二目标业务的业务类型,确定所述第二目标业务的第二预计处理时间和第二最晚完成时间;
确定所述第二待选进程的排队业务数量;
基于所述第二预计处理时间和所述排队业务数量,确定第二等待时间;
若所述第二最晚完成时间大于所述第二等待时间,则将所述第二目标业务分配至所述第二待选进程。
6.根据权利要求5所述的资源分配方法,其特征在于,所述基于所述访问请求获取所述第二目标业务的业务类型之后,还包括:
若已开启的常规进程的业务类型与所述第二目标业务的业务类型不匹配,或所述第二最晚完成时间小于或等于所述第二等待时间,则开启新的常规进程,并将所述第二目标业务分配至所述新的常规进程;
若无所述新的常规进程,则将所述第二目标业务确定为所述待处理业务,并执行所述基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间的步骤。
7.根据权利要求4所述的资源分配方法,其特征在于,所述接收第二目标业务的访问请求之前,还包括:
基于压力测试结果,确定服务器最多可启动的进程数量;
将进程分为常规进程和保障进程,并基于所述进程数量确定所述常规进程的数量和保障进程的数量。
8.根据权利要求1所述的资源分配方法,其特征在于,所述方法还包括:
获取未开启的保障进程的数量;
若所述数量小于设定阈值,则将释放的常规进程设置为所述保障进程。
9.一种资源分配装置,其特征在于,包括:
第一确定模块,用于基于各待处理业务的请求时间、第一预计处理时间以及第一最晚完成时间,确定所述各待处理业务的第一等待时间;
第二确定模块,用于基于所述第一等待时间的第一排序结果,确定第一目标业务;
分配模块,用于将所述第一目标业务及与其业务类型相同的待处理业务,分配至保障进程。
10.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的资源分配方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的资源分配方法的步骤。
CN202310759567.6A 2023-06-26 2023-06-26 资源分配方法、装置、电子设备和存储介质 Pending CN116915797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310759567.6A CN116915797A (zh) 2023-06-26 2023-06-26 资源分配方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310759567.6A CN116915797A (zh) 2023-06-26 2023-06-26 资源分配方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116915797A true CN116915797A (zh) 2023-10-20

Family

ID=88352046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310759567.6A Pending CN116915797A (zh) 2023-06-26 2023-06-26 资源分配方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116915797A (zh)

Similar Documents

Publication Publication Date Title
CN107423120B (zh) 任务调度方法及装置
CN110297711B (zh) 批量数据处理方法、装置、计算机设备及存储介质
WO2021139438A1 (zh) 大数据资源处理方法、装置、终端及存储介质
US7076781B2 (en) Resource reservation for large-scale job scheduling
CN110837410A (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN112162865A (zh) 服务器的调度方法、装置和服务器
US9361333B2 (en) Reducing lock occurrences in server/database systems
CN111258745B (zh) 一种任务处理方法及设备
CN112363821A (zh) 一种计算资源调度方法、装置及计算机设备
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
US20070195356A1 (en) Job preempt set generation for resource management
CN106528288A (zh) 一种资源管理方法、装置和系统
CN110570075A (zh) 一种电力业务边缘计算任务分配方法及装置
CN109150759B (zh) 一种渐进式非阻塞机会资源预留方法及系统
CN113391911B (zh) 一种大数据资源动态调度方法、装置和设备
CN111079094B (zh) 许可资源调度方法、装置、电子设备和存储介质
CN116560860B (zh) 一种基于机器学习的资源优先级的实时优化调整方法
CN116820769A (zh) 一种任务分配方法、装置及系统
CN110750350B (zh) 一种大资源调度方法、系统、装置及可读存储介质
CN116915797A (zh) 资源分配方法、装置、电子设备和存储介质
CN112181645A (zh) 一种资源调度的方法、装置、设备及存储介质
CN116107749A (zh) 一种基于麒麟操作系统的io调度方法、装置及介质
CN114546610B (zh) 一种海量数据分布式脱敏装置
CN110928649A (zh) 资源调度的方法和装置
CN111708799A (zh) Spark任务处理方法、装置、电子设备及存储介质

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