CN111600940B - Distributed session management method and system - Google Patents

Distributed session management method and system Download PDF

Info

Publication number
CN111600940B
CN111600940B CN202010370890.0A CN202010370890A CN111600940B CN 111600940 B CN111600940 B CN 111600940B CN 202010370890 A CN202010370890 A CN 202010370890A CN 111600940 B CN111600940 B CN 111600940B
Authority
CN
China
Prior art keywords
session
request
distributed
service processing
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010370890.0A
Other languages
Chinese (zh)
Other versions
CN111600940A (en
Inventor
黄河峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202010370890.0A priority Critical patent/CN111600940B/en
Publication of CN111600940A publication Critical patent/CN111600940A/en
Application granted granted Critical
Publication of CN111600940B publication Critical patent/CN111600940B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

The invention discloses a distributed session management method and a distributed session management system, wherein the method comprises the following steps: acquiring a plurality of requests submitted by a browser concurrently; filtering the sessions of the requests, and performing distributed locking on the sessions after the filtering; forwarding the first request in the locked session to a service processing layer; processing the first request through the service processing layer to generate a first request processing result; submitting the first request processing result to a database; and after the submission is completed, unlocking the locked session, and forwarding a second request in the session to the service processing layer. The method and the system can ensure that the synchronous control range starts from session filtering, and the acquisition, processing and submission of the session are in one synchronous control through distributed synchronous locking control, thereby realizing the synchronous control of the session and ensuring the data consistency of concurrent scenes in a distributed environment.

Description

Distributed session management method and system
Technical Field
The present invention relates to the field of session management technologies, and in particular, to a distributed session management method and system.
Background
At present, common web development modes adopt development modes with front and back ends separated, and a client can asynchronously and concurrently initiate a plurality of requests to a server. In the same user session, the browser end simultaneously sends a plurality of http Reqeuest (http requests), and because the server end uses the distributed session, session affinity is not needed, and different http requests can be sent to different nodes; different requests require updating or modifying the same user session data, thus resulting in data inconsistency.
For example, the current browser side sends http requests Req-1 and Req-2 simultaneously, and modifies one key in session: as shown in Table 1 below, req-1 requests a random number, placed in an "RS" key under the "_ conversation map" key in the session;
TABLE 1 Req-1 Session information for requesting random numbers
Figure BDA0002478260010000011
As shown in Table 2 below, req-2 requests token, which is placed in a "token Id" key under the "_ convertionMap" key in the session;
TABLE 2 REq-1 Session information for requesting random numbers
Figure BDA0002478260010000012
The result is only tokenId =456 at _ conversalionmap.
Wherein, the execution process of the concurrent request is shown in table 3;
TABLE 3 execution of concurrent requests
Figure BDA0002478260010000013
Figure BDA0002478260010000021
Since only tokenId =456 but no rs =123 in _ converproximate map, data inconsistency will result, and data errors will occur; although the traditional Mainservlet (control module) performs synchronous control of concurrent requests, the SpringFilter (session filtering module) submits the local session cache to a remote dictionary service (Redis) server after the Mainservlet is executed; therefore, even if the Mainservlet controls concurrency, the final commit redis server still covers, resulting in catastrophic problems of data inconsistency in a distributed environment.
In view of the foregoing, there is a need for an improved distributed session management scheme that ensures data consistency in a distributed environment.
Disclosure of Invention
In order to overcome the problems, the invention provides a distributed session management method and a distributed session management system, wherein the synchronous control range starts from session filtering, and the acquisition, modification and submission of the session are controlled in one synchronous control through distributed synchronous locking control, so that the synchronous control of the session is realized, and the data consistency of the distributed session is ensured.
In an embodiment of the present invention, a distributed session management method is provided, where the method includes:
acquiring a plurality of requests submitted by a browser concurrently;
filtering the sessions of the requests, and performing distributed locking on the sessions after the filtering;
forwarding the first request in the locked session to a service processing layer;
processing the first request through the service processing layer to generate a first request processing result;
submitting the first request processing result to a database;
and after the submission is completed, unlocking the locked session, and forwarding a second request in the session to the service processing layer.
In another embodiment of the present invention, a distributed session management system is further provided, where the system includes: the system comprises a session filtering module, a control module, a service processing module and a database; wherein the content of the first and second substances,
the session filtering module is used for acquiring a plurality of requests which are concurrently submitted by the browser; filtering the sessions of the requests, and performing distributed locking on the sessions after the filtering;
the control module is used for forwarding the first request in the session which is locked to a service processing layer;
the service processing module is used for processing the first request through the service processing layer to generate a first request processing result;
the session filtering module is further configured to submit the first request processing result to a database;
after the submission is completed, the session which is locked is unlocked through the session filtering module, and a second request in the session is forwarded to the service processing layer through the control module.
In another embodiment of the present invention, a computer device is further proposed, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the distributed session management method when executing the computer program.
In another embodiment of the present invention, a computer-readable storage medium is also presented, which stores a computer program that, when executed by a processor, implements a distributed session management method.
The distributed session management method and the distributed session management system can enable the synchronous control range to start from session filtering, and enable the acquisition, processing and submission of the session to be in one synchronous control through distributed synchronous locking control, thereby realizing the synchronous control of the session and ensuring the data consistency of concurrent scenes in a distributed environment.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a flowchart illustrating a distributed session management method according to an embodiment of the present invention.
Fig. 2 is a schematic diagram of a distributed session management system architecture according to an embodiment of the present invention.
Fig. 3 is a flow diagram of a distributed session according to an embodiment of the invention.
Fig. 4 is a schematic structural diagram of a computer device according to an embodiment of the present invention.
Detailed Description
The principles and spirit of the present invention will be described with reference to several exemplary embodiments. It is understood that these embodiments are given only to enable those skilled in the art to better understand and to implement the present invention, and do not limit the scope of the present invention in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As will be appreciated by one skilled in the art, embodiments of the present invention may be embodied as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
According to the embodiment of the invention, a distributed session management method and a distributed session management system are provided.
The principles and spirit of the present invention are explained in detail below with reference to several representative embodiments of the invention.
Fig. 1 is a flowchart illustrating a distributed session management method according to an embodiment of the present invention. As shown in fig. 1, the method includes:
step S101, a plurality of requests submitted by the browser concurrently are obtained.
Step S102, filtering the sessions of the requests, and performing distributed locking on the sessions after filtering; the locked session allows one request to pass through at a time, while other requests in the session remain pending.
Step S103, forwarding the first request in the session to be locked to a service processing layer.
Step S104, the first request is processed through the service processing layer, and a first request processing result is generated.
Step S105, submitting the first request processing result to a database.
And step S106, after the submission is finished, unlocking the locked session, and forwarding the second request in the session to the service processing layer.
After the first request is processed, the processing logic of the second request is the same as that of the first request; the first and second requests are any one of the plurality of requests acquired in step S101, and the order is not limited to a specific order.
In one embodiment, referring to steps S104 and S105 of fig. 1, the processing steps of the second request are:
step S104', the second request is processed through the service processing layer, and a second request processing result is generated;
step S105', submitting the second request processing result to the database;
after the submission is completed, if there are unprocessed requests in the session, the locked session may be unlocked with reference to step S106, and one unprocessed request in the session is forwarded to the service processing layer, and then the processing steps of step S104 and step S105 are executed until all the requests in the session are processed.
In an embodiment, the specific process of step S104 is:
and performing service logic processing on the first request through the service processing layer, and reading, writing or updating the session data of the first request to generate a first request processing result. The business logic refers to business functions to be realized in practical application, for example, for bank application, the business logic is various banking functions, such as business function modules for login, account transfer, financing and the like; the business logics can read, write and update the session data of the user.
In one embodiment, the database is a remote dictionary service (Redis) database, which is a distributed k-v database for storing various data objects; the present invention utilizes redis to store user session data.
It should be noted that although the operations of the method of the present invention have been described in the above embodiments and the accompanying drawings in a particular order, this does not require or imply that these operations must be performed in this particular order, or that all of the operations shown must be performed, to achieve the desired results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
Having described the method of an exemplary embodiment of the present invention, the distributed session management system of an exemplary embodiment of the present invention is next described with reference to fig. 2.
The term "module" or "unit" used hereinafter may be a combination of software and/or hardware that implements a predetermined function. Although the means described in the embodiments below are preferably implemented in software, an implementation in hardware, or a combination of software and hardware is also possible and contemplated.
Based on the same inventive concept, the present invention further provides a distributed session management system, as shown in fig. 2, the system includes: a session filtering module 110, a control module 120, a service processing module 130 and a database 140; wherein, the first and the second end of the pipe are connected with each other,
a session filtering module 110, configured to obtain multiple requests concurrently submitted by a browser; filtering the sessions of the plurality of requests, and performing distributed locking on the sessions after filtering; wherein the locked session allows one request to pass through at a time, while other requests in the session remain pending.
A control module 120, configured to forward the first request in the locked session to a service processing layer.
A service processing module 130, configured to process the first request through the service processing layer, and generate a first request processing result; specifically, the module performs service logic processing on the first request through the service processing layer, and reads, writes, or updates session data of the first request to generate a first request processing result.
The session filtering module 110 is further configured to submit the first request processing result to the database 140;
after the submission is completed, the session that is locked is unlocked through the session filtering module 110, and the second request in the session is forwarded to the service processing layer through the control module 120.
In one embodiment, after the first request is processed, the second request is processed with the same logic as the first request. Therefore, the service processing module 130 is further configured to process the second request through the service processing layer to generate a second request processing result;
the session filtering module 110 is further configured to submit the second request processing result to the database 140;
further, after the submission is completed, if there are unprocessed requests in the session, the above process is repeated: unlocking the locked session using the session filtering module 110; forwarding an unprocessed one of the requests in the session to the service processing layer using the control module 120; then, the processing is performed by the service processing module 130 to generate a processing result; submitting the processing results to the database 140 through the session filtering module 110; until all requests in the session are processed.
In one embodiment, the database 140 is a remote dictionary service (Redis) database, which is a distributed k-v database for storing various data objects; the present invention utilizes redis to store user session data.
In an embodiment, because a distributed lock is added in the session filtering module 110, serial processing can be implemented on the session filtering module 110, the control module 120 and the service processing module 130, and each request is sequentially released by locking the session, so that data submitted to redis cannot be covered, and data consistency is ensured; the method can realize concurrent processing aiming at the same key in the session.
It should be noted that although several modules of the distributed session management system are mentioned in the above detailed description, such partitioning is merely exemplary and not mandatory. Indeed, the features and functionality of two or more of the modules described above may be embodied in one module according to embodiments of the invention. Conversely, the features and functions of one module described above may be further divided into embodiments by a plurality of modules.
For a clearer explanation of the distributed session management method and system, a specific embodiment is described below, but it should be noted that the embodiment is only for better explaining the present invention and is not to be construed as an undue limitation to the present invention.
Fig. 3 is a schematic flow chart of a distributed session according to an embodiment of the present invention. As shown in fig. 3, in the distributed session management architecture, the session filtering module 310, the control module 320, the service logic module 330, and the redis 340 are mainly involved; wherein the content of the first and second substances,
the session filtering module 310 (SpringFilter) is a filter for http requests, and is responsible for replacing session objects managed by containers with sessions stored by redis. The distributed lock is added in the session filtering module 310 to perform distributed locking on concurrent control on the same session, so that the session can be ensured to be executed serially when submitted to the redis 340, and the problem of data coverage is avoided.
The control module 320 (MainServlet) is a service control object of the http request, and is responsible for processing the http request sent by the browser to the server side. The module is a necessary module of all web applications, and only through the module, the transaction initiated by the user can be forwarded to the business layer for processing.
The service processing module 330 mainly implements service logic in actual application, and processes the requested service; for example, for banking applications, the functions include various banking functions, such as login, account transfer, financial management, and other business function modules, and these business logics read, write, and update session data of a user.
redis 340 (remote dictionary service) is a distributed k-v database for storing various data objects; the present invention uses redis to store user session data.
In this embodiment, referring to fig. 3, the overall process of distributed session management is as follows:
in step S301, the user initiates concurrency requests req1, req2, and req3 through the browser.
In step S302, the session filtering module 310 locks the session, and only one request is allowed to pass through each time. For example, when req1 passes, req2 and req3 wait.
In step S303, the control module 320 forwards req1 to the service processing module 330.
Step S304, the req1 reaches the service processing module 330, and the service processing module 330 reads, writes and updates the user session.
In step S305, the session filtering module 310 processes the return data response1, submits the session data, and updates the session data to redis 340.
In step S306, after the submission is completed, the session filtering module 310 is unlocked, req2 or req3 is allowed to pass through, and the logic of req1 is repeatedly executed (the request processing procedure from step S303 to step S305) until all requests are processed.
Since the session filtering module 310 locks the session, the concurrent requests can only be released one by one, for example, in step S306, if req2 is released, req3 continues to wait; based on the control mode, the synchronous control range starts from the session filtering module 310, so that the acquisition, modification and submission of the session are ensured to be in synchronous control, the processing result of each request is not covered after being submitted to the remote redis, and the data consistency of concurrent scenes in a distributed environment is realized.
Based on the aforementioned inventive concept, as shown in fig. 4, the present invention further proposes a computer device 400, which includes a memory 410, a processor 420, and a computer program 430 stored in the memory 410 and capable of running on the processor 420, wherein the processor 420 executes the computer program 430 to implement the aforementioned distributed session management method.
Based on the foregoing inventive concept, the present invention also proposes a computer-readable storage medium storing a computer program which, when executed by a processor, implements the foregoing distributed session management method.
The distributed session management method and the system can ensure that the synchronous control range starts from session filtering, and the acquisition, processing and submission of the session are in one synchronous control through distributed synchronous locking control, thereby realizing the synchronous control of the session and ensuring the data consistency of concurrent scenes in a distributed environment.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Moreover, various embodiments or examples and features of various embodiments or examples described in this specification can be combined and combined by one skilled in the art without being mutually inconsistent.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the feature. In the description of the present invention, "a plurality" means two or more unless specifically defined otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, units, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The computer readable medium described in embodiments of the present invention may be a computer readable signal medium or a computer readable storage medium or any combination of the two. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable read-only memory (CDROM). Further, the computer readable storage medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
In embodiments of the present invention, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, input method, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, radio Frequency (RF), etc., or any suitable combination of the preceding.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following technologies, which are well known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
The invention is not limited to the above alternative embodiments, and any other various forms of products can be obtained by anyone in the light of the present invention, but any changes in shape or structure thereof, which fall within the scope of the present invention as defined in the claims, fall within the scope of the present invention.

Claims (10)

1. A distributed session management method, the method comprising:
acquiring a plurality of requests concurrently submitted by a browser through a session filtering module;
filtering the sessions of the plurality of requests, and performing distributed locking on the sessions after filtering; the session filtering module is a filter of an http request and is responsible for replacing a session object managed by the container with a session stored by redis; adding a distributed lock in a session filtering module, and performing distributed locking on concurrent control on the same session, so that the session is executed serially when submitted to redis; allowing the locked session to pass one request each time, and keeping other requests in the session waiting;
forwarding the first request in the locked session to a service processing layer;
processing the first request through the service processing layer to generate a first request processing result;
submitting the first request processing result to a database;
and after the submission is completed, unlocking the locked session, and forwarding a second request in the session to the service processing layer.
2. The distributed session management method of claim 1, further comprising:
processing the second request through the service processing layer to generate a second request processing result;
submitting the second request processing result to the database;
after the completion of the submission, if the session has unprocessed requests, unlocking the locked session, and forwarding one unprocessed request in the session to the service processing layer until all the requests in the session are processed.
3. The distributed session management method according to claim 1, wherein processing the first request through the service processing layer to obtain a first request processing result includes:
and performing service logic processing on the first request through the service processing layer, and reading, writing or updating the session data of the first request to generate a first request processing result.
4. The distributed session management method of claim 1, wherein the database is a remote dictionary service database.
5. A distributed session management system, the system comprising: the system comprises a session filtering module, a control module, a service processing module and a database; wherein, the first and the second end of the pipe are connected with each other,
the session filtering module is used for acquiring a plurality of requests which are concurrently submitted by the browser; filtering the sessions of the requests, and performing distributed locking on the sessions after the filtering; the session filtering module is a filter of an http request and is responsible for replacing a session object managed by the container with a session stored by redis; adding a distributed lock in a session filtering module, and performing distributed locking on concurrent control on the same session, so that the session is executed serially when submitted to redis; the locked session allows to pass through one request each time, and other requests in the session are kept waiting;
the control module is used for forwarding the first request in the session subjected to locking to a service processing layer;
the service processing module is used for processing the first request through the service processing layer to generate a first request processing result;
the session filtering module is further configured to submit the first request processing result to a database;
after the submission is completed, the session which is locked is unlocked through the session filtering module, and a second request in the session is forwarded to the service processing layer through the control module.
6. The distributed session management system according to claim 5, wherein the service processing module is further configured to process the second request through the service processing layer to generate a second request processing result;
the session filtering module is further configured to submit the second request processing result to the database;
after the completion of the submission, if the session has unprocessed requests, unlocking the locked session by using the session filtering module; and forwarding an unprocessed request in the session to the service processing layer by using the control module until all requests in the session are processed.
7. The distributed session management system according to claim 5, wherein the service processing module is specifically configured to:
and performing service logic processing on the first request through the service processing layer, and reading, writing or updating the session data of the first request to generate a first request processing result.
8. The distributed session management system of claim 5, wherein the database is a remote dictionary service database.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method of any of claims 1 to 4 when executing the computer program.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which, when executed by a processor, implements the method of any of claims 1 to 4.
CN202010370890.0A 2020-05-06 2020-05-06 Distributed session management method and system Active CN111600940B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010370890.0A CN111600940B (en) 2020-05-06 2020-05-06 Distributed session management method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010370890.0A CN111600940B (en) 2020-05-06 2020-05-06 Distributed session management method and system

Publications (2)

Publication Number Publication Date
CN111600940A CN111600940A (en) 2020-08-28
CN111600940B true CN111600940B (en) 2022-11-11

Family

ID=72189678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010370890.0A Active CN111600940B (en) 2020-05-06 2020-05-06 Distributed session management method and system

Country Status (1)

Country Link
CN (1) CN111600940B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044404A (en) * 1997-06-20 2000-03-28 International Business Machines Corporation Apparatus, method and computer program for providing arbitrary locking modes for controlling concurrent access to server resources
CN101364230A (en) * 2008-09-24 2009-02-11 金蝶软件(中国)有限公司 Concurrent access control method and device
CN103634374A (en) * 2013-11-07 2014-03-12 华为技术有限公司 Method and device for processing concurrent access requests
CN109558218A (en) * 2018-12-04 2019-04-02 山东浪潮通软信息科技有限公司 A kind of distributed service data lock implementation method based on Redis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044404A (en) * 1997-06-20 2000-03-28 International Business Machines Corporation Apparatus, method and computer program for providing arbitrary locking modes for controlling concurrent access to server resources
CN101364230A (en) * 2008-09-24 2009-02-11 金蝶软件(中国)有限公司 Concurrent access control method and device
CN103634374A (en) * 2013-11-07 2014-03-12 华为技术有限公司 Method and device for processing concurrent access requests
CN109558218A (en) * 2018-12-04 2019-04-02 山东浪潮通软信息科技有限公司 A kind of distributed service data lock implementation method based on Redis

Also Published As

Publication number Publication date
CN111600940A (en) 2020-08-28

Similar Documents

Publication Publication Date Title
CN105260136B (en) Data read-write method and distributed memory system
US9164911B2 (en) Atomic execution over accesses to multiple memory locations in a multiprocessor system
US7548918B2 (en) Techniques for maintaining consistency for different requestors of files in a database management system
US20080281846A1 (en) High performant row-level data manipulation using a data layer interface
CN111198751B (en) Service processing method and device
US20160092488A1 (en) Concurrency control in a shared storage architecture supporting on-page implicit locks
CN103729247B (en) Data acquisition request processing method and system and server
US20180101564A1 (en) Transaction compensation for single phase resources
WO2021036253A1 (en) Method and device for executing transactions in parallel in blockchain
CN110675255B (en) Method and apparatus for concurrently executing transactions in a blockchain
CN113761294B (en) Data management method, device, storage medium and electronic equipment
CN111651464A (en) Data processing method and system and computing equipment
CN108415758B (en) Distributed transaction coordination method and device
CN108920703A (en) A kind of HTTP cache optimization method and device
CN108139927A (en) The routing based on action of affairs in online transaction processing system
US10284649B2 (en) Distributed processing system
CN111600940B (en) Distributed session management method and system
US10650021B2 (en) Managing data operations in an integrated database system
JP2013045181A (en) Load distribution device of database
JP6834715B2 (en) Update processing program, device, and method
CN113032421A (en) MongoDB-based distributed transaction processing system and method
US8402106B2 (en) Asynchronous future based API
CN110689344B (en) Method and apparatus for concurrently executing transactions in a blockchain
CN113361236A (en) Method and device for editing document
US9092216B2 (en) Transactional object container

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant