CN103002034A - 一种基于云服务总线的应用QoS管理系统及其操作方法 - Google Patents
一种基于云服务总线的应用QoS管理系统及其操作方法 Download PDFInfo
- Publication number
- CN103002034A CN103002034A CN2012105133778A CN201210513377A CN103002034A CN 103002034 A CN103002034 A CN 103002034A CN 2012105133778 A CN2012105133778 A CN 2012105133778A CN 201210513377 A CN201210513377 A CN 201210513377A CN 103002034 A CN103002034 A CN 103002034A
- Authority
- CN
- China
- Prior art keywords
- service
- submodule
- user
- qos
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种基于云服务总线的应用QoS管理系统,包括用户访问模块、用户管理模块、应用管理模块、云服务总线模块、服务池模块、以及数据中心模块,用户访问模块用于给用户提供一个统一的访问接口,用户管理模块用于提供用户认证功能,如果用户的身份认证成功,则将用户信息传送到应用管理模块,否则,用户管理模块提醒用户进行注册,应用管理模块用于根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用调用或应用QoS可视化功能,并在用户选择相应功能后将用户请求传送到云服务总线模块。本发明根据用户需求和应用访问情况动态增减应用所对应的服务实例数目,保证应用QoS的同时提高资源利用率。
Description
技术领域
本发明属于云计算平台的应用QoS管理领域,更具体地,涉及一种基于云服务总线的应用QoS管理系统及其操作方法。
背景技术
随着云计算时代的到来,出现了各种云平台。根据层次不同,通常分为IaaS、PaaS、SaaS。IaaS指基础设施即服务,业界主要有Amazon EC2。SaaS指软件即服务,主要由Salesforce、800APP等一些提供客户关系管理的平台。而PaaS则是指平台及服务,它提供了一套应用开发和托管环境,使得开发应用变得相当简单,一些中小企业可以节约硬件成本,仅需支付较少的费用就可以将所开发应用托管与PaaS中,同时也省去了系统维护的麻烦。PaaS受到广泛关注,随着PaaS的发展,应用数量急剧增加,平台需要对应用进行良好的管理。在典型PaaS如Google App Engine,Sina AppEngine,AppScale,Facebook等都有专门的应用控制面板,用来查看应用的运行状态。然而对于应用的QoS关注,一些简单的参数并不能确定应用运行状况的好坏。特别是很多平台都是使用系统的CPU和内存利用率来判断应用负载情况,显然不够精确。因为应用服务器的关系,某些系统的系统负载并不高的时候,应用服务器中部署的应用QoS已经大幅降低,甚至应用已经不能访问。
除了在业界受到广泛关注,应用QoS管理也一直是学术界的研究热点。有文章提出应用软件即服务的概念,即应用软件以Web服务的形式发布与云平台中,通过服务组合等手段组合成新的应用,达到软件可重用的目的。但是,该文章并未考虑到应用的QoS管理和云平台的资源优化配置。有文章提出根据系统CPU和内存负载来增减应用实例,这跟业界的方法类似,存在QoS度量不精确的缺陷。还有文章提出使用分布式的服务总线来对服务进行集成与管理。但是其采用的是主-从式架构,存在着单点故障和性能瓶颈。同时该文章中也并未提出切实可行的应用管理方案,更没有指出应用QoS的度量和监测方案。此外,还有诸多文献和著作中提到过相关的应用管理方案,但是它们都是从系统级度量应用QoS,度量并不精准,而且并没有提出一套完善的应用QoS管理机制。
总而言之,业界当前主流云平台有些对应用QoS缺少关注,有些则对应用QoS度量不够准确。学术界对于应用QoS管理越来越关注,但是目前云平台下应用QoS管理的研究并不是很成熟,缺乏一个整体的架构和真正可测试的环境。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于云服务总线的应用QoS管理系统,其为应用QoS管理提供了一套良好的分布式架构和服务管理环境,本发明从应用级别对应用QoS进行度量,改善了由系统级度量导致结果不准确的问题,为云平台环境应用QoS管理的研究构建了一个完整的平台和可测试的环境,此外,本发明从应用级管理应用QoS,根据用户需求和应用访问情况动态增减应用所对应的服务实例数目,保证应用QoS的同时提高资源利用率。
为实现上述目的,本发明提供了一种基于云服务总线的应用QoS管理系统,包括用户访问模块、用户管理模块、应用管理模块、云服务总线模块、服务池模块、以及数据中心模块,用户访问模块用于给用户提供一个统一的访问接口,用户管理模块用于提供用户认证功能,如果用户的身份认证成功,则将用户信息传送到应用管理模块,否则,用户管理模块提醒用户进行注册,应用管理模块用于根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用调用或应用QoS可视化功能,并在用户选择相应功能后将用户请求传送到云服务总线模块,云服务总线模块用于在用户选择应用发布、应用调用或应用QoS可视化功能后,从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能,服务池模块用于存储云服务总线模块动态调整后的服务实例,数据中心模块用于存储服务实例所操作的数据集合。
用户访问模块包括用户注册子模块、用户登录子模块和用户数据库子模块,用户注册子模块用于为用户提供注册功能,用户认证子模块用于为用户提供登录认证功能,若认证通过则将用户信息传送到应用管理模块,若认证失败则转入用户注册子模块处理,用户数据库子模块用于在用户注册成功后存储用户信息,并在用户登录时读取该用户信息用于认证。
应用管理模块包括应用发布子模块、应用QoS可视化子模块和应用调用子模块,应用发布子模块用于为用户提供应用的发布功能,应用QoS可视化子模块用于接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块获取应用QoS数据,实时展示应用QoS的状况,完成应用QoS可视化功能,应用调用子模块用于接收其它用户对该应用的调用请求并将应用调用请求发送至云服务总线模块。
云服务总线模块包括消息路由子模块、请求处理子模块、服务管理子模块、服务发布子模块、服务卸载子模块、QoS信息读取子模块、服务调用子模块、QoS信息收集子模块、QoS信息数据库子模块、服务实例管理子模块、JMX子模块,消息路由子模块用于实现云服务总线模块中各个节点间的消息通信,接收其他节点的消息路由模块的消息,将消息发送至请求处理子模块,接收服务管理子模块和服务实例管理子模块的消息,并将消息路由到目标节点集,请求处理子模块用于接收应用管理模块发送过来的用户请求或其他节点的消息路由模块发送过来的消息,并对用户请求或消息进行解析后提交到服务管理子模块进行处理,服务管理子模块用于接收请求处理子模块的用户请求或消息,如果是用户请求,则判断该用户请求是应用发布请求、应用调用请求还是QoS可视化请求,如果是应用发布请求,则根据用户在服务级协议中的需求,根据排队论相关理论计算出应用发布后的服务实例数目,并将服务发布消息经消息路由子模块发送至目标节点集。如果是应用调用请求,则调用QoS信息读取子模块读取应用所对应所有服务实例的QoS信息,根据QoS确定应用调用的服务实例所在的目标节点,将服务调用消息经消息路由子模块发送至目标节点,如果是应用QoS可视化请求,则确定目标节点集,并将QoS信息读取消息经消息路由子模块发送至目标节点集的某一个节点,因为对应同一个应用的不同服务实例都会保存有该应用所对应的全部服务实例的QoS信息,所以只需要读取其中一个节点即可得到该应用的QoS信息;如果是消息,则判断消息是服务发布消息、服务卸载消息、服务调用消息还是服务QoS读取消息。如果是服务发布消息,则将服务发布消息发送到服务发布子模块,如果是服务卸载消息,则将服务卸载消息发送到服务卸载子模块,如果是服务调用消息,则将服务调用请求发送到服务调用子模块,如果是服务QoS读取消息,则发送到QoS信息读取子模块,服务发布子模块用于接收服务管理子模块的服务发布消息,根据服务发布消息完成服务发布功能并返回响应消息给请求节点,服务卸载子模块用于接收服务管理子模块的服务卸载消息,根据服务卸载消息完成服务卸载功能并返回响应消息给请求节点,QoS信息读取子模块用于接收服务管理子模块的服务QoS信息读取消息,根据服务QoS信息读取消息读取QoS信息数据库子模块中的信息并返回给请求节点,服务调用子模块用于接收服务管理子模块的服务调用消息,根据服务调用消息完成调用后返回服务调用结果给请求节点,QoS信息收集子模块用于对服务调用子模块的过程进行监控,以收集服务调用的QoS信息,并将QoS信息写入到QoS信息数据库子模块中,QoS信息数据库子模块用于存储来自QoS信息收集子模块的QoS信息,服务实例管理子模块用于根据服务级协议和QoS信息数据库子模块中的QoS信息决定是否调整服务实例的数目,JMX子模块用于使用JMX管理框架管理云服务总线模块的节点集群以及服务部署相关信息。
云服务总线模块采用P2P分布式架构。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
1)服务的可用性高
由于采用了基于P2P架构的云服务总线模块对服务实例进行管理,解决了单一服务总线和主一从架构的分布式服务总线的单点故障问题,保证了Web服务的高可用性。
2)应用的可配置性好
由于采用了应用管理模块,其提供服务等级协议功能,提高了应用的可配置性。开发应用的用户可以在该平台中声明所开发的应用所需要达到的QoS水平,如每秒能接受多少个请求,响应时间应保持在几秒之内等。云服务总线模块基于用户需求,根据排队论理论,预先生成所需要的服务实例数目,以保证应用的QoS需求,减少资源浪费,提高系统资源利用率。
3)应用QoS度量的精确性高
由于采用了云服务总线模块从应用级对应用QoS进行度量,根据应用QoS情况对应用所对应的服务实例数目进行动态调整,相对于传统的系统级进行度量,大幅提高了对应用QoS度量的精确性。
本发明的另一目的在于提供一种基于云服务总线的应用QoS管理系统的操作方法,其使得用户对系统的操作非常简捷,用户可以通过系统界面直观的进行应用QoS管理,省去了繁冗的命令行操作,提高了操作效率和用户体验。
为实现上述目的,本发明提供了一种基于云服务总线的应用QoS管理系统的操作方法,包括以下步骤:
(1)用户通过浏览器访问统一访问模块;
(2)用户管理模块对用户身份进行认证,如果认证通过,则转入步骤(3),否则,提醒用户注册;
(3)用户管理模块将用户信息传送到应用管理模块;
(4)应用管理模块根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用QoS可视化或应用调用功能;
(5)应用管理模块在用户选择相应功能后将用户请求传送到云服务总线模块;
(6)云服务总线模块从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能;
(7)服务池模块存储云服务总线模块动态调整后的服务实例。
步骤(5)包括以下子步骤:
(5-1)用户在应用管理界面选择应用发布、应用QoS可视化或者应用调用功能;
(5-2)应用管理模块根据用户选择的功能,将请求发送给不同子模块处理。如果用户选择应用发布功能,则转向步骤(5-3);如果用户选择应用QoS可视化功能,则转向步骤(5-4);如果用户选择应用调用功能,则转向步骤(5-5);
(5-3)应用发布子模块接收请求,提示用户将自己开发好的应用上传,并填写应用的描述信息和QoS信息。应用发布子模块存储应用描述信息和QoS需求信息并将应用发布请求发送至云服务总线模块;
(5-4)应用QoS管理子模块接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块获取应用QoS数据,实时展示应用QoS的状况;
(5-5)应用调用子模块将应用调用请求发送至云服务总线模块。
步骤(6)包括以下子步骤:
(6-1)请求处理子模块接收应用管理模块发送过来的用户请求并解析请求;
(6-2)请求处理子模块根据不同的用户请求执行不同的步骤。如果是应用发布请求,则转向步骤(6-3);如果是应用QoS可视化请求,则转向步骤(6-9);如果是应用调用请求,则转向步骤(6-15)
(6-3)服务管理子模块根据用户填写的应用QoS信息,由排队论算法生成应用发布成Web服务的实例数目;
(6-4)目标节点的消息路由子模块接收服务发布消息,并将消息传送至请求处理子模块;
(6-5)目标节点的请求处理子模块对消息进行解析,将解析后的消息发送给服务管理子模块;
(6-6)目标节点的服务管理子模块处理服务发布消息,将服务发布消息传送至服务发布子模块;
(6-7)服务发布子模块完成服务发布功能并返回响应消息给请求节点;
(6-8)如果请求节点收到所有目标节点集的成功响应消息,则应用发布成功;否则,则返回失败信息,提示用户重新发布。至此,应用发布功能结束,转向步骤(6-24);
(6-9)服务管理子模块根据服务部署策略确定目标节点集;
(6-10)目标节点的消息路由子模块接收查看应用QoS消息,将应用QoS可视化消息发送至请求处理子模块;
(6-11)请求处理子模块处理消息后将其发送至服务管理子模块;
(6-12)目标节点的服务管理子模块接收消息,将其转发至QoS信息读取子模块;
(6-13)QoS信息读取子模块读取QoS信息并返回给请求节点;
(6-14)请求节点的QoS可视化子模块接收应用QoS信息,经过客户端处理提供应用QoS的图表展示功能。至此,应用QoS可视化功能结束,转向步骤(6-24);
(6-15)请求节点服务管理子模块经步骤(6-9)至(6-13)读取应用QoS消息;
(6-16)服务管理子模块根据各个服务实例的QoS信息和相应的调度算法,确定需要路由的服务实例所在节点,然后将应用调用消息发送至目标节点;
(6-17)目标节点的消息子模块接收应用调用消息,将消息发送至请求处理子模块处理;
(6-18)目标节点的请求处理子模块解析消息后将处理后的消息发送至服务管理子模块;
(6-19)目标节点服务管理子模块将服务调用消息发送至服务调用子模块;
(6-20)服务调用子模块完成服务的功能并返回服务执行结果给请求节点;
(6-21)Qos信息收集子模块收集应用调用过程的响应时间,通过QoS信息写入到QoS信息据库子模块中;
(6-22)服务实例管理子模块根据QoS信息数据库和用户服务级协议,对服务实例数目进行动态调整。并向服务发布子模块或服务卸载子模块发送调整消息;
(6-23)服务发布子模块或服务卸载子模块接收服务实例管理子模块的调整消息,完成服务发布或者服务卸载,至此,应用调用功能完成,转向步骤(6-24);
(6-24)用户操作完成,退出系统。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
(1)效率高
由于采用了步骤(5)对用户操作提供统一的操作界面,省去了繁冗的命令行操作,用户只需要在界面上进行简单操作即可完成应用QoS管理功能,大幅提高了用户的操作效率和用户体验。
(2)透明性强
由于采用了步骤(6)对应用QoS管理进行分阶段处理,用户对应用QoS管理过程更加透明。用户发布应用后不用管理应用QoS状况,也不用知晓应用所对应的服务实例数目,这些都是由系统自动调整,应用QoS由系统保证,增强了用户操作的透明性。
附图说明
图1是本发明基于云服务总线的应用QoS管理系统的示意框图。
图2是本发明基于云服务总线的应用QoS管理系统的细化框图。
图3是本发明系统中云服务总线模块的细化框图。
图4是本发明基于云服务总线的应用QoS管理系统的操作方法的流程图。
图5是本发明方法中步骤(5)的细化流程图。
图6是本发明方法中步骤(6)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明基于云服务总线的应用QoS管理系统包括用户访问模块1、用户管理模块2、应用管理模块3、云服务总线模块4、服务池模块5、以及数据中心模块6。
用户访问模块1用于给用户提供一个统一的访问接口。统一的访问接口提供系统功能说明和操作指南,以方便用户的使用。
用户管理模块2用于提供用户认证功能,如果用户的身份认证成功,则将用户信息传送到应用管理模块3,否则,用户管理模块2提醒用户进行注册。
应用管理模块3用于根据用户管理模块2传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用调用或应用QoS可视化功能,并在用户选择相应功能后将用户请求传送到云服务总线模块4。
云服务总线模块4用于在用户选择应用发布、应用调用或应用QoS可视化功能后,从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能,云服务总线模块4采用P2P分布式架构,相对于现在流行的单一服务总线和主-从式分布式服务总线,云服务总线采用P2P分布式架构解决了单点故障问题和性能瓶颈。
服务池模块5用于存储云服务总线模块4动态调整后的服务实例。这些服务实例可以运行在物理机上,也可以运行在虚拟机上。每个节点都有自己的服务集合,所有的节点服务集合共同构成服务池。服务发布时,服务实例会添加到目标节点的服务集合中。服务卸载时,服务实例会从目标节点的服务集合中移除。服务调用会从目标节点的服务集合中选取相应服务实例完成调用。
数据中心模块6用于存储服务实例所操作的数据集合。在本实施方式中,数据集合包括关系型数据库和非关系数据库。
如图2所示,用户访问模块2包括用户注册子模块21、用户登录子模块22和用户数据库子模块23。
用户注册子模块21用于为用户提供注册功能。
用户认证子模块22用于为用户提供登录认证功能,若认证通过则将用户信息传送到应用管理模块3,若认证失败则转入用户注册子模块21处理。
用户数据库子模块23用于在用户注册成功后存储用户信息,并在用户登录时读取该用户信息用于认证。
应用管理模块3包括应用发布子模块31、应用QoS可视化子模块32和应用调用子模块33。
应用发布子模块31用于为用户提供应用的发布功能。具体而言,用户将自己开发好的应用上传,并填写应用的描述信息和QoS需求,应用发布子模块31将应用发布请求发送至云服务总线模块4。
应用QoS可视化子模块32用于接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块4获取应用QoS数据,实时展示应用QoS的状况,完成应用QoS可视化功能。其中应用QoS指标包括应用的平均响应时间和访问量信息。
应用调用子模块33用于接收其它用户对该应用的调用请求并将应用调用请求发送至云服务总线模块4。
如图3所示,云服务总线模块4包括消息路由子模块41、请求处理子模块42、服务管理子模块43、服务发布子模块44、服务卸载子模块45、QoS信息读取子模块46、服务调用子模块47、QoS信息收集子模块48、QoS信息数据库子模块49、服务实例管理子模块50、Java管理扩展(JavaManagement Extensions,简称JMX)子模块51。
消息路由子模块41用于实现云服务总线模块4中各个节点间的消息通信,接收其他节点的消息路由模块41的消息,将消息发送至请求处理子模块42,接收服务管理子模块43和服务实例管理子模块50的消息,并将消息路由到目标节点集。具体而言,消息通信过程包括状态的监测与同步,请求消息路由等,且采用Gossip协议。
请求处理子模块42用于接收应用管理模块3发送过来的用户请求或其他节点的消息路由模块41发送过来的消息。并对用户请求或消息进行解析后提交到服务管理子模块43进行处理;
服务管理子模块43用于接收请求处理子模块42的用户请求或消息,如果是用户请求,则判断该用户请求是应用发布请求、应用调用请求还是QoS可视化请求,如果是应用发布请求,则根据用户在服务级协议中的需求,根据排队论相关理论计算出应用发布后的服务实例数目,并将服务发布消息经消息路由子模块41发送至目标节点集。如果是应用调用请求,则调用QoS信息读取子模块46读取应用所对应所有服务实例的QoS信息,根据QoS确定应用调用的服务实例所在的目标节点,将服务调用消息经消息路由子模块41发送至目标节点,如果是应用QoS可视化请求,则确定目标节点集,并将QoS信息读取消息经消息路由子模块41发送至目标节点集的某一个节点,因为对应同一个应用的不同服务实例都会保存有该应用所对应的全部服务实例的QoS信息,所以只需要读取其中一个节点即可得到该应用的QoS信息;如果是消息,则判断消息是服务发布消息、服务卸载消息、服务调用消息还是服务QoS读取消息。如果是服务发布消息,则将服务发布消息发送到服务发布子模块44,如果是服务卸载消息,则将服务卸载消息发送到服务卸载子模块45,如果是服务调用消息,则将服务调用请求发送到服务调用子模块47,如果是服务QoS读取消息,则发送到QoS信息读取子模块46。
服务发布子模块44用于接收服务管理子模块43的服务发布消息,根据服务发布消息完成服务发布功能并返回响应消息给请求节点。
服务卸载子模块45用于接收服务管理子模块43的服务卸载消息,根据服务卸载消息完成服务卸载功能并返回响应消息给请求节点。
QoS信息读取子模块46用于接收服务管理子模块43的服务QoS信息读取消息,根据服务QoS信息读取消息读取QoS信息数据库子模块49中的信息并返回给请求节点。
服务调用子模块47用于接收服务管理子模块43的服务调用消息,根据服务调用消息完成调用后返回服务调用结果给请求节点。
QoS信息收集子模块48用于对服务调用子模块47的过程进行监控,以收集服务调用的QoS信息(如响应时间等),并将QoS信息写入到QoS信息数据库子模块49中。
QoS信息数据库子模块49用于存储来自QoS信息收集子模块48的QoS信息。同一个应用的所有服务实例的QoS信息构成应用的QoS信息。同一个应用的所有服务实例的QoS信息在每个节点上都会保存一份副本,这样可以加速服务调用过程。服务管理子模块43接收到应用调用请求时,会根据应用QoS信息来确定目标节点并将应用调用请求经消息路由子模块41路由至目标节点。
服务实例管理子模块50用于根据服务级协议和QoS信息数据库子模块49中的QoS信息决定是否调整服务实例的数目。如果需要调整服务实例的数目,即应用QoS不能满足服务级协议中的需求,则增加服务实例,并通过消息路由子模块41发送服务发布命令至目标节点集,否则,如果应用QoS超过了服务级协议的需求,则减少服务实例,并通过消息路由子模块41发送服务卸载命令至目标节点集。
JMX子模块51用于使用JMX管理框架管理云服务总线模块4的节点集群以及服务部署相关信息。JMX子模块51提供各种接口,用户可以通过远程调用获取集群状态,节点资源占用信息以及服务部署的相关信息。
如图4所示,本发明基于云服务总线的应用QoS管理系统的操作方法包括以下步骤:
(1)用户通过浏览器访问统一访问模块;
(2)用户管理模块对用户身份进行认证,如果认证通过,则转入步骤(3),否则,提醒用户注册;
(3)用户管理模块将用户信息传送到应用管理模块;
(4)应用管理模块根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用QoS可视化或应用调用功能;
(5)应用管理模块在用户选择相应功能后将用户请求传送到云服务总线模块;
(6)云服务总线模块从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能;
(7)服务池模块存储云服务总线模块动态调整后的服务实例。
如图5所示,本发明操作方法中步骤(5)包括以下子步骤:
(5-1)用户在应用管理界面选择应用发布、应用QoS可视化或者应用调用功能;
(5-2)应用管理模块根据用户选择的功能,将请求发送给不同子模块处理;如果用户选择应用发布功能,则转向步骤(5-3);如果用户选择应用QoS可视化功能,则转向步骤(5-4);如果用户选择应用调用功能,则转向步骤(5-5);
(5-3)应用发布子模块接收请求,提示用户将自己开发好的应用上传,并填写应用的描述信息和QoS信息;应用发布子模块存储应用描述信息和QoS需求信息并将应用发布请求发送至云服务总线模块;
(5-4)应用QoS管理子模块接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块获取应用QoS数据,实时展示应用QoS的状况;
(5-5)应用调用子模块将应用调用请求发送至云服务总线模块。
如图6所示,本发明操作方法(6)包括以下子步骤:
(6-1)请求处理子模块接收应用管理模块发送过来的用户请求并解析请求;
(6-2)请求处理子模块根据不同的用户请求执行不同的步骤;如果是应用发布请求,则转向步骤(6-3);如果是应用QoS可视化请求,则转向步骤(6-9);如果是应用调用请求,则转向步骤(6-15);
(6-3)服务管理子模块根据用户填写的应用QoS信息,由排队论算法生成应用发布成Web服务的实例数目;根据云服务总线的服务部署策略(可以是机架相关或者机架无关策略),将服务发布消息经由消息路由子模块发送至目标节点集;
(6-4)目标节点的消息路由子模块接收服务发布消息,并将消息传送至请求处理子模块;
(6-5)目标节点的请求处理子模块对消息进行解析,将解析后的消息发送给服务管理子模块;
(6-6)目标节点的服务管理子模块处理服务发布消息,将服务发布消息传送至服务发布子模块;
(6-7)服务发布子模块完成服务发布功能并返回响应消息给请求节点;
(6-8)如果请求节点收到所有目标节点集的成功响应消息,则应用发布成功;否则,则返回失败信息,提示用户重新发布;至此,应用发布功能结束,转向步骤(6-24);
(6-9)服务管理子模块根据服务部署策略确定目标节点集;因为每一个目标节点都有该应用所有服务实例的QoS信息,所以服务管理模块只需要将应用QoS可视化消息发送至目标节点集的某一个目标节点;
(6-10)目标节点的消息路由子模块接收查看应用QoS消息,将应用QoS可视化消息发送至请求处理子模块;
(6-11)请求处理子模块处理消息后将其发送至服务管理子模块;
(6-12)目标节点的服务管理子模块接收消息,将其转发至QoS信息读取子模块;
(6-13)QoS信息读取子模块读取QoS信息并返回给请求节点;
(6-14)请求节点的QoS可视化子模块接收应用QoS信息,经过客户端处理提供应用QoS的图表展示功能;至此,应用QoS可视化功能结束,转向步骤(6-24);
(6-15)请求节点服务管理子模块经步骤(6-9)至(6-13)读取应用QoS消息;
(6-16)服务管理子模块根据各个服务实例的QoS信息和相应的调度算法,确定需要路由的服务实例所在节点,然后将应用调用消息发送至目标节点;
(6-17)目标节点的消息子模块接收应用调用消息,将消息发送至请求处理子模块处理;
(6-18)目标节点的请求处理子模块解析消息后将处理后的消息发送至服务管理子模块;
(6-19)目标节点服务管理子模块将服务调用消息发送至服务调用子模块;
(6-20)服务调用子模块完成服务的功能并返回服务执行结果给请求节点;
(6-21)Qos信息收集子模块收集应用调用过程的响应时间,通过QoS信息写入到QoS信息据库子模块中;
(6-22)服务实例管理子模块根据QoS信息数据库和用户服务级协议,对服务实例数目进行动态调整;并向服务发布子模块或服务卸载子模块发送调整消息;
(6-23)服务发布子模块或服务卸载子模块接收服务实例管理子模块的调整消息,完成服务发布或者服务卸载;至此,应用调用功能完成,转向步骤(6-24);
(6-24)用户操作完成,退出系统。
实例:
本发明基于云服务总线应用QoS管理系统是采用P2P架构的分布式系统,所以需要服务器节点较多,一般至少配置3-5台服务器节点。系统各个模块在每个服务器节点上都要安装,一起构成一个分布式系统。系统为多线程程序,主要开发语言为JAVA,所以可以运行在windows或者linux系统上。每台服务器节点的硬件配置如下表1所示:
随着云计算时代的到来,出现了各种云平台,如IaaS、PaaS、SaaS等。云平台的发展使得应用的开发更加便捷,应用的数目也在急剧增多。应用的QoS关乎用户体验,也关乎应用开发者的成本问题。本发明基于云服务总线对应用QoS进行管理,可以很好的满足各类需求。针对以前的应用QoS管理都是基于系统级(如CPU和内存利用率)从而导致应用QoS度量并不准确的问题,本发明从应用级出发,从应用级对应用QoS进行管理,准确性可以得到大幅提高。同时,本发明采用基于P2P架构的分布式系统,解决了以往主-从式系统的单点故障和性能瓶颈问题。本发明采用新型架构,并从应用级别对应用QoS进行管理,对云计算时代的应用开发与维护管理有重要意义,具有较高的应用价值和市场价值。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于云服务总线的应用QoS管理系统,包括用户访问模块、用户管理模块、应用管理模块、云服务总线模块、服务池模块、以及数据中心模块,其特征在于,
用户访问模块用于给用户提供一个统一的访问接口;
用户管理模块用于提供用户认证功能,如果用户的身份认证成功,则将用户信息传送到应用管理模块,否则,用户管理模块提醒用户进行注册;
应用管理模块用于根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用调用或应用QoS可视化功能,并在用户选择相应功能后将用户请求传送到云服务总线模块;
云服务总线模块用于在用户选择应用发布、应用调用或应用QoS可视化功能后,从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能;
服务池模块用于存储云服务总线模块动态调整后的服务实例,数据中心模块用于存储服务实例所操作的数据集合。
2.根据权利要求1所述的应用QoS管理系统,其特征在于,
用户访问模块包括用户注册子模块、用户登录子模块和用户数据库子模块;
用户注册子模块用于为用户提供注册功能;
用户认证子模块用于为用户提供登录认证功能,若认证通过则将用户信息传送到应用管理模块,若认证失败则转入用户注册子模块处理;
用户数据库子模块用于在用户注册成功后存储用户信息,并在用户登录时读取该用户信息用于认证。
3.根据权利要求1所述的应用QoS管理系统,其特征在于,
应用管理模块包括应用发布子模块、应用QoS可视化子模块和应用调用子模块;
应用发布子模块用于为用户提供应用的发布功能;
应用QoS可视化子模块用于接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块获取应用QoS数据,实时展示应用QoS的状况,完成应用QoS可视化功能;
应用调用子模块用于接收其它用户对该应用的调用请求并将应用调用请求发送至云服务总线模块。
4.根据权利要求1所述的应用QoS管理系统,其特征在于,
云服务总线模块包括消息路由子模块、请求处理子模块、服务管理子模块、服务发布子模块、服务卸载子模块、QoS信息读取子模块、服务调用子模块、QoS信息收集子模块、QoS信息数据库子模块、服务实例管理子模块、JMX子模块;
消息路由子模块用于实现云服务总线模块中各个节点间的消息通信,接收其他节点的消息路由模块的消息,将消息发送至请求处理子模块,接收服务管理子模块和服务实例管理子模块的消息,并将消息路由到目标节点集;
请求处理子模块用于接收应用管理模块发送过来的用户请求或其他节点的消息路由模块发送过来的消息,并对用户请求或消息进行解析后提交到服务管理子模块进行处理;
服务管理子模块用于接收请求处理子模块的用户请求或消息,如果是用户请求,则判断该用户请求是应用发布请求、应用调用请求还是QoS可视化请求,如果是应用发布请求,则根据用户在服务级协议中的需求,根据排队论相关理论计算出应用发布后的服务实例数目,并将服务发布消息经消息路由子模块发送至目标节点集,如果是应用调用请求,则调用QoS信息读取子模块读取应用所对应所有服务实例的QoS信息,根据QoS确定应用调用的服务实例所在的目标节点,将服务调用消息经消息路由子模块发送至目标节点,如果是应用QoS可视化请求,则确定目标节点集,并将QoS信息读取消息经消息路由子模块发送至目标节点集的某一个节点;如果是消息,则判断消息是服务发布消息、服务卸载消息、服务调用消息还是服务QoS读取消息。如果是服务发布消息,则将服务发布消息发送到服务发布子模块,如果是服务卸载消息,则将服务卸载消息发送到服务卸载子模块,如果是服务调用消息,则将服务调用请求发送到服务调用子模块,如果是服务QoS读取消息,则发送到QoS信息读取子模块;
服务发布子模块用于接收服务管理子模块的服务发布消息,根据服务发布消息完成服务发布功能并返回响应消息给请求节点;
服务卸载子模块用于接收服务管理子模块的服务卸载消息,根据服务卸载消息完成服务卸载功能并返回响应消息给请求节点;
QoS信息读取子模块用于接收服务管理子模块的服务QoS信息读取消息,根据服务QoS信息读取消息读取QoS信息数据库子模块中的信息并返回给请求节点;
服务调用子模块用于接收服务管理子模块的服务调用消息,根据服务调用消息完成调用后返回服务调用结果给请求节点;
QoS信息收集子模块用于对服务调用子模块的过程进行监控,以收集服务调用的QoS信息,并将QoS信息写入到QoS信息数据库子模块中;
QoS信息数据库子模块用于存储来自QoS信息收集子模块的QoS信息;
服务实例管理子模块用于根据服务级协议和QoS信息数据库子模块中的QoS信息决定是否调整服务实例的数目;
JMX子模块用于使用JMX管理框架管理云服务总线模块的节点集群以及服务部署相关信息。
5.根据权利要求1所述的应用QoS管理系统,其特征在于,云服务总线模块采用P2P分布式架构。
6.一种基于云服务总线的应用QoS管理系统的操作方法,其特征在于,包括以下步骤:
(1)用户通过浏览器访问统一访问模块;
(2)用户管理模块对用户身份进行认证,如果认证通过,则转入步骤(3),否则,提醒用户注册;
(3)用户管理模块将用户信息传送到应用管理模块;
(4)应用管理模块根据用户管理模块传送的用户信息为用户提供统一的应用管理界面,以供用户选择应用发布、应用QoS可视化或应用调用功能;
(5)应用管理模块在用户选择相应功能后将用户请求传送到云服务总线模块;
(6)云服务总线模块从应用级对该应用所对应的服务实例数目进行动态调整,从而完成应用QoS管理功能;
(7)服务池模块存储云服务总线模块动态调整后的服务实例。
7.根据权利要求6所述的操作方法,其特征在于,步骤(5)包括以下子步骤:
(5-1)用户在应用管理界面选择应用发布、应用QoS可视化或者应用调用功能;
(5-2)应用管理模块根据用户选择的功能,将请求发送给不同子模块处理。如果用户选择应用发布功能,则转向步骤(5-3);如果用户选择应用QoS可视化功能,则转向步骤(5-4);如果用户选择应用调用功能,则转向步骤(5-5);
(5-3)应用发布子模块接收请求,提示用户将自己开发好的应用上传,并填写应用的描述信息和QoS信息。应用发布子模块存储应用描述信息和QoS需求信息并将应用发布请求发送至云服务总线模块;
(5-4)应用QoS管理子模块接收用户查看应用QoS的请求,将应用QoS可视化请求发送至云服务总线模块获取应用QoS数据,实时展示应用QoS的状况;
(5-5)应用调用子模块将应用调用请求发送至云服务总线模块。
8.根据权利要求6所述的操作方法,其特征在于,步骤(6)包括以下子步骤:
(6-1)请求处理子模块接收应用管理模块发送过来的用户请求并解析请求;
(6-2)请求处理子模块根据不同的用户请求执行不同的步骤。如果是应用发布请求,则转向步骤(6-3);如果是应用QoS可视化请求,则转向步骤(6-9);如果是应用调用请求,则转向步骤(6-15);
(6-3)服务管理子模块根据用户填写的应用QoS信息,由排队论算法生成应用发布成Web服务的实例数目;
(6-4)目标节点的消息路由子模块接收服务发布消息,并将消息传送至请求处理子模块;
(6-5)目标节点的请求处理子模块对消息进行解析,将解析后的消息发送给服务管理子模块;
(6-6)目标节点的服务管理子模块处理服务发布消息,将服务发布消息传送至服务发布子模块;
(6-7)服务发布子模块完成服务发布功能并返回响应消息给请求节点;
(6-8)如果请求节点收到所有目标节点集的成功响应消息,则应用发布成功;否则,则返回失败信息,提示用户重新发布。至此,应用发布功能结束,转向步骤(6-24);
(6-9)服务管理子模块根据服务部署策略确定目标节点集;
(6-10)目标节点的消息路由子模块接收查看应用QoS消息,将应用QoS可视化消息发送至请求处理子模块;
(6-11)请求处理子模块处理消息后将其发送至服务管理子模块;
(6-12)目标节点的服务管理子模块接收消息,将其转发至QoS信息读取子模块;
(6-13)QoS信息读取子模块读取QoS信息并返回给请求节点;
(6-14)请求节点的QoS可视化子模块接收应用QoS信息,经过客户端处理提供应用QoS的图表展示功能。至此,应用QoS可视化功能结束,转向步骤(6-24);
(6-15)请求节点服务管理子模块经步骤(6-9)至(6-13)读取应用QoS消息;
(6-16)服务管理子模块根据各个服务实例的QoS信息和相应的调度算法,确定需要路由的服务实例所在节点,然后将应用调用消息发送至目标节点;
(6-17)目标节点的消息子模块接收应用调用消息,将消息发送至请求处理子模块处理;
(6-18)目标节点的请求处理子模块解析消息后将处理后的消息发送至服务管理子模块;
(6-19)目标节点服务管理子模块将服务调用消息发送至服务调用子模块;
(6-20)服务调用子模块完成服务的功能并返回服务执行结果给请求节点;
(6-21)Qos信息收集子模块收集应用调用过程的响应时间,通过QoS信息写入到QoS信息据库子模块中;
(6-22)服务实例管理子模块根据QoS信息数据库和用户服务级协议,对服务实例数目进行动态调整。并向服务发布子模块或服务卸载子模块发送调整消息;
(6-23)服务发布子模块或服务卸载子模块接收服务实例管理子模块的调整消息,完成服务发布或者服务卸载,至此,应用调用功能完成,转向步骤(6-24);
(6-24)用户操作完成,退出系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210513377.8A CN103002034B (zh) | 2012-12-03 | 2012-12-03 | 一种基于云服务总线的应用QoS管理系统及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210513377.8A CN103002034B (zh) | 2012-12-03 | 2012-12-03 | 一种基于云服务总线的应用QoS管理系统及其操作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103002034A true CN103002034A (zh) | 2013-03-27 |
CN103002034B CN103002034B (zh) | 2014-12-31 |
Family
ID=47930167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210513377.8A Expired - Fee Related CN103002034B (zh) | 2012-12-03 | 2012-12-03 | 一种基于云服务总线的应用QoS管理系统及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103002034B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616118A (zh) * | 2015-02-16 | 2015-05-13 | 浪潮集团有限公司 | 一种业务请求处理方法、装置及系统 |
CN104954463A (zh) * | 2015-06-12 | 2015-09-30 | 华为技术有限公司 | 一种应用的用户信息管理的方法、设备及系统 |
CN105183565A (zh) * | 2015-09-30 | 2015-12-23 | 华为技术有限公司 | 计算机、服务质量控制方法及装置 |
CN105376263A (zh) * | 2015-12-24 | 2016-03-02 | 青岛洪锦电子商务有限公司 | 多系统数据的统一管理方法 |
CN105490903A (zh) * | 2014-09-19 | 2016-04-13 | 中国银联股份有限公司 | 一种基于总线模式的集群架构 |
CN105653334A (zh) * | 2015-12-31 | 2016-06-08 | 贵州联科卫信科技有限公司 | 一种基于saas模式的mis系统快速开发框架 |
CN105893083A (zh) * | 2016-03-29 | 2016-08-24 | 华中科技大学 | 云环境下基于容器的移动代码卸载支撑系统及其卸载方法 |
CN107357530A (zh) * | 2017-07-12 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种针对OpenStack云硬盘的设置方法及装置 |
CN111258581A (zh) * | 2020-02-03 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于云服务的应用开发方法、装置、设备及计算机介质 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170396A (zh) * | 2011-05-06 | 2011-08-31 | 浙江大学 | 一种基于区分服务的云存储系统QoS控制方法 |
WO2011144029A1 (zh) * | 2010-05-20 | 2011-11-24 | 中兴通讯股份有限公司 | 云服务中介、云计算方法及云系统 |
-
2012
- 2012-12-03 CN CN201210513377.8A patent/CN103002034B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011144029A1 (zh) * | 2010-05-20 | 2011-11-24 | 中兴通讯股份有限公司 | 云服务中介、云计算方法及云系统 |
CN102170396A (zh) * | 2011-05-06 | 2011-08-31 | 浙江大学 | 一种基于区分服务的云存储系统QoS控制方法 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490903A (zh) * | 2014-09-19 | 2016-04-13 | 中国银联股份有限公司 | 一种基于总线模式的集群架构 |
CN105490903B (zh) * | 2014-09-19 | 2019-07-19 | 中国银联股份有限公司 | 一种基于总线模式的集群架构 |
CN104616118A (zh) * | 2015-02-16 | 2015-05-13 | 浪潮集团有限公司 | 一种业务请求处理方法、装置及系统 |
US10986166B2 (en) | 2015-06-12 | 2021-04-20 | Huawei Technologies Co., Ltd. | Method for managing user information of application, device, and system |
US11388224B2 (en) | 2015-06-12 | 2022-07-12 | Huawei Technologies Co., Ltd. | Method for managing user information of application, device, and system |
WO2016197609A1 (zh) * | 2015-06-12 | 2016-12-15 | 华为技术有限公司 | 一种应用的用户信息管理的方法、设备及系统 |
CN104954463A (zh) * | 2015-06-12 | 2015-09-30 | 华为技术有限公司 | 一种应用的用户信息管理的方法、设备及系统 |
CN104954463B (zh) * | 2015-06-12 | 2018-05-18 | 华为技术有限公司 | 一种应用的用户信息管理的方法、设备及系统 |
CN105183565A (zh) * | 2015-09-30 | 2015-12-23 | 华为技术有限公司 | 计算机、服务质量控制方法及装置 |
WO2017054610A1 (zh) * | 2015-09-30 | 2017-04-06 | 华为技术有限公司 | 计算机、服务质量控制方法及装置 |
CN105183565B (zh) * | 2015-09-30 | 2018-12-07 | 华为技术有限公司 | 计算机、服务质量控制方法及装置 |
US10169089B2 (en) | 2015-09-30 | 2019-01-01 | Huawei Technologies Co., Ltd. | Computer and quality of service control method and apparatus |
CN105376263A (zh) * | 2015-12-24 | 2016-03-02 | 青岛洪锦电子商务有限公司 | 多系统数据的统一管理方法 |
CN105653334A (zh) * | 2015-12-31 | 2016-06-08 | 贵州联科卫信科技有限公司 | 一种基于saas模式的mis系统快速开发框架 |
CN105653334B (zh) * | 2015-12-31 | 2020-02-18 | 贵州联科卫信科技有限公司 | 一种基于saas模式的mis系统快速开发框架 |
CN105893083B (zh) * | 2016-03-29 | 2019-06-11 | 华中科技大学 | 云环境下基于容器的移动代码卸载支撑系统及其卸载方法 |
CN105893083A (zh) * | 2016-03-29 | 2016-08-24 | 华中科技大学 | 云环境下基于容器的移动代码卸载支撑系统及其卸载方法 |
CN107357530A (zh) * | 2017-07-12 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种针对OpenStack云硬盘的设置方法及装置 |
CN111258581A (zh) * | 2020-02-03 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于云服务的应用开发方法、装置、设备及计算机介质 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN111858041B (zh) * | 2020-07-10 | 2023-06-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103002034B (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103002034B (zh) | 一种基于云服务总线的应用QoS管理系统及其操作方法 | |
US11272036B2 (en) | API hybrid multi-tenant routing method and system, and API gateway | |
US20210037097A1 (en) | Cloud data storage location monitoring | |
US9002932B2 (en) | Cloud computing access gateway and method for providing a user terminal access to a cloud provider | |
KR102254809B1 (ko) | 블록체인에 기반한, 자원 공유에 따른 보상 제공하는 분산형 컴퓨팅 자원 공유 시스템 및 컴퓨팅 장치 | |
US10057186B2 (en) | Service broker for computational offloading and improved resource utilization | |
CN104850450A (zh) | 一种面向混合云应用的负载均衡方法及系统 | |
CN110138862A (zh) | 基于应用服务的业务处理方法、装置、网关设备及介质 | |
US20100235887A1 (en) | System and method for queuing to a cloud via a queuing proxy | |
CN109862051A (zh) | 一种微服务架构下多租户的实现方法及系统 | |
US10666570B2 (en) | Computing infrastructure resource-workload management methods and apparatuses | |
CN110442610A (zh) | 负载均衡的方法、装置、计算设备以及介质 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN110658794A (zh) | 一种制造执行系统 | |
CN112434114B (zh) | 电子票据处理方法、装置、介质及电子设备 | |
CN109587071A (zh) | 基于sdn的微服务负载均衡方法 | |
CN111258760A (zh) | 一种平台管理方法、系统、装置及存储介质 | |
US11616725B1 (en) | Hierarchical token buckets | |
US20120221626A1 (en) | Systems and methods for establishing upload channels to a cloud data distribution service | |
CN110661780A (zh) | 一种基于saas应用的无线城市数据共享方法与系统 | |
CN110737425A (zh) | 一种计费平台系统的应用程序的建立方法及装置 | |
CN107888388B (zh) | 一种网络加速服务的计费方法和系统 | |
CN104394198A (zh) | 一种基于esb的全局调度方法 | |
US20120254942A1 (en) | Connection destination determination device, connection destination determination method, and service collaboration system | |
Xiang et al. | Robust and cost-effective resource allocation for complex iot applications in edge-cloud collaboration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141231 Termination date: 20211203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |