JP4157520B2 - Transmission system and transmission method - Google Patents
Transmission system and transmission method Download PDFInfo
- Publication number
- JP4157520B2 JP4157520B2 JP2004353821A JP2004353821A JP4157520B2 JP 4157520 B2 JP4157520 B2 JP 4157520B2 JP 2004353821 A JP2004353821 A JP 2004353821A JP 2004353821 A JP2004353821 A JP 2004353821A JP 4157520 B2 JP4157520 B2 JP 4157520B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- processing
- line
- order
- received
- 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
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、例えば企業間で商取引を行うためのメッセージを受信すると、受信したメッセージを分散して処理し、処理したメッセージを逐次送信先へ出力する伝送システム及び方法に関するものである。 The present invention relates to a transmission system and method for receiving, for example, a message for performing a commercial transaction between companies, processing the received message in a distributed manner, and sequentially outputting the processed message to a transmission destination.
近年企業間での商取引は、Electronic Data Interchangeにより行われることが多くなった。通信回線にインターネットを利用し、FTPやHTTPなどのアプリケーションプロトコルでメッセージを交換するインターネットEDIが登場したこともあって、以前よりEDIシステムを企業が導入し易くなっている。EDIにより取引を行う取引先が増えると、取引当事者の組み合わせが乗数的に増加し、その間でメッセージ交換を実現するための伝送システムで大量の伝送処理が発生する。このような場合にメッセージ伝送の遅延による障害発生を防止するため、複数の処理ラインを設け、負荷状況に応じて各ラインに処理を分散させることが従来から行われてきた。例えばメッセージを連続して送信した場合、ラウンドロビン方式で各メッセージの処理を各ラインに分散させる。図16は受信した全てのメッセージについてラウンドロビン方式で処理ラインを選択する装置の一例を説明するための機能ブロック図である。この例における装置151は、発注側のシステム101乃至103と受注側のシステム201乃至203との間でメッセージを交換する。装置151の通信手段152は通信回線301を介して発注側のシステム101乃至103と通信し、通信回線302を介して受注側のシステム201乃至203と通信する。例えば発注側のシステム101乃至103から注文情報のようなメッセージを複数受信すると、その装置151の振り分け手段153は、各メッセージを振り分ける処理ラインを各メッセージの受信順に変更する。振り分けるラインが一巡すれば、次に受信したメッセージを処理するラインには、振り分けを開始したときのラインが選択される。このようにラウンドロビン方式で選択された処理ラインで処理したメッセージについてはライン後段の手段154で後続処理がされる。
In recent years, business transactions between companies have been frequently conducted by Electronic Data Interchange. With the advent of Internet EDI that uses the Internet for communication lines and exchanges messages using application protocols such as FTP and HTTP, it has become easier for companies to introduce EDI systems. When the number of business partners who conduct transactions by EDI increases, the combination of trading parties increases as a multiplier, and a large amount of transmission processing occurs in the transmission system for realizing message exchange therebetween. In such a case, in order to prevent the occurrence of a failure due to a delay in message transmission, it has been conventionally performed to provide a plurality of processing lines and distribute the processing to each line according to the load situation. For example, when messages are transmitted continuously, processing of each message is distributed to each line by a round robin method. FIG. 16 is a functional block diagram for explaining an example of an apparatus for selecting a processing line in a round robin manner for all received messages. The
ところで、電子商取引では、その整合性を保つために、メッセージの伝送順序が重要になるときがある。例えば注文情報を送信してからその注文を取り消す情報を送信するような場合、注文情報の次に取消情報が受信される必要がある。注文情報より先に取消情報を受けても、存在しない注文を取り消すことになり、受信側は正常に処理を行うことができない。 By the way, in electronic commerce, in order to maintain the consistency, the order of message transmission may be important. For example, when order information is transmitted and then information for canceling the order is transmitted, the cancel information needs to be received next to the order information. Even if the cancellation information is received before the order information, the non-existing order is canceled, and the receiving side cannot perform processing normally.
しかしながら、複数のラインに処理を分散させると、メッセージの受信順に処理ラインを変更しても、トランザクションが多くなり、異なるサイズのデータが増えるのに連れて、各ラインにおける負荷状況は均等でなくなる。各ラインにおける処理時間がメッセージの送信間隔より大きくなれば、メッセージの伝送順序が変わってしまうかもしれない。 However, if the processing is distributed over a plurality of lines, even if the processing lines are changed in the order of message reception, the number of transactions increases, and as the data of different sizes increases, the load situation on each line becomes uneven. If the processing time in each line is longer than the message transmission interval, the message transmission order may change.
このように分散処理を行う場合でも、例えば特許文献1に記載されているように、送出順序を表す連番や日時をデータに付せば、付加された情報に基づいて伝送順序を受信側で復元することができる。
上述のように送出順序を表す連番や日時を利用する場合、分散処理のために順序が保証されなければ、それらに基づいて受信側でメッセージの送出順序を確認し、復元しなければならない。全てのメッセージについて復元を行っていると、その処理に必要な負荷は大きくなり時間は長くなる。このため分散処理をする場合でも、電子商取引に支障のない範囲で簡便に伝送順序を保証することのできるシステムが望まれる。 As described above, when using a serial number or date / time indicating the sending order, if the order is not guaranteed for the distributed processing, the receiving side must confirm and restore the sending order of the message based on them. If all messages are restored, the load required for the processing increases and the time increases. For this reason, even in the case of distributed processing, a system that can easily guarantee the transmission order within a range that does not hinder electronic commerce is desired.
本発明は、このような従来の技術における課題を解決するために、分散処理を行いながら、必要に応じて簡便にメッセージの伝送順序を保証することの可能な伝送システム及び方法を提供することを目的とする。 The present invention provides a transmission system and method capable of simply assuring the transmission order of messages as needed while performing distributed processing in order to solve such problems in the conventional technology. Objective.
本発明の提供する伝送システムは、受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからそのメッセージの送信先へ出力するシステムであって、上述の目的を達成するために、次の手段を採用している。 A transmission system provided by the present invention is a system for processing a received message with a line selected from among a plurality of processing lines and then outputting the message to a destination of the message. The following measures are adopted.
この伝送システムは、メッセージを交換する一方の当事者からメッセージを受信すると、特定手段がそのメッセージの送信元を特定する。また、取得手段がそのメッセージを処理するラインを選択するための制御情報を取得する。判断手段は、その制御情報を用いて、メッセージの処理ラインを受信順に選択するか否かを判断する。そして、メッセージの処理ラインを受信順に選択しないと判断した場合、選択手段は、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う。例えば送信元を表す符号を数値に変換し、変換した結果をライン数で割ったときの余りに基づいて処理を行うことで、送信元が同じメッセージには同じラインを選択することができる。各ラインでは複数のメッセージが逐次処理されるので、この場合、他方の当事者へその順序で処理されたメッセージをすれば、送信元が同じメッセージの伝送順序を保証することができる。また、メッセージの伝送順序を保証する必要がない場合には、メッセージの処理ラインを受信順に選択するので、メッセージの処理が各ラインに分散する。 In this transmission system, when a message is received from one party exchanging messages, the specifying means specifies the source of the message. Further, the acquisition means acquires control information for selecting a line for processing the message. The determination means determines whether to select message processing lines in the order of reception using the control information. If it is determined that the message processing lines are not selected in the order of reception, the selection unit performs processing for selecting the same line for messages having the same transmission source based on the received message transmission source. For example, by converting a code representing a transmission source into a numerical value and performing processing based on the remainder when the converted result is divided by the number of lines, the same line can be selected for messages having the same transmission source. Since a plurality of messages are sequentially processed in each line, in this case, if the messages processed in that order are sent to the other party, the transmission source can guarantee the transmission order of the same messages. When there is no need to guarantee the message transmission order, the message processing lines are selected in the order of reception, so that the message processing is distributed to each line.
別の観点では、本発明は、上述の伝送システムに対応する伝送方法を提供する。この伝送方法は、受信したメッセージを複数の処理ラインのうちから選択したラインで処理してからその送信先へ出力するものであって、受信したメッセージの送信元を特定する手順、そのメッセージを処理するラインを選択するための制御情報を取得する手順、メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手順、及びメッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う手順を備える。 In another aspect, the present invention provides a transmission method corresponding to the transmission system described above. In this transmission method, a received message is processed by a line selected from a plurality of processing lines and then output to the destination. The procedure for specifying the source of the received message and the message are processed. A procedure for acquiring control information for selecting a line to be selected, a procedure for determining whether or not to select a message processing line based on the order of reception, and a determination that a message processing line is not selected in the order of reception In the case, the message having the same transmission source includes a procedure for performing processing for selecting the same line based on the transmission source of the received message.
さらに別の観点では本発明はこのような手順をコンピュータに実行させるためのプログラム、およびそのプログラムを記録したコンピュータ読取可能な媒体を提供する。 In still another aspect, the present invention provides a program for causing a computer to execute such a procedure, and a computer-readable medium storing the program.
このような構成を採用することにより本発明では、メッセージの分散処理を行いながら、必要に応じて簡便にメッセージの伝送順序を保証することができる。その結果、電子商取引を迅速かつ円滑に行うことが可能となる。 By adopting such a configuration, according to the present invention, the message transmission order can be simply assured as necessary while performing distributed processing of messages. As a result, electronic commerce can be performed quickly and smoothly.
以下、添付図面を参照して、本発明の実施の形態について説明する。この実施の形態において、本発明は、発注側と受注側との間でメッセージを交換するための伝送システムとして具体化される。 Embodiments of the present invention will be described below with reference to the accompanying drawings. In this embodiment, the present invention is embodied as a transmission system for exchanging messages between an ordering side and an order receiving side.
図1に示すように、この伝送システムでは、発注側のシステム101、102及び103と受注側のシステム201、202及び203との間に、メッセージを処理するための処理装置1が配置されている。この処理装置1は、発注側の複数のシステム101、102及び103と通信回線301を介して接続されている。また、この処理装置1は、受注側の複数のシステム201、202及び203と通信回線302を介して接続されている。発注側の各システム101、102又は103も受注側の各システム201、202又は203も、同一企業又は組織のものであってもよいし、異なる企業又は組織のものであってもよい。また便宜上、図1では、システムを発注側か受注側かに分類し、通信回線も2つに分けて示しているが、これは、各システムを固定的にいずれかに分類したり、通信回線を2つに分けたりする必要性を示しているわけではない。
As shown in FIG. 1, in this transmission system, a
発注側のシステム101、102又は103及び受注側のシステム201、202又は203と処理装置1とを接続する通信回線301及び302には、インターネットやイントラネットを利用することができる。ここでは、TCP/IPネットワークを利用することを前提とし、メッセージを伝送するためのアプリケーションプロトコルとしてFTPを用いる。EDIのメッセージは例えば複数まとめて一つのファイルに記述し、そのファイルを伝送する。
The
処理装置1は、一台又は複数台の汎用コンピュータで実現することができる。図2は一台のコンピュータで処理装置を実現した例を示す。FTPを用いた通信を行うため、そのコンピュータ401上でFTPサーバプログラムやFTPクライアントプログラムのような通信プログラム2が動作する。ここでは、通信プログラム2をHDD(Hard Disk Drive)402に格納している。HDD402はバス403を通じてCPU(Central Processing Unit)404に接続されている。バス403にはROM(Read Only Memory)405やRAM(Random Access Memory)406、通信インターフェイス407、通信インターフェイス408も接続されている。ROM405に記憶したプログラムの指令に従ってコンピュータ401が起動すると、CPU404はHDD402から通信プログラム2のファイルを読み出し、RAM406上でその通信プログラム2を動作させる。CPU404は通信プログラム2の指令に従い外部のネットワーク機器と通信する。その通信に通信インターフェイス407または408を用いる。通信インターフェイス407および408は通信回線301および302にそれぞれ接続されており、発注側システム101乃至103との通信には通信インターフェイス407を用い、受注側システム201乃至203との通信には通信インターフェイス408を用いる。
The
処理装置1は、発注側のシステム101、102若しくは103又は受注側のシステム201、202若しくは203からメッセージを受信すると、そのメッセージに対応する処理を行ってからその送信先に受信メッセージを出力する。
When the
メッセージ伝送の遅延による障害を発生させないため、図1に模擬的に示す通り処理装置1には複数の処理ラインLが設けられる。処理装置1は、受信したメッセージを選択した処理ラインLに振り分けることで処理を分散し、その処理ラインLの後段に設けた手段4で後続処理を行ってから、送信先に受信したメッセージを出力する。例えば後続処理として、メッセージを送信先毎に振り分けたり、複数のメッセージを一つに統合したりする。
In order not to cause a failure due to a delay in message transmission, the
メッセージを処理する処理ラインLは、ソフトウェア的又はハードウェア的に用意することができる。処理装置1を一台のコンピュータで実現する場合には、CPUの処理時間やメモリなどのリソースをプログラムが適当に分配することにより、ソフトウェア的に複数の処理ラインLを用意することができる。また、処理装置1を複数のコンピュータで実現する場合、いずれかのコンピュータを一つの処理ラインとして利用すれば、ハードウェア的に複数の処理ラインを用意することができる。さらに、両者を組み合わせて、複数台のコンピュータそれぞれでソフトウェア的に処理ラインを用意することにより、台数以上の処理ラインを確保するようにしてもよい。
The processing line L for processing a message can be prepared in software or hardware. When the
発注側のシステムと受注側のシステムは、このような通信回線及び処理装置を介して、見積依頼や見積回答、注文情報、注文請け情報、納期確認情報、納期回答情報など様々なメッセージを交換する。メッセージには、これらの商取引に直接関係するものの他、実績やニュースを通知するものも含まれる。 The ordering side system and the ordering side system exchange various messages such as request for quotation, reply to quotation, order information, order confirmation information, delivery date confirmation information, and delivery date reply information via such communication lines and processing devices. . The message includes not only those directly related to the commercial transaction but also a message notifying the achievement or news.
担当者は、発注側のシステム101、102及び103や受注側のシステム201、202及び203に接続された端末から、これらのメッセージに必要な情報を入力したり、その端末でメッセージの内容を確認したりする。例えば発注側のシステム101に接続された端末101Aから担当者が注文情報を入力することで、発注側のシステム101は、そのメッセージを送信する。このような発注側のシステム101乃至103もコンピュータを用いて実現することができる。図3は汎用のコンピュータで発注側のシステムを実現した例を示す。コンピュータ501はバス502を備えており、このバス502を介してCPU503やRAM504、ROM505、HDD506などが接続されている。またこれらのデバイスの他、外部機器との通信のためバス502には通信インターフェイス507および508も接続されている。担当者の端末101Aはその企業のLAN(Local Area Network)509を介してその通信インターフェイス507に接続される。HDD506には、業務データベース510が配置されるとともに、業務アプリケーション511を格納している。業務データベース510は見積や注文などについて業務データを格納している。CPU503はHDD506から業務アプリケーション511を読み出し、RAM504上で動作させる。CPU503は業務アプリケーション511の指令に従って、業務データベース510に格納された業務データにアクセスする。業務データはその企業特有のフォーマットで作成されることが少なくない。EDIのメッセージ伝送に標準フォーマットを利用する場合、特有フォーマットから標準フォーマットへの変換が必要である。そのために、HDD506にはトランスレータプログラム512も格納されている。CPU503はHDD506からそのプログラム512を読み出し、RAM504上で動作させる。CPU503は業務データベース511から業務データを読み出し、トランスレータプログラム512の指令に従ってそのデータの形式を標準フォーマットに変更することでEDIのメッセージを作成する。一方、受注側のシステム201乃至203では、トランスレータプログラムによって標準フォーマットからその企業特有の形式に変換する。
The person in charge inputs information necessary for these messages from the terminals connected to the order-
作成されたEDIのメッセージを送信する必要が生じると、発注側のシステム101は即座に又は適当な時期に、処理装置1上の通信プログラム2にアクセスする。その通信プログラム2、ここではFTPサーバの指令に従ってコンピュータ401が動作することで、図1に示すように処理装置1はプロトコル解釈手段31およびデータ転送手段32を備える。プロトコル解釈手段31は、アクセス元からの指示に従いデータ転送手段32によるデータ転送を管理する。処理装置1上の通信プログラム2にアクセスする際、発注側のシステム101は、コントロールコネクションに接続するため、ユーザ名及びパスワードを含む認証情報をFTPサーバへ送信する。認証が正常に行われると、プロトコル解釈手段31は発注側のシステム101との間でデータコネクションを確立する。そのデータコネクションを通じて発注側のシステム101はメッセージを送信し、そのメッセージをデータ転送手段32が受信する。この実施の形態では、複数のEDIメッセージを格納したファイルを送信することで、メッセージが処理装置1に送信される。発注側システム101からファイルを送信する際、そのファイルは複数のパケットに分割される。各パケットには、TCP/IPのプロトコルスタックに従ってヘッダが付加される。コンピュータ401は、そのヘッダを使ってそれらのパケットからファイルを復元する。そしてコンピュータ401のCPU405はそのファイルからメッセージを取得する。
When it is necessary to send the created EDI message, the
EDIのメッセージを受信すると、図4に示すような手順で、処理装置1は、そのメッセージに対応する処理を行い、そのメッセージで指定された送信先に処理されたメッセージを送信するため、処理ラインLを選択する。処理装置1をコンピュータで実現するとき、処理ラインLの選択の制御にプログラム5を利用する。図2の例ではそのプログラム5もHDD402に格納している。プログラム5は、コンピュータ401のCPU404やメモリなどのハードウェアと協働し、メッセージが受信された後(S1)、手順S2からS6を含む方法をコンピュータ401に実行させる。このとき、コンピュータ401は、図1の特定手段6、取得手段7、判断手段8及び選択手段9として機能する。
When the EDI message is received, the
まず、特定手段6が認証情報に基づいて受信したメッセージの送信元を特定する(S2)。送信元は、例えばログインユーザが属する企業である。ここでは、図5に示すようにユーザと企業コードがテーブルにより予め関連付けられている。そのテーブルは、コンピュータ401の記憶手段に格納される。例えば図2に示すようにそのテーブルを相手先マスタテーブル409としてHDD402に格納しておけばよい。特定手段6は、これを参照することで、ログインユーザに対応する企業コードを特定する。
First, the specifying
企業コードを特定すると、特定手段6は、受信したメッセージからその種別を表すポストIDを取得する。種別は、発注元の担当者が指定するものであり、そこには、そのメッセージを使用する業種などが含まれる。図6AはEDIメッセージのフォーマットの一例を示す。この例では、ポストIDの他にレコード区分や送信元コード、送信先コードなどをメッセージが含んでいる。メッセージはヘッダレコードとデータレコードに分けることができ、レコード区分はそのレコードがヘッダであるかデータであるかを示す。送信元コードおよび送信先コードは、そのメッセージの送信元および送信先に固有のコードをそれぞれ表す。そのメッセージは送信先コードに対応する受注側のシステムに送信される。
When the company code is specified, the specifying
ポストIDを取得すると、特定手段6は図6Bに示すように、受信したメッセージのヘッダ601を編集し、その企業コード、ポストID及び処理日時からなるデータ処理の管理情報602を付加する。
When the post ID is acquired, the specifying
受信したメッセージのヘッダ601に管理情報602が付加されると、取得手段7は、そのメッセージを処理するラインを選択するための制御情報を取得する(S3)。そのために取得手段7は、その管理情報602から企業コード及びポストIDを抽出し、図7に示すように企業コード、ポストID、業務コード及びテスト区分を関連付けるテーブルを参照する。このテーブルは、図2に示すように情報管理マスタテーブル410としてコンピュータ401のHDD402に格納しておくことができる。業務コードは、取り扱う業務の種類及び伝送されるデータの種類を示すコードである。例えば注文、注文変更、注文キャンセル、実績レポート、ニュースといった事項を業務コードは表す。図7の例では、業務コード「X」が注文、注文変更、注文キャンセルに対応し、「Y」が実績レポート、ニュースに対応する。テスト区分は、受信したメッセージがテスト伝送のものであるか、本番伝送のものであるか、並行本番伝送のものであるかのいずれかを表す。
When the
この実施の形態では、テーブル410を参照することにより、取得手段7は、企業コード及びポストIDと対応する業務コード及びテスト区分を制御情報として取得する。そして、取得手段7は図6Cに示すように、受信したメッセージのヘッダ601を編集し、その制御情報603を付加する。
In this embodiment, by referring to the table 410, the
受信したメッセージのヘッダ601に制御情報603が付加されると、判断手段8は、メッセージの処理ラインを受信順に選択するか否かをその制御情報に基づいて判断する(S4)。そのために、判断手段8は、図8に示すようにプログラムID、業務コード、テスト区分、開始ライン番号、終了ライン番号及びライン振り分け方式を関連付けるテーブルを参照する。このテーブルは、図2に示すように振り分けマスタテーブル411としてコンピュータ401のHDD402に格納しておくことができる。プログラムIDは、メッセージを処理するプログラムを識別するためのIDである。このプログラムIDで識別されるプログラムにより、そのメッセージは処理される。開始ライン番号は、そのメッセージの振り分けを開始するラインの番号である。終了ライン番号は、そのメッセージの振り分けを終了するラインの番号である。ライン振り分け方式は、そのメッセージに対するラインの振り分けにラウンドロビン方式を用いるか否かを表し、例えば2値で与えられる。図8の例では、「0」がラウンドロビン方式を用いることを示し、「1」がラウンドロビン方式を用いないことを示す。ラウンドロビン方式を用いてラインの振り分けが行われる場合、メッセージの処理ラインLは受信順に選択される。判断手段8は、コンピュータの記憶手段に格納されるこのようなテーブルを参照することにより、受信したメッセージに対応するライン振り分け方式を特定し、ラウンドロビン方式を用いるか否かを決定する。さらに、そのメッセージに対応するプログラム、開始ライン番号及び終了ライン番号を特定する。
When the
ラウンドロビン方式を用いると判断された場合、選択手段9は、メッセージを処理するラインLを受信順に選択する(S5)。複数のメッセージを記述した一つのファイルを受信することによって複数のメッセージを受信している場合、それらのメッセージについては、その受信順はファイルの記述で定められた順序に従えばよい。
When it is determined that the round robin method is used, the
例えば開始ライン番号が1であり、終了ライン番号が3であれば、順次受信された複数のメッセージに対して、各メッセージを処理するラインLは、1つ目、2つ目、3つ目の順に選択される。3つ目が選択された後、さらにラウンドロビン方式が用いられる場合には、受信したメッセージに対して1つ目のラインが選択され、以降同様の選択が繰り返される。開始ライン番号が2であり、終了ライン番号が4であれば、2つ目、3つ目、4つ目の順に選択される。 For example, if the start line number is 1 and the end line number is 3, the line L for processing each message for the sequentially received messages is the first, second, third Selected in order. If the round robin method is further used after the third is selected, the first line is selected for the received message, and the same selection is repeated thereafter. If the start line number is 2 and the end line number is 4, the second, third, and fourth are selected in this order.
これに対し、ラウンドロビン方式を用いないと判断された場合、選択手段9は、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの受信元に基づいて行う(S6)。そのために、選択手段9は、送信元を表す企業コードを数値に変換し、変換した結果をライン数で割ったときの余りに基づいて処理ラインLを選択することができる。例えばライン数が2であり、3つのメッセージの企業コードがそれぞれ「00020000」、「00020001」、「0002000A」であれば、選択手段9は、各企業コードのうち最小位の「0」、「1」、「A」を抽出する。「0」を文字コードで表せば0x30[48]、「1」は0x31[49]、「A」は0x41[65]であるので、これらをライン数で割ったときの余りを求める。1つ目の場合、その計算は48÷2であるので、余りが0となる。2つ目の場合、その計算は49÷2であるので、余りが1となる。3つ目の場合、その計算は65÷2であるので、余りが1となる。余りが0であれば、選択手段9は、そのメッセージを処理するラインLとして、1つ目のラインを選択する。余りが1であれば、そのメッセージを処理するラインLとして、2つ目のラインを選択する。このような計算であれば、企業コードが同じとき、余りは常に同じ値になるので、同じ送信元からのメッセージには同じラインが選択される。
On the other hand, when it is determined that the round robin method is not used, the
例えば処理に必要な時間の異なる4つのメッセージA1、A2、B1及びB2が発注側のシステム101及び102から送信され、この順で処理装置1により受信されたとする。メッセージA1及びA2はシステム101から受注側のシステム201へのメッセージであり、メッセージB1及びB1はシステム102から受注側のシステム202へのメッセージである。図9では、各メッセージA1、A2、B1又はB2の処理に必要な時間が矢印の長さで表されており、それらの受信時が矢筈で表されている。
For example, it is assumed that four messages A1, A2, B1, and B2 having different times required for processing are transmitted from the
図10はこれらの全てのメッセージに対して処理ラインがラウンドロビン方式で選択される場合について、また図11は本発明に従って処理ラインが選択される場合について処理の時間的経過を示す。図10及び図11ではそれらのメッセージを処理する4つのラインのうちいずれかの番号が1から4の数字で、各メッセージの処理時間が矢印の長さで表されている。さらに、それらの処理開始時が矢筈で処理終了時が矢尻で表されている。 FIG. 10 shows the time course of processing for the case where processing lines are selected in a round robin manner for all these messages, and FIG. 11 shows the time course of processing for cases where processing lines are selected according to the present invention. In FIG. 10 and FIG. 11, any number of the four lines for processing these messages is a number from 1 to 4, and the processing time of each message is represented by the length of the arrow. Furthermore, the start time of these processes is indicated by arrowheads and the end of the process is indicated by arrowheads.
図10の例では、メッセージA1、A2、B1及びB2は、それぞれ1つ目、2つ目、3つ目及び4つ目のラインで並列に処理され、メッセージA2、B1、A1及びB2の順で処理が終了している。これらのメッセージは、後続手段4での処理が行われてから、その順で処理装置1からシステム201及び202へ送信される。システム202では、メッセージがメッセージB1及びB2の順で受信されるため、仮にそれらのメッセージが注文及び注文キャンセルに対応するものであっても、取引に支障はない。しかしながら、システム201では、メッセージは、メッセージA2及びA1の順で受信され、システム101からの送信順序と受信順序が異なってしまう。このメッセージが実績レポートやニュースに対応するものではなく、注文及び注文キャンセルに対応するものであれば、その取引に支障が生じてしまう。
In the example of FIG. 10, the messages A1, A2, B1, and B2 are processed in parallel on the first, second, third, and fourth lines, respectively, and the messages A2, B1, A1, and B2 are in order. The process is finished. These messages are transmitted from the
一方、図11の例では、メッセージA1、A2、B1及びB2は、それぞれ1つ目、1つ目、3つ目及び4つ目で処理されている。例えばメッセージA1及びA2は注文及び注文キャンセルに対応するもので、これらのメッセージに対してはラウンドロビン方式で処理ラインを選択しないと判断されている。また、メッセージB1及びB2は実績レポートやニュースに対応するもので、これらのメッセージに対してはラウンドロビン方式で処理ラインを選択すると判断されている。その結果、送信元が同じメッセージA1及びA2は、同じ処理ラインで逐次処理され、メッセージB1及びB2は、異なる処理ラインで並列に処理されている。このため、4つのメッセージの処理は、メッセージB1、A1、B2及びA2の順で終了している。この場合、処理は分散されていても、システム101からの送信順序とシステム201での受信順序が同じになる。電子商取引を行うような場合、取引情報の発生順序がその性質上時系列的に定まるため、通常送信元が同じメッセージに同じラインを選択すれば、その取引に支障は生じない。また、送信元であれば、処理装置1の受信時点で取得できるので、他の情報を用いるよりも迅速で簡便な処理を行うことが可能となる。
On the other hand, in the example of FIG. 11, the messages A1, A2, B1, and B2 are processed in the first, first, third, and fourth, respectively. For example, the messages A1 and A2 correspond to ordering and order cancellation, and it is determined that a processing line is not selected for these messages in a round robin manner. The messages B1 and B2 correspond to performance reports and news, and it is determined that a processing line is selected in a round robin manner for these messages. As a result, messages A1 and A2 having the same transmission source are sequentially processed on the same processing line, and messages B1 and B2 are processed in parallel on different processing lines. For this reason, the processing of the four messages ends in the order of messages B1, A1, B2, and A2. In this case, even if processing is distributed, the transmission order from the
このように、本実施の形態における伝送システム及び方法では、分散処理を行って大量のトランザクションに対する待ち行列を解消しながら、必要に応じて簡便にメッセージの伝送順序を保証することができる。その結果、電子商取引を迅速かつ円滑にすることができる。 As described above, in the transmission system and method according to the present embodiment, it is possible to simply guarantee the message transmission order as necessary while performing queue processing to eliminate a queue for a large number of transactions. As a result, electronic commerce can be performed quickly and smoothly.
なお、メッセージの順序保証をするため、ある送信元に対して選択した処理ラインLで他の送信元のメッセージを処理してもよい。またその処理ラインをラウンドロビン方式で選択する処理ラインに含めていてもよい。他の送信元のメッセージや順序保証の必要がないメッセージがその処理ラインで処理されても、対象となるメッセージの順序が変わらなければよい。ただし、処理ラインに与えられる負担が処理ライン間で不均等になる可能性がある。例えば多数のメッセージを同じ送信元から短時間で受信したときのように一部の処理ラインの負担が著しく大きくなるような場合には、その処理ラインをラウンドロビン方式で選択する処理ラインから一時的に外すようにしてもよい。 In order to guarantee the order of messages, messages from other senders may be processed by the processing line L selected for a certain sender. Further, the processing line may be included in a processing line selected by the round robin method. Even if other source messages or messages that do not require order guarantee are processed on the processing line, the order of the target messages need not be changed. However, there is a possibility that the burden given to the processing line becomes uneven among the processing lines. For example, when the burden on some processing lines becomes extremely large, such as when a large number of messages are received from the same sender in a short time, the processing lines are temporarily selected from the processing line selected by the round robin method. You may make it remove.
このような場合、図12に示すように、処理装置1に処理ライン管理手段10をさらに備えることができる。処理ライン管理手段10は、メッセージの処理ラインを受信順に選択すると判断された場合に選択される処理ラインを選択手段9の選択結果に基づいて管理する。
処理ライン管理手段10としてコンピュータ401を機能させる場合、図13に示すようにコンピュータ401のHDD402にはライン管理テーブル412も配置される。ライン管理テーブル412はラウンドロビン方式で選択する対象のラインを管理するためのテーブルである。図14はライン管理テーブルの一例を示す。この例では、実ライン番号と割り当て番号とを関連付けている。ここでは、実ライン番号は全ての処理ラインに対して付された各ライン固有の番号である。割り当て番号はラウンドロビン方式で選択する対象のラインに付された識別番号である。ラウンドロビン方式で選択するとき、選択手段9はこの割り当て番号を用いて処理ラインを識別する。ラウンドロビン方式の場合、割り当て番号が付されていない処理ラインは選択されない。一部の処理ラインをラウンドロビン方式で選択する処理ラインから外すためには、このライン管理テーブル412を編集すればよい。
In such a case, as shown in FIG. 12, the
When the
この編集は、図15に示すように例えば手順S6をした後にすることができる。手順S6の後、処理プログラム2の指令に従ってコンピュータ401のCPU404は、選択された処理ラインの負担を推定する(S7)。この推定は、その処理ラインに対するそれまでの選択結果に基づいてすることができる。例えばその選択結果から、その処理ラインで処理しているメッセージの数やデータ長の合計を見積もり、その見積もりから負担を定めればよい。CPU404は処理ラインの負担を計算すると、その計算した値と予め定めたしきい値とを比較する(S8)。その処理ラインの負担がそのしきい値以下であれば、処理を終了する。その処理ラインの負担がそのしきい値より大きければ、その処理ラインをラウンドロビン方式で選択する対象のラインから外すためライン管理テーブルを編集する(S9)。例えばその処理ラインについて付された割り当て番号を削除し、必要に応じて、その他の割り当て番号を変更する。このようにすることで、一部の処理ラインに負担が集中する可能性を軽減することができる。
This editing can be performed after step S6, for example, as shown in FIG. After step S6, the
また順序保証の必要のある大量のメッセージを同じ送信元が常時送信することが予定されているときには、それらのメッセージを処理するための処理ラインを予めラウンドロビン方式で選択する処理ラインから外しておくようにしてもよい。このように一部のメッセージを処理するために予め処理ラインを確保している場合、処理ライン管理手段10は、その処理ラインの負担に応じて、ラウンドロビン方式で選択する処理ラインを管理するのが好ましい。順序保証の必要のある大量のメッセージを同じ送信元から常時受信することが予定されていても、実際には、その送信元から受信するメッセージの数が一時的に減少することも考えられる。このような場合、処理ラインの利用効率が全体として低下してしまう。このため、その処理ラインの負担を見積もる。その負担の見積もりは、その送信元からメッセージを受信する毎や定期的にすればよい。その処理ラインの負担が予め定めたしきい値より小さければ、処理ライン管理手段10は、その処理ラインをラウンドロビン方式で選択する処理ラインに含める。例えばその処理ラインについてライン管理テーブル412で割り当て番号を付与する。これによって、処理ラインの全体としての利用効率が低下するのを防ぐことができる。処理ラインの負担がしきい値以上であれば、予定した通りであるので、予め確保した処理ラインをラウンドロビン方式で選択する処理ラインに含める処理を行わない。予め確保した処理ラインをラウンドロビン方式で選択する処理ラインに含めた処理をした場合でも、その処理は一時的に有効なものである。例えば予め確保した処理ラインに対し割り当て番号を与えた後にその処理ラインの負担を見積もったとき、その見積もった値がしきい値以上であれば、処理ライン管理手段10は、その処理ラインをラウンドロビン方式で選択する処理ラインから外す。予め確保した処理ラインをラウンドロビン方式で選択する処理ラインから外すときに利用するしきい値は、その処理ラインをラウンドロビン方式で選択する処理ラインに含めるときに利用するしきい値と異ならせてもよい。 Also, when the same sender is scheduled to send a large number of messages that need to be guaranteed in order, the processing lines for processing those messages are removed from the processing lines that are selected in advance by the round robin method. You may do it. In this way, when processing lines are secured in advance to process some messages, the processing line management means 10 manages the processing lines to be selected by the round robin method according to the burden of the processing lines. Is preferred. Even if a large number of messages that need to be guaranteed in order are scheduled to be constantly received from the same source, the number of messages received from the source may actually be temporarily reduced. In such a case, the utilization efficiency of the processing line is reduced as a whole. Therefore, the burden on the processing line is estimated. The burden may be estimated every time a message is received from the transmission source or periodically. If the burden on the processing line is smaller than a predetermined threshold value, the processing line management means 10 includes the processing line in the processing line that is selected by the round robin method. For example, an assignment number is assigned to the processing line in the line management table 412. Thereby, it is possible to prevent the use efficiency of the entire processing line from being lowered. If the load on the processing line is equal to or greater than the threshold value, it is as planned, so that the processing line that is reserved in advance is not included in the processing line that is selected by the round robin method. Even when the processing line secured in advance is included in the processing line selected by the round robin method, the processing is temporarily effective. For example, when a processing line burden is estimated after assigning an assigned number to a previously secured processing line, if the estimated value is equal to or greater than a threshold value, the processing line management means 10 determines that the processing line is round-robin. Remove from the processing line selected by the method. The threshold used when removing a reserved processing line from the processing line selected by the round robin method is different from the threshold used when the processing line is included in the processing line selected by the round robin method. Also good.
また、上述の実施の形態では、メッセージの交換にアプリケーションプロトコルとしてFTPを用いたが、これに限られるものではない。 In the above-described embodiment, FTP is used as an application protocol for exchanging messages. However, the present invention is not limited to this.
また、FTPサーバプログラムなどの通信プログラムと処理ラインの選択を制御するためのプログラムとを別個にする必要もない。両方の機能を備えた一つのプログラムを利用するようにしてもよい。 Further, it is not necessary to make a communication program such as an FTP server program separate from a program for controlling selection of a processing line. A single program having both functions may be used.
また、処理ラインの選択を制御するためのプログラムを提供したり流通させたりする場合、CD−ROMやDVD−ROMなどのコンピュータ読み取り可能な記録媒体にそのプログラムを格納したり、インターネットなどの電気通信回線を通じて伝送すればよい。 When a program for controlling the selection of a processing line is provided or distributed, the program is stored in a computer-readable recording medium such as a CD-ROM or DVD-ROM, or an electric communication such as the Internet. It may be transmitted through a line.
本発明に係る伝送システム及び方法は、取引当事者の一方から受信したメッセージを分散して処理しながら、取引当事者の他方へのメッセージの伝送順序を必要に応じて簡便に保証することができるという効果を奏し、企業間の電子商取引のための伝送システムなどで有用である。 The transmission system and method according to the present invention are capable of simply assuring the transmission order of messages to the other party of the transaction as needed while distributing and processing the messages received from one of the transaction parties. It is useful in transmission systems for electronic commerce between companies.
1 処理装置
2 通信プログラム
4 後続手段
5 制御プログラム
6 特定手段
7 取得手段
8 判断手段
9 選択手段
10 処理ライン管理手段
31 プロトコル解釈手段
32 データ転送手段
101、102、103 発注側のシステム
201、202、203 受注側のシステム
301、302 通信回線
L 処理ライン
DESCRIPTION OF
Claims (6)
受信したメッセージの送信元を特定する手段、
そのメッセージを処理するラインを選択するための制御情報を取得する手段、
メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手段、及び
メッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う選択手段
を備えた伝送システム。 A transmission system that processes a received message on a line selected from a plurality of processing lines and outputs the processed message to the destination.
A means of identifying the source of the received message,
Means for obtaining control information for selecting a line for processing the message;
Means for determining whether or not to select message processing lines based on the received information, and if it is determined that message processing lines are not selected in the order of reception, select the same line for messages with the same source A transmission system comprising selection means for performing processing to be performed based on a source of a received message.
企業コードと、EDIメッセージの種別を表すポストIDと、取り扱う業務の種類及び伝送されるデータの種類を示す業務コードと、テスト区分とを関連付ける第1のテーブル、
業務コードと、テスト区分と、EDIメッセージを処理するプログラムのIDと、ラインの振り分け方式とを関連付ける第2のテーブル、
受信したEDIメッセージの送信元の企業コードを特定する手段、
受信したEDIメッセージについてのポストID、及び特定した企業コードに対応する業務コード及びテスト区分を第1のテーブルから取得する手段、
取得した業務コード及びテスト区分を含む制御情報に対応するライン振り分け方式を第2のテーブルを参照することで特定し、その特定したライン振り分け方式に従って、受信したEDIメッセージの処理ラインをラウンドロビン方式で選択するか否かを判断する手段、そして
EDIメッセージの処理ラインをラウンドロビン方式で選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理をEDIメッセージの送信元に基づいて行う手段
を備えた伝送システム。 A transmission system that processes a received EDI message on a line selected from a plurality of processing lines and outputs the processed EDI message to a destination thereof.
A first table associating a company code, a post ID indicating a type of EDI message, a business code indicating a type of business to be handled and a type of data to be transmitted, and a test category;
A second table associating business codes, test categories, IDs of programs that process EDI messages, and line distribution methods;
Means for identifying the company code of the source of the received EDI message;
Means for obtaining from the first table the post ID for the received EDI message and the business code and test classification corresponding to the identified company code;
The line distribution method corresponding to the control information including the acquired business code and test classification is specified by referring to the second table, and the processing line of the received EDI message is round-robin in accordance with the specified line distribution method. A means for determining whether or not to select, and a process for selecting the same line for a message having the same transmission source when it is determined not to select a processing line for the EDI message in a round robin manner, based on the transmission source of the EDI message Transmission system with means to perform
受信したメッセージの送信元を特定する手順、
そのメッセージを処理するラインを選択するための制御情報を取得する手順、
メッセージの処理ラインを受信順に選択するか否かを前記制御情報に基づいて判断する手順、及び
メッセージの処理ラインを受信順に選択しないと判断した場合に、送信元が同じメッセージには同じラインを選択する処理を受信したメッセージの送信元に基づいて行う手順
を備えた伝送方法。 A transmission method for processing a received message on a line selected from a plurality of processing lines and outputting the processed message to the destination,
Steps to identify the source of the received message,
A procedure for obtaining control information for selecting a line for processing the message,
The procedure for determining whether or not to select message processing lines based on the order of reception, and if it is determined not to select message processing lines in the order of reception, select the same line for messages with the same source A transmission method comprising a procedure for performing processing to be performed based on the source of the received message.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004353821A JP4157520B2 (en) | 2003-12-08 | 2004-12-07 | Transmission system and transmission method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003408518 | 2003-12-08 | ||
| JP2004353821A JP4157520B2 (en) | 2003-12-08 | 2004-12-07 | Transmission system and transmission method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2005198264A JP2005198264A (en) | 2005-07-21 |
| JP4157520B2 true JP4157520B2 (en) | 2008-10-01 |
Family
ID=34828862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004353821A Expired - Fee Related JP4157520B2 (en) | 2003-12-08 | 2004-12-07 | Transmission system and transmission method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4157520B2 (en) |
-
2004
- 2004-12-07 JP JP2004353821A patent/JP4157520B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2005198264A (en) | 2005-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10492039B1 (en) | State-based electronic message management systems and controllers | |
| US8250132B2 (en) | Managing messages related to workflows | |
| US8224963B2 (en) | Managing requests for connection to a server | |
| CN102236843B (en) | ticket booking method, device and system | |
| EP1202489A2 (en) | Classified on-line chat | |
| TWI354475B (en) | Dispatching client requests to appropriate server- | |
| JP4327960B2 (en) | E-mail terminal device and computer-readable medium | |
| CN113590308A (en) | Workflow processing method, device, equipment and medium for applying for cloud resources | |
| JP5593359B2 (en) | COMMUNICATION CONTROL DEVICE, MESSAGE TRANSFER METHOD, AND MESSAGE TRANSFER PROGRAM | |
| CA2351869C (en) | Electronic document classification system | |
| CN105761134A (en) | Intellectual property trade platform | |
| CN114663057A (en) | Workflow management system, method and electronic equipment | |
| KR20140013892A (en) | Method of comparing output in a plurality of information systems | |
| JP4157520B2 (en) | Transmission system and transmission method | |
| CN113344375A (en) | Task management method, device, electronic equipment and medium in insurance service process | |
| JP2002215481A (en) | Web access control method and system | |
| US20080077672A1 (en) | Online messaging architecture | |
| JP5169610B2 (en) | Data collection / delivery device, data collection / delivery system, data collection / delivery method and program | |
| US20050192880A1 (en) | Data transmission system and method | |
| JP2005209135A (en) | Electronic mail processing program, method and apparatus thereof | |
| JP4895263B2 (en) | Electronic document management server, electronic document management system, and control program thereof | |
| JP5094312B2 (en) | File reception system, file reception method, and file reception program | |
| JP2016110169A (en) | Work application processing device, work application processing method, and program | |
| JP2001014231A (en) | Email Hub system using workflow mechanism | |
| CN107465743A (en) | A kind of method and apparatus for handling request |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060217 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080522 |
|
| 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: 20080618 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080711 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
| 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: 20110718 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |