资源分配的处理方法、装置及电子设备与流程

文档序号:12963353阅读:235来源:国知局
资源分配的处理方法、装置及电子设备与流程

本申请属于计算机数据处理技术领域,尤其涉及一种资源分配的处理方法、装置及电子设备。



背景技术:

随着单机性能的不断提高,单机虚拟化成为一个趋势。所述的单机虚拟化通常是指一台宿主机虚拟多台虚拟机,虚拟机的计算、存储、网络都在这台宿主机内,是一种非常灵活的虚拟化方式,它不对原有的硬件环境做任何改变。而目前单机虚拟化的一个很大的问题就是如何有效的进行资源隔离,使得不同的任务之间互相无感知。

传统的资源隔离方式,往往是采用把资源平均分成多份,每个任务占一份资源。但是,由于每个任务只能使用分配它的那部分资源,这种方案在负载不高的情况下,极易造成资源浪费。举例而言,假如现有一个cpu(centralprocessingunit,中央处理器)资源,传统的资源隔离处理时将其平均分为4份,每个任务最多占用一份。那么单任务运行时最多就可以占用25%的cpu,此时75%的cpu都在空闲状态,显然要比该单任务使用更多的cpu资源(例如30%或50%)来处理该单任务效率要低。这种简单的资源分割方案大大限制了宿主机整体资源的利用率。目前业内还有另一种处理方式,即为了提高资源利用率,不做资源隔离,使任务资源相互竞争。但是这样又会造成多个不同任务间的竞争,使得任务的阻塞率急剧升高。

因此,单机虚拟化中如何更加合理的实现资源隔离的情况下有效的提升资源的利用率,目前现有技术中还没有很好的解决方案。



技术实现要素:

本申请目的在于提供一种资源分配的处理方法、装置及电子设备,既可以保证最小资源可用,又可以在资源空闲时获得最大的资源可用率,提高虚拟化单机的资源使用效率和整体系统性能。

本申请提供的一种资源分配的处理方法、装置及电子设备是这样实现的:

一种资源分配的处理方法,所述方法包括:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

一种资源分配的处理装置,所述装置包括:

资源划分模块,用于接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

资源分配模块,用于从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

资源回收模块,用于当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

一种资源分配的处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现以下步骤:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

本申请提供的一种资源分配的处理方法、装置及电子设备,将宿主机资源分成了固定资源空间和灵活资源空间。固定资源空间按需分配给任务资源作为独占资源使用,并在使用完后收回。而灵活资源空间的资源则可以由任务竞争使用,既可以保证最小资源可用(即在某个限度内任务是完全独占的,和其他任务无竞争的),又可以在资源空闲(其他任务没有使用)时获得最大的资源可用率。在本申请提供的实施方案中,由于固定资源空间内的资源为任务独占,所以即使任务全满的情况,每个任务也都不会发生竞争,实现了资源隔离。而在任务没有全满的情况下又有灵活资源空间可以自由竞争,充分发挥了资源使用效率,大大提高虚拟化单机的资源利用率和系统性能。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请所述一种资源分配的处理方法实施例的流程示意图;

图2是本申请所述方法一个实施例中初始资源类型划分的示意图;

图3是本申请所述方法中一个根据任务数量自动资源类型划分的示意图;

图4是本申请所述方法中一个作业任务线程资源申请的处理路程示意图;

图5是本申请中一个任务结束后资源类型重新划分的示意图;

图6是本申请提供的一种资源分配的处理装置实施例的模块结构示意图;

图7是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图;

图8是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图;

图9是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图。

图10是本申请提供的一种电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1是本申请所述一种资源分配的处理方法实施例的流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。

本申请提供的实施方案将资源分成了固定资源空间和灵活资源空间,固定资源空间按需分配(有新任务时才分配)资源并进行回收,灵活资源空间竞争使用。这里所述的按需分配是指在任务提交并接收到作业任务后才向固定资源空间划分独占资源,在任务结束后回收,重新划分到灵活资源空间进行自由竞争使用。为清楚起见,以下以单机虚拟化的线程资源分配处理为实施场景对本方案进行说明。本申请实施方案可以适用于背景技术中所述的单机虚拟化的实施场景,实现资源隔离、合理划分、提高资源利用率等,但本领域技术人员可以理解的是,基本申请提供的资源分配思想,还可以应用到其他的资源分配的实施场景中,包括但不限于机器资源(硬件资源)、内存资源、带宽资源、虚拟货币资源等。

具体的一种实施例如图1所示,本申请提供的一种资源分配的处理方法的一种实施例中,所述方法可以包括:

s1:接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间。

本实施例的实施场景中,可以预先将宿主机的线程资源划分为固定资源空间和灵活资源空。初始时,固定资源空间和灵活资源空间的分配方式可以根据设计需要进行设置,如初始固定资源空间可以设置为宿主机线程资源总量的20%,灵活资源空间为资源总量的80%。当然,也可以采用其他分配方式,例如固定资源空间为资源总量20%时,灵活资源空间为资源总量的70%,其余10%可以为作为预留或其他用途。本申请所述方法的另一种实施例中,为了进一步提高资源的使用效率,充分发挥宿主机性能,可以采用下述方式进行固定资源空间和初始资源空间的划分:

s101:所述固定资源空间和灵活资源空间被设置成,固定资源空间的初始资源为0、灵活资源空间的初始资源为可用的资源总量。

例如所述宿主机已有一个线程池,其中有500个可用的线程。线程是程序执行流的最小单元,进程中的一个实体,是被系统独立调度和分派的基本单位。通常线程拥极少在运行中必不可少的资源外自己不拥有系统资源,可以作为一种资源被任务所使用。线程池中的线程希望可以进行资源隔离并给100个任务使用。那么,在资源分配的初始阶段可以将线程资源分为:固定资源空间初始时为0个线程,灵活资源空间初始时为500个线程。如图2所示,图2为本申请所述方法一个实施例中初始资源类型划分的示意图。在本实施例中,所述固定资源空间分配的资源作为作业任务独占使用,所述灵活资源空间中的资源作为作业任务竞争使用。

在接收到一个新的作业任务时,自动的从灵活资源空间中划分出一个最小单位隔离资源给固定资源空间。在固定资源空间中,所述的最小单位隔离资源通常包括多个资源,如多个线程,并且所述的最小单位隔离资源可以在固定资源空间中被标记为分配给某个作业任务的资源集合,在作业任务未释放资源时,最小单位隔离资源中未被申请使用到的其他资源不能被其他作业任务申请使用。具体的一个示例来说,假如设置的最小单位隔离资源为5个线程,而作业任务taska最终仅使用4个线程,那么在固定资源空间中分配给taska的5个线程资源中空闲的1个线程资源仍然被保留在固定资源空间中,且在taska存活期间也仅能被taska申请使用。

本申请中,所述的最小单位隔离资源可以采用多种方式确定,如作业人员根据应用场景中处理的作业任务的数量、优先程度、任务资源使用情况,甚至作业人员经验等设置最小单位隔离资源。本申请提供的一种实施方式中,所述最小单位隔离资源包括采用下述中的任意一种方式确定:

根据可用的资源总量和预期的最大任务数据量确定;

根据单个作业任务最大的预期使用资源确定;

自定义设置的单个任务固定空间分配资源。

例如默认划分到固定空间的资源按照预期的最大任务数确定的应用场景中,假如500个线程资源希望可以资源隔离的分给100个任务同时使用,则可以确定给应用场景中的最小单位隔离资源为500/100=5个线程,相当于每个任务最小保证有5个线程可用即可达到资源隔离的要求。当然,还可以根据系统的配置、资源的配置、资源需求量较大的任务等因素来确定所述最小单位隔离资源。如预期90%左右的任务使用5个线程即可保证正常执行,那么最小单位隔离资源可以设置为5个线程,或者出于保守计算,也可以设置为6个线程。

在本实施例中,每接收到一个新的作业任务时,即可自动的从灵活资源空间中划分出一个最小单位隔离资源给固定资源空间。如图3所示,图3为本申请所述方法中一个根据任务数量自动资源类型划分的示意图,固定资源空间初始为0,灵活资源空间初始为500,则:

当任务taska提交后,固定资源空间变为5,灵活资源空间减为495;

当任务taskb提交后,固定资源空间变为10,灵活资源空间减为490;

……

以此类推。

s2:从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用。

本实施例可以根据接收的作业任务自动的调整固定资源空间和灵活资源空间。有新的作业任务时,从固定资源空间中分配一个最新单位隔离资源给所述作业任务独占使用。作业任务的资源申请过程中,若从固定资源空间拿可用资源时,仅能从分配给作业任务的固定的最小单位隔离资源集合内获取。具体的一个资源申请过程示例如图4所示,图4是本申请所述方法中一个作业任务线程资源申请的处理路程示意图。

另一个实施场景中,如果固定资源空间分配的最小单位隔离资源不够作业任务使用,则可以在灵活资源空间中继续进行额外所需资源的竞争。如果灵活资源空间申请不到,则当前作业任务暂时阻塞。因此,所述方法的另一种实施例中,若接收到的作业任务所请求的资源大于所述最小单位隔离资源,则从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用之后,还包括:

s20:从所述灵活资源空间中竞争申请所请求的资源减去所述最小单位隔离资源后的资源。

如上述500个线程的实施场景中,固定资源空间中分配给作业任务taskb为5个的独占使用的线程资源,此时固定资源空间为10,灵活资源空间为495。但实际作业任务taskb需要7个线程资源,taskb申请7个线程资源。根据taskb请求的资源,从固定资源空间中5个线程分配给taskb后,其余两个线程资源从灵活资源空间的495个线程中竞争申请。由于此时灵活资源空间剩余的可用线程资源足够多,完全可以分配从495个被用来竞争的线程中分配出两个现场给taskb使用。这样,可以完全满足taskb实际满额需求的7个线程资源处理需求。当然,其他的作业任务中,如果实际所需资源超过固定资源空间中分配给该作业任务的最小单位隔离资源,则可以从灵活资源空间中竞争申请使用。

如上述所述,在本实施例的固定资源空间中,分配给某个作业任务的最小单位隔离资源中未被申请使用到的其他资源不能被其他作业任务申请使用。具体的一个示例来说,假如设置的最小单位隔离资源为5个线程,而作业任务taska最终仅使用4个线程,那么在固定资源空间中分配给taska的5个线程资源中空闲的1个线程资源仍然被保留在固定资源空间中,且后续也仅能被taska申请使用。如果taskb申请6个线程资源,在固定资源空间中自己的5个线程资源申请后,也不能申请使用taska中空闲的那1个线程资源(这一个空闲的线程资源也是隔离资源的),而只能在灵活资源空间中申请。

s3:当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

当某个作业任务处理结束,占有的资源释放完毕,则可以将该任务申请时分配到固定资源空间的最小单位隔离资源重新设置为灵活资源空间中可以竞争使用的资源,将其返回给灵活资源空间。如上述500线程资源的实施场景中,作业任务taska和taskb线程资源分配完后,固定资源空间为10个线程,灵活资源空间为490个线程。当作业任务taskb执行完毕,线程资源释放完后,将固定资源空间中分配给taskb的5个线程资源重新划分到灵活资源空,则此时,固定资源空间为10个线程,灵活资源空间为495个线程。如图5所示,图5是本申请中一个任务结束后资源类型重新划分的示意图。

由于任务使用的资源可能包括固定资源空间中的资源和灵活资源空间中的资源,因此,资源释放的先后顺序也可以有不同的实施方式。本申请提供的一种实施例中,当所述作业任务释放使用的资源时,可以优先释放占用的所述灵活资源空间的资源,再释放占用的所述固定资源空间的资源。这样,作业任务占用的灵活资源空间的资源可以更加优先、快速的得到释放,以便于其他申请灵活资源空间的作业任务尽快的申请得到资源。当然,本申请的其他实施方式中也可以先释放固定资源空间的资源,或者采用设置的判决机制来决定是先释放哪部分空间的资源。

作业任务占用资源是否能够及时得到释放,是资源合理回收再分配的一个重要因素。本申请提供的所述方法的另一种实施例中,采用定时器定期轮检作业任务状态,以判断作业任务是否结束,如作业任务借宿,则及时释放资源。因此,所述方法的另一种实施例中,可以基于下述方式确定所述作业任务结束:

利用定时装置定时检测作业任务的状态;

若在预设等待周期内所述作业任务无资源申请记录,则确定所述作业任务已结束。

例如可以利用定时器,定时检测各个作业任务的执行状态。如果检测出某个作业任务在预设等待周期(例如可以设置为5分钟)内任务无线程申请记录,则可以任务该作业任务已经结束,则进一步的可以释放占用的灵活资源空和固定资源空间的线程资源。

本申请提供的所述资源分配的处理方法的另一种实施场景中,可能会出现某些特殊的作业任务。这些特殊作业任务资源分配时,如果仅分配最小单位隔离资源,往往不能满足处理需要,例如最小单个隔离资源为5个线程时,若某个作业任务需要优先加急处理,需要11个线程资源,则固定资源空间分配5个独占线程后,还有6个线程需要在灵活资源空间中竞争申请。为解决上述问题,进一步的优化资源分配策略,本申请提供的另一种实施例中,可以根据作业任务的优先级,相应的为其分配独占资源,保障这些优先级较高的任务更加高效、顺利的执行。具体的,所述方法还可以包括:

s10:获取所述作业任务的优先级;

相应的,若所述作业任务的优先级达到资源优先分配等级,则根据所述优先级等级从所述灵活资源空间中分配相应等级的优先资源给所述固定资源空间,并将所述优先资源分配给所述作业任务独占使用。

具体的一个示例中,假如作业任务的优先级分为0、1、2、3(优先等级依次降低)和无优先等级。可以设置在作业任务的优先级达到2以及以上时为作业任务分配相应等级的优先资源。这里的所述的优先资源一种实施方式中可以是统一的固定资源数量,例如优先等级0、1、2的任务均分配固定资源空间中的10个独占线程资源。另一种实施方式中优先资源也可以为根据优先级等级划分不同的优先资源。例如优先级等级为2的作业任务taskc,从灵活资源空间中划分10个线程资源作为固定资源空间中的资源分配给作业任务taskc,而对于优先级等级为1的作业任务taskd,则可以从灵活资源空间中划分15个线程资源作为固定资源空间中的资源分配给作业任务taskd。

这样,优先级等级较高的作业任务往往需要更多的独占资源进行处理,而本实施例可以根据作业任务的优先级灵活、适应性的给予更多的独占资源,使得任务资源分配更加合理,作业任务执行效率更好,系统运行性能更好。

利用本申请所述的实施方案,由于固定资源空间内的资源为任务独占,所以在上述示例中,即使100个任务全满的情况下,每个任务也都不会发生竞争,做到了资源隔离。独占资源不够,隔离资源申请不到,则自身阻塞,属于自身任务属性导致,不会因为一个任务占据过多资源而造成其余没有用到的独占资源的任务也发生阻塞。而在任务没有全满的情况下又有灵活资源空间的资源可以自由竞争使用,充分发挥了资源效率。即使有新的作业任务时但目前前灵活资源空间的资源已被使用完时,只需等待执行的作业任务第一次资源释放后即可申请到独占资源。实施本申请方案,资源使用的效率、任务阻塞、系统性能等有明显改善。

基于上述所述的资源分配的处理方法,本申请还提供一种资源分配的处理装置。所述的装置可以包括使用了本申请所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本申请提供的一种实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本申请具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,图6是本申请提供的一种资源分配的处理装置实施例的模块结构示意图,如图6所示,所述装置可以包括:

资源划分模块101,可以用于接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

资源分配模块102,可以用于从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

资源回收模块103,可以用于当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

上述所述装置的实施例中,所述固定资源空间分配的资源为作业任务独占使用,所述灵活资源空间中的资源可以为作业任务竞争使用。

当然,在其他的实施方式中,也可以将资源划分模块101和资源回收模块103合并为一个处理模块实现。例如图7所示,图7是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图,图7中的资源划分模块104既可以实现接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间,也可以实现当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

如前述方法所述,所述装置的另一种实施例中,为了进一步提高资源的使用效率,充分发挥宿主机性能,可以采用下述方式进行固定资源空间和初始资源空间的划分:

所述固定资源空间和灵活资源空间被设置成,固定资源空间的初始资源为0、灵活资源空间的初始资源为可用的资源总量。

所述的最小单位隔离资源可以采用多种方式确定,如作业人员根据应用场景中处理的作业任务的数量、优先程度、任务资源使用情况,甚至作业人员经验等设置最小单位隔离资源。本申请提供的所述装置其他的实施例中,所述最小单位隔离资源包括采用下述中的任意一种方式确定:

根据可用的资源总量和预期的最大任务数据量确定;

根据单个作业任务最大的预期使用资源确定;

自定义设置的单个任务固定空间分配资源。

具体的实现方式可以参照前述方法实施例所述,在此不做赘述。

进一步的优化资源分配策略,本申请提供的所述装置的另一种实施例中,可以根据作业任务的优先级,相应的为其分配独占资源,保障这些优先级较高的任务更加高效、顺利的执行。图8是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图,如图8所示,所述装置还可以包括:

优先级确认模块105,可以用于获取所述作业任务的优先级;

相应的,若所述优先级确认模块105确定所述作业任务的优先级达到资源优先分配等级,则所述资源分配模块102从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用包括:

根据所述优先级等级从所述灵活资源空间中分配相应等级的优先资源给所述固定资源空间,并将所述优先资源分配给所述作业任务独占使用。

作业任务占用资源是否能够及时得到释放,是资源合理回收再分配的一个重要因素。本申请提供的所述方法的另一种实施例中,采用定时器定期轮检作业任务状态,以判断作业任务是否结束,如作业任务借宿,则及时释放资源。图9是本申请提供的另一种资源分配的处理装置实施例的模块结构示意图,如图8所示,所述装置还可以包括:

轮检模块106,可以用于定时检测作业任务的状态,以及,在预设等待周期内所述作业任务无资源申请记录时,则确定所述作业任务已结束。

所述装置的一种实施例中,当所述作业任务释放使用的资源时,可以优先释放占用的所述灵活资源空间的资源,再释放占用的所述固定资源空间的资源。这样,作业任务占用的灵活资源空间的资源可以更加优先、快速的得到释放,以便于其他申请灵活资源空间的作业任务尽快的申请得到资源。因此,本申请提供的所述装置的另一种实施中,所述资源回收模块103检测到作业任务结束时,优先释放占用的所述灵活资源空间的资源,再释放占用的所述固定资源空间的资源。

本申请提供的资源分配的处理方法可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在pc端实现、使用android和ios系统开放的编程设计语言在移动终端上实现等。具体的,本申请提供的一种资源分配的处理装置的另一种实施例中,所述装置可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

本申请提供的一种资源分配的处理装置,将宿主机资源分成了固定资源空间和灵活资源空间。固定资源空间按需分配给任务资源作为独占资源使用,并在使用完后收回。而灵活资源空间的资源则可以由任务竞争使用,既可以保证最小资源可用(即在某个限度内任务感觉是完全独占的,和其他任务无竞争的),又可以在资源空闲(其他任务没有使用)时获得最大的资源可用率。在本申请提供的实施方案中,由于固定资源空间内的资源为任务独占,所以即使任务全满的情况,每个任务也都不会发生竞争,实现了资源隔离。而在任务没有全满的情况下又有灵活资源空间可以自由竞争,充分发挥了资源使用效率,大大提高虚拟化单机的资源利用率和系统性能。

本申请上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本申请实施例所描述方案的效果。因此,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时可以实现以下步骤:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

所述计算机可读存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。

上述所述的装置或方法或计算机可读存储介质可以用于各种电子设备中,通过将资源分成固定资源空间和灵活资源空间,且固定空间按需分配,用完回收,灵活空间竞争,实现电子设备中资源有效隔离的同事可以保证资源利用率。所述的电子设备不限于方法实施例中所述的宿主机,分配处理的资源对象也不限于现场资源。具体的,本申请提供的一种电子设备中,可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

接收到作业任务时,从划分的灵活资源空间中分配最小单位隔离资源给划分的固定资源空间;

从所述固定资源空间中分配最小单位隔离资源给所述作业任务独占使用;

当所述作业任务结束时,将分配给所述作业任务的固定资源空间的资源返还给所述灵活资源空间。

图10是本申请提供的一种电子设备的结构示意图,分配的资源可以是电子设备中的内存资源或电子设备中的其他资源,也可以为耦合或与电子设备通信连接的其他资源。需要说明的,上述所述的装置或计算机存储介质或电子设备根据方法实施例的描述还可以包括其他的实施方式,例如固定资源空间的初始资源为0,灵活资源空间的初始资源为可用的资源总量,或者,根据可用的资源总量和预期的最大任务数据量确定最小单位隔离资源,或者使用定时器轮询作业任务状态等,具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。

本申请提供的一种资源分配的处理方法、装置及电子设备,将宿主机资源分成了固定资源空间和灵活资源空间。固定资源空间按需分配给任务资源作为独占资源使用,并在使用完后收回。而灵活资源空间的资源则可以由任务竞争使用,既可以保证最小资源可用(即在某个限度内任务感觉是完全独占的,和其他任务无竞争的),又可以在资源空闲(其他任务没有使用)时获得最大的资源可用率。在本申请提供的实施方案中,由于固定资源空间内的资源为任务独占,所以即使任务全满的情况,每个任务也都不会发生竞争,实现了资源隔离。而在任务没有全满的情况下又有灵活资源空间可以自由竞争,充分发挥了资源使用效率,大大提高虚拟化单机的资源利用率和系统性能。

尽管本申请内容中提到使用线程资源分配、最小单位隔离资源的确定方式、任务资源申请时的资源分配策略、不同类型资源空间的初始设置、不同的实现本方案的操作系统的等之类的数据/资源设置、获取、交互、计算、判断等描述,但是,本申请并不局限于必须是符合行业通信标准、标准数据库、计算机处理和存储规则或本申请实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本申请的可选实施方案范围之内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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