JP2019512143A - データ処理方法及び装置 - Google Patents

データ処理方法及び装置 Download PDF

Info

Publication number
JP2019512143A
JP2019512143A JP2018546450A JP2018546450A JP2019512143A JP 2019512143 A JP2019512143 A JP 2019512143A JP 2018546450 A JP2018546450 A JP 2018546450A JP 2018546450 A JP2018546450 A JP 2018546450A JP 2019512143 A JP2019512143 A JP 2019512143A
Authority
JP
Japan
Prior art keywords
attribute
correspondence
identifier
storage field
target
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
JP2018546450A
Other languages
English (en)
Other versions
JP6865763B2 (ja
JP2019512143A5 (ja
Inventor
パン,ジェ
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
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 アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Publication of JP2019512143A publication Critical patent/JP2019512143A/ja
Publication of JP2019512143A5 publication Critical patent/JP2019512143A5/ja
Application granted granted Critical
Publication of JP6865763B2 publication Critical patent/JP6865763B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Abstract

本開示の実施はデータ処理方法及びデバイスを提供する。本開示の実施では、既存の技術における格納構造を取り入れていない。先ず、空フィールドがないので、空フィールドのために格納スペースが無駄になってしまうという問題は回避され、格納スペース節約の目的が達成される。加えて、既存の技術では、各フィールドに格納される属性は1つだけである。しかし、本開示の実施では、1つの属性フィールドに複数の属性対応が格納され、各属性対応は属性値を含む。そのため、既存の技術と比較して、本開示の実施では、1つの属性格納フィールド内に複数の属性値を格納し、属性格納フィールド内の格納スペースが十分に利用されることで、格納スペースの節約となる。

Description

本願は、インターネット技術の分野に関し、特に、データ処理方法及び装置に関する。
インターネット技術の急速な発展に伴い、人々はますますインターネット上で様々な便利なサービスを楽しむ傾向にある。サービスプロバイダにとって、特定の分野において的確なサービスをどのようにしてユーザに提供するかが、ユーザの認知を得る上で重要な要素である。ユーザの個々のニーズを満たし、的確なサービスをユーザに提供するためには、ユーザの個人属性に従ってユーザに的確なサービスを提供できるように、ユーザの個人属性を収集してこれを格納しておく必要がある。
個人属性は、ユーザの行動習慣、趣味趣向、カスタマイズ要件等のいくつかを含む。個人属性として、例えば、ユーザが望む決済方法、ユーザが望む決済アカウント番号、ユーザの興味のある製品のカテゴリ、ユーザが頻繁に訪れるネット店舗、及びユーザ自身のデフォルトのログインアカウント番号が挙げられる。
ユーザの個人属性は、個人属性の属性名と個人属性の属性値とを含む。例えば、ユーザの個人属性の属性名は「デフォルトの決済方法」であり、属性値は「オンライン決済」である。また、別の例では、ユーザの別の個人属性の属性名は「興味ある製品のカテゴリ」であり、属性値は「デジタル家電」である。
現在、既存の技術では、ユーザの個人属性は下記の表1に示す方法で格納されることが一般的である。表1の左端の列(column)の各フィールドには各ユーザ(例えば、それぞれユーザAからユーザM)のID( )が格納され;表1の最上の行(row)の各フィールドには、技術者により事前に収集された各個人属性の属性名、例えば属性名1から属性名N、がそれぞれ格納される。表1には、合計で(M+1)*(N+1)フィールドが含まれる。
或るユーザの個人属性の属性値を表1に格納する必要がある場合、ユーザのユーザIDが位置する行と、個人属性の属性名が位置する列とを表1で検索する。次に、見つかった行と見つかった列の両方に位置するフィールドを特定し、このフィールドに個人属性の属性値を入力する。
表1で、ユーザIDが位置する行と属性名が位置する列とにおけるフィールドが空フィールドである場合、ユーザIDに対応するユーザが、属性名に対応する個人属性を持っていないことを示す。
Figure 2019512143
このアプリケーションを実施する工程において、本発明者は、関連技術の解決策には少なくとも以下の欠点があることに気付いた。
技術者により事前に収集される個人属性は様々であるため、表1の第1の行には多数(複数)のフィールドが含まれることになり、異なるユーザ間での個人属性は時には大きく異なり、一致も少なく、又、事前に技術者により収集された全ての個人属性において各ユーザの個人属性が占める割合はほんの一部に過ぎない。その結果、ユーザIDに対応する行内における少数のフィールドのみに属性値が入力され、その他のフィールドは全て空フィールドとなる。そのため、表1の多くは空フィールドとなり、又、一定量の格納スペースが空フィールドによって占められることで、格納スペースの膨大な容量が表1内の多数(複数)の空フィールドによって埋められることになる。
関連技術における問題を軽減するために、本開示はデータ処理方法及びデバイスを提供する。
本開示の第1の実施の形態により、データ処理方法が提供され、前記方法は以下を含む:ユーザ識別子に加えて前記ユーザ識別子に対応する少なくとも1つの個人属性の属性識別子及び属性値を取得するステップ;各々の前記個人属性について、前記個人属性の前記属性識別子及び前記属性値に基づき、前記個人属性の対象属性対応を生成するステップ;ユーザ識別子と属性格納フィールドとの間の格納された第1の対応内に前記ユーザ識別子に対応する対象属性格納フィールドが存在するかどうかを特定するステップ;前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在する場合に、前記対象属性格納フィールド内に全ての前記対象属性対応を格納するステップ;又は、前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在しない場合に、前記ユーザ識別子に対応する属性格納フィールドを作成し、前記作成された属性格納フィールド内に全ての前記対象属性対応を格納するステップ。
個人属性の属性識別子及び属性値に基づき、個人属性の対象属性対応を生成する前記ステップは以下を含む:
前記個人属性の前記属性識別子と前記個人属性の前記属性値との間に対象属性対応を確立するステップ;又は、
属性識別子とシーケンスインデックスのインデックス識別子との間の格納された第2の対応を取得するステップと、前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するステップと、前記インデックス識別子と前記個人属性の前記属性値との間に対象属性対応を確立するステップ。
対象属性格納フィールドに全ての対象属性対応を格納する前記ステップは以下を含む:
全ての前記対象属性対応により占められる格納スペースが、前記対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうかを特定するステップ;
全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも小さい又はこれと等しい場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するステップ;又は
全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも大きい場合に、前記ユーザ識別子に対応する少なくとも1つの新たな属性格納フィールドを作成するステップと、前記新たな属性格納フィールドに、又は、前記対象属性格納フィールド及び前記新たな属性格納フィールドに、全ての前記対象属性対応を格納するステップ。
前記対象属性格納フィールドに全ての前記対象属性対応を格納する前記ステップは以下を含む:前記対象属性格納フィールド内で前記対象属性対応が格納される場所を、前記対象属性対応内の前記インデックス識別子と、前記対象属性格納フィールドに格納された全ての前記属性対応内のインデックス識別子とに基づいて特定するステップ;前記特定された場所に前記対象属性対応を格納するステップ。
本開示の第2の実施の形態により、データ処理方法が提供され、前記方法は以下を含む:ユーザ識別子と個人属性の属性識別子とを含む取得要求を取得するときに、ユーザ識別子と属性格納フィールドとの間の前記第1の対応を検索するステップであって、第1の対応内に前記ユーザ識別子に対応する属性格納フィールドが存在するかどうかを特定する、前記検索するステップ;前記ユーザ識別子に対応する前記属性格納フィールドが存在する場合に、前記属性格納フィールドを検索するステップであって、前記属性格納フィールドに前記属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップ;前記属性識別子に対応する前記属性対応が存在する場合に、前記属性対応内の属性値を取得するステップ。
前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップは以下を含む:前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記属性識別子を含む属性対応が存在するかどうかを特定する、前記検索するステップ;前記属性識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するステップ。
属性格納フィールドを検索するステップであって、前記属性格納フィールド内に属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップは以下を含む:属性識別子とインデックス識別子との間の第2の対応を取得するステップ;前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するステップ;前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記インデックス識別子を含む属性対応が存在するかどうかを特定する、前記検索するステップ;前記インデックス識別子を含む前記属性対応が存在する場合に、前記属性格納フィールドに前記属性識別子に対応する前記属性対応が存在する、と特定するステップ。
本開示の第3の実施の形態により、データ処理デバイスが提供され、前記デバイスは以下を含む:ユーザ識別子に加えて前記ユーザ識別子に対応する少なくとも1つの個人属性の属性識別子及び属性値を取得するように構成された第1取得モジュール;前記個人属性の前記属性識別子及び前記属性値に基づき、各々の前記個人属性について、前記個人属性の対象属性対応を生成するように構成された生成モジュール;ユーザ識別子と属性格納フィールドとの間の格納された第1の対応内に前記ユーザ識別子に対応する対象属性格納フィールドが存在するかどうかを特定するように構成された特定モジュール;前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在する場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するように構成された第1の格納モジュール;前記第1の対応内に前記ユーザ識別子に対応する対象識別子格納フィールドが存在しない場合に、前記ユーザ識別子に対応する属性格納フィールドを作成するように構成された作成モジュール;作成された前記属性格納フィールド内に全ての前記対象属性対応を格納するように構成された第2の格納モジュール。
前記生成モジュールは以下を含む:前記個人属性の前記属性識別子と前記個人属性の前記属性値との間に対象属性対応を確立するように構成された第1の確立ユニット;又は、
属性識別子とシーケンスインデックスのインデックス識別子との間の格納された第2の対応を取得するように構成された第1の取得ユニットと、前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するように構成された検索ユニットと、前記インデックス識別子と前記個人属性の前記属性値との間に対象属性対応を確立するように構成された第2の確立ユニット。
前記第1の格納モジュールは以下を含む:全ての前記対象属性対応により占められる格納スペースが、前記対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうか特定するように構成された特定ユニット;全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも小さい又はこれと等しい場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するように構成された第1の格納ユニット;全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも大きい場合に、前記ユーザ識別子に対応する少なくとも1つの新たな属性格納フィールドを作成するように構成された作成ユニット;前記新たな属性格納フィールドに、又は、前記対象属性格納フィールド及び前記新たな属性格納フィールドに、全ての前記対象属性対応を格納するように構成された第2の格納ユニット。
前記第1の格納モジュールは以下を含む:前記対象属性対応内のインデックス識別子と、前記対象属性格納フィールドに格納された全ての属性対応内のインデックス識別子とに基づき、前記対象属性格納フィールド内で前記対象属性対応が格納される場所を特定するように構成された第1の特定ユニット;前記特定された場所に前記対象属性対応を格納するように構成された第3の格納ユニット。
本開示の第4の実施の形態により、データ処理デバイスが提供され、前記デバイスは以下を含む:ユーザ識別子と個人属性の属性識別子とを含む取得要求を取得する際に、前記第1の対応内に、前記ユーザ識別子に対応する属性格納フィールドが存在するかどうかを特定するために、ユーザ識別子と属性格納フィールドとの間の第1の対応を検索するように構成された第1の検索モジュール;前記ユーザ識別子に対応する前記属性格納フィールドが存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する属性対応が存在するかどうかを特定するために、前記属性格納フィールドを検索するように構成された第2の検索モジュール;前記属性識別子に対応する前記属性対応が存在する場合に、前記属性対応内の属性値を取得するように構成された第2の取得モジュール。
前記第2の検索モジュールは以下を含む:前記属性格納フィールドに前記属性識別子を含む属性対応が存在するかどうかを特定するために、前記属性格納フィールド内を検索するように構成された第1の検索ユニット;前記属性識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するように構成された第2の特定ユニット。
前記第2の検索モジュールは以下を含む:属性識別子とインデックス識別子との間の第2の対応を取得するように構成された第2の取得ユニット;前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するように構成された第2の検索ユニット;前記属性格納フィールドに前記インデックス識別子を含む属性対応が存在するかどうかを特定するために、前記属性格納フィールドを検索するように構成された第3の検索ユニット;前記インデックス識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するように構成された第3の特定ユニット。
本開示の実施で提供される技術的解決策は以下の有益な効果を奏する。
本開示の実施においては、ユーザIDに加えてユーザIDに対応する少なくとも1つの個人属性の属性識別子(ID)及び属性値を取得する。各個人属性について、個人属性の属性ID及び属性値に基づき、個人属性の対象(ターゲット)属性対応が生成される。ユーザIDと属性格納フィールドとの間の格納された第1の対応内にユーザIDに対応する対象属性格納フィールドが存在するかどうかが特定される。第1の対応内にユーザIDに対応する対象格納フィールドが存在する場合には、対象属性格納フィールドに全ての対象属性対応が格納される。反対に、第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合には、ユーザIDに対応する属性格納フィールドが作成され、作成された属性格納フィールドに全ての対象属性対応が格納される。
本開示のこの実施では、既存の技術における格納構造を取り入れていない。まず、空フィールドがないため、空フィールドのために格納スペースが無駄になるという問題が回避され、格納スペース節約の目的が達成される。加えて、既存の技術では、各フィールドに格納される属性は1つだけである。しかし、本開示の実施では、1つの属性格納フィールドに複数の属性対応が格納され、各属性対応が属性値を含む。そのため、既存の技術と比較して、本開示の実施では、1つの属性格納フィールド内に複数の属性値が格納され、属性格納フィールド内の格納スペースが十分に利用されることで、格納スペースの節約となる。
更に、サービス業の急速な発展に伴い、ユーザの個人的なニーズは尽きることなく多様に現れる。そのため、新たな個人属性を頻繁に開設する必要がある。この場合、既存の技術においては、表1の第1の行の最も右側にフィールドを1つ追加し、新たに追加したこのフィールドに新たな個人属性の属性名を追加する必要がある。次に、表1の各ユーザIDの最も右側にも新たなフィールドを1つ追加する必要があり、ユーザが新たな個人属性を有する場合、ユーザIDが位置している行の最も右側の新たに追加されたこのフィールドに、個人属性の属性値が入力される。
しかし、この場合、表1のユーザIDに対応する全てのユーザが新たな個人属性を有する訳ではないため、全てのユーザIDが位置している行の最も右側の新たに追加されたフィールドが属性値で埋められることはなく、結果として、いくつかの空フィールドが生じ、多かれ少なかれ格納スペースが無駄になってしまう。
加えて、表1に新たなフィールドを追加する工程において、表1をロックする必要があり、ロックされた状態の表1は使用できなくなる。表1に非常に多くのユーザIDが格納されている場合には、つまり、表1に多数(複数)の行がある場合には、全てのユーザIDが位置している行の最も右側に新たなフィールドを追加するために多くの時間を要する。その結果、表1を長時間使用できなくなり、長時間にわたりユーザに的確なサービスを提供することが不可能となる。しかし、本開示のこの実施では、新たな個人属性が展開されたとしても、展開された新たな個人属性にフィールドを割り当てる必要がなく、又、格納された個人属性をロックする必要がないため、ユーザは絶えず的確なサービスを受けることができる。加えて、展開された新たな個人属性にフィールドを割り当てる必要がない。したがって、空フィールドが生じない。よって、格納スペースが無駄になるという問題を軽減できる。
前述の一般的な説明及び以下の詳細な説明は単なる例であり、本開示を限定するものではないことを理解されたい。
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成するものであり、本開示と一致する実施を示し、説明と共に本開示の原理を説明する役割を果たす。
実施によるデータ処理方法を示すフローチャートである。
実施によるデータ処理方法を示すフローチャートである。
実施によるデータ処理方法を示すフローチャートである。
実施によるデータ処理方法を示すフローチャートである。
実施によるデータ処理デバイスを示すブロック図である。
実施によるデータ処理デバイスを示すブロック図である。
実施は本明細書で詳細に説明され、実施例は添付図面に示される。以下の説明は、添付の図面と関連している場合、別段の指定がない限り、異なる添付の図面における同一の番号は、同一又は類似の要素を表す。以下に説明される実施は、本開示と一致する全ての実施を表すものではない。それどころか、実施は、添付の特許請求の範囲に詳細に記載され、本開示のいくつかの態様に一致する、デバイス及び方法の単なる例である。
図1は、実施によるデータ処理方法を示すフローチャートである。図1に示すように、本方法は以下のステップを含む。
ステップS101:ユーザ識別子(ID)に加えてユーザIDに対応する少なくとも1つの個人属性の属性識別子(ID)及び属性値を取得する。
ユーザIDはユーザのアカウント番号であってよい。例えば、ユーザはユーザアカウントをサーバに事前に登録でき、ユーザIDは、このユーザアカウントのアカウント番号であってよい。
個人属性の属性IDは、例えば、「デフォルトの決済方法」及び「デフォルトの決済アカウント番号」等の個人属性の名称であってよい。
個人属性の名称が「デフォルトの決済方法」である場合には、個人属性の属性値は「オンライン決済」又は「現金引換え」であってよい。
個人属性の名称が「デフォルトの決済アカウント番号」である場合には、個人属性の属性値は、アカウント番号、例えば、「273356214」や「178549624」であってよい。
個人属性の名称が「興味ある製品のカテゴリ」である場合には、個人属性の属性値は、「デジタル家電」、「食品」、又は「靴/バッグ」等であってよい。
本開示のこの実施では、サーバが、特定のユーザの個人属性を初めて格納する場合、ユーザのユーザアカウントから、ユーザのユーザID並びにそのユーザの各個人属性の属性ID及び属性値を取得できる。
その後、ユーザが自分の端末デバイス上で自分のユーザIDを用いてサーバにログインした後に、ユーザが自分のアカウント内の1つ以上の既存の個人属性の属性IDに対応する属性値を更新する場合、端末デバイスが、ユーザのユーザIDと、1つ以上の更新された個人属性の属性IDと、更新された1つ以上の個人属性の各属性IDに対応する属性値とを取得し、次に、取得したユーザIDと、属性IDと、属性値とをサーバへ送信する。サーバが、端末デバイスにより送信されたユーザIDと、属性IDと、属性値とを受信する。
ユーザが自分の端末デバイス上で自分のユーザIDを用いてサーバにログインした後に、ユーザが1つ以上の新たな個人属性の属性ID、各々の新たな属性IDに対応する属性値をユーザ自身のアカウントに追加する場合、端末デバイスが、ユーザのユーザIDと、各々の新たな個人属性の属性IDと、各々の新たな個人属性に対応する属性値とを取得し、次に、取得したユーザIDと、属性IDと、属性値とをサーバへ送信する。サーバは、端末デバイスにより送信されたユーザIDと、属性IDと、属性値とを受信する。
ステップS102:各個人属性について、個人属性の属性ID及び属性値に基づき、個人属性の対象属性対応を生成する。
本開示の実施では、各個人属性について、個人属性の属性IDと個人属性の属性値との間に対象属性対応を確立できる。対象属性対応は個人属性の属性ID及び個人属性の属性値を含む。個人属性の属性ID及び個人属性の属性値は、キー値ペアを形成できる。この操作を各個人属性について実行する。
キー値ペアにおいて、「キー」は個人属性の属性IDを表すために用いられ、「値」は個人属性の属性値を表すために用いられ、属性IDと属性値は第1の所定識別子を用いて接続されている。第1の所定識別子は「=」、「−」、「+」等であってよく、これは本開示では限定されない。
例えば、個人属性の属性IDが「デフォルトの決済方法」であり、個人属性の属性値が「オンライン決済」であると仮定すると、対象属性対応は「デフォルトの決済方法=オンライン決済」であってよい。
先の実施では、個人属性の属性IDは、通常、個人属性の名称、例えば「デフォルトの決済方法」、「デフォルトの決済アカウント番号」、「興味ある製品のカテゴリ」である。しかし、個人属性の名称は、通常、多くの文字を含むため、個人属性の属性IDが格納スペースの大きな容量を占めてしまう。属性対応は個人属性の属性IDを含むため、属性IDが格納スペースの大きな容量を占めると、属性対応が格納スペースのかなり大きな容量を占めることになる。
本開示の目的は、1つの属性格納フィールド内に可能な限り多くの属性対応を格納することである。しかし、1つの属性格納フィールドの総格納スペースは限られている。そのため、属性対応が比較的大きな格納スペースを占めるケースでは、1つの属性格納フィールドに格納できる属性対応の数は少なくなる。
より多くの属性対応を1つの属性格納フィールドに格納するために、本開示の別の実施では、各個人属性にインデックス識別子(ID)を事前に割り当てることができる。種々の個人属性に種々のインデックスIDが割り当てられる。各個人属性の属性IDが占める格納スペースは、個人属性の属性IDに割り当てられたインデックスIDが占める格納スペースよりも小さい。
次に、各個人属性の属性IDと、その個人属性に割り当てられたインデックスIDとが、属性IDとシーケンスインデックスのインデックスIDとの間の第2の対応に格納される。
割り当てられた全てのインデックスIDには所定のインデックス順序がある。例えば、インデックスIDは1、2、3、4、5等の数字であり、これらの数字は昇順に配列される。
このように、本開示の別の実施では、個人属性の属性IDと属性値とに基づき個人属性の対象属性対応を生成するステップは以下のとおりであってよい。
任意の個人属性について、属性IDとシーケンスインデックスのインデックスIDとの間の格納された第2の対応を取得し、個人属性の属性IDに対応するインデックスIDについて第2の対応を検索し、更に、インデックスIDと個人属性の属性値との間の対象属性対応を確立することで、個人属性の属性IDと属性値とに基づいて個人属性の対象属性対応を生成できる。対象属性対応は、個人属性の属性IDと個人属性の属性値とに対応するインデックスIDを含む。個人属性の属性IDと個人属性の属性値とに対応するインデックスIDはキー値ペアを形成できる。この操作を各個人属性について実行する。
キー値ペアにおいて、「キー」は個人属性の属性IDに対応するインデックスIDを表すために用いられ、「値」は個人属性の属性値を表すために用いられ、インデックスIDと属性値は第1の所定識別子を用いて接続されている。第1の所定識別子は「=」、「−」、「+」等であってよく、これは本開示では限定されない。
例えば、個人属性の属性IDが「デフォルトの決済方法」であり、個人属性の属性値が「オンライン決済」であり、個人属性の属性IDに対応するインデックスIDが1であると仮定すると、対象属性対応は「1=オンライン決済」であってよい。
ステップS103:ユーザIDと属性格納フィールドとの間の格納された第1の対応内に、ユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定する。
サーバにアカウントを登録する任意のユーザについて、サーバがユーザの属性対応を最初に格納する際に、ユーザIDと属性格納フィールドとの間の第1の対応内に、ユーザIDに対応する属性格納フィールドが確立される。次に、ユーザの属性対応が属性格納フィールドに格納される。本開示のこの実施では、後にユーザの新たな個人属性が追加される場合、新たな個人属性の属性IDと属性値に基づいて新たな個人属性の新たな属性対応が生成された後に、この新たな属性対応は属性格納フィールドに引き続き格納される。これは、サーバにアカウントを登録するその他全てのユーザに適用される。
対象属性対応の生成後に、ユーザIDと属性格納フィールドとの間の格納された第1の対応内に、ユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定する必要がある。
ユーザIDに対応する対象属性格納フィールドが存在する場合には、この対象属性対応を、対象属性格納フィールドに直接格納できる。
ユーザIDに対応する対象属性格納フィールドが存在しない場合には、ユーザの属性対応がそれまでに格納されたことがないこと、つまり、ユーザIDに対応する属性格納フィールドが格納されていないことを意味する。この場合、ユーザIDに対応する属性格納フィールドを第1の対応内に作成する必要があり、その後に、作成した属性格納フィールド内に対象属性対応を格納できる。
ステップS104:第1の対応内にユーザIDに対応する対象属性格納フィールドが存在する場合、全ての対象属性対応を対象属性格納フィールドに格納する。
ステップS105:第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合、ユーザIDに対応する属性格納フィールドを作成し、ステップS106を実行する。
ステップS106:全ての対象属性対応を、作成した属性格納フィールドに格納する。
図1に示す本開示のこの実施では、ユーザIDに加えてこのユーザIDに対応する少なくとも1つの属性ID及び属性値を取得し;各個人属性について、個人属性の属性ID及び属性値に基づき、個人属性の対象属性対応を生成し;ユーザIDと属性格納フィールドとの間の格納された第1の対応内に、ユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定し;第1の対応内にユーザIDに対応する対象属性格納フィールドが存在する場合、全ての対象属性対応を対象属性格納フィールドに格納し;又は、第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合、ユーザIDに対応する属性格納フィールドを作成し、作成したこの属性格納フィールドに全ての対象属性対応を格納する。
本開示のこの実施では、既存の技術における格納構造を取り入れていない。まず、空フィールドがないので、空フィールドのために格納スペースが無駄になるという問題が回避され、格納スペース節約の目的が達成される。加えて、既存の技術では、各フィールドに格納される属性は1つだけである。しかし、本開示のこの実施では、1つの属性フィールドに複数の属性対応が格納され、各属性対応が属性値を含む。そのため、既存の技術と比較して、本開示の実施では、1つの属性格納フィールド内に複数の属性値が格納され、属性格納フィールド内の格納スペースが十分に利用されることで、格納スペースの節約となる。
更に、サービス業の急速な発展に伴い、ユーザの個人的なニーズは尽きることなく多様に現れる。そのため、新たな個人属性を頻繁に開設する必要がある。この場合、既存の技術においては、表1の第1の行の最も右側にフィールドを1つ追加し、新たに追加したこのフィールドに新たな個人属性の属性名を追加する必要がある。次に、表1の各ユーザIDの最も右側に新たなフィールドを1つ追加する必要があり、ユーザが新たな個人属性を有する場合、ユーザIDが位置している行の最も右側の新たに追加されたこのフィールドは、個人属性の属性値で埋められる。
しかし、この場合、表1のユーザIDに対応する全てのユーザが新たな個人属性を有する訳ではないため、全てのユーザIDが位置している行の最も右側の新たに追加されたフィールドが属性値で埋められることはなく、結果として、いくつかの空フィールドが生じ、多かれ少なかれ格納スペースが無駄になってしまう。
加えて、表1に新たなフィールドを追加する工程において、表1をロックする必要があり、ロックされた状態の表1は使用できない。表1に非常に多数のユーザIDが格納されている場合、つまり、表1に多数(複数)の行がある場合、全てのユーザIDが位置している行の最も右側に新たなフィールドを追加するために多大な時間を要する。その結果、表1を長時間使用できなくなり、長時間にわたりユーザに的確なサービスを提供することが不可能となる。しかし、本開示のこの実施では、新たな個人属性が展開されたとしても、展開された新たな個人属性にフィールドを割り当てる必要がなく、又、格納された個人属性をロックする必要がないため、ユーザは絶えず的確なサービスを受けることができる。加えて、展開された新たな個人属性にフィールドを割り当てる必要がない。したがって、空フィールドが生じない。よって、格納スペースが無駄になるという問題を軽減できる。
本開示の別の実施では、図2を参照すると、ステップS104は以下を含む。
ステップS201:全ての対象属性対応によって占められる格納スペースは、対象属性格納フィールドの空き状態の格納スペースよりも少ない又はこれと等しいかどうかを特定する。
本開示のこの実施では、各文字が格納スペースの1ユニットを占め、各属性対応が複数の文字を含む。そのため、各属性対応が一定量の格納スペースを占める。属性格納フィールドの利用可能な格納スペースには限りがあるため、属性対応を属性格納フィールドに格納する必要がある場合には、属性対応により占められる格納スペースは、属性格納フィールドの利用可能な格納スペースよりも少ない又はこれと等しい、という客観的条件を満たす必要がある。この条件を満たす場合に限って、属性対応は属性格納フィールドに首尾よく格納される。そうでなく、属性対応により占められる格納スペースが属性格納フィールドの利用可能な格納スペースよりも大きい場合、属性対応は属性格納フィールドに首尾よく格納されない。
同様に、1つの属性格納フィールドに複数の属性対応を格納する必要がある場合にも、複数の属性対応により占められる格納スペースが、属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうかを特定する必要がある。
ステップS202:全ての対象属性対応により占められる格納スペースが対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しい場合、全ての対象属性対応を対象属性格納フィールド内に格納する。
全ての対象属性対応により占められる格納スペースが対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しい場合、それは、対象属性格納フィールドが全ての対象属性対応を収納できることを意味する。したがって、全ての対象属性対応を対象属性格納フィールドに直接格納できる。
ステップS203:全ての対象属性対応により占められる格納スペースが対象属性格納フィールドの空き状態の格納スペースよりも大きい場合、ユーザIDに対応する新たな属性格納フィールドを少なくとも1つ作成し、次に、ステップS204を実行する。
全ての対象属性対応により占められる格納スペースが対象属性格納フィールドの空き状態の格納スペースよりも大きい場合、それは、対象属性格納フィールドが全ての対象属性対応を収納できない事を意味し、したがって、ユーザIDに対応する新たな属性格納フィールドを少なくとも1つ作成する必要がある。
作成する新たな属性格納フィールドの数は、1つの属性格納フィールドの利用可能な格納スペース、全ての対象属性対応により占められる格納スペースに基づいて、又は、対象属性フィールドの利用可能な格納スペースに基づいて決定できる。本開示では具体的な決定方法を限定しない。
ステップS204:全ての対象属性対応を、新たな属性格納フィールド内、又は、対象属性格納フィールド及び新たな属性格納フィールド内に格納する。
対象属性格納フィールドが完全に占められている場合、対象属性対応を新たな属性格納フィールドに格納する。対象属性格納フィールドが完全に占められていない場合、最初にいくつかの対象属性対応を対象属性格納フィールドに格納し、対象属性格納フィールドが完全に占められた後に、残りの対象属性対応を新たな属性格納フィールドに格納する。
全ての対象属性対応が格納されると、所定の第2のセパレータを用いて、隣接し合う属性対応を分離して、異なる属性対応が互いに混同されないようにする。所定の第2のセパレータは「|」、「*」、「〜」等であってよく、本開示ではこれらを限定しない。
例えば、ある属性対応は「デフォルトの決済方法=オンライン決済」であり、別の属性対応は「興味のある製品のカテゴリ=デジタル家電」であり、また別の属性対応は「デフォルトの決済アカウント番号=123456789」であると仮定する。3つの属性対応を属性格納フィールドに格納する場合に、3つの属性対応を所定の第2のセパレータ「|」を用いて次のように分離できる:「デフォルトの決済方法=オンライン決済|興味ある製品のカテゴリ=デジタル家電|デフォルトの決済アカウント番号=123456789」。
先の実施では、属性対応は個人属性の属性ID及び個人属性の属性値に対応するインデックスIDを含み、全ての個人属性のインデックスID間には所定のインデックス順序がある。そのため、本開示のこの実施では、後の個人属性の属性値の問い合わせの効率を向上させるために、対象属性対応に含まれているインデックスIDと、格納された属性対応内のインデックスID間の所定のインデックス順序とに基づいて対象属性対応を格納できる。
したがって、本開示の別の実施では、図3を参照すると、ステップS104は以下を含む。
ステップS301:対象属性格納フィールド内で対象属性対応が格納される場所を、対象属性対応内のインデックスID及び対象属性格納フィールドに格納された全ての属性対応内のインデックスIDに基づいて特定する。
本開示のこの実施では、属性格納フィールド内での属性対応の場所は、属性対応が、属性対応に含まれているインデックスID間の所定のインデックス順序に基づいて分類された後に特定される。
例えば、インデックスIDは、例えば、1、2、3、4、5等の通し番号であると仮定する。任意の属性格納フィールドについて、この属性格納フィールドに隣接する2つの属性格納フィールドにおいて、一方の属性格納フィールドの通し番号はその属性格納フィールドの通し番号よりも大きく、他方の属性格納フィールドの通し番号はその属性格納フィールドの通し番号よりも小さい。これは、その他全ての属性格納フィールドにも当てはまる。
このステップでは、対象属性対応を、対象属性対応内のインデックスIDと、格納された属性対応内のインデックスIDとに基づいて全ての格納された属性対応内で分類でき、又、対象属性対応が間に位置する、対象属性格納フィールド内の2つの属性対応が特定される。2つの属性対応において、一方の属性対応の通し番号は対象属性対応の通し番号よりも大きく、他方の属性対応の通し番号は対象属性対応の通し番号よりも小さい。2つの属性対応の間の場所は、対象属性対応を格納する場所として特定できる。
ステップS302:特定された場所に対象属性対応を格納する。
正確なサービスをユーザに提供しなければならない場合、サーバはユーザの1つ以上の個人属性の属性値を問い合わせる必要がある。図4を参照すると、問い合わせは以下の方法に従って実行できる。この方法は以下のステップを含む。
ステップS401:ユーザIDと個人属性の属性IDとを含んだ取得要求を取得するときに、ユーザIDに対応する属性格納フィールドが第1の対応内に存在するかどうかを特定するために、ユーザIDと属性格納フィールドとの間の第1の対応を検索する。
本開示のこの実施では、ユーザに正確なサービスを提供しなければならない場合に、ユーザの1つ以上の個人属性の属性値を取得する必要がある。先ず、取得すべきユーザのユーザIDと個人属性の属性IDとに基づいて取得要求を生成する。その後、ユーザIDと属性格納フィールドとの間の第1の対応を取得でき、更に、この第1の対応内にユーザIDに対応する属性格納フィールドが存在するかどうかを特定するために、第1の対応を検索する。
ステップS402:ユーザIDに対応する属性格納フィールドが存在する場合には、属性格納フィールドを検索して属性格納フィールド内に属性IDに対応する属性対応が存在するかどうかを特定する。
本開示の実施では、属性対応が属性IDと属性値との間の対応である場合、このステップで、属性格納フィールドを検索して属性格納フィールド内に属性IDを含む属性対応が存在するかどうかを特定でき、属性IDを含む属性対応が存在する場合には、属性格納フィールド内に属性IDに対応する属性対応が存在する、と特定できる。
具体的に、属性格納フィールド内で第1の属性対応を取得し、第1の属性対応内の属性IDを取得し、更に、第1の属性対応内の属性IDが属性IDと同じものであるかどうかを特定する。この2つが同一である場合には、第1の属性対応を、属性IDに対応する属性対応である、と特定する。反対に、この2つが異なる場合には、第2の属性対応を取得し、第2の属性対応内の属性IDを取得し、更に、第2の属性対応内の属性IDが属性IDと同じであるかどうかを特定する。この2つが同じである場合には、第2の属性対応を、属性IDに対応する属性対応である、と特定する。反対に、この2つが異なる場合には、次の属性対応を取得して、この属性対応内の属性IDが属性IDと同じになるまで先の手順を実行し、取得した属性対応を、属性IDに対応する属性対応である、と特定する。属性格納フィールド内の全ての属性対応内の属性IDが属性IDと異なる場合には、属性格納フィールド内には属性IDに対応する属性対応がない、と特定できる。
属性IDに対応する属性格納フィールドがない場合に、工程は終了する。
概して、属性格納フィールドは複数の属性対応を格納する。属性IDに対応する属性対応が属性格納フィールド内の後方の場所に格納されている場合には、前出の方法ではほとんどの属性対応を通すので、時間がかかり、検出効率が低下する。
本開示の別の実施では、属性対応が、属性IDに対応するインデックスIDと属性値との間の対応である場合に、このステップにおいて属性IDとインデックスIDとの間の第2の対応を取得できる。属性IDに対応するインデックスIDについて第2の対応を検索し;属性格納フィールドを検索して属性格納フィールド内にインデックスIDを含む属性対応が存在するかどうかを特定し;インデックスIDを含んだ属性対応が存在する場合には、属性格納フィールド内に属性IDに対応する属性対応が存在する、と特定できる。
本開示のこの実施では、属性格納フィールド内の属性対応の場所は、属性対応が、属性対応内に含まれているインデックスID間での所定のインデックス順序に基づいて分類された後に特定される。そのため、検索効率を向上させるためには、属性格納フィールドを検索して属性格納フィールド内にインデックスIDを含んだ属性対応が存在するかどうかを特定するときに、先ず、インデックスIDを、属性格納フィールド内の1つ以上の所定の場所における属性対応内のインデックスIDと比較することができ;この比較結果に基づき、属性格納フィールド内におけるインデックスIDを含んでいる属性対応のおおよその場所を特定し;次に、インデックスIDを、このおおよその場所における1つ以上の属性対応内のインデックスIDと比較して、インデックスIDを含んだ属性対応が存在するかどうかを特定する。
ステップS403:属性IDに対応する属性対応が存在する場合、属性対応内の属性値を取得する。
属性IDに対応する属性対応が存在しない場合、それは、ユーザIDに対応するユーザが個人属性を持っていないことを意味する。更に、ユーザIDに対応するユーザが個人属性を持たない旨をユーザにプロンプト表示することができる。
図5は、実施によるデータ処理デバイスを示すブロック図である。図5を参照すると、このデバイスは:ユーザIDに加えてユーザIDに対応する少なくとも1つの個人属性の属性ID及び属性値を取得するように構成された第1の取得モジュール11と;各個人属性について、個人属性の属性ID及び属性値に基づき個人属性の対象属性対応を生成するように構成された生成モジュール12と;ユーザIDと属性格納フィールドとの間の格納された第1の対応内にユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定するように構成された特定モジュール13と;第1の対応内にユーザIDに対応する対象属性格納フィールドが存在する場合に、全ての対象属性対応を対象格納フィールドに格納するように構成された第1の格納モジュール14と;第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合に、ユーザIDに対応する属性格納フィールドを作成するように構成された作成モジュール15と;作成された属性格納フィールドに全ての対象属性対応を格納するように構成された第2の格納モジュール16と;を含む。
生成モジュール12は:個人属性の属性IDと個人属性の属性値との間の対象属性対応を確立するように構成された第1の確立ユニットと;格納された属性IDとシーケンスインデックスのインデックスIDとの間の第2の対応を取得するように構成された第1の取得ユニットと;属性IDに対応するインデックスIDについて第2の対応を検索するように構成された検索ユニットと:インデックスIDと個人属性の属性値との間の対象属性対応を確立するように構成された第2の確立ユニットと;を含む。
第1の格納モジュール14は:全ての対象属性対応により占められる格納スペースが、対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうかを特定するように構成された特定ユニットと;全ての対象属性対応により占められる格納スペースが、対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しい場合に、対象属性格納フィールドに全ての対象属性対応を格納するように構成された第1の格納ユニットと;全ての対象属性対応により占められる格納スペースが、対象属性格納フィールドの空き状態の格納スペースよりも大きい場合に、ユーザIDに対応する少なくとも1つの新たな属性格納フィールドを作成するように構成された作成ユニットと;新たな属性格納フィールド内に、又は対象属性格納フィールド及び新たな属性格納フィールド内に、全ての対象属性対応を格納するように構成された第2の格納ユニットと;を含む。
第1の格納モジュール14は:対象属性対応内のインデックスIDと、対象属性格納フィールド内に格納された全ての属性対応内のインデックスIDとに基づき、対象属性格納フィールド内で対象属性対応が格納される場所を特定するように構成された第1の特定ユニットと;特定された場所に対象属性対応を格納するように構成された第3の格納ユニットと:を含む。
図5に示す本開示のこの実施では、ユーザIDに加えてユーザIDに対応する少なくとも1つの個人属性の属性IDと属性値を取得する。各個人属性について、個人属性の属性IDと属性値に基づき、個人属性の対象属性対応を生成する。ユーザIDと属性格納フィールドとの間の格納された第1の対応内にユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定し;第1の対応内にユーザIDに対応する対象属性格納フィールドが存在する場合は、対象属性格納フィールドに全ての対象属性対応を格納する。反対に、第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合は、ユーザIDに対応する属性格納フィールドを作成し、更に、作成された属性格納フィールド内に全ての対象属性対応を格納する。
本開示のこの実施では、既存の技術における格納構造を取り入れていない。先ず、空フィールドがないため、空フィールドのために格納スペースが無駄になるという問題が回避され、格納スペース節約の目的が達成される。加えて、既存の技術では、各フィールドに格納される属性は1つだけである。しかし、本開示のこの実施では、1つの属性格納フィールドに複数の属性対応が格納され、各属性対応が属性値を含む。そのため、既存の技術と比較して、本開示の実施では、1つの属性格納フィールド内に複数の属性値が格納され、属性格納フィールド内の格納スペースが十分に利用されることで、格納スペースの節約となる。
更に、サービス業の急速な発展に伴い、ユーザの個人的なニーズは尽きることなく多様に現れる。そのため、新たな個人属性を頻繁に展開する必要がある。この場合、既存の技術においては、表1の第1の行の最も右側にフィールドを1つ追加し、新たに追加したこのフィールドに新たな個人属性の属性名を追加する必要がある。次に、表1の各ユーザIDの最も右側にも新たなフィールドを1つ追加する必要があり、ユーザが新たな個人属性を有する場合、ユーザIDが位置している行の最も右側の新たに追加されたこのフィールドに、個人属性の属性値が入力される。
しかし、表1のユーザIDに対応する全てのユーザが新たな個人属性を有する訳ではないので、全てのユーザIDが位置している行の最も右側の新たに追加されたフィールドが属性値で埋められることはなく、結果として、いくつかの空フィールドが生じ、多かれ少なかれ格納スペースが無駄になってしまう。
加えて、表1に新たなフィールドを追加する工程において、表1をロックする必要があり、ロックされた状態の表1は使用できない。表1に非常に多数のユーザIDが格納されている場合、つまり表1に多数(複数)の行がある場合、全てのユーザIDが位置している行の最も右側に新たなフィールドを追加するために多大な時間を要する。その結果、表1を長時間使用できなくなり、長時間にわたりユーザに的確なサービスを提供することが不可能となる。しかし、本開示のこの実施では、新たな個人属性が展開されたとしても、展開された新たな個人属性にフィールドを割り当てる必要もなく、格納された個人属性をロックする必要もないため、ユーザは絶えず的確なサービスを受けることができる。加えて、展開された新たな個人属性にフィールドを割り当てる必要がないので空フィールドが生じない。よって、格納スペースが無駄になるという課題を軽減できる。
図6は、実施によるデータ処理デバイスを示すブロック図である。図6を参照すると、本デバイスは:個人属性のユーザID及び属性IDを含んだ取得要求を取得するときに、ユーザIDと属性格納フィールドとの間の第1の対応を検索してユーザIDに対応する属性格納フィールドが第1の対応内に存在するかどうかを特定するように構成された第1の検索モジュール21と;ユーザIDに対応する属性格納フィールドが存在する場合に、属性格納フィールドを検索して属性IDに対応する属性対応が属性格納フィールド内に存在するかどうかを特定するように構成された第2の検索モジュール22と;属性IDに対応する属性対応が存在する場合に、属性対応内の属性値を取得するように構成された第2の取得モジュール23と;を含む。
第2の検索モジュール22は:属性格納フィールドを検索して属性IDを含む属性対応が属性格納フィールド内に存在するかどうかを特定するように構成された第1の検索ユニットと;属性IDを含む属性対応が存在する場合に、属性IDに対応する属性対応が属性格納フィールド内に存在する、と特定するように構成された第2の特定ユニットと;を含む。
第2の検索モジュール22は:属性IDとインデックスIDとの間の第2の対応を取得するように構成された第2の取得ユニットと;属性IDに対応するインデックスIDについて第2の対応を検索するように構成された第2の検索ユニットと;属性格納フィールドを検索して属性格納フィールド内にインデックスIDを含む属性対応が存在しているかどうか特定するように構成された第3の検索ユニットと;属性IDを含む属性対応が存在している場合に、属性格納フィールド内に属性IDに対応する属性対応が存在する、と特定するように構成された第3の特定ユニットと;を含む。
図6に示す本開示のこの実施では、ユーザIDに加えてユーザIDに対応する少なくとも1つの個人属性の属性ID及び属性値を取得する。各個人属性について、個人属性の属性ID及び属性値に基づき、個人属性の対象属性対応を生成する。ユーザIDと属性格納フィールドとの間の格納された第1の対応内にユーザIDに対応する対象属性格納フィールドが存在するかどうかを特定し;第1の対応内にユーザIDに対応する対象属性格納フィールドが存在する場合に、対象属性格納フィールドに全ての対象属性対応を格納する。反対に、第1の対応内にユーザIDに対応する対象属性格納フィールドが存在しない場合は、ユーザIDに対応する属性格納フィールドを作成し、更に、作成した属性格納フィールド内に全ての対象属性対応を格納する。
図1に示す本開示のこの実施では、既存の技術における格納構造を取り入れていない。まず、空フィールドがないので、空フィールドのために格納スペースが無駄になってしまうという問題が回避され、格納スペース節約の目的が達成される。加えて、既存の技術では、各フィールドに格納される属性は1つだけである。しかし、図6に示す本開示の実施では、1つの属性格納フィールドに複数の属性対応が格納され、各属性対応が属性値を含む。そのため、既存の技術と比較して、図6に示す本開示のこの実施では、1つの属性格納フィールド内に複数の属性値が格納され、属性格納フィールド内の格納スペースが十分に利用されることで、格納スペースの節約となる。
更に、サービス業の急速な発展に伴い、ユーザの個人的なニーズは尽きることなく多様に現れる。そのため、新たな個人属性を頻繁に開設する必要がある。この場合、既存の技術においては、表1の第1の行の最も右側にフィールドを1つ追加し、新たに追加したこのフィールドに新たな個人属性の属性名を追加する必要がある。次に、表1の各ユーザIDの最も右側にも新たなフィールドを1つ追加する必要があり、ユーザが新たな個人属性を有する場合、ユーザIDが位置している行の最も右側の新たに追加されたこのフィールドに、個人属性の属性値が入力される。
しかし、この場合、表1のユーザIDに対応する全てのユーザが新たな個人属性を有する訳ではないため、全てのユーザIDが位置している行の最も右側の新たに追加されたフィールドが属性値で埋められることはなく、結果として、いくつかの空フィールドが生じ、多かれ少なかれ格納スペースが無駄になる。
加えて、表1に新たなフィールドを追加する工程において、表1をロックする必要があり、ロックされた状態の表1は使用できない。表1に非常に多数のユーザIDが格納されている場合、つまり、表1に多数(複数)の行がある場合、全てのユーザIDが位置している行の最も右側に新たなフィールドを追加するために多大な時間を要する。その結果、表1を長時間使用できなくなり、長時間にわたりユーザに的確なサービスを提供することが不可能となる。しかし、図6に示す本開示のこの実施では、新たな個人属性が展開されたとしても、展開された新たな個人属性にフィールドを割り当てる必要がなく、又、格納された個人属性をロックする必要がないため、ユーザは絶えず的確なサービスを受けることができる。加えて、展開された新たな個人属性にフィールドを割り当てる必要がなく、したがって、空フィールドが生じないため、格納スペースが無駄になってしまうという問題を軽減できる。
上記の実施におけるデバイスに関して、モジュールにより操作を実行する具体的な方法は、その方法に関連する実施において詳細に述べているため、ここでは簡略化の目的で詳細を省略する。
当業者であれば、本明細書を考察して本開示を実行した後、本開示の別の実施を容易に理解することができる。本願は、本開示のあらゆる変形、使用、又は適応を包含するように意図されており、これらの変形、使用、又は適合は、本開示の一般原則に従うものであり、本開示の技術分野において開示されていない一般的知識又は従来技術をも含む。明細書及び実施は、例示としてのみ考慮され、本開示の真の範囲及び精神は添付の特許請求の範囲によって示される。
本開示は、上で説明され、図面に示されている厳密な構造に限定されず、本開示の範囲から逸脱することなく様々な修正及び変更を行うことができることを理解されたい。本開示の範囲は、添付の特許請求の範囲によってのみ限定される。

Claims (14)

  1. ユーザ識別子に加えて前記ユーザ識別子に対応する少なくとも1つの個人属性の属性識別子及び属性値を取得するステップと;
    各々の前記個人属性について、前記個人属性の前記属性識別子及び前記属性値に基づき、前記個人属性の対象属性対応を生成するステップと;
    ユーザ識別子と属性格納フィールドとの間の格納された第1の対応内に前記ユーザ識別子に対応する対象属性格納フィールドが存在するかどうかを特定するステップと;
    前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在する場合に、前記対象属性格納フィールド内に全ての前記対象属性対応を格納するステップ;又は
    前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在しない場合に、前記ユーザ識別子に対応する属性格納フィールドを作成し、前記作成された属性格納フィールド内に全ての前記対象属性対応を格納するステップと;を備える、
    データ処理方法。
  2. 個人属性の属性識別子及び属性値に基づき、個人属性の対象属性対応を生成する前記ステップは:
    前記個人属性の前記属性識別子と前記個人属性の前記属性値との間に対象属性対応を確立するステップ;又は、
    前記属性識別子とシーケンスインデックスのインデックス識別子との間の格納された第2の対応を取得するステップと、前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するステップと、前記インデックス識別子と前記個人属性の前記属性値との間に対象属性対応を確立するステップ;を備える、
    請求項1に記載の方法。
  3. 対象属性格納フィールドに全ての対象属性対応を格納する前記ステップは:
    全ての前記対象属性対応により占められる格納スペースが、前記対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうかを特定するステップと;
    全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも小さい又はこれと等しい場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するステップ;又は
    全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも大きい場合に、前記ユーザ識別子に対応する少なくとも1つの新たな属性格納フィールドを作成するステップと、前記新たな属性格納フィールドに、又は、前記対象属性格納フィールド及び前記新たな属性格納フィールドに、全ての前記対象属性対応を格納するステップ;を備える、
    請求項1又は請求項2に記載の方法。
  4. 前記対象属性格納フィールドに全ての前記対象属性対応を格納する前記ステップは:
    前記対象属性格納フィールド内で前記対象属性対応が格納される場所を、前記対象属性対応内の前記インデックス識別子と、前記対象属性格納フィールドに格納された全ての前記属性対応内のインデックス識別子とに基づいて特定するステップと;
    前記特定された場所に前記対象属性対応を格納するステップと;を備える、
    請求項2に記載の方法。
  5. ユーザ識別子と個人属性の属性識別子とを含む取得要求を取得するときに、ユーザ識別子と属性格納フィールドとの間の前記第1の対応を検索するステップであって、第1の対応内に前記ユーザ識別子に対応する属性格納フィールドが存在するかどうかを特定する、前記検索するステップと;
    前記ユーザ識別子に対応する前記属性格納フィールドが存在する場合に、前記属性格納フィールドを検索するステップであって、前記属性格納フィールドに前記属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップと;
    前記属性識別子に対応する前記属性対応が存在する場合に、前記属性対応内の属性値を取得するステップと;を備える、
    データ処理方法。
  6. 前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップは:
    前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記属性識別子を含む属性対応が存在するかどうかを特定する、前記検索するステップと;
    前記属性識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するステップと;を備える、
    請求項5に記載の方法。
  7. 前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記属性識別子に対応する属性対応が存在するかどうかを特定する、前記検索するステップは:
    前記属性識別子とインデックス識別子との間の第2の対応を取得するステップと;
    前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するステップと;
    前記属性格納フィールドを検索するステップであって、前記属性格納フィールド内に前記インデックス識別子を含む属性対応が存在するかどうかを特定する、前記検索するステップと;
    前記インデックス識別子を含む前記属性対応が存在する場合に、前記属性格納フィールドに前記属性識別子に対応する前記属性対応が存在する、と特定するステップと;を備える、
    請求項5に記載の方法。
  8. ユーザ識別子に加えて前記ユーザ識別子に対応する少なくとも1つの個人属性の属性識別子及び属性値を取得するように構成された第1取得モジュールと;
    前記個人属性の前記属性識別子及び前記属性値に基づき、各々の前記個人属性について、前記個人属性の対象属性対応を生成するように構成された生成モジュールと;
    ユーザ識別子と属性格納フィールドとの間の格納された第1の対応内に前記ユーザ識別子に対応する対象属性格納フィールドが存在するかどうかを特定するように構成された特定モジュールと;
    前記第1の対応内に前記ユーザ識別子に対応する前記対象属性格納フィールドが存在する場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するように構成された第1の格納モジュールと;
    前記第1の対応内に前記ユーザ識別子に対応する対象識別子格納フィールドが存在しない場合に、前記ユーザ識別子に対応する属性格納フィールドを作成するように構成された作成モジュールと;
    作成された前記属性格納フィールド内に全ての前記対象属性対応を格納するように構成された第2の格納モジュールと;を備える、
    データ処理デバイス。
  9. 前記生成モジュールは:
    前記個人属性の前記属性識別子と前記個人属性の前記属性値との間に対象属性対応を確立するように構成された第1の確立ユニット;又は、
    属性識別子とシーケンスインデックスのインデックス識別子との間の格納された第2の対応を取得するように構成された第1の取得ユニットと;
    前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するように構成された検索ユニットと;
    前記インデックス識別子と前記個人属性の前記属性値との間に対象属性対応を確立するように構成された第2の確立ユニットと;を備える、
    請求項8に記載のデバイス。
  10. 前記第1の格納モジュールは:
    全ての前記対象属性対応により占められる格納スペースが、前記対象属性格納フィールドの空き状態の格納スペースよりも小さい又はこれと等しいかどうか特定するように構成された特定ユニットと;
    全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも小さい又はこれと等しい場合に、前記対象属性格納フィールドに全ての前記対象属性対応を格納するように構成された第1の格納ユニット;又は、
    全ての前記対象属性対応により占められる前記格納スペースが、前記対象属性格納フィールドの前記空き状態の格納スペースよりも大きい場合に、前記ユーザ識別子に対応する少なくとも1つの新たな属性格納フィールドを作成するように構成された作成ユニットと;
    前記新たな属性格納フィールドに、又は、前記対象属性格納フィールド及び前記新たな属性格納フィールドに、全ての前記対象属性対応を格納するように構成された第2の格納ユニットと;を備える、
    請求項8又は請求項9に記載のデバイス。
  11. 前記第1の格納モジュールは:
    前記対象属性対応内のインデックス識別子と、前記対象属性格納フィールドに格納された全ての属性対応内のインデックス識別子とに基づき、前記対象属性格納フィールド内で前記対象属性対応が格納される場所を特定するように構成された第1の特定ユニットと;
    前記特定された場所に前記対象属性対応を格納するように構成された第3の格納ユニットと;を備える、
    請求項9に記載のデバイス。
  12. ユーザ識別子と個人属性の属性識別子とを含む取得要求を取得する際に、前記第1の対応内に、前記ユーザ識別子に対応する属性格納フィールドが存在するかどうかを特定するために、ユーザ識別子と属性格納フィールドとの間の第1の対応を検索するように構成された第1の検索モジュールと;
    前記ユーザ識別子に対応する前記属性格納フィールドが存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する属性対応が存在するかどうかを特定するために、前記属性格納フィールドを検索するように構成された第2の検索モジュールと;
    前記属性識別子に対応する前記属性対応が存在する場合に、前記属性対応内の属性値を取得するように構成された第2の取得モジュールと;を備える、
    データ処理デバイス。
  13. 前記第2の検索モジュールは:
    前記属性格納フィールドに前記属性識別子を含む属性対応が存在するかどうかを特定するために、前記属性格納フィールド内を検索するように構成された第1の検索ユニットと;
    前記属性識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するように構成された第2の特定ユニットと;を備える、
    請求項12に記載のデバイス。
  14. 前記第2の検索モジュールは:
    属性識別子とインデックス識別子との間の第2の対応を取得するように構成された第2の取得ユニットと;
    前記属性識別子に対応するインデックス識別子について前記第2の対応を検索するように構成された第2の検索ユニットと;
    前記属性格納フィールドに前記インデックス識別子を含む属性対応が存在するかどうかを特定するために、前記属性格納フィールドを検索するように構成された第3の検索ユニットと;
    前記インデックス識別子を含む前記属性対応が存在する場合に、前記属性格納フィールド内に前記属性識別子に対応する前記属性対応が存在する、と特定するように構成された第3の特定ユニットと;を備える、
    請求項12に記載のデバイス。
JP2018546450A 2016-03-01 2017-02-20 データ処理方法及び装置 Active JP6865763B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610116003.0A CN107145493B (zh) 2016-03-01 2016-03-01 信息处理方法及装置
CN201610116003.0 2016-03-01
PCT/CN2017/074171 WO2017148295A1 (zh) 2016-03-01 2017-02-20 信息处理方法及装置

Publications (3)

Publication Number Publication Date
JP2019512143A true JP2019512143A (ja) 2019-05-09
JP2019512143A5 JP2019512143A5 (ja) 2020-08-06
JP6865763B2 JP6865763B2 (ja) 2021-04-28

Family

ID=59743504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018546450A Active JP6865763B2 (ja) 2016-03-01 2017-02-20 データ処理方法及び装置

Country Status (12)

Country Link
US (1) US11200220B2 (ja)
EP (1) EP3425525B1 (ja)
JP (1) JP6865763B2 (ja)
KR (1) KR102153806B1 (ja)
CN (1) CN107145493B (ja)
ES (1) ES2809163T3 (ja)
MY (1) MY177886A (ja)
PH (1) PH12018501838A1 (ja)
PL (1) PL3425525T3 (ja)
SG (1) SG11201807256XA (ja)
TW (1) TWI676904B (ja)
WO (1) WO2017148295A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036702B1 (en) * 2018-03-23 2021-06-15 Amazon Technologies, Inc. Generation of search indexes for disparate device information
CN108897819B (zh) * 2018-06-20 2021-09-21 北京密境和风科技有限公司 一种数据搜索方法和装置
CN111080459B (zh) * 2019-11-21 2023-08-25 泰康保险集团股份有限公司 配置文件的配置方法、装置及可读存储介质
CN111897818A (zh) * 2020-07-31 2020-11-06 平安普惠企业管理有限公司 数据存储方法、装置、电子设备及存储介质
CN112765176B (zh) * 2021-01-22 2023-02-03 浪潮通用软件有限公司 一种微服务模式下属性扩展方法、装置及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107265B1 (en) 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
US6574631B1 (en) * 2000-08-09 2003-06-03 Oracle International Corporation Methods and systems for runtime optimization and customization of database applications and application entities
JP2002278810A (ja) 2001-03-16 2002-09-27 Casio Comput Co Ltd データ処理装置及びプログラム
US7103670B2 (en) * 2001-06-14 2006-09-05 International Business Machines Corporation Streaming digital content under remote direction
JP4207438B2 (ja) 2002-03-06 2009-01-14 日本電気株式会社 Xml文書格納/検索装置及びそれに用いるxml文書格納/検索方法並びにそのプログラム
KR100600862B1 (ko) * 2004-01-30 2006-07-14 김선권 인터넷상의 정보자원에 대한 접근 경로를 체계적으로수집하고 검색하는 방법, 및 이 방법을 실행할 수 있는컴퓨터 프로그램을 수록한 기록매체
US7761455B2 (en) * 2004-03-31 2010-07-20 Hewlett-Packard Development Company, L.P. Loading data from a vertical database table into a horizontal database table
JP2006004026A (ja) 2004-06-16 2006-01-05 Hitachi Eng Co Ltd データベース登録管理方法
US7788293B2 (en) * 2005-03-02 2010-08-31 Google Inc. Generating structured information
US7685109B1 (en) 2005-12-29 2010-03-23 Amazon Technologies, Inc. Method and apparatus for data partitioning and replication in a searchable data service
CN100501734C (zh) * 2006-04-19 2009-06-17 华为技术有限公司 实体属性数据处理装置及方法
US20150363478A1 (en) * 2008-07-11 2015-12-17 Michael N. Haynes Systems, Devices, and/or Methods for Managing Data
JP5675043B2 (ja) * 2008-11-19 2015-02-25 キヤノン株式会社 画像処理装置及び画像データ送信方法、並びにプログラム
US20100185871A1 (en) * 2009-01-15 2010-07-22 Authentiverse, Inc. System and method to provide secure access to personal information
CN101504672B (zh) * 2009-03-23 2011-08-10 金蝶软件(中国)有限公司 一种动态配置实体数据表的方法和系统
KR20110013816A (ko) * 2009-08-03 2011-02-10 주식회사 케이티 효율적인 서비스 가입자 인증을 위한 지역 db 관리 방법
JP5482284B2 (ja) * 2010-02-23 2014-05-07 富士通株式会社 コンテンツ提供用ユーザ情報管理装置,処理方法,およびプログラム
CN102541867A (zh) * 2010-12-15 2012-07-04 金蝶软件(中国)有限公司 数据字典生成方法及系统
TW201227587A (en) * 2010-12-24 2012-07-01 Chunghwa Telecom Co Ltd System and method for automatically and synchronously updating transaction interest point data
CN102243664B (zh) * 2011-08-22 2013-04-03 西北大学 一种复合字段的数据存储及查询方法
CN102436475B (zh) * 2011-09-29 2013-12-25 用友软件股份有限公司 数据表汇总装置和数据表汇总方法
CN103246664B (zh) * 2012-02-07 2016-05-25 阿里巴巴集团控股有限公司 网页检索方法和装置
JP6060833B2 (ja) * 2013-06-28 2017-01-18 株式会社Jvcケンウッド 情報処理装置、情報処理方法、及び情報処理プログラム
US9230132B2 (en) * 2013-12-18 2016-01-05 International Business Machines Corporation Anonymization for data having a relational part and sequential part
CN105354025B (zh) * 2015-10-18 2018-09-14 广州赛意信息科技股份有限公司 基于移动应用的业务模型配置系统和方法

Also Published As

Publication number Publication date
EP3425525A1 (en) 2019-01-09
US11200220B2 (en) 2021-12-14
EP3425525B1 (en) 2020-06-17
TW201732653A (zh) 2017-09-16
JP6865763B2 (ja) 2021-04-28
CN107145493A (zh) 2017-09-08
US20180373747A1 (en) 2018-12-27
MY177886A (en) 2020-09-24
PL3425525T3 (pl) 2020-11-30
EP3425525A4 (en) 2019-08-21
WO2017148295A1 (zh) 2017-09-08
PH12018501838A1 (en) 2019-05-15
TWI676904B (zh) 2019-11-11
ES2809163T3 (es) 2021-03-03
KR102153806B1 (ko) 2020-09-10
CN107145493B (zh) 2020-11-24
SG11201807256XA (en) 2018-09-27
KR20180118736A (ko) 2018-10-31

Similar Documents

Publication Publication Date Title
JP2019512143A (ja) データ処理方法及び装置
US10282354B2 (en) Detecting social graph elements for structured search queries
US10140338B2 (en) Filtering structured search queries based on privacy settings
CN106663108B (zh) 用于原生应用的深链接
EP2690569B1 (en) Method and system, in particular relating to structured search queries based on social-graph information
US20140025702A1 (en) Filtering Structured Search Queries Based on Privacy Settings
CN109508420B (zh) 一种知识图谱属性的清洗方法及装置
JP5056160B2 (ja) マーケティング支援処理方法、装置及びプログラム
CN102811167B (zh) 用于基于分层名称结构的网络的方法和设备
CN112927057A (zh) 对象信息展示方法、装置、计算机设备及可读存储介质
CN108154024A (zh) 一种数据检索方法、装置及电子设备
JP6580708B2 (ja) 対応するリソースへのアプリケーション部分ディープリンク
US20150339392A1 (en) Multi-query search system and method
US10613828B2 (en) Dynamic and personalized filtering of media content
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备
CN104796478B (zh) 一种资源推荐方法及装置
CN111880773A (zh) 一种数据处理方法、装置、电子设备及存储介质
JP7134963B2 (ja) サービスデータ処理方法及びデバイス
JP2010134552A (ja) コンテンツ管理システム、コンテンツ管理方法及びコンテンツ管理プログラム
AU2015203474A1 (en) Structured search queries based on social-graph information
CN114253951B (zh) 数据处理方法、系统及第二服务器
US20240119096A1 (en) Meta-searching method and apparatus
CN115604000B (zh) 一种越权检测方法、装置、设备及存储介质
JP2008134952A (ja) 情報公開システムおよび情報公開方法
CN103761283B (zh) 一种地理信息处理服务的扩展方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200629

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200629

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201222

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210406

R150 Certificate of patent or registration of utility model

Ref document number: 6865763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150