一种非结构数据完整性动态验证方法、系统、设备及介质

文档序号:30348740发布日期:2022-06-08 10:05阅读:95来源:国知局
一种非结构数据完整性动态验证方法、系统、设备及介质

1.本技术涉及数据完整性验证技术领域,更具体地说,涉及一种非结构数据完整性动态验证方法、系统、设备及介质。


背景技术:

2.大数据技术高速发展,并深入人们的生活。为保证大数据存储的安全,需要进行数据完整性验证判断数据是否被篡改或者损坏。
3.数据完整性验证技术一般通过挑战应答机制实现数据完整性的判断。数据拥有者将数据存储于数据存储系统中,在数据进行存储之前利用bls(boneh-lynn-shacham)签名等技术实现对待存储数据的签名,并生成挑战元数据。数据拥有者从挑战元数据中选取相应的数据生成挑战,并将挑战发送给数据存储系统。数据存储系统依据收到的挑战,利用存储的数据生成相应的数据完整性的证据。数据完整性审计机构对数据存储系统生成的证据进行判断,确定数据是否与原始数据一致。
4.比如基于glusterfs的分布式数据完整性验证系统的方案中,公开了1、密钥生成:生成一对公私密钥x和pk。2、数据标签生成:数据拥有者将数据m分成n块,m=(m1,m2,

,mn),同时生成l块挑战c=(c1,c2,

,cl),将数据块mi与挑战分别进行拼接,利用哈希函数计算拼接数据块的摘要,利用私钥对拼接数据块的摘要进行签名。通过将挑战信息《i,ci》发送给数据存储者进行挑战,数据存储者利用所存储的数据块和ci进行哈希计算获得证据,通过bls签名算法对数据的完整性进行验证。
5.然而,上述方法中仅仅考虑了对于单个数据的完整性的验证。现有技术中对于数据的操作是:将数据m分成n块,没有考虑大数据环境下数据一般以非结构化的形式存在;此外,上述数据完整性验证技术仅仅是对数据的拥有者负责,防止数据在交付数据的存储系统进行存储的时候数据的损坏或者是数据被窜改。但是没有考虑到数据的拥有者为了隐藏自身的问题对数据进行的修改。使得现有数据完整性验证方法的适用性较差。
6.综上所述,如何提高数据完整性验证的适用性是目前本领域技术人员亟待解决的问题。


技术实现要素:

7.本技术的目的是提供一种非结构数据完整性动态验证方法,其能在一定程度上解决如何提高数据完整性验证的适用性的技术问题。本技术还提供了一种非结构数据完整性动态验证系统、设备及计算机可读存储介质。
8.为了实现上述目的,本技术提供如下技术方案:
9.一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,包括:
10.获取一组原始非结构数据;
11.基于所述原始非结构数据的内在关系生成所述原始非结构数据的数据副本,并传输所述数据副本至所述区块链中的数据存储者,以使所述数据存储者生成所述数据副本的
元数据并上链;传输所述数据副本的版本更新数据至所述数据存储者,以使所述数据存储者生成版本更新信息并上链;
12.基于所述数据副本及所述版本更新数据生成所述原始非结构数据的挑战数据并上链,以使所述数据存储者获取所述挑战数据后基于所述数据副本生成数据完整性证明并上链,进而使所述区块链基于所述数据副本的元数据、所述挑战数据及所述数据完整性证明进行数据完整性判断并上链。
13.优选的,所述基于所述数据副本及所述版本更新数据生成所述原始非结构数据的挑战数据并上链,包括:
14.获取所述数据副本的复合数据域;
15.基于所述复合数据域及所述版本更新数据生成挑战元数据;
16.基于所述挑战元数据、元数据标识、时间戳及数据存储凭证生成所述挑战数据并上链。
17.优选的,所述基于所述复合数据域及所述版本更新数据生成挑战元数据,包括:
18.对所述复合数据域构建基于数据域的混合merkle dag结构;
19.基于所述版本更新数据构建一个新merkle dag结构;
20.将所述混合merkle dag结构与所述新merkle dag结构通过merkle二叉树连接,获得新版本数据结构;
21.获取所述新版本数据结构中的根节点信息;
22.计算所述复合数据域的根节点信息的哈希值;
23.生成公私钥对;
24.基于私钥对所述哈希值进行签名,得到签名值;
25.基于所述签名值、所述根节点信息、公钥、版本号生成所述挑战元数据。
26.优选的,所述获取所述数据副本的复合数据域,包括:
27.对所述数据副本中的数据进行分块,得到副本数据块;
28.获取随机序列及拼接策略;
29.基于所述拼接策略对所述随机序列和所述副本数据块进行拼接,得到所述复合数据域;
30.所述基于所述签名值、所述根节点信息、公钥、版本号生成所述挑战元数据,包括:
31.基于所述签名值、所述随机序列、所述拼接策略、所述根节点信息、公钥、版本号生成所述挑战元数据。
32.优选的,所述基于所述原始非结构数据的内在关系生成所述原始非结构数据的数据副本,包括:
33.对所述原始非结构数据的所述内在关系进行界定,并基于所述内在关系构建原始数据域;
34.获取对称加密密钥,基于所述对称加密密钥对所述原始数据域中的数据进行加密,得到所述数据副本。
35.优选的,对数据进行上链,包括:
36.基于预设的元数据结构对数据进行上链;
37.其中,所述元数据结构包括objecttype、timestamp、node_block、data1、data2;所
述objecttype标识元数据的类型,包括上链数据、挑战数据、证明数据、审计数据;所述timestamp标识该元数据的唯一标识;所述node_block标识要验证的一批所述原始非结构数据的唯一标识;所述data1、所述data2表征元数据的内容。
38.优选的,所述基于所述数据副本生成所述原始非结构数据的挑战数据并上链之后,还包括:
39.基于所述原始非结构数据的标识和/或元数据的类型对所述数据完整性证明进行审计。
40.一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,包括:
41.非结构数据获取模块,用于获取一组原始非结构数据;
42.数据副本生成模块,用于基于所述原始非结构数据的内在关系生成所述原始非结构数据的数据副本,并传输所述数据副本至所述区块链中的数据存储者,以使所述数据存储者生成所述数据副本的元数据并上链;传输所述数据副本的版本更新数据至所述数据存储者,以使所述数据存储者生成版本更新信息并上链;
43.挑战数据生成模块,用于基于所述数据副本及所述版本更新数据生成所述原始非结构数据的挑战数据并上链,以使所述数据存储者获取所述挑战数据后基于所述数据副本生成数据完整性证明并上链,进而使所述区块链基于所述数据副本的元数据、所述挑战数据及所述数据完整性证明进行数据完整性判断并上链。
44.一种电子设备,包括:
45.存储器,用于存储计算机程序;
46.处理器,用于执行所述计算机程序时实现如上任一所述非结构数据完整性动态验证方法的步骤。
47.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述非结构数据完整性动态验证方法的步骤。
48.本技术提供的一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,获取一组原始非结构数据;基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,以使数据存储者生成数据副本的元数据并上链;传输数据副本的版本更新数据至区块链中的数据存储者,以使数据存储者生成版本更新信息并上链;基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链,以使数据存储者获取挑战数据后基于数据副本生成数据完整性证明并上链,进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链。本技术中,可以基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并基于数据副本及数据副本的版本更新数据生成原始非结构数据的挑战数据,实现了对非结构数据的完整性动态验证,此外,整个过程中,将数据副本的元数据、版本更新数据、数据完整性证明及数据完整性判断结果进行了上链,便于后续对原始非结构数据的完整性验证过程进行追溯、审查等,适用性好。本技术提供的一种非结构数据完整性动态验证系统、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
50.图1为本技术实施例提供的一种非结构数据完整性动态验证方法的第一流程图;
51.图2为本技术实施例提供的一种非结构数据完整性动态验证方法的第二流程图;
52.图3为本技术中基于复合数据域及版本更新数据生成挑战元数据的流程图;
53.图4为本技术实施例提供的一种非结构数据完整性动态验证系统的结构示意图;
54.图5为本发明实施例电子设备的硬件组成结构示意图。
具体实施方式
55.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.请参阅图1,图1为本技术实施例提供的一种非结构数据完整性动态验证方法的第一流程图。
57.本技术实施例提供的一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,可以包括以下步骤:
58.步骤s101:获取一组原始非结构数据。
59.实际应用中,数据拥有者需部署在区块链中,比如部署在联盟链中等,且数据拥有者需获取一组原始非结构数据。需要说明的是,本技术中的非结构数据指的是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据,包括所有格式的办公文档、文本、图片、xml(extensible markup language,可扩展标记语言),html(hyper text markup language,超文本标记语言)、各类报表、图像和音频/视频信息等;比如一组原始非结构数据可以为包含业务数据、民意社情数据、环境数据和分散性公共数据等的政务数据,且业务数据包含统计表、报告文档、会议视频等数据等。此外,根据具体需求,区块链中还可以设置有合约管理节点、智能合约模块、区块链账本模块、共识模块等,且区块链账本模块中包含状态数据库模块和链式账本模块等,其中,合约管理节点用于将所用合约添加至智能合约模块,区块链账本模块用于保存数据,共识模块用于对上链的数据进行共识等,本技术在此不做具体限定。
60.步骤s102:基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,以使数据存储者生成数据副本的元数据并上链;传输数据副本的版本更新数据至区块链中的数据存储者,以使数据存储者生成版本更新信息并上链。
61.实际应用中,数据拥有者在获取一组原始非结构数据之后,便可以基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,比如通过链下安全通道传输数据副本至数据存储者,以便后续基于数据副本完成原始非结构数据的完整性验证,且数据存储者也需部署在区块链中,这样,数据存储者在接收到数据副本后,可以生成数据副本的元数据并上链,以在区块链中记录数据存储者接收到
数据副本。此外,当数据拥有者希望进行数据版本的更新时,需要向数据存储者传输需要进行修改的数据节点标识以及新的节点数据,也即需传输数据副本的版本更新数据至数据存储者,以使数据存储者生成版本更新信息并上链。需要说明的是,数据存储者在接收到数据副本或者版本更新数据后,可以将数据副本或者版本更新数据存储在其链下存储设施中等,本技术在此不做具体限定。
62.步骤s103:基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链,以使数据存储者获取挑战数据后基于数据副本生成数据完整性证明并上链,进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链。
63.实际应用中,数据拥有者在生成数据副本并传输至数据存储者之后,便可以基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链,以在区块链中记录挑战数据;且部署在区块链中的数据存储者在区块链中查看到该挑战数据之后,会获取挑战数据,基于数据副本生成数据完整性证明并上链;进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链,以完成对原始非结构数据的完整性动态验证。需要说明的是,区块链在基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断的过程中,可以通过完整性判决合约来基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断。
64.具体应用场景中,在原始非结构数据的完整性动态验证的过程中,对数据进行上链时,可以基于元数据上传合约来对数据进行上链,且可以通过元数据上传合约来基于预设的元数据结构对数据进行上链;其中,为了保证上链的数据的准确性,元数据结构可以包括objecttype、timestamp、node_block、data1、data2;objecttype标识元数据的类型,包括上链数据、挑战数据、证明数据、审计数据;timestamp标识该元数据的唯一标识;node_block标识要验证的一批原始非结构数据的唯一标识;data1、data2表征元数据的内容。需要说明的是,通过元数据上传合约来基于预设的元数据结构对数据进行上链的具体内容可以根据所需上链的数据类型来确定,比如在通过元数据上传合约来基于预设的元数据结构对数据副本进行上链的过程中,上链数据可以包括元数据标识data_up、时间戳、存储数据名称、数据存储凭证等;在通过元数据上传合约来基于预设的元数据结构对挑战数据进行上链的过程中,上链数据可以包括元数据标识challenge、时间戳、挑战元数据、数据存储凭证等;在通过元数据上传合约来基于预设的元数据结构对数据完整性证明进行上链的过程中,上链数据可以包括元数据标识prove、时间戳、数据完整性证明、挑战数据对应的时间戳等;在通过元数据上传合约来基于预设的元数据结构对数据完整性判断结果进行上链的过程中,上链数据可以包括元数据标识audit、时间戳、判断结果、证据数据对应的时间戳等。
65.具体应用场景中,在基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链之后,还可以对数据完整性证明进行审计,比如基于原始非结构数据的标识和/或元数据的类型对数据完整性证明进行审计,或者对上链的数据副本中的某种数据类型进行索引并审计等。需要说明的是,在进行数据审计的过程中,可以基于区块链中部署的审计历史索引合约来执行相应的数据审计操作等,本技术在此不做具体限定。
66.本技术提供的一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,获取一组原始非结构数据;基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,以使数据存储者生成数据副本的元数
据并上链;传输数据副本的版本更新数据至区块链中的数据存储者,以使数据存储者生成版本更新信息并上链;基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链,以使数据存储者获取挑战数据后基于数据副本生成数据完整性证明并上链,进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链。本技术中,可以基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并基于数据副本及数据副本的版本更新数据生成原始非结构数据的挑战数据,实现了对非结构数据的完整性动态验证,此外,整个过程中,将数据副本的元数据、版本更新数据、数据完整性证明及数据完整性判断结果进行了上链,便于后续对原始非结构数据的完整性验证过程进行追溯、审查等,适用性好。
67.请参阅图2,图2为本技术实施例提供的一种非结构数据完整性动态验证方法的第二流程图。
68.本技术实施例提供的一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,可以包括以下步骤:
69.步骤s201:获取一组原始非结构数据。
70.步骤s202:基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,以使数据存储者生成数据副本的元数据并上链;传输数据副本的版本更新数据至区块链中的数据存储者,以使数据存储者生成版本更新信息并上链。
71.实际应用中,在基于原始非结构数据的内在关系生成原始非结构数据的数据副本的过程中,可以对原始非结构数据的内在关系进行界定,并基于内在关系构建原始数据域;获取对称加密密钥,基于对称加密密钥对原始数据域中的数据进行加密,得到数据副本。
72.需要说明的是,本技术中数据域的定义如下:对于一批非结构数据,该批非结构数据中包含多个数据,对该批非结构数据的内在关系进行界定,并依据该关系进行数据域的构建,这里定义的数据域就是对该非结构数据的内在关系的表示,数据域中包含子数据域和多个非结构数据。此外,数据拥有者在生成数据副本的过程中,可以借助自身的链下计算设施模块来基于对称加密密钥对原始数据域中的数据进行加密,得到数据副本,且可以借助自身的链下存储设施模块暂存数据副本等,本技术在此不做具体限定。
73.步骤s203:获取数据副本的复合数据域。
74.步骤s204:基于复合数据域及版本更新数据生成挑战元数据。
75.实际应用中,在基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链的过程中,可以基于数据副本的复合数据域来生成相应的挑战数据,具体的,可以先获取数据副本的复合数据域;再基于复合数据域及版本更新数据生成挑战元数据;以便后续基于挑战元数据、元数据标识、时间戳及数据存储凭证生成挑战数据。
76.需要说明的是,在获取数据副本的复合数据域的过程中,可以获取之前在对原始非结构数据进行完整性验证过程中生成的数据副本的复合数据域,也可以实时生成数据副本的复合数据域等,本技术在此不做具体限定。
77.具体应用场景中,在实时生成数据副本的复合数据域的过程中,可以对数据副本中的数据进行分块,得到副本数据块;获取随机序列及拼接策略,其中,拼接策略为一条策略,规定数据副本的不同副本数据块与随机序列的拼接的方式,拼接的方式指随机序列在
副本数据块中的位置;基于拼接策略对随机序列和副本数据块进行拼接,得到复合数据域。
78.步骤s205:基于挑战元数据、元数据标识、时间戳及数据存储凭证生成挑战数据并上链,以使数据存储者获取挑战数据后基于数据副本生成数据完整性证明并上链,进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链。
79.请参阅图3,图3为本技术中基于复合数据域及版本更新数据生成挑战元数据的流程图。
80.本技术实施例提供的一种非结构数据完整性动态验证方法,应用于区块链中的数据拥有者,基于复合数据域及版本更新数据生成挑战元数据的过程,可以包括以下步骤:
81.步骤s301:对复合数据域构建基于数据域的混合merkle dag结构。
82.步骤s302:基于版本更新数据构建一个新merkle dag结构。
83.步骤s303:将混合merkle dag结构与新merkle dag结构通过merkle二叉树连接,获得新版本数据结构。
84.步骤s304:获取新版本数据结构中的根节点信息。
85.步骤s305:计算复合数据域的根节点信息的哈希值。
86.步骤s306:生成公私钥对。
87.步骤s307:基于私钥对哈希值进行签名,得到签名值。
88.步骤s308:基于签名值、根节点信息、公钥、版本号生成挑战元数据。
89.实际应用中,数据拥有者需要进行数据结构的版本更新时,可以利用版本更新数据生成不同版本的挑战元数据,版本更新数据中包含需进行修改的数据节点标识以及新的节点数据,基于版本更新数据构建一个新merkle dag结构,将复合数据域与新merkle dag结构通过merkle二叉树连接,获得新版本数据结构,基于新版本数据结构生成挑战元数据。也即在基于复合数据域生成挑战元数据的过程中,可以对复合数据域构建基于数据域的混合merkle dag结构;基于版本更新数据构建一个新merkle dag结构;将混合merkle dag结构与新merkle dag结构通过merkle二叉树连接,获得新版本数据结构;获取新版本数据结构中的根节点信息;计算复合数据域的根节点信息的哈希值;生成公私钥对;基于私钥对哈希值进行签名,得到签名值;基于签名值、根节点信息、公钥、版本号生成挑战元数据。
90.具体应用场景中,在基于签名值、根节点信息、公钥、版本号生成挑战元数据的过程中,可以基于签名值、随机序列、拼接策略、根节点信息、公钥、版本号生成挑战元数据等,本技术在此不做具体限定。
91.需要说明的是,基于数据域的混合merkle dag结构可以用于对数据域进行结构化表示;基于数据域的混合merkle dag结构的获取需要两个步骤:构建基于数据域的merkle dag文件结构、获取merkle dag节点node
id
信息;且基于数据域的混合merkle dag结构中包含数据域节点和数据节点,数据域节点中包含节点标识信息node
id
、右指针信息、孩子指针,数据节点中包含节点标识信息node
id
、右指针信息;且在获取混合merkle dag结构中的根节点信息的过程中,可以基于merkle树来确定根节点信息,比如可以对数据域中的数据构建多分支平衡merkle树,获取merkle root,将merkle root作为node
id
,数据域中的数据域节点通过孩子节点获得下层的node
id
信息,并利用获得的信息计算该数据域节点的node
id
。此外,数据拥有者在基于数据副本生成原始非结构数据的挑战数据的过程中,可以基于自身的链下计算设施模块来基于数据副本生成原始非结构数据的挑战数据,且可以借助自身的
链下存储设施模块来存储相应的数据等,本技术在此不做具体限定。
92.请参阅图4,图4为本技术实施例提供的一种非结构数据完整性动态验证系统的结构示意图。
93.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,可以包括:
94.非结构数据获取模块101,用于获取一组原始非结构数据;
95.数据副本生成模块102,用于基于原始非结构数据的内在关系生成原始非结构数据的数据副本,并传输数据副本至区块链中的数据存储者,以使数据存储者生成数据副本的元数据并上链;传输数据副本的版本更新数据至数据存储者,以使数据存储者生成版本更新信息并上链;
96.挑战数据生成模块103,用于基于数据副本及版本更新数据生成原始非结构数据的挑战数据并上链,以使数据存储者获取挑战数据后基于数据副本生成数据完整性证明并上链,进而使区块链基于数据副本的元数据、挑战数据及数据完整性证明进行数据完整性判断并上链。
97.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,挑战数据生成模块可以包括:
98.复合数据域获取单元,用于获取数据副本的复合数据域;
99.挑战元数据生成单元,用于基于复合数据域及版本更新数据生成挑战元数据;
100.挑战数据生成单元,用于基于挑战元数据、元数据标识、时间戳及数据存储凭证生成挑战数据并上链。
101.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,挑战元数据生成单元具体用于:对复合数据域构建基于数据域的混合merkle dag结构;基于版本更新数据构建一个新merkle dag结构;将混合merkle dag结构与新merkle dag结构通过merkle二叉树连接,获得新版本数据结构;获取新版本数据结构中的根节点信息;计算复合数据域的根节点信息的哈希值;生成公私钥对;基于私钥对哈希值进行签名,得到签名值;基于签名值、根节点信息、公钥、版本号生成挑战元数据。
102.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,复合数据域获取单元具体用于:对数据副本中的数据进行分块,得到副本数据块;获取随机序列及拼接策略;基于拼接策略对随机序列和副本数据块进行拼接,得到复合数据域;
103.挑战元数据生成单元具体用于:基于签名值、随机序列、拼接策略、根节点信息、公钥、版本号生成挑战元数据。
104.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,数据副本生成模块包括:
105.界定单元,用于对原始非结构数据的内在关系进行界定,并基于内在关系构建原始数据域;
106.密钥获取单元,用于获取对称加密密钥,基于对称加密密钥对原始数据域中的数据进行加密,得到数据副本。
107.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数
据拥有者,可以包括:上链模块,用于基于预设的元数据结构对数据进行上链;其中,元数据结构包括objecttype、timestamp、node_block、data1、data2;objecttype标识元数据的类型,包括上链数据、挑战数据、证明数据、审计数据;timestamp标识该元数据的唯一标识;node_block标识要验证的一批原始非结构数据的唯一标识;data1、data2表征元数据的内容。
108.本技术实施例提供的一种非结构数据完整性动态验证系统,应用于区块链中的数据拥有者,还可以包括:
109.审计模块,用于挑战数据生成模块基于数据副本生成原始非结构数据的挑战数据并上链之后,基于原始非结构数据的标识和/或元数据的类型对数据完整性证明进行审计。
110.基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备,图5为本发明实施例电子设备的硬件组成结构示意图,如图5所示,电子设备包括:
111.通信接口1,能够与其它设备比如网络设备等进行信息交互;
112.处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的应用的非结构数据完整性动态验证方法。而所述计算机程序存储在存储器3上。
113.当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统4。
114.本发明实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
115.可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存
储器2旨在包括但不限于这些和任意其它适合类型的存储器。
116.上述本发明实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
117.处理器2执行所述程序时实现本发明实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
118.在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
119.在本技术所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
120.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
121.另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
122.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
123.或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
124.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
125.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1