CN104615771B - 一种获取网页数据的方法及装置 - Google Patents
一种获取网页数据的方法及装置 Download PDFInfo
- Publication number
- CN104615771B CN104615771B CN201510083259.1A CN201510083259A CN104615771B CN 104615771 B CN104615771 B CN 104615771B CN 201510083259 A CN201510083259 A CN 201510083259A CN 104615771 B CN104615771 B CN 104615771B
- Authority
- CN
- China
- Prior art keywords
- web data
- web
- mark
- data
- terminal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 230000006870 function Effects 0.000 claims description 70
- 230000006835 compression Effects 0.000 claims description 20
- 238000007906 compression Methods 0.000 claims description 20
- 238000005538 encapsulation Methods 0.000 claims description 15
- 241001269238 Data Species 0.000 claims description 8
- 238000009877 rendering Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 13
- 238000004891 communication Methods 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 2
- 238000013497 data interchange Methods 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
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
本发明公开了一种获取网页数据的方法及装置,属于互联网通信领域。所述方法包括:代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。所述装置包括:第一接收模块、查看模块、第一获取发送模块和第二获取发送模块。本发明能够减轻网页服务器的处理压力。
Description
技术领域
本发明涉及互联网通信领域,特别涉及一种获取网页数据的方法及装置。
背景技术
目前,用户经常通过终端来浏览网页。当用户需要浏览网页时,终端需要获取该网页的网页数据,以便根据该网页的网页数据来渲染该网页并将该网页显示给用户。
当前,现有技术提供了一种获取网页数据的方法,包括:当终端接收到用户触发的浏览一网页的请求时,终端获取该网页的链接,将该网页的链接发送给网页服务器。网页服务器接收该网页的链接,根据该网页的链接获取该网页的网页数据,并将获取的网页数据发送给终端。终端接收网页服务器发送的网页数据,根据该网页数据渲染该网页,并显示该网页。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
目前终端的数目越来越多,浏览网页的人数也越来越多,如此直接从网页服务器中获取网页数据,将大大增加网页服务器的处理压力。
发明内容
为了减轻网页服务器的处理压力,本发明提供了一种获取网页数据的方法及装置。所述技术方案如下:
一种获取网页数据的方法,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,所述方法包括:
代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,所述第一网页请求消息至少携带第一网页数据的标识;
根据所述第一网页数据的标识,查看本地缓存中是否存在所述标识对应的第一网页数据;
如果存在,则从所述本地缓存中获取所述第一网页数据,将所述第一网页数据发送给所述终端;
如果不存在,则从所述第一网页数据的标识对应的第一网页服务器中获取并缓存所述第一网页数据,将所述第一网页数据发送给所述终端。
一种获取网页数据的装置,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,所述装置包括:
第一接收模块,用于接收其对应的网络区域内的终端发送的第一网页请求消息,所述第一网页请求消息至少携带第一网页数据的标识;
查看模块,用于根据所述第一网页数据的标识,查看本地缓存中是否存在所述标识对应的第一网页数据;
第一获取发送模块,用于如果存在,则从所述本地缓存中获取所述第一网页数据,将所述第一网页数据发送给所述终端;
第二获取发送模块,用于如果不存在,则从所述第一网页数据的标识对应的第一网页服务器中获取并缓存所述第一网页数据,将所述第一网页数据发送给所述终端。
在本发明实施例中,代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。由于在代理服务器本地缓存中存在第一网页数据时,直接从代理服务器中获取了第一网页数据,如此可以大大减轻第一网页服务器的处理压力。
附图说明
图1是本发明实施例1提供的一种获取网页数据的方法流程图;
图2-1是本发明实施例2提供的一种网络架构的第一示意图;
图2-2是本发明实施例2提供的一种获取网页数据的方法流程图;
图2-3是本发明实施例2提供的一种浏览器页面的示意图;
图2-4是本发明实施例2提供的一种网络架构的第二示意图;
图3是本发明实施例3提供的一种获取网页数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
参见图1,本发明实施例提供了一种获取网页数据的方法,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,包括:
步骤101:代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;
步骤102:根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;
步骤103:如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;
步骤104:如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。
进一步地,如果第一网页数据中包含第二网页数据的标识,该方法还包括:
接收终端发送的第二网页请求消息,第二网页请求消息中至少携带回调函数的函数名和第二网页数据的标识;
获取第二网页数据的标识对应的第二网页数据,根据该函数名将第二网页数据封装成脚本格式的网页数据,该脚本格式的网页数据为调用该回调函数的调用语句,该调用语句的参数为第二网页数据;
发送封装的第二网页数据给终端,以使终端在接收到封装的第二网页数据时执行该调用语句调用该回调函数来渲染第二网页数据。
优选地,获取第二网页数据的标识对应的第二网页数据,包括:
根据第二网页数据的标识,查看本地缓存中是否存在对应的第二网页数据;
如果存在,则从本地缓存中获取第二网页数据;
如果不存在,则从第二网页数据的标识对应的第二网页服务器中获取并缓存第二网页数据。
优选地,从第二网页数据的标识对应的第二网页服务器中获取并缓存第二网页数据,包括:
从第二网页数据的标识对应的第二网页服务器中获取非压缩的第二网页数据,以根据回调函数的函数名直接将非压缩的第二网页数据封装为脚本格式的网页数据。
进一步地,发送封装的第二网页数据给该终端之前,还包括:
对封装的第二网页数据进行压缩得到压缩的第二网页数据。
在本发明实施例中,代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。由于在代理服务器本地缓存中存在第一网页数据时,直接从代理服务器中获取了第一网页数据,如此可以大大减轻第一网页服务器的处理压力。
实施例2
本发明实施例提供了一种获取网页数据的方法。
目前,一网页服务器的网页中除包括该网页服务器中的网页数据以外,还可以包括其他网页服务器中的网页数据。为了便于说明,将该网页服务器称为第一网页服务器,将其他网页服务器称为第二网页服务器,将该网页中包括的第一网页服务器中的网页数据称为第一网页数据,以及将该网页中包括的第二网页服务器中的网页数据称为第二网页数据。其中,第一网页数据中包含第二网页数据的标识。当用户请求浏览该网页时,可以通过本发明实施例提供的方法来获取该网页的网页数据。
其中,网络中包括多个代理服务器,每个代理服务器分别对应一个网络区域。对于每个网络区域,该网络区域内的网络架构如图2-1所示,该网络区域内的代理服务器位于终端与网页服务器之间,用于在终端与网页服务器之间转发数据或缓存数据等,由于代理服务器连接多个终端和多个网页服务器,所以代理服务器的性能一般比网页服务器的性能高。在本发明中执行主体即为代理服务器。
参见图2-2,具体包括:
步骤201:代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;
其中,第一网页数据的标识可以为第一网页数据对应的第一URL(UniformResoure Locator,统一资源***)。
终端的浏览器为用户提供了获取该网页的接口,该接口可以为该网页的超链接。该网页的超链接中包括第一网页数据的标识,用户可以点击该网页的超链接来向浏览器提交浏览该网页的请求。当浏览器检测到用户提交的浏览请求时,从该网页的超链接中获取第一网页数据的标识,发送第一网页请求消息给该终端所在网络区域对应的代理服务器,第一网页请求消息中携带第一网页数据的标识。该代理服务器接收该终端发送的第一网页请求消息。
例如,假设第一网页数据的标识为URL1。终端的浏览器页面如图2-3所示,为用户提供了网页1的超链接,网页1的超链接中包括第一网页数据的标识URL1。用户点击如图2-3所示的网页1的超链接来向浏览器提交浏览网页1的请求。当浏览器检测到用户提交的浏览请求时,从网页1的超链接中获取第一网页数据的标识URL1,发送第一网页请求消息给该终端所在网络区域对应的代理服务器1,第一网页请求消息中携带URL1。代理服务器1接收该终端发送的第一网页请求消息。
进一步地,获取该网页的接口还可以为网页搜索接口。该网页搜索接口包括地址输入框和搜索按钮,用户可以向地址输入框中输入第一网页数据的标识,并点击搜索按钮向浏览器提交搜索该网页的请求。当浏览器检测到用户提交的浏览请求时,从该地址输入框中获取用户输入的第一网页数据的标识,发送第一网页请求消息给该终端所在网络区域对应的代理服务器,第一网页请求消息中携带第一网页数据的标识。该代理服务器接收该终端发送的第一网页请求消息。
例如,如图2-3所示的浏览器页面为用户提供了网页搜索接口,用户向该网页搜索接口包括的地址输入框中输入第一网页数据的标识URL1,并点击搜索按钮向浏览器提交搜索网页1的请求。当浏览器检测到用户提交的浏览请求时,从如图2-3所示的地址输入框中获取用户输入的第一网页数据的标识URL1,发送第一网页请求消息给该终端所在网络区域对应的代理服务器1,第一网页请求消息中携带URL1。代理服务器1接收该终端发送的第一网页请求消息。
步骤202:根据第一网页数据的标识,查看本地缓存中是否存在该标识对应的第一网页数据,如果存在,则执行步骤203,如果不存在,则执行步骤204;
其中,代理服务器具有很强的缓存功能,在根据网页数据的标识从网页服务器获取对应的网页数据时,会将该网页数据的标识和获取的网页数据存储在网页数据的标识与网页数据的对应关系中。
本步骤具体为,根据第一网页数据的标识,查看本地缓存中存储的网页数据的标识与网页数据的对应关系,如果该对应关系中包含第一网页数据的标识,则判断出本地缓存中存在该标识对应的第一网页数据,则执行步骤203。如果该对应关系中不包含第一网页数据的标识,则判断出本地缓存中不存在该标识对应的第一网页数据,则执行步骤204。
例如,根据第一网页数据的标识URL1,查看本地缓存中存储的如表1所示的网页数据的标识与网页数据的对应关系,且查看出该对应关系中不包含第一网页数据的标识URL1,则判断出本地缓存中不存在URL1对应的第一网页数据,则执行步骤204。
表1
网页数据的标识 | 网页数据 |
URL3 | Page3 |
URL2 | Page2 |
…… | …… |
步骤203:从本地缓存中获取第一网页数据,将第一网页数据发送给终端,执行步骤205;
具体地,根据第一网页数据的标识,从本地缓存的网页数据的标识与网页数据的对应关系中获取对应的第一网页数据,将获取的第一网页数据发送给终端,然后执行步骤205的操作。
例如,根据第一网页数据的标识URL1,从本地缓存的网页数据的标识与网页数据的对应关系中获取对应的第一网页数据,假设获取的第一网页数据为Page1,将获取的第一网页数据Page1发送给终端,然后执行步骤205的操作。
其中,从代理服务器的本地缓存中直接获取第一网页数据,利用了代理服务器的缓存功能,缓解了第一网页服务器的处理压力。
步骤204:从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端;
其中,第一网页数据的标识中包含该网页所属的第一网页服务器的域名。第一网页服务器中存储有网页数据的标识与网页数据的对应关系,该对应关系中包含第一网页服务器提供的所有网页数据。
其中,代理服务器从第一网页数据的标识中获取第一网页服务器的域名,根据第一网页服务器的域名,将第一网页数据的标识发送给第一网页服务器。第一网页服务器接收代理服务器发送的第一网页数据的标识,根据第一网页数据的标识,从自身存储的网页数据的标识与网页数据的对应关系中获取对应的第一网页数据,并将获取的第一网页数据发送给代理服务器。代理服务器接收第一网页数据,将第一网页数据发送给终端,并将第一网页数据的标识与接收的第一网页数据缓存在本地存储的网页数据的标识与网页数据的对应关系中。
例如,代理服务器从第一网页数据的标识URL1中获取第一网页服务器的域名,假设第一网页服务器的域名为yours.com,根据第一网页服务器的域名yours.com,将第一网页数据的标识URL1发送给第一网页服务器。第一网页服务器接收代理服务器发送的第一网页数据的标识URL1,根据第一网页数据的标识URL1,从自身存储的网页数据的标识与网页数据的对应关系中获取对应的第一网页数据Page1,并将获取的第一网页数据Page1发送给代理服务器。代理服务器接收第一网页数据Page1,将第一网页数据Page1发送给终端,并将第一网页数据的标识URL1与接收的第一网页数据Page1缓存在本地存储的如表1所示的网页数据的标识与网页数据的对应关系中。缓存之后网页数据的标识与网页数据的对应关系如表2所示。
表2
网页数据的标识 | 网页数据 |
URL3 | Page3 |
URL2 | Page2 |
URL1 | Page1 |
…… | …… |
其中,通过上述步骤203或204的操作将第一网页数据发送给终端之后,终端首先查看第一网页数据中是否包含第二网页数据的标识,如果不包含,则判断出已获取到该网页的全部网页数据,根据第一网页数据渲染并显示该网页,结束操作。如果包含,则判断出仅获取到该网页的部分网页数据,则根据第一网页数据渲染该网页,并发送第二网页请求消息给其所在网络区域对应的代理服务器,第二网页请求消息中至少携带第二网页数据的标识。
其中,如果第一网页数据中包含第二网页数据的标识,则可以通过如下步骤205-210的操作来获取该网页包括的剩余的部分网页数据。
步骤205:代理服务器接收终端发送的第二网页请求消息,第二网页请求消息中携带回调函数的函数名和第二网页数据的标识;
其中,当网页中除包括第一网页服务器中的第一网页数据以外,还包括第二网页服务器中的第二网页数据时,终端从第一网页服务器中获取的第一网页数据中除包含第二网页数据的标识以外,还包括第二网页数据的数据类型以及回调函数的实现语句。该数据类型可以为图片、视频或JSON(JavaScript Object Notation,轻量级的数据交换格式)等。
由于第二网页服务器并不是该网页所属的网页服务器,从第二网页服务器中获取网页数据的操作属于跨域获取操作。由于跨域获取的JSON类型的网页数据存在被恶意改写的风险等安全隐患,所以浏览器不支持直接从第二网页服务器中获取JSON类型的网页数据。而为了使浏览器可以识别跨域获取的网页数据,终端需要将该回调函数的函数名发送给代理服务器,使代理服务器根据该回调函数的函数名将这些JSON类型的网页数据封装为浏览器可识别的脚本格式的网页数据,即将JSON类型的网页数据转换为JSONP(JSON withPadding,JSON的一种“使用模式”)类型的网页数据。
例如,代理服务器1接收终端发送的第二网页请求消息,第二网页请求消息中携带回调函数的函数名Response和第二网页数据的标识URL2。
其中,通过上述步骤205的操作接收到终端发送的第二网页请求消息之后,可以通过如下步骤206-208的操作来获取第二网页数据的标识对应的第二网页数据。
步骤206:根据第二网页数据的标识,查看本地缓存中是否存在对应的第二网页数据,如果存在,则执行步骤207,如果不存在,则执行步骤208;
具体地,根据第二网页数据的标识,查看本地缓存中存储的网页数据的标识与网页数据的对应关系,如果该对应关系中包含第二网页数据的标识,则判断出本地缓存中存在该标识对应的第二网页数据,则执行步骤207。如果该对应关系中不包含第二网页数据的标识,则判断出本地缓存中不存在该标识对应的第二网页数据,则执行步骤208。
例如,根据第二网页数据的标识URL2,查看本地缓存中存储的如表1所示的网页数据的标识与网页数据的对应关系,且查看出该对应关系中包含第二网页数据的标识URL2,则判断出本地缓存中存在URL2对应的第二网页数据,则执行步骤207。
步骤207:从本地缓存中获取第二网页数据,执行步骤209;
例如,根据第二网页数据的标识URL2,从本地缓存的如表1所示的网页数据的标识与网页数据的对应关系中获取对应的第二网页数据Page2,然后执行步骤209的操作。
其中,从代理服务器的本地缓存中直接获取第二网页数据,利用了代理服务器的缓存功能,缓解了第二网页服务器的处理压力。
步骤208:从第二网页数据的标识对应的第二网页服务器中获取并缓存第二网页数据;
其中,第二网页数据的标识中包含第二网页服务器的域名。第二网页服务器中存储有网页数据的标识与网页数据的对应关系,该对应关系中包含第二网页服务器提供的所有网页数据。
其中,代理服务器从第二网页数据的标识中获取第二网页服务器的域名,根据第二网页服务器的域名,将第二网页数据的标识发送给第二网页服务器。第二网页服务器接收代理服务器发送的第二网页数据的标识,根据第二网页数据的标识,从自身存储的网页数据的标识与网页数据的对应关系中获取对应的第二网页数据,并将获取的第二网页数据发送给代理服务器。代理服务器接收第二网页数据,并将第二网页数据的标识与接收的第二网页数据缓存在本地存储的网页数据的标识与网页数据的对应关系中。
例如,代理服务器从第二网页数据的标识URL2中获取第二网页服务器的域名,假设第二网页服务器的域名为name.com,根据第二网页服务器的域名name.com,将第二网页数据的标识URL2发送给第二网页服务器。第二网页服务器接收代理服务器发送的第二网页数据的标识URL2,根据第二网页数据的标识URL2,从自身存储的网页数据的标识与网页数据的对应关系中获取对应的第二网页数据Page2,并将获取的第二网页数据Page2发送给代理服务器。代理服务器接收第二网页数据Page2,并将第二网页数据的标识URL2与接收的第二网页数据Page2缓存在本地存储的网页数据的标识与网页数据的对应关系中。
其中,从第二网页服务器中获取的第二网页数据可能为压缩的第二网页数据或者非压缩的第二网页数据。当获取的为压缩的第二网页数据时,若需要对第二网页数据进行进一步地处理,则首先需要对压缩的第二网页数据进行解压缩。
进一步地,在本步骤中,代理服务器还可以直接从第二网页服务器中获取非压缩的第二网页数据,以节省对压缩的第二网页数据进行解压缩时所占用的服务器资源。其中,可以通过如下方式直接从第二网页服务器中获取非压缩的第二网页数据,具体为:
代理服务器从第二网页数据的标识中获取第二网页服务器的域名,根据第二网页服务器的域名,向第二网页服务器发送第二网页数据的标识和非压缩标识,以使第二网页服务器根据第二网页数据的标识和非压缩标识获取并返回非压缩的第二网页数据。
其中,代理服务器是以HTTP(Hypertext transfer protocol,超文本传送协议)请求的形式向第二网页服务器发送第二网页数据的标识和非压缩标识,代理服务器修改HTTP请求的请求头中的Accept-Encoding(支持的编码类型)字段,使第二网页服务器返回非压缩的第二网页数据。
其中,通过上述步骤207或208的操作获取到第二网页数据之后,需要通过如下步骤209的操作来将第二网页数据封装为脚本格式的网页数据。
步骤209:根据回调函数的函数名,将第二网页数据封装为脚本格式的网页数据,该脚本格式的网页数据为调用该回调函数的调用语句,该调用语句的参数为第二网页数据;
具体地,将第二网页数据作为回调函数的参数。将该回调函数的函数名和该参数封装成调用该回调函数的调用语句,将该调用语句作为封装后的第二网页数据。
例如,将第二网页数据Page2作为回调函数的参数。将该回调函数的函数名Response和该参数Page2封装成调用该回调函数的调用语句Response({Page2}),将该调用语句Response({Page2})作为封装后的第二网页数据。
其中,终端将从第一网页数据中包含的回调函数的函数名发送给代理服务器,代理服务器根据该回调函数的函数名,将第二网页数据封装为脚本格式的网页数据。如此使终端将第一网页数据中包含的回调函数的函数名配置为封装所需的回调函数的函数名,实现了回调函数的可配置性。
其中,由于封装得到的脚本格式的网页数据的容量比封装前的第二网页数据的容量大,所以为了节省网络带宽,通过上述步骤209的操作将第二网页数据封装为脚本格式的网页数据后,可以通过如下步骤210的操作来对封装后的第二网页数据进行压缩。
步骤210:对封装的第二网页数据进行压缩得到压缩的第二网页数据,并向终端发送压缩的第二网页数据,以使终端根据该压缩的第二网页数据调用该回调函数来渲染第二网页数据。
其中,代理服务器对封装的第二网页数据进行压缩得到压缩的第二网页数据,然后将压缩的第二网页数据发送给终端。终端接收该压缩的第二网页数据,对该压缩的第二网页数据进行解压缩处理得到脚本格式的网页数据,根据该脚本格式的网页数据中包含的回调函数的函数名调用第一网页数据中包含的该回调函数,从该脚本格式的网页数据中获取第二网页数据,将第二网页数据作为参数输入给该回调函数,执行该回调函数来将第二网页数据渲染到该网页中。
例如,代理服务器对该脚本格式的网页数据Response({Page2})进行压缩得到压缩的第二网页数据,然后将压缩的第二网页数据发送给终端。终端接收该压缩的第二网页数据,对该压缩的第二网页数据进行解压缩处理得到该脚本格式的网页数据Response({Page2}),根据该脚本格式的网页数据中包含的回调函数的函数名Response调用第一网页数据Page1中包含的该回调函数Response(),从该脚本格式的网页数据Response({Page2})中获取第二网页数据Page2,将第二网页数据Page2作为参数输入给该回调函数Response(),执行该回调函数Response()来将第二网页数据Page2渲染到该网页中。
其中,相对于非压缩的脚本格式的网页数据,压缩的脚本格式的网页数据的容量较小。向终端发送压缩的脚本格式的网页数据,可以节省网络带宽。
目前,大量网页都既包括自身所属网页服务器的网页数据又包括其他网页服务器的网页数据。对于这些网页,都可以同该网页按照本发明实施例提供的方法来获取这些网页的网页数据。
其中,在本发明实施例中,充分利用代理服务器的缓存功能来缓解后端网页服务器的处理压力。如图2-4所示,后端网页服务器负责具体网页数据的产生和存储,与代理服务器相比性能较弱。前端代理服务器负责高性能缓存网页数据,对网页服务器之间的负载进行均衡,以及转发请求等,不产生具体的网页数据,与网页服务器相比性能较强。用户的页面请求或http接口调用通过代理服务器与网页服务器进行交互。如果代理服务器中缓存有用户请求的网页数据,则直接将缓存的网页数据发送给用户,如此可以大大缓解网页服务器的处理压力。
在本发明实施例中,代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。由于在代理服务器本地缓存中存在第一网页数据时,直接从代理服务器中获取了第一网页数据,且终端跨域获取第二网页数据时,若代理服务器本地缓存中存在第二网页数据时,直接从代理服务器中获取了第二网页数据,如此可以大大减轻第一网页服务器和第二网页服务器的处理压力。
实施例3
参见图3,本发明实施例提供了一种获取网页数据的装置,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,包括:
第一接收模块301,用于接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;
查看模块302,用于根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;
第一获取发送模块303,用于如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;
第二获取发送模块304,用于如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。
进一步地,如果第一网页数据中包含第二网页数据的标识,该装置还包括:
第二接收模块,还用于接收终端发送的第二网页请求消息,第二网页请求消息中至少携带回调函数的函数名和第二网页数据的标识;
获取封装模块,用于获取第二网页数据的标识对应的第二网页数据,根据该函数名将第二网页数据封装成脚本格式的网页数据,该脚本格式的网页数据为调用该回调函数的调用语句,该调用语句的参数为第二网页数据;
发送模块,用于发送封装的第二网页数据给终端,以使终端在接收到封装的第二网页数据时执行该调用语句调用该回调函数来渲染第二网页数据。
其中,获取封装模块包括:
查看单元,用于根据第二网页数据的标识,查看本地缓存中是否存在对应的第二网页数据;
第一获取单元,用于如果存在,则从本地缓存中获取第二网页数据;
第二获取单元,用于如果不存在,则从第二网页数据的标识对应的第二网页服务器中获取并缓存第二网页数据。
其中,第二获取单元,用于从第二网页数据的标识对应的第二网页服务器中获取非压缩的第二网页数据,以根据回调函数的函数名直接将非压缩的第二网页数据封装为脚本格式的网页数据。
进一步地,该装置还包括:
压缩模块,用于对封装的第二网页数据进行压缩得到压缩的第二网页数据。
在本发明实施例中,代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,第一网页请求消息至少携带第一网页数据的标识;根据第一网页数据的标识,查看本地缓存中是否存在标识对应的第一网页数据;如果存在,则从本地缓存中获取第一网页数据,将第一网页数据发送给终端;如果不存在,则从第一网页数据的标识对应的第一网页服务器中获取并缓存第一网页数据,将第一网页数据发送给终端。由于在代理服务器本地缓存中存在第一网页数据时,直接从代理服务器中获取了第一网页数据,如此可以大大减轻第一网页服务器的处理压力。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种获取网页数据的方法,其特征在于,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,所述方法包括:
代理服务器接收其对应的网络区域内的终端发送的第一网页请求消息,所述第一网页请求消息至少携带第一网页数据的标识;
根据所述第一网页数据的标识,查看本地缓存中是否存在所述标识对应的第一网页数据;
如果存在,则从所述本地缓存中获取所述第一网页数据,将所述第一网页数据发送给所述终端;如果不存在,则从所述第一网页数据的标识对应的第一网页服务器中获取并缓存所述第一网页数据,将所述第一网页数据发送给所述终端;
接收所述终端发送的第二网页请求消息,所述第二网页请求消息中至少携带回调函数的函数名和第二网页数据的标识,所述第二网页请求为所述终端在确定所述第一网页数据中包含所述第二网页数据的标识时所发送,且所述终端在发送所述第二网页请求时根据所述第一网页数据渲染当前需要显示的网页,所述第一网页数据和所述第二网页数据对应的网页服务器不同,且所述第二网页数据对应的第二网页服务器不是所述网页所属的网页服务器;
获取所述第二网页数据的标识对应的第二网页数据,根据所述函数名将所述第二网页数据封装成脚本格式的网页数据,所述脚本格式的网页数据为调用所述回调函数的调用语句,所述调用语句的参数为所述第二网页数据;
对所述封装的第二网页数据进行压缩得到压缩的第二网页数据;
发送所述压缩的第二网页数据给所述终端,以使所述终端在接收到所述压缩的第二网页数据时执行所述调用语句调用所述回调函数来渲染所述第二网页数据。
2.如权利要求1所述的方法,其特征在于,所述获取所述第二网页数据的标识对应的第二网页数据,包括:
根据所述第二网页数据的标识,查看本地缓存中是否存在对应的第二网页数据;
如果存在,则从所述本地缓存中获取所述第二网页数据;
如果不存在,则从所述第二网页数据的标识对应的第二网页服务器中获取并缓存所述第二网页数据。
3.如权利要求2所述的方法,其特征在于,所述从所述第二网页数据的标识对应的第二网页服务器中获取并缓存所述第二网页数据,包括:
从所述第二网页数据的标识对应的所述第二网页服务器中获取非压缩的第二网页数据,以根据所述回调函数的函数名直接将所述非压缩的第二网页数据封装为所述脚本格式的网页数据。
4.一种获取网页数据的装置,其特征在于,网络中存在多个代理服务器,每个代理服务器分别对应一个网络区域,所述装置包括:
第一接收模块,用于接收其对应的网络区域内的终端发送的第一网页请求消息,所述第一网页请求消息至少携带第一网页数据的标识;
查看模块,用于根据所述第一网页数据的标识,查看本地缓存中是否存在所述标识对应的第一网页数据;
第一获取发送模块,用于如果存在,则从所述本地缓存中获取所述第一网页数据,将所述第一网页数据发送给所述终端;
第二获取发送模块,用于如果不存在,则从所述第一网页数据的标识对应的第一网页服务器中获取并缓存所述第一网页数据,将所述第一网页数据发送给所述终端;
第二接收模块,用于接收所述终端发送的第二网页请求消息,所述第二网页请求消息中至少携带回调函数的函数名和第二网页数据的标识,所述第二网页请求为所述终端在确定所述第一网页数据中包含所述第二网页数据的标识时所发送,且所述终端在发送所述第二网页请求时根据所述第一网页数据渲染当前需要显示的网页,所述第一网页数据和所述第二网页数据对应的网页服务器不同,且所述第二网页数据对应的第二网页服务器不是所述网页所属的网页服务器;
获取封装模块,用于获取所述第二网页数据的标识对应的第二网页数据,根据所述函数名将所述第二网页数据封装成脚本格式的网页数据,所述脚本格式的网页数据为调用所述回调函数的调用语句,所述调用语句的参数为所述第二网页数据;
压缩模块,用于对所述封装的第二网页数据进行压缩得到压缩的第二网页数据;
发送模块,用于发送所述压缩的第二网页数据给所述终端,以使所述终端在接收到所述压缩的第二网页数据时执行所述调用语句调用所述回调函数来渲染所述第二网页数据。
5.如权利要求4所述的装置,其特征在于,所述获取封装模块包括:
查看单元,用于根据所述第二网页数据的标识,查看本地缓存中是否存在对应的第二网页数据;
第一获取单元,用于如果存在,则从所述本地缓存中获取所述第二网页数据;
第二获取单元,用于如果不存在,则从所述第二网页数据的标识对应的第二网页服务器中获取并缓存所述第二网页数据。
6.如权利要求5所述的装置,其特征在于,所述第二获取单元,用于从所述第二网页数据的标识对应的所述第二网页服务器中获取非压缩的第二网页数据,以根据所述回调函数的函数名直接将所述非压缩的第二网页数据封装为所述脚本格式的网页数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083259.1A CN104615771B (zh) | 2015-02-13 | 2015-02-13 | 一种获取网页数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510083259.1A CN104615771B (zh) | 2015-02-13 | 2015-02-13 | 一种获取网页数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615771A CN104615771A (zh) | 2015-05-13 |
CN104615771B true CN104615771B (zh) | 2018-12-21 |
Family
ID=53150213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510083259.1A Active CN104615771B (zh) | 2015-02-13 | 2015-02-13 | 一种获取网页数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615771B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095559A (zh) * | 2016-06-21 | 2016-11-09 | 苏州蜗牛数字科技股份有限公司 | 基于移动终端数据代理数据加速节流***及方法 |
CN106357834B (zh) * | 2016-08-30 | 2020-01-07 | 上海二三四五网络科技有限公司 | 一种在根域名及其子域名中调取信息的方法 |
CN108694215A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 网页缓存预热的方法、装置、电子设备和计算机可读介质 |
CN109286768B (zh) * | 2017-07-21 | 2021-05-14 | 威海新北洋荣鑫科技股份有限公司 | 金融票据图像获取方法以及金融票据图像存档*** |
CN111385336A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 页面通信方法、装置、计算机设备及存储介质 |
CN111767495A (zh) * | 2019-04-01 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 一种合成网页的方法及*** |
CN110390043A (zh) * | 2019-06-17 | 2019-10-29 | 深圳壹账通智能科技有限公司 | 网页邮箱数据的爬取方法、装置、终端和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179518A (zh) * | 2006-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种利用浏览器实现即时通信的方法及*** |
CN102710748A (zh) * | 2012-05-02 | 2012-10-03 | 华为技术有限公司 | 数据获取方法、***及设备 |
CN102868719A (zh) * | 2012-06-29 | 2013-01-09 | 北京奇虎科技有限公司 | 一种基于缓存的网络访问方法和服务器 |
CN103281387A (zh) * | 2013-05-31 | 2013-09-04 | 北京奇虎科技有限公司 | 处理网页中子资源的方法、服务器、客户端和*** |
-
2015
- 2015-02-13 CN CN201510083259.1A patent/CN104615771B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179518A (zh) * | 2006-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种利用浏览器实现即时通信的方法及*** |
CN102710748A (zh) * | 2012-05-02 | 2012-10-03 | 华为技术有限公司 | 数据获取方法、***及设备 |
CN102868719A (zh) * | 2012-06-29 | 2013-01-09 | 北京奇虎科技有限公司 | 一种基于缓存的网络访问方法和服务器 |
CN103281387A (zh) * | 2013-05-31 | 2013-09-04 | 北京奇虎科技有限公司 | 处理网页中子资源的方法、服务器、客户端和*** |
Also Published As
Publication number | Publication date |
---|---|
CN104615771A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104615771B (zh) | 一种获取网页数据的方法及装置 | |
CN103392179B (zh) | 获取页面资源的方法及装置、浏览器及移动终端 | |
CN104572777B (zh) | 基于UIWebView组件的网页加载方法及装置 | |
CN105095280B (zh) | 一种浏览器缓存方法和装置 | |
JP5230642B2 (ja) | ウェブページの表示方法およびシステム | |
CN103353886B (zh) | 预览网页的方法及*** | |
US20150082151A1 (en) | Page display method and device | |
CN100424694C (zh) | 一种网络收藏夹的实现方法 | |
CA2839006C (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
CN104426985B (zh) | 显示网页的方法、装置及*** | |
US8131753B2 (en) | Apparatus and method for accessing and indexing dynamic web pages | |
CN102438045A (zh) | Web页面的预取方法、***以及访问web页面的方法 | |
CN106528657A (zh) | 浏览器跳转至应用程序的控制方法及装置 | |
CN104601522B (zh) | 移动客户端与业务***交互的实现方法、装置及*** | |
CN104685831A (zh) | 测量网页呈现时间 | |
CN107040584B (zh) | 客户端下载图片的方法及装置 | |
CN101178717A (zh) | 一种对网页进行适配处理的方法及网页适配装置 | |
CN110221871A (zh) | 网页获取方法、装置、计算机设备及存储介质 | |
CN106126693A (zh) | 一种网页的相关数据的发送方法及装置 | |
CN103324756A (zh) | 一种提高浏览器访问速度的方法及装置 | |
CN104615597B (zh) | 浏览器中清除缓存文件的方法、装置和*** | |
CN105393247A (zh) | 一种网页优化的设备及方法 | |
CN107203470A (zh) | 页面调试方法和装置 | |
CN104731817B (zh) | 一种网页展现方法和装置 | |
CN105279156B (zh) | 网络信息通信方法及网络信息浏览装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |