CN111708624A - 基于多传输机的并发度分配方法、装置、设备和存储介质 - Google Patents

基于多传输机的并发度分配方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111708624A
CN111708624A CN202010546957.1A CN202010546957A CN111708624A CN 111708624 A CN111708624 A CN 111708624A CN 202010546957 A CN202010546957 A CN 202010546957A CN 111708624 A CN111708624 A CN 111708624A
Authority
CN
China
Prior art keywords
transmitter
concurrency
current
bandwidth
threshold
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.)
Granted
Application number
CN202010546957.1A
Other languages
English (en)
Other versions
CN111708624B (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010546957.1A priority Critical patent/CN111708624B/zh
Publication of CN111708624A publication Critical patent/CN111708624A/zh
Application granted granted Critical
Publication of CN111708624B publication Critical patent/CN111708624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了基于多传输机的并发度分配方法、装置、设备和存储介质,涉及大数据领域,可用于自动驾驶中的海量数据传输。具体实现方案为:当前传输机依据同一机房内的每一传输机的状态标识,确定当前传输机的限制网速,然后依据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限;可以依据当前传输机中的任务状态、任务情况,分配传输机的并发度总门限,保证为高优态的传输机分配更多的带宽资源,保证高优态的传输机中的任务被优先、快速传输;并且依然为普通态的传输机分配带宽资源,保证普通态的传输机中的任务也被传输。

Description

基于多传输机的并发度分配方法、装置、设备和存储介质
技术领域
本申请实施例涉及计算机技术中的大数据领域,尤其涉及一种基于多传输机的并发度分配方法、装置、设备和存储介质,可用于自动驾驶中的海量数据传输。
背景技术
随着计算机技术的发展,产生和处理的数据量也越来越大。可以通过传输机对海量的数据进行传输和处理。
可以在同一个机房中设置多个传输机,可以为每一个传输机分配相同的并发度资源,使得每一个传输机完成各自的传输任务。
然而,不同的传输机中的任务量、任务情况是不同的,一个机房内的总体的并发度资源是有限的;为每一个传输机分配相同的并发度资源,会导致有的传输机不能利用起并发度资源,浪费并发度,而有的传输机的并发度资源不足,不能及时的传输数据。
发明内容
本申请提供了一种用于为保证高优态的传输机中的任务被优先、快速传输,保证普通态的传输机中的任务也被传输的基于多传输机的并发度分配方法、装置、设备和存储介质。
根据第一方面,提供了一种基于多传输机的并发度分配方法,所述方法应用于传输机,所述方法包括:
获取当前传输机所属机房中的每一传输机的属性信息,其中,所述属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务;
根据所述每一传输机的状态标识,确定当前传输机的限制网速;
根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,所述并发度总门限用于当前传输机的数据传输。
根据第二方面,提供了一种基于多传输机的并发度分配装置,所述装置应用于传输机,所述装置包括:
第一获取单元,用于获取当前传输机所属机房中的每一传输机的属性信息,其中,所述属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务;
第一确定单元,用于根据所述每一传输机的状态标识,确定当前传输机的限制网速;
第二确定单元,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限。
根据第三方面,提供了一种电子设备,包括:处理器和存储器;存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行如第一方面中任一项所述的基于多传输机的并发度分配方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令被处理器执行时实现第一方面中任一项所述的基于多传输机的并发度分配方法。
根据第五方面,提供了一种程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得服务器执行第一方面中任一所述的基于多传输机的并发度分配方法。
根据本申请的技术方案,通过当前传输机依据同一机房内的每一传输机的状态标识,确定当前传输机的限制网速,然后依据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限;可以依据当前传输机中的任务状态、任务情况,分配传输机的并发度总门限,保证为高优态的传输机分配更多的带宽资源,保证高优态的传输机中的任务被优先、快速传输;并且依然为普通态的传输机分配带宽资源,保证普通态的传输机中的任务也被传输。可以实时动态调整每台传输机的并发度总门限,提高具有第一优先级级别的任务(高优任务)的传输机的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的传输机的并发度总门限;进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输;也就是保证先为第一优先级别的待传输任务(高优任务)分配并发度资源,进而保证高优任务占有更多的带宽资源,使得高优任务优先、快速的被传输。为同一个机房中的每一个传输机调配带宽,保证同一个机房中的全体任务维持高速传输,并且充分利用带宽资源,不闲置和浪费带宽,使得同一个机房中的传输吞吐量最大化。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1的本申请实施例的应用场景示意图;
图2是根据本申请第一实施例的示意图;
图3是根据本申请第二实施例的示意图;
图4为本申请实施例提供的任务的理想并发度的计算示意图;
图5是根据本申请第二实施例中的步骤204的示意图;
图6根据本申请第二实施例中的步骤205示意图;
图7为本申请实施例提供的各门限的对比示意图;
图8为本申请提供的待传输队列和传输列表的示意图;
图9为本申请提供的各门限的具体对比示意图;
图10是根据本申请第三实施例的示意图;
图11是根据本申请第四实施例的示意图;
图12为本申请实施例的又一种应用场景的示意图;
图13为本申请实施例的另一种应用场景的示意图;
图14是根据本申请第五实施例的示意图;
图15是根据本申请第六实施例的示意图;
图16是根据本申请第六实施例中的步骤403的示意图;
图17是根据本申请第七实施例的示意图;
图18是根据本申请第八实施例的示意图;
图19是根据本申请第九实施例的示意图;
图20是根据本申请第十实施例的示意图;
图21是根据本申请第十一实施例的示意图;
图22是根据本申请第十二实施例的示意图;
图23是根据本申请第十三实施例的示意图;
图24是根据本申请第十四实施例的示意图;
图25是根据本申请第十五实施例的示意图;
图26是根据本申请第十六实施例的示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着计算机技术的发展,产生和处理的数据量也越来越大。可以通过传输机对海量的数据进行传输和处理。
一个示例中,设置多个机房,在每一个机房中设置多个传输机,传输机需要处理大量的任务(即,数据的传输任务),进而对数据进行传输和处理,传输机可以为每一任务分配相同资源,进而利用资源传输任务。一个示例中,在无人驾驶领域中,在获取了无人驾驶车辆上的数据之后,可以将数据写入到磁盘中;磁盘与传输机连接,进而传输机将数据进行传输和处理。
然而上述方式中,图1的本申请实施例的应用场景示意图,如图1所示,传输机为当前传输机中的每一任务分配相同资源,但是由于不同的任务所需要的资源数量是不同的,为每一任务分配相同资源数目的资源,会导致部分任务的资源不足,导致数据的传输任务的传输延迟;或者,导致有的资源完成传输任务之后,资源被闲置,进而浪费资源。
本申请的发明人在经过创造性地劳动之后,得到了本申请的发明构思:实现为不同的任务分配不同数目的资源,保证为每一任务分配合适的资源,保证任务的资源充足,可以使得任务被成功和快速传输;保证了资源不被闲置,不会浪费资源。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2是根据本申请第一实施例的示意图,如图2所示,本实施例提供的基于传输机的数据传输方法,包括:
101、获取当前传输机的并发度总门限、以及当前传输机中的每一任务的实际并发度,其中,任务具有优先级,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和。
示例性地,本实施例的执行主体可以是传输机、或者基于传输机的数据传输装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
传输机需要传输大量的数据。一个示例中,传输机可以获取其他设备发送的数据,例如,获取到无人驾驶车辆发送数据。或者,另一个示例中,可以将数据写到磁盘中,磁盘是具有大容量的磁盘;然后将磁盘参入到传输机上,进而传输机将数据传输到数据存储集群中。例如,在进行无人驾驶车辆的海量数据的回传的时候,将无人驾驶设备上的数据写到大容量磁盘中,然后将磁盘插到传输机上,进而传输机将数据汇集到数据存储集群中。
传输机在进行数据传输的时候,可以为任务分配资源。其中,任务,指的是,数据传输的任务。一个示例中,每一任务中包括了需要传输的数据或数据文件。其中,任务中包括了待传输任务和正在传输的任务,待传输任务中包括待传输的数据或数据文件,正在传输的任务中包括了正在传输的数据或数据文件。
每一任务为一个具有一定组织方式(例如,压缩、编码、加密)的文件夹,一份需要传输的数据或数据文件称为一个任务。在本申请中,任务是传输调度的最小单位,例如,一个任务(一个文件夹)包括多个文件,每一个文件中具有待传输的数据;一个任务作为最小的调度单位(传输单位),进而在实际传输过程中,可以采用起一份资源(例如一个进程,或者一个线程),将任务中的文件一一传输。
一个示例中,每台传输机上可以插有至少一个磁盘,每一块磁盘中存放若干个任务(task)。
在本实施例中,传输机在为任务分配资源的时候,可以基于并发度为任务分配资源,不再是为每一任务分配相同大小的资源。
首先,传输机需要获取到当前传输机的并发度总门限;一个示例中,可以依据传输机的网速,确定出当前获取到的并发度总门限。由于传输机中有待传输任务(即,需要进行传输但是未传输的任务)、以及正在传输的任务,进而可以获取到传输机中的每一任务的实际并发度,其中,只有正在传输的任务具有实际并发度;实际并发度,表征的正在传输的任务所占据的资源数目;将各任务的实际并发度之和,作为实际并发度总和;由于并发度表征了资源数目,进而实际并发度总和表征的是传输机中的所有正在传输的任务所占用的资源数目之和;当前传输机的并发度总门限,表征的是传输机可以为所有任务分配的资源数目之和。
另一个示例中,并发度总门限可以是一个预设数值。
并且,在上述过程中,传输机可以获取到当前传输机中的每一任务的实际并发度,此时,获取到的是正在传输的任务的实际并发度。
并且,每一任务具有优先级,例如,任务为高优任务或者普通任务。
102、根据并发度总门限和每一任务的实际并发度,确定不同优先级的待传输任务的期望并发度,其中,期望并发度表征为待传输任务所分配的资源数目,不同优先级的待传输任务的期望并发度是不同的。
示例性地,依据步骤101所获取到的并发度总门限和每一任务的实际并发度,计算出每一待传输任务的期望并发度,进而得到不同优先级的待传输任务的期望并发度。并且,为了保证优先级高的待传输任务的快速传输,依据待传输任务的优先级,为待传输任务分配期望并发度,进而,不同优先级的待传输任务的期望并发度是不同的。
一个示例中,可以将并发度总门限,减去各任务的实际并发度之和,得到一个剩余并发度;剩余并发度表征了可以为所有待传输任务分配的资源数目;依据待传输任务的优先级,先为优先级高的待传输任务分配合适的资源数目,进而得到优先级高的待传输任务的期望并发度;然后,为优先级低的待传输任务分配合适的资源数目,进而得到优先级低的待传输任务的期望并发度。
举例来说,当前传输机具有5个任务,分别为任务1、任务2、任务3、任务4和任务5,任务1和任务2是正在传输中的任务,任务3、任务4和任务5是待传输的任务;其中,将任务1的实际并发度和任务2的实际并发度之和,作为了实际并发度总和;根据传输机的网速,确定出并发度总门限;然后将并发度总门限减去实际并发度总和,得到剩余并发度;任务3、任务4和任务5的优先级是由高到低的,先从剩余并发度中选出合适的并发度,分配给任务3,得到任务3的期望并发度,任务3的期望并发度表征了任务3可使用的资源数目,即任务3的期望并发度表征了为任务3分配的资源数目;再从剩余并发度中选出合适的并发度,分配给任务4,得到任务4的期望并发度,任务4的期望并发度表征了任务4可使用的资源数目;再从剩余并发度中选出合适的并发度,分配给任务5,得到任务5的期望并发度,任务5的期望并发度表征了任务5可使用的资源数目。
另一个示例中,可以将并发度总门限,减去各任务的实际并发度之和,得到一个剩余并发度;剩余并发度表征了可以为所有待传输任务分配的资源数目;;将该剩余并发度除以待传输任务的个数,得到一个数值;然后为优先级高的待传输任务的分配多于该数值的资源数目,进而得到优先级高的待传输任务的期望并发度;为优先级高的待传输任务的分配少于该数值的资源数目,进而得到优先级低的待传输任务的期望并发度。
103、启动与每一待传输任务的期望并发度表征的资源数目对应的资源,分别传输每一待传输任务。
示例性地,由于期望并发度指示出了为待传输任务的分配的资源数目,当前传输机就可以启动待传输任务的期望并发度表征的资源数目对应的资源,去传输待传输任务。其中,资源,例如是线程和/或进程。
本实施例中,通过获取当前传输机的并发度总门限、以及当前传输机中的每一任务的实际并发度,其中,任务具有优先级,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和;根据并发度总门限和每一任务的实际并发度,确定不同优先级的待传输任务的期望并发度,其中,期望并发度表征为待传输任务所分配的资源数目;启动与每一待传输任务的期望并发度表征的资源数目对应的资源,分别传输每一待传输任务。依据传输机中的正在传输的任务的实际并发度,以及传输机可以分配的全部并发度的并发度总门限,确定不同优先级的待传输任务的期望并发度;为了保证优先级高的待传输任务的快速传输,依据待传输任务的优先级,为待传输任务分配期望并发度,进而,不同优先级的待传输任务的期望并发度是不同的。从而,依据传输机的并发度、任务的实际并发度,为不同的任务分配不同数目的资源,保证为每一任务分配合适的资源,保证任务的资源充足,可以使得任务被成功和快速传输;并且由于依据并发度、任务的优先级,为任务分配资源,保证了资源不被闲置,不会浪费资源。
图3是根据本申请第二实施例的示意图,如图3所示,本实施例提供的基于传输机的数据传输方法,包括:
201、获取当前传输机中的每一任务的每一数据文件的文件大小。
示例性地,本实施例的执行主体可以是传输机、或者基于传输机的数据传输装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
传输机需要传输大量的数据。一个示例中,传输机可以获取其他设备发送的数据,例如,获取到无人驾驶车辆发送数据。或者,另一个示例中,可以将数据写到磁盘中,磁盘是具有大容量的磁盘;然后将磁盘参入到传输机上,进而传输机将数据传输到数据存储集群中。例如,在进行无人驾驶车辆的海量数据的回传的时候,将无人驾驶设备上的数据写到大容量磁盘中,然后将磁盘插到传输机上,进而传输机将数据汇集到数据存储集群中。
传输机在进行数据传输的时候,可以为任务分配资源。其中,任务,指的是,数据传输的任务。一个示例中,每一任务中包括了需要传输的数据或数据文件。其中,任务中包括了待传输任务和正在传输的任务,待传输任务中包括待传输的数据或数据文件,正在传输的任务中包括了正在传输的数据或数据文件。
其中,任务的介绍,可以参见图2所示的步骤101,不再赘述。
一个示例中,传输机中的一个待传输任务中包括多个数据文件,数据文件是有大有小的。可以为待传输任务分配多个并发度资源(例如,多个线程);但是往往只有几个并发度资源在传输大的数据文件;进而传输时间较长;同时,剩余并发度资源传输小的数据文件,但是剩余并发度资源只需要较短时间就可以将小的数据文件传输完毕,进而这些并发度资源在完成传输之后会被闲置。闲置下来的并发度资源,不能立即分配给其他待传输的数据;必须要等到该待传输任务被整体传输完毕之后,分配给该待传输任务的各并发度资源才能被统一释放。从而,整体的过程耗费的时间较长,导致并发度资源被闲置和浪费,传输机的整体并发度较低;进而传输机的网卡带宽的利用率较低,使得具有多个传输机的机房的吞吐量低下。
在本实施例中,为了可以为任务分配合适的资源,需要获取到每一个任务的理想并发度。理想并发度,表征的是任务可以使用的最小的资源数目;从而理想并发度可以保证任务被传输出去;理想并发度所指示的资源数目,可以使得任务被传输,并且,任务在理想并发度下的传输时间最小。理想并发度表征的是传输任务时所需要的资源数据(例如,并发线程或并发进程的数目);由于理想并发度与任务的传输速度正相关,进而通过调整理想并发度,就可以控制任务的传输速度。初始的理想并发度设置的是非常重要的,因为本实施例后续的步骤中对任务的资源的分配,提供的是“非抢占调度”的原则,即,为一个任务分配并发度,是在传输该任务之前一次性的为任务分配资源,一旦将并发度的资源分配给某个任务并开始传输该任务之后,不会强行增减资源或者停止传输该任务,而是一直等到该任务自然传输完成,等待该任务所使用的资源被主动释放;从而需要任务的传输时间近似最少的情况下,任务使用的并发度资源近似最少,进而通过一个理想并发度确定该并发度资源。
在确定传输机中的每一任务的理想并发度的时候,可以依据任务的数据大小,确定任务的理想并发度;其中,任务的数据大小,由任务中数据文件的文件大小所决定。
本实施例提供一种“等价头部文件算法”,去计算出每一任务的理想并发度。任务中包括了多个数据文件,每一数据文件中具有数据;数据文件不能被切片传输,一个数据文件只能有一个资源(线程或进程)进行完整的传输。数据文件的传输时间与数据文件的文件大小之间是正比的关系,一个示例中,若线程的线程的传输速度是常数,数据文件的传输时间只与数据文件的文件大小之间有关,数据文件的传输时间与数据文件的文件大小之间成正比。从而,需要获取到每一任务的每一数据文件的文件大小。由于传输机可以直接读取到任务,直接读取到每一任务中的各数据文件,从而,传输机可以直接读取到每一任务的每一数据文件的文件大小。
202、根据每一任务的每一数据文件的文件大小,确定每一任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
一个示例中,理想并发度为任务中的数据文件可占据的资源的资源数目之和;步骤202具体包括以下步骤:
步骤202的第一步骤、根据每一任务的每一数据文件的文件大小,确定每一任务中的各头部文件和各非头部文件,每一个头部文件的文件大小大于等于预设阈值,每一个非头部文件的文件大小小于预设阈值,预设阈值为预设的第一参数与预设的第二参数的乘积,第二参数为任务中文件大小最高的数据文件的文件大小;
步骤202的第二步骤、确定每一个头部文件,分别占据一个资源,并根据各非头部文件的文件大小之和,确定各非头部文件所占据的资源的资源数目。
一个示例中,步骤202具体包括:确定各非头部文件的文件大小之和、第二参数两者的比值,为各非头部文件所占据的资源的资源数目。
示例性地,由于数据文件的传输时间与数据文件的文件大小之间是正比的关系,并且,理想并发度所指示的资源数目与任务的传输时间有关,每一任务中包括至少一个数据文件,从而,可以依据任务的各数据文件的文件大小,确定出该任务的理想并发度,进而直接依据数据文件的文件大小,就可以得到任务的理想并发度,便于后续的为任务分配合理的资源。例如,根据任务中的各数据文件的文件大小之和,确定出可以为任务分配的资源数目,进而得到任务的理想并发度。
一个示例中,由于任务中的不同数据文件的文件大小是不同,即,数据文件中的文件大小有大有小,如果给任务中的每一个数据文件各分配一个资源(线程或者进程),此时,由于任务的传输时间取决于任务中的最大的数据文件,进而此时的任务的传输时间是最大的;但是,任务的理想并发度达到最大值。为了降低任务的传输时间,降低任务的理想并发度,可以将任务中的数据文件分为两组,一组中的每一数据文件称为头部文件,另一组中的每一数据文件非头部文件;根据各头部文件的文件大小和各非头部文件的文件大小,确定出任务的理想并发度。
此时,针对一个任务,将文件大小最大的几个数据文件,称为“头部文件”,将其余数据文件称为非头部文件。即,每一个头部文件的文件大小大于等于预设阈值,每一个非头部文件的文件大小小于预设阈值;该预设阈值,可以是经验值,也可以是一个预设值;例如,预设阈值为第一参数和第二参数的乘积,第一参数是一个固定值,第二参数是任务中文件大小最高的数据文件的文件大小。
各头部文件的大小是相近的,可以为每一头部文件分配一个资源,例如,为每一头部文件分配一个并发度。此时,得到了任务中的每一个头部文件的资源数目,即,每一个头部文件的资源数目是1。然后,根据各非头部文件的文件大小之和,确定出各非头部文件所占据的资源的资源数目。此时,可以根据各非头部文件的文件大小之和,为每一非头部文件分配出多个资源,即,各非头部文件的资源数目为某一个数值。进而,得到了任务中的各数据文件可占据的资源的资源数目,进而得到任务中的数据文件可占据的资源的资源数目之和;由于理想并发度为任务中的数据文件可占据的资源的资源数目之和,就可以得到任务的理想并发度。此时,不再是为任务中的每一个数据文件各分配一个资源,而是根据数据文件的大小去为每一数据文件调配资源,可以降低为任务分配的资源数目,降低任务的理想并发度,不去浪费传输机中的资源。
一个示例中,依据按照“各非头部文件的文件大小之和”与“任务中的文件大小最大的数据文件”之间比例,将非头部文件,折合成“等价头部文件”;此时,“任务中的文件大小最大的数据文件”的文件大小,作为了一个第二参数,将各非头部文件的文件大小之和、第二参数两者的比值,为各非头部文件所占据的资源的资源数目,得到“等价头部文件”的个数。然后将头部文件和“等价头部文件”的个数之和,作为任务的“理想并发度”;此时,使得任务的传输时间近似最少,任务的理想并发度近似最少。
可知,每一个任务的理想并发度=头部文件的个数+ceil((文件总大小-头部文件总大小)/最大的头部文件的大小)。其中,ceil是一个取整函数。每一个任务的理想并发度,是传输任务所需要使用的并发线程数目或者进程数目。上述算法,为每一个任务配置了理想的线程数目或进程数目。
举例来说,一个任务中包括N个数据文件,N为大于等于1的正整数。将任务中的N个数据文件,按照文件大小的由大到小进行排序,分别为数据文件1、数据文件2、……、数据文件N。其中,任意一个数据文件i的文件大小为s(i),可以计算出前j个数据文件的总大小s(1..j),计算出全体数据文件总大小S=s(1..N)。
然后,由于数据文件是根据文件大小由大到小的,可以得到文件大小最高的数据文件是第1个数据文件,该文件大小最高的数据文件的文件大小为s(1);前n个数据文件中每一个数据文件的文件大小,大于等于预设阈值,进而前n个数据文件中每一个数据文件,均是头部文件。n是大于等于1的正整数。
其中,头部文件的个数n的计算方式是,按照数据文件由大到小的顺序从数据文件2开始,将每一个数据文件分别与数据文件1进行文件大小的比较;其中数据文件1,是任务中的文件大小最高的数据文件。如果当前数据文件i的文件大小s(i),小于等于数据文件1的文件大小的50%,即s(i)<=0.5*s(1),则表示数据文件i已经不属于头部文件,那么位于数据文件i之后的数据文件也都均不属于头部文件了,此时可以得到头部文件个数n=i-1。如果最小数据文件N的大小s(N)>0.5*s(1),则确定头部文件个数n=N。即,第一参数为0.5,第二参数为s(1)。
然后,可以得到n个头部文件的文件大小的总大小s(1..n),任务中的N个数据文件的文件大小的总大小S,并获取文件大小最大的文件的大小s(1),进而得到任务的理想并发度concurrency_num=n+ceil((S-s(1..n))/s(1)),其中ceil函数是向上取整函数。
例如,图4为本申请实施例提供的任务的理想并发度的计算示意图,如图4所示,任务中包括了N=11个数据文件,将数据文件按照文件大小由大到小进行排列,根据上述方式,第4个数据文件的文件大小为2,第4个数据文件的文件大小不超过第1个数据文件的文件大小10的50%,则只有前3个数据文件是头部文件,进而头部文件的个数n=3;头部文件的文件大小之和为10+8+6=24;任务的数据文件的文件大小之和为10+8+6+2+2+2+2+1+1+1+1=36;文件大小最高的数据文件的文件大小为s(1)=10。从而可以得到该任务的理想并发度concurrency_num=3+ceil((36-24)/10)=5。可知,在上述过程中,该任务可以计算出2个等价头部文件,即将第4个数据文件(数据文件大小为2)、第5个数据文件(数据文件大小为2)、第6个数据文件(数据文件大小为2)、第7个数据文件(数据文件大小为2)、第8个数据文件(数据文件大小为1)、第9个数据文件(数据文件大小为1),合并为了一个等价头部文件;将第10个数据文件(数据文件大小为1)、第11个数据文件(数据文件大小为1),合并为了一个等价头部文件。
203、获取当前传输机的并发度总门限、以及当前传输机中的每一任务的实际并发度,其中,任务具有优先级,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和。
示例性地,本步骤可以参见图2所示的步骤101,不再赘述。
204、在根据并发度总门限和每一任务的实际并发度,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,并且确定当前传输机具有第一优先级别的待传输任务的时候,根据每一任务的实际并发度,确定第一优先级别的待传输任务的期望并发度,其中,第一优先级别大于等于预设优先级阈值;其中,期望并发度表征为待传输任务所分配的资源数目,不同优先级的待传输任务的期望并发度是不同的。
示例性地,获取到了任务的并发度总门限值;当前传输机的并发度总门限,表征的是传输机可以为所有任务分配的资源数目之和。可以获取到传输机中的每一任务的实际并发度,其中,只有正在传输的任务具有实际并发度;实际并发度,表征的正在传输的任务所占据的资源数目;将各任务的实际并发度之和,作为实际并发度总和;由于并发度表征了资源数目,进而实际并发度总和表征的是传输机中的所有正在传输的任务所占用的资源数目之和。
本实施例中,任务具有优先级,优先级包括了第一优先级别和第二优先级别,其中,第一优先级别大于等于预设优先级阈值,第二优先级别小于预设优先级阈值;可知,第一优先级别高于第二优先级别。
本实施例中,可以先为第一优先级别的待传输任务分配期望并发度,期望并发度表征为待传输任务所分配的资源数目(线程数目或者进程数目)。那么,首先根据并发度总门限和每一任务的实际并发度,判断当前传输机中的资源可支撑第一优先级别的待传输任务的传输;若并发度总门限和每一任务的实际并发度符合预设条件,则当前传输机中的资源可支撑第一优先级别的待传输任务的传输,例如,实际并发度总和小于等于并发度总门限,则确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,或者实际并发度总和小于等于一个数值(该数值小于并发度总门限),则确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输。
若确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,则判断当前传输机具有优先级较高的第一优先级别的待传输任务。若当前传输机具有第一优先级别的待传输任务,则确定需要先为第一优先级别的待传输任务,分配期望并发度;根据每一任务的实际并发度,确定传输机中还剩余多少的并发度资源,从剩余的并发度资源中选出合适大小的并发度,作为第一优先级别的待传输任务的期望并发度。进而优先为级别高的待传输任务分配资源,保证级别高的待传输任务的及时传输。
一个示例中,图5是根据本申请第二实施例中的步骤204的示意图,如图5所示,步骤204具体包括以下各步骤:
2041、根据每一任务的实际并发度,确定当前传输机的实际并发度总和,其中,实际并发度总和为各任务的实际并发度之和。
2042、在确定实际并发度总和,小于预设的第一并发度门限时,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,其中,第一并发度门限为第二并发度门限与第一预设门限差之间的差值,第一并发度门限小于第二并发度门限,第二并发度门限等于并发度总门限。
2043、在确定当前传输机具有第一优先级别的待传输任务时,根据第二并发度门限、实际并发度总和,确定第一优先级别的待传输任务的期望并发度。
2044、在确定实际并发度总和,大于等于第一并发度门限时,确定当前传输机中的资源不可支撑第一优先级别的待传输任务的传输,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
一个示例中,步骤2043具体包括:
第一步骤、获取第一优先级别的待传输任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
第二步骤、根据第二并发度门限、实际并发度总和、第一优先级别的待传输任务的理想并发度、以及第三并发度门限,确定第一优先级别的待传输任务的期望并发度;其中,第三并发度门限为单个任务的最大期望并发度;第一优先级别的待传输任务的期望并发度,小于等于第一优先级别的待传输任务的理想并发度,并且第一优先级别的待传输任务的期望并发度,小于等于第三并发度门限。
其中,第二步骤具体包括:根据第二并发度门限、实际并发度总和,确定第一并发度阈值,其中,第一并发度阈值为当前传输机的剩余实际并发度之和;确定第一优先级别的待传输任务的理想并发度、第一并发度阈值两者之间的最小值,为第二并发度阈值;确定第一预设值、第二并发度阈值两者之间的最大值,为第三并发度阈值,其中,第一预设值为大于0的整数;确定第三并发度门限、第三并发度阈值两者之间的最小值,为第一优先级别的待传输任务的期望并发度。
示例性地,在执行步骤204时,设置有待传输队列,待传输队列中存储着所有的待传输任务的调度信息;待传输任务的调度信息,包括任务的理想并发度、优先级(第一优先级别、第二优先级别)。其中,任务的理想并发度是步骤202中所计算出来的,任务的理想并发度是从这个任务本身的角度来说最合适的并发度。优先级可以是第一优先级别、第二优先级别,其中,第一优先级别高于第二优先级别;例如,优先级是“高优任务”或者“普通任务”,优先级表明任务的重要性或紧急程度。
并且,待传输队列中的待传输任务,是根据任务的优先级的高低进行排序的,即,待传输队列中第一优先级别的任务,排在第二预先级别的任务的前面;例如,所有高优任务排在所有普通任务的前面。从而,当传输机又接收到或者获取到新的待传输任务时,传输机就会将第一优先级别的任务,插到所有的第二预先级别的任务的前面。传输机在传输待传输队列中的待传输任务时,会先取出待传输队列中的头部的首个待传输任务,然后再去待传输队列中的下一个待传输任务。
还可以提供一个传输列表,传输列表中存放着所有正在传输的任务的调度信息,正在传输的任务的调度信息包括任务的理想并发度、任务的期望并发度、任务的实际并发度、任务的完成标志。
其中,在步骤202时,已经为每一个任务分配了理想并发度;并且,该理想并发度的数值是固定的;从而,传输机在从待传输队列中取出一个任务时,该任务就被配置有理想并发度;任务的理想并发度的数值不会变化。
任务的期望并发度是本步骤204需要计算出来的,即,任务的期望并发度是实时计算的;传输机在从待传输队列中取出任务之后、在传输该任务之前,传输机根据实时的整体并发度资源的使用状况、以及该任务的理想并发度,为任务分配的期望并发度;在为任务分配的期望并发度之后,任务的期望并发度的数值不会再变化。可知,任务的期望并发度,决定了传输任务时所启动的并发线程数目或者并发进程数目;任务的期望并发度是在任务的理想并发度与整体并发度资源之间进行权衡之后所得到的。
任务的实际并发度,在传输任务过程中,获取到任务所实际使用的并发度;可以将任务的初始的实际并发度,设置为该任务的期望并发度。可知,传输机在实时传输任务时,会实时的调整任务的实际并发度。在整个传输过程中,在开始传输时,传输的资源数(线程数目或者进程数目)达到最大值,即期望并发度,然后随着传输的进程,传输的资源数会随着传输完成而逐渐减少;因此,任务的实际并发度只会单调递减,任务的实际并发度不会增加。
任务的完成标志,用于标示任务是否已经传输完成;可以配置完成标志为“完成”或“未完成”。在未传输任务时,设置任务的完成标志为“未完成”;然后,传输机根据任务的期望并发度,启动相应数量的资源传输该任务;在该任务被传输完毕之后,将设置该任务的完成标志为“完成”。
基于待传输队列和传输列表,执行本步骤204的资源分配过程。首先,执行步骤a:传输机会检查传输列表中的所有任务的完成标志,针对于完成标志是“完成”的任务,从传输列表中删除该任务;针对于完成标志是“未完成”的任务,需要依据任务的优先级,为任务分配期望并发度,并传输任务。
由于可以获取到正在传输中的任务的实际并发度,进而可以对各任务的实际并发度进行求和,得到各任务的实际并发度之和;将各任务的实际并发度之和,作为了当前传输机的实际并发度总和。
在步骤a之后,执行步骤b、将实际并发度总和与一个第一并发度门限进行比较。其中,该第一并发度门限,指的是高优并发度下限;第一并发度门限小于第二并发度门限,第二并发度门限等于并发度总门限,即第一并发度门限小于并发度总门限;并且,第一并发度门限为第二并发度门限与一个第一预设门限差之间的差值,第一预设门限差可以是一个经验值或者预设值。
其中,并发度总门限,指的是传输机上所有任务的实际并发度之和的上限值;在任何时刻下,实际并发度总和,都不能超过这个并发度总门限,即,采用并发度总门限,作为并发度总控制。其中,并发度总门限,是可以实时改变的,并发度总门限与传输机的最大带宽相关,并发度总门限可以用于限制传输机的最大带宽。进而实现在各传输机之间进行带宽分配,这里会在后面的实施例中进行介绍。并发度总门限可以实时改变,进而调整不同的传输机之间的带宽分配和调度(在后面的实施例中进行了介绍)。由于并发度总门限,是可以实时改变的,进而需要先是在一个初始并发度总门限,即,初始并发度总门限是并发度总门限的初始值;初始并发度总门限可以是一个较大的并发度数值,初始并发度总门限大于高优并发度上限。其中,初始并发度总门限,例如是“预设并发度+高优并发度门限差+普通并发度门限差”,其中,预设并发度是传输机达到打满网卡时的并发数;例如,按照经验值,单并发的传输速度在1MB/s~40MB/s,例如是10MB/s~30MB/s,若单并发的传输速度=15MB/s,则刚好打满网卡时的并发数是83;进而,由于初始并发度总门限可以是一个较大的并发度数值,使得在没有限制的时候,传输机可以尽量充分利用带宽。
上述“第一预设门限差”,指的是,高优并发度门限差;高优并发度门限差,是高优并发度上限和高优并发度下限之间的差值。其中,高优并发度上限,等于并发度总门限;高优并发度下限=高优并发度上限-高优并发度门限差。上述“第一并发度门限”为高优并发度下限,并且上述“第二并发度门限”为高优并发度上限,上述“第二并发度门限”也为并发度总门限。其中,实际并发度总和,需要一直都是小于等于第二并发度门限(即,实际并发度总和<=高优并发度上限)。
在步骤b之后,执行步骤c:在实际并发度总和,小于预设的第一并发度门限时(即,实际并发度总和,小于高优并发度下限),确定当前传输机的空闲资源可支撑第一优先级别的待传输任务的传输,即,分配给高优任务的并发资源是充足的,进而允许对新的第一优先级别的待传输任务(即,高优任务),分配期望并发度。
在步骤c之后,执行步骤d:此时,需要先判断待传输队列的头部是否具有第一优先级别的待传输任务;若当前传输机具有第一优先级别的待传输任务,则从待传输队列的头部取出一个第一优先级别的待传输任务;在传输列表中增加该第一优先级别的待传输任务的调度信息。其中,将该第一优先级别的待传输任务的完成标志设置为“未完成”;该第一优先级别的待传输任务的“理想并发度”,为从待传输队列中取出该第一优先级别的待传输任务时的“理想并发度”。接着,根据第二并发度门限以及实际并发度总和,确定出第一优先级别的待传输任务的期望并发度。进而,确定资源足以为高优任务分配资源时,先为高优任务分配资源;保证高优任务可以被优先分配期望并发度,即,保证高优任务可以被优先分配资源。
其中,在步骤d中,在计算第一优先级别的待传输任务的期望并发度的时候,首先,前面的步骤中已经获取到了当前的第一优先级别的待传输任务的理想并发度。提供了一个第三并发度门限(即,个体并发度门限),第三并发度门限指的是为单个任务的最大期望并发度;第三并发度门限,是对任意任务所分配的期望并发度的一个通用限制,任何的任务的期望并发度,均不能超过该第三并发度门限(即,任何的任务的期望并发度,均不能超过个体并发度门限)。进而,可以采用第二并发度门限(即,高优并发度上限)、实际并发度总和、第一优先级别的待传输任务的理想并发度、以及第三并发度门限(即,个体并发度门限),去约束待传输任务的期望并发度,使得第一优先级别的待传输任务的期望并发度,小于等于第一优先级别的待传输任务的理想并发度,并且第一优先级别的待传输任务的期望并发度,小于等于第三并发度门限。
由于采用了个体并发度门限去限制单个任务的期望并发度,进而,可以防止一个任务独占全部或大部分并发度。并且由于有些磁盘输入/输出(Input/Output,IO)接口比网络IO接口慢,若不限制单个任务的期望并发度,则会导致网卡带宽不能充分利用;通过限制单个任务的期望并发度,使得多个任务可以同时传输,进而重复利用网卡带宽。
一个示例中,在计算“第一优先级别的待传输任务的期望并发度”时,首先,将第二并发度门限(即,高优并发度上限),减去实际并发度总和,得到当前传输机的剩余实际并发度之和,即得到一个第一并发度阈值;然后,取第一优先级别的待传输任务的理想并发度、第一并发度阈值,两者之间的最小值,作为第二并发度阈值;再取第一预设值、第二并发度阈值两者之间的最大值,作为第三并发度阈值,其中,第一预设值为大于0的整数,进而将第三并发度门限、第三并发度阈值,两者之间的最小值,作为第一优先级别的待传输任务的期望并发度。上述过程可以总结为公式1:“第一优先级别的待传输任务的期望并发度”=min(第三并发度门限,max(第一预设值,min(理想并发度,第二并发度门限-实际并发度总和)))。即,“第一优先级别的待传输任务的期望并发度”=min(个体并发度门限,max(第一预设值,min(理想并发度,高优并发度上限-实际并发度总和)))。例如,第一预设值为1,则公式1为“第一优先级别的待传输任务的期望并发度”=min(个体并发度门限,max(1,min(理想并发度,高优并发度上限-实际并发度总和)))。
进而通过上述公式1的计算过程,在计算任务的期望并发度时,在任务的理想并发度与当前实际可分配并发度之间进行权衡,去得到任务的期望并发度。进而,控制任务的期望并发度不能过大也不能过小;否则期望并发度就会被强行规范化到区间[第一预设值,个体并发度门限]之中,使得期望并发度不能满足任务的传输点的要求。在步骤206中进行传输时,启动任务的“期望并发度”个数的资源(例如,启动异步传输线程)去传输该第一优先级别的待传输任务,这些传资源会实时更新该任务的实际并发度。在执行完步骤d之后,再跳转到步骤a,去执行步骤a,进而再次对下一个高优任务分配期望并发度。
并且,需要注意的是,在传输了第一优先级别的待传输任务之后,必须满足“实际并发度总和<=高优并发度上限”,即,必须满足“实际并发度总和<=并发度总门限”。进而去限制传输机内的任务的实际并发度总和,使得任何时候实际并发度总和不能超过并发度总门限,去限制传输机的带宽,以预留带宽给其他传输机。
在步骤a之后,执行步骤e、在实际并发度总和,大于等于预设的第一并发度门限时(即,实际并发度总和,大于等于高优并发度下限),确定当前传输机的空闲资源不可支撑第一优先级别的待传输任务的传输,即,分配给高优任务的并发资源是不充足的;进而,需要等待预设时间(例如5秒)之后,重新比较实际并发度总和与第一并发度门限,即,重新跳转步骤a。此时,确定资源不足以为高优任务分配资源,需要等待一段时间,以等待资源的重新释放,再去确定是否为高优任务分配资源;保证高优任务可以被优先分配期望并发度,即,保证高优任务可以被优先分配资源。
205、在根据并发度总门限和每一任务的实际并发度,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,并且确定当前传输机不具有第一优先级别的待传输任务的时候,根据每一任务的实际并发度,确定第二优先级别的待传输任务的期望并发度,其中,第二优先级别小于预设优先级阈值。
示例性地,若确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,则判断当前传输机具有优先级较高的第一优先级别的待传输任务。若当前传输机不具有第一优先级别的待传输任务,则确定不需要传输第一优先级别的待传输任务,确定需要先为第二优先级别的待传输任务分配期望并发度;根据每一任务的实际并发度,确定传输机中还剩余多少的并发度资源,从剩余的并发度资源中选出合适大小的并发度,作为第二优先级别的待传输任务的期望并发度。在步骤204之后,再为优先为级别低的待传输任务分配资源,保证级别高的待传输任务的及时传输。
一个示例中,图6根据本申请第二实施例中的步骤205示意图,如图6所示,步骤205具体包括以下步骤:
2051、在确定实际并发度总和,小于第一并发度门限时,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输。
2052、在确定当前传输机不具有第一优先级别的待传输任务时,确定实际并发度总和,是否大于等于预设的第四并发度门限,其中,第四并发度门限为第五并发度门限与第二预设门限差之间的差值,第四并发度门限小于第五并发度门限,且第五并发度门限等于第一并发度门限。
2053、在确定实际并发度总和,小于第四并发度门限,确定当前传输机中的资源可支撑第二优先级别的待传输任务的传输;并在确定当前传输机具有第二优先级别的待传输任务时,根据第五并发度门限、实际并发度总和,确定第二优先级别的待传输任务的期望并发度。
其中,步骤2053中的“根据第五并发度门限、实际并发度总和,确定第二优先级别的待传输任务的期望并发度”具体包括:
步骤2053的第一步骤、获取第二优先级别的待传输任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
步骤2053的第二步骤、根据第五并发度门限、实际并发度总和、第二优先级别的待传输任务的理想并发度、以及第三并发度门限,确定第二优先级别的待传输任务的期望并发度;其中,第三并发度门限为单个任务的最大期望并发度;第二优先级别的待传输任务的期望并发度,小于等于第二优先级别的任务的理想并发度,并且第二优先级别的待传输任务的期望并发度,小于等于第三并发度门限。
一个示例中,步骤2053的第二步骤具体包括:根据第五并发度门限、实际并发度总和、第二预设值,确定第四并发度阈值,其中,第四并发度阈值为当前传输机的剩余实际并发度之和,第二预设值为大于等于1的整数;确定第二优先级别的待传输任务的理想并发度、第四并发度阈值两者之间的最小值,为第五并发度阈值;确定第三预设值、第五并发度阈值两者之间的最大值,为第六并发度阈值,其中,第三预设值为大于0的整数;确定第三并发度门限、第六并发度阈值两者之间的最小值,为第二优先级别的待传输任务的期望并发度。
2054、在确定实际并发度总和,大于等于第四并发度门限时,确定当前传输机中的资源不可支撑第二优先级别的待传输任务的传输,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
2055、在确定实际并发度总和,小于第四并发度门限,确定当前传输机中的资源可支撑第二优先级别的待传输任务的传输;并在确定当前传输机不具有第二优先级别的待传输任务时,确定当前传输机不具有待传输任务,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
示例性地,在执行步骤205时,同样设置有上述步骤204中的待传输队列和传输列表。并且,配置有第一并发度门限(即,高优并发度下限)、第二并发度门限(即,高优并发度上限,也是并发度总门限)。
并且,还可以配置有第四并发度门限、第五并发度门限、第二预设门限差,其中,第二预设门限差是第五并发度门限与第四并发度门限之间的差值,第四并发度门限小于第五并发度门限。其中,第四并发度门限,指的是,普通并发度下限;第五并发度门限,指的是,普通并发度上限;第二预设门限差,指的是,普通并发度上限与普通并发度下限之间的差值,即,指的是普通并发度门限差。同时,设置第五并发度门限,等于第一并发度门限(即,高优并发度下限)。
可知,第二预设门限差=第五并发度门限-第四并发度门限,即,普通并发度下限=普通并发度上限-普通并发度门限差。
图7为本申请实施例提供的各门限的对比示意图,如图7所示,示出了第一并发度门限(即,高优并发度下限)、第二并发度门限(即,高优并发度上限,也是并发度总门限)、第一预设门限差(即,高优并发度门限差)、第三并发度门限(即,个体并发度门限)、第四并发度门限(即,普通并发度下限)、第五并发度门限(即,普通并发度上限)、第二预设门限差(即,普通并发度门限差)之间的关系,可知,高优并发度上限=并发度总门限,为并发度总门限设置有初始的一个初始并发度总门限,初始并发度总门限是一个较大的数值,初始并发度总门限大于高优并发度上限;高优并发度上限大于高优并发度下限;高优并发度下限=普通并发度上限,普通并发度上限大于普通并发度下限;为任何的任务配置有个体并发度门限,任何的任务的期望并发度均不能超过个体并发度门限。一个示例中,设置“高优并发度门限差”大于“普通并发度门限差”;由于“高优并发度门限差”大于“普通并发度门限差”,进而使得第一优先级别的任务(即,高优task)比第二优先级别的任务(即,普通task)占据更多资源。
在确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,但是当前传输机不具有第一优先级别的待传输任务的时候,确定为一优先级别的待传输任务分配期望并发度。此时,根据步骤204中的步骤a-c,在步骤c之后,执行步骤f:此时,若当前传输机不具有第一优先级别的待传输任务,则判断是否具有第二优先级别的待传输任务,若确定具有第一优先级别的待传输任务,则判断实际并发度总和,是否大于等于第四并发度门限(即,普通并发度下限)。
在步骤f之后,执行步骤g:若确定实际并发度总和小于第四并发度门限(即,普通并发度下限),则确定当前传输机中的资源可支撑第二优先级别的待传输任务的传输,即,确定资源足够为普通任务分配期望并发度,进而允许对新的普通任务分配期望并发度。
在步骤g之后,执行步骤h:此时,需要先判断待传输队列的头部是否具有第二优先级别的待传输任务;若当前传输机具有第二优先级别的待传输任务,则从待传输队列的头部取出一个第二优先级别的待传输任务;在传输列表中增加该第二优先级别的待传输任务的调度信息。其中,将该第二优先级别的待传输任务的完成标志设置为“未完成”;该第二优先级别的待传输任务的“理想并发度”,为从待传输队列中取出该第二优先级别的待传输任务时的“理想并发度”。接着,根据第五并发度门限以及实际并发度总和,确定出第二优先级别的待传输任务的期望并发度。进而,在确定不需要为高优任务分配资源时,若确定资源足以为普通任务分配资源时,则为普通任务分配资源;保证普通任务也可以被分配期望并发度,保证普通任务可以被传输。
其中,在步骤h中,在计算第二优先级别的待传输任务的期望并发度的时候,首先,前面的步骤中已经获取到了当前的第一优先级别的待传输任务的理想并发度。提供了一个第三并发度门限(即,个体并发度门限),第三并发度门限指的是为单个任务的最大期望并发度;第三并发度门限,是对任意任务所分配的期望并发度的一个通用限制,任何的任务的期望并发度,均不能超过该第三并发度门限(即,任何的任务的期望并发度,均不能超过个体并发度门限)。进而,可以采用第五并发度门限(即,普通并发度上限)、实际并发度总和、第二优先级别的待传输任务的理想并发度、以及第三并发度门限(即,个体并发度门限),去约束待传输任务的期望并发度,使得第二优先级别的待传输任务的期望并发度,小于等于第二优先级别的任务的理想并发度,并且第二优先级别的待传输任务的期望并发度,小于等于第三并发度门限(即,个体并发度门限)。
一个示例中,在计算“第二优先级别的待传输任务的期望并发度”时,将第五并发度门限(即,普通并发度上限),分别减去一个第二预设值、实际并发度总和,得到当前传输机的剩余实际并发度之和,即得到第四并发度阈值;其中,第二预设值为大于等于1的整数,例如第二预设值为1;然后,将取第二优先级别的待传输任务的理想并发度、第四并发度阈值,两者之间的最小值,作为第五并发度阈值;再取确定第三预设值、第五并发度阈值,两者之间的最大值,作为第六并发度阈值,其中,第三预设值为大于0的整数,例如第三预设值为1;最后取第三并发度门限、第六并发度阈值,两者之间的最小值,作为第二优先级别的待传输任务的期望并发度。
上述过程可以总结为公式2:“第二优先级别的待传输任务的期望并发度”=min(第三并发度门限,max第三预设值,min(理想并发度,第五并发度门限-第二预设值-实际并发度总和)))。即,“第二优先级别的待传输任务的期望并发度”=min(个体并发度门限,max(第三预设值,min(理想并发度,普通并发度上限-第二预设值-实际并发度总和)))。例如,第二预设值为1,第三预设值为1,则公式1为“第二优先级别的待传输任务的期望并发度”=min(个体并发度门限,max(1,min(理想并发度,普通并发度上限-1-实际并发度总和)))。
进而通过上述公式2的计算过程,在计算任务的期望并发度时,同样在任务的理想并发度与当前实际可分配并发度之间进行权衡,去得到任务的期望并发度。同时,与上述公式1有所不同的是,需要进行减去第二预设值,这样做可以保留部分资源,进而可以确保当下一次有高优任务到来的时候,依然具有充足的资源去分配给新的高优任务;从而不会达到高优并发度的下限,保留一定资源给高优任务。此时,第二预设值可以为1;或者,若第二预设值可以为大于1的整数(例如,第二预设值为2或3),则会多出空闲的资源留给新的高优任务。在步骤206中进行传输时,启动任务的“期望并发度”个数的资源(例如,启动异步传输线程)去传输该第二优先级别的待传输任务,这些传资源会实时更新该任务的实际并发度。在执行完步骤h之后,再跳转到上述步骤a,去执行步骤a,进而再次对下一个高优任务分配期望并发度。
在步骤g之后,执行步骤i:此时,若当前传输机不具有第二优先级别的待传输任务,则确定待传输列表为空,传输机中没有需要被传输的任何任务;然后,需要等待预设时间(例如5秒)之后,重新比较实际并发度总和与第一并发度门限,即,重新跳转上述步骤a。此时,确定资源中没有任何需要被传输的任务时,需要等待一段时间,以等待资源的重新释放,再去确定是否为高优任务分配资源;保证总是为高优任务分配期望并发度,进而保证先传输高优任务。
在步骤f之后,执行步骤j:若确定实际并发度总和大于等于第四并发度门限(即,普通并发度下限),则确定当前传输机中的资源不可支撑第二优先级别的待传输任务的传输,即确定资源不足够为普通任务分配期望并发度,即,传输机的空闲并发度资源不足;进而,需要等待预设时间(例如5秒)之后,重新比较实际并发度总和与第一并发度门限,即,重新跳转上述步骤a。此时,确定资源不足以为普通任务分配资源,更无法为高优任务分配资源,从而需要等待一段时间,以等待资源的重新释放,再去确定是否为高优任务分配资源;保证总是为高优任务分配期望并发度,进而保证先传输高优任务。
并且,需要注意的是,在传输了第二优先级别的待传输任务之后,必须满足“实际并发度总和<普通并发度上限”。
通过本实施例提供的方案,由于依次对待处理队列中的待传输任务进行分配资源(即,分配并发度),同时会等待资源的释放,进而不会出现剩余可分配的总资源(即,总并发量极少)的情况,例如,只剩下了2个并发数;可以保证任何情况下第二优先级别的任务(即,普通任务)至少能分配到“普通并发度门限差”所表征的个数的期望并发度,保证第一优先级别的任务(即,高优任务)至少能分配到“高优并发度门限差”所表征的个数的期望并发度;但是,在某一个任务的理想并发数就极少的时候,该任务所需要的期望并发度本身就是很少的,从而,为该任务分配的期望并发度就会很少。由于所有的第二优先级别的任务(普通任务),最大只能占有“”并发度总门限-高优并发度门限差-第二预设值)个的并发数,进而保证在具有第一优先级别的任务(高优任务)就立即处理高优任务,保证高优任务的处理不会被第二优先级别的任务(普通任务)所阻塞。
206、启动与每一待传输任务的期望并发度表征的资源数目对应的资源,分别传输每一待传输任务。
示例性地,在步骤204之后执行本步骤206,则是启动第一优先级别的待传输任务的“期望并发度”个数的资源(例如,启动异步传输线程,或者,启动并行线程,或者,启动并行进程),去传输该第一优先级别的待传输任务。
在步骤205之后执行本步骤206,则是启动第二优先级别的待传输任务的“期望并发度”个数的资源(例如,启动异步传输线程,或者,启动并行线程,或者,启动并行进程),去传输该第二优先级别的待传输任务。
举例来说,图8为本申请提供的待传输队列和传输列表的示意图,如图8所示,待传输队列中有4个任务,从头部到尾部分别是任务t1、任务t2、任务t3和任务t4。各个任务是依据优先级的由高到低进行的排序。其中,任务t1,是高优任务(第一优先级别的任务),理想并发度是30;任务t2,是高优任务(第一优先级别的任务),理想并发度是15;任务t3,是普通任务(第二优先级别的任务),理想并发度是10;任务t4,是普通任务(第二优先级别的任务),理想并发度是20。在处理待传输队列时,先处理头部的任务。
传输列表中有3个任务的记录,一个任务已传输完成,理想并发度30,期望并发度15,实际并发度0;还有两个任务未传输完成,一个任务的理想并发度25,期望并发度25,实际并发度3;另一个任务的理想并发度50,期望并发度40,实际并发度7。
图9为本申请提供的各门限的具体对比示意图,如图9所示,设置如下门限:初始并发度总门限为120,并发度总门限为50,高优并发度门限差为20,普通并发度门限差为15,个体并发度门限为40;可知,高优并发度上限为50,高优并发度下限(即,普通并发度上限)为30,普通并发度下限为15。
在图8和图9所示的示例中,基于当前状态,采用本实施例提供的方案,首先检查传输列表中所有任务,发现有一个“完成”的任务,将该任务删除;然后可以确定尚有两个“未完成”的任务,它们的实际并发度分别为3和7,进而得到实际并发度总和10。比较实际并发度总和10与高优并发度下限30,此时10<30,进而判断待传输队列头部是否有高优任务。可以确定待传输队列头部具有一个高优任务t1,就可以从待传输队列中取出任务t1,在传输列表中增加任务t1的调度信息,设置“完成标志”为“未完成”,“理想并发度”为30,并且,计算出任务t1的期望并发度=min(个体并发度门限,max(1,min(理想并发度,高优并发度上限-实际并发度总和)))=min(40,max(1,min(30,50-10)))=30;并且,此时可以确定任务t1的实际并发度=30。然后,启动30个资源(例如,启动30个异步传输线程)去传输任务t1。然后,跳转到“首先检查传输列表中所有任务”的步骤,重新开始新一轮的资源分配。
本实施例,通过在根据并发度总门限和每一任务的实际并发度,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输的时候,若确定当前传输机具有第一优先级别的待传输任务的时候,则每一任务的实际并发度,确定第一优先级别的待传输任务的期望并发度;若确定当前传输机不具有第一优先级别的待传输任务的时候,则根据每一任务的实际并发度,确定第二优先级别的待传输任务的期望并发度,第一优先级别高于第二优先级别。从而优先为优先级高的任务分配并发度。并且,在为第一优先级别的待传输任务、第二优先级别的待传输任务分别分配期望并发度的时候,配置了多个门限去限制所分配的期望并发度;定时检查当前传输机上所有正在传输的任务的实际并发度总和,并且在该实际并发度总和低于某个阈值时,从待传输队列中取出一个待传输任务,为待传输任务分配期望并发度,并传输待传输任务;例如,若实际并发度总和低于第一并发度门限(即,高优并发度下限),则确定资源可支撑第一优先级别的待传输任务的传输,从待传输队列中取出一个第一优先级别的待传输任务(即,高优任务);若实际并发度总和低于第四并发度门限(即,普通并发度下限),则确定资源可支撑第二优先级别的待传输任务的传输,从待传输队列中取出一个第二优先级别的待传输任务(即,普通任务);若实际并发度总和不低于某个阈值时,否则暂时不取任何新的待传输任务进行传输,等待资源的是否;并且满足无论何时,实际总并发度总和,不超过并发度总门限,避免没有预留的并发度资源。在传输机上设置一个并发度总门限,利用本实施例提供的上述方法,为每一个任务配置期望并发度,使得每一个任务都能尽可能的按照其理想的理想并发度进行传输;并且对所有任务统一分配并发度资源,同时控制使传输机在任何时刻的全部实际并发度在不超过“并发度总门限”,在这样的情况下,依然为每一个任务分配近乎理想的并发度,保证任务都被有效、快速的传输出去。本实施例中,可以合理的为待传输任务分配并发度资源(即,分配期望并发度),使得每一个任务都能尽可能的按照其理想的理想并发度进行传输;进而使得并发度资源可以被合理利用和尽快释放,避免并发度资源的闲置和浪费。从而,提升传输机的整体并发度,提升传输机的网卡带宽的利用率;进一步的,提升多个传输机的机房的吞吐量。
图10是根据本申请第三实施例的示意图,如图10所示,本实施例提供的基于传输机的数据传输装置,该装置可以应用于传输机;本实施例提供的基于传输机的数据传输装置,包括:
第一获取单元31,用于获取当前传输机的并发度总门限、以及当前传输机中的每一任务的实际并发度,其中,任务具有优先级,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和。
第一确定单元32,用于根据并发度总门限和每一任务的实际并发度,确定不同优先级的待传输任务的期望并发度,其中,期望并发度表征为待传输任务所分配的资源数目,不同优先级的待传输任务的期望并发度是不同的。
启动单元33,用于启动与每一待传输任务的期望并发度表征的资源数目对应的资源,分别传输每一待传输任务。
本实施例的基于传输机的数据传输装置,可以执行图2-图3的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图11是根据本申请第四实施例的示意图,如图11所示,在图10所示实施例的基础上,本实施例提供的基于传输机的数据传输装置,第一确定单元32包括:
第一确定子单元321,用于在根据并发度总门限和每一任务的实际并发度,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,并且确定当前传输机具有第一优先级别的待传输任务的时候,根据每一任务的实际并发度,确定第一优先级别的待传输任务的期望并发度,其中,第一优先级别大于等于预设优先级阈值。
第二确定子单元322,用于在根据并发度总门限和每一任务的实际并发度,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,并且确定当前传输机不具有第一优先级别的待传输任务的时候,根据每一任务的实际并发度,确定第二优先级别的待传输任务的期望并发度,其中,第二优先级别小于预设优先级阈值。
一个示例中,第一确定子单元321,包括:
第一确定模块3211,用于根据每一任务的实际并发度,确定当前传输机的实际并发度总和,其中,实际并发度总和为各任务的实际并发度之和。
第二确定模块3212,用于在确定实际并发度总和,小于预设的第一并发度门限时,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输,其中,第一并发度门限为第二并发度门限与第一预设门限差之间的差值,第一并发度门限小于第二并发度门限,第二并发度门限等于并发度总门限。
第三确定模块3213,用于在确定当前传输机具有第一优先级别的待传输任务时,根据第二并发度门限、实际并发度总和,确定第一优先级别的待传输任务的期望并发度。
一个示例中,第三确定模块3213,包括:
第一获取子模块32131,用于获取第一优先级别的待传输任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
第一确定子模块32132,用于根据第二并发度门限、实际并发度总和、第一优先级别的待传输任务的理想并发度、以及第三并发度门限,确定第一优先级别的待传输任务的期望并发度;其中,第三并发度门限为单个任务的最大期望并发度;第一优先级别的待传输任务的期望并发度,小于等于第一优先级别的待传输任务的理想并发度,并且第一优先级别的待传输任务的期望并发度,小于等于第三并发度门限。
一个示例中,第一确定子模块32132,具体用于:
根据第二并发度门限、实际并发度总和,确定第一并发度阈值,其中,第一并发度阈值为当前传输机的剩余实际并发度之和;确定第一优先级别的待传输任务的理想并发度、第一并发度阈值两者之间的最小值,为第二并发度阈值;确定第一预设值、第二并发度阈值两者之间的最大值,为第三并发度阈值,其中,第一预设值为大于0的整数;确定第三并发度门限、第三并发度阈值两者之间的最小值,为第一优先级别的待传输任务的期望并发度。
一个示例中,第一确定子单元321,还包括:
第四确定模块3214,用于在确定实际并发度总和,大于等于第一并发度门限时,确定当前传输机中的资源不可支撑第一优先级别的待传输任务的传输,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
一个示例中,第二确定子单元322,包括:
第五确定模块3221,用于在确定实际并发度总和,小于第一并发度门限时,确定当前传输机中的资源可支撑第一优先级别的待传输任务的传输。
第六确定模块3222,用于在确定当前传输机不具有第一优先级别的待传输任务时,确定实际并发度总和,是否大于等于预设的第四并发度门限,其中,第四并发度门限为第五并发度门限与第二预设门限差之间的差值,第四并发度门限小于第五并发度门限,且第五并发度门限等于第一并发度门限。
第七确定模块3223,用于在确定实际并发度总和,小于第四并发度门限,确定当前传输机中的资源可支撑第二优先级别的待传输任务的传输;并在确定当前传输机具有第二优先级别的待传输任务时,根据第五并发度门限、实际并发度总和,确定第二优先级别的待传输任务的期望并发度。
一个示例中,第七确定模块3223,包括:
第二获取子模块32231,用于获取第二优先级别的待传输任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
第二确定子模块32232,用于根据第五并发度门限、实际并发度总和、第二优先级别的待传输任务的理想并发度、以及第三并发度门限,确定第二优先级别的待传输任务的期望并发度;其中,第三并发度门限为单个任务的最大期望并发度;第二优先级别的待传输任务的期望并发度,小于等于第二优先级别的任务的理想并发度,并且第二优先级别的待传输任务的期望并发度,小于等于第三并发度门限。
一个示例中,第二确定子模块32232,具体用于:
根据第五并发度门限、实际并发度总和、第二预设值,确定第四并发度阈值,其中,第四并发度阈值为当前传输机的剩余实际并发度之和,第二预设值为大于等于1的整数;确定第二优先级别的待传输任务的理想并发度、第四并发度阈值两者之间的最小值,为第五并发度阈值;确定第三预设值、第五并发度阈值两者之间的最大值,为第六并发度阈值,其中,第三预设值为大于0的整数;确定第三并发度门限、第六并发度阈值两者之间的最小值,为第二优先级别的待传输任务的期望并发度。
一个示例中,第二确定子单元322,还包括:
第八确定模块3224,用于在确定实际并发度总和,大于等于第四并发度门限时,确定当前传输机中的资源不可支撑第二优先级别的待传输任务的传输,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
一个示例中,第二确定子单元322,还包括:
第九确定模块3225,用于在确定实际并发度总和,小于第四并发度门限,确定当前传输机中的资源可支撑第二优先级别的待传输任务的传输;并在确定当前传输机不具有第二优先级别的待传输任务时,确定当前传输机不具有待传输任务,并确定在预设时间之后为重新比较实际并发度总和与第一并发度门限。
一个示例中,本实施例提供的基于传输机的数据传输装置,还包括:
第二获取单元41,用于获取当前传输机中的每一任务的每一数据文件的文件大小。
第二确定单元42,用于根据每一任务的每一数据文件的文件大小,确定每一任务的理想并发度,其中,理想并发度表征任务可使用的最小的资源数目,并且,任务在理想并发度下的传输时间最小。
一个示例中,其中,理想并发度为任务中的数据文件可占据的资源的资源数目之和;第二确定单元42包括:
第三确定子单元421,用于根据每一任务的每一数据文件的文件大小,确定每一任务中的各头部文件和各非头部文件,每一个头部文件的文件大小大于等于预设阈值,每一个非头部文件的文件大小小于预设阈值,预设阈值为预设的第一参数与预设的第二参数的乘积,第二参数为任务中文件大小最高的数据文件的文件大小。
第四确定子单元422,用于确定每一个头部文件,分别占据一个资源,并根据各非头部文件的文件大小之和,确定各非头部文件所占据的资源的资源数目。
一个示例中,其中,第四确定子单元422根据各非头部文件的文件大小之和,确定各非头部文件所占据的资源的资源数目时,具体用于:
确定各非头部文件的文件大小之和、第二参数两者的比值,为各非头部文件所占据的资源的资源数目。
本实施例的基于传输机的数据传输装置,可以执行上述图2-图3的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图12为本申请实施例的又一种应用场景的示意图,图12所示场景中一个机房中设置有多个传输机。图13为本申请实施例的另一种应用场景的示意图,如图13所示,设置了不同机房(在物理上隔离),在每一个机房中设置有多个传输机。
一个机房内的总体的并发度资源是有限的;可以为每一个传输机分配相同的并发度资源,使得每一个传输机完成各自的传输任务;进而保证为每一个传输机都分配的并发度资源。但是由于不同的传输机中的任务量、任务情况是不同的,均分并发度资源的方式会导致资源分配不合理;有的传输机不能利用起并发度资源,浪费并发度;而有的传输机的并发度资源不足,不能及时的传输数据。
本申请的发明人在经过创造性地劳动之后,得到了本申请的基于多传输机的并发度分配方法、装置、设备和存储介质的构思:实现保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源;保证为高优态的传输机分配更多的带宽资源,保证高优态的传输机中的任务被优先、快速传输;并且依然为普通态的传输机分配带宽资源,保证普通态的传输机中的任务也被传输。
图14是根据本申请第五实施例的示意图,如图14所示,本实施例提供的基于多传输机的并发度分配方法,包括:
301、获取当前传输机所属机房中的每一传输机的属性信息,其中,属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。
示例性地,本实施例的执行主体可以是传输机、或者基于多传输机的并发度分配装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
在上述实施例的基础上,一个机房中设置有多个传输机。一个示例中,同一个机房中的各个传输机自由竞争机房的出口带宽;例如,采用静态、平均的策略,保持固定的5路传输通道,每个通道采用固定的20个并发度(即,20个线程或进程)来传输任务;进而,将待传输任务组成一个队列,将待传输任务按照一定顺序进入任意一个传输通道完成传输;该示例中,同一个传输的传输机的并发度相同(即,线程个数相同或者进程个数相同),对每一个传输机给予相同的带宽资源。
但是在上述示例中,机房的出口带宽是有限的,均分并发度资源的方式会导致资源分配不合理;有的传输机不能利用起并发度资源,浪费并发度;而有的传输机的并发度资源不足,不能及时的传输数据;并且,在机房中的多台传输机同时传输数据时,在传输负荷较重的情况下,会出现传输机争抢机房的出口带宽的情况。
可以为每一任务配置优先级,例如,任务为高优任务或者普通任务。第一优先级别的待传输任务(高优任务)可能只存在于部分传输机上,从而需要对同一个机房内的各个传输机进行统一的带宽分配,去使得具有第一优先级别的待传输任务(高优任务)的传输机可以分配到更多的带宽。
为了对同一个机房内的各个传输机进行统一的带宽分配,保证具有第一优先级别的待传输任务(高优任务)的传输机可以分配到更多的带宽,可以实时动态调整每一台传输机的并发度总门限。本实施例提供了一种“同机房的传输机之间的带宽分配策略”,实时动态调整每一台传输机的并发度总门限,提高具有第一优先级别的待传输任务(高优任务)的传输机“并发度总门限”,降低不具有第一优先级别的待传输任务(高优任务)的“并发度总门限”;进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
在每一次实时调整传输机的并发度总门限的时候,当前传输机首先获取到当前传输机所属机房中的每一传输机的属性信息;属性信息包括了状态标识、传输机的当前实际网速。
其中,状态标识用于表征传输机处于空闲态、或者高优态、或者普通态中的任一状态。传输机为空闲态,则传输机未在传输任务;传输机为高优态,则传输机正传输任务,并且传输机所传输的任务的优先级高于预设优先级阈值(即传输机所传输的任务的优先级,大部分为第一优先级级别的任务);传输机为普通态,则传输机正传输任务,并且传输机所传输的任务的优先级低于预设优先级阈值(即传输机所传输的任务的优先级,大部分为第二优先级级别的任务,第一优先级级别高于第二优先级级别)。
302、根据每一传输机的状态标识,确定当前传输机的限制网速。
示例性地,由于同一个机房中的每一个传输机具有各自的状态,即,每一传输机具有各自的状态标识,从而,针对不同状态的传输机配置不同的限制网速。限制网速表征的是传输机可以达到的最大网速。
举例来说,处于空闲态的传输机的限制网速,小于处于普通态的传输机的限制网速;处于普通态的传输机的限制网速,小于处于高优态的传输机的限制网速。
303、根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,并发度总门限用于当前传输机的数据传输。
一个示例中,并发度总门限为实际并发度总和的上限值,实际并发度总和为传输机中的每一任务的实际并发度之和。
示例性地,由于每一台传输机是在进行工作的,进而每一台传输机是具有实际网速的,当前传输机可以读取到当前传输机的当前实际网速。当前传输机的限制网速表征的是传输机可以达到的最大网速,当前实际网速表征的传输机此刻所具有的实际网速,可以根据当前传输机的当前实际网速和限制网速,计算出当前传输机的并发度总门限。一个示例中,可以取当前实际网速和限制网速,两者之间某一个中间值,作为当前传输机的并发度总门限。
然后,由于当前传输机的并发度总门限指示出了当前传输机可用的所有并发度资源的总和,进而当前传输机可以根据当前传输机的并发度总门限,为当前传输机中的待传输任务分配并发度(即,并发度资源)。一个示例中,当前传输机可以依据每一待传输任务的优先级的高低,为每一待传输任务分配资源(即,并发度资源)。
然后,当前传输机根据为每一待传输任务分配的资源,分别传输每一待传输任务。
通过步骤301-303的过程,为不同状态的传输机配置不同的限制网速,进而为不同状态的传输机配置不同的并发度总门限,提高具有第一优先级级别的任务(高优任务)的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的并发度总门限;进而可以实时动态调整每台传输机的并发度总门限。进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
一个示例中,在执行了步骤303之后,还可以执行图2或图3的实施例的过程。
本实施例,通过当前传输机依据同一机房内的每一传输机的状态标识,确定当前传输机的限制网速,然后依据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限;可以依据当前传输机中的任务状态、任务情况,分配传输机的并发度总门限,保证为高优态的传输机分配更多的带宽资源,保证高优态的传输机中的任务被优先、快速传输;并且依然为普通态的传输机分配带宽资源,保证普通态的传输机中的任务也被传输。可以实时动态调整每台传输机的并发度总门限,提高具有第一优先级级别的任务(高优任务)的传输机的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的传输机的并发度总门限;进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输;也就是保证先为第一优先级别的待传输任务(高优任务)分配并发度资源,进而保证高优任务占有更多的带宽资源,使得高优任务优先、快速的被传输。为同一个机房中的每一个传输机调配带宽,保证同一个机房中的全体任务维持高速传输,并且充分利用带宽资源,不闲置和浪费带宽,使得同一个机房中的传输吞吐量最大化。
图15是根据本申请第六实施例的示意图,如图15所示,本实施例提供的基于多传输机的并发度分配方法,包括:
401、获取当前传输机所属机房中的每一传输机的属性信息,其中,属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。属性信息还包括传输机的网卡带宽。
示例性地,本实施例的执行主体可以是传输机、或者基于传输机的数据传输装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
本步骤可以参见图14所示步骤301,不再赘述。与步骤301不同的是,传输机的属性信息还包括传输机的网卡带宽,网卡带宽是一个固定值,网卡带宽表征了传输的网卡可以支撑的带宽。
402、在根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,确定当前传输机通过自由竞争的方式竞争去确定限制网速。
一个示例中,步骤402具体包括:若确定当前传输机符合第一预设条件,则确定当前传输机的网卡带宽为当前传输机的限制网速;其中,第一预设条件为当前传输机所属机房的当前实际总带宽小于预设带宽阈值,或者,当前传输机的状态标识为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
示例性地,在确定当前传输机的限制网速的时候,分析当前传输机所属的机房的各传输机的状态标识,或者分析当前传输机的状态标识,去确定当前传输机是否符合自由竞争要求。其中,符合“自由竞争要求”,例如是,当前传输机所属机房中的所有传输机均是高优态,或者,当前传输机所属机房中的所有传输机均是普通态,或者,当前传输机是高优态。
若当前传输机符合自由竞争要求时,则当前传输机采用自由竞争的方式竞争去确定限制网速。其中,“采用自由竞争的方式竞争去确定限制网速”,指的是,不对传输机进行限制,传输机自由竞争机房的出口总带宽。从而,在当前传输机所属机房中的所有传输机均是高优态,或者,当前传输机是高优态的时候,当前传输机优先竞争机房的出口总带宽,即保证高优态的传输机优先竞争机房的出口总带宽,可以保证为高优态的传输机分配充足的带宽。并且,在当前传输机所属机房中的所有传输机均是普通态的时候,普通态的传输机也可以去竞争机房的出口总带宽,保证各普通态的传输机都可以被分配带宽。
一个示例中,在根据每一传输机的状态标识,判断当前传输机符合自由竞争要求时,可以分析传输机的状态标识或者带宽,去判断当前传输机符合自由竞争要求。若当前传输机符合第一预设条件,则当前传输机通过自由竞争的方式竞争去确定限制网速,此时,将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。
举例来说,机房中的第i个传输机,第i个传输机limit_speed(i)=bandwith_machine(i),其中,bandwith_machine(i)是第i个传输机的网卡带宽,网卡带宽是一个固定值。其中,i为大于等于1的正整数,并且i小于等于P,P为一个机房中的所有传输机的总个数;“所有传输机”包括了高优态的传输机、普通态的传输机、以及空闲态的传输机。
其中,第一预设条件包括以下几种实现方式。
第一种实现方式:若当前传输机为高优态的传输机,即,前传输机状态标识为高优态,则确定当前传输机符合第一预设条件。此时,当前传输机通过自由竞争的方式竞争去确定限制网速,将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。进而保证先为高优态的传输机分配充足带宽。
第二种实现方式:当前传输机所属机房中处于高优态的传输机的个数为零,即,当前传输机所属机房中的传输机为普通态或者空闲态(机房中没有高优态的传输机),则确定当前传输机符合第一预设条件。此时,当前传输机通过自由竞争的方式竞争去确定限制网速,将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。
第三种实现方式:当前传输机所属机房的当前实际总带宽小于预设带宽阈值,其中,带宽阈值与机房的出口总带宽相关,则确定当前传输机符合第一预设条件。此时,当前传输机通过自由竞争的方式竞争去确定限制网速,将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。一个示例中,预设带宽阈值,为当前传输机所属机房的出口总带宽与预设比例值之间的乘积;预设比例值,例如是0.5。
第四种实现方式:当前传输机所属机房中的传输机,均为高优态的传输机,则确定当前传输机符合第一预设条件。此时,当前传输机通过自由竞争的方式竞争去确定限制网速,将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。进而对各高优态的传输机的带宽不加限制,各高优态的传输机自由竞争带宽。
403、在根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,根据当前传输机的网卡带宽,确定当前传输机的限制网速。
一个示例中,步骤403的具体执行过程,包括:若确定当前传输机符合第二预设条件,则根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,确定当前传输机的限制网速;其中,第二预设条件为当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,或者当前传输机的状态标识不为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数不为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
示例性地,若当前传输机不符合自由竞争要求时,则当前传输机不采用自由竞争的方式竞争去确定限制网速,而是根据当前传输机的网卡带宽,确定出当前传输机的限制网速。可以通过当前传输机的网卡带宽,去限制(即,降低)当前传输机的限制网速。由于限制了传输机的限制网速,可以限制普通态的传输机的带宽,优先保证高优态的传输机占有机房的出口带宽。
一个示例中,在根据每一传输机的状态标识,判断当前传输机符合自由竞争要求时,可以分析传输机的状态标识或者带宽,去判断当前传输机符合自由竞争要求。若当前传输机符合第二预设条件,则当前传输机不能自由竞争的方式竞争去确定限制网速,而是当前传输机根据当前传输机的网卡带宽,限制当前传输机的限制网速。当前传输机可以读取到当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数;当前传输机去根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,计算出当前传输机的限制网速。
其中,第二预设条件包括以下几种实现方式。
第一种实现方式:若当前传输机不为高优态的传输机,即,前传输机状态标识不为高优态,则确定当前传输机符合第二预设条件。此时,当前传输机通过需要限制当前传输机的限制网速,进而限制为当前传输机分配的带宽资源。进而保证先为高优态的当前传输机,分配充足带宽。
第二种实现方式:若当前传输机所属机房中处于高优态的传输机的个数不为零,即,当前传输机所属机房具有处于高优态的其他传输机,则确定当前传输机符合第二预设条件。此时,当前传输机通过需要限制当前传输机的限制网速,进而限制为当前传输机分配的带宽资源。进而保证先为高优态的其他传输机,分配充足带宽。
第三种实现方式:当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,其中,带宽阈值与机房的出口总带宽相关,则确定当前传输机符合第二预设条件。此时,当前传输机需要限制当前传输机的限制网速。一个示例中,预设带宽阈值,为当前传输机所属机房的出口总带宽与预设比例值之间的乘积;预设比例值,例如是0.5。
一个示例中,图16是根据本申请第六实施例中的步骤403的示意图,如图16所示,步骤403的具体执行过程,包括以下几个步骤4031-4034:
4031、若确定当前传输机符合第二预设条件,则根据当前传输机所属机房中的每一高优态的传输机的当前实际网速和网卡带宽,确定第一带宽参数,其中,第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
一个示例中,步骤4031具体包括:根据当前传输机所属机房中的每一高优态的传输机的当前实际网速,确定每一高优态的传输机的网速比例值,其中,网络比例值为当前实际网速和第五预设值之间的乘积,第五预设值为大于1的正数;确定每一高优态的传输机的网速比例值和网卡带宽两者之间的最小值,为每一高优态的传输机的限制带宽;确定各高优态的传输机的限制带宽之和,为第一带宽参数。
示例性地,当前传输机若确定当前传输机符合第二预设条件,则需要计算出当前传输机的限制带宽。当前传输机可以读取到当前传输机所属机房中的每一高优态的传输机的信息,进而读取到每一高优态的传输机的当前实际网速和网卡带宽;每一高优态的传输机的当前实际网速,可以是传输机的当前30s内实际平均网速(单位MB/s);每一高优态的传输机的网卡带宽,是各自的固定值。
当前传输机根据每一高优态的传输机的当前实际网速和网卡带宽,计算出一个第一带宽参数,其中,第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
一个示例中,当前传输机在计算第一带宽参数的时候,针对当前传输机所属机房中的每一高优态的传输机,当前传输机将高优态的传输机的当前实际网速,乘以一个第五预设值,其中,第五预设值为大于1的正数,得到高优态的传输机的网速比例值。例如,第j个高优态的传输机的网速比例值=real_speed(j)*1.5,其中,real_speed(j)为第j个高优态的传输机的当前实际网速,1.5是第五预设值。j为大于等于1的正整数,并且j小于等于Q,Q为一个机房中的高优态的传输机的总个数。
接着,针对当前传输机所属机房中的每一高优态的传输机,当前传输机取高优态的传输机的网速比例值、高优态的传输机的网卡带宽,两者之间的最小值,得到高优态的传输机的限制带宽。进而,针对每一台高优态的传输机,求取出高优态的传输机的实际带宽的1.5倍、高优态的传输机的网卡带宽,两者之间的最小值。
例如,第j个高优态的传输机的限制带宽为min(bandwith_machine(j),real_speed(j)*1.5),其中,bandwith_machine(j为第j个高优态的传输机的网卡带宽,real_speed(j)*1.5为第j个高优态的传输机的网速比例值。
接着,当前传输机将各高优态的传输机的限制带宽进行求和,进而得到第一带宽参数;进而计算出为所有高优态的传输机,可以预留出的最小带宽之和,便于后续确定出各高优态的传输机的限制带宽,为各高优态的传输机预留出足够的带宽;该“最小带宽之和”并不包括高优态的传输机的竞争出的带宽;即,第一带宽参数表征的是,为所有高优态的传输机可以预留出的最小带宽之和。例如,第一带宽参数为sigma(jinmachine_priority,min(bandwith_machine(j),real_speed(j)*1.5)),其中sigma为求和公式。machine_priority表征的是同一个机房中的高优态的传输机的总和;jinmachine_priority,表征的是同一个机房中的所有高优态的传输机中的第j个高优态的传输机。
4032、根据第一带宽参数、以及当前传输机所属机房的出口总带宽,确定第二带宽参数,其中,第二带宽参数是为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和。
一个示例中,步骤4032具体包括:将当前传输机所属机房的出口总带宽,减去第一带宽参数,得到第二带宽参数。
示例性地,在步骤4031之后,当前传输机可以获取到第一带宽参数;第一带宽参数表征的是,为所有高优态的传输机可以预留出的最小带宽之和;并且,当前传输机可以获取到当前传输机所属机房的出口总带宽,该出口总带宽是一个固定值;当前传输机可以将出口总带宽,减去第一带宽参数,进而得到为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和,即,得到第二带宽参数。第二带宽参数是所有普通态的传输机的带宽上限。出口总带宽,减去第一带宽参数之后,就是减去所有高优态的传输机的带宽,进而为所有高优态的传输机预留出足够的带宽,保证高优态的传输机的带宽资源。
例如,第二带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)));其中,bandwith_idc为当前传输机所属机房的出口总带宽;sigma(jinmachine_priority,min(bandwith_machine(j),real_speed(j)*1.5)),为上述第一带宽参数。
4033、根据第二带宽参数、当前传输机所属机房中普通态的传输机的总个数,确定第三带宽参数,其中,第三带宽参数是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。
一个示例中,步骤4032具体包括:将第二带宽参数,除以第六预设值,得到第三带宽参数,其中,第六预设值为当前传输机所属机房中普通态的传输机的总个数与第七预设值两者之和,第七预设值为大于0的正数。
示例性地,在步骤4032之后,当前传输机得到第二带宽参数。第二带宽参数是所有普通态的传输机的带宽上限;当前传输机根据第二带宽参数、以及当前传输机所属机房中普通态的传输机的总个数,计算出第三带宽参数。例如,将第二带宽参数,除以“当前传输机所属机房中普通态的传输机的总个数”,得到第三带宽参数。
上述第三带宽参数,表征的是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。进而为普通态的传输机所预留出带宽,保证普通态的传输机被分配带宽资源。
一个示例中,在计算第三带宽参数的时候,当前传输机将当前传输机所属机房中普通态的传输机的总个数、第七预设值,两者进行求和,得到一个第六预设值;其中,第七预设值为大于0的正数。然后,当前传输机将第二带宽参数,除以第六预设值,得到第三带宽参数。
例如,第六预设值=(0.1+|machine_ordinary|),其中,|machine_ordinary|为“当前传输机将当前传输机所属机房中普通态的传输机的总个数”,0.1为第七预设值。第三带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)))/(0.1+|machine_ordinary|),第三带宽参数是每一个普通态的传输机的带宽上限。其中,第二带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)))。
4034、根据第四预设值、当前传输机的网卡带宽、第三带宽参数,确定当前传输机的限制网速,其中,当前传输机的限制网速大于等于第四预设值,并且,当前传输机的限制网速小于等于当前传输机的网卡带宽,第四预设值为大于零的正数。
一个示例中,步骤4034具体包括:确定当前传输机的网卡带宽、第三带宽参数两者之间的最小值,为第四带宽参数;确定第四预设值、第四带宽参数两者之间的最大值,为当前传输机的限制网速。
示例性地,在步骤4033之后,当前传输机得到第三带宽参数;第三带宽参数,表征的是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。并且,当前传输机可以直接获取到当前传输机的网卡带宽,当前传输机的网卡带宽是一个固定值。
然后,当前传输机根据第四预设值、当前传输机的网卡带宽、第三带宽参数,去限制当前传输机的限制网速,进而得到当前传输机的限制网速。其中,第四预设值为大于零的正数。所得到的限制网速大于等于第四预设值,并且,所得到的限制网速小于等于当前传输机的网卡带宽。
一个示例中,当前传输机取当前传输机的网卡带宽、第三带宽参数,两者之间的最小值,作为第四带宽参数;在取当前传输机的网卡带宽、第三带宽参数两者之间的最小值的时候,可以限制当前传输机的限制网速不能过大。然后,当前传输机取第四预设值、第四带宽参数,两者之间的最大值,作为当前传输机的限制网速;在取第四预设值、第四带宽参数两者之间的最大值的时候,可以限制当前传输机的限制网速不能过小。
例如,max(1,min(bandwith_machine(i),第三带宽参数));其中bandwith_machine(i)为第i个传输机(即,当前传输机)的网卡带宽,1为第四预设值。其中,min(bandwith_machine(i),第三带宽参数),可以保证当前传输机的限制网速的数值不能过大。max可以保证当前传输机的限制网速的数值不能过小;进而若min(bandwith_machine(i),第三带宽参数是一个非常小的数值或者是一个负数,也能保证当前传输机的限制网速大于等于1(即,第四预设值)。通过以上方式,将当前传输机的限制网速,控制在1到bandwith_machine(i)的区间之内。
通过步骤4031-4034,可以将确定当前传输机的限制网速;限制网速用于生成当前传输机的并发度总门限。可以通过多个参数,对限制网速进行限制,保证限制网速不会过大或过小。
404、根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,其中,第一并发度阈值表征在限制网速下当前传输机的可用并发度。
一个示例中,步骤404具体包括:
步骤404的第一步骤、根据当前传输机的限制网速、当前传输机的当前实际网速,确定当前传输机的网速限制比例,其中,网速限制比例为限制网速与当前实际网速之间比值。
步骤404的第二步骤、根据当前传输机的网速限制比例、当前传输机的实际并发度总和,确定当前传输机的第一并发度阈值,其中,实际并发度总和为当前传输机中的处于传输状态的每一任务的实际并发度之和。
示例性地,由于每一台传输机是在进行工作的,进而每一台传输机是具有实际网速的,当前传输机可以读取到当前传输机的当前实际网速。当前传输机的限制网速表征的是传输机可以达到的最大网速,当前实际网速表征的传输机此刻所具有的实际网速,可以根据当前传输机的当前实际网速和限制网速,计算出当前传输机的并发度总门限。
当前传输机可以根据当前传输机的当前实际网速和限制网速,对当前传输机的可用并发度进行限制,计算出当前传输机的第一并发度阈值;即,第一并发度阈值表征了在限制网速下当前传输机的可用并发度。
一个示例中,当前传输机将当前传输机的限制网速、除以当前传输机的当前实际网速,进而得到当前传输机的网速限制比例。然后,当前传输机将当前传输机的网速限制比例、当前传输机的实际并发度总和,两者相乘,得到确定当前传输机的第一并发度阈值;并且第一并发度阈值是一个整数。进而,得到了当前传输机的可用并发度,以便于确定出当前传输机的并发度总门限。
例如,第i个传输机的限制网速limit_speed(i),除以第i个传输机的当前实际网速real_speed(i),然后乘以第i个传输机的实际并发度总和real_concurrency_num(i),得到一个数值,并且对该数值取整,得到第i个传输机的第一并发度阈值=int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))。其中,int是向下取整的函数。
405、根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,其中,当前传输机的并发度总门限小于等于初始并发度总门限。其中,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和。
一个示例中,步骤405具体包括:
步骤405的第一步骤、确定第一并发度阈值、初始并发度总门限两者之间的最小值,为第二并发度阈值。
步骤405的第二步骤、确定第八预设值、第二并发度阈值两者之间的最大值,为当前传输机的并发度总门限,其中,第八预设值为大于等于零的正数。
示例性地,在得到当前传输机的第一并发度阈值之后,已经预先设置了一个初始并发度总门限,初始并发度总门限是一个较大的并发度;当前传输机可以利用该初始并发度总门限以及第一并发度阈值,约束当前传输机的并发度总门限,进而得到最终的并发度总门限。在约束的过程中,需要控制最终得到的并发度总门限小于等于初始并发度总门限。
一个示例中,当前传输机取当前传输机的第一并发度阈值、初始并发度总门限,两者之间的最小值,作为当前传输机的第二并发度阈值;进而控制当前传输机的并发度总门限不能过大。然后,当前传输机取第八预设值、第二并发度阈值,两者之间的最大值,作为当前传输机的并发度总门限;进而,控制当前传输机的并发度总门限不能过小。其中,第八预设值为大于等于零的正数。
例如,第i个传输机的第二并发度阈值为min(init_concurrency_threshold(i),int(limit_speed(i)/real_speed(i)*real_concurrency_num(i)));其中,int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))为第i个传输机的第一并发度阈值。第i个传输机的并发度总门限concurrency_threshold(i)=max(0,min(init_concurrency_threshold(i),int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))));其中,0为第八预设值。
然后,由于当前传输机的并发度总门限指示出了当前传输机可用的所有并发度资源的总和,进而当前传输机可以根据当前传输机的并发度总门限,为当前传输机中的待传输任务分配并发度(即,并发度资源)。一个示例中,当前传输机可以依据每一待传输任务的优先级的高低,为每一待传输任务分配资源(即,并发度资源)。
然后,当前传输机根据为每一待传输任务分配的资源,分别传输每一待传输任务。
通过步骤404-405的过程,为不同状态的传输机配置不同的限制网速,进而为不同状态的传输机配置不同的并发度总门限,提高具有第一优先级级别的任务(高优任务)的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的并发度总门限;进而可以实时动态调整每台传输机的并发度总门限。进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
通过步骤401-405,若同一个机房内具有高优态的传输机和普通态的传输机,并且机房总带宽不足,则需要限制普通态的传输机和空闲态的传输机的带宽(即,限制非高优态的传输机的带宽);优先的为高优态的传输机分配带宽,保证高优态的传输机占有机房出口带宽。通过上述自由竞争和限制带宽的方式,可以使得高优态的传输机被分配充足的带宽,而普通态的传输机被分配剩余的带宽;并且,可以最大程度的不降低机房内全体传输机的整体传输速度。
一个示例中,在执行了步骤405之后,还可以执行图2或图3的实施例的过程。
本实施例,在上述实施例的基础上,通过分析当前传输机所属机房中的所有传输机的状态标识,确定出当前传输机的限制网速。使得符合自由竞争要求的传输机,通过自由竞争的方式竞争去确定限制网速,不符合自由竞争要求的传输机,通过限制的方式得到限制网速;进而,保证后续过程中,高优态的传输机优先竞争机房的出口总带宽,可以保证为高优态的传输机分配充足的带宽。然后,通过当前实际网速和限制网速等参数,调配出当前传输机的并发度总门限;控制并发度总门限不能过大或过小。使得高优态的传输机被分配充足的带宽,而普通态的传输机被分配剩余的带宽;并且,可以最大程度的不降低机房内全体传输机的整体传输速度。进而,在上述实施例的基础上,保证高优态的传输机、高优任务可以占用更多的带宽资源,保证高优任务被优先、快速传输;同时,使得机房中的所有任务可以被高速传输,传输机可以重复利用带宽资源,保证不闲置带宽资源,使得机房的整体传输吞吐量最大化。
图17是根据本申请第七实施例的示意图,如图17所示,本实施例提供的基于多传输机的并发度分配装置,该装置可以应用于传输机;本实施例提供的基于多传输机的并发度分配装置,包括:
第一获取单元51,用于获取当前传输机所属机房中的每一传输机的属性信息,其中,属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。
第一确定单元52,用于根据每一传输机的状态标识,确定当前传输机的限制网速。
第二确定单元53,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限。
一个示例中,本实施例提供的装置,还可以执行图2或图3所示实施例的技术方案;本实施例提供的装置,还可以包括图10或图11所示实施例的装置。
本实施例的基于传输机的数据传输装置,可以执行图14-图15的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图18是根据本申请第八实施例的示意图,如图18所示,在图17所示实施例的基础上,本实施例提供的基于多传输机的并发度分配装置,属性信息还包括传输机的网卡带宽;第一确定单元52,包括:
第一确定子单元521,用于在根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,确定当前传输机通过自由竞争的方式竞争去确定限制网速。
第二确定子单元522,用于在根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,根据当前传输机的网卡带宽,确定当前传输机的限制网速。
一个示例中,第一确定子单元521,具体用于:
若确定当前传输机符合第一预设条件,则确定当前传输机的网卡带宽为当前传输机的限制网速;其中,第一预设条件为当前传输机所属机房的当前实际总带宽小于预设带宽阈值,或者,当前传输机的状态标识为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
一个示例中,第二确定子单元522,具体用于:
若确定当前传输机符合第二预设条件,则根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,确定当前传输机的限制网速;其中,第二预设条件为当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,或者当前传输机的状态标识不为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数不为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
一个示例中,第二确定子单元522,包括:
第一确定模块5221,用于若确定当前传输机符合第二预设条件,则根据当前传输机所属机房中的每一高优态的传输机的当前实际网速和网卡带宽,确定第一带宽参数,其中,第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
第二确定模块5222,用于根据第一带宽参数、以及当前传输机所属机房的出口总带宽,确定第二带宽参数,其中,第二带宽参数是为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和。
第三确定模块5223,用于根据第二带宽参数、当前传输机所属机房中普通态的传输机的总个数,确定第三带宽参数,其中,第三带宽参数是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。
第四确定模块5224,用于根据第四预设值、当前传输机的网卡带宽、第三带宽参数,确定当前传输机的限制网速,其中,当前传输机的限制网速大于等于第四预设值,并且,当前传输机的限制网速小于等于当前传输机的网卡带宽,第四预设值为大于零的正数。
一个示例中,第一确定模块5221,具体用于:
根据当前传输机所属机房中的每一高优态的传输机的当前实际网速,确定每一高优态的传输机的网速比例值,其中,网络比例值为当前实际网速和第五预设值之间的乘积,第五预设值为大于1的正数;确定每一高优态的传输机的网速比例值和网卡带宽两者之间的最小值,为每一高优态的传输机的限制带宽;确定各高优态的传输机的限制带宽之和,为第一带宽参数。
一个示例中,第二确定模块5222,具体用于:将当前传输机所属机房的出口总带宽,减去第一带宽参数,得到第二带宽参数。
一个示例中,第三确定模块5223,具体用于:
将第二带宽参数,除以第六预设值,得到第三带宽参数,其中,第六预设值为当前传输机所属机房中普通态的传输机的总个数与第七预设值两者之和,第七预设值为大于0的正数。
一个示例中,第四确定模块5224,具体用于:
确定当前传输机的网卡带宽、第三带宽参数两者之间的最小值,为第四带宽参数;确定第四预设值、第四带宽参数两者之间的最大值,为当前传输机的限制网速。
一个示例中,第二确定单元53包括:
第三确定子单元531,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,其中,第一并发度阈值表征在限制网速下当前传输机的可用并发度。
第四确定子单元532,用于根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,其中,当前传输机的并发度总门限小于等于初始并发度总门限。
一个示例中,第三确定子单元531,包括:
第五确定模块5311,用于根据当前传输机的限制网速、当前传输机的当前实际网速,确定当前传输机的网速限制比例,其中,网速限制比例为限制网速与当前实际网速之间比值。
第六确定模块5312,用于根据当前传输机的网速限制比例、当前传输机的实际并发度总和,确定当前传输机的第一并发度阈值,其中,实际并发度总和为当前传输机中的处于传输状态的每一任务的实际并发度之和。
一个示例中,第四确定子单元532,包括:
第七确定模块5321,用于确定第一并发度阈值、初始并发度总门限两者之间的最小值,为第二并发度阈值;
第八确定模块5322,用于确定第八预设值、第二并发度阈值两者之间的最大值,为当前传输机的并发度总门限,其中,第八预设值为大于等于零的正数。
一个示例中,本实施例提供的装置,还可以执行图2或图3所示实施例的技术方案;本实施例提供的装置,还可以包括图10或图11所示实施例的装置。
本实施例的基于传输机的数据传输装置,可以执行图14-图15的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
基于图12或者图13所示的应用场景下,在每一个机房中设置有多个传输机。传输机可以调配资源完成数据的传输;然而,传输机的主要任务是进行数据的传输,同一个机房内的传输机是不了解其他传输机的传输情况的,此时,同一个机房内各传输机共同竞争机房的总带宽,一个机房内的总体的并发度资源是有限的;从而,传输机无法为自己调配出合适的并发度资源。
本申请的发明人在经过创造性地劳动之后,得到了本申请的基于机房系统的传输机处理方法、系统和存储介质的构思:实现为每一传输机调配出合适的并发度资源。
图19是根据本申请第九实施例的示意图,如图19所示,本实施例提供的基于机房系统的传输机处理方法,包括:
501、每一传输机将当前传输机的状态标识发送给服务器,其中,状态标识用于表征传输机处于空闲态、或者高优态、或者普通态;处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。
示例性地,本实施例提供的方法可以应用于机房系统,机房系统包括服务器和至少一个传输机;本实施例中,服务器与各个传输机之间相互配合,完成为每一个传输机分配并发度资源。
并且,与图14提供的实施例类似,还需要对同一个机房内的各个传输机进行统一的带宽分配,使得具有第一优先级别的待传输任务(高优任务)的传输机可以分配到更多的带宽。
为了对同一个机房内的各个传输机进行统一的带宽分配,保证具有第一优先级别的待传输任务(高优任务)的传输机可以分配到更多的带宽,可以实时动态调整每一台传输机的并发度总门限。本实施例提供了一种“同机房的传输机之间的带宽分配策略”,实时动态调整每一台传输机的并发度总门限,提高具有第一优先级别的待传输任务(高优任务)的传输机“并发度总门限”,降低不具有第一优先级别的待传输任务(高优任务)的“并发度总门限”;进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
在本实施例中,由于每一台传输机只知道本机信息和状态,不知道其他传输机的信息和状态,从而需要每一台服务器去收集所有传输机的信息,服务器统一的进行带宽的计算和分配。本实施例中,所有传输机都将自己的信息和参数定时上报给服务器;服务器计算出每一台传输机的限制网速;然后,每一台服务器根据限制网速,确定出各自的并发度总门限。
在每一次实时调整当前传输机的并发度总门限的时候,当前传输机首先获取到当前传输机所属机房中的每一传输机的属性信息;属性信息包括了状态标识、传输机的当前实际网速。
其中,状态标识用于表征传输机处于空闲态、或者高优态、或者普通态中的任一状态。传输机为空闲态,则传输机未在传输任务;传输机为高优态,则传输机正传输任务,并且传输机所传输的任务的优先级高于预设优先级阈值;传输机为普通态,则传输机正传输任务,并且传输机所传输的任务的优先级低于预设优先级阈值。
502、每一传输机接收服务器发送的当前传输机的限制网速,其中,服务器中存储有当前传输机所属机房中的每一传输机的属性信息,属性信息包括传输机的状态标识;限制网速为服务器根据每一传输机的状态标识所确定的。
示例性地,服务器可以接收到每一台传输机发送的属性信息,属性信息包括传输机的状态标识、传输机的当前实际网速。服务器就可以存储下每一个机房中的各传输机的属性信息。
同一个机房中的每一个传输机具有各自的状态,即,每一传输机具有各自的状态标识;服务器根据同一个机房下的各传输机的状态标识,确定出同一个机房下的各传输机的各自的限制网速。从而,针对不同状态的传输机配置不同的限制网速。限制网速表征的是传输机可以达到的最大网速。
举例来说,处于空闲态的传输机的限制网速,小于处于普通态的传输机的限制网速;处于普通态的传输机的限制网速,小于处于高优态的传输机的限制网速。
然后,服务器将每一台传输机的限制网速,分别发送给每一台传输。进而,当前传输机可以接收到服务器发送的当前传输机的限制网速。
503、每一传输机根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,并发度总门限用于传输机的数据传输。
一个示例中,并发度总门限为实际并发度总和的上限值,实际并发度总和为传输机中的每一任务的实际并发度之和。
示例性地,由于每一台传输机是在进行工作的,进而每一台传输机是具有实际网速的,当前传输机可以读取到当前传输机的当前实际网速。当前传输机的限制网速表征的是传输机可以达到的最大网速,当前实际网速表征的传输机此刻所具有的实际网速,可以根据当前传输机的当前实际网速和限制网速,计算出当前传输机的并发度总门限。一个示例中,可以取当前实际网速和限制网速,两者之间某一个中间值,作为当前传输机的并发度总门限。
然后,由于当前传输机的并发度总门限指示出了当前传输机可用的所有并发度资源的总和,进而当前传输机可以根据当前传输机的并发度总门限,为当前传输机中的待传输任务分配并发度(即,并发度资源)。一个示例中,当前传输机可以依据每一待传输任务的优先级的高低,为每一待传输任务分配资源(即,并发度资源)。
然后,当前传输机根据为每一待传输任务分配的资源,分别传输每一待传输任务。
通过步骤501-503的过程,为不同状态的传输机配置不同的限制网速,进而为不同状态的传输机配置不同的并发度总门限,提高具有第一优先级级别的任务(高优任务)的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的并发度总门限;进而可以实时动态调整每台传输机的并发度总门限。进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
一个示例中,在执行了步骤303之后,还可以执行图2或图3的实施例的过程。
本实施例,通过每一传输机将当前传输机的状态标识和当前实际网速发送给服务器,由服务器根据同一机房内的各传输机的属性信息中的传输机的状态标识,确定出每一传输机的限制网速;服务器将每一传输机的限制网速发送个每一传输机;每一传输机依据自己的当前实际网速和限制网速,调配出当前传输机的并发度总门限。进而由服务器统一获取同一机房内的各传输机的状态,服务器调配出每一传输机的限制网速,使得每一传输机确定出自己的并发度资源。进而所确定出每一个传输机的并发度资源,考虑到了同一机房内的各传输机的任务状态、任务情况,为每一个传输机调配出合适的发度资源。并且,本实施例提供的方案,保证先为第一优先级别的待传输任务(高优任务)分配并发度资源,进而保证高优任务占有更多的带宽资源,使得高优任务优先、快速的被传输。同时可以实时动态调整每台传输机的并发度总门限,提高具有第一优先级级别的任务(高优任务)的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的并发度总门限;进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。从而为同一个机房中的每一个传输机调配带宽,保证同一个机房中的全体任务维持高速传输,并且充分利用带宽资源,不闲置和浪费带宽,使得同一个机房中的传输吞吐量最大化。
图20是根据本申请第十实施例的示意图,如图20所示,本实施例提供的基于机房系统的传输机处理方法,包括:
601、每一传输机将当前传输机的状态标识发送给服务器,其中,状态标识用于表征传输机处于空闲态、或者高优态、或者普通态;处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。
示例性地,本实施例的执行主体可以是传输机、或者基于传输机的数据传输装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
本步骤可以参见图19所示步骤501,不再赘述。
602、每一传输机接收服务器发送的当前传输机的限制网速,其中,服务器中存储有当前传输机所属机房中的每一传输机的属性信息,属性信息包括传输机的状态标识;限制网速为服务器根据每一传输机的状态标识所确定的。属性信息还包括传输机的网卡带宽。
示例性地,本步骤可以参见图19所示步骤502,与步骤,502不同的是,传输机的属性信息还包括传输机的网卡带宽,网卡带宽是一个固定值,网卡带宽表征了传输的网卡可以支撑的带宽。
并且,一个示例中,步骤602中的限制网速具体包括以下实施方式,分别为“步骤602中的限制网速的第一种实施方式”和“步骤602中的限制网速的第二种实施方式”:
步骤602中的限制网速的第一种实施方式、在服务器根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,当前传输机的限制网速为服务器根据自由竞争的方式所确定的。
一个示例中,第一种实施方式,具体包括:在服务器根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,当前传输机符合第一预设条件,并且,当前传输机的网卡带宽为当前传输机的限制网速;其中,第一预设条件为当前传输机所属机房的当前实际总带宽小于预设带宽阈值,或者,当前传输机的状态标识为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
示例性地,服务器在确定当前传输机的限制网速的时候,分析当前传输机所属的机房的各传输机的状态标识,或者分析当前传输机的状态标识,去确定当前传输机是否符合自由竞争要求。其中,符合“自由竞争要求”,例如是,当前传输机所属机房中的所有传输机均是高优态,或者,当前传输机所属机房中的所有传输机均是普通态,或者,当前传输机是高优态。
服务器在确定当前传输机符合自由竞争要求时,告知当前传输机采用自由竞争的方式竞争去确定限制网速。其中,“采用自由竞争的方式竞争去确定限制网速”,指的是,不对传输机进行限制,传输机自由竞争机房的出口总带宽。从而,在当前传输机所属机房中的所有传输机均是高优态,或者,当前传输机是高优态的时候,当前传输机优先竞争机房的出口总带宽,即保证高优态的传输机优先竞争机房的出口总带宽,可以保证为高优态的传输机分配充足的带宽。并且,在当前传输机所属机房中的所有传输机均是普通态的时候,普通态的传输机也可以去竞争机房的出口总带宽,保证各普通态的传输机都可以被分配带宽。
一个示例中,服务器在根据每一传输机的状态标识,判断当前传输机符合自由竞争要求时,服务器可以分析传输机的状态标识或者带宽,去判断当前传输机符合自由竞争要求。服务器若确定当前传输机符合第一预设条件,则告知当前传输机通过自由竞争的方式竞争去确定限制网速;此时,服务器可以将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。
举例来说,机房中的第i个传输机,i大于等于1的正整数,第i个传输机limit_speed(i)=bandwith_machine(i),其中,bandwith_machine(i)是第i个传输机的网卡带宽,网卡带宽是一个固定值。
其中,第一预设条件包括以下几种实现方式。
第一种实现方式:服务器若确定当前传输机为高优态的传输机,即,前传输机状态标识为高优态,则服务器确定当前传输机符合第一预设条件。此时,服务器告知当前传输机通过自由竞争的方式竞争去确定限制网速;服务器将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。进而保证先为高优态的传输机分配充足带宽。
第二种实现方式:服务器若确定当前传输机所属机房中处于高优态的传输机的个数为零,即,当前传输机所属机房中的传输机为普通态或者空闲态(机房中没有高优态的传输机),则服务器确定当前传输机符合第一预设条件。此时,服务器告知当前传输机通过自由竞争的方式竞争去确定限制网速;服务器将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。
第三种实现方式:服务器若确定当前传输机所属机房的当前实际总带宽小于预设带宽阈值,其中,带宽阈值与机房的出口总带宽相关,则服务器确定当前传输机符合第一预设条件。此时,服务器告知当前传输机通过自由竞争的方式竞争去确定限制网速;服务器将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。一个示例中,预设带宽阈值,为当前传输机所属机房的出口总带宽与预设比例值之间的乘积;预设比例值,例如是0.5。
第四种实现方式:服务器若确定当前传输机所属机房中的传输机,均为高优态的传输机,则服务器确定当前传输机符合第一预设条件。此时,服务器告知当前传输机通过自由竞争的方式竞争去确定限制网速;服务器将当前传输机的网卡带宽,直接作为了当前传输机的限制网速。进而服务器对各高优态的传输机的带宽不加限制,使得各高优态的传输机自由竞争带宽。
步骤602中的限制网速的第二种实施方式、在服务器根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,当前传输机的限制网速为服务器根据当前传输机的网卡带宽所确定的。
一个示例中,第二种实施方式,具体包括:在服务器根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,当前传输机符合第二预设条件,并且,当前传输机的限制网速与当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数之间是相关的。其中,第二预设条件为当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,或者当前传输机的状态标识不为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数不为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
示例性地,服务器若当前传输机不符合自由竞争要求,则服务器告知当前传输机不采用自由竞争的方式竞争去确定限制网速,并且,服务器根据当前传输机的网卡带宽,确定出当前传输机的限制网速。可以通过当前传输机的网卡带宽,去限制(即,降低)当前传输机的限制网速。由于限制了传输机的限制网速,可以限制普通态的传输机的带宽,优先保证高优态的传输机占有机房的出口带宽。
一个示例中,服务器在根据每一传输机的状态标识,判断当前传输机符合自由竞争要求时,服务器可以分析传输机的状态标识或者带宽,去判断当前传输机符合自由竞争要求。服务器若确定当前传输机符合第二预设条件,则告知当前传输机不能自由竞争的方式竞争去确定限制网速,并且,服务器根据当前传输机的网卡带宽,限制当前传输机的限制网速。
服务器可以获取到当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数;服务器可以根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,计算出当前传输机的限制网速。
一个示例中,服务器设置机房出口总带bandwith_idc(单位MB/s),并建立三个机器信息列表,分别为机器标志位列表{flag(i)=“空闲机”|iinmachine_all}、机器网卡带宽列表{bandwith_machine(i)=0|iinmachine_all}、机器实际网速列表{real_speed(i)=0|iinmachine_all}。其中,machine_all表征一个机房内的所有传输机,iinmachine_all表征一个机房内的所有传输机中的第i个传输机,flag(i)表征第i个传输机的状态标志;bandwith_machine(i)表征第i个传输机的网卡带宽;real_speed(i)表征第i个传输机的当前实际网速。机器实际网速列表,是实时获取的。
任何一个传输机i获取第i个传输机的实际并发度总和real_concurrenc_num(i)、状态标志flag(i)、网卡带宽bandwith_machine(i)和当前实际网速real_speed(i),并向服务器上报本机这些信息。
服务器保存并更新传输机上报的信息,并且为第i个传输机分配限制网速limit_speed(i);服务器会将第i个传输机的限制网速limit_speed(i)返回给第i个传输机。
其中,第二预设条件包括以下几种实现方式。
第一种实现方式:服务器若确定当前传输机不为高优态的传输机,即,前传输机状态标识不为高优态,则服务器确定当前传输机符合第二预设条件。此时,服务器需要限制当前传输机的限制网速,进而限制为当前传输机分配的带宽资源。进而保证先为高优态的当前传输机,分配充足带宽。
第二种实现方式:服务器若确定若当前传输机所属机房中处于高优态的传输机的个数不为零,即,当前传输机所属机房具有处于高优态的其他传输机,则服务器确定当前传输机符合第二预设条件。此时,服务器需要限制当前传输机的限制网速,进而限制为当前传输机分配的带宽资源。进而保证先为高优态的其他传输机,分配充足带宽。
第三种实现方式:服务器若确定当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,其中,带宽阈值与机房的出口总带宽相关,则服务器若确定当前传输机符合第二预设条件。此时,服务器需要限制当前传输机的限制网速。一个示例中,预设带宽阈值,为当前传输机所属机房的出口总带宽与预设比例值之间的乘积;预设比例值,例如是0.5。
一个示例中,当前传输机的限制网速与第一带宽参数、第二带宽参数、第三带宽参数相关。
其中,第一带宽参数为服务器根据当前传输机所属机房中的每一高优态的传输机的当前实际网速、网卡带宽所确定的;第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
一个示例中,第一带宽参数为
Figure BDA0002541032380000591
其中,real_speed(j)为第j个高优态的传输机的当前实际网速,real_speed(j)*a为第j个高优态的传输机的网速比例值,a为第五预设值,第五预设值为大于1的正数,bandwith_machine(j)为第j个高优态的传输机的网卡带宽,j为大于等于1的正整数。
第二带宽参数为服务器根据第一带宽参数、以及当前传输机所属机房的出口总带宽所确定的;第二带宽参数是为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和。一个示例中,第二带宽参数为B=bandwith_idc-A;其中,bandwith_idc为当前传输机所属机房的出口总带宽,A为第一带宽参数。
第三带宽参数为服务器根据第二带宽参数、当前传输机所属机房中普通态的传输机的总个数所确定的;第三带宽参数是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。一个示例中,第三带宽参数为C=B/(|machine_ordinary|*b);其中,B为第二带宽参数,|machine_ordinary|为当前传输机所属机房中普通态的传输机的总个数,|machine_ordimary|*b为第六预设值,b为第七预设值,第七预设值为大于0的正数。
当前传输机的限制网速为服务器根据第四预设值、当前传输机的网卡带宽、第三带宽参数所确定的,其中,当前传输机的限制网速大于等于第四预设值,并且,当前传输机的限制网速小于等于当前传输机的网卡带宽,第四预设值为大于零的正数。一个示例中,当前传输机的限制网速为max(d,min(bandwith_machine,C));其中,bandwith_machine为当前传输机的网卡带宽,C为第三带宽参数,d为第四预设值。
示例性地,服务器若确定当前传输机符合第二预设条件,则需要计算出当前传输机的限制带宽。服务器可以获取到当前传输机所属机房中的每一高优态的传输机的信息,进而读取到每一高优态的传输机的当前实际网速和网卡带宽;每一高优态的传输机的当前实际网速,可以是传输机的当前30s内实际平均网速(单位MB/s);每一高优态的传输机的网卡带宽,是各自的固定值。
服务器根据每一高优态的传输机的当前实际网速和网卡带宽,计算出一个第一带宽参数,其中,第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
一个示例中,服务器在计算第一带宽参数的时候,针对当前传输机所属机房中的第j个高优态的传输机,服务器将第j个高优态的传输机的当前实际网速,乘以一个第五预设值a,其中,第五预设值a为大于1的正数,得到第j个高优态的传输机的网速比例值。例如,第j个高优态的传输机的网速比例值=real_speed(j)*1.5,其中,real_speed(j)为第j个高优态的传输机的当前实际网速,1.5是第五预设值。
接着,针对当前传输机所属机房中的第j个高优态的传输机的网速比例值,服务器取第j个高优态的传输机的网速比例值、第j个高优态的传输机的网卡带宽bandwith_machine(j),两者之间的最小值,得到第j个高优态的传输机的限制带宽min(bandwith_machine(j),real_speed(j)*a)。进而,针对每一台高优态的传输机,服务器可以求取出高优态的传输机的实际带宽的1.5倍、高优态的传输机的网卡带宽,两者之间的最小值。
例如,第j个高优态的传输机的限制带宽为min(bandwith_machine(j),real_speed(j)*1.5),其中,bandwith_machine(j)为第j个高优态的传输机的网卡带宽,real_speed(j)*1.5*1.5为第j个高优态的传输机的网速比例值。
接着,服务器将各高优态的传输机的限制带宽进行求和,进而得到第一带宽参数
Figure BDA0002541032380000601
进而服务器计算出为所有高优态的传输机,可以预留出的最小带宽之和,便于后续确定出各高优态的传输机的限制带宽,为各高优态的传输机预留出足够的带宽;该“最小带宽之和”并不包括高优态的传输机的竞争出的带宽;即,第一带宽参数表征的是,为所有高优态的传输机可以预留出的最小带宽之和。例如,第一带宽参数为sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)),其中sigma为求和公式。machine_priority表征的是同一个机房中的高优态的传输机的总和;j in machine_priority,表征的是同一个机房中的所有高优态的传输机中的第j个高优态的传输机。
服务器可以获取到第一带宽参数A;第一带宽参数A表征的是,为所有高优态的传输机可以预留出的最小带宽之和;并且,服务器可以获取到当前传输机所属机房的出口总带宽bandwith_idc,该出口总带宽是一个固定值;服务器可以将出口总带宽bandwith_idc,减去第一带宽参数A,进而得到为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和,即,得到第二带宽参数B=bandwith_idc-A。第二带宽参数是所有普通态的传输机的带宽上限。出口总带宽,减去第一带宽参数之后,就是减去所有高优态的传输机的带宽,进而为所有高优态的传输机预留出足够的带宽,保证高优态的传输机的带宽资源。
例如,第二带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)));其中,bandwith_idc为当前传输机所属机房的出口总带宽;sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)),为上述第一带宽参数。
服务器得到第二带宽参数B。第二带宽参数B是所有普通态的传输机的带宽上限;服务器根据第二带宽参数B、以及当前传输机所属机房中普通态的传输机的总个数|machone_ordinary|,计算出第三带宽参数C。例如,将第二带宽参数,除以“当前传输机所属机房中普通态的传输机的总个数”,得到第三带宽参数。
上述第三带宽参数C,表征的是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。进而为普通态的传输机所预留出带宽,保证普通态的传输机被分配带宽资源。
一个示例中,在计算第三带宽参数的时候,服务器将当前传输机所属机房中普通态的传输机的总个数|machine_ordinary|、第七预设值b,两者进行求和,得到一个第六预设值|machine_ordinary|*b;其中,第七预设值b为大于0的正数。然后,服务器将第二带宽参数B,除以第六预设值|machine_ordinary|*b,得到第三带宽参数C=B/(|machine_ordinary|*b)。
例如,第六预设值=(0.1+|machine_ordinary|),其中,|machine_ordinary|为“当前传输机将当前传输机所属机房中普通态的传输机的总个数”,0.1为第七预设值。第三带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)))/(0.1+|machine_ordinary|),第三带宽参数是每一个普通态的传输机的带宽上限。其中,第二带宽参数为(bandwith_idc-sigma(j in machine_priority,min(bandwith_machine(j),real_speed(j)*1.5)))。
服务器得到第三带宽参数C;第三带宽参数C,表征的是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。并且,服务器可以直接获取到当前传输机的网卡带宽,当前传输机的网卡带宽是一个固定值。
然后,服务器根据第四预设值d、当前传输机的网卡带宽bandwith_machine、第三带宽参数C,去限制当前传输机的限制网速,进而得到当前传输机的限制网速。其中,第四预设值为大于零的正数。所得到的限制网速大于等于第四预设值,并且,所得到的限制网速小于等于当前传输机的网卡带宽。
一个示例中,服务器取当前传输机的网卡带宽bandwith_machine、第三带宽参数C,两者之间的最小值,作为第四带宽参数min(bandwith_machine,C);在取当前传输机的网卡带宽、第三带宽参数两者之间的最小值的时候,可以限制当前传输机的限制网速不能过大。然后,服务器取第四预设值d、第四带宽参数min(bandwith_machine,C),两者之间的最大值,作为当前传输机的限制网速max(d,min(bandwith_machine,C));在取第四预设值、第四带宽参数两者之间的最大值的时候,可以限制当前传输机的限制网速不能过小。
例如,max(1,min(bandwith_machine(i),第三带宽参数));其中bandwith_machine(i)为第i个传输机(即,当前传输机)的网卡带宽,1为第四预设值。其中,min(bandwith_machine(i),第三带宽参数),可以保证当前传输机的限制网速的数值不能过大。max可以保证当前传输机的限制网速的数值不能过小;进而若min(bandwith_machine(i),第三带宽参数是一个非常小的数值或者是一个负数,也能保证当前传输机的限制网速大于等于1(即,第四预设值)。通过以上方式,将当前传输机的限制网速,控制在1到bandwith_machine(i)的区间之内。
通过上述具体技术过程,可以将确定当前传输机的限制网速;限制网速用于生成当前传输机的并发度总门限。可以通过多个参数,对限制网速进行限制,保证限制网速不会过大或过小。
603、每一传输机根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,其中,第一并发度阈值表征在限制网速下当前传输机的可用并发度。
一个示例中,步骤603具体包括:
步骤603的第一步骤、每一传输机根据当前传输机的限制网速、当前传输机的当前实际网速,确定当前传输机的网速限制比例,其中,网速限制比例为限制网速与当前实际网速之间比值。
步骤603的第二步骤、每一传输机根据当前传输机的网速限制比例、当前传输机的实际并发度总和,确定当前传输机的第一并发度阈值,其中,实际并发度总和为当前传输机中的处于传输状态的每一任务的实际并发度之和。
示例性地,由于每一台传输机是在进行工作的,进而每一台传输机是具有实际网速的,当前传输机可以读取到当前传输机的当前实际网速。当前传输机的限制网速表征的是传输机可以达到的最大网速,当前实际网速表征的传输机此刻所具有的实际网速,可以根据当前传输机的当前实际网速和限制网速,计算出当前传输机的并发度总门限。
当前传输机可以根据当前传输机的当前实际网速和限制网速,对当前传输机的可用并发度进行限制,计算出当前传输机的第一并发度阈值;即,第一并发度阈值表征了在限制网速下当前传输机的可用并发度。
一个示例中,当前传输机将当前传输机的限制网速、除以当前传输机的当前实际网速,进而得到当前传输机的网速限制比例。然后,当前传输机将当前传输机的网速限制比例、当前传输机的实际并发度总和,两者相乘,得到确定当前传输机的第一并发度阈值;并且第一并发度阈值是一个整数。进而,得到了当前传输机的可用并发度,以便于确定出当前传输机的并发度总门限。
例如,第i个传输机的限制网速limit_speed(i),除以第i个传输机的当前实际网速real_speed(i),然后乘以第i个传输机的实际并发度总和real_concurrency_num(i),得到一个数值,并且对该数值取整,得到第i个传输机的第一并发度阈值=int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))。其中,int是向下取整的函数。
604、每一传输机根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,其中,当前传输机的并发度总门限小于等于初始并发度总门限。其中,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和。
一个示例中,步骤604具体包括:
步骤604的第一步骤、每一传输机确定第一并发度阈值、初始并发度总门限两者之间的最小值,为第二并发度阈值。
步骤604的第二步骤、每一传输机确定第八预设值、第二并发度阈值两者之间的最大值,为当前传输机的并发度总门限,其中,第八预设值为大于等于零的正数。
示例性地,在得到当前传输机的第一并发度阈值之后,已经预先设置了一个初始并发度总门限,初始并发度总门限是一个较大的并发度;当前传输机可以利用该初始并发度总门限以及第一并发度阈值,约束当前传输机的并发度总门限,进而得到最终的并发度总门限。在约束的过程中,需要控制最终得到的并发度总门限小于等于初始并发度总门限。
一个示例中,当前传输机取当前传输机的第一并发度阈值、初始并发度总门限,两者之间的最小值,作为当前传输机的第二并发度阈值;进而控制当前传输机的并发度总门限不能过大。然后,当前传输机取第八预设值、第二并发度阈值,两者之间的最大值,作为当前传输机的并发度总门限;进而,控制当前传输机的并发度总门限不能过小。其中,第八预设值为大于等于零的正数。
例如,第i个传输机的第二并发度阈值为min(init_concurrency_threshold(i),int(limit_speed(i)/real_speed(i)*real_concurrency_num(i)));其中,int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))为第i个传输机的第一并发度阈值。第i个传输机的并发度总门限concurrency_threshold(i)=max(0,min(init_concurrency_threshold(i),int(limit_speed(i)/real_speed(i)*real_concurrency_num(i))));其中,0为第八预设值。
然后,由于当前传输机的并发度总门限指示出了当前传输机可用的所有并发度资源的总和,进而当前传输机可以根据当前传输机的并发度总门限,为当前传输机中的待传输任务分配并发度(即,并发度资源)。一个示例中,当前传输机可以依据每一待传输任务的优先级的高低,为每一待传输任务分配资源(即,并发度资源)。
然后,当前传输机根据为每一待传输任务分配的资源,分别传输每一待传输任务。
通过步骤603-604的过程,为不同状态的传输机配置不同的限制网速,进而为不同状态的传输机配置不同的并发度总门限,提高具有第一优先级级别的任务(高优任务)的并发度总门限,降低不具有第一优先级级别的任务(普通任务)的并发度总门限;进而可以实时动态调整每台传输机的并发度总门限。进而保证具有第一优先级别的待传输任务(高优任务)的传输机得到更多的带宽资源,即保证第一优先级别的待传输任务(高优任务)得到更多的带宽资源,快速的被传输。
通过步骤603-604,若同一个机房内具有高优态的传输机和普通态的传输机,并且机房总带宽不足,则需要限制普通态的传输机和空闲态的传输机的带宽(即,限制非高优态的传输机的带宽);优先的为高优态的传输机分配带宽,保证高优态的传输机占有机房出口带宽。通过上述自由竞争和限制带宽的方式,可以使得高优态的传输机被分配充足的带宽,而普通态的传输机被分配剩余的带宽;并且,可以最大程度的不降低机房内全体传输机的整体传输速度。
一个示例中,在执行了步骤604之后,还可以执行图2或图3的实施例的过程。
本实施例,在上述实施例的基础上,通过分析当前传输机所属机房中的所有传输机的状态标识,确定出当前传输机的限制网速。使得符合自由竞争要求的传输机,通过自由竞争的方式竞争去确定限制网速,不符合自由竞争要求的传输机,通过限制的方式得到限制网速;进而,保证后续过程中,高优态的传输机优先竞争机房的出口总带宽,可以保证为高优态的传输机分配充足的带宽。然后,通过当前实际网速和限制网速等参数,调配出当前传输机的并发度总门限;控制并发度总门限不能过大或过小。使得高优态的传输机被分配充足的带宽,而普通态的传输机被分配剩余的带宽;并且,可以最大程度的不降低机房内全体传输机的整体传输速度。进而,在上述实施例的基础上,保证高优态的传输机、高优任务可以占用更多的带宽资源,保证高优任务被优先、快速传输;同时,使得机房中的所有任务可以被高速传输,传输机可以重复利用带宽资源,保证不闲置带宽资源,使得机房的整体传输吞吐量最大化。
图21是根据本申请第十一实施例的示意图,如图21所示,本实施例提供的基于机房系统的传输机处理系统,该系统包括服务器和至少一个传输机,每一传输机包括:
发送单元61,用于将当前传输机的状态标识发送给服务器,其中,状态标识用于表征传输机处于空闲态、或者高优态、或者普通态;处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务。
接收单元62,用于接收服务器发送的当前传输机的限制网速,其中,服务器中存储有当前传输机所属机房中的每一传输机的属性信息,属性信息包括传输机的状态标识、传输机的当前实际网速;限制网速为服务器根据每一传输机的状态标识所确定的。
确定单元63,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,并发度总门限用于传输机的数据传输。
一个示例中,本实施例提供的基于机房系统的传输机处理系统,还可以执行图2或图3所示实施例的技术方案;本实施例提供的基于机房系统的传输机处理系统,还可以包括图10或图11所示实施例的装置。
本实施例的基于机房系统的传输机处理系统,可以执行图19-图20的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图22是根据本申请第十二实施例的示意图,如图22所示,在图21所示实施例的基础上,属性信息还包括传输机的网卡带宽;在服务器根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,当前传输机的限制网速为服务器根据自由竞争的方式所确定的。
在服务器根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,当前传输机的限制网速为服务器根据当前传输机的网卡带宽所确定的。
一个示例中,在服务器根据每一传输机的状态标识确定当前传输机符合自由竞争要求时,当前传输机符合第一预设条件,并且,当前传输机的网卡带宽为当前传输机的限制网速。
其中,第一预设条件为当前传输机所属机房的当前实际总带宽小于预设带宽阈值,或者,当前传输机的状态标识为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
一个示例中,属性信息还包括传输机的当前实际网速;在服务器根据每一传输机的状态标识确定当前传输机不符合自由竞争要求时,当前传输机符合第二预设条件,并且,当前传输机的限制网速与当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数之间是相关的。
其中,第二预设条件为当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,或者当前传输机的状态标识不为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数不为零;其中,带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
一个示例中,当前传输机的限制网速与第一带宽参数、第二带宽参数、第三带宽参数相关。
其中,第一带宽参数为服务器根据当前传输机所属机房中的每一高优态的传输机的当前实际网速、网卡带宽所确定的;第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和。
第二带宽参数为服务器根据第一带宽参数、以及当前传输机所属机房的出口总带宽所确定的;第二带宽参数是为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和。
第三带宽参数为服务器根据第二带宽参数、当前传输机所属机房中普通态的传输机的总个数所确定的;第三带宽参数是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽。
并且,当前传输机的限制网速为服务器根据第四预设值、当前传输机的网卡带宽、第三带宽参数所确定的,其中,当前传输机的限制网速大于等于第四预设值,并且,当前传输机的限制网速小于等于当前传输机的网卡带宽,第四预设值为大于零的正数。
一个示例中,第一带宽参数为
Figure BDA0002541032380000681
其中,real_speed(j)为第j个高优态的传输机的当前实际网速,real_speed(j)*a为第j个高优态的传输机的网速比例值,a为第五预设值,第五预设值为大于1的正数,bandwith_machine(j)为第j个高优态的传输机的网卡带宽,j为大于等于1的正整数。
一个示例中,第二带宽参数为B=bandwith_idc-A;其中,bandwith_idc为当前传输机所属机房的出口总带宽,A为第一带宽参数。
一个示例中,第三带宽参数为C=B/(|machine_ordinary|*b)。
其中,B为第二带宽参数,|machine_ordinary|为当前传输机所属机房中普通态的传输机的总个数,|machine_ordinary|*b为第六预设值,b为第七预设值,第七预设值为大于0的正数。
一个示例中,当前传输机的限制网速为max(d,min(bandwith_machine,C))。
其中,bandwith_machine为当前传输机的网卡带宽,C为第三带宽参数,d为第四预设值。
一个示例中,确定单元63,包括:
第一确定子单元631,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,其中,第一并发度阈值表征在限制网速下当前传输机的可用并发度。
第二确定子单元632,用于根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,其中,当前传输机的并发度总门限小于等于初始并发度总门限。
一个示例中,第一确定子单元631,包括:
第一确定模块6311,用于根据当前传输机的限制网速、当前传输机的当前实际网速,确定当前传输机的网速限制比例,其中,网速限制比例为限制网速与当前实际网速之间比值。
第二确定模块6312,用于根据当前传输机的网速限制比例、当前传输机的实际并发度总和,确定当前传输机的第一并发度阈值,其中,实际并发度总和为当前传输机中的处于传输状态的每一任务的实际并发度之和。
一个示例中,第二确定子单元632,包括:
第三确定模块6321,用于确定第一并发度阈值、初始并发度总门限两者之间的最小值,为第二并发度阈值。
第四确定模块6322,用于确定第八预设值、第二并发度阈值两者之间的最大值,为当前传输机的并发度总门限,其中,第八预设值为大于等于零的正数。
一个示例中,本实施例提供的基于机房系统的传输机处理系统,还可以执行图2或图3所示实施例的技术方案;本实施例提供的基于机房系统的传输机处理系统,还可以包括图10或图11所示实施例的装置。
本实施例的基于机房系统的传输机处理系统,可以执行图19-图20的实施例中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图23是根据本申请第十三实施例的示意图,如图23所示,本实施例提供的基于传输机的数据传输方法,包括:
701、根据当前传输机的并发度总门限和当前传输机中的每一任务的实际并发度,确定不同优先级的待传输任务的期望并发度,其中,任务具有优先级,并发度总门限为实际并发度总和的上限值,实际并发度总和为每一任务的实际并发度之和;期望并发度表征为待传输任务所分配的资源数目,不同优先级的待传输任务的期望并发度是不同的。
示例性地,本实施例的执行主体可以是传输机、或者基于传输机的数据传输装置或设备、或者是其他可以执行本实施例方法的装置或设备。本实施例以执行主体为传输机进行说明。
本步骤可以参加图3所示步骤101-102,不再赘述。
702、启动与每一待传输任务的期望并发度表征的资源数目对应的资源,分别传输每一待传输任务。
示例性地,本步骤可以参加图3所示步骤103,不再赘述。
本实施例的技术效果可以参见图3的技术效果,不再赘述。
图24是根据本申请第十四实施例的示意图,如图24所示,本实施例中的电子设备70可以包括:处理器71和存储器72。
存储器72,用于存储程序;存储器72,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器72用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器72中。并且上述的计算机程序、计算机指令、数据等可以被处理器71调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器72中。并且上述的计算机程序、计算机指据等可以被处理器71调用。
处理器71,用于执行存储器72存储的计算机程序,以实现上述图2、或者图3、或者图23、或者图14、或者图15实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器71和存储器72可以是独立结构,也可以是集成在一起的集成结构。当处理器71和存储器72是独立结构时,存储器72、处理器71可以通过总线73耦合连接。
一个示例中,本实施例的电子设备可以用于传输机,本实施例的电子设备可以执行上述图2或图3或图23实施例的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
另一个示例中,本实施例的电子设备可以用于传输机,本实施例的电子设备可以执行上述图14或图15实施例的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图25是根据本申请第十五实施例的示意图,如图25所示,本实施例中的机房系统包括服务器80和至少一个电子设备90;电子设备90可以包括:处理器91和存储器92。
存储器92,用于存储程序;存储器92,可以包括易失性存储器,例如随机存取存储器,如静态随机存取存储器,双倍数据率同步动态随机存取存储器等;存储器也可以包括非易失性存储器,例如快闪存储器。存储器92用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器92中。并且上述的计算机程序、计算机指令、数据等可以被处理器91调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器92中。并且上述的计算机程序、计算机指据等可以被处理器71调用。
处理器91,用于执行存储器92存储的计算机程序,以实现上述图19、或者图20实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器91和存储器92可以是独立结构,也可以是集成在一起的集成结构。当处理器91和存储器92是独立结构时,存储器92、处理器91可以通过总线93耦合连接。
一个示例中,本实施例的电子设备可以用于传输机,本实施例的电子设备可以执行上述图19或图20实施例的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图26是根据本申请第十六实施例的示意图,如图26所示,图26是用来实现本申请实施例的上述任一方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图26所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图26中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的上述任一方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的上述任一方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于传输机的上述任一方法对应的程序指令/模块(例如,附图10所示的第一获取单元31、第一确定单元32和启动单元33;或者,图17所示的第一获取单元51、第一确定单元52和第二确定单元53;或者,图21所示的系统的传输机的发送单元61、接收单元62和确定单元63)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的技术方案。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于实现上述任一方法的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至用于实现上述任一方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述任一方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图26中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与用于实现上述任一方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请提供的各个实施例,可用于自动驾驶中的海量数据传输。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (15)

1.一种基于多传输机的并发度分配方法,所述方法应用于传输机,所述方法包括:
获取当前传输机所属机房中的每一传输机的属性信息,其中,所述属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务;
根据所述每一传输机的状态标识,确定当前传输机的限制网速;
根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,所述并发度总门限用于当前传输机的数据传输。
2.根据权利要求1所述的方法,其中,所述属性信息还包括传输机的网卡带宽;根据所述每一传输机的状态标识,确定当前传输机的限制网速,包括:
在根据所述每一传输机的状态标识确定当前传输机符合自由竞争要求时,确定当前传输机通过自由竞争的方式确定限制网速;
在根据所述每一传输机的状态标识确定当前传输机不符合自由竞争要求时,根据当前传输机的网卡带宽,确定当前传输机的限制网速。
3.根据权利要求2所述的方法,其中,在根据所述每一传输机的状态标识确定当前传输机符合自由竞争要求时,确定当前传输机通过自由竞争的方式确定限制网速,包括:
若确定当前传输机符合第一预设条件,则确定当前传输机的网卡带宽为当前传输机的限制网速;
其中,第一预设条件为当前传输机所属机房的当前实际总带宽小于预设带宽阈值,或者,当前传输机的状态标识为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数为零;其中,所述带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
4.根据权利要求2所述的方法,其中,在根据所述每一传输机的状态标识确定当前传输机不符合自由竞争要求时,根据当前传输机的网卡带宽,确定当前传输机的限制网速,包括:
若确定当前传输机符合第二预设条件,则根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,确定当前传输机的限制网速;
其中,第二预设条件为当前传输机所属机房的当前实际总带宽大于等于预设带宽阈值,或者当前传输机的状态标识不为高优态,或者,当前传输机所属机房中处于高优态的传输机的个数不为零;其中,所述带宽阈值为当前传输机所属机房的出口总带宽与预设比例值之间的乘积。
5.根据权利要求4所述的方法,其中,若确定当前传输机符合第二预设条件,则根据当前传输机的网卡带宽、当前传输机所属机房的出口总带宽、当前传输机所属机房中高优态的传输机的当前实际网速、当前传输机所属机房中普通态的传输机的总个数,确定当前传输机的限制网速,包括:
若确定当前传输机符合第二预设条件,则根据当前传输机所属机房中的每一高优态的传输机的当前实际网速和网卡带宽,确定第一带宽参数,其中,第一带宽参数是为当前传输机所属机房中所有高优态的传输机所预留出的最小带宽之和;
根据所述第一带宽参数、以及当前传输机所属机房的出口总带宽,确定第二带宽参数,其中,第二带宽参数是为当前传输机所属机房中所有普通态的传输机所预留出的最大带宽之和;
根据所述第二带宽参数、当前传输机所属机房中普通态的传输机的总个数,确定第三带宽参数,其中,第三带宽参数是为当前传输机所属机房中的每一个普通态的传输机所预留出的最大带宽;
根据第四预设值、当前传输机的网卡带宽、所述第三带宽参数,确定当前传输机的限制网速,其中,当前传输机的限制网速大于等于所述第四预设值,并且,当前传输机的限制网速小于等于当前传输机的网卡带宽,第四预设值为大于零的正数。
6.根据权利要求5所述的方法,其中,根据当前传输机所属机房中的每一高优态的传输机的当前实际网速和网卡带宽,确定第一带宽参数,包括:
根据当前传输机所属机房中的每一高优态的传输机的当前实际网速,确定每一高优态的传输机的网速比例值,其中,网络比例值为当前实际网速和第五预设值之间的乘积,第五预设值为大于1的正数;
确定每一高优态的传输机的网速比例值和网卡带宽两者之间的最小值,为每一高优态的传输机的限制带宽;
确定各高优态的传输机的限制带宽之和,为所述第一带宽参数。
7.根据权利要求5所述的方法,其中,根据所述第一带宽参数、以及当前传输机所属机房的出口总带宽,确定第二带宽参数,包括:
将当前传输机所属机房的出口总带宽,减去第一带宽参数,得到所述第二带宽参数。
8.根据权利要求5所述的方法,其中,根据所述第二带宽参数、当前传输机所属机房中普通态的传输机的总个数,确定第三带宽参数,包括:
将所述第二带宽参数,除以第六预设值,得到所述第三带宽参数,其中,所述第六预设值为当前传输机所属机房中普通态的传输机的总个数与第七预设值两者之和,所述第七预设值为大于0的正数。
9.根据权利要求5所述的方法,其中,根据第四预设值、当前传输机的网卡带宽、所述第三带宽参数,确定当前传输机的限制网速,包括:
确定当前传输机的网卡带宽、第三带宽参数两者之间的最小值,为第四带宽参数;
确定第四预设值、第四带宽参数两者之间的最大值,为当前传输机的限制网速。
10.根据权利要求1-9任一项所述的方法,其中,根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限,包括:
根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,其中,第一并发度阈值表征在限制网速下当前传输机的可用并发度;
根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,其中,当前传输机的并发度总门限小于等于所述初始并发度总门限。
11.根据权利要求10所述的方法,其中,根据当前传输机的当前实际网速和限制网速,确定当前传输机的第一并发度阈值,包括:
根据当前传输机的限制网速、当前传输机的当前实际网速,确定当前传输机的网速限制比例,其中,所述网速限制比例为限制网速与当前实际网速之间比值;
根据当前传输机的网速限制比例、当前传输机的实际并发度总和,确定当前传输机的第一并发度阈值,其中,所述实际并发度总和为当前传输机中的处于传输状态的每一任务的实际并发度之和。
12.根据权利要求10所述的方法,其中,根据当前传输机的第一并发度阈值和预设的初始并发度总门限,确定当前传输机的并发度总门限,包括:
确定所述第一并发度阈值、所述初始并发度总门限两者之间的最小值,为第二并发度阈值;
确定第八预设值、所述第二并发度阈值两者之间的最大值,为当前传输机的并发度总门限,其中,第八预设值为大于等于零的正数。
13.一种基于多传输机的并发度分配装置,所述装置应用于传输机,所述装置包括:
第一获取单元,用于获取当前传输机所属机房中的每一传输机的属性信息,其中,所述属性信息包括状态标识、传输机的当前实际网速;状态标识用于表征传输机处于空闲态、或者高优态、或者普通态,处于空闲态的传输机未在传输任务,处于高优态的传输机在传输优先级高于预设优先级阈值的任务,处于普通态的传输机在传输优先级低于预设优先级阈值的任务;
第一确定单元,用于根据所述每一传输机的状态标识,确定当前传输机的限制网速;
第二确定单元,用于根据当前传输机的当前实际网速和限制网速,确定当前传输机的并发度总门限。
14.一种电子设备,所述电子设备应用于传输机,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-12中任一项所述的方法。
CN202010546957.1A 2020-06-16 2020-06-16 基于多传输机的并发度分配方法、装置、设备和存储介质 Active CN111708624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010546957.1A CN111708624B (zh) 2020-06-16 2020-06-16 基于多传输机的并发度分配方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010546957.1A CN111708624B (zh) 2020-06-16 2020-06-16 基于多传输机的并发度分配方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111708624A true CN111708624A (zh) 2020-09-25
CN111708624B CN111708624B (zh) 2023-09-29

Family

ID=72540705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010546957.1A Active CN111708624B (zh) 2020-06-16 2020-06-16 基于多传输机的并发度分配方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111708624B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050188373A1 (en) * 2004-02-20 2005-08-25 Sony Computer Entertainment Inc. Methods and apparatus for task management in a multi-processor system
CN102137160A (zh) * 2011-03-14 2011-07-27 上海聚力传媒技术有限公司 一种用于调整p2p下载任务的下载速率的方法与设备
CN102368700A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种分布式系统中消息的传递方法
CN103188737A (zh) * 2011-12-29 2013-07-03 华为技术有限公司 一种空口数据同步处理的方法和装置
CN104486253A (zh) * 2014-12-11 2015-04-01 北京百度网讯科技有限公司 网络带宽调度方法及系统
US20150092668A1 (en) * 2013-09-27 2015-04-02 Maynard C. Falconer Systems and methods for distributed communications and processing
CN107623580A (zh) * 2016-07-15 2018-01-23 阿里巴巴集团控股有限公司 内容分发网络中的任务处理方法、装置和系统
CN108667748A (zh) * 2017-03-29 2018-10-16 华为技术有限公司 一种控制带宽的方法、装置和设备
CN111092921A (zh) * 2018-10-24 2020-05-01 北大方正集团有限公司 数据采集方法、装置及存储介质
CN111107657A (zh) * 2017-03-24 2020-05-05 Oppo广东移动通信有限公司 传输信息的方法、终端设备和网络设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050188373A1 (en) * 2004-02-20 2005-08-25 Sony Computer Entertainment Inc. Methods and apparatus for task management in a multi-processor system
CN102137160A (zh) * 2011-03-14 2011-07-27 上海聚力传媒技术有限公司 一种用于调整p2p下载任务的下载速率的方法与设备
CN102368700A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种分布式系统中消息的传递方法
CN103188737A (zh) * 2011-12-29 2013-07-03 华为技术有限公司 一种空口数据同步处理的方法和装置
US20150092668A1 (en) * 2013-09-27 2015-04-02 Maynard C. Falconer Systems and methods for distributed communications and processing
CN104486253A (zh) * 2014-12-11 2015-04-01 北京百度网讯科技有限公司 网络带宽调度方法及系统
CN107623580A (zh) * 2016-07-15 2018-01-23 阿里巴巴集团控股有限公司 内容分发网络中的任务处理方法、装置和系统
CN111107657A (zh) * 2017-03-24 2020-05-05 Oppo广东移动通信有限公司 传输信息的方法、终端设备和网络设备
CN108667748A (zh) * 2017-03-29 2018-10-16 华为技术有限公司 一种控制带宽的方法、装置和设备
CN111092921A (zh) * 2018-10-24 2020-05-01 北大方正集团有限公司 数据采集方法、装置及存储介质

Also Published As

Publication number Publication date
CN111708624B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
CN107066332B (zh) 分布式系统及其调度方法和调度装置
US10185592B2 (en) Network storage device using dynamic weights based on resource utilization
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
US11119563B2 (en) Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
US9037703B1 (en) System and methods for managing system resources on distributed servers
US11455187B2 (en) Computing system for hierarchical task scheduling
US8090903B2 (en) Fair and dynamic disk input/output bandwidth distribution
CN113238848A (zh) 一种任务调度方法、装置、计算机设备和存储介质
CN113672391B (zh) 一种基于Kubernetes的并行计算任务调度方法与系统
CN112486642B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN107423134B (zh) 一种大规模计算集群的动态资源调度方法
CN114968601A (zh) 一种按比例预留资源的ai训练作业的调度方法和调度系统
CN113760549B (zh) 一种pod部署方法及装置
US8640131B2 (en) Demand-based processor cycle allocation subsequent to equal group-based processor cycle distribution
CN111240824A (zh) 一种cpu资源调度方法及电子设备
US20130014119A1 (en) Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence
Yang et al. Elastic executor provisioning for iterative workloads on apache spark
CN111711688B (zh) 基于传输机的数据传输方法、装置、设备和存储介质
CN109189581B (zh) 一种作业调度方法和装置
CN111708624B (zh) 基于多传输机的并发度分配方法、装置、设备和存储介质
CN115629854A (zh) 分布式任务调度方法、系统、电子设备和存储介质
CN111711582B (zh) 基于机房系统的传输机处理方法、系统和存储介质
KR20150089665A (ko) 워크플로우 작업 스케줄링 장치
CN114706663A (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
GR01 Patent grant
GR01 Patent grant