JP7464503B2 - Data request processing device, data request processing method and storage medium - Google Patents
Data request processing device, data request processing method and storage medium Download PDFInfo
- Publication number
- JP7464503B2 JP7464503B2 JP2020189329A JP2020189329A JP7464503B2 JP 7464503 B2 JP7464503 B2 JP 7464503B2 JP 2020189329 A JP2020189329 A JP 2020189329A JP 2020189329 A JP2020189329 A JP 2020189329A JP 7464503 B2 JP7464503 B2 JP 7464503B2
- Authority
- JP
- Japan
- Prior art keywords
- priority
- data
- request
- unit
- data request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ連携及び流通の優先度制御に関する技術に関する。 The present invention relates to technology related to priority control of data linkage and distribution.
近年、日本政府は、ネットワーク化やサイバー空間利用の飛躍的な発展により、新しいサービスが次々と創出され、社会の主体となる人々に豊かさをもたらす「超スマート社会」を未来社会の姿として定義し、その実現に向けた一連の取組を「Society 5.0」として推進している。 In recent years, the Japanese government has defined the future society as a "super smart society" in which new services are constantly being created through rapid developments in networking and the use of cyberspace, bringing prosperity to the people who are the main players in society, and is promoting a series of initiatives to realize this society, known as "Society 5.0."
Society 5.0では、IoT(Internet of Things)で人と物がつながり、様々なデータ(知識・情報)が流通・連携されることで新たな価値が生み出すことが期待されており、データ流通・連携の取組が活発に行われている。 In Society 5.0, it is expected that new value will be created by connecting people and things through the Internet of Things (IoT) and distributing and linking various types of data (knowledge and information), and active efforts are being made to distribute and link data.
一例として、スマートシティに関する取組(例えば、非特許文献1)では、行政が保有するデータや、建物や道路等のインフラのIoTデータなどを横断的に連携することができるデータ連携・流通のプラットフォーム(以下、都市OS)が提唱されている。以下、都市OSにおける、データ流通・連携の事例を説明する。 As an example, smart city initiatives (e.g., Non-Patent Document 1) propose a data linkage and distribution platform (hereafter, City OS) that can cross-link data held by the government and IoT data on infrastructure such as buildings and roads. Below, we explain examples of data linkage and distribution in City OS.
都市OSは、データを提供元から利用者(又は、アプリケーション・サービス)へ仲介するが、社会状況の変化に伴う変更に対して、ダイナミックでかつ柔軟に対応できるイベント処理機能(非特許文献1:7.2.4.2)が要求されている。 The City OS mediates data from data providers to users (or application services), but it is required to have an event processing function (Non-Patent Document 1: 7.2.4.2) that can dynamically and flexibly respond to changes that accompany changes in social conditions.
また、データ利用者が提供するサービス・アプリケーションは、データのリアルタイム性を要するもの(例えば、監視カメラによる犯罪の抑止やインフラの災害監視)、リアルタイム性が要求されないものまで様々であり、都市OSが仲介するデータにもリアルタイム性、即ち即座に利用者に仲介するものと、そうでないものが混在する。 In addition, the services and applications provided by data users vary from those that require real-time data (for example, crime prevention using surveillance cameras or disaster monitoring of infrastructure) to those that do not, and the data mediated by the City OS also includes a mixture of real-time data, meaning that data is mediated to users immediately, and data that is not.
リアルタイム性が要求されるデータ仲介においては、従来のデータ連携では、特許文献1、2のような優先制御の手法が用いられてきた。
In data intermediation, which requires real-time performance, conventional data linkage has used priority control methods such as those described in
特許文献1の技術は、予め提供させるデータに優先度を設定し、優先順位の高いデータを提供元から受信した場合に、仲介する処理をジョブとして優先度管理する。現在実行中のジョブによって仲介するジョブを実行するためのリソースを確保できない場合に、実行中のジョブの優先度情報に基づいて、実行中のジョブのうち、受信したジョブよりも優先度が低いジョブの少なくとも1つを停止する、ことが開示されている。
The technology in
これにより、仲介するデータ量が増加しても、リアルタイム性が必要なデータに優先度を予め設定することにより、優先順位の高いデータをリアルタイムに仲介することができる。 As a result, even if the amount of data being mediated increases, by presetting priorities for data that requires real-time performance, data with high priority can be mediated in real time.
特許文献2の技術は、アプリケーションからのデータ取得のリクエストの頻度を用いて、レスポンスの遅延を解消する技術である。特許文献2によれば、優先度ルール記憶部に、受け取られた各リクエストを、種別毎に、時刻と共に格納している優先度テーブル、及び各リクエストの時刻を時系列にそって格納している時刻記録テーブルを格納する。 The technology in Patent Document 2 uses the frequency of requests for data acquisition from an application to eliminate response delays. According to Patent Document 2, the priority rule storage unit stores a priority table that stores each received request by type along with the time, and a time record table that stores the time of each request in chronological order.
優先度設定部は、最新のリクエストを対象として、優先度テーブルから、最新のリクエストの種別と同一の種別のリクエストの数を特定し、さらに、特定したリクエストの数と時刻記録テーブルに格納されている時刻の数とに基づいて、最新リクエストの発生頻度を算出し、処理順序を決定する際の指標となる優先度を設定する、ことが開示されている。これにより、仲介するデータが増加した場合に、予めプログラムされた優先度ルールにより、頻度の高いデータをリアルタイムに仲介することができる。 The priority setting unit identifies the number of requests of the same type as the latest request from the priority table for the latest request, and further calculates the occurrence frequency of the latest request based on the number of identified requests and the number of times stored in the time recording table, and sets a priority that serves as an index for determining the processing order. In this way, when the amount of data to be mediated increases, it is possible to mediate frequent data in real time according to pre-programmed priority rules.
一方で、都市OSは、前述の通り、社会状況の変化に伴う変更に対して、ダイナミックでかつ柔軟に対応できる必要があり、予め設定されたリアルタイム性に関する優先度を変更する場合がある。 On the other hand, as mentioned above, the Urban OS needs to be able to dynamically and flexibly respond to changes that accompany changes in social conditions, and there may be cases where the pre-set priorities regarding real-time performance need to be changed.
例えば、道路等のインフラ保守に関するアプリケーションにおいて、通常時において都市OSではリアルタイム性を必要としない優先度で設定されているが、アクシデントが発生した緊急時には、アクシデント発生箇所に関して仲介するデータの優先度を一時的に高くするなどである。 For example, in an application related to infrastructure maintenance such as roads, the City OS normally sets priorities that do not require real-time performance, but in the event of an emergency such as an accident, the priority of the data mediated by the location of the accident can be temporarily increased.
また、事故や災害などが発生した場合でも、都市OSは、状況に応じてダイナミックでかつ柔軟に対応し、安定的にデータの利用者がデータを取得し続けられるようにすることが要求される。 In addition, even in the event of an accident or disaster, the City OS will be required to respond dynamically and flexibly to the situation, and ensure that data users can continue to obtain data stably.
ここで、特許文献1、2を適用した場合でも、上記のダイナミックでかつ柔軟なデータの仲介は実現できない。特許文献1では、予め提供元から送付されるデータに優先度を設定しておくことが必要であり、緊急時にダイナミックに優先度を変える方法については開示されていない。
Here, even if
特許文献2は、頻度を用いて優先度を設定する方法に関して開示しており、頻度の増加するケース以外のケースに関しては開示されていない。このように特許文献1、2のどちらを適用しても、状況が変わった場合に優先度の変更ができず、緊急時に必要なデータの仲介処理ができなくなる可能性があった。
Patent Document 2 discloses a method for setting priorities using frequency, but does not disclose cases other than those in which frequency increases. In this way, whether
そこで本発明は、上記問題点に鑑みてなされたもので、データの仲介を行う際に、状況に応じてダイナミックでかつ柔軟にデータを要求するリクエストの優先度を制御することを目的とする。 The present invention was made in consideration of the above problems, and aims to dynamically and flexibly control the priority of data requests depending on the situation when mediating data.
本発明は、プロセッサとメモリを有するデータ要求処理装置であって、データベースに格納されているデータをリクエストするメッセージを受信し、前記メッセージに含まれるデータ要求に優先度を設定して、前記優先度に応じて前記データ要求の処理順序を決定する優先度制御部を有し、前記優先度制御部は、前記メッセージを受信する受信部と、前記メッセージに含まれるデータ要求を取得し、前記データ要求を分析して前記優先度の設定に必要なパラメータを生成する分析部と、前記パラメータを用いて前記データ要求に優先度を設定する優先度設定部と、を有し、前記優先度設定部は、前記パラメータを受け付けて、所定のルールで前記パラメータを分類し、前記分類の結果に応じて前記データ要求の優先度を設定する。 The present invention is a data request processing device having a processor and memory, and includes a priority control unit that receives a message requesting data stored in a database, sets a priority for the data request included in the message, and determines the processing order of the data requests according to the priority. The priority control unit includes a receiving unit that receives the message, an analysis unit that obtains the data request included in the message, analyzes the data request, and generates parameters necessary for setting the priority, and a priority setting unit that sets a priority for the data request using the parameters. The priority setting unit accepts the parameters, classifies the parameters according to a predetermined rule, and sets the priority of the data request according to the result of the classification.
本発明によれば、状況に応じてダイナミックでかつ柔軟にリクエストの優先度を制御して、リアルタイム性が必要なアプリケーションは安定的にデータを取得することができる。 According to the present invention, the priority of requests can be dynamically and flexibly controlled according to the situation, allowing applications that require real-time performance to stably obtain data.
本明細書において開示される主題の、少なくとも1つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。 Details of at least one implementation of the subject matter disclosed herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the disclosed subject matter will become apparent from the following disclosure, drawings, and claims.
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、各図において共通する部分には、同一の符号が付与されている。 The following describes in detail an embodiment of the present invention with reference to the drawings. Note that the same reference numerals are used to designate common parts in each drawing.
実施例1で説明する都市OS(データ連携・流通のプラットフォーム)のデータ仲介では、都市OSの内部に仲介するデータを格納しておくためのデータベース(内部データベース)を用意し、データ提供者が都市OSの内部データベースにデータを格納しておく。 In the data brokerage of City OS (a platform for data linkage and distribution) described in Example 1, a database (internal database) is prepared inside City OS to store the data to be brokered, and data providers store their data in the internal database of City OS.
データ利用者は、都市OSの内部データベースに格納されたデータを都市OSに対してリクエストする方法と、データ利用者が提供元のデータベース(外部データベース)に格納されているデータについて都市OSを介してリクエストして取得する方法がある。 Data users can either request data stored in the City OS's internal database from the City OS, or request and obtain data stored in the provider's database (external database) via the City OS.
実施例1で説明する都市OSのデータ仲介において、リクエストからレスポンス(リクエストされたデータをアプリケーションに返すこと)までの時間を保証するために、プランを作成しておき、プランに加入したデータ利用者は、プランで決められた最低レスポンス時間内にデータを取得できるようにする仕組みを実装することができる。 In the data brokerage of City OS described in Example 1, in order to guarantee the time from request to response (returning the requested data to the application), a plan can be created and a mechanism can be implemented that allows data users who subscribe to the plan to obtain data within the minimum response time determined by the plan.
実施例1は、上記の外部データベースに都市OSがデータをリクエストする場合に、状況に応じてレスポンス時間テーブルを参照してリクエストからレスポンスまでかかった時間(以下、実測レスポンス時間)を用いて、リクエストの優先順位を変更し、処理遅延を解消するデータ要求処理システムに関して説明する。なお、上記状況は、例えば、レスポンスに時間がかかる状況や、上記の都市OSのプランで決められた最低限のレスポンス時間より遅れそうな状況、又は、カテゴリ(種類)や属性(自治体、民間、企業、等)別にデータの取得に時間がかかる状況である。 In the first embodiment, a data request processing system is described that, when the City OS requests data from the external database, refers to a response time table depending on the situation and uses the time taken from the request to the response (hereinafter, the actual response time) to change the priority of the request and eliminate processing delays. Note that the above situation is, for example, a situation where the response takes a long time, a situation where the response time is likely to be slower than the minimum response time determined in the plan of the City OS, or a situation where it takes a long time to obtain data by category (type) or attribute (municipal government, private sector, company, etc.).
図1は、実施例1によるデータ要求処理システムの構成の一例を示すブロック図である。 Figure 1 is a block diagram showing an example of the configuration of a data request processing system according to the first embodiment.
データ要求処理システムは、データ要求処理装置1と、アプリケーション2-1~2-3をそれぞれ実行する端末100-1~100-3と、ネットワーク3、ネットワーク4、データベース5、外部データベース6、データ送信部7から構成される。なお、データベース5と、データ送信部7はデータ要求処理装置1が提供する例を示すが、他の計算機が提供してもよい。また、端末を個々に特定しない場合には、「-」以降を省略した符号「100」を用いる。他の構成要素の符号についても同様である。
The data request processing system is composed of a data
データ要求処理装置1は、プロセッサ21と、メモリ22と、ストレージ装置23と、通信インターフェース24と、入出力装置25を含む計算機である。
The data
メモリ22には、都市OS30がロードされて、プロセッサ21によって実行される。都市OS30は、優先度制御部11と、スケジューリング部12と、データ送信部7の機能部を含む。優先度制御部11は、リクエスト受信部111と、リクエスト分析部112と、優先度設定部113の機能部を含む。
City OS 30 is loaded into
都市OS30の各機能を提供する優先度制御部11と、スケジューリング部12と、データ送信部7は、プログラムとしてメモリ22にロードされる。
The
プロセッサ21は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ21は、優先度制御プログラムに従って処理を実行することで優先度制御部11として機能する。他のプログラムについても同様である。さらに、プロセッサ21は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
The
ストレージ装置23は、データベース5を格納する。データベース5は都市OS30の内部のデータベースとして管理される。通信インターフェース24は、ネットワーク3、4に接続されて、端末100や外部データベース6と通信を行う。入出力装置25は、キーボードやマウス或いはタッチパネル等の入力装置と、ディスプレイ等の出力装置を含む。
The
優先度制御部11は、後述するように、アプリケーション2から受け付けたデータのリクエストメッセージに優先度を設定して、スケジューリング部12に出力する。スケジューリング部12は優先度(優先順位)の高い順にリクエストメッセージを処理してデータベース5又は外部データベース6にアクセスする。なお、外部データベース6は、外部の都市OS(図示省略)によって管理される。
As described below, the
なお、スケジューリング部12は、リクエストメッセージから抽出したクエリ(データ要求)をデータベース5又は外部データベース6に出力してもよいし、データベース5又は外部データベース6がリクエストメッセージを受け付け可能な場合には、リクエストメッセージを送信すればよい。
The
データ送信部7は、データベース5又は外部データベース6の応答を受け付けると、レスポンスメッセージを生成して、アプリケーション2に送信する。
When the
図2は、データ要求処理システムのシーケンスを示す。なお、以下の説明では、端末100-1~100-3のアプリケーション2-1~2-3の構成は同様であるので、アプリケーション2-1について説明する。 Figure 2 shows the sequence of the data request processing system. In the following explanation, the configurations of applications 2-1 to 2-3 of terminals 100-1 to 100-3 are the same, so application 2-1 will be explained.
端末100が実行するアプリケーション2は、ネットワーク3を介して、データ要求処理装置1に接続し、データ取得のためのリクエストメッセージを送信する(S1)。
The application 2 executed by the terminal 100 connects to the data
データ要求処理装置1は、優先度制御部11で設定された優先度(可変優先度)に従って、リクエストメッセージの処理順位を決定し、スケジューリング部12で処理順位の高いリクエストメッセージのクエリを送信してデータベース5にアクセスする。
The data
スケジューリング部12は、データの所在によっては、データベース5かネットワーク4を介して接続された外部データベース6にアクセスする。データベース5又は外部データベース6から取得したデータはデータ送信部7に出力され、データ送信部7はレスポンスメッセージを生成して、アプリケーション2にデータを送信する。
Depending on the location of the data, the
優先度制御部11のリクエスト受信部111は、アプリケーション2から送信されたリクエストメッセージを記録する。リクエスト分析部112は、リクエスト受信部111に記録されているリクエストメッセージを取得し(S2、S3)、リクエストメッセージを分析し(S4)、分析結果のパラメータ(リアルタイム性)を生成し(S5)、優先度設定部113に出力する(S6、S7)。
The
優先度設定部113は、リクエスト分析部112からの全パラメータが入力されると、パラメータからリクエストメッセージ毎に優先度の変更を判断し、判断に応じて可変優先度を算出する(S8)。優先度設定部113は、リクエストメッセージと可変優先度をスケジューリング部12へ送信する(S9)。
When all parameters are input from the
スケジューリング部12は、受信したリクエストメッセージの可変優先度に従って、リクエストメッセージに含まれるクエリを送信して、データベース5にデータを要求する(S10)。データベース5はリクエストメッセージのクエリで要求されたデータを検索した結果をデータ送信部7に送信する(S11)。
The
スケジューリング部12は、リクエストメッセージで要求されたデータが外部データベース6の場合には、外部データベース6にデータを要求する(S12)し、外部データベース6はリクエストメッセージで要求されたデータを検索した結果(データ)をデータ送信部7に送信する(S13)。
When the data requested in the request message is an
データ送信部7は、データベース5又は外部データベース6から受信したデータからレスポンスメッセージを生成して(S14)アプリケーション2へ送信する(S15)。
The
図3は、実施例1によるリクエストメッセージ300の構造の一例を示す図である。requestID301は、アプリケーション2から送信されたリクエストメッセージを識別するための項目で、リクエスト受信部111で付与される。
Figure 3 is a diagram showing an example of the structure of a request message 300 according to the first embodiment. The
requestTime302は、リクエストメッセージ300がリクエスト受信部111に記録(又は受信)された時刻であり、リクエスト受信部111で付与される。appricationID303は、アプリケーション2を識別するための項目であり、アプリケーション2から送信されるリクエストメッセージ300に含まれる。
The
priorty304は、予め決められたアプリケーション2毎の優先度(アプリ優先度)であり、アプリケーション2から送信されるリクエストメッセージ300に含まれる。アプリ優先度(304)は、例えば、自然数を用いて優先順位の値を設定する(例えば、1~7)。なお、優先度設定部113で設定される可変優先度の値の範囲も前記のアプリ優先度(304)と同じレンジとする。なお、優先順位は値が小さいほど優先度が高いものとする。
query305は、リクエストメッセージ300に含まれるデータ要求であり、要求されるデータ名3051や、データのカテゴリ(種別・図中dataCatalog)3052や、サイズ3053、属性(図中property)3054など、データを取得するために必要な情報の全てが含まれる。query305は、アプリケーション2から送信されるリクエストメッセージ300に含まれている。
図4は、実施例1によるリクエスト分析部112の構成の一例を示すブロック図である。リクエスト分析部112は、リクエストメッセージ300を取得するリクエスト取得部1121と、リクエストメッセージ300に含まれるアプリ優先度(304)を取得するアプリ優先度読み取り部1122と、リクエストメッセージ300からquery305を取得するクエリ読み取り部1123と、データ送信部7からレスポンスに関する情報を受け付けて実測レスポンス時間を算出してレスポンス時間テーブル1125に格納するレスポンス時間計算部1126と、query305とレスポンス時間テーブル1125の情報からパラメータを生成するパラメータ検出部1124を含む。
Fig. 4 is a block diagram showing an example of the configuration of the
図5は、リクエスト分析部112の処理を示すフローチャートである。この処理は、リクエスト受信部111からリクエストメッセージ300を受診した場合に実行される。
Figure 5 is a flowchart showing the processing of the
リクエスト取得部1121は、リクエスト受信部111に記録されているリクエストメッセージ300を要求し、レスポンスとしてリクエストメッセージを取得する(S51)。
The
リクエスト取得部1121は、取得したリクエストメッセージ300をアプリ優先度読み取り部1122と、クエリ読み取り部に送る(S52)。アプリ優先度読み取り部1122は、リクエストメッセージ300からrequestID301と、priority304を取得(S53)し、優先度設定部113に出力する(S57)。
The
クエリ読み取り部1123は、requestID301と、requestTime302と、appricationID303と、クエリ305をリクエストメッセージ300から取得し(S54)、パラメータ検出部1124に出力する。
The
パラメータ検出部1124は、クエリ読み取り部1123で取得した項目を用いて、可変優先度を設定するのに必要なパラメータを生成する。実施例1では、パラメータ検出部1124は、レスポンス時間テーブル1125にアクセスし、query305を用いてリクエストメッセージ300に該当する過去の実測レスポンス時間を参照する(S55)。
The
パラメータ検出部1124は、例えば、query305のデータ名3051を取得し、データ名3051でレスポンス時間テーブル1125を検索し、データ名1202が一致するレコードの実測レスポンス時間1204を取得し、リクエストメッセージ300でアクセスする際の推定レスポンス時間として設定する。
The
図8は、レスポンス時間テーブル1125の一例を示す図である。レスポンス時間テーブル1125は、アプリID1201と、データ名1202と、種類1203と、実測レスポンス時間1204と、所在1205と、タイムスタンプ1206を1つのレコードに含む。
Figure 8 is a diagram showing an example of a response time table 1125. The response time table 1125 includes an
アプリID1201は、アプリケーション2の識別子を格納する。データ名1202は、リクエストメッセージ300で要求されたデータの名称が格納される。種類1203にはデータの種類が格納される。所在1205には、データが格納されている位置(又はパス)が格納される。タイムスタンプ1206には、データが登録された日時が格納される。
The
実測レスポンス時間1204は、データ送信部7から送信されたデータ要求に対してデータベース5からの応答がデータ送信部7に到着した時刻と、リクエストメッセージ300のrequestTime302の差分からレスポンス時間計算部1126が計算した時間である。
The
なお、実測レスポンス時間1204は、上記に限定されるものではなく、スケジューリング部12がリクエストメッセージ300又はクエリを送信してから、データベース5(又は外部データベース6)の応答をデータ送信部7で受け付けるまでの時間をレスポンス時間計算部1126が測定して、レスポンス時間テーブル1125へ蓄積してもよい。
The
なお、レスポンス時間テーブル1125は、図示はしないが、少なくともデータ名(3051)と、データのカテゴリ(3052)と、実測レスポンス時間を1つのレコードに含めばよい。 Although not shown in the figure, the response time table 1125 only needs to include at least the data name (3051), the data category (3052), and the actual response time in one record.
また、レスポンス時間計算部1126は、計算した実測レスポンス時間1204と、データ名1201やデータの所在などの情報を登録し、登録した時刻をタイムスタンプ1206に設定する。レスポンス時間計算部1126は、毎回のレスポンス毎に計算するか、一定時間内に発生したレスポンスの平均値を計算することも可能である。
The response
次に、パラメータ検出部1124は、取得した実測レスポンス時間1204を用いて、パラメータを生成する(S56)。なお、パラメータ検出部1124は、レスポンス時間テーブル1125から複数の実測レスポンス時間1204を検索した場合には、タイムスタンプ1206が最新のレコードの値を選択して推定レスポンス時間とする。
Next, the
例えば、外部データベース6にデータを要求する状況においては、パラメータ検出部1124は、query305のデータ名を用いてレスポンス時間テーブル1125を検索し、パラメータとして実測レスポンス時間1204と、外部アクセス判定結果が「True」の値と、データの所在1205を生成する。なお、外部アクセス判定結果は、「True」又は「False」が設定される。
For example, in a situation where data is requested from the
また、パラメータ検出部1124は、要求されているデータの所在1205が、外部データベース6ではない場合にはパラメータとして外部アクセス判定結果が「False」の値を生成する。パラメータ検出部1124が生成したパラメータは優先度設定部113に出力される(S57)。
If the
リクエストメッセージ300の到着からデータ送信部7が検索結果を取得するまでにレスポンスに時間を要するカテゴリ3052(種類1203)のデータの処理速度を上げるために、パラメータ検出部1124が、リクエストメッセージ300のカテゴリ3052でレスポンス時間テーブル1125を検索し、データの種類1203に一致する実測レスポンス時間1204をパラメータとして使用することも可能である。
In order to increase the processing speed of data of category 3052 (type 1203) that requires time for response from the arrival of the request message 300 until the
又は、レスポンスに時間を要する属性(自治体、民間、企業、等)のデータの処理速度を上げるために、レスポンス時間テーブル1125にデータの属性情報と実測レスポンス時間1204を登録し、パラメータとして生成することも可能である。
Alternatively, to increase the processing speed of data for attributes that require a long response time (such as local government, private sector, or business), it is possible to register data attribute information and
又は、都市OS30のプランで決められた最低限のレスポンス時間より遅れそうな場合に、遅延を回避するため、レスポンス時間テーブル1125にプラン情報(最低限レスポンス時間)を加えておくことができる。
Alternatively, if the response time is likely to be slower than the minimum response time determined in the
パラメータ検出部1124は、リクエストメッセージ300のappricationID303に一致するアプリID1201のレコードを検索し、レスポンス時間テーブル1125からプラン情報(最低限レスポンス時間)、実測レスポンス時間1204を取得する。そして、パラメータ検出部1124は、アプリケーション2が加入しているプランの最低限レスポンス時間と、実測レスポンス時間1204の差を計算し、パラメータを生成することも可能である。
The
パラメータ検出部1124は、実測レスポンス時間1204と外部アクセス判定結果(「True」又は「False」)と、上記ステップS53で取得したアプリ優先度(304)を含むパラメータを優先度設定部113に出力する(S57)。
The
次に、リクエスト分析部112のリクエスト取得部1121は、優先度設定部113からパラメータの受信完了の通知(レスポンス)を待って処理を終了する(S58)。
Next, the
図6は、優先度設定部113の構成の一例を示すブロック図である。優先度設定部113は、リクエスト分析部112からパラメータを受け付けて、可変優先度を算出してスケジューリング部12へ出力する。優先度設定部113は、パラメータ受信部1131と、優先度計算部1132と、処理順序制御部1133から構成される。
Figure 6 is a block diagram showing an example of the configuration of the
図7は、優先度設定部113で行われる処理の一例を示すフローチャートである。
Figure 7 is a flowchart showing an example of the processing performed by the
パラメータ受信部1131は、リクエスト分析部112から出力されたパラメータを受信し、requestID301で、リクエストメッセージ毎のパラメータを識別する(S71)。
The
パラメータ受信部1131は、リクエストメッセージのパラメータの受信が完了すると、リクエスト分析部112のリクエスト取得部1121にパラメータの受信終了のレスポンスを返し、リクエスト取得部1121に新しいリクエストメッセージを取得するよう通知する(S72、S73)。
When the
パラメータ受信部1131は、パラメータが複数の場合は、全てのパラメータの受信が完了してからリクエスト取得部1121にレスポンスを返す。パラメータ受信部1131が受け取ったパラメータは優先度計算部1132に出力され、優先度計算部1132はパラメータを用いて可変優先度を計算する(S74)。
When there are multiple parameters, the
実施例1の優先度計算部1132は、パラメータ内の実測レスポンス時間を、リクエストメッセージ300で要求されたデータを取得する際の推定レスポンス時間として扱う。優先度計算部1132は、推定レスポンス時間が予め設定した閾値を超えているかを判断し、閾値を超える場合は、アプリ優先度(priority304)よりも優先順位を上げて、可変優先度(値は減少)を設定する。
The
優先順位を上げる程度は、アプリ優先度(304)の設定レンジ内(例えば、自然数で1~7)で、アプリ優先度(304)を1段階又は2段階だけ上げた可変優先度を設定することができる。そして、推定レスポンス時間が、閾値を超えると、優先度計算部1132が可変優先度を最優先(可変優先度=1)に設定することができる。
The degree to which the priority is increased can be set to a variable priority that increases the application priority (304) by one or two steps within the setting range of the application priority (304) (for example,
すでに、アプリ優先度(304)が最優先順位(=1)に相当する値であれば、優先度計算部1132は優先順位の変更はしない。優先度計算部1132は、推定レスポンス時間が閾値を超えない場合は、優先順位を変えずに、優先度計算部1132はアプリ優先度(304)で処理する。
If the application priority (304) is already a value corresponding to the highest priority (=1), the
又は、優先度計算部1132は、予め閾値を複数設定し、推定レスポンス時間が低い閾値(第1の閾値)を超えない場合は、優先度計算部1132が優先順位(可変優先度)を下げ、推定レスポンス時間が高い閾値(第2の閾値)を超える場合は、優先順位(可変優先度)を上げ、その間の場合は、優先順位を変えない方法もある。
Alternatively, the
又は、優先度計算部1132は、予め複数の閾値を設定し、推定レスポンス時間が低い閾値(第1の閾値)を超える場合は、優先順位を1段階上げた可変優先度を算出し、推定レスポンス時間が高い閾値(第2の閾値)を超える場合は、優先順位を2段階だけ上げた可変優先度を算出する方法もある。
Alternatively, the
優先度計算部1132は、外部データベース6からデータを取得する場合、受け取ったパラメータの外部アクセス判定結果が「True」である場合、推定レスポンス時間と閾値を比較し、可変優先度を設定するようにしてもよい。
When retrieving data from the
また、優先度計算部1132は、受け取ったパラメータの外部アクセス判定結果が「False」の場合は、アプリ優先度(304)のまま処理する。或いは、優先度計算部1132は、パラメータのうち外部アクセス判定結果の「True」又は「False」のみ用いて、「True」の場合に優先順位を上げ、「False」場合にはアプリ優先度(304)で処理することも可能である。
If the external access judgment result of the received parameter is "False", the
また、優先度計算部1132は、パラメータのうち外部アクセス判定結果の「True」又は「False」のみ用いて、「True」の場合に優先順位を上げ、「False」場合にはアプリ優先度(304)で処理することも可能である。
In addition, the
また、優先度計算部1132は、パラメータに外部アクセス判定結果の「True」が含まれる場合には、推定レスポンス時間と閾値に応じて可変優先度を算出し、パラメータが「False」の場合にはアプリ優先度(304)の値を可変優先度に設定してもよい。
In addition, if the parameter includes the external access judgment result of "True", the
また、優先度設定部113は、リクエスト分析部112から受け付けたパラメータが、カテゴリ3052や属性(property3054)の場合、推定レスポンス時間と閾値を用いて、優先度計算部1132で可変優先度を設定してもよい。
In addition, when the parameters received from the
また、パラメータ検出部1124が、複数のリクエストメッセージ300について推定レスポンス時間を取得して、複数のリクエストメッセージ300と複数の推定レスポンス時間を優先度設定部113に出力することができる。この場合、パラメータ受信部1131で、複数のリクエストメッセージと複数の推定レスポンス時間を優先度計算部1132に出力し、優先度計算部1132は、複数のリクエストメッセージの推定レスポンス時間を比較して、推定レスポンス時間が最長時間か、推定レスポンス時間が長い上位いくつかの優先順位を上げて、可変優先度を設定する方法もある。
Also, the
パラメータ受信部1131から、一定期間の間に貯められたリクエストメッセージのパラメータを優先度計算部1132に出力する場合、優先度計算部1132は、推定レスポンス時間が最長時間か、推定レスポンス時間が上位いくつかのリクエストメッセージか、推定レスポンス時間が上位何割かのリクエストメッセージの優先順位を上げることも可能である。
When the
処理順序制御部1133は、算出された可変優先度(又はアプリ優先度(304))を含めて、スケジューリング部12にリクエストメッセージ300を送信する(S75)。なお、処理順序制御部1133は、リクエストメッセージ300のクエリ(query305)と可変優先度(アプリ優先度)を送信すればよい。
The processing
スケジューリング部12は、優先順位の異なる複数のキューで構成され、優先順位(可変優先度)の高いキューから優先的にデキューされるアルゴリズムでスケジューリングを実施する。
The
スケジューリング部12からアクセス先のデータベース5又は外部データベース6にリクエストメッセージのクエリ(query305)が送信されて、リクエストメッセージ300で要求されたデータの取得が実施される。
The
以上のように実施例1のデータ要求処理装置1は、リクエストメッセージ300の受信からレスポンスまでにかかった時間情報(推定レスポンス時間)と所定の閾値に基づいて、優先順位(可変優先度)を変更し、リクエストメッセージの処理を迅速化することで、端末100から要求されたデータの取得までの時間を短縮することができる。
As described above, the data
また、データ要求処理装置1は、外部データベース6へアクセスする場合(パラメータの外部アクセス判定結果が「True」)に、推定レスポンス時間と閾値を用いて可変優先度を算出し、推定レスポンス時間の長さに応じた優先順位を設定することで、データの仲介を行う際にネットワーク4やアクセスの状況に応じてダイナミックでかつ柔軟にデータを要求するリクエストの優先度を制御することが可能となる。
In addition, when the data
実施例2では、端末100のアプリケーション2が、事故や災害のように発生時期が予想できない状況で優先度の変更を要求し、データ要求処理装置1が優先度の変更要求に応じて、優先順位を上げるための制御をリクエスト分析部112と、優先度設定部113で実施する例を説明する。
In the second embodiment, an example is described in which an application 2 of a terminal 100 requests a change in priority in a situation where the occurrence time is unpredictable, such as an accident or disaster, and the data
図9は、実施例2によるリクエスト分析部の構成を示す。 Figure 9 shows the configuration of the request analysis unit according to the second embodiment.
実施例2において、リクエスト分析部112は、リクエスト取得部1121と、アプリ優先度読み取り部1122と、クエリ読み取り部1123と、パラメータ検出部1124及び優先度変更要求取得部1127から構成される。パラメータ検出部1124は、優先度変更を管理するために入出力装置25からの指令を受け付ける。
In the second embodiment, the
リクエスト取得部1121、アプリ優先度読み取り部1122、クエリ読み取り部1123は実施例1と同様である。実施例2のリクエスト分析部112は、前記実施例1のレスポンス時間計算部1126とレスポンス時間テーブル1125を削除し、優先度変更要求取得部1127を加えた点が実施例1と相違する。
The
図10は、本発明の実施例2によるリクエスト分析部112の処理の一例を示すフローチャートである。この処理は、リクエスト受信部111から優先度変更要求を含むリクエストメッセージ300を受け付けた場合に開始される。なお、優先度変更要求は、リクエストメッセージ300と異なるメッセージであってもよい。
Figure 10 is a flowchart showing an example of the processing of the
優先度変更要求取得部1127は、リクエスト受信部111から優先度変更を含むリクエストメッセージ300を取得する(S91)。優先度変更のリクエストメッセージ300は、appricationID303と、アプリ優先度(priority304)と同様の形式(レンジなど)を含む要求優先度で構成される。優先度変更要求取得部1127は、リクエストメッセージ300内の優先度変更要求を抽出してパラメータ検出部1124へ送信する。
The priority change
パラメータ検出部1124は、優先度変更のリクエストを受け付ける(S92)と、入出力装置25へ優先度変更要求の可否を問い合せる(S93)。入出力装置25を利用する管理者は、通知を受けた入出力装置25で、要求優先度への変更を許可(True)又は不可(False)を決定し(S94)、決定内容を応答に含めてパラメータ検出部1124に送信する(S95)。
When the
図11は、本発明の実施例2によるリクエスト分析部112の処理の一例を示すフローチャートである。この処理は、入出力装置25から優先度の変更の可否を受け付けた場合に開始される。
Figure 11 is a flowchart showing an example of the processing of the
ステップS101~S104は前記実施例1の図5に示したステップS51~S54と同様の処理である。 Steps S101 to S104 are the same as steps S51 to S54 shown in Figure 5 of the first embodiment.
入出力装置25から許可又は拒否の応答を受け付けたパラメータ検出部1124は、優先度変更の可否が設定されたappricationID303と同一のIDを含むアプリケーション2のリクエストメッセージ300を取得し、優先度変更の可否が「True」(許可)であるかを判定し(S105)、「True」であればステップS106へ進み、「False」(拒否)であればステップS107へ進む。
The
ステップS106では、パラメータ検出部1124が、優先度変更要求に含まれる要求優先度をパラメータとして生成し、優先度設定部113に出力する(S108)。一方、優先度変更が不可であれば、パラメータ検出部1124は0の値をパラメータとし(S107)、優先度設定部113に出力する(S108)。
In step S106, the
優先度設定部113の優先度計算部1132は、受け付けたパラメータが0値であれば、アプリ優先度(304)をそのまま可変優先度に設定し、0でなければ、要求優先度を可変優先度に設定して出力する。
If the received parameter is 0, the
次に、リクエスト分析部112のリクエスト取得部1121は、優先度設定部113からパラメータの受信完了の通知(レスポンス)を待って処理を終了する(S109)。
Next, the
なお、上記の他に、要求優先度は、通常時は「0」に設定され、予め設定された緊急時は「1」に設定しておき、緊急時には、可変優先度を最優先順位に設定することも可能である。 In addition to the above, the request priority can be set to "0" under normal circumstances and to "1" in a pre-defined emergency, and in an emergency the variable priority can be set as the highest priority.
実施例2より、停電が起きた場合の電力インフラの保守アプリケーションや、洪水が起きた場合の下水道インフラの保守アプリケーションなど、平常より、優先されるべき事故や災害が発生した場合、それらのアプリケーション2が優先度変更を要求する場合に、データ要求処理装置1は当該アプリケーション2の優先順位を上げることが可能となる。なお、混雑度を計算するアプリケーション2が、都市内のイベントにより人の混雑発生した場合に、データ要求処理装置1が当該アプリケーション2の優先順位を上げるようにしてもよい。
According to the second embodiment, when an accident or disaster occurs that should be prioritized over normal times, such as an application for maintaining power infrastructure in the event of a power outage or an application for maintaining sewerage infrastructure in the event of a flood, and when such an application 2 requests a change in priority, the data
実施例3は、アプリケーション2が様々なアプリケーションで利用された汎用性が高いデータにアクセスする場合に、過去のリクエストメッセージを用いて、優先順位を変更するためのパラメータを生成するリクエスト分析部112の例に関して説明する。
Example 3 describes an example of a
図12は、実施例3によるリクエスト分析部112の構成の一例を示す。実施例3のリクエスト分析部112は、リクエスト取得部1121と、アプリ優先度読み取り部1122と、クエリ読み取り部1123と、パラメータ検出部1124及びリクエスト記録部1128から構成される。
FIG. 12 shows an example of the configuration of the
リクエスト取得部1121、アプリ優先度読み取り部1122、クエリ読み取り部1123は実施例1と同様である。実施例3のリクエスト分析部112は、前記実施例1のレスポンス時間計算部1126とレスポンス時間テーブル1125を削除し、リクエスト記録部1128を加えた点が実施例1と相違する。
The
図13は、実施例3によるリクエスト分析部の処理を示すフローチャートである。この処理は、リクエスト受信部111からリクエストメッセージ300を受診した場合に実行される。
Figure 13 is a flowchart showing the processing of the request analysis unit according to the third embodiment. This processing is executed when a request message 300 is received from the
リクエスト取得部1121は、リクエスト受信部111に記録されているリクエストメッセージ300を要求し、リクエストメッセージ300を取得する(S121)。
The
リクエスト取得部1121は、取得したリクエストメッセージ300をアプリ優先度読み取り部1122と、クエリ読み取り部に送信する(S122)。アプリ優先度読み取り部1122は、リクエストメッセージ300からrequestID301と、priority304を取得(S123)し、優先度設定部113に出力する(S127)。
The
クエリ読み取り部1123は、requestID301と、requestTime302と、appricationID303と、クエリ305をリクエストメッセージ300から取得優先度変更要求(S124)し、取得した情報をリクエスト記録部1128に記録を行う。また、クエリ読み取り部1123は、取得した情報をパラメータ検出部1124に出力する。
The
リクエスト記録部1128は過去のリクエストメッセージ300のrequestTime302と、appricationID303と、query305を記録する。リクエスト記録部1128は、SSDのような記憶装置か、DRAMのように揮発性の記憶装置で構成することも可能である。
The
パラメータ検出部1124は、リクエスト記録部1128にアクセスして、ステップS124で取得したrequestTime302よりも過去のリクエストメッセージ300を検索する(S125)。パラメータ検出部1124は、検索結果を用いてパラメータを生成する(S126)。パラメータ検出部1124は、生成されたパラメータを優先度設定部113に出力する(S127)。
The
例えば、汎用性の高いデータを要求する場合、パラメータ検出部1124は、requestTime302より一定期間の過去で、appricationID303が異なり、かつquery305の同じデータを要求したリクエストメッセージ300を検索しする。
For example, when requesting highly versatile data, the
パラメータ検出部1124は、同じデータを利用しているアプリケーションの数を特定し、アプリケーションの数が多い(又は最大)リクエストメッセージ300のquery305からパラメータを生成し(S126)、優先度設定部113に送信する(S127)。
The
次に、リクエスト分析部112のリクエスト取得部1121は、優先度設定部113からパラメータの受信完了の通知(レスポンス)を待って処理を終了する(S128)。
Next, the
なお、特定したアプリケーション数は毎回のリクエストメッセージ300に対して算出するか、算出したアプリケーション数をリクエスト記録部1128に一定時間記録しておいて、以降のリクエストメッセージ300はその値をパラメータとして設定する方法もある。優先度設定部113の優先度計算部1132は、実施例1と同様の方法で、可変優先度の設定を実施する。
The number of identified applications can be calculated for each request message 300, or the calculated number of applications can be recorded in the
実施例3により、過去のリクエストメッセージ300の情報を用いて、優先順位を上げ、リクエストメッセージ300の処理を迅速化することで、データ取得までの時間を短縮することができる。 In Example 3, by using information on past request messages 300, the priority can be increased and the processing of the request messages 300 can be expedited, thereby shortening the time it takes to obtain data.
<結び>
以上のように、上記実施例のデータ要求処理装置1は、以下のような構成とすることができる。
<Conclusion>
As described above, the data
(1)プロセッサ(21)とメモリを有するデータ要求処理装置(1)であって、データベース(5又は外部データベース6)に格納されているデータをリクエストするメッセージ(リクエストメッセージ300)を受信し、前記メッセージ(300)に含まれるデータ要求(query305)に優先度(可変優先度)を設定して、前記優先度に応じて前記データ要求(305)の処理順序を決定する優先度制御部(11)を有し、前記優先度制御部(11)は、前記メッセージ(300)を受信する受信部(リクエスト受信部111)と、前記メッセージ(300)に含まれるデータ要求(305)を取得し、前記データ要求(305)を分析して、前記優先度の設定に必要なパラメータ(推定レスポンス時間(実測レスポンス時間1204)又は外部アクセス判定結果)を生成する分析部(リクエスト分析部112)と、前記パラメータ(1204又は外部アクセス判定結果)を用いて前記データ要求(305)に優先度を設定する優先度設定部(113)と、を有し、前記優先度設定部(113)は、前記パラメータ(1204又は外部アクセス判定結果)を受け付けて、所定のルールで前記パラメータ(1204又は外部アクセス判定結果)を分類し、前記分類の結果に応じて前記データ要求(305)の優先度(可変優先度)を設定することを特徴とするデータ要求処理装置。 (1) A data request processing device (1) having a processor (21) and a memory, the device having a priority control unit (11) that receives a message (request message 300) requesting data stored in a database (5 or an external database 6), sets a priority (variable priority) for a data request (query 305) included in the message (300), and determines the processing order of the data request (305) according to the priority, the priority control unit (11) having a receiving unit (request receiving unit 111) that receives the message (300), obtains the data request (305) included in the message (300), and divides the data request (305) into A data request processing device comprising: an analysis unit (request analysis unit 112) that analyzes the request and generates parameters (estimated response time (actual response time 1204) or external access judgment result) necessary for setting the priority; and a priority setting unit (113) that sets a priority for the data request (305) using the parameters (1204 or external access judgment result), wherein the priority setting unit (113) accepts the parameters (1204 or external access judgment result), classifies the parameters (1204 or external access judgment result) according to a predetermined rule, and sets a priority (variable priority) for the data request (305) according to the result of the classification.
上記構成により、データ要求処理装置1は、パラメータ(1204又は外部アクセス判定結果)の状況に応じてダイナミックでかつ柔軟にリクエストの優先度を制御して、リアルタイム性が必要なアプリケーションは安定的にデータを取得することができる。
With the above configuration, the data
(2)上記(1)に記載のデータ要求処理装置であって、前記分析部(112)は、過去に算出されたレスポンス時間(実測レスポンス時間1204)を蓄積したテーブル(レスポンス時間テーブル1125)を参照し、前記データ要求(305)に対応するレスポンス時間(1204)を取得して前記パラメータとして出力し、前記優先度設定部(113)は、前記レスポンス時間(推定レスポンス時間)に応じて前記データ要求(305)に前記優先度を設定することを特徴とするデータ要求処理装置。 (2) A data request processing device according to (1) above, characterized in that the analysis unit (112) refers to a table (response time table 1125) that accumulates previously calculated response times (actual response times 1204), obtains the response time (1204) corresponding to the data request (305), and outputs it as the parameter, and the priority setting unit (113) sets the priority to the data request (305) according to the response time (estimated response time).
上記構成により、データ要求処理装置1は、レスポンスまでにかかった時間情報(推定レスポンス時間)に基づいて、優先順位(可変優先度)を変更し、リクエストメッセージの処理を迅速化することで、端末100から要求されたデータの取得までの時間を短縮することができる。
With the above configuration, the data
(3)上記(2)に記載のデータ要求処理装置であって、前記優先度設定部(113)が設定した前記優先度に応じた前記データ要求(305)を前記データベース(5、6)に送信するスケジューリング部(12)を、さらに有し、前記分析部(112)は、前記データ要求(305)が前記スケジューリング部(12)で送信されてから前記データベース(5、6)からの応答を受け付けるまでの時間をレスポンス時間(1204)として計算して前記テーブル(1125)に蓄積するレスポンス時間計算部(1126)を、さらに有することを特徴とするデータ要求処理装置。 (3) The data request processing device according to (2) above, further comprising a scheduling unit (12) that transmits the data request (305) to the database (5, 6) according to the priority set by the priority setting unit (113), and the analysis unit (112) further comprises a response time calculation unit (1126) that calculates the time from when the data request (305) is transmitted by the scheduling unit (12) to when a response is received from the database (5, 6) as a response time (1204) and stores the calculated time in the table (1125).
上記構成により、データ要求処理装置1は、レスポンスまでにかかった時間情報(推定レスポンス時間)に基づいて、優先順位(可変優先度)を変更し、リクエストメッセージの処理を迅速化することで、端末100から要求されたデータの取得までの時間を短縮することができる。
With the above configuration, the data
(4)上記(1)に記載のデータ要求処理装置であって、 前記優先度設定部(113)は、前記分析部(112)から出力されたパラメータ(1204又は外部アクセス判定結果)と、予め設定された閾値とを比較して、前記比較の結果に応じて前記データ要求(305)の前記優先度を設定することを特徴とするデータ要求処理装置。 (4) The data request processing device according to (1) above, characterized in that the priority setting unit (113) compares the parameter (1204 or the external access judgment result) output from the analysis unit (112) with a preset threshold value, and sets the priority of the data request (305) according to the result of the comparison.
上記構成により、データ要求処理装置1は、レスポンスまでにかかった時間情報(推定レスポンス時間)と所定の閾値に基づいて、優先順位(可変優先度)を変更し、リクエストメッセージの処理を迅速化することで、端末100から要求されたデータの取得までの時間を短縮することができる。
With the above configuration, the data
(5)上記(2)に記載のデータ要求処理装置であって、前記分析部(112)は、複数の前記データ要求(305)について前記レスポンス時間を取得して、前記複数のメッセージと複数の前記レスポンス時間を前記優先度設定部(113)に出力し、前記優先度設定部(113)は、前記複数のレスポンス時間に応じて、前記複数のデータ要求(305)の優先度を設定することを特徴とするデータ要求処理装置。 (5) The data request processing device according to (2) above, characterized in that the analysis unit (112) acquires the response times for the plurality of data requests (305) and outputs the plurality of messages and the plurality of response times to the priority setting unit (113), and the priority setting unit (113) sets priorities for the plurality of data requests (305) according to the plurality of response times.
上記構成により、パラメータ検出部1124が、複数のリクエストメッセージ300について推定レスポンス時間を取得して、複数のリクエストメッセージ300と複数の推定レスポンス時間を優先度設定部113に出力することができる。この場合、パラメータ受信部1131で、複数のリクエストメッセージと複数の推定レスポンス時間を優先度計算部1132に出力し、優先度計算部1132は、複数のリクエストメッセージの推定レスポンス時間を比較して、推定レスポンス時間が最長時間か、推定レスポンス時間が長い上位いくつかの優先順位を上げることができる。
With the above configuration, the
また、パラメータ受信部1131から、一定期間の間に貯められたリクエストメッセージのパラメータ(1204又は外部アクセス判定結果)を優先度計算部1132に出力する場合、優先度計算部1132は、推定レスポンス時間が最長時間か、推定レスポンス時間が上位いくつかのリクエストメッセージか、推定レスポンス時間が上位何割かのリクエストメッセージの優先順位を上げることも可能である。
In addition, when the
(6)上記(2)に記載のデータ要求処理装置であって、前記受信部は、前記優先度の変更要求を受信し、前記分析部(112)は、前記優先度の変更要求の可否の問い合せを出力し、前記問い合せに対する応答を受け付け、当該応答の内容(True又はFalse)を前記優先度設定部(113)に出力し、前記優先度設定部(113)は、前記応答の内容に応じて前記優先度を設定することを特徴とするデータ要求処理装置。 (6) The data request processing device according to (2) above, characterized in that the receiving unit receives the request to change the priority, the analysis unit (112) outputs an inquiry as to whether the priority change request is acceptable, receives a response to the inquiry, outputs the content of the response (True or False) to the priority setting unit (113), and the priority setting unit (113) sets the priority according to the content of the response.
上記構成により、データ要求処理装置1は、停電が起きた場合の電力インフラの保守アプリケーションや、洪水が起きた場合の下水道インフラの保守アプリケーションなど、平常より、優先されるべき事故や災害が発生した場合、それらのアプリケーション2が優先度変更を要求する場合に、データ要求処理装置1は当該アプリケーション2の優先順位を上げることが可能となる。
With the above configuration, when an accident or disaster occurs that should be prioritized over normal times, such as a power infrastructure maintenance application in the event of a power outage or a sewer infrastructure maintenance application in the event of a flood, and such application 2 requests a priority change, the data
(7)上記(6)に記載のデータ要求処理装置であって、前記分析部(112)は、前記問い合せに対する応答がTrueを含む場合には、前記優先度設定部(113)に前記優先度の変更要求を通知し、前記優先度設定部(113)は、前記通知に応じて前記優先度を設定することを特徴とするデータ要求処理装置。 (7) The data request processing device according to (6) above, characterized in that, when the response to the inquiry includes True, the analysis unit (112) notifies the priority setting unit (113) of a request to change the priority, and the priority setting unit (113) sets the priority in response to the notification.
上記構成により、優先度設定部113の優先度計算部1132は、受け付けたパラメータ(1204)が0値であれば、アプリ優先度(304)をそのまま可変優先度に設定し、0でなければ、要求優先度を可変優先度に設定して出力することができる。
With the above configuration, if the received parameter (1204) is 0, the
(8)上記(1)に記載のデータ要求処理装置であって、前記分析部(112)は、過去のメッセージ(300)に含まれるデータ要求(305)を記録する記録部(1128)と、前記記録部(1128)から過去のデータ要求(305)を検索して、前記パラメータ(1204又は外部アクセス判定結果)を生成する検出部(パラメータ検出部1124)と、を有することを特徴とするデータ要求処理装置。 (8) The data request processing device according to (1) above, characterized in that the analysis unit (112) has a recording unit (1128) that records the data request (305) included in the past message (300), and a detection unit (parameter detection unit 1124) that searches the recording unit (1128) for the past data request (305) and generates the parameter (1204 or external access judgment result).
上記構成により、データ要求処理装置1は、過去のリクエストメッセージ300の情報を用いて、優先順位を上げ、リクエストメッセージ300の処理を迅速化することで、データ取得までの時間を短縮することができる。
With the above configuration, the data
(9)上記(1)に記載のデータ要求処理装置であって、上記(8)に記載のデータ要求処理装置であって、前記検出部(1124)は、前記記録部(1128)から、異なるアプリケーションで、かつ、前記データ要求(305)と同一のデータを要求した過去のデータ要求(305)を検索し、前記アプリケーションの数を取得し、前記アプリケーションの数が所定の条件を満たすデータ要求(305)からパラメータを生成することを特徴とするデータ要求処理装置。 (9) The data request processing device according to (1) above, which is also according to (8) above, characterized in that the detection unit (1124) searches the recording unit (1128) for past data requests (305) that are different applications and that request the same data as the data request (305), obtains the number of applications, and generates parameters from the data request (305) for which the number of applications satisfies a predetermined condition.
上記構成により、データ要求処理装置1は、アプリケーションの数が所定の条件(例えば、最大)を満たすデータ要求からパラメータ(1204又は外部アクセス判定結果)を生成することができ、過去のリクエストメッセージ300の情報を用いて、優先順位を上げ、リクエストメッセージ300の処理を迅速化することで、データ取得までの時間を短縮することができる。
With the above configuration, the data
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。 The present invention is not limited to the above-described embodiments, but includes various modified examples. For example, the above-described embodiments are described in detail to clearly explain the present invention, and are not necessarily limited to those having all of the configurations described. It is also possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, the addition, deletion, or replacement of part of the configuration of each embodiment with other configurations can be applied alone or in combination.
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。 The above configurations, functions, processing units, and processing means may be realized in part or in whole in hardware, for example by designing them as integrated circuits. The above configurations and functions may be realized in software by a processor interpreting and executing a program that realizes each function. Information on the programs, tables, files, etc. that realize each function may be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD.
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 In addition, the control lines and information lines shown are those considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. In reality, it can be assumed that almost all components are interconnected.
1 データ要求処理装置
2 アプリケーション
3、4 ネットワーク
5 データベース
6 外部データベース
7 データ送信部
11 優先度制御部
12 スケジューリング部
111 リクエスト受信部
112 リクエスト分析部
113 優先度設定部
114 管理部
300 リクエストメッセージ
1121 リクエスト取得部
1122 アプリ優先度読み取り部
1123 クエリ読み取り部
1124 パラメータ検出部
1125 パラメータテーブル
1126 レスポンス時間計算部
1127 優先度変更要求取得部
1128 リクエスト記録部
1131 パラメータ受信部
1132 優先度計算部
1133 処理順序制御部
REFERENCE SIGNS
Claims (4)
データベースに格納されているデータをリクエストするメッセージを受信し、前記メッセージに含まれるデータ要求に優先度を設定して、前記優先度に応じて前記データ要求の処理順序を決定する優先度制御部を有し、
前記優先度制御部は、
前記メッセージを受信する受信部と、
前記メッセージに含まれるデータ要求を取得し、前記データ要求を分析して前記優先度の設定に必要なパラメータを生成する分析部と、
前記パラメータを用いて前記データ要求に優先度を設定する優先度設定部と、を有し、
前記優先度設定部は、
前記パラメータを受け付けて、所定のルールで前記パラメータを分類し、前記分類の結果に応じて前記データ要求の優先度を設定し、
前記分析部は、
過去のメッセージに含まれるデータ要求を記録する記録部と、
前記記録部から過去のデータ要求を検索して、前記パラメータを生成する検出部と、を有し、
前記検出部は、
前記記録部から、異なるアプリケーションで、かつ、前記データ要求と同一のデータを要求した過去のデータ要求を検索し、前記アプリケーションの数を取得し、前記アプリケーションの数が所定の条件を満たすデータ要求からパラメータを生成することを特徴とするデータ要求処理装置。 A data request processing device having a processor and a memory,
a priority control unit that receives a message requesting data stored in a database, sets priorities for the data requests included in the message, and determines an order of processing the data requests in accordance with the priorities;
The priority control unit
A receiving unit for receiving the message;
an analysis unit that acquires a data request included in the message, analyzes the data request, and generates parameters necessary for setting the priority;
a priority setting unit that sets a priority to the data request using the parameter,
The priority setting unit
receiving the parameters, classifying the parameters according to a predetermined rule, and setting a priority of the data request according to a result of the classification ;
The analysis unit includes:
a recorder for recording data requests included in past messages;
a detection unit that searches the recording unit for past data requests and generates the parameters;
The detection unit is
A data request processing device characterized by searching the recording unit for past data requests that were made using a different application and that requested the same data as the data request, obtaining the number of the applications, and generating parameters from a data request for which the number of applications satisfies a predetermined condition .
前記優先度設定部は、The priority setting unit
前記分析部から出力されたパラメータと、予め設定された閾値とを比較して、前記比較の結果に応じて前記データ要求の前記優先度を設定することを特徴とするデータ要求処理装置。2. A data request processing device comprising: a processor for processing data requests, the processor for processing data requests being processed by a processor for processing data; a processor for processing data being processed by a processor for processing data;
前記計算機が、データベースに格納されているデータをリクエストするメッセージを受信する受信ステップと、a receiving step by said computer receiving a message requesting data stored in a database;
前記計算機が、前記メッセージに含まれるデータ要求を取得し、前記データ要求を分析して優先度の設定に必要なパラメータを生成する分析ステップと、an analysis step in which the computer acquires a data request included in the message and analyzes the data request to generate parameters necessary for setting a priority;
前記計算機が、前記パラメータを受け付けて、所定のルールで前記パラメータを分類し、前記分類の結果に応じて前記データ要求の前記優先度を設定して、前記優先度に応じて前記データ要求の処理順序を決定する優先度設定ステップと、a priority setting step in which the computer receives the parameters, classifies the parameters according to a predetermined rule, sets the priority of the data requests in accordance with a result of the classification, and determines a processing order of the data requests in accordance with the priority;
を含み、Including,
前記分析ステップは、The analyzing step includes:
過去のメッセージに含まれるデータ要求を記録する記録ステップと、a recording step of recording data requests contained in past messages;
前記記録ステップで記録された過去のデータ要求を検索して、前記パラメータを生成する検出ステップと、を含み、a detection step of searching for past data requests recorded in the recording step to generate the parameters;
前記検出ステップは、前記記録ステップで記録された過去のデータ要求において、異なるアプリケーションで、かつ、前記データ要求と同一のデータを要求した過去のデータ要求を検索し、前記アプリケーションの数を取得し、前記アプリケーションの数が所定の条件を満たすデータ要求からパラメータを生成することを特徴とするデータ要求処理方法。The detection step is characterized in that, among past data requests recorded in the recording step, a past data request that requested the same data as the data request from a different application is searched for, the number of the applications is obtained, and a parameter is generated from a data request for which the number of applications satisfies a predetermined condition.
データベースに格納されているデータをリクエストするメッセージを受信する受信ステップと、a receiving step of receiving a message requesting data stored in a database;
前記メッセージに含まれる前記データ要求を取得し、前記データ要求を分析して優先度の設定に必要なパラメータを生成する分析ステップと、an analysis step of acquiring the data request included in the message and analyzing the data request to generate parameters necessary for setting a priority;
前記パラメータを受け付けて、所定のルールで前記パラメータを分類し、前記分類の結果に応じて前記データ要求の前記優先度を設定して、前記優先度に応じて前記データ要求の処理順序を決定する優先度設定ステップと、を含み、a priority setting step of receiving the parameters, classifying the parameters according to a predetermined rule, setting the priority of the data requests according to a result of the classification, and determining a processing order of the data requests according to the priority,
前記分析ステップは、The analyzing step includes:
過去のメッセージに含まれるデータ要求を記録する記録ステップと、a recording step of recording data requests contained in past messages;
前記記録ステップで記録された過去のデータ要求を検索して、前記パラメータを生成する検出ステップと、を含み、a detection step of searching for past data requests recorded in the recording step to generate the parameters;
前記検出ステップは、前記記録ステップで記録された過去のデータ要求において、異なるアプリケーションで、かつ、前記データ要求と同一のデータを要求した過去のデータ要求を検索し、前記アプリケーションの数を取得し、前記アプリケーションの数が所定の条件を満たすデータ要求からパラメータを生成する、処理を前記計算機に実行させるためのプログラムを格納した非一時的な計算機読み取り可能な記憶媒体。The detection step is a non-transitory computer-readable storage medium storing a program for causing the computer to execute a process of searching for past data requests recorded in the recording step that were made using different applications and that requested the same data as the data request, obtaining the number of the applications, and generating parameters from data requests for which the number of the applications satisfies a predetermined condition.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020189329A JP7464503B2 (en) | 2020-11-13 | 2020-11-13 | Data request processing device, data request processing method and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020189329A JP7464503B2 (en) | 2020-11-13 | 2020-11-13 | Data request processing device, data request processing method and storage medium |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022078575A JP2022078575A (en) | 2022-05-25 |
| JP7464503B2 true JP7464503B2 (en) | 2024-04-09 |
Family
ID=81706906
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020189329A Active JP7464503B2 (en) | 2020-11-13 | 2020-11-13 | Data request processing device, data request processing method and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7464503B2 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005339243A (en) | 2004-05-27 | 2005-12-08 | Fuji Xerox Co Ltd | Printing control device, method, and program |
| JP2006190005A (en) | 2005-01-04 | 2006-07-20 | Internatl Business Mach Corp <Ibm> | Priority determination device, service process allocation device, control method, and program |
| JP2006313576A (en) | 2006-08-24 | 2006-11-16 | Fujitsu Ltd | Service providing order changing method, service providing apparatus, and service providing program |
| JP2008191819A (en) | 2007-02-02 | 2008-08-21 | Toshiba Corp | Online trading system |
| CN110928944A (en) | 2018-08-30 | 2020-03-27 | 阿里巴巴集团控股有限公司 | Data processing method and device |
-
2020
- 2020-11-13 JP JP2020189329A patent/JP7464503B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005339243A (en) | 2004-05-27 | 2005-12-08 | Fuji Xerox Co Ltd | Printing control device, method, and program |
| JP2006190005A (en) | 2005-01-04 | 2006-07-20 | Internatl Business Mach Corp <Ibm> | Priority determination device, service process allocation device, control method, and program |
| JP2006313576A (en) | 2006-08-24 | 2006-11-16 | Fujitsu Ltd | Service providing order changing method, service providing apparatus, and service providing program |
| JP2008191819A (en) | 2007-02-02 | 2008-08-21 | Toshiba Corp | Online trading system |
| CN110928944A (en) | 2018-08-30 | 2020-03-27 | 阿里巴巴集团控股有限公司 | Data processing method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022078575A (en) | 2022-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11777949B2 (en) | Dynamic user access control management | |
| US9952753B2 (en) | Predictive caching and fetch priority | |
| US9304815B1 (en) | Dynamic replica failure detection and healing | |
| US11275667B2 (en) | Handling of workload surges in a software application | |
| CN100517317C (en) | Method, system, and program product for maintaining a fileset namespace accessible by clients over a network | |
| CN107451853B (en) | A method, device, system and storage medium for real-time distribution of red envelopes | |
| CN107491470B (en) | Data management system, control method, and storage medium | |
| EP4080377B1 (en) | Method to implement multi-tenant/shared redis cluster using envoy | |
| US8135762B2 (en) | System and method for determining true computer file type identity | |
| CN106874423B (en) | Search control method and system | |
| CN114661419A (en) | Service quality control system and method | |
| WO2024119793A1 (en) | Scheduling method, system and device based on cache affinity, and medium | |
| US12020081B2 (en) | Method to implement multi-tenant/shared redis cluster using envoy | |
| US20100161585A1 (en) | Asymmetric cluster filesystem | |
| JP2018092389A (en) | File management device and program | |
| CN119441171A (en) | Distributed object storage method, device, equipment and medium | |
| US20130132552A1 (en) | Application-Aware Quality Of Service In Network Applications | |
| JP7464503B2 (en) | Data request processing device, data request processing method and storage medium | |
| JP6607044B2 (en) | Server device, distributed file system, distributed file system control method, and program | |
| JP6076882B2 (en) | Information processing system, management device, and key assignment program | |
| JP6127754B2 (en) | Program, exclusive control request distribution method and system | |
| US20210326386A1 (en) | Information processing system, information processing device, and non-transitory computer-readable storage medium for storing program | |
| CN120492188A (en) | Interface aggregation request method, device, apparatus, storage medium and program product | |
| JP2017117015A (en) | Information processing system, proxy device, proxy control method, and proxy program | |
| JP2020021344A (en) | Information management apparatus, information management method and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230206 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230920 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231010 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231206 |
|
| 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: 20240305 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240328 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7464503 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |