Message reporting method and device, computer equipment and storage medium

By receiving the request message and determining the reporting type using the configuration information and forward proxy judgment logic, the problems of low efficiency and poor accuracy of message reporting in the prior art are solved, and the decoupling of messages and codes and the improvement of reporting efficiency are achieved.

CN120050333APending Publication Date: 2025-05-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311589434.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-24
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In the prior art, the message reporting method has a high degree of dependence on code, resulting in low message reporting efficiency and prone to poor message accuracy.

Method used

By receiving the request message, the configuration information is obtained from the configuration server based on the identification of the request message, and the preset judgment logic and configuration information provided to the forward proxy determine the reporting type of the request message, and finally the reporting type is reported according to the reporting type.

Benefits of technology

It realizes decoupling between messages and code, improves the efficiency and accuracy of message reporting, and avoids the problems of message redundancy and excessive code dependence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120050333A_ABST
    Figure CN120050333A_ABST
Patent Text Reader

Abstract

The invention discloses a message reporting method and device, computer equipment and a storage medium, which can be applied to various scenes such as multimedia resource playing, voice interaction and information communication, and the method comprises the following steps: receiving a request message; acquiring configuration information corresponding to the request message from a configuration server based on the identifier of the request message; processing the request message based on preset judgment logic and configuration information provided by the forward proxy, and determining a report type of the request message; and reporting the request message according to a reporting mode corresponding to the reporting type. According to the invention, the request message is processed through the preset judgment logic and the configuration information provided by the forward proxy to determine the report type of the request message, and then the request message is reported according to the report mode corresponding to the report type, so that the resource consumption of message report is saved, and the efficiency and accuracy of message report are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a message reporting method, apparatus, computer equipment and storage medium. Background Art

[0002] During the video playback process, various data will be generated, such as playback data, download data, experience data, etc. These data will be reported to the server in the form of messages (such as messages carrying data packets, and data packets are formed by compressing data) so that the server can feedback or store the reported messages.

[0003] Currently, data is reported to the server in the form of messages. Generally, the client directly reports the message to the server through code, or sends the message to a central node, and couples the data in the business code.

[0004] However, the above message reporting method is highly dependent on the code, and the code needs to be modified or the code version needs to be upgraded according to different data, resulting in low efficiency of the message reporting process and the problem of poor message accuracy. Summary of the invention

[0005] The main purpose of the present application is to provide a message reporting method, apparatus, computer equipment and storage medium, which decouple the data and code carried in the message and improve the efficiency and accuracy of message reporting.

[0006] In order to achieve the above objectives, in a first aspect, the present application provides a message reporting method, comprising:

[0007] Receive request message;

[0008] Based on the identifier of the request message, obtain configuration information corresponding to the request message from the configuration server;

[0009] Processing the request message based on the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information;

[0010] Report the request message according to the reporting method corresponding to the reporting type.

[0011] In an embodiment, based on the identifier of the request message, obtaining configuration information corresponding to the request message from the configuration server includes:

[0012] Convert the format of the request message to obtain a converted request message;

[0013] The identifier in the converted request message is obtained, and information matching the identifier is pulled from the configuration server as configuration information corresponding to the request message.

[0014] In an embodiment, the request message is processed based on the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, including:

[0015] Get the configuration parameters in the configuration information;

[0016] The request message is judged based on the preset judgment logic and configuration parameters to determine the reporting type of the request message.

[0017] In an embodiment, judging the request message based on preset judgment logic and configuration parameters to determine the reporting type of the request message includes:

[0018] Obtaining a first configuration parameter in the configuration information, wherein the first configuration parameter is used to indicate whether the request message needs to be colored;

[0019] If the value of the first configuration parameter is the first preset value, the reporting type of the request message is immediate reporting.

[0020] In one embodiment, the method further includes:

[0021] If the value of the first configuration parameter is not the first preset value, obtaining a second configuration parameter in the configuration information, wherein the second configuration parameter is used to indicate whether the request message needs sampling;

[0022] If the value of the second configuration parameter is the second preset value, the reporting type of the request message is immediate reporting.

[0023] In one embodiment, the method further includes:

[0024] If the value of the second configuration parameter is not the second preset value, obtaining a third configuration parameter in the configuration information, wherein the third configuration parameter is used to represent the first loading time of the request message;

[0025] If the first loading time is greater than the third preset value, the reporting type of the request message is immediate reporting.

[0026] In one embodiment, the method further includes:

[0027] If the first loading time is less than or equal to the third preset value, obtain a fourth configuration parameter in the configuration information, wherein the fourth configuration parameter is used to indicate whether the request message needs to be merged according to a preset rule before being reported;

[0028] If the fourth configuration parameter is a fourth preset value, the reporting type of the request message is delayed reporting.

[0029] In an embodiment, judging the request message based on preset judgment logic and configuration parameters to determine the reporting type of the request message includes:

[0030] Get the scheduled tasks in the configuration information;

[0031] The reporting type of the request message is determined based on the type of the value of the scheduled task.

[0032] In one embodiment, the reporting type of the request message is determined according to the type of the value of the scheduled task, including:

[0033] If the value of the scheduled task is a character type, the reporting type of the request message is delayed reporting, and the request message is reported after the corresponding playback task is completed;

[0034] If the value of the scheduled task is a numeric type, the reporting type of the request message is delayed reporting, and the request message is reported after the time indicated by the numeric type.

[0035] In an embodiment, reporting the request message according to a reporting method corresponding to the reporting type includes:

[0036] Report the request message to the edge node or server according to the reporting method corresponding to the reporting type.

[0037] In an embodiment, reporting the request message to the edge node according to the reporting method corresponding to the reporting type includes:

[0038] The request message is reported to the edge node in a reporting manner corresponding to the reporting type, so that the edge node identifies the request message, calculates the performance parameters corresponding to the request message, and reports the request message and the performance parameters corresponding to the request message to the server.

[0039] In one embodiment, when an exception occurs in a request message, a shared object file is obtained, and the request message is modified through a shared object file package to obtain the request message.

[0040] Furthermore, the preset judgment logic is updated according to the dynamic update of the shared object file.

[0041] In a second aspect, an embodiment of the present application provides a message reporting device, including:

[0042] A receiving module, used for receiving a request message;

[0043] An acquisition module, used to acquire configuration information corresponding to the request message from a configuration server based on an identifier of the request message;

[0044] A reporting type determination module, used to process the request message based on the preset judgment logic and configuration information provided by the forward proxy, and determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information;

[0045] The reporting module is used to report the request message according to the reporting method corresponding to the reporting type.

[0046] In one embodiment, the acquisition module is further used to convert the format of the request message to obtain a converted request message;

[0047] The identifier in the converted request message is obtained, and information matching the identifier is pulled from the configuration server as configuration information corresponding to the request message.

[0048] In one embodiment, the reporting type determination module is further used to obtain configuration parameters in the configuration information;

[0049] The request message is judged based on the preset judgment logic and configuration parameters to determine the reporting type of the request message.

[0050] In an embodiment, the reporting type determination module is further used to obtain a first configuration parameter in the configuration information, wherein the first configuration parameter is used to indicate whether the request message needs to be colored;

[0051] If the value of the first configuration parameter is the first preset value, the reporting type of the request message is immediate reporting.

[0052] In an embodiment, the device further includes a first judgment module, the first judgment module being used to obtain a second configuration parameter in the configuration information if the value of the first configuration parameter is not a first preset value, wherein the second configuration parameter is used to characterize whether the request message needs sampling;

[0053] If the value of the second configuration parameter is the second preset value, the reporting type of the request message is immediate reporting.

[0054] In an embodiment, the device further includes a second judgment module, the second judgment module is used to obtain a third configuration parameter in the configuration information if the value of the second configuration parameter is not a second preset value, wherein the third configuration parameter is used to characterize the first loading time of the request message;

[0055] If the first loading time is greater than the third preset value, the reporting type of the request message is immediate reporting.

[0056] In an embodiment, the device further includes a third judgment module, which is used to obtain a fourth configuration parameter in the configuration information if the first loading time is less than or equal to the third preset value, wherein the fourth configuration parameter is used to indicate whether the request message needs to be merged according to a preset rule before being reported;

[0057] If the fourth configuration parameter is a fourth preset value, the reporting type of the request message is delayed reporting.

[0058] In one embodiment, the reporting type determination module is further used to obtain the scheduled task in the configuration information;

[0059] The reporting type of the request message is determined based on the type of the value of the scheduled task.

[0060] In one embodiment, the reporting type determination module is further used for, if the value of the timed task is a character type, the reporting type of the request message is a delayed report, and the request message is reported after the corresponding playback task is completed;

[0061] If the value of the scheduled task is a numeric type, the reporting type of the request message is delayed reporting, and the request message is reported after the time indicated by the numeric type.

[0062] In one embodiment, the reporting module is further configured to report the request message to the edge node or the server according to a reporting method corresponding to the reporting type.

[0063] In one embodiment, the reporting module is also used to report the request message to the edge node according to the reporting method corresponding to the reporting type, so that the edge node can identify the request message, calculate the performance parameters corresponding to the request message, and report the request message and the performance parameters corresponding to the request message to the server.

[0064] In one embodiment, when an exception occurs in a request message, a shared object file is obtained, and the request message is modified through a shared object file package to obtain the request message.

[0065] Furthermore, the preset judgment logic is updated according to the dynamic update of the shared object file.

[0066] In a third aspect, an embodiment of the present application provides a device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any of the above methods when executing the computer program.

[0067] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps of any of the above methods are implemented.

[0068] The embodiment of the present application provides a message reporting method, device, computer equipment and storage medium, including: first receiving a request message, then obtaining configuration information corresponding to the request message from a configuration server based on an identifier of the request message, and then processing the request message based on the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information, and finally reporting the request message according to the reporting method corresponding to the reporting type. The present application processes the request message through the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, and then reports the request message according to the reporting method corresponding to the reporting type, avoiding the message redundancy caused by directly reporting the request message through the code and the problem of excessive dependence on the code, thereby decoupling the request message from the code, which not only saves the resource consumption of message reporting, but also improves the efficiency and accuracy of message reporting. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] The drawings constituting a part of this application are used to provide a further understanding of this application, so that other features, purposes and advantages of this application become more obvious. The schematic embodiment drawings and their descriptions of this application are used to explain this application and do not constitute an improper limitation on this application. In the drawings:

[0070] Figure 1 It is a flowchart of a message reporting method provided in an embodiment of the present application;

[0071] Figure 2 It is a schematic diagram of an application scenario of a message reporting method provided in an embodiment of the present application;

[0072] Figure 3 It is a schematic diagram of an application scenario of another message reporting method provided in an embodiment of the present application;

[0073] Figure 4 It is a flowchart of another message reporting method provided in an embodiment of the present application;

[0074] Figure 5 It is a flowchart of another message reporting method provided in an embodiment of the present application;

[0075] Figure 6 is a schematic diagram of a buffering time of P90 data provided in an embodiment of the present application;

[0076] Figure 7 is a schematic diagram of a dragging action provided in an embodiment of the present application;

[0077] Figure 8 It is a flowchart of a method for determining a reporting type provided in an embodiment of the present application;

[0078] Fig. 9 It is a flowchart of another method for processing so packet data provided by an embodiment of the present application;

[0079] Fig.10 It is a flow chart of an edge node data processing method provided in an embodiment of the present application;

[0080] Fig.11 It is a structural diagram of a message reporting device provided in an embodiment of the present application;

[0081] Fig.12 It is a schematic diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0082] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0083] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the application described herein can be implemented in an order other than those illustrated or described herein.

[0084] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0085] It should be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0086] It should be understood that in the present application, "include" and "have" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products or apparatuses.

[0087] It should be understood that in the present application, "plurality" refers to two or more than two. "And / or" is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "Contains A, B and C", "Contains A, B, C" means that A, B, and C are all included, "Contains A, B or C" means that one of A, B, and C is included, and "Contains A, B and / or C" means that any one, any two, or any three of A, B, and C are included.

[0088] It should be understood that in this application, "B corresponding to A", "B corresponding to A", "A corresponds to B" or "B corresponds to A" means that B is associated with A and B can be determined based on A. Determining B based on A does not mean determining B based only on A, but B can also be determined based on A and / or other information. A and B match when the similarity between A and B is greater than or equal to a preset threshold.

[0089] Depending on the context, "if" as used herein may be interpreted as "when" or "when" or "in response to determining" or "in response to detecting."

[0090] The data involved in this application may be data authorized by the tester or fully authorized by all parties. The collection, dissemination, and use of the data shall comply with the relevant laws, regulations, and standards of the relevant countries and regions. The implementation methods / examples of this application may be combined with each other.

[0091] The embodiments of the present application can be applied to various scenarios such as multimedia resource playback, voice interaction, and information communication.

[0092] The technical solution of the present application is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0093] In order to make the purpose, technical solutions and advantages of this application clearer, the professional terms in this application are explained as follows:

[0094] Forward Proxy: A forward proxy is a proxy server (intermediate server) located between the client and the target server. In order to obtain content from the target server, the client sends a request to the proxy server and specifies the target server. The proxy then forwards the request to the target server and returns the obtained content to the client. In the case of a forward proxy, the client must make some special settings before it can be used. A forward proxy needs to actively set the proxy server IP (Internet Protocol) or domain name for access, and the set server IP or domain name will be used to access the content and return it.

[0095] Edge Node: refers to a computing device or server located at the edge of the network. The edge node is a server on the client side, which is closer to the client side than the backend server to provide faster response time and lower network latency. Edge computing of edge nodes is mainly used to perform computing on the side closer to users and data sources, providing intelligent, low-latency, and highly secure near-end services, such as local live broadcasts, cloud games, smart parks, smart factories, etc. Edge computing is more suitable for localized, short-cycle, and high-real-time response requirements. It makes up for the business shortcomings of cloud computing.

[0096] Central node: It is a background server. The central node usually exists in a remote cloud computing center / central cloud and is responsible for controlling the entire application business and storing core data.

[0097] Next, the present application scheme will be described through specific embodiments in conjunction with the accompanying drawings.

[0098] During video playback, various data are generated, such as playback data, download data, playback experience data, etc. Among them, playback data includes playback start, playback pause, playback freeze, playback end, etc., and download data includes data downloaded from CDN (Content Delivery Network), data interacting with the background, etc. These data will be reported to the server in the form of messages (such as messages carrying data packets, which are formed by compressing data) so that the server can feedback or store the reported messages.

[0099] like Figure 1 As shown, currently data is reported to the server through messages. Generally, the client directly reports the message to the server through code, or sends the message to a central node, and couples the data in the business code.

[0100] However, if the above message reporting method is used for message reporting, and some data needs to be adjusted during the message reporting process, the code needs to be modified or the code version needs to be upgraded according to different data, resulting in low efficiency of the message reporting process, poor message accuracy, and low user experience.

[0101] In addition, when using the above-mentioned message reporting method for message reporting, data coloring, sampling and other operations in the message reporting process need to be implemented by configuring independent modules, and it is impossible to perform automatic and targeted operations based on specific data. For example, the jamming data needs to be reported in a summarized manner, rather than reporting it every time a jam occurs, which leads to message redundancy and poor accuracy in the message reporting process.

[0102] In summary, since the above-mentioned message reporting method is prone to message redundancy and other phenomena in the message reporting process, the message reporting process is inefficient, and the message accuracy is poor, and the user experience is low. Therefore, the present application provides a message reporting method.

[0103] See also Figure 2 , Figure 2 A schematic diagram of an application scenario of a message reporting method provided in an embodiment of the present application.

[0104] like Figure 2 As shown, the client 202 and the server 206 both communicate with the forward proxy 204, wherein the client 202 sends a request message to the forward proxy 204, the forward proxy 204 receives the request message, and then obtains the configuration information corresponding to the request message from the configuration server based on the identifier of the request message, and then processes the request message based on the preset judgment logic and the configuration information to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information, and then reports the request message in a reporting manner corresponding to the reporting type, so as to report the request message to the server 206.

[0105] Alternatively, the client 202 and the edge node 208 both communicate with the forward proxy 204, wherein the client 202 sends a request message to the forward proxy 204, the forward proxy 204 receives the request message, and then obtains the configuration information corresponding to the request message from the configuration server based on the identifier of the request message, and then processes the request message based on the preset judgment logic and the configuration information to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information, and then reports the request message in a reporting manner corresponding to the reporting type, so as to report the request message to the edge node 208.

[0106] Among them, the client 202 and the forward proxy 204, the server 206 and the forward proxy 204, and the edge node 208 and the forward proxy 204 can communicate through any communication method, including but not limited to network communication, and the above network can include but not limited to: wired network, wireless network, wherein the wired network includes: local area network, metropolitan area network and wide area network, and the wireless network includes: Bluetooth, WIFI, and other networks that realize wireless communication. Among them, the client 202 includes but is not limited to at least one of the following: mobile phone (such as Android mobile phone, iOS mobile phone, etc.), laptop computer, tablet computer, PDA, mobile Internet device (Mobile Internet Devices, MID), PAD, desktop computer, smart TV, etc. Among them, the forward proxy 204, the server 206, and the edge node 208 can be a field server or a remote server, wherein the configuration server, the field server and the remote server can be implemented as an independent server or a service cluster composed of multiple servers. The above is only an example, and this is not limited in any way in this embodiment.

[0107] See also Figure 3 , Figure 3 A schematic diagram of an application scenario of another message reporting method provided in an embodiment of the present application.

[0108] like Figure 3 As shown, the client 302 and the edge node 306 both communicate with the forward proxy 304, and the edge node 306 also communicates with the server 308, wherein the client 302 sends a request message to the forward proxy 304, the forward proxy 304 receives the request message, and then obtains the configuration information corresponding to the request message from the configuration server based on the identifier of the request message, and then processes the request message based on the preset judgment logic and the configuration information to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information, and then reports the request message according to the reporting method corresponding to the reporting type, so as to report the request message to the edge node 306, so that the edge node 306 identifies the request message, calculates the performance parameters corresponding to the request message, and reports the request message and the performance parameters corresponding to the request message to the server 308.

[0109] Among them, the client 302 and the forward proxy 304, the edge node 306 and the forward proxy 304, and the edge node 306 and the server 308 can communicate through any communication method, including but not limited to network communication, and the above network can include but not limited to: wired network, wireless network, wherein the wired network includes: local area network, metropolitan area network and wide area network, and the wireless network includes: Bluetooth, WIFI, and other networks that realize wireless communication. Among them, the client 302 includes but is not limited to at least one of the following: mobile phone (such as Android mobile phone, iOS mobile phone, etc.), laptop computer, tablet computer, PDA, mobile Internet device (Mobile Internet Devices, MID), PAD, desktop computer, smart TV, etc. Among them, the forward proxy 304, the server 308, and the edge node 306 can be a field server or a remote server, wherein the configuration server, the field server and the remote server can be implemented as an independent server or a service cluster composed of multiple servers. The above is only an example, and this is not limited in any way in this embodiment.

[0110] See also Figure 4 , Figure 4 A flow chart of a message reporting method provided in an embodiment of the present application. Figure 4 As shown, this method is applied to Figure 2 The forward proxy 204 or Figure 3 The forward proxy 304 shown includes the following steps:

[0111] Step S401: Receive a request message.

[0112] The request message of the present application is a message carrying arbitrary data, wherein the arbitrary data may exist in the form of a data packet. The request message and the data carried by the request message may vary according to different application scenarios. For example, if the application scenario is a video playback scenario, the request message includes but is not limited to a playback request and a download request, then the data corresponding to the request message is playback data and download data, respectively.

[0113] The request message of the present application is a request initiated by the client to the server, which can be called an HTTP (Hyper Text Transfer Protocol) request message, or an HTTP request message. Among them, the HTTP request message consists of four parts: a request line, a request header, a blank line, and a request body. The request line consists of a request method, a URL (Uniform Resource Locator) and an HTTP protocol version. The request header is used to describe the basic information of the client, thereby informing the server of information related to the client, and the request header consists of multiple lines of key: value pairs. A blank line refers to a blank line after the request header field, which is used to separate the request header and the request body, and the blank line can be replaced by a horizontal line. The request body contains data submitted to the server via POST.

[0114] Step S402: Based on the identifier of the request message, obtain configuration information corresponding to the request message from the configuration server.

[0115] To facilitate processing or storage of received request messages, the present application configures a corresponding identifier for each request message, wherein the identifier may be in the form of a code, a pattern, a text, or the like.

[0116] Taking the identification as a coding form as an example, the corresponding ID (Identity document) code can be configured for the request message, where the ID code can be composed of numbers, letters, special symbols, etc. For example, the ID code of a request message is z9500003647.

[0117] After obtaining the ID code of the request message, the request message can be processed or stored accordingly based on the ID code of the request message, such as storing the request message with ID code z9500003647, and storing the request message in a file with the file name: (base directory) / z9500003647 / 20230906 / 2023090611_1.csv, where the file name in which the request message is stored includes the ID code of the request message.

[0118] In order to determine the reporting type of the request message through configuration information and preset judgment logic, it is necessary to first obtain the configuration information corresponding to the request message based on the identifier of the request message. In other words, this application configures the corresponding configuration information for the request message based on the identifier of the request message.

[0119] Combination Figure 5 ,When the forward proxy receives the request message, it will first identify the identifier of the ,request message, and then pull the configuration information that matches the identifier of the ,request message from the configuration server through the identifier of the ,request message.

[0120] Among them, the configuration server is configured with relevant configuration information about processing the request message, and the configuration information includes but is not limited to the first configuration parameter, the second configuration parameter, the third configuration parameter, the fourth configuration parameter and the scheduled task, wherein the first configuration parameter is used to characterize whether the request message needs to be dyed, the second configuration parameter is used to characterize whether the request message needs to be sampled, the third configuration parameter is used to characterize the first loading time of the request message, and the fourth configuration parameter is used to characterize whether the request message needs to be merged according to preset rules before being reported.

[0121] Among them, based on the identifier of the request message, to obtain the configuration information corresponding to the request message, the request message must first be formatted to obtain the converted request message, and then the identifier in the converted request message is obtained, and the information matching the identifier is pulled as the configuration information corresponding to the request message.

[0122] For example, the request messages between the client and the forward proxy are interacted in json format. After the forward proxy receives the request message A sent by the client, it first converts the format of the request message A, that is, converts it into json format, to obtain the converted request message A.

[0123] The converted request message A is expressed in JSON format as follows:

[0124] {

[0125] "attaid":"z4100004512"

[0126] "k1":"k1",

[0127] "k2":"k2"

[0128] }

[0129] Among them, z4100004512 is the identifier of the request message A, and fields k1 and k2 are the data carried in the request message A.

[0130] After the identifier "z4100004512" of the request message A is obtained through the converted request message A represented in the json format, the corresponding configuration information can be obtained from the configuration server based on the identifier "z4100004512".

[0131] The configuration information corresponding to the identifier "z4100004512" is as follows:

[0132] {

[0133] "dlg":1,

[0134] "z4100004512":{

[0135] "delay":"0",

[0136] "sampling":1,

[0137] "threshold":{

[0138] "first_loading_time":0.4,

[0139] "second_buffer_rate":0.1

[0140] }

[0141] "mergeType":"10",

[0142] "mergeFunc":"func1"

[0143] }

[0144] }

[0145] In the above configuration information, dlg indicates coloring, delay indicates delay time, sampling indicates sampling, threshold indicates performance indicator threshold, first_loading_time indicates first loading timestamp, second_buffer_rate indicates secondary buffer rate, mergeType indicates scheduled task, and mergeFunc indicates merging.

[0146] Step S403: Process the request message based on the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message.

[0147] The preset judgment logic is generated based on the configuration parameters in the configuration information. Specifically, the preset judgment logic is to judge the rules corresponding to the configuration parameters in the configuration information in a certain order.

[0148] In order to process the request message based on the preset judgment logic and configuration information provided by the forward proxy and determine the reporting type of the request message, it is necessary to first obtain the configuration parameters in the configuration information, and then judge the request message based on the preset judgment logic and configuration parameters to determine the reporting type of the request message.

[0149] In one embodiment, the request message is judged based on the preset judgment logic and configuration parameters to determine the reporting type of the request message. The first configuration parameter in the configuration information must be obtained first, wherein the first configuration parameter is used to characterize whether the request message needs to be dyed. If the value of the first configuration parameter is the first preset value, the reporting type of the request message is immediate reporting; if the value of the first configuration parameter is not the first preset value, the second configuration parameter in the configuration information is obtained, wherein the second configuration parameter is used to characterize whether the request message needs to be sampled.

[0150] The first preset value is a staining threshold, which can be a specific value or a value range, set according to the specific situation, and is not specifically limited here. For example, the value corresponding to staining is expressed as a percentage, 100% (i.e. 1) represents all staining, and 30% represents that only 30% of the data needs to be stained.

[0151] For example, assuming that the coloring threshold is in the interval [1%, 100%], the coloring in the configuration information corresponding to the identifier "z4100004512" of the request message A is: "dlg": 1, it can be known that all data in the request message A needs to be colored, and the reporting type of the request message A is immediate reporting. If the coloring in the configuration information corresponding to the identifier "z4100004512" of the request message A is: "dlg": 0.2%, it means that it is not within the interval [1%, 100%] of the coloring threshold, then it is further determined whether the request message A needs to be sampled.

[0152] If the value of the second configuration parameter is the second preset value, the reporting type of the request message is immediate reporting; if the value of the second configuration parameter is not the second preset value, obtain the third configuration parameter in the configuration information, wherein the third configuration parameter is used to characterize the first loading time of the request message.

[0153] The second preset value is a sampling threshold, which can be a specific value or a numerical range, set according to the specific situation, and is not specifically limited here. For example, the value corresponding to the sampling is expressed as a percentage, 100% (i.e. 1) represents all sampling, and 30% represents that only 30% of the data needs to be sampled.

[0154] Based on the above example, let the sampling threshold be the interval [1%, 100%]. For the sampling in the configuration information corresponding to the identifier "z4100004512" of the request message A, "sampling": 1, it can be seen that all the data in the request message A is sampled, that is, all the data in the request message A is reported, and the reporting type of the request message A is immediate reporting. If the sampling in the configuration information corresponding to the identifier "z4100004512" of the request message A, "dlg": 0.2%, it means that it is not within the interval [1%, 100%] of the sampling threshold, then the first loading time of the request message A is further determined.

[0155] It should be noted that if the request message carries playback experience data, then this request message does not need to be reported. It only needs to be reported when an abnormality occurs. Therefore, for a request message carrying playback experience data, the request message is only reported when the sampling threshold is 1% or lower, so that the erroneous data in the request message can be fully reported.

[0156] If the first loading time is greater than the third preset value, the reporting type of the request message is immediate reporting; if the first loading time is less than or equal to the third preset value, obtain the fourth configuration parameter in the configuration information, wherein the fourth configuration parameter is used to characterize whether the request message needs to be merged according to the preset rules before reporting.

[0157] The third preset value is the first loading (buffering) time threshold, which can be a specific value or a value range, which is set according to the specific situation and is not specifically limited here. For example, the value corresponding to the first loading time threshold is expressed as a percentage.

[0158] like Figure 6 As shown, assuming that the first loading time threshold is 1.252s, the first loading time in the configuration information corresponding to the identifier "z4100004512" of the request message A is: "first_loading_time": 0.4. It can be seen that the first loading time in the request message A is less than 1.252s, and it is necessary to determine whether the request message A needs to be merged according to the preset rules before reporting. If the first loading time in the configuration information corresponding to the identifier "z4100004512" of the request message A is: "first_loading_time": 3, it means that the first loading time is greater than 1.252s, and the reporting type of the request message A is immediate reporting.

[0159] If the fourth configuration parameter is a fourth preset value, the reporting type of the request message is delayed reporting, wherein the fourth configuration parameter is used to indicate whether the request message needs to be merged according to a preset rule before being reported.

[0160] Combination Figure 7 During video playback, dragging, freezing, and other data may appear. The reason for the dragging data is that the user triggers multiple dragging between the beginning and the end of the video, such as drag 1, drag 2, etc. For users who frequently drag, the number of dragging may reach hundreds or thousands. In addition, for users with poor network speed, the number of freezing may also reach thousands. If the information is uploaded to the server every time a drag or freezing occurs, it will cause too much pressure on the server.

[0161] To avoid excessive pressure on the server, this application combines the dragging, jamming and other data according to preset rules before reporting. Optionally, the preset rule can be that when the data of ending playback is received, the dragging, jamming and other data are combined and reported.

[0162] For request messages that need to be merged and reported, the data carried in the request messages are merged and summarized to form a data table as shown in Table 1, where the data is represented by field name, field type and description.

[0163] Table 1 Data sheet

[0164] Field Name Field Type illustrate tcount unit32_t Total number of secondary buffering times tduration unit32_t Total secondary buffering time (unit: ms)

[0165] Since there is too much stuck or dragging data, redundancy is prone to occur. Therefore, for the fields that need to be recorded in a single secondary buffer, only the first 10, 20, etc. times are taken. When the first 9 times are taken, the single secondary buffer data table shown in Table 2 is formed.

[0166] Table 2 Single secondary buffer data table

[0167]

[0168]

[0169] At the end of playback, data such as dragging, freezing, etc. can be summarized. However, during the playback process, there will be playback data, download data, etc. These data can be configured with corresponding data IDs, and can be associated with video IDs, file names, etc. through data IDs, which is convenient for users to check.

[0170] In another embodiment, the request message is judged based on preset judgment logic and configuration parameters to determine the reporting type of the request message. The scheduled task in the configuration information must be obtained first, and the reporting type of the request message is determined based on the type of the value of the scheduled task.

[0171] Among them, the reporting type of the request message is determined according to the type of the value of the scheduled task, including: if the value of the scheduled task is a character type, the reporting type of the request message is delayed reporting, and the request message is reported after the corresponding playback task is completed; if the value of the scheduled task is a digital type, the reporting type of the request message is delayed reporting, and the request message is reported after the time indicated by the digital type.

[0172] There are two types of scheduled tasks. One is a scheduled task that needs to be reported after the playback task is completed, such as mergeType "flowid", which means that the task is reported after the playback task is completed. The other is a scheduled task that is reported after the time indicated by the digital type, such as "mergeType": 10, which means that the task is reported after 10 minutes.

[0173] In one embodiment, Figure 8 As shown, taking request message A as an example, the configuration parameters are judged by the preset judgment logic to determine the reporting type of the request message: for the obtained configuration information, first judge by the configuration parameters contained in the configuration information, that is, judge whether the request message A is a scheduled task and whether the request message A needs to be dyed. If the request message A is a scheduled task, the request message A is delayed in reporting; if the request message A needs to be dyed, the request message A is immediately reported. If the request message A does not need to be dyed, it is judged whether the request message A needs sampling. If the request message A needs sampling, Then perform immediate reporting on the request message A. If the request message A does not need to be sampled, determine whether the first loading time of the request message A is greater than 1S. If the first loading time of the request message A is greater than 1S, then perform immediate reporting on the request message A. If the first loading time of the request message A is less than or equal to 1S, determine whether the request message A needs to be merged and reported according to the preset rules. If the request message A needs to be merged and reported according to the preset rules, perform delayed reporting on the request message A. This delayed reporting means that the request message A needs to be merged and reported according to the preset rules.

[0174] Step S404: Report the request message according to the reporting method corresponding to the reporting type.

[0175] Based on the above embodiments, it can be known that the present application performs logical judgment on different request messages, identifies the reporting types corresponding to different request messages, and after determining the reporting types corresponding to different request messages, reports can be made according to the reporting methods corresponding to the corresponding reporting types. If the request message needs to be fully colored, the request message is uploaded immediately, that is, all the data in the request message is colored, and then all the colored data is immediately uploaded to the server or edge node.

[0176] In addition, the update of the preset judgment logic and preset rules configured for the forward proxy of the present application is explained. The present application updates the preset judgment logic and preset rules by dynamically loading shared object files. Also, in the event of an exception in the request message, the request message can also be corrected through the shared object file package to obtain the request message. Among them, the shared object file includes but is not limited to so packages, script files, etc.

[0177] like Fig. 9 As shown, after the forward proxy receives the data, it can load the so package, filter the data through the so package, update the preset judgment logic, preset rules and correct the data to send the request message to the server or edge node.

[0178] Edge nodes can aggregate surrounding data. If an error occurs, it is a regional cluster error and can be reported to the server through an independent channel. Cluster errors are prone to occur on the client's playback side, such as CDN anomalies, operator anomalies, etc. Fig.10 As shown, the edge node will obtain data through multiple nodes, such as node1, node2, and node3, and summarize the data to count the first buffering time, second buffering time, error rate, etc., so that users can find abnormalities in time and solve them in time to improve reporting efficiency.

[0179] This application uses an independent so package process to ensure that when data-related packages are updated, the existing business code will not be affected, and the data can be upgraded independently. By updating the so package in a timely manner, if some data needs to be corrected, the user-side code can be slightly optimized. For example, if a field reports a read exception, it can be recalculated in the so package to obtain the corresponding data.

[0180] The embodiment of the present application provides a message reporting method, including: first receiving a request message, then obtaining configuration information corresponding to the request message from a configuration server based on an identifier of the request message, and then processing the request message based on a preset judgment logic and configuration information provided by a forward proxy to determine the reporting type of the request message, wherein the preset judgment logic is generated based on configuration parameters in the configuration information, and finally reporting the request message according to a reporting method corresponding to the reporting type. The present application processes the request message through the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, and then reports the request message according to a reporting method corresponding to the reporting type, thereby avoiding the message redundancy caused by directly reporting the request message through the code and the problem of excessive dependence on the code, thereby decoupling the request message from the code, which not only saves the resource consumption of message reporting, but also improves the efficiency and accuracy of message reporting.

[0181] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0182] The following is an embodiment of the device of the present application. For details not described in detail, please refer to the corresponding method embodiment described above.

[0183] Fig.11 A structural diagram of a message reporting device provided in an embodiment of the present application is shown. For the convenience of explanation, only the part related to the embodiment of the present application is shown. A message reporting device includes a receiving module 1101, an acquisition module 1102, a reporting type determination module 1103 and a reporting module 1104, which are as follows:

[0184] Receiving module 1101, used for receiving a request message;

[0185] The acquisition module 1102 is used to acquire configuration information corresponding to the request message from the configuration server based on the identifier of the request message;

[0186] The reporting type determination module 1103 is used to process the request message based on the preset judgment logic and configuration information provided by the forward proxy to determine the reporting type of the request message, wherein the preset judgment logic is generated based on the configuration parameters in the configuration information;

[0187] The reporting module 1104 is used to report the request message according to the reporting method corresponding to the reporting type.

[0188] In one embodiment, the acquisition module 1102 is further used to convert the format of the request message to obtain a converted request message;

[0189] The identifier in the converted request message is obtained, and information matching the identifier is pulled from the configuration server as configuration information corresponding to the request message.

[0190] In one embodiment, the reporting type determination module 1103 is further used to obtain configuration parameters in the configuration information;

[0191] The request message is judged based on the preset judgment logic and configuration parameters to determine the reporting type of the request message.

[0192] In an embodiment, the reporting type determination module 1103 is further used to obtain a first configuration parameter in the configuration information, wherein the first configuration parameter is used to indicate whether the request message needs to be colored;

[0193] If the value of the first configuration parameter is the first preset value, the reporting type of the request message is immediate reporting.

[0194] In an embodiment, the device further includes a first judgment module, the first judgment module being used to obtain a second configuration parameter in the configuration information if the value of the first configuration parameter is not a first preset value, wherein the second configuration parameter is used to characterize whether the request message needs sampling;

[0195] If the value of the second configuration parameter is the second preset value, the reporting type of the request message is immediate reporting.

[0196] In an embodiment, the device further includes a second judgment module, the second judgment module is used to obtain a third configuration parameter in the configuration information if the value of the second configuration parameter is not a second preset value, wherein the third configuration parameter is used to characterize the first loading time of the request message;

[0197] If the first loading time is greater than the third preset value, the reporting type of the request message is immediate reporting.

[0198] In an embodiment, the device further includes a third judgment module, the third judgment module is used to obtain a fourth configuration parameter in the configuration information if the first loading time is less than or equal to the third preset value, wherein the fourth configuration parameter is used to indicate whether the request message needs to be merged according to a preset rule before being reported;

[0199] If the fourth configuration parameter is a fourth preset value, the reporting type of the request message is delayed reporting.

[0200] In an embodiment, the reporting type determination module 1103 is further used to obtain the scheduled task in the configuration information;

[0201] The reporting type of the request message is determined based on the type of the value of the scheduled task.

[0202] In an embodiment, the reporting type determination module 1103 is further configured to: if the value of the scheduled task is a character type, the reporting type of the request message is a delayed report, and the request message is reported after the corresponding playback task is completed;

[0203] If the value of the scheduled task is a numeric type, the reporting type of the request message is delayed reporting, and the request message is reported after the time indicated by the numeric type.

[0204] In an embodiment, the reporting module 1104 is further configured to report the request message to the edge node or the server according to a reporting method corresponding to the reporting type.

[0205] In one embodiment, the reporting module 1104 is also used to report the request message to the edge node in a reporting manner corresponding to the reporting type, so that the edge node identifies the request message, calculates the performance parameters corresponding to the request message, and reports the request message and the performance parameters corresponding to the request message to the server.

[0206] In one embodiment, when an exception occurs in a request message, a shared object file is obtained, and the request message is modified through a shared object file package to obtain the request message.

[0207] Furthermore, the preset judgment logic is updated according to the dynamic update of the shared object file.

[0208] This application Fig.12 A schematic diagram of a computer device is provided. Fig.12 As shown, the computer device 12 of this embodiment includes: a processor 1201, a memory 1202, and a computer program 1203 stored in the memory 1202 and executable on the processor 1201. When the processor 1201 executes the computer program 1203, the steps in the above-mentioned message reporting method embodiments are implemented, for example Figure 4 Alternatively, when the processor 1201 executes the computer program 1203, the functions of each module / unit in the above-mentioned message reporting device embodiments are implemented, for example Fig.10 Functionality of modules / units 1001 to 1004 is shown.

[0209] The present application also provides a readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, it is used to implement the message reporting method provided by the various implementation modes described above.

[0210] Among them, the readable storage medium can be a computer storage medium or a communication medium. The communication medium includes any medium that facilitates the transmission of a computer program from one place to another. The computer storage medium can be any available medium that can be accessed by a general or special-purpose computer. For example, a readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application-specific integrated circuit (ASIC). In addition, the ASIC can be located in a user device. Of course, the processor and the readable storage medium can also exist in a communication device as discrete components. The readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0211] The present application also provides a program product, which includes an execution instruction, which is stored in a readable storage medium. At least one processor of the device can read the execution instruction from the readable storage medium, and at least one processor executes the execution instruction so that the device implements the message reporting method provided by the various embodiments described above.

[0212] In the embodiments of the above-mentioned devices, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0213] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A message reporting method, characterized in that, it includes: Receiving a request message; Based on the identifier of the request message, obtaining the configuration information corresponding to the request message from a configuration server; Processing the request message based on a preset judgment logic provided by a forward proxy and the configuration information to determine the reporting type of the request message, wherein the preset judgment logic is generated based on configuration parameters in the configuration information; Reporting the request message according to the reporting method corresponding to the reporting type.

2. The message reporting method according to claim 1, characterized in that, the obtaining the configuration information corresponding to the request message from a configuration server based on the identifier of the request message includes: Converting the format of the request message to obtain a converted request message; Obtaining the identifier in the converted request message, and pulling information matching the identifier from the configuration server as the configuration information corresponding to the request message.

3. The message reporting method according to claim 1, characterized in that, the processing the request message based on a preset judgment logic provided by a forward proxy and the configuration information to determine the reporting type of the request message includes: Obtaining the configuration parameters in the configuration information; Judging the request message based on the preset judgment logic and the configuration parameters to determine the reporting type of the request message.

4. The message reporting method according to claim 3, characterized in that, the judging the request message based on the preset judgment logic and the configuration parameters to determine the reporting type of the request message includes: Obtaining a first configuration parameter in the configuration information, wherein the first configuration parameter is used to represent whether the request message needs to be dyed; If the value of the first configuration parameter is a first preset value, the reporting type of the request message is immediate reporting.

5. The message reporting method according to claim 4, characterized in that, the method further includes: If the value of the first configuration parameter is not the first preset value, obtaining a second configuration parameter in the configuration information, wherein the second configuration parameter is used to represent whether the request message needs to be sampled; If the value of the second configuration parameter is a second preset value, the reporting type of the request message is immediate reporting.

6. The message reporting method according to claim 5, characterized in that, the method further includes: If the value of the second configuration parameter is not the second preset value, obtaining a third configuration parameter in the configuration information, wherein the third configuration parameter is used to represent the first loading time of the request message; If the first loading time is greater than a third preset value, the reporting type of the request message is immediate reporting.

7. The message reporting method according to claim 6, characterized in that, the method further includes: If the first loading time is less than or equal to the third preset value, obtaining a fourth configuration parameter in the configuration information, wherein the fourth configuration parameter is used to represent whether the request message needs to be merged according to a preset rule before reporting; If the fourth configuration parameter is the fourth preset value, the reporting type of the request message is delayed reporting.

8. The message reporting method according to claim 3, wherein, judging the request message based on the preset judgment logic and the configuration parameter to determine the reporting type of the request message, including: obtaining the scheduled task in the configuration information; determining the reporting type of the request message according to the value type of the scheduled task.

9. The message reporting method according to claim 8, wherein, determining the reporting type of the request message according to the value type of the scheduled task, including: if the value of the scheduled task is of character type, the reporting type of the request message is delayed reporting, and the request message is reported after the corresponding playback task ends; if the value of the scheduled task is of numeric type, the reporting type of the request message is delayed reporting, and the request message is reported after the time indicated by the numeric type.

10. The message reporting method according to any one of claims 1-9, wherein, reporting the request message according to the reporting method corresponding to the reporting type, including: reporting the request message to the edge node or the server according to the reporting method corresponding to the reporting type.

11. The message reporting method according to claim 10, wherein, reporting the request message to the edge node according to the reporting method corresponding to the reporting type, including; reporting the request message to the edge node according to the reporting method corresponding to the reporting type, so that the edge node identifies the request message, calculates the performance parameter corresponding to the request message, and reports the request message and the performance parameter corresponding to the request message to the server.

12. The message reporting method according to any one of claims 1-9 or 11, wherein, in the case of an exception in the request message, obtaining a shared object file, and correcting the request message through the shared object file package to obtain the request message, and, the preset judgment logic is updated according to the dynamic update of the shared object file.

13. A message reporting device, wherein, comprising: a receiving module, configured to receive a request message; an obtaining module, configured to obtain the configuration information corresponding to the request message from a configuration server based on the identifier of the request message; a reporting type determination module, configured to process the request message based on a preset judgment logic provided by a forward proxy and the configuration information to determine the reporting type of the request message, wherein the preset judgment logic is generated based on configuration parameters in the configuration information; a reporting module, configured to report the request message according to the reporting method corresponding to the reporting type.

14. A computer device, wherein, comprising a memory, and one or more processors communicatively connected to the memory; Instructions executable by the one or more processors are stored in the memory, and the instructions are executed by the one or more processors to cause the one or more processors to implement the message reporting method according to claims 1 to 12.

15. A computer-readable storage medium, characterized in that it includes a program or instructions which, when run on a computer, implement the message reporting method according to claims 1 to 12.