一种多浏览器兼容的信息推送的实现方法与流程

文档序号:17322080发布日期:2019-04-05 21:35阅读:205来源:国知局
一种多浏览器兼容的信息推送的实现方法与流程

本发明涉及计算机信息处理的技术领域,特别涉及一种多浏览器兼容的信息推送的实现方法,其可应用于不同类型的浏览器以实现信息推送及相应的语音播报功能。



背景技术:

目前,计算机个人终端与互联网终端之间通常是基于b/s架构来实现信息的推送的,该b/s架构是指浏览器/服务器(browser/server),其只要是在计算机浏览器层面上与互联网服务器进行信息的交互推动,而b/s架构是为了克服传统的c/s架构,即客户端/服务器(client/server),存在适用面狭窄、维护难度和成本高以及对平台具有较大的依赖性等缺陷而产生的。但是,b/s架构本身也存在一定的局限性,由于b/s架构的信息推送只能采用浏览器页面定时向服务器发送请求信息来实现的,即服务器终端只能被动地接收来自浏览器终端发出的请求信息,并以接收到的请求信息为基础向浏览器终端反馈相应的响应信息内容;可见,在b/s架构下实现的信息推送机制无法使得服务器终端主动地向浏览器终端推送信息,服务器终端只能在接收到浏览器终端推送过来的信息才能作出响应,b/s架构下的这种信息推送机制会导致服务器终端信息推送不及时以及在超时回话的情况下不进行信息推送等一系列问题。

为了克服上述b/s架构下信息推送机制存在的一系列问题,可采用websocket技术在浏览器终端与服务器终端之间建立长连接,从而保证浏览器终端与服务器终端一直构建有信息推送通道,但是websocket技术中的协议并不是适用于任意浏览器,即websocket技术存在浏览器支持的问题,现在并不是所有主流浏览器都支持websocket技术采用的html5协议。可见,现有技术并不存在一种能够兼容多种不同主流浏览器并且能够实现浏览器终端与服务器终端之间长连接的信息推送机制。



技术实现要素:

在现有的计算机网络信息推送机制中,websocket技术虽然能够为b/s架构下浏览器终端与服务器终端之间建立长连接,从而解决信息推送不及时或者超时会话不推送的问题,但是websocket技术并不适用于所有浏览器,这使得部分主流浏览器不能采用websocket技术来克服b/s信息推送机制存在的缺陷,这极大的限制了websocket技术的在计算机网络信息推送中的应用范围。

针对上述b/s架构下信息推送机制存在的固有缺陷以及websocket技术并不支持和兼容大部分主流浏览器的问题,本发明提供一种多浏览器兼容的信息推送的实现方法,该实现方法能够使信息推送机制支持在ie8+、火狐、chrome、safari等主流浏览器上进行信息推送及相应的语音播报,并且该实现方法还能够使web应用的信息推送功能适用于windows、linux、ios等不同操作系统,从而极大地提高信息推送机制的兼容性和信息推送效率。

本发明提供一种多浏览器兼容的信息推送的实现方法,该信息推送的实现方法能够在java后台与前端页面之间构建信息传输链路,以实现信息的定向推送,该信息推送的实现方法包括:

步骤(1),基于webservice平台构建并实现该java后台,以及获取该前端页面对应的浏览器类型;

步骤(2),判断该前端页面对应的浏览器类型是否支持websocket协议,并根据判断的结果,确定该前端页面的数据连接状态;

步骤(3),该前端页面向该java后台发送webservice请求,该java后台基于该webservice请求,获取该java后台与该前端页面之间通信路径携带的参数;

步骤(4),基于该通信路径携带的参数,判断从服务器接收的数据消息是否满足信息推送条件,并基于判断的结果,确定是否执行信息推送操作。

进一步,在该步骤(1)中,获取该前端页面对应的浏览器类型包括通过获取客户端中存在的所有浏览器信息,基于该浏览器信息向客户端的所有浏览器定向发送一加载请求,并根据不同浏览器针对所述加载请求的反馈消息,得出该前端页面对应的浏览器类型;

进一步,在该步骤(1)中,该浏览器信息包括浏览器对应的访问日志、当前页面加载状态和脚本语言中的至少一者,该java后台根据该反馈消息创建关于所有浏览器的运行列表,该运行列表用于指示该前端页面对应的浏览器类型及其运行状态;

进一步,在该步骤(2)中,若该前端页面对应的浏览器类型支持websocket协议,则直接使该前端页面通过websocket协议建立长连接;若该前端页面对应的浏览器类型不支持websocket协议,则先采用flash插件模拟websocket协议,并当该模拟操作成功后,使该前端页面建立相应的长连接;

进一步,在该步骤(2)中,当该前端页面建立长连接成功后,该前端页面基于一时钟信号向所述java后台发送关于当前长连接的状态消息,若该状态消息指示该长连接状态正常,则继续执行后续步骤(3)和步骤(4),若该状态消息指示该长连接状态异常,则重复执行该步骤(2)以保持该长连接状态正常为止;

进一步,在该步骤(3)中,获取该java后台与该前端页面之间通信路径携带的参数包括在springmvc架构下获取该通信路径上当前的http请求状态和dns解析时间,并对该http请求状态和dns解析时间进行编码以生成相应的随机码;

进一步,在该步骤(3)中,该java后台根据该随机码判断该前端页面当前操作用户的数量和活动状态,从而区分是否存在同一操作用户多端登录的情况,若是,则将当前操作用户数量确定为1,以及确定该操作用户对应的最优先登录端口;

进一步,在该步骤(4)中,当确定操作用户在相应登录端口请求产生连接时,该java后台对该操作用户的专有信息session进行缓存,并在该专有信息session的生存期内启动相应的信息推送线程,启动该信息推送线程包括生成信息的主题及内容、信息的推送目标地址和信息的推送链路节点;

进一步,在该步骤(4)中,该java后台持续从该服务器中接收数据信息,并将该数据信息与该信息推送线程进行匹配处理,若两者匹配,则判断该数据信息满足该信息推送条件并执行该信息推送操作,若两者不匹配,则判断该数据信息不满足所述信息推送条件,从而不执行任何信息推送操作;

进一步,当该前端页面接收到来自该java后台推送的信息后,该前端页面执行关于该推送的信息的语音播报操作,并将该推送的信息进行cookies缓存,从而在操作用户在后续登录中能够显示前次未处理的告警信息。

相比于现有技术,本发明的多浏览器兼容的信息推送的实现方法通过对浏览器是否支持websocket协议进行区分,并根据区分的后结果分别对支持websocket协议的浏览器直接进行长连接设定,而对不支持websocket协议的浏览器则先采用flash插件进行websocket协议的模拟,后再进行浏览器的长连接设定,并且该实现方法还判断java后台与前端页面之间通信路径携带的参数是否满足预设的信息推送条件,最后根据该判断的结果确定是否执行信息推送操作,该实现方法能够满足在在ie8+、火狐、chrome、safari等不同主流浏览器上进行信息推送及相应的语音播报的要求,并且还支持在windows、linux、ios等不同操作系统进行信息推送,从而改善信息推送机制对不同浏览器和操作信息的兼容性和信息推送的有效性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种多浏览器兼容的信息推送的实现方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,为本发明实施例提供的多浏览器兼容的信息推送的实现方法的流程示意图。其中,该多浏览器兼容的信息推送的实现方法优选是基于b/s信息推送机制来在浏览器终端和服务器终端之间进行信息的定向推送;其中,该浏览器终端可为但不限于是ie8+、火狐、chrome或者safari等不同类型的浏览器;可选地,该浏览器终端对应的操作系统可为windows、linus或者ios等不同类型的操作系统;可选地,该服务器终端可为互联网层面上的服务器终端,以用于向该浏览器终端反馈相应的信息。

该多浏览器兼容的信息推送方法能够在java后台与前端页面之间构建信息传输链路;其中,该java后台是与互联网层面上的服务器终端相对应的,该前端页面是与计算机终端内安装的浏览器终端相对应的,并且用户可通过计算机终端内的操作系统来实施对该前端页面的操作。具体来说,该多浏览器兼容的信息推送的实现方法包括如下步骤:

步骤(1),基于webservice平台构建并实现该java后台,以及获取该前端页面对应的浏览器类型。

其中,该基于webservice平台构建并实现所述java后台具体可为在该webservice平台的java层面上进行对应javascript脚本的捕捉,并将捕捉的javascript脚本以html5格式进行接口对象的加载,该构建方式并不需要在webservice平台的底层进行抓包,即该构建方式不需要获取root控制权限就能进行相关javascript脚本的捕捉,而在java层面上进行javascript脚本的捕捉使得该捕捉操作可应用到任意的操作机器上,而不需要在获得操作机器的控制权限的前提下才能够执行该捕捉操作,这样能够使构建java后台时并不需要考虑是否需要事先获得对应webservice平台的控制权限,从而降低构建java后台的复杂性。进一步,当成功构建该java后台后,还可对该java后台进行有效性的判断,该有效性的判断具体是通过判断该java后台中的接口参数是否与该前端页面相匹配,若该java后台的接口参数与该前端页面相匹配,则判断当前的java后台为有效的java后台,若该java后台的接口参数与该前端页面不匹配,则将该不匹配的判断结果反馈至该webservice平台中,该webservice平台会重新构建另一java后台直到构建的java后台被判断为有效的java后台。

可选地,在该步骤(1)中获取该前端页面对应的浏览器类型包括通过获取客户端中存在的所有浏览器信息,并基于该浏览器信息向该客户端的所有浏览器定向发送一加载请求,并根据不同浏览器针对该加载信息的反馈消息,得出该前端页面对应的浏览器类型。实际上,虽然不同浏览器在使用界面在上会有所不同,但是浏览器之间在界面上的区别并不能真实反映该浏览器的类型特性,故为了准确获取计算机这类客户端上所有浏览器类型信息,在上述过程中会首先获取所有浏览器自身的内核信息,而浏览器自身的内核信息可通过查阅对应浏览器安装目录下的信息即可得到,再以浏览器自身的内核信息为基准,随后根据所有浏览器自身的内核信息向所有定向发送一加载请求,该加载请求是用于测试不同浏览器的内核的底层信息,而浏览器也会针对其接收到的加载请求产生并反馈前端页面对应的浏览器类型信息。

可选地,在该步骤(1)中,该浏览器信息优选包括不同浏览器对应的访问日志、当前浏览器页面加载状态和浏览器脚本语言信息中的至少一者,该java后台根据不同浏览器反馈的信息创建关于所有浏览器的运行列表,其中该运行列表可包括不同浏览器自身的内核信息,以用于指示该前端页面对应的浏览器类型信息及其相应的运行状态信息。

步骤(2),判断该前端页面对应的浏览器类型是否支持websocket协议,并根据判断的结果,确定该前端页面的数据连接状态。

由于websocket协议自身的特性,并不是所有前端页面的浏览器都支持该websocket协议,这就导致对应的与该websocket协议不支持的浏览器将无法通过该websocket协议构建浏览器终端与服务器终端之间的长连接状态,故对于不支持该websocket协议的浏览器是不能直接兼容该websocket协议的,因此判断该前端页面对应的浏览器是否支持该websocket协议是具有现实意义的。而判断该前端页面对应的浏览器类型是否支持websocket协议具体为:将该前端页面对应的浏览器内核信息与以websocket协议匹配列表进行对照处理,以判断该前端页面对应的浏览器是否兼容该websocket协议,随后根据该判断的结果确定具有不同类型浏览器的前端页面的后续数据连接状态。

可选地,在该步骤(2)中,若该前端页面对应的浏览器内核信息存在于该websocket协议匹配列表中,则判断该前端页面对应的浏览器类型支持该websocket协议,若该前端页面对应的浏览器内核信息不存在于该websocket协议匹配列表中,则判断该前端页面对应的浏览器类型并不支持该websocket协议。进一步,当该前端页面对应的浏览器类型支持该websocket协议,则直接使该前端页面通过该websocket协议构建长连接状态;当该前端页面对应的浏览器类型不支持该websocket协议,则首先采用flash插件模拟websocket协议,并在该flash插件模拟操作成功后,使该前端页面通过模拟而成的websocket协议构建相应的长连接状态。

可选地,在该步骤(2)中,当该前端页面成功建立长连接后,该前端页面能够基于一时钟信号定时地向该java后台发送关于当前长连接的状态消息,虽然该前端页面建立长连接状态后,并不是一直都能够保持处于该长连接状态,这是由于当该前端页面受到其他干扰时而导致其当前所处的长连接状态中断,此时为了在该前端页面处于长连接的状态下进行后续操作,就必须保证该前端页面长连接状态的有效性,故采用上述手段来向该java后台确定该前端页面长连接状态有效与否;若该状态消息指示该长连接状态正常,则继续执行下面的步骤(3)和步骤(4),若该状态消息指示该长连接状态异常,即该长连接状态失效,则返回执行该步骤(2)直到该长连接状态处于正常状态为止。

步骤(3),该前端页面向该java后台发送webservice请求,该java后台基于该webservice请求,获取该java后台与该前端页面之间通信路径携带的参数。

其中,在该步骤(3)中,获取该java后台与该前端页面之间通信路径携带的参数包括在springmvc架构下获取所述通信路径上当前的http请求状态和dns解析时间,并对该http请求状态和dns解析时间进行编码以生成相应的随机码;随后,该java后台根据该随机码判断该前端页面当前操作用户的数量和活动状态,从而区分是否存在同一操作用户多端登录的情况,若是,则将当前操作用户数量确定为1,以及确定该操作用户对应的最优先登录端口。

步骤(4),基于该通信路径携带的参数,判断从服务器接收的数据消息是否满足信息推送条件,并基于判断的结果,确定是否执行信息推送操作。

可选地,在该步骤(4)中,该java后台持续从所述服务器中接收数据信息,并将该数据信息与所述信息推送线程进行匹配处理,若两者匹配,则判断该数据信息满足该信息推送条件并执行该信息推送操作,若两者不匹配,则判断该数据信息不满足该信息推送条件,从而不执行任何信息推送操作。

进一步,在执行完该步骤(4)后,当该前端页面接收到来自该java后台推送的信息后,该前端页面执行关于该推送的信息的语音播报操作,并将该推送的信息进行cookies缓存,从而在操作用户在后续登录中能够显示前次未处理的告警信息。通过上述信息推送操作及其对应的语音播报操作,从而保证该前端页面推送的信息能够被当前前端页面的操作者接收。

从上述实施例可以看出,该多浏览器兼容的信息推送的实现方法能够满足在ie8+、火狐、chrome、safari等不同主流浏览器上进行信息推送及相应的语音播报的要求,并且还支持在windows、linux、ios等不同操作系统进行信息推送,从而改善信息推送机制对不同浏览器和操作信息的兼容性和信息推送的有效性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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