(57)【要約】  本開示は、取引検証方法、取引検証装置、コンピュータ読み取り可能な記憶媒体及び電子機器に関する。本開示の実施例における取引検証方法は、取引情報を取得し、前記取引情報に基づいて検証識別情報を生成することと、前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することと、前記検証ブロックのルートノード情報及び前記検証ブロック内の前記検証識別情報の検証パスを取得することと、第１の取引者が前記取引情報を検証するために、前記検証識別情報、ルートノード情報及び検証パスを前記取引情報に関与する第１の取引者に送信することと、を含む。本開示の実施例によって提供される取引検証方法は、データ記憶のセキュリティを高めるとともに、検証結果の真正性も向上させる。【選択図】図１
2021533502.tif 000002
【特許請求の範囲】
【請求項１】
取引検証方法であって、
取引情報を取得し、前記取引情報に基づいて検証識別情報を生成することと、
前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することと、
前記検証ブロックのルートノード情報及び前記検証ブロック内の検証識別情報の検証パスを取得することと、
第１の取引者が前記取引情報を検証するために、前記検証識別情報、ルートノード情報及び検証パスを前記取引情報に関与する第１の取引者に送信することと、を含むことを特徴とする取引検証方法。
【請求項２】
前記方法はさらに、
第２の取引者が前記取引情報を検証するために、前記検証識別情報を前記取引情報に関与する第２の取引者に送信することを含むことを特徴とする請求項１に記載の取引検証方法。
【請求項３】
前記方法はさらに、
前記第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者がブロックチェーンネットワークを介して前記取引情報を検証するために、前記検証ブロックを前記ブロックチェーンネットワークにブロードキャストすることを含むことを特徴とする請求項１に記載の取引検証方法。
【請求項４】
前記検証パスは、前記検証識別情報を検証するための順次配列された子ノード情報を含むことを特徴とする請求項１に記載の取引検証方法。
【請求項５】
前記取引情報に基づいて検証識別情報を生成することは、
前記取引情報に基づいて取引結果を取得することと、
前記取引結果が、取引が成功したという結果である場合、前記取引情報を暗号化して検証識別情報を取得することと、を含むことを特徴とする請求項１に記載の取引検証方法。
【請求項６】
前記取引情報に基づいて取引結果を取得することは、
前記取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得することと、
各データインターフェイスの呼び出し状態に応じて取引結果を取得することと、を含むことを特徴とする請求項５に記載の取引検証方法。
【請求項７】
各データインターフェイスの呼び出し状態に応じて取引結果を取得することは、
各データインターフェイスの呼び出し状態が、いずれも呼び出しが成功した状態である場合、取引結果は、取引が成功したという結果であることと、
いずれかのデータインターフェイスの呼び出し状態が、呼び出しが失敗した状態である場合、取引結果は、取引が失敗したという結果であることと、を含むことを特徴とする請求項６に記載の取引検証方法。
【請求項８】
前記取引情報を暗号化して検証識別情報を取得することは、
ハッシュアルゴリズムを使用して前記取引情報を暗号化して検証識別情報を取得することを含むことを特徴とする請求項５に記載の取引検証方法。
【請求項９】
前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することは、
基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成することと、
前記検証識別情報を前記マークルツリーのリーフノードに保存することと、を含むことを特徴とする請求項１に記載の取引検証方法。
【請求項１０】
前記基準条件は、保存待ち検証識別情報が基準数に達することを含むことを特徴とする請求項９に記載の取引検証方法。
【請求項１１】
前記基準条件は、前の検証ブロックまでの作成時間が基準時間に達することを含むことを特徴とする請求項９に記載の取引検証方法。
【請求項１２】
取引検証装置であって、
取引情報を取得し、前記取引情報に基づいて検証識別情報を生成するように構成される第１の取得モジュールと、
前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存するように構成される保存モジュールと、
前記検証ブロックのルートノード情報及び前記検証ブロック内の検証識別情報の検証パスを取得するように構成される第２の取得モジュールと、
第１の取引者が前記取引情報を検証するために、前記検証識別情報、ルートノード情報及び検証パスを前記取引情報に関与する第１の取引者に送信するように構成される送信モジュールと、を備えることを特徴とする取引検証装置。
【請求項１３】
前記送信モジュールは、さらに第２の取引者が取引情報を検証するために、検証識別情報を取引情報に関与する第２の取引者に送信するように構成されることを特徴とする請求項１２に記載の装置。
【請求項１４】
前記装置はさらに、
第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者がブロックチェーンネットワークを介して取引情報を検証するために、検証ブロックをブロックチェーンネットワークにブロードキャストするように構成されるブロードキャストモジュールを備えることを特徴とする請求項１２に記載の装置。
【請求項１５】
前記検証パスは、検証識別情報を検証するための順次配列された子ノード情報を含むことを特徴とする請求項１２に記載の装置。
【請求項１６】
前記装置はさらに、
取引情報に基づいて取引結果を取得するように構成される第３の取得モジュールと、
取引結果が、取引が成功したという結果である場合、取引情報を暗号化して検証識別情報を取得するように構成される第１の取得モジュールと、を備えることを特徴とする請求項１２に記載の装置。
【請求項１７】
前記第３の取得モジュールは、取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得し、各データインターフェイスの呼び出し状態に応じて取引結果を取得するように構成されることを特徴とする請求項１６に記載の装置。
【請求項１８】
前記第３の取得モジュールは、各データインターフェイスの呼び出し状態が、いずれも呼び出しが成功した状態である場合、取引結果は、取引が成功したという結果であり、いずれかのデータインターフェイスの呼び出し状態が、呼び出しが失敗した状態である場合、取引結果は、取引が失敗したという結果であるように構成されることを特徴とする請求項１７に記載の装置。
【請求項１９】
前記第１の取得モジュールは、ハッシュアルゴリズムを使用して取引情報を暗号化して検証識別情報を取得するように構成されることを特徴とする請求項１６に記載の装置。
【請求項２０】
前記保存モジュールは、基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成し、検証識別情報をマークルツリーのリーフノードに保存するように構成されることを特徴とする請求項１２に記載の装置。
【請求項２１】
前記基準条件は、保存待ち検証識別情報が基準数に達することを含むことを特徴とする請求項２０に記載の装置。
【請求項２２】
前記基準条件は、前の検証ブロックまでの作成時間が基準時間に達することを含むことを特徴とする請求項２０に記載の装置。
【請求項２３】
コンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行される時に請求項１乃至１１のいずれか一項に記載の取引検証方法を実現することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項２４】
電子機器であって、
プロセッサと、
前記プロセッサの実行可能命令を記憶するように構成されるメモリと、を備え、
ここで、前記プロセッサは、前記実行可能命令を実行することにより、請求項１乃至１１のいずれか一項に記載の取引検証方法を実行するように構成されることを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２０１８年８月７日に提出された、出願番号が２０１８１０８８９４５６．６であり、発明の名称が「取引検証方法、装置、記憶媒体及び電子機器」である中国特許出願に対する優先権を主張し、その全ての内容が参照により本明細書に組み込まれる。
【０００２】
本開示は、コンピュータ技術分野、具体的には取引検証方法、取引検証装置、コンピュータ読み取り可能な記憶媒体及び電子機器に関する。
【背景技術】
【０００３】
消費者と商業者は、オフライン決済システムを使用して取引注文を完了した後、当該注文を検証する必要がある場合があり、関連技術における検証方法は、当該注文に一対一で対応する番号を取得し、この番号を使用して取引センターデータベースにクエリして検証を完了する方法である。
【０００４】
関連技術における検証方法は、過度に取引センターデータベースに依存しているため、取引センターデータベースに保存されている関連データが改ざんされたり、誤動作したりすると、検証プロセスに問題が発生する。また、関連技術における検証方法は、１つの番号のみを検証証明書として使用しており、当該番号が偽造されている可能性が高く、データセキュリティに問題があり、検証の真正性を保証することも困難である。
【０００５】
これにより、関連技術の技術的問題を解決するために、現在、新規な取引検証方法が現在、緊急に必要とされていることがわかる。
【０００６】
上記の背景技術部分で開示された情報は、本開示の背景技術部分に対する理解を強くするためのものだけであるため、当業者に知られている従来技術を構成しない情報を含むことができることを留意すべきである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本開示の目的は、取引検証方法、取引検証装置、コンピュータ読み取り可能な記憶媒体及び電子機器を提供し、さらに関連技術の制限及び欠陥によるデータセキュリティの不十分、検証の真正性への確保の困難という技術的問題を少なくともある程度克服することにある。
【課題を解決するための手段】
【０００８】
本開示の一態様による取引検証方法は、
取引情報を取得し、前記取引情報に基づいて検証識別情報を生成することと、
前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することと、
前記検証ブロックのルートノード情報及び前記検証ブロック内の検証識別情報の検証パスを取得することと、
第１の取引者が前記取引情報を検証するために、前記検証識別情報、ルートノード情報及び検証パスを前記取引情報に関与する第１の取引者に送信することと、を含む。
【０００９】
本開示の１つの例示的な実施形態では、前記方法はさらに、
第２の取引者が前記取引情報を検証するために、前記検証識別情報を前記取引情報に関与する第２の取引者に送信することを含む。
【００１０】
本開示の１つの例示的な実施形態では、前記方法はさらに、
前記第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者が前記ブロックチェーンネットワークを介して前記取引情報を検証するために、前記検証ブロックをブロックチェーンネットワークにブロードキャストすることを含む。
【００１１】
本開示の１つの例示的な実施形態では、前記検証パスは、前記検証識別情報を検証するための順次配列された子ノード情報を含む。
【００１２】
本開示の１つの例示的な実施形態では、前記取引情報に基づいて検証識別情報を生成することは、
前記取引情報に基づいて取引結果を取得することと、
前記取引結果が、取引が成功したという結果である場合、前記取引情報を暗号化して検証識別情報を取得することと、を含む。
【００１３】
本開示の１つの例示的な実施形態では、前記取引情報に基づいて取引結果を取得することは、
前記取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得することと、
各データインターフェイスの呼び出し状態に応じて取引結果を取得することと、を含む。
【００１４】
本開示の１つの例示的な実施形態では、各データインターフェイスの呼び出し状態に応じて取引結果を取得することは、
各データインターフェイスの呼び出し状態が、いずれも呼び出しが成功した状態である場合、取引結果は、取引が成功したという結果であることと、
いずれかのデータインターフェイスの呼び出し状態が、呼び出しが失敗した状態である場合、取引結果は、取引が失敗したという結果であることと、を含む。
【００１５】
本開示の１つの例示的な実施形態では、前記取引情報を暗号化して検証識別情報を取得することは、
ハッシュアルゴリズムを使用して前記取引情報を暗号化して検証識別情報を取得することを含む。
【００１６】
本開示の１つの例示的な実施形態では、前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することは、
基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成することと、
前記検証識別情報を前記マークルツリーのリーフノードに保存することと、を含む。
【００１７】
本開示の１つの例示的な実施形態では、前記基準条件は、保存待ち検証識別情報が基準数に達することを含む。
【００１８】
本開示の１つの例示的な実施形態では、前記基準条件は、前の検証ブロックまでの作成時間が基準時間に達することを含む。
【００１９】
本開示の一態様による取引検証装置は、
取引情報を取得し、前記取引情報に基づいて検証識別情報を生成するように構成される第１の取得モジュールと、
前記検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存するように構成される保存モジュールと、
前記検証ブロックのルートノード情報及び前記検証ブロック内の検証識別情報の検証パスを取得するように構成される第２の取得モジュールと、
第１の取引者が前記取引情報を検証するために、前記検証識別情報、ルートノード情報及び検証パスを前記取引情報に関与する第１の取引者に送信するように構成される送信モジュールと、を備える。
【００２０】
本開示の１つの例示的な実施形態では、前記送信モジュールは、さらに第２の取引者が前記取引情報を検証するために、前記検証識別情報を前記取引情報に関与する第２の取引者に送信するように構成される。
【００２１】
本開示の１つの例示的な実施形態では、前記装置はさらに、
前記第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者が前記ブロックチェーンネットワークを介して前記取引情報を検証するために、前記検証ブロックをブロックチェーンネットワークにブロードキャストするように構成されるブロードキャストモジュールを備える。
【００２２】
本開示の１つの例示的な実施形態では、前記検証パスは、前記検証識別情報を検証するための順番に配列された子ノード情報を含む。
【００２３】
本開示の１つの例示的な実施形態では、前記装置はさらに、
前記取引情報に基づいて取引結果を取得するように構成される第３の取得モジュールを備え、
前記第１の取得モジュールは、前記取引結果が、取引が成功したという結果である場合、前記取引情報を暗号化して検証識別情報を取得するように構成される。
【００２４】
本開示の１つの例示的な実施形態では、前記第３の取得モジュールは、前記取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得し、各データインターフェイスの呼び出し状態に応じて取引結果を取得するように構成される。
【００２５】
本開示の１つの例示的な実施形態では、前記第３の取得モジュールは、各データインターフェイスの呼び出し状態が、いずれも呼び出しが成功した状態である場合、取引結果は、取引が成功したという結果であり、いずれかのデータインターフェイスの呼び出し状態が、呼び出しが失敗した状態である場合、取引結果は、取引が失敗したという結果であるように構成される。
【００２６】
本開示の１つの例示的な実施形態では、前記第１の取得モジュールは、ハッシュアルゴリズムを使用して前記取引情報を暗号化して検証識別情報を取得するように構成される。
【００２７】
本開示の１つの例示的な実施形態では、前記保存モジュールは、基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成し、前記検証識別情報を前記マークルツリーのリーフノードに保存するように構成される。
【００２８】
本開示の１つの例示的な実施形態では、前記基準条件は、保存待ち検証識別情報が基準数に達することを含む。
【００２９】
本開示の１つの例示的な実施形態では、前記基準条件は、前の検証ブロックまでの作成時間が基準時間に達することを含む。
【００３０】
本開示の１つの態様によるコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサに実行されると以上のいずれかの取引検証方法を実現する。
【００３１】
本開示の１つの態様による電子機器は、プロセッサとメモリとを備え、メモリが前記プロセッサの実行可能命令を記憶するように構成され、前記プロセッサが前記実行可能命令を実行して以上のいずれかの取引検証方法を実行するように構成される。
【発明の効果】
【００３２】
本開示の実施例による取引検証方法は、複数の取引の取引情報を対応する検証識別情報に変換し、検証識別情報をツリー構造の検証ブロックに保存し、各検証ブロック内のツリー構造の具体的な構成形態が各リーフノードに保存された検証識別情報に直接関連しているため、それを取引情報の検証証明書とすることができる。また、ツリー構造の検証ブロックは、元々の無関係だった複数の取引情報を関連付けて保存することができるため、取引情報が改ざん又は偽造されるという問題を防止し、データ記憶のセキュリティを向上させ、同時に検証結果の真正性も向上させる。
【００３３】
以上の一般的な説明及び以下の詳細な説明は例示的及び解釈的なものだけであり、本開示を制限できないことが理解すべきである。
【図面の簡単な説明】
【００３４】
ここでの添付図面は本明細書に組み込まれて本明細書の一部を構成し、本開示に適する実施例を示し、且つ明細書と共に本開示の原理を解釈することに用いられる。以下に説明される図面は、明らかに本開示のいくつかの実施例だけであり、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面を得ることができる。
【００３５】
【図１】本開示の１つの例示的な実施形態における取引検証方法のステップを概略的に示すフローチャートである。
【図２】本開示の別の例示的な実施形態における取引検証方法のステップの一部を概略的に示すフローチャートである。
【図３】本開示の別の例示的な実施形態における取引検証方法のステップの一部を概略的に示すフローチャートである。
【図４】本開示の別の例示的な実施形態における取引検証方法のステップの一部を概略的に示すフローチャートである。
【図５】本開示の別の例示的な実施形態における取引検証方法のステップの一部を概略的に示すフローチャートである。
【図６】本開示の例示的な実施形態における取引検証方法の１つの応用シーンにおけるプロセスを概略的に示すブロック図である。
【図７】本開示の例示的な実施形態における取引検証方法の１つの応用シーンにおける検証ブロック作成方法を概略的に示す図である。
【図８】本開示の例示的な実施形態における取引検証方法の１つの応用シーンにおけるマークルツリー構造を概略的に示す図である。
【図９】本開示の例示的な実施形態における取引検証方法の１つの応用シーンにおける取引検証プロセスを概略的に示す図である。
【図１０】本開示の例示的な実施形態における取引検証装置を概略的に示す構成ブロック図である。
【図１１】本開示の例示的な実施形態における取引検証装置を概略的に示す構成ブロック図である。
【図１２】本開示の例示的な実施形態における取引検証装置を概略的に示す構成ブロック図である。
【図１３】本開示の例示的な実施形態におけるプログラム製品を概略的に示す図である。
【図１４】本開示の例示的な実施形態における電子機器のモジュールを概略的に示す図である。
【発明を実施するための形態】
【００３６】
現在、図面を参照しながら例示的な実施例を全面的に説明する。しかしながら、例示的な実施例は、様々な形態で実施されてもよく、かつ本明細書に記載される例に限定されると理解されるべきではなく、逆に、これらの実施例を提供することにより、本開示をより全面かつ完全にし、例示的な実施例の概念を当業者に完全に伝える。説明される特徴、構造又は特性は、いずれかの適切な方式で１つ又は複数の実施形態に組み合わせられてもよい。
【００３７】
また、図面は本開示の概略図に過ぎず、必ずしも縮尺通りに描かれていない。図における符号が同一又は類似の部分を表すため、これらの部材についての繰り返し説明を省略する。図に示すいくつかのブロック図は機能エンティティであり、必ずしも物理的又は論理的に独立したエンティティに対応しているわけではない。
【００３８】
これらの機能エンティティは、ソフトウェアの形態で実現されてもよく、又は一つ又は複数のハードウェアモジュール又は集積回路で実現されてもよく、又はこれらの機能エンティティは、異なるネットワーク及び／又はプロセッサ装置及び／又はマイクロコントローラ装置で実現されてもよい。
【００３９】
本開示の例示的な実施形態では、まず取引検証方法を提供する。当該方法は、消費者と商業者の両者間で完了された取引注文を検証するために使用されてもよく、当該取引注文は、オンライン取引によって生成された注文であってもよいし、オフライン取引によって生成された注文であってもよい。それ以外に、当該方法は、複数の取引者が共同で参加するオンライン取引又はオフライン取引を検証するために使用されてもよく、本開示では特に制限されない。
【００４０】
図１に示すように、この例示的な実施形態による取引検証方法は、主に次のステップを含むことができる。
【００４１】
ステップＳ１１０において、取引情報を取得し、取引情報に基づいて検証識別情報を生成する。
【００４２】
このステップではまず１つの取引注文に係る取引情報を取得し、当該取引情報が注文番号、取引時間、各取引者の身元情報、取引内容の概要などの基礎情報を含むことができる。また、電子取引システムで完了された取引に対して、当該取引情報はさらに取引注文生成プロセスに呼び出す必要があるデータインターフェイス情報及び各データインターフェイスの呼び出し状態情報を含むことができ、呼び出し状態情報は、呼び出しが成功したという情報又は呼び出しが失敗したという情報を含むことができる。次に、取得された取引情報に基づき、当該取引情報に対応する検証識別情報を生成することができる。検証識別情報は、指定されたアルゴリズムにより取引情報におけるデータを処理して取得された情報であってもよい。例えば、検証識別情報は、取引情報を暗号化して取得された情報であってもよく、これにより、データセキュリティを向上させることができる。異なる取引情報について、生成された検証識別情報も異なるべきである。検証識別情報のフォーマットを規範化することができ、これにより、データの処理が容易になる。例えば、検証識別情報のフォーマットを固定長の文字列に設定することができる。また、ニーズに応じて検証識別情報を他の任意のフォーマットに設定することもでき、この例示的な実施形態では特に限定されない。
【００４３】
ステップＳ１２０において、検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存する。
【００４４】
ステップＳ１１０で検証識別情報が生成された後、このステップでは、検証ブロックを使用してそれを記憶する。ここで検証ブロックのブロック本体は、ツリー構造を有する記憶領域であってもよく、全ての検証識別情報は、リーフノードとしてツリー構造の記憶領域に保存される。ツリー構造の最下層にある２つ又は複数のリーフノードに対して指定された演算を実行することにより、１つの子ノードを取得することができ、２つ又は複数の子ノードに対して演算を実行し続けることにより、１つの親ノードを取得することができる。層ごとに上向きの演算を実行した後、最終的に１つのルートノードが取得され、それによって完全なツリー構造が形成される。当該ツリー構造は、バイナリツリー構造であってもよいし、マルチウエーツリー構造であってもよく、各層の子ノード間で実行される演算は同じでも異なっていてもよい。
【００４５】
ステップＳ１３０において、検証ブロックのルートノード情報及び検証ブロック内の検証識別情報の検証パスを取得する。
【００４６】
ステップＳ１２０で検証識別情報の記憶が完了された後、このステップでは検証ブロック内の当該検証識別情報の具体的な位置を取得し、即ち検証識別情報の所在する検証ブロックのルートノード情報及び検証ブロック内の検証識別情報の検証パスを取得する。１つの検証ブロックに複数の取引の検証識別情報が記憶され、かつ各検証ブロックに保存される検証識別情報の数がある程度制限され、一定の条件を満たしていると、新しい検証ブロックを形成することができる。このステップでは、検証ブロックのルートノード情報を取得することにより、多くの検証ブロック内のどの検証ブロックに検証識別情報が記憶されているかを知ることができ、検証ブロック内の検証識別情報の検証パスを取得することにより、検証ブロック内の検証識別情報の検証パスをさらに取得することにより、検証ブロック内の検証識別情報の保存位置を正確に位置決めすることができる。
【００４７】
ステップＳ１４０において、第１の取引者が取引情報を検証するために、検証識別情報、ルートノード情報及び検証パスを取引情報に関与する第１の取引者に送信する。
【００４８】
このステップでは、ステップＳ１１０で生成された検証識別情報及びステップＳ１３０で取得されたルートノード情報と検証パスを共同で取引情報に関与する第１の取引者に送信する。ここで、第１の取引者は、取引情報に係る任意の１つ又は複数の取引オブジェクトであってもよい。例えば、消費者と商業者が参加する二者間取引の場合、このステップで検証識別情報、ルートノード情報及び検証パスなどの関連データを、消費者又は商業者のいずれか一方、即ち購入者又は販売者のいずれか一方に個別に送信することができ、また、このステップでは、関連データを消費者と商業者に同時に送信することもできる。複数の取引者が共同で参加する複数の取引者間の取引の場合、第１の取引者は、複数の取引者のうちの１つ又は複数の取引者であってもよい。第１取引者は、関連データを受信した後に検証識別情報、ルートノード情報及び検証パスを使用して対応する取引情報を検証することができる。検証方法は、受信されたルートノード情報を使用して検証ブロックのルートノードから検証パスに沿って最下層のリーフノードを見つけ、リーフノードに保存された情報が受信した検証識別情報と一致するか否かを判断することができ、また、受信された検証識別情報を使用して最下層のリーフノードから検証パスに沿って上方へ層ごとに検証し、最終的に検証ブロックのルートノードを見つけることもできる。その後、見つけた検証ブロックのルートノードを受信されたルートノード情報と比較し、両者が一致している場合、検証に合格したと見なすことができる。それ以外に、このステップでは、検証識別情報、ルートノード情報及び検証パスを使用して取引情報を検証する他の方法を使用することもでき、これはこの例示的な実施例で特に限定されない。
【００４９】
この例示的な実施例による取引検証方法は、複数の取引の取引情報を対応する検証識別情報に変換し、検証識別情報をツリー構造の検証ブロックに保存し、各検証ブロック内のツリー構造の具体的な構成形態が各リーフノードに保存された検証識別情報に直接関連しているため、それを取引情報の検証証明書とすることができる。また、ツリー構造の検証ブロックは、元々の無関係だった複数の取引情報を関連付けて保存することができるため、取引情報が改ざん又は偽造されるという問題を防止し、データ記憶のセキュリティを向上させ、同時に検証結果の真正性も向上させる。
【００５０】
本開示の別の例示的な実施形態では、別の取引検証方法が提供される。図２に示すように、以上の実施例に基づき、この例示的な実施形態における取引検証方法は、さらに次のステップのうちの１つ又は複数を含むことができる。
【００５１】
ステップＳ２５０において、第２の取引者が前記取引情報を検証するために、検証識別情報を取引情報に関与する第２の取引者に送信する。
【００５２】
このステップでは取引情報に対応する検証識別情報は取引情報に関与する第２の取引者に送信される。第２の取引者は第１の取引者とは異なる取引者である。例えば、第１の取引者が商業者であり、第２の取引者が消費者であってもよい。第２の取引者が検証識別情報を受信した場合、ニーズに応じて取引情報を検証することができる。検証方法は、検証識別情報を第１の取引者に送信し、次に第１の取引者が当該検証識別情報に基づいて対応するルートノード情報と検証パスを見つける方法であってもよい。関連データが見付けられた後、第１の取引者は、当該取引を検証し、次に検証結果を第２の取引者に返信することができ、それ以外に、第１の取引者は、見つけられたルートノード情報と検証パスとを第２の取引者に直接返信することができる。次に、第２の取引者は、検証識別情報、ルートノード情報と検証パスに基づいて当該取引を検証する。
【００５３】
ステップＳ２６０において、第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者がブロックチェーンネットワークを介して取引情報を検証するために、検証ブロックをブロックチェーンネットワークにブロードキャストする。
【００５４】
第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者が関連する検証識別情報、ルートノード情報及び検証パスなどのデータに基づいてそれぞれローカル検証を行う以外、このステップでは、検証識別情報を保存している検証ブロックをブロックチェーンネットワークにブロードキャストし、このようにして第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者はいずれもブロックチェーンネットワークを介して取引情報を交換することができる。ブロックチェーンネットワークを構成するブロックとして、各検証ブロックは、ツリー構造のブロック本体に加えて、ブロックヘッダーを含むことができ、ブロックヘッダーは、現在のブロックの識別情報を記憶するために使用される。ここで、現在のブロックの識別情報は、前のブロックの識別情報、現在のブロックのツリー構造のルートノード情報、タイムスタンプ、乱数などの様々なデータのうちの１つ又は複数に基づいて演算して生成されてもよい。また、ブロックヘッダーは、前のブロックの識別情報、現在のブロックのツリー構造のルートノード情報、タイムスタンプ、乱数などの様々なデータを個別に記憶することができる。第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者が取引の検証を行う必要がある場合、既存のデータに基づいてブロックチェーンネットワークから当該取引が実際に存在するか否かを見つけることで、取引を完了することができる。
【００５５】
例えば、既存のデータは、検証識別情報、ルートノード情報及び検証パスなどである。
【００５６】
この例示的な実施形態は、複数の取引オブジェクトに複数の検証方法を提供し、特に、検証ブロックをブロックチェーンネットワークにブロードキャストすることにより、データ記憶のセキュリティを向上させることができ、各取引情報の真正性は、ブロックチェーンネットワークにおいて大きく保証される。
【００５７】
以上の例示的な実施形態では、ステップＳ１３０で取得された検証パスは、検証識別情報を検証するための順次配列された子ノード情報を含むことができる。例えば、まずツリー構造におけるルートノードと対応するリーフノードを接続する最短パスを取得し、次に当該パスに係る全ての子ノードの情報を順次取得し、ルートノードからリーフノードまで又はリーフノードからルートノードまでの順序に従って配列することができる。また、検証パスは、検証識別情報を検証することができる他の順次配列された子ノード情報であってもよく、本開示で特に限定されない。
【００５８】
本開示の別の例示的な実施形態では、別の取引検証方法が提供される。図３に示すように、以上のいずれかの実施例に基づき、ステップＳ１１０での取引情報に基づいて検証識別情報を生成することは、次のステップを含むことができる。
【００５９】
ステップＳ３１１において、取引情報に基づいて取引結果を取得する。
【００６０】
このステップでは、まず取引情報に基づき、取引が成功したこと又は取引が失敗したことを含む取引結果を取得する。ネットワーク障害、ネットワーク遅延、システム障害などの問題によって取引の中断が発生する場合、又は他のいずれかの取引が異常である場合、取引が失敗する可能性がある。取引結果が、取引が失敗したという結果である場合、検証識別情報を生成する必要がない。
【００６１】
ステップＳ３１２において、取引結果が、取引が成功したという結果である場合、取引情報を暗号化して検証識別情報を取得する。
【００６２】
ステップＳ３１１で取得された取引結果が、取引が成功した結果である場合、このステップで取引情報に対して暗号化処理を行い、暗号化した後に対応する検証識別情報を取得できる。ここで、取引情報を暗号化する場合、ＤＥＳアルゴリズム、３ＤＥＳアルゴリズム、ＴＤＥＡアルゴリズム、Ｂｌｏｗｆｉｓｈアルゴリズム、ＲＣ５アルゴリズム、ＩＤＥＡなどの対称暗号化アルゴリズムを使用することができ、ＲＳＡアルゴリズム、Ｅｌｇａｍａｌアルゴリズム、ナップザックアルゴリズム、楕円曲線暗号化アルゴリズムなどの非対称暗号化アルゴリズムを使用することもできる。また、他の任意の暗号化アルゴリズムを使用することができ、この例示的な実施形態で特に限定されない。
【００６３】
例示的に、このステップではＭＤ５、ＳＨＡ−１、ＳＨＡ−２５６、ＳＨＡ−５１２などのハッシュ暗号化アルゴリズムを使用して取引情報を暗号化することができる。ハッシュ暗号化アルゴリズムを使用すると、データフォーマットを統一することができ、これは、ツリー構造の検出ブロックの確立と保存に役立つ。
【００６４】
この例示的な実施形態では取引が成功した場合、取引情報を暗号化することにより、データセキュリティを向上させ、データの改ざんを回避することができ、一方でデータ保存タイプ及びデータ保存フォーマットを統一し、データ処理効率を向上させることができる。
【００６５】
本開示の別の例示的な実施形態では、別の取引検証方法が提供される。図４に示すように、前の実施例に基づき、ステップＳ３１１での取引情報に基づいて取引結果を取得することは、さらに次のステップを含むことができる。
【００６６】
ステップＳ４１１１において、取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得する。
【００６７】
このステップで当該取引の取引情報から複数のデータインターフェイスの呼び出し状態を取得して、取引結果を取得する。ここで、データインターフェイスの呼び出し状態は、呼び出しが成功した状態又は呼び出しが失敗した状態を含む。データインターフェイスは、取引生成リンクに係る、呼び出す必要がある様々なインターフェイスである。例えば、１つのオンライン取引には、資金調達プラットフォーム、マーケティングプラットフォーム、ショッピングカート、取引プラットフォームなどの複数のプラットフォームシステムが係る可能性がある。資金調達プラットフォームは、クーポン、祝儀袋、残高などの支払いに使用できる様々なファンドデータインターフェイスを提供することができる。マーケティングプラットフォームは、製品表示、イベント表示、価格表示などのための様々なデータインターフェイスを提供することができる。ショッピングカートは、サブスクリプション関係の確立、製品状態の更新などのためのデータインターフェイスを提供することができる。取引プラットフォームは、価格のクエリ、在庫のクエリ、資金のクエリ、支払いチャネルの選択、資金移動などのためのデータインターフェイスを提供することができる。１つの取引がスムーズに実行され得るか否かは、各データインターフェイスが呼び出され得るか否かに依存している。
【００６８】
ステップＳ４１１２において、各データインターフェイスの呼び出し状態に応じて取引結果を取得する。
【００６９】
ステップＳ４１１１で各データインターフェイスの呼び出し状態が取得された後、このステップでは全体の呼び出し結果を評価し、取引結果を取得する。係る各データインターフェイスの呼び出しがいずれも成功した場合、取引結果は、取引が成功したという結果である。いずれかのデータインターフェイスの呼び出しが失敗した場合、取引結果は、取引が失敗したという結果である。
【００７０】
この例示的な実施形態では、インターフェイス呼び出しに基づくコンセンサスメカニズム（Ｐｒｏｏｆ  ｏｆ  Ｉｎｖｏｃａｔｉｏｎ：ＰＯＩコンセンサスメカニズムと略称）を採用して取引結果を評価する。各データインターフェイスの呼び出しがいずれも成功した場合、インターフェイスの呼び出しは、コンセンサスに達したと見なされ、この時に取引結果は、取引が成功したという結果であり、いずれかのデータインターフェイスの呼び出しが失敗した場合、インターフェイスの呼び出しは、コンセンサスに達しないと見なされ、この時に取引結果は、取引が失敗したという結果である。ＰＯＩコンセンサスメカニズムに基づいて取引結果を評価して取得された評価結果は、安全で信頼性がある。
【００７１】
本開示の別の例示的な実施形態では、別の取引検証方法が提供される。図５に示すように、以上のいずれかの実施例に基づき、ステップ１２０での検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存することは、次のステップを含むことができる。
【００７２】
ステップＳ５２１において、基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成する。
【００７３】
このステップでは、まず、現在基準条件を満たしているか否かを判断し、基準条件を満たしていると判断した場合、マークルツリーに基づく検証ブロックを作成する。ここで、基準条件は、保存待ち検証識別情報が基準数に達する条件であってもよく、例えば、基準条件は、保存待ち検証識別情報が６４件に達するように設定されてもよい。保存する必要がある検証識別情報の数が６４件に達すると、この６４件の検証識別情報を保存するための検証ブロックを作成してカウントを再開し、保存待ち検証識別情報が再び６４件に達すると、１つの新しい検証ブロックを再度作成し、これによって類推する。基準数に基づく検証ブロック作成方式は、取引量が安定する場合で使用することに適する。例示的に、基準条件が、保存待ち検証識別情報が基準数に達すると、当該基準数は、実際の取引状況に応じて調整されてもよい。例えば、基準数は、現在の取引システムでの１分あたりの平均取引量に設定されてもよく、このようにして、検証ブロックの作成速度は、基本的に１分あたり１つに維持されてもよい。リソースを節約しながらデータ検証の遅延を低減することもできる。また、このステップでは基準条件は、前の検証ブロックまでの作成時間が基準時間に達するように設定されてもよい。例えば、基準時間を１分に直接設定することができるため、現在の検証ブロックに保存されている検証識別情報の数に関わらず、分ごとに１つの新しい検証ブロックが固定的に生成され、後続の検証識別情報も全て新しい検証ブロックに保存される。基準時間に基づく検証ブロック作成方式は、取引量が大きく変動する場合に適しており、検証識別情報の保存待ち時間が長すぎるという問題を回避することができる。基準数及び基準時間の２つの条件に加えて、他の任意の基準条件を使用して検証ブロックの作成方式及び作成速度を制御することもでき、これらは、この例示的な実施形態で特に限定されない。
【００７４】
ステップＳ５２２において、検証識別情報をマークルツリーのリーフノードに保存する。
【００７５】
ステップＳ５２１で検証ブロックの作成が完了された後、このステップでは保存待ち検証識別情報をマークルツリーのリーフノードに保存し、マークルツリー（Ｍｅｒｋｌｅ  Ｔｒｅｅ、Ｈａｓｈ  Ｔｒｅｅとも呼ばれる）は、ハッシュ値を保存するためのハッシュバイナリツリーである。検証識別情報が、取引情報に対してハッシュ暗号化アルゴリズムを使用して演算して得られたハッシュ値である場合、検証識別情報をマークルツリーのリーフノードに直接保存することができ、検証識別情報が他のデータ形態である場合、まず検証識別情報に対してハッシュ演算を実行してハッシュ値を取得し、次に対応するハッシュ値をマークルツリーのリーフノードに保存することができる。リーフノードの保存が完了された後、隣接する２つのリーフノードごとに保存されたハッシュ値を直列に結合して１つの文字列を取得し、次に当該文字列に対してハッシュ演算を行い、取得されたハッシュ値をその上の層の子ノードに保存することができる。同様に、隣接する２つの子ノードを直列に結合してからハッシュ演算を行い、次に取得されたハッシュ値をその上の層の親ノードに保存し、これによって類推し、ルートノードが取得されるまで続き、ルートノードにも１つのハッシュ値が保存される。
【００７６】
マークルツリーに基づく検証ブロックは、大量の取引情報を速くまとめて保存することができ、同時に大規模データの完全性を保証し、データ保存のセキュリティを向上させ、取引情報検証の精度を保証することもできる。
【００７７】
上記の例示的な実施形態は、本開示における方法の各ステップを特定の順序で説明しているが、これは、これらのステップを当該特定の順序で実行すること、又は望ましい結果を達成するために全てのステップを実行しなければならないことを要求又は暗示しないことに留意すべきである。追加的又は代替的に、いくつかのステップを省略し、複数のステップを１つのステップに結合して実行し、及び／又は１つのステップを複数のステップに分解して実行することができるなどがある。
【００７８】
以下に１つの応用シーンを組み合わせて上記の例示的な実施形態における取引検証方法を詳細に説明する。
【００７９】
図６に示すように、この応用シーンは、第１の取引者と第２の取引者が共同で参加する、ある取引システムでの二者間取引に関し、ここで第１の取引者が商業者であり、第２の取引者が消費者である。消費者が商業者との取引を開始する場合、システムバックエンドは、取引生成リンク上のデータインターフェイスを呼び出して投票し、リンク上のデータインターフェイスの呼び出しが成功するたびに投票する。投票結果によれば、各データインターフェイスの呼び出しが成功した場合、取引が成功したと判断されてもよく、次に当該取引の注文を検証リストに保存することができ、各検証リストが１つの検証ブロックに対応している。その後、検証リストをブロックチェーンに保存し、即ち検証ブロックをブロックチェーンネットワークにブロードキャストすることができる。それと同時に、取引システムは、メッセージをそれぞれ商業者と消費者に送信し、商業者と消費者は、受信されたメッセージに基づいて取引情報を検証することができる。検証プロセスは、商業者によるローカル検証であってもよいし、ブロックチェーンネットワークを介するシステムバックエンド検証であってもよい。
【００８０】
取引が成功した注文情報に対してリストに保存し、即ち注文内のキー情報（注文番号、ハッシュ暗号化情報など）を検証リストに記録する。例えば、ＳＨＡ−２５６暗号化アルゴリズムを使用して注文情報を暗号化することができ、取引注文ごとに１つのユニークなＳＨＡ２５６値を得る。図７に示すように、Ａ１、Ｂ１、Ｃ１、Ａ２、Ｂ２、Ｃ２、Ａ３、Ｂ３、Ｃ３はそれぞれ１つの取引注文を表し、各注文の注文情報は検証リストに保存される。取引システムの１分あたりの取引量に応じて、検証注文の注文容量をＮとして規定することができ、検証注文の注文数がＮ個に達すると、図８に示すメルケルツリーを作成することができる。ここで、Ｍ−Ａ１が注文Ａ１の注文情報に対してハッシュ演算を行って得られたハッシュ値であり、Ｍ−Ｂ１が注文Ｂ１の注文情報に対してハッシュ演算を行って得られたハッシュ値であり、Ｍ−Ａ１とＭ−Ｂ１を直列に結合してからハッシュ演算を再度行ってハッシュ値Ｍ−Ａ１Ｂ１を取得する。最後の注文Ｃ３に対して、それとペアをなすことができる他の注文がないため、ハッシュ値Ｍ−Ｃ３をそれ自体と直列に結合してからハッシュ演算を行ってハッシュ値Ｍ−Ｃ３Ｃ３を取得することができ、これによって類推し、メルケルツリーを補完する。
【００８１】
上記の２つのハッシュプロセスを繰り返し、最終的にルートノードのハッシュ値を取得する。
【００８２】
図９に示すように、取引が成功するたびに注文が完了され、検証識別情報（たとえば、ハッシュ演算により取得された、注文に一意に対応するＳＨＡ２５６値であってもよい）、ルートノード情報と検証パスという注文に関連する３つの情報を商業者に送信することができる。同時に、検証識別情報を消費者に送信する。依然として図８を例とすると、現在の注文がＡ３であれば、消費者と商業者に送信される検証識別情報はＭ−Ａ３である。それに応じて、商業者に送信されたルートノード情報はツリー構造の最上部にあるＭ−Ａ１Ｂ１Ｃ１Ａ２Ｂ２Ｃ２Ａ３Ｂ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３であり、検証パスは、下から上に順次配列された各子ノードＭ−Ｂ３、Ｍ−Ｂ２Ｃ２、Ｍ−Ａ１Ｂ１Ｃ１Ａ２  及びＭ  −Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３、即ち図の破線のボックス部分である。
【００８３】
取引が異常である場合、例えば、消費者が、取引が成功したという情報を受信するが、商業者側が、取引が失敗したことを示す場合、消費者は、能動的に又は商業者の要求に従って検証識別情報を示すことができ、この時に商業者は消費者によって提供された検証識別情報によって対応するルートノード情報と検証パスを見つけることができる。その後、商業者は検証識別情報と対応するルートノード情報、検証パスを使用して取引情報を検証することができる。ここで検証方法の１つは、検証識別情報と検証パス上の各サーブノードＭ−Ｂ３、Ｍ−Ｂ２Ｃ２、Ｍ−Ａ１Ｂ１Ｃ１Ａ２及びＭ−Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３Ｃ３を順次直列に結合してハッシュ演算を行い、最終的に得られたハッシュ値がルートノード情報と同じであるか否か判断する方法である。それらが同じである場合、検証に合格し、取引が成功し且つ真で有効であると見なすことができる。それ以外に、商業者側でのメッセージ受信の遅延又はメッセージを失うなどの特別な状況で、商業者はブロックチェーンネットワークを介してバックグラウンド検証を行い、即ちブロックチェーンネットワークの検証ブロックに当該取引情報が保存されているか否かを判断することができ、いずれかの検証ブロックに取引情報が見つかっている限り、検証に合格し、取引が成功しかつ真で有効であると判断することもできる。
【００８４】
本開示の例示的な実施形態では、さらに取引検証方法が提供される。図１０に示すように、取引検証装置１０００は、主に第１の取得モジュール１０１０、保存モジュール１０２０、第２の取得モジュール１０３０及び送信モジュール１０４０を備えることができる。ここで、第１の取得モジュール１００は、取引情報を取得し、取引情報に基づいて検証識別情報を生成するように構成され、保存モジュール１０２０は、検証識別情報をリーフノードとしてツリー構造の検証ブロックに保存するように構成され、第２の取得モジュール１０３０は、検証ブロックのルートノード情報及び検証ブロック内の検証識別情報の検証パスを取得するように構成され、送信モジュール１０４０は、第１の取引者が取引情報を検証するために、検証識別情報、ルートノード情報及び検証パスを取引情報に関与する第１の取引者に送信するように構成される。
【００８５】
本開示の１つの例示的な実施形態では、送信モジュール１０４０は、さらに第２の取引者が取引情報を検証するために、検証識別情報を取引情報に関与する第２の取引者に送信するように構成される。
【００８６】
本開示の１つの例示的な実施形態では、図１１に示すように、当該装置はさらに、
第１の取引者、第２の取引者、又は第１の取引者及び第２の取引者がブロックチェーンネットワークを介して取引情報を検証するために、検証ブロックをブロックチェーンネットワークにブロードキャストするように構成されるブロードキャストモジュール１０５０を備える。
【００８７】
本開示の１つの例示的な実施形態では、検証パスは、検証識別情報を検証するための順次配列された子ノード情報を含む。
【００８８】
本開示の１つの例示的な実施形態では、図１２に示すように、当該装置はさらに、
取引情報に基づいて取引結果を取得するように構成される第３の取得モジュール１０６０と、
取引結果が、取引が成功したという結果である場合、取引情報を暗号化して検証識別情報を取得するように構成される第１の取得モジュール１０１０と、を備える。
【００８９】
本開示の１つの例示的な実施形態では、第３の取得モジュール１０６０は、取引情報から取引生成リンクに係る複数のデータインターフェイスの呼び出し状態を取得し、各データインターフェイスの呼び出し状態に応じて取引結果を取得するように構成される。
【００９０】
本開示の１つの例示的な実施形態では、第３の取得モジュール１０６０は、各データインターフェイスの呼び出し状態が、いずれも呼び出しが成功した状態である場合、取引結果は、取引が成功したという結果であり、いずれかのデータインターフェイスの呼び出し状態が、呼び出しが失敗した状態である場合、取引結果は、取引が失敗したという結果であるように構成される。
【００９１】
本開示の１つの例示的な実施形態では、第１の取得モジュール１０１０は、ハッシュアルゴリズムを使用して取引情報を暗号化して検証識別情報を取得するように構成される。
【００９２】
本開示の１つの例示的な実施形態では、保存モジュール１０２０は、基準条件を満たしている場合、マークルツリーに基づく検証ブロックを作成し、検証識別情報をマークルツリーのリーフノードに保存するように構成される。
【００９３】
本開示の１つの例示的な実施形態では、基準条件は、保存待ち検証識別情報が基準数に達することを含む。
【００９４】
本開示の１つの例示的な実施形態では、基準条件は、前の検証ブロックまでの作成時間が基準時間に達することを含む。
【００９５】
上記の取引検証装置の詳細は、対応する取引検証方法において詳しく記載されているため、ここでは説明を省略する。
【００９６】
動作実行のための機器のいくつかのモジュール又はユニットが上記の詳細な説明に記載されているが、このような区分は、強制的ではないことに注意すべきである。実際には、本開示の実施形態によれば、上記の２つ又は２つ以上のモジュール又はユニットの特徴及び機能は、１つのモジュール又はユニットに具体化することができる。逆に、上記の１つのモジュール又はユニットの特徴及び機能は、さらに複数のモジュール又はユニットによって具体化するように区分されてもよい。
【００９７】
本開示の例示的な実施形態では、コンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサに実行されると本開示の上記の取引検証方法を実現することができるコンピュータ読み取り可能な記憶媒体をさらに提供する。いくつかの可能な実施形態では、本開示の各態様はさらにプログラム製品の形態として実現されてもよく、それがプログラムコードを含み、当該プログラム製品が１つの不揮発性記憶媒体（ＣＤ−ＲＯＭ、ＵＳＢフラッシュドライブ又はモバイルハードディスクなどであってもよい）又はネットワークに記憶されてもよく、前記プログラム製品がコンピューティング機器（パーソナルコンピュータ、サーバー、端末機器又はネットワーク機器などであってもよい）で実行される場合、前記プログラムコードが前記コンピューティング機器に本開示での上記の各例示的な実施例の方法のステップを実行させるために使用される。
【００９８】
図１３に示すように、本開示の実施形態による上記方法を実現するためのプログラム製品１１０は、携帯型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）を使用し、プログラムコードを含むことができ、コンピューティング機器（例えばパーソナルコンピュータ、サーバー、端末機器又はネットワーク機器など）で実行されてもよい。しかしながら、本開示のプログラム製品はこれに限定されない。この例示的な実施例では、コンピュータ読み取り可能な記憶媒体は、プログラムを含むか、記憶している有形媒体であってもよく、当該プログラムが命令実行システム、装置又はデバイスに使用されてもよく、又はそれらと組み合わせて使用されてもよい。
【００９９】
前記プログラム製品は、一つ又は複数の読み取り可能な媒体のいずれかの組み合わせを採用することができる。読み取り可能な媒体は、読み取り可能な信号媒体又は読み取り可能な記憶媒体であってもよい。
【０１００】
読み取り可能な記憶媒体は、例えば、電気、磁気、光、電磁、赤外線又は半導体のシステム、装置又はデバイス、又はそれらの任意の組合せであってもよい。読み取り可能な記憶媒体のより具体的な例（非網羅的リスト）は、一つ又は複数の導線を有する電気接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバー、ポータブルコンパクト磁気ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス又は上記の任意の適切な組み合わせを含む。
【０１０１】
読み取り可能な信号媒体は、ベースバンド内で又は搬送波の一部として伝播されるデータ信号を含むことができ、読み取り可能なプログラムコードを搬送している。このように伝播されるデータ信号は、電磁信号、光信号又は上記の任意の適切な組み合わせを含むがこれらに限定されない複数の形態を採用することができる。読み取り可能な信号媒体はさらに読み取り可能な記憶媒体以外の任意の読み取り可能な媒体であってもよく、当該読み取り可能な媒体は、命令実行システム、装置又はデバイスによって用いられ又はそれらと組み合わせて用いられるプログラムを送信、伝播又は伝送することができる。
【０１０２】
読み取り可能な媒体に含まれるプログラムコードは、無線、有線、光ケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせを含むことができるがこれらに限定されない任意の適切な媒体を使用して伝送されてもよい。
【０１０３】
本開示の操作を実行するためのプログラムコードを、一つ又は複数のプログラミング言語の任意の組み合わせで書くことができ、前記プログラミング言語がＪａｖａ、Ｃ＋＋などのオブジェクト向けプログラミング言語を含み、さらに「Ｃ」言語又は類似のプログラミング言語などの従来の手続き型プログラミング言語を含む。プログラムコードは、ユーザのコンピューティング機器で完全に実行され、ユーザのコンピューティング機器で部分的に実行され、一つの独立したソフトウェアパッケージとして実行され、ユーザのコンピューティング機器で部分的に実行され、モートコンピューティング機器で部分的に実行され、又はリモートコンピューティング機器又はサーバーで完全に実行されることができる。リモートコンピューティング機器に係る場合、リモートコンピューティング機器は、任意の種類のネットワーク（ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）などを含む）を介してユーザのコンピューティング機器に接続されてもよく、又は、外部のコンピューティング機器に接続されてもよく、例えばインターネットサービスプロバイダーによってインターネットを介して接続されてもよい。
【０１０４】
本開示の例示的な実施形態では、さらに電子機器が提供される。前記電子機器は、少なくとも１つのプロセッサと、前記プロセッサの実行可能命令を記憶するための少なくとも１つのメモリとを備え、前記プロセッサが前記実行可能命令を実行することで本開示の上記の各例示的な実施例における方法のステップを実行するように構成される。
【０１０５】
以下に図１４を組み合わせながらこの例示的な実施形態における電子機器１２００を説明する。電子機器１２００は、１つの例だけであり、本開示の実施例の機能と使用範囲にいかなる制限をもたらすべきではない。
【０１０６】
図１４に示すように、電子機器１２００は、汎用コンピューティング機器の形態で表されている。電子機器１２００のコンポーネントは、少なくとも１つの処理ユニット１２１０、少なくとも１つの記憶ユニット１２２０、異なるシステムコンポーネント（処理ユニット１２１０と記憶ユニット１２２０を含む）を接続するためのバス１２３０、表示ユニット１２４０を備えることができるがこれらに限定されない。
【０１０７】
ここで、記憶ユニット１２２０は、プログラムコードを記憶し、前記プログラムコードが処理ユニット１２１０によって実行され得るため、処理ユニット１２１０は、本開示の上記の各例示的な実施例における方法のステップを実行する。
【０１０８】
記憶ユニット１２２０は、揮発性記憶ユニットの形態の読み取り可能な媒体、例えばランダムアクセス記憶ユニット１２２１（ＲＡＭ）及び／又はキャッシュ記憶ユニット１２２２を含むことができ、さらに読み取り専用記憶ユニット１２２３（ＲＯＭ）を含むことができる。
【０１０９】
記憶ユニット１２２０は、さらに１グループ（少なくとも１つ）のプログラムモジュール１２２５を有するプログラム／ユーティリティツール１２２４を含むことができ、このようなプログラムモジュールは、オペレーティングシステム、１つ又は複数のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータを含むがこれらに限定されなく、これらの例のそれぞれ又はある組み合わせには、ネットワーク環境の実現が含まれる可能性がある。
【０１１０】
バス１２３０は、いくつかのタイプのバス構造の１つ又は複数を表すものであってもよく、記憶ユニットバス又は記憶ユニットコントローラ、周辺バス、グラフィックス加速ポート、処理ユニット、又は様々なバス機構内の任意のバス構造を使用するローカルバスを含む。
【０１１１】
電子機器１２００は、１つ又は複数の外部機器１３００（例えばキーボード、ポインティングデバイス、ブルートゥース（登録商標）デバイスなど）と通信することもでき、ユーザが当該電子機器１２００とのインタラクションを行うことを可能にする１つ又は複数の機器と通信することができ、及び／又は当該電子機器１２００が１つ又は複数の他のコンピューティング機器と通信することを可能にする任意の機器（例えばルーター、モデムなど）と通信することができる。この通信は、入力／出力（Ｉ／Ｏ）インターフェイス１２５０を介して実行されてもよい。そして、電子機器１２００は、さらにネットワークアダプタ１２６０を介して１つ又は複数のネットワーク（例えばローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、及び／又はパブリックネットワーク、例えばインターネット）と通信することができる。図１２に示すように、ネットワークアダプタ１２６０は、バス１２３０を介して電子機器１２００の他のモジュールと通信することができる。図に示されていないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部磁気ディスクドライブアレイ、ＲＡＩＤシステム、磁気テープドライブ及びデータバックアップストレージシステムなどを含むがこれらに限定されない他のハードウェア及び／又はソフトウェアモジュールを電子機器１２００と組み合わせて使用できることを理解すべきである。
【０１１２】
当業者は、本開示の様々な態様が、システム、方法又はプログラム製品として実現されてもよいことを理解することができる。したがって、本開示の各態様は、以下の形態、即ち完全なハードウェア実施形態、完全なソフトウェア実施形態（ファームウェア、マイクロコードなどを含む）、又はハードウェアとソフトウェアを組み合わせた実施形態として具体的に実現されてもよく、ここで「回路」、「モジュール」又は「システム」として総称されてもよい。
【０１１３】
当業者は、明細書を考慮及びここで開示された発明を実践した後、本開示の他の実施手段を容易に想到する。本出願は、本開示のいずれかの変形、用途又は適応的変化を含むことを意図し、これらの変形、用途又は適応的変化は、本開示の一般的な原理に従い且つ本開示で開示されていない本技術分野における公知の常識又は慣用の技術的手段を含む。本明細書及び実施例は単に例示的なものと見なされるが、本開示の真の範囲及び精神は、添付の特許請求の範囲によって指摘される。
【０１１４】
上記の特徴、構造又は特性は、いずれかの適切な方式で１つ又は複数の実施形態に組み合わせられてもよく、可能であれば、各実施例で論じられている特徴は交換可能である。以上の説明では、本開示の実施形態を十分に理解するために、多くの具体的な詳細が提供されている。しかしながら、当業者は、詳細内の１つ又は複数を特定せずに本開示の技術的解決策を実践することができ、又は他の方法、コンポーネント、材料などを採用することができる。他の場合では、本開示の各態様を曖昧にすることを避けるために、公知の構造、材料又は操作は、詳細に示されていないか、説明されていない。
【図１】
2021533502.tif 000003
【図２】
2021533502.tif 000004
【図３】
2021533502.tif 000005
【図４】
2021533502.tif 000006
【図５】
2021533502.tif 000007
【図６】
2021533502.tif 000008
【図７】
2021533502.tif 000009
【図８】
2021533502.tif 000010
【図９】
2021533502.tif 000011
【図１０】
2021533502.tif 000012
【図１１】
2021533502.tif 000013
【図１２】
2021533502.tif 000014
【図１３】
2021533502.tif 000015
【図１４】
2021533502.tif 000016
【国際調査報告】
2021533502.tif 000017
2021533502.tif 000018
2021533502.tif 000019
2021533502.tif 000020