基于区块链的文档管理方法、装置、系统及存储介质与流程

文档序号:21319596发布日期:2020-06-30 20:50阅读:173来源:国知局
基于区块链的文档管理方法、装置、系统及存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种基于区块链的文档管理方法、装置、系统及存储介质。



背景技术:

随着互联网技术的发展,用户产生的电子文档的数量也越来越多,因此需要对电子文档进行有效的管理。

目前,对涉密文档,一般是采用统一的数据中心进行管理,然后通过设置用户的权限来监控文档的操作,或者通过统一的加密密钥进行文档加密。

但是,这种文档管理方式,对数据中心的安全性要求较高,数据中心容易被网络黑客攻击,从而造成数据泄露。另外,这种文档管理方式也很难规避文档被私下篡改的问题,使得文档的可靠性降低。



技术实现要素:

本发明提供一种基于区块链的文档管理方法、装置、系统及存储介质,可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。

第一方面,本发明实施例提供一种基于区块链的文档管理方法,应用在包含用户节点、区块链的分布式系统中,所述用户节点与所述区块链通信连接,所述方法包括:

在区块链中建立存储文档信息的区块;

获取用户节点对文档的操作信息;

将所述操作信息,记录到所述文档对应的区块中。

在一种可能的设计中,在区块链中建立存储文档信息的区块,包括:

获取用户节点创建的文档,从所述文档中提取出用于表征文档内容的指示信息,

在区块链中建立区块,所述区块中添加有所述文档的指示信息,以及区块属性信息;其中,所述指示信息包括:文档摘要,和/或文档关键词;所述区块属性信息包括:前一区块的哈希、时间戳、随机数、目标哈希、merkle树(默克尔树)。

在一种可能的设计中,所述操作信息包括:文档创建信息、文档浏览信息、文档检索信息、文档转换信息、文档传输信息。

在一种可能的设计中,将所述操作信息,记录到所述文档对应的区块中,包括:

将用户节点对文档的每一次操作信息作为一次交易,记录在merkle树中;其中,每一次操作信息对应一个哈希值,不同的哈希值向根节点的方向作哈希运算,得到merkle根;所述merkle根被存储在区块的区块头中。

在一种可能的设计中,还包括:

当文档为涉密文档时,在区块中增加加密算法所需的属性对象,所述属性对象用于表征加密算法信息和密钥信息;

将用户节点针对文档的加密和/或解密操作信息,记录到所述文档对应的区块中。

在一种可能的设计中,还包括:

在区块链中存储用户节点之间达成的智能合约,所述智能合约以数字形式存储在区块链的运行程序中;所有用户节点按照所述智能合约对文档进行操作。

第二方面,本发明实施例提供一种基于区块链的文档管理装置,应用在包含用户节点、区块链的分布式系统中,所述用户节点与所述区块链通信连接,所述装置包括:

区块创建模块,用于在区块链中建立存储文档信息的区块;

获取模块,用于获取用户节点对文档的操作信息;

记录模块,用于将所述操作信息,记录到所述文档对应的区块中。

在一种可能的设计中,所述区块创建模块,具体用于:

获取用户节点创建的文档,从所述文档中提取出用于表征文档内容的指示信息,

在区块链中建立区块,所述区块中添加有所述文档的指示信息,以及区块属性信息;其中,所述指示信息包括:文档摘要,和/或文档关键词;所述区块属性信息包括:前一区块的哈希、时间戳、随机数、目标哈希、merkle树。

在一种可能的设计中,所述操作信息包括:文档创建信息、文档浏览信息、文档检索信息、文档转换信息、文档传输信息。

在一种可能的设计中,所述记录模块,具体用于:

将用户节点对文档的每一次操作信息作为一次交易,记录在merkle树中;其中,每一次操作信息对应一个哈希值,不同的哈希值向根节点的方向作哈希运算,得到merkle根;所述merkle根被存储在区块的区块头中。

在一种可能的设计中,所述记录模块,还用于:

在文档为涉密文档时,在区块中增加加密算法所需的属性对象,所述属性对象用于表征加密算法信息和密钥信息;

将用户节点针对文档的加密和/或解密操作信息,记录到所述文档对应的区块中。

在一种可能的设计中,还包括:

合约共享模块,用于在区块链中存储用户节点之间达成的智能合约,所述智能合约以数字形式存储在区块链的运行程序中;所有用户节点按照所述智能合约对文档进行操作。

第三方面,本发明实施例提供一种基于区块链的文档管理系统,包括:存储器和处理器,存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的基于区块链的文档管理方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的基于区块链的文档管理方法。

第五方面,本发明实施例提供一种程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得服务器执行第一方面中任一所述的基于区块链的文档管理方法。

本发明提供一种基于区块链的文档管理方法、装置、系统及存储介质,通过在分布式系统的区块链中建立存储文档信息的区块;获取用户节点对文档的操作信息;将所述操作信息,记录到所述文档对应的区块中。从而可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一应用场景的原理示意图;

图2为区块链中区块的结构示意图;

图3为本发明实施例一提供的基于区块链的文档管理方法的流程图;

图4为本发明实施例二提供的基于区块链的文档管理方法的流程图;

图5为本发明实施例三提供的基于区块链的文档管理装置的结构示意图;

图6为本发明实施例四提供的基于区块链的文档管理装置的结构示意图;

图7为本发明实施例五提供的基于区块链的文档管理系统的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明一应用场景的原理示意图,如图1所示,本发明应用在包含用户节点10、区块链20的分布式系统中,用户节点10与区块链20通信连接。其中,用户节点10可以是多个节点,例如计算机网络中的多个服务器和/或主机。分布式系统中的用户节点10可以创建文档,并对创建的文档执行浏览、加密、解密、检索、转换、传输等等操作。所有用户节点对文档的操作信息都会被记录在区块链20中。区块链20中包含有多个区块21,每个区块用于存储一个或者多个文档的文档信息。

图2为区块链中区块的结构示意图,如图2所示,区块包括:区块和区块体,在区块头中添加有文档的指示信息,以及区块属性信息;其中,指示信息包括:文档摘要,和/或文档关键词;区块属性信息包括:前一区块的哈希、时间戳、随机数、目标哈希、merkle根。区块体中用户存储merkle树。具体地,可以将用户节点对文档的每一次操作信息作为一次交易,记录在merkle树中;其中,每一次操作信息对应一个哈希值,不同的哈希值向根节点的方向作哈希运算,得到merkle根;merkle根被存储在区块的区块头中。

应用上述方法可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。

下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

图3为本发明实施例一提供的基于区块链的文档管理方法的流程图,如图3所示,本实施例中的方法可以包括:

s101、在区块链中建立存储文档信息的区块。

本实施例中,可以设置一个文档对应一个区块链中的区块,也可以是一个文档对应多个区块。例如在文档内容较多时,可以按照页数将文档划分为若干个区块。

可选地,获取用户节点创建的文档,从文档中提取出用于表征文档内容的指示信息。在区块链中建立区块,区块中添加有文档的指示信息,以及区块属性信息。参见图2,本实施例中的指示信息包括:文档摘要,和/或文档关键词;区块属性信息包括:前一区块的哈希、时间戳、随机数、目标哈希、merkle树。

本实施例中,在区块中存入用于表征文档内容的指示信息,是为了方便快速检索到文档对应的区块,从而获取到区块内存储的信息。

需要说明的是,本实施例不限定存储到区块中的文档的相关内容,例如还可以给文档设置唯一编号,将编号存储到区块中。

s102、获取用户节点对文档的操作信息。

本实施例中,用户节点具备对文档的操作权限,不同用户节点的操作权限可以相同,要可以不同。可选地,操作信息包括:文档创建信息、文档浏览信息、文档检索信息、文档转换信息、文档传输信息等等。

具体地,假设分布式系统中包含有100个用户节点,100个用户节点均可以对文档a进行编辑操作。则获取针对文档a的所有操作信息。例如,用户甲对文档a进行了浏览,用户乙对文档进行了加密,用户丙对文档进行了修改等等。

s103、将操作信息,记录到文档对应的区块中。

本实施例中,可以将用户节点对文档的每一次操作信息作为一次交易,记录在merkle树中;其中,每一次操作信息对应一个哈希值,不同的哈希值向根节点的方向作哈希运算,得到merkle根;merkle根被存储在区块的区块头中。

具体地,参见图2,针对文档的每一次操作都会对应一个哈希值,例如操作1对应hash1(哈希值1)、操作2对应hash2(哈希值2)、操作3对应hash3(哈希值3)、操作4对应hash4(哈希值4);不同的哈希值向根节点的方向作哈希运算,得到merkle根;merkle根被存储在区块的区块头中。例如:hash1和hash2做哈希运算,得到hash12;hash3和hash4做哈希运算,得到hash34;hash12和hash34做哈希运算,得到hash1234;依次类推,直到得到一个merkle根。

在一种可选的实施方式中,还可以在区块链中存储用户节点之间达成的智能合约,智能合约以数字形式存储在区块链的运行程序中;所有用户节点按照智能合约对文档进行操作。

本实施例中,可以将智能合约机制应用到文档保护中,达到自动智能化的安全文档保护。智能合约在区块链技术用于去中心化账本功能,用来创建、确认、转移各种不同类型的资产及合约。基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。

本实施例,通过在分布式系统的区块链中建立存储文档信息的区块;获取用户节点对文档的操作信息;将操作信息,记录到文档对应的区块中。从而可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。

图4为本发明实施例二提供的基于区块链的文档管理方法的流程图,如图4所示,本实施例中的方法可以包括:

s201、在区块链中建立存储文档信息的区块。

s202、获取用户节点对文档的操作信息。

s203、将操作信息,记录到文档对应的区块中。

本实施例中,步骤s201~步骤s203的具体实现过程和技术原理请参见图2所示的方法中步骤s101~步骤s103中的相关描述,此处不再赘述。

s204、当文档为涉密文档时,在区块中增加加密算法所需的属性对象,属性对象用于表征加密算法信息和密钥信息。

本实施例中,当文档为涉密文档时,用户节点可以对文档进加密,例如采用公钥加密技术(publickeyinfrastructure,pki)和对称密码算法,在区块中增加加密算法所需要的属性对象,描述密码算法信息和密钥信息。

s205、将用户节点针对文档的加密和/或解密操作信息,记录到文档对应的区块中。

本实施例中,将用户针对文档的加密和/或解密操作信息,记录到文档对应的区块中,从而可以使得分布式系统中的其他用户节点,共同监控涉密文档的发布情况,提升涉密文档的安全性。

本实施例,通过在分布式系统的区块链中建立存储文档信息的区块;获取用户节点对文档的操作信息;将操作信息,记录到文档对应的区块中。从而可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。尤其在涉及到涉密文档时,可以将用户节点针对涉密文档的加密、解密操作进行跟踪记录,使涉密文档发布流程操作变得有据可依。从而实现既可以证明涉密文档流转过程,又不泄露具体内容,得到智能涉密文档,增加文档的可控性。

另外,本实施例可以应用在无需互相信任的分布式系统中,实现去中心化点对点交易、协作,替代传统的文档中心,密钥中心,ca中心,增强涉密文档管理的安全性、便捷性,同时又可以减少分布式系统的建设成本。

图5为本发明实施例三提供的基于区块链的文档管理装置的结构示意图,如图5所示,本实施例的基于区块链的文档管理装置应用在包含用户节点、区块链的分布式系统中,用户节点与区块链通信连接,本实施例中的装置可以包括:

区块创建模块31,用于在区块链中建立存储文档信息的区块;

获取模块32,用于获取用户节点对文档的操作信息;

记录模块33,用于将操作信息,记录到文档对应的区块中。

在一种可能的设计中,区块创建模块31,具体用于:

获取用户节点创建的文档,从文档中提取出用于表征文档内容的指示信息,

在区块链中建立区块,区块中添加有文档的指示信息,以及区块属性信息;其中,指示信息包括:文档摘要,和/或文档关键词;区块属性信息包括:前一区块的哈希、时间戳、随机数、目标哈希、merkle树。

在一种可能的设计中,操作信息包括:文档创建信息、文档浏览信息、文档检索信息、文档转换信息、文档传输信息。

在一种可能的设计中,记录模块33,具体用于:

将用户节点对文档的每一次操作信息作为一次交易,记录在merkle树中;其中,每一次操作信息对应一个哈希值,不同的哈希值向根节点的方向作哈希运算,得到merkle根;merkle根被存储在区块的区块头中。

在一种可能的设计中,记录模块33,还用于:

在文档为涉密文档时,在区块中增加加密算法所需的属性对象,属性对象用于表征加密算法信息和密钥信息;

将用户节点针对文档的加密和/或解密操作信息,记录到文档对应的区块中。

本实施例,通过在分布式系统的区块链中建立存储文档信息的区块;获取用户节点对文档的操作信息;将操作信息,记录到文档对应的区块中。从而可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。尤其在涉及到涉密文档时,可以将用户节点针对涉密文档的加密、解密操作进行跟踪记录,使涉密文档发布流程操作变得有据可依。从而实现既可以证明涉密文档流转过程,又不泄露具体内容,得到智能涉密文档,增加文档的可控性。

图6为本发明实施例四提供的基于区块链的文档管理装置的结构示意图,如图6所示,本实施例中的装置,在图5所示装置的基础上,还可以包括:

合约共享模块34,用于在区块链中存储用户节点之间达成的智能合约,智能合约以数字形式存储在区块链的运行程序中;所有用户节点按照智能合约对文档进行操作。

本实施例中,可以将智能合约机制应用到文档保护中,达到自动智能化的安全文档保护。智能合约在区块链技术用于去中心化账本功能,用来创建、确认、转移各种不同类型的资产及合约。基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。

本实施例,通过在分布式系统的区块链中建立存储文档信息的区块;获取用户节点对文档的操作信息;将操作信息,记录到文档对应的区块中。从而可以实现对文档的去中心化管理,使得文档操作过程透明,可追溯,提升文档的安全性和可靠性。

图7为本发明实施例五提供的基于区块链的文档管理系统的结构示意图,如图7所示,本实施例的基于区块链的文档管理40可以包括:处理器41和存储器42。

存储器42,用于存储程序;存储器42,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram),如静态随机存取存储器(英文:staticrandom-accessmemory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:doubledataratesynchronousdynamicrandomaccessmemory,缩写:ddrsdram)等;存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory)。存储器42用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器42中。并且上述的计算机程序、计算机指令、数据等可以被处理器41调用。

上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器42中。并且上述的计算机程序、计算机指令、数据等可以被处理器41调用。

处理器41,用于执行存储器42存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。

具体可以参见前面方法实施例中的相关描述。

处理器41和存储器42可以是独立结构,也可以是集成在一起的集成结构。当处理器41和存储器42是独立结构时,存储器42、处理器41可以通过总线43耦合连接。

本实施例的服务器可以执行图3、图4所示方法中的技术方案,其具体实现过程和技术原理参见图3、图4所示方法中的相关描述,此处不再赘述。

此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。

其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本申请还提供一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器实施上述本发明实施例任一的语音合成方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1