非易失性存储介质上的下载数据存储管理方法及装置的制作方法

文档序号:7685938阅读:245来源:国知局

专利名称::非易失性存储介质上的下载数据存储管理方法及装置的制作方法
技术领域
:本发明涉及计算机设备中存储介质的存储空间管理,尤其涉及基于点对点协议的计算机设备中用于对非掉电易失性存储器中下载数据的存储管理方法和装置。
背景技术
:对等网络也称点对点(P2P)网络,是一种新型的网络传输技术,人们对其作了大量的相关研究,也产生了大量应用于此项技术的相关软件,在实际应用中取得了较好的效果。该技术在流媒体方面的应用使得每个用户在线观看影片的同时,也在上传数据以满足其他用户的视频数据需求。最近几年,视频点播(VideoonDemand,VOD)受到了极大的关注,有着广泛的市场前景。据市场研究司InformaTelecoms&Media最新发表的研究寺艮告称,2012年全^求一见频点播服务收入将超过100亿美元,届时,全球将有9.09亿家庭采用视频点播服务或者接近视频点播服务的技术,占全球电视机家庭用户的78%。基于P2P的数据下载、视频点播(VideoonDemand,VOD)需要依赖非掉电易失性存储器海量和长期的存储能力,目前,使用最广泛的非掉电易失性存储器当属磁盘,譬如个人电脑上的硬盘(Harddisk)、移动设备如个人数字助理(PDA)等上的存储卡,如SD、CF、MS-PRO(DUO)等等。其中,点播系统要求用户利用计算机设备的非易失性存储介质空间上的部分预定存储空间来存储因VOD业务而下载的视频数据,即使这些数据所对应的视频片段已经由该用户所使用的计算机设备给该用户播放过,换言之,即使这些数据所对应的视频片段对于该用户而言已经不再重要。按照上述要求,理论上计算机设备会将为VOD业务下载的视频数据全部存储在本地磁盘上的预定存储空间,随着用户点播过的视频越来越多,即使为此而不断地扩大这一预定存储空间在磁盘上所占的比例,预定存储空间最终还是会被充满。在扩大预定存储空间这一办法既不实用也不经济的情况下,如何优化地利用有限的预定存储空间,就成为了亟待解决的技术问题。
发明内容鉴于现有技术的如上现状,本发明的目的在于提供一种新的用于非易失性存储介质上的下载数据存储管理的方法及装置,其中,当计算机设备磁盘上的预定存储区域的空闲空间不足以保存需要保存的已下载或待下载数据时,计算机设备根据该预定存储空间上已经存储的各个数据集合的重要性信息来从中确定待清除数据,并将确定的待清除数据由该预定存储空间中清除,继而保存那些需要保存的已下载或待下载数据。为实现上述目的,根据本发明的第一方面,提供了一种在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的方法,其中,包括以下步骤当将在该非易失性存储介质的预定存储空间中保存待下载或已下载的一个或多个数据集合时,获取所述一个或多个数据集合的大小;将所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小进行比较;当所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小之差值小于预定阈值时,执行以下过程根据所述差值和/或所述预定存储空间中的一个或多个已保存数据集合的重要性信息来确定所述一个或多个已保存数据集合中的待清除数据;将所确定的待清除数据由所述预定存储空间中清除。为实现上述目的,根据本发明的第二方面,提供了一种在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的管理装置,其中,包括获取装置,用于当将在该非易失性存储介质的预定存储空间中保存待下载或已下载的一个或多个数据集合时,获7取所述一个或多个数据集合的大小;比较装置,用于将所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小进行比较;还包括以下装置,用于当所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小之差值小于预定阈值时,执行相应操作确定装置,用于根据所述差值和/或所述预定存储空间中的一个或多个已保存数据集合的重要性信息来确定所述一个或多个已保存数据集合中的待清除数据;清除装置,用于将所确定的待清除数据由所述预定存储空间中清除。采用本发明提供的方法和装置,计算机设备能够在其非易失性存储介质的预定存储空间不足以存储待下载或已下载的数据集合时,根据各个已存储的数据集合的重要性信息来智能地从中挑选重要性较低的数据集合,将挑选出的数据集合中的部分或全部数据清除。这十分有利于节约有限的非易失性存储介质的存储空间,本发明的多个优选实施例还使得自动保留用户最需要的已存储数据集合、淘汰用户最不需要的已存储数据集合成为可能。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显图1为本发明所适用的计算机网络示意图2为根据本发明的一个具体实施方式的在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的方法流程图3为根据本发明的一个具体实施例的磁盘缓存示意图4为根据本发明的一个具体实施方式的磁盘緩存初始化流程图5为根据本发明的一个具体实施方式的在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的管理装置框图。其中,相同或相似的附图标记表示相同或相似的步骤特征或装置/模块。具体实施例方式本发明的一个示例性的实施场景如图1所示的基于P2P协议的计算机网络,其中,该网络包括可以经由互联网(Internet)或企业内部互联网(Intranet)通信的用户设备1:一台个人台式电脑、用户设备2:—台笔记本电脑、用户设备3:—台网络服务器、用户设备4:一台PDA、用户设备5:机顶盒,且这些设备均支持P2P协议。本例中,用户设备1-5互为对端设备,也即,用户设备l-5中的任一方基于P2P协议来对等地为其它四方提供数据分片,并且,其中任一方基于P2P协议来从其它四方下载数据分片。以用户设备l为例,其正在使用基于P2P协议的VOD业务,具体地,用户设备1处的非易失性存储介质为一块120G的硬盘,为适应VOD服务等需要,该硬盘上预先定义了一块预定存储空间,该预定存储空间的示意图如图3所示,总的大小为1G字节。本文中为表述方便,将该硬盘上的预定存储空间称为磁盘緩存,本领域技术人员理解,因本文中所述的;兹盘緩存实际上由^兹盘的一部分组成,因此其存储性质与磁盘一样,为非易失性存储介质。这不同于作为硬盘内部存储和外界接口之间的1£冲器(Cachememory),Cachememory贝'J是加装在硬盘上的一块内存芯片,具有断电易失性和极快的存取速度。当然,缓冲器也参与磁盘缓存与外界接口之间的数据交换。磁盘緩存的定义也即初始化将在下文中结合另一流程图进行描述。由图3可见,磁盘緩存中保存了用户设备1处的用户此前点播过的4个多媒体内容的数据,分别为电视剧《Lost》的第4季第1集、动画剧集《火影忍者》第286集、动画剧集《死神》第175集以及动画电影《功夫熊猫》。其中,四个多媒体内容在磁盘緩存共1G的存储空间中总共占用了800M的空间,空闲空间大小为200M。依照本发明,以下任一项都可被称为一个数据集合1)一个完整的多媒体文件,如电影《功夫熊猫》;2)多个文件分片;3)—个文件分片。本领域技术人员理解,上述各种数据集合的定义方式主要区别在于粒度的大小,在实际应用中,本领域技术人员可以对任一种或任多种粒度下数据集合适用本发明。通过本段文字的描述,本领域技术人员可以清楚地知晓步骤S20的具体实施方式,譬如,当本发明被应用于为未下载的数据集合创造存储空间时,步骤S20可以为通过对发往网卡的数据的监视,判断本用户设备是否发出对某一数据集合的基于P2P的下载请求。而当本发明被应用于为已经下载的数据集合创造存储空间时,步骤S20可以为判断磁盘緩存写入事件触发器是否被触发,其中,为实现此功能,具体实现本发明的软件或装置需要监视操作系统中与磁盘缓存的读、写有关的事件。具体地,可以定义一个特殊的变量,该变量在磁盘緩存中任意位置处发生写操作时被置为"l",于是,上述软件或装置只需定期检查该变量的取值即可知晓是否发生了在磁盘缓存上的写操作。为了已经查出的写操作不影响下一次判断的结果,可以在知晓发生写操作之后将该变量再归零。此外,还可以使用本领域技术人员熟知的上升沿、下降沿判断方式。本例中,用户设备1可以通过以下方式来判断本用户设备1是否发出或即将发出对一个数据内容的点播请求,即用户点击某部影片链接,用户设备l中的交互模块通过对链接内容的解析,得到待播放影片的唯一标识信息,并将其通知给下层点播模块,点播模块根据该标识信息进行p2p下载。于是,在判断出本用户设备1发出了或即将发出对一个数据内容即电影《集结号》的点播请求后,该方法进入步骤S21,其中,用户设备1通过下载并检查该多媒体文件的文件控制信息来获得该电影文件的大小,通常,对于流式和非流式多媒体文件,其文件控制信息均位于整个文件首部的至少一个分片中。当然,特别对于点播业务,网络中应该存在至少一个多媒体服务器,其维护了供用户进行点播的各个多媒体内容的相关信息,其中也包含文件大小,10于是,用户设备1也可以利用该文件的文件名作为^:索入口,向该多媒体服务器查询相应多媒体文件的大小。本例中,步骤S21中获得的电影《集结号》的大小如450M。于是,在此后的步骤S22中,用户设备1将磁盘緩存上的空闲空间大小与未下载待保存的数据集合的大小进行比较。具体地,判断二者之差是否大于一个预定阈值,本例中该预定阈值为O。于是,步骤S21等价于判断200M的空闲空间是否足以保存450M的数据集合。显然,将得到否定的判断结果。在对得到否定判断结果之后的处理步骤进行进一步阐述之前,为更清楚地介绍本发明,对本文中已经或即将出现的一些概念稍作解释如下由于"下载"在严格意义上对应于设备间的数据传递过程,而上的下载之前,也可以发生在下载之后,因此此处将《集结号》称为未下载待保存的数据集合,类似地,如果一个数据集合首先下载到用户设备l的本地内存中,尚未保存到磁盘緩存中,而上述比较过程发生在所述下载之后和所述保存之前,则相应数据集合可适当地称为已下载待保存的数据集合。回到对步骤流程的描述中,步骤S23中判断出200M的空闲空间不足以保存450M的数据集合后,用户设备l需要一种方法来解决二者之间的矛盾,其中,可以采耳又以下几种方式方式1:随机地从已保存数据集合中删除数据参看图3。由于待保存数据集合大小与空闲空间大小之差为250M,因此,在淘汰粒度为文件时,用户设备1将从图3所示的四个已保存数据集合中随机地删除一至多个,被删除的数据集合大小之和大于等于250M。例如,删除《Lost》4-1和《火影忍者》第286集。方式2:将待保存的数据删除仍参看图3。既然《集结号》过大而无法全部存入磁盘緩存,用户设备1丢弃所有因点播《集结号》而下载的文件分片。优选地,该丟弃过程发生在将该分片中的数据推入播放器进行播放之后,因为在播放之后,相应文件分片中的数据对于用户设备1处的本地用户而言意义不大。当然,用户设备l也可以用《集结号》的多个分片来填充图3所示的空闲空间,当其最终被充满后,再将后续的分片丟弃。此后,如果用户点播其它多媒体内容,下载的文件分片将在其中数据全部推入播放器播放后被丟弃。方式2的一个问题在于,由于视频点播一般是一个长期的行为,因此,永远有限的磁盘緩存无法从根本上应付源源不断的待保存数据,于是,总有一个时刻,在该时刻之后,所有下载的数据都将无法保存在磁盘缓存中,也就无法向其他用户提供,或者方便本地用户的再次访问。因此,根据本发明的一个优选的实施例,在步骤S23中,用户设备1根据各个已保存数据集合的重要性信息来从中确定待清除的数据。本文中所谓的清除是指将相应的数据移出磁盘緩存,其中包括了在磁盘的其它位置另行保存相应数据的情形,以及将其彻底地删除的情形。本文中,重要性信息是一个十分重要的概念,其可以有多种含义,也即,以图3所示的《功夫熊猫》为例,其重要性信息可以包括以下各项中的任一项或者任多项该数据集合的局部访问历史信息其用于指示保存在本用户设备的磁盘上的该数据集合在最近一段时间被用户设备1的用户或用户设备2-5访问的记录信息,譬如,记录该数据集合最后一次被访问的时间。不失一般性地,当该数据集合中的部分数据因用户设备1的用户点播该数据集合所对应的多媒体内容而被推入用户设备1的播放器时,即可认为该数据集合被用户设备1的用户所访问,这种^皮本地用户的访问包括第一次下载相应分片时的访问,也即,如果一个数据集合在被首次点播并下载播放后,并未被本地用户再次点播过,则该数据集合的最近被访问时间优选地设置为该数据集合下载的完成时间或开始时间。当用户设备2-5中至少一个用户设备向用户设备1请求下载该数据集合中的至少一个文件分片时,即可认为该数据12集合被用户设备l的对端设备的用户所访问。为实现根据局部访问历史信息的已保存数据淘汰策略,用户设备1需要适时地记录本地用户及其他用户对本地磁盘上的各数据集合的访问情况,包括但不限于最后被访问时间、被访问频率。本例中,图3所示4个多媒体内容的局部访问历史信息记录形如表1:表l:局部访问历史信息示意<table>tableseeoriginaldocumentpage13</column></row><table>当重要性信息包括且仅包括各个数据集合的局部访问历史信息时,用户设备1将最久未被用户设备1处的用户或其对端设备的用户访问的数据集合中的部分或全部数据清除出所述磁盘緩存,或者,将被访问频率最低的数据集合中的部分或全部数据清除出去。优选地,清除的数据量根据《集结号》与磁盘緩存的空闲空间大小之差来确定,如,清除的数据量减去所述大小之差所得的结果大于等于另一预定阈值。本领域技术人员理解,所述另一预定阈值可以与步骤S22中所述的预定阈值相同,也可不同。本领域技术人员理解,表l所示仅为示例,不构成对本发明保护范围的限制。相应已保存数据集合的自定义优先级信息可以理解,一个用户对于不同的数据集合尤其是不同的多媒体文件或许存在偏好,因此可选地,本发明在用户i殳备1处的用户使用输入设备来对一个多媒体文件进行点播时,或者,当用户设备l应用户的点播需求而将一个多J某体文件下载完成时,通过人机交互界面来提示用户赋予该多媒体文件相应的自定义优先级信息,如高、中、低等。本例中,图3所示的各个数据集合的自定义优先级信息如表2所示表2:自定义优先级信息示意数据集合名称自定义优先级《Lost》4-1普通《火影忍者》第286集较高《死神》第175集低《功夫熊猫》最高于是,当重要性信息包括且仅包括各个数据集合的自定义优先级信息时,用户设备1将优先级最低的一个或多个数据集合中的部分或全部数据清除出所述^t盘緩存,同样,清除的数据量根据《集结号》与磁盘緩存的空闲空间大小之差来确定,如,清除的数据量减去所述大小之差所得的结果大于等于另一预定阈值。本领域技术人员理解,所述另一预定阈值可以与步骤S22中所述的预定阈值相同,也可不同。本领域技术人员理解,表2所示仅为示例,不构成对本发明保护范围的限制。表2中仅体现了多媒体内容的自定义优先级,如本文中反复强调的,本发明同样适用于其它类型文件的基于P2P的下载和保存过程,因此,用户可以通过使用承载本发明的软件的界面来定义不同类型文件所对应的数据集合在面临淘汰时的优先级,例如,.doc文件的数据集合优先级最高,其次为.exe文件所对应的数据集合,再次为.avi文件所对应的数据集合,然后是.rm及其他类型文件的数据集合。上文中,数据集合这一概念体现为一个完整的多媒体文件,事实上,待保存的数据集合也好,被清除的数据集合中的数据也罢,均可以以文件分片为单位,甚至可以是单个的文件分片。换言之,本发明适用于以下情形以图3所示为例,并考虑一个多媒体文件的各个文述步骤S20-S22及相应后续步骤,由于当前200M的空闲空间对于一个文件分片而言是比较大的,因此,多次的步骤S22中均将得到肯定的判断结果,用户设备1将为点播《集结号》而下载的相应文件分片保存在图3所示的空闲空间中,于是,该空闲空间不断地缩小再缩小,最终缩小至小于一个文件分片大小。此时,当再次执行步骤S22时,将得到否定的判断结果,于是,优选地,用户设备l以文件分片的粒度来淘汰已保存的数据。为适应这种淘汰粒度,表l、表2中的最左一栏将细化为各个数据集合中的各个文件分片的编号,而其它表项也将细化为与各个文件分片对应的信息。此处不再赘述。下面这一情形尤其适用于本发明为每个文件分片执行所述步骤S20至25的场景,详细描述如下。其中,数据集合的概念优选地应理解为文件分片,且数据集合的重要性信息包含且仅包含相应已保存数据集合的内容属性信息上文中,在对根据用户自定义优先级信息进行数据淘汰进行讨论时,谈及了属于不同类型文件的分片可以被用户自定义为不同的优先级。事实上,不同类型文件所对应的数据集合的优先级可以是预先设置好的,不需要用户的认为参与来定义,或者,用户设备l可以根据用户对该设备的使用习惯来自动且智能地为不同类型的文件定义不同的优先级。例如,.exe,.doc等类型文件在承载本发明的应用软件出场时即被分别赋予了不同的优先级,而这些优先级体现为相应已保存数据集合的内容属性信息。在需要进行已保存数据的淘汰时,用户设备l可以根据不同数据集合的内容属性信息来确定待清除数据。根据本领域技术人员的常识,采用P2P技术的下载软件会针对文件分片的文件名、分片编号和写入的緩存位置来建立索引。由此,本地用户再次访问相应文件分片时,能够根据该索引快速查询、访问存储在磁盘緩存上的数据。同样,在执行步骤S24中的待清除数据的确定时,用户设备1可以根据各个文件分片所对应的文件名尤其是扩展名来确定待清除数据。此外,此后执行的步骤S24也可以依赖这些索引项,来准确地定位待清除文件分片并将其清除。根据本发明的一个特殊实施例,其尤其适用于已保存的数据集合为视频数据分片或其集合的情形。在步骤S24中,用户设备l根据各个电影、剧集的文件控制信息,确定位于其该文件头部中特定位置的若干个文件分片作为待清除的数据。这一做法的可行性依赖于,一般情形下,电影、剧集的高潮发生在其中后部,删除前部的文件分片对于整体精彩性的影响较低。用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息在P2P网络中,存在用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息,例如健康度。健康度243%表示将现在正在下载同一文件的用户的已下载数据进行组合,可以构成2.43个完整文件。于是,当一个文件的健康度大于100%,就存在理论上完整下载该文件的可能。于是,考虑到P2P网络要求各个用户在下载的同时尽量提供上传,因此,一个文件的健康度越高,就表示网络中这个文件的可供下载的资源越丰富,本用户设备将其保留而不删除的意义就越小。于是,将该文件所对应的全部或部分文件分片确定为待清除数据。当然,现有意义上的健康度通常针对一个完整的文件。为以各种形式实现本发明,还可以灵活地定义各种粒度的数据集合的等价于健康度16的指示信息。例如,对于每个文件分片,定义一个信息,该信息指示所有正在下载该文件的用户设备中共有多少用户设备下载了该文件分片。于是,已经下载一个文件分片的用户设备越多,用户设备l保留该文件分片而不将其清除的意义就越小。因此,优选地将其确定为待清除数据。相应已保存数据集合的全局访问历史信息。在单独基于此种信息进行已保存数据集合中待清除数据的确定时,用户设备1所依赖的是一种全局的统计信息,因此,步骤S23中包括一个子步骤,其中,用户设备1向一个负责记录并更新上述统计信息的网络服务器获取这一信息,并依此进行确定操作。其中,获得的全局访问历史信息可以多个如表1所示的局部访问历史信息的代数加和,〗旦也不限于jt匕。在本例中,用户设备1将最近一段时间内最少被网络中的用户访问的数据集合中的部分或全部数据确定为待清除数据,或者,将最后一次^^皮访问的时间距当前时间最远的一个或多个数据集合中的部分或全部数据确定为待清除数据。上文中,针对用户设备1单独地根据一种重要性信息来决定是否清除一个数据集合的情形进行了阐述。事实上,本发明完全可以适用于用户设备l联合考虑各个数据集合的各类重要性信息从而决定清除哪些数据的情形。在上文的详细介绍的基础上,筒要描述如下本发明可以为一个数据集合的不同的重要性信息赋予不同的权重,包括但不限于-相应已保存数据集合的局部访问历史信息权重为0.5;-相应已保存数据集合的自定义优先级信息权重为0.2;-相应已保存数据集合的内容属性信息权重为0.1;-用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息权重为0.1;-相应已保存数据集合的全局访问历史信息权重为0.1。在此基础上,根据各个已保存数据集合在各项重要性信息上的排名,为其l!武予一个相应的^皮加片又值。例如,当图3所示的《Lost》4-1、《火影忍者》第286集、《死神》第175集和《功夫熊猫》在局部访问历史信息的自定义优先级递增时,各个数据集合的与自定义优先级信息相对应的被加权值依次为1、2、3、4,也即,越可能被最先清除,被加权值越低。本领域技术人员理解,已保存数据集合的各类重要性信息所对应的被加权值的赋值原则应是一致的,且在不同的已保存数据集合之间,这一原则也应一致。这样,即可根据相应的赋值原则来选择加权求和后结果最高/最低的数据集合为确定结果。对于上述情形,即自定义优先级越低则一皮加权值越低,则应选择加一又求和的结果最低的数据集合中的部分或全部数据作为待清除数据。步骤S25涉及对所确定的待清除数据的清除,其实质内容在上文中已经详细述及。本领域技术人员理解,以上结合VOD进行的描述仅为示例,本发明并不限于VOD,甚至不限于多媒体数据的下载和保存,事实上,其适用于任何基于文件分片的下载、保存过程中需要进行已保存数据的淘汰的场景,甚至可以应用于基于服务器/用户端(C/S)模式的用户设备。在结合图2对本发明所提供的方法进行了较为详细的描述之后,再来对磁盘緩存的初始化过程进行一些介绍。参看图4,其中提供了该过程的详细流程。图中未示出基本参数初始化的过程,磁盘緩存空间预设大小Sl,如图3所示情形中的1G。系统分区预留大小S2,非系统分区预留大小S3,且满足S2〉S3。实际系统中,S1可以取1G,S2可以取1G,S3可以取0.5G。触发器可以用操作系统提供的消息机制来实现,这在上文中已经提及。本领域技术人员理解,磁盘緩存通常无需为每次下载来重复执行,因此,图4所示的流程或许在相当长的时间内仅^丸行一次。步骤S30:扫描系统,获得非移动磁盘,如IDE,SCIC,的逻辑分区信息,其中,逻辑分区信息主要包括,磁盘是否为系统盘,磁18盘空闲空间大小等等。步骤S31:在系统分区中选取剩余磁盘空间最大的分区,其剩余空间大小记为S4;在非系统分区中选取剩余空间最大的分区,其剩余空间大小记为S5。步骤S32:判断是否满足S5:^4且S5-S3〉S1,如果满足,则进入步骤S33',否则转入步骤S33。步骤S33:判断是否满足S4>S5且S4-S2>S1,如果满足进入步骤S34,否则转入步骤S34'。步骤S34,判断是否满足S5<S4&S4-S2<S1&S5-S3>S1,如果满足进入步骤S33,,否则转入步骤S35'。步骤S33,在S5所对应的分区上分配Sl的空间作为磁盘緩存空间。进入步骤S35。步骤S34,在S4所对应的分区上分配Sl的空间作为磁盘緩存空间,进入步骤S35。步骤35,向上层模块返回磁盘缓存初始化失败消息。磁盘初始化过程结束。其中,初始化失败信息可以为一个布尔值,为0。用于判断初始化是否成功。通常,即使磁盘缓存初始化失败,也不会影响其他模块运行,用户设备l依然能够下载数据,只是数据下载后推入播放器中播放后将被直接遗弃,而不会在本地磁盘上保存。步骤35:返回磁盘緩存初始化成功消息,磁盘初始化结束。初始化成功信息可以为一个布尔值,为1。用于判断初始化是否成功。以下,结合图5对本发明所提供的管理装置进行详细介绍。该管理装置50包括获取装置500、比较装置501、确定装置502、清除装置503和监视装置504,其中,该确定装置502进一步包括解析装置5020、第一从确定装置5021、获得装置5022和第二从确定装置5023。其中,获取装置500通过下载并检查该多媒体文件的文件控制信息来获得该电影文件的大小,通常,对于流式和非流式多媒体文件,其文件控制信息均位于整个文件首部的至少一个分片中。当然,特别对于点播业务,网络中应该存在至少一个多媒体服务器,其维护了供用户进行点播的各个多媒体内容的相关信息,其中也包含文件大小,于是,用户i殳备1也可以利用该文件的文件名作为^r索入口,向该多媒体服务器查询相应多媒体文件的大小。本例中,获取装置500所获得的电影《集结号》的大小如450M,并将该大小信息告知比较装置501,于是,此后由比较装置501来将磁盘缓存上的空闲空间大小与未下载待保存的数据集合的大小进行比较。具体地,判断二者之差是否大于一个预定阈值,本例中该预定阈值为0。于是,比较装置501所执行的比较步骤等价于判断200M的空闲空间是否足以保存450M的数据集合。显然,将得到否定的判断结果。由比较装置501判断出200M的空闲空间不足以保存450M的数据集合后,用户设备1需要一种方法来解决二者之间的矛盾,其中,可以采耳又以下几种方式方式l:随机地从已保存数据集合中删除数据参看图3。由于待保存数据集合大小与空闲空间大小之差为250M,因此,在淘汰粒度为文件时,用户设备1将乂人图3所示的四个已保存数据集合中随机地删除一至多个,被删除的数据集合大小之和大于等于250M。例如,删除《Lost》4-1和《火影忍者》第286集。方式2:将待保存的数据删除仍参看图3。既然《集结号》过大而无法全部存入磁盘緩存,用户设备1丟弃所有因点播《集结号》而下载的文件分片。优选地,该丟弃过程发生在将该分片中的数据推入播放器进行播放之后,因为在播放之后,相应文件分片中的数据对于用户设备1处的本地用户而言意义不大。当然,用户设备l也可以用《集结号》的多个分片来填充图3所示的空闲空间,当其最终被充满后,再将后续的分片丟弃。此后,如果用户点播其它多媒体内容,下载的文件分片将在其中数据全部推入播放器播放后被丢弃。方式2的一个问题在于,由于视频点播一般是一个长期的行为,20因此,永远有限的磁盘緩存无法从根本上应付源源不断的待保存数据,于是,总有一个时刻,在该时刻之后,所有下载的数据都将无法保存在磁盘緩存中,也就无法向其他用户提供,或者方便本地用户的再次访问。因此,根据本发明的一个优选的实施例,用户设备l处的确定装置502根据各个已保存数据集合的重要性信息来从中确定待清除的数据。本文中所谓的清除是指将相应的数据移出磁盘緩存,其中包括了在磁盘的其它位置另行保存相应数据的情形,以及将其彻底地删除的情形。本文中,重要性信息是一个十分重要的概念,其可以有多种含义,也即,以图3所示的《功夫熊猫》为例,其重要性信息可以包括以下各项中的任一项或者任多项该数据集合的局部访问历史信息其用于指示保存在本用户设备的磁盘上的该数据集合在最近一段时间一皮用户设备1的用户或用户设备2-5访问的记录信息,譬如,记录该数据集合最后一次被访问的时间。不失一般性地,当该数据集合中的部分数据因用户设备1的用户点播该数据集合所对应的多媒体内容而被推入用户设备1的播放器时,即可认为该数据集合被用户设备1的用户所访问,这种被本地用户的访问包括第一次下载相应分片时的访问,也即,如果一个数据集合在被首次点播并下载播放后,并未被本地用户再次点播过,则该数据集合的最近被访问时间优选地设置为该数据集合下载的完成时间或开始时间。当用户设备2-5中至少一个用户设备向用户设备1请求下载该数据集合中的至少一个文件分片时,即可认为该数据集合被用户设备1的对端设备的用户所访问。为实现根据局部访问历史信息的已保存数据淘汰策略,用户设备1处的监视装置504负责适时地记录本地用户及其他用户对本地磁盘上的各数据集合的访问情况,包括但不限于最后祐:访问时间、^皮访问频率。本例中,图3所示4个多媒体内容的局部访问历史信息记录形如上文中的表1所示。当重要性信息包括且仅包括各个数据集合的局部访问历史信息时,用户设备1处的确定装置502将最久未被用户设备1处的用户或其对端设备的用户访问的数据集合中的部分或全部数据确定为待清除数据,或者,将被访问频率最低的数据集合中的部分或全部数据确定为待清除数据。优选地,待清除数据的数据量根据《集结号》与磁盘緩存的空闲空间大小之差来确定,如,待清除数据的数据量减去所述大小之差所得的结果大于等于另一预定阈值。本领域技术人员理解,所述另一预定阈值可以上文中所述的预定阈值相同,也可不同。本领域技术人员理解,表1所示仅为示例,不构成对本发明保护范围的限制。相应已保存数据集合的自定义优先级信息可以理解,一个用户对于不同的数据集合尤其是不同的多媒体文件或许存在偏好,因此可选地,本发明在用户设备1处的用户使用输入设备来对一个多媒体文件进行点播时,或者,当用户设备l应用户的点播需求而将一个多媒体文件下载完成时,通过人机交互界面来提示用户赋予该多媒体文件相应的自定义优先级信息,如高、中、低等。本例中,图3所示的各个数据集合的自定义优先级信息如上文中的表2所示。于是,当重要性信息包括且仅包括各个数据集合的自定义优先级信息时,用户设备1处的确定装置502将优先级最低的一个或多个数据集合中的部分或全部数据确定为待清除数据。同样,待清除数据的数据量根据《集结号》与磁盘緩存的空闲空间大小之差来确定,如,待清除数据的数据量减去所述大小之差所得的结果大于等于另一预定阈值。本领域技术人员理解,所述另一预定阈值可以上文中所述的预定阈值相同,也可不同。本领域技术人员理解,表2所示仅为示例,不构成对本发明保护范围的限制。表2中仅体现了多媒体内容的自定义优先级,如本文中反复强调的,本发明同样适用于其它类型文件的基于P2P的下载和保存过程,因此,用户可以通过使用承载本发明的软件的界面来定义不同类型文件所对应的数据集合在面临淘汰时的优先级,例如,.doc文件的数据集合优先级最高,其次为.exe文件所对应的数据集合,再次为.avi文件所对应的数据集合,然后是.rm及其他类型文件的数据集合。上文中,数据集合这一概念体现为一个完整的多媒体文件,事实上,待保存的数据集合也好,被清除的数据集合中的数据也罢,均可以以文件分片为单位,甚至可以是单个的文件分片。换言之,本发明适用于以下情形以图3所示为例,并考虑一个多媒体文件的各个文件分片大小相同,其中,获取装置500、比较装置501以及确定装置502为每个待下载的文件分片单独执行相应操作,其它装置也相应地执行后续操作。由于当前200M的空闲空间对于一个文件分片而言是比较大的,因此,比较装置501多次比较均得到肯定的结果,即所述空闲空间大小足以保存待保存的文件分片,用户设备1将为点播《集结号》而下载的相应文件分片保存在图3所示的空闲空间中,于是,该空闲空间不断地缩小再缩小,最终缩小至小于一个文件分片大小。此时,当比较装置501再次进行比较时,将得到否定的判断结果,于是,优选地,确定装置502以文件分片的粒度来确定待清除数据。为适应这种淘汰粒度,表l、表2中的最左一栏将细化为各个数据集合中的各个文件分片的编号,而其它表项也将细化为与各个文件分片对应的信息。此处不再赘述。相应已保存数据集合的内容属性信息上文中,在对根据用户自定义优先级信息进行数据淘汰进行讨论时,谈及了属于不同类型文件的分片可以被用户自定义为不同的优先级。事实上,不同类型文件所对应的数据集合的优先级可以是预先设置好的,不需要用户的认为参与来定义,或者,用户设备l可以根据用户对该设备的使用习惯来自动且智能地为不同类型的文件定义不同的优先级。例如,.exe,.doc等类型文件在承载本发明的应用软件出场时即被分别赋予了不同的优先级,而这些优先级体现为相应已保存数据集合的内容属性信息。在需要进行已保存数据的淘汰时,可以由解析装置5020来对各个已保存的数据集合的内容进行解析,并由第一从确定装置5021来根据不同数据集合的内容属性信息来确定待清除数据。根据本领域技术人员的常识,采用P2P技术的下载软件会针对文件分片的文件名、分片编号和写入的缓存位置来建立索引。由此,本地用户再次访问相应文件分片时,能够根据该索引快速查询、访问存储在磁盘上的数据。同样,解析装置5020可以解析出已保存数据集合(文件)的文件名,并由第一从确定装置5021来根据各个文件分片所对应的文件名尤其是扩展名来确定待清除数据。此后,清除装置503也可以依赖这些索引项来准确地定位待清除文件分片并将其清除。根据本发明的一个特殊实施例,其尤其适用于已保存的数据集合为视频数据分片或其集合的情形。解析装置5020根据各个电影、剧集的文件控制信息,辅助第一从确定装置5021确定位于其该文件头部中特定位置的若干个文件分片作为待清除的数据。这一做法的可行性依赖于,一般情形下,电影、剧集的高潮发生在其中后部,删除前部的文件分片对于整体精彩性的影响较低。用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息在P2P网络中,存在用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息,例如健康度。健康度243%表示将现在正在下载同一文件的用户的已下载数据进行组合,可以构成2.43个完整文件。于是,当一个文件的健康度大于100%,就存在理论上完整下载该文件的可能。于是,考虑到P2P网络要求各个用户在下载的同时尽量提供上传,因此,一个文件的健康度越高,就表示网络中这个文件的可供下载的资源越丰富,本用户设备将其保留而不删除的意义就越小。于是,将该文件所对应的全部或部分文件分片确定为待清除数据。24当然,现有意义上的健康度通常针对一个完整的文件。为以各种形式实现本发明,还可以灵活地定义各种粒度的数据集合的等价于健康度的指示信息。例如,对于每个文件分片,定义一个信息,该信息指示所有正在下载该文件的用户设备中共有多少用户设备下载了该文件分片。于是,已经下载一个文件分片的用户设备越多,用户设备l保留该文件分片而不将其清除的意义就越小。因此,优选地将其确定为待清除数据。相应已保存数据集合的全局访问历史信息。在单独基于此种信息进行已保存数据集合中待清除数据的确定时,用户设备1所依赖的是一种全局的统计信息,因此,由确定装置502中的一个获得装置5022来向一个负责记录并更新上述统计信息的网络服务器获得这一信息,并由第二从确定装置5023依此进行确定操作。其中,获得的全局访问历史信息可以多个如表1所示的局部访问历史信息的代数加和,但也不限于此。在本例中,第二从确定装置5023将最近一段时间内最少被网络中的用户访问的数据集合中的部分或全部数据确定为待清除数据,或者,将最后一次被访问的时间距当前时间最远的一个或多个数据集合中的部分或全部数据确定为待清除数据。上文中,针对用户设备1单独地根据一种重要性信息来决定是否清除一个数据集合的情形进行了阐述。事实上,本发明完全可以适用于确定装置502联合考虑各个数据集合的各类重要性信息从而决定清除哪些数据的情形。在上文的详细介绍的基础上,简要描述如下本发明可以为一个数据集合的不同的重要性信息赋予不同的权重,包括但不限于-相应已保存数据集合的局部访问历史信息权重为0.5;-相应已保存数据集合的自定义优先级信息权重为0.2;-相应已保存数据集合的内容属性信息权重为0.1;-用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息权重为0.1;-相应已保存数据集合的全局访问历史信息权重为O.l。在此基础上,根据各个已保存数据集合在各项重要性信息上的排名,为其赋予一个相应的被加权值。例如,当图3所示的《Lost》4-1、《火影忍者》第286集、《死神》第175集和《功夫熊猫》在局部访问历史信息的自定义优先级递增时,各个数据集合的与自定义优先级信息相对应的被加权值依次为1、2、3、4,也即,越可能被最先清除,被加权值越低。本领域技术人员理解,已保存数据集合的各类重要性信息所对应的被加权值的赋值原则应是一致的,且在不同的已保存数据集合之间,这一原则也应一致。这样,即可才艮据相应的赋值原则来选择加权求和后结果最高/最低的数据集合为确定结果。对于上述情形,即自定义优先级越低则被加4又值越低,则应选择加权求和的结果最低的数据集合中的部分或全部数据作为待清除数据。清除装置503涉及对所确定的待清除数据的清除,其实质内容在上文中已经详细述及。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。权利要求1.一种在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的方法,其中,包括以下步骤a.当将在该非易失性存储介质的预定存储空间中保存待下载或已下载的一个或多个数据集合时,获取所述一个或多个数据集合的大小;b.将所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小进行比较;c.当所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小之差值小于预定阈值时,执行以下过程i.根据所述差值和/或所述预定存储空间中的一个或多个已保存数据集合的重要性信息来确定所述一个或多个已保存数据集合中的待清除数据;ii.将所确定的待清除数据由所述预定存储空间中清除。2.根据权利要求1所述的方法,其特征在于,所述重要性信息包括以下各项中的4壬一项或4壬多项-相应已保存凝:据集合的局部访问历史信息;-相应已保存数据集合的自定义优先级信息;-相应已保存凄i据集合的内容属性信息;-用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息;-相应已保存数据集合的全局访问历史信息。3.根据权利要求2所述的方法,其特征在于,当所述重要性信息包括相应已保存数据集合的访问历史信息时,所述步骤i包括-由一个或多个较久未被本计算机设备的用户或所述一个或多个对端设备的用户访问的已保存数据集合中确定所述待清除数据。4.根据权利要求3所述的方法,其特征在于,还包括述一个或多个已保存数据集合的访问,以记录或更新所述各个已保存内容的访问历史信息。5.根据权利要求2所述的方法,其特征在于,当所述重要性信息包括相应数据集合的自定义优先级信息时,所述步骤i包括-由一个或多个具有较低自定义优先级的已保存数据集合中确定所述待清除数据。6.根据权利要求2所述的方法,其特征在于,当所述重要性信息包括相应已保存数据集合的内容属性信息时,所述步骤i包括i1.对所述一个或多个已保存数据集合中的数据进行解析,以得到与所述各个已保存数据集合相对应的解析结果;i2.根据预定规则以及所述解析结果,由所述一个或多个已保存数据集合中确定所述待清除数据。7.根据权利要求2所述的方法,其特征在于,当所述重要性信息包括用于指示其它一个或多个计算机设备对相应已保存数据集合的占有情况的指示信息时,所述步骤i包括-由被较多的对端设备占有的一个或多个已保存数据集合中确定所述待清除数据。8.根据权利要求2所述的方法,其特征在于,当所述重要性信息包括用于指示相应已保存数据集合的全局访问历史信息时,所述步骤i包括-获得各个已保存数据集合的全局访问历史信息,其用于指示本计算机设备及所述各个对端设备对相应已保存数据集合或其在任一对端设备上的副本的访问频率和/或最近访问时间;-根据所述全局访问历史信息,由其自身或其副本受访问频率较低和/或较久未被访问的一个或多个已保存数据集合中确定所述待清除数据。9.一种在计算机设备中对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的管理装置,其中,包括获取装置,用于当将在该非易失性存储介质的预定存储空间中保存待下载或已下载的一个或多个数据集合时,获取所述一个或多个数据集合的大小;比较装置,用于将所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小进行比较;还包括以下装置,用于当所述预定存储空间的空闲空间大小与所述一个或多个数据集合的大小之差值小于预定阈值时,执行相应操作确定装置,用于根据所述差值和/或所述预定存储空间中的一个或多个已保存数据集合的重要性信息来确定所述一个或多个已保存数据集合中的待清除数据;清除装置,用于将所确定的待清除数据由所述预定存储空间中清除。10.根据权利要求9所述的管理装置,其特征在于,所述重要性信息包括以下各项中的任一项或任多项-相应已保存数据集合的局部访问历史信息;-相应已保存数据集合的自定义优先级信息;-相应已保存数据集合的内容属性信息;-用于指示本计算机设备的一个或多个对端设备对相应已保存数据集合的占用情况的指示信息;-相应已保存数据集合的全局访问历史信息。11.根据权利要求IO所述的管理装置,其特征在于,当所述重要性信息包括相应已保存数据集合的访问历史信息时,所述确定装置还用于,由一个或多个较久未被本计算机设备的用户或所述一个或多个对端设备的用户访问的已保存数据集合中确定所述待清除数据。12.根据权利要求IO所述的管理装置,其特征在于,还包括备的用户对所述一个或多个已保存数据集合的访问,以记录或更新所述各个已保存内容的访问历史信息。13.根据权利要求IO所述的管理装置,其特征在于,当所述重要性信息包括相应数据集合的自定义优先级信息时,所述确定装置还用于,由一个或多个具有较低自定义优先级的已保存数据集合中确定所述待清除数据。14.根据权利要求IO所述的管理装置,其特征在于,当所述重要性信息包括相应已保存数据集合的内容属性信息时,所述确定装置包括解析装置,用于对所述一个或多个已保存数据集合中的数据进行解析,以得到与所述各个已保存数据集合相对应的解析结果;第一从确定装置,用于根据预定规则以及所述解析结果,由所述一个或多个已保存数据集合中确定所述待清除数据。15.根据权利要求IO所述的管理装置,其特征在于,当所述重要性信息包括用于指示其它一个或多个计算机设备对相应已保存数据集合的占有情况的指示信息时,所述确定装置还用于,由被较多的对端设备占有的一个或多个已保存数据集合中确定所述待清除数据。16.根据权利要求IO所述的管理装置,其特征在于,当所述重要性信息包括用于指示相应已保存数据集合的全局访问历史信息时,所述确定装置包括-.获得装置,用于获得各个已保存数据集合的全局访问历史信息,其用于指示本计算机设备及所述各个对端设备对相应已保存数据集合或其在任一对端设备上的副本的访问频率和/或最近访问时间;第二从确定装置,用于根据所述全局访问历史信息,由其自身或其副本受访问频率较低和/或较久未被访问的一个或多个已保存数据集合中确定所述待清除数据。17.—种计算机设备,其特征在于,包括根据权利要求9至16中任一项所述的用于对基于文件分片的下载数据在非易失性存储介质上的存储进行管理的管理装置。全文摘要本发明提供了一种新的用于非易失性存储介质上的下载数据存储管理的方法及装置,其中,当计算机设备磁盘上的预定存储区域的空闲空间不足以保存需要保存的已下载或待下载数据时,计算机设备根据该预定存储空间上已经存储的各个数据集合的重要性信息来从中确定待清除数据,并将确定的待清除数据由该预定存储空间中清除,继而保存那些需要保存的已下载或待下载数据。这样,可以自动保留用户最需要的已存储数据集合、淘汰用户最不需要的已存储数据集合,十分有利于节约有限的非易失性存储介质的存储空间。文档编号H04L29/08GK101635734SQ200810040838公开日2010年1月27日申请日期2008年7月22日优先权日2008年7月22日发明者付国为,彭晓宇申请人:上海聚力传媒技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1