The present invention relates to an information processing device, an information processing method, and a program for work automation.
Recently, efforts for automation have been active in order to improve work efficiency. For example, in the communication industry, many efforts have been made to introduce and operate commercially available workflow engines for the purpose of automating troubleshooting work in communication networks.
[NPL 1] “StackStorm Overview” [online], retrieved from the Internet: <URL: https://docs.stackstorm.com/overview.html>
In order to automate work using a commercially available product such as a workflow engine, the target workflow must be expressed as a configuration file or a scenario for the product. It may be easy to express a workflow in the way if the workflow has a small number of branches and its processing is executed in series, but it is difficult to express the entire workflow in a configuration file or a scenario if the workflow has many branches and requires execution of multiple kinds of parallel processing and comprehensive determination on the basis of multiple processing results. Scratch development using programming languages can be used to express the latter complex workflow, but it requires programming skills and tends to have a high degree of dependency on the program developer, which may give rise to a problem in terms of maintenance and management.
In troubleshooting work in a communication network, various actions (such as remote resetting of the device with the failure and on-site repair work) related to the troubleshooting must be accountable in terms of what to base for determinations on the content and timing of the actions. Therefore, the maintenance and operation department does not immediately take action when a failure occurs, but collects and analyzes information in many aspects, such as the state of the device, the state of ongoing construction, and the state of service at related departments before making a determination on the content and timing of action. Since multiple pieces of information are collected and a comprehensive determination is made accordingly, the troubleshooting workflow tends to be a complex flow with many steps and conditional branches.
A workflow cannot be easily produced for work expressed as a complex processing flow.
With the foregoing in view, it is an object of the present invention to allow a workflow for automation to be easily produced.
An information processing device according to one aspect of the present invention is a device for executing a workflow and includes a scenario holding unit which holds a scenario including a combination of steps in the workflow expressed using multiple kinds of general tasks, a definition information holding unit which holes definition information which defines processing in each of the steps, a task executing unit which executes the step according to the definition information corresponding to the step, and a scenario executing unit which selects the scenario corresponding to a generated event and causes the task executing unit to execute the steps according to the scenario.
An information processing method according to one aspect of the present invention is a method for executing a workflow and causes a computer to carry out the steps of holding a scenario including a combination of steps in the workflow expressed using multiple of kinds of general tasks, holding definition information which defines processing in each of the steps, and selecting the scenario corresponding to a generated event and executing each of the steps of the scenario according to the definition information.
According to the present invention, a workflow for automation can be easily produced.
According to the embodiment, steps in a workflow are expressed by general-purpose tasks (hereinafter simply as general tasks) and general tasks are combined to compose a scenario. The general tasks are loosely coupled and can be freely combined.
In the construction information obtaining step shown in
In the troubleshooting information obtaining step shown in
In the device information obtaining step in
In the compound condition determination A shown in
At the branch destinations A1 and A4, the maintenance person is notified. At the branch destination A2, handover information is obtained and a ticket for the handover work is issued. At the branch destination A3, remote resetting is performed. In other words, if there is a failure alarm caused by a construction, or if a failure is in the process of troubleshooting, the maintenance person is notified of the state, and if the device cannot be reset remotely, the work is handed over, while if the device can be reset remotely, remote resetting is performed.
According to the embodiment, as shown in
The processing (data operation such as extraction, formatting, and processing) in each step is defined by an external definition file of abstracted setting items in a form for each of general tasks as shown in
The information processing device refers to an external definition file which defines each step using the function for processing general tasks and executes the processing according to the external definition file. In other words, the information processing device converts the values of abstracted setting items on the external definition file into a data format accessible to various databases and various kinds of definition information and executes obtaining, updating, and deletion of various kinds of information. In this way, readability can be maintained by hiding complex settings, such as the data structure of the databases in the external system and the information processing device, data distribution consistency can be maintained between steps, and the user of the general tasks do not need advanced skills.
As described above, according to the embodiment, a workflow is expressed by combining steps using general tasks, and detailed settings for processing in each of the steps are defined in an external definition file, so that the sequential workflow and the processing in each of the steps are managed separately, which makes it easier to create workflows (scenarios).
The number of general tasks is not limited to four or the number is not limited to those shown in
Now, referring to
The receiving unit 11 receives a failure alarm (event) and passes the received failure alarm to the scenario activating unit 12. If multiple failure alarms are received, the receiving unit 11 may select a failure alarm which is a root cause and pass the alarm to the scenario activating unit 12.
In response to the failure alarm, the scenario activating unit 12 selects a corresponding scenario and calls the scenario executing unit 13.
The scenario executing unit 13 obtains the corresponding scenario from the scenario definition information 17 and causes the general task executing unit 14 to execute each of the steps in the scenario. The scenario executing unit 13 may include a commercially available workflow engine.
The general task executing unit 14 reads the external definition file of a step to be executed in response to an instruction from the scenario executing unit 13 and executes the step according to the external definition file. The general task executing unit 14 in
The task control function 141 reads the external definition file of the step to be executed from the general task definition information 18 and operates or stops the external system linkage function 142, the internal system linkage function 143, the information editing function 144, and the condition determining function 145 according to the external definition file.
The external system linkage function 142, the internal system linkage function 143, the information editing function 144, and the condition determining function 145 respectively execute the processing of general tasks for the external system linkage, the internal system linkage, the information editing, and the condition determination according to the external definition file.
The managing unit 15 includes various databases and various kinds of definition information and manages information necessary for scenario execution and task execution. For example, the managing unit 15 manages the scenario execution state, scenario thread management information, event monitoring information, and event definition information referred to by the scenario executing unit 13 and manages task resources, task processing information, and server/account information referred to by the general task executing unit 14. As a specific example, in the construction information obtaining step, the troubleshooting information obtaining step, and the device information obtaining step in
In the external definition file, the various databases and various definition information that make up the managing unit 15 are abstracted as setting items, their values are defined, and data operation contents such as setting/changing/deleting are specified. The values of the abstracted setting items are converted by the task executing unit 14 into a data format accessible to the various databases and various definition information.
The linkage unit 16 calls the interface with the external system or the internal system in response to an instruction from the general task executing unit 14.
The scenario definition information 17 holds a scenario including a combination of steps expressed using multiple types of general tasks.
The general task definition information 18 holds an external definition file which defines processing in each of the steps expressed using general tasks.
Now, the operation of the information processing device 1 according to the embodiment will be described with reference to the flowchart in
In step S11, the information processing device 1 receives an event.
In step S12, the information processing device 1 selects a scenario corresponding to the received event.
In step S13, the information processing device 1 starts to execute the scenario.
In step S14, the information processing device 1 executes steps which compose the scenario according to the external definition file.
As described above, the information processing device 1 according to the embodiment has the scenario definition information 17 that holds a scenario including a combination of steps in a workflow expressed using multiple types of general tasks, the general task definition information 18 which holds an external definition file which defines processing in each of the steps, and the general task executing unit 14 which executes a step according to an external definition file corresponding to the step, and the scenario executing unit 13 which selects a scenario according to a received failure alarm and causes the general task executing unit 14 to execute each of the steps according to the scenario. As a result, the information processing device 1 according to the embodiment can express each of the steps in the workflow using general tasks and can easily create a workflow by combining the steps. The information processing device 1 according to the embodiment can also easily create a workflow by managing a series of operation flows and processing in the steps separately.
For example, the information processing device 1 described above may be a general-purpose computer system including a central processing unit (CPU) 901, a memory 902, a storage 903, a communication device 904, an input device 905, and an output device 906 for example as shown in
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/015629 | 4/7/2020 | WO |