Information processing method and device, equipment and storage medium
Patent Information
- Application Number
- CN202111210350.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-18
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2041-10-18
AI Technical Summary
目前,在结构化数据中添加水印的方式,可能会出现易被识别导致破坏问题的发生,鲁棒性较差,无法抵抗针对水印的攻击
[0054]本发明实施例提供的信息处理方法、装置、设备及存储介质,获取水印信息和结构化数据集;对所述水印信息进行分割,得到N个水印分片;并对所述结构化数据集中的元组数据进行分组,得到两个第一分组;每个第一分组包含N个第二分组;N为正整数;针对每个第一分组,生成与相应第一分组中各个第二分组对应的伪行数据,得到与相应第一分组对应的N个伪行数据;针对每个第一分组,将所述N个水印分片分别嵌入到与相应第一分组对应的N个伪行数据中。采用本发明实施例提供的技术方案,将水印信息以伪行数据的形式插入到结构化数据集中,由于插入的伪行均不相同,因此不容易被识别破坏,具有较强的鲁棒性,能够抵抗针对水印的攻击。
Smart Images

Figure CN115994848B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless technology, and in particular to an information processing method, apparatus, device, and storage medium. Background Technology
[0002] Currently, structured data is increasingly being shared both internally and externally within enterprises. During this data sharing process, watermarking is needed to protect the copyright of the publisher and ensure that data shared with third parties is not leaked or resold. However, current methods of adding watermarks to structured data are prone to being easily identifiable and thus vulnerable to malicious attacks, exhibiting poor robustness and being unable to resist attacks targeting watermarks. Summary of the Invention
[0003] In view of this, embodiments of the present invention aim to provide an information processing method, apparatus, device, and storage medium.
[0004] The technical solution of this invention is implemented as follows:
[0005] At least one embodiment of the present invention provides an information processing method, the method comprising: acquiring watermark information and a structured dataset;
[0006] The watermark information is segmented to obtain N watermark fragments; and the tuple data in the structured dataset is grouped to obtain two first groups; each first group contains N second groups; N is a positive integer;
[0007] For each first group, generate pseudo-row data corresponding to each second group in the corresponding first group, and obtain N pseudo-row data corresponding to the corresponding first group;
[0008] For each first group, the N watermark fragments are embedded into the N pseudo-line data corresponding to the corresponding first group.
[0009] Furthermore, according to at least one embodiment of the present invention, the segmentation of the watermark information to obtain N watermark fragments includes:
[0010] The watermark information is encoded to obtain multiple encoded values;
[0011] Convert multiple encoded values into N watermark fragments.
[0012] Furthermore, according to at least one embodiment of the present invention, the grouping of tuple data in the structured dataset includes:
[0013] For each tuple in the structured dataset, the first value is determined using the primary key corresponding to the tuple.
[0014] Based on the first value, determine the second group to which the corresponding tuple data belongs;
[0015] Using the primary key corresponding to the corresponding tuple data, determine the first group corresponding to the second group to which the corresponding tuple data belongs.
[0016] Furthermore, according to at least one embodiment of the present invention, determining the first group corresponding to the second group to which the corresponding tuple data belongs, using the primary key corresponding to the corresponding tuple data, includes:
[0017] If the primary key corresponding to the corresponding tuple data is even, determine that the second group to which the corresponding tuple data belongs belongs to one of the two first groups.
[0018] If the primary key corresponding to the corresponding tuple data is odd, determine that the second group to which the corresponding tuple data belongs belongs to the other group among the two first groups.
[0019] Furthermore, according to at least one embodiment of the present invention, embedding N watermark fragments into N pseudo-line data corresponding to each of the second groups in the corresponding first group includes:
[0020] Determine the second value of the i-th watermark segment;
[0021] Determine the first attribute value of each tuple data in the i-th second group within the corresponding first group, and obtain multiple first attribute values corresponding to the i-th second group;
[0022] Using multiple first attribute values corresponding to the i-th second group and the second value of the i-th watermark segment, determine the second attribute value of the i-th pseudo-row data corresponding to the i-th second group;
[0023] Determine the primary key value of the i-th pseudo-row data corresponding to the i-th second group;
[0024] This process continues until the second attribute and primary key value of the pseudo-row data corresponding to each second group in the first group are determined, thereby embedding the N watermark fragments into the N pseudo-row data corresponding to each second group in the first group.
[0025] Where i = 1, 2, ..., N.
[0026] At least one embodiment of the present invention provides an information processing method, the method further comprising:
[0027] For each of the two first groups in the structured dataset, extract N watermark fragments from each of the corresponding second groups;
[0028] If the values of the N watermark segments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark segments corresponding to any one of the two first groups.
[0029] Furthermore, according to at least one embodiment of the present invention, the step of extracting N watermark fragments from each of the corresponding second groups of the first group includes:
[0030] Multiple attribute values are extracted from the i-th second group of the corresponding first group;
[0031] Based on the multiple attribute values, determine the value of the i-th watermark segment corresponding to the i-th second group;
[0032] This process continues until N watermark fragment values are extracted from each of the corresponding second groups of the first group.
[0033] Where i = 1, 2, ..., N.
[0034] At least one embodiment of the present invention provides an information processing apparatus, comprising:
[0035] The acquisition unit is used to acquire watermark information and structured datasets;
[0036] The first processing unit is used to segment the watermark information to obtain N watermark fragments; and to group the tuple data in the structured dataset to obtain two first groups; each first group contains N second groups; N is a positive integer;
[0037] The second processing unit is used to generate pseudo-row data corresponding to each second group in the corresponding first group for each first group, so as to obtain N pseudo-row data corresponding to the corresponding first group;
[0038] The third processing unit is used to embed the N watermark fragments into the N pseudo-line data corresponding to the corresponding first group for each first group.
[0039] At least one embodiment of the present invention provides an information processing apparatus, comprising:
[0040] The fourth processing unit is used to extract N watermark fragments from each of the second groups of the corresponding first group in the two first groups of the structured dataset.
[0041] The fifth processing unit is used to obtain watermark information based on the N watermark segments corresponding to any one of the two first groups if the values of the N watermark segments extracted from the two first groups are all equal.
[0042] At least one embodiment of the present invention provides a first electronic device, comprising:
[0043] The first communication interface is used to obtain watermark information and structured datasets.
[0044] A first processor is configured to segment the watermark information to obtain N watermark fragments; and group the tuple data in the structured dataset to obtain two first groups; each first group contains N second groups; N is a positive integer; for each first group, generate pseudo-line data corresponding to each second group in the corresponding first group to obtain N pseudo-line data corresponding to the corresponding first group; for each first group, embed the N watermark fragments into the N pseudo-line data corresponding to the corresponding first group.
[0045] At least one embodiment of the present invention provides a second electronic device, comprising:
[0046] Second communication interface,
[0047] The second processor is used to extract N watermark fragments from each of the second groups of the corresponding first group for each of the two first groups of the structured dataset.
[0048] If the values of the N watermark segments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark segments corresponding to any one of the two first groups.
[0049] At least one embodiment of the present invention provides a first electronic device, including a first processor and a first memory for storing a computer program capable of running on the first processor.
[0050] Wherein, when the first processor is used to run the computer program, it executes any of the steps of the method on the first electronic device side described above.
[0051] At least one embodiment of the present invention provides a second electronic device, including a second processor and a second memory for storing a computer program capable of running on the second processor.
[0052] Wherein, when the second processor is used to run the computer program, it executes the steps of any of the methods described above on the second electronic device side.
[0053] At least one embodiment of the present invention provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the above methods.
[0054] The information processing method, apparatus, device, and storage medium provided in this invention embodiment acquire watermark information and a structured dataset; segment the watermark information to obtain N watermark fragments; group the tuple data in the structured dataset to obtain two first groups; each first group contains N second groups; N is a positive integer; for each first group, generate pseudo-line data corresponding to each second group in the corresponding first group to obtain N pseudo-line data corresponding to the corresponding first group; for each first group, embed the N watermark fragments into the N pseudo-line data corresponding to the corresponding first group. By using the technical solution provided in this invention embodiment, watermark information is inserted into the structured dataset in the form of pseudo-line data. Since the inserted pseudo-lines are all different, they are not easily identified or destroyed, exhibiting strong robustness and resisting attacks against watermarks. Attached Figure Description
[0055] Figure 1 This is a schematic diagram of the implementation flow of the information processing method according to an embodiment of the present invention. Figure 1 ;
[0056] Figure 2 This is a schematic diagram illustrating the specific implementation flow of the information processing method according to an embodiment of the present invention;
[0057] Figure 3 This is a schematic diagram illustrating the grouping of element data in a structured dataset according to an embodiment of the present invention;
[0058] Figure 4 This is a schematic diagram of the implementation flow of the information processing method according to an embodiment of the present invention. Figure 2 ;
[0059] Figure 5 This is a schematic diagram of the composition structure of the information processing device according to an embodiment of the present invention. Figure 1 ;
[0060] Figure 6 This is a schematic diagram of the composition structure of the information processing device according to an embodiment of the present invention. Figure 2 ;
[0061] Figure 7 This is a schematic diagram of the composition structure of the first electronic device according to an embodiment of the present invention;
[0062] Figure 8 This is a schematic diagram of the composition structure of the second electronic device according to an embodiment of the present invention. Detailed Implementation
[0063] Before introducing the technical solutions of the embodiments of the present invention, the relevant technologies will be explained first.
[0064] In related technologies, digital watermarking is a technical means of copyright protection. For data types such as images, videos, and audio, the industry already has mature watermarking solutions, but solutions for structured data are relatively fewer. As data becomes a form of enterprise asset, to better leverage data value and avoid data silos, structured data is increasingly being shared internally and externally within enterprises. During data sharing, watermarking is needed to protect the copyright of the publisher and ensure that data shared with third parties is not leaked or resold.
[0065] Patent CN104866735A, entitled "A Method for Embedding, Extracting, and Verifying Watermarks in Numerical Relational Databases," discloses: pattern and data analysis of numerical relational databases, digital watermark generation and embedding, and a method for detecting digital watermarks. This invention, tailored to the characteristics of numerical relational databases, can efficiently and dynamically inject digital watermark information evenly into the data, and extract the digital watermark information without requiring the source data. The method employs key encryption and anti-reordering technologies, effectively resisting various watermark removal attacks and ensuring that the watermark is not lost even when less than 50% of the rows are modified.
[0066] The patent, titled "A Watermarking and Data Traceability Method Based on Pseudo-Rows and Pseudo-Columns" (publication number CN107992726A), discloses the following steps: Database initialization: Automatically discovering data according to discovery rules, extracting a specified data set, and generating a data subset; Watermarking the generated data subset: Adding pseudo-row and pseudo-column data and embedding the data watermark according to field rule features, generating data with the watermark. This invention is rationally designed and can improve security during data sharing, enabling data watermark embedding and traceability of leaked data. It features high security performance, minimal data loss, and resistance to damage, thus having wide application scenarios in the field of database security.
[0067] The patent, entitled "A Robust Group-Based Digital Watermarking Method," discloses the following steps: S1, a watermark preprocessing stage, which involves grouping the dataset using an unsupervised learning method to complete data preprocessing and watermark preprocessing; S2, a watermark embedding stage, which embeds the watermark into a specific location in the database; and S3, a watermark extraction stage, which extracts the watermark from the database.
[0068] In summary, in the first patent, the watermark information is inserted into the least significant bit of the data attribute. If the least significant bit is deleted, the watermark will become ineffective. Furthermore, watermark insertion requires modification of the original data attribute value, which can impact business operations to some extent. In the second patent, the watermark value is randomly defined based on the characteristics of the candidate field and is not watermark-encoded, making it less intuitive. It also requires recording the generated random watermark for comparison during watermark extraction, resulting in poor usability. Additionally, the multiple inserted pseudo-rows are identical, making the watermark easily detectable and defaced. The third patent, similarly inserting the watermark into the least significant bit of the data attribute, modifies the original data, causing data distortion and affecting data usability. Furthermore, if the least significant bit is deleted, the watermark will become ineffective.
[0069] In addition, the survey found that the common method of adding watermarks is to generate different pseudo-row and pseudo-column information for different watermark information, and record the mapping relationship between watermark information and pseudo-row and pseudo-column in a certain way. In the watermark extraction stage, the corresponding watermark information is identified by comparing pseudo-row and pseudo-column.
[0070] In related technologies, adding watermarks to structured data may result in problems such as easy identification leading to damage, poor robustness, and inability to resist attacks targeting watermarks.
[0071] Based on this, in this embodiment of the invention, watermark information and a structured dataset are obtained; the watermark information is segmented to obtain N watermark fragments; and the tuple data in the structured dataset is grouped to obtain two first groups; each first group contains N second groups; N is a positive integer; for each first group, pseudo-line data corresponding to each second group in the corresponding first group is generated to obtain N pseudo-line data corresponding to the corresponding first group; for each first group, the N watermark fragments are embedded into the N pseudo-line data corresponding to the corresponding first group.
[0072] Figure 1 This is a schematic diagram illustrating the implementation flow of the information processing method according to an embodiment of the present invention, as shown below. Figure 1 As shown, the method includes steps 101 to 104:
[0073] Step 101: Obtain watermark information and structured dataset.
[0074] It is understood that the watermark information may refer to multiple characters consisting of numbers, letters, and special characters.
[0075] For example, the watermark information could be: cmri, China, etc.
[0076] It is understood that the structured dataset can refer to a collection containing structured data. The structured data can refer to data existing in a fixed format.
[0077] It is understood that obtaining watermark information may refer to randomly selecting one watermark from multiple watermark information stored locally.
[0078] Step 102: Segment the watermark information to obtain N watermark fragments; and group the tuple data in the structured dataset to obtain two first groups; each first group contains N second groups; N is a positive integer.
[0079] It is understood that the tuple data may refer to a row of structured data in the structured dataset.
[0080] It is understandable that the first group can refer to a large group, and the second group can refer to a small group.
[0081] In other words, the tuple data in the structured dataset is divided into two large groups, and each large group contains N smaller groups.
[0082] In one embodiment, the step of acquiring watermark information and a structured dataset, and segmenting the watermark information to obtain N watermark fragments, includes:
[0083] The watermark information is encoded to obtain multiple encoded values;
[0084] Convert multiple encoded values into N watermark fragments.
[0085] It is understood that encoding the watermark information to obtain multiple encoded values specifically refers to encoding each character in the watermark information to obtain a corresponding encoded value, thereby obtaining multiple encoded values. The encoded values can be numerical data, and their range can be from 0 to 255.
[0086] Furthermore, each character in the watermark information can be encoded using publicly available encoding rules or custom encoding rules. For example, each character can be encoded using ASCII encoding.
[0087] It is understandable that a threshold secret sharing algorithm can be used to convert multiple encoded values into N watermark fragments. This threshold secret sharing algorithm includes, but is not limited to, the Shamir secret sharing scheme and secret sharing schemes based on the Chinese Remainder Theorem.
[0088] In practical applications, considering that each tuple has a different primary key, the subgroup corresponding to each tuple can be distinguished based on its primary key. Furthermore, considering that the primary key of each tuple can be either even or odd, the supergroup to which each tuple belongs can be determined based on the parity of its primary key.
[0089] Based on this, in one embodiment, grouping the tuple data in the structured dataset includes:
[0090] For each tuple in the structured dataset, the first value is determined using the primary key corresponding to the tuple.
[0091] Based on the first value, determine the second group to which the corresponding tuple data belongs;
[0092] Using the primary key corresponding to the corresponding tuple data, determine the first group corresponding to the second group to which the corresponding tuple data belongs.
[0093] It is understood that determining the first group corresponding to the second group to which the corresponding tuple data belongs, using the primary key corresponding to the corresponding tuple data, may specifically include:
[0094] If the primary key corresponding to the corresponding tuple data is even, it is determined that the second group to which the corresponding tuple data belongs belongs to one of the two first groups;
[0095] If the primary key corresponding to the corresponding tuple data is odd, determine that the second group to which the corresponding tuple data belongs belongs to the other group among the two first groups.
[0096] Step 103: For each first group, generate pseudo-row data corresponding to each second group in the corresponding first group, and obtain N pseudo-row data corresponding to the corresponding first group.
[0097] It is understood that the pseudo-row data may refer to data that does not record actual data.
[0098] For example, assuming N equals 10, and both first groups contain 10 second groups, the process of obtaining 20 pseudo-rows of data can specifically include:
[0099] For each of the 10 second groups in the first group, generate pseudo-row data corresponding to each of the 10 second groups to obtain 10 pseudo-row data.
[0100] For the 10 second groups of the second first group, generate pseudo-row data corresponding to the 10 second groups respectively, resulting in 10 pseudo-row data.
[0101] Step 104: For each first group, embed the N watermark fragments into the N pseudo-row data corresponding to the corresponding first group.
[0102] For example, assuming N equals 3, and both first groups contain 3 second groups, the process of embedding 3 watermark fragments into each of the two first groups can specifically include:
[0103] For the three second groups in the first group, generate pseudo-line data corresponding to the three second groups respectively, and obtain three pseudo-line data; then embed the three watermark fragments obtained from the segmentation into these three pseudo-line data respectively.
[0104] For the three second groups in the second first group, generate pseudo-line data corresponding to the three second groups respectively, and obtain three pseudo-line data; and embed the three watermark fragments obtained from the segmentation into these three pseudo-line data respectively.
[0105] In this embodiment of the invention, the N watermark fragments obtained from the segmentation are respectively embedded into the N pseudo-row data corresponding to the two first groups, which has the following advantages:
[0106] (1) The watermark information is inserted into the structured dataset in the form of pseudo-line data. Since the inserted pseudo-lines are all different, they are not easy to be identified, destroyed or deleted. They have strong robustness and can resist attacks against watermarks.
[0107] (2) Using the threshold secret sharing algorithm, the watermark information is segmented. Even if some watermark lines are lost, the watermark information can be extracted as long as the number of valid lines reaches the set threshold.
[0108] (3) After encoding the watermark according to the publicly available encoding rules, the watermark is inserted into the dataset. The extracted watermark can be restored to meaningful watermark information according to the publicly available rules. It is easy to extract and identify, and there is no need to record the randomly generated watermark.
[0109] Figure 2 This is a schematic diagram illustrating the specific implementation flow of the information processing method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes steps 201 to 205:
[0110] Step 201: Obtain watermark information and structured dataset.
[0111] Step 202: Segment the watermark information to obtain N watermark fragments; N is a positive integer.
[0112] Step 203: For each tuple in the structured dataset, determine a first value using the primary key corresponding to the tuple; determine the second group to which the tuple belongs based on the first value; and determine the first group corresponding to the second group using the primary key corresponding to the tuple.
[0113] Figure 3 This is a diagram illustrating the grouping of element data in a structured dataset, such as... Figure 3 As shown, assuming the structured dataset D consists of m tuples, d1, d2, ..., dm, the first value d is calculated according to the following formula (1):
[0114]
[0115] Where di represents any tuple data in d1, d2, ..., dm; P represents the primary key of tuple data di; key represents the key; and N represents the number of watermark fragments. Indicates XOR.
[0116] Thus, based on the calculated d, the group number of the second group to which the tuple data di belongs can be determined.
[0117] Furthermore,
[0118] If the primary key P of tuple data di is even, then the second group corresponding to tuple data di belongs to one of the two first groups, denoted as group 0.0.
[0119] If the primary key P of tuple data di is odd, then the second group corresponding to tuple data di belongs to the other first group among the two first groups, denoted as group 0.1.
[0120] Table 1 illustrates the grouping of tuple data in a structured dataset. As shown in Table 1, the structured dataset includes tuple data d1, tuple data d2, tuple data d3, and tuple data d4. Tuple data d1 belongs to group i=1 under group 0.0; tuple data d2 belongs to group i=4 under group 0.0; tuple data d3 belongs to group i=1 under group 0.1; and tuple data d4 belongs to group i=4 under group 0.1.
[0121] Tuple data d1 i=1 0.0 group tuple data d2 i=4 0.0 group tuple data d3 i=1 0.1 group tuple data d4 i=4 0.1 group
[0122] Table 1
[0123] Step 204: For each first group, generate pseudo-row data corresponding to each second group in the corresponding first group, to obtain N pseudo-row data corresponding to the corresponding first group.
[0124] Step 205: For each first group, embed the N watermark fragments into the N pseudo-row data corresponding to the corresponding first group.
[0125] It is understood that embedding the N watermark fragments into the N pseudo-row data corresponding to each of the second groups in the corresponding first group can specifically include:
[0126] Determine the second value of the i-th watermark segment;
[0127] Determine the first attribute value of each tuple data in the i-th second group within the corresponding first group, and obtain multiple first attribute values corresponding to the i-th second group;
[0128] Using multiple first attribute values corresponding to the i-th second group and the second value of the i-th watermark segment, determine the second attribute value of the i-th pseudo-row data corresponding to the i-th second group;
[0129] Determine the primary key value of the i-th pseudo-row data corresponding to the i-th second group;
[0130] This process continues until the second attribute and primary key value of the pseudo-row data corresponding to each second group in the first group are determined, thereby embedding the N watermark fragments into the N pseudo-row data corresponding to each second group in the first group.
[0131] Where i = 1, 2, ..., N.
[0132] For example, one of the two first groups is represented by group 0.0, and the other first group is represented by group 0.1.
[0133] The following describes the process of embedding the N watermark fragments into the N pseudo-row data corresponding to the 0.0 group, taking the 0.0 group as an example.
[0134] Suppose that the first attribute value of each tuple in the i-th second group within group 0.0 is denoted by A, where A has values n1, n2, ..., nj, representing multiple first attribute values corresponding to the i-th second group. Here, i = 1, 2, ..., N.
[0135] Calculate the second attribute value of the i-th pseudo-row data corresponding to the i-th second group according to the following formula (2):
[0136] (n1+n2+…+nj+x)mod M=Ni (2)
[0137] Where x represents the second attribute value of the i-th pseudo-row data corresponding to the i-th second group; n1, n2, ..., nj represent multiple first attribute values corresponding to the i-th second group; M represents a large positive integer, which can be selected according to the data size of the structured dataset D; Ni represents the value of the i-th watermark segment.
[0138] The primary key value of the i-th pseudo-row data corresponding to the i-th second group is determined according to the following formula (3):
[0139]
[0140] Where dP represents the primary key value of the i-th pseudo-row data corresponding to the i-th second group, and the primary key value must be an even number; key represents the key; N represents the number of watermark fragments; and i represents the number of the second group.
[0141] Thus, the value of the second attribute column of the i-th pseudo-row data corresponding to the i-th second group is set to x. Then, the i-th pseudo-row data is inserted into a random row in the i-th second group. In this way, the data in the i-th second group of group 0.0 consists of the original tuple data and the randomly inserted i-th pseudo-row data. The i-th pseudo-row data embeds the i-th watermark fragment.
[0142] Similarly, the corresponding watermark fragments are embedded in the pseudo-line data corresponding to the other second groups in group 0.0, thereby completing the embedding of the N watermark fragments into the N pseudo-line data corresponding to group 0.0.
[0143] The following describes the process of embedding the N watermark fragments into the N pseudo-row data corresponding to the 0.0 group, taking the 0.1 group as an example.
[0144] Suppose that the first attribute value of each tuple in the i-th second group within group 0.1 is denoted by A, where A has values m1, m2, ..., mi, representing multiple first attribute values corresponding to the i-th second group. Here, i = 1, 2, ..., N.
[0145] Calculate the second attribute value of the i-th pseudo-row data corresponding to the i-th second group according to the following formula (4):
[0146] (m1+m2+…+mi+x)mod M=Ni (4)
[0147] Where x represents the second attribute value of the i-th pseudo-row data corresponding to the i-th second group; m1, m2, ..., mi represent multiple first attribute values corresponding to the i-th second group; M represents a large positive integer that can be selected according to the data size of the structured dataset D; Ni represents the value of the i-th watermark segment.
[0148] The primary key value of the i-th pseudo-row data corresponding to the i-th second group is determined according to the following formula (5):
[0149]
[0150] Where dP represents the primary key value of the i-th pseudo-row data corresponding to the i-th second group, and the primary key value must be an odd number; key represents the key; N represents the number of watermark fragments; and i represents the number of the second group.
[0151] Thus, the value of the second attribute column of the i-th pseudo-row data corresponding to the i-th second group is set to x. Then, the i-th pseudo-row data is inserted into a random row in the i-th second group. In this way, the data in the i-th second group of group 0.0 consists of the original tuple data and the randomly inserted i-th pseudo-row data. The i-th pseudo-row data embeds the i-th watermark fragment.
[0152] Similarly, the corresponding watermark fragments are embedded in the pseudo-line data corresponding to the other second groups in group 0.1, thereby completing the embedding of the N watermark fragments into the N pseudo-line data corresponding to group 0.1.
[0153] In this example, the watermark information is segmented into N watermark fragments, and the structured dataset is divided into two first groups, each containing N second groups. This approach has the following advantages:
[0154] (1) After grouping the data and fragmenting the watermark, a special calculation method is designed to derive the secondary watermark information embedded in the group, and the watermark is embedded in the pseudo-line method. The embedding will not modify the original data, and the threshold cryptography algorithm has good robustness.
[0155] (2) The method of embedding each watermark twice is used. Only the two watermarks that are the same during extraction are used as the watermarks to be extracted, which has good accuracy.
[0156] Figure 4 This is a schematic diagram illustrating the implementation flow of the information processing method according to an embodiment of the present invention, as shown below. Figure 4 As shown, the method includes steps 401 to 402:
[0157] Step 401: For each of the two first groups in the structured dataset, extract N watermark fragments from each of the corresponding second groups.
[0158] It is understandable that extracting N watermark fragments from each of the two first groups of the structured dataset will yield 2N watermark fragments.
[0159] It is understood that the step of extracting N watermark fragments from each of the corresponding second groups of the first group can specifically include:
[0160] Multiple attribute values are extracted from the i-th second group of the corresponding first group;
[0161] Based on the multiple attribute values, determine the value of the i-th watermark segment corresponding to the i-th second group;
[0162] This process continues until N watermark fragment values are extracted from each of the corresponding second groups of the first group.
[0163] Where i = 1, 2, ..., N.
[0164] Calculate the group number of the second group corresponding to each i tuple in the structured dataset D according to the following formula (6):
[0165]
[0166] Where i represents the group number of the second group corresponding to the tuple data di; di represents any tuple data in d1, d2, ..., dm; P represents the primary key of the tuple data di; key represents the key; and N represents the number of watermark fragments.
[0167] If the primary key P of tuple data di is even, then the second group corresponding to tuple data di belongs to one of the two first groups, denoted as group 0.0.
[0168] If the primary key P of tuple data di is odd, then the second group corresponding to tuple data di belongs to the other first group among the two first groups, denoted as group 0.1.
[0169] The following describes the process of extracting N watermark fragments from each of the second groups corresponding to group 0.0, using group 0.0 as an example.
[0170] Calculate the value of the i-th watermark fragment corresponding to the i-th second group in group 0.0 according to the following formula (7):
[0171] L0.0=(n1+n2+…+nj+n j+1 )modM (7)
[0172] Where L0.0 represents the value of the i-th watermark segment corresponding to the i-th second group in group 0.0, i = 1, 2, ..., N; n1, n2, ..., nj, n j+1 This represents multiple attribute values extracted from the i-th second group; M represents a large positive integer that can be selected based on the size of the structured dataset D.
[0173] This process continues until N watermark fragment values are extracted from each of the second groups in group 0.0.
[0174] The following section uses group 0.1 as an example to illustrate the process of extracting N watermark fragments from each of the second groups corresponding to group 0.0.
[0175] Calculate the value of the i-th watermark fragment corresponding to the i-th second group in group 0.1 according to the following formula (8):
[0176] L0.1=(m1+m2+…+mi+m i+1 )modM (8)
[0177] Where L0.1 represents the value of the i-th watermark segment corresponding to the i-th second group in group 0.1, i = 1, 2, ..., N. m1, m2, ..., mi, m i+1 This represents multiple attribute values extracted from the i-th second group; M represents a large positive integer that can be selected based on the size of the structured dataset D.
[0178] This process continues until N watermark fragment values are extracted from each of the second groups in group 0.1.
[0179] Step 402: If the values of the N watermark segments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark segments corresponding to any one of the two first groups.
[0180] For example, assuming the two first groups are represented by 0.0 and 0.1 respectively, the process of obtaining the watermark information can include:
[0181] Compare the value of the i-th watermark segment corresponding to the i-th second group in group 0.0, i.e., L0.0, with the value of the i-th watermark segment corresponding to the i-th second group in group 0.1, i.e., L0.1. If L0.0 = L0.1, then store L0.0 or L0.1 in a pre-set one-dimensional array s, i = 1, 2, 3, ..., N.
[0182] Determine if the number of data items in array s is at least N. If the number of data items in array s is greater than or equal to N, use the threshold secret sharing algorithm to reassemble the values of all watermark fragments in array s to obtain the watermark information. If the number of data items in array s is less than N, discard the extracted 2N watermark fragments.
[0183] In this example, extracting watermark information has the following advantages:
[0184] By embedding each watermark twice, only watermarks that are identical during extraction are considered as watermarks to be extracted, which has good accuracy.
[0185] To implement the information processing method of the present invention, the present invention also provides an information processing device, which is disposed on a first electronic device. Figure 5 This is a schematic diagram of the composition structure of the information processing device according to an embodiment of the present invention, such as... Figure 5 As shown, the device includes:
[0186] The acquisition unit 51 is used to acquire watermark information and structured dataset;
[0187] The first processing unit 52 is used to segment the watermark information to obtain N watermark fragments; and to group the tuple data in the structured dataset to obtain two first groups; each first group contains N second groups; N is a positive integer;
[0188] The second processing unit 53 is used to generate pseudo-row data corresponding to each second group in the corresponding first group for each first group, so as to obtain N pseudo-row data corresponding to the corresponding first group;
[0189] The third processing unit 54 is used to embed the N watermark fragments into the N pseudo-line data corresponding to the corresponding first group for each first group.
[0190] In one embodiment, the first processing unit 52 is specifically used for:
[0191] The watermark information is encoded to obtain multiple encoded values;
[0192] Convert multiple encoded values into N watermark fragments.
[0193] In one embodiment, the first processing unit 52 is specifically used for:
[0194] For each tuple in the structured dataset, the first value is determined using the primary key corresponding to the tuple.
[0195] Based on the first value, determine the second group to which the corresponding tuple data belongs;
[0196] Using the primary key corresponding to the corresponding tuple data, determine the first group corresponding to the second group to which the corresponding tuple data belongs.
[0197] In one embodiment, the first processing unit 52 is specifically used for:
[0198] If the primary key corresponding to the corresponding tuple data is even, determine that the second group to which the corresponding tuple data belongs belongs to one of the two first groups.
[0199] If the primary key corresponding to the corresponding tuple data is odd, determine that the second group to which the corresponding tuple data belongs belongs to the other group among the two first groups.
[0200] In one embodiment, the third processing unit 54 is specifically used for:
[0201] Determine the second value of the i-th watermark segment;
[0202] Determine the first attribute value of each tuple data in the i-th second group within the corresponding first group, and obtain multiple first attribute values corresponding to the i-th second group;
[0203] Using multiple first attribute values corresponding to the i-th second group and the second value of the i-th watermark segment, determine the second attribute value of the i-th pseudo-row data corresponding to the i-th second group;
[0204] Determine the primary key value of the i-th pseudo-row data corresponding to the i-th second group;
[0205] This process continues until the second attribute and primary key value of the pseudo-row data corresponding to each second group in the first group are determined, thereby embedding the N watermark fragments into the N pseudo-row data corresponding to each second group in the first group.
[0206] Where i = 1, 2, ..., N.
[0207] In one embodiment, the third processing unit 54 is further configured to:
[0208] For each of the two first groups in the structured dataset, extract N watermark fragments from each of the corresponding second groups;
[0209] If the values of the N watermark segments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark segments corresponding to any one of the two first groups.
[0210] In one embodiment, the step of extracting N watermark fragments from each of the corresponding second groups of the first group includes:
[0211] Multiple attribute values are extracted from the i-th second group of the corresponding first group;
[0212] Based on the multiple attribute values, determine the value of the i-th watermark segment corresponding to the i-th second group;
[0213] This process continues until N watermark fragment values are extracted from each of the corresponding second groups of the first group.
[0214] Where i = 1, 2, ..., N.
[0215] In practical applications, the acquisition unit 51 can be implemented by the communication interface in the information processing device; the first processing unit 52, the second processing unit 53, and the third processing unit 54 can be implemented by the processor in the information processing device.
[0216] It should be noted that the information processing device provided in the above embodiments is only illustrated by the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the information processing device and the information processing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0217] To implement the information processing method of the present invention, the present invention also provides an information processing device, which is disposed on a second electronic device. Figure 6 This is a schematic diagram of the composition structure of the information processing device according to an embodiment of the present invention, such as... Figure 6 As shown, the device includes:
[0218] The fourth processing unit 61 is used to extract N watermark fragments from each of the second groups of the corresponding first group for each of the two first groups of the structured dataset.
[0219] The fifth processing unit 62 is used to obtain watermark information based on the N watermark segments corresponding to any one of the two first groups if the values of the N watermark segments extracted from the two first groups are all equal.
[0220] In one embodiment, the fourth processing unit 61 is specifically used for:
[0221] Multiple attribute values are extracted from the i-th second group of the corresponding first group;
[0222] Based on the multiple attribute values, determine the value of the i-th watermark segment corresponding to the i-th second group;
[0223] This process continues until N watermark fragment values are extracted from each of the corresponding second groups of the first group.
[0224] Where i = 1, 2, ..., N.
[0225] In practical applications, the fourth processing unit 61 and the fifth processing unit 62 can be implemented by a processor in an information processing device.
[0226] It should be noted that the information processing device provided in the above embodiments is only illustrated by the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the information processing device and the information processing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0227] This invention also provides a first electronic device, such as... Figure 7 As shown, it includes:
[0228] The first communication interface 71 is capable of exchanging information with other devices;
[0229] The first processor 72, connected to the first communication interface 71, is used to execute the methods provided by one or more technical solutions on the second electronic device side when running a computer program. The computer program is stored in the first memory 73.
[0230] It should be noted that the specific processing procedures of the first processor 72 and the first communication interface 71 are detailed in the method embodiment and will not be repeated here.
[0231] Of course, in practical applications, the various components in the first electronic device 70 are coupled together via a bus system 74. It can be understood that the bus system 74 is used to achieve communication between these components. In addition to a data bus, the bus system 74 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 7 The general labeled all buses as Bus System 74.
[0232] The first memory 73 in this embodiment is used to store various types of data to support the operation of the first electronic device 70. Examples of such data include any computer program used to operate on the first electronic device 70.
[0233] The methods disclosed in the embodiments of this application can be applied to the first processor 72, or implemented by the first processor 72. The first processor 72 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware or by instructions in the form of software in the first processor 72. The first processor 72 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The first processor 72 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the first memory 73. The first processor 72 reads the information in the first memory 73 and combines its hardware to complete the steps of the aforementioned method.
[0234] This invention also provides a second electronic device, such as... Figure 8 As shown, it includes:
[0235] The second communication interface 81 is capable of exchanging information with other devices;
[0236] The second processor 82, connected to the second communication interface 81, is used to execute the methods provided by one or more technical solutions on the first electronic device side when running a computer program. The computer program is stored in the second memory 83.
[0237] It should be noted that the specific processing procedures of the second processor 82 and the second communication interface 81 are detailed in the method embodiment and will not be repeated here.
[0238] Of course, in practical applications, the various components in the second electronic device 80 are coupled together via a bus system 84. It can be understood that the bus system 84 is used to implement communication between these components. In addition to a data bus, the bus system 84 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 8 The general labeled all buses as Bus System 84.
[0239] The second memory 83 in this embodiment is used to store various types of data to support the operation of the second electronic device 80. Examples of such data include any computer program used to operate on the second electronic device 80.
[0240] The methods disclosed in the embodiments of this application can be applied to the second processor 82, or implemented by the second processor 82. The second processor 82 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware or by instructions in the form of software in the second processor 82. The second processor 82 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The second processor 82 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the second memory 83. The second processor 82 reads the information in the second memory 83 and combines its hardware to complete the steps of the aforementioned method.
[0241] In an exemplary embodiment, the first electronic device 70 and the second electronic device 80 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.
[0242] It is understood that the memories (first memory 73, second memory 83) in the embodiments of this application can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.
[0243] In an exemplary embodiment, the present invention also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a memory that stores a computer program. This computer program can be executed by a first processor 72 of a first electronic device 70 to complete the steps described in the aforementioned method on the first electronic device side. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.
[0244] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0245] Furthermore, the technical solutions described in the embodiments of the present invention can be combined arbitrarily without conflict.
[0246] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention.
Claims
1. An information processing method, characterized in that, The method includes: Obtain watermark information and structured datasets; The watermark information is segmented to obtain N watermark fragments; and the tuple data in the structured dataset is grouped according to the parity of the primary key to obtain two first groups; each first group contains N second groups; N is a positive integer, wherein each first group contains the same number of second groups; For each first group, generate pseudo-row data corresponding to each second group in the corresponding first group, and obtain N pseudo-row data corresponding to the corresponding first group. The second group consists of original tuple data and randomly inserted pseudo-row data. For each first group, the N watermark fragments are embedded into the N pseudo-line data corresponding to the corresponding first group; For each of the two first groups obtained by grouping the primary keys of the tuple data in the structured dataset based on parity, N watermark fragments are extracted from each of the second groups of the corresponding first group. The second group consists of the original tuple data and randomly inserted pseudo-row data. If the values of the N watermark segments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark segments corresponding to any one of the two first groups.
2. The method according to claim 1, characterized in that, The watermark information is segmented to obtain N watermark fragments, including: The watermark information is encoded to obtain multiple encoded values; Convert multiple encoded values into N watermark fragments.
3. The method according to claim 1, characterized in that, The grouping of tuple data in the structured dataset includes: For each tuple in the structured dataset, the first value is determined using the primary key corresponding to the tuple. Based on the first value, determine the second group to which the corresponding tuple data belongs; Using the primary key corresponding to the corresponding tuple data, determine the first group corresponding to the second group to which the corresponding tuple data belongs.
4. The method according to claim 3, characterized in that, The step of determining the first group corresponding to the second group of the corresponding tuple data using the primary key of the corresponding tuple data includes: If the primary key corresponding to the corresponding tuple data is even, determine that the second group to which the corresponding tuple data belongs belongs to one of the two first groups. If the primary key corresponding to the corresponding tuple data is odd, determine that the second group to which the corresponding tuple data belongs belongs to the other group among the two first groups.
5. The method according to any one of claims 1 to 4, characterized in that, The step of embedding N watermark fragments into N pseudo-row data corresponding to each of the second groups in the corresponding first group includes: Determine the second value of the i-th watermark segment; Determine the first attribute value of each tuple data in the i-th second group within the corresponding first group, and obtain multiple first attribute values corresponding to the i-th second group; Using multiple first attribute values corresponding to the i-th second group and the second value of the i-th watermark segment, determine the second attribute value of the i-th pseudo-row data corresponding to the i-th second group; Determine the primary key value of the i-th pseudo-row data corresponding to the i-th second group; This process continues until the second attribute and primary key value of the pseudo-row data corresponding to each second group in the first group are determined, thereby embedding the N watermark fragments into the N pseudo-row data corresponding to each second group in the first group. Where i = 1, 2, ..., N.
6. The method according to claim 1, characterized in that, The step of extracting N watermark fragments from each of the corresponding second groups of the first group includes: Multiple attribute values are extracted from the i-th second group of the corresponding first group; Based on the multiple attribute values, determine the value of the i-th watermark segment corresponding to the i-th second group; This process continues until N watermark fragment values are extracted from each of the corresponding second groups of the first group. Where i = 1, 2, ..., N.
7. An information processing device, characterized in that, include: The acquisition unit is used to acquire watermark information and structured datasets; The first processing unit is used to segment the watermark information to obtain N watermark segments; The tuple data in the structured dataset is grouped according to the parity of the primary key, resulting in two first groups; each first group contains N second groups; N is a positive integer, wherein each first group contains the same number of second groups; The second processing unit is used to generate pseudo-row data corresponding to each second group in the corresponding first group for each first group, so as to obtain N pseudo-row data corresponding to the corresponding first group, wherein the second group consists of original tuple data and randomly inserted pseudo-row data; The third processing unit is used to embed the N watermark fragments into the N pseudo-line data corresponding to the corresponding first group for each first group; The fourth processing unit is used to extract N watermark fragments from each of the two first groups obtained by grouping the primary key of the tuple data in the structured dataset based on the parity of the primary key. The second group consists of the original tuple data and randomly inserted pseudo-row data. The fifth processing unit is used to obtain watermark information based on the N watermark segments corresponding to any one of the two first groups if the values of the N watermark segments extracted from the two first groups are all equal.
8. An electronic device, comprising a first electronic device and a second electronic device, characterized in that, The first electronic device includes: The first communication interface is used to obtain watermark information and structured datasets. A first processor is configured to segment the watermark information to obtain N watermark fragments; and group the tuple data in the structured dataset according to the parity of the primary key to obtain two first groups; each first group contains N second groups; N is a positive integer, wherein each first group contains the same number of second groups; for each first group, pseudo-row data corresponding to each second group in the corresponding first group is generated to obtain N pseudo-row data corresponding to the corresponding first group, wherein the second group consists of original tuple data and randomly inserted pseudo-row data; for each first group, the N watermark fragments are embedded into the N pseudo-row data corresponding to the corresponding first group; The second electronic device includes: Second communication interface, The second processor is used to extract N watermark fragments from each of the two first groups obtained by grouping the primary key of the tuple data in the structured dataset based on the parity of the primary key. The second group consists of the original tuple data and randomly inserted pseudo-row data. If the values of the N watermark fragments extracted from the two first groups are all equal, then the watermark information is obtained based on the N watermark fragments corresponding to any one of the two first groups.
9. A first electronic device, characterized in that, It includes a first processor and a first memory for storing computer programs that can run on the first processor. Wherein, when the first processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 5.
10. A second electronic device, characterized in that, It includes a second processor and a second memory for storing computer programs that can run on the second processor. Wherein, when the second processor is used to run the computer program, it executes the steps of the method of claim 6.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5, or the steps of the method according to claim 6.
Citation Information
Patent Citations
Embedding and extraction and verification method of value-type relational database watermark
CN104866735A
Watermark processing and data traceability method based on false lines and false rows
CN107992726A
Watermark embedding and extracting method
CN112559985A
Data watermark embedding method, watermark tracing method and device
CN112948895A