(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-16
(45)【発行日】2022-05-24
(54)【発明の名称】患者データ共有無しの多中心生物医学データのコラボレーション処理システム及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20220517BHJP
G06F 16/28 20190101ALI20220517BHJP
G16H 10/60 20180101ALI20220517BHJP
【FI】
G06N20/00
G06F16/28
G16H10/60
(21)【出願番号】P 2021533305
(86)(22)【出願日】2020-04-07
(86)【国際出願番号】 CN2020083587
(87)【国際公開番号】W WO2020233257
(87)【国際公開日】2020-11-26
【審査請求日】2021-06-10
(31)【優先権主張番号】201910629257.6
(32)【優先日】2019-07-12
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】521162399
【氏名又は名称】之江実験室
(74)【代理人】
【識別番号】100128347
【氏名又は名称】西内 盛二
(72)【発明者】
【氏名】李 ▲勁▼松
(72)【発明者】
【氏名】朱 ▲イエン▼
(72)【発明者】
【氏名】田 雨
(72)【発明者】
【氏名】王 ▲ユー▼
(72)【発明者】
【氏名】▲馮▼ 毓琅
【審査官】中村 信也
(56)【参考文献】
【文献】中国特許出願公開第109977694(CN,A)
【文献】米国特許出願公開第2019/0050749(US,A1)
【文献】米国特許出願公開第2017/0357760(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-3/12
G06N 7/08-99/00
G06N 5/00-7/06
G16H 10/60
G06F 16/28
(57)【特許請求の範囲】
【請求項1】
患者データ共有無しの多中心生物医学データコラボレーション処理システムであって、該システムは各医療センターモデルパラメータと非同期計算をコラボレートするためのクラウドサーバ及びデータにローカル高性能計算を展開するための医療センタークライアントを含み、
前記医療センタークライアントは発起者及び参加者の二つのキャラクタを有し、発起者とする場合、クラウドサーバに医学データコラボレーション処理要求を送信すると同時に、ユーザの予め定義された分析モデル及びモデルパラメータ、並びにコラボレーション処理に誘おうとする医療センターリストを伝送し、タスクスケジューラから送信された初期化コラボレーション分析モデル及びモデルパラメータを待ち、参加者とする場合、タスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラにコラボレーション参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了し、
前記医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信したときに、
前記モデル反復計算により得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードし、ここでタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、ローカルバッファバッファ
におけるコラボレーション分析モデル及びモデルパラメータを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶し、計算精度が設定閾値を満たすまで反復し続け、計算を終了し、
前記クラウドサーバはパラメータマネージャ及びタスクスケジューラを含み、前記タスクスケジューラは
発起者とする医療センタークライアントにより開始された医学データコラボレーション処理要求を受信した後、
前記医療センタークライアントから送信された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信し、前記タスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを受信することを含み、判断が終了した後にパラメータマネージャを始動し、パラメータマネージャは発起者の予め定義された分析モデル及びモデルパラメータ、並びに参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信し、
前記タスクスケジューラは医療センタークライアントがアップロードした
、現在の反復計算から得られたモデルパラメータ及び計算進捗を受信した後、
コラボレーション分析モデル
のために計算リソース分割を行うとともに、
医療センタークライアントがアップロードした、現在の反復計算から得られたモデルパラメータをパラメータマネージャに記憶し、
計算進捗をタスクスケジューラに記憶し、タスクスケジューラは対応する医療センタークライアントからアップロードされた
計算進捗を取得した時に、パラメータマネージャから
対応する医療センタークライアントの現在のモデルパラメータを取り出しかつ
計算進捗及び現在のモデルパラメータに基づいて前記クラウドサーバにおけるコラボレーション分析モデルのモデルパラメータの勾配を計算し、コラボレーション分析モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶された
初期化ローカル分析モデル及びモデルパラメータを更新後の
コラボレーション分析モデル及びモデルパラメータで上書きし、かつ更新後の
コラボレーション分析モデル及びモデルパラメータを該医療センタークライアントに返す
ことを特徴とする患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項2】
前記医療センタークライアントとクラウドサーバはいずれも各自のネットワークインタフェース層を有し、ネットワークインタフェース層はパイソン言語でのフラスク軽量なウェブアプリケーションフレームに基づいて開発され、医用データコラボレーション処理要求とモデルパラメータの通信を実施することに用いられる
ことを特徴とする請求項1に記載の患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項3】
前記医療センタークライアントはコラボレーション処理要求、
初期化コラボレーション分析モデル及び
ローカル医学データをバッファに記憶し、バッファはNoSQLデータベースにおける非関係性メモリデータベースRedisを採用し、コラボレーション要求の頻繁により引き起こされるクライアント処理圧力を緩和する
ことを特徴とする請求項1に記載の患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項4】
前記医療センタークライアントはGPU(Graphic Processing Unit)を用いてデータ演算と処理を高速化し、前記医療センタークライアント
の分析アルゴリズムはパイソン言語に基づいて、Scala、C++、R、Julia、GO
を含み、使用される科学計算ライブラリはNumpy、Pandas、Scipy、Breeze、Blitz++、POOMA、BLAS
を含む
ことを特徴とする請求項1に記載の患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項5】
前記タスクスケジューラは各医療センタークライアントに一つのサービスノード及び一つのワーキングノードを割り当て、前記サービスノードは自身に割り当てられた医療センタークライアントのモデルパラメータ及び計算進捗の管理及び更新のみを担当しており、新たな医療センタークライアントがコラボレーション処理に加入する場合に、新たなサービスノードはシステムにおける分散ハッシュテーブルを使用してサービスグループに随時動的に挿入しており、前記ワーキングノードは自身に割り当てられた医療センタークライアントの処理タスクのみを担当し、そのうちパラメータはキー、バリュー(key、value)のセットとして示され、プッシュとプルの操作により各医療センターとクラウドサーバとの間の勾配の同期及び更新を実施する
ことを特徴とする請求項1に記載の患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項6】
前記パラメータマネージャは実際の反復プロセスにおいて、以下のルールにより単一の医療センタークライアントのクラウドサーバにおけるコラボレーションモデルパラメータの更新を行い、単一の医療センタークライアントの小さな勾配値を抑制し、各医療センタークライアントの勾配値がカスタム閾値に累積されるまで待機したときに、該医療センタークライアントの勾配の更新を行う
ことを特徴とする請求項1に記載の患者データ共有無しの多中心生物医学データコラボレーション処理システム。
【請求項7】
患者データ共有無しの多中心生物医学データコラボレーション処理方法であって、該方法が以下のステップを含み、
(1)医療センタークライアントの発起者はクラウドサーバに医学データコラボレーション処理要求を送信すると同時に、ユーザの予め定義された分析モデル及びモデルパラメータ、及びコラボレーション処理に誘おうとする医療センターリストを伝送し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、
(2)クラウドサーバタスクスケジューラは
発起者とする医療センタークライアントにより開始された医療データコラボレーション処理要求を受信した後、
前記医療センタークライアントから送信された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信し、
(3)医療センタークライアント
の参加者はタスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後に、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラ参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了し、
(4)クラウドサーバタスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを含み、
(5)クラウドサーバタスクスケジューラは判断を終了した後にパラメータマネージャを始動し、パラメータマネージャには、発起者の予め定義された分析モデル及びモデルパラメータ、並びに参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信し、
(6)医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから送信された更新後のコラボレーション分析モデル及びモデルパラメータを受信したときに、
前記モデル反復計算
により得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードし、
(7)クラウドサーバタスクスケジューラは医療センタークライアントがアップロードした
、現在の反復計算から得られたモデルパラメータ及び計算進捗を受信した後、
コラボレーション分析モデル
のために計算リソース分割を行うとともに、
医療センタークライアントがアップロードした、現在の反復計算から得られたモデルパラメータをパラメータマネージャに記憶し、
計算進捗をタスクスケジューラに記憶し、タスクスケジューラは対応する医療センタークライアントからアップロードされた
計算進捗を取得した時に、パラメータマネージャから
対応する医療センタークライアントの現在のモデルパラメータを取り出しかつ
計算進捗及び現在のモデルパラメータに基づいて前記クラウドサーバにおけるコラボレーション分析モデルのモデルパラメータの勾配を計算し、
コラボレーション分析モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶された
初期化ローカル分析モデル及びモデルパラメータを更新後の
コラボレーション分析モデル及びモデルパラメータで上書きし、かつ更新後の
コラボレーション分析モデル及びモデルパラメータを該医療センタークライアントに返し、
(8)医療センタークライアントはタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、ローカルバッファバッファ
におけるコラボレーション分析モデル及びモデルパラメータを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶し、計算精度が設定閾値を満たすまで反復し続け、計算を終了する
ことを特徴とする患者データ共有無しの多中心生物医学データコラボレーション処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータコラボレーション処理の分野に属し、特に患者データ共有無しの多中心生物医学データコラボレーション処理システム及び方法に関する。
【背景技術】
【0002】
ビッグデータ技術の発展及びビッグデータに対する分析研究は社会発展と進歩の各方面で支持促進作用を発揮する。現代のデジタル化技術の進展、病院診療プロセス情報化及び電子カルテのプッシュに伴い、医療プロセスにおいては大量のデータを生成する。毎年の世界的に生成された生物医学データはEBレベルに達するが、各医療センターデータは互いに独立し、かつ受診者は大きな異質性を有し、これによって、生物医学研究部は全体関連性を有する医学ビッグデータコラボレーション処理を促進する。
【0003】
従来のマルチ医療センター分散コラボレーション処理フローにおいて、医療センターのデータの一部又は全部をクラウドサーバに共有して最大程度のコラボレーション化及びデータ分布の均一化を達成するように要求し、クラウドサーバにより融合データに指定された医学的問題を分析しかつ結果を各医療センターに送信する。従来の技術の欠点は以下のとおりである。
【0004】
(1)従来のコラボレーション処理過程において患者のプライバシーは非常に無視される。モデルの構築は多中心データの融合に依存し、医療センターデータとクラウドサーバのデータが頻繁に交換する過程において、データが漏洩しやすい。コラボレーション分析は医療データに優位プラットフォームを提供すると同時にデータの安全保護に潜在的なリスクをもたらし、かつコンピュータ性能の持続的な向上のため、クラウドコンピューティング、クラウドストレージ技術の普及によりデータに記憶されたキャリアが既に過去の物理的ステアリング仮想から仮想化され、これは現代のデータプライバシー保護技術に対してより高い要求を提供する。
【0005】
(2)非同期コラボレーション処理モードは各医療センターの計算進捗を待ってクラウドサーバモデルを更新する必要があり、コラボレーション時間の浪費をもたらす。多中心コラボレーションモデルのパラメータには全てのノードが頻繁にアクセスする必要があり、機器性能の差異が大きい場合に、異なる待ち時間が発生し、同時にクラウド環境におけるフォールトトレラント能力も考慮する必要があり、医用データのコラボレーション分析の効率向上に一定の影響をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は従来の多中心医学データのコラボレーション過程においてユーザーデータのプライバシー漏洩及び同期更新モデルの待ち時間が長すぎるという問題に対して、新たな患者データ共有無しの多中心医学データコラボレーション処理システム及び方法を提供することであり、本発明は実際の応用シーンに直面し、全ての患者データの外部流通及び漏洩リスクを十分に回避する前提で、分散コラボレーション処理方法を用いて医療ビッグデータ分析問題を解決し、かつ非同期共有モデルの方法によりモデルのコラボレーション最適化及び演算効率の向上を完了する。
【課題を解決するための手段】
【0007】
本発明は以下の技術的解決手段により実施される。患者データ共有無しの多中心生物医学データコラボレーション処理システムであって、該システムは各医療センターモデルパラメータと非同期計算をコラボレートするためのクラウドサーバ及びデータにローカル高性能計算を展開するための医療センタークライアントを含み、
前記医療センタークライアントは発起者及び参加者の二つのキャラクタを有し、発起者とする場合、クラウドサーバに医学データコラボレーション処理要求を送信すると同時にユーザの予め定義された分析モデル及びモデルパラメータ、並びにコラボレーション処理に誘おう医療センターリストを伝送し、タスクスケジューラから送信された初期化コラボレーション分析モデル及びモデルパラメータを待ち、参加者とする場合、タスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラにコラボレーション参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了し、
前記医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信したときに、計算して得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードし、ここでタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信したときに、ローカルバッファを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶し、計算精度が設定閾値を満たすまで反復し続け、計算を終了し、
前記クラウドサーバはパラメータマネージャ及びタスクスケジューラを含み、前記タスクスケジューラは医療センタークライアントにより開始された医学データコラボレーション処理要求を受信した後、該要求から解析された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信し、前記タスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを受信することを含み、判断が終了した後にパラメータマネージャを始動し、パラメータマネージャは発起者の予め定義された分析モデル及びモデルパラメータ、並びに参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信し、
前記タスクスケジューラは医療センタークライアントがアップロードしたモデルパラメータ及び計算進捗を受信した後、該モデルにリソース分割を行うとともにモデルパラメータをパラメータマネージャに記憶し、計算状態をタスクスケジューラに記憶し、タスクスケジューラは対応する医療センタークライアントからアップロードされた計算状態を取得した時に、パラメータマネージャから現在のモデルパラメータを取り出しかつ勾配を計算し、モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶されたモデル及びモデルパラメータを更新後のモデル及びモデルパラメータで上書きしかつ更新後のモデル及びモデルパラメータを該医療センタークライアントに返す。
【0008】
さらに、前記医療センタークライアントとクラウドサーバはいずれも各自のネットワークインタフェース層を有し、ネットワークインタフェース層はパイソン言語でのフラスク軽量なウェブアプリケーションフレームに基づいて開発され、医用データコラボレーション処理要求とモデルパラメータの通信を実施することに用いられる。
【0009】
さらに、前記医療センタークライアントはコラボレーション処理要求、モデル及びデータをバッファに記憶し、キャッシュはNoSQLデータベースにおける非関係性メモリデータベースRedisを採用し、コラボレーション要求の頻繁により引き起こされるクライアント処理圧力を緩和する。
【0010】
さらに、前記医療センタークライアントはGPU(Graphic Processing Unit)を用いてデータ演算と処理を高速化する。前記医療センタークライアント分析アルゴリズムはPython言語に基づいて、Scala、C++、R、Julia、GO等を含むがこれらに限定されず、使用される科学計算ライブラリはNumpy、Pandas、Scipy、Breeze、Blitz++、POOMA、BLAS等を含むがそれらに限定されない。
【0011】
さらに、前記タスクスケジューラは各医療センタークライアントに一つのサービスノード及び一つのワーキングノードを割り当て、前記サービスノードは自身に割り当てられた医療センタークライアントのモデルパラメータ及び計算進捗の管理及び更新のみを担当しており、新たな医療センタークライアントがコラボレーション処理に加入する場合に、新たなサービスノードはシステムにおける分散ハッシュテーブルを使用してサービスグループに随時動的に挿入しており、前記ワーキングノードは自身に割り当てられた医療センタークライアントの処理タスクのみを担当し、そのうちパラメータはキー、バリュー(key、value)のセットとして示され、プッシュ(push)とプル(pull)の操作により各医療センターとクラウドサーバとの間の勾配の同期及び更新を実施する。
【0012】
さらに、前記パラメータマネージャは実際の反復プロセスにおいて、以下のルールにより単一の医療センタークライアントのクラウドサーバにおけるコラボレーションモデルパラメータの更新を行い、単一の医療センタークライアントの小さな勾配値を抑制し、各医療センタークライアントの勾配値がカスタム閾値に累積されるまで待機したときに該医療センタークライアントの勾配の更新を行い、アルゴリズム収束速度とシステム性能との間にバランスを取る。
【0013】
患者データ共有無しの多中心生物医学データコラボレーション処理方法であって、該方法が以下のステップを含み、
(1)医療センタークライアントの発起者はクラウドサーバに医学データコラボレーション処理要求を送信すると同時にユーザの予め定義された分析モデル及びモデルパラメータを伝送し、及びコラボレーション処理に誘おうとする医療センターリストを伝送しタスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、
(2)クラウドサーバタスクスケジューラは医療センタークライアントにより開始された医療データコラボレーション処理要求を受信した後、該要求から解析された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信し、
(3)医療センタークライアント参加者はタスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後に、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラ参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了し、
(4)クラウドサーバタスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを含み、
(5)クラウドサーバタスクスケジューラは判断を終了した後にパラメータマネージャを始動し、パラメータマネージャには、発起者の予め定義された分析モデル及びモデルパラメータ、並びに参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信し、
(6)医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから送信された更新後のコラボレーション分析モデル及びモデルパラメータを受信したときに、計算して得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードし、
(7)クラウドサーバタスクスケジューラは医療センタークライアントがアップロードしたモデルパラメータ及び計算進捗を受信した後、該モデルにリソース分割を行うとともに、モデルパラメータをパラメータマネージャに記憶し、計算状態をタスクスケジューラに記憶し、タスクスケジューラは対応する医療センタークライアントからアップロードされた計算状態を取得した時に、パラメータマネージャから現在のモデルパラメータを取り出しかつ勾配を計算し、モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶されたモデル及びモデルパラメータを更新後のモデル及びモデルパラメータで上書きし、かつ更新後のモデル及びモデルパラメータを該医療センタークライアントに返し、
(8)医療センタークライアントはタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、ローカルバッファを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶し、計算精度が設定閾値を満たすまで反復し続け、計算を終了する。
【発明の効果】
【0014】
本発明の有益な効果は以下のとおりである。本発明はパラメータ共有メカニズム及び非同期通信メカニズムをクラウドサーバのパラメータマネージャ及びタスクディスパッチャにより接続して管理し、多中心医学データのコラボレーション計算に共通に応用する。医療センターデータとクラウドサーバとの安全隔離を満たすことができ、医療センター患者データのプライバシを十分に保護し、データの高さプライバシを保証すると同時に、多中心医学データコラボレーション処理の医学問題計算を実施する。同時にデータ計算結果を直接同期交換することに比べて計算待ち時間を効果的に減少させ、多中心コラボレーション処理の分析効率及びデータ処理能力を大幅に向上させる。
【図面の簡単な説明】
【0015】
【
図1】本発明の患者データ共有無しの多中心生物医学データコラボレーション処理システムの実施フローチャートである。
【
図3】パラメータマネージャの勾配更新概略図である。
【発明を実施するための形態】
【0016】
以下に図面及び具体的な実施例を参照しながら本発明をさらに詳細に説明する。
【0017】
本発明は患者データ共有無しの多中心生物医学データコラボレーション処理システムを提供し、
図1に示すように、該システムは各医療センターモデルパラメータと非同期計算をコラボレートするためのクラウドサーバ、及びデータにローカル高性能計算を展開するための医療センタークライアントを含む。
【0018】
医療センタークライアントとクラウドサーバはいずれも各自のネットワークインタフェース層を有し、ネットワークインタフェース層はpython言語でのFlask軽量なwebアプリケーションフレームワークに基づいて開発され、Spring Bootなどのwebアプリケーションフレームワークの使用を含むが、これに限定されず、医用データコラボレーション処理要求とモデルパラメータの通信を実施するために用いられる。
【0019】
医療センタークライアントは発起者及び参加者の二つのキャラクタを有する。発起者とする場合、クラウドサーバに医学データコラボレーション処理要求を送信すると同時にユーザの予め定義された分析モデル及びモデルパラメータ、並びにコラボレーション処理に誘おう医療センターリストを伝送し、タスクスケジューラから送信された初期化コラボレーション分析モデル及びモデルパラメータを待つ。参加者とする場合、タスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラにコラボレーション参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了する。
【0020】
医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、計算して得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードする。ここでタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、ローカルバッファを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶する。計算精度が設定閾値を満たすまで反復し続け、計算を終了する。
【0021】
医療センタークライアントはコラボレーション処理要求、モデル及びデータをバッファに記憶し、キャッシュはNosqlデータベースにおける非関係性メモリデータベースRedisを採用することができ、コラボレーション要求の頻繁により引き起こされるクライアント処理圧力を緩和する。医療センタークライアントはGPU(Graphic Processing Unit)を用いてデータ演算と処理を高速化する。医療センタークライアント分析アルゴリズムはPython言語に基づいて、Scala、C++、R、Julia、GO等を含むがこれらに限定されず、使用される科学計算ライブラリはNumpy、Pandas、Scipy、Breeze、Blitz++、POOMA、BLAS等を含むがそれらに限定されない。
【0022】
クラウドサーバはパラメータマネージャ及びタスクスケジューラを含む。前記タスクスケジューラは医療センタークライアントにより開始された医学データコラボレーション処理要求を受信した後、該要求から解析された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信する。前記タスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを受信することを含む。判断が終了した後にパラメータマネージャを始動し、パラメータマネージャには発起者の予め定義された分析モデル及びモデルパラメータ、及び参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信する。
【0023】
タスクスケジューラは医療センタークライアントがアップロードしたモデルパラメータ及び計算進捗を受信した後、該モデルにリソース分割を行い、同時にモデルパラメータをパラメータマネージャに記憶し、計算状態をタスクスケジューラに記憶する。タスクスケジューラは対応する医療センタークライアントがアップロードした計算状態を取得する時に、パラメータマネージャから現在のモデルパラメータを取り出しかつ勾配を計算し、モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶されたモデル及びモデルパラメータに対して更新後のモデル及びモデルパラメータで上書きしかつ更新後のモデル及びモデルパラメータを該医療センタークライアントに返す。
【0024】
タスクスケジューラの主な動作原理は
図2に示すように、タスクスケジューラは各医療センタークライアントに一つのサービスノード及び一つのワーキングノードを割り当てる。前記サービスノードは自身に割り当てられた医療センタークライアントのモデルパラメータ及び計算プログレスの管理及び更新のみを担当する。新たな医療センタークライアントがコラボレーション処理に加入する場合に、新たなサービスノードはシステムにおける分散hashテーブルを使用してサービスグループに随時動的に挿入する。前記ワーキングノードは自身に割り当てられた医療センタークライアントの処理タスクのみを担当し、そのうちパラメータは(key、value)のセットとして示され、pushとpullの操作により各医療センターとクラウドサーバとの間の勾配の同期及び更新を実施する。前記タスクスケジューラはメタデータの一致性、例えば各ノードの状態、パラメータの割り当て状況等をメンテナンスすることを担当する。
【0025】
パラメータマネージャの勾配更新の方法は
図3に示すように、実際の反復プロセスにおいて、毎回計算された勾配が最終最適化に価値があるわけではなく、複数の医療センターが頻繁に送信した小さい勾配値更新モデルに基づいて全体の計算効率が低効率であるため、以下のルールにより単一の医療センタークライアントのクラウドサーバにおけるコラボレーションモデルパラメータの更新を行うことができる。単一の医療センタークライアントの小さな勾配値を抑制し、各医療センタークライアントの勾配値がカスタム閾値まで蓄積することを待つ時にさらに該医療センタークライアントの勾配の更新を行い、アルゴリズム収束速度とシステム性能との間にバランスを取る。
【0026】
コラボレーション処理の具体的なステップは以下を含む。
(1)医療センタークライアントの発起者はクラウドサーバに医学データコラボレーション処理要求を送信すると同時にユーザの予め定義された分析モデル及びモデルパラメータを伝送し、及びコラボレーション処理に誘おうとする医療センターリストを伝送しタスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待つ。
(2)クラウドサーバタスクスケジューラは医療センタークライアントにより開始された医療データコラボレーション処理要求を受信した後、該要求から解析された医療センターリスト中の全ての医療センタークライアントにコラボレーション処理内容及び招待を送信する。
(3)医療センタークライアント参加者はタスクスケジューラから送信されたコラボレーション処理内容及び招待を受信した後に、コラボレーション処理に参加するか否かを決定し、コラボレーションに参加すると決定すると、タスクスケジューラ参加確認の命令を送信し、かつ該参加者の初期化ローカル分析モデル及びモデルパラメータをパラメータマネージャに送信し、タスクスケジューラが返信した初期化コラボレーション分析モデル及びモデルパラメータを待ち、そうでなければ該参加者のコラボレーション処理フローを終了する。
(4)クラウドサーバタスクスケジューラは医療センターリスト中の全ての医療センタークライアントの招待応答状況を判断し、応答状況はコラボレーション参加確認の命令を受信すること、コラボレーション参加拒否の命令を受信すること及びタイムアウトによる未処理のことを含む。
(5)クラウドサーバタスクスケジューラは判断を終了した後にパラメータマネージャを始動し、パラメータマネージャには、発起者の予め定義された分析モデル及びモデルパラメータ、及び参加者の初期化ローカル分析モデル及びモデルパラメータに基づいて、初期化コラボレーション分析モデルを構築し、かつコラボレーション参加確認の参加者及び発起者に初期化コラボレーション分析モデル及びモデルパラメータを送信する。
(6)医療センタークライアントは初期化コラボレーション分析モデル及びモデルパラメータを受信した後、ローカル医学データを準備し、ローカル医学データを初期化コラボレーション分析モデル及びモデルパラメータとともにバッファに記憶し、ローカルでモデル反復計算を行い、予め定義された反復回数に達する度に又はタスクスケジューラから送信された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、計算して得られたモデルパラメータと計算進捗をタスクスケジューラにアップロードする。
(7)クラウドサーバタスクスケジューラは医療センタークライアントがアップロードしたモデルパラメータ及び計算進捗を受信した後、該モデルにリソース分割を行い、同時にモデルパラメータをパラメータマネージャに記憶し、計算状態をタスクスケジューラに記憶する。タスクスケジューラは対応する医療センタークライアントがアップロードした計算状態を取得する時に、パラメータマネージャから現在のモデルパラメータを取り出しかつ勾配を計算し、モデル及びモデルパラメータを更新し、前に該医療センタークライアントによりパラメータマネージャに記憶されたモデル及びモデルパラメータに対して更新後のモデル及びモデルパラメータで上書きしかつ更新後のモデル及びモデルパラメータを該医療センタークライアントに返す。
(8)医療センタークライアントはタスクスケジューラから返送された更新後のコラボレーション分析モデル及びモデルパラメータを受信すると、ローカルバッファを解放し、更新後のコラボレーション分析モデル及びモデルパラメータを記憶する。計算精度が設定閾値を満たすまで反復し続け、計算を終了する。
【0027】
コラボレーション処理過程の主要なサービスフローは
図4に示すとおりである。
【0028】
医療センタークライアントにおいて、ユーザーは可視化されたインタフェースを介して、研究対象の問題に基づいてコラボレーションリクエストを発行し、自分が研究しようとする問題、データ需要、成果帰属、責任細則などの情報を詳細に列挙し、意向ありのコラボレーション中心を待って共同に研究に加入する。類似キューが存在すれば、ユーザーはキュープールにおいて対応するキューを選択するだけでよく、キューを新規作成する必要がある場合、ユーザーはアクセスグループ条件を該研究に参加する全てのコラボレーション中心に共有する必要があり、各センターは新たなキューを作成し、キューデータを選別し、キューデータの選択を完了する。
【0029】
研究しようとする問題の結果要件に基づいて、ユーザーは一種又は複数種の分析方法を選択することができ、適応のパラメータ及び計算要求の結果をカスタマイズする。結果生成過程において、SVM、ニューラルネットワークなどの複雑な分析に対して複数回の反復を必要とするアルゴリズムに対して、ページは結果生成進度と現在結果の参考値を同期して表示する。結果に満足できないか又は変数の選択エラー等を発見すれば、処理過程を選択的に終了することができる。終了していないとコラボレーション処理が終了するまで待ち続け、ページに最終結果を生成し、ユーザーはニーズに基づいて結果の概要レポートを保存するか又は参考として使用することができる。
【0030】
本発明は多中心患者データの共有なしの条件で、複数の医療センターの生物医学データに対してコラボレーション処理を行い、既定のコラボレーション医学問題に対する対応結果を分析する。多中心コラボレーション処理タスクに対して、データは医療センタークライアントに記憶され、医療センタークライアントはローカルモデル計算過程で生成されたパラメータ及び計算プロセス等をクラウドサーバに提出する。クラウドサーバはパラメータマネージャを利用して計算プロセスを統一的に管理しかつモデルを更新し、コラボレーション計算を完了した後に更新後のモデル及びモデルパラメータを医療センタークライアントに送信し、多中心の患者データの共有なしの条件下での生物医学データのコラボレーション処理を達成する。本発明は、各医療センター患者データのプライバシーを効果的に保護しつつ、コラボレーション処理モデルを利用してビッグデータ分析を行うことができる。計算過程において患者データが各医療センターに流通せず、患者データのプライバシー漏洩のリスクがなく、かつ非同期のパラメータ共有メカニズムを利用して計算待ち時間を効果的に減少させ、コラボレーション処理の効率を向上させ、医療データがプライバシーを保証する場合に最も効果的な利用を得る。
【0031】
以上は本発明の実施例だけであり、本発明の保護範囲を限定するものではない。本発明の精神と原則内で、創造的労働を経ずに行われたいかなる修正、同等置換、改善などは、いずれも本発明の保護範囲内に含まれる。