(57)【特許請求の範囲】
【請求項１】
ブロックチェーンネットワーク内のノードが行うブロックチェーンベースのデータ処理方法であって、前記データ処理方法は、
指定された期間内に生成された少なくとも1つのサービスデータを受信するステップであって、前記サービスデータは、前記サービスデータの処理優先度を表すために用いられるラベル情報を含む、ステップと、
新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、前記ラベル情報に対応するスループットを決定するステップと、
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するステップであって、前記受信されたサービスデータは前記データ処理セットに格納される、ステップと、
前記取得されたサービスデータを前記ブロックに格納するステップと
を含む、ブロックチェーンベースのデータ処理方法。
【請求項２】
ラベル情報とスループットとの間の前記所定のマッピング関係を確立することは、
様々なサービスのサービスデータの処理優先度を決定するステップと、
様々な処理優先度とラベル情報との間のマッピング関係を決定するステップと、
前記処理優先度に基づいて、前記処理優先度に対応するスループットを決定するステップと、
前記処理優先度に対応するラベル情報と前記スループットとの間のマッピング関係を確立するステップと
を含む、請求項1に記載のデータ処理方法。
【請求項３】
同じサービスデータのスループットは、様々な期間において異なる、請求項2に記載のデータ処理方法。
【請求項４】
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得する前記ステップは、
前記スループットおよび前記ブロックの記憶容量に基づいて、前記ラベル情報を含むサービスデータの量を決定するステップと、
前記ラベル情報を含む前記量の前記サービスデータを前記データ処理セットから取得するステップと
を含む、請求項1に記載のデータ処理方法。
【請求項５】
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得する前記ステップは、
前記サービスデータがラベル情報を含まないとの決定に応じて、前記ブロックの空き容量に基づき、前記空き容量を満足し、ラベル情報を含まないサービスデータを前記データ処理セットから取得するステップ、または
前記ラベル情報に対応するスループットがヌルであるとの決定に応じて、前記ブロックの空き容量に基づき、前記空き容量を満足し、前記ラベル情報を含むサービスデータを前記データ処理セットから取得するステップ
を含む、請求項1から4のいずれか一項に記載のデータ処理方法。
【請求項６】
前記ノードが、前記指定された期間内に生成された前記少なくとも1つのサービスデータを受信するとき、前記方法は、
前記サービスデータに含まれる前記ラベル情報に基づいて、前記ラベル情報に対応する前記データ処理セットを決定するステップと、
前記決定されたデータ処理セットに前記サービスデータを格納するステップと
をさらに含む、請求項1に記載のデータ処理方法。
【請求項７】
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得する前記ステップは、
前記スループットおよびサービスデータのタイムスタンプに基づいて、前記ラベル情報に対応する前記データ処理セットから前記スループットを満足するサービスデータを取得するステップ
を含む、請求項6に記載のデータ処理方法。
【請求項８】
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得する前記ステップは、
前記ラベル情報に対応する前記データ処理セットに格納されているサービスデータの量が前記スループットより少ないとの決定に応じて、前記データ処理セットに格納されているサービスデータの前記量に基づき、前記データ処理セットから前記サービスデータを取得するステップ
を含む、請求項6に記載のデータ処理方法。
【請求項９】
新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、前記ラベル情報に対応するスループットを決定する前記ステップは、
前記新たなブロックが生成されると、受信されたサービスデータが少なくとも2つの異なる処理優先度に対応するとの決定に応じて、異なる処理優先度のラベル情報に対応するスループットを決定するステップであって、異なるラベル情報に対応するスループットの合計が前記ブロックの記憶容量以下である、ステップ
を含む、請求項1に記載のデータ処理方法。
【請求項１０】
指定された期間内に生成された少なくとも1つのサービスデータを受信するように構成され、前記サービスデータは、前記サービスデータの処理優先度を表すために用いられるラベル情報を含む、受信ユニットと、
新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて前記ラベル情報に対応するスループットを決定するように構成された決定ユニットと、
前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するように構成され、前記受信されたサービスデータは前記データ処理セットに格納される、取得ユニットと、
前記取得されたサービスデータを前記ブロックに格納するように構成された処理ユニットと
を含む、ブロックチェーンベースのデータ処理装置。
【請求項１１】
確立ユニットをさらに含み、
前記確立ユニットがラベル情報とスループットとの間の前記所定のマッピング関係を確立するということは、
様々なサービスのサービスデータの処理優先度を決定することと、
様々な処理優先度とラベル情報との間のマッピング関係を決定することと、
前記処理優先度に基づいて、前記処理優先度に対応するスループットを決定することと、
前記処理優先度に対応するラベル情報と前記スループットとの間のマッピング関係を確立することと
を含む、
請求項10に記載のデータ処理装置。
【請求項１２】
同じサービスデータのスループットは、様々な期間において異なる、請求項11に記載のデータ処理装置。
【請求項１３】
前記取得ユニットが、前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するということは、
前記スループットおよび前記ブロックの記憶容量に基づいて、前記ラベル情報を含むサービスデータの量を決定することと、
前記ラベル情報を含む前記量の前記サービスデータを前記データ処理セットから取得することと
を含む、請求項10に記載のデータ処理装置。
【請求項１４】
前記取得ユニットが、前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するということは、
前記サービスデータがラベル情報を含まないとの決定に応じて、前記ブロックの空き容量に基づき、前記空き容量を満足し、ラベル情報を含まないサービスデータを前記データ処理セットから取得すること、または
前記ラベル情報に対応するスループットがヌルであるとの決定に応じて、前記ブロックの空き容量に基づき、前記空き容量を満足し、前記ラベル情報を含むサービスデータを前記データ処理セットから取得すること
を含む、請求項10から13のいずれか一項に記載のデータ処理装置。
【請求項１５】
前記受信ユニットが、前記指定された期間内に生成された前記少なくとも1つのサービスデータを受信するとき、前記データ処理装置における格納ユニットは、
前記サービスデータに含まれる前記ラベル情報に基づいて、前記ラベル情報に対応する前記データ処理セットを決定し、
前記決定されたデータ処理セットに前記サービスデータを格納する
ように構成されている、請求項10に記載のデータ処理装置。
【請求項１６】
前記取得ユニットが、前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するということは、
前記スループットおよびサービスデータのタイムスタンプに基づいて、前記ラベル情報に対応する前記データ処理セットから前記スループットを満足するサービスデータを取得すること
を含む、請求項15に記載のデータ処理装置。
【請求項１７】
前記取得ユニットが、前記スループットに基づいて、前記スループットを満足し、前記ラベル情報を含むサービスデータを、データ処理セットから取得するということは、
前記ラベル情報に対応する前記データ処理セットに格納されているサービスデータの量が前記スループットより少ないとの決定に応じて、前記データ処理セットに格納されているサービスデータの前記量に基づき、前記データ処理セットから前記サービスデータを取得すること
を含む、請求項15に記載のデータ処理装置。
【請求項１８】
前記決定ユニットが、新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、前記ラベル情報に対応するスループットを決定するということは、
前記新たなブロックが生成されると、受信されたサービスデータが少なくとも2つの異なる処理優先度に対応するとの決定に応じて、異なる処理優先度のラベル情報に対応するスループットを決定し、異なるラベル情報に対応するスループットの合計が前記ブロックの記憶容量以下であること
を含む、請求項10に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、インターネット情報処理技術の分野およびコンピュータ技術の分野に関し、特に、ブロックチェーンベースのデータ処理方法および装置に関する。
【背景技術】
【０００２】
ブロックチェーン技術は分散型台帳技術とも呼ばれる。分散型インターネットデータベース技術として、ブロックチェーン技術は、分散化、透明性、非改ざん性、および信頼性を特徴としている。ブロックチェーン技術に基づいて構築されたネットワークは、ブロックチェーンネットワークと呼ぶことができる。ブロックチェーンネットワークは、ネットワークノード(これはブロックチェーンノードとも呼ぶことができ、以下では単にノードと呼ぶ)を含む。各ネットワークノードは少なくとも1つのブロックチェーンに対応し、各ブロックチェーンは少なくとも1つのブロックを含む。
【０００３】
格納されるべきデータを受信すると、ネットワークノードはその格納されるべきデータをブロックチェーンネットワーク内の他のネットワークノードにブロードキャストする。したがって、ブロックチェーンネットワーク内の各ネットワークノードは、ブロックチェーンネットワークの全データを格納し、1つのネットワークノードに格納されているデータは別のノードに格納されているデータと一致する。
【０００４】
データは通常、2つの段階でブロックチェーンネットワークに格納される。第1段階では、ブロックチェーンネットワーク内のノードが、格納されるべきデータを受信し、そのデータをブロックチェーンネットワーク全体にブロードキャストする。このように、ブロックチェーンネットワーク内の各ノードは格納されるべきデータを受信する。この場合、ブロックチェーンネットワーク内の各ネットワークノードは、キャッシュに格納されるべきデータを書き込む。第2段階では、格納されるべきデータを格納する許可を得たブロックチェーンネットワーク内のネットワークノードが、記録許可を得たときにブロックに格納されるべきデータを書き込み、そのブロックを既存のブロックチェーンに追加する。データは、非同期書き込み方式を用いてブロックチェーンネットワークに格納されることが分かる。
【０００５】
しかしながら、実際のサービスシナリオでは、サービスデータが非同期書き込み方式を用いてブロックチェーンネットワークに格納されるとき、一般に、データプールキューが第1段階で維持され、格納されるべきデータは、この格納されるべきデータのタイムスタンプに基づいてデータプールキューに順次書き込まれる。このように、第2段階では、データプールキューに格納されるべきデータが先入れ先出し原理に基づいてブロックに書き込まれる。
【０００６】
いくつかの研究によれば、以前の方法では、ブロックチェーンネットワークにデータを格納することにおいて以下の問題がある。すなわち、サービス優先度が比較的高いサービスについて、サービスデータ処理効率が比較的低く、したがってこれらのサービスの処理効率が比較的低い。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記を鑑みて、本願の実施形態は、ブロックチェーンベースのデータ処理方法および装置を提供し、サービス優先度が比較的高いサービスデータを処理する効率が低いという既存技術の問題を軽減する。
【課題を解決するための手段】
【０００８】
本願の一実施形態は、以下のステップを含むブロックチェーンベースのデータ処理方法を提供する。すなわち、本データ処理方法は、ブロックチェーンネットワーク内のノードによって、指定された期間内に生成された少なくとも1つのサービスデータを受信するステップであって、サービスデータは、サービスデータの処理優先度を表すために用いられるラベル情報を含む、ステップと、新たなブロックが生成されると、ノードによって、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットを決定するステップと、ノードによって、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得するステップであって、受信されたサービスデータはデータ処理セットに格納される、ステップと、取得されたサービスデータをブロックに格納するステップと、を含む。
【０００９】
本願の一実施形態は、以下を含むブロックチェーンベースのデータ処理装置をさらに提供する。すなわち、本データ処理装置は、指定された期間内に生成された少なくとも1つのサービスデータを受信するように構成され、サービスデータは、サービスデータの処理優先度を表すために用いられるラベル情報を含む、受信ユニットと、新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットを決定するように構成された決定ユニットと、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得するように構成され、受信された前記サービスデータは前記データ処理セットに格納される、取得ユニットと、取得されたサービスデータをブロックに格納するように構成された処理ユニットと、を含む。
【発明の効果】
【００１０】
本願の実施形態において用いられる前述の技術的解決策の少なくとも1つは、以下の有益な効果を達成することができる。
【００１１】
様々な処理優先度のサービスデータについてスループットが決定され、サービスデータがブロックに格納されるとき、この様々な処理優先度のサービスデータが取得されるので、この様々な処理優先度のサービスデータを処理することができ、時間にのみ基づいてサービスデータを処理するという既存技術の規則を破ることができ、サービス優先度が比較的高いサービスを処理する効率が低いという既存技術の問題を軽減することができる。本願の実施形態において提供される解決策は、処理優先度が高いサービスデータを処理する効率を保証するだけでなく、処理優先度が低いサービスデータを処理する効率も保証する。処理優先度が満足されると、ブロックチェーン内のサービスデータを処理する柔軟性が高まり、サービスアプリケーション分野におけるブロックチェーンの使用価値も向上する。
【００１２】
ここに記載の添付の図面は、本願のさらなる理解を提供することを意図しており、本願の一部を構成している。本願の例示的な実施形態およびその説明は、本願を説明することを意図しており、本願に対する限定を構成するものではない。
【図面の簡単な説明】
【００１３】
【図１】本願の一実施形態による、ブロックチェーンベースのデータ処理方法を示す概略フローチャートである。
【図２】本願の一実施形態による、様々な処理優先度のサービスデータに対応するデータ処理セットを示す概略図である。
【図３】本願の一実施形態による、ブロックチェーンベースのデータ処理方法のシナリオを示す図である。
【図４】本願の一実施形態による、ブロックチェーンベースのデータ処理装置を示す概略構造図である。
【発明を実施するための形態】
【００１４】
本願の目的、技術的解決策、および利点をより明確にするため、本願の具体的な実施形態および添付の図面を参照して、本願の技術的解決策を明確かつ包括的に以下に説明する。明らかに、記載された実施形態は本願の実施形態のすべてではなく、単にいくつかにすぎない。本願の実施形態に基づいて創造的な努力なしに当業者によって得られる他のすべての実施形態は、本願の保護範囲内に入るものとする。
【００１５】
添付の図面を参照し、本願の実施形態において提供される技術的解決策を以下に詳細に説明する。
【００１６】
図1は、本願の一実施形態による、ブロックチェーンベースのデータ処理方法を示す概略フローチャートである。方法は以下のように説明することができる。本願のこの実施形態における実行主体は、ブロックチェーンネットワーク内の任意のサービスノード(ブロックチェーンノードとも呼ぶことができ、以下では単にノードと呼ぶ)とすることができ、ここでは限定されない。本願のこの実施形態では、詳細に説明するため、実行主体がノードである例を用いる。
【００１７】
ステップ101:ブロックチェーンネットワーク内のノードは、指定された期間内に生成された少なくとも1つのサービスデータを受信する。
【００１８】
サービスデータは、サービスデータの処理優先度を表すために用いられるラベル情報を含む。
【００１９】
本願のこの実施形態においては、様々なサービスについて生成されたサービスデータについて処理優先度を設定することができ、サービスデータが生成されると、サービスデータの処理優先度を示すラベル情報が、サービスデータに付加される。このように、サービスデータが受信されると、ラベル情報に基づいてサービスデータの処理優先度を決定することができる。ここでの処理優先度は処理レベルとも呼ぶことができる。実施形態はここでは限定されない。
【００２０】
加えて、本願のこの実施形態においては、サービスデータについて設定される処理優先度は、サービスタイプに基づいて決定されえ、または他の要因に基づいて決定されうる。実施形態はここでは限定されない。たとえば、同じサービスについて生成された異なるサービスデータの処理優先度は、同じでもよいし異なってもよい。互いに異なるサービスについて生成された異なるサービスデータの処理優先度は、同じでもよいし異なってもよい。
【００２１】
たとえば、まず、サービス優先度は、様々なサービスについて決定されうる。ここで、サービス優先度は、サービスデータの処理優先度に対応し、すなわち、サービス優先度が高いほど、サービスについて生成されたサービスデータのサービス処理優先度が高いことを示す。その後、サービスデータに1つのフィールドを付加することができる。このフィールドはラベル情報と呼ぶことができ、サービスデータの処理優先度を表すために用いられる。
【００２２】
好ましくは、本願のこの実施形態において提供される技術的解決策において、様々な処理優先度のサービスデータについてスループットを予め決定することができ、処理優先度に対応するラベル情報と、決定されたスループットとの間のマッピング関係が確立される。
【００２３】
様々なサービスのサービスデータの処理優先度が決定され、様々な処理優先度とラベル情報との間のマッピング関係が決定される。処理優先度に対応するスループットは、処理優先度に基づいて決定される。これらの処理優先度に対応するラベル情報とスループットとの間のマッピング関係が確立される。
【００２４】
ここでのスループットは、処理率でもよく、また処理量でもよいということに留意することが重要である。実施形態はここでは限定されない。
【００２５】
表１は、ラベル情報とスループットとの間のマッピング関係の表である。
【００２６】
【表１】
0006716149.tif 000002
【００２７】
表１から、サービスデータに含まれるラベル情報が10,000であれば、これは、サービスデータの処理優先度は第1優先度であるということを示しており、処理優先度についてのスループットは30%であるということが分かる。サービスデータに含まれるラベル情報が20,000であれば、これは、サービスデータの処理優先度は第2優先度であるということを示しており、処理優先度についてのスループットは20%である。サービスデータに含まれるラベル情報が30,000であれば、これは、サービスデータの処理優先度は第3優先度であるということを示しており、処理優先度についてのスループットは10%である。表1に示す処理率は、ブロックチェーン内のブロックの記憶容量を単位として用いていることに留意することが重要である。したがって、ブロックに格納される必要がある特定のサービスのサービスデータの量は、スループットおよびブロックの記憶容量に基づく計算によって得ることができる。
【００２８】
好ましくは、本願の一実施形態において、同じサービスデータのスループットは、様々な期間において異なってもよい。すなわち、同一種類のサービスデータについて複数の処理優先度を設定することができる。このように、サービスデータのスループットは、様々な期間において異なる。
【００２９】
ここで、説明のためにサービスデータAを例として用いる。本願のこの実施形態において、サービスデータAは処理優先度が第1優先度であるサービスデータに属すると仮定する。この場合、サービスデータAのスループットはいつでもブロックの記憶容量の30%を占めることができると特定されうる。加えて、サービスデータAのスループットは動的に調整されうる。
【００３０】
たとえば、期間T1では、サービスデータAは処理優先度が第2優先度のサービスデータに属し、サービスデータAのスループットはブロックの記憶容量の30%を占めることができるということが特定される。期間T2では、サービスデータAは処理優先度が第1優先度のサービスデータに属し、サービスデータAのスループットはブロックの記憶容量の50%を占めることができるということが特定される。期間T3では、サービスデータAは処理優先度が第3優先度のサービスデータに属し、サービスデータAのスループットはブロックの記憶容量の10%を占めることができるということが特定される。このように、本願のこの実施形態においては、期間、ラベル情報、およびスループットの間で予め対応関係がさらに確立されうる。たとえば、サービスデータが生成されると、サービスデータを生成した時間に対応する期間が決定され、その期間に対応するラベル情報がサービスデータに含まれる。
【００３１】
通常、サービスデータ内のフィールドは、ハッシュ値、バージョン番号、公開鍵、署名、サービスデータが属するブロックのハッシュ値、タイムスタンプ(すなわち、ノードがサービスデータを処理する時間)などを含むが、これらに限定されない。この場合、本願のこの実施形態において説明するサービスデータに含まれるフィールドは、表2に示すものを含むが、これらに限定されない。フィールドの具体的な属性を表2において説明する。
【００３２】
【表２】
0006716149.tif 000003
【００３３】
好ましくは、本願のこの実施形態において、決定された処理優先度に基づき、様々な処理優先度のサービスデータについてデータ処理セットをさらに構成することができる。このように、サービスデータを受信すると、サービスデータは、サービスデータに含まれるラベル情報に基づいて別々に格納されうる。すなわち、同じラベル情報を含むサービスデータは、同じデータ処理セットに格納される。
【００３４】
ブロックチェーン内の2つの隣接するブロック間には時間間隔があるので、この時間間隔は、本願のこの実施形態において期間を設定するための基準条件として用いることができるということに留意することが重要である。実施形態はここでは限定されない。
【００３５】
好ましくは、本願のこの実施形態において、ノードが、指定された期間内に生成された少なくとも1つのサービスデータを受信するとき、方法はさらに、サービスデータに含まれるラベル情報に基づいて、ラベル情報に対応するデータ処理セットを決定するステップと、決定されたデータ処理セットにサービスデータを格納するステップと、を含む。
【００３６】
図2は、本願の一実施形態による、様々な処理優先度のサービスデータに対応するデータ処理セットを示す概略図である。2つのデータ処理セットが含まれていることが図2から分かる。一方のデータ処理セットは処理優先度1に対応し、すなわち、処理優先度1に対応するサービスデータがデータ処理セットに格納される。他方のデータ処理セットは処理優先度2に対応し、すなわち、処理優先度2に対応するサービスデータがデータ処理セットに格納される。
【００３７】
ステップ102:新たなブロックが生成されると、ノードは、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットを決定する。
【００３８】
本願のこの実施形態において、ラベル情報とスループットとの間の所定のマッピング関係は以下の方法、すなわち、様々なサービスのサービスデータの処理優先度を決定し、様々な処理優先度とラベル情報との間のマッピング関係を決定するステップと、処理優先度に基づいて、処理優先度に対応するスループットを決定するステップと、処理優先度に対応するラベル情報とスループットとの間のマッピング関係を確立するステップと、で確立することができる。
【００３９】
1つのラベル情報がランダムに選択され、ラベル情報に対応するスループットが、ラベル情報とスループットとの間の所定のマッピング関係に基づいて決定され、選択される。
【００４０】
ここで、ラベル情報は、処理優先度の順序に基づいて選択されえ、処理優先度の順序の高い順に順次決定されうる。さらに、異なるラベル情報に対応するスループットが以前の方法で決定される。
【００４１】
ステップ103:ノードは、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得する。
【００４２】
本願のこの実施形態においては、スループットおよびブロックの記憶容量に基づいて、ラベル情報を含むサービスデータの量が決定される。
【００４３】
ラベル情報を含む量のサービスデータがデータ処理セットから取得され、受信されたサービスデータはデータ処理セットに格納される。
【００４４】
たとえば、処理されるべきサービスデータについて、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットが決定されることができ、たとえば、スループットはp(パーセンテージとして)である。この場合、本願のこの実施形態においては、新たに生成されたブロックの記憶容量が決定される。たとえば、記憶容量がxであれば、ブロックに格納する必要があるラベル情報に対応するサービスデータの量はxpであると決定される。
【００４５】
好ましくは、新たなブロックが生成されると、受信されたサービスデータが少なくとも2つの異なる処理優先度に対応する場合、ノードは、異なる処理優先度のラベル情報に対応するスループットを決定し、異なるラベル情報に対応するスループットの合計はブロックの記憶容量以下である。
【００４６】
たとえば、処理されるべきサービスデータが複数の処理優先度(たとえば、処理優先度1と処理優先度2)に対応していると仮定する。この場合、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットは別々に決定される。たとえば、処理優先度1のラベル情報に対応するスループットはp(パーセンテージとして)であり、処理優先度2のラベル情報に対応するスループットはm(パーセンテージとして)である。
【００４７】
別の例について、処理されるべきサービスデータが複数のサービスに対応していると仮定する(たとえば、サービス1とサービス2で、サービス1に対応する処理優先度は処理優先度1であり、サービス2に対応する処理優先度は処理優先度2である)。この場合、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットは別々に決定される。たとえば、サービス1のラベル情報に対応するスループットはp(パーセンテージとして)であり、サービス2のラベル情報に対応するスループットはm(パーセンテージとして)である。
【００４８】
本願のこの実施形態においては、新たに生成されたブロックの記憶容量が決定される。たとえば、記憶容量がxであれば、ブロックに格納する必要がある処理優先度1のラベル情報に対応するサービスデータの量はxpであり、ブロックに格納する必要がある処理優先度2のラベル情報に対応するサービスデータの量はxmであるということが決定される。ここで、xmとxpとの合計はx以下であるということに留意することが重要である。
【００４９】
別の場合において、あるサービスデータは比較的低い処理優先度を有し、システムはこのサービスデータについてラベル情報を構成せず、またはこのサービスデータについてラベル情報を構成するが、このサービスデータについてスループットを決定しない。この場合について、処理方法は以下の方法、すなわち、サービスデータがラベル情報を含まないときは、ブロックの空き容量に基づき、空き容量を満足し、ラベル情報を含まないサービスデータをデータ処理セットから取得するステップ、またはラベル情報に対応するスループットがヌルであるときは、ブロックの空き容量に基づき、空き容量を満足し、ラベル情報を含むサービスデータをデータ処理セットから取得するステップ、とすることができるが、これに限定されない。
【００５０】
たとえば、受信されたサービスデータは、複数のサービス(たとえば、サービス1、サービス2、およびサービス3)または複数の処理優先度に対応する。この場合、ラベル情報に対応するスループットは、ラベル情報とスループットとの間の所定のマッピング関係に基づいて別々に決定される。たとえば、サービス1のラベル情報に対応するスループットはp(パーセンテージとして)であり、サービス2のラベル情報に対応するスループットはm(パーセンテージとして)であり、サービス3のラベル情報に対応するスループットはヌルである。
【００５１】
本願のこの実施形態においては、新たに生成されたブロックの記憶容量が決定される。たとえば、記憶容量がxであれば、ブロックに格納する必要があるサービス1のラベル情報に対応するサービスデータの量はxpであり、ブロックに格納する必要があるサービス2のラベル情報に対応するサービスデータの量はxmであり、ブロックに格納する必要があるサービス3のラベル情報に対応するサービスデータ量は(1-p-m)×xであるということが決定される。
【００５２】
本願のこの実施形態においてはさらに別の場合があり、すなわち、ラベル情報に対応するデータ処理セットに格納されたサービスデータの量がスループットより少なく、これは、データ処理セットに格納されたサービスデータは、スループットの要件を満足することができないということを意味している。リソースの適切な使用を実現するため、この場合、データ処理セットに格納されているサービスデータの量に基づいてデータ処理セットからサービスデータが取得される。すなわち、データ処理セットに格納されているすべてのサービスデータが読み出される。
【００５３】
本願のこの実施形態においては、スループットおよびサービスデータのタイムスタンプに基づいて、ラベル情報に対応するデータ処理セットからスループットを満足するサービスデータが取得される。
【００５４】
スループットを満足するサービスデータは、サービスデータの対応する処理時間の順序に基づいて、ラベル情報に対応するデータ処理セットから取得される。
【００５５】
ステップ104:ノードは、取得されたサービスデータをブロックに格納する。
【００５６】
本願のこの実施形態において、取得されたサービスデータは、サービスデータの対応する処理時間の順序に基づいてブロックに順次格納される。
【００５７】
本願のこの実施形態において提供される技術的解決策によれば、様々な処理優先度のサービスデータについてスループットが決定され、サービスデータがブロックに格納されるとき、様々な処理優先度のサービスデータが取得されるので、様々な処理優先度のサービスデータが処理されえ、時間にのみ基づいてサービスデータを処理するという既存技術の規則を破ることができ、サービス優先度が比較的高いサービスを処理する効率が低いという既存技術の問題を軽減することができる。本願の実施形態において提供される解決策は、処理優先度が高いサービスデータを処理する効率を保証するだけでなく、処理優先度が低いサービスデータを処理する効率も保証する。処理優先度が満足されると、ブロックチェーン内のサービスデータを処理する柔軟性が高まり、サービスアプリケーション分野におけるブロックチェーンの使用価値も向上する。
【００５８】
図3は、本願の一実施形態による、ブロックチェーンベースのデータ処理方法のシナリオを示す図である。サービスデータを受信すると、ブロックチェーンネットワーク内のノードがこのサービスデータのラベル情報を決定するということが図3から分かる。新たなブロックが生成されると、サービスデータのサービス処理優先度に基づいてサービスデータの処理量を決定することができ、この処理量を満足するサービスデータがキャッシュから取得されてブロックに格納される(これは、先の実施形態におけるステップ102およびステップ103における方式で実施される)。
【００５９】
図4は、本願の一実施形態による、ブロックチェーンベースのデータ処理装置を示す概略構造図である。このデータ処理装置は、受信ユニット401と、決定ユニット402と、取得ユニット403と、処理ユニット404と、を含む。
【００６０】
受信ユニット401は、指定された期間内に生成された少なくとも1つのサービスデータを受信するように構成され、サービスデータは、サービスデータの処理優先度を表すために用いられるラベル情報を含む。
【００６１】
決定ユニット402は、新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットを決定するように構成されている。
【００６２】
取得ユニット403は、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得するように構成され、受信されたサービスデータはデータ処理セットに格納される。
【００６３】
処理ユニット404は、取得されたサービスデータをブロックに格納するように構成されている。
【００６４】
本願の別の実施形態において、データ処理装置は確立ユニット405をさらに含む。
【００６５】
確立ユニット405は、ラベル情報とスループットとの間の所定のマッピング関係を確立し、以下のこと、すなわち、様々なサービスのサービスデータの処理優先度を決定し、様々な処理優先度とラベル情報との間のマッピング関係を決定することと、処理優先度に基づいて、処理優先度に対応するスループットを決定することと、処理優先度に対応するラベル情報とスループットとの間のマッピング関係を確立することと、を含む。
【００６６】
本願の別の実施形態において、同じサービスデータのスループットは、様々な期間において異なる。
【００６７】
本願の別の実施形態において、取得ユニット403は、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得し、以下のこと、すなわち、スループットおよびブロックの記憶容量に基づいて、ラベル情報を含むサービスデータの量を決定することと、ラベル情報を含む量のサービスデータをデータ処理セットから取得することと、を含む。
【００６８】
本願の別の実施形態において、取得ユニット403は、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得し、以下のこと、すなわち、サービスデータがラベル情報を含まないときは、ブロックの空き容量に基づき、空き容量を満足し、ラベル情報を含まないサービスデータをデータ処理セットから取得すること、またはラベル情報に対応するスループットがヌルであるときは、ブロックの空き容量に基づき、空き容量を満足し、ラベル情報を含むサービスデータをデータ処理セットから取得すること、を含む。
【００６９】
本願の別の実施形態において、データ処理装置は格納ユニット406をさらに含む。
【００７０】
ノードが、指定された期間内に生成された少なくとも1つのサービスデータを受信すると、格納ユニット406は、サービスデータに含まれるラベル情報に基づいて、ラベル情報に対応するデータ処理セットを決定し、決定されたデータ処理セットにサービスデータを格納する。
【００７１】
本願の別の実施形態において、取得ユニット403は、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得し、以下のこと、すなわち、スループットおよびサービスデータのタイムスタンプに基づいて、ラベル情報に対応するデータ処理セットからスループットを満足するサービスデータを取得することを含む。
【００７２】
本願の別の実施形態において、取得ユニット403は、スループットに基づいて、スループットを満足し、ラベル情報を含むサービスデータを、データ処理セットから取得し、以下のこと、すなわち、ラベル情報に対応するデータ処理セットに格納されているサービスデータの量がスループットより少ないとき、データ処理セットに格納されているサービスデータの量に基づいてデータ処理セットからサービスデータを取得することを含む。
【００７３】
本願の別の実施形態において、決定ユニット402は、新たなブロックが生成されると、ラベル情報とスループットとの間の所定のマッピング関係に基づいて、ラベル情報に対応するスループットを決定し、以下のこと、すなわち、新たなブロックが生成されると、受信されたサービスデータが少なくとも2つの異なる処理優先度に対応する場合、異なる処理優先度のラベル情報に対応するスループットを決定することを含み、異なるラベル情報に対応するスループットの合計はブロックの記憶容量以下である。
【００７４】
本願のこの実施形態において提供されるデータ処理装置は、ソフトウェアまたはハードウェアを用いることによって実現できるということに留意することが重要である。実施形態はここでは限定されない。本願のこの実施形態において説明したデータ処理装置は、様々な処理優先度のサービスデータについてスループットを決定し、サービスデータがブロックに格納されると、この様々な処理優先度のサービスデータを取得するので、この様々な処理優先度のサービスデータを処理することができ、時間にのみ基づいてサービスデータを処理するという既存技術の規則を破ることができ、サービス優先度が比較的高いサービスを処理する効率が低いという既存技術の問題を軽減することができる。本願の実施形態において提供される解決策は、処理優先度が高いサービスデータを処理する効率を保証するだけでなく、処理優先度が低いサービスデータを処理する効率も保証する。処理優先度が満足されると、ブロックチェーン内のサービスデータを処理する柔軟性が高まり、サービスアプリケーション分野におけるブロックチェーンの使用価値も向上する。
【００７５】
1990年代においては、技術的な改善がハードウェアの改善(たとえば、ダイオード、トランジスタ、またはスイッチなどの回路構造に対する改善)であるのか、ソフトウェアの改善(方法手順に対する改善)であるのかは明らかに区別することができる。しかしながら、技術が発展するにつれて、多くの方法手順に対する現在の改良はハードウェア回路構造に対する直接的な改良とみなすことができる。設計者は通常、改良された方法手順をハードウェア回路にプログラムして、対応するハードウェア回路構造を得る。したがって、ハードウェアエンティティモジュールを用いることによって方法手順を改善することができる。たとえば、プログラマブルロジックデバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))はそのような集積回路であり、PLDの論理機能はデバイスプログラミングを通してユーザによって決定される。設計者は、特定用途向け集積回路チップの設計および製造をチップ製造者に要求することなく、デジタルシステムをPLDに「統合」するためのプログラミングを実行する。加えて、現在のところ、集積回路チップを手作業で製造する代わりに、そのようなプログラミングはほとんど「論理コンパイラ」ソフトウェアを用いることによって実施されている。論理コンパイラソフトウェアは、プログラムの開発と作成に用いられるソフトウェアコンパイラに似ている。元のコードは、コンパイルのために特定のプログラミング言語で書く必要がある。この言語は、ハードウェア記述言語(HDL)と呼ばれている。アドバンストブール演算式言語(ABEL)、アルテラハードウェア記述言語(AHDL)、コンフルエンス、コーネル大学プログラミング言語(CUPL)、HDCal、Java（登録商標）ハードウェア記述言語(JHDL)、Lava、Lola、MyHDL、PALASM、およびRubyハードウェア記述言語(RHDL)など、多くのHDLがある。超高速集積回路ハードウェア記述言語(VHDL)およびヴェリログが最も一般的に用いられている。論理的方法手順を実施するハードウェア回路は、記載したいくつかのハードウェア記述言語を用いることによってこの方法手順が論理的にプログラムされ、集積回路にプログラムされると、容易に得ることができるということも当業者は理解すべきである。
【００７６】
任意の適切な方法を用いることによってコントローラを実装することができる。たとえば、コントローラは、マイクロプロセッサもしくはプロセッサ、またはこのマイクロプロセッサもしくはプロセッサが実行することができるコンピュータ可読プログラムコード(ソフトウェアまたはファームウェアなど)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブルロジックコントローラ、または内蔵マイクロプロセッサとすることができる。コントローラの例には、以下のマイクロプロセッサが含まれるが、これらに限定されない。すなわち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicon Labs C8051F320である。メモリコントローラは、メモリの制御ロジックの一部としても実装することができる。当業者はまた、コンピュータ可読プログラムコードを用いることによってコントローラを実装することに加えて、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラ、および内蔵マイクロコントローラの形でコントローラが同じ機能を実現することを可能にする方法ステップで論理プログラミングを実行できるということを知っている。したがって、コントローラはハードウェアコンポーネントとみなすことができ、コントローラにおいて様々な機能を実現するように構成された装置もハードウェアコンポーネント内の構造とみなすことができる。または、様々な機能を実現するように構成された装置は、方法を実行するソフトウェアモジュールおよびハードウェアコンポーネント内の構造の両方とみなすことさえもできる。
【００７７】
先の実施形態に示したシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを用いることによって実現することができ、または特定の機能を有する製品を用いることによって実現することができる。典型的な実装装置はコンピュータである。コンピュータは、たとえば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレットコンピュータ、またはウェアラブルデバイス、またはこれらのデバイスのいずれかの組み合わせとすることができる。
【００７８】
説明を容易にするために、上記の装置は、機能を様々なユニットに分割することによって説明されている。もちろん、本願が実施されるとき、各ユニットの機能は1つまたは複数のソフトウェアおよび/またはハードウェアにおいて実現することができる。
【００７９】
当業者は、本開示の実施形態は方法、システム、またはコンピュータプログラム製品として提供されうるということを理解すべきである。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアとの組み合わせを用いた実施形態という形態を用いることができる。さらに、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(ディスクメモリ、CD-ROM、光メモリなどを含むがこれらに限定されない)上に実装されるコンピュータプログラム製品の形態を用いることができる。
【００８０】
本開示は、本開示の実施形態に基づく方法、装置(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明されている。フローチャートおよび/またはブロック図中の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図中のプロセスおよび/またはブロックの組み合わせを実現するためにコンピュータプログラム命令を用いることができるということに留意することが重要である。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または機械を生成するための別のプログラム可能データ処理装置のプロセッサに提供することができるので、コンピュータまたは別のプログラム可能データ処理装置のプロセッサによって実行される命令は、フローチャート中の1つもしくは複数のプロセスおよび/またはブロック図中の1つもしくは複数のブロックにおいて特定の機能を実現するための装置を生成する。
【００８１】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理装置に特定の方式で動作するように命令することができるコンピュータ可読メモリに格納することができるので、コンピュータ可読メモリに格納された命令は、命令装置を含むアーチファクトを生成する。命令装置は、フローチャート中の1つもしくは複数のプロセスおよび/またはブロック図中の1つもしくは複数のブロックにおいて特定の機能を実現する。
【００８２】
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラム可能データ処理装置にロードすることができるので、コンピュータまたは別のプログラム可能装置上で一連の動作およびステップが実行され、これによってコンピュータ実施処理が生成される。したがって、コンピュータまたは別のプログラム可能装置上で実行される命令は、フローチャート中の1つもしくは複数のプロセスおよび/またはブロック図中の1つもしくは複数のブロックにおいて特定の機能を実現するためのステップを提供する。
【００８３】
典型的な構成において、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)と、1つまたは複数の入力/出力インターフェースと、1つまたは複数のネットワークインターフェースと、1つまたは複数のメモリと、を含む。
【００８４】
メモリは、非持続性メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/またはコンピュータ可読媒体内にある別の形態、たとえば、リードオンリーメモリ(ROM)もしくはフラッシュメモリ(フラッシュRAM)を含むことができる。メモリは、コンピュータ可読媒体の一例である。
【００８５】
コンピュータ可読媒体は、任意の方法または技術を用いることによって情報を格納することができる持続的、非持続的、移動可能、および移動不能の媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体の例には、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリまたは別のメモリ技術、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)または別の光学記憶装置、カセット磁気テープ、磁気テープ/磁気ディスク記憶装置または他の磁気記憶装置が含まれるが、これらに限定されない。コンピュータ記憶媒体は、コンピューティングデバイスによってアクセス可能な情報を格納するために用いることができる。本明細書における定義に基づいて、コンピュータ可読媒体は、変調データ信号および搬送波などの一時的コンピュータ可読媒体(一時的媒体)を含まない。
【００８６】
「含む」、「含有する」という用語、またはこれらの他の変形は、非排他的な包含を網羅することを意図しているので、要素の列挙を含むプロセス、方法、製品または装置は、それらの要素を含むだけでなく、明示的に列挙されていない他の要素をも含み、またはそのようなプロセス、方法、製品もしくは装置に固有の要素をさらに含むということにさらに留意することが重要である。より多くの制約がなければ、「・・・を含む」の前の要素は、その要素を含むプロセス、方法、製品または装置における追加の同一の要素の存在を排除するものではない。
【００８７】
本願は、コンピュータ、たとえばプログラムモジュールによって実行されるコンピュータ実行可能命令の一般的な文脈において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散コンピューティング環境においても実施することができる。分散コンピューティング環境においては、通信ネットワークを介して接続された遠隔処理装置によってタスクが実行される。ある分散コンピューティング環境においては、プログラムモジュールは、記憶装置を含むローカルとリモートの両方のコンピュータ記憶媒体に配置することができる。
【００８８】
本明細書における実施形態は漸進的な方法で記載されている。実施形態の同一または類似の部分については、これらの実施形態を参照することができる。各実施形態は、他の実施形態との違いに焦点を当てている。特に、システムの実施形態は方法の実施形態と基本的に同様であるため、簡単に説明している。関連部分については、方法の実施形態における関連説明を参照することができる。
【００８９】
先の実施形態は本願の実施形態であり、本願を限定することを意図していない。当業者は、本願に対して様々な修正および変更を加えることができる。本願の趣旨および原理から逸脱することなくなされたいかなる修正、均等な置換、または改良も、本願における特許請求の範囲内に含まれるものとする。
【符号の説明】
【００９０】
401  受信ユニット
402  決定ユニット
403  取得ユニット
404  処理ユニット
405  確立ユニット
406  格納ユニット
【図１】
0006716149.tif 000004
【図２】
0006716149.tif 000005
【図３】
0006716149.tif 000006
【図４】
0006716149.tif 000007