CN112073535A - 一种基于位图的数据包分片传输方法 - Google Patents
一种基于位图的数据包分片传输方法 Download PDFInfo
- Publication number
- CN112073535A CN112073535A CN202010993001.6A CN202010993001A CN112073535A CN 112073535 A CN112073535 A CN 112073535A CN 202010993001 A CN202010993001 A CN 202010993001A CN 112073535 A CN112073535 A CN 112073535A
- Authority
- CN
- China
- Prior art keywords
- file
- information
- bitmap
- block
- state
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims abstract description 16
- 239000012634 fragment Substances 0.000 title claims abstract description 12
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于位图的数据包分片传输方法,包括以下步骤:S1:客户端在文件向服务器上传时,将文件切分成固定大小的块;S2:向文件服务器发送文件及分块信息;S3:文件服务器收到文件及分块信息后,取出指纹信息与现有库中的文件指纹信息进行比对,S4:若存在,建立新的上传文件记录,并返回上传成功;S5:若不存在,建立文件块状态Bitmap,并返回收到文件信息的响应;S6:开始向文件服务器发送文件块信息;S7:当服务器接收到对应索引的文件块信息时,将其存储在目标位置,并更新状态Bitmap对应位的状态值为1;S8:当所有状态Bitmap对应位的值全部变为1时,则表示文件上传完成,调用文件合并模块进行所有当前文件的文件块进行合并。
Description
技术领域
本发明涉及信息技术领域,具体为一种基于位图的数据包分片传输方法。
背景技术
在信息技术领域,各应用系统之间进行文件传输是常见的应用场景,尤其是在传输大的数据文件(例如:高清视频,语音,空间地理数据)时,如果不将数据分片(块),极有可能在传输过程中因超时而中止,因此需要在进行大文件传输前,将对文件进行分块。常规方案中,在上传过程时,将分块信息及其状态以一条一条的数据记录存储在数据库中或临时的一个地方,当块传输状态(未完成、已完成)发生变化时需要更新对应记录的数据块状态。
基于此,本发明设计了一种基于位图的数据包分片传输方法,以解决上述提到的文件分块及块上传信息记录、文件分块状态的高效存储与计算结构的建立以及如果快速判断文件是否上传完成(全部块就绪),以调用文件合并方法的问题。
发明内容
本发明的目的在于提供一种基于位图的数据包分片传输方法,基于位图的分块状态记录则以一位表示一个块的状态(而不是一条记录),因此,具有存储空间小,更新方便,计算高效等特点,尤其在有海量用户同时上传文件的应用场景下(例如:云网盘),分块信息的计算时效将提升3个数量级,存储空间将降低2个数量级。
为实现上述目的,本发明提供如下技术方案:一种基于位图的数据包分片传输方法,包括以下步骤:
S1:客户端在文件向服务器上传时,将文件切分成固定大小的块;
S2:向文件服务器发送文件及分块信息;
S3:文件服务器收到文件及分块信息后,取出指纹信息与现有库中的文件指纹信息进行比对,若存在,即已有相同文件之前上传过,则执行S4,若不存在,则执行S5;
S4:建立新的上传文件记录,并返回上传成功;
S5:建立文件块状态Bitmap,并返回收到文件信息的响应;
S6:开始向文件服务器发送文件块信息;
S7:当服务器接收到对应索引的文件块信息时,将其存储在目标位置,并更新状态Bitmap对应位的状态值为1;
S8:当所有状态Bitmap对应位的值全部变为1时,则表示文件上传完成,调用文件合并模块进行所有当前文件的文件块进行合并,合并后删除所有文件块的信息。
优选的,所述S2中文件及分块信息包括文件总大小、块数、每块大小及指纹SHA256。
优选的,所述状态Bitmap为根据文件块索引,由低到高分别存储第1、2、3…块的状态,初始值全部为0。
优选的,所述S6中文件块信息包括文件块顺序索引、大小的信息。
与现有技术相比,本发明的有益效果是:本发明基于位图的文件块上传状态的存储结构,比常规方式更加节省空间;将文件切分成固定大小的块,取出指纹信息与现有库中的文件指纹信息进行比对,同时建立建立文件块状态Bitmap,当所有状态Bitmap对应位的值全部变为1时,则表示文件上传完成,调用文件合并模块进行所有当前文件的文件块进行合并,文件上传完成的状态计算,比常规方式更加快速高效
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法流程图;
图2为本发明文件存储与索引结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图2所示,首先构建文件存储和索引结构。
请参阅图1,本发明提供一种技术方案:一种基于位图的数据包分片传输方法,包括以下步骤:
S1:客户端在文件向服务器上传时,将文件切分成固定大小的块;
S2:向文件服务器发送文件及分块信息,包括文件总大小、块数、每块大小及指纹SHA256;
S3:文件服务器收到文件及分块信息后,取出指纹信息与现有库中的文件指纹信息进行比对,若存在,即已有相同文件之前上传过,则执行S4,若不存在,则执行S5;
S4:建立新的上传文件记录,并返回上传成功;
S5:建立文件块状态Bitmap,状态Bitmap为根据文件块索引,由低到高分别存储第1、2、3…块的状态,初始值全部为0,并返回收到文件信息的响应;
S6:开始向文件服务器发送文件块信息,包括文件块顺序索引、大小的信息;
S7:当服务器接收到对应索引的文件块信息时,将其存储在目标位置,并更新状态Bitmap对应位的状态值为1;
S8:当所有状态Bitmap对应位的值全部变为1时,则表示文件上传完成,调用文件合并模块进行所有当前文件的文件块进行合并,合并后删除所有文件块的信息。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (4)
1.一种基于位图的数据包分片传输方法,其特征在于:包括以下步骤:
S1:客户端在文件向服务器上传时,将文件切分成固定大小的块;
S2:向文件服务器发送文件及分块信息;
S3:文件服务器收到文件及分块信息后,取出指纹信息与现有库中的文件指纹信息进行比对,若存在,即已有相同文件之前上传过,则执行S4,若不存在,则执行S5;
S4:建立新的上传文件记录,并返回上传成功;
S5:建立文件块状态Bitmap,并返回收到文件信息的响应;
S6:开始向文件服务器发送文件块信息;
S7:当服务器接收到对应索引的文件块信息时,将其存储在目标位置,并更新状态Bitmap对应位的状态值为1;
S8:当所有状态Bitmap对应位的值全部变为1时,则表示文件上传完成,调用文件合并模块进行所有当前文件的文件块进行合并,合并后删除所有文件块的信息。
2.根据权利要求1所述的一种基于位图的数据包分片传输方法,其特征在于:所述S2中文件及分块信息包括文件总大小、块数、每块大小及指纹SHA256。
3.根据权利要求1所述的一种基于位图的数据包分片传输方法,其特征在于:所述状态Bitmap为根据文件块索引,由低到高分别存储第1、2、3…块的状态,初始值全部为0。
4.根据权利要求1所述的一种基于位图的数据包分片传输方法,其特征在于:所述S6中文件块信息包括文件块顺序索引、大小的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010993001.6A CN112073535A (zh) | 2020-09-21 | 2020-09-21 | 一种基于位图的数据包分片传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010993001.6A CN112073535A (zh) | 2020-09-21 | 2020-09-21 | 一种基于位图的数据包分片传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112073535A true CN112073535A (zh) | 2020-12-11 |
Family
ID=73682084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010993001.6A Pending CN112073535A (zh) | 2020-09-21 | 2020-09-21 | 一种基于位图的数据包分片传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073535A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039971A (zh) * | 2021-11-11 | 2022-02-11 | 北京神舟航天软件技术股份有限公司 | Bs模式下基于文件流的大文件并发传输方法 |
CN114124940A (zh) * | 2021-11-30 | 2022-03-01 | 上海御渡半导体科技有限公司 | 一种基于udp协议的数据定制传输的方法 |
CN114172898A (zh) * | 2022-02-10 | 2022-03-11 | 中国人民解放军海军工程大学 | 一种大文件远程传输方法 |
CN114172894A (zh) * | 2021-12-01 | 2022-03-11 | 中国建设银行股份有限公司 | 数据传输方法、装置、服务器和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281382A (zh) * | 2013-05-31 | 2013-09-04 | 合一网络技术(北京)有限公司 | 一种基于p2p的文件传输方法和节点 |
CN103973421A (zh) * | 2013-02-06 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 文件传送方法及装置 |
CN110995788A (zh) * | 2019-11-13 | 2020-04-10 | 广州辰河质检技术有限公司 | 一种http服务器断点续传上传文件存储的实现方法 |
-
2020
- 2020-09-21 CN CN202010993001.6A patent/CN112073535A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973421A (zh) * | 2013-02-06 | 2014-08-06 | 腾讯科技(深圳)有限公司 | 文件传送方法及装置 |
CN103281382A (zh) * | 2013-05-31 | 2013-09-04 | 合一网络技术(北京)有限公司 | 一种基于p2p的文件传输方法和节点 |
CN110995788A (zh) * | 2019-11-13 | 2020-04-10 | 广州辰河质检技术有限公司 | 一种http服务器断点续传上传文件存储的实现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039971A (zh) * | 2021-11-11 | 2022-02-11 | 北京神舟航天软件技术股份有限公司 | Bs模式下基于文件流的大文件并发传输方法 |
CN114124940A (zh) * | 2021-11-30 | 2022-03-01 | 上海御渡半导体科技有限公司 | 一种基于udp协议的数据定制传输的方法 |
CN114172894A (zh) * | 2021-12-01 | 2022-03-11 | 中国建设银行股份有限公司 | 数据传输方法、装置、服务器和计算机设备 |
CN114172898A (zh) * | 2022-02-10 | 2022-03-11 | 中国人民解放军海军工程大学 | 一种大文件远程传输方法 |
CN114172898B (zh) * | 2022-02-10 | 2023-07-21 | 中国人民解放军海军工程大学 | 一种大文件远程传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073535A (zh) | 一种基于位图的数据包分片传输方法 | |
EP3917115A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN110413650B (zh) | 一种业务数据的处理方法、装置、设备和存储介质 | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
CN108874946B (zh) | 一种id管理方法及装置 | |
CN107958079A (zh) | 聚合文件删除方法、系统、装置及可读存储介质 | |
CN110908833A (zh) | 一种数据备份方法、装置、设备及计算机可读存储介质 | |
CN116360954B (zh) | 基于云边协同技术的工业物联网管控方法和管控系统 | |
CN103685343A (zh) | 文件传输方法和系统 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN112667620A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114564446A (zh) | 一种文件存储的方法、装置、系统及存储介质 | |
CN103888424A (zh) | 集群式数据加密系统及其数据处理方法 | |
CN110069457A (zh) | 一种基于分布式文件存储系统中过期文件删除方法及系统 | |
EP4174675A1 (en) | On-board data storage method and system | |
CN117931512A (zh) | 基于云存储的自适应容错方法、装置、设备以及存储介质 | |
CN111200640B (zh) | 基于客户端的上传方法以及客户端 | |
CN111290901A (zh) | 一种存储节点性能优化的方法、装置、设备及存储介质 | |
US20220019354A1 (en) | Method for data storage, general service entity device, and storage medium | |
EP4414858A1 (en) | Processing method and apparatus for communication service data, and computer storage medium | |
CN115865097A (zh) | 一种数据压缩方法、系统、设备及计算机可读存储介质 | |
CN111143366B (zh) | 一种针对海量大对象数据的高效能存储方法 | |
CN112804312B (zh) | 文件上传方法、设备以及计算机可读介质 | |
CN112218104B (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN108845895B (zh) | 基于虚拟磁盘文件的流式增量备份方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201211 |