CN101127783A - 一种网站缓存方法和一种网站缓存的装置 - Google Patents

一种网站缓存方法和一种网站缓存的装置 Download PDF

Info

Publication number
CN101127783A
CN101127783A CNA2007101753253A CN200710175325A CN101127783A CN 101127783 A CN101127783 A CN 101127783A CN A2007101753253 A CNA2007101753253 A CN A2007101753253A CN 200710175325 A CN200710175325 A CN 200710175325A CN 101127783 A CN101127783 A CN 101127783A
Authority
CN
China
Prior art keywords
source data
information
data
cache
identification information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101753253A
Other languages
English (en)
Other versions
CN100591078C (zh
Inventor
罗岳良
陈臻
黄林
韩柏东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Office Software Inc
Original Assignee
Beijing Kingsoft Software Co Ltd
Beijing Jinshan Digital Entertainment Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Software Co Ltd, Beijing Jinshan Digital Entertainment Technology Co Ltd filed Critical Beijing Kingsoft Software Co Ltd
Priority to CN200710175325A priority Critical patent/CN100591078C/zh
Publication of CN101127783A publication Critical patent/CN101127783A/zh
Application granted granted Critical
Publication of CN100591078C publication Critical patent/CN100591078C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种网站缓存的方法,包括:记录源数据的标识信息和最后更新时间信息至缓存信息表中;接收提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;判断本地缓存中是否存在所述源数据的缓存数据;如果不存在,则提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;如果存在,则将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,若一致,则读取所述缓存数据;若不一致,则在本地缓存中重新生成所述源数据的缓存数据。应用本发明可以有效保证缓存的即时性,避免了资源浪费,提高了缓存效率。

Description

一种网站缓存方法和一种网站缓存的装置
技术领域
本发明涉及网站缓存数据处理领域,特别涉及一种网站缓存的方法及一种网站缓存的装置。
背景技术
众所周知,访问网站的过程是通过建立在TCP/IP协议之上的HTTP协议来完成的。从客户端发出一个HTTP请求开始,用户所经历的等待时间主要决定于DNS和网站的响应时间。网站域名首先必须被DNS服务器解析为IP地址,HTTP的延时则由在客户端和服务器间的若干个往返时间所决定。
具体而言,往返时间是指客户端等待每次请求的响应时间,平均往返时间取决于三个方面:
1、网站服务器的延时:
网站服务器造成的延时在往返时间中占主要比例。当某个服务器收到多个并发HTTP请求时,就会产生排队延时。由于响应一个HTTP请求,往往需要多次访问本地硬盘,所以即使是一台负载并不大的服务器,也可能产生几十或几百微秒的延时。
2、由路由器、网关、代理服务器和防火墙引入的延时:
通常在客户端和服务器之间的路径上会存在多个网络设备,如路由器、网关、代理和防火墙等。它们对经过的IP包都要做存储/转发的操作,于是会引入排队延时和处理延时。在网络拥塞时,这些设备甚至会丢包,此时会寄希望于客户端和服务器通过端到端的协议来恢复通信。
3、不同通信链路上的数据传输速度:
在广域网中,从一个网络设备到另一个网络设备间的数据传输速度是决定往返时间的一个重要因素。
为了提高网站性能,减轻频繁访问数据而给数据库带来的压力,因而引入了网站缓存技术,随着缓存技术的发展,目前应用较多的缓存技术为动态缓存技术,具体而言,这种动态缓存技术是在新内容的源数据发布以后,并不预先生成相应的缓存数据(如,静态页面),而直到对相应的源数据发出请求时,如果前台缓存服务器找不到相应的缓存数据,就向后台内容管理服务器发出请求,后台系统会生成相应内容的缓存数据,即用户第一次访问页面时在后台系统生成缓存数据;并且在更新时,是按照当前客户机预设的时间,例如,24小时,进行更新。这种现有缓存技术的缺陷在于,由于其直到对相应内容发出请求时才在后台生成缓存数据,因而不能即时获得源数据的生成或更新状态,从而不能保证缓存数据的即时性;并且,采用这种技术中,不管源数据是否进行了更新,只要符合到达预设时间则发起更新,从而浪费严重资源,影响缓存更新效率;此外,应用这种现有技术的多个客户机是独立缓存的,各个客户机的缓存数据可能是不一致的。
因此,本领域技术人员迫切需要发展出一种在保证缓存即时性的前提下,有效提高网站缓存效率,并能保证各个客户机的缓存数据一致性的网站缓存方法和装置。
发明内容
本发明所要解决的技术问题是提供一种网站缓存的方法,用以解决现有技术中,缓存即时性差、各客户机缓存数据不一致、资源浪费严重、缓存效率低下的问题。
本发明还提供了一种网络缓存装置,用以保证上述方法在实际中的实现及应用。
为解决上述技术问题,本发明实施例公开了一种网站缓存的方法,包括:
记录源数据的标识信息和最后更新时间信息至缓存信息表中;
接收提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;
根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据;
如果不存在,则提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
如果存在,则将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,若一致,则读取所述缓存数据;若不一致,则提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中重新生成所述源数据的缓存数据。
优选的是,所述记录步骤包括:
生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
优选的是,所述源数据存储在第一服务器中,所述缓存信息表存储在第二服务器中。
优选的是,所述缓存信息表为哈希表。
优选的是,所述缓存信息表为多个。
本发明实施例还公开了一种网站缓存的装置,包括:
记录单元,用于记录源数据的标识信息和最后更新时间信息至缓存信息表中;
接口单元,用于接收客户机提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;
判断单元,用于根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据,如果不存在,则触发缓存创建单元;如果存在,则触发对比单元;
缓存创建单元,用于提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
对比单元,用于将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,并在一致时触发读取单元,在不一致时,调用缓存创建单元在本地缓存中重新生成所述源数据的缓存数据;
读取单元,用于读取所述缓存数据。
优选的是,所述记录单元进一步包括:
生成记录子单元,用于生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新记录子单元,用于更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
优选的是,所述的装置,还包括:
存储单元,用于存储所述源数据。
优选的是,所述存储单元位于第一服务器端,所述记录单元第二服务器端。
优选的是,所述缓存信息表为哈希表。
与现有技术相比,本发明实施例具有以下优点:
首先,由于本发明通过将缓存信息表中记录源数据的最后更新时间信息与缓存中缓存数据中的最后更新时间信息进行对比,而缓存数据中的最后更新时间信息是在上次缓存更新的时间信息,可见其对比因素不依赖当前系统时间的对比,因而无论在任何客户机上生成的缓存数据,其时间信息都取自缓存信息表中的固定时间信息要素,从而可以保证在各个客户机上的缓存数据是一致的;
并且,只要对比结果不一致即可发起缓存更新操作,从而可以有效保证缓存的即时性,以及缓存数据的实时性;
再者,由于本发明判断缓存是否需要更新的请求,仅仅需要根据标识信息相应的时间信息判断,系统资源消耗非常小,从而有效提高了缓存的效率;
最后,本发明通过对比缓存信息表与相应标识的缓存数据的最后更新时间信息,而仅在对比结果不一致的情况下才发起更新,只要一致则表示源数据没有更新,从而无需发起缓存的更新,进一步避免了资源浪费,提高了缓存效率。
附图说明
图1是本发明的一种网站缓存的方法实施例的流程图;
图2是一个哈希表的构造示意图;
图3是本发明的一种网站缓存的装置实施例的结构框图;
图4是应用本发明的优选装置实施例进行网站缓存的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,预置缓存信息表,所述缓存信息表中记录源数据的标识信息和最后更新时间信息,在实际中,当生成源数据时记录源数据的生成时间信息为最后更新时间信息,在更新所述源数据时,将当前更新时间信息记为所述源数据的最后更新时间信息,当用户第一次访问源数据时,在本地缓存中生成所述源数据的缓存数据,所述缓存数据包括该源数据及其标识信息和最后更新时间信息;当用户以后再访问所述源数据时,先将本地缓存中所述缓存数据的最后更新时间信息与缓存信息表中记录的最后更新时间信息对比,一旦源数据曾经发起过更新,例如,被用户编辑、修改等,则所述缓存信息表中该源数据的最后更新时间信息会发生更改,因而在这种情况下,对比结果为不一致,此时,则发起对本地缓存中所述源数据的缓存数据的更新;如果源数据没有被更新,则所述缓存信息表中该源数据的最后更新时间信息不会改变,此时,将所述缓存信息表中的最后更新时间信息与缓存数据的时间信息是一致的,在这种情况下,则不需要发起对缓存数据的更新,而直接读取该缓存数据即可。
参考图1,示出了本发明的一种网站缓存的方法实施例的流程图,具体可以包括以下步骤:
步骤101、记录源数据的标识信息和最后更新时间信息至缓存信息表中;
优选的是,在本实施例中,所述记录步骤可以包括以下子步骤:
子步骤S1、生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
子步骤S2、更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
即在实际中,对于新生成的源数据,所记录的最后更新时间信息为所述源数据生成的时间信息;对于对所述源数据进行的更新,所记录的最后更新时间信息为该源数据最后一次更新的时间信息。
步骤102、接收提交的访问请求,生成请求信息;
其中,所述请求信息包括所访问源数据的标识信息;
步骤103、根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据,如果不存在,则执行步骤104;如果存在,则执行步骤105;
步骤104、提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
步骤105、将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,若一致,则执行步骤106;若不一致,则执行步骤104在本地缓存中重新生成所述源数据的缓存数据;
步骤106、读取所述缓存数据。
现有网站系统的web交互通常基于C/S(Client/Server,客户端/服务器),或B/S(Browser/Server,浏览器/服务器)模式,在C/S模式中,客户端与服务器直接相连,客户端将用户的要求提交给服务器,服务器接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户端,客户端再将服务器返回的结果以特定形式显示给用户;在B/S模式中,客户端运行浏览器软件,浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。用户通过客户端或浏览器与Web服务器交互进行数据提交,即可触发Web服务器生成相应的源数据或对相应的源数据进行更新。
在实际中,用户通过客户机提交针对某个源数据的访问请求,所述访问请求中则会包括该源数据的标识信息,如果用户是第一次在当前客户机上访问该源数据,那么可以想到的是,当前客户机的缓存中是没有该源数据的缓存数据的,因而需要在当前客户机的本地缓存中生成缓存数据。为结构地组织数据,在本实施例中,优选的是,所述源数据存储在第一服务器中,所述缓存信息表存储在第二服务器中。在这种情况下,则在第一服务器中提取相应标识信息对应的源数据,同时在第二服务器中提取相应标识信息对应的源数据的最后更新时间,然后生成包括该源数据的内容、标识信息和最后更新时间信息的缓存数据。
为更好地管理和使用所述缓存信息表,优选的是,所述缓存信息表为哈希表。在数据量较大的情况下,还可以设置多个缓存信息表,例如,针对一定范围内的源数据设置一个哈希表。以方便数据的查找。公知的是,哈希表是根据设定的哈希函数H(key)和处理冲突的方法将一组关键字映像到一个有限的连续的地址集上,并以关键字在地址集(区间)中的“像”作为记录在表中的存储位置,在本实施例中,对所述构造哈希表的方法不作限制。
例如,一种构造的哈希表如图2所示,其中,所述Tid为标识信息,所述Cachetime为最后更新时间信息,Hash算法依赖如以下代码所示:
Function createhash(string $tid){
$md5string=md5($tid);
Return substr($md5str,0,2);
}
可以看出,在本例中,根据hash运算,可以使数据分布均匀,并且还可以通过数据拆分,降低两个数据量级,使效率提升两个数据量级,从而提高服务器的响应速度。
为使本领域技术人员更好地理解本实施例,以下以应用本实施例的用户第一次访问的过程为例进行说明。
例1,假设A用户在A客户机上登录网站,并在网站上发表一篇文章,内容(即源数据)为“认识你很高兴!”,其标识信息Tid为1,根据当前时间2007091815:49:00,转换生成时间信息的时间戳为Cachetime:1190130540,则生成缓存信息表为:
  tid   cachetime
  1   1190130540
假设B用户第一次在B客户机上访问该文章,假设该文章的URL地址为http://hostname/1.php,其中,1为该文章的标识信息tid,在这种情况下,首先根据tid:1的条件判断B客户机的本地缓存中是否存在相应的缓存数据,由于是第一次访问,所以判断结果为没有,在这种情况下,则从网站服务器中提取该标识信息为1的文章“认识你很高兴!”,同时在缓存信息表中将该标识信息为1的最后更新时间信息Cachetime:1190130540提取出来,在B客户机中生成缓存数据,形如:
<xml>
<tid>1</tid>
<cachetime>1190130540</cachetime>
<content>认识你很高兴!</content>
</xml>
如果用户不是第一次访问源数据,则将缓存中相应标识信息的缓存数据的最后更新时间信息与缓存信息表中相应标识信息的最后更新时间信息进行对比,需要注意的是,缓存信息表中的最后更新时间信息是根据源数据的更新而更新的,也就是说,如果源数据更新了,在更新其内容的同时即触发其最后更新时间信息的更新,即以当前更新数据的时间信息替换已有的最后更新时间信息。在这种情况下,则所述对比的结果可能为一致,可能为不一致,若为一致,则表明该源数据没有进行过更新,因此直接读取本地缓存中的该缓存数据即可;若为不一致,则表明该源数据已经进行了更新,因而本地缓存中的相应缓存数据也应当进行更新,在这种情况下,即可提取该最后更新的源数据的内容、标识信息和最后更新时间信息,在本地缓存中重新生成该源数据的缓存数据。
以下根据上述例1通过具体实例对于这种非首次访问的情形进行说明。
例2,假设A用户在发表上述文章5秒钟后,又在A客户机上编辑了该文章,编辑后的内容为“认识你很高兴!以后多多指教!”,此时,根据当前时间转换时间戳为Cachetime:1190130545,随着源数据内容的更新,还需要将缓存信息表中相应源数据的最后更新时间信息进行更新,更新后的缓存信息表为:
 tid  cachetime
 1  1190130545
此时,假设B用户在B客户机上的刷新了该文章,该文章的URL地址仍为http://hostname/1.php,其中,1为标识信息tid,调用缓存数据1.xml,获得的缓存数据为:
<xml>
<tid>1</tid>
<cachetime>1190130540</cachetime>
<content>认识你很高兴!</content>
</xml>
得到该缓存数据的最后更新时间信息为1190130540,将其与缓存信息表中的cachetime进行对比,可以得到对比结果为:1190130545>1190130540,对比结果不一致,从而发起缓存数据的更新:
提取更新后的源数据“认识你很高兴!以后多多指教!”、标识信息1和缓存信息表中记录的最后更新时间信息cachetime:1190130545,重新生成缓存数据为:
<xml>
<tid>1</tid>
<cachetime>1190130545</cachetime>
<content>认识你很高兴!以后多多指教!</content>
</xml>
假设在之后的5分钟内,没有用户对该帖子进行更新,如果用户B继续在B客户机上对该帖子提交刷新或重新访问请求,调用缓存中相应的缓存数据仍为:
<xml>
<tid>1</tid>
<cachetime>1190130545</cachetime>
<content>认识你很高兴!以后多多指教!</content>
</xml>
得到该缓存数据的最后更新时间信息为1190130545,将其与缓存信息表中的cachetime进行对比,可以得到对比结果为:1190130545=1190130545,对比结果一致,从而直接读取该缓存数据。
可以看出,本发明通过将缓存信息表中记录源数据的最后更新时间信息与缓存中缓存数据中的最后更新时间信息进行对比,而缓存数据中的最后更新时间信息是在上次缓存更新的时间信息,可见其对比因素不依赖当前系统时间的对比,因而无论在任何客户机上生成的缓存数据,其时间信息都取自缓存信息表中的固定时间信息要素,从而可以保证在各个客户机上的缓存数据是一致的;并且,只要对比结果不一致即可发起缓存更新操作,从而可以有效保证缓存的即时性,以及缓存数据的实时性;再者,由于本发明判断缓存是否需要更新的请求,仅仅需要根据标识信息相应的时间信息判断,系统资源消耗非常小,从而有效提高了缓存的效率;最后,本发明通过对比缓存信息表与相应标识的缓存数据的最后更新时间信息,而仅在对比结果不一致的情况下才发起更新,只要一致则表示源数据没有更新,从而无需发起缓存的更新,进一步避免了资源浪费,提高了缓存效率。
参考图3,示出了本发明的一种网站缓存的装置实施例的结构框图,具体可以包括以下单元:
记录单元301,用于记录源数据的标识信息和最后更新时间信息至缓存信息表中;
接口单元302,用于接收客户机提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;
判断单元303,用于根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据,如果不存在,则触发缓存创建单元304;如果存在,则触发对比单元305;
缓存创建单元304,用于提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
对比单元305,用于将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,并在一致时触发读取单元306,在不一致时,调用缓存创建单元304在本地缓存中重新生成所述源数据的缓存数据;
读取单元306,用于读取所述缓存数据。
优选的是,在本实施例中,所述记录单元进一步包括以下子单元:
生成记录子单元,用于生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新记录子单元,用于更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
优选的是,在本实施例中,还可以包括存储单元,用于存储所述源数据。
更为优选的是,所述存储单元位于第一服务器端,所述记录单元第二服务器端。
更为优选的是,所述缓存信息表为哈希表。
参考图4,示出了应用图3所示的优选装置实施例进行网站缓存的流程图,具体可以包括以下步骤:
步骤401、记录单元记录源数据的标识信息和最后更新时间信息至缓存信息表中;
优选的是,所述记录单元可以通过以下子单元实现其功能:
生成记录子单元生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新记录子单元更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
步骤402、接口单元接收客户机提交的访问请求,生成请求信息;
其中,所述请求信息包括所访问源数据的标识信息;
步骤403、判断单元根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据,如果不存在,则触发缓存创建单元执行步骤404;如果存在,则触发对比单元执行步骤405;
步骤404、缓存创建单元提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
步骤405、对比单元将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,并在一致时触发读取单元执行步骤406;在不一致时,调用缓存创建单元执行步骤404;
步骤406、读取单元读取所述缓存数据。
对于装置实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在实际中,为使本发明可以获得优化,本发明可以基于LAMP(Linux、Apache、MySQL和PHP/Perl/Python)架构实现,即包括Linux操作系统,Apache网络服务器,MySQL数据库,PHP、Perl或者Python编程语言,它是一组常用来搭建动态网站或者服服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。基于LAMP的应用程序是用PHP(有时候用Perl或Python代替)这样的脚本语言编写的,它们作为Linux主机上运行的Apache Web服务器的一部分运行。PHP应用程序通过请求的URL、所有表单数据和已捕获的任意会话信息从客户机获得信息,从而确定应该执行什么操作。如有必要,服务器会从MySQL数据库(也在Linux上运行)获得信息,将这些信息与一些HypertextMarkup Language(HTML)模板组合在一起,并将结果返回给客户机。当用户在应用程序中导航时,这个过程重复进行;当多个用户访问系统时,这个过程会并发进行。但是,数据流不是单向的,因为可以用来自用户的信息更新数据库,包括会话数据、统计数据(包括投票)和用户提交的内容(比如评论或站点更新)。除了动态元素之外,还有静态元素,比如图像、JavaScript代码和层叠样式表(CSS)。
本发明可以用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。此外,本发明还可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通讯网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上对本发明所提供的一种网站缓存的方法以及一种网站缓存的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种网站缓存的方法,其特征在于,包括:
记录源数据的标识信息和最后更新时间信息至缓存信息表中;
接收提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;
根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据;
如果不存在,则提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
如果存在,则将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,若一致,则读取所述缓存数据;若不一致,则提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中重新生成所述源数据的缓存数据。
2.如权利要求1所述的方法,其特征在于,所述记录步骤包括:
生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
3.如权利要求1或2所述的方法,其特征在于,所述源数据存储在第一服务器中,所述缓存信息表存储在第二服务器中。
4.如权利要求3所述的方法,其特征在于,所述缓存信息表为哈希表。
5.如权利要求4所述的方法,其特征在于,所述缓存信息表为多个。
6.一种网站缓存的装置,其特征在于,包括:
记录单元,用于记录源数据的标识信息和最后更新时间信息至缓存信息表中;
接口单元,用于接收客户机提交的访问请求,生成请求信息,所述请求信息包括所访问源数据的标识信息;
判断单元,用于根据所述标识信息判断本地缓存中是否存在所述源数据的缓存数据,如果不存在,则触发缓存创建单元;如果存在,则触发对比单元;
缓存创建单元,用于提取所述源数据、所述源数据的标识信息和所述缓存信息表中记录的最后更新时间信息,在本地缓存中生成所述源数据的缓存数据;
对比单元,用于将所述缓存数据的最后更新时间信息与所述缓存信息表中相应标识信息的最后更新时间信息进行对比,并在一致时触发读取单元,在不一致时,调用缓存创建单元在本地缓存中重新生成所述源数据的缓存数据;
读取单元,用于读取所述缓存数据。
7.如权利要求6所述的装置,其特征在于,所述记录单元进一步包括:
生成记录子单元,用于生成源数据及其标识信息,将所述标识信息记录至缓存信息表中,将所述源数据的生成时间信息作为最后更新时间信息记录至缓存信息表中;
更新记录子单元,用于更新源数据,根据当前更新时间信息修改所述缓存信息表中该源数据的标识信息对应的最后更新时间信息。
8.如权利要求6或7所述的装置,其特征在于,还包括:
存储单元,用于存储所述源数据。
9.如权利要求8所述的装置,其特征在于,所述存储单元位于第一服务器端,所述记录单元第二服务器端。
10.如权利要求9所述的装置,其特征在于,所述缓存信息表为哈希表。
CN200710175325A 2007-09-28 2007-09-28 一种网站缓存方法和一种网站缓存的装置 Active CN100591078C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710175325A CN100591078C (zh) 2007-09-28 2007-09-28 一种网站缓存方法和一种网站缓存的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710175325A CN100591078C (zh) 2007-09-28 2007-09-28 一种网站缓存方法和一种网站缓存的装置

Publications (2)

Publication Number Publication Date
CN101127783A true CN101127783A (zh) 2008-02-20
CN100591078C CN100591078C (zh) 2010-02-17

Family

ID=39095704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710175325A Active CN100591078C (zh) 2007-09-28 2007-09-28 一种网站缓存方法和一种网站缓存的装置

Country Status (1)

Country Link
CN (1) CN100591078C (zh)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937467A (zh) * 2010-09-17 2011-01-05 北京开心人信息技术有限公司 一种服务器的高效缓存方法与系统
CN102012931A (zh) * 2010-12-01 2011-04-13 北京瑞信在线系统技术有限公司 过滤式缓存方法及其装置、缓存系统
CN102025750A (zh) * 2009-09-15 2011-04-20 天津七所信息技术有限公司 网络缓存代理服务系统
CN102065572A (zh) * 2009-11-17 2011-05-18 中国移动通信集团广东有限公司 移动浏览器、网关、浏览系统及互联网页面访问方法
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN102216930A (zh) * 2010-12-14 2011-10-12 华为技术有限公司 Web请求调度方法及系统
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN102662993A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种页面数据提供方法
CN102710776A (zh) * 2012-06-05 2012-10-03 天津兆民云计算科技有限公司 一种防止短时间内重复请求api服务器的方法
CN102831111A (zh) * 2011-06-14 2012-12-19 腾讯科技(深圳)有限公司 一种图片显示方法和装置
CN102843604A (zh) * 2012-09-07 2012-12-26 深圳市九洲电器有限公司 一种高效访问主题门户的方法及系统
CN102916993A (zh) * 2011-08-03 2013-02-06 腾讯科技(深圳)有限公司 一种网络硬盘数据更新方法以及装置
CN102929943A (zh) * 2012-09-28 2013-02-13 五八有限公司 数据输出方法及装置
CN103095765A (zh) * 2011-11-03 2013-05-08 陈璧超 对等通信网络及其分发数据内容的方法、通信节点
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和系统
CN103294718A (zh) * 2012-02-29 2013-09-11 腾讯科技(深圳)有限公司 网页缓存管理方法和装置
CN103399911A (zh) * 2013-07-30 2013-11-20 北京小米科技有限责任公司 基于浏览器客户端的访问处理方法、装置及终端设备
CN103428171A (zh) * 2012-05-17 2013-12-04 阿里巴巴集团控股有限公司 一种session的处理方法、应用服务器及系统
CN103701929A (zh) * 2014-01-02 2014-04-02 中安消技术有限公司 实现业务数据缓存的方法及装置
CN103841045A (zh) * 2012-11-22 2014-06-04 中国移动通信集团公司 一种互联网缓存处理方法、内容探测子系统和Cache系统
CN104468807A (zh) * 2014-12-12 2015-03-25 北京小渔无限信息技术有限公司 进行网页缓存的处理方法、云端装置、本地装置及系统
CN104657401A (zh) * 2014-10-21 2015-05-27 北京齐尔布莱特科技有限公司 一种web缓存的更新方法
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统
CN105897754A (zh) * 2016-06-03 2016-08-24 腾讯科技(深圳)有限公司 一种数据处理系统、数据拉取方法以及客户端
WO2017092351A1 (zh) * 2015-12-01 2017-06-08 乐视控股(北京)有限公司 缓存数据的更新方法及装置
CN106817381A (zh) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 数据处理方法及装置
CN103763340B (zh) * 2013-12-24 2017-07-04 新华三技术有限公司 一种Web访问优化的装置和方法
CN106934057A (zh) * 2017-03-22 2017-07-07 福建中金在线信息科技有限公司 一种分页缓存数据的更新方法和装置
CN107451132A (zh) * 2016-05-30 2017-12-08 深圳市唯德科创信息有限公司 一种专利信息更新方法及系统
US9904699B2 (en) 2012-09-12 2018-02-27 Flipboard, Inc. Generating an implied object graph based on user behavior
CN107807816A (zh) * 2016-09-08 2018-03-16 阿里巴巴集团控股有限公司 服务端程序和数据库的升级方法、装置和设备
CN108121730A (zh) * 2016-11-30 2018-06-05 北京京东尚科信息技术有限公司 一种将数据更新快速同步到业务系统的装置及方法
CN108241637A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间数据传输系统
CN108241636A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间非结构化数据复制方法
CN108241635A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间非结构化数据转发方法
CN108540583A (zh) * 2018-01-30 2018-09-14 北京三快在线科技有限公司 一种cdn系统中的域名下发方法及装置,电子设备
CN108566411A (zh) * 2018-02-07 2018-09-21 链家网(北京)科技有限公司 静态资源获取方法、电子设备和存储介质
US10264034B2 (en) 2012-09-12 2019-04-16 Flipboard, Inc. Interactions for sharing content items in a digital magazine
CN110287715A (zh) * 2019-06-25 2019-09-27 江苏恒宝智能系统技术有限公司 一种缓存数据安全管理系统
CN110795649A (zh) * 2019-09-18 2020-02-14 北京你财富计算机科技有限公司 目标页面展示方法、装置、系统及电子设备
CN110807040A (zh) * 2019-10-30 2020-02-18 北京达佳互联信息技术有限公司 管理数据的方法、装置、设备及存储介质
CN111125580A (zh) * 2019-12-09 2020-05-08 北京五八信息技术有限公司 网络资源获取方法、装置、电子设备及存储介质
CN112307387A (zh) * 2020-10-30 2021-02-02 上海二三四五网络科技有限公司 一种动态时间段信息缓存的控制方法以及控制装置
CN112860698A (zh) * 2021-02-19 2021-05-28 北京金山云网络技术有限公司 表单的处理方法、装置、电子设备和计算机可读存储介质
CN112953835A (zh) * 2021-01-18 2021-06-11 广州三七互娱科技有限公司 数据传输方法、装置及系统
CN113542109A (zh) * 2021-07-19 2021-10-22 江西省能源大数据有限公司 一种5g智慧能源网关的数据采集算法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108038121B (zh) * 2017-11-03 2021-06-08 福建网龙计算机网络信息技术有限公司 一种缓存方法及终端

Cited By (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025750A (zh) * 2009-09-15 2011-04-20 天津七所信息技术有限公司 网络缓存代理服务系统
CN102065572A (zh) * 2009-11-17 2011-05-18 中国移动通信集团广东有限公司 移动浏览器、网关、浏览系统及互联网页面访问方法
CN102065572B (zh) * 2009-11-17 2015-07-01 中国移动通信集团广东有限公司 移动浏览器、网关、浏览系统及互联网页面访问方法
CN102109989A (zh) * 2009-12-29 2011-06-29 阿里巴巴集团控股有限公司 一种控制浏览器缓存的方法、装置和系统
CN101937467A (zh) * 2010-09-17 2011-01-05 北京开心人信息技术有限公司 一种服务器的高效缓存方法与系统
CN102012931A (zh) * 2010-12-01 2011-04-13 北京瑞信在线系统技术有限公司 过滤式缓存方法及其装置、缓存系统
CN102216930A (zh) * 2010-12-14 2011-10-12 华为技术有限公司 Web请求调度方法及系统
CN102831111B (zh) * 2011-06-14 2015-12-16 腾讯科技(深圳)有限公司 一种图片显示方法和装置
CN102831111A (zh) * 2011-06-14 2012-12-19 腾讯科技(深圳)有限公司 一种图片显示方法和装置
CN102916993B (zh) * 2011-08-03 2016-06-15 腾讯科技(深圳)有限公司 一种网络硬盘数据更新方法以及装置
CN102916993A (zh) * 2011-08-03 2013-02-06 腾讯科技(深圳)有限公司 一种网络硬盘数据更新方法以及装置
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN103095765B (zh) * 2011-11-03 2015-06-17 陈璧超 对等通信网络及其分发数据内容的方法、通信节点
CN103095765A (zh) * 2011-11-03 2013-05-08 陈璧超 对等通信网络及其分发数据内容的方法、通信节点
CN103139279A (zh) * 2011-12-05 2013-06-05 阿里巴巴集团控股有限公司 文件访问方法和系统
CN103139279B (zh) * 2011-12-05 2016-02-24 阿里巴巴集团控股有限公司 文件访问方法和系统
CN103294718A (zh) * 2012-02-29 2013-09-11 腾讯科技(深圳)有限公司 网页缓存管理方法和装置
CN102662993A (zh) * 2012-03-14 2012-09-12 北京神州数码思特奇信息技术股份有限公司 一种页面数据提供方法
CN103428171A (zh) * 2012-05-17 2013-12-04 阿里巴巴集团控股有限公司 一种session的处理方法、应用服务器及系统
CN102710776A (zh) * 2012-06-05 2012-10-03 天津兆民云计算科技有限公司 一种防止短时间内重复请求api服务器的方法
CN102710776B (zh) * 2012-06-05 2014-08-20 天津兆民云计算科技有限公司 一种防止短时间内重复请求api服务器的方法
CN102843604A (zh) * 2012-09-07 2012-12-26 深圳市九洲电器有限公司 一种高效访问主题门户的方法及系统
CN102843604B (zh) * 2012-09-07 2015-05-06 深圳市九洲电器有限公司 一种高效访问主题门户的方法及系统
US10346379B2 (en) 2012-09-12 2019-07-09 Flipboard, Inc. Generating an implied object graph based on user behavior
US9904699B2 (en) 2012-09-12 2018-02-27 Flipboard, Inc. Generating an implied object graph based on user behavior
US10264034B2 (en) 2012-09-12 2019-04-16 Flipboard, Inc. Interactions for sharing content items in a digital magazine
CN102929943B (zh) * 2012-09-28 2016-03-30 五八有限公司 数据输出方法及装置
CN102929943A (zh) * 2012-09-28 2013-02-13 五八有限公司 数据输出方法及装置
CN103841045B (zh) * 2012-11-22 2017-11-21 中国移动通信集团公司 一种互联网缓存处理方法、内容探测子系统和Cache系统
CN103841045A (zh) * 2012-11-22 2014-06-04 中国移动通信集团公司 一种互联网缓存处理方法、内容探测子系统和Cache系统
CN103399911A (zh) * 2013-07-30 2013-11-20 北京小米科技有限责任公司 基于浏览器客户端的访问处理方法、装置及终端设备
CN103763340B (zh) * 2013-12-24 2017-07-04 新华三技术有限公司 一种Web访问优化的装置和方法
CN103701929A (zh) * 2014-01-02 2014-04-02 中安消技术有限公司 实现业务数据缓存的方法及装置
CN105245560A (zh) * 2014-07-11 2016-01-13 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统
CN105245560B (zh) * 2014-07-11 2019-11-08 阿里巴巴集团控股有限公司 一种实现分布式缓存的方法、装置及系统
CN104657401A (zh) * 2014-10-21 2015-05-27 北京齐尔布莱特科技有限公司 一种web缓存的更新方法
CN104468807A (zh) * 2014-12-12 2015-03-25 北京小渔无限信息技术有限公司 进行网页缓存的处理方法、云端装置、本地装置及系统
CN104468807B (zh) * 2014-12-12 2018-11-13 北京易网无际科技有限公司 进行网页缓存的处理方法、云端装置、本地装置及系统
CN106817381A (zh) * 2015-11-27 2017-06-09 阿里巴巴集团控股有限公司 数据处理方法及装置
WO2017092351A1 (zh) * 2015-12-01 2017-06-08 乐视控股(北京)有限公司 缓存数据的更新方法及装置
CN107451132A (zh) * 2016-05-30 2017-12-08 深圳市唯德科创信息有限公司 一种专利信息更新方法及系统
CN105897754A (zh) * 2016-06-03 2016-08-24 腾讯科技(深圳)有限公司 一种数据处理系统、数据拉取方法以及客户端
CN107807816A (zh) * 2016-09-08 2018-03-16 阿里巴巴集团控股有限公司 服务端程序和数据库的升级方法、装置和设备
CN108121730B (zh) * 2016-11-30 2021-01-26 北京京东尚科信息技术有限公司 一种将数据更新快速同步到业务系统的装置及方法
CN108121730A (zh) * 2016-11-30 2018-06-05 北京京东尚科信息技术有限公司 一种将数据更新快速同步到业务系统的装置及方法
CN108241635A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间非结构化数据转发方法
CN108241636A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间非结构化数据复制方法
CN108241637A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种多用户节点间数据传输系统
CN106934057A (zh) * 2017-03-22 2017-07-07 福建中金在线信息科技有限公司 一种分页缓存数据的更新方法和装置
CN108540583B (zh) * 2018-01-30 2022-02-25 北京三快在线科技有限公司 一种cdn系统中的域名下发方法及装置,电子设备
CN108540583A (zh) * 2018-01-30 2018-09-14 北京三快在线科技有限公司 一种cdn系统中的域名下发方法及装置,电子设备
CN108566411A (zh) * 2018-02-07 2018-09-21 链家网(北京)科技有限公司 静态资源获取方法、电子设备和存储介质
CN110287715A (zh) * 2019-06-25 2019-09-27 江苏恒宝智能系统技术有限公司 一种缓存数据安全管理系统
CN110287715B (zh) * 2019-06-25 2022-04-08 恒宝股份有限公司 一种缓存数据安全管理系统
CN110795649A (zh) * 2019-09-18 2020-02-14 北京你财富计算机科技有限公司 目标页面展示方法、装置、系统及电子设备
CN110807040A (zh) * 2019-10-30 2020-02-18 北京达佳互联信息技术有限公司 管理数据的方法、装置、设备及存储介质
CN111125580A (zh) * 2019-12-09 2020-05-08 北京五八信息技术有限公司 网络资源获取方法、装置、电子设备及存储介质
CN111125580B (zh) * 2019-12-09 2023-08-15 北京五八信息技术有限公司 网络资源获取方法、装置、电子设备及存储介质
CN112307387A (zh) * 2020-10-30 2021-02-02 上海二三四五网络科技有限公司 一种动态时间段信息缓存的控制方法以及控制装置
CN112953835A (zh) * 2021-01-18 2021-06-11 广州三七互娱科技有限公司 数据传输方法、装置及系统
CN112860698A (zh) * 2021-02-19 2021-05-28 北京金山云网络技术有限公司 表单的处理方法、装置、电子设备和计算机可读存储介质
CN113542109A (zh) * 2021-07-19 2021-10-22 江西省能源大数据有限公司 一种5g智慧能源网关的数据采集算法
CN113542109B (zh) * 2021-07-19 2022-06-07 江西省能源大数据有限公司 一种5g智慧能源网关的数据采集方法

Also Published As

Publication number Publication date
CN100591078C (zh) 2010-02-17

Similar Documents

Publication Publication Date Title
CN100591078C (zh) 一种网站缓存方法和一种网站缓存的装置
CN105824744B (zh) 一种基于b2b平台的实时日志采集分析方法
US10839038B2 (en) Generating configuration information for obtaining web resources
CN103248684B (zh) 一种互联网中资源获取方法和装置
CN103731483B (zh) 一种基于云计算的虚拟文件系统
CN110971655B (zh) 离线客户端重放和同步
CN100438435C (zh) 一种限制浏览器访问网络地址的方法
CN101364979B (zh) 下载资料解析及处理系统及方法
CN102857369B (zh) 一种网站日志保存系统及方法和装置
CN109684575A (zh) 网页数据的处理方法及装置、存储介质、计算机设备
CN102457565B (zh) 移动终端访问网络的方法及代理服务器
CN102654885A (zh) 移动终端网页适配系统和方法
CN103699674A (zh) 网页保存、网页打开方法及装置和网页浏览系统
CN107580052B (zh) 自演进的网络自适应爬虫方法及系统
CN104601522A (zh) 移动客户端与业务系统交互的实现方法、装置及系统
CN104391868A (zh) 动态页面静态化的装置和方法
CN102938788A (zh) 事件的处理方法和装置
CN104239353A (zh) 一种web分类控制和日志审计的方法
US8230002B2 (en) Method and system for automatic setup in web-based applications
CN104615597A (zh) 浏览器中清除缓存文件的方法、装置和系统
CN102148702B (zh) 一种使用网络配置协议进行网络管理的方法
CN109714208A (zh) 一种设备纳入网管的方法、存储介质及电子设备
CN104933045B (zh) 网络信息浏览方法及网络信息浏览装置
CN113158118A (zh) 页面埋点数据采集方法、装置及系统
CN105450771A (zh) 信息推送和信息推送优化方法、服务器及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING KINGSOFT OFFICE SOFTWARE CO., LTD.

Free format text: FORMER OWNER: BEIJING JINSHAN SOFTWARE CO., LTD.

Effective date: 20140312

Free format text: FORMER OWNER: BEIJING JINSHAN DIGITAL ENTERTAINMENT SCIENCE AND TECHNOLOGY CO., LTD.

Effective date: 20140312

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 HAIDIAN, BEIJING TO: 100085 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140312

Address after: Kingsoft No. 33 building, 100085 Beijing city Haidian District Xiaoying Road

Patentee after: Beijing Kingsoft WPS Office Co., Ltd.

Address before: 100083, Beijing, Haidian District No. 238 North Fourth Ring Road, No. 20, Bai Yan building

Patentee before: Beijing Jinshan Software Co., Ltd.

Patentee before: Beijing Jinshan Digital Entertainment Science and Technology Co., Ltd.

CP01 Change in the name or title of a patent holder

Address after: Kingsoft No. 33 building, 100085 Beijing city Haidian District Xiaoying Road

Patentee after: Beijing Kingsoft office software Limited by Share Ltd

Address before: Kingsoft No. 33 building, 100085 Beijing city Haidian District Xiaoying Road

Patentee before: Beijing Kingsoft WPS Office Co., Ltd.

CP01 Change in the name or title of a patent holder