CN104010016B - 数据管理方法、云端服务器及终端设备 - Google Patents
数据管理方法、云端服务器及终端设备 Download PDFInfo
- Publication number
- CN104010016B CN104010016B CN201310061932.2A CN201310061932A CN104010016B CN 104010016 B CN104010016 B CN 104010016B CN 201310061932 A CN201310061932 A CN 201310061932A CN 104010016 B CN104010016 B CN 104010016B
- Authority
- CN
- China
- Prior art keywords
- file
- fingerprint
- cloud server
- user
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
公开了云端服务器、终端设备、及其数据管理方法。该数据管理方法包括:从第一用户的终端设备接收对第一文件的文件上传请求,所述文件上传请求包括第一文件的文件指纹和元数据,所述文件指纹唯一地标识所述第一文件,所述元数据描述所述第一文件的属性;在云端服务器利用所述文件指纹进行检索;在检索到在云端服务器存在所述文件指纹的情况下,将所述文件指纹和所述元数据记录到所述第一用户的个人数据管理库中,并且不再从第一用户的终端设备接收该第一文件的文件数据。通过利用用于唯一性地标识一个文件的文件指纹进行文件管理,对于每个文件指纹在云端服务器上仅存储一个相应数据文件,大大降低了云端服务器上的冗余程度。
Description
技术领域
本发明涉及云端服务器数据管理,更具体地涉及一种云端服务器数据管理方法及云端服务器、终端设备数据管理方法及终端设备。
背景技术
对于个人云,目前对用户文件的管理、上传和下载都由单一用户与服务器进行通信来完成。
针对目前的这种用户文件的管理机制,导致了在云端服务器出现大量的文件冗余,即,如果许多不同用户上传了相同的文件(例如,同一部电影或同一首歌曲等等),则需要针对每个用户单独存储一份拷贝,这将造成严重的数据冗余,大大浪费了云端服务器的存储空间。
另一方面,目前的这种用户文件的管理机制也导致了以云端服务器为中心的热点效应,造成了云端服务器的高负载,需要较高的部署成本,并且同时也使得用户上传和下载速度较低。
因此,需要一种云端服务器文件管理机制,其能够大大降低云端服务器数据存储的冗余度,能够提高用户上传和下载数据。
发明内容
为了解决上述技术问题,本发明提供了一种云端服务器数据管理方法,其利用用于唯一性地标识一个文件的文件指纹进行管理,对于每个文件指纹在云端服务器上仅存储一个相应数据文件,并且在云端服务器上记录已经发布了具有该文件指纹的文件的其它终端设备的地址,从而大大降低了云端服务器上的冗余程度,并且通过云端服务器使能了P2P下载和上载功能。
根据本发明的一个方面,提供了一种数据管理方法,应用于云端服务器,包括:从第一用户的第一终端设备接收文件上传请求,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件,所述第一文件的元数据描述所述第一文件的属性;在云端服务器利用所述第一文件的文件指纹进行检索;在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中,并且不再从第一用户的第一终端设备接收该第一文件的文件数据。
优选地,在所述应用于云端服务器的数据管理方法中,还包括:在检索到在云端服务器不存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中;从第一用户的第一终端设备接收该第一文件的文件数据;生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息;以及将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中。
优选地,在所述应用于云端服务器的数据管理方法中,还包括:在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一用户的第一终端设备的地址信息添加到与所述种子文件对应的索引记录中,以便更新索引记录。
优选地,在所述应用于云端服务器的数据管理方法中,还包括:从第一用户的第二终端设备接收对于所述第一文件的文件下载请求;以及向该第一用户的第二终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
优选地,在所述应用于云端服务器的数据管理方法中,还包括:从第二用户的终端设备接收文件下载请求,所述文件下载请求包含所述第一文件的元数据中的至少一部分;根据所述第一文件的元数据中的至少一部分,检索所述第一文件的文件指纹;以及向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
优选地,在所述应用于云端服务器的数据管理方法中,与所述种子文件对应的所述索引记录中包括已经向云端服务器上传了所述第一文件的文件指纹的其它终端设备的地址信息。
此外,根据本发明的另一方面,提供了一种云端服务器,包括:上传请求接收部件,用于从第一用户的第一终端设备接收文件上传请求,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件,所述第一文件的元数据描述所述第一文件的属性;文件指纹检索部件,用于在云端服务器利用所述第一文件的文件指纹进行检索;上传文件接收部件,用于从第一用户的第一终端设备接收所述第一文件的文件数据;以及上传管理部件,用于在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中,并且控制所述上传文件接收部件不再从第一用户的第一终端设备接收该第一文件的文件数据。
优选地,在所述云端服务器中,在所述文件指纹检索部件检索到在云端服务器不存在所述第一文件的文件指纹的情况下,所述上传管理部件将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中;所述上传文件接收部件从第一用户的第一终端设备接收所述第一文件的文件数据;所述上传管理部件生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息,并且将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中。
优选地,在所述云端服务器中,在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一用户的第一终端设备的地址信息添加到与所述种子文件对应的索引记录中,以便更新索引记录。
优选地,所述云端服务器还包括:下载请求接收部件,用于从第一用户的第二终端设备接收对于所述第一文件的文件下载请求;以及数据下传部件,用于向该第一用户的第二终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
优选地,所述云端服务器还包括:下载请求接收部件,用于从第二用户的终端设备接收文件下载请求,所述文件下载请求包含所述第一文件的元数据中的至少一部分;元数据检索部件,用于根据所述第一文件的元数据中的至少一部分检索所述第一文件的文件指纹;以及数据下传部件,向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
根据本发明的又一方面,提供了一种数据管理方法,应用于终端设备,包括:生成第一文件的文件指纹;向云端服务器发送文件上传请求,所述文件上传请求包括所述第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件;从云端服务器接收上传完成消息,其中,在云端服务器存在所述第一文件的文件指纹的情况下,云端服务器发送所述上传完成消息;以及不再上传所述第一文件的文件数据。
优选地,所述应用于终端设备的数据管理方法还包括:向云端服务器发送文件下载请求;从云端服务器接收与所述第一文件相对应的种子文件;以及依据所述种子文件进行所述第一文件的下载。
优选地,在所述应用于终端设备的数据管理方法中,依据所述种子文件进行所述第一文件的下载包括利用P2P协议从所述其它终端设备下载所述第一文件。
根据本发明的再一方面,提供了一种终端设备,包括:文件指纹生成部件,用于生成第一文件的文件指纹;上传请求发送部件,用于向云端服务器发送文件上传请求,所述文件上传请求包括所述第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件;上传完成接收部件,用于从云端服务器接收上传完成消息,其中,在云端服务器存在所述第一文件的文件指纹的情况下,云端服务器发送所述上传完成消息;以及文件数据上传部件,用于在所述上传完成接收部件没有从云端服务器接收到上传完成消息的情况下向云端服务器上传所述第一文件的文件数据,并且在所述上传完成接收部件从云端服务器接收到上传完成消息的情况下不再上传所述第一文件的文件数据。
优选地,所述终端设备还包括:下载请求发送部件,用于向云端服务器发送文件下载请求;种子文件接收部件,用于从云端服务器接收与所述第一文件相对应的种子文件;以及文件数据下载部件,用于依据所述种子文件进行所述第一文件的下载。
采用根据本发明的数据管理方法、云端服务器和终端设备,大大降低了在云端服务器上存储的数据冗余度,加快了数据的上传和下载速度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1图示了根据本发明实施例的在个人云存储中根据文件指纹进行P2P数据源的示意图;
图2图示了根据本发明实施例的应用于终端设备的数据管理方法的流程图;
图3图示了根据本发明实施例的应用于云端服务器的数据管理方法的流程图;
图4图示了根据本发明实施例的应用于终端设备的另一数据管理方法的流程图;
图5图示了根据本发明实施例的云端服务器的示意性框图;以及
图6图示了根据本发明实施例的终端设备的示意性框图。
具体实施方式
将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
如图1所示,示出了根据本发明实施例的在个人云存储中根据文件指纹进行P2P数据源的示意图。
根据本发明实施例,在云端服务器中利用文件指纹对数据文件进行文件比对并编制文件索引,以便进行数据管理。通过文件指纹唯一地标识数据文件,应了解,同一数据文件可能具有不同的文件名称。对于每个文件指纹,在云端服务器中仅唯一地存储其对应的数据文件,而不会因为多个用户需要上传该数据文件而存储了多份相同的数据文件,无论这些相同的数据文件是否具有相同的文件名称。这显然降低了云端服务器中的数据冗余度。
此外,根据本发明实施例,引入了P2P技术,对于每个文件指纹,在云端服务器中产生与该文件指纹对应的数据文件的种子文件,所述种子文件可以包括该文件指纹以及该数据文件的文件信息。此外,所述种子文件还可以包括所述云端服务器的地址信息。
根据本发明实施例,在终端设备例如图1所示的用户设备1、用户设备2以及用户设备3请求从云端服务器下载某一数据文件时,云端服务器可以向终端设备返回该数据文件的种子文件,并且云端服务器还可以向终端设备返回可以提供该数据文件的其它终端设备(对等端)的地址信息。由此,请求下载的终端设备可以与其它终端设备建立P2P连接,并且云端服务器也可以作为一个对等端,以此方式不仅可以加快下载速度而且可以缓解云端服务器处的数据拥塞。
此外,根据本发明实施例,在多个终端设备同时向云端服务器上传某一数据文件时,也可以支持P2P上载方式。以此方式,可以加速数据的上传过程。另一方面,也节省了每个终端设备上的数据流量。
如图2所示,示了根据本发明实施例的应用于终端设备的数据管理方法的流程图。
根据本发明实施例的应用于终端设备的数据管理方法200在步骤S101开始。
在步骤S110,在终端设备中生成第一文件的文件指纹。可以利用计算哈希值的方式来生成文件指纹,然而本发明生成文件指纹的方式不限于此,本领域技术人员可以采用任何合适方式来生成能够唯一地标识一个文件的文件指纹。
在步骤S120,在终端设备中生成了文件指纹之后,该终端设备向云端服务器(即云端服务器)发送文件上传请求,所述文件上传请求包括所述第一文件的文件指纹和所述第一文件的元数据。所述第一文件的元数据描述了所述第一文件的属性,并且可以包括例如文件名称、音乐流派、歌曲演唱者、影片风格、影片导演、影片演员等等。
然后,在云端服务器中接收到所述文件上传请求之后,云端服务器确定在其中是否已经存储了所述文件上传请求中包括的所述第一文件的文件指纹,并且在确定已经存储了所述文件指纹的情况下,所述云端服务器向所述终端设备发送用于指示在云端服务器中已经存储了所述第一文件的上传完成消息。
然后,在步骤S230,所述终端设备判断是否从所述云端服务器接收到上传完成消息。
如果在步骤S230确定没有从所述云端服务器接收到上传完成消息,根据本发明实施例的应用于终端设备的数据管理方法200前进到步骤S240。在步骤S240,所述终端设备向所述云端服务器上传所述第一文件的文件数据。然后,根据本发明实施例的应用于终端设备的数据管理方法200在步骤S299结束。
如果在步骤S230确定从所述云端服务器接收到了上传完成消息,则不再向所述云端服务器上传所述第一文件的文件数据,而直接前进到步骤S299。
如图3所示,示了根据本发明实施例的应用于云端服务器的数据管理方法300的流程图。
根据本发明实施例的应用于云端服务器的数据管理方法300在步骤S301开始。
在步骤S310,从第一用户的第一终端设备接收文件上传请求,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据。如前所述,所述第一文件的文件指纹唯一地标识所述第一文件,可以利用计算哈希值的方式来生成文件指纹,然而本发明生成文件指纹的方式不限于此,本领域技术人员可以采用任何合适方式来生成能够唯一地标识一个文件的文件指纹。此外,所述第一文件的元数据描述所述第一文件的属性,并且可以包括例如文件名称、音乐流派、歌曲演唱者、影片风格、影片导演、影片演员等等。
在步骤S320,在云端服务器利用所述第一文件的文件指纹进行检索。接下来,在步骤S330,判断在云端服务器中是否检索到所述第一文件的文件指纹。
在步骤S330中判断没有检索到所述第一文件的文件指纹的情况下,根据本发明实施例的应用于云端服务器的数据管理方法300前进到步骤S340。
在步骤S340,所述云端服务器从所述第一用户的第一终端设备接收所述第一文件的文件数据。然后,在步骤S350,生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息。而且,所述种子文件优选地还可以包括所述云端服务器的地址信息。
在步骤S330中判断检索到所述第一文件的文件指纹的情况下,根据本发明实施例的应用于云端服务器的数据管理方法300前进到步骤S360,而不再从第一用户的第一终端设备接收所述第一文件的文件数据。
在步骤S360中,所述云端服务器发布对等端信息。例如,在步骤S330中判断没有检索到所述第一文件的文件指纹的情况下,所述云端服务器创建与所述种子文件对应的索引记录、并将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中,然后通过发布所述索引记录来发布对等端信息;然而,在步骤S330中判断检索到所述第一文件的文件指纹的情况下,所述云端服务器将所述第一用户的第一终端设备的地址信息添加在与所述种子文件对应的索引记录中以便更新索引记录,然后通过发布所述索引记录来发布对等端信息。
最后,根据本发明实施例的应用于云端服务器的数据管理方法300在步骤S399结束。
此外,在步骤S360中还可以将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中。替代地,在步骤S330中判断没有检索到所述第一文件的文件指纹的情况下,在步骤S340中可以将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中;然而在步骤S330中判断检索到所述第一文件的文件指纹的情况下,在步骤S360中可以将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中。
此外,还可以在所述个人数据管理库中记录所述第一文件在所述云端服务器中的存储地址,以供所述第一用户稍后从所述云端服务器中读出所述第一文件。
如图4所示,示出了根据本发明实施例的应用于终端设备的另一数据管理方法400的流程图。
根据本发明实施例的应用于终端设备的另一数据管理方法400在步骤S401开始。所述终端设备在之前已经由所述第一用户向云端服务器中上传了第一文件,并且在云端服务器中存储了所述第一文件、所述第一文件的指纹数据、所述第一文件的元数据、所述第一文件的种子文件、以及与所述第一文件的种子文件对应的索引记录。然而,由于各种原因,在所述终端设备中目前已经删除了所述第一文件,并且所述第一用户希望从所述云端服务器中重新取得所述第一文件。
除此之外,根据本发明实施例的应用于终端设备的另一数据管理方法400还可以应用于以下情况,第一用户的第一终端设备已经向云端服务器中上传了第一文件,并且在云端服务器中存储了所述第一文件、所述第一文件的指纹数据、所述第一文件的元数据、所述第一文件的种子文件、以及与所述第一文件的种子文件对应的索引记录。然而,所述第一用户希望通过第二终端设备从所述云端服务器中取得所述第一文件。如前所述,所述第一文件的指纹数据和所述第一文件的元数据被存储在所述第一用户的个人数据管理库中。
在步骤S410,向云端服务器发送对于云端服务器中存储的第一文件的文件下载请求。该文件下载请求可以指示所述第一文件的指纹数据,或者可以指示所述第一文件的元数据中的至少一部分。
另一方面,在所述云端服务器接收到所述对于第一文件的文件下载请求时,所述云端服务器根据所述文件下载请求所指示的指纹数据唯一地标识出对应的种子文件,或者根据所述文件下载请求所指示的第一文件的元数据中的所述至少一部分确定相关联的指纹数据并且然后根据所述指纹数据唯一地标识出对应的种子文件。然后,所述云端服务器可以将所标识出的与所述指纹数据对应的种子文件发送给所述终端设备。此外,所述云端服务器还可以将与所述种子文件对应的索引信息发送给所述终端设备。
然后,在步骤S420,所述终端设备从云端服务器接收与所述第一文件相对应的种子文件。此外,所述终端设备还可以从云端服务器接收与所述种子文件对应的索引信息。
在步骤S430,所述终端设备依据所述种子文件进行所述第一文件的下载。所述终端设备可以解析所述种子文件和所述索引信息,并通过P2P协议从所述云端服务器和在所述索引信息中指示的其它对等端下载所述第一文件。
最后,根据本发明实施例的应用于终端设备的另一数据管理方法400在步骤S499结束。
此外,所述云端服务器除了可能从所述第一用户的终端设备接收文件下载请求,而且还可能从其它用户(第二用户)的终端设备接收文件下载请求。在此情况下,所述云端服务器从第二用户的终端设备接收的文件下载请求可以包含所述第一文件的元数据中的至少一部分。然后,所述云端服务器根据所述第一文件的元数据中的至少一部分,检索所述第一文件的文件指纹。然后,所述云端服务器向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件和对应的索引信息,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
图5图示了根据本发明实施例的云端服务器500的示意性框图,图6图示了根据本发明实施例的终端设备600的示意性框图。下面将结合图5和图6来进行描述。
如图5所示,根据本发明实施例的云端服务器500可以包括上传请求接收部件510、文件指纹检索部件520、上传文件接收部件530、以及上传管理部件540。
如图6所示,根据本发明实施例的终端设备600包括文件指纹生成部件610、上传请求发送部件620、上传完成接收部件630、以及文件数据上传部件640。
文件指纹生成部件610生成第一文件的文件指纹,所述第一文件的文件指纹唯一地标识所述第一文件。可以利用计算哈希值的方式来生成文件指纹,然而本发明生成文件指纹的方式不限于此,本领域技术人员可以采用任何合适方式来生成能够唯一地标识一个文件的文件指纹。
上传请求发送部件620向云端服务器发送文件上传请求,具体地,上传请求发送部件620向云端服务器中的上传请求接收部件510发送文件上传请求。上传请求接收部件510从第一用户的第一终端设备接收文件上传请求,具体地,上传请求接收部件510从第一用户的第一终端设备中的上传请求发送部件620接收文件上传请求。
如前所述,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据,所述第一文件的元数据描述所述第一文件的属性,并且可以包括例如文件名称、音乐流派、歌曲演唱者、影片风格、影片导演、影片演员等等。
然后,文件指纹检索部件520在云端服务器利用所述第一文件的文件指纹进行检索。
上传管理部件540在所述文件指纹检索部件520检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中,向所述第一终端设备发送上传完成消息,具体地向所述终端设备600的上传完成接收部件630发送上传完成消息。此外,上传管理部件530还将所述第一用户的第一终端设备的地址信息添加到与所述种子文件对应的索引记录中,以便更新索引记录。此外,上传管理部件530还控制所述上传文件接收部件530不再从第一用户的第一终端设备接收该第一文件的文件数据。
上传完成接收部件630从云端服务器(具体地,上传管理部件540)接收上传完成消息。
文件数据上传部件640在所述上传完成接收部件630从云端服务器(具体地,上传管理部件540)接收到上传完成消息的情况下不再向云端服务器(具体地,上传文件接收部件530)上传所述第一文件的文件数据。
另一方面,上传管理部件540在所述文件指纹检索部件520检索到在云端服务器500不存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中。接下来,文件数据上传部件640在所述上传完成接收部件630没有从云端服务器(具体地,上传管理部件540)接收到上传完成消息的情况下向云端服务器500(具体地,上传文件接收部件530)上传所述第一文件的文件数据。
在所述文件数据上传部件640向云端服务器(具体地,上传文件接收部件530)上传所述第一文件的文件数据的情况下,所述云端服务器500中的上传文件接收部件530从所述终端设备600的所述文件数据上传部件640接收所述第一文件的文件数据。此外,所述上传管理部件540还生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息,并且将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中。
此外,由于各种原因,在所述终端设备600中目前已经删除了所述第一文件,并且所述第一用户希望从所述云端服务器中重新取得所述第一文件。在此情况下,所述云端服务器500还包括下载请求接收部件550以及数据下传部件570,而且所述终端设备600还包括下载请求发送部件650、种子文件接收部件660以及文件数据下载部件670。
终端设备600的下载请求发送部件650向云端服务器500的下载请求接收部件550发送对所述第一文件的文件下载请求。所述第一文件的文件下载请求可以包括所述第一文件的文件指纹、所述第一文件的元数据的一部分、或者所述第一文件在所述云端服务器500中的存储地址。云端服务器500的下载请求接收部件550从终端设备600的下载请求发送部件650接收对所述第一文件的文件下载请求。
云端服务器500的数据下传部件570向终端设备600的种子文件接收部件660返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。终端设备600的文件数据下载部件670依据所述种子文件进行所述第一文件的下载。此外,在云端服务器500作为一个对等体的情况下,云端服务器500的数据下传部件570还向终端设备600的文件数据下载部件670下传所述第一文件的文件数据。
尽管上面在所述终端设备600已经上传了第一文件并且随后已经删除了所述第一文件的情况下展开描述,然而本发明不限于此,所述云端服务器500还可以从第一用户的另一终端设备中接收下载请求,并且所述云端服务器500的处理与上面描述的处理相同。更进一步,所述云端服务器500还可以从其它用户(第二用户)中接收对所述第一文件的文件下载请求。
在此情况下,所述云端服务器还包括:下载请求接收部件550、元数据检索部件560、以及数据下传部件570。
下载请求接收部件550从第二用户的终端设备接收文件下载请求,所述文件下载请求包含所述第一文件的元数据中的至少一部分。元数据检索部件560用于根据所述第一文件的元数据中的至少一部分检索所述第一文件的文件指纹。数据下传部件570向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
此外,所述数据下传部件570还可以向请求下载的终端设备返回与所述第一文件的种子文件对应的索引记录,从而所述请求下载的终端设备可以根据所述索引记录得知已经发布了所述第一文件的各对等体的地址信息,并且可以进而据此进行P2P下载。
类似地,在多个终端设备同时向所述云端服务器上传具有同一文件指纹的文件时,所述云端服务器也可以支持该文件的P2P上传。
根据本发明实施例,数据的存储方式和访问方式对于用户是透明的,对于用户而言,云端服务器存储的都是私人数据,并且是独自占有拷贝,上传或下载时,对于单一用户而言仅仅是向云端服务器上传或从云端服务器下载数据。然而,对于云端服务器而言大大降低了数据的冗余度。
此外,根据本发明实施例,支持数据的P2P下载和上传,加快了数据传输速度并且也降低了云端服务器处的数据拥塞。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助于软件加必需的硬件平台的方式来实现,当然也可以全部通过软件、或硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
在上面详细描述了本发明的各个实施例。然而,本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。
Claims (18)
1.一种数据管理方法,应用于云端服务器,包括:
从第一用户的第一终端设备接收文件上传请求,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件,所述第一文件的元数据描述所述第一文件的属性;
在云端服务器利用所述第一文件的文件指纹进行检索;
在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中,并且不再从第一用户的第一终端设备接收该第一文件的文件数据;其中
在检索到在云端服务器不存在所述第一文件的文件指纹的情况下,生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息。
2.如权利要求1所述的数据管理方法,还包括:在检索到在云端服务器不存在所述第一文件的文件指纹的情况下,
将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中;
从第一用户的第一终端设备接收该第一文件的文件数据;以及
将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中。
3.如权利要求2所述的数据管理方法,还包括:在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一用户的第一终端设备的地址信息添加到与所述种子文件对应的索引记录中,以便更新索引记录。
4.如权利要求1所述的数据管理方法,还包括:
从第一用户的第二终端设备接收对于所述第一文件的文件下载请求;以及
向该第一用户的第二终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
5.如权利要求1所述的数据管理方法,还包括:
从第二用户的终端设备接收文件下载请求,所述文件下载请求包含所述第一文件的元数据中的至少一部分;
根据所述第一文件的元数据中的至少一部分,检索所述第一文件的文件指纹;以及
向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得第二终端设备依据所述种子文件进行所述第一文件的下载。
6.如权利要求2所述的数据管理方法,其中,
与所述种子文件对应的所述索引记录中包括已经向云端服务器上传了所述第一文件的文件指纹的其它终端设备的地址信息。
7.一种云端服务器,包括:
上传请求接收部件,用于从第一用户的第一终端设备接收文件上传请求,所述文件上传请求包括第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件,所述第一文件的元数据描述所述第一文件的属性;
文件指纹检索部件,用于在云端服务器利用所述第一文件的文件指纹进行检索;
上传文件接收部件,用于从第一用户的第一终端设备接收所述第一文件的文件数据;以及
上传管理部件,用于在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中,并且控制所述上传文件接收部件不再从第一用户的第一终端设备接收该第一文件的文件数据;其中
在所述文件指纹检索部件检索到在云端服务器不存在所述第一文件的文件指纹的情况下,所述上传管理部件生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息。
8.如权利要求7所述的云端服务器,其中,在所述文件指纹检索部件检索到在云端服务器不存在所述第一文件的文件指纹的情况下,
所述上传管理部件将所述第一文件的文件指纹和所述第一文件的元数据记录到所述第一用户的个人数据管理库中;
所述上传文件接收部件从第一用户的第一终端设备接收所述第一文件的文件数据;
所述上传管理部件将所述第一用户的第一终端设备的地址信息记录在与所述种子文件对应的索引记录中。
9.如权利要求8所述的云端服务器,其中:在检索到在云端服务器存在所述第一文件的文件指纹的情况下,将所述第一用户的第一终端设备的地址信息添加到与所述种子文件对应的索引记录中,以便更新索引记录。
10.如权利要求7所述的云端服务器,还包括:
下载请求接收部件,用于从第一用户的第二终端设备接收对于所述第一文件的文件下载请求;以及
数据下传部件,用于向该第一用户的第二终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得所述第二终端设备依据所述种子文件进行所述第一文件的下载。
11.如权利要求7所述的云端服务器,还包括:
下载请求接收部件,用于从第二用户的终端设备接收文件下载请求,所述文件下载请求包含所述第一文件的元数据中的至少一部分;
元数据检索部件,用于根据所述第一文件的元数据中的至少一部分检索所述第一文件的文件指纹;以及
数据下传部件,向该第二用户的终端设备返回与所述第一文件的文件指纹相对应的种子文件,使得第二终端设备依据所述种子文件进行所述第一文件的下载。
12.如权利要求8所述的云端服务器,其中,
与所述种子文件对应的所述索引记录中包括已经向云端服务器上传了所述第一文件的文件指纹的其它终端设备的地址信息。
13.一种数据管理方法,应用于终端设备,包括:
生成第一文件的文件指纹,所述第一文件的文件指纹唯一地标识所述第一文件;
向云端服务器发送文件上传请求,所述文件上传请求包括所述第一文件的文件指纹和所述第一文件的元数据;
从云端服务器接收上传完成消息,其中,在云端服务器存在所述第一文件的文件指纹的情况下,云端服务器发送所述上传完成消息;
不再上传所述第一文件的文件数据;
向云端服务器发送文件下载请求;以及
从云端服务器接收与所述第一文件相对应的种子文件,其中在检索到在云端服务器不存在所述第一文件的文件指纹的情况下,所述云端服务器生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息。
14.如权利要求13所述的数据管理方法,还包括:
依据所述种子文件进行所述第一文件的下载。
15.如权利要求14所述的数据管理方法,其中,
依据所述种子文件进行所述第一文件的下载包括利用P2P协议从其它终端设备下载所述第一文件。
16.一种终端设备,包括:
文件指纹生成部件,用于生成第一文件的文件指纹;
上传请求发送部件,用于向云端服务器发送文件上传请求,所述文件上传请求包括所述第一文件的文件指纹和所述第一文件的元数据,所述第一文件的文件指纹唯一地标识所述第一文件;
上传完成接收部件,用于从云端服务器接收上传完成消息,其中,在云端服务器存在所述第一文件的文件指纹的情况下,云端服务器发送所述上传完成消息;以及
文件数据上传部件,用于在所述上传完成接收部件没有从云端服务器接收到上传完成消息的情况下向云端服务器上传所述第一文件的文件数据,并且在所述上传完成接收部件从云端服务器接收到上传完成消息的情况下不再上传所述第一文件的文件数据;
下载请求发送部件,用于向云端服务器发送文件下载请求;以及
种子文件接收部件,用于从云端服务器接收与所述第一文件相对应的种子文件,其中在检索到在云端服务器不存在所述第一文件的文件指纹的情况下,所述云端服务器生成与所述第一文件的文件指纹相对应的种子文件,所述种子文件包括所述文件指纹和所述第一文件的文件信息。
17.如权利要求16所述的终端设备,还包括:
文件数据下载部件,用于依据所述种子文件进行所述第一文件的下载。
18.如权利要求17所述的终端设备,其中,
依据所述种子文件进行所述第一文件的下载包括利用P2P协议从其它终端设备下载所述第一文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310061932.2A CN104010016B (zh) | 2013-02-27 | 2013-02-27 | 数据管理方法、云端服务器及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310061932.2A CN104010016B (zh) | 2013-02-27 | 2013-02-27 | 数据管理方法、云端服务器及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104010016A CN104010016A (zh) | 2014-08-27 |
CN104010016B true CN104010016B (zh) | 2018-03-27 |
Family
ID=51370510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310061932.2A Active CN104010016B (zh) | 2013-02-27 | 2013-02-27 | 数据管理方法、云端服务器及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104010016B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155921B (zh) * | 2015-04-03 | 2019-06-25 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN105306537B (zh) * | 2015-09-22 | 2018-12-18 | 浪潮(北京)电子信息产业有限公司 | 一种传输办公自动化系统的文件的方法、服务器和客户端 |
CN107547352A (zh) * | 2016-06-24 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 文件发送方法、装置及系统 |
CN107169075A (zh) * | 2017-05-10 | 2017-09-15 | 深圳大普微电子科技有限公司 | 基于特征分析的数据存取方法、存储设备及存储系统 |
CN108763425B (zh) * | 2018-05-24 | 2021-02-26 | 广州酷狗计算机科技有限公司 | 存储和读取音频文件的方法和装置 |
CN110191128A (zh) * | 2019-05-30 | 2019-08-30 | 山东浪潮商用系统有限公司 | 一种基于hdfs的税务文件共享系统及实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281320A (zh) * | 2011-04-25 | 2011-12-14 | 程旭 | 控制云存储中数据冗余的方法及装置 |
CN102752399A (zh) * | 2012-07-19 | 2012-10-24 | 南京邮电大学 | 一种基于云存储的点对点安全文件共享方法 |
TWI420306B (zh) * | 2010-12-22 | 2013-12-21 | Inventec Corp | 支援重複數據刪除程序的數據區塊查詢方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8412682B2 (en) * | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
US8121993B2 (en) * | 2009-10-28 | 2012-02-21 | Oracle America, Inc. | Data sharing and recovery within a network of untrusted storage devices using data object fingerprinting |
-
2013
- 2013-02-27 CN CN201310061932.2A patent/CN104010016B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI420306B (zh) * | 2010-12-22 | 2013-12-21 | Inventec Corp | 支援重複數據刪除程序的數據區塊查詢方法 |
CN102281320A (zh) * | 2011-04-25 | 2011-12-14 | 程旭 | 控制云存储中数据冗余的方法及装置 |
CN102752399A (zh) * | 2012-07-19 | 2012-10-24 | 南京邮电大学 | 一种基于云存储的点对点安全文件共享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104010016A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104010016B (zh) | 数据管理方法、云端服务器及终端设备 | |
AU2009201280B2 (en) | Auto-selection of media files | |
US10643610B2 (en) | Voice interaction based method and apparatus for generating multimedia playlist | |
KR101130387B1 (ko) | 부분 복제를 사용한 웹 컨텐츠 분배 호스팅 | |
TWI250742B (en) | Method and system for identifying available resources in a peer-to-peer network | |
AU2009201232B2 (en) | Managing media files from multiple sources | |
KR101424362B1 (ko) | 컨텐츠 전송 네트워크를 통한 청크식 다운로드 | |
US8862781B2 (en) | Server device, client device, information processing system, information processing method, and program | |
CN102318310B (zh) | 用于重建种子内容元数据的方法和设备 | |
CN102576371B (zh) | 用于对内容进行可调分发的方法和系统 | |
US10628385B2 (en) | Virtual collection of entities in sync process | |
CA2663516A1 (en) | Providing a user access to data files distributed in a plurality of different types of user devices | |
CA2318909A1 (en) | Access to content addressable data over a network | |
US9128944B2 (en) | File system enabling fast purges and file access | |
US20140359066A1 (en) | System, method and device for offline downloading resource and computer storage medium | |
BR112014001749B1 (pt) | Método e sistema de download offline | |
EP2202642A1 (en) | Content acquisition device, program, content acquisition method, and content acquisition system | |
CN101626389A (zh) | 一种网络节点的管理方法 | |
CN113767390A (zh) | 用于分布式存储系统中的改变检测的属性分组 | |
EP3103264B1 (en) | Methods and apparatus for naming video content chunks | |
EP3043271A1 (en) | Order encoded manifests in a content centric network | |
CN107145449A (zh) | 存储设备和存储方法 | |
CN101415029B (zh) | 文件分发方法及装置 | |
CN109417566B (zh) | 基于约束的受控制的种子传播 | |
KR20170027332A (ko) | 메타데이터를 추출하여 전송하는 콘텐츠 제공 방법 및 장치 |
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 |