JP5169560B2 - 業務フロー処理プログラム、方法及び装置 - Google Patents

業務フロー処理プログラム、方法及び装置 Download PDF

Info

Publication number
JP5169560B2
JP5169560B2 JP2008181927A JP2008181927A JP5169560B2 JP 5169560 B2 JP5169560 B2 JP 5169560B2 JP 2008181927 A JP2008181927 A JP 2008181927A JP 2008181927 A JP2008181927 A JP 2008181927A JP 5169560 B2 JP5169560 B2 JP 5169560B2
Authority
JP
Japan
Prior art keywords
event
business
class
instance
belonging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008181927A
Other languages
English (en)
Other versions
JP2010020634A (ja
Inventor
旭 川村
裕貴 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008181927A priority Critical patent/JP5169560B2/ja
Publication of JP2010020634A publication Critical patent/JP2010020634A/ja
Application granted granted Critical
Publication of JP5169560B2 publication Critical patent/JP5169560B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本技術は、業務プロセス分析技術の分野に関する。
業務プロセス・リエンジニアリング(BPR:Business Process Re-engineering)のために現在企業で運用中の業務システムの分析を行う必要がある。このため、例えば特開2005−115494号公報記載のような技術が用いられる。この公報には、以下のような事項が開示されている。
すなわち、(1)異なる業務システムに配置される各アプリケーションの実行状態を示す情報であるイベントデータを、各アプリケーションに応じた方法で収集し、イベントキューにキューイングする。なお、この公報でイベントとは、業務システム内で、ある業務が実行されたことを示すものであり、業務の開始、終了時間、および関連属性を含んだデータである。イベントデータは、各業務システムに配置されたイベント抽出定義に従って、業務システム毎のイベントデータ抽出用のアプリケーションによって抽出される。各業務システム内で、抽出されたイベント情報を共通のXML(eXtensible Markup Language)形式に変換し、イベントデータを管理するイベント管理装置のイベントキューにキューイングする。このキューイングには、例えばJMS(Java(登録商標) Message Service)等が利用される。
(2)イベント管理装置内で、イベントキュー内にキューイングされたイベント情報について、業務データ毎にまとめ、業務データ間を関連付けてイベント管理データベース(DB)内に蓄積する。この公報で、業務データとは、あるまとまった単位の業務の間で共有されるデータを意味する。(3)入力された検索条件(例えば、イベント発生期間、関連属性等)に基づいて、業務データの絞込みを行う。(4)絞り込まれた業務データに関連するデータをツリーで展開して表示し、任意のデータからの処理の追跡を行う。(5)ツリーで展開された業務データに関連するイベントを検索し、このイベントに関連する業務をトラッキングビューで図示して、現在の業務の流れの実行状況を表示する。この公報で、トラッキングとは、あらかじめ定義された業務システム間を跨ぐ業務全体の流れである業務プロセスのうち、どの業務が実行され、どの業務が実行されていないかを確認する手法をいう。
上記記載の技術では、業務システム毎にイベントデータ抽出用のアプリケーションを導入する必要があり、業務システムに改変を加えるか又は業務実行に不要な負荷を与えることとなる。
また、上記記載の技術では、業務フローが実施される頻度を分析して、標準的な業務フローと例外的な業務フローとを分類するような構成は開示されておらず、また分類における問題点についても示唆も開示もなされていない。また、業務システムに改変を加えず、かつ、業務実行に不要な負荷を与えることなく、業務システムのデータベースのバックアップデータや業務ログデータ等を用いた分析の方法が存在している。すなわち、複数のテーブル(例えばデータベース)から、イベント名、時刻(イベントの発生日時であるタイムスタンプ)、イベントID(ここではID1)及び他の値を含むレコード群と、イベント名、時刻(タイムスタンプ)、ID1及びID2などを含むレコード群とが抽出され、第2のイベントクラス(すなわち、イベントの種類)のレコードの関連IDであるID2のフィールド値が、第1のイベントクラス(すなわち、イベントの種類)のレコードのイベントIDであるID1のフィールド値のいずれかの値をとることにより、第2のイベントクラスの各々のレコード(すなわちイベントインスタンス)が、第1のイベントクラスのどのレコード(すなわちイベントインスタンス)と関連しているかが特定される。
特開2005−115494号公報 特開2008−27072号公報
しかし、業務システムでは、実際に業務を行うことによって生成される業務イベントの他に、業務に無関係なログ生成イベントやプルーフリストの生成イベントなど、システム上発生してしまうようなイベントについても、データベースに登録されてしまう。イベントの名称などで、このようなイベントを削除することができればよいが、必ずしもイベントの名称などで単純に無関係イベントを削除できない場合もある。このような無関係イベントが含まれたままで業務フローを分析すると、分類上、本来同一のグループとすべき業務フローであっても、各々フローの別の箇所に無関係イベントが挿入されたために、別グループの扱いとなる事態が発生する。そのため、本来よりも多数のグループに分類され、かつ、例外フローの数も増大し、業務フロー全体を把握する上で問題となる。
従って、本技術の目的は、業務とは無関係な無関係イベントを自動的に検出し、業務フローから削除することである。
本業務フロー処理方法は、業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、プロセスインスタンスデータ格納部に格納されているプロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納するステップと、統計情報格納部に格納されている各イベント間遷移発生頻度を、該当する発側の業務イベントの発生頻度で除することによって、発側の業務イベントが発生した場合に着側の業務イベントが発生する条件付き確率を算出すると共に、各業務イベントの発生頻度を業務イベント全部の発生頻度の和で除することによって、各業務イベントの発生確率を算出し、統計情報格納部に格納するステップと、業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ判断対象の業務イベントのイベントクラスが無関係イベントのイベントクラスであるか否か判断するための評価式の値を、統計情報格納部に格納されている業務イベントのイベントクラスに属するイベントインスタンスの発生確率と条件付き確率とを用いて算出するステップと、評価値が所定の閾値以下である判断対象の業務イベントのイベントクラスを特定し、プロセスインスタンスデータ格納部に格納されているプロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップとを含む。
業務とは無関係な無関係イベントを自動的に検出し、業務フローから削除することができる。
図1A及び図1Bに、本発明の一実施の形態に係る業務システム分析装置の機能ブロック図を示す。本実施の形態に係る業務システム分析装置は、単数または複数の解析対象システムから収集されたデータ(所定期間において生成されたデータベースのレコード群、ログデータ、ネットワークDB(NDB)のレコード群、ジャーナルなど)を格納する分析対象データ格納部1と、分析対象データ格納部1からイベント候補データを生成するイベント候補データ生成部3と、イベント候補データ生成部3により生成されたイベント候補データを格納するイベント候補データ格納部5と、ユーザとのインターフェースとなる入出力部11と、入出力部11を介してユーザの指示を受け付けイベントデータを生成するイベントデータ生成部7と、イベントデータ生成部7により生成されたイベントデータを格納するイベントデータ格納部9と、イベントデータ格納部9に格納されているイベントデータからプロセスインスタンスを生成するプロセスインスタンス生成部13と、プロセスインスタンス生成部13によって生成されたプロセスインスタンスのデータを格納するプロセスインスタンスデータ格納部15と、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスのデータを用いて業務フローと無関係とみなされる無関係イベントを削除する処理を実施する無関係イベント削除部17と、無関係イベント削除部17によって処理されたプロセスインスタンスのデータを格納する無関係イベント削除済みプロセスインスタンスデータ格納部19と、無関係イベント削除済みプロセスインスタンスデータ格納部19に格納されているプロセスインスタンスをイベントの並び順に基づき分類して出現数をカウントするプロセスインスタンス分類処理部21と、プロセスインスタンス分類処理部21の処理結果を格納するモデルデータ格納部23と、モデルデータ格納部23に格納されているデータを用いて業務フローを表示するために必要な処理を実施するプロセス表示処理部25とを含む。
なお、入出力部11は、イベント候補データ生成部3、プロセスインスタンス生成部13、プロセス表示処理部25についても、ユーザとのインターフェースとして動作する。また、各処理部は、処理結果などを読み出して入出力部11を介してユーザに提示するなどの処理を実施することもある。
また、イベント候補データ生成部3は、タイムスタンプ処理部31と、イベントID・関連ID候補処理部32と、イベント名処理部34と、スコア表格納部35とを有する。
また、図1Bに示すように、無関係イベント削除部17は、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスにおけるイベント発生状況から各種統計データを算出する統計情報抽出部171と、統計情報抽出部171によって算出された統計情報を格納する統計情報格納部173と、統計情報格納部173に格納されているデータを用いてプロセスインスタンスに含まれるイベントのうち無関係イベントを検出する無関係イベント検出部175と、無関係イベント検出部175によって検出された無関係イベントのイベントクラスに属するイベントインスタンスをプロセスインスタンスから削除する処理を実施する無関係イベント削除部177とを有する。
次に、業務システム分析装置の大まかな処理内容について図2(a)乃至(d)を用いて説明する。まず、イベント候補データ生成部3は、分析対象データ格納部1に格納された業務システムについてのデータからイベント候補データを生成する。イベント候補データの一例を図2(a)に示す。図2(a)の例では、例えば1つのテーブル(例えばデータベース)から、イベント名と、時刻(イベントの発生日時であるタイムスタンプ)と、それ以外の第1の値(値1)と、第2の値(値2)などを含むレコード群が抽出されるようになっている。すなわち、イベント名やタイムスタンプ、それ以外にイベントIDや関連IDの候補となるデータ・フィールドが特定される。
次に、イベントデータ生成部7は、イベント候補データ格納部5に格納されているイベント候補データからイベントデータを生成する。イベントデータの一例を図2(b)に示す。図2(b)の例では、複数のテーブル(例えばデータベース)から、イベント名、時刻(イベントの発生日時であるタイムスタンプ)、イベントID(ここではID1)及び他の値を含むレコード群と、イベント名、時刻(タイムスタンプ)、ID1及びID2などを含むレコード群とが抽出され、第2のイベントクラス(すなわち、イベントの種類)のレコードの関連IDであるID2のフィールド値が、第1のイベントクラス(すなわち、イベントの種類)のレコードのイベントIDであるID1のフィールド値のいずれかの値をとることにより、第2のイベントクラスの各々のレコード(すなわちイベントインスタンス)が、第1のイベントクラスのどのレコード(すなわちイベントインスタンス)と関連しているかが特定される。このようなイベント間の関連などを抽出する処理自体は、本実施の形態における主要部ではなく、例えば特開2008−27072号公報に既に開示されている。
その後、プロセスインスタンス生成部13は、イベントデータ格納部9に格納されているイベントデータからプロセスインスタンスのデータを生成する。プロセスインスタンスの一例を図2(c)に示す。図2(c)の例では、4つのプロセスインスタンスが例示されており、各々のプロセスインスタンスには、一連のイベントインスタンス(具体的なイベント)が含まれている。すなわち、例えば「受注」「起票」「納品」「検品」といったイベントクラスに属する連続するイベントインスタンス(具体的なイベントであり特定のレコードに対応するイベント)でプロセスインスタンスが構成される。ただし、プロセスインスタンスに含まれるイベントインスタンスは、すべてのイベントクラスに由来する必要はなく、ひとつのイベントクラスに属するイベントインスタンスが複数含まれていても良い。なお、プロセスインスタンス生成処理自体は、本実施の形態における主要部ではなく、例えば、米国特許公開公報2005/076059A1のような業務プロセストラッキング方法等を用いることができる。
そして、プロセスインスタンスのデータを、無関係イベント削除部17及びプロセスインスタンス分類処理部21によって処理をして、プロセス表示処理部25は、モデルデータ格納部23に格納されているデータからプロセスフロー(業務フローとも呼ぶ)のデータを生成して、入出力部11を介して表示装置に表示する。プロセスフローの一例を図2(d)に示す。図2(d)の例では、プロセスインスタンスが集約されて特定される業務フローが示されている。
次に、図1A及び図1Bに示した業務システム分析装置の処理の詳細を図3乃至図70を用いて説明する。まず、ユーザは、業務システムにおける解析対象テーブルの指定を行い、そのデータをコピーして分析対象データ格納部1に格納させる(図3:ステップS1)。例えば、受注DB、生産DB、手配DB、配送DB、品番DBが指定され、所定期間において生成され蓄積されていたレコード群をコピーして、分析対象データ格納部1に格納する。なお、これらのDBがリレーショナルデータベースであれば、スキーマ情報をもコピーして、分析対象データ格納部1に格納しておく。本ステップについては、予めユーザがコンピュータを操作して行う処理であるから、図3では点線ブロックで示している。
例えば受注DBがリレーショナルデータベースである場合には、図4(a)のようなスキーマ情報と図4(b)に示すようなレコード群とが分析対象データ格納部1に格納される。図4(a)に示したスキーマ情報の例では、フィールド1乃至4のそれぞれについて、フィールド名、キー設定データ、データ型、レコード長及びコメントが登録されるようになっている。図4(a)から、フィールド1には日時が登録され、フィールド2には主キーである受注番号が登録され、フィールド3には地域が登録され、フィールド4には受注内容が登録されることが分かる。具体的には図4(b)のようなレコード群となるが、図4(a)のようなスキーマ情報を得れば、図4(b)のようなレコード群の内容を容易に解釈することができる。
同様に、生産DBがリレーショナルデータベースである場合には、図5(a)のようなスキーマ情報と図5(b)に示すようなレコード群とが分析対象データ格納部1に格納される。図5(a)に示したスキーマ情報の例では、フィールド1乃至5のそれぞれについて、フィールド名、キー設定データ、データ型、レコード長及びコメントが登録されるようになっている。図5(a)から、フィールド1には日時が登録され、フィールド2には主キーである生産番号が登録され、フィールド3には副キーである受注番号が登録され、フィールド4には副キーである品番が登録され、フィールド5には納期が登録されることが分かる。具体的には図5(b)のようなレコード群となるが、図5(a)のようなスキーマ情報を得れば、図5(b)のようなレコード群の内容を容易に解釈することができる。
また、手配DBがリレーショナルデータベースである場合には、図6(a)のようなスキーマ情報と図6(b)に示すようなレコード群とが分析対象データ格納部1に格納される。図6(a)に示したスキーマ情報の例では、フィールド1乃至5のそれぞれについて、フィールド名、キー設定データ、データ型、レコード長及びコメントが登録されるようになっている。図6(a)から、フィールド1には日時が登録され、フィールド2には主キーである手配番号が登録され、フィールド3には副キーである受注番号が登録され、フィールド4には副キーである品番が登録され、フィールド5には納品先が登録されることが分かる。具体的には図6(b)のようなレコード群となるが、図6(a)のようなスキーマ情報を得れば、図6(b)のようなレコード群の内容を容易に解釈することができる。
さらに、配送DBがリレーショナルデータベースである場合には、図7(a)のようなスキーマ情報と図7(b)に示すようなレコード群とが分析対象データ格納部1に格納される。図7(a)に示したスキーマ情報の例では、フィールド1乃至4のそれぞれについて、フィールド名、キー設定データ、データ型、レコード長及びコメントが登録されるようになっている。図7(a)から、フィールド1には日時が登録され、フィールド2には主キーである手配番号が登録され、フィールド3には副キーである配送便が登録され、フィールド4に納品先が登録されることが分かる。具体的には図7(b)のようなレコード群となるが、図7(a)のようなスキーマ情報を得れば、図7(b)のようなレコード群の内容を容易に解釈することができる。
また、品番DBがリレーショナルデータベースである場合には、図8(a)のようなスキーマ情報と図8(b)に示すようなレコード群とが分析対象データ格納部1に格納される。図8(a)に示したスキーマ情報の例では、フィールド1及び2のそれぞれについて、フィールド名、キー設定データ、データ型、レコード長及びコメントが登録されるようになっている。図8(a)から、フィールド1には主キーである品番が登録され、フィールド2には品名が登録されることが分かる。具体的には図8(b)のようなレコード群となるが、図8(a)のようなスキーマ情報を得れば、図8(b)のようなレコード群の内容を容易に解釈することができる。
一方、受注DBのデータをCSV形式で取得した場合には、図9(a)に示すようなデータが分析対象データ格納部1に格納される。図9(a)の例では、日時、受注番号、地域及び受注内容というラベルデータが先頭に含まれ、その後は上記ラベルの順番にデータが羅列され、データ間はカンマにて区切られている。図9(a)をわかりやすくするためにテーブル形式にすると図9(b)に示すようになる。すなわち、日時の列と、受注番号の列と、地域の列と、受注内容の列とを含むテーブルとなる。スキーマ情報はないので、データは皆文字列として格納される。また、キー設定データはない。
同様に、生産DBのデータをCSV形式で取得した場合には、図10(a)に示すようなデータが分析対象データ格納部1に格納される。図10(a)の例では、日時、生産番号、受注番号、品番及び納期というラベルデータが先頭に含まれ、その後は上記ラベルの順番にデータが羅列され、データ間はカンマにて区切られている。図10(a)をわかりやすくするためにテーブル形式にすると図10(b)に示すようになる。すなわち、日時の列と、生産番号の列と、受注番号の列と、品番の列と、納期の列とを含むテーブルとなる。
また、手配DBのデータをCSV形式で取得した場合には、図11(a)に示すようなデータが分析対象データ格納部1に格納される。図11(a)の例では、日時、手配番号、受注番号、品番及び納品先というラベルデータが先頭に含まれ、その後は上記ラベルの順番にデータが羅列され、データ間はカンマにて区切られている。図11(a)をわかりやすくするためにテーブル形式にすると図11(b)に示すようになる。すなわち、日時の列と、手配番号の列と、受注番号の列と、品番の列と、納品先の列とを含むテーブルとなる。
さらに、配送DBのデータをCSV形式で取得した場合には、図12(a)に示すようなデータが分析対象データ格納部1に格納される。図12(a)の例では、日時、手配番号、配送便及び納品先というラベルデータが先頭に含まれ、その後は上記ラベルの順番にデータが羅列され、データ間はカンマにて区切られている。図12(a)をわかりやすくするためにテーブル形式にすると図12(b)に示すようになる。すなわち、日時の列と、手配番号の列と、配送便の列と、納品先の列とを含むテーブルとなる。
また、品番DBのデータをCSV形式で取得した場合には、図13(a)に示すようなデータが分析対象データ格納部1に格納される。図13(a)の例では、品番及び品名というラベルデータが先頭に含まれ、その後は上記ラベルの順番にデータが羅列され、データ間はカンマにて区切られている。図13(a)をわかりやすくするためにテーブル形式にすると図13(b)に示すようになる。すなわち、品番の列と、品名の列とを含むテーブルとなる。
業務システム分析装置の例えばイベント候補データ生成部3は、全ての解析対象テーブルについて処理したか判断する(ステップS3)。未処理の解析対象テーブルが存在する場合には、未処理の解析対象デーブルを1つ特定する(ステップS5)。そして、タイムスタンプ判定処理を実施する(ステップS7)。このタイムスタンプ判定処理については図14及び図15を用いて説明する。
まず、イベント候補データ生成部3のタイムスタンプ処理部31は、分析対象データ格納部1を参照して、解析対象テーブルにおいて未処理のフィールドを1つ特定する(図14:ステップS31)。そして、分析対象データ格納部1において解析対象テーブルのスキーマ情報が使用可能となっているか判断する(ステップS33)。
スキーマ情報が使用可能となっている場合には、スキーマ情報において処理対象フィールドについてのデータ部分を特定し、その中で処理対象フィールドのデータ型がタイムスタンプ型であるか否か判断する(ステップS35)。処理対象フィールのデータ型がタイムスタンプ型ではない場合にはステップS39に移行する。例えば、図9(a)乃至図13(a)のようなデータを処理する場合にはスキーマ情報はないので、ステップS39に移行する。
一方、処理対象フィールドのデータ型がタイムスタンプ型であると判断された場合には、処理対象フィールドのタイムスタンプ判定を「確定」と設定し、例えばメインメモリなどの記憶装置に格納する(ステップS37)。そして、処理はステップS43に移行する。
例えば、図4(a)のようなスキーマ情報の場合、フィールド1のデータ型がタイムスタンプ型であるので、フィールド1が処理対象フィールドであれば、タイムスタンプ判定=「確定」と設定される。図5(a)のようなスキーマ情報の場合、フィールド1のデータ型がタイムスタンプ型であるので、フィールド1が処理対象フィールドであれば、タイムスタンプ判定=「確定」と設定される。図6(a)及び図7(a)についても同様である。図8(a)の場合には、全フィールドについて、ステップS35からステップS39に移行する。
ステップS33でスキーマ情報が使用不能と判断された場合又は処理対象フィールドのデータ型がタイムスタンプ型でない場合、スコア表格納部35に格納されているタイムスタンプ確度スコア表を参照して、スキーマ情報における処理対象フィールドの該当データ部分、処理対象フィールドのフィールド名を表すラベルデータ、及び処理対象フィールドのフィールド値から確度を特定する(ステップS39)。
タイムスタンプ確度スコア表の一例を図15に示す。図15の例では、「フィールドのデータ型が可変長文字列」であれば確度スコアは1(%)と設定され、「フィールドのデータ型が実数」であれば確度スコアは5(%)と設定され、フィールド名の末尾が「時刻」「時間」などであれば確度スコアは90(%)と設定され、フィールド名の末尾が「月日」「日」などであって時刻などが含まれない場合であれば確度スコアは70(%)と設定され、フィールド名に「予定」「納期」など将来の時期を指定する場合であれば確度スコアは10(%)と設定され、フィールド値の文字列に年号(記号)、「/」「:」「’」「.」「−」、数字、空白といった時間に関連する文字以外の文字が含まれている場合には確度スコアは5(%)と設定され、フィールド値の文字列が「YYYY/MM/DD hh:mm:ss」の形式であれば確度スコアは90(%)と設定され、フィールド値の文字列が「YYYY/MM/DD」の形式であれば確度スコアは70(%)と設定され、フィールド値に同一となるものが含まれていれば確度スコアは30(%)と設定され、該当する項目がなければ確度スコアは50(%)と設定される。
例えば、図4(a)のようなスキーマ情報で図4(b)のようなレコード群の場合、フィールド2については、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定される。フィールド3についても同様に、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定される。さらに、フィールド4については、データ型が可変長文字列であるので、確度スコア1(%)と特定される。なお、フィールド4については、フィールド値に時間に関連する文字以外の文字も含まれているので、タイムスタンプ確度スコア表において複数項目に該当しているが、本実施の形態では、50(%)という中央値からより乖離した値の方を採用する。すなわち、フィールド値に時間に関連する文字以外の文字が含まれている場合の確度スコア5(%)よりも1(%)を採用する。
一方、スキーマ情報が存在しない図9(a)の場合には、フィールド1については、フィールド値の文字列が「YYYY/MM/DD hh:mm:ss」の形式であるので、確度スコア90(%)と特定される。フィールド2及び3については同様であるが、フィールド4については、当該フィールドのデータ型が特定できないので、フィールド値に時間に関連する文字以外の文字が含まれている場合に該当すると判断され、確度スコア5(%)と特定される。
また、図5(a)のようなスキーマ情報で図5(b)のようなレコード群の場合にも、フィールド2乃至4については、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定される。フィールド5については、フィールド名の文字列に「納期」が含まれているので、確度スコア10(%)と特定される。なお、フィールド5については、フィールド値の文字列が「YYYY/MM/DD」の形式であるので、タイムスタンプ確度スコア表において複数項目に該当しているが、本実施の形態では、50(%)という中央値からより乖離した値の方を採用する。すなわち、フィールド値の文字列が「YYYY/MM/DD」の形式である場合の確度スコア70(%)よりも10(%)を採用する。スキーマ情報が存在しない図10(a)の場合には、フィールド1については、フィールド値の文字列が「YYYY/MM/DD hh:mm:ss」の形式であるので、確度スコア90(%)と特定される。フィールド2及び5については、データ型が関係しないので、スキーマ情報が存在する場合と同様の結果が得られる。
さらに、図6(a)のようなスキーマ情報で図6(b)のようなレコード群の場合、フィールド2乃至5については、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定される。スキーマ情報が存在しない図11(a)の場合には、フィールド1については、フィールド値の文字列が「YYYY/MM/DD hh:mm:ss」の形式であるので、確度スコア90(%)と特定される。フィールド2及び5については、データ型が関係しないので、スキーマ情報が存在する場合と同様の結果が得られる。
また、図7(a)のようなスキーマ情報で図7(b)のようなレコード群の場合、フィールド2乃至4については、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定と特定される。スキーマ情報が存在しない図12(a)の場合は、フィールド1については、フィールド値の文字列が「YYYY/MM/DD hh:mm:ss」の形式であるので、確度スコア90(%)と特定される。フィールド2及び4については、データ型が関係しないので、スキーマ情報が存在する場合と同様の結果が得られる。
さらに、図8(a)のようなスキーマ情報で図8(b)のようなレコード群の場合、フィールド1及び2については、フィールド値に時間に関連する文字以外の文字が含まれているとして確度スコア5(%)と特定と特定される。スキーマ情報が存在しない図13(a)の場合も、データ型が関係しないので、スキーマ情報が存在する場合と同様の結果が得られる。
図14の説明に戻って、処理対象フィールドのタイムスタンプ判定を特定された確度スコアに設定する(ステップS41)。上で述べた数値が特定される。
そして、処理対象テーブルにおいて全てのフィールドについて処理したか判断する(ステップS43)。未処理のフィールドが存在する場合にはステップS31に戻る。一方、全てのフィールドを処理した場合には元の処理に戻る。
このように、イベントのタイムスタンプとして蓋然性の高いフィールドに高い値の確度スコアが設定される。また、データ型からタイムスタンプであることが明らかであれば「確定」という蓋然性を表すデータが設定される。
図3の説明に戻って、次に、イベント候補データ生成部3のイベントID・関連ID候補処理部32は、イベントID及び関連ID候補判定処理を実施する(ステップS9)。このイベントID及び関連ID候補判定処理については、図16及び図17を用いて説明する。
イベントID・関連ID候補処理部32は、分析対象データ格納部1に格納されている解析対象テーブルのうち未処理のフィールドを1つ特定する(ステップS51)。そして、分析対象データ格納部1に格納されている、処理対象フィールドのフィールド値が、全レコードで一意となっているか判断する(ステップS53)。処理対象フィールドのフィールド値が、全レコードで一意となっていない、すなわち値が重複しているレコードが存在する場合には、ステップS62に移行する。
イベントIDはイベントの識別子の格納フィールドであるので、そのフィールド値が互いに重複することはない。したがって、イベントIDのフィールドに重複する値が存在すれば、それはイベントIDではないと判断できるためである。
一方、処理対象フィールドのフィールド値が、全レコードで一意である場合には、分析対象データ格納部1に格納されている、処理対象フィールドのフィールド値にNULLが含まれているか判断する(ステップS55)。処理対象フィールドのフィールド値にNULLが含まれている場合には、ステップS62に移行する。イベントIDはイベントの識別子の格納フィールドであるので、そのフィールド値がNULLということはあり得ないためである。処理対象フィールドのフィールド値が全レコードで一意とは言えない場合、又は処理対象フィールドのフィールド値にNULLを含む場合、分析対象データ格納部1に格納されている、処理対象フィールドのフィールド値が、NULLを除いて2以上あるか否か判断する(ステップS62)。処理対象フィールドのフィールド値が、NULLを除いて2種類以上ない場合には、イベントID・関連ID候補判定に「否定」を設定し、例えばメインメモリなどの記憶装置に格納する(ステップS63)。そして処理はステップS61に移行する。関連IDはイベントから他のイベントのどれに対応しているかを表す値であるので、そのフィールド値がNULLを除き2以上の値を有しない場合は、意味がある結果が得られないためである。
例えば図4(b)や図9(b)のようなテーブルの場合、フィールド1とフィールド2とフィールド4とについては、フィールド値に重複が存在せず、フィールド3ついてはフィールド値に重複が存在するが、NULL以外の2種類以上の値をとるので、イベントID・関連ID候補判定に「否定」は設定されない。
また図5(b)や図10(b)のようなテーブルの場合、フィールド1とフィールド2については、フィールド値に重複が存在せず、フィールド3乃至5については重複が存在するが、NULL以外の2種類以上の値をとるので、イベントID・関連ID候補判定に「否定」は設定されない。
さらに図6(b)や図11(b)のようなテーブルの場合、フィールド1とフィールド2については、フィールド値に重複が存在せず、フィールド3乃至5については重複が存在するが、NULL以外の2種類以上の値をとるので、イベントID・関連ID候補判定に「否定」は設定されない。
また図7(b)や図12(b)のようなテーブルの場合、フィールド1とフィールド2については、フィールド値に重複が存在せず、フィールド3及び4については重複が存在するが、NULL以外の2種類以上の値をとるので、イベントID・関連ID候補判定に「否定」は設定されない。
さらに図8(b)や図13(b)のようなテーブルの場合、フィールド1とフィールド2について、フィールド値に重複が存在しないので、イベントID・関連ID候補判定に「否定」は設定されない。
ステップS55において処理対象フィールドのフィールド値にNULLが含まれていないと判断された場合、又はステップS62において処理対象フィールドのフィールド値が、NULLを除いて2種類以上値を有すると判断された場合には、スコア表格納部35に格納されているイベントID・関連ID候補確度スコア表を参照して、スキーマ情報における処理対象フィールドの該当データ部分、処理対象フィールドのフィールド名を表すラベルデータ、及び処理対象フィールドのフィールド値から確度を特定する(ステップS57)。但し、イベントID・関連ID候補確度スコア表に該当項目が存在しない場合には、確度スコア50(%)が特定されるものとする。
イベントID・関連ID候補確度スコア表の一例を図17に示す。図17の例では、フィールドのデータ型が可変長文字列であれば確度スコアは1(%)と設定され、フィールドのデータ型が実数であれば確度スコアは5(%)と設定され、フィールドのデータ型が整数であれば確度スコアは80(%)と設定され、フィールドのデータ型が固定長文字列であれば確度スコアは70(%)と設定され、フィールドのデータ型がタイムスタンプ又は日付であれば確度スコアは10(%)と設定され、フィールド名が主キー指定されていれば確度スコアは80(%)と設定される。フィールド値又はフィールド名の文字列についての項目はここでは定義されていないが、定義されることもある。フィールド値についての項目が定義される場合にはステップS57で参照される。
例えば図4(a)のようなスキーマ情報の場合、フィールド1についてはデータ型がタイムスタンプであるので確度スコア10(%)と特定され、フィールド2についてはデータ型が固定長文字列であって且つ主キー指定されているので50%からの乖離の大きい確度スコア80(%)が採用され、フィールド3についてはデータ型が固定長文字列であるので確度スコア70(%)と特定され、フィールド4についてはデータ型が可変長文字列であるので確度スコア1(%)と特定される。図9(a)のようなスキーマ情報が存在しない例の場合、フィールド1乃至フィールド4について、イベントID・関連ID候補確度スコア表には該当項目が存在しないので確度スコア50(%)が特定される。
例えば図5(a)のようなスキーマ情報の場合、フィールド1についてはデータ型がタイムスタンプであるので確度スコア10(%)と特定され、フィールド2についてはデータ型が固定長文字列であって且つ主キー指定されているので50%からの乖離の大きい確度スコア80(%)が採用され、フィールド3乃至フィールド4についてはデータ型が固定長文字列であるので確度スコア70(%)が特定され、フィールド5についてはデータ型が日付となっているので確度スコア10(%)が特定される。図10(a)のようなスキーマ情報が存在しない例の場合、フィールド1乃至フィールド5について、イベントID・関連ID候補確度スコア表には該当項目が存在しないので確度スコア50(%)が特定される。
例えば図6(a)のようなスキーマ情報の場合、フィールド1についてはデータ型がタイムスタンプであるので確度スコア10(%)と特定され、フィールド2についてはデータ型が固定長文字列であって且つ主キー指定されているので50%からの乖離の大きい確度スコア80(%)が採用され、フィールド3乃至フィールド5についてはデータ型が固定長文字列であるので確度スコア70(%)が特定される。図11(a)のようなスキーマ情報が存在しない例の場合、フィールド1及乃至フィールド5について、イベントID・関連ID候補確度スコア表には該当項目が存在しないので確度スコア50(%)が特定される。
例えば図7(a)のようなスキーマ情報の場合、フィールド1についてはデータ型がタイムスタンプであるので確度スコア10(%)と特定され、フィールド2についてはデータ型が固定長文字列であって且つ主キー指定されているので50%からの乖離の大きい確度スコア80(%)が採用され、フィールド3乃至フィールド4についてはデータ型が固定長文字列であるので確度スコア70(%)が特定される。図12(a)のようなスキーマ情報が存在しない例の場合、フィールド1乃至フィールド4について、イベントID・関連ID候補確度スコア表には該当項目が存在しないので確度スコア50(%)が特定される。
例えば図8(a)のようなスキーマ情報の場合、フィールド1についてはデータ型が固定長文字列であって且つ主キー指定されているので50%からの乖離の大きい確度スコア80(%)が採用され、フィールド2についてはデータ型が固定長文字列であるので確度スコア70(%)が採用される。図13(a)のようなスキーマ情報が存在しない例の場合、フィールド1及び2について、イベントID・関連ID候補確度スコア表には該当項目が存在しないので確度スコア50(%)が特定される。
そして、イベントID・関連ID候補処理部32は、イベントID・関連ID候補判定に、ステップS57で特定された確度スコアを設定して、例えばメインメモリなどの記憶装置に格納する(ステップS59)。
その後、処理対象テーブルにおいて全てのフィールドについて処理したか判断し(ステップS61)、未処理のフィールドが存在する場合にはステップS51に戻る。一方、全てのフィールドについて処理した場合には元の処理に戻る。
このようにすれば、イベントID又は関連IDの蓋然性が高いものについては高い確度スコアが特定されるようになる。また、イベントID又は関連IDの可能性が完全にないものについては「否定」という蓋然性を表すデータが特定される。
図3の説明に戻って、次に、イベント候補データ生成部3のイベント名処理部34は、イベント名判定処理を実施する(ステップS13)。このイベント名判定処理については、図18乃至図20を用いて説明する。
まず、イベント名処理部34は、タイムスタンプ判定処理の処理結果として所定の確度スコア以上でタイムスタンプのフィールドとしてみなすことができるフィールドの数をカウントする(ステップS91)。例えば確度スコア70(%)以上などの閾値を設定する。当然ながら「確定」と特定されているフィールドはタイムスタンプのフィールドである。上で述べた例では、品番DBを除き、フィールド名が日時であるフィールドがタイムスタンプのフィールドと判断され、フィールド数は「1」となる。品番DBでは、タイムスタンプとみなすことができるフィールドはないので、フィールド数は「0」となる。
そして、タイムスタンプのフィールド数が0であるか否か判断する(ステップS93)。フィールド数が0であれば、解析対象テーブルを以下の処理の対象外として設定する(ステップS95)。タイムスタンプがないテーブル(例えば品番DB)は、業務プロセス中に発生するイベントに対応しているテーブルではないと判断される。そして元の処理に戻る。
一方、タイムスタンプのフィールド数が0ではない場合には、フィールド数が1であるか否か判断する(ステップS97)。タイムスタンプのフィールド数が1であれば、イベント名にテーブル名を設定し、例えばメインメモリなどの記憶装置に格納する(ステップS99)。上の例では、受注DBであれば、イベント名は「受注」と特定され、生産DBであれば、イベント名は「生産」と特定され、手配DBであれば、イベント名は「手配」と特定され、配送DBであれば、イベント名は「配送」と特定される。そして元の処理に戻る。
また、タイムスタンプのフィールド数が複数である場合には、タイムスタンプとみなされたフィールドのフィールド名をイベント名に設定し、例えばメインメモリなどの記憶装置に格納する(ステップS101)。そして元の処理に戻る。
例えば図19のようなテーブルが処理対象テーブルである場合にステップS101が実行される。図19の例では、起票日時、承認日時、発注日時、納品日時、検収日時がそれぞれイベントのタイムスタンプとみなされるフィールドとなり、1レコードにイベントが複数記録される形式となっている。このようなテーブルは、図20(a)乃至(e)に示したような起票テーブル、承認テーブル、発注テーブル、納品テーブル及び検収テーブルという複数テーブルとして扱うことができる。従って、このような場合には、「起票」「承認」「発注」「納品」「検収」がそれぞれイベント名として特定される。
以上のような処理を実施することによって、業務プロセス中に発生するイベントに対応しているテーブルを特定すると共に、イベント名を抽出することができるようになる。
図3の説明に戻って、次に、イベント候補データ生成部3は、判定結果を入出力部11を介してユーザに提示する(ステップS15)。例えば、図4(a)及び(b)に示したようなリレーショナルデータベース形式の受注DBの場合には、図21に示すようなデータがユーザに提示される。図21の例では、日時フィールド、受注番号フィールド、地域フィールド、受注内容フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプのフィールドで「確定」となっており、受注番号フィールド及び地域フィールドがイベントIDまたは関連IDの可能性が高いことが分かる。
また、図9(a)に示したCSV形式の受注DBの場合には、図22に示すようなデータがユーザに提示される。図22の例では、日時フィールド、受注番号フィールド、地域フィールド、受注内容フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプの可能性が高く、イベントIDまたは関連IDである可能性はいずれのフィールドも同等であることが分かる。
例えば、図5(a)及び(b)に示したようなリレーショナルデータベース形式の生産DBの場合には、図23に示すようなデータがユーザに提示される。図23の例では、日時フィールド、生産番号フィールド、受注番号フィールド、品番フィールド、納期フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプのフィールドで「確定」となっており、生産番号フィールドと受注番号フィールドと品番フィールドがイベントIDまたは関連IDの可能性が高いことが分かる。
また、図10(a)に示したCSV形式の生産DBの場合には、図24に示すようなデータがユーザに提示される。図24の例では、日時フィールド、生産番号フィールド、受注番号フィールド、品番フィールド、納期フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプの可能性が高く、イベントIDまたは関連IDである可能性はいずれのフィールドも同等であることが分かる。
例えば、図6(a)及び(b)に示したようなリレーショナルデータベース形式の手配DBの場合には、図25に示すようなデータがユーザに提示される。図25の例では、日時フィールド、手配番号フィールド、受注番号フィールド、品番フィールド、納品先フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプのフィールドで「確定」となっており、手配番号フィールドと受注番号フィールドと品番フィールドと納品先フィールドがイベントIDまたは関連IDの可能性が高いことが分かる。
また、図11(a)に示したCSV形式の手配DBの場合には、図26に示すようなデータがユーザに提示される。図26の例では、日時フィールド、手配番号フィールド、受注番号フィールド、品番フィールド、納品先フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプの可能性が高く、イベントIDまたは関連IDである可能性はいずれのフィールドも同等であることが分かる。
例えば、図7(a)及び(b)に示したようなリレーショナルデータベース形式の配送DBの場合には、図27に示すようなデータがユーザに提示される。図27の例では、日時フィールド、手配番号フィールド、配送便フィールド、納品先フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプのフィールドで「確定」となっており、手配番号フィールドと配送便フィールドと納品先フィールドがイベントIDまたは関連IDの可能性が高いことが分かる。
また、図12(a)に示したCSV形式の配送DBの場合には、図28に示すようなデータがユーザに提示される。図28の例では、日時フィールド、手配番号フィールド、配送便フィールド、納品先フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、イベント名についてはテーブル名がイベント名とされるので、全て「否定」とされている。これを見れば、日時フィールドがタイムスタンプの可能性が高く、イベントIDまたは関連IDである可能性はいずれのフィールドも同等であることが分かる。
例えば、図8(a)及び(b)に示したようなリレーショナルデータベース形式の品番DBの場合には、図29に示すようなデータがユーザに提示される。図29の例では、品番フィールド、品名フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、品番DBはタイムスタンプがないと判断され、以降の処理対象外とされているため、イベント名については全て「否定」とされている。これを見れば、タイムスタンプのフィールドが存在する可能性が非常に低く、品番フィールドと品名フィールドはイベントIDまたは関連IDの可能性が高いことが分かる。
また、図13(a)に示したCSV形式の品番DBの場合には、図30に示すようなデータがユーザに提示される。図30の例では、品番フィールド、品名フィールドのそれぞれにつき、ステップS7乃至S13の判定結果が提示されている。なお、品番DBはタイムスタンプがないと判断され、以降の処理対象外とされているため、イベント名については全て「否定」とされている。これを見れば、タイムスタンプのフィールドが存在する可能性は非常に低く、イベントIDまたは関連IDである可能性はいずれのフィールドも同等であることが分かる。
図3の説明に戻って、ステップS15が終了すると、ユーザは、入出力部11を介して、イベント名、タイムスタンプ、イベントID・関連ID候補などについて修正入力又は確定入力を行い、レコードのコピーなどを行って又は命じて、イベント候補データを生成し、イベント候補データ生成部3にイベント候補データ格納部5へ格納させる(ステップS16)。この作業は主に又は一部ユーザによって実施されるので、図3では点線ブロックで描かれている。そして処理はステップS3に戻る。
例えば図21の判定結果に従って、図31に示すようにイベント名についてはテーブル名である「受注」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については受注番号フィールド及び地域フィールドを確定させる場合、例えば図32に示すようなデータが、イベント候補データ格納部5に格納される。図32に示す例では、イベント名「受注」が全てのレコードに付加され、日時フィールドのフィールド値の全レコード分がタイムスタンプのフィールドにコピーされ、受注番号フィールド及び地域フィールドがイベントID・関連ID候補として、フィールド名とフィールド値の全レコード分がコピーされる。
例えば図22の判定結果に従って、イベント名についてはテーブル名である「受注」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については受注番号フィールド及び地域フィールド及び受注内容フィールドを確定させる場合、例えば図33のようなデータが、イベント候補データ格納部5に格納される。
さらに例えば図23の判定結果に従って、イベント名についてはテーブル名である「生産」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については生産番号フィールド及び受注番号フィールド及び品番フィールドを確定させる場合、例えば図34のようなデータが、イベント候補データ格納部5に格納される。
また例えば図24の判定結果に従って、イベント名についてはテーブル名である「生産」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については生産番号フィールド及び受注番号フィールド及び品番フィールド及び納期フィールドを確定させる場合、例えば図35のようなデータが、イベント候補データ格納部5に格納される。
さらに例えば図25の判定結果に従って、イベント名についてはテーブル名である「手配」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については手配番号フィールド及び受注番号フィールド及び品番フィールド及び納品先フィールドを確定させる場合、例えば図36のようなデータが、イベント候補データ格納部5に格納される。
また例えば図26の判定結果に従って、イベント名についてはテーブル名である「手配」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については手配番号フィールド及び受注番号フィールド及び品番フィールド及び納品先フィールドを確定させる場合、例えば図37のようなデータが、イベント候補データ格納部5に格納される。
さらに例えば図27の判定結果に従って、イベント名についてはテーブル名である「配送」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については手配番号フィールド及び配送便フィールド及び納品先フィールドを確定させる場合、例えば図38のようなデータが、イベント候補データ格納部5に格納される。
また例えば図28の判定結果に従って、イベント名についてはテーブル名である「配送」を確定させ、タイムスタンプについては日時フィールドを確定させ、イベントID・関連ID候補については手配番号フィールド及び配送便フィールド及び納品先フィールドを確定させる場合、例えば図39のようなデータが、イベント候補データ格納部5に格納される。
また、例えば図19のようなテーブル内に複数のタイムスタンプのフィールドが存在するようなテーブルを処理対象とする場合は、例えば図40乃至図44に示すようなデータが、イベント候補データ格納部5に格納される。図40乃至図44に示す例では、タイムスタンプとして確定されたフィールドである起票日時、承認日時、発注日時、納品日時、検収日時を元に、それらのフィールド毎に、各々イベント名を「起票」、「承認」、「発注」、「納品」、「検収」と確定させたイベント候補データを作成する。タイムスタンプについては、起票日時フィールド、承認日時フィールド、発注日時フィールド、納品日時フィールド、検収日時フィールドのフィールド値の全レコード分が各々のイベント候補データのタイムスタンプのフィールドにコピーされる。さらに、全てのイベント候補データ共通に、起票日時フィールド、承認日時フィールド、発注日時フィールド、納品日時フィールド、検収日時フィールド以外のフィールドが、イベントID・関連ID候補として、フィールド名とフィールド値の全レコード分がコピーされる。
このようにして以下の処理で用いるイベント候補データがイベント候補データ格納部5に格納されるようになる。
ステップS3で全ての解析対象テーブルを処理したと判断された場合には、イベントデータ生成部7は、イベント候補データ格納部5に格納されているイベント候補データを用いて、イベントデータ生成処理を実施し、処理結果をイベントデータ格納部9に格納する(ステップS17)。
受注イベント、生産イベント、手配イベント、配送イベントに対応して、各々、図32、図34、図36、図38に示されたイベント候補データのセット、または、各々、図33、図35、図37、図39に示されたイベント候補データのセットを用いて生成したイベントデータの例を図45に示す。その生成方法としては、上で述べた特開2008−27072号公報記載のようなイベントデータの関連情報の自動抽出方式を用いても良いし、人手によって、各イベント候補データのイベントID・関連ID候補のフィールド値の対応関係を調査・分析することによって、イベント間の関連性を確定しても良い。
図45では、受注イベントのイベントIDは受注番号であり、生産イベントのイベントIDは生産番号、関連IDは受注番号であり、手配イベントのイベントIDは手配番号、関連IDは受注番号であり、配送イベントのイベントIDは手配番号、関連IDは配送便であることが確定されている。また、生産イベントの関連IDのフィールド値が、受注イベントのイベントIDのフィールド値のどれかの値をとることにより、生産イベントの各々のレコード(すなわち、イベントインスタンス)が、受注イベントのどのレコード(すなわち、イベントインスタンス)と関連しているかが特定されるというイベント間の関連性が確定されている。同様の関連性が、手配イベントの関連IDと受注イベントのイベントIDとの間、配送イベントのイベントIDと手配イベントのイベントIDとの間に確定されている。
また、プロセスインスタンス生成部13は、イベントデータ格納部9に格納されているイベントデータを用いてプロセスインスタンス生成処理を実施し、処理結果をプロセスインスタンスデータ格納部15に格納する(ステップS19)。その生成方法としては、米国特許公開公報2005/076059A1のような業務プロセストラッキング方法等を用いることができる。
図45のイベントデータを用いて、受注番号:JT01の受注イベントインスタンスを起点とするプロセスインスタンスを生成する処理過程の概略説明を図46に示す。最初に、関連IDのフィールド値として、受注イベントのイベントIDである受注番号のフィールド値:JT01をとるレコード(すなわち、イベントインスタンス)として、生産イベントから2つ、手配イベントから3つのイベントインスタンスが確定される。次に、関連IDのフィールド値として、確定された手配イベントのイベントIDである手配番号:TH01,TH02,TH03を関連IDのフィールド値としてとるレコード(すなわち、イベントインスタンス)として、配送イベントから3つのイベントインスタンスが確定される。最後に、確定された、受注番号:JT01の受注イベントインスタンスを起点として、直接・間接的に関連性をもつイベントインスタンスを、そのタイムスタンプの値に基いて時間経過の順につなぎ合わせることによって、プロセスインスタンスが生成される。すなわち、第1のプロセスインスタンスとしては、イベントクラスが、受注、生産、手配、手配、手配、配送、生産、配送、配送であるイベントインスタンスが時系列に並べられたプロセスインスタンスが生成される。
同様にして、図45のイベントデータを用いて生成した全プロセスインスタンスを図47に示す。第2のプロセスインスタンスは、イベントクラスが、受注、手配及び配送であるイベントインスタンスが時系列に並べられたプロセスインスタンスである。第3のプロセスインスタンスは、イベントクラスが、受注、生産、生産、手配及び配送であるイベントインスタンスが時系列に並べられたプロセスインスタンスである。さらに、第4のプロセスインスタンスは、イベントクラスが、受注、手配及び配送であるイベントインスタンスが時系列に並べられたプロセスインスタンスである。
図3の処理フローの説明に戻って、次に、無関係イベント削除部17は、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスのデータを用いて、無関係イベント削除処理を実施する(ステップS21)。この処理については、図48乃至図66を用いて詳細に説明する。
まず、図48乃至図53を用いて無関係イベント削除処理を実施する趣旨について説明する。まず、図48に示すように、プロセスインスタンスデータ格納部15に10個のプロセスインスタンスが格納されているものとする。それらのプロセスインスタンスを構成する各々のイベントインスタンスが属するイベントクラスの並び順に基づいて、プロセスインスタンスを分類し、グループ化し、メンバのプロセスインスタンスの数が多い順に並べると次のようになる。先ず、イベントクラスの並び順がInitial State、契約、伝票作成、請求、回収、契約満了及びFinal Stateであるプロセスインスタンスが5つでグループAが構成される。また、イベントクラスの並び順がInitial State、契約、伝票作成、請求及び回収の後に契約更新を介して伝票作成に戻って請求及び回収の後、さらに契約満了及びFinal Stateであるプロセスインスタンスが3つでグループBが構成される。さらに、イベントクラスの並び順がInitial State、契約、伝票作成、請求及び回収の後に継続を介して請求に戻って回収の後、契約満了及びFinal Stateであるプロセスインスタンスが1つでグループCが構成される。そして、イベントクラスの並び順がInitial State、契約、伝票作成、請求の後、回収、回収と繰り返した後、契約満了及びFinal Stateであるプロセスインスタンスが1つでグループDが構成される。ただし、Initial State及びFinal Stateは、各プロセスインスタンスの先頭・末尾に付けられる仮想的なイベントクラスである。また、以下、グループB、グループCの戻っている部分を手戻りと称する。
このようなグループA乃至Dのプロセスインスタンスのグループを重ね合わせ表示すると、図49に示すような全体フローが生成される。この表示では、各イベントクラスを示す楕円は各1個のみ表示し、同一のイベントクラス間の遷移を表す矢印は煩雑を避けるため1本のみとしている。また、繰り返し、手戻りを見やすくするため、点線で表示している。
また、例えばグループの出現頻度の全体に対して占める比率20%を閾値として、主要フローと例外フローとに分ける場合には、図50(a)に示すように、主要フローとしては、グループAとグループBのプロセスインスタンスが重ね合わされたフローが生成され、ユーザに提示される。この表示では、同一のイベントクラス間の遷移を表す矢印は煩雑を避けるため1本のみとしている。これに対して、例外フローは、図50(b)に示すグループCのプロセスインスタンス(但し、説明上見やすくするため、手戻り部分の経由イベントインスタンス及び遷移については点線で示されている)、図50(c)に示すグループDのプロセスインスタンス(但し、説明上見やすくするため、繰り返しを表す遷移については点線で示されている)がユーザに提示される。
このような図48のようなプロセスインスタンスの場合には、主要フローと例外フローに分ける上で問題はあまりなく、ユーザは、図49や図50に示したような図で、業務フローの概況を容易に把握できるようになる。グループAだけでも50%の出現頻度を占めるため、グループAのみを主要フローとして認めても、図50と同様に、業務フローの概況を把握する上で特別に問題はない。
一方、図51に示すように、図48のプロセスインスタンスに、業務とは無関係のシステム管理用のイベントである記録というイベントクラスに属するイベントインスタンスが挿入されたようなプロセスインスタンスが生成された場合には、図48のような場合とは異なり、問題が生ずる。ここで、図51では、見やすくするため、記録というイベントクラスに属するイベントインスタンス及びそこに到着する遷移及びそこから出発する遷移を点線で示す。図51の例では、Initial State、契約、伝票作成、請求、回収、契約満了及びFinal Stateというフローを基本として、記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスA’が2つ生成されている。加えて、上記基本のフローにおいて契約満了とFinal Stateとの間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスA”が1つ生成されている。さらに、上記基本のフローにおいて契約と伝票作成との間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスA'''が1つ生成されている。また、上記基本のフローにおいてInitial Stateと契約との間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスA""が1つ生成されている。また、Initial State、契約、伝票作成、請求、回収、契約更新、伝票作成、請求、回収、契約満了及びFinal Stateというフローを第2の基本フローとして、1回目の請求と回収との間に記録というイベントクラスに属するイベントインスタンスと、回収と契約満了との間に記録というイベントクラスに属するイベントインスタンスとが挿入されているプロセスインスタンスB’が1つ生成されている。また、上記第2の基本フローにおいて2回目の伝票作成と請求との間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスB”が1つ生成されている。さらに、上記第2の基本フローにおいて回収と契約満了との間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスB'''が1つ生成されている。また、Initial State、契約、伝票作成、請求、回収、継続、請求、回収、契約満了及びFinal StateというフローのプロセスインスタンスCが1つ生成されている。さらに、Initial State、契約、伝票作成、請求、回収、回収、契約満了及びFinal Stateという第3の基本フローとして、請求と回収との間に記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスD’が1つ生成されている。
このように、業務フローとは無関係の記録というイベントクラスに属するイベントインスタンスが挿入されているプロセスインスタンスをそれぞれ異なるものとして単純に分類を行うと、同じグループであると判断されるプロセスインスタンスは、非常に少なくなる。図51の例では、プロセスインスタンスA’のみが2つあるのでグループとしても、その出現頻度が全体に占める比率は20%で、図52に示すようにその他を例外フローとすると、例外フローの出現頻度が全体に占める比率が80%となり、主要フローのみで業務フローの概要を把握することは妥当でない。ここで、図52では、見やすくするため、記録というイベントクラスに属するイベントインスタンス及びそこに到着する遷移及びそこから出発する遷移を点線で示す。例外フロー1乃至3は、記録というイベントクラスに属するイベントインスタンスさえなければ主要フローに統合できる。また、例外フロー4乃至6についても、記録というイベントクラスに属するイベントインスタンスさえなければ主要フローに統合できる。当然、図53に示すように、全プロセスインスタンスを重ね合わせても、記録というイベントクラスに属するイベントインスタンスによって全体フローも複雑になってしまう。この表示では、各イベントクラスを示す楕円は各1個のみ表示し、同一のイベントクラス間の遷移を表す矢印は煩雑を避けるため1本のみとしている。また、記録というイベントクラスに属するイベントインスタンス及びそこに到着する遷移及びそこから出発する遷移を点線で示す。
そこで、図54乃至図66に示すような処理を実施することによって、業務の全体像の把握を困難にしている、業務フローに無関係なイベントクラスに属するイベントインスタンスを、プロセスインスタンスから削除することによって、本来同一グループに分類されるべきプロセスインスタンスが別グループに分類されることを防止することで、ユーザが本来の業務フローの概要を把握できるようにする。なお、無関係イベントは、システム管理用イベントに限定されるわけではなく、例えば、無関係な2以上の業務フローを1つのデータベースで管理するような場合には、互いに他方の業務フローのイベントクラスについても無関係イベントと取り扱う。
無関係イベント削除部17の統計情報抽出部171は、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスからイベント間遷移頻度表を生成し、統計情報格納部173に格納する(図54:ステップS111)。発側イベントと着側イベントとの各組み合わせについて、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスにおける発生頻度をカウントしてイベント間遷移頻度表に登録する。図55に模式的に示すように、例えば発側イベントとして「請求」と着側イベントとして「回収」との組み合わせに着目すると、点線で囲まれた部分がカウントされる。すなわち、プロセスインスタンスA’、A”、A'''及びA""で5回、プロセスインスタンスB’で1回、プロセスインスタンスB”で2回、プロセスインスタンスB'''で2回、プロセスインスタンスCで2回カウントされるので、合計12回となる。よって図55の下段テーブルに示すように、発側イベント「請求」と着側イベント「回収」の対応セルに「12」が登録される。このような処理を全てのイベントクラスの組み合わせについて実施すれば、図56に示すようなイベント間遷移頻度表が生成される。図56の例では、横方向に着側イベントが列挙され、縦方向に発側イベントが列挙されている。ただし、Initial State及びFinal Stateは、各プロセスインスタンスの先頭・末尾に付けられる仮想的なイベントクラスであり、Initial Stateに到着するイベント間遷移及び、Final Stateから出発するイベント間遷移は存在しないので、それらに対応するセルには「−」が記載されている。
次に、統計情報抽出部171は、統計情報格納部173に格納されているイベント間遷移頻度表から、各イベントの発生確率及び条件付き確率の近似値を算出し、統計情報格納部173に格納する(ステップS113)。本ステップでは、図57に示すように、各発側イベントXを固定し、着側イベント全てとの組み合わせについてイベント間遷移頻度F(Y|X)の総和をとることで、各イベントクラスXに属するイベントインスタンスの発生頻度T(X)を計算する。以降、記述の煩雑をさけるため、各イベントクラスXに属するイベントインスタンスの発生頻度を、各イベントXの発生頻度と略する。なお、本実施の形態で取り扱う各プロセスインスタンスの先頭・末尾に付けられる仮想的なイベントクラスであるInitial State 及びFinal Stateを有するような状態遷移頻度表の場合には、着側のイベントYを固定し、発側イベント全てとの組み合わせについて頻度F(Y|X)の総和をとることによって、各イベントの発生頻度を算出しても同じ値が得られる。次に、イベント全部の発生頻度の和GTを算出する。さらに、全てのプロセスインスタンスに含まれる各イベントクラスXに属するイベントインスタンスの数を直接カウントすることで、各イベントXの発生頻度T(X)を求めるようにしても良い。
そして、図58に示すように、各イベントクラスXに属するイベントインスタンスの発生確率の近似値をP(X)≒T(X)/GTとして算出して、統計情報格納部173に格納する。以降、記述の煩雑をさけるため、各イベントクラスXに属するイベントインスタンスの発生確率を、各イベントXの発生確率と略する。同様にして、図59に示すように、発側イベントXが発生した場合に着側イベントYが発生する条件付き確率P(Y|X)の近似値を、P(Y|X)≒F(Y|X)/T(X)として算出して、統計情報格納部173に格納する。以降、記述の煩雑をさけるため、発側イベントXが発生した場合に着側イベントYが発生する条件付き確率を、曖昧とならない場合は適宜、条件付き確率と略する。
図56の例を基にイベントの発生確率P(X)の近似値を算出すると、図60に示すようなデータが統計情報格納部173に格納される。また、同じく図56の例を基に条件付き確率P(Y|X)の近似値を算出すると、図61に示すようなデータが統計情報格納部173に格納される。
次に、統計情報抽出部171は、統計情報格納部173に格納されている各イベントの発生確率及び条件付き確率に基づき、無関係イベント検出指標値を各イベントについて算出し、統計情報格納部173に格納する(ステップS115)。
無関係イベント検出指標値は、以下の統計的な性質を用いて定義される。先ず、事象Aが発生する場合に事象Bが発生する条件付き確率P(B|A)は、P(A∩B)=P(B|A)P(A)として定義される。一方、図62に示すように、事象Aと事象Bとが独立に発生する場合には、事象Aと事象Bとに重複する部分は存在しない。すなわち、事象Aと事象Bとが独立である必要十分条件は、AとBとが同時に発生する確率P(A∩B)は、事象Aが発生する確率P(A)と事象Bが発生する確率P(B)について、P(A∩B)=P(A)P(B)が成り立つことである。したがって、事象Aと事象Bとが独立に発生する場合には、事象Aが発生する場合に事象Bが発生する条件付き確率P(B|A)については、P(B|A)=P(B)が導出される。同様に、事象Bが発生する場合に事象Aが発生する条件付き確率P(A|B)についても、P(A|B)=P(A)が導出される。
ここで、当該分析対象の業務プロセスの業務イベントとは関係無く発生する無関係イベントについて、無関係イベントの発生という事象は、他の業務イベントの発生と独立とみなせる。したがって、他のイベントが発生した場合に無関係イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率P(無関係イベント|他のイベント)と、無関係イベントのイベントクラスに属するイベントインスタンスの発生確率P(無関係イベント)について、P(無関係イベント|他のイベント)=P(無関係イベント)が成立する。
すなわち、|1−P(無関係イベント|他のイベント)/P(無関係イベント)|=0が導出される。従って、本実施の形態における第1の実施例の無関係イベント検出指標としては、|1−P(判断対象イベント|他のイベント)/P(判断対象イベント)|を採用する。
その上で、|1−P(判断対象イベント|他のイベント)/P(判断対象イベント)|を、当該判断対象の業務イベントを固定し他の業務イベントとの組み合わせ全てについて計算したものの総和を無関係イベント検出指標値として計算すると共に、閾値として「当該判断対象の業務イベントと他の業務イベントとの組み合わせの総数」を採用する。
図60及び図61から第1の実施例の無関係イベント指標及びその合計値(実際の無関係イベント検出指標値)を算出すると、図63に示すような値が得られる。ここで、上記記載の無関係イベント検出指標は、イベント間遷移頻度表に対応付けると、|1−P(着側イベント|発側イベント)/P(着側イベント)|となる。図63に示した例では、最下行以外は第1の実施例の無関係イベント検出指標の値を表しており、最下行は、無関係イベント検出指標値を表している。記録というイベントクラスについての第1の実施例の無関係イベント検出指標値は、閾値である「8」(=当該判断対象の業務イベントと他の業務イベントとの組み合わせの総数)を唯一下回るイベントクラスとなっているので、無関係イベントとして検出することができる。
上で述べた第1の実施例の無関係イベント検出指標を採用せず、他の指標を用いるようにしても良い。例えば、イベント間遷移頻度表と、イベントの発生確率及び条件付き確率とを用いて、以下のような第2の実施例の無関係イベント検出指標を用いる場合もある。
|P(判断対象イベント)−P(判断対象イベント|他のイベント)|・(F(判断対象イベント|他のイベント))1/2
第2の実施例の無関係イベント検出指標も、|P(無関係イベント)−P(無関係イベント|他のイベント)|=0」が成り立つことを利用している。その上で、統計学的にサンプル数が多いほど、すなわち、イベント間遷移頻度が高くなるほど、イベント発生確率及び条件付き確率の近似値の値が正確に出るはず、即ち、判断対象イベントが無関係イベントであれば、|P(判断対象イベント)−P(判断対象イベント|他のイベント)|の値はより「0」に近くなるはずであるので、そうならないペナルティ加重として、イベント間遷移発生頻度の平方根(F(判断対象イベント|他のイベント))1/2を乗じている。上記記載の無関係イベント検出指標は、イベント間遷移頻度表に対応付けると、|P(着側イベント)−P(着側イベント|発側イベント)|・(F(着側イベント|発側イベント))1/2となる。
なお、閾値と比較する無関係イベント検出指標値は、以下のとおりである。
第1の値=Σ着側イベントと同一でない発側イベントとの全組み合わせ{|P(着側イベント)−P(着側イベント|発側イベント)|・(F(着側イベント|発側イベント))1/2 }
第2の値=Σ着側イベントと同一でない発側イベントとの全組み合わせ{|P(着側イベント)−P(着側イベント|発側イベント)|・(F(着側イベント|発側イベント))1/2 }/(T(着側イベント))2
また、第2の値を算出する際に、着側イベントの発生頻度の2乗(T(着側イベント))2で除しているのは、イベント発生頻度が低いことの影響を下げるためである。
なお、判断対象イベントクラスの第1及び第2の値について、各々他のイベントクラスの値と比較したときに明らかに小さいという条件が、第1及び第2の値の両方について成り立つ場合に、そのイベントクラスを無関係イベントとして検出する。明らかに小さいという条件は、例えば第1及び第2の値の各々について、全イベントクラスの平均値及び標準偏差の値を用いて算出した(平均−標準偏差)と比較して小さいという条件を用いる。
このような第2の実施例の無関係イベント検出指標値を採用した場合の例を図64に示す。図64の例では、下から2番目の行は、第1の値の計算結果を表しており、最下行は、第2の値の計算結果を表している。第1の値の平均値は1.76であり、標準偏差は1.25であり、(平均値−標準偏差)=0.51である。これだけを判断基準にすると、無関係イベントである記録というイベントクラスの値と継続イベントクラスの値と契約更新というイベントクラスの値が、0.51以下となってしまう。一方、第2の値の平均値は0.02であり、標準偏差は0.01であり、(平均値−標準偏差)=0.01である。第2の値について(平均値−標準偏差)=0.01と比較すると、当該値以下となるのは記録というイベントクラスと回収というイベントクラスと契約満了というイベントクラスである。したがって、第1及び第2の値の両方について、条件を満たすイベントクラスである記録というイベントクラスを無関係イベントとして検出することができる。
無関係イベント検出部175は、統計情報格納部173に格納されている指標値(すなわち、閾値と比較する無関係イベント検出指標値)が閾値以下であるイベントクラスを無関係イベントとして検出し、無関係イベント削除部177に出力する(ステップS119)。端子Aを介して図65の処理に移行する。
無関係イベント削除部177は、無関係イベント検出部175から無関係イベントのイベントクラスに属するイベントインスタンスのデータ(例えばID)を受け取り、受け取った無関係イベントのイベントクラスに属するイベントインスタンスのうち未処理の無関係イベントのイベントクラスに属するイベントインスタンスを1つ特定する(ステップS121)。そして、プロセスインスタンスデータ格納部15に格納されているプロセスインスタンスのうち、特定された無関係イベントのイベントクラスに属するイベントインスタンスを含むプロセスインスタンスを特定する(ステップS123)。
そして、無関係イベント削除部177は、特定されたプロセスインスタンスの各々について、無関係イベントのイベントクラスに属するイベントインスタンスを削除し、前後のイベントを直接接続し、修正後のプロセスインスタンスのデータを無関係イベント削除済みプロセスインスタンスデータ格納部19に格納する(ステップS125)。そして、全ての無関係イベントのイベントクラスに属するイベントインスタンスについて処理したか判断する(ステップS127)。未処理の無関係イベントが存在する場合にはステップS121に戻る。一方、全ての無関係イベントのイベントクラスに属するイベントインスタンスを処理した場合には元の処理に戻る。
ステップS125を実施すると、例えば図66に示すようなプロセスインスタンスが得られる。このように、Aグループは、Initial State、契約、伝票作成、請求、回収、契約満了及びFinal Stateというフローの5つのプロセスインスタンスを含む。また、Bグループは、Initial State、契約、伝票作成、請求、回収、契約更新、伝票作成、請求、回収、契約満了及びFinal Stateというフローの3つのプロセスインスタンスを含む。さらに、Cグループは、Initial State、契約、伝票作成、請求、回収、継続、請求、回収、契約満了及びFinal Stateというフローの1つのプロセスインスタンスを含む。また、Dグループは、Initial State、契約、伝票作成、請求、回収、回収、契約満了及びFinal Stateというフローの1つのプロセスインスタンスを含む。
図3の説明に戻って、プロセスインスタンス分類処理部21は、無関係イベント削除済みプロセスインスタンスデータ格納部19に格納されているプロセスインスタンスを分類し、分類結果に基づき種類毎に計数して、種類毎に計数値をモデルデータ格納部23に格納する(ステップS23)。図66に示されたようなプロセスインスタンスが生成された場合には、ステップS23を実施すると図67に示すようなプロセスインスタンスが、モデルデータ格納部23に格納される。モデルデータ格納部23には、図67に示すようなデータが格納される。図67の例では、上で述べた4つのグループのプロセスインスタンスと、それぞれの計数値が登録されている。なお、主要フローフラグの欄には、この段階では何も登録されない。
そして、プロセス表示処理部25は、モデルデータ格納部23に格納されているデータを用いて、フロー表示処理を実施する(ステップS25)。フロー表示処理について図68乃至図70を用いて説明する。
まず、フロー表示処理部25は、モデルデータ格納部23に格納されているプロセスインスタンスのグループを計数値に基づき降順に整列させる(ステップS141)。そして、各プロセスのグループを主要フローとして扱うための判断基準となる、当該グループのプロセスインスタンスの全体に占める比率の閾値を、ユーザから入力された場合には当該入力値により、ユーザの入力がない場合には予め設定されている値で決定する(ステップS143)。例えば全体に占める比率の閾値20%以上のグループを主要フローと分類する場合には、20%を入力する。但し、予め設定されている値(例えば30%)をそのまま用いるようにしても良い。
そして、フロー表示処理部25は、計数値上位より1つ未選択のプロセスインスタンスを選択する(ステップS147)。この選択されたプロセスインスタンスを主要フロー(典型フローとも呼ぶ)に指定する(ステップS149)。具体的には、モデルデータ格納部23のテーブルにおける主要フローフラグをオンにセットする。そして、全体に対して占める比率を算出し(ステップS151)、比率≧閾値であるか否か判断する(ステップS153)。この条件が満たされている場合にはステップS147に戻る。
例えば、図67の例では、最初に第1レコードを選択すると、全体に占める比率が50%となり、閾値が20%であれば、ステップS147に戻る。次に、第2レコードを選択すると、全体に占める比率は30%となり、同様に、ステップS147に戻る。このように第1レコード及び第2レコードについて主要フローフラグがオンにセットされる。
最後に、第3レコードを選択すると、全体に占める比率が10%となり、全体に占める比率≧閾値という条件が満たされなくなるので、フロー表示処理部25は、元の処理に戻る。このようにすれば、ステップS147で選択されたプロセスインスタンスのグループ以外のプロセスインスタンスは、主要フローフラグがオンにセットされていないので、例外フローとして特定されたことになる。
図3の説明に戻って、フロー表示処理部25は、モデルデータ格納部23に格納されているデータを用いて、入出力部11を介して処理結果を出力する(ステップS27)。例えば、全てのプロセスインスタンスを重ね合わせて表示する場合には、図69に示すような業務フローが表示されるようになる。この表示では、各イベントクラスを示す楕円は各1個のみ表示し、同一のイベントクラス間の遷移を表す矢印は煩雑を避けるため1本のみとしている。図69で示すように、継続を経由する手戻りと契約更新を経由する手戻りと、回収の繰り返しがそれぞれ1つだけ存在するような表示になる。
また、モデルデータ格納部23に格納されている主要フローフラグのデータを用いて、主要フローと例外フローとを分けて表示する場合には、図70に示すような表示がなされる。例えば、80%を分類割合としていると、図66に示したテーブルにおいて第1及び第2レコードのプロセスインスタンスが重ね合わされて、図70の第1行目のような業務フローが主要フローとして表示される。主要フロー表示では、同一のイベントクラス間の遷移を表す矢印は煩雑を避けるため1本のみとしている。また、図66に示したテーブルにおいて第3及び第4のプロセスインスタンスが、図70において第2行目及び第3行目の例外フローとして表示される。
このような処理を実施すれば、図52のような分類及び表示と比べて、整理された形で業務フローが提示されるため、ユーザは、実際に実施されている業務フローの概要をより把握しやすくなる。すなわち、特徴を把握する上で業務の全体像の把握を困難にしている無関係イベントが削除されているので、繰り返しの有無や仕方、手戻りの有無や仕方を、把握しやすくなる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、例えば図1A及び図1Bに示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュールに対応しない。
また、各スコア表も一例であって、確度スコア値の設定の仕方は、経験的にさらに細かく決定される場合もある。さらに、スコア表の項目についても、より少ない項目が設定される場合もあれば、より多くの項目が設定される場合もある。
また、図3の処理フローにおいて、ステップS7乃至S13については順番の入れ替えが可能であり、また並列に実施するようにしてもよい。
また、判定結果の出力では、各判定項目において「確定」判定や所定の閾値以上の確度スコアとなっているフィールドを自動的に選択してユーザに提示し、自動選択できない判定項目についてユーザに選択又は入力を促すようにしてもよい。
さらに、処理対象フィールドについてのループは、ステップS7乃至S13内の各々で構成されているが、ステップS7乃至S13の外側に処理対象フィールドについてのループを出すようにしてもよい。
以上本実施の形態をまとめると以下のようになる。
本業務フロー処理方法は、業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、プロセスインスタンスデータ格納部に格納されているプロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どのイベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納するステップと、統計情報格納部に格納されている各イベント間遷移発生頻度を、該当する発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を業務イベントのイベントクラスに属するイベントインスタンス全部の発生頻度の和で除することによって、各業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、統計情報格納部に格納するステップと、業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係(例えば、他の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に無関係イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率は当該無関係イベントのイベントクラスに属するイベントインスタンスの発生確率に等しくなるという関係)を基に、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ判断対象の業務イベントのイベントクラスが無関係イベントのイベントクラスであるか否か判断するための評価式の値を、統計情報格納部に格納されている業務イベントのイベントクラスに属するイベントインスタンスの発生確率と条件付き確率とを用いて算出するステップと、評価値が所定の閾値以下である判断対象の業務イベントのイベントクラスを特定し、プロセスインスタンスデータ格納部に格納されているプロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップとを含む。
上記のような評価式を採用することによって、判断対象の業務イベントが無関係イベントであるか否かを無関係イベントの統計的性質を用いて自動的に判断することができるようになり、ユーザが業務フローを分析する上で必要な業務イベントのイベントクラスに属するイベントインスタンスを含むプロセスインスタンスを生成することができるようになる。すなわち、適切な業務フローの分析を行うことができるようになる。
なお、上で述べた評価式は、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率で除した値と1との差の絶対値を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組み合わせについて計算したものの総和(すなわち、Σ他の業務イベントとの組み合わせ全て{|1−P(判断対象イベント|他のイベント)/P(判断対象イベント)|})である場合もある。このような評価式を採用することによって、無関係イベントであるか否かを判断するための評価値を簡単に算出することができるようになる。なお、この際には所定の閾値が、(当該判断対象の業務イベントと他の業務イベントとの組み合わせの総数)とすればよい。
さらに、上で述べた評価式が、2つの評価式で構成される場合もある。判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率との差の絶対値と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスから当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスへのイベント間遷移発生頻度の平方根との積を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組み合わせについて計算したものの総和である第1の評価式(第1の評価式:Σ他の業務イベントとの組み合わせ全て{|P(判断対象イベント)−P(判断対象イベント|他のイベント)|・(F(判断対象イベント|他のイベント))1/2})と、第1の評価式の値を判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度の二乗で除する第2の評価式(第2の評価式:Σ他の業務イベントとの組み合わせ全て{|P(判断対象イベント)−P(判断対象イベント|他のイベント)|・(F(判断対象イベント|他のイベント))1/2 }/(T(判断対象イベント))2)である場合もある。この際、第1の評価式の所定の閾値が、判断対象の業務イベントの候補となるイベントクラスの全てについて算出した第1の評価式の値の平均値から、判断対象の業務イベントの候補となるイベントクラスの全てについて算出した第1の評価式の値の標準偏差を減じた値である場合もある。また、第2の評価式の所定の閾値が、判断対象の業務イベントの候補となるイベントクラスの全てについて算出した第2の評価式の値の平均値から、判断対象の業務イベントの候補となるイベントクラスの全てについて算出した第2の評価式の値の標準偏差を減じた値である場合もある。このような2つの評価式の値が両方とも対応する閾値以下である場合には、判断対象の業務イベントは無関係イベントと判断される。
評価式は、このように様々な式に変形可能であるが、基本的には、無関係イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に無関係イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率は当該無関係イベントのイベントクラスに属するイベントインスタンスの発生確率に等しくなるという関係を基に規定される。
さらに、本業務フロー処理方法は、修正後プロセスインスタンスデータ格納部に格納されているプロセスインスタンスを、構成要素であるイベントインスタンスの属するイベントクラスに基づき分類して作成したグループ毎に計数するステップと、計数結果に基づき、出現頻度が所定基準以上となっており且つ修正後プロセスインスタンスデータ格納部に格納されているプロセスインスタンスを特定し、主要な業務フローとして出力する出力ステップとをさらに含むようにしても良い。ユーザは、業務をより分析しやすくなる。
また、上で述べた出力ステップが、特定されたプロセスインスタンスを重ね合わせるステップを含むようにしてもよい。このようにすれば無駄に多くのプロセスインスタンスを提示しなくなるので、ユーザは業務フローを把握しやすくなる。
さらに、上で述べた出力ステップが、特定されたプロセスインスタンス以外のプロセスインスタンスを、例外フローとして出力するステップを含むようにしてもよい。どのような例外フローが存在するかを把握しやすくなる。
なお、本発明に係る方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
なお、業務システム分析装置は、コンピュータ装置であって、図71に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
(付記1)
業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、
前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納するステップと、
前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を記業務イベントのイベントクラス全部に属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納するステップと、
前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出するステップと、
前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップと、
を、コンピュータに実行させるための業務フロー処理プログラム。
(付記2)
前記評価式が、
前記判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率で除した値と1との差の絶対値を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組み合わせについて計算したものの総和
であり、
前記所定の閾値が、(当該判断対象の業務イベントと他の業務イベントとの組み合わせの総数)である
付記1記載の業務フロー処理プログラム。
(付記3)
前記評価式が、
前記判断対象の業務イベントのイベントクラスに属するイベントインスタンス発生確率と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率との差の絶対値と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスから当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスへのイベント間遷移発生頻度の平方根との積を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組合せについて計算したものの総和である第1の評価式と、
前記第1の評価式の値を前記判断対象の業務イベントの発生頻度の二乗で除する第2の評価式と、
を含み、
前記第1の評価式の所定の閾値が、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第1の評価式の値の平均値から、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第1の評価式の値の標準偏差を減じた値であり、
前記第2の評価式の所定の閾値が、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第2の評価式の値の平均値から、前記判断対象の業務イベントの候補の全てについて算出した前記第2の評価式の値の標準偏差を減じた値である
付記1記載の業務フロー処理プログラム。
(付記4)
前記修正後プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスを、構成要素であるイベントインスタンスの属するイベントクラスに基づき分類して作成したグループ毎に計数するステップと、
前記計数結果に基づき、出現頻度が所定基準以上となっており且つ前記修正後プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスを特定し、主要な業務フローとして出力する出力ステップと、
をさらに前記コンピュータに実行させるための付記1記載の業務フロー処理プログラム。
(付記5)
前記出力ステップが、
特定された前記プロセスインスタンスを重ね合わせるステップ
を含む付記4記載の業務フロー処理プログラム。
(付記6)
前記出力ステップが、
特定された前記プロセスインスタンス以外のプロセスインスタンスを、例外フローとして出力するステップ
を含む付記4記載の業務フロー処理プログラム。
(付記7)
業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、
前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント感染に発生頻度として計数し、統計情報格納部に格納するステップと、
前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を前記業務イベントのイベントクラス全部に属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納するステップと、
前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出するステップと、
前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップと、
を含み、コンピュータに実行される業務フロー方法。
(付記8)
業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納する手段と、
前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納する手段と、
前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記務イベントのイベントクラスに属するイベントインスタンスの発生頻度を前記業務イベントのイベントクラス全部に属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納する手段と、
前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出する手段と、
前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納する手段と、
を有する業務フロー処理装置。
本発明の実施の形態における機能ブロック図である。 無関係イベント削除部の機能ブロック図である。 (a)乃至(d)は、本発明の実施の形態の概要を説明するための図である。 本発明の実施の形態におけるメインの処理フローを示す図である。 (a)は、抽出データ例である受注DBのスキーマ情報、(b)は、受注DBのレコード群を示す図である。 (a)は、抽出データ例である生産DBのスキーマ情報、(b)は、生産DBのレコード群を示す図である。 (a)は、抽出データ例である手配DBのスキーマ情報、(b)は、手配DBのレコード群を示す図である。 (a)は、抽出データ例である配送DBのスキーマ情報、(b)は、配送DBのレコード群を示す図である。 (a)は、抽出データ例である品番DBのスキーマ情報、(b)は、品番DBのレコード群を示す図である。 (a)は、CSV形式の受注DBのデータ例を示し、(b)は、受注DBのデータをテーブル化した例を示す図である。 (a)は、CSV形式の生産DBのデータ例を示し、(b)は、生産DBのデータをテーブル化した例を示す図である。 (a)は、CSV形式の手配DBのデータ例を示し、(b)は、手配DBのデータをテーブル化した例を示す図である。 (a)は、CSV形式の配送DBのデータ例を示し、(b)は、配送DBのデータをテーブル化した例を示す図である。 (a)は、CSV形式の品番DBのデータ例を示し、(b)は、品番DBのデータをテーブル化した例を示す図である。 タイムスタンプ判定処理の処理フローを示す図である。 タイムスタンプ確度スコア表の一例を示す図である。 イベントID・関連ID候補判定処理の処理フローを示す図である。 イベントID・関連ID候補確度スコア表の一例を示す図である。 イベント名判定処理の処理フローを示す図である。 タイムスタンプが複数含まれるテーブルの一例を示す図である。 (a)乃至(e)は、図19のテーブルをイベント毎に複数のテーブルとして分割した例を示す図である。 スキーマ情報が存在する場合における、受注DBのイベント候補データの各要素に対する判定表示の一例を示す図である。 CSV形式のデータの場合における、受注DBのイベント候補の各要素に対する判定表示の一例を示す図である。 スキーマ情報が存在する場合における、生産DBのイベント候補データの各要素に対する判定表示の一例を示す図である。 CSV形式のデータの場合における、生産DBのイベント候補の各要素に対する判定表示の一例を示す図である。 スキーマ情報が存在する場合における、手配DBのイベント候補データの各要素に対する判定表示の一例を示す図である。 CSV形式のデータの場合における、手配DBのイベント候補の各要素に対する判定表示の一例を示す図である。 スキーマ情報が存在する場合における、配送DBのイベント候補データの各要素に対する判定表示の一例を示す図である。 CSV形式のデータの場合における、配送DBのイベント候補の各要素に対する判定表示の一例を示す図である。 スキーマ情報が存在する場合における、品番DBのイベント候補データの各要素に対する判定表示の一例を示す図である。 CSV形式のデータの場合における、品番DBのイベント候補の各要素に対する判定表示の一例を示す図である。 イベント候補データの各要素に対する選択結果の一例を示す図である。 スキーマ情報が存在する場合において受注DBのデータから生成したイベント候補データの一例を示す図である。 CSV形式のデータの場合において受注DBのデータから生成したイベント候補データの一例を示す図である。 スキーマ情報が存在する場合において生産DBのデータから生成したイベント候補データの一例を示す図である。 CSV形式のデータの場合において生産DBのデータから生成したイベント候補データの一例を示す図である。 スキーマ情報が存在する場合において手配DBのデータから生成したイベント候補データの一例を示す図である。 CSV形式のデータの場合において手配DBのデータから生成したイベント候補データの一例を示す図である。 スキーマ情報が存在する場合において配送DBのデータから生成したイベント候補データの一例を示す図である。 CSV形式のデータの場合において配送DBのデータから生成したイベント候補データの一例を示す図である。 図19の起票に関するイベント候補データの一例を示す図である。 図19の承認に関するイベント候補データの一例を示す図である。 図19の発注に関するイベント候補データの一例を示す図である。 図19の納品に関するイベント候補データの一例を示す図である。 図19の検収に関するイベント候補データの一例を示す図である。 イベントデータ及びイベント間関係ツリーの一例を示す図である。 イベントデータからのプロセスインスタンス生成を説明するための図である。 プロセスインスタンスの一例を示す図である。 主要及び例外フローの抽出処理を説明するための図である。 図48に示したプロセスインスタンスを重ね合わせる場合の表示例を示す図である。 (a)乃至(c)は、図48に示したプロセスインスタンスを、主要フローと例外フローとに分類した場合の表示例を示す図である。 従来技術の問題を説明するための図である。 従来技術の問題を説明するための図である。 従来技術の問題を説明するための図である。 無関係イベント削除処理の処理フローを示す図である。 イベント間遷移頻度のカウント方法を説明するための図である。 イベント間遷移頻度表の一例を示す図である。 イベント間遷移頻度表の一部分を示す図である。 各イベントの発生確率の算出を模式的に示す図である。 条件付き確率の算出を模式的に示す図である。 各イベントの発生確率の一例を示す図である。 条件付き確率表の一例を示す図である。 事象の独立を説明するための図である。 評価指標の第1の算出例を示す図である。 評価指標の第2の算出例を示す図である。 無関係イベント削除処理の処理フローを示す図である。 無関係イベント削除後のプロセスインスタンスの例を示す図である。 モデルデータ格納部に格納されるデータの一例を示す図である。 フロー表示処理の処理フローを示す図である。 図66のプロセスインスタンスを全て重ね合わせた例を示す図である。 図66のプロセスインスタンスを主要フローと例外フローとで分けて重ね合わせた例を示す図である。 コンピュータ装置の機能ブロック図である。
符号の説明
1 分析対象データ格納部 3 イベント候補データ生成部
5 イベント候補データ格納部 7 イベントデータ生成部
9 イベントデータ格納部 11 入出力部
13 プロセスインスタンス生成部 15 プロセスインスタンスデータ格納部
17 無関係イベント削除部
19 関係イベント削除済みプロセスインスタンスデータ格納部
21 プロセスインスタンス分類処理部 23 モデルデータ格納部
25 プロセス表示処理部
31 タイムスタンプ処理部 32 イベントID・関連ID候補処理部
34 イベント名処理部 35 スコア表格納部
171 統計情報抽出部 173 統計情報格納部
175 無関係イベント検出部 177 無関係イベント削除部

Claims (7)

  1. 業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、
    前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納するステップと、
    前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を前記業務イベント全部のクラスに属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納するステップと、
    前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出するステップと、
    前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップと、
    を、コンピュータに実行させるための業務フロー処理プログラム。
  2. 前記評価式が、
    前記判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率で除した値と1との差の絶対値を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組み合わせについて計算したものの総和
    であり、
    前記所定の閾値が、当該判断対象の業務イベントと他の業務イベントとの組み合わせの総数である
    請求項1記載の業務フロー処理プログラム。
  3. 前記評価式が、
    前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率との差の絶対値と、当該判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスから当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスへのイベント間遷移発生頻度の平方根との積を、当該判断対象の業務イベントのイベントクラスと、他の業務イベントのイベントクラスとの全ての組み合わせについて計算したものの総和である第1の評価式と、
    第1の評価式の値を前記判断対象の業務イベントの発生頻度の二乗で除する第2の評価式と、
    を含み、
    前記第1の評価式の所定の閾値が、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第1の評価式の値の平均値から、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第1の評価式の値の標準偏差を減じた値であり、
    前記第2の評価式の所定の閾値が、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第2の評価式の値の平均値から、前記判断対象の業務イベントの候補となるイベントクラスの全てについて算出した前記第2の評価式の値の標準偏差を減じた値である
    請求項1記載の業務フロー処理プログラム。
  4. 前記修正後プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスを、構成要素であるイベントインスタンスの属するイベントクラスに基づき分類して作成したグループ毎に計数するステップと、
    前記計数結果に基づき、出現頻度が所定基準以上となっており且つ前記修正後プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスを特定し、主要な業務フローとして出力する出力ステップと、
    をさらに前記コンピュータに実行させるための請求項1記載の業務フロー処理プログラム。
  5. 前記出力ステップが、
    特定された前記プロセスインスタンスを主要な業務フローに重ね合わせて出力するステップ
    を含む請求項4記載の業務フロー処理プログラム。
  6. 業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納するステップと、
    前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どの業務イベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合わせ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納するステップと、
    前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を前記業務イベント全部のクラスに属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納するステップと、
    前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出するステップと、
    前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納するステップと、
    を含み、コンピュータに実行される業務フロー処理方法。
  7. 業務処理の結果を格納するデータベースから案件毎に実施された一連の業務イベントのデータを抽出して、前記案件毎に実施された業務イベントのイベントクラスに属するイベントインスタンスを時系列に並べたプロセスインスタンスを生成し、プロセスインスタンスデータ格納部に格納する手段と、
    前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスのデータから、プロセスインスタンス中のイベントインスタンスの遷移における発側及び着側のイベントインスタンスが各々どのイベントクラスに属しているかに応じて、発側の業務イベントのイベントクラスと着側の業務イベントのイベントクラスとの組み合せ毎に遷移の発生頻度をイベント間遷移発生頻度として計数し、統計情報格納部に格納する手段と、
    前記統計情報格納部に格納されている各前記イベント間遷移発生頻度を、該当する前記発側の業務イベントのイベントクラスに属するイベントインスタンスの発生頻度で除することによって、前記発側の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に前記着側の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率を算出すると共に、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生頻度を前記業務イベント全部のクラスに属するイベントインスタンスの発生頻度の和で除することによって、各前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率を算出し、前記統計情報格納部に格納する手段と、
    前記業務処理とは無関係であるにもかかわらず業務イベントとして抽出され且つ前記業務処理に係る他の業務イベントと独立に発生する無関係イベントに関してのみ成り立つ関係を基に、判断対象の業務イベント以外の業務イベントのイベントクラスに属するイベントインスタンスが発生した場合に当該判断対象の業務イベントのイベントクラスに属するイベントインスタンスが発生する条件付き確率及び前記判断対象の業務イベントのイベントクラスに属するイベントインスタンスの発生確率を用いて定義され且つ前記判断対象の業務イベントのイベントクラスが前記無関係イベントのイベントクラスであるか否か判断するための評価式の値を、前記統計情報格納部に格納されている前記業務イベントのイベントクラスに属するイベントインスタンスの発生確率と前記条件付き確率とを用いて算出する手段と、
    前記評価値が所定の閾値以下である前記判断対象の業務イベントのイベントクラスを特定し、前記プロセスインスタンスデータ格納部に格納されている前記プロセスインスタンスから当該イベントクラスに属するイベントインスタンスを削除して修正後プロセスインスタンスを生成し、修正後プロセスインスタンスデータ格納部に格納する手段と、
    を有する業務フロー処理装置。
JP2008181927A 2008-07-11 2008-07-11 業務フロー処理プログラム、方法及び装置 Expired - Fee Related JP5169560B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008181927A JP5169560B2 (ja) 2008-07-11 2008-07-11 業務フロー処理プログラム、方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008181927A JP5169560B2 (ja) 2008-07-11 2008-07-11 業務フロー処理プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2010020634A JP2010020634A (ja) 2010-01-28
JP5169560B2 true JP5169560B2 (ja) 2013-03-27

Family

ID=41705445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008181927A Expired - Fee Related JP5169560B2 (ja) 2008-07-11 2008-07-11 業務フロー処理プログラム、方法及び装置

Country Status (1)

Country Link
JP (1) JP5169560B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5246031B2 (ja) * 2009-05-20 2013-07-24 富士通株式会社 業務フロー処理プログラム、方法及び装置
US8619084B2 (en) * 2010-05-03 2013-12-31 International Business Machines Corporation Dynamic adaptive process discovery and compliance
JP5565202B2 (ja) * 2010-08-20 2014-08-06 富士通株式会社 プロセスインスタンス処理方法及び装置
JP5892006B2 (ja) * 2012-09-03 2016-03-23 富士通株式会社 分析プログラム、分析方法及び分析装置
JP6738637B2 (ja) * 2016-04-05 2020-08-12 株式会社日立製作所 業務フロー分析プログラム、業務フロー分析方法、および業務フロー分析装置
JP6690389B2 (ja) 2016-04-28 2020-04-28 富士通株式会社 フロー生成プログラム、フロー生成方法およびフロー生成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3335602B2 (ja) * 1999-11-26 2002-10-21 株式会社クリエイティブ・ブレインズ 思考系の解析方法および解析装置
KR100500329B1 (ko) * 2001-10-18 2005-07-11 주식회사 핸디소프트 워크플로우 마이닝 시스템 및 방법
JP4380596B2 (ja) * 2005-06-01 2009-12-09 日本電信電話株式会社 業務プロセスモデルの構造推定方法及びその装置
JP4704461B2 (ja) * 2006-05-16 2011-06-15 富士通株式会社 業務モデル生成プログラム、業務モデル生成方法および業務モデル生成装置
JP4997856B2 (ja) * 2006-07-19 2012-08-08 富士通株式会社 データベース分析プログラム、データベース分析装置、データベース分析方法
EP2063384A4 (en) * 2006-09-15 2011-07-13 Fujitsu Ltd INFORMATION PROCESSING AND DEVICE FOR WORKING PROCESS ANALYSIS

Also Published As

Publication number Publication date
JP2010020634A (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
JP4832523B2 (ja) 業務プロセス分析のための情報処理方法及び装置
US20110161132A1 (en) Method and system for extracting process sequences
JP3302522B2 (ja) データベースシステムおよびその情報活用支援装置
JP4704461B2 (ja) 業務モデル生成プログラム、業務モデル生成方法および業務モデル生成装置
US8024305B2 (en) Updating a data warehouse schema based on changes in an observation model
JP4717945B2 (ja) 業務分析プログラムおよび業務分析装置
US7904808B2 (en) Computer-readable recording medium where document management program is recorded, document management apparatus, and document management method
US10185478B2 (en) Creating a filter for filtering a list of objects
JP5169560B2 (ja) 業務フロー処理プログラム、方法及び装置
US20100042745A1 (en) Workflow diagram generation program, apparatus and method
US10915563B2 (en) Analysis server device, data analysis system, and data analysis method
KR101425868B1 (ko) 규칙집합 기반 대용량 데이터 처리 시스템 및 방법
JP5012911B2 (ja) 業務フロー処理プログラム、方法及び装置
JP5246031B2 (ja) 業務フロー処理プログラム、方法及び装置
CN113919761A (zh) 一种诉讼案件管理方法、***及装置
US20200201610A1 (en) Generating user interfaces for managing data resources
JP2008234013A (ja) 問い合わせ管理システム及び問い合わせ管理プログラム
JP4663526B2 (ja) 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム
CN113268547B (zh) 面向业务协同流程的多事件业务世系数据融合方法
JP5565202B2 (ja) プロセスインスタンス処理方法及び装置
JP4181330B2 (ja) 要約作成プログラム及びシステム並びにコンピュータによる要約作成方法
JP2023042964A (ja) 設計業務支援装置および設計業務支援方法
JP2003345865A (ja) 業務の分析方法およびその装置、プログラム、記憶媒体
JP2012093875A (ja) 業績管理システム及び業績管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

LAPS Cancellation because of no payment of annual fees