JP6834743B2 - 更新処理プログラム、更新処理装置、及び更新処理方法 - Google Patents

更新処理プログラム、更新処理装置、及び更新処理方法 Download PDF

Info

Publication number
JP6834743B2
JP6834743B2 JP2017083982A JP2017083982A JP6834743B2 JP 6834743 B2 JP6834743 B2 JP 6834743B2 JP 2017083982 A JP2017083982 A JP 2017083982A JP 2017083982 A JP2017083982 A JP 2017083982A JP 6834743 B2 JP6834743 B2 JP 6834743B2
Authority
JP
Japan
Prior art keywords
update
information
api
response
request information
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
Application number
JP2017083982A
Other languages
English (en)
Other versions
JP2018181215A (ja
Inventor
信哉 北島
信哉 北島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2017083982A priority Critical patent/JP6834743B2/ja
Priority to US15/956,243 priority patent/US10521219B2/en
Publication of JP2018181215A publication Critical patent/JP2018181215A/ja
Application granted granted Critical
Publication of JP6834743B2 publication Critical patent/JP6834743B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

開示の技術は、更新処理プログラム、更新処理装置、及び更新処理方法に関する。
従来、Webクライアント、Webサーバ、及びキャッシュデータをWebサーバの代理でWebクライアントに応答する複数のWebプロキシサーバを備えたネットワークシステムが提案されている。このネットワークシステムでは、Webクライアントと各Webプロキシサーバとの間で過去にキャッシュデータを送受信した際の応答時間に基づき、応答時間が最も短いWebプロキシサーバを選択してキャッシュデータが応答される。
また、キャッシュデータを保持する複数のプロキシサーバを備えた情報処理システムにおいて、トークンを用いてキャッシュデータを無効化する技術が提案されている。
また、通信ネットワーク内のセッション情報を、情報ネットワークに提供する情報提供システムが提案されている。
特開2013−105227号公報 特表2016−538669号公報 特開2009−042829号公報
ところで、WebクライアントとWebサーバとの間の通信において、前述したキャッシュデータを用いた技術によって、参照処理については応答性能を向上させることができる。しかしながら、前述したキャッシュデータを用いた技術では、更新処理については、キャッシュデータを無効化することについては考慮されているものの、キャッシュデータを用いることで応答性能を向上させることについては考慮されていない。
開示の技術は、一つの側面として、更新処理における応答性能を向上させることを目的とする。
一つの態様として、受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を記憶部に記憶する。そして、前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する。
一つの側面として、更新処理における応答性能を向上させることができる、という効果を有する。
API基盤を利用したWebシステムを説明するためのブロック図である。 Webシステムにおける応答時間を説明するためのブロック図であり、(1)はAPI基盤を利用しない場合、(2)はAPI基盤を利用し、かつAPI基盤がキャッシュ機能を有さない場合、(3)はAPI基盤を利用し、かつAPI基盤がキャッシュ機能を有する場合の図である。 実施形態に係る更新処理装置の機能ブロック図である。 組み合わせデータベース(DB)の一例を示す図である。 関連付けDBの一例を示す図である。 特定用DBの一例を示す図である。 更新処理に対応する要求情報の一例を示す図である。 参照処理の実行結果の一例を示す図である。 残数履歴DBに記憶される情報の一例を示すグラフである。 最短期間DBの一例を示す図である。 更新情報DBの一例を示す図である。 応答情報DBに記憶される応答情報の一例を示す図である。 タイミングによる応答情報の違いを説明するための図である。 実施形態に係る更新処理装置として機能するコンピュータの概略構成を示すブロック図である。 実施形態に係る計数処理の一例を示すフローチャートである。 実施形態に係る関連付け処理の一例を示すフローチャートである。 実施形態に係る第1推定処理の一例を示すフローチャートである。 実施形態に係る第2推定処理の一例を示すフローチャートである。 実施形態に係る最短期間算出処理の一例を示すフローチャートである。 実施形態に係る更新情報更新処理の一例を示すフローチャートである。 実施形態に係る応答処理の一例を示すフローチャートである。
以下、図面を参照して、開示の技術の実施形態の例を詳細に説明する。なお、以下では、開示の技術をHypertext Transfer Protocol(HTTP)等のプロトコルを用いたWebシステムに適用した形態例を説明する。
まず、実施形態の詳細を説明する前に、Webシステムにおける更新処理の問題点を説明する。近年、異なる複数の機能を組み合わせて新たなサービスを提供するマッシュアップが行われている。マッシュアップでは、一例として図1に示すように、サービスを提供する事業者は、異なる複数のシステムにより提供される各サービス用のApplication Programming Interface(API)が登録されたAPI基盤を利用する。事業者は、API基盤を利用することで、各サービス用のAPIを組み合わせて利用し、新たなサービスを提供する。また、事業者は、API基盤を利用することで、API基盤が提供する各APIの呼び出し回数を参照する機能、各APIの応答時間を参照する機能、認証機能、及びキャッシュ機能等の付加機能も利用することができる。
図2を参照して、例えば、事業者がAシステムから提供されるAPIを用いてAシステムのサービスを利用する場合について説明する。なお、図2(1)は、事業者が直接Aシステムのサービスを利用する場合を示し、図2(2)は、事業者がAPI基盤を経由してAシステムのサービスを利用する場合で、かつAPI基盤がキャッシュ機能を有さない場合を示す。また、図2(3)は、事業者がAPI基盤を経由してAシステムのサービスを利用する場合で、かつAPI基盤がキャッシュ機能を有する場合を示す。
一例として図2(2)に示すように、事業者がAPI基盤を経由してAシステムのサービスを利用する場合、図2(1)に示すように、直接Aシステムのサービスを利用する場合に比較して、API基盤を経由する分だけ応答時間が長くなる。なお、本明細書では、応答時間とは、事業者が、実行対象の処理の要求を示す要求情報を送信してから、要求情報に対する応答を示す応答情報を受信するまでの時間をいう。
事業者がAPI基盤を経由してAシステムのサービスを利用する場合の応答時間を短縮するために、一例として図2(3)に示すように、API基盤がキャッシュデータを保持することが考えられる。すなわち、Aシステムが応答する応答情報をAPI基盤がキャッシュデータとして保持し、事業者から送信された要求情報に対してAPI基盤がキャッシュデータを応答することで、応答時間を短縮することができる。
このキャッシュデータを応答する手法では、Aシステムが保持する情報を更新せずに参照する参照処理(以下、単に「参照処理」という)では応答時間を短縮することができる。しかしながら、Aシステムが保持する情報を更新する更新処理(以下、単に「更新処理」という)では、キャッシュデータとAシステムが保持する情報とに齟齬が発生する可能性があるため、キャッシュデータを応答することができない。この結果、更新処理では、応答時間を短縮することができない。そこで、本実施形態では、更新処理における応答性能を向上させることを目的とする。
次に、図3を参照して、本実施形態に係る更新処理装置10の機能的な構成を説明する。更新処理装置10は、前述したAPI基盤を実現する装置である。なお、更新処理装置10の例としては、パーソナルコンピュータ及びサーバコンピュータ等の情報処理装置が挙げられる。
図3に示すように、更新処理装置10は、受付部16、第1計数部18、第2計数部20、関連付け部22、推定部24、算出部26、記憶制御部28、判定部30、実行部32、及び応答部34を含む。また、更新処理装置10の所定の記憶領域には、組み合わせデータベース(DB)40、関連付けDB42、特定用DB44、残数履歴DB46、最短期間DB48、更新情報DB50、及び応答情報DB52が記憶される。更新処理装置10は、事業者12からの要求を示す要求情報を受け付けると、異なる複数のシステムから提供される各API14のうち、要求に応じたAPI14を呼び出すことにより、要求に応じた処理を実行する。そして、更新処理装置10は、要求情報に応じた応答情報を事業者12に送信する。なお、以下では、検索処理等の参照処理を実行する際に用いられるAPI14を「参照API」といい、商品の購入処理、乗り物の座席の予約処理、及び宿泊施設の部屋の予約処理等の更新処理を実行する際に用いられるAPI14を「更新API」という。
図4に、組み合わせDB40の一例を示す。組み合わせDB40は、参照APIが呼び出された場合に、呼び出された参照APIと、参照APIに対応して呼び出される更新APIとを関連付けるために用いられるDBである。なお、参照APIに対応して更新APIが呼び出される場合の例としては、商品の検索を行った後に、検索により得られた商品を購入する処理等が挙げられる。なお、検索処理の例としては、商品を一意に特定する識別情報を用いて商品を検索して特定する処理、及びキーワード検索等によって一覧表示された複数の商品から目的とする商品を選択する処理等が挙げられる。
図4に示すように、組み合わせDB40には、1stAPI、2ndAPI、組み合わせ呼び出し回数、及び1stAPI呼び出し回数が記憶される。1stAPI列には、参照APIを識別する情報が記憶される。2ndAPI列には、更新APIを識別する情報が記憶される。組み合わせ呼び出し回数列には、1stAPI列に記憶された参照APIが呼び出されてから所定期間内(例えば10秒以内)に2ndAPI列に記憶された更新APIが呼び出された回数が記憶される。1stAPI呼び出し回数列には、1stAPI列に記憶された参照APIが呼び出された回数が記憶される。
図5に、関連付けDB42の一例を示す。関連付けDB42は、関連付けられた参照API及び更新APIに関する情報が記憶されるDBである。図5に示すように、関連付けDB42には、参照API、参照APIのユニークIDフィールド、残数フィールド、残数無し値、更新API、及び更新APIのユニークIDフィールドが記憶される。参照API列には、参照APIを識別する情報が記憶される。更新API列には、更新APIを識別する情報が記憶される。参照APIのユニークIDフィールド列、残数フィールド列、残数無し値列、及び更新APIのユニークIDフィールド列に記憶される情報については後述する。
図6に、特定用DB44の一例を示す。特定用DB44は、関連付けDB42の参照APIの残数無し値列に記憶する情報を特定するために用いられるDBである。図6に示すように、特定用DB44には、参照API、フィールド、値、更新APIの呼び出し回数、及び更新APIの非呼び出し回数が記憶される。参照API列には、参照APIを識別する情報が記憶される。フィールド列、値列、更新APIの呼び出し回数列、及び更新APIの非呼び出し回数列に記憶される情報については後述する。
受付部16は、事業者12から送信された要求情報を受け付ける。図7に、要求情報の一例を示す。なお、図7では、更新処理に対応する要求情報の一例を示している。図7に示すように、本実施形態に係る要求情報には、値(例えば、「22210」)と、値の名称(例えば、「userId」)との組み合わせ(所謂フィールド)が複数含まれる。なお、本実施形態では、要求情報のデータ形式として、JavaScript(登録商標) Object Notation(JSON)に対応するデータ形式を適用した場合について説明するが、これに限定されない。例えば、要求情報のデータ形式として、Extensible Markup Language(XML)等の他の構造化されたデータ形式を適用してもよい。
また、図7に示すように、要求情報には、書籍及び乗り物の座席等の処理対象の商品を識別する識別情報(図7の例では「isbn」フィールド)が含まれる。また、本実施形態では、要求情報には、要求情報の送信元のアプリケーションを識別するためのID(図7の例では「applicationId」フィールド)が含まれる。本実施形態では、要求情報の「applicationId」フィールドの値(図7の例では「12645215」)によって、要求情報に応じて実行されるAPI14を特定することができる。すなわち、要求情報の「applicationId」の値によって、要求情報に応じて実行される処理が参照処理及び更新処理の何れの処理であるかを判別することができる。
第1計数部18は、受付部16により受け付けられた要求情報に応じて参照APIが呼び出された場合、組み合わせDB40の参照APIに対応する1stAPI呼び出し回数列の値に1を加算する。また、第1計数部18は、参照APIが呼び出されてから所定期間内に更新APIが呼び出された場合、組み合わせDB40の呼び出された参照API及び更新APIの組み合わせに対応する組み合わせ呼び出し回数列の値に1を加算する。
第2計数部20は、受付部16により受け付けられた要求情報に応じて参照APIが呼び出された場合、参照APIの実行結果に従って特定用DB44を更新する。図8に、検索処理を実行する参照APIの実行結果の一例を示す。図8に示すように、本実施形態に係る参照APIの実行結果には、前述した要求情報と同様に、値(例えば、「タイトルA」)と、値の名称(例えば、「title」)との組み合わせが含まれる。なお、図8の例では、「isbn」フィールドが検索対象を一意に識別するフィールドであり、「availability」フィールドが検索対象の残数(例えば、在庫数)を表すフィールドである。なお、残数を表すフィールドの値は、参照APIを提供するサービスによって変わる。例えば、残数無しと残数有りとの2値の場合も考えられるし、残数が所定値以上、残数が1以上所定値未満(在庫僅少)、及び残数無しの3値の場合も考えられる。
本実施形態では、第2計数部20は、参照APIが呼び出された場合、参照APIの実行結果に含まれるフィールド毎に、以下に示す処理を行う。すなわち、この場合、第2計数部20は、参照APIが呼び出されてから所定期間内に、参照APIに関連付けられた更新APIが呼び出された場合、各フィールドの値に対応する特定用DB44の更新API呼び出し回数列の値に1を加算する。また、第2計数部20は、参照APIが呼び出されてから所定期間内に更新APIが呼び出されなかった場合、各フィールドの値に対応する特定用DB44の更新API非呼び出し回数列の値に1を加算する。
関連付け部22は、組み合わせDB40を参照し、参照APIと更新APIとを関連付けて関連付けDB42に記憶する。本実施形態では、関連付け部22は、組み合わせDB40に記憶された1stAPI呼び出し回数列の値が所定値以上の参照APIについて、以下に示す処理を行う。すなわち、この場合、関連付け部22は、参照APIと、参照APIに対応する2ndAPI列に記憶された更新APIのうちの組み合わせ呼び出し回数列の値が最も多い更新APIとを関連付けて、関連付けDB42に記憶する。
推定部24は、参照APIが呼び出されてから所定期間内に、参照APIに関連付けられた更新APIが呼び出された場合と呼び出されなかった場合とで参照APIの実行結果における値が異なるフィールドを、以下に示すフィールドであると推定する。すなわち、この場合、推定部24は、値が異なるフィールドを、残数が格納されるフィールド(以下、「残数フィールド」という)であると推定する。これは、参照APIが呼び出された結果、残数が無しの場合は、更新APIが参照APIに対応して呼び出されることはないと推定されるためである。そして、推定部24は、推定した残数フィールドを特定するパスを、関連付けDB42の参照APIに対応する残数フィールド列に記憶する。なお、本実施形態では、推定部24による残数フィールドの推定に用いるために、参照APIが呼び出されてから所定期間内に更新APIが呼び出されたか否かを示す情報と参照APIの実行結果とが、更新処理装置10の所定の記憶領域に一時的に記憶される。
また、推定部24は、特定用DB44を参照し、関連付けDB42の参照APIに対応する残数無し値列に値を記憶する。本実施形態では、推定部24は、特定用DB44の各参照APIの呼び出し回数列及び非呼び出し回数列各々の合計値が所定値以上の残数フィールドについて、以下に示す推定を行う。すなわち、この場合、推定部24は、非呼び出し回数列の値が最大のレコードの値列の値を残数が無い場合の残数フィールドの値であると推定する。これは、参照APIが呼び出された結果、残数が無い場合は、更新APIが参照APIに対応して呼び出されることはないと推定されるためである。そして、推定部24は、推定した値を、関連付けDB42の参照APIに対応する残数無し値列に記憶する。
また、推定部24は、関連付けDB42の参照API及び更新APIの組み合わせについて、参照APIが呼び出されてから所定期間内に更新APIが呼び出された場合に、以下に示す処理を行う。すなわち、この場合、推定部24は、参照APIの実行結果と更新APIに対応する要求情報とで値が一致するフィールドを、参照API及び更新APIの処理対象を各々一意に特定するフィールドと推定する。そして、推定部24は、参照APIの実行結果に対応する推定したフィールドを特定するパスを、関連付けDB42の参照API及び更新APIの組み合わせに対応する参照APIのユニークIDフィールド列に記憶する。また、推定部24は、要求情報に対応する推定したフィールドを特定するパスを、関連付けDB42の参照API及び更新APIの組み合わせに対応する更新APIのユニークIDフィールド列に記憶する。なお、以下では、これらのユニークIDフィールド列に記憶されるフィールドの値を「ユニークID」という。
算出部26は、残数履歴DB46を参照し、関連付けDB42の各参照APIの各ユニークIDについて、残数フィールドの値が、残数が有りの状態から残数が無しの状態となるまでの推定期間を算出する。一例として、図9に示すように、残数履歴DB46には、各参照APIに対応する各ユニークIDフィールドの値(ユニークID)のそれぞれについて、残数の値が変化した場合における残数の値が変化するまでの期間の履歴情報が記憶される。なお、図9では、縦軸が残数フィールドの値を示し、横軸が期間を示す。また、図9では、残数フィールドの値が「3」の場合は残数が所定値以上、「2」の場合は残数が1以上所定値未満、残数フィールドの値が「1」の場合は残数が無しの場合の例を示している。
本実施形態では、算出部26は、上記推定期間として、残数フィールドの値が、過去の残数が有りの状態から残数が無しの状態となるまでの期間のうち、最短の期間を算出する。図9に示す例では、算出部26は、残数フィールドの値が「3」から「1」になるまでの最短期間、及び残数フィールドの値が「2」から「1」になるまでの最短期間を算出する。そして、算出部26は、参照API及びユニークIDの組み合わせに対応付けて、残数フィールドの残数が有ることを示す値及び最短期間を最短期間DB48に記憶する。図10に、最短期間DB48の一例を示す。なお、図10の例では、例えば、「AシステムAPI2」を用いて検索された検索結果のユニークIDが「978-4-XX-YY」の商品の残数フィールドの値が「3」(残数が所定値以上)から「1」(残数が無し)になるまでの最短期間が「20分」であることを示している。また、算出部26は、例えば、残数が所定値以上の状態から残数が1以上所定値未満の状態となるまでの期間のうちの最短期間を算出してもよい。
また、算出部26は、最短期間を算出した時点での更新APIの呼び出し頻度と、現時点での更新APIの呼び出し頻度とを考慮して、以下に示す(1)式に従って、残数が有りの状態から残数が無しの状態になるまでの余裕期間を算出する。
例えば、最短期間が「20分」で、算出部26が最短期間を算出した時点での更新APIの呼び出し頻度が「2回/分」で、現時点での更新APIの呼び出し頻度が「5回/分」の場合、余裕期間は、「8分」(=20×2÷5)と算出される。
記憶制御部28は、受付部16が受け付けた要求情報に応じて更新APIが呼び出された結果として更新される更新情報を、更新情報DB50に記憶する。本実施形態では、更新情報として、予約処理及び購入処理等を実行する更新APIが呼び出されることによって変化する残数フィールドの値を適用した場合について説明する。記憶制御部28は、定期的に、最短期間DB48の参照API及びユニークIDの組み合わせの各々について、以下に示す処理を実行する。すなわち、記憶制御部28は、ユニークIDを用いて参照APIを後述する実行部32によって呼び出させ、呼び出させた参照APIの実行結果から、残数フィールドの値を取得する。そして、記憶制御部28は、参照API、ユニークID、取得した残数フィールドの値、及び残数フィールドの値を取得した時刻を対応付けて更新情報DB50に記憶する。図11に、更新情報DB50の一例を示す。図11に示すように、更新情報DB50には、参照API、ユニークID、残数フィールドの値、及び取得時刻が記憶される。
記憶制御部28は、定期的に、各参照APIの実行結果に応じて後述する応答部34が事業者12に送信する応答情報を、各参照APIに対応付けて応答情報DB52に記憶する。また、記憶制御部28は、定期的に、各更新APIの実行結果に応じて後述する応答部34が事業者12に送信する応答情報を、各更新APIに対応付けて応答情報DB52に記憶する。図12に応答情報の一例を示す。なお、図12では、更新APIに対応する応答情報の一例を示している。図12に示すように、本実施形態において応答情報DB52に記憶される応答情報は、対応する更新APIの処理が完了したことを示すメッセージを含む情報である。
判定部30は、受付部16が更新処理に対応する要求情報を受け付けた場合に、更新情報DB50の残数フィールドの値に応じて、応答情報DB52の応答情報を要求情報の送信元の事業者12に送信するか否かを判定する。本実施形態では、判定部30は、更新情報DB50を参照し、受付部16が受け付けた要求情報に対応する更新APIに関連付けられた参照APIに対応する残数フィールドの値及び取得時刻を取得する。そして、判定部30は、残数フィールドの値が、残数が無いことを示す値の場合、応答情報DB52の応答情報を要求情報の送信元の事業者12に送信しないと判定する。
一方、判定部30は、残数フィールドの値が、残数が有ることを示す値の場合、取得時刻から現時点までの期間が、算出部26により算出された現時点での余裕期間以下であるか否かを判定する。この判定により、判定部30は、応答情報DB52の応答情報を要求情報の送信元の事業者12に送信するか否かを判定する。
実行部32は、受付部16が受け付けた要求情報に応じたAPI14を呼び出すことによって、要求情報に応じた処理を実行する。
応答部34は、実行部32が実行する処理が参照処理である場合、応答情報DB52を参照し、実行部32が呼び出す参照APIに対応する応答情報を、要求情報の送信元の事業者12に送信する。また、応答部34は、実行部32が実行する処理が更新処理である場合で、かつ判定部30が応答情報DB52の応答情報を要求情報の送信元の事業者12に送信すると判定した場合、以下に示す処理を行う。すなわち、この場合、応答部34は、応答情報DB52を参照し、実行部32による更新処理の実行完了を待たずに、実行部32が呼び出す更新APIに対応する応答情報を、要求情報の送信元の事業者12に送信する。
また、応答部34は、実行部32による更新処理の実行完了を待たずに応答情報DB52の応答情報を事業者12に送信した後に、実行部32による更新処理がエラーとなった場合は、更新処理がエラーとなったことを示す情報を、更に事業者12に送信する。
一方、応答部34は、実行部32が実行する処理が更新処理である場合で、かつ判定部30が応答情報DB52の応答情報を要求情報の送信元の事業者12に送信しないと判定した場合、実行部32による更新処理の実行完了を待機する。そして、この場合、応答部34は、実行部32による更新処理の実行結果を示す応答情報を、要求情報の送信元の事業者12に送信する。
すなわち、一例として図13に示すように、本実施形態では、更新処理装置10は、更新情報DB50の残数フィールドの値の取得時刻から上記(1)式に従って算出された余裕期間内は、残数が無しになる可能性が比較的低いと判断する。この場合、更新処理装置10は、実行部32による更新処理の実行完了を待たずに応答情報DB52に記憶された応答情報を事業者12に送信する。
一方、更新処理装置10は、取得時刻に余裕期間を加えた時刻よりも後の時刻では、更新情報DB50の残数フィールドの値が、残数が有ることを示す値の場合でも、いつ残数が無くなってもおかしくないと判断する。この場合、更新処理装置10は、実行部32による更新処理の実行完了を待機して、更新処理の実行結果を示す応答情報を事業者12に送信する。
更新処理装置10は、例えば図14に示すコンピュータ60で実現することができる。コンピュータ60は、Central Processing Unit(CPU)61、一時記憶領域としてのメモリ62、及び不揮発性の記憶部63を備える。また、コンピュータ60は、表示装置及び入力装置等の入出力装置64を備える。また、コンピュータ60は、記録媒体68に対するデータの読み込みと書き込みとを制御するRead/Write(R/W)部65、及びネットワークに接続されるネットワークI/F66を備える。CPU61、メモリ62、記憶部63、入出力装置64、R/W部65、及びネットワークI/F66は、バス67を介して互いに接続される。
記憶部63は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現することができる。記憶媒体としての記憶部63には、コンピュータ60を更新処理装置10として機能させるための更新処理プログラム70が記憶される。更新処理プログラム70は、受付プロセス71、第1計数プロセス72、第2計数プロセス73、関連付けプロセス74、推定プロセス75、算出プロセス76、記憶制御プロセス77、判定プロセス78、実行プロセス79、及び応答プロセス80を有する。また、記憶部63は、組み合わせDB40、関連付けDB42、特定用DB44、残数履歴DB46、及び最短期間DB48が記憶される情報記憶領域81を有する。また、メモリ62は、更新情報DB50及び応答情報DB52が記憶される情報記憶領域82を有する。
CPU61は、更新処理プログラム70を記憶部63から読み出してメモリ62に展開し、更新処理プログラム70が有するプロセスを実行する。CPU61は、受付プロセス71を実行することで、図3に示す受付部16として動作する。CPU61は、第1計数プロセス72を実行することで、図3に示す第1計数部18として動作する。CPU61は、第2計数プロセス73を実行することで、図3に示す第2計数部20として動作する。CPU61は、関連付けプロセス74を実行することで、図3に示す関連付け部22として動作する。CPU61は、推定プロセス75を実行することで、図3に示す推定部24として動作する。CPU61は、算出プロセス76を実行することで、図3に示す算出部26として動作する。CPU61は、記憶制御プロセス77を実行することで、図3に示す記憶制御部28として動作する。CPU61は、判定プロセス78を実行することで、図3に示す判定部30として動作する。CPU61は、実行プロセス79を実行することで、図3に示す実行部32として動作する。CPU61は、応答プロセス80を実行することで、図3に示す応答部34として動作する。これにより、更新処理プログラム70を実行したコンピュータ60が、更新処理装置10として機能することになる。なお、更新処理プログラム70が有するプロセスを実行するCPU61は、ハードウェアである。
また、更新処理プログラム70により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態に係る更新処理装置10の作用を説明する。更新処理装置10が更新処理プログラム70を実行することで、図15に示す計数処理、図16に示す関連付け処理、図17に示す第1推定処理、図18に示す第2推定処理、及び図19に示す最短期間算出処理を実行する。また、更新処理装置10が更新処理プログラム70を実行することで、図20に示す更新情報更新処理、及び図21に示す応答処理を実行する。図15に示す計数処理は、例えば、受付部16が事業者12から送信された参照処理に対応する要求情報を受け付けた場合に実行される。また、図16に示す関連付け処理は、例えば、定期的に実行される。また、図17に示す第1推定処理は、例えば、参照APIが呼び出されてから所定期間内に更新APIが呼び出された場合に実行される。また、図18に示す第2推定処理は、例えば、定期的に実行される。また、図19に示す最短期間算出処理は、例えば、定期的に実行される。また、図20に示す更新情報更新処理は、例えば、定期的に実行される。また、図21に示す応答処理は、例えば、事業者12から送信された更新処理に対応する要求情報を更新処理装置10が受信した場合に実行される。
図15に示す計数処理のステップS10で、実行部32は、受付部16が受け付けた要求情報に応じた参照APIを呼び出す。そして、応答部34は、応答情報DB52を参照し、実行部32が呼び出した参照APIに対応する応答情報を、要求情報の送信元の事業者12に送信する。
次のステップS12で、第1計数部18は、ステップS10で呼び出された参照APIを識別する情報が、関連付けDB42の参照API列に記憶されているか否かを判定する。この判定が否定判定となった場合は、処理はステップS14に移行する。ステップS14で、第1計数部18は、組み合わせDB40のステップS10で呼び出された参照APIに対応する1stAPI呼び出し回数列の値に1を加算する。
次のステップS16で、第1計数部18は、ステップS10で参照APIが呼び出されてから所定期間内に更新APIが呼び出されたか否かを判定する。この判定が肯定判定となった場合は、処理はステップS18に移行する。ステップS18で、第1計数部18は、組み合わせDB40のステップS10で呼び出された参照API及び所定期間内に呼び出された更新APIの組み合わせに対応する組み合わせ呼び出し回数列の値に1を加算する。ステップS18の処理が終了すると、本計数処理が終了する。また、ステップS16の判定が否定判定となった場合は、ステップS18の処理は実行されずに本計数処理が終了する。
一方、ステップS12の判定が肯定判定となった場合は、処理はステップS20に移行する。ステップS20で、第2計数部20は、関連付けDB42のステップS10で呼び出された参照APIに対応する残数無し値列に情報が記憶されているか否かを判定する。この判定が否定判定となった場合は、処理はステップS22に移行する。ステップS22で、第2計数部20は、ステップS10で参照APIが呼び出されてから所定期間内に、参照APIに関連付けられた更新APIが呼び出されたか否かを判定する。この判定が否定判定となった場合は、処理はステップS26に移行し、肯定判定となった場合は、処理はステップS24に移行する。
ステップS24で、第2計数部20は、ステップS10で呼び出された参照APIの実行結果の各フィールドの値に対応する特定用DB44の更新API呼び出し回数列の値に1を加算する。ステップS24の処理が終了すると、本計数処理が終了する。一方、ステップS26で、第2計数部20は、ステップS10で呼び出された参照APIの実行結果の各フィールドの値に対応する特定用DB44の更新API非呼び出し回数列の値に1を加算する。ステップS26の処理が終了すると、本計数処理が終了する。また、ステップS20の判定が肯定判定となった場合も、本計数処理が終了する。
図16に示す関連付け処理のステップS30〜ステップS34の処理は、組み合わせDB40の1stAPI列に記憶された各参照APIを処理対象として繰り返し実行される。なお、ステップS30〜ステップS34が繰り返し実行される際には、それまでに処理対象とされていなかった参照APIが処理対象とされる。ステップS30で、関連付け部22は、処理対象の参照APIを識別する情報が、関連付けDB42の参照API列に記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップS36に移行し、否定判定となった場合は、処理はステップS32に移行する。
ステップS32で、関連付け部22は、組み合わせDB40を参照し、処理対象の参照APIに対応する1stAPI呼び出し回数列の値が所定値以上であるか否かを判定する。この判定が否定判定となった場合は、処理はステップS36に移行し、肯定判定となった場合は、処理はステップS34に移行する。
ステップS34で、関連付け部22は、組み合わせDB40に記憶された処理対象の参照APIに対応して2ndAPI列に記憶された更新APIのうち、組み合わせ呼び出し回数列の値が最も大きい更新APIを特定する。そして、関連付け部22は、処理対象の参照APIと特定した更新APIとを関連付けて、関連付けDB42に記憶する。
ステップS36で、関連付け部22は、組み合わせDB40の1stAPI列に記憶された全ての参照APIについて上記ステップS30〜ステップS34の処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップS30に戻り、肯定判定となった場合は、本関連付け処理が終了する。
なお、ステップS34の処理が完了した後に、関連付け部22は、処理対象の参照APIに対応する組み合わせDB42のレコードを削除してもよい。この場合、ステップS30の処理が不要となる。
図17に示す第1推定処理のステップS40で、推定部24は、参照APIと、参照APIが呼び出されてから所定期間内に呼び出された更新APIの組み合わせが、関連付けDB42の参照API列及び更新API列に記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップS42に移行する。
ステップS42で、推定部24は、関連付けDB42を参照し、参照APIと、参照APIが呼び出されてから所定期間内に呼び出された更新APIの組み合わせに対応する各ユニークIDフィールド列に情報が記憶されているか否かを判定する。この判定が否定判定となった場合は、処理はステップS44に移行する。
ステップS44で、推定部24は、上記組み合わせの参照APIの実行結果と更新APIに対応する要求情報とで値が一致するフィールドがあるか否かを判定する。この判定が肯定判定となった場合は、処理はステップS46に移行する。
ステップS46で、推定部24は、参照APIの実行結果と更新APIに対応する要求情報とで値が一致するフィールドを、参照API及び更新APIの処理対象を各々一意に特定するフィールドと推定する。そして、推定部24は、参照APIの実行結果に対応する推定したフィールドを特定するパスを、関連付けDB42の参照API及び更新APIの組み合わせに対応する参照APIのユニークIDフィールド列に記憶する。また、推定部24は、更新APIの要求情報に対応する推定したフィールドを特定するパスを、関連付けDB42の参照API及び更新APIの組み合わせに対応する更新APIのユニークIDフィールド列に記憶する。ステップS46の処理が終了すると、本第1推定処理が終了する。一方、ステップS40の判定が否定判定となった場合、ステップS42の判定が肯定判定となった場合、及びステップS44の判定が否定判定となった場合も、本第1推定処理が終了する。
図18に示す第2推定処理のステップS50で、推定部24は、関連付けDB42を参照し、所定の記憶領域に実行結果が一時的に記憶された参照APIに対応する残数フィールド列に情報が記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップS54に移行し、否定判定となった場合は、処理はステップS52に移行する。
ステップS52で、推定部24は、前述したように、参照APIが呼び出されてから所定期間内に更新APIが呼び出された場合と呼び出されなかった場合とで参照APIの実行結果における値が異なるフィールドを、残数フィールドであると推定する。そして、推定部24は、推定した残数フィールドを特定するパスを、関連付けDB42の参照APIに対応する残数フィールド列に記憶する。
以下のステップS54〜ステップS58の処理は、特定用DB44の参照API列に記憶された各参照API及び推定した残数フィールドの組み合わせを処理対象として繰り返し実行される。なお、ステップS54〜ステップS58が繰り返し実行される際には、それまでに処理対象とされていなかった組み合わせが処理対象とされる。ステップS54で、推定部24は、関連付けDB42を参照し、処理対象の参照APIに対応する残数無し値列に値が記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップS60に移行し、否定判定となった場合は、処理はステップS56に移行する。
ステップS56で、推定部24は、特定用DB44を参照し、処理対象の参照API及び残数フィールドの組み合わせに対応する更新APIの呼び出し回数列の合計値及び非呼び出し回数列の合計値が所定値以上であるか否かを判定する。この判定が否定判定となった場合は、処理はステップS60に移行し、肯定判定となった場合は、処理はステップS58に移行する。
ステップS58で、推定部24は、処理対象の参照API及び残数フィールドの組み合わせに対応する値のうち、更新APIの非呼び出し回数列の値が最大である値を、残数が無い場合の残数フィールドの値であると推定する。そして、推定部24は、推定した値を、関連付けDB42の処理対象の参照APIに対応する残数無し値列に記憶する。
ステップS60で、推定部24は、特定用DB44の参照API列に記憶された全ての参照APIについて上記ステップS54〜ステップS58の処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップS54に戻り、肯定判定となった場合は、本第2推定処理が終了する。
なお、ステップS58の処理が完了した後に、推定部24は、処理対象の参照APIに対応する特定用DB44のレコードを削除してもよい。この場合、ステップS54の処理が不要となる。
図19に示す最短期間算出処理のステップS70及びステップS72の処理は、残数履歴DB46の参照API及びユニークIDの組み合わせに関する履歴情報の各々を処理対象として繰り返し実行される。なお、ステップS70及びステップS72が繰り返し実行される際には、それまでに処理対象とされていなかった組み合わせが処理対象とされる。
ステップS70で、算出部26は、処理対象の組み合わせの参照API及びユニークIDが、最短期間DB48に記憶されているか否かを判定する。この判定が肯定判定となった場合は、処理はステップS74に移行し、否定判定となった場合は、処理はステップS72に移行する。
ステップS72で、算出部26は、残数履歴DB46を参照し、処理対象の参照API及びユニークIDの組み合わせについて、残数フィールドの値が、過去の残数が有りの状態から残数が無しの状態となるまでの期間のうち、最短期間を算出する。そして、算出部26は、処理対象の参照API及びユニークIDの組み合わせに対応付けて、残数フィールドの残数が有ることを示す値、及び算出した最短期間を最短期間DB48に記憶する。
ステップS74で、算出部26は、残数履歴DB46に記憶された全ての参照API及びユニークIDの組み合わせについて上記ステップS70及びステップS72の処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップS70に戻り、肯定判定となった場合は、本最短期間算出処理が終了する。
図20に示す更新情報更新処理のステップS80及びステップS82の処理は、最短期間DB48の参照API及びユニークIDの組み合わせの各々を処理対象として繰り返し実行される。なお、ステップS80及びステップS82が繰り返し実行される際には、それまでに処理対象とされていなかった組み合わせが処理対象とされる。
ステップS80で、実行部32は、処理対象のユニークIDを検索対象として用いて処理対象の参照APIを呼び出すことにより、処理対象のユニークIDを検索する参照処理を実行する。
ステップS82で、記憶制御部28は、関連付けDB42を参照し、処理対象の参照APIに対応する残数フィールドのパスを取得する。また、記憶制御部28は、ステップS80で呼び出された参照APIの実行結果から、取得した残数フィールドのパスにより特定される残数フィールドの値を取得する。そして、記憶制御部28は、処理対象の参照API、処理対象のユニークID、取得した残数フィールドの値、及び取得時刻を対応付けて、更新情報DB50に記憶する。
ステップS84で、記憶制御部28は、最短期間DB48に記憶された全ての参照API及びユニークIDの組み合わせについて上記ステップS80及びステップS82の処理が完了したか否かを判定する。この判定が否定判定となった場合は、処理はステップS80に戻り、肯定判定となった場合は、本更新情報更新処理が終了する。
図21に示す応答処理のステップS90で、受付部16は、事業者12から送信された更新処理に対応する要求情報を受け付ける。次のステップS92で、判定部30は、関連付けDB42を参照し、ステップS90で受け付けられた要求情報に応じて呼び出される更新APIに対応するユニークIDフィールドを取得する。そして、判定部30は、取得したユニークIDフィールドにより特定されるステップS90で受け付けられた要求情報に含まれるユニークIDを取得する。
次のステップS94で、判定部30は、関連付けDB42を参照し、ステップS90で受け付けられた要求情報に応じて呼び出される更新APIに対応する参照APIを取得する。そして、判定部30は、更新情報DB50を参照し、取得した参照API及びステップS92で取得されたユニークIDの組み合わせに対応する残数フィールドの値及び取得時刻を取得する。
次のステップS96で、判定部30は、ステップS94で取得された残数フィールドの値が、残数が有ることを示す値であるか否かを判定する。この判定が否定判定となった場合は、処理はステップS110に移行し、肯定判定となった場合は、処理はステップS98に移行する。ステップS98で、算出部26は、最短期間DB48を参照し、ステップS94で取得された参照API、ステップS92で取得されたユニークID、及びステップS94で取得された値の組み合わせに対応する最短期間を取得する。そして、算出部26は、取得した最短期間を用いて、上記(1)式に従って余裕期間を算出する。
次のステップS100で、判定部30は、ステップS94で取得された取得時刻から現時点までの期間が、ステップS98で算出された余裕期間以下であるか否かを判定する。この判定が否定判定となった場合は、処理はステップS110に移行し、肯定判定となった場合は、処理はステップS102に移行する。
ステップS102で、応答部34は、応答情報DB52を参照し、ステップS90で受け付けられた要求情報に応じて呼び出される更新APIに対応する応答情報を取得する。そして、応答部34は、取得した応答情報をステップS90で受け付けられた要求情報の送信元の事業者12に送信する。次のステップS104で、実行部32は、ステップS90で受け付けられた要求情報に対応する更新APIを呼び出すことにより、要求情報に応じた更新処理を実行する。
次のステップS106で、実行部32は、ステップS104で実行された更新処理がエラーとなったか否かを判定する。この判定が肯定判定となった場合は、処理はステップS108に移行する。ステップS108で、応答部34は、更新処理がエラーとなったことを示す情報を、ステップS90で受け付けられた要求情報の送信元の事業者12に送信する。ステップS108の処理が終了すると、本応答処理が終了する。また、ステップS106の判定が否定判定となった場合は、ステップS108の処理は実行されずに本応答処理が終了する。
一方、ステップS110で、実行部32は、ステップS90で受け付けられた要求情報に対応する更新APIを呼び出すことにより、要求情報に応じた更新処理を実行する。次のステップS112で、応答部34は、ステップS110で実行された更新処理の実行結果を示す応答情報を、ステップS90で受け付けられた要求情報の送信元の事業者12に送信する。ステップS112の処理が終了すると、本応答処理が終了する。
以上説明したように、本実施形態によれば、受け付けた要求情報に応じて実行される更新処理に応じて更新される更新情報及び更新処理に対する応答に用いる応答情報がメモリ62に記憶される。また、更新処理に対応する要求情報を受け付けた場合に、更新情報の値に応じて、メモリ62に記憶された応答情報を要求情報の送信元に送信するか否かを判定する。そして、メモリ62に記憶された応答情報を要求情報の送信元に送信すると判定した場合、更新処理の実行完了を待たずに、メモリ62に記憶された応答情報を要求情報の送信元に送信する。従って、更新処理における応答性能を向上させることができる。
また、本実施形態によれば、メモリ62に記憶された応答情報を要求情報の送信元に送信した後に更新処理がエラーとなった場合、更新処理がエラーとなったことを示す情報を送信元に更に送信する。従って、事業者12が、メモリ62に記憶された応答情報を受信した後でも、更新処理がエラーとなったことを把握することができる。
また、本実施形態によれば、更新処理プログラム70を実行することにより関連付けDB42及び最短期間DB48に情報を記憶する。従って、更新処理装置10の管理者の手間を低減することができる。
なお、上記実施形態において、関連付けDB42を更新処理装置10の管理者が手作業で用意してもよい。この場合、組み合わせDB40及び特定用DB44が不要となる。同様に、最短期間DB48も管理者が手作業で用意してもよい。
また、上記実施形態において、更新APIの呼び出し頻度を考慮せずに、最短期間を余裕期間としてもよい。また、上記実施形態において、算出部26は、定期的に余裕期間を算出し、算出した余裕期間を最短期間DB48に記憶してもよい。この場合、上記応答処理のステップS98において、最短期間DB48から余裕期間を取得すればよい。
また、上記実施形態において、更新情報DB50及び応答情報DB52を、記憶部63に記憶してもよい。
また、上記実施形態では、更新処理プログラム70が記憶部63に予め記憶(インストール)されている態様を説明したが、これに限定されない。更新処理プログラム70は、CD−ROM、DVD−ROM、USBメモリ、メモリカード等の記録媒体に記録された形態で提供することも可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
記憶部を有するコンピュータに実行させる更新処理プログラムであって、
受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を前記記憶部に記憶し、
前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する、
処理をコンピュータに実行させる更新処理プログラム。
(付記2)
受け付けた要求情報に応じて更新処理を前記他のコンピュータに実行させる際、
前記記憶部に記憶された応答情報を前記送信元に送信すると判定した場合、前記更新処理の実行完了を待たずに、前記記憶部に記憶された応答情報を前記送信元に送信し、前記記憶部に記憶された応答情報を前記送信元に送信しないと判定した場合、前記更新処理の実行完了を待機して、前記更新処理の実行結果を示す応答情報を前記送信元に送信する、
処理を更にコンピュータに実行させる付記1に記載の更新処理プログラム。
(付記3)
前記記憶部に記憶された応答情報を前記送信元に送信した後に前記更新処理がエラーとなった場合、前記更新処理がエラーとなったことを示す情報を前記送信元に更に送信する、
付記2に記載の更新処理プログラム。
(付記4)
前記記憶部には、前記更新情報の変化に関する履歴情報が記憶され、
前記履歴情報を参照して、前記更新情報が前記記憶部に記憶された応答情報を前記送信元に送信する条件を満たす値を維持する余裕期間を算出し、
前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が前記条件を満たす値である場合に、前記更新情報を前記他のコンピュータから取得した取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記1から付記3の何れか1項に記載の更新処理プログラム。
(付記5)
前記更新情報は、商品の残数を示す情報であり、
前記条件は、前記残数が有るとの条件であり、
前記履歴情報を参照して、前記残数が有りの状態から前記残数が無しの状態となるまでの余裕期間を算出し、
前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が、前記残数が有ることを示す値である場合に、前記取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記4に記載の更新処理プログラム。
(付記6)
受け付けた要求情報に応じて実行される参照処理の実行結果は、値と前記値の名称との組み合わせを含むフィールドを複数含み、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に実行された更新処理のうち、実行回数が最多である更新処理を前記参照処理に関連付け、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行された場合と実行されなかった場合とで値が異なるフィールドを、前記商品の残数が格納されるフィールドであると推定する、
付記5に記載の更新処理プログラム。
(付記7)
受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行されなかった場合の前記参照処理の実行結果における、推定した前記商品の残数が格納されるフィールドの値のうち、前記更新処理の非実行回数が最多である値を、前記商品の残数が無いことを示す値であると推定する、
付記6に記載の更新処理プログラム。
(付記8)
受け付けた要求情報に応じて他の装置で実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報が記憶される記憶部と、
前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する判定部と、
を含む更新処理装置。
(付記9)
受け付けた要求情報に応じて更新処理を前記他の装置に実行させる際、
前記記憶部に記憶された応答情報を前記送信元に送信すると判定された場合、前記更新処理の実行完了を待たずに、前記記憶部に記憶された応答情報を前記送信元に送信し、前記記憶部に記憶された応答情報を前記送信元に送信しないと判定された場合、前記更新処理の実行完了を待機して、前記更新処理の実行結果を示す応答情報を前記送信元に送信する応答部、
を更に含む付記8に記載の更新処理装置。
(付記10)
前記応答部は、前記記憶部に記憶された応答情報を前記送信元に送信した後に前記更新処理がエラーとなった場合、前記更新処理がエラーとなったことを示す情報を前記送信元に更に送信する、
付記9に記載の更新処理装置。
(付記11)
前記記憶部には、前記更新情報の変化に関する履歴情報が記憶され、
前記履歴情報を参照して、前記更新情報が前記記憶部に記憶された応答情報を前記送信元に送信する条件を満たす値を維持する余裕期間を算出する算出部、
を更に含み、
前記判定部は、前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が前記条件を満たす値である場合に、前記更新情報を前記他の装置から取得した取得時点から現時点までの期間が、算出された余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記8から付記10の何れか1項に記載の更新処理装置。
(付記12)
前記更新情報は、商品の残数を示す情報であり、
前記条件は、前記残数が有るとの条件であり、
前記算出部は、前記履歴情報を参照して、前記残数が有りの状態から前記残数が無しの状態となるまでの余裕期間を算出し、
前記判定部は、前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が、前記残数が有ることを示す値である場合に、前記取得時点から現時点までの期間が、算出された余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記11に記載の更新処理装置。
(付記13)
受け付けた要求情報に応じて実行される参照処理の実行結果は、値と前記値の名称との組み合わせを含むフィールドを複数含み、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に実行された更新処理のうち、実行回数が最多である更新処理を前記参照処理に関連付ける関連付け部と、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けられた更新処理が実行された場合と実行されなかった場合とで値が異なるフィールドを、前記商品の残数が格納されるフィールドであると推定する推定部と、
を更に含む付記12に記載の更新処理装置。
(付記14)
前記推定部は、受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けられた更新処理が実行されなかった場合の前記参照処理の実行結果における、推定した前記商品の残数が格納されるフィールドの値のうち、前記更新処理の非実行回数が最多である値を、前記商品の残数が無いことを示す値であると推定する、
付記13に記載の更新処理装置。
(付記15)
記憶部を有するコンピュータが実行する更新処理方法であって、
受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を前記記憶部に記憶し、
前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する、
処理をコンピュータが実行する更新処理方法。
(付記16)
受け付けた要求情報に応じて更新処理を前記他のコンピュータに実行させる際、
前記記憶部に記憶された応答情報を前記送信元に送信すると判定した場合、前記更新処理の実行完了を待たずに、前記記憶部に記憶された応答情報を前記送信元に送信し、前記記憶部に記憶された応答情報を前記送信元に送信しないと判定した場合、前記更新処理の実行完了を待機して、前記更新処理の実行結果を示す応答情報を前記送信元に送信する、
処理を更にコンピュータが実行する付記15に記載の更新処理方法。
(付記17)
前記記憶部に記憶された応答情報を前記送信元に送信した後に前記更新処理がエラーとなった場合、前記更新処理がエラーとなったことを示す情報を前記送信元に更に送信する、
付記16に記載の更新処理方法。
(付記18)
前記記憶部には、前記更新情報の変化に関する履歴情報が記憶され、
前記履歴情報を参照して、前記更新情報が前記記憶部に記憶された応答情報を前記送信元に送信する条件を満たす値を維持する余裕期間を算出し、
前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が前記条件を満たす値である場合に、前記更新情報を前記他のコンピュータから取得した取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記15から付記17の何れか1項に記載の更新処理方法。
(付記19)
前記更新情報は、商品の残数を示す情報であり、
前記条件は、前記残数が有るとの条件であり、
前記履歴情報を参照して、前記残数が有りの状態から前記残数が無しの状態となるまでの余裕期間を算出し、
前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が、前記残数が有ることを示す値である場合に、前記取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
付記18に記載の更新処理方法。
(付記20)
受け付けた要求情報に応じて実行される参照処理の実行結果は、値と前記値の名称との組み合わせを含むフィールドを複数含み、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に実行された更新処理のうち、実行回数が最多である更新処理を前記参照処理に関連付け、
受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行された場合と実行されなかった場合とで値が異なるフィールドを、前記商品の残数が格納されるフィールドであると推定する、
付記19に記載の更新処理方法。
(付記21)
受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行されなかった場合の前記参照処理の実行結果における、推定した前記商品の残数が格納されるフィールドの値のうち、前記更新処理の非実行回数が最多である値を、前記商品の残数が無いことを示す値であると推定する、
付記20に記載の更新処理方法。
(付記22)
記憶部を有するコンピュータに実行させる更新処理プログラムであって、
受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を前記記憶部に記憶し、
前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する、
処理をコンピュータに実行させる更新処理プログラムを記憶した記憶媒体。
10 更新処理装置
16 受付部
18 第1計数部
20 第2計数部
22 関連付け部
24 推定部
26 算出部
28 記憶制御部
30 判定部
32 実行部
34 応答部
40 組み合わせDB
42 関連付けDB
44 特定用DB
46 残数履歴DB
48 最短期間DB
50 更新情報DB
52 応答情報DB
60 コンピュータ
61 CPU
62 メモリ
63 記憶部
68 記録媒体
70 更新処理プログラム

Claims (9)

  1. 記憶部を有するコンピュータに実行させる更新処理プログラムであって、
    受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を前記記憶部に記憶し、
    前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する、
    処理をコンピュータに実行させる更新処理プログラム。
  2. 受け付けた要求情報に応じて更新処理を前記他のコンピュータに実行させる際、
    前記記憶部に記憶された応答情報を前記送信元に送信すると判定した場合、前記更新処理の実行完了を待たずに、前記記憶部に記憶された応答情報を前記送信元に送信し、前記記憶部に記憶された応答情報を前記送信元に送信しないと判定した場合、前記更新処理の実行完了を待機して、前記更新処理の実行結果を示す応答情報を前記送信元に送信する、
    処理を更にコンピュータに実行させる請求項1に記載の更新処理プログラム。
  3. 前記記憶部に記憶された応答情報を前記送信元に送信した後に前記更新処理がエラーとなった場合、前記更新処理がエラーとなったことを示す情報を前記送信元に更に送信する、
    請求項2に記載の更新処理プログラム。
  4. 前記記憶部には、前記更新情報の変化に関する履歴情報が記憶され、
    前記履歴情報を参照して、前記更新情報が前記記憶部に記憶された応答情報を前記送信元に送信する条件を満たす値を維持する余裕期間を算出し、
    前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が前記条件を満たす値である場合に、前記更新情報を前記他のコンピュータから取得した取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
    請求項1から請求項3の何れか1項に記載の更新処理プログラム。
  5. 前記更新情報は、商品の残数を示す情報であり、
    前記条件は、前記残数が有るとの条件であり、
    前記履歴情報を参照して、前記残数が有りの状態から前記残数が無しの状態となるまでの余裕期間を算出し、
    前記更新処理に対応する要求情報を受け付けた場合で、かつ前記更新情報が、前記残数が有ることを示す値である場合に、前記取得時点から現時点までの期間が、算出した余裕期間以下であるか否かによって、前記記憶部に記憶された応答情報を前記送信元に送信するか否かを判定する、
    請求項4に記載の更新処理プログラム。
  6. 受け付けた要求情報に応じて実行される参照処理の実行結果は、値と前記値の名称との組み合わせを含むフィールドを複数含み、
    受け付けた要求情報に応じて参照処理を実行してから所定期間内に実行された更新処理のうち、実行回数が最多である更新処理を前記参照処理に関連付け、
    受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行された場合と実行されなかった場合とで値が異なるフィールドを、前記商品の残数が格納されるフィールドであると推定する、
    請求項5に記載の更新処理プログラム。
  7. 受け付けた要求情報に応じて参照処理を実行してから所定期間内に、前記参照処理に関連付けた更新処理が実行されなかった場合の前記参照処理の実行結果における、推定した前記商品の残数が格納されるフィールドの値のうち、前記更新処理の非実行回数が最多である値を、前記商品の残数が無いことを示す値であると推定する、
    請求項6に記載の更新処理プログラム。
  8. 受け付けた要求情報に応じて他の装置で実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報が記憶される記憶部と、
    前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する判定部と、
    を含む更新処理装置。
  9. 記憶部を有するコンピュータが実行する更新処理方法であって、
    受け付けた要求情報に応じて他のコンピュータで実行される更新処理に応じて更新される更新情報及び前記要求情報に対する応答に用いる応答情報を前記記憶部に記憶し、
    前記更新処理に対応する要求情報を受け付けた場合に、前記更新情報に応じて、前記要求情報に対する応答として、前記記憶部に記憶された応答情報を前記要求情報の送信元に送信するか否かを判定する、
    処理をコンピュータが実行する更新処理方法。
JP2017083982A 2017-04-20 2017-04-20 更新処理プログラム、更新処理装置、及び更新処理方法 Active JP6834743B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017083982A JP6834743B2 (ja) 2017-04-20 2017-04-20 更新処理プログラム、更新処理装置、及び更新処理方法
US15/956,243 US10521219B2 (en) 2017-04-20 2018-04-18 Update processing method, update processing apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017083982A JP6834743B2 (ja) 2017-04-20 2017-04-20 更新処理プログラム、更新処理装置、及び更新処理方法

Publications (2)

Publication Number Publication Date
JP2018181215A JP2018181215A (ja) 2018-11-15
JP6834743B2 true JP6834743B2 (ja) 2021-02-24

Family

ID=63852801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017083982A Active JP6834743B2 (ja) 2017-04-20 2017-04-20 更新処理プログラム、更新処理装置、及び更新処理方法

Country Status (2)

Country Link
US (1) US10521219B2 (ja)
JP (1) JP6834743B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230342224A1 (en) * 2022-04-25 2023-10-26 Docusign, Inc. Enforcing application programming interface limits in a document management system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
JPH0958820A (ja) * 1995-08-25 1997-03-04 Fujitsu Ltd 商品受注処理方法及び商品受注システム
JP3966636B2 (ja) * 1999-02-18 2007-08-29 富士通株式会社 監視制御システム
US7673297B1 (en) * 2003-09-03 2010-03-02 The Directv Group, Inc. Automatic software update detection and flexible installer for set-top boxes
CN1744111A (zh) * 2004-09-04 2006-03-08 鸿富锦精密工业(深圳)有限公司 销售操作系统及方法
JP4653147B2 (ja) 2007-08-06 2011-03-16 日本電信電話株式会社 情報機能提供システム、情報機能提供装置、情報機能提供方法および情報機能提供プログラム
US8341099B2 (en) * 2010-03-12 2012-12-25 Microsoft Corporation Semantics update and adaptive interfaces in connection with information as a service
JP2013105227A (ja) 2011-11-11 2013-05-30 Nomura Research Institute Ltd P2P型Webプロキシネットワークシステム
CN104823179B (zh) * 2012-12-12 2018-08-07 Sk 普兰尼特有限公司 用于提供用户输入的即时结果的方法及其系统和设备
US9648125B2 (en) 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation

Also Published As

Publication number Publication date
US10521219B2 (en) 2019-12-31
US20180307476A1 (en) 2018-10-25
JP2018181215A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
JP6643490B2 (ja) 可変ブラウザ識別子のセッションベースのマッチング
US8219687B2 (en) Implementing browser based hypertext transfer protocol session storage
EP2989543B1 (en) Method and device for updating client
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
CN101405723A (zh) 初始动态呈现控件数据估计
US9514176B2 (en) Database update notification method
JP6939246B2 (ja) 処理分散プログラム、処理分散方法、および情報処理装置
US10242102B2 (en) Network crawling prioritization
US20100036892A1 (en) Determination of an updated data source from disparate data sources
JP6834743B2 (ja) 更新処理プログラム、更新処理装置、及び更新処理方法
CN102769625A (zh) 客户端Cookie信息获取方法和装置
US20170286440A1 (en) Method, business processing server and data processing server for storing and searching transaction history data
US9378178B1 (en) Enhancing HTTP caching by allowing content sharing of data blocks across resources identified by different uniform resource locators
CN106445700B (zh) 一种url匹配方法及装置
CN110580200B (zh) 数据同步方法和装置
CN110427745B (zh) 验证码获取方法、装置、电子设备和计算机可读介质
US8838571B2 (en) Data-discriminate search engine updates
US20100017425A1 (en) Efficient Identity Mapping With Self-Correction for Cascaded Server Systems
JP6900757B2 (ja) データ処理プログラム、データ処理装置、データ処理方法及びデータ処理システム
JP2011221625A (ja) 通信装置及び共用情報更新方法及びプログラム
JP2017058935A (ja) データ配信制御プログラム、データ配信制御方法及びデータ配信装置
JP2018025864A (ja) 負荷制御装置、負荷制御方法および負荷制御処理プログラム
WO2023164578A1 (en) Matching online accounts with overlapping characteristics based on non-homogenous data types
JP4689636B2 (ja) オントロジデータベースアップデート方法及びオントロジデータベースアップデートシステム
JP2008010919A (ja) リソース取得方法及びコンピュータプログラム

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210118

R150 Certificate of patent or registration of utility model

Ref document number: 6834743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150