CN111506400A - 计算资源分配系统、方法、装置和计算机设备 - Google Patents
计算资源分配系统、方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111506400A CN111506400A CN202010177684.8A CN202010177684A CN111506400A CN 111506400 A CN111506400 A CN 111506400A CN 202010177684 A CN202010177684 A CN 202010177684A CN 111506400 A CN111506400 A CN 111506400A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- distribution
- computer
- allocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
本申请揭示了一种计算资源分配系统、方法、装置、计算机设备和存储介质,该系统包括多个资源分配节点、任务获取节点和多个任务执行节点,所述多个资源分配节点包括第一分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接;第i分配节点被配置为,当所述第i‑1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,所述第i通道包括所述第一通道、...、第i‑1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收分配结果,将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
Description
技术领域
本申请涉及到计算机领域,特别是涉及到一种计算资源分配系统、方法、装置、计算机设备和存储介质。
背景技术
计算机资源分配是计算机领域中的重要内容。传统的计算机资源分配方法,是在一个主节点获取用户提交的计算机任务(例如一个主程序),该主节点将该计算机任务划分为多个子任务(子线程),并交给具有其他节点分别进行执行,从而实现分布式的线程划分。但是传统的计算机资源分配方法,由于其进行任务划分是基于主节点来完成的,那么当主节点压力过大时,例如当多个用户同时提交多个计算机任务时,主节点将无法顺畅完成任务划分,从而造成延迟等异常状况的出现,造成整个计算机系统的运转不畅。
发明内容
本申请的主要目的为提供一种计算资源分配系统、方法、装置、计算机设备和存储介质,旨在保证整体系统运转的流畅性。
为了实现上述发明目的,本申请提出一种计算资源分配系统,包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;
所述第一分配节点被配置为,当所述第一分配节点处于正常状态时,所述第一分配节点通过预设的第一通道与所述任务获取节点信号连接;
所述第二分配节点被配置为,当所述第一分配节点不处于正常状态时,所述第二分配节点通过预设的第二通道与所述任务获取节点信号连接,其中所述第二通道包括所述第一通道;
所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;
所述第n分配节点被配置为,当所述第n-1分配节点不处于正常状态时,所述第n分配节点通过预设的第n通道与所述任务获取节点信号连接,其中所述第n通道包括所述第一通道、第二通道、...、第n-1通道;
所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。
进一步地,所述第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点的内存依次增大。
本申请提供一种计算资源分配方法,应用于如上所述任一项的任务获取节点,包括:
获取用户输入的计算机任务;
通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
将所述多个子任务分别发送给所述多个任务执行节点。
进一步地,所述通过所述第一通道,将所述计算机任务发送给所述第一分配节点的步骤,包括:
向所述多个任务执行节点分别发送可用内存获取请求;
获取所述多个任务执行节点分别返回的多个可用内存数据;
判断所述多个可用内存数据中是否存在数值小于预设的内存阈值的异常内存数据;
若所述多个可用内存数据中存在数值小于预设的内存阈值的异常内存数据,则去除所述异常内存数据以得到多个正常可用内存数据,并将所述异常内存数据对应的任务执行节点从所述多个任务执行节点中排除;
通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点。
进一步地,所述判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果的步骤之后,包括:
若在第一预设时间内未接收有所述第一分配节点发送的第一分配结果,则通过所述第二通道,将所述计算机任务发送给所述第二分配节点;
判断在第二预设时间内是否接收有所述第二分配节点发送的第二分配结果,其中所述第二分配结果是所述第二分配节点对所述计算机任务进行分配的结果;
若在第二预设时间内接收有所述第二分配节点发送的第二分配结果,则判断所述第二分配结果是否正常;
若所述第二分配结果正常,则根据所述第二分配结果对所述计算机任务进行拆分处理,从而得到多个子任务,并将多个子任务分别发送给多个任务执行节点。
进一步地,所述第一分配结果包括所述多个任务执行节点分别对应的数据分配量,所述根据预设的分配结果判断方法,判断所述第一分配结果是否正常的步骤,包括:
根据数据分配量的大小,对所述第一分配结果中的多个任务执行节点进行降序排列,从而得到第一序列;
向所述多个任务执行节点分别发送可用内存获取请求,并获取所述多个任务执行节点分别返回的多个可用内存数据;
根据所述多个可用内存数据的大小,对所述多个任务执行节点进行降序排列,从而得到第二序列;
计算所述第一序列与所述第二序列的莱文斯坦距离,并判断所述莱文斯坦距离是否大于预设的距离阈值;
若所述莱文斯坦距离不大于预设的距离阈值,则判定所述第一分配结果正常。
本申请提供一种计算资源分配装置,其特征在于,应用于如上述任一项所述的任务获取节点,包括:
计算机任务获取单元,用于获取用户输入的计算机任务;
计算机任务发送单元,用于通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
接收判断单元,用于判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
第一分配结果判断单元,用于若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
拆分处理单元,用于若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
子任务发送单元,用于将所述多个子任务分别发送给所述多个任务执行节点。
本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的计算资源分配系统、方法、装置、计算机设备和存储介质,其中系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
附图说明
图1为本申请一实施例的计算资源分配系统的结构示意框图;
图2为本申请一实施例的计算资源分配方法的流程示意图;
图3为本申请一实施例的计算资源分配装置的结构示意框图;
图4为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种计算资源分配系统,包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;
所述第一分配节点被配置为,当所述第一分配节点处于正常状态时,所述第一分配节点通过预设的第一通道与所述任务获取节点信号连接;
所述第二分配节点被配置为,当所述第一分配节点不处于正常状态时,所述第二分配节点通过预设的第二通道与所述任务获取节点信号连接,其中所述第二通道包括所述第一通道;
所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;
所述第n分配节点被配置为,当所述第n-1分配节点不处于正常状态时,所述第n分配节点通过预设的第n通道与所述任务获取节点信号连接,其中所述第n通道包括所述第一通道、第二通道、...、第n-1通道;
所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。
本申请的计算机资源分配系统采用特殊的设置(参见附图1),即资源分配节点彼此间采用阶梯式分级别设置,当需要分配的计算机任务过重而导致底层级的分配节点不处于正常状态时,及时将资源分配的工作转换至高层级的分配节点,以保证系统的正常运转。并且采用的信号通道仍包括原有的信号通道,节省了重设置的时间。其中所述信号通道可为具有实体的信号通道(例如实体的信号线等),也可为不具有实体的信号通道(例如无线信号通道)。
当信号通道为具有实体的信号通道时,第一通道、第二通道直到第n通道之间的互相包括关系,可通过信号开关的方式进行设置,例如在第一通道与第二通道中除第一通道的部分的交叉处设置信号开关,该信号开关能够控制信号的走向(即当第一分配节点处于正常状态下时,使第一分配节点与任务获取节点连接;当第一分配节点处于不正常状态下时,使例如第二分配节点的非第一分配节点与任务获取节点连接)。其中,所述第二通道包括所述第一通道的理解为,所述第二通道包括所述第一通道的全部,或者,所述第二通道包括所述第一通道的至少部分通道。
当信号通道为不具有实体的信号通道时,所述第一通道例如为任务获取节点与所述第一分配节点之间的第一路由结构(路径),所述第一路由结构可以为动态路由也可为静态路由。当需要修改为第二通道时,在第一路由结构的基础上,构建第二路由结构,以使任务获取节点与所述第二分配节点信号连接。其中,所述第二通道包括所述第一通道的理解为,所述第二通道包括所述第一通道的全部,或者,所述第二通道包括所述第一通道的至少部分通道。
本申请中的节点可为任意可行节点,例如为独立的计算机终端等。本申请中执行主体为任务获取节点,而该任务获取节点是作为整个系统的中枢,与多个任务执行节点信号连接,与多个资源分配节点信号连接,并且还用于获取用户输入的计算机任务。但是,该任务获取节点将需要对计算机任务进行分配的工作划分了出去,由多个资源分配节点,因此任务获取节点的实际负荷并不大,相对于传统方案中将所有工作都集中在一个节点中完成,本申请的计算资源分配系统更为稳定。进一步地,本申请中的多个任务执行节点在接收到被分配的子任务后,还能够进行多个任务执行节点之间的数据协调。其中所述数据协调的实现方式例如为:监控任务执行节点的可用内存数据,当可用内存数据小于预定数值时,将接收到的至少部分子任务发送给其他任务执行节点。
进一步地,本申请的计算资源分配系统中的所述第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点的内存依次增大。本申请采用特殊的资源分配节点彼此间采用阶梯式分级别设置,即是为了减轻分配节点处于异常状态时对整个系统的影响。更进一步地,采用了多个分配节点的内存依次增大,从而使多个分配节点的算力依次提高,这样,在前一级别的分配节点异常时,后一级别的分配节点更有可能承受前一级别的分配节点无法完成的分配任务。更进一步地,所述第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点分别对应的CPU主频依次增大。
本申请的计算资源分配系统,该系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
参照图2,本申请实施例提供一种计算资源分配方法,应用于如上述任一项(即前述实施例中任一项)所述的任务获取节点,包括:
S1、获取用户输入的计算机任务;
S2、通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
S3、判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
S4、若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
S5、若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
S6、将所述多个子任务分别发送给所述多个任务执行节点。
本申请可采用任意可行方式获取用户输入的计算机任务,例如为通过预设的输入设备进行输入,例如利用U盘接口等物理接口等方式进行输入,也可以通过远程信号传输的方式输入计算机任务。其中所述计算机任务例如为一个完整的程序。所述第一通道可为具有实体的信号通道,也可能为不具有实体的信号通道。在初始阶段,即未确认所有分配节点的状态的阶段,先通过所述第一通道,将所述计算机任务发送给所述第一分配节点。在正常情况下,第一分配节点将在第一预设时间内完成对计算机任务的分配,并发送给任务获取节点。在不正常情况下,例如第一分配节点由于负荷过重导致死机,那么第一分配节点在第一预设时间内无法完成计算机任务的分配与发送。由此可进行初次判断第一分配节点是否正常。
若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,表明初步判定第一分配节点正常。本申请更进一步地,对所述第一分配节点发送的第一分配结果进行二次判断,以判断所述第一分配结果是否正常。其中判断的方式可为任意可行方式,例如判断所述第一分配结果是否符合正态分布,若所述第一分配结果符合正态分布,则判定第一分配结果正常。
由于第一分配节点正常,因此其生成的第一分配结果可用,并且第一通道无需进行修改。据此,根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务,将所述多个子任务分别发送给所述多个任务执行节点,即可完成计算资源的分配。
本申请可应用于任意可行场景,例如为:用户向本申请的计算资源分配系统提交应用程序或任务,计算资源分配系统中的任务获取节点接收该应用程序或任务,任务获取节点将该应用程序或任务通过第一通道发送给第一分配节点;第一分配节点利用预设的任务划分器进行划分,再将划分的结果发给任务获取节点;任务获取节点根据划分的结果对该应用程序或任务进行具体划分,以得到多个子任务;任务获取节点将任务获取节点发给多个任务执行节点;任务执行节点构建与子任务对应的线程,并在线程池中执行。其中,子任务的发送可通过序列化的方式进行。序列化是将数据转换为可以存储或传输的形式的过程。在序列化期间,数据写入到临时或持久性存储区。以后,可以通过从存储区中进行反序列化,重新创建该数据。对应地,任务执行节点可通过反序列化获取具体的子任务。进一步地,在任务执行节点执行子任务的过程中,还将执行子任务的状态和进度发送给所述任务获取节点,以使任务获取节点能够及时掌握任务执行节点的运行状态。进一步地,当计算机任务执行完成后,该计算机任务的注销与关闭的指令,能够由所述任务执行节点生成,或者由所述任务获取节点生成,从而完成整个计算机任务的分配与最终的执行。
在一个实施方式中,所述通过所述第一通道,将所述计算机任务发送给所述第一分配节点的步骤S2,包括:
S201、向所述多个任务执行节点分别发送可用内存获取请求;
S202、获取所述多个任务执行节点分别返回的多个可用内存数据;
S203、判断所述多个可用内存数据中是否存在数值小于预设的内存阈值的异常内存数据;
S204、若所述多个可用内存数据中存在数值小于预设的内存阈值的异常内存数据,则去除所述异常内存数据以得到多个正常可用内存数据,并将所述异常内存数据对应的任务执行节点从所述多个任务执行节点中排除;
S205、通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点。
如上所述,实现了通过所述第一通道,将所述计算机任务发送给所述第一分配节点。本申请进一步地采用异常内存数据和异常任务执行节点排除,并依据可用内存数据作为计算资源分配的依据,以提高分配的准确性。由于本申请使用的是可用内存数据,因此能够实现动态的计算资源分配,相比于传统的静态计算资源分配,更灵活且效率更高。其中,由于任务执行节点也存在满负荷运行的状态,此时可用内存极小,即小于预设的内存阈值的异常内存数据,因此不应将其列为实际的任务执行节点,故将其排除。再通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点,以使第一分配节点具有计算资源分配的准确依据。
在一个实施方式中,所述判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果的步骤S3之后,包括:
S31、若在第一预设时间内未接收有所述第一分配节点发送的第一分配结果,则通过所述第二通道,将所述计算机任务发送给所述第二分配节点;
S32、判断在第二预设时间内是否接收有所述第二分配节点发送的第二分配结果,其中所述第二分配结果是所述第二分配节点对所述计算机任务进行分配的结果;
S33、若在第二预设时间内接收有所述第二分配节点发送的第二分配结果,则判断所述第二分配结果是否正常;
S34、若所述第二分配结果正常,则根据所述第二分配结果对所述计算机任务进行拆分处理,从而得到多个子任务,并将多个子任务分别发送给多个任务执行节点。
如上所述,实现了将多个子任务分别发送给多个任务执行节点。若在第一预设时间内未接收有所述第一分配节点发送的第一分配结果,表明第一分配节点异常,无法胜任计算资源分配的工作。据此,利用本申请的特殊的设置,即资源分配节点彼此间采用阶梯式分级别设置,在第一分配节点异常的情况下,将第一通道修改为第二通道,并通过所述第二通道,将所述计算机任务发送给所述第二分配节点,以使计算机资源分配能够继续执行。其中,所述第二分配结果是在第二分配节点中完成的,但是对于计算机任务的拆分,是在任务获取节点中完成了,从而避免了额外的信号传输的浪费,进一步提高了整体的计算资源分配与执行的效率。
在一个实施方式中,所述第一分配结果包括所述多个任务执行节点分别对应的数据分配量,所述根据预设的分配结果判断方法,判断所述第一分配结果是否正常的步骤S4,包括:
S401、根据数据分配量的大小,对所述第一分配结果中的多个任务执行节点进行降序排列,从而得到第一序列;
S402、向所述多个任务执行节点分别发送可用内存获取请求,并获取所述多个任务执行节点分别返回的多个可用内存数据;
S403、根据所述多个可用内存数据的大小,对所述多个任务执行节点进行降序排列,从而得到第二序列;
S404、计算所述第一序列与所述第二序列的莱文斯坦距离,并判断所述莱文斯坦距离是否大于预设的距离阈值;
S405、若所述莱文斯坦距离不大于预设的距离阈值,则判定所述第一分配结果正常。
如上所述,实现了根据预设的分配结果判断方法,判断所述第一分配结果是否正常。第一分配结果是第一分配节点对计算机任务的应如何分配的分析结果,本申请对其进行是否正常进行判断,以提高整体的流畅性。其中,为了避免在判断所述第一分配结果是否正常的过程中耗费过多的算力,本申请采用根据数据分配量的大小,对所述第一分配结果中的多个任务执行节点进行降序排列,从而得到第一序列;根据所述多个可用内存数据的大小,对所述多个任务执行节点进行降序排列,从而得到第二序列;再计算所述第一序列与所述第二序列的莱文斯坦距离,并以莱文斯坦距离作为是否正常的判断依据。其中,莱文斯坦距离是一种衡量两个序列之间差异度的一种距离,是指由一个序列转成另一个序列所需的最少编辑操作次数。所述编辑操作包括将替换、插入和删除。莱文斯坦距离的最小值为0,当莱文斯坦距离为0时,表明两个序列完全相同,也即第一分配结果中的多个任务执行节点的划分与多个任务执行节点的可用内存数据是完全对应的,从而判断第一分配结果正常;当莱文斯坦距离过大时(即所述莱文斯坦距离大于预设的距离阈值),表明两个序列不相同,从而判断第一分配结果不正常。其中所述预设的距离阈值例如为2-10,优选为3-5。
本申请的计算资源分配方法,应用于前述任一项所述的计算资源分配系统中的任务获取节点,从而通过所述计算资源分配系统中的特别设置,即其中系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
参照图3,本申请实施例提供一种计算资源分配装置,应用于如上述任一项所述的任务获取节点,包括:
计算机任务获取单元10,用于获取用户输入的计算机任务;
计算机任务发送单元20,用于通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
接收判断单元30,用于判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
第一分配结果判断单元40,用于若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
拆分处理单元50,用于若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
子任务发送单元60,用于将所述多个子任务分别发送给所述多个任务执行节点。
其中上述单元分别用于执行的操作与前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述计算机任务发送单元20,包括:
内存获取请求发送子单元,用于向所述多个任务执行节点分别发送可用内存获取请求;
内存数据获取子单元,用于获取所述多个任务执行节点分别返回的多个可用内存数据;
异常内存数据判断子单元,用于判断所述多个可用内存数据中是否存在数值小于预设的内存阈值的异常内存数据;
正常可用内存数据获取子单元,用于若所述多个可用内存数据中存在数值小于预设的内存阈值的异常内存数据,则去除所述异常内存数据以得到多个正常可用内存数据,并将所述异常内存数据对应的任务执行节点从所述多个任务执行节点中排除;
计算机任务发送子单元,用于通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点。
其中上述子单元分别用于执行的操作与前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述装置,包括:
计算机任务再次发送单元,用于若在第一预设时间内未接收有所述第一分配节点发送的第一分配结果,则通过所述第二通道,将所述计算机任务发送给所述第二分配节点;
第二分配结果接收判断单元,用于判断在第二预设时间内是否接收有所述第二分配节点发送的第二分配结果,其中所述第二分配结果是所述第二分配节点对所述计算机任务进行分配的结果;
第二分配结果判断单元,用于若在第二预设时间内接收有所述第二分配节点发送的第二分配结果,则判断所述第二分配结果是否正常;
多个子任务获取单元,用于若所述第二分配结果正常,则根据所述第二分配结果对所述计算机任务进行拆分处理,从而得到多个子任务,并将多个子任务分别发送给多个任务执行节点。
其中上述单元分别用于执行的操作与前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
在一个实施方式中,所述第一分配结果包括所述多个任务执行节点分别对应的数据分配量,所述第一分配结果判断单元40,包括:
第一序列获取子单元,用于根据数据分配量的大小,对所述第一分配结果中的多个任务执行节点进行降序排列,从而得到第一序列;
可用内存数据获取子单元,用于向所述多个任务执行节点分别发送可用内存获取请求,并获取所述多个任务执行节点分别返回的多个可用内存数据;
第二序列获取子单元,用于根据所述多个可用内存数据的大小,对所述多个任务执行节点进行降序排列,从而得到第二序列;
莱文斯坦距离计算子单元,用于计算所述第一序列与所述第二序列的莱文斯坦距离,并判断所述莱文斯坦距离是否大于预设的距离阈值;
第一分配结果正常判定子单元,用于若所述莱文斯坦距离不大于预设的距离阈值,则判定所述第一分配结果正常。
其中上述子单元分别用于执行的操作与前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
本申请的计算资源分配装置,应用于前述任一项所述的计算资源分配系统中的任务获取节点,从而通过所述计算资源分配系统中的特别设置,即其中系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
参照图4,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算资源分配方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种计算资源分配方法。
上述处理器执行上述计算资源分配方法,其中所述方法包括的步骤分别与执行前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
本申请的计算机设备实现一种计算资源分配方法,并且该方法应用于前述任一项所述的计算资源分配系统中的任务获取节点,从而通过所述计算资源分配系统中的特别设置,即其中系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现计算资源分配方法,其中所述方法包括的步骤分别与执行前述实施方式的计算资源分配方法的步骤一一对应,在此不再赘述。
本申请的计算机可读存储介质实现一种计算资源分配方法,并且该方法应用于前述任一项所述的计算资源分配系统中的任务获取节点,从而通过所述计算资源分配系统中的特别设置,即其中系统包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。从而保证整体系统运转的流畅性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种计算资源分配系统,其特征在于,包括多个资源分配节点、任务获取节点和多个任务执行节点,其中所述多个资源分配节点包括第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点;所述多个任务执行节点分别与所述任务获取节点信号连接,n为大于1的整数,i为大于1且小于等于n的整数;
所述第一分配节点被配置为,当所述第一分配节点处于正常状态时,所述第一分配节点通过预设的第一通道与所述任务获取节点信号连接;
所述第二分配节点被配置为,当所述第一分配节点不处于正常状态时,所述第二分配节点通过预设的第二通道与所述任务获取节点信号连接,其中所述第二通道包括所述第一通道;
所述第i分配节点被配置为,当所述第i-1分配节点不处于正常状态时,所述第i分配节点通过预设的第i通道与所述任务获取节点信号连接,其中所述第i通道包括所述第一通道、第二通道、...、第i-1通道;
所述第n分配节点被配置为,当所述第n-1分配节点不处于正常状态时,所述第n分配节点通过预设的第n通道与所述任务获取节点信号连接,其中所述第n通道包括所述第一通道、第二通道、...、第n-1通道;
所述任务获取节点被配置为,获取用户输入的计算机任务,将所述计算机任务发送给所述多个资源分配节点,接收所述多个资源分配节点对所述计算机任务的分配结果,根据所述分配结果将所述计算机任务分配至所述多个任务执行节点。
2.根据权利要求1所述的计算资源分配系统,其特征在于,所述第一分配节点、第二分配节点、...、第i分配节点、...、第n分配节点的内存依次增大。
3.一种计算资源分配方法,其特征在于,应用于如权利要求1或2所述的任务获取节点,包括:
获取用户输入的计算机任务;
通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
将所述多个子任务分别发送给所述多个任务执行节点。
4.根据权利要求3所述的计算资源分配方法,其特征在于,所述通过所述第一通道,将所述计算机任务发送给所述第一分配节点的步骤,包括:
向所述多个任务执行节点分别发送可用内存获取请求;
获取所述多个任务执行节点分别返回的多个可用内存数据;
判断所述多个可用内存数据中是否存在数值小于预设的内存阈值的异常内存数据;
若所述多个可用内存数据中存在数值小于预设的内存阈值的异常内存数据,则去除所述异常内存数据以得到多个正常可用内存数据,并将所述异常内存数据对应的任务执行节点从所述多个任务执行节点中排除;
通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点。
5.根据权利要求3所述的计算资源分配方法,其特征在于,所述判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果的步骤之后,包括:
若在第一预设时间内未接收有所述第一分配节点发送的第一分配结果,则通过所述第二通道,将所述计算机任务发送给所述第二分配节点;
判断在第二预设时间内是否接收有所述第二分配节点发送的第二分配结果,其中所述第二分配结果是所述第二分配节点对所述计算机任务进行分配的结果;
若在第二预设时间内接收有所述第二分配节点发送的第二分配结果,则判断所述第二分配结果是否正常;
若所述第二分配结果正常,则根据所述第二分配结果对所述计算机任务进行拆分处理,从而得到多个子任务,并将多个子任务分别发送给多个任务执行节点。
6.根据权利要求3所述的计算资源分配方法,其特征在于,所述第一分配结果包括所述多个任务执行节点分别对应的数据分配量,所述根据预设的分配结果判断方法,判断所述第一分配结果是否正常的步骤,包括:
根据数据分配量的大小,对所述第一分配结果中的多个任务执行节点进行降序排列,从而得到第一序列;
向所述多个任务执行节点分别发送可用内存获取请求,并获取所述多个任务执行节点分别返回的多个可用内存数据;
根据所述多个可用内存数据的大小,对所述多个任务执行节点进行降序排列,从而得到第二序列;
计算所述第一序列与所述第二序列的莱文斯坦距离,并判断所述莱文斯坦距离是否大于预设的距离阈值;
若所述莱文斯坦距离不大于预设的距离阈值,则判定所述第一分配结果正常。
7.一种计算资源分配装置,其特征在于,应用于如权利要求1或2所述的任务获取节点,包括:
计算机任务获取单元,用于获取用户输入的计算机任务;
计算机任务发送单元,用于通过所述第一通道,将所述计算机任务发送给所述第一分配节点;
接收判断单元,用于判断在第一预设时间内是否接收有所述第一分配节点发送的第一分配结果,其中所述第一分配结果是所述第一分配节点对所述计算机任务进行分配的结果;
第一分配结果判断单元,用于若在第一预设时间内接收有所述第一分配节点发送的第一分配结果,则根据预设的分配结果判断方法,判断所述第一分配结果是否正常;
拆分处理单元,用于若所述第一分配结果正常,则根据所述第一分配结果对所述计算机任务进行拆分处理,从而得到多个子任务;
子任务发送单元,用于将所述多个子任务分别发送给所述多个任务执行节点。
8.根据权利要求7所述的计算资源分配装置,其特征在于,所述计算机任务发送单元,包括:
内存获取请求发送子单元,用于向所述多个任务执行节点分别发送可用内存获取请求;
内存数据获取子单元,用于获取所述多个任务执行节点分别返回的多个可用内存数据;
异常内存数据判断子单元,用于判断所述多个可用内存数据中是否存在数值小于预设的内存阈值的异常内存数据;
正常可用内存数据获取子单元,用于若所述多个可用内存数据中存在数值小于预设的内存阈值的异常内存数据,则去除所述异常内存数据以得到多个正常可用内存数据,并将所述异常内存数据对应的任务执行节点从所述多个任务执行节点中排除;
计算机任务发送子单元,用于通过所述第一通道,将所述计算机任务和所述多个正常可用内存数据发送给所述第一分配节点。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求3至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求3至6中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177684.8A CN111506400A (zh) | 2020-03-13 | 2020-03-13 | 计算资源分配系统、方法、装置和计算机设备 |
PCT/CN2020/106078 WO2021179522A1 (zh) | 2020-03-13 | 2020-07-31 | 计算资源分配系统、方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010177684.8A CN111506400A (zh) | 2020-03-13 | 2020-03-13 | 计算资源分配系统、方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506400A true CN111506400A (zh) | 2020-08-07 |
Family
ID=71875763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010177684.8A Pending CN111506400A (zh) | 2020-03-13 | 2020-03-13 | 计算资源分配系统、方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111506400A (zh) |
WO (1) | WO2021179522A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254199A (zh) * | 2021-05-07 | 2021-08-13 | 埃森智能科技(深圳)有限公司 | 一种多任务同时处理方法、系统及其设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115328663B (zh) * | 2022-10-10 | 2023-01-03 | 亚信科技(中国)有限公司 | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678799B2 (en) * | 2015-02-12 | 2017-06-13 | International Business Machines Corporation | Dynamic correlated operation management for a distributed computing system |
CN104731663B (zh) * | 2015-03-31 | 2018-04-13 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN107707592A (zh) * | 2017-01-24 | 2018-02-16 | 贵州白山云科技有限公司 | 任务处理方法、节点及内容分发网络 |
CN106909451A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种分布式任务调度系统及方法 |
CN108304255A (zh) * | 2017-12-29 | 2018-07-20 | 北京城市网邻信息技术有限公司 | 分布式任务调度方法及装置、电子设备及可读存储介质 |
CN110673938B (zh) * | 2019-09-23 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 任务处理方法、系统、服务器及存储介质 |
-
2020
- 2020-03-13 CN CN202010177684.8A patent/CN111506400A/zh active Pending
- 2020-07-31 WO PCT/CN2020/106078 patent/WO2021179522A1/zh active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254199A (zh) * | 2021-05-07 | 2021-08-13 | 埃森智能科技(深圳)有限公司 | 一种多任务同时处理方法、系统及其设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021179522A1 (zh) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635664B2 (en) | Map-reduce job virtualization | |
CN105912399B (zh) | 一种任务处理方法、装置及系统 | |
US8671134B2 (en) | Method and system for data distribution in high performance computing cluster | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
US20070022426A1 (en) | Dynamic application placement with allocation restrictions, vertical stacking and even load distribution | |
US20150242234A1 (en) | Realtime Optimization Of Compute Infrastructure In A Virtualized Environment | |
CN109408590B (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN103593242A (zh) | 基于Yarn框架的资源共享控制系统 | |
US9092272B2 (en) | Preparing parallel tasks to use a synchronization register | |
CN111666131A (zh) | 负载均衡分配方法、装置、计算机设备和存储介质 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
CN111506400A (zh) | 计算资源分配系统、方法、装置和计算机设备 | |
CN113010286A (zh) | 并行任务调度方法、装置、计算机设备和存储介质 | |
US7454749B2 (en) | Scalable parallel processing on shared memory computers | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN117033170A (zh) | 测试任务分配方法、装置、设备、存储介质和程序产品 | |
CN110908803B (zh) | 一种基于余弦相似度算法的作业分配方法 | |
CN114237862A (zh) | 资源分配控制装置、计算机系统和资源分配控制方法 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN111045819A (zh) | 分布式系统的资源请求方法、装置、设备和存储介质 | |
CN113849270B (zh) | 编译虚拟机的资源分配方法、装置、存储介质及设备 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
KR101694307B1 (ko) | 디스크 캐쉬 효과를 극대화하는 워크플로우 작업 스케줄링 장치 및 방법 |
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 |