JP2011175422A - 判定プログラム、方法及び装置 - Google Patents

判定プログラム、方法及び装置 Download PDF

Info

Publication number
JP2011175422A
JP2011175422A JP2010038560A JP2010038560A JP2011175422A JP 2011175422 A JP2011175422 A JP 2011175422A JP 2010038560 A JP2010038560 A JP 2010038560A JP 2010038560 A JP2010038560 A JP 2010038560A JP 2011175422 A JP2011175422 A JP 2011175422A
Authority
JP
Japan
Prior art keywords
data
identifier
program
controller
access
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
JP2010038560A
Other languages
English (en)
Other versions
JP5598017B2 (ja
Inventor
Yoshihide Nomura
佳秀 野村
Toshihiro Odaka
敏裕 小高
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 JP2010038560A priority Critical patent/JP5598017B2/ja
Publication of JP2011175422A publication Critical patent/JP2011175422A/ja
Application granted granted Critical
Publication of JP5598017B2 publication Critical patent/JP5598017B2/ja
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

【課題】レプリケーションによるスケールアウトを実現するために、スレーブDBに対するプログラムのアクセスの是非を自動的に判定する。
【解決手段】本判定方法は、アクセス履歴から参照のみを行っている参照系プログラムを特定して、アクセス履歴において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目への参照を行った参照系プログラムについての特定の履歴データが存在しており、且つ当該特定の履歴データのセッションと同一のセッションで上記所定のデータ項目への更新アクセスが発生したことを表す履歴データが当該特定の履歴データの後に記録されているという条件を満たすか判断し、当該条件が満たされていれば、当該参照系プログラムがレプリケーション先へのアクセスが不適であると判定する。
【選択図】図3

Description

本技術は、レプリケーションによるスケールアウトを実現するための技術に関する。
例えばユーザ数や利用頻度が非常に多いウェブ(Web)システムにおいては、Webサーバ(Web層に属するサーバ)やデータベース(DB)サーバ(DB層に属するサーバ)を増やすことによって性能を向上させるスケールアウト(Scale out)が行われる場合がある。Web層のスケールアウトについては、クラスタリング、セッション・レプリケーションなどの手法を採用することが知られている。一方、一般的なRDB(Relational DataBase)を用いたDB層のスケールアウトについては、従来はユーザ数やその利用形態を事前に予測し、よく使われ且つレプリケーションを行っても問題ないと判断された処理ロジックについては、更新用DB(マスタDBと呼ぶ)のレプリカである参照用DB(スレーブDBと呼ぶ)に接続するようにWebアプリケーションを構築する。これによって、マスタDBの負荷を減らし、スケールアウトを実現する。
例えば、図1に示すように、DBサーバをマスタDBサーバに加えて1又は複数のスレーブDBサーバで実現する。マスタDBサーバ内のデータは、定期的にスレーブDBサーバにコピーされて、両方のDBの内容が一致するようにする。そして、Webサーバで実行されているWebアプリケーションのうちある処理については、マスタDBサーバのDBにおけるデータにアクセスし、他のある処理についてはスレーブDBサーバのDBにおけるデータにアクセスするようにする。これによって、負荷が分散されて性能向上が可能になる。
しかし、アプリケーションのログを用いて利用頻度や負荷が高い処理を特定して、当該処理については参照用DBを用いるという手法では、以下のような問題がある。すなわち、マスタDBからスレーブDBへのレプリケーションにタイムラグが発生するため、不適切な処理を参照用DBに割り当てると、それに続く更新処理において、直前の参照とは異なる値を参照又は書き込んでしまい、ユーザから見ると正しくないトランザクション結果を引き起こす。より具体的には、タイムセールなどで単価が変化するような場合、参照用DBを参照して古い単価を確認してショッピングカートに商品を投入した後、実際にショッピングカートに投入されている商品の注文を確定させるために更新用DBにアクセスすると、異なった単価で代金が計算されてしまうというような事態が生じてしまう。
なお、オブジェクトへのアクセス履歴と業務役割に応じたオブジェクトへのアクセスルールとの適合性判定を行うことで、オブジェクト自体のデータ処理を行うことなく、ユーザの業務役割の判定を行う技術が存在する。より具体的には、文書データベースに保持されたオブジェクト(例えば文書)へのアクセスユーザ情報とアクセス対象オブジェクト情報とアクセス操作情報とアクセス時間情報とを含んだアクセス履歴を保持する。そして、業務役割に対応したアクセス対象オブジェクト情報及びアクセス操作の振る舞い情報を含むアクセスルールに対して、アクセス履歴が適合するか否かを判定して、ユーザの業務役割を判定する。しかし、ユーザの業務役割が判定されるのであって、マスタDBではなくスレーブDBへアクセスすべきプログラムを特定することはできない。
特開2007−12218号公報
以上のように、スケールアウトを行うには、レプリケーションによる更新遅延の影響をあまり受けないようなデータにアクセスするプログラムのみをスレーブDBに割り当てるようにしなければならない。また、このようなプログラムをソースコードを解析して見つけ出すのは非常に大きな工数がかかり、現実的ではない。
従って、本技術の目的は、レプリケーションによるスケールアウトを実現するために、スレーブDBに対するプログラムのアクセスの是非を自動的に判定するための技術を提供することである。
本判定方法は、(A)セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部から、判定対象のプログラム毎に履歴データを読み出し、処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部に格納するステップと、(B)プログラムデータ格納部において参照を表す種別データが対応付けて登録されている判定対象のプログラムの各々について、アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれるデータ項目識別子及びセッションの識別子と同一のデータ項目識別子及びセッションの識別子と更新を表す処理種別とが関連付けられている履歴データが特定の履歴データの後に存在するという条件を満たすか判断するステップとを含む。
スレーブDBに対するプログラムのアクセスの是非を自動的に判定できるようになる。
図1は、従来のシステムの問題点を示す図である。 図2は、Webアプリケーションの構成例を示す図である。 図3は、本技術の実施の形態におけるシステム概要図である。 図4は、サーブレットフィルタのWeb.xmlの定義例を示す図である。 図5は、サーブレットフィルタのログ出力部分の一例を示す図である。 図6は、アスペクト適用定義例を示す図である。 図7は、アスペクト適用定義例を示す図である。 図8は、アスペクト適用定義例を示す図である。 図9は、アスペクト適用定義例を示す図である。 図10は、アクセス履歴収集処理を説明するためのシーケンス図である。 図11は、アクセス履歴収集処理によって出力されるログデータの一例を示す図である。 図12は、アクセス履歴収集処理によって出力されるログデータの一例を示す図である。 図13は、コントローラアクセス履歴データの一例を示す図である。 図14は、エンティティアクセス履歴データの一例を示す図である。 図15は、コントローラマスタの一例を示す図である。 図16は、エンティティマスタの一例を示す図である。 図17は、分析サーバの処理フローを示す図である。 図18は、コントローラ分類処理の処理フローを示す図である。 図19は、コントローラ分類処理の処理フローを示す図である。 図20は、コントローラ分類処理の処理結果の一例を示す図である。 図21は、コントローラ判定処理の処理フローを示す図である。 図22は、コントローラ判定処理の処理フローを示す図である。 図23は、コントローラ判定処理の処理結果の一例を示す図である。 図24は、スレーブDBへの割り当てが不可能なコントローラの例を示す図である。 図25は、スレーブDBへの割り当てが可能なコントローラの例を示す図である。 図26は、スケールアウト後のアクセス態様の一例を示す図である。 図27は、コンピュータの機能ブロック図である。 図28は、判定装置の機能ブロック図である。
本技術の実施の形態では、図1に示すようなWebシステムを想定する。また、Webサーバでは、Webアプリケーションが実行されており、当該Webアプリケーションは、図2に示すように、業務ロジックが規定されているコントローラと、データベース内のデータ項目に対応付けられており且つ当該データ項目にアクセスするエンティティとを含む。なお、コントローラは、特定のURL(Uniform Resource Locator)に対してメソッドが対応付けられているクラスである。また、エンティティは、データベース内のデータ項目のデータをgetやsetインタフェースで読み書きを行うクラスである。
図2の例では、コントローラには、オーダーコントローラ(OrderController)とブックコントローラ(BookController)とが含まれる。エンティティには、オーダー(Order)というエンティティとブック(Book)というエンティティとが含まれる。オーダーコントローラは、オーダー・エンティティを呼び出し、ブックコントローラは、ブック・エンティティを呼び出す。オーダーコントローラは、所定のメソッド(confirm, submit)を実行して、オーダー・エンティティを呼び出す。同様に、ブックコントローラは、所定のメソッド(list, detail, update)を実行して、ブック・エンティティを呼び出す。オーダー・エンティティは、データベースにおける所定のデータ項目(customer, item, amount)のデータにアクセスする。また、ブック・エンティティは、データベースにおけるデータ項目(author, abstract, price)のデータにアクセスする。
次に、図3に、本実施の形態のシステム概要図を示す。図1と同様に、Webサーバ100とDBサーバ200とはネットワークで接続されている。また、Webサーバ100では、Webアプリケーション110が実行されており、DBサーバ200は、RDBMS(Relational DataBase Management System)210を管理している。図2に示したように、Webアプリケーション110は、複数のコントローラ111と、複数のエンティティ113と、O/R(Object/Relation)マッパライブラリ(図示せず)とを含み、O/Rマッパライブラリがエンティティ113を通じてDBサーバ200のRDBMS210にアクセスするようになっている。本実施の形態では、Webサーバ100にはアクセス履歴収集部120を導入すると共に、分析サーバ300を導入して、ネットワークを介してWebサーバ100に接続する。
なお、分析サーバ300の処理には影響がないため、以下ではO/Rマッパライブラリについては説明を省略して、エンティティ113がRDBMS210にアクセスするものとして説明する。
分析サーバ300は、マスタ格納部310と、アクセス履歴格納部320と、コントローラ分類部330と、コントローラ判定部340とを有する。Webサーバ100に導入されたアクセス履歴収集部120は、分析サーバ300のアクセス履歴格納部320にアクセス履歴データを格納する。
アクセス履歴収集部120は、Webサーバ100に対して、例えば図4及び図5で規定されるようなサーブレット(servlet)フィルタを導入すると共に、例えば図6乃至図9で規定されるようなアスペクトをWebアプリケーション110に適用することによって、実現される。図4は、Web.xmlの定義例を示しており、全てのURL(*で表す)についてlogFilterというフィルタ名のフィルタを導入することを示している。また、logFilterはSessionIdLogFilterというクラスとして実装される。さらに、図5に示すように、SessionIDLogFilterでは、スレッドID及びセッションIDを含むログを出力するようになっている。
また、図6にコントローラについてのアスペクト適用定義例を示す。ここではオーダーコントローラのconfirmメソッドを実行する際には、ログを生成するために、ControllerLogAroundAdviceというクラスが呼び出されることが規定されている。なお、図6では示していないが、他のコントローラ及びメソッドについても定義するものとする。図7に、ControllerLogAroundAdviceクラスにおいて、ログ出力コードの部分が示されている。ここでは、スレッドID、コントローラのクラス名及びメソッド名を含むログを出力するようになっている。なお、本実施の形態では、コントローラのクラス名及びメソッド名で、1つのプログラムとして特定され、コントローラIDとして識別子(ID)が付与されるものとする。
さらに、図8にエンティティについてのアスペクト適用定義例を示す。ここでは、オーダー・エンティティにおいてamountというデータ項目に値をセットするsetAmountメソッドを実行する際には、ログを生成するために、EntityLogAroundAdviceというクラスが呼び出されることが規定されている。なお、図8では示していないが、他のエンティティ及びメソッドについても定義するものとする。図9に、EntityLogAroundAdviceクラスにおいて、ログ出力コードの部分が示されている。ここでは、スレッドID、エンティティのクラス名、エンティティ・フィールド名及び処理種別(アクセス種別)を含むログを出力するようになっている。なお、本実施の形態では、エンティティのクラス名及びエンティティ・フィールド名で、1つのデータ項目が特定され、エンティティIDとして識別子(ID)が付与されるものとする。
以上述べたように、アクセス履歴収集部120は、既に知られているアスペクト指向プログラミングAOP(Aspect Oriented Programming)を利用して実現するものであり、これ以上は述べない。なお、以下で述べるようなアクセス履歴データを収集することができるのであれば、他の実現方法を採用するようにしても良い。
アクセス履歴収集部120は、図10に示すようにアクセス履歴を収集する。ユーザ端末が、Webサーバ100のWebアプリケーション110にリクエストを送信すると(ステップ(1))、Webアプリケーション110は、リクエストを受信し、該当するコントローラ111を呼び出す(ステップ(2))。このコントローラ呼び出しに応答して、アクセス履歴収集部120は、アクセス履歴のログデータ(履歴データとも呼ぶ)を、分析サーバ300のアクセス履歴格納部320に格納する(ステップ(3))。例えば図4乃至図7に基づき、図11に示すようなデータを格納する。図11の例では、セッションID、スレッドID、コントローラクラス名及びコントローラメソッド名が格納される。なお、以下で述べるように、マスタ格納部310では、コントローラのクラスとメソッドの組み合わせ毎にコントローラIDが規定されているので、以後コントローラクラス名及びコントローラメソッド名を対応するコントローラIDに置換した形で示すものとする。
アクセス履歴収集部120は、受信したコントローラ呼び出しに対応する処理呼び出しを出力する(ステップ(4))。該当するコントローラ111は、リクエストに対する処理を実施するため、該当するエンティティ113を呼び出す(ステップ(5))。このエンティティ呼び出しに応答して、アクセス履歴収集部120は、アクセス履歴のログデータ(履歴データとも呼ぶ)を、分析サーバ300のアクセス履歴格納部320に格納する(ステップ(6))。例えば図8及び図9に基づき、図12に示すようなデータを格納する。図12の例では、スレッドID、エンティティ・クラス名、エンティティ・フィールド名及び処理種別(参照(R)/更新(W))が格納される。なお、以下で述べるように、マスタ格納部310では、エンティティのクラスとフィールドの組み合わせ毎にエンティティIDが規定されているので、以後エンティティ・クラス名及びエンティティ・フィールド名を対応するエンティティIDに置換した形で示すものとする。
その後、アクセス履歴収集部120は、受信したエンティティ呼び出しに対応するエンティティ呼び出しを出力する(ステップ(7))。該当するエンティティ113は、要求された処理、すなわちDBサーバ200のRDBMS210へのアクセス(参照又は更新)を実施する。
このような処理を繰り返し、所定時間後、例えば図13及び図14に示すようなデータが、アクセス履歴格納部320に格納されているものとする。図13は、コントローラアクセス履歴データの一例を示す。図13の例では、レコードIDと、セッションIDと、スレッドIDと、コントローラIDとが登録されるようになっている。なお、図13の状態は、時刻(図示せず)及びセッションIDでソート済みであるものとする。図14は、エンティティアクセス履歴データの一例を示す。図14の例では、レコードIDと、スレッドIDと、エンティティIDと、処理種別とが登録されるようになっている。なお、図14の状態は、時刻(図示せず)及びスレッドIDでソート済みであるものとする。このように、スレッドIDで、セッションIDとエンティティIDとコントローラIDとが関連付けられている。
なお、マスタ格納部310には、図15及び図16のデータが予め格納されている。図15に、コントローラマスタの一例を示す。図15の例では、コントローラマスタには、コントローラIDと、クラス名と、メソッド名とが予め格納されるようになっている。また、コントローラマスタには、参照のみを行うのか否かを表す更新分類と、スレーブDBへアクセスさせることが適切か否かを表す判定結果とが、後の処理にて登録されるようになっている。但し、これらのデータについては、別の記憶装置に格納するようにしても良い。
また、図16に、エンティティマスタの一例を示す。図16の例では、エンティティマスタには、エンティティIDと、クラス名と、フィールド名と、クリティカルフィールドであるか否かを表すクリティカルフラグとが予め格納されるようになっている。クリティカルフィールドというのは、レプリケーションによる更新遅延などの影響を受けて出力結果が変わってしまうと問題とされるようなデータ項目であって、予め指定されるものである。但し、クリティカルフラグがTrueであるレコードのみをエンティティマスタに登録するようにしても良い。
次に、図17乃至図26を用いて、分析サーバ300の動作について説明する。まず、分析サーバ300のコントローラ分類部330は、コントローラ分類処理を実施する(ステップS1)。処理結果は、マスタ格納部310のコントローラマスタにおける更新分類の列に登録される。このコントローラ分類処理については後に詳細に説明する。そして、コントローラ分類処理の処理結果を用いて、コントローラ判定部340は、コントローラ判定処理を実施する(ステップS3)。処理結果は、マスタ格納部310のコントローラマスタにおける判定結果の列に登録される。このコントローラ判定処理については後の詳細に説明する。
次に、図18乃至図20を用いて、コントローラ分類処理について説明する。まず、コントローラ分類部330は、エンティティアクセス履歴を時刻(図示せず)及びスレッドIDでソートして、アクセス履歴格納部320に格納する(図18:ステップS11)。図14のような状態になる。また、コントローラ分類部330は、コントローラアクセス履歴を時刻(図示せず)及びセッションIDでソートして、アクセス履歴格納部320に格納する(ステップS13)。図13のような状態になる。
その後、コントローラ分類部330は、エンティティアクセス履歴において、未処理のスレッドIDを1つ特定する(ステップS15)。また、コントローラ分類部330は、特定されたスレッドIDのレコードの処理種別に「更新」が含まれているか確認する(ステップS17)。図14の例では、スレッドIDが「T001」であるレコードを見てみると、処理種別は参照「R」だけであるので、「更新」は含まれない。一方、スレッドIDが「T002」であるレコードを見てみると、処理種別に更新「W」が含まれている。処理は、端子Aを介して図19の処理に移行する。
図19の処理の説明に移行して、処理種別に「更新」が含まれる場合には(ステップS19:Yesルート)、コントローラ分類部330は、特定されたスレッドIDでコントローラアクセス履歴を検索し、該当するコントローラIDを特定する(ステップS21)。スレッドIDが「T002」の場合、「T002」で図13で示したコントローラアクセス履歴を検索して、該当するレコードにおけるコントローラID「C002」を取得する。その後、コントローラ分類部330は、コントローラマスタにおいて、特定されたコントローラIDに対応付けて、更新分類の値として「更新(W)」を登録する(ステップS23)。そしてステップS29に移行する。
一方、処理種別に「更新」が含まれない場合には(ステップS19:Noルート)、コントローラ分類部330は、特定されたスレッドIDでコントローラアクセス履歴を検索し、該当するコントローラIDを特定する(ステップS25)。ステップIDが「T001」の場合、「T001」で図13に示したコントローラアクセス履歴を検索して、該当するレコードにおけるコントローラID「C001」を取得する。その後、コントローラ分類部330は、コントローラマスタにおいて、特定されたコントローラIDに対応付けて、更新分類の値として「参照(R)」を登録する(ステップS27)。
ステップS23又はS27の後に、コントローラ分類部330は、エンティティアクセス履歴において全てのスレッドIDを処理したか判断する(ステップS29)。未処理のスレッドIDが存在する場合には端子Bを介してステップS15に戻る。一方、全てのスレッドIDを処理した場合には、元の処理に戻る。
このような処理を実施することによって、図20のようにコントローラマスタが更新される。すなわち、更新分類の列に参照(R)又は更新(W)が登録されるようになる。本実施の形態では、「参照」だけを行う、コントローラのメソッドのうち以下で述べる特徴を有する一部のメソッドを、スレーブDBへアクセスするように変更すれば、スケールアウトの効果をそのまま得ることができるようになる。従って、以下の処理で、参照のみを行う、コントローラのメソッドのみについて、スレーブDBへのアクセスに変更することが適切か否かを判断する。
次に、図21乃至図26を用いてコントローラ判定処理について説明する。コントローラ判定部340は、コントローラマスタにおいて未処理の参照系コントローラ(より具体的には、コントローラ・クラスのメソッド)を1つ特定する(ステップS31)。具体的には、コントローラマスタの更新分類の列に「参照」が登録されている未処理のコントローラのコントローラIDを1つ特定する。
そして、コントローラ判定部340は、未処理の参照系コントローラが存在しているか判断する(ステップS33)。未処理の参照系コントローラが存在しない場合には、元の処理に戻る。一方、未処理の参照系コントローラが存在した場合には、コントローラ判定部340は、コントローラアクセス履歴において、特定された参照系コントローラに該当するスレッドIDを特定する(ステップS35)。例えば、ステップS31でコントローラID「C001」が特定された場合、図13のコントローラアクセス履歴においては、スレッドID「T001」が特定される。またステップS31でコントローラID「C003」が特定された場合、図13のコントローラアクセス履歴においては、スレッドID「T003」が特定される。
その後、コントローラ判定部340は、特定されたスレッドIDで、エンティティアクセス履歴を検索し、該当するレコードを特定する(ステップS37)。スレッドID「T001」の場合には、図14のテーブルの第1及び第2行が特定される。また、スレッドID「T003」の場合、図14のテーブルの第6及び第7行が特定される。そして、コントローラ判定部340は、特定されたレコードのエンティティIDを特定し、エンティティマスタに登録されているクリティカルフィールドへの参照が含まれているか確認する(ステップS39)。エンティティアクセス履歴において第1及び第2行が特定された場合、該当するエンティティIDは「E001」及び「E003」である。一方、エンティティマスタ(図16)からすると、クリティカルフラグが「True」となっているエンティティIDは「E003」及び「E006」である。従って、クリティカルフィールドへの参照が含まれていると判断される。このような場合には、クリティカルフラグが「True」であるエンティティID「E003」を保持しておく。
一方、エンティティアクセス履歴において第6及び第7行が特定された場合、該当するエンティティIDは「E004」及び「E006」である。従って、クリティカルフィールドへの参照が含まれていると判断され、クリティカルフラグが「True」であるエンティティID「E006」を保持しておく。
処理は端子Cを介して図22の処理に移行する。図22の処理の説明に移行して、ステップS39でクリティカルフィールドへの参照が存在しないと判断された場合には(ステップS41:Noルート)、コントローラ判定部340は、ステップS31で特定された参照系コントローラに対応付けて、判定結果として「参照可能」を登録する(ステップS43)。すなわち、クリティカルフィールドへの参照がなければ、スレーブDBへアクセスするように変更しても問題は発生しない。従って、ステップS43で、その旨を登録する。そして、端子Dを介してステップS31に戻る。
一方、ステップS39でクリティカルフィールドへの参照が存在すると判断された場合には(ステップS41:Yesルート)、コントローラ判定部340は、コントローラアクセス履歴において、ステップS31で特定された参照系コントローラのセッションIDを特定する(ステップS45)。例えば、ステップS31で特定されたコントローラIDが「C001」であれば、セッションID「S001」が特定される。また、ステップS31で特定されたコントローラIDが「C003」であれば、セッションID「S002」が特定される。
そして、コントローラ判定部340は、特定されたセッションIDと同じセッションにおいて、後続のコントローラが更新系であるかを確認する(ステップS47)。例えば、セッションID「S001」であれば、処理に係るコントローラID「C001」の後に出現するコントローラIDは「C002」である。コントローラマスタを、コントローラID「C002」で検索すれば、当該コントローラIDに対応付けて「更新(W)」が登録されている。従って、後続のコントローラは更新系であることが分かる。一方、セッションID「S002」であれば、処理に係るコントローラID「C003」の後に出現するコントローラIDは「C004」である。コントローラマスタを、コントローラID「C004」で検索すれば、当該コントローラIDは参照系であることが分かる。
そうすると、後続のコントローラが更新系でなければ(ステップS49:Noルート)、ステップS43に移行する。すなわち、判定結果として「参照可能」が登録される。一方、後続のコントローラが更新系であれば(ステップS49:Yesルート)、コントローラ判定部340は、該当する後続の更新系コントローラのスレッドIDをコントローラアクセス履歴において特定し、エンティティアクセス履歴において当該スレッドIDに該当するレコードを特定する(ステップS51)。上で述べたように、後続の更新系コントローラのコントローラIDが「C002」であれば、スレッドIDは「T002」である。よって、エンティティアクセス履歴において、第3乃至第5行が特定される。
その後、コントローラ判定部340は、特定されたレコードに、ステップS31で特定された参照系コントローラの参照クリティカルフィールドと同一のフィールドに対する更新が含まれるか確認する(ステップS53)。ステップS39で特定されたクリティカルフィールドに対応するエンティティIDが「E003」であり、エンティティアクセス履歴の第3乃至第5行に、エンティティID「E003」及び処理種別「W」が登録されている行が存在するか判断する。第5行がこの条件を満たしていることが分かる。
ステップS53で特定されたレコードに、ステップS31で特定された参照系コントローラの参照クリティカルフィールドと同一のフィールドに対する更新が含まれない場合には(ステップS55:Noルート)、ステップS43に移行する。すなわち、判定結果として「参照可能」が登録される。一方、ステップS53で特定されたレコードに、ステップS31で特定された参照系コントローラの参照クリティカルフィールドと同一のフィールドに対する更新が含まれる場合には(ステップS55:Yesルート)、コントローラ判定部340は、コントローラマスタにおいて、特定された参照系コントローラに対応付けて判定結果として「参照不可」を登録する(ステップS57)。コントローラID「C001」の場合、判定結果として「参照不可」が登録される。そして、処理は端子Dを介してステップS31に戻る。
以上の処理を、コントローラマスタに登録されている全ての参照系コントローラについて処理が完了するまで繰り返す。
このような処理を実施することによって、コントローラマスタ(図20)は、図23に示すような状態に変化する。すなわち、コントローラID「C001」についてのみ「参照不可」が登録され、コントローラID「C003」及び「C004」については「参照可能」が登録される。
図24に示すように、セッション「S001」で、スレッド「T001」において、例えば参照系コントローラ「C001」で実行される注文確認処理でクリティカルフィールド「注文金額」を参照した後に、同一セッション「S001」で、スレッド「T002」において、更新系コントローラ「C002」で実行される注文決済処理で同一クリティカルフィールド「注文金額」を更新するようなケースでは、注文確認処理を実施する参照系コントローラ「C001」については、スレーブDBへのアクセスに変更させることができない。これは、レプリケーションによる更新遅延の影響が、外部からアクセスしてきているユーザに対して現れてしまうからである。
一方、図25に示すように、セッション「S002」で、スレッド「T003」において、例えば参照系コントローラ「C003」で実行されるリスト確認処理でクリティカルフィールド「単価」を参照した後に、同一セッション「S002」で、スレッド「T004」において、参照系コントローラ「C004」で実行される詳細確認処理で同一クリティカルフィールド「単価」を参照するケースでは、参照系コントローラ「C003」を、スレーブDBへのアクセスに変更しても問題がない。
以上のように、コントローラ・クラスのメソッド単位で、スケールアウトする際にスレーブDBへのアクセスに変更することができるか否かを、アクセス履歴という比較的容易に取得できるデータにより自動的に判定することができるようになる。
従って、コントローラマスタに登録された判定結果に従って、例えば図26に示すようなアクセス態様に変更しても問題を発生させずに、スケールアウトを行うことができるようになる。図26の例では、図24の状況に基づき、Webアプリケーションにおいて注文確認処理を実行する参照系プログラム及び注文決済処理を実行する更新系プログラムについては、マスタDBサーバで管理されるデータベースにアクセスするが、注文履歴参照を実行する参照系プログラムについては、定期的にレプリケーションが実施されるスレーブDBサーバのデータベースにアクセスするような構成変更が行われるようになる。
以上本技術の実施の形態について説明したが、本技術はこれに限定されるものではない。例えば、上では良く使用されるフレームワークに従ってコントローラとエンティティに分けられる場合を説明したが、このような前提的な構成に適用範囲が限定されるわけではない。
また、分析サーバ300の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成が一致しない場合もある。さらに、マスタデータ及びアクセス履歴のテーブル構成についても一例に過ぎず、他の構成を採用するようにしても良い。処理フローについても、処理結果が変わらない限り、処理ステップの順番を入れ替えたり、並列実行するようにしても良い。
また、参照可のみ又は参照不可のみをコントローラマスタに登録するようにしても良い。
なお、上で述べた分析サーバ300は、コンピュータ装置であって、図27に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本判定方法は、(A)セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部から、判定対象のプログラム毎に履歴データを読み出し、処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部に格納するステップと、(B)プログラムデータ格納部において参照を表す種別データが対応付けて登録されている判定対象のプログラムの各々について、アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれるデータ項目識別子及びセッションの識別子と同一のデータ項目識別子及びセッションの識別子と更新を表す処理種別とが関連付けられている履歴データが特定の履歴データの後に存在するという条件を満たすか判断するステップとを含む。
このようにすれば、上で述べた条件を導入することによって、レプリケーションによる悪影響を最小限に抑えて、レプリケーションによるスケールアウトを行うことができるようになる。
また、上記判定方法は、上記条件を満たす判定対象のプログラムの識別子に対応付けてレプリケーション先へのアクセスが不適であることを表すデータをプログラムデータ格納部に格納するステップをさらに含むようにしてもよい。また、上記条件を満たさない判定対象のプログラムの識別子に対応付けてレプリケーション先へのアクセスが適切であることを表すデータをプログラムデータ格納部に格納するステップをさらに含むようにしても良い。レプリケーション先へのアクセスが不適なプログラムと適切なプログラムとのうち少なくともいずれかが自動的に特定されるようになる。
なお、アクセス履歴格納部が、セッションの識別子とプログラムの識別子とスレッドの識別子とを対応付ける第1の履歴データとスレッドの識別子とアクセス先のデータ項目を識別するためのデータ項目識別子と処理種別とを対応付ける第2の履歴データとを格納するようにしてもよい。その際、スレッドの識別子により第1の履歴データと第2の履歴データとが関連付けられているような場合もある。スケールアウトを実施するシステムによっては、上で述べたような2系統の履歴データが取得される場合もある。
さらに、アクセス先のデータ項目を識別するためのデータ項目識別子が、プログラムから呼び出され且つアクセス先のデータ項目に対応付けられている別のプログラムの識別子である場合もある。データベース内の特定のデータ項目へのアクセスが、特定のプログラムにより行われるような実装の場合にも対処可能である。また、上記プログラムがコントローラであり、上記別のプログラムがエンティティである場合もある。
本判定装置(図28)は、(A)セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部(図28:3010)から、判定対象のプログラム毎に履歴データを読み出し、処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部(図28:3030)に格納するプログラム分類部(図28:3020)と、(B)プログラムデータ格納部において参照を表す種別データが対応付けて登録されている判定対象のプログラムの各々について、アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれるデータ項目識別子及びセッションの識別子と同一のデータ項目識別子及びセッションの識別子と更新を表す処理種別とが関連付けられている履歴データが特定の履歴データの後に存在するという条件を満たすか判断するプログラム判定部と(図28:3040)とを有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
300 分析サーバ 310 マスタ格納部
320 アクセス履歴格納部 330 コントローラ分類部
340 コントローラ判定部
120 アクセス履歴収集部

Claims (5)

  1. セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部から、判定対象のプログラム毎に前記履歴データを読み出し、前記処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部に格納するステップと、
    前記プログラムデータ格納部において前記参照を表す種別データが対応付けて登録されている前記判定対象のプログラムの各々について、前記アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれる前記データ項目識別子及び前記セッションの識別子と同一のデータ項目識別子及びセッションの識別子と前記更新を表す処理種別とが関連付けられている履歴データが前記特定の履歴データの後に存在するという条件を満たすか判断するステップと、
    を、コンピュータに実行させるための判定プログラム。
  2. 前記条件を満たす判定対象のプログラムの識別子に対応付けて前記レプリケーション先へのアクセスが不適であることを表すデータを前記プログラムデータ格納部に格納するステップ
    をさらに前記コンピュータに実行させるための請求項1記載の判定プログラム。
  3. 前記条件を満たさない判定対象のプログラムの識別子に対応付けて前記レプリケーション先へのアクセスが適切であることを表すデータを前記プログラムデータ格納部に格納するステップ
    を前記コンピュータにさらに実行させるための請求項1又は2記載の判定プログラム。
  4. セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部から、判定対象のプログラム毎に前記履歴データを読み出し、前記処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部に格納するステップと、
    前記プログラムデータ格納部において前記参照を表す種別データが対応付けて登録されている前記判定対象のプログラムの各々について、前記アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれる前記データ項目識別子及び前記セッションの識別子と同一のデータ項目識別子及びセッションの識別子と前記更新を表す処理種別とが関連付けられている履歴データが前記特定の履歴データの後に存在するという条件を満たすか判断するステップと、
    を含み、コンピュータにより実行される判定方法。
  5. セッションの識別子とプログラムの識別子とデータベース内におけるアクセス先のデータ項目を識別するためのデータ項目識別子と参照又は更新を表す処理種別とが関連付けられて履歴データとして格納されているアクセス履歴格納部から、判定対象のプログラム毎に前記履歴データを読み出し、前記処理種別に更新が含まれない場合には参照を表す種別データを当該判定対象のプログラムの識別子に対応付けてプログラムデータ格納部に格納するプログラム分類部と、
    前記プログラムデータ格納部において前記参照を表す種別データが対応付けて登録されている前記判定対象のプログラムの各々について、前記アクセス履歴格納部において、レプリケーションによる影響を受けるとして予め定められている所定のデータ項目を識別するための識別子と当該判定対象のプログラムの識別子とが関連付けられている特定の履歴データが存在しており、且つ当該特定の履歴データに含まれる前記データ項目識別子及び前記セッションの識別子と同一のデータ項目識別子及びセッションの識別子と前記更新を表す処理種別とが関連付けられている履歴データが前記特定の履歴データの後に存在するという条件を満たすか判断するプログラム判定部と、
    を含む判定装置。
JP2010038560A 2010-02-24 2010-02-24 判定プログラム、方法及び装置 Expired - Fee Related JP5598017B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010038560A JP5598017B2 (ja) 2010-02-24 2010-02-24 判定プログラム、方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010038560A JP5598017B2 (ja) 2010-02-24 2010-02-24 判定プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2011175422A true JP2011175422A (ja) 2011-09-08
JP5598017B2 JP5598017B2 (ja) 2014-10-01

Family

ID=44688228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010038560A Expired - Fee Related JP5598017B2 (ja) 2010-02-24 2010-02-24 判定プログラム、方法及び装置

Country Status (1)

Country Link
JP (1) JP5598017B2 (ja)

Cited By (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446653A (zh) * 2014-08-27 2016-03-30 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
CN110795272A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于在可变大小的i/o上促进的原子性和延迟保证的方法和***
CN110795206A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的***和方法
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11379127B2 (en) 2019-07-18 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164659A (ja) * 2003-12-09 2004-06-10 Shimane Pref Gov 情報管理システム
JP2005276078A (ja) * 2004-03-26 2005-10-06 Ntt Data Corp データベースセキュリティシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164659A (ja) * 2003-12-09 2004-06-10 Shimane Pref Gov 情報管理システム
JP2005276078A (ja) * 2004-03-26 2005-10-06 Ntt Data Corp データベースセキュリティシステム

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523743B2 (en) 2014-08-27 2019-12-31 Alibaba Group Holding Limited Dynamic load-based merging
JP2017528794A (ja) * 2014-08-27 2017-09-28 アリババ グループ ホウルディング リミテッド 負荷に基づく動的統合
CN105446653B (zh) * 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
CN105446653A (zh) * 2014-08-27 2016-03-30 阿里巴巴集团控股有限公司 一种数据合并方法和设备
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10229003B2 (en) 2017-06-16 2019-03-12 Alibaba Group Holding Limited Method and system for iterative data recovery and error correction in a distributed system
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US11068409B2 (en) 2018-02-07 2021-07-20 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
CN110795272B (zh) * 2018-08-02 2023-06-13 阿里巴巴集团控股有限公司 用于在可变大小的i/o上促进的原子性和延迟保证的方法和***
CN110795206B (zh) * 2018-08-02 2023-06-13 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的***和方法
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
CN110795206A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于促进集群级缓存和内存空间的***和方法
CN110795272A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 用于在可变大小的i/o上促进的原子性和延迟保证的方法和***
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11768709B2 (en) 2019-01-02 2023-09-26 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US11379127B2 (en) 2019-07-18 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Also Published As

Publication number Publication date
JP5598017B2 (ja) 2014-10-01

Similar Documents

Publication Publication Date Title
JP5598017B2 (ja) 判定プログラム、方法及び装置
CN109977110B (zh) 数据清洗方法、装置及设备
US8671084B2 (en) Updating a data warehouse schema based on changes in an observation model
US8209284B1 (en) Data propagation in a multi-shard database system
US11487745B2 (en) Workflow dependency management system
US20100228764A1 (en) Offline Validation of Data in a Database System for Foreign Key Constraints
US9031920B2 (en) Objects in a storage environment for connected applications
EP3049968A1 (en) Master schema shared across multiple tenants with dynamic update
US20090030880A1 (en) Model-Based Analysis
US10599614B1 (en) Intersection-based dynamic blocking
CN107609011B (zh) 一种数据库记录的维护方法和装置
US11238077B2 (en) Auto derivation of summary data using machine learning
US9092472B1 (en) Data merge based on logical segregation
US11157506B2 (en) Multiform persistence abstraction
US8868485B2 (en) Data flow cost modeling
JP2019101829A (ja) ソフトウェア部品管理システム、計算機および方法
CN113625967A (zh) 数据存储方法、数据查询方法及服务器
JP2018028776A (ja) ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム
US20240169077A1 (en) Implementing inherited grants using secure schemas
US20160162273A1 (en) Image planner
JP2009015511A (ja) メタデータ管理装置、プログラムおよびメタデータ管理方法
US20240256426A1 (en) Runtime error attribution for database queries specified using a declarative database query language
WO2024156113A1 (en) Runtime error attribution for database queries specified using a declarative database query language
WO2024039562A1 (en) Sharing events and other metrics in native applications
JP2024019840A (ja) 計算機システム及びシステム更新支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140728

R150 Certificate of patent or registration of utility model

Ref document number: 5598017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees