The present invention relates to a log visualization device, a log visualization method, and a log visualization program.
In general, business process analysis for improving business processes of companies has been performed with a business process analyst performing a procedure including, in this order: recognizing the actual condition of a target business process; finding a problem; drafting an improvement plan; applying the plan to the actual business process; and checking the effect (see Non Patent Literatures 1 and 2).
An analog analytical technique (such as an interview with a worker and measuring time using a stopwatch) applied for checking the actual condition of a business process leads to problems such as data with insufficient coverage or objectiveness, as well as an extra work required. In view of this, analytical techniques using an operational log recorded when a user operates a terminal have been proposed (see Patent Literature 1 and Non Patent Literature 3). Furthermore, analytical techniques using system logs recorded when a user operates a terminal or log data generated by an application have been proposed (see Non Patent Literature 4).
A business process analyst needs to accurately recognize a business process with a granularity suitable for analysis purposes, in order to find the problem with the business process For example, if the purpose of the analysis is to shorten the lead time from receipt of request for a service to provision of the service, the business process analyst first needs to clearly figure out the types and the order of business processes performed between the receipt of request for the service to the provision of the service. Then, the business process analyst identifies factors hindering the business processes, such as work taking a long period of time and work that is likely to involve reworking. In this manner, the problems are preferably found with the actual condition of the business process recognized while changing the granularity of business processes to be recognized in accordance with the purpose of analysis.
Note that techniques for visualizing a system log or an operational log in a form of a flow have been disclosed (Patent Literature 2 and Non Patent Literature 5). Furthermore, a technique for searching a matching part between two character strings has been known (see Non Patent Literature 6).
Patent Literature 1: JP 2015-153210 A
Patent Literature 2: JP 2015-079305 A
Non Patent Literature 1: “ERP basic knowledge—What exactly is business process improvement? Description on purpose and procedure”, [online], freee K.K, [Searches on Dec. 25, 2018], Internet: <URL: https://www.freee.co.jp/kb/kb-erp/operational-efficiency/>
Non Patent Literature 2: “Improving Business Processes: Streamlining Tasks to Improve Efficiency”, [online], MindTools, [searched on Dec, 25, 2018], Internet <URL: https://www.mindtools.com/pages/article/improving-business-processes.htm>
Non Patent Literature 3: “System Log”, [online], 2013, IT term dictionary, [Searched on Dec. 25, 2018], Internet: http://e-words.jp/w.html>
Non Patent Literature 4: “Business process visualization and analysis system (BPOST)”, [online], 2008 years, NTT Access Service System Laboratories, [Searched on Dec. 25, 2018], Internet <URL: http://www.ansl.ntt.co.jp/history/process/ne0005.html>
Non Patent Literature 5: “Graphviz-Graph Visualization Software”, [online], [searched on Dec. 25, 2018], Internet <URL: http://www.graphviz.org/>
Non Patent Literature 6: R. Boyer, J. Moore, “A Fast String Searching Algorithm”, Communication of the ACM, 1977, Vol. 20, No. 10, pp. 762 to 772
Unfortunately, with the related art, system logs and operational logs might be difficult to visualize in a form of a business process flow with an appropriate granularity. For example, direct visualization of system logs and operational logs in a form of a flow does not enable a business process analyst to figure out how operations and business processes flow, unless he or she is aware of the association between work and the business process corresponding to information on each system log and operational log. Thus, the business process analyst checks the contents of the logs, and manually adjusts the logs to achieve a flow with a desired granularity, and then implements the visualization. Alternatively, the log is automatically adjusted and visualized (see Non Patent Literature 4) based on a set of contents setout in advance by the business process analyst from various perspectives. In any of these cases, the log adjustment processing and the visualization processing are independently executed, meaning that the log needs to be adjusted in advance based on an anticipated visualization result.
It is difficult for the business process analyst to recognize what kinds of operations are performed, before the logs are visualized. It is also difficult to adjust the log in advance based on an anticipated visualization result for all of the operations. Thus, in practice, the business process analyst first needs to adjust the logs based on his or her experience and intuition and check the visualization result to find what needs to be fixed, and then repeat the log adjustment. Furthermore, when the perspective of the business process analysis changes, such repetitive operations need to be performed again. All things considered, it has been difficult to continuously analyze business processes.
The present invention has been made in view of the above, and an object of the present invention is to visualize a system log and an operational log into a business process flow with an appropriate granularity.
A log visualization device according to the present invention for solving the problem described above and achieve the object includes: a storage unit configured to store a plurality of pieces of log data; a flow generation unit configured to generate a flow in which the pieces of log data are arranged in a processing order; a labeling unit configured to provide a label set by a user to log data, in the flow, within a range designated by the user; and a flow update unit configured to update, when same label is provided to a plurality of pieces of log data, the flow to display the plurality of pieces of log data as a single piece of log data.
With the present invention, system logs and operational logs can be visualized as a business process flow with an appropriate granularity.
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited by the embodiment. Further, in description of the drawings, the same parts are denoted by the same reference signs.
Configuration of Log Visualization Device
The input unit 11 is realized by using an input device such as a keyboard, a mouse, or a touch panel, and inputs various kinds of instruction information for starting processing to the control unit 15 or the like in response to an operation input by a user. In log visualization processing described later, the control unit 15 according to the present embodiment receives, via the input unit 11, inputs from the user for example, for purposes such as designating the range of a flow and setting a label.
The output unit 12 is realized by a display apparatus such as a liquid crystal display or a printing apparatus such as a printer. In the log visualization processing described later, the control unit 15 according to the present embodiment displays, for example, a visualized flow generated, an updated flow, or the like, to the user via the output unit 12.
The communication control unit 13 is realized by a network interface card (NIC), or the like, and controls communication between the control unit 15 and an external apparatus via an electric communication line such as a local area network (LAN) or the Internet. For example, the communication control unit 13 controls communications between the control unit 15 and an external device such as a user terminal and a management device that manages log data used for the log visualization processing described later.
The storage unit 14 is realized by a storage device such as a semiconductor memory element like a random access memory (RAM) or a flash memory, a hard disk, an optical disc, or the like. In the present embodiment, the storage unit 14 stores log data 14a. Note that the storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.
The operation time is the processing time for the operational log. The operation content is the processing content for the operational log. The window title is a title of the window that is an operation target. The operation portion is information indicating an operation target portion in the window. The operation type is information indicating the type of operation such as clicking or key input.
Note that the log data 14a is not limited to the operational log illustrated in
The control unit 15 is realized by using a central processing unit (CPU), and executes a processing program stored in a memory. Thus, the control unit 15 functions as an acquisition unit 15a, a flow generation unit 15b, a labeling unit 15c, and a flow update unit 15d, as illustrated in
The acquisition unit 15a acquires the log data 14a via the input unit 11 or the communication control unit 13 and stores the log data 14a in the storage unit 14, before the log visualization processing described later is executed.
The flow generation unit 15b generates a flow in which the pieces of log data 14a are arranged in a processing order. Specifically, the flow generation unit 15b processes the pieces of log data 14a, so that the pieces of log data 14a are arranged in the processing order and are visualized as a flow to be displayable on the output unit 12. Here, arranging in the processing order meant that records (hereinafter, also referred to as logs) of the log data 14a are arranged in chronological order. Furthermore, when the log data 14a is acquired for each series of processes identified using identification information such as an order ID, arranging in the processing order, for example, also means that logs are arranged in chronological order for such each series of processes. For example, in a case where a plurality of pieces of log data 14a corresponding to different order IDs are acquired, the flow generation unit 15b generates a flow branched for each order ID.
Furthermore, the flow generation unit 15b adds “start” and “end” nodes respectively at the beginning and the end of a series of processes, for the log data 14a corresponding to each series of processes identified with identification information such as an order ID. In this manner, the flow generation unit 15b generates a branched flow.
The labeling unit 15c provides a label set by the user to log data in a range in the flow designated by the user. When the same label is provided to a plurality of pieces of log data, the flow update unit 15d updates the flow to display the plurality of pieces of log data as a single piece of log data.
In this case, the labeling unit 15c provides the label “generate estimation sheet” to logs corresponding to the nodes S2 to S5 in the designated range. Then, as illustrated in
Specifically, the labeling unit 15c first replaces a log in each row of log data 14a with any appropriate character, as illustrated in
Note that logs that can be regarded as being the same are replaced with the same character. For example, in the example illustrated in
Furthermore, as illustrated in
Note that, in the processing described above, the logs or nodes replaced with the same character by the labeling unit 15c is not limited to those with the values of “window title”, “operation portion”, “operation type”, and “operation content” matching. For example, the labeling unit 15c may regard logs with values of “window title” and “operation portion” matching as the same log, and replace them with the same character. Thus, for example, address inputting operations may be regarded as the same node, regardless of whether the specific “operation content” differs among them.
Next, the labeling unit 15c searches the character strings {a, b, c, d, e} and {a, f, g, h, i}, representing the log data 14a, for parts matching the character strings {a, b} and {h, i} indicating nodes in the range designated on the flow. In this process, the labeling unit 15c searches for a matching part therebetween, using a shift table according to the BM method.
For example, to find a part matching {h, i} in {a, f, g, h, i}, the labeling unit 15c compares the last character “i” in the search target character string {h, i}, with {a, f, g, h, i}, as illustrated in
Thus, the labeling unit 15c compares “i” in {h, i} with “h” in {a, f, g, h, i}. In this case, the labeling unit 15c refers to the shift table to find that “i” does not match but “h” matches, and thus shifts {h, i} by 1. Then, the labeling unit 15c compares “i” in {h, i} with “i” in {a, f, g, h, i}. In this case, “i” in {h, i} matches “i” in {a, f, g, h, i}. In this manner, the labeling unit 15c detects a part in {a, f, g, h, i} matching {h, i}.
In this case, the flow generation unit 15b generates a flow branched for each order ID, as illustrated in
As illustrated in
Thus, as illustrated in
Note that in the example illustrated in
Specifically, the flow update unit 15d can update the flow so as to convert the flow illustrated in
When the same label is provided to pieces of log data in a plurality of designated ranges, the flow update unit 15d may update the flow so that the pieces of log data in a plurality of designated ranges are displayed as a flow branched for each of the ranges. Thus, when the same label is set to nodes in different ranges, the flow update unit 15d may update the flow to be displayed as a flow branched for each range.
For example, when a user instructs the same labels provided to different ranges to be displayed while being distinguished from each other, the labeling unit 15c may add identification information for identifying the ranges to the label set by the user. In this case, the flow update unit 15d adds a “start” node and an “end node” respectively at the beginning and the end of a series of processing for each range. Then, the flow update unit 15d generates a branched flow.
Then, as illustrated in
The flow update unit 15d can also update the flow so that the flow is displayed together with the labels set for the ranges designated by the user on the flow.
Note that the labeling unit 15c and the flow update unit 15d may accept a plurality of labels are designated, and then update and output the flow. Alternatively, the labeling unit 15c and the flow update unit 15d may update and output the flow each time a label is set.
First of all,
In this case, the labeling unit 15c accepts designation of these plurality of labels, and then provides the plurality of labels to the logs of the log data 14a. The flow update unit 15d updates the flow using the logs provided with the labels by the labeling unit 15c, so that logs provided with the same label displayed are displayed as a single log as illustrated in
Furthermore, as illustrated in
As illustrated in
Furthermore, also in this case, when a user designates a label, the flow update unit 15d can update the flow so that a plurality of logs that have been provided with the designated label and displayed as a single log, can be displayed separately again.
Furthermore,
Note that in the example illustrated in
Log Visualization Processing
Next, log visualization processing executed by the log visualization device 10 according to the present embodiment will be described with reference to
First of all, the flow generation unit 15b reads the log data 14a in the storage unit 14 (step S01), and processes the log data 14a into a form of a flow with pieces of the log data 14a arranged in a processing order (step S02), and visualizes the flow to be displayed on the output unit 12 (step S03).
When the user performs an input to designate a range on the flow and set the label to be provided (step S04, Yes), the labeling unit 15c identifies the log data within the range set by the user, and provides the label designated by the user, to the identified log data (step S05).
When the same label is given to a plurality of pieces of log data, the flow update unit 15d processes the log data into a form of a flow to display the plurality of pieces of log data as a single piece of log data (step S06 returns to S02), and visualizes the flow to be displayed on the output unit 12 (step S03).
The control unit 15 repeats the above processing and terminates the series of log visualization processing, in response to an operation input by the user for instructing the termination (step S04, No) for example.
As described above, in the log visualization device 10 according to the present embodiment, the log data 14a of the storage unit 14 stores a plurality of pieces of log data. The flow generation unit 15b generates a flow in which the pieces of log data are arranged in a processing order. The labeling unit 15c provides the label, set by the user, to pieces of log data in a range set by the user in the flow. When the same label is provided to a plurality of pieces of log data, the flow update unit 15d updates the flow to display the plurality of pieces of log data as a single piece of log data.
With the log visualization device 10 of this configuration, system logs and operational logs can be visualized as a business process flow with a granularity desired by the user, without the need to execute in advance, log adjustment processing based on user's experience and intuition Furthermore, when the analysis perspective changes, a business process flow with a different granularity of a business process can be easily visualized. Furthermore, the processing for visualizing the business process flow can be easily repeated until the granularity desired by the user is achieved.
Thus, with the log visualization device 10, system logs and operational logs can be easily visualized as a business process flow with a granularity desired by the user. Therefore, a user who is a business process analyst can easily recognize the actual condition of a business process with the appropriate granularity suitable for analytics purposes to find problems, and improve the business process according to what was found.
In a case where the label is further set by the user, the flow update unit 15d can update the flow to display a plurality of pieces of log data that have been displayed as a single piece of log data with the label provided in the updated flow, as a plurality of separate pieces of log data. This enables the user to easily confirm the flow with the granularity of the business process easily changed. Thus, the user can more easily repeat the logging and visualization of the flow interactively and seamlessly.
When the same label is provided to pieces of log data in a plurality of designated ranges, the flow update unit 15d may update the flow so that the pieces of log data in a plurality of designated ranges are displayed as a flow branched for each of the ranges. This enables the user to more easily check the business process flow with the granularity of the business process changed.
Program
It is also possible to create a program in which processing executed by the log visualization device 10 according to the embodiment described above is described in a computer-executable language. As an embodiment, the log visualization device 10 can be implemented by a log visualization program executing the log visualization processing being installed as packaged software or online software in a desired computer. For example, an information processing apparatus executes the log visualization program, and thus, the information processing apparatus can function as the log visualization device 10. The information processing apparatus referred here includes a desktop or notebook-type personal computer. Furthermore, on top of that, a mobile communication terminal such as a smart phone, a mobile phone, or a personal handyphone system (PHS), or a slate terminal such as a personal digital assistant (PDA), for example, is included in the category of the information processing apparatus. In addition, the functions of the log visualization device 10 may be implemented by a cloud server.
The memory 1010 includes a read only memory (ROM) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a basic input output system (BIOS). The hard disk drive interface 1030 is connected to the hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. A detachable storage medium such as a magnetic disk or an optical disc, for example, is inserted into the disk drive 1041. A mouse 1051 and a keyboard 1052, for example, are connected to the serial port interface 1050. A display 1061, for example, is connected to the video adapter 1060.
Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. The respective pieces of information described in the aforementioned embodiment are stored in, for example, the hard disk drive 1031 and the memory 1010.
Further, the log visualization program, for example, is stored in the hard disk drive 1031 as the program module 1093 in which instructions to be executed by the computer 1000 are described. Specifically, the program module 1093 in which each processing executed by the log visualization device 10 described in the aforementioned embodiment is described is stored in the hard disk drive 1031.
Data to be used in information processing according to the log visualization program is stored as the program data 1094, for example, in the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 or the program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as needed and executes each of the aforementioned procedures.
The program module 1093 or the program data 1094 related to the log visualization program is not limited to being stored in the hard disk drive 1031. For example, the program module 1093 or the program data 1094 may be stored on a detachable storage medium and read by the CPU 1020 via the disk drive 1041 or the like. Alternatively, the program module 1093 or the program data 1094 related to the log visualization program may be stored in another computer connected via a network such as a LAN or a wide area network (WAN) and read by the CPU 1020 via the network interface 1070.
Although the embodiment to which the invention made by the present inventors is applied has been described above, the present invention is not limited by the description and the drawings constituting a part of the disclosure of the present invention according to the embodiment. In other words, all of other embodiments, examples, operation technologies, and the like made by those skilled in the art based on the present embodiment fall within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-013257 | Jan 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/001041 | 1/15/2020 | WO | 00 |