Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3724959B2 - Network printing system - Google Patents
[go: Go Back, main page]

JP3724959B2 - Network printing system - Google Patents

Network printing system Download PDF

Info

Publication number
JP3724959B2
JP3724959B2 JP31201198A JP31201198A JP3724959B2 JP 3724959 B2 JP3724959 B2 JP 3724959B2 JP 31201198 A JP31201198 A JP 31201198A JP 31201198 A JP31201198 A JP 31201198A JP 3724959 B2 JP3724959 B2 JP 3724959B2
Authority
JP
Japan
Prior art keywords
data
page
print
form output
file
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
JP31201198A
Other languages
Japanese (ja)
Other versions
JP2000137594A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP31201198A priority Critical patent/JP3724959B2/en
Publication of JP2000137594A publication Critical patent/JP2000137594A/en
Application granted granted Critical
Publication of JP3724959B2 publication Critical patent/JP3724959B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はネットワークプリントシステム、特にプリンタへの帳票出力をする印刷実行制御装置へネットワークを介して印刷用データファイルを転送する際のデータ転送量の削減及びシステム全体のスループットの向上を図るネットワークプリントシステムに関する。
【0002】
【従来の技術】
図13は、従来のネットワークプリントシステムの一例を示した全体構成図であり、このネットワークプリントシステムを請求書発行システムに適用した場合を例にして説明する。このシステムは、請求書発行システムのホスト計算機に相当し、生成した請求書データを各事業所に配信するクライアント101と、各事業所に設置され、広域ネットワーク102を介して転送されてきた請求書データを接続したプリンタ103から出力するプリントサーバ104とで構成される。ここで、請求書が印刷されるまでの処理について説明する。
【0003】
クライアント101において、請求書データに基づき各プリントサーバ104へ転送するデータを生成する。図14は、広域ネットワーク102上を転送される従来の転送データのフォーマットを示した図である。基本的にはプリントサーバ104においてそのまま解釈されうる印刷データがそのまま転送データとなる。印刷データは、請求書がn枚で構成されている場合、印字対象となる請求書の各ページに対応したn個のページデータと当該請求書のヘッダ情報とを含んでいる。ヘッダ情報には、用紙サイズ情報、フォームレイアウト情報、オーバーレイ情報、片面/両面印刷情報、拡縮印刷情報等が含まれている。なお、各ページデータにもページ毎の印字制御のための印字情報が付加されている。クライアント101は、印刷データを生成すると、そのまま転送データとして該当する事業所に送信する。一事業所に複数種類の請求書を送信する場合には請求書毎に転送データを生成し、順次送信することになる。
【0004】
プリントサーバ104において、クライアント101から転送データが送られてくると、その転送データである印刷データに含まれるヘッダ情報を解析してプリンタに対応したフォーマットに変換して各ページデータの印字を行う。印字終了後は、プリントサーバ104におけるディスク容量確保のために通常は印刷データを削除する。プリントサーバ104は、転送データが送られてくる度に順次印刷し、削除することになる。
【0005】
以上のように、従来のネットワークプリントシステムにおいては、印刷対象となるデータ(n枚の請求書)は、クライアント101側における印刷データ(転送データ)編集、クライアント101とプリントサーバ104との間でのデータ転送、プリントサーバ104側におけるフォーム解析及び印刷という順番でシリアルに処理されることになる。
【0006】
ところで、データ転送量及びプリントサーバ側の消費ディスク容量を削減する方法として、転送データを帳票単位に、ページ単位にあるいは同じデータの繰り返し部分を圧縮する方式がある。
【0007】
また、基準となるデータとの差分をとる手法がある。例えば、特開平9−11552号公報には、前ページのイメージデータをキャッシュに保持しておき、当該ページと前ページとの差分を得て、その差分データを当該ページのデータとし、プリントサーバでは前ページのイメージデータと差分データとを合成して当該ページデータの復元を行うようにしたページプリンタが開示されている。すなわち、この先行技術を利用すれば、複数の印刷データ、例えば複数ページから構成される請求書を転送する場合、直前のページを基準ページとみなして直前のページとの差分を当該ページの転送データとする。そして、プリントサーバ側では、直前のページデータと差分データとにより当該ページデータを復元して印刷を行う。このようにすれば、直前のページに類似しているページのデータ量を大幅に削減することができるので、データ転送量及び消費ディスク容量共削減することができる。
【0008】
【発明が解決しようとする課題】
しかしながら、印刷データをそのまま転送データとして転送することは、確かにプリントサーバ側における処理は容易であるものの、印刷するデータ量が膨大になると、それに伴いデータ転送量が膨大になってしまう。また、プリントサーバ側に十分なディスク容量を確保しておかなければならない。更に、印刷処理において処理時間のネックになるのがデータ転送に要する時間であるため処理時間の点からも効率的なデータ転送であるとは言い難い。このような問題が顕著に現れる例を以下に示す。
【0009】
請求書は一般に「正本」と「写し」と「控え」の3部で構成される。「写し」や「控え」は、請求金額等の実データや印字レイアウトは「正本」と全く同じで、請求書の一部に「写し」や「控え」のマークを印字するだけの相違だけである。この相違は、ヘッダ情報内のオーバーレイ情報に設定される。しかし、従来においては、オーバーレイ情報のみの相違しかないのにもかかわらず3種類の請求書ということで同一実データを含む印刷データを3回転送しなくてはならない。プリンタによってはコピー機能を有する機種もあるが、このコピー機能は、全く同一の内容を印刷する場合にのみ有効であり、データの一部変更に対応することはできない。つまり、従来のこのような同一データの重複した転送は無駄であり、多大なデータ転送量に伴うネットワーク負荷の増大及び通信コストの増大を招くことになる。
【0010】
また、プリントサーバ側において圧縮などをせずにページのイメージの印刷データをそのままの形式で蓄積していくと、ディスク容量を無用に消費してしまうので、通常は印刷終了後に印刷データを削除している。しかし、印刷が終了する度に削除してしまうと、例えば、印刷データをレイアウト、片面/両面、縮小など単にフォームのみを変更して印刷したい場合でもクライアント側からのデータの再送が必要となってしまう。また、印刷処理自体は正常に終了した場合でも印字濃度が薄くて印刷物が使用できず早急に印刷をやり直したいという場合でさえクライアント側からのデータの再送が必要となってしまう。このため、クライアント側ではデータの再送処理が発生し、更に再送に伴うネットワーク負荷の増大及び通信コストの増大を招くことになる。
【0011】
また、圧縮技術を単に利用した場合、例えばページ単位に圧縮した場合、1ページ目と共通する内容の部分が多い2ページ目以降のページに対して1ページ目と同じデータ量が発生するため適切でかつ効率的な圧縮であるとは言い難い。
【0012】
また、基準データとの差分を利用した手法では、ある特定のページのみを再度印刷したい場合でも常に1ページ目から順に復元をしていかなければならず、その印刷のために多大な処理負荷がかかってしまう。また、転送データの削減の観点からして直前のページを常に基準ページとすることが最適であるかということには疑問がある。
【0013】
更に、従来においては、印刷データは、クライアント側における転送データ編集、データ転送、フォーム解析及び印刷という手順に沿ってシリアルに処理されるため、全印刷物の印字終了までに要する処理時間が多大となってしまう。また、シリアル処理を回避するためにページ単位等に分割して転送する場合でも、単に分割するだけでは経路の遅延や転送中のエラーなどにより印刷順序(ページの入れ違い)やページ抜けが発生する可能性が生じる。
【0014】
本発明は以上のような問題を解決するためになされたものであり、第1の目的は、効果的なデータ圧縮方式を提供することによって複数のテキストページから構成される帳票を印刷する際のデータ転送量の削減を図るネットワークプリントシステムを提供することにある。
【0015】
第2の目的は、複数のテキストページから構成される帳票の印字出力に要する全体時間を短縮することによってシステムとしてのスループットの向上を図ることのできるネットワークプリントシステムを提供することにある。
【0016】
第3の目的は、帳票の再出力やフォームを変更した帳票出力等にも効率的な帳票出力を可能とするネットワークプリントシステムを提供することにある。
【0017】
第4の目的は、ネットワーク経路で分割転送した場合の印刷順序、データ送達、帳票出力実行を保証するネットワークプリントシステムを提供することにある。
【0018】
第5の目的は、転送された帳票出力用テキストデータの内容の信頼性の向上を図るネットワークプリントシステムを提供することにある。
【0019】
【課題を解決するための手段】
以上のような目的を達成するために、本発明に係るネットワークプリントシステムは、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置とを有し、前記印刷要求発行装置は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成する帳票出力用データ変換処理手段と、前記基準ページデータと前記差分圧縮データとを印刷用データファイルとして前記印刷実行制御装置へ送信する印刷用データ送信手段とを有し、前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分圧縮する前のページデータと比較した結果所定の圧縮効果が得られなかった場合は、当該ページデータを次ページ以降のページデータの基準ページデータと設定変更するものである。
【0020】
また、前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分する前のページデータと比較した結果所定の圧縮効果が得られた場合は、当該基準ページデータと当該差分圧縮データとの組に基づき前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成し、前記印刷用データ送信手段は、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信するものである。
【0021】
更に、前記印刷要求発行装置は、前記帳票出力用データ変換処理手段が基準ページデータと差分圧縮データとの組に基づくページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行するものである。
【0022】
更にまた、前記帳票出力用データ変換処理手段は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで得た差分圧縮データとの組を含むページブロックに分割するページデータ差分圧縮処理を実行するページデータ差分圧縮処理部と、各ページブロックに対応させて前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する伝送ブロック生成処理を実行する伝送ブロック生成処理部とを有し、前記ページデータ差分圧縮処理部は、ページブロックを分割生成する度に当該ページブロックに対する伝送ブロック生成処理を起動し、前記伝送ブロック生成処理部は、伝送ブロックファイルを生成する度に前記印刷用データ送信手段へ渡すことによって各ページブロックに対する処理を同時並行して実行するものである。
【0023】
更にまた、前記帳票出力用データ変換処理手段は、帳票出力用テキストデータを複数含む帳票出力用テキストデータファイルを解析して帳票出力用テキストデータ単位に分割するデータファイル解析処理を実行するとともに、帳票出力用テキストデータに分割する度に当該帳票出力用テキストデータに対するページデータ差分圧縮処理を起動するデータファイル解析処理部を有し、各帳票出力用テキストデータに対する処理を同時並行して実行するものである。
【0024】
また、前記帳票出力用データ変換処理手段は、伝送ブロックファイルを生成する処理過程において帳票出力用テキストデータと、当該帳票出力用テキストデータを分割して生成されたページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックに基づき生成された伝送ブロックファイルの識別情報とを関連付けした情報が登録された印刷要求発行装置側帳票出力管理用データベースを生成するものである。
【0025】
また、前記印刷要求発行装置は、前記印刷実行制御装置へ送信済みの伝送ブロックファイルを伝送ブロックファイル保管用データベースで一時保管する印刷用データ情報保管処理手段を有するものである。
【0026】
また、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置とを有し、前記印刷要求発行装置は、帳票出力用テキストデータに含まれるページデータを複数のページブロックに分割し、各ページブロックを含む前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する帳票出力用データ変換処理手段と、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信する印刷用データ送信手段とを有し、ページブロックを分割生成する度にページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行するものである。
【0027】
また、前記印刷実行制御装置は、前記印刷要求発行装置から転送されてくる印刷用データファイルを伝送ブロックファイルとして受信する印刷用データ受信手段と、前記印刷用データ受信手段が受信した伝送ブロックファイルに含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成する帳票出力用データ解析組立処理を実行する帳票出力用データ解析組立処理手段と、前記帳票出力用データ解析組立処理手段が生成した帳票出力用テキストデータを帳票出力する印刷実行手段とを有し、差分圧縮されたページデータを伸長することで帳票出力用テキストデータを復元して帳票出力を行うものである。
【0028】
更に、前記帳票出力用データ解析組立処理手段は、伝送ブロックファイルに含まれているページブロックを読み出してページブロック保存領域に保存するとともに伝送ブロックファイルに帳票用ヘッダ情報が含まれていた場合にはその帳票用ヘッダ情報を帳票用ヘッダ情報保存領域に保存する伝送ブロック解析処理部と、ページブロック保存領域に保存されたページブロックに含まれている差分圧縮データを同一ページブロックに含まれている基準ページデータに基づき伸長して基準ページデータ及び伸長後のページデータを帳票用ページデータ保存領域に保存する差分圧縮データ伸長処理部と、帳票用ページデータ保存領域に保存されたページデータ及び帳票用ヘッダ情報保存領域に保存された帳票用ヘッダ情報を組み合わせて帳票用テキストデータを生成するテキストデータ組立処理部とを有するものである。
【0029】
また、前記印刷用データ受信手段は、伝送ブロックファイルを生成する度に当該ページブロックに対する帳票出力用データ解析組立処理を起動するものである。
【0030】
また、前記帳票出力用データ解析組立処理手段は、帳票用テキストデータを生成する処理過程において伝送ブロックファイルの識別情報と、当該伝送ブロックファイルに含まれているページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックを組み立てることによって生成した帳票出力用テキストデータとを関連付けした情報が登録された印刷実行制御装置側帳票出力管理用データベースを生成するものである。
【0031】
また、前記印刷実行制御装置は、前記テキストデータ組立処理部が生成した帳票用テキストデータを帳票用テキストデータ保管用データベースで一時保管する印刷用データ保管処理手段を有するものである。
【0032】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0033】
図1は、本発明に係るネットワークプリントシステムの一実施の形態を示したシステム全体構成図である。図1には、広域網1に接続された印刷要求発行装置2と印刷実行制御装置4とが示されている。なお、印刷要求発行装置2及び印刷実行制御装置4は、それぞれ複数台広域網1に接続可能であるが、各装置とも同様に動作するので1台ずつ図示した。
【0034】
印刷要求発行装置2は、一般にホスト計算機等により実現され、印刷用データファイルを送信することで請求書等の帳票出力要求を印刷実行制御装置4へ発行する。印刷要求発行装置2は、アプリケーション実行部21、帳票出力用データ解析変換処理部22及び印刷用データ送信部23を有している。アプリケーション実行部21は、請求書発行プログラム等のアプリケーションを実行し、その結果を帳票出力用テキストデータファイル24に保存する。帳票出力用データ解析変換処理部22は、帳票出力用テキストデータファイル24に基づき伝送ブロックファイル25を生成するための手段であり、データファイル解析処理部26、テキストデータ分解処理部27、ページデータ差分圧縮処理部28、伝送ブロック生成処理部29及び印刷用データ情報保管処理部30で構成されている。印刷用データ送信部23は、帳票出力用データ解析変換処理部22が印刷用データファイルとして生成した伝送ブロックファイル25を印刷実行制御装置4へ順次送信する。
【0035】
印刷実行制御装置4は、一般にワークステーションなどの計算機により実現され、印刷要求発行装置2から送られてきた印刷用データファイルに基づき直接又はネットワークを介して接続されたいずれかのプリンタ5から請求書等の帳票出力を行う。印刷実行制御装置4は、印刷用データ受信部41、帳票出力用データ解析組立処理部42及び印刷実行部43を有している。印刷用データ受信部41は、印刷要求発行装置2から送られてきた印刷用データを受信して伝送ブロックファイル44として保存する。帳票出力用データ解析組立処理部42は、伝送ブロックファイル44に含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成するための手段であり、本実施の形態では、伝送ブロック解析処理部46、差分圧縮情報伸長処理部47、テキストデータ組立処理部48及び印刷用データ保管処理部49で構成されている。印刷実行部43は、帳票出力用データ解析組立処理部42が組み立てた帳票出力用テキストデータファイル45を読み込んでプリンタ5から出力する。
【0036】
以上の構成により印刷要求発行装置2から転送するページデータを、設定した基準ページデータとの差分を取りデータ圧縮をすることによってデータ転送量の削減を図るわけであるが、本実施の形態において特徴的なことは、基準ページデータを固定化せずに圧縮率に基づく各ページの類似度によって基準ページデータの設定変更を行うようにしたことである。これにより、データ圧縮の効率性を高めることができるので、データ転送量をより削減することができ、ネットワーク通信のスループットの向上を図ることができる。
【0037】
また、本実施の形態において更に特徴的なことは、印刷する帳票出力用テキストデータを複数のブロックに分割し、各ブロックに対する処理を同時並行して実行できるようにしたので、印刷に要する時間の短縮化を図ることができる。
【0038】
図2は、本実施の形態における印刷要求発行装置2の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。印刷要求発行装置2において実行される処理は、帳票出力用データ解析変換処理部22において実行されるデータファイル解析処理、テキストデータ分解処理、ページデータ差分圧縮処理及び伝送ブロック生成処理と、印刷用データ送信部23において実行されるデータ送信処理に大別される。データファイル解析処理は、帳票出力用テキストデータファイル24を解析することによって帳票出力用テキストデータ単位に分割する。テキストデータ分解処理は、分割された帳票出力用テキストデータを帳票用ヘッダ情報とページデータとの部分に分割して別個に保存する。ページデータ差分圧縮処理は、帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで圧縮した結果所定の圧縮率に達した差分圧縮データとの組にブロック分割する。伝送ブロック生成処理は、分割されたブロックに対応させて印刷実行制御装置4への送信単位となる伝送ブロックファイル25を生成する。
【0039】
次に、図2に示した各処理の詳細について詳細なフローチャートを用いて説明する。まず、最初にデータファイル解析処理部26が実行するデータファイル解析処理について図3に示したフローチャートに基づき説明する。
【0040】
データファイル解析処理では、帳票出力用テキストデータファイル24を解析することによって帳票出力単位である帳票出力用テキストデータに分割する。帳票出力用テキストデータファイル24には、アプリケーション実行部21で実行される各アプリケーションにより生成された複数の帳票出力用テキストデータが保存される。例えば、数ページから構成される1つの請求書の「正本」は1つの帳票出力用テキストデータとして生成され、その請求書の「写し」は別の帳票出力用テキストデータとして生成されるが、それぞれ同じ帳票出力用テキストデータファイル24に保存される。図4(a)に示したように、帳票出力用テキストデータは、帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される。帳票用ヘッダ情報には、用紙サイズ、フォームレイアウト情報、オーバーレイ情報等ページデータを実際に印字する際に必要な情報が設定されている。また、1ページデータは、帳票出力される1ページのデータに相当する。帳票用ヘッダ情報と1ページデータは、帳票出力用テキストデータの1レコードに相当する。なお、図4(a)に示した、例えば“ページデータP1”というのは、当該帳票出力用テキストデータにおける1ページ目のページデータという意味であり、同一内容を意味するものではない。“d−Pn”というのは、d番目の帳票出力用テキストデータにおけるnページ目のページデータということを示している。
【0041】
図3において、データファイル解析処理部26は、帳票出力用テキストデータファイル24をオープンし(ステップ101)、先頭から順次レコードを読み込む(ステップ102)。読み込むレコードが存在したとき、それが帳票用ヘッダ情報であれば(ステップ103,104)、その帳票用ヘッダ情報に対してユニークなテキストデータid(Tid)を付与して、帳票用ヘッダ情報とTidとを組にして帳票出力管理用データベース31へ登録する(ステップ105)。そして、当該帳票用ヘッダ情報に対応した帳票出力用テキストデータを生成するための帳票用データ保存領域を確保し(ステップ106)、そのレコード(帳票用ヘッダ情報)を書き込む(ステップ107)。続いて、次のレコードを読み込むと、通常はページデータのレコードなので、そのレコード(ページデータ)を確保済みの帳票用データ保存領域に帳票用ヘッダ情報に続けて書き込む(ステップ107)。なお、本実施の形態の場合、各保存領域をディスク装置上すなわちファイルとする。
【0042】
以上の処理を繰り返し行うことで、帳票出力用テキストデータファイル24に他と区別なく格納されていた各帳票出力用テキストデータは、帳票用ヘッダ情報とページデータとの組で分割される。全レコードに対してそれぞれの帳票用データ保存領域への書込みが終了し、読み込むレコードが無くなると、帳票出力用テキストデータファイル24をクローズする(ステップ103,108)。そして、次の処理すなわちテキストデータ分解処理を起動する(ステップ109)。このデータファイル解析処理の結果、生成された帳票出力用テキストデータの例を図4(b)に示す。
【0043】
本実施の形態では、上記のように1つの帳票出力用テキストデータファイル24に対するデータファイル解析処理が終了すると、即座に次の実行すべきテキストデータ分解処理を起動している。すなわち、上記データファイル解析処理中に別個の帳票出力用テキストデータファイル24が新規に生成されていた場合、データファイル解析処理部26は、処理したばかりの帳票出力用テキストデータファイル24に基づく印刷用データファイルが印刷実行制御装置4に転送されたかどうかに関係なく新たに生成された帳票出力用テキストデータファイル24をオープンして上記処理の実行を開始することができる処理機構とした。すなわち、本実施の形態では、帳票出力用テキストデータファイル24毎に独立してかつ並列に実行できる処理機構としたので、システム全体における印刷に要する全体時間の短縮化を図ることができる。
【0044】
続いて、データファイル解析処理により起動されるテキストデータ分解処理を実行するテキストデータ分解処理部27の動作について図5に示したフローチャートを用いて説明する。
【0045】
ここでは、帳票用データ保存領域に格納された帳票出力用テキストデータを単に帳票用ヘッダ情報とページデータ群とを分けて保存するだけの処理を行う。すなわち、テキストデータ分解処理部27は、データファイル解析処理により確保された1つの帳票用データ保存領域(ファイル)をオープンし(ステップ201)、先頭から順次レコードを読み込む(ステップ202)。なお、テキストデータ分解処理部27は、起動時のパラメータ指定等の方法でどのファイルをオープンするかを知ることができる。読み込むレコードが存在したとき、それが帳票用ヘッダ情報であれば(ステップ203,204)、その帳票用ヘッダ情報を別途確保した帳票用ヘッダ情報保存領域に格納する(ステップ205)。また、読み込んだレコードがページデータであれば、別途確保した帳票用ページデータ保存領域に格納する(ステップ204,206)。なお、本実施の形態の場合、各保存領域をファイルとする。この処理を繰り返し行い、読み込むレコードが無くなると、帳票用データ保存領域をクローズする(ステップ203,207)。そして、次の処理すなわちページデータ差分圧縮処理を起動する(ステップ208)。
【0046】
本実施の形態では、上記のように1つの帳票用データ保存領域に対するテキストデータ分解処理が終了すると、その分解した帳票出力用テキストデータに対するページデータ差分圧縮処理を起動することを特徴としている。この起動の後、テキストデータ分解処理部27は、残りの帳票用データ保存領域に対して上記テキストデータ分解処理を実行することになるため、この処理は起動済みのページデータ差分圧縮処理と並行して実行されることになる。これにより、帳票出力のために1つの帳票出力用テキストデータファイル24に対して行うべき各処理を同時並行して行うことができるので、帳票出力に要する全体時間を短縮することができることになる。
【0047】
次に、テキストデータ分解処理により起動されるページデータ差分圧縮処理を実行するページデータ差分圧縮処理部28の動作について図6に示したフローチャートを用いて説明する。
【0048】
ページデータ差分圧縮処理部28は、前段のテキストデータ分解処理において処理された帳票用ページデータ保存領域をオープンする(ステップ301)。そして、ワークに使用する予め用意したページデータ長のレコードバッファ領域B1,B2を初期化した後(ステップ302)、帳票用ページデータ保存領域から1ページデータ分読み込んでレコードバッファ領域B2に格納する(ステップ303)。ここで、最初に読み込んだページデータは、帳票出力用テキストデータにおいて先頭のページデータである。従って、このとき、先頭ページデータを含むことになるページブロックにユニークなページブロックid(Pid)を付与し、テキストデータid(Tid)に関連させて帳票出力管理用データベース31に格納する(ステップ304,305)。そして、新規にページブロック保存領域を確保し、レコードバッファ領域B2の内容をその領域に書き込む(ステップ306)。なお、本実施の形態の場合、ページブロック保存領域をファイルとする。このファイルが次の処理で生成される伝送ブロックファイル25の原形となる。更に、レコードバッファ領域B2の内容をレコードバッファ領域B1にコピーした後(ステップ307)、レコードバッファ領域B2を初期化する(ステップ308)。レコードバッファ領域B1に保存されたページデータがオープン中のページブロック保存領域に格納されるページデータの基準ページデータとなる。
【0049】
続いて、帳票用ページデータ保存領域から次のページデータを読み込んでレコードバッファ領域B2に格納する(ステップ303)。ここで、読み込んだページデータが存在し、かつ先頭のページデータでないとする。なお、先頭のページデータというのは、具体的には帳票出力用テキストデータにおける1ページ目のページデータのことである。このとき、レコードバッファ領域B1に保存されている基準ページデータとレコードバッファ領域B2に読み込まれた処理対象のページデータとをバイト単位で比較して差分を取り、テンポラリに用意したバッファB3に書き込む(ステップ309)。差分の取り方に関しては、従来からある手法を用いればよい。そして、比較した結果、一致したバイトをNullで表現したとすると、バッファB3に書き込まれた差分情報をNullの連続した数をコード化した圧縮形態で表現し、それをバッファB4に書き込む(ステップ310)。
【0050】
ここで、本実施の形態では、レコードバッファ領域B2に格納されているページデータのデータ量に対する当該ページデータを差分・圧縮してバッファB4に書き込まれた差分圧縮データのデータ量の割合(圧縮率)を算出する。圧縮率が高い(算出値としては小さい)ということは、比較するページデータ同士が類似しているということである。ページデータ差分圧縮処理部28は、求めた圧縮率を予め設定されている閾値と比較し、圧縮率が閾値以下であればデータ圧縮が効率的に行われ、差分圧縮データ量が少ないということがいえる。すなわち、ページデータを差分圧縮してデータ転送を行うことがデータ転送量を削減するうえで効果的であると判断することができる。従って、この場合は、その差分圧縮データを当該ページデータの転送用ページデータとして確保されているページブロック保存領域に書き込む(ステップ311,312)。その後、レコードバッファ領域B2を初期化する(ステップ307)。レコードバッファ領域B1に保存した基準ページデータは、そのまま維持する。
【0051】
一方、ステップ311において圧縮率が閾値より大きいということは、比較するページデータ同士が類似していないと判断することができるので、差分圧縮データを転送してもデータ転送量を削減するという効果がそれほど見込めないということができる。この場合は、一連のページデータをブロック分割する。すなわち、現在オープン中のページブロック保存領域をクローズし、レコードバッファ領域B1に保存しているページデータの絶対ページ番号をページブロックid(Pid)に対応させて帳票出力管理用データベース31に格納する(ステップ314)。絶対ページ番号というのは、帳票用データ保存領域に格納された帳票出力用テキストデータにおける通しページ番号に相当する。そして、次の処理すなわち伝送ブロック生成処理を起動する(ステップ315)。
【0052】
本実施の形態では、ページブロック保存領域がクローズされ1つのページブロックが生成されると、当該ページブロックに対する伝送ブロック生成処理を起動することを特徴としている。この起動の後、ページデータ差分圧縮処理部28は、帳票用データ保存領域に未処理のページデータが残されている限り、ステップ303以降の処理を繰り返し実行することになるため、未処理のページデータに対して実行されるステップ303以降のページデータ差分圧縮処理は、ステップ315により起動済みの伝送ブロック生成処理と並行して実行されることになる。これにより、帳票出力に要する全体時間を短縮することができる。
【0053】
ページデータ差分圧縮処理部28は、生成した1つのページブロック保存領域に対する伝送ブロック生成処理を起動すると、終了フラグの状態をチェックする(ステップ316)。このときには、まだセットされていないので、レコードバッファ領域B2に残されているページデータを含むことになるページブロックにユニークなページブロックid(Pid)を付与し、テキストデータid(Tid)に関連させて帳票出力管理用データベース31に格納する(ステップ304,305)。そして、新規にページブロック保存領域を確保し、レコードバッファ領域B2の内容を格納する(ステップ306)。レコードバッファ領域B2に残されていたのは、前段の処理で差分圧縮データが求められたものの基準ページデータに類似していなかったページデータである。更に、レコードバッファ領域B2の内容をレコードバッファ領域B1にコピーした後、レコードバッファ領域B2を初期化する(ステップ307,308)。すなわち、以降の処理では、基準ページデータに類似していなかったページデータを新たな基準ページデータとして、この基準ページデータを先頭にしたページブロックが新規に生成されることになる。
【0054】
続いて、帳票用データ保存領域から更に次のページデータを読み込んで前述した処理を繰り返し行い、各ページデータをページブロック毎にブロック分割していく。そして、最終的に読み込むページデータが無くなったとき、終了フラグをセットし(ステップ313)、前述したようにレコードバッファ領域B1に保存しているページデータの絶対ページ番号をページブロックid(Pid)に対応させて帳票出力管理用データベース31に格納した後、伝送ブロック生成処理を起動する(ステップ314,315)。そして、終了フラグの状態をチェックすると、ステップ313によりセットされているので、最初のステップ301でオープンした帳票用ページデータ保存領域をクローズする(ステップ317)。以上の処理の結果、得られたページブロックの内容例を図4(c)に示す。図4(c)によれば、各ページブロックの先頭には、差分圧縮されていないページデータがそのまま転送用ページデータとして格納されている。そして、それに続く当該ページブロック内における各転送用ページデータは、各ページブロックの先頭のページデータを基準ページデータとしたときの差分圧縮データである。図4(c)では、差分圧縮されていないページデータを“(d−P1)”のようにダッシュを付けないで表し、差分圧縮データによる転送用ページデータを“(d−P2)´”のようにダッシュを付けて表している。なお、帳票用ヘッダ情報dは、ページブロックに含まれないが、図4(c)に便宜的に図示している。これは、前述した帳票用ヘッダ情報保存領域に相当する。
【0055】
本実施の形態におけるページデータ差分圧縮処理では、以上のように各ページデータの差分を取った結果、圧縮率が高いときには当該差分圧縮データを当該ページの転送用ページデータとし、圧縮率が低いところでブロック分割するようにして1つの帳票出力用テキストデータから複数の印刷用データファイルを生成するようにしたことを特徴としている。このように、圧縮率を考慮しながら基準ページデータの設定変更を行うようにしたので、データ転送量をより効率的に削減することができる。また、ブロック分割することで他のページブロックに対する処理と同時並行して処理を実行することができるため、印刷に要する全体時間を短縮することができる。
【0056】
ところで、本実施の形態では、ページデータの圧縮を行い、類似していないページ間、すなわち差分圧縮データ量を元のページデータ量と比較すると圧縮効果が得られないページのところで分割し、類似しているページデータ同士でブロック化するようにした。このように処理することは、次のような場合に極めて効果的となる。
【0057】
例えば、帳票として請求書を送信する場合、請求書(印刷物)の各ページのヘッダ部分には、送付先や送付元の企業、部署、担当者等を記載するが、同一の送付先であれば、連続した各ページの記載内容は一致する。また、同一送付先に対して使用する請求書のフォームは、種別が異なっても通常はタイトル(種別名)が異なる程度で定型化されているので、この点でも同一送付先への連続した各ページには一致する印字部分が多い。
【0058】
すなわち、例えば請求書の各ページのヘッダ部分や定型フォーム部分等各ページに共通する部分のデータ量の和に基づき閾値を設定しておけば、複数ページからなる請求書、あるいは同一送付先への請求書により1ページブロックが生成され、この場合の当該ページブロックにおける圧縮率は極めてよくなると考えられる。前述した請求書の「正本」と「写し」等の相違は、帳票用ヘッダ情報内のオーバーレイ情報に設定されるので、この場合のページデータの差分圧縮データの中味は空となる。これにより、データ転送量を大幅に削減することができる。また、帳票出力用テキストデータを異なる送付先のところで分割したとしても何ら不自然はなく、それどころか再送等の処理上好ましく、メンテナンス等にも極めて有利である。
【0059】
本実施の形態では、ページデータを圧縮し、かつ類似しているか否かのところでブロック分割している。これにより、データ転送量の削減及び処理の並列化を実現している。帳票出力用テキストデータを固定長でブロック分割しても並列処理は実現可能であるものの圧縮率の関係上データ転送量の削減が望めるとは限らない。その一方、ページデータを圧縮すれば、ブロック分割しなくてもデータ転送量を削減することはできるが並列処理は実現できない。また、差分圧縮データを得る際の基準ページデータを固定化したり、あるいは単純に直前のページデータと決めていても転送データ量をある程度削減できるかもしれないが、本実施の形態では、圧縮率が悪くなったところでブロック分割に伴い基準ページデータの設定変更をしているので、各ページブロックのデータ転送量を確実に減少させることができる。このように、本実施の形態によれば、ページデータの差分・圧縮を行い、圧縮が効率的でないところでブロック分割し、処理の並列化を可能としたので、システムの高速化及び転送データ量の削減という双方の効果を確実に奏することができる。
【0060】
なお、本実施の形態では、所定の圧縮効果が得られたかどうかの判断のために固定的な閾値を予め設定して、算出した圧縮率と閾値とを単に比較するようにしたが、圧縮率の変動量の幅、率等により所定の圧縮効果が得られたかどうかの判断を行うようにしてもよい。また、学習機能を持たせて閾値を変動させるようにしてもよい。所定の圧縮効果が得られたかどうかの判断を行うための条件等の設定は、扱う帳票の種類、対象となる送付先、システム構成等に応じて行えばよい。
【0061】
また、本実施の形態では、基準ページデータをページブロック毎に設定したが、扱う帳票の種類によっては、基準ページデータを直前のページデータとしても転送データ量を削減することはできる。
【0062】
次に、ページデータ差分圧縮処理により起動される伝送ブロック生成処理を実行する伝送ブロック生成処理部29の動作について図7に示したフローチャートを用いて説明するが、その前に本実施の形態における帳票出力管理用データベース31のデータ構造について図8に基づき説明する。
【0063】
帳票出力管理用データベース31は、テキストデータヘッダ情報及びページブロックヘッダ情報のテーブルで構成されている。テキストデータヘッダ情報は、帳票出力用テキストデータ毎に設定され、データファイル解析処理において帳票出力用テキストデータファイル24に含まれている帳票出力用テキストデータ毎に割り当てられたテキストデータid(Tid)と、Tidと組にして格納された帳票用ヘッダ情報と、印刷用データ送信部23が後述する処理において設定する送信済情報とで構成されている。ページブロックヘッダ情報テーブルは、各帳票出力用テキストデータに対応させて設けられている。ページブロックヘッダ情報は、ページデータ差分圧縮処理において各ページブロックに割り当てたページブロックid(Pid)と、ページブロック保存領域のクローズ時点で書き込まれる絶対ページ番号と、ページブロックに基づき生成される伝送ブロックファイルの名称と、ページブロックに基づき帳票出力される出力先プリンタ名(印刷実行制御装置4及びプリンタ5)とで構成される。
【0064】
伝送ブロック生成処理部29は、まず、伝送ブロックファイル25を新規にオープンし(ステップ401)、そのファイル名をページブロックヘッダ情報に設定する(ステップ402)。更に、ページブロック保存領域をオープンする(ステップ403)。そして、帳票出力管理用データベース31から該当するテキストデータヘッダ情報とページブロックヘッダ情報とを読み出して伝送ブロックヘッダ情報を生成して伝送ブロックファイル25に格納する(ステップ404)。オープンした当該ページブロックが先頭である場合は、テキストデータ分解処理において帳票用ヘッダ情報保存領域に格納しておいた帳票用ヘッダ情報を読み出し、伝送ブロックファイル25に格納する(ステップ405,406)。更に、ページブロックを格納した後(ステップ407)、伝送ブロックファイル25をクローズする(ステップ408)。このようにして伝送ブロックファイル25を生成すると、次の処理を行う印刷用データ送信部23へ伝送ブロックファイル25を投入する(ステップ409)。
【0065】
この伝送ブロック生成処理においても1つの伝送ブロックファイル25を生成すると、その伝送ブロックファイル25を即座に印刷用データ送信部23へ投入することを特徴としている。これにより、印刷用データ送信部23における送信処理と後に続くデータブロックに基づく伝送ブロック生成処理とを同時並行して実行させることができるので、帳票出力に要する全体時間を短縮することができることになる。
【0066】
以上、伝送ブロック生成処理部29は、前段のページデータ差分圧縮処理によりページブロックが生成される度に伝送ブロック生成処理を実行して伝送ブロックファイル25を生成することになる。この生成された伝送ブロックファイル25の内容例を図4(d)に示す。この例から明らかなように同一の帳票出力用テキストデータから生成された伝送ブロックファイル25には、同一のテキストデータヘッダ情報が設定されているため、印刷実行制御装置4は、どの順番で伝送ブロックファイル25が到着しようともその組を容易に認識することができる。また、ページブロックヘッダ情報が設定されているため各ページブロックの識別も容易にできる。
【0067】
なお、上記伝送ブロック生成処理では、説明していないが、伝送ブロックヘッダ情報には、同一の帳票出力用テキストデータから生成された伝送ブロックファイル25の生成数及び自己の伝送ブロックファイル25の並び順、伝送ブロックファイル25に含まれているページデータが帳票出力用テキストデータにおいて何ページ目から何ページ目を構成しているかという情報が含まれており、ページ指定の再送処理や印刷実行制御装置4における帳票出力用テキストデータの組立処理の便宜を図っている。
【0068】
印刷用データ送信部23は、上記のように伝送ブロック生成処理部29から伝送ブロックファイル25が投入されると、ページブロックヘッダ情報に設定されている出力先プリンタ名を参照することで特定した印刷実行制御装置4へ順次送信する。そして、印刷実行制御装置4から同一の帳票出力用テキストデータを構成する印刷用データファイルを全て正常に受信した旨の通知を受け取ると、その送信時刻及び終了ステータスコードを帳票出力管理用データベース31の送信済情報として設定する。なお、本実施の形態では、送信済み情報をテキストデータヘッダ情報としてTidに対応させて設けたが、ページブロックヘッダ情報としてPidに対応させて設けて、伝送ブロックファイル毎に送信確認を行うようにしてもよい。このように、送信済情報を帳票出力管理用データベース31に設定するようにしたので、帳票出力が正常に実行されなかったときの障害発生箇所の切り分けを容易に行うことができる。
【0069】
印刷用データ情報保管処理部30は、帳票出力管理用データベース31の送信済情報に送信時刻が書き込まれたことを検知すると、該当する伝送ブロックファイル25を伝送ブロックファイル保管用データベース32へ移動し蓄積する。なお、この際、伝送ブロックファイル25に対応させて指定値若しくはデフォルト値の保管期限等も設定する。印刷用データ情報保管処理部30は、定期的に動作して保管期限に達した伝送ブロックファイル25を削除する。このように、正常に送信できた伝送ブロックファイル25を即座に削除せずに指定期間保管しておくことで印刷実行制御装置4からの再送要求が送られてきたときにも伝送ブロックファイル25を再度生成する処理を実行しなくてすむので迅速にその再送要求に対応することができる。なお、上記伝送ブロックファイル25を保管しておく期間は、適用するシステムや扱う帳票によって適宜保管するデフォルト値を設定すればよい。
【0070】
次に、印刷要求発行装置2から送られてくる印刷用データファイルに基づき帳票出力を行う印刷実行制御装置4における処理について説明する。
【0071】
図9は、本実施の形態における印刷実行制御装置4の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。印刷実行制御装置4では、基本的には印刷要求発行装置2において実行された処理を逆の順番に実行することで帳票出力用テキストデータファイル45を生成して帳票出力を行う。すなわち、印刷用データ受信部41おいて実行されるデータ受信処理、帳票出力用データ解析組立処理部42において実行される伝送ブロック解析処理、差分圧縮データ伸長処理、テキストデータ組立処理、そして、最後に印刷実行部43において実行される印字出力処理を実行する。更に、上記処理を実行する過程で再送などの処理を考慮して印刷要求発行装置2にある帳票出力管理用データベース31と同一内容の帳票出力管理用データベース50及び差分圧縮データを伸長して印刷可能な形式に変換した帳票出力用テキストデータを一時保管した帳票出力用テキストデータ保管用データベース51を生成する。
【0072】
次に、図9に示した各処理の詳細について説明すると、まず、印刷用データ受信部41は、常時印刷用データファイルの受信待ち状態にあり、自己宛の印刷用データファイルが送られてくると、それを受信して伝送ブロックファイル44として図示しないディスク装置に格納する。この格納する度に伝送ブロック解析処理を起動するとともに同一の帳票出力用テキストデータを構成する印刷用データファイルの全てを正常に受信できたときにはその旨を送信元の印刷要求発行装置2へ通知する。
【0073】
続いて、伝送ブロック解析処理部46が実行する伝送ブロック解析処理について図10に示したフローチャートを用いて説明する。
【0074】
伝送ブロック解析処理では、図4(d)に示したデータ構造の伝送ブロックファイル44を図4(c)のデータ構造のページブロックに展開する処理を行う。すなわち、伝送ブロック解析処理部46は、受信された伝送ブロックファイル44をオープンし(ステップ501)、そのファイルに設定された伝送ブロックヘッダ情報の内容に基づき帳票出力管理用データベース50を検索する(ステップ502)。つまり、受信された伝送ブロックファイル44と同一のTidのテキストデータヘッダ情報が帳票出力管理用データベース50に登録されていなければ、同一の帳票出力用テキストデータを構成するための他の伝送ブロックファイル44はまだ処理されていないと判断して、当該伝送ブロックファイル44の伝送ブロックヘッダ情報を構成するテキストデータヘッダ情報及びページブロックヘッダ情報を帳票出力管理用データベース50に登録する(ステップ503〜505)。続いて、伝送ブロックファイル44に含まれているページブロックを予め用意したページブロック保存領域に保存する(ステップ506)。一方、ステップ502における問合せの結果、受信された伝送ブロックファイル44と同一のTidのテキストデータヘッダ情報が帳票出力管理用データベース50に登録されていれば、同一の帳票出力用テキストデータを構成する他の伝送ブロックファイル44が既に受信されていると判断できるので、伝送ブロックファイル44に含まれているページブロックヘッダ情報を帳票出力管理用データベース50に登録し、また、ページブロックをページブロック保存領域に保存する(ステップ503,505,506)。そして、当該伝送ブロックファイル44が同一の帳票出力用テキストデータにおいて先頭のものであれば、伝送ブロックファイル44に帳票用ヘッダ情報が含まれているので、それを予め用意した帳票用ヘッダ情報保存領域に保存する(ステップ507,508)。その後、次の処理の差分圧縮データ伸長処理を起動する(ステップ509)。
【0075】
以上のようにして受信した伝送ブロックファイル44に基づき図4(c)に示したデータ構造のページブロック保存領域を生成すると共に帳票出力管理用データベース50を構築する。
【0076】
次に、差分圧縮データ伸長処理部47が実行する差分圧縮データ伸長処理について図11に示したフローチャートを用いて説明する。
【0077】
差分圧縮データ伸長処理では、図4(c)に示したデータ構造のページブロックに含まれる差分圧縮データを伸長して帳票用ページデータ保存領域に展開する処理を行う。
【0078】
差分圧縮データ伸長処理部47は、まずページブロック保存領域をオープンし(ステップ601)、先頭のページデータを読み込んでレコードバッファ領域B1及び予め用意した帳票用ページデータ保存領域に格納する(ステップ602,603)。ここで読み込んだデータは、圧縮されていない基準ページデータである。続いて、次のレコード(ページデータ)を読み込んでレコードバッファ領域B2へ書き込む(ステップ604)。このレコードバッファ領域B2に書き込まれたページデータは、差分圧縮データである。ここで、差分圧縮データ伸長処理部47は、ページデータ差分圧縮処理部28における差分圧縮と逆に、レコードバッファ領域B2の差分圧縮データのコード化されたnull数を伸長してレコードバッファ領域B3に格納し、レコードバッファ領域B1,B3に格納された各ページデータをバイト単位で比較してその和をレコードバッファ領域B4へ一時保持する(ステップ606)。この伸長処理によりレコードバッファ領域B4に保持されたページデータを帳票用ページデータ保存領域に格納する(ステップ607)。この後、レコードバッファ領域B2〜B4を初期化して、ステップ604に戻り上記処理を繰り返す。もし、読み込むページデータがなければ、処理を終了する(ステップ605)。終了の際、当該ページブロック保存領域をクローズする。また、本実施の形態では、帳票用ページデータ保存領域をファイルで形成するので、このファイルをクローズする。
【0079】
以上のようにして差分圧縮データの伸長が終了すると、テキストデータ組立処理部48は、ファイルで形成される図4(b)に示したデータ構造の帳票用データ保存領域を生成する処理を行う。このテキストデータ組立処理部48が行うテキストデータ組立処理を図12に示したフローチャートを用いて説明する。
【0080】
テキストデータ組立処理部48は、帳票用データ保存領域を新規に生成し(ステップ701)、帳票用ヘッダ情報保存領域から読み出した帳票用ヘッダ情報を格納する(ステップ702)。続いて、帳票用ページデータ保存領域から読み出したページデータを帳票用データ保存領域に格納する(ステップ703)。複数生成された帳票用ページデータ保存領域のうちどの領域から順にページデータを読み出すかは、帳票出力管理用データベース50のテキストデータヘッダ情報のテキストデータid(Tid)に関連付けされているページブロックヘッダ情報を参照することによって管理することができる。
【0081】
このようにして、分割され転送されてきたページデータを帳票用データ保存領域において連結することができるが、帳票用データ保存領域を帳票出力用テキストデータファイル45として印刷実行部43へ投入することによって帳票出力用テキストデータを印字出力させることができる(ステップ704)。印刷実行部43への投入が正常にできれば、印刷用データ保管処理を起動し(ステップ705,706)、帳票出力管理用データベース50の印刷済情報にその旨のフラグを設定する(ステップ707)。帳票出力管理用データベース50は、帳票出力管理用データベース31と同一のデータ構造を有しているが、帳票出力管理用データベース31の送信済情報に相当するフィールドが印刷済情報に割り当てられている。一方、印刷実行部43への投入が正常にできなければ、その旨のメッセージを出力するなどしてオペレータに通知し、何らかのリカバリ処理が行われるように対処する(ステップ708)。
【0082】
本実施の形態の印刷要求発行装置2においては、印刷要求として複数の帳票出力用テキストデータを含む帳票出力用テキストデータファイル24が生成されるが、印刷実行制御装置4においては、上記のように帳票出力用テキストデータ個々に対応した帳票出力用テキストデータファイル45が生成されることになる。もし、元の帳票出力用テキストデータファイル24の並び順で帳票出力用テキストデータファイル45を印字出力をさせたいのであれば、帳票出力用テキストデータの並び順をTidに対応させて帳票出力管理用データベース31へ登録し、印刷実行制御装置4では、その並び順に基づき印字出力順のプライオリティを設定するなど対処すればよい。また、他の印刷要求発行装置2から同時に印刷用データファイルが送られてきてもTidにより関連付けしているので印字出力する際に各帳票が混在しないように制御管理することができる。
【0083】
また、印刷用データ保管処理部49は、各帳票出力用テキストデータファイル45すなわち帳票用データ保存領域の内容を帳票出力用テキストデータ保管用データベース51へ一時保管する。この際、帳票出力管理用データベース50の伝送ブロックファイル名のフィールドの設定を更新したり、別フィールドを設けたりするなどして帳票出力用テキストデータ保管用データベース51に保管する帳票出力用テキストデータと、帳票出力管理用データベース50とTidとを関連付けしておく。帳票出力用テキストデータを一時保管しておくことで次の効果を奏することができる。
【0084】
例えば、印刷実行制御装置4としての処理は正常に終了したもののプリンタ5のトナー残量が少なかったため印字文字が薄くトナーカートリッジ交換後に再度印刷をしたいような場合、従来であれば印刷実行部43における処理の正常終了により帳票出力用テキストデータファイル45を削除するように処理していたので、印刷実行制御装置4側単独では再度の印字出力をすることができない。
【0085】
そこで、本実施の形態では、一定期間帳票出力用テキストデータファイル45を保管しておくようにしたので、印刷実行制御装置4側において正常に印字出力できた帳票を再度印刷することができる。また、ページ指定の再印刷要求にも迅速かつ容易に対応することができる。
【0086】
また、用紙サイズの変更、フォームのみの変更等印刷要求発行装置2が帳票用ヘッダ情報に設定する情報のみを変更して帳票出力をしたい場合、印刷要求発行装置2は、ページデータを再度転送せずに帳票用ヘッダ情報のみを転送すればよくなる。帳票用ヘッダ情報のみを転送する場合でもその帳票用ヘッダ情報に含まれる識別情報に基づき帳票出力用テキストデータ保管用データベース51に格納されている帳票用ヘッダ情報を検索することによってページブロックヘッダ情報を特定することができるので、当該帳票用ヘッダ情報を対応したページデータと関連付けすることができる。更に、ページ指定の印刷にも容易に対応することができる。
【0087】
以上のように、本実施の形態によれば、帳票出力用テキストデータに含まれる印字対象のページデータを基準ページデータとの差分を取ることによって印刷要求発行装置2から印刷実行制御装置4へ転送される印刷用データファイルのサイズを圧縮するようにしたので、データ転送量を削減することができる。特に、本実施の形態においては、ページデータへの差分圧縮処理の結果所定の圧縮効果が得られなかった場合には、基準ページデータを変更するようにしたので、極めて効率的なページデータの差分・圧縮を行うことができるので、データ転送量をより確実に削減することができる。
【0088】
また、本実施の形態では、1つの帳票出力用テキストデータファイル24を帳票出力用テキストデータ個々に、また、帳票出力用テキストデータを更に分割するなどしてブロックし、各ブロックを生成する度にブロックに対して行う後続の処理を順次開始するようにしたので、複数の処理を同時並行して実行することができる。これにより、ネットワークプリントシステムとして高速化を実現することができる。このように、ブロック分割することで並列処理による高速化を図れるのみならず再送単位を小さくすることになるので再送時におけるデータ転送量も削減することができる。各ブロックには、基準ページデータが含まれているので差分圧縮データを簡単な処理で容易に伸長することができる。
【0089】
ところで、本実施の形態においては、データ転送量の削減及びシステムとして帳票出力処理の高速化を図ることができるが、更に、再送処理などの細かな処理にも対応できるようなシステム構成としている。
【0090】
例えば、帳票出力用テキストデータ保管用データベース50は、印刷実行制御装置4における独立した帳票出力処理の正常終了の結果、印刷済情報と送信済情報との関係以外、印刷要求発行装置2における帳票出力用テキストデータ保管用データベース31と同一のデータ構造で生成される。つまり、データベースのレプリカ機能を使用して各帳票出力用テキストデータ保管用データベース31,50のつき合わせをすれば、印刷実行制御装置4において発生した異常を容易に検出することができる。仮に、異常なページブロックが検出されれば、当該ページブロックの再送要求を印刷要求発行装置2へ送出すればよい。印刷要求発行装置2では、前述したように伝送ブロックファイル25を伝送ブロックファイル保管用データベース32に一時保管しているので、再送要求のあったページブロックを含む伝送ブロックファイル25を伝送ブロックファイル保管用データベース32から読み出して印刷実行制御装置4へ送信することで迅速かつ容易に再送要求に応じることができる。また、出力すべき帳票のデータ内容の信頼性を向上させることができる。
【0091】
なお、本実施の形態では、ページデータ間の差分を取り差分圧縮データを得ることによってデータ転送量を削減することを特徴としているので、各帳票が複数ページから構成されているときに効果を奏するわけであるが、1ページのみの帳票を出力する際にも適用することができることはいうまでもない。
【0092】
【発明の効果】
本発明によれば、転送するページデータを基準ページデータとの差分を取ることで圧縮した結果得られる差分圧縮データが差分される前のページデータと比較して所定の圧縮効果が得られなかった場合には、当該ページデータを次ページデータ以降のための基準ページデータに設定変更するようにしたので、ページデータを効率的に圧縮することができるので、データ転送量をより確実に削減することができる。このため、ネットワーク通信のスループットを向上させることができる。
【0093】
また、転送するページデータをブロック分割するとともにページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始するようにしたので、各ページブロックに対する処理を同時並行して実行することができる。これにより、ネットワークプリントシステムの高速化を実現することができる。
【0094】
また、伝送ブロックファイルを生成する処理過程において印刷要求発行装置側帳票出力管理用データベースを生成するようにしたので、帳票出力用テキストデータ、ページブロック及び伝送ブロックファイルの関連付けを容易に認識することができるとともに印刷順序、データ送達、印刷実行を保証することができる。
【0095】
また、印刷用データ情報保管処理手段を設けて送信済みの伝送ブロックファイルを一定期間保管しておくことで印刷実行制御装置から再送要求が送られてきたときにも迅速に対応することができる。
【0096】
また、印刷実行制御装置を以上の構成としたので、上記印刷要求発行装置から差分圧縮データを含む印刷用データファイルが転送されてきた場合でもその差分圧縮データを伸長し帳票用テキストデータを復元して帳票出力することができる。
【0097】
また、伝送ブロックファイルを生成する度に後続の帳票出力用データ解析組立処理を起動するようにしたので、各伝送ブロックファイルに基づくページブロックの生成を同時並行して実行することができる。これにより、ネットワークプリントシステムの高速化を実現することができる。
【0098】
また、帳票出力用テキストデータを生成する処理過程において印刷実行制御装置側帳票出力管理用データベースを生成するようにしたので、伝送ブロックファイル、ページブロック及び帳票出力用テキストデータの関連付けを容易に認識することができる。また、印刷実行制御装置側及び印刷要求発行装置側の各帳票出力管理用データベースの内容を比較することにより帳票出力をする際に発生した障害等を容易に特定することができる。
【0099】
また、正常に印字出力できた帳票用テキストデータを一定期間保管しておくことで印刷要求発行装置に再送を要求することなく当該帳票の全部又は一部の再度の印字出力を印刷実行制御装置側において容易に行うことができる。
【図面の簡単な説明】
【図1】 本発明に係るネットワークプリントシステムの一実施の形態を示したシステム全体構成図である。
【図2】 本実施の形態における印刷要求発行装置2の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。
【図3】 本実施の形態におけるデータファイル解析処理を示したフローチャートである。
【図4】 本実施の形態において帳票出力用テキストデータファイルの内容を転送するまでのデータ構造の変移を示した図である。
【図5】 本実施の形態におけるテキストデータ分解処理を示したフローチャートである。
【図6】 本実施の形態におけるページデータ差分圧縮処理を示したフローチャートである。
【図7】 本実施の形態における伝送ブロック生成処理を示したフローチャートである。
【図8】 本実施の形態における帳票出力管理用データベースのデータ構造を示した図である。
【図9】 本実施の形態における印刷実行制御装置の概略的な処理の流れ及び各処理において入出力されるファイル等を示した図である。
【図10】 本実施の形態における伝送ブロック解析処理を示したフローチャートである。
【図11】 本実施の形態における差分圧縮データ伸長処理を示したフローチャートである。
【図12】 本実施の形態におけるテキストデータ組立処理を示したフローチャートである。
【図13】 従来のネットワークプリントシステムの一例を示した全体構成図である。
【図14】 従来の転送データのフォーマットを示した図である。
【符号の説明】
1 広域網、2 印刷要求発行装置、4 印刷実行制御装置、21 アプリケーション実行部、22 帳票出力用データ解析変換処理部、23 印刷用データ送信部、24,45 帳票出力用テキストデータファイル、25,44 伝送ブロックファイル、26 データファイル解析処理部、27 テキストデータ分解処理部、28 ページデータ差分圧縮処理部、29 伝送ブロック生成処理部、30 印刷用データ情報保管処理部、31,50 帳票出力管理用データベース、32 伝送ブロックファイル保管用データベース、41 印刷用データ受信部、42 帳票出力用データ解析組立処理部、43 印刷実行部、46 伝送ブロック解析処理部、47 差分圧縮データ伸長処理部、48 テキストデータ組立処理部、49 印刷用データ保管処理部、51 帳票出力用テキストデータ保管用データベース。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a network print system, and more particularly to a network print system for reducing a data transfer amount when transferring a print data file via a network to a print execution control apparatus for outputting a form to a printer and improving a throughput of the entire system. About.
[0002]
[Prior art]
FIG. 13 is an overall configuration diagram showing an example of a conventional network print system, and a case where this network print system is applied to an invoice issuing system will be described as an example. This system corresponds to a host computer of an invoice issuing system, and a client 101 that distributes generated invoice data to each office and an invoice installed at each office and transferred via the wide area network 102. And a print server 104 that outputs data from the connected printer 103. Here, a process until the invoice is printed will be described.
[0003]
The client 101 generates data to be transferred to each print server 104 based on the bill data. FIG. 14 is a diagram showing a format of conventional transfer data transferred over the wide area network 102. Basically, print data that can be interpreted as it is in the print server 104 becomes transfer data as it is. When the invoice is composed of n sheets, the print data includes n page data corresponding to each page of the invoice to be printed and header information of the invoice. The header information includes paper size information, form layout information, overlay information, single-sided / double-sided printing information, enlarged / reduced printing information, and the like. Note that print information for print control for each page is also added to each page data. When the print data is generated, the client 101 transmits the print data as it is to the corresponding office as transfer data. When a plurality of types of invoices are transmitted to one office, transfer data is generated for each invoice and is sequentially transmitted.
[0004]
In the print server 104, when transfer data is sent from the client 101, the header information included in the print data which is the transfer data is analyzed and converted into a format corresponding to the printer, and each page data is printed. After the printing is completed, the print data is usually deleted in order to secure the disk capacity in the print server 104. The print server 104 sequentially prints and deletes each time transfer data is sent.
[0005]
As described above, in the conventional network print system, data to be printed (n invoices) is edited on the print data (transfer data) on the client 101 side, and between the client 101 and the print server 104. Processing is performed serially in the order of data transfer, form analysis on the print server 104 side, and printing.
[0006]
By the way, as a method for reducing the data transfer amount and the consumed disk capacity on the print server side, there is a method in which transfer data is compressed on a form basis, a page basis, or a repeated portion of the same data.
[0007]
There is also a method for taking a difference from the reference data. For example, in Japanese Patent Application Laid-Open No. 9-11552, image data of the previous page is held in a cache, a difference between the page and the previous page is obtained, and the difference data is used as data of the page. A page printer is disclosed in which image data of the previous page and difference data are combined to restore the page data. That is, if this prior art is used, when transferring a plurality of print data, for example, an invoice consisting of a plurality of pages, the previous page is regarded as a reference page and the difference from the previous page is determined as the transfer data of the page And Then, on the print server side, the page data is restored by the previous page data and the difference data, and printing is performed. In this way, the data amount of a page similar to the immediately preceding page can be greatly reduced, so that both the data transfer amount and the consumed disk capacity can be reduced.
[0008]
[Problems to be solved by the invention]
However, although transferring the print data as it is as transfer data is certainly easy on the print server side, if the amount of data to be printed becomes enormous, the amount of data transfer becomes enormous. Also, a sufficient disk capacity must be secured on the print server side. Furthermore, since the time required for data transfer is a bottleneck in the printing process, it is difficult to say that the data transfer is efficient from the viewpoint of processing time. An example in which such a problem appears remarkably is shown below.
[0009]
Invoices generally consist of three parts: “original”, “copy” and “record”. “Copy” and “Record” have the same actual data such as the billing amount and print layout as “Original”, and only differ by printing the “Copy” and “Record” marks on part of the invoice. is there. This difference is set in the overlay information in the header information. However, conventionally, print data including the same actual data must be transferred three times because there are three types of invoices, although only the overlay information is different. Some printers have a copy function. However, this copy function is effective only when printing exactly the same contents, and cannot cope with a partial change of data. That is, the conventional duplicate transfer of the same data is useless, which causes an increase in network load and communication cost due to a large amount of data transfer.
[0010]
Also, if the print data of the page image is stored in the same format without compression on the print server side, the disk capacity will be consumed unnecessarily, so normally the print data is deleted after printing is completed. ing. However, if it is deleted every time printing is completed, for example, even if it is desired to print the print data by simply changing the form, such as layout, single-sided / double-sided, and reduced, it is necessary to retransmit the data from the client side End up. Further, even when the printing process itself is normally completed, even when the print density is low and the printed matter cannot be used and printing is to be performed immediately, it is necessary to retransmit the data from the client side. For this reason, data retransmission processing occurs on the client side, and further increases in network load and communication cost due to retransmission.
[0011]
In addition, when compression technology is simply used, for example, when compression is performed in units of pages, the same amount of data as the first page is generated for the second and subsequent pages that have a lot of content in common with the first page. It is difficult to say that the compression is efficient.
[0012]
Further, in the method using the difference from the reference data, even when it is desired to print only a specific page again, it is necessary to always restore in order from the first page, and a large processing load is required for the printing. It will take. In addition, there is a question as to whether it is optimal to always use the immediately preceding page as a reference page from the viewpoint of reducing transfer data.
[0013]
Further, conventionally, since the print data is serially processed in accordance with the procedures of transfer data editing, data transfer, form analysis and printing on the client side, the processing time required for completing the printing of all the printed matter becomes great. End up. Also, even when dividing and transferring in units of pages to avoid serial processing, printing order (page misplacement) or missing pages may occur due to path delays or errors during transfer, etc., simply by dividing. Sex occurs.
[0014]
The present invention has been made to solve the above-described problems, and a first object is to provide an effective data compression method to print a form composed of a plurality of text pages. An object of the present invention is to provide a network print system that reduces the amount of data transfer.
[0015]
A second object is to provide a network print system capable of improving the throughput of the system by reducing the total time required for printing out a form composed of a plurality of text pages.
[0016]
A third object is to provide a network print system that enables efficient form output even when a form is re-output or a form is changed.
[0017]
A fourth object is to provide a network print system that guarantees printing order, data delivery, and form output execution when divided and transferred through a network path.
[0018]
A fifth object is to provide a network print system that improves the reliability of the contents of transferred form output text data.
[0019]
[Means for Solving the Problems]
In order to achieve the above object, the network print system according to the present invention is a printable form output text composed of a set of form header information and a plurality of text-format page data to be printed. Print request issuing device for generating a print data file from data, and print execution for generating form output text data based on the print data file transferred from the print request issuing device via the network and outputting the form The print request issuing device includes any page data included in the form output text data as reference page data, and a page other than the reference page data is obtained by taking a difference from the reference page data. Form output data conversion processing means for compressing data and generating differentially compressed data; and Print data transmission means for transmitting the page data and the differentially compressed data as a print data file to the print execution control device, and the form output data conversion processing means takes a difference from the reference page data If the specified compression effect is not obtained as a result of comparing the differential compression data obtained by compression with the page data before differential compression, the page data is set as the reference page data of the page data on and after the next page. To change.
[0020]
In addition, when the form output data conversion processing unit obtains a predetermined compression effect as a result of comparing the difference compressed data obtained by compressing by taking the difference from the reference page data with the page data before the difference. Generates a transmission block file as a transmission unit to the print execution control device based on the set of the reference page data and the differentially compressed data, and the print data transmission means includes the form output data conversion processing means. The transmission block file generated by the above is transmitted as a print data file.
[0021]
Furthermore, the print request issuing device sequentially starts subsequent processing for each page block each time the form output data conversion processing unit generates a page block based on a set of reference page data and differentially compressed data. By doing so, a plurality of processes are executed in parallel.
[0022]
Further, the form output data conversion processing means uses any page data included in the form output text data as reference page data, and takes page data other than the reference page data by taking a difference from the reference page data. To generate differential compressed data, and for all page data included in the text data for form output, a set of reference page data and differential compressed data obtained by taking the difference between the reference page data A page data differential compression processing unit that executes page data differential compression processing to be divided into page blocks, and transmission block generation processing that generates a transmission block file corresponding to each page block and serving as a transmission unit to the print execution control device A transmission block generation processing unit for executing the page data differential compression processing Each time a page block is divided and generated, a transmission block generation process for the page block is started, and each time a transmission block file is generated, the transmission block generation processing unit passes each page to the print data transmission unit. Processing for blocks is executed in parallel.
[0023]
Further, the form output data conversion processing means executes a data file analysis process for analyzing a form output text data file including a plurality of form output text data and dividing the form output text data unit into a form output text data unit. Each time it is divided into output text data, it has a data file analysis processing unit that starts page data differential compression processing for the form output text data, and executes processing for each form output text data in parallel. is there.
[0024]
The form output data conversion processing means is included in the form output text data and the page block generated by dividing the form output text data and the page block in the process of generating the transmission block file. The print request issuing apparatus side form output management database in which the information relating the page information and the identification information of the transmission block file generated based on the page block is registered is generated.
[0025]
The print request issuing device includes a print data information storage processing unit that temporarily stores a transmission block file that has been transmitted to the print execution control device in a transmission block file storage database.
[0026]
A print request issuing device that generates a print data file from printable form output text data composed of a set of form header information and a plurality of text-format page data to be printed; A print execution control device for generating a form output text data based on a print data file transferred from the print request issuing device and outputting the form, the print request issuing device having a form output text Data conversion processing means for form output for dividing page data included in data into a plurality of page blocks and generating a transmission block file as a transmission unit to the print execution control device including each page block; and for the form output The transmission block file generated by the data conversion processing means is transmitted as a print data file. And a printing data transmission means, and executes concurrently a plurality of processing by sequentially starting the subsequent processing to be performed on pages block whenever dividing generate pages block.
[0027]
The print execution control device includes: a print data receiving unit that receives a print data file transferred from the print request issuing device as a transmission block file; and a transmission block file received by the print data reception unit. Form output data analysis / assembly processing means for executing form output data analysis / assembly processing for generating form output text data by expanding the differentially compressed data included therein, and the form output data analysis / assembly processing means Print execution means for outputting the generated form output text data to form, and decompressing the differentially compressed page data to restore the form output text data and output the form.
[0028]
Further, the form output data analysis / assembly processing means reads the page block included in the transmission block file, stores it in the page block storage area, and if the transmission block file includes the form header information. A transmission block analysis processing unit that stores the form header information in the form header information storage area, and a standard that includes the differential compressed data included in the page block stored in the page block storage area in the same page block A differential compression data decompression processing unit that decompresses the page data based on the page data and stores the decompressed page data and the decompressed page data in the form page data storage area, and the page data and form header saved in the form page data storage area Form text is combined with the form header information saved in the information storage area. And it has a text data assembly processing unit for generating a Todeta.
[0029]
The print data receiving means activates a form output data analysis / assembly process for the page block every time a transmission block file is generated.
[0030]
In addition, the form output data analysis / assembly processing means, in the process of generating the form text data, identifies the transmission block file, the page block included in the transmission block file, and the page included in the page block. A print execution control apparatus-side form output management database in which information in which information is associated with form output text data generated by assembling the page block is registered is generated.
[0031]
The print execution control device further includes a print data storage processing means for temporarily storing the form text data generated by the text data assembly processing unit in the form text data storage database.
[0032]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0033]
FIG. 1 is an overall system configuration diagram showing an embodiment of a network print system according to the present invention. FIG. 1 shows a print request issuing device 2 and a print execution control device 4 connected to the wide area network 1. The print request issuing device 2 and the print execution control device 4 can be connected to a plurality of wide area networks 1, respectively, but each device is shown in the drawing because it operates in the same manner.
[0034]
The print request issuing device 2 is generally realized by a host computer or the like, and issues a form output request such as an invoice to the print execution control device 4 by transmitting a print data file. The print request issuing device 2 includes an application execution unit 21, a form output data analysis / conversion processing unit 22, and a print data transmission unit 23. The application execution unit 21 executes an application such as an invoice issuing program and stores the result in a form output text data file 24. The form output data analysis conversion processing unit 22 is a means for generating a transmission block file 25 based on the form output text data file 24. The data file analysis processing unit 26, text data decomposition processing unit 27, page data difference A compression processing unit 28, a transmission block generation processing unit 29, and a printing data information storage processing unit 30 are included. The print data transmission unit 23 sequentially transmits the transmission block file 25 generated as a print data file by the form output data analysis conversion processing unit 22 to the print execution control device 4.
[0035]
The print execution control device 4 is generally realized by a computer such as a workstation, and based on the print data file sent from the print request issuing device 2, it can be invoiced from any printer 5 connected directly or via a network. And so on. The print execution control device 4 includes a print data reception unit 41, a form output data analysis / assembly processing unit 42, and a print execution unit 43. The print data receiving unit 41 receives the print data sent from the print request issuing device 2 and stores it as a transmission block file 44. The form output data analysis / assembly processing unit 42 is a means for generating the form output text data by decompressing the differentially compressed data included in the transmission block file 44. In this embodiment, the form output data block is a transmission block. It comprises an analysis processing unit 46, a differential compression information decompression processing unit 47, a text data assembly processing unit 48, and a print data storage processing unit 49. The print execution unit 43 reads the form output text data file 45 assembled by the form output data analysis / assembly processing unit 42 and outputs it from the printer 5.
[0036]
With the above configuration, the page data transferred from the print request issuing apparatus 2 is reduced in data transfer by taking the difference from the set reference page data and compressing the data. The point is that the setting of the reference page data is changed according to the similarity of each page based on the compression ratio without fixing the reference page data. Thereby, since the efficiency of data compression can be increased, the amount of data transfer can be further reduced, and the throughput of network communication can be improved.
[0037]
Further, the present embodiment is further characterized in that the form output text data to be printed is divided into a plurality of blocks, and the processing for each block can be executed in parallel. Shortening can be achieved.
[0038]
FIG. 2 is a diagram showing a schematic process flow of the print request issuing apparatus 2 according to the present embodiment and files and the like input / output in each process. The processing executed in the print request issuing device 2 includes data file analysis processing, text data decomposition processing, page data differential compression processing and transmission block generation processing executed in the form output data analysis / conversion processing unit 22, printing data It is roughly divided into data transmission processing executed in the transmission unit 23. In the data file analysis process, the form output text data file 24 is analyzed to divide the form output text data unit. In the text data decomposition process, the divided form output text data is divided into the form header information and the page data and stored separately. In the page data differential compression process, any page data included in the text data for form output is used as the reference page data, and the difference between the page data and the reference page data is taken to compress the page data other than the reference page data and perform differential compression. Along with generating the data and compressing all the page data included in the text data for form output by taking the difference between the reference page data and the reference page data, the difference compressed data that has reached a predetermined compression ratio Divide the block into sets. In the transmission block generation process, a transmission block file 25 that is a unit of transmission to the print execution control device 4 is generated in association with the divided blocks.
[0039]
Next, details of each process shown in FIG. 2 will be described using a detailed flowchart. First, data file analysis processing executed by the data file analysis processing unit 26 will be described based on the flowchart shown in FIG.
[0040]
In the data file analysis process, the form output text data file 24 is analyzed to be divided into form output text data which is a form output unit. The form output text data file 24 stores a plurality of form output text data generated by each application executed by the application execution unit 21. For example, “original” of one invoice consisting of several pages is generated as one form output text data, and “copy” of the invoice is generated as another form output text data. The same form output text data file 24 is saved. As shown in FIG. 4A, the form output text data is composed of a set of form header information and a plurality of text format page data to be printed. In the form header information, information necessary for actually printing page data such as paper size, form layout information, and overlay information is set. One page data corresponds to one page data to be output as a form. The form header information and one page data correspond to one record of the form output text data. For example, “page data P1” shown in FIG. 4A means page data of the first page in the form output text data, and does not mean the same contents. “D-Pn” indicates page data of the nth page in the d-th form output text data.
[0041]
In FIG. 3, the data file analysis processing unit 26 opens the form output text data file 24 (step 101), and sequentially reads records from the top (step 102). If there is a record to be read and it is form header information (steps 103 and 104), a unique text data id (Tid) is assigned to the form header information, and the form header information and Tid are added. Are registered in the form output management database 31 (step 105). Then, a form data storage area for generating form output text data corresponding to the form header information is secured (step 106), and the record (form header information) is written (step 107). Subsequently, when the next record is read, since it is usually a page data record, the record (page data) is written in the secured form data storage area following the form header information (step 107). In this embodiment, each storage area is a disk device, that is, a file.
[0042]
By repeatedly performing the above processing, each form output text data stored in the form output text data file 24 without distinction is divided into a set of form header information and page data. When writing to all the form data storage areas is completed for all records and there are no more records to be read, the form output text data file 24 is closed (steps 103 and 108). Then, the next processing, that is, text data decomposition processing is started (step 109). FIG. 4B shows an example of the form output text data generated as a result of the data file analysis process.
[0043]
In the present embodiment, when the data file analysis processing for one form output text data file 24 is completed as described above, the next text data decomposition processing to be executed is started immediately. That is, when a separate form output text data file 24 is newly generated during the data file analysis process, the data file analysis processing unit 26 performs printing based on the form output text data file 24 just processed. Regardless of whether or not the data file has been transferred to the print execution control device 4, a newly generated form output text data file 24 is opened and the processing can be started. That is, in the present embodiment, since the processing mechanism that can be executed independently and in parallel for each form output text data file 24, the overall time required for printing in the entire system can be shortened.
[0044]
Next, the operation of the text data decomposition processing unit 27 that executes the text data decomposition process activated by the data file analysis process will be described with reference to the flowchart shown in FIG.
[0045]
In this case, the form output text data stored in the form data storage area is simply stored separately for the form header information and the page data group. That is, the text data decomposition processing unit 27 opens one form data storage area (file) secured by the data file analysis processing (step 201), and reads records sequentially from the top (step 202). Note that the text data decomposition processing unit 27 can know which file is opened by a method such as parameter specification at the time of activation. If there is a record to be read and it is form header information (steps 203 and 204), the form header information is stored in a separately secured form header information storage area (step 205). If the read record is page data, the record is stored in a separately secured page data storage area (steps 204 and 206). In this embodiment, each storage area is a file. When this process is repeated and there are no more records to be read, the form data storage area is closed (steps 203 and 207). Then, the next process, that is, the page data differential compression process is started (step 208).
[0046]
The present embodiment is characterized in that when the text data decomposition process for one form data storage area is completed as described above, the page data differential compression process for the decomposed form output text data is started. After this activation, the text data decomposition processing unit 27 executes the text data decomposition processing on the remaining form data storage area, so this processing is performed in parallel with the activated page data differential compression processing. Will be executed. As a result, each process to be performed on one form output text data file 24 for form output can be performed in parallel, so that the total time required for form output can be reduced.
[0047]
Next, the operation of the page data difference compression processing unit 28 that executes the page data difference compression process activated by the text data decomposition process will be described with reference to the flowchart shown in FIG.
[0048]
The page data difference compression processing unit 28 opens the form page data storage area processed in the preceding text data decomposition process (step 301). Then, after initializing the record buffer areas B1 and B2 having a page data length prepared in advance for use in the work (step 302), one page of data is read from the form page data storage area and stored in the record buffer area B2 (step 302). Step 303). Here, the page data read first is the first page data in the form output text data. Accordingly, at this time, a unique page block id (Pid) is assigned to the page block that includes the first page data, and the page block id is stored in the form output management database 31 in association with the text data id (Tid) (step 304). , 305). Then, a new page block storage area is secured, and the contents of the record buffer area B2 are written into the area (step 306). In the present embodiment, the page block storage area is a file. This file becomes the original form of the transmission block file 25 generated in the next processing. Further, after copying the contents of the record buffer area B2 to the record buffer area B1 (step 307), the record buffer area B2 is initialized (step 308). The page data stored in the record buffer area B1 becomes reference page data of the page data stored in the open page block storage area.
[0049]
Subsequently, the next page data is read from the form page data storage area and stored in the record buffer area B2 (step 303). Here, it is assumed that the read page data exists and is not the first page data. Note that the top page data is specifically page data of the first page in the text data for form output. At this time, the reference page data stored in the record buffer area B1 and the page data to be processed read in the record buffer area B2 are compared in byte units, a difference is obtained, and the difference is written in the temporarily prepared buffer B3 ( Step 309). For taking the difference, a conventional method may be used. As a result of comparison, if the matched bytes are expressed in Null, the difference information written in the buffer B3 is expressed in a compressed form in which the consecutive number of Nulls is encoded, and is written in the buffer B4 (step 310). ).
[0050]
Here, in the present embodiment, the ratio (compression ratio) of the data amount of the differentially compressed data written in the buffer B4 after differential / compressing the page data with respect to the data amount of the page data stored in the record buffer area B2. ) Is calculated. A high compression rate (small calculated value) means that the page data to be compared are similar. The page data differential compression processing unit 28 compares the obtained compression rate with a preset threshold value, and if the compression rate is equal to or less than the threshold value, data compression is efficiently performed and the differential compression data amount is small. I can say that. That is, it can be determined that it is effective to reduce the data transfer amount by performing the data transfer by differentially compressing the page data. Therefore, in this case, the differentially compressed data is written in the page block storage area reserved as the page data for transferring the page data (steps 311 and 312). Thereafter, the record buffer area B2 is initialized (step 307). The reference page data stored in the record buffer area B1 is maintained as it is.
[0051]
On the other hand, if the compression rate is larger than the threshold value in step 311, it can be determined that the page data to be compared are not similar to each other. Therefore, the data transfer amount can be reduced even if the differentially compressed data is transferred. It can be said that it cannot be expected so much. In this case, a series of page data is divided into blocks. That is, the currently opened page block storage area is closed, and the absolute page number of the page data stored in the record buffer area B1 is stored in the form output management database 31 in association with the page block id (Pid) ( Step 314). The absolute page number corresponds to a serial page number in the form output text data stored in the form data storage area. Then, the next process, that is, the transmission block generation process is started (step 315).
[0052]
The present embodiment is characterized in that when a page block storage area is closed and one page block is generated, a transmission block generation process for the page block is started. After this activation, the page data differential compression processing unit 28 repeatedly executes the processing from step 303 onward as long as unprocessed page data remains in the form data storage area. The page data differential compression processing after step 303 executed on the data is executed in parallel with the transmission block generation processing activated at step 315. As a result, it is possible to reduce the total time required for the form output.
[0053]
When the page data difference compression processing unit 28 starts the transmission block generation process for the generated one page block storage area, the page data difference compression processing unit 28 checks the state of the end flag (step 316). At this time, since it has not been set yet, a unique page block id (Pid) is assigned to the page block that will contain the page data remaining in the record buffer area B2, and associated with the text data id (Tid). And stored in the form output management database 31 (steps 304 and 305). Then, a new page block storage area is secured and the contents of the record buffer area B2 are stored (step 306). What is left in the record buffer area B2 is the page data that was not similar to the reference page data although the differentially compressed data was obtained in the previous processing. Further, after copying the contents of the record buffer area B2 to the record buffer area B1, the record buffer area B2 is initialized (steps 307 and 308). That is, in the subsequent processing, page data that is not similar to the reference page data is used as new reference page data, and a page block starting from this reference page data is newly generated.
[0054]
Subsequently, the next page data is further read from the form data storage area, the above-described processing is repeated, and each page data is divided into blocks for each page block. When there is no page data finally read, an end flag is set (step 313), and the absolute page number of the page data stored in the record buffer area B1 is set to the page block id (Pid) as described above. After correspondingly storing in the form output management database 31, the transmission block generation process is started (steps 314 and 315). When the state of the end flag is checked, since it is set in step 313, the form page data storage area opened in the first step 301 is closed (step 317). FIG. 4C shows an example of the contents of the page block obtained as a result of the above processing. According to FIG. 4C, the page data not subjected to differential compression is stored as it is as transfer page data at the head of each page block. The subsequent page data for transfer in the page block is differentially compressed data when the first page data of each page block is used as reference page data. In FIG. 4C, page data that is not differentially compressed is represented without a dash as “(d−P1)”, and transfer page data based on the differentially compressed data is “(d−P2) ′”. It is shown with a dash. The form header information d is not included in the page block, but is shown for convenience in FIG. This corresponds to the form header information storage area described above.
[0055]
In the page data differential compression processing in this embodiment, as a result of taking the difference between the page data as described above, when the compression rate is high, the differential compression data is used as page data for transfer of the page, and the compression rate is low. A plurality of print data files are generated from one form output text data so as to be divided into blocks. Thus, since the setting change of the reference page data is performed in consideration of the compression rate, the data transfer amount can be more efficiently reduced. Further, since the process can be executed in parallel with the process for other page blocks by dividing the block, the total time required for printing can be shortened.
[0056]
By the way, in the present embodiment, page data is compressed and divided between pages that are not similar, that is, divided at a page where the compression effect is not obtained when the amount of differentially compressed data is compared with the amount of original page data. The page data is blocked between pages. Such processing is extremely effective in the following cases.
[0057]
For example, when sending an invoice as a form, the header of each page of the invoice (printed material) describes the destination, company, department, person in charge, etc. The description on each successive page is the same. In addition, the invoice forms used for the same destination are usually formatted with different titles (type names) even if the types are different. There are many matching printed parts on the page.
[0058]
In other words, for example, if a threshold is set based on the sum of the data amount of parts common to each page such as the header part and fixed form part of each page of the invoice, it can be applied to a multi-page invoice or the same destination One page block is generated from the invoice, and the compression ratio of the page block in this case is considered to be extremely good. The difference between the “original” and “copy” of the invoice described above is set in the overlay information in the form header information, so the content of the differentially compressed data of the page data in this case is empty. Thereby, the data transfer amount can be significantly reduced. In addition, even if the form output text data is divided at different destinations, there is no unnaturalness. In fact, it is preferable for processing such as retransmission, and is extremely advantageous for maintenance.
[0059]
In this embodiment, page data is compressed and divided into blocks depending on whether or not they are similar. Thereby, reduction of the data transfer amount and parallel processing are realized. Even if the text data for form output is divided into blocks with a fixed length, parallel processing can be realized, but a reduction in data transfer amount is not always possible due to the compression ratio. On the other hand, if the page data is compressed, the data transfer amount can be reduced without dividing the block, but parallel processing cannot be realized. In addition, although the reference page data for obtaining the differentially compressed data may be fixed or the transfer data amount may be reduced to some extent even if it is simply determined as the immediately preceding page data, in this embodiment, the compression rate is Since the setting of the reference page data is changed along with the block division when it becomes worse, the data transfer amount of each page block can be reliably reduced. As described above, according to the present embodiment, the difference / compression of the page data is performed, and the block is divided at a place where the compression is not efficient, so that the processing can be parallelized. Both effects of reduction can be achieved reliably.
[0060]
In the present embodiment, a fixed threshold is set in advance to determine whether or not a predetermined compression effect has been obtained, and the calculated compression rate and the threshold are simply compared. It may be determined whether or not a predetermined compression effect is obtained based on the width, rate, etc. of the fluctuation amount. Further, the threshold may be changed by providing a learning function. The conditions for determining whether or not a predetermined compression effect has been obtained may be set according to the type of form to be handled, the target destination, the system configuration, and the like.
[0061]
In this embodiment, the reference page data is set for each page block. However, depending on the type of form to be handled, the transfer data amount can be reduced even if the reference page data is the previous page data.
[0062]
Next, the operation of the transmission block generation processing unit 29 that executes the transmission block generation processing activated by the page data differential compression processing will be described with reference to the flowchart shown in FIG. The data structure of the output management database 31 will be described with reference to FIG.
[0063]
The form output management database 31 includes a table of text data header information and page block header information. The text data header information is set for each form output text data, and the text data id (Tid) assigned to each form output text data included in the form output text data file 24 in the data file analysis process. , Tid and form header information stored together with Tid, and transmitted information set by the print data transmission unit 23 in processing to be described later. The page block header information table is provided corresponding to each form output text data. The page block header information includes a page block id (Pid) assigned to each page block in the page data differential compression process, an absolute page number written when the page block storage area is closed, and a transmission block generated based on the page block. It consists of the name of the file and the name of the output destination printer (print execution control device 4 and printer 5) that outputs the form based on the page block.
[0064]
First, the transmission block generation processing unit 29 newly opens the transmission block file 25 (step 401), and sets the file name in the page block header information (step 402). Further, the page block storage area is opened (step 403). Then, the corresponding text data header information and page block header information are read from the form output management database 31 to generate transmission block header information and store it in the transmission block file 25 (step 404). If the opened page block is the head, the form header information stored in the form header information storage area in the text data decomposition process is read and stored in the transmission block file 25 (steps 405 and 406). Further, after storing the page block (step 407), the transmission block file 25 is closed (step 408). When the transmission block file 25 is generated in this way, the transmission block file 25 is input to the printing data transmission unit 23 that performs the next processing (step 409).
[0065]
Also in this transmission block generation process, when one transmission block file 25 is generated, the transmission block file 25 is immediately input to the print data transmission unit 23. As a result, the transmission process in the print data transmission unit 23 and the transmission block generation process based on the subsequent data block can be executed in parallel, so that the overall time required for the form output can be reduced. .
[0066]
As described above, the transmission block generation processing unit 29 generates the transmission block file 25 by executing the transmission block generation process every time a page block is generated by the previous page data differential compression process. An example of the contents of the generated transmission block file 25 is shown in FIG. As is clear from this example, since the same text data header information is set in the transmission block file 25 generated from the same form output text data, the print execution control device 4 performs the transmission block in any order. Even if the file 25 arrives, the set can be easily recognized. Further, since page block header information is set, each page block can be easily identified.
[0067]
Although not described in the transmission block generation process, the transmission block header information includes the number of transmission block files 25 generated from the same form output text data and the arrangement order of the own transmission block files 25. The page data included in the transmission block file 25 includes information on how many pages from what page in the text data for form output is included. This facilitates the assembling process of the form output text data.
[0068]
When the transmission block file 25 is input from the transmission block generation processing unit 29 as described above, the print data transmission unit 23 refers to the output destination printer name set in the page block header information. The data is sequentially transmitted to the execution control device 4. Upon receiving a notification from the print execution control device 4 that all the print data files constituting the same form output text data have been normally received, the transmission time and end status code are stored in the form output management database 31. Set as sent information. In this embodiment, the transmitted information is provided corresponding to Tid as text data header information. However, it is provided corresponding to Pid as page block header information, and transmission confirmation is performed for each transmission block file. May be. As described above, since the transmitted information is set in the form output management database 31, it is possible to easily identify the location of the failure when the form output is not normally executed.
[0069]
When the print data information storage processing unit 30 detects that the transmission time has been written in the transmitted information of the form output management database 31, it moves the corresponding transmission block file 25 to the transmission block file storage database 32 and stores it. To do. At this time, the storage period of the specified value or default value is also set in correspondence with the transmission block file 25. The print data information storage processing unit 30 operates periodically to delete the transmission block file 25 that has reached the storage limit. As described above, the transmission block file 25 that has been successfully transmitted is stored for a specified period without being immediately deleted, so that the transmission block file 25 can be stored even when a retransmission request is sent from the print execution control device 4. Since it is not necessary to execute the process of generating again, it is possible to respond quickly to the retransmission request. It should be noted that for the period during which the transmission block file 25 is stored, a default value stored as appropriate may be set depending on the system to be applied and the form to be handled.
[0070]
Next, processing in the print execution control device 4 that outputs a form based on the print data file sent from the print request issuing device 2 will be described.
[0071]
FIG. 9 is a diagram showing a schematic processing flow of the print execution control apparatus 4 in the present embodiment and files and the like input / output in each processing. The print execution control apparatus 4 basically generates the form output text data file 45 by executing the processes executed in the print request issuing apparatus 2 in the reverse order, and outputs the form. That is, data reception processing executed in the print data receiving unit 41, transmission block analysis processing executed in the form output data analysis / assembly processing unit 42, differential compression data decompression processing, text data assembly processing, and finally A print output process executed in the print execution unit 43 is executed. Furthermore, in the course of executing the above processing, the form output management database 50 and the differentially compressed data having the same contents as the form output management database 31 in the print request issuing apparatus 2 can be expanded and printed in consideration of processing such as retransmission. A form output text data storage database 51 that temporarily stores the form output text data converted into a proper format is generated.
[0072]
Next, the details of each process shown in FIG. 9 will be described. First, the print data receiving unit 41 is always waiting to receive a print data file, and a print data file addressed to itself is sent. Is received and stored as a transmission block file 44 in a disk device (not shown). Each time the data is stored, the transmission block analysis process is started, and when all of the print data files constituting the same form output text data have been normally received, this is notified to the print request issuing device 2 as the transmission source. .
[0073]
Next, the transmission block analysis processing executed by the transmission block analysis processing unit 46 will be described using the flowchart shown in FIG.
[0074]
In the transmission block analysis process, a process of expanding the transmission block file 44 having the data structure shown in FIG. 4D into a page block having the data structure shown in FIG. 4C is performed. That is, the transmission block analysis processing unit 46 opens the received transmission block file 44 (step 501), and searches the form output management database 50 based on the contents of the transmission block header information set in the file (step 501). 502). That is, if text data header information of the same Tid as the received transmission block file 44 is not registered in the form output management database 50, another transmission block file 44 for configuring the same form output text data. Is not processed yet, and the text data header information and page block header information constituting the transmission block header information of the transmission block file 44 are registered in the form output management database 50 (steps 503 to 505). Subsequently, the page block included in the transmission block file 44 is stored in a page block storage area prepared in advance (step 506). On the other hand, as a result of the inquiry in step 502, if the text data header information of the same Tid as the received transmission block file 44 is registered in the form output management database 50, the same form output text data is constituted. Therefore, the page block header information contained in the transmission block file 44 is registered in the form output management database 50, and the page block is stored in the page block storage area. Save (steps 503, 505, 506). If the transmission block file 44 is the first one in the same form output text data, the transmission block file 44 includes the form header information, so that the form header information storage area prepared in advance is included. (Steps 507 and 508). Thereafter, the differential compression data decompression process of the next process is started (step 509).
[0075]
Based on the transmission block file 44 received as described above, a page block storage area having the data structure shown in FIG. 4C is generated and a form output management database 50 is constructed.
[0076]
Next, the differential compressed data decompression process executed by the differential compressed data decompression processing unit 47 will be described with reference to the flowchart shown in FIG.
[0077]
In the differential compression data decompression process, a process of decompressing the differential compression data included in the page block having the data structure shown in FIG. 4C and expanding it in the form page data storage area is performed.
[0078]
The differential compressed data decompression processing unit 47 first opens the page block storage area (step 601), reads the first page data, and stores it in the record buffer area B1 and the prepared page data storage area for the form (step 602). 603). The data read here is reference page data that is not compressed. Subsequently, the next record (page data) is read and written to the record buffer area B2 (step 604). The page data written in this record buffer area B2 is differentially compressed data. Here, contrary to the differential compression in the page data differential compression processing unit 28, the differential compression data decompression processing unit 47 decompresses the encoded null number of the differential compression data in the record buffer area B2 and stores it in the record buffer area B3. The page data stored in the record buffer areas B1 and B3 are compared in byte units, and the sum is temporarily held in the record buffer area B4 (step 606). The page data held in the record buffer area B4 by this decompression processing is stored in the form page data storage area (step 607). Thereafter, the record buffer areas B2 to B4 are initialized, and the process returns to step 604 to repeat the above processing. If there is no page data to be read, the process is terminated (step 605). At the end, the page block storage area is closed. In the present embodiment, the form page data storage area is formed by a file, and the file is closed.
[0079]
When the decompression of the differentially compressed data is completed as described above, the text data assembly processing unit 48 performs a process of generating a form data storage area having the data structure shown in FIG. The text data assembly processing performed by the text data assembly processing unit 48 will be described with reference to the flowchart shown in FIG.
[0080]
The text data assembly processing unit 48 newly generates a form data storage area (step 701), and stores the form header information read from the form header information storage area (step 702). Subsequently, the page data read from the form page data storage area is stored in the form data storage area (step 703). The page data header information associated with the text data id (Tid) of the text data header information of the form output management database 50 indicates from which of the plurality of generated form page data storage areas the page data is read in order. Can be managed by referring to.
[0081]
In this way, the divided and transferred page data can be linked in the form data storage area, but by inputting the form data storage area into the print execution unit 43 as the form output text data file 45. The form output text data can be printed out (step 704). If the input to the print execution unit 43 is successful, the print data storage process is started (steps 705 and 706), and a flag to that effect is set in the printed information in the form output management database 50 (step 707). The form output management database 50 has the same data structure as the form output management database 31, but a field corresponding to the transmitted information in the form output management database 31 is assigned to the printed information. On the other hand, if the input to the print execution unit 43 cannot be performed normally, the operator is notified by outputting a message to that effect or the like so that some recovery processing is performed (step 708).
[0082]
In the print request issuing device 2 of the present embodiment, a form output text data file 24 including a plurality of form output text data is generated as a print request. In the print execution control apparatus 4, as described above. A form output text data file 45 corresponding to each form output text data is generated. If it is desired to print out the form output text data file 45 in the order in which the original form output text data file 24 is arranged, the form output text data file 45 is associated with Tid for form output management. It is registered in the database 31 and the print execution control device 4 may take measures such as setting the priority of the print output order based on the arrangement order. Further, even if a print data file is sent simultaneously from another print request issuing device 2, it is related by Tid, so that it is possible to control and manage so that the forms are not mixed when printing out.
[0083]
The print data storage processing unit 49 temporarily stores the form output text data file 45, that is, the contents of the form data storage area in the form output text data storage database 51. At this time, the form output text data to be stored in the form output text data storage database 51 by updating the setting of the transmission block file name field in the form output management database 50 or providing another field, etc. The form output management database 50 and Tid are associated with each other. The following effects can be achieved by temporarily storing the text data for form output.
[0084]
For example, if the processing as the print execution control device 4 has been completed normally but the remaining amount of toner in the printer 5 is small, the print character is thin and it is desired to print again after replacing the toner cartridge. Since the form output text data file 45 has been deleted by the normal end of the process, the print execution control device 4 alone cannot output the print again.
[0085]
Therefore, in the present embodiment, the form output text data file 45 is stored for a certain period, so that the form that has been normally printed out on the print execution control device 4 side can be printed again. In addition, it is possible to quickly and easily respond to a page-designated reprint request.
[0086]
In addition, when it is desired to change only the information that the print request issuing device 2 sets in the form header information, such as changing the paper size, changing only the form, etc., the print request issuing device 2 can transfer the page data again. Instead, only the form header information needs to be transferred. Even when only the form header information is transferred, the page block header information is obtained by searching the form header information stored in the form output text data storage database 51 based on the identification information included in the form header information. Since it can be specified, the form header information can be associated with the corresponding page data. Furthermore, it is possible to easily cope with page designation printing.
[0087]
As described above, according to the present embodiment, the page data to be printed included in the form output text data is transferred from the print request issuing device 2 to the print execution control device 4 by taking a difference from the reference page data. Since the size of the print data file to be printed is compressed, the data transfer amount can be reduced. In particular, in the present embodiment, when the predetermined compression effect is not obtained as a result of the differential compression processing to the page data, the reference page data is changed. -Since compression can be performed, the amount of data transfer can be reduced more reliably.
[0088]
Further, in the present embodiment, each form output text data file 24 is blocked by dividing the form output text data into individual form output text data, or by further dividing the form output text data. Since the subsequent processes to be performed on the blocks are sequentially started, a plurality of processes can be executed in parallel. As a result, the network printing system can be speeded up. In this way, the block division can not only increase the speed by parallel processing but also reduce the retransmission unit, so that the data transfer amount at the time of retransmission can also be reduced. Since each block includes reference page data, the differentially compressed data can be easily expanded by simple processing.
[0089]
By the way, in the present embodiment, the data transfer amount can be reduced and the form output process can be speeded up as a system. However, the system configuration can cope with a detailed process such as a retransmission process.
[0090]
For example, the form output text data storage database 50 outputs the form output in the print request issuing apparatus 2 except for the relationship between the printed information and the transmitted information as a result of the normal completion of the independent form output processing in the print execution control apparatus 4. It is generated with the same data structure as the text data storage database 31 for use. That is, by using the database replica function to associate the form output text data storage databases 31 and 50 with each other, an abnormality occurring in the print execution control device 4 can be easily detected. If an abnormal page block is detected, a retransmission request for the page block may be sent to the print request issuing device 2. Since the print request issuing device 2 temporarily stores the transmission block file 25 in the transmission block file storage database 32 as described above, the transmission block file 25 including the page block requested to be retransmitted is stored in the transmission block file. By reading from the database 32 and transmitting it to the print execution control device 4, it is possible to respond to the retransmission request quickly and easily. In addition, the reliability of the data contents of the form to be output can be improved.
[0091]
The present embodiment is characterized in that the amount of data transfer is reduced by taking the difference between the page data and obtaining the differential compressed data, so that it is effective when each form is composed of a plurality of pages. Needless to say, the present invention can also be applied when outputting a form of only one page.
[0092]
【The invention's effect】
According to the present invention, a predetermined compression effect cannot be obtained in comparison with the page data before the difference compressed data obtained as a result of compressing the transferred page data by taking the difference from the reference page data. In this case, the setting of the page data is changed to the reference page data for subsequent page data, so that the page data can be efficiently compressed, so that the data transfer amount can be reduced more reliably. Can do. For this reason, the throughput of network communication can be improved.
[0093]
In addition, since the page data to be transferred is divided into blocks and the subsequent processing for each page block is started sequentially each time a page block is generated, the processing for each page block can be executed in parallel. Can do. As a result, the network printing system can be speeded up.
[0094]
In addition, since the print request issuance apparatus side form output management database is generated in the process of generating the transmission block file, the association between the form output text data, the page block, and the transmission block file can be easily recognized. In addition, printing order, data delivery, and printing execution can be guaranteed.
[0095]
In addition, by providing a print data information storage processing means and storing the transmitted transmission block file for a certain period, it is possible to respond quickly when a retransmission request is sent from the print execution control apparatus.
[0096]
In addition, since the print execution control apparatus has the above-described configuration, even when a print data file including differential compressed data is transferred from the print request issuing apparatus, the differential compressed data is decompressed to restore the form text data. Can be output.
[0097]
In addition, since the subsequent form output data analysis / assembly process is activated every time a transmission block file is generated, generation of page blocks based on each transmission block file can be executed in parallel. As a result, the network printing system can be speeded up.
[0098]
In addition, since the print execution control apparatus side form output management database is generated in the process of generating the form output text data, the association between the transmission block file, the page block, and the form output text data can be easily recognized. be able to. Further, it is possible to easily identify a failure or the like that has occurred when a form is output by comparing the contents of each form output management database on the print execution control apparatus side and the print request issuing apparatus side.
[0099]
In addition, by storing the text data for forms that have been printed out normally for a certain period of time, the print execution controller side can print out all or part of the form again without requiring the print request issuing apparatus to retransmit. Can be easily performed.
[Brief description of the drawings]
FIG. 1 is an overall system configuration diagram showing an embodiment of a network print system according to the present invention.
FIG. 2 is a diagram showing a schematic processing flow of a print request issuing device 2 according to the present embodiment and files input / output in each processing;
FIG. 3 is a flowchart showing data file analysis processing in the present embodiment.
FIG. 4 is a diagram showing data structure transition until the contents of a form output text data file are transferred in the present embodiment.
FIG. 5 is a flowchart showing text data decomposition processing in the present embodiment.
FIG. 6 is a flowchart showing page data difference compression processing in the present embodiment.
FIG. 7 is a flowchart showing transmission block generation processing in the present embodiment.
FIG. 8 is a diagram showing a data structure of a form output management database in the present embodiment.
FIG. 9 is a diagram showing a schematic processing flow of the print execution control apparatus according to the present embodiment and files and the like input / output in each processing.
FIG. 10 is a flowchart showing transmission block analysis processing in the present embodiment.
FIG. 11 is a flowchart showing differential compressed data decompression processing in the present embodiment.
FIG. 12 is a flowchart showing text data assembling processing in the present embodiment.
FIG. 13 is an overall configuration diagram showing an example of a conventional network print system.
FIG. 14 is a diagram showing a format of conventional transfer data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Wide area network, 2 Print request issuing apparatus, 4 Print execution control apparatus, 21 Application execution part, 22 Form output data analysis conversion process part, 23 Print data transmission part, 24, 45 Form output text data file, 25, 44 transmission block file, 26 data file analysis processing section, 27 text data decomposition processing section, 28 page data differential compression processing section, 29 transmission block generation processing section, 30 print data information storage processing section, 31, 50 for document output management Database, 32 Transmission block file storage database, 41 Print data reception unit, 42 Form output data analysis / assembly processing unit, 43 Print execution unit, 46 Transmission block analysis processing unit, 47 Differential compression data decompression processing unit, 48 Text data Assembly processing section, 49 Data storage processing section for printing, 51 Form output Use text data storage for the database.

Claims (13)

帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、
ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置と、
を有し、
前記印刷要求発行装置は、
帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成する帳票出力用データ変換処理手段と、
前記基準ページデータと前記差分圧縮データとを印刷用データファイルとして前記印刷実行制御装置へ送信する印刷用データ送信手段と、
を有し、
前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分圧縮する前のページデータと比較した結果所定の圧縮効果が得られなかった場合は、当該ページデータを次ページ以降のページデータの基準ページデータと設定変更することを特徴とするネットワークプリントシステム。
A print request issuing device for generating a print data file from printable form output text data composed of a set of form header information and a plurality of text-format page data to be printed;
A print execution control device for generating form output text data based on a print data file transferred from the print request issuing device via the network and outputting the form;
Have
The print request issuing device includes:
For form output that generates any compressed data by compressing page data other than the reference page data by taking any difference from the reference page data as any page data included in the text data for form output Data conversion processing means;
Print data transmission means for transmitting the reference page data and the differentially compressed data as a print data file to the print execution control device;
Have
When the form output data conversion processing means does not obtain a predetermined compression effect as a result of comparing the difference compressed data obtained by compressing by taking the difference from the reference page data with the page data before the difference compression. The network print system is characterized in that the setting of the page data is changed to the reference page data of the page data on and after the next page.
前記帳票出力用データ変換処理手段は、基準ページデータとの差分を取ることで圧縮して得た差分圧縮データを差分する前のページデータと比較した結果所定の圧縮効果が得られた場合は、当該基準ページデータと当該差分圧縮データとの組に基づき前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成し、
前記印刷用データ送信手段は、前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信することを特徴とする請求項1記載のネットワークプリントシステム。
The form output data conversion processing means, when a predetermined compression effect is obtained as a result of comparing the difference compressed data obtained by compressing by taking the difference with the reference page data before the page data difference, Based on the set of the reference page data and the differentially compressed data, a transmission block file that is a transmission unit to the print execution control device is generated,
2. The network printing system according to claim 1, wherein the printing data transmission unit transmits the transmission block file generated by the form output data conversion processing unit as a printing data file.
前記印刷要求発行装置は、前記帳票出力用データ変換処理手段が基準ページデータと差分圧縮データとの組に基づくページブロックを生成する度に各ページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行することを特徴とする請求項2記載のネットワークプリントシステム。The print request issuance apparatus sequentially starts subsequent processing for each page block each time the form output data conversion processing unit generates a page block based on a set of reference page data and differentially compressed data. 3. The network printing system according to claim 2, wherein a plurality of processes are executed simultaneously in parallel. 前記帳票出力用データ変換処理手段は、
帳票出力用テキストデータに含まれるいずれかのページデータを基準ページデータとし、その基準ページデータとの差分を取ることによって基準ページデータ以外のページデータを圧縮して差分圧縮データを生成するとともに、帳票出力用テキストデータに含まれる全ページデータを、基準ページデータと、当該基準ページデータとの差分を取ることで得た差分圧縮データとの組を含むページブロックに分割するページデータ差分圧縮処理を実行するページデータ差分圧縮処理部と、
各ページブロックに対応させて前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する伝送ブロック生成処理を実行する伝送ブロック生成処理部と、
を有し、
前記ページデータ差分圧縮処理部は、ページブロックを分割生成する度に当該ページブロックに対する伝送ブロック生成処理を起動し、
前記伝送ブロック生成処理部は、伝送ブロックファイルを生成する度に前記印刷用データ送信手段へ渡すことによって各ページブロックに対する処理を同時並行して実行することを特徴とする請求項3記載のネットワークプリントシステム。
The form output data conversion processing means includes:
One of the page data included in the text data for form output is used as the reference page data. By taking the difference from the reference page data, the page data other than the reference page data is compressed to generate differentially compressed data. Executes page data differential compression processing that divides all page data included in output text data into page blocks that include pairs of reference page data and differentially compressed data obtained by taking the difference between the reference page data. A page data differential compression processing unit,
A transmission block generation processing unit that executes a transmission block generation process for generating a transmission block file that is a transmission unit to the print execution control device in correspondence with each page block;
Have
The page data differential compression processing unit starts a transmission block generation process for the page block every time a page block is divided and generated,
4. The network print according to claim 3, wherein the transmission block generation processing unit simultaneously executes the processing for each page block by passing the transmission block file to the print data transmission unit every time a transmission block file is generated. system.
前記帳票出力用データ変換処理手段は、帳票出力用テキストデータを複数含む帳票出力用テキストデータファイルを解析して帳票出力用テキストデータ単位に分割するデータファイル解析処理を実行するとともに、帳票出力用テキストデータに分割する度に当該帳票出力用テキストデータに対するページデータ差分圧縮処理を起動するデータファイル解析処理部を有し、各帳票出力用テキストデータに対する処理を同時並行して実行することを特徴とする請求項4記載のネットワークプリントシステム。The form output data conversion processing means executes a data file analysis process for analyzing a form output text data file including a plurality of form output text data and dividing the form output text data unit, and forms output text It has a data file analysis processing unit that activates page data differential compression processing for the form output text data every time it is divided into data, and performs processing for each form output text data in parallel. The network print system according to claim 4. 前記帳票出力用データ変換処理手段は、伝送ブロックファイルを生成する処理過程において帳票出力用テキストデータと、当該帳票出力用テキストデータを分割して生成されたページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックに基づき生成された伝送ブロックファイルの識別情報とを関連付けした情報が登録された印刷要求発行装置側帳票出力管理用データベースを生成することを特徴とする請求項2記載のネットワークプリントシステム。The form output data conversion processing means includes a form output text data, a page block generated by dividing the form output text data in the process of generating a transmission block file, and page information included in the page block. 3. A network print according to claim 2, further comprising: generating a print output management database on the print request issuing device side in which information relating the identification information of the transmission block file generated based on the page block is registered. system. 前記印刷要求発行装置は、前記印刷実行制御装置へ送信済みの伝送ブロックファイルを伝送ブロックファイル保管用データベースで一時保管する印刷用データ情報保管処理手段を有することを特徴とする請求項2又は6いずれかに記載のネットワークプリントシステム。7. The print request issuing device includes a print data information storage processing unit that temporarily stores a transmission block file that has been transmitted to the print execution control device in a transmission block file storage database. The network print system according to the above. 帳票用ヘッダ情報と印字対象となるテキスト形式の複数のページデータとの組から構成される印刷可能な帳票出力用テキストデータから印刷用データファイルを生成する印刷要求発行装置と、
ネットワークを介して前記印刷要求発行装置から転送されてくる印刷用データファイルに基づき帳票出力用テキストデータを生成して帳票出力をする印刷実行制御装置と、
を有し、
前記印刷要求発行装置は、
帳票出力用テキストデータに含まれるページデータを複数のページブロックに分割し、各ページブロックを含む前記印刷実行制御装置への送信単位となる伝送ブロックファイルを生成する帳票出力用データ変換処理手段と、
前記帳票出力用データ変換処理手段により生成された伝送ブロックファイルを印刷用データファイルとして送信する印刷用データ送信手段と、
を有し、ページブロックを分割生成する度にページブロックに対して行う後続の処理を順次開始することによって複数の処理を同時並行して実行することを特徴とするネットワークプリントシステム。
A print request issuing device for generating a print data file from printable form output text data composed of a set of form header information and a plurality of text-format page data to be printed;
A print execution control device for generating form output text data based on a print data file transferred from the print request issuing device via the network and outputting the form;
Have
The print request issuing device includes:
Form output data conversion processing means for dividing page data included in the form output text data into a plurality of page blocks and generating a transmission block file that is a transmission unit to the print execution control device including each page block;
Print data transmission means for transmitting the transmission block file generated by the form output data conversion processing means as a print data file;
A network print system, wherein a plurality of processes are executed in parallel by sequentially starting subsequent processes performed on the page block each time the page block is divided and generated.
前記印刷実行制御装置は、
前記印刷要求発行装置から転送されてくる印刷用データファイルを伝送ブロックファイルとして受信する印刷用データ受信手段と、
前記印刷用データ受信手段が受信した伝送ブロックファイルに含まれている差分圧縮データを伸長することによって帳票出力用テキストデータを生成する帳票出力用データ解析組立処理を実行する帳票出力用データ解析組立処理手段と、
前記帳票出力用データ解析組立処理手段が生成した帳票出力用テキストデータを帳票出力する印刷実行手段と、
を有し、差分圧縮されたページデータを伸長することで帳票出力用テキストデータを復元して帳票出力を行うことを特徴とする請求項1記載のネットワークプリントシステム。
The print execution control device includes:
Print data receiving means for receiving a print data file transferred from the print request issuing device as a transmission block file;
Form output data analysis / assembly processing for executing form output data analysis / assembly processing for generating form output text data by decompressing the differentially compressed data included in the transmission block file received by the print data receiving means Means,
Print execution means for outputting the form output text data generated by the form output data analysis / assembly processing means;
2. The network print system according to claim 1, wherein the network print system outputs the form data by restoring the form output text data by decompressing the differentially compressed page data.
前記帳票出力用データ解析組立処理手段は、
伝送ブロックファイルに含まれているページブロックを読み出してページブロック保存領域に保存するとともに伝送ブロックファイルに帳票用ヘッダ情報が含まれていた場合にはその帳票用ヘッダ情報を帳票用ヘッダ情報保存領域に保存する伝送ブロック解析処理部と、
ページブロック保存領域に保存されたページブロックに含まれている差分圧縮データを同一ページブロックに含まれている基準ページデータに基づき伸長して基準ページデータ及び伸長後のページデータを帳票用ページデータ保存領域に保存する差分圧縮データ伸長処理部と、
帳票用ページデータ保存領域に保存されたページデータ及び帳票用ヘッダ情報保存領域に保存された帳票用ヘッダ情報を組み合わせて帳票用テキストデータを生成するテキストデータ組立処理部と、
を有することを特徴とする請求項9記載のネットワークプリントシステム。
The form output data analysis / assembly processing means includes:
The page block included in the transmission block file is read and stored in the page block storage area. If the transmission block file contains form header information, the form header information is stored in the form header information storage area. A transmission block analysis processing unit to be stored;
The differential compressed data included in the page block stored in the page block storage area is expanded based on the reference page data included in the same page block, and the reference page data and the expanded page data are stored as form page data. A differential compression data decompression processing unit to be stored in the area;
A text data assembly processing unit that generates text data for a form by combining the page data stored in the form page data storage area and the form header information stored in the form header information storage area;
10. The network print system according to claim 9, further comprising:
前記印刷用データ受信手段は、伝送ブロックファイルを生成する度に当該ページブロックに対する帳票出力用データ解析組立処理を起動することを特徴とする請求項9記載のネットワークプリントシステム。10. The network printing system according to claim 9, wherein the print data receiving unit starts up a form output data analysis / assembly process for the page block every time a transmission block file is generated. 前記帳票出力用データ解析組立処理手段は、帳票用テキストデータを生成する処理過程において伝送ブロックファイルの識別情報と、当該伝送ブロックファイルに含まれているページブロック及びそのページブロックに含まれるページ情報と、当該ページブロックを組み立てることによって生成した帳票出力用テキストデータとを関連付けした情報が登録された印刷実行制御装置側帳票出力管理用データベースを生成することを特徴とする請求項6又は9いずれかに記載のネットワークプリントシステム。The form output data analyzing / assembling processing means includes identification information of a transmission block file, a page block included in the transmission block file, and page information included in the page block in a process of generating the form text data. 10. The print execution control device side form output management database in which information associated with the form output text data generated by assembling the page block is registered is generated. The network print system described. 前記印刷実行制御装置は、前記テキストデータ組立処理部が生成した帳票用テキストデータを帳票用テキストデータ保管用データベースで一時保管する印刷用データ保管処理手段を有することを特徴とする請求項9記載のネットワークプリントシステム。10. The print execution control apparatus according to claim 9, further comprising a print data storage processing unit that temporarily stores the form text data generated by the text data assembly processing unit in a form text data storage database. Network print system.
JP31201198A 1998-11-02 1998-11-02 Network printing system Expired - Fee Related JP3724959B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31201198A JP3724959B2 (en) 1998-11-02 1998-11-02 Network printing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31201198A JP3724959B2 (en) 1998-11-02 1998-11-02 Network printing system

Publications (2)

Publication Number Publication Date
JP2000137594A JP2000137594A (en) 2000-05-16
JP3724959B2 true JP3724959B2 (en) 2005-12-07

Family

ID=18024146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31201198A Expired - Fee Related JP3724959B2 (en) 1998-11-02 1998-11-02 Network printing system

Country Status (1)

Country Link
JP (1) JP3724959B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507061B2 (en) 2002-12-02 2004-03-15 シャープ株式会社 Print data control method
US20060047855A1 (en) 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
JP4719613B2 (en) * 2006-04-21 2011-07-06 株式会社Pfu Form distribution system and form distribution method
JP5724996B2 (en) * 2012-12-06 2015-05-27 コニカミノルタ株式会社 Image processing method, image forming apparatus, and image forming system

Also Published As

Publication number Publication date
JP2000137594A (en) 2000-05-16

Similar Documents

Publication Publication Date Title
US7072057B1 (en) System and method for interfacing with a production scanner
US6522421B2 (en) Method and apparatus for automatically communicating returning status and information from a printer using electronic mail (email).
JP3694328B2 (en) Using images from forms in the automatic generation of forms or sheets
US7092117B2 (en) Print system
US8120809B2 (en) Document creation method and document creation apparatus for reflecting a document structure of a paper document in an electronic document
JPH09325928A (en) Method and equipment for communicating message
US7145685B2 (en) Method and apparatus for electronic collation
JP3724959B2 (en) Network printing system
US6331896B1 (en) Printing system and method for avoiding unnecessarily repetitive operations while preparing print data
US6552816B1 (en) Printing system and printer
US20020051179A1 (en) Methods for creating printing data and for transferring printing data
US5793938A (en) Document printing management system
US20080313201A1 (en) System and method for compact representation of multiple markup data pages of electronic document data
US20050162696A1 (en) Print auditing network
US11468382B2 (en) Multinode distributed integrity of producing files
US7734199B2 (en) Checking and conditional processing of a print job printed with multiple transfer media
JP2008187672A (en) Image output system
JP3812277B2 (en) Recording medium, computer, print data creation method and print data transfer method
CN101588431B (en) Image forming device and control method thereof
JPH11194914A (en) Print control unit
JP2003099398A (en) Method and device for message communication
US20030018728A1 (en) Data communication apparatus between plural bases and method therefor
JP3973796B2 (en) Image data search method and OPI system
JPH1139117A (en) Printer control device
CN118732963A (en) Print file generation method, device, electronic device and readable medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

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: 20050920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050920

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080930

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090930

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090930

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100930

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110930

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees