数据中心/集群系统自组织的实现方法及系统与流程

文档序号:13839078阅读:328来源:国知局

本发明涉及高性能计算、科学计算、云计算、大数据、统计学习技术领域,特别涉及一种数据中心/集群系统自组织的实现方法及系统。



背景技术:

在云数据中心、科学计算、用于深度学习的统计训练等应用场景中,均需使用大量服务器构建面向特定应用领域的集群系统。但是,行业应用负载多变,单一数据中心中运行的系统已超过数十万台量级,在这种大规模系统中,对集群计算机系统的架构、组成、管理都提出了更高要求和挑战。进一步来讲,需要对全部软硬件资源以及其功能、角色、分组进行一致的定义和描述,才能方便实现数据中心系统的安全、容错、可靠、强一致、易维护等目标。



技术实现要素:

本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。

为此,本发明的一个目的在于提出一种数据中心/集群系统自组织的实现方法。该数据中心/集群系统自组织的实现方法是一种与硬件平台、厂商、架构等等均无关的自动部署组织机制,通过对数据中心/集群系统进行描述定义,实现了系统运行的一致性、灵活性、个性化的统一。

本发明的另一个目的在于提出一种数据中心/集群系统自组织的实现系统。

为了实现上述目的,本发明的一方面公开了一种数据中心/集群系统自组织的实现方法,包括:根据实际需求,创建基于预定格式的初始描述文件;在所述数据中心/集群中选择管理工作机;以所述管理工作机为出发点在多个节点上启动微内核,自动收集所述微内核中的各节点的信息完善所述初始描述文件;根据定制开发的解释器,对完善后的描述文件进行编译解释,完成所述数据中心/集群系统的构建。

根据本发明的数据中心/集群系统自组织的实现方法,通过采用预定格式创建的初始描述文件,再通过在数据中心/集群系统的各节点组成微内核自动收集微内核中节点的信息完善初始描述文件,将描述文件编译解释成一系列自动化处理流程,这样形成了一种与硬件平台、厂商、架构等等均无关的自动部署组织机制,通过对数据中心/集群系统进行描述定义,实现了系统运行的一致性、灵活性、个性化的统一。

另外,根据本发明上述实施例的数据中心/集群系统自组织的实现方法还可以具有如下附加的技术特征:

进一步地,所述初始描述文件包括:以机架为单位的拓扑布局、全局的网络拓扑、全局外联接口、全局内联接口、全局日志服务、控制节点、工作节点、分组和角色定义、硬件抽象定义、定制和裁剪定义。

进一步地,还包括:根据所述微内核中的各节点的种类,完善分组和角色定义的所述初始描述文件。

进一步地,还包括:根据所述微内核中的各节点的功能或角色信息,完善分组和角色定义的所述初始描述文件。

进一步地,还包括:根据人工制定,完善硬件抽象定义的所述初始描述文件。

本发明的另一方面公开了一种数据中心/集群系统自组织的实现系统,包括:创建初始描述文件模块,用于根据实际需求,创建基于预定格式的初始描述文件;选择模块,所述选择模块与所述创建初始描述文件模块相连,用于在所述数据中心/集群中选择管理工作机;完善模块,所述完善模块与所述选择模块相连,用于以所述管理工作机为出发点在多个节点上启动微内核,自动收集所述微内核中的各节点的信息完善所述初始描述文件;翻译模块,所述翻译模块与所述完善模块相连,用于根据定制开发的解释器,对完善后的描述文件进行编译解释,完成所述数据中心/集群系统的构建。

根据本发明的数据中心/集群系统自组织的实现系统,通过采用预定格式创建的初始描述文件,再通过在数据中心/集群系统的各节点组成微内核自动收集微内核中节点的信息完善初始描述文件,将描述文件编译解释成一系列自动化处理流程,这样形成了一种与硬件平台、厂商、架构等等均无关的自动部署组织机制,通过对数据中心/集群系统进行描述定义,实现了系统运行的一致性、灵活性、个性化的统一。

另外,根据本发明上述实施例的数据中心/集群系统自组织的实现系统还可以具有如下附加的技术特征:

进一步地,所述初始描述文件包括:以机架为单位的拓扑布局、全局的网络拓扑、全局外联接口、全局内联接口、全局日志服务、控制节点、工作节点、分组和角色定义、硬件抽象定义、定制和裁剪定义。

进一步地,所述完善模块具体用于根据所述微内核中的各节点的种类,完善分组和角色定义的所述初始描述文件。

进一步地,所述完善模块具体用于根据所述微内核中的各节点的功能或角色信息,完善分组和角色定义的所述初始描述文件。

进一步地,所述完善模块具体用于根据人工制定,完善硬件抽象定义的所述初始描述文件。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的数据中心/集群系统自组织的实现方法的流程图;

图2是数据中心/集群系统描述格式总体的示意图;

图3(1)是全局定义格式的示意图;

图3(2)是全局布局(layout/rack)的定义格式的示意图;

图3(3)是全局布局(globalsetting/nettopology定义格式的示意图;

图3(4)是全局布局(globalsetting/incoming)的定义格式的示意图;

图3(5)是全局布局(globalsetting/logging)定义格式的示意图;

图4(1)是主控节点(组)的定义格式的示意图;

图4(2)是主控节点的定义格式的示意图;

图5是工作/服务节点定义格式的示意图;

图6是服务节点分组的定义格式的示意图;

图7是硬件抽象定义格式的示意图;

图8是裁剪与定制的定义格式的示意图;

图9是根据本发明一个实施例的数据中心/集群系统自组织的实现系统的结构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

以下结合附图描述根据本发明实施例的数据中心/集群系统自组织的实现方法及系统。

图1是根据本发明一个实施例的数据中心/集群系统自组织的实现方法的流程图。

如图1所示,根据本发明一个实施例的数据中心/集群系统自组织的实现方法,包括:

s110:根据实际需求,创建基于预定格式的初始描述文件。

具体来说,根据实际需求创建的初始描述文件为所涵盖的数据中心/集群系统中各个服务器或工作机公知的功能。即,先对数据中心/集群系统中各个服务器或工作机公知的功能或者角色进行基本定义。

其中,预定格式可以为通用的xml(extensiblemarkuplanguage,可扩展标记语言)格式。

其中,结合图2所示,全部定义都位于clusterdesc元素下,初始描述文件包括:以机架为单位的拓扑布局、全局的网络拓扑、全局外联接口、全局内联接口、全局日志服务、控制节点(controllers)、工作节点(workers)、分组和角色定义(category)、硬件抽象定义(hardware)、定制和裁剪定义(customization)。以机架为单位的拓扑布局、全局的网络拓扑、全局外联接口、全局内联接口、全局日志服务均为数据中心/集群系统的全局定义,全局定义由globalsettings给出。

具体来说,系统的全局定义(globalsettings)给出整个集群/数据中心中通用描述信息定义的基本格式,用以规范多集群,拓扑的全局性描述。结合图3(1)所示,其中包含以机架为单位的拓扑布局(layout),全局的网络拓扑(nettopology),全局外联接口(outgoing),全局内联接口(incoming),全局日志服务(logging)元素。结合图3(2)所示,layout包括命名规则(name),行列位置描述(row,col),角色分担(role),供电通道(power),机架内部布局(numbox),机架本身的管理网络配置包括ip,掩码(netmask),途径(gateway)。结合图3(3)所示,nettopology:定义全局的网络拓扑,给出全局的路由器(router)和交换机(switch)的布局和连接拓扑描述。其中router元素给出路由器网络配置(netconfig)描述,从三方面特性描述为:管理ip(managerip)、管理掩码(managernetmask)、管理路径(managergateway),其网络分段(netseg)描述,以特性从哪分段到哪结束(from…to…)描述,以及管理端口(port)定义等。switch元素给出网络配置(netconfig)级联拓扑(upperlink)描述等。outgoing:定义整个系统的全局外联接口,给出对公共网络的连接,路由等的描述和配置信息。结合图3(4)所示,incoming:定义整个系统的全局内联接口,外部公共网络对内连接(portmapping)、转发(forwarding)、过滤(filtering)、路由(routing)、端口开放(portmap)等的描述和配置信息。结合图3(5)所示,logging:定义系统全局日志服务的相关信息,包括日志服务器组(servers)的地址(ip),名字(name),掩码(netmask),路径(gateway),连接(connection),用户名(username),密码(password)、服务设施,服务器记录方式,记录保存的位置、格式等。

控制节点(controllers)负责数据中心/集群系统的管理功能,主要负责为工作节点提供系统映像,承担管理中介,管理员也可以操作该节点对系统中的所有角色、任务加以控制。可以是一个单一节点也可以配置为一主节点和若干备份节点共同组成控制节点。结合图4(1)所示,controllers:是一个可重复出现的元素,每个元素定义一组功能类似的控制节点,通过这个节点的角色(role),群(group)两个属性指定其所服务的范围。controller:每个controllers组里都可以定义若干控制节点(controller),每个controller为其主控服务器定义细节,例如:定义主控节点的网络配置(network)、主控节点的备份节点(backup)、主控节点(及其备份节点)上启用的服务列表(service)、主控节点(及其备份节点)上安装的软件(software)、主控节点(及其备份节点)上安装的设备及设备所使用的驱动软件(driver)。具体来说,结合图4(2)所示,单个的控制节点(controller)定义的network可以定义指定主机名(hostname),不同网卡的ip地址(ip),掩码(netmask)、路径(gateway)等信息。backup可以定义主机名(hostname)及相关配置。service可以定义启动方法(startmethod)、配置(config)以及它们所使用的配置信息保存在什么位置等等。software可以定义名称(name),版本号(version),安装位置(location)等信息。driver可以定义设备名称(name)、版本(version)及设备所使用的驱动软件等等。

工作节点(workers)由一个或者多个单个工作节点(worker)组成,工作节点数量大,承担的功能多样,同时又需要维护全局一致的配置信息。定义工作节点上使用的系统映像配置信息,工作节点的角色(组),工作节点私有、公有配置信息,工作节点特殊的软硬件配置信息等。具体来说,结合图5所示,单个工作节点(worker)可以定义工作节点的网络配置(network)、定义工作节点的安装信息(installation)、定义节点上安装、启用的软件(softwares)、定义节点上安装、启用的服务(services)。具体来说,network可针对多个网卡以及桥接、绑定网卡分别定义其配置信息,其中,配置信息为主机名(hostname)、ip地址(ip)、掩码(netmask)、路径(gateway)。installation定义支架(rack)、上位路由(upperrouters)、上位转换(upperswitchs)以及安装位置,安装角色,处在网络拓扑结构中的连接信息等等。softwares定义节点上名称(name),版本号(version)、路径(path)、来源地址(sourceurl)配置路径(configpath)、安装位置、配置信息等。services定义名称(name)、服务进程的版本(version)、路径(path)、运行策略(runpolicy)以及配置文件等。其中,工作节点也可以叫做服务节点。

结合图6所示,分组和角色定义(category)的目的是将承担相同功能、采取相似配置的节点组合在一起以便统计集中管理。可以使功能、配置相同的节点共享同一份配置、软件安装和服务安装。用class定义节点的分类,每个分类又可以进一步通过property定义分组。分组和分类结合,通过继承的方式按照从一般到特殊的逻辑定义节点的分组分层结构。相应地自动实现不同级别的配置、软件、服务共享。对数据中心/集群内承担各不同功能角色进行分组和角色定义只给出描述性信息,如:何种模式的机架名字,何种模式的主机名字应该属于那种类型的工作组。分组和角色可以继承,即,一个具有普遍意义的角色下面可以分别制定不同级别的具体含义的节点组。

结合图7所示,硬件抽象定义(hardware)主要用于定义功能(function)用于描述附属设备的功能,与之关联的应用程序,驱动等。pci类(pciclass):用于描述设备安装后在系统中识别出来的标识,编号等。描述设备的类型(type),如字符型,块设备等,给出其虚拟设备映射关系。因为数据中心/集群系统种不同类型角色的节点其配置会有所不同,通过异构硬件抽象的定义,可以针对不同角色/分组实施不同的系统加载策略,从而实现按需驱动各类硬件。

结合图8所示,定制和裁剪定义(customization)keep:用于描述需要保留的内核组件,硬件设备,驱动等。eliminate:用于描述需清除的内核组件,硬件设备,驱动等。对定制和剪裁进行定义可以根据不同角色分组的需要决定分别启用不同的硬件设备,通过定义定制与裁剪可以指导内核重新生成,并将不需要的硬件进行屏蔽。

综上可知,对系统进行了构架、分组、角色、应用背景、硬件抽象等等进行了布置和定义,可以实现数据中心/集群系统软硬件部署、管理、运行和系统的精确控制,并且,定义了定制和裁剪可进一步地实现系统的静态结构、动态结构的自动维护和调整、可望系统化,一致性地解决大规模数据中心/集群运行的确定性问题,从而支持高效率、智能化的数据中心运营。

s120:在数据中心/集群中选择管理工作机。

具体来说,可以选择数据中心/集群中任何一个工作机作为一个管理工作机,并且,在定义完成后,该管理工作机可以加入管理控制节点组(controllers),也可以作为根据工作机本质的特性加入具有该特性的组发挥其原有功能,对此并不做限制。

s130:以管理工作机为出发点在多个节点上启动微内核,自动收集微内核中的各节点的信息完善初始描述文件。

步骤s130是以一小组的名义,收集组内成员的个性特点,利用收集到的个性特点对在s110步骤中定义的初始描述文件进行完善。具体来说,是以选定的管理工作机作为出发点或者可以说是源头,在多个节点上启动微内核,这个微内核可以是该管理工作机相邻的多个节点组成,也可以是功能相同的多个节点组成,也可以是相关联的多个节点组成,对此不作限制。在启动微内核后,可以自动收集微内核中各个节点的个性化的信息完善初始描述文件。

作为一个示例:根据微内核中的各节点的种类,完善分组和角色定义的初始描述文件。进一步地,根据所述微内核中的各节点的功能或角色信息,完善分组和角色定义的初始描述文件。具体来说,由于初始描述文件中定义了分组和角色,然而,在系统中的各个服务器或者硬件均有自己的个性化信息例如,个人身份信息,这些不可能是公开的,即,不可能在初始描述文件中进行定义,所以只能通过组成的微内核进行组内收集,收集到的个性化信息,用于完善关于初始描述文件的分组和角色定义。

作为另一个示例,对于硬件抽象定义来说,大部分情况都是通过微内核感知程序进行自动化收集信息的,但有少部分也可以根据人工制定,完善硬件抽象定义的初始描述文件。

s140:根据定制开发的解释器,对完善后的描述文件进行编译解释,完成数据中心/集群系统的构建。

具体来说,在软件上,针对上述各类定义,有对应的解释器进行解析,并根据解释器得到的信息,指导内核的构建、映像生成、分级分组,解释器与内核启动映像集成,完成数据中心/集群系统的构建。

根据本发明的数据中心/集群系统自组织的实现方法,通过采用预定格式创建的初始描述文件,再通过在数据中心/集群系统的各节点组成微内核自动收集微内核中节点的信息完善初始描述文件,将描述文件编译解释成一系列自动化处理流程,这样形成了一种与硬件平台、厂商、架构等等均无关的自动部署组织机制,通过对数据中心/集群系统进行描述定义,实现了系统运行的一致性、灵活性、个性化的统一。

图9是根据本发明一个实施例的数据中心/集群系统自组织的实现系统的结构图。

如图9所示,本发明一个实施例的数据中心/集群系统自组织的实现系统200,包括:创建初始描述文件模块210、选择模块220、完善模块230和翻译模块240。

其中,创建初始描述文件模块210用于根据实际需求,创建基于预定格式的初始描述文件。选择模块220与创建初始描述文件模块210相连,用于在数据中心/集群中选择管理工作机。完善模块230与选择模块220相连,用于以管理工作机为出发点在多个节点上启动微内核,自动收集微内核中的各节点的信息完善初始描述文件。翻译模块240与完善模块230相连,用于根据定制开发的解释器,对完善后的描述文件进行编译解释,完成数据中心/集群系统的构建。

根据本发明的数据中心/集群系统自组织的实现系统,通过采用预定格式创建的初始描述文件,再通过在数据中心/集群系统的各节点组成微内核自动收集微内核中节点的信息完善初始描述文件,将描述文件编译解释成一系列自动化处理流程,这样形成了一种与硬件平台、厂商、架构等等均无关的自动部署组织机制,通过对数据中心/集群系统进行描述定义,实现了系统运行的一致性、灵活性、个性化的统一。

在一些实施例中,初始描述文件包括:以机架为单位的拓扑布局、全局的网络拓扑、全局外联接口、全局内联接口、全局日志服务、控制节点、工作节点、分组和角色定义、硬件抽象定义、定制和裁剪定义。

在一些实施例中,完善模块230具体用于根据微内核中的各节点的种类,完善分组和角色定义的初始描述文件。

在一些实施例中,完善模块230具体用于根据微内核中的各节点的功能或角色信息,完善分组和角色定义的初始描述文件。

在一些实施例中,完善模块230具体用于根据人工制定,完善硬件抽象定义的初始描述文件。

需要说明的是,本发明实施例的数据中心/集群系统自组织的实现系统的具体实现方式与本发明实施例的数据中心/集群系统自组织的实现方法的具体实现方式类似,具体请参见数据中心/集群系统自组织的实现方法部分的描述,为了减少冗余,此处不做赘述。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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