CN106487637B - 一种应用消息的处理***、方法及应用设备 - Google Patents

一种应用消息的处理***、方法及应用设备 Download PDF

Info

Publication number
CN106487637B
CN106487637B CN201510527042.5A CN201510527042A CN106487637B CN 106487637 B CN106487637 B CN 106487637B CN 201510527042 A CN201510527042 A CN 201510527042A CN 106487637 B CN106487637 B CN 106487637B
Authority
CN
China
Prior art keywords
message
application
sending
application message
receiving
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.)
Active
Application number
CN201510527042.5A
Other languages
English (en)
Other versions
CN106487637A (zh
Inventor
杨涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510527042.5A priority Critical patent/CN106487637B/zh
Priority to PCT/CN2016/083366 priority patent/WO2017032110A1/zh
Publication of CN106487637A publication Critical patent/CN106487637A/zh
Priority to US15/827,456 priority patent/US10268532B2/en
Application granted granted Critical
Publication of CN106487637B publication Critical patent/CN106487637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种应用消息的处理***、方法及应用设备
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种应用消息的处理***、方法及应用设备。
背景技术
消息***是一种分布式的消息转发平台,主要用于业务服务之间的消息传递,通过存储-转发的方式,接收应用程序的消息,并转发给目标应用程序。大型的业务中,通常使用消息***来转发处理的数据。
目前的消息转发***中,由消息转发服务器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 AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (26)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510527042.5A CN106487637B (zh) 2015-08-25 2015-08-25 一种应用消息的处理***、方法及应用设备
PCT/CN2016/083366 WO2017032110A1 (zh) 2015-08-25 2016-05-25 一种应用消息的处理***、方法及应用设备
US15/827,456 US10268532B2 (en) 2015-08-25 2017-11-30 Application message processing system, method, and application device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510527042.5A CN106487637B (zh) 2015-08-25 2015-08-25 一种应用消息的处理***、方法及应用设备

Publications (2)

Publication Number Publication Date
CN106487637A CN106487637A (zh) 2017-03-08
CN106487637B true CN106487637B (zh) 2020-04-03

Family

ID=58099468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510527042.5A Active CN106487637B (zh) 2015-08-25 2015-08-25 一种应用消息的处理***、方法及应用设备

Country Status (3)

Country Link
US (1) US10268532B2 (zh)
CN (1) CN106487637B (zh)
WO (1) WO2017032110A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108628688B (zh) * 2018-03-30 2022-11-18 创新先进技术有限公司 一种消息处理方法、装置及设备
CN108848021B (zh) * 2018-05-31 2021-06-15 泰康保险集团股份有限公司 消息转发方法及装置
CN110083465B (zh) * 2019-04-26 2021-08-17 上海连尚网络科技有限公司 一种寄宿应用间的数据传递方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051923A (zh) * 2007-04-05 2007-10-10 中兴通讯股份有限公司 以太无源光网络中的组播控制方法
CN101150425A (zh) * 2007-11-15 2008-03-26 中国电信股份有限公司 组播业务权限控制方法及其光网络单元和光线路终端
CN101227410A (zh) * 2008-02-03 2008-07-23 杭州华三通信技术有限公司 流量监管方法及流量监管设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020025046A1 (en) * 2000-05-12 2002-02-28 Hung-Yu Lin Controlled proxy secure end to end communication
US7565537B2 (en) * 2002-06-10 2009-07-21 Microsoft Corporation Secure key exchange with mutual authentication
US8005200B2 (en) * 2004-04-08 2011-08-23 Gryphon Networks Corp. System and method for control of communications connections and notifications
US7725717B2 (en) * 2005-08-31 2010-05-25 Motorola, Inc. Method and apparatus for user authentication
CN101068243B (zh) * 2007-04-12 2010-05-19 北京邮电大学 处理网关层与业务层的消息交互***以及发送、接收方法
US8438385B2 (en) * 2008-03-13 2013-05-07 Fujitsu Limited Method and apparatus for identity verification
CN101400036B (zh) * 2008-10-24 2012-07-18 中兴通讯股份有限公司 一种对短消息业务进行鉴权的方法
US9451452B2 (en) * 2009-06-29 2016-09-20 Motorola Solutions, Inc. Method of triggering a key delivery from a mesh key distributor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051923A (zh) * 2007-04-05 2007-10-10 中兴通讯股份有限公司 以太无源光网络中的组播控制方法
CN101150425A (zh) * 2007-11-15 2008-03-26 中国电信股份有限公司 组播业务权限控制方法及其光网络单元和光线路终端
CN101227410A (zh) * 2008-02-03 2008-07-23 杭州华三通信技术有限公司 流量监管方法及流量监管设备

Also Published As

Publication number Publication date
US20180081746A1 (en) 2018-03-22
US10268532B2 (en) 2019-04-23
CN106487637A (zh) 2017-03-08
WO2017032110A1 (zh) 2017-03-02

Similar Documents

Publication Publication Date Title
CN109639642B (zh) 基于mqtt的安全认证方法、装置及存储介质
CN108881354B (zh) 一种推送信息存储方法、装置、服务器和计算机存储介质
US10637794B2 (en) Resource subscription method, resource subscription apparatus, and resource subscription system
US20220312309A1 (en) Method and Apparatus for Reporting User Plane Function Information, Storage Medium, and Electronic Apparatus
US9369873B2 (en) Network application function authorisation in a generic bootstrapping architecture
CN113572864B (zh) 一种数据处理方法、网元设备以及可读存储介质
CN104936282A (zh) 一种融合通信业务的注册方法及装置
US10375753B2 (en) Method and device for associating user with group
CN104917605A (zh) 一种终端设备切换时密钥协商的方法和设备
CN106487637B (zh) 一种应用消息的处理***、方法及应用设备
CN114338063B (zh) 消息队列***、业务处理方法及计算机可读存储介质
CN113573378A (zh) 一种电竞数据处理方法、装置、设备及存储介质
CN110913011B (zh) 会话保持方法、会话保持装置、可读存储介质及电子设备
CN113573382A (zh) 一种电竞数据处理方法、装置、计算机设备及存储介质
WO2020147854A1 (zh) 认证方法、装置、***以及存储介质
US11231920B2 (en) Electronic device management
WO2018082944A1 (en) A communication network and a method for establishing non-access stratum connections in a communication network
CN114979097A (zh) 基于mqtt的消息推送方法、装置及电子设备
CN105376727A (zh) 数据卡处理方法及装置
CN114222290A (zh) 通信方法、装置、设备及存储介质
CN112153580B (zh) 设置mcptt群组的方法、设备及***
KR101578284B1 (ko) 통합 로그아웃 방법, 인증 처리 서버, 서비스 제공 서버 및 사용자 단말
EP4132053A1 (en) Network slice connection method, terminal, and computer-readable storage medium
CN115134858A (zh) 分流策略下发方法、装置、电子设备及存储介质
CN114329625A (zh) 骨髓配型管理方法及区块链***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant