数据获取方法、系统及设备技术方案

技术编号:7851278 阅读:195 留言:0更新日期:2012-10-13 08:11
本发明专利技术公开了一种数据获取方法、系统及设备,属于计算机网络领域。所述方法包括:接收来自客户端的数据获取请求,所述数据获取请求包括网页地址;与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源;将抓取到的所述数据资源推送给所述客户端。本发明专利技术通过利用代理服务器建立多条数据通道来抓取网页的数据资源,然后主动推送给客户端的方案,解决了客户端在获取网络数据时,浪费流量和响应时间较长的问题,达到了客户端仅需要发起一次数据获取请求,就可以快速获得网页的所有数据资源以显示给用户的效果。

【技术实现步骤摘要】

本专利技术涉及计算机网络领域,特别涉及一种数据获取方法、系统及设备
技术介绍
随着移动互联网的快速发展,使用诸如智能手机、平板电脑之类的移动终端浏览网络数据已经成为了人们在日常生活中必不可少的一部分。 以使用智能手机上的浏览器来上网冲浪为例,现有技术中已经存在的一种用于获取网页数据的数据获取方法为第一,智能手机与服务器建立一个TCP (TransmissionControl Protocol,传输控制协议)信道,然后利用该TCP信道向服务器发起一个网页地址的数据获取请求;第二,服务器向智能手机返回该网页地址的主资源,主资源可以简单理解为用于显示该网页的主要内容的相关数据;第三,智能手机将该主资源进行缓存,并解析该主资源以判断网页是否还存在有子资源,子资源可以是Javascript脚本、图片或者音乐等等;第四,如果智能手机判断该网页还存在有子资源,则智能手机需要重新建立一个TCP信道,因为一个TCP信道同一时间只能为一个数据获取请求服务,然后智能手机利用新建的TCP信道向服务器发起子资源的数据获取请求;第五,服务器向智能手机返回该子资源的主资源;、、、;第六,当网页包含多个子资源时,重复上述子资源的获取过程,直到该网页的主资源和所有子资源都被获取到智能手机本地,然后智能手机显示该网页。现有技术存在以下问题第一,智能手机在获取一个网页数据的过程中,每获取一次子资源都要重新建立TCP信道和发送一次请求,从而导致非常浪费流量;第二,当一个网页包含多个子资源时,需要多次数据获取过程,响应时间较长,再加上移动网络本身延迟就比较高,使得一个网页从开始获取到最终显示成功需要非常长的时间,用户体验较差。
技术实现思路
为了解决客户端在获取网络数据时,浪费流量和响应时间较长的问题,本专利技术实施例提供了一种数据获取方法、系统及设备。所述技术方案如下根据本专利技术的一个方面,本专利技术实施例提供一种数据获取方法,用于代理服务器中,所述方法包括接收来自客户端的数据获取请求,所述数据获取请求包括网页地址;与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源;将抓取到的所述数据资源推送给所述客户端。根据本专利技术的另一方面,本专利技术实施例还提供一种数据获取方法,用于客户端中,所述方法包括接收来自用户的网页访问请求,所述网页访问请求包含网页地址;根据所述网页地址向代理服务器发送数据获取请求;接收由所述代理服务器推送的所述网页地址对应的数据资源。根据本专利技术的再一方面,本专利技术实施例还提供了一种代理服务器,所述代理服务器包括请求接收模块,用于接收来自客户端的数据获取请求,所述数据获取请求包括网页地址;资源抓取模块,用于与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源;资源推送模块,用于将抓取到的数据资源推送给所述客户端。根据本专利技术的又一方面,本专利技术实施例还提供一种客户端,所述客户端包括网页请求接收模块,用于接收来自用户的网页访问请求,所述网页访问请求包含网页地址; 获取请求发送模块,用于根据所述网页地址向代理服务器发送数据获取请求;数据资源接收模块,用于接收由所述代理服务器推送的所述网页地址对应的所有数据资源。根据本专利技术的还一方面,本专利技术实施例还提供一种数据获取系统,其包括本专利技术实施例中提供的代理服务器,和本专利技术实施例中提供的客户端。本专利技术实施例提供的技术方案带来的有益效果是通过利用代理服务器建立多条数据通道来抓取网页的数据资源,然后主动推送给客户端的方案,解决了客户端在获取网络数据时,浪费流量和响应时间较长的问题,达到了客户端仅需要发起一次数据获取请求,就可以快速获得网页的所有数据资源以显示给用户的效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本专利技术实施例所涉及的实施环境的结构示意图;图2是本专利技术实施例一提供的数据获取方法的方法流程图;图3是本专利技术实施例二提供的数据获取方法的方法流程图;图4是本专利技术实施例三提供的数据获取方法的方法流程图;图5是本专利技术实施例四提供的代理服务器的结构方框图;图6是本专利技术实施例四提供的代理服务器的另一结构方框图;图7是本专利技术实施例四提供的代理服务器的再一结构方框图;图8是本专利技术实施例四提供的代理服务器的又一结构方框图;图9是本专利技术实施例五提供的客户端的结构方框图;图10是本专利技术实施例五提供的客户端的又一结构方框图;图11是本专利技术实施例六提供的数据获取系统的结构方框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。请首先参考图1,其示出了本专利技术实施例所涉及的实施环境的结构示意图。该实施环境不仅包括用户使用的客户端110和网页服务器120,还包括有用于桥接客户端110和网页服务器120的代理服务器130。其中,用户使用的客户端110可以是诸如手机、平板电脑和超便携个人电脑之类的移动终端,用户可以使用该移动终端来访问网络。网页服务器120用于提供web服务,也即主要提供网页的所有数据资源给客户端110。代理服务器130可以分别与客户端110和网页服务器120相连,用于代替客户端110获取网页服务器120中的数据,然后将获取到的数据提供给客户端110。该代理服务器 130可以是一个服务器,也可以是一个服务器集群,或者是一个云计算中心。请参考图2,其示出了本专利技术实施例一提供的数据获取方法的方法流程图。该数据获取方法可以适用于图I所示代理服务器中,也即本实施例主要以代理服务器一侧来描述,该数据获取方法可以包括步骤202,接收来自客户端的数据获取请求,该数据获取请求包括网页地址;代理服务器可以接收来自客户端的数据获取请求,该数据获取请求可以是HTTP(Hypertext Transfer Protocol,超文本传输协议)请求,该数据获取请求中可以包括网页地址,网页地址可以使用URL (Universal Resource Locator,统一资源定位符)来表示,t匕如一个网页地址为 http://www. XXX. com/index, html。步骤204,与网页服务器建立至少两条数据信道来并行抓取网页地址所对应的数据资源;代理服务器可以与网页服务器建立若干条数据信道来并行抓取网页地址所对应的数据资源,其中,数据资源通常包括主资源和子资源。也就是说,当一个网页地址所对应的数据资源包括一个主资源和多个子资源时,代理服务器可以与网页服务器同时建立若干条数据信道,每条数据信道用来获取一个主资源或者一个子资源,然后代理服务器可以通过这若干条数据信道并行地获取到一个网页地址所对应的所有数据资源。主资源可以是HTML (Hypertext Markup Language,超文本标记语言)类语言所描述的内容,主要用于显示一个网页的主体内容或者框架。子资源可以是一张图片、一个音乐文件或者一个JS脚本(也即Javascript脚本),其大部分都是不能够被HTML类语言来直接描述的内容或者数据。通常情况下,一个网页由一个主资源和若干个子资源构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,所述方法包括 接收来自客户端的数据获取请求,所述数据获取请求包括网页地址; 与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源; 将抓取到的所述数据资源推送给所述客户端。2.根据权利要求I所述的数据获取方法,其特征在于,所述接收来自客户端的数据获取请求,所述数据获取请求包括网页地址之前,还包括 接收来自客户端的持久通道建立请求; 与所述客户端建立持久通道,以便接收来自所述客户端的至少一个数据获取请求; 通过心跳信号与所述客户端维持所述持久通道。3.根据权利要求I所述的数据获取方法,其特征在于,所述与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源,具体包括 与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源,所述数据资源包括主资源和子资源,每条数据通道用于抓取一个主资源或者一个子资源;判断获取到的主资源或子资源是否包括脚本数据; 如果获取到的主资源或子资源包括脚本数据,则预执行所述脚本数据。4.根据权利要求I或3所述的数据获取方法,其特征在于,所述与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源之后,还包括 将获取到的所述网页地址所对应的主资源或者子资源缓存到本地缓存。5.根据权利要求4所述的数据获取方法,其特征在于,所述将抓取到的所有数据资源推送给所述客户端,具体包括 监听所述本地缓存中是否缓存到所述网页地址所对应的主资源或者子资源; 如果所述本地缓存中缓存到所述网页地址所对应的主资源或者子资源,则推送所述主资源或者子资源至所述客户端。6.一种数据获取方法,其特征在于,所述方法包括 接收来自用户的网页访问请求,所述网页访问请求包含网页地址; 根据所述网页地址向代理服务器发送数据获取请求; 接收由所述代理服务器推送的与所述网页地址对应的数据资源。7.根据权利要求6所述的数据获取方法,其特征在于,所述接收来自用户的网页访问请求之前,还包括 向所述代理服务器发送持久通道建立请求; 与所述代理服务器建立持久通道,以便利用所述持久通道向所述代理服务器发送至少一个数据获取请求; 通过心跳信号与所述代理服务器维持所述持久通道。8.根据权利要求7所述的数据获取方法,其特征在于,所述根据所述网页地址向代理服务器发送数据获取请求,具体包括 判断是否已经存在持久通道; 如果已经存在持久通道,则继续判断所述持久通道是否正常; 如果所述持久通道正常,则利用所述持久通道向代理服务器发送数据获取请求,所述数据获取请求中包含所述网页地址。9.一种代理服务器,其特征在于,所述代理服务器包括 请求接收模块,用于接收来自客户端的数据获取请求,所述数据获取请求包括网页地址; 资源抓取模块,用于与网页服务器建立至少两条数据信道来并行抓取所述网页地址所对应的数据资源; 资源推送模块,用于将抓取到的所述数据资源推送给所述客户端。10.根据权利要...

【专利技术属性】
技术研发人员:王一磊
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1