【技术实现步骤摘要】
一种基于Socket技术的实时消息推送方法及系统
本专利技术属于互联网
,具体涉及一种基于Socket技术的实时消息推送方法及系统。
技术介绍
互联网在当下的发展可谓突飞猛进,人们对网络的依赖程度越来越高。现在网站的数量数以亿计,如何能够让网友在网站内停留足够长的时间,即:提高用户黏度,使网友阅读更多的页面,是每个网站站长必须考虑的重要事情。目前,网友在阅读到自己感兴趣的文章时,可能会发表自己的评论,而其他用户如果能够立即查看到该评论内容,进而回复来增加用户之间的互动,就能够很好地让网友停留在本站点内。但是,传统的网页都是运行在HTTP协议之上的,不能够很好地支撑该业务实现。当下视频直播网站比较流行,在该类网站中可以查看到上述场景的应用,即:发消息弹幕。该类网站是基于Flash的ExternalInterface技术实现的。Flash技术在过去的10多年内,发挥了很重要的作用;但是随着Html5技术的推出,Flash技术的缺点就显现了出来。Flash技术不管是在功能上、还是在性能上,或者是开发运维等成本上都不如Html5有优势。因此,开发一个基于Html5技术大背景的实时消息推送迫在眉睫。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供一种基于Socket技术的实时消息推送方法及系统,可有效解决上述问题。本专利技术采用的技术方案如下:本专利技术提供一种基于Socket技术的实时消息推送方法,包括以下步骤:步骤1,实时获取网站当前用户总访问数量,根据所述当前用户总访问数量,调整数据推送模块的数量,假设数据推送模块的配置数量为N个,分别记为:第1数据推 ...
【技术保护点】
一种基于Socket技术的实时消息推送方法,其特征在于,包括以下步骤:步骤1,实时获取网站当前用户总访问数量,根据所述当前用户总访问数量,调整数据推送模块的数量,假设数据推送模块的配置数量为N个,分别记为:第1数据推送模块、第2数据推送模块…第N数据推送模块;其中,N为自然数;步骤2,每个数据推送模块均配置对应的一个数据分发模块和一个缓存队列B,即:对于任意的第i数据推送模块,均配置第i数据分发模块和第i缓存队列B;其中,i=1、2...N;因此,共配置有N个数据分发模块和N个缓存队列B;步骤3,代理转发模块基于预设定的分配规则,将当前的各个访问用户分配到各个数据推送模块管理的房间中,并使每个当前访问用户与网站服务端建立Socket长连接;步骤4,数据写入模块实时收集用户通过WEB页面上的Form表单提交的评论信息,并将所述评论信息传输给数据安全模块;步骤5,所述数据安全模块对所述评论信息进行安全过滤,如果得到合法评论信息,则将所述合法评论信息写入指定的数据库,并向所述数据写入模块发送写入成功的通知消息;步骤6,所述数据写入模块接收到写入成功的通知消息后,将步骤5得到的合法评论信息写入 ...
【技术特征摘要】
1.一种基于Socket技术的实时消息推送方法,其特征在于,包括以下步骤:步骤1,实时获取网站当前用户总访问数量,根据所述当前用户总访问数量,调整数据推送模块的数量,假设数据推送模块的配置数量为N个,分别记为:第1数据推送模块、第2数据推送模块…第N数据推送模块;其中,N为自然数;步骤2,每个数据推送模块均配置对应的一个数据分发模块和一个缓存队列B,即:对于任意的第i数据推送模块,均配置第i数据分发模块和第i缓存队列B;其中,i=1、2...N;因此,共配置有N个数据分发模块和N个缓存队列B;步骤3,代理转发模块基于预设定的分配规则,将当前的各个访问用户分配到各个数据推送模块管理的房间中,并使每个当前访问用户与网站服务端建立Socket长连接;步骤4,数据写入模块实时收集用户通过WEB页面上的Form表单提交的评论信息,并将所述评论信息传输给数据安全模块;步骤5,所述数据安全模块对所述评论信息进行安全过滤,如果得到合法评论信息,则将所述合法评论信息写入指定的数据库,并向所述数据写入模块发送写入成功的通知消息;步骤6,所述数据写入模块接收到写入成功的通知消息后,将步骤5得到的合法评论信息写入到缓存队列A中;步骤7,N个数据分发模块轮询读取缓存队列A新写入的合法评论信息,对于每个第i数据分发模块,从所述缓存队列A读取到合法评论信息后,将读取到的合法评论信息写入到对应的第i缓存队列B中;然后,第i数据推送模块从对应的第i缓存队列B中读取到合法评论信息,再判断第i数据推送模块管理的房间中的每个访问用户进入房间的时间是否早于第i数据推送模块从对应的第i缓存队列B中读取到合法评论信息的时间,如果早于,所述第i数据推送模块才将所述合法评论信息推送给该访问用户;否则,所述第i数据推送模块不会将所述合法评论信息推送给该访问用户。2.根据权利要求1所述的一种基于Socket技术的实时消息推送方法,其特征在于,步骤1中,调整数据推送模块的数量,具体为,根据所述当前用户总访问数量,增加或减少数据推送模块的数量,具体包括:步骤1.1,如果需要增加或减少一个数据推送模块,则修改数据推送配置文件中参数,增加或减少一个数据推送端口;步骤1.2,重启网站;步骤1.3,读取所述数据推送配置文件,创建或删除数据推送模块,由此增加或减少数据推送模块。3.根据权利要求1所述的一种基于Socket技术的实时消息推送方法,其特征在于,步骤3中,代理转发模块基于预设定的分配规则,将当前的各个访问用户分配到各个数据推送模块管理的房间中,具体为:步骤3.1,代理转发模块根据用户访问来源,获取访问用户IP信息;步骤3.2,代理转发模块根据hash算法,将访问用户分配到对应的数据推送模块管理的房间中,并使访问用户与网站服务端建立Socket长连接;步骤3.3,如果步骤3.2执行失败,则将访问用户分配到响应时间最短的数据推送模块管理的房间中。4.根据权利要...
【专利技术属性】
技术研发人员:丁玲,
申请(专利权)人:北京知行锐景科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。