Performing quantum file pattern searching
Performing quantum file pattern searching is disclosed herein. In one example, a quantum search service executing on a quantum computing device receives, from a requestor, a search request including a search pattern. Upon receiving the search request, the quantum search service accesses a quantum file registry of a quantum file that includes a plurality of qubits. Based on the quantum file registry record, the quantum search service identifies the plurality of qubits, as well as the locations of each qubit of the plurality of qubits. The quantum search service then accesses a plurality of data values stored by the plurality of qubits, and compares the data values to the search pattern. If the quantum search service determines that one or more data values of the plurality of data values correspond to the search pattern, the quantum search service sends to the requestor a search response indicating a match.
1. A method comprising:
receiving, from a requestor, a search request comprising a search pattern;
accessing a quantum file registry record of a quantum file comprising a plurality of qubits;
identifying, based on the quantum file registry record, the plurality of qubits and a location of each qubit of the plurality of qubits;
accessing, based on the identifying, a plurality of data values stored by the plurality of qubits;
comparing the plurality of data values with the search pattern;
determining, based on the comparing, that one or more data values of the plurality of data values correspond to the search pattern; and
sending a search response to the requestor indicating that the one or more data values of the plurality of data values correspond to the search pattern.
2. The method of claim 1 , wherein the search request further comprises one or more of an identification of the quantum file to be searched, an identification of one or more locations to be searched, and an identification of the plurality of qubits to be searched.
3. The method of claim 1 , wherein the search response comprises one or more of an identification of the quantum file and an identification of one or more qubits of the plurality of qubits that store the one or more data values corresponding to the search pattern.
4. The method of claim 1 , wherein:
the search pattern comprises one or more literals; and
determining that the one or more data values of the plurality of data values correspond to the search pattern comprises determining that each data value of the one or more data values equals a corresponding literal of the one or more literals.
5. The method of claim 1 , wherein:
the search pattern comprises a regular expression; and
determining that the one or more data values of the plurality of data values correspond to the search pattern comprises determining that the one or more data values match the regular expression.
6. The method of claim 1 , further comprising obtaining exclusive access to the plurality of qubits.
7. The method of claim 1 , further comprising determining that each qubit of the plurality of qubits is in an entanglement state of not entangled;
wherein accessing the plurality of data values stored by the plurality of qubits is responsive to determining that each qubit of the plurality of qubits is in an entanglement state of not entangled.
8. The method of claim 1 , further comprising determining that any qubit of the plurality of qubits is in a state of superposition;
wherein:
accessing the plurality of data values stored by the plurality of qubits comprises performing a plurality of accesses of each data value of the plurality of data values;
comparing the plurality of data values with the search pattern comprises performing a plurality of comparisons of the plurality of data values with the search pattern; and
determining that the one or more data values of the plurality of data values correspond to the search pattern comprises:
determining a number of the plurality of comparisons in which the one or more data values of the plurality of data values match the search pattern; and
determining that the number of the plurality of comparisons exceeds a comparison threshold.
9. The method of claim 1 , further comprising determining that each qubit of the plurality of qubits is not in a state of superposition;
wherein accessing the plurality of data values stored by the plurality of qubits is responsive to determining that each source qubit of the plurality of source qubits is not in a state of superposition.
10. The method of claim 1 wherein the search request identifies a quantum file of a plurality of quantum files, and further comprising:
determining, based on the search request, the quantum file registry record of a plurality of quantum file registry records maintained in a quantum file registry, each quantum file registry record corresponding to a different quantum file, each different quantum file comprising one or more qubits.
11. A quantum computing system, comprising:
a quantum computing device comprising:
a memory; and
at least one processor device coupled to the memory to:
receive, from a requestor, a search request comprising a search pattern;
access a quantum file registry record of a quantum file comprising a plurality of qubits;
identify, based on the quantum file registry record, the plurality of qubits and a location of each qubit of the plurality of qubits;
access, based on the identifying, a plurality of data values stored by the plurality of qubits;
compare the plurality of data values with the search pattern;
determine, based on the comparing, that one or more data values of the plurality of data values correspond to the search pattern; and
send a search response to the requestor indicating that the one or more data values of the plurality of data values correspond to the search pattern.
12. The method of claim 11 , wherein the search request further comprises one or more of an identification of the quantum file to be searched, an identification of one or more locations to be searched, and an identification of the plurality of qubits to be searched.
13. The method of claim 11 , wherein the search response comprises one or more of an identification of the quantum file and an identification of one or more qubits of the plurality of qubits that store the one or more data values corresponding to the search pattern.
14. The quantum computing system of claim 11 , wherein:
the search pattern comprises one or more literals; and
to determine that the one or more data values of the plurality of data values correspond to the search pattern is to determine that each data value of the one or more data values equals a corresponding literal of the one or more literals.
15. The quantum computing system of claim 11 , wherein:
the search pattern comprises a regular expression; and
to determine that the one or more data values of the plurality of data values correspond to the search pattern is to determine that the one or more data values match the regular expression.
16. The quantum computing system of claim 11 , wherein the at least one processor device is further to obtain exclusive access to the plurality of qubits.
17. The quantum computing system of claim 11 , wherein:
the at least one processor device is further to determine that each qubit of the plurality of qubits is in an entanglement state of not entangled; and
the at least one processor device is to access the plurality of data values stored by the plurality of qubits responsive to determining that each qubit of the plurality of qubits is in an entanglement state of not entangled.
18. The quantum computing system of claim 11 , wherein:
the at least one processor device is further to determine that any qubit of the plurality of qubits is in a state of superposition;
to access the plurality of data values stored by the plurality of qubits is to perform a plurality of accesses of each data value of the plurality of data values;
to compare the plurality of data values with the search pattern is to perform a plurality of comparisons of the plurality of data values with the search pattern; and
to determine that the one or more data values of the plurality of data values correspond to the search pattern is to:
determine a number of the plurality of comparisons in which the one or more data values of the plurality of data values match the search pattern; and
determine that the number of the plurality of comparisons exceeds a comparison threshold.
19. The quantum computing system of claim 11 , wherein:
the at least one processor device is further to determine that each qubit of the plurality of qubits is not in a state of superposition; and
the at least one processor device is to access the plurality of data values stored by the plurality of qubits responsive to determining that each source qubit of the plurality of source qubits is not in a state of superposition.
20. A computer program product comprising a non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed, cause a processor device to:
receive, from a requestor, a search request comprising a search pattern;
access a quantum file registry record of a quantum file comprising a plurality of qubits;
identify, based on the quantum file registry record, the plurality of qubits and a location of each qubit of the plurality of qubits;
access, based on the identifying, a plurality of data values stored by the plurality of qubits;
compare the plurality of data values with the search pattern;
determine, based on the comparing, that one or more data values of the plurality of data values correspond to the search pattern; and
send a search response to the requestor indicating that the one or more data values of the plurality of data values correspond to the search pattern.