技术领域
[0001] 本
发明属于信息技术领域,特别涉及一种云计算虚拟化层资源模拟器及其架构、控制方法。
背景技术
[0002] 目前,云计算正成为信息领域研究的热点,随着云用户越来越多,用户使用场景也越来越复杂,云服务提供方尤其重视用户体验。对于云用户来说云服务的
访问速度及并发性能直接影响其使用体验,很多并发访问性能问题只有在数据规模很大的情况下才能暴露,而实际功能开发测试过程中又无法达到线上环境那么大的用户及数据规模,导致问题在开发测试阶段无法暴露,如果待
软件发布到线上环境后暴露,直接影响到用户体验并且需要付出更大的成本来修复问题。那么就需要想办法在功能开发测试阶段就能尽量暴露这些只有在大规模用户及数据的情况下才能出现的问题。如果在真实的云平台上对线上数据进行真实一比一创建会极其困难,也不现实:线上环境数据复杂,在开发测试环境下无法人工一对一模拟创建;云平台底层
硬件资源有限,开发测试阶段无法提供和线上环境一模一样的硬件规模;
数据中心网络复杂,无法灵活控制和处理网络
基础设施和环境,需要付出很大的成本
[0003] 目前云计算领域还没有发现有效的解决方案解决该问题,随着云数据中心的规模和
密度日益增大,这一矛盾更加突出,急需一种简单高效、易于实现又能和现有架构无缝融合的方案,能够在有限的硬件资源上方便开发及测试进行真实环境大量数据的模拟。
[0004] 而目前.并没有一种能够解决上述技术问题的技术方案,并没有一种云计算虚拟化层资源模拟器及其架构、控制方法。
发明内容
[0005] 针对
现有技术存在的技术
缺陷,本发明的目的是提供一种云计算虚拟化层资源模拟器,其用于在真实环境下进行虚拟数据的模拟,至少包括:
[0006] APISwitch分流层,其用于对
请求信息进行判断,并基于请求结果将请求信息进行转发;
[0007] 模拟资源池,其用于负责数据的模拟处理;
[0008] 所述APISwitch分流层连接所述模拟资源池,其中,
[0009] 所述模拟资源池至少创建一个或多个
虚拟机。
[0010] 优选地,所述模拟资源池至少包括一个或多个模拟子资源池。
[0011] 优选地,所述一个或多个模拟子资源池至少包括一个或多个模拟集群,且一个或多个模拟集群至少包括一个或多个模拟
服务器。
[0012] 优选地,所述一个或多个模拟服务器至少创建一个或多个虚拟机。
[0013] 优选地,所述模拟资源池还包括SQLAlchemy
框架,所述SQLAlchemy框架用于数据存储。
[0014] 根据本发明的另一个方面,提供了一种云平台架构,还包括虚拟化资源池、云
操作系统,其中,所述云操作系统通过所述APISwitch分流层分别与所述模拟资源池以及所述虚拟化资源池相通讯。
[0015] 优选地,还包括云
门户,所述云门户与一个或多个所述云操作系统相通讯。
[0016] 优选地,还包括裸金属资源池、安全资源池以及存储资源池,所述APISwitch分流层分别连接所述裸金属资源池、所述安全资源池以及所述存储资源池。
[0017] 根据本发明的另一个方面,提供了一种基于云计算虚拟化层资源模拟器的控制方法,包括如下步骤:
[0018] a.基于APISwitch分流层对请求信息进行判断,判断所述请求信息为模拟资源请求还是真实资源请求,若所述请求信息为模拟资源请求,则执行步骤b,若所述请求信息为真实资源请求,则执行步骤c;
[0019] b.将所述模拟资源请求发送给所述模拟资源池,并基于所述模拟资源请求中的请求信息创建模拟数据,并执行步骤d;
[0020] c.将所述真实资源请求发送给所述虚拟化资源池,并基于所述真实资源请求中的请求信息创建真实数据,并执行步骤d;
[0021] d.将所述步骤b中的模拟数据或所述步骤c中的真实数据进行回传。
[0022] 优选地,在所述步骤b之后,还包括步骤b1:基于SQLAlchemy框架对模拟数据进行存储。
[0023] 本发明公开了一种云计算虚拟化层资源模拟器,其用于在真实环境下进行虚拟数据的模拟,至少包括:APISwitch分流层,其用于对请求信息进行判断,并基于请求结果将请求信息进行转发;模拟资源池,其用于负责数据的模拟处理;所述APISwitch分流层连接所述模拟资源池,其中,所述模拟资源池至少创建一个或多个虚拟机。目前云计算领域公开层次还没有发现有效的进行大量云资源数据模拟的方案,以往在进行云计算开发测试阶段需要进行大量云资源数据时,基本上都还是在硬件资源上进行真实云资源的创建,耗费大量的时间成本,并且由于开发测试环境硬件资源有限创建出来的云资源数量还是有限,本发明基本上是首创。本发明与以往大规模云资源开发测试手段相比有以下优点:主要采用云计算虚拟化层进行资源模拟的设计思路,并不是真正的创建虚拟化资源,模拟的数据对上层应用透明;模拟器以模
块化的方式实现,可以和公司已经存在的云计算架构无缝融合;针对在开发测试阶段需要进行大规模云资源场景下的测试需求,可以高效的进行资源的创建;模拟器对现有云平台功能无影响,并且可以根据开发测试需要进行
开关;模拟器易于扩展,可以灵活的增加各种资源的模拟;模拟器部署简单、对硬件资源基本没有要求,在虚拟机上就可以完美运行;模拟器对虚拟化层硬件资源也没要求,虚拟化层单机版就可以,在开发测试阶段可以节省大量硬件成本;可以在有限的硬件资源上进行大规模云资源的模拟;本发明能够在有限的硬件资源上进行真实环境大量数据的模拟,方便开发测试人员进行大量云资源场景下的功能验证,及早的暴露软件功能设计上的不足之处,减少人
力物力成本。
本发明操作简单、使用方便,具有极高的商业价值。
附图说明
[0024] 通过阅读参照以下附图对非限制性
实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0025] 图1示出了本发明的具体实施方式的,一种云计算虚拟化层资源模拟器的模块化结构示意图;
[0026] 图2示出了本发明的具体实施方式的,一种云平台架构的模块化结构示意图;以及[0027] 图3示出了本发明的具体实施方式的,一种基于云计算虚拟化层资源模拟器的控制方法的具体流程示意图。
具体实施方式
[0028] 为了更好的使本发明的技术方案清晰的表示出来,下面结合附图对本发明作进一步说明。
[0029] 本领域技术人员理解,目前开发测试过程中还是只能在真实的云平台上对资源进行创建,但是由于现实情况的限
制模拟的数据与线上真实环境相比还是远远不够,也不太现实:在开发测试环境下创建的资源比较少量,无法真实测试
大数据量的情况下系统的运行情况,开发测试环境数据规模上不去就容易把大数据情况下才能暴露的问题发布到线上环境,造成更大的损失及修复成本,云平台底层硬件资源有限,开发测试阶段无法提供和线上环境一模一样的硬件规模,即使能够提供和线上差不多硬件资源给开发测试环境,也需要耗费大量的人力成本去创建大数据情况下的资源,现在软件
迭代发布成本很快,现有的开发测试在进行大量数据情况的测试时耗费很大的时间成本先去创建资源,不够高效灵活,数据中心网络复杂,无法灵活控制和处理网络基础设施和环境,需要付出很大的成本,无法在有限的硬件资源上创建大量的资源,目前云计算领域还没有发现有效的解决方案解决该问题,随着云数据中心的规模和密度日益增大,这一矛盾更加突出。
[0030] 针对现有技术的不足,本发明公开了一种云计算虚拟化层资源模拟器及其架构、控制方法,本发明将通过图1至图3中的三个部分来对本发明的具体实施方式做进一步地描述,具体地,根据本发明的一个方面,
[0031] 图1示出了本发明的具体实施方式的,一种云计算虚拟化层资源模拟器的模块化结构示意图,具体地,所述云计算虚拟化层资源模拟器用于在真实环境下进行虚拟数据的模拟,即本发明可以实现在开发、测试亦或者正式投入使用的时候。在真实的环境下使用虚拟数据取代真实环境下的数据来完成数据的模拟,本发明至少包括APISwitch分流层,其用于对请求信息进行判断,并基于请求结果将请求信息进行转发,本领域技术人员理解,所述APISwitch分流层主要用于数据的接收、转发、判断,起到一个衔接上下层关系的作用,进一步地,其主要用于对系统生成的请求信息进行判断,判断其为真实数据还是虚拟数据,并进行进一步的处理,这些将在后述的具体实施方式中作进一步的描述。
[0032] 进一步地,云计算虚拟化层资源模拟器还包括模拟资源池,其用于负责数据的模拟处理,本领域技术人员理解,作为本发明的重要发明点,本
申请的图1仅仅公开了所述云计算虚拟化层资源模拟器的最为重要的部分,即所述APISwitch分流层以及所述模拟资源池,可以理解为将所述云计算虚拟化层资源模拟器嵌入到一个比较成熟的开发系统中,进而使得所述开发系统能够具备完成虚拟数据创建的功能,故在本发明的图2中,实际上公开了一种云计算虚拟化层资源模拟器如何在实际的云平台架构中实现其主要功能的工作平台。进一步地,所述模拟资源池实际上为一个能够创建虚拟数据的功能模块,具体地,作为本发明的第一实施例,所述模拟资源池至少创建一个或多个虚拟机,而所述虚拟机则用于虚拟数据。
[0033] 进一步地,在一个优选地实施例中,所述APISwitch分流层连接所述模拟资源池,其中,当所述APISwitch分流层判断所述请求信息为虚拟数据时,则将所述请求信息发送给所述模拟资源池完成虚拟数据的创建。
[0034] 作为本发明的第二实施例,所述模拟资源池至少包括一个或多个模拟子资源池,所述模拟子资源池至少创建一个或多个虚拟机。
[0035] 作为本发明的第三实施例,所述模拟资源池至少包括一个或多个模拟子资源池,所述一个或多个模拟子资源池至少包括一个或多个模拟集群,且一个或多个模拟集群至少包括一个或多个模拟服务器,所述模拟服务器至少创建一个或多个虚拟机。
[0036] 进一步地,所述模拟资源池还包括SQLAlchemy框架,所述SQLAlchemy框架用于数据存储,进一步地,如果应用层次的请求信息涉及到
数据库相关的数据存储及查询,还需要通过SQLAlchemy框架进行数据的存储,将结果返回给上层。
[0037] 本领域技术人员理解,而另一个优选地实施例中,所述云计算虚拟化资源模拟器整体上可以分为APISwitch分流层、资源数据模拟层两个部分,其中APISwitch分流层部署于云操作系统和底层虚拟化资源池(指安装有一系列虚拟化软件的物理机或服务器)之间,负责资源请求的转发,根据请求是模拟资源还是真实资源,将请求转发到正确的地方进行处理;数据模拟层部署在模拟资源池(指安装有一系列虚拟化软件的虚拟机)中,数据模拟层当然也可以部署在虚拟化资源池中,为了避免对原有系统的部署造成影响,建议部署在单独的模拟资源池中。主要负责数据的模拟处理,若是模拟资源的请求,所述APISwitch分流层会把请求正确发送到模拟资源池,经过数据模拟层的处理,把结果返回给上层请求,同时如果应用层次的请求涉及到数据库相关的数据存储及查询,还需要通过sqlalchemy进行数据的存储,最后结果返回给上层。
[0038] 进一步地,一个资源池Pool下可以创建多个模拟集群Cluster,而一个模拟集群Cluster下可以增加多台模拟服务器CVK,虚拟机VM就是通过虚拟化软件
接口创建在每台CVK上的。数据模拟层对上述所说的每种资源对象进行数据的模拟,经过模拟的数据和真实资源创建后返回的数据对上层请求来说是一样的,结果对上层透明。
[0039] 图2示出了本发明的具体实施方式的,一种云平台架构的模块化结构示意图,本领域技术人员理解,所述的云平台架构是一种用于承载真实数据、虚拟数据,完成相关技术领域的开发、运营、维护等为一体的操作控制平台,在现有的技术中,并没有一种如图1中所述的云计算虚拟化层资源模拟器,而图2的目的则是为了公开了一种云计算虚拟化层资源模拟器如何与其他模块相连接,如何在其存在的平台架构中进行运行的具体实现。
[0040] 根据本发明的另一个方面,提供了一种云平台架构,还包括虚拟化资源池、云操作系统,其中,所述云操作系统通过所述APISwitch分流层分别与所述模拟资源池以及所述虚拟化资源池相通讯,如图2所示,所述模拟资源池以及所述虚拟化资源池为并列关系,即一个处理虚拟数据,一个处理真实处理,进一步地,所述APISwitch分流层根据判断结果进行请求信息的分配。而云操作系统则连接所述APISwitch分流层。
[0041] 本领域技术人员理解,所述云操作系统包括Nova、Cinder、Neutron、Ironic等等,所述云操作系统是构架于服务器、存储、网络等基础硬件资源和单机操作系统、
中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统,本身是另外一套复杂的软件系统,在此不予赘述。
[0042] 进一步地,所述云平台架构还包括云门户,所述云门户与一个或多个所述云操作系统相通讯,所述云门户至少包括计算服务、存储服务、网络服务、
防火墙服务、负载均衡服务、安全服务等等。
[0043] 进一步地,所述云平台架构还包括裸金属资源池、安全资源池以及存储资源池,所述APISwitch分流层分别连接所述裸金属资源池、所述安全资源池以及所述存储资源池,如图2所示,所述裸金属资源池、所述安全资源池、所述存储资源池、所述模拟资源池以及所述虚拟化资源池均为并列关系。
[0044] 本申请针对云计算领域开发测试场景下无法大量进行资源创建的痛点,为满足开发测试环境在硬件资源有限的情况下进行资源快速创建、资源的创建无限制、灵活高效、易于部署实现、节约人力成本又能和已有云平台架构无缝融合的需求,提出了云计算虚拟化层模拟器的解决方案。
[0045] 本发明提出的云计算虚拟化层模拟器的解决方案针对现有对云计算平台架构中所涉及到的门户请求进行区分,如果是需要进行模拟的资源,则使用数据模拟流程,模拟出各种资源返回给云门户,对门户来说这些资源数据和真实的资源数据没有区别,模拟数据对门户透明;如果不是需要进行模拟的资源,则使用云平台架构原始流程。云计算虚拟化层模拟器采用模块化设计,嵌入到云平台中,对云平台的功能没有影响,并且可以根据需要进行开关。
[0046] 进一步地,所述云计算虚拟化层模拟器对硬件资源没有要求,可以采用虚拟机进行独立部署,理论上可以进行无限数量资源的模拟,因为不是真实的进行资源的创建,所以对虚拟化硬件资源也没有要求。所述云计算虚拟化层模拟器易于扩展,可以支持任何虚拟化资源的模拟,技术实现上不存在技术难点。本发明实现简单,采用已有开源技术框架,开发投入成本低廉,投入较少的成本就能实现真实环境大量数据的模拟。
[0047] 进一步地,如图2所示的云平台架构,所述云计算虚拟化层模拟器主要包括APISwitch和模拟资源池以模块化的方式和所述云平台架构无缝融合。云门户管理和调度后台云资源,向前台业务提供标准化、可计量的云服务。云门户可纳管多套云操作系统,每个Region资源池中部署云操作系统,云操作系统中的OpenStack提供Nova、Cinder、Neutron、Ironic等各类服务组件通过CVM/vCenter计算虚拟化平台,向底层各种资源池请求虚拟化资源。底层虚拟化资源池提供KVM、EXSI、裸金属、存储、安全等多种虚拟化资源。并且为了确保线上
环境网络的可靠性,网络资源通过neutron服务以
插件的方式对接商业的SDN
控制器VCFC,提供可靠、稳定的网络服务。
[0048] 进一步地,在所述云计算虚拟化层模拟器方案设计中,所述APIswitch分流层处于云操作系统和底层虚拟化资源层之间,为了不影响现有的云架构功能,模拟器
数据处理层以单独的方式在模拟资源池中部署,模拟资源池可以部署多个,并且可以是不同的虚拟化平台KVM、ESXI或者其他虚拟化。
[0049] 进一步地,这样设计的架构一方面通过APIswitch对通过云门户下发并通过云操作系统过来的请求进行识别分流,如果是需要模拟的云资源则转发到模拟资源池进行数据的模拟处理,然后返回给上层,云资源并不是真正的在底层硬件上进行创建,所以处理时间非常的快速高效。模拟的数据对上层来说是透明的,和真实的云资源一样。如果不是需要进行模拟的云资源则转发给真正的虚拟化资源池进行真实的云资源创建。另一方面所述云计算虚拟化层模拟器采用模块式方式设计,和现有的云架构可以很好的融合,不对原有架构功能造成影响,模拟数据和真实数据根据需要各行其道,互不干扰。此外模块化设计的模拟器很容易横向扩展,只需横向部署模拟资源池就可以。模拟资源池可以根据实际需要部署不同的虚拟化方式,然后在虚拟化方式的基础上部署模拟器的数据处理服务。
[0050] 图3示出了本发明的具体实施方式的,一种基于云计算虚拟化层资源模拟器的控制方法的具体流程示意图。
[0051] 根据本发明的另一个方面,提供了一种基于云计算虚拟化层资源模拟器的控制方法,包括如下步骤:
[0052] 首先,进入步骤S101,基于APISwitch分流层对请求信息进行判断,判断所述请求信息为模拟资源请求还是真实资源请求,若所述请求信息为模拟资源请求,则执行步骤S102,若所述请求信息为真实资源请求,则执行步骤S103,所述步骤S102以及所述步骤S103为并列步骤,即根据步骤S101来判断执行步骤S102或执行步骤S103,进一步地,所述步骤S102为将所述模拟资源请求发送给所述模拟资源池,并基于所述模拟资源请求中的请求信息创建模拟数据,并执行步骤S104;所述步骤S103为将所述真实资源请求发送给所述虚拟化资源池,并基于所述真实资源请求中的请求信息创建真实数据,并执行步骤S104;而所述步骤S104为将所述步骤S102中的模拟数据或所述步骤S103中的真实数据进行回传。进一步地,在所述步骤S102之后还包括基于SQLAlchemy框架对模拟数据进行存储。
[0053] 本领域技术人员理解,当一个请求到达所述APIswitch分流层的时候,代码会进行判断,若为模拟资源的请求会发送到模拟资源池进行数据的处理,经过模拟资源池中部署的数据处理SERVER服务的数据模拟,把结果返回给上层请求,经过所述SERVER服务模拟的数据和经过真实资源创建后返回的数据是一样的,所以最终结果对上层透明,资源的创建并不是真正的创建下去,只是返回和真实资源一样的数据,理论上可以无限进行资源的模拟。同时如果应用层次的请求涉及到数据库相关的数据存储及查询,还需要通过SQLAlchemy框架进行数据的存储,最后结果返回给上层;如果请求不是要进行模拟的资源请求会直接转发给虚拟化资源池,虚拟化资源池中部署有KVM、EXSI等虚拟化管理软件,请求会按正常的虚拟化流程在物理机上进行真实资源的创建,这样就会占用物理机真实的CPU、内存、存储等硬件资源。本申请能够在有限的硬件资源上进行真实环境大量数据的模拟,方便开发测试人员进行大量云资源场景下的功能验证,及早的在开发测试阶段就暴露软件功能设计上的不足之处,避免把缺陷发布到线上环境,极大的减少人力物力成本。
[0054] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在
权利要求的范围内做出各种
变形或
修改,这并不影响本发明的实质内容。