[go: up one dir, main page]

JP2018180959A - Data processing program, data processing apparatus, data processing method and data processing system - Google Patents

Data processing program, data processing apparatus, data processing method and data processing system Download PDF

Info

Publication number
JP2018180959A
JP2018180959A JP2017080077A JP2017080077A JP2018180959A JP 2018180959 A JP2018180959 A JP 2018180959A JP 2017080077 A JP2017080077 A JP 2017080077A JP 2017080077 A JP2017080077 A JP 2017080077A JP 2018180959 A JP2018180959 A JP 2018180959A
Authority
JP
Japan
Prior art keywords
request
processing
unit
data
cpu
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.)
Granted
Application number
JP2017080077A
Other languages
Japanese (ja)
Other versions
JP6900757B2 (en
Inventor
涼一 舟橋
Ryoichi Funabashi
涼一 舟橋
田中 竜太
Ryuta Tanaka
竜太 田中
多田 厚子
Atsuko Tada
厚子 多田
増井 誠生
Masao Masui
誠生 増井
正樹 石原
Masaki Ishihara
正樹 石原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017080077A priority Critical patent/JP6900757B2/en
Publication of JP2018180959A publication Critical patent/JP2018180959A/en
Application granted granted Critical
Publication of JP6900757B2 publication Critical patent/JP6900757B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】レスポンスが向上したデータ処理プログラム等を提供すること。
【解決手段】データ処理プログラムは、クライアントからの第1リクエストを受信するコンピュータに、前記第1リクエスト以降に呼び出される第2リクエストを推定し、前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、前記第1リクエストの処理を前記処理データ単位で行い、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1のリクエストで得た処理で得た処理データ単位に対して前記第2リクエストの処理を行う処理を実行させる。
【選択図】図6
To provide a data processing program etc. with improved response.
A data processing program estimates a second request to be called after the first request to a computer that receives a first request from a client, and a minimum processable process is performed based on processing of the second request. A process data unit is obtained, the process of the first request is performed in the process data unit, and the process obtained by the first request completed every time the process of the first request in the process data unit is completed The processing for processing the second request is executed on the processing data unit obtained in the above.
[Selected figure] Figure 6

Description

本発明は、WebAPI(Web Application Program Interface)を用いるデータ処理プログラムなどに関する。   The present invention relates to a data processing program using a Web Application Program Interface (Web API).

近年、WebAPIサーバが普及している(特許文献1)。WebAPIサーバは、WebAPIを実装したサーバコンピュータである。Web APIは,HTTP(HyperText Transfer Protocol)をベースにデータをやり取りするAPIである。HTTPを使った一般的なWeb APIでは,単純なリクエスト/レスポンスによるデータ交換が行われる。   In recent years, Web API servers have become widespread (Patent Document 1). The Web API server is a server computer that implements the Web API. The Web API is an API that exchanges data based on HTTP (HyperText Transfer Protocol). In a general Web API using HTTP, data exchange is performed by simple request / response.

特開2010−146169号公報JP, 2010-146169, A

単純なリクエスト/レスポンスによるデータ交換であるため、複数の処理を連続して行う場合は、レスポンスの低下が生じる。   Since data exchange is performed by simple request / response, the response is degraded when a plurality of processes are performed consecutively.

1つの側面では、本発明の目的は、レスポンスが向上したデータ処理プログラム等を提供することである。   In one aspect, the object of the present invention is to provide a data processing program or the like with improved response.

本願に開示するデータ処理プログラムは、クライアントからの第1リクエストを受信するコンピュータに、前記第1リクエスト以降に呼び出される第2リクエストを推定し、前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、前記第1リクエストの処理を前記処理データ単位で行い、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理に基づき、処理可能な最小の行う処理を実行させる。   The data processing program disclosed in the present application estimates the second request to be called after the first request to the computer that receives the first request from the client, and can process the smallest request based on the processing of the second request. A processing data unit is acquired, the processing of the first request is performed in the processing data unit, and each time the processing of the first request in the processing data unit is completed, the processing is performed by the processing of the completed first request. Based on the processing of the second request on the processing data unit, the minimum process that can be processed is executed.

本願の一観点によれば、レスポンスの向上が可能となる。   According to one aspect of the present invention, the response can be improved.

データ処理システムの構成を示す説明図である。It is an explanatory view showing composition of a data processing system. WebAPIサーバの構成例を示すブロック図である。It is a block diagram showing the example of composition of Web API server. クライアント端末の構成例を示すブロック図である。It is a block diagram showing an example of composition of a client terminal. データ単位DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of data unit DB. 履歴DBのレコードレイアウトの一例を示す説明図である。It is explanatory drawing which shows an example of the record layout of log | history DB. WebAPIサーバが行う処理の概略を示す説明図である。It is explanatory drawing which shows the outline of the process which a Web API server performs. WebAPIサーバが行う処理の概略を示す説明図である。It is explanatory drawing which shows the outline of the process which a Web API server performs. WebAPIサーバが行う処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process which a Web API server performs. WebAPIサーバの処理において、作成及び更新される一時データの例を示す説明図である。It is an explanatory view showing an example of temporary data created and updated in processing of a Web API server. 推定処理の手順例を示すフローチャートである。It is a flowchart which shows the example of a procedure of an estimation process. WebAPIサーバが備える機能の一例を示すブロック図である。It is a block diagram showing an example of a function with which a Web API server is provided.

以下実施の形態を、図面を参照して説明する。なお、以下の説明において、ストリーム処理とは、複数の処理を順次行う処理であって、前段の処理出力が後段の処理入力となる一連の処理、又は一連の処理に含まれる各処理を言う。ここでは、画像データのように、入力データを分割し、分割したデータに対して各処理を行い、分割したデータの処理結果を結合することで、入力データを一括に処理した場合と同じ結果を得られるようなデータを扱う処理を想定している。このような処理の組み合わせをストリーム処理という。   Hereinafter, embodiments will be described with reference to the drawings. In the following description, stream processing refers to processing in which a plurality of processes are sequentially performed, and refers to a series of processes or processes included in the series of processes where the process output of the former stage is the process input of the latter stage. Here, as in the case of image data, the input data is divided, each processing is performed on the divided data, and the processing results of the divided data are combined to obtain the same result as processing the input data collectively. It assumes processing that handles data that can be obtained. A combination of such processing is called stream processing.

実施の形態1
図1はデータ処理システムの構成を示す説明図である。データ処理システムは、WebAPIサーバ(データ処理装置)1、クライアント端末2、及びクライアント端末3を含む。WebAPIサーバ1及びクライアント端末2はネットワークN1を介して、通信可能に接続されている。WebAPIサーバ1及びクライアント端末3は、ネットワークN1及び無線ネットワークN2を介して、通信可能に接続されている。以下、クライアント端末としては、クライアント端末2について述べるが、クライアント端末3の場合も同様である。
Embodiment 1
FIG. 1 is an explanatory view showing the configuration of a data processing system. The data processing system includes a Web API server (data processing device) 1, a client terminal 2, and a client terminal 3. The Web API server 1 and the client terminal 2 are communicably connected via the network N1. The Web API server 1 and the client terminal 3 are communicably connected via the network N1 and the wireless network N2. Hereinafter, the client terminal 2 will be described as the client terminal, but the same applies to the client terminal 3.

図2はWebAPIサーバの構成例を示すブロック図である。WebAPIサーバ1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、大容量記憶部14、通信部15及び読み取り部16を含む。各構成はバスBで接続されている。   FIG. 2 is a block diagram showing a configuration example of the Web API server. The Web API server 1 includes a central processing unit (CPU) 11, a read only memory (ROM) 12, a random access memory (RAM) 13, a large-capacity storage unit 14, a communication unit 15, and a reading unit 16. Each configuration is connected by a bus B.

CPU11はROM12に記憶された制御プログラム1Pにしたがい、ハードウェア各部を制御する。RAM13は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)又はフラッシュメモリである。RAM13はCPU11によるプログラムの実行時に発生するデータを一時的に記憶する。   The CPU 11 controls each part of the hardware according to the control program 1 P stored in the ROM 12. The RAM 13 is, for example, an SRAM (Static RAM), a DRAM (Dynamic RAM), or a flash memory. The RAM 13 temporarily stores data generated when the CPU 11 executes a program.

大容量記憶部14は、例えばハードディスク又はSSD(Solid State Drive)などである。大容量記憶部14は必要な各種データを記憶する。大容量記憶部14はデータ単位DB(Data Base)141、履歴DB142を記憶する。また、制御プログラム1Pを大容量記憶部14に記憶してもよい。   The large-capacity storage unit 14 is, for example, a hard disk or a solid state drive (SSD). The large capacity storage unit 14 stores necessary various data. The large capacity storage unit 14 stores a data unit DB (Data Base) 141 and a history DB 142. Alternatively, the control program 1P may be stored in the large capacity storage unit 14.

通信部15はネットワークN1を介して、WebAPIサーバと通信を行う。読み取り部16はCD(Compact Disc)−ROM及びDVD(Digital Versatile Disc)−ROMを含む可搬型記憶媒体1aを読み取る。CPU11が読み取り部16を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部14に記憶してもよい。また、ネットワークN1等を介して他のコンピュータからCPU11が制御プログラム1Pをダウンロードし、大容量記憶部14に記憶してもよい。さらにまた、半導体メモリ1bから、CPU11が制御プログラム1Pを読み込んでもよい。   The communication unit 15 communicates with the Web API server via the network N1. The reading unit 16 reads a portable storage medium 1 a including a CD (Compact Disc) -ROM and a DVD (Digital Versatile Disc) -ROM. The CPU 11 may read the control program 1 P from the portable storage medium 1 a via the reading unit 16 and store the control program 1 P in the large-capacity storage unit 14. Alternatively, the CPU 11 may download the control program 1 P from another computer via the network N 1 or the like and store the control program 1 P in the large-capacity storage unit 14. Furthermore, the CPU 11 may read the control program 1P from the semiconductor memory 1b.

図3はクライアント端末2の構成例を示すブロック図である。クライアント端末2はCPU21、ROM22、RAM23、大容量記憶部24、表示部25、入力部26、通信部27及び読み取り部28を含む。各構成はバスBで接続されている。   FIG. 3 is a block diagram showing a configuration example of the client terminal 2. The client terminal 2 includes a CPU 21, a ROM 22, a RAM 23, a large capacity storage unit 24, a display unit 25, an input unit 26, a communication unit 27 and a reading unit 28. Each configuration is connected by a bus B.

CPU21はROM22に記憶された制御プログラム2Pにしたがい、ハードウェア各部を制御する。RAM23は例えばSRAM、DRAM又はフラッシュメモリである。RAM23はCPU21によるプログラムの実行時に発生するデータを一時的に記憶する。   The CPU 21 controls each part of the hardware according to the control program 2P stored in the ROM 22. The RAM 23 is, for example, an SRAM, a DRAM or a flash memory. The RAM 23 temporarily stores data generated when the CPU 21 executes a program.

大容量記憶部24は、例えばハードディスク又はSSDなどである。大容量記憶部24はCPU21の処理に必要な各種データを記憶する。制御プログラム2Pを大容量記憶部24に記憶してもよい。   The large capacity storage unit 24 is, for example, a hard disk or an SSD. The large capacity storage unit 24 stores various data necessary for the processing of the CPU 21. The control program 2P may be stored in the large capacity storage unit 24.

表示部25は液晶表示装置である。表示部25はデータ処理の結果などを表示する。入力部26はキーボードやマウスである。また、入力部26は表示部25と一体化したタッチパネルでもよい。   The display unit 25 is a liquid crystal display device. The display unit 25 displays the result of data processing and the like. The input unit 26 is a keyboard or a mouse. Further, the input unit 26 may be a touch panel integrated with the display unit 25.

通信部27はネットワークN1を介して、WebAPIサーバ1と通信を行う。読み取り部28はCD−ROM及びDVD−ROMを含む可搬型記憶媒体2aを読み取る。CPU21が読み取り部28を介して、制御プログラム2Pを可搬型記憶媒体2aより読み取り、大容量記憶部24に記憶してもよい。また、ネットワークN1等を介して他のコンピュータからCPU21が制御プログラム2Pをダウンロードし、大容量記憶部24に記憶してもよい。さらにまた、半導体メモリ2bから、CPU21が制御プログラム2Pを読み込んでもよい。   The communication unit 27 communicates with the Web API server 1 via the network N1. The reading unit 28 reads the portable storage medium 2 a including a CD-ROM and a DVD-ROM. The CPU 21 may read the control program 2 P from the portable storage medium 2 a via the reading unit 28 and store the control program 2 P in the large-capacity storage unit 24. In addition, the CPU 21 may download the control program 2P from another computer via the network N1 or the like and store the control program 2P in the large-capacity storage unit 24. Furthermore, the CPU 21 may read the control program 2P from the semiconductor memory 2b.

次に、大容量記憶部24が記憶するDB(Data Base:データベース)について説明する。図4はデータ単位DB141のレコードレイアウトの一例を示す説明図である。データ単位DB141はWebAPIサーバ1が提供する各処理をストリーム処理として実行をする際の処理データの最小単位を記憶する。データ単位DB141は項番列、処理列及び最小データ単位列を含む。項番列はレコードを特定するユニークな項番を記憶する。項番は各処理を特定するIDでもある。処理列は処理を特定する処理名を記憶する。最小データ単位列は各処理をストリーム処理する場合の最小のデータ単位(処理データ単位)を記憶する。   Next, a DB (Data Base: database) stored by the large-capacity storage unit 24 will be described. FIG. 4 is an explanatory view showing an example of the record layout of the data unit DB 141. As shown in FIG. The data unit DB 141 stores the minimum unit of processing data when executing each processing provided by the Web API server 1 as stream processing. The data unit DB 141 includes an item number column, a processing column, and a minimum data unit column. The item number column stores a unique item number that identifies a record. The item number is also an ID for specifying each process. The processing sequence stores the processing name specifying the processing. The minimum data unit column stores the minimum data unit (processing data unit) when stream processing each processing.

図5は履歴DB142のレコードレイアウトの一例を示す説明図である。履歴DB142はWebAPIサーバが過去に実行した処理の履歴を記憶している。履歴DB142は項番列、アクセス日時列、処理列、入力列及び出力列を含む。項番列は履歴を一意に特定可能な項番を記憶する。アクセス日時列はクライアント端末2から各処理がリクエストされた日時を記憶する。アクセス日時列は各処理の時間的な前後関係を示すものであれば、他のものでもよい。各処理の実行回日時、各処理がクライアント端末2へ処理結果を返却した日時でも良い。処理列は実行した処理を特定する処理名を記憶する。入力列は各処理の入力データを記憶する。出力列は各処理の出力データを記憶する。入力列及び出力列は連続する処理の前後関係が推定可能なものとする。例えば、処理Aの出力がデータ2であり、処理Bの入力がデータ2であれば、処理Aの次に処理Bが実行されたものと推測可能となる。履歴DB142には各処理をリクエストしたクライアント端末2やアプリケーションを特定するID、例えばMac(Media Access Control)アドレスやセッションIDなどを記憶してもよい。それにより、複数のクライアント端末2等が同じ複数の処理を、同時刻にリクエストしたとしても、リクエストの前後関係を正確に把握可能となる。   FIG. 5 is an explanatory view showing an example of the record layout of the history DB 142. As shown in FIG. The history DB 142 stores a history of processing executed by the Web API server in the past. The history DB 142 includes an item number sequence, an access date and time sequence, a processing sequence, an input sequence, and an output sequence. The item number column stores an item number that can uniquely identify the history. The access date and time column stores the date and time when each process was requested from the client terminal 2. The access date and time column may be any other one as long as it indicates the temporal context of each process. The execution date and time of each process, and the date and time when each process returned the process result to the client terminal 2 may be used. The process sequence stores a process name specifying the executed process. The input string stores input data of each process. The output sequence stores output data of each process. The input sequence and the output sequence are assumed to be able to estimate the context of continuous processing. For example, if the output of process A is data 2 and the input of process B is data 2, it can be inferred that process B is performed after process A. The history DB 142 may store an ID for identifying the client terminal 2 or application that has requested each process, such as a Mac (Media Access Control) address or a session ID. As a result, even if a plurality of client terminals 2 and the like request the same processing at the same time, it is possible to accurately grasp the context of the request.

続いて、WebAPIサーバが行う処理について説明する。図6はWebAPIサーバが行う処理の概略を示す説明図である。図6はクライアント端末2が複数の処理を順次、リクエストした場合を示している。そして、各リクエストに対してクライアント端末2に返却される処理結果をレスポンスとして示している。リクエストは処理、入力データを含む。リクエスト1はデータ1に対して、処理1を行うリクエストである。リクエスト2はデータ2に対して、処理2を行うリクエストである。リクエスト3はデータ3に対して、処理3を行うリクエストである。レスポンスは出力データを含む。レスポンス1の出力データはデータ2である。レスポンス2の出力データはデータ3である。レスポンス3の出力データはデータ4である。図6の示すリクエスト1から3は、前段の出力データが後段の入力データであるストリーム処理である。API1から3は処理に対応するAPIを示している。API1は処理1に対応するAPIである。API2は処理2に対応するAPIである。API3は処理3に対応するAPIである。リクエストのデータ形式の一例は、REST(Representational State Transfer)である。レスポンスのデータ形式の一例は、XML(Extensible Markup Language)やJSON(JavaScript(登録商標) Object Notation)である。   Next, processing performed by the Web API server will be described. FIG. 6 is an explanatory view showing an outline of processing performed by the Web API server. FIG. 6 shows the case where the client terminal 2 requests a plurality of processes sequentially. And the processing result returned to the client terminal 2 with respect to each request is shown as a response. The request contains processing, input data. Request 1 is a request to perform processing 1 on data 1. The request 2 is a request for performing the process 2 on the data 2. The request 3 is a request for performing the process 3 on the data 3. The response contains output data. The output data of response 1 is data 2. The output data of response 2 is data 3. The output data of response 3 is data 4. Requests 1 to 3 shown in FIG. 6 are stream processing in which the output data of the former stage is the input data of the latter stage. API 1 to 3 indicate APIs corresponding to processing. API 1 is an API corresponding to process 1. API 2 is an API corresponding to process 2. API 3 is an API corresponding to process 3. An example of the data format of the request is REST (Representational State Transfer). An example of the data format of the response is XML (Extensible Markup Language) or JSON (JavaScript (registered trademark) Object Notation).

図6に示す例は、WebAPIサーバ1が、クライアント端末2から最初のリクエストであるリクエスト1を受けた際に、その後段処理として、処理2及び処理3を推定した例である。そして、その推定が当たった場合である。したがって、最初の入力データ1は最小データ単位に分割され、最小データ単位で処理1が実行されている。処理2及び処理3も分割されたデータ単位で処理されている。また、WebAPIサーバ1は推定結果にしたがい、処理2をリクエスト2がされる前に実行を開始している。同様に、WebAPIサーバ1は処理3をリクエスト3がされる前に実行を開始している。WebAPIサーバ1は、リクエスト2を受け付けた後、処理2に対するレスポンスをクライアント端末2に返している。同様に、WebAPIサーバ1は、リクエスト3を受け付けた後、処理3に対するレスポンスをクライアント端末2に返している。処理2及び処理3は先行して実行されているため、リクエスト2及びリクエスト3がリクエストされる前に処理が完了していれば、WebAPIサーバ1はリクエストを受けた直後に、レスポンスを返すことが可能である。   The example shown in FIG. 6 is an example in which, when the Web API server 1 receives the request 1 which is the first request from the client terminal 2, the processing 2 and the processing 3 are estimated as the post-stage processing. And that is the case when the estimate is true. Therefore, the first input data 1 is divided into the minimum data units, and the processing 1 is performed in the minimum data units. Processing 2 and processing 3 are also processed in divided data units. Further, according to the estimation result, the Web API server 1 starts executing the process 2 before the request 2 is made. Similarly, the Web API server 1 starts executing the process 3 before the request 3 is made. After receiving the request 2, the Web API server 1 returns a response to the process 2 to the client terminal 2. Similarly, after receiving the request 3, the Web API server 1 returns a response to the process 3 to the client terminal 2. Since processing 2 and processing 3 are executed in advance, if processing is completed before request 2 and request 3 are requested, the Web API server 1 may return a response immediately after receiving the request. It is possible.

図7はWebAPIサーバ1が行う処理の概略を示す説明図である。図7は図6と同様に、クライアント端末2からWebAPIサーバ1へのリクエスト、及びリクエストに対しするWebAPIサーバ1の処理の概略を示している。図7の記載形式は図6と同様である。   FIG. 7 is an explanatory view showing an outline of processing performed by the Web API server 1. Similar to FIG. 6, FIG. 7 shows an outline of the processing from the client terminal 2 to the Web API server 1 and the processing of the Web API server 1 in response to the request. The description format of FIG. 7 is the same as that of FIG.

図7に示す例は、WebAPIサーバ1が、クライアント端末2から最初のリクエストであるリクエスト1を受けた際に、その後段処理として、処理2及び処理3を推定した例である。しかし、その推定が外れた場合である。この場合であっても、最初の入力データ1は最小データ単位に分割され、最小データ単位で処理1が実行されている。推定した後段の処理、処理2及び処理3も分割されたデータ単位で処理されている。また、WebAPIサーバ1は推定結果にしたがい、処理2をリクエスト2がされる前に実行を開始している。WebAPIサーバ1は分割したデータ1について処理1が完了後、レスポンス1をクライアント端末2に返却している。それに対して、クライアント端末2はリクエスト2aをWebAPIサーバ1に送信している。リクエスト2aに含まれる入力データはデータ2である。リクエスト2aの入力データがデータ2であるから、リクエスト2はリクエスト1の後段のリクエストである。また、リクエスト2aに含まれる処理は処理4である。そして、WebAPIサーバ1の推定では処理1後の処理は処理2であったため、リクエスト2aを受信した段階で、推定が外れたことが確定する。   The example shown in FIG. 7 is an example in which, when the Web API server 1 receives a request 1 which is the first request from the client terminal 2, the processing 2 and the processing 3 are estimated as the post-processing. However, this is the case when the estimation deviates. Even in this case, the first input data 1 is divided into the minimum data units, and the processing 1 is performed in the minimum data units. The estimated post-stage processing, processing 2 and processing 3 are also processed in divided data units. Further, according to the estimation result, the Web API server 1 starts executing the process 2 before the request 2 is made. The Web API server 1 returns the response 1 to the client terminal 2 after the processing 1 is completed for the divided data 1. On the other hand, the client terminal 2 transmits the request 2 a to the Web API server 1. The input data included in the request 2 a is data 2. Since the input data of request 2 a is data 2, request 2 is a request subsequent to request 1. Further, the process included in the request 2 a is process 4. Then, since the process after the process 1 is the process 2 in the estimation of the Web API server 1, when the request 2a is received, it is determined that the estimation is out.

そのため、WebAPIサーバ1はすでに開始しているストリーム処理のうち、処理2及び処理3は停止する。WebAPIサーバ1は処理1の出力であるデータ2に対して、リクエスト2aで指定されている処理4を行い、処理4の結果としてデータ4を得る。WEbAPIサーバ1は出力としてデータ4を含むレスポンス2aをクライアント端末2に返却する。   Therefore, the Web API server 1 stops the process 2 and the process 3 among the stream processes already started. The Web API server 1 performs the process 4 specified by the request 2 a on the data 2 which is the output of the process 1 and obtains the data 4 as a result of the process 4. The WEbAPI server 1 returns the response 2a including the data 4 as an output to the client terminal 2.

次に図6及び7で示した処理の概要をフローチャートにより、処理手順を説明する。図8はWebAPIサーバ1が行う処理の手順を示すフローチャートである。図8に示す処理は、WebAPIサーバ1がクライアント端末2からリクエストを受信する度に実行する。WebAPIサーバ1のCPU11は受信したリクエストから、処理及びクライアント端末2の端末情報を取得する(ステップS1)。端末情報は例えば、クライアント端末2のIP(Internet Protocol)アドレス、MACアドレス、認証ID及びセッションIDなどを含む。CPU11はリクエストが最初であるか否かを判定する(ステップS2)。最初のリクエストは、ストリーム処理を開始する契機となるリクエストである。最初のリクエストであるか否かの判定は例えば、次のように行う。CPU11はリクエストを送信したクライアント端末2とのセッションが有効であるか否か、クライアント端末2から受信した直前のリクエストの受信日時は所定時間以内か否かなどにより判定する。CPU11はクライアント端末2との間に有効なセッションがなければ最初のリクエストと判定する。CPU11はクライアント端末2との間に有効なセッションがあれば最初のリクエストではないと判定する。また、クライアント端末2から受信した直前のリクエストが所定時間以内、例えば15分以内の過去であれば、最初のリクエストと判定し、そうでなければ最初のリクエストではないと判定する。   Next, the processing procedure will be described with reference to flowcharts of the processes shown in FIGS. FIG. 8 is a flowchart showing the procedure of processing performed by the Web API server 1. The process shown in FIG. 8 is executed each time the Web API server 1 receives a request from the client terminal 2. The CPU 11 of the Web API server 1 acquires the process and the terminal information of the client terminal 2 from the received request (step S1). The terminal information includes, for example, an IP (Internet Protocol) address of the client terminal 2, a MAC address, an authentication ID, a session ID, and the like. The CPU 11 determines whether the request is the first (step S2). The first request is a request that triggers stream processing to start. The determination as to whether the request is the first request is performed as follows, for example. The CPU 11 determines whether the session with the client terminal 2 that transmitted the request is valid or not, whether the reception date and time of the immediately preceding request received from the client terminal 2 is within a predetermined time, or the like. If there is no valid session with the client terminal 2, the CPU 11 determines that it is the first request. If there is a valid session with the client terminal 2, the CPU 11 determines that it is not the first request. Also, if the immediately preceding request received from the client terminal 2 is within a predetermined time, for example, within 15 minutes, it is determined to be the first request, otherwise it is determined not to be the first request.

CPU11は受信したリクエストが最初であると判定した場合(ステップS2でYES)、後段処理の推定を行う(ステップS3)。後段処理の推定については後述する。CPU11は推定結果に基づき、ストリーム処理の最小単位を決定する(ステップS4)。CPU11は推定結果に基づき、複数の処理を含むストリーム処理を決定する。CPU11はストリーム処理の内容をRAM13など設けた一時記憶領域に一時データとして記憶する。CPU11はストリーム処理に含む各処理の最小単位をデータ単位DB141より取得する。CPU11は取得したデータ単位の大小を比較して、最も大きなデータ単位をストリーム処理の最小単位(処理データ単位)とする。CPU11は決定した最小単位で入力データを分割して、分割したデータによりストリーム処理を開始する(ステップS5)。CPU11は処理を終了する。   When the CPU 11 determines that the received request is the first (YES in step S2), it estimates post-stage processing (step S3). The estimation of the post-stage processing will be described later. The CPU 11 determines the minimum unit of stream processing based on the estimation result (step S4). The CPU 11 determines a stream process including a plurality of processes based on the estimation result. The CPU 11 stores the contents of the stream processing as temporary data in a temporary storage area provided in the RAM 13 or the like. The CPU 11 acquires the minimum unit of each process included in the stream process from the data unit DB 141. The CPU 11 compares the magnitudes of the acquired data units, and sets the largest data unit as the minimum unit of stream processing (processing data unit). The CPU 11 divides the input data according to the determined minimum unit, and starts stream processing with the divided data (step S5). The CPU 11 ends the process.

CPU11は受信したリクエストが最初でないと判定した場合(ステップS2でNO)、受信したリクエストに含まれる処理がステップS3の推定とおりであるか否かを判定する(ステップS6)。CPU11は例えば、上述の一時データを用いて、推定とおりか否かの判定を行う。CPU11は処理が推定とおりであると判定した場合(ステップS6でYES)、ストリーム処理が処理中であるか否かを判定する(ステップS7)。CPU11はストリーム処理が処理中でないと判定した場合(ステップS7でNO)、処理をステップS9に移す。CPU11はストリーム処理が処理中であると判定した場合(ステップS7でYES)、リクエストに対応する処理が終了したか否かを判定する(ステップS8)。CPU11はリクエストに対応する処理が終了していないと判定した場合(ステップS8でNO)、ステップS8を繰り返し実行し、処理の終了を待つ。CPU11はリクエストに対応する処理が終了していると判定した場合(ステップS8でYES)、クライアント端末2にレスポンスを送信する(ステップS9)。CPU11はストリーム処理が中断されたか否か、又は最後まで処理を終えたか否かを判定する(ステップS10)。CPU11はストリーム処理が中断されていると判定、又は最後まで処理を終えたと判定した場合(ステップS10でYES)、上述の一時データを削除する(ステップS11)。CPU11はストリーム処理が中断されてなく、かつ最後まで処理を終えていないと判定した場合(ステップS10でNO)、処理を終了する。   If the CPU 11 determines that the received request is not the first one (NO in step S2), it determines whether the process included in the received request is as estimated in step S3 (step S6). For example, the CPU 11 uses the above-described temporary data to determine whether or not it is as estimated. When the CPU 11 determines that the processing is as estimated (YES in step S6), it determines whether stream processing is being processed (step S7). If the CPU 11 determines that the stream processing is not in progress (NO in step S7), the CPU 11 shifts the processing to step S9. If the CPU 11 determines that the stream processing is being processed (YES in step S7), the CPU 11 determines whether the processing corresponding to the request has ended (step S8). When the CPU 11 determines that the process corresponding to the request has not ended (NO in step S8), the CPU 11 repeatedly executes step S8 and waits for the end of the process. When the CPU 11 determines that the process corresponding to the request is completed (YES in step S8), the CPU 11 transmits a response to the client terminal 2 (step S9). The CPU 11 determines whether the stream processing has been interrupted or whether the processing has been completed to the end (step S10). If the CPU 11 determines that the stream processing has been interrupted or determines that the processing has been completed to the end (YES in step S10), the above-described temporary data is deleted (step S11). If the CPU 11 determines that the stream processing has not been interrupted and the processing has not been completed to the end (NO in step S10), the processing ends.

CPU11は処理が推定とおりでないと判定した場合(ステップS6でNO)、ストリーム処理が処理中であるか否かを判定する(ステップS12)。CPU11はストリーム処理が処理中でないと判定した場合(ステップ12でNO)、処理をステップS14に移す。CPU11はストリーム処理が処理中であると判定した場合(ステップS12でYES)、ストリーム処理を停止する(ステップS13)。CPU11はリクエストに対応する処理を実行する(ステップS14)。CPU11はステップS9以降を実行する。   When the CPU 11 determines that the processing is not as estimated (NO in step S6), it determines whether or not stream processing is being processed (step S12). If the CPU 11 determines that the stream processing is not in progress (NO in step 12), the CPU 11 shifts the processing to step S14. When the CPU 11 determines that the stream processing is being processed (YES in step S12), the stream processing is stopped (step S13). The CPU 11 executes a process corresponding to the request (step S14). The CPU 11 executes step S9 and subsequent steps.

図9はWebAPIサーバの処理において、作成及び更新される一時データ231の例を示す説明図である。一時データ231はクライアントID231a及び処理表231bを含む。処理表231bは項番列、処理列、入力列、出力列、状況列、及びレスポンス列を含む。項番列は処理の順番を示す番号を記憶する。処理列は処理を特定する処理名を記憶する。処理名ではなく処理IDでもよい。入力列は入力データを記憶する。出力列は出力データを記憶する。状況列は各処理の状況を記憶する。状況とは、例えば、未処理、処理中、又は処理済である。レスポンス列はクライアント端末2に対して、レスポンスを返したか否かを記憶する。例えば、レスポンス列はレスポンスを返していれば「済」を記憶する。レスポンス列はレスポンスを返していなければ「未」を記憶する。   FIG. 9 is an explanatory view showing an example of temporary data 231 created and updated in the processing of the Web API server. The temporary data 231 includes a client ID 231a and a processing table 231b. The processing table 231 b includes an item number column, a processing column, an input column, an output column, a status column, and a response column. The item number column stores a number indicating the order of processing. The processing sequence stores the processing name specifying the processing. Not the process name but the process ID may be used. The input string stores input data. The output string stores output data. The status column stores the status of each process. The status is, for example, unprocessed, under processing, or processed. The response string stores whether or not a response has been returned to the client terminal 2. For example, the response string stores "done" if a response is returned. The response string stores "not yet" if no response is returned.

図9に示す例では、最初のリクエストに対する処理が処理1である。その後段として推定した処理が処理2及び処理3である。処理1及び処理2については、分割したすべてのデータに対しての処理が完了している。処理3のみが処理中である。レスポンスは処理1を含むリクエストに対してのレスポンスは済んでいる。この状況において、処理2を含むリクエストを受信した場合、処理2は完了しているので、CPU11はレスポンスを直ちに返すことが可能である。また、処理3を含むリクエストを受信した場合は、処理3の完了を待って、レスポンス返す。さらにまた、この状況において、処理4を含むリクエストを受信した場合、ストリーム処理を停止し、処理2に変えて、処理4を実行する。   In the example shown in FIG. 9, the process for the first request is process 1. The processes estimated as the subsequent stages are processes 2 and 3. With regard to processing 1 and processing 2, processing for all divided data has been completed. Only process 3 is in process. The response to the request including process 1 has been completed. In this situation, when the request including the process 2 is received, since the process 2 is completed, the CPU 11 can immediately return a response. When a request including the process 3 is received, the process waits for the completion of the process 3 and returns a response. Furthermore, in this situation, when a request including the process 4 is received, the stream process is stopped, the process 2 is changed, and the process 4 is executed.

続いて、推定処理について説明する。推定処理は図8のステップS3で行う処理である。図10は推定処理の手順例を示すフローチャートである。CPU11は最初のリクエストに含まれる処理を検索対象処理とする(ステップS21)。CPU11は検索対象処理と同一の処理を履歴DB142に対して検索する(ステップS22)。CPU11は検索にヒットした履歴を選択する(ステップS23)。CPU11は選択した履歴の処理の出力データを用い、かつ、履歴の処理とアクセス日時が近い処理(後続の候補処理)を、履歴DB142に対して検索する(ステップS24)。CPU11は検索の結果を一時的に記憶する(ステップS25)。CPU11は未処理の履歴があるか否かを判定する(ステップS26)。CPU11は未処理の履歴があると判定した場合(ステップS26でYES)、処理をステップS23へ戻す。CPU11は未処理の履歴がないと判定した場合(ステップS26でNO)、後続の候補処理があるか否かを判定する(ステップS27)。すなわち、ステップS24を繰り返した結果、1つ以上のレコードがヒットしたか否かを判定する。CPU11は候補処理があると判定した場合(ステップS27でYES)、候補処理中から1つを推定後続処理として決定する(ステップS28)。CPU11は決定した処理を検索対象の処理とする(ステップS29)。CPU11は処理をステップS22に戻す。CPU11は候補処理がないと判定した場合(ステップS27でNO)、後続の処理がないものとして、処理を終了する。   Subsequently, estimation processing will be described. The estimation process is a process performed in step S3 of FIG. FIG. 10 is a flowchart showing an example of the procedure of the estimation process. The CPU 11 sets the process included in the first request as the search target process (step S21). The CPU 11 searches the history DB 142 for the same process as the search target process (step S22). The CPU 11 selects the history of hits in the search (step S23). The CPU 11 uses the output data of the process of the selected history and searches the history DB 142 for a process (following candidate process) whose access date and time is close to the process of the history (step S24). The CPU 11 temporarily stores the search result (step S25). The CPU 11 determines whether or not there is an unprocessed history (step S26). If the CPU 11 determines that there is an unprocessed history (YES in step S26), the process returns to step S23. If the CPU 11 determines that there is no unprocessed history (NO in step S26), it determines whether there is a subsequent candidate process (step S27). That is, it is determined whether one or more records hit as a result of repeating step S24. If the CPU 11 determines that there is a candidate process (YES in step S27), one of the candidate processes is determined as an estimated subsequent process (step S28). The CPU 11 sets the determined process as a search target process (step S29). The CPU 11 returns the process to step S22. If the CPU 11 determines that there is no candidate process (NO in step S27), the process ends, assuming that there is no subsequent process.

推定処理の内容を、例を用いて再度説明する。最初のリクエストに含まれる処理が「映像デコード」であるとする。CPU11は検索対象処理を「映像デコード」とする(ステップS21)。CPU11は履歴DB142において、処理列が「映像デコード」であるレコードを検索する(ステップS22)。CPU11は検索結果として、項番1、5、7及びその他の履歴を取得する。CPU11は項番1、5、7及びその他のレコードを順次選択し(ステップS23)、後続となりうる候補処理を検索する(ステップS24)。例えば、項番1のレコードに対しては、項番2のレコードがヒットする。項番5のレコードに対しては、項番6のレコードがヒットする。項番7のレコードに対しては、項番8のレコードがヒットする。検索結果として、CPU11は項番2、6、及び8のレコードを一時的に記憶する(ステップS25)。CPU11はステップS22でヒットしたレコードのうち、未処理のものあれば(ステップS26でYES)、ステップS23以降を繰り返す。CPU11はすべてのレコードを処理していれば(ステップS26でNO)、候補処理の有無を判定する(ステップS27)。ここでは、候補処理として、少なくとも項番2、6及び8のレコードが記憶されているので(ステップS27でYES)、CPU11はいずれの項番に含まれる処理を後続処理とするかを決定する(ステップS28)。ここでは、「映像デコード」の履歴は項番1、5、7のみしか示していないため、後続処理の決定は困難であるが、他にも履歴が多数あることを前提としている。したがって、「映像デコード」の履歴すべてに対しては、後続の候補処理が多数ある。例えば、CPU11は後続の候補処理の度数を求め、最も度数が大きいものを推定後続処理として決定する。例えば、CPU11は「ノイズ除去」を推定後続処理として決定する。CPU11は「ノイズ除去」を検索対処処理とする(ステップS29)。CPU11はステップS22を実行する。ステップS29の結果、項番2及び8等の履歴レコードがヒットする。CPU11はステップS23以降を行い、さらに後続処理を推定する。CPU11は候補処理がみつからなくなった場合(ステップS27でNO)、推定処理を終了する。なお、後続処理の数が多数となる場合は、途中で足切りをしても良い。例えば、後続の処理は最大10とし、後続処理の数が10となった時点で、推定処理を終了する。   The contents of the estimation process will be described again using an example. It is assumed that the process included in the first request is "image decoding". The CPU 11 sets the search target processing to "video decoding" (step S21). The CPU 11 searches the history DB 142 for a record whose processing sequence is "image decoding" (step S22). The CPU 11 acquires item numbers 1, 5, 7 and other histories as search results. The CPU 11 sequentially selects item numbers 1, 5, 7 and other records (step S23), and searches for candidate processes that can be subsequent (step S24). For example, for the record of item No. 1, the record of item No. 2 is hit. For the item No. 5 record, the item No. 6 record is hit. For the item No. 7 record, the item No. 8 record is hit. As a search result, the CPU 11 temporarily stores the records of the item numbers 2, 6 and 8 (step S25). If there is an unprocessed record among the records hit in step S22 (YES in step S26), the CPU 11 repeats step S23 and subsequent steps. If all the records have been processed (NO in step S26), the CPU 11 determines the presence or absence of candidate processing (step S27). Here, at least the records of item numbers 2, 6 and 8 are stored as the candidate process (YES in step S27), the CPU 11 determines which item number the process included in is to be the subsequent process ( Step S28). Here, since only the item numbers 1, 5 and 7 indicate the history of “image decoding”, it is difficult to determine the subsequent processing, but it is assumed that there are many other histories. Therefore, there are a large number of subsequent candidate processes for all the "video decoding" histories. For example, the CPU 11 obtains the frequency of the subsequent candidate process, and determines the one with the largest frequency as the estimated subsequent process. For example, the CPU 11 determines “noise removal” as the estimation subsequent processing. The CPU 11 sets “noise removal” as the search handling process (step S29). The CPU 11 executes step S22. As a result of step S29, history records such as item numbers 2 and 8 are hit. The CPU 11 performs step S23 and subsequent steps, and further estimates the subsequent processing. When the candidate process is not found (NO in step S27), the CPU 11 ends the estimation process. If the number of subsequent processes is large, it may be cut off halfway. For example, the number of subsequent processes is 10 at maximum, and the estimation process ends when the number of subsequent processes reaches 10.

本実施形態が奏する効果について説明する。従来、一連のリクエストにより、WebAPIサーバが連続処理を行う場合であっても、リクエストに対してレスポンスを返した後、WebAPIサーバは後段リクエストの待ち状態となる。すなわち、前段の処理が完了し、次のリクエストが来なければ、後段の処理が実行されない。そのため、例えば、連続した複数の処理を行うことが多い画像処理の場合、スループットの低下が著しくなる。スループットの低下はレスポンスの遅延につながる。   The effects of the present embodiment will be described. Conventionally, even if the Web API server performs continuous processing according to a series of requests, the Web API server is in a waiting state for a subsequent request after returning a response to the request. That is, if the processing of the previous stage is completed and the next request does not arrive, the processing of the subsequent stage is not executed. Therefore, for example, in the case of image processing that often performs a plurality of continuous processes, the throughput is significantly reduced. A reduction in throughput leads to a delay in response.

本実施形態のWebAPIサーバ1はクライアント端末2から最初のリクエストを受けた段階で、後続処理を推定する。WebAPIサーバ1は推定結果に基づいて、ストリーム処理としてリクエストを処理する。ストリーム処理に含まれる各処理は後続リクエストよりも先行して実行する。処理が後続リクエストされる前に完了した場合、後続リクエストに対するレスポンス時間は通信時間のみとなる。その結果、スループットを高め、クライアントへのレスポンス速度を向上することが可能となる。ストリーム処理は、特に連続処理の数が多い場合や、データサイズが大きい場合に効果が高くなる。   When receiving the first request from the client terminal 2, the Web API server 1 of the present embodiment estimates the subsequent processing. The Web API server 1 processes the request as stream processing based on the estimation result. Each process included in the stream process is executed prior to the subsequent request. If the process is completed before the subsequent request is made, the response time for the subsequent request is only the communication time. As a result, it is possible to increase the throughput and improve the response speed to the client. The stream processing is effective particularly when the number of continuous processing is large or when the data size is large.

図11はWebAPIサーバが備える機能の一例を示すブロック図である。WebAPIサーバ1はリクエスト受信部11a、推定部11b、取得部11c、単位実行部11d及び返却部11eを含む。これらの各機能部は、CPU11が制御プログラム1Pに基づいて動作することにより、実現される。   FIG. 11 is a block diagram showing an example of the function of the Web API server. The Web API server 1 includes a request reception unit 11a, an estimation unit 11b, an acquisition unit 11c, a unit execution unit 11d, and a return unit 11e. These function units are realized by the CPU 11 operating based on the control program 1P.

リクエスト受信部11aは第1リクエスト及び第2リクエストを受信する。推定部11bは第1リクエスト以降に呼び出される第2リクエストを推定する。取得部11cは第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得する。単位実行部11dは第1リクエストの処理を処理データ単位で実行する。また、単位実行部11dは処理データ単位での第1リクエストの処理が完了する毎に、完了した第1リクエストの処理で得た処理データ単位に対して推定した第2リクエストの処理を実行する。返却部11eは単位実行部11dによる第1リクエストの処理結果を返却する。   The request receiving unit 11a receives the first request and the second request. The estimation unit 11 b estimates a second request to be called after the first request. The acquisition unit 11c acquires the smallest processable data unit that can be processed, based on the processing of the second request. The unit execution unit 11d executes the processing of the first request in units of processing data. Furthermore, each time the processing of the first request in units of processing data is completed, the unit execution unit 11 d executes the processing of the second request estimated on the unit of processing data obtained in the processing of the completed first request. The return unit 11e returns the processing result of the first request by the unit execution unit 11d.

各実施の形態で記載されている技術的特徴(構成要件)はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
The technical features (component requirements) described in the respective embodiments can be combined with each other, and by combining, new technical features can be formed.
It should be understood that the embodiments disclosed herein are illustrative in all respects and not restrictive. The scope of the present invention is indicated not by the meaning described above but by the claims, and is intended to include all the modifications within the meaning and scope equivalent to the claims.

以上の実施の形態に関し、さらに以下の付記を開示する。   Further, the following appendices will be disclosed regarding the above embodiment.

(付記1)
クライアントからの第1リクエストを受信するコンピュータに、
前記第1リクエスト以降に呼び出される第2リクエストを推定し、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、
前記第1リクエストの処理を前記処理データ単位で行い、
前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を行う
処理を実行させるデータ処理プログラム。
(Supplementary Note 1)
On the computer receiving the first request from the client,
Estimating a second request to be called after the first request,
Based on the processing of the second request, obtain the smallest processing data unit that can be processed,
Processing the first request in units of the processing data;
A data processing program for executing processing of the second request on the processing data unit obtained by processing of the completed first request, every time processing of the first request in the processing data unit is completed. .

(付記2)
第2リクエストと処理データ単位とを対応付けて記憶する記憶部から、推定した前記第2リクエストに対応付けられた処理データ単位を取得する
付記1に記載のデータ処理プログラム。
(Supplementary Note 2)
The data processing program according to Appendix 1, wherein a processing data unit associated with the estimated second request is acquired from a storage unit that stores the second request and the processing data unit in association with each other.

(付記3)
前記第1リクエストに続いて前記クライアントにより呼び出されたリクエストが、推定した前記第2リクエストと異なる場合、推定した前記第2リクエストの処理は中止し、前記呼び出されたリクエストの処理を実行する
付記1又は付記2に記載のデータ処理プログラム。
(Supplementary Note 3)
If the request called by the client following the first request is different from the estimated second request, the processing of the estimated second request is aborted, and the processing of the called request is executed. Or the data processing program as described in Supplementary Note 2.

(付記4)
過去に呼び出されたリクエストを記憶する履歴記憶部を用いて、前記第2リクエストの推定を行う
付記1から付記3のいずれか1つに記載のデータ処理プログラム。
(Supplementary Note 4)
The data processing program according to any one of appendices 1 to 3, wherein estimation of the second request is performed using a history storage unit that stores requests called in the past.

(付記5)
前記履歴記憶部は、呼び出されたリクエストに対応付けて、呼び出された時間、入力データ及び出力データを記憶しており、
2つのリクエストの呼び出された時間の前後を判定し、
前のリクエストの出力データが後のリクエストの入力データである場合に、前のリクエストを第1リクエスト、後のリクエストを第2リクエストとする組データを生成し、
生成した組データより、第1リクエスト毎に対応する第2リクエストの度数を算出し、
度数の最も多い第2リクエストを、第1リクエストに対して推定された第2リクエストとする
付記4に記載のデータ処理プログラム。
(Supplementary Note 5)
The history storage unit stores the called time, input data and output data in association with the called request,
Determine before and after the time when the two requests were called,
If the output data of the previous request is the input data of the later request, it generates pair data in which the first request is the first request and the second request is the second request,
The frequency of the second request corresponding to each first request is calculated from the generated pair data,
The data processing program according to Appendix 4, wherein the second request with the highest frequency is the second request estimated for the first request.

(付記6)
前記データ処理単位の全てについて前記第1リクエストの処理が完了した場合、前記第1リクエストの処理結果を前記クライアントに返却する
付記1から付記5のいずれか1つに記載のデータ処理プログラム。
(Supplementary Note 6)
The data processing program according to any one of appendices 1 to 5, wherein the processing result of the first request is returned to the client when the processing of the first request is completed for all of the data processing units.

(付記7)
クライアントからの第1リクエストを受信する受信部と、
前記第1リクエスト以降に呼び出される第2リクエストを推定する推定部と、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得する取得部と、
前記第1リクエストの処理を前記処理データ単位で実行する単位実行部と
を備え、
前記単位実行部は、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を実行する
データ処理装置。
(Appendix 7)
A receiver for receiving a first request from a client;
An estimation unit configured to estimate a second request to be called after the first request;
An acquisition unit for acquiring a minimum processable data processing unit based on the processing of the second request;
A unit execution unit that executes the processing of the first request in units of the processing data;
The unit execution unit executes the processing of the second request on the processing data unit obtained by the processing of the completed first request, every time the processing of the first request in the processing data unit is completed. Data processing unit.

(付記8)
コンピュータが、
クライアントからの第1リクエストを受信し、
前記第1リクエスト以降に呼び出される第2リクエストを推定し、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、
前記第1リクエストの処理を前記処理データ単位で実行し、
前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を実行する
処理を実行するデータ処理方法。
(Supplementary Note 8)
The computer is
Receive the first request from the client,
Estimating a second request to be called after the first request,
Based on the processing of the second request, obtain the smallest processing data unit that can be processed,
Execute processing of the first request in units of the processing data;
Data processing of executing processing of the second request on the processing data unit obtained by processing of the completed first request, every time processing of the first request in the processing data unit is completed Method.

(付記9)
第1リクエスト及び第2リクエストを送信する送信部と、
第1リクエストの処理結果を受信する結果受信部と
を有するクライアント、及び
前記第1リクエスト及び前記第2リクエストを受信するリクエスト受信部と、
前記第1リクエスト以降に呼び出される第2リクエストを推定する推定部と、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得する取得部と、
前記第1リクエストの処理を前記処理データ単位で実行する単位実行部と、
前記単位実行部による前記第1リクエストの処理結果を返却する返却部と
を有するデータ処理装置
を備え、
前記単位実行部は、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を実行し、
前記結果受信部が前記第1リクエストの処理結果を受信した後に、前記送信部は前記第2リクエストを送信する
データ処理システム。
(Appendix 9)
A transmitter for transmitting the first request and the second request;
A client having a result receiving unit that receives the processing result of the first request; and a request receiving unit that receives the first request and the second request;
An estimation unit configured to estimate a second request to be called after the first request;
An acquisition unit for acquiring a minimum processable data processing unit based on the processing of the second request;
A unit execution unit that executes processing of the first request in units of the processing data;
A data processing apparatus comprising: a return unit for returning the processing result of the first request by the unit execution unit;
The unit execution unit executes the processing of the second request on the processing data unit obtained by the processing of the completed first request, every time the processing of the first request in the processing data unit is completed. ,
The data processing system, wherein the transmitting unit transmits the second request after the result receiving unit receives the processing result of the first request.

1 サーバ
11 CPU
11a リクエスト受信部
11b 推定部
11c 取得部
11d 単位実行部
11e 返却部
12 ROM
13 RAM
14 大容量記憶部
141 データ単位DB
142 履歴DB
15 通信部
16 読み取り部
1P 制御プログラム
1a 可搬型記憶媒体
1b 半導体メモリ
2、3 クライアント端末
1 server 11 CPU
11a request reception unit 11b estimation unit 11c acquisition unit 11d unit execution unit 11e return unit 12 ROM
13 RAM
14 Large-capacity storage unit 141 Data unit DB
142 History DB
15 communication unit 16 reading unit 1P control program 1a portable storage medium 1b semiconductor memory 2, 3 client terminal

Claims (6)

クライアントからの第1リクエストを受信するコンピュータに、
前記第1リクエスト以降に呼び出される第2リクエストを推定し、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、
前記第1リクエストの処理を前記処理データ単位で行い、
前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を行う
処理を実行させるデータ処理プログラム。
On the computer receiving the first request from the client,
Estimating a second request to be called after the first request,
Based on the processing of the second request, obtain the smallest processing data unit that can be processed,
Processing the first request in units of the processing data;
A data processing program for executing processing of the second request on the processing data unit obtained by processing of the completed first request, every time processing of the first request in the processing data unit is completed. .
第2リクエストと処理データ単位とを対応付けて記憶する記憶部から、推定した前記第2リクエストに対応付けられた処理データ単位を取得する
請求項1に記載のデータ処理プログラム。
The data processing program according to claim 1, wherein a processing data unit associated with the estimated second request is acquired from a storage unit that stores the second request and the processing data unit in association with each other.
過去に呼び出されたリクエストを記憶する履歴記憶部を用いて、前記第2リクエストの推定を行う
請求項1又は請求項2に記載のデータ処理プログラム。
The data processing program according to claim 1 or 2, wherein estimation of the second request is performed using a history storage unit that stores a request called in the past.
クライアントからの第1リクエストを受信する受信部と、
前記第1リクエスト以降に呼び出される第2リクエストを推定する推定部と、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得する取得部と、
前記第1リクエストの処理を前記処理データ単位で実行する単位実行部と
を備え、
前記単位実行部は、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を実行する
データ処理装置。
A receiver for receiving a first request from a client;
An estimation unit configured to estimate a second request to be called after the first request;
An acquisition unit for acquiring a minimum processable data processing unit based on the processing of the second request;
A unit execution unit that executes the processing of the first request in units of the processing data;
The unit execution unit executes the processing of the second request on the processing data unit obtained by the processing of the completed first request, every time the processing of the first request in the processing data unit is completed. Data processing unit.
コンピュータが、
クライアントからの第1リクエストを受信し、
前記第1リクエスト以降に呼び出される第2リクエストを推定し、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得し、
前記第1リクエストの処理を前記処理データ単位で実行し、
前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して前記第2リクエストの処理を実行する
処理を実行するデータ処理方法。
The computer is
Receive the first request from the client,
Estimating a second request to be called after the first request,
Based on the processing of the second request, obtain the smallest processing data unit that can be processed,
Execute processing of the first request in units of the processing data;
Data processing of executing processing of the second request on the processing data unit obtained by processing of the completed first request, every time processing of the first request in the processing data unit is completed Method.
第1リクエスト及び第2リクエストを送信する送信部と、
第1リクエストの処理結果を受信する結果受信部と
を有するクライアント、及び
前記第1リクエスト及び前記第2リクエストを受信するリクエスト受信部と、
前記第1リクエスト以降に呼び出される第2リクエストを推定する推定部と、
前記第2リクエストの処理に基づき、処理可能な最小の処理データ単位を取得する取得部と、
前記第1リクエストの処理を前記処理データ単位で実行する単位実行部と、
前記単位実行部による前記第1リクエストの処理結果を返却する返却部と
を有するデータ処理装置
を備え、
前記単位実行部は、前記処理データ単位での前記第1リクエストの処理が完了する毎に、完了した前記第1リクエストの処理で得た処理データ単位に対して推定した前記第2リクエストの処理を実行し、
前記結果受信部が前記第1リクエストの処理結果を受信した後に、前記送信部は前記第2リクエストを送信する
データ処理システム。
A transmitter for transmitting the first request and the second request;
A client having a result receiving unit that receives the processing result of the first request; and a request receiving unit that receives the first request and the second request;
An estimation unit configured to estimate a second request to be called after the first request;
An acquisition unit for acquiring a minimum processable data processing unit based on the processing of the second request;
A unit execution unit that executes processing of the first request in units of the processing data;
A data processing apparatus comprising: a return unit for returning the processing result of the first request by the unit execution unit;
The unit execution unit performs processing of the second request estimated for the processing data unit obtained by processing of the completed first request every time processing of the first request in the processing data unit is completed. Run
The data processing system, wherein the transmitting unit transmits the second request after the result receiving unit receives the processing result of the first request.
JP2017080077A 2017-04-13 2017-04-13 Data processing programs, data processing equipment, data processing methods and data processing systems Expired - Fee Related JP6900757B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017080077A JP6900757B2 (en) 2017-04-13 2017-04-13 Data processing programs, data processing equipment, data processing methods and data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017080077A JP6900757B2 (en) 2017-04-13 2017-04-13 Data processing programs, data processing equipment, data processing methods and data processing systems

Publications (2)

Publication Number Publication Date
JP2018180959A true JP2018180959A (en) 2018-11-15
JP6900757B2 JP6900757B2 (en) 2021-07-07

Family

ID=64275623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017080077A Expired - Fee Related JP6900757B2 (en) 2017-04-13 2017-04-13 Data processing programs, data processing equipment, data processing methods and data processing systems

Country Status (1)

Country Link
JP (1) JP6900757B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023014656A (en) * 2021-07-19 2023-01-31 日本電信電話株式会社 Communication system, device, method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069468A (en) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> Apparatus and method for generating predicted response
JP2004246905A (en) * 2000-03-20 2004-09-02 Nec Corp System and method for intellectual fetch and delivery of web contents
JP2008206039A (en) * 2007-02-22 2008-09-04 Sharp Corp Content viewing device
JP2011003198A (en) * 2003-08-06 2011-01-06 Panasonic Corp Method, server, and client used in client-server distributed system
US20130188723A1 (en) * 2010-10-04 2013-07-25 Takeshi Tanaka Image processing device, image coding method, and image processing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069468A (en) * 1996-06-14 1998-03-10 Internatl Business Mach Corp <Ibm> Apparatus and method for generating predicted response
JP2004246905A (en) * 2000-03-20 2004-09-02 Nec Corp System and method for intellectual fetch and delivery of web contents
JP2011003198A (en) * 2003-08-06 2011-01-06 Panasonic Corp Method, server, and client used in client-server distributed system
JP2008206039A (en) * 2007-02-22 2008-09-04 Sharp Corp Content viewing device
US20130188723A1 (en) * 2010-10-04 2013-07-25 Takeshi Tanaka Image processing device, image coding method, and image processing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023014656A (en) * 2021-07-19 2023-01-31 日本電信電話株式会社 Communication system, device, method and program
JP7731100B2 (en) 2021-07-19 2025-08-29 Ntt株式会社 Communication system, device, method and program

Also Published As

Publication number Publication date
JP6900757B2 (en) 2021-07-07

Similar Documents

Publication Publication Date Title
CN106933854B (en) Short link processing method and device and server
CN106933871B (en) Short link processing method, device and short link server
US9225617B2 (en) Techniques for detecting new browser windows
US20220292142A1 (en) Automated web page accessing
WO2012094339A1 (en) Techniques for detecting inactive browser windows
CN110569470B (en) User matching method and device, readable medium and electronic equipment
WO2015106692A1 (en) Webpage pushing method, client, server, and system
US20190102465A1 (en) Api query extension
JP5841299B2 (en) Method for pushing information and apparatus for pushing information
KR20140063859A (en) Methods and apparatus for progressive pattern matching in a mobile environment
CN104158838A (en) Information pushing method and device
KR101650829B1 (en) Method, apparatus, and system for acquiring object
US20170155711A1 (en) Processing Requests
CN109471713B (en) Method and device for inquiring information
CN103581878B (en) A kind of method and apparatus for acquisition target resource in a mobile device
JP6900757B2 (en) Data processing programs, data processing equipment, data processing methods and data processing systems
CN111659125B (en) Friend recommendation method and device based on game and computer readable storage medium
CN104618324A (en) Method and device for transmitting data and detecting data legality
JP6293743B2 (en) Method and apparatus for performing optimized object search
US9280384B2 (en) Method, server and system for processing task data
CA2517211A1 (en) System and method for searching and retrieving certificates
US20160187231A1 (en) Performance testing method, performance testing apparatus performing the same and storage medium storing the same
JP6816511B2 (en) Session management program, session management method, information processing device, and information processing system
CN113709232A (en) Data packet loading method, client agent, device and storage medium
CN110309403B (en) Method and device for capturing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210531

R150 Certificate of patent or registration of utility model

Ref document number: 6900757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees