CN111104386B - 一种文件存储方法、终端及存储介质 - Google Patents

一种文件存储方法、终端及存储介质 Download PDF

Info

Publication number
CN111104386B
CN111104386B CN201911067461.XA CN201911067461A CN111104386B CN 111104386 B CN111104386 B CN 111104386B CN 201911067461 A CN201911067461 A CN 201911067461A CN 111104386 B CN111104386 B CN 111104386B
Authority
CN
China
Prior art keywords
file
address set
stored
terminal
blockchain network
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
Application number
CN201911067461.XA
Other languages
English (en)
Other versions
CN111104386A (zh
Inventor
柴鹏辉
付贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN201911067461.XA priority Critical patent/CN111104386B/zh
Priority to US17/772,206 priority patent/US20220407725A1/en
Priority to JP2022525637A priority patent/JP7335440B2/ja
Priority to EP20885212.9A priority patent/EP4047487A4/en
Priority to PCT/CN2020/077840 priority patent/WO2021088278A1/zh
Publication of CN111104386A publication Critical patent/CN111104386A/zh
Application granted granted Critical
Publication of CN111104386B publication Critical patent/CN111104386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例公开了一种文件存储方法、终端及存储介质,所述文件存储方法包括:获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;将N个子文件发送至IPFS,并接收IPFS返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文;将地址集密文发送至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。

Description

一种文件存储方法、终端及存储介质
技术领域
本发明涉及终端技术领域,尤其涉及一种文件存储方法、终端及存储介质。
背景技术
随着计算机技术的不断发展,用户使用的电子产品越来越多样化,进而通过使用多样化的电子产品产生了各种各样的数据,使得用户对个人数据的存储和保护要求也越来越高。目前,普遍使用区块链体系对这些海量数据进行管理、存储以及检索。
针对数据量较大的文件,现有的区块链存储及检索方式通常是将文件发送至服务端,在服务端将文件分割成多个子文件,并进一步对多个子文件分别进行加密,然后将加密后的子文件进行存储,当用户下载文件时通过服务端获取并解密获得所有子文件,然后将所有子文件合并成数据量较大的文件后再返回给终端。由此可见,现有的区块链存储方式不仅加密效率低、安全性差,同时也造成了服务端压力过大的问题,无法满足数据量较大的文件的存储需求。
发明内容
本申请实施例提供了一种文件存储方法、终端及存储介质,不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种文件存储方法,所述方法包括:
获取待存储文件,并对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
将所述N个子文件发送至IPFS,并接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
根据所述M个地址信息生成所述待存储文件对应的地址集,并对所述地址集进行加密,得到地址集密文;
将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
本申请实施例提供了一种终端,所述终端包括:获取单元,处理单元,发送单元,接收单元,生成单元以及加密单元,
所述获取单元,用于获取待存储文件;
所述处理单元,用于对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
所述发送单元,用于将所述N个子文件发送至IPFS;
所述接收单元,用于接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
所述生成单元,用于根据所述M个地址信息生成所述待存储文件对应的地址集;
所述加密单元,用于对所述地址集进行加密,得到地址集密文;
所述发送单元,还用于将所述地址集密文发送至区块链网络;
所述接收单元,还用于接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
本申请实施例提供了一种终端,所述终端包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的文件存储方法。
本申请实施例提供了一种计算机可读存储介质,其上存储有程序,应用于终端中,所述程序被处理器执行时,实现如上所述的文件存储方法。
本申请实施例提供了一种文件存储方法、终端及存储介质,终端获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;将N个子文件发送至IPFS,并接收IPFS 返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文;将地址集密文存储至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。也就是说,在本申请的实施例中,终端将待存储文件碎片化并上传至IPFS,根据接收到的IPFS返回的多个子文件对应的地址生成地址集,进而对该地址集进行加密,并进一步将地址集密文存储至区块链网络。不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
附图说明
图1是本申请实施例提供的区块链网络服务平台的功能架构示意图;
图2是本申请实施例提供的资源层通过部署有容器化管理系统而被构建为容器集群200的结构示意图;
图3是本申请实施例提供的开发者通过终端300接入区块链网络服务平台 100的示意图;
图4A至图4Q是本申请实施例提供的区块链网络服务平台的各种功能管理页面的显示示意图;
图5为本申请实施例提供的示例性的使用区块链网络服务平台部署的区块链网络的结构示意图;
图6为本申请实施例提供的示例性的使用区块链网络服务平台进行交易的流程图;
图7为本申请实施例提供的文件存储方法的实现示意图一;
图8为本申请实施例提供的文件存储方法的实现流程示意图一;
图9为本申请实施例提供的示例性的实现文件存储的流程示意图;
图10为本申请实施例提供的文件存储方法的实现示意图二;
图11为本申请实施例提供的文件存储方法的实现流程示意图二;
图12为本申请实施例提供的示例性的实现文件查询的流程示意图;
图13为本申请实施例提供的终端的组成结构示意图一;
图14为本申请实施例提供的终端的组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)星际文件系统(Inter Planetary File System,IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。IPFS是通用的,并且存储限制很少。其服务的文件可大可小,并可以自动将大的文件切割成小块,使节点不仅可以像超文本传输协议(HyperText Transfer Protocol,HTTP)一样从一台服务器上下载文件,还可以从数百台服务器上进行同步下载。IPFS可以将大文件按固定大小切片并明文存储到系统中。
2)区块链网络,通过共识的方式将新区块纳入区块链的一系列的、无中心的节点的集合。
3)区块链(Blockchain),由节点参与的去中心化的分布式数据库系统,是由区块以顺序相连的方式组合成的一种链式数据结构,在每个区块中引用前一个区块或者其子集的哈希值,从而以密码学的方式保证所记录交易的不可篡改和不可伪造。是对接入服务器的所有区块链节点公开的分布式存储的数据结构,包含着若干的区块(Block)。包含客户端的用户终端可以注册成为一个区块链节点,每一个区块链节点设备作为一个区块链节点,与接入区块链服务器的其他区块链节点组成点对点(peer to peer lending,P2P)网络,区块链数据可以存放在P2P网络,P2P网络任何一个或多个区块链节点瘫痪,都不会导致区块链数据的丢失,这样区块链数据就具有很强的安全性,确保数据的永久保存和不可篡改。当一个区块持久化到区块链数据中时,接入服务器的区块链节点都可以添加该区块;区块是按照持久化时间顺序一个一个地添加到区块链数据中的,除了区块链数据中第一个区块外的每一个区块都要链接到其前一个区块,这样区块链数据就形成一个区块链接这一个区块了,就像一个链条一样,当一个区块被持久化到区块链数据后,该区块就无法被修改了。
4)区块(Block),记录一段时间内交易所更新的账本数据的数据结构,被标记上时间戳和之前一个区块的独特标记(例如数字指纹),区块经过区块链网络中节点的共识验证后,会被追加到区块链的末尾成为新的区块。
5)交易(Transaction),等同于计算机术语“事物”,包括三种不同的模拟交易操作:部署(Deploy),调用(Invoke)和查询(Query)。部署交易用于向区块链网络的节点安装指定的链码,调用和查询类型的交易用于调用部署号的链码,以实现对账本中的目标账户的相关数据的操作,包括增、删、查、改的操作修改账户中的键值(Key-Value)对形式的数据,或者在账本中增加新的账户,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
6)账本(Ledger),区块链网络中以账户为维度所记录的数据的总和,包括账本数据、账本状态、账本状态证明和区块索引等元素。
7)账本数据,实际区块数据存储,即区块链中记录的一系列有序的、不可篡改的交易的记录,可以表现为文件系统的文件的形式,交易中调用的智能合约被执行时,实现对账户/账户中数据的更新。
8)账本状态,也称为状态数据,即账本数据的状态,可以表现为数据库终中的键值对的形式,其中实时账本状态用于表示共识的交易所更新的键值对的最新记录,历史账本状态用于表示键值对的历史记录。
9)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对交易结果达成一致,实现共识的机制包括工作量证明(Proof Of Wor k,POW)、权益证明(Proof Of Stake,POS)、股份授权证明(Delegated Pro of-Of-Stake,DPOS)、消逝时间量证明(Proof Of Elapsed Time,POET)等。
10)智能合约(Smart Contracts),也称为链码(Chaincode),部署在区块链网络中的根据条件而触发执行的程序链码运行在一个安全的容器中,来初始化和管理账本数据和账本状态。
11)容器编排,容器的调度和集群的技术,提供用于基于容器应用可扩展性的基本机制,使用容器提供服务并编排决定容器之间如何进行交互。下面说明实现本发明实施例的区块链网络的示例性的功能架构,图1为本申请实施例提供的区块链网络服务平台的功能架构示意图,包括应用层101、共识层102、网络层103、数据层104和资源层105,下面分别进行说明。
资源层105封装各种可用的计算资源和存储资源,例如计算机、服务器/ 集群和云中的计算资源和存储资源,进行抽象并向数据层104提供统一的接口以屏蔽实现资源层105的底层硬件的差异性。
计算资源包括各种形式的处理器,例如中央处理器(Central Processing U nit,CPU)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、专用集成电路和现场可编程门阵列(Field-Programmable Gate Array,FPGA) 的各种形式的处理器。
存储资源包括各种易失性存储器和非易失性存储器等各种类型的存储介质。其中,非易失性存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)。易失性存储器可以是随机存取存储器(RandomAccess Memory,RAM),其用作外部高速缓存。
资源层105的计算资源和存储资源可以被映射为区块链网络中各种类型的节点,实现本发明实施例的存储介质存储了用于实现本发明实施例的区块链网络部署方法的可执行指令,一旦被部署到节点的可执行指令被执行,实现节点的底层资源(例如各种类型的处理器)将实现区块链网络中各种类型的节点的部署、以及执行各种类型节点的功能,从而实现针对业务过程中的交易的账本、以及基于账本的各种应用。
作为示例,可执行指令可以采用软件(包括系统程序和应用程序)、软件模块、脚本、插件等的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件或者适合在计算环境中使用的其它单元。
数据层104封装了实现账本的各种数据结构,包括以文件系统实现的账本数据,以数据库形式实现的账本状态和存在性证明。
网络层103封装了P2P网络协议、数据传播机制和数据验证机制、接入和认证机制和业务主体身份。P2P网络协议实现区块链网络中节点之间的通信,数据传播机制保证了交易/交易结果在区块链网络中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点之间传输数据的可靠性;接入和认证机制用于基于业务主体身份对终端的接入和认证进行管理。
共识层102封装了区块链中传播的交易结果达成一致性的机制,包括POS、POW和DPOS等,支持共识机制的可插拔。
应用层101封装了区块链网络能够实现的各种业务,包括交易结算、溯源和存证等。
图2为本申请实施例提供的资源层通过部署有容器化管理系统而被构建为容器集群200的结构示意图,向资源层提供资源的机器中通过部署容器化管理系统的相应组件而形成管理节点(Master Server)200和服务节点300(Node) 两类节点,管理节点用于管理容器在服务节点中的调度和运行,服务节点主要用于运行各种容器,提供区块链网络中的各种应用的隔离运行环境,例如,用于运行链码的链码容器,用于运行节点(即区块链网络中各种类型的节点的代码)代码的节点容器等,下面分别进行说明。
管理节点(Master Server)200负责管理集群,以服务(Service)的形式对外提供集群的资源数据访问入口,管理节点包括几个示例性的组件。
1)状态组件(etcd),用于保存整个集群的状态。
2)应用程序接口服务(Application Programming Interface,API)Server 组件,用于提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制。
3)调度(Scheduler)组件,用于负责资源的调度,按照预定的调度策略将容器调度到合适的节点上运行。服务节点所运行的容器中共享机器(也就是部署服务节点组件的机器)中同一组资源的容器组(Plain old data structure,Po d)为调用的最小单位,对于区块链网络的应用来说,可以通过一个或多个的容器组来实现,容器组中的容器共享的资源包括:应用程序命名空间、网络命名空间、主机名和存储卷(Volume)。
以共享存储卷为例,当节点上部署共享文件系统组件时,例如网络文件系统(Network File System,NFS)、集群文件系统(GlusterFS)、ceph文件系统 (Cephfs),调度组件就能够存储卷上所挂载的容器组轻易地调度(挂载)到其他机器(节点)的存储卷中。
4)控制管理(Controller Manager)组件,用于负责监控/维护集群的状态,通过应用程序接口服务组件提供的接口,实时监控整个集群的每个资源对象的当前状态,当发生各种故障导致系统状态发生变化时,会修复到期望状态。
5)副本控制器(Replication Controller,RC)组件,控制一定时间内总有一定数量的Pod副本的运行;例如正在运行的Pod副本超出设定值,则关闭部分Pod副本;如果Pod副本少于设定值则创建新的Pod副本。
6)部署控制器(Deployment Controller)组件,用于管理维护容器集群找中的资源对象-部署(Deployment)对象,关联部署对象和副本控制器,在部署对象中为容器组和副本控制器提供声明式更新,用于声明容器组和副本控制器的目标状态,从而当部署对象更新时,控制实现副本控制器和容器组的更新。
服务节点300包括以下示例性的组件。
1)容器引擎(记为Docker),用于来负责所有具体的镜像下载和容器运行。
2)守护进程组件(记为Kubelet),用于负责维护容器的生命周期(创建、启动和停止),同时也负责存储卷和容器网络接口(Container Network Interfac e,CNI)的管理。
以存储卷的管理为例,守护进程组件通过节点中部署的共享文件系统的组件,例如网络文件系统(Network File System,NFS)、集群文件系统(Gluster FS)、ceph文件系统(Cephfs),将一个容器组中的各个容器挂载到相同的存储卷上,使各个容器使用相同的存储卷存储在运行过程中所生产的数据,存储卷中的数据可以被同一个容器组的任一容器访问。
3)负载均衡组件(记为Proxy),负责为Service提供cluster内部的服务发现和负载均衡。
基于图2示出的集群,部署一个区块链网络的应用的镜像被封装到容器组 (在下面的示例中称为目标Pod)并运行在节点(在下面的示例中称为目标No de)的示例性过程如下所述。
首先,容器集群200的管理工具(Kubectl)提交一个创建副本控制器RC 的请求,其中包括目标Pod的定义;目标Pod需要运行的副本数量;要监控的目标Pod标签(Lable)等信息。
接下来,请求通过应用程序接口API Server被写入etcd中,此时Controll erManager通过API Server的监听资源变化的接口监听到这个RC事件,发现当前集群中还没有它所对应的Pod实例,于是根据RC里的Pod模板定义生成一个Pod对象,通过API Server写入etcd。
紧接着,RC事件被Scheduler发现,它立即执行一个调度流程:为这个新 Pod选定一个落户的节点,然后通过API Server将这一结果写入到etcd中,随后,目标Node上运行的Kubelet进程通过API Server监测到这个新Pod,并按照它的定义,启动新Pod,直到Pod的生命结束。
随后,Kubectl提交一个新的映射到目标Pod的Service的创建请求,Cont rollerManager会通过Label查询到相关联的Pod实例,然后生成Service的端点(Endpoints)信息(包括地址和端口),并通过API Server写入到etcd中;容器集群中所有Node上运行的Proxy进程通过API Server查询、并监听Servi ce对象与其对应的Endpoints信息,建立一个软件方式的负载均衡器来实现Ser vice访问到后端Pod的流量转发功能。
结合上文可知,实现本发明实施例的区块链网络服务平台通过在资源层部署容器集群、并运行封装有区块链网络应用的容器而实现,由此,实现本发明实施例的区块链网络可以提供为存储器和处理器的形式,在存储器中存储有可执行指令,当可执行指令被处理器执行时,在运行处理器和存储器的多个节点上建立了容器集群,通过在容器中运行封装的应用,来实现本发明实施例的区块链服务网络平台中的链码安装方法。
实现本发明实施例的区块链网络平台通过各种方式与开发者连接,并提供各种图形化的方式以进行区块链网络的部署和管理,下面进行说明。
图3为本申请实施例提供的开发者通过终端300接入区块链网络服务平台 100的示意图,开发者终端300的软件开发工具包(Software Development Kit, SDK)/全球广域网(World Wide Web,Web)320接口连接区块链网络服务平台 100中的数据层104相应的SDE/Web接口,支持在开发者的终端300本地以远程的方式部署支撑特定业务的区块链网络,在终端300的图形界面310中显示区块链网络服务平台100的各种功能的管理页面,包括容器集群的创建和新的容器集群的接入、存储资源的管理、一键部署区块链网络、链码管理(运行状态查看)、应用商店管理等。
图4A至图4Q为本申请实施例提供的区块链网络服务平台的各种功能管理页面的显示示意图,将结合图4A至图4Q示例性说明如图3中开发者终端300 的图形界面310中显示的功能管理页面。
图4A示出了区块链网络服务平台100的状态查看页面,在状态查看页面中区块链网络的运行状态,例如CPU使用、内存使用、资源(节点)使用的情况。
图4B示出了区块链网络服务平台100的一键部署的控制台页面,支持开发者设置区块链网络的基本信息(包括区块域名、版本号)和组织(包括组织名、节点数量、用户数量等),采用默认值来设置高级选项,包括排序节点类型、通道名称和链码名称等。
图4C示出了的区块链网络服务平台100的资源层105的资源管理的控制台页面,其中显示了开发者通过区块链网络服务平台100可部署的集群的相关信息,包括是否连接的状态,CPU/内存使用情况等。
在图4D中支持添加用于支撑去区块链网络的容器集群,录入集群名称;在创建集群的功能选项被触发后将进入创建页面。
在图4E中示出了区块链网络服务平台100的查询集群的控制台页面,当查询集群的功能按钮被触发后,将进入集群列表页面,支持进行添加集群、查询集群、删除集群、编辑集群的操作。
在图4F中示出了区块链网络服务平台100的存储管理的控制台页面,当存储管理的功能按钮被触发时,将进入存储管理列表页,显示集群中已创建的存储项目,其中包含存储查询及删除功能。
在图4G中示出了区块链网络服务平台100的存储详情的控制台页面,在图4H中显示存储的详情,并支持对存储进行动态存储空间扩容。
在图4I中示出了区块链网络服务平台100的添加存储的控制台页面,支持对添加的存储名称和节点进行设置,根据设置将节点添加到容器集群中,并在图4J中显示添加存储后的详情信息,包括容器集群的节点的列表。
在图4K中示出了区块链网络服务平台100的超级账本的控制台页面,显示了部署区块链网络所使用的超级账本的名称、网络版本、状态和创建时间的信息。
在图4L中示出了区块链网络服务平台100的超级账本的一键部署的控制台页面,提供了针对超级账本部署的基本信息的配置项目,以及采用默认值的高级配置项,例如排序节点类型、通道、默认链码和初始化参数等。
在图4M/N中示出了区块链网络服务平台100的链码的上传/安装的控制台页面,在上传的控制台页面中提供了链码名和版本号的设置项目;在安装的控制台页面中提供了链码版本、初始化参数、组织和节点的配置项目。
在图4O中示出了区块链网络服务平台100的网络详情的控制台页面,支持查看不同通道的组织成员、区块高度、交易数量和合约数量等信息,还可以显示所查看通道的组织名称、通道内节点名称、通道内链码名称等信息。
在图4P中示出了区块链网络服务平台100的链码查询的控制台页面,支持使用网络名称、链码名称、链码参数、账本名称和链码函数等方式配合查询链码,查询的维度包括状态、消息和数据。
在图4Q中示出了区块链网络服务平台100的应用商店的控制台页面,支持开发者选择需要部署的应用,一旦有应用被确定部署到区块链网络,将通过复用应用的镜像的方式完成到资源层105的容器集群的快速部署。
图5为本申请实施例提供的示例性的使用区块链网络服务平台部署的区块链网络的结构示意图,应用程序从CA获取合法的身份证书来加入到网络内的应用通道。发起正式交易前,需要先构造交易提案(Proposal)提交给组织1 和组织2中的背书节点进行背书;客户端收集到足够(数量根据背书策略决定) 的背书支持后,可以利用背书构造一个合法的交易请求(携带背书节点的背书),发给排序服务中的排序节点(Orderer)进行排序,以是将交易封装形成区块。
图6为本申请实施例提供的示例性的使用区块链网络服务平台进行交易的流程图,其中,交易流程中客户端和各个节点的功能如下:
客户端(应用程序):使用SDK来跟区块链网络进行交互。首先,客户端从证书颁发机构(Certificate Authority,CA)获取合法的身份证书来加入到网络内的应用通道。发起正式交易前,需要先构造交易提案(Proposal)提交给背书节点进行背书;客户端收集到足够(数量根据背书策略决定)的背书支持后,可以利用背书构造一个合法的交易请求(携带背书节点的背书),发给排序节点 (Orderer)进行排序,以是将交易封装形成区块。客户端还可以通过事件机制来监听网络中消息,来获知交易是否被成功接收。
背书节点(Endorser):主要提供方法供客户端调用,完成对交易提案的背书(签名)处理。收到来自客户端的交易提案后,首先进行合法性和访问控制列表(AccessControl Lists,ACL)权限检查,检查通过则模拟运行交易(交易中会执行需要执行的链码名称和参数,执行交易,实质就是执行交易中所指定的链码),对交易导致的状态变化(以读写集形式记录,包括所读状态的键和版本,所写状态的键值)进行背书(也就是进行数字签名)并返回客户端是否予以支持的结果。
排序节点(Orderer):接收包含背书签名的交易,对未打包的交易进行排序生成区块,广播给Peer节点。
主节点(Leader Peer):和排序节点通信的节点,负责从排序节点处获取最新的区块并在区块链网络的内部同步。
记账节点(Committer):维护区块链和账本的结构(包括状态分贝(decibel,DB)、历史DB、索引DB等)。该节点会定期地从排序节点获取排序后的批量交易区块结构,对这些交易检查(包括交易消息结构、签名完整性、是否重复、读写集合版本是否匹配等)。检查通过后执行合法的交易,将结果写入账本,同时构造新的区块。
需要说明的是,所有的Peer节点都是记账节点,负责验证从排序节点区块里的交易,维护状态数据和账本的副本。部分Peer节点会执行交易并对结果进行签名背书,充当背书节点的角色。背书节点是动态的角色,是与具体链码绑定的。在链码容器中的每个链码在实例化的时候都会设置背书策略,指定哪些节点对交易背书后才是有效的。也只有在应用程序向它发起交易背书请求的时候才是背书节点,其他时候就是普通的记账节点,只负责验证交易并记账。
随着计算机技术的不断发展,用户使用的电子产品越来越多样化,进而通过使用多样化的电子产品产生了各种各样的数据,使得用户对个人数据的存储和保护要求也越来越高。目前,普遍使用区块链体系对这些海量数据进行管理、存储以及检索。
针对数据量较大的文件,现有的区块链存储及检索方式通常是将文件发送至服务端,在服务端将文件分割成多个子文件,并进一步对多个子文件分别进行加密,然后将加密后的子文件进行存储,当用户下载文件时通过服务端获取并解密获得所有子文件,然后将所有子文件合并成数据量较大的文件后再返回给用户。由此可见,现有的区块链存储方式不仅加密效率低、安全性差,同时也造成了服务端压力过大的问题,无法满足数据量较大的文件的存储需求。
为了解决现有的文件存储机制所存在的问题,本申请实施例提供了一种文件存储方法,其中,终端将待存储文件碎片化并上传至IPFS,根据接收到的I PFS返回的多个子文件对应的地址生成地址集,进而对该地址集进行加密,并进一步将地址集密文存储至区块链网络。不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请一实施例提供了一种文件存储方法,该文件存储方法应用于文件存储系统,该文件存储系统集成于终端中,图7为本申请实施例提供的文件存储方法的实现示意图一。文件存储系统获取到用户上传的文件后,对该文件进行分割得到多个子文件,并将分割后得到的子文件循环存储至IPFS,进而接收到 IPFS返回的多个子文件对应的文件地址,对多个文件地址生成的文件地址集,进行加密操作生成文件地址集密文,并进一步生成该文件地址集密文对应的哈希值,然后将文件地址集密文和哈希值一并存储至区块链,并接收区块链返回的交易标识(Identity document,ID)、交易时间、区块信息等,经自关联处理后,保存交易ID。
图8为本申请实施例提供的文件存储方法的实现流程示意图一,如图8所示,在本申请的实施例中,终端进行文件存储的方法可以包括以下步骤:
步骤S101、获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于1的整数。
在本申请的实施例中,当用户需要进行文件存储时,终端可以获取待存储文件,并且可以对待存储文件进行划分处理,进一步可以得到该待存储文件对应的N个子文件;其中,N为大于或者等于1的整数。
需要说明的是,在本申请的实施例中,终端可以为任何具备通信和存储功能的设备。例如:平板电脑、手机、电子阅读器、个人计算机(Personal Comp uter,PC)、笔记本电脑、车载设备、网络电视等设备。
需要说明的是,在本申请的实施例中,待存储文件可以是视频文件、音频文件、压缩文件或者其他类型的文件,也就是说,待存储文件的文件类型可以包括文档(Word)格式、便携式文档格式(Portable Document Format,PDF)、图像格式(Joint PhotographicExperts Group,JPG)、便携式网络图形(Portab le Network Graphics,PNG)、视频以及语音,本申请不做限定。
需要说明的是,在本申请的实施例中,终端获取待存储文件后,在对待存储文件进行分片以得到N个子文件的过程中,各个子文件的大小可以进行适应性的调整。具体地,终端可以通过确定待存储文件对应的字节或者指令参数对该待存储文件进行划分处理,以便获得待存储文件对应的N个子文件。
相应地,若终端采用字节划分处理方式对待存储文件进行分割,则终端可以先获取待存储文件对应的字节数,进一步按照字节数将待存储文件平均分割成相同字节大小的N个子文件;其中,每个子文件对应的字节数可以是终端预先设置的。例如,如果终端预先设置每个子文件对应的字节数为1.536×107,当获取到的待存储文件大小为300M时,终端按设置好的字节划分处理方式可以将待存储文件划分成20个子文件。
相应地,若终端采用指令参数划分处理方式对待存储文件进行分割,则终端可以获取待存储文件对应的指令参数,其中,该指令参数可以为待存储文件对应的行数;由于待存储文件都是由相应的程序代码组成,该代码包含有多个换行符标识,终端可以通过识别换行符标识进一步确定待存储文件对应的行数,然后按照行数划分处理方式对待存储文件进行分割,进一步将待存储文件平均分割成相同大小的N个子文件。例如,如果终端预先设置每个子文件对应的行数为1500,当终端通过识别待存储文件对应的换行标识,而确定出待存储文件对应的行数为30000,那么终端可以进一步将待存储文件分割成20个子文件。
进一步地,在本申请的实施例中,终端在将待存储文件划分成N个子文件后,可以将N个子文件发送至IPFS,以便进一步得到N个子文件对应的地址。
步骤S102、将N个子文件发送至IPFS,并接收IPFS返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数。
在本申请的实施例中,终端在将获取到的待存储文件经划分处理,得到该待存储文件对应的N个子文件后,将N个子文件发送至IPFS,并接收到了IP FS返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数。
需要说明的是,在本申请的实施例中,对待存储文件进行划分处理得到N 个子文件后,将待存储文件对应的N个子文件发送至IPFS,IPFS的存储链对N 个子文件进行识别处理,分别将N个子文件分配至存储节点A、存储节点B、存储节点C等M个存储节点,由于IPFS中一个存储节点可对应存储至少一个子文件,且一个存储节点返回一个地址信息,因此,存储节点个数小于或者等于待存储文件对应的子文件的个数。相应地,终端将N个子文件发送至IPFS,存储在IPFS对应的M个存储节点上,在存储完成后,终端会接收到IPFS返回的M个存储节点对应的M个地址信息。进一步地,将待存储文件对应的N个子文件发送至至IPFS时,可以以固定的一个子文件发送至一个存储节点,并返回一个对应的地址信息的单个依次发送的方式进行子文件的发送,或者可以采用特定的广播的方式进行发送。
示例性地,在本申请的实施例中,当终端将300M大小的待存储文件划分成20个大小为15M的子文件后,依次将大小为15M的子文件发送至IPFS,每发送一个子文件至IPFS,将会接收到IPFS返回的一个地址信息,终端依次接收到IPFS返回的20个地址信息,也就是说子文件A对应存储节点A,即对应址信息A;子文件B对应存储节点B,即对应地址信息B等;或者终端在将3 00M的待存储文件划分成20个大小为15M的子文件后,此时,终端可以先获取IPFS对应的存储节点数,根据IPFS对应的存储节点数确定N个子文件的发送至方式,如果终端获取到的IPFS对应的存储节点数为10个,那么终端将单次向IPFS发送文件大小设定为30M,也就是说,每一次终端可以向IPFS发送 2个子文件,也就是说,IPFS可以将子文件A、子文件B存储至一个存储节点 A,当IPFS将2个子文件存储至一个存储节点后,终端接收到IPFS可以接收到IPFS返回的地址信息A,终端总共接收到IPFS返回的待存储文件对应的10个地址信息。
进一步地,终端在接收到IPFS返回的N个子文件对应的M个地址信息后,可以进一步生成待存储文件对应的地址集以及对生成的地址集进行加密操作。
步骤S103、根据M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文。
在本申请的实施例中,终端在将N个子文件发送至IPFS,并接收到IPFS 返回的M个地址信息后,根据得到的M个地址生成了待存储文件对应的地址集,终端对生成的地址集进行加密,进一步得到了地址集密文。
需要说明的是,在本申请的实施例中,终端使用公钥对待存储文件对应的地址集进行加密。具体地,终端随机生成非对称秘钥对,然后使用非对称秘钥对里的公钥,对待存储文件对应的且包含M个地址信息的地址集进行加密,进而得到地址集密文。
需要说明的,在本申请的实施例中,终端随机生成的非对称秘钥对包括两个东西,一个是公钥,一个是私钥,公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。具体地,私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。相应地,终端可以使用RSA算法进行非对称加密。非对称秘钥对里的公钥和私钥是同时生成的,终端采用公钥对地址集进行加密的同时会将得到的私钥进行存储,以便在完成待存储文件的存储后,在进行待存储文件的下载时可以实现地址集的解密。
进一步地,在本申请的实施例中,终端在根据M个地址信息生成待存储文件对应的地址集,并进一步对该地址集进行加密,得到地址集密文之后,可以进一步将该地址集密文存储至区块链网络。
进一步地,在本申请的实施例中,在通过公钥对待存储文件对应的地址集进行加密,并得到地址集密文之后,终端还可以通过哈希运算,生成该地址集密文对应的哈希值,进一步将地址集密文和哈希值存储至区块链网络。
步骤S104、将地址集密文发送至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。
在本申请的实施例中,终端在对待存储文件对应的地址集进行加密,并得到地址集密文之后,可以将该地址集密文发送至区块链网络,并接收到区块链网络返回的目标索引值,其中,目标索引值用于对地址集密文进行标识。
需要说明的是,在本申请的实施例中,终端将待存储文件对应的地址集密文发送至区块链网络后,进一步存储在区块链网络中的区块中,终端可以接收到区块链网络返回的交易ID、交易时间以及区块信息等。具体地,在接收到终端发送至的地址集密文之后,区块链网络会对该地址集密文进行存储,存储至包含文件信息的区块中,并且区块链网络会将该存储事件当成一场交易,由于多个不同的待存储文件对应着不同的地址集密文,也就是对应不同的交易,区块链网络中每个区块可以包含多个交易。因此,为了对不同的交易,也就是不同地址集密文进行区分,在对地址集密文进行存储之后,终端会接收到区块链网络返回的地址集密文对应的交易信息,包括:交易ID,交易时间以及区块信息等等。交易ID也就是目标索引值,可以根据该目标索引值找到对应的地址集密文;交易时间对应的是地址集密文发送上传时间,该地址集密文上传时间也就是终端将地址集密文发送至区块链网络的起始时刻;区块信息,即存储该地址集密文的区块包含的一些信息,可以是区块高度、区块哈希值等。
需要说明的是,在本申请的实施例中,终端也可以将地址集密文和地址集密文对应的哈希值发送至区块链网络,并接收所述区块链网络返回的与所述哈希值对应的所述目标索引值。
进一步地,在本申请的实施例中,终端将待存储文件对应的地址集密文和哈希值存储至区块链,得到区块链返回的目标索引值之后,可以进一步将得到的目标索引值进行存储,以便接收到下载待存储文件的下载请求时,可以通过该目标索引值获取待存储文件。
图9为本申请实施例提供的示例性的实现文件存储的流程示意图,文件存储系统获取用户上传的待存储文件,通过文件分片组件将待存储文件分割成子文件A、子文件B、子文件C,并将分割后的子文件发送至IPFS,IPFS通过存储组件将这三个子文件相应的存储在对应的存储节点A、存储节点B以及存储节点C,并将三个子文件对应的文件地址A、文件地址B以及文件地址C返回给文件存储系统,文件存储系统接收到IPFS返回的子文件对应的文件地址后,根据文件地址A、文件地址B、文件地址C生成文件地址集,然后使用公钥对文件地址集进行加密操作,进而得到地址集密文,并进一步将地址集密文发送至区块链网络。
本申请实施例提供了一种文件存储方法、终端及存储介质,终端获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;将N个子文件发送至IPFS,并接收IPFS 返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文;将地址集密文存储至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。也就是说,在本申请的实施例中,终端将待存储文件碎片化并上传至IPFS,根据接收到的IPFS返回的多个子文件对应的地址生成地址集,进而对该地址集进行加密,并进一步将地址集密文存储至区块链网络。不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
基于上述实施例,在本申请的另一实施例中,图10为本申请实施例提供的文件存储方法的实现示意图二。文件存储系统接收到下载文件的请求信息,即下载请求,将下载请求中携带的交易ID发送至区块链中,并接收到区块链返回的地址集密文,通过对获取到的地址集密文进行解密操作,进而得到包含多个子文件地址的文件地址集,然后将多个子文件对应的文件地址发送至IPFS,接收IPFS返回的不同文件地址对应的子文件,并进一步将多个子文件进行组合。
图11为本申请实施例提供的文件存储方法的实现流程示意图二,如图11 所示,终端将地址集密文存储至区块链网络,并接收区块链网络返回的目标索引值之后,即步骤S104之后,终端进行文件存储的方法还可以包括以下步骤:
步骤S105、接收下载请求;其中,下载请求携带有目标索引值。
本申请的实施例中,终端在将地址集密文发送至区块链网络,并接收区块链网络返回的目标索引值,以及进一步将该目标索引值存储之后,终端接收到下载请求,该下载请求对应的信息中携带有目标索引值。
需要说明的是,在本申请的实施例中,终端接收到下载待存储文件的下载请求,下载请求携带的信息可以包括地址集密文对应的目标索引值,也可以包括地址集密文对应的哈希值,若下载请求携带的信息包括目标索引值时,终端可以直接通过该目标索引值从区块链中提取待存储文件对应的地址集密文;若下载请求中携带的信息包括地址集密文对应的哈希值时,由于将待存储文件对应的地址集密文以及地址集密文对应的哈希值存储至区块链网络时,生成了与哈希值对应的目标索引值,因此,当终端接收到下载请求,需要从区块链网络中提取待存储文件对应的地址集密文时,可以先通过下载请求里携带的地址集密文对应的哈希值先确定目标索引值,进一步通过该目标索引值从区块链网络中提取待存储文件对应的地址集密文。
进一步地,终端在接收到携带有目标索引值的下载请求之后,可以将该目标索引值发送至区块链网络,以便得到待存储文件对应的地址集密文。
步骤S106、将目标索引值发送至区块链网络,并接收区块链网络返回的地址集密文。
在本申请的实施例中,终端在接收到的用户发送的下载请求,获取到下载请求携带的目标索引值之后,可以将目标索引值发送至区块链网络,并进一步接收到区块链返回的待存储文件对应的地址集密文。
需要说明的是,在本申请的实施例中,由于将待存储文件存储至区块链网络后,终端会接收到区块链网络返回的用于获取地址集密文的索引值,因此,在进行待存储文件的下载时,终端可以将下载请求中携带的地址集密文对应的目标索引值发送至区块链网络,进一步根据该索引值,从区块链网络中存储文件信息的区块中提取待存储文件对应的地址集密文,具体地,区块链接收到终端发送的目标索引值后,根据该目标索引值进行匹配检索,将检索到的与该目标索引值对应的地址集密文发送给终端,进而终端得到了待存储文件对应的地址集密文。
进一步地,在终端接收到区块链返回的待存储文件对应的地址集密文之后,可以进一步对地址集密文进行解密操作。
步骤S107、对地址集密文进行解密,得到与待存储文件对应的地址集;其中,地址集包括M个地址信息。
本申请的实施例中,终端在接收到区块链网络返回的待存储文件对应的地址集密文之后,可以对接收到的地址集密文进行解密,进一步得到了与待存储文件对应的地址集;其中,地址集包括M个地址信息。
需要说明的是,在本申请的实施例中,终端使用私钥对待存储文件对应的地址集密文进行解密操作,进而得到待存储文件对应的,且包含M个地址信息系的地址集。由于在进行待存储文件的存储时采用非对称秘钥对里的公钥进行地址集的加密,公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因此,终端只有采用私钥才能实现地址集密文的解密,进一步得到待存储文件对应的地址集。
进一步地,在本申请的实施例中,终端在得到包含有M个地址信息的待存储文件对应的地址集之后,可以将M个地址信息发送至IPFS,进一步获取待存储文件对应的N个子文件。
步骤S108、将M个地址信息发送至IPFS,并接收IPFS返回的待存储文件对应的N个子文件。
在本申请的实施例中,终端在对地址集密文进行解密,并得到包含M个地址信息的待存储文件对应的地址集之后,将M个地址信息发送到了IPFS,并进一步接收到了IPFS返回的待存储文件对应的N个子文件。
需要说明的是,在本申请的实施例中,终端获取到待存储文件对应的地址集之后,会将该地址集包含的M个地址信息发送至IPFS,进一步接收从IPFS 中M个存储节点返回的N个子文件。具体地,终端可以发送一个地址信息A,进而接收IPFS返回的一个子文件A,或者可以是终端发送一个地址信息A,接收到IPFS返回的子文件A和子文件B。
进一步地,在本申请的实施例中,终端在接收到IPFS返回的待存储文件对应的N个子文件后,可以进一步合并N个子文件,以便得到待存储文件。
步骤S109、对N个子文件进行合并操作,得到待存储文件。
本申请的实施例中,终端在将M个地址信息发送至IPFS,并接收到IPFS 返回的待存储文件对应的N个子文件之后,进一步对N个子文件进行合并操作,进而得到了待存储文件。
图12为本申请实施例提供的示例性的实现文件查询的流程示意图,文件存储系统接收到下载待存储文件的下载请求,该下载请求中携带有交易ID,文件存储系统将交易ID发送至区块链网络,区块链网络根据交易ID进行匹配检索,将检索到的与该交易ID对应的地址集密文发送给文件存储系统,文件存储系统使用私钥对该地址集密文进行解密操作,得到包含文件地址A、文件地址B、文件地址C的文件地址集,然后以多线程并发请求方式将文件地址A、文件地址B以及文件地址C发送至IPFS,IPFS根据接收到文件地址从存储节点A、存储节点B以及存储节点C提取对应的子文件A、子文件B以及子文件C,并将子文件返回至文件存储系统,文件存储系统对接收到的子文件A、子文件B 以及子文件C进行组合,进而得到待存储文件。
本申请实施例提供了一种文件存储方法、终端及存储介质,终端获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;将N个子文件发送至IPFS,并接收IPFS 返回的N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文;将地址集密文存储至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。也就是说,在本申请的实施例中,终端将待存储文件碎片化并上传至IPFS,根据接收到的IPFS返回的多个子文件对应的地址生成地址集,进而对该地址集进行加密,并进一步将地址集密文存储至区块链网络。不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
基于上述实施例,在本申请的另一实施例中,图13为本申请实施例提供的终端的组成结构示意图一,如图13示,本申请实施例提出的终端500可以包括获取单元501,处理单元502,发送单元503,接收单元504,生成单元505、加密单元506,存储单元507、解密单元508、合并单元509以及确定单元510。
所述获取单元501,用于获取待存储文件;
所述处理单元502,用于对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
所述发送单元503,用于将所述N个子文件发送至IPFS;
所述接收单元504,用于接收所述IPFS返回的所述N个子文件对应的M 个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
所述生成单元505,用于根据所述M个地址信息生成所述待存储文件对应的地址集;
所述加密单元506,用于对所述地址集进行加密,得到地址集密文;
所述发送单元503,还用于将所述地址集密文发送至区块链网络;
所述接收单元504,还用于接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
进一步地,在本申请的实施例中,所述处理单元502,具体用于确定所述待存储文件对应的字节数;以及按所述字节数将所述待存储文件分割成所述N 个子文件。
进一步地,在本申请的实施例中,所述处理单元502,还具体用于确定所述待存储文件对应的指令参数;以及按所述指令参数将所述待存储文件分割成所述N个子文件。
进一步地,在本申请的实施例中,所述加密单元506,具体用于随机生成非对称密钥对;其中,所述非对称密钥对包括公钥和私钥;以及使用所述公钥对所述待存储文件对应的所述地址集进行加密,得到所述地址集密文。
进一步地,在本申请的实施例中,所述发送单元503,具体用于生成与所述地址集密文对应的哈希值;以及将所述地址集密文和所述哈希值发送至区块链网络。
进一步地,在本申请的实施例中,所述接收单元504,具体用于接收所述区块链网络返回的与所述哈希值对应的所述目标索引值。
进一步地,在本申请的实施例中,所述存储单元507,用于将所述地址集密文和所述哈希值发送至区块链网络,并接收所述区块链网络返回的与所述哈希值对应的所述目标索引值之后,存储所述目标索引值和所述哈希值。
进一步地,在本申请的实施例中,所述接收单元504,还用于将所述地址集密文存储至区块链网络,并接收所述区块链网络返回的目标索引值之后,接收下载请求;其中,所述下载请求携带有所述目标索引值。
进一步地,在本申请的实施例中,所述发送单元503,还用于将所述目标索引值发送至所述区块链网络。
进一步地,在本申请的实施例中,所述接收单元504,还用于接收所述区块链网络返回的所述地址集密文。
进一步地,在本申请的实施例中,所述解密单元508,用于对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集;其中,所述地址集包括所述M个地址信息。
进一步地,在本申请的实施例中,所述发送单元503,还用于将所述M个地址信息发送至所述IPFS。
进一步地,在本申请的实施例中,所述接收单元504,还用于接收所述IP FS返回的所述待存储文件对应的所述N个子文件。
进一步地,在本申请的实施例中,所述合并单元509,用于对所述N个子文件进行合并操作,得到所述待存储文件。
进一步地,在本申请的实施例中,所述解密单元508,具体用于使用所述私钥对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集。
进一步地,在本申请的实施例中,所述下载请求携带有所述哈希值,所述确定单元510,用于对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集之前,确定所述哈希值对应的所述目标索引值。
进一步地,在本申请的实施例中,所述发送单元503,还用于将所述目标索引值发送至所述区块链网络。
进一步地,在本申请的实施例中,所述接收单元504,还用于接收所述区块链网络返回的所述地址集密文。
在本申请的实施例中,进一步地,图14为本申请实施例提供的终端的组成结构示意图二,如图14示,本申请实施例提出的终端500还可以包括处理器5 11、存储有处理器511可执行指令的存储器512,进一步地,终端500还可以包括通信接口513,和用于连接处理器511、存储器512以及通信接口513的总线514。
在本申请的实施例中,上述处理器511可以为特定用途集成电路(Applica tionSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Proc essor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列F PGA、中央处理器CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。终端500还可以包括存储器512,该存储器512 可以与处理器511连接,其中,存储器512用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器512可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本申请的实施例中,总线514用于连接通信接口513、处理器511以及存储器512以及这些器件之间的相互通信。
在本申请的实施例中,存储器512,用于存储指令和数据。
进一步地,在本申请的实施例中,上述处理器511,用于获取待存储文件,并对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;将所述N个子文件发送至IPFS,并接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据所述M个地址信息生成所述待存储文件对应的地址集,并对所述地址集进行加密,得到地址集密文;将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
在实际应用中,上述存储器512可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器 (non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid- State Drive,SSD);或者上述种类的存储器的组合,并向处理器511提供指令和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种终端,该终端获取待存储文件,并对待存储文件进行划分处理,获得待存储文件对应的N个子文件;其中,N为大于或者等于 1的整数;将N个子文件发送至IPFS,并接收IPFS返回的N个子文件对应的 M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;根据 M个地址信息生成待存储文件对应的地址集,并对地址集进行加密,得到地址集密文;将地址集密文存储至区块链网络,并接收区块链网络返回的目标索引值;其中,目标索引值用于对地址集密文进行标识。也就是说,在本申请的实施例中,终端将待存储文件碎片化并上传至IPFS,根据接收到的IPFS返回的多个子文件对应的地址生成地址集,进而对该地址集进行加密,并进一步将地址集密文存储至区块链网络。不仅在很大程度上克服了现有的文件存储方式所造成的服务端压力过大的缺陷,同时,存储数据量小,加密高效,文件存储安全性高,极大地满足了数据量较大文件的存储需求。
本申请实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的文件存储方法。
具体来讲,本实施例中的一种文件存储方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种文件存储方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
获取待存储文件,并对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
将所述N个子文件发送至IPFS,并接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
根据所述M个地址信息生成所述待存储文件对应的地址集,并对所述地址集进行加密,得到地址集密文;
将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (20)

1.一种文件存储方法,应用于终端,其特征在于,所述方法包括:
获取待存储文件,并对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
将所述N个子文件发送至星际文件系统IPFS,并接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
根据所述M个地址信息生成所述待存储文件对应的地址集,并对所述地址集进行加密,得到地址集密文;
将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
2.根据权利要求1所述的方法,其特征在于,所述对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件,包括:
确定所述待存储文件对应的字节数;
按所述字节数将所述待存储文件分割成所述N个子文件。
3.根据权利要求1所述的方法,其特征在于,所述对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件,包括:
确定所述待存储文件对应的指令参数;
按所述指令参数将所述待存储文件分割成所述N个子文件。
4.根据权利要求1所述的方法,其特征在于,所述对所述地址集进行加密,得到地址集密文,包括:
随机生成非对称密钥对;其中,所述非对称密钥对包括公钥和私钥;
使用所述公钥对所述待存储文件对应的所述地址集进行加密,得到所述地址集密文。
5.根据权利要求4所述的方法,其特征在于,所述将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值,包括:
生成与所述地址集密文对应的哈希值;
将所述地址集密文和所述哈希值发送至区块链网络,并接收所述区块链网络返回的与所述哈希值对应的所述目标索引值。
6.根据权利要求5所述的方法,其特征在于,所述将所述地址集密文和所述哈希值发送至区块链网络,并接收所述区块链网络返回的与所述哈希值对应的所述目标索引值之后,所述方法还包括:
存储所述目标索引值和所述哈希值。
7.根据权利要求6所述的方法,其特征在于,所述将所述地址集密文发送至区块链网络,并接收所述区块链网络返回的目标索引值之后,所述方法还包括:
接收下载请求;其中,所述下载请求携带有所述目标索引值;
将所述目标索引值发送至所述区块链网络,并接收所述区块链网络返回的所述地址集密文;
对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集;其中,所述地址集包括所述M个地址信息;
将所述M个地址信息发送至所述IPFS,并接收所述IPFS返回的所述待存储文件对应的所述N个子文件;
对所述N个子文件进行合并操作,得到所述待存储文件。
8.根据权利要求7所述的方法,其特征在于,所述对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集,包括:
使用所述私钥对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集。
9.根据权利要求7所述的方法,其特征在于,所述下载请求携带有所述哈希值,所述对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集之前,所述方法还包括:
确定所述哈希值对应的所述目标索引值;
将所述目标索引值发送至所述区块链网络,并接收所述区块链网络返回的所述地址集密文。
10.一种终端,其特征在于,所述终端包括:获取单元,处理单元,发送单元,接收单元,生成单元以及加密单元,
所述获取单元,用于获取待存储文件;
所述处理单元,用于对所述待存储文件进行划分处理,获得所述待存储文件对应的N个子文件;其中,N为大于或者等于1的整数;
所述发送单元,用于将所述N个子文件发送至IPFS;
所述接收单元,用于接收所述IPFS返回的所述N个子文件对应的M个地址信息;其中,M为大于或者等于1,且小于或者等于N的整数;
所述生成单元,用于根据所述M个地址信息生成所述待存储文件对应的地址集;
所述加密单元,用于对所述地址集进行加密,得到地址集密文;
所述发送单元,还用于将所述地址集密文发送至区块链网络;
所述接收单元,还用于接收所述区块链网络返回的目标索引值;其中,所述目标索引值用于对所述地址集密文进行标识。
11.根据权利要求10所述的终端,其特征在于,
所述处理单元,具体用于确定所述待存储文件对应的字节数;以及按所述字节数将所
述待存储文件分割成所述N个子文件。
12.根据权利要求10所述的终端,其特征在于,
所述处理单元,还具体用于确定所述待存储文件对应的指令参数;以及按所述指令参
数将所述待存储文件分割成所述N个子文件。
13.根据权利要求10所述的终端,其特征在于,
所述加密单元,具体用于随机生成非对称密钥对;其中,所述非对称密钥对包括公钥和私钥;以及使用所述公钥对所述待存储文件对应的所述地址集进行加密,得到所述地址集密文。
14.根据权利要求13所述的终端,其特征在于,
所述发送单元,具体用于生成与所述地址集密文对应的哈希值;以及将所述地址集密文和所述哈希值发送至区块链网络;
所述接收单元,具体用于接收所述区块链网络返回的与所述哈希值对应的所述目标索引值。
15.根据权利要求14所述的终端,其特征在于,所述终端还包括:存储单元,
所述存储单元,用于将所述地址集密文和所述哈希值发送至区块链网络,并接收所述区块链网络返回的与所述哈希值对应的所述目标索引值之后,存储所述目标索引值和所述哈希值。
16.根据权利要求15所述的终端,其特征在于,所述终端还包括:解密单元和合并单元,
所述接收单元,还用于将所述地址集密文存储至区块链网络,并接收所述区块链网络返回的目标索引值之后,接收下载请求;其中,所述下载请求携带有所述目标索引值;
所述发送单元,还用于将所述目标索引值发送至所述区块链网络;
所述接收单元,还用于接收所述区块链网络返回的所述地址集密文;
所述解密单元,用于对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集;其中,所述地址集包括所述M个地址信息;
所述发送单元,还用于将所述M个地址信息发送至所述IPFS;
所述接收单元,还用于接收所述IPFS返回的所述待存储文件对应的所述N个子文件;
所述合并单元,用于对所述N个子文件进行合并操作,得到所述待存储文件。
17.根据权利要求16所述的终端,其特征在于,
所述解密单元,具体用于使用所述私钥对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集。
18.根据权利要求16所述的终端,其特征在于,所述下载请求携带有所述哈希值,所述终端还包括:确定单元,
所述确定单元,用于对所述地址集密文进行解密,得到与所述待存储文件对应的所述地址集之前,确定所述哈希值对应的所述目标索引值;
所述发送单元,还用于将所述目标索引值发送至所述区块链网络;
所述接收单元,还用于接收所述区块链网络返回的所述地址集密文。
19.一种终端,其特征在于,所述终端包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其上存储有程序,应用于终端中,其特征在于,所述程序被处理器执行时,实现如权利要求1-9任一项所述的方法。
CN201911067461.XA 2019-11-04 2019-11-04 一种文件存储方法、终端及存储介质 Active CN111104386B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201911067461.XA CN111104386B (zh) 2019-11-04 2019-11-04 一种文件存储方法、终端及存储介质
US17/772,206 US20220407725A1 (en) 2019-11-04 2020-03-04 File storage method, terminal, and storage medium
JP2022525637A JP7335440B2 (ja) 2019-11-04 2020-03-04 ファイル記憶方法、端末及び記憶媒体
EP20885212.9A EP4047487A4 (en) 2019-11-04 2020-03-04 FILE STORAGE METHOD, TERMINAL AND STORAGE MEDIA
PCT/CN2020/077840 WO2021088278A1 (zh) 2019-11-04 2020-03-04 一种文件存储方法、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911067461.XA CN111104386B (zh) 2019-11-04 2019-11-04 一种文件存储方法、终端及存储介质

Publications (2)

Publication Number Publication Date
CN111104386A CN111104386A (zh) 2020-05-05
CN111104386B true CN111104386B (zh) 2023-09-01

Family

ID=70420436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911067461.XA Active CN111104386B (zh) 2019-11-04 2019-11-04 一种文件存储方法、终端及存储介质

Country Status (5)

Country Link
US (1) US20220407725A1 (zh)
EP (1) EP4047487A4 (zh)
JP (1) JP7335440B2 (zh)
CN (1) CN111104386B (zh)
WO (1) WO2021088278A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523152B (zh) * 2020-05-11 2021-08-03 毕红伟 基于区块链的电子证件管理方法、管理网络及电子设备
CN111339106B (zh) * 2020-05-18 2020-08-28 杭州趣链科技有限公司 一种区块链数据索引的方法
CN111414434B (zh) * 2020-05-20 2021-09-03 华北电力大学 基于区块链的数据交易管理网络、交易设备和存储介质
CN111782722B (zh) * 2020-06-02 2021-05-18 北京海泰方圆科技股份有限公司 一种数据管理方法、装置、电子设备及存储介质
CN111752946B (zh) * 2020-06-22 2021-04-30 上海众言网络科技有限公司 一种基于分片方式对调研数据进行预处理的方法及装置
CN111797417A (zh) * 2020-07-06 2020-10-20 上海明略人工智能(集团)有限公司 文件的上传方法和装置、存储介质及电子装置
CN114244856A (zh) * 2020-09-09 2022-03-25 中国联合网络通信集团有限公司 基于区块链的网络存储方法、装置、系统及运营商平台
CN112084522B (zh) * 2020-09-28 2021-09-21 深圳市腾盟技术有限公司 数据存储方法、装置、设备及存储介质
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112202779B (zh) * 2020-09-29 2022-08-30 深圳壹账通智能科技有限公司 基于区块链的信息加密方法、装置、设备及介质
CN112434105A (zh) * 2020-10-16 2021-03-02 苏州浪潮智能科技有限公司 区块链存储的数据持续保存的方法、系统、设备及介质
CN112417502B (zh) * 2020-11-18 2022-03-18 中国电子科技集团公司第三十研究所 基于区块链、去中心化部署的分布式即时通讯系统及方法
CN112492580B (zh) * 2020-11-25 2023-08-18 北京小米移动软件有限公司 信息处理方法及装置、通信设备及存储介质
CN112445770A (zh) * 2020-11-30 2021-03-05 清远职业技术学院 多维乱序存储的超大规模高性能数据库引擎及云服务平台
CN112688996A (zh) * 2020-12-16 2021-04-20 宁波云麟信息科技有限公司 基于区块链的电子存证数据存储方法和电子设备
CN112764677B (zh) * 2021-01-14 2022-12-23 杭州电子科技大学 一种在云存储中增强数据迁移安全性的方法
CN112965980A (zh) * 2021-03-12 2021-06-15 平安国际智慧城市科技股份有限公司 信息存储方法及装置
CN113064876A (zh) * 2021-03-25 2021-07-02 芝麻链(北京)科技有限公司 一种ipfs文件处理方法
CN114968964B (zh) * 2021-05-24 2024-03-19 中移互联网有限公司 一种文件处理方法、装置及电子设备
CN113342763B (zh) * 2021-06-03 2022-07-15 上海和数软件有限公司 基于ipfs的分布式数据同步方法、设备及介质
CN113726873B (zh) * 2021-08-27 2022-11-01 平安科技(深圳)有限公司 基于区块链的文件处理方法、系统、设备和存储介质
CN113806300B (zh) * 2021-09-23 2023-08-01 北京百度网讯科技有限公司 数据存储方法、系统、装置、设备及存储介质
CN113821478A (zh) * 2021-11-24 2021-12-21 南京金宁汇科技有限公司 一种基于区块链的大文件存储方法及系统
CN114338646A (zh) * 2021-11-29 2022-04-12 王建冬 文件交互传输方法、装置、设备及存储介质
CN113938324A (zh) * 2021-12-16 2022-01-14 成都车晓科技有限公司 一种基于区块链的车贷信息的安全存储方法
CN114398449B (zh) * 2021-12-29 2023-01-06 深圳市海清视讯科技有限公司 数据处理方法、装置、视频监控系统、存储介质
CN114443608B (zh) * 2022-04-07 2022-07-29 深圳市星卡科技股份有限公司 分布式文件存储及下载方法、装置、设备及介质
CN114911869A (zh) * 2022-05-13 2022-08-16 北京航星永志科技有限公司 一种数据及文件存储系统、方法、装置及电子设备
CN115174553A (zh) * 2022-06-06 2022-10-11 蚂蚁区块链科技(上海)有限公司 一种文件传输的方法及装置
WO2024001304A1 (zh) * 2022-06-30 2024-01-04 华为云计算技术有限公司 一种数据处理方法及相关设备
CN115118734A (zh) * 2022-07-11 2022-09-27 京东科技信息技术有限公司 文件共享方法、装置及设备
CN115269511A (zh) * 2022-07-25 2022-11-01 北京航星永志科技有限公司 一种泛电子文件封装方法及装置
CN115438383B (zh) * 2022-11-09 2023-02-14 南京邮电大学 基于区块链通道技术的临床试验数据上传及共享方法
CN116527691B (zh) * 2023-06-27 2023-11-03 天津中远海运散运数字科技有限公司 一种船岸数据的同步方法、装置、设备和介质
CN116915510B (zh) * 2023-09-13 2023-12-01 北京数盾信息科技有限公司 一种基于高速加密算法的分布式存储系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
CN108876383A (zh) * 2018-08-27 2018-11-23 广东工业大学 一种基于区块链的数据交易方法、装置及设备
CN109151031A (zh) * 2018-08-28 2019-01-04 北京奇虎科技有限公司 基于区块链的合约处理方法及装置
CN109243583A (zh) * 2018-07-09 2019-01-18 研靖信息科技(上海)有限公司 基于区块链的医疗影像数据去中心化管理的方法及设备
CN109493055A (zh) * 2018-11-28 2019-03-19 深圳力维智联技术有限公司 基于区块链的入网区块链设备、数据处理方法及装置
CN109831527A (zh) * 2019-03-13 2019-05-31 试金石信用服务有限公司 文件处理方法、用户端、服务器及可读存储介质
CN109886692A (zh) * 2019-03-08 2019-06-14 泰康保险集团股份有限公司 基于区块链的数据传输方法、装置、介质及电子设备
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법
CN110032545A (zh) * 2019-03-27 2019-07-19 远光软件股份有限公司 基于区块链的文件存储方法、系统及电子设备
CN110083606A (zh) * 2019-04-25 2019-08-02 深圳市豪斯莱科技有限公司 跨链存储方法、终端及存储介质
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017240796A1 (en) * 2016-03-31 2018-10-25 Clause, Inc. System and method for creating and executing data-driven legal contracts
JP6533771B2 (ja) 2016-11-15 2019-06-19 富士通株式会社 通信方法、装置、及びプログラム
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
KR101936756B1 (ko) 2018-03-05 2019-01-11 주식회사 미탭스플러스 블록체인을 이용한 공유경제 관리 장치
JP7190336B2 (ja) 2018-11-15 2022-12-15 富士通株式会社 通信装置、通信方法、および通信プログラム
CN110062034B (zh) * 2019-04-01 2021-11-12 中科天御(苏州)科技有限公司 一种区块链大文件安全存储方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686008A (zh) * 2017-03-03 2017-05-17 腾讯科技(深圳)有限公司 信息存储方法及装置
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법
CN109243583A (zh) * 2018-07-09 2019-01-18 研靖信息科技(上海)有限公司 基于区块链的医疗影像数据去中心化管理的方法及设备
CN108876383A (zh) * 2018-08-27 2018-11-23 广东工业大学 一种基于区块链的数据交易方法、装置及设备
CN109151031A (zh) * 2018-08-28 2019-01-04 北京奇虎科技有限公司 基于区块链的合约处理方法及装置
CN109493055A (zh) * 2018-11-28 2019-03-19 深圳力维智联技术有限公司 基于区块链的入网区块链设备、数据处理方法及装置
CN109886692A (zh) * 2019-03-08 2019-06-14 泰康保险集团股份有限公司 基于区块链的数据传输方法、装置、介质及电子设备
CN109831527A (zh) * 2019-03-13 2019-05-31 试金石信用服务有限公司 文件处理方法、用户端、服务器及可读存储介质
CN110032545A (zh) * 2019-03-27 2019-07-19 远光软件股份有限公司 基于区块链的文件存储方法、系统及电子设备
CN110083606A (zh) * 2019-04-25 2019-08-02 深圳市豪斯莱科技有限公司 跨链存储方法、终端及存储介质
CN110099114A (zh) * 2019-04-30 2019-08-06 普华云创科技(北京)有限公司 区块链和ipfs协议的文件存储方法、系统、终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Evaluating a Blockchain-based Cooperative Defense;Bruno Rodrigues;《IEEE》;全文 *

Also Published As

Publication number Publication date
JP2023500316A (ja) 2023-01-05
JP7335440B2 (ja) 2023-08-29
EP4047487A4 (en) 2023-05-17
US20220407725A1 (en) 2022-12-22
EP4047487A1 (en) 2022-08-24
CN111104386A (zh) 2020-05-05
WO2021088278A1 (zh) 2021-05-14

Similar Documents

Publication Publication Date Title
CN111104386B (zh) 一种文件存储方法、终端及存储介质
CN109639406B (zh) 基于区块链和ipfs的高效信任解决方法
US11240213B2 (en) Resource obtaining, distribution, and download method and apparatus, device, and storage medium
US10402578B2 (en) Management of encrypted data storage
US20170195417A1 (en) Data files synchronization with cloud storage service
CN111373400A (zh) 用于实现用于去中心化标识的解析器服务的系统和方法
US8375223B2 (en) Systems and methods for secure distributed storage
CN111294379B (zh) 区块链网络服务平台及其权限托管方法、存储介质
US20060130045A1 (en) Systems and methods for dynamically updating computer systems
US20080209414A1 (en) Peer-to-peer software update distribution network
CN111274268B (zh) 物联网数据传输方法、装置、介质及电子设备
US11539677B2 (en) Message-based database replication
CN109347839B (zh) 集中式密码管理方法、装置、电子设备及计算机存储介质
JP2023542317A (ja) ブロックチェーン・ネットワークのための合意サービス
CN111737104A (zh) 区块链网络服务平台及其测试用例共享方法、存储介质
CN108694331B (zh) 一种数据存储方法、装置、系统及计算机可读存储介质
US20120078946A1 (en) Systems and methods for monitoring files in cloud-based networks
WO2022058183A1 (en) Integrating device identity into a permissioning framework of a blockchain
CN114547636A (zh) 分布式账本系统
CN116671060A (zh) 分散式广播加密和密钥生成设施
AU2015281798B2 (en) System of shared secure data storage and management
CN112565211B (zh) 区块链网络服务平台及信息处理方法、设备、存储介质
CN115086337B (zh) 文件处理方法、装置、存储介质以及电子设备
CN115694802A (zh) 区块链网络服务平台的随机数生成方法及装置、存储介质
JP2004252864A (ja) 情報処理方法、情報処理装置並びに分散処理システム

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
CB02 Change of applicant information

Address after: 100176 601, 6th floor, building 2, No. 18, Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Address before: 100176 601, 6th floor, building 2, No. 18, Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing

Applicant before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant