超聲測量系統的模組互動方法和超聲測量系統

超聲測量系統的模組互動方法和超聲測量系統

《超聲測量系統的模組互動方法和超聲測量系統》是深圳市開立科技有限公司於2011年11月3日申請的專利,該專利的申請號為2011103432910,公布號為CN102495755A,授權公布日為2012年6月13日,發明人是周國義、周冬輝。

《超聲測量系統的模組互動方法和超聲測量系統》實施例公開了超聲測量系統的模組互動方法和超聲測量系統。其中,一種超聲測量系統的模組互動方法,超聲測量系統中包括第一模組和至少一個第二模組,方法包括:第一模組創建第一訊息類型;第一模組生成第一訊息類型對應的第一訊息管理組件,並為第一訊息管理組件分配第一組件標籤;第一模組生成符合第一訊息類型的第一訊息;第一模組基於第一組件標籤,調用第一訊息管理組件傳送第一訊息;第二模組在第一訊息管理組件進行了註冊,則第二模組通過第一訊息管理組件接收第一訊息。該發明實施例方案有利於簡化超聲測量系統的模組間互動複雜度。

2016年12月7日,《超聲測量系統的模組互動方法和超聲測量系統》獲得第十八屆中國專利優秀獎。

(概述圖為《超聲測量系統的模組互動方法和超聲測量系統》摘要附圖)

基本介紹

  • 中文名:超聲測量系統的模組互動方法和超聲測量系統
  • 公布號:CN102495755A
  • 授權日:2012年6月13日
  • 申請號:2011103432910
  • 申請日:2011年11月3日
  • 申請人:深圳市開立科技有限公司
  • 地址:廣東省深圳市南山區玉泉路毅哲大廈4樓
  • 發明人:周國義、周冬輝
  • Int.Cl.:G06F9/46(2006.01)I
  • 代理機構:深圳市深佳智慧財產權代理事務所(普通合夥)
  • 代理人:彭願潔、李文紅
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,技術領域,權利要求,實施方式,榮譽表彰,

專利背景

面向對象程式開發方式是2011年11月前主流的程式開發方式之一,其優點是容易實現模組化,缺點是模組之間的互動比較困難。
截至2011年11月,超聲測量系統多採用面向對象程式開發方式設計,由於超聲測量系統涉及的模組通常較多,各個模組之間的互動變得複雜,例如,經常要進行雙向通信、一對多的通信等。2011年11月前通過調用函式接口的方法進行互動極易導致邏輯混亂,以至整個系統難以擴展和維護。

發明內容

專利目的

《超聲測量系統的模組互動方法和超聲測量系統》實施例提供超聲測量系統的模組互動方法和超聲測量系統,以簡化超聲測量系統的模組間互動複雜度。

技術方案

一種超聲測量系統的模組互動方法,所述超聲測量系統中包括第一模組和至少一個第二模組,所述方法包括:
第一模組創建第一訊息類型;所述第一模組生成所述第一訊息類型對應的第一訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;所述第一模組生成符合所述第一訊息類型的第一訊息;所述第一模組基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息;若第二模組在所述第一訊息管理組件進行了註冊,則所述第二模組通過所述第一訊息管理組件接收所述第一訊息。
一種超聲測量系統,所述超聲測量系統中包括第一模組和至少一個第二模組,所述第一模組,用於創建第一訊息類型;生成所述第一訊息類型對應的第一訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;生成符合所述第一訊息類型的第一訊息;基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息;所述第二模組,用於在所述第一訊息管理組件進行了註冊後,通過所述第一訊息管理組件接收所述第一訊息。

改善效果

《超聲測量系統的模組互動方法和超聲測量系統》實施例通過引入訊息管理組件實現了訊息傳送模組和訊息接收模組之間的解耦。雖然對某訊息感興趣的模組可能有多個,但訊息傳送模組無需獲知有哪些模組需要接收該訊息。而每個對指定類型訊息感興趣的模組都可通過該訊息類型對應的訊息管理組件接收符合該指定類型的訊息,這樣就有利於簡化超聲測量系統的模組間互動複雜度。

附圖說明

圖1-a是一種模組間一對一單向通信方式示意圖;
圖1-b是一種模組間一對多單向通信方式示意圖;
圖1-c是一種模組間一對多雙向通信方式示意圖;
圖2是《超聲測量系統的模組互動方法和超聲測量系統》實施例提供的一種超聲測量系統的模組互動方法的流程示意圖;
圖3-a是該發明實施例提供的一種引入訊息管理組件後的一對多單向通信方式示意圖;
圖3-b是該發明實施例提供的一種引入訊息管理組件後的多對多單向通信方式示意圖;
圖3-c是該發明實施例提供的一種超聲測量系統的模組互動示意圖;
圖4是該發明實施例提供的一種超聲測量系統的示意圖。

技術領域

《超聲測量系統的模組互動方法和超聲測量系統》涉及計算機技術領域,具體涉及超聲測量系統的模組互動方法和超聲測量系統。

權利要求

1.一種超聲測量系統的模組互動方法,其特徵在於,所述超聲測量系統中包括第一模組和至少一個第二模組,所述方法包括:第一模組創建第一訊息類型;所述第一模組生成所述第一訊息類型對應的第一訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;所述第一模組生成符合所述第一訊息類型的第一訊息;所述第一模組基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息;若第二模組在所述第一訊息管理組件進行了註冊,則所述第二模組通過所述第一訊息管理組件接收所述第一訊息。
2.根據權利要求1所述的方法,其特徵在於,所述生成所述第一訊息類型對應的第一訊息管理組件,包括:生成所述第一訊息類型對應的第一單例訊息管理組件。
3.根據權利要求3所述的方法,其特徵在於,所述生成所述第一訊息類型對應的第一單例訊息管理組件,包括:生成所述第一訊息類型對應的第一泛型單例訊息管理組件。
4.根據權利要求1所述的方法,其特徵在於,第二模組在所述第一訊息管理組件進行註冊,包括:第二模組根據第一訊息類型查找到第一訊息管理組件;第二模組將接收符合所述第一訊息類型的訊息的函式接口註冊到第一訊息管理組件。
5.根據權利要求1至4任一項所述的方法,其特徵在於,還包括:所述第二模組創建第二訊息類型;所述第二模組生成所述第二訊息類型對應的第二訊息管理組件,並為所述第二訊息管理組件分配第二組件標籤;所述第二模組生成符合所述第二訊息類型的第二訊息;所述第二模組基於所述第二組件標籤,調用所述第二訊息管理組件傳送所述第二訊息;若所述第一模組在所述第二訊息管理組件進行了註冊,則所述第一模組通過所述第二訊息管理組件接收所述第二訊息。
6.一種超聲測量系統,其特徵在於,所述超聲測量系統中包括第一模組和至少一個第二模組,所述第一模組,用於創建第一訊息類型;生成所述第一訊息類型對應的第一訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;生成符合所述第一訊息類型的第一訊息;基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息;所述第二模組,用於在所述第一訊息管理組件進行了註冊後,通過所述第一訊息管理組件接收所述第一訊息。
7.根據權利要求6所述的超聲測量系統,其特徵在於,所述第一模組,具體用於創建第一訊息類型;生成所述第一訊息類型對應的第一單例訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;生成符合所述第一訊息類型的第一訊息;基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息。
8.根據權利要求7所述的超聲測量系統,其特徵在於,所述第一模組,具體用於創建第一訊息類型;生成所述第一訊息類型對應的第一泛型單例訊息管理組件,並為所述第一訊息管理組件分配第一組件標籤;生成符合所述第一訊息類型的第一訊息;基於所述第一組件標籤,調用所述第一訊息管理組件傳送所述第一訊息。
9.根據權利要求6所述的超聲測量系統,其特徵在於,所述第二模組具體用於,根據第一訊息類型查找到第一訊息管理組件,將接收符合所述第一訊息類型的訊息的函式接口註冊到第一訊息管理組件,通過所述第一訊息管理組件接收所述第一訊息。
10.根據權利要求6至9任一項所述的超聲測量系統,其特徵在於,所述第二模組還用於,創建第二訊息類型;生成所述第二訊息類型對應的第二訊息管理組件,並為所述第二訊息管理組件分配第二組件標籤;生成符合所述第二訊息類型的第二訊息;基於所述第二組件標籤,調用所述第二訊息管理組件傳送所述第二訊息;所述第一模組還用於,在所述第二訊息管理組件註冊後,通過所述第二訊息管理組件接收所述第二訊息。

實施方式

首先介紹超聲測量系統中常見的功能模組,一般包括:圖形繪製模組、圖元生成模組、圖元組合模組、計算模組、單位轉換模組、結果顯示模組、數據管理模組、選單生成模組、選單操控模組等等。2011年11月前技術方案難以解決超聲測量系統中模組眾多,模組間互動複雜的問題。2011年11月前技術的模組間互動一般通過直接調用接口函式實現,這是一種典型的一對一單向通信方式。直接調用接口函式的主要缺點是:1)參與互動的雙方直接關聯在一起,訊息傳送端知道訊息接收端。2)如果訊息接收端在接收到訊息傳送端傳送的訊息後,還需要向其反饋新訊息,就會導致循環依賴。
模組間可能存在如下幾種互動方式:
例如圖1-a所示,模組間一對一單向通信方式,訊息傳送模組向某一個訊息接收模組傳送指令或數據。
例如圖1-b所示,模組間一對多單向通信方式,訊息傳送模組向多個訊息接收模組傳送指令或數據。
例如圖1-c所示,模組間雙向通信方式,模組間互發指令或數據。
下面通過具體實施例,來介紹《超聲測量系統的模組互動方法和超聲測量系統》方案如何簡化超聲測量系統模組之間的互動複雜度。
該發明超聲測量系統的模組互動方法的一個實施例,其中,該超聲測量系統中包括第一模組和至少一個第二模組,方法可包括:第一模組創建第一訊息類型;第一模組生成第一訊息類型對應的第一訊息管理組件,並為第一訊息管理組件分配第一組件標籤;第一模組生成符合第一訊息類型的第一訊息;第一模組基於第一組件標籤,調用第一訊息管理組件傳送第一訊息;若第二模組在第一訊息管理組件進行了註冊,則第二模組通過第一訊息管理組件接收第一訊息。
參見圖2、具體步驟可包括:
201、第一模組創建第一訊息類型;
其中,若第一模組後續需傳送某種類型的訊息,則其可先創建對應的訊息類型(為便於引述,稱之為第一訊息類型)。
202、第一模組生成第一訊息類型對應的第一訊息管理組件,並為第一訊息管理組件分配第一組件標籤;
其中,第一訊息管理組件可用於管理第一模組傳送的符合第一訊息類型的訊息。第一組件標籤是用於區分該訊息管理組件的編譯器唯一標示符,利用第一組件標籤可查找到該第一訊息管理組件。
在一種實施方式中,第一訊息管理組件可為一個單例訊息管理組件(即第一單例訊息管理組件),進一步的,第一訊息管理組件可為一個泛型單例訊息管理組件(第一泛型單例訊息管理組件)。其中,若第一模組生成的第一訊息管理組件是一個泛型的單例對象,由於單例能夠增強易用性,泛型能夠增強用戶可定製性,因此,泛型單例訊息管理組件能夠增強其套用的靈活性,更好的適應不同套用場景的需要。
第一模組可在創建第一訊息類型後,自動的生成第一訊息類型對應的第一訊息管理組件,並為第一訊息管理組件分配第一組件標籤,以實現訊息管理組件建立的自動化。
在一種實施方式中,生成某種訊息類型對應的訊息管理組件的接口聲明例如可如下:
超聲測量系統的模組互動方法和超聲測量系統
其中,tagName為訊息管理組件的標籤,signalType為訊息類型。
提供的接口有:連線訊息、觸發訊息、斷開指定的連線、斷開所有連結。
訊息管理組件繼承了單例模板類,該類被實現為可自動生成模板。
203、第一模組生成符合第一訊息類型的第一訊息;
例如當第一模組有事件發生需要通知其他模組時,可生成符合第一訊息類型的第一訊息,以便通過第一訊息來通知相關信息。
204、第一模組基於第一組件標籤,調用第一訊息管理組件傳送第一訊息;
205、若第二模組在第一訊息管理組件進行了註冊,則第二模組通過第一訊息管理組件接收第一訊息。
在一種實施方式中,在第一訊息管理組件生成之後,第二模組可根據第一訊息類型查找到第一訊息管理組件(第一訊息管理組件的標籤例如是全局唯一的);並可將接收符合第一訊息類型的訊息的函式接口註冊到第一訊息管理組件。例如若第二模組在第一訊息管理組件進行了註冊後,則第一訊息管理組件接收到來自第一模組的符合第一訊息類型的第一訊息,第一訊息管理組件將該第一訊息轉發給註冊了對應函式接口的第二模組,第二模組便可通過第一訊息管理組件接收該第一訊息。
可以看出,通過引入訊息管理組件實現了訊息傳送模組和訊息接收模組之間的解耦。雖然對第一訊息感興趣的模組可能有多個,但第一模組無需獲知有哪些模組需要接收第一訊息。而每個對指定類型訊息感興趣的模組都可以通過該訊息類型對應的訊息管理組件接收符合該指定類型的訊息。
類似的,第二模組也可創建第二訊息類型;生成第二訊息類型對應的第二訊息管理組件,為第二訊息管理組件分配第二組件標籤;生成符合第二訊息類型的第二訊息;第二模組基於第二組件標籤,調用第二訊息管理組件傳送第二訊息;若第一模組(和/或其它模組)在第二訊息管理組件進行了註冊,則第一模組(和/或其它模組)通過第二訊息管理組件接收所述第二訊息。
可以理解,訊息數據管理功能對用戶是透明的。訊息數據的管理可使用關聯容器。以名字為關鍵字在關聯容器中保存訊息接收端的信息,執行斷開動作時按照關鍵字在關聯容器中找到連線信息,然後執行斷開操作。其中,在訊息管理組件生成時需要用到單例模板,其接口聲明例如可為:
超聲測量系統的模組互動方法和超聲測量系統
可以理解,藉助上述模板生成的訊息管理組件具有全局可訪問的功能,無論是訊息接收端還是訊息傳送端,只通過單例模板提供的接口就可以調用訊息管理組件。
參見圖3-a,圖3-a描述了引入訊息管理組件後的一對多單向通信情景。
參見圖3-b,圖3-b描述了引入訊息管理組件後的三個模組間一對多雙向通信情景。其中,模組A傳送訊息由訊息管理組件1負責管理,接受該訊息的模組只需要和訊息管理組件1互動。模組B和模組C傳送的訊息分別由訊息管理組件2和訊息管理組件3負責。反之,模組A作為接收訊息模組時不需要和模組B以及模組C直接互動。
參見圖3-c,圖3-c為一種超聲測量系統的模組間互動示意圖,其中,矩形表示模組,橢圓形表示訊息管理組件,圖中只列出了間接互動關係,即通過訊息管理組件進行通信的關係。而較為簡單的一對一單向通信在不破壞模組性的前提下可使用接口實現。
圖3-c中一對多互動包括:選單刷新、設定解析度、模式設定,這類互動方式表現為命令的傳送和執行。基於訊息管理組件的互動方式能解決一個命令觸發一族動作的問題,選單和按鍵操作多數屬於這種情況。設定選單項選中標示是雙向通信方式,每個選單項都可給其它選單項傳送訊息,基於訊息管理組件的互動方式能解決循環依賴問題,每個選單項都不需要知道其他選單項,只需要把訊息傳遞給給對應的訊息管理組件。
測量觸發、測量選單自動摺疊、更新圖形、更新測量結果是一對一的互動方式,在超聲測量系統中,沒有使用直接調用接口函式而是通過訊息管理組件間接調用。一對一單向通信使用訊息管理組件而不是直接調用接口是為解決以下問題:
1)訊息傳送端和訊息接收端處於分層架構中不同的層次,傳送端在底層而接受者在上層。模組調用的一般規則是上層模組調用底層模組,反之就比較困難。比如測量訊息的傳送是從選單項模組到圖元管理模組,但是選單項模組處於選單模組繼承體系的底層難以調用其它模組的接口。
2)模組分離的需要。圖元管理、圖形繪製窗體、基本測量、組合測量都是屬於測量圖形模組,該模組的邏輯關係比較穩定。結果顯示窗體屬於測量結果模組,這部分屬於界 面層經常變化。通過訊息管理組件實現各模組間接通信,把變化較穩頻繁的界面層和比較穩定的領域對象層分離。
圖3-c中使用了大量的訊息管理組件,每個訊息管理組件都對應有一個唯一的組件標籤。按組件標籤定義的訊息管理組件例如可為:
//更新圖形
typedefpattern::Signal<structUpdataSelectedGraphColor,
void()>SigUpdateGraphRect;
//更新結果
typedefpattern::Signal<structUpdateRectSignalTag,
void()>SigUpdateResultRect;
//更新圖像深度
typedefpattern::Signal<structUpdateImageDepth,
void(double)>SigUpdateImageDepth;
//設定測量游標
typedefpattern::Signal<structSetMeaCursor,
void(conststd::string&)>SigSetMeaCursor;
//顯示結果窗體
typedefpattern::Signal<structResultWindowShow,
void(bool)>SigResultWindowShow;
//激活某一測量項
typedefpattern::Signal<structMenuMessage,
void(constmea::MenuMessage&)>SigMenuMessage;
//更新選單窗體
typedefpattern::Signal<structMenuShowAll,
void()>SigMenuShowAll;
//測量選單摺疊
typedefpattern::Signal<structMenuAutoCloseFolder,
void()>SigMenuAutoCloseFolder;
//組合測量子項選中
typedefpattern::Signal<structMenuIndexSelected,
void(int)>SigMenuIndexSelected;
//成像模式設定
typedefpattern::Signal<structMenuModeSetting,
void(constchar*)>SigMenuModeSetting;
//選單項選中
typedefpattern::Signal<structMenuButtonColorInit,
void()>SigMenuButtonColorInit;
…………………………………
在實際套用中,訊息管理組件的類型都可在頭檔案TypeTag.h中定義,對訊息感興趣的模組只要包含該檔案,然後連線相應的訊息類型即可。檔案中訊息管理組件標籤的定義和訊息管理組件類型的定義都是在編譯期進行,不會占用運行期記憶體和CPU資源。
由上可見,該實施例通過引入訊息管理組件實現了訊息傳送模組和訊息接收模組之間的解耦。雖然對某訊息感興趣的模組可能有多個,但訊息傳送模組無需獲知有哪些模組需要接收該訊息。而每個對指定類型訊息感興趣的模組都可以通過該訊息類型對應的訊息管理組件接收符合該指定類型的訊息,這樣就有利於簡化超聲測量系統的模組間互動複雜度。
並且,超聲測量系統眾多模組間的互動時所使用的訊息管理組件都可以自適應生成,不需要用戶寫額外代碼。
此外,引入訊息管理組件有利於適應需求變化,例如選單和按鍵模組、測量圖形模組、測量結果模組都是用戶經常使用,需要經常變動的。不同國家和地區甚至不同的醫院都可能形成一套自己的操作習慣,通過松耦合的訊息管理組件實現互動,可以方便的修改操作流程而無需改變底層的邏輯模組。例如用戶要求組合測量結束時選單項不要自動關閉,則只要選單窗體和資料夾自動關閉訊息管理組件斷開即可。
參見圖4、《超聲測量系統的模組互動方法和超聲測量系統》實施例還提供一種超聲測量系統,超聲測量系統中包括第一模組410和至少一個第二模組420,
第一模組410,用於創建第一訊息類型;生成第一訊息類型對應的第一訊息管理組件,並為第一訊息管理組件分配第一組件標籤;生成符合第一訊息類型的第一訊息;基於第一組件標籤,調用第一訊息管理組件傳送第一訊息;
第二模組420,用於在第一訊息管理組件進行了註冊後,通過第一訊息管理組件接收第一訊息。
在一種套用場景下,第一模組410可具體用於,創建第一訊息類型;生成第一訊息類型對應的第一單例訊息管理組件,並為第一訊息管理組件分配第一組件標籤;生成符合第一訊息類型的第一訊息;基於第一組件標籤,調用第一訊息管理組件傳送第一訊息。
在一種套用場景下,第一模組410可具體用於,創建第一訊息類型;生成第一訊息類型對應的第一泛型單例訊息管理組件,並為第一訊息管理組件分配第一組件標籤;生成符合第一訊息類型的第一訊息;基於第一組件標籤,調用第一訊息管理組件傳送第一訊息。
生成第一訊息類型對應的第一泛型單例訊息管理組件。
在一種套用場景下,第二模組420可具體用於,根據第一訊息類型查找到第一訊息管理組件,將接收符合第一訊息類型的訊息的函式接口註冊到第一訊息管理組件,通過第一訊息管理組件接收第一訊息。
在一種套用場景下,第二模組420可還可用於,創建第二訊息類型;生成第二訊息類型對應的第二訊息管理組件,並為第二訊息管理組件分配第二組件標籤;生成符合第二訊息類型的第二訊息;基於第二組件標籤,調用第二訊息管理組件傳送第二訊息;
第一模組410還用於,在第二訊息管理組件註冊後,通過第二訊息管理組件接收第二訊息。
可以理解,該實施例的超聲測量系統的各個功能模組的功能可以根據上述方法實施例中的方法具體實現,其具體實現過程可參照上述實施例中的相關描述,此處不再贅述。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是該領域技術人員應該知悉,《超聲測量系統的模組互動方法和超聲測量系統》並不受所描述的動作順序的限制,因為依據該發明,某些步驟可以採用其他順序或者同時進行。其次,該領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模組並不一定是該發明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
綜上,《超聲測量系統的模組互動方法和超聲測量系統》實施例通過引入訊息管理組件實現了訊息傳送模組和訊息接收模組之間的解耦。雖然對某訊息感興趣的模組可能有多個,但訊息傳送模組無需獲知有哪些模組需要接收該訊息。而每個對指定類型訊息感興趣的模組都可以通過該訊息類型對應的訊息管理組件接收符合該指定類型的訊息,這樣就有利於簡化超聲測量系統的模組間互動複雜度。
並且,超聲測量系統眾多模組間的互動時所使用的訊息管理組件都可以自適應生成,不需要用戶寫額外代碼。
此外,引入訊息管理組件有利於適應需求變化,例如選單和按鍵模組、測量圖形模組、測量結果模組都是用戶經常使用,需要經常變動的。不同國家和地區甚至不同的醫院都可能形成一套自己的操作習慣,通過松耦合的訊息管理組件實現互動,可以方便的修改操作流程而無需改變底層的邏輯模組。例如用戶要求組合測量結束時選單項不要自動關閉,則只要選單窗體和資料夾自動關閉訊息管理組件斷開即可。
該領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程式來指令相關的硬體來完成,該程式可以存儲於一計算機可讀存儲介質中,存儲介質例如可以包括:唯讀存儲器、隨機存儲器、磁碟或光碟等等。

榮譽表彰

2016年12月7日,《超聲測量系統的模組互動方法和超聲測量系統》獲得第十八屆中國專利優秀獎。

相關詞條

熱門詞條

聯絡我們