文件存储方法及其电子设备、存储介质技术

技术编号:20485946 阅读:63 留言:0更新日期:2019-03-02 19:24
本申请公开了一种文件存储方法及其电子设备和存储介质。所述方法包括:区块链记账节点接收第一文件数据;利用哈希算法对所述第一文件数据进行计算,得到第一哈希值;利用所述第一哈希值和第二文件数据生成第二哈希值;将所述第二哈希值或者所述第一哈希值和所述第二哈希值两者存储于区块链中,以用于验证所述第一文件数据是否发生篡改。上述方案,能够避免文件数据被恶意篡改,保证文件数据的可靠性。

【技术实现步骤摘要】
文件存储方法及其电子设备、存储介质
本申请涉及存储领域,特别是涉及一种文件存储方法及其电子设备、存储介质。
技术介绍
目前,各类文件如合同文件等有两个存在形式,一种是纸质形式,该形式不易存储,纸质文件容易丢失或损毁;另一种是电子化形式,其存储较为便利,且不易丢失。基于电子化文件的明显优势,文件电子化是日渐广泛使用的一种形式。如今,电子文件主要采用中心化存储方式,即将文件集中存储在一台或多台服务器中。然而,此中心化存储方式会使得文件容易被恶意修改,这会给文件带来较大的不安全性,特别对于一些安全要求较高的文件,例如合同文件。如果这些合同文件被不法分子通过入侵该服务器进行恶意修改,而文件相关人员却无法获知该修改,则容易造成合同双方的利益损害。
技术实现思路
本申请主要解决的技术问题是提供一种文件存储方法及其电子设备、存储介质,能够避免文件数据被恶意篡改,保证文件数据的可靠性。为了解决上述问题,本申请第一方面提供了一种文件存储方法,所述方法包括:区块链记账节点接收第一文件数据;利用哈希算法对所述第一文件数据进行计算,得到第一哈希值;利用所述第一哈希值和第二文件数据生成第二哈希值;将所述第二哈希值或者所述第一哈希值和所述第二哈希值两者存储于区块链中,以用于验证所述第一文件数据是否发生篡改。为了解决上述问题,本申请第二方面提供了一种电子设备,包括存储器和处理器,其中,所述处理器用于运行所述存储器存储的计算机指令,以执行上述的方法。为了解决上述问题,本申请第三方面提供了一种非易失性存储介质,所述非易失性存储介质存储计算机指令,所述计算机指令能够被处理器运行,以执行上述的方法。上述方案中,通过区块链记账节点对第一文件数据进行哈希得到相应的哈希值作为文件数的数字指纹,由于区块链具有高安全性、能够有效防止数据篡改,故提高了文件数据的数字指纹的存储可靠性,进而利用高可靠性的数字指纹能够对文件数据进行验证,可避免文件数据被恶意篡改,保证文件数据的可靠性,而且通过对第一文件数据进行多重哈希,进而利用多重哈希得到的哈希值来验证第一文件数据是否发生篡改,可进一步增加文件数据的可靠性。附图说明图1是本申请一实施例中所采用的区块链技术架构示意图;图2是本申请一实施例中的所采用的区块链的区块的结构示意图;图3是本申请存储网络一实施例的结构示意图;图4是本申请购售电合同的存储方法一实施例的流程示意图;图5是本申请购售电合同的存储方法另一实施例的流程示意图;图6是本申请文件存储方法一实施例的流程示意图;图7是本申请文件存储方法另一实施例的流程示意图;图8是本申请合同数据的验证方法一实施例的流程示意图;图9是本申请电子设备一实施例的结构示意图;图10是本申请非易失性存储介质一实施例的结构示意图。具体实施方式下面结合说明书附图,对本申请实施例的方案进行详细说明。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。区块链技术是随比特币等数字加密货币而兴起的一种新型的分布式数据组织方法及运算方式。其最大特点是:去中心化,这使得数据能够实现分布式集体维护,极大提高数据运算、管理、维护效率;共识,节点间基于一套共识机制,通过竞争计算共同维护整个区块链,任一节点失效,其余节点仍能正常工作。同时搭载非对称加密技术的区块链具备高安全性、可追溯性,能有效防止数据泄露或非法篡改。本申请提出利用区块链技术来实现文件管理,如文件的存储、文件的公证等,具体可采用公证通(Factom)实现对文件的管理。其中,该文件可以为合同(具体可以如购售电合同)、交易协议等任意类型。为便于理解本申请区块链网络,先对本申请采用的区块链技术进行举例说明。在一具体应用中,电子设备运行该区块链技术以成为该区块链网络的节点,该区块链技术架构如图1所示,包括区块链数据层11、存真层12、存证层13以及应用层14。区块链数据层11用于封装底层数据区块以及相关的数据加密和时间戳等技术。并且,可利用不可逆加密算法(如SHA256算法)对文件数据进行至少一次(如两次)计算,生成唯一的区块链ID,即哈希(Hash)值。具体地,针对文件的管理,该区块链可为区块联盟链,以保证该区块链并非完全公开,只有注册的会员节点才可访问。存真层12,也是网络层,封装了区块链网络系统的P2P组网方式、消息传播协议和数据验证机制等要素,使各节点地位对等且以扁平式拓扑结构相互连通和相互,拥有分布式、自治性、开放可自由进出等特性。区块链网络中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。区块链这种去中心化设计保证文件数据不可篡改、不可伪造。存证层13封装了数据接入方式、非对称加密、存储等要素。其中,存证的文件数据可采用SHA256等非对称加密技术,并由相关人员(平台方)签名,再存储于区块链上。故就算是文件数据被未授权用户获取,该用户也无法通过解密获取原始文件内容。用户层14将区块链技术应用在该文件数据(如购售电合同)的相关处理上,例如用户注册、购售电合同生成及签署等。以购售电合同的应用为例,该应用层为电力用户、发电厂、电力交易中心、售电公司、电网企业等用户提供数据交互接口。区块链网络用一种去中心化的方式来收集,打包且安全保护文件数据,并把文件数据的数字指纹锚定到区块链上。具体,区块链可以采用区块联盟链的网络来实现。区块链的节点不断变换在网络系统中所承担的责任,永远不会只有一个节点在控制整个网络系统,即不会只有一个记账节点进行记账。每个节点都只是网络系统中的一部分。区块链的节点定时如每一分钟变换一次角色,没有节点会永久控制网络系统的任何一部分。在一具体实施例中,区块链的区块封装可如图2所示。该区块链的区块20包括区块头(Header)21和区块体(Body)22。该区块体22存储有至少一条对文件数据进行设定哈希运算得到的哈希值(Hash)221。该区块头21可以封装有当前版本号211、前一区块地址212、当前区块的目标哈希值213、当前区块PoW(工作量证明)共识过程的解随机数214、Merkle根(Merkle-root)215以及时间戳216等信息。其中,该当前版本号211,用于标示软件及协议的相关版本信息;该前一区块地址212,也可称为前一区块哈希值,通过该值才可将每个区块才首尾相连组成了区块链;该解随机数214为记录解密该区块相关数学题的答案的值;该Merkle根215是由区块体22中所有文件数据的哈希值再逐级两两哈希计算出来的,用于检验文件数据是否存在于该区块中;该时间戳216用于记录该区块20产生的时间。可以理解的是,该区块的结构可根据采用的区块链技术的不同进行调整,例如不采用Pow共识机制,则不存在上述的解随机数。在一具体应用中,该区块链底层系统可由分层结构的区块(Block)组成。根部是目录区块(DirectoryBlock)。这些区块本文档来自技高网...

【技术保护点】
1.一种文件存储方法,其特征在于,所述方法包括:区块链记账节点接收第一文件数据;利用哈希算法对所述第一文件数据进行计算,得到第一哈希值;利用所述第一哈希值和第二文件数据生成第二哈希值;将所述第二哈希值或者所述第一哈希值和所述第二哈希值两者存储于区块链中,以用于验证所述第一文件数据是否发生篡改。

【技术特征摘要】
1.一种文件存储方法,其特征在于,所述方法包括:区块链记账节点接收第一文件数据;利用哈希算法对所述第一文件数据进行计算,得到第一哈希值;利用所述第一哈希值和第二文件数据生成第二哈希值;将所述第二哈希值或者所述第一哈希值和所述第二哈希值两者存储于区块链中,以用于验证所述第一文件数据是否发生篡改。2.根据权利要求1所述的方法,其特征在于,所述第一文件数据和第二文件数据为不同的购售电合同数据。3.根据权利要求1所述的方法,其特征在于,所述利用哈希算法对所述第一文件数据进行计算,得到第一哈希值,包括:利用哈希算法对所述第一文件数据、所述第一文件数据的签署人信息以及签署时间进行计算,得到第一哈希值。4.根据权利要求1所述的方法,其特征在于,所述利用所述第一哈希值和第二文件数据生成第二哈希值,包括:将所述第一哈希值和由所述第二文件数据产生的第三哈希值进行绑定,得到所述第二哈希值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:利用所述第二哈希值和第三文件数据生成第四哈希值;将所述第四哈希值存储于区块链中,以用于验证所述第一文件数据是否发生篡改。6.根据权利要求...

【专利技术属性】
技术研发人员:鲁静程晗蕾向智宇陈利浩
申请(专利权)人:远光软件股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1