Methods, systems, and computer program products for efficiently accessing an ordered sequence in a clustered database environment
AssigneeOracle International Corporation
InventorsChinmayi Krishnappa, Shasank Kisan Chavan
Life of this patent
Estimating the term…
Abstract
Described are improved systems, computer program products, and methods for efficiently accessing an ordered sequence in a clustered database environment. The approach includes receiving multiple requests for ordered sequence numbers from a plurality of entities. These multiple entries respectively pertaining to the multiple requests may be stored in a data structure. An entry may be selected from the multiple entries in the data structure; and one or more ordered sequence numbers may be provided to a requesting entity for the entry with a distributed lock mechanism based at least in part upon sequence number reservation or a local entity priority.
Claims28
A method, comprising:
- enforcing, at a database server in a database environment, uniqueness of ordered sequence numbers for fulfillment of requests for the ordered sequence numbers at least by:
- receiving multiple requests for particular ordered sequence numbers of an ordered sequence for a database from a plurality of entities that is remote from the database server, wherein
- a local entity priority grants a higher priority to one or more entities having a first parent entity at a first hierarchical level as does a first entity of the plurality of entities, and grants a lower priority to one or more separate entities having a second parent entity that is also located at the first hierarchical level but is different from the first parent entity, and
- multiple entries respectively representing the multiple requests are stored in a data structure;
- and
- responsive to receipt of the multiple requests, providing an ordered sequence number to the first entity having the first parent entity;
- and
- after providing the ordered sequence number to the first entity having the first parent entity and located at a second hierarchical level under the first hierarchical level, providing one or more additional ordered sequence numbers to a requesting entity of the one or more entities based at least in part upon the local entity priority, providing the one or more additional ordered sequence numbers comprising:
- prioritizing, using at least the local entity priority, a request for at least one ordered sequence number from the requesting entity over a separate request from another requesting entity of the one or more separate entities at least by selecting, from the data structure, an entry representing the requesting entity when the requesting entity has the first parent entity as does the first entity and is provided with the one or more additional ordered sequence numbers including the at least one ordered sequence number, wherein
- the another requesting entity has the second parent entity different from the first parent entity, and
- the particular ordered sequence numbers include the one or more additional sequence numbers, and
- the particular ordered sequence numbers are different from one another in an order of the ordered sequence for the database and are respectively provided to the plurality of entities based at least in part upon the local entity priority.
A system comprising:
- a processor;
- and
- a memory to hold a set of program code instructions, in which the set of program code instructions comprises program code to perform a set of acts, the set of acts comprising:
- enforcing, at a database server in a database environment, uniqueness of ordered sequence numbers for fulfillment of requests for the ordered sequence numbers at least by:
- receiving multiple requests for particular ordered sequence numbers of an ordered sequence for a database from a plurality of entities that is remote from the database server, wherein
- a local entity priority grants a higher priority to one or more entities having a first parent entity at a first hierarchical level as does a first entity of the plurality of entities, and grants a lower priority to one or more separate entities having a second parent entity that is also located at the first hierarchical level but is different from the first parent entity, and
- multiple entries respectively representing the multiple requests are stored in a data structure;
- and
- responsive to receipt of the multiple requests, providing an ordered sequence number to the first entity having the first parent entity;
- and
- after providing the ordered sequence number to the first entity having the first parent entity and located at a second hierarchical level under the first hierarchical level, providing one or more additional ordered sequence numbers to a requesting entity of the one or more entities based at least in part upon the local entity priority, providing the one or more additional ordered sequence numbers comprising:
- prioritizing, using at least the local entity priority, a request for at least one ordered sequence number from the requesting entity over a separate request from another requesting entity of the one or more separate entities by selecting, from the data structure, an entry representing the requesting entity when the requesting entity has the first parent entity as does the first entity and is provided with the one or more additional ordered sequence numbers including the at least one ordered sequence number, wherein
- the another requesting entity has the second parent entity different from the first parent entity, and
- the particular ordered sequence numbers include the one or more additional sequence numbers, and
- the particular ordered sequence numbers are different from one another in an order of the ordered sequence for the database and are respectively provided to the plurality of entities based at least in part upon the local entity priority.
A computer program product including a non-transitory computer readable medium having stored thereupon instructions which, when executed by a processor, causes the processor to perform a set of acts, the set of acts comprising:
- enforcing, at a database server in a database environment, uniqueness of ordered sequence numbers for fulfillment of requests for the ordered sequence numbers at least by:
- receiving multiple requests for particular ordered sequence numbers of an ordered sequence for a database from a plurality of entities that is remote from the database server, wherein
- a local entity priority grants a higher priority to one or more entities having a first parent entity at a first hierarchical level as does a first entity of the plurality of entities, and grants a lower priority to one or more separate entities having a second parent entity that is also located at the first hierarchical level but is different from the first parent entity, and
- multiple entries respectively representing the multiple requests are stored in a data structure;
- and
- responsive to receipt of the multiple requests, providing an ordered sequence number to the first entity having the first parent entity;
- and
- after providing the ordered sequence number to the first entity having the first parent entity and located at a second hierarchical level under the first hierarchical level, providing one or more additional ordered sequence numbers to a requesting entity of the one or more entities based at least in part upon the local entity priority, providing the one or more additional ordered sequence numbers comprising:
- prioritizing, using at least the local entity priority, a request for at least one ordered sequence number from the requesting entity over separate request from another requesting entity of the one or more separate entities at least by selecting, from the data structure, an entry representing the requesting entity when the requesting entity has the first parent entity as does the first entity and is provided with the one or more additional ordered sequence number including the at least one ordered sequence number, wherein
- the another requesting entity has the second parent entity different from the first parent entity, and
- the particular ordered sequence numbers include the one or more additional sequence numbers, and
- the particular ordered sequence numbers are different from one another in an order of the ordered sequence for the database and are respectively provided to the plurality of entities based at least in part upon the local entity priority.
Dependencies are inferred from the claim text.