CN109428682A - A kind of Message Processing confirmation method and device - Google Patents

A kind of Message Processing confirmation method and device Download PDF

Info

Publication number
CN109428682A
CN109428682A CN201710731150.3A CN201710731150A CN109428682A CN 109428682 A CN109428682 A CN 109428682A CN 201710731150 A CN201710731150 A CN 201710731150A CN 109428682 A CN109428682 A CN 109428682A
Authority
CN
China
Prior art keywords
message
confirmation
easynetq
rabbitmq
processing
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
CN201710731150.3A
Other languages
Chinese (zh)
Other versions
CN109428682B (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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710731150.3A priority Critical patent/CN109428682B/en
Publication of CN109428682A publication Critical patent/CN109428682A/en
Application granted granted Critical
Publication of CN109428682B publication Critical patent/CN109428682B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers

Abstract

The invention discloses a kind of Message Processing confirmation method and devices, send bulk messages confirmation request from message call end to EasyNetQ;After EasyNetQ receives bulk messages confirmation request, the smallest counting mark of numerical value in the message of current untreated completion is obtained.Then, it is less than the smallest processed message of whole for counting mark of the numerical value for numerical value and carries out batch confirmation, i.e., a batch processing confirmation message is sent to RabbitMQ, it can be realized while logarithm is less than the smallest confirmation for counting the processed message of whole identified of the numerical value, that is, sending confirmation of the confirmation message realization to multiple messages.This method, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process.Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.

Description

A kind of Message Processing confirmation method and device
Technical field
The invention belongs to field of computer technology more particularly to a kind of Message Processing confirmation methods and device.
Background technique
RabbitMQ is one of the open source message queue being most widely used at present, in order to allow user under all kinds of scenes It can be interacted with RabbitMQ, RabbitMQ official and third party are proposed suitable for various development languages RabbitMQ client.
EasyNetQ is exactly one of the RabbitMQ client that open source is realized, EasyNetQ is developed using C# language, is base A kind of convenient, reliable access RabbitMQ ability is provided in the program that .Net writes, therefore, EasyNetQ is under .Net environment It is widely used.When consuming the message in RabbitMQ using EasyNetQ, EasyNetQ can be after Message Processing certainly Trend RabbitMQ send confirmation message (that is, ACK), and RabbitMQ once receive ACK think corresponding message by Caller is disposed, to delete corresponding message in the queue.
But when message (persistent message for especially needing to be written hard disk) is quickly consumed, this every message The mechanism for all sending ACK automatically, can reduce the performance of entire information consumption process;In addition, if obtaining the thread of message only It is dispatcher, and really carrying out business processing to message is other threads, the mechanism of this automatic ACK is also resulted in message Note that RabbitMQ consumption is completed before being really disposed, this meeting is so that is occurred during message carries out business processing appoints What abnormal loss that all may cause message.
Summary of the invention
In view of the above problems, it proposes the present invention provides a kind of Message Processing confirmation method and device, to solve EasyNetQ sends ACK for every message automatically, thus the technical issues of declining information consumption process performance.It is specific Technical solution it is as follows:
In a first aspect, being applied in client EasyNetQ this application provides a kind of Message Processing confirmation method, packet It includes:
The bulk messages confirmation request that message call end is sent is received, the bulk messages confirmation request is described for making EasyNetQ sends the batch processing confirmation message for being directed at least two message to message queue RabbitMQ;
According to the bulk messages confirmation request, all message to be confirmed is obtained, the message to be confirmed is currently processed The message of complete and not sent processing confirmation message;
Batch processing confirmation message is sent to the RabbitMQ, the batch processing confirmation message is described complete for showing Portion's message to be confirmed has been dealt with into.
Optionally, described according to the bulk messages confirmation request, obtain all message to be confirmed, comprising:
The smallest counting mark of numerical value in the message of current untreated completion is obtained, the counting mark is for indicating from institute The sequence that message is read in RabbitMQ is stated, the numerical value for counting mark is smaller to show that message is read from RabbitMQ gets over It is early;
Determining that the counting identification value is less than the smallest counting of the numerical value to identify corresponding message is described to true Recognize message.
Optionally, described according to the bulk messages confirmation request, obtain in the message of current untreated completion numerical value most Small counting mark, comprising:
It parses the bulk messages confirmation request and obtains the smallest counting mark of numerical value in the message of the not processed completion Know;
Alternatively,
Receive the message processing state that the message call end is sent;According to the message processing state, determine described The smallest counting mark of numerical value in the message of untreated completion.
Optionally the method also includes: when detect to target message carry out business processing failure after, Xiang Suoshu Message is denied in RabbitMQ transmission, described to deny message for marking the RabbitMQ again the state of the target message It is denoted as readable state.
Second aspect, present invention also provides a kind of Message Processing confirmation methods, are applied in message call end, comprising:
Message to be processed is read from client EasyNetQ;
Whether detection current state meets preset condition, and the preset condition, which includes: that distance is last, sends bulk messages The time of confirmation request meets preset period of time, or, unacknowledged message number reaches preset quantity;
When the current state meets the preset condition, Xiang Suoshu EasyNetQ sends bulk messages confirmation request, The bulk messages confirmation request is for sending the EasyNetQ at least two message to message queue RabbitMQ Confirmation message.
Optionally, the method also includes:
After detecting the business processing failure to target message progress, Xiang Suoshu EasyNetQ sends Message Processing failure Message, so that the EasyNetQ, which is received, denies message to RabbitMQ transmission after Message Processing failed message, it is described Deny message for re-flagging the RabbitMQ for readable state the state of the target message.
The third aspect, this application provides a kind of Message Processings to confirm device, is applied in client EasyNetQ, packet It includes:
Receiving unit, for receiving the bulk messages confirmation request of message call end transmission, the bulk messages confirmation is asked Seek the batch processing confirmation message for making the EasyNetQ to message queue RabbitMQ transmission at least two message;
Acquiring unit, it is described to be confirmed to disappear for according to the bulk messages confirmation request, obtaining all message to be confirmed Breath is the message of currently processed complete and not sent processing confirmation message;
Transmission unit, for sending batch processing confirmation message, the batch processing confirmation message to the RabbitMQ For showing that whole message to be confirmed has been dealt with into.
Fourth aspect, present invention also provides a kind of Message Processings to confirm device, is applied in message call end, comprising:
Reading unit, for reading message to be processed from client EasyNetQ;
Detection unit, for detecting whether current state meets preset condition, the preset condition includes: that distance is last The time for sending bulk messages confirmation request meets preset period of time, or, unacknowledged message number reaches preset quantity;
Transmission unit, for when the current state meets the preset condition, Xiang Suoshu EasyNetQ to send batch Message confirmation request, the bulk messages confirmation request is for being directed to the EasyNetQ to message queue RabbitMQ transmission The confirmation message of at least two message.
5th aspect, this application provides a kind of storage mediums, program are stored thereon with, when which is executed by processor Realize any one of the above Message Processing confirmation method.
6th aspect, present invention also provides a kind of processor, the processor is for running program, described program operation Shi Zhihang any one of the above Message Processing confirmation method.
7th aspect, the application provide a kind of storage medium, are stored thereon with program, real when which is executed by processor Existing any one of the above Message Processing confirmation method.
Eighth aspect, the application also provide a kind of processor, and the processor is for running program, when described program is run Execute any one of the above Message Processing confirmation method.
Message Processing confirmation method provided by the invention sends from message call end to client (that is, EasyNetQ) and criticizes Measure message confirmation request;After EasyNetQ receives bulk messages confirmation request, number in the message of current untreated completion is obtained It is worth the smallest counting mark.Then, it is less than the smallest processed message of whole for counting mark of the numerical value for numerical value to carry out Batch confirms, that is, sends a batch processing confirmation message to RabbitMQ, can be realized while logarithm is less than the numerical value The confirmation of the smallest processed message of whole for counting mark is realized to multiple messages really that is, sending a confirmation message Recognize.This method, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process. Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.
The above description is only an overview of the technical scheme of the present invention, in order to better understand the technical means of the present invention, And it can be implemented in accordance with the contents of the specification, and in order to allow above and other objects of the present invention, feature and advantage can It is clearer and more comprehensible, the followings are specific embodiments of the present invention.
Detailed description of the invention
By reading the following detailed description of the preferred embodiment, various other advantages and benefits are common for this field Technical staff will become clear.The drawings are only for the purpose of illustrating a preferred embodiment, and is not considered as to the present invention Limitation.And throughout the drawings, the same reference numbers will be used to refer to the same parts.In the accompanying drawings:
Fig. 1 shows a kind of flow chart of Message Processing confirmation method of the embodiment of the present application;
Fig. 2 shows a kind of flow charts for obtaining all message process to be confirmed of the embodiment of the present application;
Fig. 3 shows the flow chart of the embodiment of the present application another kind Message Processing confirmation method;
Fig. 4 shows the flow chart of another Message Processing confirmation method of the embodiment of the present application;
Fig. 5 shows a kind of block diagram of Message Processing confirmation device of the embodiment of the present application;
Fig. 6 shows a kind of block diagram of acquiring unit of the embodiment of the present application;
Fig. 7 shows the block diagram of the embodiment of the present application another kind Message Processing confirmation device.
Specific embodiment
The exemplary embodiment of the application is more fully described below with reference to accompanying drawings.Although showing the application in attached drawing Exemplary embodiment, it being understood, however, that may be realized in various forms the application without should be by embodiments set forth here It is limited.It is to be able to thoroughly understand the application on the contrary, providing these embodiments, and can be by scope of the present application It is fully disclosed to those skilled in the art.
Referring to Figure 1, a kind of flow chart of Message Processing confirmation method of the embodiment of the present application is shown, this method is applied to In the client EasyNetQ of RabbitMQ, as shown in Figure 1, this method may comprise steps of:
S110, EasyNetQ receive the bulk messages confirmation request that message call end is sent.
The bulk messages confirmation request is for sending EasyNetQ at least two to message queue RabbitMQ The batch processing confirmation message of message.
Message call end can call message and carry out corresponding business processing to message;EasyNetQ is a group in fact Part after EasyNetQ component is installed at message call end, can read the message in RabbitMQ by calling EasyNetQ, when The state at message call end meets preset condition (for example, current time distance is last to send bulk messages confirmation request (ACK Request) meet predetermined period, alternatively, unidentified message number reaches preset quantity) when, ACK, which is sent, to EasyNetQ asks It asks, sends ACK to trigger EasyNetQ to RabbitMQ.
S120, EasyNetQ obtain all message to be confirmed according to bulk messages confirmation request.
Wherein, message to be confirmed refers to the message of currently processed complete and not sent processing confirmation message.
In one embodiment of the application, as shown in Fig. 2, S120 may comprise steps of:
S121 obtains the smallest counting mark of numerical value in the message of current untreated completion.
Wherein, sequence of the mark for indicating to read message from the RabbitMQ is counted, the numerical value for counting mark is got over It is small to show that reading message is more early from RabbitMQ.
After EasyNetQ receives ACK request, the smallest counting mark of numerical value in the message of current untreated completion is obtained; The message of untreated completion refers to the message for not completing corresponding business processing.
After EasyNetQ sets up connection between RabbitMQ every time, several are established according to particular condition in use Channel, moreover, EasyNetQ will create an independent channel to the production or consumption of RabbitMQ, each The message communicated between channel sequential delivery EasyNetQ and RabbitMQ will not destroy easily after channel creation.
Each message that EasyNetQ is consumed from RabbitMQ all carries a deliverTag, as label; DeliverTag is the positive integer of a monotonic increase, and the scope of deliverTag is only limitted to the channel belonging to it.This reality Apply the i.e. deliverTag of counting mark in example.
In the application one embodiment, in message that the untreated completion is transmitted from from message call end to EasyNetQ The smallest counting mark of numerical value.The message of the untreated completion is carried in the bulk messages confirmation request that message call end is sent The middle the smallest counting mark of numerical value, EasyNetQ parsing bulk messages confirmation request can be obtained number in the message of untreated completion It is worth the smallest counting mark.Under such application scenarios, message call end records message processing state, when needing to send bulk messages When confirmation request, the smallest counting of numerical value in the message of current untreated completion is obtained according to the message processing state of record and is identified And pass to EasyNetQ.
In another embodiment of the application, it is the smallest that EasyNetQ voluntarily obtains numerical value in the message of not processed completion Count mark.Message call end is every to have handled a piece of news all can send the processing status of the message to EasyNetQ, so that EasyNetQ knows the message processing state at message call end in real time and records the processing status of each message.In this way, The processing status for each message that EasyNetQ is recorded according to oneself, and determined according to the processing status of message not processed complete At message in numerical value the smallest counting mark.
S122 determines that counting identification value to be less than the smallest counting of numerical value to identify corresponding message is message to be confirmed.
S130, EasyNetQ send batch processing confirmation message to RabbitMQ.
The numerical value that the batch processing confirmation message is used to show to count mark is less than the smallest counting mark of the numerical value Message have been dealt with into.
In one embodiment of the application, the ACK method is added in the IAdvancedBus interface of EasyNetQ, and This method is realized in RabbitAdvancedBus class.This method is supported to be asked according to the deliverTag got by single Seek the ACK for completing multiple messages.
For example, realizing that the code RabbitAdvancedBus.cs of ACK method is as follows:
EasyNetQ detect in ACK method " multiple " enter to join biography value be " True " when, RabbitMQ will be considered that DeliverTag value is less than this and message corresponding to the deliverTag value of ginseng is called all to be processed by EasyNetQ Function." multiple " confirms for being shown to be batch.
Message Processing confirmation method provided in this embodiment is sent from message call end to client (that is, EasyNetQ) Bulk messages confirmation request;After EasyNetQ receives bulk messages confirmation request, in the message of the current untreated completion of acquisition The smallest counting mark of numerical value.Then, for numerical value be less than the numerical value it is the smallest count mark the processed message of whole into Row batch confirms, that is, sends a batch processing confirmation message to RabbitMQ, can be realized while logarithm is less than the number It is worth the confirmation of the smallest processed message of whole for counting mark, realizes that is, sending a confirmation message to multiple messages Confirmation.This method, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process. Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.
Fig. 3 is referred to, the flow chart of the embodiment of the present application another kind Message Processing confirmation method, this method application are shown In EasyNetQ, on the basis of this method embodiment shown in Fig. 1 can with the following steps are included:
S210 denies message to RabbitMQ transmission after detecting the business processing failure to target message progress.
Target message refers to any a piece of news read from RabbitMQ.
After message call end fails to the business processing that the message carries out, message call end is called in EasyNetQ NACK method realizes NACK.
After message call end fails to the business processing that message carries out, Message Processing can be sent to EasyNetQ and unsuccessfully disappeared Breath, in this way, EasyNetQ can know business processing failure news.Then, EasyNetQ denies disappearing to RabbitMQ transmission Breath, i.e. NACK.NACK is for re-flagging RabbitMQ for readable state business processing failure news state, so that should Message can be regained by subsequent consumer requests and carry out corresponding business processing.
In one embodiment of the application, the side NAck can be added in the IAdvancedBus interface of EasyNetQ Method, and this method is realized in RabbitAdvancedBus class, realize the core code of NACK method RabbitAdvancedBus.cs is as follows:
Wherein, " deliveryTag " is the corresponding counting mark of business processing failure news;" false " refer to not into Row batch is submitted, because batch submits NACK nonsensical;" true " refer to send NACK message need to return in queue from And it can be got and be handled again again.
Message Processing confirmation method provided in this embodiment, after business processing failure of the message call end to message, EasyNetQ is able to detect that business processing failure news, then, NACK is sent from EasyNetQ to RabbitMQ, to make The message is labeled as readable state again by RabbitMQ, to enable the message to be regained simultaneously by subsequent message request Corresponding business processing is carried out, to avoid the information drop-out in RabbitMQ.
Fig. 4 is referred to, the flow chart of another Message Processing confirmation method of the embodiment of the present application, this method application are shown In message call end, which is the side for needing to read message, for example, it may be application program.
As shown in figure 4, this method may comprise steps of:
S310 reads message to be processed from EasyNetQ, and carries out business processing.
S320, after the completion of business processing, whether detection current state meets preset condition;If it is satisfied, then executing S330;S310 is executed if conditions are not met, then returning.
Whether message call end can include the population size of message according to each channel, be the letter such as persistent message Cease the confirmation of flexible choice batch or every all automatic ACK.If necessary to batch ACK mechanism, then initialized at message call end ManualAckHandlerRunner is registered when EasyNetQ;And when using original automatic ACK mechanism, it needs to register HandlerRunner (this is original automatic ACK implementation method).
In one embodiment of the application, if realization is derived from HandlerRunner type after selection batch confirms ManualAckHandlerRunner type rewrites the methods of GetAckStrategy, so that the message handled by the type, No longer send ACK automatically after Message Processing.
After selection batch confirms, whether preset condition is met according to current state and is requested to determine whether to send ACK, For example, preset condition may include the last time for sending ACK request meeting preset period of time, alternatively, unacknowledged disappear Breath quantity has reached preset quantity.
S330 sends bulk messages confirmation request to EasyNetQ.
The bulk messages confirmation request is for making EasyNetQ send confirmation message to message queue RabbitMQ. After RabbitMQ receives the ACK of EasyNetQ transmission, confirm that the message has been dealt with into, can delete from memory should Message.
S340 sends Message Processing failed message to EasyNetQ after business processing failure, so that EasyNetQ is received Deny message to RabbitMQ transmission after to Message Processing failed message.
Deny message for re-flagging RabbitMQ for readable state the state of target message.
After business processing failure to target message, message call end or business processing end send message to EasyNetQ Processing failure message;After EasyNetQ receives the message, determines the business processing failure of target message, sent to RabbitMQ After NACK, RabbitMQ receive NACK, confirms that the Message Processing fails, the message is labeled as readable state again, so that The target message can be regained by subsequent consumer requests and carry out corresponding business processing.
Message Processing confirmation method provided in this embodiment is sent from message call end to client (that is, EasyNetQ) Bulk messages confirmation request;After EasyNetQ receives bulk messages confirmation request, in the message of the current untreated completion of acquisition The smallest counting mark of numerical value.Then, for numerical value be less than the numerical value it is the smallest count mark the processed message of whole into Row batch confirms, that is, sends a batch processing confirmation message to RabbitMQ, can be realized while logarithm is less than the number It is worth the confirmation of the smallest processed message of whole for counting mark, realizes that is, sending a confirmation message to multiple messages Confirmation.This method, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process. Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.
Corresponding to above-mentioned Message Processing confirmation method embodiment, present invention also provides Message Processing confirmation devices to implement Example.
Fig. 5 is referred to, a kind of block diagram of Message Processing confirmation device of the embodiment of the present application is shown, which is applied to In EasyNetQ, as shown in figure 5, the apparatus may include: receiving unit 110, acquiring unit 120 and transmission unit 130.
Receiving unit 110, for receiving the bulk messages confirmation request of message call end transmission.
The bulk messages confirmation request is for sending EasyNetQ at least two to message queue RabbitMQ The batch processing confirmation message of message.
When the state at message call end meets preset condition (for example, current time distance is last to send ACK request satisfaction Predetermined period, alternatively, unidentified message number reaches preset quantity) when, ACK request is sent to EasyNetQ, with triggering EasyNetQ sends ACK to RabbitMQ.
Bulk messages confirmation request is for sending EasyNetQ at least two message to message queue RabbitMQ Batch processing confirmation message.
Acquiring unit 120, for obtaining all message to be confirmed according to the bulk messages confirmation request.
The message to be confirmed is the message of currently processed complete and not sent processing confirmation message.
Fig. 6 is referred to, a kind of block diagram of acquiring unit of the embodiment of the present application is shown, as shown in fig. 6, the acquiring unit 120 may include: to obtain subelement 121 and determining subelement 122.
Subelement 121 is obtained, the smallest counting mark of numerical value in the message for obtaining current untreated completion.
The sequence that mark is counted for indicating to read message from the RabbitMQ, the numerical value for counting mark It is smaller to show that reading message is more early from RabbitMQ, conversely, the numerical value for counting mark shows to read from from RabbitMQ more greatly Take message more late.
After EasyNetQ receives ACK request, the smallest counting mark of numerical value in the message of current untreated completion is obtained; The message of untreated completion refers to the message for not completing corresponding business processing.
In the application one embodiment, in message that the untreated completion is transmitted from from message call end to EasyNetQ The smallest counting mark of numerical value.The message of the untreated completion is carried in the bulk messages confirmation request that message call end is sent The middle the smallest counting mark of numerical value, EasyNetQ parsing bulk messages confirmation request can be obtained number in the message of untreated completion It is worth the smallest counting mark.Under such application scenarios, message call end records message processing state, when needing to send bulk messages When confirmation request, the smallest counting of numerical value in the message of current untreated completion is obtained according to the message processing state of record and is identified And pass to EasyNetQ.
In another embodiment of the application, it is the smallest that EasyNetQ voluntarily obtains numerical value in the message of not processed completion Count mark.Message call end is every to have handled a piece of news all can send the processing status of the message to EasyNetQ, so that EasyNetQ knows the message processing state at message call end in real time and records the processing status of each message.In this way, The processing status for each message that EasyNetQ is recorded according to oneself, and determined according to the processing status of message not processed complete At message in numerical value the smallest counting mark.
Subelement 122 is determined, for determining that it is equal that counting identification value is less than the corresponding message of the smallest counting mark of numerical value For message to be confirmed.
Transmission unit 130, for sending batch processing confirmation message to the RabbitMQ.
The batch processing confirmation message is for showing that whole message to be confirmed has been dealt with into.
Message Processing provided in this embodiment confirms device, is sent from message call end to client (that is, EasyNetQ) Bulk messages confirmation request;After EasyNetQ receives bulk messages confirmation request, in the message of the current untreated completion of acquisition The smallest counting mark of numerical value.Then, for numerical value be less than the numerical value it is the smallest count mark the processed message of whole into Row batch confirms, that is, sends a batch processing confirmation message to RabbitMQ, can be realized while logarithm is less than the number It is worth the confirmation of the smallest processed message of whole for counting mark, realizes that is, sending a confirmation message to multiple messages Confirmation.The device, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process. Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.
Optionally, Message Processing confirmation device further includes denying message sending unit 140.
Deny message sending unit 140, for when detect to target message carry out business processing failure after, Xiang Suoshu Message is denied in RabbitMQ transmission.
It is described to deny message for re-flagging the RabbitMQ for readable state the state of the target message.
Target message refers to any a piece of news read from RabbitMQ.
After message call end fails to the business processing that message carries out, Message Processing can be sent to EasyNetQ and unsuccessfully disappeared Breath, in this way, EasyNetQ can know business processing failure news.Then, EasyNetQ denies disappearing to RabbitMQ transmission Breath, i.e. NACK.NACK is for re-flagging RabbitMQ for readable state business processing failure news state, so that should Message can be regained by subsequent consumer requests and carry out corresponding business processing.
Message Processing provided in this embodiment confirms device, after business processing failure of the message call end to message, EasyNetQ is able to detect that business processing failure news, then, NACK is sent from EasyNetQ to RabbitMQ, to make The message is labeled as readable state again by RabbitMQ, to enable the message to be regained simultaneously by subsequent message request Corresponding business processing is carried out, to avoid the information drop-out in RabbitMQ.
Fig. 7 is referred to, the block diagram of the embodiment of the present application another kind Message Processing confirmation device is shown, which is applied to In message call end, which is the side for needing to read message, for example, it may be application program.
As shown in fig. 7, the apparatus may include: reading unit 210, detection unit 220 and transmission unit 230.
Reading unit 210, for reading message to be processed from client EasyNetQ.
Detection unit 220, for detecting whether current state meets preset condition;
The preset condition includes: the distance last time for sending bulk messages confirmation request to meet preset time week Phase, or, unacknowledged message number reaches preset quantity.
Whether message call end can include the population size of message according to each channel, be the letter such as persistent message Cease the confirmation of flexible choice batch or every all automatic ACK.If necessary to batch ACK mechanism, then initialized at message call end ManualAckHandlerRunner is registered when EasyNetQ;And when using original automatic ACK mechanism, it needs to register HandlerRunner (this is original automatic ACK implementation method).
In one embodiment of the application, if realization is derived from HandlerRunner type after selection batch confirms ManualAckHandlerRunner type rewrites the methods of GetAckStrategy, so that the message handled by the type, No longer send ACK automatically after Message Processing.
After selection batch confirms, whether preset condition is met according to current state to determine whether to send ACK request.
Transmission unit 230, for sending bulk messages confirmation to EasyNetQ and asking when current state meets preset condition It asks.
The bulk messages confirmation request is for sending EasyNetQ at least two to message queue RabbitMQ The confirmation message of message.
The bulk messages confirmation request is for making EasyNetQ send confirmation message to message queue RabbitMQ. After RabbitMQ receives the ACK of EasyNetQ transmission, confirm that the message has been dealt with into, can delete from memory should Message.
Optionally, Message Processing confirmation device can also include: failed message transmission unit 240, detect for working as After the business processing failure carried out to target message, Message Processing failed message is sent to EasyNetQ, so that EasyNetQ connects It receives and denies message to RabbitMQ transmission after Message Processing failed message.
It is described to deny message for re-flagging RabbitMQ for readable state the state of target message.
After business processing failure to target message, message call end or business processing end send message to EasyNetQ Processing failure message;After EasyNetQ receives the message, determines the business processing failure of target message, sent to RabbitMQ After NACK, RabbitMQ receive NACK, confirms that the Message Processing fails, the message is labeled as readable state again, so that The target message can be regained by subsequent consumer requests and carry out corresponding business processing.
Message Processing provided in this embodiment confirms device, is sent from message call end to client (that is, EasyNetQ) Bulk messages confirmation request;After EasyNetQ receives bulk messages confirmation request, in the message of the current untreated completion of acquisition The smallest counting mark of numerical value.Then, for numerical value be less than the numerical value it is the smallest count mark the processed message of whole into Row batch confirms, that is, sends a batch processing confirmation message to RabbitMQ, can be realized while logarithm is less than the number It is worth the confirmation of the smallest processed message of whole for counting mark, realizes that is, sending a confirmation message to multiple messages Confirmation.The device, which is realized, carries out an ACK to the processed message of batch, to improve the performance of entire information consumption process. Moreover, also avoiding the phenomenon that sending ACK for the message finished untreated in business generation, information drop-out is prevented.
The Message Processing confirmation device includes processor and memory, above-mentioned receiving unit, acquiring unit, transmission unit With deny message sending unit etc. as program unit storage in memory, executed by processor stored in memory Above procedure unit realizes corresponding function.
Include kernel in processor, is gone in memory to transfer corresponding program unit by kernel.Kernel can be set one Or more, realize that sending confirmation message realizes confirmation to multiple messages by adjusting kernel parameter.
Memory may include the non-volatile memory in computer-readable medium, random access memory (RAM) and/ Or the forms such as Nonvolatile memory, if read-only memory (ROM) or flash memory (flash RAM), memory include that at least one is deposited Store up chip.
The embodiment of the invention provides a kind of storage mediums, are stored thereon with program, real when which is executed by processor The existing Message Processing confirmation method.
The embodiment of the invention provides a kind of processor, the processor is for running program, wherein described program operation Message Processing confirmation method described in Shi Zhihang.
The embodiment of the invention provides a kind of equipment, equipment include processor, memory and storage on a memory and can The program run on a processor, processor perform the steps of when executing program
The bulk messages confirmation request that message call end is sent is received, the bulk messages confirmation request is described for making EasyNetQ sends the batch processing confirmation message for being directed at least two message to message queue RabbitMQ;
According to the bulk messages confirmation request, all message to be confirmed is obtained, the message to be confirmed is currently processed The message of complete and not sent processing confirmation message;
Batch processing confirmation message is sent to the RabbitMQ, the batch processing confirmation message is described complete for showing Portion's message to be confirmed has been dealt with into.
Optionally, described according to the bulk messages confirmation request, obtain all message to be confirmed, comprising:
The smallest counting mark of numerical value in the message of current untreated completion is obtained, the counting mark is for indicating from institute The sequence that message is read in RabbitMQ is stated, the numerical value for counting mark is smaller to show that message is read from RabbitMQ gets over It is early;
Determining that the counting identification value is less than the smallest counting of the numerical value to identify corresponding message is described to true Recognize message.
Optionally, described according to the bulk messages confirmation request, obtain in the message of current untreated completion numerical value most Small counting mark, comprising:
It parses the bulk messages confirmation request and obtains the smallest counting mark of numerical value in the message of the not processed completion Know;
Alternatively,
Receive the message processing state that the message call end is sent;According to the message processing state, determine described The smallest counting mark of numerical value in the message of untreated completion.
Optionally, the method also includes: when detect to target message carry out business processing failure after, Xiang Suoshu Message is denied in RabbitMQ transmission, described to deny message for marking the RabbitMQ again the state of the target message It is denoted as readable state.
Present invention also provides another equipment, equipment include processor, memory and storage on a memory and can be The program run on processor, processor perform the steps of when executing program
Message to be processed is read from client EasyNetQ;
Whether detection current state meets preset condition, and the preset condition, which includes: that distance is last, sends bulk messages The time of confirmation request meets preset period of time, or, unacknowledged message number reaches preset quantity;
When the current state meets the preset condition, Xiang Suoshu EasyNetQ sends bulk messages confirmation request, The bulk messages confirmation request is for sending the EasyNetQ at least two message to message queue RabbitMQ Confirmation message.
Optionally, the method also includes:
After detecting the business processing failure to target message progress, Xiang Suoshu EasyNetQ sends Message Processing failure Message, so that the EasyNetQ, which is received, denies message to RabbitMQ transmission after Message Processing failed message, it is described Deny message for re-flagging the RabbitMQ for readable state the state of the target message.
Equipment herein can be server, PC, PAD, mobile phone etc..
Present invention also provides a kind of computer program products, when executing on data processing equipment, are adapted for carrying out just The program of beginningization there are as below methods step:
The bulk messages confirmation request that message call end is sent is received, the bulk messages confirmation request is described for making EasyNetQ sends the batch processing confirmation message for being directed at least two message to message queue RabbitMQ;
According to the bulk messages confirmation request, all message to be confirmed is obtained, the message to be confirmed is currently processed The message of complete and not sent processing confirmation message;
Batch processing confirmation message is sent to the RabbitMQ, the batch processing confirmation message is described complete for showing Portion's message to be confirmed has been dealt with into.
Optionally, described according to the bulk messages confirmation request, obtain all message to be confirmed, comprising:
The smallest counting mark of numerical value in the message of current untreated completion is obtained, the counting mark is for indicating from institute The sequence that message is read in RabbitMQ is stated, the numerical value for counting mark is smaller to show that message is read from RabbitMQ gets over It is early;
Determining that the counting identification value is less than the smallest counting of the numerical value to identify corresponding message is described to true Recognize message.
Optionally, described according to the bulk messages confirmation request, obtain in the message of current untreated completion numerical value most Small counting mark, comprising:
It parses the bulk messages confirmation request and obtains the smallest counting mark of numerical value in the message of the not processed completion Know;
Alternatively,
Receive the message processing state that the message call end is sent;According to the message processing state, determine described The smallest counting mark of numerical value in the message of untreated completion.
Optionally, the method also includes: when detect to target message carry out business processing failure after, Xiang Suoshu Message is denied in RabbitMQ transmission, described to deny message for marking the RabbitMQ again the state of the target message It is denoted as readable state.
Present invention also provides another computer program products, when executing on data processing equipment, are adapted for carrying out The program of initialization there are as below methods step:
Message to be processed is read from client EasyNetQ;
Whether detection current state meets preset condition, and the preset condition, which includes: that distance is last, sends bulk messages The time of confirmation request meets preset period of time, or, unacknowledged message number reaches preset quantity;
When the current state meets the preset condition, Xiang Suoshu EasyNetQ sends bulk messages confirmation request, The bulk messages confirmation request is for sending the EasyNetQ at least two message to message queue RabbitMQ Confirmation message.
Optionally, the method also includes:
After detecting the business processing failure to target message progress, Xiang Suoshu EasyNetQ sends Message Processing failure Message, so that the EasyNetQ, which is received, denies message to RabbitMQ transmission after Message Processing failed message, it is described Deny message for re-flagging the RabbitMQ for readable state the state of the target message.
It should be understood by those skilled in the art that, embodiments herein can provide as method, system or computer program Product.Therefore, complete hardware embodiment, complete software embodiment or reality combining software and hardware aspects can be used in the application Apply the form of example.Moreover, it wherein includes the computer of computer usable program code that the application, which can be used in one or more, The computer program implemented in usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) produces The form of product.
The application is referring to method, the process of equipment (system) and computer program product according to the embodiment of the present application Figure and/or block diagram describe.It should be understood that every one stream in flowchart and/or the block diagram can be realized by computer program instructions The combination of process and/or box in journey and/or box and flowchart and/or the block diagram.It can provide these computer programs Instruct the processor of general purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices to produce A raw machine, so that being generated by the instruction that computer or the processor of other programmable data processing devices execute for real The device for the function of being specified in present one or more flows of the flowchart and/or one or more blocks of the block diagram.
These computer program instructions, which may also be stored in, is able to guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works, so that it includes referring to that instruction stored in the computer readable memory, which generates, Enable the manufacture of device, the command device realize in one box of one or more flows of the flowchart and/or block diagram or The function of being specified in multiple boxes.
These computer program instructions also can be loaded onto a computer or other programmable data processing device, so that counting Series of operation steps are executed on calculation machine or other programmable devices to generate computer implemented processing, thus in computer or The instruction executed on other programmable devices is provided for realizing in one or more flows of the flowchart and/or block diagram one The step of function of being specified in a box or multiple boxes.
In a typical configuration, calculating equipment includes one or more processors (CPU), input/output interface, net Network interface and memory.
Memory may include the non-volatile memory in computer-readable medium, random access memory (RAM) and/ Or the forms such as Nonvolatile memory, such as read-only memory (ROM) or flash memory (flashRAM).Memory is computer-readable medium Example.
Computer-readable medium includes permanent and non-permanent, removable and non-removable media can be by any method Or technology come realize information store.Information can be computer readable instructions, data structure, the module of program or other data. The example of the storage medium of computer includes, but are not limited to phase change memory (PRAM), static random access memory (SRAM), moves State random access memory (DRAM), other kinds of random access memory (RAM), read-only memory (ROM), electric erasable Programmable read only memory (EEPROM), flash memory or other memory techniques, read-only disc read only memory (CD-ROM) (CD-ROM), Digital versatile disc (DVD) or other optical storage, magnetic cassettes, tape magnetic disk storage or other magnetic storage devices Or any other non-transmission medium, can be used for storage can be accessed by a computing device information.As defined in this article, it calculates Machine readable medium does not include temporary computer readable media (transitory media), such as the data-signal and carrier wave of modulation.
It should also be noted that, the terms "include", "comprise" or its any other variant are intended to nonexcludability It include so that the process, method, commodity or the equipment that include a series of elements not only include those elements, but also to wrap Include other elements that are not explicitly listed, or further include for this process, method, commodity or equipment intrinsic want Element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that including element There is also other identical elements in process, method, commodity or equipment.
It will be understood by those skilled in the art that embodiments herein can provide as method, system or computer program product. Therefore, complete hardware embodiment, complete software embodiment or embodiment combining software and hardware aspects can be used in the application Form.It is deposited moreover, the application can be used to can be used in the computer that one or more wherein includes computer usable program code The shape for the computer program product implemented on storage media (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) Formula.
The above is only embodiments herein, are not intended to limit this application.To those skilled in the art, Various changes and changes are possible in this application.It is all within the spirit and principles of the present application made by any modification, equivalent replacement, Improve etc., it should be included within the scope of the claims of this application.

Claims (12)

1. a kind of Message Processing confirmation method is applied in client EasyNetQ characterized by comprising
The bulk messages confirmation request that message call end is sent is received, the bulk messages confirmation request is described for making EasyNetQ sends the batch processing confirmation message for being directed at least two message to message queue RabbitMQ;
According to the bulk messages confirmation request, obtain all message to be confirmed, the message to be confirmed be it is currently processed complete and The message of not sent processing confirmation message;
To the RabbitMQ send batch processing confirmation message, the batch processing confirmation message for show it is described all to Confirmation message has been dealt with into.
2. acquisition is complete the method according to claim 1, wherein described according to the bulk messages confirmation request Portion's message to be confirmed, comprising:
The smallest counting mark of numerical value in the message of current untreated completion is obtained, the counting mark is for indicating from described The sequence of message is read in RabbitMQ, the numerical value for counting mark is smaller to show that reading message is more early from RabbitMQ;
Determining that the counting identification value is less than the corresponding message of the numerical value the smallest countings mark is described to be confirmed disappear Breath.
3. according to the method described in claim 2, acquisition is worked as it is characterized in that, described according to the bulk messages confirmation request The smallest counting mark of numerical value in the message of preceding untreated completion, comprising:
It parses the bulk messages confirmation request and obtains the smallest counting mark of numerical value in the message of the not processed completion;
Alternatively,
Receive the message processing state that the message call end is sent;According to the message processing state, determine described not locate Manage the smallest counting mark of numerical value in the message completed.
4. the method according to claim 1, wherein the method also includes:
After detecting the business processing failure to target message progress, message is denied in Xiang Suoshu RabbitMQ transmission, described no Message is recognized for re-flagging the RabbitMQ for readable state the state of the target message.
5. a kind of Message Processing confirmation method is applied in message call end characterized by comprising
Message to be processed is read from client EasyNetQ;
Whether detection current state meets preset condition, and the preset condition, which includes: that distance is last, sends bulk messages confirmation The time of request meets preset period of time, or, unacknowledged message number reaches preset quantity;
When the current state meets the preset condition, Xiang Suoshu EasyNetQ sends bulk messages confirmation request, described Bulk messages confirmation request is for sending the EasyNetQ at least two message really to message queue RabbitMQ Recognize message.
6. according to the method described in claim 5, it is characterized in that, the method also includes:
After detecting the business processing failure to target message progress, Xiang Suoshu EasyNetQ sends Message Processing and unsuccessfully disappears Breath, so that the EasyNetQ, which is received, denies message to RabbitMQ transmission after Message Processing failed message, it is described no Message is recognized for re-flagging the RabbitMQ for readable state the state of the target message.
7. a kind of Message Processing confirms device, it is applied in client EasyNetQ characterized by comprising
Receiving unit, for receiving the bulk messages confirmation request of message call end transmission, the bulk messages confirmation request is used In make the EasyNetQ to message queue RabbitMQ send be directed at least two message batch processing confirmation message;
Acquiring unit, for obtaining whole message to be confirmed according to the bulk messages confirmation request, the message to be confirmed is The message of currently processed complete and not sent processing confirmation message;
Transmission unit, for sending batch processing confirmation message to the RabbitMQ, the batch processing confirmation message is used for Show that whole message to be confirmed has been dealt with into.
8. a kind of Message Processing confirms device, it is applied in message call end characterized by comprising
Reading unit, for reading message to be processed from client EasyNetQ;
Detection unit, for detecting whether current state meets preset condition, the preset condition, which includes: that distance is last, to be sent The time of bulk messages confirmation request meets preset period of time, or, unacknowledged message number reaches preset quantity;
Transmission unit, for when the current state meets the preset condition, Xiang Suoshu EasyNetQ to send bulk messages Confirmation request, the bulk messages confirmation request is for sending the EasyNetQ at least to message queue RabbitMQ The confirmation message of two message.
9. a kind of storage medium, is stored thereon with program, which is characterized in that the program realizes claim when being executed by processor 1 to 4 described in any item Message Processing confirmation methods.
10. a kind of processor, the processor is for running program, which is characterized in that perform claim is wanted when described program is run Seek 1 to 4 described in any item Message Processing confirmation methods.
11. a kind of storage medium, is stored thereon with program, which is characterized in that realize that right is wanted when the program is executed by processor Message Processing confirmation method described in asking 5 or 6.
12. a kind of processor, the processor is for running program, which is characterized in that perform claim is wanted when described program is run Message Processing confirmation method described in asking 5 or 6.
CN201710731150.3A 2017-08-23 2017-08-23 Message processing confirmation method and device Active CN109428682B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710731150.3A CN109428682B (en) 2017-08-23 2017-08-23 Message processing confirmation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710731150.3A CN109428682B (en) 2017-08-23 2017-08-23 Message processing confirmation method and device

Publications (2)

Publication Number Publication Date
CN109428682A true CN109428682A (en) 2019-03-05
CN109428682B CN109428682B (en) 2021-06-29

Family

ID=65499226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710731150.3A Active CN109428682B (en) 2017-08-23 2017-08-23 Message processing confirmation method and device

Country Status (1)

Country Link
CN (1) CN109428682B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018914A (en) * 2019-03-26 2019-07-16 中国人民银行清算总中心 Message collection method and device based on shared drive
CN113140269A (en) * 2020-01-19 2021-07-20 浙江爱多特大健康科技有限公司 Information interaction method, device, equipment and medium
CN114090305A (en) * 2022-01-19 2022-02-25 飞狐信息技术(天津)有限公司 Business auditing method and device
CN114979249A (en) * 2022-03-30 2022-08-30 阿里巴巴(中国)有限公司 Message handle creating method, message pushing method, related device and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100088187A1 (en) * 2008-09-24 2010-04-08 Chris Courtney System and method for localized and/or topic-driven content distribution for mobile devices
US20140169306A1 (en) * 2004-09-10 2014-06-19 Interdigital Technology Corporation Method for sending an acknowledgement to an ingress mesh point in a mesh network and a medium access control frame format
CN105264843A (en) * 2013-06-07 2016-01-20 苹果公司 Managing pending acknowledgement packets in a communication device
CN105471722A (en) * 2015-12-31 2016-04-06 深圳前海微众银行股份有限公司 Message processing method and device
US20160127082A1 (en) * 2013-07-15 2016-05-05 Alcatel Lucent Rateless encoding
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140169306A1 (en) * 2004-09-10 2014-06-19 Interdigital Technology Corporation Method for sending an acknowledgement to an ingress mesh point in a mesh network and a medium access control frame format
US20100088187A1 (en) * 2008-09-24 2010-04-08 Chris Courtney System and method for localized and/or topic-driven content distribution for mobile devices
CN105264843A (en) * 2013-06-07 2016-01-20 苹果公司 Managing pending acknowledgement packets in a communication device
US20160127082A1 (en) * 2013-07-15 2016-05-05 Alcatel Lucent Rateless encoding
CN105471722A (en) * 2015-12-31 2016-04-06 深圳前海微众银行股份有限公司 Message processing method and device
CN106453564A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Elastic cloud distributed massive request processing method, device and system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MACIEJ ROSTANSKI; KRZYSZTOF GROCHLA; ALEKSANDER SEMAN: ""Evaluation of highly available and fault-tolerant middleware clustered architectures using RabbitMQ"", 《2014 FEDERATED CONFERENCE ON COMPUTER SCIENCE AND INFORMATION SYSTEMS》 *
夏千林: ""PaaS云基础架构中消息中间件的设计与实现"", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110018914A (en) * 2019-03-26 2019-07-16 中国人民银行清算总中心 Message collection method and device based on shared drive
CN110018914B (en) * 2019-03-26 2021-08-13 中国人民银行清算总中心 Shared memory based message acquisition method and device
CN113140269A (en) * 2020-01-19 2021-07-20 浙江爱多特大健康科技有限公司 Information interaction method, device, equipment and medium
CN114090305A (en) * 2022-01-19 2022-02-25 飞狐信息技术(天津)有限公司 Business auditing method and device
CN114979249A (en) * 2022-03-30 2022-08-30 阿里巴巴(中国)有限公司 Message handle creating method, message pushing method, related device and system

Also Published As

Publication number Publication date
CN109428682B (en) 2021-06-29

Similar Documents

Publication Publication Date Title
US10439937B2 (en) Service addressing in distributed environment
CN110768912B (en) API gateway current limiting method and device
CN109428682A (en) A kind of Message Processing confirmation method and device
CN110232010A (en) A kind of alarm method, alarm server and monitoring server
EP3217622B1 (en) Data backfill method and device
CN107276970B (en) Unbinding and binding method and device
CN109951494B (en) Simulation data processing method and device, simulation equipment and storage medium
CN107454138A (en) The implementation method and device that business degrades
JP2019504415A (en) Data storage service processing method and apparatus
CN112583879B (en) Request processing method, device and system, storage medium and electronic equipment
CN110858242A (en) Page skipping method and device
CN110764930B (en) Request or response processing method and device based on message mode
CN112416534A (en) Agent-based task management method and device
CN112559050A (en) Method and device for processing concurrency number of client asynchronous request information
CN112769928B (en) Information interaction method and device based on service scene
CN112905668B (en) Database derivative method, device and medium based on distributed data stream processing engine
CN114979236A (en) Data transmission method, data transmission device, storage medium and electronic equipment
CN111967938B (en) Cloud resource recommendation method and device, computer equipment and readable storage medium
CN110928944B (en) Data processing method and device
CN113094618A (en) Method, apparatus, device and storage medium for performing asynchronous request response operation
CN109062642B (en) Control message notification method and device
WO2016184318A1 (en) Barcode popularity display method and apparatus
CN107360441B (en) User live broadcast room speech control method and device
CN108089927B (en) Method and device for realizing message communication based on Web Worker
KR20170027726A (en) Method and system for data processing

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: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant