JP2019527406A - データ記憶方法及び装置 - Google Patents

データ記憶方法及び装置 Download PDF

Info

Publication number
JP2019527406A
JP2019527406A JP2018568336A JP2018568336A JP2019527406A JP 2019527406 A JP2019527406 A JP 2019527406A JP 2018568336 A JP2018568336 A JP 2018568336A JP 2018568336 A JP2018568336 A JP 2018568336A JP 2019527406 A JP2019527406 A JP 2019527406A
Authority
JP
Japan
Prior art keywords
domain name
page
iframe
name
data
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
JP2018568336A
Other languages
English (en)
Other versions
JP6945783B2 (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2019527406A publication Critical patent/JP2019527406A/ja
Application granted granted Critical
Publication of JP6945783B2 publication Critical patent/JP6945783B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/44Arrangements for executing specific programs
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本願は、データ記憶方法及び装置を提供する。本方法は、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名の記憶領域にアプリケーションデータを記憶し、ドメイン名はジェネリックドメイン名をサポートする(101)、ドメイン名の記憶領域がアプリケーションデータを記憶するには不十分である場合、少なくとも1つのiframeを作成して、各iframeはドメイン名のサブドメイン名に対応するページをロードし(102)、少なくとも1つのサブドメイン名に対応する記憶領域に残りのアプリケーションデータを記憶する(103)ことを含む。本方法は、ブラウザのローカルストレージが各種容量のデータストア要求を満たすことを可能にする。【選択図】図1

Description

本願は、2016年6月28日に「Data Storage Method and Device」と題して出願された中国特許出願第201610491303.7号に対して優先権を主張するものであり、その出願全体の内容が参照により本明細書に組み込まれる。
本発明は、コンピュータ技術に関し、特に、データ記憶方法及び装置に関する。
ブラウザにあるページをロードして実行するとき、そのページの表示に必要なリソースをブラウザのローカル記憶領域に記憶することができ、これによって次の実行時にローカルでリソースを取得できるようになる。例えば、オフライン操作をサポートするウェブアプリケーションを開発するときには、アプリケーションのオフライン操作によって必要とされるリソースファイルを、ブラウザがオンライン時にダウンロードし、ローカル記憶領域に記憶する。ユーザがアプリケーションをオフラインでアクセスする場合には、リソースファイルをローカルに取得して、自動的にロードすることによって、ユーザはオフラインでアプリケーションを正常に利用できるようになる。しかし、現在主流のブラウザのローカルストレージ容量には制限があり、多くの場合はドメイン名を介してローカルストレージ容量を制限する。例えば、あるドメイン名に対応するローカル記憶領域が5MBである場合、大規模なオフラインWebアプリケーションによる大量のデータのローカル記憶要求を満たすことができない。
以上を考慮して、本発明は、データ記憶方法及び装置を提供して、ブラウザのローカルストレージが各種容量のデータストア要求を満たすことができるようにする。
例えば、本発明は、以下の技術的解決策によって実現される。
第1の態様は、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名の記憶領域にアプリケーションデータを記憶し、
ドメイン名の記憶領域がアプリケーションデータを記憶するには不十分である場合、少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名のサブドメイン名に対応するページをロードし、
少なくとも1つのサブドメイン名に対応する記憶領域に残りのアプリケーションデータを記憶する、
ことを含む、データ記憶方法を提供する。
第2の態様は、データ記憶モジュールと、ページ作成モジュールとを含むデータ記憶装置であって、
データ記憶モジュールは、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名のローカルストレージにアプリケーションデータを記憶するように構成され、ドメイン名の記憶領域がアプリケーションデータを記憶するには不十分である場合、データ記憶モジュールは、ページ作成モジュールで作成される少なくとも1つのサブドメイン名に対応する記憶領域に残りのアプリケーションデータを記憶するようにさらに構成され、
ページ作成モジュールは、ドメイン名の記憶領域がアプリケーションデータを記憶するには不十分である場合、少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名の下にサブドメイン名に対応するページをロードするように構成される、データ記憶装置を提供する。
本願の実施形態に係るデータ記憶方法及び装置は、親ページがデータを記憶するには不十分である場合、ジェネリックドメイン名のサブドメイン名に対応するプロキシページを作成することにより、サブドメイン名に対応する記憶領域にデータを配置する。ジェネリックドメイン名が無制限のサブドメイン名をサポートできるので、サブドメイン名のページは、ブラウザのローカルストレージが各種容量のデータストア要求を満たすように、ストレージニーズに応じてサブドメイン名のページを適応的に作成できる。
本発明の実施形態に係るデータ記憶方法のフローチャートである。 本発明の実施形態に係る別のデータ記憶方法のフローチャートである。 本発明の実施形態に係るデータ記憶装置の概略構成図である。 本発明の実施形態に係る別のデータ記憶装置の概略構成図である。
現在のブラウザのローカル記憶領域には制限があり、通常はドメイン名に従って制限されることが多い。各ドメイン名には最大記憶容量がある。しかし、このような容量の制限はデータストア要求、特に大規模なオフラインアプリケーションのデータをローカルに記憶するには障壁になることがある。本願の実施形態に係るデータ記憶方法は、ブラウザのこのローカル記憶領域の容量制限を解決して、ブラウザがローカルに任意のサイズのデータを記憶し、各種容量のデータストア要求を満たすことができるようになる。
上記目的を実現するために、一例では、ジェネリックドメイン名をサポートするようにアプリケーションのドメイン名を設定することができる。例えば、大規模なオフラインのアプリケーションは、ジェネリックドメイン名の解決をサポートする「*.abc.com」のドメイン名を有する。例えば、「123.abc.com」又は「234.abc.com」は、「*.abc.com」と同じIPアドレスを指す。上記方法は、ドメイン名が無制限のサブドメイン名をサポートすることを可能にする。例えば、「123.abc.com」、「234.abc.com」などのサブドメイン名はすべてジェネリックドメイン名の下にある。
図1は、ジェネリックドメイン名をサポートするように設定されたドメイン名に従って、本例のデータ記憶方法の例示的なプロセスフローを示す。この方法は、ブラウザにデータをローカルに記憶する必要があるアプリケーションによって実行でき、例えば、開発された大規模なオフラインアプリケーションによって実行できる。図1に示すように、この方法は以下を含むことができる。
ステップ101では、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名の記憶領域にアプリケーションデータを記憶する。ドメイン名はジェネリックドメイン名をサポートする。
例えば、ブラウザのローカルストレージインタフェースは、ローカルストレージ、Web SQL、Index DBなどのAPIを含むことができる。ブラウザがオフラインアプリケーションをロードして実行すると、アプリケーションは、ブラウザが提供するローカルストレージインタフェースを呼び出し、ブラウザのローカル記憶領域にアプリケーションデータを記憶する。
しかし、ブラウザの特性によれば、ブラウザはドメイン名に従ってアプリケーションデータの記憶を制限する。例えば、ドメイン名が5MBの記憶領域に対応する場合、先ずこの記憶領域にアプリケーションデータを記憶することになる。ここで、本ステップのアプリケーションデータに関して、ユーザがアプリケーションのドメイン名にアクセスする場合、アプリケーションサーバは、アプリケーションがロードする必要があるデータをドメイン名に対応する現在のページに送信できる。
ステップ102では、ドメイン名の記憶領域がアプリケーションデータを記憶するには不十分である場合、少なくとも1つのiframeを作成して、各iframeはドメイン名のサブドメイン名に対応するページをロードする。
例えば、現在のページに対応するドメイン名にある記憶領域は、ドメイン名に対応する記憶容量の制限があるため、アプリケーションデータを記憶するのに十分ではないとする。例えば、合計10MBのアプリケーションデータがある場合、ドメイン名にある記憶領域に5MBの上限があるので、その領域にはすべてのアプリケーションデータを記憶することができない。
本例では、アプリケーションは、現在のページに少なくとも1つのiframeを作成して、各iframeは1つのページをロードすることができ、そのページはプロキシページと呼ばれる。さらに、そのプロキシページは、ステップ101におけるジェネリックドメイン名にあるサブドメイン名に対応する。例えば、現在のページのドメイン名は「*.abc.com」であり、本ステップで作成されたジェネリックドメイン名の下のサブドメイン名は「123.abc.com」であることができる。もちろんジェネリックドメイン名の下には他のサブドメイン名、例えば「234.abc.com」を作成することもできる。このドメイン名は、ジェネリックドメイン名をサポートすることができるので、無制限のサブドメイン名をサポートすることができる。
サブドメイン名に対応するプロキシページを作成した後、ブラウザの「ドメイン名でローカル記憶領域を制限する」という特性、例えば、5MBである、に従って、このサブドメイン名は新たに対応するローカル記憶領域を生成することができる。これは、さらに5MBのローカル記憶領域を追加することに相当する。残りのアプリケーションデータは、このサブドメイン名のローカル記憶領域に続けて記憶することができる。
本ステップでは、作成されるiframeの数を、データストア要求に従って決定できる。例えば、ステップ101で現在のページに対応する記憶領域にデータを記憶した後、6MBのアプリケーションデータが残っている場合には、2つのiframeが作成することができ、各iframeにはサブドメイン名に対応するプロキシページをロードする。サブドメイン名ごとに5MBのローカル記憶領域を生成すると仮定すると、その2つのiframeの作成はアプリケーションデータの記憶を完了させることができる。別の例では、ステップ101で12MBのアプリケーションデータが残っている場合、上記の例に従って、3つのiframeを作成して、iframeごとにサブドメイン名に対応するプロキシページをロードし、アプリケーションデータの記憶を完了させることができる。
ステップ103では、残りのアプリケーションデータを少なくとも1つのサブドメイン名に対応する記憶領域に記憶する。
本ステップでは、ステップ101で未記憶の残りのアプリケーションデータを、ステップ102で作成したサブドメイン名に対応するローカル記憶領域に記憶する。図1のフローでは、ステップの実行順序を制限するわけではない。例えば、少なくとも2つのiframeを作成する必要がある場合、ステップ102とステップ103を1度実行して1つのiframeを作成して、そのiframeに対応するサブドメイン名の記憶領域へのデータの記憶を行い、次にステップ102とステップ103をもう一度実行し、もう1つのiframeの作成とデータの記憶を完了する。
本例のデータ記憶方法は、現在のページに複数のiframeを作成でき、そのiframeに対応するサブドメイン名のページを導入することにより、それらのサブドメイン名はそれぞれ新しい記憶領域を生成するようになる。また、本例の方法では、iframeのページに対応するサブドメイン名は「ジェネリックドメイン名の下にあるサブドメイン名」とする。ジェネリックドメイン名の下にあるサブドメイン名の使用は、多くの極めて大きな効果をもたらす。例えば、次の3つの効果をもたらす。
第一に、ブラウザのローカル記憶領域を無限にする。
ジェネリックドメイン名は無制限のサブドメイン名をサポートできるので、ブラウザのローカル記憶領域を無制限に拡張することができる。例えば、ジェネリックドメイン名「*.abc.com」には、「123.abc.com」「234.abc.com」「456.abc.com」といった無制限のサブドメイン名を使用することができ、記憶領域がアプリケーションデータを記憶するのに十分になるまで、データストア要求に従ってiframeにはページを無制限に作成することができる。この方式は、ブラウザのローカル記憶領域を無限にして、ブラウザのローカル記憶領域の制限を解決する。
第二に、ブラウザのローカルストレージ容量を柔軟に増加させることができる。
ジェネリックドメイン名が無制限のサブドメイン名をサポートできるので、ジェネリックドメイン名にある任意のサブドメイン名を、iframeに埋め込まれたページに対して割り当てることができる。そのようなサブドメイン名は任意に取得可能であり、その操作は非常に便利である。一方で、ジェネリックドメイン名の下にサブドメイン名を作成せずに、iframeのページごとにいくつかのサブドメイン名を事前に申請する場合、すべてのサブドメイン名を利用するためには事前に申請する必要があるため、操作が煩雑になる。
また、いくつかのサブドメイン名を使用のために事前に申請する方式は、ブラウザのローカル記憶領域をカスタマイズすることに相当し、記憶領域の容量が制限されることになる。例えば、各サブドメイン名が5MBの記憶領域に対応する場合、3つのサブドメイン名の事前申請は、ブラウザのローカル記憶領域を15MBまでに増加させるが、その容量よりも多くのデータは依然としてそのデータストア要求を満たすことができない。5つのサブドメイン名を事前に申請する場合、ブラウザのローカル記憶領域は25MBまで増加するが、依然としてその容量よりも大きいデータを記憶することができない。したがって、ドメイン名にあるサブドメイン名を使用しない場合には、ブラウザのローカル記憶領域は無限ではなく、記憶領域は一定容量の制限を持つ。記憶領域を追加する場合には、新たなサブドメイン名を続けて申請する必要がある。結果として、ブラウザのローカル記憶領域を増加するには相対的に柔軟ではない。
第三に、ブラウザのローカル記憶領域はデータ記憶容量の動的変化を満たすことができる。
アプリケーションデータのサイズも動的に変化する可能性がある。例えば、現在5MBのデータを記憶する必要がある。使用中に大量のデータが生成され、データストア要求が20MBに増加する。本例のジェネリックドメイン名のサブドメイン名を用いた方式では、この種の動的なデータストア要求を十分に満たすことができる。データの増加の程度にかかわらず、単にデータサイズに応じてiframeの数を柔軟かつ高速に増加させる必要がある。
上記2点目に言及された方式であって、iframeごとに使用するいくつかのサブドメイン名を事前に申請する方式と類似比較がなされる。この方式は比較的静的である。データストア要求が変更された場合、事前に申請する必要がある多数のサブドメイン名は、アプリケーションデータを記憶するには不十分である。増加したデータストア要求を満たすには、いくつかの新しいサブドメイン名を申請する必要があり、非常に柔軟ではない。
本願の実施例の方法は、動的にiframeを作成する方法であり、データストア要求に従って動的かつリアルタイムに新しいサブドメイン名を導入することができる。すなわち、データストアに必要な数のサブドメイン名のiframeを作成することにより、データストア要求に適合しそれを満たすことができる。また、本方法はジェネリックドメイン名をサポートするドメイン名を設定して、そのドメイン名はその下に無制限のサブドメイン名を持つことができるようになる。データストア要求に従ってジェネリックドメイン名の下にサブドメイン名を任意の時点で作成することができ、非常に便利になる。
図2は、本願の実施例のデータ記憶方法の1つの応用例を示す。本例では、ドメイン名(またはサブドメイン名)に対応するローカル記憶領域を5MBとし、ブラウザに現在のアプリケーションがローカルに記憶するアプリケーションデータを12MBと仮定する。記憶フローは次のようになる。
ステップ201では、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名の記憶領域にアプリケーションデータを記憶する。
例えば、現在のページは親ページと呼ぶことができる。ブラウザが提供するローカルストレージ、Index DBなどのAPIを介して、その親ページのドメイン名に対応するローカル記憶領域にアプリケーションデータを記憶することができる。
ステップ202では、現在のページに対応するドメイン名の記憶領域がアプリケーションデータを記憶するために十分であるか否かを判定する。
判定結果が十分である場合、現在のページのドメイン名に対応する記憶領域にアプリケーションデータを単に記憶することにより、フローを終了することができる。
しかし、本例では、記憶するアプリケーションデータを12MBとし、現在のページのドメイン名の記憶領域を5MBと仮定している。本ステップの判定結果は不十分であり、ステップ203を実行することができる。
ステップ203では、iframeを作成して、iframeにプロキシページをロードし、プロキシページはドメイン名の1つのサブドメイン名に対応する。
例えば、現在の親ページにiframeを作成して、そのiframeにプロキシページをロードする。そのプロキシページを子ページと呼ぶことができる。また、本例では、親ページの体験に影響を与えないように、作成されたiframeに埋め込まれた子ページを非表示にするように設定できる。例えば、子ページの属性を非表示に設定することによって、そのページを非表示にするように設定することができる。この子ページの作成は、その子ページに対応するサブドメイン名にある記憶領域を利用する目的で作成され、そのサブドメイン名は親ページのドメイン名にあるサブドメイン名である。
本ステップでは、iframeのプロキシページの作成に失敗した場合、ステップ203を再実行しiframeを再作成して、サブドメイン名に対応するプロキシページを導入する。
iframeのプロキシページの作成が成功した場合、ステップ204を実行する。
ステップ204では、ブラウザのローカルストレージインタフェースを呼び出し、サブドメイン名に対応する記憶領域にアプリケーションデータを続けて記憶する。
例えば、ステップ201で親ページの記憶領域にデータを記憶する場合、未記憶の残りのアプリケーションデータを子ページの記憶領域に続けて記憶する。親ページと子ページ間のデータ交換は、アプリケーションデータを子ページの記憶領域に記憶するように、親ページがアプリケーションデータを子ページに送信できることである。アプリケーションデータは、現在の親ページからサブドメイン名に対応する子ページに送信される。ドメインクロッシングデータ送信を設定するにはいくつもの方法が存在する。例えば、1つの方法では、postMessage APIを使用することができる。
次の例では、プロキシページを導入するためにiframeを作成することを示す。
iframeを作成する。
var iframeNode = document.createElement(”iframe”)
作成されたiframeにある子ページのアドレス:
iframe.src = ”http://x.alipay.net/proxy.htm
親ページは子ページを呼び出し、記憶するアプリケーションデータを子ページに送信する。
document.appendChild(iframeNode)
本ステップでは、アプリケーションデータをサブドメイン名の記憶領域に記憶する場合、サブドメイン名に対応する記憶領域がアプリケーションデータを記憶するために十分か否かを続けて判定することができる。すなわち、ステップ202に戻って実行できる。iframeに作成された子ページが十分である場合には、フローを終了することができる。記憶領域がアプリケーションデータを記憶するにはまだ不十分である場合、記憶領域がアプリケーションデータを記憶するために十分になるまで、ステップ303を実行して新しいiframeを作成して、別の新しいサブドメイン名に対応するプロキシページを導入し、それ以上新しいiframeが作成されなくなる。本例では、12MBのアプリケーションデータを記憶するために2つのiframeを作成する必要があり、各iframeに1つのサブドメイン名のプロキシページをロードする。
上記のようにiframeを作成する度にアプリケーションデータを記憶するための記憶領域が十分であるか否かを判定するのではなく、本例では、アプリケーションデータのサイズに応じて、事前に作成すべきiframeの数を計算し、その数のiframeを作成して、各iframeに1ページずつロードする。その各ページは、そのページごとに対応するジェネリックドメイン名の下の1つのサブドメイン名に対応する。例えば、アプリケーションデータのサイズが12MBとし、かつサブドメイン名ごとに対応する記憶領域が5MBであると仮定する。現在のページの5MBの記憶領域を使用した後、7MBのデータを記憶するにはiframeを作成する必要がある。7MBデータは2つのiframeの作成を要求し、ジェネリックドメイン名のサブドメイン名に対応するページをiframeごとにロードし、2つのサブドメイン名は合計10MBの記憶領域を生成することができ、それは残りの7MBのアプリケーションデータを記憶するには十分である。
以上の説明から、ブラウザにアプリケーションデータをローカルに記憶する場合、データストア要求に従ってiframeを動的に作成できることが理解できる。例えば、2つのiframeがデータを記憶するために必要であれば、2つのiframeを作成する。データを記憶するために6つのiframeが必要であれば、6つのiframeを作成する。これにより、データ記憶がブラウザのドメイン名の記憶容量に制限されることなく、任意のデータストア要求を満たすことができる。さらに、ジェネリックドメイン名を設定することにより、無制限のサブドメイン名をサポートすることができる。必要に応じてサブドメイン名を作成でき、追加のドメイン名の申請を必要としないので、便利である。
また、アプリケーションデータを記憶した後、次回そのデータを使用する時、例えば、オフライン時にオフラインアプリケーションをロードし実行する場合、記憶されたアプリケーションデータをブラウザにリロードする必要があり、そのアプリケーションデータをドメイン名の記憶領域から取得することができ、記憶領域は少なくとも1つのサブドメイン名にそれぞれ対応する。ここで、子ページはpostMessage関数で親ページ関数を呼び出して、子ページに記憶されたアプリケーションデータ(すなわち、子ページに対応するサブドメイン名の記憶領域に記憶されたデータ)を親ページに送信することができ、親ページにアプリケーションデータを一括して表示する。
また、上記の例では、現在のページのドメイン名をジェネリックドメイン名として使用し、iframeにロードされたページは、そのジェネリックドメイン名にあるサブドメイン名に対応させたものである。これは一例であり、これにより特定の実施形態に限られるわけではない。例えば、作成されたiframeのページは、あるジェネリックドメイン名にあるサブドメイン名に対応しているが、そのジェネリックドメイン名は現在のページに対応するドメイン名ではない。すなわち、現在のページのドメイン名と上記のドメイン名とは異なるドメイン名である。
例えば、現在のページドメイン名はwww.123.comであり、そのページのドメイン名の記憶領域がアプリケーションデータを記憶するには十分でない場合には、iframeを作成して、そのiframeにロードされたページはジェネリックドメイン名のサブドメイン名に対応するようにする。ジェネリックドメイン名は*.abc.comであり、そのジェネリックドメイン名にある1つのサブドメイン名は456.abc.comとすることができる。この場合、現在のページのドメイン名は、iframeのページに対応するジェネリックドメイン名とは異なるが、生成されるのは依然としてジェネリックドメイン名のサブドメイン名に対応するページであることから、無限の拡張が実現でき、前述の例と同様の効果が実現できる。すなわち、任意のサイズのデータストア要求を実現できる。
上記のデータ記憶方法を実装するために、本願の実施例はさらにデータ記憶装置を提供して、以下に装置の構造を簡単に説明する。その詳細な動作原理については、本方法の実施例を参照することができる。図3に示すように、本装置は、データ記憶モジュール31とページ作成モジュール32とを含むことができる。
データ記憶モジュール31は、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名にある記憶領域にアプリケーションデータを記憶する。また、ドメイン名にある記憶領域がアプリケーションデータを記憶するのに十分でない場合には、残りのアプリケーションデータをページ作成モジュールで作成した少なくとも1つのサブドメイン名に対応する記憶領域に記憶するようにさらに構成される。
ページ作成モジュール32は、ドメイン名にある記憶領域がアプリケーションデータを記憶するために十分でない場合には、少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeにジェネリックドメイン名にあるサブドメイン名に対応する1つのページをロードする。
一例では、ページ作成モジュール32は、現在のページに対応するドメイン名にある記憶領域がアプリケーションデータを記憶するために十分であるか否かを判定するように構成される。判定結果が十分ではない場合、iframeを作成して、iframeにプロキシページをロードし、プロキシページはドメイン名にある1つのサブドメイン名に対応する。サブドメイン名に対応する記憶領域がアプリケーションデータを記憶するにはまだ不十分である場合、新しいiframeを作成して、iframeにドメイン名の別のサブドメイン名に対応するプロキシページをロードする。
一例では、ページ作成モジュール32は、アプリケーションデータのサイズに応じて作成すべきiframeの数を計算し、その数のiframeを作成して、各iframeにページをロードし、各ページはジェネリックドメイン名のサブドメイン名に対応するように構成される。
一例では、データ記憶モジュール31は、残りのアプリケーションデータを少なくとも1つのサブドメイン名に対応する記憶領域に記憶するように構成され、以下を含む。サブドメイン名に対応するページとドメイン名に対応する現在のページとを、同じドメイン名に設定する。アプリケーションデータを現在のページからサブドメイン名に対応するページに送信する。
一例では、図4に示すように、本装置は、記憶されたアプリケーションデータをブラウザにロードする場合には、ドメイン名の記憶領域からアプリケーションデータを取得し、記憶領域が少なくとも1つのサブドメイン名にそれぞれ対応するように構成された、データ取得モジュール33をさらに含む。
一例では、ジェネリックドメイン名は、現在のページに対応するドメイン名である。または、ジェネリックドメイン名は、現在のページとは異なるドメイン名である。
上記には本発明の好適な実施例のみが説明されており、本発明を限定するために実施例を用いるわけではない。本発明の精神と原則内に、いかなる修正、均等物による置換、改善などを含むべきであり、いずれも本発明の保護範囲内に含めるべきである。

Claims (10)

  1. ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名の記憶領域にアプリケーションデータを記憶し、
    前記ドメイン名の前記記憶領域が前記アプリケーションデータを記憶するには不十分である場合、少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名のサブドメイン名に対応するページをロードし、
    少なくとも1つの前記サブドメイン名に対応する記憶領域に残りのアプリケーションデータを記憶する、
    ことを含む、データ記憶方法。
  2. 少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名のサブドメイン名に対応するページをロードすることは、
    前記アプリケーションデータを記憶するために前記現在のページに対応する前記ドメイン名の前記記憶領域が十分であるか否かを判定し、
    判定結果が不十分である場合、iframeを作成して、前記iframeにページをロードし、前記ページは前記ドメイン名の1つのサブドメイン名に対応し、
    前記サブドメイン名に対応する前記記憶領域が前記アプリケーションデータを記憶するにはまだ不十分である場合、新しいiframeを作成して、前記ジェネリックドメイン名の下に別のサブドメイン名に対応するページを前記iframeにロードすることを含む、
    請求項1に記載の方法。
  3. 少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名のサブドメイン名に対応するページをロードすることは、
    前記アプリケーションデータの前記サイズに応じて作成するiframeの数を計算し、
    前記数のiframeを作成して、各iframeにページをロードし、各ページはジェネリックドメイン名の1つのサブドメイン名に対応する、
    ことを含む、請求項1に記載の方法。
  4. 前記記憶されたアプリケーションデータを前記ブラウザにロードするとき、前記ドメイン名の前記記憶領域から前記アプリケーションデータを取得し、前記記憶領域は少なくとも1つの前記サブドメイン名にそれぞれ対応することをさらに含む、請求項1に記載の方法。
  5. 前記ジェネリックドメイン名は前記現在のページに対応するドメイン名であるか、または、前記ジェネリックドメイン名は前記現在のページの前記ドメイン名とは異なるドメイン名である、請求項1に記載の方法。
  6. データ記憶モジュールと、ページ作成モジュールとを含むデータ記憶装置であって、
    前記データ記憶モジュールは、ブラウザのローカルストレージインタフェースを呼び出し、現在のページに対応するドメイン名のローカルストレージにアプリケーションデータを記憶するように構成され、前記ドメイン名の前記記憶領域が前記アプリケーションデータを記憶するには不十分である場合、前記データ記憶モジュールは、ページ作成モジュールで作成される少なくとも1つのサブドメイン名に対応する記憶領域に残りのアプリケーションデータを記憶するようにさらに構成され、
    前記ページ作成モジュールは、前記ドメイン名の前記記憶領域が前記アプリケーションデータを記憶するには不十分である場合、少なくとも1つのHTMLフレーム(iframe)を作成して、各iframeはジェネリックドメイン名の下にサブドメイン名に対応するページをロードするように構成される、データ記憶装置。
  7. 前記ページ作成モジュールは、前記アプリケーションデータを記憶するために前記現在のページに対応する前記ドメイン名の前記記憶領域が十分であるか否かを判定し、
    判定結果が不十分である場合、iframeを作成して、前記iframeにページをロードし、前記ページは前記ドメイン名の1つのサブドメイン名に対応し、
    前記サブドメイン名に対応する前記記憶領域が前記アプリケーションデータを記憶するにはまだ不十分である場合、新しいiframeを作成して、前記ドメイン名の下に別のサブドメイン名に対応するページを前記iframeにロードするように構成される、請求項6に記載のデータ記憶装置。
  8. 前記ページ作成モジュールは、前記アプリケーションデータの前記サイズに応じて作成するiframeの数を計算し、
    前記数のiframeを作成して、各iframeにページをロードし、各ページはジェネリックドメイン名の1つのサブドメイン名に対応するように構成される、請求項6に記載のデータ記憶装置。
  9. データ取得モジュールは、前記記憶されたアプリケーションデータを前記ブラウザにロードするとき、前記ドメイン名の前記記憶領域から前記アプリケーションデータを取得し、前記記憶領域は少なくとも1つの前記サブドメイン名にそれぞれ対応するように構成される、請求項6に記載のデータ記憶装置。
  10. 前記ジェネリックドメイン名は前記現在のページに対応するドメイン名であるか、または、前記ジェネリックドメイン名は前記現在のページの前記ドメイン名とは異なるドメイン名である、請求項6に記載のデータ記憶装置。
JP2018568336A 2016-06-28 2017-06-16 データ記憶方法及び装置 Active JP6945783B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610491303.7 2016-06-28
CN201610491303.7A CN106874323A (zh) 2016-06-28 2016-06-28 一种数据存储方法和装置
PCT/CN2017/088589 WO2018001121A1 (zh) 2016-06-28 2017-06-16 一种数据存储方法和装置

Publications (2)

Publication Number Publication Date
JP2019527406A true JP2019527406A (ja) 2019-09-26
JP6945783B2 JP6945783B2 (ja) 2021-10-06

Family

ID=59239327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018568336A Active JP6945783B2 (ja) 2016-06-28 2017-06-16 データ記憶方法及び装置

Country Status (7)

Country Link
US (1) US10855796B2 (ja)
EP (1) EP3477507A4 (ja)
JP (1) JP6945783B2 (ja)
KR (1) KR102289996B1 (ja)
CN (1) CN106874323A (ja)
TW (1) TWI661314B (ja)
WO (1) WO2018001121A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388766B (zh) * 2017-08-07 2022-07-08 阿里巴巴集团控股有限公司 页面加载的方法和装置
CN109302493B (zh) * 2018-11-15 2021-06-22 北京金山云网络技术有限公司 一种用户信息共享方法、装置、电子设备及存储介质
CN110489684A (zh) * 2019-08-16 2019-11-22 腾讯科技(深圳)有限公司 用于显示浏览器页面的方法、设备、装置和存储介质
CN114697393A (zh) * 2020-12-28 2022-07-01 北京金山云网络技术有限公司 一种数据存储方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270527A1 (en) * 2007-04-26 2008-10-30 Microsoft Corporation Extended browser data storage
JP2013003622A (ja) * 2011-06-13 2013-01-07 Mode 2 Inc 情報処理装置、情報処理システム及びプログラム
CN104111829A (zh) * 2014-06-25 2014-10-22 小米科技有限责任公司 数据存储方法及装置
JP2015215859A (ja) * 2014-04-25 2015-12-03 キヤノン株式会社 情報処理端末、制御方法及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464381B1 (en) 2000-05-12 2008-12-09 Oracle International Corporation Content update proxy method
US7523158B1 (en) 2000-05-12 2009-04-21 Oracle International Corporation System and method for partial page updates using a proxy element
US7506248B2 (en) * 2005-10-14 2009-03-17 Ebay Inc. Asynchronously loading dynamically generated content across multiple internet domains
CN101075240A (zh) * 2006-08-25 2007-11-21 腾讯科技(深圳)有限公司 跨域获取数据的方法和***
US7979791B2 (en) 2007-07-30 2011-07-12 Google Inc. Cross-domain communication
US7490141B1 (en) 2008-05-15 2009-02-10 Ibm Corporation Ajax proxy indirection for external domain requests
CN101615179B (zh) 2008-06-25 2011-08-17 国际商业机器公司 用于Web应用的跨域交互的方法和***
US8209706B2 (en) 2008-06-27 2012-06-26 Microsoft Corporation Inter-frame messaging between different domains
US8438289B1 (en) 2010-06-07 2013-05-07 Google Inc. Cross-domain communications with a shared worker application
US8676978B2 (en) * 2010-08-03 2014-03-18 Facebook, Inc. Efficient storage and retrieval of resources for rendering structured documents
CN102307220B (zh) 2011-03-18 2014-04-02 北京思特奇信息技术股份有限公司 一种跨域网页信息交互方法
US9142192B2 (en) * 2011-09-26 2015-09-22 Intel Corporation Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same
CN103246667A (zh) * 2012-02-08 2013-08-14 腾讯科技(深圳)有限公司 数据跨域传递的方法及装置
CN102761628B (zh) * 2012-06-28 2014-12-10 北京奇虎科技有限公司 泛域名识别、处理装置及方法
US9436687B2 (en) 2012-07-09 2016-09-06 Facebook, Inc. Acquiring structured user data using composer interface having input fields corresponding to acquired structured data
US9503501B2 (en) 2012-09-17 2016-11-22 Salesforce.Com, Inc. Cross domain in-browser proxy
US9009741B2 (en) * 2013-02-04 2015-04-14 Futurewei Technologies, Inc. Mechanism to initiate calls between browsers without predefined call signaling protocol
US20150067476A1 (en) * 2013-08-29 2015-03-05 Microsoft Corporation Title and body extraction from web page
US9740672B2 (en) * 2014-10-24 2017-08-22 POWr Inc. Systems and methods for dynamic, real time management of cross-domain web plugin content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270527A1 (en) * 2007-04-26 2008-10-30 Microsoft Corporation Extended browser data storage
JP2013003622A (ja) * 2011-06-13 2013-01-07 Mode 2 Inc 情報処理装置、情報処理システム及びプログラム
JP2015215859A (ja) * 2014-04-25 2015-12-03 キヤノン株式会社 情報処理端末、制御方法及びプログラム
CN104111829A (zh) * 2014-06-25 2014-10-22 小米科技有限责任公司 数据存储方法及装置

Also Published As

Publication number Publication date
KR20190022783A (ko) 2019-03-06
TWI661314B (zh) 2019-06-01
US20190124176A1 (en) 2019-04-25
WO2018001121A1 (zh) 2018-01-04
EP3477507A4 (en) 2020-01-08
EP3477507A1 (en) 2019-05-01
TW201800961A (zh) 2018-01-01
CN106874323A (zh) 2017-06-20
US10855796B2 (en) 2020-12-01
KR102289996B1 (ko) 2021-08-17
JP6945783B2 (ja) 2021-10-06

Similar Documents

Publication Publication Date Title
US10776564B2 (en) Method and system for displaying webpage self-defined content
US10855796B2 (en) Data storage method and device
US8527862B2 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
US8719421B2 (en) Cross domain interaction of a web application
CN106933890B (zh) 一种静态化页面的处理方法及装置
US9747117B2 (en) System and methods for loading an application and its modules in a client device
AU2008260091B2 (en) Method and apparatus that enables a web-based client-server application to be used offline
US11126680B2 (en) Dynamic web page navigation
US9483493B2 (en) Method and system for accessing a distributed file system
JP2019530089A (ja) ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置
CN110311989A (zh) 一种灰度发布方法、装置、存储介质、设备及***
US20130346542A1 (en) Common web accessible data store for client side page processing
US20140201214A1 (en) Creating a file descriptor independent of an open operation
AU2016202576A1 (en) Techniques for evaluating applications through use of an auxiliary application
KR102006640B1 (ko) 시스템, 서버 시스템, 방법 및 프로그램
WO2015058614A1 (zh) 一种书签存储方法及装置、确定待浏览书签的方法及装置
JP4671402B2 (ja) ウェブページ提供装置及びウェブページ提供方法
CN111597473B (zh) 数据传递方法、终端设备、服务器及数据传递***
US10229095B2 (en) Expanded icon navigation
JP7120694B1 (ja) ページ表示速度改善処理システム
JP7178912B2 (ja) ネットワークドライブ割当方法及び中央装置
JP2019106062A (ja) サーバ処理プログラム及びサーバ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200501

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

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201106

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210720

AA91 Notification that invitation to amend document was cancelled

Free format text: JAPANESE INTERMEDIATE CODE: A971091

Effective date: 20210810

R150 Certificate of patent or registration of utility model

Ref document number: 6945783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150