CN111523150B - 基于区块链的文档编辑方法、装置及系统 - Google Patents
基于区块链的文档编辑方法、装置及系统 Download PDFInfo
- Publication number
- CN111523150B CN111523150B CN202010309780.3A CN202010309780A CN111523150B CN 111523150 B CN111523150 B CN 111523150B CN 202010309780 A CN202010309780 A CN 202010309780A CN 111523150 B CN111523150 B CN 111523150B
- Authority
- CN
- China
- Prior art keywords
- chain
- sub
- document
- editing
- stream data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 239000002243 precursor Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002355 dual-layer Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
Classifications
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的文档编辑方法、装置及系统,该基于区块链的文档编辑方法包括:将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;计算每个所述加密流数据的HASH值;根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块;每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块。本发明提高了文档编辑及存储的安全性,有效的防止文档编辑信息被篡改。
Description
技术领域
本发明涉及区块链领域,具体而言,涉及一种基于区块链的文档编辑方法、装置及系统。
背景技术
在对文档进行编辑和储存时,数据的安全性和完整性是非常重要的两方面。目前,往往采用云存储方案对文档进行编辑和储存,但云存储方案有如下缺点:一方面,云文档数据的隐私安全的关键在于保密存储和保密共享,但是数据及加密信息都存储在云存储服务器,难以杜绝不法分子逆向读取数据内容,造成用户的信息丢失,安全性打上一个问号;另一方面,当前通用云数据的完整性是通过提供验证哈希值保证其不被篡改,但是数据及验证哈希值都存储在云存储服务器,难以杜绝不法分子修改内容后同步修改了验证哈希值,这样程序验证一样无法判断该文件是否被篡改。因此现有技术缺少一种更为安全的文档编辑和储存方案。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种基于区块链的文档编辑方法、装置及系统。
为了实现上述目的,根据本发明的一个方面,提供了一种基于区块链的文档编辑方法,该方法包括:
将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;
计算每个所述加密流数据的HASH值;
根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块;
每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块。
可选的,该基于区块链的文档编辑方法还包括:
将所述加密流数据发送到存储端,以使所述存储端在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
可选的,该基于区块链的文档编辑方法还包括:
获取文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端;
根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
为了实现上述目的,根据本发明的另一方面,还提供了一种基于区块链的文档编辑装置,该装置包括:
流数据加密单元,用于将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;
HASH计算单元,用于计算每个所述加密流数据的HASH值;
子链处理单元,用于根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块;
母链处理单元,用于每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块。
为了实现上述目的,根据本发明的另一方面,还提供了一种基于区块链的文档编辑系统,该系统包括:客户端和区块链端,所述区块链端包含:母链以及与所述母链对应的若干条子链,每条子链对应的客户端组成子链网络;
所述客户端用于:将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;计算每个所述加密流数据的HASH值,并将所述HASH值上传到所述目标文档对应的子链;
所述区块链端,用于根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块,并且每隔预设的时间间隔根据各子链当前的子链区块生成所述母链的母链区块。
可选的,该基于区块链的文档编辑系统还包括:存储端;
所述存储端,用于接收所述客户端发送的所述加密流数据,并在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
可选的,所述客户端,还用于向所述区块链端发送文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端;
所述区块链端,还用于根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的文档编辑方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于区块链的文档编辑方法中的步骤。
本发明的有益效果为:本发明通过子母链方案对文档进行编辑和储存,子链记录用户的所有对文档进行编辑的流数据加密信息记录,母链记录所有子链的起始区块及新增区块信息,达到业务由若干子链进行处理,母链记录子链信息的目的,保证了文档编辑信息不被篡改。此外,母链可以衍生出成千上万的子链进行业务处理,实现整体高处理能力输出,解决了目前企业级区块链单链系统TPS较低、无法应对大规模的业务的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例基于区块链的文档编辑方法的流程图;
图2是本发明实施例创建新文档的流程图;
图3是本发明实施例基于区块链的文档编辑系统的示意图;
图4是本发明实施例生成子链区块以及生成母链区块的流程示意图;
图5是本发明实施例子链区块的示意图;
图6是本发明实施例母链区块的示意图;
图7是本发明实施例建立新的在线文档的整体流程图;
图8是本发明实施例对本地文档进行更新的整体流程图;
图9是本发明实施例基于区块链的文档编辑装置的第一结构框图;
图10是本发明实施例基于区块链的文档编辑装置的第二结构框图;
图11是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是本发明实施例基于区块链的文档编辑方法的流程图,如图1所示,本实施例的基于区块链的文档编辑方法包括步骤S101至步骤S104。
步骤S101,将用户对目标文档进行编辑产生的流数据加密,生成加密流数据。
在本发明可选实施例中,用户通过客户端对文档进行编辑产生文档编辑流数据。每个文档对应一条子链,每个文档对应至少一个编辑用户,只有文档对应的编辑用户才能对文档进行编辑。该至少一个编辑用户组成用户属组,每个编辑用户对应一个客户端,这些客户端组进行共识成该子链的子链网络,编辑用户在对应的客户端上进行文档编辑。
在本发明可选实施例中,本步骤可以采用现有的任意一种加密方式对流数据进行加密。
步骤S102,计算每个所述加密流数据的HASH值。
步骤S103,根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块。
如图4所示,在本发明可选实施例中,针对每条子链每隔预设的时间间隔将该时间间隔内生成的加密流数据的HASH值打包生成子链区块。在本发明其他可选实施例中,也可以针对每条子链设置多个区块生成时间点,在到达区块生成时间点时将当前距上个区块生成时间点之间生成的加密流数据的HASH值打包生成子链区块,并添加到子链上。
图5为本发明可选实施例的子链区块的数据结构,如图5所示,每个子链区块包含:子链前驱HASH、子链区块HASH以及流文件信息,子链区块HASH为该子链区块的HASH值,子链前驱HASH为该子链区块前一个子链区块的HASH值,流文件信息为该子链区块包含的各加密流数据的HASH值。
本发明通过将用户的每一步编辑加密流数据进行HASH校验上链(子链)存储记录,达到每一步编辑步骤都有历史记录,使每一个操作步骤都有链可查,无法被篡改,以及实现历史操作可撤销可恢复。
步骤S104,每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块。
在本发明可选实施例中,各子链与母链对应,母链用于记载各子链的子链区块信息。如图4所示,在本发明可选实施例中,每隔预设的时间间隔根据各子链最新的子链区块生成母链区块。具体可以为,根据各子链最新的子链区块的子链区块HASH生成母链区块。
图6为本发明可选实施例的母链区块的数据结构,如图6所示,每个母链区块包含:母链前驱HASH、母链区块HASH以及子链区块信息,母链区块HASH为该母链区块的HASH值,母链前驱HASH为该母链区块前一个母链区块的HASH值,子链区块信息为各子链区块的子链区块HASH。
由本实施例可以看出,本发明通过设置字母链,用户编辑文档信息(即加密流数据的HASH值)存储在子链上,每隔预设的时间(日切时间或定时)将当前各子链的最新子链区块的HASH信息打包上传至母链,一方面,双层架构确保当日文档信息的安全不被篡改,非法分子想修改文档,不仅需要修改对应属组的子链信息,还要修改母链信息,几乎无法做到;另一方面,编辑信息保存在子链,子链信息保存在母链,数据分割,即保障了数据的安全,又保证了母链的处理能力。
在本发明可选实施例中,本发明的基于区块链的文档编辑方法还包括:
将所述加密流数据发送到存储端,以使所述存储端在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
在本发明可选实施例中,在建立新文档时,在存储端中建立该新文档的储存文件,该新文档对应的子链网络中的各客户端与存储端连接访问该存储文件。后续用户通过客户端对文档进行编辑产生的加密流数据将实时同步到该存储文件中,用于进行文件备份,防止文件丢失。存储端在接收到客户端发送的加密流数据后,访问文档对应的子链获取上传到子链上的该加密流数据的HASH值,并计算接收到的加密流数据的HASH值,验证计算出的加密流数据的HASH值是否与子链上的该加密流数据的HASH值一致,若一致则对接收到加密流数据进行存储,若不一致则丢弃。
图2是本发明实施例创建新文档的流程图,如图2所示,在本发明可选实施例中,创建新文档的流程包括步骤S201至步骤S202。
步骤S201,获取文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端。
在本发明可选实施例中,用户通过客户端提交文档建立请求,每个文档对应至少一个编辑用户,只有文档对应的编辑用户才能对文档进行编辑。该至少一个编辑用户组成编辑队列属组,每个编辑用户对应一个客户端,文档建立请求中包含编辑用户与客户端的对应信息,编辑用户在对应的客户端上进行文档编辑。
步骤S202,根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
在本发明可选实施例中,在接收到文档建立请求时,生成该新建文档对应的子链,具体为根据母链的当前的母链区块生成该新建文档对应的子链。进而根据编辑用户对应的客户端进行组网共识生成该新建文档对应的子链的子链网络,子链网络中的每个客户端均存储该新建文档对应的子链,后续通过共识在子链上添加对文档进行编辑的加密流数据的HASH值。
在本发明可选实施例中,本步骤的根据当前的母链区块生成所述待建立文档对应的子链包括:根据所述母链的当前的母链区块的HASH值生成所述待建立文档对应的子链的初始子链区块。
在本发明可选实施例中,在接收到文档建立请求时,在存储端中建立该新建文档对应的储存文件,该该新建文档对应的子链网络中的各客户端与存储端连接访问该存储文件。后续用户通过客户端对该新建文档进行编辑产生的加密流数据将实时同步到该存储文件中。
图3是本发明实施例基于区块链的文档编辑系统的示意图,如图3所示,本发明实施例的基于区块链的文档编辑系统包括:多个客户端和区块链端。
区块链端包含至少一条记录子链信息的区块链(母链)、若干记录文档编辑流数据信息的区块链(子链)。所述区块链端可以为云服务器。区块链端向客户端提供子链修改记录接口,各子链对应的客户端与区块链端组成子链网络,区块链端作为记账节点记录用户文档编辑的加密流数据的HASH值。
母链记录了各子链的信息,用户可以调用子链修改记录接口查询所在属组子链的修改记录。子链网络由区块链端节点、客户端节点组成,是根据子链对应用户属组的组网成链,用户属组内的用户编辑不同的在线文档,相对应的加密流数据的HASH值均上传至同一子链。同一用户可以归属到不同用户属组,可以加入到其他子链的共识,也可以对其他同属组内子链域的文档进行编辑。
当用户新建在线编辑文档时,区块链端根据当前母链区块信息生成文档对应的子链。用户编辑文档的信息存储在子链上,区块链端根据既定规则(日切时间或定时)将当前各子链的最新区块的HASH信息打包上传至母链,一方面,双层架构确保当日文档信息的安全不被篡改,非法分子想修改文档,不仅需要修改对应属组的子链信息,还要修改母链信息,几乎无法做到;另一方面,编辑信息保存在子链,子链信息保存在母链,数据分割,即保障了数据的安全,又保证了母链的处理能力。
在本发明可选实施例中,目标文档对应的用户属组中的用户通过对应的客户端对目标文档进行编辑时,该用户的客户端对目标文档进行编辑产生的流数据加密生成加密流数据,并计算每个所述加密流数据的HASH值,通过该目标文档对应的子链网络中所有客户端进行共识后添加到该目标文档对应的子链上。区块链端根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块,并且每隔预设的时间间隔根据各子链当前的子链区块生成所述母链的母链区块。
在本发明可选实施例中,本发明的基于区块链的文档编辑系统还包括:存储端。该存储端可以为存储服务或云服务器。在本发明可选实施例中,该存储端可以为部署在云服务器上的IPFS存储系统。
在建立新文档时,在存储端中建立该新文档的储存文件,该新文档对应的子链网络中的各客户端与存储端连接访问该存储文件。后续用户通过客户端对文档进行编辑产生的加密流数据将实时同步到该存储文件中,用于进行文件备份,防止文件丢失。存储端在接收到客户端发送的加密流数据后,访问文档对应的子链获取上传到子链上的该加密流数据的HASH值,并计算接收到的加密流数据的HASH值,验证计算出的加密流数据的HASH值是否与子链上的该加密流数据的HASH值一致,若一致则对接收到加密流数据进行存储,若不一致则丢弃。
在本发明可选实施例中,所述客户端,还用于向所述区块链端发送文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端。所述区块链端,还用于根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
在本发明可选实施例中,区块链端在接收到文档建立请求时,生成该新建文档对应的子链,具体为根据母链的当前的母链区块生成该新建文档对应的子链的初始区块。进而根据编辑用户对应的客户端进行组网共识生成该新建文档对应的子链的子链网络,子链网络中的每个客户端均存储该新建文档对应的子链,后续通过共识在子链上添加文档编辑信息。
在本发明可选实施例中,文档对应的子链网络中的各服务器均对子链以及上传到子链上的加密流数据的HASH值进行存储,此外,各服务器将实时生成加密流数据发送到存储端进行备份。
当目标文档对应的子链网络中某个客户端需要对本地存储的目标文档进行更新时(例如,本地目标文档损坏或丢失,本地目标文档已过时等),该客户端访问区块链端获取区块链端存储的该目标文档对应的子链的子链信息,进而与本地存储的该目标文档对应的子链的子链信息进行对比,验证子链是否一致。具体的,该验证可以为验证区块链端存储的该目标文档对应的子链的当前子链区块的子链区块HASH是否与本地存储的该目标文档对应的子链的当前子链区块的子链区块HASH一致。若验证一致则从存储端拉取目标文档对应的加密流数据,对本地的目标文档进行更新或重新生成本地的目标文档。
若本地的子链信息与区块链端的子链信息不一致,该客户端可以访问协作端,获取协作端中存储的子链的子链信息,该协作端为目标文档对应的子链网络中的除去该服务器外的任意一个服务器。该客户端验证本地的子链信息与协作端的子链信息是否一致,若一致则可以从协作端拉取目标文档对应的加密流数据,对本地的目标文档进行更新或重新生成本地的目标文档。
图7是本发明实施例建立新的在线文档的整体流程图,详细介绍了在上述基于区块链的文档编辑系统建立新的在线文档的流程,如图7所示,该流程包括步骤S301至步骤S307,图7中的客户端A和客户端B组成子链网络。
步骤S301:用户通过客户端建立在线文档,并设置该新建文档对应的编辑用户,并将编辑用户信息发送至区块链端。
步骤S302:区块链端按用户粒度将当前编辑同一个文档的用户划归到同一个用户属组中,属组成员后续可新增,根据属组信息关联到相关的存储端的存储信息,并在母链下生成一条新的子链,与客户端组网。
步骤S303:用户属组中的各用户对应的客户端接收到区块链端的初始请求,从区块链端拉取子链的初始区块,生成本地子链,并与区块链端组网共识生成子链网络。至此,编辑文档所对应的子链搭建完成,各用户可同时编辑同一份在线文档并保留自己的方案或者合并他人的方案。
步骤S304:用户在客户端上编辑文档的每一个步骤都以流数据的形式加密后进行存储,并计算加密流数据的HASH值上传子链,流数据存储方便共识传输。
步骤S305:存储端拉取区块链端的子链信息,对客户端实时上送过来的加密流数据进行校验,符合规则的则合并到存储文件。
步骤S306:客户端后台将新生成的加密流数据通过异步传输的方式上传至存储端进行存储。
步骤S307:根据规则子链将当最新子链区块的子链区块HASH上传至母链,母链打包生成母链区块,确保当前文档信息的安全不被篡改。
图8是本发明实施例对本地文档进行更新的整体流程图,详细介绍了对客户端的本地文档进行更新的流程。图8中的客户端A和客户端B属于同一个子链网络,其中客户端A为文档创建者,客户端B为文档编辑协作客户端(协作端)。图8示出了客户端A需要对本地存储的目标文档进行更新时(例如,本地目标文档损坏或丢失,本地目标文档已过时等),如何对本地文档进行更新。如图8所示,该流程包括步骤S401至步骤S406。
步骤S401:客户端A读取本地区块链配置信息,获取相关属组信息及对应的子链信息,发送拉取子链信息请求到区块链端。
步骤S402:客户端A验证区块链端拉取下来的子链信息及存储路径信息,根据区块HASH判断是否与本地子链一致,一致则发起拉取存储端加密流数据信息,不一致则拉取客户端B的子链信息。
步骤S403:存储端判断请求信息,校验客户端A上传的用户信息及子链信息,符合规则传输加密流数据。
步骤S404:根据客户端B的子链区块HASH判断是否与本地子链一致,一致则发起拉取客户端B的加密流数据信息,不一致则上传本地加密流数据信息及子链信息至存储端和区块链端。
步骤S405:根据客户端A发送的拉取请求,判断是否与本地子链一致且属于同一属组用户,一致则发起向客户端A推送加密流数据信息。
步骤S406:从客户端B拉取的流数据加密文件,通过本地子链验证,合并到本地流数据信息存储。
图8的流程图主要是解决用户很久未拉取最新文档或者数据已丢失、损坏的问题。客户端A(文档创建者)拉取区块链端的子链信息对比本地和区块链端的子链信息,一致则从存储端拉取文档,如果不一致则选择拉取客户端B的子链信息(因为B也保存了同一份文档信息,算是备份),一致就会拉取客户端B的文档信息,不一致就会把客户端A本地的文档信息推送到区块链端和客户端B,以保证三方的文档都是以客户端A的为准。
由以上实施例可见,本发明通过引入子母链的双层区块链网络架构,实现了用户节点-云存储-云记录的三位一体的多层级立体备份,一方面提高了系统的并发能力,一方面确保了用户数据掌握在用户手中,云服务商无法破解获取,同时子链存储数据HASH信息,母链存储子链信息的模式双重保障了数据无法被篡改。通过去中心的属性加密方案,实现了多属组分配,可以按公司-开发组-小团队等策略分配属组,属组内编辑的文档也可以对数据进行特定的权限分类,达到了数据隔离的目的,保证了数据的安全性;同时,不同用户对同一份文档数据可以保留各自的注释等,通过权限控制保证其他人是否可见,保证了数据的多样性编辑。通过加密流数据二次加密存储的形式,保存了用户编辑操作的所以历史记录,用户可以随时查找相关历史,并进行覆盖操作,实现了对数据高可用。
需要说明的是,在以上实施例的流程中至少部分步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种基于区块链的文档编辑装置,可以用于实现上述实施例所描述的基于区块链的文档编辑方法,如下面的实施例所述。由于基于区块链的文档编辑装置解决问题的原理与基于区块链的文档编辑方法相似,因此基于区块链的文档编辑装置的实施例可以参见基于区块链的文档编辑方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是本发明实施例基于区块链的文档编辑装置的第一结构框图,如图9所示,本发明实施例基于区块链的文档编辑装置包括:流数据加密单元1、HASH计算单元2、子链处理单元3和母链处理单元4。
流数据加密单元1,用于将用户对目标文档进行编辑产生的流数据加密,生成加密流数据。
HASH计算单元2,用于计算每个所述加密流数据的HASH值。
子链处理单元3,用于根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块。
母链处理单元4,用于每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块。
在本发明可选实施例中,所述基于区块链的文档编辑装置还包括:
数据存储单元,用于将所述加密流数据发送到存储端,以使所述存储端在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
图10是本发明实施例基于区块链的文档编辑装置的第二结构框图,如图10所示,本发明实施例基于区块链的文档编辑装置还包括:文档建立请求获取单元5和子链建立单元6。
文档建立请求获取单元5,用于获取文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端。
子链建立单元6,用于根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
在本发明可选实施例中,所述子链建立单元6包括:子链初始区块生成模块,用于根据所述母链的当前的母链区块的HASH值生成所述待建立文档对应的子链的初始子链区块。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图11所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述基于区块链的文档编辑方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种基于区块链的文档编辑方法,其特征在于,包括:
将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;
计算每个所述加密流数据的HASH值;
根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块,其中,每个文档对应一条子链,每个文档对应至少一个编辑用户,只有文档对应的编辑用户才能对文档进行编辑,每个编辑用户对应一个客户端,这些客户端组进行共识成该子链的子链网络,编辑用户在对应的客户端上进行文档编辑;
每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块,其中,在建立文档时根据母链当前的母链区块生成文档对应的子链。
2.根据权利要求1所述的基于区块链的文档编辑方法,其特征在于,还包括:
将所述加密流数据发送到存储端,以使所述存储端在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
3.根据权利要求1所述的基于区块链的文档编辑方法,其特征在于,还包括:
获取文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端;
根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
4.根据权利要求3所述的基于区块链的文档编辑方法,其特征在于,所述根据所述母链的当前的母链区块生成所述待建立文档对应的子链,具体包括:
根据所述母链的当前的母链区块的HASH值生成所述待建立文档对应的子链的初始子链区块。
5.一种基于区块链的文档编辑装置,其特征在于,包括:
流数据加密单元,用于将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;
HASH计算单元,用于计算每个所述加密流数据的HASH值;
子链处理单元,用于根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块,其中,每个文档对应一条子链,每个文档对应至少一个编辑用户,只有文档对应的编辑用户才能对文档进行编辑,每个编辑用户对应一个客户端,这些客户端组进行共识成该子链的子链网络,编辑用户在对应的客户端上进行文档编辑;
母链处理单元,用于每隔预设的时间间隔根据各子链当前的子链区块生成母链的母链区块,其中,在建立文档时根据母链当前的母链区块生成文档对应的子链。
6.根据权利要求5所述的基于区块链的文档编辑装置,其特征在于,还包括:
数据存储单元,用于将所述加密流数据发送到存储端,以使所述存储端在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
7.根据权利要求5所述的基于区块链的文档编辑装置,其特征在于,还包括:
文档建立请求获取单元,用于获取文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端;
子链建立单元,用于根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
8.根据权利要求7所述的基于区块链的文档编辑装置,其特征在于,所述子链建立单元包括:
子链初始区块生成模块,用于根据所述母链的当前的母链区块的HASH值生成所述待建立文档对应的子链的初始子链区块。
9.一种基于区块链的文档编辑系统,其特征在于,包括:客户端和区块链端,所述区块链端包含:母链以及与所述母链对应的若干条子链,每条子链对应的客户端组成子链网络;
所述客户端用于:将用户对目标文档进行编辑产生的流数据加密,生成加密流数据;计算每个所述加密流数据的HASH值,并将所述HASH值上传到所述目标文档对应的子链,其中,每个文档对应一条子链,每个文档对应至少一个编辑用户,只有文档对应的编辑用户才能对文档进行编辑,每个编辑用户对应一个客户端,这些客户端组进行共识成该子链的子链网络,编辑用户在对应的客户端上进行文档编辑;
所述区块链端,用于根据在预设时间区间内产生的每个所述HASH值生成所述目标文档对应的子链的子链区块,并且每隔预设的时间间隔根据各子链当前的子链区块生成所述母链的母链区块,其中,在建立文档时根据母链当前的母链区块生成文档对应的子链。
10.根据权利要求9所述的基于区块链的文档编辑系统,其特征在于,还包括:存储端;
所述存储端,用于接收所述客户端发送的所述加密流数据,并在根据所述加密流数据对应的子链区块验证所述加密流数据正确后对所述加密流数据进行存储。
11.根据权利要求9所述的基于区块链的文档编辑系统,其特征在于,所述客户端,还用于向所述区块链端发送文档建立请求,其中,所述文档建立请求包括:待建立文档的编辑用户以及所述编辑用户对应的客户端;
所述区块链端,还用于根据所述母链的当前的母链区块生成所述待建立文档对应的子链,并根据所述编辑用户对应的客户端组建所述待建立文档对应的子链的子链网络。
12.根据权利要求11所述的基于区块链的文档编辑系统,其特征在于,所述区块链端根据所述母链的当前的母链区块生成所述待建立文档对应的子链,具体包括:
所述区块链端根据所述母链的当前的母链区块的HASH值生成所述待建立文档对应的子链的初始子链区块。
13.根据权利要求10所述的基于区块链的文档编辑系统,其特征在于,所述客户端,还用于在需要对本地的所述目标文档进行更新时验证本地的所述目标文档对应的子链是否与所述区块链端中的所述目标文档对应的子链一致,若一致则从所述存储端拉取所述目标文档对应的加密流数据。
14.根据权利要求9所述的基于区块链的文档编辑系统,其特征在于,所述客户端,还用于在需要对本地的所述目标文档进行更新时验证本地的所述目标文档对应的子链是否与协作端中的所述目标文档对应的子链一致,若一致则从所述协作端拉取所述目标文档对应的加密流数据,其中,所述协作端为所述目标文档对应的子链网络中的客户端。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309780.3A CN111523150B (zh) | 2020-04-20 | 2020-04-20 | 基于区块链的文档编辑方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309780.3A CN111523150B (zh) | 2020-04-20 | 2020-04-20 | 基于区块链的文档编辑方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523150A CN111523150A (zh) | 2020-08-11 |
CN111523150B true CN111523150B (zh) | 2024-02-09 |
Family
ID=71903365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010309780.3A Active CN111523150B (zh) | 2020-04-20 | 2020-04-20 | 基于区块链的文档编辑方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523150B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112686004B (zh) * | 2020-12-30 | 2023-04-11 | 海南大学 | 基于区块链的单份文档多接口编辑方法 |
CN113420092B (zh) * | 2021-06-30 | 2024-02-23 | 中国银行股份有限公司 | 基于区块链的三方接入方法及装置 |
CN116488818A (zh) * | 2022-01-17 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN115081404B (zh) * | 2022-08-22 | 2022-11-15 | 佳瑛科技有限公司 | 一种基于区块链的共享文档编辑管理方法及装置 |
CN115733859B (zh) * | 2022-11-08 | 2024-09-27 | 昆明理工大学 | 基于区块链与属性加密的iot数据可信收集共享方法 |
CN115859246A (zh) * | 2023-02-16 | 2023-03-28 | 天津联想协同科技有限公司 | 在线文档权限控制方法、装置、服务器及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN108764945A (zh) * | 2018-06-05 | 2018-11-06 | 武汉天喻信息产业股份有限公司 | 一种基于区块链技术的汽车供应链系统及方法 |
CN108920514A (zh) * | 2018-05-31 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 一种基于区块链的信息存储方法、装置、设备和存储介质 |
CN109634913A (zh) * | 2018-12-14 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 文档的存储方法、装置及电子设备 |
CN110417918A (zh) * | 2019-08-29 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种档案信息的分布式存储方法、装置及电子设备和介质 |
CN110417781A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 基于区块链的文档加密管理方法、客户端及服务器 |
CN110689471A (zh) * | 2019-09-30 | 2020-01-14 | 浙江水利水电学院 | 一种基于区块链的水资源监测系统及方法 |
CN110912937A (zh) * | 2019-12-23 | 2020-03-24 | 杭州中科先进技术研究院有限公司 | 一种基于区块链的数字存证平台和存证方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108812B2 (en) * | 2016-01-28 | 2018-10-23 | Nasdaq, Inc. | Systems and methods for securing and disseminating time sensitive information using a blockchain |
-
2020
- 2020-04-20 CN CN202010309780.3A patent/CN111523150B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844976A (zh) * | 2017-10-25 | 2018-03-27 | 武汉天喻信息产业股份有限公司 | 一种基于区块链的存证应用交易系统及方法 |
CN108920514A (zh) * | 2018-05-31 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 一种基于区块链的信息存储方法、装置、设备和存储介质 |
CN108764945A (zh) * | 2018-06-05 | 2018-11-06 | 武汉天喻信息产业股份有限公司 | 一种基于区块链技术的汽车供应链系统及方法 |
CN109634913A (zh) * | 2018-12-14 | 2019-04-16 | 北京达佳互联信息技术有限公司 | 文档的存储方法、装置及电子设备 |
CN110417781A (zh) * | 2019-07-30 | 2019-11-05 | 中国工商银行股份有限公司 | 基于区块链的文档加密管理方法、客户端及服务器 |
CN110417918A (zh) * | 2019-08-29 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种档案信息的分布式存储方法、装置及电子设备和介质 |
CN110689471A (zh) * | 2019-09-30 | 2020-01-14 | 浙江水利水电学院 | 一种基于区块链的水资源监测系统及方法 |
CN110912937A (zh) * | 2019-12-23 | 2020-03-24 | 杭州中科先进技术研究院有限公司 | 一种基于区块链的数字存证平台和存证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111523150A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523150B (zh) | 基于区块链的文档编辑方法、装置及系统 | |
US11240301B2 (en) | Decentralized ledger system and method for enterprises | |
US11153290B2 (en) | Advanced security protocol for broadcasting and synchronizing shared folders over local area network | |
CN108648084B (zh) | 一种区块链网络的数据处理方法、装置、设备及存储介质 | |
US10630463B2 (en) | Meta block chain | |
US20220385460A1 (en) | Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system | |
CN108270874B (zh) | 应用程序的更新方法及装置 | |
CN112001502B (zh) | 高延时网络环境鲁棒的联邦学习训练方法及装置 | |
CN110011814B (zh) | 一种可验证的DPoS共识方法及其系统 | |
US20200007513A1 (en) | Blockchain infrastructure for securing and/or managing electronic artifacts | |
CN111752246B (zh) | 基于区块链和人工智能驱动的无人机蜂群协同工作平台 | |
CN112581126A (zh) | 基于区块链的平台数据管理方法、装置及存储介质 | |
CN111209262B (zh) | 一种基于区块链的大规模分布式安全存储系统 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN111066285A (zh) | 基于sm2签名恢复公钥的方法 | |
US9397984B1 (en) | Apparatus and method for secure file transfer | |
CN113824563B (zh) | 一种基于区块链证书的跨域身份认证方法 | |
CN111314060B (zh) | 一种密钥更新方法、设备及存储介质 | |
CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
CN114155000B (zh) | 基于区块链的可追溯混凝土质量管理系统 | |
CN112671541B (zh) | 一种区块链网络中节点管理的方法及装置 | |
CN108337208A (zh) | 基于云存储的数据保护方法、替换装置以及云存储系统 | |
CN114707663B (zh) | 分布式机器学习方法、装置、电子设备及存储介质 | |
CN113132409A (zh) | 一种数据传输方法及装置 | |
CN115277686B (zh) | 一种数据传输方法、装置、设备及计算机存储介质 |
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 |