消息推送方法及系统.pdf

上传人:1*** 文档编号:628122 上传时间:2018-02-27 格式:PDF 页数:15 大小:1.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410383996.9

申请日:

2014.08.06

公开号:

CN104104591A

公开日:

2014.10.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):H04L 12/58登记生效日:20160205变更事项:申请人变更前权利人:携程计算机技术(上海)有限公司变更后权利人:上海携程商务有限公司变更事项:地址变更前权利人:200335 上海市长宁区福泉路99号携程网络技术大楼变更后权利人:200335 上海市长宁区金钟路968号16号楼10楼|||实质审查的生效IPC(主分类):H04L 12/58申请日:20140806|||公开

IPC分类号:

H04L12/58; H04L29/08; G06F17/30

主分类号:

H04L12/58

申请人:

携程计算机技术(上海)有限公司

发明人:

梁星元; 何伟立

地址:

200335 上海市长宁区福泉路99号携程网络技术大楼

优先权:

专利代理机构:

上海弼兴律师事务所 31283

代理人:

薛琦;王聪

PDF下载: PDF下载
内容摘要

本发明提供一种消息推送方法及系统,方法包括:消息推送接口接收外部发送来的推送消息存至消息数据库;消息发送单元比较消息数据库中存储的推送消息的发送优先级,按照发送优先级由高至低的顺序依次获取推送消息;针对每一推送消息:判断出用户终端的渠道存在于渠道信息中的渠道时,消息发送单元将推送消息转换为与通信服务器的通信协议匹配的发送信息;通信服务器按照渠道优先级由高至低的顺序依次将发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;每一匹配的渠道适配器将发送信息适配成与自身通信协议匹配的消息,并将其通过匹配的渠道适配器对应的渠道发送至用户终端中。本发明方便推送消息,节约时间和成本。

权利要求书

1.  一种消息推送方法,其特征在于,其包括以下步骤:
S1、一消息推送接口接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
S2、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;
针对获取的每一推送消息实施的操作:
S3、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中,则进入步骤S4
S4、该消息发送单元将该推送消息转换为与一通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;
S5、该通信服务器按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
S6、每一匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息;
S7、每一匹配的渠道适配器将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中,结束流程。

2.
  如权利要求1所述的消息推送方法,其特征在于,在步骤S5中,该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;
S7、该匹配的渠道适配器将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。

3.
  如权利要求1所述的消息推送方法,其特征在于,该消息推送方法还包括:
S1’、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
S2’、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
S3’、每一匹配的渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
S4’、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。

4.
  如权利要求1所述的消息推送方法,其特征在于,在消息发送单元为多个时,在步骤S2中,该些消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。

5.
  如权利要求1所述的消息推送方法,其特征在于,该消息发送单元以多线程的方式发送依次获取的推送消息;和/或,该通信服务器的通信协议为XMPP协议。

6.
  如权利要求1所述的消息推送方法,其特征在于,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板,在步骤S7中,每一匹配的渠道适配器将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。

7.
  如权利要求1所述的消息推送方法,其特征在于,在步骤S3中,若该用户终端的渠道不存在于该渠道信息中的渠道中,则进入步骤S8
S8、该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。

8.
  一种消息推送系统,其特征在于,其包括一消息推送接口、一消息数据库、一消息发送单元、一用户渠道数据库、一通信服务器、至少一渠道适配器、至少一渠道以及至少一用户终端;
该消息推送接口用于接收外部发送来的推送消息,并将该些推送消息存储至该消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
该消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;
针对获取的每一推送消息实施的操作:
该消息发送单元用于判断该用户数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在于该渠道信息中的渠道中时,该消息发送单元还用于将该推送消息转换为与该通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;
该通信服务器用于按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
每一匹配的渠道适配器用于将该发送信息适配成与自身通信协议相匹配的消息,并将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中。

9.
  如权利要求8所述的消息推送系统,其特征在于,该通信服务器用于将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;
该匹配的渠道适配器用于将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。

10.
  如权利要求8所述的消息推送系统,其特征在于,该消息推送系统 还包括一快捷接口,该快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
该通信服务器用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
每一匹配的渠道适配器用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
每一匹配的渠道适配器用于将与自身通信协议相匹配的紧急消息发送至该用户终端。

11.
  如权利要求8所述的消息推送系统,其特征在于,在消息发送单元为多个时,该些消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。

12.
  如权利要求8所述的消息推送系统,其特征在于,该消息发送单元以多线程的方式发送依次获取的推送消息;和/或,该通信服务器的通信协议为XMPP协议。

13.
  如权利要求8所述的消息推送系统,其特征在于,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板;每一匹配的渠道适配器用于将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。

14.
  如权利要求8所述的消息推送系统,其特征在于,该消息发送单元用于在判断出该用户终端的渠道不存在于该渠道信息中的渠道中时,发送一预推送至该用户终端的消息推送失败的信息至外部。

说明书

消息推送方法及系统
技术领域
本发明涉及一种消息推送方法和消息推送系统,特别涉及一种利用XMPP(可扩展通讯和表示协议)协议实现的多通道的消息推送方法和消息推送系统。
背景技术
随着移动互联网的发展,用于用户相互之间沟通的渠道越来越多,例如:微信、短信、无线APP(应用)、GTalk(Google Talk,谷歌公司开发的即时通讯工具)、微博等,当某一推送者有推送消息需要通知用户时,可选择的通信渠道有很多,若对每种通信渠道都提供不同的通信协议和接口方式,则推送者推送起消息来操作很麻烦,耗费的时间会很长,且协议接口众多难以管理维护。
发明内容
本发明要解决的技术问题是为了克服现有技术中推送消息的方式操作麻烦、耗费时间长以及接口多而难以维护的缺陷,提供一种方便推送消息、节约时间和成本的消息推送方法及系统。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种消息推送方法,其特点在于,其包括以下步骤:
S1、一消息推送接口接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
S2、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;
针对获取的每一推送消息实施的操作:
S3、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中,则进入步骤S4
S4、该消息发送单元将该推送消息转换为与一通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;
S5、该通信服务器按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
S6、每一匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息;
S7、每一匹配的渠道适配器将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中,结束流程。
消息推送接口不断地接收外部发送来的推送消息,并将这些推送消息存储在消息数据库中,每一个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级、渠道信息和至少一用户终端(即发送对象),渠道信息包括多个渠道(例如微信、短信、微博等渠道)和与每一渠道对应的渠道优先级(即规定先通过何种渠道发送该消息内容再通过何种渠道发送该消息内容)。
消息发送单元比较消息数据库中存储的各推送消息的发送优先级,由此确定该些推送消息的先后待发送顺序,并按照先后待发送顺序依次获取该些推送消息,即按照发送优先级由高至低的顺序依次获取存储的推送消息。
消息发送单元按照先后待发送顺序依次获取该些推送消息后,需要判断用户渠道数据库中存储的该些用户终端中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该些用户终端中的某一用户终端的渠道存在于该渠道信息中的渠道中,则说明该用户终端最终能够接收到推送消息,若该些用户终端中的某一用户终端的渠道不存在于该渠道信息中的渠道中,则说明该用户终端最终无法接收到推送消息。
消息发送单元将待发送的推送消息转换为与通信服务器的通信协议相匹配的发送信息使得该发送信息能够顺利地传输至通信服务器,通信服务器按照渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上,例如渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,则通信服务器先将该发送消息发送至微信渠道所匹配的微信适配器,再将该发送消息发送至微博渠道所匹配的微博适配器,最后将该发送消息发送至短信渠道所匹配的短信适配器。
每一个匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息,再将与自身通信协议相匹配的消息通过该用户终端的渠道中与该匹配的渠道适配器对应的渠道发送至该用户终端中。例如,渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,某一用户终端中的渠道有微信和短信,则微信适配器将该发送信息适配成与微信通信协议相匹配的消息,再将与微信通信协议相匹配的消息通过微信渠道发送至用户终端;其后,微博适配器将该发送信息适配成与微博通信协议相匹配的消息,但由于用户终端的渠道(微信、短信)中没有与微博适配器对应的微博渠道,所以与微博通信协议相匹配的消息无法通过微博渠道发送至用户终端;最后,短信适配器将该发送信息适配成与短信通信协议相匹配的消息,再将与短信通信协议相匹配的消息通过短信渠道发送至用户终端,所以该用户终端能够先后接收到以微信和短信形式发送的该推送消息,即本方案中该用户终端很有可能通过不同的渠道接收到相同的推送消息。
较佳地,在步骤S5中,该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;
S7、该匹配的渠道适配器将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。
在待发送的推送消息的用户终端的渠道存在于该推送消息的渠道信息中的渠道中时,本方案并不是将推送消息分别通过用户终端的渠道中与渠道 信息中的渠道相同的渠道发送至该用户终端,即该用户终端很有可能通过不同的渠道接收到相同的推送消息,而是将推送信息通过该用户终端的渠道中按照渠道优先级由高至低的顺序排序出的优先级最高的渠道发送至用户终端,即该用户终端只通过一个渠道接收推送消息。假设渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,某一用户终端中的渠道有短信和微信,则本方案中将推送信息通过该用户终端的渠道(短信和微信)中按照渠道优先级由高至低(微信、微博、短信)的顺序排序出的优先级最高的渠道(微信)发送至用户终端。
较佳地,该消息推送方法还包括:
S1’、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
S2’、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
S3’、每一匹配的渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
S4’、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。
本方案中,紧急推送消息可不经过消息数据库和消息发送单元而直接发送至用户终端,快捷接口可用于非常紧急的消息的快速传送,减少紧急推送信息的延迟性。
较佳地,在消息发送单元为多个时,在步骤S2中,该些消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。本方案保证了推送消息不被重复获取,某一消息发送单元从消 息数据库中获取推送消息时,需要在读取推送消息时加上行锁,保证该条推送消息不被其他的消息发送单元所读取。
较佳地,该消息发送单元以多线程的方式发送依次获取的推送消息,为了保证消息发送单元的高可用,消息发送单元采取多线程方式,保证消息发送单元同一时刻可同时发送多个推送消息,提高了推送消息的发送效率。
较佳地,该通信服务器的通信协议为XMPP协议。
较佳地,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板,在步骤S7中,每一匹配的渠道适配器将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。
较佳地,在步骤S3中,若该用户终端的渠道不存在于该渠道信息中的渠道中,则进入步骤S8
S8、该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。
本发明还提供一种消息推送系统,其特点在于,其包括一消息推送接口、一消息数据库、一消息发送单元、一用户渠道数据库、一通信服务器、至少一渠道适配器、至少一渠道以及至少一用户终端;
该消息推送接口用于接收外部发送来的推送消息,并将该些推送消息存储至该消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
该消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;
针对获取的每一推送消息实施的操作:
该消息发送单元用于判断该用户数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在于该渠道信息中的渠道中时,该消息发送单元还用于将该推送 消息转换为与该通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;
该通信服务器用于按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
每一匹配的渠道适配器用于将该发送信息适配成与自身通信协议相匹配的消息,并将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中。
较佳地,该通信服务器用于将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;
该匹配的渠道适配器用于将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。
较佳地,该消息推送系统还包括一快捷接口,该快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
该通信服务器用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
每一匹配的渠道适配器用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
每一匹配的渠道适配器用于将与自身通信协议相匹配的紧急消息发送至该用户终端。
较佳地,在消息发送单元为多个时,该些消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不 同。
较佳地,该消息发送单元以多线程的方式发送依次获取的推送消息。
较佳地,该通信服务器的通信协议为XMPP协议。
较佳地,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板;每一匹配的渠道适配器用于将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。
较佳地,该消息发送单元用于在判断出该用户终端的渠道不存在于该渠道信息中的渠道中时,发送一预推送至该用户终端的消息推送失败的信息至外部。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明统一了不同消息渠道的消息接口和通信协议,简化了推送者推送消息的流程,方便推送者推送消息,降低了推送者推送消息的成本,缩短了推送者推送消息的时间。
当有新的渠道需要接入推送时,只需要新增渠道适配器即可,而消息通知方接入则不需要任何修改即可实现,能够支持灵活扩展,快速接入新的通信渠道,可减少新通信渠道接入的开发周期,而且消息通知方在推送消息时无需关注预发往的用户终端所设置的渠道。
附图说明
图1为本发明的实施例1的消息推送方法的流程图。
图2为本发明的实施例1的消息推送系统的结构框图。
图3为本发明的实施例2的消息推送方法的流程图。
图4为本发明的实施例2的消息推送系统的结构框图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种消息推送方法,其包括以下步骤:
步骤101、一消息推送接口不断地接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中每一个推送消息包括消息内容、发送优先级、渠道信息、业务类型和至少一用户终端,渠道信息包括多个渠道、与每一渠道对应的渠道优先级以及与每一渠道对应的消息模板。
步骤102、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息。
针对步骤102中获取的每一推送消息所实施的操作如下:
步骤103、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中,则进入步骤104;若该用户终端的渠道不存在于该渠道信息中的渠道中,则进入步骤108:该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。
步骤104、该消息发送单元将该推送消息转换为与一通信服务器的通信协议(即XMPP协议)相匹配的发送信息并将该发送信息传输至该通信服务器。
步骤105、该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上。
步骤106、该匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息。
步骤107、该匹配的渠道适配器将与自身通信协议相匹配的消息通过该优先级最高的渠道并以该渠道所对应的消息模板形式发送至该用户终端中, 结束流程。
另外,为了保证消息发送单元的高可用,消息发送单元采取多线程方式,保证消息发送单元同一时刻可同时发送多个推送消息,提高了推送消息的发送效率。
参考图2所示,本实施例还提供一种消息发送系统,其包括一消息推送接口1、一消息数据库2、一消息发送单元3、一用户渠道数据库4、一通信服务器5、多个渠道适配器6、多个用户渠道7以及多个用户终端(图中未示出)。
其中,图2中示出了4个渠道适配器6和4个用户渠道7,4个渠道适配器6分别为微信适配器61、短信适配器62、无线APP适配器63和微博适配器64,4个用户渠道7分别为微信渠道71、短信渠道72、无线APP渠道73和微博渠道74。
该消息推送接口1用于接收外部发送来的推送消息,并将该些推送消息存储至该消息数据库2中,其中每一个推送消息包括消息内容、发送优先级、渠道信息、业务类型和至少一用户终端,渠道信息包括多个渠道、与每一渠道对应的渠道优先级以及与每一渠道对应的消息模板。
该消息发送单元3用于比较该消息数据库2中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息。
针对获取的每一推送消息所实施的操作:
该消息发送单元3用于判断该用户数据库4中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在于该渠道信息中的渠道中时,该消息发送单元3还用于将该推送消息转换为与一通信服务器5的通信协议(即XMPP协议)相匹配的发送信息并将该发送信息传输至该通信服务器5,在该用户终端的渠道不存在于该渠道信息中的渠道中时,该消息发送单元3还用于发送一预推送至该用户终端的消息推送失败的信息至外部。
该通信服务器5用于将该发送信息发送至该用户终端的渠道中按照该渠 道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器6上。
该匹配的渠道适配器6用于将该发送信息适配成与自身通信协议相匹配的消息;该匹配的渠道适配器6还用于将与自身通信协议相匹配的消息通过优先级最高的渠道并以该渠道所对应的消息模板形式发送至该用户终端中。
下面举一具体的例子来具体说明本发明,以使本领域的技术人员能够更好地理解本发明的技术方案:
消息推送接口1不断地接收外部发送来的推送消息,假设消息推送接口1在一时间段内接收到外部发送来的3个推送消息,并将这3个推送消息存储在消息数据库2中。
其中,第一个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级(1级)、渠道信息和5个用户终端(即发送对象),渠道信息包括微信(优先级1级、消息模板1)、短信(优先级2级、消息模板2)、微博(优先级3级、消息模板4),另外,用户渠道数据库4中存储有这5个用户终端中的每一用户终端的渠道,具体地,第一个用户终端的渠道为微信渠道,第二个用户终端的渠道为短信渠道和微信渠道,第三个用户终端的渠道为微博渠道和短信渠道,第四个用户终端的渠道为无线APP渠道和微博渠道,第五个用户终端的渠道为无线APP渠道和短信渠道。
第二个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级(3级)、渠道信息和1个用户终端,渠道信息包括微信(优先级1级、消息模板1)、微博(优先级2级、消息模板4)。用户渠道数据库4中存储有:该用户终端的渠道为无线APP渠道。
第三个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级(2级)、渠道信息和3个用户终端,渠道信息包括短信(优先级1级、消息模板2)、微信(优先级2级、消息模板1)、无线APP(优先级3级、消息模板3),另外,用户渠道数据库4中存储有:第一个用户终端的渠道为微信渠道和无线APP渠道,第二个用户终端的渠道为无线APP渠道,第三个 用户终端的渠道为短信渠道和微博渠道。
消息发送单元3比较消息数据库2中存储的这3个推送消息的发送优先级,即第一个推送消息的发送优先级最高,第三个推送消息的发送优先级其次,第二个推送消息的发送优先级最低,然后按照发送优先级由高至低的顺序依次获取第一个推送消息、第三个推送消息和第二个推送消息。
消息发送单元3获取第一个推送消息后,判断用户渠道数据库4中存储的该第一个推送消息中的每一用户终端的渠道是否存在于该第一个推送消息的渠道信息中的渠道中。具体地,第一个用户终端的渠道(微信)、第二个用户终端的渠道(短信、微信)、第三个用户终端的渠道(微博、短信)、第四个用户终端的渠道(无线APP、微博)以及第五个用户终端的渠道(无线APP、短信)均存在于第一个推送消息的渠道信息中的渠道(微信、短信、微博)中。
然后,消息发送单元3将第一个推送消息转换为满足XMPP协议的第一发送信息并将该第一发送信息传输至通信服务器5。通信服务器5将该第一发送信息发送至微信适配器61、短信适配器62和微博适配器64。
微信适配器61将该第一发送信息适配成与自身通信协议相匹配的第一消息,并将第一消息通过微信渠道71并以消息模板1形式发送至第一个用户终端和第二个用户终端;短信适配器62将第一消息通过短信渠道72并以消息模板2形式发送至第三个用户终端和第五个用户终端;微博适配器64将第一消息通过微博渠道74并以消息模板4形式发送至第四个用户终端。
消息发送单元3获取第二个推送消息后,判断用户渠道数据库4中存储的该第三个推送消息中的每一用户终端的渠道是否存在于该第三个推送消息的渠道信息中的渠道中。具体地,第一个用户终端的渠道(微信无线APP)、第二个用户终端的渠道(无线APP)、第三个用户终端的渠道(短信、微博)均存在于第三个推送消息的渠道信息中的渠道(短信、微信、无线APP)中。
然后,消息发送单元3将第三个推送消息转换为满足XMPP协议的第三发送信息并将该第三发送信息传输至通信服务器5。通信服务器5将该第三 发送信息发送至短信适配器62、微信适配器61和无线APP适配器63。
短信适配器62将该第三发送信息适配成与自身通信协议相匹配的第三消息,并将第三消息通过短信渠道72并以消息模板2形式发送至第三个用户终端;微信适配器61将第三消息通过微信渠道71并以消息模板1形式发送至第一个用户终端;无线APP适配器64将第三消息通过无线APP渠道73并以消息模板3形式发送至第二个用户终端。
消息发送单元3获取第二个推送消息后,判断用户渠道数据库4中存储的该第二个推送消息中的该用户终端的渠道是否存在于该第二个推送消息的渠道信息中的渠道中。具体地,该用户终端的渠道(无线APP)不存在于第二个推送消息的渠道信息中的渠道(微信、微博)中,消息发送单元3发送一预推送至该用户终端的消息推送失败的信息至外部。
实施例2
参考图3所示,该消息推送方法在实施例1的基础上还包括针对紧急推送消息的紧急推送流程:
步骤201、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
步骤202、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;
步骤203、每一匹配的渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
步骤204、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。
参考图4所示,本实施例的消息推送系统在实施例1的基础上还包括一 快捷接口8,该快捷接口8接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器5,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;
该通信服务器5用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器6上;
每一匹配的渠道适配器6用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;
每一匹配的渠道适配器6用于将与自身通信协议相匹配的紧急消息发送至该用户终端。
本实施例中,紧急推送消息可不经过实施例1中的消息数据库2和消息发送单元3而直接发送至用户终端,快捷接口可用于非常紧急的消息的快速传送,减少紧急推送信息的延迟性。
而且,在图4中的消息发送单元3为多个时,在步骤102中,该些消息发送单元3比较该消息数据库2中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。例如,假设消息数据库2中存储有10个推送消息,消息发送单元3的数量为3个分别为第一消息发送单元、第二消息发送单元以及第三消息发送单元,这三个消息发送单元3同时获取存储的10个推送消息时,第一消息发送单元、第二消息发送单元以及第三消息发送单元获取的推送消息均不同,比如第一消息发送单元获取第一、第三、第七以及第十个推送消息,第二消息发送单元获取第二、第四、第五以及第八个推送消息,第三消息发送单元获取第六和第九个推送消息。
本实施例保证了推送消息不被重复获取,某一消息发送单元从消息数据库中获取推送消息时,需要在读取推送消息时加上行锁,保证该条推送消息 不被其他的消息发送单元所读取。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

消息推送方法及系统.pdf_第1页
第1页 / 共15页
消息推送方法及系统.pdf_第2页
第2页 / 共15页
消息推送方法及系统.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《消息推送方法及系统.pdf》由会员分享,可在线阅读,更多相关《消息推送方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104104591A43申请公布日20141015CN104104591A21申请号201410383996922申请日20140806H04L12/58200601H04L29/08200601G06F17/3020060171申请人携程计算机技术(上海)有限公司地址200335上海市长宁区福泉路99号携程网络技术大楼72发明人梁星元何伟立74专利代理机构上海弼兴律师事务所31283代理人薛琦王聪54发明名称消息推送方法及系统57摘要本发明提供一种消息推送方法及系统,方法包括消息推送接口接收外部发送来的推送消息存至消息数据库;消息发送单元比较消息数据库中存储的推送消息的发送。

2、优先级,按照发送优先级由高至低的顺序依次获取推送消息;针对每一推送消息判断出用户终端的渠道存在于渠道信息中的渠道时,消息发送单元将推送消息转换为与通信服务器的通信协议匹配的发送信息;通信服务器按照渠道优先级由高至低的顺序依次将发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;每一匹配的渠道适配器将发送信息适配成与自身通信协议匹配的消息,并将其通过匹配的渠道适配器对应的渠道发送至用户终端中。本发明方便推送消息,节约时间和成本。51INTCL权利要求书3页说明书8页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书8页附图3页10申请公布号CN104104591AC。

3、N104104591A1/3页21一种消息推送方法,其特征在于,其包括以下步骤S1、一消息推送接口接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;S2、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;针对获取的每一推送消息实施的操作S3、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中。

4、,则进入步骤S4;S4、该消息发送单元将该推送消息转换为与一通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;S5、该通信服务器按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;S6、每一匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息;S7、每一匹配的渠道适配器将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中,结束流程。2如权利要求1所述的消息推送方法,其特征在于,在步骤S5中,该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的。

5、渠道所匹配的渠道适配器上;S7、该匹配的渠道适配器将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。3如权利要求1所述的消息推送方法,其特征在于,该消息推送方法还包括S1、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;S2、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;S3、每一匹配的。

6、渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;S4、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。4如权利要求1所述的消息推送方法,其特征在于,在消息发送单元为多个时,在步骤S2中,该些消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。5如权利要求1所述的消息推送方法,其特征在于,该消息发送单元以多线程的方式发送依次获取的推送消息;和/或,该通信服务器的通信协议为XMPP协议。6如权利要求1所述的消息推送方法,其特征在于,每一推送消息还包括业务类。

7、型,每权利要求书CN104104591A2/3页3一推送消息中的渠道信息还包括与每一渠道对应的消息模板,在步骤S7中,每一匹配的渠道适配器将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。7如权利要求1所述的消息推送方法,其特征在于,在步骤S3中,若该用户终端的渠道不存在于该渠道信息中的渠道中,则进入步骤S8;S8、该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。8一种消息推送系统,其特征在于,其包括一消息推送接口、一消息数据库、一消息发送单元、一用户渠道数据库、一通信服务器、至少一渠道适配器、至少一渠道以及至少一用户终端;该消息推送接口用于接。

8、收外部发送来的推送消息,并将该些推送消息存储至该消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;该消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;针对获取的每一推送消息实施的操作该消息发送单元用于判断该用户数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在于该渠道信息中的渠道中时,该消息发送单元还用于将该推送消息转换为与该通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信。

9、服务器;该通信服务器用于按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;每一匹配的渠道适配器用于将该发送信息适配成与自身通信协议相匹配的消息,并将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中。9如权利要求8所述的消息推送系统,其特征在于,该通信服务器用于将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;该匹配的渠道适配器用于将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。10如权利要求8所述的消息推送系统,其特征在于,该消息。

10、推送系统还包括一快捷接口,该快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;该通信服务器用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;每一匹配的渠道适配器用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;每一匹配的渠道适配器用于将与自身通信协议相匹配的紧急消息发送至该用户终端。11如权利要求8所述的消息推送。

11、系统,其特征在于,在消息发送单元为多个时,该些权利要求书CN104104591A3/3页4消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。12如权利要求8所述的消息推送系统,其特征在于,该消息发送单元以多线程的方式发送依次获取的推送消息;和/或,该通信服务器的通信协议为XMPP协议。13如权利要求8所述的消息推送系统,其特征在于,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板;每一匹配的渠道适配器用于将与自身通信协议相匹配的消息以该对应的渠道所对。

12、应的消息模板形式发送至该用户终端中。14如权利要求8所述的消息推送系统,其特征在于,该消息发送单元用于在判断出该用户终端的渠道不存在于该渠道信息中的渠道中时,发送一预推送至该用户终端的消息推送失败的信息至外部。权利要求书CN104104591A1/8页5消息推送方法及系统技术领域0001本发明涉及一种消息推送方法和消息推送系统,特别涉及一种利用XMPP可扩展通讯和表示协议协议实现的多通道的消息推送方法和消息推送系统。背景技术0002随着移动互联网的发展,用于用户相互之间沟通的渠道越来越多,例如微信、短信、无线APP应用、GTALKGOOGLETALK,谷歌公司开发的即时通讯工具、微博等,当某一。

13、推送者有推送消息需要通知用户时,可选择的通信渠道有很多,若对每种通信渠道都提供不同的通信协议和接口方式,则推送者推送起消息来操作很麻烦,耗费的时间会很长,且协议接口众多难以管理维护。发明内容0003本发明要解决的技术问题是为了克服现有技术中推送消息的方式操作麻烦、耗费时间长以及接口多而难以维护的缺陷,提供一种方便推送消息、节约时间和成本的消息推送方法及系统。0004本发明是通过下述技术方案来解决上述技术问题的0005本发明提供一种消息推送方法,其特点在于,其包括以下步骤0006S1、一消息推送接口接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中每一推送消息包括消息内容、发送。

14、优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0007S2、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;0008针对获取的每一推送消息实施的操作0009S3、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中,则进入步骤S4;0010S4、该消息发送单元将该推送消息转换为与一通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;0011S5、该通信服务器按照该渠。

15、道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;0012S6、每一匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息;0013S7、每一匹配的渠道适配器将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中,结束流程。0014消息推送接口不断地接收外部发送来的推送消息,并将这些推送消息存储在消息数据库中,每一个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级、渠道信息和至少一用户终端即发送对象,渠道信息包括多个渠道例如微信、短信、微博等渠说明书CN104104591A2/8页6道和与每一渠道对应的渠道。

16、优先级即规定先通过何种渠道发送该消息内容再通过何种渠道发送该消息内容。0015消息发送单元比较消息数据库中存储的各推送消息的发送优先级,由此确定该些推送消息的先后待发送顺序,并按照先后待发送顺序依次获取该些推送消息,即按照发送优先级由高至低的顺序依次获取存储的推送消息。0016消息发送单元按照先后待发送顺序依次获取该些推送消息后,需要判断用户渠道数据库中存储的该些用户终端中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该些用户终端中的某一用户终端的渠道存在于该渠道信息中的渠道中,则说明该用户终端最终能够接收到推送消息,若该些用户终端中的某一用户终端的渠道不存在于该渠道信息中的。

17、渠道中,则说明该用户终端最终无法接收到推送消息。0017消息发送单元将待发送的推送消息转换为与通信服务器的通信协议相匹配的发送信息使得该发送信息能够顺利地传输至通信服务器,通信服务器按照渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上,例如渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,则通信服务器先将该发送消息发送至微信渠道所匹配的微信适配器,再将该发送消息发送至微博渠道所匹配的微博适配器,最后将该发送消息发送至短信渠道所匹配的短信适配器。0018每一个匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息,再将与自身通信协。

18、议相匹配的消息通过该用户终端的渠道中与该匹配的渠道适配器对应的渠道发送至该用户终端中。例如,渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,某一用户终端中的渠道有微信和短信,则微信适配器将该发送信息适配成与微信通信协议相匹配的消息,再将与微信通信协议相匹配的消息通过微信渠道发送至用户终端;其后,微博适配器将该发送信息适配成与微博通信协议相匹配的消息,但由于用户终端的渠道微信、短信中没有与微博适配器对应的微博渠道,所以与微博通信协议相匹配的消息无法通过微博渠道发送至用户终端;最后,短信适配器将该发送信息适配成与短信通信协议相匹配的消息,再将与短信通信协议相匹配的消息通过短信渠道发送至。

19、用户终端,所以该用户终端能够先后接收到以微信和短信形式发送的该推送消息,即本方案中该用户终端很有可能通过不同的渠道接收到相同的推送消息。0019较佳地,在步骤S5中,该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;0020S7、该匹配的渠道适配器将与自身通信协议相匹配的消息通过优先级最高的渠道发送至该用户终端中。0021在待发送的推送消息的用户终端的渠道存在于该推送消息的渠道信息中的渠道中时,本方案并不是将推送消息分别通过用户终端的渠道中与渠道信息中的渠道相同的渠道发送至该用户终端,即该用户终端很有可能通过不同的渠道接。

20、收到相同的推送消息,而是将推送信息通过该用户终端的渠道中按照渠道优先级由高至低的顺序排序出的优先级最高的渠道发送至用户终端,即该用户终端只通过一个渠道接收推送消息。假设渠道信息中的渠道优先级由高至低的顺序依次为微信、微博、短信,某一用户终端中的渠道有短信和微信,则本方案中将推送信息通过该用户终端的渠道短信和微信中按照渠道优先级由高至低微信、微博、短信的顺序排序出的优先级最高的渠道微信发送至用户终端。说明书CN104104591A3/8页70022较佳地,该消息推送方法还包括0023S1、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并。

21、将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0024S2、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;0025S3、每一匹配的渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;0026S4、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。0027本方案中,紧急推送消息可不经过消息数据库和消息发送单元而直接发送至用户终端,快捷接口可用于非常紧急的消息的快速传送,减少紧急推。

22、送信息的延迟性。0028较佳地,在消息发送单元为多个时,在步骤S2中,该些消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。本方案保证了推送消息不被重复获取,某一消息发送单元从消息数据库中获取推送消息时,需要在读取推送消息时加上行锁,保证该条推送消息不被其他的消息发送单元所读取。0029较佳地,该消息发送单元以多线程的方式发送依次获取的推送消息,为了保证消息发送单元的高可用,消息发送单元采取多线程方式,保证消息发送单元同一时刻可同时发送多个推送消息,提高了推送消息的发送效率。0030较佳。

23、地,该通信服务器的通信协议为XMPP协议。0031较佳地,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板,在步骤S7中,每一匹配的渠道适配器将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。0032较佳地,在步骤S3中,若该用户终端的渠道不存在于该渠道信息中的渠道中,则进入步骤S8;0033S8、该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。0034本发明还提供一种消息推送系统,其特点在于,其包括一消息推送接口、一消息数据库、一消息发送单元、一用户渠道数据库、一通信服务器、至少一渠道适配器、至少一渠道以及至。

24、少一用户终端;0035该消息推送接口用于接收外部发送来的推送消息,并将该些推送消息存储至该消息数据库中,其中每一推送消息包括消息内容、发送优先级、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0036该消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息;0037针对获取的每一推送消息实施的操作0038该消息发送单元用于判断该用户数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在于该渠道说明书CN104104591A4/8页8信息中的渠道中时。

25、,该消息发送单元还用于将该推送消息转换为与该通信服务器的通信协议相匹配的发送信息并将该发送信息传输至该通信服务器;0039该通信服务器用于按照该渠道信息中的渠道优先级由高至低的顺序依次将该发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;0040每一匹配的渠道适配器用于将该发送信息适配成与自身通信协议相匹配的消息,并将与自身通信协议相匹配的消息通过该匹配的渠道适配器对应的渠道发送至该用户终端中。0041较佳地,该通信服务器用于将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上;0042该匹配的渠道适配器用于将与自身通信协议相匹配。

26、的消息通过优先级最高的渠道发送至该用户终端中。0043较佳地,该消息推送系统还包括一快捷接口,该快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0044该通信服务器用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;0045每一匹配的渠道适配器用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;0046每一匹配的渠。

27、道适配器用于将与自身通信协议相匹配的紧急消息发送至该用户终端。0047较佳地,在消息发送单元为多个时,该些消息发送单元用于比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。0048较佳地,该消息发送单元以多线程的方式发送依次获取的推送消息。0049较佳地,该通信服务器的通信协议为XMPP协议。0050较佳地,每一推送消息还包括业务类型,每一推送消息中的渠道信息还包括与每一渠道对应的消息模板;每一匹配的渠道适配器用于将与自身通信协议相匹配的消息以该对应的渠道所对应的消息模板形式发送至该用户终端中。00。

28、51较佳地,该消息发送单元用于在判断出该用户终端的渠道不存在于该渠道信息中的渠道中时,发送一预推送至该用户终端的消息推送失败的信息至外部。0052在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。0053本发明的积极进步效果在于0054本发明统一了不同消息渠道的消息接口和通信协议,简化了推送者推送消息的流程,方便推送者推送消息,降低了推送者推送消息的成本,缩短了推送者推送消息的时间。0055当有新的渠道需要接入推送时,只需要新增渠道适配器即可,而消息通知方接入则不需要任何修改即可实现,能够支持灵活扩展,快速接入新的通信渠道,可减少新通信渠道接入的开发周期,而且消息通知。

29、方在推送消息时无需关注预发往的用户终端所设置的渠说明书CN104104591A5/8页9道。附图说明0056图1为本发明的实施例1的消息推送方法的流程图。0057图2为本发明的实施例1的消息推送系统的结构框图。0058图3为本发明的实施例2的消息推送方法的流程图。0059图4为本发明的实施例2的消息推送系统的结构框图。具体实施方式0060下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。0061实施例10062本实施例提供一种消息推送方法,其包括以下步骤0063步骤101、一消息推送接口不断地接收外部发送来的推送消息,并将该些推送消息存储至一消息数据库中,其中。

30、每一个推送消息包括消息内容、发送优先级、渠道信息、业务类型和至少一用户终端,渠道信息包括多个渠道、与每一渠道对应的渠道优先级以及与每一渠道对应的消息模板。0064步骤102、一消息发送单元比较该消息数据库中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息。0065针对步骤102中获取的每一推送消息所实施的操作如下0066步骤103、该消息发送单元判断一用户渠道数据库中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,若该用户终端的渠道存在于该渠道信息中的渠道中,则进入步骤104;若该用户终端的渠道不存在于该渠道信息中的渠道中,则进。

31、入步骤108该消息发送单元发送一预推送至该用户终端的消息推送失败的信息至外部。0067步骤104、该消息发送单元将该推送消息转换为与一通信服务器的通信协议即XMPP协议相匹配的发送信息并将该发送信息传输至该通信服务器。0068步骤105、该通信服务器将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器上。0069步骤106、该匹配的渠道适配器将该发送信息适配成与自身通信协议相匹配的消息。0070步骤107、该匹配的渠道适配器将与自身通信协议相匹配的消息通过该优先级最高的渠道并以该渠道所对应的消息模板形式发送至该用户终端中,结束流程。007。

32、1另外,为了保证消息发送单元的高可用,消息发送单元采取多线程方式,保证消息发送单元同一时刻可同时发送多个推送消息,提高了推送消息的发送效率。0072参考图2所示,本实施例还提供一种消息发送系统,其包括一消息推送接口1、一消息数据库2、一消息发送单元3、一用户渠道数据库4、一通信服务器5、多个渠道适配器6、多个用户渠道7以及多个用户终端图中未示出。0073其中,图2中示出了4个渠道适配器6和4个用户渠道7,4个渠道适配器6分别说明书CN104104591A6/8页10为微信适配器61、短信适配器62、无线APP适配器63和微博适配器64,4个用户渠道7分别为微信渠道71、短信渠道72、无线APP。

33、渠道73和微博渠道74。0074该消息推送接口1用于接收外部发送来的推送消息,并将该些推送消息存储至该消息数据库2中,其中每一个推送消息包括消息内容、发送优先级、渠道信息、业务类型和至少一用户终端,渠道信息包括多个渠道、与每一渠道对应的渠道优先级以及与每一渠道对应的消息模板。0075该消息发送单元3用于比较该消息数据库2中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次获取存储的推送消息。0076针对获取的每一推送消息所实施的操作0077该消息发送单元3用于判断该用户数据库4中存储的该推送消息中的每一用户终端的渠道是否存在于该推送消息的渠道信息中的渠道中,在该用户终端的渠道存在。

34、于该渠道信息中的渠道中时,该消息发送单元3还用于将该推送消息转换为与一通信服务器5的通信协议即XMPP协议相匹配的发送信息并将该发送信息传输至该通信服务器5,在该用户终端的渠道不存在于该渠道信息中的渠道中时,该消息发送单元3还用于发送一预推送至该用户终端的消息推送失败的信息至外部。0078该通信服务器5用于将该发送信息发送至该用户终端的渠道中按照该渠道优先级由高至低的顺序排序出的优先级最高的渠道所匹配的渠道适配器6上。0079该匹配的渠道适配器6用于将该发送信息适配成与自身通信协议相匹配的消息;该匹配的渠道适配器6还用于将与自身通信协议相匹配的消息通过优先级最高的渠道并以该渠道所对应的消息模板。

35、形式发送至该用户终端中。0080下面举一具体的例子来具体说明本发明,以使本领域的技术人员能够更好地理解本发明的技术方案0081消息推送接口1不断地接收外部发送来的推送消息,假设消息推送接口1在一时间段内接收到外部发送来的3个推送消息,并将这3个推送消息存储在消息数据库2中。0082其中,第一个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级1级、渠道信息和5个用户终端即发送对象,渠道信息包括微信优先级1级、消息模板1、短信优先级2级、消息模板2、微博优先级3级、消息模板4,另外,用户渠道数据库4中存储有这5个用户终端中的每一用户终端的渠道,具体地,第一个用户终端的渠道为微信渠道,第二。

36、个用户终端的渠道为短信渠道和微信渠道,第三个用户终端的渠道为微博渠道和短信渠道,第四个用户终端的渠道为无线APP渠道和微博渠道,第五个用户终端的渠道为无线APP渠道和短信渠道。0083第二个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级3级、渠道信息和1个用户终端,渠道信息包括微信优先级1级、消息模板1、微博优先级2级、消息模板4。用户渠道数据库4中存储有该用户终端的渠道为无线APP渠道。0084第三个推送消息包括预推送给用户的消息内容、该消息内容的发送优先级2级、渠道信息和3个用户终端,渠道信息包括短信优先级1级、消息模板2、微信优先级2级、消息模板1、无线APP优先级3级、消息。

37、模板3,另外,用户渠道数据库4中存储有第一个用户终端的渠道为微信渠道和无线APP渠道,第二个用户终端的渠道为无线APP渠道,第三个用户终端的渠道为短信渠道和微博渠道。说明书CN104104591A107/8页110085消息发送单元3比较消息数据库2中存储的这3个推送消息的发送优先级,即第一个推送消息的发送优先级最高,第三个推送消息的发送优先级其次,第二个推送消息的发送优先级最低,然后按照发送优先级由高至低的顺序依次获取第一个推送消息、第三个推送消息和第二个推送消息。0086消息发送单元3获取第一个推送消息后,判断用户渠道数据库4中存储的该第一个推送消息中的每一用户终端的渠道是否存在于该第一个。

38、推送消息的渠道信息中的渠道中。具体地,第一个用户终端的渠道微信、第二个用户终端的渠道短信、微信、第三个用户终端的渠道微博、短信、第四个用户终端的渠道无线APP、微博以及第五个用户终端的渠道无线APP、短信均存在于第一个推送消息的渠道信息中的渠道微信、短信、微博中。0087然后,消息发送单元3将第一个推送消息转换为满足XMPP协议的第一发送信息并将该第一发送信息传输至通信服务器5。通信服务器5将该第一发送信息发送至微信适配器61、短信适配器62和微博适配器64。0088微信适配器61将该第一发送信息适配成与自身通信协议相匹配的第一消息,并将第一消息通过微信渠道71并以消息模板1形式发送至第一个用。

39、户终端和第二个用户终端;短信适配器62将第一消息通过短信渠道72并以消息模板2形式发送至第三个用户终端和第五个用户终端;微博适配器64将第一消息通过微博渠道74并以消息模板4形式发送至第四个用户终端。0089消息发送单元3获取第二个推送消息后,判断用户渠道数据库4中存储的该第三个推送消息中的每一用户终端的渠道是否存在于该第三个推送消息的渠道信息中的渠道中。具体地,第一个用户终端的渠道微信无线APP、第二个用户终端的渠道无线APP、第三个用户终端的渠道短信、微博均存在于第三个推送消息的渠道信息中的渠道短信、微信、无线APP中。0090然后,消息发送单元3将第三个推送消息转换为满足XMPP协议的第。

40、三发送信息并将该第三发送信息传输至通信服务器5。通信服务器5将该第三发送信息发送至短信适配器62、微信适配器61和无线APP适配器63。0091短信适配器62将该第三发送信息适配成与自身通信协议相匹配的第三消息,并将第三消息通过短信渠道72并以消息模板2形式发送至第三个用户终端;微信适配器61将第三消息通过微信渠道71并以消息模板1形式发送至第一个用户终端;无线APP适配器64将第三消息通过无线APP渠道73并以消息模板3形式发送至第二个用户终端。0092消息发送单元3获取第二个推送消息后,判断用户渠道数据库4中存储的该第二个推送消息中的该用户终端的渠道是否存在于该第二个推送消息的渠道信息中的。

41、渠道中。具体地,该用户终端的渠道无线APP不存在于第二个推送消息的渠道信息中的渠道微信、微博中,消息发送单元3发送一预推送至该用户终端的消息推送失败的信息至外部。0093实施例20094参考图3所示,该消息推送方法在实施例1的基础上还包括针对紧急推送消息的紧急推送流程0095步骤201、一快捷接口接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服说明书CN104104591A118/8页12务器,其中该紧急推送消息包括消息内容、渠道信息和至少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0096步骤2。

42、02、该通信服务器按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器上;0097步骤203、每一匹配的渠道适配器将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;0098步骤204、每一匹配的渠道适配器将与自身通信协议相匹配的紧急消息发送至该用户终端。0099参考图4所示,本实施例的消息推送系统在实施例1的基础上还包括一快捷接口8,该快捷接口8接收外部发送来的紧急推送消息,将该紧急推送消息转换为与该通信服务器的通信协议相匹配的紧急发送信息并将该紧急发送信息传输至该通信服务器5,其中该紧急推送消息包括消息内容、渠道信息和至。

43、少一用户终端,渠道信息包括多个渠道和与每一渠道对应的渠道优先级;0100该通信服务器5用于按照该紧急推送消息的渠道信息中的渠道优先级由高至低的顺序依次将该紧急发送信息发送至渠道优先级对应的渠道所匹配的渠道适配器6上;0101每一匹配的渠道适配器6用于将该紧急发送信息适配成与自身通信协议相匹配的紧急消息;0102每一匹配的渠道适配器6用于将与自身通信协议相匹配的紧急消息发送至该用户终端。0103本实施例中,紧急推送消息可不经过实施例1中的消息数据库2和消息发送单元3而直接发送至用户终端,快捷接口可用于非常紧急的消息的快速传送,减少紧急推送信息的延迟性。0104而且,在图4中的消息发送单元3为多个。

44、时,在步骤102中,该些消息发送单元3比较该消息数据库2中存储的各推送消息的发送优先级,并按照发送优先级由高至低的顺序依次同时获取存储的推送消息,且每个消息发送单元获取的推送消息均不同。例如,假设消息数据库2中存储有10个推送消息,消息发送单元3的数量为3个分别为第一消息发送单元、第二消息发送单元以及第三消息发送单元,这三个消息发送单元3同时获取存储的10个推送消息时,第一消息发送单元、第二消息发送单元以及第三消息发送单元获取的推送消息均不同,比如第一消息发送单元获取第一、第三、第七以及第十个推送消息,第二消息发送单元获取第二、第四、第五以及第八个推送消息,第三消息发送单元获取第六和第九个推送。

45、消息。0105本实施例保证了推送消息不被重复获取,某一消息发送单元从消息数据库中获取推送消息时,需要在读取推送消息时加上行锁,保证该条推送消息不被其他的消息发送单元所读取。0106虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。说明书CN104104591A121/3页13图1说明书附图CN104104591A132/3页14图2图3说明书附图CN104104591A143/3页15图4说明书附图CN104104591A15。

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

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


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