一种基于数据流和哈希比对的文件上传方法及系统技术方案

技术编号:21228292 阅读:23 留言:0更新日期:2019-05-29 08:46
本发明专利技术公开了一种基于数据流和哈希比对的文件上传方法及系统,属于文件上传技术领域。本发明专利技术的基于数据流和哈希比对的文件上传方法,在上传普通文件时,用户选择上传文件,利用APP服务在本地创建数据流文件并自动生成哈希值,用户只上传哈希值,云端对哈希值进行解析成为真正的文件名并入库,用户操作完成后,通过APP服务在后台上传真实文件,将数据流文件发布至云端,由云端对文件进行解析及拆分,并重命名,形成用户实际上传的文件,并完成校验,校验通过后删除本地的数据流文件。该发明专利技术的基于数据流和哈希比对的文件上传方法操作简单,使用领域广泛,能在具体运行时间容错的业务场景下,实现文件快速上传,具有很好的推广应用价值。

A File Upload Method and System Based on Data Flow and Hash Comparison

The invention discloses a file uploading method and system based on data stream and hash comparison, belonging to the technical field of file uploading. The method of file upload based on data stream and hash comparison of the present invention. When uploading ordinary files, the user chooses to upload files, creates data stream files locally and generates hash values automatically by using APP service. The user uploads only hash values, and the cloud parses the hash values into real file names and stores them, and the user operates on them. After completion, fax real files in the background through APP service, publish the data stream files to the cloud, parse and split the files by the cloud, rename them, form the files actually transmitted by users, and complete the validation. After the validation is passed, delete the local data stream files. The method of file upload based on data stream and hash comparison is simple to operate and widely used. It can quickly upload files in specific business scenarios with fault-tolerant running time. It has good application value.

【技术实现步骤摘要】
一种基于数据流和哈希比对的文件上传方法及系统
本专利技术涉及文件上传
,具体提供一种基于数据流和哈希比对的文件上传方法及系统。
技术介绍
现有技术中,一部分应用在需要文件上传的场景中,一般采用直接上传以及压缩上传两种方式。直接上传和压缩上传两种方式的特点为:直接上传使用原图或者原视频,但是该方法上传时间较长;压缩上传需要对图片或者视频进行压缩处理,压缩后文件较小,真正上传时间比较短,但用户需要等待图片或者视频的压缩过程,而该压缩过程相对比较漫长,而且照片或者视频压缩后都有失真的现象存在。因此对于用户感知来说,这两种上传方案都需要有相对较长的等待过程。
技术实现思路
本专利技术的技术任务是针对上述存在的问题,提供一种操作简单,使用领域广泛,能在具体运行时间容错的业务场景下,实现文件快速上传的基于数据流和哈希比对的文件上传方法。本专利技术进一步的技术任务是提供一种基于数据流和哈希比对的文件上传系统。为实现上述目的,本专利技术提供了如下技术方案:一种基于数据流和哈希比对的文件上传方法,该上传方法在上传普通文件时,用户选择上传文件,利用APP服务在本地创建数据流文件并自动生成哈希值,用户只上传哈希值,云端对哈希值进行解析成为真正的文件名并入库,用户操作完成后,通过APP服务在后台上传真实文件,将数据流文件发布至云端,由云端对文件进行解析及拆分,并重命名,形成用户实际上传的文件,并完成校验,校验通过后删除本地的数据流文件。该基于数据流和哈希比对的文件上传方法通过基于数据流和哈希比对的文件上传系统实现。基于数据流和哈希比对的文件上传系统包括用户操作、APP端、APP服务和云端,所述用户操作用于用户选择上传的文件及确认上传的文件;APP端和APP服务用于对确认上传的文件生成哈希值和本地数据流文件;云端用于接收上传的文件的哈希值和数据流文件。所述哈希值包括文件名称、创建时间、文件大小和文件扩展名。生成的数据流文件为dat文件。该基于数据流和哈希比对的文件上传方法在允许时间容错的前提条件下,文件上传过程中先在本地创建数据流文件以及生成文件哈希值,利用网络先上传文件哈希值,然后非实时上传数据流文件,由云端服务器对数据流文件进行解析以及哈希值比对,以确保本地文件与已上传文件的无差异。可以实现用户感知层的任意文件的“秒传”,能够最大限度的提升用户在使用应用过程中的体验。作为优选,该方法在上传超大文件时,截取文件首尾哈希值,文件完成上传后,由云端对数据流解析,截取同样部分首尾哈希值进行哈希比对,确保文件无差异。作为优选,该方法具体包括以下步骤:S1、用户选择上传的文件;S2、APP端对用户选择的文件进行检查是否符合要求,若符合要求执行步骤S3,否则返回执行步骤S1;S3、用户确认已选择的文件,并将已确认的文件显示在用户前端;S4、APP服务对已选择的文件进行哈希预处理,生成哈希值与数据流文件,并保存在本地目录;S5、用户确认上传文件后,APP端将文件的哈希值上传至云端,云端接收成功后提示用户上传成功;S6、APP端通过APP服务上传数据流文件至云端,将数据流文件解析为正常文件;S7、获取每个文件的哈希值,并进行比对,若比对成功,则执行步骤S8,否则返回执行步骤S6;S8、向APP服务发送比对成功指令,且APP服务将本地数据流文件删除。在APP端创建数据流文件前,需要首先判断文件大小,确定是否将文件分段哈希,以确保节省用户的时间。由于哈希值只进行文件比对,因此哈希值是否可逆不是最重要的,最重要的是尽最大限度避免哈希重码,以确保用户上传的文件与服务器端还原文件的一致性。而实际上,哈希值相同但文件不同的情况只存在于理论当中,到目前为止尚未被发现过。作为优选,步骤S2中,若文件过大、文件超出APP端设置的承载范畴则为不符合要求。作为优选,步骤S3将已确认的文件显示在用户前端后,用户需要检查已上传的文件是否符合文件大小,判断文件为普通文件或者超大文件,以确定是否将文件分段哈希。作为优选,步骤S4中,生成的哈希值包括文件名称、创建时间、文件大小和文件扩展名。作为优选,步骤S4中生成的数据流文件为dat文件。一种基于数据流和哈希比对的文件上传系统,该系统包括用户操作、APP端、APP服务和云端,所述用户操作用于用户选择上传的文件及确认上传的文件;APP端和APP服务用于对确认上传的文件生成哈希值和本地数据流文件;云端用于接收上传的文件的哈希值和数据流文件。作为优选,所述哈希值包括文件名称、创建时间、文件大小和文件扩展名。与现有技术相比,本专利技术的基于数据流和哈希比对的文件上传方法具有以下突出的有益效果:所述基于数据流和哈希比对的文件上传方法在允许时间容错的前提条件下,文件上传过程中先在本地创建数据流文件以及生成文件哈希值,利用网络先上传文件哈希值,然后非实时上传数据流文件,由云端服务器对数据流文件进行解析以及哈希值比对,以确保本地文件与已上传文件的无差异。可以实现用户感知层的任意文件的“秒传”,能够最大限度的提升用户在使用应用过程的体验,具有良好的推广应用价值。附图说明图1是本专利技术所述基于数据流和哈希比对的文件上传方法的流程图。具体实施方式下面将结合附图和实施例,对本专利技术的基于数据流和哈希比对的文件上传方法及系统作进一步详细说明。实施例本专利技术的基于数据流和哈希比对的文件上传方法,该方法包括上传普通文件和超大文件。在上传普通文件时,用户选择上传文件,利用APP服务在本地创建数据流文件并自动生成哈希值,用户只上传哈希值,云端对哈希值进行解析成为真正的文件名并入库,用户操作完成后,通过APP服务在后台上传真实文件,将数据流文件发布至云端,由云端对文件进行解析及拆分,并重命名,形成用户实际上传的文件,并完成校验,校验通过后删除本地的数据流文件。该方法在上传超大文件时,截取文件首尾哈希值,以节省时间,文件完成上传后,由云端对数据流解析,截取同样部分首尾哈希值进行哈希比对,确保文件无差异。该基于数据流和哈希比对的文件上传方法通过基于数据流和哈希比对的文件上传系统实现。基于数据流和哈希比对的文件上传系统包括用户操作、APP端、APP服务和云端,所述用户操作用于用户选择上传的文件及确认上传的文件;APP端和APP服务用于对确认上传的文件生成哈希值和本地数据流文件;云端用于接收上传的文件的哈希值和数据流文件。所述哈希值包括文件名称、创建时间、文件大小和文件扩展名。生成的数据流文件为dat文件。所述基于数据流和哈希比对的文件上传方法在允许时间容错的前提条件下,文件上传过程中先在本地创建数据流文件以及生成文件哈希值,利用网络先上传文件哈希值,然后非实时上传数据流文件,由云端服务器对数据流文件进行解析以及哈希值比对,以确保本地文件与已上传文件的无差异。可以实现用户感知层的任意文件的“秒传”,能够最大限度的提升用户在使用应用过程中的体验。该方法具体包括以下步骤:S1、用户选择上传的文件。S2、APP端对用户选择的文件进行检查是否符合要求,若符合要求执行步骤S3,否则返回执行步骤S1。对用户选择的文件进行检查若文件过大、文件超出APP端设置的承载范畴则为不符合要求。S3、用户确认已选择的文件,并将已确认的文件显示在用户前端。在APP端创建数据流文件前,需要首先判断文件大本文档来自技高网...

【技术保护点】
1.一种基于数据流和哈希比对的文件上传方法,其特征在于:该上传方法在上传普通文件时,用户选择上传文件,利用APP服务在本地创建数据流文件并自动生成哈希值,用户只上传哈希值,云端对哈希值进行解析成为真正的文件名并入库,用户操作完成后,通过APP服务在后台上传真实文件,将数据流文件发布至云端,由云端对文件进行解析及拆分,并重命名,形成用户实际上传的文件,并完成校验,校验通过后删除本地的数据流文件。

【技术特征摘要】
1.一种基于数据流和哈希比对的文件上传方法,其特征在于:该上传方法在上传普通文件时,用户选择上传文件,利用APP服务在本地创建数据流文件并自动生成哈希值,用户只上传哈希值,云端对哈希值进行解析成为真正的文件名并入库,用户操作完成后,通过APP服务在后台上传真实文件,将数据流文件发布至云端,由云端对文件进行解析及拆分,并重命名,形成用户实际上传的文件,并完成校验,校验通过后删除本地的数据流文件。2.根据权利要求1所述的基于数据流和哈希比对的文件上传方法,其特征在于:该方法在上传超大文件时,截取文件首尾哈希值,文件完成上传后,由云端对数据流解析,截取同样部分首尾哈希值进行哈希比对,确保文件无差异。3.根据权利要求2所述的基于数据流和哈希比对的文件上传方法,其特征在于:该方法具体包括以下步骤:S1、用户选择上传的文件;S2、APP端对用户选择的文件进行检查是否符合要求,若符合要求执行步骤S3,否则返回执行步骤S1;S3、用户确认已选择的文件,并将已确认的文件显示在用户前端;S4、APP服务对已选择的文件进行哈希预处理,生成哈希值与数据流文件,并保存在本地目录;S5、用户确认上传文件后,APP端将文件的哈希值上传至云端,云端接收成功后提示用户上传成功;S6、APP端通过APP服务上传数据流文件至云端,将数据流文件解析为正常文件;S7、获取每...

【专利技术属性】
技术研发人员:元英会肖雪罗森王大伟陈峰王仕宁
申请(专利权)人:山东浪潮云信息技术有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1