CN111367877A - 基于区块链的文件处理方法、装置及终端 - Google Patents
基于区块链的文件处理方法、装置及终端 Download PDFInfo
- Publication number
- CN111367877A CN111367877A CN202010167096.6A CN202010167096A CN111367877A CN 111367877 A CN111367877 A CN 111367877A CN 202010167096 A CN202010167096 A CN 202010167096A CN 111367877 A CN111367877 A CN 111367877A
- Authority
- CN
- China
- Prior art keywords
- file
- node
- request
- hash
- information
- 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.)
- Granted
Links
Images
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/18—File system types
- G06F16/182—Distributed file systems
-
- 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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的文件处理方法和装置。该方法包括:获取待处理的操作请求,根据操作请求对应的操作类型来生成第一响应信息、第二响应信息、第三响应信息以及请求信息,从而实现对电子文件和节点权限的不同处理。本申请通过文件分片加密实现了电子文件可靠存储,而文件哈希表以及操作事件记录的则分别提供了对电子文件的查询依据,以及对电子文件的各类操作事件的可信记录,增强了电子文件在流转过程中的可控可信和安全保密特性。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种基于区块链的文件处理方法、装置及终端。
背景技术
电子文件是计算机系统及其应用软件产生的以特定格式存在的数字信息,常见的类型包括Microsoft Office系列文件、pdf文件、jpg图片文件等等。电子文件可以在计算机系统中存储和相互转发,也可经由特定的软件读取和编辑。
电子文件在实际使用中能够便利地为人们提供有用信息,但同时也存在一些固有的问题。主要包括:1)拷贝转发失序,文件流传范围难以监测控制。存储在个人计算机上的电子文件可以轻易地相互拷贝和转发,且在此过程中缺乏实质性的技术手段加以监督和限制。当某些敏感文件管理失控,通常会在一传十、十传百的递归效应下迅速传播,造成难以估量的影响。2)读取修改随意,导致文件可信度下降。当前电子文件一般采用各类通用格式编制,安装了相应软件的人也就具备了同样的查看和修改能力,如此就可能导致电子文件在流转过程中容易发生有意或无意的、不可控的改动,造成信息的失真与可信度的降低。3)中心化存储和管理方式带来风险的聚集。当前多数文件管理系统常采用集中的文件存储和管理方式,相应地这些中心化服务器就成为了风险的集中地以及重点攻击目标,一旦被入侵将带来系统性的损失。
发明内容
为了解决上述至少一个技术问题,本申请提供一种基于区块链的文件处理方法、装置、终端及存储介质。
根据本申请的第一方面,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,区块链包括多个普通节点和至少一个锚节点,该方法包括:
获取待处理的操作请求,确定操作请求对应的操作类型;
若操作请求对应的操作类型为针对电子文件的存储操作,则确定发起操作请求的发起节点以及操作请求对应的被存储文件的第一哈希相关信息;
基于第一哈希相关信息,生成针对被存储文件的文件哈希记录,并确定针对被存储文件的多个加密片段各自对应的多个存储节点;
依据针对被操作文件的文件哈希记录更新预存储的文件哈希表,文件哈希表包括多个已存储电子文件各自对应的文件哈希记录;
根据针对被操作文件的多个加密片段各自对应的多个存储节点,生成针对操作请求的第一响应信息;
将第一响应信息发送至发起节点,以使发起节点依据第一响应信息对被存储文件进行存储处理。
根据本申请的第二方面,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,区块链包括多个普通节点和至少一个锚节点,该方法包括:
检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点;
若控制操作为针对电子文件的存储操作,则将操作节点作为发起节点,并确定被存储文件的第一哈希相关信息;
依据发起节点的节点身份信息和被存储文件的第一哈希相关信息,生成存储请求;
将存储请求发送至邻近锚节点,并获取邻近锚节点针对存储请求反馈的第一响应信息;
基于第一响应信息对被存储文件进行存储处理。
根据本申请的第三方面,提供了一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,区块链包括多个普通节点和至少一个锚节点,该装置方法包括:操作请求获取模块、第一请求信息确定模块、第一请求信息处理模块、文件哈希表更新模块、第一响应信息生成模块以及第一响应信息处理模块,其中,
操作请求获取模块,用于获取待处理的操作请求,确定操作请求对应的操作类型;
第一请求信息确定模块,用于若操作请求对应的操作类型为针对电子文件的存储操作,则确定发起操作请求的发起节点以及操作请求对应的被存储文件的第一哈希相关信息;
第一请求信息处理模块,用于基于第一哈希相关信息,生成针对被存储文件的文件哈希记录,并确定针对被存储文件的多个加密片段各自对应的多个存储节点;
文件哈希表更新模块,用于依据针对被操作文件的文件哈希记录更新预存储的文件哈希表,文件哈希表包括多个已存储电子文件各自对应的文件哈希记录;
第一响应信息生成模块,用于根据针对被操作文件的多个加密片段各自对应的多个存储节点,生成针对操作请求的第一响应信息;
第一响应信息处理模块,用于将第一响应信息发送至发起节点,以使发起节点依据第一响应信息对被存储文件进行存储处理。
根据本申请的第四方面,提供了一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,区块链包括多个普通节点和至少一个锚节点,该装置包括:控制操作检测模块、第一操作识别模块、存储请求生成模块、存储请求发送模块以及第一响应信息获取模块,其中,
控制操作检测模块,用于检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点;
第一操作识别模块,用于若控制操作为针对电子文件的存储操作,则将控制节点作为发起节点,并确定被存储文件的第一哈希相关信息;
存储请求生成模块,用于依据发起节点的节点身份信息和被存储文件的第一哈希相关信息,生成存储请求;
存储请求发送模块,用于将存储请求发送至邻近锚节点,并获取邻近锚节点针对存储请求反馈的第一响应信息;
第一响应信息获取模块,用于基于第一响应信息对被存储文件进行存储处理。
根据本申请的第五方面,提供了一种终端,该终端包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时以实现上述基于区块链的文件处理方法。
根据本申请的第六方面,提供了一种计算机可读存储介质,该介质存储有计算机可执行指令,该计算机可执行指令用于以执行上述基于区块链的文件处理方法。
本申请通过采用文件哈希记录以及事件记录对电子文件进行管理,既起到了对电子文件的操作痕迹进行跟踪的作用,通过多个普通节点和至少一个锚节点对数据进行维护的方式,实现了对电子文件的可控管理目的,避免了现有技术中对电子文件进行管理存在的安全性低、易被流转的问题,提高了电子文件流转过程的保密性,保证了电子文件的可信度和安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为根据本申请一个实施例提供的基于区块链的文件处理方法的流程示意图;
图2为根据本申请一个实施例提供的基于区块链的文件处理方法中文件哈希表的结构示意图;
图3为根据本申请另一个实施例提供的基于区块链的文件处理方法的流程示意图;
图4为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程示意图;
图5为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程示意图;
图6为根据本申请又一个实施例提供的基于区块链的文件处理方法对节点的处理流程示意图;
图7为根据本申请又一个实施例提供的基于区块链的文件处理方法中对注册请求的处理流程示意图;
图8为根据本申请又一个实施例提供的基于区块链的文件处理方法中对注销请求的处理流程示意图;
图9为根据本申请又一个实施例提供的基于区块链的文件处理方法中生成的事件记录一个实施例的结构示意图;
图10为根据本申请又一个实施例提供的基于区块链的文件处理方法中生成的事件区块一个实施例的结构示意图;
图11为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程示意图;
图12为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程的示意图;
图13为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程的示意图;
图14为根据本申请又一个实施例提供的基于区块链的文件处理方法的流程的示意图;
图15为根据本申请又一个实施例提供的应用基于区块链的文件处理方法的系统的结构示意图;
图16为根据本申请又一个实施例提供的应用基于区块链的文件处理方法的系统中普通节点的功能框图示意图;
图17为根据本申请又一个实施例提供的应用基于区块链的文件处理方法的系统中邻近锚节点的处理流程示意图;
图18为根据本申请一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图19为根据本申请另一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图20为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图21为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图22为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图23为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图24为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图;
图25为根据本申请又一个实施例提供的一种基于区块链的文件处理装置的框图结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
本申请中,区块链技术是对等网络、加密算法、分布式存储和共识算法相结合的新型技术体系,系统中的节点通过遵从特定的统一规则共同维护了一套去中心化且不可更改的事件/交易记录。典型区块链系统架构由多个计算机节点组成一个对等网络,系统中的事件/交易记录基于哈希算法形成前后相接的链式结构,对于历史数据的任何更改都会影响整个链条的数据;系统中的事件/交易链条在所有节点中都有备份,节点间通过一套共识机制共同决定哪些数据被认可和记录。基于以上特性,区块链架构可以实现信息的不可抵赖与可靠记录,从而实现系统的可信性。智能合约是在区块链系统中运行的一种特殊程序,其运行中产生的数据可以存入区块链系统,留下不可更改的记录,因而区块链智能合约能够产生可信的程序运行记录与结果。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
根据本申请的一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点,如图1所示,该方法包括:步骤S101至S106。
步骤S101:获取待处理的操作请求,确定操作请求对应的操作类型。
具体应用时,邻近锚节点获取待处理的操作请求,确定操作请求对应的操作类型。
具体地,操作类型包括对节点身份的操作、对电子文件的操作,例如,存储、转发操作权限、查看、编辑等。
具体地,可以通过请求标签来确定操作请求对应的操作类型。例如,邻近锚节点获取到操作请求后,能够直接依据操作请求的请求标签,来确定请求类型。
步骤S102:若操作请求对应的操作类型为针对电子文件的存储操作,则确定发起操作请求的发起节点以及操作请求对应的被存储文件的第一哈希相关信息。
具体地,通过对操作请求的解析,确定发送操作请求的发起节点以及被存储文件的第一哈希相关信息。
步骤S103:基于第一哈希相关信息,生成针对被存储文件的文件哈希记录,并确定针对被存储文件的多个加密片段各自对应的多个存储节点。
具体地,邻近锚节点可以依据分布式寻址算法来确定针对被存储文件的多个加密片段各自对应的多个存储节点。
更具体地,分布式寻址算法可以包括基于负载均匀的一致性哈希算法、Chord算法、Kademlia算法、哈希槽算法等。为了对分布式寻址算法进行详细说明,下面以基于负载均匀的一致性哈希算法为例对确定针对被存储文件的多个加密片段各自对应的多个存储节点过程进行详细说明。基于负载均匀的一致性哈希算法的具体确定过程为:首先,将各节点IP地址等标识信息经过哈希运算映射到0~232的哈希值区间中,形成一个首尾相连的环形结构,其中0和232点位置重合;其次,调整各节点标识信息,经哈希运算在环上生成若干个虚拟位置,并使得映射后的各节点在环上的位置尽量均匀且交错分布;最后,将加密文件片段哈希值映射到同一区间中,并确定其在环上位置,以顺时针方向寻找到的第一个节点即为当前文件片段要存储的目标节点。
步骤S104:依据针对被操作文件的文件哈希记录更新预存储的文件哈希表,文件哈希表包括多个已存储电子文件各自对应的文件哈希记录。
步骤S105:根据针对被操作文件的多个加密片段各自对应的多个存储节点,生成针对操作请求的第一响应信息。
在本申请实施例中,第一响应信息用于表征邻近锚节点对存储请求的处理结果。
步骤S106:将第一响应信息发送至发起节点,以使发起节点依据第一响应信息对被存储文件进行存储处理。
本申请实施例通过确定操求对应的操作类型,以便在操作请求对应的操作类型为对电子文件的存储操作的情形时,确定发起操作请求的发起节点,并确定针对被存储文件的多个存储节点,从而依据多个存储节点生成第一响应信息,以将第一响应信息发送至发起节点,以便发起节点依据第一响应信息来完成文件存储的目的;同时,文件哈希表的设置为查找电子文件的加密片段的存储节点提供了哈希值依据,起到了通过文件哈希表对已存储电子文件的管理维护作用,实现对电子文件的跟踪管理目的。
在本申请实施例中,第一哈希相关信息包括:
被存储文件的文件哈希值;
被存储文件的文件密钥哈希值;
被存储文件的多个加密片段各自对应的哈希值;
被存储文件的多个标准操作码哈希值;以及
被存储文件对应的前一版本电子文件的第一文件哈希值。
在一些实施例中,步骤S104依据针对被操作文件的文件哈希记录更新预存储的文件哈希表之后,该方法还包括:
步骤S1041(图中未示出):依据文件哈希表,确定被存储文件对应的后一版本电子文件的第二文件哈希值;
步骤S1042(图中未示出):将第二文件哈希值添加至被存储文件的文件哈希记录。
具体地,若被存储文件首次存储,那么被存储文件对应的前序文件的第一哈希值为空;若被存储文件是在对某一已存储电子文件编辑之后的另存处理,那么前序文件为被编辑的电子文件,第一哈希值为被编辑的电子文件的文件哈希值。
由于发起节点仅能够确定被存储文件的前序文件(即前一版本电子文件),因此,被存储文件的第一哈希相关信息中并未包括后续文件的文件哈希值,因此,邻近锚节点在生成针对被存储文件的文件哈希记录之后,可以按照预定策略(如按照预定时间或者检测到新的文件哈希记录后)查询文件哈希表,由于每个已存储电子文件均包括其前序文件的文件哈希值,因此,可以确定出被存储文件对应的后序文件的文件哈希值,即,若存在被存储文件对应的后序文件,那么将其文件哈希值作为第二哈希值;否则第二哈希值为空。
具体地,文件哈希表如图2所示,该文件哈希表中任一已存储电子文件的文件哈希记录均包括文件哈希值、前序文件哈希值(即该任一已存储电子文件的前一版本电子文件的第一哈希值)、后序文件哈希值(即该任一已存储电子文件的后一版本电子文件的第二哈希值)、多个加密片段各自的哈希值、各个文件操作码哈希值(即多个标准操作码哈希值)、文件密钥哈希值。其中,各个文件操作码哈希值和文件密钥哈希值,是依据预先指定的各个文件操作码和文件密钥进行哈希计算得到的。在如图2所示的文件哈希表中,文件哈希值是主关键字;前序文件哈希值和后序文件哈希值分别指向了当前文件改动前、当前文件改动前后的文件版本记录信息;加密片段哈希值用于在区块链中定位存储了加密文件片段的节点;文件密钥能够对文件片段的加密和解密处理,而文件密钥哈希值则用于对被操作的电子文件进行验证;文件操作码是为各类文件操作权限指定的许可密钥。
应用时,文件哈希表一般存储在键值(K-V)类型的分布式数据库中。具体地,可以根据区块链的实际环境和需求,采用LevelDB、MongoDB、CouchDB等数据库具体实现。
根据本申请的另一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个节点和至少一个锚节点,如图3所示,该方法包括步骤S201至步骤S207。
步骤S201:获取待处理的操作请求,确定操作请求对应的操作类型;
步骤S202:若操作请求对应的操作类型为针对已存储电子文件的操作权限的转发操作,则确定操作请求对应的转发相关信息,其中,转发相关信息包括发起操作请求的转发节点的节点身份信息、操作请求指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息以及被转发的操作权限对应的第一待验证操作码哈希值,第二哈希相关信息包括目标文件的文件哈希值、目标文件的文件密钥哈希值和目标文件的转发操作权限对应的第二待验证操作码哈希值;
步骤S203:对转发节点的节点身份进行验证;
步骤S204:若转发节点的节点身份通过验证,则将第二哈希相关信息在文件哈希表中进行查询,并依据查询结果判断转发节点对目标文件是否具有转发权限;
步骤S205:若转发节点对目标文件具有转发权限,则对操作请求进行审批处理,并依据审批处理结果生成针对操作请求的第二响应信息;
步骤S206:将第二响应信息发送至转发节点,以使转发节点依据第二响应信息对接收节点进行操作权限的转发处理。
本申请实施例在确定操作请求对应的操作类型为针对电子文件的操作权限的转发操作时,通过转发相关信息来对转发节点的节点身份、转发节点是否具有转发权限来进行验证,并在验证通过后对操作请求进行审批处理,以确定是否向转发节点向接收节点进行操作权限的转发处理发送授权信息,从而实现了对区块链中各节点对电子文件的操作权限的进行管理的目的,进而起到了控制电子文件的读取以及流转范围的作用,提高电子文件的安全性,解决了现有技术中电子文件存在的易被恶意读取、恶意篡改的问题。
具体地,邻近锚节点获取到操作请求后,可以依据操作请求的请求标签来确定操作请求对应的操作类型。例如,请求标签为针对电子文件的操作权限的转发操作时,那么需要对操作请求进行验证,验证内容可能包括:确定转发节点的节点身份是否有效(例如确定转发节点的数字身份证书是否由锚节点签发且未被改动)、目标文件是否存在、转发节点对目标文件的是否具有转发权限等。
应用时,若转发节点为节点a,接收节点为节点b,邻近锚节点接收到节点a发送的操作请求时,若邻近锚节点获取到的该操作请求对应的操作类型为针对电子文件的操作权限的转发操作,那么邻近锚节点根据操作请求对应的转发相关信息进行处理,以对节点a、操作请求指向的目标文件、节点a是否对目标文件具有转发权限进行验证。例如,假设节点a向节点b转发对目标文件的查看权限,若验证确定节点a具有对目标文件的转发权限和查看权限,那么对是否向节点b转发针对目标文件的查看权限进行审批处理。
具体地,若审批通过,那么第二响应信息可能为授权通过的提示信息,该提示信息可能同时包括授权通过的提示信息和目标文件的文件哈希值、多个标准操作码哈希值等。
在一些实施例中,可以由获取到的操作请求的邻近锚节点对步骤S205中的操作请求进行审批处理。
在另一些实施例中,可以由其它节点对步骤S205中操作请求进行审批处理,即在邻近锚节点完成对操作请求的验证后,由其它节点进行审批处理。具体地,对操作请求进行审批处理的其他节点可能是1个,也可能是多个。具体根据预配置的智能合约来进行确定。
在图3所示的实施例中,步骤S205中对操作请求进行审批处理,包括:
步骤S2051(图中未示出):若转发节点对应有针对转发权限的至少一个审批节点,则将操作请求转发至至少一个审批节点;
步骤S2052(图中未示出):获取至少一个审批节点对操作请求的反馈信息,依据反馈信息确定审批处理结果。
具体应用时,在审批节点的数量为多个时,可以预先设定不同审批节点的审批级别,以便邻近锚节点根据不同审批节点各自的审批级别进行处理。
例如,若不同审批节点的审批级别相同,那么邻近锚节点可以将操作请求同时发送至多个审批节点。
再如,若不同审批节点的审批级别不同,那么邻近锚节点可以按照审批级别由低至高的顺序,逐级发送操作请求。若任一审批级别的审批节点审批不通过,则审批处理停止,不再向更高级别的审批节点发送操作请求。仅在不同级别的审批节点均审批通过时,邻近锚节点才生成针对操作请求的授权通过信息(即第二响应信息)。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,该实施例中,如图4所示,该方法包括步骤S301至步骤S306。
步骤S301:获取待处理的操作请求,确定操作请求对应的操作类型;
步骤S302:若操作请求对应的操作类型为针对已存储电子文件的文件控制操作,则确定发起操作请求的访问节点以及操作请求指向的被访问文件的第三哈希相关信息;
步骤S303:对访问节点的节点身份进行验证;
步骤S304:若访问节点的节点身份通过验证,则将第三哈希相关信息在文件哈希表中进行查询,并依据查询结果确定访问节点对被访问文件具有的各项操作权限;
步骤S305:依据访问节点对被访问文件具有的各项操作权限,确定针对操作请求的第三响应信息;
步骤S306:将第三响应信息发送至访问节点,以使访问节点依据第三响应信息进行处理;
第三哈希相关信息包括:
被访问文件的文件哈希值;
被访问的文件密钥哈希值;
访问节点对被访问文件具有的多个第三待验证操作码哈希值。
需要说明的是,图4所示的实施例中访问节点可以与图3所示的实施例中的接收节点相同,也可以与图3所示的实施例中的接收节点不同,即区块链中任一节点对已存储的电子文件进行文件控制操作时,邻近锚节点均需要将对这个节点、被访问的电子文件、以及这个节点对被访问的电子文件的各类操作权限进行验证。
上述步骤S203和步骤S303中对节点身份的验证方式均一致,即,在注册节点列表中查询转发节点的节点身份信息和访问节点的节点身份信息是否一致,如一致,则确定通过节点身份验证。具体地,节点身份信息包括在数字证书中,数字证书一般包括证书序列号、有效期、颁发节点、持有节点、节点公钥、签名算法、证书签名等信息。
例如,假设电子文件yy.doc对应有5个操作码,分别为code1、code2、code3、code4和code5。假设电子文件yy.doc由节点a创建完成,若操作请求对应的操作类型为节点a对电子文件yy.doc进行的文件控制操作,那么邻接锚节点不仅需要对节点a的节点身份、电子文件yy.doc是否存在、节点a对电子文件yy.doc的5个操作码等信息进行验证,若这些信息与预存储的电子文件yy.doc的文件哈希记录一致,则确定验证通过。
在图4所示的实施例中,步骤S305依据访问节点对被访问文件具有的各项操作权限,确定针对操作请求的第三响应信息,包括:
步骤S3051(图中未示出):基于被访问文件的文件哈希记录,确定查看权限对应的标准操作码哈希值以及针对其它多种操作权限的多个标准操作码哈希值;
步骤S3052(图中未示出):将查看权限对应的标准操作码哈希值分别与多个第三待验证操作码哈希进行匹配,依据匹配结果来确定访问节点对被访问文件是否具有查看权限;
步骤S3053(图中未示出):若确定访问节点对被访问文件具有查看权限,则依据被访问文件对应的文件哈希记录,确定针对查看权限的第一返回信息,并将针对其它多种操作权限的多个标准操作码哈希值分别与多个第三待验证操作码哈希值进行匹配,依据匹配结果确定针对其它多种操作权限的第二返回信息,其中,第一返回信息包括被访问文件对应的文件哈希记录中第一文件哈希值、第二文件哈希值、多个加密片段各自对应的哈希值;
步骤S3054(图中未示出):依据第一返回信息和第二返回信息,确定针对操作请求的第三响应信息。
在本申请实施例中,在查询到访问节点对被访问文件具有查看权限的情形下,通过第一返回信息既保证了后续访问节点能够依据第三响应信息来确定被访问文件的前序文件和后序文件,还为后续访问节点获取多个加密片段提供的数据依据;而第二返回信息则为后续访问节点对被访问文件的其它功能权限的启动提供的数据依据。
在一些实施例中,步骤S3053中依据针对其它多种操作权限的多个标准操作码哈希值以及多个第三待验证操作码哈希值,确定针对其它多种操作权限的第二返回信息,包括以下至少一个步骤:
依据针对其它多种操作权限的多个标准操作码哈希值,确定针对其它多种操作权限的第二返回信息;
将针对其它多种操作权限的多个标准操作码哈希值分别与多个第三待验证操作码哈希值进行匹配,依据匹配结果确定针对其它多种操作权限的第二返回信息。
具体地,第二返回信息可以为针对其它多种操作权限的多个标准操作码哈希值。
具体地,通过将针对其它多种操作权限的多个标准操作码哈希值分别与多个第三待验证操作码哈希值进行匹配的处理,起到了验证多个第三待验证操作码哈希值的作用,即,能够确定访问节点对被访问文件具有的操作权限,此时,确定的第二返回信息可以仅包括匹配成功的标准操作码哈希值,也可以同时包括针对其他多种操作权限的多个标准操作码,以及多个验证提示信息,也就是说,针对其他多种操作权限的多个标准操作码分别对应一个验证提示信息,例如,确定访问节点对被访问文件具有编辑权限的提示信息。
例如,假设被访问文件的文件哈希记录中存储有hash1、hash2、hash3、hash4、hash5、hash6,其中,hash1为查看权限的操作码哈希值,在hash1与任一第三待验证操作码哈希值一致时,确定访问节点对被访问文件具有查看权限,并将被访问文件的文件哈希记录中第一文件哈希值、第二文件哈希值、多个加密片段各自对应的哈希值作为第一返回信息;同时,可以将hash2、hash3、hash4、hash5和hash6作为第二返回信息;或者在将多个第三待验证操作码哈希值分别与hash2、hash3、hash4、hash5、hash6进行匹配后,得到的多个匹配结果作为第二返回信息;或者在将多个第三待验证操作码哈希值分别与hash2、hash3、hash4、hash5、hash6进行匹配后,得到的多个匹配结果,并依据多个匹配结果生成的第二返回信息。例如,若hash2匹配失败,第二返回信息可以为hash2,或者hash2和访问节点不具有hash2的操作权限的提示信息。
在本申请实施例中,第一文件哈希值用于表征目标文件的被修改前的电子文件的文件哈希值,即前序文件哈希值;而第二文件哈希值用于表征目标文件的被修改后的电子文件的文件哈希值,即后序文件哈希值。通过第一文件哈希值和第二文件哈希值以便访问节点的用户对目标文件的不同版本进行确定。
在本申请实施例中,第三响应信息中第一文件哈希值和第二文件哈希值为追踪同一电子文件的前一版本电子文件(即前序文件)和后一版本电子文件(即后序文件)提供的哈希依据,能够起到对电子文件的追踪作用。
根据本申请提供的上述实施例中,如图5所示,该方法还包括步骤S401、步骤S402和步骤S403。
步骤S401:基于文件哈希表中多个已存储电子文件各自对应的文件哈希值,确定多个已存储电子文件的多个加密片段各自对应的多个存储节点。
具体地,可以通过哈希寻址方法来确定多个已存储电子文件的多个加密片段各自对应的多个指定节点。更具体地,任一已存储电子文件的任一加密片段对应的指定节点的数量依据预设的备份存储策略来确定。例如,任一已存储电子文件的任一加密片段对应的3个存储节点。
步骤S402:若任一已存储电子文件对应的任一存储节点发生异常,则确定异常类型。
在本申请实施例中,异常类型用于表征发生异常的对象。例如,发生异常的对象可能为指定节点本身(如节点被注销、离线等),也可能为指定节点内存储的加密片段。
步骤S403:依据异常类型进行相应处理。
具体地,锚节点依据预设的扫描周期来对已存储电子文件进行检测,判断已存储电子文件对应的任一存储节点是否发生异常,并依据异常类型来进行处理,以实现对已存储电子文件的完整性验证。
在上述实施例中,步骤S403依据异常类型进行相应处理,包括:
步骤S4031(图中未示出):若异常类型为节点异常,则确定新节点,并依据新节点对发生节点发异常的旧节点进行替代处理;
步骤S4032(图中未示出):若异常类型为片段异常,则确定正常片段,并依据正常片段对发生片段异常的加密片段进行替代处理。
具体地,节点异常可能包括节点被注销、节点离线等情形。
具体地,片段异常可能包括该节点中存储的加密片段丢失、损坏或其它无法打开的情形。
例如,假设已存储的电子文件xx.doc的加密片段1对应的多个存储节点分别为:节点a、节点b和节点c,若节点a发生异常且异常类型为节点异常,那么依据哈希寻址方法来重新一个节点代替节点a,若重新确定的节点为节点d,那么将节点b或节点c中存储的加密片段1存储至节点d,完成节点d对节点a的替代处理。这样,电子文件xx.doc的加密片段1的节点为节点b、节点c和节点d。
再如,假设已存储的电子文件yy.doc的加密片段2对应的多个存储节点分别为:节点m、节点n和节点p,若节点m发生异常且异常类型为片段异常,那么可以从节点n或节点p中获取正常片段,将该正常片段在节点m存储以替代节点m中存储的加密片段2,完成正常片段对发生异常的加密片段2的替代处理。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个节点和至少一个锚节点,如图6所示,该方法包括:
步骤S501:获取待处理的操作请求,确定操作请求对应的操作类型;
步骤S502:若操作请求对应的操作类型为针对节点身份的节点身份调整操作,则确定发起操作请求的请求节点。
步骤S503:依据操作请求对请求节点的节点身份进行处理。
本申请实施例通过针对节点身份的调整请求,构建了区块链中针对节点的加入机制、退出机制以及节点身份调整机制,起到了灵活控制区块链中节点的作用,实现了对区块链中节点进行管理的目的。
在上述实施例中,步骤S502依据操作请求对请求节点的节点身份进行处理,包括以下至少一个步骤:
若操作请求为注册请求,则将请求节点在区块链中进行注册处理,并依据注册处理结果更新注册节点列表;
若操作请求为注销请求,则将请求节点在区块链中进行注销处理,并依据注销处理结果更新注册节点列表和注销节点列表;
若操作请求为将请求节点升级为锚节点的升级请求,则对请求节点升级为锚节点进行审批处理,并依据审批处理结果更新注册节点列表;
其中,注册节点列表包括多个已注册节点各自对应的节点身份信息,注销节点列表包括多个被注销节点各自对应的节点身份信息。
在节点身份调整请求为注册请求的情形下,为了详细说明锚节点对请求节点的节点身份的处理过程,下面结合图7进行说明。
步骤SR1:新加入节点向邻近锚节点发送注册请求;
步骤SR2:邻近锚节点对新加入节点进行初步验证,即确定发送注册申请的节点是否为新节点。具体可以通过预先设定的策略进行验证,例如,通过开放式注册验证策略,即验证只要是未注册节点均可加入;或者通过限定性验证策略进行验证,如设定可以注册的节点IP地址范围或者其他可验证的特征,以保证特定类型的节点可以注册,若验证通过(即符合验证策略的节点),则执行步骤SR3;
步骤SR3:邻近锚节点生成新节点公私密钥和身份数字证书;
步骤SR4:邻近锚节点生成注册事件记录;
步骤SR5:邻近锚节点与其余锚节点开始共识过程,即根据预设的共识算法完成锚节点件的共识机制,在邻近锚节点与区块链中其余锚节点之间进行共识处理;
步骤SR6:邻近锚节点取得其余锚节点共识的确认信息;
步骤SR7:邻近锚节点更新注册节点列表。
步骤SR8:更新事件记录链;
步骤SR9:邻近锚节点向新加入节点进行发送身份数字证书和公私密钥;
步骤SR10:新加入节点生成注册成功的提示信息。
在节点身份调整请求为注销请求的情形下,为了详细说明邻近锚节点对请求节点的节点身份的处理过程,下面结合图8进行说明。
步骤SC1:被注销节点向邻近锚节点发送注销请求;
步骤SC2:邻近锚节点对被注销节点进行初步验证,即确定该节点的节点身份。具体可以通过注册节点列表和注销节点列表进行查询;
步骤SC3:邻近锚节点生成注销事件;
步骤SC4:邻近锚节点开始共识过程,即根据针对区块链的共识机制,在邻近锚节点与区块链中其余锚节点之间进行共识处理。
步骤SC5:邻近锚节点取得共识;
步骤SC6:邻近锚节点将注销节点的数字身份证书设置为失效;
步骤SC7:更新已注册节点列表和注销节点列表;
步骤SC8:更新事件记录链;
步骤SC9:邻近锚节点向被注销节点发送完成节点注销的信息。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个节点和至少一个锚节点,该方法还包括:
步骤S601(图中未示出):检测到针对操作请求的处理完成信息时,依据操作请求对应的操作类型生成操作事件记录,操作事件记录包括文件操作事件记录、权限操作事件记录中至少一项;
步骤S602(图中未示出):依据操作事件记录,更新预存储的事件记录链。
在本申请实施例中,文件操作事件记录包括前一记录的哈希值、针对文件操作事件记录的时间戳、文档事件标签、执行操作的节点、被操作文件的文件哈希值以及文件操作类型。
在本申请实施例中,权限操作事件记录包括前一记录的哈希值、针对权限操作事件的记录的时间戳、权限事件标签、执行操作的节点、被操作的节点以及权限操作类型。
具体地,文件操作类型包括存储、转发、查看、编辑、打印、输出、销毁中至少一项。
具体地,权限操作类型包括节点的注册、注销、升级、转发中至少一项。
本申请实施例通过操作事件记录提供了对节点的操作事件、对电子文件的操作事件的去中心化、不可更该的可靠记录,保证了对电子文件的各项操作的可靠性、可信度以及可追溯性。
具体地,在存储节点完成存储处理后,通过发起共识更新事件记录链,添加一条新的文件操作事件记录。添加的该文件操作事件记录中时间戳为完成存储操作的时间,执行操作的节点为发起存储请求的节点,被操作文件哈希值为当前文件哈希值,文件操作类型为存储操作。
具体地,在转发节点完成转发处理后,通过发起共识更新事件记录链,添加一条新的文件操作事件记录。增加的该文件操作事件记录中时间戳为完成转发操作的时间,执行操作的节点为发起转发请求的节点,被操作文件哈希值为当前文件哈希值,文件操作类型为转发操作。
更具体地,转发节点完成转发处理后,除了更新文件操作事件记录,还需更新一条权限操作事件记录,该权限操作事件记录中时间戳为完成转发操作的时间,执行操作的节点为发起转发请求的节点,被操作节点为接收转发节点,权限操作类型为权限转发。
具体地,在发送操作请求的访问节点完成查看、编辑、打印、输出、销毁等操作处理后,通过发起共识更新事件记录链,添加一条文件操作事件记录。添加的该文件操作事件记录中时间戳为完成操作的时间,执行操作的节点为发起操作请求的节点,被操作文件哈希值为当前文件哈希值,文件操作类型分别对应为查看操作、编辑操作、打印操作、输出操作、销毁操作等。
具体地,节点身份调整请求处理完成后,需要更新事件记录链,即添加一条权限操作事件记录。例如,节点m提交了注册/注销/升级请求,锚节点n验证并批准/拒绝了请求,则添加权限操作事件记录,该权限操作事件记录中时间戳为批准时间,执行操作节点为节点n,被操作节点为m,权限操作类型为批准注册/拒绝注册/批准注销等等。
具体地,邻近锚节点对转发请求的审批过程也需要更新权限操作事件记录。例如,若节点a提交的转发请求需要节点b和c的额外审批,节点b审批同意,节点c审批拒绝,那么针对节点b审批过程需要添加一条权限操作事件记录1,权限操作事件记录1中时间戳为节点b完成审批的时间,执行操作节点为节点b,被操作节点为a,权限操作类型为转发审批通过;针对节点c审批过程需要添加一条权限操作事件记录2:权限操作事件记录2中时间戳为节点c完成审批的时间,执行操作节点为节点c,被操作节点为节点a,权限操作类型为转发审批拒绝。
具体地,事件记录链可以如图9所示,该图中记录n为针对文档操作事件的记录,记录n包含了时间戳标记的前一条事件记录的哈希值,记录(n+1)针对权限操作事件的记录,记录(n+1)也包含了时间戳标记的前一条事件记录的哈希值,因此通过不同记录中包括的前一事件记录的哈希值能够形成了前后链接的紧密关系,区块链中的文件操作事件和权限操作事件记录在同一个链条中。
在一些实施例中,步骤S602依据操作事件记录,更新预存储的事件记录链之后,该方法还包括:
步骤S602(图中未示出):检测到操作事件记录的数量达到预定数值时,生成包括前一区块头哈希值的多个事件区块,以依据多个事件区块各自的前一区块头哈希值来形成事件区块链。
具体地,在区块链的任一节点存储了一定数量的事件记录后,可以将其打包成一个区块,以根据多个区块来得到事件区块链。具体地,事件区块可以如图10所示,每个事件区块的区块体中包含了若干条事件记录,在区块头中记录了区块打包的时间戳、区块编号、所有事件记录的Merkle根等信息。与事件记录类似,不同区块之间同样通过包含前一区块头的哈希值形成了前后链接关系。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点,如图11所示,该方法包括:步骤S701至S705。
步骤S701:检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点。
具体地,操作节点既然为普通节点,也可以为锚节点;在操作节点为锚节点时,是以该锚节点为中心在剩余锚节点中来确定邻近锚节点的。
具体地,可以通过路由路径最短的原则来确定邻近锚节点。
步骤S702:若控制操作为针对电子文件的存储操作,则将操作节点确定为发起节点,并确定被存储文件的第一哈希相关信息。
具体地,控制操作一般分为两类:针对节点的控制操作和针对电子文件的控制操作。其中,针对节点的控制操作可能包括注册操作、注销操作、升级为锚节点等控制操作;而针对电子文件的控制操作也可以分为两类:针对权限管理的转发操作和针对文档的控制操作,如查看操作、存储操作、打印操作、格式转发操作等。
步骤S703:依据发起节点的节点身份信息和被存储文件的第一哈希相关信息,生成存储请求。
步骤S704:将存储请求发送至邻近锚节点,并获取邻近锚节点针对存储请求反馈的第一响应信息。
具体地,发起节点将存储请求发送至邻近锚节点,该邻近锚节点根据图1所示的步骤对存储请求进行处理,以得到第一响应信息。鉴于邻近锚节点接收到的为存储请求,因此,邻近锚节点反馈给发起节点的第一响应信息为对被存储文件的各个加密片段分别指定的多个存储节点。
步骤S705:基于第一响应信息对被存储文件进行存储处理。
本申请实施例,在检测到控制操作时,通过确定操作节点和邻近锚节点,这样既确定了生成存储请求的发起节点,也确定了对存储请求进行处理的邻近锚节点,使得发起节点能够获取到针对存储请求的第一响应信息,为发起节点对被存储文件进行存储提供了确定存储节点的依据,起到了将电子文件分片加密存储的作用,实现了电子文件的可靠存储的目的,保证了对区块链中各节点对电子文件的存储管理。
在本申请实施例中,步骤S702中确定被存储文件的第一哈希相关信息,包括:
步骤S7021(图中未示出):将被存储文件切分为多个文件片段,并确定针对被存储文件的文件密钥、多种操作权限各自对应的操作码;
步骤S7022(图中未示出):依据文件密钥,对多个文件片段进行加密处理,得到多个加密片段;
步骤S7023(图中未示出):基于哈希算法,确定被存储文件的文件哈希信息,文件哈希信息包括文件哈希值、文件密钥哈希值、多个加密片段各自对应的哈希值和多种操作权限各自对应的标准操作码哈希值;
步骤S7024(图中未示出):确定被存储文件对应的前一版本电子文件的第一文件哈希值;
步骤S7025(图中未示出):依据文件哈希信息和第一文件哈希值,确定被存储文件的第一哈希相关信息。
具体地,文件密钥以及各类操作权限各自对应的操作码均为用户指定。
在本申请实施例中,通过哈希算法,对种操作权限各自对应的操作码进行计算,得到多个标准操作码哈希值。例如,操作码code1用于表征查看权限,对code1进行哈希计算,得到针对查看权限的标准操作码哈希值。
具体地,可以选用DES、IDEA、AES等常用算法进行文件加密,即对被存储文件的多个文件片段进行加密处理,从而防止无权用户进行读取,提高了对电子文件的保密性。
在本申请实施例中,步骤S705基于第一响应信息对被存储文件进行存储处理,包括;
步骤S7051(图中未示出):基于第一响应信息,确定邻近锚节点对被存储文件的多个加密片段分别指定的多个存储节点;
步骤S7052(图中未示出):将被存储文件的多个加密片段存储至各自对应的多个存储节点。
在本申请实施例中,为保证系统中文件访问的可靠性稳定性,需为文件存储建立备份,通常每一份文件应当在系统中存储三个副本,因此邻近锚节点为每一个加密片段指定了多个存储节点。因此,操作节点在对每一个加密片段存储时,需要与多个存储节点进行通信。
具体地,对于某一加密片段,可以通过在其文件头加入不同的序号标识符来确定多个副本,将这些副本在映射到哈希值区间后可以按照寻址策略存储在不同的节点中,从而实现数据的冗余备份。当两个以上的副本对应到了同一个存储节点时,第二个副本就需要重新定位至哈希环中顺时针找到的下一个节点,第三个副本采用同样原则操作。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点,如图12所示,该方法包括:步骤S801至S804。
步骤S801:检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点。
需要说明的是,该步骤与步骤S701的执行过程相同或相似,此处不再赘述。
步骤S802:若控制操作为针对已存储电子文件的操作权限的转发操作,则将操作节点作为转发节点,并确定转发相关信息,转发相关信息包括转发节点的节点身份信息、转发操作指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息和被转发的操作权限对应的第一待验证操作码哈希值,其中,第二哈希相关信息包括目标文件的文件哈希值、文件密钥哈希值和转发权限对应的第二待验证操作码哈希值。
在本申请实施例中,节点身份信息一般包括节点数字证书中。更具体地,数字证书一般包括证书序列号、有效期、颁发节点、持有节点、节点公钥、签名算法、证书签名等信息。
具体地,转发节点一般为目标文件的创建节点,因此,转发节点具有对目标文件的多种操作权限各自对应的操作码。
步骤S803:依据转发相关信息生成转发请求,并将转发请求发送至邻近锚节点。
步骤S804:获取邻近锚节点针对转发请求反馈的第二响应信息,并依据第二响应信息进行处理。
本申请实施例,在检测到控制操作时,通过确定操作节点和邻近锚节点,这样既确定了生成转发请求的转发节点,也确定了对转发请求进行处理的邻近锚节点,使得转发节点能够获取到针对转发请求的第二响应信息,从而确定转发节点是否具有向其他节点转发操作权限的功能,实现了对各节点分别对不同电子文件的操作权限进行管理的目的。
在上述实施例中,步骤S804中依据第二响应信息进行处理,包括:
若第二响应信息包括对操作请求的授权确认信息,则将目标文件对应的文件哈希值、文件密钥、被转发的操作权限对应的操作码加密处理后发送至接收节点。
具体地,转发节点可以通过预定的加密算法进行加密。
在本申请实施例中,被转发的操作权限可以为1个,也可以为多个。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点,如图13所示,该方法包括:步骤S901至S904。
步骤S901:检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点。
需要说明的是,该步骤与步骤S701的执行过程相同或相似,此处不再赘述。
步骤S902:若控制操作为针对已存储电子文件的文件控制操作,则将操作节点作为访问节点,并确定文件操作相关信息;
步骤S903:依据文件操作相关信息生成文件控制请求,并将文件控制请求发送至邻近锚节点;
步骤S904:获取邻近锚节点针对操作请求反馈的第三响应信息,并依据第三响应信息对控制操作指向的被访问文件进行处理。
在本申请实施例中,步骤S902中确定文件操作相关信息,包括:
步骤S9021(图中未示出):确定被访问文件的第三哈希相关信息,其中,第三哈希相关信息包括被访问文件的文件哈希值、文件密钥哈希值以及访问节点针对被访问文件具有的多个第三待验证操作码哈希值;
步骤S9022(图中未示出):依据第三哈希相关信息和访问节点的节点身份信息,确定文件操作相关信息。
本申请实施例通过文件相关信息的确定,以便邻近锚节点对访问节点的节点身份、被访问文件以及访问节点对目标文件具有的各项操作权限进行验证。
具体地,访问节点中存储有对目标文件的多个操作码,这里的访问节点可能为电子文件的创建节点,也可能为被授予操作权限的其它节点。例如,步骤S802中的接收节点。
具体地,可以通过预配置的哈希算法来确定目标文件的文件哈希值、文件密钥哈希值和访问节点针对目标文件具有的多个第三待验证操作码哈希值。
在上述实施例中,步骤S904中依据第三响应信息对控制操作指向的被访问文件进行处理,包括:
步骤S9041(图中未示出):若第三响应信息包括针对查看权限的第一返回信息,则依据第一返回信息中多个加密片段各自对应的哈希值,确定多个加密片段各自对应的存储节点;
步骤S9042(图中未示出):基于多个加密片段各自对应的存储节点,获取多个加密片段;
步骤S9043(图中未示出):依据针对被访问文件的文件密钥对多个加密片段进行解密处理,并拼接为被存储文件,并对被访问文件进行输出显示处理。
由于在邻近锚节点在对访问节点的查看权限验证通过的情形下,访问节点接收到的第三响应信息中包括有多个加密片段各自对应的哈希值,因此,接收节点可以根据多个加密片段各自对应的哈希值,来确定多个加密片段各自对应的存储节点,从而与其进行通信,实现获取多个加密片段的目的。
在一些实施例中,在对被访问文件进行输出显示处理之后,步骤S904中依据第三响应信息对控制操作指向的被访问文件进行处理,还包括:
步骤S9044(图中未示出):依据第三响应信息,确定针对其他多种操作权限的第二返回信息;
步骤S9045(图中未示出):基于第二返回信息,确定访问节点对被访问文件具有的至少一种其他操作权限;
步骤S9046(图中未示出):依据访问节点对被访问文件具有的至少一种其他操作权限,对被访问文件进行处理。
在一些实施例中,步骤S9046依据访问节点对被访问文件具有的至少一种其他操作权限,对被访问文件进行处理,包括:
若访问节点对被访问文件具有打印权限,则启动针对被访问文件的打印功能,以在检测到打印操作时生成打印指令,将打印指令与访问节点连接的打印设备以完成对被访问文件的打印处理;
若访问节点对被访问文件具有销毁权限,则启动针对被访问文件的销毁功能,以在检测到销毁操作时生成销毁指令,并依据销毁指令对被访问文件进行销毁处理;
若访问节点对被访问文件具有文件编辑权限,则启动被访问文件的编辑功能,以在编辑完成并检测到存储操作时生成新的存储请求,将新的存储请求发送至邻近锚节点;
若访问节点对被访问文件具有文件输出权限,则启动针对被访问文件的输出功能,以在检测到文件输出操作时将被访问文件按照指定格式存储至访问节点本地。
在一些实施例中,步骤S9046基于第二返回信息,确定访问节点对被访问文件具有的至少一种其他操作权限,包括以下至少一个步骤:
若第二返回信息包括针对其他多种操作权限的多个标准操作码哈希值,则基于访问节点具有的对被访问文件的多个操作码,确定多个第三待验证操作码哈希值,将多个第三待验证操作码哈希值分别与多个标准操作码哈希值进行比较,并依据比较结果确定访问节点对被访问文件具有的至少一种操作权限;
若第二返回信息包括验证通过的操作权限的提示信息,则依据提示信息,确定访问节点对被访问文件具有的至少一种操作权限。
本申请实施例提供了两种确定方式来确定访问节点对被访问文件具有的至少一种操作权限。第一种是通过将访问节点本地具有的多个操作码进行哈希计算,得到多个第三待验证操作码哈希值,并将多个第三待验证操作码哈希值分别与邻近锚节点返回的针对其他多种操作权限的多个标准操作码哈希值进行比较,若一致,则确定访问节点具有与该标准操作码哈希值对应的操作权限,也就是说,由访问节点本地来完成确定对被访问文件的操作权限的功能,这种方式通过邻近锚节点和访问节点两次验证,提高了确定访问节点对被访问文件具有的至少一种操作权限的准确率;第二种则是通过邻近锚节点返回的验证通过的提示信息来直接确定,即由邻近锚节点完成确定访问节点对被访问文件具有的至少一种操作权限的功能,而访问节点本地直接依据提示信息启动对被访问文件的功能即可,这种方式缩短了访问节点本地的对被访问文件的处理时间,提高了对被访问文件的处理效率。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点,如图14所示,该方法包括:步骤S1001至S1004。
步骤S1001:检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点;
步骤S1002:若控制操作为针对节点身份的节点身份调整操作,则将操作节点作为请求节点,并确定控制操作对应的请求信息;
步骤S1004:依据请求信息和请求节点的节点身份信息,生成节点请求;
步骤S1004:将节点请求发送至邻近锚节点,以使邻近锚节点对请求节点进行审批处理。
在本申请实施例中,请求信息包括以下至少一项:
将请求节点在区块链中进行注册的请求信息;
将请求节点在区块链中进行注销的请求信息;
将请求节点升级为锚节点的请求信息。
本申请实施例通过针对节点身份的申请操作,构建了区块链中节点加入机制和退出机制,保证了区块链的灵活性,加强了对区块链中节点的管理。
为了对本申请提供的基于区块链的文件处理方法进行详细说明,下面以应用本申请提供的基于区块链的文件处理方法的系统进行说明。该应用本申请提供的基于区块链的文件处理方法的系统主要包括两类节点:普通节点和锚节点。在图15所示的系统中包括普通节点101、普通节点102、普通节点103、锚节点201、锚节点202和锚节点203。
下面以图16和图17分别对普通节点的控制操作以及邻近锚节点的处理流程进行说明。根据图16可知,普通节点既可以对电子文件进行操作,如对新建、查看、编辑、上传、转发、打印、销毁等文件操作进行管理,还可以对节点身份进行操作,如节点注册、注销、升级为锚节点等。根据图17可知,邻近锚节点对获取到的操作请求进行识别后,依据不同的请求确定不同的处理过程。
例如,普通节点101执行新建操作,创建一电子文件dd.doc,并指定dd.doc的各项操作权限各自对应的操作码。普通节点101还可以对dd.doc执行上传操作,因此,普通节点101检测到针对dd.doc的上传操作时,将dd.doc切分为多个片段,指定文件密钥,并利用该文件密钥对多个片段加密之后,通过哈希算法来进行计算,确定dd.doc的哈希相关信息,这里哈希相关信息包括dd.doc的文件哈希值、文件密钥哈希值、多个操作码哈希值、多个加密片段各自的哈希值以及前序文件哈希值和后序文件哈希值,由于dd.doc为首次上传的电子文件,因此,前序文件哈希值和后序文件哈希值均为空。普通节点101在生成存储请求求后发送至锚节点201(即普通节点101的邻近锚节点),锚节点201依据dd.doc的哈希相关信息生成文件哈希记录,并更新文件哈希表;同时指定多个存储节点,将多个存储节点作为响应信息发送至普通节点101,普通节点101接收到该响应信息后,将dd.doc的多个加密片段进行存储。
另外,普通节点101还可以向其他普通节点授权操作权限。例如,普通节点101向普通节点102授权查看权限。普通节点101(即转发节点)向锚节点201发送转发请求,这里的转发请求包括普通节点101的节点身份信息、dd.doc的文件哈希值、转发权限的操作码哈希值、普通节点102(即接收节点)的节点身份信息、被转发的查看权限的操作码哈希值。锚节点201对普通节点101的节点身份、dd.doc是否存在、普通节点101是否具有转发权限进行验证,验证通过后,若需要其他节点对该转发请求进行审批处理,则发送至审批节点进行审批处理,最终根据审批节点的审批结果来生成是否授权的响应信息。普通节点101接收到的响应信息为授权信息,那么普通节点将dd.doc的文件哈希值、文件密钥、查看权限的操作码以非对称加密方式发送给普通节点102。
由于查看权限为其他操作权限的基础,因此,若普通节点101检测到对dd.doc的启动操作,即查看操作,那么普通节点101将其对dd.doc具有的所有操作码进行哈希计算,确定dd.doc的哈希相关信息(文件哈希值、文件密钥哈希值、多个操作码哈希值),并依据的该普通节点101的节点身份信息和dd.doc的哈希相关信息生成文件操作请求,发送至锚节点201。锚节点201对普通节点101的节点身份、dd.doc是否存在、以及普通节点101对dd.doc是否具有查看权限和其他多种操作权限进行验证。若验证普通节点101对dd.doc具有查看权限,那么将文件哈希表中dd.doc的文件哈希记录中多个加密片段各自的哈希值、前序文件哈希值和后续文件哈希值作为返回信息,反馈至普通节点101,以便普通节点101根据接收到的返回信息来获取多个加密片段,并利用文件密钥解密后拼接为完整的dd.doc文件进行显示。同时,锚节点将dd.doc的文件哈希记录中多个操作码哈希值以及各自的验证结果作为返回信息反馈至普通节点101。因此,完整的dd.doc文件进行显示后,普通节点101将本地存储的多个操作码进行哈希计算,得到多个操作码哈希值,并将计算得到的多个操作码哈希值与锚节点反馈的多个操作码哈希值进行匹配,匹配成功则启动相应的功能。例如,若编辑操作码哈希值匹配成功,则启动dd.doc的编辑功能,并且编辑完成为ee.doc后,普通节点101再次生成存储请求发送至锚节点201,以使锚节点201进行处理,此时,普通节点再次发送的存储请求中ee.doc的哈希相关信息中就包括前序文件哈希值(即dd.doc的文件哈希值),这样邻近锚节点根据dd.doc的哈希相关信息来更新文件哈希表,这样文件哈希表中既包括dd.doc的文件哈希记录,也包括ee.doc的文件哈希记录,同时,锚节点201通过查询每个文件哈希记录中前序文件哈希值,可以确定dd.doc的后序文件为ee.doc,因此,将ee.doc的文件哈希值作为dd.doc的文件哈希记录中后序文件哈希值,添加至dd.doc的文件哈希记录中,最终得到图2所示的文件哈希表。另外,若dd.doc文件显示在普通节点101显示后,若打印操作码哈希值匹配成功,且普通节点101检测到打印指令时,将打印指令发送至与普通节点101连接的打印设备;若输出操作码哈希值匹配成功,且普通节点101检测到用户指定的格式输出指令时,按照用户指定的格式来输出dd.doc;若销毁操作码哈希值匹配成功,且普通节点101检测到销毁指令时,生成销毁请求并发送至锚节点201,以使锚节点201进行验证,验证通过普通节点的节点身份、是否具有销毁权限等,验证通过则销毁dd.doc的多个加密片段。
再如,普通节点103可以依据用户界面对用户的操作进行检测,若检测到注册请求,那么生成注册请求并发送至锚节点202(即普通节点102的邻近锚节点),以使锚节点202进行审批处理,审批通过,则与其他锚节点进行共识处理。
根据本申请的又一个实施例,提供了一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,该区块链包括多个普通节点和至少一个锚节点。如图18所示,该装置30包括:操作请求获取模块301、第一请求信息确定模块302、第一请求信息处理模块303、文件哈希表更新模块304、第一响应信息生成模块305以及第一响应信息处理模块306。
操作请求获取模块301,用于获取待处理的操作请求,确定操作请求对应的操作类型;
第一请求信息确定模块302,用于若操作请求对应的操作类型为针对电子文件的存储操作,则确定发起操作请求的发起节点以及操作请求对应的被存储文件的第一哈希相关信息;
第一请求信息处理模块303,用于基于第一哈希相关信息,生成针对被存储文件的文件哈希记录,并确定针对被存储文件的多个加密片段各自对应的多个存储节点;
文件哈希表更新模块304,用于依据针对被操作文件的文件哈希记录更新预存储的文件哈希表,文件哈希表包括多个已存储电子文件各自对应的文件哈希记录;
第一响应信息生成模块305,用于根据针对被操作文件的多个加密片段各自对应的多个存储节点,生成针对操作请求的第一响应信息;
第一响应信息处理模块306,用于将第一响应信息发送至发起节点,以使发起节点依据第一响应信息对被存储文件进行存储处理。
本申请实施例通过确定操作请求对应的操作类型,以便在操作请求对应的操作类型为对电子文件的存储操作时,确定发起操作请求的发起节点,并确定针对被操作文件的多个存储节点,从而依据多个存储节点生成第一响应信息,以将第一响应信息发送至发起节点,保证发起节点依据第一响应信息来将被存储文件以分片且加密的方式进行存储,既提高了电子文件的保密性,又防止了电子文件被恶意流转的问题;同时,通过确定被存储文件的第一哈希相关信息,为生成针对被存储文件的文件哈希记录提供数据基础,从而达到更新预存储的文件哈希表的目的,进而起到了对已存储电子文件的管理维护作用,实现对电子文件的跟踪管理目的。
进一步地,第一哈希相关信息包括:
被存储文件的文件哈希值;
被存储文件的文件密钥哈希值;
被存储文件的多个加密片段各自对应的哈希值;
被存储文件的多个标准操作码哈希值;以及
被存储文件对应的前一版本电子文件的第一文件哈希值。
进一步地,文件哈希表更新模块304还包括:后序文件确定子模块(图中未示出)和后序文件哈希添加子模块(图中未示出)。
后序文件确定子模块,用于依据文件哈希表,确定被存储文件对应的后一版本电子文件的第二文件哈希值;
后序文件哈希添加子模块,用于将第二文件哈希值添加至被存储文件的文件哈希记录。
进一步地,如图19所示,该装置还包括:第二请求信息确定模块312、第一节点身份验证模块313、第一权限验证模块314、第二响应信息生成模块315以及第二响应信息处理模块316。
第二请求信息确定模块312,用于若操作请求对应的操作类型为针对已存储电子文件的操作权限的转发操作,则确定操作请求对应的转发相关信息,其中,转发相关信息包括发起操作请求的转发节点的节点身份信息、操作请求指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息以及被转发的操作权限对应的第一待验证操作码哈希值,第二哈希相关信息包括目标文件的文件哈希值、目标文件的文件密钥哈希值和目标文件的转发操作权限对应的第二待验证操作码哈希值;
第一节点身份验证模块313,用于对转发节点的节点身份进行验证;
第一权限验证模块314,用于若转发节点的节点身份通过验证,则将第二哈希相关信息在文件哈希表中进行查询,并依据查询结果判断转发节点对目标文件是否具有转发权限;
第二响应信息生成模块315,用于若转发节点对目标文件具有转发权限,则对操作请求进行审批处理,并依据审批处理结果生成针对操作请求的第二响应信息;
第二响应信息处理模块316,用于将第二响应信息发送至转发节点,以使转发节点依据第二响应信息对接收节点进行操作权限的转发处理。
进一步地,第二响应信息生成模块315包括:审批节点确定单元(图中未示出)和审批节点处理单元(图中未示出)。
审批节点确定单元,用于若转发节点对应有针对转发权限的至少一个审批节点,则将操作请求转发至至少一个审批节点;
审批节点处理单元,用于获取至少一个审批节点对操作请求的反馈信息,依据反馈信息确定审批处理结果。
进一步地,如图20所示,该装置还包括:第三请求信息确定模块322(图中未示出)、第二节点身份验证模块323、第二权限验证模块324、第三响应信息生成模块325以及第三响应信息处理模块326。
第三请求信息确定模块322,用于若操作请求对应的操作类型为针对已存储电子文件的文件控制操作,则确定发起操作请求的访问节点以及操作请求指向的被访问文件的第三哈希相关信息;
第二节点身份验证模块323,用于对访问节点的节点身份进行验证;
第二权限验证模块324,用于若访问节点的节点身份通过验证,则将第三哈希相关信息在文件哈希表中进行查询,并依据查询结果确定访问节点对被访问文件具有的各项操作权限;
第三响应信息生成模块325,用于依据访问节点对被访问文件具有的各项操作权限,确定针对操作请求的第三响应信息;
第三响应信息处理模块326,用于将第三响应信息发送至访问节点,以使访问节点依据第三响应信息进行处理。
进一步地,第三哈希相关信息包括:
被访问文件的文件哈希值;
被访问文件的文件密钥哈希值;以及
访问节点对被访问文件具有的多个第三待验证操作码哈希值。
进一步地,第三响应信息生成模块325包括:哈希值比较子模块(图中未示出)、查看权限确定子模块(图中未示出)、返回信息确定子模块(图中未示出)以及第三响应信息确定子模块(图中未示出)。
哈希值比较子模块,用于基于被访问文件的文件哈希记录,确定查看权限对应的标准操作码哈希值以及针对其它多种操作权限的多个标准操作码哈希值;
查看权限确定子模块,用于将查看权限对应的标准操作码哈希值分别与多个第三待验证操作码哈希进行匹配,依据匹配结果来确定访问节点对被访问文件是否具有查看权限;
返回信息确定子模块,用于若确定访问节点对被访问文件具有查看权限,则依据被访问文件对应的文件哈希记录,确定针对查看权限的第一返回信息,并依据针对其它多种操作权限的多个标准操作码哈希值以及多个第三待验证操作码哈希值,确定针对其它多种操作权限的第二返回信息,其中,第一返回信息包括被访问文件对应的文件哈希记录中第一文件哈希值、第二文件哈希值、多个加密片段各自对应的哈希值;
第三响应信息确定子模块,用于依据第一返回信息和第二返回信息,确定针对操作请求的第三响应信息。
更进一步,返回信息确定子模块包括以下至少一个单元:第一确定单元(图中未示出)和第二确定单元(图中未示出)。
第一确定单元,用于依据针对其它多种操作权限的多个标准操作码哈希值,确定针对其它多种操作权限的第二返回信息;
第二确定单元,用于将针对其它多种操作权限的多个标准操作码哈希值分别与多个第三待验证操作码哈希值进行匹配,依据匹配结果确定针对其它多种操作权限的第二返回信息。
进一步地,该装置还包括:存储节点确定模块(图中未示出)、异常检测模块和异常处理模块(图中未示出)。
存储节点确定模块,用于基于文件哈希表中多个已存储电子文件各自对应的文件哈希值,确定多个已存储电子文件的多个加密片段各自对应的多个指定节点;
异常检测模块,用于若任一已存储电子文件对应的任一指定节点发生异常,则确定异常类型;
异常处理模块,用于依据异常类型进行相应处理。
进一步地,异常处理模块包括:节点异常处理单元(图中未示出)和文件异常处理单元(图中未示出)。
节点异常处理单元,用于若异常类型为节点异常,则确定新节点,并依据新节点对发生节点发异常的旧节点进行替代处理;
文件异常处理单元,用于若异常类型为片段异常,则确定正常片段,并依据正常片段对发生片段异常的加密片段进行替代处理。
进一步地,如图21所示,该装置还包括:节点请求识别模块332和节点请求处理模块333。
节点请求识别模块332,用于若操作请求对应的操作类型为针对节点身份的节点身份调整操作,则确定发起操作请求的请求节点;
节点请求处理模块333,用于依据操作请求对请求节点的节点身份进行处理。
进一步地,节点请求处理模块包括以下至少一个单元:
注册请求处理单元(图中未示出),用于若操作请求为注册请求,则将请求节点在区块链中进行注册处理,并依据注册处理结果更新注册节点列表;
注销请求处理单元(图中未示出),用于若操作请求为注销请求,则将请求节点在区块链中进行注销处理,并依据注销处理结果更新注册节点列表和注销节点列表;
升级请求处理模块(图中未示出),用于若操作请求为将请求节点升级为锚节点的升级请求,则对请求节点升级为锚节点进行审批处理,并依据审批处理结果更新注册节点列表;
其中,注册节点列表包括多个已注册节点各自对应的节点身份信息,注销节点列表包括多个被注销节点各自对应的节点身份信息。
进一步地,该装置还包括:
事件记录生成模块(图中未示出),用于检测到针对操作请求的处理完成信息时,依据操作请求对应的操作类型生成操作事件记录,操作事件记录包括文件操作事件记录、权限操作事件记录中至少一项;
事件记录链更新模块(图中未示出),用于依据操作事件记录,更新预存储的事件记录链。
进一步地,针对文件操作事件的记录包括前一记录的哈希值、针对文件操作事件的记录的时间戳、文档事件标签、执行操作的节点、被操作文件的文件哈希值以及文件操作类型;针对权限操作事件的记录包括前一记录的哈希值、针对权限操作事件的记录的时间戳、权限事件标签、执行操作的节点、被操作的节点以及权限操作类型。
进一步地,事件记录链更新模块还包括:
事件区块生成子模块(图中未示出),用于检测到操作事件记录的数量达到预定数值时,生成包括前一区块头哈希值的多个事件区块,以依据多个事件区块各自的前一区块头哈希值来形成事件区块链。
本申请实施例的基于区块链的文件处理装置可执行本申请上述图1至图10所示的基于区块链的文件处理方法,其实现原理相类似,此处不再赘述。
根据本申请的又一个实施例,提供一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,区块链包括多个普通节点和至少一个锚节点。如图22所示,该装置40包括:控制操作检测模块401、第一操作识别模块402、存储请求生成模块403、存储请求发送模块404以及第一响应信息获取模块405,其中,
控制操作检测模块401,用于检测到控制操作时,确定控制操作对应的操作节点以及针对操作节点的邻近锚节点;
第一操作识别模块402,用于若控制操作为针对电子文件的存储操作,则将操作节点确定为发起节点,并确定被存储文件的第一哈希相关信息;
存储请求生成模块403,用于依据发起节点的节点身份信息和第一哈希相关信息,生成存储请求;
存储请求发送模块404,用于将存储请求发送至邻近锚节点,并获取邻近锚节点针对存储请求反馈的第一响应信息;
第一响应信息获取模块405,用于基于第一响应信息对被存储文件进行存储处理。
本申请实施例,在检测到控制操作时,通过确定操作节点和邻近锚节点,这样既确定了生成存储请求的发起节点,也确定了对存储请求进行处理的邻近锚节点,使得发起节点能够获取到针对存储请求的第一响应信息,为发起节点对被存储文件进行存储提供了确定存储节点的依据,起到了将电子文件分片加密存储的作用,实现了电子文件的可靠存储的目的,保证了对区块链中各节点对电子文件的存储管理。
进一步地,第一操作识别模块包括:文件处理子模块(图中未示出)、片段加密子模块(图中未示出)、哈希值确定模块(图中未示出)、关联文件确定子模块(图中未示出)和哈希信息确定子模块(图中未示出)。
文件处理子模块,用于将被存储文件切分为多个文件片段,并确定针对被存储文件的文件密钥、多种操作权限各自对应的操作码;
片段加密子模块,用于依据文件密钥,对多个文件片段进行加密处理,得到多个加密片段;
哈希值确定模块,用于基于哈希算法,确定被存储文件的文件哈希信息,文件哈希信息包括文件哈希值、文件密钥哈希值、多个加密片段各自对应的哈希值和多种操作权限各自对应的标准操作码哈希值;
关联文件确定子模块,用于确定被存储文件对应的前一版本电子文件的第一文件哈希值;
哈希信息确定子模块,用于依据被存储文件的文件哈希信息和第一文件哈希值,确定被存储文件的第一哈希相关信息。
进一步地,第一响应信息获取模块405包括;存储节点确定子模块(图中未示出)和加密片段存储子模块(图中未示出)。
存储节点确定子模块,用于基于第一响应信息,确定邻近锚节点对被存储文件的多个加密片段分别指定的多个存储节点;
加密片段存储子模块,用于将被存储文件的多个加密片段存储至各自对应的多个存储节点。
进一步地,如图23所示,该装置还包括:第二操作识别模块412、转发请求生成模块413和第二响应信息获取模块414。
第二操作识别模块412,用于若控制操作为针对已存储电子文件的操作权限的转发操作,则将操作节点作为转发节点,并确定转发相关信息,转发相关信息包括转发节点的节点身份信息、转发操作指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息和被转发的操作权限对应的第一待验证操作码哈希值,其中,第二哈希相关信息包括目标文件的文件哈希值、文件密钥哈希值和转发权限对应的第二待验证操作码哈希值;
转发请求生成模块413,用于依据转发相关信息生成转发请求,并将转发请求发送至邻近锚节点;
第二响应信息获取模块414,用于获取邻近锚节点针对转发请求反馈的第二响应信息,并依据第二响应信息进行处理。
更进一步,第二响应信息获取模块包括:
权限转发子模块(图中未示出),用于若第二响应信息包括对转发节点向接收节点转发的操作权限的授权确认信息,则将目标文件对应的文件哈希值、文件密钥、被转发的操作权限的操作码加密处理后发送至接收节点。
进一步地,如图24所示,该装置还包括:第三操作识别模块422、文件控制请求生成模块423和第三响应信息获取模块424。
第三操作识别模块422,用于若控制操作为针对已存储电子文件的文件控制操作,则将操作节点作为访问节点,并确定文件操作相关信息;
文件控制请求生成模块423,用于依据文件操作相关信息生成文件控制请求,并将文件控制请求发送至邻近锚节点;
第三响应信息获取模块424,用于获取邻近锚节点针对操作请求反馈的第三响应信息,并依据第三响应信息对控制操作指向的被访问文件进行处理。
进一步地,第三操作识别模块422包括:第三哈希信息确定子模块(图中未示出)和文件操作相关信息确定子模块(图中未示出)
第三哈希信息确定子模块,用于确定被访问文件的第三哈希相关信息,其中,第三哈希相关信息包括被访问文件的文件哈希值、文件密钥哈希值以及访问节点针对被访问文件具有的多个第三待验证操作码哈希值;
文件操作相关信息确定子模块,用于依据第三哈希相关信息和访问节点的节点身份信息,确定文件操作相关信息。
进一步地,第三响应信息获取模块424包括:存储节点确定子模块(图中未示出)、加密片段获取子模块(图中未示)和文件显示子模块(图中未示出)。
存储节点确定子模块,用于若第三响应信息包括针对查看权限的第一返回信息,则依据第一返回信息中多个加密片段各自对应的哈希值,确定多个加密片段各自对应的多个存储节点;
加密片段获取子模块,用于基于多个加密片段各自对应的多个存储节点,获取多个加密片段;
文件显示子模块,用于依据针对被访问文件的文件密钥对多个加密片段进行解密处理,并拼接为被存储文件,并对被访问文件进行输出显示处理。
进一步地,在对被访问文件进行输出显示处理之后,第三响应信息获取模块424还包括:返回信息确定子模块(图中未示出)、操作权限确定子模块(图中未示出)以及文件处理子模块(图中未示出)。
返回信息确定子模块,用于依据第三响应信息,确定针对其他多种操作权限的第二返回信息;
操作权限确定子模块,用于基于第二返回信息,确定访问节点对被访问文件具有的至少一种其他操作权限;
文件处理子模块,用于依据访问节点对被访问文件具有的至少一种其他操作权限,对被访问文件进行处理。
进一步地,文件处理子模块包括以下至少一个单元:打印处理单元(图中未示出)、销毁处理单元(图中未示出)、编辑处理单元(图中未示出)以及输出处理单元(图中未示出)。
打印处理单元,用于若访问节点对被访问文件具有打印权限,则启动针对被访问文件的打印功能,以在检测到打印操作时生成打印指令,将打印指令与访问节点连接的打印设备以完成对被访问文件的打印处理;
销毁处理单元,用于若访问节点对被访问文件具有销毁权限,则启动针对被访问文件的销毁功能,以在检测到销毁操作时生成销毁指令,并依据销毁指令对被访问文件进行销毁处理;
编辑处理单元,用于若访问节点对被访问文件具有文件编辑权限,则启动被访问文件的编辑功能,以在编辑完成并检测到存储操作时生成新的存储请求,将新的存储请求发送至邻近锚节点;
输出处理单元,用于若访问节点对被访问文件具有文件输出权限,则启动针对被访问文件的输出功能,以在检测到文件输出操作时将被访问文件按照指定格式存储至访问节点本地。
进一步地,操作权限确定子模块包括以下至少一个单元:
第一权限确定单元,用于若第二返回信息包括针对其他多种操作权限的多个标准操作码哈希值,则基于访问节点具有的对被访问文件的多个操作码,确定多个第三待验证操作码哈希值,将多个第三待验证操作码哈希值分别与多个标准操作码哈希值进行比较,并依据比较结果确定访问节点对被访问文件具有的至少一种操作权限;
第二权限确定单元,用于若第二返回信息包括针对其他多种操作权限的验证提示信息,则依据通过验证的验证提示信息,确定访问节点对被访问文件具有的至少一种操作权限。
进一步地,如图25所示,该装置还包括:节点操作识别模块432、节点请求生成模块433和节点请求处理模块434。
节点操作识别模块432,用于若控制操作为针对节点身份的节点身份调整操作,则将控制节点作为请求节点,并确定控制操作对应的请求信息;
节点请求生成模块433,用于依据请求信息和请求节点的节点身份信息,生成节点请求;
节点请求处理模块434,用于将将节点请求发送至邻近锚节点,以使邻近锚节点对请求节点进行审批处理。
进一步地,请求信息包括以下至少一项:
将请求节点在区块链中进行注册的请求信息;
将请求节点在区块链中进行注销的请求信息;
将请求节点升级为锚节点的请求信息。
本申请实施例的基于区块链的文件处理装置可执行图11至图14基于区块链的文件处理方法,其实现原理相类似,此处不再赘述。
本申请又一实施例提供了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时以实现上述基于区块链的文件处理方法。
具体地,处理器可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
具体地,处理器通过总线与存储器连接,总线可包括一通路,以用于传送信息。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
存储器可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器用于存储执行本申请方案的计算机程序的代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,以实现图18-21所示实施提供的基于区块链的文件处理装置的动作。
本申请实施例通过确定操求对应的操作类型,以便在操作请求对应的操作类型为对电子文件的存储操作的情形时,确定发起操作请求的发起节点,并确定针对被存储文件的多个存储节点,从而依据多个存储节点生成第一响应信息,以将第一响应信息发送至发起节点,以便发起节点依据第一响应信息来完成文件存储的目的;同时,文件哈希表的设置为查找电子文件的加密片段的存储节点提供了哈希值依据,起到了通过文件哈希表对已存储电子文件的管理维护作用,实现对电子文件的跟踪管理目的。
本申请又一实施例提供了一种终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时以实现上述基于区块链的文件处理方法。
具体地,处理器可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
具体地,处理器通过总线与存储器连接,总线可包括一通路,以用于传送信息。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
存储器可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器用于存储执行本申请方案的计算机程序的代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,以实现图22-25所示实施例提供的基于区块链的文件处理装置的动作。
本申请实施例,在检测到控制操作时,通过确定操作节点和邻近锚节点,这样既确定了生成存储请求的发起节点,也确定了对存储请求进行处理的邻近锚节点,使得发起节点能够获取到针对存储请求的第一响应信息,为发起节点对被存储文件进行存储提供了确定存储节点的依据,起到了将电子文件分片加密存储的作用,实现了电子文件的可靠存储的目的,保证了对区块链中各节点对电子文件的存储管理。
本申请又一实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行上述图1至图10所示的基于区块链的文件处理方法。
本申请实施例通过确定操求对应的操作类型,以便在操作请求对应的操作类型为对电子文件的存储操作的情形时,确定发起操作请求的发起节点,并确定针对被存储文件的多个存储节点,从而依据多个存储节点生成第一响应信息,以将第一响应信息发送至发起节点,以便发起节点依据第一响应信息来完成文件存储的目的;同时,文件哈希表的设置为查找电子文件的加密片段的存储节点提供了哈希值依据,起到了通过文件哈希表对已存储电子文件的管理维护作用,实现对电子文件的跟踪管理目的。
本申请又一实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行上述图11至图14所示的基于区块链的文件处理方法。
本申请实施例,在检测到控制操作时,通过确定操作节点和邻近锚节点,这样既确定了生成存储请求的发起节点,也确定了对存储请求进行处理的邻近锚节点,使得发起节点能够获取到针对存储请求的第一响应信息,为发起节点对被存储文件进行存储提供了确定存储节点的依据,起到了将电子文件分片加密存储的作用,实现了电子文件的可靠存储的目的,保证了对区块链中各节点对电子文件的存储管理。
以上所描述的装置实施例仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (34)
1.一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,其特征在于,所述区块链包括多个普通节点和至少一个锚节点,所述方法包括:
获取待处理的操作请求,确定所述操作请求对应的操作类型;
若所述操作请求对应的操作类型为针对电子文件的存储操作,则确定发起所述操作请求的发起节点以及所述操作请求对应的被存储文件的第一哈希相关信息;
基于所述第一哈希相关信息,生成针对所述被存储文件的文件哈希记录,并确定针对所述被存储文件的多个加密片段各自对应的多个存储节点;
依据针对所述被操作文件的文件哈希记录更新预存储的文件哈希表,所述文件哈希表包括多个已存储电子文件各自对应的文件哈希记录;
根据针对所述被操作文件的多个加密片段各自对应的多个存储节点,生成针对所述操作请求的第一响应信息;
将所述第一响应信息发送至所述发起节点,以使所述发起节点依据所述第一响应信息对所述被存储文件进行存储处理。
2.根据权利要求1所述的方法,其特征在于,所述第一哈希相关信息包括:
所述被存储文件的文件哈希值;
所述被存储文件的文件密钥哈希值;
所述被存储文件的多个加密片段各自对应的哈希值;
所述被存储文件的多个标准操作码哈希值;以及
所述被存储文件对应的前一版本电子文件的第一文件哈希值。
3.根据权利要求1所述的方法,其特征在于,所述依据针对所述被存储文件的文件哈希记录更新预存储的文件哈希表之后,所述方法还包括:
依据所述文件哈希表,确定所述被存储文件对应的后一版本电子文件的第二文件哈希值;
将所述第二文件哈希值添加至所述被存储文件的文件哈希记录。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述操作请求对应的操作类型为针对已存储电子文件的操作权限的转发操作,则确定所述操作请求对应的转发相关信息,其中,所述转发相关信息包括发起操作请求的转发节点的节点身份信息、所述操作请求指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息以及被转发的操作权限对应的第一待验证操作码哈希值,所述第二哈希相关信息包括所述目标文件的文件哈希值、所述目标文件的文件密钥哈希值和所述目标文件的转发操作权限对应的第二待验证操作码哈希值;
对所述转发节点的节点身份进行验证;
若所述转发节点的节点身份通过验证,则将所述第二哈希相关信息在所述文件哈希表中进行查询,并依据查询结果判断所述转发节点对所述目标文件是否具有转发权限;
若所述转发节点对所述目标文件具有转发权限,则对所述操作请求进行审批处理,并依据审批处理结果生成针对所述操作请求的第二响应信息;
将所述第二响应信息发送至所述转发节点,以使所述转发节点依据所述第二响应信息对所述接收节点进行操作权限的转发处理。
5.根据权利要求4所述的方法,其特征在于,所述对所述操作请求进行审批处理,包括:
若所述转发节点对应有针对转发权限的至少一个审批节点,则将所述操作请求转发至所述至少一个审批节点;
获取所述至少一个审批节点对所述操作请求的反馈信息,依据所述反馈信息确定所述审批处理结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述操作请求对应的操作类型为针对已存储电子文件的文件控制操作,则确定发起所述操作请求的访问节点以及所述操作请求指向的被访问文件的第三哈希相关信息;
对所述访问节点的节点身份进行验证;
若所述访问节点的节点身份通过验证,则将所述第三哈希相关信息在所述文件哈希表中进行查询,并依据查询结果确定所述访问节点对所述被访问文件具有的各项操作权限;
依据所述访问节点对所述被访问文件具有的各项操作权限,确定针对所述操作请求的第三响应信息;
将所述第三响应信息发送至所述访问节点,以使所述访问节点依据所述第三响应信息进行处理;
所述第三哈希相关信息包括:
所述被访问文件的文件哈希值;
所述被访问文件的文件密钥哈希值;
所述访问节点对所述被访问文件具有的多个第三待验证操作码哈希值。
7.根据权利要求6所述的方法,其特征在于,所述依据所述访问节点对所述被访问文件具有的各项操作权限,确定针对所述操作请求的第三响应信息,包括:
基于所述被访问文件的文件哈希记录,确定查看权限对应的标准操作码哈希值以及针对其它多种操作权限的多个标准操作码哈希值;
将查看权限对应的标准操作码哈希值分别与多个第三待验证操作码哈希进行匹配,依据匹配结果来确定所述访问节点对所述被访问文件是否具有查看权限;
若确定所述访问节点对所述被访问文件具有查看权限,则依据所述被访问文件对应的文件哈希记录,确定针对查看权限的第一返回信息,并依据针对其它多种操作权限的多个标准操作码哈希值以及多个第三待验证操作码哈希值,确定针对其它多种操作权限的第二返回信息,其中,所述第一返回信息包括所述被访问文件对应的文件哈希记录中第一文件哈希值、第二文件哈希值、多个加密片段各自对应的哈希值;
依据所述第一返回信息和所述第二返回信息,确定针对所述操作请求的第三响应信息。
8.根据权利要求7所述的方法,其特征在于,所述依据针对其它多种操作权限的多个标准操作码哈希值以及多个第三待验证操作码哈希值,确定针对其它多种操作权限的第二返回信息,包括以下至少一个步骤:
依据针对其它多种操作权限的多个标准操作码哈希值,确定针对其它多种操作权限的第二返回信息;
将针对其它多种操作权限的多个标准操作码哈希值分别与多个第三待验证操作码哈希值进行匹配,依据匹配结果确定针对其它多种操作权限的第二返回信息。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述文件哈希表中多个已存储电子文件各自对应的文件哈希值,确定多个已存储电子文件的多个加密片段各自对应的多个存储节点;
若任一已存储电子文件对应的任一存储节点发生异常,则确定异常类型;
依据所述异常类型进行相应处理。
10.根据权利要求9所述的方法,其特征在于,所述依据所述异常类型进行相应处理,包括:
若所述异常类型为节点异常,则确定新节点,并依据所述新节点对发生节点发异常的旧节点进行替代处理;
若所述异常类型为片段异常,则确定正常片段,并依据所述正常片段对发生片段异常的加密片段进行替代处理。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述操作请求对应的操作类型为针对节点身份的节点身份调整操作,则确定发起所述操作请求的请求节点;
依据所述操作请求对所述请求节点的节点身份进行处理。
12.根据权利要求11所述的方法,其特征在于,所述依据所述操作请求对所述请求节点的节点身份进行处理,包括以下至少一个步骤:
若所述操作请求为注册请求,则将所述请求节点在所述区块链中进行注册处理,并依据注册处理结果更新注册节点列表;
若所述操作请求为注销请求,则将所述请求节点在所述区块链中进行注销处理,并依据注销处理结果更新注册节点列表和注销节点列表;
若所述操作请求为将所述请求节点升级为锚节点的升级请求,则对所述请求节点升级为锚节点进行审批处理,并依据所述审批处理结果更新注册节点列表;
其中,所述注册节点列表包括多个已注册节点各自对应的节点身份信息,所述注销节点列表包括多个被注销节点各自对应的节点身份信息。
13.根据权利要求1、4、6或11所述的方法,其特征在于,所述方法还包括:
检测到针对所述操作请求的处理完成信息时,依据所述操作请求对应的操作类型生成操作事件记录,所述操作事件记录包括文件操作事件记录、权限操作事件记录中至少一项;
依据所述操作事件记录,更新预存储的事件记录链。
14.根据权利要求13所述的方法,其特征在于,
所述文件操作事件记录包括:前一记录的哈希值、针对文件操作事件记录的时间戳、文档事件标签、执行操作的节点、被操作文件的文件哈希值以及文件操作类型;
所述权限操作事件记录包括:前一记录的哈希值、针对权限操作事件的记录的时间戳、权限事件标签、执行操作的节点、被操作的节点以及权限操作类型。
15.根据权利要求13所述的方法,其特征在于,所述依据所述操作事件记录,更新预存储的事件记录链之后,还包括:
检测到所述操作事件记录的数量达到预定数值时,生成包括前一区块头哈希值的多个事件区块,以依据多个事件区块各自的前一区块头哈希值来形成事件区块链。
16.一种基于区块链的文件处理方法,应用于对电子文件进行管理的区块链,其特征在于,所述区块链包括多个普通节点和至少一个锚节点,所述方法包括:
检测到控制操作时,确定所述控制操作对应的操作节点以及针对所述操作节点的邻近锚节点;
若所述控制操作为针对电子文件的存储操作,则将所述操作节点确定为发起节点,并确定被存储文件的第一哈希相关信息;
依据所述发起节点的节点身份信息和所述第一哈希相关信息,生成存储请求;
将所述存储请求发送至所述邻近锚节点,并获取所述邻近锚节点针对所述存储请求反馈的第一响应信息;
基于所述第一响应信息对所述被存储文件进行存储处理。
17.根据权利要求16所述的方法,其特征在于,所述确定所述被存储文件的第一哈希相关信息,包括:
将所述被存储文件切分为多个文件片段,并确定针对所述被存储文件的文件密钥、多种操作权限各自对应的操作码;
依据所述文件密钥,对多个所述文件片段进行加密处理,得到多个加密片段;
基于哈希算法,确定所述被存储文件的文件哈希信息,所述文件哈希信息包括文件哈希值、文件密钥哈希值、多个加密片段各自对应的哈希值和多种操作权限各自对应的标准操作码哈希值;
确定所述被存储文件对应的前一版本电子文件的第一文件哈希值;
依据所述被存储文件的文件哈希信息和所述第一文件哈希值,确定所述被存储文件的第一哈希相关信息。
18.根据权利要求16所述的方法,其特征在于,所述基于所述第一响应信息对所述被存储文件进行存储处理,包括;
基于所述第一响应信息,确定所述邻近锚节点对被存储文件的多个加密片段分别指定的多个存储节点;
将所述被存储文件的多个加密片段存储至各自对应的多个所述存储节点。
19.根据权利要求16所述的方法,其特征在于,所述方法还包括:
若所述控制操作为针对已存储电子文件的操作权限的转发操作,则将所述操作节点作为转发节点,并确定转发相关信息,所述转发相关信息包括所述转发节点的节点身份信息、所述转发操作指向的目标文件的第二哈希相关信息、被授予操作权限的接收节点的节点身份信息和被转发的操作权限对应的第一待验证操作码哈希值,其中,所述第二哈希相关信息包括所述目标文件的文件哈希值、文件密钥哈希值和转发权限对应的第二待验证操作码哈希值;
依据所述转发相关信息生成转发请求,并将所述转发请求发送至所述邻近锚节点;
获取所述邻近锚节点针对所述转发请求反馈的第二响应信息,并依据所述第二响应信息进行处理。
20.根据权利要求19所述的方法,其特征在于,所述依据所述第二响应信息进行处理,包括:
若所述第二响应信息包括对所述操作请求的授权确认信息,则将所述目标文件对应的文件哈希值、文件密钥、被转发的操作权限对应的操作码加密处理后发送至所述接收节点。
21.根据权利要求16所述的方法,其特征在于,所述方法还包括:
若所述控制操作为针对已存储电子文件的文件控制操作,则将所述操作节点作为访问节点,并确定文件操作相关信息;
依据所述文件操作相关信息生成文件控制请求,并将所述文件控制请求发送至所述邻近锚节点;
获取所述邻近锚节点针对所述操作请求反馈的第三响应信息,并依据所述第三响应信息对所述控制操作指向的被访问文件进行处理。
22.根据权利要求21所述的方法,其特征在于,所述确定文件操作相关信息,包括:
确定所述被访问文件的第三哈希相关信息,其中,所述第三哈希相关信息包括所述被访问文件的文件哈希值、文件密钥哈希值以及所述访问节点针对所述被访问文件具有的多个第三待验证操作码哈希值;
依据所述第三哈希相关信息和所述访问节点的节点身份信息,确定所述文件操作相关信息。
23.根据权利要求21所述的方法,其特征在于,所述依据所述第三响应信息对所述控制操作指向的被访问文件进行处理,包括:
若所述第三响应信息包括针对查看权限的第一返回信息,则依据所述第一返回信息中多个加密片段各自对应的哈希值,确定多个加密片段各自对应的多个存储节点;
基于多个加密片段各自对应的多个存储节点,获取多个加密片段;
依据针对所述被访问文件的文件密钥对多个所述加密片段进行解密处理,并拼接为所述被存储文件,并对所述被访问文件进行输出显示处理。
24.根据权利要求23所述的方法,其特征在于,在对所述被访问文件进行输出显示处理之后,所述依据所述第三响应信息对所述控制操作指向的被访问文件进行处理,还包括:
依据所述第三响应信息,确定针对其他多种操作权限的第二返回信息;
基于所述第二返回信息,确定所述访问节点对所述被访问文件具有的至少一种其他操作权限;
依据所述访问节点对所述被访问文件具有的至少一种其他操作权限,对所述被访问文件进行处理。
25.根据权利要求24所述的方法,其特征在于,所述依据所述访问节点对所述被访问文件具有的至少一种其他操作权限,对所述被访问文件进行处理,包括:
若所述访问节点对所述被访问文件具有打印权限,则启动针对所述被访问文件的打印功能,以在检测到打印操作时生成打印指令,将所述打印指令与所述访问节点连接的打印设备以完成对所述被访问文件的打印处理;
若所述访问节点对所述被访问文件具有销毁权限,则启动针对所述被访问文件的销毁功能,以在检测到销毁操作时生成销毁指令,并依据所述销毁指令对所述被访问文件进行销毁处理;
若所述访问节点对所述被访问文件具有文件编辑权限,则启动所述被访问文件的编辑功能,以在编辑完成并检测到存储操作时生成新的存储请求,将所述新的存储请求发送至所述邻近锚节点;
若所述访问节点对所述被访问文件具有文件输出权限,则启动针对所述被访问文件的输出功能,以在检测到文件输出操作时将所述被访问文件按照指定格式存储至所述访问节点本地。
26.根据权利要求24所述的方法,其特征在于,所述基于所述第二返回信息,确定所述访问节点对所述被访问文件具有的至少一种其他操作权限,包括以下至少一个步骤:
若所述第二返回信息包括针对其他多种操作权限的多个标准操作码哈希值,则基于所述访问节点具有的对所述被访问文件的多个操作码,确定多个第三待验证操作码哈希值,将多个所述第三待验证操作码哈希值分别与多个所述标准操作码哈希值进行比较,并依据比较结果确定所述访问节点对所述被访问文件具有的至少一种操作权限;
若所述第二返回信息包括针对其他多种操作权限的验证提示信息,则依据通过验证的验证提示信息,确定所述访问节点对所述被访问文件具有的至少一种操作权限。
27.根据权利要求16所述的方法,其特征在于,所述方法还包括:
若所述控制操作为针对节点身份的节点身份调整操作,则将所述控制节点作为请求节点,并确定所述控制操作对应的请求信息;
依据所述请求信息和所述请求节点的节点身份信息,生成节点请求;
将所述节点请求发送至所述邻近锚节点,以使所述邻近锚节点对所述请求节点进行审批处理。
28.根据权利要求27所述的方法,其特征在于,所述请求信息包括以下至少一项:
将所述请求节点在所述区块链中进行注册的请求信息;
将所述请求节点在所述区块链中进行注销的请求信息;
将所述请求节点升级为锚节点的请求信息。
29.一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,其特征在于,所述区块链包括多个普通节点和至少一个锚节点,该装置包括:操作请求获取模块、第一请求信息确定模块、第一请求信息处理模块、文件哈希表更新模块、第一响应信息生成模块以及第一响应信息处理模块,其中,
所述操作请求获取模块,用于获取待处理的操作请求,确定所述操作请求对应的操作类型;
所述第一请求信息确定模块,用于若所述操作请求对应的操作类型为针对电子文件的存储操作,则确定发起所述操作请求的发起节点以及所述操作请求对应的被存储文件的第一哈希相关信息;
所述第一请求信息处理模块,用于基于所述第一哈希相关信息,生成针对所述被存储文件的文件哈希记录,并确定针对所述被存储文件的多个加密片段各自对应的多个存储节点;
所述文件哈希表更新模块,用于依据针对所述被操作文件的文件哈希记录更新预存储的文件哈希表,所述文件哈希表包括多个已存储电子文件各自对应的文件哈希记录;
所述第一响应信息生成模块,用于根据针对所述被操作文件的多个加密片段各自对应的多个存储节点,生成针对所述操作请求的第一响应信息;
所述第一响应信息处理模块,用于将所述第一响应信息发送至所述发起节点,以使所述发起节点依据所述第一响应信息对所述被存储文件进行存储处理。
30.一种基于区块链的文件处理装置,应用于对电子文件进行管理的区块链,其特征在于,所述区块链包括多个普通节点和至少一个锚节点,该装置包括:控制操作检测模块、第一操作识别模块、存储请求生成模块、存储请求发送模块以及第一响应信息获取模块,其中,
所述控制操作检测模块,用于检测到控制操作时,确定所述控制操作对应的操作节点以及针对所述操作节点的邻近锚节点;
所述第一操作识别模块,用于若所述控制操作为针对电子文件的存储操作,则将所述操作节点确定为发起节点,并确定被存储文件的第一哈希相关信息;
所述存储请求生成模块,用于依据所述发起节点的节点身份信息和所述被存储文件的哈希信息,生成存储请求;
所述存储请求发送模块,用于将所述存储请求发送至所述邻近锚节点,并获取所述邻近锚节点针对所述存储请求反馈的第一响应信息;
所述第一响应信息获取模块,用于基于所述第一响应信息对所述被存储文件进行存储处理。
31.一种终端,包括:存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至15中任一项所述的方法。
32.一种终端,包括:存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要16至28中任一项所述的方法。
33.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至15中任一项所述的方法。
34.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求16至28中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010167096.6A CN111367877B (zh) | 2020-03-11 | 2020-03-11 | 基于区块链的文件处理方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010167096.6A CN111367877B (zh) | 2020-03-11 | 2020-03-11 | 基于区块链的文件处理方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367877A true CN111367877A (zh) | 2020-07-03 |
CN111367877B CN111367877B (zh) | 2022-10-21 |
Family
ID=71210612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010167096.6A Active CN111367877B (zh) | 2020-03-11 | 2020-03-11 | 基于区块链的文件处理方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367877B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597195A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 缓存数据刷新方法及分布式系统 |
CN114095436A (zh) * | 2021-11-09 | 2022-02-25 | 湖南天河国云科技有限公司 | 区块链交易的处理方法、存储介质和计算机系统 |
CN114710296A (zh) * | 2022-05-17 | 2022-07-05 | 奇安信科技集团股份有限公司 | 网络安全事件的处理方法和系统、区块链平台、电子设备以及存储介质 |
CN115238257A (zh) * | 2022-09-26 | 2022-10-25 | 深圳市亲邻科技有限公司 | 门禁人脸权限更新方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395358A (zh) * | 2017-06-30 | 2017-11-24 | 上海策赢网络科技有限公司 | 信息请求及提供方法和装置、存储介质和设备 |
CN108462568A (zh) * | 2018-02-11 | 2018-08-28 | 西安电子科技大学 | 一种基于区块链的安全文件存储和共享方法 |
CN110505239A (zh) * | 2019-09-09 | 2019-11-26 | 腾讯云计算(北京)有限责任公司 | 一种基于区块链网络的信息处理方法、装置及电子设备 |
-
2020
- 2020-03-11 CN CN202010167096.6A patent/CN111367877B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395358A (zh) * | 2017-06-30 | 2017-11-24 | 上海策赢网络科技有限公司 | 信息请求及提供方法和装置、存储介质和设备 |
CN108462568A (zh) * | 2018-02-11 | 2018-08-28 | 西安电子科技大学 | 一种基于区块链的安全文件存储和共享方法 |
CN110505239A (zh) * | 2019-09-09 | 2019-11-26 | 腾讯云计算(北京)有限责任公司 | 一种基于区块链网络的信息处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
何晓东等: "浅析区块链技术在电子文件管理中的应用", 《档案与建设》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597195A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 缓存数据刷新方法及分布式系统 |
CN114095436A (zh) * | 2021-11-09 | 2022-02-25 | 湖南天河国云科技有限公司 | 区块链交易的处理方法、存储介质和计算机系统 |
CN114095436B (zh) * | 2021-11-09 | 2024-05-24 | 湖南天河国云科技有限公司 | 区块链交易的处理方法、存储介质和计算机系统 |
CN114710296A (zh) * | 2022-05-17 | 2022-07-05 | 奇安信科技集团股份有限公司 | 网络安全事件的处理方法和系统、区块链平台、电子设备以及存储介质 |
CN115238257A (zh) * | 2022-09-26 | 2022-10-25 | 深圳市亲邻科技有限公司 | 门禁人脸权限更新方法、装置、计算机设备及存储介质 |
CN115238257B (zh) * | 2022-09-26 | 2023-01-06 | 深圳市亲邻科技有限公司 | 门禁人脸权限更新方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111367877B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367877B (zh) | 基于区块链的文件处理方法、装置及终端 | |
CN110675144B (zh) | 加强区块链交易的不可抵赖性 | |
US10708070B2 (en) | System and method for utilizing connected devices to enable secure and anonymous electronic interaction in a decentralized manner | |
US20200201988A1 (en) | IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF | |
CN103098070B (zh) | 用于监视网络服务中数据位置的方法、装置和系统 | |
US8549326B2 (en) | Method and system for extending encrypting file system | |
JP2018121328A (ja) | 電子デバイスのためのイベント証明書 | |
CN111800268A (zh) | 用于区块链背书的零知识证明 | |
WO2020050943A4 (en) | Methods for requesting and authenticating photographic image data | |
US20240244046A1 (en) | Systems and methods for managing device association | |
US20220329446A1 (en) | Enhanced asset management using an electronic ledger | |
US11729175B2 (en) | Blockchain folding | |
US20200218815A1 (en) | Systems and methods for distributed ledger management | |
CN109344631B (zh) | 区块链的数据修改及区块验证方法、装置、设备和介质 | |
US11240003B2 (en) | Consent-based data management | |
JP2000227870A (ja) | 電子デ―タ・ファイルを検索するシステムおよびその維持方法 | |
US9652599B2 (en) | Restricted code signing | |
US11847099B2 (en) | Synchronizing content | |
US11063748B2 (en) | Synchronizing content | |
US11258771B2 (en) | Systems and methods for sending user data from a trusted party to a third party using a distributed registry | |
US11228424B2 (en) | Blu-ray copy service | |
US20230232222A1 (en) | User terminal, authentication terminal, registration terminal, management system and program | |
US20100153711A1 (en) | Downloadable conditional access system efficiently detecting duplicated dcas host | |
US20080127332A1 (en) | Information processing system, electronic authorization information issuing device, electronic information utilizing device, right issuing device, recording medium storing electronic authorization information issuing program, electronic information utilizing program and right issuing program, and information processing method | |
JP2019008738A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |