(57)【要約】      （修正有）【課題】データ処理用の方法及び装置を提供する。【解決手段】圧縮待ちの少なくとも１つのデータを所定の順序でソートする２０１と、ソートされた少なくとも１つのデータの中のデータに対して、データとデータの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加する２０２と、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定する２０３と、少なくとも１つのグループの中のグループに対して、グループの共通接頭辞とグループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録する２０４と、を含む。【選択図】図２
2020088847.tif 000002
【特許請求の範囲】
【請求項１】
圧縮待ちの少なくとも１つのデータを所定の順序でソートすることと、
ソートされた前記少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、前記共通接頭辞を共通接頭辞集合に追加することと、
前記共通接頭辞集合に基づき、ソートされた前記少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、
前記少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、
を含む、データ処理用の方法。
【請求項２】
前記の、前記共通接頭辞集合に基づき、ソートされた前記少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することは、
前記共通接頭辞集合内の共通接頭辞の長さの局部極小値を決定することと、
前記局部極小値に基づいて前記少なくとも１つのデータを少なくとも１つのグループに分類し、前記局部極小値に対応するデータを次のグループに分類することと、
前記少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定することと、
を含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのデータの圧縮率を決定することと、
前記圧縮率が所定の圧縮率閾値未満である場合、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートして次のラウンドの圧縮待ちのデータ集合として生成し、前記データ集合に基づいて以下のマルチラウンド圧縮ステップを実行することとを更に含み、
当該マルチラウンド圧縮ステップは、
前記データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加することと、
前記マルチラウンド共通接頭辞集合に基づき、前記データ集合を少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、
前記少なくとも１つのデータの圧縮率を更新することと、
更新された圧縮率が前記所定の圧縮率閾値以上である場合、または圧縮回数が所定の圧縮回数閾値に達する場合、各グループの共通接頭辞と各グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、
更新された圧縮率が前記所定の圧縮率閾値よりも小さく、かつ圧縮回数が前記所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を更新し、続けて前記のマルチラウンド圧縮ステップを実行することと、
を含む、請求項１に記載の方法。
【請求項４】
前記データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在しないことに応答し、当該データを、前記次のラウンドの圧縮待ちのデータ集合に追加することを更に含む、請求項３に記載の方法。
【請求項５】
前記の、前記少なくとも１つのデータの圧縮率を決定することは、
各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、前記少なくとも１つのデータの圧縮後のデータ容量を決定することと、
前記少なくとも１つのデータの圧縮後のデータ容量と、前記少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定することと、
を含む、請求項３に記載の方法。
【請求項６】
前記少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較することを更に含む、請求項１〜５の何れか１つに記載の方法。
【請求項７】
圧縮待ちの少なくとも１つのデータを所定の順序でソートするように配置されているソートユニットと、
ソートされた前記少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、前記共通接頭辞を共通接頭辞集合に追加するように配置されている決定ユニットと、
前記共通接頭辞集合に基づき、ソートされた前記少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定するように配置されているグループ分けユニットと、
前記少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録するように配置されている格納ユニットとを含む、データ処理用の装置。
【請求項８】
前記グループ分けユニットは、
前記共通接頭辞集合内の共通接頭辞の長さの局部極小値を決定し、
前記局部極小値に基づいて前記少なくとも１つのデータを少なくとも１つのグループに分類し、前記局部極小値に対応するデータを次のグループに分類し、
前記少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定するように更に配置されている、請求項７に記載の装置。
【請求項９】
マルチラウンド圧縮ユニットを更に含み、当該マルチラウンド圧縮ユニットは、
前記少なくとも１つのデータの圧縮率を決定し、
前記圧縮率が所定の圧縮率閾値未満である場合、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートして次のラウンドの圧縮待ちのデータ集合として生成し、前記データ集合に基づいて以下のマルチラウンド圧縮ステップを実行するように更に配置されており、
当該マルチラウンド圧縮ステップは、
前記データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加することと、
前記マルチラウンド共通接頭辞集合に基づき、前記データ集合を少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、
前記少なくとも１つのデータの圧縮率を更新することと、
更新された圧縮率が前記所定の圧縮率閾値以上である場合、または圧縮回数が前記所定の圧縮回数閾値に達する場合、各グループの共通接頭辞と各グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、
更新された圧縮率が前記所定の圧縮率閾値よりも小さく、かつ圧縮回数が前記所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を更新し、続けて前記のマルチラウンド圧縮ステップを実行することとを含む、請求項７に記載の装置。
【請求項１０】
前記マルチラウンド圧縮ユニットは、
前記データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在しないことに応答し、当該データを、前記次のラウンドの圧縮待ちのデータ集合に追加するように更に配置されている、請求項９に記載の装置。
【請求項１１】
前記マルチラウンド圧縮ユニットは、
各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、前記少なくとも１つのデータの圧縮後のデータ容量を決定し、
前記少なくとも１つのデータの圧縮後のデータ容量と、前記少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定するように更に配置されている、請求項９に記載の装置。
【請求項１２】
比較ユニットを更に含み、当該比較ユニットは、
前記少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較するように配置されている、請求項７〜１１の何れか１つに記載の装置。
【請求項１３】
１つ又は複数のプロセッサーと、
１つ又は複数のプログラムが記憶されている記憶装置とを含む電子設備であって、
当該１つ又は複数のプログラムが前記１つ又は複数のプロセッサーにより実行される場合、請求項１〜６のいずれか１つの方法を前記１つ又は複数のプロセッサーに実現させる電子設備。
【請求項１４】
コンピュータプログラムが記憶されているコンピュータ読み取り可能なメディアであって、
当該プログラムがプロセッサーにより実行される場合、請求項１〜６のいずれか１つの方法を実現させるコンピュータ読み取り可能なメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、コンピュータ技術の分野に関し、具体的には、データ処理用の方法及び装置に関する。
【背景技術】
【０００２】
ストレージシステムは、ストレージエンジンを介してデータを記憶媒体に保存する。幾つかのキーバリュー型ストレージエンジンでは、データコンテンツは文字列またはバイナリシーケンスの形式で格納され、そして辞書順に順序付き並べて格納する（順序付き並べて格納するのは、比較に便利であるためである）。同時に、ストレージシステムにとって、メモリ、入出力などのリソースがシステムパフォーマンスに正比例し、容量がコストに正比例するため、この部分のデータを効果的に圧縮でき、かつ解凍しない状況の下で比較できるようにする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本願の実施形態は、データ処理用の方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
第１の側面では、本願の実施形態は、データ処理用の方法を提供する。当該方法は、圧縮待ちの少なくとも１つのデータを所定の順序でソートすることと、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加することと、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することとを含む。
【０００５】
幾つかの実施形態においては、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することは、共通接頭辞集合内の共通接頭辞の長さの局部極小値を決定することと、局部極小値に基づいて少なくとも１つのデータを少なくとも１つのグループに分類し、局部極小値に対応するデータを次のグループに分類することと、少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定することとを含む。
【０００６】
幾つかの実施形態においては、当該方法は、少なくとも１つのデータの圧縮率を決定することと、圧縮率が所定の圧縮率閾値未満である場合、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートして次のラウンドの圧縮待ちのデータ集合として生成し、データ集合に基づいて以下のマルチラウンド圧縮ステップを実行することとを更に含み、当該マルチラウンド圧縮ステップは、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加することと、マルチラウンド共通接頭辞集合に基づき、データ集合を少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、少なくとも１つのデータの圧縮率を更新することと、更新された圧縮率が所定の圧縮率閾値以上である場合、または圧縮回数が所定の圧縮回数閾値に達する場合、各グループの共通接頭辞と各グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、更新された圧縮率が所定の圧縮率閾値よりも小さく、かつ圧縮回数が所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を更新し、続けて前記のマルチラウンド圧縮ステップを実行することとを含む。
【０００７】
幾つかの実施形態においては、当該方法は、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在しないことに応答し、当該データを、次のラウンドの圧縮待ちのデータ集合に追加することを更に含む。
【０００８】
幾つかの実施形態においては、少なくとも１つのデータの圧縮率を決定することは、各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、少なくとも１つのデータの圧縮後のデータ容量を決定することと、少なくとも１つのデータの圧縮後のデータ容量と、少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定することとを含む。
【０００９】
幾つかの実施形態においては、当該方法は、少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較することを更に含む。
【００１０】
第２の側面において、本願の実施形態は、データ処理用の装置を提供する。当該装置は、圧縮待ちの少なくとも１つのデータを所定の順序でソートするように配置されているソートユニットと、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加するように配置されている決定ユニットと、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定するように配置されているグループ分けユニットと、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録するように配置されている格納ユニットとを含む。
【００１１】
幾つかの実施形態においては、グループ分けユニットは、共通接頭辞集合内の共通接頭辞の長さの局部極小値を決定し、局部極小値に基づいて少なくとも１つのデータを少なくとも１つのグループに分類し、局部極小値に対応するデータを次のグループに分類し、少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定するように更に配置されている。
【００１２】
幾つかの実施形態においては、当該装置は、マルチラウンド圧縮ユニットを更に含み、当該マルチラウンド圧縮ユニットは、少なくとも１つのデータの圧縮率を決定し、圧縮率が所定の圧縮率閾値未満である場合、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートして次のラウンドの圧縮待ちのデータ集合として生成し、データ集合に基づいて以下のマルチラウンド圧縮ステップを実行するように更に配置されており、当該マルチラウンド圧縮ステップは、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加することと、マルチラウンド共通接頭辞集合に基づき、データ集合を少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、少なくとも１つのデータの圧縮率を更新することと、更新された圧縮率が所定の圧縮率閾値以上である場合、または圧縮回数が所定の圧縮回数閾値に達する場合、各グループの共通接頭辞と各グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、更新された圧縮率が所定の圧縮率閾値よりも小さく、かつ圧縮回数が所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を更新し、続けて前記のマルチラウンド圧縮ステップを実行することとを含む。
【００１３】
幾つかの実施形態においては、マルチラウンド圧縮ユニットは、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在しないことに応答し、当該データを、次のラウンドの圧縮待ちのデータ集合に追加するように更に配置されている。
【００１４】
幾つかの実施形態においては、マルチラウンド圧縮ユニットは、各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、少なくとも１つのデータの圧縮後のデータ容量を決定し、少なくとも１つのデータの圧縮後のデータ容量と、少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定するように更に配置されている。
【００１５】
幾つかの実施形態においては、当該装置は、比較ユニットを更に含み、当該比較ユニットは、少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較するように配置されている。
【００１６】
第３の側面においては、本願の実施形態は、１つ又は複数のプロセッサーと、１つ又は複数のプログラムが記憶されている記憶装置とを含む設備を提供する。当該１つ又は複数のプログラムが前記１つ又は複数のプロセッサーにより実行される場合、第１の側面のいずれか１つの実施形態に記載の方法を前記１つ又は複数のプロセッサーに実現させる。
【００１７】
第４の側面においては、本願の実施形態は、コンピュータプログラムが記憶されているコンピュータ読み取り可能メディアを提供する。当該プログラムがプロセッサーにより実行される場合、第１の側面のいずれか１つの実施形態に記載の方法を実現させる。
【００１８】
本願の実施形態によるデータ処理用の方法及び装置は、圧縮待ちの少なくとも１つのデータをグループに分類し、各グループの共通接頭辞を決定することによって、共通接頭辞に基づいて各データに対して圧縮と格納を行う。データの圧縮効率を向上させると同時に、入出力操作を減らし、メモリリソースを節約し、記憶容量を減らすことができる。
【図面の簡単な説明】
【００１９】
以下の図面による非限定的な実施形態についての詳細な説明を読み、参照することにより、本願の他の特徴、目的及び利点がより明らかになる。
【図１】図１は、本願の１つの実施形態がその中で適用できる例示的なシステム構成図である。
【図２】図２は、本願によるデータ処理用の方法の一つの実施形態のフローチャート図である。
【図３】図３は、本願によるデータ処理用の方法の共通接頭辞の折れ線図である。
【図４】図４は、本願によるデータ処理用の方法の１つの応用シナリオの模式図である。
【図５】図５は、本願によるデータ処理用の方法のもう１つの実施形態のフローチャート図である。
【図６】図６は、本願によるデータ処理用の装置の１つの実施形態の構造模式図である。
【図７】図７は、本願の実施形態の設備を実現するのに適するコンピュータシステムの構造模式図である。
【発明を実施するための形態】
【００２０】
以下、図面と実施形態を参照しながら、本願を詳細に説明する。ここで記載される具体的な実施形態は、関連の発明を解釈するのみに用いられ、当該発明に対する限定ではないことは理解される。なお、説明の便宜上、図面には、関連の発明に関わる部分のみを示す。
【００２１】
なお、矛盾が生じない限り、本願における実施形態及び実施形態における特徴は互いに組み合わせることができるものとする。以下、図面を参照しながら、実施形態を併せて本願を詳しく説明する。
【００２２】
図１は、本願のデータ処理用の方法またはデータ処理用の装置を応用できる実施形態の例示的なシステム構造１００を示す。
【００２３】
図１に示すように、システム構成１００は、端末設備１０１、１０２、１０３、ネットワーク１０４とサーバー１０５を含んでも良い。ネットワーク１０４は、端末設備１０１、１０２、１０３とサーバー１０５との間の通信リンクの媒体を提供するのに用いられる。ネットワーク１０４は、例えば、有線、無線通信リンク又は光ファイバケーブルなどのような、各種の接続種類を含むことができる。
【００２４】
ユーザーは、端末設備１０１、１０２、１０３を使用してネットワーク１０４を介してサーバー１０５と対話し、メッセージなどを送受信することができる。端末設備１０１、１０２、１０３には、例えば、データベース管理系アプリケーション、ウェブブラウザアプリケーション、買い物系アプリケーション、検索系アプリケーション、インスタントメッセージングツール、電子メールクライアント、ソーシャルプラットフォームソフトウェア、等のような各種の通信クライアントアプリケーションがインストールされていても良い。
【００２５】
端末設備１０１、１０２、１０３は、ハードウェアであっても良く、ソフトウェアであっても良い。端末設備１０１、１０２、１０３がハードウェアである場合は、ディスプレイスクリーンを有し、データベースアクセス機能をサポートする各種の電子設備であっても良く、スマートフォン、タブレット、電子ブックリーダー、ＭＰ３（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＩＩ、ムービング・ピクチャー・エクスパーツ・グループオーディオレイヤー３）プレーヤー、ＭＰ４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｕｄｉｏ  Ｌａｙｅｒ  ＩＶ、ムービング・ピクチャー・エクスパーツ・グループオーディオレイヤー４）プレーヤー、ラップトップポータブルコンピュータ及びデスクトップコンピュータ等を含むが、これらに限定されない。端末設備１０１、１０２、１０３がソフトウェアである場合は、上述した列挙した電子設備にインストールされても良い。それは、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良く（例えば、分散式サービスを提供するために用いられる）、単独のソフトウェアまたはソフトウェアモジュールとして実現されても良い。ここでは、具体的な限定をしない。
【００２６】
サーバー１０５は、各種サービスを提供するサーバーであっても良く、例えば、端末設備１０１、１０２、１０３上に表示されているデータコンテンツに対してサポートを提供するバックサイドデータベースサーバーであっても良い。バックサイドデータベースサーバーは、受信したデータ圧縮要求等のデータに対して解析等の処理を行い、さらに処理結果（例えば、圧縮後のデータ）を端末設備にフィードバックすることができる。
【００２７】
なお、サーバーは、ハードウェアであっても良く、ソフトウェアであっても良い。サーバーがハードウェアである場合は、複数のサーバーから構成される分散式サーバークラスタとして実現されても良いし、単独のサーバーとして実現されても良い。サーバーがソフトウェアである場合は、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良いし（例えば、分散式サービスを提供するために用いられる複数のソフトウェアまたはソフトウェアモジュール）、単独のソフトウェアまたはソフトウェアモジュールとして実現されても良い。ここでは具体的な限定をしない。
【００２８】
なお、本願の実施形態によるデータ処理用の方法は、端末設備１０１、１０２、１０３によって実行されても良く、サーバー１０５によって実行されても良い。相応的には、データ処理用の装置は、端末設備１０１、１０２、１０３に設置されても良く、サーバー１０５の中に設置されても良い。ここでは具体的な限定をしない。
【００２９】
図１の端末設備、ネットワーク及びサーバーの数は、ただ単に例示的なものであると理解すべきである。実現の必要性に従って、任意の数の端末設備、ネットワークとサーバーを有しても良い。
【００３０】
図２は、本願によるデータ処理用の方法の一つの実施形態のフローチャート２００を示す。当該データ処理用の方法は、ステップ２０１、ステップ２０２、ステップ２０３及びステップ２０４を含む。
【００３１】
ステップ２０１においては、圧縮待ちの少なくとも１つのデータを所定の順序でソートする。
【００３２】
本願の実施形態において、データ処理用の方法の実行主体（例えば、図１に示すサーバー）は、ユーザーがデータ圧縮を行う端末から有線接続方式または無線接続方式を用いて圧縮要求を受信することができ、当該圧縮要求の中では、圧縮待ちの少なくとも１つのデータを示すことができる。圧縮待ちの少なくとも１つのデータを所定の順序でソートする。所定の順序は、辞書順であっても良く、数字順であっても良い。例えば整数型、浮動小数点型、ストリング、画像、オーディオおよびビデオコンテンツ等のような、圧縮待ちの少なくとも１つのデータは、一般に２進数シーケンスの形式で表現されるので、理論的には、連続的な２進数シーケンスによって表すことができるコンテンツである限り、本実施形態の方法を用いて圧縮を行うことができる。ここでは、ガイドライン的な提案があり、コンテンツが異なると、圧縮効果が異なる。例えば、文字列の場合は、データが比較的に規則性を有し、エントロピーが比較的に小さく、圧縮比率は比較的に低い値まで実現できる。画像等のマルチメディアコンテンツの場合は、２進数データには規則性がなく、エントロピーが比較的に大きく、効果が明らかではない。以下の説明においても、文字列の圧縮を想定している。
【００３３】
ステップ２０２においては、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加する。
【００３４】
本実施形態では、アルゴリズムの焦点は、次のような１組のデータ「ａ」、「ａｂ」、「ａｂｃ」、「ａｂｃｆ」、「ａｂｘ」、「ａｂｘｙ」、「ａｂｙ」、「ａｂｙｚ」があると仮定して、隣接データの共通接頭辞をどのように見つけるかである。隣接データの同じ接頭辞を取得することによって表１を生成する。その中で、共通接頭辞集合の内容は｛「ａ」、「ａｂ」、「ａｂｃ」、「ａｂｘ」、「ａｂｙ」｝である。重複する共通接頭辞を除外してから共通接頭辞集合に追加する必要がある。１つのデータと他のデータとの間に共通接頭辞がない場合は、当該データを保留して次のラウンドの圧縮時に次のラウンドのデータとの共通接頭辞を決定するようにしても良い。
【００３５】
【表１】
2020088847.tif 000003
【００３６】
ステップ２０３においては、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定する。
【００３７】
本実施形態において、データの数に従って少なくとも１つのデータグループ分けを行い、例えば、４つのデータを１つのグループとし、表１のデータは２つのグループに分けられる。そして、各グループの最も長い共通接頭辞をそのグループの共通接頭辞として決定する。たとえば、１〜４項目のデータを１つのグループ化に分け、その最も長い共通接頭辞は「ａｂｃ」であり、「ａｂｃ」をそのグループの共通接頭辞とする。１つのグループ内の最も長い共通接頭辞が複数ある場合、最も長い共通接頭辞の中から、マッチングするデータが最も多い共通接頭辞を選んで当該グループの共通接頭辞としても良い。
【００３８】
本実施形態の幾つかの選択可能な実施形態では、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することは、共通接頭辞集合内の共通接頭辞の長さの局部極小値を決定することと、局部極小値に基づいて少なくとも１つのデータを少なくとも１つのグループに分類し、局部極小値に対応するデータを次のグループに分類することと、少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定することとを含む。
【００３９】
共通接頭辞集合内の共通接頭辞の長さの局部極小値は、図３に示す通りとすることができる。図３は表１に従って描くことができる。図中、横軸はデータ項目を表し、縦軸は当該項目と前の項目のデータの共通接頭辞の長さを表している。例えば、横軸「２」は第２項目「ａｂ」を表し、当該項目と前の項目のデータの共通接頭辞「ａ」であり、すなわち共通接頭辞の長さは１である。描かれた折れ線グラフにおいて、第５項目と第７項目に対応する値が最小値であり、すなわち、５と７は破線でグループ分けできる境界点で、最小値が所在する点５と７は次のグループに分類される。１〜４項目が１番目のグループ、５〜６項目が２番目のグループ、７〜８項目が３番目のグループである。第１グループの中の最大値は第４項目に対応する共通接頭辞「ａｂｃ」であり、「ａｂｃ」を第１グループの共通接頭辞とする。第２グループの中の最大値は、第６項目に対応する共通接頭辞「ａｂｘ」であり、「ａｂｘ」を第２のグループの共通接頭辞とする。第３グループの中の最大値は、第８項目に対応する共通接頭辞「ａｂｙ」であり、「ａｂｙ」を第３グループの共通接頭辞とする。
【００４０】
ステップ２０４においては、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録する。
【００４１】
本実施形態において、第１のグループに分類されたデータは「ａ」、「ａｂ」、「ａｂｃ」、「ａｂｃｆ」であり、共通接頭辞（ｐｒｅｆｉｘ）＝「ａｂｃ」とすると、「ａ」がｐｒｅｆｉｘによって表すことができ、共有長さが１であり、「ａｂ」がｐｒｅｆｉｘによって表すことができ、共有長さが２であり、「ａｂｃ」がｐｒｅｆｉｘによって表すことができ、共有長さが３であり、「ａｂｃｆ」がｐｒｅｆｉｘによって表すことができ、共有長さが３であり、残りの文字列「ｆ」は、次のラウンドの圧縮の入力データとして次のラウンドの接頭辞圧縮で処理され、「ｆ」を直接格納することもできる。データを格納する際には、共通接頭辞を有するデータに対して、共通接頭辞のみを格納する必要があり、そして特定の位置に各データが共通接頭辞との間の共有長さを記録し、この部分はＭｅｔａｄｅｔａ（メタデータ）としてデータ容量に算入しない。これにより、解凍時に元のデータを復元できる。データベース内の共通接頭辞が非常に長くなる可能性があるので、データの位置を記録する情報が占めるオーバーヘッドは、無視しても良いほどごく僅かである。
【００４２】
本実施形態の幾つかの選択可能な実施形態では、当該方法は、少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較することを更に含む。故に、解凍する必要がなくてもデータの比較を直接的に行うことができる。
【００４３】
図４は、本実施形態によるデータ処理用の方法の応用シナリオの１つの模式図である。図４の応用シナリオにおいては、圧縮待ちのデータは、「ａ」、「ａｂ」、「ａｂｃ」、「ａｂｃｆ」、「ａｂｘ」、「ａｂｘｙ」、「ａｂｙ」、「ａｂｙｚ」である。これらのデータを、共通接頭辞に従って３つのグループに分け、第１のグループは「ａ」、「ａｂ」、「ａｂｃ」、「ａｂｃｆ」であり、共通接頭辞は「ａｂｃ」である。第２のグループは「ａｂｘ」、「ａｂｘｙ」であり、共通接頭辞は「ａｂｘ」である。第３のグループは「ａｂｙ」、「ａｂｙｚ」であり、共通接頭辞は「ａｂｙ」である。第１のグループの中の「ａ」は、共通接頭辞「ａｂｃ」で表すことができ、共有長さは１であり、「ａｂ」は「ａｂｃ」で表すことができ、共有長さは２であり、「ａｂｃ」は「ａｂｃ」で表すことができ、長さ３であり、「ａｂｃｆ」は「ａｂｃ」で表すことができ、長さは３であり、残りの文字列「ｆ」は個別に格納される。第１のグループのデータは元々１０バイトであり、共通接頭辞「ａｂｃ」＋「ｆ」によって、合計４バイトだけで表すことができるようになる。第２のグループのデータの中の「ａｂｘ」は、共通接頭辞「ａｂｘ」で表すことができ、共有長さは３であり、「ａｂｘｙ」は「ａｂｘ」で表すことができ、共有長さは３であり、残りの文字列「ｙ」は個別に格納される。第２のグループのデータは元々７バイトであり、共通接頭辞「ａｂｘ」＋「ｙ」によって、合計４バイトだけで表すことができるようになる。第３のグループのデータの中の「ａｂｙ」は、共通接頭辞「ａｂｙ」で表すことができ、共有長さは３であり、「ａｂｙｚ」は「ａｂｙ」で表すことができ、共有長さは３であり、残りの文字列「ｚ」は個別に格納される。第３のグループのデータは元々７バイトであり、共通接頭辞「ａｂｙ」＋「ｚ」によって、合計４バイトだけで表すことができるようになる。圧縮待ちデータは元々２４バイトを占めるが、圧縮を経た後に１２バイトを占めるようになる。圧縮率は５０％である。
【００４４】
本願の前記の実施形態によって提供される方法は、共通接頭辞に基づいてデータに対して圧縮と格納を行い、それによって入力及び出力操作を減らし、メモリリソースを節約し、さらに記憶容量を減らすことができる。
【００４５】
図５は、本願のデータ処理用の方法のもう１つの実施形態のフローチャート５００を示している。当該データ処理用の方法のフローチャート５００は、ステップ５０１〜５０７を含む。
【００４６】
ステップ５０１においては、圧縮待ちの少なくとも１つのデータを所定の順序でソートする。
【００４７】
ステップ５０２においては、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加する。
【００４８】
ステップ５０３においては、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定する。
【００４９】
ステップ５０１〜５０３は、ステップ２０１〜２０３と基本的には同じであり、ここでは繰り返し説明しない。
【００５０】
ステップ５０４においては、少なくとも１つのデータの圧縮率を決定する。
【００５１】
本実施形態において、各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、少なくとも１つのデータの圧縮後のデータ容量を決定する。少なくとも１つのデータの圧縮後のデータ容量と、少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定する。例えば、図４に示す圧縮待ちのデータは、圧縮前は２４バイトを占め、圧縮後は１２バイトを占めるため、圧縮率は５０％である。複数ラウンドの圧縮を行う場合、圧縮率は、当該ラウンドの圧縮後のデータ容量を当該ラウンドの圧縮前のデータ容量で割った値である。
【００５２】
ステップ５０５においては、圧縮率が所定の圧縮率閾値以上である場合、または圧縮回数が所定の圧縮回数閾値に達する場合、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録する。
【００５３】
ステップ５０５はステップ２０４と基本的には同じであり、ここでは繰り返し説明しない。
【００５４】
ステップ５０６においては、圧縮率が所定の圧縮率閾値よりも小さく、かつ圧縮回数が所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を生成する。
【００５５】
本実施形態において、例えば、マルチラウンド接頭辞圧縮アルゴリズムを用いて１つのグループの実験データ「ＶａｌｕｅＦｉｌｅ」、「ａｂｃ」、「ａｃｂｄ」、「ａｃｃｅ」、「ａｄｂｄｅ」、「ａｄｃｆ」を処理するとする。第１のラウンドの圧縮プロセスにおいて、「ＶａｌｕｅＦｉｌｅ」、「ａｂｃ」、「ａｃｂｄ」、「ａｃｃｅ」、「ａｄｂｄｅ」、「ａｄｃｆ」を３つのグループに分ける。
【００５６】
「ＶａｌｕｅＦｉｌｅ」は他のデータとは共通接頭辞がないため、単独で１つのグループになる。非共通接頭辞の部分「ＶａｌｕｅＦｉｌｅ」は、次のラウンドの圧縮に入ることができる。
【００５７】
「ａｂｃ」、「ａｃｂｄ」、「ａｃｃｅ」は１つのグループになり、共通接頭辞は「ａｃ」である。この場合、「ａｂｃ」は共通接頭辞「ａｃ」＋非共通接頭辞「ｂｃ」で表すことができ、すなわち、非共通接頭辞の部分「ｂｃ」は次のラウンドの圧縮に入ることができる。「ａｃｂｄ」は、共通接頭辞「ａｃ」＋非共通接頭辞「ｂｄ」で表すことができ、すなわち、非共通接頭辞の部分「ｂｄ」は次のラウンドの圧縮に入ることができる。「ａｃｃｅ」は、共通接頭辞「ａｃ」＋非共通接頭辞「ｃｅ」で表すことができ、すなわち、非共通接頭辞の部分「ｃｅ」は、次のラウンドの圧縮に入ることができる。このグループにおいては、格納する必要のある共通接頭辞は「ａｃ」であり、次のラウンドの圧縮に入ることができるデータは「ｂｃ」、「ｂｄ」、「ｃｅ」である。
【００５８】
「ａｄｂｄｅ」と「ａｄｃｆ」は１つのグループになり、共通接頭辞は「ａｄ」である。この場合、「ａｄｂｄｅ」は、共通接頭辞「ａｄ」＋非共通接頭辞「ｂｄｅ」で表すことができ、すなわち、非共通接頭辞の部分「ｂｄｅ」は、次のラウンドの圧縮に入ることができる。「ａｄｃｆ」は、共通接頭辞「ａｄ」＋非共通接頭辞「ｃｆ」で表すことができ、すなわち、非共通接頭辞の部分「ｃｆ」は、次のラウンドの圧縮に入ることができる。このグループにおいては、格納する必要のある共通接頭辞は「ａｄ」であり、次のラウンドの圧縮に入ることができるデータは「ｂｄｅ」、「ｃｆ」である。
【００５９】
第１のラウンドの圧縮の後、占有バイト数は９（「ＶａｌｕｅＦｉｌｅ」）＋２（「ａｃ」）＋６（「ｂｃ」、「ｂｄ」、「ｃｅ」）＋２（「ａｄ」）＋５（  「ｂｄｅ」、「ｃｆ」）＝２４。圧縮率は２４／２９＝８３％である。圧縮の閾値が９０％であると仮定すると、次のラウンドの圧縮を続行する必要がある。
【００６０】
非共通接頭辞の部分「ＶａｌｕｅＦｉｌｅ」、「ｂｃ」、「ｂｄ」、「ｃｅ」、「ｂｄｅ」、「ｃｆ」を所定の順序でソートし、次のラウンドの圧縮待ちのデータ集合｛「ｂｃ」、「ｂｄ」、「ｂｄｅ」、「ｃｅ」、「ｃｆ」、「ＶａｌｕｅＦｉｌｅ」｝を生成する。
【００６１】
ステップ５０７においては、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加し、マルチラウンド共通接頭辞集合に基づき、前記データ集合を少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定する。
【００６２】
本実施形態では、共通接頭辞「ａｃ」、「ａｄ」をマルチラウンド共通接頭辞集合に追加する。「ｂｃ」、「ｂｄ」、「ｂｄｅ」は１つのグループに分類され、共通接頭辞は「ｂｄ」であり、非共通接頭辞部分は「ｃ」、「ｅ」である。「ｃｅ」と「ｃｆ」は１つのグループに分類され、共通接頭辞は「ｃ」であり、非共通接頭辞の部分は「ｅ」と「ｆ」である。「ＶａｌｕｅＦｉｌｅ」は１つのグループになり、それの全部は非共通接頭辞である。
【００６３】
第２ラウンドの圧縮の出力データを、第２ラウンドの圧縮の入力データで割ると、第２ラウンドの圧縮の圧縮率が得られる。第２ラウンドの圧縮の出力データは（「ｖａｌｕｅｆｉｌｅ」、「ｃ」、「ｂｄ」、「ｃ」、「ｅ」、「ｆ」）であり、第２ラウンドの圧縮の入力データ（「ｖａｌｕｅｆｉｌｅ」、「ｂｃ」、「ｂｄ」、「ｂｄｅ」、「ｃｅ」、「ｃｆ」）であるため、第２ラウンドの圧縮の圧縮率は１５／２０＝７５％である。その他の共通接頭辞がないため、次のラウンドの圧縮は続行できない。この場合、ステップ５０５を続けて実行し、共通接頭辞と非共通接頭辞に対して格納を行う。例えば、データ「ａｂｃ」は、（共通接頭辞「ａｃ」＋共有長さ１）＋（共通接頭辞「ｂｄ」＋共有長さ１）＋非共通接頭辞「ｃ」で表すことができる。データ「ａｃｂｄ」は、（共通接頭辞「ａｃ」＋共有長さ２）＋（共通接頭辞「ｂｄ」＋共有長さ２）で表すことができる。２ラウンドの圧縮を経た後、出力データがソートされた後に共通接頭辞はなくなり、アルゴリズムは終了する。実験データは、圧縮を完了した後、１９バイト（「ａｃ」、「ａｄ」、「ｖａｌｕｅｆｉｌｅ」、「ｃ」、「ｂｄ」、「ｃ」、「ｅ」、「ｆ」）で表すことができる。アルゴリズムはさらに最適化され、最終的には各ラウンドの圧縮で得られた共通接頭辞が整合され、同じ項が再びマージされ、この部分においては「ｃ」が同じ項であるため、「ｃ」がマージされ、故に最終データは１８バイトで表すことができる。最終的には格納する必要があるデータは、第１ラウンドの圧縮の共通接頭辞「ａｃ」、「ａｄ」、第２ラウンドの圧縮の共通接頭辞「ｂｄ」、および残りの非共通接頭辞「ｃ」、「ｅ」、「ｆ」である。表３に示す通りである。
【００６４】
結果は、次の表に示す通り、２ラウンドの接頭辞圧縮を経た後、データ領域は１１バイトを節約した。
【００６５】
圧縮前は、２９バイトを占める。
【００６６】
【表２】
2020088847.tif 000004
【００６７】
圧縮後は、１８バイトを占める。
【００６８】
【表３】
2020088847.tif 000005
【００６９】
図５から分かるように、図４の対応する実施形態と比較して、本実施形態のデータ処理用の方法のフローチャート５００は、データに対して複数ラウンドの圧縮を行うステップを具現している。これによって、圧縮率を向上させ、入力及び出力操作を減らし、メモリリソースを節約し、さらに記憶容量を減らすことができる。
【００７０】
図６に示すように、前記各図面に示される方法の実現として、本願は、データ処理用の装置の１つの実施形態を提供する。当該装置の実施形態は、図２に示される方法の実施形態に対応し、当該装置は、具体的に各種の電子デバイスに応用することができる。
【００７１】
図６に示すように、本実施形態のデータ処理用の装置６００は、ソートユニット６０１、決定ユニット６０２、グループ分けユニット６０３及び格納ユニット６０４を含む。なお、ソートユニット６０１は、圧縮待ちの少なくとも１つのデータを所定の順序でソートするように配置されており、決定ユニット６０２は、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加するように配置されており、グループ分けユニット６０３は、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定するように配置されおり、格納ユニット６０４は、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録するように配置されている。
【００７２】
本実施形態において、データ処理用の装置６００のソートユニット６０１、決定ユニット６０２、グループ分けユニット６０３及び格納ユニット６０４の具体的な処理は、図２の対応する実施形態の中のステップ２０１、ステップ２０２、ステップ２０３及びステップ２０４を参考にすることができる。
【００７３】
本実施形態の幾つかの選択可能な実施形態では、グループ分けユニット６０３は、共通接頭辞集合とソートされた後の少なくとも１つのデータに基づいて、共通接頭辞折れ線図を生成し、共通接頭辞折れ線図の横座標はデータであり、縦座標はデータとデータの前のデータとの共通接頭辞であり、共通接頭辞折れ線図の局部最小値の点または値が０の点を境界点として決定し、境界点によって共通接頭辞折れ線図の中のデータを少なくとも１つのグループに分類し、このとき境界点に対応するデータを次のグループに分類し、少なくとも１つのグループに対して、当該グループの中の各データに対応する最も長い共通接頭辞を、当該グループの共通接頭辞として確定するように更に配置されている。
【００７４】
本実施形態の幾つかの選択可能な実施形態では、装置６００は、マルチラウンド圧縮ユニット（図示せず）をさらに含み、当該マルチラウンド圧縮ユニットは、少なくとも１つのデータの圧縮率を決定し、圧縮率が所定の圧縮率閾値未満である場合、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートして次のラウンドの圧縮待ちのデータ集合として生成し、データ集合に基づいて以下のマルチラウンド圧縮ステップを実行するように更に配置されており、当該マルチラウンド圧縮ステップは、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞をマルチラウンド共通接頭辞集合に追加することと、マルチラウンド共通接頭辞集合に基づき、データを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定することと、少なくとも１つのデータの圧縮率を更新することと、更新された圧縮率が所定の圧縮率閾値以上である場合、または圧縮回数が所定の圧縮回数閾値に達する場合、各グループの共通接頭辞と各グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録することと、更新された圧縮率が所定の圧縮率閾値よりも小さく、かつ圧縮回数が所定の圧縮回数閾値に達していない場合は、各グループのデータの中の非共通接頭辞の部分を所定の順序でソートしてから、次のラウンドの圧縮待ちのデータ集合を更新し、続けて前記のマルチラウンド圧縮ステップを実行することとを含む。
【００７５】
本実施形態の幾つかの選択可能な実施形態では、マルチラウンド圧縮ユニットは、データ集合の中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在しないことに応答し、当該データを、次のラウンドの圧縮待ちのデータ集合に追加するように更に配置されている。
【００７６】
本実施形態の幾つかの選択可能な実施形態では、マルチラウンド圧縮ユニットは、各グループの共通接頭辞のバイト数と各グループのデータの中の非共通接頭辞の部分のバイト数に基づいて、少なくとも１つのデータの圧縮後のデータ容量を決定し、少なくとも１つのデータの圧縮後のデータ容量と、少なくとも１つのデータの圧縮前のデータ容量との比率を、圧縮率として決定するように更に配置されている。
【００７７】
本実施形態の幾つかの選択可能な実施形態では、装置６００は、比較ユニット（図示せず）を更に含み、当該比較ユニットは、少なくとも１つのデータ中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとに基づいて、各データのサイズを比較するように配置されている。
【００７８】
図７は、本願の実施形態の電子設備（例えば、図１に示すサーバー）を実現するのに適するコンピュータシステムの構造模式図である。図７に示されている設備は、ただ一つの例示に過ぎず、本願の実施形態の機能及び使用範囲に如何なる制限も与えない。
【００７９】
図７に示すように、コンピュータシステム７００は、中央処理装置（ＣＰＵ）７０１を備え、リードオンリーメモリ（ＲＯＭ）７０２に記憶されているプログラムまたは記憶部７０８からランダムアクセスメモリ（ＲＡＭ）７０３にロードされたプログラムに従って各種の適切な動作と処理を実行することができる。ＲＡＭ７０３に、システム７００の操作に必要な各種のプログラムとデータが更に記憶されている。ＣＰＵ７０１、ＲＯＭ７０２とＲＡＭ７０３は、バス７０４を通じて互いに接続する。入力／出力（Ｉ／Ｏ）インターフェース７０５もバス７０４に接続されている。
【００８０】
キーボード、マウス等を含む入力部分７０６、例えば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等及びスピーカー等を含む出力部分７０７、ハードディスク等を含む記憶部７０８、及び例えばＬＡＮカード、モデム等を含むネットワークインターフェースカードの通信部７０９は、Ｉ／Ｏインターフェース７０５に接続される。通信部７０９は、例えば、インターネット等のネットワークを通じて通信処理を実行する。ドライバー７１０も必要に応じてＩ／Ｏインターフェース７０５に接続される。例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等のようなリムーバブルメディア７１１は、必要に応じてドライバー７１０にインストールされることにより、そこから読み出されるコンピュータプログラムは、必要に応じて記憶部７０８にインストールされる。
【００８１】
特に、本願の実施形態により、前記の文章でフローチャート図を参照しながら記述したプロセスは、コンピュータソフトウェアプログラムとして実現することができる。例えば、本願の実施形態は、コンピュータプログラム製品を含み、それは、コンピュータの読み取り可能なメディアに記載されているコンピュータプログラムを含む。当該コンピュータプログラムは、フローチャート図の示す方法を実行するのに用いられるプログラムコードを含む。このような実施形態において、当該コンピュータプログラムは、通信部７０９を通じてネットワークからダウンロードされてインストールされても良く、及び／またはリムーバブルメディア７１１からインストールされても良い。当該コンピュータプログラムは、中央処理装置（ＣＰＵ）７０１に実行されるとき、本願の方法の中で限定される前記の機能を実行する。なお、本願で説明するコンピュータの読み取り可能なメディアは、コンピュータの読み取り可能な信号メディアまたはコンピュータの読み取り可能な記憶メディアまたは両者の任意の組合せであっても良い。コンピュータの読み取り可能な記憶メディアは、例えば、電、磁、光、電磁、赤外線、或いは半導体のシステム、装置または設備、またはこれらの任意の組合せであっても良いが、これらに限定されない。コンピュータの読み取り可能な記憶メディアのより具体的例は、一つまたは複数のリード線を有する電気接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含むが、これらに限定されない。本願において、コンピュータの読み取り可能な記憶メディアは、命令実行システム、装置、設備またはその組み合わせに使用されるプログラムを含むまたは記憶する如何なる有形メディアであっても良い。本願において、コンピュータの読み取り可能な信号メディアは、ベースバンドの中または搬送波の一部分として伝播するデータ信号を含み、その中でコンピュータの読み取り可能なプログラムコードが記載されている。このような伝播するデータ信号は、多種類の形式を採用することができ、電磁信号、光信号またはその任意の適切な組み合わせを含むが、これらに限定されない。コンピュータの読み取り可能な信号メディアは、さらにコンピュータの読み取り可能な記憶メディア以外の任意のコンピュータの読み取り可能なメディアであっても良く、当該コンピュータの読み取り可能なメディアは、命令実行システム、装置、デバイスまたはその組み合わせに使用されるプログラムを送信し、伝播し、または転送することができる。コンピュータの読み取り可能なメディアに含まれるプログラムコードは、あらゆる適切なメディアを使って転送することができ、無線、電線、光ファイバー、ＲＦ等またはその任意の適切な組み合わせを含むが、これらに限定されない。
【００８２】
一つまたは複数のプログラミング言語またはその組み合わせを使って、本願の操作の実行に用いられるコンピュータプログラムコードを作成しても良い。前記プログラミング言語は、例えばＪａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向のプログラミング言語を含み、さらに例えば「Ｃ」言語または類似のプログラミング言語のような手続き型プログラミング言語を含む。プログラムコードは、完全にユーザーコンピュータ上で実行されても良く、部分的にユーザーコンピュータ上で実行されても良く、一つの独立したソフトウェアパッケージとして実行されても良く、一部分がユーザーコンピュータ上で実行され一部分がリモートコンピュータ上で実行されても良く、或いは完全にリモートコンピュータまたはサーバー上で実行されても良い。リモートコンピュータに関わる場面において、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを通じてユーザーコンピュータに接続されても良いし、または外部コンピュータ（例えばインターネットサービスプロバイダーを利用してインターネットを通じて接続する）に接続されても良い。
【００８３】
付属図面の中のフローチャート図とブロック図は、本願による各種実施形態のシステム、方法とコンピュータプログラム製品の実現可能なアーキテクチャ、機能と操作を示す。この点において、フローチャート図またはブロック図の中の各ブロックは、一つのモジュール、プログラムセグメント、或いはコードの一部分を代表することができ、当該モジュール、プログラムセグメント、或いはコードの一部分は、一つまたは複数の、規定のロジック機能の実現に用いられる実行可能な命令を含む。幾つかの代替の実現において、ブロックの中で提示した機能は、付属図面の中で提示した順序と異なる順序で発生する可能性があると注意されたい。例えば、二つの接続するように表示されているブロックは、実際において基本的に並列に実行されても良く、場合によっては反対の順序で実行されても良く、何れも関わる機能によって定まる。フローチャート図及び／またはブロック図の中の各ブロック、及びフローチャート図及び／またはブロック図の中のブロックの組合せは、規定の機能または操作を実行する専用なハードウェアに基づくシステムで実現しても良く、専用なハードウェアとコンピュータ命令の組み合わせで実現しても良い。
【００８４】
本願の実施形態に関わって記述されているユニットは、ソフトウェアの方式によって実現しても良く、ハードウェアの方式によって実現しても良い。記述されているユニットは、プロセッサーの中に設置されても良く、例えば、ソートユニット、決定ユニット、グループ分けユニット及び格納ユニットを含むプロセッサーというように記述しても良い。なお、これらユニットの名称は、場合によっては、当該ユニット自身への限定を構成せず、例えば、ソートユニットは、「圧縮待ちの少なくとも１つのデータを所定の順序でソートするユニット」と記述されても良い。
【００８５】
一方、本願は、コンピュータの読み取り可能なメディアを更に提供し、当該コンピュータの読み取り可能なメディアは、前記実施形態の中で記述された装置に含まれても良く、当該装置に取り付けられずに単独的に存在しても良い。前記コンピュータの読み取り可能なメディアは、一つまたは複数のプログラムを記載しており、前記一つまたは複数のプログラムが当該装置に実行されると、当該装置は、圧縮待ちの少なくとも１つのデータを所定の順序でソートし、ソートされた少なくとも１つのデータの中のデータに対して、当該データと当該データの前のデータに共通接頭辞が存在することに応答し、共通接頭辞を共通接頭辞集合に追加し、共通接頭辞集合に基づき、ソートされた少なくとも１つのデータを少なくとも１つのグループに分類し、そして各グループの共通接頭辞を決定し、少なくとも１つのグループの中のグループに対して、当該グループの共通接頭辞と当該グループの各データの中の非共通接頭辞の部分を格納し、そして各グループの中の各データに対応する共通接頭辞と、各データがそれぞれ共通接頭辞との共有長さとを記録する。
【００８６】
前記記述は、本願の望ましい実施形態及び使用する技術原理に対する説明に過ぎない。当業者は、本願の関わる発明の範囲は、前記技術特徴の特定の組み合わせからなる技術案に限定されることがなく、本発明の精神から逸脱しない限り、前記技術特徴または同等の特徴の任意の組み合わせからなる技術案もカバーすべきであると理解すべきである。例えば、前記特徴と本願で公開した（但し、これらに限定されない）類似の機能を有する技術特徴とを相互入れ替えして形成した技術案である。
【図１】
2020088847.tif 000006
【図２】
2020088847.tif 000007
【図３】
2020088847.tif 000008
【図４】
2020088847.tif 000009
【図５】
2020088847.tif 000010
【図６】
2020088847.tif 000011
【図７】
2020088847.tif 000012
【外国語明細書】
2020088847000001.pdf