JP2015125639A - Data distribution system - Google Patents
Data distribution system Download PDFInfo
- Publication number
- JP2015125639A JP2015125639A JP2013270297A JP2013270297A JP2015125639A JP 2015125639 A JP2015125639 A JP 2015125639A JP 2013270297 A JP2013270297 A JP 2013270297A JP 2013270297 A JP2013270297 A JP 2013270297A JP 2015125639 A JP2015125639 A JP 2015125639A
- Authority
- JP
- Japan
- Prior art keywords
- data
- distributed
- bus
- distribution system
- server
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、情報処理装置に対してデータを配信する技術に関し、特に、複数の情報処理装置に対してパブリッシュ/サブスクライブ型の通信により各種情報を配信するデータ配信システムに適用して有効な技術に関するものである。 The present invention relates to a technique for distributing data to information processing apparatuses, and in particular, a technique effective when applied to a data distribution system that distributes various types of information to a plurality of information processing apparatuses by publish / subscribe communication. It is about.
複数のアプリケーションやサブシステム、サーバ等のコンポーネントから構成される情報処理システムでは、コンポーネント間でデータの通信やメッセージの授受が行われるのが通常であるが、そこで用いられる通信は、コンポーネント同士が相手方のIPアドレス等の情報を知ることで行うピア・ツー・ピア(P2P)型が一般的である。 In an information processing system consisting of components such as multiple applications, subsystems, and servers, data communication and message exchange are usually performed between components. The peer-to-peer (P2P) type is generally performed by knowing information such as the IP address of the network.
一方で、例えば、証券会社の社内システムが、取引所等から取得した各銘柄の時価の情報を社内に配信する場合など、多種類の多量のデータを、多数の相手方に配信するような場合には、いわゆるパブリッシュ/サブスクライブ型(以下では「パブサブ型」と省略して記載する場合がある)でのメッセージング方法が用いられる場合がある。パブサブ型のデータの配信では、利用者が予め希望するトピックについて申し込みの登録(サブスクライブ(購読))をしておくと、データの配信元が発行(パブリッシュ)するデータについて該当するトピックのものがある場合に、利用者が当該データのみを取得することが可能となる。 On the other hand, for example, when an internal system of a securities company distributes a large amount of various types of data to a large number of other parties, such as when distributing the current market price information of each stock acquired from an exchange, etc. May be a so-called publish / subscribe type messaging method (hereinafter sometimes abbreviated as “pub sub type”). In the distribution of pub-sub data, if a user registers in advance (subscribes) for a topic that he / she wants in advance, the data corresponding to the topic issued by the data distribution source (publish) In some cases, the user can acquire only the data.
パブサブ型の通信に関する技術として、例えば、特開2009−110165号公報(特許文献1)には、パブサブ通信を行なう通信ノードとメッセージの配信を実行するブローカとの間に代理のパブサブ通信ノードを配置し、接続されている複数の通信ノードの代理としてブローカに対してパブサブ要求を発行する技術が記載されている。ここでは、代理パブサブサーバが複数ノードから同一のトピックでサブスクライブ要求を受信した場合に、最初の要求を受信した時にのみブローカに対してサブスクライブ要求を発行し、後続のサブスクライブ要求受付時には、どの通信ノードから受信したかを記憶しておくだけにし、ブローカからそのトピックに対するパブリッシュメッセージを受信した場合に、記憶しておいたサブスクライブ要求を発行した複数の通信ノードから一つを選択して配信することで、パブサブ通信において、サブスクライブ側の負荷分散構成を実現する。 As a technology related to pub-sub communication, for example, in Japanese Patent Laid-Open No. 2009-110165 (Patent Document 1), a proxy pub-sub communication node is arranged between a communication node that performs pub-sub communication and a broker that executes message distribution. A technique for issuing a pub sub request to a broker on behalf of a plurality of connected communication nodes is described. Here, when the proxy pub subserver receives a subscribe request on the same topic from multiple nodes, it issues a subscribe request to the broker only when the first request is received, and when a subsequent subscribe request is accepted Just remember which communication node received it, and when you receive a publish message for that topic from the broker, select one of the communication nodes that issued the stored subscribe request. Distribution in the pub sub-communication to realize a load distribution configuration on the subscribe side.
パブサブ型の通信では、P2P型の通信に比べて、データを多数の相手方に配信する際に、全体としてのトラフィック量を圧縮することができる。すなわち、P2P型では、送信したい相手方との間の通信セッション毎に、送信したいデータを全て送る必要があるのに対し、パブサブ型では、送信側である発行者(パブリッシャー)が送信したいデータを一度送り出せば、そのデータの取得を希望する利用者(サブスクライバー)がそれぞれこれを取得して受信することができる。 In the pub sub-type communication, the traffic volume as a whole can be compressed when data is distributed to a large number of counterparts, compared to the P2P type communication. That is, in the P2P type, it is necessary to send all the data to be transmitted for each communication session with the other party to be transmitted, whereas in the pub sub type, the issuer (publisher) on the transmission side once transmits the data to be transmitted. Once sent out, each user (subscriber) who wants to acquire the data can acquire and receive it.
従来は、パブサブ型の通信で配信されるデータは、例えば、証券会社の社内システムにおける時価など、利用者であれば基本的に誰もが必要とするような「生データ」が対象であった。しかし、例えば、時価のような「生データ」に対して、これを利用して算出される損益やポジションの情報など、業務アプリケーション等により加工して得られるデータについても、複数の利用者でシェアしたいという要望がある。 Previously, data distributed by pub-sub communication was targeted for “raw data” that would basically be required by any user, such as the market price in an internal system of a securities company. . However, for example, data obtained by processing business data, such as profit and loss and position information calculated using “raw data” such as market prices, can be shared by multiple users. There is a request to do.
このとき、例えば、加工したデータを共用のデータベース等に登録し、対象の各利用者がそれぞれ当該データベースに対して定期的に更新情報のチェックを行って参照したり、データベースにデータが登録・更新された旨を個別に対象の利用者に対して通知したりする手法をとることが考えられる。しかしながら、このような手法では、それぞれの加工データを希望する利用者やクライアント端末の数が少ない場合は問題は生じないが、多くなってくると利用者の要求分だけネットワーク上に加工データが流れる結果、全体としてのトラフィックが増大してスムーズな運用に支障をきたす可能性がある。 At this time, for example, the processed data is registered in a shared database or the like, and each target user periodically checks the database for updated information and refers to it, or data is registered and updated in the database. It is conceivable to take a method of notifying the target user individually to the effect. However, with such a method, there is no problem when the number of users and client terminals that desire each processed data is small, but when the number increases, processed data flows on the network as much as the user requests. As a result, traffic as a whole may increase and hinder smooth operation.
そこで本発明の目的は、パブサブ型通信により配信されたデータから加工等により得られた二次データについてもパブサブ型の通信を利用して再配信するデータ配信システムを提供することにある。 Accordingly, an object of the present invention is to provide a data distribution system that redistributes secondary data obtained by processing or the like from data distributed by pub-sub communication using pub-sub communication.
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。 Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.
本発明の代表的な実施の形態によるデータ配信システムは、ネットワークを介してパブリッシュ/サブスクライブ型通信によりデータを配信するデータ配信システムであって、それぞれ異なる種類のデータをパブリッシュすることにより配信する1つ以上の第1の情報処理装置と、配信された1つ以上の種類のデータのうち、サブスクライブの対象として予め指定されたトピックに該当する種類のデータを取得する1つ以上の第2の情報処理装置と、を有し、前記第1の情報処理装置は、他の前記第1の情報処理装置により配信された1つ以上の種類のデータのうち、サブスクライブの対象として予め指定されたトピックに該当する種類のデータを取得して、当該データを利用して得られた、当該データと同一もしくは異なる種類の二次データをパブリッシュすることにより配信することが可能である。 A data distribution system according to a typical embodiment of the present invention is a data distribution system that distributes data by publish / subscribe communication via a network, and distributes data by publishing different types of data 1 One or more first information processing apparatuses and one or more second information for acquiring data of a type corresponding to a topic designated in advance as a subscription target among one or more types of distributed data And the first information processing apparatus is designated in advance as a subscription target among one or more types of data distributed by the other first information processing apparatus. Data of the type corresponding to the topic is acquired, and secondary data of the same type or different from the data obtained by using the data. It is possible to deliver by publishing.
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。 Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.
すなわち、本発明の代表的な実施の形態によれば、パブサブ型通信により配信されたデータから加工等により得られた二次データについてもパブサブ型の通信を利用して再配信することが可能となり、効率的なデータの配信が可能となるため、多種多量なデータについて多数の利用者間でのリアルタイムの連携が可能となる。 In other words, according to the representative embodiment of the present invention, it is possible to redistribute secondary data obtained by processing or the like from data distributed by pub-sub communication using pub-sub communication. Since efficient data distribution is possible, real-time cooperation between a large number of users with respect to a large amount of data becomes possible.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
本発明の一実施の形態であるデータ配信システムは、パブサブ型の通信によりデータを複数の利用者(サーバおよびクライアント)に対して配信する情報処理システムにおいて、配信を受けたデータに基づいて加工等により得られた二次データについても、データの種類に応じて論理的に構成された複数のメッセージングバスを用いてパブサブ型の通信により再配信するものである。これにより、利用者間でのデータの連携に際してトラフィックを圧縮して処理を効率化し、多種多量なデータについて多数の利用者間でのリアルタイムの連携を可能とする。 A data distribution system according to an embodiment of the present invention is an information processing system that distributes data to a plurality of users (servers and clients) by pub-sub communication, and performs processing based on the received data. The secondary data obtained by the above is also redistributed by pub-sub communication using a plurality of messaging buses logically configured according to the type of data. As a result, when data is linked between users, traffic is compressed to improve processing efficiency, and a large amount of data can be linked in real time between a large number of users.
<システム構成>
図1は、本発明の一実施の形態であるデータ配信システム1の構成例について概要を示した図である。データ配信システム1は、パブサブ型の通信によりデータを配信(パブリッシュ(発行))および受信(サブスクライブ(購読))することができる1つ以上の業務サーバ30(図1の例では30a〜c)に対して、同様にパブサブ型の通信によりデータを受信(サブスクライブ)することができる1つ以上のクライアント端末40がそれぞれ図示しないネットワークを介して通信可能なように接続された構成を有する。
<System configuration>
FIG. 1 is a diagram showing an outline of a configuration example of a data distribution system 1 according to an embodiment of the present invention. The data distribution system 1 includes one or more business servers 30 (30a to c in the example of FIG. 1) that can distribute (publish (issue)) and receive (subscribe (subscribe)) data by pub-sub communication. On the other hand, similarly, one or
各業務サーバ30やクライアント端末40は、パブサブ型の通信を実装するソフトウェア等により、図示しないネットワーク上に論理的に構成された1種類以上のメッセージングバス10を利用して、データの配信もしくは受信を行うことができる。メッセージングバス10は、ネットワークの実際の構成とは独立して、後述するように、配信されるデータの種類に応じて論理的に構成された個別のバスとして取り扱われるものである。
Each business server 30 and
各業務サーバ30は、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバなどの情報処理装置により構成されるサーバシステムであり、図示しないOS(Operating System)上で動作するミドルウェア、もしくはこれらの上で動作するソフトウェアとして実装されるパブサブ部31および業務アプリケーション(Apl)32を有する。
Each business server 30 is a server system configured by an information processing apparatus such as a server device or a virtual server built on a cloud computing service, for example, middleware operating on an OS (Operating System) (not shown), or It has a
パブサブ部31は、メッセージングバス10を論理的に構成するとともに、配信対象のデータをメッセージとしてメッセージングバス10上に配信するパブリッシュ機能と、メッセージングバス10上に配信されたデータについて、利用者により予め設定された希望のトピックに合致するデータである場合にこれをメッセージングバス10から読み出すサブスクライブ機能とを有する。パブサブ部31は、例えば、パブサブ通信の機能を提供する一般的な商用ソフトウェアプログラムなどを適宜利用して実装することができる。
The pub sub-unit 31 logically configures the messaging bus 10 and also sets a publishing function for distributing data to be distributed on the messaging bus 10 as a message and data distributed on the messaging bus 10 by a user in advance. A subscribing function for reading the data from the messaging bus 10 when the data matches the desired topic. The
業務Apl32は、各種のビジネスロジックを処理するアプリケーションプログラムであり、必要に応じてパブサブ部31を介してメッセージングバス10からデータを取得してこれを利用する機能を有する。また、取得したデータを利用して加工等により得られた二次データについて、他のコンポーネントとの間で共有する必要がある場合には、これをパブサブ部31を介してメッセージングバス10上に自動もしくは手動で再配信する機能を有する。
The
なお、業務サーバ30がパブサブ部31を介してメッセージングバス10上に配信するデータは、上記のような二次データのみに限られない。従来技術と同様に、例えば、業務Apl32等により原始的に生成した一次データを配信するものであってもよいし、メッセージブローカとして、外部のデータ配信元20からネットワークを介して取得したデータをそのまま再配信するものであってもよい。例えば、証券会社のシステムにおいて、取引所から各銘柄の時価の情報を取得し、これを社内システムに対して配信する機能を有するサーバなどが該当する。
The data that the business server 30 delivers to the messaging bus 10 via the
従って、業務Apl32は、パブサブ通信におけるパブリッシュ機能とサブスクライブ機能の双方に対応する処理を実装している必要はなく、処理内容に応じていずれか一方のみの実装であってもよい。パブリッシュ機能を有する場合は、業務Apl32等において配信対象のデータが生成されたり更新されたりした都度、パブサブ部31を介してメッセージングバス10上に配信する。
Accordingly, it is not necessary for the business Ap32 to implement processing corresponding to both the publish function and the subscribe function in the pub / sub communication, and only one of them may be implemented according to the processing content. In the case of having a publish function, every time data to be distributed is generated or updated in the
クライアント端末40は、例えば、PC(Personal Computer)などの情報処理装置により構成され、図示しない、パブサブ通信におけるサブスクライブ機能を有して、メッセージングバス10からデータを取得することができる。すなわち、配信されるデータを取得するのみの場合には、各クライアント端末40は、それぞれ業務サーバ30を介さずにメッセージングバス10から直接データを取得することが可能である。
The
一方、クライアント端末41(図1の例では41c)は、業務サーバ30(図1の例では30c)に接続し、業務Apl32を介してデータを取得するとともに、業務Apl32およびパブサブ部31を介してデータを配信することができる。すなわち、メッセージングバス10上にデータを配信する場合は、各クライアント端末41がそれぞれが直接メッセージングバス10に対して配信するのではなく、業務サーバ30を介して配信するように制限することで、業務Apl32もしくはパブサブ部31においてデータをシリアライズして配信し、トラフィックを平準化することができる。
On the other hand, the client terminal 41 (41c in the example of FIG. 1) connects to the business server 30 (30c in the example of FIG. 1), acquires data through the business Ap32, and also through the business Ap32 and the
上記の図1の例では、業務サーバ30aは、データ配信元20からネットワーク経由でデータを取得し、これをメッセージングバス10上に配信することを示している(図中の白色矢印)。また、業務サーバ30bおよび30cは、メッセージングバス10からデータを取得し、二次データを同一もしくは別のメッセージングバス10上に配信することを示している。ここで、業務サーバ30cは、複数のクライアント端末41cから指定されたデータをシリアライズしてメッセージングバス10上に配信することも可能である。また、クライアント端末40は、それぞれ、1つ以上のメッセージングバス10から直接データを取得することができる。
In the example of FIG. 1 described above, the
<具体例>
図2は、データ配信システム1を証券フロントシステムに適用した場合の構成例について概要を示した図である。証券フロントシステム/エクイティフロントシステムは、証券会社等において、顧客からの株式等の売買(相対取引)の引き合いを受け付けてプライシングを行ったり、プライシングの結果に基づいて売買の注文を受け付けて、これを自己の注文との間でクロス取引したり、取引所等に対して執行したりという、有価証券の売買に係る業務を支援するフロントエンドシステムである。
<Specific example>
FIG. 2 is a diagram showing an outline of a configuration example when the data distribution system 1 is applied to the securities front system. The securities front system / equity front system accepts inquiries for buying and selling stocks (relative transactions) from customers at securities companies, etc., and accepts purchase orders based on the results of pricing. This is a front-end system that supports operations related to the buying and selling of securities, such as cross-transactions with one's own orders and execution against exchanges.
図2の例において、メッセージングバス10としては、例えば、出来バス10a、ポジションバス10b、損益バス10c、時価バス10dなどを有している。これら複数のバスは、上述したように、ネットワークの実際の構成とは独立して、配信されるデータの種類に応じて論理的に構成された個別のバスとして取り扱われるものである。また、業務サーバ30としては、例えば、取引所ゲートウェイ(GW)30d、OMS(Order Management System:注文管理システム)サーバ30e、アンワインドサーバ30f、ポジションサーバ30g、プライシングサーバ30h、理論値サーバ30i、および損益サーバ30jなどを有し、外部システムとして、取引所システム51およびレンディングシステム52などを有する。
In the example of FIG. 2, the messaging bus 10 includes, for example, a
図2の例の構成において、時価バス10dに配信する「生データ」である時価データは、例えば、取引所GW30dが、図示しないネットワークを介して取引所システム51から取得し、時価バス10d上に配信する。
In the configuration of the example in FIG. 2, the market price data that is “raw data” distributed to the market price bus 10d is acquired by the
OMSサーバ30eおよびこれに接続されたクライアント端末41eにより行われる注文管理業務では、トレーダー等が利用する複数のクライアント端末41eから入力、送信された株式の発注データは、それぞれOMSサーバ30e上でシリアライズされ、取引所GW30dを介して取引所システム51に送信されて執行される。一方で、発注に対する結果情報を含む出来データは、取引所GW30dが取引所システム51から取得し、これを出来バス10a上に配信する。従って、出来データも「生データ」に近い特質を有するといえる。
In order management work performed by the
配信された出来データは、OMSサーバ30eや、後述するポジションサーバ30g、プライシングサーバ30hなど、これを必要とする(サブスクライブする)各業務サーバ30やシステムなどが出来バス10aから取得する。出来バス10aにアクセスして出来データを取得するには、各利用者が購読対象のデータのトピックとして「出来データ」を指定する。これにより、各種のデータが配信されるネットワーク上で、「出来データ」が配信される出来バス10aを論理的に構成することができる。ポジションバス10b、損益バス10c、時価バス10dについても同様である。
The delivered result data is acquired from the
プライシングサーバ30hおよびこれに接続されたクライアント端末41hにより行われるプライシング処理では、顧客からの引き合い等に対してプライシングする際に必要となる、対象銘柄のポジションデータ(残高および簿価)をポジションバス10bから取得する。トレーダー等は、クライアント端末41hによってプライシングサーバ30hから必要な情報を取得してプライシング処理を行う。証券会社のポジション内でクロス取引を行う場合は、クロス発注が取引所GW30dを介して取引所システム51に送信されて執行される。また、クロス発注に対する出来データは、上述のように、取引所GW30dが取引所システム51から取得し、これを出来バス10a上に配信し、これを必要とする業務サーバ30等が出来バス10aから取得する。
In the pricing process performed by the
ポジション管理処理は、主に、ポジションサーバ30gと損益サーバ30jにより行われる。ポジションサーバ30gは、出来バス10aから取得した出来データから二次データとしてポジションデータ(残高および簿価)を算出して更新し、ポジションデータをポジションバス10b上に再配信する。ポジションデータの算出の際には、レンディングシステム52から、自己の借株の情報を取得するようにしてもよい。このレンディングシステム52は、例えば、顧客の大量の買い注文に対して、自己の在庫では不足するために信用売りする場合に、外部の信託銀行や証券会社等から借株をするためのシステムである。
The position management process is mainly performed by the
また、損益サーバ30jは、ポジションバス10bから取得したポジションデータと、時価バス10dから取得した時価データとから二次データとして損益データを計算して損益バス10c上に再配信する。さらに、株価の理論値の情報が必要な場合のために、時価バス10dから時価データを取得して、時価データから二次データとして理論値を計算して時価バス10d上に再配信する理論値サーバ30iを有していてもよい。
The profit /
ポジションサーバ30gに対するクライアント端末41gは、ポジションサーバ30g上で管理するポジションデータを更新してメンテナンスする処理を行う。一方、ポジションを参照するためのクライアント端末40は、ポジションバス10bからポジションデータを直接取得し、また、損益バス10cから損益データを直接取得し、時価バス10dから時価データおよび理論値を直接取得して、それぞれのデータを画面上に表示する。
The
顧客との相対取引により自己のポジションの更新が行われた場合に、これをアンワインド(巻き戻す)する処理として、例えば、在庫の銘柄の価格変動のリスクを低減するために、現物のポジションの場合は先物でヘッジするなどのポジションヘッジ処理が行われる。このアンワインド処理の準備処理として、例えば、トレーダー等からクライアント端末41fを介して入力された指示等の情報に基づいて、アンワインドサーバ30fは、ネッティングやマージの対象となる注文データをOMSサーバ30eから取得し、さらにポジションデータをポジションバス10bから取得する。取得した注文データに基づいてネッティングやマージ処理を行った後、当該注文データに基づいてOMSサーバ30e上のデータを更新する。また、更新後のポジションデータをポジションバス10b上に再配信する。
For example, in order to reduce the risk of price fluctuations of stocks in order to unwind (rewind) the position when its own position is updated due to a relative transaction with the customer, In some cases, position hedging such as hedging with futures is performed. As a preparation process for the unwind process, for example, based on information such as an instruction input from a trader or the like via the
このように、時価データなどの「生データ」の配信のみに限らず、ポジションサーバ30gや損益サーバ30jなどの業務サーバ30上で加工や生成されたポジションデータや損益データなどの二次データについて、必要とする利用者に直接送信する(必要とする利用者が直接取得する)のではなく、「生データ」と同様にメッセージングバス10上に再配信する。これにより、配信されるデータの種類や配信元、利用者についての種類や数、組合せが多数となるような場合であっても、データの配信が効率化され、リアルタイムでの連携が可能となる。
In this way, not only the distribution of “raw data” such as market price data, but also secondary data such as position data and profit / loss data processed and generated on the business server 30 such as the
なお、業務サーバ30上で加工や生成されたポジションデータや損益データなどの二次データについて、これらのデータ自体が非常に大きくなる場合がある。この場合、これらの二次データを直接メッセージングバス10上に再配信すると、メッセージングバス10の負荷が高くなってしまう可能性がある。 Note that the secondary data such as position data and profit / loss data processed and generated on the business server 30 may be very large. In this case, if the secondary data is redistributed directly on the messaging bus 10, the load on the messaging bus 10 may increase.
本実施の形態では、これを回避するため、二次データを直接メッセージングバス10上に再配信するのではなく、当該二次データ自体は、これを生成した業務サーバ30のデータベース上に保持しておき、当該データベースにアクセスして二次データを参照するためのキー項目のデータのみをメッセージングバス10上に配信することができるものとする。当該二次データが必要な利用者は、それぞれ、メッセージングバス10から取得したキー項目の値に基づいて対象の業務サーバ30にアクセスして個別にデータを取得することができる。このような仕組みにより、メッセージングバス10の負荷を可能な限り抑えてデータの配信をより一層効率化することが可能となる。 In the present embodiment, in order to avoid this, the secondary data is not directly redistributed on the messaging bus 10, but the secondary data itself is held on the database of the business server 30 that generated the secondary data. In addition, it is assumed that only key item data for accessing the database and referring to the secondary data can be distributed on the messaging bus 10. Each user who needs the secondary data can access the target business server 30 based on the value of the key item acquired from the messaging bus 10 and individually acquire the data. With such a mechanism, it is possible to further reduce the load on the messaging bus 10 as much as possible and further improve the efficiency of data distribution.
<トピックの設定>
パブサブ型の通信では、一般的に、メッセージングバス10上に配信されるデータについて、利用者が予め登録しておいた希望のトピックにマッチする属性や内容を有するデータのみを取得可能とする。これにより、配信側(パブリッシャー)において配信時に相手方を指定する等の手間や負荷を低減しつつ、利用者(サブスクライバー)において必要なデータのみを取得することによって全体でのトラフィック量を圧縮することを可能としている。
<Topic settings>
In the pub sub-type communication, it is generally possible to acquire only data having attributes and contents that match a desired topic registered in advance by the user for data distributed on the messaging bus 10. This reduces the total traffic volume by acquiring only necessary data at the subscriber (subscriber) while reducing the burden and burden of specifying the other party at the delivery side (publisher). Is possible.
図3は、メッセージングバス10へのデータの配信と取得の例について概要を示した図である。図3(a)では、例として、出来バス10a上に出来データ11を配信する場合を示しており、当該出来データ11には銘柄コード(図3の例では“銘柄A”)が設定されている。ここで、トレーダー等の各利用者(図3の例ではクライアント端末40)は、上述したように、出来バス10aにアクセスして出来データ11を取得するためには、購読対象のトピックとして「出来データ」を指定することになるが、以下、アクセスするメッセージングバス10を特定するトピック(すなわち、購読対象のデータの種類を特定するトピック)の指定については説明を省略するものとする。
FIG. 3 is a diagram showing an outline of an example of distribution and acquisition of data to the messaging bus 10. FIG. 3A shows, as an example, a case where the
各利用者(サブスクライバー)が、出来データ11のうち特定の属性や内容を有するものを取得するためには、さらに出来データ11を特定するためのサブトピック12を指定する必要がある。ここで、サブトピック12として各利用者が「銘柄コード」のみを指定するものとした場合、“銘柄A”が例えば流動性が高い銘柄であるような場合には、多くのトレーダーが発注している可能性が高く、図3(a)に示すように、多くのクライアント端末40が、他のトレーダーが発注したものも含む“銘柄A”の出来データ11を出来バス10aから取得してしまい、ネットワーク全体としてのトラフィックが増加してしまう。
In order for each user (subscriber) to acquire the
そこで、本実施の形態では、各利用者が指定する購読対象のサブトピック12を階層構造化し、上位階層のトピックには絞り込みの効果がより高いトピックを設定することで、必要なデータの識別を容易かつ迅速、確実にし、不要なデータの読み取りを抑止して、全体としてのトラフィックの増大防止と効率的なデータの配信を可能とする。
Therefore, in the present embodiment, the
図3(b)では、例として、図3(a)と同様の場合に、各利用者がサブトピック12としてそれぞれ、上位に「顧客名」(図3の例では“顧客a”、“顧客b”など)、下位に「銘柄コード」(図3の例では“銘柄A”、“銘柄B”など)という形式で階層的にトピックを指定した場合を示している。この場合、上位階層に指定されたトピックから順に、出来バス10aに配信される出来データ11がマッチするか否かを判定し、最下層のトピックまで全てマッチした場合に当該出来データ11を取得する。
In FIG. 3B, as an example, in the same manner as in FIG. 3A, each user has a “customer name” as a subtopic 12 (in the example of FIG. 3, “customer a”, “customer”). b), etc., and a topic is designated hierarchically in the format of “brand code” (in the example of FIG. 3, “brand A”, “brand B”, etc.). In this case, in order from the topic specified in the upper hierarchy, it is determined whether or not the
例えば、図3(b)に示すように、出来バス10aに配信される出来データ11(「銘柄コード」が“銘柄A”)が“顧客a”についての発注データである場合に、サブトピック12における「顧客名」として“顧客a”を指定しているクライアント端末40(すなわち、“顧客a”についての発注処理を行ったトレーダー等)のみが、当該出来データ11を取得し得る対象となる。ここでは、図3(b)における上段左側のクライアント端末40が対象となる。さらに、ここで指定されているサブトピック12において、「銘柄コード」には“銘柄A”が指定されているため、当該クライアント端末40は、当該出来データ11を出来バス10aから取得することになる。
For example, as shown in FIG. 3B, when the result data 11 (“brand code” is “brand A”) distributed to the
一方で、他のクライアント端末40については、当該出来データ11は取得の対象外であることが即座に判定され、以降の判定処理をスキップするとともに、当該出来データ11の取得も行わないことから、無用な処理を行わずに効率化することができる。
On the other hand, for the
このように、購読対象のサブトピック12を指定する際に、階層構造で指定できるようにし、その上位階層で、例えば、出来データにおける顧客名や、発注を行ったトレーダーのIDなど、対象データの特性との関連でより絞り込みの効果が高い属性、すなわち、対象データのうち該当する数がより少なくなる属性を指定するようにする。これにより、各利用者(サブスクライバー)が購読対象のデータを効率的かつ確実に識別・特定することが可能となり、不要なデータの読取りを抑止して、全体としてのトラフィックの増大防止と効率的なデータの配信が可能となる。 In this way, when specifying the subtopic 12 to be subscribed, it can be specified in a hierarchical structure, and in the upper hierarchy, for example, the customer name in the result data, the ID of the trader who made the order, etc. An attribute having a higher narrowing effect in relation to the characteristic, that is, an attribute having a smaller number of corresponding data among the target data is designated. This makes it possible for each user (subscriber) to efficiently and reliably identify and specify the data to be subscribed to, and prevent unnecessary data from being read, preventing the increase in traffic as a whole and efficiently. Data can be distributed.
なお、図3(b)の例では、サブトピック12の階層構造を「顧客名」と「銘柄コード」の2層としているが、3層以上の構造であってもよいことは当然である。また、効率化が十分に図られている場合には、図3(a)に示すような1層の構造とすることも可能である。 In the example of FIG. 3B, the hierarchical structure of the subtopic 12 has two layers of “customer name” and “brand code”, but it is natural that the structure of three or more layers may be used. Further, in the case where the efficiency is sufficiently improved, a single-layer structure as shown in FIG.
以上に説明したように、本発明の一実施の形態であるデータ配信システム1によれば、パブサブ型の通信によりデータを複数の利用者に対して配信する情報処理システムにおいて、配信を受けたデータに基づいて加工等により得られた二次データを、データの種類(トピック)に応じて論理的に構成された複数のメッセージングバス10を用いてパブサブ型の通信により再配信することが可能である。 As described above, according to the data distribution system 1 which is an embodiment of the present invention, in the information processing system that distributes data to a plurality of users by pub-sub type communication, the received data Secondary data obtained by processing or the like based on the data can be redistributed by pub-sub type communication using a plurality of messaging buses 10 logically configured according to the type (topic) of the data. .
また、各利用者が購読対象のサブトピックを指定する際に、階層構造で指定できるようにし、さらに、対象データの特性との関連でより絞り込みの効果が高い属性を上位階層に指定することで、各利用者が購読対象のデータを効率的かつ確実に識別・特定することが可能である。これらの構成により、不要なデータの読取りを抑止し、全体としてのトラフィックの増大防止と効率的なデータの配信が可能である。 In addition, when each user specifies a subtopic to be subscribed to, it can be specified in a hierarchical structure, and moreover, by specifying an attribute that is more effective in narrowing down in relation to the characteristics of the target data, It is possible for each user to identify and specify data to be subscribed efficiently and reliably. With these configurations, it is possible to suppress reading unnecessary data, prevent an increase in traffic as a whole, and efficiently distribute data.
また、情報処理システムにおいて加工等により得られた二次データについても、相手方を特定しないパブサブ型の通信により再配信する構成とすることで、配信するデータのインタフェースの標準化が図られ、利用者の追加などの拡張性を大きく向上させることが可能である。 Also, the secondary data obtained by processing in the information processing system can be re-distributed by pub-sub type communication that does not specify the other party, so that the interface of the data to be distributed can be standardized and the user's Extensibility such as addition can be greatly improved.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention. Needless to say. For example, the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to the one having all the configurations described. In addition, it is possible to add, delete, and replace other configurations for a part of the configuration of the above-described embodiment.
本発明は、複数の情報処理装置に対してパブリッシュ/サブスクライブ型の通信により各種情報を配信するデータ配信システムに利用可能である。 The present invention is applicable to a data distribution system that distributes various types of information to a plurality of information processing apparatuses through publish / subscribe communication.
1…データ配信システム、
10…メッセージングバス、11…出来データ、12…サブトピック、
20…データ配信元、
30a〜c…業務サーバ、30d…取引所ゲートウェイ(GW)、30e…OMSサーバ、30f…アンワインドサーバ、30g…ポジションサーバ、30h…プライシングサーバ、30i…理論値サーバ、30j…損益サーバ、31…パブサブ部、32…業務アプリケーション(Apl)、
40、41c、41e〜h…クライアント端末、
51…取引所システム、52…レンディングシステム。
1 ... Data distribution system,
10 ... Messaging bus, 11 ... Result data, 12 ... Subtopic,
20 ... data distribution source,
30a-c ... business server, 30d ... exchange gateway (GW), 30e ... OMS server, 30f ... unwind server, 30g ... position server, 30h ... pricing server, 30i ... theoretical value server, 30j ... profit / loss server, 31 ... Pub sub part, 32 ... Business application (Apl),
40, 41c, 41e-h ... client terminal,
51 ... Exchange system, 52 ... Lending system.
Claims (3)
それぞれ異なる種類のデータをパブリッシュすることにより配信する1つ以上の第1の情報処理装置と、
配信された1つ以上の種類のデータのうち、サブスクライブの対象として予め指定されたトピックに該当する種類のデータを取得する1つ以上の第2の情報処理装置と、
を有し、
前記第1の情報処理装置は、他の前記第1の情報処理装置により配信された1つ以上の種類のデータのうち、サブスクライブの対象として予め指定されたトピックに該当する種類のデータを取得して、当該データを利用して得られた、当該データと同一もしくは異なる種類の二次データをパブリッシュすることにより配信することが可能である、データ配信システム。 A data distribution system for distributing data by publish / subscribe communication via a network,
One or more first information processing devices that distribute by publishing different types of data,
One or more second information processing apparatuses that acquire data of a type corresponding to a topic designated in advance as a target of subscription among one or more types of distributed data;
Have
The first information processing apparatus acquires data of a type corresponding to a topic designated in advance as a subscription target from one or more types of data distributed by the other first information processing apparatus. A data distribution system capable of distributing by publishing secondary data of the same type or different from the data obtained by using the data.
前記トピックは、さらに、サブスクライブの対象の種類のデータのうち、サブスクライブの対象とする属性を有するデータを特定するための1つ以上のサブトピックを有し、
前記サブトピックは、該当するデータの数がより少なくなるものを上位とした階層構造を有する、データ配信システム。 The data distribution system according to claim 1,
The topic further includes one or more subtopics for identifying data having an attribute to be subscribed among types of data to be subscribed.
The data distribution system according to claim 1, wherein the subtopic has a hierarchical structure in which the number of corresponding data is lower.
配信されるデータの種類は、株式の各銘柄の時価データ、証券会社における株式の発注に対する出来データ、証券会社における株式の売買に関する損益データ、および証券会社における株式の各銘柄のポジションデータのうち、いずれか1つ以上を含む、データ配信システム。 In the data distribution system according to claim 1 or 2,
The types of data to be distributed are: market value data for each stock issue, performance data for stock orders at a securities company, profit / loss data on trading of stocks at a securities company, and position data for each stock issue at a securities company. A data distribution system including any one or more.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013270297A JP2015125639A (en) | 2013-12-26 | 2013-12-26 | Data distribution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013270297A JP2015125639A (en) | 2013-12-26 | 2013-12-26 | Data distribution system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015125639A true JP2015125639A (en) | 2015-07-06 |
Family
ID=53536293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013270297A Pending JP2015125639A (en) | 2013-12-26 | 2013-12-26 | Data distribution system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015125639A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083536A1 (en) * | 2005-10-07 | 2007-04-12 | Darnell Benjamin G | Indirect subscriptions to a user's selected content feed items |
WO2007044590A2 (en) * | 2005-10-07 | 2007-04-19 | Google Inc. | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
CN101351796A (en) * | 2005-10-07 | 2009-01-21 | 谷歌公司 | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
US20110179020A1 (en) * | 2010-01-21 | 2011-07-21 | Microsoft Corporation | Scalable topical aggregation of data feeds |
-
2013
- 2013-12-26 JP JP2013270297A patent/JP2015125639A/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083536A1 (en) * | 2005-10-07 | 2007-04-12 | Darnell Benjamin G | Indirect subscriptions to a user's selected content feed items |
WO2007044590A2 (en) * | 2005-10-07 | 2007-04-19 | Google Inc. | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
KR20080071558A (en) * | 2005-10-07 | 2008-08-04 | 구글 인코포레이티드 | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
CN101351796A (en) * | 2005-10-07 | 2009-01-21 | 谷歌公司 | Indirect subscriptions to user-selected content feeds and top n lists of content feeds |
JP2009512023A (en) * | 2005-10-07 | 2009-03-19 | グーグル インコーポレイテッド | Indirect subscription of user selected content feed and top N list of content feeds |
US20110179020A1 (en) * | 2010-01-21 | 2011-07-21 | Microsoft Corporation | Scalable topical aggregation of data feeds |
WO2011090817A2 (en) * | 2010-01-21 | 2011-07-28 | Microsoft Corporation | Scalable topical aggregation of data feeds |
CN102713965A (en) * | 2010-01-21 | 2012-10-03 | 微软公司 | Scalable topical aggregation of data feeds |
JP2013518322A (en) * | 2010-01-21 | 2013-05-20 | マイクロソフト コーポレーション | Data feed total that can be adjusted based on topic |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647958A (en) | A kind of digital asset method of commerce and system based on block chain | |
US20080262957A1 (en) | Systems and methods for facilitating electronic securities transactions | |
US20120158568A1 (en) | Systems and methods for facilitating electronic securities transactions | |
US11625778B2 (en) | Distributed trading network and interface | |
US20080168370A1 (en) | Method and System for Providing Alerts to Clients Engaging in Security or Commodity Trading | |
US20210192620A1 (en) | Machine learning-based digital exchange platform | |
US20100280889A1 (en) | Inventory aggregation on an electronic exchange | |
US20110238556A1 (en) | System for matching internal orders | |
US20140279353A1 (en) | C2EX Compute Commodities Exchange | |
US20230222554A1 (en) | Commission allocation based on electronic information consumption | |
US20160239913A1 (en) | Foreign exchange trading | |
US20210049620A1 (en) | Blockchain based mobile terminal e-commerce system and mobile terminal | |
JP2019036357A (en) | Order transaction method and system of the same | |
JP2004246520A (en) | Electronic market cooperation method and electronic market system | |
CN104956289A (en) | Systems and methods for a service based social network using tagging technology | |
CN111179081A (en) | Message processing method and processing device | |
US20080255978A1 (en) | Double-Blind Financial Services Information Marketplace | |
US10776870B2 (en) | Computer network systems for accurate market based benchmark estimates | |
US9633393B2 (en) | Extensible software architecture for processing level 2 financial data | |
JP6183942B1 (en) | Point management system and constraint judgment device | |
US10268991B1 (en) | Dynamic selection across cache | |
US20230162303A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US20180300812A1 (en) | Switching layer for trading on global markets | |
JP2015125639A (en) | Data distribution system | |
JP7345714B2 (en) | Advertisement output device, advertisement provision device, information processing method, and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171003 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180605 |