本申请涉及网页展示技术,具体涉及一种网页展示方法、装置及系统。本申请同时涉及另外两种网页展示方法和装置,以及一种电子设备。
背景技术:
对于页面结构代码与业务数据分离的网页,其展示过程主要包括以下阶段:1)请求页面结构代码;2)根据下载的页面结构代码,渲染页面结构;3)请求业务数据;4)对业务数据进行处理,例如,对业务数据进行解码封装等处理;5)根据业务数据重绘网页,如,根据业务数据对页面结构进行局部重新渲染;6)下载并显示页面图片。
在现有技术下,通过顺序(串行)执行上述各个阶段完成网页的展示处理,即:需要首先向服务器请求页面结构代码,在接收到服务器返回的页面结构代码后,根据页面结构代码渲染完成页面结构,然后再向服务器发送获取业务数据的请求,并根据接收到的业务数据进行后续处理,从而完成整个网页的展示。
通过实践表明,现有技术存在网页展示速度慢的问题。因此,如何研究和开发出一种新的网页展示方式,其能够缩短网页展示时间、提高网页展示速度,成为本领域技术人员迫切需要解决的技术问题。
技术实现要素:
本申请提供一种网页展示方法、装置及系统,以解决现有技术下网页展示速度慢的问题。本申请还提供另外两种网页展示方法和装置,以及一种电子设备。
本申请提供第一种网页展示方法,包括:
接收用户提交的针对特定网页的展示请求;
发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;
接收所述页面结构数据和所述业务数据;
根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
可选的,所述特定网页的业务数据包括至少一个系统提供的业务数据;
所述至少一个系统提供的业务数据通过预设的业务数据请求处理服务器获取;
所述第二获取请求采用如下方式发送:
向所述预设的业务数据请求处理服务器发送所述第二获取请求。
可选的,所述至少一个系统提供的业务数据通过预设的业务数据获取装置获取;
所述展示请求包括所述特定网页的业务数据对应的请求参数标识;
所述第二获取请求采用如下步骤发送:
根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,获取所述特定网页的业务数据对应的请求参数;
根据所述请求参数,向所述预设的业务数据请求处理服务器发送所述第二获取请求。
可选的,所述请求参数包括各个系统的系统名、获取各个业务数据的接口名及接口参数名。
可选的,所述对应关系集存储在本地存储器中。
可选的,在所述根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,并获取所述特定网页的业务数据对应的请求参数之前,还包括:
接收并存储服务器下发的所述对应关系集。
可选的,在所述根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,并获取所述特定网页的业务数据对应的请求参数之前,还包括:
判断本地存储器中的所述对应关系集是否有效;若否,则向服务器请求更新所述对应关系集。
可选的,所述服务器包括内容分发网络服务器。
可选的,还包括:
当接收到所述特定网页的业务数据时,在本地存储器中存储接收到的所述特定网页的业务数据。
可选的,所述特定网页的业务数据采用json格式存储。
可选的,所述在本地存储器中存储接收到的所述特定网页的业务数据,采用如下方式:
在本地存储器中存储接收到的所述特定网页的业务数据及所述业务数据的接收时间。
可选的,在所述根据接收到的所述页面结构数据和所述业务数据,并渲染所述特定网页之后,还包括:
对在本地存储器中存储的所述特定网页的业务数据做失效处理。
可选的,所述根据接收到的所述页面结构数据和所述业务数据,并渲染所述特定网页,包括:
当接收到所述页面结构数据时,根据所述页面结构数据渲染所述特定网页的页面结构;
若在渲染完所述特定网页的页面结构时已经接收到所述业务数据,则根据已经接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,还包括:
若在渲染完所述特定网页的页面结构时未接收到所述业务数据或当前时间距离所述业务数据的接收时间超过预设的数据有效期,则重新发送所述第二获取请求,并根据接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,在所述根据已经接收到的所述业务数据,并对所述特定网页的页面结构进行局部重新渲染之前,还包括:
判断当前时间距离所述业务数据的接收时间是否超过预设的数据有效期;若否,则进入下一步骤。
可选的,所述发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求,包括:
向页面结构服务器发送所述第一获取请求;以及向业务数据服务器发送所述第二获取请求。
可选的,在所述发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求之前,还包括:
判断所述展示请求是否携带有用于指示并行获取业务数据的参数;
若上述判断结果为是,则进入下一步骤。
可选的,还包括:
若上述判断结果为否,则执行如下步骤:
发送所述第一获取请求;
根据接收到的所述页面结构数据,渲染所述特定网页的页面结构;
发送所述第二获取请求;
根据接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,所述展示请求包括用于指示并行获取业务数据的参数。
可选的,还包括:
下载并显示所述特定网页包括的图像文件。
相应的,本申请还提供第一种网页展示装置,包括:
展示请求接收单元,用于接收用户提交的针对特定网页的展示请求;
数据获取请求发送单元,用于发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;
数据接收单元,用于接收所述页面结构数据和所述业务数据;
网页渲染单元,用于根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
可选的,所述网页渲染单元包括:
页面结构渲染子单元,用于当接收到所述页面结构数据时,根据所述页面结构数据渲染所述特定网页的页面结构;
页面重绘子单元,用于若在渲染完所述特定网页的页面结构时已经接收到所述业务数据,则根据已经接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
相应的,本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现网页展示方法的程序,该设备通电并通过所述处理器运行该网页展示方法的程序后,执行下述步骤:接收用户提交的针对特定网页的展示请求;发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;接收所述页面结构数据和所述业务数据;根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
相应的,本申请还提供第二种网页展示方法,包括:
接收请求方发送的针对所述特定网页的页面结构数据的获取请求;
根据所述获取请求,获取所述特定网页的页面结构数据;
向所述请求方回送所述页面结构数据。
相应的,本申请还提供第二种网页展示装置,包括:
请求接收单元,用于接收请求方发送的针对所述特定网页的页面结构数据的获取请求;
数据获取单元,用于根据所述获取请求,获取所述特定网页的页面结构数据;
数据回送单元,用于向所述请求方回送所述页面结构数据。
相应的,本申请还提供第三种页展示方法,包括:
接收请求方发送的针对所述特定网页的业务数据的获取请求;
根据所述获取请求,获取所述特定网页的业务数据;
向所述请求方回送所述业务数据。
相应的,本申请还提供第三种网页展示装置,包括:
请求接收单元,用于接收请求方发送的针对所述特定网页的业务数据的获取请求;
数据获取单元,用于根据所述获取请求,获取所述特定网页的业务数据;
数据回送单元,用于向所述请求方回送所述业务数据。
相应的,本申请还提供一种网页展示系统,包括:上述的第一种网页展示装置,上述的第二种网页展示装置,以及上述的第三种网页展示装置。
与现有技术相比,本申请提供的网页展示方法,通过接收用户提交的针对特定网页的展示请求;发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;接收所述页面结构数据和所述业务数据;根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
使用本申请提供的网页展示方法,当用户在客户端中提交针对特定网页的展示请求后,客户端将不仅发送针对该特定网页的页面结构数据的第一获取请求,还会发送针对该特定网页的业务数据的第二获取请求,并根据接收到的页面结构数据和业务数据,渲染该特定网页;这种处理方式,可以在下载页面结构数据及渲染页面结构的同时下载业务数据,无需等待完成页面结构渲染后再下载业务数据;因此,可以有效缩短网页的展示时间,从而提高用户的体验。
附图说明
图1是本申请提供的第一种网页展示方法的实施例的流程图;
图2是本申请提供的第一种网页展示装置的实施例的示意图;
图3是本申请提供的一种电子设备的实施例的示意图;
图4是本申请提供的第二种网页展示方法的实施例的流程图;
图5是本申请提供的第二种网页展示装置的实施例的示意图;
图6是本申请提供的第三种网页展示方法的实施例的流程图;
图7是本申请提供的第三种网页展示装置的实施例的示意图;
图8是本申请提供的一种网页展示系统的实施例的示意图;
图9是本申请提供的一种网页展示系统的实施例的处理流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种网页展示方法、装置及系统,以及另外两种网页展示方法和装置,以及一种电子设备。在下面的实施例中逐一进行详细说明。
本申请提供的网页展示方法,其核心的基本思想为:当用户在客户端中提交针对特定网页的展示请求后,客户端将不仅发送针对该特定网页的页面结构数据的第一获取请求,还会发送针对该特定网页的业务数据的第二获取请求,并根据接收到的页面结构数据和业务数据,渲染该特定网页。由于在下载页面结构数据及渲染页面结构的同时下载业务数据,无需等待完成页面结构渲染后再下载业务数据,因而,可以有效缩短网页的展示时间,从而提高用户的体验。
下面首先对本申请的网页展示方法的设计过程、实用性及技术效果作简要说明。
为了能够直观的说明本申请的网页展示方法的设计过程、实用性及技术效果,以javascript语言缩写的网页为例进行说明。请参见表1,该表给出了网页展示过程中各个阶段所消耗的时间。
表1
通过对上述各个步骤之间的关系进行分析,发明人首先发现,网页展示过程中的第三个步骤“请求业务数据”并不依赖于前两个步骤,因此,可以考虑通过预加载业务数据的方式提高网页的显示速度。发明人通过进一步对表1中各个步骤所消耗的时间进行统计获知,在绝大多数场景下,前两个步骤的最短耗时(表1数据显示约200-800ms)明显长于第三个步骤的耗时(表1数据显示约50-200ms),可见,通过预加载业务数据的方式展示网页具有较高的实用性。基于上述考虑,发明人设计并实现了本申请提供的网页展示方法,
通过实验表明,采用本申请提供的网页展示方法,通过并发的进行页面结构代码和业务数据代码的加载,大约能提升50-200毫秒(即:第三个步骤的耗时)的页面展现时间,因此,本申请的网页展示方法可以有效提升网页的展现速度。
至此,对本申请的网页展示方法的设计过程、实用性及技术效果作了简要说明。接下来,将对本申请的网页展示方法的具体实施方式作出说明。
请参考图1,其为本申请的网页展示方法实施例的流程图。所述方法包括如下步骤:
步骤s101:接收用户提交的针对特定网页的展示请求。
所述特定网页,可以是任意一种页面结构代码与业务数据分离的网页,即页面结构代码与业务数据需要分别请求获取的网页。
所述页面结构代码决定了网页的页面结构,例如,在顶部放一个标题,中间放一个模块跳转的控制器,之后放两列的商品促销模块等。
所述业务数据就是网页中的实际数据,业务数据通常是动态变化的,例如,标题显示成“双11主会场”,电梯头里面到底该显示哪些模块,促销模块里面显示的具体商品名、图片的网页地址及商品价格等。
所述特定网页的编写语言,可以是html语言、html5语言、javascript语言等;相应的,可以通过ie等浏览器打开html网页,通过手机浏览器(如:android系统的uc浏览器、ios系统的safari浏览器)打开html5网页或javascript语言缩写的网页等。
所述展示请求,可以包括获取所述业务数据的各种参数,例如,获取业务数据的应用程序接口名及参数等;所述展示请求,还可以包括用于指示并行获取业务数据的参数。当所述展示请求包括所述用于指示并行获取业务数据的参数时,打开特定网页的应用软件(以下简称客户端)将执行本申请提供的网页展示方法;否则,将采用现有方式打开网页,即:等待完成页面结构渲染后再请求下载业务数据。
例如,用户在淘宝网站的双11活动主会场页面中,点击了某个分会场(如:汽车用品)的链接,该分会场的首页是一个页面结构数据与业务数据分离的网页,此时用户即向打开该网页的浏览器提交了针对该网页的展示请求,形如:https://huodong.taobao.com/wow/tb-20161111/act/qicheyongpin?prefetch=true;para1=x;para2=y,其中,参数prefetch即用于指示并行获取业务数据的参数,参数para1和para2即为获取业务数据的参数。
当客户端接收到用户提交的针对特定网页的展示请求后,就可以进入到下一步,发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求。
步骤s103:发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求。
本申请提供的网页展示方法与现有技术不同之处在于,在客户端接收到用户提交的针对特定网页的展示请求后,将不仅发送针对特定网页的页面结构数据的第一获取请求,还会发送针对特定网页的业务数据的第二获取请求,而无需等待页面结构数据下载完成及页面结构渲染完成后再发送第二获取请求。
具体实施时,可以向页面结构服务器发送所述第一获取请求,向业务数据服务器发送所述第二获取请求。所述页面结构服务器,将根据第一获取请求向客户端回送特定网页的页面结构数据,所述业务数据服务器,将根据第一获取请求向客户端回送特定网页的业务数据。
下面首先对获取业务数据的实施方式进行说明。
在实际应用中,所述特定网页的业务数据,可以是仅包括一个系统提供的业务数据,更多情况下是包括多个系统提供的多个业务数据。当所述特定网页的业务数据包括多个系统提供的多个业务数据时,可以通过一个统一的业务数据获取装置从多个系统中获取多个业务数据,统一的业务数据获取装置将根据请求中的参数(包括:业务数据相关的各个系统的系统名、业务数据相关的各个接口的接口名及接口参数名等),自动向业务数据相关的各个系统请求获取对应的业务数据,并在获取到各个系统提供的业务数据后,将各种业务数据按业务需求拼装在一起,一次返回给客户端;这种处理方式,网页开发人员无需分别向业务数据相关的各个系统请求获取对应的业务数据,仅需将向各个系统发送请求时的参数集中在一起发送给统一的业务数据获取装置即可;因此,可以有效节省网络流量及简化获取业务数据的程序代码。
例如,网页的业务数据包括“秒杀”模块的业务数据、“猜你喜欢”模块的业务数据和“红包抽奖”模块的业务数据,这三个部分的业务数据可能是由三个系统分别提供的;如果不采用统一的业务数据获取装置,则要获取到上述所有业务数据需要发送三次业务数据请求,每个请求分别从不同的系统获取数据;如果采用统一的业务数据获取装置,则仅需调用一次统一的业务数据获取装置即可,该装置会根据参数并发的访问三个系统获取对应的业务数据,并最终将这些数据拼装在一起一次返回给客户端。
进一步的,为了便于监控各个系统的运行状况,还可以通过统一的业务数据请求处理服务器(应用系统网关)访问各个系统,即:针对各个系统的所有获取业务数据的请求都发送至该网关,由该网关调用各个系统。需要注意的是,要采用统一的网关访问各个系统,需要解决各个系统之间的通信问题,例如,可应用负责各个系统间通信的高性能服务框架解决系统间的通信问题。
在本实施例中,所述特定网页的业务数据包括多个系统提供的多个业务数据,所述多个系统提供的多个业务数据通过预设的业务数据请求处理服务器获取,因此,所述第二获取请求采用如下方式发送:向预设的业务数据请求处理服务器发送所述第二获取请求;同时,本实施例还通过预设的业务数据获取装置统一获取所述多个系统提供的多个业务数据;这种处理方式,使得仅向业务数据请求处理服务器发送一次业务数据获取请求,即可获取到所述特定网页的所有业务数据。
通过分析可知,直接包括业务数据请求参数的展示请求将包括较长的参数字符串,例如,包括业务数据相关的各个系统的系统名、业务数据相关的接口名及接口参数名等。如果展示请求包括较长的参数字符串,则将带来如下问题:1)当其中任意一个系统名、接口名或参数名发生变化时,均需修改网页链接地址,可见,修改成本较大,特别是当网页链接地址需要投放到多个系统中时,修改成本更大;2)根据较长的字符串生成的二维码越密,二维码越密越不容易扫描成功;3)当其中任意一个系统名、接口名或参数名发生变化时,均需重新生成对应的二维码,进一步增加了修改成本。
为了解决上述问题,本实施例首先设定了所述请求参数标识与请求参数之间的对应关系集,该对应关系集如表2所示:
表2
通过采用上述对应关系集,所述展示请求包括的可不再是具体的请求参数(如,业务数据相关的系统名、业务数据相关的接口名及接口参数名等),而是包括所述特定网页的业务数据对应的请求参数标识。由于请求参数标识通常固定不变,因此,采用这种处理方式,使得展示请求包括较短的字符串,且不受具体请求参数变化的影响,从而可以有效解决上述各种问题。
当展示请求包括的是请求参数标识时,所述第二获取请求可采用如下步骤发送:1)根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,获取所述特定网页的业务数据对应的请求参数;2)根据所述请求参数,向所述预设的业务数据请求处理服务器发送所述第二获取请求。
所述预设的请求参数标识与请求参数之间的对应关系集,作为统一的配置信息,可以预先存储在客户端本地,也可以存储在网络服务器中。
为了提高处理速度,通常将该对应关系集存储在客户端本地。因此,在所述根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,并获取所述特定网页的业务数据对应的请求参数之前,还可包括如下步骤:接收并存储服务器下发的所述对应关系集。
需要注意的是,作为配置信息的上述对应关系集可能的使用中发生变更,因此,在所述根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,并获取所述特定网页的业务数据对应的请求参数之前,还可包括如下步骤:判断本地存储器中的所述对应关系集是否有效;若否,则向服务器请求获取更新后的所述对应关系集,以便获取到有效的对应关系集。
作为一种优选的方案,用于下发所述对应关系集的服务器可采用内容分发网络(cdn,contentdeliverynetwork)服务器。通过采用内容分发网络,能够尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。
至此,对获取业务数据的实施方式进行了说明。接下来,再对获取页面结构代码的实施方式进行说明。
为了提高页面结构代码的请求速度,具体实施时,可以预先将页面结构代码的文件提前下发到客户端本地,客户端拦截后续网络请求,从而实现页面结构代码的快速加载。采用这种处理方式,可以有效提高页面结构代码的请求速度,页面结构代码的请求时间约30ms。
此外,本实施例的所述特定网页为javascript语言缩写的网页,具体实施时应用了weex技术。weex技术要求开发人员按指定格式编写dsl(指令系统),如vue.js或rx.js,然后编译生成一个js-bundle。因此,weex的页面结构代码实际上是一个js-bundle(一个js文件)。手机把这个js下载下来以后,会在手机环境里面通过js引擎执行这段js(如:android系统是weex内嵌的一个v8引擎,ios系统是系统的jscore引擎),并最终渲染出页面结构。采用这种处理方式,可以有效提高网页的展示性能(如:滚动性能等)。
作为一种可选的方案,所述展示请求还可包括用于指示并行获取业务数据的参数。相应的,在本步骤s103之前还包括如下具体步骤:判断所述展示请求是否包括用于指示并行获取业务数据的参数;若是,则执行本步骤s103;若否,则可采用现有方式打开网页,即顺序执行如下步骤:1)发送所述第一获取请求;2)根据接收到的所述页面结构数据,渲染所述特定网页的页面结构;3)发送所述第二获取请求;4)根据接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
步骤s105:接收所述页面结构数据和所述业务数据。
本申请提供的网页展示方法,在接收到所述特定网页的业务数据后,将在本地存储器中存储所述特定网页的业务数据,以便在渲染完成页面结构后,根据存储的业务数据对页面结构进行局部重新渲染。
具体实施时,可采用json、xml等格式存储所述特定网页的业务数据。相比较xml格式而言,由于json是一种轻量级的数据交换格式,因此,可优先选用json格式在本地存储器中存储所述特定网页的业务数据。
本申请提供的网页展示方法,并行请求网页的页面结构数据和业务数据。通过实验可知,业务数据的获取时间通常比页面结构数据的获取时间要短。网页的业务数据具有变化快的特点,且业务数据非常重要,错误的数据展示会带来严重的业务后果,例如,付费参加促销的商品没能按时显示出来等。因此,如果在业务数据获取到较长时间后才渲染完页面结构,则此时的真实业务数据很可能已经变化,可见,有必要对预先下载的业务数据的接收时间进行记录,以便确定业务数据的有效性。因此,在存储接收到的所述特定网页的业务数据时,可采用如下方式实现:存储接收到的所述特定网页的业务数据及所述业务数据的接收时间。
具体实施时,当接收到所述页面结构数据时,即可进入下一步骤,根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
步骤s107:根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
通过上述步骤接收到所述页面结构数据和所述业务数据后,客户端即可根据这两方面数据向用户展示特定网页。
具体实施时,本步骤可包括如下具体步骤:1)当接收到所述页面结构数据时,根据所述页面结构数据渲染所述特定网页的页面结构;2)若在渲染完所述特定网页的页面结构时已经接收到所述业务数据,则根据已经接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
需要注意的是,由于网络繁忙、业务数据服务器繁忙等原因,可能导致业务数据无法及时获取,当在渲染完网页的页面结构后仍未接收到业务数据时,如果一味的等待业务数据的返回,可能会导致很长时间、甚至根本无法成功渲染网页,从而给用户带来较差的体验。
为了避免上述问题的发生,如果在渲染完网页的页面结构时仍未接收到业务数据,则可以重新发送所述第二获取请求,而放弃等待之前发送的第二获取请求的返回结果,并在接收到重新发送的第二获取请求的返回结果后,根据接收到的业务数据,对网页的页面结构进行局部重新渲染。
作为一种优先的方案,在重新发送所述第二获取请求时,可以在已经下载的部分业务数据的基础上进一步获取未成功获取的业务数据;这种处理方式,可以有效节省网络流量。
此外,还需注意的是,预先下载的业务数据具有一定的时效性(如:设定为30秒的数据有效期),如果在渲染业务数据时,该业务数据已经超过预设的数据有效期,则说明该业务数据已经失效,无法使用。因此,本实施例在渲染完网页的页面结构时,如果判定当前时间距离所述业务数据的接收时间超过预设的数据有效期,则将重新发送所述第二获取请求,而放弃之前下载的业务数据,并在接收到重新发送的第二获取请求的返回结果后,根据接收到的业务数据,对网页的页面结构进行局部重新渲染。
此外,在展示完成特定网页之后,还可包括如下步骤:对在本地存储器中存储的所述特定网页的业务数据做失效处理。采用这种处理方式,能够在读取一次预先下载的业务数据后就立即废弃该数据,从而保证网页展现的是最新的业务数据。
此外,当网页包括图像文件时,本申请提供的网页展示方法,还应包括下载并显示所述特定网页包括的图像文件的步骤。
在上述的实施例中,提供了一种网页展示方法,与之相对应的,本申请还提供一种网页展示装置。该装置是与上述方法的实施例相对应。
请参看图2,其为本申请的网页展示装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种网页展示装置,包括:
展示请求接收单元101,用于接收用户提交的针对特定网页的展示请求;
数据获取请求发送单元103,用于发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;
数据接收单元105,用于接收所述页面结构数据和所述业务数据;
网页渲染单元107,用于根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
可选的,所述数据获取请求发送单元103包括:
第一发送单元,用于向页面结构服务器发送所述第一获取请求;
第二发送单元,用于向业务数据服务器发送所述第二获取请求。
可选的,所述特定网页的业务数据包括至少一个系统提供的业务数据;
所述至少一个系统提供的业务数据通过预设的业务数据请求处理服务器获取;
所述第二发送单元,具体用于向所述预设的业务数据请求处理服务器发送所述第二获取请求。
可选的,所述至少一个系统提供的业务数据通过预设的业务数据获取装置获取;
所述展示请求包括所述特定网页的业务数据对应的请求参数标识;
所述第二发送单元包括:
请求参数获取子单元,用于根据所述请求参数标识和预设的请求参数标识与请求参数之间的对应关系集,获取所述特定网页的业务数据对应的请求参数;
请求发送子单元,用于根据所述请求参数,向所述预设的业务数据请求处理服务器发送所述第二获取请求。
可选的,所述请求参数包括各个系统的系统名、获取各个业务数据的接口名及接口参数名。
可选的,所述对应关系集存储在本地存储器中。
可选的,所述第二发送单元还包括:
对应关系集接收存储单元,用于接收并存储服务器下发的所述对应关系集。
可选的,所述第二发送单元还包括:
对应关系集更新子单元,用于判断本地存储器中的所述对应关系集是否有效;若否,则向服务器请求更新所述对应关系集。
可选的,所述服务器包括内容分发网络服务器。
可选的,所述装置还包括:
业务数据存储单元,用于当接收到所述特定网页的业务数据时,在本地存储器中存储接收到的所述特定网页的业务数据。
可选的,所述特定网页的业务数据采用json格式存储。
可选的,所述业务数据存储单元,具体用于在本地存储器中存储接收到的所述特定网页的业务数据及所述业务数据的接收时间。
可选的,所述装置还包括:
业务数据失效处理单元,用于对在本地存储器中存储的所述特定网页的业务数据做失效处理。
可选的,所述网页渲染单元107包括:
页面结构渲染子单元,用于当接收到所述页面结构数据时,根据所述页面结构数据渲染所述特定网页的页面结构;
第一页面重绘子单元,用于若在渲染完所述特定网页的页面结构时已经接收到所述业务数据,则根据已经接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,所述网页渲染单元107还包括:
第二页面重绘子单元,用于若在渲染完所述特定网页的页面结构时未接收到所述业务数据或当前时间距离所述业务数据的接收时间超过预设的数据有效期,则重新发送所述第二获取请求,并根据接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,所述第一页面重绘子单元包括:
业务数据有效期判断单元,用于判断当前时间距离所述业务数据的接收时间是否超过预设的数据有效期;
页面重绘子单元,用于若当前时间距离所述业务数据的接收时间未超过预设的数据有效期,则根据已经接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,所述装置还包括:
判断单元,用于判断所述展示请求是否携带有用于指示并行获取业务数据的参数;
所述数据获取请求发送单元103,具体用于若所述展示请求携带有用于指示并行获取业务数据的参数,则发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求。
可选的,所述装置还包括:
顺序处理单元,用于若所述展示请求未携带有用于指示并行获取业务数据的参数,则发送所述第一获取请求;根据接收到的所述页面结构数据,渲染所述特定网页的页面结构;发送所述第二获取请求;根据接收到的所述业务数据,对所述特定网页的页面结构进行局部重新渲染。
可选的,所述展示请求包括用于指示并行获取业务数据的参数。
可选的,所述装置还包括:
图像文件处理单元,用于下载并显示所述特定网页包括的图像文件。
请参考图3,其为本申请的电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器101;以及存储器103,用于存储实现网页展示方法的程序,该设备通电并通过所述处理器101运行该网页展示方法的程序后,执行下述步骤:接收用户提交的针对特定网页的展示请求;发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求;接收所述页面结构数据和所述业务数据;根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
与上述的网页展示方法相对应,本申请还提供第二种网页展示方法。请参考图4,其为本申请提供的第二种网页展示方法实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的第二种网页展示方法包括:
步骤s101:接收请求方发送的针对所述特定网页的页面结构数据的获取请求。
所述请求方包括但不限于上述实施例二的网页展示装置。
步骤s103:根据所述获取请求,获取所述特定网页的页面结构数据。
步骤s105:向所述请求方回送所述页面结构数据。
在上述的实施例中,提供了第二种网页展示方法,与之相对应的,本申请还提供第二种网页展示装置。该装置是与上述方法的实施例相对应。
请参看图5,其为本申请的第二种网页展示装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的第二种网页展示装置,包括:
请求接收单元101,用于接收请求方发送的针对所述特定网页的页面结构数据的获取请求;
数据获取单元103,用于根据所述获取请求,获取所述特定网页的页面结构数据;
数据回送单元105,用于向所述请求方回送所述页面结构数据。
与上述的网页展示方法相对应,本申请还提供第三种网页展示方法。请参考图6,其为本申请提供的第三种网页展示方法实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的第三种网页展示方法包括:
步骤s101:接收请求方发送的针对所述特定网页的业务数据的获取请求。
所述请求方包括但不限于上述实施例二的网页展示装置。
步骤s103:根据所述获取请求,获取所述特定网页的业务数据。
步骤s105:向所述请求方回送所述业务数据。
在上述的实施例中,提供了第三种网页展示方法,与之相对应的,本申请还提供第三种网页展示装置。该装置是与上述方法的实施例相对应。
请参看图7,其为本申请的第三种网页展示装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的第三种网页展示装置,包括:
请求接收单元101,用于接收请求方发送的针对所述特定网页的业务数据的获取请求;
数据获取单元103,用于根据所述获取请求,获取所述特定网页的业务数据;
数据回送单元105,用于向所述请求方回送所述业务数据。
本申请实施例还提供了一种网页展示系统,如图8所示,该系统包括上述实施例所述的第一种网页展示装置101、第二种网页展示装置102和第三种网页展示装置103。所述第一种网页展示装置101通常部署于移动通讯设备、个人电脑、pad、ipad等终端设备;所述第二种网页展示装置102通常部署于服务器,但并不局限于服务器,也可以是能够实现所述第二种网页展示方法的任何设备;所述第三种网页展示装置103通常部署于服务器,但并不局限于服务器,也可以是能够实现所述第三种网页展示方法的任何设备。所述第二种网页展示装置102和第三种网页展示装置103可以部署在同一服务器中,也可以分别部署在不同的服务器中。
请参看图9,其为本申请的第三种网页展示装置实施例的处理流程图。在本实施例中,所述第一种网页展示装置101部署在智能手机上,能够接收用户提交的针对特定网页的展示请求,并向第一服务器发送针对所述特定网页的页面结构数据的第一获取请求,以及向第二服务器发送针对所述特定网页的业务数据的第二获取请求;所述第二种网页展示装置102部署在第一服务器上,通过接收所述第一获取请求,并根据所述第一获取请求获取所述特定网页的页面结构数据,然后再向所述智能手机回送所述页面结构数据;所述第二种网页展示装置103部署在第二服务器上,通过接收所述第二获取请求,并根据所述第二获取请求获取所述特定网页的业务数据,然后再向所述智能手机回送所述业务数据;所述第一种网页展示装置101接收到所述第一服务器回送的所述页面结构数据,以及接收到所述第二服务器回送的所述业务数据之后,根据接收到的所述页面结构数据和所述业务数据,渲染所述特定网页。
本申请提供的网页展示方法、装置及系统,通过接收用户提交的针对特定网页的展示请求,发送针对所述特定网页的页面结构数据的第一获取请求和针对所述特定网页的业务数据的第二获取请求,并根据接收到的所述页面结构数据和所述业务数据渲染所述特定网页,从而达到缩短网页展示时间、提高用户体验的效果。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。