Processing engine for complex atomic operations
US-9218204-B2 · Dec 22, 2015 · US
US10042678B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10042678-B2 |
| Application number | US-201614995789-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 14, 2016 |
| Priority date | Dec 30, 2013 |
| Publication date | Aug 7, 2018 |
| Grant date | Aug 7, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A lock management method and system, and a method and an apparatus for configuring a lock management system is provided. A corresponding level of a lock management system is set for each service execution node according to the number of service execution nodes included in a distributed system, the number of system instances on all service execution nodes, the number of handling processes on all the service execution nodes, and a delay of access of each service execution node to a central control node of the distributed system. At least one lock manager is allocated to each service execution node separately according to the level, which is corresponding to each service execution node, of the lock management system. A lock level context is configured for each lock manager, where the lock level context is used to determine an adjacent lock manager of each lock manager.
Opening claim text (preview).
What is claimed is: 1. A method for configuring a lock management system in a distributed system, the method comprising: setting a corresponding level of a lock management system for each service execution node according to the number of service execution nodes comprised in the distributed system, a number of system instances on all service execution nodes, a number of handling processes on all the service execution nodes, and a delay of access of each service execution node to a central control node of the distributed system; allocating at least one lock manager to each service execution node separately according to the level, which corresponds to each service execution node, of the lock management system; and configuring a lock level context for each lock manager, wherein the lock level context is for determining an adjacent lock manager of each lock manager. 2. The method according to claim 1 , wherein allocating at least one lock manager to each service execution node separately according to the level, which corresponds to each service execution node, of the lock management system comprises: when a lock management system set for a service execution node has two levels, allocating one node lock manager and one global lock manager to the service execution node, wherein an upper-level lock manager of the node lock manager is the global lock manager; and when the level, which is set for the service execution node, of the lock management system is greater than two, allocating one node lock manager, one global lock manager, and at least one local lock manager between the node lock manager and the global lock manager to the service execution node, and determining an upper-level lock manager and a lower-level lock manager of each local lock manager according to the lock level context, wherein a lower-level lock manager requests a lock from an upper-level lock manager. 3. The method according to claim 2 , wherein after allocating at least one lock manager to each service execution node separately according to the level, which corresponds to each service execution node, of the lock management system, the method further comprises: when a service execution node corresponding to the global lock manager is different from a service execution node on which at least one system instance is located, setting a lock manager at one level for the service execution node corresponding to the at least one system instance. 4. The method according to claim 1 , wherein the lock level context comprises: the number of lock levels, a level at which a lock manager is located, an upper-level lock manager, a lower-level lock manager, and a service execution node for which a lock manager is responsible. 5. A lock management method, comprising: receiving, using a node lock manager allocated to a service execution node, a lock request sent by the service execution node, and according to a state of whether a lock is held by the node lock manager, continuing to send the lock request to an upper-level lock manager, or returning a lock corresponding to the lock request to the service execution node; when the lock request is sent to the upper-level lock manager, receiving the lock request using the upper-level lock manager of the node lock manager, and according to a state of whether a lock is held, continuing to send the lock request to a more upper-level lock manager, or returning the lock corresponding to the lock request to the node lock manager; and when the lock request is sent to the more upper-level lock manager, according to a set level of a lock management system, handling the lock request using each upper-level lock manager of the node lock manager sequentially according to a state of whether a lock is held at each level, until the lock request is sent to a global lock manager, and returning, using the global lock manager, the lock corresponding to the lock request to a lower-level lock manager of the global lock manager, until the lock corresponding to the lock request is returned to the service execution node. 6. The method according to claim 5 , wherein according to a state of whether a lock is held by the node lock manager, continuing to send the lock request to an upper-level lock manager, or returning a lock corresponding to the lock request to the service execution node comprises: when the node lock manager holds the lock corresponding to the lock request, returning the lock corresponding to the lock request to the service execution node using the node lock manager; and when the node lock manager does not hold the lock corresponding to the lock request, sending the lock request to the upper-level lock manager of the node lock manager using the node lock manager. 7. The method according to claim 5 , wherein according to a state of whether a lock is held, continuing to send the lock request to a more upper-level lock manager, or returning the lock corresponding to the lock request to the node lock manager comprises: when the upper-level lock manager of the node lock manager holds the lock corresponding to the lock request, returning the lock corresponding to the lock request to the node lock manager using the upper-level lock manager of the node lock manager; and when the upper-level lock manager of the node lock manager does not hold the lock corresponding to the lock request, sending the lock request to the more upper-level lock manager using the upper-level lock manager of the node lock manager. 8. The method according to claim 5 , further comprising: combining, using the node lock manager, a preset number of lock requests that need to be sent to the upper-level lock manager into a same lock request, and sending the same lock request to the upper-level lock manager of the node lock manager. 9. The method according to claim 5 , further comprising: when the lock corresponding to the lock request is being returned, setting, using the lock manager, a maximum holding time of the lock corresponding to the lock request, and when a time of holding the lock, which corresponds to the lock request, by the lower-level lock manager of the lock manager is greater than or equal to the maximum holding time, sending a forced invalidation request to the lower-level lock manager of the lock manager using the lock manager, the forced invalidation request configured to cause the lower-level lock manager of the lock manager to release the lock corresponding to the lock request. 10. An apparatus for configuring a lock management system, wherein the apparatus is applied to a distributed system, the apparatus comprising: at least one processor configured to: set a corresponding level of a lock management system for each service execution node according to the number of service execution nodes comprised in the distributed system, a number of system instances on all service execution nodes, a number of handling processes on all the service execution nodes, and a delay of access of each service execution node to a central control node of the distributed system; allocate at least one lock manager to each service execution node separately according to the level, which corresponds to each service execution node, of the lock management system; and configure a lock level context for each lock manager, wherein the lock level context is for determining an adjacent lock manager of each lock manager. 11. The apparatus according to claim 10 , wherein: when a lock management system set for a service execution node has two levels, the at least one processor is configured to allocate one node lock manager and one global lock manager to the service execution node, wherein an upper-level lock manager of the node lock manager is the global lock
Manager · CPC title
Mutual exclusion algorithms · CPC title
Locking methods, e.g. distributed locking or locking implementation details · CPC title
Multiprogramming arrangements · CPC title
Transaction processing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.