CN103338236A - 一种并发数据获取方法及系统 - Google Patents

一种并发数据获取方法及系统 Download PDF

Info

Publication number
CN103338236A
CN103338236A CN2013102244839A CN201310224483A CN103338236A CN 103338236 A CN103338236 A CN 103338236A CN 2013102244839 A CN2013102244839 A CN 2013102244839A CN 201310224483 A CN201310224483 A CN 201310224483A CN 103338236 A CN103338236 A CN 103338236A
Authority
CN
China
Prior art keywords
data
request
web server
client
resource
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.)
Granted
Application number
CN2013102244839A
Other languages
English (en)
Other versions
CN103338236B (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.)
Alibaba China Co Ltd
Youku Network Technology Beijing Co Ltd
Original Assignee
1Verge Internet Technology Beijing 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 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201310224483.9A priority Critical patent/CN103338236B/zh
Publication of CN103338236A publication Critical patent/CN103338236A/zh
Application granted granted Critical
Publication of CN103338236B publication Critical patent/CN103338236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种并发数据获取方法及系统,该方法包括:客户端发起入口请求;该入口请求传递到Web服务器;Web服务器根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置并对每个请求地址绑定一个回调方法;并发发起数据请求获取数据;各自响应数据请求,然后返回数据;Web服务器给客户端返回数据;客户端通过脚本语言对返回的数据进行分段响应,填充网页区域。该系统包括:客户端,发起入口请求,通过脚本语言对返回的数据进行分段响应,填充网页区域;Web服务器,通过预先设定的配置文件计算出资源所在的位置;并发发起数据请求获取数据,给客户端返回数据;数据库,服务接口,中间层,各自响应数据请求,然后返回数据。

Description

一种并发数据获取方法及系统
技术领域:
本发明涉及网页资源获取领域,尤其是涉及一种并发数据获取方法及系统。
背景技术:
在一般的传统网站的开发模式下,网站程序如CGI(通用网关接口)等,是从入口开始顺序执行,如下面的模式是传统网站的流程说明:
1.网页浏览器等发起资源“入口请求”,如统一资源定位符(即:Universal Resource Locator,以下简称:URL),这个请求会通过超文本传输协议(即:Hype Text Transportation Protocol,以简下称:HTTP)到达Web服务器。
2.Web服务器解析请求内容,按顺序去获取每一个内容资源。
3.把所有内容生成最终的HTML代码发送给网页浏览器。
4.把最终的网页渲染给用户。
在这种情况下,最大的缺点就是给用户终端(网页浏览器)的响应时间最长,如果请求1的时间为t1,请求2的时间为t2,请求3的时间为t3,请求n的时间为t2,他们就是sum(t1,t2,t3,...,tn)之和。
发明内容:
为了减少客户端的响应时间,本发明提供了一种并发数据获取方法,该方法包括:
步骤(1)客户端发起统一资源定位符URL入口请求访问一个网络资源数据;
步骤(2)该入口请求会通过基于超文本传输协议HTTP的网络请求传递到Web服务器;
步骤(3)Web服务器在得到该请求时,通过URL地址描述并根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置;
步骤(4)对每个请求地址绑定一个回调方法;
步骤(5)Web服务器并发发起数据请求获取数据库,服务接口,中间层各种服务的数据;
步骤(6)数据库,服务接口,中间层各自响应数据请求,然后返回数据;
步骤(7)Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行单独回调处理,基于HTTP协议给客户端返回数据;
步骤(8)客户端通过脚本语言对返回的数据进行分段响应,填充网页区域。
进一步,步骤(4)中所述回调方法是用于当每一个独立的请求完成或者失败的时候,可以进行单独的处理,可以返回数据、返回事件控制、返回HTML、CSS资源返回错误提示。
进一步,步骤(3)中所述配置文件用于标识各类数据信息所在服务器的地址。
进一步,所述请求的数据包括静态资源数据和动态资源数据,静态资源数据包括:图片,JavaScript脚本语言,层叠样式表单CSS;动态资源数据包括根据不同的参数而变化的数据。
本发明还提供了一种并发数据获取系统,该系统包括:
客户端,发起统一资源定位符URL入口请求访问一个网络资源数据;该入口请求会通过基于超文本传输协议HTTP的网络请求传递到Web服务器;客户端通过脚本语言对返回的数据进行分段响应,填充网页区域;
Web服务器,在得到该请求时,通过URL地址描述并根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置;对每个请求地址绑定一个回调方法;Web服务器并发发起数据请求获取数据库,服务接口,中间层各种服务的数据;Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行单独回调处理,基于HTTP协议给客户端返回数据;
数据库,服务接口,中间层,各自响应数据请求,然后返回数据。
进一步,Web所绑定回调方法是用于当每一个独立的请求完成或者失败的时候,可以进行单独的处理,可以返回数据、返回事件控制、返回HTML、CSS资源返回错误提示。
进一步,所述配置文件用于标识各类数据信息所在服务器的地址。
进一步,所述请求的数据包括静态资源数据和动态资源数据,静态资源数据包括:图片,JavaScript脚本语言,层叠样式表单CSS;动态资源数据包括根据不同的参数而变化的数据。
附图说明
图1是根据本发明方法的信号交换示意图;
图2是根据本发明系统的结构图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步说明。
在客户端(网页浏览器)发起HTTP协议的请求时,Web服务端采用select/epoll方式,同时并发的去各数据源点获取所需要的数据,然后异步得到各接口响应的数据,通过事件回调的方法,分段渲染网页,持续的把网页给用户呈现出去,如图1所示,详细的流程如下:
1.客户端(网页浏览器,如IE,chrome,firefox,safari等)发起URL“入口请求”,即Request,访问一个网络资源,这个资源主要是网页,请求数据包括:图片,JavaScript脚本语言,层叠样式表单CSS等各种HTTP资源,可以分为静态资源和动态资源,静态资源就是不用根据不同的参数而变化的资源,如CSS,IMAGE,Javascript代码等,动态资源,就是会根据不同的参数而变化的。这个请求会通过基于HTTP协议的网络请求传递到Web服务器,这一步叫请求步骤(Request step)。
2.Web服务器在得到该入口请求时,通过URL地址描述,分析其访问的资源或者内容是什么,然后根据其访问的内容,通过预先设定的配置文件(如ini文件格式)标出资源所在的位置(如服务器组,资源访问的URL),计算出要出哪些服务器去获取所有的数据,解析其服务内容。例如当用户访问网络视频播放页的时候,Web服务器通过用户访问的URL会判定这是用户的信息还是视频的信息,是网页还是接口数据等,这时判断为要获取视频的信息,视频的信息包括1.基本的简介,标题等,2.视频的文件信息,3.视频的播放权限,4.视频的所有者信息等动态信息,5.另外还包括渲染网页的静态信息,如CSS,Javascript,HTML,Image等,而这5种信息是分布在不同的服务器,通过上面的配置文件预先设定,比如,信息1对应服务器1,信息2对应服务器2,以此类推,知道了获取这5种信息所在的地址,于是Web服务器会对相应的服务器发起内部的URL请求。
当解析完后,得到所有请求的数据的时候,然后对每个请求地址绑定一个回调方法(callback),这个回调方法的作用是:当每一个独立的请求完成或者失败的时候,可以进行单独的处理,是返回数据,还是返回事件控制,还是返回HTML,CSS资源,还是出错了进行错误提示等。在绑定完每个请求的回调方法后,Web服务器会通过curl(一种现有的文件传输工具),epoll(用于复合文件描述符集合),select标签等方式对后面的所有接口,并发发起数据请求,获取后面的数据库,服务接口,中间层,等各种服务的数据。
3.后面的各个数据接口(数据库,服务接口,中间层等),各自响应各自的数据请求,然后返回数据就行了。如果是网页的话,就返回CSS,JS,IMAGE等静态资源,如果是接口的话,不需要静态资源的,就只用返回动态数据就行了。
4.Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行每个接口的单独回调处理,可以给客户端(网页浏览器)返回动态数据,也可以返回网页代码(动态数据和静态数据混合)或者其它CSS,JS,IMAGE等静态资源数据,然后通过HTTP协议各自单独的返回给客户端(网页浏览器),这就是Response。
5.客户端(网页浏览器)主要是通过JavaScript脚本语言,把服务器每一部份的数据进行解析(Json,XML,Text数据等)后,完成各自的功能,比如,如果是网页内容,就填充其对应的网页区域,如果是Json(一种轻量级的数据交换格式)/XML/Text数据,就处理数据,完成终端上的对应的功能逻辑,网页浏览器支持对服务端数据的分段响应,然后在每次的响应数据里,可以包括CSS,HTML,Javascript,JSON/XML等格式的数据,通过Javascript脚本语言,对每次的响应进行处理,如显示HTML网页,修改CSS样式,还是进行其它控制等,把每部份的数据分别呈现在网页的各个部分之上。如果是事件控制,就在客户端(网页浏览器)里进行事件方面的控制处理。这样,就完成了一次完整的事件流程。
在这种并发响应的事件流程情况下,最大的优点就是给用户终端(网页浏览器)的响应时间是最优化、最短的,如果请求1的时间为t1,请求2的时间为t2,请求3的时间为t3,请求n的时间为t2,
他们就是max(t1,t2,t3,...,tn),最终网页呈现的速度,仅仅是到后面数据响应的最大时间而已,极快的提高了整个Web服务器响应的时间。
如图2所示,示出了根据本发明系统的结构图,该系统包括:
客户端,发起URL入口请求访问一个网络资源数据;该入口请求会通过基于HTTP协议的网络请求传递到Web服务器;客户端通过脚本语言对返回的数据进行分段响应,填充网页区域;
Web服务器,在得到该请求时,通过URL地址描述并根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置;对每个请求地址绑定一个回调方法;Web服务器并发发起数据请求获取数据库,服务接口,中间层各种服务的数据;Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行单独回调处理,基于Http协议给客户端返回数据;
数据库,服务接口,中间层,各自响应数据请求,然后返回数据。
根据本发明的技术方案能够获得以下技术效果:提高了网页的响应速度,最快时间的呈现网页给用户,提升网站的用户体验,同时增加网站的稳定性与健壮性。
以上所述仅为本发明的较佳实施例,并不用于限制本发明创造,凡在本发明创造精神和原则之内所做的任何修改、等同替换和改进等,均包含于本发明的保护范围之内。

Claims (8)

1.一种并发数据获取方法,其特征在于包括以下步骤:
步骤(1)客户端发起统一资源定位符URL入口请求访问一个网络资源数据;
步骤(2)该入口请求会通过基于超文本传输协议HTTP的网络请求传递到Web服务器;
步骤(3)Web服务器在得到该请求时,通过URL地址描述并根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置;
步骤(4)对每个请求地址绑定一个回调方法;
步骤(5)Web服务器并发发起数据请求获取数据库,服务接口,中间层各种服务的数据;
步骤(6)数据库,服务接口,中间层各自响应数据请求,然后返回数据;
步骤(7)Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行单独回调处理,基于HTTP协议给客户端返回数据;
步骤(8)客户端通过脚本语言对返回的数据进行分段响应,填充网页区域。
2.根据权利要求1所述的方法,其特征在于:
步骤(4)中所述回调方法是用于当每一个独立的请求完成或者失败的时候,可以进行单独的处理,可以返回数据、返回事件控制、返回HTML、CSS资源返回错误提示。
3.根据权利要求1所述的方法,其特征在于:
步骤(3)中所述配置文件用于标识各类数据信息所在服务器的地址。
4.根据权利要求1所述的方法,其特征在于:
所述请求的数据包括静态资源数据和动态资源数据,静态资源数据包括:图片,JavaScript脚本语言,层叠样式表单CSS;动态资源数据包括根据不同的参数而变化的数据。
5.一种并发数据获取系统,其特征在于该系统包括:
客户端,发起统一资源定位符URL入口请求访问一个网络资源数据;该入口请求会通过基于超文本传输协议HTTP的网络请求传递到Web服务器;客户端通过脚本语言对返回的数据进行分段响应,填充网页区域;
Web服务器,在得到该请求时,通过URL地址描述并根据其访问的内容,通过预先设定的配置文件计算出资源所在的位置;对每个请求地址绑定一个回调方法;Web服务器并发发起数据请求获取数据库,服务接口,中间层各种服务的数据;Web服务器在得到后端的各异步数据响应时,通过之前绑定的回调方法,进行单独回调处理,基于HTTP协议给客户端返回数据;
数据库,服务接口,中间层,各自响应数据请求,然后返回数据。
6.根据权利要求5所述的系统,其特征在于:
Web所绑定回调方法是用于当每一个独立的请求完成或者失败的时候,可以进行单独的处理,可以返回数据、返回事件控制、返回HTML、CSS资源返回错误提示。
7.根据权利要求5所述的系统,其特征在于:
所述配置文件用于标识各类数据信息所在服务器的地址。
8.根据权利要求5所述的系统,其特征在于:
所述请求的数据包括静态资源数据和动态资源数据,静态资源数据包括:图片,JavaScript脚本语言,层叠样式表单CSS;动态资源数据包括根据不同的参数而变化的数据。
CN201310224483.9A 2013-06-06 2013-06-06 一种并发数据获取方法及系统 Active CN103338236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310224483.9A CN103338236B (zh) 2013-06-06 2013-06-06 一种并发数据获取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310224483.9A CN103338236B (zh) 2013-06-06 2013-06-06 一种并发数据获取方法及系统

Publications (2)

Publication Number Publication Date
CN103338236A true CN103338236A (zh) 2013-10-02
CN103338236B CN103338236B (zh) 2016-03-30

Family

ID=49246330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310224483.9A Active CN103338236B (zh) 2013-06-06 2013-06-06 一种并发数据获取方法及系统

Country Status (1)

Country Link
CN (1) CN103338236B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657135A (zh) * 2015-02-04 2015-05-27 北京中搜网络技术股份有限公司 一种面向cgi服务的通讯方法
CN104714982A (zh) * 2013-12-17 2015-06-17 阿里巴巴集团控股有限公司 一种网页的加载方法和系统
CN105677688A (zh) * 2014-11-21 2016-06-15 博雅网络游戏开发(深圳)有限公司 页面数据加载方法和系统
CN106293794A (zh) * 2015-06-05 2017-01-04 阿里巴巴集团控股有限公司 加载页面的方法、装置和系统
CN107346305A (zh) * 2016-05-04 2017-11-14 北京京东尚科信息技术有限公司 基于Velocity块指令的局部缓存方法和装置
CN108881396A (zh) * 2018-05-24 2018-11-23 平安普惠企业管理有限公司 网络数据的加载方法、装置、设备和计算机存储介质
CN109144955A (zh) * 2018-07-12 2019-01-04 武汉斗鱼网络科技有限公司 一种文件读取方法和电子设备
CN111124426A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 数据信息的获取方法及装置
CN111881394A (zh) * 2020-07-28 2020-11-03 万商云集(成都)科技股份有限公司 一种应用中间层的请求处理方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271046A1 (en) * 2007-04-27 2008-10-30 Microsoft Corporation Dynamically loading scripts
CN101620635A (zh) * 2009-08-07 2010-01-06 中兴通讯股份有限公司 页面数据获取方法及服务器、页面更新方法及服务器
CN101729598A (zh) * 2009-11-18 2010-06-09 福建星网锐捷网络有限公司 提高Web服务响应速率的方法和系统及网络处理器
CN102521296A (zh) * 2011-11-30 2012-06-27 向进轮 一种网页隔页数据条目筛选方法
CN102541953A (zh) * 2010-12-29 2012-07-04 北大方正集团有限公司 一种树形结构网络数据展现方法及系统
CN102567400A (zh) * 2010-12-31 2012-07-11 阿里巴巴集团控股有限公司 一种实现Web访问的方法和Web服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271046A1 (en) * 2007-04-27 2008-10-30 Microsoft Corporation Dynamically loading scripts
CN101620635A (zh) * 2009-08-07 2010-01-06 中兴通讯股份有限公司 页面数据获取方法及服务器、页面更新方法及服务器
CN101729598A (zh) * 2009-11-18 2010-06-09 福建星网锐捷网络有限公司 提高Web服务响应速率的方法和系统及网络处理器
CN102541953A (zh) * 2010-12-29 2012-07-04 北大方正集团有限公司 一种树形结构网络数据展现方法及系统
CN102567400A (zh) * 2010-12-31 2012-07-11 阿里巴巴集团控股有限公司 一种实现Web访问的方法和Web服务器
CN102521296A (zh) * 2011-11-30 2012-06-27 向进轮 一种网页隔页数据条目筛选方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714982B (zh) * 2013-12-17 2018-11-27 阿里巴巴集团控股有限公司 一种网页的加载方法和系统
CN104714982A (zh) * 2013-12-17 2015-06-17 阿里巴巴集团控股有限公司 一种网页的加载方法和系统
CN105677688A (zh) * 2014-11-21 2016-06-15 博雅网络游戏开发(深圳)有限公司 页面数据加载方法和系统
CN105677688B (zh) * 2014-11-21 2019-07-16 博雅网络游戏开发(深圳)有限公司 页面数据加载方法和系统
CN104657135A (zh) * 2015-02-04 2015-05-27 北京中搜网络技术股份有限公司 一种面向cgi服务的通讯方法
CN106293794A (zh) * 2015-06-05 2017-01-04 阿里巴巴集团控股有限公司 加载页面的方法、装置和系统
CN107346305A (zh) * 2016-05-04 2017-11-14 北京京东尚科信息技术有限公司 基于Velocity块指令的局部缓存方法和装置
CN108881396A (zh) * 2018-05-24 2018-11-23 平安普惠企业管理有限公司 网络数据的加载方法、装置、设备和计算机存储介质
CN108881396B (zh) * 2018-05-24 2022-04-15 平安普惠企业管理有限公司 网络数据的加载方法、装置、设备和计算机存储介质
CN109144955A (zh) * 2018-07-12 2019-01-04 武汉斗鱼网络科技有限公司 一种文件读取方法和电子设备
CN111124426A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 数据信息的获取方法及装置
CN111124426B (zh) * 2018-10-31 2023-07-04 北京国双科技有限公司 数据信息的获取方法及装置
CN111881394A (zh) * 2020-07-28 2020-11-03 万商云集(成都)科技股份有限公司 一种应用中间层的请求处理方法及系统
CN111881394B (zh) * 2020-07-28 2024-01-12 万商云集(成都)科技股份有限公司 一种应用中间层的请求处理方法及系统

Also Published As

Publication number Publication date
CN103338236B (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
CN103338236B (zh) 一种并发数据获取方法及系统
US20200106850A1 (en) System and method for mobile application deep linking
US10394962B2 (en) Methods and systems for the dynamic creation of a translated website
CN106202547B (zh) 一种站点管理方法、装置以及一种网站系统
CN101369272A (zh) 一种自动填充系统及自动填充注册或登录信息的方法
US9311281B2 (en) Methods for facilitating web page image hotspots and devices thereof
US9639629B1 (en) Accelerating the downloading of content to an application
CN106331149A (zh) 一种针对客户端环境的网页代码自适应方法
CA2687530A1 (en) Method and system for transcoding web pages by limiting selection through direction
US20100274870A1 (en) Transcoding web resources
CN110221871B (zh) 网页获取方法、装置、计算机设备及存储介质
US20110145299A1 (en) Offline Gadgets IDE
US20140006924A1 (en) Methods and Systems for Secure In-Network Insertion of Web Content and Web Services
US20140201616A1 (en) Cross-platform embeddable media player
EP3136656A1 (en) Information sharing method and device
KR20100059823A (ko) 존재 정보를 갖는 웹 페이지의 콘텐트를 보강하기 위한 방법
CN105871961B (zh) 一种灰度发布路由的方法及装置
CN107229653B (zh) 伪静态网页生成方法和装置
CN105025065B (zh) 将Web网站转换为Web应用的方法、装置与系统
JP2008071116A (ja) 情報配信システム、情報配信装置、情報配信方法および情報配信用プログラム
US20150163268A1 (en) System and Methods for Dynamically Loading a Compatible Media Player Based on a User's Environment
KR101724076B1 (ko) 사용자 서버를 이용한 html 제어 시스템 및 방법
JP2009532751A (ja) ウェブサイトの更新についての情報を提供する方法および装置
CN106708915B (zh) 网页内容显示系统及方法
JP2009026013A (ja) コンテンツ登録・提供装置、コンテンツ登録・提供制御方法、および、コンテンツ登録・提供制御プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee after: Youku network technology (Beijing) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: 1VERGE INTERNET TECHNOLOGY (BEIJING) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200624

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: Youku network technology (Beijing) Co.,Ltd.