CN104426746A - 客户端消息的推送方法、装置和服务器 - Google Patents
客户端消息的推送方法、装置和服务器 Download PDFInfo
- Publication number
- CN104426746A CN104426746A CN201310400549.5A CN201310400549A CN104426746A CN 104426746 A CN104426746 A CN 104426746A CN 201310400549 A CN201310400549 A CN 201310400549A CN 104426746 A CN104426746 A CN 104426746A
- Authority
- CN
- China
- Prior art keywords
- message
- transmit queue
- short message
- monitoring
- client
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种客户端消息的推送方法、装置和服务器,服务器接收到客户端发送的消息后,如果判断出消息类型为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;如果判断出消息类型为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。从而实现提高服务器对与客户端交互消息的转发效率和转发质量。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种客户端消息的推送方法、装置和服务器。
背景技术
随着互联网用户量的日益增大,互联网产品提供的服务也越来越多,现在各种移动终端的用户体验要求的增高也给服务器造成了很大的压力。服务器在关注用户数据和业务的同时还要给客户端一些实时的消息反馈,包括用户个人的业务消息和服务给用户推送的数据消息。
现有技术中,消息逻辑和业务逻辑统一在一台服务器上,服务器与客户端交互的消息以及业务数据均通过服务接口转发。因此,服务器对交互消息的转发效率和转发质量较低。
发明内容
本发明提供一种客户端消息的推送方法、装置和服务器,以提高服务器对与客户端交互消息的转发效率和转发质量。
一方面,本发明提供一种客户端消息的推送方法,包括:
接收客户端发送的消息;
判断所述消息的消息类型;
若判断出所述消息为即时短消息,则将所述即时短消息输入至短消息发送队列中进行发送;若判断出所述消息为监控消息,则对所述监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
另一方面,本发明提供一种客户端消息的推送装置,包括:
接收模块,用于接收客户端发送的消息;
判断模块,用于判断所述消息的消息类型;
发送模块,用于若所述判断模块判断出所述消息为即时短消息,则将所述即时短消息输入至短消息发送队列中进行发送;若所述判断模块判断出所述消息为监控消息,则对所述监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
再一方面,本发明提供一种服务器,包括:本发明提供的客户端消息的推送装置。
本发明提供的客户端消息的推送方法、装置和服务器,服务器接收到客户端发送的消息后,如果判断出消息类型为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;如果判断出消息类型为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。从而实现提高服务器对与客户端交互消息的转发效率和转发质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的客户端消息的推送方法一个实施例的流程图;
图2为本发明提供的客户端消息的推送方法中服务器的逻辑层次划分示意图;
图3为本发明提供的客户端消息的推送方法中服务器的发送队列示意图;
图4为本发明提供的客户端消息的推送装置一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的客户端消息的推送方法一个实施例的流程图,如图1所示,该方法包括:
S101、接收客户端发送的消息;
S102、判断消息的消息类型;
S103、若判断出消息为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;
S104、若判断出消息为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
本发明提供的客户端消息的推送方法的执行主体可以是位于网络侧的服务器,该服务器可以既可以与客户端进行消息交互,又可以与客户端进行业务数据的交互。
其中,与客户端进行的消息交互主要包括即时短消息和监控消息。即时短消息可以适用于客户端一对一通讯的实施场景,即,服务器接收到一个客户端发送的即时短消息后,需要将该即时短消息发送给特定的一个客户端。即时短消息还可以适用于客户端一对多通讯的实施场景,即服务器接收到一个客户端发送的即时短消息后,群发给多个客户端。
本发明实施例中,服务器接收到客户端发送的消息后,如果判断出该消息的类型为即时短消息,则服务区并不解析该即时短消息的内容,而是直接将即时短消息从接收队列直接放置到短消息发送队列中进行发送,进入短消息发送队列中的短消息,按照进入该队列中的先后顺序依次发送。需要说明的是,客户端发送消息给服务器之后,客户端可以继续执行自身的其他业务操作而不必等待服务器的转发操作结果,服务器向客户端转发的消息可以由客户端自动获取,因此,本发明提供的客户端消息的推送方法以非阻塞模式进行消息的发送。
如果服务器判断出接收到的消息是监控消息,则服务器可以截取客户端传输的字节流进行解析,将监控消息发送到监控消息发送队列中进行发送。例如:服务器向客户端发出了一个指令消息,以指示客户端执行某些操作,服务器需要获知客户端执行该操作的状态,因此,客户端在执行该操作过程或执行操作结束后向服务器发送的消息即为监控消息。需要说明的是,该监控消息发送队列可以是一个同步的队列,例如:服务器可以为某一个客户端群(包括多个客户端)设定一个同步的队列,则该队列发送了一个消息之后,当前的队列就进入一种锁定的状态,在此期间任何其他的消息都不再发送直到发送出去的消息完成了它的整个生命周期。
在上述实施方式的基础上,作为一种较佳的实施例,对于即时短消息或者监控消息,都可以具有不同的优先级,可以实现按照优先级的顺序转发即时短消息或者监控消息。在该场景下,服务器接收到客户端发送的即时短消息后,可以先确定即时短消息的优先级,再根据即时短消息的优先级将即时短消息输入至短消息发送队列中的对应位置,优先级较高的即时短消息可以放置到短消息发送队列中相对靠前的位置以实现优先发送,优先级较低的即时短消息可以放置到短消息发送队列中相对靠后的位置。类似的,服务器接收到监控消息后,也可以先确定监控消息的优先级,再对监控消息进行字节流解析后,根据监控消息的优先级将监控消息输入至监控消息发送队列中的对应位置,优先级较高的监控消息可以放置到监控消息发送队列中相对靠前的位置以实现优先发送,优先级较低的监控消息可以放置到监控消息发送队列中相对靠后的位置。
另外,考虑到客户端转发大量消息的实施场景,如图2所示,可以将服务器端划分为接入层,逻辑层和数据层,其中,数据层可以具有内存存储功能和持久化存储功能,在上述每一层均可以具有接收队列和发送队列。
具体的:在接入层接收客户端发送的消息之后,可以依次传输至逻辑层和数据层。如图3所示,短消息发送队列依次可以包括:数据层短消息发送队列、逻辑层短消息发送队列和接入层短消息发送队列;即时短消息到达数据层之后,可以先输入至数据层短消息发送队列,再依次输入逻辑层短消息发送队列和接入层短消息发送队列,最后从接入层短消息发送队列发送出去。类似的,监控消息发送队列依次可以包括:数据层监控消息发送队列、逻辑层监控消息发送队列和接入层监控消息发送队列。监控消息到达数据层之后,可以先输入至数据层监控消息发送队列,再依次输入逻辑层监控消息发送队列和接入层监控消息发送队列,最后从接入层监控消息发送队列发送出去。
本实施例提供的客户端消息的推送方法,服务器接收到客户端发送的消息后,如果判断出消息类型为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;如果判断出消息类型为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。从而实现提高服务器对与客户端交互消息的转发效率和转发质量。
图4为本发明提供的客户端消息的推送装置一个实施例的结构示意图,如图4所示,该装置包括:
接收模块41,用于接收客户端发送的消息;
判断模块42,用于判断消息的消息类型;
发送模块43,用于若判断模块判断出消息为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;若判断模块判断出消息为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
其中,与客户端进行的消息交互主要包括即时短消息和监控消息。即时短消息可以适用于客户端一对一通讯的实施场景,即,接收模块41接收到一个客户端发送的即时短消息后,发送模块43需要将该即时短消息发送给特定的一个客户端。即时短消息还可以适用于客户端一对多通讯的实施场景,即接收模块41接收到一个客户端发送的即时短消息后,发送模块43群发给多个客户端。
本发明实施例中,接收模块41接收到客户端发送的消息后,如果判断模块42判断出该消息的类型为即时短消息,则发送模块43并不解析该即时短消息的内容,而是直接将即时短消息从接收队列直接放置到短消息发送队列中进行发送,进入短消息发送队列中的短消息,按照进入该队列中的先后顺序依次发送,即以非阻塞模式进行消息的发送。如果判断模块42判断出接收到的消息是监控消息,则发送模块43可以截取客户端传输的字节流进行解析,将监控消息发送到监控消息发送队列中进行发送。需要说明的是,该监控消息发送队列是一个同步的队列。
在上述实施方式的基础上,作为一种较佳的实施例,对于即时短消息或者监控消息,都可以具有不同的优先级,可以实现按照优先级的顺序转发即时短消息或者监控消息。在该场景下,接收模块41接收到客户端发送的即时短消息后,发送模块43可以先确定即时短消息的优先级,再根据即时短消息的优先级将即时短消息输入至短消息发送队列中的对应位置,优先级较高的即时短消息可以放置到短消息发送队列中相对靠前的位置以实现优先发送,优先级较低的即时短消息可以放置到短消息发送队列中相对靠后的位置。类似的,接收模块41接收到监控消息后,发送模块43也可以先确定监控消息的优先级,再对监控消息进行字节流解析后,根据监控消息的优先级将监控消息输入至监控消息发送队列中的对应位置,优先级较高的监控消息可以放置到监控消息发送队列中相对靠前的位置以实现优先发送,优先级较低的监控消息可以放置到监控消息发送队列中相对靠后的位置。
另外,考虑到客户端转发大量消息的实施场景,如图2所示,可以将服务器端划分为接入层,逻辑层和数据层,其中,数据层可以具有内存存储功能和持久化存储功能,在上述每一层均可以具有接收队列和发送队列。
具体的:接收模块41在接入层接收客户端发送的消息之后,可以依次传输至逻辑层和数据层。如图3所示,短消息发送队列依次可以包括:数据层短消息发送队列、逻辑层短消息发送队列和接入层短消息发送队列;即时短消息到达数据层之后,发送模块43可以先输入至数据层短消息发送队列,再依次输入逻辑层短消息发送队列和接入层短消息发送队列,最后从接入层短消息发送队列发送出去。类似的,监控消息发送队列依次可以包括:数据层监控消息发送队列、逻辑层监控消息发送队列和接入层监控消息发送队列。监控消息到达数据层之后,发送模块43可以先输入至数据层监控消息发送队列,再依次输入逻辑层监控消息发送队列和接入层监控消息发送队列,最后从接入层监控消息发送队列发送出去。
本实施例提供的客户端消息的推送装置,服务器接收到客户端发送的消息后,如果判断出消息类型为即时短消息,则将即时短消息输入至短消息发送队列中进行发送;如果判断出消息类型为监控消息,则对监控消息进行字节流解析后输入至监控消息发送队列中进行发送。从而实现提高服务器对与客户端交互消息的转发效率和转发质量。
本发明还提供一种服务器实施例,该服务器包括本发明实施例提供的客户端消息的推送装置,该装置的结构及其对应功能可参见图4所示实施例中的相关描述,在此不再赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种客户端消息的推送方法,其特征在于,包括:
接收客户端发送的消息;
判断所述消息的消息类型;
若判断出所述消息为即时短消息,则将所述即时短消息输入至短消息发送队列中进行发送;若判断出所述消息为监控消息,则对所述监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
2.根据权利要求1所述的方法,其特征在于,所述将所述即时短消息输入至短消息发送队列中,具体为:
确定所述即时短消息的优先级;
根据所述即时短消息的优先级将所述即时短消息输入至所述短消息发送队列中的对应位置。
3.根据权利要求1所述的方法,其特征在于,所述对所述监控消息进行字节流解析后输入至监控消息发送队列中,具体为:
确定所述监控消息的优先级;
对所述监控消息进行字节流解析后,根据所述监控消息的优先级将所述监控消息输入至所述监控消息发送队列中的对应位置。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述接收客户端发送的消息,具体包括:在接入层接收所述客户端发送的消息,并依次传输至逻辑层和数据层;
所述短消息发送队列依次包括:数据层短消息发送队列、逻辑层短消息发送队列和接入层短消息发送队列;所述监控消息发送队列依次包括:数据层监控消息发送队列、逻辑层监控消息发送队列和接入层监控消息发送队列。
5.一种客户端消息的推送装置,其特征在于,包括:
接收模块,用于接收客户端发送的消息;
判断模块,用于判断所述消息的消息类型;
发送模块,用于若所述判断模块判断出所述消息为即时短消息,则将所述即时短消息输入至短消息发送队列中进行发送;若所述判断模块判断出所述消息为监控消息,则对所述监控消息进行字节流解析后输入至监控消息发送队列中进行发送。
6.根据权利要求5所述的装置,其特征在于,所述发送模块具体用于:确定所述即时短消息的优先级;根据所述即时短消息的优先级将所述即时短消息输入至所述短消息发送队列中的对应位置。
7.根据权利要求5所述的装置,其特征在于,所述发送模块具体用于:确定所述监控消息的优先级;对所述监控消息进行字节流解析后,根据所述监控消息的优先级将所述监控消息输入至所述监控消息发送队列中的对应位置。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述接收模块具体用于:在接入层接收所述客户端发送的消息,并依次传输至逻辑层和数据层;
所述短消息发送队列依次包括:数据层短消息发送队列、逻辑层短消息发送队列和接入层短消息发送队列;所述监控消息发送队列依次包括:数据层监控消息发送队列、逻辑层监控消息发送队列和接入层监控消息发送队列。
9.一种服务器,其特征在于,包括如权利要求5-8任一项所述的客户端消息的推送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400549.5A CN104426746A (zh) | 2013-09-05 | 2013-09-05 | 客户端消息的推送方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400549.5A CN104426746A (zh) | 2013-09-05 | 2013-09-05 | 客户端消息的推送方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104426746A true CN104426746A (zh) | 2015-03-18 |
Family
ID=52974746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310400549.5A Pending CN104426746A (zh) | 2013-09-05 | 2013-09-05 | 客户端消息的推送方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104426746A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616459A (zh) * | 2016-11-30 | 2018-10-02 | 天津易遨在线科技有限公司 | 一种能够提升消息发送速度的消息队列系统 |
CN108897631A (zh) * | 2018-06-27 | 2018-11-27 | 杭州贝店科技有限公司 | 消息推送方法、装置、设备及存储介质 |
CN113839856A (zh) * | 2021-11-25 | 2021-12-24 | 北京慧点科技有限公司 | 一种基于消息事务办公处理系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773923A (zh) * | 2004-11-09 | 2006-05-17 | 华为技术有限公司 | 游戏系统和游戏服务器及游戏系统中的消息处理方法 |
US20070041402A1 (en) * | 2005-08-16 | 2007-02-22 | Microsoft Corporation | Handling protocol non-compliant messages |
CN101690022A (zh) * | 2007-06-28 | 2010-03-31 | 汤姆森特许公司 | 用于对等直播流的基于队列的自适应块调度 |
-
2013
- 2013-09-05 CN CN201310400549.5A patent/CN104426746A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773923A (zh) * | 2004-11-09 | 2006-05-17 | 华为技术有限公司 | 游戏系统和游戏服务器及游戏系统中的消息处理方法 |
US20070041402A1 (en) * | 2005-08-16 | 2007-02-22 | Microsoft Corporation | Handling protocol non-compliant messages |
CN101690022A (zh) * | 2007-06-28 | 2010-03-31 | 汤姆森特许公司 | 用于对等直播流的基于队列的自适应块调度 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616459A (zh) * | 2016-11-30 | 2018-10-02 | 天津易遨在线科技有限公司 | 一种能够提升消息发送速度的消息队列系统 |
CN108897631A (zh) * | 2018-06-27 | 2018-11-27 | 杭州贝店科技有限公司 | 消息推送方法、装置、设备及存储介质 |
CN113839856A (zh) * | 2021-11-25 | 2021-12-24 | 北京慧点科技有限公司 | 一种基于消息事务办公处理系统 |
CN113839856B (zh) * | 2021-11-25 | 2022-02-15 | 北京慧点科技有限公司 | 一种基于消息事务办公处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103476062B (zh) | 一种数据流调度的方法、设备和系统 | |
CN102739560B (zh) | 即时通讯方法、系统和装置 | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
CN107615729A (zh) | 数据传输方法及通信装置 | |
CN102308531A (zh) | 多接入系统 | |
CN102368725A (zh) | 一种多网卡的数据接收方法及系统 | |
CN101977358A (zh) | 一种数据短信的传输方法、装置及设备 | |
CN107529186A (zh) | 多通道传输上行数据的方法及系统、客户端、服务器 | |
CN103546363A (zh) | 一种即时通信消息推送方法、装置及系统 | |
CN102340734A (zh) | 定位应用管理方法及装置 | |
CN104580013A (zh) | 一种快速选择接入点的网络通信方法及其系统 | |
CN103338144A (zh) | 一种会话数据同步方法和装置 | |
CN109889312A (zh) | 多链路数据传输方法、装置及计算机可读存储介质 | |
CN104426746A (zh) | 客户端消息的推送方法、装置和服务器 | |
CN102469529B (zh) | 一种资源分配的方法及多模控制器 | |
CN103780483A (zh) | 一种物联网终端设备的资源信息获取方法、系统及设备 | |
CN111327527B (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
CN104580095A (zh) | 一种获取api资源的方法及装置 | |
CN103560937A (zh) | 数据访问方法和入口服务器 | |
CN107612957A (zh) | 多通道传输下行数据的方法及系统、客户端、服务器 | |
CN101330664B (zh) | 多媒体业务的实现方法、系统和装置 | |
CN104350706A (zh) | Oam功率分组 | |
CN104980509A (zh) | 基于无线数据传输终端的无固定公网ip的数据传输方法 | |
CN104540105A (zh) | 一种移动信息上行及下行传递方法及系统 | |
CN105207795A (zh) | 一种物联网通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150318 |