一种支持信息拉取及多渠道推送的消息通知系统及方法与流程

文档序号:20917025发布日期:2020-05-29 13:39阅读:1436来源:国知局
一种支持信息拉取及多渠道推送的消息通知系统及方法与流程

本发明涉及消息通知技术领域,特别涉及一种支持信息拉取及多渠道推送的消息通知系统及方法。



背景技术:

随着互联网信息技术和移动终端渠道的发展,越来越多的企业在互联网产品的应用过程中逐步体现出对消息通知发送的明显需求。企业发送消息的内容多种多样,包括并不限于:登录提醒、安全通知、活动公告、业务消息、广告推送、财务通知。而用户接收消息的方式也极为丰富:移动app、微信、支付宝、钉钉软件、邮件、短消息、手机弹窗提示。

对企业来说,通知消息的及时、准确的送达确保了企业信息的有效传递,也保证了企业政策的推广实施。对用户来说,通知消息保障了消费者权益。因此在企业和用户之间,消息通知系统扮演者一个重要的角色。但是现有的消息通知方式存在许多缺陷:

1、消息内容和类型不能灵活的满足各种业务场景。由于消息通知的滞后性,往往是软件系统设计后期甚至是发布应用后才提出消息通知的需求,因此大部分的消息通知都不能很好的满足生产需求。

2、消息通知方式单一。现有技术下,要么支持单纯的手机通知推送,要么支持邮件、短消息等传统通知方式。没有完备的覆盖用户终端,这就导致了消息的覆盖面不全。

3、消息通知的性能、准确性不高。现有技术在满足消息通知的场景上,更多将精力放在功能实现上,而一旦面临海量消息发送任务,系统常表现为负载高、丢失消息、延迟高等问题。

综上,现有的消息通知方式功能接入复杂、编码工作较多、缺少统一管理控制。



技术实现要素:

为解决上述技术问题,本发明提供了一种支持信息拉取及多渠道推送的消息通知系统及方法,以达到满足高性能、灵活丰富的消息通知场景需求的目的。

为达到上述目的,本发明的技术方案如下:

一种支持信息拉取及多渠道推送的消息通知系统,包括业务应用模块、中间件支持模块、消息通路个人信箱模块、消息通路主动推送模块;

所述业务应用模块包括充电消息发送、内容发布消息发送、电站消息发送、社交消息发送和结算消息发送部分;业务应用模块作为消息发送方,定义了具体的消息体的格式和内容;

所述中间件支持模块包括高速服务框架hsf、mq消息中间件、通知渠道支持模块;

所述消息通路个人信箱模块包括消息配置、计数服务两大核心基础功能,预设了四种消息类型,并且支持交互接口处的消息已读标记服务;

所述消息通路主动推送模块采用推拉结合的方式,针对不同类型的消息采用推模式或拉模式进行消息的发送。

上述方案中,所述消息通路主动推送模块用于推送如下消息类型:app消息、小程序消息、公众号模板消息、短信消息、邮件、钉钉消息。

上述方案中,所述中间件支持模块底层使用了rabbitmq技术,最大化的保证了业务应用的所有消息发送请求都能被正确的接收和处理。

一种支持信息拉取及多渠道推送的消息通知方法,包括如下步骤:

(1)业务应用模块根据消息内容的需要定义通知消息的主体格式,然后按照消息实体进行封装,调用高速服务框架接口,将消息实体发送到中间件支持模块;

(2)中间件支持模块采用rabbitmq技术能够更好的解耦系统结构以及缓冲业务请求的瞬间压力;

(3)消息实体经过中间件支持模块的传输,进入到消息通路个人信箱模块,首先对消息实体进行预处理,最后分发到用户的个人信箱;

(4)消息通路主动推送模块根据消息类型选择采用推模式或拉模式进行消息的发送。

通过上述技术方案,本发明提供的一种支持信息拉取及多渠道推送的消息通知系统及方法具有如下优点:

本发明提供的通知系统可以灵活的、定制化的实现不同需求的通知服务,只需要执行发送消息的接口即可;同时业务场景越多越复杂的情况下,应用本发明系统所带来的优势越明显。

应用本发明能够解决当前消息通知功能接入复杂、编码工作较多、缺少统一管理控制的普遍问题。支持全局的更改和调整配置,极大的提高了业务开发效率,降低了业务侧的代码耦合,使得调用方专注于业务代码,为用户提供更高质量的服务。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例所公开的一种支持信息拉取及多渠道推送的消息通知系统示意图;

图2为本发明实施例所公开的一种支持信息拉取及多渠道推送的消息通知方法流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明提供了一种支持信息拉取及多渠道推送的消息通知系统,使用c#语言开发而成。c语言#以.net框架类库作为基础,拥有类似visualbasic的快速开发能力。c#语言也引入了languageintegratedquery(linq)模式到通用语言运行库中,并且支持扩展方法。

c#语言使用的包管理工具是nuget。nuget是免费、开源的包管理开发工具,专注于在.net应用开发过程中,简单地合并第三方的组件库。而且本系统基于.net基础库进行开发,无需安装任何依赖,使用起来极为方便。

本发明系统的实现技术中包含了大量的数据库表的设计,通过这些设计配置可以灵活的定制不同的消息通知内容和格式,并且根据需求来满足各种通知场景。

如图1所示,本发明的支持信息拉取及多渠道推送的消息通知系统,包括业务应用模块、中间件支持模块、消息通路个人信箱模块、消息通路主动推送模块。

业务应用模块包括充电消息发送、内容发布消息发送、电站消息发送、社交消息发送和结算消息发送部分;业务应用模块作为消息发送方,定义了具体的消息体的格式和内容。

中间件支持模块包括高速服务框架hsf、mq消息中间件、通知渠道支持模块;其中mq消息中间件采用业内主流rabbitmq开源软件,具有故障转移、高可用、高性能等特点。并且在原有基础上进行了深度定制,降低了接入难度,提高了海量数据下在稳定性。中间件支持模块底层使用了rabbitmq技术,最大化的保证了业务应用的所有消息发送请求都能被正确的接收和处理。

消息通路个人信箱模块包括消息配置、计数服务两大核心基础功能,预设了四种消息类型,并且支持交互接口处的消息已读标记服务。

消息通路个人信箱模块是指用来接收和保存通知消息的容器,用户在注册初始化后就会创建一个独立的个人信箱。消息通路个人信箱模块是整个消息通知体系中的核心部分,用户消息的读取状态和消息通知开关配置都是通过消息通路个人信箱模块来实现的。

消息通路主动推送模块采用推拉结合的方式,针对不同类型的消息采用推模式或拉模式进行消息的发送。消息通路主动推送模块用于推送如下消息类型:app消息、小程序消息、公众号模板消息、短信消息、邮件、钉钉消息。

以上组成模块中,包含以下几个重要概念:

1、通知消息,是指业务应用方需要发送给某个或某一批用户的一段文本、图片的组合。

2、消息一级类型,是指此消息的业务分类,比如小特提醒、弹屏通知、站内信等。

3、消息开关、消息免打扰,是指用户的接收通知消息的个人设置方式,允许用户配置接收、不接受通知消息,也允许用户配置新通知消息到达是否免打扰。

4、消息已读、未读,是指用户端对通知消息的状态的划分,用户收到新的通知消息是未读状态,打开并阅读消息后就变成已读状态。需要特殊说明的是,本发明中此消息状态的存储位置是消息通路个人信箱模块,因此在切换手机、重新登录、清理缓存等操作后,消息状态仍然保持一致。

如图2所示,一种支持信息拉取及多渠道推送的消息通知方法,包括如下步骤:

(1)消息发送方和消息展示方制定消息内容体,按照通知展示需要约定自定义字段的内容和含义;业务应用模块根据消息内容的需要定义通知消息的主体格式,然后按照消息实体进行封装,调用高速服务框架接口,将消息实体发送到中间件支持模块;

(2)中间件支持模块采用rabbitmq技术能够更好的解耦系统结构以及缓冲业务请求的瞬间压力;本发明系统提供了支持消息发送到中间件支持模块的接口,接口具有高性能、高并发、高可用的特性,且支持限流容错降级,中间件支持模块底层使用了rabbitmq技术,最大化的保证了业务应用的所有消息发送请求都能被正确的接收和处理。

(3)消息实体经过中间件支持模块的传输,进入到消息通路个人信箱模块,首先对消息实体进行预处理,经过预处理后的通知消息已经具有明确的接收人、消息内容、消息时间等关键信息,经过消息预处理后,业务应用的消息发送请求转换成了具体的、与用户一一对应的最终消息,然后存储到个人信箱;同时触发计数服务和消息状态标记服务。

(4)消息通路主动推送模块(app、小程序、公众号等)根据消息类型选择采用推模式或拉模式进行消息的发送,并将收到的通知消息按照约定的格式解析并执行接收展示。其中app将通过与服务器的tcp长连接接收服务器主动推送的个人信箱中的新消息,app将通过通知栏、铃声等方式提醒用户收到新消息。小程序和公众号等终端则会利用服务提醒、通知栏提示等途径通知用户收到新消息,并按照消息发送方约定的数据格式展示消息内容。

以下将简洁的说明本发明中的消息拉取和多渠道推送的特点:

消息拉取是指将储存在个人信箱的消息从服务器端获取到展示终端的过程。此功能在系统提示、站内信、反馈信息、私信、资讯、推荐等场景有较多使用。此种模式不会打扰用户,提升了用户通知的体验。

多渠道主动推送功能主要是为了增加与用户的关联,进而刺激引导用户对产品的使用。主动推送能更直接的提醒用户收到新的消息。主动推送包括:app推送、短信、钉钉消息、公众号等渠道,而业务应用方只需要指定配置即可实现以上功能。

本发明实现消息拉取和多渠道推送的消息通知体系的设计和实现,更好的解决了企业应用场景中的痛点,丰富了功能特征,满足了消息通知需求,最终解决了企业和用户之间的消息沟通问题。

通过实施方式可以看出,使用本系统将大量减少系统重复开发的成本、快速提高服务响应能力等多种优势。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1