CN113688601A - 基于表单的水印生成方法、装置、电子设备和计算机介质 - Google Patents
基于表单的水印生成方法、装置、电子设备和计算机介质 Download PDFInfo
- Publication number
- CN113688601A CN113688601A CN202111244529.4A CN202111244529A CN113688601A CN 113688601 A CN113688601 A CN 113688601A CN 202111244529 A CN202111244529 A CN 202111244529A CN 113688601 A CN113688601 A CN 113688601A
- Authority
- CN
- China
- Prior art keywords
- watermark
- cell
- sequence
- value
- decimal
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000001419 dependent effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012417 linear regression Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本公开的实施例公开了基于表单的水印生成方法、装置、电子设备和计算机介质。该方法的一具体实施方式包括:对目标水印字段进行二进制编码处理,以生成二进制数值组;对二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列;基于十进制数值序列,生成十进制水印;对于对应表单下载请求的待嵌入表单中的每个待嵌入水印单元格,响应于确定数值数据的有效数值的个数大于预设个数,将待嵌入水印单元格中数值数据的最后一个有效数值替换为十进制水印中对应待嵌入水印单元格的数值。该实施方式可以减少文本水印的嵌入量,减少文本水印的嵌入时间。也因为减少了文本水印的嵌入量,保证了结构化表单中数据的可靠性。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及基于表单的水印生成方法、装置、电子设备和计算机介质。
背景技术
目前,对于结构化表单,现有文本水印的嵌入方式,通常为:通过人工设定可嵌入水印字段,对整个结构化表单进行文本水印的嵌入。
然而,采用上述方式通常会存在以下技术问题:
第一,人工设定的可嵌入水印字段,具有普遍性,无法根据用户的信息进行设定,导致在结构化表单泄露/篡改时,无法根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户,降低了结构化表单的稳定性和可靠性;
第二,对整个结构化表单进行文本水印的嵌入,导致嵌入水印的时间较长。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了基于表单的水印生成方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种基于表单的水印生成方法,该方法包括:响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,上述目标水印字段对应于上述目标用户;依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,上述预设数目为3;基于上述十进制数值序列,生成十进制水印;对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
第二方面,本公开的一些实施例提供了一种基于表单的水印生成装置,装置包括:第一编码单元,被配置成响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,上述目标水印字段对应于上述目标用户;第二编码单元,被配置成依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,上述预设数目为3;生成单元,被配置成基于上述十进制数值序列,生成十进制水印;水印处理单元,被配置成对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的基于表单的水印生成方法,使得所嵌入的文本水印具有标识性,使得后续在结构化表单泄露/篡改时,可以根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户,提高了结构化表单的稳定性和可靠性。具体来说,造成系统的卡顿的原因在于:人工设定的可嵌入水印字段,具有普遍性,无法根据用户的信息进行设定,导致在结构化表单泄露/篡改时,无法根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户,降低了结构化表单的稳定性和可靠性。基于此,本公开的一些实施例的基于表单的水印生成方法,首先,响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组。其中,上述目标水印字段对应于上述目标用户。由此,可以对特定的水印字段(目标水印字段)进行编码处理,以便于生成文本水印。此外,也因为目标水印字段具有标识性,也便于后续进行追踪。接着,依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列。由此,使得后续生成的文本水印更加精简,便于水印的嵌入。然后,基于上述十进制数值序列,生成十进制水印。由此,可以生成文本水印,便于后续进行文本水印的嵌入。再然后,对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数。最后,响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。由此,可以减少文本水印的嵌入量,减少文本水印的嵌入时间。也因为减少了文本水印的嵌入量,保证了结构化表单中数据的可靠性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是本公开的一些实施例的基于表单的水印生成方法的一个应用场景的示意图;
图2是根据本公开的基于表单的水印生成方法的一些实施例的流程图;
图3是根据本公开的基于表单的水印生成方法的另一些实施例的流程图;
图4是根据本公开的基于表单的水印生成方法生成待嵌入表单的一些实施例的流程图;
图5是根据本公开的基于表单的水印生成装置的一些实施例的结构示意图;
图6是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的基于表单的水印生成方法的一个应用场景的示意图。
在图1的应用场景中,首先,计算设备101可以响应于接收到目标用户提交的表单下载请求,对目标水印字段102进行二进制编码处理,以生成二进制数值组103。其中,上述目标水印字段对应于上述目标用户。接着,计算设备101可以依次对上述二进制数值组103中预设数目个二进制数值进行十进制编码,以生成十进制数值序列104。其中,上述预设数目为3。然后,计算设备101可以基于上述十进制数值序列104,生成十进制水印105。最后,计算设备101可以对于对应上述表单下载请求的待嵌入表单106中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印105中对应上述待嵌入水印单元格的数值。
需要说明的是,上述计算设备101可以是硬件,也可以是软件。当计算设备为硬件时,可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。当计算设备体现为软件时,可以安装在上述所列举的硬件设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的计算设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的计算设备。
继续参考图2,示出了根据本公开的基于表单的水印生成方法的一些实施例的流程200。该基于表单的水印生成方法,包括以下步骤:
步骤201,响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组。
在一些实施例中,基于表单的水印生成方法的执行主体(例如图1所示的计算设备101)可以响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组。其中,上述目标水印字段对应于上述目标用户。这里,目标水印字段可以是用于标识上述目标用户的水印字段。例如,目标水印字段可以是用户标识。这里,表单下载请求可以是包含了表单标识的请求下载表单的指令。实践中,上述执行主体可以对目标水印字段进行二进制编码处理,以生成二进制数值组。这里,目标用户可以是指当前需要下载表单的用户。
在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤对目标水印字段进行二进制编码处理,以生成二进制数值组:
第一步,对上述目标水印字段进行二进制编码,得到二进制编码数值组。
第二步,对上述二进制编码数值组进行随机编码,得到随机编码数值组作为二进制数值组。这里,上述执行主体可以通过随机编码器(伪随机编码的方式)对上述二进制编码数值组进行随机编码,得到随机编码数值组作为二进制数值组。
由此,通过对上述二进制编码数值组进行随机编码,增强了后续生成文本水印的鲁棒性。
可选地,在上述对目标水印字段进行二进制编码处理,以生成二进制数值组之前1之前,上述方法还包括:接收目标用户输入的水印字段,以及在上述水印字段之前和上述水印字段之后分别添加预设的标识符,以生成目标水印字段。
在一些实施例中,上述执行主体可以通过有线连接或无线连接的方式接收目标用户输入的水印字段,以及在上述水印字段之前和上述水印字段之后分别添加预设的标识符,以生成目标水印字段。这里,目标用户输入的水印字段可以是表征用户标识的字段。这里,预设的标识符可以是预设的用于区别水印字段的符号。例如,预设的标识符可以是$$。例如,目标用户输入的水印字段可以是“AABC”。在上述水印字段“AABC”之前和上述水印字段“AABC”之后分别添加预设的标识符“$$”,可以生成目标水印字段“$$AABC$$”。
由此,使得表单中的水印具有标识性,便于后续根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户。
步骤202,依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列。
在一些实施例中,上述执行主体可以依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列。其中,上述预设数目为3。这里,预设数目为3的原因是将一个字符转换为二进制,通常会由3个数值表示。因此,再将二进制的数转换为十进制时,以每三位二进制数值为一组,是为了进制转换前后均可以表示同一字符。实践中,上述执行主体可以依次对上述二进制数值组中每3个二进制数值进行十进制编码,以生成十进制数值序列。例如,对110进行十进制编码可以生成十进制数值6。
步骤203,基于上述十进制数值序列,生成十进制水印。
在一些实施例中,上述执行主体可以基于上述十进制数值序列,生成十进制水印。实践中,上述执行主体可以将上述十进制数值序列中的各个十进制数值进行合并,以生成合并后的十进制数据作为十进制水印。例如,十进制数值序列可以是“6,7”。对十进制数值序列中的“6,7”进行合并,可以得到合并后的十进制数据“67”。
在一些实施例的一些可选的实现方式中,基于上述十进制数值序列,上述执行主体可以通过以下步骤十进制水印:
第一步,将第一预设数值添加至上述十进制数值序列之前,以及将第二预设数值添加至上述十进制数值序列之后,以对上述十进制数值序列进行更新。这里,十进制数值的取值范围为[0,7],而文本水印由数字组成。因此,第一预设数值可以为8,第二预设数值可以为9。例如,十进制数值序列可以是“1,2,3”。可以将第一预设数值“8”添加至上述十进制数值序列“1,2,3”之前,以及将第二预设数值“9”添加至上述十进制数值序列“1,2,3”之后,以对上述十进制数值序列进行更新。得到更新后的十进制数值序列“8,1,2,3,9”。
第二步,将更新后的十进制数值序列所包括的各个十进制数值进行合并,以生成合并十进制数值序列作为十进制水印。例如,可以将更新后的十进制数值序列“8,1,2,3,9”所包括的各个十进制数值进行合并,以生成合并十进制数值序列“81239”作为十进制水印。
由此,可以进一步对文本水印进行标识(添加了8和9作为文本水印的分隔符),便于后续提取出表单中所嵌入的文本水印。
步骤204,对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:
步骤2041,确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数。
在一些实施例中,上述执行主体可以确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数。这里,对应上述表单下载请求的待嵌入表单可以是指包括的表单标识与上述表单下载请求包括的表单标识相同的表单。这里,待嵌入表单包含一列待嵌入水印单元格。这里,每个待嵌入水印单元格中均包含一数值数据。这里,待嵌入表单包含一列待嵌入水印单元格中对应的各个目标待嵌入水印单元格的数量大于等于上述十进制水印所包括的十进制数值的数量。其中,上述各个目标待嵌入水印单元格中的目标待嵌入水印单元格为上述待嵌入表单中包括的数值数据的有效数值的个数大于上述预设个数的待嵌入水印单元格。实践中,上述执行主体可以确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数。例如,待嵌入水印单元格中的数值数据可以是“1.04560”。上述数值数据“1.04560”的有效数值的个数为“4”。这里,预设个数可以是“3”。
步骤2042,响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
在一些实施例中,上述执行主体可以响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。这里,上述十进制水印中对应上述待嵌入水印单元格的数值可以是预先设定的上述十进制水印包括的各个十进制数值中对应上述待嵌入水印单元格的数值。实践中,响应于确定上述数值数据的有效数值的个数大于上述预设个数,上述执行主体可以将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。例如,上述待嵌入水印单元格中数值数据可以是“1.04560”。上述十进制水印可以是“81239”。上述十进制水印“81239”中对应上述待嵌入水印单元格的数值可以是“8”。可以将数值数据“1.04560”的最后一个有效数值“6”替换为“8”,得到“1.04580”。
在一些实施例中,上述十进制水印中对应上述待嵌入水印单元格的数值是通过以下步骤得到的:
第一步,依次从上述待嵌入表单包括的各个待嵌入水印单元格中选择满足嵌入条件的待嵌入水印单元格作为目标待嵌入水印单元格,得到目标待嵌入水印单元格序列。其中,上述嵌入条件为:待嵌入水印单元格中数值数据的有效数值的个数大于上述预设个数。
第二步,以目标数量个目标待嵌入水印单元格为一组,对上述目标待嵌入水印单元格序列进行划分,得到目标待嵌入水印单元格序列组。其中,上述目标数量为上述十进制水印所包括的十进制数值的数量。在对上述目标待嵌入水印单元格序列进行实际划分时,可以将不足目标数量的目标待嵌入水印单元格划分为一组。
第三步,对于上述目标待嵌入水印单元格序列组中的每个目标待嵌入水印单元格序列,按照上述目标待嵌入水印单元格序列中每个目标待嵌入水印单元格的序号,将上述十进制水印所包括的对应上述序号的十进制数值标记为上述标待嵌入水印单元格对应的上述待嵌入表单中的待嵌入水印单元格的数值。这里,标记可以是标记上文字标签(待嵌入水印的字样)。例如,目标待嵌入水印单元格序列中第一个目标待嵌入水印单元格(序号为1)可以是表征待嵌入表单中的第二个待嵌入水印单元格。例如,十进制水印可以是“81239”。则,可以将十进制水印“81239”所包括的对应上述序号“1”的十进制数值“8”标记为上述目标待嵌入水印单元格对应的上述待嵌入表单中的第二个待嵌入水印单元格的数值“8”。
可选地,响应于检测到表征完成对待嵌入表单的十进制水印的嵌入的信息,将完成十进制水印的嵌入的待嵌入表单发送至上述目标用户的用户终端。
在一些实施例中,上述执行主体可以响应于检测到表征完成对待嵌入表单的十进制水印的嵌入的信息,将完成十进制水印的嵌入的待嵌入表单发送至上述目标用户的用户终端。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的基于表单的水印生成方法,使得所嵌入的文本水印具有标识性,使得后续在结构化表单泄露/篡改时,可以根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户,提高了结构化表单的稳定性和可靠性。具体来说,造成系统的卡顿的原因在于:人工设定的可嵌入水印字段,具有普遍性,无法根据用户的信息进行设定,导致在结构化表单泄露/篡改时,无法根据所嵌入的文本水印追踪到泄露/篡改结构化表单的用户,降低了结构化表单的稳定性和可靠性。基于此,本公开的一些实施例的基于表单的水印生成方法,首先,响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组。其中,上述目标水印字段对应于上述目标用户。由此,可以对特定的水印字段(目标水印字段)进行编码处理,以便于生成文本水印。此外,也因为目标水印字段具有标识性,也便于后续进行追踪。接着,依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列。由此,使得后续生成的文本水印更加精简,便于水印的嵌入。然后,基于上述十进制数值序列,生成十进制水印。由此,可以生成文本水印,便于后续进行文本水印的嵌入。再然后,对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数。最后,响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。由此,可以减少文本水印的嵌入量,减少文本水印的嵌入时间。也因为减少了文本水印的嵌入量,保证了结构化表单中数据的可靠性。
进一步参考图3,示出了根据本公开的基于表单的水印生成方法的另一些实施例。该基于表单的水印生成方法,包括以下步骤:
步骤301,响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组。
步骤302,依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列。
步骤303,基于上述十进制数值序列,生成十进制水印。
步骤304,对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
在一些实施例中,步骤301-304的具体实现及所带来的技术效果可以参考图2对应的那些实施例中的步骤201-204,在此不再赘述。
步骤305,提取出待提取表单中的每列单元格的字段名,得到字段名组。
在一些实施例中,基于表单的水印生成方法的执行主体(例如图1所示的计算设备101)可以提取出待提取表单中的每列单元格的字段名,得到字段名组。这里,待提取表单可以包括多列单元格。这里,每列单元格对应一字段名。
作为示例,待提取表单可以是:
其中,“用户标识”、“登录时长”为每列单元格对应的字段名。从而,可以提取出字段名组“用户标识、登录时长”。
步骤306,对于字段名组中的字段名,执行如下水印生成步骤:
步骤3061,响应于确定上述字段名的类型为数值类型,对上述字段名对应的单元格数据序列进行划分,以生成单元格数据组序列。
在一些实施例中,上述执行主体可以响应于确定上述字段名的类型为数值类型,对上述字段名对应的单元格数据序列进行划分,以生成单元格数据组序列。其中,上述单元格数据组序列中每个单元格数据组中的第一个单元格数据的最后一个有效数值为8,上述单元格数据组序列中每个单元格数据组中的最后一个单元格数据的最后一个有效数值为9。这里,数值类型可以是指字段名对应的一列单元格中的数据均为数字。实践中,上述执行主体可以以上述单元格数据序列中单元格数据的最后一个有效数值为8的单元格数据为起始单元格,可以以上述单元格数据序列中单元格数据的最后一个有效数值为9为终止单元格,对单元格数据序列进行划分,以生成单元格数据组序列。
例如,字段名“登录时长”对应的单元格数据序列可以是:
从而,可以将单元格数据序列“15.38,12.12,11.56,12.59,13.1,12.18,11.52,11.56,12.59,13.18,12.12,11.86,12.59,12.5”划分为单元格数据组序列“[15.38,12.12,11.56,12.59],[12.18,11.52,11.56,12.59],[13.18,12.12,11.86,12.59]”。
在一些实施例的一些可选的实现方式中,上述执行主体可以以最后一位有效数值为8的单元格数据为起始位置,以最后一位有效数值为9的单元格数据为终止位置,对上述单元格数据序列进行划分,以生成单元格数据组序列。
步骤3062,基于上述单元格数据组序列中的每个单元格数据组,生成对应上述单元格数据组的待提取数据,得到待提取数据序列。
在一些实施例中,基于上述单元格数据组序列中的每个单元格数据组,上述执行主体可以通过以下步骤生成对应上述单元格数据组的待提取数据:
第一步,去除上述单元格数据组中的第一个单元格数据和最后一个单元格数据,以对上述单元格数据组进行更新。例如,单元格数据组可以是“[15.38,12.12,11.56,12.59]”。可以去除上述单元格数据组“[15.38,12.12,11.56,12.59]”中的第一个单元格数据“15.38”和最后一个单元格数据“12.59”。从而,得到更新后的单元格数据组“[12.12,11.56]”。
第二步,将更新后的单元格数据组中满足提取条件的单元格数据的最后一位有效数值确定为待提取数值,得到待提取数值组。其中,上述提取条件为:单元格数据的有效数值的个数大于目标个数。这里,对于目标数值的设定不作设定。例如,目标数值可以是3。例如,更新后的单元格数据组可以是“[12.12,11.56]”。例如,单元格数据“12.12”的最后一位有效数值为“2”。单元格数据“11.56”的最后一位有效数值为“6”。从而,可以将更新后的单元格数据组中满足提取条件的单元格数据的最后一位有效数值确定为待提取数值,得到待提取数值组“2,6”。
第三步,将上述待提取数值组中的各个待提取数值进行合并,得到待提取数据。例如,可以将上述待提取数值组“2,6”中的各个待提取数值进行合并,得到待提取数据“26”。
步骤3063,基于上述待提取数据序列,生成备选水印信息序列。
在一些实施例中,上述执行主体可以基于上述待提取数据序列,生成备选水印信息序列。其中,上述备选水印信息序列中的备选水印信息对应上述待提取数据序列中的待提取数据。即,上述备选水印信息序列中的备选水印信息与上述待提取数据序列中的待提取数据一一对应。
实践中,基于上述待提取数据序列,上述执行主体可以通过以下步骤生成备选水印信息序列:
第一步,对上述待提取数据序列中的每个待提取数据进行二进制编码,以生成二进制数据,得到二进制数据序列。
第二步,对上述二进制数据序列中的每个二进制数据进行随机解码,以生成解码二进制数据,得到解码二进制数据序列。实践中,上述执行主体可以通过随机解码器(伪随机编码器对应的解码器)对上述二进制数据序列中的每个二进制数据进行随机解码,以生成解码二进制数据,得到解码二进制数据序列。
第三步,对上述解码二进制数据序列中的每个解码二进制数据进行二进制解码处理,以生成解码数据作为备选水印信息,得到备选水印信息序列。这里,上述执行主体可以通过二进制解码器对上述解码二进制数据序列中的每个解码二进制数据进行二进制解码处理,以生成解码数据作为备选水印信息,得到备选水印信息序列。
步骤3064,确定上述备选水印信息序列是否满足预设条件。
在一些实施例中,上述执行主体可以确定上述备选水印信息序列是否满足预设条件。其中,预设条件为:上述备选水印信息序列中任一备选水印信息包括的第一个字符和最后一个字符均为目标标识符,以及第一数量与第二数量的比值大于等于预设比值。上述第一数量为上述备选水印信息序列中相同的备选水印信息的数量。上述第二数量为上述备选水印信息序列所包括的选水印信息的数量。
步骤3065,响应于确定满足,根据上述备选水印信息序列,生成文本水印。
在一些实施例中,响应于确定满足,上述执行主体可以根据上述备选水印信息序列,生成文本水印。实践中,首先,上述执行主体可以将上述备选水印信息序列中相同的各个备选水印信息中的任一备选水印信息确定为目标水印信息。然后,上述执行主体可以去除上述目标水印信息中所包括的预设的标识符,以对上述目标水印信息进行更新。最后,将更新后的目标水印信息确定为文本水印。这里,预设的标识符可以是预设的用于区别水印字段的符号。例如,预设的标识符可以是$$。
由此,完成了对待提取表单中的文本水印的提取,便于根据文本水印追踪到下载该待提取表单的用户。
可选地,响应于确定不满足,将字段名组中去除了上述字段名的各个字段名作为字段名组,再次执行上述水印生成步骤。
在一些实施例中,上述执行主体可以响应于确定不满足,将字段名组中去除了上述字段名的各个字段名作为字段名组,再次执行上述水印生成步骤。
可选地,将上述文本水印所表征的用户标记为异常用户,以及控制相关联的警报设备进行警报操作。
在一些实施例中,上述执行主体可以将上述文本水印所表征的用户标记为异常用户,以及控制相关联的警报设备进行警报操作。这里警报操作可以是发出警告提示音。这里,将上述文本水印所表征的用户标记为异常用户可以是将上述文本水印所表征的用户的用户信息标记上异常标签,以表征该用户为异常用户。
从图3可以看出,与图2对应的一些实施例的描述相比,图3对应的一些实施例中的流程300完成了对待提取表单中的文本水印的提取,便于根据文本水印追踪到初始下载该待提取表单的用户。
进一步参考图4,示出了根据本公开的基于表单的水印生成方法中生成待嵌入表单的一些实施例。该生成待嵌入表单的方法,包括以下步骤:
步骤401,将信息表单中列单元格的字段名符合修改条件的列单元格中的每个单元格的字段值修改为数值类型的字段值。
在一些实施例中,基于表单的水印生成方法的执行主体(例如图1所示的计算设备101)可以将信息表单中列单元格的字段名符合修改条件的列单元格中的每个单元格的字段值修改为数值类型的字段值。其中,上述修改条件为:字段名的类型为非数值类型。实践中,上述执行主体可以将信息表单中列单元格的字段名符合修改条件的列单元格中的每个单元格中的字段值均修改为预设的数值类型的字段值。例如,预设的数值类型的字段值可以是“1”。
步骤402,对于修改后的信息表单的每个字段名对应的单元格序列,基于上述单元格序列,生成对应上述单元格序列的备选特征值,得到备选特征值组。
在一些实施例,对于修改后的信息表单的每个字段名对应的单元格序列,上述执行主体可以通过以下步骤基于上述单元格序列,生成对应上述单元格序列的备选特征值:
第一步,对于上述单元格序列中的每个单元格,执行如下处理步骤:
第一步骤,将上述单元格所包括的数值确定为因变量数值。例如,上述执行主体可以将上述单元格所包括的数值“8”确定为因变量数值(因变量数值可以用Y表示)。
第二步骤,将上述信息表单中对应上述单元格的每个备选单元格所包括的数值确定为自变量数值,得到自变量数值组。其中,对应上述单元格的每个备选单元格为上述信息表单中与上述单元格同行的单元格。这里,对应上述单元格的每个备选单元格可以是指:在信息表单中与上述单元格处于同一行的其它单元格。例如,在信息表单中与上述单元格处于同一行的其它单元格的数量可以为3。其中,可以第一个单元格所包括的数值“2”确定为自变量数值(第一个自变量数值可以用X1表示)。可以第二个单元格所包括的数值“1”确定为自变量数值(第二个自变量数值可以用X2表示)。可以第三个单元格所包括的数值“3”确定为自变量数值(第三个自变量数值可以用X2表示,以此类推)。从而,得到自变量数值组“3,2,1”。
第三步骤,根据上述因变量数值和上述自变量数值组,构建线性模型。其中,上述线性模型包括多个待测参数。实践中,上述执行主体可以利用因变量数值Y和自变量数值组“X1、X2、X3”构造线性模型,即,。其中,,,,均可以为待测参数。可以为误差数(例如,0.1)。
第四步骤,对上述线性模型进行线性回归处理,以生成多个已知参数。其中,上述多个已知参数中的已知参数对应上述多个待测参数中的待测参数。实践中,上述执行主体可以对上述线性模型进行线性回归处理,以生成多个已知参数。这里,通过线性回归的方式,可以确定出每个待测参数的实际参数(已知参数)。
第五步骤,基于上述线性模型,确定上述因变量数值与上述自变量数值组的复相关系数。实践中,上述执行主体可以对因变量数值与上述自变量数值组进行拟合处理,得到拟合线性模型。然后,再通过复相关系数的计算公式确定上述因变量数值与上述自变量数值组的复相关系数。例如,对因变量数值“Y”与上述自变量数值组“X1、X2、X3”进行拟合处理,得到拟合线性模型“”。可以通过复相关系数的计算公式确定“Y”与“”的简单相关系数,即为“Y”与“X1、X2、X3”的复相关系数。
第六步骤,响应于上述复相关系数的平方值大于等于预设系数,基于上述多个已知参数,生成特征值。这里,预设系数的取值范围可以是[0.7,1]。例如,预设系数可以是“0.7”。
实践中,响应于上述复相关系数的平方值大于等于预设系数,上述执行主体可以通过以下子步骤基于上述多个已知参数,生成特征值:
第一子步骤,对上述多个已知参数中的每个已知参数进行归一化处理以生成归一化已知参数,得到归一化已知参数组。
第二子步骤,将上述归一化已知参数组中的每个归一化已知参数的绝对值确定为目标已知参数,得到目标已知参数组。
第三子步骤,基于目标数值和上述目标已知参数组,生成初始特征值组。这里,目标数值可以是1。实践中,上述执行主体可以将上述目标数值与上述目标已知参数组中每个目标已知参数的差值确定为初始特征值,得到初始特征值组。
第四子步骤,将上述初始特征值组包括的各个初始特征值的平均值确定为特征值。
第二步,将所生成的各个特征值的总和确定为对应上述单元格序列的备选特征值。
步骤403,基于上述备选特征值组,确定目标字段名。
在一些实施例中,基于上述备选特征值组,上述执行主体可以通过以下步骤确定目标字段名:
第一步,将上述备选特征值组中满足目标条件的备选特征值确定为目标特征值。其中,上述目标条件为:上述备选特征值组中数值最大的备选特征值、且上述数值最大的备选特征值对应的字段名的类型为数值类型。
第二步,将上述目标特征值对应的单元格序列的字段名确定为目标字段名。
步骤404,将上述信息表单中的对应上述目标字段名的单元格序列标记为待嵌入水印单元格序列,以对上述信息表单进行更新。
在一些实施例中,上述执行主体可以将上述信息表单中的对应上述目标字段名的单元格序列标记为待嵌入水印单元格序列,以对上述信息表单进行更新。实践中,上述执行主体可以将上述信息表单中的对应的字段名与上述目标字段名相同的单元格序列标记为待嵌入水印单元格序列,以对上述信息表单进行更新。这里,可以将单元格序列标记上待嵌入水印的标签,以对上述信息表单进行更新。
步骤405,将更新后的信息表单确定为待嵌入表单。
在一些实施例中,上述执行主体可以将更新后的信息表单确定为待嵌入表单。
上述步骤401-405中的相关内容作为本公开的一个发明点,解决了背景技术提及的技术问题二“对整个结构化表单进行文本水印的嵌入,导致嵌入水印的时间较长”。导致嵌入水印的时间较长的因素往往如下:对整个结构化表单进行文本水印的嵌入,导致嵌入水印的时间较长。如果解决了上述因素,就能达到减少嵌入水印的时间的效果。为了达到这一效果,本公开首先,将信息表单中列单元格的字段名符合修改条件的列单元格中的每个单元格的字段值修改为数值类型的字段值。其中,上述修改条件为:字段名的类型为非数值类型。由此,便于后续确定信息表单中每列单元格中的数值与其它列单元格中的数值之间的关联性,以选择出与其它列单元格中的数值之间的关联性较低的列单元格作为待嵌入水印的列单元格。也因为只需要对与其它列单元格关联性较小的列单元格嵌入水印,降低了嵌入水印的时间。同时,也因为与其它列单元格关联性较小的列单元格中的数值的关联程度较低,保证了嵌入水印后的信息表单的完整性。其次,对于修改后的信息表单的每个字段名对应的单元格序列,基于上述单元格序列,生成对应上述单元格序列的备选特征值,得到备选特征值组。由此,可以确定每个单元格序列与其它单元格序列之间的关联程度(备选特征值,备选特征值越大,关联程度越低),便于后续选择出与其它单元格序列之间的关联程度最小的单元格序列。接着,基于上述备选特征值组,确定目标字段名。由此,可以确定出与其它单元格序列之间的关联程度最小,且对应的字段名的类型为数值类型单元格序列。然后,将上述信息表单中的对应上述目标字段名的单元格序列标记为待嵌入水印单元格序列,以对上述信息表单进行更新。最后,将更新后的信息表单确定为待嵌入表单。由此,可以标记出待嵌入表单中可以嵌入文本水印的单元格序列,避免了对整个结构化表单进行文本水印的嵌入,减少了嵌入水印的时间。
从图4可以看出,图4对应的一些实施例中的流程400可以标记出待嵌入表单中可以嵌入文本水印的单元格序列,避免了对整个结构化表单进行文本水印的嵌入,减少了嵌入水印的时间。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种基于表单的水印生成装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的基于表单的水印生成装置500包括:第一编码单元501、第二编码单元502、生成单元503和水印处理单元504。其中,第一编码单元501被配置成响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,上述目标水印字段对应于上述目标用户;第二编码单元502被配置成依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,上述预设数目为3;生成单元503被配置成基于上述十进制数值序列,生成十进制水印;水印处理单元504被配置成对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
可以理解的是,该装置500中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置500及其中包含的单元,在此不再赘述。
下面参考图6,其示出了适于用来实现本公开的一些实施例的电子设备(例如图1中的计算设备101)600的结构示意图。本公开的一些实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例中记载的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,上述目标水印字段对应于上述目标用户;依次对上述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,上述预设数目为3;基于上述十进制数值序列,生成十进制水印;对于对应上述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定上述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定上述数值数据的有效数值的个数大于上述预设个数,将上述待嵌入水印单元格中数值数据的最后一个有效数值替换为上述十进制水印中对应上述待嵌入水印单元格的数值。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一编码单元、第二编码单元、生成单元和水印处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一编码单元还可以被描述为“响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,上述目标水印字段对应于上述目标用户的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于表单的水印生成方法,包括:
响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,所述目标水印字段对应于所述目标用户;
依次对所述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,所述预设数目为3;
基于所述十进制数值序列,生成十进制水印;
对于对应所述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:
确定所述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;
响应于确定所述数值数据的有效数值的个数大于所述预设个数,将所述待嵌入水印单元格中数值数据的最后一个有效数值替换为所述十进制水印中对应所述待嵌入水印单元格的数值。
2.根据权利要求1所述的方法,其中,在所述对目标水印字段进行二进制编码处理,以生成二进制数值组之前,所述方法还包括:
接收目标用户输入的水印字段,以及在所述水印字段之前和所述水印字段之后分别添加预设的标识符,以生成目标水印字段。
3.根据权利要求1所述的方法,其中,所述基于所述十进制数值序列,生成十进制水印,包括:
将第一预设数值添加至所述十进制数值序列之前,以及将第二预设数值添加至所述十进制数值序列之后,以对所述十进制数值序列进行更新;
将更新后的十进制数值序列所包括的各个十进制数值进行合并,以生成合并十进制数值序列作为十进制水印。
4.根据权利要求1所述的方法,其中,所述方法还包括:
提取出待提取表单中的每列单元格的字段名,得到字段名组;
对于字段名组中的字段名,执行如下水印生成步骤:
响应于确定所述字段名的类型为数值类型,对所述字段名对应的单元格数据序列进行划分,以生成单元格数据组序列,其中,所述单元格数据组序列中每个单元格数据组中的第一个单元格数据的最后一个有效数值为8,所述单元格数据组序列中每个单元格数据组中的最后一个单元格数据的最后一个有效数值为9;
基于所述单元格数据组序列中的每个单元格数据组,生成对应所述单元格数据组的待提取数据,得到待提取数据序列;
基于所述待提取数据序列,生成备选水印信息序列,其中,所述备选水印信息序列中的备选水印信息对应所述待提取数据序列中的待提取数据;
确定所述备选水印信息序列是否满足预设条件;
响应于确定满足,根据所述备选水印信息序列,生成文本水印。
5.根据权利要求4所述的方法,其中,所述基于所述单元格数据组序列中的每个单元格数据组,生成对应所述单元格数据组的待提取数据,包括:
去除所述单元格数据组中的第一个单元格数据和最后一个单元格数据,以对所述单元格数据组进行更新;
将更新后的单元格数据组中满足提取条件的单元格数据的最后一位有效数值确定为待提取数值,得到待提取数值组,其中,所述提取条件为:单元格数据的有效数值的个数大于目标个数;
将所述待提取数值组中的各个待提取数值进行合并,得到待提取数据。
6.根据权利要求1所述的方法,其中,所述待嵌入表单是通过以下步骤得到的:
将信息表单中列单元格的字段名符合修改条件的列单元格中的每个单元格的字段值修改为数值类型的字段值,其中,所述修改条件为:字段名的类型为非数值类型;
对于修改后的信息表单的每个字段名对应的单元格序列,基于所述单元格序列,生成对应所述单元格序列的备选特征值,得到备选特征值组;
基于所述备选特征值组,确定目标字段名;
将所述信息表单中的对应所述目标字段名的单元格序列标记为待嵌入水印单元格序列,以对所述信息表单进行更新;
将更新后的信息表单确定为待嵌入表单。
7.根据权利要求6所述的方法,其中,所述基于所述单元格序列,生成对应所述单元格序列的备选特征值,包括:
对于所述单元格序列中的每个单元格,执行如下处理步骤:
将所述单元格所包括的数值确定为因变量数值;
将所述信息表单中对应所述单元格的每个备选单元格所包括的数值确定为自变量数值,得到自变量数值组,其中,对应所述单元格的每个备选单元格为所述信息表单中与所述单元格同行的单元格;
根据所述因变量数值和所述自变量数值组,构建线性模型,其中,所述线性模型包括多个待测参数;
对所述线性模型进行线性回归处理,以生成多个已知参数,其中,所述多个已知参数中的已知参数对应所述多个待测参数中的待测参数;
基于所述线性模型,确定所述因变量数值与所述自变量数值组的复相关系数;
响应于所述复相关系数的平方值大于等于预设系数,基于所述多个已知参数,生成特征值;
将所生成的各个特征值的总和确定为对应所述单元格序列的备选特征值。
8.一种基于表单的水印生成装置,包括:
第一编码单元,被配置成响应于接收到目标用户提交的表单下载请求,对目标水印字段进行二进制编码处理,以生成二进制数值组,其中,所述目标水印字段对应于所述目标用户;
第二编码单元,被配置成依次对所述二进制数值组中预设数目个二进制数值进行十进制编码,以生成十进制数值序列,其中,所述预设数目为3;
生成单元,被配置成基于所述十进制数值序列,生成十进制水印;
水印处理单元,被配置成对于对应所述表单下载请求的待嵌入表单中的每个待嵌入水印单元格,执行如下处理步骤:确定所述待嵌入水印单元格中的数值数据的有效数值的个数是否大于预设个数;响应于确定所述数值数据的有效数值的个数大于所述预设个数,将所述待嵌入水印单元格中数值数据的最后一个有效数值替换为所述十进制水印中对应所述待嵌入水印单元格的数值。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111244529.4A CN113688601B (zh) | 2021-10-26 | 2021-10-26 | 基于表单的水印生成方法、装置、电子设备和计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111244529.4A CN113688601B (zh) | 2021-10-26 | 2021-10-26 | 基于表单的水印生成方法、装置、电子设备和计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113688601A true CN113688601A (zh) | 2021-11-23 |
CN113688601B CN113688601B (zh) | 2022-02-22 |
Family
ID=78588067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111244529.4A Active CN113688601B (zh) | 2021-10-26 | 2021-10-26 | 基于表单的水印生成方法、装置、电子设备和计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113688601B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080689A1 (en) * | 2005-12-05 | 2009-03-26 | Jian Zhao | Watermarking Encoded Content |
US20100128290A1 (en) * | 2008-11-21 | 2010-05-27 | Xerox Corporation | Embedding information in document blank border space |
CN107330306A (zh) * | 2017-06-28 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 文本水印嵌入及提取方法、装置、电子设备及存储介质 |
CN109360143A (zh) * | 2018-09-21 | 2019-02-19 | 北京仁信证科技有限公司 | 一种用于大数据的数字水印嵌入和提取方法及系统 |
CN109784006A (zh) * | 2019-01-04 | 2019-05-21 | 平安科技(深圳)有限公司 | 水印嵌入和提取方法及终端设备 |
CN109840401A (zh) * | 2018-11-12 | 2019-06-04 | 中国银联股份有限公司 | 针对数据文本的水印嵌入方法 |
CN110770725A (zh) * | 2018-06-30 | 2020-02-07 | 华为技术有限公司 | 数据处理方法及装置 |
CN110968847A (zh) * | 2019-11-27 | 2020-04-07 | 北京北信源软件股份有限公司 | 一种文件水印隐藏、解析方法、装置、设备及存储介质 |
CN112016061A (zh) * | 2019-12-16 | 2020-12-01 | 江苏水印科技有限公司 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
CN112559985A (zh) * | 2020-12-22 | 2021-03-26 | 深圳昂楷科技有限公司 | 一种水印嵌入及提取方法 |
CN112948776A (zh) * | 2021-02-03 | 2021-06-11 | 海信集团控股股份有限公司 | 一种数字水印添加方法、装置、电子设备及存储介质 |
CN112948895A (zh) * | 2019-12-10 | 2021-06-11 | 航天信息股份有限公司 | 数据的水印嵌入方法、水印溯源方法及装置 |
CN113297592A (zh) * | 2021-05-10 | 2021-08-24 | 复旦大学 | 一种面向关系数据库的水印溯源方法、装置及存储介质 |
-
2021
- 2021-10-26 CN CN202111244529.4A patent/CN113688601B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090080689A1 (en) * | 2005-12-05 | 2009-03-26 | Jian Zhao | Watermarking Encoded Content |
US20100128290A1 (en) * | 2008-11-21 | 2010-05-27 | Xerox Corporation | Embedding information in document blank border space |
CN107330306A (zh) * | 2017-06-28 | 2017-11-07 | 百度在线网络技术(北京)有限公司 | 文本水印嵌入及提取方法、装置、电子设备及存储介质 |
CN110770725A (zh) * | 2018-06-30 | 2020-02-07 | 华为技术有限公司 | 数据处理方法及装置 |
CN109360143A (zh) * | 2018-09-21 | 2019-02-19 | 北京仁信证科技有限公司 | 一种用于大数据的数字水印嵌入和提取方法及系统 |
CN109840401A (zh) * | 2018-11-12 | 2019-06-04 | 中国银联股份有限公司 | 针对数据文本的水印嵌入方法 |
CN109784006A (zh) * | 2019-01-04 | 2019-05-21 | 平安科技(深圳)有限公司 | 水印嵌入和提取方法及终端设备 |
CN110968847A (zh) * | 2019-11-27 | 2020-04-07 | 北京北信源软件股份有限公司 | 一种文件水印隐藏、解析方法、装置、设备及存储介质 |
CN112948895A (zh) * | 2019-12-10 | 2021-06-11 | 航天信息股份有限公司 | 数据的水印嵌入方法、水印溯源方法及装置 |
CN112016061A (zh) * | 2019-12-16 | 2020-12-01 | 江苏水印科技有限公司 | 一种基于鲁棒水印技术的Excel文档数据保护方法 |
CN112559985A (zh) * | 2020-12-22 | 2021-03-26 | 深圳昂楷科技有限公司 | 一种水印嵌入及提取方法 |
CN112948776A (zh) * | 2021-02-03 | 2021-06-11 | 海信集团控股股份有限公司 | 一种数字水印添加方法、装置、电子设备及存储介质 |
CN113297592A (zh) * | 2021-05-10 | 2021-08-24 | 复旦大学 | 一种面向关系数据库的水印溯源方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
YING WANG: "Research on the Watermarking Algorithm Based on Numerical Attribute in the Relational Database", 《2012 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ELECTRONICS ENGINEERING》 * |
高玉喜,王艳敏: "《基于数值型字段的关系数据库数字水印的算法》", 《信息与电脑(理论版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113688601B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113032818B (zh) | 任务加密方法、装置、电子设备和计算机可读介质 | |
CN110738657B (zh) | 视频质量评估方法、装置、电子设备及存储介质 | |
CN113656825B (zh) | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 | |
CN112631588A (zh) | 文件生成方法、装置、电子设备和计算机可读介质 | |
CN113395538B (zh) | 音效渲染方法、装置、计算机可读介质和电子设备 | |
CN114928574B (zh) | 信息发送方法、装置、电子设备和计算机可读介质 | |
CN111708680A (zh) | 报错信息解析方法、装置、电子设备及存储介质 | |
CN116760992B (zh) | 视频编码、认证、加密和传输方法、装置、设备和介质 | |
CN113111233B (zh) | 基于正则表达式的接处警文本居住地地址提取方法和装置 | |
CN113688601B (zh) | 基于表单的水印生成方法、装置、电子设备和计算机介质 | |
CN113111230B (zh) | 基于正则表达式的接处警文本户籍地地址提取方法和装置 | |
CN110209851B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN114070470A (zh) | 编解码方法及装置 | |
CN113515931A (zh) | 文本纠错方法、装置、计算机设备及存储介质 | |
CN112232025B (zh) | 一种字符串存储方法、装置及电子设备 | |
CN112380550A (zh) | 一种能耗数据采集方法、装置、设备及可读存储介质 | |
CN111949738A (zh) | 基于区块链的数据存储去重方法、终端设备和存储介质 | |
CN117150455A (zh) | 电力信息数字水印加密认证方法、电子设备和计算机介质 | |
CN115374320B (zh) | 文本匹配方法、装置、电子设备、计算机介质 | |
CN114003188B (zh) | 信息加密显示方法、装置、电子设备和计算机可读介质 | |
CN115495793B (zh) | 多集问题安全发送方法、装置、设备和介质 | |
CN117132245B (zh) | 线上物品获取业务流程重组方法、装置、设备和可读介质 | |
CN111177588B (zh) | 兴趣点检索方法和装置 | |
CN116186093B (zh) | 地址信息处理方法、装置、电子设备与计算机可读介质 | |
CN111930704B (zh) | 业务报警设备控制方法、装置、设备和计算机可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220304 Address after: 211102 No. 2, qingshuiting West Road, moling street, Jiangning District, Nanjing, Jiangsu Province Patentee after: NANJING SHURUI DATA TECHNOLOGY CO.,LTD. Address before: Room 1109, 11th floor, Xinhua science and technology building, No. 8, tuofangying Road, Jiangtai Township, Chaoyang District, Beijing 100016 Patentee before: Beijing kairuishujia Technology Co.,Ltd. Patentee before: Nanjing Shurui Data Technology Co., Ltd |