Embodiments of this application relate to the communication field, and more specifically, to a data packet transmission method, a communication apparatus, and a communication system.
Data is generated, flows, and is consumed in a communication network. With the development of a network scale, a new technology, an application, and the like, the data in the network increases and becomes more important. Therefore, a complete service architecture needs to be established to efficiently use the data. In the past, the data exists as data silos. In other words, a specific application uses only its own data, and cannot use data of other applications or provide data obtained by itself for other applications to use. A data service is used to avoid data silos, to enable data to be used as a service by internal and external applications of the network and play its role.
Currently, a communication path needs to be established for information exchange between two network nodes. An intermediate node on the communication path is only responsible for forwarding a data packet, and does not process the data packet. In a forwarding process, routing and forwarding are performed based on a destination address in a header of the data packet. In a data service process, processing processes such as data collection, storage, forwarding, and analysis may be performed on different network nodes. How to transmit data between the foregoing network nodes that can process data is a problem that needs to be considered.
Embodiments of this application provide a data packet transmission method, a communication apparatus, and a communication system, to implement data processing in a data packet transmission process and improve data use efficiency.
According to a first aspect, a data packet transmission method is provided. The method may be performed by a first apparatus. The first apparatus may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application. The method includes: The first apparatus obtains a first data packet. The first data packet includes transmission path information. The first apparatus determines a second apparatus based on the transmission path information and identification information of the first apparatus and sends a second data packet to the second apparatus. The second data packet includes the transmission path information. A data payload in the second data packet is obtained by processing a data payload in the first data packet.
In the foregoing solution, after processing the data payload in the data packet, the first apparatus may determine the next processing node of the data packet based on the transmission path information in the data packet and the identification information of the first apparatus, and transmit the processed data packet to the next processing node. In other words, in this solution, data packet processing is implemented in a data packet transmission process. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data use efficiency can be improved.
With reference to the first aspect, in some implementations of the first aspect, the first apparatus determines an identifier of a link from the first apparatus to the second apparatus based on the transmission path information and the identification information of the first apparatus; and determines the second apparatus based on the link identifier.
Based on the foregoing solution, the first apparatus may calculate the link identifier based on the transmission path information in the data packet and the identification information of the first apparatus, and further determine the next processing node (the second apparatus) of the first apparatus based on the link identifier. In other words, the next processing node of the data packet may be determined through calculation, and the transmission path information does not need to be locally stored in the first apparatus, thereby saving a storage resource on the first apparatus side. In addition, the transmission path of the data packet is not fixed, and data processing and forwarding are relatively flexible.
With reference to the first aspect, in some implementations of the first aspect, the transmission path information is a transmission path identifier.
Based on the foregoing solution, the transmission path information is an identifier. In this way, header information of the data packet is simple, so that communication resource overheads can be reduced.
With reference to the first aspect, in some implementations of the first aspect, the first data packet and the second data packet further include data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
Based on the foregoing solution, the processing node of the data packet may determine the statistics collection manner of the statistical information based on the statistics collection mode information indicated in the packet, to perform statistics collection and reporting according to an indication in the packet.
With reference to the first aspect, in some implementations of the first aspect, the first apparatus sends the statistical information to the third apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
Based on the foregoing solution, the third apparatus can learn of a quantity of data packets/bytes passing through the first apparatus, so that the third apparatus determines whether to continue to allocate a data packet to the first apparatus subsequently for processing.
With reference to the first aspect, in some implementations of the first aspect, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
Based on the foregoing solution, it is assumed that the statistical information is obtained through statistics collection at a granularity of the transmission path information. In this case, the third apparatus can determine a quantity of data packets/bytes passing through the first apparatus on each transmission path. It is assumed that the statistical information is obtained through statistics collection at a granularity of the data service information. In this case, the third apparatus can determine quantities of data packets/bytes of different data services processed by the first apparatus, to provide a reference for subsequent coordinated allocation performed by the third apparatus.
According to a second aspect, a data packet transmission method is provided. The method may be performed by a first apparatus. The first apparatus may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, an operations, administration, and maintenance device, or the like. This is not limited in this application. The method includes: The first apparatus obtains service data, determines a second apparatus based on data service information and identification information of the first apparatus, and sends a third data packet to the second apparatus. The third data packet includes transmission path information and a data payload corresponding to the service data. The transmission path information is determined based on the data service information.
In the foregoing solution, after obtaining the service data, the first apparatus may determine the transmission path information based on the data service information, further determine the next processing node of the service data with reference to the identification information of the first apparatus, encapsulate processed service data and the transmission path information into the data packet, and transmit the data packet to the next processing node. Subsequently, the second apparatus may determine, based on the transmission path information and an identifier of the second apparatus, a next processing node of the data packet after the second apparatus. In other words, in this solution, data packet processing can be implemented by another node in a subsequent data packet transmission process. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data use efficiency can be improved.
With reference to the second aspect, in some implementations of the second aspect, the transmission path information is a transmission path identifier.
Based on the foregoing solution, the transmission path information is an identifier. In this way, header information of the data packet is simple, so that communication resource overheads can be reduced.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus receives correspondence information from a third apparatus, where the correspondence information indicates a correspondence between the data service information and the transmission path information; and determines the second apparatus based on the data service information, the correspondence information, and the identification information of the first apparatus.
Based on the foregoing solution, the third apparatus configures the correspondence between the data service information and the transmission path information for the first apparatus. The first apparatus may determine the transmission path information based on the data service information, and may determine the next processing node based on the transmission path information and the identification information of the first apparatus. For the first apparatus, determining the next processing node and determining a next-hop node (physical route) of a data packet may be separated.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus determines an identifier of a link from the first apparatus to the second apparatus based on the data service information, the information about the correspondence between the data service information and the transmission path information, and the identification information of the first apparatus; and determines the second apparatus based on the link identifier.
Based on the foregoing solution, the first apparatus may determine the transmission path information based on the data service information and the information about the correspondence between the data service information and the transmission path information, calculate the link identifier based on the transmission path information and the identification information of the first apparatus, and further determine the next processing node of the first apparatus based on the link identifier. In other words, the next processing node of the data packet can be determined through calculation. Therefore, a transmission path of a data packet is not fixed, and data processing and forwarding are relatively flexible.
With reference to the first/second aspect, in some implementations of the first/second aspect, the identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
Based on the foregoing solution, when the first apparatus uses a residue number system algorithm to calculate the link identifier, residue numbers of different transmission path identifiers modulo an identifier of the first apparatus are sufficient to identify different links. In this solution, the residue numbers obtained through the modulo operation are link identifiers. The total quantity of links may be understood as a total quantity of link identifiers. The link is a link from the first apparatus to an apparatus other than the first apparatus. The value corresponding to the identification information of the first apparatus is, for example, the identifier of the first apparatus, and the value corresponding to the identification information of the second apparatus is, for example, an identifier of the second apparatus.
With reference to the second aspect, in some implementations of the second aspect, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
With reference to the second aspect, in some implementations of the second aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. Herein, N is an integer greater than 1. The first apparatus sends N data packets to the N second apparatuses. One second apparatus is associated with one data packet. The data packet includes one of the N pieces of transmission path information.
Based on the foregoing solution, data packet multicast and distribution can be implemented. Multicast means that the first apparatus sends data packets including a same data payload to a plurality of second apparatuses. Distribution means that the first apparatus sends data packets including different data payloads to a plurality of second apparatuses. In this way, a flexible topology of a data packet transmission path can be implemented.
With reference to the second aspect, in some implementations of the second aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
Based on the foregoing solution, data packet aggregation can be implemented, that is, a flexible topology of a data packet transmission path can be implemented.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus receives configuration information from the third apparatus. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
Based on the foregoing solution, the first apparatus may report the statistical information according to a configuration, and may transmit the data packet based on the transmission path information within the valid time of the transmission path information.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus sends acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge the configuration information.
Based on the foregoing solution, the third apparatus may learn, based on the acknowledgment information, that the configuration has been completed, to avoid a waste of communication resources caused by sending the configuration information again.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus receives update information from the third apparatus. The update information is used to update the transmission path information corresponding to the data service information.
Based on the foregoing solution, the first apparatus may subsequently transmit the data packet based on updated transmission path information, thereby improving accuracy of using the transmission path information.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus sends acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes update of the transmission path information.
Based on the foregoing solution, the third apparatus may learn, based on the acknowledgment information, that the transmission path information has been updated, to avoid a waste of communication resources caused by sending the update information again.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus receives read information from the third apparatus. The read information is used to read the transmission path information corresponding to the data service information.
Based on the foregoing solution, in a debugging or troubleshooting phase, the transmission path information may be read based on the read information, to determine whether transmission path information corresponding to a specific piece of data service information is accurate, thereby improving system performance.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus sends read response information to the third apparatus. The read response information may include the transmission path information corresponding to the data service information.
Based on the foregoing solution, in a debugging or troubleshooting phase, it may be determined based on the transmission path information in the read response information whether transmission path information corresponding to a specific piece of data service information is accurate, to help troubleshooting performed by the third apparatus, thereby improving system performance.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus receives delete information from the third apparatus. The delete information is used to delete the transmission path information corresponding to the data service information.
Based on the foregoing solution, after a specific data service ends, transmission path information corresponding to the data service information may be deleted, to save storage resources of the first apparatus.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus sends acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes deletion of the transmission path information.
Based on the foregoing solution, the third apparatus may learn, based on the acknowledgment information, that the first apparatus completes a delete operation, to avoid a waste of transmission resources by sending a delete instruction again.
With reference to the second aspect, in some implementations of the second aspect, the third data packet further includes data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
Based on the foregoing solution, the processing node of the data packet may determine the statistics collection manner of the statistical information based on the statistics collection mode information indicated in the packet, to perform statistics collection and reporting according to an indication in the packet.
With reference to the second aspect, in some implementations of the second aspect, the first apparatus sends the statistical information to the third apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
Based on the foregoing solution, the third apparatus can learn of a quantity of data packets/bytes passing through the first apparatus, so that the third apparatus determines whether to continue to allocate a data packet to the first apparatus subsequently for processing.
With reference to the second aspect, in some implementations of the second aspect, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
Based on the foregoing solution, it is assumed that the statistical information is obtained through statistics collection at a granularity of the transmission path information. In this case, the third apparatus can determine a quantity of data packets/bytes passing through the first apparatus on each transmission path. It is assumed that the statistical information is obtained through statistics collection at a granularity of the data service information. In this case, the third apparatus can determine quantities of data packets/bytes of different data services processed by the first apparatus, to provide a reference for subsequent coordinated allocation performed by the third apparatus.
With reference to the first/second aspect, in some implementations of the first/second aspect, the data service information is any one of the following: an identifier of a federated learning service, an identifier of a distributed learning service, or an identifier of a data aggregation service.
According to a third aspect, a data packet transmission method is provided. The method may be performed by a third apparatus. The third apparatus may be a functional network element in a network; or may be a chip or a circuit in a network device or a core network device; or may be a logical module or software that can implement all or some functions of a network device or a core network device. This is not limited in this application. The method includes: The third apparatus generates correspondence information, where the correspondence information indicates a correspondence between data service information and data packet transmission path information; and sends the correspondence information to a first apparatus.
Based on the foregoing solution, the third apparatus configures the correspondence between the data service information and the transmission path information for the first apparatus, so that the first apparatus can determine, based on the correspondence, transmission path information corresponding to a specific piece of data service information, and transmit a data packet based on the transmission path information. In this solution, the third apparatus may dynamically construct and maintain data packet transmission path information. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data packet transmission and processing processes are more flexible.
With reference to the third aspect, in some implementations of the third aspect, the transmission path information is a transmission path identifier.
Based on the foregoing solution, the transmission path information is an identifier. In this way, header information of the data packet is simple, so that communication resource overheads can be reduced.
With reference to the third aspect, in some implementations of the third aspect, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
With reference to the third aspect, in some implementations of the third aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. Herein, N is an integer greater than 1.
Based on the foregoing solution, one piece of data service information may correspond to a plurality of transmission paths that use the first apparatus as an initial node, so that data packet multicast and distribution can be implemented. In this way, a flexible topology of a data packet transmission path can be implemented.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus sends N pieces of correspondence information to N first apparatuses. Each first apparatus is associated with one piece of correspondence information. A correspondence indicated by the piece of correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
Based on the foregoing solution, one piece of data service information may correspond to a plurality of transmission paths that use a plurality of first apparatuses as initial nodes, so that data packet aggregation can be implemented. In this way, a flexible topology of a data packet transmission path can be implemented.
With reference to the third aspect, in some implementations of the third aspect, the method further includes: The third apparatus allocates the identification information and the link identifier to the first apparatus. The identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
Based on the foregoing solution, when the first apparatus uses a residue number system algorithm to calculate the link identifier, residue numbers of different transmission path identifiers modulo an identifier of the first apparatus are sufficient to identify different links. In this solution, the residue numbers obtained through the modulo operation are link identifiers. The total quantity of links may be understood as a total quantity of link identifiers. The link is a link from the first apparatus to an apparatus other than the first apparatus. The value corresponding to the identification information of the first apparatus is, for example, the identifier of the first apparatus, and the value corresponding to the identification information of the second apparatus is, for example, an identifier of the second apparatus.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus sends configuration information to the first apparatus. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus receives acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge the configuration information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus sends update information to the first apparatus. The update information is used to update the transmission path information corresponding to the data service information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus receives acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes update of the transmission path information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus sends read information to the first apparatus. The read information is used to read the transmission path information corresponding to the data service information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus receives read response information from the first apparatus. The read response information may include the transmission path information corresponding to the data service information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus sends delete information to the first apparatus. The delete information is used to delete the transmission path information corresponding to the data service information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus receives acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes deletion of the transmission path information.
With reference to the third aspect, in some implementations of the third aspect, the third apparatus receives statistical information from the first apparatus. The statistical information includes data packet quantity information or data packet byte quantity information.
With reference to the third aspect, in some implementations of the third aspect, the statistical information is obtained through statistics collection at a granularity of transmission path information or data service information.
For beneficial effects of implementations whose beneficial effects are not described in the third aspect, refer to the descriptions of the beneficial effects in corresponding implementations of the second aspect. Details are not described herein again.
According to a fourth aspect, a data packet transmission method is provided. The method may be applied to a communication system. The communication system includes a first apparatus and a third apparatus. The first apparatus may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application. The third apparatus may be a functional network element in a network; or may be a chip or a circuit in a network device or a core network device; or may be a logical module or software that can implement all or some functions of a network device or a core network device. This is not limited in this application. The method includes: The third apparatus generates correspondence information, where the correspondence information indicates a correspondence between data service information and data packet transmission path information; and sends the correspondence information to the first apparatus. The first apparatus receives the correspondence information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the method further includes: The first apparatus obtains service data, determines a second apparatus based on data service information and identification information of the first apparatus, and sends a third data packet to the second apparatus. The third data packet includes transmission path information and a data payload corresponding to the service data. The transmission path information is determined based on the data service information and the correspondence information.
Based on the foregoing solution, in the communication system, the third apparatus configures the correspondence between the data service information and the transmission path information for the first apparatus, so that the first apparatus can determine, based on the correspondence, transmission path information corresponding to a specific piece of data service information, and transmit a data packet based on the transmission path information and an identifier of the first apparatus. In this solution, the third apparatus may dynamically construct and maintain data packet transmission path information. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data packet transmission and processing processes are more flexible. The first apparatus may determine the next processing node of the data packet based on the transmission path information and the identifier of the first apparatus. Processing complexity of the first apparatus is relatively low.
With reference to the fourth aspect, in some implementations of the fourth aspect, the transmission path information is a transmission path identifier.
With reference to the fourth aspect, in some implementations of the fourth aspect, that the first apparatus obtains the service data, and determines the second apparatus based on the data service information and the identification information of the first apparatus includes that the first apparatus obtains the service data, and determines an identifier of a link from the first apparatus to the second apparatus based on the data service information and the identification information of the first apparatus; and the first apparatus determines the second apparatus based on the link identifier.
With reference to the fourth aspect, in some implementations of the fourth aspect, the method further includes: The third apparatus allocates the identification information and the link identifier to the first apparatus. The identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
With reference to the fourth aspect, in some implementations of the fourth aspect, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
With reference to the fourth aspect, in some implementations of the fourth aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. The first apparatus determines N second apparatuses based on the first data service information and the identification information of the first apparatus. The first apparatus sends N data packets to the N second apparatuses. One second apparatus is associated with one data packet. The data packet includes one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third apparatus sends N pieces of correspondence information to N first apparatuses. Each first apparatus is associated with one piece of correspondence information. A correspondence indicated by the piece of correspondence information includes a correspondence between the data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third apparatus sends configuration information. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information. The first apparatus receives the configuration information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the first apparatus sends acknowledgment information. The acknowledgment information is used to acknowledge the configuration information. The third apparatus receives the acknowledgment information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third apparatus sends update information. The update information is used to update the transmission path information corresponding to the data service information. The first apparatus receives the update information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the first apparatus sends acknowledgment information. The acknowledgment information is used to acknowledge that the first apparatus completes update of the transmission path information. The third apparatus receives the acknowledgment information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third apparatus sends read information. The read information is used to read the transmission path information corresponding to the data service information. The first apparatus receives the read information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the first apparatus sends read response information. The read response information may include the transmission path information corresponding to the data service information. The third apparatus receives the read response information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third apparatus sends delete information. The delete information is used to delete the transmission path information corresponding to the data service information. The first apparatus receives the delete information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the first apparatus sends acknowledgment information. The acknowledgment information is used to acknowledge that the first apparatus completes deletion of the transmission path information. The third apparatus receives the acknowledgment information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the third data packet further includes data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the first apparatus sends the statistical information. The statistical information includes the data packet quantity information or the data packet byte quantity information. The third apparatus receives the statistical information.
With reference to the fourth aspect, in some implementations of the fourth aspect, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
For beneficial effects of implementations whose beneficial effects are not described in the fourth aspect, refer to the descriptions of the beneficial effects in corresponding implementations of the second/third aspect. Details are not described herein again.
With reference to the third/fourth aspect, in some implementations of the third/fourth aspect, the data service information is any one of the following: an identifier of a federated learning service, an identifier of a distributed learning service, or an identifier of a data aggregation service.
According to a fifth aspect, a communication apparatus is provided. The communication apparatus is a first apparatus. The first apparatus may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application. The first apparatus includes a transceiver unit and a processing unit. The transceiver unit is configured to obtain a first data packet. The first data packet includes transmission path information. The processing unit is configured to determine a second apparatus based on the transmission path information and identification information of the first apparatus. The transceiver unit is configured to send a second data packet to the second apparatus. The second data packet includes the transmission path information. A data payload in the second data packet is obtained by processing a data payload in the first data packet.
With reference to the fifth aspect, in some implementations of the fifth aspect, the processing unit is configured to: determine an identifier of a link from the first apparatus to the second apparatus based on the transmission path information and the identification information of the first apparatus; and determine the second apparatus based on the link identifier.
With reference to the fifth aspect, in some implementations of the fifth aspect, the transmission path information is a transmission path identifier.
With reference to the fifth aspect, in some implementations of the fifth aspect, the first data packet and the second data packet further include data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
With reference to the fifth aspect, in some implementations of the fifth aspect, the transceiver unit is further configured to send the statistical information to the third apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
With reference to the fifth aspect, in some implementations of the fifth aspect, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
According to a sixth aspect, a communication apparatus is provided. The communication apparatus is a first apparatus. The first apparatus may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, an operations, administration, and maintenance device, or the like. This is not limited in this application. The first apparatus includes a transceiver unit and a processing unit. The transceiver unit is configured to obtain service data. The processing unit is configured to determine a second apparatus based on data service information and identification information of the first apparatus. The transceiver unit is further configured to send a third data packet to the second apparatus. The third data packet includes transmission path information and a data payload corresponding to the service data. The transmission path information is determined based on the data service information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transmission path information is a transmission path identifier.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to receive correspondence information from a third apparatus. The correspondence information indicates a correspondence between the data service information and the transmission path information. The second apparatus is determined based on the transmission path information and the identification information of the first apparatus.
With reference to the sixth aspect, in some implementations of the sixth aspect, the processing unit is configured to: determine an identifier of a link from the first apparatus to the second apparatus based on the data service information, the information about the correspondence between the data service information and the transmission path information, and the identification information of the first apparatus; and determine the second apparatus based on the link identifier.
With reference to the fifth/sixth aspect, in some implementations of the fifth/sixth aspect, the identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
With reference to the sixth aspect, in some implementations of the sixth aspect, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
With reference to the sixth aspect, in some implementations of the sixth aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. The transceiver unit is further configured to send N data packets to N second apparatuses. One second apparatus is associated with one data packet. The data packet includes one of the N pieces of transmission path information. The N data packets include two data packets with different data payloads. Herein, N is an integer greater than 1.
With reference to the sixth aspect, in some implementations of the sixth aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to receive configuration information from the third apparatus. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to send acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge the configuration information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to receive update information from the third apparatus. The update information is used to update the transmission path information corresponding to the data service information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to send acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes update of the transmission path information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to receive read information from the third apparatus. The read information is used to read the transmission path information corresponding to the data service information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to send read response information to the third apparatus. The read response information may include the transmission path information corresponding to the data service information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to receive delete information from the third apparatus. The delete information is used to delete the transmission path information corresponding to the data service information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to send acknowledgment information to the third apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes deletion of the transmission path information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the third data packet further includes data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the transceiver unit is further configured to send the statistical information to the third apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
With reference to the sixth aspect, in some implementations of the sixth aspect, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
According to a seventh aspect, a communication apparatus is provided. The communication apparatus is a third apparatus. The third apparatus may be a functional network element in a network, or may be a chip or a circuit in a network device or a core network device, or may be a logical module or software that can implement all or some functions of a network device or a core network device. This is not limited in this application. The third apparatus includes a processing unit and a transceiver unit. The processing unit is configured to generate correspondence information. The correspondence information indicates a correspondence between data service information and data packet transmission path information. The transceiver unit is configured to send the correspondence information to a first apparatus.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transmission path information is a transmission path identifier.
With reference to the seventh aspect, in some implementations of the seventh aspect, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
With reference to the seventh aspect, in some implementations of the seventh aspect, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. Herein, N is an integer greater than 1.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to send N pieces of correspondence information to N first apparatuses. Each first apparatus is associated with one piece of correspondence information. A correspondence indicated by the piece of correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
With reference to the seventh aspect, in some implementations of the seventh aspect, the processing unit is configured to allocate the identification information and the link identifier to the first apparatus. The identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to send configuration information to the first apparatus. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to receive acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge the configuration information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to send update information to the first apparatus. The update information is used to update the transmission path information corresponding to the data service information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to receive acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes update of the transmission path information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to send read information to the first apparatus. The read information is used to read the transmission path information corresponding to the data service information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to receive read response information from the first apparatus. The read response information may include the transmission path information corresponding to the data service information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to send delete information to the first apparatus. The delete information is used to delete the transmission path information corresponding to the data service information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to receive acknowledgment information from the first apparatus. The acknowledgment information is used to acknowledge that the first apparatus completes deletion of the transmission path information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the transceiver unit is further configured to receive statistical information from the first apparatus. The statistical information includes data packet quantity information or data packet byte quantity information.
With reference to the seventh aspect, in some implementations of the seventh aspect, the statistical information is obtained through statistics collection at a granularity of transmission path information or data service information.
With reference to the fifth aspect to the seventh aspect, in some implementations of the fifth aspect to the seventh aspect, the data service information is any one of the following: an identifier of a federated learning service, an identifier of a distributed learning service, or an identifier of a data aggregation service.
According to an eighth aspect, a communication apparatus is provided. The apparatus includes a processor. The processor is coupled to a memory, and may be configured to execute instructions in the memory, to implement the method according to either of the first aspect and the second aspect and any possible implementation of either of the first aspect and the second aspect. Optionally, the apparatus further includes the memory. The memory and the processor may be separately deployed, or may be deployed in a centralized manner. Optionally, the apparatus further includes a communication interface, and the processor is coupled to the communication interface.
In an implementation, the communication interface may be a transceiver or an input/output interface.
In another implementation, the apparatus is a first apparatus. The first apparatus may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application. When the apparatus is a chip, the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, a pin, a related circuit, or the like on the chip or a chip system. The processor may alternatively be embodied as a processing circuit or a logic circuit.
Optionally, the transceiver may be a transceiver circuit. Optionally, the input/output interface may be an input/output circuit.
In a specific implementation process, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, any logic circuit, or the like. An input signal received by the input circuit may be received and input by, but not limited to, a receiver. A signal output by the output circuit may be output to, but not limited to, a transmitter and transmitted by the transmitter. The input circuit and the output circuit may be a same circuit. The circuit is used as the input circuit and the output circuit at different moments. Specific implementations of the processor and the various circuits are not limited in embodiments of this application.
According to a ninth aspect, a communication apparatus is provided. The apparatus includes a processor. The processor is coupled to a memory, and may be configured to execute instructions in the memory, to implement the method according to the third aspect and any possible implementation of the third aspect. Optionally, the apparatus further includes the memory. The memory and the processor may be separately deployed, or may be deployed in a centralized manner. Optionally, the apparatus further includes a communication interface, and the processor is coupled to the communication interface.
In an implementation, the communication interface may be a transceiver or an input/output interface.
In another implementation, the apparatus is a third apparatus. The third apparatus may be a functional network element in a network, or may be a chip or a circuit in a network device or a core network device, or may be a logical module or software that can implement all or some functions of a network device or a core network device. This is not limited in this application. When the apparatus is a chip, the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, a pin, a related circuit, or the like on the chip or a chip system. The processor may alternatively be embodied as a processing circuit or a logic circuit.
Optionally, the transceiver may be a transceiver circuit. Optionally, the input/output interface may be an input/output circuit.
In a specific implementation process, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, any logic circuit, or the like. An input signal received by the input circuit may be received and input by, but not limited to, a receiver. A signal output by the output circuit may be output to, but not limited to, a transmitter and transmitted by the transmitter. The input circuit and the output circuit may be a same circuit. The circuit is used as the input circuit and the output circuit at different moments. Specific implementations of the processor and the various circuits are not limited in embodiments of this application.
According to a tenth aspect, a communication apparatus is provided. The apparatus includes a logic circuit and an input/output interface. The logic circuit is configured to couple to the input/output interface, and transmit data through the input/output interface, to perform the method according to any one of the first aspect to the third aspect and any possible implementation of the first aspect to the third aspect.
According to an eleventh aspect, a communication system is provided. The system includes a first apparatus and a third apparatus. The first apparatus is configured to perform the method according to either of the first aspect and the second aspect and any possible implementation of the first aspect and the second aspect. The third apparatus is configured to perform the method according to the third aspect and any possible implementation of the third aspect.
According to a twelfth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program (which may also be referred to as code or instructions). When the computer program is run on a computer, the computer is enabled to perform the method according to any one of the first aspect to the third aspect and any possible implementation of the first aspect to the third aspect.
According to a thirteenth aspect, a computer program product is provided. The computer program product includes a computer program (which may also be referred to as code or instructions). When the computer program is run, a computer is enabled to perform the method according to any one of the first aspect to the third aspect and any possible implementation of the first aspect to the third aspect.
For beneficial effects brought by the fifth aspect to the thirteenth aspect, refer to the descriptions of the beneficial effects in the first aspect to the third aspect. Details are not described herein again.
The following describes technical solutions of embodiments in this application with reference to accompanying drawings.
The communication system 100 shown in
For example, the data processing apparatus may be a data agent (data agent, DA), and may perform processing work such as collection, storage, preprocessing, and analysis on data. The data processing apparatus may be independently deployed, for example, deployed in a network in a form of a network function (network function, NF) or a network element. Alternatively, the data processing apparatus may be built in a network node, for example, built in a terminal device, a radio access network (radio access network, RAN) node, a core network (core network, CN) node, or an operations, administration, and maintenance (operations, administration, and maintenance, OAM) node. When the data processing apparatus is not independently deployed, the data processing apparatus may be combined with an existing function in the foregoing node to implement a data processing function. Alternatively, the data processing apparatus may be evolved from the foregoing node. For example, the data processing apparatus is evolved from a network data analysis function (network data analysis function, NWDAF), and includes an existing function of the NWDAF, a scenario instance implemented based on the NWDAF, and the like. This is not limited in this application.
For example, the data orchestration apparatus may be a data orchestration (data orchestrator, DO), and may receive a data service requirement (the data service requirement is, for example, data collection, or federated learning training or inference based on network-collected data) from an application, and determine a data processing apparatus based on the requirement, that is, dynamically establish an end-to-end (end to end, E2E) overlay (overlay) topology (topology) network for a data application. The overlay topology network is a data processing network. A network node (that is, a data processing apparatus) in the network is a data processing node. The DO may orchestrate flow of data between DAs in the data communication network, and may feed back a response to the requirement to the application, for example, feed back, to the application, that the overlay topology network has been established. The data orchestration apparatus may be independently deployed, for example, deployed in a network in a form of an NF or a network element. Alternatively, the data orchestration apparatus may be built in a network node, for example, built in a RAN node or a CN node. This is not limited in this application.
It may be understood that the overlay network is relative to an underlay (underlay) network, and is a logical network established on the underlay network. By using a network virtualization technology, one or more virtual logical networks may be constructed on the same underlay network. Different overlay networks can share devices and lines in the underlay network, but services in the overlay networks can be decoupled from physical networking and interconnection technologies in the underlay network.
Optionally, the data plane further includes a trusted apparatus 40. The trusted apparatus is configured to implement data trustworthiness and protect data from being attacked.
For example, the trusted apparatus may be a trust anchor (trust anchor, TA), may provide a security service such as authentication, authorization, and accounting (authentication, authorization, and accounting, AAA), and store data that cannot be tampered with, a public key of user equipment (user equipment, UE) or a network element (network element, NE), data that has a small data volume but has a feature that the data cannot be tampered with, or other important data that cannot be tampered with.
Optionally, the data plane further includes a storage apparatus 24.
For example, when a large volume of data needs to be stored, or when data needs to be stored for a long time, the storage device may be used as a storage extension of the data processing apparatus. The storage apparatus is, for example, a data storage function (data storage function, DSF) network element. This is not limited in this application.
A method provided in embodiments of this application may further relate to a device or a communication node that is not shown in
It may be understood that names (for example, the data orchestration apparatus, the data processing apparatus, the DO, the DA, and the TA) shown in the foregoing descriptions or figure are merely examples. The foregoing apparatuses may alternatively have other names. This is not limited in this application.
The foregoing network architecture used in embodiments of this application is merely an example for description, and a network architecture applicable to embodiments of this application is not limited thereto. Any network architecture that can implement functions of all or a part of the foregoing devices is applicable to embodiments of this application.
The terminal device may be a wireless terminal device that can receive scheduling and indication information of a network device. The terminal device may be a device that provides a user with voice and/or data connectivity, a handheld device with a wireless connection function, or another processing device connected to a wireless modem.
The terminal device may also be referred to as a terminal, an access terminal, a subscriber unit, user equipment (user equipment, UE), a subscriber station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a wireless communication device, a user agent, or a user apparatus. A terminal device is a device that includes a wireless communication function (providing a user with voice/data connectivity), for example, a handheld device or a vehicle-mounted device having a wireless connection function. The terminal in embodiments of this application may be a mobile phone (mobile phone), a tablet computer (pad), a computer having wireless transmitting and receiving functions, a train, an airplane, a mobile internet device (mobile internet device, MID), a virtual reality (virtual reality, VR) terminal, an augmented reality (augmented reality, AR) terminal, a wireless terminal (for example, a robot) in industrial control (industrial control), a wireless terminal (for example, a vehicle-mounted device, a vehicle device, a vehicle-mounted module, or a vehicle) in an internet of vehicles, a wireless terminal in self driving (self driving), a wireless terminal in remote medical (remote medical), a wireless terminal in a smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in a smart city (smart city), a wireless terminal in a smart city (smart city), a wireless terminal in a smart home (smart home), a cellular phone, a cordless phone, a session initiation protocol (session initiation protocol, SIP) phone, a wireless local loop (wireless local loop, WLL) station, a personal digital assistant (personal digital assistant, PDA), a handheld device having a wireless communication function, a computing device, another processing device connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal in a 5G network, a terminal in a future evolved network (for example, 6G), or the like.
The wearable device may also be referred to as a wearable intelligent device, and is a general term for wearable devices, such as glasses, gloves, watches, clothes, and shoes, that are developed through applying wearable technologies to intelligent designs of daily wear. The wearable device is a portable device that can be directly worn on the body or integrated into clothes or an accessory of a user. The wearable device is not only a hardware device, but also implements a powerful function through software support, data exchange, and cloud interaction. In a broad sense, wearable intelligent devices include full-featured and large-sized devices that can implement complete or partial functions without depending on smartphones, such as smart watches or smart glasses, and devices that dedicated to only one specific type of application function and need to work with other devices such as smartphones, such as various smart bands or smart jewelry for monitoring physical signs.
An access network node may be a device in a wireless network. For example, the access network node may be a device that is deployed in a radio access network and that provides a wireless communication function for a terminal device. For example, the access network node may be a radio access network (radio access network, RAN) node that connects a terminal device to a wireless network, and may also be referred to as an access network device.
The access network node includes but is not limited to: an evolved NodeB (evolved NodeB, eNB), a radio network controller (radio network controller, RNC), a NodeB (NodeB, NB), a base station controller (base station controller, BSC), a base transceiver station (base transceiver station, BTS), a home base station (for example, a home evolved NodeB, HeNB, or a home NodeB, HNB), a baseband unit (baseband unit, BBU), a server, a wearable device, a vehicle-mounted device, an access point (access point, AP) in a Wi-Fi system, a wireless relay node, a wireless backhaul node, a transmission point (transmission point, TP), a transmission and reception point (transmission and reception point, TRP), or the like. The access network node may alternatively be a gNB or a transmission point (TRP or TP) in a 5G system, for example, an NR system, or one antenna panel or a group of antenna panels (including a plurality of antenna panels) of a base station in a 5G system. The access network node may alternatively be a network node that constitutes a gNB or a transmission point, for example, a baseband unit (BBU) or a distributed unit (distributed unit, DU). Alternatively, the access network node may be an access network node in 6G. This is not limited in this application. The base station may be a macro base station, a micro base station, a pico base station, a small cell, a relay station, a balloon station, or the like.
In some deployments, a gNB may include a central unit (central unit, CU) and a DU. The gNB may further include an active antenna unit (active antenna unit, AAU). The CU implements some functions of the gNB, and the DU implements some functions of the gNB. For example, the CU is responsible for processing a non-real-time protocol and service, and implements functions at radio resource control (radio resource control, RRC) and packet data convergence protocol (packet data convergence protocol, PDCP) layers. The DU is responsible for processing a physical layer protocol and a real-time service, and implements functions of a radio link control (radio link control, RLC) layer, a media access control (media access control, MAC) layer, and a physical (physical, PHY) layer. The AAU implements some physical layer processing functions, radio frequency processing, and a function related to an active antenna. Information at the RRC layer is generated by the CU, and is finally encapsulated at the PHY layer of the DU into information at the PHY layer, or is transformed from information at the PHY layer. Therefore, in this architecture, higher layer signaling, for example, RRC layer signaling, may also be considered to be sent by the DU, or sent by the DU and the AAU. It may be understood that the network device may be a device including one or more of a CU node, a DU node, and an AAU node. In addition, the CU may be classified into a network device in an access network (radio access network, RAN), or the CU may be classified into a network device in a core network (core network, CN). This is not limited in this application.
Functions of the core network node are to provide user connection, manage a user, and complete bearer of a session service.
The technical solutions in embodiments of this application may be applied to various communication systems, for example, a long term evolution (long term evolution, LTE) system, a long term evolution advanced (LTE advanced, LTE-A) system, an LTE frequency division duplex (frequency division duplex, FDD) system, an LTE time division duplex (time division duplex, TDD) system, a wireless fidelity (wireless fidelity, Wi-Fi) communication system, a universal mobile telecommunications system (universal mobile telecommunications system, UMTS), a worldwide interoperability for microwave access (worldwide interoperability for microwave access, WiMAX) communication system, a 5th generation (5th Generation, 5G) system or a future evolved communication system (for example, a 6G mobile communication system), vehicle-to-everything (vehicle-to-X, V2X), where V2X may include vehicle-to-network (vehicle-to-network, V2N), vehicle-to-vehicle (vehicle-to-vehicle, V2V), vehicle-to-infrastructure (vehicle-to-infrastructure, V2I), vehicle-to-pedestrian (vehicle-to-pedestrian, V2P), and the like, long term evolution-vehicle (long term evolution-vehicle, LTE-V), an internet of vehicles, machine-type communication (machine-type communication, MTC), an internet of things (internet of things, IoT), long term evolution-machine (long term evolution-machine, LTE-M), machine to machine (machine to machine, M2M), and the like.
Data generated in a communication network is transmitted to each data processing node in a form of a data packet. For example, network sensing data, user data, artificial intelligence (artificial intelligence, AI) data, and IoT data need to be carried by a data pipeline (data pipeline, DP) that includes functions such as collection, processing, transmission, storage, and analysis. One data pipeline may be understood as one path (for example, the first path or the second path shown in
It may be understood that the data pipeline is a name used to describe the solutions of this application more clearly, and the data pipeline may alternatively be replaced with another name. This is not limited in this application.
Each processing node on the data pipeline needs to perform corresponding processing (on-path-packet-processing) (for example, collection, preprocessing, transmission, storage, and analysis) on a data packet including data, and then forward a processed data packet to a next processing node. Communication between different processing nodes on the data pipeline may depend on a communication path in an underlay network. How each processing node on the data pipeline determines a next processing node of the data packet may be decoupled from the underlay network. The following describes a method for transmitting a data packet between processing nodes provided in this application.
S210: A data processing apparatus #0 obtains service data.
In a possible implementation, the data processing apparatus #0 may be an apparatus for collecting service data or a first processing node of the service data.
For example, the data processing apparatus #0 is an ingress DA (the data processing apparatus 10/11 shown in
S220: The data processing apparatus #0 determines a data processing apparatus #1.
In a possible implementation, the data processing apparatus #0 determines the data processing apparatus #1 based on data service (data service, DS) information and identification information of the data processing apparatus #0.
It should be understood that the data service is a framework based on processing such as data collection, storage, forwarding, and analysis, meets requirements of data laws and regulations, considers both data sharing and security, and provides data as a service product. The data service information may be an identifier of the data service. Different applications (data consumers) may have different data service requirements. Therefore, different applications correspond to different data services, and data service information may be used to distinguish between different data services.
For example, the data service includes federated learning, distributed learning, and data aggregation; and the data service information is the data service identifier. For example, a data service identifier (identifier, ID) of the federated learning service is DS_ID 1, a data service identifier of the distributed learning service is DS_ID 2, and a data service identifier of the data aggregation service is DS_ID 3. Only some data services are listed above, and the listed data service identifiers are merely examples. This is not limited in this application.
Specifically, the data processing apparatus #0 may determine the data service information based on the obtained service data, and determine, based on a correspondence between the data service information and data packet transmission path information, transmission path information corresponding to a specific data service. The transmission path information may be encapsulated into the data packet.
Alternatively, the data processing apparatus #0 obtains the service data, obtains the data service information corresponding to the service data, and determines, based on a correspondence between the data service information and data packet transmission path information, transmission path information corresponding to a specific data service. The transmission path information may be encapsulated into the data packet.
It may be understood that the data processing apparatus #0 locally stores the correspondence between the data service information and the data packet transmission path information, or the data processing apparatus #0 may obtain the correspondence from a data orchestration apparatus. A manner of obtaining the correspondence is not limited in this application.
For example, the transmission path information is a transmission path identifier. For example, the transmission path identifier is a data pipeline identifier DP_ID. If the service data obtained by the data processing apparatus #0 is data used for federated learning, and a transmission path identifier corresponding to the federated learning identifier DS_ID 1 is DP_ID 1, the data processing apparatus #0 may determine that a transmission path identifier of a data packet carrying federated learning data is DP_ID 1.
In the foregoing example, the transmission path information is an identifier. In this way, header information of the data packet is simple, to reduce communication resource overheads of a header of the data packet.
The identification information of the data processing apparatus #0 may be pre-allocated by the data orchestration apparatus (for example, the data orchestration apparatus shown in
In a solution in which the data orchestration apparatus allocates an identifier to a data processing apparatus, identification information of each data processing apparatus does not need to be obtained (if the identification information of the data processing apparatus is an identifier in the underlay network, the data orchestration apparatus needs to obtain identification information of each data processing apparatus in the underlay network before calculating transmission path information), so that the data orchestration apparatus can calculate the transmission path information more quickly and efficiently based on a data service requirement and the identification information of each data processing apparatus.
In a solution in which the data processing apparatus reuses the identification information of the data processing apparatus in the underlay network, the identification information of the data processing apparatus in the overlay network is consistent with that in the underlay network. Therefore, there is no need to locally store two pieces of identification information, to save storage resources of the data processing apparatus.
For example, the identifier DA_ID allocated by the data orchestration apparatus to the data processing apparatus #0 is 2, and DA_ID: 2 is a new identifier allocated in the overlay network. Certainly, an identifier of the data processing apparatus #0 in the underlay network may also be reused as an identifier of the data processing apparatus #0. This is not limited in this application.
The data processing apparatus #0 may determine the data processing apparatus #1 based on an identifier of a link between the data processing apparatus #0 and another data processing apparatus. The another data processing apparatus is a data processing apparatus adjacent to the data processing apparatus #0 in the overlay network. Alternatively, a link identifier may be pre-allocated by the data orchestration apparatus. In other words, the data orchestration apparatus may allocate, to each data processing apparatus in the overlay network, an identifier of a link between the data processing apparatus and a neighboring data processing apparatus.
As shown in
It should be understood that the example in
A link identifier LN_ID of the DA #3 includes the following values:
A link identifier LN_ID of the DA #4 includes the following values:
A link identifier LN_ID of the DA #5 includes the following values:
A link identifier LN_ID of the DA #7 includes the following values:
As shown in
Specifically, after determining the transmission path information based on the data service information, the data processing apparatus #0 may determine, based on the transmission path information and the identification information of the data processing apparatus #0, an identifier of a link between the data processing apparatus #0 and the next processing node of the data packet (carrying the foregoing service data), and then may determine the next processing node, that is, the data processing apparatus #1.
For example, the data processing apparatus #0 may perform modulo calculation on the transmission path information, and determine the data processing apparatus #1 based on a calculation result. If the transmission path information DP_ID is 25, and the identifier DA_ID of the data processing apparatus #0 is x, LN_ID=DP_ID mod (DA_ID)=25 mod (x)=y, where y is the identifier of the link from the data processing apparatus #0 to the data processing apparatus #1, and “mod” represents modulo. As shown in
In a solution in which the data processing apparatus #0 calculates the link identifier based on the transmission path information and the identifier of the data processing apparatus #0 and determines the data processing apparatus #1 based on the link identifier, the transmission path information does not need to be locally stored in the first apparatus, thereby saving storage resources on a first apparatus side. In addition, the data processing apparatus #1 may be determined through calculation. Therefore, a transmission path of the data packet may be not fixed, and data processing and forwarding are relatively flexible.
It may be understood that
In the solution of the foregoing example, the data processing apparatus may calculate the next processing node of the data packet based on the transmission path identifier and the identifier of the data processing apparatus, and does not need to locally store, in the data processing apparatus, identification information of each processing node through which the data packet is to pass, thereby saving storage resources of the data processing apparatus. Alternatively, the data packet does not need to carry identification information of each processing node through which the data packet is to pass, thereby reducing communication resource overheads of the data packet.
S230: The data processing apparatus #0 sends a data packet #1 to the data processing apparatus #1. The data packet #1 includes the transmission path information and a data payload corresponding to the service data. Correspondingly, the data processing apparatus #1 receives the data packet #1.
For example, the data processing apparatus #0 processes the service data to obtain the data payload, and encapsulates the data payload into the data packet #1. A header of the data packet #1 includes the transmission path identifier (for example, DP_ID: 25).
Optionally, the data packet #1 further includes the data service identifier (for example, DS_ID 1).
Optionally, the data packet #1 further includes statistics collection mode information. The statistics collection mode information indicates a statistics collection manner of statistical information. The statistical information includes data packet quantity information or data packet byte quantity information, or the statistical information includes other quantity information. This is not limited in this application.
The data packet includes the statistics collection mode information. In this case, the processing node of the data packet can determine the statistics collection manner of the statistical information based on the statistics collection mode information indicated in the data packet, to perform statistics collection and reporting on the statistical information according to an indication in the data packet.
For example, the statistics collection mode information is a statistics collection mode code. The following describes meanings of different statistics collection mode codes:
The data processing apparatus #0 may perform statistics collection and reporting on the statistical information to the data orchestration apparatus after the data packet is sent. The data processing apparatus #1 may perform statistics collection and reporting on the statistical information to the data orchestration apparatus after the data packet arrives or is sent. This is not limited in this application.
The statistics collection mode code and the meaning corresponding to the statistics collection mode code may be predefined or preconfigured by the data orchestration apparatus and each processing node (for example, the data processing apparatus #0 and the data processing apparatus #1). This is not limited in this application. It should be noted that the meanings indicated by the foregoing different statistics collection mode codes may be interchanged. This is not limited in this application.
For example, the data processing apparatus #0 and the data processing apparatus #1 are nodes in the overlay network. Therefore, in an actual transmission process of the data packet #1, the data processing apparatus #0 may determine a routing path from the data processing apparatus #0 to the data processing apparatus #1 in an addressing manner of the underlay network, to send the data packet #1 to the data processing apparatus #1.
For example, if an identifier of the data processing apparatus #1 in the overlay network is the same as an address of the data processing apparatus #1 in the underlay network, the data processing apparatus #0 may determine the routing path from the data processing apparatus #0 to the data processing apparatus #1 in the underlay network based on the identifier of the data processing apparatus #1, and transmit the data packet #1 to the data processing apparatus #1 through the routing path.
For another example, an identifier of the data processing apparatus #1 in the overlay network is different from an address of the data processing apparatus #1 in the underlay network. In this implementation, the data processing apparatus #0 may locally store a correspondence between the identifier of the data processing apparatus #1 in the overlay network and the address of the data processing apparatus #1 in the underlay network, determine the address of the data processing apparatus #1 based on the correspondence, determine the routing path from the data processing apparatus #0 to the data processing apparatus #1 in the underlay network, and transmit the data packet #1 to the data processing apparatus #1 through the routing path.
Optionally, the method 200 further includes:
S201: The data orchestration apparatus sends correspondence information. The correspondence information indicates a correspondence between data service information and transmission path information. Correspondingly, the data processing apparatus #0 receives the correspondence information.
Optionally, the data processing node (for example, the data processing apparatus shown in
Optionally, the data orchestration apparatus allocates, to each data processing apparatus in the overlay network, an identifier of a link between the data processing apparatus and another neighboring data processing apparatus.
The foregoing process of allocating an identifier and a link identifier to each data processing apparatus may be referred to as an initialization process of the overlay network.
It should be understood that S201 may be performed before S210, or S201 may be performed before S220. This is not limited in this application.
In a possible implementation, in the initialization process of the overlay network, the identifier and the link identifier of each data processing apparatus comply with the following allocation principles:
First principle: Identifiers of different data processing apparatuses are coprime.
Second principle: For a specific data processing apparatus, an identifier of the data processing apparatus is greater than a total link quantity.
For example, different DA_IDs do not include a common divisor greater than 1. As shown in
According to the foregoing allocation principle, when the data processing apparatus uses a residue number system algorithm to calculate the link identifier and determine the next processing node, residue numbers of different transmission path identifiers modulo the identifier of the data processing apparatus are sufficient to identify different links. In this case, the residue numbers obtained through the modulo operation are link identifiers. The total quantity of links (that is, the total link quantity) may be understood as a total quantity of link identifiers (that is, a link identifier quantity sum).
Optionally, before the data orchestration apparatus sends the correspondence information, the data orchestration apparatus calculates transmission paths for different data service requests based on a data service request of an application and a capability/function of the data processing apparatus in the overlay network.
For example, the data orchestration apparatus obtains, through calculation based on a data service request of a federated learning application, a data packet transmission path of federated learning: the DA #4→the DA #3→the DA #5→the upper-layer application. In this case, the DA #4 is an ingress DA, that is, a first processing node of the data packet. This may also be understood as a data processing apparatus that generates a data packet.
Optionally, after calculating a transmission path for a specific data service request, the data orchestration apparatus further calculates transmission path information.
For example, the transmission path information is a transmission path identifier, and the transmission path identifier may be determined by using the residue number system (residue number system, RNS) algorithm or may be determined by using another algorithm. This is not limited in this application.
Specifically, if the transmission path determined by the data orchestration apparatus is the DA #4→the DA #3→the DA #5→the upper-layer application, with reference to
The following is an example of calculating the transmission path identifier:
It may be understood that the foregoing process of calculating the transmission path identifier is an example of the RNS algorithm, and an algorithm used for the transmission path identifier is not limited in this application.
After calculating transmission path information for different data services, the data orchestration apparatus generates a correspondence between data service information and transmission path information, and sends the correspondence information to the corresponding data processing apparatus #0. The correspondence indicates the correspondence between the data service information and the transmission path information.
For example, the correspondence generated by the data orchestration apparatus is, for example, Table 1.
As shown in Table 1, one data service identifier may correspond to a plurality of transmission path identifiers, and the plurality of transmission path identifiers may correspond to one data processing apparatus #0 or may correspond to a plurality of data processing apparatuses #0. For example, DS_ID 1 corresponds to DP_ID 1 and DP_ID 2, and the data orchestration apparatus sends information about a correspondence between DS_ID 1 and DP_ID 1 to the DA #1, and sends information about a correspondence between DS_ID 1 and DP_ID 2 to the DA #3. DS_ID 2 corresponds to DP_ID 1 and DP_ID 2, and the data orchestration apparatus sends information about a correspondence between DS_ID 2 and each of DP_ID 1 and DP_ID 2 to the DA #1. One data processing apparatus #0 corresponds to one data service identifier, and corresponds to two or more transmission path identifiers that may be applied to a data multicast or data distribution scenario. Data multicast means that one data processing apparatus sends a same data packet (the same data packet corresponds to one data service identifier, for example, the same data packet corresponds to a data service identifier #1) to two or more data processing apparatuses. Data distribution means that one data processing apparatus sends different data packets (different data packets correspond to one data service identifier, for example, different data packets correspond to a data service identifier #2) to two or more data processing apparatuses. A plurality of data processing apparatuses #0 correspond to one data service identifier, and correspond to a plurality of transmission path identifiers that may be applied to a data aggregation scenario. Data aggregation means that a plurality of data processing apparatuses send data packets to one network node (for example, a data processing apparatus or an application), and data packets sent by different data processing apparatuses correspond to a same data service identifier.
It may be understood that Table 1 is merely an example, and Table 1 may further be transformed to another form. This is not limited in this application. For example, Table 1 is transformed so that a first column is the data processing apparatus #0, and a second column is the data service information. Details are not listed one by one herein.
It may be further understood that the correspondence information sent by the data orchestration apparatus to the data processing apparatus #0 in S201 may indicate a correspondence between one or more pieces of data service information and transmission path information. In other words, for one piece of data service information, the data orchestration apparatus may send a correspondence between the data service information and transmission path information to a related data processing apparatus #0. For example, with reference to Table 1, for DS_ID 1, the data orchestration apparatus sends the information about the correspondence between DS_ID 1 and DP_ID 1 to the DA #1, and sends the information about the correspondence between DS_ID 1 and DP_ID 2 to the DA #3. Alternatively, for the data processing apparatus #0, the data orchestration apparatus may send a correspondence between data service information and transmission path information to each data processing apparatus #0, where the correspondence is related to the data processing apparatus #0. For example, for the DA #1, the data orchestration apparatus sends the information about the correspondence between DS_ID 1 and DP_ID 1, and the information about the correspondence between DS_ID 2 and each of DP_ID 1 and DP_ID 2 to the DA #1. Correspondences of different data service information may be sent simultaneously or separately. This is not limited in this application. From the correspondence information sent by the data orchestration apparatus, the DA #1 may select, based on the obtained data service information, a correspondence for use. For example, if the data service information obtained by the DA #1 is DS_ID 1, it may be determined, based on the correspondences of different data service information, that data packet transmission path information corresponding to DS_ID 1 is DP_ID 1.
Optionally, after receiving the correspondence information, the data processing apparatus #0 stores the transmission path information corresponding to the data service information.
For example, the data processing apparatus #0 locally stores a correspondence table between data service information and transmission path information. After receiving the correspondence information, the data processing apparatus #0 writes, into the correspondence table, the transmission path information corresponding to the data service information.
Optionally, after storing the transmission path information corresponding to the data service information, the data processing apparatus #0 sends acknowledgment information to the data orchestration apparatus. The acknowledgment information indicates that the data processing apparatus #0 has stored the transmission path information corresponding to the data service information. After receiving the acknowledgement information, the data orchestration apparatus may acknowledge that the data processing apparatus #0 has stored the transmission path information corresponding to the data service information.
In a possible implementation, the data service information in S201 includes data service information #1, and the data service information #1 corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1. This implementation may be applied to the data multicast scenario.
It may be understood that the data service information #1 corresponds to the first data service information in the summary.
S230 may be replaced with the following:
The data processing apparatus #0 sends N1 data packets to at least one data processing apparatus #1. One data processing apparatus #1 is associated with at least one data packet. Each data packet includes one of N1 pieces of transmission path information. Herein, N1 is an integer greater than 1.
For example, the data service information #1 is DS_ID 1, and DS_ID 1 corresponds to three pieces of transmission path information (that is, N1=3): respectively DP_ID 0, DP_ID 1, and DP_ID 2. The data processing apparatus #0 may determine, based on the identifier of the data processing apparatus #0 and the foregoing transmission path information, three data processing apparatuses #1: respectively the DA #0, the DA #1, and the DA #2. In this case, the data processing apparatus #0 separately sends a data packet #2 to the DA #0, where a header of the data packet #2 includes DP_ID 0; sends a data packet #3 to the DA #1, where a header of the data packet #3 includes DP_ID 1; and sends a data packet #4 to the DA #2, where a header of the data packet #4 includes DP_ID 2. Data payloads in the data packet #2, the data packet #3, and the data packet #4 are the same.
In a possible implementation, the data service information in S201 includes data service information #2, and the data service information #2 corresponds to N2 pieces of transmission path information. Herein, N2 is an integer greater than or equal to 1. This implementation may be applied to the data distribution scenario.
It may be understood that the data service information #2 corresponds to the first data service information in the summary.
S230 may be replaced with the following:
The data processing apparatus #0 sends N2 data packets to at least one data processing apparatus #1. One data processing apparatus #1 is associated with at least one data packet. Each data packet includes one of N2 pieces of transmission path information. The N2 data packets include two data packets with different data payloads.
For example, the data service information #2 is DS_ID 2, and DS_ID 2 corresponds to three pieces of transmission path information (that is, N2=3): respectively DP_ID 0, DP_ID 1, and DP_ID 2. The data processing apparatus #0 may determine, based on the identifier of the data processing apparatus #0 and the foregoing transmission path information, three data processing apparatuses #1: respectively the DA #0, the DA #1, and the DA #2. In this case, the data processing apparatus #0 sends a data packet #5 to the DA #0, where a header of the data packet #5 includes DP_ID 0; sends a data packet #6 to the DA #1, where a header of the data packet #6 includes DP_ID 1; and sends a data packet #7 to the DA #2, where a header of the data packet #7 includes DP_ID 1. Data payloads in two data packets in the data packet #5, the data packet #6, and the data packet #7 are different.
In a possible implementation, the data service information #3 corresponds to M pieces of transmission path information, and the M pieces of transmission path information correspond to M1 data processing apparatuses #0. Herein, M is an integer greater than 1, and M1 is less than or equal to M. The correspondence information in S201 indicates a correspondence between the data service information #3 and at least one of the M pieces of transmission path information. This implementation may be applied to the data aggregation scenario.
It may be understood that the data service information #3 corresponds to the first data service information in the summary.
For example, the data service information #3 is DS_ID 3, and DS_ID 3 corresponds to three pieces of transmission path information (that is, M=3): respectively DP_ID 0, DP_ID 1, and DP_ID 2. A data processing apparatus #0 corresponding to DP_ID 0 is the DA #0, a data processing apparatus #0 corresponding to DP_ID 1 is the DA #1, and a data processing apparatus #0 corresponding to DP_ID 2 is the DA #2 (M1=M=3). In this case, the DA #0 sends a data packet #8, where a header of the data packet #8 includes DP_ID 0; the DA #1 sends a data packet #9, where a header of the data packet #9 includes DP_ID 1; and the DA #2 sends a data packet #10, where a header of the data packet #10 includes DP_ID 2. Final processing nodes of the data packet #8, the data packet #9, and the data packet #10 may be a same node.
For example, DS_ID 3 corresponds to three pieces of transmission path information (that is, M=3): respectively DP_ID 0, DP_ID 1, and DP_ID 2. A data processing apparatus #0 corresponding to DP_ID 0 is the DA #0, and data processing apparatuses #0 corresponding to DP_ID 1 and DP_ID 2 both are the DA #1 (M1=2). In this case, the DA #0 sends a data packet #11, where a header of the data packet #11 includes DP_ID 0; the DA #1 sends a data packet #12, where a header of the data packet #12 includes DP_ID 1; and the DA #1 sends a data packet #13, where a header of the data packet #13 includes DP_ID 2. Final processing nodes of the data packet #11, the data packet #12, and the data packet #13 may be a same node.
It may be understood that different data service identifiers may correspond to a same transmission path identifier, or different data service identifiers may correspond to different transmission path identifiers. This is not limited in this application. The foregoing examples do not limit the protection scope of this application.
In the foregoing enumerated application scenarios of data packet processing and forwarding, for example, data multicast, data distribution, and data aggregation, a flexible topology of different data packet transmission paths is implemented, and flexibility of data packet processing and forwarding is improved.
Optionally, the method 200 further includes:
S231: The data orchestration apparatus sends configuration information. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information. Correspondingly, the data processing apparatus #0 receives the configuration information.
For example, when the data packet statistics collection mode is configured in the configuration information, the data processing apparatus #0 may collect statistics of a data packet based on the statistics collection mode, and may encapsulate the statistics collection mode into the data packet, to notify, of the mode in which statistics collection is performed on the data packet, a processing node through which the data packet is to pass. For specific statistics collection modes, refer to the example in S230. Details are not described herein again. When the data packet statistics collection periodicity is configured in the configuration information, the data processing apparatus #0 may collect statistics of a data packet based on the statistics collection periodicity. When the valid time of the transmission path information is configured in the configuration information, the data processing apparatus #0 may transmit a data packet based on the transmission path information within the valid time of the transmission path information.
Optionally, the data processing apparatus #0 sends acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge the configuration information. After receiving the acknowledgment information, the data orchestration apparatus determines that the configuration information has been accurately received by the data processing apparatus #0, in other words, the configuration operation has been completed.
Optionally, the method 200 further includes:
S232: The data orchestration apparatus sends update information. The update information is used to update the transmission path information corresponding to the data service information. Correspondingly, the data processing apparatus #0 receives the update information.
For example, the data processing apparatus #0 locally stores the correspondence between the data service information and the transmission path information. After receiving the update information, the data processing apparatus #0 may update, based on the update information, transmission path information corresponding to a specific piece of data service information. For example, the data processing apparatus #0 locally stores a correspondence between DS_ID 1 and DP_ID 1, and the update information includes a correspondence between DS_ID 1 and DP_ID 2. The data processing apparatus #0 may update the correspondence between DS_ID 1 and DP_ID 1 to the correspondence between DS_ID 1 and DP_ID 2 based on the update information. After the update, a data packet belonging to DS_ID 1 is transmitted according to DP_ID 2.
Optionally, the data processing apparatus #0 sends acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge the update information. After receiving the acknowledgment information, the data orchestration apparatus determines that the update information has been accurately received by the data processing apparatus #0, in other words, the update operation has been completed.
The transmission path information may be updated instead of being always fixed. Therefore, the data processing apparatus may transmit a data packet based on updated transmission path information, thereby improving flexibility of data packet transmission and processing.
Optionally, the method 200 further includes:
S233: The data orchestration apparatus sends read information. The read information is used to read transmission path information corresponding to a specific piece of data service information. Correspondingly, the data processing apparatus #0 receives the read information.
For example, the read information includes DS_ID 0. This indicates that the data processing apparatus #0 sends the transmission path information corresponding to DS_ID 0.
Optionally, the data processing apparatus #0 sends read response information to the data orchestration apparatus. The read response information includes transmission path information corresponding to a specific piece of data service information. After receiving the read response information, the data orchestration apparatus determines that the read information has been accurately received by the data processing apparatus #0, in other words, the read operation has been completed.
For example, the read response information includes DP_ID 0 corresponding to DS_ID 0.
It should be understood that in a debugging or troubleshooting phase, the data orchestration apparatus may determine based on the transmission path information in the read response information whether transmission path information corresponding to a specific piece of data service information is accurate, to help troubleshooting performed by the data orchestration apparatus, thereby improving system performance.
Optionally, the method 200 further includes:
S234: The data orchestration apparatus sends delete information. The delete information is used to delete transmission path information corresponding to a specific piece of data service information. Correspondingly, the data processing apparatus #0 receives the delete information.
For example, when a data service corresponding to the specific piece of data service information has ended, the data orchestration apparatus may indicate, by using the delete information, the data processing apparatus #0 to delete the transmission path information corresponding to the data service information. The delete information may include the transmission path information (for example, the transmission path identifier).
For example, the data orchestration apparatus obtains or receives a data service request. The data service request is used to request to delete the transmission path information corresponding to the data service information. The data orchestration apparatus sends the delete information to indicate the data processing apparatus #0 to delete the transmission path information corresponding to the data service information. The delete information may include the transmission path information (for example, the transmission path identifier).
Optionally, the data processing apparatus #0 sends acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge the delete information. After receiving the acknowledgment information, the data orchestration apparatus determines that the delete information has been accurately received by the data processing apparatus #0, in other words, the delete operation of the transmission path information has been completed. Correspondingly, the data orchestration apparatus may also delete the transmission path information corresponding to the data service information.
In S234, the data processing apparatus #0 deletes the transmission path information according to an instruction of the data orchestration apparatus. In addition, the data processing apparatus #0 may periodically trigger deletion of the transmission path information corresponding to the data service information without an instruction of the data orchestration apparatus. After the deletion is completed, the data orchestration apparatus is notified. The data orchestration apparatus may also delete the transmission path information corresponding to the data service information.
After the specific data service ends or the transmission path information corresponding to the specific piece of data service information is deleted according to the data service request, storage resources of the data orchestration apparatus or the data processing apparatus can be saved.
It may be understood that the acknowledgment information in S231 to S234 may enable the data orchestration apparatus to determine whether the data processing apparatus #0 correctly receives the information (for example, the configuration information, the update information, the read information, or the delete information) and whether an instruction operation of the information is completed, thereby avoiding a waste of communication resources caused due to repeated transmission of the information because the data orchestration apparatus does not know whether the information has been correctly received by the data processing apparatus #0 and whether the instruction operation of the information is completed.
Optionally, the method 200 further includes:
S240: The data processing apparatus #0 sends statistical information. The statistical information includes data packet quantity information or data packet byte quantity information. Correspondingly, the data orchestration apparatus receives the statistical information.
In a possible implementation, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
Example #1: A format of a statistical packet including statistical information is shown in the following Table 2:
In this example, the identifier DP_ID 0 is used to identify that the statistical information indicates to count a quantity of packets at a granularity of transmission path information, the statistical value in the statistical packet is a quantity of data packets corresponding to DP_ID 0, and the time #1 is a time of statistics collection on the statistical information or a time of encapsulating the statistical packet. This is not limited in this application. The timestamp below is also understood herein. Details are not described below.
The statistical value is nPacket(DPi)=Σj=1mnPacket(DSj), where nPacket(DPi) represents a quantity of data packets corresponding to DP_ID i (i=0), nPacket(DSj) represents a quantity of data packets of a specific data service corresponding to DP_ID 0, and m represents a quantity of data services corresponding to DP_ID 0.
Example #2: A format of a statistical packet including statistical information is shown in the following Table 3:
In this example, the identifier DP_ID 0 is used to identify that the statistical information indicates to count a quantity of bytes at a granularity of transmission path information, and the statistical value in the statistical packet is a quantity of bytes corresponding to DP_ID 0.
The statistical value is nByte(DPi)=Σj=1m nByte(DSj), where nByte(DPi) represents a quantity of bytes in a data packet corresponding to DP_ID i (i=0), nByte(DSj) represents a quantity of bytes of a specific data service corresponding to DP_ID 0, and m represents a quantity of data services corresponding to DP_ID 0.
Example #3: A format of a statistical packet including statistical information is shown in the following Table 4:
In this example, the identifier DS_ID 0 is used to identify that the statistical information indicates to count a quantity of packets at a granularity of data service information, and the statistical value in the statistical packet is a quantity of data packets corresponding to DS_ID 0.
The statistical value is nPacket(DSi)=Σj=1mnPacket(DPj), where nPacket(DSi) represents a quantity of data packets corresponding to DS_ID i (i=0), nPacket(DPj) represents a quantity of data packets on a specific transmission path corresponding to DS_ID 0, and m represents a quantity of transmission paths corresponding to DS_ID 0.
Example #4: A format of a statistical packet including statistical information is shown in the following Table 5:
In this example, the identifier DS_ID 0 is used to identify that the statistical information indicates to count a quantity of bytes at a granularity of data service information, and the statistical value in the statistical packet is a quantity of bytes corresponding to DS_ID 0.
The statistical value is nByte(DSi)=Σj=1mnByte(DPj), where nByte(DSi) represents a quantity of bytes in a data packet corresponding to DS_ID i (i=0), nByte(DPj) represents a quantity of bytes on a specific transmission path corresponding to DS_ID 0, and m represents a quantity of transmission paths corresponding to DS_ID 0.
Example #5: The statistical information may also be reported at a granularity of a DS|DP. This is applicable to a scenario in which one DS_ID corresponds to a plurality of DP_IDs, or one DP_ID corresponds to a plurality of DS_IDs. For example, DS_ID 0 corresponds to DP_ID 0, DP_ID 1, and DP_ID 2. nPacket(DSi, DPj)=nPacket(DSi|DPj), nByte(DSi, DPj)=nByte(DSi|DPj), for example, nPacket(DS0, DP0)=nPacket(DS0|DP0), and nByte(DS0, DP0)=nByte(DS0|DP0), where nPacket(DS0|DP0) indicates that a data service identifier is DS_ID 0, a transmission path identifier is a quantity of data packets of DP_ID 0, nByte(DS0|DP0) indicates that a data service identifier is DS_ID 0, and a transmission path identifier is a quantity of bytes in a data packet of DP_ID 0.
It may be understood that reporting of the statistical information may be triggered periodically. In other words, the data processing apparatus #0 may periodically report the statistical information to the data orchestration apparatus. Alternatively, the data orchestration apparatus sends a request to the data processing apparatus #0, and the data processing apparatus #0 performs statistics collection and reporting on the statistical information as requested. This is not limited in this application.
It may be further understood that Table 2 to Table 5 are merely examples, and Table 2 to Table 5 may have other transformations. For example, formats, row content sequences, or column content sequences in Table 2 to Table 5 are transformed; or Table 2 to Table 5 may include some content in the foregoing example tables; or Table 2 to Table 5 may include more content based on content in the foregoing example tables. This is not limited in this application.
The data processing apparatus sends the statistical information to the data orchestration apparatus. In this way, the data orchestration apparatus can learn of a quantity of data packets/bytes passing through the data processing apparatus, so that the data orchestration apparatus determines whether to continue to allocate a data packet to the data processing apparatus subsequently for processing. It is assumed that the statistical information is obtained through statistics collection at a granularity of the transmission path information. In this case, the data orchestration apparatus can determine a quantity of data packets/bytes passing through the data processing apparatus on each transmission path. It is assumed that the statistical information is obtained through statistics collection at a granularity of the data service information. In this case, the data orchestration apparatus can determine quantities of data packets/bytes of different data services processed by the data processing apparatus, to provide a reference for processing of data packets in subsequent coordinated allocation performed by the data orchestration apparatus. Optionally, the method 200 further includes:
S241: The data processing apparatus #1 sends statistical information. The statistical information includes data packet quantity information or data packet byte quantity information. Correspondingly, the data orchestration apparatus receives the statistical information.
This is similar to S240. For specific content, refer to related descriptions in S240. Details are not described again.
It may be understood that, in the method 200, the data processing apparatus #0 corresponds to the first apparatus in the summary, the data processing apparatus #1 corresponds to the second apparatus in the summary, and the data orchestration apparatus corresponds to the third apparatus in the summary.
In the method 200 provided in this application, after obtaining the service data, the data processing apparatus #0 may determine the transmission path information based on the data service information, further determine the next processing node of the service data with reference to the identification information of the data processing apparatus #0, encapsulate processed service data and the transmission path information into the data packet, and transmit the data packet to the next processing node. Subsequently, the data processing apparatus #1 may determine, based on the transmission path information and the identifier of the data processing apparatus #1, a next processing node of the data packet after the data processing apparatus #1. In other words, in this solution, data packet processing can be implemented by another node in a subsequent data packet transmission process. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data use efficiency can be improved.
S410: A data processing apparatus #1 obtains a data packet #A. The first data packet includes transmission path information.
For example, the data processing apparatus #1 is an intermediate processing node of a data packet, the data packet #A may be from the data processing apparatus #0 shown in
S420: The data processing apparatus #1 determines a data processing apparatus #2 based on the transmission path information and identification information of the data processing apparatus #1.
For example, the transmission path information is the transmission path identifier, for example, DP_ID. The data processing apparatus #1 may perform modulo calculation on the transmission path information, and determine the data processing apparatus #2 by using a calculation result. If the transmission path information DP_ID is 25, and an identifier DA_ID of the data processing apparatus #1 is 4, a link identifier LN_ID=DP_ID mod (DA_ID)=25 mod (4)=1, and LN_ID from the data processing apparatus #1 to the data processing apparatus #2 is equal to 1. Therefore, the data processing apparatus #2 can be determined.
It may be understood that identifiers of the data processing apparatus #1 and the data processing apparatus #2 and the link identifier are configured by the data orchestration apparatus. For details about the configuration, refer to the related descriptions in the method 200. Details are not described herein again.
S430: The data processing apparatus #1 sends a data packet #B. The data packet #B includes the transmission path information. A data payload in the data packet #B is obtained by processing a data payload in the data packet #A. Correspondingly, the data processing apparatus #2 receives the data packet #B.
Optionally, the data packet #A and the data packet #B further include a data service identifier (for example, DS_ID 1).
Optionally, the data packet #A and the data packet #B further include statistics collection mode information. The statistics collection mode information indicates a statistics collection manner of statistical information. The statistical information includes data packet quantity information or data packet byte quantity information, or the statistical information includes other quantity information. This is not limited in this application.
It may be understood that, if the data processing apparatus #2 is a final processing node of the data packet, transmission of the data packet ends after the data processing apparatus #2 processes the data payload in the data packet #B. If the data processing apparatus #2 is not a final processing node of the data packet, after processing the data payload in the data packet #B, the data processing apparatus #2 may determine a next processing node of the data packet #B with reference to a manner in which the data processing apparatus #1 determines the data processing apparatus #2, to transmit a processed data packet #B to the next processing node for processing.
Optionally, the method 400 further includes:
S440: The data processing apparatus #1 sends statistical information. The statistical information includes data packet quantity information or data packet byte quantity information. Correspondingly, the data orchestration apparatus receives the statistical information.
This is similar to S241. For specific content, refer to related descriptions in S241. Details are not described again.
Optionally, the method 400 further includes:
S441: The data processing apparatus #2 sends statistical information. The statistical information includes data packet quantity information or data packet byte quantity information. Correspondingly, the data orchestration apparatus receives the statistical information.
This is similar to S241. For specific content, refer to related descriptions in S241. Details are not described again.
The method 200 and the method 400 may be used in combination. For content that is not specifically described in the method 400, refer to the related descriptions in the method 200. For brevity, details are not described again.
According to the method 400 provided in this application, after receiving the data packet, the data processing apparatus #1 (that is, the intermediate processing node of the data packet) may determine the next processing node of the data packet based on the transmission path information in the data packet and the identification information of the data processing apparatus #1, encapsulate the processed data packet and the transmission path information into a data packet, and transmit the data packet to the next processing node. In this solution, data packet processing can be implemented by a data processing apparatus in a data packet transmission process. In this way, a requirement for distributed data processing in a trend of communication sensing and computing convergence can be met, and data use efficiency can be improved.
It may be understood that, for beneficial effects of steps or implementations in the method 400 that are similar to those in the method 200, reference may be made to the descriptions of the related content in the method 200. Details are not described herein again.
It may be further understood that, in the method 400, the data processing apparatus #1 corresponds to the first apparatus in the summary, the data processing apparatus #2 corresponds to the second apparatus in the summary, and the data orchestration apparatus corresponds to the third apparatus in the summary.
The method 200 and the method 400 describe a data packet forwarding mechanism. In the forwarding mechanism, the data processing apparatus #0 is stateful (for example, the data processing apparatus #0 locally stores some forwarding information configured by the data orchestration apparatus), and the data processing apparatus #1 is stateless (for example, the data processing apparatus #1 does not locally store forwarding information configured by the data orchestration apparatus). In other words, when forwarding a data packet, the data processing apparatus #1 may determine a next processing node of the data packet based on transmission path information in the data packet and the identification information of the data processing apparatus #1, to transmit the data packet. Therefore, the data processing apparatus #1 may locally store no correspondence between the data service information and the transmission path information. If there is another forwarding mechanism when the data processing apparatus #0 and the data processing apparatus #1 forward data packets, the data processing apparatus #0 and the data processing apparatus #1 may select a forwarding mechanism by using the following method.
In a possible implementation, a forwarding mechanism of the data processing apparatus #0 may be determined based on a configuration, and the configuration may be determined based on information such as a capability of the data processing apparatus #0.
For example, if the correspondence between the data service information and the transmission path information is locally configured in the data processing apparatus #0, that is, the data processing apparatus #0 is stateful, the data processing apparatus #0 may transmit a data packet based on the method 200. If the correspondence between the data service information and the transmission path information is not locally configured in the data processing apparatus #0, that is, the data processing apparatus #0 is stateless, the data processing apparatus #0 may transmit a data packet based on a forwarding mechanism other than the forwarding mechanism in the method 200. This is not limited in this application. For example, the data processing apparatus #0 locally stores information about each processing node on the data packet transmission path, and the data processing apparatus #0 may transmit the data packet based on the information about the processing node on the transmission path.
In a possible implementation, the data processing apparatus #1 may select an appropriate forwarding mechanism based on a status of the data processing apparatus #1 and a status of the forwarded data packet.
For example, the data processing apparatus #1 is stateless, the data packet includes a status field, and the status field is set to stateless. In this case, the data processing apparatus #1 selects the forwarding mechanism provided in the method 400 to forward the data packet. If the data processing apparatus #1 is stateful and the status field included in the data packet is set to stateless, or the data processing apparatus #1 is stateful and the status field included in the data packet is set to stateful, or the data processing apparatus #1 is stateless and the status field included in the data packet is set to stateful, the data processing apparatus #1 may select another forwarding mechanism to forward the data packet. This is not limited in this application. For example, the data processing apparatus #1 is stateful, the data processing apparatus #1 locally stores the information about each processing node on the data packet transmission path, and the data processing apparatus #1 may transmit the data packet based on the information about the processing node on the transmission path. Alternatively, the data processing apparatus #1 is stateless, the data packet is stateful, the data packet includes the information about each processing node on the transmission path, and the data processing apparatus #1 may transmit the data packet based on the information about the processing node on the transmission path in the data packet.
It may be understood that the data packet is stateful, that is, the data packet carries the forwarding information (for example, the transmission path identifier). In this way, the data processing apparatus through which the data packet passes may not need to store the forwarding information. The data packet is stateless, that is, the data packet does not carry the forwarding information (for example, the transmission path identifier). In this way, the data processing apparatus through which the data packet passes needs to store the forwarding information.
The data processing apparatus may select an appropriate forwarding mechanism as required, thereby improving data packet transmission flexibility and/or efficiency.
From a perspective of a system, the following describes how the data orchestration apparatus configures the transmission path information corresponding to the data service information in some special scenarios mentioned in the method 200 and how the data processing apparatus transmits the data packet based on the transmission path information.
In
The DO determines, based on a capability/function of each processing node and a specific piece of data service information such as DS_ID 3 indicating data aggregation, three paths corresponding to DS_ID 3, that is, a DP 1, a DP 2, and a DP 3. A data packet transmission path corresponding to the DP 1 is a DA #4 (corresponding to DA_ID: 4)→a DA #3 (corresponding to DA_ID: 3)→a DA #13 (corresponding to DA_ID: 13). A data packet transmission path corresponding to the DP 2 is a DA #7 (corresponding to DA_ID: 7)→a DA #11 (corresponding to DA_ID: 11)→the DA #13 (corresponding to DA_ID: 13). A data packet transmission path corresponding to the DP 3 is a DA #17 (corresponding to DA_ID: 17)→a DA #19 (corresponding to DA_ID: 19)→the DA #13 (corresponding to DA_ID: 13).
The DO calculates a transmission path identifier based on an identifier of a processing node and a link identifier corresponding to the processing node. Details are as follows:
According to the foregoing formula, the following is obtained through calculation: DP_ID corresponding to the DP 2 is equal to 156.
According to the foregoing formula, the following is obtained through calculation: DP_ID corresponding to the DP 3 is equal to 6785.
The DO sends a configuration 1 to the DA #4. The configuration 1 includes a correspondence between DS_ID 3 and DP_ID: 65. The DO sends a configuration 2 to the DA #7. The configuration 2 includes a correspondence between DS_ID 3 and DP_ID: 156. The DO sends a configuration 3 to the DA #17. The configuration 3 includes a correspondence between DS_ID 3 and DP_ID: 6785.
For example, the DA #4 (corresponding to the data processing apparatus #0 in the foregoing description) is configured to collect temperatures of an area #1 at different times in a period of time, the DA #7 (corresponding to the data processing apparatus #0 in the foregoing description) is configured to collect temperatures of an area #2 at different times in a period of time, and the DA #17 (corresponding to the data processing apparatus #0 in the foregoing description) is configured to collect temperatures of an area #3 at different times in a period of time.
After collecting the temperatures of the area #1 at different times in the period of time, the DA #4 encapsulates the collected temperatures into a data packet #a1. A header of the data packet #a1 includes DP_ID: 65. The DA #4 sends the data packet #a1 to the DA #3 (corresponding to the data processing apparatus #1 in the foregoing description). After receiving the data packet #a1, the DA #3 processes data (that is, the temperatures) in the data packet #a1, for example, obtains an average temperature #1 of the area #1 through processing, determines a next processing node, that is, the DA #13 based on DP_ID 65 and an identifier of the DA #3, and sends a data packet #a2 to the DA #13. The data packet #a2 includes the average temperature #1 of the area #1 and DP_ID 65.
After collecting the temperatures of the area #2 at different times in the period of time, the DA #7 encapsulates the collected temperatures into a data packet #b1. A header of the data packet #b1 includes DP_ID: 156. The DA #7 sends the data packet #b1 to the DA #11 (corresponding to the data processing apparatus #1 in the foregoing description). After receiving the data packet #b1, the DA #11 processes data (that is, the temperatures) in the data packet #b1, for example, obtains an average temperature #2 of the area #2 through processing, determines a next processing node, that is, the DA #13 based on DP_ID 156 and an identifier of the DA #11, and sends a data packet #b2 to the DA #13. The data packet #b2 includes the average temperature #2 of the area #2 and DP_ID 156.
After collecting the temperatures of the area #3 at different times in the period of time, the DA #17 encapsulates the collected temperatures into a data packet #c1. A header of the data packet #c1 includes DP_ID: 6785. The DA #17 sends the data packet #c1 to the DA #19 (corresponding to the data processing apparatus #1 in the foregoing description). After receiving the data packet #c1, the DA #19 processes data (that is, the temperatures) in the data packet #c1, for example, obtains an average temperature #3 of the area #3 through processing, determines a next processing node, that is, the DA #13 based on DP_ID 6785 and an identifier of the DA #19, and sends a data packet #c2 to the DA #13. The data packet #c2 includes the average temperature #3 of the area #3 and DP_ID 6785.
After receiving the data packet #a2, the data packet #b2, and the data packet #c2, the DA #13 processes the average temperature #1, the average temperature #2, and the average temperature #3 in the packets to obtain an average temperature #4 of the area #1, the area #2, and the area #3. The average temperature #4 is a processing result of the data aggregation service. In addition, a link identifier calculated by the DA #13 based on the DP_IDs in the data packet #a2, the data packet #b2, and the data packet #c2 is 0. In other words, the average temperature #4 does not need to be sent to another apparatus.
In
The DO determines, based on a capability/function of each processing node and a specific piece of data service information such as DS_ID 1 indicating federated learning, three paths corresponding to DS_ID 1, that is, a DP #1, a DP #2, and a DP #3. A data packet transmission path corresponding to the DP #1 is a DA #5 (corresponding to DA_ID: 5)→a DA #3 (corresponding to DA_ID: 3)→a DA #7 (corresponding to DA_ID: 7). A data packet transmission path corresponding to the DP #2 is a DA #13 (corresponding to DA_ID: 13)→a DA #11 (corresponding to DA_ID: 11)→the DA #7. A data packet transmission path corresponding to the DP #3 is a DA #23 (corresponding to DA_ID: 23)→a DA #19 (corresponding to DA_ID: 19)→the DA #7.
In the example in
Specifically, after the DO determines a federated learning path through calculation, for how to send a configuration #1, a configuration #2, and a configuration #3 to the DA #5, the DA #13, and the DA #23, specific content included in the configuration #1, the configuration #2, and the configuration #3, how the DA #5, the DA #13, and the DA #23 transmit data packets based on the configuration #1, the configuration #2, and the configuration #3, and specific content included in the data packet, refer to the example of data aggregation described in
DS_ID 1 further corresponds to three paths, that is, a DP #4, a DP #5, and a DP #6. A data packet transmission path corresponding to the DP #4 is the DA #7→the DA #3→the DA #5. A data packet transmission path corresponding to the DP #5 is the DA #7→the DA #11→the DA #13. A data packet transmission path corresponding to the DP #6 is the DA #7→the DA #19→the DA #23.
The DO calculates a transmission path identifier based on an identifier of a processing node and a link identifier corresponding to the processing node. Details are as follows:
According to the foregoing provided formula, the following is obtained through calculation: DP_ID corresponding to the DP 4 is equal to 95.
According to the foregoing provided formula, the following is obtained through calculation: DP_ID corresponding to the DP 5 is equal to 156.
According to the foregoing provided formula, the following is obtained through calculation: DP_ID corresponding to the DP 6 is equal to 1104.
The DO sends a configuration #4 to the DA #7. The configuration #4 includes a correspondence between DS_ID 1 and DP_ID: 95, a correspondence between DS_ID 1 and DP_ID: 156, and a correspondence between DS_ID 1 and DP_ID: 1104.
For example, the DA #7 (corresponding to the data processing apparatus #0 in the foregoing description) is configured to distribute the global model parameter obtained through aggregation to the clients. If the DA #7 divides the global model parameter into a global submodel parameter #1, a global submodel parameter #2, and a global submodel parameter #3, the DA #7 sends a data packet #A1 to the DA #3 (corresponding to the data processing apparatus #1 in the foregoing description), where the data packet #A1 includes a data payload corresponding to the global submodel parameter #1 and DP_ID: 95; sends a data packet #B1 to the DA #11 (corresponding to the data processing apparatus #1 in the foregoing description), where the data packet #B1 includes a data payload corresponding to the global submodel parameter #2 and a DP_ID: 156; and sends a data packet #C1 to the DA #19 (corresponding to the data processing apparatus #1 in the foregoing description), where the data packet #C1 includes a data payload corresponding to the global submodel parameter #3 and DP_ID: 1104.
After receiving the data packet #A1, the DA #3 processes the data payload corresponding to the global submodel parameter #1 in the data packet #A1, for example, decompresses the data payload corresponding to the global submodel parameter #1; and determines a next processing node, that is, the DA #5, based on DP_ID: 95 and the identifier of the DA #3, and sends a data packet #A2 to the DA #5. The data packet #A2 includes the decompressed data payload corresponding to the global submodel parameter #1 and DP_ID: 95.
After receiving the data packet #B1, the DA #11 processes the data payload corresponding to the global submodel parameter #2 in the data packet #B1, for example, decompresses the data payload corresponding to the global submodel parameter #2; and determines a next processing node, that is, the DA #13, based on DP_ID: 156 and the identifier of the DA #11, and sends a data packet #B2 to the DA #13. The data packet #B2 includes the decompressed data payload corresponding to the global submodel parameter #2 and DP_ID: 156.
After receiving the data packet #C1, the DA #19 processes the data payload corresponding to the global submodel parameter #3 in the data packet #C1, for example, decompresses the data payload corresponding to the global submodel parameter #3; and determines a next processing node, that is, the DA #23, based on DP_ID: 1104 and the identifier of the DA #19, and sends a data packet #C2 to the DA #23. The data packet #C2 includes the decompressed data payload corresponding to the global submodel parameter #3 and DP_ID: 1104.
It may be understood that in a federated learning process, there may be a plurality of data aggregation processes and data distribution processes until global model training is completed.
The steps in the dashed lines in the foregoing flowchart are optional steps, and a sequence of the steps is determined based on internal logic of the method. Sequence numbers shown in the foregoing flowchart are merely examples, and do not limit a sequence of the steps in this application.
It should be further understood that the methods provided in embodiments of this application may be used separately, or may be used in combination. This is not limited in this application. Various implementations provided in embodiments of this application may be used separately, or may be used in combination. This is not limited in this application. Various examples provided in embodiments of this application may be used separately, or may be used in combination. This is not limited in this application.
It should be further understood that the term “and/or” in this application describes only an association relationship between associated objects and represents that three relationships may exist. For example, A and/or B may represent the following three cases: Both A and B exist, only A exists, and only B exists, where A and B may be singular or plural. In addition, the character “/” in this specification usually indicates an “or” relationship between the associated objects, but may also indicate an “and/or” relationship. For details, refer to the context for understanding.
In embodiments of this application, unless otherwise specified, “a plurality of” means two or more.
In embodiments of this application, “at least one item (piece)” means one or more items (pieces), and “at least two items (pieces)” and “a plurality of items (pieces)” mean two or more items (pieces). “At least one of the following items (pieces)” or a similar expression thereof indicates any combination of these items, including a single item (piece) or any combination of a plurality of items (pieces). For example, at least one of a, b, or c may indicate: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural.
It should be noted that an execution entity shown in
The foregoing describes the method embodiments in embodiments of this application with reference to the accompanying drawings, and the following describes apparatus embodiments in embodiments of this application. It may be understood that the descriptions of the method embodiments may correspond to the descriptions of the apparatus embodiments. Therefore, for a part that is not described, refer to the foregoing method embodiments.
It may be understood that, in the foregoing method embodiments, a method and an operation implemented by the data processing apparatus #0 may also be implemented by a component (for example, a chip or a circuit) in the data processing apparatus #0, and a method and an operation implemented by the data processing apparatus #1 may also be implemented by a component (for example, a chip or a circuit) in the data processing apparatus #1. A method and an operation implemented by the data orchestration apparatus may also be implemented by a component (for example, a chip or a circuit) in the data orchestration apparatus.
The solutions provided in embodiments of this application are mainly described above from a perspective of interaction between apparatuses. It may be understood that, to implement the foregoing functions, each apparatus such as a transmitter device or a receiver device includes a corresponding hardware structure and/or software module for performing each function. A person skilled in the art should be able to be aware that, in combination with units and algorithm steps of the examples described in embodiments disclosed in this specification, this application can be implemented by hardware or a combination of hardware and computer software. Whether a specific function is performed by hardware or hardware driven by computer software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
In embodiments of this application, functional modules of a transmitter device or a receiver device may be obtained through division based on the foregoing method examples.
For example, each functional module may be obtained through division based on each function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software functional module. It should be noted that, in embodiments of this application, module division is an example, and is merely logical function division. In actual implementation, another division manner may be used. An example in which each functional module is obtained through division based on each corresponding function is used below for description.
Optionally, the transceiver unit 710 may include a sending unit and a receiving unit. The sending unit is configured to perform a sending operation in the foregoing method embodiment. The receiving unit is configured to perform a receiving operation in the foregoing method embodiment.
It should be noted that the communication apparatus 700 may include the sending unit, but does not include the receiving unit. Alternatively, the communication apparatus 700 may include the receiving unit, but does not include the sending unit. This may be specifically determined based on whether the foregoing solution performed by the communication apparatus 700 includes a sending action and a receiving action.
Optionally, the communication apparatus 700 may further include a memory cell. The memory cell may be configured to store instructions and/or data. The processing unit 720 may read the instructions and/or the data in the memory cell.
In a design, the communication apparatus 700 may be configured to perform an action performed by the data processing apparatus #1 in the foregoing method embodiment. The data processing apparatus #1 may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application.
Optionally, the communication apparatus 700 may be the data processing apparatus #1. The transceiver unit 710 is configured to perform a receiving or sending operation of the data processing apparatus #1 in the foregoing method embodiment. The processing unit 720 is configured to perform an internal processing operation of the data processing apparatus #1 in the foregoing method embodiment.
Optionally, the communication apparatus 700 may be a device including the data processing apparatus #1. Alternatively, the communication apparatus 700 may be a component configured in the data processing apparatus #1, for example, a chip in the data processing apparatus #1. In this case, the transceiver unit 710 may be an interface circuit, a pin, or the like. Specifically, the interface circuit may include an input circuit and an output circuit, and the processing unit 720 may include a processing circuit.
In a possible implementation, the transceiver unit 710 is configured to obtain a first data packet. The first data packet includes transmission path information. The processing unit 720 is configured to determine a data processing apparatus #2 based on the transmission path information and identification information of the data processing apparatus #1. The transceiver unit 710 is configured to send a second data packet to the data processing apparatus #2. The second data packet includes the transmission path information. A data payload in the second data packet is obtained by processing a data payload in the first data packet.
In a possible implementation, the processing unit 720 is specifically configured to: determine an identifier of a link from the first apparatus to the second apparatus based on the transmission path information and the identification information of the first apparatus; and determine the second apparatus based on the link identifier.
In a possible implementation, the transmission path information is a transmission path identifier.
In a possible implementation, the first data packet and the second data packet further include data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
In a possible implementation, the transceiver unit 710 is further configured to send the statistical information to a data orchestration apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
In a possible implementation, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
In a design, the communication apparatus 700 may be configured to perform an action performed by the data processing apparatus #0 in the foregoing method embodiment. The data processing apparatus #0 may be a functional network element in a network; or may be a chip or a circuit in a terminal device, a network device, a core network device, or an operations, administration, and maintenance device; or may be a logical module or software that can implement all or some functions of a terminal device, a network device, a core network device, or an operations, administration, and maintenance device. This is not limited in this application.
Optionally, the communication apparatus 700 may be the data processing apparatus #0. The transceiver unit 710 is configured to perform a receiving or sending operation of the data processing apparatus #0 in the foregoing method embodiment. The processing unit 720 is configured to perform an internal processing operation of the data processing apparatus #0 in the foregoing method embodiment.
Optionally, the communication apparatus 700 may be a device including the data processing apparatus #0. Alternatively, the communication apparatus 700 may be a component configured in the data processing apparatus #0, for example, a chip in the data processing apparatus #0. In this case, the transceiver unit 710 may be an interface circuit, a pin, or the like. Specifically, the interface circuit may include an input circuit and an output circuit, and the processing unit 720 may include a processing circuit.
In a possible implementation, the transceiver unit 710 is configured to obtain service data. The processing unit 720 is configured to determine a data processing apparatus #1 based on data service information and identification information of the data processing apparatus #0. The transceiver unit 710 is further configured to send a third data packet to the data processing apparatus #1. The third data packet includes transmission path information and a data payload corresponding to the service data. The transmission path information is determined based on the data service information.
In a possible implementation, the transmission path information is a transmission path identifier.
In a possible implementation, the transceiver unit 710 is further configured to receive correspondence information from a data orchestration apparatus. The correspondence information indicates a correspondence between the data service information and the transmission path information. The data processing apparatus #1 is determined based on the transmission path information and the identification information of the data processing apparatus #0.
In a possible implementation, the processing unit 720 is specifically configured to: determine an identifier of a link from the first apparatus to the second apparatus based on the data service information, the information about the correspondence between the data service information and the transmission path information, and the identification information of the first apparatus; and determine the second apparatus based on the link identifier.
In a possible implementation, the identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of the second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
In a possible implementation, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
In a possible implementation, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. The transceiver unit is further configured to send N data packets to N data processing apparatuses #1. One data packet includes one of the N pieces of transmission path information. The N data packets include two data packets with different data payloads. Herein, N is an integer greater than 1.
In a possible implementation, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
In a possible implementation, the transceiver unit 710 is further configured to receive configuration information from the data orchestration apparatus. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
In a possible implementation, the transceiver unit 710 is further configured to send acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge the configuration information.
In a possible implementation, the transceiver unit 710 is further configured to receive update information from the data orchestration apparatus. The update information is used to update the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to send acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge that the data processing apparatus #0 completes update of the transmission path information.
In a possible implementation, the transceiver unit 710 is further configured to receive read information from the data orchestration apparatus. The read information is used to read the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to send read response information to the data orchestration apparatus. The read response information may include the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to receive delete information from the data orchestration apparatus. The delete information is used to delete the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to send acknowledgment information to the data orchestration apparatus. The acknowledgment information is used to acknowledge that the data processing apparatus #0 completes deletion of the transmission path information.
In a possible implementation, the third data packet further includes data service information and/or statistics collection mode information, the statistics collection mode information indicates a statistics collection manner of statistical information, and the statistical information includes data packet quantity information or data packet byte quantity information.
In a possible implementation, the transceiver unit 710 is further configured to send the statistical information to the data orchestration apparatus. The statistical information includes the data packet quantity information or the data packet byte quantity information.
In a possible implementation, the statistical information is obtained through statistics collection at a granularity of data packet transmission path information or data service information.
In another design, the communication apparatus 700 shown in
Optionally, the communication apparatus 700 may be the data orchestration apparatus. The transceiver unit 710 is configured to perform a receiving or sending operation of the data orchestration apparatus in the foregoing method embodiment. The processing unit 720 is configured to perform an internal processing operation of the data orchestration apparatus in the foregoing method embodiment. The data orchestration apparatus may be a functional network element in a network, or may be a chip or a circuit in a network device or a core network device, or may be a logical module or software that can implement all or some functions of a network device or a core network device. This is not limited in this application.
Optionally, the communication apparatus 700 may be a device including the data orchestration apparatus. Alternatively, the communication apparatus 700 may be a component configured in the data orchestration apparatus, for example, a chip in the data orchestration apparatus. In this case, the transceiver unit 710 may be an interface circuit, a pin, or the like. Specifically, the interface circuit may include an input circuit and an output circuit, and the processing unit 720 may include a processing circuit.
In a possible implementation, the processing unit 720 is configured to generate correspondence information. The correspondence information indicates a correspondence between data service information and data packet transmission path information. The transceiver unit 710 is configured to send the correspondence information to a data processing apparatus #0.
In a possible implementation, the transmission path information is a transmission path identifier.
In a possible implementation, the data service information includes first data service information, and the first data service information corresponds to N pieces of transmission path information. Herein, N is an integer greater than or equal to 1.
In a possible implementation, the correspondence indicated by the correspondence information includes a correspondence between the first data service information and the N pieces of transmission path information. Herein, N is an integer greater than 1.
In a possible implementation, the transceiver unit 710 is further configured to send N pieces of correspondence information to N data processing apparatuses #0. Each data processing apparatus #0 is associated with one piece of correspondence information. A correspondence indicated by the piece of correspondence information includes a correspondence between the first data service information and one of the N pieces of transmission path information. Herein, N is an integer greater than 1.
In a possible implementation, the processing unit 720 is configured to allocate identification information and a link identifier to a first apparatus. The identification information of the first apparatus meets the following conditions: a value corresponding to the identification information of the first apparatus is coprime with a value corresponding to identification information of a second apparatus; and the value corresponding to the identification information of the first apparatus is greater than a total quantity of links on the first apparatus side.
In a possible implementation, the transceiver unit 710 is further configured to send configuration information to the data processing apparatus #0. The configuration information is used to configure at least one of the following: a data packet statistics collection mode, a data packet statistics collection periodicity, and a valid time of the transmission path information.
In a possible implementation, the transceiver unit 710 is further configured to receive acknowledgment information from the data processing apparatus #0. The acknowledgment information is used to acknowledge the configuration information.
In a possible implementation, the transceiver unit 710 is further configured to send update information to the data processing apparatus #0. The update information is used to update the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to receive acknowledgment information from the data processing apparatus #0. The acknowledgment information is used to acknowledge that the data processing apparatus #0 completes update of the transmission path information.
In a possible implementation, the transceiver unit 710 is further configured to send read information to the data processing apparatus #0. The read information is used to read the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to receive read response information from the data processing apparatus #0. The read response information may include the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to send delete information to the data processing apparatus #0. The delete information is used to delete the transmission path information corresponding to the data service information.
In a possible implementation, the transceiver unit 710 is further configured to receive acknowledgment information from the data processing apparatus #0. The acknowledgment information is used to acknowledge that the data processing apparatus #0 completes deletion of the transmission path information.
In a possible implementation, the transceiver unit 710 is further configured to receive statistical information from the data processing apparatus #0. The statistical information includes the data packet quantity information or the data packet byte quantity information.
In a possible implementation, the statistical information is obtained through statistics collection at a granularity of transmission path information or data service information.
As shown in
Optionally, the communication apparatus 800 includes one or more processors 810.
Optionally, as shown in
Optionally, the communication apparatus 800 may include one or more memories 820.
Optionally, the memory 820 and the processor 810 may be integrated together, or may be disposed separately.
Optionally, as shown in
Optionally, a component that is in the transceiver 830 and that is configured to implement a receiving function may be considered as a receiving module, and a component that is in the transceiver 830 and that is configured to implement a sending function may be considered as a sending module. In other words, the transceiver 830 includes a receiver and a transmitter. The transceiver may also be sometimes referred to as a transceiver machine, a transceiver module, a transceiver circuit, or the like. The receiver may also be sometimes referred to as a receiver machine, a receiving module, a receiver circuit, or the like. The transmitter may also be sometimes referred to as a transmitter machine, a transmitter, a transmitting module, a transmitting circuit, or the like.
In a solution, the communication apparatus 800 is configured to implement an operation performed by the data processing apparatus in the foregoing method embodiment. For example, the processor 810 is configured to implement an operation (for example, the operations of S210 and S220) internally performed by the data processing apparatus in the foregoing method embodiment, and the transceiver 830 is configured to implement a receiving or sending operation (for example, the operations of S201, S230, S231, S232, S233, S234, S240, and S241) performed by the data processing apparatus in the foregoing method embodiment.
In a solution, the communication apparatus 800 is configured to implement an operation performed by the data orchestration apparatus in the foregoing method embodiment. For example, the processor 810 is configured to implement an operation internally performed by the data orchestration apparatus in the foregoing method embodiment, and the transceiver 830 is configured to perform a receiving or sending operation (for example, the operations of S201, S231, S232, S233, S234, S240, S241, S440, and S441) performed by the data orchestration apparatus in the foregoing method embodiment.
As shown in
The logic circuit 910 may be a processing circuit in the communication apparatus 900. The logic circuit 910 may be coupled to and connected to a memory cell, and invoke instructions in the memory cell, so that the communication apparatus 900 can implement the methods and functions in embodiments of this application. The input/output interface 920 may be an input/output circuit in the communication apparatus 900, and outputs information processed by the communication apparatus 900, or inputs to-be-processed data or signaling information to the communication apparatus 900 for processing.
In a solution, the communication apparatus 900 is configured to implement an operation performed by the data processing apparatus in each of the foregoing method embodiments.
For example, the logic circuit 910 is configured to implement a processing-related operation performed by the data processing apparatus in the foregoing method embodiment, for example, S210 and S220. The input/output interface 920 is configured to implement a sending-related operation and/or a receiving-related operation performed by the data processing apparatus in the foregoing method embodiment, for example, the sending and receiving operations of the data processing apparatus in S201, S230, S231, S232, S233, S234, S240, and S241. For a specific operation performed by the logic circuit 910, refer to the foregoing descriptions of the processing unit 720. For an operation performed by the input/output interface 920, refer to the foregoing descriptions of the transceiver unit 710. Details are not described herein again.
In another solution, the communication apparatus 900 is configured to implement an operation performed by the data orchestration apparatus in each of the foregoing method embodiments.
For example, the logic circuit 910 is configured to implement a processing-related operation performed by the data orchestration apparatus in the foregoing method embodiment, for example, the processing-related operation performed by the data orchestration apparatus in the foregoing method embodiment. The input/output interface 920 is configured to implement a sending-related operation and/or a receiving-related operation performed by the data orchestration apparatus in the foregoing method embodiment, for example, the receiving and sending operations of the data orchestration apparatus in S201, S231, S232, S233, S234, S240, S241, S440, and S441. For a specific operation performed by the logic circuit 910, refer to the foregoing descriptions of the processing unit 920. For a specific operation performed by the logic circuit 910, refer to the foregoing descriptions of the processing unit 720. For an operation performed by the input/output interface 920, refer to the foregoing descriptions of the transceiver unit 710. Details are not described herein again.
It should be understood that the communication apparatus may be one or more chips. For example, the communication apparatus may be a field-programmable gate array (field-programmable gate array, FPGA), an application-specific integrated circuit (application-specific integrated circuit, ASIC), a system-on-chip (system-on-chip, SoC), a central processing unit (central processing unit, CPU), a network processor (network processor, NP), a digital signal processor (digital signal processor, DSP), a micro controller unit (micro controller unit, MCU), a programmable logic device (programmable logic device, PLD), or another integrated chip.
In an implementation process, steps in the foregoing methods can be implemented by using a hardware integrated logic circuit in the processor, or by using instructions in a form of software. The steps in the methods disclosed with reference to embodiments of this application may be directly performed and completed by a hardware processor, or may be performed and completed by using a combination of hardware in the processor and a software module. A software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing method in combination with hardware of the processor. To avoid repetition, details are not described herein again.
It should be noted that the processor in embodiments of this application may be an integrated circuit chip, and has a signal processing capability. In an implementation process, the steps in the foregoing method embodiments can be implemented by using a hardware integrated logic circuit in the processor, or by using instructions in a form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. The processor can implement or perform the methods, the steps, and logical block diagrams that are disclosed in embodiments of this application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like. The steps in the methods disclosed with reference to embodiments of this application may be directly performed and completed by a hardware decoding processor, or may be performed and completed by using a combination of hardware in the decoding processor and a software module. A software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing method in combination with hardware of the processor.
It may be understood that the memory in embodiments of this application may be a volatile memory or a nonvolatile memory, or may include a volatile memory and a nonvolatile memory. The nonvolatile memory may be a read-only memory (read-only memory, ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (electrically EPROM, EEPROM), or a flash memory. The volatile memory may be a random access memory (random access memory, RAM), used as an external cache. By way of example, and not limitation, many forms of RAMs may be used, for example, a static random access memory (static RAM, SRAM), a dynamic random access memory (dynamic RAM, DRAM), a synchronous dynamic random access memory (synchronous DRAM, SDRAM), a double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), an enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), a synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and a direct rambus dynamic random access memory (direct rambus RAM, DR RAM). It should be noted that the memory of the systems and methods described in this specification includes but is not limited to these and any memory of another appropriate type.
According to the method provided in embodiments of this application, this application further provides a computer-readable medium. The computer-readable medium stores program code. When the program code is run on a computer, the computer is enabled to perform the method shown in the method embodiments. For example, when a computer program is executed by a computer, the computer is enabled to implement the method performed by the data orchestration apparatus or the method performed by the data processing apparatus in the foregoing method embodiments.
An embodiment of this application further provides a computer program product including instructions. When the instructions are executed by a computer, the computer is enabled to implement the method performed by the data orchestration apparatus or the method performed by the data processing apparatus in the foregoing method embodiments.
An embodiment of this application further provides a communication system, including a data orchestration apparatus and a data processing apparatus.
For explanations and beneficial effects of related content in any communication apparatus provided above, refer to the foregoing corresponding method embodiments. Details are not described herein again.
All or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, all or a part of the embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, the procedures or functions according to embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (digital subscriber line, DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, for example, a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), a semiconductor medium (for example, a solid-state drive (solid-state drive, SSD)), or the like.
The data orchestration apparatus and the data processing apparatus in the foregoing apparatus embodiments correspond to the data orchestration apparatus and the data processing apparatus in the method embodiments, and corresponding modules or units perform corresponding steps. For example, a communication unit (transceiver) performs a receiving or sending step in the method embodiments, and a processing unit (processor) may perform a step other than the sending and receiving steps. For a function of a specific unit, refer to a corresponding method embodiment. There may be one or more processors.
Terms such as “component”, “module”, and “system” used in this specification are used to indicate computer-related entities, hardware, firmware, combinations of hardware and software, software, or software being executed. For example, a component may be, but is not limited to, a process that runs on a processor, a processor, an object, an executable file, an execution thread, a program, and/or a computer. As illustrated by using figures, both a computing device and an application that runs on the computing device may be components. One or more components may reside within a process and/or a thread of execution, and a component may be located on one computer and/or distributed between two or more computers. In addition, these components may be executed from various computer-readable media that store various data structures. For example, the components may communicate by using a local and/or remote process and based on, for example, a signal having one or more data packets (for example, data from two components interacting with another component in a local system, a distributed system, and/or across a network such as the internet interacting with another system by using the signal).
A person of ordinary skill in the art may be aware that, in combination with the examples described in embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments. Details are not described herein again.
In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the foregoing described apparatus embodiments are merely examples. For example, division of the units is merely logical function division and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of embodiments.
In addition, functional units in embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units are integrated into one unit.
When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the current technology, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for indicating a computing device (which may be a personal computer, a server, or a network device) to perform all or a part of the steps of the methods described in embodiments of this application. The foregoing storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disc.
The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
This application is a continuation of International Application No. PCT/CN2022/116839, filed on Sep. 2, 2022, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2022/116839 | Sep 2022 | WO |
Child | 19067502 | US |