A cross-multi-tenant communication method and apparatus

CN119743513BActive Publication Date: 2026-09-18CHINA TELECOM CLOUD TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411761765.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2026-09-18
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

[0004]当前打通VPC网络的技术方案中,主要有对等链接、VPCE和跨多租户弹性网卡,但是各自都存在弊端,对等链接会导致网络双向可通,用户可以直接访问服务提供商的网络环境,存在极大的安全隐患;VPCE需要在服务提供商的VPC中建立终端节点、再到用户的VPC建立终端节点服务,同时需要指定用户VPC内服务的IP和端口等信息,非常不灵活,而且Kafka这些服务可能会扩缩容实例,新实例的IP和端口的维护,需要更新VPCE终端节点和终端节点服务,在生产环境商基本上使用起来非常困难

Benefits of technology

[0034]The technical solution provided in this application can include the following beneficial effects: This application provides a cross-tenant communication method and apparatus, including: monitoring multiple tenant terminals connected to a Kubernetes terminal, wherein each tenant terminal includes at least target transmission information; determining container information of the changed tenant terminal when the number of tenant terminals changes; searching for a target configuration file corresponding to the changed tenant terminal based on a pre-stored configuration file; determining target configuration information corresponding to the tenant terminal based on the container information and the target configuration file; and allocating network transmission to the multiple tenant terminals based on the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication apparatus based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC network, and the access path is unidirectional, supporting user customization and dynamic modification of the target service to be accessed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743513B_ABST
    Figure CN119743513B_ABST
Patent Text Reader

Abstract

The application provides a cross-multi-tenant communication method and device, comprising: monitoring a plurality of tenant terminals connected with a Kubernetes terminal, wherein the tenant terminals at least include target transmission information; in the case that the number of tenant terminals changes, determining POD container information of the changed tenant terminals; according to a pre-stored configuration file, finding a target configuration file corresponding to the changed tenant terminals; according to the container information and the target configuration file, determining target configuration information corresponding to the tenant terminals; and according to the target configuration information, performing network transmission allocation on the plurality of tenant terminals, so as to realize a real-time, safe and extensible network distribution and communication device, support the access of computing power to the VPC network of any user, and the access path is one-way, support user customization and dynamic modification of the target service to be accessed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method and apparatus for cross-tenant communication. Background Technology

[0002] With the large-scale deployment of cloud-native technologies, more and more enterprises are deploying their own platforms and product services based on Kubernetes. Many of these products and services are based on one or more large Kubernetes clusters, which provide computing resources (shared computing power) to multiple users in a unified manner.

[0003] However, users need more than just the ability to run computing power. In many scenarios, they need to access resources within their own VPC, such as object storage, file storage, MySQL, Redis, cloud servers, Kafka, etc. This requires the VPC network (the platform or service provider's VPC) where the computing power is located to be able to access the VPC networks of different tenants.

[0004] Currently, the main technical solutions for establishing VPC networks include peering, VPCE, and cross-tenant elastic NICs. However, each has its drawbacks. Peering allows bidirectional network access, enabling users to directly access the service provider's network environment, posing significant security risks. VPCE requires establishing endpoints in the service provider's VPC and then in the user's VPC, while also specifying the IP and port information of services within the user's VPC, making it very inflexible. Furthermore, services like Kafka may scale up or down, and maintaining the IP and port of new instances requires updating the VPCE endpoints and endpoint services, making it extremely difficult to use in production environments. Cross-tenant elastic NICs require deploying a cross-tenant ENI NIC within each container instance. As the scale increases, the number of NICs becomes a bottleneck. This approach also involves bidirectional network communication, requiring service providers to implement robust firewall mechanisms. Additionally, for scenarios sensitive to startup speeds, inserting an ENI can introduce an additional 5-10 seconds of latency, significantly impacting performance.

[0005] Therefore, improving the efficiency of network distribution and service access across multiple tenants is an urgent problem to be solved. Summary of the Invention

[0006] This application discloses a method and apparatus for cross-tenant communication.

[0007] In a first aspect, this application discloses a cross-tenant communication method, the method comprising:

[0008] Monitor multiple tenant terminals connected to a Kubernetes terminal, wherein the tenant terminal includes at least target transmission information;

[0009] When the number of tenant terminals changes, determine the POD container information corresponding to the changed tenant terminals;

[0010] Based on the pre-stored configuration file, find the target configuration file corresponding to the changed tenant terminal;

[0011] Based on the container information and the target configuration file, determine the target configuration information corresponding to the tenant terminal;

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

[0013] Optionally, the pre-stored configuration file includes resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant.

[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 based on the container information and the target configuration file includes:

[0016] Obtain the first address information and the first port from the container information;

[0017] Obtain the second address information and the second port from the target configuration file;

[0018] The first address information, the second address information, the first port, and the second port are encapsulated using VXLAN to obtain target configuration information corresponding to the tenant terminal.

[0019] Secondly, this application discloses a cross-tenant communication device, the device comprising:

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

[0021] The determination module is used to determine the container information of the tenant terminals that have changed when the number of tenant terminals changes.

[0022] The lookup module is used to find the target configuration file corresponding to the changed tenant terminal based on the pre-stored configuration file;

[0023] The encapsulation module is used to determine the target configuration information corresponding to the tenant terminal based on the container information and the target configuration file;

[0024] The 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 file includes resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant.

[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 for:

[0028] Obtain the first address information and the first port from the container information;

[0029] Obtain the second address information and the second port from the target configuration file;

[0030] The first address information, the second address information, the first port, and the second port are encapsulated using VXLAN to obtain target configuration information corresponding to the tenant terminal.

[0031] Thirdly, this application discloses an electronic device comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to perform the method as described in any of the preceding aspects.

[0032] Fourthly, this application discloses a non-transitory computer-readable storage medium, wherein when instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the methods described in any of the preceding aspects.

[0033] Fifthly, this application discloses a computer program product in which, when the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to perform the method described in any of the preceding aspects.

[0034] The technical solution provided in this application can include the following beneficial effects: This application provides a cross-tenant communication method and apparatus, including: monitoring multiple tenant terminals connected to a Kubernetes terminal, wherein each tenant terminal includes at least target transmission information; determining container information of the changed tenant terminal when the number of tenant terminals changes; searching for a target configuration file corresponding to the changed tenant terminal based on a pre-stored configuration file; determining target configuration information corresponding to the tenant terminal based on the container information and the target configuration file; and allocating network transmission to the multiple tenant terminals based on the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication apparatus based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC network, and the access path is unidirectional, supporting user customization and dynamic modification of the target service to be accessed. Attached Figure Description

[0035] Figure 1 This is a flowchart of the steps of a cross-tenant communication method according to this application;

[0036] Figure 2 This is a schematic diagram of a cross-tenant network distribution structure according to this application;

[0037] Figure 3 This is a structural block diagram of a cross-tenant communication device according to this application;

[0038] Figure 4 This is a block diagram of an electronic device according to this application;

[0039] Figure 5 This is a block diagram of a computer-readable storage medium according to this application. Detailed Implementation

[0040] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0041] Definitions:

[0042] Kubernetes stands for Open Source Container Orchestration System, abbreviated as K8s, an abbreviation formed by replacing the eight characters "ubernete" in its name. It is an open-source system for managing containerized applications across multiple hosts in a cloud platform. Kubernetes aims to make deploying containerized applications simple and powerful, providing a mechanism for application deployment, planning, updating, and maintenance.

[0043] A POD is the smallest resource management component in Kubernetes and the smallest resource object for running containerized applications. A POD represents a process running in the cluster. Most other components in Kubernetes support and extend the functionality of PODs.

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

[0045] VPCID is the ID of a VPC, representing the ID of a Virtual Private Cloud.

[0046] SubnetID stands for "subnet number." In computer networks, SubnetID is used to identify a subnet within a network. It is defined by borrowing a portion of the host bits from the IP address, thus dividing a large network into multiple smaller subnets. The main purpose of subnetting is to improve the utilization of IP addresses. By borrowing a portion of the host bits as subnet bits, a large network can be divided into multiple smaller subnets. This not only allows for better management of network resources but also improves network security and flexibility.

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

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

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

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

[0051] Reference Figure 1 The diagram illustrates a flowchart of a cross-tenant communication method according to this application. This method can be applied to electronic devices, and specifically includes the following steps:

[0052] S101. Monitor multiple tenant terminals connected to the Kubernetes terminal, wherein each tenant terminal includes at least the 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 when a new POD container event is detected, the meta attribute of the POD container is parsed, and the annotation information is obtained from the meta attribute. The annotation information is a map-type data structure.

[0055] S103. Based on the pre-stored configuration file, find the target configuration file corresponding to the changed tenant terminal;

[0056] S104. Based on the container information and the target configuration file, determine the target configuration information corresponding to the tenant terminal;

[0057] S105. Based on the target configuration information, allocate network transmission to multiple tenant terminals.

[0058] This application provides a cross-tenant communication method, including: monitoring multiple tenant terminals connected to a Kubernetes terminal, wherein each tenant terminal includes at least target transmission information; determining the POD container information of the changed tenant terminal when the number of tenant terminals changes; 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 based on the container information and the target configuration file; and allocating network transmission to the multiple tenant terminals according to the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication device based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC (Virtual Private Cloud) network, and the access path is unidirectional. It also supports user-defined and dynamic modification of the target service to be accessed.

[0059] Another embodiment of this application further supplements the description of the cross-tenant communication method provided in the above embodiments.

[0060] Optionally, the pre-stored configuration files include resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant.

[0061] 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, based on the container information and the target configuration file, the target configuration information corresponding to the tenant terminal is determined, including:

[0064] Obtain the first address and first port from the container information;

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

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

[0067] like Figure 2As shown, the system of this invention consists of three modules: vpc-crosser-config, vpc-crosser-webhook, and vpc-crosser-agent. Its overall architecture is as follows: Figure 1 As shown, the functions, usage flow, and implementation details of each component are described below:

[0068] (1) vpc-crosser-config

[0069] vpc-crosser-config provides additional configuration loading capabilities, enabling users to customize and dynamically modify the target services to be accessed. This configuration is a cross-tenant resource configuration file, with one copy for each tenant. When a user configures the tenant VPC service endpoints to be accessed, their cross-tenant access information is stored in vpc-crosser-config. In Kubernetes, vpc-crosser-config exists as a custom resource (CR). This 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 for a dynamic webhook controller in a Kubernetes cluster. When it detects a Pod container creation and update request, it checks whether the cross-tenant configuration file vpc-crosser-config for the Pod's tenant exists. If it exists, it parses the configuration file and patches it to the Annotations in the Pod container's meta information (see vpc-crosser-agent for the specific data format).

[0072] (3) vpc-crosser-agent

[0073] vpc-crosser runs on each Kubernetes node as DaemonSets, using a Watch mechanism to detect user configuration changes in real time and encapsulating one-way data packets via VXLAN (network virtualization technology). It offers good real-time performance and security. Its core principles are as follows:

[0074] Monitor changes to all Pod containers on this compute node in real time using HTTP Watch (the watch method is built into the Kubernetes Client-GO).

[0075] When a new Pod container event is detected, the Pod's meta tag is parsed to retrieve the annotation information. The annotation is a map data structure. From this map, the corresponding value (string value) is retrieved based on the key `vpc-crosser / endpoint`. The value is a JSON string. In JSON, the string value refers to the text enclosed in 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 diverse types of actual endpoints, such as file storage, which often involves multiple ports (e.g., TCP and UDP ports 111, 139, 445, 2049, 10141, 11002, 11003, 20048), this technical solution designs the target endpoint representation 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 above data structure is explained as follows:

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

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

[0086] server_port is the target port to access; multiple ports can be specified, separated by commas.

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

[0088] VNI is a unique identifier for the target VPC and subnet;

[0089] vpc-crosser-agent resolves the endpoint and encapsulates the packet with VXLAN. The specific encapsulation specifications are: the target IP and target port are the address of the VPC gateway, and the src IP and port are the IP and port of the Pod container. At the same time, VNI information is encapsulated into the VXLAN packet.

[0090] In existing solutions, cross-tenant networks still use traditional network connectivity schemes, each with its own drawbacks. This solution introduces three modules that work together: vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). This enables real-time, secure, and scalable network distribution and communication devices in Kubernetes cluster scenarios.

[0091] It should be noted that each of the implementable methods in this embodiment can be implemented individually or in any combination without conflict. This application does not limit this.

[0092] This application provides a cross-tenant communication method, including: monitoring multiple tenant terminals connected to a Kubernetes terminal, wherein each tenant terminal includes at least target transmission information; determining the POD container information of the changed tenant terminal when the number of tenant terminals changes; 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 based on the container information and the target configuration file; and allocating network transmission to the multiple tenant terminals according to the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication device based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC network, and the access path is unidirectional. It also supports user-defined and dynamic modification of the target service to be accessed.

[0093] Another embodiment of this application provides a cross-tenant communication device for performing the cross-tenant communication method provided in the above embodiments.

[0094] like Figure 3 The diagram shown is a structural schematic of a cross-tenant communication device provided in an embodiment of this application. The cross-tenant communication device includes a monitoring module 301, a determination module 302, a lookup 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 terminal includes at least target transmission information;

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

[0097] The lookup module 303 is used to look up the target configuration file corresponding to the changed tenant terminal based on the pre-stored configuration file;

[0098] The encapsulation module 304 is used to determine the target configuration information corresponding to the tenant terminal based on 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 apparatus in this embodiment, the specific manner in which each module performs its operations has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0101] This application provides a cross-tenant communication device, comprising: monitoring multiple tenant terminals connected to Kubernetes terminals, wherein each tenant terminal includes at least target transmission information; determining the POD container information of the changed tenant terminal when the number of tenant terminals changes; 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 the multiple tenant terminals according to the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication device based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC network, and the access path is unidirectional. It also supports user-defined and dynamic modification of the target service to be accessed.

[0102] Another embodiment of this application further illustrates the cross-tenant communication device provided in the above embodiments.

[0103] Optionally, the pre-stored configuration files include resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant.

[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, the encapsulation module is used for:

[0106] Obtain the first address and first port from the container information;

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

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

[0109] This application provides a cross-tenant communication device, comprising: monitoring multiple tenant terminals connected to Kubernetes terminals, wherein each tenant terminal includes at least target transmission information; determining the POD container information of the changed tenant terminal when the number of tenant terminals changes; 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 the multiple tenant terminals according to the target configuration information. This application provides a real-time, secure, and scalable network distribution and communication device based on vpc-crosser-config (configuration loading capability), vpc-crosser-webhook (dynamic configuration), and vpc-crosser-agent (parsing endpoints and packet VXLAN encapsulation). It supports computing power access to any user's VPC network, and the access path is unidirectional. It also supports user-defined and dynamic modification of the target service to be accessed.

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

[0111] Optionally, this application also provides an electronic device, including: 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, it implements the various processes of the above method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.

[0112] This application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the above-described method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0113] The figure is a block diagram of an electronic device 800 shown in the four applications. For example, the electronic device 800 can be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, 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 supply 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] Processing component 802 typically controls the overall operation of electronic device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.

[0116] Memory 804 is configured to store various types of data to support the operation of device 800. Examples of this data include instructions for any application or method operating on electronic device 800, contact data, phonebook data, messages, images, videos, etc. 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 storage, flash memory, magnetic disk, or optical disk.

[0117] Power supply component 806 provides power to various components of electronic device 800. 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 electronic device 800.

[0118] 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 touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0119] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when electronic device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, 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 buttons, volume buttons, power buttons, and lock buttons.

[0121] Sensor assembly 814 includes one or more sensors for providing state assessments of various aspects of electronic device 800. For example, sensor assembly 814 may detect the on / off state of device 800, the relative positioning of components such as the display and keypad of electronic device 800, changes in position of electronic device 800 or a component of electronic device 800, the presence or absence of user contact with electronic device 800, orientation or acceleration / deceleration of electronic device 800, and temperature changes of electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.

[0122] Communication component 816 is configured to facilitate wired or wireless communication between electronic device 800 and other devices. Electronic device 800 can access wireless networks based on communication standards, such as WiFi, carrier networks (such as 2G, 3G, 4G, or 5G), or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast operation information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may 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 methods described above.

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

[0125] Figure 5This is a block diagram illustrating a computer-readable storage medium 1900. For example, the computer-readable storage medium 1900 can 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 memory 1932 for storing instructions executable by the processing component 1922, such as an application program. The application program stored in memory 1932 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 1922 is configured to execute instructions to perform the methods described above.

[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 can operate on an operating system stored in memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or similar.

[0128] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0129] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0130] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

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

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

[0133] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

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

[0135] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0136] If the aforementioned functions are implemented as 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 this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0137] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A cross-tenant communication method, characterized in that, The method includes: Monitor multiple tenant terminals connected to a Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; If the number of tenant terminals changes, determine the POD container information of the changed tenant terminals; Based on the pre-stored configuration file, find the target configuration file corresponding to the changed tenant terminal; Based on the container information and the target configuration file, determine the target configuration information corresponding to the tenant terminal; Based on the target configuration information, network transmission allocation is performed on the multiple tenant terminals; The pre-stored configuration file includes resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant. 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; Users can customize and dynamically modify the target service they want to access; When a change in the number of tenant terminals is detected, and a new POD container event is detected, the meta attribute of the POD container is parsed, and the annotation information is obtained from the meta attribute.

2. The cross-tenant communication method according to claim 1, characterized in that, The step of determining the target configuration information corresponding to the tenant terminal based on the container information and the target configuration file includes: Obtain the first address information and the first port from the container information; Obtain the second address information and the second port from the target configuration file; The first address information, the second address information, the first port, and the second port are encapsulated using VXLAN to obtain target configuration information corresponding to the tenant terminal.

3. A cross-tenant communication device, characterized in that, The device includes: A monitoring module is used to monitor multiple tenant terminals connected to a Kubernetes terminal, wherein the tenant terminal includes at least target transmission information; The determination module is used to determine the container information of the tenant terminals that have changed when the number of tenant terminals changes. The lookup module is used to find the target configuration file corresponding to the changed tenant terminal based on the pre-stored configuration file; The encapsulation module is used to determine the target configuration information corresponding to the tenant terminal based on the container information and the target configuration file; The allocation module is used to allocate network transmission to the multiple tenant terminals according to the target configuration information; The pre-stored configuration file includes resource configuration files for multiple tenants, with each resource configuration file corresponding to a tenant. 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; The device is also used to allow users to customize and dynamically modify the target service to be accessed; The device is also used to parse the meta attribute of the POD container and obtain the annotation information from the meta attribute when the number of tenant terminals changes and a new POD container event is detected.

4. The cross-tenant communication device according to claim 3, characterized in that, The encapsulation module is used for: Obtain the first address information and the first port from the container information; Obtain the second address information and the second port from the target configuration file; The first address information, the second address information, the first port, and the second port are encapsulated using VXLAN to obtain target configuration information corresponding to the tenant terminal.

5. 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, when executed by the processor, implements the method as described in any one of claims 1 to 2.

6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method as described in any one of claims 1 to 2.

Citation Information

Patent Citations

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

    CN109617995A