CN103678009B - 网页页面的订阅者接收网络数据的方法和装置 - Google Patents

网页页面的订阅者接收网络数据的方法和装置 Download PDF

Info

Publication number
CN103678009B
CN103678009B CN201310653272.7A CN201310653272A CN103678009B CN 103678009 B CN103678009 B CN 103678009B CN 201310653272 A CN201310653272 A CN 201310653272A CN 103678009 B CN103678009 B CN 103678009B
Authority
CN
China
Prior art keywords
modules
flashsocket
api
etag
websocket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310653272.7A
Other languages
English (en)
Other versions
CN103678009A (zh
Inventor
杜大鹏
杨文�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sina Technology China Co Ltd
Original Assignee
Sina Technology China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sina Technology China Co Ltd filed Critical Sina Technology China Co Ltd
Priority to CN201310653272.7A priority Critical patent/CN103678009B/zh
Publication of CN103678009A publication Critical patent/CN103678009A/zh
Application granted granted Critical
Publication of CN103678009B publication Critical patent/CN103678009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种网页页面的订阅者接收网络数据的方法和装置,所述方法包括:由浏览器打开的网页页面中的订阅者创建的订阅器,接收到订阅者发送的建立连接的指令后,若WebSocket模块有效,则调用该模块的网络连接API,以WebSocket模式接收网络数据后发送给订阅者;否则:若FlashSocket模块有效,则调用该模块的网络连接API,以FlashSocket模式接收网络数据后发送给订阅者,若FlashSocket模块无效,则调用Etag模块的网络连接API,以Etag模式接收网络数据后发送给订阅者。从而,本发明可以更好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。

Description

网页页面的订阅者接收网络数据的方法和装置
技术领域
本发明涉及网络技术,尤其涉及一种网页页面的订阅者接收网络数据的方法和装置。
背景技术
随着网络技术的发展,一些网站对实时性数据显示的要求较高,比如,竞价、股票行情、社交通讯等网站。为更好地保证这些网站的网页页面中的数据的实时性,可以采用服务器推送技术来更新这些网页页面中的数据。
例如,基于WebSocket(网络套接字)的推送技术,其具体为:浏览器向服务器发送WebSocekt连接请求,服务器响应该连接请求后建立与浏览器之间的socket(套接字)连接,这样服务器便可向浏览器主动传送数据,从而实现数据推送;为便于描述,在本文中将浏览器基于该推送技术接收服务器推送的数据的方式称为WebSocket模式。然而,兼容WebSocket模式的浏览器通常是高版本浏览器(如版本大于10的Internet Explorer(IE浏览器)),因此WebSocket模式仅适用于装有高版本浏览器的移动终端和PC(PersonalComputer,个人电脑)。
再如,基于Flash(矢量多媒体技术)的XML(可扩展标记语言)Socket或Socket对象的推送技术,其具体为:包含Flash应用(即Flash player(动画播放器))的浏览器与服务器建立socket连接,之后服务器可以主动向浏览器的Flash应用发送数据,从而实现数据推送;为便于描述,在本文中将浏览器基于该推送技术接收服务器推送的数据的方式称为FlashSocket模式,即基于矢量多媒体技术的套接字模式。然而,FlashSocket模式对Flash的依赖性较强,支持包含Flash player的浏览器,因此FlashSocket模式适用于装有包含Flash player的浏览器的PC,但不适用于手机等移动终端。
综上所述,现有的WebSocket模式或FlashSocket模式的适用性较差,不能很好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。
发明内容
本发明实施例提供了一种网页页面的订阅者接收网络数据的方法和装置,用以更好地支持大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。
根据本发明的一个方面,提供了一种网页页面的订阅者接收网络数据的方法,包括:
由浏览器打开的网页页面中的订阅者创建的订阅器,在接收到所述订阅者发送的建立连接的指令后,若网络套接字WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API,以WebSocket模式接收网络数据后发送给所述订阅者;否则:
若基于矢量多媒体技术的套接字FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,以FlashSocket模式接收网络数据后发送给所述订阅者;若所述FlashSocket模块无效,则调用实体标签Etag模块的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。
较佳地,在所述接收到所述订阅者发送的建立连接的指令之前,还包括:
所述订阅者创建所述订阅器后,所述订阅器调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;
其中,所述WebSocket模块的有效查询API若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
较佳地,在所述确认所述WebSocket模块无效后,还包括:
所述订阅器调用FlashSocket模块的有效查询API;
所述订阅器若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;
其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
较佳地,在所述调用所述WebSocket模块的网络连接API后,或者在所述调用所述FlashSocket模块的网络连接API后,还包括:
所述订阅器设置计时器进行计时;所述计时器超时后,所述订阅器确认此次连接尝试失败;
所述订阅器确认连接尝试失败次数超过设定次数后,调用Etag模块的网络连接API。
较佳地,在所述调用所述WebSocket模块的网络连接API后,还包括:
所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述WebSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API;以及
在所述调用所述FlashSocket模块的网络连接API后,所述方法还包括:
所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述FlashSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API。
较佳地,在所述调用Etag模块的网络连接API后,还包括:
所述Etag模块的网络连接API发送最简Etag请求至少两次;
若其中任意两次接收的返回数据相同,则确认Etag模式无效;之后,在所述订阅者欲访问的统一资源定位符URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给所述订阅者;
否则,确认Etag模式有效;以及
所述以Etag模式接收网络数据后发送给所述订阅者,具体为:
所述Etag模块的网络连接API在确认Etag模式有效后,以Etag模式接收网络数据后发送给所述订阅者。
根据本发明的另一个方面,还提供了一种网页页面的订阅者接收网络数据的装置,包括:由浏览器打开的网页页面中的订阅者创建的订阅器、网络套接字WebSocket模块、基于矢量多媒体技术的套接字FlashSocket模块、以及实体标签Etag模块;
其中,所述订阅器用于在接收到所述订阅者发送的建立连接的指令后,若所述WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API;否则:若所述FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,若所述FlashSocket模块无效,则调用Etag模块的网络连接API;
所述WebSocket模块的网络连接API用于以WebSocket模式接收网络数据后发送给所述订阅者;
所述FlashSocket模块的网络连接API用于以FlashSocket模式接收网络数据后发送给所述订阅者;
所述Etag模块的网络连接API用于以Etag模式接收网络数据后发送给所述订阅者。
较佳地,所述订阅器还用于在其被创建后,调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;其中,所述WebSocket模块的有效查询API用于若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
较佳地,所述订阅器还用于在确认所述WebSocket模块无效后,调用FlashSocket模块的有效查询API;若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
较佳地,所述Etag模块的网络连接API具体用于发送最简Etag请求至少两次;若其中任意两次接收的返回数据相同,则确认Etag模式无效,并在所述订阅者欲访问的统一资源定位符URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给所述订阅者;否则,确认Etag模式有效后,以Etag模式接收网络数据后发送给所述订阅者。
本发明的技术方案中,浏览器打开的网页页面中的订阅者创建的订阅器,在接收到订阅者发送的建立连接的指令后,若WebSocket模块有效,则网页页面中的订阅者可通过WebSocket模式接收到网络数据;否则:若FlashSocket模块有效,则网页页面中的订阅者可通过FlashSocket模式接收到网络数据,若FlashSocket模块无效,则网页页面中的订阅者可通过Etag模式接收到网络数据。由此,浏览器打开的网页页面的订阅者可通过WebSocket模式、FlashSocket模式和Etag模式三种模式中的一种接收到网络数据,也就是,在三种模式的任一种有效的情况下,订阅者便可接收到网络数据,从而本发明可以更好地支持大多数移动终端和大多数PC接收服务器实时更新的网页页面中的网络数据。
而且,对于网络运营商布设的服务器对URL进行缓存,即Etag模式无效的情况,本发明可采取在订阅者欲访问的URL后添加随机数的方式进行网络数据的获取,进一步更好地支持大多数移动终端和大多数PC接收服务器实时更新的网页页面中的网络数据。
附图说明
图1为本发明实施例的网页页面的订阅者接收网络数据的装置的内部结构框图;
图2为本发明实施例的确定WebSocket模块和FlashSocket模块是否有效的方法流程图;
图3为本发明实施例的网页页面的订阅者接收网络数据的方法的流程图;
图4为本发明实施例的Etag模块根据Etag模式是否有效的结果获取网络数据的方法的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的发明人考虑到,结合WebSocket模式和FlashSocket模式,浏览器的网页页面在WebSocket模式可用的情况下,以WebSocket模式接收网络数据;在WebSocket模式不可用、FlashSocket模式可用的情况下,以FlashSocket模式接收网络数据。同时,将WebSocket模式和FlashSocket模式再结合Etag模式,浏览器的网页页面在WebSocket模式、FlashSocket模式均不可用的情况下,以Etag(实体标签)模式接收网络数据,使得安装在移动终端或PC上的浏览器可以三种模式中的一种接收网络数据,再加上这三种模式接收网络数据的实时性均较好,从而更好地支持了大多数移动终端和大多数PC接收实时更新的网页页面中的网络数据。
其中,Etag是一个可以与网络资源关联的记号(token),其作用具体体现在如下过程中:客户端的浏览器向服务器请求一个网页页面A,服务器给网页页面A加上一个Etag后返回网页页面A。之后,浏览器再次请求网页页面A时,将上次请求时服务器返回的Etag一起传递给服务器;服务器根据该Etag,仅将自上次浏览器请求之后网页页面A更新的数据返回。
基于Etag的轮询方式是指在普通轮询的基础上增加Etag协议,浏览器多次请求后服务器仅返回网页页面最近更新的数据,其余返回空的数据包;这样,提高轮询频率也不会造成大量的网络带宽的浪费,且在轮询频率较高的情况下与服务器推送数据的效果基本相同。为便于描述,在本文中将浏览器基于该种轮询方式接收服务器发送的网络数据的方式称为Etag模式。
下面结合附图详细说明本发明的技术方案。本发明实施例提供的网页页面的订阅者接收网络数据的装置的内部结构框图,如图1所示,包括:WebSocket模块102、FlashSocket模块103、Etag模块104,以及由浏览器打开的网页页面中的订阅者创建的订阅器101。
事实上,在网页页面中的订阅者创建订阅器101之后,订阅器101可确定出WebSocket模块102和FlashSocket模块103是否有效,具体方法的流程如图2所示,包括如下步骤:
S201:订阅器101调用WebSocket模块102的有效查询API。
具体地,在订阅者创建订阅器101之后,订阅器101调用WebSocket模块102的有效查询API(Application Programming Interface,应用程序接口);WebSocket模块102的有效查询API若判断出WebSocket模块102的各依赖项(如浏览器版本、网络带宽等)均有效,则向订阅器101返回有效结果(模块有效的结果);否则,向订阅器101返回无效结果(模块无效的结果)。
S202:订阅器101确定是否接收到WebSocket模块102的有效查询API返回的模块有效的结果;若是,则执行步骤S203;否则,执行步骤S204。
S203:订阅器101确认WebSocket模块102有效。
具体地,订阅器101若确定接收到WebSocket模块102的有效查询API返回的模块有效的结果,则确认WebSocket模块102有效,即浏览器可通过WebSocket模式接收服务器推送的网络数据,并置WebSocket模块102有效标记为真。
S204:订阅器101确认WebSocket模块102无效。
具体地,订阅器101若确定接收到WebSocket模块102的有效查询API返回的模块无效的结果,则确认WebSocket模块102无效,即浏览器不可通过WebSocket模式接收服务器推送的网络数据,并置WebSocket模块102有效标记为假。
由此,订阅器101在本步骤中确认WebSocket模块102无效后,进一步通过执行步骤S205~S208确定FlashSocket模块103是否有效。
S205:订阅器101调用FlashSocket模块103的有效查询API。
具体地,订阅器101确认WebSocket模块102无效后,调用FlashSocket模块103的有效查询API;FlashSocket模块103的有效查询API若判断出FlashSocket模块103的各依赖项(如浏览器是否装有Flash player、网络带宽等)均有效,则向订阅器101返回有效结果(模块有效的结果);否则,向订阅器101返回无效结果(模块无效的结果)。
S206:订阅器101确定是否接收到FlashSocket模块103的有效查询API返回的模块有效的结果;若是,则执行步骤S207;否则,执行步骤S208。
S207:订阅器101确认FlashSocket模块103有效。
具体地,订阅器101若接收到FlashSocket模块103的有效查询API返回的模块有效的结果,则确认FlashSocket模块103有效,即浏览器可通过FlashSocket模式接收服务器推送的网络数据,并置FlashSocket模块103有效标记为真。
S208:订阅器101确认FlashSocket模块103无效。
具体地,订阅器101若接收到FlashSocket模块103的有效查询API返回的模块无效的结果,则确认FlashSocket模块103无效,即浏览器不可通过FlashSocket模式接收服务器推送的网络数据,并置FlashSocket模块103有效标记为假。
在上述订阅器101确定出WebSocket模块102和FlashSocket模块103是否有效后,基于网页页面的订阅者接收网络数据的装置,本发明实现网页页面的订阅者接收网络数据的方法的流程图,如图3所示,具体包括如下步骤:
S301:订阅器101接收到订阅者发送的建立连接的指令。
具体地,浏览器请求服务器的网络数据之前,由浏览器打开的网页页面中的订阅者向订阅者创建的订阅器101发送建立连接的指令。
S302:订阅器101查询WebSocket模块102是否有效;若是,则执行步骤S303;否则,执行步骤S304。
具体地,订阅器101根据WebSocket模块102有效标记,查询WebSocket模块102是否有效;若WebSocket模块102有效标记为真,则WebSocket模块102有效;否则,WebSocket模块102无效。
S303:订阅器101调用WebSocket模块102的网络连接API,以WebSocket模式接收网络数据后发送给订阅者。
具体地,订阅器101调用WebSocket模块102的网络连接API;WebSocket模块102的网络连接API建立浏览器与服务器之间的网络连接后,以WebSocket模式接收网络数据后发送给订阅者。其中,WebSocket模块102的网络连接API将接收的网络数据发送给订阅者具体为:WebSocket模块102的网络连接API接收到网络数据后,将数据以Key-Value的形式写入数据变量;之后,调用接收数据回调函数(Callback),并将数据变量传入该接收数据回调函数,该接收数据回调函数将网络数据传递给订阅者。
事实上,在订阅器101调用WebSocket模块102的网络连接API后,订阅器101还可以设置计时器对建立网络连接的时间进行计时。若计时器超时,则订阅器101确认此次连接尝试失败,并在订阅器101确认连接尝试失败次数超过设定次数(如两次)后,直接跳转到步骤S306,订阅器101调用Etag模块104的网络连接API。若计时器未超时且此次连接尝试成功,则订阅器101设置计时器清零。
而且,在订阅器101调用WebSocket模块102的网络连接API后,后续订阅器101还可根据浏览器设置的连接意外断开机制,对连接意外断开的情况进行处理:订阅器101若接收到浏览器发送的连接意外断开通知,则重新调用WebSocket模块102的网络连接API;若设定时间段内仍接收到浏览器发送的连接意外断开通知,则直接跳转到步骤S306,订阅器101调用Etag模块104的网络连接API。
S304:订阅器101进一步查询FlashSocket模块103是否有效;若是,则执行步骤S305;否则,执行步骤S306。
具体地,订阅器101根据FlashSocket模块103有效标记,查询FlashSocket模块103是否有效;若FlashSocket模块103有效标记为真,则FlashSocket模块103有效;否则,FlashSocket模块103无效。
S305:订阅器101调用FlashSocket模块103的网络连接API,以FlashSocket模式接收网络数据后发送给订阅者。
具体地,订阅器101调用FlashSocket模块103的网络连接API;FlashSocket模块103的网络连接API建立浏览器与服务器之间的网络连接后,以FlashSocket模式接收网络数据后发送给订阅者。
事实上,在订阅器101调用FlashSocket模块103的网络连接API后,也可以设置计时器对建立网络连接的时间进行计时;若计时器超时,则订阅器101确认此次连接尝试失败,并在订阅器101确认连接尝试失败次数超过设定次数后,直接跳转到步骤S306,订阅器101调用Etag模块104的网络连接API。若计时器未超时且此次连接尝试成功,则订阅器101设置计时器清零。
而且,在订阅器101调用FlashSocket模块103的网络连接API后,后续订阅器101也可以根据浏览器设置的连接意外断开机制,对连接意外断开的情况进行处理:订阅器101若接收到浏览器发送的连接意外断开通知,则重新调用FlashSocket模块103的网络连接API尝试;若设定时间段内仍接收到浏览器发送的连接意外断开通知,则直接跳转到步骤S306,订阅器101调用Etag模块104的网络连接API。
S306:订阅器101调用Etag模块104的网络连接API,以Etag模式接收网络数据后发送给订阅者。
具体地,订阅器101若查询到WebSocket模块102、FlashSocket模块103均无效,则调用Etag模块104的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。
事实上,在订阅器101调用Etag模块104的网络连接API后,Etag模块104的网络连接API还可以先确认Etag模式是否有效,并根据确认Etag模式是否有效的结果采取不同的获取网络数据的方式,具体方法的流程如图4所示,包括如下步骤:
S401:Etag模块104的网络连接API发送最简Etag请求至少两次。
具体地,Etag模块104的网络连接API发送最简Etag请求(即向服务器请求sys_hqEtagMode数据,该sys_hqEtagMode数据每秒都会改变)至少两次,通常为三次。其中,发送最简Etag请求的时间间隔可以是2秒。
S402:Etag模块104的网络连接API接收返回的数据,并确定其中任意两次接收的返回数据是否相同;若是,则执行步骤S403;否则,执行步骤S405。
S403:Etag模块104的网络连接API确认Etag模式无效。
具体地,若Etag模块104的网络连接API确定其中任意两次接收的返回数据相同,则表明网络运营商布设的服务器对URL(统一资源定位符,Uniform Resource Locator)进行缓存,Etag模块104的网络连接API确认Etag模式无效,并向浏览器的Cookie写入0。
S404:在订阅者欲访问的URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给订阅者。
具体地,Etag模块104的网络连接API确认Etag无效(Cookie为0)后,在订阅者欲访问的URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给订阅者。
S405:Etag模块104的网络连接API确认Etag模式有效。
具体地,若Etag模块104的网络连接API确定其中任意两次接收的返回数据均不相同,则表明服务器未设置对URL进行缓存,Etag模块104的网络连接API确认Etag模式有效,并向浏览器的Cookie写入1。
S406:Etag模块104的网络连接API以Etag模式接收网络数据后发送给订阅者。
具体地,Etag模块104的网络连接API在确认Etag模式有效(Cookie为1)后,以Etag模式接收网络数据后发送给订阅者。
其中,浏览器还可设置Cookie的过期时间(如1小时),Etag模块104的网络连接API定时监测Cookie是否过期。当Cookie过期后,Etag模块104的网络连接API重新执行步骤S401~S406,确认Etag模式是否有效,并根据确认Etag模式是否有效的结果采取不同的获取网络数据的方式。
在实际应用中,上述的订阅器、WebSocket模块、FlashSocket模块和Etag模块所实现功能的代码可以放置在JS(Javascript)程序包中,在用户通过浏览器访问网页页面时,也随之下载到本地;JS程序包下载到本地后,自动运行并创建WebSocket模块、FlashSocket模块和Etag模块;此后,订阅者根据JS程序包中携带的订阅器的对象(类),创建订阅器以实现本发明。
本发明的技术方案中,浏览器打开的网页页面中的订阅者创建的订阅器,在接收到订阅者发送的建立连接的指令后,若WebSocket模块有效,则网页页面中的订阅者可通过WebSocket模式接收到网络数据;否则:若FlashSocket模块有效,则网页页面中的订阅者可通过FlashSocket模式接收到网络数据,若FlashSocket模块无效,则网页页面中的订阅者可通过Etag模式接收到网络数据。由此,浏览器打开的网页页面的订阅者可通过WebSocket模式、FlashSocket模式和Etag模式三种模式中的一种接收到网络数据,也就是,在三种模式的任一种有效的情况下,订阅者便可接收到网络数据,从而本发明可以更好地支持大多数移动终端和大多数PC接收服务器实时更新的网页页面中的网络数据。
而且,对于网络运营商布设的服务器对URL进行缓存,即Etag模式无效的情况,本发明可采取在订阅者欲访问的URL后添加随机数的方式进行网络数据的获取,进一步更好地支持大多数移动终端和大多数PC接收服务器实时更新的网页页面中的网络数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种网页页面的订阅者接收网络数据的方法,其特征在于,包括:
由浏览器打开的网页页面中的订阅者创建的订阅器,在接收到所述订阅者发送的建立连接的指令后,若网络套接字WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API,以WebSocket模式接收网络数据后发送给所述订阅者;否则:
若基于矢量多媒体技术的套接字FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,以FlashSocket模式接收网络数据后发送给所述订阅者;若所述FlashSocket模块无效,则调用实体标签Etag模块的网络连接API,以Etag模式接收网络数据后发送给所述订阅者。
2.如权利要求1所述的方法,其特征在于,在所述接收到所述订阅者发送的建立连接的指令之前,还包括:
所述订阅者创建所述订阅器后,所述订阅器调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;
其中,所述WebSocket模块的有效查询API若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
3.如权利要求2所述的方法,其特征在于,在所述确认所述WebSocket模块无效后,还包括:
所述订阅器调用FlashSocket模块的有效查询API;
所述订阅器若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;
其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
4.如权利要求3所述的方法,其特征在于,在所述调用所述WebSocket模块的网络连接API后,或者在所述调用所述FlashSocket模块的网络连接API后,还包括:
所述订阅器设置计时器进行计时;所述计时器超时后,所述订阅器确认此次连接尝试失败;
所述订阅器确认连接尝试失败次数超过设定次数后,调用Etag模块的网络连接API。
5.如权利要求3所述的方法,其特征在于,在所述调用所述WebSocket模块的网络连接API后,还包括:
所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述WebSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API;以及
在所述调用所述FlashSocket模块的网络连接API后,所述方法还包括:
所述订阅器接收到所述浏览器发送的连接意外断开通知后,重新调用所述FlashSocket模块的网络连接API;若设定时间段内仍接收到所述浏览器发送的连接意外断开通知,则调用Etag模块的网络连接API。
6.如权利要求1-5任一所述的方法,其特征在于,在所述调用Etag模块的网络连接API后,还包括:
所述Etag模块的网络连接API发送最简Etag请求至少两次;
若其中任意两次接收的返回数据相同,则确认Etag模式无效;之后,在所述订阅者欲访问的统一资源定位符URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给所述订阅者;
否则,确认Etag模式有效;以及
所述以Etag模式接收网络数据后发送给所述订阅者,具体为:
所述Etag模块的网络连接API在确认Etag模式有效后,以Etag模式接收网络数据后发送给所述订阅者。
7.一种网页页面的订阅者接收网络数据的装置,其特征在于,包括:由浏览器打开的网页页面中的订阅者创建的订阅器、网络套接字WebSocket模块、基于矢量多媒体技术的套接字FlashSocket模块、以及实体标签Etag模块;其中,
所述订阅器用于在接收到所述订阅者发送的建立连接的指令后,若所述WebSocket模块有效,则调用所述WebSocket模块的网络连接应用程序接口API;否则:若所述FlashSocket模块有效,则调用所述FlashSocket模块的网络连接API,若所述FlashSocket模块无效,则调用Etag模块的网络连接API;
所述WebSocket模块的网络连接API用于以WebSocket模式接收网络数据后发送给所述订阅者;
所述FlashSocket模块的网络连接API用于以FlashSocket模式接收网络数据后发送给所述订阅者;
所述Etag模块的网络连接API用于以Etag模式接收网络数据后发送给所述订阅者。
8.如权利要求7所述的装置,其特征在于,
所述订阅器还用于在其被创建后,调用WebSocket模块的有效查询API,若接收到该有效查询API返回的模块有效的结果,则确认所述WebSocket模块有效;否则,确认所述WebSocket模块无效;其中,所述WebSocket模块的有效查询API用于若判断所述WebSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
9.如权利要求8所述的装置,其特征在于,
所述订阅器还用于在确认所述WebSocket模块无效后,调用FlashSocket模块的有效查询API;若接收到所述FlashSocket模块的有效查询API返回的模块有效的结果,则确认所述FlashSocket模块有效;否则,确认所述FlashSocket模块无效;其中,所述FlashSocket模块的有效查询API用于若判断所述FlashSocket模块的各依赖项均有效,则返回模块有效的结果;否则,返回模块无效的结果。
10.如权利要求9所述的装置,其特征在于,
所述Etag模块的网络连接API具体用于发送最简Etag请求至少两次;若其中任意两次接收的返回数据相同,则确认Etag模式无效,并在所述订阅者欲访问的统一资源定位符URL后添加随机数,根据添加了随机数的URL进行网络数据的获取,并将获取的数据发送给所述订阅者;否则,确认Etag模式有效后,以Etag模式接收网络数据后发送给所述订阅者。
CN201310653272.7A 2013-12-05 2013-12-05 网页页面的订阅者接收网络数据的方法和装置 Active CN103678009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310653272.7A CN103678009B (zh) 2013-12-05 2013-12-05 网页页面的订阅者接收网络数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310653272.7A CN103678009B (zh) 2013-12-05 2013-12-05 网页页面的订阅者接收网络数据的方法和装置

Publications (2)

Publication Number Publication Date
CN103678009A CN103678009A (zh) 2014-03-26
CN103678009B true CN103678009B (zh) 2017-06-16

Family

ID=50315661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310653272.7A Active CN103678009B (zh) 2013-12-05 2013-12-05 网页页面的订阅者接收网络数据的方法和装置

Country Status (1)

Country Link
CN (1) CN103678009B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686037B (zh) * 2015-11-09 2020-10-16 阿里巴巴(中国)有限公司 页面检测方法、装置、设备及系统
CN107566436A (zh) * 2016-07-01 2018-01-09 北京京东尚科信息技术有限公司 页面消息中心组件及消息实时推送方法和装置
CN106850745B (zh) * 2016-12-23 2021-01-15 北京五八信息技术有限公司 一种实时同步方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025761A (zh) * 2009-09-21 2011-04-20 腾讯科技(深圳)有限公司 实现Web装置与Flash装置协同工作的方法与系统
CN102761564A (zh) * 2011-04-25 2012-10-31 阿里巴巴集团控股有限公司 图形共享方法、系统与终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2009305747A1 (en) * 2008-10-15 2010-04-22 Contextweb, Inc. Method and system for displaying internet ad media using ETags
CN102571868B (zh) * 2010-12-31 2015-01-14 北京新媒传信科技有限公司 一种即时通信的方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025761A (zh) * 2009-09-21 2011-04-20 腾讯科技(深圳)有限公司 实现Web装置与Flash装置协同工作的方法与系统
CN102761564A (zh) * 2011-04-25 2012-10-31 阿里巴巴集团控股有限公司 图形共享方法、系统与终端

Also Published As

Publication number Publication date
CN103678009A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
CN102082817B (zh) 用于确保用户代理信息传输的方法和设备
US9313015B2 (en) HTTP-based synchronization method and apparatus
WO2017190641A1 (zh) 拦截爬虫的方法、装置、服务器终端以及计算机可读介质
US20090037517A1 (en) Method and system to share content between web clients
US20130238740A1 (en) Caching of Fragmented Streaming Media
CN103716295B (zh) 一种网络系统
CN103686684A (zh) 离线缓存的方法及装置
CN105812323B (zh) 一种网络跨域访问数据的方法和装置
US9648136B2 (en) Smart packaging for mobile applications
US20050108299A1 (en) Real-time Web sharing system
US20130073689A1 (en) Application acceleration with partial file caching
CN103678009B (zh) 网页页面的订阅者接收网络数据的方法和装置
BRPI0616473A2 (pt) mÉtodo e sistema para invocar midlets a partir de um navegador de rede em um dispositivo local, mÉtodo para invocar uma sessço de vÍdeo de uma pÁgina de rede usando uma midlet, dispositivo local, e, nà em um sistema em comunicaÇço com um dispositivo local
CN109302437A (zh) 一种重定向网站的方法和装置
WO2011015009A1 (zh) 页面数据获取方法及服务器、页面更新方法及服务器
CN105095220B (zh) 一种浏览器实现方法、终端和虚拟化代理装置
CN106034141A (zh) 消息处理方法、资源获取方法、服务器及终端设备
CN106411978A (zh) 一种资源缓存方法及装置
CN109194706A (zh) 网络资源拨测方法及终端
CN106657140A (zh) 应用授权方法及装置
CN106559468A (zh) 一种访问数据的方法
EA200901089A1 (ru) Способ и система обработки кредитов для использования их абонентами коммуникационной сети
CN102271164A (zh) 一种基于web应用的网络通讯方法
CN108073627B (zh) 一种跨域网页的JavaScript函数调用方法以及装置
US10652352B2 (en) Server, client device and methods therein for handling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140326

Assignee: XINGCHAO SHANYAO MOBILE NETWORK TECHNOLOGY (CHINA) Co.,Ltd.

Assignor: SINA.COM TECHNOLOGY (CHINA) Co.,Ltd.

Contract record no.: X2021980003903

Denomination of invention: Method and device for web page subscribers to receive network data

Granted publication date: 20170616

License type: Common License

Record date: 20210524

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20230418

Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193

Patentee after: Sina Technology (China) Co.,Ltd.

Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor

Patentee before: Sina.com Technology (China) Co.,Ltd.

TR01 Transfer of patent right