CN111414334B - 基于云技术的文件分片上传方法、装置、设备及存储介质 - Google Patents
基于云技术的文件分片上传方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111414334B CN111414334B CN202010106294.1A CN202010106294A CN111414334B CN 111414334 B CN111414334 B CN 111414334B CN 202010106294 A CN202010106294 A CN 202010106294A CN 111414334 B CN111414334 B CN 111414334B
- Authority
- CN
- China
- Prior art keywords
- file
- uploaded
- uploading
- type
- fragment
- 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
- 239000012634 fragment Substances 0.000 title claims abstract description 293
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000005516 engineering process Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000013467 fragmentation Methods 0.000 claims description 62
- 238000006062 fragmentation reaction Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种基于云技术的文件分片上传方法、装置、设备及存储介质,涉及数据传输技术领域。该方法包括:接收上传指令;读取待上传文件,将待上传文件分为第一类型文件和第二类型文件;将第二类型文件拆分为若干个文件分片;获取每个待上传文件的第一散列值;通过终片接口上传第一类型文件,通过基础分片接口和终片接口上传第二类型文件的若干个文件分片;对已完成上传的文件进行哈希处理以获取第二散列值,通过第一散列值和第二散列值进行校验,确认文件的完整性。所述方法能避免不同终端设备的上传限制,实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整性。
Description
技术领域
本申请涉及数据传输技术领域,特别是一种基于云技术的文件分片上传方法、装置、设备及存储介质。
背景技术
云对象存储为用户提供安全可靠的定制化存储解决方案,其本质是为注册用户提供文件存储服务。对于文件上传,云平台中的云对象存储服务只负责提供两个基础的上传接口,一个是基础分片接口,一个是终片接口。其中,终片接口用于上传分片后的文件中的最后一个文件分片,基础分片接口用于上传分片后的文件中除最后一个文件分片外的其他文件分片。
对于不同的终端设备来说,利用云平台中的云对象存储服务时,基于云平台提供的两个最基础的上传接口,目前缺乏一个通用、有效的、令人满意的综合文件上传服务解决方案,如期望能通过这两个上传接口进行上传时,同时实现文件的同步上传或是异步上传,以及文件的断点续传等功能服务。
发明内容
本申请实施例所要解决的技术问题是,提供一种基于云技术的文件分片上传方法、装置、设备及存储介质,能适应不同终端设备上对不同大小的文件进行文件上传,并能方便地记录文件的上传状态和验证文件的完整性。
为了解决上述技术问题,本申请实施例所述的一种基于云技术的文件分片上传方法,采用了如下所述的技术方案:
一种基于云技术的文件分片上传方法,包括:
接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象;
根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件;
基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片;
将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值;
调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片;
基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
本申请实施例所述的基于云技术的文件分片上传方法,能避免属于不同系统的终端设备的上传限制,使不同的终端设备实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整性。
进一步的,所述的基于云技术的文件分片上传方法,所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小的步骤之前,所述方法还包括:
检测当前网络的网络连接状况,获取当前网络的网络状态等级;
匹配与所述网络状态等级对应预设的分片阈值,并设为用于与待上传文件的文件大小进行比较的分片阈值。
进一步的,所述的基于云技术的文件分片上传方法,若所述上传指令中对不同的待上传文件指定有对应的不同的分片阈值,所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件的步骤包括:
识别待上传文件的文件标识,从所述上传指令中获取与不同所属文件标识对应的若干个分片阈值;
将每个待上传文件的文件大小与对应的分片阈值的大小分别进行比较,将文件大小小于或等于与其对应的分片阈值的待上传文件记为第一类型文件,将文件大小大于与其对应的分片阈值的待上传文件记为第二类型文件;
所述基于所述分片阈值对所述第二类型文件进行分片处理的步骤包括:基于所述上传指令中指定的若干个分片阈值,分别为对应的所述第二类型文件进行分片处理。
进一步的,所述的基于云技术的文件分片上传方法,所述将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值的步骤包括:
识别待上传文件的类型;
若为第一类型文件,便将第一类型文件直接读入内存执行哈希处理,以获取每个第一类型文件的第一散列值;
若为第二类型文件,则依次读入第二类型文件的若干个文件分片,在每读入一个文件分片时便对该文件分片执行哈希处理,以获取该文件分片对应的分片散列值,并每当获取到一个第二类型文件的最后一个文件分片对应的分片散列值后,对该第二类型文件的所有文件分片对应的分片散列值进行拼合,以获取到每个第二类型文件的第一散列值。
进一步的,所述的基于云技术的文件分片上传方法,所述通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片的步骤包括:
基于文件标识和分片标识,识别当前待上传的文件分片是否为其所属的第二类型文件的最后一个文件分片;
若不是,便通过所述基础分片接口上传当前待上传的文件分片;
若是,则通过所述终片接口上传当前待上传的文件分片。
进一步的,所述的基于云技术的文件分片上传方法,所述当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件的步骤包括:
每当通过所述终片接口完成对一个文件分片的上传后,在预设的响应时间内循环检测与该文件分片的文件标识相同的其他文件分片的上传状态,直至检测到其他文件分片均完成上传时,对与该文件分片的文件标识相同的所有已完成上传的文件分片进行拼合还原;
而若超过所述响应时间仍未检测到其他文件分片均完成上传,则停止对所述基础分片接口和所述终片接口的调用,并基于各文件分片的上传状态生成告警消息发送至所述目标用户。
进一步的,所述的基于云技术的文件分片上传方法,所述基于各文件分片的上传状态生成告警消息发送至所述目标用户的步骤之后,所述方法还包括:
接收目标用户发送的续传指令;
读取上次文件上传时各待上传文件的上传状态,以标记出用于响应于所述续传指令进行上传的文件节点;
响应于所述续传指令,从所述文件节点处对未上传成功和未上传的第一类型文件和/或第二类型文件的文件分片重新进行上传。
为了解决上述技术问题,本申请实施例还提供一种基于云技术的文件分片上传装置,采用了如下所述的技术方案:
一种基于云技术的文件分片上传装置,包括:
指令接收模块,用于接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象;
文件类型划分模块,用于根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件;
文件分片模块,用于基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片;
哈希处理模块,用于将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值;
文件上传模块,用于调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片;
文件校验模块,用于基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
本申请实施例所述的基于云技术的文件分片上传装置,能避免属于不同系统的终端设备的上传限制,使不同的终端设备实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整性。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项技术方案所述的基于云技术的文件分片上传方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项技术方案所述的基于云技术的文件分片上传方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例公开了一种基于云技术的文件分片上传方法、装置、设备及存储介质,本申请实施例所述的基于云技术的文件分片上传方法,接收上传指令后;读取待上传文件,将文件大小小于或等于分片阈值的待上传文件记为第一类型文件,将文件大小大于分片阈值的待上传文件记为第二类型文件;对第二类型文件进行分片处理,将第二类型文件拆分为若干个文件分片;并执行哈希处理,以获取每个待上传文件的第一散列值;调用基础分片接口和终片接口后,通过终片接口直接上传第一类型文件,通过基础分片接口和终片接口上传第二类型文件的若干个文件分片;最终通过散列值确认已完成上传的待上传文件的完整性。所述方法能避免属于不同系统的终端设备的上传限制,使不同的终端设备实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例可以应用于其中的示例性系统架构图;
图2为本申请实施例中所述基于云技术的文件分片上传方法的一个实施例的流程图;
图3为本申请实施例中所述基于云技术的文件分片上传装置的一个实施例的结构示意图;
图4为本申请实施例中计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本申请的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的相关附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于云技术的文件分片上传方法一般由服务器/终端设备执行,相应地,基于云技术的文件分片上传装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了本申请实施例中所述基于云技术的文件分片上传方法的一个实施例的流程图。所述基于云技术的文件分片上传方法,包括以下步骤:
步骤201:接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象。
其中,所述上传指令中描述的待上传文件对象指本次上传时目标用户所期望上传的文件和文件对应的路径。其中,待上传文件的数量可以为单个也可以为多个,数量为多个时,目标用户可以在上传指令中配置待上传文件的文件列表及每个文件相应的路径。
进一步的,目标用户在配置上传指令时,还可以在其中定制其部分上传需求,如指定期望采用同步或是异步的方式进行上传等。
在本申请实施例中,所述基于云技术的文件分片上传方法运行于其上的电子设备(例如图1所示的服务器/终端设备)可以通过有线连接方式或者无线连接方式接收目标用户发出的上传指令。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202:根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件。
服务端响应于上传指令根据上传指令中描述的文件路径进行访问,并从访问的文件路径中获取对应的待上传文件,同时每个待上传文件的文件大小和文件标识均能由此获知。后续步骤中对待上传文件进行上传时,需要将其读入内存后再进行上传,而上传之前一般还需对待上传文件进行分片处理。
分片阈值是是否对文件进行分片处理的一个判断标准,同时其也是对文件进行分片处理时的分片依据。进行分片处理的待上传文件为文件大小大于分片阈值的文件。本申请实施例中,为了便于区分,将文件大小大于分片阈值的待上传文件记为第一类型文件,将文件大小大于分片阈值的待上传文件记为第二类型文件。而分片阈值的大小可以预先设定,如根据不同场景的需要设为100K或500K或1M等大小。
在本申请的一些实施例中,步骤202中所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小的步骤之前,所述基于云技术的文件分片上传方法还包括:
检测当前网络的网络连接状况,获取当前网络的网络状态等级;
匹配与所述网络状态等级对应预设的分片阈值,并设为用于与待上传文件的文件大小进行比较的分片阈值。
由于文件上传时网络连接状况会对上传的状态影响极大,因此对于不同的网络连接状况,应对待上传的文件采用不同的分片处理方式。应当理解的是,网络连接状况越好,可将对文件进行分片处理拆分出的文件分片的大小设置为越大。
在本申请实施例的一种具体的实施方式中,服务端会预先为不同的网络连接状况场景配置一张映射表,映射表中将不同的网络连接状况划分为不同的网络状态等级,每个网络状态等级对应一个分片阈值,检测到当前网络的网络连接状况后,便根据其网络连接状况在映射表中搜索到与其对应的网络状态等级,并在映射表中进一步匹配到与网络状态等级对应的分片阈值,将其视为用于在当前基于云技术的文件分片上传方法的步骤中应用的分片阈值。
步骤203:基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片。
对文件进行分片处理,会将文件拆分为若干个文件分片,若干个分片的大小之和与原文件的大小相等。而这些文件分片中,除最后一个文件分片外,其他文件分片的大小均相同,且与分片阈值的大小相等,最后一个文件分片的大小则小于或等于分片阈值的大小。
进一步理解分片处理的步骤:假设原始文件的大小为1200K,设定的分片阈值为500K,则对该文件进行分片处理后,会将该文件拆分为三个文件分片,前两个的大小均为500K,分别记录原始文件的0-500K的数据和500K-1000K的数据,第三片即最后一个文件分片的大小为200K,记录原始文件中剩下的200K数据。
本申请实施例中,为了方便记录文件分片的上传状态,对第二类型文件进行分片时,拆分出的若干个文件分片,每个文件分片均会携带与其对应的第二类型文件的文件标识和该文件分片的分片标识。其中,文件标识用于区分文件分片所属的待上传文件,分片标识用于区分不同的文件分片。
在本申请的一些实施例中,若所述上传指令中对不同的待上传文件指定有对应的不同的分片阈值,步骤202中所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件的步骤包括:
识别待上传文件的文件标识,从所述上传指令中获取与不同所属文件标识对应的若干个分片阈值;
将每个待上传文件的文件大小与对应的分片阈值的大小分别进行比较,将文件大小小于或等于与其对应的分片阈值的待上传文件记为第一类型文件,将文件大小大于与其对应的分片阈值的待上传文件记为第二类型文件;
步骤203中所述基于所述分片阈值对所述第二类型文件进行分片处理的步骤包括:基于所述上传指令中指定的若干个分片阈值,分别为对应的所述第二类型文件进行分片处理。
有时由于待上传文件之间的大小差别较大,为了更合理地进行上传,目标用户可以为不同的待上传文件在上传指令中指定不同的分片阈值。以在划分第一类型文件和第二类型文件,和对第二类型文件进行分片处理时,基于上传指令中为每个待上传文件分配的分片阈值进行处理。
步骤204:将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值。
待上传文件在上传前会读入服务端的内存,以进行哈希处理和上传。
本申请中,采用MD5(Message-Digest Algorithm 5,消息-摘要算法)对待上传文件进行哈希处理。MD5是目前广泛使用的一种密码散列函数,其常常被用来验证网络文件传输的完整性,防止文件被人篡改,相比其他哈希算法,MD5的反破解能力更强。
在本申请的一些实施例中,所述步骤204包括:
识别待上传文件的类型;
若为第一类型文件,便将第一类型文件直接读入内存执行哈希处理,以获取每个第一类型文件的第一散列值;
若为第二类型文件,则依次读入第二类型文件的若干个文件分片,在每读入一个文件分片时便对该文件分片执行哈希处理,以获取该文件分片对应的分片散列值,并每当获取到一个第二类型文件的最后一个文件分片对应的分片散列值后,对该第二类型文件的所有文件分片对应的分片散列值进行拼合,以获取到每个第二类型文件的第一散列值。
识别待上传文件的类型,可以根据其文件后缀或携带的隐性参数中能更确切地表示文件类型的内容进行识别。由于内存大小的限制,对于第二类型文件读入时,会按其拆分后的文件分片进行依次读取,并分别计算出分片散列值后,将第二类型文件的若干个文件分片的若干个分片散列值通过累加进行拼合,以得到整个第二类型文件的第一散列值。
进一步理解,MD5支持流式的散列值累加计算,如一个具有多个文件分片的第二类型文件,每读取其一个文件分片,便对该文件分片进行哈希处理获取分片散列值,得到一个128位长度的字符串,读取完该第二类型文件的所有文件分片后,相应能得到与文件分片数量对应的分片散列值,最终将所有分片散列值累加,便能得出整个第二类型文件对应的散列值。
步骤205:调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片。
平安云平台中的云对象存储服务提供的两种上传接口为基础分片接口和终片接口。其中,终片接口用于上传一个待上传文件的最后一部分文件数据,能方便系统记录文件上传的状态和进度。对于第一类型文件,无需通过分片处理拆分为多个文件分片,因此其本身可被视为第一个同时也是最后一个文件分片,上传时需通过终片接口进行上传。
本申请中,对待上传文件进行上传时,目标用户可以预先在上传指令中配置上传需求,是希望通过同步或是异步的方式进行上传,服务端对待上传文件进行上传时,若硬件支持无相关限制,便基于上传指令中配置的上传需求,选用同步或异步上传的方式。同步上传表示下一个第一类型文件或第二类型文件的文件分片必须等待上一个第一类型文件或第二类型文件的文件分片上传成功后才能进行上传;异步上传则表示无需进行排队和等待,第一类型文件或第二类型文件的文件分片依次读入内存后便能进行上传,此时的异步上传应理解为可同时进行上传,但其上传的时间节点会因读入内存的时间先后有较小的差异。
在本申请的一些实施方式中,步骤205中所述通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片的步骤包括:
基于文件标识和分片标识,识别当前待上传的文件分片是否为其所属的第二类型文件的最后一个文件分片;
若不是,便通过所述基础分片接口上传当前待上传的文件分片;
若是,则通过所述终片接口上传当前待上传的文件分片。
该实施方式中,对于当前读入内存的文件分片进行上传时,首先基于其携带的文件标识识别出其所属的第二类型文件,然后进一步基于其携带的分片标识识别其是否为该第二类型文件的最后一个文件分片。
对于识别结果表示不为最后一个文件分片的待上传的文件分片,便通过基础分片接口进行上传,对于识别结果表示为最后一个分片的待上传的文件分片,则通过终片接口进行上传。
步骤206:基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
本申请中,待上传文件的上传状态可以包括上传进度、上传节点、上传时间等数据。通过记录的上传状态,用户能较详细地了解文件上传时的各种状况,并方便对问题的定位。这里完整性可以理解为如第二类型文件的文件分片是否全部完成上传,第一类型文件是否全部完成上传,以及文件上传前后内容对比是否出现差异,若有差异表示文件上传时出错,具有完整性问题。
云平台中在进行合并文件时,会将合并后的文件内容进行哈希处理,以得到第二散列值,进行文件上传时正确性和完整性的校验,便通过对第一散列值和第二散列值进行比较即可。若一致则表示待上传文件在传输过程中内容未被更改,整个文件上传成功;否则表示待上传文件已经被篡改,需对完成上传的文件进行丢弃。
在本申请的一些实施例中,步骤206中所述当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件的步骤包括:
每当通过所述终片接口完成对一个文件分片的上传后,在预设的响应时间内循环检测与该文件分片的文件标识相同的其他文件分片的上传状态,直至检测到其他文件分片均完成上传时,对与该文件分片的文件标识相同的所有已完成上传的文件分片进行拼合还原;
而若超过所述响应时间仍未检测到其他文件分片均完成上传,则停止对所述基础分片接口和所述终片接口的调用,并基于各文件分片的上传状态生成告警消息发送至所述目标用户。
由于同一个第二类型文件下的最后一个文件分片可能相较其他文件分片更小,异步上传时即使最后一个文件分片在时间节点上属于更晚进行上传的,但网络状况不佳时,可能反而会率先完成上传。此时便需检测该第二类型文件下的其他文件分片是否已完成上传,若在预设的响应时间内仍有文件分片未完成上传,则表示当前网络环境较差或上传服务出现异常,网络连接时的上传状态不佳,不能进行较正常的文件上传,应中断上传操作,生成相应的告警消息发送给目标用户进行提醒,待排查出网络连接的问题后再继续进行上传。
在进一步的一种具体实施方式中,所述基于各文件分片的上传状态生成告警消息发送至所述目标用户的步骤之后,所述基于云技术的文件分片上传方法还包括:
接收目标用户发送的续传指令;
读取上次文件上传时各待上传文件的上传状态,以标记出用于响应于所述续传指令进行上传的文件节点;
响应于所述续传指令,从所述文件节点处对未上传成功和未上传的第一类型文件和/或第二类型文件的文件分片重新进行上传。
当排除掉网络故障或服务器服务异常的问题后,目标用户希望继续对上次未完成上传的待上传文件进行上传,此时重新上传会浪费许多不必要的服务器资源和时间,因此需要采用断点续传的方式进行上传。
通过读取在上次上传文件中断后所记录的上传过程中各待上传文件的上传状态,以了解上传进度,方便找出本次进行续传时的文件节点,所述文件节点可以为一个第一类型文件或第二类型文件的一个文件分片,也可以为多个第一类型文件和/或第二类型文件的若干个文件分片。从所述文件节点处重新开始对未上传成功和未进行上传的第一类型文件和/或第二类型文件的文件分片进行上传,由此便能实现对文件的断点续传。
本申请实施例所述的基于云技术的文件分片上传方法,能避免属于不同系统的终端设备的上传限制,使不同的终端设备实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,图3示出了为本申请实施例中所述基于云技术的文件分片上传装置的一个实施例的结构示意图。作为对上述图2所示方法的实现,本申请提供了一种基于云技术的文件分片上传装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的基于云技术的文件分片上传装置包括:
指令接收模块301;用于接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象。
文件类型划分模块302;用于根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件。
文件分片模块303;用于基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片。
哈希处理模块304;用于将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值。
文件上传模块305;用于调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片。
文件校验模块306;用于基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
在本申请的一些实施例中,所述文件类型划分模块302还包括:阈值设置子模块。所述文件类型划分模块302比较每个待上传文件的所述文件大小与预设的分片阈值的大小之前,所述阈值设置子模块用于检测当前网络的网络连接状况,获取当前网络的网络状态等级;匹配与所述网络状态等级对应预设的分片阈值,并设为用于与待上传文件的文件大小进行比较的分片阈值。
在本申请的一些实施例中,若所述上传指令中对不同的待上传文件指定有对应的不同的分片阈值,所述文件类型划分模块302还用于识别待上传文件的文件标识,从所述上传指令中获取与不同所属文件标识对应的若干个分片阈值;将每个待上传文件的文件大小与对应的分片阈值的大小分别进行比较,将文件大小小于或等于与其对应的分片阈值的待上传文件记为第一类型文件,将文件大小大于与其对应的分片阈值的待上传文件记为第二类型文件;
所述文件分片模块303还用于基于所述上传指令中指定的若干个分片阈值,分别为对应的所述第二类型文件进行分片处理。
在本申请的一些实施例中,所述哈希处理模块304用于:识别待上传文件的类型;若为第一类型文件,便将第一类型文件直接读入内存执行哈希处理,以获取每个第一类型文件的第一散列值;若为第二类型文件,则依次读入第二类型文件的若干个文件分片,在每读入一个文件分片时便对该文件分片执行哈希处理,以获取该文件分片对应的分片散列值,并每当获取到一个第二类型文件的最后一个文件分片对应的分片散列值后,对该第二类型文件的所有文件分片对应的分片散列值进行拼合,以获取到每个第二类型文件的第一散列值。
在本申请的一些实施方式中,所述文件上传模块305用于基于文件标识和分片标识,识别当前待上传的文件分片是否为其所属的第二类型文件的最后一个文件分片;若不是,便通过所述基础分片接口上传当前待上传的文件分片;若是,则通过所述终片接口上传当前待上传的文件分片。
在本申请的一些实施例中,所述文件校验模块306用于:每当通过所述终片接口完成对一个文件分片的上传后,在预设的响应时间内循环检测与该文件分片的文件标识相同的其他文件分片的上传状态,直至检测到其他文件分片均完成上传时,对与该文件分片的文件标识相同的所有已完成上传的文件分片进行拼合还原;而若超过所述响应时间仍未检测到其他文件分片均完成上传,则停止对所述基础分片接口和所述终片接口的调用,并基于各文件分片的上传状态生成告警消息发送至所述目标用户。
在进一步的一种具体实施方式中,所述文件校验模块306还包括:续传子模块。所述文件校验模块306基于各文件分片的上传状态生成告警消息发送至所述目标用户之后,所述续传子模块用于接收目标用户发送的续传指令;读取上次文件上传时各待上传文件的上传状态,以标记出用于响应于所述续传指令进行上传的文件节点;响应于所述续传指令,从所述文件节点处对未上传成功和未上传的第一类型文件和/或第二类型文件的文件分片重新进行上传。
本申请实施例所述的基于云技术的文件分片上传装置,能避免属于不同系统的终端设备的上传限制,使不同的终端设备实现对不同大小的多文件分片的同步或异步上传,以及文件断点续传的功能,并能较方便地记录文件的上传状态和验证文件的完整性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如基于云技术的文件分片上传方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述基于云技术的文件分片上传方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于云技术的文件分片上传程序,所述基于云技术的文件分片上传程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于云技术的文件分片上传方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
在本申请所提供的上述实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述模块或组件可以是或者也可以不是物理上分开的,作为模块或组件显示的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块或组件来实现本实施例方案的目的。
本申请不限于上述实施方式,以上所述是本申请的优选实施方式,该实施例仅用于说明本申请而不用于限制本申请的范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,其依然可以对前述各具体实施方式所记载的技术方案进行若干改进和修饰,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理应视为包括在本申请的保护范围之内。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,以及凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种基于云技术的文件分片上传方法,其特征在于,包括:
接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象;
根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件;
基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片;
将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值;
调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片;
基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
2.根据权利要求1所述的基于云技术的文件分片上传方法,其特征在于,所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小的步骤之前,所述方法还包括:
检测当前网络的网络连接状况,获取当前网络的网络状态等级;
匹配与所述网络状态等级对应预设的分片阈值,并设为用于与待上传文件的文件大小进行比较的分片阈值。
3.根据权利要求1所述的基于云技术的文件分片上传方法,其特征在于,若所述上传指令中对不同的待上传文件指定有对应的不同的分片阈值,所述比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件的步骤包括:
识别待上传文件的文件标识,从所述上传指令中获取与不同所属文件标识对应的若干个分片阈值;
将每个待上传文件的文件大小与对应的分片阈值的大小分别进行比较,将文件大小小于或等于与其对应的分片阈值的待上传文件记为第一类型文件,将文件大小大于与其对应的分片阈值的待上传文件记为第二类型文件;
所述基于所述分片阈值对所述第二类型文件进行分片处理的步骤包括:基于所述上传指令中指定的若干个分片阈值,分别为对应的所述第二类型文件进行分片处理。
4.根据权利要求1所述的基于云技术的文件分片上传方法,其特征在于,所述将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值的步骤包括:
识别待上传文件的类型;
若为第一类型文件,便将第一类型文件直接读入内存执行哈希处理,以获取每个第一类型文件的第一散列值;
若为第二类型文件,则依次读入第二类型文件的若干个文件分片,在每读入一个文件分片时便对该文件分片执行哈希处理,以获取该文件分片对应的分片散列值,并每当获取到一个第二类型文件的最后一个文件分片对应的分片散列值后,对该第二类型文件的所有文件分片对应的分片散列值进行拼合,以获取到每个第二类型文件的第一散列值。
5.根据权利要求1所述的基于云技术的文件分片上传方法,其特征在于,所述通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片的步骤包括:
基于文件标识和分片标识,识别当前待上传的文件分片是否为其所属的第二类型文件的最后一个文件分片;
若不是,便通过所述基础分片接口上传当前待上传的文件分片;
若是,则通过所述终片接口上传当前待上传的文件分片。
6.根据权利要求1所述的基于云技术的文件分片上传方法,其特征在于,所述当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件的步骤包括:
每当通过所述终片接口完成对一个文件分片的上传后,在预设的响应时间内循环检测与该文件分片的文件标识相同的其他文件分片的上传状态,直至检测到其他文件分片均完成上传时,对与该文件分片的文件标识相同的所有已完成上传的文件分片进行拼合还原;
而若超过所述响应时间仍未检测到其他文件分片均完成上传,则停止对所述基础分片接口和所述终片接口的调用,并基于各文件分片的上传状态生成告警消息发送至所述目标用户。
7.根据权利要求6所述的基于云技术的文件分片上传方法,其特征在于,所述基于各文件分片的上传状态生成告警消息发送至所述目标用户的步骤之后,所述方法还包括:
接收目标用户发送的续传指令;
读取上次文件上传时各待上传文件的上传状态,以标记出用于响应于所述续传指令进行上传的文件节点;
响应于所述续传指令,从所述文件节点处对未上传成功和未上传的第一类型文件和/或第二类型文件的文件分片重新进行上传。
8.一种基于云技术的文件分片上传装置,其特征在于,包括:
指令接收模块,用于接收目标用户配置的上传指令,所述上传指令中指明有待上传文件对象;
文件类型划分模块,用于根据所述上传指令中待上传文件对象读取指明的待上传文件,并获取每个待上传文件的文件大小及文件标识,比较每个待上传文件的所述文件大小与预设的分片阈值的大小,将文件大小小于或等于所述分片阈值的待上传文件记为第一类型文件,将文件大小大于所述分片阈值的待上传文件记为第二类型文件;
文件分片模块,用于基于所述分片阈值对所述第二类型文件进行分片处理,以将所有第二类型文件分别拆分为携带文件标识和分片标识的若干个文件分片;
哈希处理模块,用于将所述第一类型文件和所述第二类型文件的若干个文件分片依次读入内存,并执行哈希处理,以获取每个待上传文件的第一散列值;
文件上传模块,用于调用基础分片接口和终片接口,通过所述终片接口直接上传所述内存中的第一类型文件,通过所述基础分片接口和所述终片接口上传所述内存中的第二类型文件的若干个文件分片;
文件校验模块,用于基于文件标识和/或分片标识标记待上传文件的上传状态,当第二类型文件对应的文件分片完成上传后,将具有相同文件标识的文件分片进行拼合,以还原为第二类型文件,并对已完成上传的每个第一类型文件和第二类型文件分别进行哈希处理以获取对应的第二散列值,通过所述第一散列值和所述第二散列值进行校验,以确认已完成上传的待上传文件的完整性。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任意一项所述的基于云技术的文件分片上传方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的基于云技术的文件分片上传方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010106294.1A CN111414334B (zh) | 2020-02-21 | 2020-02-21 | 基于云技术的文件分片上传方法、装置、设备及存储介质 |
PCT/CN2020/099534 WO2021164178A1 (zh) | 2020-02-21 | 2020-06-30 | 基于云技术的文件分片上传方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010106294.1A CN111414334B (zh) | 2020-02-21 | 2020-02-21 | 基于云技术的文件分片上传方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414334A CN111414334A (zh) | 2020-07-14 |
CN111414334B true CN111414334B (zh) | 2024-04-05 |
Family
ID=71494130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010106294.1A Active CN111414334B (zh) | 2020-02-21 | 2020-02-21 | 基于云技术的文件分片上传方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111414334B (zh) |
WO (1) | WO2021164178A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835867A (zh) * | 2020-07-28 | 2020-10-27 | 浪潮云信息技术股份公司 | 文件上传方法及系统 |
CN112398904A (zh) * | 2020-09-24 | 2021-02-23 | 中国电建集团海外投资有限公司 | 一种基于公有云的数据发送方法 |
CN112134789A (zh) * | 2020-09-28 | 2020-12-25 | 中国银行股份有限公司 | 邮件发送、接收的方法及装置 |
CN112532740B (zh) * | 2020-12-11 | 2022-11-15 | 平安科技(深圳)有限公司 | 文件上传方法和装置、文件校验方法和装置 |
CN112559464A (zh) * | 2020-12-22 | 2021-03-26 | 鲁班(北京)电子商务科技有限公司 | 一种文件上传方法及上传装置 |
CN112769906A (zh) * | 2020-12-25 | 2021-05-07 | 三盟科技股份有限公司 | 一种文件断点上传方法、系统、计算机设备及存储介质 |
CN112948340A (zh) * | 2021-02-04 | 2021-06-11 | 北京金山云网络技术有限公司 | 数据同步方法、装置、电子设备及可读存储介质 |
CN113079219A (zh) * | 2021-04-12 | 2021-07-06 | 北京明略昭辉科技有限公司 | 一种大文件分片上传方法和系统 |
CN113726838B (zh) * | 2021-06-17 | 2023-09-19 | 武汉理工数字传播工程有限公司 | 文件传输方法、装置、设备及存储介质 |
CN113411393A (zh) * | 2021-06-17 | 2021-09-17 | 中国工商银行股份有限公司 | 文件推送方法及装置 |
CN113852642B (zh) * | 2021-10-09 | 2023-05-09 | 珠海迈科智能科技股份有限公司 | 一种基于dvb标准的ts流分片上传方法及其装置 |
CN114338646A (zh) * | 2021-11-29 | 2022-04-12 | 王建冬 | 文件交互传输方法、装置、设备及存储介质 |
CN113949897B (zh) * | 2021-11-30 | 2024-02-13 | 紫光云(南京)数字技术有限公司 | 一种mp4视频流媒体点播的分片缓存加速方法 |
CN114301900A (zh) * | 2021-12-27 | 2022-04-08 | 中国电信股份有限公司 | 文件传输的方法、装置和电子设备 |
CN114363321A (zh) * | 2021-12-30 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 文件传输方法、设备及系统 |
CN114553852A (zh) * | 2022-02-28 | 2022-05-27 | 傲普(上海)新能源有限公司 | 一种基于异步工业文件服务器的快速上传方法 |
CN114553885A (zh) * | 2022-03-02 | 2022-05-27 | 上海弘玑信息技术有限公司 | 基于dht网络的存储方法及装置、电子设备、存储介质 |
CN114448975A (zh) * | 2022-03-04 | 2022-05-06 | 中国建设银行股份有限公司 | 一种文件传输方法、装置、设备及介质 |
CN114884937B (zh) * | 2022-05-27 | 2024-01-09 | 宁夏中宁县京能新能源有限公司 | 一种新能源集控系统数据断点续传方法 |
CN115002100B (zh) * | 2022-05-27 | 2024-03-08 | 河北燕鸣科技有限公司 | 文件传输方法、装置、电子设备及存储介质 |
CN114915622B (zh) * | 2022-05-31 | 2024-01-30 | 广东三维睿新科技有限公司 | 一种web端基于http的文件传输方法 |
CN114866536A (zh) * | 2022-05-31 | 2022-08-05 | 北京奕斯伟计算技术有限公司 | 文件上传方法及web前端 |
CN115037739B (zh) * | 2022-06-13 | 2024-02-23 | 深圳乐播科技有限公司 | 文件传输方法、装置、电子设备及存储介质 |
CN115421649B (zh) * | 2022-08-02 | 2023-10-20 | 佳源科技股份有限公司 | 一种可索引、可扩展的参数文件分片存储系统及方法 |
CN115174561B (zh) * | 2022-09-08 | 2022-11-22 | 北京亿赛通网络安全技术有限公司 | 一种文件分段传输方法及系统 |
CN115618428B (zh) * | 2022-12-19 | 2023-03-17 | 江西曼荼罗软件有限公司 | 一种基于区块链技术的数据完整性校验方法及系统 |
CN117979118A (zh) * | 2024-03-29 | 2024-05-03 | 杭州海康威视数字技术股份有限公司 | 一种数据流录制方法、装置、记录仪及记录系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139241A (zh) * | 2011-11-24 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络资源文件的离线下载系统和方法 |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
CN109831506A (zh) * | 2019-01-31 | 2019-05-31 | 百度在线网络技术(北京)有限公司 | 文件上传方法、装置、终端、服务器及可读存储介质 |
CN110401725A (zh) * | 2019-08-23 | 2019-11-01 | 深圳市鹰硕技术有限公司 | 文件上传方法、装置、终端、服务器、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332357B1 (en) * | 2011-06-10 | 2012-12-11 | Microsoft Corporation | Identification of moved or renamed files in file synchronization |
US20180219871A1 (en) * | 2017-02-01 | 2018-08-02 | Futurewei Technologies, Inc. | Verification of fragmented information centric network chunks |
CN109739810B (zh) * | 2018-12-07 | 2021-10-08 | 中山市江波龙电子有限公司 | 文件同步方法、服务器、客户端及具有存储功能的装置 |
-
2020
- 2020-02-21 CN CN202010106294.1A patent/CN111414334B/zh active Active
- 2020-06-30 WO PCT/CN2020/099534 patent/WO2021164178A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103139241A (zh) * | 2011-11-24 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络资源文件的离线下载系统和方法 |
CN109522270A (zh) * | 2018-10-19 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于区块链的文件存读方法、电子装置及可读存储介质 |
CN109831506A (zh) * | 2019-01-31 | 2019-05-31 | 百度在线网络技术(北京)有限公司 | 文件上传方法、装置、终端、服务器及可读存储介质 |
CN110401725A (zh) * | 2019-08-23 | 2019-11-01 | 深圳市鹰硕技术有限公司 | 文件上传方法、装置、终端、服务器、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021164178A1 (zh) | 2021-08-26 |
CN111414334A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414334B (zh) | 基于云技术的文件分片上传方法、装置、设备及存储介质 | |
CN112866310A (zh) | Cdn回源的校验方法和校验服务器、cdn集群 | |
CN110554930B (zh) | 一种数据存储方法及相关设备 | |
CN112380227B (zh) | 基于消息队列的数据同步方法、装置、设备及存储介质 | |
CN110807050B (zh) | 性能分析方法、装置、计算机设备及存储介质 | |
CN111813418A (zh) | 分布式链路跟踪方法、装置、计算机设备及存储介质 | |
CN114637611A (zh) | 基于消息队列的信息处理方法、装置及计算机设备 | |
CN112860662B (zh) | 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN112738249B (zh) | 基于量化交易的文件上传方法、装置、设备及存储介质 | |
CN117499412A (zh) | 一种基于高可用链路的集群优化处理方法及其相关设备 | |
CN111475388A (zh) | 数据推送的测试方法、装置、计算机设备及存储介质 | |
EP3349416A1 (en) | Relationship chain processing method and system, and storage medium | |
CN110991358A (zh) | 一种基于区块链的文本比对方法及装置 | |
CN113360172B (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
CN114615325A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN114143308A (zh) | 文件上传信息处理方法、装置、计算机设备及存储介质 | |
CN110597682B (zh) | 一种应用部署方法、装置、计算机设备及存储介质 | |
CN113791735A (zh) | 视频数据存储方法、装置、计算机设备及存储介质 | |
CN111107143B (zh) | 一种网络文件传输检测方法、装置和系统 | |
CN114398994A (zh) | 基于图像识别的业务异常检测方法、装置、设备及介质 | |
CN114186976A (zh) | 工作流程流转方法、装置、计算机设备及存储介质 | |
CN110413800B (zh) | 一种提供小说信息的方法与设备 | |
CN112688905B (zh) | 数据传输方法、装置、客户端、服务器及存储介质 | |
CN112632192A (zh) | 节点维护方法、装置、计算机设备及介质 | |
CN107704557B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |