Method and system for concurrent database operation

US11120002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11120002-B2
Application numberUS-201615214901-A
CountryUS
Kind codeB2
Filing dateJul 20, 2016
Priority dateJul 20, 2016
Publication dateSep 14, 2021
Grant dateSep 14, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present teaching relates to concurrent database operation. In one example, a plurality of requests which includes a scan request to obtain first data associated with a plurality of first keys stored in a database is received concurrently. A global version number is updated upon receipt of the scan request. The first data associated with the plurality of first keys is obtained based on the updated global version number. The first data is provided in response to the scan request.

First claim

Opening claim text (preview).

We claim: 1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for database operation, the method comprising: receiving, concurrently, a plurality of requests which includes a scan request to obtain first data associated with a plurality of keys stored in a database, wherein the scan request specifies to retrieve all values of keys between a first key and a second key; updating, upon receipt of the scan request, a global version number associated with the plurality of keys before performing the scan requested; obtaining, after the global version number is updated, with respect to each of the plurality of keys, the first data associated with the plurality of keys based on the updated global version number by: determining a relevant version number of the key, and retrieving a value of the key associated with the relevant version number, wherein the first data comprises the value retrieved for each of the plurality of keys; and providing the first data in response to the scan request. 2. The method of claim 1 , wherein updating the global version number comprises: retrieving the global version number in the database; and increasing the global version number to obtain the updated global version number. 3. The method of claim 2 , wherein the relevant version number is a largest version number below the updated global version number that is associated with each of the plurality of keys in the database. 4. The method of claim 1 , wherein the plurality of requests includes a get request to retrieve second data associated with a key specified in the get request, the method further comprises: obtaining the second data associated with the key specified in the get request based on the updated global version number; and providing the second data in response to the get request. 5. The method of claim 4 , wherein obtaining the second data associated with the key specified in the get request based on the updated global version number comprises: determining a relevant version number for the key specified in the get request, wherein the relevant version number is a largest version number below the updated global version number that is associated with the key specified in the get request in the database; and retrieving a value of the key specified in the get request associated with the relevant version number. 6. The method of claim 1 , wherein the plurality of requests includes a put request to update the database with second data associated with a key specified in the put request, the method further comprises: updating the database with the second data associated with the key specified in the put request; and transmitting a confirmation in response to the put request. 7. The method of claim 6 , further comprising: when the put request is not associated with a first version number, assigning the global version number to be the first version number associated with the put request; and associating the first version number with the key specified in the put request in the database when the key specified in the put request does not have a version number in the database. 8. A system, having at least one processor, storage, and a communication platform connected to a network for database operation, the system comprising: a request classifier configured to: receive, concurrently, a plurality of requests; and classify each of the plurality of requests into one of a scan request to obtain first data associated with a plurality of first keys stored in a database, a get request to obtain second data associated with a second key stored in the database, and a put request to update the database with third data associated with a third key, wherein the plurality of requests includes the scan request, and wherein the scan request specifies to retrieve all values of keys between a first key and a second key; and a data scanner configured to: receive the scan request from the request classifier; update, upon receipt of the scan request, a global version number associated with the plurality of first keys before performing the scan requested; obtaining, after the global version number is updated, with respect to each of the plurality of keys, the first data associated with the plurality of keys based on the updated global version number by: determining a relevant version number of the key, and retrieving a value of the key associated with the relevant version number, wherein the first data comprises the value retrieved for each of the plurality of keys; and providing the first data in response to the scan request. 9. The system of claim 8 , wherein the global version number being updated comprises the data scanner being configured to: retrieve the global version number in the database; and increase the global version number to obtain the updated global version number. 10. The system of claim 9 , wherein the relevant version number is a largest version number below the updated global version number that is associated with each of the plurality of first keys in the database. 11. The system of claim 8 , wherein the plurality of requests includes a get request to retrieve second data associated with a second key specified in the get request, and wherein the system further comprises a data reader configured to: obtain the second data associated with the second key specified in the get request based on the updated global version number; and provide the second data in response to the get request. 12. The system of claim 11 , wherein the second data associated with the second key specified in the get request based on the updated global version number being obtained comprises the data reader being configured to: determine a relevant version number for the second key specified in the get request, wherein the relevant version number is a largest version number below the updated global version number that is associated with the second key specified in the get request in the database; and retrieve a value of the second key specified in the get request associated with the relevant version number. 13. The system of claim 8 , wherein the plurality of requests includes a put request to update the database with third data associated with a third key specified in the put request, and the system further comprises a data updater configured to: update the database with the third data associated with the third key specified in the put request; and transmit a confirmation in response to the put request. 14. The system of claim 13 , wherein the data updater is further configured to: when the put request is not associated with a first version number, assign the global version number to be the first version number associated with the put request; and associate the first version number with the third key specified in the put request in the database when the third key specified in the put request does not have a version number in the database. 15. A machine-readable tangible and non-transitory medium having information for database operation, when read by a machine, effectuate operations comprising: receiving, concurrently, a plurality of requests which includes a scan request to obtain first data associated with a plurality of keys stored in a database, wherein the scan request specifies to retrieve all values of keys between a first key and a second key; updating, upon receipt of the scan request, a global version number associated with the plurality of keys before performing the scan requested; obtaining, after the global version number is updated

Assignees

Inventors

Classifications

  • Concurrency control (transaction processing G06F9/466) · CPC title

  • using versioning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11120002B2 cover?
The present teaching relates to concurrent database operation. In one example, a plurality of requests which includes a scan request to obtain first data associated with a plurality of first keys stored in a database is received concurrently. A global version number is updated upon receipt of the scan request. The first data associated with the plurality of first keys is obtained based on the u…
Who is the assignee on this patent?
Yahoo Holdings Inc, Verizon Media Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2308. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 14 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).