一种推荐云主机配置的方法及云主机
技术领域
本发明涉及云计算技术领域,尤其涉及一种推荐云主机配置的方法,以及基于该方法所配置得到的一种云主机。
背景技术
云主机是云计算平台中的基础设施服务产品。现有技术的云主机通常按照用户需求并基于用户支付的费用,向用户配置包含CPU、带宽、存储设备的云主机,以实现按需制定并形成云主机。
在现有技术中有预定义配置云主机以及自定义选择配置的方式,以基于用户在客户端的操作形成云主机,以最终向用户提供服务。然而,无论是预定义配置云主机以及自定义选择配置的方式都存在一个比较严重的问题,即,用户往往无法知悉其所配置的云主机是否能够满足其真实的需求,因此导致配置形成的云主机中的配置如果过高,则会导致资源的浪费;如果配置过低,则会导致配置出来的云主机无法满足用户的需求。
有鉴于此,有必要对现有技术中的推荐云主机配置的方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种推荐云主机配置的方法,用以实现对用户配置形成的云主机进行合理规划,既保证云计算平台中的各种资源能够合理地被利用,又能确保为用户配置封装的云主机能够满足用户需求,以提高云主机配置的合理性;同时本发明还揭示了一种基于推荐云主机配置的方法所配置得到的一种云主机。
为实现上述目的,本发明提供了一种推荐云主机配置的方法,包括:
获取基础配置数据并保存至存储设备,自信息输入界面输入用户预定义数据并保存至分析服务器;
分析服务器以用户预定义数据为输入,自存储设备调用基础配置数据,并根据预定义条件计算云主机的平均配置数据,将所述平均配置数据保存至业务服务器,并由业务服务器在信息输入界面中可视化展示所述平均配置数据,所述信息输入界面中形成推荐界面与个性定制界面;
业务服务器引导客户端将客户端择一地重定向至推荐界面或者个性定制界面,并在推荐界面或者个性定制界面中确定云主机所加载的资源,以响应业务服务器。
作为本发明的进一步改进,所述根据预定义条件计算云主机的平均配置数据包括:
分析服务器根据业务服务器所接收到的用户在信息输入界面中输入的预定义条件从存储设备中调用适格数据,并将所述适格数据中包含的配置项,以计算云主机的平均配置数据,并保存至业务服务器。
作为本发明的进一步改进,所述方法还包括:
判断是否存在适格数据,
若不存在适格数据,则由分析服务器自存储设备调取基础配置数据,并发送至业务服务器;
若存在适格数据,则对适格数据中包含的配置项分别作相加运算后,除以适格数据的总数,得平均配置数据。
作为本发明的进一步改进,所述方法还包括:
将平均配置数据与基础配置数据进行比较,
当平均配置数据中的配置项小于基础配置数据的配置项时,则相对应的基础配置数据的配置项替换平均配置数据的配置项;
当平均配置数据中的配置项大于或者等于基础配置数据的配置项时,不作上述替换操作。
作为本发明的进一步改进,所述预定义条件为行业、用途、操作系统、中间件或者使用人数中的一种条件或者几种条件。
作为本发明的进一步改进,所述存储设备选自机械硬盘、固态硬盘、Ceph存储、NAS存储、SAN存储、NVDIMM、RAID或者数据库中的一种或者几种;
所述数据库选自SQL数据库、Oracle数据库、MySQL数据库、Mongo DB数据库或者Influxdb数据库中的任意一种。
作为本发明的进一步改进,所述操作系统选自Windows Server 2003R232位/64位、Windows Server 2008R2 32位/64位、Windows Server 2012R2 64位、Windows Server2016 32位/64位、CentOS 6.5 32位/64位、CentOS 6.9 32位/64位、CentOS 7.2 64位、Centos 7.4 64位、Ubuntu 14.04 64位或者Ubuntu16.04 64位。
作为本发明的进一步改进,所述中间件选自容器中间件、数据库、缓存中间件、消息中间件或者搜索中间件中的一种或者几种。
作为本发明的进一步改进,所述容器中间件选自IIS、tomcat、nginx、apache、weblogic、websphere或者jBoss中的一种或者几种;所述缓存中间件选自redis和/或memcached;所述消息中间件选自activeMQ、rabbitMQ或者kafka中的一种或者几种;所述搜索中间件选自elasticSearch和/或solr。
作为本发明的进一步改进,所述个性定制界面接收业务服务器返回的适格数据,并在所述个性定制界面中形成与配置项数量相匹配的选择条,所述选择条形成能够限定滑动并标定配置项数值的滑块。
作为本发明的进一步改进,所述方法还包括:
将滑块所标定的配置项的数值与适格数据所对应的平均配置数据或基础配置数据进行比较;
当滑块标定的当前配置项设置小于平均配置数据或基础配置数据时,选择条发出告警;
当滑块标定的当前配置项设置大于或者等于平均配置数据或基础配置数据时,选择条不发出告警。
作为本发明的进一步改进,所述方法运行于服务器,所述服务器与客户端建立通信连接;所述存储设备、分析服务器及业务服务器部署于服务器;所述信息输入界面、推荐界面及个性定制界面嵌入运行于所述服务器。
作为本发明的进一步改进,所述方法运行于服务器,所述服务器与客户端建立通信连接;所述存储设备、分析服务器及业务服务器部署于服务器;所述信息输入界面、推荐界面及个性定制界面嵌入运行于所述客户端,所述客户端通过TCP/IP协议、HTTP协议或者Socket协议与服务器建立连接;其中,
所述客户端被配置为逻辑上与服务器相互独立且可输入交互式命令并显示信息输入界面、推荐界面及个性定制界面的计算装置。
作为本发明的进一步改进,所述方法还包括:将所述确定云主机所加载的资源保存至存储设备。
同时,作为一个总的发明构思,本申请还揭示了一种云主机,,采用上述任意一种推荐云主机配置的方法所确定的资源配置而成。
与现有技术相比,本发明的有益效果是:通过本发明所揭示的一种推荐云主机配置的方法,提供了可视化界面供用户对不同配置项进行选择,更重要的是,在本发明中用户不需要知悉不同配置项的技术含义,实现了对用户配置形成的云主机进行合理规划,既保证了云平台中的各种资源能够合理地被利用,又能确保为用户配置封装的云主机能够满足用户需求,从而显著地提高了云主机配置的合理性。
附图说明
图1为本发明推荐云主机配置的方法中形成的信息输入界面示意图;
图2为发明推荐云主机配置的方法中形成的推荐界面示意图;
图3为发明推荐云主机配置的方法中形成的个性定制界面示意图;
图4为本发明推荐云主机配置的方法的逻辑流程图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
实施例一:
本申请中,“大于”或者“小于”均不含本数。
请参图1至图4所示出的本发明一种推荐云主机配置的方法的一种具体实施例。本实施例所揭示的一种推荐云主机配置的方法。本方法主要历经基础数据收集步骤(通过图1所示出的信息输入界面100实现)、配置分析步骤配置推荐步骤(通过图2所示出的推荐界面100a实现)、及个性定制步骤(通过图3所示出的个性定制界面100b实现),其中,个性定制步骤并非必须历经的步骤,并进一步优选为先历经配置推荐步骤,当用户认为推荐配置中的配置项可能不符合预定封装的云主机时,由用户自主地选择是否在个性定制界面中发起配置项的个性定制,以满足用户差异化的需求。
分析配置数据,当然也包括下文所提及的推荐配置所包含的配置项等参数时,本文的各实施例聚集在云上运行的实际实例。关于当前运行的实例的这样的信息可包括哪些实例正在运行,哪些实例被停止、正在停止,哪些实例失败,哪些实例正在预备(provision),哪些实例正在重新启动等等。另外,还累积涉及用户的数据,包括与人口统计、公司大小,安装的实例、专业知识、冲浪模式等等有关的数据。
同时,在本说明书中所提及的术语“用户”是指能够自主发起创建云主机的一方,用户可以是具有专业知识的业内人士(生物学意义上的人),也可以是不具有任何云计算或者计算机知识的一般人员(生物学意义上的人),或者也可以是机器人程序或者预装机器人程序的计算装置。另,云主机可以是基于Openstack架构,也可以是基于Kubernetes集群中的一个或者多个容器形成,也可以是能够为用户提供虚拟计算、虚拟存储等功能的其他各种类型的云主机(即,HOST)或者被理解为宿主机。
本实施例中的各个模块、组件或者系统,可以以至少一种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、Python、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。
一种推荐云主机配置的方法,包括:
获取基础配置数据并保存至存储设备202,自信息输入界面100输入用户预定义数据并保存至分析服务器201。其中,根据预定义条件计算云主机的平均配置数据包括:分析服务器201根据业务服务器203所接收到的用户在信息输入界面100中输入的预定义条件从存储设备202中调用适格数据,并将所述适格数据中包含的配置项,以计算云主机的平均配置数据,并保存至业务服务器203。信息输入界面100、推荐界面100a与个性定制界面100b均嵌布入用户界面(UI)10中。预定义条件为行业领域、用途、操作系统、中间件或者使用人数中的一种条件或者几种条件。
该基础配置数据详参下述表一。
表一
基础配置数据可通过人工录入或者模板批量导入的方式输入并保存至存储设备202。具体的,该存储设备202选自机械硬盘、固态硬盘、Ceph存储、NAS存储、SAN存储、NVDIMM、RAID或者数据库中的一种或者几种,并在本实施例中具体选用固态硬盘。当然,基于云平台集群互联的考虑,也可以将存储设备202选用SAN存储等,并视云平台所适配的协议及接口而定。数据库选自SQL数据库、Oracle数据库、MySQL数据库、Mongo DB数据库或者Influxdb数据库中的任意一种。基础配置数据中包含了内存、系统盘、数据盘、带宽的最低配置与推荐配置。
本实施例具体示出了一个基础配置数据的实例,具体参表二所示。
表二
同时,本实施例示出了一份用户预定义数据的实例,参表三所示。
表三
表二及表三中,配置项“industry”代表行业领域,配置项“os”代表操作系统,配置项“it”代表IT(information technology),配置项“assembly”代表容器中间件。配置项“it”中的“it”以行业领域的英文缩写为表达方式。
操作系统选自Windows Server 2003R2 32位/64位、Windows Server2008R2 32位/64位、Windows Server 2012R2 64位、Windows Server 2016 32位/64位、CentOS 6.532位/64位、CentOS 6.9 32位/64位、CentOS 7.2 64位、Centos 7.4 64位、Ubuntu 14.0464位或者Ubuntu 16.04 64位。
中间件选自容器中间件、数据库、缓存中间件、消息中间件或者搜索中间件中的一种或者几种。进一步的,容器中间件选自IIS、tomcat、nginx、apache、weblogic、websphere或者jBoss中的一种或者几种。缓存中间件选自redis和/或memcached;所述消息中间件选自activeMQ、rabbitMQ或者kafka中的一种或者几种;所述搜索中间件选自elasticSearch和/或solr。
接下来,执行配置分析步骤,并具体如下所述。
分析服务器201以用户预定义数据为输入,自存储设备202调用基础配置数据,并根据预定义条件计算云主机的平均配置数据,将所述平均配置数据保存至业务服务器203,并由业务服务器203在信息输入界面100中可视化展示所述平均配置数据,所述信息输入界面100中形成推荐界面100a与个性定制界面100b。业务服务器203引导客户端将客户端择一地重定向至推荐界面100a或者个性定制界面100b,并在推荐界面100a或者个性定制界面100b中确定云主机所加载的资源,以响应业务服务器。
尤其的,在本实施例中,该方法还包括:判断是否存在适格数据,
若不存在适格数据,则由分析服务器201自存储设备202调取基础配置数据,并发送至业务服务器203;
若存在适格数据,则对适格数据中包含的配置项分别作相加运算后,除以适格数据的总数,得平均配置数据。
在本实施例中,优选的,该方法还包括:将平均配置数据与基础配置数据进行比较,当平均配置数据中的配置项小于基础配置数据的配置项时,则相对应的基础配置数据的配置项替换平均配置数据的配置项;当平均配置数据中的配置项大于或者等于基础配置数据的一个或者多个配置项时,不作上述替换操作。
参图1所示,具体的,用户通过终端设备(例如平板电脑、笔记本电脑、手机等计算装置)所形成的信息输入界面100中输入用户预定义数据:行业领域,用途,操作系统,中间件,使用人数(当用途选择为个人时,使用人数固定为1)并点击确认按钮将数据通过TCP/IP协议、HTTP协议或者Socket协议传输至业务服务器203。
当然,该信息输入界面100还可嵌布于服务器中,所述方法运行于服务器,服务器与客户端建立通信连接。存储设备202、分析服务器201及业务服务器203部署于服务器。信息输入界面100、推荐界面100a及个性定制界面100b嵌入运行于所述客户端,客户端通过TCP/IP协议、HTTP协议或者Socket协议与服务器建立连接;客户端被配置为逻辑上与服务器相互独立且可输入交互式命令并显示信息输入界面100、推荐界面100b及个性定制界面100b的计算装置,(例如平板电脑、笔记本电脑、手机等计算装置)。
信息输入界面100中示出配置项区域106,并在配置项区域106中形成“行业领域”、“用途”、“操作系统”、“中间件”及“使用人数”五个配置项。每个配置项对应形成选择框101~106,其中,“用途”中形成“服务提供”与“个人主机”两种既定的选项,而选择框101、选择框103、104、105中以下拉式选择框的形式,供用户具体选择。当用户在信息输入界面100中完成输入用户预定义数据的输入操作后,点击“提交”按钮107,以将输入的用户预定义数据输入至业务服务器203。
业务服务器203将接收到数据通过TCP/IP协议、HTTP协议或者Socket协议转发至分析服务器201。分析服务器将201从业务服务器203传输的数据(即用户预定义数据)进行解析,获得用户所输入的数据(即上文所述的用户预定义数据)。
分析服务器201根据用户所输入的操作系统和中间件从存储设备202获取适格数据,适格数据中各配置项单独相加运算,运算后得出基础配置数据,并存放于分析服务器201中。该分析服务器201与业务服务器203运行于服务器中。分析服务器201根据用户所输入的行业领域、用途、操作系统、中间件、使用人数,从存储设备202中获取适格数据并进行运算。分析服务器201将分析结果数据通过TCP/IP协议、HTTP协议或者Socket协议传输并保存至业务服务器203。
用户在信息输入界面100输入基础配置数据,参表四所示。
表四
然后,执行配置推荐步骤,并具体如下所示。
分析服务器201获取基础配置数据,并能够具体为:根据所输入的行业领域、操作系统、中间件及用途各项单独匹配基础配置数据,将匹配CentOS 7.0 64位、mysql、redis三份基础配置数据作为输入,计算得到基础推荐配置。
基础推荐配置的计算公式为:数据一各项配置数值+数据二各项配置数值+数据三各项配置数值,并四舍五入取整,数据一、数据二及数据三参下述表五所述。
表五
参图2所示,基于上述表五,得到推荐基础配置:
表六
根据所输入的行业领域、操作系统、中间件、用途这四个条件适配,得到用户平均配置数据,用户平均配置数据的计算公式为:(数据一各项配置数值+数据二各项配置数值+数据三各项配置数值)/用户配置数据的数目,并四舍五入取整,具体参下表七所示。
需要说明的是,行业领域、用途、操作系统及中间件这四个配置项可选取其中的一个或者多个,并与其它配置项共同计算得到的用户平均配置参数,并最优选行业领域、用途、操作系统及中间件这四个配置项,因为上述四个配置项在用途选定了“服务提供”(即server)的场景中,不仅考虑了最少的计算维度,又最能提高最终得到的推荐基础配置的准确性和合理性。
若在图1中的用途的配置项中选定了“个人主机”,则可以在上述四个配置项中一并增加“人数”的配置项,以充分考虑最终配置形成的云主机的对多用户访问云主机的性能要求。
表七
从而计算得到的用户平均配置参数参下述表八所示:
配置项 |
数值 |
运算过程和结果 |
cpu-o |
3 |
(4+2+4)/3=3.33≈3 |
memory-o |
4 |
(4+4+4)/3=4 |
sdisk-o |
33 |
(40+20+40)/3=33 |
ddisk-o |
75 |
(100+50+100)/3=75 |
network-o |
4 |
(4+4+4)/3=4 |
表八
最后,运算最终推荐配置结果:将用户平均配置数据与基础推荐配置数据所对应的配置项进行比较,各配置项取数值最大的值,具体参下述表九所示:
配置项 |
数值 |
比较结果 |
cpu-m |
2 |
基础推荐配置 |
cpu-o |
3 |
基础推荐配置 |
memory-m |
4 |
用户平均推荐配置 |
memory-o |
7 |
基础推荐配置 |
sdisk-m |
20 |
基础推荐配置 |
sdisk-o |
33 |
用户平均推荐配置 |
ddisk-m |
6 |
基础推荐配置 |
ddisk-o |
75 |
用户平均推荐配置 |
network-m |
1 |
基础推荐配置 |
network-o |
4 |
用户平均推荐配置 |
表九
在推荐界面100a中最终形成推荐配置101a,以向用户显示CPU、内存、系统盘、数据盘及带宽的具体数值。并在推荐界面100中设置“提交”按钮102a与“个性定制”按钮103a。若用户点击按钮102a,则不触发后续的个性定制步骤,若点击按钮103a,则触发后续的个性定制步骤。
最后,执行个性定制步骤。
参图4所示,个性定制界面100b接收业务服务器203返回的适格数据,并在所述个性定制界面100b中形成与配置项数量相匹配的选择条103b,所述选择条103b形成能够限定滑动并标定配置项数值的滑块113b。选择条103b可基于UI设计,设置为可变色UI。个性定制界面100b中形成配置项区域101b。用户可分别拖动滑块113b,并在对应的选择条103b中作线性滑动,以对对应的配置项作个性化定制。同时,在滑块113b中线性滑动并对配置项作个性化定制过程中,将滑块113b所标定的配置项的数值与适格数据所对应的平均配置数据或基础配置数据进行比较。
当滑块113b标定的当前配置项设置小于平均配置数据或基础配置数据时,选择条发出告警。告警以可以选择条103b变红或者以声音、震动形式提示用户。当滑块113b标定的当前配置项设置大于或者等于平均配置数据或基础配置数据时,选择条不发出告警。所述不发出告警可以是选择条103b变成绿色或者静音等形式对用户进行提示。
本实施例中所揭示的推荐云主机配置的方法运行于服务器。服务器与客户端建立通信连接。存储设备202、分析服务器201及业务服务器203部署于服务器。信息输入界面100、推荐界面100b及个性定制界面100b嵌入运行于所述服务器。
当个性定制界面100b对多个配置项完成个性化配置后,点击“提交”按钮102b,以最终完成个性化定制步骤,并向业务服务器203提交确认配置的请求。以最终完成对CPU、内存、系统盘、数据盘及带宽的个性定制操作。业务服务器203接收到用户提交的个性化定制中确定云主机所加载的资源,写入存储设备202,以响应业务服务器203。写入存储设备202的操作,可以便于后期用户再次由分析服务器201从存储设备202中调用上一次的个性化定制操作所对应的资源,并根据前述的基础数据收集步骤(通过图1所示出的信息输入界面100实现)、配置分析步骤(通过图2所示出的推荐界面100a实现)、配置推荐步骤,并结合云平台中的资源开销情况,再次进行合理的个性化定制配置,防止用户的个性化定制操作突破云平台的资源上限的限制。当然,在个性化定制步骤完成之后,还包括:将所述确定云主机所加载的资源保存至存储设备202。
实施例二:
本实施例所揭示的一种推荐云主机配置的方法,该方法运行于服务器,所述服务器与客户端建立通信连接。所述存储设备202、分析服务器203及业务服务器203部署于服务器。信息输入界面100、推荐界面100a及个性定制界面100b嵌入运行于所述客户端,所述客户端通过TCP/IP协议、HTTP协议或者Socket协议与服务器建立连接。客户端被配置为逻辑上与服务器相互独立且可输入交互式命令并显示信息输入界面100、推荐界面100a及个性定制界面100b的计算装置。该计算装置可被配置为计算机、平板电脑、手机或其他可执行计算程序的计算装置。
本实施例所揭示的推荐云主机配置的方法与实施例一中相同部分的技术方案请参实施例一所示,在此不再赘述。
实施例三:
本实施例揭示了一种云主机,该云主机可通过实施例一或者实施例二所揭示的一种推荐云主机配置的方法所确定的资源配置而成。推荐云主机配置的方法的具体实现方法参上文实施例一或者实施例二所述,在此不再赘述。云主机可以是基于Openstack架构,也可以是基于Kubernetes集群中的一个或者多个容器形成,也可以是能够为用户提供虚拟计算、虚拟存储等功能的其他各种类型的云主机(即,HOST)或者被理解为宿主机。
本实施例所揭示的推荐云主机配置的方法与实施例一和/或实施例二中相同部分的技术方案请参实施例一和/或实施例二所示,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。