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

面向关系型数据库水印适配方法、设备及存储介质与流程

2022-04-16 15:48:14 来源:中国专利 TAG:


1.本发明涉及数据库安全技术领域,具体涉及一种面向关系型数据库水印的适配方法、设备及存储介质。


背景技术:

2.大数据时代,由于数据价值的日益增高,数据成为了重要的生产要素,对个人和企业产生了重要影响。一方面,对于个人而言,人们对于版权保护的关注度越来越高,版权保护的意识也逐步增强。另一方面,对于企业而言,当进行数据分发或与第三方厂家进行数据共享时,如何通过泄露数据进行溯源取证,也是企业亟待解决的难题。关系型数据是最为常见的数据类型之一,因此针对关系型数据的版权保护和数据溯源成为了相关领域的研究热点之一。
3.目前,针对关系型数据的版权保护和数据溯源主要考虑数据库水印技术,对特定的数据类型采用指定的数据库水印算法。然而,现有的数据库水印技术缺乏不同类型数据的有效适配,且抗攻击能力较弱。
4.因此,有必要解决上述问题。


技术实现要素:

5.本发明的目的在于克服上述现有技术的不足,提供了一种面向关系型数据库水印的适配方法、设备及可读存储介质。
6.第一方面,本发明实施例提供了一种面向关系型数据库水印适配方法,该方法包括:
7.根据数据类型自动适配数据表中的字段;
8.评估原始数据表的数据量;
9.根据数据表中的数据列的敏感度判断是否需要对该数据列进行水印嵌入;
10.根据所述的数据类型适配、数据量评估或数据列敏感度判断信息,控制水印嵌入之后的数据值。
11.第二方面,本发明实施例提供了一种终端设备,包括处理器、与所述处理器通信连接的存储器,以及,与网络设备进行通信的接口;其中,所述存储器存储有可被所述处理器执行的指令,以实现上述所述的面向关系型数据库水印适配方法。
12.第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器执行时,用于实现上述所述的面向关系型数据库水印适配方法。
13.本发明具有下列技术效果:
14.(1)本发明提出的面向关系型数据库水印的适配方法,可有效解决数据版权的确权和泄露溯源等问题;
15.(2)本发明针对常见的数值型和文本型数据,提出了一种自动适配水印算法,该算
法结合数据类型适配、数据量评估、数据列敏感度判断、参数调优等技术,实现数据库水印算法和模型参数的智能适配;
16.(3)本发明针对常见的数据水印添加、修改、删除攻击等攻击具有较好的鲁棒性和可用性,可有效应对水印擦除和攻击检测。
附图说明
17.图1为本发明实施例提供的水印适配方法流程图;
18.图2为本发明实施例提供的数据类型自动适配步骤流程图。
具体实施方式
19.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
20.参见图1,本发明实施例提供了一种面向关系型数据库水印适配方法,包括:
21.s10获取需要添加水印的原始关系数据集d。
22.用户将数字水印信息及需要添加所述数字水印信息的原始关系数据集d发送给终端。
23.s20根据数据类型自动适配数据表中的字段。
24.在水印嵌入之前,针对数值型以及字符串(字符)类型的数据进行自动适配。
25.参见图2,在本发明一较佳的实施例中,所述数据类型自动适配具体的步骤包括:
26.s201遍历数据表中除主键和日期/时间外的其它所有字段。
27.s202判断字段中所有数据值是否满足正则表达式
“‑
?[0-9] (\\.[0-9] )?”,若是,该字段为数值型字段;
[0028]
若否,该字段为字符串(字符)类型。
[0029]
本步骤能够将数据表中的每个字段进行数据类型的自动适配和归类。例如:当数据表中除主键、外键和日期/时间外还存在其它字段ci时,通过该步骤就能将数据表中某个具体字段ci的数据类型识别出来,该数据类型一般可以划分为:数值型和字符串(字符)类型(即文本型)。在此基础上,该步骤可以为系统方案后续选择相应的数值型水印算法或者文本型水印算法提供重要的参考依据。
[0030]
在本发明一较佳的实施例中,所述数据类型自动适配具体的步骤进一步包括:
[0031]
2011当数据表中除主键和日期/时间外的其它所有字段遍历操作完成之后,建立字段数据类型管理注册表,使用户根据该注册表迅速对数据表中各个字段的数据类型作出判断,以选择相应的水印嵌入流程。
[0032]
s30评估原始数据表的数据量。
[0033]
该步骤是在水印嵌入之前,对原始数据表的数据量进行评估。这是因为,当水印的行嵌入比例过大时,可能会导致原始数据产生严重的失真影响,本步骤可以保证数据的失真结果控制在用户所能够接受的行嵌入比例范围之内。通常来说,水印的行嵌入比例与原始数据的失真程度成正比例关系。
[0034]
对于每个原始数据表而言,表中的第一个字段默认为主键,若数据表中不存在主
键,则会为数据表生成一个新的字段作为主键。因此,数据表中的最后一行元组的主键值即为数据表中的数据量总数。
[0035]
确定数据表中的数据量总数后,根据数据表中的元组总数sum以及用户输入的数据分组控制参数λ,确定该数据表的数据分组划分数量ng,其计算方式为:
[0036][0037]
通过上述计算方式,即可计算出符合用户预期的划分数量。
[0038]
当确定好数据分组数量ng之后,用户可以指定水印的行嵌入比例μ,以确定将要嵌入水印的元组数目fetch_count,其计算方式为:
[0039]
fetch_count=sum
×
μ
[0040]
当用户没有指定μ时,则水印的行嵌入比例μ默认为100%。
[0041]
当数据表中有1000行数据时,假设用户输入的数据分组控制参数λ=10,那么该数据表的数据分组划分数量ng=1000/10=100,即用户预期的划分数量为100。当确定好数据分组数量ng=100之后,假设用户指定水印的行嵌入比例μ=20%,那么该步骤就会在数据表中随机选择200行数据来进行水印的嵌入。此外,当用户没有指定μ的具体值时,则水印的行嵌入比例μ默认为100%。
[0042]
s40根据数据表中的数据列的敏感度判断是否需要对该数据列进行水印嵌入。
[0043]
在水印嵌入之前,根据敏感度判断数据表中的数据列是否比较重要,进而判断是否需要对该数据列进行水印嵌入,从而实现智能的选择待嵌入字段列。
[0044]
在本发明一较佳的实施例中,数据列敏感度判断具体可包括:
[0045]
将数据表设置n个元组(n≥1),各元组的数据模式均为r=(pkey,c1,c2,...,cn,fkey),其中,c1,c2,...,cn表示字段数据列,pkey表示主键,fkey表示外键;
[0046]
将数据表中具有unique唯一性约束的ci以及pkey、fkey划分为重点字段数据列集合,用focus表示;
[0047]
将文本型字段数据列和非敏感数值型字段数据列划分为非必要字段数据列集合,用optional表示;
[0048]
默认对于主键pkey、外键fkey不进行水印嵌入的操作,若数据表中的可嵌入字段的数量为emb,则emb计算方式为:
[0049]
emb=size(optional focus)-2
[0050]
emb值确定之后,根据用户信息选择水印嵌入字段;
[0051]
设置数据表中可嵌入字段的敏感度为si,则数据表对应的敏感度列表为{s1,s2,...,s
emb
}。
[0052]
所述敏感度的计算方式为:
[0053]
si=φ(δ1×
ω1 δ2×
ω2

δn×
ωn)
[0054]
其中,δ1表示该字段中空值和异常值比例,
[0055]
δ2表示该字段中数据值的有效位数,
……

[0056]
δn表示水印内容;
[0057]
{ω1,ω2,...,ωn}分别表示{δ1,δ2,...,δn}所占的权重比例;
[0058]
φ表示多重信息联合选择函数;
[0059]
根据敏感度列表{s1,s2,...,s
emb
}对待嵌入字段进行从大到小排序,即可选出待嵌入字段列。
[0060]
例如,若数据表t中含有1000个元组,表t中任意元组的数据模式相同,并且均为r=(id,name,salary,content,order_id),其中,name,salary,content表示字段数据列,id表示主键,order_id表示外键。将数据表中具有unique唯一性约束的name以及id、order_id划分为重点字段数据列集合,用focus表示;将content字段数据列和非敏感salary字段数据列划分为非必要字段数据列集合,用optional表示。
[0061]
默认对于主键id、外键order_id不进行水印嵌入的操作,此要求的目的是为了保证数据表的完整性。
[0062]
若数据表中的可嵌入字段的数量为emb,则emb与focus以及optional之间的关系,其计算方式为:
[0063]
emb=size(optional focus)-2
[0064]
其中,focus=3,optional=2,则emb=3。
[0065]
当emb值确定之后,并非在每一个可嵌入字段下都嵌入水印,而是依据用户信息等多重信息联合选择水印嵌入字段。
[0066]
设置数据表中可嵌入字段的敏感度为si,则数据表中{name,salary,content}对应的敏感度列表为{s1,s2,s3}。其中,敏感度的计算方式为:
[0067]
si=φ(δ1×
ω1 δ2×
ω2

δn×
ωn)
[0068]
其中,δ1表示该字段中能够正常使用的数值所占比例,δ2表示该字段中数据值的有效位数所占比例,
……
,δn表示水印内容的编码长度所占比例。{ω1,ω2,...,ωn}分别表示{δ1,δ2,...,δn}所占的权重比例,由该部分自动分配。φ表示多重信息联合选择函数,对δi和ωi参数进行相关操作之后,再对其结果值进行映射,可得si。由于si的实际计算方式较为复杂,因此在此处不多进行赘述。
[0069]
最后,根据敏感度列表{s1,s2,s3}对待嵌入字段{name,salary,content}进行从大到小排序。例如:对{s1,s2,s3}={0.3,1,1}进行排序,则字段顺序表为:{salary,content,name}。在此基础上,用户从而能够通过字段顺序表智能地选择出待嵌入字段列为:{salary,content},进而可以结合具体的水印嵌入算法执行嵌入操作。
[0070]
s50在水印嵌入之前,对于数值型数据,根据所述的数据类型适配、数据量评估或数据列敏感度判断信息,预先设置的多个控制参数,以控制水印嵌入之后的数据值,使水印嵌入之后的数据值限制在可控范围之内,从而避免水印嵌入前后,误差过大。
[0071]
在本发明一较佳的实施例中,所述控制参数包括:
[0072]
(1)精度控制,通过用户设定的待嵌入水印字段的数据值的有效数字位数控制数据显示的准确和精密程度。
[0073]
在水印嵌入之前,通过用户设定待嵌入水印字段的数据值的有效数字位数,从而在水印嵌入之后,来控制数据值的显示程度。
[0074]
具体的精度控制参数列表为:precision_list={

10


″1″


0.1



0.01



0.001

},如precision_list所示,其精度控制参数的粒度逐渐细化。
[0075]
(2)变化范围控制:
[0076]
在水印嵌入之前,通过用户指定的待嵌入水印字段的数据值的变化范围上下界
(如:-100~,100),从而在水印嵌入之后,来控制数据值所在的大致范围。
[0077]
(3)嵌入的版权信息控制:
[0078]
由用户输入具有实际意义的中英文版权信息,从而来证明数据的原始所有者,以便进入对应的水印嵌入流程。
[0079]
本步骤通过自动设定水印嵌入过程中的多个限制参数,使得原始数据库在水印嵌入前后,不会产生较大的数据失真。此外,即使原始数据值在水印嵌入过程中受到了影响,该步骤也可以将其限制在用户可接受的某个具体范围之内。
[0080]
用户设置的多个限制参数如表1所示。
[0081]
表1
[0082]
字段名称精度变化范围下界变化范围上界嵌入信息salary0.01-55北邮张业兴
[0083]
若原始salary字段中包含10条数据,即salary={85.47,2307.69,171.90,854.70,555.57,213.68,427.35,128.21,128.21,427.35};当需要对salary字段进行水印嵌入时,该步骤会根据上述限制参数的设置以及具体的水印嵌入算法(例如:lsb修改算法)来实现此目标。
[0084]
具体来说,当用户指定水印的行嵌入比例为20%时,则salary={85.47,2307.69,171.90,854.70,555.57,218.68,427.35,133.21,128.21,427.35};由此可见,salary字段列的统计失真影响较小,且参数的变化范围可控。
[0085]
上述本发明面向关系型数据库水印的适配方法,能够解决目前关系数据库水印方案中数据无法自动适配和抗攻击的问题,所嵌入的水印具有较少的数据失真和良好的鲁棒性,可作为数据水印方案满足大多数的应用场景需求。
[0086]
本发明实施例还提供了一种终端设备,包括处理器、与所述处理器通信连接的存储器,以及,与网络设备进行通信的接口;其中,所述存储器存储有计算机程序,通过处理器执行计算机程序发出的控制指令,完成各种功能应用以及数据处理,以实现上述所述的面向关系型数据库水印适配方法。所述存储器可为终端设备内部设置的存储器。还可以包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。
[0087]
本发明实施例提供的终端设备,通过接收网络设备发送的水印获取请求,由处理器根据存储器内数据库内数值型或字符串类型的遍历所有字段,使用户根据建立的字段数据类型管理注册表迅速对数据表中各个字段的数据类型作出判断,然后对原始数据表中的数据量作出评估,并指定水印的行嵌入比例,再根据数据表中的数据列的敏感度判断是否需要对该数据列进行水印嵌入,以选择相应的水印嵌入流程,然后根据数据类型适配、数据量评估或数据列敏感度判断信息,通过用户设定的待嵌入水印字段的数据值的有效数字位数控制数据显示的准确和精密程度以及用户指定的待嵌入水印字段的数据值的变化范围上下界控制数据值所在的大致范围,控制水印嵌入之后的数据值,避免水印嵌入前后误差过大。
[0088]
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器执行时,用于实现上述所述的面向关系型数据库水印适配方法。
[0089]
本发明的上述实施例所示仅为本发明较佳实施例之部分,并不能以此局限本发
明,在不脱离本发明精髓的条件下,本领域技术人员所作的任何修改、等同替换和改进等,都属本发明的保护范围。
再多了解一些

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

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

相关文献