基于大数据流式计算的动态页面加载方法

文档序号:8412633阅读:246来源:国知局
基于大数据流式计算的动态页面加载方法
【技术领域】
[0001]本发明涉及一种动态页面加载方法,尤其涉及一种基于大数据流式计算的动态页面加载方法。
【背景技术】
[0002]现行的web服务器性能优化技术主要分为两种,服务器端的页面静态化以及客户端的预加载。页面静态化技术主要采用技术手段,用数据库中的数据生成静态的页面,当数据有刷新时再重新生成静态页面,减少对数据库读取的次数以提高web服务的性能。客户端预加载技术则是利用浏览器的预加载功能,由浏览器预测用户即将浏览的下一个页面(也可以由开发人员指定某个页面的下一个相关页面),并由浏览器在用户浏览本页面时预先加载下一个页面,这样当用户点击下一个页面时,如果预测正确,则浏览器可以直接把已经在后台预先读取完毕的页面直接展示给用户,大大提高用户的使用感受。
[0003]目前经常采用的页面静态化加载过程如图1所示,具有如下缺陷:1)会生成很多的文件,大量的文件会对存储空间和性能都产生影响;2)页面及时性维护和管理需要一套复杂的机制来实现;3)只能用于实时性要求不高,或者有明显触发内容修改机制的页面(如论坛,新闻发布页面等),不适用于页面内容每分每秒都可能会有自发变动的内容(如监控数据展示页等)。
[0004]基于浏览器预测的预加载技术则有如下缺陷:1)该技术生效与否取决于浏览器的预测是否准确,而浏览器的自动预测页面目前通常基于常见的页面线索(如下一页,next之类),对于特异性的网站而言并不适用;2)由网站开发人员预测并指定给浏览器预加载,主要依赖开发人员对页面的认识,由于需要实现将下一个页面的位置写在代码中,这种方式并不能动态地适应用户浏览模式的变化,针对每个不同的页面进行人工预测并写入代码也会增加开发的工作量。3)依赖于特定的浏览器。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种基于大数据流式计算的动态页面加载方法,能够根据用户行为的统计数据来进行判断和动态预加载,不依赖特定的关键字或页面关键特征,算法适用性更广,准确度更高。
[0006]本发明为解决上述技术问题而采用的技术方案是提供一种基于大数据流式计算的动态页面加载方法,包括如下步骤:a)在流式数据库中建立键值对关系表,存储网站上任意一个页面跳转到另一个页面的次数;b)针对用户点击打开的当前页面,在流式数据库搜索当前页面的键值对关系表,并选出一组与当前页面关联性最大的页面作为预加载页面;c)服务器读取预加载页面,并将其放在缓存中;d)若预测命中用户需要跳转的下一页面,服务器从缓存中直接提供生成好的页面给用户,并更新当前页面的键值对关系表;若预测未命中,服务器读取数据库并生成用户打开的页面提供给用户。
[0007]上述的基于大数据流式计算的动态页面加载方法,其中,所述步骤a)统计一定周期内,任意一个页面每天跳转到另一个页面的次数,并计算出该周期内任意一个页面跳转到另一个页面的总次数,所述步骤d)若预测命中用户需要跳转的下一页面,则在当前页面的键值对关系表中,为用户实际跳转的下一页面键值对计数器加I。
[0008]上述的基于大数据流式计算的动态页面加载方法,其中,所述步骤d)根据统计周期设置,定时自动利用当天的统计数据覆盖最旧一天的统计数据。
[0009]上述的基于大数据流式计算的动态页面加载方法,其中,所述步骤b)选择与当前页面关联的总次数排名靠前的一组页面作为预加载页面,所述步骤c)按总次数大小排列顺序依次读取预加载页面。
[0010]上述的基于大数据流式计算的动态页面加载方法,其中,所述步骤a)使用Redis在缓存内存中统计任意一个页面每天跳转到另一个页面的次数,并且周期性地把更新的统计数据写入磁盘。
[0011]本发明对比现有技术有如下的有益效果:本发明提供的基于大数据流式计算的动态页面加载方法,采用流式计算数据库,记录统计出的页面访问关系数据,并根据页面关联性计数确定预加载页面,最后利用服务器端的Web缓存提前生成页面,从而能够根据用户行为的统计数据来进行判断和动态预加载,不依赖特定的关键字或页面关键特征,算法适用性更广,准确度更高,大大提高真实用户感知体验。
【附图说明】
[0012]图1为现有的静态页面加载过程示意图;
[0013]图2为本发明基于大数据流式计算的动态页面加载流程示意图;
[0014]图3为本发明使用的Redis数据库调度过程示意图。
【具体实施方式】
[0015]下面结合附图和实施例对本发明作进一步的描述。
[0016]图2为本发明基于大数据流式计算的动态页面加载流程示意图。
[0017]请参见图2,本发明提供的基于大数据流式计算的动态页面加载方法,包括如下步骤:
[0018]步骤S1:在流式数据库中建立键值对关系表,存储网站上任意一个页面跳转到另一个页面的次数;
[0019]步骤S2:针对用户点击打开的当前页面,在流式数据库搜索当前页面的键值对关系表,并选出一组与当前页面关联性最大的页面作为预加载页面;
[0020]步骤S3:服务器读取预加载页面,并将其放在缓存中;
[0021]步骤S4:若预测命中用户需要跳转的下一页面,服务器从缓存中直接提供生成好的页面给用户,并更新当前页面的键值对关系表,即在当前页面的键值对关系表中,为用户实际跳转的下一页面键值对计数器加I;若预测未命中,服务器读取数据库并生成用户打开的页面提供给用户。
[0022]本发明提供的基于大数据流式计算的动态页面加载方法,采用流式计算数据库,记录统计出的页面访问关系数据,并根据页面关联性计数确定预加载页面,最后利用服务器端的web缓存提前生成页面,不依赖特定的关键字或页面关键特征,算法适用性更广,准确度更高。从性能方面考虑,流式计算数据库优选使用redis。
[0023]Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value高性能数据库。Redis和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset (sorted set—有序集合)和hash(哈希类型)。这些数据类型都支持pus
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1