CN105718458A - 一种确定数据文件存在的方法、装置及*** - Google Patents

一种确定数据文件存在的方法、装置及*** Download PDF

Info

Publication number
CN105718458A
CN105718458A CN201410720816.1A CN201410720816A CN105718458A CN 105718458 A CN105718458 A CN 105718458A CN 201410720816 A CN201410720816 A CN 201410720816A CN 105718458 A CN105718458 A CN 105718458A
Authority
CN
China
Prior art keywords
data file
files
blocks
network node
eigenvalue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410720816.1A
Other languages
English (en)
Inventor
王含章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410720816.1A priority Critical patent/CN105718458A/zh
Priority to EP15865135.6A priority patent/EP3229149A4/en
Priority to PCT/CN2015/095589 priority patent/WO2016086789A1/zh
Priority to US15/531,850 priority patent/US20170270133A1/en
Priority to JP2017526574A priority patent/JP2018500650A/ja
Publication of CN105718458A publication Critical patent/CN105718458A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种确定数据文件存在的方法、装置及***。该方法包括:第一网络节点向第二网络节点发送请求,所述请求中携带了数据文件的第一标识;第二网络节点根据所述数据文件的第一标识查询本地匹配的数据文件;从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;并将所述第一位置发送给第一网络节点;第一网络节点根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;并将所述文件块的第二特征值发送给第二网络节点;第二网络节点判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。

Description

一种确定数据文件存在的方法、装置及***
技术领域
本申请涉及通信技术领域,特别涉及一种确定数据文件存在的方法、装置及***。
背景技术
在数据通信技术领域,网络节点之间常常需要进行数据文件的传输。
在一些应用场景中,需要判断传输的数据文件是否已经存储在网络节点中。比如网络节点A需要传输一份数据文件给网络节点B,而这份数据文件已经存储在网络节点B中,这时网络节点A上传这份数据文件是没有必要的。
上述应用场景中,重复传输会造成网络资源的浪费。因此,现有技术会判断需要传输的数据文件是否已经存储在网络节点。两个网络节点之间的数据传输步骤为:
1)网络节点A向网络节点B发送传输数据文件的请求,并携带数据文件的整体特征值;
2)网络节点B获知所述数据文件的整体特征值后,通过查询本地是否具有该整体特征值来确定所述网络节点A请求传输的数据文件是否存在;
3)当网络节点B确定所述网络节点A请求上传的数据文件存在时,开启快速传输策略。例如网络节点B告知网络节点A已传输成功。当网络节点B确定所述网络节点A请求传输的数据文件不存在时,网络节点A进入新建上传场景中。
上述现有技术确定数据文件存在的方法中,所采用的数据文件的整体特征值一般是数据文件的整体Md5值或数据文件的整体SHA值等。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
现有技术中常采用的Md5值的防碰撞性很弱,即很容易导致两个不同的数据文件产生相同的Md5值。而且,由于人们对Md5了解程度的加深,会容易故意构建一个Md5值。SHA算法也存在类似的问题。这样,通过已有的方式将导致无法准确地确定数据文件是否存在。
发明内容
本申请实施例的目的是提供一种确定数据文件存在的方法、装置及***,以实现更加准确的判断文件是否存在。
为解决上述技术问题,本申请实施例提供一种确定数据文件存在的方法、装置及***是这样实现的:
一种确定数据文件存在的方法,包括:
第一网络节点向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
第二网络节点根据所述数据文件的第一标识查询本地匹配的数据文件;
从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;
第二网络节点向第一网络节点发送所述第一位置;
第一网络节点根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
第一网络节点将所述文件块的第二特征值发送给第二网络节点;
第二网络节点判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的方法,包括:
向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
接收第二网络节点发送的第一位置;
根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
将所述第二特征值发送给第二网络节点。
一种确定数据文件存在的方法,包括:
接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识;
根据所述数据文件的第一标识查询本地匹配的数据文件;
从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置;
将所述第一位置发送给第一网络节点;
接收第一网络节点发送的文件块的第二特征值;
判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的方法,包括:
第三网络节点向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第四网络节点根据所述数据文件的第一标识查询本地匹配的数据文件;
第四网络节点根据第一位置信息从所述匹配到的数据文件中计算对应位置文件块的第三特征值;
第四网络节点判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的方法,包括:
向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
一种确定数据文件存在的方法,包括:
接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
根据所述数据文件的第一标识查询本地匹配的数据文件;
根据第一位置信息从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的***,包括:
第一网络节点,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;根据第二网络节点发送的文件块的第一位置,从所述待传输的数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;并将所述文件块的第二特征值发送给第二网络节点;
第二网络节点,用于根据第一网络节点发送的请求中的数据文件的第一标识查询本地匹配的数据文件,从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;并将所述第一位置发送给第一网络节点;根据第一网络节点发送的第二特征值判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的装置,包括:
第一请求单元,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
第一位置接收单元,用于接收第二网络节点发送的第一位置;
第二特征值获取单元,用于根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
第二特征值发送单元,用于将所述第二特征值发送给第二网络节点。
一种确定数据文件存在的装置,包括:
第一接收请求单元,用于接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识;
第一匹配单元,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第一位置获取单元,用于从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置;
第一位置发送单元,用于将所述所有选取的文件块的第一位置发送给第一网络节点;
第二特征值接收单元,用于接收第一网络节点发送的文件块的第二特征值;
第一确定数据文件存在单元,用于判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的***,包括:
第三网络节点,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第四网络节点,用于根据所述数据文件的第一标识查询本地匹配的数据文件;再根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;并判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
一种确定数据文件存在的装置,包括:
第二请求单元,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
一种确定数据文件存在的装置,包括:
第二接收请求单元,用于接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第二匹配单元,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第三特征值获取单元,用于根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
第二确定数据文件存在单元,用于判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
由以上本申请实施例提供的技术方案可见,本申请实施例通过对需要查询的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取第一位置对应的文件块的第三特征值与文件块的第二特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要查询的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的第一位置是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断数据文件是否已经存在。与现有技术相比大大提高了确定数据文件存在的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一种确定数据文件存在的方法的第一实施例的流程图;
图2是本申请一种确定数据文件存在的方法的第二实施例的流程图;
图3是本申请一种确定数据文件存在的方法的第三实施例的流程图;
图4是本申请一种确定数据文件存在的方法的第四实施例的流程图;
图5是本申请一种确定数据文件存在的方法的第五实施例的流程图;
图6是本申请一种确定数据文件存在的方法的第六实施例的流程图;
图7是本申请一种确定数据文件存在的方法的第八实施例的流程图;
图8是本申请一种确定数据文件存在的方法的第九实施例的流程图;
图9是本申请一种确定数据文件存在的方法的第十实施例的流程图;
图10是本申请一种确定数据文件存在的***的第一实施例的示意图;
图11是本申请一种确定数据文件存在的装置的第一实施例的示意图;
图12是本申请一种确定数据文件存在的装置的第二实施例的示意图;
图13是本申请一种确定数据文件存在的***的第二实施例的示意图;
图14是本申请一种确定数据文件存在的装置的第四实施例的示意图。
具体实施方式
本申请实施例提供一种确定数据文件存在的方法、装置及***。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下以几个具体的例子详细说明本申请实施例的具体实现。
以下首先介绍本申请一种确定数据文件存在的方法的第一实施例。结合附图1,该实施例包括:
S101:第一网络节点M向第二网络节点N发送数据文件的请求,所述请求中携带了数据文件的第一标识。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指数据文件的整体特征值,这里特征值可以是信息摘要算法第五版(Message-DigestAlgorithm5,Md5)值。
实际应用中,第一网络节点M向第二网络节点N发送数据文件的请求之前,需要计算数据文件的第一特征值,也即数据文件的整体特征值,且第一网络节点M计算的数据文件的整体特征值可以与第二网络节点N中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
选用与第二网络节点N中所存储的数据文件的特征值类型一致的特征值,可以避免第二网络节点N因为需要切换到第一网络节点M采用的其他特征值而为已经存储的数据重新计算新的特征值。
此外,需要进一步说明的是,本申请实施例所述的特征值不仅限于Md5值,在实际中还可以是其他形式,例如安全散列算法(SecureHashAlgorithm,SHA)值等,本申请实施例并不以此为限。
S102:第二网络节点N根据所述数据文件的第一标识查询本地匹配的数据文件。
当第二网络节点N接收到第一网络节点M发送的数据文件的第一标识时,第二网络节点N获取本地数据文件的第一标识,可以是计算获取,也可以查询本地存储有的数据文件的相关信息中获得。然后查询本地与该第一标识匹配的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,第二网络节点N就可以确定本地不存在第一网络节点M所要传输的数据文件,第二网络节点N可以向第一网络节点M反馈数据文件不存在的信息。
S103:从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置。
在实际应用中,当第二网络节点N从本地查询到相匹配的数据文件时,如果相匹配的数据文件只有一个时,只需从这一匹配的数据文件中,获取文件块,当匹配的数据文件为多项时,需要从每个匹配项都选取文件块。其中,文件块可以是一个,也可以是多个;文件块的选取可以指定,也可以采用随机算法。然后,获取选中的文件块的第一位置,这里的第一位置可以是文件块在所属的数据文件中的起始位置和文件块长度,也可以是文件块所属的数据文件中的起始位置和结束位置,选取多个文件块时,多个文件块的长度可以一样也可以不一样。
进一步的,在分布式存储场景中,数据文件会进行分块,以文件块的形式存储在第二网络节点N,且除了最后一个文件块,其他每个文件块的大小一致,最后一个文件块的大小要求小于等于其他文件块。第二网络节点N会存储有所存储的数据文件相关信息,比如数据文件的文件名、整体特征值、文件的大小以及文件结构表,其中,文件结构表中顺序的存储有该数据文件的所有文件块结构表,每个文件块结构表中包括:文件块标识、前继文件块标识、后继文件块标识、文件块起始位置、文件块长度以及文件块的特征值。
此外,当采用查询第二网络节点N本地存储的数据文件的相关信息的方式获得文件块的第一位置时,所述文件块的第一位置需要与第二网络节点N本地存储的第一位置相匹配。
S104:第二网络节点N向第一网络节点M发送所述第一位置。
S105:第一网络节点M根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值。
在实际中,这里所述的文件块的第二特征值即与该文件块所在的数据文件的整体特征值属于同一种特征值,可以是Md5值,在实际中还可以是其他形式,例如SHA值等,本申请实施例并不以此为限。
S106:第一网络节点M将所述文件块的第二特征值发送给第二网络节点N。
S107:第二网络节点N判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
这里第二网络节点N可以计算获得选取的文件块的第三特征值,也可以通过查询第二网络节点N本地存储的数据文件的相关信息获得选取的文件块的第三特征值。第二网络节点N在接收到第一网络节点M返回的第二特征值后,将返回的第二特征值与上述选取的文件块的第三特征值进行匹配。
当只有一个文件块需要匹配时,只要判断该文件块的第二特征值是否与本地所述匹配的数据文件中选取的对应的文件块的第三特征值匹配,若匹配确认所述数据文件存在,若不匹配,确认所述数据文件不存在。
进一步的,当有多个文件块需要匹配时,第二网络节点N要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
进一步的,第二网络节点N向第一网络节点M反馈数据文件是否存在的信息。
由此可见,本申请实施例一的技术方案通过对要查询的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取文件块的第一位置,对要查询的数据文件中第一位置的第二特征值与要查询数据文件是否存在的网络节点中对应位置的第三特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要查询的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的第一位置是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低,因此能准确判断是否存在所要查询的数据文件。与现有技术相比大大提高了确定数据文件存在的准确性。
上述第一方法实施例,考虑第一网络节点为主的步骤,可以演化为第二方法实施例,结合附图2,具体包括:
S201:向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识。
S202:接收第二网络节点发送的第一位置。
S203:根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值。
S204:将所述第二特征值发送给第四网络节点。
进一步的,接收第二网络节点反馈的数据文件是否存在的信息。
由此可见,本申请实施例二的技术方案通过对要查询的数据文件的第一标识匹配后,进一步获得从匹配的数据文件中选取的文件块的第一位置,获得要查询的数据文件中第一位置的文件块对应的第二特征值,并做进一步的匹配,能准确判断是否存在所要查询的数据文件。与现有技术相比大大提高了确定数据文件存在的准确性。
上述第一方法实施例,考虑第二网络节点为主的步骤,可以演化为第三方法实施例,结合附图3,具体包括:
S301:接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识。
S302:根据所述数据文件的第一标识查询本地匹配的数据文件。
S303:从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置。
S304:将所述第一位置发送给第一网络节点。
S305:接收第一网络节点发送的文件块的第二特征值。
S306:判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
进一步的,向第一网络节点反馈数据文件是否存在的信息。
由此可见,本申请实施例三的技术方案通过对接收到的请求中的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取多块文件块的第一位置并对所述数据文件中第一位置对应的第二特征值与本地对应位置的第三特征值做进一步的匹配,能准确判断本地是否存在所要查询的数据文件。与现有技术相比大大提高了确定数据文件存在的准确性。
在实际应用中,比如在云存储场景中,用户需要将一份数据文件上传到云存储服务器中,如果用户需要上传的这份数据文件已经存储在云服务器中,则用户就不需要再重复上传这份数据文件,导致网络资源的浪费,因此需要先判断该数据文件是否已经在云存储服务器中。
上述第一方法实施例,应用到上传场景中,可以演化为第四方法实施例,结合附图4,具体包括:
S401:客户端A向服务器B发送数据文件的上传请求,该上传请求中携带所述数据文件的第一标识。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指待上传的数据文件的整体特征值,这里特征值可以是Md5值。
实际应用中,客户端A向服务器B发送数据文件的上传请求之前,需要计算数据文件的第一特征值,也即数据文件的整体特征值,且客户端A计算的数据文件的整体特征值可以与服务器B中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
选用与服务器B中所存储的数据文件的特征值类型一致的特征值,可以避免服务器B因为需要切换到客户端A采用的其他特征值而为已经存储的数据重新计算新的特征值。
S402:服务器B根据客户端A发送的数据文件的第一标识查询本地匹配的数据文件。
当服务器B接收到客户端A发送的数据文件的第一标识时,服务器B获取本地数据文件的第一标识,可以是计算获取,也可以查询本地存储有的数据文件的相关信息中获得。然后查询本地与该第一标识匹配的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,服务器B就可以确定本地不存在客户端A所要传输的数据文件,服务器B可以向客户端A反馈数据文件不存在的信息。
S403:服务器B从匹配的数据文件中选取文件块,并获取文件块的第一位置。
在实际应用中,当服务器B从本地查询到相匹配的数据文件时,如果相匹配的数据文件只有一个时,只需从这一匹配的数据文件中获取文件块,当匹配的数据文件为多项时,需要从每个匹配项都选取文件块。其中,文件块可以是一个,也可以是多个;文件块的选取可以指定,也可以采用随机算法。然后,获取选中的文件块的第一位置,这里的第一位置可以是文件块在所属的数据文件中的起始位置和文件块长度,也可以是文件块所属的数据文件中的起始位置和结束位置,多个文件块的长度可以一样也可以不一样。
此外,当采用查询服务器B本地存储的数据文件的相关信息的方式获得文件块的第一位置时,所述文件块的第一位置需要与服务器B本地存储的第一位置相匹配。
S404:服务器B将匹配的数据文件的文件块的第一位置发送给客户端A。
S405:客户端A根据服务器B发送的文件块的第一位置,从本地需要传输的数据文件中选出对应位置的文件块,并计算出文件块的第二特征值。
在实际中,文件块的第二特征值即与该文件块所在的数据文件的整体特征值属于同一种特征值,可以是Md5值,在实际中还可以是其他形式,例如SHA值等,本申请实施例并不以此为限。
S406:客户端A将文件块的第二特征值发送给服务器B。
S407:服务器B判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
这里服务器B可以计算获得文件块的第三特征值,也可以通过查询服务器B本地存储的数据文件的相关信息获得文件块的第三特征值。将返回的第二特征值与上述选取的文件块的第三特征值进行匹配。当只有一个文件块需要匹配时,只要判断第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,若匹配确认所述数据文件存在,若不匹配,确认所述数据文件不存在。
进一步的,当有多个文件块需要匹配时,B服务器要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
S408:服务器B向客户端A发送数据文件是否存在的信息。
进一步的,当数据文件存在时,代表上传已经成功;当数据文件不存在时,进入新建上传场景。
由此可见,本申请实施例四的技术方案在数据文件上传过程中,通过对需要上传的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取文件块的第一位置,对待传输的数据文件中第一位置的第二特征值与待传输数据文件要传输到的网络节点中对应位置的第三特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要传输的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断服务器是否存在所要上传的数据文件。有效解决了上传场景下,因数据文件的特征值防碰撞性弱,导致错误的判断数据文件已经存在,而取消上传造成数据文件的丢失;与现有技术相比大大提高了确定数据文件存在的准确性,保证了数据文件传输的有效性和安全性。
在实际应用中,当用户需要从资源服务器中下载数据文件时,资源服务器对于有加速下载权限的用户,会通过加速服务器将数据文件发送给用户,因此需要先判断加速服务器中是否具有用户所要下载的数据文件,如果有,可直接由加速服务器将用户需要下载的数据文件发送给用户,无需将资源服务器中的数据文件发送给加速服务器后,再由加速服务器发送给用户。
上述第一方法实施例,应用到下载场景中,可以演化为第五方法实施例,结合附图5,具体包括:
S501:客户端C发送下载请求。
在实际应用中,第一服务器E相当于资源服务器D的加速服务器,客户端C可以向资源服务器D发送下载请求,也可以向第一服务器E发送下载请求,客户端C向资源服务器D或第一服务器E发送下载请求,资源服务器D就可以获知客户端C所要下载的文件,并进入S502。
S502:资源服务器D向第一服务器E发送数据文件的上传请求,该上传请求中携带所述数据文件的第一标识。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指待传输的数据文件的整体特征值,这里特征值可以是Md5值。
在实际应用中,资源服务器D向第一服务器E发送数据文件的上传请求之前,需要先获得数据文件的第一特征值,也即数据文件的整体特征值,可以是计算获得,也可以是直接从本地存储的数据文件的相关信息获得,且资源服务器D获得的数据文件的整体特征值可以与第一服务器E中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
步骤S503:第一服务器E根据资源服务器D发送的数据文件的第一标识查询本地匹配的数据文件。
第一服务器E获取本地数据文件的第一标识,可以是计算获取,也可以是第一服务器E中存储的数据文件的相关信息中获得第一标识。然后查询本地与该第一标识相匹配的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,第一服务器E可以确定本地不存在所述数据文件,第一服务器E向资源服务器D反馈数据文件不存在的信息。
步骤S504:第一服务器E从匹配的数据文件中选取文件块,并获取所述文件块的第一位置。
在实际应用中,当第一服务器E从本地查询到相匹配的数据文件时,如果相匹配的数据文件只有一个时,只需从这一匹配的数据文件中获取文件块,当匹配的数据文件为多项时,需要从每个匹配项都选取文件块。其中,文件块可以是一个,也可以是多个;文件块的选取可以指定,也可以采用随机算法。然后,获取选中的文件块的第一位置,这里的第一位置可以是文件块在所属的数据文件中的起始位置和文件块长度,也可以是文件块所属的数据文件中的起始位置和结束位置,当选取多个文件块时,多个文件块的长度可以一样也可以不一样。
此外,当采用查询第一服务器E本地存储的数据文件的相关信息的方式获得文件块的第一位置时,所述文件块的第一位置需要与第一服务器E本地存储的第一位置相匹配。
步骤S505:第一服务器E将匹配的数据文件的文件块的第一位置发送给资源服务器D。
步骤S506:资源服务器D根据第一服务器E发送的文件块的第一位置,从本地需要传输的数据文件中选出对应位置的文件块,并计算出文件块的第二特征值。
在实际中,文件块的第二特征值即与该文件块所在的数据文件的整体特征值属于同一种特征值,可以是Md5值,在实际中还可以是其他形式,例如SHA值等,本申请实施例并不以此为限。
步骤S507:资源服务器D将文件块的第二特征值发送给第一服务器E。
步骤S508:第一服务器E判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
第一服务器E获取本地文件块的第三特征值,可以是计算获取,也可以是第一服务器E中存储的数据文件的相关信息中获得第三特征值。
将返回的第二特征值与上述选取的文件块的第三特征值进行匹配。当只有一个文件块需要匹配时,只要判断该文件块的第二特征值是否与本地所述匹配的数据文件中选取的对应的文件块的第三特征值匹配,若匹配确认所述数据文件存在,若不匹配,确认所述数据文件不存在。
进一步的,当有多个文件块需要匹配时,第一服务器E要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
进一步的,如果第一服务器E确定本地不存在所述数据文件,则向资源服务器D反馈数据文件不存在的信息。
步骤S509:第一服务器E向资源服务器D发送数据文件存在的信息。
步骤S510:第一服务器E将数据文件发送给客户端C。
由此可见,本申请实施例五的技术方案在数据文件下载过程中,通过对用户需要下载的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取的文件块的第一位置,获得待传输的数据文件中第一位置的文件块对应的第二特征值,并与资源服务器本地对应的文件块的第三特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要传输的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断是否存在所要传输的数据文件。有效解决了用户下载场景中,因错误的判断数据文件为用户所要下载的数据文件,而使用户下载到恶意软件。与现有技术相比大大提高了确定数据文件存在的准确性,保证了数据文件传输的有效性和安全性。
以下介绍本申请一种确定数据文件存在的方法的第六实施例。结合附图6,该实施例包括:
S601:第三网络节点P向第四网络节点Q发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指数据文件的整体特征值,第二特征值是指数据文件中文件块的特征值,这里特征值可以是Md5值。
第三网络节点P向第四网络节点Q发送数据文件的请求之前,需要计算数据文件的第一特征值和第二特征值,且第三网络节点P计算的特征值可以与第四网络节点Q中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
选用与第四网络节点Q中所存储的数据文件的特征值类型一致的特征值,可以避免第四网络节点Q因为需要切换到第三网络节点P采用的其他特征值而为已经存储的数据重新计算新的特征值。
这里文件块的第一位置可以是所述文件块在所属数据文件中的起始位置和结束位置,也可以是所述文件块在所属数据文件中的起始位置和所述文件块的长度。文件块的第一位置可以通过指定获得,也可以通过随机算法计算获得。
文件块的第一位置的数量大于等于1,小于等于待传输的数据文件可分的总块数。也即请求中可以是一个文件块的第一位置,也可以是多个文件块的位置。
S602:第四网络节点Q根据所述数据文件的第一标识查询本地匹配的数据文件。
当第四网络节点Q接收到第三网络节点P发送的数据文件的第一标识时,第四网络节点Q获取本地数据文件的第一标识,可以是计算获取,也可以查询本地存储有的数据文件的相关信息中获得。然后查询本地与该第一标识匹配的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,第四网络节点Q就可以确定本地不存在第三网络节点P所要传输的数据文件,第四网络节点Q可以向第三网络节点P反馈数据文件不存在的信息。
S603:第四网络节点Q根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
在实际应用中,当第四网络节点Q从本地查询到匹配的数据文件时,如果匹配的数据文件只有一个时,只需从这一匹配的数据文件中,找到第一位置,并通过计算获取第一位置的文件块的第三特征值。当匹配的数据文件为多项时,需要从每个匹配项都找到第一位置,并获取第一位置的文件块的第三特征值。
进一步的,在分布式存储场景中,数据文件会进行分块,以文件块的形式存储在第四网络节点Q,且除了最后一个文件块,其他每个文件块的大小一致,最后一个文件块的大小要求小于等于其他文件块。第四网络节点Q会存储有所存储的数据文件相关信息,比如数据文件的文件名、整体特征值、文件的大小以及文件结构表,其中,文件结构表中顺序的存储有该数据文件的所有文件块结构表,每个文件块结构表中包括:文件块标识、前继文件块标识、后继文件块标识、文件块起始位置、文件块长度以及文件块的特征值。当请求中的特征值与第四网络节点Q中的特征值一致,且所述数据文件中文件块的第一位置与第四网络节点Q中文件块的长度信息一致时,即可直接通过查询第四网络节点Q中存储的数据文件的相关信息获得第三特征值,无需通过计算获得第三特征值。
进一步的,当第四网络节点Q查找所述匹配的数据文件不存在第一位置时,即可确定所述待传输的数据文件不存在,即可向第三网络节点P发送数据文件不存在的信息。
S604:第四网络节点Q判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
当只有一个第一位置以及第一位置的文件块对应的第二特征值时,也即只有一个文件块需要匹配时,只要判断该文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,若匹配,也即第二特征值与第三特征值相同,确认所述数据文件存在,若不匹配,也即第二特征值与第三特征值不相同,确认所述数据文件不存在。
进一步的,当有多个第一位置以及第一位置的文件块对应的第二特征值时,也即多个文件块需要匹配时,第四网络节点Q要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
进一步的,第四网络节点Q可以向第三网络节点P反馈数据文件是否存在的信息。
由以可见,本申请实施例六通过对需要查询的数据文件的第一标识匹配后,进一步根据第一位置从匹配的数据文件中获得对应位置文件块的第三特征值,将第三特征值与第二特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要查询的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断需要查询的数据文件是否已经存在。与现有技术相比大大提高了确定数据文件存在的准确性。
上述第六方法实施例,考虑第三网络节点为主的步骤,可以演化为第七方法实施例,具体包括:
向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
进一步的,接收第四网络节点反馈的数据文件是否存在的信息。
由以可见,本申请实施例七通过向待查询的数据文件所要查询的网络节点发送数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值,能准确判断数据文件是否已经存在。与现有技术相比大大提高了确定数据文件存在的准确性。
上述第六方法实施例,考虑第四网络节点为主的步骤,可以演化为第八方法实施例,结合附图7,具体包括:
S701:接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
S702:根据所述数据文件的第一标识查询本地匹配的数据文件。
S703:根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值。
S704:判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
进一步的,向第三网络节点反馈数据文件是否存在的信息。
由以可见,本申请实施例八通过对待查询的数据文件的第一标识匹配后,进一步根据第一位置从匹配的数据文件中获得对应位置文件块的第三特征值,将第三特征值与第二特征值做进一步的匹配,能准确判断需要查询的数据文件是否已经存储在本地。与现有技术相比大大提高了确定数据文件存在的准确性。
在实际应用中,比如在云存储场景中,用户需要将一份数据文件上传到云存储服务器中,如果用户需要上传的这份数据文件已经存储在云服务器中,则用户就不需要再重复上传这份数据文件,导致网络资源的浪费,因此需要先判断该数据文件是否已经在云存储服务器中。
上述第六方法实施例,应用到上传场景中,可以演化为第九方法实施例,结合附图8,具体包括:
S801:客户端F向服务器G发送数据文件的上传请求,所述上传请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指待上传的数据文件的整体特征值,第二特征值是指待上传的数据文件中文件块的特征值,这里特征值可以是信息摘要算法第五版Md5值。
客户端F向服务器G发送数据文件的请求之前,需要计算数据文件的第一特征值和第二特征值,且客户端F计算的特征值可以与服务器G中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
选用与服务器G中所存储的数据文件的特征值类型一致的特征值,可以避免服务器G因为需要切换到客户端F采用的其他特征值而为已经存储的数据重新计算新的特征值。
这里文件块的第一位置可以是所述文件块在所属数据文件中的起始位置和结束位置,也可以是所述文件块在所属数据文件中的起始位置和所述文件块的长度。文件块的第一位置可以通过指定获得,也可以通过随机算法计算获得。
文件块的第一位置的数量大于等于1,小于等于待传输的数据文件可分的总块数。也即请求中可以是一个文件块的第一位置,也可以是多个文件块的位置。
S802:服务器G根据所述数据文件的第一标识查询本地匹配的数据文件。
当服务器G接收到客户端F发送的数据文件的第一标识时,服务器G获取本地数据文件的第一标识,可以是计算获取,也可以查询本地存储有的数据文件的相关信息中获得。然后查询本地与该第一标识匹配的的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,服务器G就可以确定本地不存在客户端F所要传输的数据文件,服务器G可以向客户端F反馈数据文件不存在的信息。
S803:服务器G根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
在实际应用中,当服务器G从本地查询到匹配的数据文件时,如果匹配的数据文件只有一个时,只需从这一匹配的数据文件中,找到第一位置,并通过计算获取第一位置的文件块的第三特征值。当匹配的数据文件为多项时,需要从每个匹配项都找到第一位置,并通过计算获取第一位置的文件块的第三特征值。
进一步的,在分布式存储场景中,数据文件会进行分块,以文件块的形式存储在服务器G,且除了最后一个文件块,其他每个文件块的大小一致,最后一个文件块的大小要求小于等于其他文件块。服务器G会存储有所存储的数据文件相关信息,比如数据文件的文件名、整体特征值、文件的大小以及文件结构表,其中,文件结构表中顺序的存储有该数据文件的所有文件块结构表,每个文件块结构表中包括:文件块标识、前继文件块标识、后继文件块标识、文件块起始位置、文件块长度以及文件块的特征值。当请求中的特征值与服务器G中的特征值一致,且所述数据文件中文件块的第一位置与服务器G中文件块的长度信息一致时,即可直接通过查询服务器G中存储的数据文件的相关信息获得第三特征值,无需通过计算获得第三特征值。
进一步的,当服务器G查找所述匹配的数据文件不存在第一位置时,即可确定所述待传输的数据文件不存在,即可向客户端F发送数据文件不存在的信息。
S804:服务器G判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
当只有一个第一位置以及第一位置的文件块对应的第二特征值时,也即只有一个文件块需要匹配时,只要判断该文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,若匹配,也即第二特征值与第三特征值相同,确认所述数据文件存在,若不匹配,也即第二特征值与第三特征值不相同,确认所述数据文件不存在。
进一步的,当有多个第一位置以及第一位置的文件块对应的第二特征值时,也即多个文件块需要匹配时,服务器G要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
S805:服务器G向客户端F反馈数据文件是否存在的信息。
进一步的,当数据文件存在时,代表上传已经成功;当数据文件不存在时,进入新建上传场景。
由以可见,本申请实施例九在数据文件上传过程中,通过对需要上传的数据文件的第一标识匹配后,进一步根据第一位置从匹配的数据文件中获得对应位置文件块的第三特征值,将第三特征值与第二特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要传输的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断需要上传的数据文件是否已经存在。有效解决了上传场景下,因数据文件的特征值防碰撞性弱,导致错误的判断数据文件已经存在,而取消上传造成数据文件的丢失;与现有技术相比大大提高了确定数据文件存在的准确性,保证了数据文件传输的有效性和安全性。
上述第六方法实施例,应用到下载场景中,可以演化为第十方法实施例,结合附图9,具体包括:
S901:客户端H发送下载请求。
在实际应用中,第二服务器J相当于资源服务器I的加速服务器,客户端H可以向资源服务器I发送下载请求,也可以向第二服务器J发送下载请求,客户端H向资源服务器I或第二服务器J发送下载请求,资源服务器I就可以获知客户端H所要下载的文件,并进入S402。
S902:资源服务器I向第二服务器J发送数据文件的上传请求,所述上传请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
这里的第一标识可以是文件名、文件的大小以及第一特征值中的至少一个,优选的,至少包括第一特征值。第一特征值是指待上传的数据文件的整体特征值,第二特征值是指待上传的数据文件中文件块的特征值,这里特征值可以是信息摘要算法第五版Md5值。
资源服务器I向第二服务器J发送数据文件的请求之前,需要获得数据文件的第一特征值和第二特征值,可以是计算获得,也可以是直接从本地存储的数据文件的相关信息获得,且资源服务器I获得的特征值可以与第二服务器J中所存储的数据文件的特征值类型一致,也可以是其他选定的特征值。
选用与第二服务器J中所存储的数据文件的特征值类型一致的特征值,可以避免第二服务器J因为需要切换到资源服务器I采用的其他特征值而为已经存储的数据重新计算新的特征值。
这里文件块的第一位置可以是所述文件块在所属数据文件中的起始位置和结束位置,也可以是所述文件块在所属数据文件中的起始位置和所述文件块的长度。文件块的第一位置可以通过指定获得,也可以通过随机算法计算获得。
文件块的第一位置的数量大于等于1,小于等于待传输的数据文件可分的总块数。也即请求中可以是一个文件块的第一位置,也可以是多个文件块的位置。
S903:第二服务器J根据所述数据文件的第一标识查询本地匹配的数据文件。
当第二服务器J接收到资源服务器I发送的数据文件的第一标识时,第二服务器J获取本地数据文件的第一标识,可以是计算获取,也可以查询本地存储有的数据文件的相关信息中获得。然后查询本地与该第一标识匹配的数据文件。
在实际应用中,当无法查询到相匹配的数据文件项时,第二服务器J就可以确定本地不存在资源服务器I所要传输的数据文件,第二服务器J可以向资源服务器I反馈数据文件不存在的信息。
S904:第二服务器J根据第一第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
在实际应用中,当第二服务器J从本地查询到匹配的数据文件时,如果匹配的数据文件只有一个时,只需从这一匹配的数据文件中,找到第一位置,并通过计算获取第一位置的文件块的第三特征值。当匹配的数据文件为多项时,需要从每个匹配项都找到第一位置,并通过计算获取第一位置的文件块的第三特征值。
进一步的,在分布式存储场景中,数据文件会进行分块,以文件块的形式存储在第二服务器J,且除了最后一个文件块,其他每个文件块的大小一致,最后一个文件块的大小要求小于等于其他文件块。第二服务器J会存储有所存储的数据文件相关信息,比如数据文件的文件名、整体特征值、文件的大小以及文件结构表,其中,文件结构表中顺序的存储有该数据文件的所有文件块结构表,每个文件块结构表中包括:文件块标识、前继文件块标识、后继文件块标识、文件块起始位置、文件块长度以及文件块的特征值。当请求中的特征值与第二服务器J中的特征值一致,且所述数据文件中文件块的第一位置与第二服务器J中文件块的长度信息一致时,即可直接通过查询第二服务器J中存储的数据文件的相关信息获得第三特征值,无需通过计算获得第三特征值。
进一步的,当第二服务器J查找所述匹配的数据文件不存在第一位置时,即可确定所述待传输的数据文件不存在,即可向资源服务器I发送数据文件不存在的信息。
S905:第二服务器J判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
当只有一个第一位置以及第一位置的文件块对应的第二特征值时,也即只有一个文件块需要匹配时,只要判断该文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,若匹配,也即第二特征值与第三特征值相同,确认所述数据文件存在,若不匹配,也即第二特征值与第三特征值不相同,确认所述数据文件不存在。
进一步的,当有多个第一位置以及第一位置的文件块对应的第二特征值时,也即多个文件块需要匹配时,第二服务器J要判断所有文件块的第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配;如果有一个不匹配,则确定所述数据文件不存在;如果全部匹配,则确定所述数据文件存在。
进一步的,如果第二服务器J确定本地不存在所述数据文件,则向资源服务器I反馈数据文件不存在的信息。
S906:第二服务器J向资源服务器I反馈数据文件存在的信息。
S907:第二服务器J将数据文件发送给客户端H。
由以可见,本申请实施例十在数据文件下载过程中,通过向待传输数据文件所要传输到的网络节点发送数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值,对第一标识匹配后,进一步对匹配的数据文件中第一位置对应的第三特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要传输的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断需要传输的数据文件是否已经存储在要传输数据文件的网络节点中。有效解决了用户下载场景中,因错误的判断数据文件为用户所要下载的数据文件,而使用户下载到恶意软件。与现有技术相比大大提高了确定数据文件存在的准确性,保证了数据文件传输的有效性和安全性。
上述第一方法实施例,对应的确定数据文件存在的***第一实施例可以如图10所示,该***1000包括:
第一网络节点1001,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;根据第二网络节点发送的文件块的第一位置,从所述待传输的数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;并将所述文件块的第二特征值发送给第二网络节点;
第二网络节点1002,用于根据第一网络节点发送的请求中的数据文件的第一标识查询本地匹配的数据文件,从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;并将所述第一位置发送给第一网络节点;根据第一网络节点发送的第二特征值判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
上述第二方法实施例,对应的确定数据文件存在的装置第一实施例可以如图11所示,该装置1100包括:
第一请求单元1101,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
第一位置接收单元1102,用于接收第二网络节点发送的第一位置;
第二特征值获取单元1103,用于根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
第二特征值发送单元1104,用于将所述第二特征值发送给第二网络节点。
进一步的,该装置还包括:第一接收反馈信息单元,用于接收第二网络节点反馈的数据文件是否存在的信息。
上述第三方法实施例,对应的确定数据文件存在的装置第二实施例可以如图12所示,该装置1200包括:
第一接收请求单元1201,用于接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识;
第一匹配单元1202,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第一位置获取单元1203,用于从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置;
第一位置发送单元1204,用于将所述所有选取的文件块的第一位置发送给第一网络节点;
第二特征值接收单元1205,用于接收第一网络节点发送的文件块的第二特征值;
第一确定数据文件存在单元1206,用于判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
进一步的,该装置还包括:第一反馈信息单元,用于向第一网络节点反馈数据文件是否存在的信息。
上述第六方法实施例,对应的确定数据文件存在的***第二实施例可以如图13所示,该装置1300包括:
第三网络节点1301,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第四网络节点1302,用于根据所述数据文件的第一标识查询本地匹配的数据文件;再根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;并判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
上述第七方法实施例,对应的确定数据文件存在的装置第三实施例,包括:
第二请求单元,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
进一步的,该装置还包括:第二接收反馈信息单元,用于接收第四网络节点反馈的数据文件是否存在的信息。
上述第八方法实施例,对应的确定数据文件存在的装置第四实施例可以如图14所示,该装置1400包括:
第二接收请求单元1401,用于接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第二匹配单元1402,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第三特征值获取单元1403,用于根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
第二确定数据文件存在单元1404,用于判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
进一步的,该装置还包括:第二反馈信息单元,用于向第三网络节点反馈数据文件是否存在的信息。
由此可见,本申请实施例提供的一种确定数据文件存在的方法、装置和***,通过对需要查询的数据文件的第一标识匹配后,进一步从匹配的数据文件中选取第一位置对应的文件块的第三特征值与第二特征值做进一步的匹配,由于即使第一标识可能碰撞,即伪造出与所要查询的数据文件一样的第一标识,但是在碰撞的数据文件里再次碰撞和精心伪造相同的文件块的特征值的概率大幅降低。且文件块的起始位置和文件块长度是不可预测的,伪造成功全部选中文件块的位置信息和对应的特征值的概率极低。因此能准确判断数据文件是否已经存在。实际应用中,通过本申请实施例提供的技术方案不仅精确判断出数据文件已经存在,避免重复传输带来的网络资源的浪费,而且可以避免因数据文件的特征值防碰撞性弱,导致上传场景下因错误的判断数据文件已经存在,而取消上传造成数据文件的丢失;或下载场景下因错误的判断数据文件为所要下载的软件,而是用户下载到恶意软件。与现有技术相比大大提高了确定数据文件存在的准确性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogicDevice,PLD)(例如现场可编程门阵列(FieldProgrammableGateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBooleanExpressionLanguage)、AHDL(AlteraHardwareDescriptionLanguage)、Confluence、CUPL(CornellUniversityProgrammingLanguage)、HDCal、JHDL(JavaHardwareDescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardwareDescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、AtmelAT91SAM、MicrochipPIC18F26K20以及SiliconeLabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (26)

1.一种确定数据文件存在的方法,其特征在于,包括:
第一网络节点向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
第二网络节点根据所述数据文件的第一标识查询本地匹配的数据文件;
从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;
第二网络节点向第一网络节点发送所述第一位置;
第一网络节点根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
第一网络节点将所述文件块的第二特征值发送给第二网络节点;
第二网络节点判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
2.根据权利要求1所述的确定数据文件存在的方法,其特征在于,还包括:
第二网络节点向第一网络节点反馈数据文件是否存在的信息。
3.一种确定数据文件存在的方法,其特征在于,包括:
向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
接收第二网络节点发送的第一位置;
根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
将所述第二特征值发送给第二网络节点。
4.根据权利要求3所述的确定数据文件存在的方法,其特征在于,还包括:
接收第二网络节点反馈的数据文件是否存在的信息。
5.一种确定数据文件存在的方法,其特征在于,包括:
接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识;
根据所述数据文件的第一标识查询本地匹配的数据文件;
从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置;
将所述第一位置发送给第一网络节点;
接收第一网络节点发送的文件块的第二特征值;
判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
6.一种确定数据文件存在的方法,其特征在于,包括:
第三网络节点向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第四网络节点根据所述数据文件的第一标识查询本地匹配的数据文件;
第四网络节点根据第一位置信息从所述匹配到的数据文件中计算对应位置文件块的第三特征值;
第四网络节点判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
7.根据权利要求6所述的确定数据文件存在的方法,其特征在于,还包括:
第四网络节点向第三网络节点反馈数据文件是否存在的信息。
8.一种确定数据文件存在的方法,其特征在于,包括:
向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
9.根据权利要求8所述的确定数据文件存在的方法,其特征在于,还包括:
接收第四网络节点反馈的数据文件是否存在的信息。
10.一种确定数据文件存在的方法,其特征在于,包括:
接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
根据所述数据文件的第一标识查询本地匹配的数据文件;
根据第一位置信息从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
11.根据权利要求10所述的确定数据文件存在的方法,其特征在于,还包括:
向第三网络节点反馈数据文件是否存在的信息。
12.根据权利要求11所述的确定数据文件存在的方法,其特征在于,还包括:
向第三网络节点反馈数据文件是否存在的信息。
13.根据权利要求1至12任一所述的确定数据文件存在的方法,其特征在于,所述第一标识包括文件名、文件的大小以及第一特征值中的至少一个。
14.根据权利要求1至12任一所述的确定数据文件存在的方法,其特征在于,所述文件块的第一位置包括通过指定获得的文件块的第一位置。
15.根据权利要求1至12任一所述的确定数据文件存在的方法,其特征在于,所述文件块的第一位置还包括通过随机算法计算获得的文件块的第一位置。
16.根据权利要求1至12任一所述的确定数据文件存在的方法,其特征在于,所述文件块的第一位置包括所述文件块在所属数据文件中的起始位置和结束位置,或所述文件块在所属数据文件中的起始位置和所述文件块的长度。
17.一种确定数据文件存在的***,其特征在于,包括:
第一网络节点,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;根据第二网络节点发送的文件块的第一位置,从所述待传输的数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;并将所述文件块的第二特征值发送给第二网络节点;
第二网络节点,用于根据第一网络节点发送的请求中的数据文件的第一标识查询本地匹配的数据文件,从所述匹配的数据文件中选取文件块,并获取所选取的文件块的第一位置;并将所述第一位置发送给第一网络节点;根据第一网络节点发送的第二特征值判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
18.一种确定数据文件存在的装置,其特征在于,包括:
第一请求单元,用于向第二网络节点发送数据文件的请求,所述请求中携带了数据文件的第一标识;
第一位置接收单元,用于接收第二网络节点发送的第一位置;
第二特征值获取单元,用于根据所述第一位置,从所述数据文件中选取对应位置的文件块,并计算出所述选取的文件块的第二特征值;
第二特征值发送单元,用于将所述第二特征值发送给第二网络节点。
19.根据权利要求18所述的确定数据文件存在的装置,其特征在于,还包括:
第一接收反馈信息单元,用于接收第二网络节点反馈的数据文件是否存在的信息。
20.一种确定数据文件存在的装置,其特征在于,包括:
第一接收请求单元,用于接收第一网络节点发送的数据文件的请求,所述请求中携带了数据文件的第一标识;
第一匹配单元,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第一位置获取单元,用于从所述匹配的数据文件中选取文件块,并获取所述选取的文件块的第一位置;
第一位置发送单元,用于将所述所有选取的文件块的第一位置发送给第一网络节点;
第二特征值接收单元,用于接收第一网络节点发送的文件块的第二特征值;
第一确定数据文件存在单元,用于判断所述第二特征值是否与本地所述匹配的数据文件中选取的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
21.根据权利要求20所述的确定数据文件存在的装置,其特征在于,还包括:
第一反馈信息单元,用于向第一网络节点反馈数据文件是否存在的信息。
22.一种确定数据文件存在的***,其特征在于,包括:
第三网络节点,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第四网络节点,用于根据所述数据文件的第一标识查询本地匹配的数据文件;再根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;并判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
23.一种确定数据文件存在的装置,其特征在于,包括:
第二请求单元,用于向第四网络节点发送数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值。
24.根据权利要求23所述的确定数据文件存在的装置,其特征在于,还包括:
第二接收反馈信息单元,用于接收第四网络节点反馈的数据文件是否存在的信息。
25.一种确定数据文件存在的装置,其特征在于,包括:
第二接收请求单元,用于接收数据文件的请求,所述请求中携带了所述数据文件的第一标识、所述数据文件中文件块的第一位置以及所述第一位置的文件块对应的第二特征值;
第二匹配单元,用于根据所述数据文件的第一标识查询本地匹配的数据文件;
第三特征值获取单元,用于根据第一位置从所述匹配到的数据文件中获得对应位置文件块的第三特征值;
第二确定数据文件存在单元,用于判断所述第二特征值是否与所述对应位置的文件块的第三特征值匹配,根据匹配结果确定所述数据文件是否存在。
26.根据权利要求25所述的确定数据文件存在的装置,其特征在于,还包括:
第二反馈信息单元,用于向第三网络节点反馈数据文件是否存在的信息。
CN201410720816.1A 2014-12-02 2014-12-02 一种确定数据文件存在的方法、装置及*** Pending CN105718458A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201410720816.1A CN105718458A (zh) 2014-12-02 2014-12-02 一种确定数据文件存在的方法、装置及***
EP15865135.6A EP3229149A4 (en) 2014-12-02 2015-11-26 Method, apparatus and system for determining existence of data file
PCT/CN2015/095589 WO2016086789A1 (zh) 2014-12-02 2015-11-26 一种确定数据文件存在的方法、装置及***
US15/531,850 US20170270133A1 (en) 2014-12-02 2015-11-26 Method, apparatus, and system for determining the existence of a data file
JP2017526574A JP2018500650A (ja) 2014-12-02 2015-11-26 データファイルの存在を判定するための方法、装置、及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410720816.1A CN105718458A (zh) 2014-12-02 2014-12-02 一种确定数据文件存在的方法、装置及***

Publications (1)

Publication Number Publication Date
CN105718458A true CN105718458A (zh) 2016-06-29

Family

ID=56090998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410720816.1A Pending CN105718458A (zh) 2014-12-02 2014-12-02 一种确定数据文件存在的方法、装置及***

Country Status (5)

Country Link
US (1) US20170270133A1 (zh)
EP (1) EP3229149A4 (zh)
JP (1) JP2018500650A (zh)
CN (1) CN105718458A (zh)
WO (1) WO2016086789A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210209064A1 (en) * 2018-12-05 2021-07-08 Citrix Systems, Inc. File Redundancy Detection and Mitigation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019447B (zh) * 2020-08-19 2024-06-25 博锐尚格科技股份有限公司 数据流量控制方法、装置、***、电子设备、及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848188A (zh) * 2009-03-25 2010-09-29 上海聚力传媒技术有限公司 对数据块校验信息进行更新的方法和装置
CN103248711A (zh) * 2013-05-23 2013-08-14 华为技术有限公司 一种文件上传的方法和服务器

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309727A (ja) * 2004-04-21 2005-11-04 Hitachi Ltd ファイルシステム
JP2008158815A (ja) * 2006-12-25 2008-07-10 Matsushita Electric Works Ltd 認証システム
US8620879B2 (en) * 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
US8458144B2 (en) * 2009-10-22 2013-06-04 Oracle America, Inc. Data deduplication method using file system constructs
CN101719936A (zh) * 2009-12-09 2010-06-02 成都市华为赛门铁克科技有限公司 提供文件下载服务的方法、装置及缓存***
CN101771687B (zh) * 2009-12-29 2013-06-05 北京牡丹电子集团有限责任公司 对互联网非法视频和图像节目的监测方法
CN102135892B (zh) * 2010-01-22 2015-03-04 广州华多网络科技有限公司 应用程序运行方法、装置及***
JP5492103B2 (ja) * 2011-01-25 2014-05-14 株式会社日立製作所 バックアップ装置、バックアップ方法、データ圧縮方法、バックアッププログラムおよびデータ圧縮プログラム
US8543543B2 (en) * 2011-09-13 2013-09-24 Microsoft Corporation Hash-based file comparison
US9148478B2 (en) * 2011-10-25 2015-09-29 Alcatel Lucent Verification of integrity of peer-received content in a peer-to-peer content distribution system
US8868520B1 (en) * 2012-03-01 2014-10-21 Netapp, Inc. System and method for removing overlapping ranges from a flat sorted data structure
US9128823B1 (en) * 2012-09-12 2015-09-08 Emc Corporation Synthetic data generation for backups of block-based storage
CN102937903B (zh) * 2012-10-23 2016-04-06 珠海金山网络游戏科技有限公司 一种基于特征匹配的打包文件更新方法
GB2509504A (en) * 2013-01-04 2014-07-09 Ibm Accessing de-duplicated data files stored across networked servers
JP6201385B2 (ja) * 2013-04-08 2017-09-27 富士通株式会社 ストレージ装置及びストレージ制御方法
CN103997661A (zh) * 2014-04-29 2014-08-20 四川长虹电器股份有限公司 视频与字幕文件智能适配下载***及方法
US9607004B2 (en) * 2014-06-18 2017-03-28 International Business Machines Corporation Storage device data migration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101848188A (zh) * 2009-03-25 2010-09-29 上海聚力传媒技术有限公司 对数据块校验信息进行更新的方法和装置
CN103248711A (zh) * 2013-05-23 2013-08-14 华为技术有限公司 一种文件上传的方法和服务器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210209064A1 (en) * 2018-12-05 2021-07-08 Citrix Systems, Inc. File Redundancy Detection and Mitigation

Also Published As

Publication number Publication date
WO2016086789A1 (zh) 2016-06-09
EP3229149A1 (en) 2017-10-11
EP3229149A4 (en) 2018-08-08
US20170270133A1 (en) 2017-09-21
JP2018500650A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
US10540350B2 (en) Source code search engine
US10904316B2 (en) Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system
CN111950225B (zh) 一种芯片布局方法、装置、存储介质和电子设备
CN108334515A (zh) 一种处理崩溃文件中堆栈地址的方法、装置及***
CN110399387A (zh) 基于表关联关系动态生成查询sql的方法及装置
US20170374154A1 (en) Generating a response to a client device in an internet of things domain
CN113342854A (zh) 一种移动设备唯一id生成方法和***
CN113128743B (zh) 一种拣货路径规划方法和装置
CN105718458A (zh) 一种确定数据文件存在的方法、装置及***
CN105183393A (zh) 基于磁盘缓存实现文件快速预览的方法
CN108255955B (zh) 一种数据处理方法及装置
JP6086021B2 (ja) 検索システムおよび検索方法
CN113760987A (zh) 数据处理方法和数据处理平台
TWI643077B (zh) 適應性調整資料庫結構之方法與調整裝置
CN113252026B (zh) 跨场景导航方法、设备及存储介质
US20150067537A1 (en) Social network service-based content creating system and method
CN112084006B (zh) 一种镜像包处理方法、装置及电子设备
CN114218210A (zh) 一种数据处理方法、装置和电子设备
KR20210132719A (ko) 딥 러닝 모델의 적응 방법, 장치 및 전자 기기
CN104809146A (zh) 用于确定对象在对象序列中的索引的***和方法
JP6085481B2 (ja) プログラマブル回路、演算処理方法
KR102110483B1 (ko) 데이터 처리 장치 및 방법
CN111400250B (zh) 一种资源获取方法、装置、设备及存储介质
US20160259670A1 (en) Computer readable medium, mapping information generating method, and mapping information generating apparatus
CN112115099B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1225831

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160629

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1225831

Country of ref document: HK