IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エンヴィジョン デジタル インターナショナル ピーティーイー.エルティーディー.の特許一覧 ▶ シャンハイ エンヴィジョン デジタル シーオー.,エルティーディー.の特許一覧

特表2022-552435モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体
<>
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図1
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図2
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図3
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図4
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図5
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図6
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図7
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図8
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図9
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図10
  • 特表-モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-15
(54)【発明の名称】モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体
(51)【国際特許分類】
   G06F 16/245 20190101AFI20221208BHJP
【FI】
G06F16/245
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2022539032
(86)(22)【出願日】2020-12-22
(85)【翻訳文提出日】2022-08-23
(86)【国際出願番号】 SG2020050768
(87)【国際公開番号】W WO2021133251
(87)【国際公開日】2021-07-01
(31)【優先権主張番号】201911370689.6
(32)【優先日】2019-12-26
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】522178636
【氏名又は名称】エンヴィジョン デジタル インターナショナル ピーティーイー.エルティーディー.
【氏名又は名称原語表記】ENVISION DIGITAL INTERNATIONAL PTE.LTD.
【住所又は居所原語表記】1 Harbourfront Avenue,#17-01 Keppel Bay Tower,Singapore 098632(SG)
(71)【出願人】
【識別番号】522178647
【氏名又は名称】シャンハイ エンヴィジョン デジタル シーオー.,エルティーディー.
【氏名又は名称原語表記】SHANGHAI ENVISION DIGITAL CO.,LTD.
【住所又は居所原語表記】No.15,Lane 55,Chuanhe Road China(Shanghai)Pilot Free Trade Zone Shanghai(CN)
(74)【代理人】
【識別番号】100116687
【弁理士】
【氏名又は名称】田村 爾
(74)【代理人】
【識別番号】100098383
【弁理士】
【氏名又は名称】杉村 純子
(74)【代理人】
【識別番号】100155860
【弁理士】
【氏名又は名称】藤松 正雄
(72)【発明者】
【氏名】シア,ヤンヤン
(72)【発明者】
【氏名】ジョウ,シャオミン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175KA04
(57)【要約】
本開示は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置に関する。この方法には:サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析し;デバイスデータを取得し;デバイスデータを第2の属性セットに解析し;第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し;各属性要素のうちの1つのブルームフィルタリング結果がミスマッチの発生を示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止し;デバイスデータを取得するステップに戻る、が含まれる。
【選択図】図7

【特許請求の範囲】
【請求項1】
モノのインターネットにおいてサブスクリプションデータをプッシュするための方法であって、サブスクリプションサーバによって実行される方法において、
サブスクリプション条件セットの受信に応じて、前記サブスクリプション条件セットを解析して第1の属性セットを得ること、ここで、前記第1の属性セットには、少なくとも1つの属性要素セットが含まれ、前記サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ、
デバイスデータを取得すること、ここで、前記デバイスデータは、前記サブスクリプションサーバに記憶されており、
前記デバイスデータを解析して第2の属性セットを得ること、ここで、前記第2の属性セット内の各属性要素は、前記第1の属性セット内の属性要素セットと同じタイプであり、
前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行すること、
前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること、
前記デバイスデータを取得するステップに戻ること、
を含むことを特徴とする方法。
【請求項2】
請求項1に記載の方法において、
前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行することは、
前記第1の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得すること、
前記第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第2の属性セット内の各属性要素に対応するバイナリベクトルを取得すること、
前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットと、前記第2の属性セット内の各属性要素に対応するバイナリベクトルとを所定のマッチング順序でマッチングすること、
を含み、
前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止することは、
前記第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが前記第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること、
を含むことを特徴とする方法。
【請求項3】
請求項1に記載の方法において、
サブスクリプション条件の数が1つの場合、
前記方法は更に、
前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、前記デバイスデータをクライアントに送信するように構成され、ここで、前記クライアントは、前記サブスクリプション条件を送信する端末である、
を含むことを特徴とする方法。
【請求項4】
請求項1に記載の方法において、
サブスクリプション条件の数が1つより多い場合、
前記方法は更に、
前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得すること、
前記統合サブスクリプション条件に対応する属性セットを前記第2の属性セットとマッチングすることによって、マッチング結果を取得すること、
前記第2の属性セットが前記統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、前記デバイスデータをクライアントに送信すること、
を含むことを特徴とする方法。
【請求項5】
請求項4に記載の方法において、
前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得することは、
前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが前記第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、前記第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、前記統合サブスクリプション条件を取得すること、
を含むことを特徴とする方法。
【請求項6】
請求項1~請求項5のいずれかに記載の方法において、
前記第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである、
ことを特徴とする方法。
【請求項7】
モノのインターネットにおいてサブイメージデータをプッシュするための装置であって、サブスクリプションサーバに適用可能な装置において、
サブスクリプション条件セットの受信に応じて、前記サブスクリプション条件セットを解析して第1の属性セットを得るように構成された、第1の解析モジュールと、ここで、前記第1の属性セットには、少なくとも1つの属性要素セットが含まれ、前記サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ、
デバイスデータを取得するように構成された、取得モジュールと、ここで、前記デバイスデータは、前記サブスクリプションサーバに記憶されており、
前記デバイスデータを解析して第2の属性セットを得るように構成された、第2の解析モジュールと、ここで、前記第2の属性セット内の各属性要素は、前記第1の属性セット内の属性要素セットと同じタイプであり、
前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行するように構成された、ブルームフィルタリングモジュールと、
前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成された、停止モジュールと、
前記デバイスデータを取得するステップに戻るように構成された、リターンモジュールと、
を備えたことを特徴とする装置。
【請求項8】
請求項7に記載の装置において、
前記ブルームフィルタリングモジュールは、
前記第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成された、第1の計算サブモジュールと、
前記第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成された、第2の計算サブモジュールと、
を備え、
前記停止モジュールは、前記第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが前記第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように更に構成される、
ことを特徴とする装置。
【請求項9】
プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶したメモリとを備えたコンピュータデバイスであって、
前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット、または前記命令セットは、前記プロセッサによってロードおよび実行されると、請求項1~請求項6のいずれかに定義された、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を前記プロセッサに実行させる、
ことを特徴とするコンピュータデバイス。
【請求項10】
少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体であって、
前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット、または前記命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、請求項1~請求項6のいずれかに定義された、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を前記コンピュータデバイスに実行させる、
ことを特徴とする非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モノのインターネットの技術分野に関し、特に、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体に関する。
【背景技術】
【0002】
モノのインターネット技術の大規模な適用により、モノとモノの間、および人とモノの間の情報相互作用がより頻繁になり、サブスクリプションデータをプッシュする処理の際に、サブスクリプションサーバ内のデータをサブスクリプション条件に従ってマッチングさせる必要がある。
【0003】
関連技術では、データベース内のデータが一般にサブスクリプション条件とマッチングされ、マッチングの結果、データがサブスクリプション条件を満たしているか否かによって、データをユーザに送信するか否かが決定されていた。
【0004】
関連技術では、データ構造に異なる属性値が一般的に含まれているため、データの特定の属性値がサブスクリプション条件を満たさないと判定された場合、データの他の属性値をマッチングすることは意味がない。その結果、サブスクリプションサーバのマッチングリソースが浪費され、サブスクリプションサーバのマッチング効率が低下する。
【発明の概要】
【0005】
本開示の実施形態は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのコンピュータデバイスおよび非一時的コンピュータ可読記憶媒体を提供し、これにより、照合処理における照合リソースの浪費を削減することができ、照合効率が向上する。
【0006】
一態様において、モノのインターネットにおいてサブイメージデータをプッシュするための方法が提供される。この方法は、サブスクリプションサーバによって実行され、以下が含まれる:
【0007】
サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析すること、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ;
【0008】
デバイスデータを取得すること、ここで、デバイスデータは、サブスクリプションサーバに記憶されており;
【0009】
デバイスデータを第2の属性セットに解析すること、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプであり;
【0010】
第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行すること;
【0011】
第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること;
【0012】
デバイスデータを取得するステップに戻ること。
【0013】
別の態様において、モノのインターネットにおいてサブイメージデータをプッシュするための装置が提供される。この装置は、サブスクリプションサーバに適用することが可能であり、以下が含まれる:
【0014】
サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析するように構成された、第1の解析モジュール、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ;
【0015】
デバイスデータを取得するように構成された、取得モジュール、ここで、デバイスデータは、サブスクリプションサーバに記憶されており;
【0016】
デバイスデータを第2の属性セットに解析するように構成された、第2の解析モジュール、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプであり;
【0017】
第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行するように構成された、ブルームフィルタリングモジュール;
【0018】
第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成された、停止モジュール;
【0019】
デバイスデータを取得するステップに戻るように構成された、リターンモジュール。
【0020】
幾つかの実施形態において、ブルームフィルタリングモジュールには、以下が含まれる:
【0021】
第1の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成された、第1の計算サブモジュール;
【0022】
第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成された、第2の計算サブモジュール;
【0023】
ここで、停止モジュールは、第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように更に構成される。
【0024】
幾つかの実施形態において、サブスクリプション条件の数が1つの場合、前記装置には、以下が更に含まれる:
【0025】
第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータをクライアントに送信するように構成された、第1の送信モジュール、ここで、クライアントは、サブスクリプション条件を送信する端末である。
【0026】
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、前記装置には、以下が更に含まれる:
【0027】
第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差(intersect;積集合演算)させることによって、統合サブスクリプション条件を取得するように構成された、計算モジュール;
【0028】
統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングすることによって、マッチング結果を取得するように構成された、マッチングモジュール;
【0029】
第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、デバイスデータをクライアントに送信するように構成された、第2の送信モジュール。
【0030】
幾つかの実施形態において、計算モジュールは、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
【0031】
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。
【0032】
別の態様において、コンピュータデバイスが提供される。コンピュータデバイスは、プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶したメモリとを含む。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、プロセッサによってロードおよび実行されると、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法をプロセッサに実行させる。
【0033】
別の態様において、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体が提供される。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法をコンピュータデバイスに実行させる。
【0034】
本開示による技術的解決策は、以下の有益な効果を達成することができる。
【0035】
サブスクリプション条件セットが受信されると、サブスクリプション条件セットが第1の属性セットに解析され、デバイスデータを取得して、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットに解析される。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングを停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
【0036】
前述の一般的な説明と以下の詳細な説明の両方は、例示的かつ説明的なものに過ぎず、本開示を限定することを意図していないことを理解されたい。
【図面の簡単な説明】
【0037】
本明細書の図面は、明細書に組み込まれ、明細書の一部を構成する。それらは、本開示と一致する実施形態を示しており、本開示の原理を説明するために明細書と併せて使用される。
【0038】
図1図6は、ブルームフィルタのワークフローの模式図である。
【0039】
図7は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法のフローチャートである。
【0040】
図8は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法のフローチャートである。
【0041】
図9は、本開示の一実施形態に関する、複数のサブスクリプション条件の下で異なる属性要素の属性値に対してハッシュ演算を実行した後の対応するバイナリベクトルの概略図である。
【0042】
図10は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための装置のブロック図である。
【0043】
図11は、例示的な実施形態に関する、コンピュータデバイスの構造の概略ブロック図である。
【発明を実施するための形態】
【0044】
次に、添付の図面に例示されている例示的な実施形態について詳細に言及する。以下の説明は、添付の図面について言及しており、異なる図面の同じ番号は、特に示さない限り、同じまたは類似の要素を表す。以下の例示的な実施形態の説明に示される実施形態は、本開示と一致するすべての実施形態を表すものではない。むしろ、それらは、添付の特許請求の範囲に記載されるような本開示に関連する態様と一致する装置および方法の例に過ぎない。
【0045】
本開示で使用される「幾つかの」という用語は、1つまたは複数を意味し、「複数」という用語は、2つ以上を意味し、「および/または」という用語は、関連するオブジェクトの関連関係を説明し、3つの関係が存在する可能性があることを示す。例えば、Aおよび/またはBは、Aが単独で存在、AとBが同時に存在、Bが単独で存在の3つの状況を示す可能性がある。また、文字「/」は一般に、前後に関連付けられたオブジェクト間に「OR(または)」の関係にあることを示す。
【0046】
モノのインターネット技術の大規模な普及に伴い、サブスクリプション条件の精度や、サブスクリプション条件をプッシュする処理の際のサブスクリプションサーバにおけるデータマッチングに対して、より高い要求が求められている。本開示は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を提供することで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。理解を容易にするために、本開示に含まれる幾つかの用語を以下に説明する。
【0047】
1)モノのインターネット(IoT)
【0048】
IoTは、インターネットや従来の電気通信ネットワークなどの情報媒体に基づいて、独立した機能を持つ全ての通常のオブジェクトを接続できるようにするネットワークであり、輸送および物流、工業生産、ヘルスケア、スマート環境(家庭、オフィス、または工場)などの分野に主に適用される。したがって、IoTは、市場で大きな可能性を秘めている。
【0049】
2)ブルームフィルタ
【0050】
ブルームフィルタは、非常に長いバイナリベクトルと一連のランダムマッピング関数から構成され、要素がセット内にあるか否かを検索するために使用することができる。その利点は、ブルームフィルタが一般的なアルゴリズムよりも空間効率が高く、クエリ時間が短いことであり、欠点は、ブルームフィルタが特定の誤認識率(つまり、要素がセット内にないという事実と矛盾して、ブルームフィルタがセット内の要素の存在を報告する可能性があることを意味する誤検知)および削除の困難性であるが、認識エラーの状況が発生しない(つまり、要素がセット内にない場合に、ブルームフィルタがセット内の要素の存在を報告しない可能性があることを意味する偽陰性であり、過小報告が防止される)。
【0051】
図1図6を参照すると、ブルームフィルタのワークフローの概略図が示されている。図1図6に示すように、一例としてURL(Uniform Resource Locator)を取り上げると、URLに対して実行されるブルームフィルタリングは、以下のようになる。
【0052】
(1)第1、第2、第3のURLをフィルタ条件として、3つの異なるハッシュ関数に応じて3つの異なるハッシュ値をそれぞれ生成する。
【0053】
URLa、URLb、URLcに対してハッシュ演算を実行する模式図である図1図3に示すように、3つの異なるハッシュ関数は、それぞれ、HashA、HashB、HashCである。また、URLaに対応する3つのハッシュ値は4、16、8であり、URLbに対応する3つのハッシュ値は9、11、7であり、URLcに対応する3つのハッシュ値は3、15、10である。
【0054】
(2)フィルタ条件を空のビットマップセットにマッピングする。
【0055】
図4は、空のビットマップセットを示している。URLaに対応する3つのハッシュ値は4、16、8であるため、ビットマップセット内の4、16、8に対応する位置は1であると判断され、4、16、8に対応する位置に1がセットされる。URLbに対応する3つのハッシュ値は9、11、7であるため、ビットマップセット内の9、11、7に対応する位置は1であると判断され、9、11、7に対応する位置に1がセットされる。URLcに対応する3つのハッシュ値は3、15、10であるため、ビットマップセット内の3、15、10に対応する位置は1であると判断され、3、15、10に対応する位置に1がセットされる。図5は、セッティング完了後のビットマップセットを示している。
【0056】
(3)ブルームフィルタに第4のURLを追加する場合、第4のURLを同じブルームフィルタ条件で3つのハッシュ関数に従ってハッシュ演算を実行し、3つの異なるハッシュ値をそれぞれ生成する。
【0057】
図6に示すように、4番目のURLxに対応するハッシュ値は4、16、8である。
【0058】
(4)セッティング後のビットマップセットにおける第4のURLのハッシュ値に対応する位置が1であるか否かが判定される。3つの値の位置が同時に1である場合に、そのURLは重複URLであると判定される。3つの値の位置が同時に1ではない場合に、そのURLは重複URLでないと判定される。
【0059】
図6に示す第4のURLxによって生成された3つのハッシュ値4、16、8を図5のビットマップセットに対応させることで、4、16、8の位置が同時に1であれば、図6に示すURLxは重複URLであり、URLxはURLaと重複していると判定される。
【0060】
第4のURLが重複URLでないと判定された場合、ビットマップセットにおけるURLの3つのハッシュ値に対応する位置のうち、1がセットされていない位置に1がセットされて、次のURLに対してブルームフィルタリングを実行するためのブルームフィルタ条件とされる。
【0061】
ビットマップセットのサイズは、前述の図に示したセットのサイズに限定されず、ビットマップセット内の各位置に対応するサイズは1ビットである。ユーザは、異なるニーズに応じて対応するセッティングを行うことができ、1のセット操作をビットマップセット内の各位置に対して1回だけ行うことができる。
【0062】
幾つかの実施形態において、ブルームフィルタは、サブスクリプションデータがサブスクリプション条件を満たしているか否かを判定するように構成されている。サブスクリプション条件は各属性セットに分割され、各属性セットはブルームフィルタ条件として取得され、ハッシュ演算が実行され、ビットマップセットにマッピングされる。ここで、異なる属性に対応するハッシュ演算で採用されるハッシュアルゴリズムは、同じでもよいし、異なっていてもよい。サブスクリプションデータは、サブスクリプション条件に新たに対応する属性セットに分割され、サブスクリプション条件内の異なる属性に対して実行されるハッシュ演算で対応して採用されるハッシュアルゴリズムに従って、サブスクリプションデータ内の異なる属性に対してハッシュ演算が実行される。次に、ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する位置に全て1がセットされているか否かによって、サブスクリプションデータがサブスクリプション条件を満たしているか否かが判定される。ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する全ての位置に1がセットされている場合は、サブスクリプションデータはサブスクリプション条件を満たしており、ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する全ての位置に1がセットされているのではない場合は、サブスクリプションデータはサブスクリプション条件を満たしていない。
【0063】
図7を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法のフローチャートが示されている。IoTにおいてサブスクリプションデータをプッシュするための方法は、サブスクリプションサーバによって実行される。図7に示すように、この方法には、以下のステップが含まれ得る。
【0064】
ステップ710において、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットが得られる。第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれる。
【0065】
サブスクリプション条件は、サブスクリプションサーバでサブスクリプションデータをフィルタリングするためのカスタマイズ条件を指す。サブスクリプション条件は、カスタマイズ条件をサブスクリプションサーバに入力することによってユーザに定義されてもよいし、サブスクリプションサーバ内のラベルコントロールを制御することによってユーザに定義されてもよい。
【0066】
幾つかの実施形態において、可能な状況では、クライアントは検索ボックスを有してもよく、ユーザは、クライアントに接続された外部デバイスによってテキストを入力して、カスタマイズ条件をサブスクリプションサーバに送信することができる。あるいは、クライアントが音声認識機能を有することを前提として、ユーザは、カスタマイズ条件を音声入力によってサブスクリプションサーバに送信することができる。あるいは、サブスクリプションデータをフィルタリングするためのラベルコントロールをクライアントに提供することもできます。例えば、モデルa、デバイスB、または測定ポイントCなどのラベルコントロールをサブスクリプションサーバのタッチインターフェース上に表示してもよく、これらラベルコントロールはサブスクリプションデータの記述を含み、ユーザは、単一の選択または複数の選択によって、カスタマイズ条件をサブスクリプションサーバに送信することができる。
【0067】
幾つかの実施形態において、サブスクリプション条件は、少なくとも1つの属性をフィルタリングするためのサブスクリプション条件を含み得る。例えば、ユーザに入力されるカスタマイズ条件は、「IoT機能付き電球」である。カスタマイズ条件は、サブスクリプションサーバで解析して異なる属性セットが得られる場合があり、属性セットは、電球を識別するシリーズ番号、電球に対応するモデル、モデル内の対応する測定ポイント、またはその他の関連する内容であり得る。属性セット内の異なる属性要素に対して、対応するサブ-サブスクリプション条件が定義され、異なる属性要素を説明または制限する。例えば、「IoT機能付き電球」という解析条件に対応する測定ポイントAは、電球モデルの電流または電圧を説明するための属性値を有し得る。
【0068】
幾つかの実施形態において、サブスクリプション条件セットを解析する処理において、サブスクリプション条件セット内の各サブスクリプション条件は、対応する解析結果に関連付けられるものとする。すなわち、各サブスクリプション条件は、それに対応する第1の属性サブセットを有し、第1の属性サブセットは、第1の属性セット内にある。例えば、サブスクリプション条件1は、それに対応する第1の属性サブセット1を有することができ、第1の属性サブセット1は、モデル1、デバイス1、測定ポイント1などの対応する属性要素を含むことができる。
【0069】
ステップ720において、デバイスデータが取得され、デバイスデータはサブスクリプションサーバに記憶される。
【0070】
サブスクリプションサーバは、生成されたデバイスデータをサブスクリプションサーバに送信することができるデータ生成デバイスに接続される。サブスクリプション条件を受信すると、サブスクリプションサーバは、それに記憶されたデバイスデータからデバイスデータを抽出することができる。
【0071】
ステップ730において、デバイスデータを解析して第2の属性セットが得られる。第2の属性セット内の属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
【0072】
デバイスデータが取得された後、デバイスデータは、サブスクリプション条件の解析ルールに従って解析され得る。例えば、サブスクリプション条件が解析されて、デバイス、モデル、測定ポイントの3つの属性要素で構成された属性セットが得られた場合、データ間の比較可能性を確保できるように、デバイスデータも同じ解析ルールに従って解析して、デバイス、モデル、測定ポイントの3つの属性要素で構成された属性セットを得る必要がある。
【0073】
ステップ740において、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングが実行される。
【0074】
この処理は、第1の属性セット内の属性要素セットの属性値に基づいて、第2の属性セット内の各属性要素の属性値に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の前の属性要素のブルームフィルタリングの結果がマッチングの成功を示している場合に、次の属性要素のブルームフィルタリングが実行される。例えば、所定のマッチング順序がモデル、デバイス、測定ポイントである場合、サブスクリプション条件の属性セット内のモデルの属性値が、デバイスデータの属性セット内のモデルの属性値に対してブルームフィルタリングを実行するためのフィルタ条件として最初に取得され得る。モデルの属性値のブルームフィルタリングの結果がマッチングの成功を示す場合、サブスクリプション条件の属性セット内のデバイスの属性値をフィルタ条件として、デバイスデータの属性セット内のデバイスの属性値に対してブルームフィルタリングが実行される。デバイスの属性値のブルームフィルタリングの結果がマッチングの成功を示す場合、サブスクリプション条件の属性セット内の測定ポイントの属性値をフィルタ条件として、測定ポイントの属性値に対してブルームフィルタリングが実行される。
【0075】
ステップ750において、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。
【0076】
デバイスデータのマッチング処理の際に、各属性要素の属性値のブルームフィルタリング結果がサブスクリプション条件セット内の対応する属性要素の属性値とのミスマッチを示す限り、デバイスデータがサブスクリプション条件を満たしていないと判定され、属性要素の属性値に対してブルームフィルタリングを実行する意味がない。このように、各属性要素の属性値のブルームフィルタリング結果がサブスクリプション条件セット内の各属性要素の属性値とのミスマッチを示す場合に、それ以降の他の属性要素に対するブルームフィルタリングを停止することができ、マッチング処理におけるマッチングリソースの浪費を削減できる。
【0077】
ステップ760において、デバイスデータを取得するステップに処理が戻る。
【0078】
サブスクリプションデータをプッシュする処理の際に、特定のデバイスデータがサブスクリプション条件セット内のサブスクリプション条件を満たさないと判定された場合、そのデバイスデータとサブスクリプション条件のマッチングを停止して、サブスクリプション条件セット内の少なくとも1つのサブスクリプション条件を満たすサブスクリプションサーバ内の少なくとも1つのデバイスデータを取得するために、次のデバイスデータとサブスクリプション条件のマッチングを開始する必要がある。
【0079】
幾つかの実施形態において、サブスクリプションサーバ内のデバイスデータがサブスクリプション条件セット内のサブスクリプション条件を満たさない場合は、サブスクリプション条件は不適切であると判断され、判断結果がサブスクリプション条件を送信するクライアントにフィードバックされる。
【0080】
要約すると、本開示の実施形態によって提供されるIoTにおけるサブスクリプションデータをプッシュするための方法によれば、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
【0081】
図8を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法のフローチャートが示されている。IoTにおいてサブスクリプションデータをプッシュするための方法は、サブスクリプションサーバによって実行される。図8に示すように、この方法には、以下のステップが含まれ得る。
【0082】
ステップ801において、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットが得られる。第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれる。
【0083】
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。各属性要素セットには、それに相応して、サブスクリプション条件セット内の全てのサブスクリプション条件を解析することによって取得された対応する属性要素が含まれる。例えば、モデルセットには、サブスクリプション条件セット内の全てのサブスクリプション条件を解析することによって取得されたモデル要素が含まれ得る。
【0084】
幾つかの実施形態において、各サブスクリプション条件は、対応するサブスクリプションアカウントを有しており、サブスクリプションアカウントは、対応するサブスクリプション条件を満たすデバイスデータをサブスクリプションアカウントに送信するように指示するために使用される。
【0085】
幾つかの実施形態において、IoTにおいてサブスクリプションデータをプッシュするプロセスの際に、サブスクリプションサーバは、同じ期間にユーザによって送信された複数のサブスクリプション条件を受信することができ、サブスクリプション条件の数が1つより多い場合、サブスクリプションサーバは、複数のサブスクリプション条件を同時に解析して、1つのサブスクリプション条件が1つのサブスクライバアカウントに対応する、第1の属性セットを形成する。
【0086】
ステップ802において、デバイスデータが取得され、デバイスデータはサブスクリプションサーバに記憶される。
【0087】
ステップ803において、デバイスデータを解析して第2の属性セットが得られる。第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
【0088】
ステップ804において、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行する。このステップには、以下の内容が含まれ得る。
【0089】
1)第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行して、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得する。このプロセスには、以下のステップが含まれ得る。
【0090】
ステップS810において、第1の属性セット内の属性要素セットの属性値に対してハッシュ演算することによって、第1の属性セット内の属性要素セットにそれぞれ対応する演算結果が取得される。
【0091】
ステップ820において、空のビットマップセットが準備される。
【0092】
ステップS830において、第1の属性セット内の属性要素セットにそれぞれ対応する演算結果に対応するビットマップセット内の位置に1をセットすることによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルが得られる。
【0093】
1のセット操作は、各位置に対して1回だけ実行できるため、ビットマップセット内の1が設定された位置は、ハッシュ演算の特性により、複数のサブスクリプション条件に対応する可能性がある。したがって、1が設定された位置とサブスクリプション条件との間の相関を確立することが可能であり、1が設定された位置と属性要素との間の相関を最初に確立することによって実現され得る。
【0094】
2)第2の属性セット内の各属性要素の属性値に対してハッシュ演算を実行して、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得する。
【0095】
第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するプロセスは、ステップS810~S830を参照することができ、本明細書ではこれ以上説明しない。
【0096】
各属性要素の属性値に対してハッシュ演算を実行する処理は、図1図6に示したブルームフィルタのワークフローを参照することができる。ハッシュ演算の際に、同じサブスクリプション条件または同じデバイスデータの異なる属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数は、同一であってもよく、そうでなくてもよく、その一方で、サブスクリプション条件とデバイスデータの対応する属性要素の属性値は、同一である必要がある。例えば、サブスクリプション条件の解析に、デバイス、モデル、測定ポイントの3つの属性要素が含まれる場合、対応するデバイスデータの解析にも、デバイス、モデル、測定ポイントの3つの属性要素が含まれる。属性要素に対してブルームフィルタリングを実行する処理の際に、サブスクリプション条件の3つの属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数が全てHashAである場合、デバイスデータの3つの属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数も全てHashAとなり;サブスクリプション条件の属性要素であるモデル、デバイス、測定ポイントの属性値をハッシュ演算するためのハッシュ関数がHashA、HashB、HashCである場合、デバイスデータのモデル、デバイス、測定ポイントである属性要素の属性値に対するハッシュ演算もHashA、HashB、HashCとなる。
【0097】
3)第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを、第2の属性セット内の各属性要素に対応するバイナリベクトルとそれぞれマッチングする。
【0098】
幾つかの実施形態において、マッチング処理の際に、デバイスデータの各属性要素に対応するバイナリベクトルとサブスクリプション条件の各属性要素に対応するバイナリベクトルとの量的積(quantitative product)が計算されてもよく、その計算結果に応じて、デバイスデータの各属性要素がサブスクリプション条件を満たしているか否かが判定される。計算結果が1の場合、デバイスデータの属性要素がサブスクリプション条件を満たしていると判定され;計算結果が0の場合、デバイスデータの属性要素がサブスクリプション条件を満たさないと判定される。
【0099】
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、本開示の一実施形態に関する、複数のサブスクリプション条件のうちの異なる属性要素の属性値に対してハッシュ演算を実行した後の対応するバイナリベクトルの概略図である、図9を参照する。図9に示すように、ビットマップセットのサイズは64ビットである。ハッシュ演算後の図9のサブスクリプション条件の各属性要素の属性値について、出力されるハッシュ値は0~63の整数範囲内の値であり、ハッシュ値に対応するビットマップセット内の位置に1がセットされる。
【0100】
図9に示すように、サブスクリプション条件全体のモデル属性に対応するバイナリベクトルは[1,0,1,0,0,1,1,0,0,1...1,0]であり、デバイスデータのモデル属性に対応するバイナリベクトルは[0,0,1,0,0,0,0,0,0,0...0,0]である。このため、計算されたそれらの間の量的積は、[1,0,1,0,0,1,1,0,0,1...1,0]×[0,0,1,0,0,0,0,0,0,0...0,0]=1となる。
【0101】
デバイスデータとサブスクリプション条件全体との間でマッチするモデルに対応する各バイナリベクトルの積結果は1であるので、デバイスデータのモデルの属性値はサブスクリプション条件を満たすと判定される。
【0102】
デバイスデータのモデル属性に対応するバイナリベクトルを[0,1,0,0,0,0,0,0,0,0...0,0]とすると、計算された量的積は、[1,0,1,0,0,1,1,0,0,1...1,0]×[0,1,0,0,0,0,0,0,0,0...0,0]=0となる。
【0103】
デバイスデータとサブスクリプション条件全体との間でマッチするモデル属性に対応する各バイナリベクトルの積結果が0であるため、デバイスデータのモデルの属性値がサブスクリプション条件を満たしていないと判定される。
【0104】
マッチング結果に従って、ステップ805またはステップ807が実行される。
【0105】
ステップ805において、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。
【0106】
幾つかの実施形態において、このプロセスには:第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の属性要素に対するマッチングを停止すること、その後、ステップ806を実行すること、が含まれ得る。
【0107】
ステップ806において、デバイスデータを取得するステップに処理が戻る。
【0108】
ステップ807において、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータがクライアントに送信される。クライアントは、サブスクリプション条件を送信する端末である。
【0109】
サブスクリプション条件の数が1つの場合、サブスクリプションサーバは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとのマッチングを示す場合、これはデバイスデータがサブスクリプション条件とのマッチングに成功したことも意味しており、サブスクリプション条件に対応するクライアントにデバイスデータを継続的に送信することができ、ここで、デバイスデータは、時間の経過に伴って変化するデータである。例えば、サブスクリプション条件が「光発電モジュールモデル内の光発電モジュール1の発電電力を取得すること」である場合には、光発電モジュールモデル内の光発電モジュール1の光発電電力値は、日射量の影響で増加または減少する可能性があり;デバイスデータがサブスクリプション条件とのマッチングに成功した場合に、サブスクリプションサーバは、光発電モジュール1によってアップロードされた光発電電力値をクライアントに継続的に送信することができる。
【0110】
サブスクリプション条件の数が1つより多い場合、ハッシュ関数の出力は一定の範囲内の整数であるため、異なるサブスクリプション条件の各属性要素の属性値に対してハッシュ演算を実行することで得られるハッシュ値が重複する可能性があり、これにより、第1の属性セット内の1つの属性要素が複数のサブスクリプション条件に対応することができる。例えば、ハッシュ関数は、以下のように定義され得る:
H(x)=h
【0111】
Hは、所定のハッシュ関数を表し、xは、可変サイズを有するデータを表し、hは、計算された固定長のハッシュ値を表す。
【0112】
ハッシュ関数が剰余2を取る関数である場合、サブスクリプション条件1のモデル属性の属性値は13であり、サブスクリプション条件2のモデル属性では5であり、以下の結果が生じ得る:
H(13)=1
H(5)=1
【0113】
5の剰余2の結果は1であり、13の剰余2の結果と同じである。一方、5は13と等しくなく、サブスクリプション条件1がサブスクリプション条件2と異なることを示している。更に、ハッシュ演算の結果は両方とも1であるため、ビットマップセットの対応する位置1で両方とも1がセットされる。但し、1のセット操作は同じ位置で1回しか実行できないため、1のセット操作に関連する2つのサブスクリプション条件が位置1に存在する。そこで、ハッシュ演算の結果の衝突による判断結果の不正確性を回避するために、以下のステップが実行される。
【0114】
1)第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性要素セットとの対応マッチングを示す場合に、各第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得する。
【0115】
幾つかの実施形態において、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、各第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させて統合サブスクリプション条件を取得する。
【0116】
各サブスクリプション条件は、対応するサブスクリプション条件マークを有し得る。サブスクリプション条件セットを交差させると、各第1の属性セット内のマッチングに成功した各属性要素に対応するサブスクリプション条件マークを取得することができ、各第1の属性セット内の各属性要素に対応する各サブスクリプション条件マークを交差させることによって、統合サブスクリプション条件に対応する各サブスクリプション条件マークを取得することができ、これにより統合サブスクリプション条件を取得する。
【0117】
2)統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングし、マッチング結果を取得する。
【0118】
統合サブスクリプション条件に対応する属性セット内の各属性要素の属性値が、第2の属性セット内の各属性要素の属性値と1つずつマッチングされる。
【0119】
3)デバイスデータは、第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じてクライアントに送信される。クライアントは、サブスクリプション条件を送信するクライアントである。
【0120】
幾つかの実施形態において、デバイスデータのモデル属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体のモデル属性に対応するバイナリベクトルとの積の結果が1となる位置を位置0とし、位置0に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、[サブスクリプション条件1、サブスクリプション条件2]であり;デバイスデータのデバイス属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体のデバイス属性に対応するバイナリベクトルとの積の結果が1となる位置を位置2とし、位置2に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、[サブスクリプション条件3、サブスクリプション条件4]であり;デバイスデータの測定ポイント属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体の測定ポイントに対応するバイナリベクトルとの積の結果が1となる位置を位置1とし、位置1に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、「サブスクリプション条件4、サブスクリプション条件2」である。上記3つのサブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を[サブスクリプション条件2]のセットとして取得することができる。
【0121】
次に、統合サブスクリプション条件に対応する属性セットが第2の属性セットとマッチングされ、統合サブスクリプション条件に対応するユーザの数は、1人または2人以上であり得る。IoTの環境では、異なるユーザが異なるデバイスデータにマッチングするように異なるサブスクリプション条件を同時に入力してもよく、異なるユーザが同じデバイスデータにマッチングするように同じサブスクリプション条件を入力してもよい。更に、異なるユーザによって入力されたサブスクリプション条件は、ユーザのアカウントに対応してもよい。従って、データデバイスの属性セットと統合サブスクリプション条件に対応する属性セットとの間のマッチング結果がマッチングの成功を示す場合に、サブスクリプションサーバは、異なるサブスクリプション条件に対応する1つまたは複数のアカウントに従って、対応するアカウントによって示されるクライアントにデバイスデータを送信することができる。
【0122】
要約すると、本開示の実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法では、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとをマッチングし、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
【0123】
図10を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための装置のブロック図が示されている。この装置は、図7または図8および対応する実施形態に示される方法のステップの全てまたは一部を実装するソフトウェアの形式のデータ照合サーバの全てまたは一部として実施され得る。図10に示すように、この装置は、第1の解析モジュール1010と、取得モジュール1020と、第2の解析モジュール1030と、ブルームフィルタリングモジュール1040と、停止モジュール1050と、リターンモジュール1060とを含み得る。
【0124】
第1の解析モジュール1010は、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットを得るように構成され、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれる。
【0125】
取得モジュール1020は、デバイスデータを取得するように構成され、ここで、デバイスデータは、サブスクリプションサーバに記憶されている。
【0126】
第2の解析モジュール1030は、デバイスデータを解析して第2の属性セットを得るように構成され、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
【0127】
ブルームフィルタリングモジュール1040は、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルーム・フィルタリングを実行するように構成される。
【0128】
停止モジュール1050は、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成される。
【0129】
リターンモジュール1060は、デバイスデータを取得するステップに戻るように構成される。
【0130】
幾つかの実施形態において、ブルームフィルタリングモジュール1040は、第1の計算サブモジュールと、第2の計算サブモジュールとを含む。
【0131】
第1の計算サブモジュールは、第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成される。
【0132】
第2の計算サブモジュールは、第2の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成される。
【0133】
ここで、停止モジュール1050は、第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成される。
【0134】
幾つかの実施形態において、サブスクリプション条件の数が1つの場合、この装置は更に、第1の送信モジュールを含む。
【0135】
第1の送信モジュールは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータをクライアントに送信するように構成され、ここで、クライアントは、サブスクリプション条件を送信する端末である。
【0136】
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、この装置は更に、計算モジュールと、照合モジュールと、第2の送信モジュールとを含む。
【0137】
計算モジュールは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
【0138】
マッチングモジュールは、統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングすることによって、マッチング結果を取得するように構成される。
【0139】
第2の送信モジュールは、第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、デバイスデータをクライアントに送信するように構成される。
【0140】
幾つかの実施形態において、計算モジュールは、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
【0141】
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。
【0142】
要約すると、本開示の実施形態に関する、ソフトウェアの形式でサブスクリプションサーバの全部または一部として実装される、IoTにおけるサブスクリプションデータをプッシュするための装置では、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
【0143】
図11を参照すると、例示的な実施形態に関する、コンピュータデバイス1100の構造の概略図が示されている。コンピュータデバイスは、本開示の前述の解決策で述べたサブスクリプションサーバとして実装され得る。コンピュータデバイス1100は、中央処理装置(CPU)1101と、ランダムアクセスメモリ(RAM)1102および読み出し専用メモリ(ROM)1103を含むシステムメモリ1104と、システムメモリ1104および中央処理装置1101に接続されたシステムバス1105とを含む。コンピュータデバイス1100は更に、コンピュータ内のそれぞれのデバイス間の情報転送を容易にする基本入出力システム(I/Oシステム)1106と、オペレーティングシステム1113、アプリケーションプログラム1114、およびその他のプログラムモジュール1115を記憶した大容量記憶装置1107とを含む。
【0144】
基本入出力システム1106は、情報を表示するためのディスプレイ1108と、ユーザが情報を入力するためのマウスまたはキーボードなどの入力装置1109とを含む。ディスプレイ1108および入力装置1109は両方とも、システムバス1105に接続された入出力コントローラ1110を介してCPU1101に接続される。基本I/Oシステム1106は更に、キーボード、マウス、または電子スタイラスなどの複数の他のデバイスからの入力を受信および処理するための入出力コントローラ1110を含み得る。同様に、入出力コントローラ1110は更に、ディスプレイ画面、プリンタ、または他のタイプの出力デバイスへの出力を提供する。
【0145】
大容量記憶装置1107は、システムバス1105に接続された大容量記憶装置コントローラ(図示せず)によってCPU1101に接続される。大容量記憶装置1107および関連するコンピュータ可読媒体は、サーバ1100に不揮発性記憶装置を提供する。すなわち、大容量記憶装置1107は、ハードディスクまたはCD-ROM(Compact Disk Read-Only Memory)ドライブなどのコンピュータ可読媒体(図示せず)を含み得る。
【0146】
一般性を失うことなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術によって実装された、揮発性および不揮発性、並びに取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体には、RAM、ROM、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ、またはその他のソリッドステートストレージ技術、CD-ROM、DVD(Digital Versatile Disc)、またはその他の光ストレージデバイス、テープカセット、磁気テープ、ディスクストレージ、またはその他の磁気ストレージデバイスが含まれる。当業者は、コンピュータ記憶媒体が上記のものに限定されないことを理解するであろう。前述のシステムメモリ1104および大容量記憶装置1107は、まとめてメモリと呼ばれることがある。
【0147】
本開示の様々な実施形態によれば、コンピュータデバイス1100は更に、インターネットなどのネットワークを介してネットワークに接続されたリモートコンピュータによって操作され得る。すなわち、コンピュータデバイス1100は、システムバス1105に接続されたネットワークインターフェースユニット1111によってネットワーク1112に接続されてもよく、ネットワークインターフェースユニット1111によって他のタイプのネットワークまたはリモートコンピュータシステム(図示せず)に接続されてもよい。
【0148】
メモリは更に、1つまたは複数のプログラムを記憶しており、メモリに記憶された1つまたは複数のプログラムは、CPU1101によって実行されると、図7または図8に示した方法のステップの全部または一部をCPU1101に実行させる。
【0149】
当業者は、上記の1つまたは複数の実施例において、本開示の実施形態で説明された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせによって実装され得ることを理解するであろう。機能がソフトウェアで実装される場合、それらはコンピュータ可読媒体に記憶されてもよく、またはコンピュータ可読媒体上の1つまたは複数の命令またはコードとして送信されてもよい。コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ、ここで、通信媒体には、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体が含まれ、記憶媒体は、汎用または専用のコンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。
【0150】
本開示の一実施形態は、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体を更に提供する。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、IoTにおいてサブスクリプションデータをプッシュするための方法をコンピュータデバイスに実行させる。例えば、コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置などであり得る。
【0151】
本開示の他の実施形態は、明細書および本開示の実施を考慮すれば、当業者には明らかである。本開示は、本開示の一般原則に従った本開示の任意の変形、使用、または適応をカバーし、本明細書に開示されていない公知または一般的に使用される技術的手段を含むことを意図している。明細書および実施形態は、単なる例示として考慮されるべきであり、本開示の範囲および精神は、添付の特許請求の範囲に従うものである。
【0152】
本開示は、上記で説明し、添付の図面に示した正確な構造に限定されず、その範囲から逸脱することなく、様々な修正および変更を行うことができることを理解されたい。本開示の範囲は、添付の特許請求の範囲によってのみ限定されることを意図している。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
【国際調査報告】