一种基于区块链的业务文件存储方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种基于区块链的业务文件存储方法及装置、一种基于区块链的业务文件查询方法及装置、一种计算设备及计算机可读存储介质。
背景技术
区块链技术是一种新型去中心化协议,能够安全存储相关的数据,信息不可伪造和篡改,且有较强的历史回溯性,区块链上的交易和信息数据存取认证由区块链上的所有节点共同完成,不断创新的共识算法保证其一致性;其中,所述区块链又包括公有链、私有链和联盟链。因此当前有很多用户习惯将重要的业务文件等存储到区块链,在需要的时候可以实现多用户从区块链查询使用该业务文件,那么如何保证业务文件的快速安全传输至区块链是目前待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于区块链的业务文件存储方法及装置、一种基于区块链的业务文件查询方法及装置、一种计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
第一方面,本说明书一实施例公开了一种基于区块链的业务文件存储方法,包括:
获取携带有业务标识的业务文件;
基于预设分割方法将所述业务文件分割为至少一个分割文件,其中,每个分割文件均携带有所述业务标识;
基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件;
对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值;
基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
可选地,所述业务文件包括保险机构的电子保单。
可选地,基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件之后,还包括:
基于预设加密密钥对每个压缩分割文件进行加密,形成至少一个加密分割文件。
可选地,对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值包括:
对每个加密分割文件进行哈希运算,并生成每个加密分割文件对应的哈希值。
可选地,基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点包括:
基于所述哈希值和所述业务标识生成匹配表,并将每个加密分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。
可选地,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDKdeflate压缩算法或LZ4压缩算法。
可选地,所述预设加密密钥包括根据预设的对称加密密钥生成的加密密钥。
第二方面,本说明书一实施例提供了一种基于区块链的业务文件查询方法,包括:
接收业务文件查询请求,其中,所述查询请求中携带有业务标识;
基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定至少一个哈希值,其中,所述信息存储节点对应于所述业务联盟链的区块链节点;
基于所述至少一个哈希值确定对应的至少一个压缩分割文件;
基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件;
对所述至少一个解压分割文件进行拼接形成业务文件。
可选地,所述业务文件包括保险机构的电子保单。
可选地,基于所述至少一个哈希值确定对应的至少一个压缩分割文件之后,还包括:
在所述至少一个压缩分割文件为加密后形成的加密分割文件的情况下,采用预设解密密钥对所述加密分割文件进行解密,形成解密分割文件。
可选地,基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件包括:
基于预设解压缩算法对每个解密分割文件进行解压缩,形成至少一个解压分割文件。
可选地,所述预设解压缩算法包括根据预设压缩算法确定的对称的解压缩算法,其中,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDK deflate压缩算法或LZ4压缩算法。
可选地,所述预设解密密钥包括根据预设加密密钥确定的对称的解密密钥。
第三方面,本说明书一实施例公开了一种基于区块链的业务文件存储装置,包括:
获取模块,被配置为获取携带有业务标识的业务文件;
分割模块,被配置为基于预设分割方法将所述业务文件分割为至少一个分割文件,其中,每个分割文件均携带有所述业务标识;
压缩模块,被配置为基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件;
哈希模块,被配置为对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值;
存储模块,被配置为基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
可选地,所述业务文件包括保险机构的电子保单。
可选地,所述装置还包括:
加密模块,被配置为基于预设加密密钥对每个压缩分割文件进行加密,形成至少一个加密分割文件。
可选地,所述哈希模块,进一步被配置为:
对每个加密分割文件进行哈希运算,并生成每个加密分割文件对应的哈希值。
可选地,所述存储模块,进一步被配置为:
基于所述哈希值和所述业务标识生成匹配表,并将每个加密分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。
可选地,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDKdeflate压缩算法或LZ4压缩算法。
可选地,所述预设加密密钥包括根据预设的对称加密密钥生成的加密密钥。
第四方面,本说明书一实施例公开了一种基于区块链的业务文件查询装置,包括:
接收模块,被配置为接收业务文件查询请求,其中,所述查询请求中携带有业务标识;
哈希值确定模块,被配置为基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定至少一个哈希值,其中,所述信息存储节点对应于所述业务联盟链的区块链节点;
分割文件确定模块,被配置为基于所述至少一个哈希值确定对应的至少一个压缩分割文件;
解压缩模块,被配置为基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件;
拼接模块,被配置为对所述至少一个解压分割文件进行拼接形成业务文件。
可选地,所述业务文件包括保险机构的电子保单。
可选地,所述装置还包括:
解密模块,被配置为在所述至少一个压缩分割文件为加密后形成的加密分割文件的情况下,采用预设解密密钥对所述加密分割文件进行解密,形成解密分割文件。
可选地,所述解压缩模块,进一步被配置为:
基于预设解压缩算法对每个解密分割文件进行解压缩,形成至少一个解压分割文件。
可选地,所述预设解压缩算法包括根据预设压缩算法确定的对称的解压缩算法,其中,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDK deflate压缩算法或LZ4压缩算法。
可选地,所述预设解密密钥包括根据预设加密密钥确定的对称的解密密钥。
第五方面,本说明书一实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述基于区块链的业务文件存储方法或所述基于区块链的业务文件查询方法的步骤。
第六方面,本说明书一实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述基于区块链的业务文件存储方法或所述基于区块链的业务文件查询方法的步骤。
本说明书提供的一种基于区块链的业务文件存储方法及装置、一种基于区块链的业务文件查询方法及装置、一种计算设备及计算机可读存储介质,其中,所述基于区块链的业务文件存储方法包括获取携带有业务标识的业务文件;基于预设分割方法将所述业务文件分割为至少一个携带有业务标识的分割文件;基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件;对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值;基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。通过将业务文件进行分割、压缩的方式解决业务文件存储至区块链的上链效率和存储空间问题,并且利用区块链的不可篡改和信任机制保存业务文件,防止单方面篡改,保证业务文件的信息安全。
附图说明
图1是本说明书一个或多个实施例提供的一种计算设备的结构示意图;
图2是本说明书一个或多个实施例提供的一种基于区块链的业务文件存储方法的流程图;
图3是本说明书一个或多个实施例提供的一种基于区块链的业务文件查询方法的流程图;
图4是本说明书一个或多个实施例提供的以业务文件为电子保单的一种基于区块链的业务文件存储方法和基于区块链的业务文件查询方法的流程图;
图5是本说明书一个或多个实施例提供的以业务文件为电子保单的一种基于区块链的业务文件存储方法和基于区块链的业务文件查询方法的交互示意图;
图6是本说明书一个或多个实施例提供的一种基于区块链的业务文件存储装置的结构示意图;
图7是本说明书一个或多个实施例提供的一种基于区块链的业务文件查询装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
区块链:本质是一种开源分布式账本,它是比特币和其他虚拟货币的核心技术,能高效记录买卖双方的交易,并保证这些记录是可查证且永久保存的。具有去中心化、去中介化、信息透明、无法篡改和安全等特点;包括公有链、私有链和联盟链。
联盟链:由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他任何公司和组织可以通过该区块链开放的API进行限定访问。
电子保单:保险公司借助遵循PKI体系的数字签名软件和企业数字证书为客户签发的具有保险公司电子签名的电子化保单。
压缩算法:数据压缩的算法,在电子与通信领域也常被称为信号编码,包括压缩和还原即解压缩(或解码和编码)两个步骤。
在本说明书中,提供了一种基于区块链的业务文件存储方法及装置、一种基于区块链的业务文件查询方法及装置、一种计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2示出了根据本申请一实施例的基于区块链的业务文件存储方法的示意性流程图,包括步骤202至步骤210。
步骤202:获取携带有业务标识的业务文件。
其中,所述业务文件包括但不限于保险机构的电子保单;所述业务标识为每个业务文件对应的唯一标识信息,例如由特殊字符或特殊符号等组成的唯一标识信息。
若所述业务文件为保险机构的电子保单,则获取携带有业务标识的业务文件,即为获取携带有唯一标识信息的电子保单。
步骤204:基于预设分割方法将所述业务文件分割为至少一个分割文件,其中,每个分割文件均携带有所述业务标识。
具体地,所述预设分割方法包括但不限于对所述业务文件按页进行拆分或者是对所述业务文件按照预设大小进行拆分等。
实际应用中,若所述业务文件为保险机构的电子保单,基于预设分割方法将所述业务文件分割为至少一个分割文件,则可以理解为将保险机构的电子保单按页拆分成有序的多个PDF格式或WORD格式的分割文件,例如分割文件1、分割文件2...分割文件N等。
步骤206:基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件。
其中,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDKdeflate压缩算法或LZ4压缩算法。
所述Snappy无损压缩算法是一种速度与压缩比都相对较优的压缩算法;
所述JDK GZIP压缩算法是一个压缩比高的慢速算法,压缩后的数据适合长期使用;
所述JDK deflate压缩算法是JDK中的又一个算法。它与JDK GZIP压缩算法的不同之处在于,可以指定算法的压缩级别,这样可以在压缩时间和输出文件大小上进行平衡;
所述LZ4压缩算法的压缩速度最快。
实际使用中,可以使用上述压缩算法中的其中一种对每个分割文件进行压缩,也可以采用现有技术中其他较好的压缩算法实现对每个分割文件的压缩,本说明书对此不作限定。
先对所述业务文件进行分割,分割为多个字节较小的分割文件,再对每个分割文件进行压缩,压缩后的分割文件变为压缩分割文件,极大的减小了业务文件的字节总数,使压缩分割文件可以通过较慢的互联网连接实现更快传输,还可以减少分割文件的磁盘占用空间。
此外,为了保证分割文件中的信息安全,还可以对每个分割文件进行加密。
即基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件之后,还包括:基于预设加密密钥对每个压缩分割文件进行加密,形成至少一个加密分割文件。
其中,所述预设加密密钥包括根据预设的对称加密密钥生成的加密密钥。
实际使用中,可以采用现有技术中的加密方式对每个分割文件进行加密,形成加密分割文件,本说明书对此不作任何限定。
步骤208:对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值。
采用哈希运算将每个分割文件转换成一个固定长度的字符串,即哈希值。通过对所述分割文件的哈希运算可以实现后续对业务文件的校验,提高分割文件的安全性。
步骤210:基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
实际应用中,将一个业务文件分割为多个有序的分割文件,每个分割文件均携带有该业务文件的相同业务标识,在对每个分割文件压缩、哈希运算之后,每个压缩分割文件均会对应一个不同的哈希值,此时将该业务文件对应的多个压缩分割文件的哈希值和业务标识生成匹配表,例如表1,以便后续可以通过业务标识对应找到该业务文件对应的所有哈希值,然后基于哈希值确定对应的多个压缩分割文件。
表1
业务标识 |
序号 |
哈希值 |
Abc |
1 |
压缩1哈希值 |
Abc |
... |
压缩...哈希值 |
Abc |
N |
压缩N哈希值 |
通过表1可以看出,业务标识Abc对应的业务文件被分割为N个分割文件,每个分割文件经过压缩、哈希运算之后生成一个唯一的哈希值“压缩1哈希值至压缩N哈希值”。
将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,即将每个压缩分割文件和所述匹配表上传存储至业务联盟链的距离最近的区块链节点上,然后基于业务联盟链的共识算法实现每个区块链节点上存储的压缩分割文件和所述匹配表一致。
本说明书一个或多个实施例中,在对每个压缩分割文件进行哈希运算之前,可以基于预设加密密钥对每个压缩分割文件进行加密,形成至少一个加密分割文件,然后对每个加密分割文件进行哈希运算,并生成每个加密分割文件对应的哈希值。
那么基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,则包括:
基于所述哈希值和所述业务标识生成匹配表,并将每个加密分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。
本说明书一个或多个实施例中,所述基于区块链的业务文件存储方法包括获取携带有业务标识的业务文件;基于预设分割方法将所述业务文件分割为至少一个携带有业务标识的分割文件;基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件;对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值;基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。通过将业务文件进行分割、压缩的方式解决业务文件存储至区块链的上链效率和存储空间问题,并且利用区块链的不可篡改和信任机制保存业务文件,防止单方面篡改,保证业务文件的信息安全,此外还可以对压缩业务文件进行加密,保护了业务文件的隐私信息。
所述处理器120可以执行图3所示方法中的步骤。图3示出了根据本说明书一实施例的基于区块链的业务文件查询方法的示意性流程图,包括步骤302至步骤310。
步骤302:接收业务文件查询请求,其中,所述查询请求中携带有业务标识。
其中,所述业务文件包括但不限于保险机构的电子保单;所述业务标识为每个业务文件对应的唯一标识信息,例如由特殊字符或特殊符号等组成的唯一标识信息。
若所述业务文件为保险机构的电子保单,则接收业务文件查询请求,即为接收携带有唯一标识信息的电子保单的查询请求。
步骤304:基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定至少一个哈希值,其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
本说明书一个或多个实施例中,所述业务联盟链的每一个区块链节点上存储的匹配表均相同,因此可以基于所述哈希值在业务联盟链的任一个信息存储节点上存储的匹配表中查找该业务标识对应的多个哈希值。
步骤306:基于所述至少一个哈希值确定对应的至少一个压缩分割文件。
仍以表1为例,若所述业务标识为Abc,则可以确定对应的哈希值为“压缩1哈希值至压缩N哈希值”。
然后基于哈希值“压缩1哈希值至压缩N哈希值”确定每个哈希值对应的压缩分割文件。
步骤308:基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件。
其中,所述预设解压缩算法包括但不限于根据预设压缩算法确定的对称的解压缩算法,其中,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDK deflate压缩算法或LZ4压缩算法。
该四种压缩算法的具体解释可以参见上述实施例,在此不做赘述。
步骤310:对所述至少一个解压分割文件进行拼接形成业务文件。
本说明书一个或多个实施例中,基于所述至少一个哈希值确定对应的至少一个压缩分割文件之后,还包括:
在所述至少一个压缩分割文件为加密后形成的加密分割文件的情况下,采用预设解密密钥对所述加密分割文件进行解密,形成解密分割文件。
其中,所述预设解密密钥包括根据预设加密密钥确定的对称的解密密钥。
实际应用中,所述基于区块链的业务文件存储方法与所述基于区块链的业务文件查询方法中的加密、解密以及压缩与解压缩,均可以采用现有技术中的方法,只需实现分割文件的加密、解密以及压缩与解压缩即可,本申请对此不作任何限定。
在所述压缩分割文件为加密分割文件的情况下,基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件包括:
基于预设解压缩算法对每个解密分割文件进行解压缩,形成至少一个解压分割文件。
最后对所述至少一个解压分割文件进行拼接形成业务文件。
本说明书一个或多个实施例中,所述基于区块链的业务文件查询方法包括接收业务文件查询请求,其中,所述查询请求中携带有业务标识;基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定至少一个哈希值,其中,所述信息存储节点对应于所述业务联盟链的区块链节点;基于所述至少一个哈希值确定对应的至少一个压缩分割文件;基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件;对所述至少一个解压分割文件进行拼接形成业务文件。通过查询请求中的业务标识基于存储在某一业务联盟链的区块链节点上的匹配表确定对应的哈希值,然后基于该哈希值从该业务联盟链的区块链节点上下载与该哈希值对应的加密、压缩的分割文件,然后对加密、压缩的分割文件进行解密、解压缩后进行拼接,形成业务标识对应的完整的业务文件,通过业务标识、哈希值、解密以及解压缩等多重验证方式极大程度的保证了业务文件的隐私安全。
参见图4、图5,以所述业务文件为保险机构的电子保单为例,对所述基于区块链的业务文件存储方法和所述基于区块链的业务文件查询方法进行详细说明,包括步骤402至步骤420。
步骤402:在对电子保单进行存储时,获取携带有业务标识的电子保单。
步骤404:基于预设分割方法将所述电子保单分割为N个分割文件,其中,每个分割文件均携带有所述业务标识。
步骤406:基于预设压缩算法对每个分割文件进行压缩,形成N个压缩分割文件。
步骤408:对N个压缩分割文件进行哈希运算,并生成N个压缩分割文件对应的N个哈希值。
步骤410:基于所述N个哈希值和所述业务标识生成匹配表,并将N个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。
步骤412:在对电子保单进行查询时,接收电子保单查询请求,其中,所述查询请求中携带有业务标识。
步骤414:基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定N个哈希值。
其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
步骤416:基于所述N个哈希值确定对应的N个压缩分割文件。
步骤418:基于预设解压缩算法对N个压缩分割文件进行解压缩,形成N个解压分割文件。
步骤420:对所述N个解压分割文件进行拼接形成电子保单。
本说明书一个或多个实施例中,通过分割、压缩的方式解决了区块链块小文件上链效率和存储问题,提高联盟链出块成功率,利用区块链的不可篡改和信任机制保存电子保单,防止单方面篡改,保证了出险后的理赔和监管审计,并且利用加解密的方式保证电子保单的内容只有持有公钥的机构组织才能查看,保证用户隐私安全。
参见图6,本说明书一实施例公开了一种基于区块链的业务文件存储装置,包括:
获取模块602,被配置为获取携带有业务标识的业务文件;
分割模块604,被配置为基于预设分割方法将所述业务文件分割为至少一个分割文件,其中,每个分割文件均携带有所述业务标识;
压缩模块606,被配置为基于预设压缩算法对每个分割文件进行压缩,形成至少一个压缩分割文件;
哈希模块608,被配置为对每个压缩分割文件进行哈希运算,并生成每个压缩分割文件对应的哈希值;
存储模块610,被配置为基于所述哈希值和所述业务标识生成匹配表,并将每个压缩分割文件和所述匹配表存储至业务联盟链的一个信息存储节点,其中,所述信息存储节点对应于所述业务联盟链的区块链节点。
可选地,所述业务文件包括保险机构的电子保单。
可选地,所述装置还包括:
加密模块,被配置为基于预设加密密钥对每个压缩分割文件进行加密,形成至少一个加密分割文件。
可选地,所述哈希模块608,进一步被配置为:对每个加密分割文件进行哈希运算,并生成每个加密分割文件对应的哈希值。
可选地,所述存储模块610,进一步被配置为:
基于所述哈希值和所述业务标识生成匹配表,并将每个加密分割文件和所述匹配表存储至业务联盟链的一个信息存储节点。
可选地,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDKdeflate压缩算法或LZ4压缩算法。
可选地,所述预设加密密钥包括根据预设的对称加密密钥生成的加密密钥。
本说明书一个或多个实施例中,所述基于区块链的业务文件存储装置通过将业务文件进行分割、压缩的方式解决业务文件存储至区块链的上链效率和存储空间问题,并且利用区块链的不可篡改和信任机制保存业务文件,防止单方面篡改,保证业务文件的信息安全,此外还可以对压缩业务文件进行加密,保护了业务文件的隐私信息。
参见图7,本说明书一实施例公开了一种基于区块链的业务文件查询装置,包括:
接收模块702,被配置为接收业务文件查询请求,其中,所述查询请求中携带有业务标识;
哈希值确定模块704,被配置为基于所述业务标识从业务联盟链的任一信息存储节点存储的匹配表中确定至少一个哈希值,其中,所述信息存储节点对应于所述业务联盟链的区块链节点;
分割文件确定模块706,被配置为基于所述至少一个哈希值确定对应的至少一个压缩分割文件;
解压缩模块708,被配置为基于预设解压缩算法对每个压缩分割文件进行解压缩,形成至少一个解压分割文件;
拼接模块710,被配置为对所述至少一个解压分割文件进行拼接形成业务文件。
可选地,所述业务文件包括保险机构的电子保单。
可选地,所述装置还包括:
解密模块,被配置为在所述至少一个压缩分割文件为加密后形成的加密分割文件的情况下,采用预设解密密钥对所述加密分割文件进行解密,形成解密分割文件。
可选地,所述解压缩模块708,进一步被配置为:
基于预设解压缩算法对每个解密分割文件进行解压缩,形成至少一个解压分割文件。
可选地,所述预设解压缩算法包括根据预设压缩算法确定的对称的解压缩算法,其中,所述预设压缩算法包括Snappy无损压缩算法、JDK GZIP压缩算法、JDK deflate压缩算法或LZ4压缩算法。
可选地,所述预设解密密钥包括根据预设加密密钥确定的对称的解密密钥。
本说明书一个或多个实施例中,所述基于区块链的业务文件查询装置通过查询请求中的业务标识基于存储在某一业务联盟链的区块链节点上的匹配表确定对应的哈希值,然后基于该哈希值从该业务联盟链的区块链节点上下载与该哈希值对应的加密、压缩的分割文件,然后对加密、压缩的分割文件进行解密、解压缩后进行拼接,形成业务标识对应的完整的业务文件,通过业务标识、哈希值、解密以及解压缩等多重验证方式极大程度的保证了业务文件的隐私安全。
上述为本实施例的一种基于区块链的业务文件存储装置和一种基于区块链的业务文件查询装置的示意性方案。需要说明的是,该基于区块链的业务文件存储装置和基于区块链的业务文件查询装置的技术方案与上述的基于区块链的业务文件存储方法和基于区块链的业务文件查询方法的技术方案属于同一构思,基于区块链的业务文件存储装置和基于区块链的业务文件查询装置的技术方案未详细描述的细节内容,均可以参见上述基于区块链的业务文件存储方法和基于区块链的业务文件查询方法的技术方案的描述。
本说明书一实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述基于区块链的业务文件存储方法或所述基于区块链的业务文件查询方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于区块链的业务文件存储方法或基于区块链的业务文件查询方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于区块链的业务文件存储方法或基于区块链的业务文件查询方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述基于区块链的业务文件存储方法或基于区块链的业务文件查询方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于区块链的业务文件存储方法或基于区块链的业务文件查询方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于区块链的业务文件存储方法或基于区块链的业务文件查询方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。