Hash for structural data with same data meaning
AssigneeInternational Business Machines Corporation
InventorChun Lei Xu
Life of this patent
Estimating the term…
Abstract
Provides a method for hashing structural data. According to this method, structural data that includes a plurality of keys and a plurality of values corresponding to respective keys is received. A plurality of key-value pairs can be parsed from the structural data, with each of the plurality of key-value pairs including a key and a value respectively corresponding to the key. A hash value of the plurality of key-value pairs is computed according to a predefined policy as a hash value of the structural data, wherein the predefined policy includes sorting the plurality of key-value pairs or processed key-value pairs.
Claims20
A computer-implemented method comprising:
- receiving two sets of structural data, a first dataset expressed in a first programming language and a second dataset expressed in a second programming language, the two sets of structural data including a plurality of keys and a plurality of respectively corresponding values, the two sets of structural data having matching keys and matching respectively corresponding values;
- parsing a first plurality of key-value pairs from the first dataset and a second plurality of key-value pairs from the second dataset;
- obtaining a first set of bit array groups of the first plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the first plurality of key-value pairs;
- computing a first set of hash value groups of the first set of bit array groups;
- obtaining a second set of bit array groups of the second plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the second plurality of key-value pairs;
- computing a second set of hash value groups of the second set of bit array groups;
- sorting the first set of hash value groups and the second set of hash value groups into a first sorted group and a second sorted group according to a first predefined policy for arranging hash value groups;
- determining the two sets of structural data have the same meaning by identifying a resulting hash value group matching the first sorted group and the second sorted group;
- verifying the two sets of structural data are consistent based, at least in part, upon the identification of the resulting hash value group matching the first sorted group and the second sorted group;
- and
- responsive to the verification that the two sets of structural data are consistent, sending, to a first entity, a validated structural data set, with the validated structural data set including information indicating that the data included in the first dataset and the second dataset are the same, with the first entity being a manufacturer that utilizes the validated structural data set;
- wherein:
- the first programming language is different than the second programming language.
A computer system comprising:
- a processor(s) set;
- a machine readable storage device;
- and
- computer code stored on the machine readable storage device, with the computer code including instructions and data for causing the processor(s) set to perform operations including the following:
- receiving two sets of structural data, a first dataset expressed in a first programming language and a second dataset expressed in a second programming language, the two sets of structural data including a plurality of keys and a plurality of respectively corresponding values, the two sets of structural data having matching keys and matching respectively corresponding values,
- parsing a first plurality of key-value pairs from the first dataset and a second plurality of key-value pairs from the second dataset,
- obtaining a first set of bit array groups of the first plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the first plurality of key-value pairs,
- computing a first set of hash value groups of the first set of bit array groups,
- obtaining a second set of bit array groups of the second plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the second plurality of key-value pairs,
- computing a second set of hash value groups of the second set of bit array groups,
- sorting the first set of hash value groups and the second set of hash value groups into a first sorted group and a second sorted group according to a first predefined policy for arranging hash value groups,
- determining the two sets of structural data have the same meaning by identifying a resulting hash value group matching the first sorted group and the second sorted group,
- verifying that two sets of structural data are consistent based, at least in part, upon the identification of the resulting hash value group matching the first sorted group and the second sorted group, and
- responsive to the verification that the two sets of structural data are consistent, sending, to a first entity, a validated structural data set, with the validated structural data set including information indicating that the data included in the first dataset and the second dataset are the same, with the first entity being a manufacturer that utilizes the validated structural data set;
- wherein:
- the first programming language is different than the second programming language.
A computer program product comprising:
- a non-transitory computer readable storage medium;
- and
- computer code stored on the non-transitory computer readable storage medium, with the computer code including instructions and data for causing a processor(s) set to perform operations including the following:
- receiving two sets of structural data, a first dataset expressed in a first programming language and a second dataset expressed in a second programming language, the two sets of structural data including a plurality of keys and a plurality of respectively corresponding values, the two sets of structural data having matching keys and matching respectively corresponding values,
- parsing a first plurality of key-value pairs from the first dataset and a second plurality of key-value pairs from the second dataset,
- obtaining a first set of bit array groups of the first plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the first plurality of key-value pairs,
- computing a first set of hash value groups of the first set of bit array groups,
- obtaining a second set of bit array groups of the second plurality of key-value pairs, each bit array group representing a corresponding key-value pair of the second plurality of key-value pairs,
- computing a second set of hash value groups of the second set of bit array groups,
- sorting the first set of hash value groups and the second set of hash value groups into a first sorted group and a second sorted group according to a first predefined policy for arranging hash value groups,
- determining the two sets of structural data have the same meaning by identifying a resulting hash value group matching the first sorted group and the second sorted group,
- verifying that two sets of structural data are consistent based, at least in part, upon the identification of the resulting hash value group matching the first sorted group and the second sorted group, and
- responsive to the verification that the two sets of structural data are consistent, sending, to a first entity, a validated structural data set, with the validated structural data set including information indicating that the data included in the first dataset and the second dataset are the same, with the first entity being a manufacturer that utilizes the validated structural data set;
- wherein:
- the first programming language is different than the second programming language.
Dependencies are inferred from the claim text.