CN103795765B - 一种文件上传校验方法及系统 - Google Patents

一种文件上传校验方法及系统 Download PDF

Info

Publication number
CN103795765B
CN103795765B CN201210433546.7A CN201210433546A CN103795765B CN 103795765 B CN103795765 B CN 103795765B CN 201210433546 A CN201210433546 A CN 201210433546A CN 103795765 B CN103795765 B CN 103795765B
Authority
CN
China
Prior art keywords
file
check information
uploads
transmitting assembly
file fragmentation
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
Application number
CN201210433546.7A
Other languages
English (en)
Other versions
CN103795765A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210433546.7A priority Critical patent/CN103795765B/zh
Publication of CN103795765A publication Critical patent/CN103795765A/zh
Application granted granted Critical
Publication of CN103795765B publication Critical patent/CN103795765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明适用于网络通信领域,提供了一种文件上传校验方法及系统,所述方法包括如下步骤:存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;将存储的文件分片校验信息与从上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确,将验证正确的文件分片写入云存储服务器。本发明通过将上传过程和P2SP多源下载技术相结合,复用服务器已经存在的分片校验信息,减少额外上传校验信息的时间,加快整个文件的上传过程。

Description

一种文件上传校验方法及系统
技术领域
本发明属于网络通信领域,尤其涉及一种文件上传校验方法及系统。
背景技术
随着云计算和互联网的快速发展,用户会产生大量的数据文件,同时也会收藏保存很多影视、软件资料等,此时需要将本地的文件上传到服务器上。
目前,用户将本地的一个文件上传到服务器时,通常需要扫描本地文件,计算唯一标识,然后直接和服务器建立连接,判断文件在服务器是否存在,如果不存在将本地的文件进行分片并计算分片校验信息,单独上传每个独立分片和校验信息,可以采用多线程的方式上传文件。
现有的文件上传流程如图1所示:
1.浏览器(上传)通过上传逻辑服务器获取上传入口地址;
2.浏览器(上传)通过扫描本地文件,对文件进行分片和计算每个分片的校验信息,采用多线程方式将每个独立分片和对应的校验信息上传到存储接口服务器;
3.当存储接口服务器收到对应的分片后,同时对分片进行校验,然后与浏览器上传的分片校验信息进行比较,如果一致则写入存储服务器上,否则丢弃该数据分片,通知客户端重新上传数据分片;
4.浏览器(下载)通过存储接口服务器下载网络文件,存储接口服务器在存储服务器中读取需要下载的网络文件,传递给浏览器(下载)。
在上传文件时,上传及计算文件分片校验信息需要消耗本地大量的CPU计算资源,如果有很多文件同时需要计算校验信息,会使得本地计算校验信息的时间增加,文件越大,计算校验信息越多。
同理,用户需要从本地上传文件到网络服务器上,为了保证文件的正确性,在上传过程中通常需要对文件进行扫扫描、分片,然后计算文件的分片校验信息,同时将文件分片和校验信息上传给服务器端,服务器端收到数据分片和校验信息后,计算校验信息后在和客户端上传的校验信息比较来确定数据的正确性。如果文件很大,本地扫描计算文件的校验信息需要很久,同时如果之前上传的文件已经删除,重新上传文件还需要再次上传校验数据。
发明内容
本发明实施例提供一种文件上传文件校验方法,旨在解决现有在上传本地文件需计算并上传文件分片校验信息,占用大量的本地CPU资源的问题。
本发明实施例是这样实现的,一种文件上传校验方法,所述方法包括如下步骤:
存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;
将存储的文件分片校验信息与利用上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确。
本发明实施例的另一目的在于提供一种文件上传校验系统,所述系统包括:
校验信息存储服务器,用于存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;以及
存储接口服务器,用于将所述校验信息存储服务器存储的文件分片校验信息与从上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确。
本发明实施例通过将上传过程和P2SP多源下载技术相结合,复用服务器已经存在的分片校验信息,减少额外上传校验信息的时间,加快整个文件的上传过程。
附图说明
图1是现有技术中将本地文件上传到服务器的实现流程图;
图2是本发明实施例提供的文件上传校验方法的实现流程图;
图3是本发明实施例提供的文件上传校验系统的结构图;
图4是本发明实施例提供的文件上传校验系统的业务流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过将上传过程和P2SP多源下载技术相结合,复用下载系统收录的文件分片校验信息,无需上传文件分片校验信息,减少上传过程的文件分片校验信息的计算量。
图2示出了本发明实施例提供的文件上传校验方法的实现流程,详述如下:
在步骤S201中,存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;
作为本发明的实施例中,在存储上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息时,首先,接收根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息。然后,将根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息写入数据库。
P2SP技术在文件下载方面获得了广泛的应用,它将大量的数据传输转移到了客户端,同时为了保证下载数据的正确性,在服务器端保存了大量的文件分片校验信息。
本发明实施例中,下载客户端上报的文件分片校验信息是基于P2SP下载技术所收集的文件分片校验信息,原本这些文件分片校验信息为客户端下载进行文件校验,在本发明实施例中为上传文件进行文件分片校验,这样就可以无需上传重复的文件分片校验信息。
在步骤S202中,将存储的文件分片校验信息与利用上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确。
由于文件上传时需要对文件进行去重,判断该文件是否在服务器存在,作为本发明的一个优选实施例,该文件上传校验方法还包括以下步骤:
1.接收上传成功的文件的唯一标识,并记录所有在云存储服务器上存储的文件的唯一标识;
2.与上传组件通信,查询上传组件上传的文件的唯一标识是否存在,如果不存在,向上传组件返回需要上传文件的服务器地址。
在计算文件的唯一标识时,通常需要扫描整个文件计算全文的哈希(Hash)值作为文件的唯一标识,该过程由于涉及大量的文件IO操作,对于大文件而言非常消耗时间。
在本发明的一个实施例中,为了快速进行文件的去重,减少大文件在客户端需要的扫描时间和CPU资源的占用,大大减少用户在上传文件之前等待的时间,上传组件上传的文件的唯一标识为上传组件从部分文件内容计算的唯一标识,不扫描整个文件,只有当部分文件的唯一标识在服务器上不存在时,才计算全文的文件标识。
在本发明的实施例中,由于服务器存在每个分片的文件校验信息,可以只通过部分分片的校验信息,例如只取头、中、尾部三个文件分片校验信息(也可以取其他的文件分片)计算得到文件的唯一标识。
图3示出了本发明实施例提供的文件上传校验系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
校验信息存储服务器31存储根据上传组件35上传的文件分片计算出的文件分片校验信息,以及下载客户端37上报的文件分片校验信息。
在本发明的实施例中,校验信息存储服务器31包括校验信息数据库311和入库服务器312。
校验信息数据库311存储文件分片校验信息。
入库服务器312接收存储接口服务器32根据上传组件35上传的文件分片计算出的文件分片校验信息,以及下载客户端37上报的文件分片校验信息,写入校验信息数据库311。
存储接口服务器32将校验信息存储服务器31存储的文件分片校验信息与利用上传组件35上传的文件分片计算的文件分片校验信息进行比较,验证上传组件35上传的文件分片是否正确,将验证正确的文件分片写入云存储服务器36。
作为本发明的一个优选实施例,文件上传校验系统还包括存储索引服务器33和上传逻辑服务器34。
存储索引服务器33接收存储接口服务器32写入的上传成功的文件的唯一标识,以及记录所有在云存储服务器36上存储的文件的唯一标识。
上传逻辑服务器34与上传组件35通信,查询上传组件35上传的文件的唯一标识在存储索引服务器33是否存在,如果不存在,向上传组件35返回需要上传文件的存储接口服务器地址。
作为本发明的一个实施例,为了快速进行文件的去重,减少大文件在客户端需要的扫描时间和CPU资源的占用,大大减少用户在上传文件之前等待的时间,上传组件35上传的文件的唯一标识为上传组件35从部分文件内容计算的唯一标识。
由于校验信息数据库311存在每个文件分片的文件分片校验信息,可以只通过部分文件分片校验信息,例如只取头、中、尾部三片文件分片校验信息(也可以取其他的文件分片)计算得到文件的唯一标识。
在本发明的实施例中,当文件部分内容计算的唯一标识在存储索引服务器33中不存在时,上传组件35上传的文件的唯一标识为上传组件35从全文文件计算的唯一标识。
图4示出了本发明实施例提供的文件上传校验系统的业务流程,详述如下:
1.下载客户端若下载过程中发现是新资源也就是不能使用P2SP多源下载的文件,计算文件的分片校验信息和文件的唯一标识,上报到入库服务器。
2.入库服务器将下载客户端新上报的文件校验信息或者存储接口服务器同步给入库服务器的文件分片校验信息写入校验信息数据库,丰富校验信息数据库中的内容,供存储接口服务器查询和获取文件分片的校验信息。
3.上传组件扫描文件的部分内容并计算文件的唯一标识,然后向上传逻辑服务器查询文件是否已经上传,如果没有就从上传逻辑服务器获取存储接口服务器地址。
4.存储索引服务器记录所有在云存储服务器上存在文件的唯一标识等信息,上传逻辑服务器向存储索引服务器查询待上传文件是否存在。若不存在则通过上传逻辑服务器返回上传组件需要上传文件的存储接口服务器地址。
5.上传组件向存储接口服务器上传具体的文件分片,存储接口服务器返回上传成功的分片,同时为用户更新上传进度。
6.存储接口服务器读取校验信息数据库,获取每个独立分片的校验信息,和利用上传组件上传的每个独立分片计算出来的校验信息进行比较,确保上传文件的正确性,如果校验信息数据库中不存在对应的校验信息,则基于上传组件上传的文件分片计算分片校验信息。
7.存储接口服务器将验证正确的文件分片写入云存储服务器。
8.存储索引服务器接收存储接口服务器写入上传成功的文件的唯一标识。
9.存储接口服务器将新上传文件的分片校验信息同步给入库服务器,通过入库服务器将分片校验信息写入校验信息数据库。
本发明实施例通过将上传过程和P2SP多源下载技术相结合,复用服务器已经存在的分片校验信息,减少额外上传校验信息的时间,加快整个文件的上传过程。同时,通过部分文件内容来计算唯一标识,减少大文件在客户端需要的扫描时间和CPU资源的占用,快速进行文件去重。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种文件上传校验方法,其特征在于,所述方法包括下述步骤:
存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;其中,下载客户端上报的文件分片校验信息是下载客户端基于P2SP下载技术所收集的文件分片校验信息;
将存储的文件分片校验信息与利用上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确。
2.如权利要求1所述的文件上传校验方法,其特征在于,所述存储上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息的步骤具体为:
接收根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息;
将所述根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息写入数据库。
3.如权利要求1所述的文件上传校验方法,其特征在于,所述方法还包括下述步骤:
接收上传成功的文件的唯一标识,并记录所有在云存储服务器上存储的文件的唯一标识;
与上传组件通信,查询上传组件上传的文件的唯一标识是否存在,如果不存在,向上传组件返回需要上传文件的服务器地址。
4.如权利要求3所述的文件上传校验方法,其特征在于,所述上传组件上传的文件的唯一标识为上传组件从部分文件内容计算的唯一标识。
5.如权利要求4所述的文件上传校验方法,其特征在于,当所述从部分文件内容计算的唯一标识在服务器中不存在时,所述上传组件上传的文件的唯一标识为上传组件从全文文件计算的唯一标识。
6.一种文件上传校验系统,其特征在于,所述系统包括:
校验信息存储服务器,用于存储根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息,其中,下载客户端上报的文件分片校验信息是下载客户端基于P2SP下载技术所收集的文件分片校验信息;以及
存储接口服务器,用于将所述校验信息存储服务器存储的文件分片校验信息与从上传组件上传的文件分片计算的文件分片校验信息进行比较,验证上传组件上传的文件分片是否正确。
7.如权利要求6所述的文件上传校验系统,其特征在于,所述校验信息存储服务器包括:
校验信息数据库,用于存储文件分片校验信息;以及
入库服务器,用于接收所述存储接口服务器根据上传组件上传的文件分片计算出的文件分片校验信息,以及下载客户端上报的文件分片校验信息,写入所述校验信息数据库。
8.如权利要求6所述的文件上传校验系统,其特征在于,所述系统还包括:
存储索引服务器,用于接收所述存储接口服务器写入的上传成功的文件的唯一标识,以及记录所有在云存储服务器上存储的文件的唯一标识;以及
上传逻辑服务器,用于与上传组件通信,查询上传组件上传的文件的唯一标识在存储索引服务器是否存在,如果不存在,向上传组件返回需要上传文件的存储接口服务器地址。
9.如权利要求8所述的文件上传校验系统,其特征在于,所述上传组件上传的文件的唯一标识为上传组件从部分文件内容计算的唯一标识。
10.如权利要求9所述的文件上传校验系统,其特征在于,当所述从部分文件内容计算的唯一标识在所述存储索引服务器中不存在时,所述上传组件上传的文件的唯一标识为上传组件从全文文件计算的唯一标识。
CN201210433546.7A 2012-11-02 2012-11-02 一种文件上传校验方法及系统 Active CN103795765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210433546.7A CN103795765B (zh) 2012-11-02 2012-11-02 一种文件上传校验方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210433546.7A CN103795765B (zh) 2012-11-02 2012-11-02 一种文件上传校验方法及系统

Publications (2)

Publication Number Publication Date
CN103795765A CN103795765A (zh) 2014-05-14
CN103795765B true CN103795765B (zh) 2018-09-28

Family

ID=50671043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210433546.7A Active CN103795765B (zh) 2012-11-02 2012-11-02 一种文件上传校验方法及系统

Country Status (1)

Country Link
CN (1) CN103795765B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777310B (zh) * 2016-12-30 2020-05-22 中国民航信息网络股份有限公司 信息的校验方法及装置
CN108965463B (zh) * 2018-08-08 2021-08-17 北京筑龙信息技术有限责任公司 一种文件传输方法、装置和系统
CN109561145B (zh) * 2018-11-27 2022-04-05 泰康保险集团股份有限公司 文件处理方法、装置、电子设备及存储介质
CN109819056A (zh) * 2019-03-28 2019-05-28 山东浪潮云信息技术有限公司 一种基于数据流和哈希比对的文件上传方法及系统
CN109995866B (zh) * 2019-04-03 2022-04-29 深圳市网心科技有限公司 分布式文件校验方法、装置、计算机装置及存储介质
CN110334054A (zh) * 2019-05-17 2019-10-15 杭州亦笔科技有限公司 一种区块链文件分片存储方法
CN111182336A (zh) * 2019-10-28 2020-05-19 腾讯科技(深圳)有限公司 一种视频数据的播放处理方法、装置、服务器及终端
CN113268249A (zh) * 2021-06-09 2021-08-17 深圳市分秒网络科技有限公司 一种Android APK文件解析及自动配置的方法
CN114168537A (zh) * 2021-11-27 2022-03-11 深圳市连用科技有限公司 一种上传文件的方法及终端设备
CN114363321A (zh) * 2021-12-30 2022-04-15 支付宝(杭州)信息技术有限公司 文件传输方法、设备及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079709A (zh) * 2006-06-15 2007-11-28 腾讯科技(深圳)有限公司 单点对多节点并发下载系统和方法
CN101170414A (zh) * 2007-12-11 2008-04-30 刘彤 一种分布式环境下文件内容防篡改的方法
CN102025444A (zh) * 2009-09-09 2011-04-20 腾讯科技(深圳)有限公司 资源发布方法、资源下载方法及数据校验系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
CN101848188A (zh) * 2009-03-25 2010-09-29 上海聚力传媒技术有限公司 对数据块校验信息进行更新的方法和装置
CN102064906A (zh) * 2009-11-18 2011-05-18 突触计算机系统(上海)有限公司 一种对数据块进行校验的方法和装置
CN101980509A (zh) * 2010-11-05 2011-02-23 北京云快线软件服务有限公司 一种文件分片传输方法及装置
CN102752326B (zh) * 2011-04-19 2016-05-25 腾讯科技(深圳)有限公司 在下载文件时处理数据的方法、服务器和系统
CN102750287B (zh) * 2011-04-21 2016-10-05 腾讯科技(深圳)有限公司 收录索引信息的方法及下载验证服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079709A (zh) * 2006-06-15 2007-11-28 腾讯科技(深圳)有限公司 单点对多节点并发下载系统和方法
CN101170414A (zh) * 2007-12-11 2008-04-30 刘彤 一种分布式环境下文件内容防篡改的方法
CN102025444A (zh) * 2009-09-09 2011-04-20 腾讯科技(深圳)有限公司 资源发布方法、资源下载方法及数据校验系统

Also Published As

Publication number Publication date
CN103795765A (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
CN103795765B (zh) 一种文件上传校验方法及系统
CN110535660B (zh) 一种基于区块链的取证服务系统
US8615499B2 (en) Estimating data reduction in storage systems
CN104283933B (zh) 下载数据的方法、客户端及系统
CN111240653B (zh) 接口文档生成方法、装置及可读存储介质
CN102882974B (zh) 一种通过网站识别版本号节省网站访问资源的方法
CN103347092A (zh) 一种识别缓存文件的方法及装置
CN108933805A (zh) 一种文件传输方法及系统
CN104660635B (zh) 消息同步方法、装置及系统
CN105243119B (zh) 确定图像的待叠加区域、叠加图像、图片呈现方法和装置
CN108255701B (zh) 场景测试方法及移动终端
CN102546836A (zh) 一种上传文件的方法、终端、服务器及系统
CN104318637A (zh) 一种基于二维码的考勤方法和系统
CN110704381A (zh) 数据解析方法、装置及存储介质
CN101729593A (zh) 一种上传和接收文件的方法、系统及装置
CN110798445A (zh) 公共网关接口测试方法、装置、计算机设备及存储介质
CN102752371A (zh) 在客户端上实现闪屏的方法和客户端
CN113449339A (zh) 日志收集方法、系统、计算机设备及计算机可读存储介质
CN108134811B (zh) 目标文件分发或下载的方法、装置和系统
CN112994900B (zh) 文件会签方法、装置、客户端、服务端和存储介质
CN107463536A (zh) 一种实现安卓设备上在线预览服务器上文档的方法及系统
CN108959278A (zh) 一种数据同步方法、装置、电子设备以及存储介质
CN108494875A (zh) 一种反馈资源文件的方法和装置
AU2017100993A4 (en) A method and system for provisioning digital wallet passes for native application display of digital real estate listings by a mobile communication device
CN105577798B (zh) 更新发布数据的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right