一种应用消息的处理系统、方法及应用设备.pdf

上传人:大师****2 文档编号:1510246 上传时间:2018-06-19 格式:PDF 页数:18 大小:1.12MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510527042.5

申请日:

2015.08.25

公开号:

CN106487637A

公开日:

2017.03.08

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 12/58申请日:20150825|||公开

IPC分类号:

H04L12/58; H04L29/06

主分类号:

H04L12/58

申请人:

腾讯科技(深圳)有限公司

发明人:

杨涛

地址:

518000 广东省深圳市福田区振兴路赛格科技园2栋东403室

优先权:

专利代理机构:

广州三环专利代理有限公司 44202

代理人:

郝传鑫;熊永强

PDF下载: PDF下载
内容摘要

本发明提供了一种应用消息的处理系统、方法及应用设备,其中,所述处理系统包括:应用设备、消息转发设备;所述应用设备,用于在接收到应用消息对应设备有发送权限时,将该第一应用消息发送给所述消息转发设备;在应用消息的目标接收端有消息接收权限时,向该目标接收端发起针对所述第二应用消息的消费操作;所述消息转发设备,用于从所述应用设备接收应用消息,或向所述应用设备发送应用消息。采用本发明,能够降低了对消息转发设备的软硬件要求,提高了应用消息的应用消息处理效率。

权利要求书

1.一种应用消息的处理系统,其特征在于,包括:应用设备、消息转发设备;其中,所述应用设备,用于对接收到的第一应用消息所对应的发送端进行鉴权,如果该发送端有消息发送权限,则将该第一应用消息发送给所述消息转发设备;并用于对接收到的第二应用消息对应的目标接收端进行鉴权,如果该目标接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费操作;所述消息转发设备,用于从所述应用设备接收应用消息,或向所述应用设备发送应用消息。2.如权利要求1所述的系统,其特征在于,所述应用设备,还用于在所述发送端没有发送权限时,丢弃所述第一应用消息;或者在所述目标接收端没有消息接收权限时,丢弃所述第二应用消息。3.如权利要求1所述的系统,其特征在于,还包括:配置设备;所述配置设备,用于为消息设备配置消息发送权限和消息接收权限,所述消息设备包括所述发送端和所述目标接收端。4.如权利要求3所述的系统,其特征在于,所述配置设备,用于根据消息设备上报的标识,为所述消息设备配置发送权限和/或消息接收权限,并将消息设备的标识及其对应的发送权限秘钥和/或接收权限秘钥发送给所述应用设备。5.如权利要求3所述的系统,其特征在于,所述配置设备,还用于为消息设备配置消息发送类型,并将消息设备的标识以及为其配置的消息类型发送给所述消息转发设备,所述消息发送类型包括广播消息类型和互斥消息类型。6.如权利要求5所述的系统,其特征在于,所述消息转发设备,还用于根据消息设备的标识及其消息类型,对从应用设备接收到的应用消息执行转发操作,转发操作包括对应于广播消息类型的广播操作,和对应于互斥消息类型的单独发送操作。7.如权利要求1所述的系统,其特征在于,所述应用设备,用于从内存中配置的消息生成队列中获取第一应用消息,并将本应用设备作为第一应用消息所对应的发送端进行鉴权;并且,在接收到第二应用消息时,将本应用设备作为第二应用消息对应的目标接收端进行鉴权,并在鉴权通过后,将所述第二应用消息发送到内存中配置的消息消费队列中。8.如权利要求1至7任一项所述的系统,其特征在于,还包括:管理设备;所述管理设备与所述应用设备、消息转发设备数据相连,用于管理所述应用设备、消息转发设备的通信标识信息,以便于所述应用设备、消息转发设备基于所述管理设备中管理的通信标识信息相互通信。9.一种应用消息的处理方法,其特征在于,包括:接收应用消息;若应用消息为第一应用消息,对发送所述第一应用消息的发送端进行鉴权,如果鉴权结果为该发送端有消息发送权限,则转发所述该第一应用消息;若应用消息为第二应用消息,对该第二应用消息对应的目标接收端进行鉴权,如果鉴权结果为该目标接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费操作。10.如权利要求9所述的方法,其特征在于,还包括: -->在所述发送端没有发送权限时,丢弃所述第一应用消息;或者在所述目标接收端没有消息接收权限时,丢弃所述第二应用消息。11.如权利要求9所述的方法,其特征在于,在所述接收应用消息之前,还包括:接收消息设备的标识及其对应的发送权限秘钥和/或接收权限秘钥;将接收到的消息设备标识及其对应的发送权限秘钥和/或接收权限秘钥管理存储,以便于鉴权确定对应消息设备的发送权限或者接收权限;所述消息设备包括所述发送端和所述目标接收端。12.如权利要求9所述的方法,其特征在于,所述接收应用消息,包括:从内存中配置的消息生成队列中获取应用消息,从所述消息生成队列中获取的应用消息为第一应用消息。13.如权利要求9所述的方法,其特征在于,所述接收应用消息,包括:从数据相连的消息转发设备中接收应用消息,从所述消息转发设备中接收的应用消息为第二应用消息;所述向该目标接收端发起针对所述第二应用消息的消费操作,包括:将所述第二应用消息发送到内存中配置的消息消费队列中,以便于所述目标接收端从消息消费队列中获取所述第二应用消息。14.一种应用设备,其特征在于,包括:接收模块,用于接收应用消息;处理模块,用于若应用消息为第一应用消息,对发送所述第一应用消息的发送端进行鉴权,如果鉴权结果为该发送端有消息发送权限,则转发所述该第一应用消息;若应用消息为第二应用消息,对该第二应用消息对应的目标接收端进行鉴权,如果鉴权结果为该目标接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费操作。15.如权利要求14所述的应用设备,其特征在于,所述处理模块,还用于在所述发送端没有发送权限时,丢弃所述第一应用消息;或者在所述目标接收端没有消息接收权限时,丢弃所述第二应用消息。16.如权利要求14所述的应用设备,其特征在于,所述接收模块,还用于接收消息设备的标识及其对应的发送权限秘钥和/或接收权限秘钥;所述应用设备还包括:配置模块,用于将接收到的消息设备标识及其对应的发送权限秘钥和/或接收权限秘钥管理存储,以便于鉴权确定对应消息设备的发送权限或者接收权限;所述消息设备包括所述发送端和所述目标接收端。17.如权利要求14所述的应用设备,其特征在于,所述接收模块,用于从内存中配置的消息生成队列中获取应用消息,从所述消息生成队列中获取的应用消息为第一应用消息。 -->18.如权利要求14所述的应用设备,其特征在于,所述接收模块,用于从数据相连的消息转发设备中接收应用消息,从所述消息转发设备中接收的应用消息为第二应用消息;所述处理模块,用于将所述第二应用消息发送到内存中配置的消息消费队列中,以便于所述目标接收端从消息消费队列中获取所述第二应用消息。19.一种应用消息的处理方法,其特征在于,包括:应用设备对接收到的第一应用消息所对应的发送端进行鉴权,如果该发送端有消息发送权限,则将该第一应用消息发送给消息转发设备;所述消息转发设备接收所述第一应用消息,并转发给该第一应用消息的目标接收端;所述消息转发设备在接收到发向所述应用设备的第二应用消息时,将所述第二应用消息发送给所述应用设备;所述应用设备对接收到的第二应用消息对应的目标接收端进行鉴权,如果该目标接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费操作。20.如权利要求19所述的方法,其特征在于,所述应用设备在所述发送端没有发送权限时,丢弃所述第一应用消息;或者,所述应用设备在所述目标接收端没有消息接收权限时,丢弃所述第二应用消息。21.如权利要求19所述的方法,其特征在于,还包括配置设备为消息设备配置消息发送权限和消息接收权限,所述消息设备包括所述发送端和所述目标接收端。22.如权利要求21所述的方法,其特征在于,还包括:所述配置设备据消息设备上报的标识,为所述消息设备配置发送权限和/或消息接收权限,并将消息设备的标识及其对应的发送权限秘钥和/或接收权限秘钥发送给所述应用设备。23.如权利要求21所述的方法,其特征在于,还包括:所述配置设备为消息设备配置消息发送类型,并将消息设备的标识以及为其配置的消息类型发送给所述消息转发设备,所述消息发送类型包括广播消息类型和互斥消息类型。24.如权利要求23所述的方法,其特征在于,还包括:所述消息转发设备根据消息设备的标识及其消息类型,对从应用设备接收到的应用消息执行转发操作,转发操作包括对应于广播消息类型的广播操作,和对应于互斥消息类型的单独发送操作。25.如权利要求19所述的方法,其特征在于,所述应用设备从内存中配置的消息生成队列中获取第一应用消息,并将本应用设备作为第一应用消息所对应的发送端进行鉴权;并且,在接收到第二应用消息时,将本应用设备作为第二应用消息对应的目标接收端进行鉴权,并在鉴权通过后,将所述第二应用消息发送到内存中配置的消息消费队列中。26.如权利要求19至25任一项所述的方法,其特征在于,还包括:管理设备存储并管理所述应用设备、消息转发设备的通信标识信息,以便于所述应用设备、消息转发设备基于所述管理设备中管理的通信标识信息相互通信。 -->

说明书

一种应用消息的处理系统、方法及应用设备

技术领域

本发明涉及计算机应用技术领域,尤其涉及一种应用消息的处理系统、方
法及应用设备。

背景技术

消息系统是一种分布式的消息转发平台,主要用于业务服务之间的消息传
递,通过存储-转发的方式,接收应用程序的消息,并转发给目标应用程序。大
型的业务中,通常使用消息系统来转发处理的数据。

目前的消息转发系统中,由消息转发服务器broker进行应用消息的转发处
理,其对消息转发服务器的软硬件要求较高,并且在消息量较大的时候,系统
的消息处理效率较低。

发明内容

本发明实施例提供一种应用消息的处理系统、方法及应用设备,可较好地
提高消息转发处理效率。

本发明实施例提供了一种应用消息的处理系统,包括:应用设备、消息转
发设备;其中,

所述应用设备,用于对接收到的第一应用消息所对应的发送端进行鉴权,
如果该发送端有消息发送权限,则将该第一应用消息发送给所述消息转发设备;
并用于对接收到的第二应用消息对应的目标接收端进行鉴权,如果该目标接收
端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费操作;

所述消息转发设备,用于从所述应用设备接收应用消息,或向所述应用设
备发送应用消息。

本发明实施例还提供了一种应用消息的处理方法,包括:

接收应用消息;

若应用消息为第一应用消息,对发送所述第一应用消息的发送端进行鉴权,
如果鉴权结果为该发送端有消息发送权限,则转发所述该第一应用消息;

若应用消息为第二应用消息,对该第二应用消息对应的目标接收端进行鉴
权,如果鉴权结果为该目标接收端有消息接收权限,则向该目标接收端发起针
对所述第二应用消息的消费操作。

相应地,本发明实施例还提供了一种应用设备,包括:

接收模块,用于接收应用消息;

处理模块,用于若应用消息为第一应用消息,对发送所述第一应用消息的
发送端进行鉴权,如果鉴权结果为该发送端有消息发送权限,则转发所述该第
一应用消息;若应用消息为第二应用消息,对该第二应用消息对应的目标接收
端进行鉴权,如果鉴权结果为该目标接收端有消息接收权限,则向该目标接收
端发起针对所述第二应用消息的消费操作。

本发明实施例还提供了另一种应用消息的处理方法,包括:

应用设备对接收到的第一应用消息所对应的发送端进行鉴权,如果该发送
端有消息发送权限,则将该第一应用消息发送给消息转发设备;

所述消息转发设备接收所述第一应用消息,并转发给该第一应用消息的目
标接收端;

所述消息转发设备在接收到发向所述应用设备的第二应用消息时,将所述
第二应用消息发送给所述应用设备;

所述应用设备对接收到的第二应用消息对应的目标接收端进行鉴权,如果
该目标接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息
的消费操作。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的一种应用消息的处理系统的结构示意图;

图2是本发明实施例的另一种应用消息的处理系统的结构示意图;

图3是本发明实施例的一种具体的应用消息处理系统的结构示意图;

图4是本发明实施例的一种应用消息生产方法的流程示意图;

图5是本发明实施例的一种应用消息消费方法的流程示意图;

图6是是本发明实施例的一种应用消息的处理方法的流程示意图;

图7是本发明实施例的一种应用设备的结构示意图;

图8是本发明实施例的另一种应用消息的处理方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清
楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造
性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,是本发明实施例的一种应用消息的处理系统的结构示意图,本
发明实施例的所述系统包括:应用设备11、消息转发设备12,所述应用设备11
可以为各种智能终端,如智能手机、平板电脑、个人电脑、智能可穿戴设备等
带网络功能的终端,所述消息转发设备12则可以为服务侧的消息转发服务器。
在具体实施时,所述系统中的应用设备11、消息转发设备12可根据实际情况包
括多台。

所述应用设备11,用于对接收到的第一应用消息所对应的发送端进行鉴权,
如果该发送端有消息发送权限,则将该第一应用消息发送给所述消息转发设备
12;并用于对接收到的第二应用消息对应的目标接收端进行鉴权,如果该目标
接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费
操作;

所述消息转发设备12,用于从所述应用设备11接收应用消息,或向所述应
用设备11发送应用消息。

所述应用设备11可以根据消息的属性、来源等区分第一应用消息和第二应
用消息,简单地,如果应用消息是由本应用设备11的应用程序生成的、或者是
由其他智能终端安装的应用程序生成的,则为第一应用消息;如果来自于服务
侧的消息转发设备12,则为第二应用消息。

所述第一应用消息可以为用于生成应用消息的应用产生的消息,如即时通
信应用,社交应用等。这些应用可以安装在所述应用设备11中,所述第一应用
消息在生成后,应用设备11可将其存入到共享内存的消息生成队列中,而所述
应用设备11中实现上述功能的进程再到共享内存的消息生成队列中提取并接收
所述第一应用消息。

所述应用设备11在接收到第一应用消息后,对本应用设备11是否有消息
发送权限进行鉴权。可根据从服务侧下载的用于鉴权的配置信息对本应用设备
11进行鉴权,具体的,所述用于鉴权的配置信息中可以包括:设备的标识和/或
发送权限密钥,当所述第一应用消息中携带的本应用设备11的标识(源ID)和
/或携带的发送权限密钥可以在所述配置信息中找到,则认为发送该第一应用消
息的应用设备11有发送权限,鉴权通过,可以向所述消息转发设备12发送第
一应用消息,反之则丢弃所述第一应用消息。

当然上述的用于生成应用消息的应用也可以安装在可以与所述应用设备11
数据相连的其他智能终端中。这些智能终端中相关应用在生成了第一应用消息
后,将第一应用消息发送给所述应用设备11。所述应用设备11同样根据从服务
侧下载的用于鉴权的配置信息对所述第一应用消息中携带的智能终端的标识和/
或携带的发送权限密钥对智能终端进行鉴权。

当应用设备11接收到来自所述消息转发设备12发送的第二应用消息时,
会根据该第二应用消息中携带的目标接收端标识(目标ID)来判断该目标接收
端是否有接收权限。所述应用设备11可以通过从服务侧下载的用于鉴权的配置
信息,来判断目标接收端标识是否被配置为具有接收权限,如果有,则向该目
标接收端发起针对所述第二应用消息的消费操作。也可以根据所述第二应用消
息中携带的接收权限密钥与配置信息中的各个接收权限密钥进行比对,如果配
置信息中存在相同的接收权限密钥,则鉴权成功。

上述提及的消息操作主要包括:若所述第二应用消息的目标接收端为本应
用设备11,则将所述第二应用消息发送到内存中配置的消息消费队列中,以使
得相关的应用进程能够从消息消费队列中提取该第二应用消息。若所述第二应
用消息的目标接收端为其他智能终端,则所述应用设备11建立与该目标接收端
的数据连接,并将所述第二应用消息发送给该目标接收端。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

再请参见图2,是本发明实施例的另一种应用消息的处理系统的结构示意图,
本发明实施例的所述系统包括:应用设备21、消息转发设备22、配置设备23
以及管理设备24;其中,所述应用设备21可以为智能终端设备,而所述消息转
发设备22、配置设备23以及管理设备24可分别为位于服务侧的服务器。

所述应用设备21,用于对接收到的第一应用消息所对应的发送端进行鉴权,
如果该发送端有消息发送权限,则将该第一应用消息发送给所述消息转发设备
22;并用于对接收到的第二应用消息对应的目标接收端进行鉴权,如果该目标
接收端有消息接收权限,则向该目标接收端发起针对所述第二应用消息的消费
操作;

所述消息转发设备22,用于从所述应用设备21接收应用消息,或向所述应
用设备21发送应用消息。

进一步地,所述应用设备21,还用于在所述发送端没有发送权限时,丢弃
所述第一应用消息;或者在所述目标接收端没有消息接收权限时,丢弃所述第
二应用消息。具体可以执行第一应用消息或第二应用消息的删除处理。

所述配置设备23,用于为消息设备配置消息发送权限和消息接收权限,所
述消息设备包括所述发送端和所述目标接收端。

所述配置设备23,用于根据消息设备上报的标识,为所述消息设备配置发
送权限和/或消息接收权限,并将消息设备的标识及其对应的发送权限秘钥和/或
接收权限秘钥发送给所述应用设备21。

所述消息设备是指安装了相应的可生产应用消息的应用的智能设备,该消
息设备可以为所述应用设备21,可以为上述提及的发送端、目标接收端。

所述配置设备23可以设置一个映射表,将设备标识ID,与发送权限、接收
权限一一映射记录。或者保存相应的消息设备的发送权限秘钥和/或接收权限秘
钥。并通过广播的形式广播给各个应用设备21,以使得这些应用设备21根据映
射表或发送权限秘钥和/或接收权限秘钥对发送端或目标接收端进行鉴权,对接
收到的应用消息进行转发处理。

本发明实施例中,消息设备的发送权限、接收权限是由消息设备向所述配
置设备23(配置服务器)发送申请信息申请得到的。配置设备23会根据申请情
况实时地或者周期性地广播配置信息。

所述配置设备23,还用于为消息设备配置消息发送类型,并将消息设备的
标识以及为其配置的消息类型发送给所述消息转发设备22,所述消息发送类型
包括广播消息类型和互斥消息类型。

本发明实施例中,消息设备的消息发送类型也是由消息设备分别向所述配
置设备23申请得到,在某个消息设备申请为广播消息类型时,其生成的消息均
会做广播处理,而申请为互斥消息类型时,则该消息设备生成的消息只会发送
给有限的其他消息设备。

所述消息转发设备22,还用于根据消息设备的标识及其消息类型,对从应
用设备21接收到的应用消息执行转发操作,转发操作包括对应于广播消息类型
的广播操作,和对应于互斥消息类型的单独发送操作。

所述应用设备21,用于从内存中配置的消息生成队列中获取第一应用消息,
并将本应用设备21作为第一应用消息所对应的发送端进行鉴权;并且,在接收
到第二应用消息时,将本应用设备21作为第二应用消息对应的目标接收端进行
鉴权,并在鉴权通过后,将所述第二应用消息发送到内存中配置的消息消费队
列中。

所述管理设备24与所述应用设备21、消息转发设备22数据相连,用于管
理所述应用设备21、消息转发设备22的通信标识信息,以便于所述应用设备
21、消息转发设备22基于所述管理设备24中管理的通信标识信息相互通信。

下面结合图3、图4以及图5对应用消息处理系统及处理流程具体实例进行
详细描述。

本系统主要有部署Zookeeper的管理设备,部署MSGQ_config的配置设备,
部署MSGQ_broker的消息转发设备,部署有MSGQ_agent的应用设备四个主要
模块组成。其中,Zookeeper是开源的分布式名字服务系统,为本系统提供配置
管理功能,MSGQ_config,MSGQ_broker和MSGQ_agent为本系统主要功能模
块。其中,应用设备中同时部署有MSGQ_agent和应用程序,MSGQ_agent和应
用程序之间使用共享内存进行消息的生产和消费,这可以提高应用程序生产和
消费应用消息的速度。

Zookeeper服务是一个高可靠性的分布式系统,用于系统的配置管理,接收
应用消息,处理系统各模块的注册和查询。而MSGQ_config,MSGQ_broker,
MSGQ_agent服务,用于消息处理与分发。

在使用分布式消息分发前,各MSGQ_agent需向MSGQ_config申请消息类
型、以及生产(发送)或消费(接收)该消息的权限。MSGQ_config会为对应
的设备保存消息类型及发送、接收的权限信息,定时广播至MSGQ_broker和
MSGQ_agent。应用程序通过调用消息系统的接口向MSGQ_agent生产消息,
MSGQ_agent收到应用消息后,将应用消息转发给MSGQ_broker,MSGQ_broker
会根据MSGQ_config的配置把MSGQ_agent的应用消息分发给指定的目标
MSGQ_agent,最后,收到应用消息的目标MSGQ_agent负责把应用消息转发给
目标应用程序,目标应用程序消费消息,进行逻辑处理。分布式消息系统的一
次分发结束。

在本系统中,MSGQ_config,MSGQ_broker,MSGQ_agent服务都是分布式
部署的,根据消息系统的消息规模,任何一个服务都可以部署一台或者多台,
系统可以非常快速的扩容并不影响服务。MSGQ_broker负责消息的接收和转发,
会有消息的存储行为,可部署多台。

在本发明实施例中,应用消息的分发分为广播分发和互斥队列分发两类,
需要MSGQ_broker根据消息类型进行不同的分发。广播分发能够把消息广播给
所有申请消费该消息的MSGQ_agent,互斥队列分发只会有一个MSGQ_agent
抢到该消息。广播分发和互斥队列分发用于两种不同的情景,例如,配置信息
等需要广播分发,而应用消息的逻辑处理只需要互斥分发给一个MSGQ_agent
就可以。应用程序对应业务可以根据自己的应用场景通过应用设备申请不同的
消息类型,然后进行生产和消费。

下面详细介绍一下各个模块的功能:

部署有Zookeeper的管理设备:

接收各服务的注册和查询,本系统中包括:MSGQ_config,MSGQ_broker,
MSGQ_agent,应用程序等,各服务启动进程后,都会向Zookeeper注册,然后
与Zookeeper保持心跳,Zookeeper负责维护各服务的IP等信息,对别的服务提
供查询功能;

任何一个服务的进程退出或者crash,都不会影响到系统的正常功能,因为
系统的MSGQ_config,MSGQ_broker,MSGQ_agent都是多台平等的机器,进
程退出后不再向Zookeeper注册,Zookeeper发现该进程没有定时注册,就会删
除该机器的配置,别的服务请求进而不会被转发到该机器上。

部署有MSGQ_config的配置设备:

进程MSGQ_config启动,向Zookeeper注册自己IP和端口信息,并保持心
跳;

读取本地或者Mysql中消息类型的配置信息,包括消息的唯一标识ID,消
息的类型(广播消息或互斥队列消息),以及消息ID对应的生产或消费的秘钥;

读取消息的生产权限和消费权限的设备IP,任何设备需要生产或者消费消
息之前,必须申请相应的权限,权限的保护避免了消息系统被恶意程序攻击的
风险;

通过ZeroMQ的PUB套接字广播消息的配置信息,所有SUB该配置信息的
MSGQ_broker和MSGQ_agent都会收到该配置信息。

部署有MSGQ_agent的应用设备,即消息生产和消费服务器。并进一步参
见图4和图5,介绍消息的生产和消费的流程。图4示出了应用消息生产流程,
具体包括:

S11:应用设备A上的MSGQ_agent进程启动,向Zookeeper注册,并查询
消息转发设备MSGQ_broker的设备IP和端口Port,然后与Zookeeper保持心跳;

S12:MSGQ_agent接收到MSGQ_config的广播配置信息;

S13:保存或更新配置信息,用于稍后应用进程生产或消费消息权限的控制
查询;

应用设备A的应用进程生产消息,将消息ID和消息内容写入共享内存SHM
中的生产消息队列produce_queue;

S14:MSGQ_agent读取共享内存中消息队列produce_queue(生产消息队列)
的应用消息,查询本应用设备是否有消息ID的生产权限(发送权限),如果没
有,直接丢弃;

S15:如果有发送权限,将该应用消息(包括消息ID和消息内容)推送PUSH
给一台MSGQ_broker;MSGQ_agent通过MSGQ_config的广播配置信息确定一
台部署有MSGQ_broker的消息转发设备;

S16:MSGQ_broker收到消息,返回成功,一次消息生产的流程结束。

图5示出了应用消息消费流程,包括:

S21:应用设备B上的MSGQ_agent进程启动,向Zookeeper注册,并查询
消息转发设备MSGQ_broker的设备IP和端口Port,然后与Zookeeper保持心跳;

S22:MSGQ_agent接收到MSGQ_config的广播配置信息;

S23:保存或更新配置信息,用于稍后应用进程生产或消费消息权限的控制
查询;

S24:应用设备B的MSGQ_agent通过收取DEALER或者拉取PULL收到
应用消息;

S25:判断应用设备B是否有消息ID的消费权限(接收权限),如果没有,
直接丢弃;

S26:如果接收权限,将收到的应用消息(消息ID和消息内容)写入共享
内存中的消费队列consume_queue(消费消息队列);

应用设备B的应用进程消费消息,从comsume_queue中读取消息,然后进
行逻辑处理,一次消息消费的流程结束。

部署有MSGQ_broker的消息转发设备:

进程MSGQ_broker启动,向Zookeeper注册自己的IP和端口信息,并与
Zookeeper保持心跳;

MSGQ_broker通过SUB接收到MSGQ_config的广播配置信息,保存或更
新配置信息,用于稍后应用进程生产或消费消息的消息转发;

MSGQ_broker收到MSGQ_agent的发送的应用消息,存储应用消息,然后
解析消息ID,对应用消息进行处理,根据SUB得到的配置信息,如果是广播消
息,通过路由ROUTER向所有申请并且有权限消费的MSGQ_agent推送消息;
否则就是互斥队列消息,通过推送PUSH向所有申请并且有权限消费的一台
MSGQ_agent推送消息;

消息转发完毕,删除消息,一次消息转发的流程结束。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

下面对本发明实施例的应用消息的处理方法进行详细描述。

请参见图6,是本发明实施例的一种应用消息的处理方法的流程示意图,本
发明实施例的所述方法可以由应用设备执行,如上述提及的用于鉴权和发送的
部署有MSGQ_agent的应用设备。所述方法具体包括:

S601:接收应用消息;

S602:若应用消息为第一应用消息,对发送所述第一应用消息的发送端进
行鉴权;

S603:如果鉴权结果为该发送端有消息发送权限,则转发所述该第一应用
消息;具体可以通过查询服务侧管理设备确定对应的消息转发设备的IP、端口
Port等,以转发第一应用消息;

S604:若应用消息为第二应用消息,对该第二应用消息对应的目标接收端
进行鉴权;

S605:如果鉴权结果为该目标接收端有消息接收权限,则向该目标接收端
发起针对所述第二应用消息的消费操作。

如上述系统项对应实施例描述的内容,如果接收到的应用消息来自于其他
应用设备或者是来自于共享内存,则为第一应用消息;而如果来自于服务侧的
消息转发设备,则为第二应用消息。鉴权方式也可以通过从服务侧获取的配置
信息(映射表、接收权限密钥、发送权限密钥等)来进行。

进一步具体的,本发明实施例的所述方法还可以包括:在所述发送端没有
发送权限时,丢弃所述第一应用消息;或者在所述目标接收端没有消息接收权
限时,丢弃所述第二应用消息。即鉴权失败时,直接做删除处理。

为了正确进行鉴权,本发明实施例可以实时地或者周期性地从服务侧接收
相关的配置信息,具体的,在所述接收应用消息之前,还包括:接收消息设备
的标识及其对应的发送权限秘钥和/或接收权限秘钥;将接收到的消息设备标识
及其对应的发送权限秘钥和/或接收权限秘钥管理存储,以便于鉴权确定对应消
息设备的发送权限或者接收权限;所述消息设备包括所述发送端和所述目标接
收端。

本发明实施例接收应用消息的方式包括:从内存中配置的消息生成队列中
获取并接收应用消息,从所述消息生成队列中获取的应用消息为第一应用消息。

也可以包括:从数据相连的消息转发设备中接收应用消息,从所述消息转
发设备中接收的应用消息为第二应用消息;并且,所述向该目标接收端发起针
对所述第二应用消息的消费操作,包括:将所述第二应用消息发送到内存中配
置的消息消费队列中,以便于所述目标接收端从消息消费队列中获取所述第二
应用消息。

具体的,所述S601至S603的具体实现可参考图1至图5对应实施例的相
关描述。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

再请参见图7,是本发明实施例的一种应用设备的结构示意图,本发明实施
例的应用设备可以为智能手机、平板电脑、个人电脑、智能可穿戴设备等带网
络功能的智能终端,具体可以为上述的配置了MSGQ_agent的应用设备。具体
的,所述应用设备包括:

接收模块71,用于接收应用消息;

处理模块72,用于若应用消息为第一应用消息,对发送所述第一应用消息
的发送端进行鉴权,如果鉴权结果为该发送端有消息发送权限,则转发所述该
第一应用消息;若应用消息为第二应用消息,对该第二应用消息对应的目标接
收端进行鉴权,如果鉴权结果为该目标接收端有消息接收权限,则向该目标接
收端发起针对所述第二应用消息的消费操作。

进一步可选地,所述处理模块72,还用于在所述发送端没有发送权限时,
丢弃所述第一应用消息;或者在所述目标接收端没有消息接收权限时,丢弃所
述第二应用消息。

进一步可选地,所述接收模块71,还用于接收消息设备的标识及其对应的
发送权限秘钥和/或接收权限秘钥;

所述应用设备还包括:配置模块73,用于将接收到的消息设备标识及其对
应的发送权限秘钥和/或接收权限秘钥管理存储,以便于鉴权确定对应消息设备
的发送权限或者接收权限;所述消息设备包括所述发送端和所述目标接收端。

进一步可选地,所述接收模块71,用于从内存中配置的消息生成队列中获
取应用消息,从所述消息生成队列中获取的应用消息为第一应用消息。

进一步可选地,所述接收模块71,用于从数据相连的消息转发设备中接收
应用消息,从所述消息转发设备中接收的应用消息为第二应用消息;

所述处理模块72,用于将所述第二应用消息发送到内存中配置的消息消费
队列中,以便于所述目标接收端从消息消费队列中获取所述第二应用消息。

具体的,本发明实施例的所述应用设备的具体实现可参考图1至图6对应
实施例中相关描述。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

再请参见图8,是本发明实施例的另一种应用消息的处理方法的流程示意图,
本发明实施例的所述方法包括:

S901:应用设备对接收到的第一应用消息所对应的发送端进行鉴权;

S902:如果该发送端有消息发送权限,则将该第一应用消息发送给消息转
发设备;

S903:所述消息转发设备接收所述第一应用消息,并转发给该第一应用消
息的目标接收端,可选的可以向所述应用设备返回成功通知消息;

S904:所述消息转发设备在接收到发向所述应用设备的第二应用消息时,
将所述第二应用消息发送给所述应用设备;

S905:所述应用设备对接收到的第二应用消息对应的目标接收端进行鉴权;

S906:如果该目标接收端有消息接收权限,则向该目标接收端发起针对所
述第二应用消息的消费操作。

进一步可选地,所述方法还可以包括:所述应用设备在所述发送端没有发
送权限时,丢弃所述第一应用消息;或者,所述应用设备在所述目标接收端没
有消息接收权限时,丢弃所述第二应用消息。

进一步可选地,所述方法还可以包括:配置设备为消息设备配置消息发送
权限和消息接收权限,所述消息设备包括所述发送端和所述目标接收端。

进一步可选地,所述方法还可以包括:所述配置设备据消息设备上报的标
识,为所述消息设备配置发送权限和/或消息接收权限,并将消息设备的标识及
其对应的发送权限秘钥和/或接收权限秘钥发送给所述应用设备。

进一步可选地,所述方法还可以包括:所述配置设备为消息设备配置消息
发送类型,并将消息设备的标识以及为其配置的消息类型发送给所述消息转发
设备,所述消息发送类型包括广播消息类型和互斥消息类型。

进一步可选地,所述方法还可以包括:所述消息转发设备根据消息设备的
标识及其消息类型,对从应用设备接收到的应用消息执行转发操作,转发操作
包括对应于广播消息类型的广播操作,和对应于互斥消息类型的单独发送操作。

进一步可选地,所述应用设备从内存中配置的消息生成队列中获取第一应
用消息,并将本应用设备作为第一应用消息所对应的发送端进行鉴权;并且,
在接收到第二应用消息时,将本应用设备作为第二应用消息对应的目标接收端
进行鉴权,并在鉴权通过后,将所述第二应用消息发送到内存中配置的消息消
费队列中。

进一步可选地,所述方法还可以包括:管理设备存储并管理所述应用设备、
消息转发设备的通信标识信息,以便于所述应用设备、消息转发设备基于所述
管理设备中管理的通信标识信息相互通信。

具体的,本发明实施例中各个步骤的具体实现可参考图1至图7对应实施
例中相关内容的描述。

本发明实施例的应用消息的处理系统中,由应用设备执行鉴权处理,消息
转发设备仅进行应用消息的转发,降低了对消息转发设备的软硬件要求,提高
了应用消息的应用消息处理效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,
是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算
机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,
ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之
权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

一种应用消息的处理系统、方法及应用设备.pdf_第1页
第1页 / 共18页
一种应用消息的处理系统、方法及应用设备.pdf_第2页
第2页 / 共18页
一种应用消息的处理系统、方法及应用设备.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《一种应用消息的处理系统、方法及应用设备.pdf》由会员分享,可在线阅读,更多相关《一种应用消息的处理系统、方法及应用设备.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明提供了一种应用消息的处理系统、方法及应用设备,其中,所述处理系统包括:应用设备、消息转发设备;所述应用设备,用于在接收到应用消息对应设备有发送权限时,将该第一应用消息发送给所述消息转发设备;在应用消息的目标接收端有消息接收权限时,向该目标接收端发起针对所述第二应用消息的消费操作;所述消息转发设备,用于从所述应用设备接收应用消息,或向所述应用设备发送应用消息。采用本发明,能够降低了对消息转发设。

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

当前位置:首页 > 电学 > 电通信技术


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