CN105471700B - 一种消息处理的方法、装置和系统 - Google Patents
一种消息处理的方法、装置和系统 Download PDFInfo
- Publication number
- CN105471700B CN105471700B CN201410384182.7A CN201410384182A CN105471700B CN 105471700 B CN105471700 B CN 105471700B CN 201410384182 A CN201410384182 A CN 201410384182A CN 105471700 B CN105471700 B CN 105471700B
- Authority
- CN
- China
- Prior art keywords
- user
- message
- group
- information
- sent
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000000354 decomposition reaction Methods 0.000 claims description 83
- 238000003672 processing method Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 69
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种消息处理的方法,包括:接收消息分解服务器发送的获取组用户信息请求,获取组用户信息请求是消息分解服务器在获取到消息推送任务后发送的,且获取用户信息请求中包括用户组ID;提取获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与用户组ID匹配的用户列表,并将获得的用户列表发送给消息分解服务器;其中,用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,优先级信息用以表征向用户推送消息的优先级。本发明还公开了一种消息处理装置和系统。
Description
技术领域
本发明涉及网络消息传输技术领域,尤其涉及一种消息处理的方法、装置和系统。
背景技术
目前各种网络应用都存在向用户推送消息的需求,现有的消息推送机制是基于连接进行的,当需要向大量用户推送消息时,将消息发向所有用户连接的服务器,然后所述连接的服务器再向符合要求的用户发送相应消息。然而,这种基于连接的消息推送机制,其消息的发送不灵活,无法有区分的控制消息向不同用户发送的先后顺序,更无法灵活实现丰富的消息推送策略。
发明内容
为解决现有存在的技术问题,本发明提供一种消息处理的方法、装置和系统。
本发明提供了一种消息处理的方法,所述方法包括:
接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组标识ID;
提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级。
其中,所述用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述方法还包括:
在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对所述用户分组信息库中特定用户组的删除指令时,依据指令中携带的组ID,删除所述用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
其中,所述方法进一步包括:
所述用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;且依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
本发明还提供了一种消息处理的方法,所述方法包括:
在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
其中,所述依据用户列表和获得的待发消息进行消息分解处理,包括:
将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
其中,所述按各用户的优先级信息和状态信息发送待发消息,包括:
按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
其中,所述按各用户的优先级信息和状态信息发送待发消息,包括:
根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
本发明还提供了一种消息处理的装置,所述装置包括:
数据库管理单元,用于管理维护用户分组信息库;
第一接收单元,用于接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组标识ID;
提取查找单元,用于提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
第一发送单元,用于将获得的用户列表发送给所述消息分解服务器。
其中,所述用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述数据库管理单元进一步用于,在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对所述用户分组信息库中特定用户组的删除指令时,依据指令中携带的组ID,删除所述用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
其中,所述用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;
所述数据库管理单元进一步用于,依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
本发明还提供了一种消息处理的装置,所述装置包括:
第二发送单元,用于在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
第二接收单元,用于接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
消息分解单元,用于依据所述用户列表和获得的待发消息进行消息分解处理;
第三发送单元,用于按各用户的优先级信息和状态信息发送分解处理后的待发消息。
其中,所述消息分解单元进一步用于,将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
其中,所述第三发送单元进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
其中,所述第三发送单元进一步用于,根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
本发明还提供了一种消息处理的系统,所述系统包括:用户包管理服务器和消息分解服务器,其中,
所述用户包管理服务器,用于管理维护用户分组信息库,所述用户分组信息库中包括各个用户组,每个用户组由所述组标识ID唯一的标识,且每个用户组中包括用户列表;还用于在收到所述消息分解服务器发送的获取组用户信息请求时,提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
所述消息分解服务器,用于在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组ID;还用于接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
其中,所述系统还包括:用户客户端的连接服务器,用于向所述用户包管理服务器提供用户分组信息库中各用户的状态信息,在用户的状态信息发生改变时向所述用户包管理服务器上报更新状态信息;
所述用户包管理服务器进一步用于,依据所述连接服务器上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
其中,所述系统还包括:离线消息服务器,
所述消息分解服务器进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器;
所述离线消息服务器进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器;
所述连接服务器进一步用于,维护到每个所述用户客户端的连接池,将收到的待发消息发送到相应的用户客户端。
其中,所述系统还包括:离线消息服务器,
所述消息分解服务器进一步用于,根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到在线用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器;
所述离线消息服务器进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器;
所述连接服务器进一步用于,维护到每个所述用户客户端的连接池,将收到的待发消息发送到相应的用户客户端。
本发明提供的一种消息处理的方法、装置和系统,在特定的消息推送架构下,其消息的推送基于用户的优先级信息或更丰富的策略来实现,实现了对消息推送的灵活控制,从而满足不同的应用需求;实现差别化的消息推送控制,也有利于优化网络资源配置。
附图说明
图1为本发明实施例一的消息处理的系统结构示意图;
图2为本发明实施例二的消息处理的装置结构示意图;
图3为本发明实施例三的消息处理的装置结构示意图;
图4为本发明实施例四的消息处理的方法流程图;
图5为本发明实施例五的消息处理的方法流程图;
图6为本发明实施例六的消息处理的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
为实现灵活的消息推送以及丰富的消息推送策略,本发明实施例一提供的一种消息处理系统,如图1所示,该系统主要包括:用户包管理服务器10和消息分解服务器20,其中,
用户包管理服务器10,用于管理维护用户分组信息库,所述用户分组信息库中包括各个用户组,每个用户组由所述组标识(ID)唯一的标识,且每个用户组中包括用户列表;所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
用户包管理服务器10还用于在收到所述消息分解服务器20发送的获取组用户信息请求时,提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器20;
消息分解服务器20,用于在获取到消息推送任务后向用户包管理服务器10发送获取组用户信息请求,所述请求中包括用户组ID;还用于接收所述用户包管理服务器10发送的与所述组ID匹配的用户列表,依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。消息分解服务器20通过其应用程序接口(API,Application Program Interface)获得消息推送任务,消息推送任务中包括需要进行推送的待发消息,以及需要推送的用户组ID。
需要说明的是,本发明实施例提供的用户包管理服务器10负责管理和维护接收消息的用户,将用户进行分组管理,每个分组中有一个用户列表,该列表中可以包含某个网络应用的全部或部分用户的ID;用户包管理服务器10提供增、删、改、查的接口,用于应用维护每个分组中的用户,以实现对每个分组中的用户的状态信息、优先级信息等的调整,并可以实时增加和删除分组中的用户。除此之外,用户包管理服务器10还提供新建用户组、删除用户组的操作。
具体的,在获得针对用户分组信息库中特定用户组的信息项增加指令时,用户包管理服务器10依据指令中携带的组ID,在相应用户组中的用户列表中增加指令中指示的信息项;或者,
在获得针对用户分组信息库中特定用户组的信息项删除指令时,用户包管理服务器10依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对用户分组信息库中特定用户组的信息项修改指令时,用户包管理服务器10依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对用户分组信息库中特定用户组的信息项查询指令时,用户包管理服务器10依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对用户分组信息库中特定用户组的删除指令时,用户包管理服务器10依据指令中携带的组ID,删除用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
较佳的,消息分解服务器20进一步用于采用以下消息分解处理的方式:将待发消息与用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。也就是说,假设用户列表中有N个用户,那么在向某用户发送所述待发消息时,需要将待发消息的内容与相应用户的地址进行封装后发送。
较佳的,本发明实施例的系统还包括:用户客户端的连接服务器30,用于向用户包管理服务器10提供用户分组信息库中各用户的状态信息,在用户的状态信息发生改变(上线、下线)时向用户包管理服务器10上报更新状态信息;
用户包管理服务器10进一步用于,依据连接服务器30上报的更新状态信息,对用户分组信息库中相应用户的状态信息进行更新。
较佳的,本发明实施例的系统包括:离线消息服务器40,
消息分解服务器20进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器40;
离线消息服务器40进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器30;
连接服务器30进一步用于,维护到每个用户客户端50的连接池,将收到的待发消息发送到相应的用户客户端50。连接服务器30在其连接的客户端的用户状态信息发生改变时向用户包管理服务器10上报更新状态信息。
较佳的,本发明实施例的系统包括:离线消息服务器40,
消息分解服务器20进一步用于,根据用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到在线用户客户端的连接服务器30;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器40;
离线消息服务器40进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将待发消息发送给上线的用户客户端的连接服务器30;
所述连接服务器30进一步用于,维护到每个用户客户端50的连接池,将收到的待发消息发送到相应的用户客户端50。连接服务器30在其连接的客户端的用户状态信息发生改变时向用户包管理服务器10上报更新状态信息。
实施例二
在实施例一所述消息处理系统的基础上,本发明实施例二还提供了一种消息处理的装置,该消息处理装置可应用于用户包管理服务器10中,如图2所示,该装置包括:
数据库管理单元11,用于管理维护用户分组信息库;
第一接收单元12,用于接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组标识ID;
提取查找单元13,连接数据库管理单元11和第一接收单元12,用于提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
第一发送单元14,连接提取查找单元13,用于将获得的用户列表发送给所述消息分解服务器。
较佳的,用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述数据库管理单元11进一步用于,在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组中的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组中的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组中的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组中的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
较佳的,所述用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;
数据库管理单元11进一步用于,依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
需要说明的是,上述数据库管理单元11、提取查找单元13可以由用户包管理服务器10的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro ProcessingUnit)或数字信号处理器(DSP,Digital Signal Processor)实现;第一接收单元12和第一发送单元14可以由用户包管理服务器10的通信功能芯片实现。
实施例三
在实施例一所述消息处理系统的基础上,本发明实施例三还提供了一种消息处理的装置,该消息处理装置可应用于消息分解服务器20中,如图3所示,该装置包括:
第二发送单元21,用于在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
第二接收单元22,连接第二发送单元21,用于接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
消息分解单元23,连接第二接收单元22,用于依据所述用户列表和获得的待发消息进行消息分解处理;
第三发送单元24,连接消息分解单元23,用于按各用户的优先级信息和状态信息发送分解处理后的待发消息。
较佳的,消息分解单元23进一步用于,将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
较佳的,第三发送单元24进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
较佳的,第三发送单元24进一步用于,根据用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
需要说明的是,上述消息分解单元23可以由消息分解服务器20的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processing Unit)或数字信号处理器(DSP,Digital Signal Processor)实现;第二发送单元21、第二接收单元22和第三发送单元24可以由消息分解服务器20的通信功能芯片实现。
实施例四
本发明实施例四还提供了一种由用户包管理服务器实现的消息处理的方法,如图4所示,所述方法主要包括:
步骤401,用户包管理服务器接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组ID;
步骤402,用户包管理服务器提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级。
其中,用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述方法还包括:
在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对所述用户分组信息库中特定用户组的删除指令时,依据指令中携带的组ID,删除所述用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
较佳的,所述方法进一步包括:
用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;且依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
实施例五
本发明实施例五还提供了一种由消息分解服务器实现的消息处理的方法,如图5所示,所述方法主要包括:
步骤501,消息分解服务器在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
步骤502,接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
步骤503,依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
较佳的,依据用户列表和获得的待发消息进行消息分解处理,包括:
将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
较佳的,按各用户的优先级信息和状态信息发送待发消息,可以包括:
按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
较佳的,按各用户的优先级信息和状态信息发送待发消息,也可以包括:
根据用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
实施例六
基于实施例一所示的消息处理系统的实现架构,本发明实施例六提供了一种详细的消息处理方法流程,如图6所示,该流程主要包括:
步骤601,消息分解服务器在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组ID。
消息分解服务器通过其API接口获得消息推送任务,该任务指明了要向哪个用户组推送消息,以及推送的消息内容是什么。也就是说,获取组用户信息请求中携带的用户组ID,是用户包管理服务器的用户分组信息库中已经存在的用户组ID,其对应有用户组。
步骤602,用户包管理服务器接收到消息分解服务器发送的获取组用户信息请求后,提取所述获取组用户信息请求中的用户组ID,从自身维护的用户分组信息库中查找与所述用户组ID匹配的用户列表。
其中,用户包管理服务器维护的用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级。优先级信息的设置依据可以有多种,例如:按用户所在地区设置不同的优先级信息,或者,按用户的年龄段设置不同的优先级信息等等。本发明实施例不对优先级信息的设置方式进行限制,实际应用中任何能够用于优先级信息的设置方式应当都属于本发明实施例的保护范围内。
用户包管理服务器对外提供增、删、改、查的接口,以供技术人员通过该接口进行信息项的增、删、改、查,以及用户组的新建、删除等操作。具体的,
当用户包管理服务器通过上述接口获得新建用户组指令时,用户包管理服务器生成新建用户组的组ID,并获得新建用户组中的用户ID、地址、状态信息和优先级信息,依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,再依据所述用户列表和组ID构建用户组;其中,用户组中的用户ID和地址可以由技术人员从用户分组信息库的原始数据中进行选择,状态信息由用户客户端的连接服务器提供,且在用户的状态信息发生改变(上线、下线)时,连接服务器会向用户包管理服务器上报更新状态信息,从而使用户包管理服务器能够依据连接服务器上报的更新状态信息,对用户分组信息库中相应用户的状态信息进行更新;优先级信息可以由技术人员进行设置;
当用户包管理服务器通过上述接口获得针对用户分组信息库中特定用户组的删除指令时,用户包管理服务器会依据指令中携带的组ID,查找用户分组信息库中匹配的用户组,并将该用户组从用户分组信息库中删除,所述删除是指删除与该用户组相关的所有信息,至少包括用户列表、以及组ID;
当用户包管理服务器通过上述接口获得针对用户分组信息库中特定用户组的信息项增加指令时,用户包管理服务器会依据指令中携带的组ID,查找用户分组信息库中匹配的用户组,并按照增加指令中的指示,在匹配的用户组的用户列表中增加相应的信息项,包括以下至少之一:用户ID、地址、状态信息、优先级信息;
当用户包管理服务器通过上述接口获得针对用户分组信息库中特定用户组的信息项删除指令时,用户包管理服务器会依据指令中携带的组ID,查找用户分组信息库中匹配的用户组,并按照删除指令中的指示,在匹配的用户组的用户列表中删除相应的信息项,包括以下至少之一:用户ID、地址、状态信息、优先级信息;
当用户包管理服务器通过上述接口获得针对用户分组信息库中特定用户组的信息项修改指令时,用户包管理服务器会依据指令中携带的组ID,查找用户分组信息库中匹配的用户组,并按照修改指令中的指示,在匹配的用户组的用户列表中修改相应的信息项,包括以下至少之一:用户ID、地址、状态信息、优先级信息;
当用户包管理服务器通过上述接口获得针对用户分组信息库中特定用户组的信息项查询指令时,用户包管理服务器会依据指令中携带的组ID,查找用户分组信息库中匹配的用户组,并在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果。
步骤603,用户包管理服务器将获得的用户列表发送给消息分解服务器。
步骤604,消息分解服务器依据收到的用户列表和获得的待发消息进行消息分解处理。其中,待发消息可以由消息分解服务器从消息推送任务中获得。
具体分解处理方式可以为:将待发消息与用户列表中的所有N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
也就是说,将原来的一条待发消息对应一个用户列表,分解并封装为N条待发消息分别对应用户列表中的N个用户地址,以便于分别向各个用户发送所述待发消息。
步骤605,消息分解服务器按各用户的优先级信息和状态信息发送分解处理后的待发消息。
步骤605包括两种情形:
步骤605a,按优先级从高到低的顺序依次发送所述N条待发消息,且在发送所述待发消息时,若所述状态信息表征用户在线,则将所述待发消息按优先级顺序发送到相应用户客户端的连接服务器;
步骤605b,按优先级从高到低的顺序依次发送所述N条待发消息,且在发送所述待发消息时,若所述状态信息表征用户不在线,则将所述待发消息发送到离线消息服务器;离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给相应用户客户端的连接服务器。其中,连接服务器在用户状态信息发生改变时,会通知离线消息服务器。
当然,步骤605并非仅限于上述605a和605b的实现情形;优选的,消息分解服务器也可以先根据用户列表中所有用户的状态信息区分出在线用户和不在线用户,对于在线用户,消息分解服务器按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,消息分解服务器可以批量发送相应用户的待发消息到离线消息服务器,以供离线消息服务器对收到的待发消息进行暂存、并在用户上线时将待发消息发送给上线的用户客户端的连接服务器。也就是说,对于在线用户,消息分解服务器可以按其优先级顺序进行消息推送;而对于离线消息,由于是延迟发送,因此离线用户的优先级显得不再重要,可以忽略,消息分解服务器可以向离线消息服务器批量的发送离线用户的待发消息,并且可以默认离线用户的优先级低于在线用户的优先级,从而保证在线用户优先收到所述待发消息。另外,消息分解服务器批量的向离线消息服务器发送离线用户的待发消息,也可以避免对消息发送资源的长期占用,有利于优化系统性能。
作为另一种优选的实施方式,消息分解服务器在向所述连接服务器发送在线用户的待发消息时,也可以采用批量发送的方式,例如:按用户列表中的在线用户的优先级排列顺序,每次选取若干数量的用户进入批量发送集合,并同时向所述批量发送集合内的用户客户端的连接服务器批量的发送所述待发消息。当然,属于同一批量发送集合的用户的优先级可以视为相同,因为属于该集合内的用户的待发消息是批量发送的。通过批量发送消息,可以避免对消息发送资源的长期占用,有利于优化系统性能。
另外,对于离线用户,在其上线时,其客户端所连接的连接服务器会向离线消息服务器请求获取该用户的离线消息,那么所述离线消息服务器在收到针对该用户的离线消息请求后,即能够获知该用户的状态已变为在线。
作为一种优选的实施方式,所述连接服务器也可以批量的向离线消息服务器请求获取离线消息,例如:当某连接服务器上从离线改变为上线的用户的数量达到一定阈值时,所述连接服务器向离线消息服务器批量的请求这些刚上线的用户的离线消息;再例如:某连接服务器每间隔一定的时间段,向离线消息服务器批量的请求在此时间段内从离线改变为上线的用户的离线消息。
需要说明的是,通过连接服务器批量从离线消息服务器获取用户的离线消息,可以避免对传输资源的长期占用,有利于优化系统性能。
步骤606,用户客户端的连接服务器在收到待发消息时,按地址发送到相应的用户客户端。
如果连接服务器在发送待发消息时,发现相应的用户状态变为离线,则将所述待发消息发送到离线消息服务器;离线消息服务器对收到的待发消息进行暂存、并在获知用户重新上线时将所述待发消息发送给相应用户客户端的连接服务器,再由用户客户端的连接服务器按地址发送到相应的用户客户端。
综上所述,本发明实施例在特定的消息推送架构下,其消息的推送基于用户的优先级信息或更丰富的策略来实现,实现了对消息推送的灵活控制,从而满足不同的应用需求。例如:通过控制推送消息的先后顺序,能够保证优先级高的用户在最快的时间内收到消息,而优先级低的用户可以在稍后的时间内收到消息。实现差别控制,也有利于优化网络资源配置,避免在同一时间段内发送大量消息而过多的占用网络资源,造成网络拥塞。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (18)
1.一种消息处理的方法,其特征在于,所述方法包括:
接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组标识ID;
提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;所述用户列表用于指示所述消息分解服务器基于所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
2.根据权利要求1所述消息处理的方法,其特征在于,所述用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述方法还包括:
在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对所述用户分组信息库中特定用户组的删除指令时,依据指令中携带的组ID,删除所述用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
3.根据权利要求1或2所述消息处理的方法,其特征在于,所述方法进一步包括:
所述用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;且依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
4.一种消息处理的方法,其特征在于,所述方法包括:
在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
5.根据权利要求4所述消息处理的方法,其特征在于,所述依据用户列表和获得的待发消息进行消息分解处理,包括:
将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
6.根据权利要求4或5所述消息处理的方法,其特征在于,所述按各用户的优先级信息和状态信息发送待发消息,包括:
按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
7.根据权利要求4或5所述消息处理的方法,其特征在于,所述按各用户的优先级信息和状态信息发送待发消息,包括:
根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
8.一种消息处理的装置,其特征在于,所述装置包括:
数据库管理单元,用于管理维护用户分组信息库;
第一接收单元,用于接收消息分解服务器发送的获取组用户信息请求,所述获取组用户信息请求是所述消息分解服务器在获取到消息推送任务后发送的,且所述获取用户信息请求中包括用户组标识ID;
提取查找单元,用于提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
第一发送单元,用于将获得的用户列表发送给所述消息分解服务器;所述用户列表用于指示所述消息分解服务器基于所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
9.根据权利要求8所述消息处理的装置,其特征在于,所述用户分组信息库中包括各个用户组,每个用户组由所述组ID唯一的标识,且每个用户组中包括用户列表;
所述数据库管理单元进一步用于,在获得针对所述用户分组信息库中特定用户组的信息项增加指令时,依据指令中携带的组ID,在相应用户组的用户列表中增加指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项删除指令时,依据指令中携带的组ID,在相应用户组的用户列表中删除指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项修改指令时,依据指令中携带的组ID,在相应用户组的用户列表中修改指令中指示的信息项;或者,
在获得针对所述用户分组信息库中特定用户组的信息项查询指令时,依据指令中携带的组ID,在相应用户组的用户列表中查询指令中指示的信息项并返回查询结果;或者,
在获得针对所述用户分组信息库中特定用户组的删除指令时,依据指令中携带的组ID,删除所述用户分组信息库中的相应用户组;或者,
在获得新建用户组指令时,生成新建用户组的组ID,获得新建用户组中的用户ID、地址、状态信息和优先级信息,并依据所述用户ID、地址、状态信息和优先级信息构建新建用户组的用户列表,依据所述用户列表和组ID构建用户组。
10.根据权利要求8或9所述消息处理的装置,其特征在于,所述用户分组信息库中各用户的状态信息,由相应用户客户端的连接服务器提供;
所述数据库管理单元进一步用于,依据所述连接服务器在用户的状态信息发生改变时上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
11.一种消息处理的装置,其特征在于,所述装置包括:
第二发送单元,用于在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组标识ID;
第二接收单元,用于接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
消息分解单元,用于依据所述用户列表和获得的待发消息进行消息分解处理;
第三发送单元,用于按各用户的优先级信息和状态信息发送分解处理后的待发消息。
12.根据权利要求11所述消息处理的装置,其特征在于,所述消息分解单元进一步用于,将所述待发消息与所述用户列表中的N个用户地址分别进行封装,得到N条由各用户地址封装的待发消息;其中,每一条待发消息对应一个用户地址,N为正整数。
13.根据权利要求11或12所述消息处理的装置,其特征在于,所述第三发送单元进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
14.根据权利要求11或12所述消息处理的装置,其特征在于,所述第三发送单元进一步用于,根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器,以供所述离线消息服务器对收到的待发消息进行暂存、并在用户上线时将所述待发消息发送给上线的用户客户端的连接服务器。
15.一种消息处理的系统,其特征在于,所述系统包括:用户包管理服务器和消息分解服务器,其中,
所述用户包管理服务器,用于管理维护用户分组信息库,所述用户分组信息库中包括各个用户组,每个用户组由所述组标识ID唯一的标识,且每个用户组中包括用户列表;还用于在收到所述消息分解服务器发送的获取组用户信息请求时,提取所述获取组用户信息请求中的用户组ID,从维护的用户分组信息库中查找与所述用户组ID匹配的用户列表,并将获得的用户列表发送给所述消息分解服务器;其中,所述用户列表由至少一个用户的信息项组成,每个用户的信息项中包括相应用户的ID、地址、状态信息和优先级信息,所述优先级信息用以表征向所述用户推送消息的优先级;
所述消息分解服务器,用于在获取到消息推送任务后向用户包管理服务器发送获取组用户信息请求,所述请求中包括用户组ID;还用于接收所述用户包管理服务器发送的与所述组ID匹配的用户列表,依据所述用户列表和获得的待发消息进行消息分解处理,并按各用户的优先级信息和状态信息发送所述待发消息。
16.根据权利要求15所述消息处理的系统,其特征在于,所述系统还包括:用户客户端的连接服务器,用于向所述用户包管理服务器提供用户分组信息库中各用户的状态信息,在用户的状态信息发生改变时向所述用户包管理服务器上报更新状态信息;
所述用户包管理服务器进一步用于,依据所述连接服务器上报的更新状态信息,对所述用户分组信息库中相应用户的状态信息进行更新。
17.根据权利要求16所述消息处理的系统,其特征在于,所述系统还包括:离线消息服务器,
所述消息分解服务器进一步用于,按优先级从高到低的顺序依次发送待发消息,且在发送所述待发消息时,根据相应用户的状态信息判断所述用户在线时,将所述用户的待发消息发送到在线用户客户端的连接服务器;根据相应用户的状态信息判断所述用户不在线时,将所述用户的待发消息发送到离线消息服务器;
所述离线消息服务器进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器;
所述连接服务器进一步用于,维护到每个所述用户客户端的连接池,将收到的待发消息发送到相应的用户客户端。
18.根据权利要求16所述消息处理的系统,其特征在于,所述系统还包括:离线消息服务器,
所述消息分解服务器进一步用于,根据所述用户列表中所有用户的状态信息区分在线用户和不在线用户,对于在线用户,按优先级从高到低的顺序依次发送相应用户的待发消息到在线用户客户端的连接服务器;对于不在线用户,批量发送相应用户的待发消息到离线消息服务器;
所述离线消息服务器进一步用于,对收到的待发消息进行暂存、并在获知用户上线时将所述待发消息发送给上线的用户客户端的连接服务器;
所述连接服务器进一步用于,维护到每个所述用户客户端的连接池,将收到的待发消息发送到相应的用户客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410384182.7A CN105471700B (zh) | 2014-08-06 | 2014-08-06 | 一种消息处理的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410384182.7A CN105471700B (zh) | 2014-08-06 | 2014-08-06 | 一种消息处理的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105471700A CN105471700A (zh) | 2016-04-06 |
CN105471700B true CN105471700B (zh) | 2019-09-20 |
Family
ID=55609005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410384182.7A Active CN105471700B (zh) | 2014-08-06 | 2014-08-06 | 一种消息处理的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105471700B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547601B (zh) * | 2016-06-29 | 2020-12-11 | 上海连尚网络科技有限公司 | 用于消息发送的方法及路由设备、服务器、系统 |
CN108241616B (zh) * | 2016-12-23 | 2023-07-25 | 阿里巴巴集团控股有限公司 | 消息推送方法和装置 |
CN111953581B (zh) * | 2020-07-20 | 2022-09-09 | 上海淇馥信息技术有限公司 | 一种管理模板消息任务的方法、装置和电子设备 |
CN112206509A (zh) * | 2020-10-12 | 2021-01-12 | 上海酷量信息技术有限公司 | 一种根据服务器状态动态发送通知的系统和方法 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
CN114866597B (zh) * | 2022-07-11 | 2022-11-11 | 广东睿江云计算股份有限公司 | 一种分组管理客户端连接方法以及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7895273B1 (en) * | 2003-01-23 | 2011-02-22 | Sprint Spectrum L.P. | System and method for sorting instant messages |
CN100365975C (zh) * | 2004-06-25 | 2008-01-30 | 深圳市傲天通信有限公司 | 互联网网页信息推送系统 |
CN101657006B (zh) * | 2008-08-21 | 2012-07-04 | 华为技术有限公司 | 一种根据用户状态选择用户的方法、装置和系统 |
CN101394374A (zh) * | 2008-11-11 | 2009-03-25 | 腾讯科技(深圳)有限公司 | 共享用户信息、分布式即时通信的方法及其系统和装置 |
-
2014
- 2014-08-06 CN CN201410384182.7A patent/CN105471700B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105471700A (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105471700B (zh) | 一种消息处理的方法、装置和系统 | |
US11513846B1 (en) | Distributed data acquisition, indexing and search system | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
US20140089619A1 (en) | Object replication framework for a distributed computing environment | |
CN110995513B (zh) | 物联网系统中的数据发送、接收方法、物联网设备及平台 | |
CN108062243B (zh) | 执行计划的生成方法、任务执行方法及装置 | |
JP2020523700A (ja) | 分散型検索及びインデックスの更新方法、システム、サーバー並びにコンピューター機器 | |
US10747607B2 (en) | Techniques for dynamic throttling in batched bulk processing | |
CN108881354A (zh) | 一种推送信息存储方法、装置、服务器和计算机存储介质 | |
CN106657371B (zh) | 一种传输节点的调度方法和装置 | |
CN108540505B (zh) | 一种内容更新方法及装置 | |
CN106686101B (zh) | 一种流数据的传输集群的调度方法和装置 | |
CN110971533B (zh) | 用于数据通信的方法、服务器装置、客户端装置和介质 | |
CN113268540B (zh) | 一种数据同步的方法及装置 | |
CN106209680B (zh) | 信息处理装置以及信息处理方法 | |
CN108011870B (zh) | 一种软件远程在线升级信息自动识别管理方法 | |
CN116028196A (zh) | 数据处理方法、装置及存储介质 | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储系统 | |
CN113849450A (zh) | 一种信息处理方法和信息处理装置 | |
CN111294553B (zh) | 处理视频监控业务信令的方法、装置、设备和存储介质 | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 | |
CN104022896A (zh) | 一种配置管理方法、装置及网络设备 | |
CN108156086B (zh) | 一种策略规则下发方法及装置 | |
US20110055279A1 (en) | Application server, object management method, and object management program | |
CN117793095A (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 |