BACKGROUND

Computing systems can be used to process data, code, or other types of information; they can also be used to search stored information. Such stored information may include data, code, or other types of information converted into hash strings. Hash strings may be generated by applying a hash function to any form of data, code, or other types of information. The hash strings may be stored in one or more databases. Hash strings corresponding to data values or other information that does not change over a short period of time are easier to search. However, hash strings corresponding to data values or other information that is constantly changing are harder to search.

SUMMARY

In one example, the present disclosure relates to a method, implemented by a processor, for searching an indexed array including a set of hash strings. The method may include receiving a hash string. The method may further include using the processor, determining a first set of index values for the indexed array that correspond to a first stored value matching a first portion of the hash string and determining a second set of index values for the indexed array that correspond to a second stored value matching a second portion of the hash string if a match between the first stored value and the first portion of the hash string is found. The method may further include using the processor, upon finding a match between both the first stored value and the first portion of the hash string and a match between the second stored value and the second portion of the hash string, comparing the hash string to each of the set of hash strings in the indexed array having an index value common to both the first set of index values and the second set of index values.

In another example, the present disclosure relates to a method, implemented by a processor, for searching an indexed array including a set of hash strings. The method may include receiving a hash string comprising X number of bits, where X is an integer greater than one. The method may further include using the processor, extracting a first set of bits from the X number of bits, a second set of bits from the X number of bits, and a third set of bits from the X number of bits. The method may further include using the processor, looking up a symbol table to determine a first set of index values for the indexed array that correspond to a first stored value matching the first set of bits, looking up the symbol table to determine a second set of index values for the indexed array that correspond to a second stored value matching the second set of bits if a match between the first stored value and the first set of bits is found, and looking up the symbol table to determine a third set of index values for the indexed array that correspond to a third stored value matching the third set of bits if a match between the second stored value and the second set of bits is found. The method may further include using the processor, upon finding a match between the first stored value and the first set of bits, a match between the second stored value and the second set of bits, and a match between the third stored value and the third set of bits, comparing the hash string to each of the set of hash strings in the indexed array having an index value common to the first set of index values, the second set of index values, and the third set of index values to determine a match between the hash string and any of the set of hash strings stored in the indexed array.

In yet another example, the present disclosure relates to a system, including a processor, for searching an indexed array, stored in a memory, including a set of hash strings. The system may be configured to receive a hash string. The system may further be configured to determine a first set of index values for the indexed array that correspond to a first stored value matching a first portion of the hash string and determine a second set of index values for the indexed array that correspond to a second stored value matching a second portion of the hash string if a match between the first stored value and the first portion of the hash string is found. The system may further be configured to upon finding a match between both the first stored value and the first portion of the hash string and a match between the second stored value and the second portion of the hash string, compare the hash string to each of the set of hash strings in the indexed array having an index value common to both the first set of index values and the second set of index values.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

