CN112492019A - Message pushing method and device, electronic equipment and storage medium - Google Patents

Message pushing method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112492019A
CN112492019A CN202011330486.7A CN202011330486A CN112492019A CN 112492019 A CN112492019 A CN 112492019A CN 202011330486 A CN202011330486 A CN 202011330486A CN 112492019 A CN112492019 A CN 112492019A
Authority
CN
China
Prior art keywords
message
user
queue
transaction
pushing
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
CN202011330486.7A
Other languages
Chinese (zh)
Other versions
CN112492019B (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 Duxiaoman Payment Technology Co ltd
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Shanghai Youyang New Media Information 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 Shanghai Youyang New Media Information Technology Co ltd filed Critical Shanghai Youyang New Media Information Technology Co ltd
Priority to CN202011330486.7A priority Critical patent/CN112492019B/en
Publication of CN112492019A publication Critical patent/CN112492019A/en
Application granted granted Critical
Publication of CN112492019B publication Critical patent/CN112492019B/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/50Network services
    • H04L67/55Push-based network services

Abstract

The embodiment of the application provides a message pushing method, electronic equipment and a storage medium, wherein the method comprises the following steps: the first equipment pushes the first message to a first message queue of the second equipment, executes the first transaction, generates a second message according to the execution result of the first transaction, and sends the generated second message to the first message queue, wherein the second message is used for indicating whether to push the first message to the second user. And the second equipment inquires a second message in the first message queue within preset time, and determines whether to push the first message to the second user according to the second message. That is, in the embodiment of the present application, the first device sends the first message to the first message queue in advance, and sends the second message to the first message queue according to the execution result of the first transaction, so that the second device can determine whether to send the first message according to the execution result of the first transaction, and it is ensured that the execution condition of the first transaction is consistent with the pushing condition of the first message.

Description

Message pushing method and device, electronic equipment and storage medium
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to a message pushing method and device, electronic equipment and a storage medium.
Background
A message is understood to be data, consisting of a fixed-length header and a variable-length body, the sender of the message being generally referred to as the producer and the recipient of the message as the consumer.
For the distributed message system, a producer a executes a local transaction, and when the transaction is successfully executed, a message is sent to a consumer b, so that the consumer b executes related operations according to the message.
However, when sending a message to consumer b, there may be a case of sending failure, which may result in successful execution of the local transaction of generator a, but consumer b cannot receive the message, resulting in inconsistent execution of the local transaction and sending of the message.
Disclosure of Invention
The embodiment of the application provides a message pushing method, a message pushing device, electronic equipment and a storage medium, which are used for realizing consistency between execution of local transactions and sending of messages.
In a first aspect, an embodiment of the present application provides a message pushing method, which is applied to a first device, and includes:
sending a first message to a first message queue of second equipment, wherein the first equipment corresponds to a first user, and the first message is used for indicating the second user to execute preset operation;
executing a first transaction, and generating a second message according to an execution result of the first transaction, wherein the second message is used for indicating whether to push the first message to the second user;
and sending the second message to the first message queue.
In a possible implementation manner of the first aspect, the generating a second message according to an execution result of the first transaction includes:
when the execution result of the first transaction is successful, carrying a first push instruction in the second message, wherein the first push instruction is used for indicating that the first message is pushed to the second user;
and when the execution result of the first transaction is failure, carrying a second pushing instruction in the second message, wherein the second pushing instruction is used for indicating that the first message is not pushed to the second user.
In a possible implementation manner of the first aspect, the method further includes:
and when the execution result of the first transaction is successful, sending the first message to a database.
In a possible implementation manner of the first aspect, the sending the first message to the first message queue of the second device includes:
acquiring identification information of a target area where other messages are located according to a sending sequence relation between the first message and the other messages, wherein the target area is an area of the first message queue, and the processing sequence and the arrangement sequence of the messages in the target area are consistent;
and storing the first message on the target area according to the identification information of the target area.
In a second aspect, an embodiment of the present application provides a message pushing method, which is applied to a second device, and the method includes:
inquiring a first message from a first message queue in the second equipment, wherein the first message is used for indicating a second user to execute preset operation;
querying a second message from the first message queue within a preset time, wherein the second message is used for indicating whether to push the first message to the second user;
and determining whether to push the first message to the second user according to the second message.
In a possible implementation manner of the second aspect, the determining whether to push the first message to the second user according to the second message includes:
when the second message carries a first pushing instruction, determining to push the first message to the second user, wherein the first pushing instruction is used for indicating to push the first message to the second user;
and when the second message carries a second pushing instruction, determining not to push the first message to the second user, wherein the second pushing instruction is used for indicating not to push the first message to the second user.
In one possible implementation manner of the second aspect, the method further includes:
when the second message is not inquired from the first message queue within the preset time, inquiring the execution result of the first transaction from the first device;
when the execution result of the first transaction is successful, pushing the first message to the second user;
and when the execution result of the first transaction is failure, not pushing the first message to the second user.
In one possible implementation manner of the second aspect, the method further includes:
when the second message is not inquired from the first message queue within the preset time, inquiring the first message from a database;
when the first message is inquired in the database, pushing the first message to the second user;
and when the first message is not inquired in the database, not pushing the first message to the second user.
In one possible implementation manner of the second aspect, the method further includes:
querying the first message from the database when the first message is not queried in the first message queue;
and pushing the inquired first message to the second user.
In a possible implementation manner of the second aspect, the pushing, by the second device, the first message to the second user further includes:
sending the first message to the second message queue;
and when a preset condition is met, pushing the first message in the second message queue to the second user.
In a possible implementation manner of the second aspect, the first message queue and/or the second message queue includes a first storage area and a second storage area, and the first storage area and the second storage area respectively store the first message therein.
In one possible implementation manner of the second aspect, the method further includes:
writing a position offset of the first message in the first message queue into the first message queue when the first message is submitted to the second message queue; and/or
And writing the position offset of the first message in the second message queue into the second message queue when the first message is sent to the second user.
In a possible implementation manner of the second aspect, the first message is stored in a target fragment of the first message queue, the target fragment is a fragment of the first message queue, and a processing sequence and an arrangement sequence of messages in the target fragment are consistent.
In a possible implementation manner of the second aspect, the sending the first message to the second message queue includes:
and sending the first message to a fragment corresponding to the identifier of the target fragment in the second message queue according to the identifier of the target fragment.
In a third aspect, an embodiment of the present application provides a message pushing apparatus, where the message pushing apparatus is applied to a first device, and the message pushing apparatus includes: a sending unit and a processing unit.
The device comprises a sending unit, a receiving unit and a sending unit, wherein the sending unit is used for sending a first message to a first message queue of second equipment, the first equipment corresponds to a first user, and the first message is used for indicating the second user to execute preset operation;
the processing unit is used for executing a first transaction and generating a second message according to an execution result of the first transaction, wherein the second message is used for indicating whether to push the first message to the second user or not;
and the sending unit is also used for sending the second message to the first message queue.
In a possible implementation manner of the third aspect, the processing unit is specifically configured to, when an execution result of the first transaction is successful, carry a first push instruction in the second message, where the first push instruction is used to instruct to push the first message to the second user; and when the execution result of the first transaction is failure, carrying a second pushing instruction in the second message, wherein the second pushing instruction is used for indicating that the first message is not pushed to the second user.
In a possible implementation manner of the third aspect, the sending unit is further configured to send the first message to a database when the execution result of the first transaction is successful.
In a possible implementation manner of the third aspect, the sending unit is specifically configured to obtain, according to a sending sequence relationship between the first message and another message, identification information of a target parcel in which the another message is located, where the target parcel is a parcel of the first message queue, and a processing sequence and an arrangement sequence of messages in the target parcel are consistent; and storing the first message on the target area according to the identification information of the target area.
In a fourth aspect, an embodiment of the present application provides a message pushing apparatus, where the message pushing apparatus is applied to a second device, and the message pushing apparatus may include: a processing unit;
the processing unit is used for inquiring a first message from a first message queue in the second equipment, wherein the first message is used for indicating a second user to execute preset operation; inquiring a second message from the first message queue within a preset time, wherein the second message is used for indicating whether to push the first message to the second user;
and the processing unit is further used for determining whether to push the first message to the second user according to the second message.
In some embodiments, the processing unit is specifically configured to determine to push the first message to the second user when the second message carries a first push instruction, where the first push instruction is used to instruct to push the first message to the second user; and when the second message carries a second pushing instruction, determining not to push the first message to the second user, wherein the second pushing instruction is used for indicating not to push the first message to the second user.
In some embodiments, the apparatus further comprises a transmitting unit;
the processing unit is further configured to query an execution result of a first transaction from the first device when the second message is not queried in the first message queue within the preset time;
a sending unit, configured to push the first message to the second user when an execution result of the first transaction is successful; and when the execution result of the first transaction is failure, not pushing the first message to the second user.
In some embodiments, the processing unit is further configured to query the first message from a database when the second message is not queried in the first message queue within the preset time;
the sending unit is further used for pushing the first message to the second user when the first message is inquired in the database; and when the first message is not inquired in the database, not pushing the first message to the second user.
In some embodiments, the processing unit is further configured to query the first message from the database when the first message is not queried in the first message queue;
and the sending unit is also used for pushing the inquired first message to the second user.
In some embodiments, the sending unit is specifically configured to send the first message to the second message queue; and when a preset condition is met, pushing the first message in the second message queue to the second user.
In some embodiments, the first message queue and/or the second message queue comprises a first storage area and a second storage area, the first storage area and the second storage area having the first message stored therein, respectively.
In some embodiments, the sending unit is further configured to, when the first message is submitted to the second message queue, write a position offset of the first message in the first message queue into the first message queue; and/or writing the position offset of the first message in the second message queue into the second message queue when the first message is sent to the second user.
In some embodiments, the first message is stored in a target fragment of the first message queue, the target fragment is a fragment of the first message queue, and a processing order and an arranging order of the messages in the target fragment are consistent.
In some embodiments, the sending unit is specifically configured to send the first message to a segment corresponding to the identifier of the target segment in the second message queue according to the identifier of the target segment.
In a fifth aspect, an embodiment of the present application further provides an electronic device, including a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute the computer program to implement the message pushing method according to any one of the first aspect.
In a sixth aspect, an embodiment of the present application further provides an electronic device, including a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute the computer program to implement the message pushing method according to any one of the second aspect.
In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium, where the storage medium includes computer instructions, and when the instructions are executed by a computer, the computer is enabled to implement the message pushing method according to any one of the first aspect or the second aspect.
In an eighth aspect, the present application provides a computer program product, where the program product includes a computer program, where the computer program is stored in a readable storage medium, and the computer program can be read by at least one processor of a computer from the readable storage medium, and the at least one processor executes the computer program to make the computer implement the message pushing method according to any one of the first aspect and the second aspect.
According to the message pushing method, the electronic device and the storage medium provided by the embodiment of the application, the first device pushes the first message to the first message queue of the second device, then the first device executes the first transaction, and generates the second message according to the execution result of the first transaction, wherein the second message is used for indicating whether to push the first message to the second user. And the first equipment sends the generated second message to the first message queue. And the second equipment inquires the first message from the first message queue, inquires the second message in the first message queue within preset time, and determines whether to push the first message to the second user according to the second message. That is, in the embodiment of the present application, the first device sends the first message to the first message queue in advance, and sends the second message to the first message queue according to the execution result of the first transaction, so that the second device can determine whether to send the first message according to the execution result of the first transaction, thereby preventing the first transaction from being successfully executed but the first message from being unsuccessfully sent, or preventing the first transaction from being unsuccessfully executed but the first message from being successfully sent, and further ensuring that the execution condition of the first transaction is consistent with the push condition of the first message.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application.
FIG. 1 is a schematic diagram of an execution flow of a conventional messaging system;
FIG. 2 is a diagram of a messaging system architecture according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a message pushing method according to an embodiment of the present application;
fig. 4 is a schematic view of an application scenario according to an embodiment of the present application;
fig. 5 is a schematic flowchart of a message pushing method according to an embodiment of the present application;
fig. 6 is a schematic view of another application scenario according to an embodiment of the present application;
fig. 7 is a schematic view of another application scenario according to an embodiment of the present application;
fig. 8 is a schematic view of another application scenario according to an embodiment of the present application;
fig. 9 is a schematic view of another application scenario according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a message pushing apparatus according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a message pushing apparatus according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
It should be understood that, in the present embodiment, "B corresponding to a" means that B is associated with a. In one implementation, B may be determined from a. It should also be understood that determining B from a does not mean determining B from a alone, but may be determined from a and/or other information.
In the description of the present application, "plurality" means two or more than two unless otherwise specified.
In addition, in order to facilitate clear description of technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" are used to distinguish the same items or similar items having substantially the same functions and actions. Those skilled in the art will appreciate that the terms "first," "second," etc. do not denote any order or quantity, nor do the terms "first," "second," etc. denote any order or importance.
In order to facilitate understanding of the embodiments of the present application, the related concepts related to the embodiments of the present application are first briefly described as follows:
a message is understood to be data, which is the basic unit of communication and consists of a fixed-length header and a variable-length body, the sender of the message being generally referred to as the producer and the recipient of the message as the consumer.
The Message system is that a producer puts information to be sent into a container (generally called Message), and then stores the container into a Message Queue (Message Queue) in a common space of the system, and a consumer takes the Message from the Message Queue and processes the Message.
Message systems generally fall into two categories: a peer-to-peer (peer-to-peer) messaging system and a Publish-Subscribe/Publish messaging system. Among them, the peer-to-peer message system is characterized by supporting unicast, and is generally based on polling (polling) or pull (pull) acceptance message; messages sent to a message queue are accepted by one and only one consumer, even if multiple recipients are listening to the same message in the same queue; an "on-demand" asynchronous messaging mode is supported, while a "request-to-answer" synchronous messaging mode is supported. The publish-subscribe (sub/pub) messaging system features support both multicast and unicast, for example Kafka is a typical publish-subscribe (sub/pub) messaging system that supports multicast for different consumer groups while supporting unicast within the same consumer group. Additionally, messages published to a topic may be accepted by multiple consumers; and the three modes of push, pull and polling are supported to receive the message, and the decoupling capacity is higher than the point to point.
Topic (topic) is a classification of messages, a producer sends a message to a particular topic, and a consumer subscribes to the topic or a partition of the topic for consumption.
A Message Queue (MQ) is a container that holds messages during their transmission. The message queue is an important component in a distributed system, and mainly solves the problems of application coupling, asynchronous messages, traffic cut and the like. The implementation of a high-performance, highly available, scalable and ultimately consistent architecture is an indispensable middleware for large distributed systems.
Fig. 1 is a schematic diagram of an execution flow of an existing message system, and as shown in fig. 1, it is assumed that a producer a needs to execute a local transaction, and sends a message to tell a consumer b to execute a related operation after the transaction is successfully executed, and the method specifically includes the following steps:
step 1, a producer a executes a local transaction to complete the operation of the local transaction;
step 2, after the local transaction is successfully executed, the producer a sends a message to a message system, and the message system transmits the message to each consumer;
and 3, the consumer b consumes the message generated by the producer a from the message system.
However, if the producer a fails to send the message in step 2, the local transaction will be successfully executed, but the consumer b cannot receive the message, which causes the problem that the execution of the local transaction is inconsistent with the sending of the message.
In order to solve the foregoing technical problem, an embodiment of the present application provides a message pushing method, where a first device corresponding to a producer (i.e., a first user) prestores a first message to be sent in a first message queue of a second device, and then the first device executes a first transaction, generates a second message according to an execution result of the first transaction, and stores the generated second message in the first message queue. Since the second message is generated according to the execution result of the first transaction, it may reflect the execution condition of the first transaction, so that the second device pulls the second message from the first message queue, and may determine whether to push the first message to the consumer (i.e., the second user) according to the indication of the second message, thereby ensuring that the pushing condition of the first message is consistent with the execution result of the first task.
Fig. 2 is a schematic diagram of a message system architecture according to an embodiment of the present application, including: a first device 101, a second device 102, a third device 103 and a database 104.
The first device 101 corresponds to a first user, and may be a terminal device used by the first user, such as a mobile phone, a notebook, a desktop computer, a smart television, a vehicle-mounted device, a wearable device, an industrial device, and the like. Optionally, the first device 101 may also be a server on the first user side, and the first user is in communication connection with the server through a client. The first device 101 is communicatively coupled to the second device 102 and may send the first message and the second message to the second device 102.
The second device 102 may be one or more servers, or a cluster of servers, the second device 102 being communicatively connected to the first device 101. Optionally, the second device 102 comprises a message system for pushing the first message. The second device 102 further includes a first message queue, the first device 101 sends both the generated first message and the generated second message to the first message queue, and the second device 102 pulls the first message and the second message from the first message queue.
The third device 103 corresponds to a second user, and may be a terminal device used by the second user, such as a mobile phone, a notebook, a desktop computer, a smart television, a vehicle-mounted device, a wearable device, an industrial device, and the like. Optionally, the third device 103 may also be a server on the second user side, and the second user is connected to the server through a client in a communication manner. The third device 103 is communicatively coupled to the second device 102, and may consume the first message from the second device 102 or receive the first message from the second device 102.
The first device 101, the second device 102, and the third device 103 may read from and write to the database 104, for example, the first device 101 may submit the first transaction to the database and/or deposit the first message to the database. The second device 102 and the third device 103 may read the first message from the database 104.
It should be noted that fig. 2 is only a schematic diagram of a message system architecture provided in an embodiment of the present application, and the location relationship between the devices shown in the diagram does not constitute any limitation. In some embodiments, the database 104 may be distributed on one server or on multiple servers.
The technical solutions of the embodiments of the present application are described in detail below with reference to some embodiments. The following several embodiments may be combined with each other and may not be described in detail in some embodiments for the same or similar concepts or processes.
Fig. 3 is a schematic flow chart of a message pushing method provided in the embodiment of the present application, and as shown in fig. 3, the method in the embodiment of the present application includes:
s301, the first device sends the first message to a first message queue of the second device.
Fig. 4 is a schematic view of an application scenario of the embodiment of the application, and as shown in fig. 4, a first user may be understood as a sender, i.e., a producer, of a first message, the first user communicates with a second device through a first device, the second device includes a first message queue, and the first user sends the first message to the first message queue of the second device through the first device. The second user may be one or more, which is not limited in this embodiment of the application.
Specifically, the first device generates a first message in response to an operation of the first user, and sends the first message to a first message queue of the second device. It should be noted that the first message is related to a first transaction, and the first message is used to instruct the second user to perform a preset operation. For example, taking the first transaction as payment of the electric charge, the first user is an electric charge payer, the second user is a charging person of the electric power company, and the first message is used to instruct the charging person of the electric power company to charge the account of the first user. For example, if the first transaction is a video subscription, the first user may be a video publisher, and the second user may be a video subscriber, and the first message is used to instruct the second user to view a video uploaded by the first user. It should be noted that the preset operations corresponding to different application scenarios are different.
According to the embodiment of the application, before the first device executes the first transaction, the first message is prestored in the first message queue of the second device, then the first transaction is executed, and whether the first message is sent to the second user or not is determined according to the execution result of the first transaction. Compared with the prior art that the first message is directly sent to the second user through the second device after the first transaction is executed, the embodiment of the application can ensure that the execution condition of the first transaction is consistent with the pushing condition of the first message, and prevent the problems that the first transaction is successfully executed but the first message is unsuccessfully sent, or the first transaction is unsuccessfully executed but the first message is successfully sent.
S302, the first device executes the first transaction and generates a second message according to the execution result of the first transaction.
Specifically, after sending a first message to a first message queue of a second device, a first transaction is executed, and a second message is generated according to an execution result of the first transaction, where the second message is used to indicate whether to push the first message to a second user.
In some embodiments, the above S302 includes the following cases:
in case 1, when the execution result of the first transaction is successful, a first push instruction is carried in the second message, where the first push instruction is used to instruct to push the first message to the second user.
And 2, when the execution result of the first transaction is failure, carrying a second push instruction in the second message, where the second push instruction is used to instruct not to push the first message to the second user.
In some examples, the push instruction carried by the second message corresponds to the push condition of the first message as shown in table 1:
TABLE 1
Push instructions Push scenario of first message
1 Push-in
0 Not to push
As shown in table 1, the first push instruction is 1, the second push instruction is 0, when the second message carries 1, the second message indicates that the second device can push the first message to the second user, and when the second message carries 0, the second message indicates that the second device does not push the first message to the second user. It should be noted that table 1 is only an example, and the first push instruction and the second push instruction may also be in other forms, for example, the first push instruction is 0, and the second push instruction is 1, or the first push instruction is 01, and the second push instruction is 11, and the specific forms of the first push instruction and the second push instruction are not limited in the embodiment of the present application.
That is, in the embodiment of the present application, the first device completes execution of the first transaction, and generates the second message according to an execution result of the first transaction. For example, continuing with the above example, taking the first transaction as an example of paying the electric charge, when the first device successfully pays the electric charge, the first device carries the first push instruction in the second message, and when the first device fails to pay the electric charge, the first device carries the second push instruction in the second message, so as to generate the second message according to whether the electric charge is successfully paid or not. Illustratively, taking a first transaction as a video subscription as an example, a first device makes and uploads a video, and when the video is successfully uploaded, the first device carries a first push instruction in a second message, and when the video is unsuccessfully uploaded, the first device carries a second push instruction in the second message, so that a second message is generated according to whether the video is successfully uploaded or not.
S303, the first equipment sends the second message to the first message queue.
Specifically, after generating the second message, the first device sends the second message to the first message queue. The second message corresponds to the first message one to one, and optionally, in order to facilitate matching of the subsequent second message with the first message, the second message may be stored after or before the first message and be adjacent to the first message. Optionally, a message header of the second message carries an identifier of the first message, so that the first message corresponding to the second message is determined according to the identifier of the first message carried by the second message.
S304, the second device inquires the first message from the first message queue in the second device.
Specifically, the first device stores both the first message and the second message in the first message queue of the second device according to the steps of S301 to S303. In this way, the second device may query the first message from the first message queue.
S305, the second device inquires the second message from the first message queue within the preset time.
As can be seen from the above description, the second message is sent to the first message queue by the first device after the first message, and therefore, after the second device queries the first message from the first message queue, the second device may not be able to query the second message in the first message queue immediately, and therefore, the second device queries the second message from the first message queue within the preset time. The preset time is specifically set according to actual needs, and the embodiment of the application does not limit the preset time.
S306, the second device determines whether to push the first message to the second user according to the second message.
After the second device inquires the first message and the second message in the first message queue, whether the first message is pushed to the second user or not is determined according to the second message. As can be seen from the foregoing S302, if the second message carries the first push instruction or the second push instruction, the second device parses the second message, and determines whether to push the first message to the second user according to the first push instruction or the second push instruction carried in the second message. Specifically, when the second message carries the first push instruction, the second device determines to push the first message to the second user, and pushes the first message to the second user, specifically to a third device corresponding to the second user. When the second message carries the second push instruction, the second device determines not to push the first message to the second user, in which case the second device may discard the obtained first message.
Optionally, after the second device pushes the first message to the second user, the first message is marked in the first message queue, so as to prevent repeated consumption.
In the message pushing method provided in this embodiment, the first device pushes the first message to the first message queue of the second device, and then the first device executes the first transaction and generates the second message according to the execution result of the first transaction, where the second message is used to indicate whether to push the first message to the second user. And the first equipment sends the generated second message to the first message queue. And the second equipment inquires the first message from the first message queue, inquires the second message in the first message queue within preset time, and determines whether to push the first message to the second user according to the second message. That is, in the embodiment of the present application, the first device sends the first message to the first message queue in advance, and sends the second message to the first message queue according to the execution result of the first transaction, so that the second device can determine whether to send the first message according to the execution result of the first transaction, thereby preventing the first transaction from being successfully executed but the first message from being unsuccessfully sent, or preventing the first transaction from being unsuccessfully executed but the first message from being successfully sent, and further ensuring that the execution condition of the first transaction is consistent with the push condition of the first message.
In some embodiments, the first device may further send the generated first message to the database when the first transaction is successfully executed, for example, the first device saves the first transaction and the first message together in the database when the first transaction is successfully executed, or the first device only saves the first message in the database and the first transaction is not saved in the database when the first transaction is successfully executed. At this time, on the basis of the above embodiments, the embodiments of the present application further include a message pushing method as shown in fig. 5.
Fig. 5 is a schematic flow chart of a message pushing method provided in the embodiment of the present application, and as shown in fig. 5, the method in the embodiment of the present application includes:
s501, the second device inquires the first message from the first message queue.
Fig. 6 is a schematic view of an application scenario in an embodiment of the present application, where when a first transaction is successfully executed, a first device sends a first message to a second device, and stores a copy of the first message in a database. At the same time, the second device and the third device may each read the first message from the database.
However, as shown in fig. 7, although the first device sends the first message to the first message queue, the first message is failed to be sent due to a network or the like, and at this time, the second device may not be able to query the first message in the first message queue. In this case, that is, the second device does not inquire the first message in the first message queue, the following steps S502 and S503 are performed.
S502, when the first message is not inquired in the first message queue, the second device inquires the first message from the database.
S503, the second device pushes the inquired first message to the second user.
Specifically, when the second device does not inquire the first message in the first message queue, the second device inquires the first message from the database, and since the first message is sent to the database when the first device successfully executes the first transaction, when the second device inquires the first message in the database, the first device successfully executes the first transaction, the second device pushes the inquired first message to the second user, and further, when the first transaction successfully executes, the first message is sent to the second user, so that the execution result of the first transaction is ensured to be consistent with the sending condition of the first message.
If the second device inquires the first message in the first message queue, the following steps S504 and S505 are executed, or the following steps S504 and S506 are executed, or the following steps S505 and S507 are executed.
And S504, the second device inquires the second message from the first message queue within the preset time.
If the second device inquires the second message in the first message queue, S505 is executed.
And S505, inquiring a second message in the first message queue, and determining whether to push the first message to a second user according to the second message.
Specifically, if the second device queries the second message from the first message queue within the preset time, it may be determined whether to push the first message to the second user according to the second message, where a specific process of the second message is consistent with the foregoing S306, and reference may be made to the description of the foregoing S306, which is not described herein again.
In some embodiments, as shown in fig. 8, although the first device sends the second message to the first message queue, the second message may fail to be sent due to a network or the like. At this time, there may be a case where the second device cannot inquire the second message from the first message queue within a preset time. If the second device does not inquire the second message in the first message queue, the step of S506 or 507 is executed. S506 and S507 are two parallel solutions.
In a first manner, as in S506:
s506, when the second message is not inquired from the first message queue in the preset time, the second device inquires the execution result of the first transaction from the first device, when the execution result of the first transaction is successful, the first message is pushed to the second user, and when the execution result of the first transaction is failed, the first message is not pushed to the second user.
Specifically, the first device provides a back-check interface for the second device, and the second device queries, within a preset time, an execution result of the first transaction stored by the first device through the back-check interface when the second message is not queried from the first message queue. And when the execution result that the first device executes the first transaction is found to be successful, pushing the first message to the second user, and when the execution result that the first device executes the first transaction is found to be failed, not pushing the first message to the second user. Therefore, when the second message fails to be sent, the second device can still determine whether to push the first message according to the execution result of the first transaction, and the pushing of the first message is ensured to be consistent with the execution condition of the first transaction.
The second method is as in S507:
and S507, when the second message is not inquired from the first message queue within the preset time, the second device inquires the first message from the database, when the first message is inquired from the database, the second device pushes the first message to the second user, and when the first message is not inquired from the database, the second device does not push the first message to the second user.
Specifically, when the first transaction is successfully executed by the first device, a first message is stored in the database, so that when the second device does not inquire the second message from the first message queue within a preset time, whether the first message exists can be inquired from the database, and if the first message is inquired from the database, the first transaction is successfully executed by the first device, and the first message is pushed to the second user by the second device. If the first message is not inquired in the database, it is indicated that the first transaction executed by the first device fails, and the second device does not push the first message to the second user, so that the pushing condition of the first message is ensured to be consistent with the executing condition of the first transaction.
According to the embodiment of the application, when the first equipment fails to send the first message to the first message queue, the second equipment can inquire the first message from the database and push the inquired first message to the second user, and therefore the fault tolerance of a message system is improved. In addition, when the second device queries the first message but does not query the second message in the first message queue, the second device may obtain an execution result of the first transaction from the first device and determine whether to push the first message according to the execution result of the first transaction, or the second device queries the first message from the database and determines whether to push the first message according to the query result of the first message, thereby ensuring that the pushing of the first message is consistent with the execution condition of the first transaction.
In some embodiments, as shown in fig. 9, the second device further includes a second message queue in addition to the first message queue, in this case, the pushing, by the second device, the first message to the second user may include:
step a1, the second device sends the first message to a second message queue.
Step a2, when the preset condition is met, the second device pushes the first message in the second message queue to the second user.
Specifically, after the second device obtains the first message from the first message queue, it is determined that the first message can be pushed to the second user according to the steps in the foregoing embodiment, at this time, the second device does not immediately send the first message to the second user, but stores the first message in the second message queue. And when the preset condition is met, the second equipment pushes the first message in the second message queue to the second user.
Optionally, the preset condition may be a preset time, for example, when the preset time is reached, the second device pushes the first message in the second message queue to the second user.
Optionally, the preset condition is an arrangement order of the first message in the second message queue, for example, when the second device reads the first message in the second message queue in sequence (where the second message queue further includes other messages), the first message is pushed to the second user.
In some embodiments, the following two ways are adopted to improve the reliability guarantee of the message:
in a first manner, the first message queue and/or the second message queue in the embodiment of the present application includes a first storage area and a second storage area, where the first storage area and the second storage area store first messages, and optionally, the first storage area and the second storage area of the first message queue may also store second messages at the same time. In this way, when the first message (or the second message) in the first storage area is lost, the first message (or the second message) can be obtained from the second storage area, thereby preventing the first message from being lost from the first message queue and/or the second message queue and preventing the second message from being lost from the first message queue.
In the second mode, when the second device submits the first message to the second message queue, the second device writes the position offset of the first message in the first message queue into the first message queue. Therefore, when one thread of the second device fails to send the first message from the first message queue to the second message queue, the other thread of the second device can send the first message from the first message queue to the second message queue again according to the position offset of the first message marked in the first message queue, and the sending reliability of the first message is further ensured.
And/or when the second equipment sends the first message to the second user, writing the position offset of the first message in the second message queue into the second message queue. Therefore, when one thread of the second device fails to send the first message from the second message queue to the second user, the other thread of the second device can send the first message from the second message queue to the second user again according to the position offset of the first message marked in the second message queue, and the sending reliability of the first message is further ensured.
In some embodiments, the first message queue and the second message queue each include a plurality of fragments, messages on the same fragment are arranged in sequence, and a processing sequence of the messages on the same fragment is consistent with the arrangement sequence. Based on this, in order to ensure the sequence of the messages, in S301, the sending, by the first device, the first message to the first message queue of the second device includes:
step B1, the first device obtains the identification information of the target area where the other message is located according to the sending sequence relation between the first message and the other message.
The target fragment area is a fragment area of the first message queue, and the processing sequence and the arrangement sequence of the messages in the target fragment area are consistent. The first device is in communication connection with the second device, and the first device can access the first message queue on the second device to obtain each fragment of the first message queue, identification information of each fragment, and the like.
Step B2, the first device stores the first message on the target area according to the identification information of the target area.
Specifically, the first device expects the first message and the other messages to be sent in a guaranteed order in the sending process, for example, the first message is expected to be sent before or after the other messages, so that the first device obtains the fragment area of the other messages in the first message queue from the second device according to the sending order relationship between the first message and the other messages, and takes the fragment area as the target fragment area, thereby obtaining the identification information of the target fragment area. When the first device stores the first message, the first message can be stored on the target fragment area of the first message queue according to the identification information of the target fragment area, so that the first message and other messages are located on the same fragment area, the first message and other messages are installed on the arrangement sequence of the target fragment area to be sent when the first message is sent, and the sequential processing of the messages is further realized.
Optionally, the other message may be a first message sent by the other device to the second device.
On the basis of this embodiment, the sending, by the second device, the first message to the second message queue in step a1 may include: the second device sends the first message to the fragment corresponding to the identifier of the target fragment in the second message queue according to the identifier of the target fragment, so that the second device is ensured to push the first message to the second user according to the arrangement sequence of the first message in the target fragment, and further ensure the sequential sending of the first message.
Fig. 10 is a schematic structural diagram of a message pushing apparatus according to an embodiment of the present application. The message pushing apparatus 300 is configured to execute a technical solution corresponding to the first device in the foregoing method embodiment. The message pushing apparatus 300 may be understood as the first device described above, or as a part (e.g. a chip) of the first device. As shown in fig. 10, the message pushing apparatus 300 may include: a sending unit 310 and a processing unit 320.
A sending unit 310, configured to send a first message to a first message queue of a second device, where the first device corresponds to a first user, and the first message is used to instruct the second user to perform a preset operation;
a processing unit 320, configured to execute a first transaction, and generate a second message according to an execution result of the first transaction, where the second message is used to indicate whether to push the first message to the second user;
the sending unit 310 is further configured to send the second message to the first message queue.
In some embodiments, the processing unit 320 is specifically configured to, when the execution result of the first transaction is successful, carry a first push instruction in the second message, where the first push instruction is used to instruct to push the first message to the second user; and when the execution result of the first transaction is failure, carrying a second pushing instruction in the second message, wherein the second pushing instruction is used for indicating that the first message is not pushed to the second user.
In some embodiments, the sending unit 310 is further configured to send the first message to the database when the execution result of the first transaction is successful.
In some embodiments, the sending unit 310 is specifically configured to obtain, according to a sending sequence relationship between the first message and another message, identification information of a target parcel in which the another message is located, where the target parcel is a parcel of the first message queue, and a processing sequence and an arrangement sequence of messages in the target parcel are consistent; and storing the first message on the target area according to the identification information of the target area.
The message pushing apparatus in the embodiment of the present application may be configured to execute the technical solution corresponding to the first device in the foregoing method embodiment, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 11 is a schematic structural diagram of a message pushing apparatus according to an embodiment of the present application. The message pushing apparatus 200 is configured to execute a technical solution corresponding to the second device in the foregoing method embodiment. The message pushing apparatus 200 may be understood as the second device described above, or as a part (e.g. a chip) of the second device. As shown in fig. 11, the message pushing apparatus 200 may include: a processing unit 210.
A processing unit 210, configured to query a first message from a first message queue in a second device, where the first message is used to instruct a second user to perform a preset operation; inquiring a second message from the first message queue within a preset time, wherein the second message is used for indicating whether to push the first message to the second user;
the processing unit 210 is further configured to determine whether to push the first message to the second user according to the second message.
In some embodiments, the processing unit 210 is specifically configured to determine to push the first message to the second user when the second message carries a first push instruction, where the first push instruction is used to instruct to push the first message to the second user; and when the second message carries a second pushing instruction, determining not to push the first message to the second user, wherein the second pushing instruction is used for indicating not to push the first message to the second user.
In some embodiments, the apparatus further comprises a transmitting unit 220;
the processing unit 210 is further configured to query, from the first device, an execution result of a first transaction when the second message is not queried in the first message queue within the preset time;
a sending unit 220, configured to push the first message to the second user when the execution result of the first transaction is successful; and when the execution result of the first transaction is failure, not pushing the first message to the second user.
In some embodiments, the processing unit 210 is further configured to query the first message from a database when the second message is not queried in the first message queue within the preset time;
the sending unit 220 is further configured to push the first message to the second user when the first message is queried in the database; and when the first message is not inquired in the database, not pushing the first message to the second user.
In some embodiments, the processing unit 210 is further configured to query the first message from the database when the first message is not queried in the first message queue;
the sending unit 220 is further configured to push the queried first message to the second user.
In some embodiments, the sending unit 220 is specifically configured to send the first message to the second message queue; and when a preset condition is met, pushing the first message in the second message queue to the second user.
In some embodiments, the first message queue and/or the second message queue comprises a first storage area and a second storage area, the first storage area and the second storage area having the first message stored therein, respectively.
In some embodiments, the sending unit 220 is further configured to, when the first message is submitted to the second message queue, write a position offset of the first message in the first message queue into the first message queue; and/or writing the position offset of the first message in the second message queue into the second message queue when the first message is sent to the second user.
In some embodiments, the first message is stored in a target fragment of the first message queue, the target fragment is a fragment of the first message queue, and a processing order and an arranging order of the messages in the target fragment are consistent.
In some embodiments, the sending unit 220 is specifically configured to send the first message to a segment corresponding to the identifier of the target segment in the second message queue according to the identifier of the target segment.
The message pushing apparatus in the embodiment of the present application may be configured to implement the technical solution of the second device in the foregoing method embodiment, and the implementation principle and the technical effect of the message pushing apparatus are similar, which are not described herein again.
Fig. 12 is a schematic structural diagram of an electronic device according to an embodiment of the present application. The electronic device is configured to execute the message pushing method in the foregoing embodiment, and refer to the description in the foregoing method embodiment specifically.
The electronic device 400 shown in fig. 12 comprises a memory 401, a processor 402, a communication interface 403. The memory 401, the processor 402 and the communication interface 403 are communicatively connected to each other. For example, the memory 401, the processor 402 and the communication interface 403 may be connected by a network connection. Alternatively, the electronic device 400 may further include a bus 404. The memory 401, the processor 402 and the communication interface 403 are communicatively connected to each other via a bus 404. Fig. 12 is an electronic apparatus 400 in which a memory 401, a processor 402, and a communication interface 403 are communicatively connected to each other via a bus 404.
The Memory 401 may be a Read Only Memory (ROM), a static Memory device, a dynamic Memory device, or a Random Access Memory (RAM). The memory 401 may store programs, and the processor 402 and the communication interface 403 are used to perform the above-described methods when the programs stored in the memory 401 are executed by the processor 402.
The processor 402 may be a general-purpose Central Processing Unit (CPU), a microprocessor, an Application Specific Integrated Circuit (ASIC), a Graphics Processing Unit (GPU), or one or more Integrated circuits.
The processor 402 may also be an integrated circuit chip having signal processing capabilities. In implementation, the method of the present application may be performed by instructions in the form of hardware integrated logic circuits or software in the processor 402. The processor 402 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, or discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory 401, and a processor 402 reads information in the memory 401 and completes the method of the embodiment of the application in combination with hardware thereof.
The communication interface 403 enables communication between the electronic device 400 and other devices or communication networks using transceiver modules such as, but not limited to, transceivers.
When electronic device 400 includes bus 404, as described above, bus 404 may include a pathway to transfer information between various components of electronic device 400 (e.g., memory 401, processor 402, communication interface 403).
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. In addition, the method embodiments and the device embodiments may also refer to each other, and the same or corresponding contents in different embodiments may be referred to each other, which is not described in detail.

Claims (15)

1. A message pushing method is applied to a first device, and comprises the following steps:
sending a first message to a first message queue of second equipment, wherein the first equipment corresponds to a first user, and the first message is used for indicating the second user to execute preset operation;
executing a first transaction, and generating a second message according to an execution result of the first transaction, wherein the second message is used for indicating whether to push the first message to the second user;
and sending the second message to the first message queue.
2. The method of claim 1, wherein generating a second message based on the execution result of the first transaction comprises:
when the execution result of the first transaction is successful, carrying a first push instruction in the second message, wherein the first push instruction is used for indicating that the first message is pushed to the second user;
and when the execution result of the first transaction is failure, carrying a second pushing instruction in the second message, wherein the second pushing instruction is used for indicating that the first message is not pushed to the second user.
3. The method of claim 1, further comprising:
and when the execution result of the first transaction is successful, sending the first message to a database.
4. The method of claim 1, wherein sending the first message to a first message queue of the second device comprises:
acquiring identification information of a target area where other messages are located according to a sending sequence relation between the first message and the other messages, wherein the target area is an area of the first message queue, and the processing sequence and the arrangement sequence of the messages in the target area are consistent;
and storing the first message on the target area according to the identification information of the target area.
5. A message pushing method is applied to a second device, and comprises the following steps:
inquiring a first message from a first message queue in the second equipment, wherein the first message is used for indicating a second user to execute preset operation;
querying a second message from the first message queue within a preset time, wherein the second message is used for indicating whether to push the first message to the second user;
and determining whether to push the first message to the second user according to the second message.
6. The method of claim 5, wherein the determining whether to push the first message to the second user according to the second message comprises:
when the second message carries a first pushing instruction, determining to push the first message to the second user, wherein the first pushing instruction is used for indicating to push the first message to the second user;
and when the second message carries a second pushing instruction, determining not to push the first message to the second user, wherein the second pushing instruction is used for indicating not to push the first message to the second user.
7. The method of claim 5, further comprising:
when the second message is not inquired from the first message queue within the preset time, inquiring the execution result of the first transaction from the first device;
when the execution result of the first transaction is successful, pushing the first message to the second user;
and when the execution result of the first transaction is failure, not pushing the first message to the second user.
8. The method of claim 5, further comprising:
when the second message is not inquired from the first message queue within the preset time, inquiring the first message from a database;
when the first message is inquired in the database, pushing the first message to the second user;
and when the first message is not inquired in the database, not pushing the first message to the second user.
9. The method of claim 8, further comprising:
querying the first message from the database when the first message is not queried in the first message queue;
and pushing the inquired first message to the second user.
10. The method according to any one of claims 6-9, wherein the second device further comprises a second message queue, and wherein pushing the first message to the second user comprises:
sending the first message to the second message queue;
and when a preset condition is met, pushing the first message in the second message queue to the second user.
11. The method according to claim 10, wherein the first message queue and/or the second message queue comprises a first memory area and a second memory area, the first memory area and the second memory area having the first message stored therein, respectively.
12. The method of claim 10, further comprising:
writing a position offset of the first message in the first message queue into the first message queue when the first message is submitted to the second message queue; and/or
And writing the position offset of the first message in the second message queue into the second message queue when the first message is sent to the second user.
13. The method of claim 10, wherein the first message is stored in a target tile of the first message queue, the target tile is a tile of the first message queue, and wherein the processing order and the arranging order of the messages in the target tile are consistent.
14. An electronic device, comprising: a memory and a processor;
the memory is used for storing a computer program;
the processor is configured to execute the computer program to implement the message pushing method according to any one of claims 1 to 4, or to implement the message pushing method according to any one of claims 5 to 13.
15. A computer-readable storage medium, characterized in that the storage medium comprises computer instructions which, when executed by a computer, cause the computer to implement the message push method according to any one of claims 1 to 13.
CN202011330486.7A 2020-11-24 2020-11-24 Message pushing method and device, electronic equipment and storage medium Active CN112492019B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011330486.7A CN112492019B (en) 2020-11-24 2020-11-24 Message pushing method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011330486.7A CN112492019B (en) 2020-11-24 2020-11-24 Message pushing method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112492019A true CN112492019A (en) 2021-03-12
CN112492019B CN112492019B (en) 2023-07-18

Family

ID=74933768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011330486.7A Active CN112492019B (en) 2020-11-24 2020-11-24 Message pushing method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112492019B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500443A (en) * 2021-12-27 2022-05-13 北京百度网讯科技有限公司 Message pushing method, device, system, electronic equipment and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171692B1 (en) * 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
US20150120853A1 (en) * 2013-10-29 2015-04-30 Red Hat, Inc. Parallel message processing on diverse messaging buses
CN106776072A (en) * 2016-12-16 2017-05-31 携程旅游信息技术(上海)有限公司 Information push method and system
CN106874076A (en) * 2017-01-21 2017-06-20 浙江沛宏网络科技有限公司 Distributed transaction processing method
CN106993023A (en) * 2017-03-01 2017-07-28 北京交通大学 Distributed transaction solution under micro services framework
CN108009027A (en) * 2017-11-23 2018-05-08 北京百度网讯科技有限公司 Implementation method, device, equipment and the storage medium of queue message uniformity
CN109408203A (en) * 2018-11-01 2019-03-01 无锡华云数据技术服务有限公司 A kind of implementation method, device, the computing system of queue message consistency
CN111045839A (en) * 2019-12-04 2020-04-21 中国建设银行股份有限公司 Sequence calling method and device based on two-phase transaction message in distributed environment
CN111367628A (en) * 2020-03-05 2020-07-03 中国银行股份有限公司 Distributed transaction processing method and device, message producer and consumer system
CN111897825A (en) * 2020-06-01 2020-11-06 中国人民财产保险股份有限公司 Distributed transaction processing method and device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171692B1 (en) * 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
US20150120853A1 (en) * 2013-10-29 2015-04-30 Red Hat, Inc. Parallel message processing on diverse messaging buses
CN106776072A (en) * 2016-12-16 2017-05-31 携程旅游信息技术(上海)有限公司 Information push method and system
CN106874076A (en) * 2017-01-21 2017-06-20 浙江沛宏网络科技有限公司 Distributed transaction processing method
CN106993023A (en) * 2017-03-01 2017-07-28 北京交通大学 Distributed transaction solution under micro services framework
CN108009027A (en) * 2017-11-23 2018-05-08 北京百度网讯科技有限公司 Implementation method, device, equipment and the storage medium of queue message uniformity
CN109408203A (en) * 2018-11-01 2019-03-01 无锡华云数据技术服务有限公司 A kind of implementation method, device, the computing system of queue message consistency
CN111045839A (en) * 2019-12-04 2020-04-21 中国建设银行股份有限公司 Sequence calling method and device based on two-phase transaction message in distributed environment
CN111367628A (en) * 2020-03-05 2020-07-03 中国银行股份有限公司 Distributed transaction processing method and device, message producer and consumer system
CN111897825A (en) * 2020-06-01 2020-11-06 中国人民财产保险股份有限公司 Distributed transaction processing method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MS KANG 等: "A Real-Time Distributed Architecture for RFID Push Service in Large-Scale EPCglobal Networks", INTERNATIONAL CONFERENCE ON GRID AND DISTRIBUTED COMPUTING *
李政;武彤;: "基于分布式消息队列的企业级全文检索模型研究", no. 06 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500443A (en) * 2021-12-27 2022-05-13 北京百度网讯科技有限公司 Message pushing method, device, system, electronic equipment and storage medium
CN114500443B (en) * 2021-12-27 2024-03-29 北京百度网讯科技有限公司 Message pushing method, device, system, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN112492019B (en) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110365752B (en) Service data processing method and device, electronic equipment and storage medium
CN109949111B (en) Electronic bill identification distribution method, electronic bill generation method, device and system
CN111585867B (en) Message processing method and device, electronic equipment and readable storage medium
WO2021190087A1 (en) Task execution method, device and system, and server
CN107093138A (en) Auction Ask-Bid System and its operation method based on distributed clog-free asynchronous message tupe
CN111030784A (en) Information synchronization method and device
CN115004673B (en) Message pushing method, device, electronic equipment and computer readable medium
CN112118315A (en) Data processing system, method, device, electronic equipment and storage medium
CN114363407B (en) Message service method and device, readable storage medium and electronic equipment
CN108712457A (en) Back-end server dynamic load method of adjustment and device based on Nginx reverse proxys
CN107341062A (en) A kind of data push method, device, equipment and storage medium
CN113821506A (en) Task execution method, device, system, server and medium for task system
CN112035405A (en) Document transcoding method and device, scheduling server and storage medium
CN112492019B (en) Message pushing method and device, electronic equipment and storage medium
CN111282263A (en) Event message processing method and device, electronic equipment and readable storage medium
CN116204487A (en) Remote data access method and device
CN110798495A (en) Method and server for end-to-end message push in cluster architecture mode
CN113965628A (en) Message scheduling method, server and storage medium
CN112948138A (en) Method and device for processing message
CN111404842A (en) Data transmission method, device and computer storage medium
CN108805741B (en) Fusion method, device and system of power quality data
CN110971638B (en) Message processing method and device, electronic equipment and readable storage medium
CN113032492A (en) Method and device for transmitting and storing edge terminal data
CN114531946A (en) Data pushing method, data pushing system and computer program product
CN112751893A (en) Message track data processing method and device and electronic equipment

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
CB02 Change of applicant information

Address after: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant after: Chongqing duxiaoman Youyang Technology Co.,Ltd.

Address before: Room 3075, building 815, Jiayuan district, Shanghai

Applicant before: SHANGHAI YOUYANG NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20211224

Address after: Room 606, 6 / F, building 4, courtyard 10, Xibeiwang Road, Haidian District, Beijing 100085

Applicant after: Du Xiaoman Technology (Beijing) Co.,Ltd.

Address before: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant before: Chongqing duxiaoman Youyang Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240108

Address after: Room 301, 3rd Floor, Building 4, West District, No.10 Northwest Wangdong Road, Haidian District, Beijing, 100085

Patentee after: Beijing Duxiaoman Payment Technology Co.,Ltd.

Patentee after: Du Xiaoman Technology (Beijing) Co.,Ltd.

Address before: Room 606, 6 / F, building 4, courtyard 10, Xibeiwang Road, Haidian District, Beijing 100085

Patentee before: Du Xiaoman Technology (Beijing) Co.,Ltd.

TR01 Transfer of patent right