一种实时推送消息的方法及服务器的制造方法

文档序号:7802893阅读:160来源:国知局
一种实时推送消息的方法及服务器的制造方法
【专利摘要】本发明公开了一种实时推送消息的方法及服务器,其中,该方法包括:接收用户端通过微信平台发送的事件消息,事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息;解析事件消息并根据事件消息建立驱动事件;通过事件驱动机制将事件消息发送至前端,指示前端根据事件消息的消息类型分类显示事件消息。通过事件驱动机制发送消息,可以提高CPU利用率,提高处理效率,且实现实时推送通知。
【专利说明】一种实时推送消息的方法及服务器
【技术领域】
[0001]本发明涉及通信【技术领域】,具体地,涉及一种实时推送消息的方法及服务器。
【背景技术】
[0002]微信是腾讯公司于2011年I月21日推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。微信支持iPhone、Android、WindowsPhone、塞班平台的手机之间相互收发消息,兼容性非常强。截至目前,已有3亿的微信用户群体,并且用户规模一直在爆发式增长。用户可以通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联系。微信软件本身完全免费,使用任何功能都不会收取费用。微信除了群聊之外,还有公众平台。公众平台主要有实时交流、消息发送和素材管理。用户对自己的粉丝分组管理、实时交流都在可以在这个界面完成。普通的公众账号,可以群发文字、图片、语音三个类别的内容。目前,微信提供了第三方的接口,通过第三方的接口,可以公众账号的形式为用户服务。
[0003]现有的技术中微信公共账号可以接收到用户发送的文本、语音、图片、视频等,同时某微信账户关注或取消关注了需要相应的在前端添加或删除用户。其中,微信公共账号接收的信息混乱复杂,影响微信公共账号的信息处理效率,同时不能及时快速接收到用户提交的信息。

【发明内容】

[0004]本发明是为了克服现有技术中微信公共账号不能及时快速接收到用户提交信息的技术问题,根据本发明的一个方面,提出一种实时推送消息的方法。
[0005]根据本发明实施例提供的一种实时推送消息的方法,包括:接收用户端通过微信平台发送的事件消息,事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息;解析事件消息并根据事件消息建立驱动事件;通过事件驱动机制将事件消息发送至前端,指示前端根据事件消息的消息类型分类显示事件消息。
[0006]在上述技术方案中,事件消息中包括用户端的GPS数据;
[0007]当事件消息中包括用户端的GPS数据时,指示前端根据事件消息的消息类型分类显示事件消息,包括:指示前端根据GPS数据确定用户端的定位信息;指示前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消息。
[0008]在上述技术方案中,事件驱动机制为nodejs的事件驱动机制。
[0009]在上述技术方案中,通过事件驱动机制将事件消息发送至前端,包括:与前端建立websocket连接,监听驱动事件;在确定事件消息后将事件消息推送至前端。
[0010]在上述技术方案中,当事件消息为关注事件消息时,接收用户端通过微信平台发送的事件消息,包括:
[0011]接收用户端通过微信平台发送的关注事件消息;
[0012]向用户端返回验证码并指示用户端提交正确的验证码;[0013]在用户端提交的验证码正确时,确定关注事件消息。
[0014]在上述技术方案中,当事件消息为取消关注事件消息时,指示前端根据事件消息的消息类型分类显示事件消息之后,还包括:在预设时间段之后,指示前端取消显示取消关注事件消息。
[0015]本发明实施例提供的一种实时推送消息的方法,通过事件驱动机制发送消息,可以提高CPU利用率,提高处理效率;通过websocket实现即时通信和即时服务;同时,根据事件消息中的GPS数据确定用户端的位置信息,从而在前端地图中的相应位置显示该事件消息,实现实时推送通知且自动定位。
[0016]本发明是为了克服现有技术中微信公共账号不能及时快速接收到用户提交信息的技术问题,根据本发明的一个方面,提出一种实时推送消息的服务器。
[0017]本发明实施例提供的一种实时推送消息的服务器,包括:
[0018]接收模块,用于接收用户端通过微信平台发送的事件消息,事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息;
[0019]事件驱动模块,用于解析事件消息并根据事件消息建立驱动事件;
[0020]发送模块,用于通过事件驱动机制将事件消息发送至前端,指示前端根据事件消息的消息类型分类显示事件消息。
[0021]在上述技术方案中,事件消息中包括用户端的GPS数据;
[0022]当事件消息中包括用户端的GPS数据时,发送模块还用于:
[0023]指示前端根据GPS数据确定用户端的定位信息;
[0024]指示前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消
肩、O
[0025]在上述技术方案中,事件驱动机制为nodejs的事件驱动机制。
[0026]在上述技术方案中,发送模块包括:
[0027]连接单元,用于与前端建立websocket连接,监听驱动事件;
[0028]推送单元,用于在确定事件消息后将事件消息推送至前端。
[0029]在上述技术方案中,当事件消息为关注事件消息时,接收模块还用于:
[0030]接收用户端通过微信平台发送的关注事件消息;
[0031]向用户端返回验证码并指示用户端提交正确的验证码;
[0032]在用户端提交的验证码正确时,确定关注事件消息。
[0033]在上述技术方案中,当事件消息为取消关注事件消息时,还包括:
[0034]取消显示模块,用于在预设时间段之后,指示前端取消显示取消关注事件消息。
[0035]本发明实施例提供的一种实时推送消息的服务器,该服务器通过事件驱动机制发送消息,可以提高CPU利用率,提高处理效率;且服务器通过websocket实现即时通信和即时服务;同时,根据事件消息中的GPS数据确定用户端的位置信息,从而在前端地图中的相应位置显示该事件消息,实现实时推送通知且自动定位。
[0036]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0037]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。【专利附图】

【附图说明】
[0038]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0039]图1为本发明实施例中实时推送消息的方法流程图;
[0040]图2为本发明实施例一中实时推送消息的详细方法流程图;
[0041]图3为本发明实施例二中实时推送消息的详细方法流程图;
[0042]图4为本发明实施例中实时推送消息服务器的具体结构图;
[0043]图5为本发明实施例中实时推送消息服务器的详细结构图。
【具体实施方式】
[0044]下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解此处所描述的优选实施例仅用于说明和解释本发明,本发明的保护范围并不受【具体实施方式】的限制。
[0045]本发明实施例提供一种实时推送消息的方法,参见图1所示,该方法的主要流程如下:
[0046]步骤101:接收用户端通过微信平台发送的事件消息,该事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息。
[0047]其中,关注事件消息具体指用户端关注微信公共账号的事件消息;取消关注事件消息具体指用户端取消关注微信公共账号的事件消息;发送时间消息具体指已经关注微信公共账号的用户端向该微信公共账号所发送的事件消息,可以包括文本、语音、图片、视频等。本发明实施例中,根据事件消息的不同类型执行不同的处理或操作。
[0048]例如,当该事件消息为关注事件消息时,其为微信用户第一次关注该微信公共账号,需要对微信用户进行初步验证,具体可以通过提交验证码的方式验证该微信用户。此时,步骤101具体包括步骤A1-A3:
[0049]步骤Al、接收用户端通过微信平台发送的关注事件消息;
[0050]步骤A2、向用户端返回验证码并指示用户端提交正确的验证码;
[0051]步骤A3、在用户端提交的验证码正确时,确定关注事件消息。
[0052]优选的,该事件消息中还包括用户端的GPS数据。用户端可以通过具有GPS功能的移动通信装置将当前所在位置的经纬度数据发送至服务器,服务器根据该GPS数据可以确定用户端的定位信息。
[0053]步骤102:解析事件消息并根据事件消息建立驱动事件。
[0054]通过解析事件消息可以确定事件消息的消息类型;通过建立驱动事件可以确定触发条件,释放CPU,从而提高CPU利用率,提高处理效率。
[0055]在建立驱动事件后,可以利用事件驱动机制将事件消息发送至前端。本发明实施例中,该事件驱动机制为nodejs的事件驱动机制。nodejs是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的,易于扩展的网络应用。Nodejs借助事件驱动,非阻塞I/O模型变得轻量和高效;同时,Nodejs对一些特殊用例进行了优化,提供了替代的API (Application Programming Interface,应用程序编程接口),从而可以提高效率。[0056]步骤103:通过事件驱动机制将事件消息发送至前端,指示前端根据事件消息的消息类型分类显示事件消息。
[0057]具体的,步骤103中的通过事件驱动机制将事件消息发送至前端,具体包括步骤B1-B2:
[0058]步骤B1、与前端建立websocket连接,监听驱动事件;
[0059]步骤B2、在确定事件消息后将事件消息推送至前端。
[0060]WebSocket是HTML5的一种新的协议,实现了浏览器与服务器全双工通信。在WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以数据互相传送,实现即时通信和即时服务。
[0061]优选的,当上述事件消息中包括用户端的GPS数据时,步骤103中的指示前端根据事件消息的消息类型分类显示事件消息,具体包括步骤C1-C2:
[0062]步骤Cl、指示前端根据GPS数据确定用户端的定位信息;
[0063]步骤C2、指示前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消息。
[0064]本发明实施例中,将事件消息分为三种消息类型:关注事件消息类型、取消关注事件消息类型和发送事件消息类型。在前端分类显示事件消息时,可以根据消息颜色进行区分,或者消息显示区域的形状进行区分。
[0065]优选的,当事件消息为取消关注事件消息时,在步骤103的指示前端根据事件消息的消息类型分类显示事件消息之后,还包括:
[0066]在预设时间段之后,指示前端取消显示取消关注事件消息。
[0067]当事件消息为取消关注事件消息时,则用户不再关注该微信公共账号,因此应该在前端显示中将该用户端的信息删除,即在前端取消显示该用户。若该取消关注事件消息中包括GPS数据,则在前端地图中不再显示该用户。
[0068]本发明实施例提供的一种实时推送消息的方法,通过事件驱动机制发送消息,可以提高CPU利用率,提高处理效率;通过websocket实现即时通信和即时服务;同时,根据事件消息中的GPS数据确定用户端的位置信息,从而在前端地图中的相应位置显示该事件消息,实现实时推送通知且自动定位。
[0069]下面通过一个实施例详细介绍该实时推送消息方法的具体流程。
[0070]实施例一
[0071]在实施例一中,用户端发送包含GPS数据的事件消息,服务器与前端之间建立wobsocket连接,实现实时推送,并在前端地图中显示相应的事件消息。参见图2所示,具体步骤如下:
[0072]步骤201:接收用户端通过微信平台发送的事件消息,该事件消息包含GPS数据。
[0073]如上所述,该事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消
肩、O
[0074]步骤202:解析事件消息,确定事件消息的消息类型。
[0075]步骤203:根据事件消息建立驱动事件。
[0076]步骤204:服务器与前端建立websocket连接,监听驱动事件。
[0077]步骤205:在确定事件消息后将事件消息推送至前端。[0078]步骤206:前端根据事件消息中的GPS数据确定用户端的定位信息。
[0079]步骤207:前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消息。
[0080]步骤208:当事件消息为取消关注事件消息时,在预设时间段之后,前端地图取消显示取消关注事件消息。
[0081]在实施例一中,服务器与前端之间建立wobsocket连接,实现实时推送,同时,根据事件消息中的GPS数据确定用户端的位置信息,从而在前端地图中的相应位置显示该事件消息,实现实时推送通知且自动定位。
[0082]实施例二
[0083]由于用户端发送的事件消息不同,服务器的处理过程也不相同,下面通过实施例二详细介绍当事件消息为关注事件消息时,用户端、服务器以及前端地图之间的交互过程。
[0084]参见图3所示,实时推送消息的方法流程如下:
[0085]步骤301:用户端通过微信平台向服务器发送包含GPS数据的关注事件消息。
[0086]步骤302:服务器向用户端返回验证码并指示用户端提交正确的验证码。
[0087]步骤303:用户端想服务器提交验证码,当验证码正确时,服务器确定关注事件消
肩、O
[0088]步骤304:根据关注事件消息建立nodejs驱动事件。
[0089]在实施例二中,该服务器支持nodejs,可以实现事件驱动机制。或者也可以借助其他支持nodejs的服务器完成上述过程。
[0090]其中,步骤304之前还包括解析事件消息,确定事件消息的消息类型。由于在实施例二中该事件消息确定为关注事件消息,故省略。
[0091]步骤305:服务器与前端地图建立websocket连接,前端地图实时监听驱动事件。
[0092]步骤306:服务器在确定关注事件消息后将该关注事件消息推送至前端地图。
[0093]步骤307:前端根据关注事件消息中的GPS数据确定用户端的定位信息。
[0094]步骤308:前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消息。
[0095]实施例二中详细介绍了用户端、服务器以及前端地图之间的交互过程。其中,当事件消息为其他事件消息时,也可以增加验证码验证的步骤,当事件消息为取消关注时间消息时,步骤308之后还包括上述实施例一中的步骤208,此处不做详述。
[0096]以上详细介绍了实时推送消息的方法,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
[0097]本发明实施例提供一种推送消息的服务器,参见图4所示,该服务器具体包括:
[0098]接收模块401,用于接收用户端通过微信平台发送的事件消息,事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息;
[0099]事件驱动模块402,用于解析事件消息并根据事件消息建立驱动事件;
[0100]发送模块403,用于通过事件驱动机制将事件消息发送至前端,指示前端根据事件消息的消息类型分类显示事件消息。
[0101]优选的,事件消息中包括用户端的GPS数据;
[0102]当事件消息中包括用户端的GPS数据时,发送模块403还用于:[0103]指示前端根据GPS数据确定用户端的定位信息;
[0104]指示前端根据事件消息的消息类型分类、根据定位信息在前端地图上显示事件消
肩、O
[0105]优选的,事件驱动机制为nodejs的事件驱动机制。
[0106]优选的,参见图5所示,发送模块403包括:
[0107]连接单元4031,用于与前端建立websocket连接,监听驱动事件;
[0108]推送单元4032,用于在确定事件消息后将事件消息推送至前端。
[0109]优选的,当事件消息为关注事件消息时,接收模块401还用于:
[0110]接收用户端通过微信平台发送的关注事件消息;
[0111]向用户端返回验证码并指示用户端提交正确的验证码;
[0112]在用户端提交的验证码正确时,确定关注事件消息。
[0113]优选的,当事件消息为取消关注事件消息时,该服务器还包括取消显示模块404。
[0114]取消显示模块404用于在预设时间段之后,指示前端取消显示取消关注事件消
肩、O
[0115]本发明实施例提供的一种实时推送消息的服务器,该服务器通过事件驱动机制发送消息,可以提高CPU利用率,提高处理效率;且服务器通过websocket实现即时通信和即时服务;同时,根据事件消息中的GPS数据确定用户端的位置信息,从而在前端地图中的相应位置显示该事件消息,实现实时推送通知且自动定位。
[0116]本发明能有多种不同形式的【具体实施方式】,上面以图1-图5为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
[0117]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0118]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0119]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0120]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0121]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种实时推送消息的方法,其特征在于,包括: 接收用户端通过微信平台发送的事件消息,所述事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息; 解析所述事件消息并根据所述事件消息建立驱动事件; 通过事件驱动机制将所述事件消息发送至前端,指示前端根据所述事件消息的消息类型分类显示所述事件消息。
2.根据权利要求1所述的方法,其特征在于,所述事件消息中包括用户端的GPS数据; 当所述事件消息中包括用户端的GPS数据时,所述指示前端根据所述事件消息的消息类型分类显示所述事件消息,包括: 指示前端根据所述GPS数据确定用户端的定位信息; 指示前端根据所述事件消息的消息类型分类、根据所述定位信息在前端地图上显示所述事件消息。
3.根据权利要求1或2所述的方法,其特征在于,所述事件驱动机制为nodejs的事件驱动机制。
4.根据权利要求1或2所述的方法,其特征在于,所述通过事件驱动机制将所述事件消息发送至前端,包括: 与前端建立websocket连接,监听所述驱动事件; 在确定所述事件消息后将所述事件消息推送至前端。
5.根据权利要求1或2所述的方法,其特征在于,当所述事件消息为关注事件消息时,所述接收用户端通过微信平台发送的事件消息,包括: 接收用户端通过微信平台发送的关注事件消息; 向用户端返回验证码并指示用户端提交正确的验证码; 在用户端提交的验证码正确时,确定所述关注事件消息。
6.根据权利要求1或2所述的方法,其特征在于,当所述事件消息为取消关注事件消息时,所述指示前端根据所述事件消息的消息类型分类显示所述事件消息之后,还包括: 在预设时间段之后,指示前端取消显示所述取消关注事件消息。
7.一种实时推送消息的服务器,其特征在于,包括: 接收模块,用于接收用户端通过微信平台发送的事件消息,所述事件消息包括:关注事件消息、取消关注事件消息和/或发送事件消息; 事件驱动模块,用于解析所述事件消息并根据所述事件消息建立驱动事件; 发送模块,用于通过事件驱动机制将所述事件消息发送至前端,指示前端根据所述事件消息的消息类型分类显示所述事件消息。
8.根据权利要求7所述的服务器,其特征在于,所述事件消息中包括用户端的GPS数据; 当所述事件消息中包括用户端的GPS数据时,所述发送模块还用于: 指示前 端根据所述GPS数据确定用户端的定位信息; 指示前端根据所述事件消息的消息类型分类、根据所述定位信息在前端地图上显示所述事件消息。
9.根据权利要求7或8所述的服务器,其特征在于,所述事件驱动机制为nodejs的事件驱动机制。
10.根据权利要求7或8所述的服务器,其特征在于,所述发送模块包括: 连接单元,用于与前端建立websocket连接,监听所述驱动事件; 推送单元,用于在确定所述事件消息后将所述事件消息推送至前端。
11.根据权利要求7或8所述的服务器,其特征在于,当所述事件消息为关注事件消息时,所述接收模块还用于: 接收用户端通过微信平台发送的关注事件消息; 向用户端返回验证码并指示用户端提交正确的验证码; 在用户端提交的验证码正确时,确定所述关注事件消息。
12.根据权利要求7或8所述的服务器,其特征在于,当所述事件消息为取消关注事件消息时,还包括: 取消显示模块,用于在预设时间段之后,指示前端取消显示所述取消关注事件消息。
【文档编号】H04L12/58GK103929497SQ201410183335
【公开日】2014年7月16日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】朱红磊 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1