CN117061615A - 缓存路径获取方法、装置、计算机设备及存储介质 - Google Patents
缓存路径获取方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117061615A CN117061615A CN202311302143.3A CN202311302143A CN117061615A CN 117061615 A CN117061615 A CN 117061615A CN 202311302143 A CN202311302143 A CN 202311302143A CN 117061615 A CN117061615 A CN 117061615A
- Authority
- CN
- China
- Prior art keywords
- path
- cache
- node
- file system
- original
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000012544 monitoring process Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 12
- 239000012634 fragment Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000002085 persistent effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供缓存路径获取方法、装置、计算机设备及存储介质,所述方法包括:接收指示从缓存文件系统中获取缓存路径的请求;根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。所述方法根据所述第一原始路径中的目标节点获取所述缓存文件系统中对应于所述第一原始路径的缓存路径,不需遍历整个缓存文件系统,提升了缓存路径获取效率,提高了服务器访问速度。
Description
技术领域
本说明书涉及缓存路径获取领域,尤其涉及缓存路径获取方法、装置、计算机设备及存储介质。
背景技术
CDN(Content Delivery Network,内容分发网络)是一种常见的网络架构,CDN网络中的服务节点通常配置有缓存文件系统,当网络节点的缓存文件系统中存在接收到的请求所对应的缓存资源时,该网络节点可以直接将所述缓存资源返回给用户,而无需向源服务器发送请求以获取资源。
目前CDN网络服务节点中广泛采用Nginx资源缓存机制,这种机制能够使用固定层数路径来实现资源的缓存,减少缓存文件系统I/O(Input/Output,输入/输出)次数,但当原始路径对应于一个拥有很多资源的文件夹或对应于一个拥有许多分片的资源时,由于文件夹中的每一个资源及资源的每一个分片通常对应于不同的缓存路径,因此缓存文件系统无法根据原始路径直接获取该原始路径对应的缓存路径。
在相关技术中,当缓存文件系统无法根据原始路径直接获取该原始路径所对应的缓存路径时,通常需要遍历整个缓存文件系统来获取原始路径对应的缓存路径,这种方法效率很低,同时需要占用大量服务器I/O(Input/Output,输入/输出)资源,造成服务器繁忙,导致服务器访问速度降低。
发明内容
为克服相关技术中存在的问题,本说明书提供了缓存路径获取方法、装置、计算机设备及存储介质。
本说明书第一方面提供一种缓存路径获取方法,所述方法包括:
接收指示从缓存文件系统中获取缓存路径的请求;
根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
可选的,所述第一节点集合包含树状结构,所述树状结构的根节点包含域名,所述树状结构包含所述域名对应的子树状结构,所述子树状结构中的节点指示所述缓存文件系统中的路径项。
可选的,所述第一节点集合中的节点包含所述节点对应的原始路径和所述原始路径对应的散列值,所述散列值指示所述第一原始路径对应的缓存路径;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的所述第一原始路径对应的散列值计算所述第一原始路径对应的缓存路径。
可选的,所述第一节点集合中的节点包含链接文件,所述链接文件指示所述第一原始路径对应的缓存路径项;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的链接文件指示的路径项获取所述第一原始路径对应的缓存路径。
可选的,所述方法还包括:
监听所述缓存文件系统的更新事件;
根据所述更新事件更新第一节点,所述第一节点为所述第一节点集合中对应于所述更新事件的节点。
可选的,所述根据所述更新事件更新第一节点,包括以下至少一项:
响应于所述更新事件为删除事件,删除所述第一节点;
响应于所述更新事件为写入关闭事件,根据所述更新事件更新所述第一节点;
响应于所述更新事件为创建事件,在所述第一节点集合中创建对应于所述更新事件的节点。
可选的,所述第一原始路径用于表征源服务器中发生内容更新的路径项,所述方法还包括根据所述缓存路径获取第一路径项,所述第一路径项为所述缓存路径在所述缓存文件系统中对应的路径项;
所述方法还包括以下至少一项:
删除所述第一路径项;
将所述第一路径项标记为已删除状态;
根据所述第一原始路径获取第二路径项,并根据所述第二路径项更新所述第一路径项,所述第二路径项为源服务器中发生内容更新的路径项。
本说明书第二方面提供一种缓存路径获取装置,所述装置包括:
请求接收模块,用于接收指示从缓存文件系统中获取缓存路径的请求;
节点确定模块,用于根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
缓存路径获取模块,用于根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
可选的,所述第一节点集合包含树状结构,所述树状结构的根节点包含域名,所述树状结构包含所述域名对应的子树状结构,所述子树状结构中的节点指示所述缓存文件系统中的路径项。
可选的,所述第一节点集合中的节点包含所述节点对应的原始路径和所述原始路径对应的散列值,所述散列值指示所述第一原始路径对应的缓存路径;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,用于:
根据所述目标节点中包含的所述第一原始路径对应的散列值计算所述第一原始路径对应的缓存路径。
可选的,所述第一节点集合中的节点包含链接文件,所述链接文件指示所述第一原始路径对应的缓存路径项;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,用于:
根据所述目标节点中包含的链接文件指示的路径项获取所述第一原始路径对应的缓存路径。
可选的,所述装置还包括:
监听模块,监听所述缓存文件系统的更新事件;
第一更新模块,根据所述更新事件更新第一节点,所述第一节点为所述第一节点集合中对应于所述更新事件的节点。
可选的,所述根据所述更新事件更新第一节点,用于以下至少一项:
响应于所述更新事件为删除事件,删除所述第一节点;
响应于所述更新事件为写入关闭事件,根据所述更新事件更新所述第一节点;
响应于所述更新事件为创建事件,在所述第一节点集合中创建对应于所述更新事件的节点。
可选的,所述第一原始路径用于表征源服务器中发生内容更新的路径项,所述方法还包括根据所述缓存路径获取第一路径项,所述第一路径项为所述缓存路径在所述缓存文件系统中对应的路径项;
所述装置还包括以下至少一项:
删除模块,用于删除所述第一路径项;
删除标记模块,用于将所述第一路径项标记为已删除状态;
缓存更新模块,用于根据所述第一原始路径获取第二路径项,并根据所述第二路径项更新所述第一路径项,所述第二路径项为源服务器中发生内容更新的路径项。
本说明书第三方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如第一方面所述的方法。
本说明书第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,执行方法的进程接收指示从缓存文件系统中获取缓存路径的请求并根据所述第一原始路径在第一节点集合的节点中确定与所述缓存文件系统中的路径项存在对应关系的目标节点,继而根据所述目标节点指示的路径项便能够直接获取所述缓存文件系统中对应于所述第一原始路径的缓存路径,不需遍历整个缓存文件系统,因此提升了缓存路径获取效率,同时减少了服务器I/O资源使用,提高了服务器访问速度。
此外,本说明书提供的方法的执行独立于缓存系统进程,因此其执行、修改、升级都不需要同时对缓存系统进行适应性更改,相应的,当缓存系统升级时,亦不影响本说明书提供的方法的执行,同时,当本说明书提供的方法执行出错时,不影响缓存系统进程正常提供服务,因此本说明书提供的实施例具有容错性高、适用性强、易于维护等优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是一示例性实施例提供的缓存路径获取方法的应用环境示意图。
图2是一示例性实施例提供的一种缓存路径获取方法的流程图。
图3是一示例性实施例提供的一种第一节点集合的框图。
图4是一示例性实施例提供的一种节点更新方法的流程图。
图5是一示例性实施例提供的另一种第一节点集合的示意图。
图6是一示例性实施例提供的一种缓存路径获取装置的框图。
图7是一示例性实施例提供的一种缓存路径获取装置所在的计算机设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
CDN网络的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN网络能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上(通常将该服务节点称为边缘节点)。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
为了保证边缘节点返回给用户的资源的时效性、避免将已经发生更新的资源返回给用户,当网页上的资源发生更新时,就需要根据发生更新的资源的原始路径来获取所述原始路径对应的缓存路径并更新该缓存路径下的缓存文件。
目前CDN网络服务节点中广泛采用Nginx资源缓存机制,这种机制能够使用固定层数路径来实现资源的缓存,减少缓存文件系统I/O(Input/Output,输入/输出)次数,但当原始路径对应于一个拥有很多资源的文件夹或对应于一个拥有许多分片的资源时,由于文件夹中的每一个资源及资源的每一个分片通常对应于不同的缓存路径,因此缓存文件系统无法根据原始路径直接获取该原始路径对应的缓存路径。
在相关技术中,当缓存文件系统无法根据原始路径直接计算出该原始路径所对应的散列值时,通常需要遍历整个缓存文件系统、通过逐个读取缓存文件系统中包含的文件头并将文件头内容与原始路径进行比对的方式来获取原始路径对应的缓存路径,这种方法效率很低,同时需要占用大量服务器I/O资源,造成服务器繁忙,导致服务器访问速度降低。
有鉴于此,本说明书提供一种缓存路径获取方法、装置、计算机设备及存储介质。本说明书提供的缓存路径获取方法可以应用于具有缓存机制的电子设备,用作缓存文件系统的缓存路径获取,在无需对缓存文件系统本身进行代码更改的前提下,能够提升缓存路径获取效率,同时减少服务器I/O资源使用,提高服务器访问速度。
接下来对本说明书涉及到的部分概念进行解释。
缓存文件系统,即用于缓存文件的文件系统,其可以为内容分发网络节点服务器缓存系统、分布式文件系统的缓存系统或网页浏览器缓存系统等。应当理解,本说明书涉及的缓存文件系统可以运行于同时具备相关功能模块的单台设备上,即实施例所需的功能模块均内置于该设备中。或者,该缓存文件系统可以运行于具备部分功能模块的单台设备与外置的其他功能模块或具备其他功能模块的其他设备组合而成的设备上。此外,该缓存文件系统可以为一个完整的软件及数据库组成的虚拟装置,也可以为一个软件层面的虚拟装置的一个功能模块。本说明书并不限制缓存文件系统的实际构成形式及运行状态。
源服务器,是指存储和提供特定资源(如文件、数据、网页等)的原始服务器,它是资源的初始来源,负责存储和管理资源的完整副本或源文件,同时通常也是用户客户端发出请求的初始目标地址。源服务器可以为数据库服务器、网站服务器等。同样的,本说明书并不限制源服务器的实际构成形式及运行状态。
为了更好理解本说明书实施例提供的缓存路径获取方法、装置、计算机设备及存储介质,下面对适用于本说明书实施例的应用环境进行描述。请参见图1,图1示出了本说明书一示例性实施例提供的缓存路径获取方法的一种应用环境。作为一种实施方式,该缓存路径获取方法可以应用于设置有缓存机制的服务器,该服务器例如可以是设置于图1所示的CDN网络中的边缘节点14,并且源服务器11、边缘节点14、客户端13均连接在网络12中。其中,边缘节点14位于网络的边缘位置,靠近最终用户,用于存储、缓存和传输内容。当客户端13向内容分发网络的边缘节点14请求资源时,边缘节点可以直接将该请求所对应的缓存的资源返回给用户,而无需向源服务器发送请求以获取资源。在这一步骤中,如果边缘节点14没有缓存该请求对应的资源数据,边缘节点14就会向上级设备(如源服务器11或内容分发网络中更加上层的节点服务器)获取该资源数据。
接下来对本说明书实施例进行详细说明。
第一方面,提供一种缓存路径获取方法,如图2所示,是一示例性实施例提供的一种方法的流程图,包括以下步骤:
S201,接收指示从缓存文件系统中获取缓存路径的请求;
所述指示从缓存文件系统中获取缓存路径的请求具体为,具有从缓存文件系统中获取缓存路径的需求、同时指示所需获取缓存路径的原始路径的请求。该请求可以为网络请求,也可以为本地请求。
S202,根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
所述方法由具有缓存机制的电子设备执行。在上述步骤中,原始路径作为上述调用行为的参数,表征了源服务器中某个需要获取缓存路径的路径项,具体而言,可以为包含了资源在源服务器中的完整路径的字符串或链表结构。
第一节点集合为预先根据缓存文件系统建立的包含与缓存文件系统中的路径项对应的节点的节点集合,可以为内存中存在的数据结构,也可以为持久化存储介质中存在的文件系统。对于第一节点集合为一个内存中存在的数据结构的可选方案,所述第一节点集合可以为数组、二叉树、链表结构等;对于第一节点集合为持久化存储介质中存在的文件系统的可选方案,所述第一节点集合可以为一个完整的文件系统,也可以为一个文件系统的一部分,其中,文件系统中的一个路径项即为一个节点。
对于步骤中所述的第一节点集合为预先根据缓存文件所建立,在一种可选方案中,可以预先遍历或部分遍历缓存文件系统,为缓存文件系统中的所有或部分路径项建立节点并添加进第一节点集合中;在另一种可选方案中,可以预先监听缓存文件系统的更新事件,在缓存文件系统发生更新事件后,为发生更新事件的路径项建立节点并添加进第一节点集合中。
优选的,可以在执行方法的进程初次启动时,检查缓存文件系统是否为空,若缓存文件系统不为空,可以遍历缓存文件系统中的缓存文件,为缓存文件系统中的缓存文件在第一节点集合中创建对应的节点,以使第一节点集合能够覆盖缓存文件系统中的文件,在方法的后续执行过程中,若第一节点集合中不存在第一原始路径对应的目标节点,即可认为缓存文件系统中不存在对应的缓存文件,从而对本次请求进行相应的处理,例如抛弃请求或返回一个表征缓存文件不存在的返回信息。
应当理解的是,当缓存文件系统中并不包含缓存文件时,可以不根据所述缓存文件系统创建第一节点集合,此时等效为第一节点集合覆盖了缓存文件系统中的缓存文件,因此同样符合上述优选处理方案。
对于步骤中所述的节点与缓存文件系统中的路径项对应,在一种可选方案中,可以在节点中记录缓存文件系统的路径项对应的缓存路径;在另一种可选方案中,可以在节点中记录缓存文件系统的路径项对应的散列值,在这种可选方案中,缓存文件系统是根据缓存文件对应的原始路径使用固定的散列算法得到散列值后将资源缓存到所述散列值对应的缓存路径下的,因此仅在节点中记录缓存文件系统的路径项对应的散列值即可通过该散列值实现节点与缓存文件系统中的路径项的对应关系。
此外,第一节点集合中的节点可以记录有该节点在缓存文件系统中对应的路径项所对应的原始路径,或记录有能得到这一原始路径的其他信息,以便能够使用原始路径在第一节点集合中找到所述原始路径对应的目标节点。通常情况下,缓存文件系统中的缓存文件会记录有该缓存文件对应的原始路径信息,因此在根据缓存文件系统建立第一节点集合时,将所述原始路径信息添加至第一节点集合中即可。
应当理解的是,所述原始路径对应的目标节点应当包括对应于所述原始路径下的所有路径项的节点,例如,当原始路径指示源服务器中的一个文件夹时,所述原始路径对应的目标节点应当包括对应于该文件夹下的所有路径项的节点;当原始路径指示源服务器中的一个文件时,所述原始路径对应的目标节点应当包括该文件的每一分片(这些分片都拥有相同的文件名)分别对应的节点。因此,当第一原始路径对应于一个拥有很多资源的文件夹或拥有很多分片的资源时,可以将这些资源或资源的分片所对应的节点全部获取到,并在后续步骤中根据这些节点指示的路径项直接获取这些资源或资源的分片分别对应的缓存路径,解决了相关技术中,面对一个对应于一个拥有很多资源的文件夹或拥有很多分片的资源的原始路径时,需要遍历整个缓存文件系统,从而导致的效率低下问题。
S203,根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
在本说明书提供的实施例中,路径项的含义是文件系统的一个路径层级中所包含的任意项,换言之,路径项是文件及文件夹的合称。但由于在本说明书实施例中,缓存文件系统中包含的文件夹通常并不具有实际意义,其通常目的是将缓存文件存放在不同的缓存路径中以方便索引,而缓存文件系统中的文件则通常对应于源服务器中的一个真实资源,因此,优选的,应当仅根据缓存文件系统中的文件来建立第一节点集合,以便缩减第一节点集合中的无效数据。在上述步骤中,由于目标节点指示的路径项为缓存文件系统中的路径项,因此根据这一路径项可以直接获取这一路径项所对应的缓存路径,即第一原始路径对应的缓存路径。
在本说明书实施例中,根据缓存文件系统的具体缓存机制不同,第一原始路径的格式也可以不同,本说明书并不对此进行限制。此外,本说明书并不限定第一原始路径的具体粒度,例如,第一原始路径可以包含源服务器中的一个资源的完整域名、路径、文件名,也可以仅包含源服务器中的一个资源所在的文件夹,或者可以仅包含源服务器中的一个资源的域名、路径及文件名的一部分,根据第一原始路径的粒度不同,本实施例提供的方法所获得的缓存路径数量也不同,当第一原始路径的粒度较大时(即精细度小),本实施例提供的方法可能获得更多的缓存路径,不影响本实施例实现其原本的效果。
在本说明书实施例中,执行方法的进程接收指示从缓存文件系统中获取缓存路径的请求并根据所述第一原始路径在第一节点集合的节点中确定与所述缓存文件系统中的路径项存在对应关系的目标节点,继而根据所述目标节点指示的路径项便能够直接获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。所述方法的执行不需遍历整个缓存文件系统,因此提升了缓存路径获取效率,同时减少了所述方法应用的电子设备的I/O资源使用,当所述电子设备为服务器时,能够提高服务器访问速度。
此外,本说明书提供的方法的执行独立于缓存系统进程,第一节点集合的建立、存储及节点的获取均独立于缓存文件系统之外,因此其执行、修改、升级都不需要同时对缓存系统进行适应性更改,相应的,当缓存系统升级时,亦不影响本说明书提供的方法的执行。同时,当本说明书提供的方法执行出错时,不影响缓存系统进程正常提供服务,因此本说明书提供的实施例具有容错性高、适用性强、易于维护等优点。
本说明书的一些实施例中,所述第一节点集合包含树状结构,所述树状结构的根节点包含域名,所述树状结构包含所述域名对应的子树状结构,所述子树状结构中的节点指示所述缓存文件系统中的路径项。
第一节点集合包含树状结构,具体而言,可以使用二叉树或链表等数据结构来实现第一节点集合。请参见图3,是一示例性实施例提供的一种第一节点集合的框图,其中,根节点310包含域名,根节点310包含节点321和节点322,节点321包含节点330,节点322包含节点341和节点342,节点341包含节点350。在本说明书实施例中,可以使节点321、节点322、节点330、节点341、节点342、节点350连同根节点310共同构成根节点310所包含的域名所对应的子树状结构,即上述节点及其层级结构对应于所述域名对应的源服务器的文件系统的树状结构。应当理解的是,本说明书并不限定子树状结构在第一节点集合中的具体存在形式及子树状结构的具体构成形式,可以仅使第一节点集合中的部分节点对应于所述子数据结构,也可以使子树状结构仅包含所述域名下的部分文件结构。关于所述子树状结构中的节点指示所述缓存文件系统中的路径项的相关细节已在前述实施例中阐明,在此不再赘述。
此外,当缓存文件系统中的路径项对应于多个域名时,优选的,可以建立一张以域名及拥有包含该域名的根节点的树状结构为键值对的哈希表,通过使用第一原始路径中包含的域名便可以快速找到该域名对应的树状结构。在上述优选方案中,根据实际情况的不同,可能存在多个,相应的,在根据第一原始路径在第一节点集合的节点中确定目标节点的步骤中,可以先根据第一原始路径确定第一原始路径对应的树状结构,然后根据第一原始路径在确定出的树状结构中确定目标节点,其具体方案可以根据实际情况自行设置。
在一些实施例中,第一节点集合包含拥有包含域名的根节点的树状结构,其中,树状结构是一种具有层次的结构,一个父节点可以拥有多个子节点,一个子节点仅对应于一个父节点。由于文件系统通常采用树状结构来组织文件间的层级关系,因此,优选的,可以根据源服务器中的文件系统的树状结构来组织第一节点集合中包含的对应于这一源服务器域名的子树状结构,使第一节点集合更好的对应于源服务器中的文件系统结构,在这种方案中,由于第一原始路径通常即是源服务器中的文件系统结构,因此可以使用较少的索引次数找到第一原始路径在第一节点集合中对应的目标节点,提升了根据第一原始路径在第一节点集合的节点中确定目标节点的步骤的执行速度,继而进一步提升了缓存路径获取效率。
在本说明书的一些实施例中,所述第一节点集合中的节点包含节点对应的原始路径和原始路径对应的散列值,所述散列值指示所述第一原始路径对应的缓存路径;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的所述第一原始路径对应的散列值计算所述第一原始路径对应的缓存路径。
CDN节点的资源缓存机制通常是使用MD5消息摘要算法等散列函数计算网页域名和资源路径的组合字符串组成的原始路径得到散列值后,将资源缓存到该散列值对应的缓存路径下,以便能够通过固定的I/O次数找到缓存文件,避免缓存文件路径过深导致的频繁I/O操作。因此,可以在第一节点集合的节点中记录该节点对应的原始路径及该原始路径对应的散列值,根据这一散列值即可得到原始路径对应的缓存路径。本实施例对应于前述实施例中所述的在节点中记录缓存文件系统的路径项对应的散列值的可选方案,通过在节点中记录原始路径及原始路径的散列值,当缓存文件系统的缓存策略改变时(例如由两层目录改为三层目录),只要缓存路径依然为根据原始路径的散列值所确定,就无需对第一节点集合进行相应的更新,仅需简单改动根据获取到的散列值计算第一原始路径对应的缓存路径的相关逻辑即可,提升了所述方法的适应性和灵活性。
在本说明书的一些实施例中,所述第一节点集合中的节点包含链接文件,所述链接文件指示所述第一原始路径对应的缓存路径项;
所述链接文件为指向其他路径项的文件,优选的,可以为Linux系统中的软链接或Windows系统中的快捷方式。具体而言,第一节点集合可以为某一文件系统中的一种文件结构,所述文件结构的每一路径项即为一个节点,其中,这一文件结构的一些路径项为链接文件。
对于在源服务器上拥有相同文件名的资源(例如一个资源在缓存文件系统中的不同分片),为了避免冲突,优选的,可以为每一分片分配相同的文件名用以索引、不同的后缀名用以区分。例如,若源服务器上拥有“aaa.bbb”这一资源,在缓存文件系统缓存这一资源时,将该资源分为了两个分片进行缓存,则可以分别创建“aaa.bbb.001”和“aaa.bbb.002”两个链接文件并分别指向两个不同的分片,在方法的执行过程中,上述两个链接文件都可以作为目标节点并用于获取“aaa.bbb”这一资源对应的缓存路径(即这一资源的对应分片的缓存路径)。
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的链接文件指示的路径项获取所述第一原始路径对应的缓存路径。
上述方案对应于第一节点集合为持久化存储介质中存在的文件系统的可选方案,其中优势在于,第一节点集合可以使用操作系统自带的文件系统管理方案来管理,同时,开发工具包也通常配置有用于操作文件系统的封装库,这些管理方案及封装库通常较为易于使用且经过了广泛的实际应用考验,因此,开发人员不需自行编写较为复杂的第一数据结构即可实现本说明书中的实施例,降低了方案的实现难度,提升了方法的可靠性。此外,链接文件存储于持久化的存储设备上,因此即便不对第一节点集合进行持久化操作,当执行方法的电子设备断电或宕机重启时,所述第一节点集合仍然能够正常读取使用,不需重新建立第一节点集合,因此本实施例具有高效率、易于管理和维护、容错性强等优点。
在一些实施例中,由于所述第一节点集合中的节点包含链接文件,这类链接文件可以直接指向缓存文件系统中的缓存文件,因此具有较高的缓存路径获取效率,当第一原始路径用于表征源服务器中发生内容更新的路径项时,本方法也可以更快速地获取该路径项对应的缓存文件并对这一缓存文件进行删除等更新操作。同时,链接文件与其所指向的文件之间的关联关系与缓存文件系统本身的缓存策略无关,因此缓存文件系统的缓存策略改变时,无需对第一节点集合进行相应的更新,提高了方法的灵活性、健壮性和容错性。
在本说明书的一些实施例中,请参见图4,是一示例性实施例提供的一种节点更新方法的流程图,其在如图2所示的实施例的基础上,增加了以下步骤:
S401,监听所述缓存文件系统的更新事件;
当缓存文件系统发生更新事件时,代表有缓存文件已被更新,此时应当同步更新第一节点集合中的相应节点,因此应当监听所述缓存文件系统的更新事件。具体而言,可以对文件系统中的路径文件夹或文件进行广泛的事件监控,包括文件的创建、修改、删除、移动、访问权限变更等,优选的,可以使用异步的文件事件监听技术来实现更新事件的异步监听,从而提高方法的执行效率。
S402,根据所述更新事件更新第一节点,所述第一节点为所述第一节点集合中对应于所述更新事件的节点。
在监听到更新事件后,应当根据所述更新事件更新第一节点,以确保第一节点集合和缓存文件系统中的路径项的对应关系。
其中,在一种可选的更新方式中,所述根据所述更新事件更新第一节点包括,响应于所述更新事件为删除事件,删除所述第一节点;
在这一更新方式中,由于执行本方法的进程监听到删除事件时,缓存文件系统中对应于所述删除事件的缓存文件已经删除,因此可能无法读取这一缓存文件的文件头来获取这一缓存文件对应第一节点,只能获知这一文件的缓存路径。此时,可以遍历第一数据结构中的节点来获知第一节点,或通过另外一张预设的存储有缓存路径及该缓存路径对应的原始路径的对应关系的哈希表来获知第一节点。
在另一种可选的更新方式中,所述根据所述更新事件更新第一节点包括,响应于所述更新事件为写入关闭事件,根据所述更新事件更新所述第一节点;
在这一更新方式中,由于文件的创建通常伴随着写入关闭事件,换言之,当文件被写入内容并关闭后,文件的完整创建过程才结束,因此在实际操作中,优选的,可以以写入关闭事件代替创建事件,并将所述更新第一节点的方式配置为创建发生写入关闭事件的路径项对应的节点并将该路径项所包含的相应信息记录进所述节点。
在又一种可选的更新方式中,所述根据所述更新事件更新第一节点包括,响应于所述更新事件为创建事件,在所述第一节点集合中创建对应于所述更新事件的节点。
本实施例提供了第一节点集合与缓存文件系统的同步更新方法,对应于前述实施例中预先监听缓存文件系统的更新事件的可选方案,通过监听缓存文件系统中的更新事件的方式,根据所述更新事件及时更新第一节点集合中对应于所述更新事件的节点,确保了第一节点集合中的数据与缓存文件系统的同步性,提升了本方法的可用性及可靠性。
此外,当在监听到更新事件后的短时间内去读取更新事件对应的文件的信息时,文件的路径信息及内容通常都还留在操作系统的内存缓存页中,此时读取不会产生真正的磁盘I/O,因此本步骤的执行具有较高的性能。同时,本方法对于缓存文件的I/O操作通常为读取,不存在频繁的写入、删除操作,所以不会带来很多的额外I/O开销,具有较高的执行效率。
在本说明书的一些实施例中,所述第一原始路径用于表征源服务器中发生内容更新的路径项,所述方法还包括根据所述缓存路径获取第一路径项,所述第一路径项为所述缓存路径在所述缓存文件系统中对应的路径项;
所述方法还包括以下可选方案中的至少一项:
删除所述第一路径项;
将所述第一路径项标记为已删除状态;
上述两种可选方案都相当于删除了第一路径项,便于缓存文件系统再次接收到有关第一路径项的请求时,可以判定缓存文件系统中不存在该请求所对应的缓存资源,进而向源服务器发送请求以获取更新后的资源并进行缓存,实现缓存资源的按需加载。
根据所述第一原始路径获取第二路径项,并根据所述第二路径项更新所述第一路径项,所述第二路径项为源服务器中发生内容更新的路径项。
在这种可选方案中,缓存文件系统直接根据第一路径项向源服务器发出请求以获取更新后的资源(即第二路径项),并根据更新后的资源更新第一路径项,实现缓存资源的即时加载。
应当理解的是,当本方案获取了多于一个缓存路径时,应当根据获取的每一缓存路径分别获取该缓存路径在所述缓存文件系统中对应的路径项并包括上述可选方案中的至少一项。
在本说明书实施例中,当网页上的资源发生更新时,根据发生更新的资源的原始路径来按需加载或即时加载所述原始路径对应的缓存路径下的缓存文件,保证了缓存文件系统返回给用户的资源的时效性、避免将已经发生更新的资源返回给用户。并且无论缓存文件系统能否根据原始路径直接得出该原始路径所对应的缓存路径,所述方法均不需遍历整个缓存文件系统即可更新,有关于此的有益效果及其他相关内容请参看前述实施例的相关部分,在此不再赘述。
为了更好地理解本说明书实施例提供的缓存路径获取方法,下面以所述接收的请求中的第一原始路径为“www.xxx.com/d2/d5/f10”为例,对本说明书中的实施例进行描述。
在本说明书的一些实施例中,请参见图5,是一些实施例提供的另一种第一节点集合的示意图,其中,键501为哈希表中包含“www.xxx.com”这一域名的键,节点502为包含“www.xxx.com”这一域名的节点,同时节点502也是该域名对应的树状结构的根节点,节点502及图5中示出的对应于文件夹的节点、对应于文件的节点共同组成第一节点集合。
当所述节点服务器第一次接收到指示所述例子中的第一原始路径的请求时,由于该节点服务器的缓存文件系统没有缓存该请求对应的资源,该节点服务器就会向上级设备(如源服务器或内容分发网络中更加上层的节点服务器)获取该资源,将该资源返回给所述请求的同时将该资源进行缓存。例如,所述缓存文件系统的缓存方案是使用MD5算法计算出前述第一原始路径对应的散列值“2E5B913A8638D9FF234035C58E3B96DD”后,根据散列值的最后两位作为第一层目录、倒数第三位作为第二层目录,将该资源缓存到缓存文件系统中的“DD/6/2E5B913A8638D9FF234035C58E3B96DD”缓存文件中,那么在该资源被缓存(即将这一资源写入缓存文件系统中)时,由于本方法监听了所述缓存文件系统的更新事件(例如监听写入关闭事件),本方法便能够接收到一个对应于上述路径的写入关闭事件,此时便可以根据这一更新事件读取“DD/6/ 2E5B913A8638D9FF234035C58E3B96DD”这一缓存路径以获知这一缓存文件对应的原始路径,在第一节点集合中的“d2/d5”节点下,添加包含“f10”和“2E5B913A8638D9FF234035C58E3B96DD”的节点(即节点中包含原始路径和所述原始路径对应的散列值)。
当“www.xxx.com”域名对应的源服务器删除“d5”这一路径项时,所述节点服务器便需要同步删除“d5”这一路径项所对应的所有缓存文件,此时,由于“www.xxx.com/d2/d5/f10”和“www.xxx.com/d2/d5”计算得出的散列值并不相同,因此缓存文件系统无法根据“www.xxx.com/d2/d5”这一原始路径得到“DD/6/2E5B913A8638D9FF234035C58E3B96DD”这一缓存路径。此时,有别于相关技术中遍历缓存文件系统以获取缓存路径的做法,本说明书提供的缓存路径获取方法接收指示从缓存文件系统中获取缓存路径的请求后,根据“www.xxx.com/d2/d5”这一第一原始路径在图5所示的哈希表中找到节点502,并根据所述第一原始路径在以节点502作为根节点的树状结构中,找到“d2/d5”这一节点,然后读取“d2/d5”这一节点下的节点信息(即目标节点f10)便能够获取“2E5B913A8638D9FF234035C58E3B96DD”这一散列值并获取“DD/6/ 2E5B913A8638D9FF234035C58E3B96DD”这一缓存路径。因此,本方法提升了缓存路径获取效率,同时减少了服务器I/O资源使用,提高了服务器访问速度。此外,本说明书提供的方法的执行独立于缓存系统进程,其相关优势已在前述实施例中阐明,在此不再赘述。
与前述方法的实施例相对应,本说明书还提供了装置及其所应用的终端的实施例。
第二方面,提供一种缓存路径获取装置,请参见图6,是一示例性实施例提供的一种缓存路径获取装置的框图,所述装置包括:
请求接收模块601,用于接收指示从缓存文件系统中获取缓存路径的请求;
节点确定模块602,用于根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
缓存路径获取模块603,用于根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
可选的,所述第一节点集合包含树状结构,所述树状结构的根节点包含域名,所述树状结构包含所述域名对应的子树状结构,所述子树状结构中的节点指示所述缓存文件系统中的路径项。
可选的,所述第一节点集合中的节点包含所述节点对应的原始路径和所述原始路径对应的散列值,所述散列值指示所述第一原始路径对应的缓存路径;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,用于:
根据所述目标节点中包含的所述第一原始路径对应的散列值计算所述第一原始路径对应的缓存路径。
可选的,所述第一节点集合中的节点包含链接文件,所述链接文件指示所述第一原始路径对应的缓存路径项;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,用于:
根据所述目标节点中包含的链接文件指示的路径项获取所述第一原始路径对应的缓存路径。
可选的,所述装置还包括:
监听模块,监听所述缓存文件系统的更新事件;
第一更新模块,根据所述更新事件更新第一节点,所述第一节点为所述第一节点集合中对应于所述更新事件的节点。
可选的,所述根据所述更新事件更新第一节点,用于以下至少一项:
响应于所述更新事件为删除事件,删除所述第一节点;
响应于所述更新事件为写入关闭事件,根据所述更新事件更新所述第一节点;
响应于所述更新事件为创建事件,在所述第一节点集合中创建对应于所述更新事件的节点。
可选的,响应于所述第一节点集合中不包含所述第一原始路径对应的目标节点,所述装置还包括:
计算模块,用于计算所述第一原始路径对应的散列值,并根据所述散列值得到所述第一原始路径对应的缓存路径;
和/或,遍历匹配模块,用于遍历所述缓存文件系统的路径项,将所述路径项指示的原始路径与所述第一原始路径进行比对以获取所述第一原始路径对应的缓存路径。
可选的,所述第一原始路径用于表征源服务器中发生内容更新的路径项,所述方法还包括根据所述缓存路径获取第一路径项,所述第一路径项为所述缓存路径在所述缓存文件系统中对应的路径项;
所述装置还包括以下至少一项:
删除模块,用于删除所述第一路径项;
删除标记模块,用于将所述第一路径项标记为已删除状态;
缓存更新模块,用于根据所述第一原始路径获取第二路径项,并根据所述第二路径项更新所述第一路径项,所述第二路径项为源服务器中发生内容更新的路径项。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书缓存路径获取装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,是一示例性实施例提供的一种缓存路径获取装置所在的计算机设备的硬件结构图,除了图7所示的处理器710、内存730、网络接口720、以及非易失性存储器740之外,实施例中缓存路径获取装置731所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
本说明书还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书提供的缓存路径获取方法。
具体的,适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种缓存路径获取方法,其特征在于,所述方法包括:
接收指示从缓存文件系统中获取缓存路径的请求;
根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
2.根据权利要求1所述的缓存路径获取方法,其特征在于,所述第一节点集合包含树状结构,所述树状结构的根节点包含域名,所述树状结构包含所述域名对应的子树状结构,所述子树状结构中的节点指示所述缓存文件系统中的路径项。
3.根据权利要求1所述的缓存路径获取方法,其特征在于,所述第一节点集合中的节点包含所述节点对应的原始路径和所述原始路径对应的散列值,所述散列值指示所述第一原始路径对应的缓存路径;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的所述第一原始路径对应的散列值计算所述第一原始路径对应的缓存路径。
4.根据权利要求1所述的缓存路径获取方法,其特征在于,所述第一节点集合中的节点包含链接文件,所述链接文件指示所述第一原始路径对应的缓存路径项;
所述根据所述目标节点指示的路径项获取所述缓存文件系统中所述第一原始路径对应的缓存路径,包括:
根据所述目标节点中包含的链接文件指示的路径项获取所述第一原始路径对应的缓存路径。
5.根据权利要求1所述的缓存路径获取方法,其特征在于,所述方法还包括:
监听所述缓存文件系统的更新事件;
根据所述更新事件更新第一节点,所述第一节点为所述第一节点集合中对应于所述更新事件的节点。
6.根据权利要求5所述的缓存路径获取方法,其特征在于,所述根据所述更新事件更新第一节点,包括以下至少一项:
响应于所述更新事件为删除事件,删除所述第一节点;
响应于所述更新事件为写入关闭事件,根据所述更新事件更新所述第一节点;
响应于所述更新事件为创建事件,在所述第一节点集合中创建对应于所述更新事件的节点。
7.根据权利要求1所述的缓存路径获取方法,其特征在于,所述第一原始路径用于表征源服务器中发生内容更新的路径项,所述方法还包括根据所述缓存路径获取第一路径项,所述第一路径项为所述缓存路径在所述缓存文件系统中对应的路径项;
所述方法还包括以下至少一项:
删除所述第一路径项;
将所述第一路径项标记为已删除状态;
根据所述第一原始路径获取第二路径项,并根据所述第二路径项更新所述第一路径项,所述第二路径项为源服务器中发生内容更新的路径项。
8.一种缓存路径获取装置,其特征在于,所述装置包括:
请求接收模块,用于接收指示从缓存文件系统中获取缓存路径的请求;
节点确定模块,用于根据第一原始路径在第一节点集合的节点中确定目标节点,所述第一原始路径为所述请求所指示的原始路径,所述第一节点集合是预先根据所述缓存文件系统建立的,所述第一节点集合中的节点与所述缓存文件系统中的路径项对应;
缓存路径获取模块,用于根据所述目标节点指示的路径项获取所述缓存文件系统中对应于所述第一原始路径的缓存路径。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311302143.3A CN117061615B (zh) | 2023-10-09 | 2023-10-09 | 缓存路径获取方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311302143.3A CN117061615B (zh) | 2023-10-09 | 2023-10-09 | 缓存路径获取方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117061615A true CN117061615A (zh) | 2023-11-14 |
CN117061615B CN117061615B (zh) | 2024-01-16 |
Family
ID=88661179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311302143.3A Active CN117061615B (zh) | 2023-10-09 | 2023-10-09 | 缓存路径获取方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061615B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435829A (zh) * | 2023-12-21 | 2024-01-23 | 杭州优云科技有限公司 | 一种目录预热方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106255A1 (en) * | 2001-01-11 | 2009-04-23 | Attune Systems, Inc. | File Aggregation in a Switched File System |
CN110958279A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
US20200334358A1 (en) * | 2019-04-19 | 2020-10-22 | Hon Hai Precision Industry Co., Ltd. | Method for detecting computer virus, computing device, and storage medium |
CN114442937A (zh) * | 2021-12-31 | 2022-05-06 | 北京云宽志业网络技术有限公司 | 文件缓存方法、装置、计算机设备及存储介质 |
WO2023036005A1 (zh) * | 2021-09-08 | 2023-03-16 | 华为技术有限公司 | 信息处理方法及装置 |
CN116208676A (zh) * | 2023-01-05 | 2023-06-02 | 上海一谈网络科技有限公司 | 数据回源方法、装置、计算机设备、存储介质和程序产品 |
CN116383546A (zh) * | 2023-06-06 | 2023-07-04 | 深圳思谋信息科技有限公司 | 文件处理方法、系统、计算机设备及计算机可读存储介质 |
-
2023
- 2023-10-09 CN CN202311302143.3A patent/CN117061615B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106255A1 (en) * | 2001-01-11 | 2009-04-23 | Attune Systems, Inc. | File Aggregation in a Switched File System |
CN110958279A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
US20200334358A1 (en) * | 2019-04-19 | 2020-10-22 | Hon Hai Precision Industry Co., Ltd. | Method for detecting computer virus, computing device, and storage medium |
WO2023036005A1 (zh) * | 2021-09-08 | 2023-03-16 | 华为技术有限公司 | 信息处理方法及装置 |
CN114442937A (zh) * | 2021-12-31 | 2022-05-06 | 北京云宽志业网络技术有限公司 | 文件缓存方法、装置、计算机设备及存储介质 |
CN116208676A (zh) * | 2023-01-05 | 2023-06-02 | 上海一谈网络科技有限公司 | 数据回源方法、装置、计算机设备、存储介质和程序产品 |
CN116383546A (zh) * | 2023-06-06 | 2023-07-04 | 深圳思谋信息科技有限公司 | 文件处理方法、系统、计算机设备及计算机可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117435829A (zh) * | 2023-12-21 | 2024-01-23 | 杭州优云科技有限公司 | 一种目录预热方法及装置 |
CN117435829B (zh) * | 2023-12-21 | 2024-03-22 | 杭州优云科技有限公司 | 一种目录预热方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117061615B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647097B2 (en) | Providing access to managed content | |
US10909110B1 (en) | Data retrieval from a distributed data storage system | |
JP5632010B2 (ja) | ブロブとしての仮想ハードドライブ管理 | |
US8745063B2 (en) | Hashing with hardware-based reorder using duplicate values | |
US8959075B2 (en) | Systems for storing data streams in a distributed environment | |
US10223021B2 (en) | Handling failure of a command to add a record to a log | |
US7165083B2 (en) | File management method in a distributed storage system | |
CN117061615B (zh) | 缓存路径获取方法、装置、计算机设备及存储介质 | |
CN113360456B (zh) | 数据归档方法、装置、设备以及存储介质 | |
CN112839076B (zh) | 数据存储、读取方法、网关、电子设备及存储介质 | |
US11080239B2 (en) | Key value store using generation markers | |
CN111435286A (zh) | 一种数据存储方法、装置和系统 | |
CN113535199A (zh) | 基于WebApp的网站更新方法、系统和存储介质 | |
WO2023142605A1 (zh) | 一种基于区块链的数据处理方法和相关装置 | |
US20030145199A1 (en) | Data pool with validity detection | |
CN114866571A (zh) | 一种企业资源库系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310053 room 611-612, Zhuoxin building, No. 3820, South Ring Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Youyun Technology Co.,Ltd. Country or region after: China Address before: 310053 room 611-612, Zhuoxin building, No. 3820, South Ring Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: Hangzhou Youyun Technology Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |