基于区块链的数据存储方法、装置、服务器及存储介质制造方法及图纸

技术编号:23764347 阅读:16 留言:0更新日期:2020-04-11 19:03
本发明专利技术公开了一种基于区块链的数据存储方法、装置、服务器及存储介质,属于网络技术领域,本方法将数据查询与区块链技术相结合,该方法通过设置数据权限信息提高了数据的安全性和隐私性,同时通过不同数据的不同目标策略,提升了数据查询权限设定的灵活性,更加的安全与智能。

Data storage methods, devices, servers and storage media based on blockchain

【技术实现步骤摘要】
基于区块链的数据存储方法、装置、服务器及存储介质本申请是申请日为2018年4月27日、申请号为201810393489.1、专利技术名称为“基于区块链的数据查询方法、装置、服务器及存储介质”的分案申请
本专利技术涉及网络
,特别涉及一种基于区块链的数据存储方法、装置、服务器及存储介质。
技术介绍
随着网络技术的发展,互联网可提供的业务越来越多,各种业务所产生的数据量也急剧膨胀,而在业务处理过程中,会涉及到对业务数据进行存储以及基于存储的查询。但在数据的查询过程中,数据会在设备之间进行传输,因此,可能会造成数据被篡改、泄露或窃取等情况,危害数据安全,所以如何安全高效的进行数据查询成为人们十分关心的问题。目前的数据存储方法,是基于用户账号的权限来进行的。而仅根据用户账号的权限来进行数据存储,无法对不同数据设置不同级别的查询权限,导致所存储的数据安全性低。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于区块链的数据存储方法、装置、服务器及存储介质。所述技术方案如下:一方面,提供了一种基于区块链的数据存储方法,所述方法包括:接收数据存储请求,获取待存储的第一数据的数据权限信息;获取所述第一数据的数据权限信息的目标策略中各个目标节点的公钥,对所述第一数据进行加密,得到加密数据;根据所述第一数据更新数据存储系统中的数据索引信息表,并将所述加密数据存储至所述数据存储系统中,所述数据索引信息表包括已存储数据的数据标识以及不同维度上的索引值;基于所述第一数据的数据标识、数据权限信息以及所述加密数据的数据特征值,生成目标区块,将所述目标区块加入所述目标区块链。一方面,提供了一种基于区块链的数据存储装置,所述装置包括:获取模块,用于接收数据存储请求,获取待存储的第一数据的数据权限信息;加密模块,用于获取该第一数据的数据权限信息的目标策略中各个目标节点的公钥,对该第一数据进行加密,得到加密数据;更新模块,用于根据该第一数据更新该数据存储系统中的数据索引信息表,并将该加密数据存储至该数据存储系统中,该数据索引信息表包括已存储数据的数据标识以及不同维度上的索引值;处理模块,用于基于该第一数据的数据标识、数据权限信息以及该加密数据的数据特征值,生成目标区块,将该目标区块加入该目标区块链。一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述基于区块链的数据查询方法所执行的操作。一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述基于区块链的数据查询方法所执行的操作。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种数据存储系统的结构示意图;图2是本专利技术实施例提供的一种基于区块链的数据查询方法的流程图;图3是本专利技术实施例提供的一种数据存储过程的示意图;图4是本专利技术实施例提供的一种数据查询过程的示意图;图5是本专利技术实施例提供的一种基于区块链的数据查询装置的结构示意图;图6是本专利技术实施例提供的一种服务器的示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。下面,对下述具体说明过程中出现的一些名词进行介绍:智能合约:根据特定条件自动执行的合约程序,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。例如,各家机构可以通过服务器中部署的区块链上的智能合约接入该数据存储系统,来使用该数据存储系统提供的数据存储以及数据查询等功能。目标策略:该目标策略可以是共识策略的一种,例如背书策略,可以用于指示数据存储系统中背书过程需满足的必要条件。例如,该背书策略可以指示需要背书的多个背书节点,形成一个背书节点集合,背书过程则需要该背书节点集合的联合签名。图1是本专利技术实施例提供的一种数据存储系统的结构示意图。该系统包括多个服务器101、多个存储设备102;其中,多个服务器101可以配置有同一条区块链,也即是,该多个服务器101可以组成区块链系统,各个服务器101分别为该区块链系统中的节点。该多个服务器101可以是同一机构的多个服务器,还可以是属于不同机构的多个服务器,例如,该区块链系统内可以包括医院的各个科室的服务器;当然,该区块链系统内还可以包括保险机构的服务器、银行的服务器等等。各个机构的用户可以通过终端1011来访问机构的服务器,该多个终端设备1011可以为能够访问该多个服务器101的电子设备,该电子设备可以为电脑、智能手机、平板电脑或者其他电子设备。当然,为了进行安全验证、权限管理等服务,区块链系统中配置有CA中心(CertificateAuthority,证书授权中心)103,用于存储各个机构的密钥,区块链系统中的各个服务器可以从CA中心中获取各个机构的密钥,以进行数据的加密和解密等过程。多个存储设备102用于为该多个服务器101提供存储服务,需要说明的是,该多个存储设备102可以组成分布式存储系统,用于采用分布式的形式来对提供存储数据。基于上述图1中所提供的实施环境,在终端有数据存储需求时,可以通过区块链系统所提供的存储机制,将数据存储至分布式系统中的存储设备中,以方便后续查询,下面对存储过程和查询过程进行介绍,图2是本专利技术实施例提供的一种基于区块链的数据查询方法的流程图,该方法的执行主体可以为区块链系统内的服务器,参见图2,该方法可以包括:201、当服务器接收到数据存储请求时,基于该数据存储请求所对应的初始数据,生成第一数据,该第一数据的数据长度为预设数据长度,且该第一数据的维度与数据索引信息表内的数据维度相对应。当服务器需要存储数据时,为了便于后续的存储和查询,可以对数据存储请求对应的初始数据进行规范化,该规范化包括两部分,一是对初始数据的各个维度进行规范化,二是对数据长度进行规范化。具体地,该步骤201可以包括下述步骤一至步骤三:步骤一、将该初始数据在各个维度上的数据信息转换为对应的索引值,得到该初始数据的不同维度的索引值。对于初始数据来说,其可以具有多个不同维度上的信息,因此,为了使得数据的表达方式统一,可以将该初始数据在各个维度上的数据信息转换为标准数值,以表达不同维度上的数据信息。例如,对于一条患者档案来说,其维度可以包括性别维度和科室维度,其中,性别维度包括男性、女性,科室维度包括内科、外科以及眼科等等。需要说明的是,在进行转换时,初始数据具体转换为哪些维度的索引值,可以基于该初始数据对应的数据索引信息表确定,不同类型的初始数据可本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据存储方法,其特征在于,所述方法包括:/n接收数据存储请求,获取待存储的第一数据的数据权限信息;/n获取所述第一数据的数据权限信息的目标策略中各个目标节点的公钥,对所述第一数据进行加密,得到加密数据;/n根据所述第一数据更新数据存储系统中的数据索引信息表,并将所述加密数据存储至所述数据存储系统中,所述数据索引信息表包括已存储数据的数据标识以及不同维度上的索引值;/n基于所述第一数据的数据标识、数据权限信息以及所述加密数据的数据特征值,生成目标区块,将所述目标区块加入所述目标区块链。/n

【技术特征摘要】
1.一种基于区块链的数据存储方法,其特征在于,所述方法包括:
接收数据存储请求,获取待存储的第一数据的数据权限信息;
获取所述第一数据的数据权限信息的目标策略中各个目标节点的公钥,对所述第一数据进行加密,得到加密数据;
根据所述第一数据更新数据存储系统中的数据索引信息表,并将所述加密数据存储至所述数据存储系统中,所述数据索引信息表包括已存储数据的数据标识以及不同维度上的索引值;
基于所述第一数据的数据标识、数据权限信息以及所述加密数据的数据特征值,生成目标区块,将所述目标区块加入所述目标区块链。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据更新数据存储系统中的数据索引信息表包括:
提取所述第一数据的数据标识以及不同维度上的索引值;
将所述第一数据的数据标识以及不同维度上的索引值添加至所述数据索引信息表中。


3.根据权利要求1所述的方法,其特征在于,所述接收数据存储请求之后,所述方法还包括:
基于所述数据存储请求所对应的初始数据,生成所述第一数据,所述第一数据的数据长度为预设数据长度,且所述第一数据的维度与所述数据索引信息表内的数据维度相对应。


4.根据权利要求3所述的方法,其特征在于,所述基于所述数据存储请求所对应的初始数据,生成所述第一数据包括:
将所述初始数据在各个维度上的数据信息转换为对应的索引值,得到所述初始数据的不同维度的索引值;
当所述初始数据的数据长度小于所述预设数据长度时,在所述初始数据之后填充预设数据;
基于所述初始数据的不同维度的索引值和填充后的数据,生成所述第一数据。


5.根据权利要求1所述的方法,其特征在于,将所述目标区块加入所述目标区块链之后,所述方法还包括:
根据查询请求,获取待查询的第一数据的数据标识,所述查询请求携带发起查询请求的用户标识;
根据所述数据标识,获取区块链系统中的目标区块链中目标区块内的数据权限信息;
当所述数据权限信息不包括所述用户标识时,向所述区块链系统中的至少一个目标节点发送查询许可请求,所述查询许可请求携带所述用户标识和所述数据标识;
当接收到的查询许可响应符合所述数据权限信息中的目标策略时,根据所述数据标识,从数据存储系统中获取所述第一数据。


6.根据权利要求5所述的方法,其特征在于,所述根据所述数据标识,获取区块链系统中的目标区块链中目标区块内的数据权限信息之后,所述方法还包括:
当所述数据权限信息包括所述用户标识时,根据所述数据标识,从所述数据存储系统中获取所述第一数据。


7.根据权利要求5所述的方法,其特征在于,所述根据查询请求,获取待查询的第一数据的数据标识包括:
获取所述查询请求中的查询条件信息,所述查询条件信息包括至少一个目标维度的目标索引值;
根据所述至少一个目标维度的目标索引值,查询所述数据存储系统中的数据索引信息表,得到所述第一数据的数据标识,所述数据索引信息表包括已存储数据的数据标识以及不同维度上的索引值。


8.根据权利要求7所述的方法,其特征在于,所述根据所述至少一个目标维度的目...

【专利技术属性】
技术研发人员:尚志豪周洪飞
申请(专利权)人:腾讯科技深圳有限公司腾讯云计算北京有限责任公司
类型:发明
国别省市:广东;44

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

1