[发明专利]一种JBM系统的消息处理方法及装置有效

专利信息
申请号: 201210257118.3 申请日: 2012-07-23
公开(公告)号: CN102857406A 公开(公告)日: 2013-01-02
发明(设计)人: 贺治国;樊鑫 申请(专利权)人: 大唐移动通信设备有限公司
主分类号: H04L12/58 分类号: H04L12/58;H04L29/08
代理公司: 北京润泽恒知识产权代理有限公司 11319 代理人: 赵娟
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 jbm 系统 消息 处理 方法 装置
【说明书】:

技术领域

本申请涉及企业消息系统的技术领域,特别是涉及一种JBM系统的消息处理方法及装置。

背景技术

JBM是一个高性能的异步消息收发系统,它完整的实现了JMS(Java Message Service(J2EE消息服务规范)规范,为Java程序提供了一种创建、发送、接收和读取企业消息系统中消息的通用方法)规范,是一个基于JBOSS应用服务器的企业级高性能消息系统。JBM系统中发送消息的应用程序把消息发到JBM系统中目的地(destination),即“队列(queue)”或者“主题(topic)”,而不需要担心消息接收应用程序是否启动或运行。相反,消息接收方也不担心发送方的状态,消息接收方和发送方只和JBM系统目的地交互。

JBM在OMC(操作维护中心,负责网元的配置、操作维护等管理,并接收网元上报的告警消息)系统中担负着消息接收和转发重要的角色,其稳定性直接影响OMC系统的性能指标。

参考图1所示的JBM消息处理流程图,JBM系统启动成功之后,所有目的地(Destination)注册到邮局(PostOffice)中并对外发布。当发送方(Producer)或者接收方(Consumer)与JBM建立连接(Connection)时,首先要确定各自交互的目的地(Destination)。发送方把消息发送到邮局,邮局查询所有应该消费该目的地消息的客户端,然后把消息转发到每个客户端,转发之前邮局先把消息放入消费队列等待客户端消费。客户端消费一条消息,队列就释放一条消息,正常情况下队列容量可以满足消息的缓冲需要,但当客户端接收消息比较慢时,队列此已达到最大容量,消息被持久化到物理的数据库中。随着客户端不断的接收消息,当队列有空闲容量时,JBM从数据库加载被持久化的消息放入队列,然后从数据库中删除这些消息。

JBM是JMS API(JMS厂商提供的标准接口,有时称为面向消息的中间件系统)的完整实现,它在上层其实是一套消息的缓冲、分发的管理系统,JBM转发消息需要借助一套网络通讯协议或者组件,这个组件便是JBossRemoting组件(一种实现了异步或者同步远程方法调用、数据传输的网络通讯组件)。

参考图2所示的JBossRemoting数据传输与心跳示意图,JBossRemoting客户端与服务端数据传输采用Socket(套接字)协议,在传输过程中数据进行加解密操作;而客户端与服务端之间的连接(Connection)心跳采用了JAVA的远程调用协议(RMI协议)。

JBM需要借助JBossRemoting的心跳维持与接收方的连接(Connection)状态把消息发送到接收方。换言之,JBM判断自己与客户端(Consumer)之间连接正常的唯一条件就是JBossRemoting的心跳正常。然而,由于JBossRemoting客户端与服务端数据传输采用Socket协议,而客户端与服务端之间的连接(Connection)心跳则采用了RMI协议,并且所述Socket协议与RMI协议对网络质量有不同要求,这种差异将会造成由于Socket连接异常导致客户端与服务端之间的数据传输断开时,客户端与服务端之间的连接心跳依然正常的情况。在这种情况下,由于JBossRemoting心跳正常,JBM系统依然认为自己与客户端连接正常,依然正常转发消息,但此时消息已经无法通过Socket发送出去,从而积压在JBM消息队列和持久化数据库中,从而形成了大量消息积压的现象。

因此,如何及时清理消息积压,保证JBM系统运行的稳定性就是本领域技术人员所要解决的技术问题。

发明内容

本申请所要解决的技术问题是提供一种JBM系统的消息处理方法,用以确定从消息系统中消费消息较慢的慢客户端,及时清理慢客户端的消息积压,从而保证JBM系统运行的稳定性。

相应的,本申请还提供了一种JBM系统的消息处理装置,用以保证上述方法的实现及应用。

为了解决上述问题,本申请公开了一种JBM系统的消息处理方法,包括:

获取JBM系统当前连接的客户端;

在所述客户端中查找慢客户端;

断开JBM系统与所述慢客户端的连接。

优选地,所述获取JBM系统当前连接的客户端的步骤包括:

启动监测线程;

由所述监测线程获取JBM系统的活跃连接信息,并将所述JBM系统的活跃连接信息存储于内存数据结构Map中;其中,所述活跃连接信息为与JBM系统的心跳连接正常的客户端的信息;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210257118.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top