Communication method and communication apparatus
By establishing a communication connection with the Kafka server through receiving and sending identification information, the problem of complex address configuration and poor flexibility in existing communication systems is solved, enabling efficient and flexible data transmission and improving the application performance and data management efficiency of the Kafka server.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIAN RUIXIN TECH CO LTD
- Filing Date
- 2025-12-26
- Publication Date
- 2026-04-24
AI Technical Summary
Existing communication systems suffer from complex address configuration, poor flexibility, and insufficient scalability when processing large amounts of data, especially when communicating with Kafka servers, resulting in low data transmission efficiency.
Communication connections with the Kafka server are established by receiving and sending identification information, avoiding the need for local configuration of addresses and ports. Data transmission is carried out using the Kafka protocol, and compatibility and data filtering conditions are ensured through version and parameter information. The system supports the updating and switching of identification information, enabling flexible data transmission.
It improves the application flexibility and data management efficiency of the Kafka server, ensures the accuracy and timeliness of data transmission, and enhances the overall performance of the communication system.
Smart Images

Figure CN121418879B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more specifically to communication methods and communication apparatus in the field of communications. Background Technology
[0002] With the increasing demand for intelligent communication networks, the amount of data that needs to be processed in communication systems is increasing dramatically. Therefore, how to better manage the data in communication systems remains a problem to be solved. Summary of the Invention
[0003] This application provides a communication method and a communication device, which can improve the application flexibility of the first server in the communication network and help the communication system to better manage the data in the system through the first server.
[0004] In a first aspect, a communication method is provided, which can be used in a first client device, or the method can also be used in a component or device of the first client device (e.g., a processor, a chip, or a chip system), or the method can also be used in a logic module or software that can implement all or part of the functions of the first client device.
[0005] The method may include: receiving a first request message, which may be used to subscribe to first data through a first service interface, the first request message may include first identification information of a communication channel between a first client device and a first server, the first identification information may be used to establish a communication connection between the first client device and the first server, the first server may be used to store data; and sending the first data to the first server according to the first identification information.
[0006] In the above scheme, the first client device can establish a communication connection with the first server based on the received first identification information, without having to configure the communication connection with the first server locally. This can improve the application flexibility of the first server in the communication network and help the communication system to better manage the data in the system through the first server.
[0007] In some possible implementations, the first server can be a Kafka server. Sending first data to the first server based on the first identification information may include: establishing a communication connection with the Kafka server through the Kafka protocol based on the first identification information, and sending the first data to the Kafka server.
[0008] Based on the first identification information, the first client device does not need to configure the Kafka server address and / or interface locally, which helps the first client device to flexibly establish communication connections with the Kafka cluster.
[0009] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0010] The address of the first server, or the address and port of the first server, helps the first client device to accurately establish a communication connection with the first server.
[0011] In some possible implementations, the first request message may also include version information of the first server. Before sending the first data to the first server based on the first identification information, the method may further include: determining, based on the version information, whether the version of the first client device is compatible with the version of the first server.
[0012] Based on the version information of the first server, the first client device can determine whether the version is compatible with the first server, which helps ensure that the first data can be successfully sent to the first server.
[0013] In some possible implementations, the first request message may also include parameter information of the first server. Before sending the first data to the first server based on the first identification information, the method may further include: determining the parameters available when sending the first data based on the parameter information.
[0014] Based on the parameter information of the first server, the first client device can determine the available parameters when sending the first data, which helps to achieve successful transmission of the first data.
[0015] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0016] Based on the event's indication information, the first client device can determine the filtering conditions for the first data, which helps the first client device to accurately obtain the first data.
[0017] In some possible implementations, the method may further include: receiving a second request message, which can be used to update the first identification information; and sending second data to the first server based on the updated first identification information.
[0018] According to the second request message, the first client device can synchronize with the update of the first identification information in a timely manner, which helps the first client device to accurately establish a communication connection with the first server.
[0019] In some possible implementations, the method may further include: sending a third request message, which may be used to request a client device that provides data to the first server to switch from a first analytics data repository function (ADRF) network element to a second ADRF network element.
[0020] The third request message helps to promptly switch the client device providing data to the first server from the first ADRF network element for data storage to the second ADRF network element, thus preventing the first server from failing to obtain data.
[0021] In some possible implementations, the first request message can also be used to request a client device that provides data to the first server to switch from the first ADRF element to the second ADRF element.
[0022] This helps the second ADRF network element to provide data to the first server in a timely manner.
[0023] In some possible implementations, before sending the first data to the first server based on the first identification information, the method may further include: sending a fourth request message, which may be used to subscribe to third data through a second service interface, the third data may be used to determine the first data, the fourth request message may include second identification information of the communication channel between the second client device and the second server, the second identification information may be used to establish a communication connection between the second client device and the second server; and receiving the third data through the second server.
[0024] Through the fourth request message, the first client device can request third data from the second client device to determine the first data, which helps the first client device to obtain the first data in a timely manner.
[0025] Secondly, a communication method is provided, which can be used in a server device, or the method can also be used in a component or device of the server device (e.g., a processor, a chip, or a chip system), or the method can also be used in a logic module or software that can implement all or part of the functions of the server device.
[0026] The method may include: sending a first request message, which may be used to subscribe to first data through a first service interface; the first request message may include first identification information of a communication channel between a first client device and a first server; the first identification information may be used to establish a communication connection between the first client device and the first server; and the first server may be used to store data; and receiving the first data through the first server.
[0027] In the above scheme, the first client device can establish a communication connection with the first server based on the received first identification information, without having to configure the communication connection with the first server locally. This can improve the application flexibility of the first server in the communication network and help the communication system to better manage the data in the system through the first server.
[0028] In some possible implementations, the first server could be a Kafka server.
[0029] Based on the first identification information, the first client device does not need to configure the Kafka server address and / or interface locally, which helps the first client device to flexibly establish communication connections with the Kafka cluster.
[0030] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0031] The address of the first server, or the address and port of the first server, helps the first client device to accurately establish a communication connection with the first server.
[0032] In some possible implementations, the first request message may also include version information of the first server, which can be used to determine whether the version of the first client device is compatible with the version of the first server.
[0033] Based on the version information of the first server, the first client device can determine whether the version is compatible with the first server, which helps ensure that the first data can be successfully sent to the first server.
[0034] In some possible implementations, the first request message may also include parameter information of the first server, which can be used to determine the parameters available when the first client device sends the first data.
[0035] Based on the parameter information of the first server, the first client device can determine the available parameters when sending the first data, which helps to achieve successful transmission of the first data.
[0036] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0037] Based on the event's indication information, the first client device can determine the filtering conditions for the first data, which helps the first client device to accurately obtain the first data.
[0038] In some possible implementations, the method may further include: sending a second request message, which can be used to update the first identification information; and receiving second data through a first server.
[0039] According to the second request message, the first client device can synchronize with the update of the first identification information in a timely manner, which helps the first client device to accurately establish a communication connection with the first server.
[0040] Thirdly, a communication device is provided, comprising modules, units, or means corresponding to the implementation method. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0041] In some possible implementations, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions described in the first aspect and any of its possible implementations. The transceiver module, also referred to as a transceiver unit, is used to implement the sending and / or receiving functions described in the first aspect and any of its possible implementations. The transceiver module may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.
[0042] In some possible implementations, the communication device may include a transceiver module. The transceiver module may be used to: receive a first request message, which may be used to subscribe to first data through a first service interface; the first request message may include first identification information of a communication channel between a first client device and a first server, which may be used to establish a communication connection between the first client device and the first server; and the first server may be used to store data; and send the first data to the first server according to the first identification information.
[0043] In some possible implementations, the first server can be a Kafka server, and the transceiver module can be used to: establish a communication connection with the Kafka server through the Kafka protocol based on the first identification information, and send the first data to the Kafka server.
[0044] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0045] In some possible implementations, the first request message may further include version information of the first server, and the communication device may further include a first processing module. Before the transceiver module sends the first data to the first server based on the first identification information, the first processing module may be used to determine whether the version of the first client device is compatible with the version of the first server based on the version information.
[0046] In some possible implementations, the first request message may further include parameter information of the first server, and the communication device may further include a second processing module. Before the transceiver module sends the first data to the first server based on the first identification information, the second processing module may be used to determine the parameters available for sending the first data based on the parameter information.
[0047] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0048] In some possible implementations, the transceiver module can also be used to: receive a second request message, which can be used to update the first identification information; and send second data to the first server based on the updated first identification information.
[0049] In some possible implementations, the transceiver module can also be used to send a third request message, which can be used to request the client device that provides data to the first server to switch from the first ADRF network element to the second ADRF network element.
[0050] In some possible implementations, the first request message can also be used to request a client device that provides data to the first server to switch from the first ADRF element to the second ADRF element.
[0051] In some possible implementations, before sending the first data to the first server based on the first identification information, the transceiver module may also be used to: send a fourth request message, which may be used to subscribe to third data through a second service interface, the third data may be used to determine the first data, the fourth request message may include the second identification information of the communication channel between the second client device and the second server, the second identification information may be used to establish a communication connection between the second client device and the second server; and receive the third data through the second server.
[0052] Fourthly, a communication device is provided, comprising modules, units, or means corresponding to the implementation method. These modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0053] In some possible implementations, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions in the second aspect described above and any of its possible implementations. The transceiver module, also referred to as a transceiver unit, is used to implement the sending and / or receiving functions in the second aspect described above and any of its possible implementations. The transceiver module may consist of a transceiver circuit, a transceiver, a transceiver unit, or a communication interface.
[0054] In some possible implementations, the communication device may include a transceiver module. The transceiver module may be used to: send a first request message, which may be used to subscribe to first data through a first service interface; the first request message may include first identification information of a communication channel between a first client device and a first server; the first identification information may be used to establish a communication connection between the first client device and the first server; and the first server may be used to store data; and receive the first data through the first server.
[0055] In some possible implementations, the first server could be a Kafka server.
[0056] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0057] In some possible implementations, the first request message may also include version information of the first server, which can be used to determine whether the version of the first client device is compatible with the version of the first server.
[0058] In some possible implementations, the first request message may also include parameter information of the first server, which can be used to determine the parameters available when the first client device sends the first data.
[0059] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0060] In some possible implementations, the transceiver module can also be used to: send a second request message, which can be used to update the first identification information; and receive second data through the first server.
[0061] Fifthly, a communication device is provided, which may include at least one unit or module that can be used to perform the methods described in any of the foregoing aspects.
[0062] In a sixth aspect, a communication device is provided, which may include at least one processor coupled to at least one memory, the at least one memory being used to store computer programs or instructions, which, when executed by the at least one processor, cause the communication device to implement the methods of any of the above aspects.
[0063] In some possible implementations, the communication device also includes the at least one memory. Optionally, the memory and processor are integrated together.
[0064] In some possible implementations, the communication device is a chip or chip system.
[0065] In a seventh aspect, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on a computer, cause the methods described in any of the preceding aspects to be performed.
[0066] Eighthly, a computer program product is provided, comprising a computer program or instructions that, when executed on a computer, cause the methods described in any of the preceding aspects to be performed.
[0067] A ninth aspect provides a communication system comprising means for performing the method of the first aspect (such as a first client device) and / or means for performing the method of the second aspect (such as a server device).
[0068] It is understood that the beneficial effects of the third to ninth aspects mentioned above can be found in the relevant descriptions of the first or second aspects mentioned above, and will not be repeated here. Attached Figure Description
[0069] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0070] Figure 1 This is a schematic diagram of the communication system provided in the embodiments of this application.
[0071] Figure 2 This is a schematic diagram of a network architecture provided in an embodiment of this application.
[0072] Figure 3 This is a schematic diagram of a data interaction process between network elements provided in an embodiment of this application.
[0073] Figure 4 This is a schematic diagram of another data interaction process between network elements provided in the embodiments of this application.
[0074] Figure 5 This is a schematic diagram of another data interaction process between network elements provided in the embodiments of this application.
[0075] Figure 6 This is a schematic diagram of another data interaction process between network elements provided in the embodiments of this application.
[0076] Figure 7 This is a schematic diagram of the HTTP interface data transmission process provided in the embodiments of this application.
[0077] Figure 8 This is a schematic diagram of a data publishing and / or subscription process based on Kafka, provided in an embodiment of this application.
[0078] Figure 9 This is a schematic diagram of another data publishing and / or subscription process based on Kafka provided in the embodiments of this application.
[0079] Figure 10 This is a schematic diagram of an ADRF scenario as a data consumer provided in an embodiment of this application.
[0080] Figure 11 This is a schematic diagram of an ADRF scenario as a data producer provided in an embodiment of this application.
[0081] Figure 12 This is a flowchart illustrating the communication method provided in an embodiment of this application.
[0082] Figure 13 This is a schematic diagram of another network architecture provided in an embodiment of this application.
[0083] Figure 14 This is an example diagram of a communication method provided in an embodiment of this application.
[0084] Figure 15 This is a schematic diagram of another network architecture provided in the embodiments of this application.
[0085] Figure 16 This is another example diagram of the communication method provided in the embodiments of this application.
[0086] Figure 17 This is another example diagram of the communication method provided in the embodiments of this application.
[0087] Figure 18 This is another example diagram of the communication method provided in the embodiments of this application.
[0088] Figure 19 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application.
[0089] Figure 20 This is a schematic diagram of another communication device provided in an embodiment of this application.
[0090] Figure 21 This is a schematic diagram of the structure of another communication device provided in the embodiments of this application. Detailed Implementation
[0091] The technical solutions of the embodiments of this application will now be described with reference to the accompanying drawings.
[0092] It should be understood that the methods, situations, categories, and classifications of embodiments in this application are merely for descriptive convenience and should not constitute any particular limitation. Various methods, categories, situations, and features in embodiments can be combined without contradiction. It should also be understood that the terms "first," "second," "third," and "fourth" in the embodiments of this application are merely for distinction and should not constitute any limitation on this application. Furthermore, it should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0093] In this application embodiment, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, or b, or c, or a and b, or a and c, or b and c, or a and b and c, where a, b, or c can be single or multiple.
[0094] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.
[0095] It should be noted that in the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0096] The methods and apparatus provided in this application are based on the same or similar technical concepts. Since the methods and apparatus solve problems in similar ways, the implementation of the apparatus and methods can refer to each other, and repeated parts will not be described again.
[0097] The technical solutions of this application can be applied to various communication systems, such as: Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD) system, Universal Mobile Telecommunication System (UMTS), 5th Generation (5G) system, or New Radio (NR) system, or future communication systems, etc.
[0098] To facilitate understanding of the embodiments of this application, firstly, in conjunction with Figure 1 This describes a communication system applicable to embodiments of this application. For example... Figure 1 As shown, the communication system 10 includes a radio access network (RAN) 100 and a core network (CN) 200. The radio access network 100 may include at least one RAN node (such as...). Figure 1 110a and 110b, collectively referred to as 110, may also include at least one terminal (such as...). Figure 1 120a to 120j, collectively referred to as 120, are included in the radio access network 100. Other RAN nodes may also be included in the radio access network 100, such as radio relay equipment and / or radio backhaul equipment. Figure 1 (Not shown in the image). Terminal 120 can connect to RAN node 110 wirelessly, and RAN node 110 can connect to core network 200 wirelessly or via wired connection. The core network equipment in core network 200 and RAN node 110 in radio access network 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.
[0099] Radio access network 100 can be a cellular system related to the 3rd generation partnership project (3GPP), such as 4th generation (4G), 5G mobile communication systems, non-terrestrial networks (NTN) systems, or future-oriented evolution systems. For example, if radio access network 100 is an NTN system, then radio access network 100 can be in transparent mode or regenerative mode, and radio access network 100 can be an earth fixed cell scheme or an earth moving cell scheme.
[0100] The wireless access network 100 can also be an open radio access network (open RAN, O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (Wi-Fi) system, or a communication system that integrates two or more of the above systems.
[0101] In this application, the terminal device may refer to user equipment (UE), station, access terminal, user unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile terminal (MT), user terminal, terminal (or terminal device), wireless communication equipment, user agent, or user device, or a device used to provide voice or data connectivity to users. It may also be an Internet of Things (IoT) device. For example, terminal devices include handheld devices with wireless connectivity, vehicle-mounted devices, etc. This application does not limit the specific type of terminal device. The terminal device in this application embodiment may be a mobile phone, cellular phone, smartphone, wireless data card, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, laptop computer, personal digital assistant (PDA), handheld device with wireless communication function, computing device or other processing device connected to a wireless modem, large screen, vehicle-mounted device (e.g., car, bicycle, electric vehicle, airplane, ship, train, high-speed rail, etc.), wearable device (e.g., smartwatch, smart bracelet, pedometer, smart glasses, etc.), machine type communication (MTC) terminal device, terminal device in 5G network, or terminal device in future evolved public land mobile network (PLMN), etc., and this application embodiment does not limit it.The terminal device in the embodiments of this application may also be a tablet computer, a laptop computer, a handheld computer, a mobile internet device (MID), a virtual reality (VR) device, an augmented reality (AR) device, a point of sale (POS) machine, customer-premises equipment (CPE), a light UE, a reduced capability UE (REDCAP UE), a wireless terminal in industrial control, a smart home device (e.g., a refrigerator, a television, an air conditioner, an electricity meter, etc.), a smart robot, a robotic arm, workshop equipment, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, or a flying device (e.g., a smart robot, a hot air balloon, a drone, an airplane), etc. Terminal devices can also be vehicle devices, such as vehicle devices, vehicle modules, vehicle chips, on-board units (OBU), or telematics boxes (T-BOX). Terminal devices can also be other devices with terminal functions. For example, a terminal device can also be a device that plays a terminal function in device-to-device (D2D) communication.
[0102] In some implementations, the terminal device can be used to act as a base station. Alternatively, the terminal device can act as a scheduling entity to provide sidelink signals between terminal devices in vehicle-to-everything (V2X) or D2D, for example, cellular phones and cars can communicate using sidelink signals, or cellular phones and smart home devices can communicate using sidelink signals without relaying communication signals through a base station.
[0103] The network device (or communication device) in this application embodiment can refer to a RAN node (or device) that connects a terminal device to a wireless network, and can also be called a base station (BS). For example, the network device can be a Node B, an evolved Node B (eNodeB), abbreviated as eNB, a next-generation base station (gNB) in a 5G mobile communication system, a transmission reception point (TRP), an access point (AP), a network device in an NTN system (such as a satellite), one or a group of antenna panels (including multiple antenna panels) of a base station in a 5G mobile communication system, a base station in a future mobile communication system or an AP in a Wi-Fi system, a radio controller, relay station, access point in a CRAN scenario, vehicle-mounted equipment, wearable devices, and network devices in other future evolved communication systems, etc. Furthermore, the network device can also include various forms of macro base stations, micro base stations (also called small stations), relay stations, access points, etc. In systems employing different radio access technologies, network equipment names may vary. For example, it may be a base transceiver station (BTS) in a Global System for Mobile Communication (GSM) or Code Division Multiple Access (CDMA) network, a NodeB in Wideband Code Division Multiple Access (WCDMA), or an eNB or eNodeB in LTE. Network equipment can also be a radio controller in a CRAN scenario. Furthermore, network equipment can be base station equipment in future 5G networks or network equipment in future evolved PLMN networks.
[0104] In some implementations, multiple RAN nodes can collaborate to assist terminal devices in achieving wireless access, with different RAN nodes each implementing some of the base station's functions. For example, a RAN node can be a central unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU), etc. CUs and DUs can be set up separately or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).
[0105] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called an open CU (O-CU), DU can also be called an open DU (O-DU), CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software modules and hardware modules. It should be understood that this application does not limit the specific technology or specific device form used in the network equipment.
[0106] For example, Figure 2The network architecture applicable to embodiments of this application is illustrated. This network architecture may include a control plane and a user plane. Control plane network elements may include network data analytics function (NWDAF) network elements. NWDAF network elements may include the following modules: model training logical function (MTLF), analytics logical function (AnLF), data collection coordination function (DCCF), messaging framework adaptor function (MFAF), and analytics data repository function (ADRF). Exemplarily, the functions of these modules can be implemented on the NWDAF network element, or they can be divided into independent network elements as needed. For example, the functions of MTLF and AnLF can be implemented on the NWDAF network element, while the functions carried by ADRF can be implemented as independent network elements on the ADRF network element.
[0107] For example, Figure 2 The functions of the network elements are described below.
[0108] NWDAF network element: As the brain of the artificial intelligence (AI) engine in the 5G network, it is responsible for data collection, model training, reasoning and judgment and intelligent prediction, and outputs analysis results to enable network, network management and application to make strategic decisions, enabling intelligent optimization of services and improvement of network efficiency.
[0109] Session management function (SMF) network element: responsible for managing the creation / update / deletion of protocol data unit (PDU) sessions, the creation / update / deletion of dedicated bearers, and maintaining PDU session context and user plane forwarding information.
[0110] Policy control function (PCF) network element: responsible for providing control plane policy rules, supporting the distribution of various policy control and charging (PCC) policy rules (such as quality of service (QoS) policies) to SMF through the N7 interface, including predefined rules and dynamic rules.
[0111] Access and mobility management function (AMF) network element: responsible for signaling transmission with UE through N1 interface and with RAN through N2 interface.
[0112] User plane function (UPF) network elements are responsible for forwarding packet data in the user plane, implementing QoS forwarding rules issued by the SMF, and transmitting signaling with the SMF through the N4 interface. They have service awareness capabilities, can identify user service usage (application identity (ID), uplink and downlink bandwidth, service flow information), and report service awareness results to core network control plane network elements (such as NWDAF, ADRF), and provide data to NWDAF or ADRF as a data producer.
[0113] RAN: The control plane connects to the core network through the N2 interface, and the user plane connects to the UPF through the N3 interface. It is responsible for the UE's radio signaling and data transmission.
[0114] Application function (AF) network elements: AF can subscribe to data from core network elements, such as subscribing to network data from ADRF.
[0115] Network repository function (NRF) element: The NRF element can collect and store detailed information about various network functions (NFs), covering aspects such as the type, address, services provided, capabilities, and status of the NF.
[0116] Unified Data Management (UDM) network elements: UDM network elements can communicate and collaborate with other network elements (such as AMF, SMF, etc.) to ensure that the network can correctly process and transmit user data. UDM network elements can communicate with other network elements through standardized interfaces to realize functions such as user management, authentication, and authorization.
[0117] Data network (DN) elements: primarily responsible for processing user plane data streams. They can work in conjunction with other network elements (such as AMF, SMF, UPF, etc.) to ensure effective data transmission and management.
[0118] The functions of the UE can be found in the description above, and will not be repeated here.
[0119] In some implementations, the network device can be fixed or mobile, and this application does not limit this. For example, a helicopter or drone can be configured as a mobile network device, and one or more cells can move according to the location of the mobile network device. In other examples, a helicopter or drone can be configured as a device to communicate with another network device.
[0120] In some implementations, network devices can be deployed on land or in the air, and this application does not limit this. For example, network devices can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and satellites.
[0121] In this embodiment, the terminal device or network device may include a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Furthermore, this embodiment does not specifically limit the specific structure of the execution entity of the method provided in this embodiment, as long as it can communicate according to the method provided in this embodiment by running a program that records the code of the method provided in this embodiment.
[0122] Furthermore, various aspects or features of this application can be implemented as methods, apparatus, or articles of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" as used herein encompasses a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks, or magnetic tapes), optical discs (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards, and flash memory devices (e.g., erasable programmable read-only memory (EPROMs), cards, sticks, or key drives, etc.). Additionally, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing, and / or carrying instructions and / or data.
[0123] It should be understood that the above communication system is illustrated using a 5G system as an example. Of course, this application can also be applied to other 3GPP communication systems, such as future wireless communication systems, and the embodiments of this application are not limited to this.
[0124] It should be understood that all or part of the functions of the communication device in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (such as a cloud platform).
[0125] It should be understood that the system architecture described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art will know that with the evolution of network architecture, the embodiments of this application can also be applied to similar technical problems.
[0126] With the development of AI, its application in communication systems is becoming increasingly widespread. For example, in data analysis and storage scenarios within communication networks, the NWDAF (Network Data Wafer AF) element can serve as an AI engine within the network, responsible for functions such as data acquisition, model training, inference and judgment, and intelligent prediction. The NWDAF can store the processed data in the ADRF (Advanced Data Rendering RF) element, while the ADRF needs to possess high-speed data read / write capabilities to meet real-time and throughput requirements.
[0127] Typically, the interaction between ADRF and surrounding network elements can be based on a Hypertext Transfer Protocol (HTTP) service interface. Data interaction between ADRF and NF based on the HTTP service interface can include two modes: ADRF acting as a data consumer; and ADRF acting as a data producer. When ADRF acts as a data consumer, the data interaction between ADRF and NF can be as follows: Figure 3 or Figure 4 As shown. Figure 3 As shown, NWDAF can subscribe to data from NF via an HTTP interface, NF sends the data to NWDAF via HTTP notification messages, and NWDAF then stores the data in ADRF via an HTTP interface. Alternatively, as... Figure 4 As shown, NWDAF can initiate a storage subscription request to ADRF via the HTTP interface. ADRF subscribes to data directly from NF based on the subscription information, and NF sends the data to ADRF via the HTTP interface. When ADRF acts as a data producer, the data interaction between ADRF and NF / AF / third-party servers can be as follows: Figure 5 Or such as Figure 6 As shown. Figure 5As shown, NF / AF / third-party servers can request data from ADRF via an HTTP interface, and ADRF returns the data via an HTTP response. Alternatively, as... Figure 6 As shown, ADRF can proactively push data to subscribers via an HTTP subscription notification mechanism. For example, the process of transmitting data through an HTTP interface in a communication system can be as follows: Figure 7 As shown.
[0128] With the increasing demand for intelligent communication networks, the amount of data that NWDAF needs to process has increased dramatically, including user behavior data and network status data. This data typically requires real-time or near-real-time processing to support applications such as network optimization and intelligent business decision-making. However, HTTP-based service interfaces cannot effectively handle the demands of high-concurrency, low-latency data transmission. Especially when the ADRF element acts as a data aggregation center, the HTTP-based service interface makes the data interaction efficiency between the ADRF element and NF or AF elements a bottleneck. Furthermore, the HTTP protocol lacks message persistence and asynchronous processing capabilities, resulting in a high risk of data loss and difficulty in handling situations where producers and consumers have different processing speeds. Therefore, a more efficient, flexible, and secure data subscription and reporting mechanism is urgently needed to improve the data processing capabilities of ADRF.
[0129] Kafka is a distributed, publish / subscribe-based real-time message queue primarily used in big data real-time processing. As a commonly used message queue technology in big data, Kafka features high throughput, low latency, real-time performance, reliability, support for asynchronous communication, flexible peak handling capabilities, and buffering that helps control and optimize the speed at which data flows through the system, resolving inconsistencies between the processing speeds of production and consumption messages. Therefore, using Kafka to implement ADRF interaction with surrounding network elements can compensate for the shortcomings of HTTP service interfaces.
[0130] For example, data publishing and / or subscription based on Kafka can be as follows: Figure 8 or Figure 9 As shown. To use Kafka message queues for data reporting in a communication network, a Kafka cluster can be deployed on ADRF or a third-party server as a message middleware. Producers (such as UPF) can configure the peer Kafka cluster address locally and publish data to a specified topic through a Kafka client. Consumers (such as ADRF) can subscribe to data from the topic. Through a cluster service provider, the metadata and partition load balancing of the Kafka cluster can be managed. For example, ADRF as a consumer can be used in scenarios such as... Figure 10 As shown, ADRF as a producer can be used in scenarios such as... Figure 11 As shown.
[0131] Table 1. Comparison of the advantages and disadvantages of Kafka and HTTP in big data transmission.
[0132]
[0133] As shown in the table above, Kafka communication has significant advantages over HTTP in terms of large data transfer. However, the application of Kafka in communication systems still has some drawbacks, making it difficult to meet the data transfer requirements of the system. For example, Kafka producers may not be able to obtain the Kafka cluster address, resulting in poor feasibility of Kafka's application in communication systems. Also, when the Kafka server address changes, Kafka producers need to reconfigure the Kafka cluster address, resulting in poor flexibility of Kafka's application in communication systems. Furthermore, Kafka producers can only connect to fixed Kafka clusters, resulting in poor scalability of Kafka's application in communication systems. Also, the Kafka address is exposed in the Kafka producer configuration, resulting in poor security of Kafka's application in communication systems. Finally, the Kafka producer and Kafka cluster are highly coupled, resulting in a high degree of coupling in Kafka's application in communication systems.
[0134] To address one or more of the aforementioned technical problems, this application proposes a communication method and a communication apparatus. In this method, a first client device can establish a communication connection with a first server based on received first identification information, without needing to configure the communication connection locally. This improves the application flexibility of the first server in the communication network and helps the communication system better manage data through the first server.
[0135] The following describes an embodiment of the communication method of this application with reference to the accompanying drawings.
[0136] Figure 12 An embodiment of the present application provides a communication method 1200.
[0137] For example, the communication method 1200 can be applied to a first client device. Alternatively, the communication method 1200 can also be applied to a chip in the first client device. Or, the communication method 1200 can also be applied to the hardware or software in the first client device.
[0138] For example, the first client device can be a client corresponding to the first server. For instance, the first client device can be one of the following: a UPF network element or an ADRF network element.
[0139] For example, the communication method 1200 can also be applied to a server device. Alternatively, the communication method 1200 can also be applied to a chip in a server device. Or, the communication method 1200 can also be applied to hardware or software in a server device.
[0140] For example, the server-side device can be the server corresponding to the first server. For instance, the server-side device can be one of the following: ADRF network element, AF network element.
[0141] For example, communication method 1200 is applicable to a first client device and a server device, where the first client device is a UPF network element and the server device can be an ADRF network element.
[0142] For example, communication method 1200 is applicable to a first client device and a server device. The first client device is an ADRF network element, and the server device can be an AF network element.
[0143] Optionally, the first client device can act as a data producer, providing data to the server device. Correspondingly, the server device can act as a data consumer, using the data provided by the first client device.
[0144] Optionally, the first client device can be designated as primary or backup. For example, the first client device may include two ADRF network elements, one of which is the primary first client device (i.e., the primary ADRF network element), and the other is the backup first client device (i.e., the backup ADRF network element). The backup first client device can replace the primary first client device when the primary first client device is unable to assume the responsibilities of a client device.
[0145] like Figure 12 As shown, the communication method 1200 may include steps S1210-S1220.
[0146] In step S1210, the first client device receives the first request message.
[0147] The first request message can be used to subscribe to the first data through the first service interface.
[0148] For example, the first request message may be sent by the server device. For instance, the first client device may be a UPF network element, and the server device may be an ADRF network element; the UPF network element can receive the first request message sent by the ADRF network element. Similarly, the first client device may be an ADRF network element, and the server device may be an AF network element; the ADRF network element can receive the first request message sent by the AF network element. Correspondingly, the first service interface may be the interface between the first client device and the server device.
[0149] Optionally, the server device may proactively send a first request message to the first client device. For example, if the first client device is an ADRF network element and the server device is an AF network element, the AF network element may proactively send a first request message to the ADRF network element.
[0150] Alternatively, the server device can also send a first request message to the first client device based on instructions from other network elements. For example, the first client device is a UPF network element, and the server device is an ADRF network element. The ADRF network element can send a first request message to the UPF network element based on instructions from other network elements (e.g., a data subscription request). For instance, the NWDAF network element can subscribe to data from the ADRF network element based on a data subscription request from an NF network element (e.g., a PCF network element) (or the NWDAF network element can forward a data subscription request from an NF network element to the ADRF network element). Correspondingly, the ADRF network element can send a first request message to the UPF network element based on the request from the NWDAF network element.
[0151] For example, the first request message can also be sent by a network element other than the server device. For instance, the network element other than the server device could be an NWDAF network element or an SMF network element. For example, an NWDAF network element and / or an SMF network element can send the first request message to the first client device based on a data subscription request from an NF network element. Correspondingly, the first service interface can be an interface between the first client device and a network element other than the server device.
[0152] The first request message may include first identification information of the communication channel between the first client device and the first server. The first identification information can be used to establish a communication connection between the first client device and the first server, and the first server can be used to store data.
[0153] For example, the first client device can determine the communication channel between itself and the first server based on the first identification information, and establish a communication connection with the first server through the communication channel.
[0154] Optionally, the first request message may include identification information of the communication channel between the first client device and multiple servers. Accordingly, the first client device may select one of the identification information and establish a communication connection with the server corresponding to the identification information. The server corresponding to the identification information selected by the first client device is the first server.
[0155] Optionally, there may be multiple first servers. Correspondingly, the first request message may include identification information of the communication channels between the first client device and the multiple first servers. Accordingly, the first client device establishes communication connections with each of the multiple first servers based on the identification information in the first request message.
[0156] Optionally, the first server can be deployed on a server-side device. For example, the first server can be deployed on an ADRF network element. Alternatively, the first server can be deployed on an AF network element.
[0157] Alternatively, the first server can be deployed outside the server-side equipment for the data consumer.
[0158] In step S1220, the first client device sends the first data to the first server based on the first identification information.
[0159] For example, the first client device can establish a communication connection with the first server based on the first identification information and send the first data to the first server.
[0160] Accordingly, the first server can receive and store the first data sent by the first client device. For example, the first server is deployed on a server-side device, and the server-side device can obtain and process the first data through the first server.
[0161] Optionally, the first data may be associated with at least one of the following: a specific event (e.g., user group profiling analysis, application bitrate identification, etc.) or event type, a specific user (e.g., a specific UE) or user group (including multiple users, such as a user group consisting of all UEs of a specific base station), a specific application or application type (e.g., a game), a specific service (e.g., a specific QoS flow), a specific region (e.g., a specific cell), a specific first client device instance (e.g., a UPF instance), etc.
[0162] Optionally, the first data may be collected / obtained from historical data stored by the first client device. Alternatively, the first data may also be collected / obtained by the first client device from other network elements.
[0163] Based on the first identification information, the first client device does not need to be configured to establish a communication connection with the first server.
[0164] For example, the first client device can accurately establish a communication connection with the first server based on the first identification information, without exposing the relevant information of the first server in the configuration of the first client device.
[0165] For example, if the first identification information changes, the first client device can obtain the updated first identification information and re-establish a communication connection with the first server without changing the configuration in the first server.
[0166] For example, if the first server changes, the first client device can also establish a communication connection with the updated first server based on the updated first identifier information, thus decoupling the first client device and the first server and improving the scalability of the first server.
[0167] In other words, the server device or other network element can trigger the first client device to establish a communication connection with the first server through the first request message, and send the first data to the first server.
[0168] Optionally, the server device can send a first request message to the first client device based on its own data requirements. For example, if the server device is an AF network element and the client device is an ADRF network element, the AF network element can send a first request message to the ADRF network element based on its own data requirements. In other words, the server device can proactively send a first request message to the first client device.
[0169] Optionally, the server device can also send a first request message to the first client device based on the data needs of other network elements. For example, if the server device is an ADRF network element, the ADRF network element can send a first request message to the first client device based on the needs of NF network elements (such as PCF network elements). For example, an NF network element can send a data subscription request to an ADRF network element through an NWDAF network element to indicate its own needs. In other words, the server device can send a first request message to the first client device based on the instructions of other network elements.
[0170] Optionally, the first request message may include indication information of at least one of the following associated with the first data (for ease of description, this may be referred to as the filtering conditions for the first data): event or event type, user or user group, application or application type, service, region, first client device instance, etc. Accordingly, the first client device can filter / select the first data based on at least one of the above indication information.
[0171] For example, the first request message may include event indication information, such as an event ID, to indicate the event associated with the first data. Optionally, the event ID may be network-configured or pre-agreed upon by the protocol. Accordingly, the first client device can obtain the first data based on the event indication information.
[0172] For example, the first request message may include event type indication information, such as an event type ID, to indicate the event type associated with the first data. Optionally, the event type ID may be network-configured or pre-defined by the protocol. Accordingly, the first client device can obtain the first data based on the event type indication information.
[0173] For example, the first request message may include user indication information, such as a user ID, to indicate the user associated with the first data. For instance, the user ID could be the UE's subscription permanent identifier (SUPI). Accordingly, the first client device can obtain the first data based on the user's indication information.
[0174] For example, the first request message may include indication information about a user group, such as a user group ID, to indicate the user group associated with the first data. For instance, the user group ID may be configured by the network or pre-defined by the protocol. Accordingly, the first client device can obtain the first data based on the user group indication information.
[0175] For example, the first request message may include application indication information, such as an application ID, to indicate the application associated with the first data. For instance, the application ID may be network-configured or pre-defined by the protocol. Accordingly, the first client device can obtain the first data based on the application indication information.
[0176] For example, the first request message may include application type indication information, such as an application type ID, to indicate the application type associated with the first data. For instance, the application type ID may be network-configured or pre-defined by the protocol. Accordingly, the first client device can obtain the first data based on the application type indication information.
[0177] For example, the first request message may include service indication information, such as a QoS flow identifier (QFI), to indicate the service associated with the first data. Accordingly, the first client device can obtain the first data based on the service indication information.
[0178] For example, the first request message may include region indication information, such as a cell ID, to indicate the region associated with the first data. Accordingly, the first client device can obtain the first data based on the region indication information.
[0179] For example, the first request message may include indication information of the first client device instance, such as an instance ID, to indicate the first client device instance associated with the first data. For instance, if the first client device is a UPF, the indication information of the first client device instance may be the UPF instance ID. Accordingly, the first client device can obtain the first data based on the indication information of the first client device instance.
[0180] In some possible implementations, the first server can be a Kafka server, and step S1220 may include: the first client device establishing a communication connection with the Kafka server through the Kafka protocol based on the first identification information, and sending the first data to the Kafka server.
[0181] For example, the first identification information may be the identification information of the communication channel between the first client device and the Kafka server. Accordingly, the first client device can determine the communication channel with the Kafka server based on the first identification information, establish a communication connection with the Kafka server through the communication channel, and send the first data to the Kafka server.
[0182] Optionally, the Kafka server can correspond to a Kafka cluster. That is, the first identification information can be used to establish a communication connection between the first client device and the Kafka cluster.
[0183] For example, the first identification information may include the identification information of the communication channel between the first client device and a Kafka cluster, and the first client device may establish a communication connection with the Kafka cluster based on the first identification information.
[0184] For example, the first identification information may include the identification information of the communication channel between the first client device and multiple Kafka clusters. Accordingly, the first client device can select one of the multiple identification information and establish a communication connection with the Kafka cluster corresponding to that identification information.
[0185] For example, the first identification information may include the identification information of the communication channel between the first client device and multiple Kafka clusters. Accordingly, the first client device can establish communication connections with multiple Kafka clusters respectively based on the multiple identification information.
[0186] Optionally, the first client device may send the first data to one or more topics in the Kafka cluster, which is not limited in this application.
[0187] Based on the first identification information, the first client device does not need to configure the Kafka server address and / or interface locally, which helps the first client device to flexibly establish communication connections with the Kafka cluster.
[0188] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0189] For example, the first identification information includes the address of the first server. Accordingly, the first client device can determine the address of the first server through the first identification information and establish a communication connection with the first server through the address of the first server.
[0190] For example, the first identification information includes the address and port of the first server. Accordingly, the first client device can determine the address and port of the first server through the first identification information, and establish a communication connection with the first server through the port and address of the first server.
[0191] Optionally, the first identification information may include the addresses of multiple servers, or in other words, the first identification information may include a group of addresses (including the addresses of multiple servers). Accordingly, the first client device may select an address (one or more addresses) from the address group to establish a communication connection with the corresponding server, and the server corresponding to the address selected by the first client device is the first server.
[0192] Optionally, the first identification information may include the addresses of multiple servers and their corresponding ports, or the first identification information may include an address group (including the addresses of multiple servers) and a corresponding port group (including the ports of multiple servers). Accordingly, the first client device may select an address and its corresponding port from the address group and port group to establish a communication connection with the corresponding server. The server corresponding to the address and port selected by the first client device is the first server.
[0193] The address of the first server, or the address and port of the first server, helps the first client device to accurately establish a communication connection with the first server.
[0194] In some possible implementations, the first request message may also include version information of the first server. Before step S1220, the communication method 1200 may also include: the first client device determining, based on the version information, whether the version of the first client device is compatible with the version of the first server.
[0195] In other words, before the first client device sends the first data to the first server, the first client device can determine whether the version of the first client device is compatible with the version of the first server.
[0196] For example, if the first client device determines that its version is compatible with the first server's version, then the first client device can determine that the first server can receive the first data, and the first client device can send the first data to the first server.
[0197] For example, if the first client device determines that its version is incompatible with the first server's version, the first client device can determine that the first server cannot receive the first data, and the first client device can choose not to send the first data to the first server.
[0198] Optionally, the version information of the first server can indicate the version number of the first server.
[0199] There is no limitation on how the first client device determines whether its version is compatible with the first server's version. The compatibility between the versions of the first client device and the first server can be configured by the network device or agreed upon by the protocol.
[0200] Based on the version information of the first server, the first client device can determine whether the version is compatible with the first server, which helps ensure that the first data can be successfully sent to the first server.
[0201] In some possible implementations, the first request message may also include parameter information of the first server. Before step S1220, the communication method 1200 may also include: the first client device determining the parameters available when sending the first data based on the parameter information.
[0202] Optionally, the parameter information of the first server can be used to determine the parameters corresponding to the capabilities / functions that the first server is applicable to / supports. For example, the parameter information of the first server may include a data compression type, which can be used to determine the compression type of the first data that the first server is applicable to / supports. Accordingly, the first client device can determine the compression type used for the first data when sending the first data. As another example, the parameter information of the first server may include a timeout parameter, which can be used to control the upper limit of the waiting time for communication between the first client device and the first server, preventing long-term blocking of connections or operations due to network latency, resource contention, or failures.
[0203] Based on the parameter information of the first server, the first client device can determine the available parameters when sending the first data, which helps to achieve successful transmission of the first data.
[0204] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0205] In other words, in this implementation, the first data can be associated with an event. Accordingly, the first client device can obtain the first data based on the event's indication information.
[0206] For example, the indication information of the event corresponding to the first data can indicate the event ID associated with the first data, and the event ID can be determined as described above.
[0207] Based on the event's indication information, the first client device can determine the filtering conditions for the first data, which helps the first client device to accurately obtain the first data.
[0208] In some possible implementations, the communication method 1200 may further include: a first client device receiving a second request message, the second request message being used to update first identification information; and the first client device sending second data to a first server based on the updated first identification information.
[0209] For example, the second request message may be sent by the server device. That is, the server device can update the first identification information through the second request message.
[0210] For example, the server device can update the first identification information via a second request message when the address and / or port of the first server changes. For instance, the server device can change the address and / or port of the first server due to configuration changes, server scaling, or other reasons.
[0211] Optionally, after the first client device receives the first identification information in step S1210, if the first client device does not receive the second request message, the first client device can continuously send data to the first server according to the first identification information.
[0212] Optionally, the second data can be determined based on the filtering conditions of the first data in the first request message; that is, the filtering conditions of the first data and the second data can be the same.
[0213] According to the second request message, the first client device can synchronize with the update of the first identification information in a timely manner, which helps the first client device to accurately establish a communication connection with the first server.
[0214] In some possible implementations, the communication method 1200 may further include: a first client device sending a third request message. The third request message may be used to request the client device that provides data to the first server to switch from a first analytical data storage function ADRF network element (hereinafter referred to as the first ADRF network element) to a second ADRF network element.
[0215] For example, in this implementation, the first client device can be a first ADRF network element, which can be a primary first client device, and the second ADRF network element can be a backup first client device. That is, the first ADRF network element can send a third request message to the second ADRF network element to request a primary / backup switchover.
[0216] Optionally, the first ADRF network element may send a third request message to the second ADRF network element when it is determined that the first ADRF network element has failed. For example, the failure of the first ADRF network element may refer to a link failure or internal service anomaly of the first ADRF network element.
[0217] Optionally, the first ADRF network element and the second ADRF network element can exchange status information to determine whether the first ADRF network element has failed.
[0218] Optionally, the third request message may include the first identification information. Accordingly, the second ADRF network element can establish a communication connection with the first server based on the first identification information and provide data to the first server.
[0219] Optionally, the third request message may include version information of the first server. Accordingly, the second ADRF network element can determine whether it is compatible with the version of the first server based on the version information of the first server.
[0220] Optionally, the third request message may include parameter information from the first server. Accordingly, the second ADRF network element can determine the parameters available for sending data based on the parameter information from the first server.
[0221] Optionally, the third request message may include at least one of the following indications: event; event type; user; user group; application; application type; service; region; first client device instance, etc. Accordingly, the second ADRF network element can obtain data based on the indications in the third request message.
[0222] The third request message helps to promptly switch the client device providing data to the first server from the first ADRF network element to the second ADRF network element, thus preventing the first server from failing to obtain data.
[0223] Alternatively, in some other possible implementations, the first request message may also be used to request the client device that provides data to the first server to switch from the first ADRF element to the second ADRF element.
[0224] For example, in this implementation, the first client device can be a second ADRF network element, the second ADRF network element can be a backup first client device, and the first request message can be sent by the primary first client device (first ADRF network element).
[0225] In other words, in this implementation, the first identification information can be sent from the primary first client device to the backup first client device.
[0226] Accordingly, the second ADRF network element can establish a communication connection with the first server based on the first identification information in the first request message, and provide data to the first server.
[0227] This helps the second ADRF network element to provide data to the first server in a timely manner.
[0228] In some possible implementations, prior to step S1220, the communication method 1200 may further include: the first client device sending a fourth request message. The fourth request message may be used to subscribe to third data through a second service interface, the third data may be used to determine the first data, and the fourth request message may include second identification information of the communication channel between the second client device and the second server, the second identification information may be used to establish a communication connection between the second client device and the second server; the first client device receives the third data through the second server.
[0229] For example, the second server can be deployed on the first client device. The first client device can send a fourth request message to the second client device to request third data (the second service interface is the interface between the second client device and the first client device). Accordingly, the second client device can establish a communication connection with the second server based on the second identification information in the fourth request message and send the third data to the second server. Correspondingly, the first client device receives the third data through the second server, determines the first data based on the third data, and sends the first data to the first server.
[0230] In other words, the first client device can obtain data from the second client device through the second server.
[0231] For example, the second client device can be a UPF network element. For instance, the first client device is an ADRF network element, and the second client device is a UPF network element. The ADRF network element can send a fourth request message to the UPF network element to obtain third data.
[0232] Optionally, the fourth request message may include version information of the second server. Accordingly, the second client device can determine whether it is compatible with the version of the second server based on the version information of the second server.
[0233] Optionally, the fourth request message may include parameter information from the second server. Accordingly, the second client device can determine the parameters available for sending third data based on the parameter information from the second server.
[0234] Optionally, the fourth request message may include indication information of at least one of the following: event; event type; user; user group; application; application type; service; region; first client device instance, etc. Accordingly, the UPF network element can obtain third data based on the indication information in the fourth request message.
[0235] Optionally, the second server can be a Kafka server.
[0236] Optionally, the second server can be of the same type as the first server. For example, both the second and first servers could be Kafka servers.
[0237] Alternatively, the second server can be a different type of server than the first server. For example, the first server could be a Kafka server, and the second server could be a server other than a Kafka server.
[0238] Optionally, the content of the second identification information can refer to the content of the first identification information, and will not be repeated here.
[0239] Optionally, the third data can be the first data, or the third data can include the first data. That is, the first data is obtained by the first client device from the second client device. For example, the first client device can instruct the second client device to report data associated with the filtering conditions in the first request message (correspondingly, the third data is the first data) based on the filtering conditions of the first data in the first request message. Alternatively, the first client device can also instruct the second client device to report data in the fourth request message without filtering conditions (correspondingly, the third data includes the first data), and filter the first data from the third data according to the indication information associated with the first data in the first request message.
[0240] Through the fourth request message, the first client device can request third data from the second client device to determine the first data, which helps the first client device to obtain the first data in a timely manner.
[0241] Alternatively, in some other possible implementations, the first client device may obtain the first data from stored historical data.
[0242] For example, the first client device can filter the first data from historical data according to the filtering conditions of the first data in the first request message.
[0243] Optionally, the historical data stored by the first client device may be obtained by the first client device from the second client device through the second server.
[0244] In some possible implementations, the first server can also be a User Datagram Protocol (UDP) server or a Secure File Transfer Protocol (SFTP) server.
[0245] Accordingly, the first identification information can be used by the first client device to establish a communication connection with the UDP server or SFTP server.
[0246] Optionally, the first identification information may include the address and port of the UDP server, or the first identification information may include the address of the UDP server. Accordingly, the first client device can establish a communication connection with the UDP server based on the first identification information and send first data to the UDP server via the UDP protocol.
[0247] Alternatively, the first identification information may include the address and port of the SFTP server, or the first identification information may include the address of the SFTP server. Accordingly, the first client device can establish a communication connection with the SFTP server based on the first identification information and report SFTP files to the SFTP server via the SFTP protocol.
[0248] Alternatively, the second server can also be a UDP server or an SFTP server.
[0249] The following is combined with Figures 13 to 18 The communication method provided in the embodiments of this application will be described with examples. In the following examples, the first server and the second server are Kafka servers. It should be noted that in the following examples, the Kafka server (or Kafka server cluster) can also be replaced by a UDP server or an SFTP server.
[0250] For example, taking a Kafka server deployed in ADRF as an example, some network element interfaces can be like this: Figure 13 As shown, the Nadrf interface can be used by surrounding NF / AF / third-party servers to subscribe to data from ADRF.
[0251] Example 1
[0252] like Figure 14As shown, the method in Embodiment 1 may include steps 1-8. In Embodiment 1, taking the first client device as UPF and the server device as ADRF as an example, ADRF deploys a Kafka server (i.e., the first server). ADRF can act as a data consumer, and UPF can act as a data producer, providing data to the Kafka server in ADRF. The method in Embodiment 1 is applicable to scenarios where NWDAF needs to collect user plane data (such as stream-level or application-level documents) from UPF in real time, for example, collecting data for user group profiling analysis or application bitrate identification. High-throughput data transmission is achieved by using ADRF as the data consumer and leveraging the Kafka protocol.
[0253] Step 1: The NF (e.g., PCF as shown in the diagram) subscribes to user behavior analysis events (such as group profiling) from the NWDAF via the NWDAF_EventSubscription_Subscribe Req. Optionally, the Nnwdaf_EventSubscription_Subscribe Req can also include filtering conditions, such as specific user groups or application types, i.e., the user groups or application types associated with the subscribed events.
[0254] Step 2: NWDAF subscribes to data from ADRF via the ADRF_DataManagement_StorageSubscription Req. Optionally, the Nadrf_DataManagement_StorageSubscription Req may carry indication information such as event (group profile), user group, and application type.
[0255] Step 3: ADRF sends a UPF_EventSubscription_Subscribe Req to UPF. The Nupf_EventSubscription_Subscribe Req is the first request message. The Nupf_EventSubscription_Subscribe Req can carry the address or address group of the Kafka server cluster on the ADRF side, the corresponding port or port group, as well as the event ID, user group ID, and application type ID.
[0256] Optionally, the Nupf_EventSubscription_Subscribe Req can also carry the version number (i.e., version information) of the Kafka server cluster on the ADRF side for version compatibility checks between the ADRF and UPF sides.
[0257] Optionally, the Nupf_EventSubscription_Subscribe Req can also carry optional Kafka configuration parameters (i.e., parameter information), such as compression type, timeout parameters, etc.
[0258] Step 4: UPF reports data to ADRF via the Kafka protocol. The data reported by UPF can be user flow data record (UFDR) or aggregated data record (ADR), real-time flow-level data (i.e., the first data associated with the QoS flow) or application-level data (i.e., the first data associated with the application).
[0259] Step 5: ADRF performs big data storage and aggregates data based on data subscriptions.
[0260] Step 6: ADRF sends data to NWDAF via the ADRF_DataManagement_Notify Req. Optionally, ADRF can filter the data sent to NWDAF based on the event or event type, user group, and application type indications in the Nadrf_DataManagement_StorageSubscriptionReq. Optionally, the data sent by ADRF to NWDAF can be pre-processed data, and the pre-processing method is not limited.
[0261] Step 7: NWDAF trains and / or infers the data to obtain the analysis results of user behavior analysis events.
[0262] For example, after NWDAF obtains data from ADRF, it can perform the following: Figure 15 The data analysis process shown is open to AF / NF / operation, administration and maintenance (OAM) and other related entities, providing data or analysis results.
[0263] Step 8: NWDAF notifies PCF of the analysis results via NWDAF_EventSubscription_NotifyReq.
[0264] Example 2
[0265] like Figure 16As shown, the method in Embodiment 2 may include steps 1-7. In Embodiment 2, taking the first client device as UPF and the server device as ADRF as an example, a Kafka server (i.e., the first server) is deployed in ADRF. ADRF can act as a data consumer, and UPF can act as a data producer, providing data to the Kafka server in ADRF. The method in Embodiment 2 can be applied to scenarios where data reporting by UPF needs to be indirectly controlled through SMF / NWDAF. ADRF still acts as a data consumer, but subscription commands are relayed by NWDAF through SMF (or directly through NWDAF), improving network flexibility.
[0266] Step 1: The NF (e.g., PCF) sends an Nnwdaf_EventSubscription_Subscribe Req to the NWDAF to subscribe to user group profile analysis.
[0267] Step 2 can be implemented in two ways:
[0268] One implementation includes steps 2a and 2b, whereby the NWDAF can transmit a data subscription request to the UPF via the SMF.
[0269] Step 2a: NWDAF sends an SMF_EventExposure_Subscribe Req to SMF, carrying the Kafka server cluster address or address group of ADRF, the corresponding port or port group, and the event ID.
[0270] In step 2b, SMF sends an N4 message - PCF_Session_Modification Request (PCF_SessionModificationReq) to UPF to subscribe to data. PCF_SessionModification Req is the first request message. PCF_SessionModification Req can carry the ADRF's Kafka server cluster address or address group, the corresponding port or port group, and the event ID.
[0271] Another implementation involves step 2c, where NWDAF can directly subscribe to data from UPF.
[0272] Step 2c: NWDAF subscribes to data from UPF through Nupf_EventSubscription_Subscribe Req (i.e., the first request message), carrying the Kafka server cluster address or address group of ADRF, the corresponding port or port group, and the event ID.
[0273] Step 3: UPF reports real-time stream-level or application-level documents (i.e., the first data) to ADRF via the Kafka protocol using the UFDR or ADR. Optionally, UPF can filter the data sent to ADRF based on the event ID in the Nupf_EventSubscription_Subscribe Req.
[0274] Step 4: ADRF performs big data storage and aggregates data based on data subscriptions.
[0275] Step 5: ADRF sends the data to NWDAF via Nadrf_DataManagement_Notify Req. Optionally, the data sent by ADRF to NWDAF can be pre-processed data, and the pre-processing method is not limited.
[0276] Step 6: NWDAF trains and / or infers the data to obtain the analysis results of user group profile analysis.
[0277] Step 7: NWDAF notifies PCF of the analysis results.
[0278] Example 3
[0279] like Figure 17 As shown, the method in Embodiment 3 may include steps 1-5. Embodiment 3 uses ADRF as the first client device, AF as the server device, and UPF as the second client device as an example. A Kafka server (i.e., the first server) is deployed in AF. AF can act as a data consumer, and ADRF can act as a data producer, providing data to the Kafka server in AF. Simultaneously, a Kafka server (i.e., the second server) can also be deployed in ADRF, and ADRF can also act as a data consumer, obtaining data from UPF. The method in Embodiment 3 is applicable to scenarios where AF (e.g., a business operation platform, a business twin system, or an operations and maintenance analysis platform) pulls data from ADRF.
[0280] Step 1: AF sends an ADRF_DataManagement_RetrievalSubscription Req to ADRF to subscribe to data. The Nadrf_DataManagement_RetrievalSubscription Req can carry the Kafka server cluster address or address group on the AF side, the corresponding port or port group, and the event ID.
[0281] Optionally, the Nadrf_DataManagement_RetrievalSubscription Req can also carry the Kafka version number.
[0282] Optionally, the Nadrf_DataManagement_RetrievalSubscription Req can also carry optional Kafka configuration parameters (such as compression type, timeout parameters, etc.).
[0283] In step 2, referring to either embodiment 1 or embodiment 2, ADRF can perform big data collection (from UPF) and storage, and aggregate data according to data subscription status.
[0284] Step 3: ADRF reports real-time documents (i.e., the first data) to AF via the Kafka protocol. Optionally, ADRF can filter the data sent to AF based on the event ID in Nadrf_DataManagement_RetrievalSubscription Req.
[0285] Step 4: AF updates the Kafka server cluster address or address group, and the corresponding port or port group via the Nadrf_DataManagement_RetrievalSubscription Req (i.e., the second request message) (i.e., updates the first identification information). For example, the Nadrf_DataManagement_RetrievalSubscription Req may update the Kafka server cluster address or address group, and the corresponding port or port group due to configuration changes / server cluster scaling, etc.
[0286] Step 5: ADRF reports real-time data based on the updated address and port.
[0287] Example 4
[0288] like Figure 18As shown, the method in Embodiment 4 may include steps 1-7. Embodiment 4 uses either a primary ADRF (i.e., the primary first client device) or a backup ADRF (i.e., the backup first client device), and an AF as the server device. A Kafka server (i.e., the first server) is deployed in the AF. The AF can act as a data consumer, and the primary / backup ADRF can act as a data producer, providing data to the Kafka server in the AF. Simultaneously, a Kafka server (i.e., the second server) can also be deployed in the primary / backup ADRF, and the primary / backup ADRF can also act as a data consumer, obtaining data from the UPF. The method in Embodiment 4 can also be applied to scenarios where the AF (e.g., a business operation platform, a business twin system, or an operation and maintenance analysis platform) pulls data from the ADRF, and the method in Embodiment 4 can also be applied to disaster recovery scenarios under a primary / backup ADRF network.
[0289] Step 1: The AF sends a Nadrf_DataManagement_RetrievalSubscription Req (i.e., the first request message) to the main ADRF to subscribe to data. The Nadrf_DataManagement_RetrievalSubscription Req can carry the Kafka server cluster address or address group of the AF, the corresponding port or port group, and the event ID.
[0290] In step 2, referring to embodiment 1 or embodiment 2, the main ADRF can perform big data collection (collection from UPF) and storage, and aggregate data according to data subscription status.
[0291] Step 3: The main ADRF reports real-time data (i.e., the first data) to the AF via the Kafka protocol.
[0292] Step 4: The primary and backup ADRFs exchange primary and backup status information through a negotiation channel to determine if the primary ADRF has failed and to determine if a primary-backup ADRF switchover is required.
[0293] Step 5: The primary ADRF sends a Nadrf_DataManagement_StorageSubscription Req (i.e., the third request message) to the backup ADRF, carrying the Kafka server cluster address or address group, the corresponding port or port group, and the event ID.
[0294] Step 6: ADRF is prepared to collect and store big data, and aggregate data according to data subscription status.
[0295] Step 7: The backup ADRF reports real-time documents (i.e., the first data) to AF via the Kafka protocol.
[0296] For example, in the above embodiments, ADRF with a Kafka server can be responsible for data collection and storage. For example, ADRF can store the raw data collected by DCCF / MFAF, as well as historical data, analysis data, and AI model files trained / fine-tuned by ADRF.
[0297] Using the methods described in the above embodiments, Kafka cluster connection parameters (address / port / version, etc.) can be dynamically passed through a service interface (HTTP), decoupling data subscription from data reporting. This retains the standardized management capabilities of the service interface while leveraging Kafka for high-throughput asynchronous data transmission. For example, when ADRF acts as a data producer, it allows NF / AF to dynamically establish connections through subscription requests carrying Kafka parameters and supports flexible data push to multiple clusters without pre-configuring peer addresses. Furthermore, data consumers can carry Kafka version numbers and optional configuration parameters in their subscription messages, ensuring compatibility between Kafka clients and servers and improving network compatibility. Additionally, the Kafka connection parameter synchronization mechanism between the primary and backup ADRF nodes (i.e., the primary ADRF and the backup ADRF) ensures that the backup ADRF automatically inherits the Kafka cluster connection parameters during primary / backup failover, guaranteeing data continuity in cross-data center (DC) deployment scenarios.
[0298] For example, the application scenarios of the methods in the above embodiments may include at least one of the following: real-time user behavior analysis scenario; network fault delimitation and localization scenario; AI model dynamic training scenario; edge computing collaboration scenario.
[0299] In real-time user behavior analysis scenarios, operators or business operation systems (such as business twin systems) can collect user application (APP) usage data from UPF / NWDAF / ADRF to identify high-value behaviors (such as video buffering, frequent searches for 5G packages) in real time, enabling rapid discovery of user needs. In network fault localization scenarios, operation and maintenance domain systems can subscribe to call detail records (CDRs) in ADRF and quickly locate the root cause of LTE-based voice (VoLTE) call failures through streaming processing, thereby upgrading fault analysis from offline batch processing to real-time processing. In AI model dynamic training scenarios, NWDAF can pull differentiated traffic feature data from ADRF clusters in multiple provinces to continuously optimize load prediction models, supporting cross-domain data federated learning, which helps improve model accuracy and avoids raw data leaving the domain. In edge computing collaboration scenarios, mobile edge computing (MEC) platforms can subscribe to real-time location data of neighboring UPFs and dynamically adjust edge resource allocation strategies to achieve sub-second resource scheduling through the low latency characteristics of Kafka, thereby meeting the QoS requirements of extended reality (XR) services.
[0300] For example, the beneficial effects of the methods in the above embodiments can be shown in the table below.
[0301] Table 2. Beneficial effects of Examples 1-4
[0302]
[0303] For example, the methods in the above embodiments can be applied to at least one of the following network components: cloud-based network data analysis components; hybrid transport protocol middleware; operation and maintenance management platform plugins; and disaster recovery enhancement toolkits.
[0304] The cloud-based network data analysis component can be integrated as part of the 5G core network intelligent enhancement suite, transmitting Kafka connection parameters via the Nadrf interface. The hybrid transport protocol middleware can function as standalone software, supporting integration with Kafka; correspondingly, the software module can contain HTTP-Kafka protocol conversion logic. The operations and maintenance management platform plugin can provide software as a service (SaaS), offering dynamic topology visualization of the Kafka cluster. The disaster recovery enhancement toolkit can be used as an optional network module to migrate Kafka connections from the master node to the backup node.
[0305] The above combination Figures 12 to 18 This document describes in detail the communication method provided in the embodiments of this application. The following section, in conjunction with... Figures 19 to 21This application provides a detailed description of the communication device provided in the embodiments of this application.
[0306] Figure 19 A schematic block diagram of a communication device 1900 provided in an embodiment of this application is shown. This device 1900 can be used to execute the communication method 1200 described above. The device 1900 can correspond to the first client device described in the communication method 1200, or it can correspond to a module or component of the first client device. The device 1900 may include at least one unit or module for executing any one of the communication methods 1200 described above. Furthermore, each module or unit in the device 1900 can be used to execute the various actions or processes performed by the first client device in the communication method 1200.
[0307] like Figure 19 As shown, the communication device 1900 may include a transceiver module 1910. The transceiver module 1910 may be used to: receive a first request message, which may be used to subscribe to first data through a first service interface, the first request message may include first identification information of a communication channel between a first client device and a first server, the first identification information may be used to establish a communication connection between the first client device and the first server, the first server may be used to store data; and send the first data to the first server according to the first identification information.
[0308] In some possible implementations, the first server can be a Kafka server, and the transceiver module 1910 can be used to: establish a communication connection with the Kafka server through the Kafka protocol based on the first identification information, and send the first data to the Kafka server.
[0309] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0310] In some possible implementations, the first request message may further include version information of the first server, and the communication device may further include a first processing module. Before the transceiver module 1910 sends the first data to the first server based on the first identification information, the first processing module may be used to determine whether the version of the first client device is compatible with the version of the first server based on the version information.
[0311] In some possible implementations, the first request message may further include parameter information of the first server, and the communication device may further include a second processing module. Before the transceiver module 1910 sends the first data to the first server based on the first identification information, the second processing module may be used to determine the parameters available for sending the first data based on the parameter information.
[0312] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0313] In some possible implementations, the transceiver module 1910 can also be used to receive a second request message, which can be used to update the first identification information; and send second data to the first server based on the updated first identification information.
[0314] In some possible implementations, the transceiver module 1910 can also be used to send a third request message, which can be used to request the client device that provides data to the first server to switch from the first analysis data storage function ADRF network element to the second ADRF network element.
[0315] In some possible implementations, the first request message can also be used to request a client device that provides data to the first server to switch from the first ADRF element to the second ADRF element.
[0316] In some possible implementations, before sending the first data to the first server based on the first identification information, the transceiver module 1910 may also be used to: send a fourth request message, which may be used to subscribe to third data through a second service interface, the third data may be used to determine the first data, the fourth request message may include second identification information of the communication channel between the second client device and the second server, the second identification information may be used to establish a communication connection between the second client device and the second server; and receive the third data through the second server.
[0317] It should be understood that the transceiver module 1910 can be used to perform the various actions or processes performed by the first client device in the above-described communication method 1200.
[0318] It should be understood that the specific process of each module in device 1900 performing the above-mentioned corresponding steps is described in the previous description of communication method 1200, and will not be repeated here.
[0319] Figure 20 A schematic block diagram of another communication device 2000 provided in an embodiment of this application is shown. This device 2000 can be used to execute the communication method 1200 described above. The device 2000 can correspond to the server device described in the communication method 1200, or it can correspond to a module or component of the server device. The device 2000 may include at least one unit or module for executing any one of the communication methods 1200 described above. Furthermore, each module or unit in the device 2000 can be used to execute the various actions or processes performed by the server device in the communication method 1200.
[0320] like Figure 20As shown, the communication device 2000 may include a transceiver module 2010. The transceiver module 2010 may be used to: send a first request message, which may be used to subscribe to first data through a first service interface, the first request message may include first identification information of a communication channel between a first client device and a first server, the first identification information may be used to establish a communication connection between the first client device and the first server, the first server may be used to store data; and receive the first data through the first server.
[0321] In some possible implementations, the first server could be a Kafka server.
[0322] In some possible implementations, the first identification information may include the address of the first server, or the first identification information may include the address and port of the first server.
[0323] In some possible implementations, the first request message may also include version information of the first server, which can be used to determine whether the version of the first client device is compatible with the version of the first server.
[0324] In some possible implementations, the first request message may also include parameter information of the first server, which can be used to determine the parameters available when the first client device sends the first data.
[0325] In some possible implementations, the first request message may also include indication information of the event corresponding to the first data.
[0326] In some possible implementations, the transceiver module 2010 can also be used to: send a second request message, which can be used to update the first identification information; and receive second data through the first server.
[0327] It should be understood that the transceiver module 2010 can be used to perform the various actions or processes performed by the server device in the above-mentioned communication method 1200.
[0328] It should be understood that the specific process of each module in device 2000 performing the above-mentioned corresponding steps is described in the previous description of communication method 1200, and will not be repeated here.
[0329] It should be understood that the "units" in communication device 1900 and communication device 2000 can be implemented in hardware, software, or by hardware executing corresponding software. For example, the "unit" can refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memories for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components supporting the described functions. Furthermore, a transmitting unit can be replaced by a transmitter, a receiving unit can be replaced by a receiver, and other units such as determining units or acquiring units can be replaced by processors or processing circuits, each performing the transmit / receive operations and related processing operations in the respective method embodiments.
[0330] Figure 21 A schematic block diagram of another communication device 2100 provided in an embodiment of this application is shown. This device 2100 may be a first client device or a server device, or it may be a chip, chip system, or processor that supports the first client device or server device in implementing the above methods. This device can be used to implement the methods described in the above method embodiments; for details, please refer to the descriptions in the above method embodiments.
[0331] The device 2100 may include at least one processor 2110, which may also be referred to as a processing unit or processing module, and can implement certain control functions. The processor 2110 may be a general-purpose processor or a dedicated processor, for example, a baseband processor or a central processing unit. The baseband processor can be used to process communication protocols and communication data, while the central processing unit can be used to control communication devices (such as base stations, baseband chips, user chips, DUs or CUs, etc.), execute software programs, and process data from the software programs.
[0332] In an alternative design, the processor 2110 may also store instructions and / or data that can be executed by the processor 2110 to cause the device 2100 to perform the methods described in the above method embodiments.
[0333] In another alternative design, the device 2100 may include a communication interface 2120 for implementing receiving and transmitting functions. For example, the communication interface 2120 may be a transceiver circuit, interface, interface circuit, or transceiver. The transceiver circuit, interface, interface circuit, or transceiver for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, interface circuit, or transceiver may be used for reading and writing code / data, or it may be used for transmitting or relaying signals. Optionally, the communication unit in the communication device 2100 may be the communication interface 2120.
[0334] Optionally, the device 2100 may include one or more memories 2130, which may store instructions that can be executed on the processor 2110, causing the device 2100 to perform the methods described in the above method embodiments. Optionally, the memories 2130 may also store data. Optionally, the processor 2110 may also store instructions and / or data. The processor 2110 and the memories 2130 may be provided separately or integrated together.
[0335] Those skilled in the art will understand that, for ease of explanation, Figure 21 Only one memory and processor are shown. In an actual first client device or server device, multiple processors and memories may exist. Memory may also be referred to as storage medium or storage device, etc., and this application embodiment does not limit this.
[0336] For example, the processor may include a baseband processor and a central processing unit. The baseband processor is mainly used to process communication protocols and communication data, while the central processing unit is mainly used to control the entire first client device or server device, execute software programs, and process the data of the software programs. Figure 21 The processor integrates the functions of a baseband processor and a central processing unit (CPU). Those skilled in the art will understand that the baseband processor and CPU can also be independent processors interconnected via technologies such as buses. It will also be understood that the first client device or server device may include multiple baseband processors to adapt to different network standards, and multiple CPUs to enhance its processing capabilities. The various components of the first client device or server device can be connected via various buses. The baseband processor can also be described as a baseband processing circuit or a baseband processing chip. The CPU can also be described as a central processing circuit or a central processing chip. The function of processing communication protocols and communication data can be built into the processor or stored as a software program in a storage unit, with the processor executing the software program to implement the baseband processing function.
[0337] It should be understood that, in one possible design, the steps in the method embodiments provided in this application can be implemented by integrated logic circuits in the processor's hardware or by instructions in software form. The steps of the methods disclosed in the embodiments of this application can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are not provided here.
[0338] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0339] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), EPROM, electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0340] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed on a computer, cause the methods described in any of the foregoing aspects to be performed.
[0341] This application also provides a computer program product comprising a computer program or instructions that, when executed on a computer, cause the methods described in any of the foregoing aspects to be performed.
[0342] This application also provides a communication device, including a processor and an interface for sending and / or receiving signals, causing the processor to perform various steps or processes in any of the above methods.
[0343] This application also provides a communication system, which includes means for performing the method in the first aspect (such as a first client device) and / or means for performing the method in the second aspect (such as a server device).
[0344] The above-described device and method embodiments are completely corresponding, with corresponding modules or units performing corresponding steps. For example, a communication unit or communication interface performs the receiving or sending steps in the method embodiment, while other steps besides sending and receiving can be performed by a processing unit or processor.
[0345] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.
[0346] The terms “component,” “module,” “system,” etc., used in this specification are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable storage media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from a component interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0347] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0348] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be based on the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0349] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are illustrative; for instance, the division of units is a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0350] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0351] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0352] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks (SSDs)).
[0353] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes: a Universal Serial Bus (USB) flash drive (USB flash disk), also known as a USB flash drive, portable hard drive, ROM, RAM, magnetic disk, or optical disk, and other media capable of storing program code.
[0354] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A communication method, characterized in that, The method is applied to a first client device, which is a user plane function network element or an analysis and data storage function network element. The method includes: The system receives a first request message from a server device. The first request message is used to subscribe to first data through a first service interface. The first request message includes the address of a first server or the address and port of the first server. The first server is used to store data. The server device is an analysis and data storage function network element or an application function network element. In response to the first request message, a communication connection is established with the first server based on the address of the first server or the address and port of the first server obtained from the first request message, and the first data is sent to the first server. If the first client device receives a second request message from the server device, the second request message is used to update the address of the first server or the address and port of the first server, and data is sent to the first server according to the updated address of the first server or the address and port of the first server; Alternatively, if the first client device does not receive the second request message, it may continuously send the first data to the first server based on the address of the first server or the address and port of the first server obtained from the first request message.
2. The method according to claim 1, characterized in that, The first server is a Kafka server. The step of establishing a communication connection with the first server based on the address of the first server obtained from the first request message, or the address and port of the first server, and sending the first data to the first server includes: Based on the address of the first server or the address and port of the first server obtained from the first request message, a communication connection is established with the Kafka server via the Kafka protocol, and the first data is sent to the Kafka server.
3. The method according to claim 1, characterized in that, The first request message also includes version information of the first server. Before establishing a communication connection with the first server based on the address of the first server obtained from the first request message or the address and port of the first server, and sending the first data to the first server, the method further includes: Based on the version information, it is determined that the version of the first client device is compatible with the version of the first server.
4. The method according to claim 1, characterized in that, The first request message also includes parameter information of the first server. Before establishing a communication connection with the first server based on the address of the first server obtained from the first request message or the address and port of the first server, and sending the first data to the first server, the method further includes: The parameters available for sending the first data are determined based on the parameter information.
5. The method according to claim 1, characterized in that, The first request message also includes indication information of the event corresponding to the first data.
6. The method according to claim 1, characterized in that, The method further includes: A third request message is sent, which requests the client device that provides data to the first server to switch from the first analysis data storage function ADRF network element to the second ADRF network element.
7. The method according to claim 1, characterized in that, The first request message is also used to request that the client device providing data to the first server switch from the first ADRF network element to the second ADRF network element.
8. The method according to claim 1, characterized in that, Before establishing a communication connection with the first server based on the address of the first server obtained from the first request message or the address and port of the first server, and sending the first data to the first server, the method further includes: Send a fourth request message, the fourth request message being used to subscribe to third data through a second service interface, the third data being used to determine the first data, the fourth request message including the address of the second server or the address and port of the second server; The third data is received through the second server.
9. A communication method, characterized in that, The method is applied to a server-side device, which is an analysis and data storage function network element or an application function network element. The method includes: Send a first request message to a first client device. The first request message is used to subscribe to first data through a first service interface. The first request message includes the address of a first server or the address and port of the first server. The first server is used to store data. The first client device is a user plane function network element or an analysis and data storage function network element. The first data is received through the first server; When the address and / or port of the first server changes: Send a second request message, which is used to update the address of the first server or the address and port of the first server.
10. The method according to claim 9, characterized in that, The first server is the Kafka server.
11. The method according to claim 9, characterized in that, The first request message also includes version information of the first server, which is used to determine whether the version of the first client device is compatible with the version of the first server.
12. The method according to claim 9, characterized in that, The first request message also includes parameter information of the first server, which is used to determine the parameters available when the first client device sends the first data.
13. The method according to claim 9, characterized in that, The first request message also includes indication information of the event corresponding to the first data.
14. A communication device, characterized in that, It includes at least one unit or module for performing the method as described in any one of claims 1-8 or 9-13.
15. A communication device, characterized in that, It includes at least one processor, which is configured to cause the communication device to implement the method as described in any one of claims 1-8 or 9-13 by executing a computer program or instructions, or by using logic circuitry.
16. The communication device according to claim 15, characterized in that, The communication device further includes a memory for storing the computer program or instructions.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the method as described in any one of claims 1-8 or 9-13 to be performed.
18. A computer program product, characterized in that, The computer program product includes a computer program or instructions that, when run on a computer, cause the method as described in any one of claims 1-8 or 9-13 to be performed.
19. A communication system, characterized in that, The communication system includes a first client device and a server device. The first client device is a user plane function network element or an analysis and data storage function network element, and the server device is an analysis and data storage function network element or an application function network element. The server device is used to send a first request message to the first client device. The first request message is used to subscribe to first data through a first service interface. The first request message includes the address of the first server or the address and port of the first server. The first server is used to store data. The first client device is used for: Upon receiving the first request message, establish a communication connection with the first server based on the address of the first server or the address and port of the first server obtained from the first request message, and send the first data to the first server. If a second request message is received from the server device, the second request message is used to update the address of the first server or the address and port of the first server, and data is sent to the first server according to the updated address of the first server or the address and port of the first server; Alternatively, if the second request message is not received, the first data is continuously sent to the first server based on the address of the first server or the address and port of the first server obtained from the first request message.
20. The communication system according to claim 19, characterized in that, The server-side device is also used to receive the first data through the first server.
Citation Information
Patent Citations
Service authorization method and communication device
CN111107047A
Communication method and device
CN116546479A
Information sending method and device based on multiple instances and storage medium
CN117424809A