CN111953805B - Method and device for transmitting data - Google Patents

Method and device for transmitting data Download PDF

Info

Publication number
CN111953805B
CN111953805B CN202010663979.6A CN202010663979A CN111953805B CN 111953805 B CN111953805 B CN 111953805B CN 202010663979 A CN202010663979 A CN 202010663979A CN 111953805 B CN111953805 B CN 111953805B
Authority
CN
China
Prior art keywords
container
container group
external
identifier
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010663979.6A
Other languages
Chinese (zh)
Other versions
CN111953805A (en
Inventor
马世佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202010663979.6A priority Critical patent/CN111953805B/en
Publication of CN111953805A publication Critical patent/CN111953805A/en
Application granted granted Critical
Publication of CN111953805B publication Critical patent/CN111953805B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

The application provides a method and a device for transmitting data, which are applied to a communication system comprising at least one computing device and at least one routing device, wherein at least one container is configured in each computing device, a plurality of container groups are configured in the communication system, each container group in the plurality of container groups comprises at least one container, and one container only belongs to one container group, the method comprises the following steps: the routing equipment determines a first mapping relation and a plurality of second mapping relations, wherein the first mapping relation is used for indicating a one-to-one mapping relation between a plurality of container groups and a plurality of external identifications, the plurality of second mapping relations are in one-to-one correspondence with the plurality of container groups, and each second mapping relation is used for indicating a one-to-one mapping relation between a plurality of containers in the corresponding container group and a plurality of internal identifications; the routing device controls data transmission between the container and the external device according to the first mapping relationship and the second mapping relationship, and can easily realize communication between the container and the external device.

Description

Method and device for transmitting data
The application is a divisional application with the invention name of 'method and device for transmitting data', the application number of which is 201710917482.0, and the application date of which is 2017, 9 and 30.
Technical Field
The present embodiments relate to the field of communications, and in particular, to a method and an apparatus for transmitting data.
Background
A container is a collection of interfaces between components and a platform in an application server. The container is produced along with the development of the thin client system. In developing a thin client system, a developer expends a great deal of effort to pay attention to thread security, matters, networks, resources, and so on, thereby reducing development efficiency. Since these solutions to these details are generally fixed or only parameter-changing, from the viewpoint of code reuse and design patterns, developers extract these bottom-level details, build platforms, and provide certain interfaces. Thus, the business developer need not be concerned with the implementation of these underlying details, but rather with the implementation of the business logic.
The container is configured within a computing device (e.g., an application server) that is responsible for loading and maintenance. One container can only exist within one computing device, and one computing device can build and maintain multiple containers.
In the prior art, communication between the container and the external device may be achieved in the following manner requiring communication via a computing device.
In the method 1, the container may communicate with the external device using network information (for example, Internet Protocol (IP) address) of the computing device, but in this method, when a plurality of containers are operated in the computing device, the plurality of containers share the same IP address, which easily causes communication errors, and thus, this method does not easily achieve communication between the containers and the external device.
Mode 2, it may be considered to allocate independent network information (e.g., IP address) to each container, but as communication technology develops, a huge number of containers may exist in a communication system, resulting in a very large overhead for IP addresses, and thus, it is not easy to implement communication between containers and external devices.
Accordingly, it is desirable to provide a technique capable of easily achieving communication between a container and an external device.
Disclosure of Invention
The application provides a method and a device for transmitting data, which can easily realize the communication between a container and an external device.
In a first aspect, a method for transmitting data is performed in a communication system including at least one computing device and at least one routing device, at least one container being configured in each computing device, a plurality of container groups being configured in the communication system, each container group in the plurality of container groups including at least one container, and a container belonging to only one container group, the method including: the routing equipment determines a first mapping relation and a plurality of second mapping relations, wherein the first mapping relation is used for indicating a one-to-one mapping relation between a plurality of container groups and a plurality of external identifications, the plurality of second mapping relations are in one-to-one correspondence with the plurality of container groups, and each second mapping relation is used for indicating a one-to-one mapping relation between a plurality of containers in the corresponding container group and a plurality of internal identifications; and the routing equipment controls the data transmission between the container and the external equipment according to the first mapping relation and the second mapping relation.
According to the method for transmitting data of the embodiment of the application, by setting an external identifier for each container group and not configuring an internal identifier for each container in the container group, a unique indication of a container based on an identifier pair formed by the external identifier and the internal identifier can be realized, and therefore, communication between an external device and the container can be easily realized based on the identifier pair.
Optionally, there are at least two containers with the same internal identification between at least two different groups of containers.
Therefore, multiplexing of the same internal identifier among different container groups can be realized, and the overhead of the internal identifier can be reduced.
Optionally, the controlling, by the routing device, data transmission between the container and the external device according to the first mapping relationship and the second mapping relationship includes: the routing equipment receives a first data packet carrying the first internal identifier and the first external identifier from first external equipment; the routing equipment determines a first container group corresponding to the first external identifier according to the first mapping relation; the routing equipment determines a first container corresponding to the first internal identifier from the first container group according to a second mapping relation corresponding to the first container group; and the routing equipment sends the first data carried in the first data packet to the first container.
Therefore, the routing device can uniquely determine the container to which the data packet needs to be sent based on the identification pair (the first internal identification and the first external identification) carried in the data packet sent by the external device, and further can realize the process of sending data to the container by the external device.
Optionally, the controlling, by the routing device, data transmission between the container and the external device according to the first mapping relationship and the second mapping relationship includes: the routing device receiving second data from a second container; the routing device determining a second container group to which the second container belongs; the routing equipment determines the second external identifier corresponding to the second container group according to the first mapping relation; the routing device determines a second internal identifier corresponding to the second container according to a second mapping relation corresponding to the second container group, and encapsulates the second data to generate a second data packet carrying the second external identifier and the second internal identifier; the routing device sends the second packet to a second external device.
Therefore, the routing device can determine the identifier pair (second internal identifier and second external identifier) corresponding to the container based on the container for sending data, and generate the data packet by encapsulating the identifier pair and the data, so that the external device can uniquely determine the container from which the data in the data packet comes based on the identifier pair carried in the data packet, and further realize the process of sending the data to the external device by the container.
Alternatively, each container group is used to handle only one user's traffic.
That is, each external identifier can uniquely correspond to one user, so that different users can be isolated through different external identifiers, and the influence on the communication security caused by the fact that the same container processes services of different users is avoided.
Optionally, the at least one container group comprises at least one common container group comprising containers configured on at least two computing nodes.
Therefore, the same service can be processed through the common container group distributed on the plurality of computing nodes, the situation that the configuration of the container group cannot be realized due to the display of the resource of a single computing node can be avoided, the configuration of the container in the common container group can be easily realized, and the practicability and the reliability of the data transmission method of the embodiment of the application are improved.
Optionally, the external identifier corresponding to the public container group is an internet protocol IP address of the routing device.
Thus, by using the IP address of the routing device as the external identifier of the public container group, the overhead of the external identifier can be saved.
Optionally, multiple containers assigned to the same user belong to the same common container group.
Therefore, the one-to-one correspondence between the external identifiers and the users can be realized, namely, the containers served by one user are all in the same container group, or the containers served by one user correspond to the same external identifier, so that when the users (or the external equipment corresponding to the users) need to access the containers, only one external identifier needs to be recorded and stored, and the access of the same user to the containers is facilitated.
Optionally, the at least one container group includes at least one dedicated container group, and the containers in the dedicated container group are configured on the same compute node.
By configuring the containers in one container group on the same computing node, the speed and efficiency of data transmission can be improved.
Optionally, the external identifier is an IP address and the internal identifier is a port number.
In a second aspect, there is provided a method of transmitting data, performed in a communication system comprising a control device, at least one computing device and at least one routing device, the method comprising: the control device controls the computing device to configure a plurality of container groups, each container group in the plurality of container groups comprising at least one container, one container belonging to only one container group; the control device sends a first mapping relation and a plurality of second mapping relations to the routing device, the first mapping relation is used for indicating a one-to-one mapping relation between a plurality of container groups and a plurality of external identifiers, the plurality of second mapping relations are in one-to-one correspondence with the plurality of container groups, and each second mapping relation is used for indicating a one-to-one mapping relation between a plurality of containers in the corresponding container group and a plurality of internal identifiers, so that the routing device controls data transmission between the container and the external device according to the first mapping relation and the second mapping relation.
According to the method for transmitting data of the embodiment of the application, by setting an external identifier for each container group and not configuring an internal identifier for each container in the container group, a unique indication of a container based on an identifier pair formed by the external identifier and the internal identifier can be realized, and therefore, communication between an external device and the container can be easily realized based on the identifier pair.
Optionally, the controlling device controls the computing device to configure a plurality of container groups, including: the control device determines a target mode from a first mode and a second mode, wherein a container group created based on the first mode comprises containers configured on at least two computing nodes, and the containers in the container group created based on the second mode are configured on the same computing node; the control device creates at least one first container group for the first user according to the target mode.
Optionally, the control device determines the target mode from the first mode and the second mode, including: the control device determines a target mode from the first mode and the second mode according to a routing mode corresponding to the routing device.
Optionally, the control device determines the target mode from the first mode and the second mode, including: the control device determines a target mode from the first mode and the second mode according to at least one of service information of a service corresponding to the data and user information of a user to which the container group is assigned.
Through the first mode, the same service can be processed through the common container groups distributed on the plurality of computing nodes, the situation that the configuration of the container groups cannot be realized due to the fact that the resources of a single computing node are displayed can be avoided, further, the configuration of the containers in the common container groups can be easily realized, and the practicability and the reliability of the data transmission method of the embodiment of the application are improved. Through the second mode, the containers in one container group can be configured on the same computing node, and the speed and the efficiency of data transmission can be improved.
Optionally, the external identifier is an IP address and the internal identifier is a port number.
Information is leaked, and the security of communication can be improved.
In a third aspect, an apparatus for transmitting data is provided, which includes means for performing the steps of the method for transmitting data in the first aspect and the implementation manners of the first aspect.
In a fourth aspect, an apparatus for transmitting data is provided, which includes means for performing the steps of the method for transmitting data in the second aspect and the implementations of the second aspect.
In a fifth aspect, a device for transmitting data is provided, where the device has a function of implementing the behavior of the routing device in the foregoing first aspect and the implementation manners of the first aspect. The function can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
A sixth aspect provides a device for transmitting data, the device having a function of implementing the behavior of the control device in the second aspect and the implementations of the second aspect. The function can be realized by hardware, and can also be realized by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functions described above.
In a seventh aspect, an apparatus for transmitting data is provided, where the apparatus for transmitting data includes a processor. The processor is configured to support the apparatus for transmitting data to perform the corresponding functions in the first aspect and in the implementations of the first aspect, and in one possible design, the apparatus for transmitting data may further include a transceiver for supporting the apparatus for transmitting or receiving information. In one possible design, the apparatus for transferring data may further include a memory for coupling with the processor for storing program instructions and data necessary for the apparatus for transferring data. Alternatively, the apparatus for transferring data comprises a memory for storing a computer program and a processor for calling and running the computer program from the memory, so that the apparatus for transferring data performs the method for transferring data according to the first aspect and any of its various implementations.
In an eighth aspect, an apparatus for transmitting data is provided, wherein the apparatus for transmitting data includes a processor. The processor is configured to support the apparatus for transferring data to perform the second aspect and the corresponding functions in the implementations of the second aspect, and in one possible design, the apparatus for transferring data may further include a transceiver for supporting the server to receive or transmit information. In one possible design, the apparatus for transferring data may further include a memory for coupling with the processor for storing program instructions and data necessary for the apparatus for transferring data. Alternatively, the apparatus for transferring data comprises a memory for storing a computer program and a processor for calling and running the computer program from the memory, so that the apparatus for transferring data performs the method for transferring data of any one of the above second aspect and its various implementations.
In a ninth aspect, there is provided a computer program product, the computer program product comprising: computer program code which, when run by a processing unit, a communication unit or a processor, a transceiver of a routing device, causes the routing device to perform the method of transmitting data of the first aspect described above and any of its various implementations.
In a tenth aspect, there is provided a computer program product comprising: computer program code which, when run by a processing unit, a communication unit or a processor, a transceiver of a control device, causes the control device to perform the method of transmitting data of any of the above second aspect and its various implementations.
In an eleventh aspect, there is provided a computer-readable storage medium storing a program for causing a routing device to execute the method for transmitting data of the first aspect and any of its various implementations. Alternatively, the computer readable storage medium is used for storing computer software instructions for the routing device, which comprises a program designed for executing the method of the first aspect.
In a twelfth aspect, there is provided a computer-readable storage medium storing a program that causes a control apparatus to execute the method of transmitting data of the second aspect described above and any of its various implementations. Alternatively, the computer readable storage medium is used for storing computer software instructions for the control device, which comprises a program designed for executing the method of the second aspect.
In a thirteenth aspect, a chip system is provided, where the chip system includes a processor, configured to support a routing device to implement the functions referred to in the first aspect, for example, determine a first mapping relationship and a plurality of second mapping relationships, and control data transmission between the container and the external device according to the first mapping relationship and the second mapping relationship. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary to implement the functions described above.
In a fourteenth aspect, a chip system is provided, where the chip system includes a processor, configured to enable a control device to implement the functions recited in the second aspect, for example, the control device controls the computing device to configure multiple container groups, and sends a first mapping relationship and multiple second mapping relationships to the routing device. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary to implement the functions described above.
By providing an external identifier for each container group without configuring an internal identifier for each container in the container group, it is possible to uniquely indicate a container based on an identifier pair consisting of an external identifier and an internal identifier, and thus, communication between an external device and the container can be easily realized based on the identifier pair.
Drawings
Fig. 1 is a schematic configuration diagram of an example of a communication system to which the method and apparatus for transmitting data are applied.
Fig. 2 is a schematic diagram showing an example of a connection method between a computing device and a routing device.
Fig. 3 is a schematic diagram showing another example of the connection method between the computing device and the routing device.
Fig. 4 is a schematic diagram of another example of a connection method between a computing device and a routing device.
Fig. 5 is a schematic configuration diagram of still another example of a communication system to which the method and apparatus for transmitting data are applied.
Fig. 6 is a schematic flow chart of a method of creating a container according to an embodiment of the present application.
Fig. 7 is a schematic flowchart of an example of a method for transmitting data according to an embodiment of the present application.
Fig. 8 is a schematic flow chart of another example of a method for transmitting data according to an embodiment of the present application.
Fig. 9 is a schematic diagram of an example of a data input device according to an embodiment of the present application.
Fig. 10 is another exemplary view of the data input device according to the embodiment of the present application.
Fig. 11 is a schematic diagram of an example of a device for data transmission according to an embodiment of the present application.
Fig. 12 is another schematic illustration of the data input device according to the embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
The method and the device for transmitting data provided by the embodiment of the application can be applied to a computer, and the computer comprises a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a Central Processing Unit (CPU), a Memory Management Unit (MMU), and a Memory (also referred to as a main Memory).
The operating system may be any one or more computer operating systems that implement business processing through processes (processes), such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a windows operating system.
The application layer comprises applications such as a browser, an address list, word processing software, instant messaging software and the like.
In the embodiment of the present application, the computer may be a handheld device such as a smartphone or a terminal device such as a personal computer, and the present application is not particularly limited as long as the data can be transmitted by the method for transmitting data according to the embodiment of the present application by running a program in which codes of the method for transmitting data of the embodiment of the present application are recorded.
The execution main body of the method for transmitting data according to the embodiment of the present application may be a computer device, or a functional module capable of calling a program and executing the program in the computer device.
Moreover, various aspects or features of the present application may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques.
The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer-readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips, etc.), optical disks (e.g., Compact Disk (CD), Digital Versatile Disk (DVD), etc.), smart cards, and flash Memory devices (e.g., Erasable Programmable Read-Only Memory (EPROM), card, stick, or key drive, etc.).
In addition, various storage media described herein can represent one or more devices and/or other machine-readable media for storing information.
The term "machine-readable medium" can include, without being limited to, wireless channels and various other media capable of storing, containing, and/or carrying instruction(s) and/or data.
First, the architecture of a system to which a communication system to which the method and apparatus for transmitting data are applied will be described with reference to fig. 1 and 5.
Fig. 1 is a schematic diagram of an example of a system 100 to which the method for transmitting data according to the embodiment of the present application is applied. As shown in fig. 1, the system includes:
at least one computing device 110;
at least one routing device 120.
First, the functions of the above-described devices will be described.
1. Computing device
In the embodiment of the present application, the computing devices are configured to run containers (containers), and specifically, at least one container is configured (or run) in each computing device 110.
Also, in the embodiment of the present application, there are a plurality of (two or more) container groups in the communication system 100, where each container group includes at least one container, and one container belongs to only one container group.
First, the functions of the container group will be explained.
In the embodiment of the present application, one container group can provide a prescribed service, for example, calculation or data processing, and the like. In the embodiment of the present application, functions that need to be implemented by one container group may be implemented by one container in the container group, or may be implemented by cooperation of two or more containers, and the present application is not particularly limited.
The method and process for configuring the container in the computing device may be similar to those in the prior art, and a detailed description thereof is omitted here for avoiding redundancy. In the embodiment of the present application, methods and processes of a container (for example, a method and a process of processing data from an external device, or a method and a process of producing data to be sent to an external device) for realizing functions thereof may be similar to those of the prior art, and a detailed description thereof is omitted here in order to avoid redundancy.
Here, the "external device" may be a terminal device or the like, for example, the terminal device may be installed with software corresponding to one or more container groups, so that the external device realizes service access through data transmission with the container or the container group.
By way of example, and not limitation, in embodiments of the present application, a terminal device may also be referred to as a User Equipment (UE), an access terminal, a subscriber unit, a subscriber station, a mobile station, a remote terminal, a mobile device, a User terminal, a wireless communication device, a User agent, or a User Equipment. The terminal device may be a Station (ST) in a WLAN, and may be a cellular phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA) device, a handheld device with Wireless communication function, a computing device or other processing device connected to a Wireless modem, an in-vehicle device, a wearable device, and a next generation communication system, for example, a terminal device in a 5G Network or a terminal device in a future evolved Public Land Mobile Network (PLMN) Network, and the like. In addition, in the embodiment of the present application, the terminal device may also be a terminal device in an Internet of Things (IoT) system.
By way of example and not limitation, in the embodiments of the present application, the terminal device may also be a wearable device. Wearable equipment can also be called wearable intelligent equipment, is the general term of applying wearable technique to carry out intelligent design, develop the equipment that can dress to daily wearing, like glasses, gloves, wrist-watch, dress and shoes etc.. The wearable device may be worn directly on the body or may be a portable device integrated into the user's clothing or accessory. The wearable device is not only a hardware device, but also realizes powerful functions through software support, data interaction and cloud interaction. The generalized wearable smart device includes full functionality, large size, and can implement full or partial functionality without relying on a smart phone, such as: smart watches or smart glasses and the like, and only focus on a certain type of application function, and need to be matched with other equipment such as a smart phone for use, such as various smart bracelets for physical sign monitoring, smart jewelry and the like.
Alternatively, in the embodiment of the present application, the terminal device may also be a computer or the like.
Next, the arrangement of the container group will be explained.
In the embodiment of the present application, a container group configured by at least one of the following may exist in the communication system 100:
configuration a
At least two containers configured in different computing devices 110 are included in a container group. In other words, the container group of configuration a (specifically, the containers in the container group of configuration a) is distributed and configured in at least two computing devices 110.
Configuration b
All of the containers in a container group are configured in one computing device 110. In other words, the container group of configuration b (specifically, the containers in the container group of configuration b) is centrally configured in at least two computing devices 110.
2. Routing device
In the embodiment of the present application, the routing device is used for forwarding data or information that needs to be transmitted before the container and the external device.
That is, in the embodiment of the present application, one computing device may be communicatively connected to one or more routing devices, and the routing device may be communicatively connected to an external device, so that the external device and a container group configured in the computing device can communicate (for example, data transmission) via the routing device, thereby enabling the container group to provide a service to the external device.
By way of example and not limitation, in the embodiments of the present application, the routing device may be a virtual router running in a hardware device such as a computer or a server. In this case, the container and the virtual router may operate in the same hardware device, or the container and the virtual router may operate in different hardware devices, that is, in this embodiment of the application, the computing device and the routing device may be the same hardware device (or the computing device and the routing device may be configured in the same hardware device), or the computing device and the routing device may be different hardware devices (or the computing device and the routing device may be configured in different hardware devices), and the application is not particularly limited.
In addition, in the embodiment of the present application, a communication connection manner between the computing device and the routing device may be similar to that in the prior art, and here, detailed descriptions thereof are omitted to avoid redundancy.
Next, a communication connection method between the routing device and the computing device in the embodiment of the present application will be described.
In this embodiment of the present application, the routing device and the computing device may implement communication connection through a Network, such as a Virtual Extensible Local Area Network (VXLAN) or a Virtual Local Area Network (VLAN).
In the embodiment of the present application, the routing device 120 may include a routing device (hereinafter, referred to as a routing device 120A for ease of understanding) shared by a plurality of computing devices 110 (hereinafter, referred to as a computing device 110A for ease of understanding), that is, case 1, or the routing device 120 may include a routing device (hereinafter, referred to as a routing device 120B for ease of understanding) dedicated to one computing device 110 (hereinafter, referred to as a computing device 110B for ease of understanding), that is, case 2, and the connection manner between the computing device 110 and the routing device 120 in the above two cases is described below.
Case 1
As shown in fig. 2, in computing device 110A may be configured:
security group bridge (qbr): for setting and implementing security group rules
Virtual bridge (br-int): for realizing forwarding of two-layer network data message
Tunnel encapsulation bridge (br-tun): for realizing vxlan encapsulation
Network card bridge (br-eth): traffic forwarding within the computer system, the vxlan channels provided, and the path to the management plane and storage plane.
Further, br-int, br-tun, br-eth, etc. may be arranged in the routing device 120A.
Case 2
As shown in FIG. 3, qbr, br-int, etc. may be configured in computing device 110B.
Also, an extranet bridge (br-ex) may also be configured in computing device 110B: the method is used for the traffic forwarding of the computer system and the external network.
Also, in the routing device 120B, there may be configured: br-int, br-tun, br-eth, etc.
It should be understood that the above listed communication manner between the routing device and the computing device is only an exemplary illustration, and the present application is not limited thereto, for example, as shown in fig. 4, in the embodiment of the present application, the routing device 120 may include both the routing device 120A and the routing device 120B.
Moreover, it should be understood that the above-listed implementation manners of communication between the routing device and the computing device are only exemplary, and the present application is not limited thereto, and other manners capable of implementing communication between different hardware devices or communication between different virtual machines in the same hardware are within the scope of the present application. For example, in the embodiment of the present application, the routing device and the computing device may communicate with each other through a wired connection, or the routing device and the computing device may also communicate with each other through a wireless connection (for example, bluetooth, WIFI, or the like).
In addition, in the embodiment of the present application, the computing device 110 and the routing device 120 may be configured in the same hardware device or different hardware devices, and the present application is not particularly limited.
It should be noted that, in this embodiment of the application, when the computing device 110 and the routing device 120 are configured in the same device (e.g., a server), each computing device may be connected to the routing device through a bus (e.g., a PCIE bus), that is, signaling or data transmission between the FPGA computing device 110 and the routing device 120 may be implemented through the bus. In addition, when the computing device 110 and the routing device 120 are configured in different devices, information or signal transceivers may be configured in the computing device 110 and the routing device 120, and the transceivers in the computing device 110 and the routing device 120 may be connected by a transmission cable to enable signaling or data transmission between the computing device 110 and the routing device 120.
It should be understood that the above-listed structure of the communication 100 is only an exemplary illustration, and the present application is not limited thereto, for example, as shown in fig. 5, in the embodiment of the present application, the communication system may further include the control device 130.
As shown in fig. 5, in the embodiment of the present application, the control device 130 is communicatively connected to the computing devices 110, and the control device 130 may control the configuration (or creation) of the containers in each computing device 110.
For example, in the embodiment of the present application, the control device 130 may be used to determine the creation mode of the volume group.
Here, the creation mode of the container group may be a mode including, but not limited to:
mode a, i.e., the containers in the container group created based on mode a, are configured in the same computing device.
Mode B, i.e., the containers in the container group created based on mode B, are configured in at least two computing devices.
Also, the control device 130 may assign an external identification and an internal identification to each group of containers.
First, the functions of the internal flag and the external flag will be explained.
In this embodiment of the present application, an external identifier is used to uniquely identify a container group, and the external identifier is carried in a data packet exchanged between the routing device and the external device. Thus, the routing device and the external device can determine a container group for processing data in the data packet according to the external identifier carried in the data packet, and then, the process will be described in detail.
It should be noted that, for example, as shown in the configuration b, one container group may be configured on one computing device, and therefore, one external identifier may correspond to one computing device (i.e., correspond to the mode a), i.e., one external identifier is only used for indicating one container group set in the same computing device.
For another example, as shown in configuration a above, one container group may be configured on a plurality of computing devices, and thus, one external identifier may correspond to the plurality of computing devices, that is, one external identifier may be used to indicate one container group (that is, correspond to mode B) set in the plurality of computing devices.
By way of example and not limitation, in the embodiment of the present application, one external identifier may include at least one of one external IP address (i.e., an IP address used when the external device accesses the container server) and one external port number (i.e., a port number used when the external device accesses the container server).
For example, in the embodiment of the present application, one routing device 120 may have an identifier (for example, an IP address or a port number) capable of uniquely indicating the routing device, and thus, as an example and not by way of limitation, for one container group (hereinafter, referred to as a container group #1 for ease of understanding and distinction), an identifier of one routing device (hereinafter, referred to as a routing device #1 for ease of understanding and distinction) capable of communicating with a container in the container group #1 may be used as an external identifier of the container group # 1. Thus, overhead of identifying resources (e.g., IP addresses) can be saved.
Alternatively, in the embodiment of the present application, instead of using the identifier of the routing device #1 as the external identifier of the container group #1, one identifier may be separately assigned to the container group # 1.
In the embodiment of the present application, when one container group is configured on a plurality of computing devices, in order to enable communication between each container in the container group and an external device, it is necessary that all the plurality of computing devices are in communication connection with a routing device, and in this case, it is possible to easily realize that the identifier of the routing device is an external identifier of the container group.
Alternatively, in the embodiment of the present application, instead of using the identifier of the routing device #1 as the external identifier of the container group #1, one identifier may be individually assigned to the container group # 1.
In this embodiment, one container group may correspond to multiple internal identifiers, and the multiple internal identifiers may correspond to multiple containers in the container group one to one, that is, one internal identifier may uniquely identify one container in the corresponding container group, so that one container in one container group can be uniquely determined by one internal identifier through one external identifier.
By way of example and not limitation, in embodiments of the present application, an external identifier may include at least one of an internal IP address (i.e., an IP address of the container used in the communication system 100) and an external port number (i.e., a port number of the container used in the communication system 100).
Optionally, the same internal identifier may exist among multiple internal identifiers corresponding to different container groups, so that the overhead of the internal identifier can be saved.
Alternatively, all the internal identifiers may be different between a plurality of internal identifiers corresponding to different container groups, which is specifically limited in the present application.
And, the internal identifier is carried in the data packet exchanged between the routing device and the external device. Thus, the routing device and the external device can determine, according to the external identifier and the internal identifier carried in the packet, that the container for processing the data in the packet is combined with the container for processing the data in the packet in the container group, and then, the process will be described in detail.
In the embodiment of the present application, the control device 130 may further generate an entry indicating a one-to-one mapping relationship between the container group and the external identifier (hereinafter, referred to as mapping relationship a for ease of understanding and distinction), and the control device 130 may further generate an entry indicating a one-to-one mapping relationship between a plurality of containers in one container group and a plurality of internal identifiers corresponding to the plurality of container groups (hereinafter, referred to as mapping relationship B for ease of understanding and distinction)
Also, as shown in fig. 5, in the embodiment of the present application, the control device 130 is communicatively connected to the routing device 120, and the control device 130 may transmit the mapping relationship a and the plurality of mapping relationships B to the routing device 130, so that the routing device may control data transmission based on the mapping relationship a and the mapping relationship B, and then, the process will be described in detail.
Table 1 below shows an example of the mapping relationship a.
TABLE 1
Figure BDA0002579661430000101
Table 1 shows the external identifier corresponding to one container group, but the present application is not limited to this, and for example, as shown in table 2, mapping relationships between a plurality of container groups and a plurality of external identifiers may be recorded in one entry.
TABLE 2
Indexing of groups of containers External identification corresponding to container group
ID-1 NodeIP-1
1D-2 NodeIP-2
…… ……
In addition, in addition to the index of the container group and the external identifier corresponding to the container, in the embodiment of the present application, other information of the container group may be recorded in the mapping relationship a, for example, table 3 below shows another example of the mapping relationship a.
TABLE 3
Figure BDA0002579661430000102
Figure BDA0002579661430000111
Table 4 below shows an example of the mapping relation B
TABLE 4
Name of field Type (B) Means of
ID Int Indexing of containers
NodeIP String(15) External identification corresponding to the container group to which the container belongs
LocalIP Int The corresponding internal mark of the container
Table 4 shows the internal identifier corresponding to one container in one container group, but the present application is not limited to this, and for example, as shown in table 5, a mapping relationship between a container group in one container group and a plurality of internal identifiers may also be recorded in one entry.
TABLE 5
Figure BDA0002579661430000112
Table 4 and table 5 show the external identifier corresponding to one container group, but the present application is not limited to this, and for example, as shown in table 6, mapping relationships between containers in multiple container groups and multiple internal identifiers may also be recorded in one entry.
TABLE 6
Figure BDA0002579661430000113
In addition, in addition to the index of the container and the external identifier corresponding to the container, in the embodiment of the present application, other information of the container may be recorded in the mapping relationship B, for example, table 7 below shows another example of the mapping relationship B.
TABLE 7
Figure BDA0002579661430000114
Figure BDA0002579661430000121
It should be understood that the specific forms and indicated information of mapping a and mapping B listed above are merely exemplary illustrations, and in the case where the function of mapping a (i.e., the correspondence relationship for indicating the external identifier and the container group) and the function of mapping B (i.e., the correspondence relationship for indicating the internal identifier and the container) can be implemented, the specific forms and indicated information of mapping a and mapping B may be arbitrarily changed.
It should be noted that, in this embodiment of the application, the computing device 110 and the control device 130 may also be the same device, or the computing device 110 and the control device 130 may be configured in the same device (for example, a server), and when the computing device 110 and the control device 130 are configured in the same device (for example, a server), the computing device 110 may be connected to the control device 130 through a bus (for example, a PCIE bus), that is, signaling or data transmission between the computing device 110 and the control device 130 may be realized through the bus. In addition, when the control device 130 and the computing device 110 are configured in different devices, information or signal transceivers may be configured in the control device 130 and the computing device 110, and the transceivers in the control device 130 and the computing device 110 are connected through a transmission cable to implement signaling or data transmission between the control device 130 and the computing device 110.
Similarly, in this embodiment of the application, the routing device 120 and the control device 130 may also be the same device, or the routing device 120 and the control device 130 may be configured in the same device (e.g., a server), and when the routing device 120 and the control device 130 are configured in the same device (e.g., a server), the routing device 120 may be connected to the control device 130 through a bus (e.g., a PCIE bus), that is, signaling or data transmission between the routing device 120 and the control device 130 may be achieved through the bus. In addition, when the control device 130 and the routing device 120 are configured in different devices, information or signal transceivers may be configured in the control device 130 and the routing device 120, and the transceivers in the control device 130 and the routing device 120 are connected through a transmission cable, so as to implement signaling or data transmission between the control device 130 and the routing device 120.
Next, a method 200 for the control device 130 to create a container group (hereinafter, referred to as a container group #1 for ease of understanding and explanation) for one user (hereinafter, referred to as a user 1 for ease of understanding and explanation) and assign an internal identification and an external identification to the container group #1 is described in detail with reference to fig. 6.
As shown in fig. 6, at S210, the control device may determine a routing mode corresponding to the set #1, and specifically, in this embodiment, the routing mode may include, but is not limited to, a centralized mode and a distributed mode.
Among them, in the centralized mode, the containers in the container group #1 may be distributed in a plurality of computing devices, and a Legacy (Legacy) routing device for the container group #1 is configured in the communication system 100. Specifically, all traffic for the containers of the container group #1 is forwarded via the legacy routing device for the container group # 1.
Thus, in the case where the control apparatus determines in S210 that the routing mode corresponding to the container group #1 is the centralized mode, the control apparatus may perform S220A.
At S220A, the control device may use the IP address and/or port number of the legacy routing device for container group #1 as the external identification of the container group # 1.
In addition, the containers in the container group #1 may be Distributed in one computing device in the Distributed mode, and a Distributed routing (DVR) device for the container group #1 is configured in the communication system 100. In particular, the distributed routing device may be configured in a computing device such that both east-west traffic and north-south traffic of the container group #1 may be forwarded through the distributed routing device. It should be noted that in the distributed mode, there may still be a conventional routing device shared by multiple computing devices in the communication system. The container group #1 may use the conventional routing device for traffic forwarding, or the container group #1 may also use a distributed routing device for traffic forwarding.
Thus, in the case where the control device determines at S210 that the routing mode corresponding to the container group #1 is the distributed mode, the control device may perform S220B.
At S220B, the control device may determine a processing mode corresponding to the set #1, and specifically, in the embodiment of the present application, the processing mode may include, but is not limited to, a low speed mode and a high speed mode.
The low-speed mode is suitable for a centralized routing mode and a distributed routing mode. That is, in the slow mode, the container group #1 is considered to be a plurality of containers deployed by one or more computing devices of one conventional routing device server, i.e., all traffic of the container group #1 is forwarded via the conventional routing device.
Accordingly, in the case where the control apparatus determines at S220B that the processing mode corresponding to the container group #1 is the low speed mode, the control apparatus may perform the above-described S220A.
In addition, the high speed mode is applicable only to the distributed routing mode. That is, in the high-speed mode, the container group #1 has a dedicated routing device (the routing device may be a virtual routing device), that is, all traffic of the container group #1 is forwarded via the dedicated routing device without being forwarded via the conventional routing device.
Thus, in the case where the control device determines at S220B that the processing mode corresponding to this container group #1 is the high speed mode, the control device may perform S230.
At S230, the control device may apply for an IP address and a port number for the dedicated distribution time router, and use the IP address and/or the port number of the dedicated distribution routing device for the container group #1 as the external identifier of the container group # 1.
Thus, the control device may determine the external identifier corresponding to the container group #1, and thus, at S240, the control device may generate a mapping table entry indicating the external identifier corresponding to the container group #1 and transmit the mapping table entry to a routing device for implementing communication between the container group #1 and the external device.
Although not illustrated in the drawing, the control device may also allocate an internal identifier to each container of the container group #1, and the control device may record a mapping relationship table entry of the internal identifier corresponding to each container in the container group #1 and transmit the mapping relationship table entry to a routing device for implementing communication between the container group #1 and an external device.
In the embodiment of the present application, the communication between the container and the external device includes a method 300 for transmitting data from the external device to the container and a method 400 for transmitting data from the container to the external device, and the processes of the two methods are described in detail below with reference to fig. 7 and 8.
Fig. 7 shows a process of transmitting data from the external device # a to the container # a in the container group # a via the routing device # a, and as shown in fig. 7, at S310, the routing device # a may determine a mapping relationship #1, the mapping relationship #1 being used to indicate mapping relationships between a plurality of container groups and a plurality of external identifiers, and the container group # a is assumed to correspond to the external identifier # a without loss of generality.
As described above, when the containers in the container group # a are distributed among multiple computing devices, the external identifier corresponding to the container group # a may be IP addresses and/or ports of traditional routing devices serving the multiple computing devices.
Alternatively, as described above, when the containers in the container group # a are distributed in one computing device, the external identifier corresponding to the container group # a may be an IP address and/or port number of a conventional routing device serving a plurality of computing devices. Alternatively, the external identifier corresponding to the container group # a may be an IP address and/or a port number that is independently applied for the container group # a.
Also, at S310, the routing device # a may further determine a mapping #2, where the mapping #2 is used to indicate a mapping between a plurality of containers in the container group # a and a plurality of internal identifiers, and the container # a is corresponding to the internal identifier # a without loss of generality.
It should be noted that the mapping relationship #1 and/or the mapping relationship #2 may be input into the routing device # a by a network administrator, or the mapping relationship #1 and/or the mapping relationship #2 may also be pre-configured in the routing device # a when the routing device # a leaves a factory, or the mapping relationship #1 and/or the mapping relationship #2 may also be determined by a control device in the communication system 100 and sent to the routing device # a, and the process may be similar to the process described in the method 200, and here, to avoid redundant description, detailed description thereof is omitted.
Also, in the embodiment of the present application, the external device # a may determine the external identifier # a corresponding to the container set # a, and the container # a and the internal identifier # a. By way of example and not limitation, the external identifier # a corresponding to the container group # a, and the container # a and the internal identifier # a may be notified and issued to the external device by the operator providing the container service when the user of the external device transacts the service. Alternatively, the external identifier # a corresponding to the container group # a, and the container # a and the internal identifier # a may be notified to the external device by the control device. It should be understood that the above-listed methods and processes for the external device to know the external identifier of the container group and the internal identifier of the container are only exemplary, and the present application is not particularly limited, and other methods and processes for the external device to know the external identifier of the container group and the internal identifier of the container fall within the protection scope of the present application.
In addition, in the embodiment of the present application, there may be a case where containers in two container groups use the same internal identifier, and therefore, in the embodiment of the present application, the routing device # a may further record a mapping relationship between the mapping relationship #2 and the container group # a (or the mapping relationship #1) (hereinafter, for convenience of understanding and explanation, the mapping relationship #3 is referred to).
At S320, the external device # a may encapsulate the data # a that needs to be sent to the service processed by the container a to generate a data packet # a that can be analyzed by the routing device # a, where the data packet # a may carry the external identifier # a and the internal identifier # a. And, the external apparatus # a can transmit the packet # a to the routing apparatus # a.
At S330, the routing device # a may search for the container group corresponding to the external identifier # a based on the mapping relation #1, and determine that the container group (i.e., the container group # a) to which the data # a needs to be sent belongs in the data packet # a.
Also, at S330, the routing device may determine mapping 2 corresponding to the container group # a based on mapping #3, and further determine the container (i.e., container # a) corresponding to the internal identifier # a according to the mapping # 2.
At S340, the routing device # a may transmit the data # a to the container # a, thereby completing the external device-to-container data transfer.
Fig. 8 shows a process of transmitting data from the container # B in the container group # B to the external device # B via the routing device # B, and as shown in fig. 8, at S410, the routing device # B may determine a mapping relation #4, the mapping relation #4 indicating mapping relations between a plurality of container groups and a plurality of external identifiers, and the container group # B is set to correspond to the external identifier # B without loss of generality.
As described above, when the containers in the container group # B are distributed among multiple computing devices, the external identifier corresponding to the container group # B may be IP addresses and/or ports of traditional routing devices serving the multiple computing devices.
Alternatively, as described above, when the containers in the container group # B are distributed in one computing device, the external identifier corresponding to the container group # B may be IP addresses and/or port numbers of a conventional routing device serving a plurality of computing devices. Alternatively, the external identifier corresponding to the container group # B may be an IP address and/or a port number that is independently applied for the container group # B.
Also, at S410, the routing device # B may further determine a mapping #5, where the mapping #5 is used to indicate a mapping between a plurality of containers in the container group # B and a plurality of internal identifiers, and the container # B is corresponding to the internal identifier # B without loss of generality.
It should be noted that the mapping relation #4 and/or the mapping relation #5 may be input into the routing device # B by a network administrator, or the mapping relation #4 and/or the mapping relation #5 may also be pre-configured in the routing device # B when the routing device # a leaves a factory, or the mapping relation #4 and/or the mapping relation #5 may also be determined by the control device in the communication system 100 and sent to the routing device # B, and the process may be similar to the process described in the method 200, and a detailed description thereof is omitted here for avoiding redundant description.
Also, in the embodiment of the present application, the external device # B may determine the external identifier # B corresponding to the set # B, and the container # B and the internal identifier # B. By way of example and not limitation, the external device # B may determine the external identifier # B corresponding to the set # B, and the container # B and the internal identifier # B may be notified and issued to the external device by the operator providing the container service when the user of the external device transacts business. Alternatively, the external device # B may determine the external identifier # B corresponding to the set # B, and the container # B and the internal identifier # B may be notified to the external device by the control device. It should be understood that the above-listed methods and processes for the external device to know the external identifier of the container group and the internal identifier of the container are only exemplary, and the present application is not particularly limited, and other methods and processes for the external device to know the external identifier of the container group and the internal identifier of the container fall within the protection scope of the present application.
In addition, in the embodiment of the present application, there may be a case where containers in two container groups use the same internal identifier, and therefore, in the embodiment of the present application, the routing device # B may further record a mapping relationship between the mapping relationship #4 and the container group # B (or the mapping relationship #5) (hereinafter, for convenience of understanding and explanation, the mapping relationship #6 is referred to).
At S420, the container # B may transmit data # B, which needs to be transmitted to the external device # B, to the routing device # B.
At S430, the routing device # B may determine a container group (i.e., container group # B) to which the container # B belongs, and further, may determine a mapping #5 for describing an internal identifier corresponding to the container # B based on the mapping #6, so that the routing device # B may determine the internal identifier (i.e., internal identifier # B) corresponding to the container # B based on the mapping # 5.
Also, at S430, the routing device # B may determine the external identifier (i.e., external identifier # B) corresponding to the container group # B based on the mapping relation # 4.
At S440, the routing device # B may encapsulate the data # B to generate a data packet # B that the external device # B can parse, where the data packet # B may carry the external identifier # B and the internal identifier # B. And, the routing device # B can transmit the packet # B to the external device # B.
At S450, the external device # B may determine that the data carried in the data packet # B is from the container # B based on the external identifier # B and the internal identifier # B, and may decapsulate the data packet # B to obtain the data # B, thereby completing the data transmission from the container to the external device.
According to the method for transmitting data of the embodiment of the application, by setting an external identifier for each container group and not configuring an internal identifier for each container in the container group, a unique indication of a container based on an identifier pair formed by the external identifier and the internal identifier can be realized, and therefore, communication between an external device and the container can be easily realized based on the identifier pair.
Fig. 9 is a schematic block diagram of an example of an apparatus 500 for transmitting data according to an embodiment of the present application. The apparatus 500 for transmitting data may correspond to (for example, be configured in or be itself the routing device described in the system 100 and the method 300 or 400, and each module or unit in the apparatus 500 for transmitting data is used to perform the function of the routing device in the system 100 and the method 300 or 400 and each executed action or processing procedure, respectively, and here, detailed descriptions thereof are omitted to avoid redundancy.
Fig. 10 is a schematic block diagram of an example of an apparatus 600 for transmitting data according to an embodiment of the present application. The apparatus 600 for transmitting data may correspond to (for example, be configured in or be itself the control device described in the system 100 and the method 200), and each module or unit in the apparatus 600 for transmitting data is respectively used to execute the function of the control device in the system 100 and the method 200 and each executed action or processing procedure, and here, detailed descriptions thereof are omitted to avoid redundancy.
Fig. 11 is a schematic block diagram of an example of an apparatus 700 for transmitting data according to an embodiment of the present application. The apparatus 700 comprises: a processor and a transceiver, the processor and the transceiver being connected, optionally the device 700 further comprises a memory, the memory being connected to the processor, further optionally the device 700 comprises a bus system. Wherein the processor, the memory and the transceiver may be connected by a bus system, the memory may be used for storing instructions, the processor is used for executing the instructions stored by the memory to control the transceiver to receive information or signals, so that the device 700 performs the functions of the routing device, the actions or the processes performed in the system 100 and the method 300 or 400. The device 700 may correspond to (for example, be configured in or be itself the routing device described in the system 100 and the method 300 or 400, and each module or unit in the device 700 is respectively configured to execute the function of the routing device in the system 100 and the method 300 or 400 and each executed action or processing procedure, and here, detailed descriptions thereof are omitted for avoiding redundancy.
Fig. 12 is a schematic block diagram of an example of an apparatus 800 for transmitting data according to the embodiment of the present application. The apparatus 800 comprises: a processor and a transceiver, the processor and the transceiver being connected, optionally the device 800 further comprises a memory, the memory being connected to the processor, further optionally the device 800 comprises a bus system. Wherein the processor, the memory and the transceiver may be connected by a bus system, the memory may be used for storing instructions, and the processor may be used for executing the instructions stored by the memory to control the transceiver to receive information or signals, so that the device 800 performs the functions of the control device, the actions or processes performed in the system 100 and the method 200. The device 800 may correspond to (for example, be configured in or be itself the control device described in the system 100 and the method 200), and each module or unit in the device 800 is respectively configured to execute the function of the control device in the system 100 and the method 200 and each executed action or processing procedure, and here, a detailed description thereof is omitted to avoid redundancy.
It should be noted that the embodiments of the present application may be applied to or implemented by a processor. The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The Processor may be a general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
It will be appreciated that the memory in the embodiments of the subject application can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash Memory. Volatile Memory can be Random Access Memory (RAM), which acts as external cache Memory. By way of example, but not limitation, many forms of RAM are available, such as Static random access memory (Static RAM, SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic random access memory (Synchronous DRAM, SDRAM), Double Data Rate Synchronous Dynamic random access memory (DDR SDRAM), Enhanced Synchronous SDRAM (ESDRAM), Synchronous link SDRAM (SLDRAM), and Direct Rambus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It should be understood that the term "and/or" herein is merely one type of association relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter associated objects are in an "or" relationship.
It should be understood that, in the embodiment of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiment of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the embodiments of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one type of logical functional division, and other divisions may be realized in practice, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or make a contribution to the prior art, or may be implemented in the form of a software product stored in a storage medium and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The above description is only a specific implementation of the embodiments of the present application, but the scope of the embodiments of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the embodiments of the present application, and all the changes or substitutions should be covered by the scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. A method of transmitting data, performed in a communication system comprising at least one computing device, each computing device having at least one container configured therein, the communication system having a plurality of container groups configured therein, each container group of the plurality of container groups comprising at least one container, the method comprising:
determining a first mapping relation and a second mapping relation, wherein the first mapping relation is used for indicating a one-to-one mapping relation between a first container group and a first external identifier, and the second mapping relation is used for indicating a one-to-one mapping relation between a first container in the first container group and a first internal identifier;
receiving a first data packet carrying the first internal identifier and the first external identifier from a first external device;
determining a first container group corresponding to the first external identifier according to the first mapping relation;
determining a first container corresponding to the first internal identifier from the first container group according to a second mapping relation corresponding to the first container group;
sending the first data packet to the first container.
2. The method according to claim 1, wherein the first mapping relationship is further used for indicating a one-to-one mapping relationship between a second container group and a second external identifier, the second mapping relationship is further used for indicating a one-to-one mapping relationship between a second container in the second container group and a second internal identifier, and the controlling data transmission between the container and an external device according to the first mapping relationship and the second mapping relationship comprises:
receiving second data from the second container;
determining a second container group to which the second container belongs;
determining a second external identifier corresponding to the second container group according to the first mapping relation;
determining a second internal identifier corresponding to the second container according to a second mapping relation corresponding to the second container group,
generating a second data packet carrying the second data, the second external identifier and the second internal identifier;
and sending the second data packet to a second external device.
3. A method of transferring data according to claim 1 or 2, characterized in that each group of containers is used for handling only one user's traffic.
4. The method of claim 1 or 2, wherein the at least one container group comprises at least one common container group, and wherein the common container group comprises containers configured on at least two computing nodes.
5. The method according to claim 4, wherein the external identifier corresponding to the public container group is an Internet Protocol (IP) address of the routing device.
6. Method for transmitting data according to claim 5, characterized in that a plurality of containers assigned to the same user belong to the same common container group.
7. The method according to claim 1, 2, 5 or 6, wherein the at least one container group comprises at least one dedicated container group, and the containers in the dedicated container group are configured on the same computing node.
8. An apparatus for transmitting data, configured in a communication system including at least one computing device, each computing device having at least one container configured therein, the communication system having a plurality of container groups configured therein, each container group of the plurality of container groups including at least one container, the apparatus comprising:
the processing unit is configured to determine a first mapping relationship and a second mapping relationship, and according to the first mapping relationship and the second mapping relationship, the first mapping relationship is used for a one-to-one mapping relationship between a first container group and a first external identifier, and the second mapping relationship is used for indicating a one-to-one mapping relationship between a first container in the first container group and a first internal identifier;
a communication unit, configured to receive a first data packet carrying a first internal identifier and a first external identifier from a first external device;
the processing unit is further configured to determine, according to the first mapping relationship, a first container group corresponding to the first external identifier, and determine, according to a second mapping relationship corresponding to the first container group, a first container corresponding to the first internal identifier from the first container group;
the communication unit is further configured to send the first data packet to the first container.
9. The apparatus according to claim 8, wherein the first mapping relationship is further configured to indicate a one-to-one mapping relationship between a second container group and a second external identifier, the second mapping relationship is further configured to indicate a one-to-one mapping relationship between a second container in the second container group and a second internal identifier,
the processing unit is used for receiving second data from the second container; determining a second container group to which the second container belongs; determining a second external identifier corresponding to the second container group according to the first mapping relation; determining a second internal identifier corresponding to the second container according to a second mapping relation corresponding to the second container group, and generating a second data packet carrying the second data, the second external identifier and the second internal identifier;
the communication unit is further configured to send the second data packet to a second external device.
10. Apparatus for transmitting data according to claim 8 or 9, characterized in that each group of containers is used for processing services of only one user.
11. The apparatus for transferring data according to claim 8 or 9, wherein the at least one container group comprises at least one common container group, and the common container group comprises containers configured on at least two computing nodes.
12. The apparatus for transmitting data according to claim 11, wherein the external identifier corresponding to the public container group is an internet protocol IP address of a routing device.
13. Device for transmitting data according to claim 12, characterized in that a plurality of containers assigned to the same user belong to the same common container group.
14. The apparatus for transmitting data according to claim 8, 9, 12 or 13, wherein the at least one container group comprises at least one dedicated container group, and the containers in the dedicated container group are configured on the same computing node.
CN202010663979.6A 2017-09-30 2017-09-30 Method and device for transmitting data Active CN111953805B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010663979.6A CN111953805B (en) 2017-09-30 2017-09-30 Method and device for transmitting data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010663979.6A CN111953805B (en) 2017-09-30 2017-09-30 Method and device for transmitting data
CN201710917482.0A CN107770298B (en) 2017-09-30 2017-09-30 Method and device for transmitting data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710917482.0A Division CN107770298B (en) 2017-09-30 2017-09-30 Method and device for transmitting data

Publications (2)

Publication Number Publication Date
CN111953805A CN111953805A (en) 2020-11-17
CN111953805B true CN111953805B (en) 2022-08-26

Family

ID=61267047

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010663979.6A Active CN111953805B (en) 2017-09-30 2017-09-30 Method and device for transmitting data
CN201710917482.0A Active CN107770298B (en) 2017-09-30 2017-09-30 Method and device for transmitting data

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710917482.0A Active CN107770298B (en) 2017-09-30 2017-09-30 Method and device for transmitting data

Country Status (1)

Country Link
CN (2) CN111953805B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683516B (en) * 2018-03-14 2021-09-10 聚好看科技股份有限公司 Application instance upgrading method, device and system
US10929162B2 (en) * 2018-07-27 2021-02-23 Futurewei Technologies, Inc. Virtual machine container for applications
CN111432459B (en) * 2019-01-10 2022-09-23 海信集团有限公司 Terminal management method and device applied to Internet of things and storage medium
CN111314450B (en) * 2020-02-06 2022-08-02 恒生电子股份有限公司 Data transmission method and device, electronic equipment and computer storage medium
US11418931B2 (en) 2020-04-06 2022-08-16 Dell Products, Lp Method and apparatus for operating a thin client across a 5G infrastructure

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414746A (en) * 2002-05-15 2003-04-30 华为技术有限公司 Method of providing internal service apparatus in network for saving IP address
CN104009920A (en) * 2013-02-25 2014-08-27 华为技术有限公司 Data source movement handling method, message forwarding method and device
CN104756465A (en) * 2013-10-10 2015-07-01 华为技术有限公司 Routing method, device and system
CN105490910A (en) * 2014-09-19 2016-04-13 北京奇虎科技有限公司 Network communication method and client
CN106201350A (en) * 2016-07-07 2016-12-07 华为技术有限公司 The storage method of data, memorizer and computer system
CN106789667A (en) * 2016-11-21 2017-05-31 华为技术有限公司 A kind of data forwarding method, relevant device and system
CN106878484A (en) * 2017-02-27 2017-06-20 郑州云海信息技术有限公司 A kind of method of configuration Docker cluster external containers IP

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490003B2 (en) * 2005-04-18 2009-02-10 Microsoft Corporation System and method for providing a location snapshot service and associating a snapshot with location container data
CN101170544A (en) * 2006-10-25 2008-04-30 上海梅山钢铁股份有限公司 A communication method in high-availability cluster system based on single practical IP address
CN102447747A (en) * 2010-10-09 2012-05-09 中国移动通信集团公司 Method, device and system for interacting with private network
CN103023827B (en) * 2012-11-23 2017-04-19 杭州华三通信技术有限公司 Data forwarding method for virtualized data centre and realization equipment of data forwarding method
CN103874157B (en) * 2012-12-12 2017-07-07 华为技术有限公司 Routing forwarding, the method and its device of setting up routing table and acquisition content
CN108063717A (en) * 2013-05-31 2018-05-22 华为技术有限公司 The method, apparatus and system to E-Packet centered on information in network ICN
CN103795621B (en) * 2013-12-12 2017-02-15 华为技术有限公司 Virtual machine data exchange method and device, and physical host
CN106612224B (en) * 2015-10-26 2019-11-01 新华三技术有限公司 Message forwarding method and device applied to VXLAN

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414746A (en) * 2002-05-15 2003-04-30 华为技术有限公司 Method of providing internal service apparatus in network for saving IP address
CN104009920A (en) * 2013-02-25 2014-08-27 华为技术有限公司 Data source movement handling method, message forwarding method and device
CN104756465A (en) * 2013-10-10 2015-07-01 华为技术有限公司 Routing method, device and system
CN105490910A (en) * 2014-09-19 2016-04-13 北京奇虎科技有限公司 Network communication method and client
CN106201350A (en) * 2016-07-07 2016-12-07 华为技术有限公司 The storage method of data, memorizer and computer system
CN106789667A (en) * 2016-11-21 2017-05-31 华为技术有限公司 A kind of data forwarding method, relevant device and system
CN106878484A (en) * 2017-02-27 2017-06-20 郑州云海信息技术有限公司 A kind of method of configuration Docker cluster external containers IP

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于配置库管理工具的电力系统容器部署研究;耿贞伟等;《数字技术与应用》;20170215(第02期);全文 *

Also Published As

Publication number Publication date
CN107770298A (en) 2018-03-06
CN111953805A (en) 2020-11-17
CN107770298B (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111953805B (en) Method and device for transmitting data
US10374952B2 (en) Method for increasing layer-3 longest prefix match scale
CN113821310B (en) Data processing method, programmable network card device, physical server and storage medium
CN103023827B (en) Data forwarding method for virtualized data centre and realization equipment of data forwarding method
CN105939239B (en) Data transmission method and device of virtual network card
CN104052644A (en) Method and system for packet distribution in a virtual networking system
CN108345462B (en) Method and device for upgrading components
CN104216761B (en) It is a kind of that the method for sharing equipment is used in the device that can run two kinds of operating system
CN106681799B (en) It is inserted into the methods, devices and systems of disk
CN106937275A (en) A kind of equipment that system unique identifier and hardware ID are preserved under Android system
CN106921578A (en) The generation method and device of a kind of forwarding-table item
EP4109860A1 (en) Information centric network unstructured data carrier
CN108521397B (en) Method and system for accessing resource service
CN105610730A (en) Method and system for message interaction between CPU and network equipment
WO2018076922A1 (en) System and method for enabling mobile terminal of single imsi multiple msisdn to be concurrently online
CN107615711A (en) System for event propagation
CN105490829B (en) Method and device for controlling message transmission and network function virtualization system
CN107885691A (en) Serial data transmission method, distributed apparatus and main frame
US20220360650A1 (en) Apparatus and method for descriptor handling and computer-readable medium
CN106303983B (en) Group data transmission method and device
CN108353017A (en) Multiple gateway operation on single operating
CN106559838A (en) Business processing optimization method and device
CN104853346A (en) Method and system for realizing no-bypassing of data flow direction of mobile terminal
KR20210024493A (en) Information transmission method and device
CN114924843B (en) Information transmission method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220228

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant