分布式基础设施即服务(IaaS)调度方法及系统的制作方法
【技术领域】
[0001]本发明涉及云计算领域,尤其涉及一种分布式基础设施即服务(IaaS)调度方法及系统。
【背景技术】
[0002]云计算成为继大型机、PC、互联网之后引领IT产业第四次变革浪潮的主题,是互联网时代信息基础设施与应用服务模式的重要形态,它以集中式资源池化管理、资源弹性按需使用、专业化IT服务及海量数据处理能力为主要特点,提供高效能、低成本、低功耗的计算与数据服务,带来计算模式和IT服务模式的变革,支撑各类信息化应用。根据向用户提供的服务的粒度不同,云计算可以分为基础设施即服务(IaaS)、平台即服务(PaaS)以及软件即服务(SaaS)。其中,IaaS依托虚拟化技术得到了迅速的发展。目前,IaaS平台大都采用集中式的资源管理和调度方式。
[0003]图1为现有的IaaS平台的逻辑架构图,如图1所示,用户界面层的应用解析器接收用户递交的各类资源请求,并对资源请求进行解析和分类,将处理结果递送至资源需求调度层的资源需求队列模块,,资源需求队列模块将各用户递交的资源请求放入相应的资源队列中以供资源需求调度模块使用,资源需求调度模块根据资源需求队列模块中各需求的优先级信息,将各个需求发送至虚拟化资源配置模块,以使虚拟化资源配置模块根据当前虚拟化资源使用状态、虚拟化资源历史使用情况,以及各个资源请求中包含的服务等级协议实施资源的优化配置。
[0004]但是,在该IaaS平台的逻辑架构中,每个模块在整个系统中都是共享的,即用户所有的请求都会发往同一个模块,然后进行作业的解析和资源调度,整个系统存在单点故障的问题。
【发明内容】
[0005]本发明提供一种分布式基础设施即服务(IaaS)调度方法及系统,用以解决现有集中式IaaS调度系统中存在的单点故障问题。
[0006]本发明提供的分布式IaaS调度方法,包括:
[0007]IaaS平台接收用户发送的第一请求,所述第一请求包括用户标识信息;
[0008]所述IaaS平台确定与所述用户标识信息对应的历史请求记录是否为空;
[0009]若不为空,则所述IaaS平台从数据库中存储的用户标识信息与任务管理器的对应关系中查找与所述用户标识信息对应的任务管理器,并将所述第一请求发送给所述与所述用户标识信息对应的任务管理器,以使所述任务管理器根据所述第一请求向所述资源管理器申请资源,并根据所述资源管理器返回的资源分配信息,向对应的节点发送第二请求,以使所述对应的节点根据所述第二请求,对所述第一请求进行处理,其中,所述资源分配信息包括所述资源管理器分配的节点信息。
[0010]本发明提供的分布式IaaS调度系统,包括:
[0011]IaaS平台、资源管理器以及至少一个节点,其中,所述节点包括任务管理器;
[0012]其中,所述IaaS平台包括:
[0013]接收模块,用于接收用户发送的第一请求,所述第一请求包括用户标识信息;
[0014]确定模块,用于确定与所述用户标识信息对应的历史请求记录是否为空;
[0015]查找模块,用于若所述与所述用户标识信息对应的历史请求记录不为空,则从数据库中存储的用户标识信息与任务管理器的对应关系中查找与所述用户标识信息对应的任务管理器;
[0016]第一发送模块,用于将所述第一请求发送给所述与所述用户标识信息对应的任务管理器;
[0017]所述任务管理器,包括:
[0018]第二发送模块,用于根据所述第一请求向所述资源管理器申请资源,并根据所述资源管理器返回的资源分配信息,向对应的节点发送第二请求以使所述对应的节点根据所述第二请求,对所述第一请求进行处理,其中,所述资源分配信息包括所述资源管理器分配的节点信息。
[0019]本发明提供的分布式IaaS调度方法及系统,通过为每个用户分配一个对应的任务管理器,并将用户标识信息与任务管理器的对应关系存储在数据库中,当用户向IaaS平台发送请求时,通过IaaS平台确定与所述用户标识信息对应的历史请求记录是否为空(即用户是否为首次向IaaS平台发送请求),若不是,则IaaS平台直接从数据库中查找与所述用户标识信息对应的任务管理器,将用户请求直接发送给所述任务管理器,以使任务管理器根据用户请求向资源管理器申请资源,并根据资源管理器返回的资源分配信息,向资源分配信息中指定的节点发送请求,进而使得所述节点对用户请求进行处理。避免了现有IaaS调度系统由于共享所有处理模块所造成的单点故障的问题,提高了系统的可靠性。
【附图说明】
[0020]图1为本发明实施例一提供的分布式IaaS调度方法的流程示意图;
[0021]图2为本发明实施例二提供的分布式IaaS调度方法的流程示意图;
[0022]图3为本发明实施例三提供的分布式IaaS调度系统的结构示意图。
【具体实施方式】
[0023]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024]实施例一
[0025]图1为本发明实施例一提供的分布式IaaS调度方法的流程示意图,如图1所示,本实施例提供的方法,包括:
[0026]步骤101、IaaS平台接收用户发送的第一请求,所述第一请求包括用户标识信息;
[0027]步骤102、所述IaaS平台确定与所述用户标识信息对应的历史请求记录是否为空;
[0028]具体的,当IaaS平台接收到用户发送的第一请求后,根据第一请求中的用户标识信息在数据库中查找与其对应的历史请求记录中是否存在用户的历史请求记录,若存在,则所述与用户标识信息对应的历史请求记录不为空,即用户不是第一次向IaaS平台发送请求;若不存在,则所述与用户标识信息对应的历史请求记录为空,即用户是第一次向IaaS平台发送请求。
[0029]步骤103、若不为空,则所述IaaS平台从数据库中存储的用户标识信息与任务管理器的对应关系中查找与所述用户标识信息对应的任务管理器,并将所述第一请求发送给所述与所述用户标识信息对应的任务管理器,以使所述任务管理器根据所述第一请求向所述资源管理器申请资源,并根据所述资源管理器返回的资源分配信息,向对应的节点发送第二请求,以使所述对应的节点根据所述第二请求,对所述第一请求进行处理,其中,所述资源分配信息包括所述资源管理器分配的节点信息。
[0030]具体的,在本实施例中,任务管理器被设计为长时间运行、常驻内存的服务模式,即当任务管理器被分配给指定用户后,任务管理器循环监听其与用户之间的用户接口,接收用户提交的请求保存在队列中。
[0031]当IaaS平台确定与用户标识信息对应的历史请求记录不为空,即用户不是第一次向IaaS平台发送请求时,IaaS平台根据第一请求中的用户标识信息从数据库中存储的用户标识信息与任务管理器的对应关系中查找与该用户标识信息对应的任务管理器,并将第一请求直接发送给该任务管理器,该任务管理器通过循环监听和其对应的用户之间的用户端口,接收IaaS平台发送的第一请求,并通过解析处理获取第一请求对应的资源需求量以及第一请求的优先级信息,并按照第一请求的优先级信息,按照优先级顺序向资源管理器申请资源,资源管理器根据第一请求的资源需求量以及当前资源的使用情况,经过系统的资源调度算法为第一请求分配资源,并将资源分配信息发送给任务管理器,以使任务管理器根据资源分配信息中包括的节点信息以及资源信息,向对应的节点发送第二请求,使得所述对应的节点根据资源管理器分配的资源对第一请求进行处理。
[0032]本实施例提供的分布式IaaS调度方法,通过为每个用户分配一个对应的任务管理器,并将用户标识信息与任务管理器的对应关系存储在数据库中,当用户向IaaS平台发送请求时,通过IaaS平台确定与所述用户标识信息对应的历史请求记录是否为空(即用户是否为首次向IaaS平台发送请求),若不是,则IaaS平台直接从数据库中查找与所述用户标识信息对应的任务管理器,将用户请求直接发送给所述任务管理器,以使任务管理器根据用户请求向资源管理器申请资源,并根据资源管理器返回的资源分配信息,向资源分配信息中指定的节点发送请求,进而使得所述节点对用户请求进行处理。避免了现有IaaS调度系统由于共享所有处理模块所造成的单点故障的问题,提高了系统的可靠性。
[0033]实施例二
[0034]图2为本发明实施例二提供的分布式IaaS调度方法的流程示意图,如图2所示,本实施例提供的方法包括:
[0035]步骤201、IaaS平台接收用户发送的第一请求,所述第一请求包括用户标识信息;
[0036]步骤202、所述IaaS平台确定与所述用户标识信息对应的历史请求记录是否为空;
[0037]步骤203、若所述与所述用户标识信息对应的历史请求记录为空,则所述IaaS平台将所述第一请求存储到与所述用户标识信息对应的历史请求记录中,并将所述第一请求发送给资源管理器,以使所述资源管理器根据各节点当前的资源使用情况,为所述第一请求分配节点和资源,以使被分配节点的节点管理器启动对应的任务管理器对所述第一请求进行处理,并将所述任务管理器与所述用户标识信息的对应关系发送给所述数据库进行存储。
[0038]具体的,若IaaS平台确定与用户标识信息对应的历史请求记录为空,即用户是第一次向IaaS平台发起请求,则IaaS平台创建与用户标识信息对应的历史请求记录,例如当用户是第一次向IaaS平台发起请求,则IaaS平台为用户对应的用户标识信息创建对应的历史请求记录,将第一请求以及第一请求的发起时间、请求内容等信息存储在历史请求记录中。
[0039]IaaS平台将第一请求发送给资源管理器,资源管理器对接收到的第一请求进行解析,获取第一请求对应的资源需求量以及第一请求的优先级信息,根据第一请求的优先级信息和当前资源的使用情况,在某节点上分配运行任务管理器所需要的资源,并将用户的第一请求和分配的资源发送给被分配的节点,使得被分配节点的节点管理器启动对应的任务管理器对第一请求进行处理,并建立任务管理器与用户标识信息之间的对