一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据溯源方法、装置及可读存储介质与流程

2022-07-10 05:56:02 来源:中国专利 TAG:


1.本发明涉及数据安全领域,特别是指一种数据溯源方法、装置及可读存储介质。


背景技术:

2.随着数据成为企业的一种资产形式,为了更好的发挥数据价值,数据在企业内部涉及多部门/项目组的共享场景越来越多。在数据共享的过程中,为了进行数据追踪、评估数据价值以及在发生数据异常时评估影响范围,需要实现数据的追踪溯源能力。
3.为提高数据溯源的安全性和可信任性,可将数据存储于区块链上,基于溯源对象的标识信息,可从区块链上查找溯源对象生命周期各个业务阶段的业务数据。但是将溯源信息直接存储在区块链上,任何人都可以查看所有数据的流转路径信息,隐私性较差。


技术实现要素:

4.本发明提供一种数据溯源方法、装置及可读存储介质,解决了数据溯源隐私性较差的问题。
5.为达到上述目的,本发明的实施例提供一种数据溯源方法,包括:
6.确定数据文件流转到第m个节点的标记行;
7.将标记行的行号上传至区块,得到行号所在区块的区块信息;
8.根据所述区块信息中的行号,对所述数据文件进行溯源。
9.可选地,确定数据文件流转到第m个节点的标记行的步骤,包括:
10.将所述数据文件中满足预设条件的数据行确定为流转到第m个节点的标记行。
11.可选地,确定数据文件流转到第m个节点的标记行的步骤,包括:
12.若所述数据文件中不存在满足预设条件的数据行,则在所述数据文件中插入满足所述预设条件的构造数据行;
13.将所述构造数据行确定为流转到第m个节点的标记行。
14.可选地,在所述数据文件中插入满足所述预设条件的构造数据行的步骤,包括:
15.在所述数据文件的末尾位置或起始位置插入满足所述预设条件的构造数据行。
16.可选地,所述预设条件包括:行数据的哈希值模n的值等于m,其中,n为节点总数。
17.可选地,将所述标记行的行号上传至区块,得到所述行号所在区块的区块信息的步骤之后,还包括:
18.将所述区块信息以及所述数据文件的文件名存储在数据库中。
19.可选地,将所述区块信息以及所述数据文件的文件名存储在数据库中的步骤之后,还包括:
20.在所述数据库中查找所述数据文件的文件名对应的区块信息;
21.根据所述区块信息中的行号,对所述数据文件进行溯源的步骤,包括:
22.根据所述区块信息,在对应的区块上查找所述数据文件的标记行的行号;
23.根据所述标记行的行号,确定所述数据文件流转到的节点。
24.为达到上述目的,本发明的实施例提供一种数据溯源装置,包括:
25.处理模块,用于确定数据文件流转到第m个节点的标记行;
26.上传模块,用于将标记行的行号上传至区块,得到行号所在区块的区块信息;
27.溯源模块,用于根据所述区块信息中的行号,对所述数据文件进行溯源。
28.可选地,所述处理模块包括:
29.第一处理单元,用于将所述数据文件中满足预设条件的数据行确定为流转到第m个节点的标记行。
30.可选地,所述处理模块包括:
31.插入单元,用于若所述数据文件中不存在满足预设条件的数据行,则在所述数据文件中插入满足所述预设条件的构造数据行;
32.第二处理单元,用于将所述构造数据行确定为流转到第m个节点的标记行。
33.可选地,所述插入单元具体用于:
34.在所述数据文件的末尾位置或起始位置插入满足所述预设条件的构造数据行。
35.可选地,所述预设条件包括:行数据的哈希值模n的值等于m,其中,n为节点总数。
36.可选地,所述数据溯源装置还包括:
37.存储模块,用于将所述区块信息以及所述数据文件的文件名存储在数据库中。
38.可选地,所述数据溯源装置还包括:
39.第一查找模块,用于在所述数据库中查找所述数据文件的文件名对应的区块信息;
40.第二查找模块,用于根据所述区块信息,在对应的区块上查找所述数据文件的标记行的行号;
41.溯源单元,用于根据所述标记行的行号,确定所述数据文件流转到的节点。
42.为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的数据溯源方法中的步骤。
43.本发明的上述技术方案的有益效果如下:
44.本发明实施例的数据溯源方法中,确定数据文件流转到第m个节点的标记行;将标记行的行号上传至区块,得到行号所在区块的区块信息;根据所述区块信息中的行号,对所述数据文件进行溯源。这样将标记行的行号上传至区块上,作为数据文件流转到第m个节点的标记,即将数据流转节点标记为数据文件行号,区块链上只记录行号信息,这样在数据溯源时,只有数据流经的节点才可基于行号信息确定出数据文件的流转路径,数据未流经的节点(非数据流转参与方)无法获知数据的流转路径,以此保护数据流转信息。
附图说明
45.图1为本发明实施例的数据溯源方法的流程示意图;
46.图2为本发明实施例的数据流转溯源方法的流程示意图;
47.图3为本发明实施例的数据溯源装置的模块示意图。
具体实施方式
48.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具
体实施例进行详细描述。
49.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
50.在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
51.另外,本文中术语“系统”和“网络”在本文中常可互换使用。
52.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
53.如图1所示,本发明实施例的一种数据溯源方法,包括:
54.步骤11:确定数据文件流转到第m个节点的标记行。
55.步骤12:将所述标记行的行号上传至区块,得到所述行号所在区块的区块信息;
56.步骤13:根据所述区块信息中的行号,对所述数据文件进行溯源。
57.其中,标记行与数据文件流转到的第m个节点满足预设条件,根据标记行的行号可确定数据文件的流转节点。
58.可选地,步骤11包括:将数据文件中满足预设条件的数据行确定为流转到第m个节点的标记行。
59.其中,预设条件为行数据满足一定条件,具体地,可在数据文件中逐行确定行数据是否满足预设条件,若查找到满足预设条件的数据行,则将该数据行确定为数据文件流转到第m个节点的标记行。
60.其中,预设条件包括:行数据的哈希值模n的值等于m,其中,n为节点总数,即网络中共有n个数据流转节点。将数据文件中满足预设条件的数据行确定为流转到第m个节点的标记行具体为:计算数据文件中每行数据(data)的哈希值模n的值,即p=hash(data)modn,如果第i行数据的p值等于m,则停止计算并记录下i。将i上传至区块链系统的区块上,并接收区块链系统反馈的区块信息。
61.可选地,步骤11还可以包括:若所述数据文件中不存在满足预设条件的数据行,则在所述数据文件中插入满足所述预设条件的构造数据行;将所述构造数据行确定为流转到第m个节点的标记行。预设条件包括:行数据的哈希值模n的值等于m,n为节点总数,即网络中共有n个数据流转节点。也就是说,计算数据文件中每行数据(data)的哈希值模n的值,即p=hash(data)modn,如果没有满足条件的数据,则随机构造一行数据插入数据文件中,使得p=hash(data)modn等于m(每次能成功构造满足条件行的概率为1/n),记录该行的位置,得到行号j。将j上传至区块链系统的区块上,并接收区块链系统反馈的区块信息。
62.其中,在数据文件中插入满足所述预设条件的构造数据行的步骤包括:在所述数据文件的末尾位置或起始位置插入满足所述预设条件的构造数据行。也就是说随机构造的一行数据插入数据文件的末尾或开头。
63.可选地,步骤12之后还包括:将所述区块信息以及所述数据文件的文件名存储在
数据库中。第m个节点将数据文件的标记行的行号(i或j)上链,得到行号i、j所在区块的区块信息,同时将文件名、区块信息w写入数据库。
64.进一步地,将所述区块信息以及所述数据文件的文件名存储在数据库中的步骤之后,还包括:在所述数据库中查找所述数据文件的文件名对应的区块信息;步骤13具体包括:根据所述区块信息,在对应的区块上查找所述数据文件的标记行的行号;根据所述标记行的行号,确定所述数据文件流转到的节点。当有数据流转溯源请求时,在数据库中查找与数据文件的文件名对应的区块信息,再在区块链系统中的区块中,查找区块信息对应的行号,再通过反哈希算法推算出流传到的节点m。这样建立链下数据库,将数据对应的区块链节点按序记录在数据库中,提高查询效率。
65.如图2所示,以数据文件经从第m个节点向第n个节点流转为例,m节点计算文件中每行数据(data)的哈希值模n的值,即p=hash(data)modn,如果第i行数据的p值等于m,则停止计算并记录下i。如果没有满足条件的数据,则随机构造一行数据插入数据文件的末尾,使得p=hash(data)modn等于m(每次能成功构造满足条件行的概率为1/n),记录该行的位置。m节点对于节点编号n,做同样的操作,得到行号j。m节点将行号i、j上链,得到行号i、j所在区块的区块信息,同时将文件名、区块信息w写入数据库。m节点将文件发给节点n。
66.当需要对数据文件a的流转路径进行溯源时,首先在数据库中查出涉及a的区块链节点,记为a1,a2,

,as。在第一个涉及a的区块链节点a1上查出发送节点和接收节点对应的行号,然后通过hash(data)modn得到发送节点编号和接收节点编号(其中data是行数据)。对于第二个涉及a的区块链节点a2,执行同样的操作得到发送节点和接收节点编号,判断第二个的发送节点与第一个的接收节点是否相等,如果相等,继续遍历所有上述节点直到as,对每个节点执行相同的操作。遍历as到区块链最后一个节点间的所有节点,如果能够查到a的信息,执行同样的操作,最终得到a的流转路径。如果判断不相等,说明本地数据库发生了篡改,此时需要遍历整个区块链来查询a的流转路径。
67.本发明实施例的数据溯源方法中,确定数据文件流转到第m个节点的标记行;将标记行的行号上传至区块,得到行号所在区块的区块信息。这样将标记行的行号上传至区块,作为数据文件流转到第m个节点的标记,即将数据流转节点标记为数据文件的行号,区块链上只记录行号信息,非数据流转参与方无法获知数据的流转路径,可以保护数据流转的隐私性。
68.如图3所示,本发明实施例的一种数据溯源装置300,至少包括以下模块:
69.处理模块310,用于确定数据文件流转到第m个节点的标记行;
70.上传模块320,用于将标记行的行号上传至区块,得到行号所在区块的区块信息;
71.溯源模块330,用于根据所述区块信息中的行号,对所述数据文件进行溯源。
72.可选地,处理模块310包括:
73.第一处理单元,用于将数据文件中满足预设条件的数据行确定为流转到第m个节点的标记行。
74.可选地,处理模块310包括:
75.插入单元,用于若数据文件中不存在满足预设条件的数据行,则在数据文件中插入满足预设条件的构造数据行;
76.第二处理单元,用于将构造数据行确定为流转到第m个节点的标记行。
77.可选地,插入单元具体用于:
78.在数据文件的末尾位置或起始位置插入满足预设条件的构造数据行。
79.可选地,预设条件包括:行数据的哈希值模n的值等于m,其中,n为节点总数。
80.可选地,该数据溯源装置300还包括:
81.存储模块,用于将区块信息以及数据文件的文件名存储在数据库中。
82.可选地,该数据溯源装置300还包括:
83.第一查找模块,用于在数据库中查找数据文件的文件名对应的区块信息;
84.第二查找模块,用于根据区块信息,在对应的区块上查找数据文件的标记行的行号;
85.溯源单元,用于根据标记行的行号,确定数据文件流转到的节点。该实施例的数据溯源装置是与上述数据溯源方法对应的产品实施例,上述方法实施例的具体实施方式均适用于该装置实施例中,且能达到相同的技术效果,故不在此赘述。
86.本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的数据溯源方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
87.其中,所述处理器为上述实施例中所述的数据溯源装置中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
88.进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
89.本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
90.实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
91.在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(vlsi)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
92.上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见
而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
93.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献