一种基于消息链的轻量级数据处理框架.pdf

上传人:e2 文档编号:6181976 上传时间:2019-05-17 格式:PDF 页数:17 大小:4.74MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310714072.8

申请日:

2013.12.20

公开号:

CN103677844A

公开日:

2014.03.26

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 9/44变更事项:专利权人变更前:国云科技股份有限公司变更后:国云科技股份有限公司变更事项:地址变更前:523808 广东省东莞市松山湖科技产业园区松科苑14号楼变更后:523808 广东省东莞市松山湖高新技术产业开发区科汇路1号中科院云计算中心19楼|||授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20131220|||公开

IPC分类号:

G06F9/44

主分类号:

G06F9/44

申请人:

国云科技股份有限公司

发明人:

熊梦; 杨松; 莫展鹏; 季统凯

地址:

523808 广东省东莞市松山湖科技产业园区松科苑14号楼

优先权:

专利代理机构:

北京科亿知识产权代理事务所(普通合伙) 11350

代理人:

汤东凤

PDF下载: PDF下载
内容摘要

本发明涉及分布式计算技术领域,特别是指一种基于消息链的轻量级数据处理框架。当消息被接收后进入消息处理链模块;经过链上每个处理器上行处理逻辑的处理后,缓存到上行消息队列中;上行消息队列管理线程取出消息放入消息线程池;消息线程池将消息解析成对象或者结构体;消息观察者根据类型决定是否接受消息,并对其进行特殊业务逻辑处理;另外,用户请求或响应经过消息解析模块转化成消息缓存到下行消息队列中;消息队列把下行消息保存在待发送队列中;按顺序出列进入消息处理链,经过链上每个处理器下行处理逻辑处理后发送至消息通道。本发明解决了采用消息中间件所存在的问题,可用于实现基于本数据处理框架的第三方软硬件的快速集成开发。

权利要求书

权利要求书
1.  一种基于消息链的轻量级数据处理框架,其特征在于:包括步骤:
上行消息从消息通道中被接收后进入消息处理链模块;
消息依次经过链上每个处理器上行处理逻辑的处理后,缓存到上行消息队列中;
上行消息队列管理线程从消息队列中取出消息放入消息线程池;
消息线程池将消息解析成对象或者结构体;
消息观察者根据消息对象或结构体的类型决定是否接受消息,并对其进行特殊业务逻辑处理;
处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中;
消息队列把下行消息保存在待发送队列中;
待发送队列中消息按顺序出列进入消息处理链,依次经过链上每个处理器下行处理逻辑处理后发送至消息通道。

2.  根据权利要求1所述的轻量级数据处理框架,其特征在于:所述消息分为上行消息和下行消息;上行消息是指系统从消息通道上接收到并需要进行相应命令操作的请求,下行消息则是指命令操作处理完后的响应或是用户需要发送出去的请求。

3.  根据权利要求1所述的轻量级数据处理框架,其特征在于:所述消息处理链是消息处理工具的链式集合,包括上行消息处理链和下行消息处理链;上行消息处理链包括的消息处理工具有消息解包、消息解压、消息解密及消息认证等;下行消息处理链包括的消息处理工具则相应的有消息认证、消息加密、 消息压缩和消息打包等;
所述的消息线程池是指各个消息处理线程的集合,具有将消息解析成各个对象或者结构体的功能;
所述的消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口对象,包括日志观察者,审计观察者,虚拟机观察者,逻辑卷观察者等;消息观察者采用观察者模式设计实现,同一个消息支持依次被多个观察者接收处理;,观察者模式是编程设计中一种编程实现方法。

4.  根据权利要求3所述的轻量级数据处理框架,其特征在于:所述的上下行消息处理链工具集支持动态可扩展。

5.  根据权利要求1至4任一项所述的轻量级数据处理框架,其特征在于:所述上下行消息队列支持内存形式和数据库形式;
所述的内存形式消息队列是指在内存中申请一定大小的空间作为消息缓冲,具有效率高的特性;
所述的数据库形式是指将消息先保存到数据库,等待消息处理线程的调度,具有持久化特性,支持服务故障恢复消息重新处理的特点。

6.  根据权利要求1至4任一项所述的轻量级数据处理框架,其特征在于:所述的消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录,审计观察者进行审计,虚拟机观察者进行创建虚拟机、关闭虚拟机等业务逻辑处理。

7.  根据权利要求5所述的轻量级数据处理框架,其特征在于:所述的消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录,审计观察者进行审计,虚拟机观察者进行创建虚拟机、关闭虚拟机等业务逻辑处理。

说明书

说明书一种基于消息链的轻量级数据处理框架
技术领域
本发明涉及分布式计算技术领域,特别是指一种基于消息链的轻量级数据处理框架。 
背景技术
一个分布式系统需要处理不同类型的消息,消息的处理逻辑既有共同之处,也会根据消息类型的不同而需要特殊的处理逻辑。我们一般采用消息中间件来处理消息的共性问题,它的处理步骤是这样的: 
1、消息中间件中一般有三个角色:消息中间件、消费者、服务提供者; 
2、消费者组装数据请求报文发送给消息; 
3、消息中间件将消费者请求报文转发给各服务提供者监听队列,服务提供者接收请求业务报文; 
4、服务提供者异步返回请求报文的响应报文; 
5、消息中间件将消费者请求报文的响应报文返回到对应消费者应答队列,消费者接收请求的响应报文,并做相应处理; 
6、服务提供者生成消费者所需的数据,并发送报文给消息中间件; 
7、消息中间件将通知报文转发给各消费者监听队列,消费者接收到通知业务报文; 
8、消费者异步返回通知报文的响应报文。 
可是,消息中间件在消息量不大的分布式环境中也存在以下的问题: 
1、消息中间件是一个独立的消息引擎,会占用一部分服务器资源,对于消息量不大的分布式应用来说,没有必要增加这样的开销,而且引入第三者的角色,消息(报文)在传输过程中经过多一层队列的暂存,会减低消息的实时性. 
2、消息中间件对消息处理逻辑没有设计灵活的处理机制,一旦消息处理逻辑变化,需要重新编码实现. 
3、消息中间件没有设计对消息的特殊处理逻辑机制,对特殊业务逻辑的开发不利。 
发明内容
本发明解决的技术问题在于提供一种基于消息链的轻量级数据处理框架,解决目前通用消息中间件存在的消息处理不灵活、开发效率低、消息实时性低的问题; 
本发明解决上述技术问题的技术方案是: 
包括步骤: 
上行消息从消息通道中被接收后进入消息处理链模块; 
消息依次经过链上每个处理器上行处理逻辑的处理后,缓存到上行消息队列中; 
上行消息队列管理线程从消息队列中取出消息放入消息线程池; 
消息线程池将消息解析成对象或者结构体; 
消息观察者根据消息对象或结构体的类型决定是否接受消息,并对其进行特殊业务逻辑处理; 
处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中; 
消息队列把下行消息保存在待发送队列中; 
待发送队列中消息按顺序出列进入消息处理链,依次经过链上每个处理器下行处理逻辑处理后发送至消息通道。 
所述消息分为上行消息和下行消息;上行消息是指系统从消息通道上接收到并需要进行相应命令操作的请求,下行消息则是指命令操作处理完后的响应或是用户需要发送出去的请求。 
所述消息处理链是消息处理工具的链式集合,包括上行消息处理链和下行消息处理链;上行消息处理链包括的消息处理工具有消息解包、消息解压、消息解密及消息认证等;下行消息处理链包括的消息处理工具则相应的有消息认证、消息加密、消息压缩和消息打包等; 
所述的消息线程池是指各个消息处理线程的集合,具有将消息解析成各个对象或者结构体的功能; 
所述的消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口对象,包括日志观察者,审计观察者,虚拟机观察者,逻辑卷观察者等;消息观察者采用观察者模式设计实现,同一个消息支持依次被多个观察者接收处理;,观察者模式是编程设计中一种编程实现方法。 
所述的上下行消息处理链工具集支持动态可扩展。 
所述上下行消息队列支持内存形式和数据库形式; 
所述的内存形式消息队列是指在内存中申请一定大小的空间作为消息缓冲,具有效率高的特性; 
所述的数据库形式是指将消息先保存到数据库,等待消息处理线程的调度,具有持久化特性,支持服务故障恢复消息重新处理的特点。 
所述的消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录,审计观察者进行审计,虚拟机观察者进行创建虚拟机、关闭虚拟机等业务逻辑处理。 
本发明方案的有益效果如下: 
1、本发明的框架是轻量级的,对系统额外增加的开销较少,消息的实时性高。 
2、本发明的框架是高度灵活的,消息处理链中的处理逻辑可以按需通过配置进行增减,无需重新编码即可运行;要增加对消息的特殊处理逻辑也较容易。 
3、本发明的方法能在短时间内开发分布式处理应用,在消息处理链中的处理器都是根据共性处理逻辑开发的通用组件,在实际使用过程中只需要进行配置或做少量编码即可。 
4、能提高分布式应用开发的质量,增加客户满意度。由于应用本架构可做到不编写代码或者只编写极少量代码,因此减少了开发过程中编码产生的错误,提高了软件质量。 
附图说明
下面结合附图对本发明进一步说明: 
图1为本发明流程图; 
图2为本发明上行数据处理框架分解图; 
具体实施方式
如图1所示,本发明基于消息链的轻量级数据处理方法包括如下步骤: 
上行消息从消息通道中被接收后进入消息处理链模块; 
消息依次经过链上每个处理器上行处理逻辑的处理后,缓存到上行消息队 列中; 
上行消息队列管理线程从消息队列中取出消息放入消息线程池; 
消息线程池将消息解析成对象或者结构体; 
消息观察者根据消息对象或结构体的类型决定是否接受消息,并对其进行特殊业务逻辑处理; 
处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中; 
消息队列把下行消息保存在待发送队列中; 
待发送队列中消息按顺序出列进入消息处理链,依次经过链上每个处理器下行处理逻辑处理后发送至消息通道。 
所述消息分为上行消息和下行消息;上行消息是指系统从消息通道上接收到并需要进行相应命令操作的请求,下行消息则是指命令操作处理完后的响应或是用户需要发送出去的请求。 
消息处理链是消息处理工具的链式集合,包括上行消息处理链和下行消息处理链;上行消息处理链包括的消息处理工具有消息解包、消息解压、消息解密及消息认证等;下行消息处理链包括的消息处理工具则相应的有消息认证、消息加密、消息压缩和消息打包等; 
消息线程池是指各个消息处理线程的集合,具有将消息解析成各个对象或者结构体的功能; 
消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口对象,包括日志观察者,审计观察者,虚拟机观察者,逻辑卷观察者等;消息观察者采用观察者模式设计实现,同一个消息支持依次被多个观察者接收处理;, 观察者模式是编程设计中一种编程实现方法。 
上下行消息处理链工具集支持动态可扩展。 
上下行消息队列支持内存形式和数据库形式;内存形式消息队列是指在内存中申请一定大小的空间作为消息缓冲,具有效率高的特性;数据库形式是指将消息先保存到数据库,等待消息处理线程的调度,具有持久化特性,支持服务故障恢复消息重新处理的特点。 
消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录,审计观察者进行审计,虚拟机观察者进行创建虚拟机、关闭虚拟机等业务逻辑处理。 
再结合图2所示,数据处理框架中消息处理链处于文本消息进出的阶段,包含解包、解压、解密、认证等处理过程,每一个处理过程都是一个Handler,且每个Handler需继承MsgHandler基类,MsgHandler基类设计如下: 

各个消息处理过程按需动态可扩展的被组装成上行消息处理链 IncomeMsgChain和下行消息处理链OutcomeMsgChain。组装过程就是为每个处理Handler调用统一接口setSuccessor,使之相继链接在一起成为一个消息处理链,链接组装过程如下: 
上行消息处理链构造过程如下: 

下行消息处理链构造过程如下: 


下行消息处理链依次对消息进行了加密、加压、压缩逻辑处理。 
同消息处理链一样,消息队列也被设计成上行消息队列和下行消息队列,消息队列管理类继承IMqMng接口,接口设计如下: 

队列的出队分别有两条线程管理。InComeMqPollThread和OutComeMqPollThread。它们两的工作就是不断将消息从队列取出,然后放进线程池里执行。线程池实现如下: 



消息观察者接收到具体的消息对象和结构体,进行具体的业务逻辑处理。实现方案中,消息观察者都继承CommandObserver抽象类,其代码如下: 

所有消息观察者都被消息观察者管理类统一管理,实现方法上采用了观察者模式,代码如下: 




一种基于消息链的轻量级数据处理框架.pdf_第1页
第1页 / 共17页
一种基于消息链的轻量级数据处理框架.pdf_第2页
第2页 / 共17页
一种基于消息链的轻量级数据处理框架.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《一种基于消息链的轻量级数据处理框架.pdf》由会员分享,可在线阅读,更多相关《一种基于消息链的轻量级数据处理框架.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103677844 A (43)申请公布日 2014.03.26 CN 103677844 A (21)申请号 201310714072.8 (22)申请日 2013.12.20 G06F 9/44(2006.01) (71)申请人 国云科技股份有限公司 地址 523808 广东省东莞市松山湖科技产业 园区松科苑 14 号楼 (72)发明人 熊梦 杨松 莫展鹏 季统凯 (74)专利代理机构 北京科亿知识产权代理事务 所 ( 普通合伙 ) 11350 代理人 汤东凤 (54) 发明名称 一种基于消息链的轻量级数据处理框架 (57) 摘要 本发明涉及分布式计算技术领域, 。

2、特别是指 一种基于消息链的轻量级数据处理框架。当消息 被接收后进入消息处理链模块 ; 经过链上每个处 理器上行处理逻辑的处理后, 缓存到上行消息队 列中 ; 上行消息队列管理线程取出消息放入消息 线程池 ; 消息线程池将消息解析成对象或者结构 体 ; 消息观察者根据类型决定是否接受消息, 并 对其进行特殊业务逻辑处理 ; 另外, 用户请求或 响应经过消息解析模块转化成消息缓存到下行消 息队列中 ; 消息队列把下行消息保存在待发送队 列中 ; 按顺序出列进入消息处理链, 经过链上每 个处理器下行处理逻辑处理后发送至消息通道。 本发明解决了采用消息中间件所存在的问题, 可 用于实现基于本数据处理框。

3、架的第三方软硬件的 快速集成开发。 (51)Int.Cl. 权利要求书 1 页 说明书 13 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书13页 附图2页 (10)申请公布号 CN 103677844 A CN 103677844 A 1/1 页 2 1. 一种基于消息链的轻量级数据处理框架, 其特征在于 : 包括步骤 : 上行消息从消息通道中被接收后进入消息处理链模块 ; 消息依次经过链上每个处理器上行处理逻辑的处理后, 缓存到上行消息队列中 ; 上行消息队列管理线程从消息队列中取出消息放入消息线程池 ; 消息线程池将消息解析成对象或者。

4、结构体 ; 消息观察者根据消息对象或结构体的类型决定是否接受消息, 并对其进行特殊业务逻 辑处理 ; 处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中 ; 消息队列把下行消息保存在待发送队列中 ; 待发送队列中消息按顺序出列进入消息处理链, 依次经过链上每个处理器下行处理逻 辑处理后发送至消息通道。 2. 根据权利要求 1 所述的轻量级数据处理框架, 其特征在于 : 所述消息分为上行消息 和下行消息 ; 上行消息是指系统从消息通道上接收到并需要进行相应命令操作的请求, 下 行消息则是指命令操作处理完后的响应或是用户需要发送出去的请求。 3. 根据权利要求 1 所述的轻量级数据。

5、处理框架, 其特征在于 : 所述消息处理链是消息 处理工具的链式集合, 包括上行消息处理链和下行消息处理链 ; 上行消息处理链包括的消 息处理工具有消息解包、 消息解压、 消息解密及消息认证等 ; 下行消息处理链包括的消息处 理工具则相应的有消息认证、 消息加密、 消息压缩和消息打包等 ; 所述的消息线程池是指各个消息处理线程的集合, 具有将消息解析成各个对象或者结 构体的功能 ; 所述的消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口对象, 包括日志观察者, 审计观察者, 虚拟机观察者, 逻辑卷观察者等 ; 消息观察者采用观察者模 式设计实现, 同一个消息支持依次被多个观察者接。

6、收处理 ; , 观察者模式是编程设计中一 种编程实现方法。 4. 根据权利要求 3 所述的轻量级数据处理框架, 其特征在于 : 所述的上下行消息处理 链工具集支持动态可扩展。 5. 根据权利要求 1 至 4 任一项所述的轻量级数据处理框架, 其特征在于 : 所述上下行 消息队列支持内存形式和数据库形式 ; 所述的内存形式消息队列是指在内存中申请一定大小的空间作为消息缓冲, 具有效率 高的特性 ; 所述的数据库形式是指将消息先保存到数据库, 等待消息处理线程的调度, 具有持久 化特性, 支持服务故障恢复消息重新处理的特点。 6. 根据权利要求 1 至 4 任一项所述的轻量级数据处理框架, 其特征。

7、在于 : 所述的消息 观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录, 审计观察者进行审计, 虚 拟机观察者进行创建虚拟机、 关闭虚拟机等业务逻辑处理。 7. 根据权利要求 5 所述的轻量级数据处理框架, 其特征在于 : 所述的消息观察者特殊 业务逻辑处理是指类似于日志观察者进行日志记录, 审计观察者进行审计, 虚拟机观察者 进行创建虚拟机、 关闭虚拟机等业务逻辑处理。 权 利 要 求 书 CN 103677844 A 2 1/13 页 3 一种基于消息链的轻量级数据处理框架 技术领域 0001 本发明涉及分布式计算技术领域, 特别是指一种基于消息链的轻量级数据处理框 架。 背景技术 。

8、0002 一个分布式系统需要处理不同类型的消息, 消息的处理逻辑既有共同之处, 也会 根据消息类型的不同而需要特殊的处理逻辑。 我们一般采用消息中间件来处理消息的共性 问题, 它的处理步骤是这样的 : 0003 1、 消息中间件中一般有三个角色 : 消息中间件、 消费者、 服务提供者 ; 0004 2、 消费者组装数据请求报文发送给消息 ; 0005 3、 消息中间件将消费者请求报文转发给各服务提供者监听队列, 服务提供者接收 请求业务报文 ; 0006 4、 服务提供者异步返回请求报文的响应报文 ; 0007 5、 消息中间件将消费者请求报文的响应报文返回到对应消费者应答队列, 消费者 接收。

9、请求的响应报文, 并做相应处理 ; 0008 6、 服务提供者生成消费者所需的数据, 并发送报文给消息中间件 ; 0009 7、 消息中间件将通知报文转发给各消费者监听队列, 消费者接收到通知业务报 文 ; 0010 8、 消费者异步返回通知报文的响应报文。 0011 可是, 消息中间件在消息量不大的分布式环境中也存在以下的问题 : 0012 1、 消息中间件是一个独立的消息引擎, 会占用一部分服务器资源, 对于消息量不 大的分布式应用来说, 没有必要增加这样的开销, 而且引入第三者的角色, 消息 ( 报文 ) 在 传输过程中经过多一层队列的暂存, 会减低消息的实时性 . 0013 2、 消息。

10、中间件对消息处理逻辑没有设计灵活的处理机制, 一旦消息处理逻辑变 化, 需要重新编码实现 . 0014 3、 消息中间件没有设计对消息的特殊处理逻辑机制, 对特殊业务逻辑的开发不 利。 发明内容 0015 本发明解决的技术问题在于提供一种基于消息链的轻量级数据处理框架, 解决目 前通用消息中间件存在的消息处理不灵活、 开发效率低、 消息实时性低的问题 ; 0016 本发明解决上述技术问题的技术方案是 : 0017 包括步骤 : 0018 上行消息从消息通道中被接收后进入消息处理链模块 ; 0019 消息依次经过链上每个处理器上行处理逻辑的处理后, 缓存到上行消息队列中 ; 0020 上行消息队。

11、列管理线程从消息队列中取出消息放入消息线程池 ; 说 明 书 CN 103677844 A 3 2/13 页 4 0021 消息线程池将消息解析成对象或者结构体 ; 0022 消息观察者根据消息对象或结构体的类型决定是否接受消息, 并对其进行特殊业 务逻辑处理 ; 0023 处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中 ; 0024 消息队列把下行消息保存在待发送队列中 ; 0025 待发送队列中消息按顺序出列进入消息处理链, 依次经过链上每个处理器下行处 理逻辑处理后发送至消息通道。 0026 所述消息分为上行消息和下行消息 ; 上行消息是指系统从消息通道上接收到并需 。

12、要进行相应命令操作的请求, 下行消息则是指命令操作处理完后的响应或是用户需要发送 出去的请求。 0027 所述消息处理链是消息处理工具的链式集合, 包括上行消息处理链和下行消息处 理链 ; 上行消息处理链包括的消息处理工具有消息解包、 消息解压、 消息解密及消息认证 等 ; 下行消息处理链包括的消息处理工具则相应的有消息认证、 消息加密、 消息压缩和消息 打包等 ; 0028 所述的消息线程池是指各个消息处理线程的集合, 具有将消息解析成各个对象或 者结构体的功能 ; 0029 所述的消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口 对象, 包括日志观察者, 审计观察者, 虚拟机。

13、观察者, 逻辑卷观察者等 ; 消息观察者采用观察 者模式设计实现, 同一个消息支持依次被多个观察者接收处理 ; , 观察者模式是编程设计 中一种编程实现方法。 0030 所述的上下行消息处理链工具集支持动态可扩展。 0031 所述上下行消息队列支持内存形式和数据库形式 ; 0032 所述的内存形式消息队列是指在内存中申请一定大小的空间作为消息缓冲, 具有 效率高的特性 ; 0033 所述的数据库形式是指将消息先保存到数据库, 等待消息处理线程的调度, 具有 持久化特性, 支持服务故障恢复消息重新处理的特点。 0034 所述的消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录, 审计 观。

14、察者进行审计, 虚拟机观察者进行创建虚拟机、 关闭虚拟机等业务逻辑处理。 0035 本发明方案的有益效果如下 : 0036 1、 本发明的框架是轻量级的, 对系统额外增加的开销较少, 消息的实时性高。 0037 2、 本发明的框架是高度灵活的, 消息处理链中的处理逻辑可以按需通过配置进行 增减, 无需重新编码即可运行 ; 要增加对消息的特殊处理逻辑也较容易。 0038 3、 本发明的方法能在短时间内开发分布式处理应用, 在消息处理链中的处理器都 是根据共性处理逻辑开发的通用组件, 在实际使用过程中只需要进行配置或做少量编码即 可。 0039 4、 能提高分布式应用开发的质量, 增加客户满意度。。

15、由于应用本架构可做到不编 写代码或者只编写极少量代码, 因此减少了开发过程中编码产生的错误, 提高了软件质量。 附图说明 说 明 书 CN 103677844 A 4 3/13 页 5 0040 下面结合附图对本发明进一步说明 : 0041 图 1 为本发明流程图 ; 0042 图 2 为本发明上行数据处理框架分解图 ; 具体实施方式 0043 如图 1 所示, 本发明基于消息链的轻量级数据处理方法包括如下步骤 : 0044 上行消息从消息通道中被接收后进入消息处理链模块 ; 0045 消息依次经过链上每个处理器上行处理逻辑的处理后, 缓存到上行消息队 列 中 ; 0046 上行消息队列管理线。

16、程从消息队列中取出消息放入消息线程池 ; 0047 消息线程池将消息解析成对象或者结构体 ; 0048 消息观察者根据消息对象或结构体的类型决定是否接受消息, 并对其进行特殊业 务逻辑处理 ; 0049 处理相应或者用户请求经过消息解析模块转化成消息缓存到下行消息队列中 ; 0050 消息队列把下行消息保存在待发送队列中 ; 0051 待发送队列中消息按顺序出列进入消息处理链, 依次经过链上每个处理器下行处 理逻辑处理后发送至消息通道。 0052 所述消息分为上行消息和下行消息 ; 上行消息是指系统从消息通道上接收到并需 要进行相应命令操作的请求, 下行消息则是指命令操作处理完后的响应或是用户。

17、需要发送 出去的请求。 0053 消息处理链是消息处理工具的链式集合, 包括上行消息处理链和下行消息处理 链 ; 上行消息处理链包括的消息处理工具有消息解包、 消息解压、 消息解密及消息认证等 ; 下行消息处理链包括的消息处理工具则相应的有消息认证、 消息加密、 消息压缩和消息打 包等 ; 0054 消息线程池是指各个消息处理线程的集合, 具有将消息解析成各个对象或者结构 体的功能 ; 0055 消息观察者是指可以针对解析出来的消息对象进行各种不同处理的接口对象, 包 括日志观察者, 审计观察者, 虚拟机观察者, 逻辑卷观察者等 ; 消息观察者采用观察者模式 设计实现, 同一个消息支持依次被多。

18、个观察者接收处理 ; , 观察者模式是编程设计中一种 编程实现方法。 0056 上下行消息处理链工具集支持动态可扩展。 0057 上下行消息队列支持内存形式和数据库形式 ; 内存形式消息队列是指在内存中 申请一定大小的空间作为消息缓冲, 具有效率高的特性 ; 数据库形式是指将消息先保存到 数据库, 等待消息处理线程的调度, 具有持久化特性, 支持服务故障恢复消息重新处理的特 点。 0058 消息观察者特殊业务逻辑处理是指类似于日志观察者进行日志记录, 审计观察者 进行审计, 虚拟机观察者进行创建虚拟机、 关闭虚拟机等业务逻辑处理。 0059 再结合图 2 所示, 数据处理框架中消息处理链处于文。

19、本消息进出的阶段, 包含解 包、 解压、 解密、 认证等处理过程, 每一个处理过程都是一个 Handler, 且每个 Handler 需继 说 明 书 CN 103677844 A 5 4/13 页 6 承 MsgHandler 基类, MsgHandler 基类设计如下 : 0060 0061 各个消息处理过程按需动态可扩展的被组装成上行消息处理链 IncomeMsgChain 和下行消息处理链 OutcomeMsgChain。组装过程就是为每个处理 Handler 调用统一接口 setSuccessor, 使之相继链接在一起成为一个消息处理链, 链接组装过程如下 : 0062 上行消息处理。

20、链构造过程如下 : 0063 说 明 书 CN 103677844 A 6 5/13 页 7 0064 下行消息处理链构造过程如下 : 0065 0066 说 明 书 CN 103677844 A 7 6/13 页 8 0067 下行消息处理链依次对消息进行了加密、 加压、 压缩逻辑处理。 0068 同消息处理链一样, 消息队列也被设计成上行消息队列和下行消息队列, 消息队 列管理类继承 IMqMng 接口, 接口设计如下 : 0069 0070 队列的出队分别有两条线程管理。 InComeMqPollThread和OutComeMqPollThread。 它们两的工作就是不断将消息从队列取出。

21、, 然后放进线程池里执行。线程池实现如下 : 0071 说 明 书 CN 103677844 A 8 7/13 页 9 0072 说 明 书 CN 103677844 A 9 8/13 页 10 0073 说 明 书 CN 103677844 A 10 9/13 页 11 0074 消息观察者接收到具体的消息对象和结构体, 进行具体的业务逻辑处理。实现方 案中, 消息观察者都继承 CommandObserver 抽象类, 其代码如下 : 0075 0076 所有消息观察者都被消息观察者管理类统一管理, 实现方法上采用了观察者模 式, 代码如下 : 0077 0078 说 明 书 CN 103677844 A 11 10/13 页 12 0079 说 明 书 CN 103677844 A 12 11/13 页 13 0080 说 明 书 CN 103677844 A 13 12/13 页 14 0081 说 明 书 CN 103677844 A 14 13/13 页 15 。 说 明 书 CN 103677844 A 15 1/2 页 16 图 1 说 明 书 附 图 CN 103677844 A 16 2/2 页 17 图 2 说 明 书 附 图 CN 103677844 A 17 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1