CN104243425B - 一种在内容分发网络中进行内容管理的方法、装置及*** - Google Patents
一种在内容分发网络中进行内容管理的方法、装置及*** Download PDFInfo
- Publication number
- CN104243425B CN104243425B CN201310244635.1A CN201310244635A CN104243425B CN 104243425 B CN104243425 B CN 104243425B CN 201310244635 A CN201310244635 A CN 201310244635A CN 104243425 B CN104243425 B CN 104243425B
- Authority
- CN
- China
- Prior art keywords
- file
- distributing network
- content management
- directory
- carrying
- 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.)
- Active
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种在内容分发网络中进行内容管理的方法及装置,上述方法包括:监测边缘节点的已用存储空间是否超出预定的阈值,若是则执行以下步骤:从一个索引***处获取需保护文件的集合U1;对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;获取待删除文件的集合U2=U0‑U1;以及从该边缘节点内删除U2内的每个文件。根据上述的方法及装置,在内容分发网络中进行内容管理具有硬件开销低、速度快,且不影响服务可用率、不引起服务质量下降的优点。
Description
技术领域
本发明涉及内容分发网络(Content Delivery Network,CDN),特别涉及一种在内容分发网络中进行内容管理的方法、装置及***。
背景技术
内容分发网络的目的是通过在现有的互联网中增加一层新的网络架构,将热点资源或用户所需的资源分发到最接近用户的边缘节点上,使用户可以就近取得所需的内容,解决互联网网络拥挤的状况,提高用户访问资源的响应速度。
图1所示为一个典型的CDN架构示意图,其中,DC表示数据中心,AC表示区域中心,OC表示边缘节点。当用户请求在距用户网络拓扑距离最近的OC节点命中资源时,由OC直接提供服务;若不命中,则OC节点中的Web服务器返回HTTP302回复,并把用户重定向到DC或AC,这个过程称作一次“回源”。
在一个CDN***中,提高服务质量(Quality of Service,QoS)的一个重要手段就是尽可能降低回源的概率。但是,如果持续不断地把资源分发到CDN边缘节点,那么由于其存储容量有限,一段时间之后必然达到存储容量的极限而导致服务质量下降。另外,随着时间的推移,有些热点数据逐渐变成冷而失去在CDN边缘节点存储的必要。所以就必须维持边缘节点的存储量不能超过一特定阈值,或者在达到某阈值后执行主动淘汰。另外,一些新业务的上线等场景又要求CDN边缘节点具有更强的主动淘汰的能力。
一个最直接的想法是把OC机房(即CDN的边缘节点)里所有文件按最后访问时间排序,或按类似最近最少使用(Least Recently Used,LRU)的规则维护一个所有文件信息的LRU链表,执行淘汰时,删除最后访问时间最早的或访问链表LRU端的一个或若干个文件。
但是,一直维护一个机房所有文件的信息所费内存空间比较大。而前一种方案每有一次用户访问请求都需要付出O(logn)的调整全局数据结构的额外代价;后一种方案虽然是O(1)的,但如若一旦程序意外崩溃或者有特殊需要人为重启,就要付出O(1)的时间来重建LRU链,但此时的LRU链只具有不能表征访问情况的临时信息,且会对淘汰过程产生滞后影响。
为了避免上述方案的开销,一个粗略的替代实现方案是利用文件***中的atime属性。atime表示某文件最后一次被访问的时间戳,如果开启atime,那么只需要遍历文件***中的所有文件,并且在此过程中删除早于一个既定时刻的所有文件即可完成类似于LRU方式的淘汰。然而,而***更新atime所带来的开销却是巨大的。因为***每访问一次某个文件,就要对这个文件更新一个新的atime时间值。这里所说的访问,并不是从用户角度来看的打开一个文件,而是***底层的每一次打开(open)和读取(read)等操作。每对文件进行一次读操作,都要引起一个对磁盘的写操作,即使我们要读的内容已经存在于内存的页缓存(Page Cache)中,还是要对磁盘进行一个写操作。这样引起的开销确实是巨大的,这些写操作会使磁盘更多的处于忙碌状态,这对***性能(因为磁盘在完成一个写操作的时候会暂时阻止其他的写操作)以及电量消耗都是不利的。所以在实际互联网服务***中,atime通常是关闭的。虽然Linux2.6.20和2.6.24两个版本的内核分别针对atime做了一些延迟更新的策略,但其在提供海量文件满足海量并发用户的访问需求的***中所能起到的作用甚微。
所以就需要设计一种开销低、速度快,且不影响服务可用率、不引起服务质量下降的高效淘汰策略。
发明内容
有鉴于此,有必要提供一种在内容分发网络中进行内容管理的方法、装置及***,其硬件开销低、速度快,且不影响服务可用率、不引起服务质量下降。
一种在内容分发网络中进行内容管理的方法,包括:监测边缘节点的已用存储空间是否超出预定的阈值,若是则执行以下步骤:从一个索引***处获取需保护文件的集合U1;对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;获取待删除文件的集合U2=U0-U1;以及从该边缘节点内删除U2内的每个文件。
一种在内容分发网络中进行内容管理的装置,包括:监测模块,用于监测边缘节点的已用存储空间是否超出预定的阈值,若是则调用文件删除模块;该文件删除模块包括:第一获取单元,用于从一个索引***处获取需保护文件的集合U1;目录遍历单元,用于对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;第二获取单元,用于获取待删除文件的集合U2=U0-U1;以及文件删除单元,用于从该边缘节点内删除U2内的每个文件。
一种在内容分发网络中进行内容管理的***,包括:主控服务器及索引服务器;该主控服务器用于监测该内容分发网络的边缘节点的已用存储空间是否超出预定的阈值,若是则从该索引服务器处获取需保护文件的集合U1;对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;获取待删除文件的集合U2=U0-U1;从该边缘节点内删除U2内的每个文件;该索引服务器用于根据请求返回该需保护文件的集合U1。
上述的在内容分发网络中进行内容管理的方法、装置及***具有以下优点:
1.不需要在CDN的边缘节点维护资源的全局索引,更不需要按访问频度等信息来对资源进行排序,保持CDN边缘节点逻辑功能设计的最简单化,减少边缘节点的硬件资源消耗,从而提升边缘节点的运行效率。
2.CDN边缘节点中的每台网络服务器和存储服务器均不需要开启atime,这样防止了每对文件进行一次读操作,都要引起一个对某磁盘块的写操作。不仅降低了不必要的磁盘写,提升了并发服务性能,而且降低了能耗。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1所示为一个典型的CDN架构示意图。
图2为一个视频网站的访问情况示意图。
图3为一个视频网站的访问请求的累积分布函数。
图4为若干影片票房收入和公映时间的关系示意图。
图5至图7分别为三种不同的资源访问模式示意图。
图8为本发明实施例提供的在内容分发网络中进行内容管理的方法及装置的运行环境示意图。
图9为Unix/Linux文件***中文件树的示意图。
图10为索引节点的内容示意图。
图11为目录项的结构示意图。
图12为一个文件相关的i-节点、目录项和数据块的示意图。
图13为文件路径解析过程的示意图。
图14为仅包含两个媒体文件的目录项所在的块的示意图。
图15为一种目录遍历的流程示意图。
图16为图15的目录遍历的部分步骤流程示意图。
图17为另一种目录遍历的流程示意图。
图18为第一实施例提供的在内容分发网络中进行内容管理的方法流程图。
图19为第二实施例提供的在内容分发网络中进行内容管理的方法流程图。
图20为第三实施例提供的在内容分发网络中进行内容管理的方法流程图。
图21为文件删除操作时目录项的变化示意图。
图22为第四实施例提供的在内容分发网络中进行内容管理的方法流程图。
图23至图27分别为全部资源、UGC资源、新闻、音乐、及影视等各类资源的302回源统计示意图。
图28为第五实施例提供的在内容分发网络中进行内容管理的装置的结构框图。
图29为代理服务器的结构框图。
图30为第六实施例提供的在内容分发网络中进行内容管理的***的结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
幂律分布
1999年9月,Barabasi小组在《自然》上发表了一篇通讯(Albert,R.,Jeong,H.andBarabási,A.L.."Diameter of the World-Wide Web."Nature(London)401,no.6749(1999):130.),指出互联网的出度分布和入度分布都与正态分布有很大的不同,而是服从幂律分布。更为重要的是,文中揭示了幂律分布产生的两个机理。不同于ER随机图 ,实际网络具备两个重要特性:第一是增长(Growth)特性,即网络的规模是不断扩大的。第二是优先连接(Preferential attachment)特性,即新的节点更倾向于与那些具有较高连接度的节点相连接,这种现象也成为“富者更富”或者“马太效应(Matthew effect)”。一个月之后,Barabasi小组又在《科学》上发表文章(Albert-László Barabási&Réka Albert(October1999)."Emergence of scaling inrandom networks".Science286(5439):509–512.)指出,包括电影演员网络和电力网络在内的其他许多实际网络的度分布也都服从与泊松分布有很大差异的幂律分布。
中国科学技术大学的汪秉宏等人的实证研究总结出:“通过各种不同的数据收集方法,人们的研究涉及市场交易、网站浏览、电影点播、欣赏网络音乐、手机通讯、在游戏及虚拟社区中的行为、计算机指令的使用行为等,包含了商业行为、娱乐行为、日常使用习惯等众多的人类行为,在这些行为中,都较好地服从幂律分布。”(请参见周涛,肖伟科,任捷,汪秉宏网络集团度的幂律分布复杂***与复杂性科学2007年02期;樊超,郭进利,韩筱璞,汪秉宏人类行为动力学研究综述复杂***与复杂性科学2011年02期)
现以某视频网站为例,统计了某一周时间内该视频网站的一个子***在某城市的媒体文件的访问情况,如图2所示。进一步计算表明,媒体文件的访问请求次数和其排名在双对数坐标下的皮尔逊线性相关系数为0.93,可近似认为其服从分布。
图3为访问请求的累积分布函数,从中可以看出,访问频数排名在前20%的媒体文件贡献了超过86%的访问量,此亦即符合“二八”法则。
进一步统计最近一个月内该视频网站全部子平台全量产生流量的资源的每日访问计数,发现:超过56%的媒体资源虽然在过去30天内有访问请求,但每日的请求次数均不超过1;超过77%的媒体资源的每日请求次数均不超过3。由此看见,访问呈现出显著的长尾分布,但大部分文件属于冷门资源。
指数衰减
图4显示了互联网电影资料库(Internet Movie Database,IMDB)数据库中的若干影片票房收入和公映时间的关系。与此类似,视频网站等内容服务平台上的资源访问也呈现出相近情况。一个媒体资源通常在引入13天之内达到访问最高值,此后便以近似指数函数的方式衰减。
虽然各种不同类别的媒体资源的衰减参数各不相同,甚至个别资源会出现几个高峰,但深入统计人为划分出的状态之间的转移情况后发现:如果一个资源文件在第i-3日及之前有访问,第i-2和第i-1日无访问,则其在第i日仍无访问的概率超过0.75;在过去5日之内无访问而在下一日有访问的概率则小于0.01。这个结果表明:一旦一个资源变冷,则接下来出现访问的可能性很小。
图5、6、7显示了三种不同的资源访问模式。其中,大部分新闻视频和绝大部分用户生成(User Generated Content,UGC)视频都符合图5的模式,即视频在引入1-3天内达到访问峰值,此后骤减,再在之后以指数方式衰减直零。一部分新闻视频和大部分不太热门的影视视频符合图6的访问模式,总体以指数方式平缓衰退,但中间由于某些原因会形成若干次局部峰值。一小部分极热资源(无论编辑上传资源还是UGC资源),会出现如图7所示振幅较大但访问频度始终维持在较高值的现象。
但无论哪种情况,一旦某个资源在某时访问频度降低到一个足够小的值,那么其后几乎必然满足指数衰减;一旦某个资源连续几日访问频数为0,那么其后一日有访问的概率极小。
以上统计亦适用于图片、静态资源等平台,只是统计出来的参数有所差异。
图8为本发明实施例提供的在内容分发网络中进行内容管理的方法及装置的运行环境示意图。边缘节点601为一个内容分发网络的一个边缘节点,其内包括网络服务器602、主控服务器603、存储服务器604、以及缓存服务器606。
网络服务器602用于边缘节点601中面向用户的网络接入,即接收用户的请求并返回相应的资源。在一个实例中,网络服务器的配置是:1个4核CPU,8G内存,1*1TSATA硬盘。主控服务器603硬件结构上可与网络服务器602相同,其功能亦类似,其不同之处在于还承担一些边缘节点601的管理功能,例如本发明实施例提供的在内容分发网络中进行内容管理的方法即可由主控服务器603触发执行。
存储服务器604用于边缘节点601中的数据存储,其可挂接多个存储器605如硬盘。在一个实施例中,存储服务器604的配置是:2个4核CPU,16G内存,主机总线适配器,12*1TSATA硬盘(605)。
缓存服务器606用于边缘节点601中的热点资源缓存。在一个实例中,缓存服务器606的配置是:2个4核CPU,36G内存,4*500GB SATA硬盘,512G*2(华为TM)或160G*8(因特尔TM)固态硬盘。
网络服务器602以及主控服务器603均可通过网络文件***管理存储服务器604以及缓存服务器606内存储的文件。
边缘节点601通过互联网与代理服务器607相连,代理服务器607通过企业网与索引***608相连。代理服务器607可以基于以下技术构建:一、双向TCP(TransmissionControl Protocol,传输控制协议)代理;二、HTTP上的CGI(Common Gateway Interface,通用网关接口)代理;三、基于ASN.1(Abstract Syntax Notation One,抽象语法标记)协议框架的代理。
为了保证安全,代理服务器607与边缘节点601或者索引***608的通讯采用加密的方式进行处理。例如,如果采用前两者,传输时须携带有参数校验字段以防止黑客注入,保证安全。生成校验字段的一个实施例是基于块的对称加密算法(如Extended TinyEncryption Algorithm,XTEA),或者基于流的等对称加密算法(如chacha)。而如果采用第三者,因为ASN.1本身就是一种可灵活实现编码/解码(加密/解密)的协议框架,所以不需要额外实现校验字段。
索引***608内包括请求记录数据库609。请求记录数据库用于存储所有边缘节点601内文件的访问记录、用户生成的文件以及需要永久保存的文件等信息。在一个实例中,请求记录数据库609包括以下几个子库:DBhot、DBpub、以及DBperm。
DBhot记录文件的访问记录,至少包括文件名、所属频道、访问次数等项,每天一个数据表。由于对全局访问的统计有稍许时延,且需要归并各边缘节点和区域中心的访问记录日志,所以需要在每天访问的低谷时刻(如凌晨4点)进行数据的校验计算和重新入库。
DBpub记录每天由编辑新上传但还没有发布推广的文件,同DBhot,一日一数据表。
DBperm通常只包含一个数据具有时变特征的数据表,记录该段时间需要保护防止删除的文件信息。
上述的DBhot数据库,是由一个内容分发网络内的多个(如几十个)边缘节点、多个(如十个左右)区域中心/数据中心节点,根据服务用户的服务器产生的用户访问日志,每间隔一段时间(如15分钟)上报一次,再合并,而每天凌晨把前一天的上报数据统计归并,再重新入库的。故而这个在索引***608内的“全量访问记录”,是缺少当天访问的数据的,或者至少当天访问的记录是不准、有延迟的。
CDN内文件的存储
可以理解,要在CDN中发布的文件需要首先分发至各个边缘节点内的存储服务器中。在实际的分发过程中,文件的发布可以是由专门的分发***完成。换言之,每个边缘节点内均包括上述分发***的客户端,用于接收来自发布源推送的文件。进一步地,在接收到推送的文件后,将其存储至存储服务器中的某个目录下。
在一个实例中,分发***根据以下策略决定文件将要存储的路径:
/DATAx/(CHANNEL/)y/z/filename
上面路径中,CHANNEL为频道名,DATAx为索引为x的磁盘的根路径,filename为要存储的文件的文件名。可以理解,频道名并不是必须的,或者频道还可以具有多级目录结构,本领域普通技术人员可以根据实际需要任意采用合适的目录结构。
x、y、z满足以下条件:
上式中,N表示一个边缘节点内存储服务器的数目,DiskID取值不大于256/N是由于NFS文件***的最大挂载磁盘数是256。而一般一个边缘节点内每个存储服务器下连接的存储器数是相同的。例如,在一个实例中,一个边缘节点内包括20台存储服务器,每个存储服务器接入12个存储器,总存储器的数目为240。
hash1和hash2为能保证散布均匀的两个哈希函数。在一个实例中,可选用BKDR、BobJenkins或SuPerHash等字符串哈希函数。
至于计算y、z值的公式中模数的范围,是为了提升目录遍历的性能,其具体原理请参见后续NFS目录遍历部分。
如图8所示,每个网络服务器602(或者主控服务器603)均可通过NFS管理存储服务器内存储的文件。其具体的方式是,通过NFS把若干台存储服务器上的不超过256块的存储器挂载到自己的一个虚拟目录k下。其上看到的路径如下:
/data/k/CHANNEL/y/z/filename
其中,k≤10000,且k与x之间建立一个均匀的多对一的映射。此映射关系的设计可参考一致性哈希技术(David Karger,Eric Lehman,Tom Leighton,Rina Panigrahy,Matthew Levine,Daniel Lewin.Consistent hashing and random trees:distributedcaching protocols for relieving hot spots on the World Wide Web[C].Proceedings of the twenty-ninth annual ACM symposium on Theory ofcomputing.STOC’97,New York,NY,USA:ACM,1997,654–663.http://doi.acm.org/10.1145/258533.258660,此处一并引入作为参考)或者其引入虚拟节点概念的改进(Giuseppe DeCandia,Deniz Hastorun,Madan Jampani,Gunavardhan Kakulapati,Avinash Lakshman,Alex Pilchin,Swaminathan Sivasubramanian,Peter Vosshall,Werner Vogels.Dynamo:amazon’s highly available key-value store[C].Proceedingsof twenty-first ACM SIGOPS symposium on Operating systems principles.SOSP’07,New York,NY,USA:ACM,2007,205–220.http://doi.acm.org/10.1145/1294261.1294281,此处一并引入作为参考)。
经过以上的设计,分发***分发到CDN***中的每一个文件都将存储到一个确定的逻辑路径下,而且因为文件数量巨大及哈希的均匀散步效果,文件目录树可形成一个高度有限、有效层次为2的平衡树。这样就使得在遍历时可做基于数据划分的并行化,而且各计算单元负载均衡,另外目录遍历时栈的逻辑深度亦可控。从而可提升目录遍历时的性能。
在以上的存储路径设计中,在存储服务器中采用的是2级哈希均匀散布,而通过NFS映射后,文件的路径是3级哈希均匀散布。然而,本发明实施例并不限于上述的实例,例如,还可以采用更多级数的哈希均匀散布。
NFS上的并行目录遍历
计算机***中CPU与输入/输出***(I/O)之间持续扩大的性能差距影响着并行程序设计。磁盘传输带宽的改善速度跟不上CPU计算能力的增长,数据访问延迟的改善更是严重地滞后。为此,Linux等操作***采取了预取技术来提升磁盘I/O性能,可以有效地将来自应用程序的同步的小I/O转化为异步的大I/O,从而减少访问延迟,并促成I/O的并行化。
但是,单磁盘的I/O操作如果并发的话,操作***内核的互斥锁依然会保证I/O操作的串行性。另外,虽然Linux***会在并发I/O请求中有效地识别和处理顺序流,但是对磁盘上所有文件的遍历操作很容易让缓存失效。例如,Linux操作***内核有一个数据结构dcache用来缓存此前解析出的目录项,它采用LRU策略来管理,但是如果初始LRU链表为空的话,一个超过k+1长度的遍历会使长度为k的dcache的命中率为0。
此外,边缘节点上要删除的文件逻辑上都是冷文件,另一方面,统计数据也表明,边缘节点上存储的大部分文件也较冷;但显然dcache的LRU链表上都是热文件的目录项。
因此,dcache在目录遍历这种操作中,dcache不命中的概率几乎为100%。
再者,并发I/O请求带来的磁头臂的来回寻址又会加剧性能的恶化。事实也表明,很多文件***,在其上遍历的性能在超过2个线程之后反而会随着线程数的增加而降低。
因此,在NFS上进行文件(目录)遍历,单个磁盘上I/O的操作应选择串行,而各磁盘间的遍历应变为并行。
在常见的Unix/Linux文件***中,索引节点(又称i-节点或inode)、目录项(dirent或directory entry)、数据块(data block或block)构成了一颗庞大的文件树,如图9所示。
inode表示文件除文件名外的所有元信息,如mtime(最后修改时间)等项,并提供了到数据块的多级索引方式,如图10所示。
dirent表示文件/目录名和inode的对应关系。在Linux2.6.4之后,增加了一个字节的表示文件/目录类型的域,见图11。
block是数据块,磁盘读写即以block为单位,通常大小为4K字节。值得注意的是:一个inode或一个dirent,也必然处在某个block中。
图12示出了在一个磁盘的线性地址区域中,文件xxx.mp4相关的i-节点、目录项和数据块直接的关系。
如果某文件(或其祖先目录)的目录项不在目录项缓存dcache中,那么对文件完整路径的解析将会是一件代价繁重的工作,会造成多次的磁盘访问,如图13所示。而如前文分析,本发明涉及的目录遍历需求,即属于这种绝大多数目录项都不在目录项缓存dcache中的场景。
可以理解,目录遍历实质是个无环图遍历过程,所以可有深度优先和广度优先两种策略可以选择。在绝大多数文件***中,目录项也是一个文件,那么访问目录下某个文件时,需要逐个读取目录数据中的目录项并与目标进行匹配获得文件的inode号。
当目录下文件数较少时,则在目录下查找文件需要的数据块也较少,而且是直接索引;当目录下文件数比较多的时候,需要访问的块数会更快的增加,而且后面得到存储数据的物理块号需要多级索引,这也是在目录下不应放太多文件的原因。如果将拥有很多文件的目录均分成多个子目录,多一级目录会多一次(或多次,具体依赖于子目录下文件数量)磁盘块访问,但在子目录中查找文件的磁盘访问开销会小很多。
在Linux操作***中,由于目录项的长度均为4的整数倍,而文件名本身就是文件全文或一定规则的若干分片哈希得来,即使考虑分片的后缀,也基本可以看成是定长的。实际场景中计算得到目录项长度通常不超过32。通常块大小为4KB,考虑到两个优化指标:1.使目录项能够在读取inode之后的第一个数据块中得到;2.使目录分级高度最小,即目录项所在的块被充分利用。最终计算得到取值96–128之间的数较为合适。为考虑可扩展性,在一个实例中,可取较小的100。图14示出了仅包含两个媒体文件的目录项所在的块(可结合图11来看)。
在本发明对文件目录结构的设计中,由于末级目录中的文件数目较少,所以采用广度优先遍历得到的效率会稍高一些,但从全文件***的遍历来看,与深度优先差别不是特别大。
目录遍历也有递归和非递归两种方式可以选择。一方面,递归算法可以简化算法设计上的复杂性,但是在运行时会占用大量的栈(stack)空间,分配栈空间的方法也比分配堆(heap)空间的方法耗费要大很多,同时也会产生大量的函数调用代码,耗费大量额外时间用以维护中间现场状态,且有栈溢出的风险。但根据上文分析,目录遍历这种较为密集的I/O操作获得并行反倒适得其反,所以应该采用非递归方可获得更好的性能。
参阅图15,在一个实例中,在主控服务器603中对一个边缘节点进行目录遍历包括以下步骤:
步骤S1501,为边缘节点内的每个存储器创建一个目录遍历进程;
步骤S1502,等待上述目录遍历进程的遍历结果;以及
步骤S1503,归并所有目录遍历进程的遍历结果。
更加详细地,采用类C++伪代码描述上述过程如下:
for(i=0;i<TOTAL_DISK&&!inf.eof();i++)
上述代码中,TOTAL_DISK表示存储器的数目,filename表示存储待遍历目录的文件的文件名。由上述可知,每个存储器对应于一个唯一的目录。而如前所述,在主控服务器603中,可通过NFS将存储器的要目录映射至多个虚拟目录中。因此,在上述代码执行之前,还可包括获取每个存储器唯一目录的步骤。
//等待所有线程扫描结束(步骤S1502)
for(j=0;j<count;j++)
pthread_join(thread[j],NULL);
fpAllFile=fopen("filelist.txt","w");
//将各目录扫描到的合并遍历输出(步骤S1503)
for(i=0;i<count;i++)
fclose(fpAllFile);
参阅图16,在一个实例中,在目录遍历进程中可执行以下步骤:
S1601,将当前进程绑定至特定的处理器核心;
S1602,初始化一个目录栈;
S1603,起始目录入栈;
S1604,判定目录栈是否为空,若为空结束遍历,否则执行以下步骤直至目录堆栈为空:
S1605,获取目录栈顶部的目录并使最后入栈的目录出栈;
S1606,读取该目录栈顶部的目录的所有子项目;以用
S1607,若子项目为目录则置入该目录栈,否则记录在扫描结果中***一条文件记录。
更加详细地,采用类C++伪代码描述图16所示的过程如下:
void*ScanDirectory(void*arg)
//起始目录进栈(步骤S1603)
FolderSet.push(StartingScanDirs[id]);
//步骤S1604
while(!FolderSet.empty())
上述的目录遍历过程可以适用于各种存储器如磁盘、固态存储器(Solid StateDisk,SSD)光盘等等。但可以理解,不同各类的存储器具有不同的特性。目录遍历过程还可以针对不同种类的存储器做进一步优化。
例如,参阅图17,在另一个实例中,对一个磁盘进行目录遍历可包括以下步骤:
S1701,初始化文件队列及目录队列,根目录入目录队列;
S1702,判断目录队列是否为空,若为空则进行步骤S1703,否则执行遍历子步骤;
步骤S1703,判断文件队列是否为空,若为空则结束遍历,否则进行步骤S1704。
步骤S1704,文件队列出列,在遍历结果中***出列的文件,并返回步骤S1703。
遍历子步骤包括:
S1705,目录队列出列;
S1706,获取出列的目录的子项目列表,对子项目列表排序;
S1707,对于每个子项目,若为目录则入目录队列,若为文件则入文件队列,并返回步骤S1702。
更加详细地,采用类C++伪代码描述上述过程如下:
//获取出列的目录的子项目列表,对子项目列表排序
read_dir(path,dir_list);
sort(dir_list);
d.setdir();
it=dir_list.begin();
//对于每个子项目,若为目录则入目录队列,若为文件则入文件队列
while(it!=dir_list.end())
//判断文件队列是否为空
上述用于获取某个目录的子项目的函数read_dir伪代码如下:
read_dir(path,dir_list)
大量的实验也表明,在多数对文件元信息进行操作的程序中,stat()调用会消耗大量时间,而标准Unix API中,readdir()返回的是文件名的字典序,而和位置序无关,这样更加剧了stat()调用的消耗,使得在获取文件元信息的过程中,磁头臂不停地来回寻址,即使是找同一目录下不同文件的信息也如此。
在上述的实例中,为充分提升性能,重写了自定义的read_dir()函数,先尽可能读取整块的所有目录项,再按inode排序,这样目录项信息的查找也变成了有序的,充分提高了性能。统计结果显示,在磁盘中进行目录遍历时,图17所示的方法相比于图15所示的方法效率可以提升30%至300%。
在上述的遍历过程中省略了文件mtime是否符合备淘汰条件的判断。但可以理解,本领域普通技术人员可自行添加相应的判定过程。
第一实施例
图18为第一实施例提供的在内容分发网络中进行内容管理的方法,其例如可由图8所示的主控服务器603执行。上述的方法包括以下步骤:
步骤S110、监测边缘节点的已用存储空间是否超出预定的阈值,若是则执行以下步骤S120至步骤S150。步骤S110例如可由部署在主控服务器603内的代理程序执行。如上所述,主控服务器603可以通过NFS将存储服务器604内的存储器挂载至一个虚拟目录内,然后通过查询各目录的属性,即可获取存储服务器604的存储空间占用情况,当已用存储空间超过预定的阈值如90%时,即可触发删除程序,即执行步骤S120至步骤S150。
步骤S120、从一个索引***处获取需保护文件的集合U1。参阅图8,索引***608的数据库内可存储所有边缘节点的访问记录,并可存储需要保护的文件的相关信息。在一个实例中,U1可包括:在过去第一预定时间(t1)内至少存在某天访问次数大于1的文件集合、过去第二预定时间(t2)内上传但未发布的文件的集合、以及所有需要永久保存的文件的集合。
由于索引***608可位于企业网内部,而所有边缘节点均直接接入互联网。为了保证网络安全,主控服务器603与索引***608之间的网络通讯可以通过代理服务器进行。因此,步骤S120具体地可包括以下步骤:
主控服务器603将该淘汰预警信号发送至代理服务器607;
代理服务器607获取淘汰参数t1、t2、及t3;淘汰参数t1、t2、及t3可以是由用户输入的,还可以是通过读取默认的配置信息得到。
代理服务器607向索引***608发送获取文件请求以及淘汰参数t1、t2。
索引***608根据获取文件请求以及淘汰参数t1、t2返回上述的需要保护的文件集合U1。
代理服务器607接收索引***608返回的需保护文件的集合U1并将U1返回至主控服务器603。
步骤S130、对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0。
目录遍历的具体过程可参见上述的上的NFS上的并行目录遍历部分,在此不再赘述。
步骤S130可以是根据目录遍历请求进行的,上述的目录遍历请求可以是代理服务器607发出的。例如,在代理服务器607接收到上述的淘汰预警信号后,即可向主控服务器603发送目录遍历请求以及参数t3。
步骤S130中的预定值可为上述的参数t3。在一个实例中,上述的t3可为大于1的整数,例如30天。
步骤S140、获取待删除文件的集合U2=U0-U1。
步骤S150、从该边缘节点内删除U2内的每个文件。
步骤S140及步骤S150例如可由主控服务器603进行。
可以理解,如图15所示,步骤S110与步骤S150实质上可以是并行进行的,亦即,步骤S110与步骤S150可以由两个独立的进程分别执行。进一步地,步骤S110、步骤S120至步骤S140、以及步骤S150可以分别由独立的进程执行。例如,步骤S110由一个监控进程执行,步骤S120至步骤S140由一个待删除文件获取进程执行,而步骤S150由一个文件删除进程执行,这些进程分别独立运行,但可接受其他进程传输的参数。例如,文件删除进程接收待删除文件获取进程发送的待删除文件的的集合作为参数。
此外,可以理解,在步骤S150中,若主控服务器603在删除文件时失败,其原因可能是存储器故障或者网络故障。因此,在删除失败时,还可向对应的存储服务器604发出文件删除请求,由存储服务器604执行文件删除操作,以避免网络故障导致的文件删除失败。
本实施例的在内容分发网络中进行内容管理的方法具有以下优点:
1.不需要在CDN的边缘节点维护资源的全局索引,更不需要按访问频度等信息来对资源进行排序,保持CDN边缘节点逻辑功能设计的最简单化,减少边缘节点的硬件资源消耗,从而提升边缘节点的运行效率。
2.CDN边缘节点中的每台网络服务器和存储服务器均不需要开启atime,这样防止了每对文件进行一次读操作,都要引起一个对某磁盘块的写操作。不仅降低了不必要的磁盘写,提升了并发服务性能,而且降低了能耗。
3.通过调整几个简单而又含义明确的参数,可以灵活控制需要淘汰的文件数量。
第二实施例
图19为第二实施例提供的在内容分发网络中进行内容管理的方法的流程图,其与第一实施例相似,不同之处在于,在步骤S120后还进行以下步骤:检测是否有损坏的存储服务器,若是则执行步骤S210,否则执行步骤S130a。
步骤S130a,通过NFS对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0。
如上所述,主控服务器603可通过NFS将不同存储服务器604挂载至一个虚拟目录下,因此遍历可直接在主控服务器603中进行。
步骤S210,由损坏的存储器对应的存储服务器604进行目录遍历,并将目录遍历结果上传至主控服务器603。从而,主控服务器603可归并目录遍历结果,以得到上述的集合U0。
根据本实施例的在内容分发网络中进行内容管理的方法,可以针对存储器损坏做出更好的处理。
第三实施例
图20为第三实施例提供的在内容分发网络中进行内容管理的方法的流程图,其与第一实施例相似,不同之处在于,在步骤S140与步骤S150之间还包括:步骤S310,对待删除的文件的集合U1中的文件按一定顺序排序,例如其inode、本文件inode所在块号、本文件目录项所在块号等进行排序。如此可使在进行文件删除操作时磁头尽量沿一个方向行进,避免寻道时磁头臂耗时的机械运动,从而可加速文件删除的速度。
一并参阅图14及图21,文件被删除时对目录项的操作是,将其前面的目录项的记录长度值增大到指向被删除文件的后一个目录项的起始处。例如图21所示的状态相比于图14所示的状态,删除了文件bbb.flv,则前一个目录项(对应于aaa.mp4长度从32增加到4072(32+4040))。
Ext3文件***在删除文件时,不清除目录项中的i-节点号,但将i-节点中的文件大小设置为0并清除i-节点中的块指针以及间接块中的块指针;而Ext2文件***正好相反,清除目录项中的i-节点号但不清除i-节点中的文件占用块数及块指针和间接块指针。
根据所做的大量实验,inode号-物理块号-逻辑块号均呈现线性关系或呈现极高的线性相关度。且在众多Linux文件***中,
inode(a)<inode(b)═>block(inode(a))≤block(inode(b))
这样便可根据这些信息,适当调度I/O,减少磁头臂来回寻址的时间。
第四实施例
图18为第四实施例提供的在内容分发网络中进行内容管理的方法的流程图,其与第一实施例相似,不同之处在于,在步骤S120与步骤S130之间还包括步骤S410,将进行目录遍历的进程绑定在特定的处理器核心上。
上述的特定的处理器核心是指逻辑CPU。在一个实例中,对于一个进程,按以下公式确定其逻辑CPU的序号:id%(处理器核心总数-2)+2。其中,id为当前的进程标识(ID)。
可以看出,在上述公式,逻辑CPU的序号永远不可以能为1及2,亦即目录遍历的进程永远不会绑定至序号为1与2的处理器核心上。这么做的目的是避免将目录遍历的进程绑定至前两个处理器核心上,从而可避免目录遍历进程影响服务器中已有的处理网络连接、统计测速等进程的正常服务,保证合理的响应时间。
而将录遍历的进程绑定在特定的处理器核心上是为了避免遍历不同磁盘的线程在上下文切换中损失缓存和流水线断开的开销。
根据本实施例的在内容分发网络中进行内容管理的方法,可提升目录遍历过程的性能,减少目录遍历操作所消耗的时间。
可以理解,以上各实施例仅为上述的在内容分发网络中进行内容管理的方法的示例性说明,并非用以限制其范围。本领域普通技术人员可结合实际情形采用、组合上述的各实施例得到不同的技术方案。
基于上述的各种优点,根据本发明实施例提供的在内容分发网络中进行内容管理的方法可以极大提升内容管理尤其是文件主动删除的效率。例如,若采用传统的脚本程序进行内容删除,由于只能为串行,一个边缘节点内的目录遍历需要约10小时,文件删除则需要超过一个白天的时间,如果取t1为90天,t2为30天,那么获取需保护的文件的集合的时间约为5分钟,这样总共需要的时间往往超过一天。而采用本发明实施例提供的在内容分发网络中进行内容管理的方法,目录遍历耗时2至4分钟,文件删除耗时4至10分钟,由于获取需要保护的文件以及目录遍历两个步骤可以并行,即使算上网络传输延时,总的消耗时间也不超过15分钟。由于消耗的时间很短,选择一个用户访问量最低的时段,即可将地文件删除操作对用户访问的影响降低到最小程度。
在一个实际操作实例中,在某一天8:30在一个边缘节点上执行文件删除操作,淘汰约1/5的存储量,全部资源、UGC资源、新闻、音乐、及影视等各类资源的302回源次数(每1分钟统计)和上一日同时刻比较分别如图19至图23所示。其中,深色的线条表示上一日的数据,浅色的线条表示进行文件删除操作后的数据。
从图19至图23可以看出,只有新闻资源产生了在可控范围内的比较明显的回源请求,仔细调查原因如下:
1、当天发生了诸多热闹新闻事件,而资源尚未来得及分发至各边缘节点;
2、一些和最近事件语义相关的其他很早的新闻,被相关性推荐***推荐而引发了诸多用户请求。
可以理解,这两个问题都不是文件删除操作时所能够考虑到的问题。综上所述,根据本发明实施例的在内容分发网络中进行内容管理的方法,可以在不明显增加回源数的前提下快速删除大量的文件,可有效维护边缘节点的正常运转。
第五实施例
第五实施例提供一种在内容分发网络中进行内容管理的装置,参阅图24,上述装置包括:监测模块10以及文件删除模块20。
监测模块10用于监测边缘节点的已用存储空间是否超出预定的阈值,若是则调用文件删除模块20。
文件删除模块20包括:
第一获取单元21,用于从一个索引***处获取需保护文件的集合U1;
目录遍历单元22,用于对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0。
目录遍历单元22对边缘节点进行目录遍历时可采用广度优先遍历,以及非递归遍历。此外,对于同一个存储器内的目录,其遍历过程串行进行,而不同的存储器的遍历过程并行进行。对边缘节点进行目录遍历的过程中还将遍历进程绑定至特定的处理器核心。而进行目录遍历的结果可按照索引节点进行排序。
第二获取单元23,用于获取待删除文件的集合U2=U0-U1;以及
文件删除单元24,用于从该边缘节点内删除U2内的每个文件。
在一个实例中,上述需保护文件的集合U1包括:在过去第一预定时间内至少存在某天访问次数大于1的文件集合、过去第二预定时间内上传但未发布的文件的集合、以及所有需要永久保存的文件的集合。
在一个实例中,第一获取单元21用于进行以下操作:
向代理服务器发送淘汰预警信号;
该代理服务器根据该淘汰预警信号向该索引***发送获取文件请求并相应获取该需保护文件的集合U1;以及
接收该代理服务器返回的该需保护文件的集合U1。
如图25所示,代理服务器可包括接收模块510、获取模块520、发送模块530、及返回模块540。
接收模块510用于接收第一获取单元21发送的淘汰预警信号;获取模块520用于获取淘汰参数(如t1、t2、及t3)。发送模块530用于:向索引***发送获取文件请求以及参数t1及t2;向主控服务器603发送目录遍历请求及参数t3。返回模块540用于将从索引服务器获取的需保护的文件的集合返回至主控服务器603。
文件删除模块20还可包括:接收单元25,用于接收来自该代理服务器的目录遍历请求及该预定值,该目录遍历单元22是根据该目录遍历请求进行目录遍历操作。
此外,如图24所示,上述装置还可包括文件存储模块30及目录挂载模块40,文件存储模块30用于接收一个客户端发送的文件,以及将接收到的文件存储在连接至该边缘节点的存储器内;
该文件的存储路径为:/DATAx/(CHANNEL/)y/z/filename;
其中DATAx表示索引号为x的存储器的根目录,CHANNEL表示频道名,filename为该文件的文件名,且x、y、z满足以下条件:
N表示边缘节点的数目,hash1与hash2为两个不同的哈希函数。
目录挂载模块40,用于在该目录遍历单元进行目录遍历之前通过网络文件***将连接至该边缘节点的存储器内的文件挂载至一个虚拟路径下,该虚拟路径为:
/data/k/(CHANNEL/)y/z/filename;
其中,k≤10000,且k与x之间为均匀的多对一映射关系。
根据本实施例的在内容分发网络中进行内容管理的装置,可提升目录遍历过程的性能,减少目录遍历操作所消耗的时间。
第六实施例
参阅图30,第六实施例提供一种在内容分发网络中进行内容管理的***,其包括主控服务器100、代理服务器200以及索引服务器300。
主控服务器100结构及功能与图8所示的主控服务器603相似,代理服务器200以索引服务器300结构及功能类似于图8所示的代理服务器607及索引***608,可一并参考图8及相关描述。
具体地,主控服务器100用于监测该内容分发网络的边缘节点的已用存储空间是否超出预定的阈值,若是则:从该索引服务器处获取需保护文件的集合U1;对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;获取待删除文件的集合U2=U0-U1;以及从该边缘节点内删除U2内的每个文件。
主控服务器100还用于:接收一个客户端发送的文件,以及将接收到的文件存储在连接至该边缘节点的存储器内;
该文件的存储路径为:/DATAx/(CHANNEL/)y/z/filename;
其中DATAx表示索引号为x的存储器的根目录,CHANNEL表示频道名,filename为该文件的文件名,且x、y、z满足以下条件:
N表示边缘节点的数目,hash1与hash2为两个不同的哈希函数。
主控服务器100还用于:在进行目录遍历之前通过网络文件***将连接至该边缘节点的存储器内的文件挂载至一个虚拟路径下,该虚拟路径为:
/data/k/(CHANNEL/)y/z/filename;
其中,k≤10000,且k与x之间为均匀的多对一映射关系。
在一个实例中,主控服务器100对该边缘节点进行目录遍历时采用广度优先遍历。
在一个实例中,主控服务器100对该边缘节点进行目录遍历时采用非递归遍历。
在一个实例中,主控服务器100对该边缘节点进行目录遍历时,对于同一个存储器内的目录,其遍历过程串行进行,而不同的存储器的遍历过程并行进行。
在一个实例中,主控服务器100对该边缘节点进行目录遍历的过程中还将遍历进程绑定至特定的处理器核心。
主控服务器100对该边缘节点进行目录遍历的结果按照索引节点、文件索引节点所在块号、或者文件目录项所在块号进行排序。
代理服务器200用于在主控服务器100与索引服务器300之间提供通讯。具体地,代理服务器200用于:将该第一预定时间及第二预定时间发送至该索引***;根据用户输入获取该预定值或者读取预先的设定信息以获取该预定值。
索引服务器300用于根据请求返回该需保护文件的集合U1。
主控服务器100还用于:接收来自代理服务器200的目录遍历请求及该预定值,主控服务器100是根据该目录遍历请求进行目录遍历操作。
根据本实施例的***,可提升目录遍历过程的性能,减少目录遍历操作所消耗的时间。
此外,可以理解,上述各实施例的装置仅为示例性说明,并不对本发明实施例提供的在电子装置中启动应用程序的装置做出任何限制,本领域普通技术人员可以将以上各实施例进行组合、稍加变化而得出新的技术方案,这些技术方案也应包含在上述的内容分发网络中进行内容管理的方法、装置及***的范围内。
此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的电子装置中启动应用程序的方法。
Claims (40)
1.一种在内容分发网络中进行内容管理的方法,其特征在于,包括:
监测边缘节点的已用存储空间是否超出预定的阈值,若是则执行以下步骤:
向代理服务器发送淘汰预警信号;
该代理服务器根据该淘汰预警信号向索引***发送获取文件请求并相应获取需保护文件的集合U1;以及
接收该代理服务器返回的该需保护文件的集合U1;
对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;
获取待删除文件的集合U2=U0-U1;以及
从该边缘节点内删除U2内的每个文件。
2.如权利要求1所述的在内容分发网络中进行内容管理的方法,其特征在于,该需保护文件的集合U1包括:在过去第一预定时间内至少存在某天访问次数大于1的文件集合、过去第二预定时间内上传但未发布的文件的集合、以及所有需要永久保存的文件的集合。
3.如权利要求2所述的在内容分发网络中进行内容管理的方法,其特征在于,与该代理服务器之间的网络传输采用加密方式进行处理。
4.如权利要求2所述的在内容分发网络中进行内容管理的方法,其特征在于,还包括:
接收来自该代理服务器的目录遍历请求及该预定值,对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0是根据来该目录遍历请求进行的。
5.如权利要求2所述的在内容分发网络中进行内容管理的方法,其特征在于,还包括:该代理服务器将该第一预定时间及第二预定时间发送至该索引***。
6.如权利要求2所述的在内容分发网络中进行内容管理的方法,其特征在于,还包括:在该代理服务器中根据用户输入获取该预定值或者读取预先的设定信息以获取该预定值。
7.如权利要求1所述的在内容分发网络中进行内容管理的方法,其特征在于,还包括:接收一个客户端发送的文件,以及将接收到的文件存储在连接至该边缘节点的存储器内;
该文件的存储路径为:/DATAx/(CHANNEL/)y/z/filename;
其中DATAx表示索引号为x的存储器的根目录,CHANNEL表示频道名,且CHANNEL子目录可选,其后下一级子目录为y,filename为该文件的文件名,且x、y、z满足以下条件:
N表示边缘节点的数目,hash1与hash2为两个不同的哈希函数。
8.如权利要求7所述的在内容分发网络中进行内容管理的方法,其特征在于,在对该边缘节点进行目录遍历之前还包括:
通过网络文件***将连接至该边缘节点的存储器内的文件挂载至一个虚拟路径下,该虚拟路径为:
/data/k/(CHANNEL/)y/z/filename;
其中,CHANNEL子目录可选,其后下一级子目录为y,k≤10000,且k与x之间为均匀的多对一映射关系。
9.如权利要求7-8任一项所述的在内容分发网络中进行内容管理的方法,其特征在于,对该边缘节点进行目录遍历时采用广度优先遍历。
10.如权利要求7-8任一项所述的在内容分发网络中进行内容管理的方法,其特征在于,对该边缘节点进行目录遍历时采用非递归遍历。
11.如权利要求1所述的在内容分发网络中进行内容管理的方法,其特征在于,对该边缘节点进行目录遍历时,对于同一个存储器内的目录,其遍历过程串行进行,而不同的存储器的遍历过程并行进行。
12.如权利要求1所述的在内容分发网络中进行内容管理的方法,其特征在于,对该边缘节点进行目录遍历的过程中还将遍历进程绑定至特定的处理器核心。
13.如权利要求1所述的在内容分发网络中进行内容管理的方法,其特征在于,对该边缘节点进行目录遍历的结果按照索引节点、文件索引节点所在块号、或者文件目录项所在块号进行排序。
14.一种在内容分发网络中进行内容管理的装置,其特征在于,包括:
监测模块,用于监测边缘节点的已用存储空间是否超出预定的阈值,若是则调用文件删除模块;
该文件删除模块包括:
第一获取单元用于:
向代理服务器发送淘汰预警信号;
该代理服务器根据该淘汰预警信号向索引***发送获取文件请求并相应获取需保护文件的集合U1;以及
接收该代理服务器返回的该需保护文件的集合U1;
目录遍历单元,用于对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;
第二获取单元,用于获取待删除文件的集合U2=U0-U1;以及
文件删除单元,用于从该边缘节点内删除U2内的每个文件。
15.如权利要求14所述的在内容分发网络中进行内容管理的装置,其特征在于,该需保护文件的集合U1包括:在过去第一预定时间内至少存在某天访问次数大于1的文件集合、过去第二预定时间内上传但未发布的文件的集合、以及所有需要永久保存的文件的集合。
16.如权利要求15所述的在内容分发网络中进行内容管理的装置,其特征在于,与该代理服务器之间的网络传输采用加密方式进行处理。
17.如权利要求15所述的在内容分发网络中进行内容管理的装置,其特征在于,该文件删除模块还包括:
接收单元,用于接收来自该代理服务器的目录遍历请求及该预定值,该目录遍历单元是根据该目录遍历请求进行目录遍历操作。
18.如权利要求15所述的在内容分发网络中进行内容管理的装置,其特征在于,该代理服务器还包括发送模块,用于将该第一预定时间及第二预定时间发送至该索引***。
19.如权利要求15所述的在内容分发网络中进行内容管理的装置,其特征在于,该代理服务器还包括获取模块,用于根据用户输入获取该预定值或者读取预先的设定信息以获取该预定值。
20.如权利要求14所述的在内容分发网络中进行内容管理的装置,其特征在于,还包括:
文件存储模块,用于接收一个客户端发送的文件,以及将接收到的文件存储在连接至该边缘节点的存储器内;
该文件的存储路径为:/DATAx/(CHANNEL/)y/z/filename;
其中DATAx表示索引号为x的存储器的根目录,CHANNEL表示频道名,且CHANNEL子目录可选,其后下一级子目录为y,filename为该文件的文件名,且x、y、z满足以下条件:
N表示边缘节点的数目,hash1与hash2为两个不同的哈希函数。
21.如权利要求20所述的在内容分发网络中进行内容管理的装置,其特征在于,还包括目录挂载模块,用于在该目录遍历单元进行目录遍历之前通过网络文件***将连接至该边缘节点的存储器内的文件挂载至一个虚拟路径下,该虚拟路径为:
/data/k/(CHANNEL/)y/z/filename;
其中,CHANNEL子目录可选,其后下一级子目录为y,k≤10000,且k与x之间为均匀的多对一映射关系。
22.如权利要求20-21任一项所述的在内容分发网络中进行内容管理的装置,其特征在于,该目录遍历单元对该边缘节点进行目录遍历时采用广度优先遍历。
23.如权利要求20-21任一项所述的在内容分发网络中进行内容管理的装置,其特征在于,该目录遍历单元对该边缘节点进行目录遍历时采用非递归遍历。
24.如权利要求14所述的在内容分发网络中进行内容管理的装置,其特征在于,该目录遍历单元对该边缘节点进行目录遍历时,对于同一个存储器内的目录,其遍历过程串行进行,而不同的存储器的遍历过程并行进行。
25.如权利要求14所述的在内容分发网络中进行内容管理的装置,其特征在于,该目录遍历单元对该边缘节点进行目录遍历的过程中还将遍历进程绑定至特定的处理器核心。
26.如权利要求14所述的在内容分发网络中进行内容管理的装置,其特征在于,该目录遍历单元对该边缘节点进行目录遍历的结果按照索引节点、文件索引节点所在块号、或者文件目录项所在块号进行排序。
27.一种在内容分发网络中进行内容管理的***,包括:
主控服务器、索引服务器、代理服务器;
该主控服务器用于监测该内容分发网络的边缘节点的已用存储空间是否超出预定的阈值,若是则:
向该代理服务器发送淘汰预警信号;
该代理服务器根据该淘汰预警信号向该索引服务器发送获取文件请求并相应获取需保护文件的集合U1;以及
接收该代理服务器返回的该需保护文件的集合U1;
对该边缘节点进行目录遍历以获取所有最后修改时间与当前时间之间相差超过预定值的文件的集合U0;
获取待删除文件的集合U2=U0-U1;以及
从该边缘节点内删除U2内的每个文件;
该索引服务器用于根据请求返回该需保护文件的集合U1。
28.如权利要求27所述的在内容分发网络中进行内容管理的***,其特征在于,该需保护文件的集合U1包括:在过去第一预定时间内至少存在某天访问次数大于1的文件集合、过去第二预定时间内上传但未发布的文件的集合、以及所有需要永久保存的文件的集合。
29.如权利要求28所述的在内容分发网络中进行内容管理的***,其特征在于,该代理服务器,用于在该主控服务器与该索引服务器之间提供通讯。
30.如权利要求29所述的在内容分发网络中进行内容管理的***,其特征在于,该代理服务器采用加密方式处理该主控服务器与该索引服务器之间的通讯。
31.如权利要求29所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器还用于:
接收来自该代理服务器的目录遍历请求及该预定值,该主控服务器是根据该目录遍历请求进行目录遍历操作。
32.如权利要求29所述的在内容分发网络中进行内容管理的***,其特征在于,该代理服务器还用于:将该第一预定时间及第二预定时间发送至该索引***。
33.如权利要求29所述的在内容分发网络中进行内容管理的***,其特征在于,该代理服务器还用于:根据用户输入获取该预定值或者读取预先的设定信息以获取该预定值。
34.如权利要求27所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器还用于:
接收一个客户端发送的文件,以及将接收到的文件存储在连接至该边缘节点的存储器内;
该文件的存储路径为:/DATAx/(CHANNEL/)y/z/filename;
其中DATAx表示索引号为x的存储器的根目录,CHANNEL表示频道名,且CHANNEL子目录可选,其后下一级子目录为y,filename为该文件的文件名,且x、y、z满足以下条件:
N表示边缘节点的数目,hash1与hash2为两个不同的哈希函数。
35.如权利要求34所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器还用于:在该进行目录遍历之前通过网络文件***将连接至该边缘节点的存储器内的文件挂载至一个虚拟路径下,该虚拟路径为:
/data/k/(CHANNEL/)y/z/filename;
其中,CHANNEL子目录可选,其后下一级子目录为y,k≤10000,且k与x之间为均匀的多对一映射关系。
36.如权利要求34-35任一项所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器对该边缘节点进行目录遍历时采用广度优先遍历。
37.如权利要求34-35任一项所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器对该边缘节点进行目录遍历时采用非递归遍历。
38.如权利要求27所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器对该边缘节点进行目录遍历时,对于同一个存储器内的目录,其遍历过程串行进行,而不同的存储器的遍历过程并行进行。
39.如权利要求27所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器对该边缘节点进行目录遍历的过程中还将遍历进程绑定至特定的处理器核心。
40.如权利要求27所述的在内容分发网络中进行内容管理的***,其特征在于,该主控服务器对该边缘节点进行目录遍历的结果按照索引节点、文件索引节点所在块号、或者文件目录项所在块号进行排序。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244635.1A CN104243425B (zh) | 2013-06-19 | 2013-06-19 | 一种在内容分发网络中进行内容管理的方法、装置及*** |
PCT/CN2014/078497 WO2014201942A1 (en) | 2013-06-19 | 2014-05-27 | Method, server and system for managing content in content delivery network |
US14/691,456 US10262005B2 (en) | 2013-06-19 | 2015-04-20 | Method, server and system for managing content in content delivery network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310244635.1A CN104243425B (zh) | 2013-06-19 | 2013-06-19 | 一种在内容分发网络中进行内容管理的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243425A CN104243425A (zh) | 2014-12-24 |
CN104243425B true CN104243425B (zh) | 2018-09-04 |
Family
ID=52103938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310244635.1A Active CN104243425B (zh) | 2013-06-19 | 2013-06-19 | 一种在内容分发网络中进行内容管理的方法、装置及*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US10262005B2 (zh) |
CN (1) | CN104243425B (zh) |
WO (1) | WO2014201942A1 (zh) |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8930331B2 (en) | 2007-02-21 | 2015-01-06 | Palantir Technologies | Providing unique views of data based on changes or rules |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US8984390B2 (en) | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US8504542B2 (en) | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
CA2878238C (en) * | 2013-01-11 | 2015-07-07 | La Presse, Ltee | Device, method and system for displaying digital editions |
US9116975B2 (en) | 2013-10-18 | 2015-08-25 | Palantir Technologies Inc. | Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores |
US10270819B2 (en) | 2014-05-14 | 2019-04-23 | Microsoft Technology Licensing, Llc | System and method providing collaborative interaction |
US20150331604A1 (en) * | 2014-05-14 | 2015-11-19 | Microsoft Corporation | Presenting stored files in whiteboard application |
US9552473B2 (en) | 2014-05-14 | 2017-01-24 | Microsoft Technology Licensing, Llc | Claiming data from a virtual whiteboard |
US9619557B2 (en) | 2014-06-30 | 2017-04-11 | Palantir Technologies, Inc. | Systems and methods for key phrase characterization of documents |
US9535974B1 (en) | 2014-06-30 | 2017-01-03 | Palantir Technologies Inc. | Systems and methods for identifying key phrase clusters within documents |
US9229952B1 (en) | 2014-11-05 | 2016-01-05 | Palantir Technologies, Inc. | History preserving data pipeline system and method |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
US10552994B2 (en) | 2014-12-22 | 2020-02-04 | Palantir Technologies Inc. | Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items |
US10452651B1 (en) | 2014-12-23 | 2019-10-22 | Palantir Technologies Inc. | Searching charts |
US9817563B1 (en) | 2014-12-29 | 2017-11-14 | Palantir Technologies Inc. | System and method of generating data points from one or more data stores of data items for chart creation and manipulation |
CN104618506B (zh) * | 2015-02-24 | 2019-09-27 | 深圳梨享计算有限公司 | 一种众包的内容分发网络***、方法与装置 |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US9672257B2 (en) | 2015-06-05 | 2017-06-06 | Palantir Technologies Inc. | Time-series data storage and processing database system |
US9384203B1 (en) * | 2015-06-09 | 2016-07-05 | Palantir Technologies Inc. | Systems and methods for indexing and aggregating data records |
US9996595B2 (en) | 2015-08-03 | 2018-06-12 | Palantir Technologies, Inc. | Providing full data provenance visualization for versioned datasets |
US9576015B1 (en) | 2015-09-09 | 2017-02-21 | Palantir Technologies, Inc. | Domain-specific language for dataset transformations |
US9454564B1 (en) | 2015-09-09 | 2016-09-27 | Palantir Technologies Inc. | Data integrity checks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US9542446B1 (en) | 2015-12-17 | 2017-01-10 | Palantir Technologies, Inc. | Automatic generation of composite datasets based on hierarchical fields |
CN106233744A (zh) * | 2016-01-08 | 2016-12-14 | 王晓光 | 一种视频网络上传的方法及*** |
WO2017176496A1 (en) * | 2016-04-08 | 2017-10-12 | Pearson Education, Inc. | System and method for automatic content aggregation generation |
US10075551B1 (en) * | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10007674B2 (en) | 2016-06-13 | 2018-06-26 | Palantir Technologies Inc. | Data revision control in large-scale data analytic systems |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10375196B2 (en) * | 2016-07-29 | 2019-08-06 | Microsoft Technology Licensing, Llc | Image transformation in hybrid sourcing architecture |
US9753935B1 (en) | 2016-08-02 | 2017-09-05 | Palantir Technologies Inc. | Time-series data storage and processing database system |
CN106294773A (zh) * | 2016-08-11 | 2017-01-04 | 北京小米移动软件有限公司 | 数据清理方法及装置 |
CN107846429B (zh) * | 2016-09-18 | 2021-01-29 | 华为技术有限公司 | 一种文件备份方法、装置和*** |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10133588B1 (en) | 2016-10-20 | 2018-11-20 | Palantir Technologies Inc. | Transforming instructions for collaborative updates |
US10318630B1 (en) | 2016-11-21 | 2019-06-11 | Palantir Technologies Inc. | Analysis of large bodies of textual data |
US10884875B2 (en) | 2016-12-15 | 2021-01-05 | Palantir Technologies Inc. | Incremental backup of computer data files |
US10223099B2 (en) | 2016-12-21 | 2019-03-05 | Palantir Technologies Inc. | Systems and methods for peer-to-peer build sharing |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
CN106600677B (zh) * | 2016-12-30 | 2019-12-03 | 当家移动绿色互联网技术集团有限公司 | Vr***中对传统模型的处理方法 |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10235373B2 (en) * | 2017-03-06 | 2019-03-19 | Vmware, Inc. | Hash-based file system |
CN108933951B (zh) * | 2017-05-24 | 2022-03-11 | 中兴通讯股份有限公司 | 一种内容传输控制方法及*** |
US10896097B1 (en) | 2017-05-25 | 2021-01-19 | Palantir Technologies Inc. | Approaches for backup and restoration of integrated databases |
GB201708818D0 (en) | 2017-06-02 | 2017-07-19 | Palantir Technologies Inc | Systems and methods for retrieving and processing data |
US10956406B2 (en) | 2017-06-12 | 2021-03-23 | Palantir Technologies Inc. | Propagated deletion of database records and derived data |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US11334552B2 (en) | 2017-07-31 | 2022-05-17 | Palantir Technologies Inc. | Lightweight redundancy tool for performing transactions |
US10417224B2 (en) | 2017-08-14 | 2019-09-17 | Palantir Technologies Inc. | Time series database processing system |
US10216695B1 (en) | 2017-09-21 | 2019-02-26 | Palantir Technologies Inc. | Database system for time series data storage, processing, and analysis |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
CN107770283B (zh) * | 2017-11-08 | 2020-10-23 | 北京奇艺世纪科技有限公司 | 一种文件下载的控制方法、装置及*** |
US11281726B2 (en) | 2017-12-01 | 2022-03-22 | Palantir Technologies Inc. | System and methods for faster processor comparisons of visual graph features |
US10614069B2 (en) | 2017-12-01 | 2020-04-07 | Palantir Technologies Inc. | Workflow driven database partitioning |
US11016986B2 (en) | 2017-12-04 | 2021-05-25 | Palantir Technologies Inc. | Query-based time-series data display and processing system |
CN108090188B (zh) * | 2017-12-18 | 2021-05-07 | 国家计算机网络与信息安全管理中心 | 基于海量数据分析挖掘cdn域名的方法 |
US10754822B1 (en) | 2018-04-18 | 2020-08-25 | Palantir Technologies Inc. | Systems and methods for ontology migration |
CN108809514B (zh) | 2018-04-23 | 2021-01-12 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
GB201807534D0 (en) | 2018-05-09 | 2018-06-20 | Palantir Technologies Inc | Systems and methods for indexing and searching |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
CN111240579B (zh) | 2018-11-28 | 2024-03-19 | 京东方科技集团股份有限公司 | 用于数据存储的方法和装置 |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
CN109857703B (zh) * | 2019-01-15 | 2023-05-12 | 珠海金山数字网络科技有限公司 | 一种基于minio文件***的bucket空间占比统计方法及其装置 |
CN109889862B (zh) * | 2019-03-08 | 2021-07-30 | 北京奇艺世纪科技有限公司 | 一种视频分发方法及*** |
CN111934897A (zh) * | 2019-05-13 | 2020-11-13 | 深圳市茁壮网络股份有限公司 | 一种数据请求处理方法及*** |
CN110263010B (zh) * | 2019-05-31 | 2023-05-02 | 广东睿江云计算股份有限公司 | 一种缓存文件自动更新方法及装置 |
CN112241413A (zh) * | 2019-07-18 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 一种预推内容管理方法、装置及计算机设备 |
CN112311826B (zh) * | 2019-07-30 | 2022-05-03 | 贵州白山云科技股份有限公司 | 内容分发***中访问请求的处理方法、装置及*** |
CN110471897B (zh) * | 2019-08-22 | 2021-10-01 | 湖南快乐阳光互动娱乐传媒有限公司 | 文件管理方法及装置 |
CN112446716B (zh) * | 2019-08-27 | 2024-03-05 | 百度在线网络技术(北京)有限公司 | Ugc处理方法、装置、电子设备和存储介质 |
CN110704453B (zh) * | 2019-10-15 | 2022-05-06 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种数据查询方法、装置、存储介质及电子设备 |
CN110928498B (zh) * | 2019-11-15 | 2023-11-10 | 浙江大华技术股份有限公司 | 一种目录遍历的方法、装置、设备和存储介质 |
US11070485B2 (en) * | 2019-12-05 | 2021-07-20 | Netflix, Inc. | Multimedia content steering |
CN110995866B (zh) * | 2019-12-20 | 2022-11-08 | 深圳市网心科技有限公司 | 节点调度方法、装置、调度服务器及存储介质 |
CN111190861B (zh) * | 2019-12-27 | 2023-06-30 | 中移(杭州)信息技术有限公司 | 热点文件管理方法、服务器及计算机可读存储介质 |
CN113127414B (zh) * | 2019-12-31 | 2023-05-23 | 贵州白山云科技股份有限公司 | 一种请求处理方法和***及边缘节点 |
CN111541903A (zh) * | 2020-01-14 | 2020-08-14 | 深圳市华曦达科技股份有限公司 | 直播加速方法、源站端、边缘节点、客户端及直播*** |
CN111339057B (zh) * | 2020-02-29 | 2024-07-09 | 平安科技(深圳)有限公司 | 减少回源请求的方法、装置及计算机可读存储介质 |
CN111356004B (zh) * | 2020-04-14 | 2021-02-19 | 深圳市小微学苑科技有限公司 | 通用视频文件的存储方法及*** |
CN111552667B (zh) * | 2020-04-29 | 2023-11-03 | 杭州海康威视***技术有限公司 | 一种数据删除方法、装置及电子设备 |
CN111782613B (zh) * | 2020-06-23 | 2023-06-02 | 南昌航空大学 | 一种优化模型集成平台运行效率的方法 |
CN111770180B (zh) * | 2020-06-29 | 2023-06-30 | 百度在线网络技术(北京)有限公司 | 部署方法、装置、设备以及存储介质 |
CN112328550A (zh) * | 2020-11-03 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 一种分布式文件***架构下的文件管理方法及装置 |
CN112650720B (zh) * | 2020-12-18 | 2024-07-12 | 深圳市佳创视讯技术股份有限公司 | 一种缓存***管理方法、装置及计算机可读存储介质 |
CN112905557B (zh) * | 2021-03-03 | 2023-01-24 | 山东兆物网络技术股份有限公司 | 支持异步提交的海量文件整合存储方法及*** |
CN113542418B (zh) * | 2021-07-16 | 2024-03-26 | 厦门雅基软件有限公司 | 文件管理方法、装置、电子设备及存储介质 |
US11463535B1 (en) | 2021-09-29 | 2022-10-04 | Amazon Technologies, Inc. | Using forensic trails to mitigate effects of a poisoned cache |
CN114466000B (zh) * | 2021-12-22 | 2023-10-10 | 天翼云科技有限公司 | 一种cdn网关回源方法及装置 |
CN117931098B (zh) * | 2024-03-22 | 2024-06-07 | 江西云眼视界科技股份有限公司 | 边缘侧事件存储方法、***、存储介质及计算机 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932821A (zh) * | 2005-09-14 | 2007-03-21 | 三星电子株式会社 | 管理存储在数字多媒体装置中的多媒体内容的方法和设备 |
CN101446984A (zh) * | 2009-01-09 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种文件存储方法、装置及文件删除方法和装置 |
CN101706814A (zh) * | 2009-11-27 | 2010-05-12 | 北京汉邦高科数字技术有限公司 | 基于移动向量的文件存储覆盖方法 |
CN102438020A (zh) * | 2011-12-23 | 2012-05-02 | 华为技术有限公司 | 内容分发网络中内容分发的方法、设备和网络*** |
CN103095688A (zh) * | 2012-12-21 | 2013-05-08 | 大唐移动通信设备有限公司 | 客户端控制方法和服务器 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
AU2002236435A1 (en) * | 2000-10-26 | 2002-05-21 | Prismedia Networks, Inc. | Method and apparatus for real-time parallel delivery of segments of a large payload file |
JP4640844B2 (ja) | 2007-01-09 | 2011-03-02 | 株式会社エヌ・ティ・ティ・ドコモ | 送信装置、送信方法及び通信システム |
US20080172387A1 (en) | 2007-01-16 | 2008-07-17 | Olaf Manczak | Speeding up traversal of a file system tree |
US8131723B2 (en) * | 2007-03-30 | 2012-03-06 | Quest Software, Inc. | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity |
CN101561783B (zh) | 2008-04-14 | 2012-05-30 | 阿里巴巴集团控股有限公司 | 一种Cache异步淘汰的方法和装置 |
CN101526948B (zh) | 2009-04-23 | 2011-07-27 | 山东中创软件商用中间件股份有限公司 | 多线程文件遍历技术 |
US8341130B2 (en) | 2009-08-12 | 2012-12-25 | International Business Machines Corporation | Scalable file management for a shared file system |
US8863204B2 (en) | 2010-12-20 | 2014-10-14 | Comcast Cable Communications, Llc | Cache management in a video content distribution network |
AU2012243387A1 (en) * | 2011-04-11 | 2013-10-24 | Scribble Technologies Inc. | System and method for syndicating dynamic content for online publication |
CN102195986A (zh) * | 2011-05-19 | 2011-09-21 | 南京中兴新软件有限责任公司 | 一种基于内容分发网络的数据处理方法及装置 |
CN102395047A (zh) * | 2011-10-25 | 2012-03-28 | 深圳市同洲电子股份有限公司 | 删除内容发布网络节点中多媒体内容的方法及设备 |
US20150120661A1 (en) * | 2012-04-04 | 2015-04-30 | Scribble Technologies Inc. | System and Method for Generating Digital Content |
-
2013
- 2013-06-19 CN CN201310244635.1A patent/CN104243425B/zh active Active
-
2014
- 2014-05-27 WO PCT/CN2014/078497 patent/WO2014201942A1/en active Application Filing
-
2015
- 2015-04-20 US US14/691,456 patent/US10262005B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1932821A (zh) * | 2005-09-14 | 2007-03-21 | 三星电子株式会社 | 管理存储在数字多媒体装置中的多媒体内容的方法和设备 |
CN101446984A (zh) * | 2009-01-09 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 一种文件存储方法、装置及文件删除方法和装置 |
CN101706814A (zh) * | 2009-11-27 | 2010-05-12 | 北京汉邦高科数字技术有限公司 | 基于移动向量的文件存储覆盖方法 |
CN102438020A (zh) * | 2011-12-23 | 2012-05-02 | 华为技术有限公司 | 内容分发网络中内容分发的方法、设备和网络*** |
CN103095688A (zh) * | 2012-12-21 | 2013-05-08 | 大唐移动通信设备有限公司 | 客户端控制方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
US20150242397A1 (en) | 2015-08-27 |
WO2014201942A1 (en) | 2014-12-24 |
CN104243425A (zh) | 2014-12-24 |
US10262005B2 (en) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243425B (zh) | 一种在内容分发网络中进行内容管理的方法、装置及*** | |
US9672267B2 (en) | Hybrid data management system and method for managing large, varying datasets | |
Cooper et al. | PNUTS: Yahoo!'s hosted data serving platform | |
US20190140922A1 (en) | Forward-based resource delivery network management techniques | |
Lee et al. | IRLbot: scaling to 6 billion pages and beyond | |
KR101672901B1 (ko) | 분산 파일 시스템에서 소형 파일에 대한 접근성 향상을 위한 캐시 관리 시스템 | |
KR101312125B1 (ko) | 콘텐츠 필터링 장치 및 방법 | |
US7783615B1 (en) | Apparatus and method for building a file system index | |
US9602622B2 (en) | Flexible caching of resource oriented web services | |
BRPI0715701A2 (pt) | mÉtodo de coleta de dados em uma rede distribuÍda | |
CN106021256A (zh) | 使用基于云的对象存储的消除重复分布式文件*** | |
CN105701156B (zh) | 一种分布式文件***管理方法及装置 | |
CN102355596B (zh) | 一种适用于视频服务的缓存服务器部署方法 | |
US8135763B1 (en) | Apparatus and method for maintaining a file system index | |
US20130311520A1 (en) | Storage-service-provision apparatus,system, service-provision method, and service-provision program | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
Fu et al. | Performance optimization for managing massive numbers of small files in distributed file systems | |
Asad et al. | Adaptcache: Adaptive data partitioning and migration for distributed object caches | |
US20220342888A1 (en) | Object tagging | |
d'Orazio et al. | Building adaptable cache services | |
Hiranpongsin et al. | Integration of recommender system for Web cache management | |
JP2017123040A (ja) | サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム | |
Akhtar et al. | Caching online video: Analysis and proposed algorithm | |
Asad | AdaptCache: Adaptive Data Partitioning and Replication for Distributed Object Caches | |
CN117539915B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |