JP6890396B2 - 情報処理システム及び情報処理方法、文書処理システム、プログラム - Google Patents

情報処理システム及び情報処理方法、文書処理システム、プログラム Download PDF

Info

Publication number
JP6890396B2
JP6890396B2 JP2016192142A JP2016192142A JP6890396B2 JP 6890396 B2 JP6890396 B2 JP 6890396B2 JP 2016192142 A JP2016192142 A JP 2016192142A JP 2016192142 A JP2016192142 A JP 2016192142A JP 6890396 B2 JP6890396 B2 JP 6890396B2
Authority
JP
Japan
Prior art keywords
conversion
format
information
service
document data
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.)
Active
Application number
JP2016192142A
Other languages
English (en)
Other versions
JP2018055489A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016192142A priority Critical patent/JP6890396B2/ja
Priority to US15/711,985 priority patent/US10437919B2/en
Publication of JP2018055489A publication Critical patent/JP2018055489A/ja
Application granted granted Critical
Publication of JP6890396B2 publication Critical patent/JP6890396B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理システム及び情報処理方法、文書処理システム、プログラムに関し、例えばクラウドサービスにおける帳票文書データの生成に関して非同期かつ並行して処理が行われる情報処理システム及び情報処理方法、文書処理システム、プログラムに関する。
業務データの管理や各種処理を行う形態として、クラウドサービスの利用が普及し始めている。ユーザーは、クライアント端末のWebブラウザーからインターネットを介してクラウドサービスのWebページにアクセスし、そのWebページ上で電子化された帳票文書データを閲覧する。さらに、業務フローに応じて閲覧している帳票文書データを編集・印刷するような利用ケースの増加が予想される。従来ではPDF(Portable Document Format)形式の帳票文書データ生成する帳票サービスと帳票文書データを印刷する印刷サービスといった別個のクラウドサービスがシーケンシャルに処理を連携することで機能を実現している。このときWebページ上で帳票文書データを扱う場合は、従来から帳票システムで一般的に利用されるPDF形式のデータではなく、よりWebとの親和性の高いSVG(Scalable Vector Graphics)形式の使用が想定される。これにより、今までの帳票文書データでは実現が難しかったダイナミックな表現や、画面の拡大縮小にも劣化しない描画が可能となり付加価値のあるWeb帳票を実現できる。
このためには顧客データとテンプレートデータからPDF形式の帳票文書データを生成した上でさらに、PDF形式の帳票文書データをSVG等のWebページ上で扱う形式に変換する必要がある。帳票生成を行ってからWebページ上で閲覧できるまでの時間を短縮するため、帳票サービスで帳票文書データ生成完了を待たずに変換されたページから随時変換サービスへ帳票文書データを送信しSVG変換を開始する。つまり各処理は非同期かつ並行して実行される。
また、クラウドサービスの可用性向上のために帳票サービスの各サーバーはメッセージキューサービスを介し通信を行い、各サーバーはキュー内のメッセージ量に応じてスケールアウト(イン)する。これにより帳票生成が完了する前からWeb帳票データの表示を開始することができる。
このようなWeb帳票データの生成システムにおいて帳票文書データ(PDFデータ)生成処理中にエラーが発生した場合、帳票文書データ生成処理だけでなく、SVG変換処理を中止する必要がある。特許文献1には、フローサービスサーバ群が管理するジョブに含まれたタスクをタスクサーバーが取得して特定のタスク処理を施すシステムが記載されている。このシステムでは、フローサービスサーバ群が、所定の時間内にタスクを完了しなかったタスクサーバーに対してタスク処理を中止するよう命令し、別のサーバーでタスク処理を代理実行する。
特開2013−257615号公報
特許文献1記載のシステムでは、特定されたタスクサーバーを対象として処理を中止させている。しかしながら、帳票データ生成処理およびSVG変換リクエスト処理が非同期かつ並行して動作する場合、エラーが発生したPDFデータ生成処理に関連するSVG変換処理がどのサーバーで行われているのかを特定することが困難である。そのため、帳票データ生成処理でエラーが発生したにも関わらず、SVG変換処理を止められず、いつまでも継続してしまう。中断すべき処理を継続することはサーバーの持つ計算資源の浪費であり、システム全体のパフォーマンスを低下させることにもなる。
本発明は上記従来例に鑑みて成されたもので、複数の連携処理が非同期かつ並行して行われているシステムにおいて、先行処理がエラー終了した場合に迅速に後続処理を中止することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、
第一の形式の文書データを生成する生成手段と、
前記生成手段と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求手段と、
前記生成手段による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除手段と
を有し、
前記削除要求手段による前記変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データの変換情報が取得できない場合、処理終了と判断することを特徴とする情報処理システム。
本発明によれば、複数の連携処理が非同期かつ並行して行われているシステムにおいて、先行処理がエラー終了した場合に即座に後続処理を中止することができる。これにより、後続処理を実行するサーバーおよび連携サービスで処理を継続してしまい、これらサーバーおよび連携サービスのリソースを無駄に消費することがなくなる。
システム構成図 ハードウェア構成図 ソフトウェア構成図 インデックスファイルの例を示す図 実施例1のWeb帳票データ生成処理をキャンセルするシーケンス図 実施例1のWeb帳票データ生成処理をキャンセルするシーケンス図
[実施形態1]
以下、本発明を実施するための形態について図面を用いて説明する。
<システム構成>
図1は、本発明の実施例の帳票システム(あるいは情報処理システム)の構成を示すブロック図である。クライアント端末102は、有線または無線LANを介してローカルネットワーク101に接続され、ローカルネットワーク101を介してインターネットワーク100にアクセスし、サービス104〜106にアクセスすることができる。クライアント端末102では、Webブラウザー106等のプログラムを実行する環境が内蔵されている。業務サーバー103はユーザー業務情報を管理するサーバーである。本実施例では業務サーバー103で業務情報を管理し、業務サーバー103の情報を用いて業務を行うユースケースを想定している。業務サーバー103はクライアント端末102からのリクエストに応じて業務情報の表示と、帳票データ生成指示を行なうための画面を提供する。帳票サービス104は業務サーバー103からリクエストを受け取り、リクエストに応じてPDF(Portable Document Format)形式の帳票文書データを生成し管理するサービスである。そして帳票サービス104は、生成した帳票文書データを変換する変換リクエストを変換サービス105に対して行う。変換サービス105は、帳票サービス104から帳票文書データの変換リクエストを受け付け、変換リクエストに応じてSVG(Scalable Vector Graphics)形式のWeb帳票データの生成を行なうサービスである。ストレージサービス106はファイル管理を行うサービスであり、クライアント端末102、帳票サービス104、変換サービス105からのファイルのアップロード/ダウンロードを受け付ける。
なおサービス104〜106の各サービス、および業務サーバー103はそれぞれ1台で表現しているが、複数台のサーバーで冗長化してもよい。また、上記各構成要素を接続するネットワークは、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワークはデータの送受信が可能であればよい。
<ハードウェア構成>
図2は、図1のクライアント端末102、業務サーバー103、帳票サービス104、変換サービス105、ストレージサービス106として動作する情報処理装置のハードウェア構成を示すブロック図である。図中、CPU201は内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する。ROM202はBIOSが格納してあるROMである。RAM203はCPU201のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするRAM(直接記憶装置)である。二次記憶装置204は基本ソフトウェアであるOSやソフトウェアモジュールが記憶されているHDD(ハードディスクドライブ)、もしくはSSD(ソリッドステートドライブ)などである。入力装置205は不図示のキーボードやポインティングデバイスなどである。出力装置206としてはディスプレイが接続される。ネットワークインターフェース207はネットワーク100に接続するためのI/Fである。
これらハードウェアでは、起動後CPU201によりBIOSが実行されOSがHDD204からRAM203に実行可能にロードされる。CPU201はOSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりCPU201によって実行され動作する。また、I/F207はインターネット100またはローカルネットワーク101に接続されており、OSの動作に従ってCPU201により制御され、上述した通信手段による通信を実現している。
<業務サーバー103のソフトウェア構成と管理情報>
図3に業務サーバーおよびサービス104〜106のソフトウェア構成を示す。業務サーバー103は、Web画面I/F351、業務情報管理部352、ストレージ353を含み、各ソフトウェアモジュールは図2で示したHDD202に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。Web画面I/F351は、業務サーバー103のユーザーインターフェースを提供するものであり、クライアント端末102のブラウザー106からの要求に応じて、業務情報管理部352で管理される業務情報を表示する画面を生成してクライアント端末102に返す。業務情報は、業務サーバー103のストレージ353に記憶され業務情報管理部で管理される。これらの情報は、業務サーバー103の外部メモリではなく、インターネット100やローカルネットワーク101を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。
表1には、予め業務情報管理部352に保持、管理している業務情報のうちの顧客情報の例を示す。
Figure 0006890396
顧客情報は、帳票を生成する際に使用するデータテーブルである。本実施例では、顧客を一意に識別するための顧客IDと、氏名、住所、生年月日、連絡先を含む情報を保持している。帳票を生成するのに必要なデータは、本実施例の顧客情報に限らず、製品の在庫や納品情報、入出金情報等、様々な物が想定される。
表2には、予め業務情報管理部352に保持している業務情報のうちの帳票情報の例を示す。
Figure 0006890396
帳票情報は、帳票を生成する際に使用する帳票テンプレートについてのデータテーブルである。帳票情報を一意に識別するための帳票IDと、画面表示用の帳票名、帳票サービス104で管理されている帳票テンプレートを特定できるテンプレートIDとを含む。
業務サーバー103は、クライアント端末102のブラウザー106からの帳票プレビュー指示をWeb画面I/F351で受ける。その指示に応じて業務情報管理部352が該当の顧客情報と、帳票情報の帳票テンプレートIDとともにWeb帳票生成リクエストを帳票サービス104に送信することで、Web帳票の生成のリクエストを行うことができる。
<帳票サービス104のソフトウェア構成と管理情報>
帳票サービス104は、Webサーバー300、ジョブ管理サーバー310、帳票生成サーバー320、変換管理サーバー330、ストレージ350、さらに帳票生成キュー341、変換キュー342、キャンセルキュー343を有する。各ソフトウェアモジュールは図2で示したHDD205に記憶されており、前述したようにCPU202によってRAM203にロードされ実行される。
ジョブ管理サーバー310は外部I/F311、ジョブ管理部312を有する。帳票生成サーバー310は、外部I/F321、帳票生成ジョブ管理部322、帳票生成部323を有する。変換管理サーバー330は、外部I/F331、SVG変換ジョブ管理部332、変換管理部333、キャンセル部334を有する。Webサーバー300は帳票サービス104の各種インターフェースを提供し、業務サーバー103からのリクエストを受け付け、応答を返す。ジョブ管理サーバー310は、Webサーバー300からのリクエストを受け付け、帳票生成キュー341に対して帳票生成リクエストのメッセージを、変換キュー342に対して変換リクエストのメッセージを送信する。また、ジョブ管理サーバー310は、帳票生成キュー341、変換キュー342またはキャンセルキュー343を通じて帳票生成サーバー320、変換管理サーバー330からのレスポンスメッセージを受け付ける。このときジョブ管理サーバー310は、帳票生成キュー342からエラー終了のレスポンスメッセージを受け取ると、キャンセルキュー343に変換キャンセルリクエストメッセージを送信する。
帳票生成サーバー320は帳票生成キュー341を通じて帳票生成リクエストメッセージを取得して帳票データ(帳票文書データまたは文書データとも呼ぶ。)を生成し、生成した帳票データであるPDFファイルおよび後述のオーバレイインデックスファイルをストレージサービス106へ送信する。帳票生成サーバー320は帳票文書データ生成結果をレスポンスメッセージとして帳票生成キュー341へ送信する。
変換管理サーバー330は変換キュー342を通じて変換リクエストメッセージを取得し、変換サービス103へデータ変換リクエストを送信し、変換結果をレスポンスメッセージとして変換キュー342へ送信する。また、変換管理サーバー330はキャンセルキュー343を通じて変換キャンセルリクエストメッセージを取得し、変換サービス103へ変換キャンセルリクエストを送信する。変換管理サーバー330は変換キャンセル結果をレスポンスメッセージとしてキャンセルキュー343へ送信する。キューを介するリクエスト/レスポンスメッセージの送受信を行うことにより、帳票データ生成処理を行う帳票生成サーバー320およびデータ形式の変換処理を行う変換管理サーバー330は、負荷に応じてスケールアウトする。つまり帳票生成サーバー320および変換管理サーバー330は1台のみの必要はなく、負荷に応じて複数台であってよい。帳票サービス104のストレージ350には、帳票テンプレート情報、ジョブ情報、帳票生成ジョブ情報、変換ジョブ情報が格納されている。
表3には、ジョブ管理部312で管理されストレージ350に保持する帳票テンプレート情報の例を示す。
Figure 0006890396
帳票テンプレート情報は、帳票サービス104で管理される帳票テンプレートについてデータテーブルである。本実施例では、帳票テンプレートのデータは後述のストレージサービス106にファイルとして保持されており、帳票テンプレート情報には、そのデータを取得するためのURLが含まれる。帳票テンプレートIDは帳票サービス104で管理している帳票テンプレートを一意に識別するIDであり、前述の業務サーバー103で管理される帳票情報の帳票テンプレートIDに対応する。
ジョブ管理サーバー310のジョブ管理部312は業務サーバー103からの帳票生成リクエストを受け付けると、帳票生成リクエストに含まれる(或いは帳票生成リクエストに伴う)顧客情報と、帳票テンプレートIDとを基に帳票生成サーバー320に帳票生成を指示する。本実施例では、帳票テンプレートデータにフォーム情報が予め定義されており、フィールドデータとして、業務サーバー103で管理される顧客情報を使用している。帳票生成サーバー320の帳票生成部323は、該当の帳票テンプレート情報の帳票テンプレートURLにアクセスして帳票テンプレートデータをストレージサービス106から取得する。そして帳票テンプレートデータからフォーム情報を取り出し、フォーム情報に該当の顧客情報をフィールドデータとしてオーバレイ処理し、PDFファイルに出力する。
表4には、ジョブ管理部312で管理されストレージ350に保持するジョブ情報の例を示す。
Figure 0006890396
ジョブ情報は、帳票サービス104で管理されるWeb帳票データ生成の状態を管理するデータテーブルである。ジョブ情報は、ジョブを一意に識別するジョブIDと、後述する帳票生成ジョブ情報で管理する帳票生成ジョブを一意に識別する帳票生成ジョブIDと、後述する変換ジョブ情報で管理する変換ジョブを一意に識別する識別情報である変換ジョブIDとを含む。ジョブID、帳票生成ジョブID、変換ジョブIDは帳票サービス104がWeb帳票データ生成リクエストを受け付けた際にジョブ管理部312で発行される。
表5には、ジョブ管理部312および帳票生成ジョブ管理部322で管理されストレージ350に保持する帳票生成ジョブ情報の例を示す。
Figure 0006890396
帳票生成ジョブ情報は、帳票サービス104で管理される帳票生成サーバー320で生成する帳票文書データの生成処理状態を管理するデータテーブルである。帳票生成ジョブ情報は、帳票生成ジョブを一意に識別する帳票生成ジョブIDと、帳票文書データの生成処理ステータスを表す帳票生成ステータスと、帳票文書データ生成で使用する帳票テンプレートIDとを含む。帳票生成ジョブIDは前述の表4ジョブ情報の帳票生成ジョブIDであり、帳票サービス104がWeb帳票データ生成リクエストを受け付けた際にジョブ管理部312で発行される。
表6には、ジョブ管理部312および変換ジョブ管理部332で管理されストレージ350に保持する変換ジョブ情報の例を示す。
Figure 0006890396
変換ジョブ情報は、帳票サービス104で管理される変換サービス105で処理するデータ変換の処理状態を管理するデータテーブルである。変換ジョブ情報は、変換ジョブを一意に識別する変換ジョブIDと、データ変換処理ステータスを表す変換ステータスと、変換サービス105に変換リクエスト送信時に変換サービス105によって発行される変換サービスジョブIDと、複数のPDFファイルから構成される帳票文書データのインデックスファイルのURLであるオーバレイインデックスファイルURLとを含む。ここで、変換サービスジョブIDは後述する表7の変換サービスジョブIDである。変換ジョブIDは前述の表4ジョブ情報の変換ジョブIDであり、帳票サービス104がWeb帳票データ生成リクエストを受け付けた際にジョブ管理部312で発行される。
<変換サービス105のソフトウェア構成と管理情報>
変換サービス105は、図3に示すようにWebサーバー361、変換情報管理部362、データ変換部363、ストレージ364とを有する。各ソフトウェアモジュールは図2で示したHDD202に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。Webサーバー361は、変換サービス104の各種インターフェースを提供し、帳票サービス104からのデータ変換リクエスト、変換キャンセルリクエストを受付け、応答を返す。また、変換サービス105のストレージ364には、変換情報が格納されている。
表7には、変換情報管理部362で管理されストレージ364に保持する変換情報の例を示す。
Figure 0006890396
変換情報は、変換情報管理部362で管理される変換処理についてのデータテーブルである。変換サービスジョブIDは、帳票サービス104からの変換リクエストを変換サービス105のWebサーバー361にて受け付けた際に、変換情報管理部362が発行する変換処理を一意に識別可能なIDである。変換サービスジョブIDは、表に示す例では値が相違しているが、表6の変換サービスジョブIDに対応するIDである。オーバレイインデックスファイルURLは、帳票サービス104からの変換リクエストを受け付けた際に受け取る、変換対象のファイルについての情報が記載された後述するインデックスファイルにアクセスするためのURLである。変換インデックスファイルURLは、データ変換部363が変換処理を開始した際に生成する後述の変換インデックスファイルにアクセスするためのURLである。データ変換部363は、オーバレイインデックスファイルを定期的に取得して参照し、記載されている変換対象のデータを取得して変換後、変換インデックスファイルを更新するという処理を行う。これにより変換対象の帳票データを所定の処理単位で生成すると、その処理単位ごとに並列に、あるいは非同期に変換処理を行うことが可能となる。また、変換サービス105は、Webサーバー361で帳票サービス104から変換サービスジョブIDをキーとした変換キャンセルリクエストを受け付けると、変換情報管理部362が該当の変換情報を削除し、データ変換部363は処理中の変換処理を中止する。これにより変換処理を中止する。
<ストレージサービス106のソフトウェア構成と管理情報>
ストレージサービス106はWebサーバー371、ファイル情報管理部372、ストレージ373を有する。各ソフトウェアモジュールは図2で示したHDD202に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。Webサーバー371はストレージサービス106の各種インターフェースを提供する。ファイル情報管理部372は、ファイル情報を管理し、Webサーバー371で受け付けたリクエストに応じてファイルの入出力を行う。ストレージ373はファイル情報やストレージサービス106が受信したファイルが格納されている。
表8に、ファイル情報管理部372で管理されるファイル情報の例を示す。
Figure 0006890396
ファイル情報は、ファイル情報管理部372で管理されるストレージサービス106に保存するファイルの情報である。データURLはストレージサービス106に保存するファイルを一意に識別することができるURLである。ファイルパスはストレージ上のファイルパスでありファイルの格納場所を示す。データURLに対するリクエストをWebサーバー371で受け付け、ファイル情報管理部372が該当するファイル情報を更新し、ストレージ373のファイル操作を行う。たとえば、クライアントは、データURLに対してHTTP GETメソッドをリクエストすると対応するファイルがダウンロードできる。また、データURLに対してHTTP PUTメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。さらに、データURLに対してHTTP DELETEメソッドをリクエストすると対応するファイルを削除できる。
<インデックスファイル>
次に、帳票サービス104のオーバレイ実行時、変換サービス105の変換実行時にそれぞれ生成し、逐次更新を行うインデックスファイルについて説明する。
図4において、400は、帳票サービス104と、変換サービス105が夫々、オーバレイ出力処理、データ変換処理を実行する際に生成、更新を行うインデックスファイルの例である。帳票サービス104及び、変換サービス105はまず、処理が開始された時点で、ストレージサービス106上にインデックスファイルを生成する。本実施例では、インデックスファイルはJSONファイル形式を採用し、"dataList"をキーとする処理結果のデータURLのリストと、"end"をキーとする処理完了フラグから成る。
ここで本実施例では、帳票データであるオーバレイ出力結果をPDFファイルとし、ファイル出力単位は1ページ毎としており、たとえば、3ページの帳票に対して3つのPDFファイルが出力される。すなわち本例では1ページを処理単位としている。ただし、ファイル出力単位は1ページ毎とする必要はなく、複数ページ固定、全体ページ数から計算した値等にすることが可能である。また、変換サービス105による変換処理もオーバレイ出力結果のPDFファイル単位で変換を行う。
帳票サービス104、変換サービス105は順次処理を実行し、結果のファイルをストレージサービス106にアップロードし、そのデータURLをインデックスファイル"dataList"に追加していく。また、帳票サービス104、変換サービス105は、処理が完了し、最後のページを含む処理結果のファイルをアップロードした時点で、インデックスファイルの処理完了フラグ"end"を、trueにする。
すなわちインデックスファイルは、帳票生成サービスおよび変換サービスそれぞれの進捗を示す。インデックスファイルには、帳票データの生成の進捗を示すオーバレイインデックスファイルと、帳票データであるPDFファイルをSVGファイルに変換する変換処理の進捗を示す変換インデックスファイルとがある。帳票サービス104は、1ページ分のPDFファイルを生成する都度、生成したPDFファイルをストレージに格納すると共に、その格納場所を示すURLをオーバレイインデックスファイルに追加で記録する。そして、要求された帳票データを生成し終えると、処理完了フラグを真に設定する。変換サービス105は、オーバレイインデックスを定期的に監視し、未処理の帳票データの在り処を示すURLが追加されていたならそこにアクセスしてPDFの帳票データを取得し、SVGに変換する。変換済みのWeb帳票データはストレージサービス106により保存し、その在り処を示すURLを変換インデックスファイルに追加する。また処理完了フラグが真にセットされていたら、未処理の帳票データを変換して、処理対象のWeb帳票データの生成を終了し、変換インデックスファイルの処理完了フラグに真をセットする。生成したWeb帳票データは、変換インデックスファイルに記録されたURLからアクセスされる。たとえばクライアント端末102は、変換インデックスファイルに記載されたURLにアクセスしてWeb帳票を取得し、それを表示することができる。
<Web帳票データ生成キャンセルシーケンス>
図5はWeb帳票データ生成処理中に帳票生成サーバー320の帳票データ生成処理でエラーが発生した場合に、Web帳票データ生成をキャンセルするシーケンスを説明する図である。なお、ユーザーは不図示の業務画面にてクライアント端末102から業務サーバー103に顧客情報の顧客IDと帳票情報の帳票IDを含めてWeb帳票データ生成リクエストを送信しているものとする。本実施例では後述する処理S505の帳票文書データ生成でエラーが発生した場合、に変換サービス105のデータ変換処理を中止するシーケンスについて説明する。
S501にて、業務サーバー103の業務情報管理部352は、ユーザーの操作に応じて、リクエストに含まれる顧客ID、帳票IDに該当する顧客情報と、帳票テンプレートIDを含むWeb帳票生成リクエストを帳票サービス104に送信する。このとき帳票サービス104のWebサーバー300がWeb帳票生成リクエストを受け取り、ジョブ管理サーバー301へリクエストを転送する。
ジョブ管理サーバー310のジョブ管理部312はWeb帳票生成リクエストを受け取ると、S502にてジョブID、帳票生成ジョブIDおよび変換ジョブIDを発行し、ジョブ情報、帳票生成ジョブ情報、変換ジョブ情報としてストレージ340に保存する。
また、このときWeb帳票生成リクエストに含まれる帳票テンプレートIDを帳票生成ジョブ情報に含めストレージ340に保存する。
S503にてジョブ管理サーバー310は応答としてジョブIDを返す。S504おいて、ジョブ管理サーバー310のジョブ管理部312は帳票生成サーバー320に帳票生成リクエストを送信する。実際にはジョブ管理部312は帳票生成キュー341(図3参照)に帳票生成ジョブIDおよび顧客情報を含む帳票文書生成リクエストメッセージを送信する。帳票生成サーバー320の外部I/F321が当該帳票文書生成リクエストメッセージを帳票生成キュー341から取得する。
S505において帳票生成サーバー320の帳票生成ジョブ管理部322は帳票文書生成リクエストメッセージを取得すると、帳票生成ジョブ情報の帳票生成ジョブIDに紐づく帳票テンプレートIDを取得しストレージサービス106から帳票テンプレートファイルをダウンロードする。そして顧客情報とともに帳票生成部323でオーバレイを行い、PDF形式の帳票文書データの生成処理を開始する。
S506において、ジョブ管理サーバー310のジョブ管理部312は、S504およびS505での帳票文書データ生成の完了を待たずに、帳票文書データからSVG形式のWeb帳票データへのデータ変換リクエストを変換サービス105に送信する。実際にはジョブ管理部312は変換キュー342(図3参照)に変換ジョブIDを含むデータ変換リクエストメッセージを送信する。変換管理サーバー330の外部I/F331が当該データ変換リクエストメッセージを変換キュー342から取得する。
S507において変換管理サーバー330の変換ジョブ管理部332は、データ変換リクエストメッセージを取得すると、変換ジョブIDに紐づくオーバレイインデックスファイルURLをストレージ350から取得する。変換管理部333はオーバレイインデックスファイルURLを含むデータ変換リクエストすなわち変換要求を変換サービス105に送信する。変換サービス105はS507にてデータ変換リクエストを受け取ると、変換サービスジョブIDを発行し、変換サービスジョブIDに紐づく変換情報レコードを作成する。データ変換部363で変換処理を開始し、その後に変換管理サーバー330へ変換サービスジョブIDをレスポンスとして返す。
S508において変換管理サーバー330の変換管理部333は、ストレージ350の変換ジョブ情報から変換ジョブIDに紐づく変換サービスジョブIDを、S507で受け取った変換サービスジョブIDの値で更新し保存する。
S509にて変換管理サーバー330の変換管理部333は前記変換サービスジョブIDを含むデータ変換状態取得リクエストを変換サービス105に送信し、データ変換処理状況を取得する。S509でデータ変換処理中ステータスが変換サービス105から返ってきた場合は一定時間経過後、再び処理S509を繰り返す。本処理をもってデータ変換処理状況を検知する。
S505の帳票文書データ生成でエラーが発生した場合、帳票生成サーバー320の帳票生成ジョブ管理部322は、帳票生成ジョブ情報の帳票生成ステータスをエラーに更新し、外部I/F321はジョブIDとともに帳票データ生成エラーレスポンスをジョブ管理サーバー310に返す(S510)。実際には帳票生成ジョブ管理部322は帳票生成キュー341(図3参照)にレスポンスメッセージを送信し、ジョブ管理サーバー310が帳票生成キュー341から当該レスポンスメッセージを取得する。
S510でジョブ管理サーバー310が帳票データ生成エラーレスポンスを受け取ると、S511にてジョブ管理サーバー310のジョブ管理部312は、変換管理サーバー330に変換ジョブIDを含む変換キャンセルリクエストを送信する。ジョブIDに対応する変換ジョブIDは表4のジョブ情報から得ることができる。実際には、キャンセルキュー343に変換キャンセルリクエストメッセージを送信し、変換管理サーバー330の外部I/F331が当該リクエストメッセージを取得する。
S512において変換管理サーバー330の外部I/F331が変換キャンセルリクエストメッセージを取得すると、変換ジョブ管理部332は変換ジョブIDに紐づく変換サービスジョブIDをストレージ350に要求する。
S513にて、キャンセル部334はストレージ350から、変換キャンセルリクエストメッセージの変換ジョブIDに紐づけられた変換サービスジョブIDを取得する。その変換サービスジョブIDは、変換キャンセルリクエストメッセージの変換ジョブIDを含む変換ジョブ情報のレコードに含まれた変換サービスジョブIDである。そして変換サービス105へ取得した変換サービスジョブIDを含む変換ジョブ削除リクエスト(すなわち削除要求)を送信する。変換サービス105は当該変換ジョブ削除リクエストを受け付けると、前記S507で受け付けた変換サービスジョブIDに紐づく変換情報レコードを削除し、データ変換処理を中止する。
変換管理サーバー330の変換管理部333はS514にて、S509と同様の変換状態取得リクエストを変換サービス105に送信する。変換サービス105はS513でデータ変換処理を中止し、変換サービスジョブIDに紐づく変換情報を削除しているため、当該変換情報が存在しない旨のレスポンスを変換管理部333に返却する。
変換管理部333はS514にて変換情報が存在しない旨のレスポンスを受け取ると、データ変換処理がキャンセルされたものと判断し、S515にてジョブ管理サーバー310へ、ジョブIDを含むデータ変換完了レスポンスを送信する。実際には、変換キュー342にデータ変換完了レスポンスメッセージを送信し、ジョブ管理サーバー310の外部I/F331が当該レスポンスメッセージを取得する。
以上によって、Web帳票データ生成処理中に帳票生成サーバー320の帳票文書データ生成処理でエラーが発生した場合の、データ変換処理のキャンセルを実行する。
以上のように、ジョブIDと変換ジョブIDと変換サービスジョブIDとは、ジョブ情報と変換ジョブ情報とにより関連付けられている。そのため、帳票データ生成処理においてエラーが生じると、エラーを生じた処理のジョブIDから変換サービスジョブIDを特定できる。そしてその変換サービスジョブIDを指定して、帳票サービス104から変換サービス105に対して変換ジョブの削除を要求することで、エラーを生じた帳票データ生成処理により生成された帳票データをWeb帳票データに変換する処理を迅速に停止させ、削除できる。この結果、無駄に終わる変換ジョブにより消費される計算資源を節約することができる。
[実施形態2]
実施例1で説明した帳票システムでは、変換管理サーバー330の変換管理部333とは別のキャンセル部334でデータ変換ジョブ削除を行っている。そのため、変換管理部333がS514でデータ変換状態取得を行った際に、帳票生成サーバー320による帳票生成処理において発生したエラーに起因してキャンセル部334でキャンセルされたため変換ジョブが存在しなかったのか、変換サービス105による変換処理においてエラーが発生したために変換ジョブが削除されてしまったのかが判別できない。本実施例では、実施例1で説明した帳票システムにおいて、データ変換処理がキャンセルされたのか、エラーで終了したのかどうかを判別できるような帳票システムについて説明する。実施形態1で説明済みの内容については記載を省略する。
<Web帳票データ生成キャンセルシーケンス>
図6はWeb帳票データ生成処理中に帳票生成サーバー320の帳票文書データ生成処理でエラーが発生した場合に、Web帳票データ生成をキャンセルするシーケンスを説明する図である。なお、ユーザーは不図示の業務画面にてクライアント端末102から業務サーバー103に顧客情報の顧客IDと帳票情報の帳票IDを含めてWeb帳票データ生成リクエストを送信しているものとする。本実施例では後述する処理S505の帳票文書データ生成でエラーが発生した場合、に変換サービス105のデータ変換処理を中止するシーケンスについて説明する。S601からS610はそれぞれS501からS510と同様の処理のため、説明は省略する。
S611でジョブ管理サーバー310のジョブ管理部312は、Web帳票生成をキャンセルするためジョブ情報の変換ジョブIDで紐づく変換ジョブIDの変換ステータスを「キャンセル中」ステータスに変更し、ストレージの変換ジョブ情報(表6)を更新する。
S612からS615はそれぞれS511からS514と同様の処理のため、説明は省略する。
S616にて、変換管理部333は変換ジョブがない旨のレスポンスを受け取ると、変換ジョブ情報をストレージ350から取得し、変換ステータスが「キャンセル中」かどうかを確認する。
「キャンセル中」であった場合、変換管理部333は、データ変換ジョブがキャンセル部334によってキャンセルされたと判断し、S617で変換ジョブ情報の変換ステータスを「キャンセル完了」に更新する。そしてS618で変換管理部333はジョブ管理サーバー310へ、ジョブIDを含むデータ変換キャンセル完了レスポンスを送信する。
変換ステータスが「キャンセル中」または「成功」以外であった場合、データ変換ジョブは、データ変換ジョブを実行中に何らかのエラーが発生したために削除されたと判断し、S617で変換ジョブ情報の変換ステータスを「エラー終了」に更新する。そしてS618で変換管理部333はジョブ管理サーバー310へ、ジョブIDを含むデータ変換エラー完了レスポンスを送信する。
以上により、データ変換がエラー終了したのか、キャンセル終了したのかを判別できるようになる。実施形態1、および実施形態2の帳票システムは、この構成に限られたものではなく、例えば帳票生成サーバーと変換サーバーが同一のサーバーで構成されていてもよい。また作成する対象は帳票とは限らず、他の文書データであってもよい。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
102 クライアント端末、103 業務サーバー、104 帳票サービス、105 変換サービス、106 ストレージサービス、310 ジョブ管理サーバー、320 帳票生成サーバー、330 変換管理サーバー、333 変換管理部、334 キャンセル部

Claims (10)

  1. 第一の形式の文書データを生成する生成手段と、
    前記生成手段と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求手段と、
    前記生成手段による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除要求手段と
    を有し、
    前記削除要求手段による前記変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データの変換情報が取得できない場合、処理終了と判断することを特徴とする情報処理システム。
  2. 前記生成手段による前記第一の形式の文書データを生成する生成処理の識別情報と、前記変換処理の識別情報とを関連付けて記憶する記憶手段を更に有し、
    前記削除要求手段は、前記記憶手段に記憶された前記生成処理の識別情報と前記変換処理の識別情報とに基づいて、前記処理対象の第一の形式の文書データを前記第二の形式へと変換する前記変換処理の識別情報を特定することを特徴とする請求項1に記載の情報処理システム。
  3. 前記削除要求手段による前記変換処理の削除の要求の前に、前記変換処理の削除を行っている旨の情報を記憶しておき、
    前記削除要求手段による変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データを示す変換情報を取得し、前記変換情報がなく、かつ前記変換処理の削除を行っている旨の情報が記憶されている場合には、前記変換処理が削除されたものと判断し、前記変換情報がなく、かつ前記変換処理の削除を行っている旨の情報が記憶されていない場合には、前記変換処理がエラーにより削除されたものと判断することを特徴とする請求項1または2に記載の情報処理システム。
  4. 前記生成手段は、前記第一の形式の文書データを所定の処理単位で生成し、生成した前記第一の形式の文書データの格納場所を第一のインデックスファイルに記録し、
    前記変換サービスは、前記第一のインデックスファイルに記録された格納場所に格納された前記第一の形式の文書データを前記第二の形式に変換し、変換した前記第二の形式の文書データの格納場所を第二のインデックスファイルに記録することを特徴とする請求項1乃至のいずれか一項に記載の情報処理システム。
  5. 前記生成手段は、前記第一の形式の文書データとして、PDF(Portable Document Format)形式の帳票データを生成し、
    前記変換要求手段は、前記第一の形式の文書データを、前記第二の形式としてSVG(Scalable Vector Graphics)形式へと変換することを特徴とする請求項1乃至のいずれか一項に記載の情報処理システム。
  6. 前記生成手段は、業務サーバーからの要求に応じて、前記第一の形式の文書データを生成し、前記変換サービスに対して前記第二の形式への変換を要求することを特徴とする請求項1乃至のいずれか一項に記載の情報処理システム。
  7. 請求項1乃至のいずれか一項に記載の情報処理システムと、
    前記変換サービスと
    を含むことを特徴とする文書処理システム。
  8. 業務サーバーをさらに含むことを特徴とする請求項に記載の文書処理システム。
  9. 請求項1乃至のいずれか一項に記載の情報処理システムとしてコンピュータを機能させるためのプログラム。
  10. 第一の形式の文書データを生成する生成工程と、
    前記生成工程と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求工程と、
    前記生成工程による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除要求工程と
    を有し、
    前記削除要求工程による前記変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データの変換情報が取得できない場合、処理終了と判断することを特徴とする情報処理方法。
JP2016192142A 2016-09-29 2016-09-29 情報処理システム及び情報処理方法、文書処理システム、プログラム Active JP6890396B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016192142A JP6890396B2 (ja) 2016-09-29 2016-09-29 情報処理システム及び情報処理方法、文書処理システム、プログラム
US15/711,985 US10437919B2 (en) 2016-09-29 2017-09-21 Information processing system, information processing method, document processing system, and storage medium, for deleting a conversion process when a request to generate document data in a first format has been canceled

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016192142A JP6890396B2 (ja) 2016-09-29 2016-09-29 情報処理システム及び情報処理方法、文書処理システム、プログラム

Publications (2)

Publication Number Publication Date
JP2018055489A JP2018055489A (ja) 2018-04-05
JP6890396B2 true JP6890396B2 (ja) 2021-06-18

Family

ID=61686361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016192142A Active JP6890396B2 (ja) 2016-09-29 2016-09-29 情報処理システム及び情報処理方法、文書処理システム、プログラム

Country Status (2)

Country Link
US (1) US10437919B2 (ja)
JP (1) JP6890396B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250206B2 (en) * 2019-09-20 2022-02-15 Microsoft Technology Licensing, Llc Conversion of forms to action cards
CN113486627B (zh) * 2021-06-01 2023-08-08 中国人民财产保险股份有限公司 一种单号生成方法、装置及电子设备
JP2023094838A (ja) * 2021-12-24 2023-07-06 キヤノン株式会社 プログラム、情報処理装置、情報処理装置の制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5408169B2 (ja) * 2011-03-25 2014-02-05 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理方法
US8949258B2 (en) * 2011-03-28 2015-02-03 Microsoft Corporation Techniques to manage file conversions
JP5882837B2 (ja) 2012-06-11 2016-03-09 キヤノン株式会社 情報処理システム、画像形成装置、制御方法およびコンピュータプログラム
JP6155851B2 (ja) * 2013-05-31 2017-07-05 ブラザー工業株式会社 表示プログラムおよび表示装置

Also Published As

Publication number Publication date
US20180089153A1 (en) 2018-03-29
JP2018055489A (ja) 2018-04-05
US10437919B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
JP6248493B2 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
US9507789B2 (en) System, relay server apparatus, information processing method and computer-readable medium
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
JP6555892B2 (ja) 画像形成装置及び画像形成装置による印刷制御方法
US10516791B2 (en) Information processing system, information processing apparatus, and information processing method for executing an iteration of one or more processes
JP6890396B2 (ja) 情報処理システム及び情報処理方法、文書処理システム、プログラム
JP2015176401A (ja) 情報処理システム、情報処理方法、及びプログラム
JP2015143926A (ja) データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
US9277084B2 (en) Data processing device, data processing system, and data processing method
JP6303505B2 (ja) 情報処理システム、情報処理方法、機器、及びプログラム
JP6871700B2 (ja) 情報処理システム、情報処理装置及び情報処理システムの制御方法とプログラム
JP2014235697A (ja) 情報処理システム、情報処理方法、及びプログラム
JP5455507B2 (ja) 画像形成装置及びその制御方法及びプログラム
US10885408B2 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
JP6507514B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US8312111B2 (en) Image processing in a computer network
JP2015153117A (ja) 文書生成システム
US20190179800A1 (en) Information processing system, control method therefor, and storage medium
JP7208086B2 (ja) 管理システム、方法、及び、プログラム
JP6998005B2 (ja) 所定形式ファイル生成サーバ、書類発行システム、プログラム
US11816368B2 (en) Cloud printing method and cloud printing system
US10893166B2 (en) Management system, method, and program storage medium
JP2021005328A (ja) 帳票文書生成システム、帳票文書生成方法、サーバおよびその制御方法、並びにプログラム
JP6172515B2 (ja) 画像形成装置、管理装置、画像形成システム及びプログラム
JP2015127878A (ja) 文書管理サーバー装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201116

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210525

R151 Written notification of patent or utility model registration

Ref document number: 6890396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151