CN116541808A - 数据水印溯源方法、装置、计算机设备及存储介质 - Google Patents
数据水印溯源方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116541808A CN116541808A CN202310825054.0A CN202310825054A CN116541808A CN 116541808 A CN116541808 A CN 116541808A CN 202310825054 A CN202310825054 A CN 202310825054A CN 116541808 A CN116541808 A CN 116541808A
- Authority
- CN
- China
- Prior art keywords
- watermark
- data
- value
- information
- tracing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 238000012545 processing Methods 0.000 claims abstract description 103
- 238000004590 computer program Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000009792 diffusion process Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明实施例公开了数据水印溯源方法、装置、计算机设备及存储介质。所述方法包括:获取待水印数据;根据所述待水印数据配置水印过程相关信息;创建水印线程;利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;存储所述水印处理结果以及所述水印过程相关信息至数据库;获取待溯源数据;创建溯源线程;利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;存储所述溯源结果以及所述待溯源数据至数据库。通过实施本发明实施例的方法可实现解决敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头的问题。
Description
技术领域
本发明涉及数据处理方法,更具体地说是指数据水印溯源方法、装置、计算机设备及存储介质。
背景技术
随着信息技术的发展,对于数据的安全把控越来越严格,敏感数据是指泄漏后可能会给社会或个人带来严重危害的数据,包括个人隐私数据,如姓名、身份证号码、住址、电话、银行账号、邮箱、密码、医疗信息、教育背景等;也包括企业或社会机构不适合公布的数据,如企业的经营情况,企业的网络结构、IP地址列表等。
现有的技术只能监控敏感数据的存在,无法进行源头的追溯;即敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头。
因此,有必要设计一种新的方法,实现解决敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头的问题。
发明内容
本发明的目的在于克服现有技术的缺陷,提供数据水印溯源方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:数据水印溯源方法,包括:
获取待水印数据;
根据所述待水印数据配置水印过程相关信息;
创建水印线程;
利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;
存储所述水印处理结果以及所述水印过程相关信息至数据库;
获取待溯源数据;
创建溯源线程;
利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;
存储所述溯源结果以及所述待溯源数据至数据库。
其进一步技术方案为:所述水印过程相关信息包括待水印数据、表信息、Hash列信息、Value列信息以及水印后目标数据信息。
其进一步技术方案为:所述利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果,包括:
随机生成水印作业的水印码;
随机选择水印作业的Hash算法;
随机选择水印作业的Value列使用的拼接字符;
根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;
记录所有行记录的总数;
初始化已处理行记录条数;
遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;
确定所述水印码上对应所述余数位置的值;
判断所述值是否为一;
若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;
当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;
若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;
若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
其进一步技术方案为:所述存储所述水印处理结果以及所述水印过程相关信息至数据库,包括:
存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
其进一步技术方案为:所述利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果,包括:
获取所述待溯源数据的所有列信息;
获取当前数据库中所有水印作业;
遍历所有水印作业,获取Hash列和Value列的名称;
判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;
若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表;
遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;
根据所述待溯源数据获取所有行记录信息;
初始化已处理行记录条数;
初始化溯源水印码;
遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;
判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;
若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一;
当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;
若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;
若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败;
若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同。
其进一步技术方案为:所述随机选择水印作业的Value列使用的拼接字符,包括:
从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。
本发明还提供了数据水印溯源装置,包括:
待水印数据获取单元,用于获取待水印数据;
相关信息配置单元,用于根据所述待水印数据配置水印过程相关信息;
第一创建单元,用于创建水印线程;
水印处理单元,用于利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;
第一存储单元,用于存储所述水印处理结果以及所述水印过程相关信息至数据库;
待溯源数据获取单元,用于获取待溯源数据;
第二创建单元,用于创建溯源线程;
溯源处理单元,用于利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;
第二存储单元,用于存储所述溯源结果以及所述待溯源数据至数据库。
其进一步技术方案为:所述水印处理单元包括:
第一生成子单元,用于随机生成水印作业的水印码;
第一选择子单元,用于随机选择水印作业的Hash算法;
第二选择子单元,用于随机选择水印作业的Value列使用的拼接字符;
第一获取子单元,用于根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;
第一记录子单元,用于记录所有行记录的总数;
第一初始化子单元,用于初始化已处理行记录条数;
第一求余子单元,用于遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;
第一值确定子单元,用于确定所述水印码上对应所述余数位置的值;
第一判断子单元,用于判断所述值是否为一;
第一拼接子单元,用于若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;
第二判断子单元,用于当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;
水印处理结果确定子单元,用于若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;
条数处理子单元,用于若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过对待水印数据采用Hash列信息、Value列信息进行水印处理,且对于待溯源数据,采用数据库内保存的所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符进行数据溯源,定位到源头信息,解决了敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头的问题,可简单快速配置水印作业,水印数据无痕隐蔽性强,并且具有超强的溯源性。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据水印溯源方法的应用场景示意图;
图2为本发明实施例提供的数据水印溯源方法的流程示意图;
图3为本发明实施例提供的数据水印溯源方法的子流程示意图;
图4为本发明实施例提供的数据水印溯源方法的子流程示意图;;
图5为本发明实施例提供的数据水印溯源装置的示意性框图;
图6为本发明实施例提供的数据水印溯源装置的水印处理单元的示意性框图;
图7为本发明实施例提供的数据水印溯源装置的溯源处理单元的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的数据水印溯源方法的应用场景示意图。图2为本发明实施例提供的数据水印溯源方法的示意性流程图。该数据水印溯源方法应用于服务器中。该服务器与终端进行数据交互,通过从终端获取待水印数据,对待水印数据进行水印处理,并对于需要溯源的数据,采用水印信息进行源头的跟踪,实现解决敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头的问题。
Hash列可以为id;Value列可以为姓名,拼接字符可以为不可见的字符,比如\t;水印码是32位的二进制内容。
图2是本发明实施例提供的数据水印溯源方法的流程示意图。如图2所示,该方法包括以下步骤S110至S190。
S110、获取待水印数据。
在本实施例中,待水印数据是指需要进行水印处理以便于后续溯源所用的数据。
具体地,所述待水印数据可以是存储结构化数据的文件,也可以是数据库。
S120、根据所述待水印数据配置水印过程相关信息。
在本实施例中,所述水印过程相关信息包括待水印数据、表信息、Hash列信息、Value列信息以及水印后目标数据信息。
S130、创建水印线程。
在本实施例中,水印线程是指用于对数据进行水印处理的线程。
具体地,利用主线程以配置为单位开启多个水印线程。
S140、利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果。
在本实施例中,水印处理结果包括所述Value列值以及所述Hash列值。
在一实施例中,请参阅图3,上述的步骤S140可包括步骤S140a~ S140m。
S140a、随机生成水印作业的水印码。
在本实施例中,随机生成此次水印作业的32位水印码A,每一位上的数据仅可以是0和1。
S140b、随机选择水印作业的Hash算法。
在本实施例中,随机选择此次水印作业的 Hash 算法,用于将Hash列值转换成一个整数。一个字符串的hash值是唯一的。
具体地,从系统内置的几种 Hash 算法中随机选择一种算法用于此次水印作业。
S140c、随机选择水印作业的Value列使用的拼接字符。
在本实施例中,从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。系统内置的字符包含一些隐蔽性较高的字符,例如空格,换行符等。
拼接字符串多样是为了说明本专利的扩展性,但是具体实施过程中,还是建议固定的,当然也可以随机,但这样就需要遍历拼接字符串。
S140d、根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;
S140e、记录所有行记录的总数;
S140f、初始化已处理行记录条数。
在本实施例中,初始化已处理行记录条数D,设为0。
S140g、遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;
S140h、确定所述水印码上对应所述余数位置的值;
S140i、判断所述值是否为一;
S140j、若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;
如果所有行记录信息未处理完毕,则重复遍历所有行记录信息。
S140k、当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;
S140l、若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;
若所有行记录的总数不等于已处理行记录条数,则确定水印作业失败,进入结束步骤。
S140m、若所述值不为一,则将已处理行记录条数加一,并执行所述步骤S140k。
具体地,遍历所有行记录信息,Hash列值用随机选择的Hash算法求值,然后对32位水印码A的位数取余得到C,找到水印码A上对应余数C位置的值A[C],如果A[C]为1,则在Value列值后拼接随机字符B,如果A[C]为0,则不处理Value 列的值,并将处理后的数据Value列值以及Hash列值存储到水印后目标数据处,然后已处理行记录条数D加1。
所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数,如果相等则认定水印作业执行完成,如果不相等,则认定水印作业执行失败。
举个例子:水印码 00000010100000000100111001000100。
hash列 姓名 数据(["张三0","张三1","张三2","张三3","张三4","张三5","张三6","张三7","张三8","张三9","张三10","张三11","张三12","张三13","张三14","张三15","张三16","张三17","张三18","张三19","张三20","张三21","张三22","张三23","张三24","张三25","张三26","张三27","张三28","张三29","张三30","张三31","张三32","张三33","张三34","张三35","张三36","张三37","张三38","张三39","张三40","张三41","张三42","张三43","张三44","张三45","张三46","张三47","张三48","张三49"])
value列 工资 原数据(["3000元","3001元","3002元","3003元","3004元","3005元","3006元","3007元","3008元","3009元","3010元","3011元","3012元","3013元","3014元","3015元","3016元","3017元","3018元","3019元","3020元","3021元","3022元","3023元","3024元","3025元","3026元","3027元","3028元","3029元","3030元","3031元","3032元","3033元","3034元","3035元","3036元","3037元","3038元","3039元","3040元","3041元","3042元","3043元","3044元","3045元","3046元","3047元","3048元","3049元"])
value列 工资 水印后的数据(["3000元","3001元","3002元","3003元\t","3004元","3005元","3006元\t","3007元","3008元","3009元","3010元\t","3011元","3012元","3013元\t","3014元\t","3015元","3016元","3017元\t","3018元","3019元","3020元\t","3021元\t","3022元\t","3023元","3024元","3025元","3026元\t","3027元\t","3028元","3029元\t","3030元","3031元","3032元","3033元","3034元\t","3035元","3036元","3037元","3038元","3039元","3040元\t","3041元","3042元","3043元","3044元","3045元\t","3046元","3047元","3048元\t","3049元"])
给出去的数据便是hash列+水印后的value列,形成水印处理结果。
S150、存储所述水印处理结果以及所述水印过程相关信息至数据库。
在本实施例中,存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
S160、获取待溯源数据。
在本实施例中,待溯源数据是指需要进行溯源的数据。
具体地,所述待溯源数据可以是存储结构化数据的文件,也可以是数据库。
S170、创建溯源线程。
在本实施例中,溯源线程是指用于追溯数据的源头的线程。
具体地,利用主线程以配置为单位开启多个溯源线程。
S180、利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果。
举个例子:
hash列 姓名 数据(["张三0","张三1","张三2","张三3","张三4","张三5","张三6","张三7","张三8","张三9","张三10","张三11","张三12","张三13","张三14","张三15","张三16","张三17","张三18","张三19","张三20","张三21","张三22","张三23","张三24","张三25","张三26","张三27","张三28","张三29","张三30","张三31","张三32","张三33","张三34","张三35","张三36","张三37","张三38","张三39","张三40","张三41","张三42","张三43","张三44","张三45","张三46","张三47","张三48","张三49"])
value列 工资 (["3000元","3001元","3002元","3003元\t","3004元","3005元","3006元\t","3007元","3008元","3009元","3010元\t","3011元","3012元","3013元\t","3014元\t","3015元","3016元","3017元\t","3018元","3019元","3020元\t","3021元\t","3022元\t","3023元","3024元","3025元","3026元\t","3027元\t","3028元","3029元\t","3030元","3031元","3032元","3033元","3034元\t","3035元","3036元","3037元","3038元","3039元","3040元\t","3041元","3042元","3043元","3044元","3045元\t","3046元","3047元","3048元\t","3049元"]
溯源后的水印码 00000010100000000100111001000100。
溯源后水印码与原水印码一致(数据越多越完整溯源可靠性越高,但如果原水印码不多且差异较大,在水印数据不多的情况下也能确定原水印码)
在本实施例中,溯源结果是指待溯源数据的源头等信息或者是追溯失败的信息。
在一实施例中,请参阅图4,上述的步骤S180可包括步骤S180a~ S180p。
S180a、获取所述待溯源数据的所有列信息;
S180b、获取当前数据库中所有水印作业;
S180c、遍历所有水印作业,获取Hash列和Value列的名称;
S180d、判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;
若所述Hash列和Value列名称不存在于待所述待溯源数据的所有列信息,则执行所述步骤S180f。
S180e、若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表;
S180f、遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;
S180g、根据所述待溯源数据获取所有行记录信息;
S180h、初始化已处理行记录条数。
在本实施例中,初始化已处理行记录条数F,设为0。
S180i、初始化溯源水印码。
在本实施例中,初始化溯源水印码G,设为32位空数组。
S180j、遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;
S180k、判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;
S180l、若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一,并执行步骤S180n;
S180m、若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一;
S180n、当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;
S180o、若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;
S180p、若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败。
具体地,遍历所有行记录信息,Hash列值用随机选择的Hash算法求值,然后对32的位数取余得到C,判断Value列的值E,如果E拼接了水印作业对应的字符串,溯源水印码G上对应余数C位置的值G[C]为1,否则G[C]为0,然后已处理行记录条数F加1。所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数F,并且溯源水印码G与水印作业的水印码相同,则认为溯源成功,找到了溯源作业对应的水印作业和待溯源数据的源头信息;否则认为溯源失败。
S190、存储所述溯源结果以及所述待溯源数据至数据库。
具体地,将所述待溯源数据信息、溯源结果成功和失败信息;如果作业成功还需要包含对应的水印作业信息和溯源数据的源头信息保存到数据库中。
上述的数据水印溯源方法,通过对待水印数据采用Hash列信息、Value列信息进行水印处理,且对于待溯源数据,采用数据库内保存的所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符进行数据溯源,定位到源头信息,解决了敏感数据分发、扩散、盗窃、泄露后无法快速准确追踪源头的问题,可简单快速配置水印作业,水印数据无痕隐蔽性强,并且具有超强的溯源性。
图5是本发明实施例提供的一种数据水印溯源装置300的示意性框图。如图5所示,对应于以上数据水印溯源方法,本发明还提供一种数据水印溯源装置300。该数据水印溯源装置300包括用于执行上述数据水印溯源方法的单元,该装置可以被配置于服务器中。具体地,请参阅图5,该数据水印溯源装置300包括待水印数据获取单元301、相关信息配置单元302、第一创建单元303、水印处理单元304、第一存储单元305、待溯源数据获取单元306、第二创建单元307、溯源处理单元308以及第二存储单元309。
待水印数据获取单元301,用于获取待水印数据;相关信息配置单元302,用于根据所述待水印数据配置水印过程相关信息;第一创建单元303,用于创建水印线程;水印处理单元304,用于利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;第一存储单元305,用于存储所述水印处理结果以及所述水印过程相关信息至数据库;待溯源数据获取单元306,用于获取待溯源数据;第二创建单元307,用于创建溯源线程;溯源处理单元308,用于利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;第二存储单元309,用于存储所述溯源结果以及所述待溯源数据至数据库。
在一实施例中,如图6所示,所述水印处理单元304包括第一生成子单元3041、第一选择子单元3042、第二选择子单元3043、第一获取子单元3044、第一记录子单元3045、第一初始化子单元3046、第一求余子单元3047、第一值确定子单元3048、第一判断子单元3049、第一拼接子单元30410、第二判断子单元30411、水印处理结果确定子单元30412以及条数处理子单元30413。
第一生成子单元3041,用于随机生成水印作业的水印码;第一选择子单元3042,用于随机选择水印作业的Hash算法;第二选择子单元3043,用于随机选择水印作业的Value列使用的拼接字符;第一获取子单元3044,用于根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;第一记录子单元3045,用于记录所有行记录的总数;第一初始化子单元3046,用于初始化已处理行记录条数;第一求余子单元3047,用于遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;第一值确定子单元3048,用于确定所述水印码上对应所述余数位置的值;第一判断子单元3049,用于判断所述值是否为一;第一拼接子单元30410,用于若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;第二判断子单元30411,用于当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;水印处理结果确定子单元30412,用于若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;条数处理子单元30413,用于若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
在一实施例中,所述第一存储单元305,用于存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
在一实施例中,所述第二选择子单元3043,用于从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。
在一实施例中,请参阅图7,所述溯源处理单元308包括列信息获取子单元3081、作业获取子单元3082、名称获取子单元3083、第三判断子单元3084、放入子单元3085、待校验信息获取子单元3086、行记录获取子单元3087、第二初始化子单元3088、第三初始化子单元3089、第二求余子单元30810、第四判断子单元30811、第二值确定子单元30812、第三值确定子单元30813、第五判断子单元30814、成功结果确定子单元30815以及失败结果确定子单元30816。
列信息获取子单元3081,用于获取所述待溯源数据的所有列信息;作业获取子单元3082,用于获取当前数据库中所有水印作业;名称获取子单元3083,用于遍历所有水印作业,获取Hash列和Value列的名称;第三判断子单元3084,用于判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;放入子单元3085,用于若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表;待校验信息获取子单元3086,用于遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;行记录获取子单元3087,用于根据所述待溯源数据获取所有行记录信息;第二初始化子单元3088,用于初始化已处理行记录条数;第三初始化子单元3089,用于初始化溯源水印码;第二求余子单元30810,用于遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;第四判断子单元30811,用于判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;第二值确定子单元30812,用于若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一;第三值确定子单元30813,用于若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;第五判断子单元30814,用于当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;成功结果确定子单元30815,用于若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;失败结果确定子单元30816,用于若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据水印溯源装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述数据水印溯源装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据水印溯源方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据水印溯源方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取待水印数据;根据所述待水印数据配置水印过程相关信息;创建水印线程;利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;存储所述水印处理结果以及所述水印过程相关信息至数据库;获取待溯源数据;创建溯源线程;利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;存储所述溯源结果以及所述待溯源数据至数据库。
其中,所述水印过程相关信息包括待水印数据、表信息、Hash列信息、Value列信息以及水印后目标数据信息。
在一实施例中,处理器502在实现所述利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果步骤时,具体实现如下步骤:
随机生成水印作业的水印码;随机选择水印作业的Hash算法;随机选择水印作业的Value列使用的拼接字符;根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;记录所有行记录的总数;初始化已处理行记录条数;遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;确定所述水印码上对应所述余数位置的值;判断所述值是否为一;若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
在一实施例中,处理器502在实现所述存储所述水印处理结果以及所述水印过程相关信息至数据库步骤时,具体实现如下步骤:
存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
在一实施例中,处理器502在实现所述利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果步骤时,具体实现如下步骤:
获取所述待溯源数据的所有列信息;获取当前数据库中所有水印作业;遍历所有水印作业,获取Hash列和Value列的名称;判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表; 遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;根据所述待溯源数据获取所有行记录信息;初始化已处理行记录条数;初始化溯源水印码;遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一;若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一;当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败。
在一实施例中,处理器502在实现所述随机选择水印作业的Value列使用的拼接字符步骤时,具体实现如下步骤:
从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。
应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取待水印数据;根据所述待水印数据配置水印过程相关信息;创建水印线程;利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;存储所述水印处理结果以及所述水印过程相关信息至数据库;获取待溯源数据;创建溯源线程;利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;存储所述溯源结果以及所述待溯源数据至数据库。
其中,所述水印过程相关信息包括待水印数据、表信息、Hash列信息、Value列信息以及水印后目标数据信息。
在一实施例中,所述处理器在执行所述计算机程序而实现所述利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果步骤时,具体实现如下步骤:
随机生成水印作业的水印码;随机选择水印作业的Hash算法;随机选择水印作业的Value列使用的拼接字符;根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;记录所有行记录的总数;初始化已处理行记录条数;遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;确定所述水印码上对应所述余数位置的值;判断所述值是否为一;若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
在一实施例中,所述处理器在执行所述计算机程序而实现所述存储所述水印处理结果以及所述水印过程相关信息至数据库步骤时,具体实现如下步骤:
存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
在一实施例中,所述处理器在执行所述计算机程序而实现所述利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果步骤时,具体实现如下步骤:
获取所述待溯源数据的所有列信息;获取当前数据库中所有水印作业;遍历所有水印作业,获取Hash列和Value列的名称;判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表; 遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;根据所述待溯源数据获取所有行记录信息;初始化已处理行记录条数;初始化溯源水印码;遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一;若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一;当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败。
在一实施例中,所述处理器在执行所述计算机程序而实现所述随机选择水印作业的Value列使用的拼接字符步骤时,具体实现如下步骤:
从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.数据水印溯源方法,其特征在于,包括:
获取待水印数据;
根据所述待水印数据配置水印过程相关信息;
创建水印线程;
利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;
存储所述水印处理结果以及所述水印过程相关信息至数据库;
获取待溯源数据;
创建溯源线程;
利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;
存储所述溯源结果以及所述待溯源数据至数据库。
2.根据权利要求1所述的数据水印溯源方法,其特征在于,所述水印过程相关信息包括待水印数据、表信息、Hash列信息、Value列信息以及水印后目标数据信息。
3.根据权利要求2所述的数据水印溯源方法,其特征在于,所述利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果,包括:
随机生成水印作业的水印码;
随机选择水印作业的Hash算法;
随机选择水印作业的Value列使用的拼接字符;
根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;
记录所有行记录的总数;
初始化已处理行记录条数;
遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;
确定所述水印码上对应所述余数位置的值;
判断所述值是否为一;
若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;
当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;
若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;
若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
4.根据权利要求3所述的数据水印溯源方法,其特征在于,所述存储所述水印处理结果以及所述水印过程相关信息至数据库,包括:
存储所述水印处理结果、所述待水印数据、水印过程相关信息、水印码、Hash算法、拼接字符以及水印作业的创建人信息保存到数据库中。
5.根据权利要求4所述的数据水印溯源方法,其特征在于,所述利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果,包括:
获取所述待溯源数据的所有列信息;
获取当前数据库中所有水印作业;
遍历所有水印作业,获取Hash列和Value列的名称;
判断所述Hash列和Value列名称是否存在于待所述待溯源数据的所有列信息;
若所述Hash列和Value列名称存在于待所述待溯源数据的所有列信息,将所述Hash列和Value列名称放入待校验水印作业列表;
遍历待校验水印作业列表,获取水印码、水印作业的Hash列、Value列名称、水印作业的Hash算法、水印作业的Value列的拼接字符,以得到待校验信息;
根据所述待溯源数据获取所有行记录信息;
初始化已处理行记录条数;
初始化溯源水印码;
遍历所有行记录信息,所述待校验信息Hash列值使用Hash算法求值,对所述溯源水印码的位数取余,以得到溯源余数;
判断所述待校验信息的Value列的值是否拼接了所述待校验信息的拼接字符;
若所述待校验信息的Value列的值拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为一;
当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同;
若所有行记录的总数等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源成功,且确定对应的水印作业和待溯源数据的源头信息为所述溯源结果;
若所有行记录的总数未等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同,则确定溯源结果为溯源失败;
若所述待校验信息的Value列的值未拼接了所述待校验信息的拼接字符,则确定所述溯源水印码上对应溯源余数的位置的值为零,并将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数且溯源水印码与所述待校验信息的水印码相同。
6.根据权利要求3所述的数据水印溯源方法,其特征在于,所述随机选择水印作业的Value列使用的拼接字符,包括:
从系统内置的字符中随机选择一种算法作为拼接字符,其中,系统内置的字符包含空格、换行符。
7.数据水印溯源装置,其特征在于,包括:
待水印数据获取单元,用于获取待水印数据;
相关信息配置单元,用于根据所述待水印数据配置水印过程相关信息;
第一创建单元,用于创建水印线程;
水印处理单元,用于利用所述水印线程结合所述水印过程相关信息和待水印数据进行水印处理,以得到水印处理结果;
第一存储单元,用于存储所述水印处理结果以及所述水印过程相关信息至数据库;
待溯源数据获取单元,用于获取待溯源数据;
第二创建单元,用于创建溯源线程;
溯源处理单元,用于利用所述溯源线程结合所述待溯源数据进行溯源处理,以得到溯源结果;
第二存储单元,用于存储所述溯源结果以及所述待溯源数据至数据库。
8.根据权利要求7所述的数据水印溯源装置,其特征在于,所述水印处理单元包括:
第一生成子单元,用于随机生成水印作业的水印码;
第一选择子单元,用于随机选择水印作业的Hash算法;
第二选择子单元,用于随机选择水印作业的Value列使用的拼接字符;
第一获取子单元,用于根据所述待水印数据和所述水印过程相关信息获取所有行记录信息;
第一记录子单元,用于记录所有行记录的总数;
第一初始化子单元,用于初始化已处理行记录条数;
第一求余子单元,用于遍历所有行记录信息,Hash列值使用所述Hash算法求值,并对水印码的位数取余,以得到余数;
第一值确定子单元,用于确定所述水印码上对应所述余数位置的值;
第一判断子单元,用于判断所述值是否为一;
第一拼接子单元,用于若所述值为一,则在Value列值后拼接所述拼接字符,以更新Value列值;
第二判断子单元,用于当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数;
水印处理结果确定子单元,用于若所有行记录的总数等于已处理行记录条数,则确定所述Value列值以及所述Hash列值存储到水印后目标数据处,以得到水印处理结果;
条数处理子单元,用于若所述值不为一,则将已处理行记录条数加一,并执行所述当所有行记录信息处理完毕后,判断所有行记录的总数是否等于已处理行记录条数。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310825054.0A CN116541808A (zh) | 2023-07-06 | 2023-07-06 | 数据水印溯源方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310825054.0A CN116541808A (zh) | 2023-07-06 | 2023-07-06 | 数据水印溯源方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116541808A true CN116541808A (zh) | 2023-08-04 |
Family
ID=87458257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310825054.0A Pending CN116541808A (zh) | 2023-07-06 | 2023-07-06 | 数据水印溯源方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541808A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110232263A (zh) * | 2019-05-24 | 2019-09-13 | 杭州世平信息科技有限公司 | 一种对关系型数据进行溯源的方法 |
CN110770725A (zh) * | 2018-06-30 | 2020-02-07 | 华为技术有限公司 | 数据处理方法及装置 |
CN112016061A (zh) * | 2019-12-16 | 2020-12-01 | 江苏水印科技有限公司 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
CN112559985A (zh) * | 2020-12-22 | 2021-03-26 | 深圳昂楷科技有限公司 | 一种水印嵌入及提取方法 |
CN112597456A (zh) * | 2020-12-30 | 2021-04-02 | 绿盟科技集团股份有限公司 | 数据库的水印添加与验证方法及装置 |
CN112948776A (zh) * | 2021-02-03 | 2021-06-11 | 海信集团控股股份有限公司 | 一种数字水印添加方法、装置、电子设备及存储介质 |
CN115114599A (zh) * | 2022-08-12 | 2022-09-27 | 南京星环智能科技有限公司 | 一种数据库水印的处理方法、装置、设备及存储介质 |
-
2023
- 2023-07-06 CN CN202310825054.0A patent/CN116541808A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110770725A (zh) * | 2018-06-30 | 2020-02-07 | 华为技术有限公司 | 数据处理方法及装置 |
CN110232263A (zh) * | 2019-05-24 | 2019-09-13 | 杭州世平信息科技有限公司 | 一种对关系型数据进行溯源的方法 |
CN112016061A (zh) * | 2019-12-16 | 2020-12-01 | 江苏水印科技有限公司 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
CN112559985A (zh) * | 2020-12-22 | 2021-03-26 | 深圳昂楷科技有限公司 | 一种水印嵌入及提取方法 |
CN112597456A (zh) * | 2020-12-30 | 2021-04-02 | 绿盟科技集团股份有限公司 | 数据库的水印添加与验证方法及装置 |
CN112948776A (zh) * | 2021-02-03 | 2021-06-11 | 海信集团控股股份有限公司 | 一种数字水印添加方法、装置、电子设备及存储介质 |
CN115114599A (zh) * | 2022-08-12 | 2022-09-27 | 南京星环智能科技有限公司 | 一种数据库水印的处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
崔新春;贺洁;秦小麟;: "基于盲源分离的多重音频数据库水印算法", 电子学报, no. 01 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190327094A1 (en) | Information authentication method and system | |
KR101677557B1 (ko) | 통계적 프로세싱 | |
US9558355B2 (en) | Security scan based on dynamic taint | |
EP1596283B1 (fr) | Protection d'un branchement dans un programme | |
US11570196B2 (en) | Method for determining duplication of security vulnerability and analysis apparatus using same | |
US10515220B2 (en) | Determine whether an appropriate defensive response was made by an application under test | |
US20150319189A1 (en) | Protecting websites from cross-site scripting | |
CN107733883B (zh) | 一种检测批量注册账号的方法及装置 | |
US20170185784A1 (en) | Point-wise protection of application using runtime agent | |
CN111159482A (zh) | 数据校验方法及系统 | |
CN113315750B (zh) | 一种Kafka消息发布方法、装置及存储介质 | |
CN116541808A (zh) | 数据水印溯源方法、装置、计算机设备及存储介质 | |
US9396336B2 (en) | Automatic correction of security downgraders | |
CN110517010B (zh) | 一种数据处理方法、系统及存储介质 | |
CN112199731A (zh) | 一种数据处理方法、装置及设备 | |
CN116235169A (zh) | 文本数据的数字水印 | |
CN117909943B (zh) | 一种基于多节点的水印溯源处理方法和系统 | |
US20170220804A1 (en) | Determine protective measure for data that meets criteria | |
CN111597573A (zh) | 页面嵌入方法、装置、计算机设备和存储介质 | |
CN111420406A (zh) | 一种通过内存清零实现防止游戏外挂的方法及其系统 | |
CN114969765B (zh) | 一种物联网设备无感安全漏洞修复方法、装置及设备 | |
CN115766166B (zh) | 日志处理方法、设备和存储介质 | |
KR102578606B1 (ko) | 클라우드에서 데이터 저장 및 공유를 위한 핑거프린팅 장치 및 방법 | |
US11687656B2 (en) | Secure application development using distributed ledgers | |
US11580255B2 (en) | Security tool for n-tier platforms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230804 |