Data transmission method, apparatus and system
Patent Information
- Application Number
- CN202110482493.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-30
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2041-04-30
AI Technical Summary
[0006]本申请实施例提供一种数据传输方法、装置及系统,用于解决现有的宽带接入结构无法为新出现业务提供SLA保障的问题
[0035] The technical effects of any of the implementation methods in aspects two through seven can be found in the technical effects of different implementation methods in aspect one, and will not be repeated here.
Smart Images

Figure CN115277460B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to data transmission methods, apparatus and systems. Background Technology
[0002] The broadband access structure defined in the prior art is as follows: Figure 1 As shown, it is mainly divided into three parts: residential gateway (RG), access network, and broadband network.
[0003] However, existing broadband access infrastructure faces the following problems when transmitting data:
[0004] Unlike traditional triple-play services, some emerging services, such as cloud computing, home office, overseas education, overseas gaming, and cross-border e-commerce (OTT) services, provide users with various over-the-top (OTT) applications and require operators to guarantee a certain level of network quality. However, in the existing broadband access architecture, all internet services (including the aforementioned triple-play and OTT services) are transmitted within the same internet service stream, sharing transmission paths and bandwidth. This results in the lack of service-level agreement (SLA) guarantees for these OTT services. Here, SLA guarantees can be understood as network quality guarantees provided by the operator.
[0005] Therefore, how to provide SLA guarantees for newly emerging businesses is an urgent problem to be solved. Summary of the Invention
[0006] This application provides a data transmission method, apparatus, and system to address the problem that existing broadband access structures cannot provide SLA guarantees for newly emerging services.
[0007] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:
[0008] Firstly, a data transmission method is provided, comprising: an optical network terminal (ONT) receiving a first data packet; the ONT matching first information of the first data packet with a first information database stored locally or remotely, wherein the service corresponding to the first information in the first information database is within a pre-configured service set; when the first information of the first data packet is not present in the first information database, the ONT sending the first data packet to a first server corresponding to the first service via a first path, and if the first service is within the pre-configured service set, the ONT adding the first information of the first data packet to the first information database, wherein the first service is the service corresponding to the first data packet; and when the first information of the first data packet is present in the first information database, the ONT sending the first data packet to the first server via a second path. Based on the data transmission method provided in this application, when the first information of the first data packet is not present in the first information database, if the first service is within the pre-configured service set, the ONT adding the first information of the first data packet to the first information database means that when the ONT subsequently receives a data packet with the same first information as the first data packet, the data packet can be transmitted to the server via the second path. In other words, services within the pre-configured service set, whether it is the first packet (not the first packet) or the first packet whose first information is already in the first information database before receiving the first packet, can all be transmitted via the second path. Understandably, if the first service is not within the pre-configured service set, the ONT will not add the first information of the first data packet to the first information database. Therefore, for services not within the pre-configured service set, the first information of the data packet will not be in the first information database, and the data of services not within the pre-configured service set will be transmitted through the first path. Therefore, compared to the existing solution that mixes all service data for transmission, this solution can separate the data of services within the service set from the data of services outside the service set, providing SLA guarantees for newly emerging services.
[0009] In conjunction with the first aspect described above, in one possible implementation, the ONT determines that the first service corresponding to the first data packet is within a pre-configured service set, including: the ONT determining that the first service corresponding to the first data packet is within the pre-configured service set based on second information of the first data packet, wherein the second information reflects the first service corresponding to the first data packet. Based on this scheme, the ONT can identify the first service corresponding to the first data packet based on the second information of the data packet and determine whether the first service corresponding to the first data packet is within the pre-configured service set.
[0010] In conjunction with the first aspect described above, in one possible implementation, before the ONT sends the first data packet to the first server via the second path, the method further includes: the ONT determining that the service corresponding to the first data packet is the first service; and the ONT determining the second path based on the correspondence between the identification information of the first service and the identification information of the second path. Since the second path in this scheme is at the service granularity, service-granularity-based path partitioning can be implemented during service data transmission, further ensuring the service's Service Level Agreement (SLA).
[0011] In conjunction with the first aspect mentioned above, in one possible implementation, the correspondence between the identification information of the first service and the identification information of the second path is stored in the ONT; or, the correspondence between the identification information of the first service and the identification information of the second path is stored in the cloud management platform connected to the ONT. Based on this solution, two storage methods for the correspondence between the identification information of the first service and the identification information of the second path are provided, and a suitable method can be selected for storage according to actual needs.
[0012] In conjunction with the first aspect described above, in one possible implementation, before the ONT sends the first data packet to the first server via the second path, the method further includes: the ONT determining the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path. Based on this scheme, when a service uniquely corresponds to the first information of one data packet, path partitioning based on service granularity can be achieved; when a service can correspond to the first information of multiple data packets, path partitioning based on a smaller service granularity can be achieved. Therefore, based on this scheme, the SLA of the service can be further guaranteed.
[0013] In conjunction with the first aspect mentioned above, in one possible implementation, the correspondence between the first information of the first data packet and the identification information of the second path is stored in the ONT; or, the correspondence between the first information of the first data packet and the identification information of the second path is stored in the cloud management platform connected to the ONT. Based on this solution, two storage methods for the correspondence between the first information of the first data packet and the identification information of the second path are provided, and a suitable method can be selected for storage according to actual needs.
[0014] In conjunction with the first aspect mentioned above, in one possible implementation, the first information database is locally stored in the ONT. Before the ONT receives the first data packet, the method further includes: the ONT receiving the first information of the first data packet from the cloud management platform; and the ONT storing the first information of the first data packet in the first information database. Based on this scheme, the first information in the first information databases of all ONTs connected to the cloud management platform can be synchronously updated through the cloud management platform. Furthermore, if an ONT receives the first packet of a service within a pre-configured service set, but the first information of this first packet was not previously stored in the first information database, through synchronous updates by the cloud management platform, if other ONTs subsequently receive data packets of this service, they can directly transmit the data packets through the second path, saving the time and resources of other ONTs in identifying data packet services.
[0015] In conjunction with the first aspect mentioned above, in one possible implementation, the first information of the first data packet includes the Internet Protocol (IP) address, 5-tuple information, or service traffic characteristic information of the first data packet. Based on this solution, various types of first information are provided, and the appropriate first information can be selected to configure the first information database according to actual needs.
[0016] In conjunction with the first aspect mentioned above, in one possible implementation, the second path is an overlay network tunnel. Based on this scheme, data packets can be transmitted directly from the starting point to the ending point of the overlay network tunnel, and then from the ending point to the first server, enabling point-to-point communication without considering the distribution of physical network devices in the physical infrastructure layer. Therefore, compared to existing schemes that transmit based on the physical infrastructure layer, this scheme can guarantee end-to-end service quality.
[0017] In conjunction with the first aspect mentioned above, one possible implementation is that the first information repository is stored locally in the ONT; or, the first information repository is stored off-site in a cloud management platform connected to the ONT. Based on this solution, two storage methods for the first information repository are provided, allowing users to choose the appropriate method based on their actual needs.
[0018] In conjunction with the first aspect mentioned above, in one possible implementation, the service set includes: value-added services or OTT services that provide various application services to users via the Internet. Based on this solution, value-added services or OTT services can be transmitted separately from other services, thereby achieving SLA guarantees for value-added services or OTT services.
[0019] Secondly, an optical network terminal (ONT) is provided to implement the above-described method. This ONT has the function of implementing the method described in the first aspect. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function. For example, the first device may include a transceiver module and a processing module. The transceiver module is used to receive a first data packet; the processing module is used to match the first information of the first data packet with a first information database stored locally or remotely, wherein the service corresponding to the first information in the first information database is within a pre-configured service set; when the first information of the first data packet is not found in the first information database, the processing module is further used to send the first data packet to the first server corresponding to the first service through the transceiver module via a first path, and when the processing module determines that the first service is within the pre-configured service set, the processing module is further used to add the first information of the first data packet to the first information database, wherein the first service is the service corresponding to the first data packet; when the first information of the first data packet exists in the first information database, the processing module is used to send the first data packet to the first server through a second path through the transceiver module.
[0020] In conjunction with the second aspect above, in one possible implementation, the processing module determines that the first service corresponding to the first data packet is within a pre-configured service set, including: the processing module is used to determine, based on the second information of the first data packet, that the first service corresponding to the first data packet is within a pre-configured service set, wherein the second information is used to reflect the first service corresponding to the first data packet.
[0021] In conjunction with the second aspect above, in one possible implementation, before the processing module sends the first data packet to the first server via the second path through the transceiver module, the processing module is further configured to determine that the service corresponding to the first data packet is the first service; the processing module is further configured to determine the second path based on the correspondence between the identification information of the first service and the identification information of the second path.
[0022] In conjunction with the second aspect mentioned above, in one possible implementation, the ONT further includes a storage module, in which the correspondence between the identification information of the first service and the identification information of the second path is stored; or, the correspondence between the identification information of the first service and the identification information of the second path is stored in a cloud management platform connected to the ONT.
[0023] In conjunction with the second aspect above, in one possible implementation, before the processing module sends the first data packet to the first server via the second path through the transceiver module, the processing module is further configured to determine the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path.
[0024] In conjunction with the second aspect above, in one possible implementation, the ONT further includes a storage module, in which the correspondence between the first information of the first data packet and the identification information of the second path is stored; or, the correspondence between the first information of the first data packet and the identification information of the second path is stored in a cloud management platform connected to the ONT.
[0025] In conjunction with the second aspect above, in one possible implementation, the ONT further includes a storage module, with the first information database stored locally in the storage module. Before the transceiver module receives the first data packet, the transceiver module is also used to receive the first information of the first data packet from the cloud management platform; the processing module is also used to store the first information of the first data packet in the first information database.
[0026] In conjunction with the second aspect above, in one possible implementation, the first information of the first data packet includes the Internet Protocol (IP) address, 5-tuple information, or service traffic characteristic information of the first data packet.
[0027] In conjunction with the second aspect mentioned above, in one possible implementation, the second path is an overlay network tunnel.
[0028] In conjunction with the second aspect mentioned above, in one possible implementation, the ONT also includes a storage module, with the first information database stored locally in the storage module; or, the first information database is stored off-site in a cloud management platform connected to the ONT.
[0029] In conjunction with the second aspect above, in one possible implementation, the service set includes: value-added services or OTT services that provide various application services to users via the Internet.
[0030] Thirdly, an optical network terminal (ONT) is provided, comprising: a processor and a memory; the memory is used to store computer execution instructions, and when the first device is running, the processor executes the computer execution instructions stored in the memory to cause the first device to perform the data transmission method as described in any one of the first aspects above.
[0031] Fourthly, an optical network terminal (ONT) is provided, comprising: a processor; the processor is configured to be coupled to a memory, and after reading instructions from the memory, execute a data transmission method as described in any one of the first aspects above according to the instructions.
[0032] Fifthly, a computer-readable storage medium is provided that stores instructions which, when executed on a computer, enable the computer to perform the data transmission method described in any one of the first aspects.
[0033] In a sixth aspect, a computer program product containing instructions is provided, which, when run on a computer, enables the computer to perform the data transmission method described in any one of the first aspects.
[0034] In a seventh aspect, an apparatus (e.g., a chip system) is provided, comprising a processor for supporting an optical network terminal (ONT) in implementing the functions described in the first aspect above. In one possible design, the apparatus further comprises a memory for storing necessary program instructions and data of the ONT. When the apparatus is a chip system, it may be composed of chips or may include chips and other discrete devices.
[0035] The technical effects of any of the implementation methods in aspects two through seven can be found in the technical effects of different implementation methods in aspect one, and will not be repeated here. Attached Figure Description
[0036] Figure 1 A schematic diagram of the existing broadband access infrastructure;
[0037] Figure 2 This application provides a schematic diagram of the architecture of a communication system.
[0038] Figure 3 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0039] Figure 4 A flowchart illustrating a data transmission method provided in an embodiment of this application;
[0040] Figure 5 A schematic diagram of a broadband access architecture provided in an embodiment of this application;
[0041] Figure 6 A flowchart illustrating a specific example provided in an embodiment of this application;
[0042] Figure 7 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation
[0043] Before describing the embodiments of this application in detail, in order to facilitate understanding of the technical solutions of the embodiments of this application, a brief introduction to the relevant technical terms of this application is given as follows:
[0044] 1. OTT (over-the-top) services:
[0045] OTT services refer to internet companies bypassing telecom operators to develop various video and data services based on the open internet. Currently, typical OTT services include internet TV, cloud services, home office solutions, overseas education, overseas gaming, and cross-border e-commerce.
[0046] 2. Physical base layer network (underlay network), overlay network, tunneling, and overlay network tunneling:
[0047] The physical infrastructure layer network is the underlying network consisting of connections between different physical network devices, and it is responsible for transmitting data packets across the network. In a data center environment, the role of the physical infrastructure layer network is to provide Internet Protocol (IP) address connections from any physical network device (server, storage device, router, or switch) to any other physical network device.
[0048] An overlay network refers to a virtual computer network built on top of a physical infrastructure network. Its basic framework involves enabling applications to run on the physical infrastructure network without significant modifications. For example, taking the Internet as an example, many peer-to-peer (P2P) networks are overlay networks because they operate on top of the Internet. An overlay network consists of multiple nodes and the connections between them. Data is transmitted from one node to another through these connections. It's important to note that nodes in an overlay network are not actual physical network devices, although each node may correspond to a physical network device in the physical infrastructure network. Similarly, the connections between different nodes in an overlay network are logical concepts, not actual physical links. They are likely a collection of multiple physical links, virtualized using specific strategies.
[0049] Tunneling technology is a method of transmitting data between networks using the infrastructure of an internetwork. The data (or payload) transmitted via tunneling can be data packets (also called data frames) of different protocols. The tunneling protocol re-encapsulates these packets before sending them through the tunnel. The new packet header obtained after re-encapsulation provides routing information to facilitate the transmission of the encapsulated payload data over the internet. Through point-to-point communication protocols, tunneling technology enables network services from different information sources to be transmitted within the same infrastructure through the same tunnel.
[0050] An overlay network tunnel is a tunnel used to transmit data within an overlay network. The start and end points of an overlay network tunnel can both correspond to nodes within the overlay network. Therefore, an overlay network tunnel allows data transmission to bypass the distribution of physical network devices in the physical infrastructure layer, moving directly from one physical network device to another, and traversing physical network devices directly from the start to the end point of the overlay network tunnel.
[0051] 3. Triple-play service:
[0052] Triple Play is a bundled service model that integrates voice, data, and video services. It provides three services: high-speed internet, television (requested video and general broadcast), and telephone service over a single broadband connection. In existing broadband access infrastructure, service planning is based on coarse-grained triple play, with uplink quality of service (QoS) scheduling performed at the physical infrastructure layer network.
[0053] 4. Five-tuple
[0054] A quintuple typically refers to a set of five quantities in a data packet: the source IP address, source port, destination IP address, destination port, and transport layer protocol.
[0055] Figure 1 This is a schematic diagram of the existing broadband access infrastructure. (For example...) Figure 1As shown, the existing broadband access infrastructure is mainly divided into three parts: residential gateway (RG), access network, and broadband network. Among them, the optical network terminal (ONT) or optical network unit (ONU) is the device in the access network that provides network access to home users. When a home user's terminal device requests access services, the data packets of the service flow are transmitted from the terminal device through the RG to the ONT, and then through the optical distribution network (ODN) and optical line terminal (OLT) to the Ethernet aggregation device (eth agg). Furthermore, in one transmission method, data packets are transmitted from the Ethernet aggregation device to the broadband network gateway (BNG). The BNG assigns a destination address to the data packet based on information characterizing the destination address, such as the IP address of the network service provider (NSP) or application service provider (ASP). Then, through a layer 2 tunneling server (L2TS), the data packet is transmitted to the destination address according to the layer 2 tunneling protocol (L2TP). Alternatively, QoS scheduling is performed based on the IP address of the data packet (corresponding to...). Figure 1 In one method, IP-QoS transmits data packets to the destination address. In another method, data packets are transmitted via a leased line from an Ethernet aggregation device to the destination address or BNG.
[0056] With the development of communication technology, unlike traditional triple-play services, some emerging services, such as cloud services, home office, overseas education, overseas gaming, and cross-border e-commerce (OTT) services, require operators to guarantee a certain level of network quality. However, in the existing broadband access architecture, all Internet services (including the aforementioned triple-play and OTT services) are transmitted within the same Internet service stream, sharing transmission paths and bandwidth, resulting in a lack of Service Level Agreement (SLA) guarantees for these OTT services. Therefore, how to provide SLA guarantees for these emerging services is a pressing issue that needs to be addressed.
[0057] Based on this, this application proposes a data transmission method, apparatus, and system to solve the problem that existing business data transmission schemes cannot provide SLA guarantees for newly emerging services.
[0058] The technical solutions of the embodiments of this application will be described below with reference to the accompanying drawings. In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can represent A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. Furthermore, in the description of this application, unless otherwise stated, "multiple" refers to two or more. "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 can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple. Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.
[0059] Figure 2 A schematic diagram of the architecture of a communication system 20 applying the data transmission method provided in the embodiments of this application. (See attached diagram.) Figure 2As shown, the communication system 20 includes an ONT 30 and a first server 40. The ONT 30 is used to receive a first data packet. The ONT 30 is also used to match the first information of the first data packet with a first information database stored locally or remotely. The service corresponding to the first information in the first information database is within a pre-configured service set. When the first information of the first data packet is not found in the first information database, the ONT 30 sends the first data packet to the first server corresponding to the first service via a first path. If the ONT 30 determines that the first service is within the pre-configured service set, the ONT 30 adds the first information of the first data packet to the first information database, where the first service is the service corresponding to the first data packet. When the first information of the first data packet exists in the first information database, the ONT 30 sends the first data packet to the first server 40 via a second path. The first server 40 is used to receive the first data packet. The specific implementation and technical effects of this scheme will be described in detail in subsequent method embodiments and will not be repeated here.
[0060] It should be understood that Figure 2 This is merely an exemplary schematic diagram of the architecture of a communication system 20 applying the data transmission method provided in the embodiments of this application, and does not limit the communication system 20 to include only one ONT 30 or one first server 40. In other words, the communication system 20 may include multiple ONT 30s or multiple first servers 40, which will be uniformly stated here and will not be elaborated further below.
[0061] Optional, such as Figure 2 As shown, the communication system 20 may further include a cloud management platform 50. The cloud management platform 50 can communicate directly with the ONT 30, or it can communicate through forwarding from other devices; this embodiment does not specifically limit this. The cloud management platform 50 is used to send first information of the first data packet to the ONT 30. The ONT 30 is used to receive the first information of the first data packet from the cloud management platform 50 and store the first information of the first data packet in a first information database.
[0062] Optionally, the functions of ONT30, the first server 40, or the cloud management platform 50 in this application embodiment can be implemented by one device, multiple devices, or one or more functional modules within a single device. This application embodiment does not specifically limit these functions. It is understood that the above functions can be network elements in hardware devices, software functions running on dedicated hardware, a combination of hardware and software, or virtualization functions instantiated on a platform (e.g., a cloud platform).
[0063] For example, the functions related to ONT30, the first server 40, or the cloud management platform 50 in the embodiments of this application can be achieved through... Figure 3This is achieved through the communication device 300. Figure 3 The diagram shown is a structural schematic of a communication device 300 provided in an embodiment of this application. The communication device 300 includes one or more processors 301, a communication line 302, and at least one communication interface. Figure 3 (This is merely an example illustration, using a communication interface 304 and a processor 301 as examples. Optionally, a memory 303 may also be included.)
[0064] The processor 301 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.
[0065] Communication line 302 may include a path for connecting different components.
[0066] The communication interface 304 can be a transceiver module used to communicate with other devices or communication networks, such as Ethernet, RAN, wireless local area networks (WLAN), etc. For example, the transceiver module can be a transceiver or a similar device. Optionally, the communication interface 304 can also be a transceiver circuit located within the processor 301, used to implement the processor's signal input and signal output.
[0067] Memory 303 can be a device with storage function. For example, it can be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; electrically erasable programmable read-only memory (EEPROM); compact disc read-only memory (CD-ROM) or other optical disc storage; optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.); magnetic disk storage media or other magnetic storage devices; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited to these. Memory can exist independently and be connected to the processor via communication line 302. Memory can also be integrated with the processor.
[0068] The memory 303 stores computer execution instructions for implementing the scheme of this application, and its execution is controlled by the processor 301. The processor 301 executes the computer execution instructions stored in the memory 303, thereby implementing the data transmission method provided in the embodiments of this application.
[0069] Alternatively, in this embodiment, the processor 301 may execute the processing-related functions in the data transmission method provided in the following embodiments of this application, and the communication interface 304 may be responsible for communicating with other devices or communication networks. This embodiment does not specifically limit this.
[0070] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, and the embodiments of this application do not specifically limit this.
[0071] In a specific implementation, as one example, processor 301 may include one or more CPUs, for example... Figure 3 CPU0 and CPU1 in the CPU.
[0072] In a specific implementation, as one example, the communication device 300 may include multiple processors, such as... Figure 3 The processors 301 and 307 are described above. Each of these processors can be a single-core processor or a multi-core processor. The processors described above can include, but are not limited to, at least one of the following: a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a microcontroller unit (MCU), or an artificial intelligence processor, etc., and various computing devices that run software. Each computing device may include one or more cores for executing software instructions to perform calculations or processing.
[0073] In a specific implementation, as one embodiment, the communication device 300 may further include an output device 305 and an input device 306. The output device 305 communicates with the processor 301 and can display information in various ways. For example, the output device 305 may be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 306 communicates with the processor 301 and can receive user input in various ways. For example, the input device 306 may be a mouse, keyboard, touchscreen device, or sensing device, etc.
[0074] The aforementioned communication device 300 may sometimes be referred to as a communication device, which can be a general-purpose device or a special-purpose device. For example, the communication device 300 may be a desktop computer, a portable computer, a network server, a handheld digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, an embedded device, the aforementioned terminal device, the aforementioned network device, or a device with... Figure 3 Devices with similar structures. This application does not limit the type of communication device 300 to any particular embodiment.
[0075] The following will combine Figures 1 to 3 The data transmission method provided in the embodiments of this application will be described in detail.
[0076] like Figure 4 The image shows a data transmission method provided in an embodiment of this application. The data transmission method includes the following steps S401-S404:
[0077] S401, ONT receives the first data packet from the terminal device.
[0078] S402, ONT matches the first information of the first data packet with the first information database stored locally or remotely. The service corresponding to the first information in the first information database is within the pre-configured service set.
[0079] S403. When the first information of the first data packet does not exist in the first information database, the ONT sends the first data packet to the first server corresponding to the first service through the first path. If the ONT determines that the first service is within the pre-configured service set, the ONT adds the first information of the first data packet to the first information database. The first service is the service corresponding to the first data packet.
[0080] S404. When the first information of the first data packet exists in the first information database, the ONT will send the first data packet to the first server through the second path.
[0081] The following describes steps S401-S404.
[0082] It should be noted that, in this embodiment, the first packet of a service refers to the first data packet of the service flow corresponding to that service, and the non-first packets of a service refer to the data packets following the first data packet of the service flow corresponding to that service. This will be explained uniformly here and will not be repeated below.
[0083] It should be noted that in this embodiment, ONT can also be referred to as an ONT gateway. This will be explained here and will not be repeated below.
[0084] Regarding step S401 above:
[0085] In this embodiment, after receiving the first data packet from the terminal device, the ONT can determine the first information of the first data packet. Optionally, in this embodiment, the first information of the first data packet includes the destination IP address, 5-tuple information, or service traffic characteristic information of the first data packet.
[0086] Regarding step S402 above:
[0087] In one possible implementation, the first information database can be stored locally in the ONT. In this approach, the ONT can query the local first information database to match the first information of the first data packet with the first information stored in the first information database.
[0088] Alternatively, in another possible implementation, the first information database can be stored remotely in a cloud management platform connected to the ONT, where the connection refers to a network connection. In this method, the ONT can query the first information database stored on the cloud management platform connected to the ONT, and match the first information of the first data packet with the first information stored in the first information database.
[0089] It should be noted that, in this embodiment, the local storage and off-site storage of the first information database can coexist. For example, the ONT and the cloud management platform each store a first information database. Optionally, the ONT and the cloud management platform can update or delete the first information in their own stored first information databases through interactive information to maintain the consistency of the first information in each first information database.
[0090] In this embodiment of the application, the first information in the first information database corresponds to a service, and the corresponding service is within a pre-configured service set. This will be described in detail below.
[0091] In this embodiment, there is a correspondence between the first information and the service. For the same service, there may be multiple service flows. For the same service flow, the first information of the data packets (including the first packet and non-first packets) is the same. The first information of the data packets of different service flows may be different, but they all correspond to the same service. For example, the first information of the data packet is the destination IP address. Game A service has two service flows. The destination IP address of all data packets in service flow 1 is the IP address of server 1 of game A, and the destination IP address of all data packets in service flow 2 is the IP address of server 2 of game A. Therefore, the first information of the first packet and non-first packet of service flow 1 or service flow 2 is the same. The first information of the data packets corresponding to service flow 1 and service flow 2 are different, but the first information of the data packets of service flow 1 or service flow 2 both correspond to the game A service. In other words, in this embodiment, a service can uniquely correspond to the first information of one data packet, or a service can correspond to the first information of multiple data packets. This embodiment does not specifically limit this.
[0092] Optionally, in this embodiment of the application, the correspondence between the first information of the first data packet and the first service corresponding to the first data packet can be stored locally in the ONT or remotely in a cloud management platform connected to the ONT.
[0093] In this embodiment of the application, the pre-configured service set can be understood as a set of services that need to be transmitted through an independent path, or in other words, a set of services that need to guarantee SLA.
[0094] It should be noted that, in this embodiment, service sets can be configured based on different service granularities according to user needs. For example, service sets can be configured with coarse service granularity, where all game services and online shopping services are configured in a pre-configured service set, while online video services are not. Alternatively, service sets can be configured with fine service granularity, where game A and game C services are configured in a pre-configured service set, while game B services are not. This embodiment does not impose any limitations on this.
[0095] Optionally, in this embodiment, the pre-configured service set may include value-added services or OTT services. Value-added services can be understood as services with high value or high quality requirements. Examples include games and online office work, which require low latency, smooth operation, and high user willingness to pay. OTT services are described above and will not be repeated here.
[0096] Optionally, in this embodiment, the pre-configured service set can be stored locally in the ONT. In this method, the ONT can query the local service set to choose whether to add the first information of the first data packet to the first information database.
[0097] Alternatively, in this embodiment of the application, the pre-configured service set can be stored off-site in a cloud management platform connected to the ONT. In this method, the ONT can query the service set stored on the cloud management platform connected to the ONT to choose whether to add the first information of the first data packet to the first information database.
[0098] Optionally, in this embodiment of the application, services in the pre-configured service set can be updated or deleted according to actual needs.
[0099] Furthermore, in this embodiment of the application, after the ONT matches the first information of the first data packet with the first information in the first information database, the ONT executes step S403 or step S404 depending on the matching result.
[0100] Regarding step S403 above:
[0101] In one possible implementation, according to this embodiment, since the first server corresponds to the first service, and this correspondence can be pre-configured, the ONT can determine the first server receiving the first data packet based on the first service corresponding to the data packet. For example, if the ONT determines that the received first data packet corresponds to a game service, the ONT will transmit the first data packet to the first server according to the pre-configured IP address of the first server corresponding to the game service. How the ONT determines the first service corresponding to the first data packet will be described in detail below.
[0102] In another possible implementation, the ONT can determine the first server receiving the first data packet based on the destination IP address of the first data packet. The IP address of the first server is the same as the destination IP address of the first data packet.
[0103] Optionally, in this embodiment of the application, the first path can be the transmission path of data packets from the ONT to the first server in an existing broadband access architecture. For example, combined with Figure 1 The first path is ONT—OLT—Ethernet aggregation device—BNG—first server in the physical infrastructure layer network. The method by which the BNG determines the first server can be found in the section on how the ONT determines the first server, which will not be repeated here. In this scheme, based on the existing physical network architecture, data packets are transmitted to the first server through many physical network devices in the physical infrastructure layer network.
[0104] In step S403, for a first data packet transmitted via the first path, if the ONT determines that the first service corresponding to the first data packet is within the pre-configured service set, the ONT adds the first information of the first data packet to the first information database. In other words, if the ONT determines that the first service corresponding to the first data packet is not within the pre-configured service set, the ONT does not add the first information of the first data packet to the first information database. Based on this scheme, if the ONT receives the first packet of a service within the pre-configured service set, but the first information of the first packet has not been previously stored in the first information database, the ONT can add the first information of the first packet to the first information database so that when the ONT subsequently receives a non-first packet of the service, it can match the first information of the non-first packet in the first information database. On the other hand, because the ONT does not add the first information of the first data packet to the first information database if the first service corresponding to the first data packet is not within the pre-configured service set, data of services not within the pre-configured service set are all transmitted via the first path.
[0105] Optionally, the ONT determines whether the first service corresponding to the first data packet is within the pre-configured service set, including:
[0106] The ONT determines whether the first service corresponding to the first data packet is within the pre-configured service set based on the second information of the first data packet. The second information reflects the first service corresponding to the first data packet. Based on this scheme, the ONT can identify the first service corresponding to the first data packet based on the second information of the data packet and determine whether the first service corresponding to the first data packet is within the pre-configured service set.
[0107] Optionally, in this embodiment of the application, the second information of the first data packet includes the destination IP address, 5-tuple information, or service traffic characteristic information of the first data packet.
[0108] It should be noted that, in the embodiments of this application, the first information of the first data packet and the second information of the second data packet may be the same information or different information. In other words, the information used by the ONT to determine the transmission path of the first data packet and the information used by the ONT to determine the first service corresponding to the first data packet may be the same information or different information, and the embodiments of this application do not limit this.
[0109] Regarding step S404 above:
[0110] It is understandable that, since the service corresponding to the first information in the first information database is within the pre-configured service set, if the ONT can match the first information of the first data packet in the first information database, or in other words, the first information of the first data packet exists in the first information database, it means that the first service corresponding to the first data packet is within the pre-configured service set. In this case, the ONT sends the first data packet to the first server through the second path. How the ONT determines the first server can be referred to step S403 above, and will not be repeated here.
[0111] As discussed above, existing technical solutions rely on the physical infrastructure layer network for data transmission and scheduling, requiring the passage of numerous physical network devices. This makes it difficult to guarantee end-to-end (from terminal device to destination server) service quality, especially when services cross domains or networks, where the number and types of physical network devices along the transmission path are significantly increased. To ensure the service quality of specific services, existing technologies offer another solution: transmitting specific services via leased fiber optic lines, without mixing them with other service flows. However, leased fiber optic lines are very expensive, making large-scale deployment difficult.
[0112] Therefore, optionally, in this embodiment, the second path can be an overlay network tunnel. In this scheme, the starting point of the overlay network tunnel corresponds to the ONT at the physical underlying network layer. The first data packet starts from the starting point of the overlay network tunnel (node 1 of the overlay network), passes through the overlay network tunnel, and is directly transmitted at the overlay network layer to the ending point of the overlay network tunnel (node 2 of the overlay network). The ending point of the overlay network tunnel then transmits the first data packet to the first server. For example, as shown... Figure 5 As shown, in the physical infrastructure layer network, the physical network device corresponding to the endpoint of the overlay network tunnel can be a tunnel gateway. The tunnel gateway is connected to the BNG, and the tunnel gateway assigns a destination address to the first data packet and transmits it to the first server. For example, the tunnel gateway can be a cloud gateway. In this scheme, when the data packet is transmitted, it is directly transmitted from the starting point of the overlay network tunnel to the endpoint of the overlay network tunnel, and then from the endpoint of the tunnel to the first server. This enables point-to-point communication without considering the distribution of physical network devices in the physical infrastructure layer network. Therefore, compared with existing schemes that transmit based on the physical infrastructure layer network, this scheme can guarantee end-to-end service quality. Furthermore, the overlay network tunnel has a lower cost than fiber optic transmission and can be scaled up.
[0113] Based on the data transmission method provided in this application embodiment, when the first information of the first data packet does not exist in the first information database, the first data packet is transmitted through the first path; when the first information of the first data packet exists in the first information database, the first data packet is transmitted through the second path. Furthermore, when the first information of the first data packet does not exist in the first information database, if the first service is within a pre-configured service set, the ONT adds the first information of the first data packet to the first information database. Therefore, when the ONT subsequently receives a data packet with the same first information as the first data packet, this data packet can be transmitted to the server through the second path. In other words, for services within the pre-configured service set, non-first packets or packets whose first information is already in the first information database before receiving the first packet can all be transmitted through the second path. It is understood that if the first service is not within the pre-configured service set, the ONT does not add the first information of the first data packet to the first information database. Therefore, for services not within the pre-configured service set, the first information of the data packet will not be in the first information database, and the data of services not within the pre-configured service set will all be transmitted through the first path. Therefore, compared to the existing solution that mixes all service data for transmission, this solution can achieve separate transmission of data from services within the service set and data from services outside the service set, providing SLA guarantees for newly emerging services.
[0114] Among them, the actions of ONT in steps S401 to S404 above can be performed by Figure 3The processor 301 in the communication device 300 shown calls the application code stored in the memory 303 to instruct the communication device to execute; this embodiment does not impose any limitations on this. The actions of the first server in the above steps S401 to S404 can be performed by... Figure 3 The processor 301 in the communication device 300 shown calls the application code stored in the memory 303 to instruct the communication device to execute; this embodiment does not impose any limitations on this.
[0115] Optionally, regarding step S404 above, before the ONT sends the first data packet to the first server via the second path, in one possible implementation, the data transmission method provided in this application embodiment further includes: the ONT determining that the service corresponding to the first data packet is a first service, and the ONT determining the second path based on the correspondence between the identification information of the first service corresponding to the first data packet and the identification information of the second path. The determination of the first service corresponding to the first data packet by the ONT can be referred to the above description of step S403 and will not be repeated here.
[0116] In other words, the second path in this solution is at the business level. For example, the identifier for a game service is A, the identifier for an online shopping service is B, and the identifier for online shopping is C. There are three second paths with identifiers 1, 2, and 3, where identifier A corresponds to identifier 1, identifier B corresponds to identifier 2, and identifier C corresponds to identifier 3. After the ONT determines that the first data packet corresponds to the game service, it selects the second path with identifier 1 corresponding to identifier A and sends the first data packet according to the above correspondence. Because the second path in this solution is at the business level, path division based on business granularity can be implemented during business data transmission, further ensuring the SLA of the service.
[0117] Optionally, for step S404 above, before the ONT sends the first data packet to the first server through the second path, in another possible implementation, the data transmission method provided in this application embodiment further includes: the ONT determining the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path.
[0118] In other words, this scheme directly determines the second path based on the correspondence between the first information of the first data packet and the identification information of the second path. For example, if there are two second paths with identification information a and b, where identification information a corresponds to first information 1 in the first information of the data packet, and identification information b corresponds to first information 2 in the first information of the data packet, then when the ONT determines that the first information of the first data packet is first information 1, the ONT selects the second path with identification information a to send the first data packet according to the above correspondence; when the ONT determines that the first information of the first data packet is first information 2, the ONT selects the second path with identification information b to send the first data packet according to the above correspondence. Optionally, first information 1 and first information 2 can be the first information of different data packets of the same service, or the first information of data packets of different services. Based on this scheme, when a service uniquely corresponds to the first information of one data packet, path partitioning based on service granularity can be achieved; when a service can correspond to the first information of multiple data packets, path partitioning based on less than service granularity can be achieved. Therefore, based on this scheme, the SLA of the service can be further guaranteed.
[0119] Optionally, the relationship between the identification information of the first service and the identification information of the second path, or the correspondence between the first information of the first data packet and the identification information of the second path, can be stored in the form of a table or in other ways. This application embodiment does not specifically limit this.
[0120] Optionally, the correspondence between the identification information of the first service and the identification information of the second path, or the correspondence between the first information of the first data packet and the identification information of the second path, can be stored locally in the ONT. In this method, the ONT can determine the second path by querying the aforementioned correspondence locally.
[0121] Alternatively, in this embodiment of the application, the aforementioned correspondence can be stored off-site in a cloud management platform connected to the ONT. In this method, the ONT can use the cloud management platform connected to the ONT to query the aforementioned correspondence stored on the cloud management platform to determine the second path.
[0122] Optionally, when the first information database is stored locally in the ONT, the data transmission method provided in this application embodiment further includes: the ONT receiving the first information of the first data packet from the cloud management platform and storing the first information of the received first data packet in the first information database.
[0123] In this scheme, the cloud management platform can send the first information of the first data packet to the ONT, enabling the ONT to receive the first information of the first data packet and synchronously update the first information database stored locally on the ONT. Optionally, the first information sent by the cloud management platform can come from other ONTs. For example, the first ONT receives the first data packet and obtains the first information of the first data packet. After determining that the first information of the first data packet does not exist in the first information database stored locally on the first ONT, the first ONT adds the first information of the first data packet to its local database and transmits it to the cloud management platform. Upon receiving the first information of the first data packet, the cloud management platform broadcasts the first information of the first data packet to other ONTs connected to the cloud management platform. Other ONTs, upon receiving the first information of the first data packet from the cloud management platform, store the first information in their local databases. Subsequently, when other ONTs receive data packets with the same first information as the first data packet (hereinafter referred to as the data packet of the first service), they can match the first information of the data packet of the first service in their local databases and transmit the data packet of the first service to the first server corresponding to the first service via a second path. Optionally, in this solution, the cloud management platform can also store the first information database. That is, in the example above, when the first ONT sends the first information of the first data packet to the cloud management platform, the cloud management platform can add the first information of the received first data packet to the first information database stored in the cloud management platform, and broadcast the first information of the first data packet to other ONTs.
[0124] Based on this solution, the first information in the first information database of all ONTs connected to the cloud management platform can be synchronously updated. Furthermore, if an ONT receives the first packet of a service within a pre-configured service set, but the first information of that first packet was not previously stored in the first information database, the cloud management platform's synchronous update allows subsequent ONTs receiving data packets for the same service to directly transmit the data packets via the second path, saving time and resources for the remaining ONTs to identify the data packet service.
[0125] To facilitate understanding, a specific example will be used below to describe the data transmission method provided in this application. In this example, it is assumed that the terminal device is a mobile phone, the first information of the data packet is the destination IP address of the data packet, and the second information of the data packet is service traffic characteristic information. For example... Figure 6 The diagram shown illustrates the process of this example, which includes the following steps:
[0126] S601. User A plays game A on mobile phone 1. Mobile phone 1 sends the first packet of game A service flow: data packet 1, and the non-first packet after data packet 1: data packet 2 to ONT1.
[0127] After receiving data packet 1, the IP address matching module in ONT1 matches the destination IP address of data packet 1 with the IP address in ONT1's local IP address database.
[0128] Since ONT1 has not previously accessed the service flow of Game A, the destination IP address of data packet 1 does not exist in the IP address database. Therefore, the IP address matching module in ONT1 cannot match the destination IP address of data packet 1 in the local IP address database, or in other words, the first information of data packet 1 does not exist in the first information database of ONT1.
[0129] The IP address matching module in S603 and ONT1 transmits data packet 1 to the first packet application identification module in ONT1. Based on the service traffic characteristics of data packet 1, the first packet application identification module in ONT1 identifies the service corresponding to data packet 1 as Game A. Assuming Game A is a service in a pre-configured service set, data packet 1 is then transmitted to the automatic IP learning module in ONT1.
[0130] The automatic IP learning module in S604 and ONT1 learns that the destination IP address of data packet 1 corresponds to the first information of game A service in the pre-configured service set. The automatic IP learning module adds the destination IP address of data packet 1 to the local IP address database of ONT1. Simultaneously, the automatic IP learning module in ONT1 also reports the destination IP address of data packet 1 to the cloud management platform. The cloud management platform stores the destination IP address of data packet 1 received from ONT1 in the cloud management platform's IP address database.
[0131] The automatic IP learning module in S605 and ONT1 sends data packet 1 to server 1 of game A service via the first path based on the destination IP address of data packet 1. The IP address of server 1 is the same as the destination IP address of data packet 1. For a description of the first path, please refer to [link / reference needed]. Figure 4 The embodiments described herein will not be repeated here.
[0132] S606, The IP address distribution module of the cloud management platform broadcasts the destination IP address of data packet 1 to other ONTs connected to the cloud management platform (such as ONT2 and ONT3 in the attached diagram). After receiving the destination IP address of data packet 1, the other ONTs connected to the cloud management platform store the destination IP address of data packet 1 in their local IP address database.
[0133] After receiving data packet 2, the IP address matching module in ONT1 matches the destination IP address of data packet 2 with the IP address in ONT1's local IP address database.
[0134] In step S604 above, the automatic IP learning module in ONT1 adds the destination IP address of data packet 1 to the local IP address database. Since the destination IP addresses of data packet 1 and data packet 2 are the same, the IP address matching module in ONT1 can match the destination IP address of data packet 2 in the local IP address database. In other words, the first information of data packet 2 exists in the first information database of ONT1.
[0135] The IP address matching module in S608 and ONT1 transmits data packet 2 to cloud gateway 1 through the configured home leased line tunnel 1 at the overlay network layer. Here, home leased line tunnel 1 is an overlay network tunnel.
[0136] S609, the cloud gateway transmits data packet 2 to server 1 of game A service based on the destination IP address of data packet 2.
[0137] S610. User B plays game A on mobile phone 2. Mobile phone 2 sends the first packet of the game A service flow: data packet 3 to ONT2. The destination IP address of data packet 3 is the same as the destination IP address of data packet 1, which is server 1.
[0138] S611 After receiving data packet 3, the IP address matching module in ONT2 matches the destination IP address of data packet 3 with the IP address in the local IP address database of ONT3.
[0139] In step S606 above, since ONT2 receives the destination IP address of data packet 1 from the cloud management platform and stores it in the local IP address database of ONT2, the IP address matching module in ONT2 can match the destination IP address of data packet 3 in the local IP address database. In other words, the first information of data packet 3 exists in the first information database of ONT2.
[0140] The IP address matching module in S612 and ONT2 transmits data packet 3 to cloud gateway 2 through the configured home leased line tunnel 2 at the overlay network layer. Home leased line tunnel 2 is an overlay network tunnel.
[0141] S613, Cloud Gateway 2 transmits data packet 3 to server 1 of game A service according to the destination IP address of data packet 3.
[0142] It is understood that in the above embodiments, the methods and / or steps implemented by the ONT can also be implemented by components (e.g., chips or circuits) that can be used in the ONT; the methods and / or steps implemented by the cloud management platform can also be implemented by components (e.g., chips or circuits) that can be used in the cloud management platform; and the methods and / or steps implemented by the first server can also be implemented by components (e.g., chips or circuits) that can be used in the first server.
[0143] The above mainly describes the solutions provided by the embodiments of this application from the perspective of interaction between various devices. Correspondingly, the embodiments of this application also provide a communication device for implementing the various methods described above. It is understood that, in order to achieve the above functions, the communication device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0144] This application embodiment can divide the communication device into functional modules according to the above method embodiment. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0145] Figure 7 A schematic diagram of a communication device 70 is shown. The communication device 70 includes a transceiver module 701 and a processing module 702. The transceiver module 701, also called a transceiver unit, is used to implement transceiver functions; for example, it can be a transceiver circuit, transceiver, transceiver device, or communication interface. Taking the ONT in the above method embodiment as an example, the transceiver module 701 is used to receive a first data packet. The processing module 702 is used to match the first information of the first data packet with a first information database stored locally or remotely. The service corresponding to the first information in the first information database is within a pre-configured service set. When the first information of the first data packet is not found in the first information database, the processing module 702 is further used to send the first data packet to the first server corresponding to the first service through the first path via the transceiver module 701. Furthermore, if the processing module 702 determines that the first service is within the pre-configured service set, the processing module 702 is also used to add the first information of the first data packet to the first information database. The first service is the service corresponding to the first data packet. When the first information of the first data packet exists in the first information database, the processing module 702 is used to send the first data packet to the first server through the second path via the transceiver module 701.
[0146] Optionally, the processing module 702 determines that the first service is within a pre-configured service set, including: the processing module 702, used to determine that the first service corresponding to the first data packet is within a pre-configured service set based on the second information of the first data packet, wherein the second information is used to reflect the first service corresponding to the first data packet.
[0147] Optionally, before the processing module 702 sends the first data packet to the first server through the second path via the transceiver module, the processing module 702 is further configured to determine that the service corresponding to the first data packet is the first service; the processing module 702 is further configured to determine the second path based on the correspondence between the identification information of the first service and the identification information of the second path.
[0148] like Figure 7 As shown, optionally, the ONT also includes a storage module 703, in which the correspondence between the identification information of the first service and the identification information of the second path is stored; or, the correspondence between the identification information of the first service and the identification information of the second path is stored in a cloud management platform connected to the ONT.
[0149] Optionally, before the processing module 702 sends the first data packet to the first server through the transceiver module 701 via the second path, the processing module 702 is further configured to determine the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path.
[0150] like Figure 7 As shown, optionally, the ONT also includes a storage module 703, in which the correspondence between the first information of the first data packet and the identification information of the second path is stored; or, the correspondence between the first information of the first data packet and the identification information of the second path is stored in a cloud management platform connected to the ONT.
[0151] like Figure 7 As shown, optionally, the ONT also includes a storage module 703, in which the first information database is stored locally. Before the transceiver module 701 receives the first data packet, the transceiver module 701 is also used to receive the first information of the first data packet from the cloud management platform. The processing module 702 is also used to store the first information of the first data packet in the first information database.
[0152] Optionally, the first information of the first data packet includes the Internet Protocol (IP) address, 5-tuple information, or service traffic characteristic information of the first data packet.
[0153] Optionally, the second path is an overlay network tunnel.
[0154] like Figure 7As shown, optionally, the ONT also includes a storage module 703, in which the first information database is stored locally; or, the first information database is stored off-site in a cloud management platform connected to the ONT.
[0155] Optionally, the service set may include: value-added services or OTT services that provide various application services to users via the Internet.
[0156] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and will not be repeated here.
[0157] In this embodiment, the communication device 70 is presented in an integrated manner, divided into various functional modules. Here, "module" can refer to a specific ASIC, circuitry, a processor and memory executing one or more software or firmware programs, integrated logic circuitry, and / or other devices that can provide the aforementioned functions. In a simplified embodiment, those skilled in the art will recognize that the communication device 70 can employ... Figure 3 The communication device 300 shown is in the form of [example device].
[0158] for example, Figure 3 The processor 301 in the communication device 300 shown can execute the data transmission method in the above method embodiment by calling computer execution instructions stored in the memory 303.
[0159] Specifically, Figure 7 The functions / implementation process of the transceiver module 701 and the processing module 702 can be obtained through... Figure 3 The processor 301 in the communication device 300 shown calls computer execution instructions stored in memory 303 to implement the function. Alternatively, Figure 7 The function / implementation process of the processing module 702 can be achieved through... Figure 3 The processor 301 in the communication device 300 shown calls computer execution instructions stored in the memory 303 to implement the communication. Figure 7 The function / implementation process of the transceiver module 701 can be obtained through Figure 3 This is achieved through the communication interface 304 in the communication device 300 shown.
[0160] Since the communication device 70 provided in this embodiment can execute the above data transmission method, the technical effects it can achieve can be referred to the above method embodiment, and will not be repeated here.
[0161] It should be noted that one or more of the above modules or units can be implemented by software, hardware, or a combination of both. When any of the above modules or units are implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow. The processor can be built into a SoC (System-on-a-Chip) or ASIC, or it can be a separate semiconductor chip. In addition to the core that executes software instructions for computation or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), PLDs (Programmable Logic Devices), or logic circuits that implement dedicated logic operations.
[0162] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.
[0163] Optionally, embodiments of this application also provide a chip system, including: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instructions in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the communication device further includes a memory. Optionally, the chip system may be composed of chips, or may include chips and other discrete devices; embodiments of this application do not specifically limit this.
[0164] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks, SSDs), etc.
[0165] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0166] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.
Claims
1. A data transmission method, characterized in that, The method includes: The optical network terminal (ONT) receives the first data packet; The ONT matches the first information of the first data packet with a first information database stored locally or remotely. The service corresponding to the first information in the first information database is within a pre-configured service set. The service set includes: value-added services or OTT services that provide various application services to users via the Internet. When the first information of the first data packet does not exist in the first information database, the ONT sends the first data packet to the first server corresponding to the first service through the first path. If the ONT determines that the first service is within the pre-configured service set, the ONT adds the first information of the first data packet to the first information database. The first service is the service corresponding to the first data packet. If the first service is not within the pre-configured service set, the ONT does not add the first information of the first data packet to the first information database. When the first information of the first data packet exists in the first information database, the ONT sends the first data packet to the first server through the second path.
2. The method according to claim 1, characterized in that, The ONT determines that the first service is within the pre-configured service set, including: The ONT determines, based on the second information of the first data packet, that the first service corresponding to the first data packet is within the pre-configured service set, whereby the second information reflects the first service corresponding to the first data packet.
3. The method according to claim 1 or 2, characterized in that, Before the ONT sends the first data packet to the first server via the second path, the method further includes: The ONT determines that the service corresponding to the first data packet is the first service; The ONT determines the second path based on the correspondence between the identification information of the first service and the identification information of the second path.
4. The method according to claim 3, characterized in that, The correspondence between the identification information of the first service and the identification information of the second path is stored in the ONT; or, the correspondence between the identification information of the first service and the identification information of the second path is stored in the cloud management platform.
5. The method according to claim 1 or 2, characterized in that, Before the ONT sends the first data packet to the first server via the second path, the method further includes: The ONT determines the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path.
6. The method according to claim 5, characterized in that, The correspondence between the first information of the first data packet and the identification information of the second path is stored in the ONT; or, the correspondence between the first information of the first data packet and the identification information of the second path is stored in the cloud management platform.
7. The method according to claim 1 or 2, characterized in that, The first information of the first data packet includes the Internet Protocol (IP) address, 5-tuple information, or service traffic characteristic information of the first data packet.
8. The method according to claim 1 or 2, characterized in that, The second path is an overlay network tunnel.
9. The method according to claim 1 or 2, characterized in that, The first information database is stored locally in the ONT; Alternatively, the first information database can be stored off-site in a cloud management platform.
10. An optical network terminal (ONT), characterized in that, The ONT includes: a transceiver module and a processing module; The transceiver module is used to receive the first data packet; The processing module is configured to match the first information of the first data packet with a first information database stored locally or remotely, wherein the service corresponding to the first information in the first information database is within a pre-configured service set; the service set includes: value-added services or OTT services that provide various application services to users via the Internet; when the first information of the first data packet does not exist in the first information database, the processing module is further configured to send the first data packet to the first server corresponding to the first service through the transceiver module via a first path, and if the processing module determines that the first service is within the pre-configured service set, the processing module is further configured to add the first information of the first data packet to the first information database, wherein the first service is the service corresponding to the first data packet; if the first service is not within the pre-configured service set, the OTT does not add the first information of the first data packet to the first information database. When the first information of the first data packet exists in the first information database, the processing module is used to send the first data packet to the first server through the second path via the transceiver module.
11. The ONT according to claim 10, characterized in that, The processing module determines that the first service is within the pre-configured service set, including: The processing module is configured to determine, based on the second information of the first data packet, that the first service corresponding to the first data packet is within the pre-configured service set, wherein the second information is used to reflect the first service corresponding to the first data packet.
12. The ONT according to claim 10 or 11, characterized in that, Before the processing module sends the first data packet to the first server via the second path through the transceiver module. The processing module is further configured to determine that the service corresponding to the first data packet is the first service; The processing module is further configured to determine the second path based on the correspondence between the identification information of the first service and the identification information of the second path.
13. The ONT according to claim 12, characterized in that, The ONT further includes a storage module, in which the correspondence between the identification information of the first service and the identification information of the second path is stored; or, the correspondence between the identification information of the first service and the identification information of the second path is stored in the cloud management platform.
14. The ONT according to claim 10 or 11, characterized in that, Before the processing module sends the first data packet to the first server via the second path through the transceiver module. The processing module is further configured to determine the second path based on the first information of the first data packet and the correspondence between the first information of the first data packet and the identification information of the second path.
15. The ONT according to claim 14, characterized in that, The ONT further includes a storage module, in which the correspondence between the first information of the first data packet and the identification information of the second path is stored; or, the correspondence between the first information of the first data packet and the identification information of the second path is stored in the cloud management platform.
16. The ONT according to claim 10 or 11, characterized in that, The first information of the first data packet includes the Internet Protocol (IP) address, 5-tuple information, or service traffic characteristic information of the first data packet.
17. The ONT according to claim 10 or 11, characterized in that, The second path is an overlay network tunnel.
18. The ONT according to claim 10 or 11, characterized in that, The ONT also includes a storage module, wherein the first information database is stored locally in the storage module; Alternatively, the first information database can be stored off-site in a cloud management platform.
Citation Information
Patent Citations
Flow-guiding function-supported application identification equipment and method
CN102325124A