Data transmission method and equipment based on cloud network
By configuring multiple business logic tables in multiple connected P4 switches, the processing capability limitation caused by the scarcity of underlying resources of the P4 switch is solved, and efficient packet processing and flexible user scale expansion are achieved.
Patent Information
- Application Number
- CN202411848896.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-04-01
AI Technical Summary
The underlying resources of P4 switches are scarce, resulting in limited processing capabilities and limiting the scale of serviceable users.
By configuring multiple service logic tables into multiple connected P4 switches, a complete message processing pipeline is formed, thereby achieving table entry expansion and improving packet processing efficiency.
It improves packet processing efficiency, meets the resource needs of users of all sizes, and improves the flexibility and scalability of the network.
Smart Images

Figure CN119743393A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the field of Internet technology, and more particularly to a cloud network-based data transmission method and device. Background Art
[0002] With the development of Internet technology, users can send data requests to servers through terminals. When the server receives the data request, it responds to the data request and feeds back the corresponding data packet to the terminal.
[0003] In the related technology, the server can feed back the data packet to the terminal through the data plane. Among them, the data plane uses fixed functions to forward data packets based on some protocols. This closed design mode uses hard coding to limit the switch to proprietary function implementation, and the development cycle is lengthy and inflexible. Currently, P4 (Programming Protocol-independent Packet Processors) switches are widely used in the modern network field based on SDN (Software Defined Networking) due to their excellent performance in development flexibility due to their programmability.
[0004] However, the inventors have found that there are at least the following technical problems in the related technology: due to the cost of hardware chips, the underlying resources of P4 switches are often very scarce. As a result, the processing capacity of P4 switches is limited by the scarcity of underlying resources, which in turn limits the scale of users that can be served by P4 switches. Summary of the invention
[0005] The embodiments of the present disclosure provide a cloud network-based data transmission method and device, which can improve the processing efficiency of data packets.
[0006] In a first aspect, an embodiment of the present disclosure provides a cloud network-based data transmission method, comprising:
[0007] In response to receiving a data packet sent by a client, pipeline information corresponding to the data packet is obtained; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are connected in sequence according to the business processing sequence of the plurality of business logic tables;
[0008] The data packet is forwarded to a first network forwarding device among the multiple network forwarding devices, the data packet is processed by a business logic table configured in the first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0009] In a second aspect, an embodiment of the present disclosure provides a cloud network-based data transmission device, including:
[0010] An acquisition unit is used to, in response to receiving a data packet sent by a client, acquire pipeline information corresponding to the data packet; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are connected in sequence according to the business processing sequence of the plurality of business logic tables;
[0011] A data transmission unit is used to forward the data packet to a first network forwarding device among the multiple network forwarding devices, process the data packet through a business logic table configured in the first network forwarding device, and forward the processed data packet to a next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0012] In a third aspect, an embodiment of the present disclosure provides an electronic device, including: a processor and a memory;
[0013] The memory stores computer-executable instructions;
[0014] The processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the cloud network-based data transmission method as described in the first aspect and various possible designs of the first aspect.
[0015] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, in which computer execution instructions are stored. When a processor executes the computer execution instructions, the cloud network-based data transmission method described in the first aspect and various possible designs of the first aspect is implemented.
[0016] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which, when executed by a processor, implements the cloud network-based data transmission method as described in the first aspect and various possible designs of the first aspect.
[0017] The cloud network-based data transmission method and device provided in this embodiment include: in response to receiving a data packet sent by a client, obtaining pipeline information corresponding to the data packet; the pipeline information includes multiple business logic tables and the business processing order of the multiple business logic tables; wherein the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, and the multiple network forwarding devices are connected in sequence according to the business processing order of the multiple business logic tables; forwarding the data packet to the first network forwarding device among the multiple network forwarding devices, processing the data packet through the business logic table configured in the first network forwarding device, and forwarding the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device. In this technical solution, since the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, the data packet can be processed based on the device capabilities of the multiple network forwarding devices through the business logic tables after capacity expansion, thereby improving the data packet processing efficiency while also meeting the resource needs of users of various sizes. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0019] Figure 1 Schematic diagram of a data packet processing method in the prior art Figure 1 ;
[0020] Figure 2 The process of the data transmission method based on the cloud network provided by the embodiment of the present disclosure Figure 1 ;
[0021] Figure 3 Schematic diagram of a packet header of a data packet provided in an embodiment of the present disclosure Figure 1 ;
[0022] Figure 4 Schematic diagram of a cloud network-based data transmission method provided in an embodiment of the present disclosure Figure 1 ;
[0023] Figure 5 Schematic diagram of a cloud network-based data transmission method provided in an embodiment of the present disclosure Figure 2 ;
[0024] Figure 6 Schematic diagram of a packet header of a data packet provided in an embodiment of the present disclosure Figure 2 ;
[0025] Figure 7 Schematic diagram of a packet header of a data packet provided in an embodiment of the present disclosure Figure 3 ;
[0026] Figure 8 A schematic diagram of the structure of a cloud network-based data transmission device provided in an embodiment of the present disclosure;
[0027] Fig. 9 A schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0029] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and corresponding operation entrances shall be provided for users to choose to authorize or refuse.
[0030] With the development of Internet technology, users can send data requests to servers through terminals. When the server receives the data request, it responds to the data request and feeds back the corresponding data packet to the terminal.
[0031] In the related technology, the server can feed back the data packet to the terminal through the data plane. Among them, the data plane uses fixed functions to forward data packets based on some protocols. This closed design mode uses hard coding to limit the switch to proprietary function implementation, and the development cycle is lengthy and inflexible. Currently, P4 (Programming Protocol-independent Packet Processors) switches are widely used in the modern network field based on SDN (Software Defined Networking) due to their excellent performance in development flexibility due to their programmability.
[0032] Among them, the P4 switch has the concept of pipeline when processing messages. A pipeline represents a complete set of message processing procedures. This concept is similar to the pipeline in traditional switches. Figure 1 As shown in the figure, the message processing flow includes: standard Ingress (entry processing flow) processing, three business logic tables Table1 / 2 / 3 processing and standard Egress (egress processing flow) processing. For the convenience of understanding, this message processing flow will also be used in the future. Among them, the three business logic tables Table1 / 2 / 3 are configured in a P4 switch.
[0033] The inventors have discovered that there are at least the following technical problems in the related art: Due to the cost of hardware chips, the underlying resources of P4 switches are often very scarce. As a result, the processing capacity of P4 switches is limited by the scarcity of underlying resources, which in turn limits the scale of users that can be served by P4 switches.
[0034] In response to the technical problems in the prior art, the inventor's technical conception is as follows: by connecting multiple P4 switches in series, multiple business logic tables (such as the above-mentioned three business logic tables Table1 / 2 / 3) are configured in multiple P4 switches, and a complete message processing flow is formed by multiple P4 switches, thereby achieving the purpose of table item expansion.
[0035] Accordingly, the specific steps may include: first, in response to receiving a data packet sent by a client, obtaining the pipeline information corresponding to the data packet; the pipeline information includes multiple business logic tables and the business processing order of the multiple business logic tables; wherein the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, and the multiple network forwarding devices are connected in sequence according to the business processing order of the multiple business logic tables. Secondly, forwarding the data packet to the first network forwarding device among the multiple network forwarding devices, processing the data packet through the business logic table configured in the first network forwarding device, and forwarding the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0036] In this technical solution, since multiple business logic tables are configured in multiple network forwarding devices in a series relationship after capacity expansion, data packets can be processed based on the device capabilities of multiple network forwarding devices through the business logic tables after capacity expansion. Therefore, while improving the efficiency of data packet processing, it can also meet the resource needs of users of various sizes.
[0037] The following is a specific implementation process of the cloud network-based data transmission method and device involved in the embodiments of the present disclosure. Some examples are for illustrative purposes only and are not intended to be limiting. The execution subject of the cloud network-based data transmission method involved in the embodiments of the present disclosure is an electronic device, which may be a terminal, a server, etc.
[0038] Figure 2 The process of the data transmission method based on the cloud network provided by the embodiment of the present disclosure Figure 1 ,like Figure 2 As shown, the cloud network-based data transmission method may include:
[0039] S201. In response to receiving a data packet sent by a client, pipeline information corresponding to the data packet is obtained; the pipeline information includes multiple business logic tables and a business processing order of the multiple business logic tables; wherein the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, and the multiple network forwarding devices are connected in sequence according to the business processing order of the multiple business logic tables.
[0040] In the embodiment of the present disclosure, the network forwarding device may be any type of network device for forwarding or processing data packets. Optionally, the network forwarding device may be a gateway device, a P4 switch, and the like.
[0041] In one embodiment, multiple network forwarding devices can be connected in series by means of a protocol combination. The corresponding specific steps may include: determining the connection order of multiple network forwarding devices configured with multiple business logic tables according to the business processing order of multiple business logic tables; determining two adjacent network forwarding devices among the multiple network forwarding devices according to the connection order of the multiple network forwarding devices; and connecting the data packet sending end and the data packet receiving end of the two adjacent network forwarding devices in series through a preset transmission protocol. Among them, in actual applications, the multiple network forwarding devices in series relationship may only connect two network forwarding devices in series, or may connect multiple network forwarding devices in series.
[0042] Each network forwarding device includes a standard Ingress (entry processing flow) and a standard Egress (exit processing flow). In this application, in order to improve the transmission efficiency of data packets, the standard transmission protocol can be replaced by a preset transmission protocol. At the same time, the standard Ingress (entry processing flow) and the standard Egress (exit processing flow) in the network forwarding device need to be adjusted to adapt to the above-mentioned preset transmission protocol.
[0043] Optionally, the data packet sending end and the data packet receiving end of two adjacent network forwarding devices are connected in series through a preset transmission protocol, including: modifying the first egress processing flow and the first ingress processing flow of the two adjacent network forwarding devices into a second egress processing flow and a second ingress processing flow that comply with the preset transmission protocol; wherein the second egress processing flow and the second ingress processing flow that comply with the preset transmission protocol are used to transmit the processing result information of the network forwarding device.
[0044] Exemplarily, the first egress processing flow is a standard Egress (egress processing flow), and the first ingress processing flow is a standard Ingress (ingress processing flow). For two adjacent network forwarding devices, the standard egress processing flow of the first network forwarding device of the two adjacent network forwarding devices is modified to an egress processing flow that complies with a preset transmission protocol, and the standard ingress processing flow of the second network forwarding device is modified to an ingress processing flow that complies with a preset transmission protocol.
[0045] Among them, the egress processing flow that complies with the preset transmission protocol is used to add the processing result information of the network forwarding device on the data packet to the packet header according to the preset transmission protocol when the network forwarding device sends the data packet, and configure the destination port in the packet header as the data packet receiving end of the next network forwarding device. Among them, the ingress processing flow that complies with the preset transmission protocol is used to parse the packet header of the data packet when the network forwarding device receives the data packet, and obtain the processing result information of the previous network forwarding device on the data packet.
[0046] Optionally, the preset transmission protocol may be a Geneve (Generic Network Virtualization Encapsulation) transmission protocol.
[0047] For example, Figure 3 As shown, the packet header includes the header information of UDP (user datagram protocol) and the header information of Geneve transmission protocol. If the packet receiving end of the next network forwarding device is: 6081Geneve, the destination port in the UDP header information in the packet header is configured as: 6081Geneve.
[0048] Furthermore, in the header information of the Geneve transport protocol,
[0049] Ver means: the current version number is 0
[0050] Opt Len indicates the length of the Variable-Length Options part, in 4-byte units, with a maximum of 256 bytes.
[0051] O flag: Control message flag. When set, the receiving end does not forward the message.
[0052] C flag: When set, it indicates that there are one or more critical options. The tunnel endpoint must parse the Options part; if it cannot be parsed, it is discarded.
[0053] Protocol Type indicates: the protocol type of the inner data packet.
[0054] Virtual Network Identifier (VNI) means: a unique virtual network identifier.
[0055] Variable-Length Options means: an option set in TLV format, which is also a field carried by the communication protocol of the present invention.
[0056] In an embodiment of the present disclosure, in response to receiving a data packet sent by a client, before obtaining pipeline information corresponding to the data packet, the method also includes: expanding the capacity of each business logic table according to a preset expansion multiple corresponding to each business logic table; configuring the multiple business logic tables after capacity expansion to multiple network forwarding devices in sequence according to the business processing order of the multiple business logic tables; wherein the expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices.
[0057] Optionally, the expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices, which means that the number of the multiple network forwarding devices is the same as the expansion multiple of the total capacity of the multiple business logic tables.
[0058] The preset expansion multiples corresponding to the various business logic tables may be the same or different.
[0059] In some embodiments, the preset expansion multiples corresponding to each business logic table may be the same. Figure 4 As shown, the number of multiple network forwarding devices is 2, and the preset expansion multiples corresponding to the business logic tables are all 2. The multiple business logic tables include: Table1, Table2, and Table3. The business processing order of Table1, Table2, and Table3 is: Table1→Table2→Table3. According to the business processing order of the multiple business logic tables, the multiple business logic tables Table1, Table2, and Table3 after capacity expansion are sequentially configured to the two network forwarding devices.
[0060] It should be noted that in some scenarios, since capacity cannot be expanded on a single device, it is necessary to split a business logic table into two and configure them to two network forwarding devices respectively. Figure 3 As shown, the business logic table Table2 can be split into two and configured to two network forwarding devices respectively.
[0061] In other embodiments, not all business logic tables have capacity problems, so the capacity of only some business logic tables may be expanded.
[0062] Optionally, the business logic table includes an operation and maintenance table and a business table; the preset expansion multiple of the operation and maintenance table is equal to 1, and the preset expansion multiple of the business table is greater than 1. Accordingly, configuring multiple business logic tables to multiple network forwarding devices may include: keeping the capacity of the operation and maintenance table in the multiple business logic tables unchanged, expanding the capacity of the business table in the multiple business logic tables to a preset multiple; configuring the operation and maintenance table and each expanded business table to the multiple network forwarding devices in sequence according to the business processing order of the operation and maintenance table and each business table.
[0063] For example, Figure 5 As shown in the figure, the forwarding processing logic includes three business logic tables: Table 1, Table 2, and Table 3. Among them, Table 1 is the operation and maintenance table, and Table 2 and Table 3 are business tables. If the capacity of all three tables is doubled, Table 1 will waste some resources. If according to the above logic, Table 1 resources remain unchanged, and the extra resources are allocated to Table 2, then Table 2 can be expanded to 3 times the original size, achieving the purpose of fully utilizing resources.
[0064] S202, forwarding the data packet to the first network forwarding device among multiple network forwarding devices, processing the data packet through the business logic table configured in the first network forwarding device, and forwarding the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0065] In the embodiment of the present disclosure, a data packet is processed by a service logic table configured in a first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of multiple network forwarding devices, until the last network forwarding device, including the following steps (1) to (4):
[0066] (1) Query the forwarding rule information corresponding to the data packet from the service logic table configured in the first network forwarding device to obtain the first query result of the data packet.
[0067] (2) When the first network forwarding device sends a data packet, the first query result of the first network forwarding device on the data packet is added to the packet header of the data packet according to the preset transmission protocol, and the destination port in the packet header is configured as the data packet receiving end of the next network forwarding device according to the connection order of the multiple network forwarding devices.
[0068] Optionally, the first query result of the first network forwarding device on the data packet is added to the header of the data packet according to the preset transmission protocol, including: if the forwarding rule information corresponding to the data packet is hit from the business logic table configured by the first network forwarding device, the forwarding rule information is added to the header of the data packet according to the preset transmission protocol.
[0069] Optionally, the forwarding rule information includes a business logic table identifier, a rule length, and a rule content. Accordingly, adding the forwarding rule information to the header of the data packet according to the preset transmission protocol includes: configuring a first preset field in the header of the data packet according to the business logic table identifier, configuring a second preset field in the header of the data packet according to the rule length, and configuring a third preset field in the header of the data packet according to the rule content.
[0070] It should be noted that if the forwarding rule corresponding to the data packet is not hit in the business logic table configured from the first network forwarding device, the business logic table identifier of the business logic table is determined; according to the business logic table identifier, the first preset field in the packet header of the data packet is configured, and the second preset field and the third preset field in the packet header are kept unchanged.
[0071] For example, the header of a data packet is as follows: Figure 6 As shown, where:
[0072] Option Class means: option category, used to identify usage scenarios.
[0073] Type indicates: the option type under the namespace, which determines the meaning and format of the Data part. If the first bit is set, it indicates that this option is a critical option and must be parsed by the tunnel endpoint. If a critical option exists, the C flag in the header information of the above Geneve transport protocol also needs to be set at the same time.
[0074] Length means: Option Data length in 4-byte units, which is also the rule length.
[0075] Variable-Length Options Data means: the option content defined by Type, used to store the rule content.
[0076] (3) Until the last network forwarding device receives the data packet, the packet header is parsed to obtain the first query result of the data packet by the previous network forwarding devices, and the forwarding rule information corresponding to the data packet is queried from the business logic table configured by the last network forwarding device to obtain the second query result of the data packet.
[0077] For example, Figure 7As shown, the first query result and the second query result of each network forwarding device for the data packet include: Table 1 query result, Table 2 query result and Table 3 query result. Among them, Class is 0x158, which means the usage scenario is switch series connection. Data is the query result of the corresponding table item, which defaults to 0. If it is not hit, the default value is retained.
[0078] (4) Forwarding the data packet according to the forwarding rules in the first query results and the forwarding rules in the second query results.
[0079] The disclosed embodiment provides a data transmission method based on a cloud network: first, in response to receiving a data packet sent by a client, the pipeline information corresponding to the data packet is obtained; the pipeline information includes multiple business logic tables and the business processing order of the multiple business logic tables; wherein the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, and the multiple network forwarding devices are connected in sequence according to the business processing order of the multiple business logic tables. Secondly, the data packet is forwarded to the first network forwarding device among the multiple network forwarding devices, the data packet is processed by the business logic table configured in the first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device. In this technical solution, since the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, the data packet can be processed based on the device capabilities of the multiple network forwarding devices through the business logic table after capacity expansion, so that while improving the efficiency of data packet processing, it can also meet the resource needs of users of various sizes.
[0080] Figure 8 A schematic diagram of the structure of a cloud network-based data transmission device provided in an embodiment of the present disclosure, such as Figure 8 As shown, the device includes:
[0081] The acquisition unit 801 is used to obtain pipeline information corresponding to the data packet in response to receiving the data packet sent by the client; the pipeline information includes multiple business logic tables and the business processing order of the multiple business logic tables; wherein the multiple business logic tables are configured to multiple network forwarding devices in a series relationship after capacity expansion, and the multiple network forwarding devices are connected in sequence according to the business processing order of the multiple business logic tables;
[0082] The data transmission unit 802 is used to forward the data packet to the first network forwarding device among the multiple network forwarding devices, process the data packet through the business logic table configured in the first network forwarding device, and forward the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0083] According to one or more embodiments of the present disclosure, the device also includes: an expansion unit; the expansion unit is used to expand the capacity of each business logic table according to a preset expansion multiple corresponding to each business logic table; according to the business processing order of the multiple business logic tables, the multiple business logic tables after capacity expansion are sequentially configured to multiple network forwarding devices; wherein the expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices.
[0084] According to one or more embodiments of the present disclosure, the business logic table includes an operation and maintenance table and a business table; the preset expansion multiple of the operation and maintenance table is equal to 1, and the preset expansion multiple of the business table is greater than 1.
[0085] According to one or more embodiments of the present disclosure, the device also includes: a series connection unit; the series connection unit is used to determine the connection order of multiple network forwarding devices configured with the multiple business logic tables according to the business processing order of the multiple business logic tables; determine two adjacent network forwarding devices among the multiple network forwarding devices according to the connection order of the multiple network forwarding devices; and connect the data packet sending end and the data packet receiving end of the two adjacent network forwarding devices in series through a preset transmission protocol.
[0086] According to one or more embodiments of the present disclosure, the series unit connects the data packet sending end and the data packet receiving end of two adjacent network forwarding devices in series through a preset transmission protocol, including: modifying the first egress processing flow and the first ingress processing flow of the two adjacent network forwarding devices into a second egress processing flow and a second ingress processing flow that comply with the preset transmission protocol; wherein the second egress processing flow and the second ingress processing flow that comply with the preset transmission protocol are used to transmit the processing result information of the network forwarding device.
[0087] According to one or more embodiments of the present disclosure, the data transmission unit 802 processes the data packet through the business logic table configured in the first network forwarding device, and forwards the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device, including: querying the forwarding rule information corresponding to the data packet from the business logic table configured in the first network forwarding device to obtain a first query result of the data packet; when the first network forwarding device sends a data packet, adding the first query result of the data packet by the first network forwarding device to the packet header of the data packet according to a preset transmission protocol, and configuring the destination port in the packet header as the data packet receiving end of the next network forwarding device according to the connection order of the multiple network forwarding devices; until the last network forwarding device receives the data packet, parsing the packet header of the data packet to obtain the first query results of the data packet by each previous network forwarding device, querying the forwarding rule information corresponding to the data packet from the business logic table configured in the last network forwarding device to obtain a second query result of the data packet; forwarding the data packet according to the forwarding rule information in each first query result and the forwarding rule information in the second query result.
[0088] According to one or more embodiments of the present disclosure, the data transmission unit 802 adds the first query result of the first network forwarding device on the data packet to the header of the data packet according to the preset transmission protocol, including: if the forwarding rule information corresponding to the data packet is hit from the business logic table configured by the first network forwarding device, then the forwarding rule information is added to the header of the data packet according to the preset transmission protocol; wherein the forwarding rule information includes the business logic table identifier, the rule length and the rule content.
[0089] refer to Fig. 9 , which shows a schematic diagram of the structure of an electronic device 900 suitable for implementing the embodiment of the present disclosure, and the electronic device 900 may be a terminal device or a server. The terminal device may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, personal digital assistants (PDAs), tablet computers, portable multimedia players (PMPs), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Fig. 9 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0090] like Fig. 9As shown, the electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 to a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0091] Typically, the following devices may be connected to the I / O interface 905: input devices 906 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 908 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 909. The communication device 909 may allow the electronic device 900 to communicate with other devices wirelessly or by wire to exchange data. Although Fig. 9 The electronic device 900 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0092] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 909, or installed from a storage device 908, or installed from a ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0093] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0094] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0095] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device executes the method shown in the above embodiment.
[0096] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0097] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0098] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware. The name of a unit does not limit the unit itself in some cases. For example, the first acquisition unit may also be described as a "unit for acquiring at least two Internet Protocol addresses".
[0099] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0100] In a first aspect, according to one or more embodiments of the present disclosure, a cloud network-based data transmission method is provided, comprising:
[0101] In response to receiving a data packet sent by a client, pipeline information corresponding to the data packet is obtained; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are connected in sequence according to the business processing sequence of the plurality of business logic tables;
[0102] The data packet is forwarded to a first network forwarding device among the multiple network forwarding devices, the data packet is processed by a business logic table configured in the first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0103] According to one or more embodiments of the present disclosure, in response to receiving a data packet sent by a client, before obtaining the pipeline information corresponding to the data packet, the method also includes: expanding the capacity of each business logic table according to a preset expansion multiple corresponding to each business logic table; and sequentially configuring the multiple business logic tables after capacity expansion to multiple network forwarding devices according to the business processing order of the multiple business logic tables; wherein the expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices.
[0104] According to one or more embodiments of the present disclosure, the business logic table includes an operation and maintenance table and a business table; the preset expansion multiple of the operation and maintenance table is equal to 1, and the preset expansion multiple of the business table is greater than 1.
[0105] According to one or more embodiments of the present disclosure, in response to receiving a data packet sent by a client, before obtaining the pipeline information corresponding to the data packet, the method also includes: determining a connection order of multiple network forwarding devices configured with the multiple business logic tables according to a business processing order of the multiple business logic tables; determining two adjacent network forwarding devices among the multiple network forwarding devices according to the connection order of the multiple network forwarding devices; and connecting the data packet sending end and the data packet receiving end of the two adjacent network forwarding devices in series through a preset transmission protocol.
[0106] According to one or more embodiments of the present disclosure, the data packet sending end and the data packet receiving end of two adjacent network forwarding devices are connected in series through a preset transmission protocol, including: modifying the first egress processing flow and the first ingress processing flow of the two adjacent network forwarding devices into a second egress processing flow and a second ingress processing flow that comply with the preset transmission protocol; wherein the second egress processing flow and the second ingress processing flow that comply with the preset transmission protocol are used to transmit the processing result information of the network forwarding device.
[0107] According to one or more embodiments of the present disclosure, the data packet is processed by the business logic table configured in the first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of the multiple network forwarding devices until the last network forwarding device, including: querying the forwarding rule information corresponding to the data packet from the business logic table configured in the first network forwarding device to obtain a first query result of the data packet; when the first network forwarding device sends the data packet, adding the first query result of the data packet by the first network forwarding device to the packet header of the data packet according to a preset transmission protocol, and configuring the destination port in the packet header as the data packet receiving end of the next network forwarding device according to the connection order of the multiple network forwarding devices; until the last network forwarding device receives the data packet, the packet header of the data packet is parsed to obtain the first query results of the data packet by each previous network forwarding device, and the forwarding rule information corresponding to the data packet is queried from the business logic table configured in the last network forwarding device to obtain a second query result of the data packet; and the data packet is forwarded according to the forwarding rule information in each first query result and the forwarding rule information in the second query result.
[0108] According to one or more embodiments of the present disclosure, the first query result of the first network forwarding device on the data packet is added to the header of the data packet according to the preset transmission protocol, including: if the forwarding rule information corresponding to the data packet is hit from the business logic table configured by the first network forwarding device, then the forwarding rule information is added to the header of the data packet according to the preset transmission protocol; wherein the forwarding rule information includes the business logic table identifier, the rule length and the rule content.
[0109] In a second aspect, according to one or more embodiments of the present disclosure, a cloud network-based data transmission device is provided, including:
[0110] An acquisition unit is used to, in response to receiving a data packet sent by a client, acquire pipeline information corresponding to the data packet; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are connected in sequence according to the business processing sequence of the plurality of business logic tables;
[0111] A data transmission unit is used to forward the data packet to a first network forwarding device among the multiple network forwarding devices, process the data packet through a business logic table configured in the first network forwarding device, and forward the processed data packet to a next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
[0112] According to one or more embodiments of the present disclosure, the device also includes: an expansion unit; the expansion unit is used to expand the capacity of each business logic table according to a preset expansion multiple corresponding to each business logic table; according to the business processing order of the multiple business logic tables, the multiple business logic tables after capacity expansion are sequentially configured to multiple network forwarding devices; wherein the expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices.
[0113] According to one or more embodiments of the present disclosure, the business logic table includes an operation and maintenance table and a business table; the preset expansion multiple of the operation and maintenance table is equal to 1, and the preset expansion multiple of the business table is greater than 1.
[0114] According to one or more embodiments of the present disclosure, the device also includes: a series connection unit; the series connection unit is used to determine the connection order of multiple network forwarding devices configured with the multiple business logic tables according to the business processing order of the multiple business logic tables; determine two adjacent network forwarding devices among the multiple network forwarding devices according to the connection order of the multiple network forwarding devices; and connect the data packet sending end and the data packet receiving end of the two adjacent network forwarding devices in series through a preset transmission protocol.
[0115] According to one or more embodiments of the present disclosure, the series unit connects the data packet sending end and the data packet receiving end of two adjacent network forwarding devices in series through a preset transmission protocol, including: modifying the first egress processing flow and the first ingress processing flow of the two adjacent network forwarding devices into a second egress processing flow and a second ingress processing flow that comply with the preset transmission protocol; wherein the second egress processing flow and the second ingress processing flow that comply with the preset transmission protocol are used to transmit the processing result information of the network forwarding device.
[0116] According to one or more embodiments of the present disclosure, the data transmission unit processes the data packet through the business logic table configured in the first network forwarding device, and forwards the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device, including: querying the forwarding rule information corresponding to the data packet from the business logic table configured in the first network forwarding device to obtain a first query result of the data packet; when the first network forwarding device sends a data packet, adding the first query result of the data packet by the first network forwarding device to the packet header of the data packet according to a preset transmission protocol, and configuring the destination port in the packet header as the data packet receiving end of the next network forwarding device according to the connection order of the multiple network forwarding devices; until the last network forwarding device receives the data packet, parsing the packet header of the data packet to obtain the first query results of the data packet by each previous network forwarding device, querying the forwarding rule information corresponding to the data packet from the business logic table configured in the last network forwarding device to obtain a second query result of the data packet; forwarding the data packet according to the forwarding rule information in each first query result and the forwarding rule information in the second query result.
[0117] According to one or more embodiments of the present disclosure, the data transmission unit adds the first query result of the first network forwarding device on the data packet to the header of the data packet according to the preset transmission protocol, including: if the forwarding rule information corresponding to the data packet is hit from the business logic table configured by the first network forwarding device, then the forwarding rule information is added to the header of the data packet according to the preset transmission protocol; wherein the forwarding rule information includes the business logic table identifier, the rule length and the rule content.
[0118] In a third aspect, according to one or more embodiments of the present disclosure, there is provided an electronic device, comprising: at least one processor and a memory;
[0119] The memory stores computer-executable instructions;
[0120] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the cloud network-based data transmission method as described in the first aspect and various possible designs of the first aspect.
[0121] In a fourth aspect, according to one or more embodiments of the present disclosure, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer execution instructions. When a processor executes the computer execution instructions, the cloud network-based data transmission method described in the first aspect and various possible designs of the first aspect is implemented.
[0122] In a fifth aspect, according to one or more embodiments of the present disclosure, a computer program product is provided, including a computer program, which, when executed by a processor, implements the cloud network-based data transmission method as described in the first aspect and various possible designs of the first aspect.
[0123] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.
[0124] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0125] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A data transmission method based on a cloud network, characterized in that: The method comprises: In response to receiving a data packet sent by a client, pipeline information corresponding to the data packet is obtained; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are sequentially connected according to the business processing sequence of the plurality of business logic tables; The data packet is forwarded to a first network forwarding device among the multiple network forwarding devices, the data packet is processed by a business logic table configured in the first network forwarding device, and the processed data packet is forwarded to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
2. The data transmission method according to claim 1, characterized in that: Before the step of obtaining pipeline information corresponding to the data packet in response to receiving the data packet sent by the client, the method further includes: Expand the capacity of each business logic table according to the preset expansion multiple corresponding to each business logic table; sequentially configuring the multiple service logic tables after capacity expansion to multiple network forwarding devices according to the service processing order of the multiple service logic tables; The expansion multiple of the total capacity of the multiple business logic tables matches the number of the multiple network forwarding devices.
3. The data transmission method according to claim 2, characterized in that: The business logic table includes an operation and maintenance table and a business table; the preset expansion multiple of the operation and maintenance table is equal to 1, and the preset expansion multiple of the business table is greater than 1.
4. The data transmission method according to claim 1, characterized in that: Before the step of obtaining pipeline information corresponding to the data packet in response to receiving the data packet sent by the client, the method further includes: Determining, according to the service processing order of the multiple service logic tables, a connection order of multiple network forwarding devices configured with the multiple service logic tables; Determining two adjacent network forwarding devices among the multiple network forwarding devices according to a connection sequence of the multiple network forwarding devices; The data packet sending end and the data packet receiving end of two adjacent network forwarding devices are connected in series through a preset transmission protocol.
5. The data transmission method according to claim 4, characterized in that: The method of serially connecting the data packet sending end and the data packet receiving end of two adjacent network forwarding devices through a preset transmission protocol includes: Modify the first egress processing flow and the first ingress processing flow of two adjacent network forwarding devices into a second egress processing flow and a second ingress processing flow that conform to the preset transmission protocol; The second egress processing flow and the second ingress processing flow that comply with the preset transmission protocol are used to transmit the processing result information of the network forwarding device.
6. The data transmission method according to claim 1, characterized in that: Processing the data packet through the service logic table configured in the first network forwarding device, and forwarding the processed data packet to the next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device, including: Query the forwarding rule information corresponding to the data packet from the service logic table configured in the first network forwarding device to obtain a first query result of the data packet; When the first network forwarding device sends a data packet, the first query result of the first network forwarding device on the data packet is added to the packet header of the data packet according to the preset transmission protocol, and the destination port in the packet header is configured as the data packet receiving end of the next network forwarding device according to the connection order of the multiple network forwarding devices; Until the last network forwarding device receives the data packet, parses the packet header of the data packet to obtain the first query result of the previous network forwarding devices on the data packet, queries the forwarding rule information corresponding to the data packet from the service logic table configured by the last network forwarding device, and obtains the second query result of the data packet; The data packet is forwarded according to the forwarding rule information in each of the first query results and the forwarding rule information in the second query results.
7. The data transmission method according to claim 6, characterized in that: The step of adding a first query result of a first network forwarding device on a data packet to a header of the data packet according to a preset transmission protocol includes: If the forwarding rule information corresponding to the data packet is found in the service logic table configured by the first network forwarding device, the forwarding rule information is added to the header of the data packet according to the preset transmission protocol; The forwarding rule information includes a business logic table identifier, a rule length and a rule content.
8. A data transmission device based on a cloud network, characterized in that: The device comprises: An acquisition unit is used to, in response to receiving a data packet sent by a client, acquire pipeline information corresponding to the data packet; the pipeline information includes a plurality of business logic tables and a business processing sequence of the plurality of business logic tables; wherein the plurality of business logic tables are configured to a plurality of network forwarding devices in a series relationship after capacity expansion, and the plurality of network forwarding devices are connected in sequence according to the business processing sequence of the plurality of business logic tables; A data transmission unit is used to forward the data packet to a first network forwarding device among the multiple network forwarding devices, process the data packet through a business logic table configured in the first network forwarding device, and forward the processed data packet to a next network forwarding device according to the connection order of the multiple network forwarding devices, until the last network forwarding device.
9. An electronic device, characterized in that: include: Processor and memory; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor executes the cloud network-based data transmission method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions. When the processor executes the computer-executable instructions, the cloud network-based data transmission method as described in any one of claims 1 to 7 is implemented.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the cloud network-based data transmission method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method and system for creating software defined ordered service patterns in communications network
CN104521195A
Switch processing method, controller, switch, and switch processing system
CN105745877A
Implementation of service function chain on basis of software-defined network
CN112385185A
Network monitoring method based on software definition
CN113518043A
Cross-network data transmission method and device, equipment and storage medium
CN116418542A