FIELD

The present disclosure relates to the storage of data in a universal distributed data storage, specifically the use of collision-resistant hashing algorithms to generate keys for key-value storage for the storage of a virtually limitless data set with integrity guarantees.

BACKGROUND

Often times, when data is stored in a database it is associated with an identifier for easier access and identification. In many cases, the identifier assigned to a data value or set of data values may be unique to the associated data with respect to other identifiers used for all of the data stored in that particular group of data (e.g., a table of data) or database. Such identifier is often referred to as a “primary key,” where the database may require each new data value or set of data values added to a table or database to have a unique primary key associated therewith for storage.

In many instances, primary keys must be unique to the individual table and/or database in question, but may be repeated throughout multiple tables or databases. For example, in many cases sets of data values in a table are assigned a number where the first set of data values begins at 1 or another predetermined value, with each new entry using the next number in sequence (e.g., 2, 3, 4, etc.). Other tables in the same database may use the same numbering system, where multiple sets of data values in a database may each be assigned the same identifying number (e.g., 1), but where the identifying number may be unique for the respective table in the database (e.g., each table only has a single set of data values with the assigned identifier of “1”).

Such a system, which may be useful for smaller databases, may be detrimental in instances where two data sets may be combined, particularly when multiple entities are involved. For example, two companies may have a need to exchange sets of documents stored in internal storage. Each company may use the same numbering system for identification, which may result in multiple documents having conflicting identifiers. As a result, either the documents must be stored in separate tables and/or databases, or identifiers must be modified for one or both of the sets. In the former instance, it may be difficult to make adjustments to both tables/databases at once and may be inconvenient for the purposes of sorting and storage. In the latter instance, the two parties must both agree on the alternative identification with one or both parties modifying their previous identification system accordingly, which can be highly inconvenient and potentially detrimental due to the prevailing use of the identifiers in the rest of their business. In addition, any future changes to identifiers, such as due to changing in business practices, or in an instance where a deal is struck with a third entity with whom there are conflicting identifiers, must be propagated to the other entity. As entities communicate and deal with more and more entities, the conflicts may compound where changes to identifiers may occur at an unreasonable rate and negatively affect each entity's ability to do business.

Thus, there is a need for a technical solution to enable a universal distributed data storage where every data set, regardless of entity, type of data, method of storage, etc. can be combined without any collisions in identification, and where the integrity is not affected by future additions of data to the data set.

SUMMARY

The present disclosure provides a description of systems and methods for generation of a universal distributed data storage. The use of collision-resistant hashing to develop identification values for disparate data sets may enable the combination of data sets without collisions and may preserve integrity of the data sets and their identification following any future combination of additional data sets into the universal data storage.

A method for generating a universal distributed data storage includes: receiving, by a receiving device of a processing server, a data signal superimposed with a plurality of data values; generating, by a hashing module of the processing server, a key for each of the plurality of data values, wherein the respective key is generated via application of a hashing algorithm to the associated data value; executing, by a querying module of the processing server, a first query on a database of the processing server to store each of the plurality of data values and the associated generated key as a plurality of key-value pairs; receiving, by the receiving device of the processing server, a data signal superimposed with a plurality of additional key-value pairs, wherein each value of the plurality of additional key-value pairs is not included in the plurality of data values; and executing, by the querying module of the processing server, a second query on the database of the processing server to store each of the plurality of additional key-value pairs, wherein each key included in the plurality of additional key-value pairs is generated via application of the hashing algorithm to the associated value and is not included in the keys generated for each of the plurality of data values.

A system for generating a universal distributed data storage includes: a database of a processing server; a receiving device of the processing server configured to receive a data signal superimposed with a plurality of data values; a hashing module of the processing server configured to generate a key for each of the plurality of data values, wherein the respective key is generated via application of a hashing algorithm to the associated data value; and a querying module of the processing server configured to execute a first query on a database of the processing server to store each of the plurality of data values and the associated generated key as a plurality of key-value pairs. The receiving device of the processing server is further configured to receive a data signal superimposed with a plurality of additional key-value pairs, wherein each value of the plurality of additional key-value pairs is not included in the plurality of data values. The querying module of the processing server is further configured to execute a second query on the database of the processing server to store each of the plurality of additional key-value pairs, wherein each key included in the plurality of additional key-value pairs is generated via application of the hashing algorithm to the associated value and is not included in the keys generated for each of the plurality of data values.

