一种文件上传方法、下载方法和系统技术方案

技术编号:30441225 阅读:17 留言:0更新日期:2021-10-24 18:29
本申请公开了一种文件上传方法、下载方法和系统,文件上传方法包括:响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行Git命令将待上传文件保存到对应的Git仓库中;通过Git监听服务获取待上传文件的第一目标参数,并将待上传文件的第一目标参数发送给区块链平台的工具包;通过区块链平台的工具包调用智能合约,将待上传文件的第一目标参数写入该区块链平台的区块链数据库中,改善了现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。难的技术问题。难的技术问题。

【技术实现步骤摘要】
一种文件上传方法、下载方法和系统


[0001]本申请涉及文件管理
,尤其涉及一种文件上传方法、下载方法和系统。

技术介绍

[0002]信息时代,电子文件具有极其重要的价值,电子文件管理工作的重要性也逐渐彰显。制造业企业的电子文件一般是比较复杂的工程图纸,常用软件比如CAD、UG、SW等制作,这些文件一般都是比较大的文件,通常是保存在员工的电脑上,或者通过诸如PDM、PLM、EDM等系统进行管理,目前制造业企业文件管理系统可以分为集中式文件管理系统和分布式文件管理系统,集中式文件管理系统将所有的文件存储在中央服务器中,容易出现单点故障,导致文件丢失;而现有的分布式文件管理系统存在文件版本管理混乱、文件安全缺乏保障、文件无法有效协作共享等问题。

技术实现思路

[0003]本申请提供了一种文件上传方法、下载方法和系统,用于改善现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
[0004]有鉴于此,本申请第一方面提供了一种文件上传方法,包括:
[0005]响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行Git命令将所述待上传文件保存到对应的Git仓库中;
[0006]通过Git监听服务获取所述待上传文件的第一目标参数,并将所述待上传文件的第一目标参数发送给区块链平台的工具包;
[0007]通过所述区块链平台的工具包调用智能合约,将所述待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
[0008]可选的,所述待上传文件的第一目标参数为所述待上传文件的摘要信息。
[0009]可选的,所述区块链平台为HyperledgerFabric。
[0010]本申请第二方面提供了一种文件下载方法,包括:
[0011]响应于用户触发的文件下载请求,通过文件获取接口对获取的所述待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,所述第二目标参数为文件名称和文件版本号;
[0012]通过所述区块链平台的工具包调用智能合约,从该区块链平台的区块链数据库中查找是否存在所述第二目标参数对应的第一目标参数,若存在,则将获取所述第二目标参数对应的第一目标参数;
[0013]通过所述区块链平台的工具包根据所述第二目标参数对应的第一目标参数,执行Git命令从Git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给所述文件获取接口,使得所述文件获取接口将该待下载文件返回给用户。
[0014]可选的,所述第一目标参数为摘要信息。
[0015]可选的,所述区块链平台为HyperledgerFabric。
[0016]本申请第三方面提供了一种文件上传系统,包括:
[0017]文件上传接口,用于响应于用户触发的文件上传请求,获取用户上传的待上传文件,并通过执行Git命令将所述待上传文件保存到对应的Git仓库中;
[0018]Git监听服务,用于获取所述待上传文件的第一目标参数,并将所述待上传文件的第一目标参数发送给区块链平台的工具包;
[0019]所述工具包,用于调用智能合约,将所述待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
[0020]可选的,所述待上传文件的第一目标参数为所述待上传文件的摘要信息。
[0021]本申请第四方面提供了一种文件下载系统,其特征在于,包括:
[0022]文件获取接口,用于响应于用户触发的文件下载请求,对获取的所述待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,所述第二目标参数为文件名称和文件版本号;
[0023]所述工具包,用于调用智能合约,从该区块链平台的区块链数据库中查找是否存在所述第二目标参数对应的第一目标参数,若存在,则将获取所述第二目标参数对应的第一目标参数;
[0024]所述工具包,还用于根据所述第二目标参数对应的第一目标参数,执行Git命令从Git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给所述文件获取接口,使得所述文件获取接口将该待下载文件返回给用户。
[0025]本申请第五方面提供了一种文件管理系统,包括第三方面任一种所述的文件上传系统和第四方面所述的文件下载系统。
[0026]从以上技术方案可以看出,本申请具有以下优点:
[0027]本申请提供了一种文件上传方法,包括:响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行Git命令将待上传文件保存到对应的Git仓库中;通过Git监听服务获取待上传文件的第一目标参数,并将待上传文件的第一目标参数发送给区块链平台的工具包;通过区块链平台的工具包调用智能合约,将待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
[0028]本申请中,以分布式版本控制系统Git作为底层技术存储文件,将上传的文件存储在Git仓库中,利用Git的版本控制功能对文件进行版本控制,又避免了单点故障问题,能够有效防止制造业企业文件的丢失;并且,将每次提交到Git仓库的待上传文件的第一目标信息写入区块链数据,难以被篡改,保证了文件的安全性,改善了现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
附图说明
[0029]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0030]图1为本申请实施例提供的一种文件上传方法的一个流程示意图;
[0031]图2为本申请实施例提供的一种文件下载方法的一个流程示意图;
[0032]图3为本申请实施例提供的一种文件管理系统的一个结构示意图。
具体实施方式
[0033]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034]为了便于理解,请参阅图1,本申请提供的一种文件上传方法的一个实施例,包括:
[0035]步骤101、响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行Git命令将待上传文件保存到对应的Git仓库中。
[0036]用户可以通过文件上传界面触发文件上传请求,上传的文件会被文件上传接口接收。
[0037]文件上传接口获取到待上传文件后,通过执行Git命令(git commit命令),将待上传文件保存到对应的Git仓库中,同时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件上传方法,其特征在于,包括:响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行Git命令将所述待上传文件保存到对应的Git仓库中;通过Git监听服务获取所述待上传文件的第一目标参数,并将所述待上传文件的第一目标参数发送给区块链平台的工具包;通过所述区块链平台的工具包调用智能合约,将所述待上传文件的第一目标参数写入该区块链平台的区块链数据库中。2.根据权利要求1所述的文件上传方法,其特征在于,所述待上传文件的第一目标参数为所述待上传文件的摘要信息。3.根据权利要求1所述的文件上传方法,其特征在于,所述区块链平台为HyperledgerFabric。4.一种文件下载方法,其特征在于,包括:响应于用户触发的文件下载请求,通过文件获取接口对获取的所述待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,所述第二目标参数为文件名称和文件版本号;通过所述区块链平台的工具包调用智能合约,从该区块链平台的区块链数据库中查找是否存在所述第二目标参数对应的第一目标参数,若存在,则将获取所述第二目标参数对应的第一目标参数;通过所述区块链平台的工具包根据所述第二目标参数对应的第一目标参数,执行Git命令从Git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给所述文件获取接口,使得所述文件获取接口将该待下载文件返回给用户。5.根据权利要求4所述的文件下载方法,其特征在于,所述第一目标参数为摘要信息。6.根据权利要求4所述的文件上传...

【专利技术属性】
技术研发人员:张树诚李志林致宇潘昊驰
申请(专利权)人:广东工业大学
类型:发明
国别省市:

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

1