【技术实现步骤摘要】
一种基于nodejs的消息提醒系统与方法
本专利技术涉及消息提醒领域,具体提供一种基于nodejs的消息提醒系统及方法。
技术介绍
Nodejs是一个ChromeV8引擎的JavaScript运行环境。Nodejs使用了一个事件驱动、非阻塞式I/O的模型。Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由RyanDahl开发,实质是对ChromeV8引擎进行了封装。Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于ChromeJavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。目前,针对系统内的消息提醒,多半是调用接口将消息存在数据库中,然后页面启动轮循,反复调用查询接口,做到消息提醒的业务。时间长了页面出现卡顿,数据库压力增大,可能造成数据库卡死现象。尤其是在电商业务系统中,对消息实时性要求性较高,出现卡死现象会严重影响工作效率,如何避免这样的现象发生是本领域技术人员要亟需解决的问题。
技术实现思路
本专利技术是针对上述现有技术的不足,提供一种设计合理,安全适用的基于nodejs的消息提醒系统。 ...
【技术保护点】
1.一种基于nodejs的消息提醒系统,其特征在于,由Web前端模块、nodejs服务端模块和消息存储服务模块组成,Web前端模块和nodejs服务端模块连接,nodejs服务端模块与消息存储服务模块连接;/n所述Web前端模块包括连接子模块、心跳重连子模块、消息监听子模块和消息提醒子模块,所述连接子模块用于调用服务端暴露的socket端口;所述心跳重连子模块用于服务端收到信息做相应的回复;所述消息监听子模块用于启动相应的监听接口;所述消息提醒子模块用于收到消息之后,将消息分解,提取消息内容,并在页面弹出提示框;/n所述nodejs服务端模块包括连接管理子模块、消息收发子模块、消息存储子模块和服务接口子模块,所述连接管理子模块用于响应Web前端模块中的消息监听子模块,并建立相应心跳检测,建立连接之后将用户连接唯一编码的用户编码相关联,存放至redis数据库中;所述消息收发子模块用于收到消息后,解析消息体,根据接受者连接的唯一编码,将消息体实时推送至目标连接;所述消息存储子模块用于在收到消息并推送的同时,调用异步存储接口,直接将发送记录存储在数据库中;所述服务接口子模块用于提供用户查询信 ...
【技术特征摘要】
1.一种基于nodejs的消息提醒系统,其特征在于,由Web前端模块、nodejs服务端模块和消息存储服务模块组成,Web前端模块和nodejs服务端模块连接,nodejs服务端模块与消息存储服务模块连接;
所述Web前端模块包括连接子模块、心跳重连子模块、消息监听子模块和消息提醒子模块,所述连接子模块用于调用服务端暴露的socket端口;所述心跳重连子模块用于服务端收到信息做相应的回复;所述消息监听子模块用于启动相应的监听接口;所述消息提醒子模块用于收到消息之后,将消息分解,提取消息内容,并在页面弹出提示框;
所述nodejs服务端模块包括连接管理子模块、消息收发子模块、消息存储子模块和服务接口子模块,所述连接管理子模块用于响应Web前端模块中的消息监听子模块,并建立相应心跳检测,建立连接之后将用户连接唯一编码的用户编码相关联,存放至redis数据库中;所述消息收发子模块用于收到消息后,解析消息体,根据接受者连接的唯一编码,将消息体实时推送至目标连接;所述消息存储子模块用于在收到消息并推送的同时,调用异步存储接口,直接将发送记录存储在数据库中;所述服务接口子模块用于提供用户查询信息的服务;
所述消息存储服务模块用于消息数据持久化存放。
2.根据权利要求1所述的一种基于nodejs的消息提醒系统,其特征在于,所述连接子模块调用socket端口后,经过三次握手协议建立socket长连接。
3.根据权利要求2所述的一种基于nodejs的消息提醒系统,其特征在于,所述消息监听子模块启动receiveMsg,在服务端触发sendMsg接口,实时接收到发送的消息。
4.根据权利要求3所述的一种基于nodejs的消息提醒系统,其特征在于,所述服务接口子模块包括发送消息接口、历史消息查询接口和在线用户查询接口;
所述发送消息接口子模块用于供发送者调用的推送消息接口;
所述历史消息查询接口子模块用于查询发送记录;
所述在线用户查询接口子模块用于从redis直接查询所有在线用户信息。
5.根据权利要求4所述的一种基于nodejs的消息提醒系统,其特征在于,所述用于查询发送的记录包含发...
【专利技术属性】
技术研发人员:王洁,
申请(专利权)人:浪潮软件股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。