一种资源调度的方法与设备与流程

文档序号:19713850发布日期:2020-01-17 19:23阅读:138来源:国知局
一种资源调度的方法与设备与流程

本申请涉及计算机领域,尤其涉及一种资源调度的技术。



背景技术:

随着数据信息爆发式增长,数据中心、分布式机房等数据处理设施随之蓬勃发展,在分布式系统中往往涉及数据处理设备的资源调度,为了资源调度能够快速响应,现有技术支持资源调度请求指定某一设备或资源集群中的任意设备。

然而,根据现有技术中资源调度请求要求对资源进行调度的过程中会出现大量跨物理拓扑结构的资源调度,例如需要处理的数据在机房a,所调度的机器在同一分布式系统中的机房e中,这样的资源调度对网络产生压力,且会造成数据处理延时,降低数据处理效率。且在现有技术中资源调度请求未被满足后会插入等待队列中,在系统有资源时依次对资源进行遍历从而进行资源分配,这种方式在分布式系统中会产生大量无用分配,造成资源调度效率低下。



技术实现要素:

本申请的目的是提供一种资源调度的方法与设备,用以解决分布式系统中资源精确调度的问题。

根据本申请的一个方面,提供了一种资源调度方法,该方法解决了智能终端设备中对象信息快速处理的问题,该方法包括:

根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息;

获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签;

根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源;

利用所述目标节点处理所述资源调度请求。

根据本申请的另一个方面,提供了一种资源调度的设备,该设备解决了分布式系统中资源精确调度的问题,该设备包括:

机器管理架构建立装置,用于根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息;

资源调度请求获取装置,用于获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签;

目标节点确定装置,用于根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源;

资源调度请求处理装置,用于利用所述目标节点处理所述资源调度请求。

与现有技术相比,本申请根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,获取所述分布式系统的资源调度请求,根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,利用所述目标节点处理所述资源调度请求。从而解决分布式系统中资源准确高效调度的问题,使得数据传输代价降低,提升资源调度的效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种资源调度的方法流程图;

图2示出根据本申请一个优选实例的一种资源调度的方法中步骤s3流程图;

图3示出根据本申请另一个优选实例的一种资源调度方法中步骤s3流程图;

图4示出根据本申请另一个优选实例的分布式系统中机器管理架构示意图;

图5示出根据本申请另一个优选实例的未满足资源调度请求的待处理请求队列示意图;

图6示出根据本申请另一个方面的一种用于资源调度的设备示意图;

图7示出根据本申请另一个优选实例的一种用于资源调度的设备中目标节点确定装置示意图;

图8示出根据本申请另一个优选实例的一种用于资源调度的设备中目标节点确定装置示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

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

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

图1示出根据本申请一个方面的一种资源调度的方法流程图。包括步骤s1、步骤s2、步骤s3以及步骤s4。

其中,在步骤s1中设备1根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息;在步骤s2中设备1获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签;在步骤s3中设备1根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源;在步骤s4中设备1利用所述目标节点处理所述资源调度请求。

具体地,在步骤s1中设备1根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息。即根据分布式系统中空闲的可用机器的物理位置建立基于物理拓扑结构的机器管理架构信息,例如机房a中有交换机a以及交换机b,交换机a中有机架a以及机架b,交换机b中有机架c以及机架d,当前可用机器a、b、c、d、e、f、g、h按顺序两两一组分属于机架a、b、c、d,则基于这样物理位置所建立的对应机器管理架构信息如图4所示,根据不同的物理拓扑层级将每层所管理的所有机器资源均列出,对于同一机器分属于不同的层级,每层均会被统计,例如,图4中对于可用机器a而言,分属于四个层级:分别是机器a、机架a、交换机a、机房a。建立机器管理架构信息有利于对指定层级中的资源请求快速响应,当有资源调度请求申请特定物理拓扑节点层中的资源时,能够迅速确定潜在可用机器的资源列表,并在所述可用机器上分配资源。

其中,所述节点包括:机器,例如图4中的可用机器a至h均为一层节点;包含一个或多个所述机器的机架,例如图4中机架a、机架b、机架c以及机架d均为一层节点,且其中分别包含两个可用机器;包含一个或多个所述机架的交换机,例如图4中交换机a以及交换机b分别为一层节点,且其中分别包含两个下层机架及其中可用机器;包含一个或多个所述交换机的机房,例如图4中机房a为一层节点,其中包含交换机a、交换机b以及其中的可用机器。

本领域技术人员应能理解上述建立机器管理架构信息的方式仅为举例,其他现有的或今后可能出现的建立机器管理架构信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述机器管理架构信息在资源发生变动时进行结构更新。是指在机器管理架构信息中所统计的可用资源不可用或有新的可用资源加入时,对所述机器管理架构信息中的各层节点所对应的统计信息进行更新。例如图4中机器a不可用,获得此变动信息后将机器a从机器节点、机架a节点、交换机节点以及机房a节点中所列的可用机器列表中删除。在分布式系统中的可用机器增加或减少时对机器管理架构信息中各节点名下的可用机器列表进行更新,可以使得机器管理架构信息保持准确性,降低资源调度过程中误差。

本领域技术人员应能理解上述更新机器管理架构信息结构的方式仅为举例,其他现有的或今后可能出现的更新建立机器管理架构信息结构的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s2中设备1获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签。是指获取分布系统中的关于指定机器管理架构信息中各节点范围资源的调度请求,其中,所述物理拓扑标签是指机器管理架构中各层节点,例如基于图4所示的机器管理架构信息,资源调度请求包括但不限于:指定机器a,指定机架a中任意机器,指定交换机a中任意机器,指定机房a中任意机器,指定整个分布式系统中任意机器,所述机器a、机架a、交换机a、机房a以及整个分布式系统均为物理拓扑标签,当资源调度请求包括物理拓扑标签,则会对物理拓扑标签对应的节点中的可用资源机器进行寻找和分配。其中,获取所述资源调度请求的方式包括但不限于,通过资源调度管理系统传输,读取后台请求数据等。获取包括请求资源物理拓扑标签的资源调度请求可以高效准确的对资源请求进行满足,减少数据所在资源与数据处理资源物理位置过远而造成的数据拖动,从而提升资源调度的效率,提高资源调度的速度。

本领域技术人员应能理解上述获取所述分布式系统的资源调度请求的方式仅为举例,其他现有的或今后可能出现的获取所述分布式系统的资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s3中设备1根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源。即根据所述资源调度请求中请求资源的物理拓扑标签找到对应的机器管理架构中的节点,在节点名下的可用资源中搜索是否有资源请求指定的可用资源,若所述节点名下的可用资源能够满足所述资源调度请求,则为目标节点。例如基于图4中的机器管理架构信息,资源调度请求指定机架a内任意机器,在机架a所在节点的可用机器列表中找到有可用机器a以及机器b,则机架a所在节点为所述机器管理架构信息中对应的目标节点即为机架a所在节点。确定所述资源调度请求在所述机器管理架构信息中对应的目标节点使得资源请求得以快速被响应,从而提升资源调度的效率。

本领域技术人员应能理解上述确定所述资源调度请求在所述机器管理架构信息中对应的目标节点的方式仅为举例,其他现有的或今后可能出现的确定所述资源调度请求在所述机器管理架构信息中对应的目标节点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s4中设备1利用所述目标节点处理所述资源调度请求。是指所述目标节点的可用资源信息满足所述所请求资源时,在目标节点分配可用资源,从而完成资源调度。接上文举例,资源调度请求指定机架a内任意机器,在机架a所在节点的可用机器列表中找到有可用机器a以及机器b,则机架a所在节点为所述机器管理架构信息中对应的目标节点即为机架a所在节点,在机架a中选择机器a或b对资源调度请求进行响应,将可用机器a和机器b的列表发送出去进行资源分配。

本领域技术人员应能理解上述处理所述资源调度请求的方式仅为举例,其他现有的或今后可能出现的处理所述资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

图2示出根据本申请一个优选实例的一种资源调度的方法中步骤s3流程图。所述步骤s3包括步骤s31以及步骤s32。

其中,在步骤s31中设备1检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源;在步骤s32中设备1若所述对应节点的可用资源信息满足所述所请求资源,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。

具体地,在步骤s31中设备1检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源。是指检测资源调度请求中所包含的物理拓扑标签在所述机器管理架构信息中对应节点中的可用资源是否满足资源调度请求中的要求,例如,基于图4中的机器管理架构信息,资源调度请求指定机架a下的任意机器,因此在指定机架a下的机器可用资源是否满足资源请求,此时机架a节点下的可用资源为机器a与机器b,因此此时检测到机架a节点中的可用资源信息满足所述请求资源。若资源调度请求指定机架a下的任意机器中的cpu资源,且此时机架a节点下机器a与机器b中cpu资源不可用,则此时检测到机架a节点中的可用资源信息不满足所述请求资源。在此,检测的方式包括对所述物理拓扑标签在所述机器管理架构信息中对应节点进行遍历,或节点可用资源列表进行查询但不限于此。

本领域技术人员应能理解上述检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源的方式仅为举例,其他现有的或今后可能出现的检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s32中设备1若所述对应节点的可用资源信息满足所述所请求资源,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。即若所检测的节点中的可用资源满足资源调度请求,则所述节点即为所述请求的目标节点,其所需资源将从所述目标节点中进行调度,接上文举例,资源调度请求指定机架a下的任意机器,机架a节点下机器a和b可用,则机架a为该资源调度请求的目标节点,该资源调度请求的资源将从机器a或b中进行调度。

优选地,所述步骤s3还包括步骤s35(未示出),在步骤s35中设备1若所述对应节点的可用资源信息未满足所述所请求资源,在所述机器管理架构信息中包含所述对应节点的一个或多个上层节点中确定所述资源调度请求所对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源。所述上层节点即为资源调度请求中指定物理拓扑标签所对应的节点的上层节点,例如基于图4,资源调度请求指定机架a中的任意机器,则机架a的上层节点即为交换机a、机房a以及整个分布式系统,例如,接上文举例,当机架a的可用机器上没有额外的可分配资源,而系统又不可能无限的等待这台机器有空闲的资源,所以在接到请求无法满足的消息后,发出新的资源调度请求,申请交换机a中任意机器资源,这样数据拖动造成的网络消耗只会局限在交换机内部,不会向外扩散;如果此交换机内都没有可用的机器,那么继续申请机房a中任意机器资源,这样数据拖动造成的网络消耗只会局限在机房内部,以此类推从而避免资源调度因为跨越物理拓扑层过远而造成的响应延时,同时降低数据传输带来的网络消耗提升资源调度的效率。

图3示出根据本申请另一个优选实例的一种资源调度方法中步骤s3流程图。所述步骤s3包括步骤s31、步骤s33以及步骤s34。

其中,在步骤s31中设备1检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源;在步骤s33中设备1若所述对应节点的可用资源信息未满足所述所请求资源,将所述资源调度请求添加至所述对应节点的待处理请求队列;在步骤s34中设备1当所述对应节点的更新后的可用资源信息满足所述所请求资源,且所述资源调度请求在所述待处理请求队列中的优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。

在此,图3中步骤s31与图2中步骤s31相同或相似,故此不再赘述。

具体地,在步骤s33中设备1若所述对应节点的可用资源信息未满足所述所请求资源,将所述资源调度请求添加至所述对应节点的待处理请求队列。其中,所述待处理请求队列是指根据资源调度请求中物理拓扑标签,将未被满足的资源调度请求插入物理拓扑标签所对应等待队列中,例如,资源调度请求指定机器a,当前机器a正在被占用,则该请求被插入机器a排队队列中等待,所述机器a排队队列中均为指定机器a且未被满足的资源调度请求,相应地,指定机架a且未被满足的资源调度请求被插入机架a排队队列中等待,同理,还有交换机a排队队列、机房a排队队列,机房b排队队列等。优选地,所述待处理请求队列中的资源调度请求可按照一定规则在队列中进行排序,例如按照资源调度请求发出的早晚顺序排序,或者按照资源调度请求的紧急程度排序但并不限于此。

本领域技术人员应能理解上述建立待处理请求队列的方式仅为举例,其他现有的或今后可能出现的建立待处理请求队列的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s34中设备1当所述对应节点的更新后的可用资源信息满足所述所请求资源,且所述资源调度请求在所述待处理请求队列中的优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。是指在机器管理架构信息更新后可用资源满足待处理请求队列中的资源调度请求时,接上文举例,机器a资源被释放且重新被添加进机器管理架构信息中,可以满足待处理请求队列机器a排队队列中资源调度请求,此时,将机器a排队队列中优先级最高的资源调度请求进行优先满足,从而机器a所在的节点即为对应所满足的资源调度请求的目标节点。

优选地,在步骤s34中设备1当所述对应节点的更新后的可用资源信息满足所述所请求资源,所述资源调度请求在所述待处理请求队列中优先级最高,且所述资源调度请求在所属的最大堆中优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。是指在机器管理架构信息更新后可用资源满足待处理请求队列中的资源调度请求,其中,所更新的可用资源所满足的待处理请求队列所对应的节点有一个或多个,例如,所更新的可用资源为机器a,则在图4的机器管理架构信息的基础上,机器a所对应的节点有机器a、机架a、交换机a以及机房a,上述节点所对应的待处理请求队列中的资源调度请求在机器a可用后均可被满足,因此,需要将优先级最高的资源调度请求进行满足,如图5所示,在机器a的资源被更新,选出机器a所对应的各层节点对应待处理请求队列,将机器a所对应节点的待处理请求队列中优先级最高的资源调度请求取出,并根据优先级的高低建立最大堆,其中,优先级最高的资源调度请求为堆顶元素,因此,机器a的资源优先在堆顶所对应的资源调度请求中分配,即该优先级最高的资源调度请求所对应的节点为目标节点。

本领域技术人员应能理解上述选择可用资源对应优先级最高资源调度请求的方式仅为举例,其他现有的或今后可能出现的选择可用资源对应优先级最高资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

进一步地,所述最大堆还包括每个其他待处理请求队列中优先级最高的其他资源调度请求,每个其他待处理请求队列与在所述机器管理架构信息中包含所述对应节点的一个上层节点相对应。是指最大堆的组成元素均为所更新的可用资源对应节点的待处理请求队列,其中,在最大堆中资源调度请求所对应的待处理请求队列是依照机器管理架构信息中的节点进行建立,且待处理请求队列之间是节点层层包含的关系,例如,机器a的上层节点是机架a,机架a的上层节点是机房a,因此,当更新的可用资源是机器a时,选择对应的节点的待处理请求队列机器a排队队列,以及其上层节点的待处理请求队列机架a排队队列、机房a排队队列,从而使得备选的待处理请求队列更具有针对性,提升甄选优先级最高的资源调度请求的效率,进而提升资源调度效率。

更进一步地,所述其他资源调度请求对应的所述一个上层节点的更新后的可用资源信息满足所述其他资源调度请求对应的请求资源。是指更新后的可用资源所对应的其它待处理请求队列中的资源调度请求均为所述可用资源所对应节点的上层节点,例如,更新后的可用资源为机器a,则机器a的对应节点的待处理请求队列为机器a排队队列,其它待处理请求队列中的资源调度请求均与机器a的上层节点所对应,即机架a排队队列中是请求机架a中任意机器的资源调度请求,交换机a排队队列中是请求交换机a中任意机器的资源调度请求,机房a排队队列中是请求机房a中任意机器的资源调度请求,其中,上层节点对应的待处理队列中的资源请求均可被机器a所满足。

优选地,所述方法还包括步骤s5(未示出),在步骤s5中设备1当所述目标节点为所述资源调度请求分配资源后仍存在可分配资源,在所述最大堆中删除所述资源调度请求并添加所述待处理请求队列中优先级次高的待处理资源调度请求。是指在可用资源取最大堆中优先级最高的资源调度请求满足后,所剩的资源若仍能满足资源调度请求,则将最大堆中已被满足的最大堆元素所对应的资源调度请求删除,并将该被删除的资源调度请求所对应的待处理请求队列中原优先级次高的资源调度请求取出并放入最大堆中,再次进行新一轮的最大堆元素计算,并将最大堆元素所对应的资源调度请求进行资源分配,例如,机器a的资源可用,则在图4的机器管理架构信息的基础上,选择待处理请求队列机器a排队队列、机架a排队队列、交换机a排队队列,机房a排队队列,在所述四个队列中找出优先级最高的资源调度请求放入最大堆,则在最大堆中挑选的优先级最高的资源调度请求分配机器a的资源,其中,所述优先级最高的资源调度请求来自待处理请求队列中的机器a排队队列,在机器a资源分配后还剩部分可用资源,将所述优先级最高的资源调度请求从最大堆中删除,再将机器a排队队列中原先次高即现在最高优先级的资源调度请求取出插入最大堆中,再次选出此时的最大堆堆顶元素中的资源调请求进行满足,从而可对新增资源连续进行优选和分配,提升资源调度的准确度和效率。

图6示出根据本申请另一个方面的一种用于资源调度的设备示意图。所述设备1包括机器管理架构建立装置11、资源调度请求获取装置12、目标节点确定装置13以及资源调度请求处理装置14。

其中,所述机器管理架构建立装置11根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息;资源调度请求获取装置12获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签;目标节点确定装置13根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源;资源调度请求处理装置14利用所述目标节点处理所述资源调度请求。

具体地,机器管理架构建立装置11根据分布式系统中机器物理位置信息建立对应的机器管理架构信息,其中,所述机器管理架构信息包括一层或多层节点及每个节点的可用资源信息。即根据分布式系统中空闲的可用机器的物理位置建立基于物理拓扑结构的机器管理架构信息,例如机房a中有交换机a以及交换机b,交换机a中有机架a以及机架b,交换机b中有机架c以及机架d,当前可用机器a、b、c、d、e、f、g、h按顺序两两一组分属于机架a、b、c、d,则基于这样物理位置所建立的对应机器管理架构信息如图4所示,根据不同的物理拓扑层级将每层所管理的所有机器资源均列出,对于同一机器分属于不同的层级,每层均会被统计,例如,图4中对于可用机器a而言,分属于四个层级:分别是机器a、机架a、交换机a、机房a。建立机器管理架构信息有利于对指定层级中的资源请求快速响应,当有资源调度请求申请特定物理拓扑节点层中的资源时,能够迅速确定潜在可用机器的资源列表,并在所述可用机器上分配资源。

其中,所述节点包括:机器,例如图4中的可用机器a至h均为一层节点;包含一个或多个所述机器的机架,例如图4中机架a、机架b、机架c以及机架d均为一层节点,且其中分别包含两个可用机器;包含一个或多个所述机架的交换机,例如图4中交换机a以及交换机b分别为一层节点,且其中分别包含两个下层机架及其中可用机器;包含一个或多个所述交换机的机房,例如图4中机房a为一层节点,其中包含交换机a、交换机b以及其中的可用机器。

本领域技术人员应能理解上述建立机器管理架构信息的方式仅为举例,其他现有的或今后可能出现的建立机器管理架构信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述机器管理架构信息在资源发生变动时进行结构更新。是指在机器管理架构信息中所统计的可用资源不可用或有新的可用资源加入时,对所述机器管理架构信息中的各层节点所对应的统计信息进行更新。例如图4中机器a不可用,获得此变动信息后将机器a从机器节点、机架a节点、交换机节点以及机房a节点中所列的可用机器列表中删除。在分布式系统中的可用机器增加或减少时对机器管理架构信息中各节点名下的可用机器列表进行更新,可以使得机器管理架构信息保持准确性,降低资源调度过程中误差。

本领域技术人员应能理解上述更新机器管理架构信息结构的方式仅为举例,其他现有的或今后可能出现的更新建立机器管理架构信息结构的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,资源调度请求获取装置12获取所述分布式系统的资源调度请求,其中,所述资源调度请求包括所请求资源的物理拓扑标签。是指获取分布系统中的关于指定机器管理架构信息中各节点范围资源的调度请求,其中,所述物理拓扑标签是指机器管理架构中各层节点,例如基于图4所示的机器管理架构信息,资源调度请求包括但不限于:指定机器a,指定机架a中任意机器,指定交换机a中任意机器,指定机房a中任意机器,指定整个分布式系统中任意机器,所述机器a、机架a、交换机a、机房a以及整个分布式系统均为物理拓扑标签,当资源调度请求包括物理拓扑标签,则会对物理拓扑标签对应的节点中的可用资源机器进行寻找和分配。其中,获取所述资源调度请求的方式包括但不限于,通过资源调度管理系统传输,读取后台请求数据等。获取包括请求资源物理拓扑标签的资源调度请求可以高效准确的对资源请求进行满足,减少数据所在资源与数据处理资源物理位置过远而造成的数据拖动,从而提升资源调度的效率,提高资源调度的速度。

本领域技术人员应能理解上述获取所述分布式系统的资源调度请求的方式仅为举例,其他现有的或今后可能出现的获取所述分布式系统的资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,目标节点确定装置13根据所述物理拓扑标签确定所述资源调度请求在所述机器管理架构信息中对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源。即根据所述资源调度请求中请求资源的物理拓扑标签找到对应的机器管理架构中的节点,在节点名下的可用资源中搜索是否有资源请求指定的可用资源,若所述节点名下的可用资源能够满足所述资源调度请求,则为目标节点。例如基于图4中的机器管理架构信息,资源调度请求指定机架a内任意机器,在机架a所在节点的可用机器列表中找到有可用机器a以及机器b,则机架a所在节点为所述机器管理架构信息中对应的目标节点即为机架a所在节点。确定所述资源调度请求在所述机器管理架构信息中对应的目标节点使得资源请求得以快速被响应,从而提升资源调度的效率。

本领域技术人员应能理解上述确定所述资源调度请求在所述机器管理架构信息中对应的目标节点的方式仅为举例,其他现有的或今后可能出现的确定所述资源调度请求在所述机器管理架构信息中对应的目标节点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,资源调度请求处理装置14利用所述目标节点处理所述资源调度请求。是指所述目标节点的可用资源信息满足所述所请求资源时,在目标节点分配可用资源,从而完成资源调度。接上文举例,资源调度请求指定机架a内任意机器,在机架a所在节点的可用机器列表中找到有可用机器a以及机器b,则机架a所在节点为所述机器管理架构信息中对应的目标节点即为机架a所在节点,在机架a中选择机器a或b对资源调度请求进行响应,将可用机器a和机器b的列表发送出去进行资源分配。

本领域技术人员应能理解上述处理所述资源调度请求的方式仅为举例,其他现有的或今后可能出现的处理所述资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

图7示出根据本申请另一个优选实例的一种用于资源调度的设备中目标节点确定装置示意图。所述目标节点确定装置13包括可用资源检测单元131以及目标节点确定单元132。

其中,所述可用资源检测单元131检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源;目标节点确定单元132若所述对应节点的可用资源信息满足所述所请求资源,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。

具体地,可用资源检测单元131检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源。是指检测资源调度请求中所包含的物理拓扑标签在所述机器管理架构信息中对应节点中的可用资源是否满足资源调度请求中的要求,例如,基于图4中的机器管理架构信息,资源调度请求指定机架a下的任意机器,因此在指定机架a下的机器可用资源是否满足资源请求,此时机架a节点下的可用资源为机器a与机器b,因此此时检测到机架a节点中的可用资源信息满足所述请求资源。若资源调度请求指定机架a下的任意机器中的cpu资源,且此时机架a节点下机器a与机器b中cpu资源不可用,则此时检测到机架a节点中的可用资源信息不满足所述请求资源。在此,检测的方式包括对所述物理拓扑标签在所述机器管理架构信息中对应节点进行遍历,或节点可用资源列表进行查询但不限于此。

本领域技术人员应能理解上述检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源的方式仅为举例,其他现有的或今后可能出现的检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,目标节点确定单元132若所述对应节点的可用资源信息满足所述所请求资源,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。即若所检测的节点中的可用资源满足资源调度请求,则所述节点即为所述请求的目标节点,其所需资源将从所述目标节点中进行调度,接上文举例,资源调度请求指定机架a下的任意机器,机架a节点下机器a和b可用,则机架a为该资源调度请求的目标节点,该资源调度请求的资源将从机器a或b中进行调度。

优选地,所述目标节点确定装置13还包括上层目标节点确定单元135(未示出),所述上层目标节点确定单元135若所述对应节点的可用资源信息未满足所述所请求资源,在所述机器管理架构信息中包含所述对应节点的一个或多个上层节点中确定所述资源调度请求所对应的目标节点,其中,所述目标节点的可用资源信息满足所述所请求资源。所述上层节点即为资源调度请求中指定物理拓扑标签所对应的节点的上层节点,例如基于图4,资源调度请求指定机架a中的任意机器,则机架a的上层节点即为交换机a、机房a以及整个分布式系统,例如,接上文举例,当机架a的可用机器上没有额外的可分配资源,而系统又不可能无限的等待这台机器有空闲的资源,所以在接到请求无法满足的消息后,发出新的资源调度请求,申请交换机a中任意机器资源,这样数据拖动造成的网络消耗只会局限在交换机内部,不会向外扩散;如果此交换机内都没有可用的机器,那么继续申请机房a中任意机器资源,这样数据拖动造成的网络消耗只会局限在机房内部,以此类推从而避免资源调度因为跨越物理拓扑层过远而造成的响应延时,同时降低数据传输带来的网络消耗提升资源调度的效率。

图8示出根据本申请另一个优选实例的一种用于资源调度的设备中目标节点确定装置示意图。所述目标节点确定装置13包括可用资源检测单元131、资源请求排队单元133以及排队资源请求目标节点确定单元134。

其中,所述可用资源检测单元131检测所述物理拓扑标签在所述机器管理架构信息中对应节点的可用资源信息是否满足所述所请求资源;资源请求排队单元133若所述对应节点的可用资源信息未满足所述所请求资源,将所述资源调度请求添加至所述对应节点的待处理请求队列;排队资源请求目标节点确定单元134当所述对应节点的更新后的可用资源信息满足所述所请求资源,且所述资源调度请求在所述待处理请求队列中的优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。

在此,图8中可用资源检测单元131与图7中可用资源检测单元131相同或相似,故此不再赘述。

具体地,资源请求排队单元133若所述对应节点的可用资源信息未满足所述所请求资源,将所述资源调度请求添加至所述对应节点的待处理请求队列。其中,所述待处理请求队列是指根据资源调度请求中物理拓扑标签,将未被满足的资源调度请求插入物理拓扑标签所对应等待队列中,例如,资源调度请求指定机器a,当前机器a正在被占用,则该请求被插入机器a排队队列中等待,所述机器a排队队列中均为指定机器a且未被满足的资源调度请求,相应地,指定机架a且未被满足的资源调度请求被插入机架a排队队列中等待,同理,还有交换机a排队队列、机房a排队队列,机房b排队队列等。优选地,所述待处理请求队列中的资源调度请求可按照一定规则在队列中进行排序,例如按照资源调度请求发出的早晚顺序排序,或者按照资源调度请求的紧急程度排序但并不限于此。

本领域技术人员应能理解上述建立待处理请求队列的方式仅为举例,其他现有的或今后可能出现的建立待处理请求队列的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,排队资源请求目标节点确定单元134当所述对应节点的更新后的可用资源信息满足所述所请求资源,且所述资源调度请求在所述待处理请求队列中的优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。是指在机器管理架构信息更新后可用资源满足待处理请求队列中的资源调度请求时,接上文举例,机器a资源被释放且重新被添加进机器管理架构信息中,可以满足待处理请求队列机器a排队队列中资源调度请求,此时,将机器a排队队列中优先级最高的资源调度请求进行优先满足,从而机器a所在的节点即为对应所满足的资源调度请求的目标节点。

优选地,所述排队资源请求目标节点确定单元134当所述对应节点的更新后的可用资源信息满足所述所请求资源,所述资源调度请求在所述待处理请求队列中优先级最高,且所述资源调度请求在所属的最大堆中优先级最高时,将所述对应节点作为所述资源调度请求在所述机器管理架构信息中对应的目标节点。是指在机器管理架构信息更新后可用资源满足待处理请求队列中的资源调度请求,其中,所更新的可用资源所满足的待处理请求队列所对应的节点有一个或多个,例如,所更新的可用资源为机器a,则在图4的机器管理架构信息的基础上,机器a所对应的节点有机器a、机架a、交换机a以及机房a,上述节点所对应的待处理请求队列中的资源调度请求在机器a可用后均可被满足,因此,需要将优先级最高的资源调度请求进行满足,如图5所示,在机器a的资源被更新,选出机器a所对应的各层节点对应待处理请求队列,将机器a所对应节点的待处理请求队列中优先级最高的资源调度请求取出,并根据优先级的高低建立最大堆,其中,优先级最高的资源调度请求为堆顶元素,因此,机器a的资源优先在堆顶所对应的资源调度请求中分配,即该优先级最高的资源调度请求所对应的节点为目标节点。

本领域技术人员应能理解上述选择可用资源对应优先级最高资源调度请求的方式仅为举例,其他现有的或今后可能出现的选择可用资源对应优先级最高资源调度请求的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

进一步地,所述最大堆还包括每个其他待处理请求队列中优先级最高的其他资源调度请求,每个其他待处理请求队列与在所述机器管理架构信息中包含所述对应节点的一个上层节点相对应。是指最大堆的组成元素均为所更新的可用资源对应节点的待处理请求队列,其中,在最大堆中资源调度请求所对应的待处理请求队列是依照机器管理架构信息中的节点进行建立,且待处理请求队列之间是节点层层包含的关系,例如,机器a的上层节点是机架a,机架a的上层节点是机房a,因此,当更新的可用资源是机器a时,选择对应的节点的待处理请求队列机器a排队队列,以及其上层节点的待处理请求队列机架a排队队列、机房a排队队列,从而使得备选的待处理请求队列更具有针对性,提升甄选优先级最高的资源调度请求的效率,进而提升资源调度效率。

更进一步地,所述其他资源调度请求对应的所述一个上层节点的更新后的可用资源信息满足所述其他资源调度请求对应的请求资源。是指更新后的可用资源所对应的其它待处理请求队列中的资源调度请求均为所述可用资源所对应节点的上层节点,例如,更新后的可用资源为机器a,则机器a的对应节点的待处理请求队列为机器a排队队列,其它待处理请求队列中的资源调度请求均与机器a的上层节点所对应,即机架a排队队列中是请求机架a中任意机器的资源调度请求,交换机a排队队列中是请求交换机a中任意机器的资源调度请求,机房a排队队列中是请求机房a中任意机器的资源调度请求,其中,上层节点对应的待处理队列中的资源请求均可被机器a所满足。

优选地,所述设备1还包括最大堆更新装置15(未示出),所述最大堆更新装置15当所述目标节点为所述资源调度请求分配资源后仍存在可分配资源,在所述最大堆中删除所述资源调度请求并添加所述待处理请求队列中优先级次高的待处理资源调度请求。是指在可用资源取最大堆中优先级最高的资源调度请求满足后,所剩的资源若仍能满足资源调度请求,则将最大堆中已被满足的最大堆元素所对应的资源调度请求删除,并将该被删除的资源调度请求所对应的待处理请求队列中原优先级次高的资源调度请求取出并放入最大堆中,再次进行新一轮的最大堆元素计算,并将最大堆元素所对应的资源调度请求进行资源分配,例如,机器a的资源可用,则在图4的机器管理架构信息的基础上,选择待处理请求队列机器a排队队列、机架a排队队列、交换机a排队队列,机房a排队队列,在所述四个队列中找出优先级最高的资源调度请求放入最大堆,则在最大堆中挑选的优先级最高的资源调度请求分配机器a的资源,其中,所述优先级最高的资源调度请求来自待处理请求队列中的机器a排队队列,在机器a资源分配后还剩部分可用资源,将所述优先级最高的资源调度请求从最大堆中删除,再将机器a排队队列中原先次高即现在最高优先级的资源调度请求取出插入最大堆中,再次选出此时的最大堆堆顶元素中的资源调请求进行满足,从而可对新增资源连续进行优选和分配,提升资源调度的准确度和效率。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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