Industrial design application software delivery method, device and storage medium
Through container technology and distribution preheating, the problem of wasted storage space and computing resources in the delivery of industrial design application software is solved, rapid response and efficient resource utilization are achieved, and user experience and resource utilization are improved.
Patent Information
- Application Number
- CN202411355699.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2044-09-27
AI Technical Summary
The delivery methods of industrial design application software in the prior art have problems such as large storage space occupied, wasted computing resources and untimely services, resulting in a decrease in user satisfaction.
Container technology is used to create container images of industrial design application software, and dynamically adjust the startup and destruction of containers to achieve efficient resource utilization through distribution preheating and continuous monitoring of user sessions and resource usage.
Save storage space, improve the startup speed and user experience of application software, and at the same time improve the elasticity of cloud computing resources and reduce resource waste.
Smart Images

Figure CN118885260B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a method, device and storage medium for delivering industrial design application software. Background Art
[0002] In the cloud design scenario, design application software generally has a graphical interface. These design application software need to be installed in a complete operating system and then delivered to users through cloud desktops or cloud applications.
[0003] The publication number is CN118210565A, and the invention name is application startup method, device, storage medium and electronic device, which belongs to the field of computer technology. The disclosed method includes: in response to an application opening operation, determining whether the application opening operation is the first opening operation for a target application; if the application opening operation is the first opening operation for the target application, starting a cloud application corresponding to the target application; if the application opening operation is not the first opening operation for the target application, starting a sandbox application corresponding to the target application, wherein the sandbox application is an application silently downloaded and installed through a virtual machine during the operation of the cloud application.
[0004] The publication number is CN118092941A, and the invention name is an industrial design software publishing system and method, which belongs to the field of cloud computing technology. The published publishing architecture includes: a server side, which is installed with industrial design software, and the server side performs specific operations on the industrial design software according to user operation instructions; a client side, which is used to collect user operation instructions and send them to the server side, and decrypt and decode the graphics transmitted by the server side; an application virtualization portal, which is used to collect user identity information and forward the user's opening request for the industrial design software to the client side; a system integration environment component, which integrates and interacts with the server side and the client side, and is used to realize data storage and user identity authentication.
[0005] However, the existing technology has the following shortcomings: the operating environment of the application is a complete operating system, and components not required for the program to run, such as other irrelevant components of the operating system, take up a lot of storage space. In addition, computing resources are wasted, for example, multiple servers need to be prepared for users in advance, and they cannot be released in time even if they are idle. Moreover, it takes a long time to start the operating system and initialize related components. When users are in urgent need, services cannot be provided immediately, resulting in reduced user satisfaction.
[0006] With respect to the technical problems existing in the above-mentioned prior art, no effective solutions have been proposed yet. Summary of the invention
[0007] The embodiments of the present disclosure provide a method, device and storage medium for delivering industrial design application software, so as to at least solve the technical problems in the prior art of industrial design application software delivery method, such as large storage space occupation, waste of computing resources and untimely service.
[0008] According to one aspect of an embodiment of the present disclosure, there is provided an industrial design application software delivery method, comprising:
[0009] Create container images for industrial design application software;
[0010] Distributing and preheating the container image;
[0011] Continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results.
[0012] In the present invention, container technology is used in industrial design application software to save resources. At the same time, in the present invention, distribution preheating is used to improve the responsiveness of the service. The present invention also continuously monitors the user session level and dynamically adjusts resources according to the user's usage, thereby improving the efficiency of resource use.
[0013] Preferably, making an industrial design application software container image includes:
[0014] Create container image templates for industrial design application software;
[0015] The container in the container image template is started in a test environment, and the container is verified by simulating a user usage scenario. After passing the verification, the container image template is stored in a dedicated container image repository.
[0016] Furthermore, the container image template for making industrial design application software includes:
[0017] For each specific industrial design application software, perform the following steps to create a container image template for the specific industrial design application software:
[0018] Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system;
[0019] According to the business scenario requirements, the necessary components of the specific industrial design application software are installed in the operating system;
[0020] Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
[0021] Preferably, distributing and preheating the container image includes:
[0022] An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules.
[0023] The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host;
[0024] The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list.
[0025] The cluster type includes one of the following: ultra-lightweight, lightweight, standard, advanced, or exclusive.
[0026] Preferably, after the agent program is started and automatically registers with the control center, it also includes:
[0027] The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster.
[0028] The agent program reports the performance load and container usage to the control center;
[0029] The agent program uses a periodic polling method to obtain an application list from the control center and download a container image. If an update of the container image is detected, the agent program downloads the updated image.
[0030] Preferably, continuously monitoring user session conditions, host resource usage, and container operation conditions, and starting or destroying containers according to monitoring results includes:
[0031] After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state;
[0032] The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool;
[0033] If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m;
[0034] If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed;
[0035] Wherein m is an integer greater than or equal to 1.
[0036] Furthermore, the ready state indicates that the container has been started but no user is using it and is in a state of waiting for a user to connect; the in-use state indicates that the user is connected and a session has been established; the use-completed state indicates that the user has finished using it and has disconnected, closed or logged off the session.
[0037] According to another aspect of an embodiment of the present disclosure, a computer-readable storage medium is also provided, wherein the storage medium includes a stored program, wherein the above-mentioned industrial design software delivery method is executed by a processor when the program is running.
[0038] According to another aspect of the embodiment of the present disclosure, there is also provided an industrial design application software delivery device, including:
[0039] An image making module, configured to make an industrial design application software container image;
[0040] A distribution preheating module, configured to distribute and preheat the container image;
[0041] The monitoring module is configured to continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results.
[0042] Preferably, the image making module is configured to:
[0043] Create container image templates for industrial design application software;
[0044] The container in the container image template is started in a test environment, and the container is verified by simulating a user usage scenario. After passing the verification, the container image template is stored in a dedicated container image repository.
[0045] Furthermore, the container image template for making the industrial design application software includes:
[0046] For each specific industrial design application software, perform the following steps to create a container image template for the specific industrial design application software:
[0047] Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system;
[0048] According to the business scenario requirements, the necessary components of the specific industrial design application software are installed in the operating system;
[0049] Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
[0050] Preferably, the distribution preheating module is configured to:
[0051] An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules.
[0052] The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host;
[0053] The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list.
[0054] The cluster type includes one of the following: ultra-lightweight, lightweight, standard, advanced, or exclusive.
[0055] Furthermore, after the agent is started and automatically registered with the control center, it also includes:
[0056] The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster.
[0057] The agent program reports the performance load and container usage to the control center;
[0058] The agent program uses a periodic polling method to obtain an application list from the control center and download a container image. If an update of the container image is detected, the agent program downloads the updated image.
[0059] Preferably, continuously monitoring user session conditions, host resource usage, and container operation conditions, and starting or destroying containers according to monitoring results includes:
[0060] After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state;
[0061] The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool;
[0062] If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m;
[0063] If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed;
[0064] Wherein m is an integer greater than or equal to 1.
[0065] According to another aspect of the embodiments of the present disclosure, there is also provided an industrial design application software delivery device, including: a processor; and
[0066] A memory, connected to the processor, configured to provide the processor with instructions for processing the following processing steps:
[0067] Create container images for industrial design application software;
[0068] Distributing and preheating the container image;
[0069] Continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results.
[0070] In the disclosed embodiment, the container technology is used to encapsulate the industrial design application software, thereby achieving the purpose of saving storage space. The embodiment of the present invention also uses distribution preheating, thereby increasing the startup speed of the industrial design application software and improving the user experience. The embodiment of the present invention also performs continuous monitoring of the user session level and dynamically adjusts resources according to the user's usage, thereby improving resource utilization. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] The drawings described herein are used to provide a further understanding of the present disclosure and constitute a part of the present application. The illustrative embodiments of the present disclosure and their descriptions are used to explain the present disclosure and do not constitute an improper limitation on the present disclosure. In the drawings:
[0072] Figure 1 is a hardware structure block diagram of a computing device for implementing the method according to Embodiment 1 of the present disclosure;
[0073] Figure 2 It is a flowchart of the industrial design application software delivery method provided by an embodiment of the present invention;
[0074] Figure 3 It is a flowchart of a method for creating a container image of industrial design application software provided by an embodiment of the present invention;
[0075] Figure 4 is a flowchart of another industrial design application software delivery method provided by an embodiment of the present invention;
[0076] Figure 5 is a schematic diagram of an industrial design application software delivery device provided by an embodiment of the present invention;
[0077] Figure 6 It is a schematic diagram of another industrial design application software delivery device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0078] In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only embodiments of a part of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work should fall within the scope of protection of the present disclosure.
[0079] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0080] In cloud design scenarios, design application software generally has a graphical interface, such as AutoCAD, Solidworks, etc. These design application software need to be installed in a complete operating system and then delivered to users through cloud desktops or cloud applications. Cloud desktop / cloud application technology is the current mainstream method, which is an extension of server virtualization technology. Representative products include Citrix Xen Desktop&Apps, VMware Horizon, etc., but it has the following shortcomings:
[0081] 1. Storage space usage problem: The operating environment of the application is a complete operating system. Components not required for the program to run, such as other irrelevant components of the operating system, occupy more storage space.
[0082] 2. The problem of waste in computing resource management, such as the need to prepare multiple servers for users in advance, which cannot be released in time even if they are idle.
[0083] 3. Startup delay problem: It takes a long time to start the operating system and initialize related components. When users are in urgent need of services, services cannot be provided immediately, resulting in reduced user satisfaction.
[0084] In view of the shortcomings of the prior art, the present invention proposes an industrial application software delivery method, device and storage medium. Based on containerization technology, the present invention quickly delivers graphical professional design applications to end users, so that users' usage requests can be quickly responded to, while improving the elasticity of cloud computing resources and reducing resource waste.
[0085] Example 1
[0086] According to this embodiment, an industrial design application software delivery method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0087] The method embodiment provided in this embodiment can be executed in a mobile terminal, a computer terminal, a server or a similar computing device. Figure 1 FIG. 1 shows a hardware structure block diagram of a computing device for implementing an industrial design application software delivery method. Figure 1 As shown, the computing device may include one or more processors (the processor may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory for storing data, a transmission device for communication functions, and an input / output interface. The memory, the transmission device, and the input / output interface are connected to the processor via a bus. In addition, it may also include: a display, a keyboard, and a cursor control device connected to the input / output interface. A person skilled in the art can understand that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0088] It should be noted that the one or more processors and / or other data processing circuits described above may generally be referred to herein as "data processing circuits". The data processing circuits may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuit may be a single independent processing module, or may be incorporated in whole or in part into any of the other components in the computing device. As involved in the embodiments of the present disclosure, the data processing circuit acts as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0089] The memory can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the industrial design application software delivery method in the embodiment of the present disclosure. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, the industrial design application software delivery method of the above-mentioned application is realized. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the computing device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0090] The transmission device is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the computing device. In one example, the transmission device includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0091] The display may be, for example, a touch screen liquid crystal display (LCD) that may enable a user to interact with a user interface of the computing device.
[0092] It should be noted that, in some optional embodiments, the above Figure 1 The computing device shown may include hardware elements (including circuits), software elements (including computer code stored on a computer-readable medium), or a combination of both hardware elements and software elements. Figure 1 This is merely one example of a particular embodiment and is intended to illustrate the types of components that may be present in the computing devices described above.
[0093] In the above operating environment, according to the first aspect of this embodiment, a method for delivering industrial design application software is provided. Figure 2 A schematic diagram showing the process of the method is shown in FIG. Figure 2 As shown, the method includes:
[0094] S202: Create an industrial design application software container image;
[0095] S204: Distribute and preheat the container image;
[0096] S206: Continuously monitor user session status, host resource usage, and container operation status, and start or destroy the container based on the monitoring results.
[0097] In this embodiment, the industrial application software and the operating environment can be packaged into a container image using container technology. After streamlining, the startup and operation efficiency can be improved. In this embodiment, the batch delivery efficiency of applications can be significantly improved and storage usage can be reduced through preheating distribution of container images and image reuse. In this embodiment, real-time monitoring at the user session level is adopted, and resources are dynamically adjusted according to the monitoring situation, thereby saving resources. At the same time, in this method, using container technology, the container can be started and destroyed in seconds, significantly improving the delivery efficiency of industrial design application software on the cloud and effectively improving resource elasticity.
[0098] In this embodiment, when making an industrial design application software container image, each industrial design application software is made separately. If there are multiple industrial design application software that need to be delivered, the container image of the industrial design application software is made one by one, which is called the container image template of the industrial design application software. For example, assuming that the industrial design application software that needs to be delivered includes two-dimensional drawing software and three-dimensional modeling software, a two-dimensional drawing software container image template and a three-dimensional modeling software container image template are made respectively. When multiple drawing software need to be started, multiple containers can be loaded from the two-dimensional drawing software container image template. When the three-dimensional modeling software needs to be started, multiple containers can be loaded from the three-dimensional modeling software container image template.
[0099] Optionally, for each industrial design application software, making an industrial design application software container image includes:
[0100] Create container image templates for industrial design application software;
[0101] The container in the container image template is started in a test environment, and the container is verified by simulating a user usage scenario. After passing the verification, the container image template is stored in a dedicated container image repository.
[0102] Specifically, Figure 3 As shown:
[0103] S302: Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system.
[0104] In this step, according to the operating environment requirements of the industrial design application software, first determine the most suitable operating system (such as a mainstream Linux distribution or Windows operating system), and then remove irrelevant components in the operating system. The operating system suitability principle is an operating system that has been verified for stability and is within the official support life cycle, and the irrelevant component determination principle is the operating system components that the industrial design application software does not rely on when running.
[0105] For example: 3D design software supports Windows 7 SP1, Windows 10, and Windows 11. Select the latest operating system Windows 11 as its operating environment. When the 3D design software is running, it does not rely on the built-in applications and files that come with the operating system, such as Metro applications, audio / video playback software, antivirus software, themes, wallpapers, etc. These components are removed from the operating system.
[0106] S304: Install necessary components of the specific industrial design application software in the operating system according to business scenario requirements.
[0107] Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
[0108] In this step, based on the previous step S302, the necessary components of the industrial design application software are installed in the operating system according to the business scenario requirements, and then other irrelevant components in the operating system are further cleaned up to keep it as simple as possible. Finally, a customized industrial design application software image is generated with a clearly identifiable logo.
[0109] For example, if only the core functions of the 3D design software are needed, other additional components in the 3D software installation package will not be installed, and the final generated container image identifier is: zw3d-windows11:2022.113439.
[0110] S306: Verify the container. That is, start the container in the container image template in the test environment, simulate the user usage scenario to verify the container, and if it passes the verification, store it in the dedicated container image repository. If the verification fails, return to execute S302.
[0111] S308: storing in a dedicated container image repository, that is, storing the container image template of the specific industrial design application software in the dedicated container image repository.
[0112] Optionally, distributing and preheating the container image in S204 of this embodiment includes:
[0113] Run the agent program in the host operating system. After the agent program is started, it will automatically register with the control center. After the host is registered, the control center will allocate it to different computing clusters according to preset rules.
[0114] The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host;
[0115] The agent program continuously polls requests, obtains the application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository based on the application list.
[0116] The cluster type includes one of the following:
[0117] Ultra Light, Light, Standard, Premium or Exclusive.
[0118] In traditional container usage scenarios, images are obtained from the image repository only when the container is started. Due to the size of the container image and the network bandwidth, this process may take several seconds to several minutes, which cannot meet the needs of quickly delivering applications to users. In addition, different industrial design applications have different computing power requirements, such as requiring a CPU with a higher main frequency or a suitable GPU. Therefore, in an embodiment of the present invention, the customized industrial design application software container image is preheated and distributed to the host machine that actually runs the container to achieve fast startup of the container. After the host machine is registered, it will be allocated to different computing clusters according to preset rules.
[0119] Optionally, as a preferred example, the cluster type is shown in Table 1 below:
[0120] Table 1: Example table of cluster types
[0121]
[0122] Optionally, after the agent is started and automatically registers with the control center, it also includes:
[0123] The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host from the computing cluster.
[0124] The agent reports performance load and container usage to the control center;
[0125] The agent program uses a periodic polling method to obtain the application list from the control center and download the container image. If an update of the container image is detected, the updated image is downloaded.
[0126] That is to say, in this embodiment, the agent program implements distribution preheating and reports the status to the control center. The agent program runs in the host machine and implements the following functions:
[0127] 1. Use the heartbeat mechanism to report the status to the control center at predetermined intervals. If the reporting threshold is exceeded, the control center will remove the host from the computing cluster. In other words, the agent reports the status to the control center at predetermined intervals. If the length of time without reporting the status exceeds the predetermined threshold, the control center will remove the host from the computing cluster.
[0128] 2. Reporting performance load conditions to a control center. The agent reports performance load conditions to the control center.
[0129] 3. Use periodic polling to obtain the application list from the control center and preheat the container image. If a container image update is detected, preheat the new image. In this step, preheating is completed by downloading the container image. In this embodiment, the agent program continuously polls requests to obtain the application list from the control center, and downloads the corresponding industrial design application software container image from the container image warehouse in advance according to the application list. If the application list is updated, the agent program will automatically update the container image on the local machine, and will not affect the container based on the old version image running on the local machine.
[0130] 4. Report container usage to the control center. The agent reports container usage to the control center.
[0131] In this embodiment, the control center classifies all registered host machines according to the correspondence between the cluster type, computing instance specifications and container applications allowed to run in Table 1 above, and allocates a list of applications suitable for running on them to adapt to the operating environment requirements of different industrial design application software containers. For example: After a computing instance (with specifications of 16 vCPUs, 64GB of memory, and 1 GPU) is started, it is automatically registered to the control center. The control center classifies it as a standard computing instance according to preset rules, enters the standard computing cluster, and allocates it an application container list of graphic design software such as Photoshop, two-dimensional CAD drawing software such as ZW2D, and lightweight three-dimensional modeling software such as ZW3D.
[0132] Optionally, continuously monitoring user sessions, host resource usage, and container operation, and starting or destroying containers based on monitoring results includes:
[0133] After the industrial design application software container is started, it reports the status to the control center, including the ready state, the in-use state, or the use-completed state;
[0134] The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool;
[0135] If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m;
[0136] If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed;
[0137] Wherein m is an integer greater than or equal to 1.
[0138] The ready state indicates that the container has been started but no user is using it, and it is waiting for a user to connect. The in-use state indicates that the user is connected and a session has been established. The completed state indicates that the user has finished using the container and has disconnected, closed, or logged off the session.
[0139] In other words, in step S206 of this embodiment, the user session status, host resource usage and container operation status are continuously monitored, and the container is started or destroyed according to the monitoring results, which specifically includes the following functions:
[0140] 1. After the industrial design application software container is started, it reports its status to the control center. There are three statuses: ready, in use, and completed. Ready: The container has been started, but no user is using it, and it is waiting for the user to connect. In use: When a user connects to a ready container and establishes a session, the ready state changes to in use. Completed: After the user has finished using it, disconnect, close, or log off the session, and the container status changes from in use to completed.
[0141] 2. If the container status is abnormal, it will be automatically destroyed after a customizable duration n, where n is the duration length.
[0142] 3. You can customize the preheating strategy in the control center, for example, keep at least m industrial design application software containers started and in a ready state to form an application container pool.
[0143] 4. When the user requests a connection and successfully creates a connection session using a specific image transmission protocol, the control center receives the status reported by the container, and the ready container becomes m-1. The control center automatically sends a policy to the host cluster and chooses to start another container on a specific host, bringing the number of ready containers to m.
[0144] 5. When the user disconnects or logs out of the session, the container reports the abnormal session status to the control center and the container is automatically destroyed to prevent other users from reusing the container and causing information leakage.
[0145] Combine the following Figure 4 , giving a specific example:
[0146] S402: The host is started. The host is a computer running an industrial application software image. Each host can be classified into a computing cluster type, that is, ultra-lightweight, lightweight, standard, advanced or exclusive. For example, the cluster type can be divided according to the standards in Table 1 above.
[0147] S404: The agent program starts. The agent program implements the distribution preheating of the container image. The agent program establishes a connection with the container image library to obtain the container image from the container image library. The agent program is also connected to the control center to report the status to the control center.
[0148] It should be noted that before the agent program is started, the container image library has stored a pre-set container image template for the industrial design application software. The production of the industrial design application software container image is the same as S202, and the specifics are the same as S302, S304, S306 and S308, which will not be repeated here.
[0149] S406: Industrial design application software container starts. In the above S404, after the agent program is started, the industrial design application software container image is downloaded. In this step, the container is started.
[0150] S408: Startup status determination. In this step, the startup status of the industrial design application software container is determined. If the startup is abnormal, return to S406 to try to start again. If the startup is successful, execute S410 and report the ready status to the control center.
[0151] S410: Entering the application container pool. After the above steps, the successfully started container enters the application container pool and waits for user connection.
[0152] S412: User connects and creates a session. The user initiates a session connection request to use the industrial design application software.
[0153] S414: Determine the usage status of the container. If the connection is successful, report the status to the control center as being in use. If the user connection fails, destroy the container and replace it with another container from the container pool to try to connect, that is, execute S410 again. If the use is completed, execute S416.
[0154] In this step, the user session status, host resource usage and container operation status are continuously monitored, and the container is started or destroyed according to the monitoring results, thereby achieving dynamic adjustment of resources and improving resource utilization efficiency.
[0155] S416: The session is disconnected after use and the status is reported to the control center: use completed.
[0156] S418: Destroy the container. Destroy the container to release resources. At the same time, a new container will be created. In this step, if the control center detects that the number of containers in the ready state is less than m, it will send a command to the host cluster to start a new container so that the number of containers in the ready state reaches m.
[0157] The method of the present invention utilizes the advantages of containerization technology and is based on containerization technology to quickly deliver graphical professional design applications to end users, so that user requests can be quickly responded to, while improving the elasticity of cloud computing resources and reducing resource waste, wherein:
[0158] 1. Compared with traditional virtualization solutions, container technology can package industrial application software and operating environment into container images, which can improve startup and operation efficiency after streamlined processing.
[0159] 2. Traditional virtualization solutions involve a large amount of disk read / write and network bandwidth usage when provisioning virtual machines in batches, which is inefficient. By preheating and distributing container images and reusing images, the efficiency of batch application delivery can be significantly improved and storage usage can be reduced.
[0160] 3. Traditional virtualization solutions require the startup of a complete operating system, while containers can be started and destroyed in seconds, significantly improving the delivery efficiency of industrial design application software on the cloud and effectively improving resource elasticity.
[0161] In addition, reference Figure 2 As shown, according to the second aspect of this embodiment, a computer-readable storage medium is provided. The storage medium includes a stored program, wherein when the program is run, a processor executes any one of the above industrial design application software delivery methods.
[0162] Therefore, according to this embodiment, the container technology is used to encapsulate the industrial design application software, thereby achieving the purpose of saving storage space. The embodiment of the present invention also uses distribution preheating, thereby increasing the startup speed of the industrial design application software and improving the user experience. The embodiment of the present invention also performs continuous monitoring of the user session level and dynamically adjusts resources according to the user's usage, thereby improving resource utilization.
[0163] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described order of actions, because according to the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.
[0164] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, 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, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.
[0165] Example 2
[0166] Figure 5 The industrial design application software delivery device 500 according to this embodiment is shown, and the device 500 corresponds to the industrial design application software delivery method according to the first aspect of embodiment 1. Figure 5 As shown, the device 500 includes:
[0167] An image making module 510 is configured to make an industrial design application software container image;
[0168] A distribution preheating module 520 is configured to distribute and preheat the container image;
[0169] The monitoring module 530 is configured to continuously monitor user session status, host resource usage, and container operation status, and start or destroy the container based on the monitoring results.
[0170] Optionally, the container image template for making the industrial design application software includes:
[0171] For each specific industrial design application software, perform the following steps to create a container image template for the specific industrial design application software:
[0172] Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system;
[0173] According to the business scenario requirements, the necessary components of the specific industrial design application software are installed in the operating system;
[0174] Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
[0175] Optionally, the distribution preheating module 520 is configured to:
[0176] An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules.
[0177] The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host;
[0178] The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list.
[0179] The cluster type is one of: ultra-light, light, standard, advanced, or exclusive.
[0180] Optionally, after the agent is started and automatically registers with the control center, it also includes:
[0181] The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster.
[0182] The agent reports performance load and container usage to the control center;
[0183] The agent program uses a periodic polling method to obtain the application list from the control center and download the container image. If an update of the container image is detected, the updated image is downloaded.
[0184] Optionally, continuously monitoring user sessions, host resource usage, and container operation, and starting or destroying containers based on monitoring results includes:
[0185] After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state;
[0186] The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool;
[0187] If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m;
[0188] If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed;
[0189] Wherein m is an integer greater than or equal to 1.
[0190] Optionally, the ready state indicates that the container has been started but is not used by any user and is in a state of waiting for a user to connect;
[0191] The in-use state means that the user is connected and a session has been established;
[0192] The usage completion state indicates that the user has finished using the session and has disconnected, closed, or logged off.
[0193] It should be noted that the industrial design application software delivery device provided in this embodiment can implement all the functions and steps in the above-mentioned method embodiment 1, solve the same technical problems, and achieve the same technical effects, and the similarities will not be repeated here.
[0194] According to the device of this embodiment, the container technology is used to encapsulate the industrial design application software, thereby achieving the purpose of saving storage space. The embodiment of the present invention also uses distribution preheating, thereby increasing the startup speed of the industrial design application software and improving the user experience. The embodiment of the present invention also performs continuous monitoring of the user session level and dynamically adjusts resources according to the user's usage, thereby improving the utilization rate of resources.
[0195] Example 3
[0196] Figure 6 The industrial design application software delivery device 600 according to this embodiment is shown, and the device 600 corresponds to the industrial design application software delivery method according to the first aspect of embodiment 1. Figure 6 As shown, the device 600 includes:
[0197] Processor 610; and
[0198] The memory 620 is connected to the processor and is used to provide instructions for the processor 610 to process the following processing steps:
[0199] Create container images for industrial design application software;
[0200] Distributing and preheating the container image;
[0201] Continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results.
[0202] Optionally, making an industrial design application software container image includes:
[0203] Create container image templates for industrial design application software;
[0204] The container in the container image template is started in a test environment, and the container is verified by simulating a user usage scenario. After passing the verification, the container image template is stored in a dedicated container image repository.
[0205] Optionally, the container image template for making the industrial design application software includes:
[0206] For each specific industrial design application software, perform the following steps to create a container image template for the specific industrial design application software:
[0207] Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system;
[0208] According to the business scenario requirements, install the necessary components of the specific industrial design application software in the operating system;
[0209] Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
[0210] Optionally, distributing and preheating the container image includes:
[0211] An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules.
[0212] The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host;
[0213] The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list.
[0214] The cluster type is one of: ultra-light, light, standard, advanced, or exclusive.
[0215] Optionally, after the agent is started and automatically registers with the control center, it also includes:
[0216] The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster.
[0217] The agent reports performance load and container usage to the control center;
[0218] The agent program uses a periodic polling method to obtain the application list from the control center and download the container image. If an update of the container image is detected, the updated image is downloaded.
[0219] Optionally, continuously monitoring user sessions, host resource usage, and container operation, and starting or destroying containers based on monitoring results includes:
[0220] After the industrial design application software container is started, it reports the status to the control center, including the ready state, the in-use state, or the use-completed state;
[0221] The control center keeps at least m industrial design application software containers started and in a ready state, forming an application container pool;
[0222] If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m;
[0223] If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed;
[0224] Wherein m is an integer greater than or equal to 1.
[0225] Optionally, the ready state indicates that the container has been started but is not used by any user and is in a state of waiting for a user to connect;
[0226] The in-use state means that the user is connected and a session has been established;
[0227] The usage completion state indicates that the user has finished using the session and has disconnected, closed, or logged off.
[0228] According to the device of this embodiment, the container technology is used to encapsulate the industrial design application software, thereby achieving the purpose of saving storage space. The embodiment of the present invention also uses distribution preheating, thereby increasing the startup speed of the industrial design application software and improving the user experience. The embodiment of the present invention also performs continuous monitoring of the user session level and dynamically adjusts resources according to the user's usage, thereby improving the utilization rate of resources.
[0229] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0230] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0231] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, 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. For example, 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 units or modules, which can be electrical or other forms.
[0232] 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.
[0233] In addition, each functional unit in each embodiment of the present invention 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0234] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including 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 method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc. Various media that can store program codes.
[0235] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for delivering industrial design application software, characterized in that: include: Create container images for industrial design application software; Distributing and preheating the container image; Continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results; The step of making an industrial design application software container image includes: Create container image templates for industrial design application software; Start the container in the container image template in the test environment, simulate the user usage scenario to verify the container, and store the container image template in a dedicated container image warehouse after verification; The distributing and preheating the container image includes: An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules. The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host; The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list; After the agent program is started and automatically registered with the control center, it also includes: The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster. The agent program reports the performance load and container usage to the control center; The agent program uses a periodic polling method to obtain an application list from the control center and downloads a container image. If an update of the container image is detected, the agent program downloads the updated image. The continuous monitoring of user session status, host resource usage, and container operation status, and starting or destroying the container according to the monitoring results includes: After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state; The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool; If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m; If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed; Wherein m is an integer greater than or equal to 1.
2. The method according to claim 1, characterized in that The container image template for making industrial design application software includes: For each specific industrial design application software, perform the following steps to create a container image template for the specific industrial design application software: Determine the operating system to be run according to the operating environment requirements of the specific industrial design application software, and remove irrelevant components in the operating system; According to the business scenario requirements, the necessary components of the specific industrial design application software are installed in the operating system; Among them, the irrelevant components are operating system components that the specific industrial design application software does not rely on when running, and the necessary components are operating system components required when the specific industrial design application software runs.
3. The method according to claim 1, characterized in that The cluster type includes one of the following: Ultra Light, Light, Standard, Premium or Exclusive.
4. The method according to claim 1, characterized in that: The ready state indicates that the container has been started but no user is using it and is in a state of waiting for a user to connect; the in-use state indicates that a user has connected and a session has been established; the use-completed state indicates that the user has finished using it and has disconnected, closed or logged off the session.
5. A computer-readable storage medium, characterized in that: The storage medium includes a stored program, wherein when the program is run, the processor executes the method according to any one of claims 1 to 4.
6. An industrial design application software delivery device, characterized in that: include: An image making module, configured to make an industrial design application software container image; A distribution preheating module, configured to distribute and preheat the container image; The monitoring module is configured to continuously monitor user sessions, host resource usage, and container operation, and start or destroy containers based on the monitoring results; Wherein, the image making module is configured to: Create container image templates for industrial design application software; Start the container in the container image template in the test environment, simulate the user usage scenario to verify the container, and store the container image template in a dedicated container image warehouse after verification; The distribution preheating module is configured to: An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules. The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host; The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list; After the agent program is started and automatically registered with the control center, it also includes: The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster. The agent program reports the performance load and container usage to the control center; The agent program uses a periodic polling method to obtain an application list from the control center and downloads a container image. If an update of the container image is detected, the agent program downloads the updated image. The monitoring module is configured to: After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state; The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool; If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m; If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed; Wherein m is an integer greater than or equal to 1.
7. An industrial design application software delivery device, characterized in that: include: processor; as well as A memory, connected to the processor, configured to provide the processor with instructions for processing the following processing steps: Create container images for industrial design application software; Distributing and preheating the container image; Continuously monitor user sessions, host resource usage, and container operation status, and start or destroy containers based on the monitoring results; The step of making an industrial design application software container image includes: Create container image templates for industrial design application software; Start the container in the container image template in the test environment, simulate the user usage scenario to verify the container, and store the container image template in a dedicated container image warehouse after verification; The distributing and preheating the container image includes: An agent program is run in the host operating system. After the agent program is started, it automatically registers with the control center. After the host is registered, the control center is allocated to different computing clusters according to preset rules. The control center classifies all registered hosts according to cluster type, computing instance specifications, and containers allowed to run, and allocates a list of applications running on the host; The agent program continuously polls requests, obtains an application list from the control center, and downloads the corresponding industrial design application software container image from the container image repository according to the application list; After the agent program is started and automatically registered with the control center, it also includes: The agent program reports the status to the control center at predetermined time intervals. If the length of time for which the status is not reported exceeds a predetermined threshold, the control center removes the host machine from the computing cluster. The agent program reports the performance load and container usage to the control center; The agent program uses a periodic polling method to obtain an application list from the control center and downloads a container image. If an update of the container image is detected, the agent program downloads the updated image. The continuous monitoring of user session status, host resource usage, and container operation status, and starting or destroying the container according to the monitoring results includes: After the industrial design application software container is started, the status is reported to the control center, and the status includes a ready state, an in-use state, or a use-completed state; The control center keeps at least m industrial design application software containers started and in a ready state to form an application container pool; If the control center detects that the number of containers in the ready state is less than m, it sends a command to the host cluster to start a new container so that the number of containers in the ready state reaches m; If the user disconnects or logs off the session, the container reports the abnormal session status to the control center and the container is automatically destroyed; Wherein m is an integer greater than or equal to 1.
