CN110837426B - Message processing method, device and system and storage medium - Google Patents

Message processing method, device and system and storage medium Download PDF

Info

Publication number
CN110837426B
CN110837426B CN201911076448.0A CN201911076448A CN110837426B CN 110837426 B CN110837426 B CN 110837426B CN 201911076448 A CN201911076448 A CN 201911076448A CN 110837426 B CN110837426 B CN 110837426B
Authority
CN
China
Prior art keywords
message
service
user terminal
processing
server
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
CN201911076448.0A
Other languages
Chinese (zh)
Other versions
CN110837426A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201911076448.0A priority Critical patent/CN110837426B/en
Publication of CN110837426A publication Critical patent/CN110837426A/en
Application granted granted Critical
Publication of CN110837426B publication Critical patent/CN110837426B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The application provides a message processing method, a message processing device, a message processing system and a storage medium, and belongs to the technical field of computers. The system comprises: the system comprises a service server, a processing server cluster and a plurality of user terminals, wherein the processing server cluster is used for sending a data collection instruction to at least one user terminal, the user terminal is used for collecting service data in the user terminal when receiving the data collection instruction and processing the service data into service messages, the service messages are sent to the processing server cluster, and the processing server cluster is used for carrying out load balancing processing on the service messages and sending the processed service messages to the service server. The method and the device are beneficial to avoiding a plurality of user terminals from sending service messages to the service server at the same time, and reduce the processing pressure of the service server.

Description

Message processing method, device and system and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, a system, and a storage medium for processing a message.
Background
A message processing system (e.g., a web messaging system) typically includes a service server and a plurality of user terminals, each of which can send service messages to the service server, which can process the service messages sent by the plurality of user terminals.
In the related art, each user terminal may have a software development kit (english: software Development Kit, abbreviated as SDK) therein, and SDKs in a plurality of user terminals are different, and when each user terminal generates service data, the service data may be processed into a service message through the SDK therein, and the service message is sent to a service server, and the service server processes the service message.
However, in the above-described message processing system, when a plurality of user terminals simultaneously transmit service messages to the service server, the processing pressure of the service server is large.
Disclosure of Invention
The embodiment of the application provides a message processing method, a message processing device, a message processing system and a storage medium, which are beneficial to reducing the processing pressure of a service server. The technical scheme is as follows:
in one aspect, a message processing system is provided, comprising: a service server, a processing server cluster and a plurality of user terminals,
the processing server cluster is used for sending a data collection instruction to at least one user terminal;
the user terminal is used for collecting service data in the user terminal when receiving the data collection instruction, processing the service data into service messages and sending the service messages to the processing server cluster;
The processing server cluster is used for carrying out load balancing processing on the service message and sending the processed service message to the service server.
Optionally, the user terminal is configured to:
determining the priority of the service message;
and sending the service message to the processing server cluster based on a load balancing principle according to the priority of the service message.
Optionally, the user terminal is configured to:
when the priority of the service message is higher than the target priority, sending the service message to the processing server cluster;
and when the priority of the service message is not higher than the target priority, storing the service message into the message storage queue, and sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, the user terminal is further configured to:
judging whether the message storage queue needs to be persisted or not;
when the message storage queue needs to be persisted, persisting the message storage queue;
and when the message storage queue does not need to be durable, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, the user terminal is further configured to:
judging whether a persistence releasing condition is met;
and when the persistence releasing condition is met, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, the service message is a web page message, and the user terminal includes a browser, and is configured to:
and when the message storage queue does not need to be durable, the service message is sent to the processing server cluster through a beacon interface, or when the browser is idle, the service message is sent to the processing server cluster through the browser.
Optionally, the user terminal includes: a collector and an analyzer, the collector and the analyzer,
the user terminal is used for collecting the service data through the collector;
the user terminal is used for processing the service data into service messages through the analyzer, determining the priority of the service messages, and sending the service messages to the processing server cluster based on a load balancing principle according to the priority of the service messages.
Optionally, the processing server cluster includes: a receiving-transmitting server, an equalizing server and a consuming server,
The receiving and transmitting server is used for sending a data collection instruction to at least one user terminal and receiving the service message sent by the user terminal;
the balancing server is used for carrying out load balancing processing on the service message received by the receiving and transmitting server;
and the consumption server is used for sending the business message subjected to the load balancing processing to the business server.
Optionally, the balancing server is configured to store the received service message into the message consumption queue;
the consumption server is used for sending the service message to the service server according to the sequence of the service message in the message consumption queue.
Optionally, the user terminals have software development kits therein, and the software development kits in the plurality of user terminals are the same.
In another aspect, a message processing method is provided, applied to a user terminal in a message processing system, where the message processing system includes: the service server, the processing server cluster and the user terminal, the method comprises the following steps:
when a data collection instruction sent by the processing server cluster is received, collecting service data in the user terminal according to the data collection instruction;
Processing the service data into service information;
and sending the service message to the processing server cluster, wherein the processing server cluster is used for carrying out load balancing processing on the service message and sending the processed service message to the service server.
Optionally, the sending the service message to the processing server cluster includes:
determining the priority of the service message;
and sending the service message to the processing server cluster based on a load balancing principle according to the priority of the service message.
Optionally, the sending the service message to the processing server cluster based on the load balancing principle according to the priority of the service message includes:
when the priority of the service message is higher than the target priority, sending the service message to the processing server cluster;
and when the priority of the service message is not higher than the target priority, storing the service message into the message storage queue, and sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, after storing the service message in the message storage queue, the method further comprises:
Judging whether the message storage queue needs to be persisted or not;
when the message storage queue needs to be persisted, persisting the message storage queue;
and when the message storage queue does not need to be durable, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, after persisting the message store queue, the method further comprises:
judging whether a persistence releasing condition is met;
and when the persistence releasing condition is met, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, the service message is a web page message, the user terminal includes a browser,
and when the message storage queue does not need to be durable, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue, wherein the method comprises the following steps:
and when the message storage queue does not need to be durable, the service message is sent to the processing server cluster through a beacon interface, or when the browser is idle, the service message is sent to the processing server cluster through the browser.
Optionally, the user terminal includes: a collector and an analyzer, the collector and the analyzer,
the collecting the service data in the user terminal comprises the following steps: collecting the business data by the collector;
the processing the service data into service information comprises the following steps: processing the service data into the service message by the parser;
the determining the priority of the service message comprises: determining, by the parser, a priority of the service message;
the sending the service message to the processing server cluster based on the load balancing principle according to the priority of the service message comprises the following steps: and sending the service message to the processing server cluster based on a load balancing principle by the analyzer according to the priority of the service message.
In yet another aspect, a message processing method is provided, applied to a processing server cluster in a message processing system, where the message processing system includes: the service server, a plurality of user terminals and the processing server cluster, the method comprises the following steps:
transmitting a data collection instruction to at least one user terminal, wherein the user terminal is used for collecting service data in the user terminal according to the data collection instruction, processing the service data into service messages, and transmitting the service messages to the processing server cluster;
Receiving the service message sent by the user terminal;
carrying out load balancing processing on the service message;
and sending the service message subjected to the load balancing processing to the service server.
Optionally, the processing server cluster includes: a receiving-transmitting server, an equalizing server and a consuming server,
the sending a data collection instruction to at least one user terminal includes: transmitting a data collection instruction to at least one user terminal through the transceiving server;
the receiving the service message sent by the user terminal comprises the following steps: receiving a service message sent by the user terminal through the transceiver server;
the load balancing processing for the service message comprises the following steps: carrying out load balancing processing on the service message through the balancing server;
the sending the service message after the load balancing processing to the service server includes: and sending the business message subjected to load balancing processing to the business server through the consumption server.
Optionally, the load balancing processing of the service message by the balancing server includes:
Storing the service message in a message consumption queue of the balance server;
the sending, by the consumption server, the service message after the load balancing processing to the service server includes: and sending the service message to the service server according to the sequence of the service message in the message consumption queue.
In a further aspect, there is provided a message processing apparatus comprising means for performing the method of the above further aspect.
In yet another aspect, a message processing apparatus is provided, the apparatus comprising a processor and a memory, the memory storing at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by the processor to implement the message processing method as described in the above another aspect to yet another aspect.
In yet another aspect, a storage medium is provided, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored, where the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded by the processor and performs the message processing method of the other aspect to the further aspect.
The beneficial effects that technical scheme that this application embodiment provided include:
according to the message processing method, device and system and storage medium, as the user terminal can collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message and send the service message to the processing server cluster, the processing server cluster can carry out load balancing processing on the service message and send the service message after the load balancing processing to the service server, the user terminal can be prevented from sending the service message to the service server at the same time, and the processing pressure of the service server is reduced.
Drawings
FIG. 1 is a schematic diagram of a message processing system provided in an embodiment of the present application;
fig. 2 is a functional schematic diagram of an SDK according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a processing server cluster according to an embodiment of the present application;
FIG. 4 is a method flow diagram of a message processing method provided in an embodiment of the present application;
FIG. 5 is a method flow diagram of another message processing method provided by an embodiment of the present application;
FIG. 6 is a method flow diagram of yet another message processing method provided by an embodiment of the present application;
Fig. 7 is a flowchart of a method for a user terminal to send a service message to a processing server cluster according to an embodiment of the present application;
fig. 8 is a flowchart of a method for a user terminal to send a service message to a processing server cluster based on a load balancing principle according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a message handling process provided by an embodiment of the present application;
FIG. 10 is a logic block diagram of a message processing apparatus provided in an embodiment of the present application;
FIG. 11 is a logic block diagram of another message processing apparatus provided by an embodiment of the present application;
fig. 12 is a schematic structural diagram of a message processing apparatus according to an embodiment of the present application;
fig. 13 is a schematic structural diagram of another message processing apparatus according to an embodiment of the present application.
Detailed Description
In order to make the principles, technical solutions and advantages of the present application more apparent, the embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Referring to fig. 1, a schematic diagram of a message processing system 000 according to an embodiment of the present application is shown, where, as shown in fig. 1, the message processing system 000 may include: a processing server cluster 100, a service server 200 and a plurality of user terminals 300. The processing server cluster 100 may include at least two servers communicatively connected through a wired network or a wireless network, and the service server 200 and each user terminal 300 are communicatively connected to the processing server cluster 100 through a wired network or a wireless network, respectively. Alternatively, each user terminal 300 may be communicatively connected to the processing server cluster 100 based on a hypertext transfer protocol (english: hyper Text Transfer Protocol; HTTP) or a hypertext transfer security (english: hyper Text Transfer Protocol over Secure Socket Layer; HTTPs) protocol, or each user terminal 300 may be communicatively connected to the processing server cluster 100 based on a ws (english: websocket) protocol or a wss (english: websocket Secure Socket Layer) protocol. The wireless network may include, but is not limited to, a wireless fidelity (English: wireless Fidelity, abbreviated: WIFI) network, a data network, a Bluetooth network, an infrared network, etc., and the wired network may include, but is not limited to, a universal serial bus (English: universal Serial Bus, abbreviated: USB) network.
Each of the at least two servers included in the processing server cluster 100 and the service server 200 may be one server, or a server cluster formed by a plurality of servers, or a cloud computing service center. Each of the user terminals 300 may be a smart phone, a tablet computer, a notebook computer, a desktop computer, or the like, and the plurality of user terminals 300 may be the same or different, and fig. 1 illustrates that the plurality of user terminals 300 include a smart phone, a tablet computer, and a desktop computer. The user terminals 300 may have software development kits (english: software Development Kit, abbreviated as SDKs) therein, and the SDKs in the plurality of user terminals 300 are the same, and each user terminal 300 may implement a message processing function through the SDK therein. For example, please refer to fig. 2, which illustrates a functional schematic diagram of an SDK provided in an embodiment of the present application, as shown in fig. 2, the SDK may have an HTTP or websocket protocol supporting function, a data compression function, a bulk transmission function, an instruction receiving function, an instruction executing function, and a message persistence function, so that the user terminal 300 may perform message processing through the SDK.
Those skilled in the art will readily understand that the user terminal may call the SDK through an application program interface (english: application Programming Interface, abbreviated as: API) in the process of implementing the message processing function through the SDK, and the level of the API for calling the SDK is the same among the plurality of user terminals. For an API that is not supported by the user terminal, a patch code (the patch code may be polyfill or shim) may be added to the user terminal, so that the user terminal can support the API and call the SDK through the API, or for an API with a higher level, the user terminal may perform degradation processing on the API, so that the user terminal can call the SDK through the API.
In the embodiment of the present application, the processing server cluster 100 is configured to send a data collection instruction to at least one user terminal 300. The user terminal 300 is configured to collect service data in the user terminal 300 and process the service data into a service message when receiving the data collection instruction, and send the service message to the processing server cluster 100; the user terminal 300 herein refers to a user terminal that receives a data collection instruction, and one or more user terminals that receive a data collection instruction may be used. The processing server cluster 100 is configured to perform load balancing processing on the service message, and send the processed service message to the service server 200.
In summary, in the message processing system provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing server cluster may perform load balancing processing on the service message, and send the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
Optionally, the user terminal 300 is configured to: determining the priority of the service message; the traffic message is sent to the processing server cluster 100 based on load balancing principles according to its priority. For example, the user terminal 300 may determine the priority of the service message according to the importance of the service message.
Optionally, the user terminal 300 is configured to: when the priority of the service message is higher than the target priority, sending the service message to the processing server cluster 100; when the priority of the service message is not higher than the target priority, the service message is stored in a message storage queue, and the service message is sent to the processing server cluster 100 according to the sequence of the service message in the message storage queue. The target priority may be determined by the user according to the actual situation, or the target priority may be determined by the user terminal 300 according to the weight of the importance of different service data in the user terminal 300, which is not limited in the embodiment of the present application. For each service message in the user terminal 300, the user terminal 300 may compare the priority of the service message with the target priority to determine whether the priority of the service message is higher than the target priority.
Optionally, the user terminal 300 is further configured to: judging whether a persistent message storage queue is needed; when the message storage queue needs to be persisted, persisting the message storage queue; when the message store queue does not need to be persisted, the business message is sent to the processing server cluster 100 according to the order in which the business message is in the message store queue. Alternatively, in the embodiment of the present application, the service message may be a web message, for example, a web message, where the user terminal 300 may include a browser, and the user terminal 300 may determine whether to persistence of the message storage queue by determining whether the browser supports a beacon (english: sendeacon) transmission function, if the browser supports the beacon transmission function, the user terminal 300 determines that the message storage queue does not need to be persistence, and if the browser does not support the beacon transmission function, the user terminal 300 determines that the message storage queue needs to be (or may be) persistence. Wherein, the user terminal 300 persists the message storage queue, which means that the user terminal 300 can store the message storage queue in a memory of the user terminal 300, such as a disk.
Alternatively, when a persistent message store queue is not required, for example, when the browser supports a beacon transmission function, the user terminal 300 may transmit the service message to the processing server cluster 100 through the beacon interface according to the order of the service message in the message store queue; alternatively, when the browser is idle, the user terminal 300 sends the service message to the processing server cluster 100 according to the order of the service message in the message storage queue.
Optionally, the user terminal 300 is further configured to: judging whether a persistence releasing condition is met; when the persistence resolution condition is satisfied, sending the service message to the processing server cluster 100 according to the order of the service message in the message storage queue; when the persistence resolution condition is not satisfied, persistence of the message storage queue is maintained. Alternatively, the ue 300 may determine whether the persistence release condition is satisfied by determining whether the browser is idle, if the browser is idle, the ue 300 determines that the persistence release condition is satisfied, and the ue 300 may send the service message to the processing server cluster 100 according to the sequence of the service message in the message storage queue, if the browser is busy, the ue 300 determines that the persistence release condition is not satisfied, and the ue 300 maintains persistence of the message storage queue. The browser being idle may mean that the browser occupies fewer resources of a central processing unit (english: central Processing Unit, abbreviated as CPU), for example, the resource proportion of the browser occupying the CPU is smaller than a target proportion threshold, and the user terminal may determine whether the resource proportion of the browser occupying the CPU is smaller than the target proportion threshold, so as to determine whether the browser is idle.
Alternatively, as shown in fig. 1, each user terminal 300 may include: a collector 310 and a parser 320, the collector 310 and the parser 320 may be located in an SDK of the user terminal 300, and the user terminal 300 is configured to collect service data through the collector 310; the user terminal 300 is configured to process the service data into a service message through the parser 320, determine a priority of the service message, and send the service message to the processing server cluster 100 based on a load balancing principle according to the priority of the service message. Wherein the collector 310 may provide a collection function, and the user terminal 300 may collect service data through the collection function provided by the collector 310; the parser 320 may provide a parsing function, and the user terminal 300 may process the service data into a service message through the parsing function provided by the parser 320, where in the process that the user terminal 300 processes the service data into the service message, the user terminal 300 compresses the service data to reduce a space occupied by the service data, and the user terminal 300 may adjust a format of the service data, so that formats of the service messages obtained by processing different service data are the same, that is, the user terminal 300 processes the service data into a service message with a uniform format, so as to implement formatting of the service message.
Alternatively, as shown in FIG. 1, the processing server cluster 100 may include: the service server 200 comprises a transceiver server 110, an equalization server 120 and a consumption server 130, wherein the transceiver server 110 and the consumption server 130 are respectively in communication connection with the equalization server 120 through a wired network or a wireless network, the consumption server 130 is in communication connection with the service server 200 through the wired network or the wireless network, and the transceiver server 110 is in communication connection with each user terminal 300 of a plurality of user terminals 300 through the wired network or the wireless network. Each of the transceiver server 110, the equalization server 120, and the consumption server 130 may be a server, or a server cluster formed by a plurality of servers, or a cloud computing service center.
A transceiver server 110 for transmitting a data collection instruction to at least one user terminal 300 and receiving a service message transmitted from the user terminal 300; the balancing server 120 is configured to perform load balancing processing on the service message received by the transceiver server 110; the consumption server 130 is configured to send the service message after the load balancing processing to the service server 200.
Optionally, the balancing server 120 is configured to store the received service message in a message consumption queue, so as to perform load balancing processing on the received service message; the consumption server 130 is configured to send the service messages to the service server 200 according to the order of the service messages in the message consumption queue.
Optionally, please refer to fig. 3, which is a schematic diagram of a processing server cluster 100 provided in the embodiment of the present application, fig. 3 is taken as an example of a server cluster formed by a plurality of servers in each of the transceiver server 110, the balance server 120 and the consumption server 130, and in order to facilitate distinguishing from the processing server cluster 100, each of the transceiver server 110, the balance server 120 and the consumption server 130 is referred to as a service node in the embodiment of the present application. As shown in fig. 3, the transceiver server 110 may include a transceiver equalization (english: nginix) node 111 and a plurality of transceiver processing nodes 112, the equalization server 120 includes a plurality of equalization processing nodes 121, and the consumption server 130 includes a consumption equalization node 131 and a plurality of consumption processing nodes 132, where each equalization processing node 121 may include a message consumption queue, and the message consumption queue may be a Kafka queue, a rabit queue, or a router queue. After receiving the service message sent by the user terminal 300, the transceiver equalization node 111 uniformly sends the service message to the plurality of transceiver processing nodes 112, the plurality of transceiver processing nodes 112 process the received service message and send the processed service message to the plurality of equalization processing nodes 121 of the equalization server 120, each equalization processing node 121 may store the received service message in a message consumption queue (e.g. Kafka queue) to perform load-balancing processing on the service message, then the equalization processing node 121 may send the service message to the consumption equalization node 131 in the order of the service message in the message consumption queue, after the consumption equalization node 131 receives the service message sent by the equalization processing node 121, uniformly sends the service message to the plurality of consumption processing nodes 132, and the plurality of consumption processing nodes 132 send the received service message to the service server 200.
In summary, in the message processing system provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing server cluster may perform load balancing processing on the service message, and send the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
Referring to fig. 4, a method flowchart of a message processing method according to an embodiment of the present application is shown, and the method may be used for any user terminal 300 in the message processing system 000 shown in fig. 1. Referring to fig. 4, the method may include the steps of:
step 201, when a data collection instruction sent by a processing server cluster is received, collecting service data in a user terminal according to the data collection instruction.
Wherein, the user terminal can comprise a collector, the collector can provide a collection function, and the user terminal can collect service data in the user terminal through the collection function provided by the collector.
Step 202, the service data is processed into service information.
Wherein, the user terminal can include a parser, the parser can provide a parsing function, and the user terminal can process the service data into service messages through the parsing function provided by the parser.
Step 203, sending a service message to the processing server cluster, where the processing server cluster is configured to perform load balancing processing on the service message, and send the processed service message to a service server.
The processing server cluster may include a transceiver server, an equalizing server and a consuming server, where the user terminal may send a service message to the transceiver server, the transceiver server sends the service message to the equalizing server after receiving the service message, the equalizing server stores the service message in a message consuming queue to perform load-equalizing processing on the service message, and then the consuming server sends the service message to the service server according to the sequence of the service message in the message consuming queue.
In summary, according to the message processing method provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing server cluster may perform load balancing processing on the service message, and send the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
Referring now to FIG. 5, a flowchart illustrating another message processing method that may be used with the processing server cluster 100 in the message processing system 000 shown in FIG. 1 is shown, according to an embodiment of the present application. Referring to fig. 5, the method may include the steps of:
step 301, a data collection instruction is sent to at least one user terminal, and the user terminal is configured to collect service data in the user terminal according to the data collection instruction, process the service data into a service message, and send the service message to a processing server cluster.
The processing server cluster may include a transceiver server, an equalization server, and a consumption server, where the transceiver server may send data collection instructions to at least one user terminal.
The user terminal receiving the data collection instruction can collect service data in the user terminal through a collector in the user terminal, process the service data into service information through a parser in the user terminal, and send the service information to a transceiver server in a processing server cluster.
Step 302, receiving the service message sent by the user terminal.
The receiving and transmitting server in the processing server cluster can receive the service message sent by the user terminal.
And 303, carrying out load balancing processing on the service message.
The balancing server in the processing server cluster can perform load balancing processing on the service message. Optionally, the balancing server may include a message consumption queue, and the balancing server may store the service message in the message consumption queue to perform load balancing processing on the service message.
And step 304, the service message after the load balancing processing is sent to a service server.
The consumption servers in the processing server cluster can send the service messages after load balancing processing to the service servers. Alternatively, the consuming server may send the service message to the service server according to the order of the service message in the message consuming queue.
In summary, according to the message processing method provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing server cluster may perform load balancing processing on the service message, and send the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
Referring to fig. 6, a method flow diagram of yet another message processing method provided in an embodiment of the present application is shown, which may be used in the message processing system 000 shown in fig. 1. Referring to fig. 6, the method may include the steps of:
step 401, the processing server cluster sends a data collection instruction to at least one user terminal.
The processing server cluster may include a transceiver server, an equalizing server, and a consumption server, and in this embodiment of the present application, the processing server cluster may send a data collection instruction to at least one user terminal through the transceiver server, that is, the transceiver server sends the data collection instruction to the at least one user terminal. Alternatively, the data collection instruction may be a configuration (English: config) command.
Optionally, each user terminal may be communicatively connected to the transceiver server based on the HTTP protocol or the HTTPs protocol, each user terminal may send a data transmission request to the transceiver server based on the HTTP protocol or the HTTPs protocol, and the transceiver server may send a data transmission response to each user terminal according to the data transmission request sent by each user terminal, in this embodiment, the transceiver server may carry the data collection instruction in the data transmission response to at least one user terminal, and send the data collection instruction to at least one user terminal (that is, the transceiver server sends the data collection instruction to at least one user terminal through a packet. Alternatively, each user terminal may be communicatively connected to a transceiver server based on the ws protocol or the wss protocol, and the transceiver server may actively send data collection instructions to at least one user terminal based on the ws protocol or the wss protocol. The embodiments of the present application are not limited in this regard.
Step 402, the user terminal receives a data collection instruction sent by the processing server cluster.
Optionally, the user terminal may receive the data collection instruction sent by the processing server cluster through a communication connection with the processing server cluster. It is easy to understand from step 401 that the user terminal receives the data collection instruction sent by the processing server cluster, that is, the data collection instruction sent by the transceiver server.
Optionally, the user terminal may receive the data transmission response sent by the transceiver server based on the HTTP protocol or the HTTPs protocol, and parse the data transmission response to obtain the data collection instruction. Alternatively, the ue may receive the data collection instruction sent by the transceiver server based on the ws protocol or the wss protocol, which is not limited in the embodiment of the present application.
Step 403, the user terminal collects the service data in the user terminal according to the data collection instruction.
Optionally, the user terminal may include a collector, where the collector may provide a collection function, and after the user terminal receives a data collection instruction, the user terminal may collect service data in the user terminal through the collection function in the collector, where the service data may include product report data, return code data, speed measurement data and other log data, where the product report data may indicate an operation record of the user on the user terminal by the user, the return code data may indicate whether a processing server cluster is available, the speed measurement data may indicate a response speed of a web page of the user terminal, and the other log data may be data other than the product report data, the return code data and the speed measurement data in the user terminal.
Step 404, the user terminal processes the service data into a service message.
Optionally, a parser may be included in the user terminal, the parser may provide a parsing function, and the user terminal may process the service data into a service message through the parsing function in the parser.
Optionally, in the process that the user terminal processes the service data into the service message, the user terminal can compress the service data to reduce the space occupied by the service data, and the user terminal can adjust the format of the service data, so that the formats of the service messages obtained by processing different service data are the same, that is, the user terminal can process the service data into the service message with a uniform format, thereby realizing the formatting of the service message.
Step 405, the user terminal sends the service message to the processing server cluster.
After the user terminal processes the service data into the service message, the service message may be sent to the processing server cluster.
Optionally, please refer to fig. 7, which shows a flowchart of a method for a user terminal to send a service message to a processing server cluster according to an embodiment of the present application, as shown in fig. 7, the method may include the following steps:
Sub-step 4051, determining the priority of the service message.
Alternatively, the user terminal may determine the priority of the service message according to the importance of the service message. The priority of the service message indicates the sending sequence of the service message, and the user terminal can send the service message with higher priority preferentially when sending the message.
Sub-step 4052, sending the service message to the processing server cluster based on the load balancing principle according to the priority of the service message.
And the user terminal sends the service message to the processing server cluster based on the load balancing principle according to the priority of the service message, so that the processing pressure of the processing server cluster can be reduced.
Optionally, please refer to fig. 8, which illustrates a flowchart of a method for a user terminal to send a service message to a processing server cluster based on a load balancing principle according to an embodiment of the present application, as shown in fig. 8, the method may include the following sub-steps:
sub-step 40521, determining if the priority of the traffic message is higher than the target priority. Sub-step 40522 is performed when the priority of the traffic message is higher than the target priority; sub-steps 40523 to 40530 are performed when the priority of the traffic message is not higher than the target priority.
Alternatively, the target priority may be determined by the user according to the actual situation, or the target priority may be determined by the user terminal according to the weight of the importance of different service data in the user terminal, which is not limited in the embodiment of the present application. Alternatively, the user terminal may compare the priority of the service message with the target priority to determine whether the priority of the service message is higher than the target priority.
Substep 40522, sending the service message to the processing server cluster.
When the user terminal determines in sub-step 40521 that the priority of the traffic message is higher than the target priority, the user terminal may send the traffic message to the processing server cluster. The user terminal sends the service message to the processing server cluster, that is, the user terminal sends the service message to the transceiver server.
Sub-step 40523, storing the service message in a message store queue.
When, in sub-step 40521, the user terminal determines that the priority of the service message is not higher (i.e. lower or equal) than the target priority, the user terminal may store the service message in the message storage queue. Wherein the message storage queue may be located in a buffer of the user terminal.
Sub-step 40524, sending the service message to the processing server cluster according to the order of the service message in the message store queue.
Optionally, the message storage queue follows the first-in first-out principle, and the user terminal may send the service message stored in the message storage queue to the processing server cluster, and then send the service message stored in the message storage queue to the processing server cluster.
Sub-step 40525, determines if the message store queue needs to be persisted. Sub-step 40526 is performed when a persisted message store queue is required; sub-step 40530 is performed when a persistent message store queue is not required.
Optionally, in the embodiment of the present application, the service message may be a web page message, for example, a web page message, and the user terminal may include a browser, where the browser may be a web page browser (english: internet Explorer, abbreviated as IE), edge browser, google (english: chrome) browser, safari browser, firefox (english: firefox), QQ browser, or UC browser, and so on.
Optionally, the user terminal may determine whether the message storage queue needs to be persisted by determining whether the browser supports the beacon transmission function, if the browser supports the beacon transmission function, the user terminal determines that the message storage queue does not need to be persisted, and if the browser does not support the beacon transmission function, the user terminal determines that the message storage queue can be persisted. The user terminal persists the message storage queue, which means that the user terminal can store the message storage queue into a memory of the user terminal.
Substep 40526, persisting the message store queue.
When the user terminal determines in sub-step 40524 that the message storage queue needs to be persisted, the user terminal stores the message storage queue in the memory of the user terminal, implementing the persisting of the message storage queue. Wherein, the user terminal persists the message storage queue to avoid the loss of service messages.
It should be noted that, before persisting the message storage queue, the ue may acquire an available capacity of a local storage (english: localtorage) space of the ue, and detect whether the available capacity of the local storage space is greater than a data amount of the message storage queue, and when the available capacity of the local storage space is greater than the data amount of the message storage queue, the ue determines that the local storage space is sufficient to store a service message in the message storage queue, and the ue may store the service message in the message storage queue in a memory of the ue to persist the message storage queue. When the available capacity of the local storage space is not greater than the data amount of the message storage queue, the user terminal determines that the local storage space is insufficient to store the service messages in the message storage queue, and the user terminal does not persist the message storage queue, but can send the service messages in the message storage queue to the processing server cluster according to the sequence of the service messages in the message storage queue. In this embodiment of the present application, before the user terminal obtains the available capacity of the local storage space, the user terminal may determine whether the browser supports local storage, and if the browser does not support local storage, the user terminal loads a patch code in the browser by calling the SDK, so that the browser supports local storage, where the patch code may be polyfill or shim.
It is easy to understand by those skilled in the art that when the browser does not support the beacon transmission function, the user terminal may accidentally close the browser during the process of transmitting the service message to the transceiver server through the browser, so that the service message is lost, and the user terminal after the persisting message storage queue, even if the browser accidentally closes, the user terminal will not cause the loss of the service message, and when the browser is restarted, the user terminal may again transmit the service message to the transceiver server.
Substep 40527, judging whether the persistence release condition is satisfied. When the persistence resolution condition is satisfied, sub-step 40528 is performed. When the persistence release condition is not satisfied, sub-step 40529 is performed.
Alternatively, the persistence resolution condition may be that the browser is idle. The user terminal may determine whether the browser is idle, and if the browser is idle, the user terminal may determine that the persistence resolution condition is satisfied, and if the browser is busy, the user terminal may determine that the persistence resolution condition is not satisfied.
The fact that the browser is idle may mean that resources of the CPU are occupied by the browser are small, for example, the resource proportion of the CPU occupied by the browser is smaller than a target proportion threshold, the user terminal may determine whether the resource proportion of the CPU occupied by the browser is smaller than the target proportion threshold, when the resource proportion of the CPU occupied by the browser is smaller than the target proportion threshold, the user terminal determines that the browser is idle, the persistence resolution condition is satisfied, and when the resource proportion of the CPU occupied by the browser is not smaller than the target proportion threshold, the user terminal determines that the browser is busy, and the persistence resolution condition is not satisfied.
Sub-step 40528, sends the service message to the processing server cluster according to the order of the service message in the message store queue.
When the user terminal determines in sub-step 40527 that the persistence resolution condition is met, the user terminal sends the service message to the processing server cluster according to the order of the service message in the message storage queue. Alternatively, the user terminal may send the service message to the transceiving server in the processing server cluster based on the HTTP protocol or the ws protocol. Illustratively, when the browser is idle, the user terminal sends the service message to the transceiving server based on the HTTP protocol or the ws protocol according to the order of the service message in the message storage queue.
Substep 40529, maintaining persistence of the message store queue.
When the user terminal determines in sub-step 40527 that the persistence resolution condition is not met, the user terminal protects the persistence of the message store queue, i.e. the user terminal keeps the message store queue stored into memory without reading the traffic message from the message store queue.
Sub-step 40530, sends the service message to the processing server cluster according to the order of the service message in the message store queue.
Optionally, when in sub-step 40525 the user terminal determines that the message storage queue does not need to be persisted, the user terminal may send the service message to the processing server cluster according to the order of the service message in the message storage queue, optionally the user terminal may send the service message to the processing server cluster through a beacon interface; or when the browser is idle, the user terminal sends the service message to the processing server cluster through the browser, which is not limited in the embodiment of the present application.
It should be noted that, when the ue sends the service group message in the message storage queue to the processing server cluster through the beacon interface, the data size of the message storage queue may be smaller than or equal to the maximum data size that can be received by the transceiver server in the processing server cluster, so as to avoid loss of the service message.
Step 406, the processing server cluster receives the service message sent by the user terminal.
The processing server cluster may include a transceiver server, where the processing server cluster receives a service message sent by the user terminal, that is, the transceiver server receives a service message sent by the user terminal. Alternatively, the transceiving server may receive the service message transmitted by the user terminal based on the HTTP protocol or the ws protocol.
Optionally, the transceiver server may include a transceiver equalization node and a plurality of transceiver processing nodes, where the transceiver equalization node may receive a service message sent by the user terminal based on an HTTP protocol or a ws protocol, and uniformly send the received service message to the plurality of transceiver processing nodes, where the plurality of transceiver processing nodes process the received service message. When one of the plurality of transceiving processing nodes is unavailable, the other transceiving processing nodes are still available, and the available transceiving processing nodes can process the service messages of the unavailable transceiving processing nodes, so that the normal processing of the service messages is ensured, and the performance of processing the service messages is improved.
Step 407, the processing server cluster performs load balancing processing on the service message.
After the processing server cluster receives the service message, load balancing processing can be performed on the service message. Optionally, after receiving the service message sent by the user terminal, the transceiver server may send the service message to the equalization server, and the equalization server performs load balancing processing on the service message. Optionally, the transceiver server may send the service message to an equalization server based on a remote procedure call (english: remote Procedure Call, abbreviated: RPC) protocol, and the equalization server may store the service message in a message consumption queue, so as to implement load balancing processing on the service message. The message consumption queue may be a Kafka queue, a Rabbit queue, or a rock queue.
For the Kafka queue, the service message may be stored according to the type of the service message, and the Kafka queue depends on a ZooKeeper service (ZooKeeper is a distributed, open source, and distributed application coordination service), and the balancing server may send the service message to the consumption server according to metadata (english: meta) provided by the ZooKeeper service. In the embodiment of the application, when the message consumption queue is a Kafka queue, the balancing server can realize the functions of high throughput, low delay, high availability, cluster expansion, cluster fault tolerance and the like when processing the service message based on the Kafka queue, and can process the service message through algorithms based on multiple programming languages.
Optionally, the balancing server may include a plurality of balancing processing nodes, and each of the transceiving servers may send a service message to the balancing processing node based on the RPC protocol, and each balancing processing node may store the received service message in a message consumption queue thereof, so as to perform load balancing processing on the service message.
And step 408, the processing server cluster sends the service message after the load balancing processing to the service server.
Alternatively, the processing server cluster may send the service message after load balancing processing to the service server through the consuming server. That is, the service messages are sent to the service server by the consuming server in the order in the message consuming queue of the balancing server.
Optionally, the consumption server may include a consumption balancing node and a plurality of consumption processing nodes, where each consumption balancing node may send service messages to the consumption balancing node according to an order of the service messages in a message consumption queue thereof, and after the consumption balancing node receives the service messages sent by the consumption balancing node, the consumption balancing node sends the service messages to the plurality of consumption processing nodes uniformly, and each consumption processing node may send the service messages to the service server according to the order of the service messages in the message consumption queue. In this way, the processing server cluster can asynchronously send the service messages of different user terminals to the service server, thereby reducing the processing pressure of the service server.
In the embodiment of the application, in the process of processing the service message in the message consumption queue, for the service message which needs to occupy more CPU resources in the processing process, the consumption processing node can process the service message through an algorithm based on go (Chinese: golang), and for the service message which needs to occupy less CPU resources in the processing process, the consumption processing node can process the service message through an algorithm based on node.
Step 409, the service server receives the service message sent by the processing server cluster.
The service server may receive the service message sent by the consumption server and process the service message, for example, provide a corresponding function for the user terminal for the service message, which is not described herein in detail.
As will be appreciated from the above, in the embodiments of the present application, the processing pressure of the service server is only generated by the consumption server, and the service message sent by the consumption server to the service server is load-balanced, so that the stability of the service is improved.
In summary, according to the message processing method provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing server cluster may perform load balancing processing on the service message, and send the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
It should be noted that, in the related art, the user terminal interacts with the service server to process the service message, and the formats of the service messages sent by different user terminals to the service server are generally different, so that the service server needs to process the service messages of different user terminals based on different algorithms, which results in a higher processing pressure of the service server and higher complexity of service processing. In the scheme provided by the embodiment of the application, the processing server cluster is additionally arranged between the user terminal and the service server, the formats of the service messages sent to the processing server cluster by different user terminals are the same, and the processing server cluster sends the service messages to the service server after carrying out load balancing processing on the service data of a plurality of user terminals, so that the service server can process the service messages of different user terminals by adopting the same algorithm, and the processing pressure of the service server and the complexity of service processing are reduced. In addition, in the embodiment of the application, the user terminal and the service server do not interact directly, so that the coupling degree between the user terminal and the service server is reduced, and the decoupling between the user terminal and the service server is realized.
Fig. 9 is a schematic diagram of a message processing procedure provided in the embodiment of the present application, and the message processing procedure provided in the embodiment of the present application will be described below with reference to fig. 9 by way of an example. As shown in fig. 9, the user terminal is communicatively connected to the transceiving server in the processing server cluster based on the HTTP protocol or the ws protocol. When the user terminal is in communication connection with the transceiving server based on the HTTP protocol, the user terminal may send a data transmission request to the transceiving server based on the HTTP protocol, and the transceiving server may send a data transmission response to the user terminal for the data transmission request based on the HTTP protocol, and the transceiving server may carry a data collection instruction in the data transmission response to the user terminal and send the data collection instruction to the user terminal. When the user terminal is communicatively connected with the transceiving server based on the ws protocol, the transceiving server may transmit a data collection instruction to the user terminal based on the ws protocol.
The user terminal may include a transceiver, through which the user terminal may receive a data collection instruction sent by the processing server cluster, and then, according to the data collection instruction, the user terminal collects service data in the user terminal, processes the collected service data into service messages, and stores the service messages in a message storage queue of a message pool, and then, through the transceiver, the user terminal sends the service messages in the message pool to the transceiver server. The service data may include product report data, return code data, speed measurement data, and other log data, so the service message may include product report message, return code message, speed measurement message, and other log message.
The receiving and transmitting server can receive the service message sent by the user terminal and send the service message to the balancing server based on the RPC protocol, and the balancing server can store the service message into the message consumption queue and send the service message to the consumption server according to the sequence of the service message in the message consumption queue.
Referring to fig. 10, a logic block diagram of a message processing apparatus 500 provided in an embodiment of the present application is shown, where the message processing apparatus 500 may be a program component in any user terminal 300 in the message processing system 000 shown in fig. 1, where the message processing system 000 includes a service server 200, a processing server cluster 100, and the user terminal 300. Referring to fig. 10, the message processing apparatus 500 may include:
the collecting module 501 is configured to collect service data in the user terminal according to the data collecting instruction when receiving the data collecting instruction sent by the processing server cluster;
a processing module 502, configured to process the service data into a service message;
the first sending module 503 is configured to send a service message to a processing server cluster, where the processing server cluster is configured to perform load balancing processing on the service message, and send the processed service message to a service server.
Optionally, the first sending module 503 includes:
a determining unit, configured to determine a priority of the service message;
and the sending unit is used for sending the service message to the processing server cluster based on the load balancing principle according to the priority of the service message.
Optionally, the sending unit is configured to:
when the priority of the service message is higher than the target priority, sending the service message to the processing server cluster;
and when the priority of the service message is not higher than the target priority, storing the service message into a message storage queue, and sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue.
Optionally, the message processing apparatus 500 further includes:
the first judging module is used for judging whether the message storage queue needs to be durable or not;
the persistence module is used for persistence of the message storage queue when the message storage queue is required to be persistence;
and the second sending module is used for sending the service messages to the processing server cluster according to the sequence of the service messages in the message storage queue when the persistent message storage queue is not needed.
Optionally, the message processing apparatus 500 further includes:
the first judging module is used for judging whether the persistence releasing condition is met or not;
And the third sending module is used for sending the service messages to the processing server cluster according to the sequence of the service messages in the message storage queue when the persistence releasing condition is met.
Optionally, the service message is a web page message, the user terminal includes a browser,
and the second sending module is used for sending the service message to the processing server cluster through the beacon interface when the persistent message storage queue is not needed, or sending the service message to the processing server cluster through the browser when the browser is idle.
Optionally, the user terminal includes: a collector and an analyzer, the collector and the analyzer,
a collection module 501 for collecting business data by a collector;
a processing module 502, configured to process the service data into a service message through a parser;
a determining unit for determining the priority of the service message through the parser;
and the sending unit is used for sending the service message to the processing server cluster based on the load balancing principle through the analyzer according to the priority of the service message.
In summary, in the message processing apparatus provided in the embodiment of the present application, since the collecting module may collect service data in the user terminal according to the data collecting instruction sent by the processing server cluster, the processing module processes the service data into service messages, the sending module sends the service messages to the processing server cluster, and the processing server cluster may perform load balancing processing on the service messages and send the service messages after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
Referring now to fig. 11, there is shown a logic block diagram of another message processing apparatus 600 provided in an embodiment of the present application, where the message processing apparatus 600 may be a program component in a processing server cluster 100 in a message processing system 000 shown in fig. 1, and the message processing system 000 includes the processing server cluster 100, a service server 200, and a plurality of user terminals 300. Referring to fig. 11, the message processing apparatus 600 may include:
a first sending module 601, configured to send a data collection instruction to at least one user terminal, where the user terminal is configured to collect service data in the user terminal according to the data collection instruction, process the service data into a service message, and send the service message to a processing server cluster;
a receiving module 602, configured to receive a service message sent by a user terminal;
a processing module 603, configured to perform load balancing processing on the service message;
and the second sending module 604 is configured to send the service message after the load balancing processing to the service server.
Optionally, the processing server cluster includes: a receiving-transmitting server, an equalizing server and a consuming server,
a first sending module 601, configured to send a data collection instruction to at least one user terminal through a transceiver server;
A receiving module 602, configured to receive, through a transceiver server, a service message sent by a user terminal;
a processing module 603, configured to perform load balancing processing on the service message through the balancing server;
and the second sending module 604 is configured to send the service message after the load balancing processing to the service server through the consumption server.
Optionally, the processing module 603 is configured to store the service message in a message consumption queue of the balancing server;
the second sending module 604 is configured to send the service message to the service server according to the order of the service message in the message consumption queue.
In summary, in the message processing apparatus provided in the embodiment of the present application, since the user terminal may collect the service data in the user terminal according to the data collection instruction sent by the first sending module of the processing server cluster, process the service data into the service message, and send the service message to the processing server cluster, the processing module of the processing server cluster may perform load balancing processing on the service message, and the second sending module sends the service message after load balancing processing to the service server, so that it is helpful to avoid that multiple user terminals send service messages to the service server at the same time, and reduce the processing pressure of the service server.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Fig. 12 is a schematic structural diagram of a message processing apparatus 700 according to an embodiment of the present application. The apparatus 700 may be a terminal, such as: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, motion picture expert compression standard audio plane 3), an MP4 (Moving Picture Experts Group Audio Layer IV, motion picture expert compression standard audio plane 4) player, a notebook computer, or a desktop computer. The apparatus 700 may also be referred to by other names of user devices, portable terminals, laptop terminals, desktop terminals, etc.
In general, the message processing apparatus 700 includes: a processor 701 and a memory 702.
Processor 701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and the like. The processor 701 may be implemented in at least one hardware form of DSP (Digital Signal Processing ), FPGA (Field-Programmable Gate Array, field programmable gate array), PLA (Programmable Logic Array ). The processor 701 may also include a main processor, which is a processor for processing data in an awake state, also referred to as a CPU (Central Processing Unit ); a coprocessor is a low-power processor for processing data in a standby state. In some embodiments, the processor 701 may integrate a GPU (Graphics Processing Unit, image processor) for rendering and drawing of content required to be displayed by the display screen. In some embodiments, the processor 701 may also include an AI (Artificial Intelligence ) processor for processing computing operations related to machine learning.
Memory 702 may include one or more computer-readable storage media, which may be non-transitory. The memory 702 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 702 is used to store at least one instruction for execution by processor 701 to implement the message processing methods provided by embodiments of the present application.
In some embodiments, the apparatus 700 may further include: a peripheral interface 703 and at least one peripheral. The processor 701, the memory 702, and the peripheral interface 703 may be connected by a bus or signal lines. The individual peripheral devices may be connected to the peripheral device interface 703 via buses, signal lines or a circuit board. Specifically, the peripheral device includes: at least one of radio frequency circuitry 704, a display 705, a camera assembly 706, audio circuitry 707, a positioning assembly 708, and a power supply 709.
A peripheral interface 703 may be used to connect I/O (Input/Output) related at least one peripheral device to the processor 701 and memory 702. In some embodiments, the processor 701, memory 702, and peripheral interface 703 are integrated on the same chip or circuit board; in some other embodiments, either or both of the processor 701, the memory 702, and the peripheral interface 703 may be implemented on separate chips or circuit boards, which is not limited in this embodiment.
The Radio Frequency circuit 704 is configured to receive and transmit RF (Radio Frequency) signals, also referred to as electromagnetic signals. The radio frequency circuitry 704 communicates with a communication network and other communication devices via electromagnetic signals. The radio frequency circuit 704 converts an electrical signal into an electromagnetic signal for transmission, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 704 includes: antenna systems, RF transceivers, one or more amplifiers, tuners, oscillators, digital signal processors, codec chipsets, subscriber identity module cards, and so forth. The radio frequency circuitry 704 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocol includes, but is not limited to: the world wide web, metropolitan area networks, intranets, generation mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and/or WiFi (Wireless Fidelity ) networks. In some embodiments, the radio frequency circuitry 704 may also include NFC (Near Field Communication ) related circuitry, which is not limited in this application.
The display screen 705 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display 705 is a touch display, the display 705 also has the ability to collect touch signals at or above the surface of the display 705. The touch signal may be input to the processor 701 as a control signal for processing. At this time, the display 705 may also be used to provide virtual buttons and/or virtual keyboards, also referred to as soft buttons and/or soft keyboards. In some embodiments, the display 705 may be one, providing a front panel of the device 700; in other embodiments, the display 705 may be at least two, disposed on different surfaces of the device 700 or in a folded configuration; in still other embodiments, the display 705 may be a flexible display disposed on a curved surface or a folded surface of the device 700. Even more, the display 705 may be arranged in a non-rectangular irregular pattern, i.e. a shaped screen. The display 705 may be an OLED (Organic Light-Emitting Diode) display.
The camera assembly 706 is used to capture images or video. Optionally, the camera assembly 706 includes a front camera and a rear camera. Typically, the front camera is disposed on the front panel of the terminal and the rear camera is disposed on the rear surface of the terminal. In some embodiments, the at least two rear cameras are any one of a main camera, a depth camera, a wide-angle camera and a tele camera, so as to realize that the main camera and the depth camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize a panoramic shooting and Virtual Reality (VR) shooting function or other fusion shooting functions. In some embodiments, camera assembly 706 may also include a flash. The flash lamp can be a single-color temperature flash lamp or a double-color temperature flash lamp. The dual-color temperature flash lamp refers to a combination of a warm light flash lamp and a cold light flash lamp, and can be used for light compensation under different color temperatures.
The audio circuit 707 may include a microphone and a speaker. The microphone is used for collecting sound waves of users and environments, converting the sound waves into electric signals, and inputting the electric signals to the processor 701 for processing, or inputting the electric signals to the radio frequency circuit 704 for voice communication. For stereo acquisition or noise reduction purposes, a plurality of microphones may be respectively disposed at different portions of the message processing apparatus 700. The microphone may also be an array microphone or an omni-directional pickup microphone. The speaker is used to convert electrical signals from the processor 701 or the radio frequency circuit 704 into sound waves. The speaker may be a conventional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, not only the electric signal can be converted into a sound wave audible to humans, but also the electric signal can be converted into a sound wave inaudible to humans for ranging and other purposes. In some embodiments, the audio circuit 707 may also include a headphone jack.
The locating component 708 is operative to locate the current geographic location of the apparatus 700 for navigation or LBS (Location Based Service, location-based services). The positioning component 708 may be a positioning component based on the United states GPS (Global Positioning System ), the Beidou system of China, or the Galileo system of Russia.
A power supply 709 is used to power the various components in the device 700. The power supply 709 may be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 709 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, the message processing apparatus 700 further includes one or more sensors 710. The one or more sensors 710 include, but are not limited to: acceleration sensor 711, gyroscope sensor 712, pressure sensor 712, fingerprint sensor 714, optical sensor 715, and proximity sensor 716.
The acceleration sensor 711 can detect the magnitudes of accelerations on three coordinate axes of the coordinate system established with the apparatus 700. For example, the acceleration sensor 711 may be used to detect the components of the gravitational acceleration in three coordinate axes. The processor 701 may control the touch display screen 705 to display a user interface in a landscape view or a portrait view according to the gravitational acceleration signal acquired by the acceleration sensor 711. The acceleration sensor 711 may also be used for the acquisition of motion data of a game or a user.
The gyro sensor 712 may detect a body direction and a rotation angle of the apparatus 700, and the gyro sensor 712 may collect a 3D motion of the user on the apparatus 700 in cooperation with the acceleration sensor 711. The processor 701 may implement the following functions based on the data collected by the gyro sensor 712: motion sensing (e.g., changing UI according to a tilting operation by a user), image stabilization at shooting, game control, and inertial navigation.
Pressure sensor 712 may be disposed on a side frame of device 700 and/or on an underlying layer of touch display 705. When the pressure sensor 712 is disposed on the side frame of the device 700, a user's grip signal on the device 700 may be detected, and the processor 701 may perform a left-right hand recognition or a quick operation according to the grip signal collected by the pressure sensor 712. When the pressure sensor 712 is disposed at the lower layer of the touch display screen 705, the processor 701 controls the operability control on the UI interface according to the pressure operation of the user on the touch display screen 705. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
The fingerprint sensor 714 is used to collect a fingerprint of the user, and the processor 701 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 714, or the fingerprint sensor 714 identifies the identity of the user according to the collected fingerprint. Upon recognizing that the user's identity is a trusted identity, the processor 701 authorizes the user to perform relevant sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying for and changing settings, etc. The fingerprint sensor 714 may be provided on the front, back or side of the device 700. When a physical key or vendor Logo is provided on the device 700, the fingerprint sensor 714 may be integrated with the physical key or vendor Logo.
The optical sensor 715 is used to collect the ambient light intensity. In one embodiment, the processor 701 may control the display brightness of the touch display 705 based on the ambient light intensity collected by the optical sensor 715. Specifically, when the intensity of the ambient light is high, the display brightness of the touch display screen 705 is turned up; when the ambient light intensity is low, the display brightness of the touch display screen 705 is turned down. In another embodiment, the processor 701 may also dynamically adjust the shooting parameters of the camera assembly 706 based on the ambient light intensity collected by the optical sensor 715.
A proximity sensor 716, also referred to as a distance sensor, is typically provided on the front panel of the device 700. The proximity sensor 716 is used to capture the distance between the user and the front of the device 700. In one embodiment, when the proximity sensor 716 detects a gradual decrease in the distance between the user and the front face of the device 700, the processor 701 controls the touch display 705 to switch from the bright screen state to the off screen state; when the proximity sensor 716 detects that the distance between the user and the front face of the device 700 gradually increases, the processor 701 controls the touch display 705 to switch from the off-screen state to the on-screen state.
Those skilled in the art will appreciate that the structure shown in fig. 12 is not limiting of the message processing apparatus 700 and may include more or fewer components than shown, or may combine certain components, or may employ a different arrangement of components.
Referring to fig. 13, a schematic structural diagram of a message processing apparatus 800 according to an embodiment of the present application is shown, where the message processing apparatus 800 may be a server. By way of example, as shown in fig. 13, the apparatus 800 includes a central processing unit 801, a system Memory 804 including a Random-Access Memory (hereinafter referred to as RAM) 802 and a Read-Only Memory (hereinafter referred to as ROM) 803, and a system bus 805 connecting the system Memory 804 and the central processing unit 801. Apparatus 800 also includes a basic Input/Output (I/O) system 806 that facilitates the transfer of information between various devices within the computer, and a mass storage device 807 for storing an operating system 813, application programs 814, and other program modules 815.
The basic input/output system 806 includes a display 808 for displaying information and an input device 809, such as a mouse, keyboard, or the like, for user input of information. Wherein both the display 808 and the input device 809 are connected to the central processing unit 801 via an input output controller 810 connected to the system bus 805. The basic input/output system 806 may also include an input/output controller 810 for receiving and processing input from a number of other devices, such as a keyboard, mouse, or electronic stylus. Similarly, the input/output controller 810 also provides output to a display screen, a printer, or other type of output device.
The mass storage device 807 is connected to the central processing unit 801 through a mass storage controller (not shown) connected to the system bus 805. The mass storage device 807 and its associated computer-readable media provide non-volatile storage for the apparatus 800. That is, the mass storage device 807 may include a computer readable medium (not shown) such as a hard disk or CD-ROM drive.
Computer readable storage media may include computer storage media and communication media without loss of generality. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes RAM, ROM, erasable programmable read-Only Memory (english: erasable Programmable Read Only Memory; EPROM for short), charged erasable programmable read-Only Memory (english: electrically Erasable Programmable read Only memor; EEPROM for short), flash Memory or other solid state Memory technology, compact disk read-Only Memory (english: compact Disc Read-Only Memory; CD-ROM for short), digital versatile disk (english: digital Versatile Disc; DVD for short), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices. Of course, those skilled in the art will recognize that computer storage media are not limited to the ones described above. The system memory 804 and mass storage device 807 described above may be collectively referred to as memory.
According to various embodiments of the present application, the apparatus 800 may also operate by a remote computer connected to the network through a network, such as the Internet. I.e., the device 800 may be connected to a network 812 through a network interface unit 811 connected to the system bus 805, or alternatively, the network interface unit 811 may be used to connect to other types of networks or remote computer systems (not shown).
The above memory further includes one or more programs, one or more programs being stored in the memory and configured to be executed by the CPU to implement the methods provided by the embodiments of the present application.
The embodiments of the present application provide a storage medium having at least one instruction, at least one program, a code set, or an instruction set stored therein, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the message processing method as shown in fig. 4 to 8.
In this application, the terms "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The term "plurality" refers to two or more, unless explicitly defined otherwise.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The foregoing description of the preferred embodiments is merely exemplary in nature and is in no way intended to limit the invention, its application, to the form and details of construction and the arrangement of the preferred embodiments, and thus, any and all modifications, equivalents, and alternatives falling within the spirit and principles of the present application.

Claims (4)

1. A message processing system, comprising: the system comprises a service server, a processing server cluster and a plurality of user terminals, wherein the processing server cluster comprises a receiving-transmitting server, an equalizing server and a consumption server, the receiving-transmitting server and the consumption server are respectively in communication connection with the service server, the user terminals are in communication connection with the receiving-transmitting server based on a hypertext transfer protocol (HTTP), a hypertext transfer security protocol (HTTPS), a ws protocol or a wss protocol, and the user terminals comprise a collector and a parser, wherein:
The receiving and transmitting server is configured to send a data collection instruction to at least one user terminal, where the data collection instruction is a configuration instruction, and receive a service message sent by the user terminal, where the service message is a web page message, and the user terminal includes a browser;
the user terminal is used for collecting service data in the user terminal through a collection function provided by the collector when receiving the data collection instruction, processing the service data into service messages in a unified format through an analysis function provided by the analyzer, determining the priority of the service messages, and sending the service messages to the processing server cluster when the priority of the service messages is higher than a target priority; when the priority of the service message is not higher than the target priority, storing the service message into the message storage queue, and sending the service message to a processing server cluster according to the sequence of the service message in the message storage queue; the service data comprises at least one of product report data, return code data, speed measurement data and other log data, wherein the product report data is used for indicating an operation record of a user on the user terminal, the return code data is used for indicating whether the processing server cluster is available or not, the speed measurement data is used for indicating the response speed of a webpage of the user terminal, and the other log data is data except the product report data, the return code data and the speed measurement data in the user terminal;
The user terminal is further configured to determine whether to persist the message storage queue, and if the browser does not support the beacon sending function, the user terminal determines that the message storage queue needs to be persisted; if the browser supports the beacon sending function, the user terminal determines that the message storage queue does not need to be persisted; when the message storage queue needs to be persisted, persisting the message storage queue; when the message storage queue does not need to be durable, sending the service message to the processing server cluster through a beacon interface according to the sequence of the service message in the message storage queue, or sending the service message to the processing server cluster through the browser when the browser is idle;
the user terminal is further used for judging whether a persistence release condition is met, and if the resource proportion of the CPU occupied by the browser is smaller than a target proportion threshold value, the user terminal determines that the persistence release condition is met; if the resource proportion of the CPU occupied by the browser is not less than a target proportion threshold, the user terminal determines that the persistence releasing condition is not met; when the persistence releasing condition is met, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue; when the persistence releasing condition is not satisfied, maintaining persistence of the message storage queue;
The balancing server is used for storing the received service message into a message consumption queue and carrying out load balancing processing on the service message;
the consumption server is used for sending the processed service message to the service server according to the sequence of the service message in the message consumption queue.
2. A message processing method, applied to a user terminal in a message processing system, the message processing system comprising: a service server, a processing server cluster and the user terminal, wherein the processing server cluster comprises a receiving-transmitting server, an equalizing server and a consuming server, the receiving-transmitting server and the consuming server are respectively in communication connection with the service server, the user terminal is in communication connection with the receiving-transmitting server based on a hypertext transfer protocol (HTTP), a hypertext transfer security protocol (HTTPS), a ws protocol or a wss protocol, the user terminal comprises a collector and a parser, and the method comprises the following steps:
when receiving a data collection instruction sent by the receiving and sending server, collecting service data in the user terminal through a collection function provided by the collector according to the data collection instruction, wherein the data collection instruction is a configuration instruction, the service message is sent, the service message is a webpage message, and the user terminal comprises a browser;
Processing the service data into a service message in a unified format through an analysis function provided by the analyzer, determining the priority of the service message, and sending the service message to the processing server cluster when the priority of the service message is higher than a target priority; when the priority of the service message is not higher than the target priority, storing the service message into the message storage queue, and sending the service message to a processing server cluster according to the sequence of the service message in the message storage queue; the service data comprises at least one of product report data, return code data, speed measurement data and other log data, wherein the product report data is used for indicating an operation record of a user on the user terminal, the return code data is used for indicating whether the processing server cluster is available or not, the speed measurement data is used for indicating the response speed of a webpage of the user terminal, and the other log data is data except the product report data, the return code data and the speed measurement data in the user terminal;
the business information is sent to the receiving and sending server, the business information is a webpage information, the user terminal comprises a browser, and the processing server cluster is used for carrying out load balancing processing on the business information and sending the processed business information to the business server;
The method further comprises the steps of:
judging whether the message storage queue needs to be persisted, if the browser does not support a beacon sending function, the user terminal determines that the message storage queue needs to be persisted; if the browser supports the beacon sending function, determining that the message storage queue does not need to be persisted; when the message storage queue needs to be persisted, persisting the message storage queue; when the message storage queue does not need to be durable, sending the service message to the processing server cluster through a beacon interface according to the sequence of the service message in the message storage queue, or sending the service message to the processing server cluster through the browser when the browser is idle;
judging whether a persistence release condition is met, if the resource proportion of the CPU occupied by the browser is smaller than a target proportion threshold value, determining that the persistence release condition is met by the user terminal; if the proportion of resources occupied by the browser to the CPU is not smaller than a target proportion threshold, determining that the persistence releasing condition is not met; when the persistence releasing condition is met, sending the service message to the processing server cluster according to the sequence of the service message in the message storage queue; when the persistence release condition is not satisfied, persisting the message storage queue is maintained.
3. A message processing apparatus, characterized in that the apparatus comprises a processor and a memory, the memory having stored therein a computer program, which is loaded and executed by the processor to implement the method of claim 2.
4. A storage medium having stored therein a computer program that is loaded and executed by the processor to implement the method of claim 2.
CN201911076448.0A 2019-11-06 2019-11-06 Message processing method, device and system and storage medium Active CN110837426B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911076448.0A CN110837426B (en) 2019-11-06 2019-11-06 Message processing method, device and system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911076448.0A CN110837426B (en) 2019-11-06 2019-11-06 Message processing method, device and system and storage medium

Publications (2)

Publication Number Publication Date
CN110837426A CN110837426A (en) 2020-02-25
CN110837426B true CN110837426B (en) 2024-01-30

Family

ID=69576258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911076448.0A Active CN110837426B (en) 2019-11-06 2019-11-06 Message processing method, device and system and storage medium

Country Status (1)

Country Link
CN (1) CN110837426B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290696A (en) * 2020-02-26 2020-06-16 平安银行股份有限公司 Flow control method and device for application program assembly
CN111491017B (en) * 2020-04-03 2023-05-26 广州市中海达测绘仪器有限公司 CORS reference station data distribution system, method and device
CN111816190A (en) * 2020-07-08 2020-10-23 苏州思必驰信息科技有限公司 Voice interaction method and device for upper computer and lower computer
CN112351083B (en) * 2020-10-28 2023-03-24 武汉绿色网络信息服务有限责任公司 Service processing method and network service system
CN112836838B (en) * 2021-02-10 2022-03-11 北京声智科技有限公司 Reservation request processing method, device, equipment and storage medium
CN115412521A (en) * 2022-05-26 2022-11-29 青岛海尔科技有限公司 Message state synchronization method and device, storage medium and electronic device
CN116932232B (en) * 2023-09-18 2024-01-05 湖南远跃科技发展有限公司 Data processing method of development platform based on BS architecture

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980411A (en) * 2006-10-27 2007-06-13 华为技术有限公司 Business message transmission method and system
CN103685363A (en) * 2012-09-07 2014-03-26 中国科学院计算机网络信息中心 Efficient and reliable method and system for multitask processing
CN105338061A (en) * 2015-09-29 2016-02-17 华中科技大学 Lightweight message oriented middleware realization method and system
WO2018153231A1 (en) * 2017-02-22 2018-08-30 中兴通讯股份有限公司 Information processing method and device, and storage medium
CN108763299A (en) * 2018-04-19 2018-11-06 贵州师范大学 A kind of large-scale data processing calculating acceleration system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644129B2 (en) * 2007-06-01 2010-01-05 Sap Ag Persistence of common reliable messaging data
EP3402160B1 (en) * 2016-03-15 2020-04-29 Huawei Technologies Co., Ltd. Service processing method and apparatus
US20180165177A1 (en) * 2016-12-08 2018-06-14 Nutanix, Inc. Debugging distributed web service requests

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1980411A (en) * 2006-10-27 2007-06-13 华为技术有限公司 Business message transmission method and system
CN103685363A (en) * 2012-09-07 2014-03-26 中国科学院计算机网络信息中心 Efficient and reliable method and system for multitask processing
CN105338061A (en) * 2015-09-29 2016-02-17 华中科技大学 Lightweight message oriented middleware realization method and system
WO2018153231A1 (en) * 2017-02-22 2018-08-30 中兴通讯股份有限公司 Information processing method and device, and storage medium
CN108763299A (en) * 2018-04-19 2018-11-06 贵州师范大学 A kind of large-scale data processing calculating acceleration system

Also Published As

Publication number Publication date
CN110837426A (en) 2020-02-25

Similar Documents

Publication Publication Date Title
CN110837426B (en) Message processing method, device and system and storage medium
CN111614549B (en) Interaction processing method and device, computer equipment and storage medium
CN110674022A (en) Behavior data acquisition method and device and storage medium
CN111177013B (en) Log data acquisition method, device, computer equipment and storage medium
CN110569220B (en) Game resource file display method and device, terminal and storage medium
CN109697113B (en) Method, device and equipment for requesting retry and readable storage medium
CN111510482B (en) Method and device for determining failed network request and computer storage medium
JP6862564B2 (en) Methods, devices and non-volatile computer-readable media for image composition
CN108111397B (en) Method and device for processing forwarding notification message
CN113220385A (en) Automatic setting method for horizontal and vertical screens of mobile terminal
CN110912830B (en) Method and device for transmitting data
CN111106902B (en) Data message transmission method, device, equipment and computer readable storage medium
CN112612539B (en) Data model unloading method and device, electronic equipment and storage medium
CN111862972B (en) Voice interaction service method, device, equipment and storage medium
CN107800720B (en) Hijacking reporting method, device, storage medium and equipment
CN111258683A (en) Detection method, detection device, computer equipment and storage medium
CN114143280B (en) Session display method and device, electronic equipment and storage medium
CN112260845B (en) Method and device for accelerating data transmission
CN111241451A (en) Webpage processing method and device, computer equipment and storage medium
CN111464829A (en) Method, device and equipment for switching media data and storage medium
CN111190751A (en) Task processing method and device based on song list, computer equipment and storage medium
CN111275561B (en) Method, device, computer equipment and storage medium for acquiring association relation
CN115037702B (en) Message distribution and data transmission methods and equipment
CN114513479B (en) Message transmitting and receiving method, device, terminal, server and storage medium
CN111414563B (en) Webpage interaction method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40022266

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant