首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块链账本 / 数据访问方法、装置、计算机可读存储介质和计算机设备

数据访问方法、装置、计算机可读存储介质和计算机设备

阅读:417发布:2020-05-16

专利汇可以提供数据访问方法、装置、计算机可读存储介质和计算机设备专利检索,专利查询,专利分析的服务。并且本 申请 涉及一种数据 访问 方法、装置、计算机可读存储介质和计算机设备,方法包括:接收各终端发送的数据访问 请求 ;通过 智能合约 确定与数据访问请求对应的企业数据的存储方式;当存储方式为数据上链存储时,从 区 块 链 上的、且由数据提供方管理的区块 节点 ,按照数据访问请求获取企业数据;当存储方式为数据地址上链存储时,在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业 数据库 获取企业数据;将所获取的企业数据发送至终端。本申请提供的方案可以确保企业数据的真实性。,下面是数据访问方法、装置、计算机可读存储介质和计算机设备专利的具体信息内容。

1.一种数据访问方法,包括:
接收各终端发送的数据访问请求
通过智能合约确定与数据访问请求对应的企业数据的存储方式;
当存储方式为数据上链存储时,按照数据访问请求从链上的、且由数据提供方管理的区块节点获取企业数据;
当存储方式为数据地址上链存储时,在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据;
将所获取的企业数据发送至终端。
2.根据权利要求1的方法,其特征在于,接收终端发送的数据访问请求之前,还包括:
接收数据提供方发送的企业数据;
将企业数据存储至区块链中的对应区块节点。
3.根据权利要求1的方法,其特征在于,接收终端发送的数据访问请求之前,还包括:
接收数据提供方发送的企业数据,采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点;或者,
接收数据提供方发送的、采用密钥进行加密后的企业数据,将所接收的企业数据存储至区块链中的对应区块节点。
4.根据权利要求1的方法,其特征在于,接收终端发送的数据访问请求之前,还包括:
接收数据提供方发送的关于企业数据的访问地址;
将访问地址存储至区块链中的对应区块节点。
5.根据权利要求4的方法,其特征在于,根据访问地址获取对应的企业数据之后,还包括:
将所获取的企业数据存储至区块链中的对应区块节点;或者,
采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至区块链中的对应区块节点。
6.根据权利要求1至5中任一项的方法,其特征在于,还包括:
从数据访问请求中提取用户签名;
当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行通过智能合约确定与数据访问请求对应的企业数据的存储方式的步骤。
7.根据权利要求1至5中任一项的方法,其特征在于,所述企业数据存储于对应区块链节点或企业数据库时,针对企业数据对应的处理过程信息保存于区块链历史账本中;所述方法还包括:
当接收到查验请求时,从所述区块链历史账本中获取对应的处理过程信息;
根据所述处理过程信息对所述企业数据进行查验。
8.根据权利要求2至5中任一项的方法,其特征在于,还包括:
配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;
根据数据格式、存储方式、验证方式、整合方式和提取方式,构建智能合约;
在区块链中部署智能合约。
9.根据权利要求2、3和5中任一项的方法,其特征在于,还包括:
当基于数据访问请求获取到企业数据时,对所获取的企业数据进行哈希运算,得到第一哈希值;
按照数据访问请求,从区块节点获取第二哈希值;
判断第一哈希值和第二哈希值是否相同,获得判断结果;
将判断结果发送至终端。
10.一种数据访问装置,其特征在于,装置包括:
接收模块,用于接收终端发送的数据访问请求;
确定模块,用于通过智能合约确定与数据访问请求对应的企业数据的存储方式;
获取模块,用于当存储方式为数据上链存储时,按照数据访问请求从区块链上的、且由数据提供方管理的区块节点获取企业数据;
查找模块,用于当存储方式为数据地址上链存储时,在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据;
发送模块,用于将所获取的企业数据发送至终端。
11.一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1至9中任一项方法的步骤。
12.一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1至9中任一项方法的步骤。

说明书全文

数据访问方法、装置、计算机可读存储介质和计算机设备

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种数据访问方法、装置、计算机可读存储介质和计算机设备。

背景技术

[0002] 企业在存储数据时,企业按照协议将需要存储的企业数据,上传到与之合作的核心企业或第三方服务商的数据中心,然后由核心企业或第三方服务商将所上传的企业数据进行整合。当其它的授权企业在需要用到这些企业数据时,从核心企业或第三方服务商的数据中心获取对应的企业数据。然而,将大量的企业数据上传到核心企业或第三方服务商的数据中心,使得数据中心容易遭受攻击,导致数据出现被篡改,从而其它的授权企业在获取这些企业数据时,出现数据不准确的问题。发明内容
[0003] 基于此,有必要针对因数据中心遭受攻击而导致授权企业所获取的数据不准确的技术问题,提供一种数据访问方法、装置、计算机可读存储介质和计算机设备。
[0004] 一种数据访问方法,包括:
[0005] 接收各终端发送的数据访问请求
[0006] 通过智能合约确定与数据访问请求对应的企业数据的存储方式;
[0007] 当存储方式为数据上链存储时,按照数据访问请求从链上的、且由数据提供方管理的区块节点获取企业数据;
[0008] 当存储方式为数据地址上链存储时,查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据;
[0009] 将所获取的企业数据发送至终端。
[0010] 在一个实施例中,接收终端发送的数据访问请求之前,还包括:
[0011] 接收数据提供方发送的企业数据;
[0012] 将企业数据存储至区块链中的对应区块节点。
[0013] 在一个实施例中,接收终端发送的数据访问请求之前,还包括:
[0014] 接收数据提供方发送的企业数据,采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点;或者,
[0015] 接收数据提供方发送的、采用密钥进行加密后的企业数据,将所接收的企业数据存储至区块链中的对应区块节点。
[0016] 在一个实施例中,接收终端发送的数据访问请求之前,还包括:
[0017] 接收数据提供方发送的关于企业数据的访问地址;
[0018] 将访问地址存储至区块链中的对应区块节点。
[0019] 在一个实施例中,根据访问地址获取对应的企业数据之后,还包括:
[0020] 将所获取的企业数据存储至区块链中的对应区块节点;或者,
[0021] 采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至区块链中的对应区块节点。
[0022] 在一个实施例中,还包括:
[0023] 从数据访问请求中提取用户签名;
[0024] 当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行通过智能合约确定与数据访问请求对应的企业数据的存储方式的步骤。
[0025] 在一个实施例中,所述企业数据存储于对应区块链节点或企业数据库时,针对企业数据对应的处理过程信息保存于区块链历史账本中;所述方法还包括:
[0026] 当接收到查验请求时,从所述区块链历史账本中获取对应的处理过程信息;
[0027] 根据所述处理过程信息对所述企业数据进行查验。
[0028] 在一个实施例中,还包括:
[0029] 配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;
[0030] 根据数据格式、存储方式、验证方式、整合方式和提取方式构建智能合约;
[0031] 在区块链中部署智能合约。
[0032] 在一个实施例中,还包括:
[0033] 当基于数据访问请求获取到企业数据时,对所获取的企业数据进行哈希运算,得到第一哈希值;
[0034] 按照数据访问请求,从区块节点获取第二哈希值;
[0035] 判断第一哈希值和第二哈希值是否相同,获得判断结果;
[0036] 将判断结果发送至终端。
[0037] 一种数据访问装置,装置包括:
[0038] 接收模块,用于接收终端发送的数据访问请求;
[0039] 确定模块,用于通过智能合约确定与数据访问请求对应的企业数据的存储方式;
[0040] 获取模块,用于当存储方式为数据上链存储时,按照数据访问请求从区块链上的、且由数据提供方管理的区块节点获取企业数据;
[0041] 查找模块,用于当存储方式为数据地址上链存储时,在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据;
[0042] 发送模块,用于将所获取的企业数据发送至终端。
[0043] 在一个实施例中,装置还包括:存储模块;其中:
[0044] 接收模块,还用于在接收终端发送的数据访问请求之前,接收数据提供方发送的企业数据;
[0045] 存储模块,用于将企业数据存储至区块链中的对应区块节点。
[0046] 在一个实施例中,接收模块,还用于在接收终端发送的数据访问请求之前,接收数据提供方发送的企业数据;
[0047] 存储模块,还用于采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点;或者,
[0048] 接收模块,还用于接收数据提供方发送的、采用密钥进行加密后的企业数据;
[0049] 存储模块,还用于将所接收的企业数据存储至区块链中的对应区块节点。
[0050] 在一个实施例中,接收模块,还用于接收终端发送的数据访问请求之前,接收数据提供方发送的关于企业数据的访问地址;
[0051] 存储模块,还用于将访问地址存储至区块链中的对应区块节点。
[0052] 在一个实施例中,存储模块,还用于在根据访问地址获取对应的企业数据之后,将所获取的企业数据存储至区块链中的对应区块节点;或者,采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至区块链中的对应区块节点。
[0053] 在一个实施例中,获取模块,还用于从数据访问请求中提取用户签名;
[0054] 存储模块,还用于当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行通过智能合约确定与数据访问请求对应的企业数据的存储方式的步骤。
[0055] 在一个实施例中,所述企业数据存储于对应区块链节点或企业数据库时,针对企业数据对应的处理过程信息保存于区块链历史账本中;装置还包括:查验模块;
[0056] 所述查验模块,用于当接收到查验请求时,从所述区块链历史账本中获取对应的处理过程信息;根据所述处理过程信息对所述企业数据进行查验。
[0057] 在一个实施例中,装置还包括:部署模块;其中:
[0058] 部署模块,用于配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;根据数据格式、存储方式、验证方式、整合方式和提取方式构建智能合约;在区块链中部署智能合约。
[0059] 在一个实施例中,装置还包括:判断模块;其中:
[0060] 判断模块,用于当基于数据访问请求获取到企业数据时,对所获取的企业数据进行哈希运算,得到第一哈希值;按照数据访问请求,从区块节点获取第二哈希值;判断第一哈希值和第二哈希值是否相同,获得判断结果;
[0061] 发送模块,还用于将判断结果发送至终端。
[0062] 一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据访问方法的步骤。
[0063] 一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据访问方法的步骤。
[0064] 上述数据访问方法、装置、计算机可读存储介质和计算机设备,将企业数据存储于由自己管理的区块链对应区块节点上,企业数据可以由数据提供方自己管理,而且由于区块链上的数据具有不可篡改性,保证了企业数据的安全性,因此,当从区块链的对应区块节点获取企业数据时,可以确保企业数据的真实性。将企业数据的访问地址存储于区块链的对应区块节点上,而企业数据存储于企业数据库,由于区块链的访问地址不可被篡改,从而可以通过该访问地址有效地从企业数据库中获取企业数据,而且将企业数据存储于企业数据库,企业可以对企业数据进行掌控,可以保证企业数据不被篡改,确保了企业数据的真实性。附图说明
[0065] 图1为一个实施例中数据访问方法的应用环境图;
[0066] 图2为一个实施例中数据访问方法的流程示意图;
[0067] 图3为一个实施例中数据上传和访问的示意图;
[0068] 图4为另一个实施例中数据访问方法的流程示意图;
[0069] 图5为另一个实施例中数据上传和访问的示意图;
[0070] 图6为一个实施例中数据访问装置的结构框图
[0071] 图7为另一个实施例中数据访问装置的结构框图;
[0072] 图8为一个实施例中计算机设备的结构框图。

具体实施方式

[0073] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0074] 图1为一个实施例中数据访问方法的应用环境图。参照图1,该数据访问方法应用于数据访问系统。该数据访问系统包括第一终端110、第一区块节点120、第二区块节点130和第二终端140。第一终端110、第一区块节点120、第一区块节点130和第二终端140之间通过网络连接。
[0075] 其中,第一终端110为数据访问方的终端,具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑笔记本电脑等中的至少一种。
[0076] 在访问企业数据时,第一区块节点120可作为区块链中的管理节点,也可作为数据访问方的区块节点,当作为数据访问方的区块节点时,数据访问方可以对该区块节点进行控制。在存储企业数据时,第一区块节点120可作为区块链中的管理节点,也可作为数据提供方的区块节点,当作为数据提供方的区块节点时,数据提供方可以对该区块节点进行控制。第一区块节点120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。若无特别说明,在后续实施例中,以第一区块节点120作为管理节点进行说明。
[0077] 在访问和存储企业数据时,第二区块节点130可作为数据提供方的区块节点。其中,数据提供方可以对该区块节点进行控制。第二区块节点130也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0078] 第一终端140为数据提供方的终端,具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。
[0079] 如图2所示,在一个实施例中,提供了一种数据访问方法。本实施例主要以该方法应用于上述图1中的第一区块节点120(以下简称服务器)来举例说明,该服务器为区块链中的管理节点。参照图2,数据访问方法具体包括如下步骤:
[0080] S202,接收各终端发送的数据访问请求。
[0081] 其中,该终端为数据访问方的终端。
[0082] 在一个实施例中,当终端访问数据提供方的企业数据时,终端获取企业数据标识,根据该企业数据标识生成数据访问请求,将该数据访问请求发送至服务器。
[0083] 例如,若企业A的用户欲访问作为数据提供方的企业B的企业数据,终端会根据企业A的用户所触发的操作获取企业数据标识,生成携带有企业数据标识的数据访问请求,将该数据访问请求发送至服务器,以便服务器根据该数据访问请求从对应的区块节点获取企业B的企业数据。
[0084] 在一个实施例中,在S202之前,服务器将数据提供方的企业数据发送至区块链对应的区块节点进行存储。具体地,服务器接收数据提供方发送的企业数据,将企业数据存储至区块链中的对应区块节点。
[0085] 在一个实施例中,服务器在接收数据提供方发送的企业数据时,还会接收数据提供方发送的用户签名,对该用户签名进行验证,当验证结果表示用户签名为授权用户的签名时,将企业数据存储至区块链中的对应区块节点。
[0086] 如图3所示,企业A的用户通过其企业信息系统A,将企业数据和用户签名一起上传至服务器,服务器首先对该用户签名进行验证,当验证通过时,服务器将该企业数据保存至区块链中的区块节点A中。
[0087] 在一个实施例中,当接收到企业数据时,服务器调用可信时间戳服务接口;根据可信时间戳服务接口,从授时中心获取可信时间;将可信时间保存于区块链历史账本。
[0088] 在一个实施例中,数据提供方可以先发送用户签名,当服务器验证该用户签名为授权用户的签名时,数据提供方然后发送企业数据。
[0089] 在一个实施例中,服务器将企业数据进行存储之前,还可以对企业数据进行加密处理,然后再进行存储。具体地,服务器接收数据提供方发送的企业数据,采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点。
[0090] 在另一个实施例中,服务器接收数据提供方发送的、采用密钥进行加密后的企业数据,将所接收的企业数据存储至区块链中的对应区块节点。
[0091] 如图3所示,企业A的用户将企业数据和用户签名一起上传至企业信息系统A,该企业信息系统可以是安装于服务器的软件系统,服务器首先对该用户签名进行验证,当验证通过时,服务器采用企业A的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点A中。或者,企业A的用户通过其企业信息系统A,将用户签名和采用企业A的秘钥所加密的企业数据一起上传至服务器,服务器首先对该用户签名进行验证,当验证通过时,服务器加密后的企业数据存储至区块链中的对应区块节点A中。
[0092] 在一个实施例中,数据提供方可以将企业数据上链存储之外,还可以将企业数据的访问地址进行上链存储。具体地,服务器接收数据提供方发送的关于企业数据的访问地址,将访问地址存储至区块链中的对应区块节点。其中,该访问地址为企业数据库的地址,用于从企业数据库中获取对应的企业数据。
[0093] 在一个实施例中,当接收到企业数据或关于企业数据的访问地址时,服务器调用可信时间戳服务接口;根据可信时间戳服务接口,从授时中心获取可信时间;将可信时间保存于区块链历史账本。其中,区块链历史账本是区块链中维护的账本,可用于保存访问时间。
[0094] 例如,服务器执行可信时间戳服务调度程序,通过该可信时间戳服务调度程序来调用可信时间戳服务接口,然后从时间戳服务器上获取授时中心的可信时间戳(可以精确到秒,或者精确到毫秒),然后将该可信时间戳写入在区块链历史账本。
[0095] 在一个实施例中,数据提供方根据智能合约确定存储方式,当存储方式为访问地址上链存储时,则获取企业数据库的访问地址,将该访问地址发送至服务器。
[0096] S204,通过智能合约确定与数据访问请求对应的企业数据的存储方式。
[0097] 其中,智能合约可以是一种特殊的信息化协议,是基于区块链技术可以自动、严格且可验证执行预设条件的程序,从而在没有第三方的情况下实现可信交互。企业数据可以是所有与企业经营相关的信息和资料,包括但不限于:企业概况、产品信息、经营数据和研究成果等。此外,企业数据还可以包括企业服务数据,例如核心企业或第三方服务商为企业办理企业注册、做账报税、各类许可证、汇算清缴、工商变更、税务年审、企业注销和商标专利等服务所产生的数据,然后将该数据存储于区块节点。
[0098] 在一个实施例中,服务器配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;根据数据格式、存储方式、验证方式、整合方式和提取方式构建智能合约;在区块链中部署智能合约。
[0099] 其中,数据格式可以是XML(Extensible Markup Language,可扩展标记语言)格式、JSON((JavaScript Object Notation,JS对象简谱))格式、TXT格式、Excel格式、Word格式和PDF格式中的任一种。存储方式可以是在区块链存储企业数据(即企业数据上链存储),也可以是在区块链存储企业数据的访问地址(即数据地址上链存储)。验证方式可以是对用户签名进行签名验证,具体可以是服务器采用公钥对用户签名进行解密,然后将解密后所得的用户标识与原始的用户标识进行对比,若一致,则验证通过,否则验证不通过。整合方式可以是按照类别将企业数据进行整合。提取方式与存储方式相对应,
[0100] 在一个实施例中,当服务器接收到数据提供方发送的企业数据时,对企业数据按照类别进行整合,然后将整合后的企业数据保存至区块链对应的区块节点。
[0101] 在一个实施例中,在S204之前,服务器从数据访问请求中提取用户签名;当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行通过智能合约确定与数据访问请求对应的企业数据的存储方式的步骤。
[0102] 例如,服务器采用公钥对用户签名进行解密,然后将解密后所得的用户标识与原始的用户标识进行对比,若一致,则验证通过,然后将接收数据访问请求的时间作为访问时间保存于区块链历史账本;否则验证不通过。其中,原始的用户标识可以是和用户签名一起发送至服务器,也可以是预先存储于服务器。
[0103] S206,当存储方式为数据上链存储时,按照数据访问请求从区块链上的、且由数据提供方管理的区块节点获取企业数据。
[0104] 在一个实施例中,当存储方式为数据上链存储时,服务器从数据访问请求中提取企业数据标识,对该企业数据标识进行哈希运算,得到对应的索引哈希。服务器根据索引哈希,从区块链上的、且由数据提供方管理的区块节点获取企业数据。
[0105] 在一个实施例中,当将企业数据存储于区块链的区块节点时,服务器还会将企业数据的第二哈希值与企业数据一并存储于区块节点。其中,该第二哈希值可以是数据提供方采用哈希函数对企业数据进行哈希运算所得,也可以是服务器在接收到企业数据时,采用哈希函数对企业数据进行哈希运算所得。
[0106] 在一个实施例中,当基于数据访问请求获取到企业数据时,服务器对所获取的企业数据进行哈希运算,得到第一哈希值;按照数据访问请求,从区块节点获取第二哈希值;判断第一哈希值和第二哈希值是否相同,获得判断结果;将判断结果发送至终端。
[0107] 当判断第一哈希值和第二哈希值相同时,则确定所获取的企业数据未发生篡改,是真实有效的数据。当判断第一哈希值和第二哈希值不相同时,则确定所获取的企业数据已经发生篡改,是可能不是真实有效的数据。
[0108] S208,当存储方式为数据地址上链存储时,查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据。
[0109] 在一个实施例中,当存储方式为数据地址上链存储时,服务器从数据访问请求中提取企业地址标识,对该企业地址标识进行哈希运算,得到对应的索引哈希。服务器根据索引哈希,从区块链的对应区块节点获取访问地址,根据访问地址从企业数据库获取企业数据。
[0110] 在一个实施例中,S208之后,服务器所获取的企业数据存储至区块链中的对应区块节点;或者,采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至区块链中的对应区块节点。
[0111] 在一个实施例中,服务器还可以将访问时间记录于区块链历史账本中,访问时间可以是接收到数据访问请求的时间,也可以是获取到访问地址的时间,还可以是获取到企业数据的时间,又或者是将企业数据存储到区块链节点的时间。
[0112] 作为一个示例,如图3所示,企业A的用户将企业数据和用户签名一起上传至企业信息系统A,该企业信息系统可以是安装于服务器的软件系统,服务器首先对该用户签名进行验证,当验证通过时,服务器将企业数据的访问地址保存至区块链中的区块节点A中。当企业B的用户通过其企业信息系统B向服务器发送数据获取请求,服务器从数据获取请求中提取用户签名,该用户签名进行验证,当验证通过时,从区块节点A中获取企业数据的访问地址,然后根据该访问地址从企业数据库中获取对应的企业数据,执行S210。此外,还可以将所获取的企业数据存储在区块节点A中。另外,还可以对所获取的企业数据进行加密处理,将加密后的企业数据存储在区块节点A中。
[0113] 在一个实施例中,服务器接收企业数据的审计或查验请求时,从区块链历史账本中获取访问时间,以及从对应的区块节点获取企业数据,以便对该企业数据进行审计或查验。
[0114] 在一个实施例中,当基于数据访问请求获取到企业数据时,服务器对所获取的企业数据进行哈希运算,得到第一哈希值;按照数据访问请求,从区块节点获取第二哈希值;判断第一哈希值和第二哈希值是否相同,获得判断结果;将判断结果发送至终端。
[0115] S210,将所获取的企业数据发送至终端。
[0116] 在一个实施例中,企业数据存储于对应区块链节点或企业数据库时,针对企业数据对应的处理过程信息保存于区块链历史账本中;该方法还包括:当接收到查验请求时,从区块链历史账本中获取对应的处理过程信息;根据处理过程信息对企业数据进行查验。
[0117] 其中,处理过程信息包括但不限于:对企业数据进行存储、访问和处理等操作信息,其中,处理操作信息可以是增加、删除和修改等操作信息。例如,当某个人用户或企业访问了数据提供方的企业数据时,则对应的访问信息将会保存于区块链历史账本中。对企业数据进行查验可以是:对企业数据进行审查或溯源,例如,对企业数据进行真实性、正确性、合规性、合法性、效益性进行审查。
[0118] 在一个实施例中,数据提供方在对应区块链节点存储企业数据之后,若数据查验方需要对该企业数据进行审查,服务器则向区块链发出针对该企业数据的审查请求,以便根据企业数据进行审查,例如数据查验方(如审查单位)根据企业数据对数据提供方(如企业)财政、财务收支、经营管理活动,以及对该企业数据的真实性、正确性、合规性、合法性、效益性进行审查。
[0119] 在一个实施例中,数据提供方将企业数据存储于对应区块链节点后,若数据访问方访问了数据提供方的企业数据,因此,可以通过区块链历史账本存储的访问信息判断数据访问方是否访问了该企业数据。
[0120] 在一个实施例中,数据提供方将企业数据存储于对应区块链节点后,若数据处理方在对企业数据进行了处理(包括添加、删除或修改)操作,对应的处理信息(包括添加信息、删除信息和修改信息)将会保存于区块链历史账本。当其它企业或用户获取该企业数据时,发现企业数据存在问题,则可以通过在区块链历史账本中获取处理信息,通过该处理信息判断企业数据是在存储过程中出现问题,还是因为被数据处理方修改而出现问题,从而实现对企业数据的溯源。其中,处理信息中包含有处理的时间和内容,如删除企业数据中的部分内容和删除时间。
[0121] 上述实施例中,将企业数据存储于由自己管理的区块链对应区块节点上,企业数据可以由数据提供方自己管理,而且由于区块链上的数据具有不可篡改性,保证了企业数据的安全性,因此,当从区块链的对应区块节点获取企业数据时,可以确保企业数据的真实性。将企业数据的访问地址存储于区块链的对应区块节点上,而企业数据存储于企业数据库,由于区块链的访问地址不可被篡改,从而可以通过该访问地址有效地从企业数据库中获取企业数据,而且将企业数据存储于企业数据库,企业可以对企业数据进行掌控,可以保证企业数据不被篡改,确保了企业数据的真实性。
[0122] 如图4所示,在一个实施例中,提供了另一种数据访问方法。本实施例主要以该方法应用于上述图1中的第一区块节点120(以下简称服务器)来举例说明,该服务器为数据访问方的区块节点。参照图2,数据访问方法具体包括如下步骤:
[0123] S402,接收各终端发送的数据访问请求。
[0124] 在一个实施例中,S402之前,该方法还包括:服务器接收数据提供方发送的企业数据;将企业数据存储至本区块节点的区块链账本
[0125] 在一个实施例中,S402之前,该方法还包括:服务器接收数据提供方发送的企业数据,采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至本区块节点的区块链账本;或者,接收数据提供方发送的、采用密钥进行加密后的企业数据,将所接收的企业数据存储至本区块节点的区块链账本。
[0126] 在一个实施例中,S402之前,该方法还包括:服务器接收数据提供方发送的关于企业数据的访问地址;将访问地址存储至本区块节点的区块链账本。
[0127] S404,通过智能合约确定与数据访问请求对应的企业数据的存储方式。
[0128] 在一个实施例中,S404之前,该方法还包括:服务器从数据访问请求中提取用户签名;当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行S404。
[0129] 在一个实施例中,部署智能合约的步骤,包括:服务器配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;根据数据格式、存储方式、验证方式、整合方式和提取方式构建智能合约;在区块链中部署智能合约。
[0130] S406,当存储方式为数据上链存储时,从本区块节点的区块链账本按照数据访问请求获取企业数据。
[0131] 在一个实施例中,S406之后,该方法还包括:服务器将所获取的企业数据存储至本区块节点的区块链账本;或者,采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至本区块节点的区块链账本。
[0132] S408,当存储方式为数据地址上链存储时,从本区块节点的区块链账本在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据。
[0133] 在一个实施例中,当接收到企业数据或关于企业数据的访问地址时,服务器调用可信时间戳服务接口;根据可信时间戳服务接口,从授时中心获取可信时间;将可信时间保存于区块链历史账本。
[0134] 在一个实施例中,当基于数据访问请求获取到企业数据时,服务器对所获取的企业数据进行哈希运算,得到第一哈希值;按照数据访问请求,从区块节点获取第二哈希值;判断第一哈希值和第二哈希值是否相同,获得判断结果;将判断结果发送至终端。
[0135] S410,将所获取的企业数据发送至终端。
[0136] 其中,S402-S410的具体步骤可参考S202-S210。
[0137] 上述实施例中,将企业数据存储于区块链的对应区块节点上,由于区块链上的数据具有不可篡改性,保证了企业数据的安全性,因此,当从区块链的对应区块节点获取企业数据时,可以确保企业数据的真实性。将企业数据的访问地址存储于区块链的对应区块节点上,而企业数据存储于企业数据库,由于区块链的访问地址不可被篡改,从而可以通过该访问地址有效地从企业数据库中获取企业数据,而且将企业数据存储于企业数据库,企业可以对企业数据进行掌控,可以保证企业数据不被篡改,确保了企业数据的真实性。
[0138] 作为一个示例,以服务器为数据提供方的区块节点为例对本申请进行阐述,首先建立多企业的联盟区块链,然后部署并运行区块链上的智能合约。从而以标准化的数据格式,完成企业信息系统(如ERP)的数据交互连通,实现企业数据的互联互通和服务共享合作。
[0139] 参与合作的每个主要企业部署区块节点,企业可以对自身区块节点进行掌控。然后将一类或同一系列数据的操作格式或服务方法以智能合约的形式发布到区块链上,所有参与企业都可以对智能合约的有效性、安全性等进行评估。以数据交换为例,智能合约可以规定数据的标准格式和可选格式、数据的存储方式、数据的验证方式、数据的整合方式、数据的提取方式等。各方式的调用都需要区块链数字身份的签名验证,从而满足对身份唯一性和权限的确认,所有调用都按照智能合约设定的流程自动处理,满足可信、安全、隐私等需要,并且所有调用都将不可篡改地记录在区块链上,满足事后审计的需要。
[0140] 为了满足不同业务场景需要,可以将需要交换的企业数据分为如下方式进行上链。其中,数据仓库(即企业数据库)中的每条数据或数据交换时的数据基本单元称为数据元,以数据元为单位进行上链以及其它处理。
[0141] (1)数据元明文上链:数据元记录于区块链账本,且数据元的上传和访问等过程记录于区块链历史账本。此上链方式主要是对满足企业间完全公共共享的数据进行上链,如公开的地理信息和企业基本信息等。对于明文上链的数据元,所有参与企业都可以通过智能合约直接访问,并在区块链历史账本保留访问记录。
[0142] (2)数据元加密上链:数据元记录于区块链账本,且数据元的上传和访问等过程记录于区块链历史账本。数据提供方以自身掌控的密钥将数据元加密上链,其它企业在使用此数据元时,需要先通过区块链上的智能合约获得数据提供方的授权。在获得授权并获得数据元后,也可以直接通过区块链查验原始数据的真实有效性。
[0143] (3)交换数据元上链:数据元本身不记录于区块链账本,数据提供方只在区块链上发布访问地址,对数据元的访问和查验等过程记录于区块链历史账本,并将交换数据元(即通过访问地址所要获取的数据元)以明文或加密方式记录在区块链账本。
[0144] 在这个方式中,数据元的数据提供方事先不需将数据元上链,而只需在发生数据交换时由,通过区块链访问数据仓库,并对交换的数据元明文或加密后以全部或部分的方式上链。其它企业可以直接访问明文上链的数据元或获得授权后访问加密上链的数据元,完成数据审计、查验等事项。
[0145] (4)访问地址上链:数据元本身不记录于区块链账本,数据提供方只在区块链内发布数据仓库访问地址,对数据元的访问和查验等过程记录于区块链历史账本,原始数据自始至终不会以明文或加密的方式记录到区块链账本中。
[0146] 在这个方式中,数据提供方将访问地址上链,当有数据访问需求时,由区块链根据访问地址获取需要的数据元并处理,数据元本身只在区块链中流转但不记录在区块链账本中,而只有处理或访问数据的历史记录会保存在区块链账本,可以用于事后审计和追溯。
[0147] 如图5所示,对于数据访问过程为:当企业有数据需求时,通过自身区块节点向区块链发送请求,在完成签名验证后,由区块链调用相应智能合约方法,并严格按照智能合约设定,验证访问权限,然后请求相应数据所在的区块链账本或区块链历史账本,并最终返回响应结果。对于(1)类和(3)类明文上链的数据元,可以通过智能合约的签名验证后直接访问;对于(2)类和(3)类加密上链的数据元,需要申请对应企业的授权后,然后进行访问;对于(3)类和(4)类数据中由区块链访问的数据仓库,由数据提供方设置访问规则,如果需要访问权限则重新要求企业申请授权。
[0148] 采用本实施例的方案,可以有效解决在企业数据互联互通场景中需要满足的信息安全、数据可信和稳定高效等问题,可以有效提高企业间资源共享、服务互通和业务协作的能及技术平。
[0149] 图2、4为一个实施例中数据访问方法的流程示意图。应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0150] 如图6所示,在一个实施例中,提供了一种数据访问装置,该数据访问装置具体包括:接收模块602、确定模块604、获取模块606、查找模块608和发送模块610;其中:
[0151] 接收模块602,用于接收终端发送的数据访问请求;
[0152] 确定模块604,用于通过智能合约确定与数据访问请求对应的企业数据的存储方式;
[0153] 获取模块606,用于当存储方式为数据上链存储时,按照数据访问请求从区块链上的、且由数据提供方管理的区块节点获取企业数据;
[0154] 查找模块608,用于当存储方式为数据地址上链存储时,在区块节点查找数据访问请求对应的访问地址,根据访问地址从企业数据库获取企业数据;
[0155] 发送模块610,用于将所获取的企业数据发送至终端。
[0156] 在一个实施例中,如图7所示,该装置还可以包括:存储模块612;其中:
[0157] 接收模块602,用于在接收终端发送的数据访问请求之前,接收数据提供方发送的企业数据;
[0158] 存储模块612,用于将企业数据存储至区块链中的对应区块节点。
[0159] 在一个实施例中,接收模块602,还用于接收终端发送的数据访问请求之前,接收数据提供方发送的企业数据;
[0160] 存储模块612,还用于采用数据提供方的密钥加密企业数据,并将加密后的企业数据存储至区块链中的对应区块节点;或者,
[0161] 接收模块602,还用于接收数据提供方发送的、采用密钥进行加密后的企业数据;
[0162] 存储模块612,还用于将所接收的企业数据存储至区块链中的对应区块节点。
[0163] 在一个实施例中,接收模块602,还用于接收终端发送的数据访问请求之前,接收数据提供方发送的关于企业数据的访问地址;
[0164] 存储模块612,还用于将访问地址存储至区块链中的对应区块节点。
[0165] 在一个实施例中,存储模块612,还用于根据访问地址获取对应的企业数据之后,将所获取的企业数据存储至区块链中的对应区块节点;或者,采用数据提供方的密钥对所获取的企业数据进行加密,并将加密后的企业数据存储至区块链中的对应区块节点。
[0166] 在一个实施例中,获取模块604还用于从数据访问请求中提取用户签名;
[0167] 存储模块612,还用于当用户签名为授权用户的签名时,将接收数据访问请求的时间作为访问时间,保存于区块链历史账本,并执行通过智能合约确定与数据访问请求对应的企业数据的存储方式的步骤。
[0168] 在一个实施例中,如图7所示,企业数据存储于对应区块链节点或企业数据库时,针对企业数据对应的处理过程信息保存于区块链历史账本中;该装置还包括:查验模块614;
[0169] 查验模块614,用于当接收到查验请求时,从区块链历史账本中获取对应的处理过程信息;根据处理过程信息对企业数据进行查验。
[0170] 在一个实施例中,如图7所示,该装置还包括:部署模块616;其中:
[0171] 部署模块616,用于配置企业数据的数据格式、存储方式、验证方式、整合方式和提取方式;根据数据格式、存储方式、验证方式、整合方式和提取方式构建智能合约;在区块链中部署智能合约。
[0172] 在一个实施例中,如图7所示,该装置还包括:判断模块618;其中:
[0173] 判断模块618,用于当基于数据访问请求获取到企业数据时,对所获取的企业数据进行哈希运算,得到第一哈希值;按照数据访问请求,从区块节点获取第二哈希值;判断第一哈希值和第二哈希值是否相同,获得判断结果;
[0174] 发送模块610,还用于将判断结果发送至终端。
[0175] 上述实施例中,将企业数据存储于由自己管理的区块链对应区块节点上,企业数据可以由数据提供方自己管理,而且由于区块链上的数据具有不可篡改性,保证了企业数据的安全性,因此,当从区块链的对应区块节点获取企业数据时,可以确保企业数据的真实性。将企业数据的访问地址存储于区块链的对应区块节点上,而企业数据存储于企业数据库,由于区块链的访问地址不可被篡改,从而可以通过该访问地址有效地从企业数据库中获取企业数据,而且将企业数据存储于企业数据库,企业可以对企业数据进行掌控,可以保证企业数据不被篡改,确保了企业数据的真实性。
[0176] 图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一区块节点120(也即服务器)。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据访问方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据访问方法。
[0177] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0178] 在一个实施例中,本申请提供的数据访问装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据访问装置的各个程序模块,比如,图6所示的接收模块602、确定模块604、获取模块606、查找模块608和发送模块610。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据访问方法中的步骤。
[0179] 例如,图8所示的计算机设备可以通过如图6所示的数据访问装置中的接收模块602执行S204。计算机设备可通过确定模块604执行S204。计算机设备可通过获取模块606执行S206。计算机设备可通过查找模块608执行S208。计算机设备可通过发送模块610执行S210。
[0180] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据访问方法的步骤。此处数据访问方法的步骤可以是上述各个实施例的数据访问方法中的步骤。
[0181] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据访问方法的步骤。此处数据访问方法的步骤可以是上述各个实施例的数据访问方法中的步骤。
[0182] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0183] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0184] 以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈