CN103678549B - 网页页面数据共享方法和装置 - Google Patents

网页页面数据共享方法和装置 Download PDF

Info

Publication number
CN103678549B
CN103678549B CN201310648053.XA CN201310648053A CN103678549B CN 103678549 B CN103678549 B CN 103678549B CN 201310648053 A CN201310648053 A CN 201310648053A CN 103678549 B CN103678549 B CN 103678549B
Authority
CN
China
Prior art keywords
subscriber
listener
master
monitor
data
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
CN201310648053.XA
Other languages
English (en)
Other versions
CN103678549A (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 CN201310648053.XA priority Critical patent/CN103678549B/zh
Publication of CN103678549A publication Critical patent/CN103678549A/zh
Application granted granted Critical
Publication of CN103678549B publication Critical patent/CN103678549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种网页页面数据共享方法和装置,所述方法包括:由浏览器打开的网页页面中的主订阅器向其订阅者发送网络请求指令,其订阅者接收到网络请求指令后将获取的网络数据返回至主订阅器;其中,对于每个网页页面,在该网页页面中的订阅器加载的一个指定URL的子页面中,有为该网页页面中的每个订阅器创建的监听器;主订阅器将接收的网络数据发送给对应的监听器,该监听器将接收到的网络数据存储到指定URL的本地存储文件中;每个监听器在接收到浏览器发送的存储事件通知后,获取指定URL的本地存储文件中的网络数据向本监听器对应的订阅器发送;每个订阅器将接收的网络数据传递给其订阅者。从而节约了网络资源,减轻了服务器负载。

Description

网页页面数据共享方法和装置
技术领域
本发明涉及网络技术,尤其涉及一种网页页面数据共享方法和装置。
背景技术
通常,网站是由多个网页集合而成的,网页是存在于与互联网相连的计算机中的一个超文本标记语言(HTML,Hyper Text Mark-up Language)格式的文件。网页经由URL(Uniform Resource Locator,统一资源定位符)来识别与存取,是万维网中的一“页”。每个网页由浏览器(Browser)通过HTTP(超文本传输协议,Hypertext transfer protocol)协议与服务器(Server)之间进行交互来获取数据,并通过浏览器打开的网页页面显示获取的数据。
同一浏览器可以同时打开多个网页页面。浏览器打开的多个网页页面获取某个服务器的数据时,每个网页页面均向服务器发送请求,建立网络连接后获取所需数据。例如,网页页面Webpage1需要获取空气质量数据时,向服务器发送请求并建立网络连接获取服务器提供的空气质量数据;网页页面Webpage2需要获取空气质量数据时,也向服务器发送请求并建立网络连接获取服务器提供的空气质量数据。这样,多个网页页面所需数据相同的情况下,每个网页页面均向服务器发送请求、建立网络连接来获取数据,无法实现数据共享,将造成网络资源的浪费,并导致服务器负载加重。
现有的一种方式是通过Cookie(存储在用户本地终端的数据)共享同一网站站点的不同网页页面的数据,但是,通过Cookie共享的数据通常是比较简短的字符串,比如,用户名和用户密码。而且,通常大多数浏览器仅支持最大为4096字节的Cookie,并且仅允许每个网站站点保存20个Cookie。这样,通过Cookie在网页页面间共享的数据量非常小,对节省网络资源、减轻服务器负载起到的作用也非常小。
因此,有必要提供一种能够节省网络资源、减轻服务器负载的网页页面数据共享方法。
发明内容
本发明实施例提供了一种网页页面数据共享方法和装置,用以节省网络资源、减轻服务器负载。
根据本发明的一个方面,提供了一种网页页面数据共享方法,包括:
由浏览器打开的网页页面中的若干个订阅者分别创建的订阅器中的主订阅器向其订阅者发送网络请求指令,其订阅者在接收到所述网络请求指令后将通过网络获取到的网络数据返回至所述主订阅器;其中,对于每个网页页面,该网页页面中的订阅器还加载了一个该网页页面的指定统一资源定位符URL的子页面,在该指定URL的子页面中有为该网页页面的每个订阅者的订阅器对应创建的监听器;
所述主订阅器将接收的网络数据发送给与之对应的监听器,该监听器将接收到的网络数据存储到所述指定URL的本地存储空间后,所述浏览器向每个监听器发送携带有所述网络数据的存储事件;
每个监听器将所述存储事件中携带的网络数据向本监听器对应的订阅器发送;
每个订阅器将其对应的监听器发送的网络数据传递给其订阅者。
较佳地,在所述主订阅器向其订阅者发送网络请求指令之前,还包括:
对于所述浏览器打开的每个网页页面,该网页页面中的每个订阅器在创建后判断是否已经加载了一个指定URL的子页面;若否,则加载一个指定URL的子页面后,向其所在网页页面的指定URL的子页面发送监听器创建指令、数据键值、以及本订阅器的标识;若是,则直接向其所在网页页面的指定URL的子页面发送所述监听器创建指令、所述数据键值、以及本订阅器的标识;
其中,所述数据键值是根据本订阅器的订阅者所需数据采用哈希算法生成的。
进一步,在所述发送监听器创建指令、数据键值、以及本订阅器的标识后,还包括:
所述指定URL的子页面根据接收的监听器创建指令,创建一个标识与接收的订阅器的标识相同的监听器,并将接收的数据键值传送给该监听器,该监听器存储接收的数据键值,并在初始化过程中添加存储事件的监听功能。
较佳地,在所述主订阅器向其订阅者发送网络请求指令之前,还包括:
每个监听器定时查询所述本地存储空间中对应本监听器存储的数据键值的主键master_key参数是否过期;
若所述master_key参数未过期,则进一步确定所述master_key参数中的监听器标识与本监听器的标识相同后,刷新所述master_key参数中的过期时间;
若所述master_key参数过期,则尝试将该master_key参数中的监听器标识设置为本监听器的标识;若设置成功、且本监听器在设置之前为从监听器,则确定本监听器由从监听器升为主监听器;若设置不成功、且本监听器在设置之前为主监听器,则确定本监听器由主监听器降为从监听器;
由从变为主的监听器通知对应的订阅器升为主订阅器;由主变为从的监听器通知对应的订阅器降为从订阅器。
较佳地,所述监听器将接收到的网络数据存储到所述指定URL的本地存储空间,具体包括:
在所述指定URL的本地存储空间中,所述监听器将接收到的网络数据与所述本地存储空间中记录的本监听器存储的数据键值进行对应存储;以及
所述存储事件中还携带有与所述网络数据对应的数据键值;以及
所述每个监听器根据所述存储事件中的数据向本监听器对应的订阅器进行发送,具体包括:
每个监听器在接收到所述的存储事件后,若接收的存储事件中携带的数据键值与本监听器存储的数据键值相等,则将所述存储事件中携带的网络数据向本监听器对应的订阅器发送。
较佳地,所述订阅器、监听器均在初始化过程中添加窗口的消息事件监听功能。
较佳地,所述浏览器打开的网页页面为多个。
根据本发明的另一个方面,还提供了一种网页页面数据共享装置,包括:浏览器打开的网页页面中的若干个订阅者、由各订阅者分别创建的订阅器,以及对于每个网页页面,在该网页页面的指定统一资源定位符URL的子页面中为该网页页面的每个订阅者的订阅器对应创建的监听器;其中,
所述订阅器中的主订阅器用于向其订阅者发送网络请求指令,并将其订阅者返回的网络数据发送给与之对应的监听器;以及所述订阅器还将从监听器接收到的网络数据传递给其订阅者;
所述订阅者用于接收到网络请求指令后,通过网络获取网络数据向其订阅器返回;以及将从其订阅器接收到的网络数据在网页页面中进行显示;
所述监听器用于将从订阅器接收到的网络数据存储到所述指定URL的本地存储空间中;以及在接收到所述浏览器发送的携带有所述网络数据的存储事件后,将所述存储事件中携带的网络数据向本监听器对应的订阅器发送。
较佳地,所述订阅器还用于在本订阅器创建后判断是否已经加载了一个 指定URL的子页面;若否,则加载一个指定URL的子页面;之后,向该指定URL的子页面发送监听器创建指令、数据键值、以及本订阅器的标识;该指定URL的子页面根据接收的监听器创建指令,创建一个标识与接收的订阅器的标识相同的监听器,并将接收的数据键值传送给该监听器,该监听器存储接收的数据键值,并在初始化过程中添加存储事件的监听功能;其中,所述数据键值是根据本订阅器的订阅者所需数据采用哈希算法生成的。
较佳地,所述监听器还用于定时查询所述本地存储空间中对应本监听器存储的数据键值的主键master_key参数是否过期;若所述master_key参数未过期,则进一步确定所述master_key参数中的监听器标识与本监听器的标识相同后,刷新所述master_key参数中的过期时间;若所述master_key参数过期,则尝试将该master_key参数中的监听器标识设置为本监听器的标识;若设置成功、且本监听器在设置之前为从监听器,则确定本监听器由从监听器升为主监听器;若设置不成功、且本监听器在设置之前为主监听器,则确定本监听器由主监听器降为从监听器;由从变为主的监听器通知对应的订阅器升为主订阅器;由主变为从的监听器通知对应的订阅器降为从订阅器。
本发明实施例的技术方案中,由浏览器打开的网页页面中的各订阅者分别创建的订阅器中的主订阅器向其订阅者发送网络请求指令,其订阅者向服务器发送网络请求并获取服务器返回的网络数据;并由主订阅器对应的监听器将获取的网络数据存储到指定URL的本地存储空间中;每个监听器接收到浏览器发送的存储事件后,将存储事件中携带的网络数据向对应的订阅器发送,并由订阅器将网络数据传递给其订阅者。由此网页页面中的主订阅器的订阅者向服务器发送网络请求、获取服务器返回的网络数据,本网页页面以及其他网页页面中的各订阅器的订阅者可从本地存储文件中获取到该网络数据,而无需再向服务器发送网络请求,实现了网页页面数据共享,从而节省了网络资源,减轻了服务器的负载;尤其对于设置自动刷新的网站的网页页面,如新闻推送类网站的网页页面,将大大节省网络资源,大大减轻服务器的负载。
附图说明
图1为本发明实施例的网页页面数据共享装置的内部结构框图;
图2为本发明实施例的加载指定URL的子页面并创建监听器的方法流程图;
图3为本发明实施例的维护订阅器为主订阅器或从订阅器的方法流程图;
图4为本发明实施例的网页页面数据共享方法的流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的发明人发现,网页页面中可以存在多个获取服务器的数据的功能模块,即订阅者;网页页面中的订阅者通过向服务器发送网络请求,建立网络连接获取所需数据;由此本发明的发明人考虑到,可以建立各订阅者之间的联系,网页页面中的一个订阅者通过发送网络请求并建立网络连接获取所需数据后,与本网页页面以及其他网页页面中需要该数据的订阅者共享该数据,将会大量减少向服务器发送的网络请求、以及建立网络连接后通过网络传输的数据,并减少服务器处理的网络请求量以及向订阅者返回的数据量,从而节省网络资源、减轻服务器的负载。
基于上述的思路,本发明的技术方案中,浏览器打开的网页页面中的各订阅者分别创建订阅器,创建的各订阅器中有主订阅器和从订阅器;而且,每个网页页面中的订阅器还加载了一个指定URL的子页面,在该指定URL的子页面中有为该网页页面的订阅者的订阅器对应创建的监听器。这样,由主订阅器的订阅者向服务器发送网络请求,并获取服务器返回的网络数据后,由主订阅器对应的监听器将获取的网络数据存储到指定URL的本地存储空间中,之后,浏览器向每个监听器发送携带有该网络数据的存储事件;每个监听器将接收的存储事件中携带的网络数据向本监听器对应的订阅器发送,并由订阅器将网络数据传递给其订阅者。从而,节省网络资源,减轻服务器的负载。
下面结合附图详细说明本发明的技术方案。本发明实施例提供的网页页面数据共享装置的内部结构框图如图1所示,具体包括:浏览器打开的网页 页面中的若干个订阅者101、由各订阅者101分别创建的订阅器102,以及对于每个网页页面,在该网页页面的指定URL的子页面中为该网页页面的每个订阅者101的订阅器对应创建的监听器103。
基于本发明的网页页面数据共享装置中的订阅者101、订阅器102和监听器103,可以实现网页页面数据共享。事实上,在实现网页页面数据共享之前,可以由订阅者的订阅器102预先加载一个指定URL的子页面,并由指定URL的子页面创建与订阅器102对应的监听器103,具体方法的流程如图2所示,包括如下步骤:
S201:浏览器打开网页页面。
具体地,用户可通过浏览器打开一个或多个网页页面,而且,每个网页页面中可以存在多个订阅者101,订阅者101通过网络获取网络数据,并将获取的网络数据在浏览器的网页页面内进行显示,以供用户浏览这些网页页面的内容。
S202:对于浏览器打开的每个网页页面,该网页页面中的每个订阅器102判断是否已经加载了一个指定URL的子页面;若是,则跳转到步骤S204;否则,执行步骤S203。
具体地,对于浏览器打开的每个网页页面,该网页页面中的每个订阅器102在创建后时,均先判断该网页页面中是否已经通过标签iframe加载了一个指定URL的子页面,若已经加载,则直接跳转到步骤S204;否则,由该订阅器102执行下述步骤S203加载一个指定URL的子页面后,再执行步骤S204。其中,指定URL的子页面以不可见方式加载,即不在浏览器中显示。
其中,订阅器102是由订阅者101创建的,且订阅器102在创建完成后,生成一个随机数作为本订阅器的标识;通常,生成的随机数是一个大于16位的随机数,因大位数的随机数重复的概率小,从而可以很好地保证订阅器的标识的唯一性。而且,订阅器102创建完成后,订阅器102初始化,并在初始化过程中添加窗口(Window)的消息(Message)事件监听功能,以使得订阅器102可以接收发自监听器103的信息。
S203:订阅器102加载一个指定URL的子页面。
在本步骤中,订阅器102通过iframe加载一个指定URL的子页面,作为本订阅器102所在网页页面的指定URL的子页面,之后执行步骤S204。
而且,每个网页页面中存在多个订阅者101的订阅器102,其中一个订阅器102加载该网页页面的指定URL的子页面后,该网页页面中的其它订阅器 102可以不再加载该指定URL的子页面。
之后,订阅器102向指定URL的子页面发送监听器创建指令,指定URL的子页面根据监听器创建指令创建与该订阅器102对应的监听器103,具体步骤如S204-S206所示。
S204:订阅器102向其所在网页页面所的指定URL的子页面发送监听器创建指令、数据键值、以及本订阅器102的标识;其中,该数据键值是根据本订阅器102的订阅者101所需数据采用哈希算法生成的。
其中,订阅者101可以预先根据本订阅者101所需数据,采用哈希(Hash)算法生成本订阅者101所需数据的数据键值(Key),这样,若多个订阅者101所需数据相同,则这多个订阅者101所需数据的数据键值也相同。
S205:指定URL的子页面根据接收的监听器创建指令,创建一个标识与接收的订阅器102的标识相同的监听器103,并将接收的数据键值传送给该监听器103。
其中,创建的监听器103的标识与接收的订阅器102的标识相同,从而,标识相同的监听器103与订阅器102之间就具有了对应关系。
S206:该监听器103存储接收的数据键值,并在初始化过程中添加存储事件的监听功能。
具体地,该监听器103存储指定URL的子页面传送过来的数据键值后,该监听器初始化,并在初始化过程中添加存储事件的监听功能。而且,监听器103在初始化过程中还添加窗口的消息事件监听功能,以使得监听器103可以接收发自订阅器102的信息。
事实上,在加载了指定URL的子页面后,浏览器会自动创建一个该指定URL的本地存储(LocalStorage)空间;若加载了多个指定URL的子页面,则这些指定URL的子页面均共用此本地存储空间。在监听器103添加存储事件的监听功能过程中,监听器103查找指定URL的本地存储空间中是否有该数据键值与主键(master_key)参数的对应记录;若没有,则增加一条该数据键值与master_key参数的对应记录,并将master_key参数中的监听器标识设置为本监听器103的标识;此外,master_key参数中还可包括过期时间;监听器103将master_key参数中的监听器标识设置为本监听器的标识后,还设置master_key参数中的过期时间。
上述各订阅者101分别创建的订阅器102中有主订阅器和从订阅器,订阅器102为主订阅器或从订阅器是由与订阅器102对应的监听器103来维护 的:对于每个监听器103,若该监听器为主监听器,则该监听器对应的订阅器102为主订阅器;若该监听器为从监听器,则该监听器对应的订阅器102为从订阅器。换言之,若监听器103由从变为主,则由从变为主的监听器103通知对应的订阅器102升为主订阅器;若监听器103由主变为从,则由主变为从的监听器103通知对应的订阅器102降为从订阅器。
例如,对于其中的一个监听器A,监听器A维护与其对应的订阅器102为主订阅器或从订阅器的方法的流程如图3所示,具体包括如下步骤:
S301:监听器A定时查询本地存储空间中对应本监听器A存储的数据键值的主键参数是否过期;若是,则执行步骤S302;否则,执行步骤S312。
具体地,本地存储(LocalStorage)空间中存储有对应每个数据键值的master_key参数,其中,若对应一个数据键值的master_key参数中的监听器标识与一个存储有该数据键值的监听器的标识相同,则表明该监听器为主监听器。
而且,每个master_key参数中还包括一个写入的过期时间,在本步骤中,监听器A定时查询LocalStorage空间中对应本监听器A存储的数据键值的master_key参数是否过期,具体为:监听器A将LocalStorage空间中、对应本监听器A存储的数据键值的master_key参数中的过期时间,与当前时间进行比较;若当前时间已超过对应本监听器A存储的数据键值的master_key参数中的过期时间,则判断对应本监听器A存储的数据键值的master_key参数已经过期,执行步骤S302;否则,判断未过期,执行步骤S312。
S302:监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识,并判断设置是否成功;若是,则执行步骤S303;否则,执行步骤S304。
具体地,若监听器A查询到对应本监听器A存储的数据键值的master_key参数过期,则在本步骤中,监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识,并判断设置是否成功。
S303:监听器A确定本监听器A为主监听器,并通知对应的订阅器102为主订阅器。
具体地,若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识成功,则在本步骤中,监听器A确定本监听器A为主监听器,并通知对应的订阅器102为主订阅器。而且,若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识成功,且设置之前本监听器A 为从监听器,则监听器A确定本监听器A由从监听器升为主监听器,并设置该master_key参数中的过期时间,即将当前时间加上一个设定时间段后得到的时间值作为该master_key参数中的过期时间,之后通知对应的订阅器升为主订阅器。若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识成功,且设置之前本监听器A为主监听器,则监听器A确定本监听器A仍然为主监听器,并通知对应的订阅器仍然为主订阅器。
S304:监听器A确定本监听器A为从监听器,并通知对应的订阅器102为从订阅器。
具体地,若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识不成功,则在本步骤中,监听器A确定本监听器A为从监听器,并通知对应的订阅器102为从订阅器。而且,若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识不成功,且设置之前本监听器A为主监听器,则监听器A确定本监听器A由主监听器降为从监听器,并通知对应的订阅器降为从订阅器。若监听器A尝试将该master_key参数中的监听器标识设置为本监听器A的标识不成功,且设置之前本监听器A为从监听器,则监听器A确定本监听器A仍然为从监听器,并通知对应的订阅器仍然为从订阅器。
S312:监听器A进一步确定对应本监听器A存储的数据键值的master_key参数中的监听器标识与本监听器A的标识是否相同;若是,则执行步骤S313;否则,执行步骤S314。
具体地,若监听器A定时查询本地存储(LocalStorage)空间中对应本监听器A存储的数据键值的主键参数未过期,则在本步骤中进一步确定对应本监听器A存储的数据键值的master_key参数中的监听器标识与本监听器A的标识是否相同。
S313:监听器A确定本监听器为主监听器,刷新对应本监听器A存储的数据键值的master_key参数中的过期时间。
具体地,若监听器A确定对应本监听器A存储的数据键值的master_key参数中的监听器标识与本监听器A的标识相同,则确定当前时间本监听器A为主监听器,进而确定本监听器A对应的订阅器为主订阅器,并刷新该master_key参数中的过期时间,即将当前时间加上一个设定时间段后得到的时间值作为该master_key参数中的过期时间。
S314:监听器A确定本监听器A为从监听器。
具体地,若监听器A确定对应本监听器A存储的数据键值的master_key参数中的监听器标识与本监听器A的标识不相同,则确定当前时间本监听器A为从监听器,进而确定本监听器A对应的订阅器为从订阅器。
在实际应用中,用户可以通过浏览器设置网页页面数据共享功能是否可用,若用户设置网页页面数据共享功能不可用,则网页页面根据现有技术的方法向服务器发送网络请求获取数据;若用户设置网页页面数据共享功能可用,则可基于本发明实施例提供的网页页面数据共享装置来实现网页页面数据共享。
具体地,本发明实施例提供的网页页面数据共享方法的流程图,如图4所示,包括如下步骤:
S401:由浏览器打开的网页页面中的若干个订阅者101分别创建的订阅器102中的主订阅器向其订阅者发送网络请求指令。
具体地,浏览器打开的网页页面可以为一个,也可以为多个;对于每个网页页面,该网页页面中的订阅者101的订阅器102加载了一个该网页页面的指定URL的子页面,在该指定URL的子页面中有为该网页页面的每个订阅者101的订阅器102对应创建的监听器103。在本步骤中,由若干个订阅者101分别创建的订阅器102中的主订阅器向其订阅者发送网络请求指令。
S402:主订阅器的订阅者在接收到网络请求指令后,将通过网络获取到的网络数据返回至主订阅器。
具体地,主订阅器的订阅者在接收到网络请求指令后,向服务器发送网络请求,通过网络获取服务器返回的网络数据;之后,主订阅器的订阅者将通过网络获取到的网络数据返回至主订阅器。
S403:主订阅器将接收的网络数据发送给与之对应的监听器。
具体地,主订阅器将接收的网络数据、以及本订阅器的标识向本订阅器所在网页页面的指定URL的子页面发送;浏览器根据该次信息发送(PostMessage)事件,通知该指定URL的子页面中、添加有窗口的消息事件监听功能的监听器103;该指定URL的子页面中的各监听器103根据浏览器发送的消息事件通知,获取到主订阅器发送的网络数据和标识后,若确认其中携带的标识与本监听器的标识相同,则接收网络数据;否则,丢弃网络数据。
S404:与主订阅器对应的监听器将接收到的网络数据存储到指定URL的本地存储空间中。
具体地,在指定URL的本地存储空间中,与主订阅器对应的监听器(即主监听器)将接收到的网络数据,与本地存储(LocalStorage)空间中记录的本监听器存储的数据键值进行对应存储。
也就是说,在本地存储(LocalStorage)空间中,存储有数据键值与master_key参数的对应关系,并且,还可以存储有数据键值与网络数据的对应关系;这些对应关系具体可以key-value形式进行存储。
例如,数据键值与master_key参数的对应关系中,可以数据键值作为key,master_key参数作为对应该key的value进行存储;
数据键值与网络数据的对应关系中,可以数据键值作为key,网络数据作为对应该key的value进行存储。
在监听器将接收的网络数据存储到指定URL的本地存储(LocalStorage)空间后,会触发浏览器向每个监听器103发送携带有该网络数据的存储事件;此外,存储事件中还可携带有与该网络数据对应的数据键值。
S405:每个监听器103在接收到存储事件后,将接收的存储事件中携带的网络数据向本监听器对应的订阅器发送。
具体地,主订阅器对应的监听器将接收的网络数据存储到指定URL的本地存储空间中后,浏览器向每个添加了窗口的消息事件监听功能的、指定URL的子页面中的监听器发送携带有该网络数据的存储事件;每个监听器103在接收到存储事件后,若确定接收的存储事件中携带的数据键值与本监听器存储的数据键值相等,则将接收的存储事件中的网络数据向本监听器对应的订阅器发送。
其中,对于每个监听器103,该监听器将接收的存储事件中的网络数据向本监听器对应的订阅器发送具体为:该监听器将接收的存储事件中的网络数据、以及本监听器的标识向本监听器所在指定URL的子页面所对应的网页页面发送;浏览器根据该次信息发送(PostMessage)事件,通知该网页页面中添加有窗口的消息事件监听功能的订阅器102;该网页页面中的各订阅器102根据浏览器发送的消息事件通知,获取到该监听器发送的网络数据和标识后,若确认其中携带的标识与本订阅器的标识相同,则接收网络数据;否则,丢弃网络数据。
S406:每个订阅器102将其对应的监听器103发送的网络数据传递给其订阅者101。
具体地,每个订阅器102接收到监听器103发送的网络数据后,将其传 递给本订阅器的订阅者101,订阅者101将接收的网络数据在浏览器的网页页面中进行显示,以供用户进行浏览。
在实际应用中,上述的订阅器和监听器所实现功能的代码可以放置在JS(Javascript)程序包中,在用户通过浏览器访问网页页面时,也随之下载到本地;从而,订阅者可以根据JS程序包中携带的订阅器和监听器的类,创建订阅器和监听器,以实现本发明。
本发明的技术方案中,由浏览器打开的网页页面中的各订阅者分别创建的订阅器中的主订阅器向其订阅者发送网络请求指令,其订阅者向服务器发送网络请求并获取服务器返回的网络数据;并由主订阅器对应的监听器将获取的网络数据存储到指定URL的本地存储空间中;每个监听器接收到浏览器发送的存储事件后,将存储事件中携带的网络数据向对应的订阅器发送,并由订阅器将网络数据传递给其订阅者。由此网页页面中的主订阅器的订阅者向服务器发送网络请求、获取服务器返回的网络数据,本网页页面以及其他网页页面中的各订阅器的订阅者可从本地存储文件中获取到该网络数据,而无需再向服务器发送网络请求,实现了网页页面数据共享,从而节省了网络资源,减轻了服务器的负载;尤其对于设置自动刷新的网站的网页页面,如新闻推送类网站的网页页面,将大大节省网络资源,大大减轻服务器的负载。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种网页页面数据共享方法,其特征在于,包括:
由浏览器打开的网页页面中的若干个订阅者分别创建的订阅器中的主订阅器向其订阅者发送网络请求指令,其订阅者在接收到所述网络请求指令后将通过网络获取到的网络数据返回至所述主订阅器;其中,对于每个网页页面,该网页页面中的订阅器还加载了一个该网页页面的指定统一资源定位符URL的子页面,在该指定URL的子页面中有为该网页页面的每个订阅者的订阅器对应创建的监听器;
所述主订阅器将接收的网络数据发送给与之对应的监听器,该监听器将接收到的网络数据存储到所述指定URL的本地存储空间后,所述浏览器向每个监听器发送携带有所述网络数据的存储事件;
每个监听器将所述存储事件中携带的网络数据向本监听器对应的订阅器发送;
每个订阅器将其对应的监听器发送的网络数据传递给其订阅者;
其中,在所述主订阅器向其订阅者发送网络请求指令之前,还包括:
每个监听器定时查询所述本地存储空间中对应本监听器存储的数据键值的主键master_key参数是否过期;
若所述master_key参数未过期,则进一步确定所述master_key参数中的监听器标识与本监听器的标识相同后,刷新所述master_key参数中的过期时间;
若所述master_key参数过期,则尝试将该master_key参数中的监听器标识设置为本监听器的标识;若设置成功、且本监听器在设置之前为从监听器,则确定本监听器由从监听器升为主监听器;若设置不成功、且本监听器在设置之前为主监听器,则确定本监听器由主监听器降为从监听器;
由从变为主的监听器通知对应的订阅器升为主订阅器;由主变为从的监听器通知对应的订阅器降为从订阅器。
2.如权利要求1所述的方法,其特征在于,在所述主订阅器向其订阅者发送网络请求指令之前,还包括:
对于所述浏览器打开的每个网页页面,该网页页面中的每个订阅器在创建后判断是否已经加载了一个指定URL的子页面;若否,则加载一个指定URL的子页面后,向其所在网页页面的指定URL的子页面发送监听器创建指令、数据键值、以及本订阅器的标识;若是,则直接向其所在网页页面的指定URL的子页面发送所述监听器创建指令、所述数据键值、以及本订阅器的标识;
其中,所述数据键值是根据本订阅器的订阅者所需数据采用哈希算法生成的。
3.如权利要求2所述的方法,其特征在于,在所述发送监听器创建指令、数据键值、以及本订阅器的标识后,还包括:
所述指定URL的子页面根据接收的监听器创建指令,创建一个标识与接收的订阅器的标识相同的监听器,并将接收的数据键值传送给该监听器,该监听器存储接收的数据键值,并在初始化过程中添加存储事件的监听功能。
4.如权利要求3所述的方法,其特征在于,所述监听器将接收到的网络数据存储到所述指定URL的本地存储空间,具体包括:
在所述指定URL的本地存储空间中,所述监听器将接收到的网络数据与所述本地存储空间中记录的本监听器存储的数据键值进行对应存储;以及
所述存储事件中还携带有与所述网络数据对应的数据键值;以及
所述每个监听器根据所述存储事件中的数据向本监听器对应的订阅器进行发送,具体包括:
每个监听器在接收到所述的存储事件后,若接收的存储事件中携带的数据键值与本监听器存储的数据键值相等,则将所述存储事件中携带的网络数据向本监听器对应的订阅器发送。
5.如权利要求1-4任一所述的方法,其特征在于,所述订阅器、监听器均在初始化过程中添加窗口的消息事件监听功能。
6.如权利要求1-4任一所述的方法,其特征在于,所述浏览器打开的网页页面为多个。
7.一种网页页面数据共享装置,其特征在于,包括:浏览器打开的网页页面中的若干个订阅者、由各订阅者分别创建的订阅器,以及对于每个网页页面,在该网页页面的指定统一资源定位符URL的子页面中为该网页页面的每个订阅者的订阅器对应创建的监听器;其中,
所述订阅器中的主订阅器用于向其订阅者发送网络请求指令,并将其订阅者返回的网络数据发送给与之对应的监听器;以及所述订阅器还将从监听器接收到的网络数据传递给其订阅者;
所述订阅者用于接收到网络请求指令后,通过网络获取网络数据向其订阅器返回;以及将从其订阅器接收到的网络数据在网页页面中进行显示;
所述监听器用于将从订阅器接收到的网络数据存储到所述指定URL的本地存储空间中;以及在接收到所述浏览器发送的携带有所述网络数据的存储事件后,将所述存储事件中携带的网络数据向本监听器对应的订阅器发送;
所述监听器还用于定时查询所述本地存储空间中对应本监听器存储的数据键值的主键master_key参数是否过期;若所述master_key参数未过期,则进一步确定所述master_key参数中的监听器标识与本监听器的标识相同后,刷新所述master_key参数中的过期时间;若所述master_key参数过期,则尝试将该master_key参数中的监听器标识设置为本监听器的标识;若设置成功、且本监听器在设置之前为从监听器,则确定本监听器由从监听器升为主监听器;若设置不成功、且本监听器在设置之前为主监听器,则确定本监听器由主监听器降为从监听器;由从变为主的监听器通知对应的订阅器升为主订阅器;由主变为从的监听器通知对应的订阅器降为从订阅器。
8.如权利要求7所述的装置,其特征在于,
所述订阅器还用于在本订阅器创建后判断是否已经加载了一个指定URL的子页面;若否,则加载一个指定URL的子页面;之后,向该指定URL的子页面发送监听器创建指令、数据键值、以及本订阅器的标识;该指定URL的子页面根据接收的监听器创建指令,创建一个标识与接收的订阅器的标识相同的监听器,并将接收的数据键值传送给该监听器,该监听器存储接收的数据键值,并在初始化过程中添加存储事件的监听功能;其中,所述数据键值是根据本订阅器的订阅者所需数据采用哈希算法生成的。
CN201310648053.XA 2013-12-04 2013-12-04 网页页面数据共享方法和装置 Active CN103678549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310648053.XA CN103678549B (zh) 2013-12-04 2013-12-04 网页页面数据共享方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310648053.XA CN103678549B (zh) 2013-12-04 2013-12-04 网页页面数据共享方法和装置

Publications (2)

Publication Number Publication Date
CN103678549A CN103678549A (zh) 2014-03-26
CN103678549B true CN103678549B (zh) 2017-06-13

Family

ID=50316094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310648053.XA Active CN103678549B (zh) 2013-12-04 2013-12-04 网页页面数据共享方法和装置

Country Status (1)

Country Link
CN (1) CN103678549B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105229990B (zh) * 2014-04-29 2018-10-30 华为技术有限公司 加载网页的方法和装置
CN104978373A (zh) * 2014-06-09 2015-10-14 腾讯科技(深圳)有限公司 网页展示方法及网页展示装置
CN104376123B (zh) * 2014-12-08 2017-10-17 畅捷通信息技术股份有限公司 浏览器跨页面共享数据的方法和装置
CN104468833B (zh) * 2014-12-26 2018-05-29 北京奇虎科技有限公司 请求信息统一处理的方法和装置
CN106021512A (zh) * 2016-05-24 2016-10-12 乐视控股(北京)有限公司 一种页面刷新方法及装置
CN107943441A (zh) * 2017-11-17 2018-04-20 郑州云海信息技术有限公司 一种多窗口数据同步方法和装置
CN108881395B (zh) * 2018-05-23 2021-11-23 北京五八信息技术有限公司 消息推送方法、设备、消息管理器及计算机可读存储介质
CN110781009A (zh) * 2018-07-30 2020-02-11 北京京东尚科信息技术有限公司 浏览器页面实时通信的方法及装置
CN109445966B (zh) * 2018-11-06 2020-11-10 网易传媒科技(北京)有限公司 事件处理方法、装置、介质和计算设备
CN109684585B (zh) * 2018-11-20 2024-07-09 平安科技(深圳)有限公司 跨页面的数据存取方法、装置、计算机设备和存储介质
CN111385336A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 页面通信方法、装置、计算机设备及存储介质
CN110245191B (zh) * 2019-06-18 2021-07-02 政采云有限公司 数据处理方法及装置
CN110633443B (zh) * 2019-08-30 2023-08-08 腾讯科技(深圳)有限公司 一种页内数据通信的方法、装置、设备和介质
CN110765208B (zh) * 2019-10-22 2022-09-20 成都知道创宇信息技术有限公司 一种数据同步方法、装置、电子设备及存储介质
CN111190689B (zh) * 2019-12-24 2022-01-11 腾讯科技(深圳)有限公司 数字孪生系统仿真方法及装置
CN113704670A (zh) * 2021-09-02 2021-11-26 工银科技有限公司 数据共享方法、装置、设备、介质和程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HTML5高级程序设计;柳伯斯等;《人民邮电出版社》;20110131;第175-200页 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103678549B (zh) 网页页面数据共享方法和装置
CN105930528B (zh) 一种网页缓存的方法及服务器
TWI654860B (zh) Hybrid application client resource calling method, client and system
US9817800B2 (en) Method and apparatus for reducing page load time in communication system
US10324896B2 (en) Method and apparatus for acquiring resource
CN106126693B (zh) 一种网页的相关数据的发送方法及装置
EP2985705A2 (en) Webpage access method and apparatus, and router
US11184465B2 (en) Network communication for establishing a QUIC connection
US20150271202A1 (en) Method, device, and system for detecting link layer hijacking, user equipment, and analyzing server
US20150082151A1 (en) Page display method and device
CN108228282A (zh) 用于网站页面加载的方法及装置
EP2648388B1 (en) Method, system, and device for displaying page
US9753794B2 (en) Method and apparatus for controlling sending of heartbeat signal
US20170103140A1 (en) Device and method for optimizing web page
US10178147B1 (en) Client-side location address translation
CN104519008A (zh) 跨站脚本攻击防御方法和装置、应用服务器
US20120124175A1 (en) Atom-based really simple syndication (rss) content reader system and method, and atom-based rss content providing system and method
US11064052B2 (en) Page insertion method and device
CN111368235A (zh) 页面渲染和展示方法、装置、服务器、存储介质
CN108023867A (zh) 移动端网页广告过滤的方法、网关服务器及过滤服务器
CN111339456B (zh) 预加载方法和装置
CN111339461A (zh) 应用程序的页面访问方法及相关产品
CN112104703A (zh) cookie管理方法、中间节点及webvpn系统
CN104283920A (zh) 一种网络应用路由的方法、服务器、终端和系统
CN110674435A (zh) 页面访问方法、服务器、终端、电子设备及可读存储介质

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
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
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: Web page data sharing method and device

Granted publication date: 20170613

License type: Common License

Record date: 20210524

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230417

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.