一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文件上传方法、下载方法和系统与流程

2021-10-24 07:30:00 来源:中国专利 TAG:文件管理 下载方法 文件上传 方法 系统


1.本技术涉及文件管理技术领域,尤其涉及一种文件上传方法、下载方法和系统。


背景技术:

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


技术实现要素:

3.本技术提供了一种文件上传方法、下载方法和系统,用于改善现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
4.有鉴于此,本技术第一方面提供了一种文件上传方法,包括:
5.响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行git命令将所述待上传文件保存到对应的git仓库中;
6.通过git监听服务获取所述待上传文件的第一目标参数,并将所述待上传文件的第一目标参数发送给区块链平台的工具包;
7.通过所述区块链平台的工具包调用智能合约,将所述待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
8.可选的,所述待上传文件的第一目标参数为所述待上传文件的摘要信息。
9.可选的,所述区块链平台为hyperledgerfabric。
10.本技术第二方面提供了一种文件下载方法,包括:
11.响应于用户触发的文件下载请求,通过文件获取接口对获取的所述待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,所述第二目标参数为文件名称和文件版本号;
12.通过所述区块链平台的工具包调用智能合约,从该区块链平台的区块链数据库中查找是否存在所述第二目标参数对应的第一目标参数,若存在,则将获取所述第二目标参数对应的第一目标参数;
13.通过所述区块链平台的工具包根据所述第二目标参数对应的第一目标参数,执行git命令从git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给所述文件获取接口,使得所述文件获取接口将该待下载文件返回给用户。
14.可选的,所述第一目标参数为摘要信息。
15.可选的,所述区块链平台为hyperledgerfabric。
16.本技术第三方面提供了一种文件上传系统,包括:
17.文件上传接口,用于响应于用户触发的文件上传请求,获取用户上传的待上传文件,并通过执行git命令将所述待上传文件保存到对应的git仓库中;
18.git监听服务,用于获取所述待上传文件的第一目标参数,并将所述待上传文件的第一目标参数发送给区块链平台的工具包;
19.所述工具包,用于调用智能合约,将所述待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
20.可选的,所述待上传文件的第一目标参数为所述待上传文件的摘要信息。
21.本技术第四方面提供了一种文件下载系统,其特征在于,包括:
22.文件获取接口,用于响应于用户触发的文件下载请求,对获取的所述待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,所述第二目标参数为文件名称和文件版本号;
23.所述工具包,用于调用智能合约,从该区块链平台的区块链数据库中查找是否存在所述第二目标参数对应的第一目标参数,若存在,则将获取所述第二目标参数对应的第一目标参数;
24.所述工具包,还用于根据所述第二目标参数对应的第一目标参数,执行git命令从git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给所述文件获取接口,使得所述文件获取接口将该待下载文件返回给用户。
25.本技术第五方面提供了一种文件管理系统,包括第三方面任一种所述的文件上传系统和第四方面所述的文件下载系统。
26.从以上技术方案可以看出,本技术具有以下优点:
27.本技术提供了一种文件上传方法,包括:响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行git命令将待上传文件保存到对应的git仓库中;通过git监听服务获取待上传文件的第一目标参数,并将待上传文件的第一目标参数发送给区块链平台的工具包;通过区块链平台的工具包调用智能合约,将待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
28.本技术中,以分布式版本控制系统git作为底层技术存储文件,将上传的文件存储在git仓库中,利用git的版本控制功能对文件进行版本控制,又避免了单点故障问题,能够有效防止制造业企业文件的丢失;并且,将每次提交到git仓库的待上传文件的第一目标信息写入区块链数据,难以被篡改,保证了文件的安全性,改善了现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
附图说明
29.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
30.图1为本技术实施例提供的一种文件上传方法的一个流程示意图;
31.图2为本技术实施例提供的一种文件下载方法的一个流程示意图;
32.图3为本技术实施例提供的一种文件管理系统的一个结构示意图。
具体实施方式
33.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
34.为了便于理解,请参阅图1,本技术提供的一种文件上传方法的一个实施例,包括:
35.步骤101、响应于用户触发的文件上传请求,通过文件上传接口获取用户上传的待上传文件,并通过执行git命令将待上传文件保存到对应的git仓库中。
36.用户可以通过文件上传界面触发文件上传请求,上传的文件会被文件上传接口接收。
37.文件上传接口获取到待上传文件后,通过执行git命令(git commit命令),将待上传文件保存到对应的git仓库中,同时git内部会对外发送本次提交的待上传文件的第一目标参数,本技术实施例中的待上传文件的第一目标参数优选为待上传文件的摘要信息。
38.步骤102、通过git监听服务获取待上传文件的第一目标参数,并将待上传文件的第一目标参数发送给区块链平台的工具包。
39.本技术实施例中的区块链平台优选为hyperledger fabric,对应的工具包为hyperledgerfabric sdk,后续简称为fabric sdk。git监听服务获取待上传文件的摘要信息后,将该待上传文件的摘要信息作为参数传给fabric sdk,以触发fabric sdk。
40.步骤103、通过区块链平台的工具包调用智能合约,将待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
41.fabric sdk与hyperledgerfabric通信连接,通过调用智能合约将本次提交的待上传文件的摘要信息写入区块链数据库中。
42.本技术实施例中,以分布式版本控制系统git作为底层技术存储文件,将上传的文件存储在git仓库中,利用git的版本控制功能对文件进行版本控制,又避免了单点故障问题,能够有效防止制造业企业文件的丢失;并且,将每次提交到git仓库的待上传文件的第一目标信息写入区块链数据,难以被篡改,保证了文件的安全性,改善了现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
43.以上为本技术提供的一种文件上传方法的一个实施例,以下为本技术提供的一种文件下载方法的一个实施例。
44.请参考图2,本技术实施例提供的一种文件下载方法,包括:
45.步骤201、响应于用户触发的文件下载请求,通过文件获取接口对获取的待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,第二目标参数为文件名称和文件版本号。
46.用户可以通过文件获取界面触发文件下载请求,用户在获取文件时,需要执行文件名称和文件版本号,系统以文件名称和文件版本号作为参数调用文件获取接口。
47.文件获取接口对第二目标参数进行处理,具体可以是对参数进行格式化处理,并
将处理结果作为参数调用区块链平台的工具包。本技术实施例中的区块链平台优选为hyperledgerfabric,对应的工具包为fabric sdk。
48.步骤202、通过区块链平台的工具包调用智能合约,从该区块链平台的区块链数据库中查找是否存在第二目标参数对应的第一目标参数,若存在,则将获取第二目标参数对应的第一目标参数。
49.fabric sdk调用智能合约,从区块链数据库中查找用户提供的第二目标参数对应的第一目标参数是否存在,如果存在,则将对应的第一目标参数返回给fabric sdk。本技术实施例中的第一目标参数优选为文件的摘要信息。
50.步骤203、通过区块链平台的工具包根据第二目标参数对应的第一目标参数,执行git命令从git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给文件获取接口,使得文件获取接口将该待下载文件返回给用户。
51.fabric sdk将获取的摘要信息作为参数,执行git命令(git checkout命令)去到git仓库中查找对应的文件的对应版本。
52.可以通过第三方打包工具将从git仓库中获取到的待下载文件打包并返回给文件获取接口,通过文件获取接口将打包后的待下载文件返回给用户。
53.本技术实施例中,以分布式版本控制系统git作为底层技术存储文件,将上传的文件存储在git仓库中,利用git的版本控制功能对文件进行版本控制,又避免了单点故障问题,能够有效防止制造业企业文件的丢失,改善了现有的文件管理系统容易出现单点故障,导致文件丢失以及文件版本管理困难的技术问题。
54.以上为本技术提供的一种文件下载方法的一个实施例,以下为本技术提供的一种文件上传系统的一个实施例。
55.本技术实施例中的一种文件上传系统,包括:
56.文件上传接口,用于响应于用户触发的文件上传请求,获取用户上传的待上传文件,并通过执行git命令将待上传文件保存到对应的git仓库中;
57.git监听服务,用于获取待上传文件的第一目标参数,并将待上传文件的第一目标参数发送给区块链平台的工具包;
58.工具包,用于调用智能合约,将待上传文件的第一目标参数写入该区块链平台的区块链数据库中。
59.作为进一步地改进,待上传文件的第一目标参数为待上传文件的摘要信息。
60.以上为本技术提供的一种文件上传系统的一个实施例,以下为本技术提供的一种文件下载系统的一个实施例。
61.本技术实施例中的一种文件下载系统,包括:
62.文件获取接口,用于响应于用户触发的文件下载请求,对获取的待下载文件的第二目标参数进行处理,并基于处理结果调用区块链平台的工具包,第二目标参数为文件名称和文件版本号;
63.工具包,用于调用智能合约,从该区块链平台的区块链数据库中查找是否存在第二目标参数对应的第一目标参数,若存在,则将获取第二目标参数对应的第一目标参数;
64.工具包,还用于根据第二目标参数对应的第一目标参数,执行git命令从git仓库中查找对应的待下载文件对应的文件版本号,并将该文件版本号的待下载文件打包发送给
文件获取接口,使得文件获取接口将该待下载文件返回给用户。
65.请参考图3,本技术实施例还提供了一种文件管理系统,包括前述装置实施例中的文件上传系统和前述装置实施例中的文件下载系统。
66.文件上传接口和文件获取接口构成文件管理系统中的接口模块;
67.fabric sdk和智能合约构成区块链模块,git命令和git监听服务构成git模块,区块链模块和git模块构成文件管理系统中的服务模块;
68.区块链数据库和git仓库构成文件管理系统中的数据库模块。
69.本技术实施例以git作为底层技术存储文件,git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到大的项目版本管理。所以本系统除了具有文件存储功能之外,在版本控制上也具有很好的性能,能帮助制造业企业很好地对生产文件进行版本控制;本系统是分布式文件管理系统,分布式系统具有资源共享的优点,同时利用区块链技术保证文件数据的安全性,所以本系统可以安全地进行数据共享。
70.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
71.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
72.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
73.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
74.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
75.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
76.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read

only memory,英文缩写:rom)、随机存取存储器(英文全称:randomaccess memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
77.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜