Application deployment method and device, equipment, medium and program product
By generating application deployment tasks and using RPA process automation technology, traditional application updates are solved, and efficient and low-impact application deployment is achieved.
Patent Information
- Application Number
- CN202510008520.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-05-06
AI Technical Summary
Traditional application update methods are time-consuming and cumbersome, easily affected by operational accuracy, and have a great impact on users' normal use.
By responding to the application installation file uploaded by the user, an application deployment task is generated, and the period is determined based on the set execution timing, the application deployment resources of the target installation environment are obtained, the task is executed, the task is published to the task queue, and the application deployment operations are performed using the robot process to automate the RPA process.
When the application deployment resources meet the conditions, RPA technology will automatically perform application deployment to improve deployment efficiency and reduce the impact on user use.
Smart Images

Figure CN119938075A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of RPA technology, and in particular to an application deployment method, device, equipment and storage medium. Background Art
[0002] In a diverse software deployment environment, applications often require regular version updates to fix vulnerabilities, add new features, or optimize existing features.
[0003] Traditional update methods often involve compiling and publishing the complete backend project to the server. The process of compiling and packaging the entire project is time-consuming and cumbersome, and is easily affected by the accuracy of human operations. In addition, the entire update application deployment process has a great impact on the normal use of users. Summary of the invention
[0004] The present invention provides an application deployment method, device, equipment, medium and program product to solve the problem that the application update deployment process has a significant impact on the normal use of users.
[0005] According to one aspect of the present invention, there is provided an application deployment method, comprising:
[0006] In response to a user uploading an application installation file, generating an application deployment task based on the application installation file;
[0007] Acquire application deployment resources of the target installation environment according to the set execution timing determination cycle, and determine the task execution timing according to the application deployment resources;
[0008] When the task is executed, the application deployment task is published to a task queue;
[0009] Pull the application deployment task from the task queue, and execute the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
[0010] According to another aspect of the present invention, there is provided an application deployment device, comprising:
[0011] A task generation module, configured to generate an application deployment task based on the application installation file in response to a user uploading the application installation file;
[0012] An execution timing determination module is used to obtain application deployment resources of a target installation environment according to a set execution timing determination cycle, and determine a task execution timing according to the application deployment resources;
[0013] A task publishing module, used for publishing the application deployment task to the task queue when the task is executed;
[0014] The application deployment module is used to pull the application deployment task from the task queue and perform the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
[0015] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0016] at least one processor; and
[0017] a memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application deployment method described in any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application deployment method described in any embodiment of the present invention when executed.
[0020] According to another aspect of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the application deployment method of any embodiment of the present disclosure is implemented.
[0021] The technical solution of the embodiment of the present invention, in response to the user uploading the application installation file, generates an application deployment task based on the application installation file, and then obtains the application deployment resources of the target installation environment according to the set execution timing determination cycle, and determines the task execution timing according to the application deployment resources, publishes the application deployment task to the task queue at the task execution timing, pulls the application deployment task from the task queue, and executes the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task. When the application deployment resources of the target installation environment meet the deployment conditions, the application deployment operation can be executed according to the RPA process, so that when the application deployment resources meet the conditions, the RPA technology can be used to deploy the application, thereby improving the deployment efficiency and reducing the impact of application deployment on user use.
[0022] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0024] Figure 1 is a flowchart of an application deployment method provided according to Embodiment 1 of the present invention;
[0025] Figure 2 is a flowchart of an application deployment method provided according to Embodiment 2 of the present invention;
[0026] Figure 3 is a structural diagram of an application deployment device provided according to Embodiment 3 of the present invention;
[0027] Figure 4 It is a structural diagram of an electronic device for implementing the application deployment method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0028] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention 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 interchanged where appropriate, so that the embodiments of the present invention 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.
[0030] Embodiment 1
[0031] Figure 1A flowchart of an application deployment method is provided for the first embodiment of the present invention. This embodiment is applicable to the case where RPA technology is used for application deployment. The method can be executed by an application deployment device, which can be implemented in the form of hardware and / or software. The application deployment device can be configured in various general computing devices, for example, in devices deployed with Robotic Process Automation (RPA). Figure 1 As shown, the method includes:
[0032] S110 . In response to a user uploading an application installation file, generating an application deployment task based on the application installation file.
[0033] The application installation file is used to provide file support for application deployment. The application installation file is a software media package that aggregates multiple files, metadata, resources, and folders required for application deployment. Exemplarily, if the language type involved in the application installation file is JAVA language, the application installation file is a jar (Java Archive) package.
[0034] An application deployment task includes at least one application installation file and information provided by the user when uploading the application installation file, such as task identifier, file version, target installation environment, user information, and the Message-Digest Algorithm 5 (MD5) value of the application installation file.
[0035] In an embodiment of the present invention, a user can upload an application installation file to be deployed through an application deployment interface. After obtaining the application installation file uploaded by the user, file integrity verification and version compatibility check can be performed. When it is determined that the application installation conditions are met, an application deployment task is generated based on the application installation file, and the status of the current application deployment task is marked as pending scheduling. Specifically, by calling the task generation interface, an application deployment task is generated based on at least one application installation file uploaded by the user and associated with the application to be deployed, and the information provided by the user when uploading the application installation file, such as task identification, file version, target installation environment, user information, and MD5 value of the application installation file.
[0036] S120 . Acquire application deployment resources of the target installation environment according to the set execution timing determination cycle, and determine the task execution timing according to the application deployment resources.
[0037] The execution timing is the moment when the application deployment task execution conditions are met. Exemplarily, the execution timing is the moment when the memory usage rate and / or the central processing unit (CPU) usage rate is less than a set threshold after the application deployment task is generated.
[0038] The execution timing determination cycle represents the time interval for determining the task execution timing. For example, if the execution timing determination cycle is 1 minute, it means that after the application deployment task is generated, an execution timing determination is performed every 1 minute to determine whether the current moment is the task execution timing. The execution timing determination cycle can be flexibly adjusted according to actual needs.
[0039] The target installation environment is the software and hardware environment where the application needs to be deployed. For example, the target installation environment is a server running the Linux operating system.
[0040] Application deployment resources refer to the utilization rate of resources required for application deployment in the target installation environment. For example, application deployment resources include system resources of the target installation environment, such as CPU utilization, memory utilization, network bandwidth utilization, storage utilization, disk input / output (I / O) utilization, and system load, etc. Application deployment resources also include program performance resources associated with the program type to which the application installation file belongs in the target installation environment, such as JAVA program heap memory utilization, non-heap memory utilization, garbage collection times, and metaspace utilization, etc.
[0041] In an embodiment of the present invention, the application deployment resources of the target installation environment can be periodically obtained according to the set execution timing determination cycle. Each time the application deployment resources are obtained, it is determined whether the currently obtained application deployment resources meet the application deployment requirements. If the application deployment requirements are met, the current moment is determined as the task execution timing.
[0042] In a specific example, the execution timing determination cycle is set to 1 minute, and the application deployment resources include the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment. After the application deployment task is generated, the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment are obtained every 1 minute. The resource score is calculated based on the above two resources. When the resource score is greater than the set threshold, it is determined that the current moment meets the conditions for application deployment, and the current moment is used as the task execution timing.
[0043] In another specific example, the execution timing determination cycle is set to 1 minute, and the application deployment resources include the system resources of the target installation environment. After the application deployment task is generated, the system resources of the target installation environment are obtained every 1 minute, such as CPU usage, memory usage, network bandwidth, and memory usage. The resource score is calculated based on the above system resources, and the utilization rate of each type of resource is negatively correlated with the resource score. When the resource score is greater than the set threshold, it is determined that the current moment meets the conditions for application deployment, and the current moment is used as the task execution timing.
[0044] S130: When the task is executed, the application deployment task is published to the task queue.
[0045] In the embodiment of the present invention, at the task execution time, the application deployment task is marked as being in a publishable state, and then the application deployment task marked as being in a publishable state is published to the task queue.
[0046] S140: Pull the application deployment task from the task queue, and execute the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
[0047] Robotic Process Automation (RPA) is a technology that uses software robots to simulate and execute manual operations that originally required humans, thereby optimizing business processes, improving work efficiency, reducing operating costs and reducing human errors.
[0048] The RPA process is a predefined process for executing application deployment. For example, the RPA process includes an environment configuration process, an application deployment process, and an application basic operation test process.
[0049] In an embodiment of the present invention, the RPA executor deployed in the server pulls the application deployment task from the task queue, reads the RPA process in the application deployment task, and then performs the application deployment operation based on the RPA process. Specifically, based on the RPA process in the application deployment task, first read the configuration information in the application deployment task, and perform the environment configuration operation in the target installation environment according to the configuration information. Finally, in the target installation environment where the environment configuration operation is completed, the application deployment operation is performed, and then the deployment application test is performed according to the basic operation test process.
[0050] The application deployment tasks may be pulled in the order in which the tasks enter the task queue, and the application deployment tasks that enter the task queue first are pulled first.
[0051] To facilitate problem location in the future, the installation log is recorded during the application deployment process, and related configuration files and installation media are stored. When an abnormal situation occurs during the deployment process, the developer is reminded to fix the error in time through error reporting.
[0052] The technical solution of the embodiment of the present invention, in response to the user uploading the application installation file, generates an application deployment task based on the application installation file, and then obtains the application deployment resources of the target installation environment according to the set execution timing determination cycle, and determines the task execution timing according to the application deployment resources, publishes the application deployment task to the task queue at the task execution timing, pulls the application deployment task from the task queue, and executes the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task. When the application deployment resources of the target installation environment meet the deployment conditions, the application deployment operation can be executed according to the RPA process, so that when the application deployment resources meet the conditions, the RPA technology can be used to deploy the application, thereby improving the deployment efficiency and reducing the impact of application deployment on user use.
[0053] Embodiment 2
[0054] Figure 2 This is a flowchart of an application deployment method provided in Embodiment 2 of the present invention. This embodiment further refines the above embodiment and provides. Figure 2 As shown, the method includes:
[0055] S210 . In response to the user uploading the application installation file, generate an application deployment task based on the application installation file.
[0056] S220: Acquire system resources of the target installation environment and program performance resources in the target installation environment that are associated with the program type to which the application installation file belongs according to the set execution timing determination cycle.
[0057] S230: Calculate a resource score at the current moment according to the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment.
[0058] The system resources of the target installation environment include CPU usage, memory usage, network bandwidth usage, storage usage, disk I / O rate, system load, number of processes, number of threads, context switching rate, average response time, etc.
[0059] The program performance resources associated with the program type to which the application installation file belongs. If the program type is JAVA, the resources include heap memory usage, non-heap memory usage, number of garbage collections, garbage collection time, metaspace usage, thread pool usage, number of class loads, and JAVA virtual machine running time.
[0060] If the program type is C language type, it includes heap memory allocation, heap memory fragmentation rate, stack memory usage rate, file descriptor usage rate, lock contention rate, cache hit rate and memory leak detection status.
[0061] If the program type involves a reverse proxy server, it includes the number of active connections, request processing rate, connection processing time, number of read requests, number of write requests, and number of waiting requests.
[0062] According to the utilization rate of the above resources, the idle rate is calculated, and the idle rate is weighted and summed to obtain the resource score.
[0063] S240: When the resource score is greater than the initial score threshold, determine the current time as the task execution time.
[0064] In the embodiment of the present invention, when the resource score is greater than the initial score threshold, it indicates that there are sufficient resources to support the application deployment process, and the current moment is determined as the task execution time. The resource score is calculated based on the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment. The basic system resources and program performance resources can be considered at the same time to provide resource guarantees for application deployment, ensure application deployment efficiency, and reduce the impact on user use.
[0065] Optionally, if the task execution opportunity is not detected within the set waiting time after the application deployment task is generated, the updated score threshold obtained by lowering the initial score threshold is used to replace the initial score threshold;
[0066] Returns an operation of executing according to a set execution timing determination period, obtaining system resources of a target installation environment and program performance resources associated with a program type to which an application installation file belongs in the target installation environment.
[0067] In this optional embodiment, if the task execution opportunity is not detected within the set waiting time after the application deployment task is generated, the initial score threshold is replaced by the updated score threshold obtained by reducing the initial score threshold, for example, the initial score threshold is linearly reduced according to the waiting time, but not less than the minimum score threshold. Then, the execution is returned to the execution according to the set execution timing determination cycle, and the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment are obtained, so as to avoid the system running at high load for a long time and the situation where the installation window cannot be obtained for a long time.
[0068] Optionally, replacing the initial score threshold with an updated score threshold obtained by lowering the initial score threshold includes:
[0069] Calculate the update score threshold according to the historical resource score within the current waiting time, the current waiting time, the initial score threshold and the minimum score threshold;
[0070] The updated score threshold is adopted to replace the initial score threshold.
[0071] In this optional embodiment, a specific method is provided for replacing the initial score threshold with an updated score threshold obtained by reducing the initial score threshold: first, the updated score threshold is calculated according to the historical resource score within the current waiting time, the current waiting time, the initial score threshold and the minimum score threshold. Finally, the updated score threshold is used to replace the initial score threshold.
[0072] The specific calculation formula for updating the score threshold is as follows:
[0073]
[0074] Where t is the current waiting time, S_current is the current resource fraction, ΔS is the rate of change of the resource fraction, is the weighted average of the historical resource scores, T_initial is the initial score threshold, T_min is the minimum score threshold, k is the time factor that controls the speed at which the threshold is reduced, α is the current resource score influencing factor, β is the resource score change rate influencing factor, and γ is the historical resource score influencing factor.
[0075] (T initial -T min )·e -kt +T min is the time decay term. As the waiting time increases, the threshold T(t) gradually decreases and approaches the minimum score threshold T min -αS current is the current resource score item, the current resource score S current The higher it is, the lower the update score threshold T(t), reflecting the current application deployment resource situation. -βΔS is the resource score change rate term. The higher the resource score change rate ΔS is, the lower the threshold T(t), reflecting the fluctuation of application deployment resources. is the historical resource score item, the weighted average of the historical resource score The higher it is, the lower the threshold T(t), which reflects the long-term application deployment resource usage.
[0076] The update score threshold is calculated based on the historical resource score within the current waiting time, the current waiting time, the initial score threshold, and the minimum score threshold. The initial score threshold can be controlled to be reduced according to the fluctuation of the current system resources. This can avoid the system running under long-term high load and the inability to obtain the installation window for a long time.
[0077] S250: When the task is executed, the application deployment task is published to the task queue.
[0078] S260: Pull the application deployment task from the task queue, obtain the configuration information in the application deployment task based on the RPA process in the application deployment task, and perform the environment configuration operation in the target installation environment according to the configuration information.
[0079] In the embodiment of the present invention, an application deployment task is pulled from a task queue, configuration information in the application deployment task is obtained based on the RPA process in the application deployment task, and environment configuration operations are performed in the target installation environment according to the configuration information. Specifically, in the target installation environment, the installation location of the configuration file is configured based on the RPA process, the configuration items are changed, and the configuration file is stored in a set location.
[0080] S270: Execute application deployment operation in the target installation environment where the environment configuration operation is completed.
[0081] In the embodiment of the present invention, in the target installation environment where the environment configuration operation is completed, the application deployment operation is performed, and the installation log is recorded during the application deployment process. Application deployment is performed based on the RPA process in the application deployment task, and simulation of manual operation can realize a variety of operations that are difficult to perform through automated means, such as obtaining information from third-party application software and manual verification by a third party. On the one hand, it is not constrained by the technology stack and operating system, and on the other hand, it reduces human errors and improves the accuracy and efficiency of task execution.
[0082] Optionally, in the target installation environment where the environment configuration operation is completed, perform application deployment operations, including:
[0083] Determine the target hot deployment solution based on the program type of the application installation file and the operating system type of the target installation environment;
[0084] In the target installation environment where the environment configuration operation is completed, the application hot deployment operation is performed based on the target hot deployment solution.
[0085] In this optional embodiment, in order to further reduce the impact of application deployment on user use, a target hot deployment scheme can be determined based on the program type of the application installation file and the operating system type of the target installation environment. Then, in the target installation environment where the environment configuration operation is completed, the application hot deployment operation is performed based on the target hot deployment scheme.
[0086] In a specific example, candidate hot deployment solutions include dual-process architecture and file descriptor passing, memory-mapped files and shared memory, hot replacement and dynamic link libraries, port multiplexing and process takeover, and multi-port monitoring and dynamic switching.
[0087] If the program type of the application installation file is a JAVA Web application, the candidate solutions are determined to be hot replacement and dynamic link library or port multiplexing and process takeover. Furthermore, when the operating system type of the target installation environment is a Linux operating system, the target hot deployment solution is determined to be hot replacement and dynamic link library.
[0088] If the program type of the application installation file is Python microservice, the candidate solutions are determined to be hot replacement and dynamic link library or port reuse and process takeover. Furthermore, when the operating system type of the target installation environment is Linux operating system, the target hot deployment solution is determined to be hot replacement and dynamic link library; when the operating system type of the target installation environment is Window or other operating systems, the target hot deployment solution is determined to be port reuse and process takeover.
[0089] If the program type of the application installation file is a C / C++ language program, the candidate solutions are determined to be dual-process architecture and file descriptor transfer, memory-mapped files and shared memory, hot replacement and dynamic link library. Furthermore, when the operating system type of the target installation environment is a Linux operating system, the target hot deployment solution is determined to be dual-process architecture and file descriptor transfer.
[0090] If the program type of the application installation file is Node.js application, the candidate solutions are determined to be hot replacement and dynamic link library, port reuse and process takeover. Furthermore, when the operating system type of the target installation environment is Linux operating system, the target hot deployment solution is determined to be hot replacement and dynamic link library.
[0091] The target hot deployment solution determined based on the program type of the application installation file and the operating system type of the target installation environment can further improve the application deployment efficiency. The hot deployment solution can complete application deployment without server downtime, achieving user-unaware deployment.
[0092] The technical solution of the embodiment of the present invention performs application deployment based on the RPA process in the application deployment task, and simulates manual operations to implement a variety of operations that are difficult to perform through automated means. It is not constrained by the technology stack and the operating system, and determines the target hot deployment solution based on the program type of the application installation file and the operating system type of the target installation environment, thereby ensuring that users can use the service uninterruptedly and improving service stability and availability.
[0093] Embodiment 3
[0094] Figure 3 This is a schematic diagram of the structure of an application deployment device provided in Embodiment 3 of the present invention. Figure 3 As shown, the device comprises:
[0095] The task generation module 310 is used to generate an application deployment task based on the application installation file in response to the user uploading the application installation file;
[0096] An execution timing determination module 320 is used to obtain application deployment resources of a target installation environment according to a set execution timing determination cycle, and determine a task execution timing according to the application deployment resources;
[0097] A task publishing module 330 is used to publish the application deployment task to a task queue when the task is executed;
[0098] The application deployment module 340 is used to pull the application deployment task from the task queue and perform the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
[0099] The technical solution of the embodiment of the present invention, in response to the user uploading the application installation file, generates an application deployment task based on the application installation file, and then obtains the application deployment resources of the target installation environment according to the set execution timing determination cycle, and determines the task execution timing according to the application deployment resources, publishes the application deployment task to the task queue at the task execution timing, pulls the application deployment task from the task queue, and executes the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task. When the application deployment resources of the target installation environment meet the deployment conditions, the application deployment operation can be executed according to the RPA process, so that when the application deployment resources meet the conditions, the RPA technology can be used to deploy the application, thereby improving the deployment efficiency and reducing the impact of application deployment on user use.
[0100] Optionally, the application deployment resources of the target installation environment include system resources of the target installation environment and program performance resources in the target installation environment that are associated with the program type to which the application installation file belongs;
[0101] The execution timing determination module 320 includes:
[0102] A first resource acquisition unit, configured to acquire system resources of a target installation environment and program performance resources in the target installation environment associated with a program type to which the application installation file belongs according to a set execution timing determination period;
[0103] a resource score determination unit, configured to calculate a resource score at a current moment according to system resources of a target installation environment and program performance resources associated with a program type to which the application installation file belongs in the target installation environment;
[0104] The execution timing determination unit is used to determine the current moment as the task execution timing when the resource score is greater than the initial score threshold.
[0105] Optionally, the execution timing determination module 320 further includes:
[0106] A threshold updating module, configured to replace the initial score threshold with an updated score threshold obtained by lowering the initial score threshold if no task execution opportunity is detected within a set waiting time after the application deployment task is generated;
[0107] The second resource acquisition unit is used to return to the execution according to the set execution timing determination cycle, and acquire the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment.
[0108] Optionally, the application deployment module 340 includes:
[0109] An environment configuration unit, configured to obtain configuration information in the application deployment task based on the RPA process in the application deployment task, and perform an environment configuration operation in the target installation environment according to the configuration information;
[0110] The application deployment unit is used to perform application deployment operations in a target installation environment where the environment configuration operations are completed.
[0111] Optional, application deployment unit, specifically used for:
[0112] Determine the target hot deployment solution based on the program type of the application installation file and the operating system type of the target installation environment;
[0113] In the target installation environment where the environment configuration operation is completed, the application program hot deployment operation is performed based on the target hot deployment solution.
[0114] Optional, threshold update module, specifically used for:
[0115] Calculate the update score threshold according to the historical resource score within the current waiting time, the current waiting time, the initial score threshold and the minimum score threshold;
[0116] The updated score threshold is adopted to replace the initial score threshold.
[0117] The application deployment device provided in the embodiment of the present invention can execute the application deployment method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0118] In the technical solution of the present invention, the collected information is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data comply with the relevant laws, regulations and standards of relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0119] Embodiment 4
[0120] According to an embodiment of the present invention, the present invention also provides an electronic device, a readable storage medium and a computer program product.
[0121] Figure 4 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, applicators, blade applicators, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0122] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0123] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0124] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the application deployment method.
[0125] In some embodiments, the application deployment method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the application deployment method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the application deployment method in any other appropriate manner (e.g., by means of firmware).
[0126] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0127] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or application.
[0128] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0129] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0130] The systems and techniques described herein may be implemented in a computing system that includes a backend component (e.g., as a data applier), or a computing system that includes a middleware component (e.g., an application applier), or a computing system that includes a frontend component (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0131] A computing system may include a client and an application server. The client and the application server are generally remote from each other and usually interact through a communication network. The relationship between the client and the application server is generated by computer programs running on corresponding computers and having a client-application server relationship with each other. The application server may be a cloud application server, also known as a cloud computing application server or a cloud host, which is a host product in a cloud computing application system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS applications.
[0132] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0133] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. An application deployment method, characterized in that: include: In response to a user uploading an application installation file, generating an application deployment task based on the application installation file; Acquire application deployment resources of the target installation environment according to the set execution timing determination cycle, and determine the task execution timing according to the application deployment resources; When the task is executed, the application deployment task is published to a task queue; Pull the application deployment task from the task queue, and execute the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
2. The method according to claim 1, characterized in that The application deployment resources of the target installation environment include system resources of the target installation environment and program performance resources in the target installation environment that are associated with the program type to which the application installation file belongs; Acquiring application deployment resources of the target installation environment according to the set execution timing determination cycle, and determining the task execution timing according to the application deployment resources, including: Acquiring system resources of a target installation environment and program performance resources in the target installation environment that are associated with a program type to which the application installation file belongs according to a set execution timing determination cycle; Calculating a resource score at a current moment according to system resources of a target installation environment and program performance resources in the target installation environment that are associated with the program type to which the application installation file belongs; When the resource score is greater than the initial score threshold, the current moment is determined as the task execution timing.
3. The method according to claim 2, characterized in that Also includes: If the task execution opportunity is not detected within the set waiting time after the application deployment task is generated, the initial score threshold is replaced by an updated score threshold obtained by lowering the initial score threshold; Returning to execute the operation based on the set execution timing determination cycle, obtaining the system resources of the target installation environment and the program performance resources associated with the program type to which the application installation file belongs in the target installation environment.
4. The method according to claim 1, characterized in that: According to the Robotic Process Automation (RPA) process in the application deployment task, the application deployment operation is performed, including: Based on the RPA process in the application deployment task, obtain the configuration information in the application deployment task, and perform the environment configuration operation in the target installation environment according to the configuration information; In the target installation environment where the environment configuration operation is completed, perform application deployment operations.
5. The method according to claim 4, characterized in that In the target installation environment where the environment configuration operation is completed, perform application deployment operations, including: Determine the target hot deployment solution based on the program type of the application installation file and the operating system type of the target installation environment; In the target installation environment where the environment configuration operation is completed, the application program hot deployment operation is performed based on the target hot deployment solution.
6. The method according to claim 3, characterized in that Replacing the initial score threshold with an updated score threshold obtained by reducing the initial score threshold comprises: Calculate the update score threshold according to the historical resource score within the current waiting time, the current waiting time, the initial score threshold and the minimum score threshold; The updated score threshold is adopted to replace the initial score threshold.
7. An application deployment device, characterized in that: include: A task generation module, configured to generate an application deployment task based on the application installation file in response to a user uploading the application installation file; An execution timing determination module is used to obtain application deployment resources of a target installation environment according to a set execution timing determination cycle, and determine a task execution timing according to the application deployment resources; A task publishing module, used for publishing the application deployment task to the task queue when the task is executed; The application deployment module is used to pull the application deployment task from the task queue and perform the application deployment operation according to the Robotic Process Automation (RPA) process in the application deployment task.
8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the application deployment method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the application deployment method according to any one of claims 1 to 6 when executed.
10. A computer program product, characterized in that The computer program product comprises a computer program, which, when executed by a processor, implements the application deployment method according to any one of claims 1 to 6.