CN109284630A - 文件编辑方法及系统、代理节点 - Google Patents
文件编辑方法及系统、代理节点 Download PDFInfo
- Publication number
- CN109284630A CN109284630A CN201811109450.9A CN201811109450A CN109284630A CN 109284630 A CN109284630 A CN 109284630A CN 201811109450 A CN201811109450 A CN 201811109450A CN 109284630 A CN109284630 A CN 109284630A
- Authority
- CN
- China
- Prior art keywords
- file
- node
- editor
- client
- editing
- 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
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Abstract
本发明涉及文件编辑技术领域,特别是涉及一种文件编辑方法及系统、代理节点。方法包括:接收普通节点发送的文件存储请求;根据文件存储请求,触发代理节点的智能合约,以使代理节点判断客户端的编辑权限是否满足第M次编辑文件的条件;若满足,向矿工节点发送经过第M次编辑的文件,以使矿工节点验证通过经过第M次编辑的文件后,将经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及经过第M次编辑的文件对应的哈希值。由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够防止其他用户非法篡改前人编辑的内容。
Description
技术领域
本发明涉及文件编辑技术领域,特别是涉及一种文件编辑方法及系统、代理节点。
背景技术
一般的,许多用户都可以在前人基础上编辑同一文件,对于一些重要文件,为了防止其他用户非法编辑文件,用户往往对该重要文件作了加密处理。但是其他用户一旦解密该重要文件,其便可以随意篡改重要文件的内容,篡改内容包括前人在重要文件编辑的内容,因此,此类情况值得改进。
发明内容
本发明实施例一个目的旨在提供一种文件编辑方法及系统、代理节点,其能够提高编辑文件的安全性。
为解决上述技术问题,本发明实施例提供以下技术方案:
在第一方面,本发明实施例提供一种文件编辑方法,应用于代理节点,所述文件可被多次编辑并打包成区块,所述方法包括:
接收普通节点发送的文件存储请求,所述文件存储请求包括客户端向所述普通节点发送的经过第M次编辑的文件以及所述客户端的编辑权限,其中,M为正整数;
根据所述文件存储请求,触发所述代理节点的智能合约,以使所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件;
若满足,向矿工节点发送所述经过第M次编辑的文件,以使所述矿工节点验证通过所述经过第M次编辑的文件后,将所述经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及所述经过第M次编辑的文件对应的哈希值。
可选地,所述方法还包括:
若未满足,丢弃所述经过第M次编辑的文件。
可选地,当M大于1时,所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件,包括:
所述代理节点获取经过第M-1次编辑的文件;
所述代理节点比对出所述经过第M-1次编辑的文件与所述经过第M次编辑的文件之间的不同点;
所述代理节点根据所述不同点,确定所述客户端在第M次编辑所述文件的编辑方式;
所述代理节点根据所述编辑方式以及所述客户端的编辑权限,判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件。
可选地,所述客户端的编辑权限包括至少一种编辑方式;
所述代理节点根据所述编辑方式以及所述客户端的编辑权限,判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件,包括:
所述代理节点判断所述编辑方式是否属于所述客户端的编辑权限中一种;
若是,所述客户端的编辑权限满足第M次编辑所述文件的条件;
若否,所述客户端的编辑权限未满足第M次编辑所述文件的条件。
可选地,触发所述代理节点的智能合约后,所述方法还包括:
判断所述经过第M次编辑的文件是否满足预设编辑完毕条件;
若满足,向矿工节点发送所述经过第M次编辑的文件,并设置用于指示停止编辑所述文件的标志;
若未满足,向矿工节点发送所述经过第M次编辑的文件。
在第二方面,本发明实施例提供一种文件编辑装置,应用于代理节点,所述文件可被多次编辑并打包成区块,所述装置包括:
接收模块,用于接收普通节点发送的文件存储请求,所述文件存储请求包括客户端向所述普通节点发送的经过第M次编辑的文件以及所述客户端的编辑权限,其中,M为正整数;
触发模块,用于根据所述文件存储请求,触发所述代理节点的智能合约,以使所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件;
发送模块,用于若满足,向矿工节点发送所述经过第M次编辑的文件,以使所述矿工节点验证通过所述经过第M次编辑的文件后,将所述经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及所述经过第M次编辑的文件对应的哈希值。
可选地,所述装置还包括:
丢弃模块,用于若未满足,丢弃所述经过第M次编辑的文件。
在第三方面,本发明实施例提供一种代理节点,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行任一项所述的文件编辑方法。
在第四方面,本发明实施例提供一种文件编辑系统,包括:
若干客户端;
若干普通节点,所述普通节点与所述客户端通讯;
所述的代理节点,所述代理节点与所述普通节点通讯;
矿工节点,所述矿工节点与所述代理节点通讯。
在第五方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使代理节点执行任一项所述的文件编辑方法。
在第六方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被代理节点执行时,使所述代理节点执行任一项所述的文件编辑方法。
在本发明各个实施例提供的文件编辑方法及系统、代理节点中,首先,接收普通节点发送的文件存储请求,文件存储请求包括客户端向普通节点发送的经过第M次编辑的文件以及客户端的编辑权限,其中,M为正整数;其次,根据文件存储请求,触发代理节点的智能合约,以使代理节点判断客户端的编辑权限是否满足第M次编辑文件的条件;再次,若满足,向矿工节点发送经过第M次编辑的文件,以使矿工节点验证通过经过第M次编辑的文件后,将经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及经过第M次编辑的文件对应的哈希值。因此,一方面,对每个文件设置编辑权限,由区块链节点判断每个客户端的编辑权限,从而能够保证每个客户端公平公正地编辑文件。另一方面,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够防止其他用户非法篡改前人编辑的内容。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供一种区块链网络的架构模型示意图;
图2是本发明实施例提供一种文件编辑系统的结构示意图;
图3是本发明实施例提供一种文件编辑方法的流程示意图;
图4是本发明实施例提供一种文件编辑装置的结构示意图;
图4a是本发明另一实施例提供一种文件编辑装置的结构示意图;
图5是本发明实施例提供一种代理节点的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
区块链技术亦称为分布式账本技术,是一种分布式互联网数据库技术。基于区块链技术构建的网络可以称之为区块链网络,区块链网络包含多个区块链节点,每一个节点对应至少一个区块链,每一个区块链上至少包含一个区块。区块链技术具备去中心化、公开透明、不可篡改、可信任等特点,因此,区块链技术应用领域越来越广泛。
请参阅图1,图1是本发明实施例提供一种区块链网络的架构模型示意图。如图1所示,该区块链网络100包括数据层11、网络层12、共识层13以及智能合约层14。
数据层11封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法。网络层12包括分布式组网机制、数据传播机制和数据验证机制等等。共识层13封装网络节点的各类共识算法。智能合约层14封装各类脚本、算法和智能合约。
本发明实施例的文件编辑方法,可以在任何合适类型、具有运算能力的区块链节点中执行,例如服务器、台式计算机、智能手机、平板电脑以及其他电子产品中。其中,此处的服务器可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
本发明实施例的文件编辑装置可以作为软件系统,独立设置在上述区块链节点中,也可以作为整合在处理器中的其中一个功能模块,执行本发明实施例的文件编辑方法。
本发明实施例提供的区块链包括诸如公有区块链(Public Block Chains)、联合区块链(Consortium Block Chains)及私有区块链(Private Block Chains)。
请参阅图2,图2是本发明实施例提供一种基于区块链的安防数据恢复系统的结构示意图。如图2所示,基于区块链的安防数据恢复系统200包括客户端21、普通节点22、代理节点23及矿工节点24。
客户端21与普通节点22通讯连接,普通节点22与代理节点23通讯连接,代理节点23还与矿工节点24通讯连接。其中,普通节点22、代理节点23及矿工节点24作为区块链节点,两两区块链节点之间的通讯支持点对点通讯方式(Point to point communication,P2P),每个区块链节点皆存储有包含安防数据的区块。
客户端21为用户提供编辑文件的用户界面,用户在客户端21编辑好文件后,通过客户端21将编辑好的文件发送给普通节点22。在本实施例中,文件可被多次编辑并打包成区块。例如,用户A在自身的客户端第一次编辑该文件,并将编辑好的文件发送至普通节点22,以便打包存储在区块链中。用户B需要在用户A编辑该文件的基础上第二次编辑该文件,于是,用户B通过自身客户端从区块链中获取该文件,并对该文件作第二次编辑,将编辑好的文件发送至普通节点22,以便打包存储在区块链中。用户C需要在用户B编辑该文件的基础上第三次编辑该文件,于是,用户C通过自身客户端从区块链中获取该文件,并对该文件作第三次编辑,将编辑好的文件发送至普通节点22,以便打包存储在区块链中。以此类推,在此不赘述。
普通节点22持有流通的电子货币,在区块链系统中拥有投票选举的权利。普通节点22可以进行相关交易操作,但是没有区块的打包记账权,只能从拥有打包记账权的代理节点23处同步记录区块数据。
代理节点23编写有智能合约代码,普通节点22向代理节点23发送编辑好的文件,触发代理节点23的智能合约,使得代理节点23的智能合约处理编辑好的文件。其中,普通节点22维护有智能合约列表,该智能合约列表记录能够执行智能合约的各个代理节点名单。每当普通节点22接收到编辑好的文件时,普通节点22调取智能合约列表,从智能合约列表中查找出各个代理节点的地址,并向各个代理节点发送安防数据。
在本实施例中,代理节点23可以预存多种类型智能合约,其可以根据普通节点22发送的触发请求,解析出智能合约的执行类型。代理节点23再根据解析出的智能合约的执行类型,执行对应的智能合约。
当某个代理节点陷入故障,其余代理节点将该某个代理节点的地址广播至全网,普通节点22监测到该广播信息,并更新智能合约列表,后续发送安防数据时,普通节点22不向该某个代理节点23发送数据,以提高工作效率。
智能合约的代码是根据业务场景逻辑编写的。
代理节点23根据智能合约执行编辑好的文件后,输出待验证的区块数据。接着,代理节点23还将待验证的区块数据作签名,并将签名后的区块数据打包发送至矿工节点24。矿工节点24利用代理节点23的公钥验证签名后的区块数据,若验证成功,则认为该签名后的区块数据是合法代理节点23发送的,后续接着对该区块数据进行共识处理。若验证未成功,则认为该签名后的区块数据是非法代理节点23发送的。例如,代理节点23使用自身私钥对当前区块的哈希内容作签名运算,得到该签名。
矿工节点24用于共识验证代理节点23上传的区块数据。其中,矿工节点24可以支持以下任意一种共识算法:工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,POS)、股份授权证明(Delegate proof of Stake,DPoS)、实用拜占庭容错(practicalByzantine Fault Tolerance,PBFT)、授权拜占庭容错(Delegated Byzantine FaultTolerance,DBFT)等等。
每个矿工节点24皆需要在代理节点23注册,待注册成功后,该矿工节点便为合法矿工节点。注册过程如下:
1、矿工节点24向代理节点23提交注册信息。
其中,该注册信息包括以下一种或多种信息:矿工节点24的设备序列号SN、用户信息及矿工钱包地址。
2、代理节点23对注册信息进行检查。
检查过程包括:检测SN编号格式是否正确、SN是否存在数据库中、SN是否已被绑定了其他用户等等。
3、代理节点23记录注册信息。
4、代理节点23将注册结果返回给矿工节点24。
5、代理节点23将新的注册数据广播。
在上述基于区块链的安防数据恢复200中,区块是用于存储安防数据的载体,每个区块皆包含区块头与区块体,区块头记载的信息用于标识区块本身、前一个区块的信息摘要以及区块在整个账本中的位置。区块体用于存储安防数据以及验证安防数据并保存安防数据不被篡改。
区块链为将每个区块按照生成时间的顺序逐个连接起来,便形成了一个链式的数据存储结构。在整个区块链中,第一个区块称为创世区块,其区块高度为0,之后的每个区块的区块高度依次加1,并且在区块头中写入前一个区块头的哈希值。区块链上的各个区块之间由各个区块上的上一个区块头哈希值进行链接。
因此,区块链具有不可篡改性。基于此,本发明实施例提供一种文件编辑方法。
请参阅图3,图3是本发明实施例提供一种文件编辑方法。如图3所示,文件编辑方法S300包括:
S31、接收普通节点发送的文件存储请求,文件存储请求包括客户端向普通节点发送的经过第M次编辑的文件以及客户端的编辑权限,其中,M为正整数;
在本实施例中,文件共享编辑时,系统为每个客户端配置不同的编辑权限,不同用户可通过对应客户端编辑同一文件。其中,文件被设置编辑标志,编辑标志用于指示文件可被多次编辑并打包成区块。编辑标志包括编辑次数,编辑次数可以是有限次数,亦可以是无线次数。
在本实施例中,每次需要存储文件时,代理节点都统计文件的编辑次数,其中,文件的编辑次数可以由同一客户端编辑而累加的,亦可以由不同客户端编辑而累加的,例如,客户端A在2018年9月1日8点编辑文件,并将编辑后的文件上传至区块链中存储,代理节点记为M为1。客户端A在2018年9月1日9点编辑文件,并将编辑后的文件上传至区块链中存储,代理节点记为M为2。客户端B在2018年9月1日10点编辑文件,并将编辑后的文件上传至区块链中存储,代理节点记为M为3。客户端C在2018年9月1日11点编辑文件,并将编辑后的文件上传至区块链中存储,代理节点记为M为4,以此类推。
客户端的编辑权限用于指示客户端作出与编辑权限对应的操作,不同客户端,编辑权限可以相同,亦可以不相同。编辑权限包括允许新增内容并且允许修改前人编辑的内容、允许新增内容但不允许修改前人的编辑内容、禁止修改第一部分内容并允许修改非第一部分内容、禁止修改第一部分内容至第三部分内容并允许修改其它部分内容等等。
当客户端编辑好文件后,客户端将编辑好的文件发送给普通节点,普通节点将编辑好的文件以及该客户端的编辑权限封装成文件存储请求,普通节点将文件存储请求发送给代理节点。其中,编辑好的文件为经过第M次编辑的文件,M为正整数。
在本实施例中,系统初始化时,代理节点自启动一个文件,并通过普通节点向各个客户端广播该文件。
S32、根据文件存储请求,触发代理节点的智能合约,以使代理节点判断客户端的编辑权限是否满足第M次编辑文件的条件;
S33、若满足,向矿工节点发送经过第M次编辑的文件,以使矿工节点验证通过经过第M次编辑的文件后,将经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及经过第M次编辑的文件对应的哈希值。
S34、若未满足,丢弃经过第M次编辑的文件。
举例而言,在第M次编辑文件时,客户端A的编辑权限仅为允许新增内容但不允许修改前人的编辑内容,然而,客户端A却修改前人编辑的内容,于是,代理节点便判断出客户端A的编辑权限未满足第M次编辑文件的条件,丢弃经过第M次编辑的文件。假设客户端A的编辑权限为允许新增内容并且允许修改前人编辑的内容时,代理节点便判断出客户端A的编辑权限满足第M次编辑文件的条件,向矿工节点发送经过第M次编辑的文件,以使矿工节点验证通过经过第M次编辑的文件后,将经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及经过第M次编辑的文件对应的哈希值。
在本实施例中,后续其它节点可以根据区块头记录的第M次编辑对应的客户端的编辑权限以及经过第M次编辑的文件对应的哈希值,来验证区块的合法性。例如,当第M次编辑对应的客户端的编辑权限为允许新增内容并且允许修改前人编辑的内容,则经过第M次编辑的文件对应的哈希值是变化的。但是,当第M次编辑对应的客户端的编辑权限为允许新增内容但不允许修改前人的编辑内容时,后续其它节点验证第M次编辑对应的文件的合法性时,后续其它节点可以将M-1次的文件以及新增内容作哈希运算,得到待验证哈希值,并将待验证哈希值与经过第M次编辑的文件对应的哈希值比较,若一致,则认为第M次编辑对应的文件合法。若不一致,则认为第M次编辑对应的文件非法。
一方面,对每个文件设置编辑权限,由区块链节点判断每个客户端的编辑权限,从而能够保证每个客户端公平公正地编辑文件。另一方面,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够防止其他用户非法篡改前人编辑的内容。
在一些实施例中,当M大于1时,代理节点判断客户端的编辑权限是否满足第M次编辑所述文件的条件的过程中,首先,代理节点获取经过第M-1次编辑的文件。其次,代理节点比对出经过第M-1次编辑的文件与经过第M次编辑的文件之间的不同点。再次,代理节点根据不同点,确定客户端在第M次编辑文件的编辑方式。最后,代理节点根据编辑方式以及客户端的编辑权限,判断客户端的编辑权限是否满足第M次编辑文件的条件。
通过此种方式,其能够快速确定客户端的编辑权限是否满足第M次编辑文件的条件。
在一些实施例中,客户端的编辑权限包括至少一种编辑方式。代理节点根据编辑方式以及客户端的编辑权限,判断客户端的编辑权限是否满足第M次编辑文件的条件的过程中,代理节点判断编辑方式是否属于客户端的编辑权限中一种;若是,客户端的编辑权限满足第M次编辑文件的条件;若否,客户端的编辑权限未满足第M次编辑文件的条件。
在一些实施例中,触发代理节点的智能合约后,代理节点还判断经过第M次编辑的文件是否满足预设编辑完毕条件;若满足,向矿工节点发送经过第M次编辑的文件,并设置用于指示停止编辑文件的标志;若未满足,向矿工节点发送经过第M次编辑的文件。
通过此种方式,其能够完整全面地监控文件的整个流程。
在一些实施例中,矿工节点采用股份授权证明算法作为共识机制。
有些矿工陷入故障或者作恶(不签署验证新区块链数据),为了保证区块链系统能够正常出块,其余矿工可以作视图更新,停止故障或作恶矿工的共识权利。因此,在一些实施例中,矿工共识验证区块数据的过程中,在检测到共识验证失败的次数大于预设阈值时,矿工组成的共识服务器群确定恶意矿工,恶意矿工为未签署验证区块数据并导致共识验证失败次数最多的节点。矿工组成的共识服务器群禁止恶意矿工参与共识验证,并在剩余的矿工重新分配股份并共识验证区块数据,例如,占比为10%的矿工A作恶,于是,首先共识服务器群停止矿工A的投票权利,其次,共识服务器将矿工A的占比10%按照预设规则分配给其余矿工,例如,均分给其余矿工,或者,按照矿工的工作年龄分配给其余节点,工作年龄越长,分配占比越高,工作年龄越短,分配占比越低。
再次,共识服务器群在检测到共识验证失败的次数小于预设阈值时,继续共识验证区块数据。
采用此种方式,其保证区块链系统能够顺利出块。
需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
作为本发明实施例的另一方面,本发明实施例提供一种文件编辑装置。本发明实施例的文件编辑装置可以作为其中一个软件功能单元,文件编辑装置包括若干指令,该若干指令存储于存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述文件编辑方法。
请参阅图4,图4是本发明实施例提供一种文件编辑装置的结构示意图。文件编辑装置400应用于代理节点,文件可被多次编辑并打包成区块。如图4所示,文件编辑装置400包括:接收模块41、触发模块42及发送模块43。
接收模块41用于接收普通节点发送的文件存储请求,所述文件存储请求包括客户端向所述普通节点发送的经过第M次编辑的文件以及所述客户端的编辑权限,其中,M为正整数;
触发模块42用于根据所述文件存储请求,触发所述代理节点的智能合约,以使所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件;
发送模块43用于若满足,向矿工节点发送所述经过第M次编辑的文件,以使所述矿工节点验证通过所述经过第M次编辑的文件后,将所述经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及所述经过第M次编辑的文件对应的哈希值。
一方面,对每个文件设置编辑权限,由区块链节点判断每个客户端的编辑权限,从而能够保证每个客户端公平公正地编辑文件。另一方面,由于区块链具有不可篡改、去中心化及高度透明化的特点,因此,其能够防止其他用户非法篡改前人编辑的内容。
在一些实施例中,请参阅图4a,文件编辑装置400还包括:丢弃模块44。丢弃模块44用于若未满足,丢弃所述经过第M次编辑的文件。
需要说明的是,上述文件分布式存储装置可执行本发明实施例所提供的文件编辑方法,具备执行方法相应的功能模块和有益效果。未在文件编辑装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的文件编辑方法。
作为本发明实施例的又另一方面,本发明实施例提供一种代理节点。如图5所示,该代理节点500包括:一个或多个处理器51以及存储器52。其中,图5中以一个处理器51为例。
处理器51和存储器52可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器52作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的文件编辑方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的非易失性软件程序、指令以及模块,从而执行文件编辑装置的各种功能应用以及数据处理,即实现上述方法实施例文件编辑方法以及上述装置实施例的各个模块的功能。
存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器52中,当被所述一个或者多个处理器51执行时,执行上述任意方法实施例中的文件编辑方法,例如,执行以上描述的图3各个步骤;也可实现附图4与图4a所述的各个模块的功能。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图5中的一个处理器51,可使得上述一个或多个处理器可执行上述任意方法实施例中的文件编辑方法,例如,执行上述任意方法实施例中的文件编辑方法,例如,执行以上描述的执行以上描述的执行以上描述的图3所示的各个步骤;也可实现附图4与图4a所述的各个模块的功能。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种文件编辑方法,应用于代理节点,所述文件可被多次编辑并打包成区块,其特征在于,所述方法包括:
接收普通节点发送的文件存储请求,所述文件存储请求包括客户端向所述普通节点发送的经过第M次编辑的文件以及所述客户端的编辑权限,其中,M为正整数;
根据所述文件存储请求,触发所述代理节点的智能合约,以使所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件;
若满足,向矿工节点发送所述经过第M次编辑的文件,以使所述矿工节点验证通过所述经过第M次编辑的文件后,将所述经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及所述经过第M次编辑的文件对应的哈希值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未满足,丢弃所述经过第M次编辑的文件。
3.根据权利要求1所述的方法,其特征在于,当M大于1时,所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件,包括:
所述代理节点获取经过第M-1次编辑的文件;
所述代理节点比对出所述经过第M-1次编辑的文件与所述经过第M次编辑的文件之间的不同点;
所述代理节点根据所述不同点,确定所述客户端在第M次编辑所述文件的编辑方式;
所述代理节点根据所述编辑方式以及所述客户端的编辑权限,判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件。
4.根据权利要求3所述的方法,其特征在于,所述客户端的编辑权限包括至少一种编辑方式;
所述代理节点根据所述编辑方式以及所述客户端的编辑权限,判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件,包括:
所述代理节点判断所述编辑方式是否属于所述客户端的编辑权限中一种;
若是,所述客户端的编辑权限满足第M次编辑所述文件的条件;
若否,所述客户端的编辑权限未满足第M次编辑所述文件的条件。
5.根据权利要求1至4任一项所述的方法,其特征在于,触发所述代理节点的智能合约后,所述方法还包括:
判断所述经过第M次编辑的文件是否满足预设编辑完毕条件;
若满足,向矿工节点发送所述经过第M次编辑的文件,并设置用于指示停止编辑所述文件的标志;
若未满足,向矿工节点发送所述经过第M次编辑的文件。
6.一种文件编辑装置,应用于代理节点,所述文件可被多次编辑并打包成区块,其特征在于,所述装置包括:
接收模块,用于接收普通节点发送的文件存储请求,所述文件存储请求包括客户端向所述普通节点发送的经过第M次编辑的文件以及所述客户端的编辑权限,其中,M为正整数;
触发模块,用于根据所述文件存储请求,触发所述代理节点的智能合约,以使所述代理节点判断所述客户端的编辑权限是否满足第M次编辑所述文件的条件;
发送模块,用于若满足,向矿工节点发送所述经过第M次编辑的文件,以使所述矿工节点验证通过所述经过第M次编辑的文件后,将所述经过第M次编辑的文件打包成新区块,每个区块的区块头记录有第M次编辑对应的客户端的编辑权限以及所述经过第M次编辑的文件对应的哈希值。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
丢弃模块,用于若未满足,丢弃所述经过第M次编辑的文件。
8.一种代理节点,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至5任一项所述的文件编辑方法。
9.一种文件编辑系统,其特征在于,包括:
若干客户端;
若干普通节点,所述普通节点与所述客户端通讯;
如权利要求8所述的代理节点,所述代理节点与所述普通节点通讯;
矿工节点,所述矿工节点与所述代理节点通讯。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使代理节点执行如权利要求1至5任一项所述的文件编辑方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109450.9A CN109284630B (zh) | 2018-09-21 | 2018-09-21 | 文件编辑方法、装置、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109450.9A CN109284630B (zh) | 2018-09-21 | 2018-09-21 | 文件编辑方法、装置、系统及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284630A true CN109284630A (zh) | 2019-01-29 |
CN109284630B CN109284630B (zh) | 2020-12-08 |
Family
ID=65181460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811109450.9A Active CN109284630B (zh) | 2018-09-21 | 2018-09-21 | 文件编辑方法、装置、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284630B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110301A (zh) * | 2019-05-09 | 2019-08-09 | 成都终身成长科技有限公司 | 文件编辑方法、装置、系统、客户端、服务器及存储介质 |
CN110611702A (zh) * | 2019-08-29 | 2019-12-24 | 思力科(深圳)电子科技有限公司 | 区块链的文件快速传输方法、设备、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979466A (zh) * | 2005-11-29 | 2007-06-13 | 国际商业机器公司 | 允许多个用户同时编辑一个共享的电子文档的方法及装置 |
CN106682530A (zh) * | 2017-01-10 | 2017-05-17 | 杭州电子科技大学 | 一种基于区块链技术的医疗信息共享隐私保护方法及装置 |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式系统及消息处理方法 |
US9870508B1 (en) * | 2017-06-01 | 2018-01-16 | Unveiled Labs, Inc. | Securely authenticating a recording file from initial collection through post-production and distribution |
CN107909372A (zh) * | 2017-10-25 | 2018-04-13 | 复旦大学 | 一种基于区块链技术的农产品溯源方法 |
CN108076148A (zh) * | 2017-12-15 | 2018-05-25 | 成都链网络科技有限公司 | 基于区块链的存储系统 |
CN108388988A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 基于区块链的协同办公方法、系统及计算机可读存储介质 |
-
2018
- 2018-09-21 CN CN201811109450.9A patent/CN109284630B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1979466A (zh) * | 2005-11-29 | 2007-06-13 | 国际商业机器公司 | 允许多个用户同时编辑一个共享的电子文档的方法及装置 |
CN106682530A (zh) * | 2017-01-10 | 2017-05-17 | 杭州电子科技大学 | 一种基于区块链技术的医疗信息共享隐私保护方法及装置 |
CN106789095A (zh) * | 2017-03-30 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 分布式系统及消息处理方法 |
US9870508B1 (en) * | 2017-06-01 | 2018-01-16 | Unveiled Labs, Inc. | Securely authenticating a recording file from initial collection through post-production and distribution |
CN107909372A (zh) * | 2017-10-25 | 2018-04-13 | 复旦大学 | 一种基于区块链技术的农产品溯源方法 |
CN108076148A (zh) * | 2017-12-15 | 2018-05-25 | 成都链网络科技有限公司 | 基于区块链的存储系统 |
CN108388988A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 基于区块链的协同办公方法、系统及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110301A (zh) * | 2019-05-09 | 2019-08-09 | 成都终身成长科技有限公司 | 文件编辑方法、装置、系统、客户端、服务器及存储介质 |
CN110110301B (zh) * | 2019-05-09 | 2023-08-01 | 成都终身成长科技有限公司 | 文件编辑方法、装置、系统、客户端、服务器及存储介质 |
CN110611702A (zh) * | 2019-08-29 | 2019-12-24 | 思力科(深圳)电子科技有限公司 | 区块链的文件快速传输方法、设备、系统及存储介质 |
CN110611702B (zh) * | 2019-08-29 | 2022-04-01 | 魏松杰 | 区块链的文件快速传输方法、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109284630B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Humayun et al. | Emerging smart logistics and transportation using IoT and blockchain | |
CN110599147B (zh) | 一种基于区块链的密文检索公平支付方法及系统 | |
CN109508563B (zh) | 基于区块链的电子文件真实性保障方法 | |
CN109450910B (zh) | 基于区块链的数据共享方法、数据共享网络及电子设备 | |
CN109194708B (zh) | 一种基于区块链技术的分布式存储系统及其身份认证方法 | |
CN109189962A (zh) | 一种基于区块链的证照服务实现系统 | |
CN110032545A (zh) | 基于区块链的文件存储方法、系统及电子设备 | |
CN109117097A (zh) | 一种基于区块链的数据存储方法及系统 | |
CN108615148B (zh) | 一种基于区块链技术的担保资产前置交易方法及系统 | |
CN107392813A (zh) | 一种基于区块链的学籍信息共享系统 | |
CN109639406A (zh) | 基于区块链和ipfs的高效信任解决方法 | |
CN112765245A (zh) | 一种电子政务大数据处理平台 | |
CN109753815B (zh) | 基于区块链的数据处理方法、数据处理网络及电子设备 | |
CN109377198A (zh) | 一种基于联盟链多方共识的签约系统 | |
Alblooshi et al. | Blockchain-based ownership management for medical IoT (MIoT) devices | |
CN105989295A (zh) | 数据系统和方法 | |
CN112149073B (zh) | 一种锥体区块链管理方法及系统 | |
CN109376528A (zh) | 一种基于区块链的可信身份管理系统和方法 | |
CN109951490A (zh) | 基于区块链的网页防篡改方法、系统及电子设备 | |
CN109102308A (zh) | 基于区块链的商品信息维护方法、区块链节点及其系统 | |
CN110061887B (zh) | 一种基于区块链的流量统计方法、装置和设备 | |
CN110111102A (zh) | 一种基于区块链技术的虚拟交通卡系统及发行交易方法 | |
CN110298180A (zh) | 一种基于区块链的公证书管理系统 | |
CN112540957B (zh) | 基于混合区块链的档案安全存储和共享系统及实现方法 | |
CN109167961A (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 |