一种消息推送系统及方法与流程

文档序号:16672996发布日期:2019-01-18 23:43阅读:119来源:国知局
一种消息推送系统及方法与流程

本发明实施例涉及通讯技术领域,尤其涉及一种消息推送系统及方法。



背景技术:

随着移动终端设备的不断发展,移动终端在医疗领域的应用也越来越广泛。受医院工作环境的影响,医护人员不方便通过移动电话等方式进行沟通。目前,面向普通移动终端的多媒体通讯软件发展迅速,如,各医护人员可以通过移动终端进行通讯。

但现有的消息推送技术中,大部分都是在特定的平台上,针对特定场景、特定的客户端开发的,无法满足医院特定环境中的需要。并且,现有的消息推送技术中,需要针对不同的消息推送方式(如点对点和发布/订阅)做不同的调用和处理,通过不同的线程进行消息的推送及发布。并且客户端所运行的系统不同(如安卓、ios等系统)时,相应的消息推送方式也不同,从而导致应用开发人员必须针对不同的手机平台单独学习、开发,进而导致开发效率低下。另外,现有的消息推送技术中,发送不同的消息、订阅不同的消息主题需要开启不同的发送或监听线程,建立不同的连接,这些线程和连接不仅增加了资源得消耗,还增加了电量的消耗。



技术实现要素:

本发明实施例提供了一种消息推送系统及方法,以实现针对不同的客户端实现消息推送接口的统一,并且在开启一条线程的基础上,实现不同类型的消息的推送,节省资源的同时节省通讯终端的耗电量。

第一方面,本发明实施例提供了一种消息推送系统,包括:至少一个通讯终端、消息服务器及客户端确认模块;

所述通讯终端,用于向消息服务器发起包含有待推送消息的消息推送请求;

所述消息服务器,用于根据所述消息推送请求向所述客户端确认模块发送待推送客户端获取请求;

所述客户端确认模块,用于根据所述消息服务器发送的待推送客户端获取请求确定所述待推送客户端获取请求所对应的至少一个待推送客户端标识,并将所述至少一个待推送客户端标识发送至所述消息服务器;

所述消息服务器,还用于接收所述待推送客户端标识,并向所述待推送客户端标识对应的待推送客户端推送所述待推送消息。

第二方面,本发明实施例还提供了一种消息推送方法,应用于如本发明任意实施例所提供的消息推送系统,包括:

通讯终端向消息服务器发起包含有待推送消息的消息推送请求;

所述消息服务器根据所述消息推送请求向所述客户端确认模块发送待推送客户端获取请求;

所述客户端确认模块根据所述消息服务器发送的待推送客户端获取请求确定所述待推送客户端获取请求所对应的至少一个待推送客户端标识,并将所述待推送客户端标识发送至所述消息服务器;

所述消息服务器接收所述待推送客户端标识,并向所述待推送客户端标识对应的待推送客户端推送所述待推送消息。

本发明实施例所提供的消息推送系统,包括:至少一个通讯终端、消息服务器及客户端确认模块;通讯终端,用于向消息服务器发起包含有待推送消息的消息推送请求;消息服务器,用于根据消息推送请求向客户端确认模块发送待推送客户端获取请求;客户端确认模块,用于根据消息服务器发送的待推送客户端获取请求确定待推送客户端获取请求所对应的至少一个待推送客户端标识,并将至少一个待推送客户端标识发送至消息服务器;消息服务器,还用于接收待推送客户端标识,并向待推送客户端标识对应的待推送客户端推送待推送消息,通过消息服务器向客户端确认模块获取待推送客户端标识,实现了客户端类型不同时消息推送接口的统一,并且在开启一条线程的基础上,实现了不同类型的消息的推送,节省了资源的同时节省了通讯终端的耗电量。

附图说明

图1是本发明实施例一所提供的消息推送系统的结构示意图;

图2是本发明实施例二所提供的消息推送系统的结构示意图;

图3是本发明实施例三所提供的消息推送系统的结构示意图;

图4a是本发明实施例四所提供的消息推送系统的结构示意图;

图4b是本发明实施例四所提供的消息推送系统中各模块的关系示意图;

图4c是本发明实施例四所提供的消息推送系统中类与模块之间的关系示意图;

图5a是本发明实施例五所提供的消息推送方法的流程图;

图5b是本发明实施例五所提供的消息推送方法中客户端注册的流程示意图;

图5c是本发明实施例五所提供的消息推送方法中消息推送的时序图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一所提供的消息推送系统的结构示意图,本实施例所提供的消息推送系统可用于在医院内各医护人员之间进行消息推送时的情形。如图1所示,该消息推送系统包括:至少一个通讯终端110、消息服务器120及客户端确认模块130。

所述通讯终端110,用于向消息服务器120发起包含有待推送消息的消息推送请求;

所述消息服务器120,用于根据所述消息推送请求向所述客户端确认模块130发送待推送客户端获取请求;

所述客户端确认模块130,用于根据所述消息服务器120发送的待推送客户端获取请求确定所述待推送客户端获取请求所对应的至少一个待推送客户端标识,并将所述至少一个待推送客户端标识发送至所述消息服务器120;

所述消息服务器120,还用于接收所述待推送客户端标识,并向所述待推送客户端标识对应的待推送客户端推送所述待推送消息。

可选的,为了使医院的医护人员之间可以及时进行联系,各医护人员可随身佩戴一个移动终端,进行用户登录后,便可以随时与其他医护人员进行联系,实现各医护人员之间的消息的推送及消息的发布。

在本实施例中,当医护人员通过通讯终端110进行消息的推送时,可以在选中待推送目标后,在待推送目标所对应的信息输入区域内输入待推送消息,点击“发送”按钮,触发消息的推送操作。通讯终端110检测到医护人员触发的消息推送操作后,根据获取的待推送消息及相关信息形成消息推送请求,并将该消息推送请求发送至消息服务器120,消息服务器120根据接收到的消息推送请求生成待推送客户端获取请求,并将生成的待推送客户端获取请求发送至客户端确认模块130,客户端确认模块130根据接收到的待推送客户端获取请求确定与该待推送客户端获取请求所对应的待推送客户端标识,并将确定的待推送客户端标识反馈至消息服务器120,消息服务器120根据接收到的待推送客户端标识,向待推送客户端推送待推送消息,完成消息的推送。

可选的,本实施例所提供的消息推送系统可以实现不同消息推送类型的待推送消息的推送。可选的,本实施例所提供的消息推送系统不仅可以实现点对点消息的推送,还可以实现发布订阅式消息的推送。其中,点对点消息的推送是指将待推送消息由一个通讯终端推送至另一个通讯终端,发布订阅式消息的推送是指将待推送消息由一个通讯终端推送至与该待推送消息关联的多个通讯终端。

可选的,当医护人员需要通过通讯终端实现消息点对点的推送时,可以选中待推送用户,在待推送用户所对应的信息输入区域输入待推送消息,点击“发送”按钮,触发消息的点对点推送。当医护人员需要通过通讯终端实现消息的发布订阅式推送时,可以选中发布订阅主题,在发布订阅主题所对应的信息数去区域内输入待推送消息,点击“发送”按钮,触发消息的发布订阅式推送。

在本实施例中,不管消息推送类型为点对点消息的推送,还是发布订阅式消息的推送,均通过消息服务器向客户端确认模块获取待推送客户端标识,统一了不同消息推送类型的推送方式,仅需在通讯终端与消息服务器间建立一条线程即可实现,大大节省了资源的同时,也大大节省了通讯终端的耗电量;并且使得当用户要发送消息时,只需要指定消息的目的地即可,不用关心目的地到底是客户端还是发布订阅的主题,更无需针对这两种方式做一些特殊处理,简化了用户的操作,提高了用户体验。

可选的,本实施例中通过消息服务器调用客户端确认模块还实现了针对不同客户端系统的消息推送接口的统一,对外提供了统一的消息推送相关的接口,屏蔽了不同客户端之间推送消息的差异,可以支持多种类型的客户端(如android、ios、pc、windowphone等),并且能很方便的与第三方消息服务器(如activemq)整合,满足了消息推送的多样化需求,实现了高效率、跨平台、跨客户端(消息接收端)的消息推送。

本发明实施例所提供的消息推送系统,包括:至少一个通讯终端、消息服务器及客户端确认模块;通讯终端,用于向消息服务器发起包含有待推送消息的消息推送请求;消息服务器,用于根据消息推送请求向客户端确认模块发送待推送客户端获取请求;客户端确认模块,用于根据消息服务器发送的待推送客户端获取请求确定待推送客户端获取请求所对应的至少一个待推送客户端标识,并将至少一个待推送客户端标识发送至消息服务器;消息服务器,还用于接收待推送客户端标识,并向待推送客户端标识对应的待推送客户端推送待推送消息,通过消息服务器向客户端确认模块获取待推送客户端标识,实现了客户端类型不同时消息推送接口的统一,并且在开启一条线程的基础上,实现了不同类型的消息的推送,节省了资源的同时节省了通讯终端的耗电量。

在上述方案的基础上,所述消息服务器用于:

判断所述消息推送请求的推送类型,并根据所述推送类型将所述待推送客户端获取请求发送至对应的客户端确定模块。

在本实施例中,针对不同的消息推送类型,均通过消息服务器生产待推送客户端获取请求,并通过待推送客户端获取请求向客户端确认模块获取待推送客户端标识。可选的,可以设置待推送消息类型与客户端确定模块的对应关系,当待推送消息类型不同时,将待推送客户端获取请求发送至与待推送消息类型对应的客户端确定模块。不同的待推送消息类型对应不同的客户端确定模块,使得消息推送系统的调用逻辑更加清晰,更加方便管理。

实施例二

图2是本发明实施例二所提供的消息推送系统的结构示意图,本实施例以上述实施例为基础,将消息服务器及客户端确定模块进行了具体化。如图2所示,所述客户端确认模块130包括客户端注册单元131,所述消息服务器120用于:

若所述推送类型为点对点推送,则根据所述消息推送请求生成待推送客户端获取请求,并将所述待推送客户端获取请求发送至所述客户端注册单元131。

在本实施例中,消息服务器120接收到通讯终端110发起的消息推送请求后,根据消息推送请求判断待推送消息的消息推送类型,若消息推送类型为点对点推送,则消息服务器120根据消息推送请求生成待推送客户端获取请求,将待推送客户端获取请求发送至客户端注册单元131,并接收客户端注册单元131反馈的待推送客户端标识,根据接收到的待推送客户端标识进行待推送消息的点对点推送。

可选的,通讯终端110发起的消息推送请求中包含有待推送消息及待推送目标标识(即待推送用户标识),消息服务器120可以根据待推送目标标识判断待推送消息的推送类型。可选的,可以将待推送目标标识的预设字段与预设标识进行匹配,将与待推送目标标识匹配的预设标识所对应的消息类型确定为待推送消息的消息类型。示例性的,可以将待推送目标标识的首位数字与预设标识进行匹配,根据匹配结果确定待推送消息的消息类型。

示例性的,若设置点对点消息推送的预设标识为1,则当待推送目标标识的首位数字为1时,确定待推送消息的消息类型为点对点消息推送,将根据消息推送请求生成的待推送客户端获取请求发送至客户端注册单元。

在上述方案的基础上,所述客户端注册单元131用于:

根据所述消息服务器120发送的待推送客户端获取请求,确定与所述待推送客户端获取请求中的待推送用户标识所对应的待推送客户端标识,并将所述待推送客户端标识发送至所述消息服务器120。

可选的,消息服务器120发送的待推送客户端获取请求中包含有待推送用户标识,客户端注册单元131根据待推送客户端获取请求中包含的待推送用户标识确定待推送客户端标识,并将确定的待推送客户端标识发送至消息服务器120.

示例性的,若消息服务器发送的待推送客户端获取请求中包含的待推送用户标识为“11”,则客户端注册单元根据存储的用户标识与客户端标识之间的关联关系,确定与用户标识“11”对应存储的客户端标识“31”,并将客户端标识“31”作为待推送客户端标识发送至消息服务器。

在上述方案的基础上,所述客户端注册单元131还用于:

接收待注册用户的注册请求,并获取所述注册请求中包含的用户标识及客户端标识,建立所述客户端标识与所述用户标识之间的关联关系。

在本实施例中,客户端注册单元还可以响应新用户的注册请求,并存储待注册用户的相关信息。可选的,当需要注册新用户时,可以在通讯终端的用户注册界面上输入用户基本信息,点击“注册”按钮触发新用户的注册操作,通讯终端检测到用户触发的注册操作时,根据用户输入的基本信息,结合自身的标识信息生成用户注册请求,并将生成的用户注册请求发送至消息服务器,消息服务器将该用户注册请求发送至客户端注册单元,客户端注册单元获取用户注册请求中的用户标识及客户端标识,将用户标识与客户端标识对应存储,建立用户标识与客户端标识之间的关联关系。

本发明实施例的技术方案,在上述实施例的基础上将消息服务器及客户端确定模块进行了具体化,通过消息服务器判断待推送消息的推送类型为点对点推送时,根据消息推送请求生成待推送客户端获取请求,并将待推送客户端获取请求发送至客户端注册单元,获取客户端注册单元反馈的待推送客户端标识,根据获取的待推送客户端标识完成待推送消息的点对点推送,实现了当待推送消息类型不同时,消息推送接口的统一,并且使得待推送客户端的确定更加准确。

实施例三

图3是本发明实施例三所提供的消息推送系统的结构示意图,本实施例以上述实施例为基础,将消息服务器及客户端确定模块进行了具体化。如图3所示,所述客户端确认模块130包括消息订阅单元132,所述消息服务器120用于:

若所述推送类型为发布订阅,则根据所述消息推送请求生成待推送客户端获取请求,并将所述待推送客户端获取请求发送至所述消息订阅单元132。

在本实施例中,消息服务器120接收到通讯终端110发起的消息推送请求后,根据消息推送请求判断待推送消息的消息推送类型,若消息推送类型为发布订阅消息推送,则消息服务器120根据消息推送请求生成待推送客户端获取请求,将待推送客户端获取请求发送至消息订阅单元132,并接收消息订阅单元132反馈的至少一个待推送客户端标识,根据接收到的至少一个待推送客户端标识进行待推送消息的发布订阅推送。

可选的,通讯终端110发起的消息推送请求中包含有待推送消息及待推送目标标识(即待推送用户标识),消息服务器120可以根据待推送目标标识判断待推送消息的推送类型。可选的,可以将待推送目标标识的预设字段与预设标识进行匹配,将与待推送目标标识匹配的预设标识所对应的消息类型确定为待推送消息的消息类型。示例性的,可以将待推送目标标识的首位数字与预设标识进行匹配,根据匹配结果确定待推送消息的消息类型。

示例性的,若设置发布订阅消息推送的预设标识为2,则当待推送目标标识的首位数字为2时,确定待推送消息的消息类型为发布订阅消息推送,将根据消息推送请求生成的待推送客户端获取请求发送至消息订阅单元。

在上述方案的基础上,所述消息订阅单元132用于:

根据所述消息服务器120发送的待推送客户端获取请求,确定与所述待推送客户端获取请求对应的至少一个待推送客户端标识,并将所述至少一个待推送客户端标识发送至所述消息服务器120。

在本实施例中,消息服务器120发送的待推送客户端获取请求中包含有待推送目标标识,消息订阅单元132根据待推送目标标识确定待推送客户端获取请求所对应的至少一个待推送客户端标识,并将确定的待推送客户端标识发送至消息服务器120。

在上述方案的基础上,所述消息订阅单元132用于:

根据所述待推送客户端获取请求中包含的主题标识,确定与所述主题标识所对应的至少一个待推送客户端标识,并将所述至少一个待推送客户端标识发送至所述消息服务器120。

可选的,消息订阅单元132中存储有各主题的相关订阅信息,如订阅各主题的用户标识、客户端标识等。可选的,当待推送消息的推送类型为发布订阅消息推送时,待推送目标标识可以为发布订阅的主题标识。消息服务器120发送携带有主题标识的待推送客户端获取请求,消息订阅单元132根据待推送客户端获取请求中包含的主题标识确定与主题标识对应的至少一个待推送客户端标识,并将确定的待推送客户端标识发送至消息服务器120。

示例性的,若消息服务器发送的待推送客户端获取请求中包含的主题标识为“21”,则消息订阅单元根据存储的主题标识与客户端标识之间的关联关系,确定与主题标识“21”对应存储的客户端标识有“32”、“33”,并将客户端标识32”、“33”作为待推送客户端标识发送至消息服务器。

在上述方案的基础上,所述消息订阅单元132还用于:

接收待订阅用户的订阅请求,并获取所述订阅请求中包含的主题标识及客户端标识,建立所述主题标识与所述客户端标识之间的关联关系。

在本实施例中,消息订阅单元还可以响应用户的订阅请求,并存储各主题的订阅用户信息。可选的,当有用户需要订阅某一主题时,可以在通讯终端上该主题的订阅界面上点击“订阅”按钮触发订阅操作,通讯终端检测到用户触发的订阅操作时,根据用户所订阅的主题标识,结合自身的标识信息生成用户订阅请求,并将生成的用户订阅请求发送至消息服务器,消息服务器将该用户订阅请求发送至消息订阅单元,消息订阅单元获取用户订阅请求中的主题标识及客户端标识,将主题标识与客户端标识对应存储,建立主题标识与客户端标识之间的关联关系。

可选的,消息订阅请求中还可以包含订阅用户的用户标识,当消息订阅请求中包含用户标识时,消息订阅单元可以将用户标识、主题标识及客户端标识对应存储,建立用户标识、主题标识及客户端标识之间的关联关系。

本发明实施例的技术方案,在上述实施例的基础上将消息服务器及客户端确定模块进行了具体化,通过消息服务器判断待推送消息的推送类型为发布订阅消息推送时,根据消息推送请求生成待推送客户端获取请求,并将待推送客户端获取请求发送至消息订阅单元,获取消息订阅单元反馈的待推送客户端标识,根据获取的待推送客户端标识完成待推送消息的发布订阅推送,实现了当待推送消息类型不同时,消息推送接口的统一,并且使得待推送客户端的确定更加准确。

实施例四

图4a是本发明实施例四所提供的消息推送系统的结构示意图。本实施例在上述实施例的基础上,提供了一种优选实施方式。

如图4a所示,该消息推送系统可接入的客户端可以为android、ios、pc等客户端。该消息推送系统包括:接口服务模块、客户端注册模块、消息订阅模块、消息接收发送模块、配置管理模块。图4b是本发明实施例四所提供的消息推送系统中各模块的关系示意图。如图4b所示,接口服务模块对客户端注册模块、消息订阅模块、消息接收发送模块所提供的功能进行了封装,对外提供了统一的接口,以供调用。消息接收发送模块从客户端注册模块获取已注册的客户端,从消息订阅模块获取已订阅某主题的客户端列表,以便进行消息推送。消息接收发送模块在进行消息收发时会使用到配置管理模块中的部分配置数据。

图4c是本发明实施例四所提供的消息推送系统中类与模块之间的关系示意图。如图4c所示,类与模块之间的关系如下:接口服务模块划分的类为:messageservice,messageserviceimpl(messageservice的默认实现);客户端注册模块划分的类为:destinationregister;消息订阅模块划分的类为:subscriber;消息接收发送模块划分的类为:messagemanager,messagepusher,androidpusher,iospusher,pcpusher;配置管理模块划分的类为:configuration;server为服务器接口,messageserver为消息服务器,可启动或关闭消息服务器。

由图4c中可以看出,messageserver根据configuration中的相关配置启动消息服务器;messageservice注入到messageserver中,暴露给外部调用;messagemanager借助messagepusher进行消息的推送;本发明实施例所提供的消息推送系统通过提供messagepusher的不同实现,可以很方便地支持新的客户端的接入;另外,只要为messagemanager提供不同的实现,就可以接入第三方消息服务器,例如提供一个activemq的实现类activemqmessagemanager即可方便地接入第三方消息服务器activemq。

实施例五

图5a是本发明实施例五所提供的消息推送方法的流程图,本实施例可适用于使用本发明上述实施例所提供的消息推送系统进行消息推送时的情形。如图5a所示,该方法具体包括:

s510、通讯终端向消息服务器发起包含有待推送消息的消息推送请求。

s520、消息服务器根据消息推送请求向客户端确认模块发送待推送客户端获取请求。

s530、客户端确认模块根据消息服务器发送的待推送客户端获取请求确定待推送客户端获取请求所对应的至少一个待推送客户端标识,并将待推送客户端标识发送至消息服务器。

s540、消息服务器接收待推送客户端标识,并向待推送客户端标识对应的待推送客户端推送待推送消息。

在本实施例中,通过通讯终端向消息服务器发起包含有待推送消息的消息推送请求,消息服务器根据消息推送请求确认模块根据待推送客户端获取请求确定待推送客户端获取请求所对应的至少一个待推送客户端标识,并将待推送客户端标识发送至消息服务器,消息服务器接收待推送客户端标识,并向所述待推送客户端标识对应的待推送客户端推送待推送消息。

图5b是本发明实施例五所提供的消息推送方法中客户端注册的流程示意图。如图5b所示,消息服务器启动后,启动客户端(可以为android、ios、pc等类型的客户端),用户触发注册请求,客户端向消息服务器发起注册请求,消息服务器接收到客户端发起的注册请求后,建立起客户端与消息服务器之间的通信连接。可选的,可以通过调用messageserver.start()启动消息服务器。

图5c是本发明实施例五所提供的消息推送方法中消息推送的时序图。如图5c所示,客户端调用接口服务的消息推送方法(messageservice.send()),将消息发送到指定的目的地。其中,指定目的地可以为另一客户端或某个主题。当指定目的地为另一客户端时,messageservice向客户端注册模块获取与指定目的地对应的注册客户端(destinationregister.get());如果存在已注册的客户端,则向该客户端发送消息(messagemanager.send()),messagemanager借助消息推送器(messagepusher)向不同的客户端推送消息;当指定目的地为某个主题时,messageservice向消息订阅模块获取订阅了该主题(topic)的客户端,如果存在订阅客户端,则循环向各订阅客户端发送消息(messagemanager.send())。

可选的,使用消息推送系统进行消息推送的更加详细的内容可参见上述实施例,在此不再赘述。

本发明实施例使用通讯服务器通过医院接口服务器在医院业务系统内实现用户的验证及可关联用户的反馈,实现了在不需要各用户进行用户之间的关联的基础上,医院内医护人员之间的及时通讯,并且通过医院接口服务器调用医院业务系统,实现了通讯服务器与医院现有的业务系统的对接,使得在使用该系统时无需另外维护用户数据,简化了用户的使用过程。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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