《一种基于消息总线的云计算管理软件交互方法.pdf》由会员分享,可在线阅读,更多相关《一种基于消息总线的云计算管理软件交互方法.pdf(8页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410819145.4(22)申请日 2014.12.25H04L 29/08(2006.01)H04L 12/58(2006.01)(71)申请人 浪潮电子信息产业股份有限公司地址 250101 山东省济南市高新区浪潮路1036 号(72)发明人 吕广杰 刘正伟 朱波(74)专利代理机构 济南信达专利事务所有限公司 37100代理人 姜明(54) 发明名称一种基于消息总线的云计算管理软件交互方法(57) 摘要本发明公开了一种基于消息总线的云计算管理软件交互方法,包括以下步骤:搭建云计算管理软件模型,通过定义云计算管理软件的核心功能。
2、模块与模块间的交互方式,建立无共享、基于消息传递的体系结构。文本消息处理,是该方案使用普通文本方式进行交互的环节,用于实现事件通知功能。基于消息的发布/订阅模式,实现消息发布者与订阅者的解耦。RPC 消息处理,是该方案使用远程接口调用方式进行交互的环节,用于实现模块间的调用功能。该一种基于消息总线的云计算管理软件交互方法与现有技术相比,使用消息总线作为云计算管理软件各模块交互的中介,降低模块间的耦合,实现同步、异步工作机制,具有高效性、持久性、科学性、系统性。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书4页 附图2页(10)申请公布号 C。
3、N 104486440 A(43)申请公布日 2015.04.01CN 104486440 A1/1页21.一种基于消息总线的云计算管理软件交互方法,其特征在于,其具体实现过程为:搭建云计算管理软件模型,该云计算管理软件模型包括定义云计算管理软件的核心功能模块与模块间的交互方式,建立无共享、基于消息传递的体系结构,其中上述核心功能模块包括云资源管理、基本管理、计量计费、业务审批、系统管理、综合监控六大模块,每个模块可同时部署一个或多个服务,每个服务独立运行在一台或多台服务器上;进行文本消息处理,即基于消息的发布、订阅模式,实现消息发布者与订阅者的解耦,实现事件通知功能;进行RPC消息处理,该R。
4、PC消息分为同步消息和异步消息,同步消息实现模块间的同步调用,异步消息实现模块间的异步调用,从而实现模块间的调用功能。2.根据权利要求1所述的一种基于消息总线的云计算管理软件交互方法,其特征在于,所述云计算管理软件模型中各个模块与消息总线之间通过AMQP协议进行通信,在通讯时,每个模块作为独立的生产者,向其他模块的消息队列发送消息;每个模块运行消费者服务,作为独立的消费者,读取自身消息队列中的消息进行处理;各个模块共用同一个数据库,并对外统一提供Rest接口。3.根据权利要求1所述的一种基于消息总线的云计算管理软件交互方法,其特征在于,所述文本消息处理的具体过程为:S1、为云计算管理软件模型中。
5、的每个模块定义一个交换器:云资源管理交换器、基本管理交换器、系统管理交换器、综合监控交换器、计量计费交换器、业务审批交换器;S2、当一模块发送通知时,指定该发送的消息对应的交换器,进而发送文本消息到该交换器;当有其它模块关心该接收到的文本消息时,则注册自身队列到上述接收文本信息的交换器,并接收消息,进行下述处理;S3、定义文本消息的格式;S4、消息发送方与接收方之间采用发布、订阅模式;消息的发送者只发送消息,订阅者只接收需要的消息,实现发布者和订阅者的解耦。4.根据权利要求3所述的一种基于消息总线的云计算管理软件交互方法,其特征在于,所述文本消息的格式包括模块ID、操作类型和消息体,其中,各个。
6、字段的具体定义如下 :模块ID,用于标识云资源管理、基本管理、系统管理、综合监控、计量计费、业务审批各个模块;操作类型与消息操作的功能名称对应;消息体为 HashMap 类型的参数数据。5.根据权利要求1所述的一种基于消息总线的云计算管理软件交互方法,其特征在于,所述RPC消息分为同步RPC与异步RPC两大类,其具体的处理过程为:当一个模块调用另一模块的RPC接口时,将接口与参数进行编码组合成RPC消息,并发送到消息服务器中;其中对于同步RPC,调用模块等待被调用模块实时响应后才返回;对于异步RPC,调用模块发送后即返回,不必等待;被调用的模块接收到RPC消息后,进行解码、分析;对于同步RPC。
7、,被调用模块执行相应的业务逻辑,并将消息处理结果实时返回给调用模块;对于异步RPC,被调用模块执行相应的业务逻辑后,再以RPC的方式调用调用模块的回调接口,实现通知反馈。权 利 要 求 书CN 104486440 A1/4页3一种基于消息总线的云计算管理软件交互方法技术领域0001 本发明涉及云计算技术领域,具体地说是一种实用性强、基于消息总线的云计算管理软件交互方法。背景技术0002 随着信息科技的发展,云计算逐步成为业界的发展热点,国内外各大厂商的云计算管理软件也开始纷纷投入到科学、教育、文化、卫生、政府、高性能计算、电子商务、物联网等多个领域进行使用。0003 为了实现对云数据中心的统一。
8、管理控制,云计算管理软件必定包含多个模块。对于多模块的软件,高效、科学的模块交互不仅是必需的,而且已成为制约管理软件优劣的瓶颈。云计算管理软件中的模块交互超时或出现异常,将对整个软件的运行造成不良影响,甚至对整个公司、企业的经营活动产生巨大冲击。0004 传统的模块间交互一般采用API调用方式,一方面,API调用过程非常繁琐,完成一次功能需要发出多次HTTP请求,从而导致严重的性能下降及网络超载;另一方面,API调用缺乏持久化机制,一旦某个模块的服务停止,其他模块发送的API请求即失去效用,即便重启服务,之前发送的API请求也不复存在,需要重新调用。0005 为了有效提高云计算管理软件各模块间。
9、的交互效率、减少交互异常、降低交互时的网络带宽占用、实现交互的持久化机制,我们提出了一种易开发、易维护的云计算管理软件交互方法。发明内容0006 本发明的技术任务是针对以上不足之处,提供一种实用性强、基于消息总线的云计算管理软件交互方法。0007 一种基于消息总线的云计算管理软件交互方法,其具体实现过程为:搭建云计算管理软件模型,该云计算管理软件模型包括定义云计算管理软件的核心功能模块与模块间的交互方式,建立无共享、基于消息传递的体系结构,其中上述核心功能模块包括云资源管理、基本管理、计量计费、业务审批、系统管理、综合监控六大模块,每个模块可同时部署一个或多个服务,每个服务独立运行在一台或多台。
10、服务器上;进行文本消息处理,即基于消息的发布、订阅模式,实现消息发布者与订阅者的解耦,实现事件通知功能;进行RPC消息处理,该RPC消息分为同步消息和异步消息,同步消息实现模块间的同步调用,异步消息实现模块间的异步调用,从而实现模块间的调用功能。0008 所述云计算管理软件模型中各个模块与消息总线之间通过AMQP协议进行通信,在通讯时,每个模块作为独立的生产者,向其他模块的消息队列发送消息;每个模块运行消费者服务,作为独立的消费者,读取自身消息队列中的消息进行处理;各个模块共用同一个数据库,并对外统一提供Rest接口。说 明 书CN 104486440 A2/4页40009 所述文本消息处理的。
11、具体过程为:S1、为云计算管理软件模型中的每个模块定义一个交换器:云资源管理交换器、基本管理交换器、系统管理交换器、综合监控交换器、计量计费交换器、业务审批交换器;S2、当一模块发送通知时,指定该发送的消息对应的交换器,进而发送文本消息到该交换器;当有其它模块关心该接收到的文本消息时,则注册自身队列到上述接收文本信息的交换器,并接收消息,进行下述处理;S3、定义文本消息的格式;S4、消息发送方与接收方之间采用发布、订阅模式;消息的发送者只发送消息,订阅者只接收需要的消息,实现发布者和订阅者的解耦。0010 所述文本消息的格式包括模块ID、操作类型和消息体,其中,各个字段的具体定义如下:模块ID。
12、,用于标识云资源管理、基本管理、系统管理、综合监控、计量计费、业务审批各个模块;操作类型与消息操作的功能名称对应;消息体为 HashMap 类型的参数数据。0011 所述RPC 消息分为同步RPC与异步RPC两大类,其具体的处理过程为:当一个模块调用另一模块的RPC接口时,将接口与参数进行编码组合成RPC消息,并发送到消息服务器中;其中对于同步RPC,调用模块等待被调用模块实时响应后才返回;对于异步RPC,调用模块发送后即返回,不必等待;被调用的模块接收到RPC消息后,进行解码、分析;对于同步RPC,被调用模块执行相应的业务逻辑,并将消息处理结果实时返回给调用模块;对于异步RPC,被调用模块执。
13、行相应的业务逻辑后,再以RPC的方式调用调用模块的回调接口,实现通知反馈。0012 本发明的一种基于消息总线的云计算管理软件交互方法,具有以下优点:该发明的一种基于消息总线的云计算管理软件交互方法通过模块间的解耦合,每个模块不必关心其他模块的位置,只需向消息总线发送消息即可;客户端与服务端的异步机制,客户端并不要求服务端的实时响应,因此可以通过消息机制实现异步任务处理,减轻系统压力;随机平衡的远程调用,当一个模块存在多个服务端在运行时,一般一个调用只交付给最近最可用的服务端,均衡网络负载;持久化机制,消息总线实现了持久化机制,即使断电或宕机,之前发送的消息在服务重启后会重新进行处理,实用性强,。
14、易于推广。附图说明0013 附图1为云计算管理软件模型系统架构图。0014 附图2为文本消息处理示意图。0015 附图3为文本消息格式图。0016 附图4为 RPC消息处理示意图。具体实施方式0017 下面结合附图和具体实施例对本发明作进一步说明。0018 本发明提出一种基于消息总线的云计算管理软件交互方法,如附图1所示,其具体实现过程为:搭建云计算管理软件模型,该云计算管理软件模型包括定义云计算管理软件的核心功说 明 书CN 104486440 A3/4页5能模块与模块间的交互方式,建立无共享、基于消息传递的体系结构,其中上述核心功能模块包括云资源管理、基本管理、计量计费、业务审批、系统管理。
15、、综合监控六大模块,每个模块可同时部署一个或多个服务,每个服务独立运行在一台或多台服务器上;进行文本消息处理,即基于消息的发布、订阅模式,实现消息发布者与订阅者的解耦,实现事件通知功能;进行RPC消息处理,该RPC消息分为同步消息和异步消息,同步消息实现模块间的同步调用,异步消息实现模块间的异步调用,从而实现模块间的调用功能。0019 在上述步骤中,所述的云计算管理软件模型是经过广泛调研与总结定义的云计算管理软件模型,为各云计算厂商的管理软件统一定义核心功能模块与交互架构,具有广泛性与统一性。0020 所述的文本消息处理,使用特定格式的文本消息实现模块间的事件通知功能,简便、灵活、易于扩展。0。
16、021 所述的RPC消息处理,一方面,使用基于接口与参数的RPC消息实现模块间的远程接口调用,设计巧妙,易于调用;另一方面,通过同步与异步两类RPC消息,实现同步与异步工作机制,满足云计算管理软件的各种应用需求。0022 结合附图,下面对本发明的交互方法进行详细描述。0023 其中,搭建云计算管理软件模型是整个方案的基础。如附图1,整个系统建立在无共享、基于消息传递的体系结构之上。经过广泛调研与总结,云计算管理软件可分为云资源管理(管理虚拟化软件)、基本管理(组织用户管理)、系统管理(系统设置)、综合监控(资源监控)、计量计费(资源使用情况计量计费)、业务审批(订单申请审批)等几大核心功能模块。
17、。每个模块可以同时部署一个或多个服务,每个服务都可独立运行在一台或多台服务器上。0024 各个模块与消息总线通过AMQP协议进行通信,在通讯时,每个模块作为独立的生产者,向其他模块的消息队列发送消息;每个模块运行消费者服务,作为独立的消费者,读取自身消息队列中的消息进行处理。各个模块共用同一个数据库,并对外统一提供Rest接口。0025 文本消息处理是该模型使用普通文本方式进行交互的环节。对于文本类型的消息,生产者只需将消息发出,不必关心消费者及队列的具体情况。文本消息用于实现事件通知功能。0026 S1、为每个模块定义一个交换器:云资源管理交换器,基本管理交换器,系统管理交换器,综合监控交换。
18、器,计量计费交换器,业务审批交换器。0027 S2、如附图2,模块A在发送通知时,仅需指定消息对应的交换器,进而发送文本消息到该交换器。模块B、C、D如果关心该文本消息,则注册自身队列到模块A的交换器,并接收消息,进行处理。0028 S3、定义文本消息的格式如附图3,其中,各个字段的具体定义如下:模块ID(appId),用于标识云资源管理、基本管理、系统管理、综合监控、计量计费、业务审批等各个模块;消息操作类型(type),与消息操作的功能名称对应,如delete、add;消息体,为HashMap类型的参数数据,如:delId=*, operId=*, recordTime=*。说 明 书CN。
19、 104486440 A4/4页60029 S4、消息发送方与接收方之间采用发布/订阅模式。消息的发送者(发布者)只发送消息,不需要知道发送的消息被什么订阅者订阅。订阅者只接收需要的消息,也不需要知道消息来自于什么样的发布者。通过这种方式,实现发布者和订阅者的解耦。0030 RPC 消息处理是该模型使用远程接口调用方式进行交互的环节。对于“RPC”类型的消息,生产者发送RPC消息远程调用消费者的接口,消费者接收消息后执行相应的业务逻辑。消息RPC分为同步RPC与异步RPC 两大类,以实现同步和异步工作机制。0031 如附图4,当模块A调用模块B的RPC接口时,将接口与参数进行编码组合成RPC消。
20、息,并发送到消息服务器中。0032 对于同步RPC,模块A等待模块B实时响应后才返回;对于异步RPC,模块A发送后即返回,不必等待。0033 模块B接收到 RPC消息后,进行解码、分析。0034 对于同步RPC,模块B执行相应的业务逻辑,并将消息处理结果实时返回给模块A;对于异步RPC,模块B执行相应的业务逻辑后,再以RPC的方式调用模块A的回调接口,实现通知反馈。0035 上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于消息总线的云计算管理软件交互方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。说 明 书CN 104486440 A1/2页7图1图2说 明 书 附 图CN 104486440 A2/2页8图3图4说 明 书 附 图CN 104486440 A。