网页加载及响应方法、装置、计算机设备和存储介质与流程

文档序号:19248242发布日期:2019-11-27 19:52阅读:157来源:国知局
网页加载及响应方法、装置、计算机设备和存储介质与流程

本申请涉及信息技术领域,特别是涉及一种网页加载及响应方法、装置、计算机设备和存储介质。



背景技术:

随着计算机信息技术的发展,网页的应用已经深入到生活的方方面面,如用户可以通过网页浏览新闻、查看社交网站、查找信息、进行网上贸易、观看网络视频等等。

传统的网页加载方法在进行网页加载时通过串行或并行的方式将网页上的各个数据业务请求发送到服务器请求数据。串行的方式是指每个数据业务都对应发送一个数据业务请求至服务器,并通过多个响应数据包返回数据的方式;并行的方式是指多个数据业务仅发送一个数据请求至服务器,并通过一个响应数据包返回数据的方式。如此,通过串行的方式请求数据将导致服务器端请求过多,造成服务器压力过大;通过并行的方式请求数据将导致客户端响应时间过长。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种降低服务器压力且及时响应客户端的网页加载及响应方法、装置、计算机设备和存储介质。

一种网页加载方法,所述方法包括:

发送网页请求,所述网页请求携带网页地址;

接收响应所述网页请求返回的网页文件;

根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

一种网页响应方法,所述方法包括:

接收网页请求,并根据所述网页请求返回网页文件;

接收数据请求;

对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据;

分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。

一种网页加载装置,所述装置包括:

网页请求发送模块,用于发送网页请求,所述网页请求携带网页地址;

网页文件接收模块,用于接收响应所述网页请求返回的网页文件;

数据请求发送模块,用于根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

响应数据接收模块,用于接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

一种网页响应装置,所述装置,包括:

网页文件返回模块,用于接收网页请求,并根据所述网页请求返回网页文件;

数据请求接收模块,用于接收数据请求;

数据解析获取模块,用于对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据;

数据分块响应模块,用于分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述网页加载方法的步骤。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述网页响应方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网页加载方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网页响应方法的步骤。

上述网页加载及响应方法、装置、计算机设备和存储介质,终端发送网页请求,所述网页请求携带网页地址;服务器接收网页请求,并根据所述网页请求返回网页文件;终端接收响应所述网页请求返回的网页文件;根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;服务器接收数据请求;对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据;分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。终端接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。一方面,由于无论有多少个数据业务都只需要接收一个数据请求,因此,可以降低服务器端因多个数据业务需要接收多个数据请求而造成的访问压力。另一方面,由于终端接收分块返回的响应数据包,因此,可以在一部分数据业务请求完成之后,便接收响应该数据业务请求的响应数据包,能够及时响应客户端。从而,上述网页加载及响应方法、装置、计算机设备和存储介质能够降低服务器压力且及时响应客户端。

附图说明

图1为一个实施例中网页加载及响应方法的应用环境图;

图2为一个实施例中网页加载方法的流程示意图;

图3为图2的网页加载方法的一个步骤的流程示意图;

图4为图2的网页加载方法的另一个步骤的流程示意图;

图5为一个实施例中网页响应方法的流程示意图;

图6为又一个实施例中网页响应方法的流程示意图;

图7为一个实施例中网页加载及响应方法的时序图;

图8为一个实施例中页面示例图;

图9为一个实施例中网页加载装置的结构框图;

图10为另一个实施例中网页加载装置的结构框图;

图11为一个实施例中网页响应装置的结构框图;

图12为另一个实施例中网页响应装置的结构框图;

图13为一个实施例中计算机设备的内部结构图;

图14为另一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的网页加载及响应方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102通过网络发送网页请求至服务器104;服务器104接收该网页请求,并根据网页请求返回网页文件;终端102接收响应网页请求返回的网页文件,根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求;服务器104接收数据请求,对数据请求进行解析得到至少一个数据业务请求,并根据数据业务请求获取请求数据,分块响应数据请求中的各数据业务请求,返回包括请求数据的响应数据包。终端102接收分块返回的响应数据包。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,接入层服务器104,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种网页加载方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:

s202,发送网页请求。

网页请求携带网页地址。该网页请求发送至网页地址对应的服务器。该网页请求用于向网页地址对应的服务器请求网页。

s204,接收响应网页请求返回的网页文件。

服务器接收到网页请求后,响应该网页请求返回网页地址对应的网页文件,终端接收该网页文件。该网页文件可以为html(hypertextmarkuplanguage,超文本标记语言)文件。

s206,根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求。

在接收到返回的网页文件之后,执行该网页文件。执行该网页文件的过程中,需根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送该数据请求至该数据请求对应的服务器。网页文件中的各数据业务可以通过网页文件中的直译式脚本语言(如,javascript,一种直译式脚本语言)实现。该数据请求对应的服务器,可以是网页地址对应的服务器,也可以是数据业务请求对应的服务器。

可以理解地,一个数据业务对应一条数据业务请求,一个数据请求包括至少一个数据业务请求。

s208,接收分块返回的响应数据包。

响应数据包为分块响应数据请求中的各数据业务请求而返回的数据包。

服务器根据该数据请求,对数据请求进行解析得到至少一个数据业务请求,并根据数据业务请求获取请求数据。获取请求数据的方式,可以是将数据业务请求转发至数据业务请求对应的服务器,从该数据业务请求对应的服务器上获取请求数据;也可以是在数据请求所在的服务器上,直接获取请求数据。服务器获取到请求数据后,分块响应数据请求中的各数据业务请求,返回包括请求数据的响应数据包。终端接收该响应数据包。

上述网页加载方法,发送网页请求,网页请求携带网页地址;接收响应网页请求返回的网页文件;根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求;接收分块返回的响应数据包,响应数据包为分块响应数据请求中的各数据业务请求而返回的数据包。一方面,由于无论有多少个数据业务都只需要接收一个数据请求,因此,可以降低服务器端因多个数据业务需要接收多个数据请求而造成的访问压力。另一方面,由于终端接收分块返回的响应数据包,因此,可以在一部分数据业务请求完成之后,便接收响应该数据业务请求的响应数据包,能够及时响应客户端。从而,上述网页加载方法能够降低服务器压力且及时响应客户端。

如图3所示,在其中一实施例中,数据请求包括内部网页请求。根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求的步骤,包括:

s302,在网页文件中创建文档框架。

s304,根据网页文件中各数据业务,将各数据业务对应的数据业务请求封装成一个内部网页请求,并在文档框架中发送内部网页请求,内部网页请求为网页文件内部请求网页的请求。

即在本实施例中,数据请求的形式为内部网页请求。可以理解地,该内部网页请求中携带有各数据业务对应的数据业务请求。可以通过在文档框架中发送携带地址参数的内部网页请求,从而发送各数据业务请求。即可以通过将各数据业务请求作为内部网页请求的地址参数,从而发送各数据业务请求。可以通过网页文件中的直译式脚本语言实现步骤s302和s304。

可以通过文档框架的scr属性(路径属性)传递地址参数,该地址参数可以为url(uniformresourcelocator,统一资源定位符),该方式传递的地址参数的长度受url的长度限制。文档框架是否允许执行直译式脚本语言的属性设置为允许,即允许执行js(javascript的简称,一种直译式脚本语言)。从而可以通过网页文件中的直译式脚本语言在文档框架中实现发送内部网页请求。

文档框架又称内联框架或行内框架,可以通过iframe(文档框架)标签来创建。在其中一个具体实施例中,可以通过直译式脚本语言动态创建一个隐藏的文档框架,并将该文档框架添加到网页文件中。

其中一实施例中,响应数据包包括内部网页文件;内部网页文件的编码传输方式为分块传输编码,内部网页文件为网页文件内部的子网页文件。

可以通过在http(超文本传输协议)头中指定transfer-encoding(编码传输方式)属性值为chunked(分块传输编码)的方式,将内部网页文件的编码传输方式设置为分块传输编码。分块传输编码是http中的一种数据传输机制,允许http由网页服务器发送给客户端应用(通常是网页浏览器)的数据可以分成多个部分。

需要说明的是,必须通过一个网页文件,即本实施方式中的内部网页文件,才能利用网页文件的编码传输方式的特性:分块传输编码方式。

文档框架可以为一个沙箱环境,由于沙箱环境具有安全限制,因此,可以提高网页的安全属性。可以通过将文档框架的属性设置为sandbox(沙箱环境),将文档框架设置为沙箱环境。

对于文档框架和网页文档属于一个域的情况,可以在文档框架中直接调用网页文档中的函数来进行数据的传递,如此,便可以通过多次调用网页文件中的函数来实现分块响应数据到网页文件中。其中,域(domain)是windows网络中独立运行的单位。对于文档框架和网页文档属于不同域的情况,可以通过postmessage函数实现,postmessage函数是windowsapi(应用程序接口)中的一个常用函数,用于将一条消息放入到消息队列中。

在其中一个具体实施例中,需要将文档框架的地址参数设置为一个分块响应的网页地址,即该网页地址对应的网页的编码传输方式是分块传输编码。

如图4所示,在其中一实施例中,根据网页文件中各数据业务,将各数据业务对应的数据业务请求封装成一个内部网页请求,并在文档框架中发送内部网页请求的步骤,包括:

s402,在网页文件中创建表单,并将表单的打开目的地设置为文档框架。

s404,根据网页文件中的各数据业务,在表单中创建输入对象,各输入对象的值分别设置为各数据业务对应的数据业务请求。

s406,通过调用表单的提交函数,形成一个内部网页请求,并发送内部网页请求。

如,可以通过form标签创建一个隐藏的表单,将表单的提交属性(method)设置为post方法(分段传输方法),并添加到网页文档中,同时将文档框架作为表单的打开目的地址(target属性)。即表单的target属性设置为与文档框架的(name)名称属性相同的内容。采用post方法,终端将与action属性(动作属性)中指定的表单处理服务器建立联系,建立连接之后,终端将按分段传输的方法将数据发送给服务器。在服务器端,在post样式的应用程序开始执行时,就应该从一个标志位置读取参数,而读到参数后,在应用程序使用这些表单值以前,必须对这些参数进行解码。

利用表单的特性,打开目的地址可以设置为一个文档框架。可以将需要传递的数据放到表单中的隐藏字段中,通过调用表单的提交方法(submit),来产生一个post类型的文档框架请求,从而发送内部网页请求,能够传递大量数据。

在其中一实施例中,根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求的步骤,包括:

根据网页文件中的各数据业务的模块划分方式,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求。

响应数据包为根据模块划分方式,分块响应数据请求中的各数据业务请求而返回的数据包。

在本实施例中,可以根据模块划分方式,将至少一个模块中数据业务对应的数据业务请求封装成一个数据请求。需要说明的是,模块的数量取决于网页中模块的划分方式,无论划分了多少个模块,都封装成一个数据请求,一个模块返回一个响应数据包。基于本实施方式的网页加载方法,将网页文件中的数据业务请求封装成一个数据请求,并能够按模块划分方式接收到响应数据包,从而,能够降低服务器压力且及时响应客户端。

该模块划分方式可以是将具有数据依赖关系的业务划分在同一个模块。可以通过数组的形式保存各个数据业务请求的数据和接口地址。无需依赖其它数据业务的数据业务请求可作为数组中的元素,需要依赖其它数据业务的数据业务请求可作为对应的元素中的一个嵌套的结构体。

在其中一个具体实施例中,可以将数据业务请求的数据和接口合并成一个json数组,为了区分不同的数据业务请求,可以为数组中的每个元素都分配一个唯一的身份标识,可以称作元素标识。该元素标识可随数据请求发送到服务器,从而实现服务器与终端的数据业务请求对应。

在网页文档中创建一个文档框架,并将该文档框架隐藏,可以通过将该文档框架的显示方式设置为隐藏的方式实现,其实现代码可以为:styledisplay:none。然后,在网页文档中创建一个表单,将该表单的提交属性(method)设置为post方法,将该表单的打开目的地址设置为该文档框架。在表单中添加一个或多个输入对象,该输入对象可以为隐藏的形式,其实现代码可以为:inputtype=hidden。可以将需要传递的json(javascriptobjectnotation,js对象简谱,是一种轻量级的数据交换格式)数组进行序列化后,作为输入对象的值,最后调用表单的提交方法,发起一个post请求,从而发送数据请求。

服务器在接收到json数组后,需要对该数据进行解析,处理完成一个元素的数据,便分块返回至终端。分块返回的数据格式可以是一段js调用,比如,<script>parent.postmessage(${pack},“*”);</script>,实现在父文档(即网页文档)中监听消息(message)事件,父文档中获取到响应数据包(pack),然后再对响应数据包进行反序列化,得到服务器返回的数据。

在一个实施例中,如图5所示,提供了一种与上述网页加载方法对应的网页响应方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:

s502,接收网页请求,并根据网页请求返回网页文件。

网页请求携带网页地址。服务器可以根据该网页地址返回网页文件至终端。

s504,接收数据请求。

该数据请求为终端根据网页文件中的各数据业务,将各数据业务对应的数据业务请求进行封装成而形成并发送的。服务器接收该数据请求。

s506,对数据请求进行解析得到至少一个数据业务请求,并根据数据业务请求获取请求数据。

一项数据业务对应一个数据业务请求,一个数据请求包括至少一个数据业务请求。获取请求数据的方式可以为在本地服务器获取,也可以是转发数据业务请求至数据业务请求对应的特定服务器,并接收该特定服务器返回的数据而获取。

s508,分块响应数据请求中的各数据业务请求,返回包括请求数据的响应数据包。

响应数据包为分块响应数据请求中的各数据业务请求而返回的数据包。分块响应的方式是指每当获取到一部分数据业务请求对应的数据时,便返回一个响应数据包。一部分数据业务请求,可以是一个数据业务请求,也可以是按照模块划分方式划分的一个模块的数据业务请求。模块划分方式可以采用任意方式进行划分,在一个较佳实施例中,将具有数据依赖关系的数据业务请求划分在同一个模块中。

上述网页响应方法,一方面,由于无论有多少个数据业务都只需要接收一个数据请求,因此,可以降低服务器端因多个数据业务需要接收多个数据请求而造成的访问压力。另一方面,由于服务器分块返回响应数据包,因此,可以在一部分数据业务请求完成之后,便响应该数据业务请求,能够及时响应客户端。从而,上述网页响应方法能够降低服务器压力且及时响应客户端。

请参阅图6,在其中一实施例中,对数据请求进行解析得到至少一个数据业务请求,并根据数据业务请求获取请求数据的步骤,包括:

s6062,解析数据请求,得到模块划分方式及至少一个按照模块划分方式的数据业务请求。

s6064,根据模块划分方式及数据业务请求,分块获取请求数据。

该模块划分方式可以是按照任意方式进行模块划分的,在一个较佳实施例中,将具有数据依赖关系的业务划分在同一个模块,从而降低模块之间的依赖关系。

在本实施例中,按照模块划分方式,分块获取请求数据。分块获取请求数据的方式可以为按照模块划分的方式分模块在本地服务器获取,也可以是按照模块划分的方式分模块转发数据业务请求至数据业务请求对应的特定服务器,并接收该特定服务器返回的数据而获取。分块获取的方式,使得请求数据能够并行获取,可进一步减少响应时间。

请继续参阅图6,在其中一实施例中,分块响应数据请求中的各数据业务请求,返回包括请求数据的响应数据包的步骤,包括:

s608,每获取到一个模块的请求数据时,响应数据请求中模块内的数据业务请求,返回响应数据包。

在本实施例中,按照模块划分方式,每当获取到一个模块的请求数据时,将其返回至终端,从而及时响应终端上的客户端。

以下以图7中的时序图对本申请进行进一步说明。

首先,终端发送网页请求。服务器接收该网页请求,并根据网页请求返回网页文件。

然后,终端接收响应网页请求返回的网页文件,并根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求。

接着,服务器接收数据请求,对数据请求进行解析得到至少一个数据业务请求,并根据数据业务请求获取请求数据,分块响应数据请求中的各数据业务请求,返回包括请求数据的响应数据包。

最后,终端接收分块返回的响应数据包。

以下以一具体示例对本申请的有益效果进行说明。该具体示例的页面中,如图8所示,包含4个模块:模块a、模块b、模块c及模块d。假设网络请求耗时为100ms,模块a、模块b、模块c及模块d分别对应的后台处理时间分别为100ms、200ms、300ms及400ms。

若采用按模块划分串行的方式,即一个模块的数据业务对应发送一个数据业务请求至服务器、并通过多个响应数据包返回数据的方式,终端将发送4个数据请求文件至服务器,并且服务器通过4个响应数据包返回数据。200ms后模块a可用,300ms后模块b可用,400ms后模块c可用,500ms后模块d可用。由此可见,对于访问量较多的网页对应的服务器将面临较大的访问压力。

若采用按模块划分并行的方式,即多个模块的数据业务仅发送一个数据请求至服务器,并通过一个响应数据包返回数据的方式,终端将发送一个数据请求至服务器,并且服务器在4个模块的数据均获取后,通过一个响应数据包返回数据。该响应数据包返回的时间受4个模块中响应时间最长的限制,500ms后模块a、模块b、模块c及模块d同时可用。由此可见,即使模块a获取数据的时间较短,但也需要等到模块d的数据获取完之后,才能被返回,因此,客户端响应时间过长。

若采用本申请的方式,根据网页文件中的各数据业务的模块划分方式,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求。那么,终端将发送一个数据请求至服务器,并且服务器在4个模块的数据均获取后,通过4个响应数据包返回数据。200ms后模块a可用,300ms后模块b可用,400ms后模块c可用,500ms后模块d可用。由于,无论页面有多少个模块,终端仅发送一个数据请求至服务器,可以有效降低访问量较多的网页对应的服务器的访问压力,同时,由于在服务器获取到一个模块的数据之后,便返回对应的响应数据包,能够及时响应客户端。

应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种网页加载装置,包括:

网页请求发送模块902,用于发送网页请求,所述网页请求携带网页地址。

网页文件接收模块904,用于接收响应所述网页请求返回的网页文件。

数据请求发送模块906,用于根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求。

响应数据接收模块908,用于接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

上述网页加载装置,发送网页请求,网页请求携带网页地址;接收响应网页请求返回的网页文件;根据网页文件中的各数据业务,将各数据业务对应的数据业务请求封装成一个数据请求,并发送数据请求;接收分块返回的响应数据包,响应数据包为分块响应数据请求中的各数据业务请求而返回的数据包。一方面,由于无论有多少个数据业务都只需要接收一个数据请求,因此,可以降低服务器端因多个数据业务需要接收多个数据请求而造成的访问压力。另一方面,由于终端接收分块返回的响应数据包,因此,可以在一部分数据业务请求完成之后,便接收响应该数据业务请求的响应数据包,能够及时响应客户端。从而,上述网页加载装置能够降低服务器压力且及时响应客户端。

在其中一实施例中,所述数据请求包括内部网页请求,所述装置,还包括:文档框架建立模块1005。

所述文档框架建立模块1005,用于在所述网页文件中创建文档框架。

所述数据请求发送模块1006,用于根据所述网页文件中各所述数据业务,将各所述数据业务对应的数据业务请求封装成一个内部网页请求,并在所述文档框架中发送所述内部网页请求,所述内部网页请求为所述网页文件内部请求网页的请求。

在其中一实施例中,所述响应数据包包括内部网页文件。所述内部网页文件的编码传输方式为分块传输编码,所述内部网页文件为所述网页文件内部的子网页文件。

在其中一实施例中,所述数据请求发送模块1006,包括:

表单创建单元1062,用于在所述网页文件中创建表单,并将所述表单的打开目的地设置为所述文档框架。

输入对象设置单元1064,用于根据所述网页文件中的各数据业务,在所述表单中创建输入对象,各所述输入对象的值分别设置为各所述数据业务对应的所述数据业务请求。

网页请求发送单元1066,用于通过调用所述表单的提交函数,形成一个内部网页请求,并发送所述内部网页请求。

在其中一实施例中,所述数据请求发送模块,用于根据所述网页文件中的各数据业务的模块划分方式,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求。

所述响应数据包为根据所述模块划分方式,分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

关于网页加载装置的具体限定可以参见上文中对于网页加载方法的限定,在此不再赘述。上述网页加载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

如图11所示,本申请还提供一种网页响应装置,所述装置,包括:

网页文件返回模块1102,用于接收网页请求,并根据所述网页请求返回网页文件。

数据请求接收模块1104,用于接收数据请求。

数据解析获取模块1106,用于对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据。

数据分块响应模块1108,用于分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。

上述网页响应装置,一方面,由于无论有多少个数据业务都只需要接收一个数据请求,因此,可以降低服务器端因多个数据业务需要接收多个数据请求而造成的访问压力。另一方面,由于服务器分块返回响应数据包,因此,可以在一部分数据业务请求完成之后,便响应该数据业务请求,能够及时响应客户端。从而,上述网页响应装置能够降低服务器压力且及时响应客户端。

如图12所示,在其中一实施例中,所述数据解析获取模块,包括:

数据请求解析单元1262,用于解析所述数据请求,得到模块划分方式及至少一个按照所述模块划分方式的数据业务请求。

数据分块获取单元1264,用于根据所述模块划分方式及所述数据业务请求,分块获取请求数据。

在其中一实施例中,所述数据分块响应模块,用于每获取到一个模块的所述请求数据时,响应所述数据请求中所述模块内的所述数据业务请求,返回响应数据包。

关于网页响应装置的具体限定可以参见上文中对于网页响应方法的限定,在此不再赘述。上述网页响应装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网页响应方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网页加载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图13、14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

发送网页请求,所述网页请求携带网页地址;

接收响应所述网页请求返回的网页文件;

根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

在其中一个实施例中,所述数据请求包括内部网页请求;所述根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求的步骤,包括:

在所述网页文件中创建文档框架;

根据所述网页文件中各所述数据业务,将各所述数据业务对应的数据业务请求封装成一个内部网页请求,并在所述文档框架中发送所述内部网页请求,所述内部网页请求为所述网页文件内部请求网页的请求。

在其中一个实施例中,所述响应数据包包括内部网页文件;所述内部网页文件的编码传输方式为分块传输编码,所述内部网页文件为所述网页文件内部的子网页文件。

在其中一个实施例中,所述根据所述网页文件中各所述数据业务,将各所述数据业务对应的数据业务请求封装成一个内部网页请求,并在所述文档框架中发送所述内部网页请求的步骤,包括:

在所述网页文件中创建表单,并将所述表单的打开目的地设置为所述文档框架;

根据所述网页文件中的各数据业务,在所述表单中创建输入对象,各所述输入对象的值分别设置为各所述数据业务对应的所述数据业务请求;

通过调用所述表单的提交函数,形成一个内部网页请求,并发送所述内部网页请求。

在其中一个实施例中,所述根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求的步骤,包括:

根据所述网页文件中的各数据业务的模块划分方式,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

所述响应数据包为根据所述模块划分方式,分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收网页请求,并根据所述网页请求返回网页文件;

接收数据请求;

对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据;

分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。

在其中一个实施例中,所述对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据的步骤,包括:

解析所述数据请求,得到模块划分方式及至少一个按照所述模块划分方式的数据业务请求;

根据所述模块划分方式及所述数据业务请求,分块获取请求数据。

在其中一个实施例中,所述分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包的步骤,包括:

每获取到一个模块的所述请求数据时,响应所述数据请求中所述模块内的所述数据业务请求,返回响应数据包。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

发送网页请求,所述网页请求携带网页地址;

接收响应所述网页请求返回的网页文件;

根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

接收分块返回的响应数据包,所述响应数据包为分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

在其中一个实施例中,所述数据请求包括内部网页请求;所述根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求的步骤,包括:

在所述网页文件中创建文档框架;

根据所述网页文件中各所述数据业务,将各所述数据业务对应的数据业务请求封装成一个内部网页请求,并在所述文档框架中发送所述内部网页请求,所述内部网页请求为所述网页文件内部请求网页的请求。

在其中一个实施例中,所述响应数据包包括内部网页文件;所述内部网页文件的编码传输方式为分块传输编码,所述内部网页文件为所述网页文件内部的子网页文件。

在其中一个实施例中,所述根据所述网页文件中各所述数据业务,将各所述数据业务对应的数据业务请求封装成一个内部网页请求,并在所述文档框架中发送所述内部网页请求的步骤,包括:

在所述网页文件中创建表单,并将所述表单的打开目的地设置为所述文档框架;

根据所述网页文件中的各数据业务,在所述表单中创建输入对象,各所述输入对象的值分别设置为各所述数据业务对应的所述数据业务请求;

通过调用所述表单的提交函数,形成一个内部网页请求,并发送所述内部网页请求。

在其中一个实施例中,所述根据所述网页文件中的各数据业务,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求的步骤,包括:

根据所述网页文件中的各数据业务的模块划分方式,将各所述数据业务对应的数据业务请求封装成一个数据请求,并发送所述数据请求;

所述响应数据包为根据所述模块划分方式,分块响应所述数据请求中的各所述数据业务请求而返回的数据包。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

接收网页请求,并根据所述网页请求返回网页文件;

接收数据请求;

对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据;

分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包。

在其中一个实施例中,所述对所述数据请求进行解析得到至少一个数据业务请求,并根据所述数据业务请求获取请求数据的步骤,包括:

解析所述数据请求,得到模块划分方式及至少一个按照所述模块划分方式的数据业务请求;

根据所述模块划分方式及所述数据业务请求,分块获取请求数据。

在其中一个实施例中,所述分块响应所述数据请求中的各所述数据业务请求,返回包括所述请求数据的响应数据包的步骤,包括:

每获取到一个模块的所述请求数据时,响应所述数据请求中所述模块内的所述数据业务请求,返回响应数据包。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1