一种更新网站数据缓存的装置及方法

文档序号:9597896阅读:388来源:国知局
一种更新网站数据缓存的装置及方法
【技术领域】
[0001]本发明涉及网站数据缓存技术,尤其涉及一种更新网站数据缓存的装置及方法。
【背景技术】
[0002]随着互联网的高速发展,大型网站承担的访问负载越来越重。网站数据缓存技术已经成为网站的一个关键性支撑技术。数据缓存技术主要指:网站服务器将从数据库中查询出的数据集合放入缓存中,下次如果再执行这个查询,将直接从缓存中返回这个数据集合,不需要再进行数据库的查询,同时可以配置缓存更新策略。
[0003]数据缓存技术主要用于缓解网站服务器数据库的压力,提高网站服务器的稳定性和并发能力等。缓存策略使用是否得当,直接关系网站的访问速度、影响用户体验,进而影响服务器集群的规模及购置服务器的数量等。
[0004]当前一般缓存更新策略是采用设定更新周期的方法:网站服务器查询数据集合写入缓存时记录时间;下次查询时,检查缓存时间是否已过期,如果没过期,就直接从缓存返回数据集合,如果过期,则执行数据库查询,并更新缓存。这种缓存更新策略在网站运行期间一般保持不变。在使用数据缓存时,网站数据改变后,用户要到下个更新周期才能看到新内容。如果周期过长,必然影响用户体验;如果周期过短,缓存的效果减弱,必然增加数据库查询压力,严重时将造成网站服务器故障。

【发明内容】

[0005]为解决上述技术问题,本发明实施例提供了一种更新网站数据缓存的装置及方法。
[0006]本发明实施例提供的更新网站数据缓存的装置包括:
[0007]采集单元,用于采集当前网站的访问量以及数据库负载;
[0008]计算单元,用于根据所述当前网站的访问量以及数据库负载,计算得到当前的缓存周期;
[0009]更新单元,用于按照所述当前的缓存周期更新所述网站的缓存数据。
[0010]本发明实施例中,所述装置还包括:
[0011]设置单元,用于根据所述当前网站的访问量,设置以下阈值:最小访问量阈值、最大访问量阈值、最小缓存周期阈值、最大缓存周期阈值。
[0012]本发明实施例中,所述计算单元,还用于当所述当前网站的访问量大于或等于所述最大访问量阈值时,将所述最大缓存周期阈值设置为所述当前的缓存周期;当所述当前网站的访问量小于或等于所述最小访问量阈值时,将所述最小缓存周期阈值设置为所述当前的缓存周期。
[0013]本发明实施例中,所述设置单元,还用于当所述当前网站的访问量大于所述最小访问量阈值,且小于所述最大访问量阈值时,为数据库负载设置最优稳定值。
[0014]本发明实施例中,所述计算单元,还用于以所述当前的数据库负载与所述最优稳定值的差值为依据,根据比例-积分-微分(PID,Proport1n Integrat1nDifferentiat1n)算法计算得到所述当前的缓存周期。
[0015]本发明实施例提供的更新网站数据缓存的方法包括:
[0016]采集当前网站的访问量以及数据库负载;
[0017]根据所述当前网站的访问量以及数据库负载,计算得到当前的缓存周期;
[0018]按照所述当前的缓存周期更新所述网站的缓存数据。
[0019]本发明实施例中,所述方法还包括:
[0020]根据所述当前网站的访问量,设置以下阈值:最小访问量阈值、最大访问量阈值、最小缓存周期阈值、最大缓存周期阈值。
[0021]本发明实施例中,所述根据所述当前网站的访问量以及数据库负载,计算得到当前的缓存周期,包括:
[0022]当所述当前网站的访问量大于或等于所述最大访问量阈值时,将所述最大缓存周期阈值设置为所述当前的缓存周期;
[0023]当所述当前网站的访问量小于或等于所述最小访问量阈值时,将所述最小缓存周期阈值设置为所述当前的缓存周期。
[0024]本发明实施例中,所述方法还包括:
[0025]当所述当前网站的访问量大于所述最小访问量阈值,且小于所述最大访问量阈值时,为数据库负载设置最优稳定值。
[0026]本发明实施例中,所述根据所述当前网站的访问量以及数据库负载,计算得到当前的缓存周期,包括:
[0027]以所述当前的数据库负载与所述最优稳定值的差值为依据,根据PID算法计算得到所述当前的缓存周期。
[0028]本发明实施例的技术方案中,通过实时采集网站的访问量以及数据库负载,计算得到当前的缓存周期,按照所述当前的缓存周期更新所述网站的缓存数据。从而实现了根据网站的实时状况,动态地调整缓存周期。如此,当数据库为低负载时,适当降低了缓存周期更新缓存数据,优化了用户体验。当数据库为高负载时,适当提高了缓存周期更新缓存数据,保障了网站服务器的稳定性。并且,缓存周期的微调采用PID算法,稳定可靠。
【附图说明】
[0029]图1为本发明实施例一的更新网站数据缓存的方法的流程示意图;
[0030]图2为本发明实施例二的更新网站数据缓存的方法的流程示意图;
[0031]图3为本发明实施例一的更新网站数据缓存的装置的结构组成示意图;
[0032]图4为本发明实施例二的更新网站数据缓存的装置的结构组成示意图;
[0033]图5为本发明实施例的交互示意图一;
[0034]图6为本发明实施例的交互示意图二 ;
[0035]图7为本发明实施例的网站系统的框架示意图。
【具体实施方式】
[0036]为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
[0037]图1为本发明实施例一的更新网站数据缓存的方法的流程示意图,本示例中的更新网站数据缓存的方法应用于更新网站数据缓存的装置中,如图1所示,所述更新网站数据缓存的方法包括以下步骤:
[0038]步骤101:采集当前网站的访问量以及数据库负载。
[0039]具体地,由更新网站数据缓存的装置采集当前网站的访问量以及数据库负载。
[0040]本发明实施例中,参照图5,网站客户端是能够访问网站的应用,例如浏览器,网站客户端设置在用户设备(UE,User Equipment)中,UE可以是手机、平板电脑、笔记本、台式机等电子设备。用户可以在UE上打开网站客户端,然后在网站客户端上输入所需的网站的地址,从而打开相应的网页。在这个过程中,网站客户端需要与网站服务器之间进行数据交互,具体地,网页中包含的图片,Java脚本(JS,JavaScript),层叠样式表(CSS,CascadingStyle Sheets)等每一个资源都会生成一个超文本传输协议(HTTP,HyperText TransferProtocol)下载请求,由网站客户端(浏览器)发向网站服务器,本发明实施例将由网站客户端向网站服务器发送的HTTP请求称为访问请求,将网站服务器接收到的所有HTTP请求的数量称为网站的访问量。这里,某一个网站的访问量可以是来自同一个UE的多个HTTP请求,还可以是来自不同UE的多个HTTP请求。
[0041]本发明实施例中,参照图6,网站客户端与网站服务器进行数据交互时,采用缓存技术(webcache),如此,可以加快数据交互的速度。缓存技术实现的基本方式为:将指定的网页的数据周期性地缓存起来,缓存时间可从几秒到几天,在缓存时间内,网页只需要生成一次,以后有用户访问这个网页时,网站服务器无需在数据库中执行复杂的查询操作,再重新生成相同的网页,极大减少了网站服务器和数据库的负荷。这里,数据库是存放网站数据的空间,大多网站都是由动态服务器页面(ASP,Active Server Page)、超文本预处理器(PHP,Hypertext Preprocessor)开发的动态网站,网站数据由专门的一个数据库来存放。网站的数据库根据网站的大小、数据的多少,决定选用结构化查询语(SQL,StructuredQuery Language)、关系数据库(ACCESS)、关系型数据库(DB2)、或甲骨文(ORCLE)数据库。
[0042]这里,数据库包括但不限于各种关系型和非关系型的数据库;缓存包括但不限于各种内存和文件缓存,比如使用内存缓存(memcache)和数据库(redis)等实现。
[0043]基于此,数据库负载是指数据库查询网站数据所消耗的资源,数据库负载与网站的访问量有关。
[0044]步骤102:根据所述当前网站的访问量以及数据库负载,计算得到当前的缓存周期。
[0045]本发明实施例中,计算当前的缓存周期采用闭环控制方法,闭环控制方法是根据控制对象输出反馈来进行校正的控制方式,它是在测量出实际与计划发生偏差时,按定额或标准来进行纠正的。从输出量变化取出控制信号作为比较量反馈给输入端控制输入量,自动控制通常是闭环控制。可见,本发明实施例是自动调整缓存周期。
[0046
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1