本发明涉及通信,尤其涉及一种消息推送系统和方法。
背景技术:
1、随着移动互联网的兴起和5g网络的普及,消息推送的方式越来越多样化,从以前的单一的短信方式发展到多端多应用方式,从轮询模式发展到长连接通讯模式,同时推送的终端出现多样化发展,消息接收方式出现应用、公众号、web页面等新形式。
2、为了解决消息推送的发展新形式,企业信息化服务需要一个发送平台针对新方式和新模式,建立统一的发送平台覆盖以上新方式,由发送平台统一向业务服务提供消息推送能力,让业务层能够快速实现消息推送能力、同时能力复用降低研发成本。
技术实现思路
1、本发明的主要目的在于针对现有技术中消息推送方式比较单一、业务覆盖层面单一导致业务系统接入需要依次接入,增加了业务系统接入负担、后期运维接入管理难道增大等问题,提供一种消息推送系统和方法。
2、为实现上述目的,本发明提供了一种消息推送系统,用于业务服务发送消息至终端应用,包括消息推送模块、消息模板模块、消息路由模块和api接口模块,所述消息推送模块通过调用所述api接口模块的接口服务接收业务服务用户发起的加密的消息请求信息,所述消息请求信息包括终端应用用户id、业务系统用户访问令牌、消息发送时间、消息发送应用类型、消息发送模板id,所述消息推送模块对业务系统用户访问令牌进行验证,解密所述消息请求信息,获取终端应用用户id、业务服务用户id、令牌创建日期信息,再对终端应用用户id进行存在与否、正确与否的验证,同时获取终端应用用户id全部的消息推送目标地址信息,对业务服务用户使用消息模板的权限进行验证,验证通过后,访问所述消息模板模块,调取所述消息请求信息中的指定的消息模板,将消息模板和所述消息请求信息中的参数信息一起拼装成发送请求报文,传输至所述消息路由模块,所述消息路由模块根据所述消息请求信息中的发送应用类型选择通信通道,通过通信通道将消息推送至终端应用。
3、优先地,还包括推送策略模块,所述消息推送模块调取所述推送策略模块中的推送策略对发送请求报文进行策略逻辑处理,处理完后,传输至所述消息路由模块。
4、优先地,还包括数据存储模块,所述数据存储模块对策略逻辑处理后的发送请求报文进行存储保存。
5、优先地,所述消息推送模块通过调用所述api接口模块的接口服务访问用户服务平台和认证服务平台,所述用户服务平台和所述认证服务平台均为第三方服务平台,所述用户服务平台能查询终端应用用户资料,所述认证服务平台根据公钥验证所述消息请求信息中的业务系统用户访问令牌,获取终端应用用户id、业务服务用户id、令牌创建日期信息;所述用户服务平台对终端应用用户id进行存在与否、正确与否进行验证,并将终端应用用户id全部的消息推送目标地址信息传输至所述消息推送模块。
6、优先地,所述推送策略模块中的消息推送策略为根据实际需求进行设置的,所述消息推送策略包括关键字屏蔽策略、发送时间拦截策略、发送失败处理策略、黑名单策略。
7、此外,本发明还提供了一种消息推送方法,包括以下步骤:
8、步骤100:对接收的消息请求信息进行验证解密;
9、步骤200:调用消息模板,结合解密后的消息请求信息中的参数一起拼装成发送请求报文;
10、步骤300:根据消息发送应用类型将发送请求报文路由到对应通信通道,经通信通道推送至目标终端应用。
11、优先地,所述步骤100包括消息推送模块通过调用接口服务接收业务服务用户发起的加密的消息请求信息,对业务系统用户访问令牌进行验证,解密消息请求信息,获取终端应用用户id、业务服务用户id、令牌创建日期信息;再对终端应用用户id存在与否、正确与否进行验证,同时获取终端应用用户id全部的消息推送目标地址信息;对业务服务用户使用消息模板的权限进行验证;其中,消息请求信息包括终端应用用户id、业务系统用户访问令牌、消息发送时间、消息发送应用类型、消息发送模板id。
12、优先地,在步骤200之后还包括步骤210,所述步骤210包括:
13、消息推送模块调取消息推送策略对发送请求报文进行策略逻辑处理,处理完后,传输至消息路由模块。
14、优先地,在步骤210之后还包括步骤220,所述步骤220包括:
15、数据存储模块对策略逻辑处理后的发送请求报文进行存储保存。
16、优先地,所述步骤210中的消息推送策略包括关键字屏蔽策略、发送时间拦截策略、发送失败处理策略、黑名单策略。
17、本发明提供的一种消息推送系统和方法具有以下有益效果:
18、本发明中的一种消息推送系统具有消息推送模块、消息模板模块、消息路由模块和api接口模块,消息推送模块作为消息推送的执行端,其通过获取的终端应用目标对象的消息推送目标地址信息,通过消息路由模块对消息进行通道路由,实现了准确地将消息推送到终端应用目标对象;消息推送模块在推送之前通过调用外部第三方服务对业务系统发送的消息请求信息进行验证解密,确保了发送者的合法性,同时也获取了终端应用目标对象的相关信息为消息推送模块推送消息提供了路由数据;业务系统与消息推送系统作为两种独立服务,其需要通过api服务打通网络路由和网络协议,api接口模块提供了api服务,实现了业务系统与消息推送系统之间联通;为了使得推送到终端应用目标对象的消息全面性,消息推送模块调用了消息模板模块中的消息模板,实现了消息的标准化。
19、对接收的消息请求信息进行验证解密;确保了消息请求信息发送者的身份合法性,获取了终端应用用户的消息推送目标地址信息,为消息推送提供了路由数据;
20、调用消息模板,结合解密后的消息请求信息中的参数一起拼装成发送请求报文;实现了消息的全面性和标准化;
21、根据消息发送应用类型将发送请求报文路由到对应通信通道,经通信通道推送至目标终端应用;通过消息应用类型选择不同的通道,实现了消息精准推送。
1.一种消息推送系统,用于业务服务发送消息至终端应用,其特征在于,包括消息推送模块、消息模板模块、消息路由模块和api接口模块,所述消息推送模块通过调用所述api接口模块的接口服务接收业务服务用户发起的加密的消息请求信息,所述消息请求信息包括终端应用用户id、业务系统用户访问令牌、消息发送时间、消息发送应用类型、消息发送模板id,所述消息推送模块对业务系统用户访问令牌进行验证,解密所述消息请求信息,获取终端应用用户id、业务服务用户id、令牌创建日期信息,再对终端应用用户id存在与否、正确与否进行验证,同时获取终端应用用户id全部的消息推送目标地址信息,对业务服务用户使用消息模板的权限进行验证,验证通过后,访问所述消息模板模块,调取所述消息请求信息中的指定的消息模板,将消息模板和所述消息请求信息中的参数信息一起拼装成发送请求报文,传输至所述消息路由模块,所述消息路由模块根据所述消息请求信息中的发送应用类型选择通信通道,通过通信通道将消息推送至终端应用。
2.如权利要求1所述的消息推送系统,其特征在于,还包括推送策略模块,所述消息推送模块调取所述推送策略模块中的推送策略对发送请求报文进行策略逻辑处理,处理完后,传输至所述消息路由模块。
3.如权利要求2所述的消息推送系统,其特征在于,还包括数据存储模块,所述数据存储模块对策略逻辑处理后的发送请求报文进行存储保存。
4.如权利要求1所述的消息推送系统,其特征在于,所述消息推送模块通过调用所述api接口模块的接口服务访问用户服务平台和认证服务平台,所述用户服务平台和所述认证服务平台均为第三方服务平台,所述用户服务平台能查询终端应用用户资料,所述认证服务平台根据公钥验证所述消息请求信息中的业务系统用户访问令牌,获取终端应用用户id、业务服务用户id、令牌创建日期信息;所述用户服务平台对终端应用用户id进行存在与否、正确与否的验证,并将终端应用用户id全部的消息推送目标地址信息传输至所述消息推送模块。
5.如权利要求4所述的消息推送系统,其特征在于,所述推送策略模块中的消息推送策略为根据实际需求进行设置的,所述消息推送策略包括关键字屏蔽策略、发送时间拦截策略、发送失败处理策略、黑名单策略。
6.一种消息推送方法,采用权利要求1-5任意一项所述的系统,其特征在于,包括:
7.如权利要求6所述的消息推送方法,其特征在于,所述步骤100包括:消息推送模块通过调用接口服务接收业务服务用户发起的加密的消息请求信息,对业务系统用户访问令牌进行验证,解密消息请求信息,获取终端应用用户id、业务服务用户id、令牌创建日期信息;再对终端应用用户id存在与否、正确与否进行验证,同时获取终端应用用户id全部的消息推送目标地址信息;对业务服务用户使用消息模板的权限进行验证;其中,消息请求信息包括终端应用用户id、业务系统用户访问令牌、消息发送时间、消息发送应用类型、消息发送模板id。
8.如权利要求7所述的消息推送方法,其特征在于,在步骤200之后还包括步骤210,所述步骤210包括:
9.如权利要求8所述的消息推送方法,其特征在于,在步骤210之后还包括步骤220,所述步骤220包括:
10.如权利要求8所述的消息推送方法,其特征在于,所述步骤210中的消息推送策略包括关键字屏蔽策略、发送时间拦截策略、发送失败处理策略、黑名单策略。