CN113364700B - Message processing system, server and electronic equipment - Google Patents

Message processing system, server and electronic equipment Download PDF

Info

Publication number
CN113364700B
CN113364700B CN202110202616.7A CN202110202616A CN113364700B CN 113364700 B CN113364700 B CN 113364700B CN 202110202616 A CN202110202616 A CN 202110202616A CN 113364700 B CN113364700 B CN 113364700B
Authority
CN
China
Prior art keywords
node
information
channel
original
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110202616.7A
Other languages
Chinese (zh)
Other versions
CN113364700A (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.)
Guangzhou Sanqi Mutual Entertainment Technology Co ltd
Original Assignee
Guangzhou Sanqi Mutual Entertainment 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 Guangzhou Sanqi Mutual Entertainment Technology Co ltd filed Critical Guangzhou Sanqi Mutual Entertainment Technology Co ltd
Priority to CN202110202616.7A priority Critical patent/CN113364700B/en
Publication of CN113364700A publication Critical patent/CN113364700A/en
Application granted granted Critical
Publication of CN113364700B publication Critical patent/CN113364700B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Abstract

The application discloses message processing system, server and electronic equipment, the system includes: the system comprises a first node, a second node and a third node, wherein the first node and the second node are producer nodes and consumer nodes, and the third node is a consumer node. The first node is used for providing information to one or both of a first channel and a second channel, and receiving information sent by the second node through the first channel; the second node is configured to provide information to one or both of the first channel and the third channel, and receive information sent by the first node through the first channel; the third node is configured to receive, through the second channel, information sent by the first node, and receive, through the third channel, information sent by the second node.

Description

Message processing system, server and electronic equipment
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a message processing system, a server, and an electronic device.
Background
In the process of message-driven-based application development, it is often necessary to implement message production and consumption by several producer nodes, several consumer nodes, and message queues to complete application development. The producer node is a node responsible for sending messages to the message queue, the consumer node is a node for acquiring the messages from the message queue, and the message queue is a middleware for storing information. Because the message queue can be used for storing information, no matter how fast the producer generates information, the normal operation of the background program can be ensured through the buffer memory of the intermediate message queue. However, when the system is used for developing an application based on message driving, it is found that the message needs to be cached through an intermediate message queue, so that the message transfer efficiency is not high, the message transfer between a producer node and a consumer node in the initial service period and the test environment is affected, and the message load of the system is increased.
Disclosure of Invention
The purpose of the application is to at least solve one of the technical problems existing in the prior art, and provide a message processing system, a server and an electronic device, which can improve the efficiency of message transmission between nodes and reduce the message load of the system under a specific environment.
An embodiment of the present application provides a message processing system, including: a first node, a second node, and a third node;
the first node is used for providing information to one or both of a first channel and a second channel, and receiving information sent by the second node through the first channel;
the second node is configured to provide information to one or both of the first channel and the third channel, and receive information sent by the first node through the first channel;
the third node is configured to receive, through the second channel, information sent by the first node, and receive, through the third channel, information sent by the second node.
Further, the first node is specifically configured to:
and respectively providing corresponding information for the first channel and the second channel according to the partitions corresponding to the first channel and the second channel.
Further, the partition is determined by a hash partition policy or a Round-robin partition policy.
Further, the first node is specifically configured to:
the same information is broadcast to the first channel and the second channel.
Further, the information provided by the first node to the first channel includes original information generated according to the consumption request of the third node;
the second node is further configured to:
and after receiving the original information sent by the first node through the first channel, consuming the original information to generate subscription information, and sending the subscription information to the third node through the third channel.
Further, the second node is specifically configured to:
receiving the consumption request of the third node through the third channel;
matching the consumption request with the original information, and determining redundant information which is not matched with the consumption request in the original information;
and consuming redundant information in the original information to generate the subscription information.
Further, the third node is further configured to:
and when the subscription information is received through the third channel, sending feedback information to the first node through the second channel.
Further, the first node is further configured to:
detecting the feedback information, and detecting whether acknowledgement information fed back by the second node through the first channel is received within a preset duration or not when the feedback information is not received, wherein the acknowledgement information is generated when the second node sends the subscription information to the third node through the third channel;
if yes, retransmitting the original information to the first channel;
otherwise, the original information is sent to the second channel.
Further, the APIs adopted by the first node, the second node, and the third node are the same.
Further, an embodiment of the present application provides a server, including: a memory, a processor and a computer program stored on the memory and executable on the processor, which when executed, performs the operations performed by any node of a message processing system as described in the above embodiments.
Further, an embodiment of the present application provides an electronic device, including: a memory, a processor and a computer program stored on the memory and executable on the processor, which when executed implements a message processing system as described in the above embodiments.
Further, embodiments of the present application provide a computer readable storage medium storing computer executable instructions for causing a computer to execute a message processing system as described in the above embodiments.
Compared with the prior art, in the above embodiment, the first node and the second node are producer nodes and consumer nodes, the third node is a consumer node, and the first node is configured to provide information for a channel between the first node and the second node and a channel between the first node and the third node, and receive information sent by the second node; the second node is used for providing information for a channel between the second node and the first node and a channel between the second node and the third node, and receiving the information sent by the first node; the third node is used for receiving the information sent by the first node and the second node, so that an intermediate message queue in the system is reduced to be cached, the message transmission efficiency between the producer node and the consumption node in the initial service period and the test environment can be improved, and the message load capacity of the system is reduced.
In the above embodiment, the first node provides the information corresponding to the partition according to the partition corresponding to the channel between the second nodes and the partition corresponding to the channel between the third nodes, so as to provide the information corresponding to the channel as much as possible, and thus, the consumption requirements of the second node and the third node can be met and the information transmission efficiency is improved.
The above embodiment adopts a hash partition strategy or a Round-robin partition strategy to determine the partitions of the channel, so that the data can be ensured to be evenly distributed in a predetermined number of partitions, or the partition distribution can be uniform when the subscription information of the partitions is the same.
The first node in the above embodiment broadcasts the same information to the channel between the second node and the channel between the third node, so that the message in the first node can be consumed more quickly.
In the above embodiment, the first node provides the original information generated according to the consumption request of the third node, and the second node consumes the original information sent by the first node to generate the subscription information and sends the subscription information to the third node, so that the information received by the third node can receive the information which is wanted to be processed to a certain extent after being filtered by the second node.
In the above embodiment, the second node receives the consumption request of the third node, determines the redundant information which is not matched with the consumption request in the original information, and consumes the redundant information to generate the subscription information, so that the redundant information filtered by the original information can be effectively consumed without affecting the message transmission of other nodes.
In the embodiment, when the third node receives the subscription information, the third node feeds back the subscription information to the first node, and the first node detects the feedback information and the confirmation information to monitor the subscription information receiving condition of the third node and the subscription information sending condition of the second node, so that the subscription information receiving condition in the third node can be timely and effectively adjusted, and the information quality is improved.
In the above embodiment, the first node, the second node and the third node adopt the same API, so that the message transfer efficiency between the nodes can be improved, and multiple devices are not required.
Drawings
The present application is further described below with reference to the drawings and examples;
FIG. 1 is a schematic diagram of a message processing system in one embodiment;
FIG. 2 is a flow chart of a first node detecting feedback information and acknowledgement information according to an embodiment;
FIG. 3 is a flow chart illustrating a first node detecting feedback information and acknowledgement information according to one embodiment;
FIG. 4 is a block diagram of a server in one embodiment;
fig. 5 is a block diagram of a computer device in one embodiment.
Detailed Description
Reference will now be made in detail to the present embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein the purpose of the accompanying drawings is to supplement the description of the written description section with figures, so that one can intuitively and intuitively understand each technical feature and overall technical scheme of the present application, but not to limit the scope of protection of the present application.
In the process of message-driven-based application development, it is often necessary to implement message production and consumption by several producer nodes, several consumer nodes, and message queues to complete application development. The producer node is a node responsible for sending messages to the message queue, the consumer node is a node for acquiring the messages from the message queue, and the message queue is a middleware for storing information. Because the message queue can be used for storing information, no matter how fast the producer generates information, the normal operation of the background program can be ensured through the buffer memory of the intermediate message queue. However, when the system is used for developing an application based on message driving, it is found that the message needs to be cached through an intermediate message queue, so that the message transfer efficiency is not high, the message transfer between a producer node and a consumer node in the initial service period and the test environment is affected, and the message load of the system is increased. The producer node is a computer or a computer cluster for generating data or information, the consumer node is a computer or a computer cluster for processing the data or the information, and the message queue is a computer or a computer cluster for storing the data or the information. The message queue obtains data from the producer node during initial service and in the testing environment and asynchronously writes to the database, and is sent to the consumer node when subscribed to by the consumer node. While high concurrency is less in the early stages of service and in the test environment.
In order to solve the above technical problems, an embodiment of the present application provides a message processing system. As shown in fig. 1, a schematic diagram of a message processing system in one embodiment is shown. The message processing system provided in the embodiments of the present application will be described and illustrated in detail below with reference to several specific embodiments.
As shown in fig. 1, in one embodiment, a message processing system is provided. Referring to fig. 1, the message processing system specifically includes: a first node1, a second node2 and a third node 3.
The first node1 is configured to provide information to one or both of a first channel and a second channel, and receive information sent by the second node2 through the first channel;
the second node2 is configured to provide information to one or both of the first channel and the third channel, and to receive information transmitted by the first node1 through the first channel.
The third node 3 is configured to receive information sent by the first node1 through the second channel, and receive information sent by the second node2 through the third channel.
In this embodiment, the first node1 and the second node2 are producer nodes, and the third node 3 is a consumer node. The channel between the first node and the second node is a first channel, the channel between the first node and the third node is a second channel, and the channel between the second node and the third node is a third channel. The channel is a communication channel between the nodes, is a medium for signal transmission, can be a wireless frequency band, and can also be a channel using a wire as a transmission medium. Wherein the first node and the second node use jar as a producer to provide information to the outside. Since there is no message queue in the system, the first node and the second node are producer nodes and consumer nodes at the same time. Therefore, the first node provides information to the second node through the first channel, the first node provides information to the third node through the second channel, the second node provides information to the first node through the first channel, the second node provides information to the third node through the third channel, the third node receives the information provided by the first node through the second channel, the third node receives the information provided by the second node through the third channel, and the first node can consume the information provided by the second node through the first channel, and the second node receives the information provided by the first node through the first channel.
In this embodiment, the information may be data or a data set, or may be a file, or may be an application program. The production is the construction of information, the development, input or extraction mode, the consumption is the processing of information, and the calculation, operation or other processing modes. The form of information and the manner of production and consumption are not particularly limited in this embodiment.
In this embodiment, the first node1 (producer node) provides information to one or both of the first channel or the second channel, and one or both of the second node2 (consumer node) or the third node 3 (consumer node) receives the information provided by the first node1 for consumption, respectively. Similarly, the second node2 (producer node) provides information to one or both of the first channel or the third channel, and one or both of the first node1 (consumer node) or the third node 3 (consumer node) receives information provided by the second node2 for consumption, respectively.
In the above embodiment, the first node and the second node are producer nodes and consumer nodes, the third node is a consumer node, and the first node is configured to provide information to a channel between the first node and the second node and a channel between the first node and the third node, and receive information sent by the second node; the second node is used for providing information for a channel between the second node and the first node and a channel between the second node and the third node, and receiving the information sent by the first node; the third node is used for receiving the information sent by the first node and the second node, so that an intermediate message queue in the system is reduced to be cached, the message transmission efficiency between the producer node and the consumption node in the initial service period and the test environment can be improved, and the message load capacity of the system is reduced.
In one embodiment, the first node1 is specifically configured to:
and providing corresponding information for the first channel and the second channel respectively according to the partitions corresponding to the first channel and the second channel.
In this embodiment, in order to better store, manage or query information provided by the first node and the second node, the information may be classified into different categories according to information type, information storage address, information size or information content, and each category corresponds to a different partition. The partitions to which the channels correspond refer to different ranges of information allocated to the channels that enable the first, second and third channels to be efficiently processed or better meet the needs of the consumer node. For example, the information provided by the first node1 (producer node) includes the recharge information of any game product, wherein the recharge information is divided into a category a, a category B, a category C and a category D according to the information size, and the 4 categories correspond to the information sizes of 0-1000, 2100-2500, 3100-4000 and 9000-10000 respectively. The partitions comprise a partition a, a partition b and a partition c, and the information ranges are 0-1000, 1001-2000 and 2001-3000 respectively. The information of the partition a can be efficiently processed for the first channel, and therefore, the first node provides the first channel with the information of the category a among the refill information of any game product according to the information range of the partition a. For the second channel, the consumer node wants to process the information of partition c, so the first node provides the information of category B in the refill information of any game product to the second channel according to the information range of partition c.
Likewise, in the present embodiment, the second node2 can be specifically used for:
and providing corresponding information for the first channel and the third channel respectively according to the corresponding subareas of the first channel and the third channel.
In this embodiment, the first node provides information corresponding to the partition according to the partition corresponding to the channel between the second nodes and the partition corresponding to the channel between the third nodes, so that information corresponding to the channel is provided as much as possible, the consumption requirements of the second nodes and the third nodes can be met, and the information transfer efficiency is improved.
In one embodiment, the partition is determined by a hash partition policy or a Round-robin partition policy.
In this embodiment, the information corresponding to the partition is determined by a hash partition policy, and the partition corresponding to the channel may be set manually or automatically matched. And the first node provides the information in the partition to the corresponding channel according to the partition matched with the channel by distributing the information to the corresponding partition determined according to the hash value.
In this embodiment, the hash value of the information may be calculated by a hash algorithm, where the hash algorithm may be MD4, MD5, SHA-1, etc. The hash value calculation method and the hash algorithm are relatively common, and are not described in detail in this embodiment.
After the hash value is calculated, a plurality of corresponding partitions can be determined by adopting a hash mode, a consistency hash mode and the like. For example, in the hash method, there are three partitions, namely node0, node1, node2, and information in total, and the hash values obtained by calculation are 247, 760, 903, 533, 302, respectively, and the number n=3 of the partitions is calculated by the hash value obtained by calculation, and the remainder indicates which partition the information corresponding to the hash value is in. Therefore, it can be seen that there is information corresponding to hash value 903 in node0, 247 and 760 in node1, 533 and 302 in node 2.
In this embodiment, the information corresponding to the partitions is determined by a Round-robin partition policy, and the partitions corresponding to the channels may be manually set or automatically matched. And distributing the information to the corresponding subareas in a polling mode, and providing the information in the subareas to the corresponding channels by the first node according to the subareas matched with the channels. If the information corresponding to the partitions is the same, then the partition allocation of the Round-robin strategy would be uniform. For example, there are 2 partitions C0 and C1, each corresponding to topics t0 and t1, and each topic has 3 pieces of information, then all the information corresponding can be identified as: t0p0, t0p1, t0p2, t1p0, t1p1, t1p2. The final distribution result is: partition C0: t0p0, t0p2, t1p1; partition C1: t0p1, t1p0, t1p2.
If the information corresponding to the partitions is not the same, then the partition allocation is not completely polled when it is performed, possibly resulting in non-uniformity of the partition allocation. If a partition does not correspond to a topic, then the partition will not have any information to this topic assigned at the time the partition is assigned.
For example, there are 3 partitions C0, C1, and C2, which have subscribed to a total of 3 topics: t0, t1, t2, these 3 topics have 1, 2, 3 pieces of information, respectively, i.e. 3 partitions correspond to 6 partitions of t0p0, t1p1, t2p0, t2p1, t2p2. Specifically, the partition C0 corresponds to the topic t0, the partition C1 corresponds to the topics t0 and t1, and the partition C2 corresponds to the topics t0, t1 and t2, so that the final allocation result is: partition C0: t0p0; partition C1: t1p0; partition C2: t1p1, t2p0, t2p1, t2p2.
In this embodiment, the hash partition policy or the Round-robin partition policy is used to determine the partition of the channel, so that it can be ensured that data is evenly distributed in a predetermined number of partitions, or that partition allocation is uniform when subscription information of the partitions is the same.
In one embodiment, the first node is specifically configured to:
the same information is broadcast to the first channel and the second channel.
In this embodiment, the computer or the computer cluster of the first node performs unconditional duplication and forwarding on the information provided by each of the first channel and the second channel, so that both the second node and the third node may receive the same information provided by the first node. Wherein the first node, the second node and the third node form a broadcast domain. And after the second node and the third node respectively receive the same information provided by the first node through the first channel and the second channel, the information is consumed.
Likewise, in the present embodiment, the second node can also be used for:
the same information is broadcast to the first channel and the third channel.
In this embodiment, the first node broadcasts the same information to the channel between the first node and the second node and the channel between the first node and the third node, so that the message in the first node can be consumed more quickly, the network device is simple, the maintenance is simple, the network deployment cost is low, and the information is not required to be provided to each channel separately, so that the traffic load of the node is low.
In one embodiment, the information provided by the first node to the first channel includes raw information generated from a consumption request of the third node.
The second node is further configured to:
and after receiving the original information sent by the first node through the first channel, consuming the original information to generate subscription information, and sending the subscription information to a third node through a third channel.
In this embodiment, the first node generates the original information according to the consumption request of the third node, where the original information includes only the original information generated according to the consumption request of the third node, or further includes information generated according to the consumption requests of other nodes, or further includes doped redundant information. The consumption request is information to be consumed by the node, and may specifically define information content, information type, information size, and the like. The consumption request of the third node can be set manually or generated by self-matching of the nodes. Generating the original information according to the consumption request of the third node may encrypt or format convert or filter the information in the first node according to the information in the consumption request. For example, the first node has login data and recharging data of any game product, and the consumption request of the third node is that the data content is the login data, at this time, the first node screens out the login data of any game product and provides the login data as original information to the first channel.
The first node generates original information and then transmits the original information to the second node through a first channel, and the second node receives the original information and then consumes the original information to generate subscription information, wherein the original information in the information is consumed, namely the original information is processed to generate the subscription information, and the processing mode can be encryption, format conversion, content simplification and the like. For example, the first node provides the original information to the second node through the first channel, the original information includes data 1-100, the original information generated according to the consumption request of the third node is also data 1-100, at this time, the second node performs format conversion on the data 1-100, converts the data 1-100 into hexadecimal representation form, obtains subscription information, and sends the subscription information to the third node through the third channel.
In this embodiment, the first node provides the original information generated according to the consumption request of the third node, and the second node consumes the original information sent by the first node to generate subscription information and sends the subscription information to the third node, so that the information received by the third node can receive the information which is wanted to be processed to a certain extent after being filtered by the second node.
In one embodiment, the second node is specifically configured to:
receiving a consumption request of a third node through a third channel;
matching the consumption request with the original information, and determining redundant information which is not matched with the consumption request in the original information;
and consuming redundant information in the original information to generate subscription information.
In this embodiment, the first node generates the original information according to the consumption request of the third node, where the original information includes only the original information generated according to the consumption request of the third node, or further includes information generated according to the consumption requests of other nodes, or further includes doped redundant information. The consumption request is information to be consumed by the node, and may specifically define information content, information type, information size, and the like. The consumption request of the third node can be set manually or generated by self-matching of the nodes. Generating the original information according to the consumption request of the third node may encrypt or format convert or filter the information in the first node according to the information in the consumption request. For example, the first node has login data and recharging data of any game product, and the consumption request of the third node is that the data content is the login data, at this time, the first node screens out the login data of any game product and provides the login data as original information to the first channel.
The first node transmits the original information to the second node through a first channel after generating the original information, and the second node determines information generated according to the third node consumption request in the original information transmitted by the first node according to the received third node consumption request, so as to determine redundant information except the information generated according to the third node consumption request. The matching manner of the consumption request and the information generated according to the third node consumption request may be that the original information includes an identifier of the third node consumption request, for example, the information generated according to the third node consumption request is data 51-100, each data format is 51-ysczg, …, 100-ysczg, and the consumption request is login data of songs in the cloud, so that the second node can identify that the data 51-100 is the original information corresponding to the consumption request.
The second node consumes redundant information in the original information, namely, consumes other information except the information generated according to the third node consumption request in the original information, and can convert or not process the rest of the information generated according to the third node consumption request to generate subscription information after consumption, wherein the second node consumes the redundant information, namely, filters the original information, consumes the redundant information to obtain the information generated according to the third node consumption request, processes the redundant information except the information generated according to the third node consumption request, and converts or not processes the information generated according to the third node consumption request to generate the subscription information. For example, the first node provides the original information to the second node through the first channel, the original information includes data 1-100, and the information generated according to the consumption request of the third node is data 51-100, so that the original information is doped with redundant information of data 1-50, at this time, the second node consumes 1-50 parts of data 1-100 in the original information, generates the rest of information 51-100 as subscription information after consuming, and sends the subscription information to the third node through the third channel.
In this embodiment, the second node receives the consumption request of the third node, determines the redundant information which is not matched with the consumption request in the original information, and consumes the redundant information to generate the subscription information, so that the redundant information filtered by the original information can be effectively consumed, and message transmission of other nodes is not affected.
In one embodiment, the information provided by the second node to the first channel includes raw information generated from a consumption request of the third node.
The first node is specifically configured to:
and after receiving the original information sent by the first node through the first channel, consuming the original information to generate subscription information, and sending the subscription information to a third node through a third channel.
The first node is further configured to:
receiving a consumption request of a third node through a third channel;
matching the consumption request with the original information, and determining redundant information which is not matched with the consumption request in the original information;
and consuming redundant information in the original information to generate subscription information.
In this embodiment, the first node receives the consumption request of the third node, determines redundant information that is not matched with the consumption request in the original information, and consumes the redundant information to generate the subscription information, so that the redundant information filtered by the original information can be effectively consumed, and message transmission of other nodes is not affected.
In one embodiment, the third node is further configured to:
upon receiving the subscription information over the third channel, feedback information is transmitted to the first node over the second channel.
In this embodiment, after receiving the subscription information through the third channel, the third node feeds back the information to the first node through the second channel, where the subscription information is obtained by filtering after the second node receives the information provided by the first node.
In this embodiment, the third node may also be configured to:
and when the subscription information is received through the second channel, sending feedback information to the second node through the third channel.
At this time, the second node is a node that generates original information according to the third node consumption request and provides the original information, and the first node is a node that filters the original information and sends the subscription information to the third node after generating the subscription information.
In this embodiment, the feedback information may be a data packet, a file, or a parameter, which is used for notifying, by the third node, that the first node or the second node subscribes to the condition that the information is successfully received.
In this embodiment, when the first node generates the original information according to the consumption request of the third node, the third node feeds back to the first node when receiving the subscription information; when the second node generates the original information according to the consumption request of the third node, the third node feeds back the subscription information to the second node when receiving the subscription information, so that the first node or the second node can timely and effectively adjust the receiving condition of the subscription information in the third node according to the feedback information, and the information quality is improved.
In one embodiment, the first node is further configured to:
detecting feedback information, and detecting whether acknowledgement information fed back by the second node through the first channel is received within preset duration or not when the feedback information is not received, wherein the acknowledgement information is generated when the second node sends subscription information to the third node through the third channel;
if yes, retransmitting the original information to the first channel;
otherwise, the original information is sent to the second channel.
In this embodiment, when the second node sends the subscription information to the third node through the third channel, acknowledgement information is generated, and after sending the subscription information to the third node, the acknowledgement information is fed back to the first node through the first channel. The confirmation information may be a data packet, a file or a parameter, and is used for the second node to notify the first node that subscription information is sent to the third node.
As shown in fig. 2, the first node may detect whether feedback information transmitted by the third node exists in the second channel, or traverse whether feedback information transmitted by the third node exists in a database storing information in the first node, and after the first node detects the feedback information and the feedback information has been successfully received, the first node ends the message provision this time. When the first node does not detect feedback information transmitted by the third node in the second channel or traverses feedback information transmitted by the third node which is not received in a database storing information in the first node, the first node can generate the subscription information by detecting whether the first channel has acknowledgement information transmitted by the second node or traversing whether the first node has acknowledgement information transmitted by the second node in the database storing information, and when the first node detects the acknowledgement information and the acknowledgement information is successfully received, the first node resends original information to the first channel, transmits the original information to the second node for filtering, the original information is generated according to a consumption request of the third node, and the second node filters the original information to generate the subscription information and transmits the subscription information to the third node. The second node filters consumption of the original information or consumption of redundant information in the original information in the above embodiment.
When the first node does not detect the confirmation information, the first node sends the original information to the second channel and transmits the original information to the third node.
In this embodiment, the first node monitors the receiving condition of the subscription information of the third node and the sending condition of the subscription information of the second node by detecting the feedback information and the acknowledgement information, so that the receiving condition of the subscription information in the third node can be timely and effectively adjusted, and the information quality is improved.
Likewise, in one embodiment, when the second node is a node that generates the original information according to the third node consumption request and provides the original information, the first node is a node that filters the original information, and sends the subscription information to the third node after generating the subscription information, the second node is further configured to:
detecting feedback information, and detecting whether acknowledgement information fed back by the first node through the first channel is received within preset duration or not when the feedback information is not received, wherein the acknowledgement information is generated when the first node sends subscription information to the third node through the second channel;
if yes, retransmitting the original information to the first channel;
otherwise, the original information is transmitted to the third channel.
In this embodiment, when the first node sends the subscription information to the third node through the second channel, acknowledgement information is generated, and after the subscription information is sent to the third node, the acknowledgement information is fed back to the second node through the first channel. The confirmation information may be a data packet, a file or a parameter, and is used for the first node to notify the second node that subscription information is sent to the third node.
As shown in fig. 3, the second node may detect whether feedback information transmitted by the third node exists in the third channel, or traverse whether feedback information transmitted by the third node exists in a database storing information in the second node, and after the second node detects the feedback information and the feedback information has been successfully received, the second node ends the message provision of this time. When the second node does not detect feedback information transmitted by the third node in the third channel or traverses feedback information transmitted by the third node which is not received in a database storing information in the second node, the second node can generate subscription information by detecting whether the first node transmits acknowledgement information or not in the first channel or traversing whether the second node stores acknowledgement information transmitted by the first node in the database, and when the second node detects the acknowledgement information and the acknowledgement information is successfully received, the second node resends original information to the first channel, transmits the original information to the first node for filtering, the original information is generated according to a consumption request of the third node, and the first node filters the original information to generate subscription information and sends the subscription information to the third node. The first node filters consumption of the original information or consumption of redundant information in the original information in the above embodiment.
When the second node does not detect the confirmation information, the second node sends the original information to the third channel and transmits the original information to the third node.
In this embodiment, the second node monitors the receiving condition of the subscription information of the third node and the sending condition of the subscription information of the first node by detecting the feedback information and the acknowledgement information, so that the receiving condition of the subscription information in the third node can be timely and effectively adjusted, and the information quality is improved.
In one embodiment, the first node, the second node, and the third node employ the same API.
The API (Application Programming Interface, application program interface) is a predefined interface (such as a function, HTTP interface), or refers to a convention in which different components of the software system are joined. In this embodiment, the first node, the second node and the third node are all computers or computer clusters, so that the specific form of the API is the prior art and will not be described herein. And the API is not particularly limited in this embodiment.
In this embodiment, the first node, the second node and the third node adopt the same API, so that the message transfer efficiency between the nodes can be improved, and multiple devices are not required.
In one embodiment, a server is provided, as shown in FIG. 4, comprising: a memory, a processor and a computer program stored on the memory and executable on the processor, which when executed, performs the operations performed by any node of a message processing system as described in the above embodiments.
In one embodiment, a computer apparatus is provided, as shown in FIG. 5, comprising a processor, a memory, a network interface, an input device, and a display screen connected by a system bus. The memory includes a nonvolatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system, and may also store a computer program, which when executed by the processor implements operations performed by any of the nodes of the message processing system described in the above embodiments. The internal memory may also have stored therein a computer program which, when executed by the processor, performs the operations performed by any node in the message processing system as described in the above embodiments. It will be appreciated by those skilled in the art that the structure shown in fig. 5 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, the message processing system provided herein may be implemented in the form of a computer program that is executable on a computer device as shown in FIG. 5. The memory of the computer device may store the various program modules that make up the message processing system. The processor, when executing the computer program of program modules, performs the operations performed by any of the nodes in the message processing system as described in the embodiments above.
In one embodiment, there is provided an electronic device including: a memory, a processor and a computer program stored on the memory and executable on the processor, which when executed implements a message processing system as described in the above embodiments.
In one embodiment, a computer-readable storage medium is provided, the computer-readable storage medium storing computer-executable instructions for causing a computer to perform operations performed by any one of the nodes in a message processing system as described in the above embodiments when the computer executes the executable instructions.
While the foregoing is directed to the preferred embodiments of the present application, it will be appreciated by those skilled in the art that changes and modifications may be made without departing from the principles of the present application, such changes and modifications are also intended to be within the scope of the present application.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored on a computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.

Claims (8)

1. A message processing system, comprising: a first node, a second node, and a third node; the first node and the second node are production nodes and consumer nodes, and the third node is a consumer node;
the first node is used for providing information to one or both of a first channel and a second channel, and receiving information sent by the second node through the first channel;
the second node is configured to provide information to one or both of the first channel and the third channel, and receive information sent by the first node through the first channel;
the third node is configured to receive, through the second channel, information sent by the first node, and receive, through the third channel, information sent by the second node;
the information provided by the first node to the first channel comprises original information generated according to the consumption request of the third node;
the second node is further configured to:
after receiving the original information sent by the first node through the first channel, consuming the original information to generate subscription information, and sending the subscription information to the third node through the third channel;
the third node is further configured to:
transmitting feedback information to the first node through the second channel when the subscription information is received through the third channel;
the first node is further configured to:
detecting the feedback information, and detecting whether acknowledgement information fed back by the second node through the first channel is received within a preset duration or not when the feedback information is not received, wherein the acknowledgement information is generated when the second node sends the subscription information to the third node through the third channel;
if yes, retransmitting the original information to the first channel;
otherwise, the original information is sent to the second channel.
2. The message processing system of claim 1, wherein the first node is specifically configured to:
and respectively providing corresponding information for the first channel and the second channel according to the partitions corresponding to the first channel and the second channel.
3. The message processing system of claim 2, wherein the partition is determined by a hash partition policy or a Round-robin partition policy.
4. The message processing system of claim 1, wherein the first node is specifically configured to:
the same information is broadcast to the first channel and the second channel.
5. The message processing system according to claim 1, wherein the second node is specifically configured to:
receiving the consumption request of the third node through the third channel;
matching the consumption request with the original information, and determining redundant information which is not matched with the consumption request in the original information;
and consuming redundant information in the original information to generate the subscription information.
6. The message processing system of claim 1, wherein the APIs employed by the first node, the second node, and the third node are the same.
7. A server, comprising: a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor performs the operations performed by any node in the message processing system of any one of claims 1 to 6 when the program is executed.
8. An electronic device, comprising: a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor performs the operations performed by any node in the message processing system of any one of claims 1 to 6 when the program is executed.
CN202110202616.7A 2021-02-23 2021-02-23 Message processing system, server and electronic equipment Active CN113364700B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110202616.7A CN113364700B (en) 2021-02-23 2021-02-23 Message processing system, server and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110202616.7A CN113364700B (en) 2021-02-23 2021-02-23 Message processing system, server and electronic equipment

Publications (2)

Publication Number Publication Date
CN113364700A CN113364700A (en) 2021-09-07
CN113364700B true CN113364700B (en) 2023-06-20

Family

ID=77524686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110202616.7A Active CN113364700B (en) 2021-02-23 2021-02-23 Message processing system, server and electronic equipment

Country Status (1)

Country Link
CN (1) CN113364700B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110217657A (en) * 2018-03-01 2019-09-10 通力股份公司 For transmitting the communication system of security information in elevator device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458637B (en) * 2007-12-13 2011-11-16 华为技术有限公司 Method, apparatus and system for implementing progress communication
US8155099B2 (en) * 2008-10-03 2012-04-10 Robert Bosch Gmbh Method of operating an event-driven, delay-critical wireless sensor network
CN105677494A (en) * 2016-02-01 2016-06-15 北京京东尚科信息技术有限公司 Message distribution method and device
US10740273B2 (en) * 2017-06-27 2020-08-11 Vmware, Inc. Schema to ensure payload validity for communications on an asynchronous channel based bus
CN112040552B (en) * 2020-11-05 2021-04-09 深圳职业技术学院 Internet of things terminal access method based on positioning assistance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110217657A (en) * 2018-03-01 2019-09-10 通力股份公司 For transmitting the communication system of security information in elevator device

Also Published As

Publication number Publication date
CN113364700A (en) 2021-09-07

Similar Documents

Publication Publication Date Title
US20210337046A1 (en) Intelligent scheduling method, terminal device, edge node cluster and intelligent scheduling system
US10341792B1 (en) System for distributing audio output using multiple devices
CN111818112B (en) Kafka system-based message sending method and device
CN105159781B (en) Adjust the method, apparatus and intelligent terminal of intelligent terminal application network speed
CN111258737B (en) Resource scheduling method and device and filter scheduler
EP1903750A1 (en) Load distributing apparatus
CN108848530B (en) Method and device for acquiring network resources and scheduling server
CN112118315A (en) Data processing system, method, device, electronic equipment and storage medium
WO2023103419A1 (en) Message queue-based method and apparatus for sending 5g messages in batches, and electronic device
US20160344582A1 (en) Call home cluster
CN109167819B (en) Data synchronization system, method, device and storage medium
CN108650333B (en) Method, medium, device and system for distributing node load in block chain system
CN107819632A (en) A kind of dynamic load leveling group system based on performance monitoring system and Docker Swarm
US9992140B2 (en) Electronic apparatus, server, and control method of system
KR102006418B1 (en) Device programming system with data broadcast and method of operation thereof
CN103428260A (en) System and method for allocating server to terminal and efficiently delivering messages to the terminal
CN114281524A (en) Intelligent cable service processing system management method and device
CN113364700B (en) Message processing system, server and electronic equipment
CN106657195B (en) Task processing method and relay device
CN111930710A (en) Method for distributing big data content
CN114095571A (en) Data processing method, data service bus, terminal and storage medium
CN109670932B (en) Credit data accounting method, apparatus, system and computer storage medium
CN115220993B (en) Process monitoring method and device, vehicle and storage medium
US9967163B2 (en) Message system for avoiding processing-performance decline
CN111104231A (en) Message receiving and sending method, receiving and sending device, server and system in multi-level environment

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