CN113296986A - 消息的处理方法、装置、服务器及存储介质 - Google Patents
消息的处理方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113296986A CN113296986A CN202110676875.3A CN202110676875A CN113296986A CN 113296986 A CN113296986 A CN 113296986A CN 202110676875 A CN202110676875 A CN 202110676875A CN 113296986 A CN113296986 A CN 113296986A
- Authority
- CN
- China
- Prior art keywords
- message
- application server
- receiving end
- server
- identifier
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种消息的处理方法、装置、服务器及存储介质,通过获取第一应用服务端发送的第一消息,之后确定消息接收端属于第二应用服务端,根据第一应用服务端的消息协议和第二应用服务端的消息协议,对第一消息进行转换,生成能够被第二应用服务端识别的第二消息,之后向第二应用服务端发送第二消息。该技术方案中,从消息涉及的消息协议出发,降低了在应用服务端侧内存占用、以及不同应用服务端之间消息交互延迟的风险,提高了消息传递的效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种消息的处理方法、装置、服务器及存储介质。
背景技术
由于部署环境、运营架构的不同,各个应用服务端之间独立性强、关联性弱的特点使得数据分散、信息孤岛,但不同应用服务端之间通常会有消息通信的需求,以满足生产的需要,因此,如何使得消息在两个不同的应用服务端之间传递显得尤为关键。
在现有技术中,当消息发送端将消息发送给消息接收端时,消息发送端所属的第一应用服务端获取到该消息,并将消息以通用文件格式写入一个文件,即转换成第一应用服务端和第二应用服务端都可识别的格式的文件,之后将该文件发送给消息接收端所属的第二应用服务端,第二应用服务端将该文件进行解析,封装成第二应用服务端所通用的消息,并发送至第二应用服务端相应的消息接收端。
然而,上述方法使用文件作为中间介质,容易造成大量占用应用服务端的内存空间、中间转换过程复杂、且效率低的问题。
发明内容
本申请实施例提供一种消息的处理方法、装置、服务器及存储介质,用以解决现有技术中消息传递过程中导致应用服务端内存占用大、传递效率低的问题。
第一方面,本申请实施例提供一种消息的处理方法,应用于服务器,包括:
获取第一应用服务端发送的第一消息,所述第一消息包括所述第一应用服务端的标识、消息内容,消息接收端的标识;
若所述消息接收端属于第二应用服务端,根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息;
向所述第二应用服务端发送所述第二消息。
在第一方面一种可能的设计中,所述获取第一应用服务端发送的第一消息之后,所述方法还包括:
根据本地存储的设备标识与应用服务端的标识的对应关系,确定所述消息接收端的标识对应的第二应用服务端的标识;
查询所述第二应用服务端的标识对应的第二应用服务端的接口,确定所述消息接收端是否属于第二应用服务端。
在第一方面另一种可能的设计中,所述根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息,包括:
根据所述第一应用服务端的消息协议,对所述第一消息进行解析,得到所述消息内容,所述消息接收端的标识;
根据所述第二应用服务端的消息协议,对所述消息内容,所述消息接收端的标识进行封装,得到所述第二消息。
在第一方面还一种可能的设计中,所述方法还包括:
若所述消息接收端不属于所述第二应用服务端,向所述第一应用服务端发送错误报告,所述错误报告用于指示所述消息接收端不属于所述第二应用服务端。
第二方面,本申请实施例提供一种消息的处理方法,应用于第一应用服务端,包括:
获取消息发送端发送的消息内容和消息接收端的标识;
根据所述消息接收端的标识,确定所述消息接收端所属的应用服务端是否为所述第一应用服务端;
若所述消息接收端所属的应用服务端不是所述第一应用服务端,根据所述第一应用服务端的消息协议,将所述消息内容,所述消息接收端标识和所述第一应用服务端的标识进行封装,得到第一消息;
向服务器发送所述第一消息。
在第二方面一种可能的设计中,所述方法还包括:
若所述消息接收端所属的应用服务端为所述第一应用服务端,根据所述消息接收端的标识,向所述消息接收端发送所述消息内容。
在第二方面另一种可能的设计中,所述方法还包括:
获取所述服务器发送的错误报告,所述错误报告用于指示所述消息接收端不属于第二应用服务端;
向所述消息发送端发送错误报告。
第三方面,本申请实施例提供一种消息的处理方法,应用于第二应用服务端,包括:
接收服务器发送的第二消息,所述第二消息是所述服务器根据所述第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
根据所述消息接收端的标识,将所述消息内容发送至所述消息接收端。
第四方面,本申请实施例提供一种消息的处理装置,应用于服务器,包括:获取模块、生成模块和发送模块;
所述获取模块,用于获取第一应用服务端发送的第一消息,所述第一消息包括所述第一应用服务端的标识、消息内容,消息接收端的标识;
所述生成模块,用于若所述消息接收端属于第二应用服务端,根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息;
所述发送模块,用于向所述第二应用服务端发送所述第二消息。
在第四方面一种可能的设计中,所述装置还包括:处理模块;
所述处理模块,用于根据本地存储的设备标识与应用服务端的标识的对应关系,确定所述消息接收端的标识对应的第二应用服务端的标识,并查询所述第二应用服务端的标识对应的第二应用服务端的接口,确定所述消息接收端是否属于第二应用服务端。
在第四方面另一种可能的设计中,所述生成模块,具体用于:
根据所述第一应用服务端的消息协议,对所述第一消息进行解析,得到所述消息内容,所述消息接收端的标识;
根据所述第二应用服务端的消息协议,对所述消息内容,所述消息接收端的标识进行封装,得到所述第二消息。
在第四方面再一种可能的设计中,所述发送模块,还用于若所述消息接收端不属于所述第二应用服务端,向所述第一应用服务端发送错误报告,所述错误报告用于指示所述消息接收端不属于所述第二应用服务端。
第五方面,本申请实施例提供一种消息的处理装置,应用于第一应用服务端,包括:获取模块、确定模块、处理模块和发送模块;
所述获取模块,用于获取消息发送端发送的消息内容和消息接收端的标识;
所述确定模块,用于根据所述消息接收端的标识,确定所述消息接收端所属的应用服务端是否为所述第一应用服务端;
所述处理模块,用于若所述消息接收端所属的应用服务端不是所述第一应用服务端,根据所述第一应用服务端的消息协议,将所述消息内容,所述消息接收端标识和所述第一应用服务端的标识进行封装,得到第一消息;
所述发送模块,用于向服务器发送所述第一消息。
在第五方面一种可能的设计中,所述发送模块还用于若所述消息接收端所属的应用服务端为所述第一应用服务端,根据所述消息接收端的标识,向所述消息接收端发送所述消息内容。
在第五方面另一种可能的设计中,所述获取模块,还用于获取所述服务器发送的错误报告,所述错误报告用于指示所述消息接收端不属于所述第二应用服务端;
所述发送模块,还用于向所述消息发送端发送错误报告。
第六方面,本申请实施例提供一种消息的处理装置,应用于第二应用服务端,包括:获取模块和发送模块;
所述获取模块,用于接收服务器发送的第二消息,所述第二消息是所述服务器根据所述第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
所述发送模块,用于根据所述消息接收端的标识,将所述消息内容发送至所述消息接收端。
第七方面,本申请实施例提供一种服务器,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述第一方面及各种可能的设计中提供的消息的处理方法。
第八方面,本申请实施例提供一种电子设备,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述第二方面及各种可能的设计中提供的消息的处理方法。
第九方面,本申请实施例提供一种电子设备,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述第三方面提供的消息的处理方法。
第十方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面及各种可能的设计中提供的消息的处理方法,或实现如上述第二方面及各种可能的设计中提供的消息的处理方法,或实现如上述第三方面及各种可能的设计中提供的消息的处理方法。
第十一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现如上述第一方面及各种可能的设计中提供的消息的处理方法,或实现如上述第二方面及各种可能的设计中提供的消息的处理方法,或实现如上述第三方面及各种可能的设计中提供的消息的处理方法。
本申请实施例提供一种消息的处理方法、装置、服务器及存储介质,通过获取第一应用服务端发送的第一消息,之后确定消息接收端属于第二应用服务端,根据第一应用服务端的消息协议和第二应用服务端的消息协议,对第一消息进行转换,生成能够被第二应用服务端识别的第二消息,之后向第二应用服务端发送第二消息。该技术方案中,从消息涉及的消息协议出发,降低了在应用服务端侧内存占用、以及不同应用服务端之间消息交互延迟的风险,提高了消息传递的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为现有技术提供的信息传递的流程示意图;
图2A为本申请实施例提供的消息的处理方法的应用场景示意图;
图2B为本申请实施例提供的TCP报文示意图;
图3为本申请实施例提供的消息的处理方法实施例一的流程示意图;
图4为本申请实施例提供的消息的处理方法实施例二的流程示意图;
图5为本申请实施例提供的消息的处理装置实施例一的结构示意图;
图6为本申请实施例提供的消息的处理装置实施例二的结构示意图;
图7为本申请实施例提供的消息的处理装置实施例三的结构示意图;
图8为本申请实施例提供的服务器的结构示意图;
图9为本申请实施例提供的电子设备实施例一的结构示意图;
图10为本申请实施例提供的电子设备实施例二的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本申请的实施例之前,首先对本申请的背景技术进行解释说明:
应用系统越来越深入到企业的生产、管理、运营中,但由于开发平台、应用架构和部署环境等不同,各个应用系统异构化越来越严重,系统独立性强、关联性弱导致数据分散、信息孤岛等问题。企业内部不同系统之间或不同企业各自的系统之间通常会有消息通信的需求。因此,应用系统间信息交互与数据共享显得尤为重要。
在现有技术中,信息在不同的即时通讯系统间传递,一般采用格式文件的方式进行传递,具体的,图1为现有技术提供的信息传递的流程示意图,如图1所示,现有技术中信息在两个系统间(系统的服务端实现,例如,系统A的服务端和系统B的服务端)传递包括如下步骤:
第1步、系统A的服务端接收到来自系统A的消息发送方的客户端的一条消息;
其中,该消息包括消息发送方的信息、消息内容和消息接收方的信息;
第2步、系统A的服务端查询消息接收方的信息;
第3步、判断消息接收方是不是处于系统A中,若否,执行第5步;若是,执行第4步;
第4步、将该信息发送至系统A的消息接收方的客户端;
第5步、将该消息以一种通用的文件格式写入文件(该文件格式可被系统A的服务端、系统B的服务端识别);
其中,该文件包括:消息发送方的系统标识、消息发送方用户号、消息接收方用户号、消息类型、消息内容等;
第6步、系统A服务端将文件发送至系统B服务端;
第7步、系统B服务端读取文件内容,并利用系统B的消息协议封装成系统B客户端所能识别的消息;
第8步、将封装后的消息发送至系统B的客户端。
上述为现有技术消息在不同应用系统之间传递的方式,但是,在这种方式中存在着以下缺点:
1),使用文件作为中间介质,占用了不同应用系统的内存空间、以及输入输出(Input Output,IO)等资源,从而增加了资源消耗;
2),整个传递过程经过写文件、文件传输、读文件等操作,消息传递效率低,无法满足实时性要求;
3),需要对现有应用系统进行改造,使其进行文件读写及收发,违反软件设计开闭原则。
在上述现有技术存在的技术问题的基础上,图2A为本申请实施例提供的消息的处理方法的应用场景示意图。如图2A所示,该应用场景包括:服务器10、第一应用服务端11、第二应用服务端12、消息发送端13和消息接收端14。
其中,服务器可以是一种消息转发器,例如路由器Router,基于底层传输控制协议(Transmission Control Protocol,TCP)协议的消息接收接口,可以接收任何基于TCP协议的上层协议消息;第一应用服务端11和第二应用服务端12用于表示不同的即时通讯系统,且二者之间已实现用户信息的同步;消息发送端13和消息接收端14分别是第一应用服务端11和第二应用服务端12对应的客户端,可以是手机、电脑、智能手表、平板、智能电视等终端设备。
可选的,第一应用服务端11和第二应用服务端12可以为特定的地理区域提供通信覆盖,并且可以与位于该覆盖区域内的终端设备进行通信,可以是全球移动通信系统(Global System for Mobile Communications,简称:GSM)系统或码分多址(CodeDivision Multiple Access,简称:CDMA)系统中的基站(Base Transceiver Station,BTS),也可以是WCDMA系统中的基站(NodeB,NB),还可以是长期演进(Long TermEvolution,简称:LTE)系统中的演进型基站(Evolutional Node B,eNB或eNodeB),或者是云无线接入网络(Cloud Radio Access Network,CRAN)中的无线控制器,或者该第一应用服务端11和第二应用服务端12可以为移动交换中心、中继站、接入点、车载设备、可穿戴设备、集线器、交换机、网桥、路由器、5G网络中的网络侧设备或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)中的网络设备,或者提供卫星服务的基站等等。
可选的,终端设备(消息发送端13和消息接收端14)包括但不限于经由有线线路连接,如经由公共交换电话网络(Public Switched Telephone Networks,PSTN)、数字用户线路(Digital Subscriber Line,DSL)、数字电缆、直接电缆连接;和/或另一数据连接/网络;和/或经由无线接口,如,针对蜂窝网络、无线局域网(Wireless Local Area Network,WLAN)、诸如DVB-H网络的数字电视网络、卫星网络、AM-FM广播发送器;和/或另一被设置成接收/发送通信信号的装置;和/或物联网(Internet of Things,IoT)设备。被设置成通过无线接口通信的终端设备可以被称为“无线通信终端”、“无线终端”或“移动终端”。移动终端的示例包括但不限于卫星或蜂窝电话;可以组合蜂窝无线电电话与数据处理、传真以及数据通信能力的个人通信系统(Personal Communications System,PCS)终端;可以包括无线电电话、寻呼机、因特网/内联网接入、Web浏览器、记事簿、日历以及/或全球定位系统(Global Positioning System,GPS)接收器的PDA;以及常规膝上型和/或掌上型接收器或包括无线电电话收发器的其它电子装置。
在一种可能的实现中,当消息发送端13需要发送一条消息给消息接收端14时,为消息发送端13提供服务的第一应用服务端11接收到该消息,并对该消息添加第一应用服务端11的标识,之后将该消息发至服务器10,服务器10基于第一应用服务端11的标识对应的第一应用服务端11的消息协议,对消息进行解析,再对解析后的消息进行封装(按照第二应用服务端12的消息协议进行封装),得到消息接收端14所能识别的消息。
进一步地,将该消息发送至第二应用服务端12,再由第二应用服务端12转发至消息接收端14。
可选的,消息接收端14也可以是第一应用服务端11对应的客户端,在该种可能的实现中,第一应用服务端11直接将消息发送至消息接收端14,不经过服务器10的处理。
值得说明的是,本申请实施例不对消息的数量限定,对于多条消息的处理,可以基于先进先出的次序进行相应的处理;也不对应用服务端的数量限定,可以根据实际情况添加。
可选的,图2B为本申请实施例提供的TCP报文示意图。如图2B所示,该关系示意图包括报文头、TCP报文体。
其中,报文头包括:端口号、序号、控制位、校验位;TCP报文体内部包括消息协议的消息形式,如消息头和消息体(应用传输内容);消息头包括:消息发送端、消息接收端、消息类型等;消息体包括:内容(文字、表情、图片等)和命令(通知、查询、回执等)。
由此可知,无论上述应用系统使得的是何种协议,只要基于TCP协议,在传输时均在TCP报文体内部,因此服务器(例如,Router)提供的TCP消息接收接口可以接收任何基于TCP协议的即时通讯的应用系统的消息。
本申请针对上述技术问题,发明人的技术构思过程如下:发明人发现,现有技术消息传递时需要在不同的应用系统之间进行消息相关文件的生成、解析,影响内存使用率,那么可以使用一个消息转发器,根据不同的应用系统的消息协议,对需要传递的消息进行处理,便可以避免上述存在的技术问题。
下面以上述附图对应的应用场景,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请实施例提供的消息的处理方法实施例一的流程示意图。从服务器、第一应用服务端和第二应用服务端之间的交互进行说明,如图3所示,该消息的处理方法可以包括如下步骤:
步骤31、获取消息发送端发送的消息内容和消息接收端的标识。
在本方案中,当用户A向用户B发送消息时,在技术上的实现为:用户A的终端设备(消息发送端)将消息发送给用户B的终端设备(消息接收端)。
其中,在用户A的终端设备和用户B的终端设备之间消息的处理过程中,消息发送端所属的应用服务端称为第一应用服务端;消息接收端所属的应用服务端称为第一应用服务端,或第二应用服务端(根据消息接收端所属的应用服务端而定);服务器作为不同应用服务端之间的中间件,实现对消息格式的处理、消息的收发等功能,由下述实施例详述。
在本步骤中,消息发送端发出的消息,包含有消息的具体的内容和消息的接收方信息,也即消息内容和消息接收端的标识,第一应用服务端通过消息发送端发送的消息内容和消息接收端的标识。
步骤32、根据消息接收端的标识,确定消息接收端所属的应用服务端是否为第一应用服务端。
在本步骤中,第一应用服务端为消息发送端所属的应用服务端,第一应用服务端根据消息接收端的标识,在第一应用服务端中查询是否有消息接收端对应的消息传递接口。
在一种可能的实现中,在第一应用服务端中查询到了消息接收端对应的消息传递接口,则消息接收端所属的应用服务端为第一应用服务端。
进一步地,根据消息接收端的标识,第一应用服务端向消息接收端发送消息内容,完成消息在消息发送端到消息接收端的传递。
在另一种可能的实现中,在第一应用服务端中没有查询到消息接收端对应的消息传递接口,则消息接收端所属的应用服务端不是第一应用服务端,此时执行步骤33。
步骤33、若消息接收端所属的应用服务端不是第一应用服务端,根据第一应用服务端的消息,将消息内容,协议消息接收端标识和第一应用服务端的标识进行封装,得到第一消息;
在本步骤中,由于消息接收端和消息发送端所属的应用服务端不同,消息发送端发出的消息不能被消息接收端直接识别,需要对消息进行相应的处理。
可选的,第一应用服务端对消息内容、消息接收端标识和第一应用服务端的标识进行封装,得到后续服务器可以根据第一应用服务端的消息协议进行解析的消息格式,也即第一消息。
步骤34、向服务器发送第一消息。
在本步骤中,第一应用服务端将第一消息发送给服务器。
在该步骤之后,根据本地存储的设备标识与应用服务端的标识的对应关系,确定消息接收端的标识对应的第二应用服务端的标识。
具体的,服务器的本地存储中预先存储有设备标识与应用服务端的标识的对应关系,在收到第一消息时,服务器先将第一消息存入到消息接收队列中。
其中,消息接收队列是为了服务器能够应对大规模并发接收多条第一消息,缓存接收到的第一消息,本申请实施例以一条第一消息为例进行叙述,与多条第一消息的处理过程原理是相同的。
进一步地,检测到消息接收队列中存在的第一消息未被消费时,根据第一消息所属系统的标识(第一应用服务端的标识),根据第一应用服务端的消息协议对第一消息进行解析,得到消息接收端标识,根据上述的对应关系,确定应用服务端为第二应用服务端。
最后,查询第二应用服务端的标识对应的第二应用服务端的接口,确定消息接收端是否属于第二应用服务端,也即服务器调用第二应用服务端的用户查询接口,查询消息接收端是否在属于第二应用服务端,此时,存在两种可能的实现:
在一种可能实现中,若消息接收端不属于第二应用服务端,向第一应用服务端发送错误报告,错误报告用于指示消息接收端不属于第二应用服务端。
可选的,消息接收端可能变更了相关的应用服务端信息,该错误报告还可以为技术人员提供信息维护参考。
此时,第一应用服务端可以用于获取服务器发送的错误报告,该错误报告用于指示消息接收端不属于第二应用服务端,向消息发送端发送错误报告。
在另一种可能的实现中,消息接收端属于第二应用服务端,执行下述步骤35。
步骤35、若消息接收端属于第二应用服务端,根据第一应用服务端的消息协议,第二应用服务端的消息协议,对第一消息进行转换,生成能够被第二应用服务端识别的第二消息。
在一种可能的实现中,根据第一应用服务端的消息协议,对第一消息进行解析,得到消息内容,消息接收端的标识,根据第二应用服务端的消息协议,对消息内容,消息接收端的标识进行封装,得到第二消息。
也即,根据第二应用服务端的消息协议,将根据第一应用服务端的消息协议解析出来的消息内容,消息接收端的标识,进行封装,得到第二应用服务端识别的第二消息,并将第二消息插入消息发送队列。
其中,消息发送队列是为了匹配服务器消息处理速率与消息发送速率的时间差,需要有此设置,并缓存服务器封装之后的第二消息;第二消息是服务器根据第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
步骤36、向第二应用服务端发送第二消息。
在本步骤中,服务器将消息发送队列中的第二消息取出,发送至第二应用服务端,第二应用服务端接收到该第二消息。
步骤37、根据消息接收端的标识,将消息内容发送至消息接收端。
在本步骤中,第二应用服务端根据消息接收端的标识,将消息内容发送给用户B对应的消息接收端,以实现用户A的终端设备和用户B的终端设备之间消息的传递。
应理解,在上述执行的过程中,消息本身还应当携带有消息发送端的相关信息,在消息接收端获得消息内容时,消息接收端获得消息发送端的信息。
本申请实施例提供消息的处理方法,通过获取第一应用服务端发送的第一消息,之后确定消息接收端属于第二应用服务端,根据第一应用服务端的消息协议和第二应用服务端的消息协议,对第一消息进行转换,生成能够被第二应用服务端识别的第二消息,之后向第二应用服务端发送第二消息。该技术方案中,从消息涉及的消息协议出发,避免了在应用服务端侧存在内存占用过高、效率过低的问题,降低了不同应用服务端之间消息交互延迟的风险,且消息缓存队列的设置,提升了服务器的吞吐量,防止进程阻塞。
在上述实施例的基础上,图4为本申请实施例提供的消息的处理方法实施例二的流程示意图,用以详细说明服务器的内部处理流程,如图4所示,该消息的处理方法包括如下步骤:
第1步、开始;
第2步、服务器收到来自第一应用服务端的消息;
第3步、将消息插入消息接收队列;
其中,在队列中有多个待处理的消息,按照先进先处理的原则,逐个进行处理,也可以并行处理,根据实际情况而定。
第4步、将消息从队列中取出;
第5步、根据第一应用服务端的消息协议,对消息进行解析;
第6步、判断消息接收端是否属于第二应用服务端,若否,执行第7步;若是,执行第8步;
第7步、向第一应用服务端发送错误报告;
第8步、根据第二应用服务端的消息协议,对解析后的消息进行封装;
第9步、将封装后的消息插入消息发送队列;
第10步、从消息发送队列中取出封装后的消息,并发送至第二应用服务端;
第11步、结束。
本申请实施例提供消息的处理方法,服务器通过接收来自第一应用服务端的消息,将该消息插入消息接收队列,针对消息接收队列中的多个待处理消息,按照一定的顺序,取出后进行处理,判断取出的消息对应的消息接收端是否属于第二应用服务端,若是时,对该消息按照第一应用服务端的消息协议进行解析,之后按照第二应用服务端的消息协议,对解析后的消息进行封装,得到的结果加入消息发送队列,等待发送至第二应用服务端;若否,则向第一应用服务端发送错误报告。该技术方案中,根据不同应用服务端的消息协议对消息进行处理,使得消息转换成可以被消息接收端对应的应用服务端所能识别的消息,避免了现有技术中消息传递过程中造成应用服务端的运行内存增加、效率降低的问题。
在上述消息的处理方法实施例的基础上,图5为本申请实施例提供的消息的处理装置实施例一的结构示意图。如图5所示,该消息的处理装置可以集成在服务器上,包括:获取模块51、生成模块52和发送模块53;
获取模块51,用于获取第一应用服务端发送的第一消息,第一消息包括第一应用服务端的标识、消息内容,消息接收端的标识;
生成模块52,用于若消息接收端属于第二应用服务端,根据第一应用服务端的消息协议,第二应用服务端的消息协议,对第一消息进行转换,生成能够被第二应用服务端识别的第二消息;
发送模块53,用于向第二应用服务端发送第二消息。
在本申请实施例一种可能的设计中,该装置还包括:处理模块54;
处理模块54,用于根据本地存储的设备标识与应用服务端的标识的对应关系,确定消息接收端的标识对应的第二应用服务端的标识,并查询第二应用服务端的标识对应的第二应用服务端的接口,确定消息接收端是否属于第二应用服务端。
在本申请实施例另一种可能的设计中,生成模块52,具体用于:
根据第一应用服务端的消息协议,对第一消息进行解析,得到消息内容,消息接收端的标识;
根据第二应用服务端的消息协议,对消息内容,消息接收端的标识进行封装,得到第二消息。
在本申请实施例再一种可能的设计中,发送模块53,还用于若消息接收端不属于第二应用服务端,向第一应用服务端发送错误报告,错误报告用于指示消息接收端不属于第二应用服务端。
本申请实施例提供的消息的处理装置,可用于执行上述实施例中服务器涉及的消息的处理方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
其次,图6为本申请实施例提供的消息的处理装置实施例二的结构示意图。如图6所示,该消息的处理装置可以集成在第一应用服务端对应的电子设备上,包括:获取模块61、确定模块62、处理模块63和发送模块64;
获取模块61,用于获取消息发送端发送的消息内容和消息接收端的标识;
确定模块62,用于根据消息接收端的标识,确定消息接收端所属的应用服务端是否为第一应用服务端;
处理模块63,用于若消息接收端所属的应用服务端不是第一应用服务端,根据第一应用服务端的消息协议,将消息内容,消息接收端标识和第一应用服务端的标识进行封装,得到第一消息;
发送模块64,用于向服务器发送第一消息。
在本申请实施例一种可能的设计中,发送模块64还用于若消息接收端所属的应用服务端为第一应用服务端,根据消息接收端的标识,向消息接收端发送消息内容。
在本申请实施例另一种可能的设计中,获取模块61,还用于获取服务器发送的错误报告,错误报告用于指示消息接收端不属于第二应用服务端;
发送模块64,还用于向消息发送端发送错误报告。
本申请实施例提供的消息的处理装置,可用于执行上述实施例中第一应用服务端涉及的消息的处理方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
最后,图7为本申请实施例提供的消息的处理装置实施例三的结构示意图。如图7所示,该消息的处理装置可以集成在第二应用服务端对应的电子设备上,包括:获取模块71和发送模块72;
获取模块71,用于接收服务器发送的第二消息,第二消息是服务器根据第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
发送模块72,用于根据消息接收端的标识,将消息内容发送至消息接收端。
本申请实施例提供的消息的处理装置,可用于执行上述实施例中第二应用服务端涉及的消息的处理方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图8为本申请实施例提供的服务器的结构示意图。如图8所示,该服务器可以包括:处理器80、存储器81、收发器82及存储在该存储器81上并可在处理器80上运行的计算机程序指令。
其中,该服务器可以是消息转发器,例如Router。
处理器80执行存储器存储的计算机执行指令,使得处理器80执行上述实施例中的方案。处理器80可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器81和收发器82通过系统总线与处理器80连接并完成相互间的通信,存储器81用于存储计算机程序指令。收发器82用于和其他应用服务端、以及计算机进行通信,该收发器82构成通信接口。
可选的,在硬件实现上,上述图5所示实施例中的获取模块51和发送模块53对应于本实施例中的收发器82。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的服务器,可用于执行上述实施例中服务器涉及的技术方案,其实现原理和技术效果类似,在此不再赘述。
图9为本申请实施例提供的电子设备实施例一的结构示意图。如图9所示,该电子设备可以包括:处理器90、存储器91、收发器92及存储在该存储器91上并可在处理器90上运行的计算机程序指令。
其中,该电子设备对应第一应用服务端,可以是即时通讯系统的服务端。
处理器90执行存储器存储的计算机执行指令,使得处理器90执行上述实施例中的方案。处理器90可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器91和收发器92通过系统总线与处理器90连接并完成相互间的通信,存储器91用于存储计算机程序指令。收发器92用于和其他应用服务端、服务器和计算机等进行通信,该收发器92构成通信接口。
可选的,在硬件实现上,上述图6所示实施例中的获取模块61和发送模块64对应于本实施例中的收发器92。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的电子设备,可用于执行上述实施例中第一应用服务端涉及的技术方案,其实现原理和技术效果类似,在此不再赘述。
图10为本申请实施例提供的电子设备实施例二的结构示意图。如图10所示,该电子设备可以包括:处理器100、存储器101、收发器102及存储在该存储器101上并可在处理器100上运行的计算机程序指令。
其中,该电子设备对应第二应用服务端,可以是即时通讯系统的服务端。
处理器100执行存储器存储的计算机执行指令,使得处理器100执行上述实施例中的方案。处理器100可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器101和收发器102通过系统总线与处理器100连接并完成相互间的通信,存储器101用于存储计算机程序指令。收发器102用于和其他应用服务端、服务器和计算机等进行通信,该收发器102构成通信接口。
可选的,在硬件实现上,上述图7所示实施例中的获取模块71和发送模块72对应于本实施例中的收发器102。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的电子设备,可用于执行上述实施例中第二应用服务端涉及的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中消息的处理方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例中消息的处理方法的技术方案。
上述的计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (16)
1.一种消息的处理方法,其特征在于,应用于服务器,包括:
获取第一应用服务端发送的第一消息,所述第一消息包括所述第一应用服务端的标识、消息内容,消息接收端的标识;
若所述消息接收端属于第二应用服务端,根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息;
向所述第二应用服务端发送所述第二消息。
2.根据权利要求1所述的方法,其特征在于,所述获取第一应用服务端发送的第一消息之后,所述方法还包括:
根据本地存储的设备标识与应用服务端的标识的对应关系,确定所述消息接收端的标识对应的第二应用服务端的标识;
查询所述第二应用服务端的标识对应的第二应用服务端的接口,确定所述消息接收端是否属于第二应用服务端。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息,包括:
根据所述第一应用服务端的消息协议,对所述第一消息进行解析,得到所述消息内容,所述消息接收端的标识;
根据所述第二应用服务端的消息协议,对所述消息内容,所述消息接收端的标识进行封装,得到所述第二消息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述消息接收端不属于所述第二应用服务端,向所述第一应用服务端发送错误报告,所述错误报告用于指示所述消息接收端不属于所述第二应用服务端。
5.一种消息的处理方法,其特征在于,应用于第一应用服务端,包括:
获取消息发送端发送的消息内容和消息接收端的标识;
根据所述消息接收端的标识,确定所述消息接收端所属的应用服务端是否为所述第一应用服务端;
若所述消息接收端所属的应用服务端不是所述第一应用服务端,根据所述第一应用服务端的消息协议,将所述消息内容,所述消息接收端标识和所述第一应用服务端的标识进行封装,得到第一消息;
向服务器发送所述第一消息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述消息接收端所属的应用服务端为所述第一应用服务端,根据所述消息接收端的标识,向所述消息接收端发送所述消息内容。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述服务器发送的错误报告,所述错误报告用于指示所述消息接收端不属于第二应用服务端;
向所述消息发送端发送错误报告。
8.一种消息的处理方法,其特征在于,应用于第二应用服务端,包括:
接收服务器发送的第二消息,所述第二消息是所述服务器根据所述第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
根据所述消息接收端的标识,将所述消息内容发送至所述消息接收端。
9.一种消息的处理装置,其特征在于,应用于服务器,包括:获取模块、生成模块和发送模块;
所述获取模块,用于获取第一应用服务端发送的第一消息,所述第一消息包括所述第一应用服务端的标识、消息内容,消息接收端的标识;
所述生成模块,用于若所述消息接收端属于第二应用服务端,根据所述第一应用服务端的消息协议,所述第二应用服务端的消息协议,对所述第一消息进行转换,生成能够被所述第二应用服务端识别的第二消息;
所述发送模块,用于向所述第二应用服务端发送所述第二消息。
10.一种消息的处理装置,其特征在于,应用于第一应用服务端,包括:获取模块、确定模块、处理模块和发送模块;
所述获取模块,用于获取消息发送端发送的消息内容和消息接收端的标识;
所述确定模块,用于根据所述消息接收端的标识,确定所述消息接收端所属的应用服务端是否为所述第一应用服务端;
所述处理模块,用于若所述消息接收端所属的应用服务端不是所述第一应用服务端,根据所述第一应用服务端的消息协议,将所述消息内容,所述消息接收端标识和所述第一应用服务端的标识进行封装,得到第一消息;
所述发送模块,用于向服务器发送所述第一消息。
11.一种消息的处理装置,其特征在于,应用于第二应用服务端,包括:获取模块和发送模块;
所述获取模块,用于接收服务器发送的第二消息,所述第二消息是所述服务器根据所述第二应用服务端的消息协议对消息内容和消息接收端的标识进行封装得到的;
所述发送模块,用于根据所述消息接收端的标识,将所述消息内容发送至所述消息接收端。
12.一种服务器,其特征在于,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述权利要求1至4中任一项所述的消息的处理方法。
13.一种电子设备,其特征在于,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述权利要求5至7中任一项所述的消息的处理方法。
14.一种电子设备,其特征在于,包括:处理器、存储器、收发器及存储在所述存储器上并可在处理器上运行的计算机程序指令,所述处理器执行所述计算机程序指令时实现如上述权利要求8所述的消息的处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述权利要求1-8任一项所述的消息的处理方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现如上述权利要求1-8任一项所述的消息的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110676875.3A CN113296986A (zh) | 2021-06-18 | 2021-06-18 | 消息的处理方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110676875.3A CN113296986A (zh) | 2021-06-18 | 2021-06-18 | 消息的处理方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113296986A true CN113296986A (zh) | 2021-08-24 |
Family
ID=77328668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110676875.3A Pending CN113296986A (zh) | 2021-06-18 | 2021-06-18 | 消息的处理方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113296986A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348309A (zh) * | 2022-06-17 | 2022-11-15 | 上海数慧系统技术有限公司 | 通讯管理方法及装置 |
CN115658337A (zh) * | 2022-10-14 | 2023-01-31 | 广州市玄武无线科技股份有限公司 | 一种消息全生命周期处理方法及分布式消息系统 |
-
2021
- 2021-06-18 CN CN202110676875.3A patent/CN113296986A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115348309A (zh) * | 2022-06-17 | 2022-11-15 | 上海数慧系统技术有限公司 | 通讯管理方法及装置 |
CN115348309B (zh) * | 2022-06-17 | 2024-03-22 | 上海数慧系统技术有限公司 | 通讯管理方法及装置 |
CN115658337A (zh) * | 2022-10-14 | 2023-01-31 | 广州市玄武无线科技股份有限公司 | 一种消息全生命周期处理方法及分布式消息系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI119346B (fi) | Resurssien allokointi langattomassa viestintäjärjestelmässä | |
US8824958B2 (en) | Relay node connection management | |
CN110545307B (zh) | 边缘计算平台、调用方法及计算机可读存储介质 | |
CN114124451B (zh) | 一种物联网设备数据处理方法、系统及计算机存储介质 | |
CN107395572B (zh) | 一种数据处理方法及物联网网关 | |
CN113296986A (zh) | 消息的处理方法、装置、服务器及存储介质 | |
CN111212446B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110662299B (zh) | 通信方法、装置及存储介质 | |
CN111629342B (zh) | 一种北斗短报文终端号码映射的方法及装置 | |
CN112398626B (zh) | 一种信息传输方法、通信装置和系统 | |
CN112003937A (zh) | 卫星数据传输方法、装置、计算机设备、存储介质 | |
US10764411B2 (en) | Stream control transmission protocol SCTP-based communications method and system, and apparatus | |
WO2023125124A1 (zh) | 一种数据交换的方法、交换装置和处理装置 | |
CN111263448B (zh) | 信息传输的方法和设备 | |
WO2020164077A1 (zh) | 一种资源配置方法、终端设备及网络设备 | |
WO2022027345A1 (zh) | 无线通信方法和设备 | |
CN111953714B (zh) | 文件共享方法、通信装置及存储介质 | |
CN112217720A (zh) | 管理用户设备中的子流通信 | |
CN111511037A (zh) | 获取系统信息的方法及装置 | |
US9986535B2 (en) | Method and system for managing mobile management entity (MME) in a telecommunication network | |
US20230180344A1 (en) | Wireless communication method and device | |
US20130260774A1 (en) | Method and system of transmitting a bearer resource request message from a ue to a mme for setting up an eps bearer in a lte network | |
KR102465438B1 (ko) | 무선 통신 방법, 단말기, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 | |
WO2021012260A1 (zh) | 用于传输数据的方法、发送端设备和接收端设备 | |
CN113994762A (zh) | 关联会话的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |