基于CMDB的自助资源分配调度的方法技术

技术编号:16431356 阅读:32 留言:0更新日期:2017-10-22 06:52
本发明专利技术提供了一种基于CMDB的自助资源分配调度的方法,步骤如下:步骤S1,收集服务器资源信息并存入CMDB数据库资源表中;步骤S2,用户在CMDB系统中填写申请资源信息并提交;步骤S3,客户端接收到用户填写的申请资源信息后,向CMDB系统的服务器端发送请求,服务器端接收到申请资源信息后,构建一个双向队列,并同时把用户的申请资源信息放入双向队列中;步骤S4,从CMDB数据库中获取所有服务器资源信息,并生成动态资源池;步骤S5,计算分配调度申请资源信息;步骤S6,进行申请资源信息验证并实时输出。本发明专利技术避免了服务器单点故障隐患,提高高可用性,从而降低事后人为干预的问题。

A method of self allocating resource scheduling based on CMDB

The present invention provides a method for resource allocation, self scheduling based on CMDB comprises the following steps: step S1, collect information stored in the CMDB database server resources and resource table; step S2, the user in the CMDB system application resources and submit information; step S3, the client receives the information resources for the user to fill after the request the server sends the CMDB system, the server receives the application resource information, build a two-way queue, and the resources for the information users into the bidirectional queue; step S4, get all the information from the CMDB database server resources, and generate dynamic resource pool; step S5, computing scheduling application resource information step S6; apply resource information verification and real-time output. The invention avoids the hidden trouble of the single point of the server, improves the high availability, and reduces the problem that the later generation is the intervention.

【技术实现步骤摘要】
基于CMDB的自助资源分配调度的方法
本专利技术涉及IT管理
,具体涉及一种基于CMDB的自助资源分配调度的方法。
技术介绍
随着目前诸多大型企业越来越重视互联网技术,所建立的数据中心也不单单在某个城市,可能在多个城市、甚至多个国家拥有多个分布式数据中心;而每个数据中心可能还包括数以万计的物理资源和虚拟资源(泛指虚拟机,指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统),尤其是每台物理服务器都承载大量重要的虚拟机等应用。针对这种日趋复杂的情况,需要通过CMDB系统针对“闲置资源”和“业务应用”进行分配及关联。CMDB(ConfigurationManagementDatabase,配置管理数据库)通过识别、控制、维护,检查企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它流程,例如事故管理、问题管理、变更管理、发布管理等流程提供准确的配置信息。作为IT管理的核心,近年来CMDB逐渐成为系统管理项目实施的热点。CMDB系统中至少包含这几种关键的功能:整合、调和、同步、映射和可视化,其中“同步”是指确保CMDB中的信息能够反映联合数据源的更新情况,在联合数据源更新频率的基础上确定CMDB更新日程,按照经过批准的变更来更新CMDB,找出未被批准的变更。这当中有一个重要的特性“资源”,资源在这里多指IP资源,也可以是存储资源、网络资源、机房资源等等,而资源必须要和应用关联起来,那么这当中就会涉及到“资源分配申请”的功能模块。在运用CMDB系统进行资源分配时,通常为了节省成本及资源,会在每台物理机(即宿主机,虚拟机的物理基础,虚拟机存在于宿主机中,与宿主机共享使用硬件。宿主机的运行是虚拟机运行的前提与基础。)中承载多个虚拟机,每个虚拟机可以看作独立的服务器进行使用,然而为了避免发生单点故障(这里的“单点”是指通过CMDB系统在进行自动申请资源时,所申请的某个或多个虚拟机服务器资源,正巧都落在同一个宿主机中,容易发生单点故障),会在多个宿主机及其包含的虚拟机中组建成庞大的计算机集群一来加强计算能力,二来可以防止单点故障发生,然后通过CMDB系统的资源申请功能来让企业开发人员自助根据不同的业务应用来申请资源数量。CMDB系统的资源分配功能,通常都是以网页并且以B/S结构的方式表现,使用人员通过浏览器所呈现的页面进行自助申请操作,结合以上描述,目前主要有以下实施方式:现有技术方案一:如图1所示,包括以下步骤:步骤a1,为每个业务应用开发创建一个CMDB系统,然后将事先已经预定好的应用和所涉及到的所有服务器(集群)资源信息都收集并导入进各个CMDB系统的数据库中,确保每个应用下的CMDB系统中资源信息互相隔离。服务器集群是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份。步骤a2,开发人员通过对应的业务应用中的CMDB系统,进入资源申请的页面,然后填写包括“应用名”、“资源申请数量”、“责任人”等信息自助提交申请操作。步骤a3,后端服务器接收到前端发来的提交申请的数据,会在数据库中表的′status′和′host_ip′字段来组合查询该业务应用是否有可用闲置资源,若有,即会变更和记录相应的数据信息并把结果返回给前端页面;若没有,则会向前端页面抛出错误。图2是各个数据库关于资源表的相关E-R图(EntityRelationshipDiagram,实体-联系图),经图里显示′host_ip′唯一性约束字段可说明其服务器资源仅有宿主机(即物理机)。步骤a4,开发人员或系统管理员可以看到提交申请结果和相关日志。现有技术方案二:如图3所示,现有技术方案二不同于现有技术方案一为每个应用都开发一套独立的CMDB系统,现有技术方案二主要通过一个CMDB系统对多个业务应用进行统一资源申请,而数据库存储的是所有业务应用所涉及到的所有服务器(集群)资源信息,通过图4的E-R图可知,如字段′host_ip′和唯一性约束字段′private_ip′,代表可能有多条数据拥有相同′host_ip′和不同的′private_ip′,说明技术方案二所申请的资源不仅包括宿主机(即物理机),并且部分宿主机中还包括大量虚拟机。接下来的步骤基本和技术方案一所提到的步骤a1、a2、a3一样,开发人员通过申请自助页面填入相关信息后,系统后台向数据库表的′status′和′host_ip′字段来组合查询可用资源,并进行相应的变更和返回结果。综上所述,现有技术方案一主要通过为每个应用都开发一套独立的CMDB系统,并单独存储该应用所对应的资源信息,且这些资源都只是物理服务器,没有虚拟机,因此该方案主要从不同应用之间的数据隔离来确保资源申请的准确性,但由于当前企业互联网业务大量普及,仅仅通过一台物理服务器运行一个应用既浪费服务器性能,又耗费巨大,已不符合现代企业互联网建设的初衷;再者,日后若在物理机中引入虚拟机技术,该方案将无法满足需求,另外,随着企业的发展越来越大,而业务应用也会越来越多,而CMDB系统也会变的更复杂庞大,若为每个应用都单独开发一套CMDB系统和数据库显然大大增加了人力维护的成本,因此该资源申请方案的使用场景非常有限,只适合于拥有服务器资源极少的企业选用。现有技术方案二相当于针对现有技术方案一的改进,通过开发创建一个CMDB系统来统一对各个业务应用进行资源申请,而所有的资源服务器信息都会在一个数据库中进行查询相关可用资源信息,并为使用人员在申请多台资源时随机分配资源数量,尽管这一技术方案大大弥补了技术方案一所涉及的问题,但由于现在诸多企业的服务器资源以虚拟机的形式安放在多台物理机中,这样就会带来另一种问题,如果开发人员在申请2台及2台以上的服务器资源时,后台无论是通过数据库表中的字段′status′和′private_ip′还是字段′status′和′host_ip′进行组合查询并随机分配资源时,都会面临分配的资源都落在同一台宿主机中,而且闲置资源的范围越小,被分配到同一台宿主机的概率就越大,如图5所示;尽管所有的服务器资源(物理机和虚拟机)都已集群化来增强性能及其可靠性,但某个应用的服务器资源都分配在同一个物理机中,集群技术不仅无效,也会存在单点故障;而且即使随机分配发生该概率问题比较小的话,那么也很有可能出现如图6,当某一应用的访问量突然增大时,由于各个被分配的宿主机中的虚拟资源不均衡,会导致某台宿主机的负载极高,而另一些宿主机负载极低,大大浪费了服务器资源,并且随着申请的资源越多,风险就会越大,由此,一旦发生这种情况,势必需要管理人员或开发人员人为干预和修改,极为不便。
技术实现思路
本专利技术通过一些算法及技术手段来增强随机分配资源的可靠性,来避免申请多台资源时所遇到的单点问题,从而解决了现有技术方案存在的技术问题。本专利技术采用的技术方案是:一种基于CMDB的自助资源分配调度的方法,其特征在于,步骤如下:步骤S1,收集服务器资源信息并存入CMDB数据库资源表中;步骤S2,用户在CMDB系统中填写申请资源信息并提交;步骤S3,客户端接收到用户填写的申请资源信息后,向CMDB系统的本文档来自技高网
...
基于CMDB的自助资源分配调度的方法

【技术保护点】
一种基于CMDB的自助资源分配调度的方法,其特征在于,步骤如下:步骤S1,收集服务器资源信息并存入CMDB数据库资源表中;步骤S2,用户在CMDB系统中填写申请资源信息并提交;步骤S3,客户端接收到用户填写的申请资源信息后,向CMDB系统的服务器端发送请求,服务器端接收到申请资源信息后,构建一个双向队列,并同时把用户的申请资源信息放入双向队列中;步骤S4,从CMDB数据库中获取所有服务器资源信息,并生成动态资源池;步骤S5,计算分配调度申请资源信息;步骤S6,进行申请资源信息验证并实时输出。

【技术特征摘要】
1.一种基于CMDB的自助资源分配调度的方法,其特征在于,步骤如下:步骤S1,收集服务器资源信息并存入CMDB数据库资源表中;步骤S2,用户在CMDB系统中填写申请资源信息并提交;步骤S3,客户端接收到用户填写的申请资源信息后,向CMDB系统的服务器端发送请求,服务器端接收到申请资源信息后,构建一个双向队列,并同时把用户的申请资源信息放入双向队列中;步骤S4,从CMDB数据库中获取所有服务器资源信息,并生成动态资源池;步骤S5,计算分配调度申请资源信息;步骤S6,进行申请资源信息验证并实时输出。2.如权利要求1所述的一种基于CMDB的自助资源分配调度的方法,其特征在于,所述服务器资源信息包括物理机和虚拟机。3.如权利要求2所述的一种基于CMDB的自助资源分配调度的方法,其特征在于,所述步骤S4具体包括以下步骤:通过CMDB数据库资源表中的字段把闲置待用的所有服务器资源信息抽取出来,得到一个仅包括ID和物理机IP的无序数据集,所述ID是CMDB数据库中用作主键的唯一标识。4.如权利要求3所述的一种基于CMDB的自助资源分配调度的方法,其特征在于,对闲置待用的服务器资源信息进行按顺序分配,包括以下步骤:将无序数据集IP转换成十进制,即为节点;在内存中创建一个带有索引的动态数组表;将无序数据集里每个服务器资源信息构建成线性表;在动态数组表中通过指针来引用每个无序数据集的线性表形成一种关联。5.如权利要求4所述的一种基于CMDB的自助资源分配调度的方法,其特征在于,通过键来构建一个基于图的有序键...

【专利技术属性】
技术研发人员:顾鲍尔
申请(专利权)人:千寻位置网络有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1