Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
The cloud management system is a processing system for all products and services (cloud resources such as cloud hosts, cloud storage, cloud networks and cloud security) which are controlled and arranged in cloud and run in the cloud, and provides user access control, data, applications, services and the like. This involves giving administrators the ability to access required resources, automate required processes, and make adjustments as needed, while also monitoring usage and costs, and many mainstream cloud management systems can be based on open source technologies such as OpenStack. The OpenStack is an open-source cloud computing management platform project, is a combination of a series of software open-source projects, and is generally an open-source code project authorized by an Apache free software license. The OpenStack can provide scalable and elastic cloud computing services for private clouds and public clouds.
For a cloud management system, the following disadvantages mainly exist: first, most cloud management systems focus on lifecycle management of cloud resources, and lack the ability to execute type scripts of operating systems, middleware, and databases. In addition, some cloud management systems only have the capability of initially installing an operating system, middleware, and database scripts, but lack the script execution capability for daily application distribution and change. Moreover, the cloud management system does not have the support capability of deployment, configuration, change, capacity expansion and offline of the application system. Finally, the interface standard of the cloud management system is incompatible with the interface standard of operation and maintenance automation systems such as Angle and SaltStack, and cannot be called mutually. The infrastructure is an open-source operation and maintenance automation tool, is developed based on Python, and is used for realizing functions such as batch system configuration, batch program deployment and batch operation commands. The SaltStack is an open source project, can be used as a configuration management system, can maintain remote nodes in a predefined state, such as ensuring the installation of specified backups, the running of specified services, and the like, and particularly can belong to a distributed remote execution system, and is used for executing commands and querying data on the remote nodes selected by a single or any rules.
The operation and maintenance automation system (such as anchor, SaltStack, etc.) is an application system which provides automation operation and maintenance characteristics such as script command batch execution, preset script library and file, automatic distribution/collection, task arrangement, etc. for an operating system, middleware, database and application program, etc., and can realize script issuing and execution such as Shell, KornShell, Python, Powershell, etc. Among them, the Shell is the user interface of the system, provides an interface for the user to interact with the kernel, the Shell can receive the command input by the user and send it into the kernel to execute, and is an interpreter program between the Linux kernel and the user, now Linux is usually referred to as/bin/bash interpreter to be responsible for translating and communicating the user/program instruction to the kernel, and the Shell is equivalent to the "Shell" of the operating system. Korn shell is a shell program on unix, mainly used on various unix systems, such as sun/oracle unix, AIX, etc. Wherein ksh combines the interactive features of the C shell and also incorporates the syntax of the bourne shell. Python can be used as a computer programming language, provides an efficient high-level data structure and can be used for simple and effective object-oriented programming. Among them, Python syntax and dynamic type, and the nature of interpreted languages make it a programming language for scripting and quickly developing applications on most platforms. Powershell (i.e., Windows Power Shell) is a command line Shell program and scripting environment that allows command line users and scripting authors to take advantage of the powerful features of NET Framework.
For the operation and maintenance automation system, the following disadvantages mainly exist: first, most operation and maintenance automation systems focus on the ability to execute type scripts of operating systems, middleware, databases, and applications, and lack the ability to manage the lifecycle of cloud resources. Secondly, part of the operation and maintenance automation system only has simple cloud resource creating and deleting capabilities, but lacks the management capability of a complex and professional cloud service scene. Furthermore, the interface standards of the operation and maintenance automation system such as anchor and SaltStack are incompatible with the interface standards of the cloud management system such as OpenStack, and cannot be invoked mutually.
Therefore, the two types of task execution systems actually belong to completely different architecture systems, cannot automatically and uniformly perform cooperative work, can only perform splitting operation on tasks in the process of completing the same task and meeting the corresponding business service, and are easy to cause splitting and low efficiency of operation and maintenance work. Specifically, in a task execution process in a cloud resource management and script automation process in the prior art, a task is generally split, and is manually selected and executed by technicians in a cloud resource management system and an operation and maintenance automation system, and finally, respective task execution results of the two systems are imported and processed, so that a service requirement corresponding to the task is finally met. In order to solve the technical problem, other automatic task execution schemes provided in the prior art cannot effectively achieve good task execution accuracy at present, and the task execution processing speed is too slow, so that the manpower operation and maintenance cost is increased. Therefore, how to refine the task processing process of the heterogeneous system running at a high speed will be a technical direction to be focused on by the task execution method applied to the heterogeneous system in the embodiment of the present disclosure.
In view of at least one of the above technical problems in the process of implementing cloud resource management and script automation by heterogeneous systems such as a cloud management system and an operation and maintenance automation system, the present disclosure provides a task execution method, apparatus, device, medium, and program product applied to the heterogeneous systems, which improve operation and maintenance work efficiency.
It should be noted that the task execution method and apparatus applied to the heterogeneous system of the present disclosure can be used in the field of big data technology and artificial intelligence technology, and can also be used in the financial field and any field other than the financial field.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and applying the data including the personal information of the user are all in accordance with the regulations of related laws and regulations, necessary confidentiality measures are taken, and the public order and good custom are not violated. Wherein, before the personal information of the user is obtained or collected, the authorization or the consent of the user is obtained.
The embodiment of the disclosure provides a task execution method applied to a heterogeneous system, which includes: determining a task execution script corresponding to a business operation task; arranging a task execution script according to the script task identifier to generate a task workflow; calling at least one task execution plug-in according to task execution logic corresponding to the task workflow; and executing at least one work subtask in the task workflow in a task execution system corresponding to one of the at least one task execution plug-in.
Fig. 1 schematically illustrates an application scenario diagram of a task execution method, apparatus, device, medium, and program product applied to a heterogeneous system according to an embodiment of the present disclosure.
As shown in fig. 1, the application scenario 100 according to this embodiment may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have installed thereon various communication client applications, such as shopping-like applications, web browser applications, search-like applications, instant messaging tools, mailbox clients, social platform software, etc. (by way of example only).
The terminal devices 101, 102, 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (for example only) providing support for websites browsed by users using the terminal devices 101, 102, 103. The background management server may analyze and perform other processing on the received data such as the user request, and feed back a processing result (e.g., a webpage, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that the task execution method applied to the heterogeneous system provided by the embodiment of the present disclosure may be generally executed by the server 105. Accordingly, the task execution device applied to the heterogeneous system provided by the embodiment of the present disclosure may be generally disposed in the server 105. The task execution method applied to the heterogeneous system provided by the embodiment of the present disclosure may also be executed by a server or a server cluster that is different from the server 105 and is capable of communicating with the terminal devices 101, 102, 103 and/or the server 105. Accordingly, the task execution device applied to the heterogeneous system provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster that is different from the server 105 and can communicate with the terminal devices 101, 102, 103 and/or the server 105.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
A task execution method applied to a heterogeneous system according to the disclosed embodiment will be described in detail below with reference to fig. 2 to 6 based on the scenario described in fig. 1.
Fig. 2 schematically shows a flowchart of a task execution method applied to a heterogeneous system according to an embodiment of the present disclosure.
As shown in fig. 2, the task execution method applied to the heterogeneous system of the embodiment includes operations S201 to S204.
In operation S201, determining a task execution script corresponding to a service job task;
in operation S202, arranging a task execution script according to the script task identifier, and generating a task workflow;
in operation S203, at least one task execution plug-in is called according to task execution logic corresponding to the task workflow;
in operation S204, at least one work subtask in the task workflow is executed in a task execution system corresponding to one of the at least one task execution plug-in.
The service operation task is an operation task of the operation and maintenance automation application corresponding to the service request of the user, and can be suitable for a management scene of multi-system operation and maintenance automation. Wherein, the user can be operation and maintenance personnel, technical personnel or even ordinary consumers. The service request may be request information related to implementing a corresponding service, which is formed according to an input operation of a user on the terminal device.
The task execution script is an execution parameter script related to the execution and implementation of the business job task, and is an execution parameter file used for implementing the business service request corresponding to the business job task when being executed and implemented. Corresponding task execution scripts can be determined through the business operation tasks, so that the conversion of the business operation tasks is completed, and the subsequent execution is facilitated to be smoother.
The script task identifier is an identity identifier corresponding to the task execution script and is used for identifying the corresponding task execution script, so that the task execution script is uniquely executed, and the data execution accuracy is ensured. Further, the task execution script is arranged to perform automatic configuration, management and coordination operations on the work subtasks which can be determined by the task execution script according to the execution logic of the description language defined by the task execution script, so that the task execution script can be beneficial to managing complex tasks. The object to be arranged is at least one work subtask corresponding to the task execution script. At least one work subtask is a work execution sub-process or sub-step corresponding to part or all of the business operation tasks. The task workflow is a task flow set formed by at least one corresponding work subtask in sequence according to the arranging operation of the task execution script.
Wherein each task workflow may correspond to one business job task of a user and may include at least one work subtask. The flow execution logic formed by these work subtasks in the task workflow may be used as the task execution logic described above. By arranging the task execution scripts according to the script task identifiers, the task subtasks can be logically arranged and processed, and a task workflow is formed.
Further, different execution flows of the task execution logic of each task workflow may respectively correspond to different task execution plug-ins. The task execution plug-in may be a task invocation adaptation driver corresponding to a docking in the task execution system. Therefore, at least one task execution plug-in can be called through the task execution logic corresponding to the task workflow.
In addition, each task execution plug-in of the at least one task execution plug-in may correspond to a different task execution system area setting. The number of the task execution systems can be two or more, wherein at least two task execution systems are heterogeneous systems, namely, the task execution systems are not compatible with each other. The task execution plug-in can implement parallel or sequential execution of one or more work subtasks in the corresponding task workflow in the corresponding task execution system.
Therefore, by the task execution method applied to the heterogeneous system according to the embodiment of the disclosure, the corresponding task subtasks in the task workflow formed by scheduling can be called by the corresponding task execution plug-in, and the task subtasks can be executed or implemented in the corresponding task execution system. Therefore, for the heterogeneous systems, the execution of the work subtasks can be accurately realized, and the full-automatic execution of at least two heterogeneous systems aiming at the same business job task is ensured. In other words, the compatibility of the heterogeneous system on the execution of the same business operation task is greatly improved, the task execution system does not need to be subjected to any substantial change operation, the execution efficiency of the business operation task is greatly improved, the execution accuracy is ensured, the unified operation and maintenance automation operation such as cloud resources, an operation system, middleware, a database and an application program and the comprehensive operation and maintenance management of a mixed operation and maintenance scene can be well realized, the automation degree and the intelligence degree are high, and the method has a good practical commercial application value.
The task execution system may include the cloud management system and/or the operation and maintenance automation system, the cloud management system and the operation and maintenance automation system are heterogeneous systems, compatibility of the cloud management system and the operation and maintenance automation system is poor, the task is generally required to be executed in a split manner in operation and maintenance work, and execution efficiency is low. The task execution plug-in corresponding to the cloud management system may be a cloud management plug-in, which is used as an adaptive driver interfacing with the cloud management system (e.g., OpenStack), and may execute cloud resource management according to a description language script issued by orchestration execution. The task execution plug-in corresponding to the operation and maintenance automation system can be an automatic execution plug-in used as an adaptive driver for butting with the operation and maintenance automation systems such as an firmware, a Saltstack and the like, and can also execute an automatic execution script command according to a description language script issued by arranging and executing.
It should be noted that the task execution method applied to the heterogeneous system can be implemented by a management console which is responsible for performing configuration operation and audit monitoring on all processes. The management console may provide cloud adaptation capability to interface various cloud platforms (such as public cloud and private cloud) and operation and maintenance automation scripts (such as Shell, KornShell, Python, Powershell, and the like) or tool channels (such as anchor, SaltStack, and the like) for execution, provide cloud infrastructure channel execution services, upwards support cloud service related functions of operation and maintenance applications, and upwards support operation and maintenance automation related functions of an operation and maintenance application layer.
FIG. 3 schematically illustrates another flowchart of a task execution method applied to a heterogeneous system according to an embodiment of the present disclosure; FIG. 4 schematically illustrates an application view of a task execution method applied to a heterogeneous system according to an embodiment of the present disclosure; fig. 5 schematically illustrates another application scenario diagram of the task execution method applied to the heterogeneous system according to the embodiment of the present disclosure.
As shown in fig. 2 to 5, according to the embodiment of the present disclosure, before determining the task execution script corresponding to the business job task in operation S201, operation S301 is further included.
In operation S301, in response to a business job task, a job task set corresponding to the business job task is determined.
Through the analysis of the business service request of the user, the corresponding business job task can be correspondingly obtained. As shown in fig. 4 and fig. 5, the service job task is a job task of an upstream operation and maintenance automation application or a cloud resource management operation and maintenance application acquired by the service gateway 410, and may be mainly applied to a management scenario of cloud resource management and operation and maintenance automation management. The service job task may be at least one of execution tasks such as discovering all cloud host job tasks, performing admission job tasks on all discovered cloud hosts, and collecting configuration data job tasks on the cloud hosts. The service gateway 410 may log the execution tasks and store the content of the log in a database, and generate a set of the job tasks, i.e., a job task set. The job task set is a set of a plurality of business job tasks, wherein the business job tasks can correspond to one task execution process, and the job task set can correspond to a plurality of task execution processes. Therefore, the corresponding business operation task can be determined, and the accuracy of executing the subsequent task is improved.
As shown in fig. 2 to 5, according to the embodiment of the present disclosure, the determination of the task execution script corresponding to the business job task in operation S201 includes operations S302 to S303.
In operation S302, at least one system subtask in the service task set is parsed according to the task execution system;
in operation S303, at least one system subtask is converted, and at least one task execution script corresponding to the at least one system subtask is determined.
Each business job task in the job task set can actually be executed corresponding to a different task execution system. For example, it is found that all cloud host job tasks may be cloud resource subtasks, corresponding to execution by the cloud management system; the task of carrying out the nano-management operation on all the discovered cloud hosts can be an automatic execution subtask, and is correspondingly executed through an operation and maintenance automation system; the task of collecting the configuration data on the cloud host can be a subtask of a common operating system or a database or a middleware, and is executed correspondingly through other heterogeneous systems.
Therefore, according to the task execution system to which the business job tasks are applicable, the business job tasks in the business task set can be analyzed and classified, so as to determine the system subtasks corresponding to the task execution system, for example, the system subtasks corresponding to the cloud management system execution can be the task of discovering all cloud hosts.
As shown in fig. 4 to fig. 5, the interface parsing 420 is responsible for acquiring system subtasks of an upstream application, such as an operation and maintenance automation application, from the service gateway 410, parsing and translating the system subtasks, and translating the system subtasks into corresponding APIs and semantics of an execution flow of a task execution system, such as a cloud management system or an operation and maintenance automation system, and the semantics of the execution flow may be used as a description language script, i.e., a task execution script, of the corresponding system subtasks. One system subtask corresponding to the corresponding task execution system may correspondingly include one or more business job tasks, and the business job tasks may be executed and implemented by the corresponding task execution systems. The task execution script is a standard format script corresponding to the system subtasks.
Therefore, the scripting of the system subtasks corresponding to the task execution system can be realized, and the system subtasks can be arranged and processed through the task execution script in the later period.
As shown in fig. 2-5, before the operation S202 orchestrates the task execution script according to the script task identifier and generates the task workflow, according to an embodiment of the present disclosure, an operation S304 is further included.
In operation S304, a script task identifier of each task execution script of the at least one task execution script is defined.
The script task identifier is a unique identity identifier of each task execution script and is used for accurately identifying the task execution script and corresponding execution logic information thereof and the like. By performing script task identification on the task execution script, logic definition can be performed on the system subtasks corresponding to the task execution script, and the subsequent arrangement logic rules of the system subtasks are determined.
The script task identifier may be equivalent to a number or a code of the task execution script, and the task execution script may be determined by the number or the code, and task information or execution information such as a system subtask defined by the task execution script may be called.
Therefore, the script task identifier can uniquely determine the task execution script through the definition of the task execution script, thereby avoiding the execution chaos of the task execution script, enhancing the execution accuracy of the task execution script and being beneficial to logic arrangement of the system subtasks in the later period.
As shown in fig. 2-5, according to the embodiment of the disclosure, in the operation S202, the task execution script is arranged according to the script task identifier, and the task workflow is generated, including operations S305 to S306.
In operation S305, an orchestration execution logic of the script task identifier is determined;
in operation S306, the task execution script is scheduled to generate a corresponding task workflow according to the scheduling execution logic.
As shown in FIGS. 4 and 5, orchestration execution 430 is responsible for orchestrating the description language scripts of interface parsing 420 according to the execution logic of the description language. Wherein the script can understand the task execution script with the above-mentioned editing execution logic. And analyzing the task execution script by taking the script task identifier of the task execution script as an analysis inlet so as to determine the corresponding arrangement execution logic. Wherein the orchestration execution logic is a logic rule for performing logical orchestration of system sub-tasks by orchestration execution 430.
The script task identifiers can be read one by the arrangement execution logic, and the logic arrangement of the system subtasks can be realized by means of the logic rules of the logic arrangement according to the logic sequence defined by the script task identifiers, so that the system subtasks can be orderly arranged according to the set logic rules, and when the arranged system subtasks are sequentially executed, the business task compatibility and the intelligent processing of the heterogeneous system can be correspondingly realized. The task workflow is a flow set of work subtasks which meet the arrangement steps and the logical relationship of the arrangement execution logic.
Therefore, when the scheduling execution 430 receives the task execution script formed by the interface analysis 420, the task execution script is scheduled through the scheduling execution logic, so that the scheduling of the work subtasks defined by the task execution script, such as the cloud management subtasks for discovering all cloud hosts, the automated execution subtasks managed by the hosts, and the automated execution subtasks for collecting configuration data on the hosts, is realized, and the task workflow of the work subtasks is formed.
The execution flows of the work subtasks can be better arranged and defined through the task workflow, so that the work subtasks can be executed and implemented one by one according to the flow requirements of the business operation tasks in the subsequent execution process.
As shown in fig. 2 to 5, according to the embodiment of the present disclosure, in the invoking of at least one task execution plug-in according to the task execution logic corresponding to the task workflow in operation S203, operations S307 to S308 are included.
In operation S307, parsing the received task workflow to generate at least one work subtask; and
in operation S308, at least one task execution plug-in is called according to task execution logic of at least one work subtask.
As shown in FIGS. 4 and 5, orchestration execution 430 may also parse the received task workflow, fully parse the work subtasks in the task workflow, and generate individual work subtasks in workflow task file 470, such as first work subtask 471 and second work subtask 472. As shown in FIG. 4, in the workflow task file 470, the first work subtask 471 should be located in the priority execution order of the task execution logic, and the second work subtask 472 is located in the secondary execution order, in other words, for the task workflow of the embodiment of the disclosure, the first work subtask 471 and the second work subtask 472 need to be executed in sequence. Of course, as shown in fig. 5, in the workflow task file 470, the first work subtask 471 and the second work subtask 472 may be located in the same priority execution order, that is, the first work subtask 471 and the second work subtask 472 may be executed in parallel.
As shown in fig. 4 and 5, the task execution systems implemented by their respective executions differ for different work subtasks. As first work subtask 471 can be performed in response to first task execution system 461, and second work subtask 472 can be performed in response to second task execution system 462. Therefore, when the execution implementation process is performed on the work subtasks, task execution plug-ins corresponding to the task execution systems need to be called. The first task execution plug-in 441 may correspond to the first task execution system 461, and the second task execution plug-in 442 may correspond to the second task execution system 462. The corresponding correspondence may be distinguished by task execution logic of the corresponding work subtasks.
Therefore, the corresponding task execution plug-in can be called according to the task execution logic of the corresponding work subtask, the task execution plug-in calls the work subtask, and the task execution plug-in is executed and implemented through the corresponding task execution system, so that the task execution process is completed. Therefore, the same business operation task can be split in a targeted manner, and the corresponding task execution systems can execute the tasks respectively, so that the task execution speed is increased and the task execution efficiency is ensured under the condition of ensuring the task execution accuracy.
As shown in fig. 2-5, in the operation S204 of executing at least one work subtask in the task workflow in the task execution system corresponding to one task execution plugin in the at least one task execution plugin, according to an embodiment of the present disclosure, the method includes:
executing a first work subtask in the task workflow in a first task execution system corresponding to the first task execution plugin through the first task execution interface;
and responding to the execution completion of the first work subtask, and executing a second work subtask in the task workflow in a second task execution system corresponding to the second task execution plug-in through a second task execution interface.
Each task execution plug-in is in butt joint with the corresponding task execution system through a task execution interface. The task execution interface is an execution interface which has a uniform interface language and realizes the abstract analysis of the heterogeneous interface of the heterogeneous system, and can be used as a connection channel for task transmission to transmit the work subtasks called by the task execution plug-in to the corresponding heterogeneous system for execution and implementation.
As shown in fig. 4 and 5, the first task execution interface 451 may serve as a unified interface between the first task execution plugin 441 and the first task execution system 461, so as to send the first work subtask 471 called by the first task execution plugin 441 to the first task execution system 461 for execution. Accordingly, the second task execution interface 452 serves as a unified interface between the second task execution plug-in 442 and the second task execution system 462, and can enable the second work subtask 472 called by the second task execution plug-in 442 to be sent to the second task execution system 462 for execution.
As shown in fig. 4, in the embodiment of the present disclosure, sequential processing of work subtasks may be implemented.
Specifically, in operation S401, a first work subtask 471 is called in the workflow task file 470 by the first task execution plug-in 441; thereafter, in operation S402, a first work subtask 471 invoked by the first task execution plug-in 441 is received through the first task execution interface 451; finally, in operation S403, the first work subtask 471 sent by the first task execution interface 451 is called and executed by the first task execution system 461, and the execution of the first work subtask 471 in the first task execution system 461 is completed.
Thereafter, in response to completion of execution of the first work subtask 471 in the first task execution system 461, in operation S404, the second work subtask 472 is called in the workflow task file 470 by the second task execution plug-in 442; thereafter, in operation S405, the second work subtask 472 called by the second task execution plug-in 442 is received through the second task execution interface 452; finally, in operation S406, the second task execution system 462 retrieves and executes the second work subtask 472 sent by the second task execution interface 452, and the second work subtask 472 is executed in the second task execution system 462.
Further, other work subtasks in the workflow task file 470 may be called and executed in sequence as the first work subtask 471 and the second work subtask 472, and the above calling and executing steps are repeated in sequence until all the work subtasks are executed.
The task execution system comprises a task execution system, a task execution plug-in module and a task execution system, wherein the task execution logic defined by the task workflow can realize the calling of the corresponding task execution plug-in module, and the calling of the corresponding work subtasks is realized through the task execution plug-in module, and finally the task execution system corresponding to the work subtasks executes the task.
Therefore, even for the same business operation task, at least two heterogeneous systems can be simultaneously utilized to sequentially execute and implement, the task execution compatibility of the heterogeneous systems is greatly improved, the automatic implementation of the business operation task is completely realized, the corresponding task execution refinement can be ensured, and the task execution efficiency of the heterogeneous systems is obviously improved.
As shown in fig. 2 to 5, in the operation S204 of executing at least one work subtask in the task workflow in the task execution system corresponding to one task execution plugin in the at least one task execution plugin, according to an embodiment of the present disclosure, the method further includes:
executing a first work subtask in the task workflow in a first task execution system corresponding to the first task execution plugin through the first task execution interface; and
and executing a second work subtask in the task workflow in a second task execution system corresponding to the second task execution plug-in through the second task execution interface.
As shown in fig. 4 and 5, the first task execution interface 451 may serve as a unified interface between the first task execution plugin 441 and the first task execution system 461, so as to send the first work subtask 471 called by the first task execution plugin 441 to the first task execution system 461 for execution. Accordingly, the second task execution interface 452 serves as a unified interface between the second task execution plug-in 442 and the second task execution system 462, and can enable the second work subtask 472 called by the second task execution plug-in 442 to be sent to the second task execution system 462 for execution.
As shown in fig. 5, in the embodiment of the present disclosure, parallel processing of work subtasks may be implemented.
Specifically, in operation S501, a first work subtask 471 is called in the workflow task file 470 by the first task execution plug-in 441; meanwhile, a second work subtask 472 is called in the workflow task file 470 by the second task execution plug-in 442 in parallel;
thereafter, in operation S502, the first work subtask 471 called by the first task execution plug-in 441 is received through the first task execution interface 451, and at the same time, the second work subtask 472 called by the second task execution plug-in 442 is received through the second task execution interface 452 in parallel;
finally, in operation S503, the first work subtask 471 sent by the first task execution interface 451 is called and executed by the first task execution system 461; meanwhile, the second task subtask 472 sent by the second task execution interface 452 is retrieved and executed by the second task execution system 462 in parallel.
Thus, execution of the first work subtask 471 in the first task execution system 461 and execution of the second work subtask 472 in the second task execution system 462 may be completed in parallel.
Further, the above-mentioned invoking and executing steps may be repeated and executed in parallel for other work subtasks in the workflow task file 470, as described in the above-mentioned parallel invoking and executing processes of the first work subtask 471 and the second work subtask 472, until all the work subtasks are executed completely.
The task execution logic defined by the task workflow can realize the parallel calling of corresponding different task execution plugins, realize the calling of corresponding work subtasks through the different task execution plugins, and finally perform the parallel execution through the task execution system corresponding to the work subtasks.
Therefore, even for the same business operation task, at least two heterogeneous systems can be simultaneously utilized to execute and implement in parallel, the task execution compatibility of the heterogeneous systems is greatly improved, the automatic implementation of the business operation task is completely realized, the corresponding task execution refinement can be ensured, and the task execution efficiency of the heterogeneous systems is obviously improved.
Therefore, the method based on the embodiment of the disclosure can be used for docking and integrating diversified heterogeneous systems such as a cloud management system and an operation and maintenance automation system through mixed arrangement, a unified interface, a task calling plug-in and the like. The business service combination is described by adopting a uniform interface language, wherein the business service combination can comprise operation and maintenance automation operations such as cloud resources, an operating system, middleware, a database and an application program. And executing the uniform interface language script, butting heterogeneous execution systems such as a cloud management system and an operation and maintenance automation system through the task execution plug-in, and issuing the script to execute operation, so that the automation of cloud resources, an operation system, middleware, a database and an application program is realized.
The method greatly improves the compatibility of the heterogeneous system in the execution of the same business operation task, does not need to perform any substantial change operation on the task execution system, further improves the execution efficiency of the business operation task, and simultaneously ensures the execution refinement, thereby well realizing the unified operation and maintenance automation operation of cloud resources, an operating system, middleware, a database, an application program and the like and the comprehensive operation and maintenance management of a mixed operation and maintenance scene, and having higher automation degree and intelligent degree and good practical commercial application value.
Wherein, the first task execution plug-in (e.g. cloud management plug-in) drives and interfaces with the first task execution system (e.g. cloud management system of OpenStack) to execute all the discovered corresponding work subtasks (e.g. subtasks of cloud host applicable to cloud management system execution), and correspondingly, the second task execution plug-in (e.g. automation execution plug-in) drives the second task execution system (e.g. operation and maintenance automation system of ansable or saltstat) to execute other work subtasks (e.g. subtasks of operation and maintenance automation system applicable to these host hosting) corresponding to the cloud host of the corresponding work subtasks, and the subtasks can intrude into the hosting host through the pre-configured key interface, which constitutes a substantial difference from the existing conventional technical scheme that has no key interface and can only do discovery cloud host operation, the prior traditional technical scheme usually adopts a port scanning mode, has very large identification error, is very easy to confuse systems such as a host, a network, a storage and the like, is easily shielded by network security equipment, and cannot realize the installation, agent and admission operation of all hosts.
Moreover, after the hosts are managed, the configuration data (such as an operating system, a database, middleware and the like) of all the cloud hosts are acquired by configuring the acquisition script in the arrangement. Compared with the traditional mode that the attribute fields of the collected configuration data (such as an operating system, a database, middleware and the like) need to be configured in advance in the database in the existing arranging process, the method disclosed by the invention can well define the attributes of the configuration data in the script according to the standard format, automatically create the attribute fields in the database in the executing process, and finish updating the configuration data table and collecting the data in the executing process, so that manual operation in advance is not needed, automatic operation and maintenance are basically realized, and the operation and maintenance workload is greatly simplified.
Further, by means of a method for realizing a cloud management and operation and maintenance automation execution system based on mixed layout, in combination with a mixed layout engine in a management control platform, through abstract analysis of heterogeneous interfaces of the cloud management system and the operation and maintenance automation system by a uniform interface language, through a pre-configured key interface intrusive type nanotube host, and through defining configuration data attributes according to a standard format, attribute fields are automatically created in a database during execution, so that uniform operation and maintenance automation operation of cloud resources, an operation system, middleware, a database and an application program and comprehensive operation and maintenance management of mixed operation and maintenance scenes can be realized, for example, on a cloud management system or an operation and maintenance automation system based on OpenStack, SaltStack, ansile and the like, the superiority of the method disclosed by the invention can be better embodied.
Therefore, the method disclosed by the invention can be convenient for management and maintenance of the operation and maintenance scene of the mixed arrangement of the cloud resources, the operating system, the database, the middleware and the application program, and the functions of abstract analysis, diversified plug-in and mixed arrangement of the heterogeneous interfaces of the cloud management system and the operation and maintenance automation system by the uniform interface language are added. Moreover, the unified interface language can shield the difference between the systems to be docked, and lays a foundation for fast adapting to other cloud management or automation tools. The method can construct a mode based on a mixed arrangement engine, uniform interface language analysis and integration plug-in, realize uniform, mixed and integrated management of the cloud management system and the operation and maintenance automation system, and solve the problem that the cloud resource and the operation and maintenance automation system cannot be subjected to integrated management.
Based on the task execution method applied to the heterogeneous system, the disclosure also provides a task execution device applied to the heterogeneous system. The apparatus will be described in detail below with reference to fig. 6.
Fig. 6 is a block diagram schematically illustrating a structure of a task execution device applied to a heterogeneous system according to an embodiment of the present disclosure.
As shown in fig. 6, the task execution device 600 applied to the heterogeneous system of this embodiment includes a script determination module 610, a script arranging module 620, a plug-in retrieving module 630, and a task execution module 640.
The script determining module 610 is configured to determine a task execution script corresponding to the business job task. In an embodiment, the script determining module 610 may be configured to perform the operation S201 described above, which is not described herein again.
The script arranging module 620 is configured to arrange the task execution script according to the script task identifier, and generate a task workflow. In an embodiment, the script arranging module 620 can be configured to perform the operation S202 described above, which is not described herein again.
The plug-in retrieving module 630 is configured to retrieve at least one task execution plug-in according to the task execution logic corresponding to the task workflow. In an embodiment, the plug-in retrieving module 630 may be configured to perform the operation S203 described above, which is not described herein again.
The task execution module 640 is configured to execute at least one work subtask in the task workflow in the task execution system corresponding to one of the at least one task execution plug-in. In an embodiment, the task performing module 640 may be configured to perform the operation S204 described above, which is not described herein again.
According to an embodiment of the present disclosure, any plurality of the script determining module 610, the script arranging module 620, the plug-in calling module 630, and the task executing module 640 may be combined and implemented in one module, or any one of them may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the script determining module 610, the scripting module 620, the plug-in invoking module 630 and the task performing module 640 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented in any one of three implementations of software, hardware and firmware, or in a suitable combination of any of them. Alternatively, at least one of the script determining module 610, the script arranging module 620, the plug-in calling module 630 and the task executing module 640 may be at least partially implemented as a computer program module that, when executed, may perform a corresponding function.
Fig. 7 schematically illustrates a block diagram of an electronic device adapted to implement a task execution method applied to a heterogeneous system according to an embodiment of the present disclosure.
As shown in fig. 7, an electronic device 700 according to an embodiment of the present disclosure includes a processor 701, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. The processor 701 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), among others. The processor 701 may also include on-board memory for caching purposes. The processor 701 may comprise a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are stored. The processor 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. The processor 701 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM 702 and/or the RAM 703. It is noted that the programs may also be stored in one or more memories other than the ROM 702 and RAM 703. The processor 701 may also perform various operations of method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 700 may also include input/output (I/O) interface 705, which input/output (I/O) interface 705 is also connected to bus 704, according to an embodiment of the present disclosure. The electronic device 700 may also include one or more of the following components connected to the I/O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 708 including a hard disk and the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. A drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read out therefrom is mounted into the storage section 708 as necessary.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 702 and/or the RAM703 and/or one or more memories other than the ROM 702 and the RAM703 described above.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method illustrated in the flow chart. When the computer program product runs in a computer system, the program code is used for causing the computer system to realize the method provided by the embodiment of the disclosure.
The computer program performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure when executed by the processor 701. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted in the form of a signal on a network medium, distributed, downloaded and installed via the communication section 709, and/or installed from the removable medium 711. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 709, and/or installed from the removable medium 711. The computer program, when executed by the processor 701, performs the above-described functions defined in the system of the embodiment of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.