基于区块链的数据获取方法、系统、存储介质及电子装置与流程

文档序号:31708878发布日期:2022-10-01 13:58阅读:110来源:国知局
基于区块链的数据获取方法、系统、存储介质及电子装置与流程

1.本技术涉及区块链以及金融科技领域,具体而言,涉及一种基于区块链的数据获取方法、系统、存储介质及电子装置。


背景技术:

2.在金融科技领域中,银行使用的系统规模庞大、需要处理的数据繁多,而在相关技术人员开发和维护银行后台交易系统的过程中,经常需要访问生产上实时的数据,但是为了维护银行的数据安全,后台维护和开发人员获取生产数据时,需要经过多方审批确认,才能由运维人员协助获取生产数据。这种获取生产数据的方式虽然极大程度上维护了生产数据的安全,但是在解决生产问题和需要获取生产数据决定后续开发决策时缺消耗了许多时间,降低了解决问题的效率。
3.针对相关技术中后台用户获取业务数据效率低、消耗时间长的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术的主要目的在于提供一种基于区块链的数据获取方法、系统、存储介质及电子装置,以解决相关技术中后台用户获取业务数据效率低、消耗时间长的问题。
5.为了实现上述目的,根据本技术的一个方面,提供了一种基于区块链的数据获取方法。该方法包括:通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息,其中,数据获取群组包括区块链上的多个数据获取节点;通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组包括区块链上的多个权限管理节点;在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果;通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组包括区块链上的多个数据加密节点。
6.可选地,通过权限管理群组对查询对象的身份信息进行验证包括:确定身份信息对应的账户信息,并根据账户信息查询映射关系表,得到账户信息对应的终端设备,其中,映射关系表中存储有多个账户信息以及每个账户信息对应的设备标识信息;向终端设备发送验证码,并检测是否接收到终端设备反馈的验证码;在检测到终端设备反馈的验证码的情况下,确定查询对象的身份信息验证通过。
7.可选地,在身份信息验证通过的情况下,对查询请求的查询权限进行验证包括:验证查询请求的语句是否符合条件;和/或验证查询请求的属性是否符合条件,其中,属性至少包括以下之一:查询量、查询范围、查询原因。
8.可选地,在通过数据获取群组获取查询对象发起的查询请求之后,该方法还包括:将查询请求转化为目标格式,其中,目标格式为数据库识别的格式;在从数据库中获取查询
请求对应的查询结果之前,该方法还包括:对查询请求的可执行性进行验证,并在可执行性验证通过的情况下,执行从数据库中获取查询请求对应的查询结果的步骤。
9.可选地,在通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象之后,该方法还包括:通过数据生命周期管理群组检测加密数据是否被发送至查询对象,其中,生命周期管理群组包括区块链上的多个生命周期管理节点;在加密数据被发送至查询对象的情况下,清除数据获取群组中缓存的加密数据;在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长;在加密数据的获取时间大于第一预设时长的情况下,清除数据获取群组中缓存的加密数据。
10.可选地,在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长之后,该方法还包括:在加密数据的获取时间小于第一预设时长的情况下,判断加密数据的获取时间是否大于第二预设时长,其中,第二预设时长小于第一预设时长;在加密数据的获取时间大于第二预设时长的情况下,通过数据加密群组对查询结果重新进行加密,得到更新后的加密数据和更新后的解密密钥,并将更新后的解密密钥发送至查询对象;判断通过数据加密群组对查询结果重新进行加密的次数是否大于预设次数,并在大于预设次数的情况下,清除数据获取群组中缓存的加密数据。
11.为了实现上述目的,根据本技术的另一方面,提供了一种基于区块链的数据获取系统。该装系统包括:数据获取群组,用于获取查询对象发起的查询请求以及查询对象的身份信息,还用于在查询对象的身份信息和查询请求的查询权限验证通过的情况下,从数据库中获取查询请求对应的查询结果,其中,数据获取群组包括区块链上的多个数据获取节点;权限管理群组,用于对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组包括区块链上的多个权限管理节点;数据加密群组,用于对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,还用于检测是否接收到查询对象发送的数据获取指令,并在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组包括区块链上的多个数据加密节点。
12.可选地,该系统还包括:终端设备,包括用户界面以及身份信息识别控件,其中,用户界面用于接收查询对象输入的查询请求,并触发向数据获取群组发起查询请求的操作,还用于显示权限管理群组基于身份信息返回的验证码,并接收查询对象输入的验证码,以通过权限管理群组对身份信息进行验证;身份信息识别控件用于识别查询对象的身份信息,其中,身份信息识别控件至少包括以下之一:指纹识别控件,人脸识别控件。
13.可选地,该系统还包括:数据生命周期管理群组,用于在加密数据被发送至查询对象的情况下,清除数据获取群组中缓存的加密数据;在加密数据未被发送至查询对象的情况下,若加密数据的获取时间大于第一预设时长,则清除数据获取群组中缓存的加密数据,若加密数据的获取时间小于第一预设时长且大于第二预设时长,则通过数据加密群组对查询结果重新进行加密,若通过数据加密群组对查询结果重新进行加密的次数大于预设次数,则清除数据获取群组中缓存的加密数据,其中,生命周期管理群组包括区块链上的多个生命周期管理节点。
14.为了实现上述目的,根据本技术的另一方面,提供了一种基于区块链的数据获取装置。该装置包括:第一获取单元,用于获取查询对象发起的查询请求以及查询对象的身份
信息;验证单元,用于对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证;第二获取单元,用于在查询权限验证通过的情况下,从数据库中获取查询请求对应的查询结果;加密单元,用于对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据。
15.根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质用于存储程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种基于区块链的数据获取方法。
16.根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种基于区块链的数据获取方法。
17.通过本技术,采用以下步骤:通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息;通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证;在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果;通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,解决了相关技术中后台用户获取业务数据效率低、消耗时间长的问题。通过数据获取群组、权限管理群组、数据加密群组共同参与数据查询的过程,进而达到了后台用户获取业务数据高效、省时的效果。
附图说明
18.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
19.图1是根据本技术实施例提供的基于区块链的数据获取方法的流程图;
20.图2是根据本技术实施例提供的基于区块链的数据获取系统的结构图;
21.图3是根据本技术实施例提供的基于区块链的数据获取方法的流程图;
22.图4是根据本技术实施例提供的终端设备的结构图;
23.图5是根据本技术实施例提供的基于区块链的数据获取方法的电子设备示意图。
具体实施方式
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
28.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的基于区块链的数据获取方法的流程图,如图1所示,该方法包括如下步骤:
29.步骤s101,通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息,其中,数据获取群组包括区块链上的多个数据获取节点。
30.具体的,查询对象在终端设备上发起查询请求,终端设备作为查询辅助装置,将查询请求以及查询对象的身份信息上传到区块链的数据获取节点上,其中,查询对象可以为运维用户,查询请求可以用于请求从数据库获取业务数据,以支持运维工作,查询对象的身份信息可以包括账户、密码等信息。
31.步骤s102,通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组包括区块链上的多个权限管理节点。
32.具体的,权限管理群组接收到保存在区块链上的查询请求信息后,可以向用户的查询辅助装置发送验证码以核实用户身份,在用户身份之后,把查询语句进行转换和检查,以验证查询请求的查询权限。
33.步骤s103,在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果。
34.具体的,查询请求通过权限管理群组的检查和审批后,通过数据获取群组在数据库中进行数据查询,获取查询请求对应的查询结果。
35.步骤s104,通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组包括区块链上的多个数据加密节点。
36.具体的,获取到查询结果后,按照预先部署的加密算法对查询结果进行加密,得到加密数据,将加密数据上传到区块链上等待用户获取,并生成解密密钥发送给用户,用户收到解密密钥后发送数据获取指令,数据加密群组检测到该指令后将加密数据发送给用户。
37.在一种可选的实施例中,可以利用sm9算法对查询结果进行加密,sm9算法的密钥由kgc(密钥生成中心)生成,主要包括kgc的加密主密钥对和用户的私钥。数据加密主密钥对:其私钥是一个在[1,n-1]范围内的随机数;公钥是g1群的基点p1的倍点,倍数为私钥。主密钥对的公私钥用在不同场景,其中主私钥仅用于查询用户私钥;主公钥则由kgc公开并用在链上。查询用户私钥由kgc产生,包括签名私钥和加密私钥。签名私钥:是g1群的基点p1的倍点。签名私钥仅用于数字签名中;加密私钥:是g2群的基点p2的倍点;加密私钥用于密钥
解封、解密和密钥交换中私钥。kgc使用主私钥和用户身份标识生成用户的私钥,再通过数据库辅助装置发送到用户,用户即可以采用私钥对获取到的加密数据进行解密。
[0038]
通过本技术,采用以下步骤:通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息;通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证;在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果;通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,解决了相关技术中后台用户获取业务数据效率低、消耗时间长的问题。通过数据获取群组、权限管理群组、数据加密群组共同参与数据查询的过程,进而达到了后台用户获取业务数据高效、省时的效果。
[0039]
可选地,在本技术实施例提供的基于区块链的数据获取方法中,通过权限管理群组对查询对象的身份信息进行验证包括:确定身份信息对应的账户信息,并根据账户信息查询映射关系表,得到账户信息对应的终端设备,其中,映射关系表中存储有多个账户信息以及每个账户信息对应的设备标识信息;向终端设备发送验证码,并检测是否接收到终端设备反馈的验证码;在检测到终端设备反馈的验证码的情况下,确定查询对象的身份信息验证通过。
[0040]
具体的,账户信息可以包括用户的查询账户和密码,在得到账号信息之后,通过预先保存的账户信息与设备标识信息的映射关系表获取终端设备标识信息,终端设备标识信息可以是设备的唯一识别码,进步一步地,再向设备标识信息对应的终端设备发送验证码,若收到用户的终端设备反馈的验证码,则确定查询对象的身份信息验证通过。
[0041]
可选地,在本技术实施例提供的基于区块链的数据获取方法中,在身份信息验证通过的情况下,对查询请求的查询权限进行验证包括:验证查询请求的语句是否符合条件;和/或验证查询请求的属性是否符合条件,其中,属性至少包括以下之一:查询量、查询范围、查询原因。
[0042]
需要说明的是,查询权限的验证是根据预先设置的权限管理规范以及查询管理规范来验证的,包括查询数据语句规范、用户查询规范、查询授权规范。其中,查询数据语句规范制定了语句查询效率规范、语句查询字段规范、语句查询数据字典规范等。用户查询规范制定了用户查询应用划分原则、用户查询数据量原则等。查询授权规范,制定了数据查询原因规范等。
[0043]
具体地,根据以上的规范检查用户是否可以进行相关数据库操作,如果可以则授权进行相关数据查询,否则拒绝该请求。本实施例通过预先部署授权规范对查询请求的查询权限进行验证,省去了等待相关部门审批的流程,可以更快捷的获取生产数据,提高了工作效率。
[0044]
可选地,在本技术实施例提供的基于区块链的数据获取方法中,在通过数据获取群组获取查询对象发起的查询请求之后,该方法还包括:将查询请求转化为目标格式,其中,目标格式为数据库识别的格式;在从数据库中获取查询请求对应的查询结果之前,该方法还包括:对查询请求的可执行性进行验证,并在可执行性验证通过的情况下,执行从数据库中获取查询请求对应的查询结果的步骤。
[0045]
具体的,数据获取群组对业务人员上送的数据请求进行翻译和转变,得到可以通过数据库获取的形式,同时依据查询权限的验证规则对查询请求的可执行性进行验证,可执行性可以指查询请求中的逻辑是否能够被执行。
[0046]
进一步地,在验证通过的情况下,将用户的查询账户、密码、用户反馈的验证码上传到区块链中,再通过权限管理群组对上送请求进行校验核对用户身份,判断用户是否可以获取相关数据,在身份核验成后从数据库中获取查询请求对应的查询结果。本实施例通过对查询请求进行格式转换,并对转换后的查询请求进行可执行性验证,为数据查询奠定了基础。
[0047]
为了避免由于查询对象未及时获取查询结果而占用区块链存储资源的问题,可选地,在本技术实施例提供的基于区块链的数据获取方法中,在通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象之后,该方法还包括:通过数据生命周期管理群组检测加密数据是否被发送至查询对象,其中,生命周期管理群组包括区块链上的多个生命周期管理节点;在加密数据被发送至查询对象的情况下,清除数据获取群组中缓存的加密数据;在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长;在加密数据的获取时间大于第一预设时长的情况下,清除数据获取群组中缓存的加密数据。
[0048]
具体的,通过数据生命周期管理群组检测加密数据是否被发送至查询对象,在加密数据未被发送至查询对象的情况下,设置第一预设时长,第一预设时长也即加密数据的最长保存时长,第一预设时长以发送密钥到用户开始计算时间,如果加密数据的获取时间大于第一预设时长的情况下,也即加密数据超过了在链上的最长保存时长,将链上的加密数据进行清理。本实施例通过数据生命周期管理群组对链上的加密数据进行管理,可以有效避免数据过多造成的服务器负担。
[0049]
为了避免由于查询对象未及时获取查询结果,导致查询结果被泄露,可选地,在本技术实施例提供的基于区块链的数据获取方法中,在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长之后,该方法还包括:在加密数据的获取时间小于第一预设时长的情况下,判断加密数据的获取时间是否大于第二预设时长,其中,第二预设时长小于第一预设时长;在加密数据的获取时间大于第二预设时长的情况下,通过数据加密群组对查询结果重新进行加密,得到更新后的加密数据和更新后的解密密钥,并将更新后的解密密钥发送至查询对象;判断通过数据加密群组对查询结果重新进行加密的次数是否大于预设次数,并在大于预设次数的情况下,清除数据获取群组中缓存的加密数据。
[0050]
具体的,提前设置好第二预设时长,如果加密数据的获取时间大于第二预设时长小于第一预设时长,要根据数据生命周期管理群组的要求对数据进行重新加密,生成新的密钥,并将更新后的解密密钥发送至查询对象。此外还会设置预设加密次数,判断通过数据加密群组对查询结果重新进行加密的次数是否大于预设次数,并在大于预设次数的情况下,清除数据获取群组中缓存的加密数据。通过数据生命周期管理群组可以有效避免数据过多造成的服务器负担。通过本实施例通过数据生命周期管理群组对链上加密的数据定时重新加密,以及在获取后及时清除,保护数据安全,减少被盗取的风险。
[0051]
本技术实施例还提供了一种基于区块链的数据获取系统,如图2所示,包括数据获
取群组201、权限管理群组202、数据加密群组203、。
[0052]
具体地,数据获取群组201,用于获取查询对象发起的查询请求以及查询对象的身份信息,还用于在查询对象的身份信息和查询请求的查询权限验证通过的情况下,从数据库中获取查询请求对应的查询结果,其中,数据获取群组301包括区块链上的多个数据获取节点。
[0053]
权限管理群组202,用于对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组302包括区块链上的多个权限管理节点。
[0054]
数据加密群组203,用于对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,还用于检测是否接收到查询对象发送的数据获取指令,并在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组303包括区块链上的多个数据加密节点。
[0055]
其中,数据获取群组201可以包含数据获取请求上送模块、数据库交互模块、智数据返回处理模块。通过数据获取请求上送模块对业务人员上送的数据请求进行翻译转变为可以通过数据库获取的形式,并将用户的相关信息包括,用户的查询账户、密码、用户反馈的验证码上送到链中,再通过授权管理模块对上送请求进行校验核对用户身份,判断用户是否可以获取相关数据,核对成功后该数据获取请求可以执行。执行成功获得加密数据,获取通过加密模块加密的数据后,用户从数据库查询辅助装置获取解密密钥,通过数据返回处理模块使用解密秘钥对数据进行解密进而获取数据。
[0056]
权限管理群组202可以包含身份核实模块、权限管理模块、授权请求交互模块。身份核实模块利用用户手中的数据库查询辅助装置对查询用户身份进行验证,验证的方式为首先授权请求交互模块从链上获取用户通过数据获取请求上送模块发送的查询请求,身份核实模块核实用户身份后,根据保存的账户与数据库查询辅助装置的唯一设备码,向与用户账户绑定的唯一的数据库查询辅助装置发送验证码,以验证用户身份,,用户获取验证码后通过区块链发送包括查询内容、验证码的全部信息,身份核实模块验证用户身份,权限管理模块根据保存的用户的查询权限,验证用户是否有获取相关数据的权限,并将验证结果通过授权请求交互模块返回到区块链上
[0057]
数据加密群组203可以包括数据加密模块、加密数据上送模块、密钥发送模块;首先对于权限管理群组202验证过身份的数据,会对数据的可执行性验证后进行查询,将查询返回的结果发送到数据加密模块,数据加密模块可以利用sm9加密算法对数据加密保证数据安全。需要说明的是,sm9算法的密钥由kgc(密钥生成中心)生成,主要包括kgc的加密主密钥对和用户的私钥。数据加密主密钥对:其私钥是一个在[1,n-1]范围内的随机数;公钥是g1群的基点p1的倍点,倍数为私钥。主密钥对的公私钥用在不同场景,其中主私钥仅用于查询用户私钥;主公钥则由kgc公开并用在链上。查询用户私钥由kgc产生,包括签名私钥和加密私钥。签名私钥:是g1群的基点p1的倍点。签名私钥仅用于数字签名中;加密私钥:是g2群的基点p2的倍点;加密私钥用于密钥解封、解密和密钥交换中私钥。kgc使用主私钥和用户身份标识生成用户的私钥,再通过数据库辅助装置发送到用户,用户即可以采用私钥对获取到的加密数据进行解密。通过sm9加密算法保证了即使是放在链上等待获取的数据也不易被盗取。
[0058]
可选地,在本技术实施例提供的基于区块链的数据获取系统中,该系统还包括:数据生命周期管理群组204,用于在加密数据被发送至查询对象的情况下,清除数据获取群组中缓存的加密数据;在加密数据未被发送至查询对象的情况下,若加密数据的获取时间大于第一预设时长,则清除数据获取群组中缓存的加密数据,若加密数据的获取时间小于第一预设时长且大于第二预设时长,则通过数据加密群组对查询结果重新进行加密,若通过数据加密群组对查询结果重新进行加密的次数大于预设次数,则清除数据获取群组中缓存的加密数据,其中,生命周期管理群组包括区块链上的多个生命周期管理节点。
[0059]
具体的,数据生命周期管理群组204的主要功能是管理区块链上的数据,首先,为了防止数据长时间处于链上占用资源,对于用户已经获取或长时间无人获取的数据进行清理,其次,对现有链上的加密过但是超过一定时间用户未获取的数据定时清里,并通知加密群组对该数据进行重新加密并发送新的密钥到用户手中的数据库查询辅助装置。
[0060]
为了实现生产数据的安全获取,可选地,在本技术实施例提供的基于区块链的数据获取系统中,该系统还包括:终端设备,包括用户界面以及身份信息识别控件,其中,用户界面用于接收查询对象输入的查询请求,并触发向数据获取群组发起查询请求的操作,还用于显示权限管理群组基于身份信息返回的验证码,并接收查询对象输入的验证码,以通过权限管理群组对身份信息进行验证;身份信息识别控件用于识别查询对象的身份信息,其中,身份信息识别控件至少包括以下之一:指纹识别控件,人脸识别控件。
[0061]
具体的,终端设备是一种数据库查询辅助装置,如图3所示,本发明所提出的一种终端设备的结构图。终端设备可以输入用户的账户密码识别用户访问本装置的权限,在用户进行数据查询时向数据库权限管理群组发送查询请求,接收数据库权限管理群组返回的验证码,用于在查询数据时验证用户身份,可以接收加密群组返回的密钥,用于在查询系统上通过数据返回模块输入以解密链上加密的数据。
[0062]
其中,身份信息识别控件可以包括为指纹识别的扫描仪301,用来负责识别预先写入设备内部的用户指纹信息验证用户身份;人脸识别模块304,用于识别用户的面部生物特征与装置内置的数据对比,验证用户身份;用户界面可以包括用户输入模块302,用户还可以通过用户输入模块302输入自身的账户,密码与装置内预先设置的信息对比,验证用户身份;用户界面还可以包括显示模块303,可以显示用户输入的信息,辅助用户操作,同时可以显示权限管理群组返回的验证码,以及加密群组返回的解密密钥。,此外,用户界面还可以包括辅助操作按键305,从而方便用户的输入操作。
[0063]
本实施例通过外置的查询辅助装置以及查询数据库的用户密码进行多重验证,保证进行数据库查询的用户身份正常,查询辅助装置的包括指纹、人脸在内的多种验证方式,可以保证即使不慎遗失,也不会出现盗用查询用户的情况。
[0064]
本技术实施例提供的基于区块链的数据获取系统,通过数据获取群组201获取查询对象发起的查询请求以及查询对象的身份信息,还用于在查询对象的身份信息和查询请求的查询权限验证通过的情况下,从数据库中获取查询请求对应的查询结果,其中,数据获取群组201包括区块链上的多个数据获取节点;权限管理群组202对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组202包括区块链上的多个权限管理节点;数据加密群组203对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,还用于检测是否接收到查询对象发
送的数据获取指令,并在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组203包括区块链上的多个数据加密节点,解决了相关技术中后台用户获取业务数据效率低、消耗时间长的问题。通过数据获取群组、权限管理群组、数据加密群组共同参与数据查询的过程,进而达到了后台用户获取业务数据高效、省时的效果。
[0065]
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0066]
本技术实施例还提供了一种基于区块链的数据获取装置,需要说明的是,本技术实施例的基于区块链的数据获取装置可以用于执行本技术实施例所提供的用于基于区块链的数据获取方法。以下对本技术实施例提供的基于区块链的数据获取装置进行介绍。
[0067]
图4是根据本技术实施例的基于区块链的数据获取装置的示意图。如图4所示,该装置包括:
[0068]
第一获取单元401,用于通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息,其中,数据获取群组包括区块链上的多个数据获取节点;
[0069]
验证单元402,用于通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组包括区块链上的多个权限管理节点;
[0070]
第二获取单元403,用于在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果;
[0071]
加密单元404,用于通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组包括区块链上的多个数据加密节点。
[0072]
本技术实施例提供的基于区块链的数据获取装置,通过第一获取单元401通过数据获取群组获取查询对象发起的查询请求以及查询对象的身份信息,其中,数据获取群组包括区块链上的多个数据获取节点;验证单元402通过权限管理群组对查询对象的身份信息进行验证,并在身份信息验证通过的情况下,对查询请求的查询权限进行验证,其中,权限管理群组包括区块链上的多个权限管理节点;第二获取单元403在查询权限验证通过的情况下,通过数据获取群组从数据库中获取查询请求对应的查询结果;加密单元404通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象,并检测是否接收到查询对象发送的数据获取指令,在接收到数据获取指令的情况下,向查询对象发送加密数据,其中,数据加密群组包括区块链上的多个数据加密节点,解决了相关技术中后台用户获取业务数据效率低、消耗时间长的问题,进而达到了后台用户获取业务数据高效、省时的效果。
[0073]
可选地,在本技术实施例提供的基于区块链的数据获取装置中,验证单元402包括:第一验证模块,用于通过权限管理群组对查询对象的身份信息进行验证,第一验证模块包括第一确定子模块,用于确定身份信息对应的账户信息,并根据账户信息查询映射关系表,得到账户信息对应的终端设备,其中,映射关系表中存储有多个账户信息以及每个账户信息对应的设备标识信息;发送子模块,用于向终端设备发送验证码,并检测是否接收到终
端设备反馈的验证码;第二确定子模块,用于在检测到终端设备反馈的验证码的情况下,确定查询对象的身份信息验证通过。
[0074]
可选地,在本技术实施例提供的基于区块链的数据获取装置中,验证单元402包括:第二验证模块,用于在身份信息验证通过的情况下,对查询请求的查询权限进行验证,第二验证模块包括第一验证子模块,用于验证查询请求的语句是否符合条件;和/或第二验证子模块,用于验证查询请求的属性是否符合条件,其中,属性至少包括以下之一:查询量、查询范围、查询原因。
[0075]
可选地,在本技术实施例提供的基于区块链的数据获取装置中,该装置还包括转化单元,用于在通过数据获取群组获取查询对象发起的查询请求之后,将查询请求转化为目标格式,其中,目标格式为数据库识别的格式;验证单元,用于在从数据库中获取查询请求对应的查询结果之前,对查询请求的可执行性进行验证,并在可执行性验证通过的情况下,执行从数据库中获取查询请求对应的查询结果的步骤。
[0076]
可选地,在本技术实施例提供的基于区块链的数据获取装置中,该装置还包括:生成单元,用于在通过数据加密群组对查询结果进行加密,生成加密数据和解密密钥,将解密密钥发送至查询对象之后,通过数据生命周期管理群组检测加密数据是否被发送至查询对象,其中,生命周期管理群组包括区块链上的多个生命周期管理节点;第一清除单元,用于在加密数据被发送至查询对象的情况下,清除数据获取群组中缓存的加密数据;第一判断单元,用于在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长;第二清除单元,用于在加密数据的获取时间大于第一预设时长的情况下,清除数据获取群组中缓存的加密数据。
[0077]
可选地,在本技术实施例提供的基于区块链的数据获取装置中,该装置还包括:第二判断单元,用于在加密数据未被发送至查询对象的情况下,判断加密数据的获取时间是否大于第一预设时长之后,在加密数据的获取时间小于第一预设时长的情况下,判断加密数据的获取时间是否大于第二预设时长,其中,第二预设时长小于第一预设时长;重新加密单元,用于在加密数据的获取时间大于第二预设时长的情况下,通过数据加密群组对查询结果重新进行加密,得到更新后的加密数据和更新后的解密密钥,并将更新后的解密密钥发送至查询对象;第三清除单元,用于判断通过数据加密群组对查询结果重新进行加密的次数是否大于预设次数,并在大于预设次数的情况下,清除数据获取群组中缓存的加密数据。
[0078]
所述基于区块链的数据获取装置包括处理器和存储器,上述第一获取单元401、验证单元402、第二获取单元403、加密单元404等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0079]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中后台用户获取业务数据效率低、消耗时间长的问题。
[0080]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0081]
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理
器执行时实现所述基于区块链的数据获取方法。
[0082]
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于区块链的数据获取方法。
[0083]
如图5所示,本发明实施例提供了一种电子设备,设备501包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现本技术实施例提供的基于区块链的数据获取方法的步骤。本文中的设备可以是服务器、pc、pa后台用户获取业务数据高效、省时、手机等。
[0084]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化本技术实施例提供的基于区块链的数据获取方法的步骤。
[0085]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0086]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0087]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0088]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0089]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0090]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0091]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0092]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0093]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0094]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1