CN105868251A - 一种缓存数据更新方法及装置 - Google Patents
一种缓存数据更新方法及装置 Download PDFInfo
- Publication number
- CN105868251A CN105868251A CN201510968996.XA CN201510968996A CN105868251A CN 105868251 A CN105868251 A CN 105868251A CN 201510968996 A CN201510968996 A CN 201510968996A CN 105868251 A CN105868251 A CN 105868251A
- Authority
- CN
- China
- Prior art keywords
- url
- directory tree
- preset
- resource
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种缓存数据更新方法及装置,涉及数据处理技术领域,本发明实施例用于解决现有技术中缓存数据更新效率低的问题。本发明实施例的技术方案包括:接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL;若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。本发明实施例用于更新缓存数据。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种缓存数据更新方法及装置。
背景技术
Web加速是指在客户端与源服务器之间增设一个缓存服务器,客户端的HTTP请求发送至缓存服务器后,如果缓存服务器缓存有相应的资源,则直接将该资源返回给客户端,否则缓存服务器需要向源服务器请求该资源,然后将请求到的资源返回给客户端并在本地进行缓存。通常,源服务器中的资源会定期或不定期更新,缓存服务器中缓存的资源具有一个由源服务器分配的过期时间。缓存服务器在接收到HTTP请求后,根据该过期时间判断缓存的资源是否过期,如果过期则向源服务器发起验证请求,请求源服务器侧的最新资源并以此对本地过期资源进行更新。但是,在实际应用中源服务器设定的过期时间不甚准确,因此需要通过第三方用户向缓存服务器发起更新请求,手动删除缓存服务器中的过期资源。当后续客户端请求该资源时,由缓存服务器向源服务器请求更新后的资源,由此完成缓存服务器中资源的手动更新。
目前,在接收到第三方用户向缓存服务器发送的更新请求后,首先需要遍历缓存服务器中的KEY-VALUE表,其中,该表中的KEY为经过对URL进行MD5(Message Digest Algorithm,消息摘要算法第五版)计算得到的数值,VALUE为与URL对应的资源内容、URL等信息,然后将每个KEY解析出的URL与更新请求中携带的URL进行比对,若比对一致则删除KEY对应的VALUE。但是,由于缓存服务器中存储的资源数量庞大,遍历K表的更新方式耗时较大,无法满足用户的服务质量要求,因此现有的缓存数据更新效率低。
发明内容
本发明实施例提供一种缓存数据更新方法及装置,用以解决现有缓存数据更新效率低的问题。
一方面,本发明实施例提供一种缓存数据更新方法,该方法包括:
接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL;
若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
另一方面,本发明实施例提供一种缓存数据更新装置,该装置包括:
接收单元,用于接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
判断单元,用于通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL;
更新单元,用于若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
再一方面,本发明实施例提供一种缓存数据更新系统,该系统包括:
所述源服务器,用于向所述缓存服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新的资源对应的一个或多个URL;
所述缓存服务器,用于根据所述目录刷新指令中的URL对应的目录结构,生成预置URL目录树;
所述客户端,用于向所述缓存服务器发送资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
所述缓存服务器,还用于通过遍历所述预置URL目录树,判断所述预置URL目录树中是否存在与所述数据更新指令中的URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
本发明实施例提供的一种缓存数据更新方法及装置,首先接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL,然后通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。与目前首先需要解析缓存服务器中KEY-VALUE表中KEY对应的URL,然后通过遍历解析出的URL以查找表中需要更新资源对应的URL相比,本发明实施例当客户端发起资源获取请求时,通过遍历自定义URL目录树的方式,对自定义URL目录树中相应的资源进行强制更新,由于本发明实施例是通过遍自定义URL目录树的方式获取需要更新资源对应的URL,因此通过本发明可以节省遍历KEY-VALUE表所产生的时间,以及因解析KEY-VALUE表中URL所产生的耗时,从而通过本发明实施例可以提高缓存数据的更新效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种缓存数据更新方法流程图;
图2为本发明实施例提供的另一种缓存数据更新方法流程图;
图3为本发明实施例提供的一种缓存数据更新装置的结构组成框图;
图4为本发明实施例提供的另一种缓存数据更新装置的结构组成框图;
图5为本发明实施例提供的一种缓存数据更新系统;
图6为本发明实施例提供的一种服务器的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了缓存数据更新方法,如图1所示,该方法应用于缓存服务器中,具体步骤包括:
101、接收客户端发送的资源获取请求。
其中,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL,通过资源获取请求中对应的URL可以获取到对应的请求资源。所述请求的资源具体可以为视频资源、音频资源、图片资源、文字资源等,本发明实施例不做具体限定。需要说明的是,客户端可以通过HTTP(Hypertexttransfer protocol,超文本传输协议)将资源获取请求发送至缓存服务器,如果缓存服务器缓存有相应的资源则直接将相应的资源返回给客户端;否则缓存服务器向源服务器请求该资源,并将请求到的资源返回给客户端,然后将请求到的资源在本地进行缓存。
102、通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支。
其中,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,所述预置URL目录树实际上是以树形结构存储的多个URL。对于本发明实施例,预置URL目录树中包括多个节点,从URL目录树中的根节点开始首尾顺序连接的一个或多个节点可组成一个目录树分支,该目录树分支对应一个URL。需要说明的是,预置URL目录树中的各个节点是根据源服务器发送的数据更新指令中的URL进行配置的。
例如,源服务器发送的数据更新指令中的URL包括:http://www.example.com/abc/aa/bb、http://www.example.com/abc/ab/cc、http://www.example.com/abc/aa/dd,则根据上述URL的目录结构,可生成的URL目录树结构具体如下:URL目录树的根节点为abc,根节点abc对应的子节点为aa和ab,节点aa对应的子节点为bb和dd,节点ab对应的子节点为cc。其中,从URL目录树的根节点开始首尾顺序连接的一个或多个节点可组成一个目录树分支,如首尾顺序连接跟节点abc和节点aa可组成一个目录树分支,该目录树分支对应的URL为http://www.example.com/abc/aa;首尾顺序连接跟节点abc、节点aa和节点bb组成一个目录树分支,该目录树分支对应的URL为http://www.example.com/abc/aa/bb。
对于本发明实施例,遍历预置URL目录树时,具体可以按照预置URL目录树的层级顺序进行遍历。如接收到客户端发送的请求资源对应的URL为http://www.example.com/abc/aa/bb,则根据该URL遍历预置URL目录树时,首先需要遍历预置URL目录树的根节点,若URL目录树的根节点为abc,则说明该目录树的根节点能够和客户端发送的URL的根节点匹配,然后继续遍历根节点对应的子节点,若根节点对应的子节点中包含aa,则再继续遍历节点aa下对应的子节点,若aa下对应的子节点中包含节点bb,则说明预置URL目录树中存在与客户端发送的URL匹配的目录树分支。
103、若存在所述目录树分支,则对所述目录树分支对应的URL内容数据进行更新。
在本发明实施例中,若预置URL目录树中存在与客户端发送的URL匹配的目录树分支,则对所述目录树分支对应的URL内容数据进行更新。对于本发明实施例,通过遍历自定义URL目录树的方式可快速获取需要更新资源对应的URL,然后根据该URL对相应的资源进行更新。从而节省了现有技术中解析KEY-VALUE表中的URL,以及遍历KEY-VALUE表中URL所产生的耗时,进而通过本发明实施例可以提高缓存数据的更新效率。
与上述方法相对应地,本发明实施例还提供了一种缓存数据更新方法,如图2所示,该方法应用于缓存服务器中,具体步骤包括:
201、接收客户端发送的资源获取请求。
其中,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL。
202、根据MD5算法生成所述URL的键。
其中,MD5(Message-Digest Algorithm 5,信息摘要算法5)是计算机广泛使用的散列算法之一,又称摘要算法或哈希算法,所述URL的键可以用于唯一标识所述URL。
203、判断预置键值表中是否存储有所述URL的键。
其中,所述预置键值表中存储有不同的键值对,所述预置键值表中的键值对可以是根据用户的需求预先配置的,也可以是实时更新的,本发明实施例不做具体限定。需要说明的是,预置键值表中的键为缓存服务器中URL经过MD5计算得到的数值,值为与URL对应的资源内容。
204a、若存在所述URL的键,通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支。
其中,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,所述URL目录树中的每个节点均对应有起始时间和有效时间。
对于本发明实施例,在步骤204a之前,所述方法还包括:接收源服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新的资源对应的一个或多个URL;根据所述目录刷新指令中的URL对应的目录结构,生成所述预置URL目录树。对于本发明实施例,根据目录刷新指令中的URL对应的目录结构,生成的预置URL目录树实际上就是以树形结构存储的多个URL。需要说明的是,生成所述预置URL目录树具体步骤如下:首先将数据更新指令中的URL按照符号“/”划分目录层级,其中每个目录层级中的内容可以用于表示预置URL目录树中节点,然后根据目录层级的顺序生成预置URL目录树。需要说明的是,从URL目录树中的根节点开始首尾顺序连接的一个或多个节点可组成一个目录树分支,该目录树分支对应一个URL。
205a、若存在,则判断URL的缓存时间是否小于与其匹配的目录树分支的起始时间。
其中,预置URL目录树中的每个节点都对应有起始时间和有效时间,所述有效时间用于表示目录树分支对应资源的有效时间,起始时间用于表示目录树分支对应资源的创建时间。需要说明的是,预置URL目录树中的各个目录树分支对应的起始时间为相同的,有效时间可以是相同的也可以是不同的,本发明实施例不做具体限定。所述目录树分支的起始时间为该目录树分支中,末尾节点对应的起始时间。
例如,URL的缓存时间为2015年11月19日18时,目录树分支的起始时间为2015年11月20日10时,则经过判断URL的缓存时间小于目录树分支的起始时间。
206a、若小于与其匹配的目录树分支的起始时间,则对所述URL的内容数据进行更新。
在本发明实施例中,若URL的缓存时间小于与其匹配的目录树分支的起始时间,则说明在该URL缓存后,源服务器后发送的刷新指令,此时现有URL对应的数据是过期的,因此需要对所述URL的内容进行更新。
对于本发明实施例,步骤206a包括:将所述目录树分支对应的URL发送给所述源服务器,以使得所述源服务器获取与所述URL对应的内容数据;接收所述源服务器发送的与所述URL对应的内容数据;根据所述URL对应的内容数据更新原有URL中的内容数据。
进一步地,所述方法还包括:将所述预置URL目录树中起始时间与有效时间的和小于系统当前时间的节点删除。在本发明实施例中,预置URL目录中起始时间与有效时间的和小于系统当前时间的节点,表示的是该节点对应的任务已经过期了,因此需要将所述目录树分支的终结点从所述预置URL目录树中删除。在本发明实施中,将所述预置URL目录树中起始时间与有效时间的和小于系统当前时间的节点删除,可以节省后续请求资源再次遍历URL目录树的时间,从而可进一步地的提高缓存数据的更新效率。
204b、若不存在所述URL的键,则向所述源服务器发送获取与所述URL对应的资源请求。
其中,步骤204b为步骤204a的并列步骤,若预置键值表中未存储所述URL的键,则说明缓存服务器中未存储有与所述URL对应的资源,这时缓存服务器需要向所述源服务器发送获取与所述URL对应的资源请求,然后将请求到的资源返回客户端,并将该资源在本地进行缓存。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种缓存数据更新装置,该装置实施例与前述方法实施例对应,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图3所示,该装置包括:
接收单元31,用于接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL。所述请求的资源具体可以为视频资源、音频资源、图片资源、文字资源等,本发明实施例不做具体限定。
判断单元32,用于通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述接收单元31接收的URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL。预置URL目录树中包括多个节点,从URL目录树中的根节点开始首尾顺序连接的一个或多个节点可组成一个目录树分支,该目录树分支对应一个URL,所述预置URL目录树实际上是以树形结构存储的多个URL。
更新单元33,用于若判断单元32判断出预置URL目录树中存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
进一步的,如图4所示,所述装置还包括:生成单元34:
接收单元31,还用于接收源服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新的资源对应的一个或多个URL。
生成单元34,用于根据所述接收单元31接收的目录刷新指令中的URL对应的目录结构,生成所述预置URL目录树。根据目录刷新指令中的URL对应的目录结构,生成的预置URL目录树实际上就是以树形结构存储的多个URL。从URL目录树中的根节点开始首尾顺序连接的一个或多个节点可组成一个目录树分支,该目录树分支匹配一个URL。
进一步地,所述预置URL目录树中的每个节点均对应有起始时间和有效时间;
判断单元32,还用于判断所述URL的缓存时间是否小于与其匹配的目录树分支的起始时间。
更新单元33,具体用于若所述判断单元32判断出URL的缓存时间小于与其匹配的目录树分支的起始时间,则对所述URL的内容数据进行更新。
进一步地,所述装置还包括:
删除单元35,用于将所述预置URL目录树中起始时间与有效时间的和小于系统当前时间的节点删除。
所述生成单元34,还用于根据MD5算法生成所述URL的键。MD5(Message-Digest Algorithm 5,信息摘要算法5)是计算机广泛使用的散列算法之一,又称摘要算法或哈希算法,所述URL的键可以用于唯一标识所述URL。
所述判断单元32,还用于判断预置键值表中是否存储有所述生成模块321生成的URL的键,所述预置键值表中存储有不同的键值对。预置键值表中的键为缓存服务器中URL经过MD5计算得到的数值,值为与URL对应的资源内容。
进一步地,所述装置还包括:发送单元36;
判断单元32,还用于若所述预置键值表中存在所述URL的键,则通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支。
发送单元36,用于若判断单元32判断出预置键值表中不存在所述URL的键,则向所述源服务器发送获取与所述URL对应的资源请求。若预置键值表中未存储所述URL的键,则说明缓存服务器中未存储有与所述URL对应的资源,这时缓存服务器需要向所述源服务器发送获取与所述URL对应的资源请求,然后将请求到的资源返回客户端,并将该资源在本地进行缓存。
进一步地,更新单元33包括:
发送模块331,用于将所述目录树分支对应的URL发送给所述源服务器,以使得所述源服务器获取与所述URL对应的内容数据。
接收模块332,用于接收所述源服务器发送的与所述URL对应的内容数据。
更新模块333,用于根据所述接收模块332接收的URL对应的内容数据更新原有URL中的内容数据。
进一步的,作为对图1或图2所示方法的实现,本发明另一实施例还提供了一种缓存数据更新系统。本系统实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本系统实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图5所示,该系统包括:缓存服务器51、客户端52和源服务器53,其中,缓存服务器51包含前述图3及图4所示的装置,或者独立于该装置但是与该装置之间具有数据交互关系,用以实现该装置的全部功能。具体的:
源服务器53,用于向所述缓存服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新的资源对应的一个或多个URL;
缓存服务器51,用于根据所述目录刷新指令中的URL对应的目录结构,生成预置URL目录树;
客户端52,用于向所述缓存服务器发送资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
缓存服务器51,还用于通过遍历所述预置URL目录树,判断所述预置URL目录树中是否存在与所述数据更新指令中的URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
综上所述,本发明实施例提供的一种缓存数据更新方法及装置,首先接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL,然后通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。与目前首先需要解析缓存服务器中KEY-VALUE表中KEY对应的URL,然后通过遍历所述URL以查找表中需要更新资源对应的URL相比,本发明实施例当客户端发起资源获取请求时,通过遍历自定义URL目录树的方式,对自定义URL目录树中相应的资源进行强制更新,由于本发明实施例是通过遍自定义URL目录树的方式获取需要更新资源对应的URL,而无需再遍历KEY-VALUE表,因此通过本发明可以节省遍历KEY-VALUE表所产生的时间,以及因解析KEY-VALUE表中URL所产生的耗时,从而通过本发明实施例可以提高缓存数据的更新效率。
需要说明的是,针对上述缓存数据更新装置,凡是本发明实施例中使用到的各个单元模块的功能都可以通过硬件处理器(hardware processor)来实现。
示例性的,如图6所示,图6示出了本发明实施例提供的一种服务器的实体结构示意图,该服务器可以包括:处理器(processor)61、通信接口(Communications Interface)62、存储器(memory)63和总线64,其中,处理器61、通信接口62、存储器63通过总线64完成相互间的通信。通信接口62可以用于服务器与客户端之间的信息传输。处理器61可以调用存储器63中的逻辑指令,以执行如下方法:接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支对应一个URL;若存在所述目录树分支,则对所述目录树分支对应的URL内容数据进行更新。
此外,上述的存储器63中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种缓存数据更新方法,其特征在于,包括:
接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL;
若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支之前,所述方法还包括:
接收源服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新资源对应的一个或多个URL;
根据所述目录刷新指令中的URL对应的目录结构,生成所述预置URL目录树。
3.根据权利要求2所述的方法,其特征在于,所述预置URL目录树中的每个节点均对应有起始时间和有效时间,所述对所述URL的内容数据进行更新之前,所述方法还包括:
判断所述URL的缓存时间是否小于与其匹配的目录树分支的起始时间;
所述对所述URL的内容数据进行更新包括:
若小于与其匹配的目录树分支的起始时间,则对所述URL的内容数据进行更新。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述预置URL目录树中起始时间与有效时间的和小于系统当前时间的节点删除。
5.根据权利要求1所述的方法,其特征在于,所述通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支之前,所述方法还包括:
根据MD5算法生成所述URL的键;
判断预置键值表中是否存储有所述URL的键,所述预置键值表中存储有不同的键值对;
所述判断预置键值表中的是否存储有所述URL的键之后,所述方法还包括:
若存在所述URL的键,则通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支;
若不存在所述URL的键,则向所述源服务器发送获取与所述URL对应的资源请求。
6.根据权利要求1-5中任一所述的方法,其特征在于,所述对所述URL的内容数据进行更新包括:
将所述目录树分支对应的URL发送给所述源服务器,以使得所述源服务器获取与所述URL对应的内容数据;
接收所述源服务器发送的与所述URL对应的内容数据;
根据所述URL对应的内容数据更新原有URL中的内容数据。
7.一种缓存数据更新装置,其特征在于,包括:
接收单元,用于接收客户端发送的资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
判断单元,用于通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL;
更新单元,用于若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:生成单元;
所述接收单元,还用于接收源服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新资源对应的一个或多个URL;
所述生成单元,用于根据所述目录刷新指令中的URL对应的目录结构,生成所述预置URL目录树。
9.根据权利要求8所述的装置,其特征在于,所述预置URL目录树中的每个节点均对应有起始时间和有效时间;
所述判断单元,还用于判断所述URL的缓存时间是否小于与其匹配的目录树分支的起始时间;
所述更新单元,具体用于若所述URL的缓存时间小于与其匹配的目录树分支的起始时间,则对所述URL的内容数据进行更新。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
删除单元,用于将所述预置URL目录树中起始时间与有效时间的和小于系统当前时间的节点删除。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:发送单元;
所述生成单元,还用于根据MD5算法生成所述URL的键;
所述判断单元,还用于判断预置键值表中是否存储有所述URL的键,所述预置键值表中存储有不同的键值对;
所述判断单元,具体用于若所述预置键值表中存在所述URL的键,则通过遍历预置URL目录树,判断所述预置URL目录树中是否存在与所述URL匹配的目录树分支;
所述发送单元,用于若所述预置键值表中不存在所述URL的键,则向所述源服务器发送获取与所述URL对应的资源请求。
12.根据权利要求7-11中任一所述的装置,其特征在于,所述更新单元包括:
发送模块,用于将所述目录树分支对应的URL发送给所述源服务器,以使得所述源服务器获取与所述URL对应的内容数据;
接收模块,用于接收所述源服务器发送的与所述URL对应的内容数据;
更新模块,用于根据所述URL对应的内容数据更新原有URL中的内容数据。
13.一种缓存数据更新系统,其特征在于,包括:源服务器、缓存服务器和客户端;
所述源服务器,用于向所述缓存服务器发送的目录刷新指令,所述目录刷新指令中携带有需要更新的资源对应的一个或多个URL;
所述缓存服务器,用于根据所述目录刷新指令中的URL对应的目录结构,生成预置URL目录树;
所述客户端,用于向所述缓存服务器发送资源获取请求,所述资源获取请求中携带有与请求的资源对应的统一资源定位符URL;
所述缓存服务器,还用于通过遍历所述预置URL目录树,判断所述预置URL目录树中是否存在与所述数据更新指令中的URL匹配的目录树分支,所述预置URL目录树中至少包括一个目录树分支,每一个目录树分支匹配一个URL,若存在与所述URL匹配的目录树分支,则对所述URL的内容数据进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510968996.XA CN105868251A (zh) | 2015-12-22 | 2015-12-22 | 一种缓存数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510968996.XA CN105868251A (zh) | 2015-12-22 | 2015-12-22 | 一种缓存数据更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105868251A true CN105868251A (zh) | 2016-08-17 |
Family
ID=56624426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510968996.XA Pending CN105868251A (zh) | 2015-12-22 | 2015-12-22 | 一种缓存数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105868251A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372609A (zh) * | 2016-09-05 | 2017-02-01 | 广东欧珀移动通信有限公司 | 指纹模板更新方法、装置及终端设备 |
CN106446246A (zh) * | 2016-10-12 | 2017-02-22 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN107612833A (zh) * | 2017-09-20 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于存储系统的uri路由方法及相关装置 |
CN108416016A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn按前缀缓存清除方法和系统 |
CN110020272A (zh) * | 2017-08-14 | 2019-07-16 | 中国电信股份有限公司 | 缓存方法、装置以及计算机存储介质 |
CN111460337A (zh) * | 2020-03-23 | 2020-07-28 | 武汉思普崚技术有限公司 | 一种url识别率的分析方法及装置 |
CN111782914A (zh) * | 2020-06-22 | 2020-10-16 | 杭州迪普科技股份有限公司 | 一种Web服务器防护方法、装置和网络设备 |
CN112817613A (zh) * | 2021-02-04 | 2021-05-18 | 咪咕音乐有限公司 | 插件数据的删除方法、服务器、电子设备和存储介质 |
CN113886743A (zh) * | 2021-12-08 | 2022-01-04 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916373A (zh) * | 2013-01-07 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 数据更新的方法、服务器、客户端以及系统 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
CN104750704A (zh) * | 2013-12-26 | 2015-07-01 | 中国移动通信集团河南有限公司 | 一种网页url地址分类识别方法及装置 |
-
2015
- 2015-12-22 CN CN201510968996.XA patent/CN105868251A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103916373A (zh) * | 2013-01-07 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 数据更新的方法、服务器、客户端以及系统 |
CN104750704A (zh) * | 2013-12-26 | 2015-07-01 | 中国移动通信集团河南有限公司 | 一种网页url地址分类识别方法及装置 |
CN104657401A (zh) * | 2014-10-21 | 2015-05-27 | 北京齐尔布莱特科技有限公司 | 一种web缓存的更新方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372609B (zh) * | 2016-09-05 | 2018-03-30 | 广东欧珀移动通信有限公司 | 指纹模板更新方法、装置及终端设备 |
CN106372609A (zh) * | 2016-09-05 | 2017-02-01 | 广东欧珀移动通信有限公司 | 指纹模板更新方法、装置及终端设备 |
CN106446246B (zh) * | 2016-10-12 | 2019-10-11 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN106446246A (zh) * | 2016-10-12 | 2017-02-22 | 网宿科技股份有限公司 | 通信系统、缓存服务器、缓存内容推送、查找方法及系统 |
CN110020272A (zh) * | 2017-08-14 | 2019-07-16 | 中国电信股份有限公司 | 缓存方法、装置以及计算机存储介质 |
CN107612833A (zh) * | 2017-09-20 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于存储系统的uri路由方法及相关装置 |
CN108416016A (zh) * | 2018-03-05 | 2018-08-17 | 北京云端智度科技有限公司 | 一种cdn按前缀缓存清除方法和系统 |
CN111460337A (zh) * | 2020-03-23 | 2020-07-28 | 武汉思普崚技术有限公司 | 一种url识别率的分析方法及装置 |
CN111460337B (zh) * | 2020-03-23 | 2023-04-11 | 武汉思普崚技术有限公司 | 一种url识别率的分析方法及装置 |
CN111782914A (zh) * | 2020-06-22 | 2020-10-16 | 杭州迪普科技股份有限公司 | 一种Web服务器防护方法、装置和网络设备 |
CN111782914B (zh) * | 2020-06-22 | 2023-05-26 | 杭州迪普科技股份有限公司 | 一种Web服务器防护方法、装置和网络设备 |
CN112817613A (zh) * | 2021-02-04 | 2021-05-18 | 咪咕音乐有限公司 | 插件数据的删除方法、服务器、电子设备和存储介质 |
CN113886743A (zh) * | 2021-12-08 | 2022-01-04 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
CN113886743B (zh) * | 2021-12-08 | 2022-05-03 | 北京金山云网络技术有限公司 | 缓存资源的刷新方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105868251A (zh) | 一种缓存数据更新方法及装置 | |
CN109413127B (zh) | 一种数据同步方法和装置 | |
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
WO2017092351A1 (zh) | 缓存数据的更新方法及装置 | |
CN110019211A (zh) | 关联索引的方法、装置和系统 | |
US20200204652A1 (en) | Method, apparatus and system for processing data | |
CN106791889B (zh) | 一种视频处理方法及系统、分布式对象存储系统 | |
CN106357539B (zh) | 一种数据获取方法和设备 | |
CN111447248A (zh) | 一种文件传输的方法及装置 | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN105653198A (zh) | 数据处理方法及装置 | |
CN109657174A (zh) | 用于更新数据的方法和装置 | |
CN110703980A (zh) | 一种文件传输方法及装置 | |
CN106713391A (zh) | 一种session信息的共享方法和共享系统 | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN104346426B (zh) | 共享数据去重复的方法和系统 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN105653209A (zh) | 一种对象存储数据传输方法及装置 | |
CN112866406A (zh) | 一种数据存储方法、系统、装置、设备及存储介质 | |
CN113364887B (zh) | 一种基于ftp的文件下载方法、代理服务器和系统 | |
CN113742376A (zh) | 一种同步数据的方法、第一服务器以及同步数据的系统 | |
CN116684416A (zh) | 一种网元集群中的镜像分发方法、装置和系统 | |
CN111143426A (zh) | 多系统用户信息关联方法和装置 | |
CN105847395A (zh) | 一种缓存文件处理方法及设备 | |
CN109144991B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |