[发明专利]资源分配方法、资源管理器、资源服务器及系统有效
申请号: | 201210449230.7 | 申请日: | 2012-11-09 |
公开(公告)号: | CN103810045A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 谢智永 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 戴燕 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 资源 分配 方法 资源管理器 服务器 系统 | ||
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源分配方法、资源管理器、资源服务器及系统。
背景技术
本申请中的资源是指能够提供某种特定业务处理能力的设备或程序,例如一台应用服务器或者一个线程等。在处理大数据量的业务场景中,单个线程甚至单台服务器的处理能力都是有限的,无法满足数据处理速度的要求,因此在这种场景中,往往需要引入多台服务器,共同处理同一个任务。
资源组是具备同一个业务处理功能的一组资源集合,同一资源集合内的资源具有相同或不同的业务处理能力,并可以分布式的部署方式构成分布式系统。分布式系统以全局方式管理系统资源,可以为用户任意调度系统内的资源。当用户提交一个作业时,分布式系统能够根据需要选择合适的执行资源数及用于执行任务的资源,将用户的作业提交到该些资源,在处理器完成作业后,将结果传给用户。资源版本是用于分布式系统协调资源组内各个资源之间就绪状态的标志位,只有资源组内所有的资源版本一致时,资源组变更才结束,此时才能重新分配任务,否则仍需按资源组变化前的分配情况进行执行。
现有的分布式资源分配方法是通过将任务按一定维度切割成更细粒度的子任务,并存储于数据库的任务配置表中,然后由资源组中每个资源服务器通过对数据库中子任务记录进行抢占式读取,若读取成功则该子任务属于本资源处理,否则为其它资源处理,并每隔一定时常更新自己负责的子任务的记录的状态,确保该子任务不被其它资源读取,若超过一定时长记录未被更新,则认为原先负责处理该子任务的资源出现异常或者已经推出资源组,该子任务可以被其它资源组内的资源处理。
由于现有的分布式资源分配方法是基于数据库存储的进行的,出于性能的考虑,需要引入一个子任务持有时间超时的概念,以减少对数据库的访问频率,但也因此带来了任务调度延迟的问题,尤其是在新增资源或出现下线资源时,不能动态调整任务的分配,导致处理延时。例如原有资源组内由三个资源共同负责处理一个任务,每个资源负责其中的三分之一,在某个时刻,其中一个资源异常退出资源组,在这种情况下,该资源原先持有的子任务将不在资源组的处理范围内,直到其持有时间超时而被其它两个资源重新分配为止,因此会导致任务调度延迟的情况。
发明内容
本申请的目的是,提供一种资源分配方法、资源管理器、资源服务器及系统,将实际可用资源组信息推送至每个资源,确保每个资源均可获得整个资源组的信息,将任务在资源组内的进行合理的动态分配,不需要依赖数据库,避免出现任务处理延迟的情况。
为实现上述目的,本申请提供了一种资源分配方法,所述方法包括:
管理器接收资源组中的资源发送的注册信息,所述注册信息中携带有资源的版本号和资源标识;
根据所述注册信息,判断所述资源组中是否有资源变更;
如果所述资源组中有资源变更,则生成新版本号,并发送所述新版本号到所述资源组中的资源,用以所述资源将版本号更新为所述新版本号;
判断接收到的所述注册信息中是否存在与所述新版本号不相同的版本号,如果否,则将该与所述新版本号相同的资源作为可用资源。
又一方面,本申请还提供了一种资源分配方法,所述方法包括:
当前资源接收资源组的管理器发送的新版本号;
判断所述当前资源的版本号是否与所述新版本号相同,如果是,则将所述当前资源作为可用资源,否则,将所述当前资源的版本号更新为所述新版本号;
发送注册信息至所述管理器,所述注册信息中携带有所述当前资源的版本号和资源标识。
再一方面,本申请还提供了一种资源分配方法,所述方法包括:
接收资源组中的资源发送的注册信息,所述注册信息中携带有资源的版本号和资源标识;
根据所述注册信息,判断所述资源组中是否有资源变更,如果有,则更新所述资源组的资源列表,并将更新后的资源列表发送给所述资源组中各个资源,用以所述资源组中各个资源更新版本号;
判断所述资源组中各个资源的版本号是否一致,如果一致,则将所述资源组中的资源作为可用资源。
再一方面,本申请还提供了一种资源分配方法,所述方法包括:
发送注册信息至管理器,所述注册信息中携带有资源的版本号和资源标识,用以所述管理器更新所述资源组的资源列表;
接收所述管理器发送的资源列表;
判断所接收到的资源列表与上一次接收到的资源列表是否相同,如果不相同,则更新自身的版本号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210449230.7/2.html,转载请声明来源钻瓜专利网。