(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-02
(45)【発行日】2022-05-13
(54)【発明の名称】データ同期方法、装置、コンピュータデバイス、およびコンピュータプログラム
(51)【国際特許分類】
G06F 16/182 20190101AFI20220506BHJP
G06F 21/62 20130101ALI20220506BHJP
【FI】
G06F16/182
G06F21/62 345
(21)【出願番号】P 2021505803
(86)(22)【出願日】2020-03-09
(86)【国際出願番号】 CN2020078348
(87)【国際公開番号】W WO2020187069
(87)【国際公開日】2020-09-24
【審査請求日】2021-02-02
(31)【優先権主張番号】201910196407.9
(32)【優先日】2019-03-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】李 茂材
(72)【発明者】
【氏名】王 宗友
(72)【発明者】
【氏名】▲藍▼ ▲虎▼
【審査官】原 秀人
(56)【参考文献】
【文献】特開2003-256469(JP,A)
【文献】特開2018-196097(JP,A)
【文献】特開2011-204178(JP,A)
【文献】米国特許第10061937(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
コンピュータデバイスが実行するデータ同期方法であって、
更新操作識別子及び前記更新操作識別子に対応するセンシティブフレーズが付けられているいずれかのトランザクションデータを受信するステップと、
前記いずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、前記ターゲットブロックにおける前記更新操作識別子及び前記センシティブフレーズを取得するステップと、
前記ターゲットブロックにおける前記更新操作識別子および前記センシティブフレーズに基づいて、センシティブフレーズデータベースを更新するステップと、
を含むことを特徴とするデータ同期方法。
【請求項2】
前記ターゲットブロックにおける前記更新操作識別子および前記センシティブフレーズに基づいて、センシティブフレーズデータベースを更新するステップは、
前記いずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、前記追加識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースに追加するステップ、または、
前記いずれかのトランザクションデータにおける更新操作識別子が削除識別子である場合、前記削除識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースから削除するステップ、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記いずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、前記追加識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースに追加するステップは、
前記いずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、前記追加識別子に対応するセンシティブフレーズに基づいて、前記センシティブフレーズデータベースを検索し、前記センシティブフレーズデータベースに前記追加識別子に対応するセンシティブフレーズが含まれていない場合、前記追加識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースに追加するステップ、を含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記ターゲットブロックにおける前記更新操作識別子及び前記センシティブフレーズを取得するステップは、
前記ターゲットブロックにおけるいずれかのトランザクションデータに監視識別子が付けられている場合、前記いずれかのトランザクションデータにおける前記更新操作識別子及び前記センシティブフレーズを取得するステップ、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記監視識別子に監視ノードデバイスの署名または監視ノードデバイスのアドレスが含まれている、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記方法は、
検索要求に付けられているブロック番号に基づいて、前記ブロックチェーンシステムのブロックチェーン上で前記ブロック番号に対応するブロックを決定するステップと、
前記ブロック番号に対応するブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズデータベースにおけるセンシティブフレーズと比較するステップと、
前記少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、前記第1トランザクションデータから、前記センシティブフレーズデータベースにおけるセンシティブフレーズをフィルタリングして、フィルタリング後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るステップであって、前記第1トランザクションデータが、前記センシティブフレーズデータベースにおけるいずれかのセンシティブフレーズを含むトランザクションデータであるステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記ブロック番号に対応するブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズデータベースにおけるセンシティブフレーズと比較するステップは、
前記センシティブフレーズデータベースにおける複数のセンシティブフレーズの重みの降順に従って、前記ブロックにおける少なくとも1つのトランザクションデータを前記複数のセンシティブフレーズと1対1で比較するステップであって、前記重みが、センシティブフレーズに対する追加操作が実行された回数に基づいて決定されたものであるステップ、を含む、
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、前記第1トランザクションデータから、前記センシティブフレーズデータベースにおけるセンシティブフレーズをフィルタリングして、フィルタリング後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るステップは、
前記少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、前記第1トランザクションデータから、前記センシティブフレーズデータベースにおけるセンシティブフレーズを削除し、削除後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るステップ、および、
前記少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、前記第1トランザクションデータにおけるセンシティブフレーズをターゲット警告フレーズに置換し、置換後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るステップ、のいずれか1項を含む、
ことを特徴とする請求項6に記載の方法。
【請求項9】
データ同期装置であって、
更新操作識別子及び前記更新操作識別子に対応するセンシティブフレーズが付けられているいずれかのトランザクションデータを受信する受信モジュールと、
前記いずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、前記ターゲットブロックにおける前記更新操作識別子及び前記センシティブフレーズを取得する取得モジュールと、
前記ターゲットブロックにおける前記更新操作識別子および前記センシティブフレーズに基づいて、センシティブフレーズデータベースを更新する更新モジュールと、
を備えることを特徴とする装置。
【請求項10】
前記更新モジュールは、
前記いずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、前記追加識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースに追加する追加ユニット、または、
前記いずれかのトランザクションデータにおける更新操作識別子が削除識別子である場合、前記削除識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースから削除する削除ユニット、を備える、
ことを特徴とする請求項9に記載の装置。
【請求項11】
前記追加ユニットは、
前記いずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、前記追加識別子に対応するセンシティブフレーズに基づいて、前記センシティブフレーズデータベースを検索し、前記センシティブフレーズデータベースに前記追加識別子に対応するセンシティブフレーズが含まれていない場合、前記追加識別子に対応するセンシティブフレーズを前記センシティブフレーズデータベースに追加する、
ことを特徴とする請求項10に記載の装置。
【請求項12】
前記取得モジュールは、
前記ターゲットブロックにおけるいずれかのトランザクションデータに監視識別子が付けられている場合、前記いずれかのトランザクションデータにおける前記更新操作識別子及び前記センシティブフレーズを取得する、
ことを特徴とする請求項9に記載の装置。
【請求項13】
前記装置は、
検索要求に付けられているブロック番号に基づいて、前記ブロックチェーンシステムのブロックチェーン上で前記ブロック番号に対応するブロックを決定する決定モジュールと、
前記ブロック番号に対応するブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズデータベースにおけるセンシティブフレーズと比較する比較モジュールと、
前記少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、前記第1トランザクションデータから、前記センシティブフレーズデータベースにおけるセンシティブフレーズをフィルタリングして、フィルタリング後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るフィルタリングモジュールであって、前記第1トランザクションデータが、前記センシティブフレーズデータベースにおけるいずれかのセンシティブフレーズを含むトランザクションデータであるフィルタリングモジュールと、をさらに備える、
ことを特徴とする請求項9に記載の装置。
【請求項14】
コンピュータ読み取り可能な命令が記憶されているメモリと、プロセッサとを備えるコンピュータデバイスであって、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行される場合、前記プロセッサに、
請求項1~8のいずれか1項に記載の方法におけるステップを実行させる、
ことを特徴とするコンピュータデバイス。
【請求項15】
請求項1~8のいずれか1項に記載の方法におけるステップを
コンピュータデバイスに実行させる、
ことを特徴とする
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2019年03月15日に中国特許局に出願された、出願番号が201910196407.9であり、出願名称が「データ同期方法、装置、コンピュータデバイス、および読み取り可能な記憶媒体」である中国特許出願の優先権を主張し、その全ての内容が参照することにより本願に組み込まれる。
【0002】
本願は、ブロックチェーン技術分野に関し、特に、データ同期方法、装置、コンピュータデバイス、および読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
ネットワーク技術の発展につれて、人々は、ブラウザを介してネットワーク上のデータを検索して情報を得ることができるが、一部のデータにセンシティブフレーズが含まれているため、ブラウザがインストールされたデバイスは、検索対象データをユーザに表示する際に、検索対象データにおけるセンシティブフレーズをフィルタリングし、フィルタリングされた検索対象データをユーザに表示することで、センシティブフレーズが大量に伝播されることを避ける。
【発明の概要】
【課題を解決するための手段】
【0004】
現在、ブラウザが搭載されているデバイスは、センシティブフレーズフィルタリングシステムによって、検索対象データにおけるセンシティブフレーズをフィルタリングすることができる。しかし、検索対象データをフィルタリングする必要があるたびに、ブラウザが搭載されているデバイスは、センシティブフレーズフィルタリングシステムによってフィルタリングを完成する必要があり、センシティブフレーズフィルタリングシステムからフィードバックされたフィルタリング結果を待つ必要もあり、そのため、このデバイスが待つ時間は長くなり、これにより、このデバイスがセンシティブフレーズをフィルタリングする効率は低くなり、これによって、センシティブフレーズデータベースを同期させる方法は、急務となっている。
【0005】
本願によって提供される各実施例に基づいて、データ同期方法、装置、コンピュータデバイス、および読み取り可能な記憶媒体が提供されている。
【0006】
コンピュータデバイスによって実行されるデータ同期方法であって、この方法は、
更新操作識別子及び前記更新操作識別子に対応するセンシティブフレーズが付けられているいずれかのトランザクションデータを受信するステップと、
前記いずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、前記ターゲットブロックにおける前記更新操作識別子及び前記センシティブフレーズを取得するステップと、
前記ターゲットブロックにおける前記更新操作識別子および前記センシティブフレーズに基づいて、センシティブフレーズデータベースを更新するステップと、を含む。
【0007】
データ同期装置であって、この装置は、
更新操作識別子及び前記更新操作識別子に対応するセンシティブフレーズが付けられているいずれかのトランザクションデータを受信する受信モジュールと、
前記いずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、前記ターゲットブロックにおける前記更新操作識別子及び前記センシティブフレーズを取得する取得モジュールと、
前記ターゲットブロックにおける前記更新操作識別子および前記センシティブフレーズに基づいて、センシティブフレーズデータベースを更新する更新モジュールと、を備える。
【0008】
コンピュータ読み取り可能な命令が記憶されている不揮発性記憶媒体であって、前記コンピュータ読み取り可能な命令が1つまたは複数のプロセッサによって実行される場合、1つまたは複数のプロセッサに、データ同期方法におけるステップを実行させる。
【0009】
コンピュータ読み取り可能な命令が記憶されているメモリと、プロセッサとを備えるコンピュータデバイスであって、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行される場合、前記プロセッサに、データ同期方法におけるステップを実行させる。
【図面の簡単な説明】
【0010】
本願の1つまたは複数の実施例の詳細は、以下の図面および説明に記載されている。本願の他の特徴、目的および利点は、明細書、図面および特許請求の範囲から明らかになる。
【0011】
本願の実施例における技術的案をより明確に説明するために、以下では、実施例の説明において必要とされる図面を簡単に紹介し、明らかに、以下の説明における図面は、本願のいくつかの実施例にすぎず、当業者にとっては、創造的な労働を行わない前提で、これらの図面から他の図面を得ることもできる。
【0012】
【
図1】本願の実施例によって提供されるブロックチェーンシステムの概略図である。
【
図2】本願の実施例によって提供されるデータ同期方法のフローチャートである。
【
図3】本願の実施例によって提供されるデータ同期に基づくデータ検索方法のフローチャートである。
【
図4】本願の実施例によって提供されるデータ同期装置の概略構成図である。
【
図5】本願の実施例によって提供されるノードデバイスの概略構成図である。
【発明を実施するための形態】
【0013】
本願の目的、技術的案及び利点をより明確にするために、以下、図面及び実施例に関連して、本願をより詳細に説明する。本明細書に記載された具体的な実施例は、本願を解釈するためにのみ使用され、本願を限定するために使用されていない、ということを理解されたい。
【0014】
図1は、本願の実施例によって提供されるブロックチェーンシステムの概略図である。
図1を参照して、このブロックチェーンシステムは、少なくとも2つのノードデバイスから構成される。ここで、この少なくとも2つのノードデバイスは、異なるユーザに属することができる。いずれのノードデバイスも、トランザクションデータを生成または受信し、少なくとも1つのトランザクションデータをパッケージ化して、ブロックを生成し、コンセンサスに達したブロックを記憶することができる。ここで、トランザクションデータは、任意のタイプのデータであってもよく、トランザクションデータに任意のコンテンツが含まれてもよい。ブロックチェーンシステムにおけるいずれかのノードデバイスによって受信または生成された任意のデータは、トランザクションデータと呼ばれることができる。
【0015】
ブロックチェーンシステムにおける各ノードデバイスのブロックチェーンシステムにおける役割は異なることができ、監視ノードデバイスと一般ノードデバイスに分けることができる。ここで、監視ノードデバイスは、監視側として、このブロックチェーンシステムにおいてセンシティブフレーズが含まれているトランザクションデータを配布し、これにより、他のノードデバイスは、監視ノードデバイスによって配布されたセンシティブフレーズに従って、ローカルのセンシティブフレーズデータベースを更新することができる。
【0016】
いずれのノードデバイスも、ユーザに検索サービスを提供することができ、これにより、ユーザは、ブロックチェーンシステムにおけるブロックチェーン上の各ブロックにおけるトランザクションデータを任意のノードデバイス上で検索することができ、任意のノードデバイスは、検索対象ブロックにおけるトランザクションデータをユーザに表示する際に、ローカルのセンシティブフレーズデータベースにおけるセンシティブフレーズに基づいて、検索対象ブロックにおけるトランザクションデータ中のセンシティブフレーズをフィルタリングし、最後に、フィルタリングされたトランザクションデータをユーザに表示することができる。
【0017】
以上は、ブロックチェーンシステム及びノードデバイスに対する説明であり、ブロックチェーンシステムにおけるノードデバイスが監視ノードによって配布されたセンシティブフレーズをローカルのセンシティブフレーズデータベースに記憶するプロセスを具現するために、
図2を参照して、
図2は、本願の実施例によって提供されるデータ同期方法のフローチャートであり、この方法は、以下のステップを含み、即ち、
201で、監視ノードデバイスは、更新操作識別子及びこの更新操作識別子に対応するセンシティブフレーズが含まれているいずれかのトランザクションデータを生成する。
【0018】
この監視ノードデバイスは、このブロックチェーンシステムにおける、監視権限を有する任意のノードデバイスであってもよい。この更新操作識別子は、ノードデバイスが実行する必要のある更新操作を示すために使用され、この更新操作識別子が、追加識別子であってもよく、削除識別子であってもよい。ここで、追加識別子は、センシティブフレーズデータベースにセンシティブフレーズを追加することを示し、削除識別子は、センシティブフレーズデータベースにおけるセンシティブフレーズを削除することを示す。
【0019】
一つの可能な実施形態では、この更新操作識別子は、任意の文字列であってもよく、別の形式で表示してもよいし、更新操作識別子を表すための異なる文字列は、異なる更新操作を表すことができる。例えば、Addは、追加操作を表し、Deleteは、削除操作を表す。
【0020】
このブロックチェーンシステムにおけるいずれかのノードデバイスに、センシティブフレーズを記憶するためのセンシティブフレーズデータベースが配置されており、このセンシティブフレーズは、任意のフレーズであってもよく、本願の実施例では、このセンシティブフレーズの内容が限定されない。
【0021】
この監視ノードデバイスがいずれかのトランザクションデータ生成要求を受信する場合、この監視ノードデバイスは、本ステップ201を実行し、ここで、いずれかのトランザクションデータ生成要求は、センシティブフレーズが含まれているいずれかのトランザクションデータの生成を要求するために使用される。一つの可能な実施形態では、監視ノードデバイスは、更新操作識別子及びこの更新操作識別子に対応するセンシティブフレーズを含むいずれかのトランザクションデータ生成要求を受信し、この監視ノードデバイスは、このいずれかのトランザクションデータ生成要求における更新操作識別子及びこの更新操作識別子に対応するセンシティブフレーズに基づいて、このブロックチェーンシステムにおけるトランザクションデータのフォーマット要件に合致するいずれかのトランザクションデータを生成する。
【0022】
監視ノードデバイスがこのいずれかのトランザクションデータ生成要求を受信することは、ユーザの記憶操作によってトリガされることができる。例えば、ユーザが監視ノードデバイスのユーザインターフェースで更新オプションを選択し、この更新オプションに対応するフレーズの位置にセンシティブフレーズを入力し、そして、ユーザは、記憶オプションをクリックすることで、そのいずれかのトランザクションデータ生成要求をトリガすることができる。
【0023】
このいずれかのトランザクションデータは、このトランザクションデータが監視ノードデバイスによって生成されることを示すための監視識別子をさらに含むようにしてよい。ここで、監視識別子は、監視ノードデバイスの署名または監視ノードデバイスのアドレスを含む。監視ノードデバイスの署名は、秘密鍵を使用して監視ノードデバイスによってこのいずれかのトランザクションデータに追加される署名であってもよく、監視ノードデバイスのアドレスは、監視ノードデバイスのインターネットプロトコル(IP:internet protocol)アドレスであってもよく、また、この監視ノードのアイデンティティを代表する他のアドレスであってもよいし、本願の実施例では、この監視識別子が具体的に限定されない。
【0024】
一つの可能な実施形態では、この監視ノードデバイスは、自分のアドレスをこのいずれかのトランザクションデータの発信元アドレスフィールドに追加し、この監視ノードデバイスは、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズをこのいずれかのトランザクションデータの備考情報フィールドに追加する。
【0025】
一つの可能な実施形態では、この監視ノードデバイスは、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズをこのいずれかのトランザクションデータの備考情報フィールドに追加し、この監視ノードデバイスの秘密鍵を使用して、備考情報が追加された、いずれかのトランザクションデータに署名を追加する。
【0026】
この監視ノードデバイスは、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズをターゲットトランザクションデータの備考情報フィールドに追加する際に、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズがこの備考情報の同じ行にあることを可能にすることができ、これにより、この更新操作識別子がこのセンシティブフレーズに対応する。Addを追加識別子とし、Deleteを削除識別子とし、表の形式で備考情報を示すことを例として、表1に示す備考情報を参照して、表1からわかるように、1行目のセンシティブフレーズ1-nは、いずれも、追加識別子Addに対応しており、2行目のセンシティブフレーズ1-nは、いずれも、削除識別子Deleteに対応している。
【0027】
【0028】
説明すべきものとして、本願の実施例では、備考情報の形及び備考情報におけるセンシティブフレーズの個数が具体的に限定されない。また、この監視ノードデバイスは、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズを、このいずれかのトランザクションデータの他のフィールドに追加してもよいし、本願の実施例では、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズの、このトランザクションデータのうちの位置が限定されない。
【0029】
説明すべきものとして、この監視ノードデバイスは、更新操作識別子に対応するセンシティブフレーズをさらに暗号化することができ、一つの可能な実施形態では、この監視ノードデバイスは、予め設定された暗号化アルゴリズムによって、更新操作識別子に対応するセンシティブフレーズを暗号化し、暗号化されたセンシティブフレーズを得、この監視ノードデバイスは、暗号化されたセンシティブフレーズおよび更新操作識別子に基づいて、このいずれかのトランザクションデータを生成する。本願の実施例では、この予め設定された暗号化アルゴリズムが具体的に限定されない。
【0030】
このようにして、このいずれかのトランザクションデータがブロックチェーン上に記憶された後、復号アルゴリズムを知らない一般ユーザは、このいずれかのトランザクションデータにおける、暗号化されたセンシティブフレーズを復号することができず、これによって、このいずれかのトランザクションデータにおけるセンシティブフレーズが大幅に伝播されることを避けることができる。
【0031】
202で、監視ノードデバイスは、このいずれかのトランザクションデータをブロックチェーンシステムにおいてブロードキャストする。
【0032】
本ステップ202は、この監視ノードデバイス以外の他のノードデバイスに、このいずれかのトランザクションデータを受信できるようにすることができる。
【0033】
203で、ノードデバイスは、このいずれかのトランザクションデータを受信する。
【0034】
ブロックチェーンにおけるすべてのノードデバイスは、いずれも、このいずれかのトランザクションデータを受信することができる、ということを理解されたい。
【0035】
204で、このノードデバイスは、このいずれかのトランザクションデータを検証する。
【0036】
このノードデバイスは、ブロックチェーンシステムにおけるこの監視ノードデバイス以外のノードデバイスであり、このノードデバイスは、いずれかのトランザクションデータに付けられている更新操作識別子を検証することにより、このいずれかのトランザクションデータを検証することができ、このいずれかのトランザクションデータに付けられている更新操作識別子の検証が合格した場合、このいずれかのトランザクションデータの検証は合格し、そうでなければ、検証は合格しない。
【0037】
一部のブロックチェーンノードデバイスは、このいずれかのトランザクションデータを検証しておらず、このいずれかのトランザクションデータをブロックにパッケージ化していない可能性がある、ということを理解されたい。
【0038】
一つの可能な実施形態では、このいずれかのトランザクションデータに付けられている更新操作識別子の形式検証が合格した場合、このいずれかのトランザクションデータの検証も合格し、そうでなければ、検証は合格しない。例えば、Addを追加識別子とし、Deleteを削除識別子として、このいずれかのトランザクションデータに付けられている更新操作識別子がAddまたはDeleteである場合、このいずれかのトランザクションデータの検証は合格し、そうでなければ、検証は合格しない。
【0039】
このいずれかのトランザクションデータに監視識別子が含まれている場合、このノードデバイスは、このいずれかのトランザクションデータに付けられている監視識別子を検証することにより、このいずれかのトランザクションデータを検証することができ、このいずれかのトランザクションデータに付けられている監視識別子の検証が合格した場合、このいずれかのトランザクションデータの検証は合格し、そうでなければ、検証は合格しない。
【0040】
このノードデバイスは、以下の方式1~2のいずれかの1つで、このターゲットトランザクションデータにおける監視識別子を検証することができる。
【0041】
方式1で、このノードデバイスは、このノードデバイス上に配置されたブロックチェーンにおけるジェネシスブロックに記憶されている、監視ノードデバイスの監視情報によって、このいずれかのトランザクションデータに付けられている監視識別子を検証する。
【0042】
この監視情報は、このブロックチェーンシステムにおける、すべての監視ノードデバイスの公開鍵またはすべての監視ノードデバイスのアドレスを含み、監視権限を有するノードデバイスのアイデンティティを示すために使用される。このブロックチェーンシステムの初期化段階では、監視ノードデバイスの監視情報がジェネシスブロックに記憶されることができ、これにより、このブロックチェーンシステムにおける任意のノードデバイスは、いずれも、どのノードデバイスが監視権限を有するかを知ることができる。
【0043】
一つの可能な実施形態では、このいずれかのトランザクションデータに付けられている監視識別子が監視ノードデバイスの署名であり、また、この監視ノードデバイスの公開鍵がこのノードデバイスに配置されたブロックチェーンのジェネシスブロックに記憶されている場合、この監視識別子の検証は合格し、そうでなければ、検証は合格しない。
【0044】
一つの可能な実施形態では、このいずれかのトランザクションデータに付けられている監視識別子が監視ノードのアドレスであり、また、この監視デバイスのアドレスがこのノードデバイスに配置されたブロックチェーンのジェネシスブロックに記憶されている場合、この監視識別子の検証は合格し、そうでなければ、検証は合格しない。
【0045】
方式2で、このノードデバイスは、第1コントラクトを実行することにより、このいずれかのトランザクションデータにおける監視識別子を検証する。
【0046】
この第1コントラクトは、ブロックチェーンシステムにおける、監視識別子を検証するためのスマートコントラクトであり、このノードデバイスは、監視識別子が付けられているいずれかのトランザクションデータを受信したとき、このノードデバイスが第1コントラクトを実行するようにトリガされ、これにより、このいずれかのトランザクションデータに付けられている監視識別子を検証することができる。
【0047】
一つの可能な実施形態では、このいずれかのトランザクションデータにおける監視識別子は、監視ノードデバイスの署名であり、また、この第1コントラクトにこの監視ノードデバイスの公開鍵が記憶されている場合、この監視識別子の検証は合格し、そうでなければ、検証は合格しない。
【0048】
一つの可能な実施形態では、このいずれかのトランザクションデータにおける監視識別子は監視ノードのアドレスであり、また、この第1コントラクトにこの監視ノードデバイスのアドレスが記憶されている場合、この監視識別子の検証は合格し、そうでなければ、検証は合格しない。
【0049】
ブロックチェーンシステムにおけるノードデバイスは、監視識別子によりこのいずれかのトランザクションデータを検証し、これにより、ブロックチェーン上での、更新操作識別子および更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータはすべて監視ノードデバイスによって生成され、これによって、このブロックチェーンシステムにおける、更新操作識別子および更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータの信頼性が確保される。
【0050】
205で、このいずれかのトランザクションデータがブロックチェーンシステムにおいてコンセンサスに達した場合、このノードデバイスは、このいずれかのトランザクションデータを含むターゲットブロックをこのブロックチェーンシステムのブロックチェーンに記憶する。
【0051】
オプションとして、ステップ204の後に、ステップ205があり得る。ステップ205は、ステップ204を実行したノードデバイスのみが実行される、ということを理解されたい。ブロックチェーンシステムにおける多数のノードデバイスがこのいずれかのトランザクションデータに対する検証に合格した場合、このいずれかのトランザクションデータがこのブロックチェーンシステムにおいてコンセンサスに達したと考えられる。一つの可能な実施形態では、本ステップ205は、以下のステップ205A~205Bで示すプロセスによって実現されてもよい。
【0052】
ステップ205Aで、このブロックチェーンシステムにおける複数のノードデバイスがこのいずれかのトランザクションデータに対する検証に合格した場合、このノードデバイスは、このいずれかのトランザクションデータをターゲットブロックにパッケージ化する。
【0053】
いくつかの実施例では、ブロックチェーンシステムにおけるノードデバイスは、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータをターゲットブロックにパッケージ化する際に、ブロックチェーンシステムにおけるノードデバイスがターゲット識別子に基づいてブロックチェーン上でターゲットブロックを取得するように、このターゲットブロックにターゲット識別子を追加することができる。本願の実施例では、このターゲット識別子が具体的に限定されない。
【0054】
ステップ205Bで、このブロックチェーンシステムにおける複数のノードデバイスがこのターゲットブロックに対してコンセンサスに達した後、このノードデバイスは、このターゲットブロックをこのノードデバイスによって配置されたブロックチェーンに記憶する。
【0055】
ブロックチェーンシステムにおける複数のノードデバイスがいずれも、このターゲットブロックに対する検証に合格した後、この複数のノードデバイスは、このターゲットブロックに対してコンセンサスに達した。このブロックチェーンシステムにおける任意のノードデバイスは、ブロック番号、ルートハッシュ値、およびブロックにおけるトランザクションデータの数などを含むターゲットブロックの属性により、このブロックを検証することができる。
【0056】
一つの可能な実施形態では、このターゲットブロックの属性がチェーンへの配置条件に該当している場合、このノードデバイスは、このターゲットブロックに対する検証に合格し、そうでなければ、検証に合格しない。例えば、ターゲットブロックのブロック番号がこのノードデバイスによって配置されたブロックチェーン上の最後のブロックのブロック番号より1大きい場合、このノードデバイスは、このターゲットブロックに対する検証に合格する。
【0057】
206で、このいずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、ノードデバイスは、ターゲットブロックにおける更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズを取得する。
【0058】
ブロックチェーンにおけるすべてのノードデバイスはいずれもこのステップ206を実行することができる、ということを理解されたい。ノードデバイスは、ターゲットブロックに付けられている更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズを取得することができる。一つの可能な実施形態では、本ステップ206は、以下の方式3~4のいずれかの1つで実現されてもよい。
【0059】
方式3で、ノードデバイスは、このターゲットブロックにおける少なくとも1つのトランザクションデータを取得し、このターゲットブロックにおけるいずれかのトランザクションデータに更新操作識別子が付けられている場合、このノードデバイスは、このいずれかのトランザクションデータのデータコンテンツから、この更新操作識別子及びこのセンシティブフレーズを取得する。
【0060】
一つの可能な実施形態では、このノードデバイスは、このターゲットブロックにおけるすべてのトランザクションデータの備考情報フィールドのコンテンツを検出することができ、このターゲットブロックにおけるいずれかのトランザクションデータの備考情報フィールドに更新操作識別子が検出された場合、このノードデバイスは、このいずれかのトランザクションデータの備考情報フィールドにおけるデータコンテンツをこの更新操作識別子およびコンテンツセンシティブフレーズとして取得する。
【0061】
方式4で、このノードデバイスは、このターゲットブロックにおける少なくとも1つのトランザクションデータを取得し、このターゲットブロックにおけるいずれかのトランザクションデータに監視識別子が付けられている場合、このノードデバイスは、このいずれかのトランザクションデータのデータコンテンツから、この更新操作識別子及びこのセンシティブフレーズを取得する。
【0062】
一つの可能な実施形態では、このノードデバイスは、このターゲットブロックにおける全てのトランザクションデータの発信元アドレスを検索し、ジェネシスブロックに記憶されている監視ノードデバイスのアドレスにいずれかのトランザクションデータの発信元アドレスが検索された場合、このノードデバイスは、このいずれかのトランザクションデータのデータコンテンツから、この更新操作識別子及びこのセンシティブフレーズを取得するようにしてよい。
【0063】
一つの可能な実施形態では、このノードデバイスは、このターゲットブロックにおけるすべてのトランザクションデータの署名を検索し、ジェネシスブロックに記憶されている監視ノードデバイスの公開鍵に対応するいずれかのトランザクションデータの署名が検索された場合、ノードデバイスは、このいずれかのトランザクションデータのデータコンテンツから、この更新操作識別子およびこのセンシティブフレーズを取得するようにしてよい。
【0064】
ノードデバイスは、まず、このノードデバイスによって配置されたブロックチェーン上でターゲットブロックを取得する必要があり、ターゲットブロックで更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズを取得することができる。このノードデバイスは、以下の方式5及び6で、ブロックチェーン上のターゲットブロックを取得することができる。
【0065】
方式5で、ノードデバイスによって配置されたブロックチェーン上に1つのブロックを記憶するたびに、このブロックにおけるトランザクションデータを検出し、このブロックにおけるいずれかのトランザクションデータに更新操作識別子または監視識別子が付けられている場合、このノードデバイスは、このブロックをターゲットブロックとして取得する。
【0066】
このノードデバイスは、ブロックチェーン上のブロックをリアルタイムに検出しなくてもよい。一つの可能な実施形態では、このノードデバイスは、予め設定された時間が経過したごとに、この予め設定された時間内にこのノードデバイスによって配置されたブロックチェーン上に新たに記憶された少なくとも1つのブロックにおける少なくとも1つのトランザクションデータを検出し、いずれかのブロックにおけるいずれかのトランザクションデータに更新操作識別子または監視識別子が付けられている場合、このブロックをターゲットブロックとして取得する。例えば、ノードデバイスは、1時間が経過したごとに、この1時間以内にこのノードデバイスによって配置されたブロックチェーン上に新たに記憶された少なくとも1つのブロックにおける少なくとも1つのトランザクションデータを検出し、いずれかのブロックにおけるいずれかのトランザクションデータに更新操作識別子または監視識別子が付けられている場合、このブロックをターゲットブロックとして取得する。
【0067】
方式6で、ノードデバイスは、ブロックチェーン上のいずれかのブロック内にターゲット識別子が付けられていることを検出したとき、このブロックをターゲットブロックとして取得し、このターゲット識別子は、ブロック内に更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズが付けられていることを示すものである。
【0068】
207で、ノードデバイスは、このターゲットブロックにおけるこの更新操作識別子およびこのセンシティブフレーズに基づいて、センシティブフレーズデータベースを更新する。
【0069】
このいずれかのトランザクションデータにおける更新操作識別子は、追加識別子であってもよく、削除識別子であってもよいため、異なる更新操作識別子に対して、このノードデバイスは、センシティブフレーズをセンシティブフレーズデータベースに更新する方法が異なる。
【0070】
一つの可能な実施形態では、このいずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、このノードデバイスは、この追加識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースに追加する。ステップ201における表1を例にして、表1の1行目のセンシティブフレーズ1~nがいずれも追加識別子Addに対応している場合、このノードデバイスは、表1の1行目のセンシティブフレーズ1~nをこのセンシティブフレーズデータベースに追加する。
【0071】
このノードデバイスがセンシティブフレーズデータベースを更新する前に、センシティブフレーズデータベースに追加識別子に対応するセンシティブフレーズが存在するかもしれないが、追加識別子に対応するセンシティブフレーズが存在しないかもしれない。センシティブフレーズデータベースに追加識別子に対応するセンシティブフレーズが存在しない場合、このノードデバイスは、追加識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースに追加する。
【0072】
一つの可能な実施形態では、このいずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、このノードデバイスは、追加識別子に対応するセンシティブフレーズに基づいて、このセンシティブフレーズデータベースを検索し、このセンシティブフレーズデータベースにこの追加識別子に対応するセンシティブフレーズが含まれていない場合、このノードデバイスは、この追加識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースに追加し、このセンシティブフレーズデータベースにこの追加識別子に対応するセンシティブフレーズが含まれている場合、このノードデバイスは、追加操作を実行しなくてもよい。
【0073】
一つの可能な実施形態では、このいずれかのトランザクションデータにおける更新操作識別子が削除識別子である場合、このノードデバイスは、このセンシティブフレーズデータベースから、この削除識別子に対応するセンシティブフレーズを削除する。また、ステップ201における表1を例にして、表1の2行目のセンシティブフレーズ1~nがいずれも削除識別子Deleteに対応している場合、このノードデバイスは、センシティブフレーズデータベースから、表1の2行目のセンシティブフレーズ1~nを削除する。
【0074】
このノードデバイスは、センシティブフレーズの感度を表すように、このセンシティブフレーズデータベースにおけるセンシティブフレーズに対して重みを設定することができ、このセンシティブフレーズの重みが大きいほど、このセンシティブフレーズの感度が高くなり、このセンシティブフレーズの重みが小さいほど、このセンシティブフレーズの感度が低くなる。センシティブフレーズデータベースに追加識別子に対応するセンシティブフレーズが存在している場合、このノードデバイスは、このセンシティブフレーズデータベースに追加識別子に対応するセンシティブフレーズの重みを増加させる。
【0075】
センシティブフレーズの重みは、センシティブフレーズに対する追加操作が実行された回数に基づいて決定されてもよく、一つの可能な実施形態では、いずれかのセンシティブフレーズについて、このノードデバイスは、このセンシティブフレーズに対応する追加識別子を取得するたびに、このノードデバイスは、このセンシティブフレーズの重みを予め設定された値に増加させる。
【0076】
説明すべきものとして、このノードデバイスがターゲットブロックで取得したセンシティブフレーズが、暗号化されたセンシティブフレーズである場合、このノードデバイスは、予め設定された復号アルゴリズムに従って、この暗号化されたセンシティブフレーズを復号し、復号されたセンシティブフレーズを得、その後、このノードデバイスは、復号されたセンシティブフレーズをセンシティブフレーズデータベースに更新する。ここで、この予め設定された復号アルゴリズムは、このセンシティブフレーズを暗号化するための予め設定された暗号化アルゴリズムに対応する。
【0077】
本願の実施例によって提供される方法によれば、ブロックチェーンシステムにおけるノードデバイスがセンシティブフレーズが付けられているいずれかのトランザクションデータに対する検証に合格し、また、このトランザクションデータを含むターゲットブロックがブロックチェーン上に記憶された場合、このブロックチェーンシステムにおけるいずれかのノードデバイスは、このブロックチェーンシステムのブロックチェーンから、ターゲットブロックにおけるセンシティブフレーズを取得することができ、このセンシティブフレーズに対応する更新操作識別子により、自分のセンシティブフレーズデータベースを更新し、これにより、いずれかのノードデバイスにおいて、センシティブフレーズデータベースを同期して更新することができるようにする。また、ブロックチェーンシステムにおけるノードデバイスは、監視識別子によりこのいずれかのトランザクションデータを検証し、これにより、ブロックチェーン上の、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータがすべて監視ノードデバイスによって生成され、これによって、このブロックチェーン上の、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータの信頼性が確保される。また、センシティブフレーズデータベースにおけるセンシティブフレーズに対して重みが設定されており、センシティブフレーズの感度は、センシティブフレーズの重みによって表され、これにより、センシティブフレーズの感度は、定量化されたデータによって直感的に表され、これによって、その後に、データ検索などの操作がセンシティブフレーズデータベースに基づいて行われる。また、このノードデバイスが1つのターゲットブロックを記憶するたびに、このターゲットブロックから更新操作識別子及びこの更新操作識別子に対応するセンシティブフレーズを取得することができ、これにより、各ノードデバイスは、自分のセンシティブフレーズデータベースをリアルタイムに更新することができ、さらに、センシティブフレーズデータベースの更新が遅れたため、このノードデバイスが検索対象ブロックのブロックコンテンツに対して正確にフィルタリングできない場合が現れる、ということが回避されることができる。また、このいずれかのトランザクションデータにおけるセンシティブフレーズが暗号化されたセンシティブフレーズである場合、復号アルゴリズムを知らない一般ユーザにとっては、このいずれかのトランザクションデータにおける暗号化されたセンシティブフレーズを復号することができず、これにより、このいずれかのトランザクションデータにおけるセンシティブフレーズが大量に伝播されることが回避されることができる。
【0078】
図2のノードデバイスは、センシティブフレーズデータベースをローカルに記憶しており、これにより、ノードデバイスは、センシティブフレーズデータベースに従って、検索対象ブロックのブロックコンテンツをフィルタリングすることができ、ノードデバイスがセンシティブフレーズデータベースに基づいてデータ検索を行うプロセスをさらに具体化するために、
図3を参照して、
図3は、本願の実施例によって提供される、データ同期に基づくデータ検索方法のフローチャートであり、この方法は、具体的に、以下のステップを含み、即ち、
301で、ノードデバイスは、検索対象ブロックのブロック番号が付けられている検索要求を受信する。
【0079】
このノードデバイスがこのブロックチェーンシステムにおけるいずれかのノードデバイスである場合、このブロック番号は、このブロックチェーンシステムによって配置されたブロックチェーン上のブロックの番号であってもよく、番号はブロックの高さであってもよいし、例えば、ブロック001、ブロック002などである。
【0080】
302で、検索要求に付けられているブロック番号に基づいて、このノードデバイスは、ブロックチェーンシステムのブロックチェーン上で、このブロック番号に対応するブロックを決定する。
【0081】
このノードデバイスは、このノードデバイスによって配置されたブロックチェーン上の各ブロックのブロック番号を検索することにより、検索要求に付けられているブロック番号に対応するブロックを決定し、一つの可能な実施形態では、このノードデバイスによって配置されたブロックチェーン上で、検索要求に付けられているブロック番号と同じブロック番号が検索された場合、検査されたブロック番号が位置するブロックを第1ターゲットブロックとして取得し、この第1ターゲットブロックは、このノードデバイスが決定する必要のあるブロックである。
【0082】
303で、このノードデバイスは、決定されたブロックを解析し、このブロックにおける少なくとも1つのトランザクションデータを取得する。
【0083】
304で、このノードデバイスは、このブロック番号に対応するブロックにおける少なくとも1つのトランザクションデータを、センシティブフレーズデータベースにおけるセンシティブフレーズと比較する。
【0084】
このノードデバイスは、センシティブフレーズの重みに基づいて比較することができ、一つの可能な実施形態では、このノードデバイスは、このセンシティブフレーズデータベースにおける複数のセンシティブフレーズの重みの降順に従って、このブロックにおける少なくとも1つのトランザクションデータを、この複数のセンシティブフレーズと1対1で比較し、この重みは、センシティブフレーズに対する追加操作が実行された回数に基づいて決定されたものである。
【0085】
このノードデバイスは、比較を行う前に、センシティブフレーズデータベースにおける各センシティブフレーズの重みを取得し、その後、各センシティブフレーズの重みを降順で並べ替え、最後に、このノードデバイスは、この順序に従って、並べ替えられたセンシティブフレーズとこのブロックにおける少なくとも1つのトランザクションデータとを比較する。
【0086】
例えば、センシティブフレーズライブラリに3つのセンシティブフレーズがあり、センシティブフレーズAの重みは1であり、センシティブフレーズBの重みは2であり、センシティブフレーズCの重みは3であり、このノードデバイスは、このセンシティブフレーズライブラリにおけるセンシティブフレーズを下記のように並べ替え、つまり、センシティブフレーズC、センシティブフレーズB、およびセンシティブフレーズAである。そうすると、まず、このノードデバイスは、このブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズCと比較し、次に、このブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズBと比較し、最後に、このブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズAと比較する。
【0087】
305で、この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、このノードデバイスは、このセンシティブフレーズデータベースにおけるいずれかのセンシティブフレーズを含むトランザクションデータである第1トランザクションデータから、このセンシティブフレーズデータベースにおけるセンシティブフレーズをフィルタリングし、フィルタリング後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得る。
【0088】
このノードデバイスは、センシティブフレーズの削除または置換によって、トランザクションデータにおけるセンシティブフレーズをフィルタリングすることができ、そうすると、本ステップ304は、以下の方式7および8のいずれかの1つで実現されてもよい。
【0089】
方式7で、この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、このノードデバイスは、この第1トランザクションデータから、このセンシティブフレーズデータベースにおけるセンシティブフレーズを削除し、削除後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得る。
【0090】
例えば、第1トランザクションデータにセンシティブフレーズデータベースにおけるセンシティブフレーズAが付けられており、このノードデバイスは、この第1トランザクションデータにおけるセンシティブフレーズAを削除し、最後に、得られた検索フィードバック情報における第1トランザクションデータは、削除後の第1トランザクションデータである。
【0091】
方式8、この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、このノードデバイスは、前記第1トランザクションデータにおけるセンシティブフレーズをターゲット警告フレーズに置換し、置換後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得る。
【0092】
このターゲット警告フレーズは、例えば「******」または「ここの情報はセンシティブな情報です」などのような任意の文字列で表されてもよいし、センシティブフレーズを示すために使用され、本願の実施例では、ターゲット警告フレーズの内容が具体的に限定されない。
【0093】
例えば、第1トランザクションデータにセンシティブフレーズデータベースにおけるセンシティブフレーズAが付けられており、このノードデバイスは、この第1トランザクションデータにおけるセンシティブフレーズAをセンシティブフレーズ「******」に置換し、最後に得られた検索フィードバック情報における第1トランザクションデータは、置換後の第1トランザクションデータである。
【0094】
このノードデバイスは、ユーザが閲覧するために、このノードデバイスの表示画面に、この検索フィードバック情報を表示するようにしてもよい。本願の実施例では、この検索フィードバック情報を表示する具体的な形態が具体的に限定されない。
【0095】
説明すべきものとして、上記のプロセスは、このノードデバイスがローカルのセンシティブフレーズデータベースに基づいて、検索対象ブロックにおけるセンシティブフレーズをフィルタリングするプロセスであり、一つの可能な実施形態では、このノードデバイスは、ブロックチェーンシステムにおけるスマートコントラクトを実行することにより、検索対象ブロックにおけるセンシティブフレーズをフィルタリングすることもできる。本願の実施例では、検索対象ブロックにおけるセンシティブフレーズをフィルタリングするためのスマートコントラクトが具体的に限定されない。このスマートコントラクトは、他のノードデバイスによる維持を必要とせずに、監視権限を有するユーザによって維持されてもよい。
【0096】
本願の実施例によって提供される方法において、検索対象ブロックにおけるトランザクションデータとセンシティブフレーズデータベースにおけるセンシティブフレーズとを比較し、検索対象ブロックにおける、センシティブフレーズが付けられているトランザクションデータをフィルタリングし、これにより、このノードデバイスは、フィルタリングされたトランザクションデータをユーザに表示することができ、ブロックチェーンシステムにおける各ノードデバイスにセンシティブフレーズデータベースが記憶されており、これにより、このブロックチェーンシステムにおけるいずれかのノードデバイスは、いずれも、自身のセンシティブフレーズデータベースに基づいて、検索対象ブロックにおけるセンシティブフレーズをフィルタリングすることができ、これによって、ブロックチェーンにおけるセンシティブフレーズが大量に伝播されることが回避されることができる。また、ブロックチェーンシステムにおけるノードデバイスは、スマートコントラクトにより、検索対象ブロックにおけるセンシティブフレーズをフィルタリングするとき、他のノードデバイスによる維持を必要とせずに、監視権限を有するユーザだけがスマートコントラクトを維持すればよいし、これにより、他のノードデバイスのトラフィック負担を低減させることができ、また、このノードデバイスは、検索対象データをフィルタリングするとき、ローカルのセンシティブフレーズデータベースに基づいてフィルタリングすることのみが必要となり、大量の時間がかからず、ノードデバイスのフィルタリング効率を向上させる。
【0097】
上記のすべてのオプションの技術的案が採用されてもよく、本開示のオプションの実施例を形成する任意の組み合わせが採用されてもよいし、ここでは、説明を省略する。
【0098】
図4は、本願の実施例によって提供されるデータ同期装置の概略構成図であり、
図4を参照して、受信モジュール401と、取得モジュール402と、更新モジュール403とが含まれている。データ同期装置に含まれている各モジュールは、ソフトウェア、ハードウェア、またはこれらの組み合わせによって全部または一部で実現されてもよい。
【0099】
ここで、受信モジュール401は、取得モジュール402に接続され、更新操作識別子およびこの更新操作識別子に対応するセンシティブフレーズが付けられているいずれかのトランザクションデータを受信する。
【0100】
取得モジュール402は、更新モジュール403に接続され、このいずれかのトランザクションデータを含むターゲットブロックがブロックチェーンシステムのブロックチェーンに記憶されている場合、このターゲットブロックにおけるこの更新操作識別子及びこのセンシティブフレーズを取得する。
【0101】
更新モジュール403は、このターゲットブロックにおけるこの更新操作識別子およびこのセンシティブフレーズに基づいて、センシティブフレーズデータベースを更新する。
【0102】
オプションとして、この更新モジュール403は、
このいずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、この追加識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースに追加する追加ユニット、または、
このいずれかのトランザクションデータにおける更新操作識別子が削除識別子である場合、この削除識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースから削除する削除ユニットを備える。
【0103】
オプションとして、この追加ユニットは、このいずれかのトランザクションデータにおける更新操作識別子が追加識別子である場合、この追加識別子に対応するセンシティブフレーズに基づいて、このセンシティブフレーズデータベースを検索し、このセンシティブフレーズデータベースにこの追加識別子に対応するセンシティブフレーズが含まれていない場合、この追加識別子に対応するセンシティブフレーズをこのセンシティブフレーズデータベースに追加する。
【0104】
オプションとして、この取得モジュール402は、このターゲットブロックにおけるいずれかのトランザクションデータに監視識別子が付けられている場合、kのいずれかのトランザクションデータのデータコンテンツをこの更新操作識別子及びこのセンシティブフレーズとして取得する。
【0105】
オプションとして、この監視識別子は、監視ノードデバイスの署名または監視ノードデバイスのアドレスを含む。
【0106】
オプションとして、この装置は、
検索要求に付けられているブロック番号に基づいて、このブロックチェーンシステムのブロックチェーン上で、このブロック番号に対応するブロックを決定する決定モジュールと、
このブロック番号に対応するブロックにおける少なくとも1つのトランザクションデータをセンシティブフレーズデータベースにおけるセンシティブフレーズと比較する比較モジュールと、
この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、この第1トランザクションデータから、このセンシティブフレーズデータベースにおけるセンシティブフレーズをフィルタリングして、フィルタリング後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得るフィルタリングモジュールであって、前記第1トランザクションデータが、センシティブフレーズデータベースにおけるいずれかのセンシティブフレーズを含むトランザクションデータであるフィルタリングモジュールとを、さらに備える。
【0107】
オプションとして、この比較モジュールは、このセンシティブフレーズデータベースにおける複数のセンシティブフレーズの重みの降順に従って、このブロックにおける少なくとも1つのトランザクションデータをこの複数のセンシティブフレーズと1対1で比較し、この重みは、センシティブフレーズに対する追加操作が実行された回数に基づいて決定されたものである。
【0108】
オプションとして、フィルタリングモジュールは、
この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、この第1トランザクションデータから、このセンシティブフレーズデータベースにおけるセンシティブフレーズを削除し、削除後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得る、または、
この少なくとも1つのトランザクションデータに第1トランザクションデータが含まれている場合、この第1トランザクションデータにおけるセンシティブフレーズをターゲット警告フレーズに置換し、置換後の少なくとも1つのトランザクションデータを含む検索フィードバック情報を得る。
【0109】
本願の実施例によって提供される装置によれば、ブロックチェーンシステムにおけるノードデバイスが、センシティブフレーズが付けられているいずれかのトランザクションデータに対する検証に合格し、また、このトランザクションデータを含むターゲットブロックがブロックチェーン上に記憶された場合、このブロックチェーンシステムにおけるいずれかのノードデバイスは、このブロックチェーンシステムのブロックチェーンから、ターゲットブロックにおけるセンシティブフレーズを取得することができ、このセンシティブフレーズに対応する更新操作識別子により、自分のセンシティブフレーズデータベースを更新し、これにより、いずれかのノードデバイスにおいて、センシティブフレーズデータベースを同期して更新することができるようにする。また、ブロックチェーンシステムにおけるノードデバイスは、監視識別子によりこのいずれかのトランザクションデータを検証し、これにより、ブロックチェーン上の、更新操作識別子および更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータがすべて監視ノードデバイスによって生成され、これによって、このブロックチェーン上に、更新操作識別子および更新操作識別子に対応するセンシティブフレーズが付けられているトランザクションデータの信頼性が確保される。また、このノードデバイスが1つのターゲットブロックを記憶するたびに、このターゲットブロックから更新操作識別子及びこの更新操作識別子に対応するセンシティブフレーズを取得することができ、これにより、各ノードデバイスは、自分のセンシティブフレーズデータベースをリアルタイムに更新することができ、さらに、センシティブフレーズデータベースの更新が遅れたため、このノードデバイスが検索対象ブロックのブロックコンテンツに対して正確にフィルタリングできない場合が現れる、ということが回避されることができる。また、検索対象ブロックにおけるトランザクションデータとセンシティブフレーズデータベースにおけるセンシティブフレーズとを比較し、検索対象ブロックにおける、センシティブフレーズが付けられているトランザクションデータをフィルタリングし、これにより、このノードデバイスは、フィルタリングされたトランザクションデータをユーザに表示することができ、ブロックチェーンシステムにおける各ノードデバイスにセンシティブフレーズデータベースが記憶されており、これにより、このブロックチェーンシステムにおけるいずれかのノードデバイスは、いずれも、自身のセンシティブフレーズデータベースに基づいて、検索対象ブロックにおけるセンシティブフレーズをフィルタリングすることができ、これによって、ブロックチェーンにおけるセンシティブフレーズが大量に伝播されることが回避されることができる。また、ブロックチェーンシステムにおけるノードデバイスは、スマートコントラクトにより、検索対象ブロックにおけるセンシティブフレーズをフィルタリングするとき、他のノードデバイスによる維持を必要とせずに、監視権限を有するユーザだけがスマートコントラクトを維持すればよいし、これにより、他のノードデバイスのトラフィック負担を低減させることができる。
【0110】
説明すべきものとして、上記の実施例によって提供されるデータ同期装置は、データ同期を行う際に、上記の各機能モジュールの区分のみを例に挙げて説明したが、実際の適用では、必要に応じて、上記機能を異なる機能ブロックに完成させるように割り当てて、即ち、装置の内部構成を異なる機能モジュールに分割することにより、上記の機能の全部または一部を完成することができる。また、上記の実施例によって提供されるデータ同期装置およびデータ同期方法の実施例は同一の構想に属し、その具体的な実現プロセスについては、方法の実施例を参照する。
【0111】
図5は、本願の実施例によって提供されるコンピュータデバイスの概略構成図であり、このコンピュータデバイスは、具体的に、
図1におけるノードデバイスとすることができる。このノードデバイス500は、配置や性能によって大きな差異を生じてもよく、1つまたは複数のプロセッサ(CPU:central processing units)501と、1つまたは複数のメモリ502とを備え、ここで、前記メモリ502に少なくとも1つの命令が記憶されており、前記少なくとも1つの命令は、前記プロセッサ501によってロードされて実行され、上記の各方法の実施例によって提供される方法を実現する。もちろん、このノードデバイスは、入出力を行うために、有線または無線ネットワークインターフェース、キーボード、および入出力インターフェースなどの構成要素を有してもよく、このノードデバイスはまた、デバイスの機能を実現するための他の構成要素を備えるようにしてよく、ここでは、説明を省略する。
【0112】
例示的な実施例では、また、コンピュータ読み取り可能な記憶媒体が提供され、例えば、命令を含むメモリであり、上記命令は、上記の実施例におけるデータ同期方法またはデータ検索方法を完了するために、端末におけるプロセッサによって実行されてもよい。
【0113】
一実施例では、コンピュータ読み取り可能な命令が記憶されているメモリと、プロセッサとを含むコンピュータデバイスが提供され、コンピュータ読み取り可能な命令がプロセッサによって実行される場合、プロセッサに上記のデータ同期方法におけるステップを実行させる。ここでのデータ同期方法におけるステップは、上記の各実施形態のデータ同期方法におけるステップとすることができる。
【0114】
一実施例では、コンピュータ読み取り可能な命令が記憶されているコンピュータ読み取り可能な記憶媒体が提供され、コンピュータ読み取り可能な命令がプロセッサによって実行される場合、プロセッサに上記のデータ同期方法におけるステップを実行させる。ここでのデータ同期方法におけるステップは、上述した各実施例のデータ同期方法におけるステップとすることができる。
【0115】
当業者であれば、上記実施例の方法における全部または一部のフローを実現することは、コンピュータ読み取り可能な命令により関連のハードウェアに対して命令することによって実行され、前記プログラムは、不揮発性コンピュータ読み取り可能な記憶媒体に記憶されてもよく、このプログラムが実行されるとき、上記各方法の実施例のようなフローを含むことができる、ということを理解されたい。ここで、本願によって提供される各実施例で使用されるメモリ、ストレージ、データベース、または他の媒体への任意の参照は、不揮発性および/または揮発性メモリを含むようにしてよい。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラム可能なROM(PROM)、電気的プログラム可能なROM(EPROM)、電気的消去可能なプログラム可能なROM(EEPROM)、またはフラッシュメモリを備えるようにしてよい。揮発性メモリは、ランダムアクセスメモリ(RAM)または外部キャッシュメモリを備えるようにしてよい。限定ではなく説明として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張型SDRAM(ESDRAM)、同期リンク(Synchlink)DRAM(SLDRAM)、メモリバス(Rambus)直接RAM(RDRAM)、直接メモリバスダイナミックRAM(DRDRAM)、およびメモリバスダイナミックRAM(RDRAM)などの様々な形態で得ることができる。
【0116】
以上の実施例の各技術的特徴に対して、任意の組合せを行うことができ、説明を簡潔にするために、上述した実施例における各技術的特徴のすべての可能な組み合わせは全部説明されていないが、これらの技術的特徴の組み合わせに矛盾が存在しない限り、本説明書に記載された範囲と見なされるべきである。
【0117】
以上の実施例は、本願のいくつかの実施形態のみを示しており、その説明はより具体的で詳細であるが、これによって特許範囲の制限として理解することはできない。指摘すべきものとして、当業者にとっては、本願の構想を逸脱しない前提で、いくつかの変形や改善が実施されることができ、これらは、いずれも、本願の保護範囲に属する。したがって、本願の特許の保護範囲は、添付の特許請求の範囲に準ずるものとする。
【符号の説明】
【0118】
401 受信モジュール
402 取得モジュール
403 更新モジュール
500 ノードデバイス
501 プロセッサ
502 メモリ