Cross-multi-tenant communication method and device

By monitoring and allocating network transmission of multi-tenant terminals in Kubernetes clusters, using vpc-crosser-config, vpc-crosser-webhook and vpc-crosser-agent modules, the problem of inefficient distribution and service access across multi-tenant networks is solved, real-time, secure and scalable network distribution and communication is achieved.

CN119743513AActive Publication Date: 2025-04-01CHINA TELECOM CLOUD TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411761765.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-04-01
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

The prior art has problems of inefficiency, security risks and poor scalability in network distribution and service access across multiple tenants, especially in Kubernetes cluster environments.

Method used

By monitoring multiple tenant terminals connected to Kubernetes terminals, POD container information is determined, and target configuration files are found based on pre-stored configuration files, target configuration information is determined, and network transmission allocation is realized. This solution is based on vpc-crosser-config, vpc-crosser-webhook and vpc-crosser-agent modules to realize real-time, secure and scalable network distribution and communication.

Benefits of technology

It improves the efficiency of distribution and service access across multi-tenant networks, ensures security and scalability, supports computing power to access any user's VPC network, and the access path is one-way, and supports users to customize and dynamically modify the target services to be accessed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743513A_ABST
    Figure CN119743513A_ABST
Patent Text Reader

Abstract

The invention provides a cross-multi-tenant communication method and device, and the method comprises the steps: monitoring a plurality of tenant terminals connected with a Kubernetes terminal, and enabling the tenant terminals to at least comprise target transmission information; under the condition that the number of the tenant terminals changes, POD container information of the changing tenant terminals is determined; searching a target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; determining target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; according to target configuration information, network transmission distribution is carried out on a plurality of tenant terminals, a real-time, safe and extensible network distribution and communication device is realized, the VPC network of any user is supported to be accessed by computing power, an access path is one-way, and the target service to be accessed is supported to be customized and dynamically modified by the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method and device for cross-multi-tenant communication. Background Art

[0002] With the large-scale implementation of cloud-native technologies, more and more companies are deploying their own platforms and productized services based on Kubernetes. A considerable number of products and services have one or more large Kubernetes clusters at the bottom, which provide unified computing resources (shared computing power) for multiple users.

[0003] However, users not only need to be able to run computing power, but in more scenarios, they need to access resources within their own VPC, such as object storage, file storage, MySQL, Redis, cloud hosts, Kafka, etc. This requires the VPC network where the computing power is located (the VPC of the platform or service provider) to be able to access the VPC networks of different tenants.

[0004] The current technical solutions for connecting VPC networks mainly include peer-to-peer links, VPCE, and cross-tenant elastic network cards, but each has its own drawbacks. Peer-to-peer links will result in bidirectional connectivity of the network, and users can directly access the network environment of the service provider, which poses a great security risk; VPCE needs to establish a terminal node in the service provider's VPC, and then establish a terminal node service in the user's VPC. At the same time, it is necessary to specify the IP and port information of the service in the user's VPC, which is very inflexible. In addition, services such as Kafka may scale up and down instances. The maintenance of the IP and port of the new instance requires the update of the VPCE terminal node and terminal node service, which is basically very difficult to use in a production environment. Cross-tenant elastic network cards require the deployment of a cross-tenant ENI network card in each container instance. When the scale is increased, the number of network cards will become a bottleneck. In addition, this method also involves the problem of bidirectional communication of the network, and the service provider needs to have a sound firewall guarantee mechanism. In addition, for some scenarios that are sensitive to startup speed, inserting ECI will introduce an additional time consumption of about 5-10 seconds, which has a very large impact on performance.

[0005] Therefore, how to improve the efficiency of network distribution and service access across multiple tenants is an issue that needs to be addressed urgently. Summary of the invention

[0006] The present application shows a method and device for cross-multi-tenant communication.

[0007] In a first aspect, the present application provides a method for cross-multi-tenant communication, the method comprising:

[0008] Monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminals at least include target transmission information;

[0009] In the case where the number of the tenant terminals changes, determining POD container information of the changed tenant terminals;

[0010] According to the pre-stored configuration file, searching for the target configuration file corresponding to the changed tenant terminal;

[0011] Determine target configuration information corresponding to the tenant terminal according to the container information and the target configuration file;

[0012] According to the target configuration information, network transmission is allocated to the multiple tenant terminals.

[0013] Optionally, the pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one-to-one.

[0014] Optionally, the resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

[0015] Optionally, determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file includes:

[0016] Obtaining first address information and first port in the container information;

[0017] Acquire the second address information and the second port in the target configuration file;

[0018] Perform vxlan encapsulation on the first address information, the second address information, the first port and the second port to obtain target configuration information corresponding to the tenant terminal.

[0019] In a second aspect, the present application shows a cross-multi-tenant communication device, the device comprising:

[0020] A monitoring module, used to monitor multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminals at least include target transmission information;

[0021] A determination module, configured to determine, when the number of the tenant terminals changes, container information associated with the changed tenant terminals;

[0022] A search module, configured to search for a target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file;

[0023] A packaging module, configured to determine target configuration information corresponding to the tenant terminal according to the container information and the target configuration file;

[0024] An allocation module is used to allocate network transmission to the multiple tenant terminals according to the target configuration information.

[0025] Optionally, the pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one-to-one.

[0026] Optionally, the resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

[0027] Optionally, the encapsulation module is used to:

[0028] Obtaining first address information and first port in the container information;

[0029] Acquire the second address information and the second port in the target configuration file;

[0030] Perform vxlan encapsulation on the first address information, the second address information, the first port and the second port to obtain target configuration information corresponding to the tenant terminal.

[0031] In a third aspect, the present application shows an electronic device, which includes: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the method described in any of the above aspects.

[0032] In a fourth aspect, the present application illustrates a non-temporary computer-readable storage medium, which, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to execute a method as described in any of the above aspects.

[0033] In a fifth aspect, the present application illustrates a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute the method described in any of the above aspects.

[0034] The technical solution provided by the present application may include the following beneficial effects: The embodiment of the present application provides a cross-tenant communication method and device, including: monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; in the case where the number of the tenant terminals changes, determining the container information of the changed tenant terminal; searching for the target configuration file corresponding to the changed tenant terminal according to the pre-stored configuration file; determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; and allocating network transmission to the multiple tenant terminals according to the target configuration information. The embodiment of the present application is based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration) and vpc-crosser-agent (parses the vxlan encapsulation of endpoints and messages) to implement real-time, secure, and scalable network distribution and communication devices, which support computing power to access any user's VPC network, and the access path is unidirectional, supporting user customization and dynamic modification of target services to be accessed. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 It is a flowchart of the steps of a cross-multi-tenant communication method of the present application;

[0036] Figure 2 This is a schematic diagram of a structure distributed across a multi-tenant network of the present application;

[0037] Figure 3 It is a structural block diagram of a cross-multi-tenant communication device of the present application;

[0038] Figure 4 is a block diagram of an electronic device of the present application;

[0039] Figure 5 is a block diagram of a computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0041] Glossary:

[0042] Kubernetes stands for open source container orchestration system, abbreviated as K8s, which is an abbreviation formed by replacing the eight characters in the middle of the name "ubernete" with "8". It is an open source containerized application for managing multiple hosts in a cloud platform. The goal of Kubernetes is to make the deployment of containerized applications simple and powerful. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance.

[0043] POD is the smallest resource management component in kuberetes and the resource object that minimizes the running of containerized applications. A POD represents a process running in the cluster. Most other components in Kubemetes are centered around POD to support and extend POD functions.

[0044] VPC stands for Virtual Private Cloud, which is an isolated virtual network environment built for users on the public cloud, providing high flexibility and security.

[0045] VPCID is the ID of the VPC, which represents the ID of the virtual private cloud.

[0046] SubnetID is a "subnet number". In computer networks, SubnetID is used to identify a subnet in a network. By borrowing part of the host bits in the IP address to define the subnet number, a large network can be divided into multiple small subnets. The main purpose of subnet division is to improve the utilization of IP addresses. By borrowing part of the host bits as subnet bits, a large network can be divided into multiple small subnets. This not only allows better management of network resources, but also improves network security and flexibility.

[0047] Meta attributes: The meta attributes of the Pod container mainly include metadata and spec. The metadata attribute is an ObjectMeta object instance, which is used to describe the basic information of all objects in Kubernetes; the spec attribute contains the detailed configuration information of the Pod.

[0048] HttpWatch is a web page data analysis tool.

[0049] Client-GO is the official Go language client library for Kubernetes, mainly used to interact with the Kubernetes API server.

[0050] JSON stands for JavaScript Object Notation. It is a lightweight data exchange format that is easy for humans to read and write, and easy for machines to parse and generate. JSON is widely supported by many programming languages.

[0051] Reference Figure 1 , shows a flowchart of a cross-multi-tenant communication method of the present application, which can be applied to an electronic device, wherein the method specifically may include the following steps:

[0052] S101. Monitor multiple tenant terminals connected to the Kubernetes terminal, where the tenant terminals at least include target transmission information;

[0053] S102: When the number of tenant terminals changes, determine the POD container information of the changed tenant terminals;

[0054] Specifically, when a change in the number of tenant terminals is detected, such as a new POD container event, the meta attribute of the POD container is parsed, and Annotation information is obtained from the meta attribute, where the Annotation information is a map type data structure.

[0055] S103. Searching for a target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file;

[0056] S104. Determine target configuration information corresponding to the tenant terminal according to the container information and the target configuration file;

[0057] S105. Allocate network transmission to multiple tenant terminals according to the target configuration information.

[0058] The embodiment of the present application provides a cross-multi-tenant communication method, including: monitoring multiple tenant terminals connected to a Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; when the number of tenant terminals changes, determining the POD container information of the changed tenant terminal; searching for the target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; and allocating network transmission to multiple tenant terminals according to the target configuration information. The embodiment of the present application is based on a real-time, secure, and scalable network distribution and communication device implemented by vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parses out the vxlan encapsulation of endpoints and messages), supports computing power to access any user's VPC (Virtual Private Cloud, isolated virtual network environment) network, and the access path is unidirectional, supporting users to customize and dynamically modify the target service to be accessed.

[0059] Another embodiment of the present application further supplements the cross-multi-tenant communication method provided in the above embodiment.

[0060] Optionally, the pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one-to-one.

[0061] Among them, one resource configuration file corresponds to one tenant.

[0062] Optionally, the resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

[0063] Optionally, determining target configuration information corresponding to the tenant terminal according to the container information and the target configuration file includes:

[0064] Obtaining first address information and first port in the container information;

[0065] Obtain the second address information and the second port in the target configuration file;

[0066] The first address information, the second address information, the first port and the second port are encapsulated by vxlan to obtain the target configuration information corresponding to the tenant terminal.

[0067] like Figure 2As shown, the system of the present invention is composed of three modules: vpc-crosser-config, vpc-crosser-webhook and vpc-crosser-agent, and its overall architecture is as follows Figure 1 As shown, the functions of each component and its usage process and implementation details are described as follows:

[0068] (1)vpc-crosser-config

[0069] vpc-crosser-config provides additional configuration loading capabilities, which can support users to customize and dynamically modify the target service to be accessed. This configuration is a cross-tenant resource configuration file, one for each tenant. When the user configures the tenant vpc service endpoint that needs to be accessed, its cross-tenant access information will be saved in vpc-crosser-config. vpc-crosser-config exists in Kubernetes as a custom resource (CR). The CR resource contains the tenant ID and key configuration information including: VPCID, SubnetID, target IP, target port, and protocol information (TCP / UDP).

[0070] (2)vpc-crosser-webhook

[0071] vpc-crosser-webhook runs as a plugin of the dynamic webhook controller in the Kubernetes cluster. When it detects the creation and update requests of the Pod container, it determines whether the cross-tenant configuration file vpc-crosser-config of the tenant corresponding to the Pod exists. If it exists, it parses the configuration file and patches it to the Annotations of the meta information of the Pod container (see vpc-crosser-agent for the specific data format)

[0072] (3)vpc-crosser-agent

[0073] vpc-crosser runs on each Kubernetes node computing node in the form of DaemonSets. It perceives user configuration changes in real time based on the Watch mechanism and encapsulates unidirectional data packets through vxlan (network virtualization technology). It has good real-time performance and security. Its core principles are as follows:

[0074] Use HTTP Watch (Kubernetes Client-GO has a built-in watch method) to monitor the changes of all Pod containers on this computing node in real time;

[0075] When a new Pod container event is monitored, the Pod meta is parsed and the Annotation information is obtained from the meta. Annotation is a map data structure. From the map, the corresponding value (string value) is obtained according to the key vpc-crosser / endpoint. The value is a json string. In json, the string value (value) refers to the text surrounded by double quotes. It can contain spaces, but these spaces are only part of the string and do not affect the structure of the json data. Considering the diversity of actual endpoint types, such as file storage, the ports that need to be accessed often involve multiple ports (such as 111, 139, 445, 2049, 10141, 11002, 11003, and 20048 for TCP and UDP). The technical solution designs the target endpoint expression format as follows:

[0076] {["server_ip":"xxxx",

[0077] "server_port":"port1,port2,port3...","protocal":"tcp / udp"],

[0078] ["server_ip":"xxxx",

[0079] "server_port":"port1,port2,port3...","protocal":"tcp / udp"],

[0080] ["server_ip":"xxxx",

[0081] "server_port":"port1,port2,port3...","protocal":"tcp / udp"],

[0082] ["vni":xxxxxxxx]}

[0083] The description of the above data structure is as follows:

[0084] The map includes multiple arrays to support multiple endpoints;

[0085] In each array, server_ip is the target address to be accessed, and only one can be filled in;

[0086] server_port is the target port to be accessed. You can enter multiple ports separated by commas.

[0087] protocol can be filled with tcp or udp or tcp / udp;

[0088] vni is the unique identifier of the target vpc and subnet;

[0089] vpc-crosser-agent parses the endpoint and encapsulates the message into vxlan. The specific encapsulation specifications are: target ip and target port are the address of the vpc gateway, src ip and port are the ip and port of the Pod container, and vni information is encapsulated into the vxlan message.

[0090] In the existing solution implementation, the cross-tenant network still uses the network connection solution under the traditional architecture. Each connection solution has its own disadvantages. This solution introduces three modules based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration) and vpc-crosser-agent (parses the vxlan encapsulation of endpoints and messages) to cooperate with each other to achieve real-time, secure and scalable network distribution and communication devices in Kubernetes cluster scenarios.

[0091] It should be noted that each implementable method in this embodiment may be implemented separately, or may be implemented in combination in any manner without conflict, and this application is not limited thereto.

[0092] The embodiment of the present application provides a cross-multi-tenant communication method, including: monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; in the case where the number of tenant terminals changes, determining the POD container information of the changed tenant terminal; searching for the target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; and allocating network transmission to multiple tenant terminals according to the target configuration information. The embodiment of the present application is based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration) and vpc-crosser-agent (parses the vxlan encapsulation of endpoints and messages) to implement real-time, secure, and scalable network distribution and communication devices, which support computing power access to any user's VPC network, and the access path is one-way, supporting users to customize and dynamically modify the target services to be accessed.

[0093] Another embodiment of the present application provides a cross-multi-tenant communication device for executing the cross-multi-tenant communication method provided in the above embodiment.

[0094] like Figure 3 As shown, it is a schematic diagram of the structure of the cross-multi-tenant communication device provided in an embodiment of the present application. The cross-multi-tenant communication device includes a monitoring module 301, a determination module 302, a search module 303, an encapsulation module 304 and an allocation module 305, wherein:

[0095] The monitoring module 301 is used to monitor multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminals at least include target transmission information;

[0096] The determination module 302 is used to determine the POD container information of the changed tenant terminal when the number of tenant terminals changes;

[0097] The search module 303 is used to search for a target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file;

[0098] The encapsulation module 304 is used to determine the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file;

[0099] The allocation module 305 is used to allocate network transmission to multiple tenant terminals according to the target configuration information.

[0100] Regarding the device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0101] The embodiment of the present application provides a cross-multi-tenant communication device, including: monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; in the case where the number of tenant terminals changes, determining the POD container information of the changed tenant terminal; searching for the target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; and allocating network transmission to multiple tenant terminals according to the target configuration information. The embodiment of the present application is based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration) and vpc-crosser-agent (parses the vxlan encapsulation of endpoints and messages) to implement real-time, secure, and scalable network distribution and communication devices, which support computing power access to any user's VPC network, and the access path is one-way, supporting users to customize and dynamically modify the target services to be accessed.

[0102] Another embodiment of the present application further supplements the description of the cross-multi-tenant communication device provided in the above embodiment.

[0103] Optionally, the pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one-to-one.

[0104] Optionally, the resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

[0105] Optionally, a packaging module is used to:

[0106] Obtaining first address information and first port in the container information;

[0107] Obtain the second address information and the second port in the target configuration file;

[0108] The first address information, the second address information, the first port and the second port are encapsulated by vxlan to obtain the target configuration information corresponding to the tenant terminal.

[0109] The embodiment of the present application provides a cross-multi-tenant communication device, including: monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; in the case where the number of tenant terminals changes, determining the POD container information of the changed tenant terminal; searching for the target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; determining the target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; and allocating network transmission to multiple tenant terminals according to the target configuration information. The embodiment of the present application is based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration) and vpc-crosser-agent (parses the vxlan encapsulation of endpoints and messages) to implement real-time, secure, and scalable network distribution and communication devices, which support computing power access to any user's VPC network, and the access path is one-way, supporting users to customize and dynamically modify the target services to be accessed.

[0110] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by the present application.

[0111] Optionally, an embodiment of the present application further provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0112] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0113] FIG4 is a block diagram of an electronic device 800 shown in the present application. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0114] Reference Figure 4 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0115] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0116] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, images, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0117] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.

[0118] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0119] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0120] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0121] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0122] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast operation information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0123] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0124] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0125] Figure 519 is a block diagram of a computer-readable storage medium 1900 shown in the present application. For example, the computer-readable storage medium 1900 may be provided as a server.

[0126] Reference Figure 5 , the computer-readable storage medium 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0127] The computer readable storage medium 1900 may also include a power supply component 1926 configured to perform power management of the computer readable storage medium 1900, a wired or wireless network interface 1950 configured to connect the computer readable storage medium 1900 to a network, and an input / output (I / O) interface 1958. The computer readable storage medium 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.

[0128] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0129] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0130] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0131] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0132] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0133] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0134] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0135] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0136] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.

[0137] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A multi-tenant communication method, characterized in that: The method comprises: Monitoring multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminals at least include target transmission information; In the case where the number of the tenant terminals changes, determining POD container information associated with the changed tenant terminals; According to the pre-stored configuration file, searching for the target configuration file corresponding to the changed tenant terminal; Determine target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; According to the target configuration information, network transmission is allocated to the multiple tenant terminals.

2. The cross-multi-tenant communication method according to claim 1, characterized in that: The pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one by one.

3. The cross-multi-tenant communication method according to claim 2, characterized in that: The resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

4. The cross-multi-tenant communication method according to claim 1, characterized in that: The determining, according to the container information and the target configuration file, target configuration information corresponding to the tenant terminal includes: Obtaining first address information and first port in the container information; Acquire the second address information and the second port in the target configuration file; Perform vxlan encapsulation on the first address information, the second address information, the first port and the second port to obtain target configuration information corresponding to the tenant terminal.

5. A multi-tenant communication device, characterized in that: The device comprises: A monitoring module, used to monitor multiple tenant terminals connected to the Kubernetes terminal, wherein the tenant terminals at least include target transmission information; A determination module, configured to determine, when the number of the tenant terminals changes, container information associated with the changed tenant terminals; A search module, configured to search for a target configuration file corresponding to the changed tenant terminal according to a pre-stored configuration file; A packaging module, configured to determine target configuration information corresponding to the tenant terminal according to the container information and the target configuration file; An allocation module is used to allocate network transmission to the multiple tenant terminals according to the target configuration information.

6. The cross-multi-tenant communication device according to claim 5, characterized in that: The pre-stored configuration files include resource configuration files of multiple tenants, and the resource configuration files correspond to the tenants one by one.

7. The cross-multi-tenant communication device according to claim 6, characterized in that: The resource configuration file includes at least tenant identification information and key configuration information, wherein the key configuration information includes at least: VPCID, SubnetID, target address information, target port, and protocol information.

8. The cross-multi-tenant communication device according to claim 1, characterized in that: The packaging module is used for: Obtaining first address information and first port in the container information; Acquire the second address information and the second port in the target configuration file; Perform vxlan encapsulation on the first address information, the second address information, the first port and the second port to obtain target configuration information corresponding to the tenant terminal.

9. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method according to any one of claims 1 to 4 when executed by the processor.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Method and system for implementing network isolation of multiple tenants of Kubernetes cluster

    CN107864131A

  • Management system and method for tenant cluster VPC internal container, and electronic equipment

    CN109617995A

  • Container network management method and system for multiple tenants and middleware

    CN110198231A

  • Multi-tenant service access method and device, node and storage medium

    CN116488917A

  • Multi-server communication connection method and system, electronic equipment and storage medium

    CN116760828A