一种页面信息预加载的方法及系统
技术领域
本申请涉及互联网信息技术领域,具体地说,涉及一种页面信息预加载的方法及系统。
背景技术
互联网技术自诞生以来在各个方面上便利了人们的工作及生活,随着互联网业务的不断增加,人们基于互联网可以接触并获取各种各样的信息,网络已经成为人么日常工作和生活中不可或缺的一部分。现今,人们可以通过互联网观看各类视频节目、购物、订餐、收发邮件、进行视频会议及互联网通讯等。而作为互联网的基础,及实现许多的互联网功能的基础,浏览页面的在互联网技术中更是至关重要。
浏览器是访问互联网最常用的工具。一般浏览器进行页面加载的过程是:当接收到用户提交的URL(Uniform/UniversalResourceLocator,统一资源定位符,也被称为网页地址)请求时(例如,用户在浏览器的地址栏输入网址),向相应服务器请求网页数据,并将请求到的页面数据下载到浏览器客户端,然后调用页面渲染单元对该页面数据进行渲染,通过浏览器窗口展示经渲染处理后的页面。在现有技术中,对于每个用于显示页面的浏览器窗口,都要对应的分配一个页面渲染单元进行页面渲染。例如,在iPhone平台(由苹果公司提供的在iPhone上开发应用程序的解决方案)下,使用UIWebView(用于进行网页渲染的功能单元)进行页面渲染。在使用UIWebView进行网页渲染时,每一个用于显示页面的浏览器窗口都要使用一个UIWebView对本窗口中的页面数据进行渲染。
随着互联网技术的飞速发展,浏览器在日常生活、工作和学习中的应用已经越来越频繁。用户在浏览或者基于页面上显示信息选择对应的信息时,需要将对应的信息进行加载后再显示出来,随着信息数据量的不断增多,需要加载的页面信息量也越来越大。如果页面信息过多,可以通过二级菜单、tab及隐藏栏等展现形式,当页面信息数据过多时,通过JavaScript事件触发从后台获取信息数据。JavaScript最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能,主要用途为:嵌入动态文本于HTML页面;对浏览器事件做出响应;读写HTML元素;在数据被提交到服务器之前验证数据;检测访客的浏览器信息;控制cookies,包括创建和修改。
在通过JavaScript事件触发后需要部分更新数据时,通常采用AJAX技术,即“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是创建交互式网页应用的网页开发技术,是一种用于创建快速动态网页的技术。异步JavaScript和XML(标准通用标记语言的子集),通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
但是,由于是在JavaScript事件触发后的基础上才进行AJAX更新的,不能预测进而提前加载数据,再加上AJAX更新的延迟特性,在页面刷新时不能及时加载信息数据,造成过长时间的等待。现在的一般做法是利用更高速的接口来提高网页的响应速度,但是使用高速接口会增加网络端的压力,而且,在用户端的情况是不可控制的,尤其是针对网络带宽速度较慢的时候,会造成页面刷新过长时间的等待,同时造成用户观看页面期间网络资源的浪费。
因此,提供在页面未进行刷新时,预加载页面信息,以提升用户观看页面的体验是本领域亟待解决的问题。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种页面信息预加载的方法及系统,通过用户的历史操作预判用户下一次的操作趋势,在此趋势下设定探测需要预先加载信息数据的范围,据此提前将该范围内的信息数据加载至页面,省去了用户在进行下一步页面观看时更新等待的时间。
为了解决上述技术问题,本申请有如下技术方案:
一种页面信息预加载的方法,包括:
搜索当前页面内的下一步操作相关内容及其历史操作记录;
检测获取当前页面内的触控点运动速度V;
根据所述触控点在当前页面内的位置信息与历史操作记录中的前一页面内的位置得到所述触控点的运动方向;
根据所述触控点运动速度V在当前页面内的所述触控点形成沿着运动方向的横轴长X、垂直运动方向的纵轴长Y的预加载区域;
基于所述触控点的运动速度V进一步调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域;
根据所述预加载区域向后台发送预加载内容请求,并从所述后台调取当前页面内的下一步操作内容进行预加载。
进一步地,其中,所述预加载区域进一步为:圆形、三角形、棱形或矩形区域。
进一步地,其中,所述基于所述触控点的运动速度调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域,进一步包括:
当判断到所述触控点运动速度V在特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为所述纵轴长优化为
进一步地,其中,所述基于所述触控点的运动速度调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域,进一步包括:
当判断到所述触控点运动速度V超过特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为其中,0≤C≤20;
当判断到X2≥4X时,将所述横轴长优化为X2=4X。
进一步地,其中,进一步包括:
当判断到所述触控点运动速度V超过800像素/秒时,取消所述预加载区域。
进一步地,其中,进一步包括:
对所述预加载内容请求的触控点速度排序;
当判断到所述预加载内容请求超过特定数量Q时,按照排序强制关闭速度过快且超过数量Q的所述预加载内容请求。
进一步地,其中,进一步包括:
当判断到所述预加载内容请求时间超过10秒时,则强制关闭所述预加载内容请求。
本发明还提供一种页面信息预加载的系统,包括:搜索模块、处理模块及预加载模块,其中,
所述搜索模块,用于搜索当前页面内的下一步操作相关内容及其历史操作记录;
检测获取当前页面内的触控点运动速度V;
所述处理模块,用于根据所述触控点在当前页面内的位置信息与历史操作记录中的前一页面内的位置得到所述触控点的运动方向;
根据所述触控点运动速度V在当前页面内的所述触控点形成沿着运动方向的横轴长X、垂直运动方向的纵轴长Y的预加载区域;
基于所述触控点的运动速度V进一步调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域;
所述预加载模块,用于根据所述预加载区域向后台发送预加载内容请求,并从所述后台调取当前页面内的下一步操作内容进行预加载。
进一步地,其中,
所述预加载区域进一步为:圆形、三角形、棱形或矩形区域;
所述处理模块,进一步用于:
当判断到所述触控点运动速度V在特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为所述纵轴长优化为
当判断到所述触控点运动速度V超过特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为其中,0≤C≤20;
当判断到X2≥4X时,将所述横轴长优化为X2=4X;
当判断到所述触控点运动速度V超过800像素/秒时,取消所述预加载区域。
进一步地,其中,所述预加载模块,进一步用于:
对所述预加载内容请求的触控点速度排序;
当判断到所述预加载内容请求超过特定数量Q时,按照排序强制关闭速度过快且超过数量Q的所述预加载内容请求;
当判断到所述预加载内容请求时间超过10秒时,则强制关闭所述预加载内容请求。
与现有技术相比,本申请所述的页面信息预加载的方法及系统,达到了如下效果:
(1)本发明的页面信息预加载的方法通过用户的页面操作历史,预测用户的观看趋势,通过在页面上的操作触点移动速度限制出观看趋势的范围,从后台搜索出该趋势范围的信息数据预先加载到页面,消除了用户在进行下次页面操作的信息数据加载的等待时间。
(2)本发明的页面信息预加载的方法根据用户属性提前预测下次页面操作趋势范围,在保证加载合适范围的数据同时,避免了一次性加载所有页面信息带来的资源浪费及对页面带来的数据存储压力,准确地提升了对页面数据预加载的效率。
(3)本发明的页面信息预加载的方法将信息数据预加载到页面缓存中后,还设置了这些信息数据的失效时间,在保证用户观看页面的合适时间范围的同时及时清除过期的页面缓存数据,减小了页面缓存压力。
(4)本发明的页面信息预加载的方法还通过将预加载请求在队列中排序,去除操作速度过快或过慢的请求,并设置请求的数量范围,减少了页面的缓存压力,防止了由于缓存数据过多造成的页面卡顿。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请所述的页面信息预加载的方法实施例流程示意图;
图2为本申请实施例2所述的页面信息预加载的方法的一个具体实施例流程图示意图;
图3为本申请实施例3所述页面信息预加载的方法的一个具体实施例流程图示意图;
图4为本申请实施例4所述的页面信息预加载的系统的结构示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
如图1所示,为本申请所述的页面信息预加载的方法实施例流程示意图。在本实施例中,在网速低的条件下,根据当前操作及历史操作对页面操作下一步的操作做出预判,预先将下一步相关的内容加载到页面,方便用户下一步体验。本实施例中页面信息预加载的方法包括以下步骤:
步骤101、搜索当前页面内的下一步操作相关内容及其历史操作记录。
基于当前页面的信息搜索出其周边的相关内容信息,为后续预加载提供内容信息上的支持,而历史操作记录用于与当前的操作配合预测出用户的下一步操作趋势。
步骤102、检测获取当前页面内的触控点运动速度V。
用户在页面上操作的触控点运动速度反应出了该用户操作的熟练程度及观看或操作页面的速度,通过该速度预测出的下一步操作范围比较接近用户的实际情况。
步骤103、根据所述触控点在当前页面内的位置信息与历史操作记录中的前一页面内的位置得到所述触控点的运动方向。
通过当前页面的触控点与前一页面操作中触控点位置作向量,据此预测出用户的下一步操作方向趋势。
步骤104、根据所述触控点运动速度V在当前页面内的所述触控点形成沿着运动方向的横轴长X、垂直运动方向的纵轴长Y的预加载区域。
优选地,当V<10像素/秒时,所述横轴长X=5像素;
当10像素/秒≤V<800像素/秒时,所述
当V≥800像素/秒时,所述横轴长X=5像素。
所述触控点运动速度V在一定程度上反应了用户的页面观看进度,据此形成的页面下一步操作相关内容区域就涵盖了用户下一步实际操作的内容。
步骤105、基于所述触控点的运动速度调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域。
优选地,所述预加载区域进一步为:圆形、三角形、棱形或矩形区域。
在步骤104中获取的是页面下一步操作相关内容的初步预测范围,能够包含该相关内容,而在本步骤中,通过触控点的运动速度及相关常数限定进一步优化所获取到的预加载区域,使得获取的预加载区域更接近实际情况、更准确,同时也减少了过大预测区域给系统带来的压力,节约了资源。
步骤106、根据所述预加载区域向后台发送预加载内容请求,并从所述后台调取当前页面内的下一步操作内容进行预加载。
通过该步骤将得到的预测区域范围对应到后台数据中,并从中搜索出与该预测区域相对应的所述相关的操作内容进行预加载。
实施例2
如图2所示,为本申请实施例所述页面信息预加载的方法的一个具体实施例。本实施例相对于图1所示实施例中的流程,具体描述了搜索、处理及预加载页面信息的过程。本实施例中所述方法与实施例1所述相同的部分在此不再赘述,在本实施例的页面信息预加载的方法中的处理及预加载过程进一步包括以下步骤:
步骤201、当判断到所述触控点运动速度V在特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为所述纵轴长优化为
优选地,所述特定范围值V1进一步为50像素/秒≤V1≤100像素/秒。
步骤202、当判断到所述触控点运动速度V超过特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为其中,0≤C≤20;
当判断到X2≥4X1时,将所述横轴长优化为X2=4X1。
其中,C为优化系数,优选地,所述C为3≤C≤10,更优选地,C=5。
在本实施例中,根据优化后的横轴长度沿着页面上的所述触控点运动趋势方向优化所述长轴,在结合了用户操作趋势及操作速率的情况下,通过优化话的区域更准确、全面地包含了用户下一步的操作区域区域范围。
步骤203、当判断到所述触控点运动速度V超过800像素/秒时,取消所述预加载区域。
步骤204、对所述预加载内容请求的触控点速度排序。
当判断到所述预加载内容请求超过特定数量Q时,按照排序强制关闭速度过快且超过数量Q的所述预加载内容请求。
步骤205、当判断到所述预加载内容请求时间超过10秒时,则强制关闭所述预加载内容请求。
实施例3
在本实施例中,以所述初始预测区域为圆形为例具体说明,如图3所示,为本申请实施例所述的页面信息预加载的方法的流程示意图。在本实施例中,具体的步骤如下:
步骤301、搜索当前页面内的下一步操作相关内容及其历史操作记录。
步骤302、检测获取当前页面内的触控点运动速度V。
步骤303、根据所述触控点在当前页面内的位置信息与历史操作记录中的前一页面内的位置得到所述触控点的运动方向。
步骤304、根据所述触控点运动速度V在当前页面内的所述触控点形成半径为R的预加载区域。
所述圆形预加载区域的半径大小R与所述触控点运动速度V成正相关,具体如下:
当V<10像素/秒时,半径R=5像素;
当10像素/秒≤V<800像素/秒时,半径像素;
当V≥800像素/秒时,半径R=5像素。
虽然半径R与所述触控点运动速度V成正相关,但是过快的速度所引起的预加载区域不具有实际意义,如用户操作失误导致的触点某一次速度过快。再者,太过大范围的预加载区域也会超出页面的可用范围,造成预加载的误差过大,以及预加载内容信息过多给系统造成的压力。通过本步骤将所述预加载区域限定在合理的范围有利于更准确、更节省地为用户提供页面内容预加载。
步骤305、基于所述触控点的运动速度V进一步调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域。
当判断到所述触控点运动速度V在特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为所述纵轴长优化为
优选地,所述特定范围值V1进一步为50像素/秒≤V1≤100像素/秒。
步骤306、当判断到所述触控点运动速度V超过特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为其中,0≤C≤20;
当判断到X2≥4X1时,将所述横轴长优化为X2=4X1。
其中,C为优化系数,优选地,所述C为3≤C≤10,更优选地,C=5。
先通过圆形预加载区域将页面下一步操作相关的内容可能范围都包含,再根据页面中所述触控点的实际运动速度对该区域进行优化,沿着触控点运动方向延长横轴,形成一个更加精准的椭圆区域涵盖页面下一步的实际预加载区域范围。
优选地,当判断到触控点运动速度V超过特定速度V2,其中,V2>800像素/秒时,将取消所述圆形预加载区域。
更优选地,当判断到触控点运动速度V超过特定速度V2,其中,V2>800像素/秒时,将所述圆形预加载区域的半径优化为其中,优化系数C2≤10像素,优选地,C2=5像素。
步骤307、根据所述预加载区域向后台发送预加载内容请求,并从所述后台调取当前页面内的下一步操作内容。
实施例4
如图4所示,为本实施例中所述选页面信息预加载的系统,用于实现上述实施例中所述的方法,其技术方案本质上与上述实施例一致。图1至图3所示实施例中相应描述,同样适用于本实施例当中。本实施例中,所述系统包括:搜索模块401、处理模块402、预加载模块403,其中,
所述搜索模块401,与所述处理模块402相藕接,用于搜索当前页面内的下一步操作相关内容及其历史操作记录;
检测获取当前页面内的触控点运动速度V;
所述处理模块402,与所述搜索模块401及所述预加载模块403相藕接,用于根据所述触控点在当前页面内的位置信息与历史操作记录中的前一页面内的位置得到所述触控点的运动方向;
根据所述触控点运动速度V在当前页面内的所述触控点形成沿着运动方向的横轴长X、垂直运动方向的纵轴长Y的预加载区域;
基于所述触控点的运动速度V进一步调整所述横轴长X及纵轴长Y获得优化后的所述预加载区域;
所述预加载区域进一步为:圆形、三角形、棱形或矩形区域;
所述预加载模块403,与所述处理模块402相藕接,用于根据所述预加载区域向后台发送预加载内容请求,并从所述后台调取当前页面内的下一步操作内容。
其中,优选地,所述处理模块402,进一步用于:
当判断到所述触控点运动速度V在特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为所述纵轴长优化为
当判断到所述触控点运动速度V超过特定范围值V1内时,其中,20像素/秒≤V1≤200像素/秒内时,
将所述横轴长优化为其中,0≤C≤20;
当判断到X2≥4X时,将所述横轴长优化为X2=4X;
当判断到所述触控点运动速度V超过800像素/秒时,取消所述预加载区域。
所述预加载模块403,进一步用于:
对所述预加载内容请求的触控点速度排序;
当判断到所述预加载内容请求超过特定数量Q时,按照排序强制关闭速度过快且超过数量Q的所述预加载内容请求;
当判断到所述预加载内容请求时间超过10秒时,则强制关闭所述预加载内容请求。
通过以上各个实施例可知,本申请所述的页面信息预加载的方法及系统存在的有益效果是:
(1)本发明的页面信息预加载的方法通过用户的页面操作历史,预测用户的观看趋势,通过在页面上的操作触点移动速度限制出观看趋势的范围,从后台搜索出该趋势范围的信息数据预先加载到页面,消除了用户在进行下次页面操作的信息数据加载的等待时间。
(2)本发明的页面信息预加载的方法根据用户属性提前预测下次页面操作趋势范围,在保证加载合适范围的数据同时,避免了一次性加载所有页面信息带来的资源浪费及对页面带来的数据存储压力,准确地提升了对页面数据预加载的效率。
(3)本发明的页面信息预加载的方法将信息数据预加载到页面缓存中后,还设置了这些信息数据的失效时间,在保证用户观看页面的合适时间范围的同时及时清除过期的页面缓存数据,减小了页面缓存压力。
(4)本发明的页面信息预加载的方法还通过将预加载请求在队列中排序,去除操作速度过快或过慢的请求,并设置请求的数量范围,减少了页面的缓存压力,防止了由于缓存数据过多造成的页面卡顿。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。