Data transmission method and device

By dynamically identifying alternative nodes through a data communication proxy device, the problems of resource waste and deployment difficulty caused by disaster recovery backup are solved, and the continuity and cost optimization of data transmission are achieved.

CN121711287APending Publication Date: 2026-03-20HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2026-03-20

Smart Images

  • Figure CN121711287A_ABST
    Figure CN121711287A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, in particular to a data transmission method and device, and aims to guarantee the continuity of data transmission, reduce resource waste caused by disaster recovery backup and reduce the difficulty and cost of network deployment. The method can be executed by a data communication agent device, and the method comprises the following steps: receiving first data, a next hop node of the first data being a first node; in response to the fault of the first node, a second node identifier is determined according to a first node identifier of the first node and a first mapping relation, a second node corresponding to the second node identifier is a replaceable node of the first node, and the first mapping relation is used for indicating that the second node can replace the first node; and sending the first data to the second node.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, and in particular to a data transmission method and device. BACKGROUND

[0002] Data is generated, flows and is consumed in a communication network, and plays a significant role. With the development of network scale, new technologies and applications, the data in the network is increasing and becoming more and more important. Therefore, efficient use of data requires a complete service architecture to run through the entire life cycle from data generation, collection, storage, transmission, processing, analysis, exchange and sharing. Data services refer to services that provide data collection, data preprocessing, data transmission, data publishing or data analysis, meet the requirements of data laws and regulations, and can balance data sharing and security, and provide data as a service product. A data service task refers to a series of data services provided to implement a certain data business. Data service task supports arbitrary topology and in-line computing, and usually requires pre-configuration of a plurality of data processing nodes for executing data service tasks, and pre-configuration of routing information of data service tasks between the plurality of data processing nodes to realize continuous transmission of data of the data service task.

[0003] At present, a disaster recovery backup scheme is usually used to ensure the continuity of data transmission. For example, device-level backup is performed on each node in the network, and each node in the network corresponds to one or more backup nodes, and when a node fails, a certain backup node corresponding to the node takes over the work of the node.

[0004] However, the disaster recovery backup scheme requires a large number of backup nodes to be configured in the network, which increases the difficulty and cost of network deployment, and a large number of configured backup nodes will cause resource idling and waste of resources. SUMMARY

[0005] Embodiments of the present application provide a data transmission method and device to ensure the continuity of data transmission, reduce resource waste caused by disaster recovery backup, and reduce the difficulty and cost of network deployment.

[0006] In a first aspect, embodiments of this application provide a data transmission method, which can be executed by a data communication proxy device. This data communication proxy device can refer to a data communication proxy node, a component within the data communication proxy node that implements the method (e.g., a processor, module, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the data communication proxy node. The method includes: receiving first data, where the next-hop node of the first data is a first node; responding to a failure of the first node, determining a second node identifier based on a first node identifier of the first node and a first mapping relationship, wherein the second node corresponding to the second node identifier is a replaceable node of the first node, and the first mapping relationship indicates that the second node can replace the first node; and sending the first data to the second node.

[0007] Using the above method, after determining that the first node of the next hop in the data transmission is faulty and unable to complete the data processing service, the data communication proxy device can determine a second node that can replace the first node according to the first mapping relationship. The second node replaces the faulty first node to complete the data processing service, which can avoid data transmission interruption and ensure the continuity of data transmission. At the same time, the second node is not a backup node of the first node. The second node normally performs the data processing service required by the first node in the network. It only completes the data processing service required by the first node when the first node fails. Therefore, there is no need to back up each node in the network, which can reduce the waste of resources caused by disaster recovery backup and reduce the difficulty and cost of network deployment.

[0008] In one possible design, the first data includes path indication information and hop count indication information. The path indication information is used to indicate the data chain for transmitting the first data, and the hop count indication information is used to indicate the remaining hop count corresponding to the first data. The path indication information and hop count indication information are used to determine the first node.

[0009] Through the above design, the data communication proxy device can determine the next hop node for the first data transmission based on the path indication information and hop count indication information carried by the first data. This avoids configuring the routing information of each node in the data link of the first data transmission in the data communication proxy device, thereby reducing the complexity of data transmission.

[0010] In one possible design, the path indication information is determined based on the node identifier and remaining hop count of each node in the data chain, as well as a coprime array, and the data chain includes the first node.

[0011] Through the above design, the first path indication information can be determined based on the identifiers and remaining hop counts of each node in the first data chain, as well as the coprime array. This allows the data communication proxy device to determine the identifiers of each node in the first data chain based on the first path indication information and the coprime array during data transmission, thus eliminating the need for additional information on each data node in the first data chain and reducing the complexity of data transmission.

[0012] In one possible design, the method further includes: receiving first capability information, the first capability information indicating one or more capabilities supported by a first node; receiving second capability information, the second capability information indicating one or more capabilities supported by a second node; and determining a first mapping relationship in response to the first capability information and the second capability information satisfying a first condition.

[0013] Through the above design, the data communication proxy device can determine the replaceability relationship between nodes based on the capability information of different nodes, so as to ensure that the replaced node can complete the data processing services that the original node needs to perform.

[0014] In one possible design, the first capability information and the second capability information satisfy a first condition, including: one or more capabilities supported by the second node indicated by the second capability information include one or more capabilities supported by the first node indicated by the first capability information.

[0015] Through the above design, the data communication proxy device can determine the substitutability between nodes while ensuring that the replaced node has all the capabilities of the original node. This ensures that the replaced node can complete the data processing services that the original node needs to perform, thus guaranteeing the continuity of data transmission.

[0016] In one possible design, the first capability information and the second capability information satisfy a first condition, including: one or more capabilities supported by the second node include the first capability, which is the capability (such as the applied data processing capability) applied by the first node in the data chain of the first data transmission.

[0017] Through the above design, the data communication proxy device can determine the substitutability between nodes when the replaced node has the same capabilities as the original node in the first data transmission process. This ensures that the replaced node can complete the data processing services required by the original node, thus guaranteeing the continuity of data transmission.

[0018] In one possible design, the first mapping relationship is contained in a first mapping table, which includes node identifiers and address information corresponding to one or more nodes in the data chain of the first data transmission, as well as node identifiers of alternative nodes corresponding to at least one of the one or more nodes, and the data chain includes the first node.

[0019] Through the above design, the data communication proxy device can maintain the node identifier of the alternative node corresponding to at least one node in the data chain (or transmission path) of the first data transmission in the first mapping table, so as to replace the faulty node with the alternative node when a node in the data chain of the first data transmission fails, thereby ensuring the continuity of data transmission.

[0020] In one possible design, the data chain also includes a second node.

[0021] With the above design, one node in the data chain can serve as a replacement node for another node in the data chain, which can avoid setting up additional backup nodes and reduce the waste of resources caused by node backup.

[0022] Secondly, embodiments of this application provide a communication device that has the function of implementing the method described in the first aspect. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function, such as an interface unit and a processing unit.

[0023] In one possible design, the device can be a chip or an integrated circuit.

[0024] In one possible design, the device includes a memory and a processor, the memory for storing instructions executed by the processor, and when the instructions are executed by the processor, the device can perform the method of the first aspect.

[0025] Thirdly, embodiments of this application provide a communication device including an interface circuit and a processor, wherein the processor and the interface circuit are coupled to each other. The interface circuit is used for inputting and / or outputting signals, and the processor is used to implement the method described in the first aspect through logic circuits or executing instructions. It is understood that the interface circuit can be a transceiver, a transceiver device, or an input / output interface.

[0026] Optionally, the communication device may also include a memory for storing instructions executed by the processor, or storing input data required by the processor to execute instructions, or storing data generated after the processor executes instructions. The memory may be a physically independent unit, or it may be coupled to the processor, or the processor may include the memory (i.e., the processor and the memory are integrated together).

[0027] In one possible implementation, the communication device is a chip.

[0028] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program or instructions, which, when executed by a processor, can implement the method described in the first aspect.

[0029] Fifthly, embodiments of this application also provide a computer program product, including a computer program or instructions, which, when executed by a processor, can implement the method described in the first aspect.

[0030] In a sixth aspect, embodiments of this application also provide a chip system including a processor, which is coupled to a memory for storing programs or instructions. When the program or instructions are executed by the processor, the method described in the first aspect can be implemented.

[0031] The technical effects achievable by the second to sixth aspects mentioned above are similar to those achievable by the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0032] Figure 1 A schematic diagram of the architecture of the communication network provided in the embodiments of this application;

[0033] Figure 2 A schematic diagram of the perception architecture provided in an embodiment of this application;

[0034] Figure 3 This is a schematic diagram of a data transmission method provided in an embodiment of this application;

[0035] Figure 4 A data link diagram provided for an embodiment of this application;

[0036] Figure 5 A schematic diagram illustrating alternative mapping relationships provided for embodiments of this application;

[0037] Figure 6 This is a schematic diagram of the node registration process provided in an embodiment of this application;

[0038] Figure 7 and Figure 8 This is a schematic diagram of the structure of the communication device provided in the embodiments of this application. Detailed Implementation

[0039] This application provides a data transmission method and apparatus. The method and apparatus are based on the same inventive concept. Since the principles by which the method and apparatus solve the problem are similar, their implementations can be mutually referenced, and repeated details will not be elaborated further.

[0040] Figure 1 A schematic diagram of a possible, non-limiting communication network is shown. (e.g.) Figure 1As shown, the communication network 10 includes a radio access network (RAN) 100 and a core network (CN) 200. RAN 100 includes at least one RAN node (e.g., ...). Figure 1 110a and 110b (collectively referred to as RAN node 110) and at least one terminal device (such as Figure 1 120a-120j in RAN 100 are collectively referred to as terminal equipment 120. RAN 100 may also include other RAN nodes, such as wireless relay equipment and / or wireless backhaul equipment. Figure 1 (Not shown in the image). Terminal device 120 is connected to RAN node 110 wirelessly. RAN node 110 is connected to core network 200 wirelessly or via wired connection. The core network equipment in core network 200 and RAN node 110 in RAN 100 can be different physical devices, or they can be the same physical device integrating core network logical functions and radio access network logical functions.

[0041] RAN 100 can be a cellular network related to the 3rd Generation Partnership Project (3GPP), such as 4G, 5G mobile communication networks, or future communication networks. RAN 100 can also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) network. RAN 100 can also be a communication network that integrates two or more of the above systems.

[0042] Understandable Figure 1 This application only illustrates one possible communication network that can be applied to an embodiment of this application. In other possible scenarios, the communication network may also include other devices.

[0043] RAN node 110, sometimes also referred to as access network equipment, RAN entity, access node, network equipment, etc., constitutes part of the communication network and is used to help terminal devices achieve wireless access. Multiple RAN nodes 110 in the communication network 10 can be of the same type or different types. In some scenarios, the roles of RAN node 110 and terminal device 120 are relative, for example, Figure 1Network element 120i can be a helicopter or a drone, and it can be configured as a mobile base station. For terminal devices 120j that access RAN 100 through network element 120i, network element 120i is a base station; however, for base station 110a, network element 120i is a terminal device. RAN node 110 and terminal device 120 are sometimes referred to as communication devices, for example... Figure 1 Network elements 110a and 110b can be understood as communication devices with base station functions, while network elements 120a-120j can be understood as communication devices with terminal equipment functions.

[0044] In one possible scenario, a RAN node can be a base station (BS), an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next-generation NodeB (gNB), a base station in a future communication network, or an access node in a WiFi network, etc. A RAN node can also be a macro base station (such as...). Figure 1 110a), micro base stations or indoor stations (such as Figure 1 The RAN node can be a relay node or donor node (as described in section 110b), or a wireless controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle, or in-vehicle equipment. For example, the RAN node in vehicle-to-everything (V2X) technology can be a roadside unit (RSU). All or part of the functions of the RAN node in this application can also be implemented through software functions running on hardware, or through virtualization functions instantiated on a platform (e.g., a cloud platform). The RAN node in this application can also be a logical node, logical module, or software capable of implementing all or part of the RAN node functions.

[0045] In another possible scenario, multiple RAN nodes collaborate to assist terminal devices in achieving wireless access, with different RAN nodes each implementing a portion of the base station's functions. For example, RAN nodes can be central units (CUs), distributed units (DUs), CU-control plane (CPs), CU-user plane (UPs), or radio units (RUs), etc. CUs and DUs can be set up separately or included in the same network element, such as a baseband unit (BBU). RUs can be included in radio frequency equipment or radio frequency units, such as remote radio units (RRUs), active antenna units (AAUs), or remote radio heads (RRHs).

[0046] In different systems, CU (or CU-CP and CU-UP), DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an O-RAN system, CU can also be called O-CU (Open CU), DU can also be called O-DU, CU-CP can also be called O-CU-CP, CU-UP can also be called O-CU-UP, and RU can also be called O-RU. For ease of description, this application uses CU, CU-CP, CU-UP, DU, and RU as examples. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules.

[0047] Terminal devices, also known as terminals, user equipment (UE), mobile stations, mobile terminals, etc., are devices used to provide voice or data connectivity to users, and can also be Internet of Things (IoT) devices. Terminal devices can be widely used in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, smart transportation, and smart cities. Terminal devices can be: mobile phones, tablets, laptops, PDAs, mobile internet devices (MIDs), wearable devices (such as smartwatches, smart bracelets, pedometers, smart glasses, etc.), in-vehicle equipment (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point of sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability user equipment (REDCAP UE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), smart robots, robotic arms, workshop equipment, wireless terminals in autonomous driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, and flying equipment (such as smart robots, hot air balloons, drones, airplanes), etc. The terminal device can also be a vehicle device, such as a complete vehicle device, an in-vehicle module, an in-vehicle chip, an onboard unit (OBU), or a telematics box (T-BOX). The terminal device can also be other devices with terminal functions; for example, it can be a device that functions as a terminal in D2D communication. The embodiments of this application do not limit the form of the terminal device.

[0048] A CN can include multiple network function (NF) entities, such as access and mobility management function (AMF), network exposure function (NEF), policy control function (PCF), session management function (SMF), and charging function (CHF).

[0049] To facilitate understanding by those skilled in the art, some terms used in this application are explained below.

[0050] 1) Data services and data service tasks.

[0051] Data services refer to services that provide data processing such as data collection, data preprocessing, data transmission, data publishing, data analysis, data storage, data privacy and security protection, data sharing or data trading, data traceability, or data dictionaries. It should be understood that the embodiments of this application do not limit the type of data service.

[0052] A data service task refers to a series of data services required (or provided) to realize a specific data business. Data service tasks support arbitrary topologies and in-path computing. They typically require pre-configuration of multiple data processing nodes for executing the data service task, as well as pre-configuration of routing information between these multiple data processing nodes, to achieve continuous data transmission for the data service task.

[0053] 2) Wireless sensing (or sensing).

[0054] Wireless sensing uses wireless signals for perception. Sensing is the process of collecting, processing, and generating sensing results from data. For example, data can be used to determine the distance, shape, and type of surrounding obstacles, or to determine the breathing rate and heart rate of a sensed object. The collected data can be obtained through sensors or through wireless signals.

[0055] 3) Sensing entity (SE).

[0056] A sensing entity, also known as a sensing network element, refers to a data source that processes wireless signals and converts them into raw sensing data. Sensing entities can be co-located (or deployed in conjunction with) with other devices, or they can be deployed independently. For example, sensing entities can be deployed on access network devices or terminal devices; that is, access network devices or terminal devices with sensing capabilities can serve as sensing entities. Sensing entities can also be deployed independently, such as sensors or cameras that are not deployed independently.

[0057] 4) Sensing data process function (SDPF).

[0058] SDPF is primarily responsible for calculating sensing measurement data from raw sensing data, calculating sensing results from sensing measurement data, as well as data routing and forwarding, policy enforcement (such as quality of service (QoS), billing, incentives, and security), providing data exposure interfaces to NEF, data privacy protection (such as encryption), and assigning Internet Protocol (IP) addresses to sensing entities (such as terminal devices).

[0059] Here, raw sensing data refers to the basic information of the sensing signal, such as amplitude and phase; measurement data refers to the data obtained by processing the raw sensing data and used to characterize the measurement dimension, which may include, but is not limited to, one or more of the following: sampling point delay, receiving angle of the sensing signal, signal strength of the sensing signal, Doppler (i.e., frequency shift of the sensing signal), position of the target object, and velocity of the target object; sensing result can refer to the result obtained by processing the sensing data, where the sensing data may include raw sensing data and / or measurement data, and the sensing result may include, but is not limited to, the distance between the sensing entity and the target object, the velocity of the target object, the position of the target object, the angle between the sensing entity and the target object, the movement path of the target object, the respiratory rate of the target object, and the heartbeat of the target object.

[0060] 5) Data orchestration (DO).

[0061] DO can be used to receive data service tasks, select data processing nodes (such as SDPF) according to the needs (or requirements) of the data service tasks, and orchestrate the functions of the data processing nodes, thereby dynamically establishing an end-to-end (E2E) data transmission network topology for the data service tasks.

[0062] 6) In the description of this application, terms such as "first" and "second" are used only to distinguish multiple objects and are not used to limit the size, content, order, sequence, priority, or importance of multiple objects. For example, the first node and the second node do not indicate a difference in priority or importance between the two nodes.

[0063] 7) In the embodiments of this application, the number of nouns, unless otherwise specified, refers to "singular nouns or plural nouns," that is, "one or more." "At least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. For example, A / B means: A or B. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c means: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c can be single or multiple.

[0064] 8) In this application, "sending information" can be understood as one device sending information to another device, or it can also be understood as one logic module within a device sending information to another logic module. For example, "device A sending information" can be understood as device A sending information to another device (device B), or it can be understood as logic module 1 in device A sending information to logic module 2 in device A. In this application, "receiving information" can be understood as one device receiving information from another device, or it can also be understood as one logic module within a device receiving information from another logic module. For example, "device A receiving information" can be understood as device A receiving information from another device (such as device B), or it can be understood as logic module 1 in device A receiving information from logic module 2 in device A. In this application, "sending information to... (e.g., device B)" or the relevant illustrations in the accompanying drawings can be understood as the destination of the information being device B. This can include sending information directly or indirectly to device B. The phrases "receiving information from... (e.g., device A)," "receiving information from... (e.g., device A)," or "receiving information sent by (e.g., device A)," or the relevant illustrations in the accompanying drawings, can be understood as indicating that the source of the information is device A, which may include receiving information directly or indirectly from device A. The information may undergo necessary processing between the source and destination, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be interpreted similarly and will not be repeated here.

[0065] In addition, in the embodiments of this application, the term "data transmission" can also be described as "information transmission", "transmission", "communication", or "wireless communication", etc.

[0066] With the diversified development of data transmission (such as sensor data, artificial intelligence (AI) data, IoT data, etc.), the methods of signaling or data transmission are also constantly being updated and changed. Current signaling or data transmission methods may not meet future data transmission needs. Based on this, this application considers introducing new network functions into the 3GPP network, such as a data communication proxy (DCP), to improve data transmission efficiency. It should be understood that DCP is merely an example name; DCP can be replaced by other names, and any device with the same function as a DCP can be considered a DCP. This application does not limit this. The DCP can be deployed as an independent network element in the 3GPP network, or it can be co-located with other network elements or devices in the 3GPP network. This application does not limit this either.

[0067] DCP can support various transport protocols, such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Quick UDP Internet Connection (QUIC), or others. Data producers can send data to DCP, and data consumers can subscribe to and pull data from DCP.

[0068] Figure 2 This diagram illustrates a possible sensing architecture in a 3GPP network that incorporates a DCP (Digital Channel Component) network element. In this architecture, access network devices can directly connect to the DCP network element. Access network device 1 acts as a sensing source (or data source), directly transmitting sensing data to the DCP network element. Access network device 2, after obtaining sensing data from the terminal device, transmits the sensing data to the DCP network element.

[0069] In this sensing architecture, the Sensing Service Control Function (SSCF) network element can be used to implement the control plane functions of sensing services. For example, the SSCF network element is used to receive sensing capability information of sensing entities and orchestrate sensing services (including the selection of sensing signal receiving / transmitting entities) based on the sensing capability information of sensing entities. The SSCF can connect to the SBI bus through the service-based interface (SBI) to communicate with other core network elements.

[0070] SDPF network elements can be used to implement data plane functions for sensing services. For example, SDPF network elements can process sensing data for sensing services to obtain sensing results. SDPF can communicate with other core network elements by being mounted on the SBI bus via SBI, or it can communicate through separate interfaces, such as communicating with other SDPFs or SSCFs via separate interfaces.

[0071] Data storage function (DSF) network elements can store sensing data.

[0072] The Sensing Service Subscriber Management (SSSM) network element can be used for user registration, subscription and unsubscription of sensing services, authentication and authorization, etc.

[0073] Other core network elements in this sensing structure, such as AMF, NEF, PCF, CHF, and service communication proxy (SCP) elements, can subscribe to data from DCP elements as data consumers or send data to DCP elements as data producers.

[0074] For data service tasks, the orchestration node (such as the SSCF network element) can be configured to execute multiple data processing nodes (such as the SDPF) and the routing information of the data service task among these multiple data processing nodes to achieve continuous data transmission for the data service task.

[0075] Additionally, it should be understood that in the embodiments of this application, an entity can also be referred to as a network element, and similarly, a network element can also be referred to as an entity. An entity / network element can also be referred to as a network function instance (NFI), device, or module, etc., and this application does not limit this. The aforementioned AMF network element, NEF network element, PCF network element, SCP network element, etc., can also be referred to as AMF, NEF, PCF, SCP, etc.

[0076] It should also be understood that the aforementioned AMF, NEF, PCF, or SCP can be understood as network elements in the core network used to implement different functions. These core network elements can be independent devices or integrated into the same device to implement different functions. This application does not limit the specific form of the aforementioned network elements.

[0077] Furthermore, the aforementioned naming is defined solely for the purpose of distinguishing different functions and should not constitute any limitation on this application. This application does not preclude the possibility of using other naming conventions in 5G networks and other future networks. For example, in future networks, some or all of the aforementioned network elements may retain the terminology used in 5G, or they may adopt other names, etc.

[0078] Currently, disaster recovery and backup solutions are commonly used to ensure the continuity of data transmission. For example, device-level backups are performed on each node in the network. Each node in the network has one or more backup nodes. When a node fails, one of the backup nodes corresponding to that node takes over the work of that node.

[0079] However, disaster recovery and backup solutions require configuring a large number of backup nodes in the network, which increases the difficulty and cost of network deployment. Furthermore, configuring a large number of backup nodes can lead to idle resources and waste of resources.

[0080] Based on this, embodiments of this application provide a data transmission method and apparatus to ensure the continuity of data transmission, reduce resource waste caused by disaster recovery backup, and lower the difficulty and cost of network deployment. The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0081] The data transmission method provided in this application embodiment can be executed by a data communication proxy device. This data communication proxy device can refer to a data communication proxy node (such as a DCP), a component within the data communication proxy node that implements the method (such as a processor, module, chip, or chip system), or a logic module or software capable of implementing all or part of the functions of the data communication proxy node. Taking a DCP as an example, the DCP can support multiple transmission protocols, such as TCP, UDP, QUIC, or other transmission protocols. It can proxy data communication between different nodes (or network elements). Data producers can send data to the DCP, and data consumers can obtain data from the DCP. For example, node A, as a data producer, can send the generated data to the DCP, and node B, as a data consumer, can obtain the data generated by node A from the DCP. The data producer (node ​​A) and the data consumer (node ​​B) do not communicate directly; instead, they use the DCP as a data communication proxy, meaning the data is transmitted through the DCP.

[0082] Figure 3 This is one of the schematic diagrams of a data transmission method provided in an embodiment of this application. The method includes:

[0083] S301: The data communication proxy device receives the first data, and the next hop node of the first data is the first node.

[0084] Data services refer to services that provide data processing such as data acquisition, data preprocessing, data transmission, data publishing, data analysis, data storage, data privacy and security protection, data sharing or data trading, data traceability, or data dictionaries. A data service task can refer to a series of data services required (or provided) to realize a certain data business. In the embodiments of this application, upon receiving a data service task, the orchestration node can configure one or more data chains (DCs) for data transmission according to the requirements (or needs) of the data service task to realize the data service task. The orchestration node can be a DO or SSCF in the communication system.

[0085] Figure 4 A data link diagram provided for an embodiment of this application. Data communication proxy device ( Figure 4 Taking DCP1 as an example, it manages (or associates or connects) nodes with identifiers (also called network element identifiers, i.e., NF_ID) of 0, 1, ..., 9. Node 9 corresponds to RAN1, node 7 to SDPF1, node 5 to SDPF2, and node 4 to application server (AS)2. SDPF1 supports X1 data processing capabilities, and SDPF2 supports X2 data processing capabilities. An orchestration node (such as SSCF / DO) receives a data service task from a requester (such as AS2). This data service task requires AS2 to process the data collected by RAN1 using both X1 and X2 methods. The orchestration node can then configure data link A for this data service task: RAN1---SDPF1---SDPF2---AS2.

[0086] It should be noted that in the embodiments of this application, X1, X2, etc., are used to represent different data processing capabilities. For example, the X1 data processing capability can be the ability to calculate the Doppler of the sensing signal (i.e., the shift in the frequency of the sensing signal) based on the original sensing data (e.g., the amplitude and phase of the sensing signal); the X2 data processing capability can be the ability to calculate the intensity of the sensing signal based on the original sensing data; or the X1 data processing capability can be the ability to calculate the Doppler of the sensing signal based on the original sensing data; the X2 data processing capability can be the ability to calculate the moving speed of the sensing object based on the Doppler of the sensing signal, and so on.

[0087] After configuring a data link for a data service task, the data communication agent can receive the first data sent by any node in the data link and send the received first data to the next hop node.

[0088] It should be understood that, in the embodiments of this application, the first data refers to the data being transmitted. During transmission, the first data may undergo corresponding data processing, such as format changes or data analysis. The format and / or content of the first data may change during transmission. For example, the first data may refer to data transmitted through data chain A: RAN1---SDPF1---SDPF2---AS2. The first data may undergo corresponding data processing at each node of data chain A, and the format and / or content of the first data may change after the data processing at each node.

[0089] S302: In response to a first node failure, the data communication proxy device determines a second node identifier based on the first node identifier of the first node and the first mapping relationship, wherein the second node corresponding to the second node identifier is a replaceable node of the first node, and the first mapping relationship is used to indicate that the second node can replace the first node.

[0090] S303: The data communication agent sends the first data to the second node.

[0091] In this embodiment, the data communication proxy device may be configured with a mapping relationship between at least one of the multiple nodes managed by the data communication proxy device and its corresponding alternative node. Taking a first mapping relationship used to indicate that a second node can replace a first node as an example, the first mapping relationship may include a mapping relationship between the second node identifier of the second node and the first node identifier of the first node, indicating that the second node can replace the first node.

[0092] After receiving the first data, if the heartbeat connection with the first node is interrupted and / or sending the first data to the first node fails, the data communication proxy device can determine that the first node is faulty. In the event of a first node failure, the data communication proxy device can respond to the first node failure by determining the second node identifier based on the first node identifier of the first node and a first mapping relationship indicating that a second node can replace the first node. After determining the second node identifier, the data communication proxy device can send the first data to the second node corresponding to the second node identifier, so that the second node can replace the faulty first node to complete the data processing service and ensure the continuity of data transmission.

[0093] In one possible implementation, the data communication agent can determine the mapping relationship between at least one of the multiple nodes and its corresponding alternative node based on the capability information of the multiple nodes managed by the data communication agent.

[0094] Taking the data communication proxy device as DCP1, and the nodes managed by DCP1 including the first node and the second node, with the first node being SDPF2 and the second node being SDPF3 as an example, refer to... Figure 5 The diagram illustrates the determination of alternative mapping relationships. A first node (e.g., SDPF2) and a second node (e.g., SDPF3) can report first capability information and second capability information to DCP1, respectively. DCP1 can determine a first mapping relationship indicating that the second node can replace the first node, provided that the first capability information of the first node (e.g., SDPF2) and the second capability information of the second node (e.g., SDPF3) meet a first condition. For example, DCP1 can add the identifier of the second node to the replaceable ID column corresponding to the first node in the maintained first mapping table.

[0095] Wherein, the first capability information and the second capability information satisfying the first condition can mean that one or more capabilities supported by the second node indicated by the second capability information include one or more capabilities supported by the first node indicated by the first capability information.

[0096] As an example: A node's capabilities include X1 data processing capability, X2 data processing capability, X3 data processing capability, ..., Xn data processing capability. The node's capability information (such as the first capability information of the first node and the second capability information of the second node) can be an n-bit bitmap. Each bit in this bitmap corresponds to a processing capability. For example, the first bit in the n-bit bitmap corresponds to the X1 data processing capability. When this bit is 1, it means that the node supports the X1 data processing capability, and when it is 0, it means that the node does not support the X1 data processing capability. The second bit in the n-bit bitmap corresponds to the X2 data processing capability. When this bit is 1, it means that the node supports the X2 data processing capability, and when it is 0, it means that the node does not support the X2 data processing capability, and so on. The data communication proxy device receives the first capability information (capability1) of the first node and the second capability information (capability2) of the second node. It can perform a bitwise AND operation on the second capability information and the first capability information. If the result is still equal to the first capability information (i.e., capability2&capability1=capability1), it indicates that the second node, as indicated by the second capability information, supports one or more capabilities that include one or more capabilities supported by the first node, as indicated by the first capability information. Therefore, the second node can replace the first node. The data communication proxy device can determine a first mapping relationship to indicate that the second node can replace the first node, such as adding a second node identifier to the replacement identifier column corresponding to the first node. For example: if capability2 is 11000 and capability1 is 01000, then 11000&01000=01000, and the data communication proxy device can determine that the second node can replace the first node. The & symbol represents a bitwise AND operation.

[0097] Referring to Table 1, a first mapping example is shown for the data communication proxy device. Nodes with management identifiers (NF_ID) of 0, 1, ..., 9 are mapped to IP addresses 0, 1, ..., 9 respectively. The replaceable ID record corresponding to the node with identifier 1 has an identifier of 7, indicating that the node with identifier 7 can replace the node with identifier 1; the replaceable ID record corresponding to the node with identifier 5 has an identifier of 2, indicating that the node with identifier 2 can replace the node with identifier 5; and the replaceable ID record corresponding to the node with identifier 7 has an identifier of 1, indicating that the node with identifier 1 can replace the node with identifier 7.

[0098] Table 1

[0099] NF ID IP address replaceable ID 0 IP address 0 1 IP address 1 7 2 IP address 2 (SDPF 3) 3 IP address 3 (AS 1) 4 IP address 4 (AS 2) 5 IP address 5 (SDPF 2) 2 6 IP address 6 7 IP address 7 (SDPF 1) 1 8 IP address 8 (RAN 2) 9 IP address 9 (RAN 1)

[0100] In one possible implementation, the data communication proxy device may also determine the first mapping relationship if the first capability is included in one or more capability information supported by the second node, wherein the first capability is the capability applied by the first node in the data chain of the first data transmission (or the data service or data service task to which the data chain of the first data transmission belongs).

[0101] As an example: The first capability information of the first node indicates that the first node supports X2 data processing capability and X5 data processing capability. The capability applied by the first node in the data chain of the first data transmission is X2 data processing capability. The second capability information of the second node indicates that the second node supports X1 data processing capability and X2 data processing capability. The second node supports X2 data processing capability. The second node can replace the first node. The data processing node can save a first mapping relationship for the data chain of the first data transmission to indicate that the second node can replace the first node (such as the first mapping relationship between the second node identifier of the second node and the first node identifier of the first node).

[0102] Taking the first mapping table maintained by the data communication agent as shown in Table 1, and the data chain for the first data transmission as data chain A: RAN1---SDPF1---SDPF2---AS2 as an example, the next-hop node for the first data transmission is SDPF2 (i.e., the first node). If the data communication agent determines that SDPF2 is faulty, it can determine the identifier 2 (i.e., the second node identifier) ​​of SDPF3 (i.e., the second node identifier) ​​based on the identifier 5 (i.e., the first node identifier) ​​of SDPF2 and the first mapping relationship (such as the mapping relationship between identifier 2 (replaceable ID column) and identifier 5 (NF_ID column) in row 7 of Table 1), and send the first data to SDPF3 with the corresponding identifier 2.

[0103] The identifiers for each node managed by the data communication proxy device can be configured by the data communication proxy device itself, or the identifiers can be configured by an orchestration node or similar entity and then sent to the data communication proxy device. Taking DCP1 as the data communication proxy device and SDPF2 and SDPF3 as the nodes it manages, and assuming the data communication proxy device configures the identifiers for each node during the node registration process as an example... Figure 6 This application provides a schematic diagram of a node registration process, which includes:

[0104] S601: SDPF2 sends a first registration request to DCP1, and DCP1 receives the first registration request accordingly.

[0105] The first registration request may include the first IP address of SDPF2, the first capability information, etc. The first capability information may indicate one or more capabilities supported by SDPF2, such as support for X2 data processing capabilities, etc.

[0106] S602: DCP1 sends a first registration response to SDPF2, and SDPF2 receives the first registration response accordingly.

[0107] The first registration response may include the identifier of SDPF2 (such as "NF_ID1").

[0108] After receiving the first registration request from SDPF2, DCP1 can assign an identifier (such as "NF_ID1") to SDPF2 and send a first registration response carrying that identifier to SDPF2. In one possible implementation, DCP1 can also store the mapping relationship between SDPF2's identifier and SDPF2's first IP address and / or first capability information.

[0109] S603: SDPF3 sends a second registration request to DCP1, and DCP1 receives the second registration request accordingly.

[0110] The second registration request may include the second IP address of SDPF3, second capability information, etc. The second capability information may indicate one or more capabilities supported by SDPF3, such as supporting X2 data processing capability, X3 data processing capability, etc.

[0111] S604: DCP2 sends a second registration response to SDPF3, and SDPF3 receives the second registration response accordingly.

[0112] The second registration response may include the identifier of SDPF3 (such as "NF_ID2").

[0113] After receiving a second registration request from SDPF3, DCP1 can assign an identifier (such as "NF_ID2") to SDPF3 and send a second registration response carrying that identifier to SDPF3. In one possible implementation, DCP1 can also store the mapping relationship between SDPF3's identifier and SDPF3's second IP address and / or second capability information.

[0114] After SDPF2 and SDPF3 are registered with DCP1, DCP1 can also send the corresponding identifiers and capabilities of SDPF2 and SDPF3 to the orchestration node, so that the orchestration node can know the corresponding identifiers and capabilities of SDPF2 and SDPF3, and orchestrate the data chains corresponding to the data service tasks, etc., based on the corresponding identifiers and capabilities of SDPF2 and SDPF3.

[0115] In one possible implementation, DCP1 can also maintain a first mapping table (such as an IP mapping table) containing the identifiers and address information (such as IP addresses) of each node managed by DCP1, so as to determine the address information of the node based on the node's identifier. Referring to Table 1 above, the nodes managed by DCP1 with identifiers (i.e., NF_ID) of 0, 1, ..., 9, and the address information mapped to the identifiers 0, 1, ..., 9 (taking IP addresses as an example) are IP address 0, IP address 1, ..., IP address 9, respectively.

[0116] In addition, considering that the data communication proxy device may be used for data communication proxy of multiple data links, the first data may also include path indication information for indicating the data link for the first data transmission. The data communication proxy device can determine the data link for the first data transmission based on the path indication information carried in the first data.

[0117] As an example: After the orchestration node configures the data chain for the first data transmission (such as data chain A above), it can send path indication information to the data source corresponding to the data chain to indicate the data chain. The first data can carry the path indication information during transmission.

[0118] If the data source is associated with multiple data communication proxy devices, the orchestration node can also send the identifier of the data communication proxy device corresponding to the data chain to the data source, indicating the data communication proxy device corresponding to the data chain so that the data source sends the first data to the data communication proxy device corresponding to the data chain. In addition, the orchestration node can also send one or more of the following information to the data source: data service ID (DS_ID) and hop count indication information. The data service ID can be used to indicate the data service or data service task to which the data chain belongs, and the hop count indication information can be used to indicate the remaining hops corresponding to the first data (i.e., the remaining hops corresponding to the first data in the data chain of the first data transmission). The first data sent from the data source can also carry the data service ID and hop count indication information to indicate the data service or data service task to which the data chain transmitting the first data belongs, and the remaining hops corresponding to the first data.

[0119] Taking DCP1 as the data communication proxy device, data chain A for the first data transmission as RAN1---SDPF1---SDPF2---AS2, and path indication information as the index (or number) of data chain A as an example, the first data sent by SDPF1 may include this path indication information. After receiving the first data, DCP1 can determine that the data chain for transmitting the first data is data chain A: RAN1---SDPF1---SDPF2---AS2, based on the path indication information carried in the first data and the stored routing information corresponding to the path indication information (such as the identifiers 9, 7, 5, and 4 of RAN1, SDPF1, SDPF2, and AS2). Since the first data comes from SDPF1, DCP1 can determine that the next-hop node (i.e., the first node) of the first data is SDPF2.

[0120] In one possible implementation, in order to further reduce the complexity of data transmission and avoid configuring routing information for each node in the data link in the data communication proxy device, the path indication information can be determined based on the identifier (or IP address, etc.) of each node in the data link.

[0121] Furthermore, since the first node in the data chain is the data source corresponding to the data chain, and the data (such as the first data) is issued by the data source without requiring additional instructions to the data source in the data chain, each node in the above data chain can also be a data processing node in the data chain other than the data source. Taking the above data chain A: RAN1---SDPF1---SDPF2---AS2 as an example, the data source is RAN1, and each data processing node in the data chain can refer to SDPF1, SDPF2, and AS2.

[0122] Taking data chain A as an example: RAN1---SDPF1---SDPF2---AS2, where DCP1 is configured with identifiers 7, 5, and 4 for SDPF1, SDPF2, and AS2 respectively, and the path indication information can be 754. The orchestration node can send path indication information 754 to the data source (i.e., RAN1) to indicate data chain A.

[0123] Taking DCP1 as the data communication proxy device, and the data link for the first data transmission as data link A: RAN1---SDPF1---SDPF2---AS2, with path indication information 754 as an example, the first data sent by SDPF1 may include the path indication information 754. After DCP1 receives the first data, the path indication information carried in the first data is 754, and the identifier of SDPF1 is 7. The data communication proxy can determine that the identifier of the next hop node (i.e., the first node) of the first data is 5, and the next hop node is SDPF2.

[0124] In one possible implementation, to avoid directly revealing the path of the data chain, the path indication information can be determined based on the identifier and remaining hop count of each data processing node in the data chain, as well as the coprime array.

[0125] The coprime array, also known as the coprime list, consists of at least two coprime numbers that satisfy a coprime relationship. Any two numbers in the coprime array must be coprime; that is, the coprime array must contain at least two coprime numbers. For example, the coprime array might contain {3, 4}, or {3, 4, 5}, or {3, 4, 5, 7}, or {3, 4, 5, 7, 11}, etc. For any data processing node in the data chain of the first data transmission, a coprime number corresponding to that data processing node can be determined from the coprime array based on the remaining hop count of that data processing node in the data chain. For example, a data processing node with a remaining hop count of N can correspond to the Nth coprime number in the coprime array; or, a data processing node with a remaining hop count of N can correspond to the Nth coprime number from the end of the coprime array.

[0126] Taking the data chain A as RAN1---SDPF1---SDPF2---AS2, with a coprime array including {10, 11, 13, 17, 19, 23, 29, 31}, and the data processing node with a remainder of N corresponding to the Nth coprime number in the coprime array, the data processing nodes in the data chain, excluding the data source, are SDPF1, SDPF2, and AS2. SDPF1 is identified as 7, SDPF2 as 5, and AS2 as 4. The orchestration nodes can determine the path indication information used to indicate the data chain based on the Chinese Remainder Theorem (CRT). The data chain includes three data processing nodes: SDPF1, SDPF2, and AS2. The remaining hop counts of SDPF1, SDPF2, and AS2 in data chain A are 3, 2, and 1, respectively. Three prime numbers are selected from the coprime array: 13 (corresponding to 7, 7 is used to determine SDPF1), 11 (corresponding to 5, 5 is used to determine SDPF2), and 10 (corresponding to 4, 4 is used to determine AS2).

[0127] m1=13, m2=11, m3=10, s1=7, s2=5, s3=4;

[0128] P=m1*m2*m3=13*11*10=1430;

[0129] M1=P / m1=110, M2=P / m2=130, M3=P / m3=143;

[0130] M1 -1 =11, M2 -1 =5, M3 -1 =7; (1)

[0131] From formula (1), we can see that the path indication information is: [(s1*M1*M1 -1 )+(s2*M2*M2 -1 )+(s3*M3*M3 -1 )]mod1430=1424. Where, s1=1424mod 13=7, s2=1424mod 11=5, s3=1424mod 10=4. mod represents the remainder. Where, M1 -1 This represents the inverse of M1 with respect to m1 (i.e., M1*M1). -1 mod m1=1), M2 -1 M2 represents the modular inverse of m2, and M3 represents the modular inverse of m2. -1 This represents the inverse of M3 with respect to m3.

[0132] Taking the data link as data link A above: RAN1---SDPF1---SDPF2---AS2, path indication information as 1430, data communication proxy device as DCP1, and the corresponding data processing node with remaining hop count N corresponding to the Nth coprime number in the coprime array as an example, after the data source (e.g., RAN1) receives the path indication information and hop count indication information (e.g., 3, indicating 3 remaining hops) from the orchestration node, RAN1 can send the first data (e.g., sensing data) including the path indication information (e.g., 1430) and hop count indication information (e.g., 3) to DCP1; DCP1 can determine the coprime array {10, 11, 13, 17, 19, 23, ...} based on the path indication information (e.g., 1424) and the remaining hop count 3 indicated by the hop count indication information. In the sequence {29, 31}, the coprime number corresponding to the remaining hop number 3 (i.e., the 3rd coprime number in the coprime array) is 13, and 1424 mod 13 = 7. Therefore, DCP1 sends this first data to SDPF1, which is identified as 7. The remaining hop number corresponding to the data link is reduced by 1, and the remaining hop number indicated by the hop number indicator changes to 2. After receiving the data from DCP1, SDPF1 processes the first data and can send the processed first data back to DCP1. DCP1 can determine, based on the path indicator information (e.g., 1424) and the remaining hop number 2 indicated by the hop number indicator, that the coprime number corresponding to the remaining hop number 2 in the coprime array {10, 11, 13, 17, 19, 23, 29, 31} is 11, and 1424 mod 13 = 7. If 11 = 5, then DCP1 sends data to SDPF2, which is identified as 5, where the remaining hop count corresponding to the data link is reduced by 1, and the remaining hop count indicated by the hop count indicator is changed to 1. After receiving the first data from DCP1, SDPF2 processes the first data and can send the processed first data back to DCP1. DCP1 can determine the coprime number (i.e., the first coprime number in the coprime array) corresponding to the remaining hop count 1 in the coprime array {10, 11, 13, 17, 19, 23, 29, 31} based on the path indicator information (such as 1424) and the remaining hop count 1 indicated by the hop count indicator information, which is 10. 1424 mod 10 = 4, then DCP1 sends the first data to AS2, which is identified as 4, where the remaining hop count corresponding to the data link is reduced by 1, and the remaining hop count indicated by the hop count indicator is changed to 0.

[0133] In this way, after receiving the first data including path indication information and hop count indication information, the data communication proxy device can determine the next hop node (i.e., the first node) of the first data, and avoid the problem of path indication information leaking the data chain path. It is understood that in the embodiments of this application, "substitutable" refers to the substitutability of node functions rather than node backup. A second node being able to replace a first node means that the second node can replace the first node in completing some or all of the data processing services that the first node needs to perform. The capabilities of the second node can include all the capabilities of the first node (such as all data processing capabilities), or cover the capabilities required by the first node in a certain data chain (or data service or data task). The second node that can replace the first node may or may not be in the same data chain as the first node; this application does not impose any limitations. For example, both the second node and the first node may be in the data chain of the first data transmission, or the second node may not be in the data chain of the first data transmission.

[0134] The data transmission method provided in this application embodiment allows the data communication proxy device to determine a second node that can replace the first node after determining that the first node of the next hop in the data transmission is faulty and unable to complete the data processing service, based on a first mapping relationship. The second node then replaces the faulty first node to complete the data processing service, thus avoiding data transmission interruption and ensuring the continuity of data transmission. Furthermore, the second node is not a backup node for the first node. The second node normally executes the data processing service required by the first node in the network, only completing the data processing service required by the first node in the event of a fault. Therefore, there is no need to back up each node in the network, reducing resource waste caused by disaster recovery backup and lowering the difficulty and cost of network deployment.

[0135] The communication device provided in the embodiments of this application will be described below. Please refer to... Figure 7 , Figure 7 This is a schematic diagram of a communication device according to an embodiment of this application. The communication device may include units or modules corresponding to all or part of the steps in the above method embodiments, and can be used to execute the steps executed by the data communication proxy device in the above embodiments. Please refer to the relevant descriptions in the above method embodiments for details.

[0136] like Figure 7 As shown, the communication device 700 includes a processing unit 710 and an interface unit 720, wherein the processing unit 710 may be a processor or a processing circuit, and the interface unit 720 may be a transceiver unit or an input / output interface. The communication device 700 can be used to implement the steps performed by the data communication proxy device in the above embodiments.

[0137] When the communication device 700 is used to implement the steps performed by the data communication proxy device in the above embodiments:

[0138] Interface unit 720 is used to receive first data, where the next hop node of the first data is the first node;

[0139] The processing unit 710 is configured to, in response to a first node failure, determine a second node identifier based on the first node identifier of the first node and a first mapping relationship, wherein the second node corresponding to the second node identifier is a replaceable node of the first node, and the first mapping relationship is used to indicate that the second node can replace the first node.

[0140] Interface unit 720 is also used to send the first data to the second node.

[0141] In one possible design, the first data includes path indication information and hop count indication information. The path indication information is used to indicate the data chain for transmitting the first data, and the hop count indication information is used to indicate the remaining hop count corresponding to the first data. The path indication information and hop count indication information are used to determine the first node.

[0142] In one possible design, the path indication information is determined based on the node identifier and remaining hop count of each node in the data chain, as well as a coprime array, and the data chain includes the first node.

[0143] In one possible design, the interface unit 720 is further configured to receive first capability information, which indicates one or more capabilities supported by the first node; and to receive second capability information, which indicates one or more capabilities supported by the second node; the processing unit 710 is further configured to determine a first mapping relationship in response to the first capability information and the second capability information satisfying a first condition.

[0144] In one possible design, the first capability information and the second capability information satisfy a first condition, including: one or more capabilities supported by the second node indicated by the second capability information include one or more capabilities supported by the first node indicated by the first capability information.

[0145] In one possible design, the first capability information and the second capability information satisfy a first condition, including: one or more capabilities supported by the second node include the first capability, which is the capability applied by the first node in the data link of the first data transmission.

[0146] In one possible design, the first mapping relationship is contained in a first mapping table, which includes node identifiers and address information corresponding to one or more nodes in the data chain (or transmission path) of the first data transmission, as well as node identifiers of alternative nodes corresponding to at least one of the one or more nodes, the data chain including the first node.

[0147] In one possible design, the data chain also includes a second node.

[0148] like Figure 8 As shown, this application also provides a communication device 800, including a processor 810 and potentially a communication interface 820. The processor 810 and the communication interface 820 are coupled to each other. It is understood that the communication interface 820 can be a transceiver, input / output interface, input interface, output interface, interface circuit, etc. Optionally, the communication device 800 may further include a memory 830 for storing instructions executed by the processor 810, or storing input data required by the processor 810 to execute instructions, or storing data generated after the processor 810 executes instructions. The memory 830 can be a physically independent unit, or it can be coupled to the processor 810, or the processor 810 may include the memory 830.

[0149] When the communication device 800 is used to implement the steps executed by the data communication proxy device in the above embodiments, the processor 810 can be used to implement the function of the processing unit 710, and the communication interface 820 can be used to implement the function of the interface unit 720.

[0150] In this application embodiment, the processor (e.g., processor 810) can be one or more central processing units (CPUs). If the processor is a CPU, it can be a single-core CPU or a multi-core CPU. The processor can also be one or a combination of several of the following: CPU, general-purpose processor, application-specific integrated circuit (ASIC), digital signal processor (DSP), microprocessor unit (MPU), microcontroller unit (MCU), graphics processing unit (GPU), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, artificial intelligence processor (AI processor), or neural processing unit (NPU). The processor can implement or execute the methods, steps, and logic block diagrams disclosed in this application embodiment. The steps of the methods disclosed in this application embodiment can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0151] In this embodiment, the memory (e.g., memory 830) may include, but is not limited to, cache, read-only memory (ROM), random access memory (RAM), synchronous dynamic random access memory (SDRAM), hard disk drive (HDD) or solid-state drive (SSD), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), etc. Memory is any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible by a computer, but is not limited thereto. The memory in this embodiment may also be a circuit or any other device capable of implementing storage functions for storing computer programs or instructions, and / or data.

[0152] It is understood that the method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory, flash memory, read-only memory, programmable read-only memory, erasable programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Additionally, the ASIC can reside in a network device or a terminal device. Alternatively, the processor and storage medium can exist as discrete components in the network device or terminal device.

[0153] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one network device, terminal, computer, server, or data center to another network device, terminal, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video optical disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or non-volatile storage medium, or may include both types of storage media.

[0154] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0155] Additionally, it should be understood that in the embodiments of this application, the term "exemplary" is used to indicate that it is an example, illustration, or description. Any embodiment or design scheme described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner.

[0156] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

Claims

1. A data transmission method, characterized in that, include: Receive the first data, where the next hop node of the first data is the first node; In response to the failure of the first node, a second node identifier is determined based on the first node identifier and the first mapping relationship of the first node, wherein the second node corresponding to the second node identifier is a replaceable node of the first node, and the first mapping relationship is used to indicate that the second node can replace the first node; Send the first data to the second node.

2. The method as described in claim 1, characterized in that, The first data includes path indication information and hop count indication information. The path indication information is used to indicate the data chain for transmitting the first data, and the hop count indication information is used to indicate the remaining hop count corresponding to the first data. The path indication information and the hop count indication information are used to determine the first node.

3. The method as described in claim 2, characterized in that, The path indication information is determined based on the node identifier and remaining hop count corresponding to each node in the data chain, as well as the coprime array, and the data chain includes the first node.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: Receive first capability information, which indicates one or more capabilities supported by the first node; Receive second capability information, which indicates one or more capabilities supported by the second node; In response to the first capability information and the second capability information satisfying the first condition, the first mapping relationship is determined.

5. The method as described in claim 4, characterized in that, The first capability information and the second capability information satisfy a first condition, including: The second capability information indicates that the second node supports one or more capabilities, including the first capability information indicates that the first node supports one or more capabilities.

6. The method as described in claim 4, characterized in that, The first capability information and the second capability information satisfy a first condition, including: The second node supports one or more capabilities, including a first capability, which is the capability applied by the first node in the data chain of the first data transmission.

7. The method according to any one of claims 1-6, characterized in that, The first mapping relationship is contained in a first mapping table, which includes node identifiers and address information corresponding to one or more nodes in the data chain of the first data transmission, as well as node identifiers of alternative nodes corresponding to at least one of the one or more nodes, wherein the data chain includes the first node.

8. The method as described in claim 7, characterized in that, The data chain also includes the second node.

9. A communication device, characterized in that, Includes modules or units for performing the method as described in any one of claims 1-8.

10. A communication device, characterized in that, It includes a processor and an interface circuit, the interface circuit being used for inputting and / or outputting signals, and the processor being used to implement the method as described in any one of claims 1-8 through logic circuits or executing instructions.

11. The apparatus as claimed in claim 10, characterized in that, It also includes a memory for storing the instructions.

12. A computer program product, characterized in that, It includes a computer program or instructions that, when executed by a processor, cause the method as described in any one of claims 1-8 to be implemented.

13. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions that, when executed by a processor, cause the method as described in any one of claims 1-8 to be implemented.