Communication method and device and readable storage medium
By filtering or sampling network user traffic based on specific applications in the aggregation and diversion equipment of the CEM system, the problem that existing CEM systems cannot effectively handle user traffic is solved, and the effect of resource conservation and configuration reduction is achieved.
Patent Information
- Application Number
- CN202311583724.9
- 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
Existing CEM systems cannot meet the needs when processing user traffic, resulting in wasted computing resources and storage resources and increased configuration costs.
By filtering or sampling network user traffic based on specific applications in aggregation shunt device, only data packets for specific applications are sent to the probe server, thereby generating KQI documents, saving computing and storage resources of the CEM system.
While taking into account the user experience, the number of KQI documents is reduced and the configuration requirements of CEM systems is reduced, such as reducing the number of probe servers and CEM servers is deployed.
Smart Images

Figure CN120050259A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a communication method, apparatus, and readable storage medium. Background Art
[0002] With the advent of the fifth-generation wireless communication (5G, also known as New Radio, NR) era, the development of mobile value-added services has entered a new period. Data services such as online games, web browsing, and video downloads have seen rapid growth, and the perceived satisfaction of mobile users with data services has become particularly important. Operators have built a customer experience management (CEM) system for various mainstream services on the mobile Internet, which can detect and record all interaction behaviors between the operator's network and mobile users. The probe server in the CEM system can collect data in the network to generate a detailed record (DR), which can also be simply referred to as a detailed bill (DR) or document, and has designed a set of key quality indicators (KQIs), as well as methods for identifying, extracting, and calculating KQIs, which can effectively evaluate the satisfaction of mobile users with mobile Internet services, thereby improving the user experience of mobile services and optimizing the operator's network.
[0003] Currently, a traffic aggregation and diversion device can be used to sample the traffic in the network. For example, the traffic of some users can be randomly sampled at a fixed sampling rate. Then, based on the sampled traffic, KQIs can be calculated, and KQI documents can be generated. By analyzing the KQI documents, the user experience can be reflected. However, with the explosive growth of user traffic, the existing CEM system can no longer meet the processing requirements of user traffic. Summary of the Invention
[0004] Embodiments of this application provide a communication method, apparatus, and readable storage medium, which can screen or sample user traffic in the network based on a specific application, so as to save computing resources and / or storage resources of the CEM system while taking into account the user experience, and further reduce the configuration of the CEM system.
[0005] The following introduces this application from different aspects. It should be understood that the implementation manners and beneficial effects of the following different aspects can be referred to each other.
[0006] In a first aspect, the present application provides a communication method, which can be applied to a CEM system. The method includes: a converging and diverting device obtains data packets and obtains a list of Internet Protocol (IP) addresses. The data packets include service IP addresses, and the IP address list includes IP addresses corresponding to one or more specific applications; if the service IP address of the data packet matches the first IP address in the IP address list, the converging and diverting device sends the data packet to a probe server, and the data packet is used to generate a KQI document. Wherein, one specific application corresponds to one or more IP addresses.
[0007] Exemplarily, a data packet may include a quadruple, for example: source IP address, destination IP address, source port number, destination port number; or a data packet may include a quintuple, for example: source IP address, destination IP address, transport layer protocol, source port number, destination port number. Wherein, the service IP address in the data packet is the destination IP address.
[0008] Exemplarily, these specific applications may be preset, so the IP address list includes IP addresses corresponding to these preset specific applications. For example: these specific applications may be the top x applications with the most user traffic in the network, where x is a positive integer, such as x equals 10, or 5, or 8, or 20, etc. Or rather, these specific applications may be applications that customers / operators are interested in or highly concerned about.
[0009] Exemplarily, the above IP address list may further include one or more of the following: application identifiers (APP IDs), APP names, or port numbers respectively corresponding to these one or more IP addresses.
[0010] Exemplarily, the converging and diverting device of the present application may be a network processor (NP) programmable device. The NP programmable device can be understood as a converging and diverting device based on an NP chip.
[0011] Currently, the converging and diverting device can randomly sample data packets of certain users at a fixed sampling rate and send the sampled data packets to the probe server, so that the probe server generates KQI documents based on these data packets. However, this method of randomly sampling data packets in the network based on users will generate a lot of invalid documents for non-specific applications (or applications that customers / operators are not concerned about), wasting the computing resources and storage resources of the CEM system.
[0012] In this application, the aggregation and diversion device can identify the applications of data packets based on the above IP address list class, and perform traffic filtering (or data packet sampling) based on the applications, which can reduce the number of KQI documents at the application level, and can save the computing resources and / or storage resources of the CEM system while taking into account the user experience, thereby reducing the configuration of the CEM system (such as reducing the number of probe servers and / or CEM servers deployed in the CEM system).
[0013] Combined with the first aspect, in a possible implementation, before the aggregation and diversion device sends the above data packet to the probe server, the method further includes: when the service IP address of the above data packet matches the first IP address in the above IP address list, the aggregation and diversion device determines that the data stream to which the above data packet belongs is a sampled data stream.
[0014] It can be understood that a data stream can be a set of all data packets with the same five-tuple (source IP address, destination IP address, transport layer protocol, source port number, and destination port number) or the same four-tuple (source IP address, destination IP address, source port number, and destination port number) passing through a certain observation point in the network within a period of time. In other words, a data stream includes multiple data packets, and the service IP addresses of these multiple data packets are the same.
[0015] Exemplarily, the aggregation and diversion device can determine the data stream to which the data packet belongs based on the service IP address of the data packet.
[0016] Exemplarily, the sampled data stream can be determined based on the first sampling rate. If the data stream to which the data packet belongs is the (M*(1 / N)+1)-th data stream that matches the first IP address in the above IP address list, then the data stream to which the data packet belongs is a sampled data stream. Where M is a natural number, taking values of 0, 1, 2, 3, …; N represents the first sampling rate. For example: assuming N is equal to 10%, if the data stream to which the data packet belongs is the 1st, 11th, 21st, 31st, …, (M*(1 / N)+1)-th data stream that matches the first IP address in the above IP address list, then the data stream to which the data packet belongs is a sampled data stream.
[0017] Exemplarily, the above first sampling rate can be a preset value. Or, the above first sampling rate can be a preset initial value, and subsequently, the initial value can be adjusted based on the sampling rate adjustment message. Or, the above first sampling rate can be a value after adjusting the second sampling rate, and the second sampling rate can be the sampling rate used in the previous preset time period.
[0018] When the service IP address of the data packet in this application matches an IP address in the IP address list, it is determined whether the data stream to which the data packet belongs is a sampled data stream. Only when the data stream to which the data packet belongs is a sampled data stream, this data packet is sent to the probe server; the number of KQI documents can be further reduced, and the computing resources and / or storage resources of the CEM system can be further saved.
[0019] In combination with the first aspect, in a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first (specific) application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first (specific) application. It can be understood that a specific application can correspond to one or more IP addresses, and an IP address corresponds to a specific application. In some scenarios, such as the IP jump scenario, a specific application may be identified through multiple IP addresses. Therefore, the above first (specific) application may be a specific application that can be identified through IP address jump.
[0020] Exemplarily, in this implementation manner, when the service IP address of the above data packet matches the first IP address in the IP address list, the aggregation and diversion device can directly send the data packet to the probe server without determining whether the data stream to which the data packet belongs is a sampled data stream. This is because in the IP jump scenario, usually the first IP address cannot identify the specific application. Therefore, the data packet matching the first IP address can be sent to the probe server for processing, and the probe server can identify the specific application corresponding to the data packet based on the deep packet inspection (DPI) technology. In addition, in the IP jump scenario, usually the data volume carried by the data packet matching the first IP address is very small, so the full-volume reporting has little impact on the CEM system.
[0021] In combination with the first aspect, in a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first (specific) application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first (specific) application. Among them, the value of i is a positive integer greater than or equal to 2.
[0022] Exemplarily, in this implementation manner, when the service IP address of the above data packet matches the first IP address in the IP address list, the aggregation and diversion device may first determine whether the data stream to which the data packet belongs is a sampled data stream. If the data stream to which the data packet belongs is a sampled data stream, the aggregation and diversion device then sends the data packet to the probe server. This is because in the IP jump scenario, the data volume of the data packets matching the i-th (i is greater than or equal to 2) IP address will be very large. If all data is reported, it will cause an increase in the system load. Therefore, in this application, the data packets matching the i-th IP address in the IP jump scenario in the network are sampled to reduce the computing resources and / or storage resources of the CEM system, thereby reducing the configuration of the CEM system.
[0023] Combined with the first aspect, in a possible implementation manner, the above first IP address is the IP address corresponding to the second (specific) application in the above IP address list. The second (specific) application may be a specific application that can be identified by one IP address.
[0024] Exemplarily, in this implementation manner, when the service IP address of the above data packet matches the first IP address in the IP address list, the aggregation and diversion device may first determine whether the data stream to which the data packet belongs is a sampled data stream. If the data stream to which the data packet belongs is a sampled data stream, the aggregation and diversion device then sends the data packet to the probe server. This can reduce the number of KQI documents generated by the probe server, thereby saving the computing resources and / or storage resources of the CEM system while taking into account the user experience, and further reducing the configuration of the CEM system.
[0025] Combined with the first aspect, in a possible implementation manner, if the service IP address of the above data packet does not match any of the IP addresses in the above IP address list, it indicates that the data packet is not from a specific application. The aggregation and diversion device may generate a document containing pipeline metrics based on the data packet and send the document to the probe server for subsequent processing. For specific details, refer to the prior art and will not be elaborated here. It can be understood that usually multiple data packets generate one document containing pipeline metrics, and of course, one data packet can also generate one document containing pipeline metrics. This application does not make any restrictions.
[0026] Combined with the first aspect, in a possible implementation manner, the aggregation and diversion device obtains the IP address list, including: the aggregation and diversion device receives the IP address list from the probe server. Or, the aggregation and diversion device may obtain the IP address list from local storage. In other words, the IP address list may also be pre-configured in the aggregation and diversion device.
[0027] In combination with the first aspect, in a possible implementation, the user identifier associated with the above data packet does not match any of the user identifiers in the very important person (VIP) list. Or rather, the above data packet is from a non-VIP. Before the aggregation and diversion device obtains the data packet, the method further includes: the aggregation and diversion device receives the data packet from the network, associates the received data packet with user information (including the user identifier) through the user plane and the control plane; the aggregation and diversion device obtains a predefined very important person (VIP) list, and the predefined VIP list may include one or more user identifiers; when the user identifier associated with the data packet does not match any of the user identifiers in the VIP list, it indicates that the data packet is from a non-VIP, and the aggregation and diversion device obtains the data packet for subsequent operations.
[0028] Exemplarily, when the user identifier associated with the data packet matches any of the user identifiers in the VIP list, it indicates that the data packet is from a VIP, and the aggregation and diversion device sends the data packet to the probe server for subsequent processing by the probe server (such as generating a KQI document based on the data packet). In other words, for data packets from VIPs, the aggregation and diversion device can report them to the probe server in full without filtering or sampling.
[0029] In combination with the first aspect, in a possible implementation, before the aggregation and diversion device determines that the data stream to which the above data packet belongs is a sampled data stream, the method further includes: the aggregation and diversion device receives a first sampling rate adjustment message from the probe server, and the first sampling rate adjustment message is used to indicate an increase or decrease in the second sampling rate; the aggregation and diversion device adjusts the second sampling rate based on the first sampling rate adjustment message to obtain a first sampling rate. The second sampling rate may be the sampling rate used in the previous preset time period.
[0030] Exemplarily, the sampling rate of the aggregation and diversion device within a preset time period may remain unchanged, or of course it may also change, and this application does not make any restrictions.
[0031] The aggregation and diversion device of this application can adjust the sampling rate according to the indication of the probe server to better adapt to the processing capacity of the probe server and reduce the situation of excessive load on the probe server.
[0032] In combination with the first aspect, in a possible implementation, after the aggregation and diversion device sends the above-mentioned data packet to the probe server, specifically, after the preset time period ends, the method further includes: the aggregation and diversion device sends the number of KQI documents within the preset time period to the probe server, and the number of KQI documents is used for the probe server to determine whether to adjust the above-mentioned first sampling rate. The number of KQI documents is the number of KQI documents corresponding to all or part of the data packets sent by the aggregation and diversion device to the probe server within the preset time period.
[0033] Exemplarily, after the aggregation and diversion device sends the number of KQI documents within the preset time period to the probe server, the method further includes: the aggregation and diversion device receives a second sampling rate adjustment message from the probe server, and the second sampling rate adjustment message is used to indicate an increase or decrease in the above-mentioned first sampling rate; the aggregation and diversion device adjusts the first sampling rate based on the second sampling rate adjustment message.
[0034] After the preset time period ends in this application, the number of KQI documents within the preset time period is sent to the probe server, so that the probe server can dynamically adjust the sampling rate of the aggregation and diversion device, thereby better adapting to the processing capacity of the probe server.
[0035] In the second aspect, this application provides a communication method, and this method can be applied to a CEM system. The method includes: the probe server receives a data packet and generates a KQI document based on the data packet. The data packet includes a service IP address, and the service IP address of the data packet matches the first IP address in the IP address list. The IP address list includes IP addresses corresponding to one or more applications, and one application corresponds to one or more IP addresses.
[0036] Exemplarily, a KQI document can be generated based on one or more data packets. Therefore, the probe server can generate a KQI document based on this data packet and other received data packets together. Of course, the probe server can also generate a KQI document based on this data packet. The probe server can also generate one or more KQI documents based on all the received data packets after the preset time period ends. This application does not limit the time for the probe server to generate KQI documents.
[0037] Exemplarily, a data packet can include a quadruple, for example: source IP address, destination IP address, source port number, destination port number; or a data packet can include a quintuple, for example: source IP address, destination IP address, transport layer protocol, source port number, destination port number. Among them, the service IP address in the data packet is the destination IP address.
[0038] Exemplarily, these specific applications can be preset, so the IP address list includes the IP addresses corresponding to these preset specific applications. For example: these specific applications can be the top x applications with the most user traffic in the network, where x is a positive integer, such as x equals 10, or 5, or 8, or 20, etc. Or rather, these specific applications can be the applications that the customer / operator is interested in or pays high attention to.
[0039] Exemplarily, the above IP address list can also include one or more of the following: the application identifier (APP ID), application name (APP name), or port number (Port) corresponding to each of these one or more IP addresses.
[0040] Combined with the second aspect, in a possible implementation manner, after the probe server receives a data packet, the method further includes: the probe server performs deep packet inspection (DPI) on the data packet to obtain the application corresponding to the data packet; if the application corresponding to the data packet is a preset application, the probe server executes to generate a KQI document based on the data packet.
[0041] It can be understood that for the IP jump scenario, since some data packets (such as: the data packets matching the first IP address in the IP jump scenario) are forwarded to the probe server without being recognized, so in this application, DPI recognition is performed on the probe server, which can further reduce the number of KQI documents and further save the computing resources and / or storage resources of the CEM system. In addition, for the data packets that are recognized and forwarded to the probe server (such as: the data packets matching the second IP address in the IP jump scenario, and the data packets matching any IP address in the above IP address list except the IP jump scenario), secondary recognition is performed on the probe server in this application, which can improve the accuracy.
[0042] Combined with the second aspect, in a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first (specific) application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first (specific) application. It can be understood that a specific application can correspond to one or more IP addresses, and an IP address corresponds to a specific application. The above first (specific) application can be a specific application that can only be recognized by IP address jump.
[0043] Combined with the second aspect, in a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first (specific) application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first (specific) application. Among them, the value of i is a positive integer greater than or equal to 2.
[0044] In combination with the second aspect, in a possible implementation manner, the above first IP address is the IP address corresponding to the second (specific) application in the above IP address list. The second (specific) application may be a specific application that can be identified by one IP address.
[0045] In combination with the second aspect, in a possible implementation manner, before the probe server receives the data packet, the method further includes: the probe server sends the IP address list to the aggregation and diversion device.
[0046] Exemplarily, the probe server may obtain multiple data packets within a period of time, and may perform deep packet inspection on the multiple data packets respectively to obtain the applications corresponding to the multiple data packets; the probe server may input the service IP addresses in the multiple data packets and the applications corresponding to the multiple data packets respectively into a machine learning model for processing to obtain a relationship list between each application and the IP address; the probe server may send the IP address list to the aggregation and diversion device, and the IP address list includes the IP addresses corresponding to one or more specific applications in the above relationship list.
[0047] Exemplarily, the probe server may obtain multiple data packets within a period of time, and may perform deep packet inspection on the multiple data packets respectively to obtain the applications corresponding to the multiple data packets; the probe server may first obtain a preset list (or set) of specific applications, and the list (or set) of specific applications includes one or more specific applications; the probe server may screen out the data packets corresponding to one or more specific applications in the list (or set) of specific applications from the multiple data packets, and may input the service IP addresses in the data packets corresponding to the one or more specific applications and the one or more specific applications into a machine learning model for processing, so that the machine learning model learns the corresponding relationship between the one or more specific applications and the IP address, thereby obtaining the IP address list; the probe server may then send the IP address list to the aggregation and diversion device.
[0048] In combination with the second aspect, in a possible implementation manner, before the probe server receives the data packet, the method further includes: the probe server sends a first sampling rate adjustment message to the aggregation and diversion device, and the first sampling rate adjustment message is used to indicate an increase or decrease in the second sampling rate.
[0049] In combination with the second aspect, in a possible implementation manner, after the probe server generates the KQI document based on the above data packet, the method further includes: the probe server receives the number of KQI documents within a preset time period from the aggregation and diversion device, and the number of KQI documents is used to determine whether to adjust the sampling rate; the probe server determines the ratio between the number of KQI documents and the preset total number of documents; if the ratio is outside the preset range, the probe server determines to adjust the sampling rate.
[0050] Exemplarily, after the probe server determines to adjust the sampling rate, the method further includes: the probe server sends a second sampling rate adjustment message to the aggregation and diversion device, and the second sampling rate adjustment message is used to indicate an increase or decrease in the first sampling rate.
[0051] The probe server of the present application can dynamically adjust the sampling rate used by the aggregation and diversion device according to the processing capacity of the system (i.e., the preset total amount of documents), so as to achieve the adjustability of the overall document volume of the system and reduce the configuration of the CEM system.
[0052] In combination with the second aspect, in a possible implementation manner, after the probe server generates a KQI document based on the above data packet, the method further includes: the probe server sends the KQI document to the CEM server so that the CEM server analyzes the user experience based on the KQI document.
[0053] In a third aspect, the present application provides a communication device, and the communication device is used to execute the method in the first aspect or any possible implementation manner of the first aspect. The communication device includes a unit having the method for executing the first aspect or any possible implementation manner of the first aspect.
[0054] In a fourth aspect, the present application provides a communication device, and the communication device is used to execute the method in the second aspect or any possible implementation manner of the second aspect. The communication device includes a unit having the method for executing the second aspect or any possible implementation manner of the second aspect.
[0055] In the third aspect or the fourth aspect, the above communication device may include a transceiver unit and a processing unit. For the specific description of the transceiver unit and the processing unit, reference may also be made to the device embodiments shown below. The beneficial effects of the above third aspect to the fourth aspect may refer to the relevant descriptions of the foregoing first aspect and the second aspect, which will not be elaborated here.
[0056] In a fifth aspect, the present application provides a communication device, and the communication device includes a processor for executing the method shown in the first aspect, the second aspect, or any possible implementation manner of any one of them. Alternatively, the processor is used to execute a program stored in a memory, and when the program is executed, the method shown in the first aspect, the second aspect, or any possible implementation manner of any one of them is executed.
[0057] In combination with the fifth aspect, in a possible implementation manner, the memory is located outside the above communication device.
[0058] In combination with the fifth aspect, in a possible implementation manner, the memory is located inside the above communication device.
[0059] In this application, the processor and the memory may also be integrated into one device, that is, the processor and the memory may also be integrated together.
[0060] In combination with the fifth aspect, in a possible implementation, the communication device further includes a transceiver, which is used to send or receive data packets.
[0061] In a sixth aspect, this application provides a communication device, which may include a processor and an interface circuit, and the processor is connected to the interface circuit. Among them, the interface circuit is used to interact (or transmit and receive or input and output) information or data, and the processor is used to run program instructions so that the communication device executes the method described in any possible implementation of the above first aspect, or the above second aspect, or any one of them. Among them, the interface circuit may be a communication interface or a transceiver. The transceiver may be a radio frequency module in the communication device, or a combination of a radio frequency module and an antenna, or an input / output interface of a chip or a circuit.
[0062] In a seventh aspect, this application provides a readable storage medium, on which program instructions are stored. When it runs on a computer, it causes the computer to execute the method described in any possible implementation of the above first aspect, or the above second aspect, or any one of them.
[0063] In an eighth aspect, this application provides a program product containing program instructions. When it runs, it causes the method described in any possible implementation of the above first aspect, or the above second aspect, or any one of them to be executed.
[0064] In a ninth aspect, this application provides a device, which may be implemented in the form of a chip or in the form of a device. The device includes a processor. The processor is used to read and execute the program stored in the memory to execute one or more of the above first aspect and second aspect, or one or more of the communication methods provided in any possible implementation of any one of them. Optionally, the device further includes a memory, and the memory is connected to the processor through a circuit. Further optionally, the device further includes a communication interface, and the processor is connected to the communication interface. The communication interface is used to receive data to be processed. The processor obtains the data from the communication interface, processes the data, and outputs the processing result through the communication interface. The communication interface may be an input / output interface.
[0065] In a possible implementation, the above-mentioned processor and memory may be physically independent units, or the memory may also be integrated with the processor.
[0066] In a tenth aspect, the present application provides a communication system, which includes an aggregation and splitting device and / or a probe server; the aggregation and splitting device is used to execute the method described in the above first aspect or any possible implementation manner of the first aspect, and the probe server is used to execute the method described in the above second aspect or any possible implementation manner of the second aspect.
[0067] The technical effects achieved by the above aspects can be mutually referred to or referred to the beneficial effects in the method embodiments shown below. Details are not described herein again. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] Figure 1 is a schematic architecture diagram of the CEM system provided by an embodiment of the present application;
[0069] Figure 2 is a schematic diagram of the CEM system based on user sampling provided by an embodiment of the present application;
[0070] Figure 3 is a schematic diagram of the CEM system based on application sampling provided by an embodiment of the present application;
[0071] Figure 4 is a schematic flowchart of a communication method provided by an embodiment of the present application;
[0072] Figure 5 is a schematic flowchart of an IP address list generation method provided by an embodiment of the present application;
[0073] Figure 6 is a schematic flowchart of a sampling rate adjustment method provided by an embodiment of the present application;
[0074] Figure 7 is a schematic diagram of a tentative sampling rate adjustment provided by an embodiment of the present application;
[0075] Figure 8 is a schematic structural diagram of a communication device provided by an embodiment of the present application;
[0076] Figure 9 is another schematic structural diagram of a communication device provided by an embodiment of the present application;
[0077] Figure 10 is still another schematic structural diagram of a communication device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0078] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application.
[0079] In the embodiments of the present application, the expression "one (or) more of the following" or its similar expressions refers to any combination of these items, including any combination of single item (or) plural items. For example, one (or) more of the following: a, b, or c, may represent: a, b, c; a and b; a and c; b and c; or a, b, and c. Wherein a, b, and c may be single or multiple. "At least one" means one or more, and "multiple" means two or more. "And / or" describes the association relationship of associated objects and indicates that there can be three relationships. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B may be singular or plural. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.
[0080] In the description of the present application, words such as "first", "second", etc. are only used to distinguish different objects, and do not limit the quantity and execution order, and the words such as "first", "second", etc. do not necessarily mean different. In addition, the terms "comprise" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device, etc. that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices, etc.
[0081] In the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary", "for example", or "for illustration" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary", "for example", or "for illustration" is intended to present relevant concepts in a specific manner.
[0082] It should be understood that in the present application, "when", "if", and "in case" all refer to the device making corresponding processing under certain objective circumstances, not limited to time, and it is not required that the device must have a judgment action when implemented, nor does it mean that there are other limitations.
[0083] In the present application, elements represented in the singular are intended to mean "one or more", rather than "one and only one", unless otherwise specified.
[0084] It should be understood that in the embodiments of the present application, "B corresponding to A" may indicate that B is associated with A, and B can be determined according to A. However, it should also be understood that determining / generating B based on A does not mean determining / generating B only based on A, but also can determine / generate B according to A and / or other information.
[0085] The technical solution of the embodiment of the present application can be applied to a customer experience management (CEM) system that supports various communication technologies. For example: Long Term Evolution (LTE) technology, 5th Generation (5G) mobile communication technology, such as New Radio Access Technology (NR), next-generation wireless local area network technology, Internet of Things technology, vehicle-to-everything technology, Open Radio Access Network (O-RAN) technology, and future mobile communication technologies, such as 6th Generation (6G) mobile communication technology, etc.
[0086] It should be understood that the system architecture described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided by the embodiment of the present application. Those skilled in the art know that with the evolution of the system architecture, the technical solution provided by the embodiment of the present application is equally applicable to similar technical problems.
[0087] For example, referring to Figure 1 , Figure 1 is a schematic diagram of the architecture of the CEM system provided by the embodiment of the present application. The CEM system may include, but is not limited to: one or more aggregation and diversion devices, one or more probe servers, and one or more customer experience management (CEM) servers. As Figure 1 shown, taking the CEM system including one aggregation and diversion device, one probe server, and one CEM server as an example, but in actual applications, the number of aggregation and diversion devices, probe servers, or CEM servers in the CEM system can be more, and the embodiment of the present application does not make any restrictions. Among them, the aggregation and diversion device can be connected to the probe server by wire or wirelessly, and the probe server can be connected to the CEM server by wire or wirelessly.
[0088] Among them, the aggregation and diversion device is a device in the CEM system responsible for data aggregation, diversion, data filtering (or data sampling), and forwarding. The main functions of the aggregation and diversion device can include, but are not limited to: traffic aggregation, traffic filtering, ultra-high traffic diversion, traffic forwarding, mobile network signaling parsing, or load balancing, etc. It can be deployed in networks such as mobile networks, metropolitan area networks, and Internet data centers (IDCs). The aggregation and diversion device can aggregate multiple data streams to one port and then distribute the data streams to different exits according to the destination address. The aggregation and diversion device can be a switch, router, load balancer, network processor (NP) programmable device, etc. The NP programmable device can be understood as an aggregation and diversion device based on the NP chip.
[0089] The probe server is a module in the CEM system responsible for document generation. The probe server can be used to obtain the traffic of the network link, receive the network traffic from the aggregation and diversion device, and generate KQI documents based on this network traffic. Exemplarily, the probe server can identify and manage the traffic of the services carried by the network and can be deployed in network backbone layers, metropolitan area networks, or network devices within enterprises.
[0090] The CEM server is a module in the CEM system responsible for analyzing the user experience. The CEM server can be used to evaluate the satisfaction of users with mobile Internet services. For example, the CEM server can receive the documents from the probe server and determine the user experience by analyzing these documents.
[0091] The "traffic" in this application can be understood as "data packet", and the two can be used interchangeably. Both the "network traffic" and "user traffic" in this application can represent data packets from users, and the two can be used interchangeably in this application. It can be understood that a data stream in this application can be a set of all data packets with the same five-tuple (source IP address, destination IP address, transport layer protocol, source port number, and destination port number) or the same four-tuple (source IP address, destination IP address, source port number, and destination port number) passing through a certain observation point in the network within a period of time.
[0092] It can be understood that due to the large amount of traffic in the network, the aggregation and diversion device usually filters / samples the traffic in the network and then transmits it to the probe server for processing to reduce the number of generated KQI documents. Since the processing capabilities of a single probe server and a single CEM server are limited, if the network traffic transmitted by the aggregation and diversion device is too large, more probe servers and / or CEM servers are required to process this network traffic, thus increasing various costs associated with the deployment of probe servers and / or CEM servers (such as hardware, floor space, power consumption, operation and maintenance costs, etc.). Therefore, filtering / sampling the traffic in the network in the CEM system can reduce the number of generated KQI documents, thereby saving the computing resources and storage resources of the CEM system, and further reducing the configuration of the CEM system (such as reducing the number of probe servers and / or CEM servers).
[0093] In a possible implementation, the aggregation and diversion device can randomly sample the traffic in the network based on users. Refer to Figure 2 , Figure 2 which is a schematic diagram of a CEM system based on user sampling provided by an embodiment of the present application.
[0094] As Figure 2 shown, the aggregation and diversion device receives data packets from the network, associates them with user information (including user identifiers, such as the international mobile subscriber identification (IMSI) code) through user plane and control plane association (such as CU association in Figure 2 ). It can be understood that in a wireless communication system, the protocol responsible for transmitting and processing user data streams is called the user plane, and the protocol responsible for transmitting and processing system coordination signaling is called the control plane. The aggregation and diversion device then filters the data packets associated with user information based on a predefined very important person (VIP) list (including one or more user identifiers, such as IMSI), and can send the data packets that match any user identifier in the VIP list to the probe server. For data packets from non-VIPs (i.e., data packets that do not match all user identifiers in the VIP list), the aggregation and diversion device can randomly sample these data packets at a certain ratio (or sampling rate) and then send them to the probe server.
[0095] After receiving the data packet sent by the aggregation and diversion device, the probe server can generate a detail record (DR) based on the data packet. Exemplarily, the detail record can be a key quality indicators (KQI) document. KQI can be key indicators close to the user experience proposed for different services, and the key indicators can be quality parameters of different services or applications. For example Figure 2 As shown, after receiving the data packet, the probe server can calculate the KQI and generate a KQI document, and send the KQI document to the CEM server. For example, the probe server can generate the detail record for a period of time after receiving the data packets reported by the aggregation and diversion device within a period of time, or can generate the detail record in real time based on the received data packets. As Figure 2 shown, the CEM server can analyze the user experience of the current network based on the received KQI document, and obtain the quality parameters of the current network. The CEM server can also guide the optimization of the network according to the network experience situation.
[0096] It can be understood that the above Figure 2 As shown, the aggregation and diversion device randomly samples the traffic in the network based on the user, and the probe server generates a KQI document based on the traffic reported by the aggregation and diversion device, and sends the KQI document to the CEM server. This method can reduce the number of KQI documents from the user level. However, with the substantial growth of network traffic, the CEM system based on user sampling can no longer meet the processing requirements of network traffic.
[0097] In view of this, the embodiments of the present application provide a communication method, device and readable storage medium, which can support the sampling / traffic process based on applications. For example, by screening the data packets from specific applications in the network (and / or sampling these data packets from specific applications) and sending them to the probe server, the number of KQI documents can be reduced, the number of KQI documents can be reduced from the application level, and while taking into account the user experience, the computing resources and / or storage resources of the CEM system can be saved, thereby reducing the configuration of the CEM system (such as reducing the number of probe servers and / or CEM servers deployed in the CEM system).
[0098] The technical solution provided by the present application will be described in detail below with reference to more drawings.
[0099] The technical solution provided in the present application is described through multiple embodiments, with specific reference to the description of each embodiment below. Among them, the same or similar parts between each embodiment or implementation can refer to each other. In each embodiment in the present application, and each implementation method / implementation method / implementation method in each embodiment, if there is no special explanation and logical conflict, the terms and / or descriptions between different embodiments and each implementation method / implementation method / implementation method in each embodiment are consistent and can be referenced to each other, and the technical features in different embodiments and each implementation method / implementation method / implementation method in each embodiment can be combined to form new embodiments, implementation methods, implementation methods, or implementation methods according to their inherent logical relationships. The implementation methods of the present application described below do not constitute a limitation on the scope of protection of the present application.
[0100] In a possible implementation, the communication method of the embodiment of the present application can be applied to a CEM system. The communication method of the embodiment of the present application is briefly described below in conjunction with the CEM system.
[0101] For example, see Figure 3 , Figure 3 Schematic diagram of a CEM system based on application sampling provided in an embodiment of the present application. Figure 3 As shown, the CEM system includes but is not limited to: convergence and distribution equipment, probe servers and CEM servers.
[0102] Among them, the main functions of the convergence and distribution equipment include but are not limited to: receiving data packets from the network (for example: packet switching (PS) mobile network), associating the data packets with user information in the signaling plane (i.e. CU association), and sending all data packets from VIP to the probe server; for data packets from non-VIP, identifying the application based on the IP address of the data packet, sampling and reporting data packets from specific applications, generating documents containing pipeline indicators for data packets that have not been sampled; and sending the documents containing pipeline indicators to the probe server.
[0103] The main functions of the probe server include but are not limited to: generating the corresponding relationship between IP addresses and applications (such as Figure 3 The probe server receives the IP address list in the convergence and diversion device, and sends the IP address list to the convergence and diversion device so that the convergence and diversion device can identify the application based on the IP address; receives the data packet and the bill containing the pipeline index from the convergence and diversion device; calculates the KQI of the data packet from the specific application and generates the KQI bill; calculates the pipeline index of the data packet of the non-specific application and generates the bill containing the pipeline index; sends the KQI bill to the CEM server. Optionally, the probe server can also adjust the sampling rate of the convergence and diversion device. For the specific adjustment method, please refer to the description of the embodiment below.
[0104] The main functions of the CEM server include but are not limited to: analyzing the user experience of the entire network based on the received KQI documents, and optimizing the network according to the user experience situation.
[0105] In a possible implementation, the probe server can perform deep packet inspection (DPI) on all or part of the data packets in the network to obtain the applications corresponding to the data packets, and can learn the relationship between the service IP addresses in the data packets and the applications corresponding to the data packets through a machine learning model, so as to obtain an IP address list. It can be understood that deep packet inspection can use feature matching technology to parse and extract the header information of each layer added during the encapsulation process of the data packet, and then match it with the feature information in the existing rule library to achieve the application identification of the data packet. The probe server can send the IP address list to the aggregation and diversion device. The aggregation and diversion device can send all the data packets from the VIP to the probe server. For the data packets from non-VIPs, the aggregation and diversion device can identify the applications corresponding to the data packets based on the IP address list. For the data packets from a specific application, after sampling, they are sent to the probe server. For the data packets from non-specific applications and the data packets not sampled, the aggregation and diversion device can calculate the pipeline metrics and generate a document containing the pipeline metrics, and send the document containing the pipeline metrics to the probe server. After receiving the data packets, the probe server can calculate the KQIs of these data packets and generate KQI documents. The probe server sends the generated KQI documents to the CEM server. The CEM server can analyze the user experience of the entire network based on the received KQI documents, and can optimize the network based on the user experience.
[0106] The communication method of the embodiments of the present application will be introduced in detail below.
[0107] See Figure 4 , Figure 4 which is a schematic flowchart of a communication method provided by the embodiments of the present application. The method can be applied to a CEM system, such as the CEM system shown in the foregoing Figure 1 or the CEM system shown in the foregoing Figure 3 . As shown in Figure 4 , the communication method may include but is not limited to the following steps:
[0108] S101, the aggregation and diversion device obtains a data packet, and the data packet includes a service Internet Protocol (IP) address.
[0109] In a possible implementation, the aggregation and distribution device can receive data packets from the network or obtain data packets from local storage. Since the data packets in the network are real-time data packets from users, the aggregation and distribution device can receive the data packets in the network in real time and perform subsequent processing (such as the following step S102). Of course, the aggregation and distribution device can also cache multiple data packets received from the network and then obtain the data packets from the local cache for subsequent processing (such as the following step S102). Exemplarily, a data packet can include a quadruple, for example: source Internet Protocol (IP) address, destination IP address, source port number, destination port number; or a data packet can include a quintuple, for example: source IP address, destination IP address, transport layer protocol, source port number, destination port number. Among them, the service IP address in the data packet is set as the destination IP address. For ease of understanding, the following takes the processing flow of a data packet as an example for illustration. It can be understood that the aggregation and distribution device can perform the processing of the embodiments of the present application on the data packets within a preset time period, or in other words, the aggregation and distribution device can perform filtering or sampling operations in different time periods.
[0110] In a possible implementation, after receiving a data packet from the network, the aggregation and distribution device can associate the received data packet with user information (including user identification, such as: IMSI code) through user plane and control plane association (i.e., CU association). The aggregation and distribution device can then obtain a predefined VIP list, and the predefined VIP list can include one or more user identifications, such as IMSI codes. When the user identification (such as IMSI code) associated with the data packet matches any user identification (such as IMSI code) in the VIP list, it indicates that the data packet is from a VIP, and the aggregation and distribution device can send the data packet to the probe server for subsequent processing by the probe server (such as generating a KQI document based on the data packet). In other words, for data packets from VIPs, the aggregation and distribution device can report them to the probe server in full without filtering or sampling. When the user identification (such as IMSI code) associated with the data packet does not match all user identifications (such as IMSI codes) in the VIP list, it indicates that the data packet is from a non-VIP, and the aggregation and distribution device can perform the following step S102. In other words, the user identification associated with the data packet obtained by the aggregation and distribution device in step S101 does not match all user identifications in the VIP list. Or in other words, the data packet obtained by the aggregation and distribution device in step S101 is from a non-VIP.
[0111] The predefined in the present application can be understood as setting, presetting, predefining, storing, prestoring, pre-negotiating, solidifying, or pre-burning, etc.
[0112] S102, The aggregation and diversion device obtains an IP address list, which includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses.
[0113] In a possible implementation, the aggregation and diversion device can obtain the IP address list from the probe server or from the local storage. The IP address list can include IP addresses corresponding to one or more specific applications, where one specific application can correspond to one IP address or multiple IP addresses, and the embodiments of the present application do not limit this. Exemplarily, the IP address list can further include one or more of the following: the application identifier (APP ID) of these one or more specific applications, the application name (APP name) of these one or more specific applications, or the port number (Port). Exemplarily, these specific applications can be preset, so the IP address list includes the IP addresses corresponding to these preset specific applications. For example: these specific applications can be the top x applications with the most user traffic in the network, where x is a positive integer, such as x equals 10, or 5, or 8, or 20, etc. Or rather, these specific applications can be the applications that the customer / operator is interested in or pays high attention to.
[0114] In a possible implementation, the aggregation and diversion device obtains the IP address list from the probe server, including: the aggregation and diversion device can send a request message to the probe server, and this request message can be used to request the IP address list; after receiving this request, the probe server can generate / acquire the IP address list and can send this IP address list to the aggregation and diversion device. Or, before step S102, the probe server generates the IP address list and can send this IP address list to the aggregation and diversion device; thus, the aggregation and diversion device obtains the IP address list from the probe server, including: the aggregation and diversion device receives the IP address list from the probe server. Or, the above IP address list is preset in the aggregation and diversion device, or the aggregation and diversion device obtains the IP address list from the probe server in advance and stores it locally.
[0115] In a possible implementation, the probe server can obtain multiple data packets within a period of time and generate an IP address list based on these multiple data packets. For example, see Figure 5 , Figure 5 is a schematic flowchart of the IP address list generation method provided by the embodiments of the present application. As Figure 5 shown, the IP address list generation method includes but is not limited to:
[0116] S201, The probe server obtains multiple data packets within a period of time.
[0117] Exemplarily, the probe server may receive the data packets reported by the aggregation and diversion device within a period of time. It can be understood that the aggregation and diversion device here can directly report the data packets from VIPs, and sample and then report the data packets from non-VIPs at a fixed sampling rate (such as 10%). The probe server can also directly obtain multiple data packets from the network. In other words, the multiple data packets obtained by the probe server can be the data packets filtered by the aggregation and diversion device, or all the data packets in the network (unfiltered).
[0118] S202. The probe server performs deep packet inspection on each of the multiple data packets to obtain the applications corresponding to each of the multiple data packets.
[0119] Exemplarily, the probe server may use deep packet inspection (DPI) technology to identify each of the above-mentioned multiple data packets respectively, so as to obtain the applications corresponding to each of these multiple data packets. Deep packet inspection (DPI) can be understood as adding application protocol identification, data packet content detection, and deep decoding of application layer data on the basis of traditional IP data packet detection technology.
[0120] S203. The probe server inputs the service IP addresses in the multiple data packets and the applications corresponding to each of the multiple data packets into a machine learning model for processing to obtain a relationship list between each application and the IP address.
[0121] S204. The probe server sends an IP address list to the aggregation and diversion device, and the IP address list includes the IP addresses corresponding to one or more specific applications in the above relationship list.
[0122] Exemplarily, the probe server may obtain the service IP addresses in the above multiple data packets, and may input the service IP addresses in the multiple data packets and the applications corresponding to each of the multiple data packets into a machine learning model for processing, so that the machine learning model learns the correspondence between the application and the IP address, thereby obtaining a relationship list between each application and the IP address. The probe server may obtain a preset list (or set) of specific applications, and the list (or set) of specific applications includes one or more specific applications. The probe server may screen the IP addresses corresponding to one or more specific applications in the specific application list (or set) from the above relationship list. The probe server may send the IP addresses corresponding to the one or more specific applications (i.e., the IP address list) to the aggregation and diversion device. Exemplarily, the probe server may update the IP address list every once in a while. For example: The probe server may execute the above steps S201 to S204 every once in a while to update the IP address list.
[0123] For example, as shown in Table 1 below, Table 1 shows a possible form of the IP address list sent by the probe server. As shown in Table 1 below, the IP address list may include one or more IP addresses, and optionally also includes application identifiers (APP IDs), application names (APP names), and / or port numbers (Ports) respectively corresponding to the one or more IP addresses.
[0124] Table 1
[0125]
[0126] As shown in Table 1 above, a specific application may correspond to one or more IP addresses, and an IP address corresponds to a specific application. It can be understood that for the IP jump scenario, when both IP address 1 and IP address 2 are satisfied, and the order of IP address 1 and IP address 2 is satisfied, it can be recognized as the corresponding application.
[0127] In an alternative embodiment, after the probe server obtains the applications corresponding to the above-mentioned multiple data packets, it may also first obtain a preset list (or set) of specific applications, and the list (or set) of specific applications includes one or more specific applications. The probe server may filter out the data packets corresponding to one or more specific applications in the list (or set) of specific applications from the multiple data packets, and may input the service IP addresses in the data packets corresponding to the one or more specific applications and the one or more specific applications into a machine learning model for processing, so that the machine learning model learns the correspondence between the one or more specific applications and the IP addresses, thereby obtaining an IP address list. The probe server can then send the IP address list to the aggregation and diversion device.
[0128] S103, if the service IP address of the above data packet matches the first IP address in the above IP address list, the aggregation and diversion device sends the data packet to the probe server. The data packet can be used to generate a KQI document.
[0129] Correspondingly, the probe server receives the data packet.
[0130] In a possible implementation, after receiving the above data packet, the aggregation and diversion device can obtain the service IP address in the data packet. The aggregation and diversion device can detect whether the service IP address in the data packet matches the IP addresses in the above IP address list. If the service IP address of the data packet matches the first IP address in the above IP address list, it indicates that the data packet comes from a specific application, and the aggregation and diversion device can send the data packet to the probe server. The data packet can be used by the probe server to generate a KQI document. Among them, the first IP address can be the first IP address (i.e., IP address 1) in the IP jump scenario of the above IP address list. Or rather, the first IP address is the first IP address among the multiple IP addresses corresponding to the first application, and the first application is a specific application that can be recognized only through IP address jump. Of course, the first IP address can also be the i-th IP address in the IP jump scenario of the above IP address list, or rather, the first IP address list can be the i-th IP address among the multiple IP addresses corresponding to the first application; and before this (such as in step S103), there is at least one data packet whose service IP address matches the first IP address (i.e., IP address 1) in the IP address list. The value of i is a positive integer greater than or equal to 2. When i is equal to 2, the second IP address in the IP jump scenario is IP address 2. In other words, in the IP jump scenario, if the service IP address of the current data packet matches IP address 2, and there is at least one data packet whose service IP address matches IP address 1 before the current data packet, the aggregation and diversion device can confirm that the current data packet comes from a specific application.
[0131] Alternatively, the first IP address can be any IP address in the above IP address list other than the IP jump scenario. Or rather, the first IP address is the IP address corresponding to the second application, and the second application is a specific application that can be recognized through one IP address.
[0132] In a possible implementation, when the service IP address of the above data packet matches the first IP address in the above IP address list, the aggregation and diversion device can determine the data stream to which the data packet belongs. When the data stream to which the data packet belongs is a sampled data stream, the aggregation and diversion device can send the data packet to the probe server. Exemplarily, the aggregation and diversion device can determine the data stream to which the data packet belongs based on the service IP address of the data packet. It can be understood that a data stream can be a set of all data packets with the same five-tuple (source IP address, destination IP address, transport layer protocol, source port number, and destination port number) or the same four-tuple (source IP address, destination IP address, source port number, and destination port number) passing through a certain observation point in the network within a period of time. In other words, a data stream includes multiple data packets, and the service IP addresses of these multiple data packets are the same. Among them, the sampled data stream can be determined based on the first sampling rate.
[0133] For example, if the data stream to which the data packet belongs is the (M*(1 / N)+1)-th data stream that matches the first IP address in the above IP address list, then the data stream to which the data packet belongs is a sampled data stream. Wherein, M is a natural number, and its value is 0, 1, 2, 3, …; N represents the first sampling rate. For example: assuming N is equal to 10%, if the data stream to which the data packet belongs is the 1st, 11th, 21st, 31st, …, (M*(1 / N)+1)-th data stream that matches the first IP address in the above IP address list, then the data stream to which the data packet belongs is a sampled data stream.
[0134] In a possible implementation, the above first sampling rate may be a preset value. Alternatively, the above first sampling rate may be a preset initial value, and subsequently, the initial value may be adjusted based on a sampling rate adjustment message. Alternatively, the above first sampling rate may be a value obtained by adjusting a second sampling rate, and the second sampling rate may be the sampling rate used in the previous preset time period. Exemplarily, before the aggregation and diversion device determines that the data stream to which the data packet belongs is a sampled data stream, for example, before step S101, the aggregation and diversion device receives a first sampling rate adjustment message from the probe server, and the first sampling rate adjustment message may be used to indicate an increase or decrease (in the second sampling rate used in the previous preset time period). The aggregation and diversion device may adjust the second sampling rate based on the first sampling rate adjustment message to obtain the first sampling rate. For example, the aggregation and diversion device is currently processing data packets from 10:00 to 10:10 for these 10 minutes. Assume that the previous preset time period is from 9:00 to 9:10 for these 10 minutes, and assume that the second sampling rate used in the previous preset time period is 20%. When the aggregation and diversion device receives the first sampling rate adjustment message from the probe server, it may adjust the second sampling rate of 20% used in the previous preset time period to obtain the first sampling rate. Exemplarily, the amplitude of the sampling rate adjusted by the aggregation and diversion device may be determined by the aggregation and diversion device based on its own policy, may be predefined, or may be specified by the probe server. The embodiments of the present application do not make any restrictions. For example: It may be predefined that each adjustment is 10%, or the amplitude of the adjusted sampling rate may be carried in the first sampling rate adjustment message. In a possible implementation, the sampling rate of the aggregation and diversion device within a preset time period may remain unchanged, or of course, it may also be variable. The embodiments of the present application do not make any restrictions.
[0135] It can be understood that "increase" in the embodiments of the present application may be expressed as "raise", and "decrease" may be expressed as "lower".
[0136] In a possible implementation, when the first IP address is the first IP address (i.e., IP address 1) in the IP jump scenario of the above IP address list, the aggregation and diversion device can directly send the data packet to the probe server without determining whether the data stream to which the data packet belongs is a sampled data stream. When the first IP address is any other IP address (such as IP address 2) in the IP jump scenario of the above IP address list except the first IP address (i.e., IP address 1), the aggregation and diversion device can determine whether the data stream to which the data packet belongs is a sampled data stream; when the data stream to which the data packet belongs is a sampled data stream, the aggregation and diversion device then sends the data packet to the probe server. This is because in the IP jump scenario, usually the first IP address cannot identify a specific application, so the data packets matching the first IP address can be sent to the probe server for processing, and the probe server can identify the specific application corresponding to the data packet based on DPI technology. In addition, in the IP jump scenario, usually the data volume carried by the data packets matching the first IP address is very small, so full reporting has little impact on the CEM system. However, the data volume of the data packets matching the second IP address will be very large, and full reporting will cause an increase in the system load. Therefore, in the embodiments of the present application, the data packets matching the second IP address in the IP jump scenario in the network are sampled to reduce the computing resources and / or storage resources of the CEM system, thereby reducing the configuration of the CEM system.
[0137] Of course, when the first IP address is any IP address in the above IP address list except the IP jump scenario, it means that the data packet comes from a specific application. The aggregation and diversion device can determine whether the data stream to which the data packet belongs is a sampled data stream; when the data stream to which the data packet belongs is a sampled data stream, the aggregation and diversion device then sends the data packet to the probe server.
[0138] In a possible implementation, if the data stream to which the above data packet belongs is not a sampled data stream, the aggregation and diversion device can generate a document containing pipeline metrics based on the data packet and can send the document to the probe server for subsequent processing. For details, refer to the prior art and will not be elaborated here.
[0139] In a possible implementation, if the service IP address of the above data packet does not match all the IP addresses in the above IP address list, it means that the data packet does not come from a specific application. The aggregation and diversion device can generate a document containing pipeline metrics based on the data packet and can send the document to the probe server for subsequent processing. For details, refer to the prior art and will not be elaborated here.
[0140] It can be understood that usually multiple data packets generate a document containing pipeline metrics. Of course, it can also be that a single data packet generates a document containing pipeline metrics. The embodiments of the present application do not make restrictions. The aggregation and diversion device can generate a document containing pipeline metrics in real time based on one or more data packets. The aggregation and diversion device can also generate one or more documents containing pipeline metrics based on the data packets that have not been sent to the probe server after the end of a preset time period. Among them, the data packets that have not been sent to the probe server include: data packets from non-VIPs and not specific applications, and data packets from non-VIPs and specific applications that do not belong to the sampled data stream.
[0141] In an embodiment of the present application, the aggregation and diversion device can identify data packets from specific applications based on an IP address list, and its consumption of performance is very small (because IP address matching is simple and no various parsing is required), while traditional aggregation and diversion devices do not have the ability to identify applications. In addition, the aggregation and diversion device in the embodiment of the present application supports sampling based on specific applications instead of based on users, which can reduce the number of generated KQI documents, and can save the computing resources and / or storage resources of the CEM system while taking into account the user experience, and further reduce the configuration of the CEM system (such as reducing the number of probe servers and / or CEM servers deployed in the CEM system). This is because sampling based on users will generate a lot of invalid documents for non-specific applications (or applications that customers / operators do not care about), wasting the computing resources and storage resources of the CEM system.
[0142] In a possible implementation manner, the above steps S101 to S103 can be understood as a processing process for a single data packet. During a period of time, since there are multiple data packets in the network, the above steps S101 to S103 can be repeatedly executed multiple times.
[0143] In a possible implementation manner, after the aggregation and diversion device sends the above data packet to the probe server, Figure 4The communication method shown may further include: after the end of a preset time period, the aggregation and diversion device may send the number of KQI documents within the preset time period to the probe server, and the number of KQI documents may be used to determine whether to adjust the first sampling rate. Optionally, the aggregation and diversion device may also send the first sampling rate within the preset time period to the probe server. The first sampling rate may be sent together with the number of KQI documents, such as being carried in one message; or may be sent separately, such as being carried in different messages respectively. Exemplarily, the above-mentioned number of KQI documents is the number of KQI documents corresponding to all or part of the data packets sent by the aggregation and diversion device to the probe server within the preset time period. It can be understood that multiple data streams may correspond to one KQI document, and one data stream includes multiple data packets. Since the aggregation and diversion device knows the number of data packets it sends to the probe server within the preset time period and the data streams to which these data packets belong, the aggregation and diversion device can obtain the number of KQI documents within the preset time period. It can also be understood that the data packets sent by the aggregation and diversion device to the probe server within the preset time period include, but are not limited to: data packets from VIPs and data packets sampled and reported by the aggregation and diversion device.
[0144] In a possible implementation, after the probe server receives the number of KQI documents within the preset time period from the aggregation and diversion device, the probe server may determine the ratio between the number of KQI documents and a preset total number of documents. If the ratio is outside the preset range, the probe server may determine to adjust the sampling rate. For example: the preset range may be 80% to 90%. Then "outside the preset range" can be understood as less than or equal to 80%, or greater than or equal to 90%. The probe server may send a second sampling rate adjustment message to the aggregation and diversion device, and the second sampling rate adjustment message may be used to indicate an increase or decrease in the sampling rate. After receiving the second sampling rate adjustment message, the aggregation and diversion device may adjust the first sampling rate within the preset time period based on the second sampling rate adjustment message. It can be understood that since the aggregation and diversion device knows the sampling rate it uses within the preset time period, after receiving the second sampling rate adjustment message, the aggregation and diversion device can determine the object of the second sampling rate adjustment message (i.e., the first sampling rate).
[0145] S104, the probe server generates key quality indicator KQI documents based on the received data packets.
[0146] In a possible implementation, after receiving the above data packet, the probe server may generate a KQI document based on the data packet. It can be understood that a KQI document can be generated based on one or more data packets. Therefore, the probe server may generate a KQI document based on this data packet and other received data packets together. Of course, the probe server may also generate a KQI document based on this data packet. The probe server may also generate one or more KQI documents based on all received data packets after the end of a preset time period. The embodiments of the present application do not limit the time for the probe server to generate KQI documents.
[0147] In a possible implementation, after receiving the above data packet, the probe server may perform deep packet inspection (DPI) on the data packet to obtain the application corresponding to the data packet. If the application corresponding to the data packet is a preset application (or a specific application), the probe server may generate a KQI document based on the data packet. If the application corresponding to the data packet is not a preset application (or a specific application), the probe server may generate a document containing pipeline metrics based on the data packet, or the probe server may discard the data packet, or the probe server may not process the data packet.
[0148] It can be understood that for the IP jump scenario, since some data packets (such as: data packets matching the first IP address (i.e., IP address 1) in the IP jump scenario) are forwarded to the probe server without being recognized, the embodiments of the present application perform DPI recognition on the probe server, which can further reduce the number of KQI documents and further save the computing resources and / or storage resources of the CEM system. In addition, for the data packets that are recognized and forwarded to the probe server (such as: data packets matching the second IP address (i.e., IP address 2) in the IP jump scenario, and data packets matching any IP address in the above IP address list except for the IP jump scenario), the embodiments of the present application perform secondary recognition on the probe server, which can improve the accuracy.
[0149] In another possible implementation, the probe server may perform deep packet inspection (DPI) on some data packets from the aggregation and diversion device. For example: the probe server may perform DPI on the data packets matching the first IP address (i.e., IP address 1) in the IP jump scenario, and may not perform DPI on other data packets from the aggregation and diversion device. This can not only further reduce the number of KQI documents, but also save the computing resources and / or storage resources of the CEM system, and can also reduce the complexity of the probe server.
[0150] In a possible implementation, after generating a KQI document, the probe server can send the KQI document to the CEM server so that the CEM server can analyze the current network status based on the received KQI document. Exemplarily, the probe server can send all the KQI documents it generates to the CEM server after the preset time period ends.
[0151] In the embodiments of the present application, the application of data packets is identified based on the IP address on the aggregation and diversion device, and traffic filtering (or data packet sampling) is performed based on the application, which can not only take into account the collection of all pipeline metrics, but also implement the detection of specific applications, and can also reduce the number of KQI documents, saving the computing resources and / or storage resources of the CEM system while taking into account the user experience, meeting the business requirements of the CEM system, and further reducing the configuration of the CEM system (such as reducing the number of probe servers and / or CEM servers deployed in the CEM system).
[0152] The embodiments of the present application also provide a sampling rate adjustment method, which can be implemented in combination with the Figure 4 communication method shown above, or can be implemented independently. The present application does not make any restrictions.
[0153] The probe server and the aggregation and diversion device in the embodiments of the present application can attempt a sampling rate adjustment scheme until the number of KQI documents is adjusted to within a preset range of the total number of documents. The probe server in the embodiments of the present application can dynamically adjust the sampling rate used by the aggregation and diversion device according to the processing capacity of the system to achieve adjustable overall document volume of the system and reduce the configuration of the CEM system.
[0154] See Figure 6 , Figure 6 is a schematic flowchart of a sampling rate adjustment method provided by the embodiments of the present application. As Figure 6 shown, the sampling rate adjustment method includes but is not limited to the following steps:
[0155] S301, the aggregation and diversion device sends the number of KQI documents to the probe server. Correspondingly, the probe server receives the number of KQI documents.
[0156] In a possible implementation, the aggregation and diversion device can initialize the sampling rate. For example, the initial sampling rate is 10%; alternatively, the aggregation and diversion device can obtain the value after the last sampling rate adjustment. Within a preset time period, the aggregation and diversion device can sample and report the data packets in the network according to the initial sampling rate or the value after the last sampling rate adjustment. Exemplarily, the aggregation and diversion device can perform user-based random sampling according to the prior art, or perform application-based sampling provided by this application, which is not limited here. It can be understood that the sampling rate of the aggregation and diversion device remains unchanged within this preset time period. After the end of this preset time period, the aggregation and diversion device can send the number of KQI documents within this preset time period to the probe server. It can be understood that the number of KQI documents within this preset time period can be the number of KQI documents corresponding to all or part of the data packets sent by the aggregation and diversion device to the probe server within this preset time period. It can also be understood that the data packets sent by the aggregation and diversion device to the probe server within the preset time period include, but are not limited to: data packets from VIPs and data packets sampled and reported by the aggregation and diversion device.
[0157] In a possible implementation, the aggregation and diversion device can also send the sampling rate used within this preset time period to the probe server. Exemplarily, this sampling rate can be sent together with the number of KQI documents, such as sent in a message; or can be sent separately, such as carried in different messages respectively.
[0158] S302, the probe server determines the ratio between the above-mentioned number of KQI documents and the preset total number of documents.
[0159] S303, if the ratio is outside the preset range, the probe server sends a sampling rate adjustment message to the aggregation and diversion device, and this sampling rate adjustment message is used to indicate an increase or decrease in the sampling rate. Correspondingly, the aggregation and diversion device receives this sampling rate adjustment message.
[0160] S304, the aggregation and diversion device adjusts the sampling rate based on the above-mentioned sampling rate adjustment message.
[0161] In a possible implementation, the probe server may initialize the total amount of documents in the system (the total amount of documents may be a preset value). The probe server receives the number of KQI documents and / or the sampling rate from the aggregation and diversion device, and may determine (e.g., calculate) the ratio between the number of KQI documents and the total amount of documents. If the ratio is outside the preset range, it indicates that the sampling rate used by the aggregation and diversion device within the above preset time period does not match the processing capacity of the system. The probe server may send a sampling rate adjustment message to the aggregation and diversion device. The sampling rate adjustment message may be used to indicate (to the aggregation and diversion device) to increase or decrease the sampling rate. Exemplarily, the sampling rate adjustment message may further include the amplitude of the adjusted sampling rate. If the ratio is within the preset range, it indicates that the sampling rate used by the aggregation and diversion device within the above preset time period matches the processing capacity of the system. The probe server may not send a sampling rate adjustment message, so that the aggregation and diversion device keeps the sampling rate unchanged.
[0162] For example, if the preset range is 80% to 90%, then "outside the preset range" can be understood as less than or equal to 80%, or, greater than or equal to 90%; "within the preset range" can be understood as greater than 80% and less than 90%. Therefore, if the ratio between the above-mentioned number of KQI documents and the total amount of documents is less than or equal to 80%, then the above-mentioned sampling rate adjustment message can be used to indicate an increase in the sampling rate. If the ratio between the above-mentioned number of KQI documents and the total amount of documents is greater than or equal to 90%, then the above-mentioned sampling rate adjustment message can be used to indicate a decrease in the sampling rate. Among them, being equal to 80% and / or equal to 90% can also be understood as within the preset range.
[0163] Correspondingly, after receiving the sampling rate adjustment message, the aggregation and diversion device may adjust the above-mentioned sampling rate based on the sampling rate adjustment message. Exemplarily, the amplitude of the sampling rate adjusted by the aggregation and diversion device may be determined by the aggregation and diversion device based on its own policy, may be predefined, or may be specified by the probe server. The embodiments of the present application do not make limitations.
[0164] For example, assume that the sampling rate used by the aggregation and diversion device within the above preset time period is 30%, and the amplitude of the adjusted sampling rate is 10%. Then when the sampling rate adjustment message indicates an increase, the aggregation and diversion device may increase the value of the sampling rate by 10%, that is: 30% + 10% = 40%. When the sampling rate adjustment message indicates a decrease, the aggregation and diversion device may decrease the value of the sampling rate by 10%, that is: 30% - 10% = 20%.
[0165] In a possible implementation, the embodiments of the present application may repeatedly execute the above steps S301 to S304 until the ratio between the number of KQI documents calculated by the aggregation and diversion device and the total amount of documents in the system is within the preset range.
[0166] Through negotiation, the aggregation and diversion device and the probe server in the embodiments of the present application can dynamically adjust the sampling rate, which can keep the number of KQI documents within a certain range, thereby realizing the adjustability of the overall document volume of the system and reducing the configuration of the CEM system.
[0167] To better understand the sampling rate adjustment method provided by the embodiments of the present application, a brief description will be given below through an example.
[0168] For example, refer to Figure 7 , Figure 7 which is a schematic diagram of the tentative sampling rate adjustment provided by the embodiments of the present application. As Figure 7 shown, the probe server and the aggregation and diversion device can carry out a tentative sampling rate adjustment scheme until the number of KQI documents is adjusted to 80% to 90% of the total number of documents. The probe server can initialize the total number of documents M of the system, and the aggregation and diversion device can initialize the sampling rate. The aggregation and diversion device samples and reports the network data packets at a sampling rate within a preset time period. After this preset time period, the aggregation and diversion device can send the number of KQI documents N1 within the preset time period to the probe server. After receiving the number of KQI documents N1, the probe server can calculate the ratio of the number of KQI documents N1 to the total number of documents M. The probe server can determine whether the ratio (i.e., N1 / M) is less than 80%. If so (i.e., the ratio N1 / M is less than 80%), the probe server can send a sampling rate adjustment message A to the aggregation and diversion device, and this sampling adjustment message A can be used to indicate an increase in the sampling rate. After receiving the sampling rate adjustment message A, the aggregation and diversion device can increase the sampling rate by 10%. If not (i.e., the ratio N1 / M is greater than or equal to 80%), the probe server can determine whether the ratio (i.e., N1 / M) is greater than 90%. If so (i.e., the ratio N1 / M is greater than 90%), the probe server can send a sampling rate adjustment message B to the aggregation and diversion device, and this sampling adjustment message B can be used to indicate a decrease in the sampling rate. After receiving the sampling rate adjustment message B, the aggregation and diversion device can decrease the sampling rate by 10%. It can be understood that the above process can be executed cyclically until the ratio between the number of KQI documents sent by the aggregation and diversion device and the total number of documents M is between 80% and 90%. In other words, if the ratio between the number of KQI documents and the total number of documents M is greater than or equal to 80% and less than or equal to 90%, it means that the number of KQI documents in the system is maintained in a stable state, and the probe server can stop sending the sampling rate adjustment message.
[0169] For example: The aggregation and diversion device can sample and report the data stream in the next preset time period using the adjusted sampling rate (either increased or decreased), and after the next preset time period, send the number N2 of KQI documents in the next preset time period to the probe server. The probe server receives the number of documents N2 and can calculate the ratio of the number N2 of KQI documents to the total number M of documents. The probe server can determine whether the ratio (i.e., N2 / M) is less than 80%. If so (i.e., the ratio N2 / M is less than 80%), the probe server can send a sampling rate adjustment message A to the aggregation and diversion device, and this sampling adjustment message A can be used to indicate an increase in the sampling rate. After receiving the sampling rate adjustment message A, the aggregation and diversion device can increase the aforementioned adjusted sampling rate (either increased or decreased) by 10%. If not (i.e., the ratio N2 / M is greater than or equal to 80%), the probe server can determine whether the ratio (i.e., N2 / M) is greater than 90%. If so (i.e., the ratio N2 / M is greater than 90%), the probe server can send a sampling rate adjustment message B to the aggregation and diversion device, and this sampling adjustment message B can be used to indicate a decrease in the sampling rate. After receiving the sampling rate adjustment message B, the aggregation and diversion device can decrease the aforementioned adjusted sampling rate (either increased or decreased) by 10%.
[0170] The above content elaborates in detail the method of the present application. To facilitate better implementation of the above solutions of the embodiments of the present application, the embodiments of the present application also provide corresponding devices or equipment.
[0171] The embodiments of the present application can divide the aggregation and diversion device and the probe server into functional modules according to the above method embodiments. For example, each functional module can be corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the present application is illustrative, only a logical function division, and there may be other division methods in actual implementation. The following will be combined with Figures 8 to 10 Describe in detail the communication device of the embodiments of the present application.
[0172] See Figure 8 , Figure 8 is a schematic structural diagram of the communication device provided by the embodiments of the present application. As Figure 8 shown, the communication device includes: a transceiver unit 10 and a processing unit 20. The transceiver unit 10 can implement corresponding communication functions, and the processing unit 20 is used for data processing. For example, the transceiver unit 10 can also be referred to as a communication interface or a communication unit, etc.
[0173] In some embodiments of the present application, the communication device can be the aggregation and diversion device shown above. That is Figure 8The communication device shown can be used to perform the steps or functions executed by the aggregation and diversion device in the above method embodiments. Exemplarily, the communication device can be an aggregation and diversion device or a chip or functional module configured in the aggregation and diversion device, etc., and the embodiments of the present application do not limit this. The transceiver unit 10 is used to perform the operations related to the transceiver of the aggregation and diversion device in the above method embodiments, and the processing unit 20 is used to perform the operations related to the processing of the aggregation and diversion device in the above method embodiments.
[0174] Among them, the processing unit 20 is used to obtain a data packet, and the data packet includes a service IP address; the processing unit 20 is further used to obtain an IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; the transceiver unit 10 is used to send the data packet to the probe server when the service IP address of the data packet matches the first IP address in the IP address list, and the data packet is used to generate a KQI document.
[0175] In a possible implementation manner, the processing unit 20 is further used to determine that the data stream to which the above data packet belongs is a sampled data stream. The sampled data stream can be determined based on a first sampling rate.
[0176] In a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first application.
[0177] In a possible implementation manner, the above IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first application. Wherein, the value of i is a positive integer greater than or equal to 2.
[0178] In a possible implementation manner, the above first IP address is the IP address corresponding to a second application in the above IP address list.
[0179] In a possible implementation manner, the processing unit 20 is further specifically used to control the transceiver unit 10 to receive an IP address list from the probe server.
[0180] In a possible implementation manner, the transceiver unit 10 is further used to receive a first sampling rate adjustment message from the probe server, and the first sampling rate adjustment message is used to indicate an increase or decrease in a second sampling rate; the processing unit 20 is further used to adjust the second sampling rate based on the first sampling rate adjustment message to obtain a first sampling rate.
[0181] In a possible implementation, the transceiver unit 10 is further configured to send the number of KQI documents within a preset time period to the probe server, and the number of KQI documents is used to determine whether to adjust the first sampling rate. The number of KQI documents is the number of KQI documents corresponding to all or part of the data packets sent by the transceiver unit 10 to the probe server within the preset time period.
[0182] In a possible implementation, the transceiver unit 10 is further configured to receive a second sampling rate adjustment message from the probe server, where the second sampling rate adjustment message is used to indicate an increase or decrease in the first sampling rate; the processing unit 20 is further configured to adjust the first sampling rate based on the second sampling rate adjustment message.
[0183] It can be understood that the specific descriptions of the transceiver unit and the processing unit shown in the embodiments of the present application are only examples. For the specific functions or steps executed by the transceiver unit and the processing unit, reference can be made to the above method embodiments (such as Figure 4 ), which will not be elaborated here. Exemplarily, the transceiver unit 10 can be used to execute Figure 4 the step S103 shown, and the processing unit 20 can be used to execute Figure 4 the step S101 and the step S102 shown.
[0184] Reuse Figure 8 , in some other embodiments of the present application, the communication device may be the probe server shown above. That is Figure 8 the communication device shown can be used to execute the steps or functions executed by the probe server in the above method embodiments. Exemplarily, the communication device may be a probe server or a chip or functional module configured in the probe server, etc., and the embodiments of the present application do not limit this. The transceiver unit 10 is used to execute the operations related to the transceiver of the probe server in the above method embodiments, and the processing unit 20 is used to execute the operations related to the processing of the probe server in the above method embodiments.
[0185] Among them, the transceiver unit 10 is configured to receive a data packet, where the data packet includes a service IP address, and the service IP address of the data packet matches the first IP address in the IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; the processing unit 20 is configured to generate a KQI document based on the data packet.
[0186] In a possible implementation, the processing unit 20 is further configured to perform DPI on the data packet to obtain the application corresponding to the data packet; specifically, the processing unit 20 is configured to generate a KQI document based on the data packet when the application corresponding to the data packet is a preset application.
[0187] In a possible implementation, the above IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first application.
[0188] In a possible implementation, the above IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first application. Wherein, the value of i is a positive integer greater than or equal to 2.
[0189] In a possible implementation, the above first IP address is the IP address corresponding to a second application in the above IP address list.
[0190] In a possible implementation, the transceiver unit 10 is further configured to send the IP address list to the aggregation and splitting device.
[0191] In a possible implementation, the transceiver unit 10 is further configured to send a first sampling rate adjustment message to the aggregation and splitting device, and the first sampling rate adjustment message is used to indicate an increase or decrease in the second sampling rate.
[0192] In a possible implementation, the transceiver unit 10 is further configured to receive the number of KQI documents within a preset time period from the aggregation and splitting device, and the number of KQI documents is used to determine whether to adjust the above first sampling rate; the processing unit 20 is further configured to determine the ratio between the number of KQI documents and a preset total number of documents; the processing unit 20 is further configured to determine to adjust the first sampling rate when the ratio is outside the preset range.
[0193] In a possible implementation, the transceiver unit 10 is further configured to send a second sampling rate adjustment message to the aggregation and splitting device, and the second sampling rate adjustment message is used to indicate an increase or decrease in the above first sampling rate.
[0194] It can be understood that the specific descriptions of the transceiver unit and the processing unit shown in the embodiments of the present application are only examples. For the specific functions or steps executed by the transceiver unit and the processing unit, reference can be made to the above method embodiments (such as Figure 4 ), which will not be elaborated here. Exemplarily, the transceiver unit 10 can be used to receive Figure 4 the data packet sent in step S103 shown, and the processing unit 20 can be used to execute Figure 4 the step S104 shown.
[0195] The communication device of the embodiments of the present application has been introduced above. The possible product forms of the communication device will be introduced below. It should be understood that as long as the above Figure 8Any form of product with the functions of the described communication device falls within the protection scope of the embodiments of this application. It should also be understood that the following introduction is only for illustration, and does not limit the product form of the communication device in the embodiments of this application to this only.
[0196] In a possible implementation manner, Figure 8 In the shown communication device, the processing unit 20 may be one or more processors, the transceiver unit 10 may be a transceiver, or the transceiver unit 10 may also be a sending unit and a receiving unit. The sending unit may be a transmitter, and the receiving unit may be a receiver. The sending unit and the receiving unit are integrated into one device, such as a transceiver. In the embodiments of this application, the processor and the transceiver may be coupled, etc. The embodiments of this application do not limit the connection manner between the processor and the transceiver. During the process of executing the above method, the process of sending information (such as sending data packets, sending sampling rate adjustment messages) in the above method may be understood as the process of the processor outputting the above information. When outputting the above information, the processor outputs the above information to the transceiver for transmission by the transceiver. After the above information is output by the processor, other processing may be required before it reaches the transceiver. Similarly, the process of receiving information (such as receiving data packets, receiving sampling rate adjustment messages) in the above method may be understood as the process of the processor receiving the input above information. When the processor receives the input information, the transceiver receives the above information and inputs it to the processor. Further, after the transceiver receives the above information, the above information may need to be processed otherwise before being input to the processor.
[0197] See Figure 9 , Figure 9 is another structural schematic diagram of the communication device provided by the embodiments of this application. The communication device may be an aggregation and diversion device or a probe server, or a chip therein. The communication device can be used to implement the method described in the above method embodiments, and reference can be made to the description in the above method embodiments. Figure 9 Only the main components of the communication device are shown. The communication device includes one or more processors 1001, may also include a transceiver 1002, and the communication device may further include a memory 1003.
[0198] The processor 1001 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of software programs. The memory 1003 is mainly used to store software programs and data. The transceiver 1002 is mainly used to realize the information interaction between the communication device and the outside. The transceiver 1002 can be realized through an input / output circuit, or the transceiver 1002 can include a control circuit and an antenna. The control circuit is mainly used for the conversion between baseband signals and radio frequency signals and the processing of radio frequency signals. The antenna is mainly used to transmit and receive radio frequency signals in the form of electromagnetic waves. The input / output device, such as a touch screen, a display screen, a keyboard, etc., is mainly used to receive the data input by the user and output data to the user.
[0199] After the communication device is powered on, the processor 1001 can read the software program in the memory 1003, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be wirelessly transmitted, the processor 1001 performs baseband processing on the data to be transmitted and then outputs a baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1001. The processor 1001 converts the baseband signal into data and processes the data.
[0200] In another implementation, the radio frequency circuit and the antenna can be arranged independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuit and the antenna can be independent of the communication device and are arranged in a remote manner.
[0201] Among them, the processor 1001, the transceiver 1002, and the memory 1003 can be connected through a communication bus.
[0202] Exemplarily, when the communication device is used to execute the steps, methods, or functions performed by the aggregation and diversion device in the above Figure 4 shown embodiment, the processor 1001 can be used to execute Figure 4 steps S101 and S102, and / or other processes of the technology described herein; the transceiver 1002 can be used to execute Figure 4 step S103, and / or other processes of the technology described herein.
[0203] Exemplarily, when the communication device is used to execute the steps, methods, or functions performed by the probe server in the above Figure 4 shown embodiment, the processor 1001 can be used to execute Figure 4Step S104 in, and / or other processes for performing the techniques described herein; the transceiver 1002 may be used to receive Figure 4 The data packet sent in step S103, and / or other processes for the technology described in this document.
[0204] Exemplarily, when the communication device is used to perform the above Figure 6 When the steps, methods or functions executed by the convergence and distribution device in the embodiment shown are performed, the processor 1001 can be used to execute Figure 6 Step S304 in, and / or other processes for performing the techniques described herein; the transceiver 1002 may be used to perform Figure 6 Step S301 in, and / or other processes for the technology described herein.
[0205] Exemplarily, when the communication device is used to perform the above Figure 6 When the probe server executes the steps, methods or functions in the embodiment shown, the processor 1001 may be used to execute Figure 6 Step S302 in, and / or other processes for performing the techniques described herein; the transceiver 1002 may be used to perform Figure 6 Step S303 in, and / or other processes for the technology described herein.
[0206] In any of the above implementations, the processor 1001 may include a transceiver for implementing the receiving and sending functions. For example, the transceiver may be a transceiver circuit, or an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and sending functions may be separate or integrated. The above transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or the above transceiver circuit, interface, or interface circuit may be used for transmitting or delivering signals.
[0207] In any of the above implementations, the processor 1001 may store instructions, which may be computer programs. The computer programs run on the processor 1001, and may enable the communication device to perform the method described in the above method embodiment. The computer program may be fixed in the processor 1001, in which case the processor 1001 may be implemented by hardware.
[0208] In one possible implementation, the communication device may include a circuit, and the circuit may implement the functions of transmitting, receiving, or communicating in the foregoing method embodiments. The processor and transceiver described in this application may be implemented on an integrated circuit (IC), an analog IC, a radio frequency integrated circuit (RFIC), a mixed-signal IC, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, etc. The processor and transceiver may also be manufactured using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal-oxide-semiconductor (NMOS), P-type metal oxide semiconductor (PMOS), bipolar junction transistor (BJT), BiCMOS, silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0209] It can be understood that the communication device shown in the embodiments of this application may also have more components, etc., and the embodiments of this application do not limit this. The methods executed by the processor and transceiver shown above are only examples, and for the specific steps executed by the processor and transceiver, reference may be made to the introduction of the foregoing method embodiments. Figure 9 In another possible implementation,
[0210] In the communication device shown, the processing unit 20 may be one or more logic circuits, and the transceiver unit 10 may be an input / output interface, or also referred to as a communication interface, or an interface circuit, or an interface, etc. Or the transceiver unit 10 may also be a transmitting unit and a receiving unit. The transmitting unit may be an output interface, and the receiving unit may be an input interface. The transmitting unit and the receiving unit are integrated into one unit, such as an input / output interface. Refer to Figure 8 FIG. Figure 10 , Figure 10 FIG. Figure 10 is another schematic structural diagram of the communication device provided by the embodiments of this application. As Figure 10The communication device shown includes a logic circuit 901 and an interface 902. That is, the above-mentioned processing unit 20 can be implemented by the logic circuit 901, and the transceiver unit 10 can be implemented by the interface 902. Among them, the logic circuit 901 can be a chip, a processing circuit, an integrated circuit, or a system on chip (SoC) chip, etc., and the interface 902 can be a communication interface, an input / output interface, a pin, etc. Exemplarily, Figure 10 Taking the above communication device as a chip as an example, the chip includes a logic circuit 901 and an interface 902.
[0211] In the embodiments of the present application, the logic circuit and the interface can also be coupled to each other. For the specific connection manner between the logic circuit and the interface, the embodiments of the present application do not make any limitations.
[0212] Exemplarily, when the communication device is used to execute the method, function, or step performed by the aggregation and splitting device in the above-mentioned Figure 4 shown method embodiment, the logic circuit 901 is used to obtain a data packet, and the data packet includes a service IP address; the logic circuit 901 is used to obtain an IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; the interface 902 is used to output the data packet when the service IP address of the data packet matches the first IP address in the IP address list, and the data packet is used to generate a KQI document.
[0213] Exemplarily, when the communication device is used to execute the method, function, or step performed by the probe server in the above-mentioned Figure 4 shown method embodiment, the interface 902 is used to input a data packet, the data packet includes a service IP address, and the service IP address of the data packet matches the first IP address in the IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; the logic circuit 901 is used to generate a KQI document based on the data packet.
[0214] In the embodiments of the present application, the descriptions of the data packet, the KQI document, and the IP address list, etc. can refer to the introduction in the above-mentioned Figure 4 shown method embodiment, and will not be elaborated here one by one.
[0215] Exemplarily, when the communication device is used to execute the method, function, or step performed by the aggregation and splitting device in the above-mentioned Figure 6 shown method embodiment, the interface 902 is used to output the number of KQI documents; the interface 902 is further used to input a sampling rate adjustment message, and the sampling rate adjustment message is used to indicate an increase or decrease in the sampling rate; the logic circuit 901 is used to adjust the sampling rate based on the sampling rate adjustment message.
[0216] Exemplarily, when the communication device is used to execute the method, function, or step performed by the probe server in the above Figure 6 illustrated method embodiment, interface 902 is used to input the number of KQI documents; logic circuit 901 is used to determine the ratio between the number of KQI documents and a preset total number of documents; interface 902 is further used to output a sampling rate adjustment message when the ratio is outside the preset range, and the sampling rate adjustment message is used to indicate an increase or decrease in the sampling rate.
[0217] In the embodiments of the present application, the description of the sampling rate adjustment message and the like can refer to the introduction in the method embodiment shown above Figure 6 and will not be elaborated here one by one.
[0218] It can be understood that the communication device shown in the embodiments of the present application can implement the method provided in the embodiments of the present application in the form of hardware, or can also implement the method provided in the embodiments of the present application in the form of software, etc. The embodiments of the present application do not make any limitations in this regard.
[0219] For Figure 10 the specific implementation manners of the various embodiments shown, reference can also be made to the above various embodiments, and details will not be described here.
[0220] The embodiments of the present application further provide a communication system, which includes an aggregation and diversion device and a probe server. The aggregation and diversion device and the probe server can be used to execute the method in any of the foregoing method embodiments ( Figure 4 or Figure 6 ).
[0221] In addition, the present application also provides a computer program, which is used to implement the operations and / or processes executed by the aggregation and diversion device in the method provided by the present application.
[0222] The present application also provides a computer program, which is used to implement the operations and / or processes executed by the probe server in the method provided by the present application.
[0223] The present application also provides a computer-readable storage medium, in which computer code is stored. When the computer code runs on a computer, the computer is caused to execute the operations and / or processes executed by the aggregation and diversion device in the method provided by the present application.
[0224] The present application also provides a computer-readable storage medium, in which computer code is stored. When the computer code runs on a computer, the computer is caused to execute the operations and / or processes executed by the probe server in the method provided by the present application.
[0225] The present application also provides a computer program product, which includes computer code or a computer program. When the computer code or the computer program runs on a computer, the operations and / or processes performed by the aggregation and diversion device in the method provided by the present application are executed.
[0226] The present application also provides a computer program product, which includes computer code or a computer program. When the computer code or the computer program runs on a computer, the operations and / or processes performed by the probe server in the method provided by the present application are executed.
[0227] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed coupling or direct coupling or communication connection to each other can be an indirect coupling or communication connection through some interfaces, devices, or units, and can also be in the form of electrical, mechanical, or other connections.
[0228] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the technical effects of the solution provided by the embodiments of the present application.
[0229] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0230] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution can be embodied in the form of a software product. This computer software product is stored in a readable storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned readable storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0231] As described above, the foregoing is only the specific implementation manner of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed by this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1. A communication method, characterized in that, comprising: An aggregation and diversion device obtains a data packet, and the data packet includes a service Internet Protocol (IP) address; The aggregation and diversion device obtains an IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; If the service IP address of the data packet matches the first IP address in the IP address list, the aggregation and diversion device sends the data packet to a probe server, and the data packet is used to generate a Key Quality Indicator (KQI) document.
2. The method according to claim 1, characterized in that, Before the aggregation and diversion device sends the data packet to the probe server, the method further includes: The aggregation and diversion device determines that the data stream to which the data packet belongs is a sampled data stream, and the sampled data stream is determined based on a first sampling rate.
3. The method according to claim 1 or 2, characterized in that, The IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first application.
4. The method according to claim 1 or 2, characterized in that, The IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first application, where i is a positive integer greater than or equal to 2.
5. The method according to claim 1 or 2, characterized in that, The first IP address is an IP address corresponding to a second application in the IP address list.
6. The method according to any one of claims 1 to 5, characterized in that, When the aggregation and diversion device obtains the IP address list, it includes: The aggregation and diversion device receives an IP address list from the probe server.
7. The method according to claim 2, characterized in that, Before the aggregation and diversion device determines that the data stream to which the data packet belongs is a sampled data stream, the method further includes: The aggregation and diversion device receives a first sampling rate adjustment message from the probe server, and the first sampling rate adjustment message is used to indicate an increase or decrease in a second sampling rate; The aggregation and diversion device adjusts the second sampling rate based on the first sampling rate adjustment message to obtain a first sampling rate.
8. The method according to claim 2 or 7, characterized in that, After the aggregation and diversion device sends the data packet to the probe server, the method further includes: The aggregation and diversion device sends the number of KQI documents within a preset time period to the probe server, and the number of KQI documents is used to determine whether to adjust the first sampling rate; The number of KQI documents is the number of KQI documents corresponding to all or part of the data packets sent by the aggregation and diversion device to the probe server within the preset time period.
9. The method according to claim 8, characterized in that, After the aggregation and diversion device sends the number of KQI documents within a preset time period to the probe server, the method further includes: The aggregation and diversion device receives a second sampling rate adjustment message from the probe server, where the second sampling rate adjustment message is used to indicate an increase or decrease in the first sampling rate; The aggregation and diversion device adjusts the first sampling rate based on the second sampling rate adjustment message.
10. A communication method, characterized in that, it includes: The probe server receives a data packet, where the data packet includes a service Internet Protocol (IP) address, and the service IP address of the data packet matches the first IP address in the IP address list, and the IP address list includes IP addresses corresponding to one or more applications, where one application corresponds to one or more IP addresses; The probe server generates a Key Quality Indicator (KQI) document based on the data packet.
11. The method according to claim 10, characterized in that, after the probe server receives the data packet, the method further includes: The probe server performs Deep Packet Inspection (DPI) on the data packet to obtain the application corresponding to the data packet; If the application corresponding to the data packet is a preset application, the probe server executes generating a Key Quality Indicator (KQI) document based on the data packet.
12. The method according to claim 10 or 11, characterized in that, the IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the first IP address among the multiple IP addresses corresponding to the first application.
13. The method according to claim 10 or 11, characterized in that, the IP address list includes multiple IP addresses corresponding to a first application, and the first IP address is the i-th IP address among the multiple IP addresses corresponding to the first application, where the value of i is a positive integer greater than or equal to 2.
14. The method according to claim 10 or 11, characterized in that, the first IP address is the IP address corresponding to a second application in the IP address list.
15. The method according to any one of claims 10 to 14, characterized in that, before the probe server receives the data packet, the method further includes: The probe server sends the IP address list to the aggregation and diversion device.
16. The method according to any one of claims 10 to 15, characterized in that, before the probe server receives the data packet, the method further includes: The probe server sends a first sampling rate adjustment message to the aggregation and diversion device, where the first sampling rate adjustment message is used to indicate an increase or decrease in the second sampling rate.
17. The method according to any one of claims 10 to 16, characterized in that, after the probe server generates a Key Quality Indicator (KQI) document based on the data packet, the method further includes: The probe server receives the number of KQI documents within a preset time period from the aggregation and diversion device, and the number of KQI documents is used to determine whether to adjust the sampling rate; The probe server determines the ratio between the number of KQI documents and a preset total number of documents; If the ratio is outside the preset range, the probe server determines to adjust the sampling rate.
18. The method according to claim 17, characterized in that, After the probe server determines to adjust the sampling rate, the method further includes: The probe server sends a second sampling rate adjustment message to the aggregation and diversion device, and the second sampling rate adjustment message is used to indicate an increase or decrease in the first sampling rate.
19. A communication device, characterized in that it includes a unit or module for executing the method according to any one of claims 1 to 18.
20. A communication device, characterized in that it includes a processor and an interface circuit. The interface circuit is used to receive signals from other communication devices and transmit them to the processor, or send signals from the processor to other communication devices. The processor is used to implement the method according to any one of claims 1 to 18 through logic circuits or by executing code instructions.
21. A communication system, characterized in that it includes: an aggregation and diversion device for executing the method according to any one of claims 1 to 9, and / or, a probe server for executing the method according to any one of claims 10 to 18.
22. A readable storage medium, characterized in that the readable storage medium is used to store a computer program. When the computer program is executed by a processor, it causes a communication device including the processor to execute the method according to any one of claims 1 to 18.