CN110008041A - A kind of message treatment method and device - Google Patents

A kind of message treatment method and device Download PDF

Info

Publication number
CN110008041A
CN110008041A CN201910236790.6A CN201910236790A CN110008041A CN 110008041 A CN110008041 A CN 110008041A CN 201910236790 A CN201910236790 A CN 201910236790A CN 110008041 A CN110008041 A CN 110008041A
Authority
CN
China
Prior art keywords
message
processed
server
data
thread
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.)
Granted
Application number
CN201910236790.6A
Other languages
Chinese (zh)
Other versions
CN110008041B (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910236790.6A priority Critical patent/CN110008041B/en
Publication of CN110008041A publication Critical patent/CN110008041A/en
Application granted granted Critical
Publication of CN110008041B publication Critical patent/CN110008041B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention provides a kind of message treatment method and devices, and wherein method includes: that first server receives the message to be processed sent by Message Queuing Middleware, and the message to be processed carries User ID;The first server utilizes the User ID, it is retrieved as the first thread of the User ID distribution, the first thread is used to handle each message that the User ID generates, the message to be processed is by the received change message of the Message Queuing Middleware, and the change message is sent when message changes in the database by second server;The first server reads the message to be processed by the first thread, and carries out multithreading locking to the message to be processed;The first server sends the message success confirmation message of the message to be processed by the first thread in newest timestamp of the timestamp for determining the message carrying to be processed earlier than the recorded data of acquisition.

Description

A kind of message treatment method and device
Technical field
The present invention relates to data processing fields, more particularly to a kind of message treatment method and device.
Background technique
Data in different data among systems libraries, due to the server chain of various uncertain factors, such as any system Time-out is connect, the inconsistent phenomenon of data is caused to happen occasionally.It is described in detail below.
The first step, user send A message to system X;Second step, system X receive the A message of user's transmission, and system X exists The x of system X1A message is written in database;Third step, when monitoring x1The state of A message in database changes, here The state such as A message that changes of A message be read or be updated, wherein the A message being updated refers to same user's hair The identical message of the content sent, the timestamp that the identical message of content carries is different, and the A of this variation is recorded using message queue Message, and this A message changed is sent to Y system;4th step, after Y system receives the A message of variation, Y system can be quasi- The standby y in Y system1The A message of this variation is written in database.But Y system is in y1The A of this variation is written in database In message process, the uncertain factor of the Network Abnormal of appearance, so that y1The A that this variation is written in database not successfully disappears Breath, the A message of this variation can be considered to belong to the message that do not consumed at this time, return to the last of message queue.
Be illustrated so that system is closed in payment as an example: user sends a request payment message to payment settle accounts calculation system, Payment settle accounts calculation system receives the request payment message of user's transmission, in the x of payment settle accounts calculation system1Write-in is asked in database Seek payment message;When monitoring x1Write request payment message is updated in database, using message queue according to " advanced elder generation Principle out " records the request payment message of this variation, and this request payment message changed is sent to payment authentication System can prepare the number in payment authentication system after this payment authentication system receives the request payment message of this variation According to the request payment message that this variation is written in library.The request payment message of this variation is written in payment authentication system, The uncertain factor of the Network Abnormal of appearance, so that the request branch of this variation is not written in the database of payment authentication system Message is paid, the request payment message of this variation can be considered to belong to the message that do not consumed at this time, return to message queue It is last.
However, inventor has found in the implementation of the present invention, the prior art can not only have the y of Y system1Database With the x of system X1The inconsistent problem of message in database, moreover, because message queue can be according to the principle of " first in first out " Storage message is consumed, then other message of advanced message queue are first disappeared before A message in current message queue Take, then goes to consume this A message.
In conclusion the message that can have the not database of homologous ray in the prior art is inconsistent and handles message The problem of entanglement.
Summary of the invention
The embodiment of the present invention is designed to provide a kind of message treatment method and device, in the prior art can to solve There are problems that the message of the not database of homologous ray is inconsistent and entanglement occurs for processing message.Specific technical solution is as follows:
In a first aspect, present invention implementation provides a kind of message treatment method, comprising:
First server receives the message to be processed sent by Message Queuing Middleware, and the message to be processed carries user ID;
The first server utilizes the User ID, is retrieved as the first thread of User ID distribution, and described first Thread is used to handle each message that the User ID generates, and the message to be processed is received by the Message Queuing Middleware Change message, the change message are sent when message changes in the database by second server;
The first server reads the message to be processed by the first thread, and to the message to be processed into Row multithreading locks;
The first server is in recorded data of the timestamp earlier than acquisition for determining the message carrying to be processed Newest timestamp when, the message success confirmation message of the message to be processed is sent by the first thread.
Further, the first server is determining the timestamp of the message carrying to be processed earlier than acquisition When recording the newest timestamp of data, the message success confirmation message of the message to be processed is sent by the first thread, Include:
The first server obtains recorded data in local cache;
The first server determine timestamp that the message to be processed carries earlier than in the local cache When recording the newest timestamp of data, successfully confirmed by the consumption that the first thread sends the message to be processed.
Further, the first server is determining the timestamp of the message carrying to be processed earlier than acquisition When recording the newest timestamp of data, the message success confirmation message of the message to be processed is sent by the first thread, Include:
The first server obtains recorded data in local cache;
The first server is no earlier than in the local cache in the timestamp for determining that the message to be processed carries When the newest timestamp of recorded data, the first server obtains data and updates recorded data in table, and the data are more New table is used to record the tables of data of the operation log of each database;
The first server is determining the timestamp of the message carrying to be processed earlier than in the data update table When the newest timestamp of recorded data, the first server sends disappearing for the message to be processed by the first thread Take and successfully confirms.
Further, it obtains data in the first server to update in table after recorded data, the method is also wrapped It includes:
The first server is no earlier than the data update table in the timestamp for determining that the message to be processed carries When the newest timestamp of middle recorded data, the message to be processed is written by the first service by the first server In the database of device;
The first server in the database for determining the message to be processed first server is written at When function, the consumption for sending the message to be processed successfully confirms.
Further, during in the database of first server described in said write, comprising:
The first server is being determined to lose in the first server is written in the message to be processed database When losing, the abandonment for sending the message to be processed confirms consumption.
Second aspect, present invention implementation provide a kind of message processing apparatus, are applied to first server, at the message Managing device includes:
Receiving module, for receiving the message to be processed sent by Message Queuing Middleware, the message to be processed is carried User ID;
Module is obtained, for utilizing the User ID, is retrieved as the first thread of the User ID distribution, the First Line Journey is used to handle each message that the User ID generates, and the message to be processed is by the received change of the Message Queuing Middleware Change message, the change message is sent when message changes in the database by second server;
Read module, for by the first thread reading message to be processed, and to the message to be processed into Row multithreading locks;
First processing module, in record number of the timestamp earlier than acquisition for determining the message carrying to be processed According to newest timestamp when, the message success confirmation message of the message to be processed is sent by the first thread.
Further, the first processing module, is used for:
Obtain recorded data in local cache;
Determine timestamp that the message to be processed carries earlier than in the local cache recorded data it is newest When timestamp, successfully confirmed by the consumption that the first thread sends the message to be processed.
Further, the first processing module, is used for:
Obtain recorded data in local cache;
Determining that timestamp that the message to be processed carries is no earlier than in the local cache recorded data most When new timestamp, obtains data and update recorded data in table, the data update table is used to record the operation day of each database The tables of data of will;
Determining the timestamp of the message carrying to be processed most earlier than recorded data in the data update table When new timestamp, successfully confirmed by the consumption that the first thread sends the message to be processed.
Further, described device further include:
Second processing module, for updating in table after recorded data obtaining data, determine it is described to be processed The timestamp that message carries is when being no earlier than the newest timestamp of recorded data in the data update table, to be processed disappears described Breath is written in the database of the first server;
Sending module, for the success in the database for determining the message to be processed first server is written When, the consumption for sending the message to be processed successfully confirms.
Further, the sending module, is also used to:
Determine to be written the message to be processed fail in the database of the first server when, send it is described to The abandonment for handling message confirms consumption.
The third aspect, present invention implementation provide a kind of electronic equipment, including processor, communication interface, memory and logical Believe bus, wherein processor, communication interface, memory complete mutual communication by communication bus;
Memory, for storing computer program;
Processor when for executing the program stored on memory, realizes method and step described in first aspect.
Fourth aspect, present invention implementation provide a kind of computer readable storage medium, the computer-readable storage medium Instruction is stored in matter, when run on a computer, so that computer executes any method of above-mentioned first aspect.
5th aspect, present invention implementation additionally provides a kind of computer program product comprising instruction, when it is in computer When upper operation, so that computer executes any method of above-mentioned first aspect.
A kind of message treatment method and device provided in an embodiment of the present invention, first server reception are sent by middleware Message to be processed, the User ID carried using message to be processed are retrieved as the first thread of User ID distribution, and pass through first Thread reads message to be processed, and carries out multithreading locking to message to be processed;In the time for determining that message to be processed carries When stabbing the newest timestamp earlier than the recorded data of acquisition, successfully confirmed by the message that first thread sends message to be processed Message.
It can be seen that carrying out handling message to be processed using the same first thread for same user, and by multi-thread Cheng Suo avoids same message to be processed multi-thread so that first thread handles each message of the User ID of same message to be processed Journey uses, and processing message entanglement occurs;Also, in record number of the timestamp earlier than acquisition for determining message carrying to be processed According to newest timestamp when, without by message to be processed write-in first server database in, but by first thread hair Send the message success confirmation message of message to be processed.Compared to the prior art, the processing result of message to be processed is avoided to cover most The recorded data of new timestamp is consumed as a result, avoiding processing message that entanglement occurs;In addition, first server obtains Data are recorded, the being consistent property of data of first server and second server can be made.
Certainly, implement any of the products of the present invention or method it is not absolutely required at the same reach all the above excellent Point.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below There is required attached drawing in technical description to be briefly described.
Fig. 1 is the flow diagram of message treatment method provided in an embodiment of the present invention;
Fig. 2 is the flow diagram that the embodiment of the present invention handles message to be processed;
Fig. 3 is the structural schematic diagram of the message processing apparatus of the embodiment of the present invention;
Fig. 4 is the structural schematic diagram of the message handling system of the embodiment of the present invention;
Fig. 5 is the structural schematic diagram of electronic equipment provided in an embodiment of the present invention.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention is described.
The message that can have the not database of homologous ray for the prior art is inconsistent and entanglement occurs for processing message Problem, the embodiment of the present invention provide a kind of message treatment method and device, complete Message Processing using following steps:
First server reception is retrieved as by the message to be processed that middleware is sent using the User ID of message to be processed The first thread of User ID distribution, and message to be processed is read by first thread, and multithreading is carried out to message to be processed It locks;When determining the newest timestamp of timestamp that message to be processed carries earlier than the recorded data of acquisition, by the One thread sends the message success confirmation message of message to be processed.
It can be seen that carrying out handling message to be processed by the same first thread for same user, and by multi-thread Cheng Suo avoids same message to be processed multi-thread so that first thread handles each message of the User ID of same message to be processed Journey uses, and processing message entanglement occurs;Also, in record number of the timestamp earlier than acquisition for determining message carrying to be processed According to newest timestamp when, without by message to be processed write-in first server database in, but by first thread hair Send the message success confirmation message of message to be processed.Compared to the prior art, the processing result of message to be processed is avoided to cover most The recorded data of new timestamp is consumed as a result, avoiding processing message that entanglement occurs;In addition, first server obtains Data are recorded, the being consistent property of data of first server and second server can be made.
A kind of message treatment method provided in an embodiment of the present invention is introduced first below.
Referring to Fig. 1, Fig. 1 is the flow diagram of message treatment method provided in an embodiment of the present invention.The embodiment of the present invention Provided message treatment method, may include steps of:
Step 110, first server receives the message to be processed sent by Message Queuing Middleware, and message to be processed carries User ID.
When message changes in database of the Message Queuing Middleware for recording second server, the variation of record disappears Breath.This Message Queuing Middleware can be message queue (Message Queue, abbreviation MQ) middleware.This MQ middleware It can be according to the principle message to be processed of " first in first out ".At present by more Message Queuing Middleware include RabbitMQ, RocketMQ, ActiveMQ, Kafka, ZeroMQ, MetaMQ etc..Final data consistency is achieved.Message to be processed passes through MQ middleware reliable delivery retries the message of abandoned confirmation consumption, until success on the basis of guaranteeing idempotence.
Wherein, the database of the second server of the embodiment of the present invention can be identical with the database of first server, the The database of two servers can also be different with the database of first server, and the database for second server and The database of one server is without limitation.In addition, the quantity of database is also without limitation, the quantity of database can be according to Family demand is configured.These databases also can store the identical data in part, is supplied to different business and uses.Example Property, the database of second server can be, but not limited to be: MySQL database, the database of first server can with but it is unlimited Then: Hbase database.Second server can be the server in addition to first server in other servers.Second clothes " second " and " first " in first server in business device, is not do restriction sequentially for Differentiated Services device.
First server can be, but not limited to be to obtain variation after message changes in the database of second server Message, and the server of this change message will be written.This server includes the database of first server, this first The database of server is the position for recording change message, and change message is written to the database of this first server, For the being consistent property of data in the database with second server.
Above-mentioned message to be processed can be by the received change message of Message Queuing Middleware, and the change message is to pass through It is sent when message changes in the database of second server.Wherein, second server is monitored by second server When message changes in database, the realization process for sending change message can be as follows but not limited to this: with second service In the case that the user terminal that device interacts is sent to the message of second server, when second server receives message, by Two servers will be in the database of message write-in second server.It is monitored in the database of second server by second server When message changes, change message is sent to Message Queuing Middleware, so that Message Queuing Middleware records variation in time and disappears Breath.When message changing in the database of second server in this way, change message can be determined in time, and by message Queue middleware records change message.
Also, it when the database of second server is MySQL database, is monitored by second server
Sending change message when message changes in the database of second server further comprises: by second server It monitors when the message in the binlog log of the MySQL database of second server changes and sends change message.Wherein, Binlog log all has updated data or the potential all sentences for having updated data for recording.
Without limitation to the quantity of above-mentioned message to be processed.Also, second server can refer to except first server with Outer server belongs to the guarantor of the embodiment of the present invention as long as first server and second server are able to carry out communication interaction Protect range.Illustratively, the server that first server can be, but not limited to as Verification System.The server of Verification System in this way Backend synchronization data, the data for guaranteeing that third party sees are with uniformity.
Step 110 is particularly but not limited to include: the message in the database for monitoring second server by second server After sending change message to Message Queuing Middleware when changing, receives and change message is sent by Message Queuing Middleware.
After step 110, whether the method also includes: first servers to carry out Message Processing, and feed back and confirm and disappear Take the result of message.For example, by success in the database of message to be processed write-in first server, first server feedback acknowledgment Consume message;For another example, will fail in the database of message to be processed write-in first server, first server feedback is abandoned true Recognize consumption.In this way can by feed back whether confirm consumption message as a result, avoiding the same message to be processed of Double Spending.
Step 120, first server utilizes User ID, is retrieved as the first thread of User ID distribution, and first thread is used for Each message that the User ID of message to be processed generates is handled, message to be processed is the received change message of Message Queuing Middleware, Change message is sent when message changes in the database by second server.The wherein User ID of message to be processed Each message generated includes message to be processed.
In above-mentioned steps 110, the user terminal interacted with second server is by use, can identify using this user The mark of the user identity at end, that is, User ID, wherein User ID can be, but not limited to refer to user account.It in this way can be with The message which user terminal is sent is grasped, in order to which the later period carries out processing message.Message to be processed for this step also include to The User ID for handling message, by the User ID of this message to be processed, convenient is the User ID of this message to be processed, distribution One thread, each message that the User ID of this thread process message to be processed generates, this thread are properly termed as first thread.
Different threads handle the message of same User ID, it may occur that processing message entanglement is described as follows:
Assuming that the execution process that first server needs is that first thread first handles message, then by first thread as a result, As the input of the second thread, the second thread processes again, obtains final result, and such final result is the knot of the second thread Fruit.But physical presence thread oneself factor, first thread and the second thread handle message simultaneously, the second thread first obtain as a result, Then first thread obtain again as a result, in this way first thread result override the second thread as a result, such final result is First thread as a result, final result malfunction.
Specific application example is exemplified below:
Assuming that the execution process that first server needs is first to receive request payment message by first thread, requested The whether successful result of the request of payment message;The request of payment message will be requested whether successfully as a result, as the second line again The input of journey;Second thread follows up again requests whether the request of payment message successfully notifies to disappear as a result, determining whether to send Breath;Wherein, the request success for requesting payment message can send the successful notification message of request of request payment message, request branch The request for paying message is failed, will not send a notification message, the result of such second thread includes: whether to send a notification message. But physical presence thread oneself factor, will lead to first thread and the second thread can handle request payment message, the second line simultaneously It is that journey first obtains the result is that not sent notification message, then first thread receives request payment message again, obtain request payment and disappear The request of breath is successfully as a result, the successful result of request of request payment message in this way can cover the knot of not sent notification message Fruit causes result to malfunction.
Therefore, in order to solve the message that above-mentioned different threads handle same User ID, it may occur that processing message entanglement is asked Topic, the embodiment of the present invention, a User ID distributes a thread, but a thread can handle the message of not User ID.In this way It does not need thread and determines processing sequence, by using each thread of multithreading lock control.
For first thread, what the User ID that first thread can handle different message to be processed respectively generated respectively disappears Breath, still, all message of the User ID of a message to be processed have been handled by same first thread, thus are avoided that different threads The speed for handling the User ID of same message to be processed is different, and causes to handle message generation entanglement.
The acquisition modes of the first thread of the User ID distribution for being retrieved as message to be processed in this step 120:
In one implementation, according to the User ID of message to be processed, from having distributed in thread and finding and whether need Manage the thread of the User ID of message;If from the thread for finding the User ID of message to be processed has been distributed in thread, obtain to The thread for handling the User ID of message, as first thread;If from the user for not finding message to be processed has been distributed in thread The thread of ID then distributes a first thread for the User ID of message to be processed.Wherein, thread has been distributed for recording each quilt It distributes in thread and handles the User ID of message.
Step 130, first server reads the message to be processed by first thread, and carries out to message to be processed more Thread locks.It is locked in this way by multithreading, prevent multithreading while handling the same data in the database of first server.
This step 130 is locked by multithreading in this way, is prevented when the database of first server is Hbase database Multithreading handles the same column data in the Hbase database of first server simultaneously.
Step 140, first server is in recorded data of the timestamp earlier than acquisition for determining message carrying to be processed Newest timestamp when, the message success confirmation message of message to be processed is sent by the first thread.
Wherein, recorded data can only include newest timestamp, also may include other record data and newest time Stamp.Recorded data can be, but not limited to be the data in first server, be also possible to the data in second server, It can also be the data independently in first server and second server.These recorded datas can be recorded on data In table, it is also possible to record in the database, it is not limited here.Wherein, tables of data can be individual data table, or Each disparate databases establish multiple tables of data.It is illustrated below by data update table of tables of data.
In order to obtain recorded data, the method for the embodiment of the present invention further include:
From independently of the server other than first server and second server, the number in a data update table is obtained According to as recorded data, the data update table is used to record the behaviour of each database of first server and second server Make the tables of data of log.Recorded data in these data update tables is each data from first server and second server Obtain what operation log was established in library.
This step can be, but not limited to include: to send to independently of the server other than first server and second server For obtaining the request of data update table;It receives by independently of the server feedback other than first server and second server Data update table.It can obtain data from independently of the server other than first server and second server in this way and update table, Reduce the storing data of first server and second server.
In order to obtain recorded data, the method for the embodiment of the present invention further include:
From the data obtained in second server in a data update table, as recorded data.
This step can be, but not limited to include: the request sent to second server for obtaining data update table;It receives Table is updated by the data of second server feedback.Data update table can be obtained from second server in this way, can directly be read Complete data update all data in table.
In order to obtain recorded data, the method for the embodiment of the present invention further include:
Data are obtained from the local cache of first server, as recorded data.Local cache can store in this way Data update the partial data in table, it is possible to reduce directly read the data volume of data update table.
Shown in Figure 2 in order to handle message to be processed, this step 140 can be using following at least one Kind implementation is realized:
In one implementation, in order to solve the case where repeatedly retrying if there is a message to be processed, Bu Nengbao Demonstrate,prove the succession of message to be processed, it may occur however that legacy data covers the problem of new data, and step 141, first server obtains this Recorded data in ground caching.Local cache keeps in the newest timestamp of recorded data, and first server execution can be improved Time reduces input/output (Input/Output, the abbreviation I/O) delay that access database generates.
In this step 141, since local cache record data update the partial data in table, cannot may disposably it judge Newest timestamp of the timestamp that complete message to be processed carries earlier than recorded data in local cache.
Step 142, whether first server determines timestamp that message to be processed carries earlier than having recorded in local cache The newest timestamp of data;If so, namely determine timestamp that message to be processed carries earlier than in local cache When recording the newest timestamp of data, illustrate that message to be processed is stale messages, the number that first server is written again can not had to According in library, step 143 is executed;If not, namely determining to determine that the timestamp of message carrying to be processed is no earlier than local In caching when the newest timestamp of recorded data, illustrate that message to be processed is not stale messages, needs to prepare the first clothes of write-in It is engaged in the database of device, executes step 144.Data update the newest timestamp that table retains data in this way, judge recorded data Newest timestamp, the legacy data before the newest timestamp of recorded data abandons without exception, that is, stale messages are without exception It abandons, the database without first server is written again suffers.
Step 143, successfully confirmed by the consumption that first thread sends message to be processed.So directly by local slow It deposits, message to be processed is handled, reduce the data volume for directly updating from data and searching data in table.
In another implementation, step 144, first server obtains recorded data in data update table, data Update table is used to record the tables of data of the operation log of each database.It is not later than in this way in local cache and determines to be processed disappear The recorded data of breath, can search recorded data in data update table, and the data of lookup are more comprehensive.
Step 145, whether first server determines timestamp that message to be processed carries earlier than having remembered in data update table Record the newest timestamp of data;If so, namely determining the timestamp of message carrying to be processed earlier than data update table The newest timestamp of middle recorded data illustrates that message to be processed is stale messages, can not have to that first server is written again In database, 146 are thened follow the steps;If not, being namely no earlier than data in the timestamp for determining that message to be processed carries The newest timestamp for updating recorded data in table, illustrates that message to be processed is not stale messages, needs to prepare the first clothes of write-in It is engaged in the database of device, thens follow the steps 147;
Step 146, first server is successfully confirmed by the consumption that first thread sends message to be processed.
Step 147, first server will be in the database of message to be processed write-in first server;
Step 148, first server determines success in the database whether message to be processed is written to first server;Such as Fruit is, that is, the success in the database for determining message write-in first server to be processed, thens follow the steps 149;If It is no, that is, fail in the database for determining message write-in first server to be processed, then follow the steps 150.
148 first server of this step is determined whether message to be processed is written in the database of first server successfully Step further comprises: receiving the successful processing result of write-in, determines the data of message to be processed write-in first server Success in library;It is not received by the successful processing result of write-in within a preset time, it is determined that message to be processed is written first Fail in the database of server, wherein preset time can be configured according to user demand.It in this way can be with first server By processing result, success in the database whether message to be processed is written to first server is determined.
Step 149, the consumption for sending message to be processed successfully confirms.
Step 150, the abandonment confirmation consumption for sending message to be processed, then rejoin to be processed disappear by message-oriented middleware Message to be processed is consumed in breath, waiting next time.
In the embodiment of the present invention, same user is carried out to handle message to be processed by the same first thread, and lead to Excessive thread lock avoids same message to be processed so that first thread handles each message of the User ID of same message to be processed It is utilized by multiple threads, processing message entanglement occurs;Also, determining the timestamp of message carrying to be processed earlier than acquisition When recording the newest timestamp of data, without message to be processed being written in the database of first server, but pass through first Thread sends the message success confirmation message of message to be processed.Compared to the prior art, the processing result of message to be processed is avoided Cover being consumed as a result, avoiding processing message that entanglement occurs for the recorded data of newest timestamp;In addition, first server obtains The recorded data taken can make the being consistent property of data of first server and second server.It introduces and has recorded in this way The newest timestamp and data of data update table and combine, and carry out local verification by message-oriented middleware and first server, guarantee The final consistency of data.
The concrete application scene of the embodiment of the present invention, is illustrated by taking the first server in payment authentication system as an example:
Firstly, being illustrated so that system is closed in payment as an example, there is asking for this variation that do not consumed in the related technology Payment message is sought, it is this time being consumed as a result, the update that the request payment message that can override this variation of update has had As a result, will lead to repeatedly request payment the problem of: if it exists this variation request payment message be updated, then updating This variation request payment message be this variation request payment message after be added in message queue.But mesh The request payment message of this preceding variation is not consumed, and the request payment message of this variation can be returned message queue again Finally.And the request payment message of this variation of update is consumed according to the principle storage message of " first in first out ", Have updating as a result, waiting the sequencing according to message in message queue, then goes this variation that do not consumed before executing Request payment message, then do not consumed this variation request payment message, this time consumed as a result, can override The update that the request payment message of this variation updated has had is paid as a result, will lead to repeatedly request.
Secondly, to solve the above-mentioned problems, the embodiment of the present invention can be using the realization of the following first step to the 7th step Journey will not cause to locate so that newest result will not be override by the last obtained result of request payment message of queue It manages message and entanglement occurs, less will lead to repeatedly request payment.
The first step, user send a request payment message to payment settle accounts calculation system;
Second step, payment settle accounts calculation system receive the request payment message of user's transmission, in payment settle accounts calculation system x1Write request payment message in database;
Third step, when monitoring x1Write request payment message is updated in database, by message queue according to " advanced elder generation Principle out " records this and is updated request payment message, this is updated request payment message and is sent to payment authentication system First server in system;
4th step, first server reception are updated request payment message by this that Message Queuing Middleware is sent, this A request payment message carries User ID;
5th step, first server utilize User ID, are retrieved as the first thread of User ID distribution;
6th step, first server read this by first thread and are updated request payment message, and to this by more New request payment message carries out multithreading locking;
7th step, first server determine this be updated request payment message carry timestamp earlier than acquisition When the newest timestamp of the request payment message in recorded data, the message success of message to be processed is sent by first thread Confirmation message.The timestamp of request payment message carrying is updated earlier than the request payment message in the recorded data of acquisition Newest timestamp, illustrating that this is updated request payment message is stale messages, has existed and is updated request payment than this The request payment message of information updating, for convenience of description, referred to herein as newest request payment message, and newest request branch It pays message to be consumed, and has had newest result.
It follows that this is updated request payment message in the database for being written in payment authentication system not successfully before In, that is, this, which is updated request payment message, can be considered to belong to the message that do not consumed, be returned to message queue most Afterwards.Due to newest request payment message and the last request payment message of queue is returned to, is according to " advanced elder generation respectively Principle storage out ", newest request payment message is consumed, and has had the result updated;Queue is read again most Request payment message afterwards, newest time of the timestamp that the last request payment message of this queue carries earlier than record data When stamp, in the database without last request payment message write-in first server will be arranged, that is, do not have to consume again again, The request payment message that do not consumed before, result newest in this way will not be obtained by the last request payment message of queue As a result it overrides, will not cause to handle message generation entanglement.
It continues with and message processing apparatus provided in an embodiment of the present invention is introduced.
Shown in 3, Fig. 3 is the structural schematic diagram of the message processing apparatus of the embodiment of the present invention.The embodiment of the present invention mentions For message processing apparatus, it is applied to first server, the message processing apparatus includes:
Receiving module 21, for receiving the message to be processed sent by Message Queuing Middleware, the message to be processed is taken Band User ID;
Module 22 is obtained, for utilizing the User ID, is retrieved as the first thread of User ID distribution, described first Thread is used to handle each message that the User ID generates, and the message to be processed is received by the Message Queuing Middleware Change message, the change message are sent when message changes in the database by second server;
Read module 23, for reading the message to be processed by the first thread, and to the message to be processed Carry out multithreading locking;
First processing module 24, in record of the timestamp earlier than acquisition for determining the message carrying to be processed When the newest timestamp of data, the message success confirmation message of the message to be processed is sent by the first thread.
In the embodiment of the present invention, same user is carried out to handle message to be processed by the same first thread, and lead to Excessive thread lock avoids same message to be processed so that first thread handles each message of the User ID of same message to be processed It is utilized by multiple threads, processing message entanglement occurs;Also, determining the timestamp of message carrying to be processed earlier than acquisition When recording the newest timestamp of data, without message to be processed being written in the database of first server, but pass through first Thread sends the message success confirmation message of message to be processed.Compared to the prior art, the processing result of message to be processed is avoided Cover being consumed as a result, avoiding processing message that entanglement occurs for the recorded data of newest timestamp.
In one possible implementation, the first processing module, is used for:
Obtain recorded data in local cache;
Determine timestamp that the message to be processed carries earlier than in the local cache recorded data it is newest When timestamp, successfully confirmed by the consumption that the first thread sends the message to be processed.
In one possible implementation, the first processing module, is used for:
Obtain recorded data in local cache;
Determining that timestamp that the message to be processed carries is no earlier than in the local cache recorded data most When new timestamp, obtains data and update recorded data in table, the data update table is used to record the operation day of each database The tables of data of will;
Determining the timestamp of the message carrying to be processed most earlier than recorded data in the data update table When new timestamp, successfully confirmed by the consumption that the first thread sends the message to be processed.
In one possible implementation, described device further include:
Second processing module, for updating in table after recorded data obtaining data, determine it is described to be processed The timestamp that message carries is when being no earlier than the newest timestamp of recorded data in the data update table, to be processed disappears described Breath is written in the database of the first server;
Sending module, for the success in the database for determining the message to be processed first server is written When, the consumption for sending the message to be processed successfully confirms.
In one possible implementation, the sending module, is also used to:
Determine to be written the message to be processed fail in the database of the first server when, send it is described to The abandonment for handling message confirms consumption.
In the embodiment of the present invention, same user is carried out to handle message to be processed by the same first thread, and lead to Excessive thread lock avoids same message to be processed so that first thread handles each message of the User ID of same message to be processed It is utilized by multiple threads, processing message entanglement occurs;Also, determining the timestamp of message carrying to be processed earlier than acquisition When recording the newest timestamp of data, without message to be processed being written in the database of first server, but pass through first Thread sends the message success confirmation message of message to be processed.Compared to the prior art, the processing result of message to be processed is avoided Cover being consumed as a result, avoiding processing message that entanglement occurs for the recorded data of newest timestamp;In addition, first server obtains The recorded data taken can make the being consistent property of data of first server and second server.It introduces and has recorded in this way The newest timestamp and data of data update table and combine, and carry out local verification by message-oriented middleware and first server, guarantee The final consistency of data.
Shown in Figure 4, the embodiment of the present invention also provides a kind of data transmission system, and the data transmission system includes:
Assuming that the quantity of second server is one, this second server is known as second server, second server In database be MySQL database 31, the first server 33 of Verification System, the database in first server is Hbase Database 35;Message Queuing Middleware is MQ middleware 32;Recorded data is from independently of first server and second service What the server other than device obtained, it will be independent of the server other than first server and second server, referred to as third service Device.
The user terminal interacted with second server sends message to second server;
Second server, receives the message that the user terminal interacted with second server is sent, and message is written second In the database of server, and when monitoring that message changes in the MySQL database of second server, change message is sent To Message Queuing Middleware;
Message Queuing Middleware records change message, and sends change message to first server;
First server receives the message to be processed sent by Message Queuing Middleware, and message to be processed carries User ID; First server utilizes User ID, is retrieved as the first thread of User ID distribution, and first thread is used to handle User ID generation Each message, message to be processed are by the received change message of Message Queuing Middleware, and change message is by second server It is sent when message changes in database;First server reads message to be processed by first thread, and to be processed Message carries out multithreading locking;First server is in record number of the timestamp earlier than acquisition for determining message carrying to be processed According to newest timestamp when, the message success confirmation message of message to be processed is sent by first thread;Determine it is to be processed First server will be wait locate when the timestamp that message carries is no earlier than the newest timestamp of recorded data in data update table 34 In the Hbase database 35 for managing message write-in first server;First server, which is determined, is written first service for message to be processed Success, the consumption for sending message to be processed successfully confirm in the Hbase database 35 of device.
It is the structural schematic diagram of the electronic equipment of the embodiment of the present invention referring to Fig. 5, Fig. 5.The embodiment of the invention also provides A kind of electronic equipment, including processor 41, communication interface 42, memory 43 and communication bus 44, wherein processor 41, communication Interface 42, memory 43 complete mutual communication by communication bus 44,
Memory 43, for storing computer program;
Processor 41 when for executing the program stored on memory 43, realizes following steps:
First server receives the message to be processed sent by Message Queuing Middleware, and the message to be processed carries user ID;
The first server utilizes the User ID, is retrieved as the first thread of User ID distribution, and described first Thread is used to handle each message that the User ID generates, and the message to be processed is received by the Message Queuing Middleware Change message, the change message are sent when message changes in the database by second server;
The first server reads the message to be processed by the first thread, and to the message to be processed into Row multithreading locks;
The first server is in recorded data of the timestamp earlier than acquisition for determining the message carrying to be processed Newest timestamp when, the message success confirmation message of the message to be processed is sent by the first thread.
The communication bus that above-mentioned electronic equipment is mentioned can be Peripheral Component Interconnect standard (Peripheral Component Interconnect, abbreviation PCI) bus or expanding the industrial standard structure (Extended Industry Standard Architecture, abbreviation EISA) bus etc..The communication bus can be divided into address bus, data/address bus, control bus etc.. For convenient for for, be only with a thick line in figure, but for only a bus or a type of bus.
Communication interface is for the communication between above-mentioned electronic equipment and other equipment.
Memory may include random access memory (Random Access Memory, abbreviation RAM), also may include Nonvolatile memory (Non-Volatile Memory, abbreviation NVM), for example, at least a magnetic disk storage.Optionally, it deposits Reservoir can also be that at least one is located remotely from the storage device of aforementioned processor.
Above-mentioned processor can be general processor, including central processing unit (Central Processing Unit, CPU), network processing unit (Network Processor, abbreviation NP) etc.;It can also be digital signal processor (Digital Signal Processing, abbreviation DSP), specific integrated circuit (Application Specific Integrated Circuit, abbreviation ASIC), field programmable gate array (Field-Programmable Gate Array, abbreviation FPGA) or Person other programmable logic device, discrete gate or transistor logic, discrete hardware components.
Method provided in an embodiment of the present invention can be applied to electronic equipment.Further, which can be with are as follows: platform Formula computer, portable computer, intelligent mobile terminal, server etc..Be not limited thereto, it is any may be implemented it is of the invention Electronic equipment all belongs to the scope of protection of the present invention.
In another embodiment provided by the invention, a kind of computer readable storage medium is additionally provided, which can It reads to be stored with instruction in storage medium, when run on a computer, so that computer executes any institute in above-described embodiment The message treatment method stated.
In another embodiment provided by the invention, a kind of computer program product comprising instruction is additionally provided, when it When running on computers, so that computer executes any message treatment method in above-described embodiment.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or any combination thereof real It is existing.When implemented in software, it can entirely or partly realize in the form of a computer program product.The computer program Product includes one or more computer instructions.When loading on computers and executing the computer program instructions, all or It partly generates according to process or function described in the embodiment of the present invention.The computer can be general purpose computer, dedicated meter Calculation machine, computer network or other programmable devices.The computer instruction can store in computer readable storage medium In, or from a computer readable storage medium to the transmission of another computer readable storage medium, for example, the computer Instruction can pass through wired (such as coaxial cable, optical fiber, number from a web-site, computer, server or data center User's line (Digital Subscriber Line, abbreviation DSL) or wireless (such as infrared, wireless, microwave etc.) mode are to another A web-site, computer, server or data center are transmitted.The computer readable storage medium can be computer Any usable medium that can be accessed either includes the data such as one or more usable mediums integrated server, data center Store equipment.The usable medium can be magnetic medium, and (for example, floppy disk, hard disk, tape), optical medium are (for example, high density Digital video disk (Digital Video Disc, abbreviation DVD) or semiconductor medium (such as solid state hard disk (Solid State Disk, abbreviation SSD)) etc..
It should be noted that, in this document, relational terms such as first and second and the like are used merely to a reality Body or operation are distinguished with another entity or operation, are deposited without necessarily requiring or implying between these entities or operation In any actual relationship or order or sequence.Moreover, the terms "include", "comprise" or its any other variant are intended to Non-exclusive inclusion, so that the process, method, article or equipment including a series of elements is not only wanted including those Element, but also including other elements that are not explicitly listed, or further include for this process, method, article or equipment Intrinsic element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that There is also other identical elements in process, method, article or equipment including the element.
Each embodiment in this specification is all made of relevant mode and describes, same and similar portion between each embodiment Dividing may refer to each other, and each embodiment focuses on the differences from other embodiments.Especially for device/ For electronic equipment/storage medium embodiment/computer program product comprising instruction, implement since it is substantially similar to method Example, so being described relatively simple, the relevent part can refer to the partial explaination of embodiments of method.
The foregoing is merely illustrative of the preferred embodiments of the present invention, is not intended to limit the scope of the present invention.It is all Any modification, equivalent replacement, improvement and so within the spirit and principles in the present invention, are all contained in protection scope of the present invention It is interior.

Claims (11)

1. a kind of message treatment method characterized by comprising
First server receives the message to be processed sent by Message Queuing Middleware, and the message to be processed carries User ID;
The first server utilizes the User ID, is retrieved as the first thread of the User ID distribution, the first thread Each message generated for handling the User ID, the message to be processed is by the received variation of the Message Queuing Middleware Message, the change message are sent when message changes in the database by second server;
The first server reads the message to be processed by the first thread, and carries out to the message to be processed more Thread locks;
The first server determine timestamp that the message to be processed carries earlier than acquisition recorded data most When new timestamp, the message success confirmation message of the message to be processed is sent by the first thread.
2. the method as described in claim 1, which is characterized in that the first server is determining that the message to be processed takes The timestamp of band earlier than the recorded data of acquisition newest timestamp when, described to be processed disappear is sent by the first thread The message success confirmation message of breath, comprising:
The first server obtains recorded data in local cache;
The first server is determining timestamp that the message to be processed carries earlier than having recorded in the local cache When the newest timestamp of data, successfully confirmed by the consumption that the first thread sends the message to be processed.
3. the method as described in claim 1, which is characterized in that the first server is determining that the message to be processed takes The timestamp of band earlier than the recorded data of acquisition newest timestamp when, described to be processed disappear is sent by the first thread The message success confirmation message of breath, comprising:
The first server obtains recorded data in local cache;
The first server is no earlier than in the local cache in the timestamp for determining the message carrying to be processed have been remembered When recording the newest timestamp of data, the first server obtains data and updates recorded data in table, and the data update table For recording the tables of data of the operation log of each database;
The first server is determining timestamp that the message to be processed carries earlier than having remembered in the data update table When recording the newest timestamp of data, the first server by the first thread send the consumption of the message to be processed at Function confirmation.
4. method as claimed in claim 3, which is characterized in that obtain in data update table and recorded in the first server After data, the method also includes:
The first server is no earlier than in the data update table in the timestamp for determining that the message to be processed carries When recording the newest timestamp of data, the message to be processed is written by the first server by the first server In database;
The first server when determining to be written the message to be processed in the database of the first server success, The consumption for sending the message to be processed successfully confirms.
5. method as claimed in claim 4, which is characterized in that the process in the database of first server described in said write In, comprising:
The first server determine to be written the message to be processed in the database of the first server fail when, Send the abandonment confirmation consumption of the message to be processed.
6. a kind of message processing apparatus, which is characterized in that be applied to first server, described device includes:
Receiving module, for receiving the message to be processed sent by Message Queuing Middleware, the message to be processed carries user ID;
Module is obtained, for utilizing the User ID, is retrieved as the first thread of the User ID distribution, the first thread is used In each message for handling the User ID generation, the message to be processed is disappeared by the received variation of the Message Queuing Middleware Breath, the change message is sent when message changes in the database by second server;
Read module for reading the message to be processed by the first thread, and carries out the message to be processed more Thread locks;
First processing module, for determining the recorded data of timestamp that the message to be processed carries earlier than acquisition When newest timestamp, the message success confirmation message of the message to be processed is sent by the first thread.
7. device as claimed in claim 6, which is characterized in that the first processing module is used for:
Obtain recorded data in local cache;
In newest time of the timestamp earlier than recorded data in the local cache for determining the message carrying to be processed When stamp, successfully confirmed by the consumption that the first thread sends the message to be processed.
8. device as claimed in claim 6, which is characterized in that the first processing module is used for:
Obtain recorded data in local cache;
Determine timestamp that the message to be processed carries be no earlier than recorded data in the local cache it is newest when Between when stabbing, obtain data and update recorded data in table, the data update table is used to record the operation log of each database Tables of data;
Determine timestamp that the message to be processed carries earlier than in the data update table recorded data it is newest when Between when stabbing, successfully confirmed by the consumption that the first thread sends the message to be processed.
9. device as claimed in claim 8, which is characterized in that described device further include:
Second processing module is determining the message to be processed after the recorded data in obtaining data update table When the timestamp of carrying is no earlier than the newest timestamp of recorded data in the data update table, the message to be processed is write In the database for entering the first server;
Sending module, for when determining to be written the message to be processed in the database of the first server success, The consumption for sending the message to be processed successfully confirms.
10. device as claimed in claim 9, which is characterized in that the sending module is also used to:
When determining to be written the message to be processed in the database of the first server unsuccessfully, send described to be processed The abandonment of message confirms consumption.
11. a kind of electronic equipment, which is characterized in that including processor, communication interface, memory and communication bus, wherein described Processor, the communication interface, the memory complete mutual communication by the communication bus;
The memory, for storing computer program;
The processor when for executing the program stored on the memory, realizes any side claim 1-5 Method step.
CN201910236790.6A 2019-03-27 2019-03-27 Message processing method and device Active CN110008041B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910236790.6A CN110008041B (en) 2019-03-27 2019-03-27 Message processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910236790.6A CN110008041B (en) 2019-03-27 2019-03-27 Message processing method and device

Publications (2)

Publication Number Publication Date
CN110008041A true CN110008041A (en) 2019-07-12
CN110008041B CN110008041B (en) 2021-03-19

Family

ID=67168355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910236790.6A Active CN110008041B (en) 2019-03-27 2019-03-27 Message processing method and device

Country Status (1)

Country Link
CN (1) CN110008041B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647409A (en) * 2019-09-23 2020-01-03 深圳市网心科技有限公司 Message writing method, electronic device, system and medium
CN111708618A (en) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 Processing method and device based on Java multithreading
CN112711436A (en) * 2019-10-25 2021-04-27 北京奇艺世纪科技有限公司 Message processing method and device
CN113626217A (en) * 2021-07-28 2021-11-09 北京达佳互联信息技术有限公司 Asynchronous message processing method and device, electronic equipment and storage medium
CN113742112A (en) * 2021-09-15 2021-12-03 武汉联影智融医疗科技有限公司 Electrocardio image generation method and system and electronic device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917504A (en) * 2005-08-20 2007-02-21 中兴通讯股份有限公司 Method for preventing deadlock caused by accessing shared data of resources
CN101996099A (en) * 2010-11-17 2011-03-30 山东中创软件工程股份有限公司 Method and system for processing information
US20160373395A1 (en) * 2015-03-25 2016-12-22 International Business Machines Corporation Selecting subsets of participants in electronic message threads
CN106776312A (en) * 2016-12-12 2017-05-31 北京蓝海讯通科技股份有限公司 Method, device, computing device and pressure testing system that cloud pressure testing data is distributed
CN107957903A (en) * 2017-11-13 2018-04-24 中国平安财产保险股份有限公司 Asynchronous task scheduling method, server and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917504A (en) * 2005-08-20 2007-02-21 中兴通讯股份有限公司 Method for preventing deadlock caused by accessing shared data of resources
CN101996099A (en) * 2010-11-17 2011-03-30 山东中创软件工程股份有限公司 Method and system for processing information
US20160373395A1 (en) * 2015-03-25 2016-12-22 International Business Machines Corporation Selecting subsets of participants in electronic message threads
CN106776312A (en) * 2016-12-12 2017-05-31 北京蓝海讯通科技股份有限公司 Method, device, computing device and pressure testing system that cloud pressure testing data is distributed
CN107957903A (en) * 2017-11-13 2018-04-24 中国平安财产保险股份有限公司 Asynchronous task scheduling method, server and storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647409A (en) * 2019-09-23 2020-01-03 深圳市网心科技有限公司 Message writing method, electronic device, system and medium
CN110647409B (en) * 2019-09-23 2023-05-12 深圳市网心科技有限公司 Message writing method, electronic device, system and medium
CN112711436A (en) * 2019-10-25 2021-04-27 北京奇艺世纪科技有限公司 Message processing method and device
CN112711436B (en) * 2019-10-25 2023-09-26 北京奇艺世纪科技有限公司 Message processing method and device
CN111708618A (en) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 Processing method and device based on Java multithreading
CN113626217A (en) * 2021-07-28 2021-11-09 北京达佳互联信息技术有限公司 Asynchronous message processing method and device, electronic equipment and storage medium
CN113742112A (en) * 2021-09-15 2021-12-03 武汉联影智融医疗科技有限公司 Electrocardio image generation method and system and electronic device
CN113742112B (en) * 2021-09-15 2024-04-16 武汉联影智融医疗科技有限公司 Electrocardiogram image generation method, system and electronic device

Also Published As

Publication number Publication date
CN110008041B (en) 2021-03-19

Similar Documents

Publication Publication Date Title
CN110008041A (en) A kind of message treatment method and device
US10785322B2 (en) Server side data cache system
CN110113420A (en) Distributed Message Queue management system based on NVM
US8756613B2 (en) Scalable, parallel processing of messages while enforcing custom sequencing criteria
US20070288587A1 (en) Transactional shared memory system and method of control
AU2017331066A1 (en) Systems and methods for providing messages to multiple subscribers
CN108370345A (en) System and method for storing message data
CN106126374B (en) Method for writing data, method for reading data and device
EP3295293B1 (en) Thread safe lock-free concurrent write operations for use with multi-threaded in-line logging
US11080146B2 (en) System and method for storage unavailability tolerant backup
US7783805B2 (en) Interlocking input/outputs on a virtual logic unit number
CN110188110A (en) A kind of method and device constructing distributed lock
US10873552B2 (en) Large data management in communication applications through multiple mailboxes
CN110147345A (en) A kind of key assignments storage system and its working method based on RDMA
CN105302489B (en) A kind of remote embedded accumulator system of heterogeneous polynuclear and method
CN110244901A (en) Method for allocating tasks and device, distributed memory system
CN109376165A (en) The implementation method and device and computer readable storage medium of memory database lock
CN109614270A (en) Data read-write method, device, equipment and storage medium based on Hbase
CN107959696A (en) A kind of daily record bill processing method and system
US20210382863A1 (en) Use of time to live value during database compaction
CN109165078A (en) A kind of virtual distributed server and its access method
US7792274B2 (en) Techniques for performing multi-media call center functionality in a database management system
CN107203890A (en) Credential data distribution method, apparatus and system
WO2022267676A1 (en) Data processing method and apparatus for shared memory, and device and medium
US20180293115A1 (en) Systems and methods for increasing efficiency of application programming interface calls

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