一種水環境領域模型集成模板的可視化定製方法與流程
2023-10-17 01:10:04 1

本專利涉及一種模型集成模板的可視化定製方法,尤其是針對水環境領域模型集成模板的可視化定製方法。
背景技術:
水環境科學研究呈多學科交叉發展的趨勢,包括水文學、水動力學、水化學、環境水力學等學科交叉發展,水環境保護和生態建設研究過程中科學問題的解決,依賴於水文模型、水動力模型、水質模型等多個模型集成進行耦合計算。每個模型計算涉及的計算條件和數據複雜各異,需要獨立設置每個模型的初始條件、邊界條件、控制條件、參數和輸出數據等,為模型集成帶來較大困難。每個模型所需的數據類型、數據格式、數據內容、數據組織方式多樣,模型業務人員需要花費大量的時間在後臺準備、配置文件才能啟動計算,缺乏可視化的模型配置界面,一旦模型計算條件發生變更,需要手動調整大量數據文件,為模型維護帶來很大困難。特別在模型集成耦合計算時,各個模型使用不同數據源帶來的數據不一致性等問題,影響模型計算結果的可信度。本發明基於資料庫技術和控制項技術,對模型集成採用可視化的模板定製方法,使模型配置簡潔便利,同時解決模型集成耦合計算時數據源不一致的問題。
技術實現要素:
針對上述模型配置、模型集成數據源不一致的問題,本發明提供了一種模型集成模板的可視化定製方法,本發明方法中的模型適用於水環境領域的所有模型,能夠在界面上實現模型快速配置,最大限度減少模型業務人員配置的工作量。
為實現上述技術目的,本發明採用如下技術方案:
一種水環境領域模型集成模板的可視化定製方法,包括如下步驟:
1)構建模型集成資料庫;
包括存儲水環境領域業務數據的業務資料庫、存儲基礎數據的基礎資料庫及存儲模型定義和運算相關模型數據的模型資料庫;
2)構建數據字典,配置資料庫;
數據字典定義內容包括業務資料庫、基礎資料庫和模型資料庫的庫表結構和參數類型,以及上述三個資料庫以關係資料庫形式存儲的資料庫連接方式與模型資料庫中以文件庫形式存儲的文件存儲路徑、文件名稱和文件類型;
3)配置模型數據源;
設置模型各數據集相關信息,包括定義各模型涉及的業務數據、基礎數據及模型數據的數據來源,數據集名稱,及數據集下屬各數據項的參數;
4)定製模型模板;
使用ZTree、Div及html輸入框dom節點元素,監聽html頁面滑鼠拖拽事件和拖拽對象,在用戶界面以滑鼠拖拽的形式將數據源與模型計算所需數據進行關聯,進行各模型所需的數據集及數據集下屬數據項的模板配置;
5)集成模型模板設置;
包括集成模型模板邏輯關係設置;在模型模板配置界面,針對業務功能設置各模型間的數據傳輸關係,包括各模型之間的數據傳遞關係。
作為本發明的進一步優選,所述步驟1)中,包括對各模型輸入數據、初始數據、邊界條件、外部函數和輸出數據的格式、調用方式、存儲方式進行標準化整理分析後,進行資料庫構建,保證模型集成耦合計算時各模型使用資料庫的一致性;
所述步驟1)中,考慮各模型運算時動態變化和靜態不變的數據,對資料庫中用於模型計算的靜態數據和動態數據進行分類存儲;各類數據存儲方式有關係資料庫和文件庫兩種方式,業務數據、基礎數據以關係資料庫方式儲存,模型數據中動態變化的數據存儲於關係資料庫,靜態不變的數據以文件庫的方式儲存;具體的,對驅動模型計算所需的業務數據、基礎數據和模型計算時需動態更新的數據,即所述動態數據,以關係資料庫的形式入庫管理,對在模型運算過程中保持不變的靜態數據,包括邊界條件、外部函數,以文件庫的形式存儲;各模型的文件庫以統一的文件目錄進行組織
作為本發明的進一步優選,所述步驟1)還考慮了模型集成數據之間的關聯關係,如果不同模型間的輸入和輸出存在計算上的銜接關係,設定其輸入和輸出的主鍵關係。如模型1和模型2的輸入和輸出之間存在上下銜接計算關係,設計模型1輸入文件A和模型2輸入文件B主鍵關係。
作為本發明的進一步優選,所述步驟2)中,數據字典定義包括設置各個數據集數據項的中英文欄位名稱、欄位代碼、該數據集與各數據項存儲方式(如果以資料庫方式存儲,該數據集與相應數據項的表結構,如果以文件方式存儲,該數據集與數據項所對應的文件名稱、文件類型等信息),並對模型集成過程中涉及的枚舉類型值進行設置,如模型名稱,水體類型,數據插值方式等。
作為本發明的進一步優選,所述步驟3)中數據集基於目錄樹管理,在數據源目錄下提供新增、保存、刪除和導入數據集功能,保證模型集成耦合計算時各模型使用數據來源的一致性。在數據源目錄下輸入數據集名稱和數據集代碼,設置數據集數據來源,來增加數據集條目,同時可對該條數據集進行增刪改。其中若數據集來源為以關係資料庫形式存儲的業務資料庫、基礎資料庫或模型資料庫,可設置資料庫名稱、資料庫實例、資料庫用戶以及數據表名稱,以便連接資料庫;若數據來源為以文件庫形式存儲的模型資料庫,可設置文件地址、文件名稱、文件類型和分隔符,以便系統可順利讀取該數據文件。
在某一數據集目錄下,新增參數類型,輸入參數名稱和參數代碼,即可新增該數據集的數據參數,即該數據集目錄下的數據項。同時也可設置該數據參數(數據項)的來源,即若數據參數(數據項)來源為以關係資料庫形式存儲的業務資料庫、基礎資料庫或模型資料庫,可設置資料庫名稱、資料庫實例、資料庫用戶以及數據表名稱,以便連接資料庫;若數據參數(數據項)來源為以文件庫形式存儲的模型資料庫,可設置文件地址、文件名稱、文件類型和分隔符,以便系統可順利讀取該數據文件,若不設置則默認為來自該數據項所屬數據集指定的來源方式。
作為本發明的進一步優選,所述步驟4)中,在用戶界面羅列所有模型的數據集,以及每個模型的算法涉及的參數,包括邊界條件、初始條件、外部函數、初始參數和輸出結果包含的數據集和數據項,其中模型的數據集採用樹狀結構羅列;使用ZTree、Div控制項及html輸入框dom節點元素,監聽html頁面滑鼠拖拽事件和拖拽對象,通過滑鼠拖拽進行數據操作,系統自動讀取對各個模型邊界條件、輸入條件、輸出條件、參數條件輸入框內拖拽對象的數據字典定義,實現各模型所需的數據集及相應數據項的模板配置。具體的可採用如下方式在用戶界面進行操作:
用戶在用戶界面滑鼠拖拽樹狀結構數據集節點,釋放到數據集的div控制項,即可添加邊界條件等參數的數據集,雙擊div控制項中數據集名稱,即可刪除邊界條件等的數據集;用戶拖拽左側樹狀結構數據項節點,釋放到右側數據項的div控制項中,即可添加邊界條件等數據集所包含的數據項,雙擊div控制項中數據項名稱,即可刪除邊界條件等的數據項;同時對多個模型的輸入輸出關係也可通過拖拽的方式進行配置,如A模型的輸出為B模型的輸入,即可在B模型模板的輸入條件div控制項中,將A輸出的數據集拖進來。通過此項操作,完成模型所需各類數據源,實現模型模板的可視化配置。
作為發明的進一步優選,所述方法還包括管理模型模板版本,對定製的模型模板及集成模型模板進行版本的維護、更新,包括版本的刪除、編輯;將步驟4)所設定的模型模板以版本命名保存,對每次所做的模板改動都以不同版本命名保存下來,方便不同情景下模型計算的配置。
本發明的方法基於資料庫技術和控制項技術,對模型集成採用可視化的模板定製方法,使模型配置簡潔便利,同時解決模型集成耦合計算時數據源不一致的問題。本發明方法中的模型適用於水環境領域的所有模型,能夠在界面上實現模型快速配置,最大限度減少模型業務人員配置的工作量。
附圖說明
圖1為本發明方法的流程圖;
圖2為本發明實施例1方法的數據字典配置方法和界面;
圖3為本發明實施例1方法的數據源配置的步驟方法和界面;
圖4為本發明實施例1方法的單個模型模板相關數據集配置的方法和操作界面;
圖5為本發明實施例1方法的集成模型之間邏輯管理關係的配置方法和操作界面;
圖6為本發明實施例1方法的模型版本的更新管理。
具體實施方式
下面結合說明書附圖和具體的實施例,對本發明作詳細描述。
實施例1
本實施例以太湖水質目標模型、太湖水環境容量模型、河道入湖汙染物削減分配模型三個模型模板的配置和集成方法為例,對本發明的水環境領域模型集成模板的可視化定製方法進行具體描述。
其中,太湖水質目標模型(簡稱「模型1」)利用太湖水質和藻類水華暴發規模、頻率特徵以及相應氣象條件等,計算輸出太湖不同分區內水質目標,即保證太湖水生態系統穩定的條件下各分區內水體總氮、總磷、氨氮、化學需氧量的目標含量;太湖目標水質容量模型(簡稱「模型2」)則是為在保證太湖水體達到該水質目標條件下,計算輸出太湖不同分區所能容納的水環境容量;河道入湖汙染物削減分配模型(簡稱「模型3」)依據太湖分區所能容納的水環境容量,計算出太湖環湖河道允許入湖的汙染物通量以及需削減的汙染物量;即從模型集成關聯的角度上,模型1的輸出為模型2的輸入,模型2的輸出為模型3的輸入,模型2需要等待模型1的輸出結果並傳遞為輸入,方可啟動計算,模型3需等待模型2的輸出結果作為輸入,方可參與計算。
圖1為本發明方法的流程圖,包括如下步驟:
步驟一、構建模型集成資料庫;
對模型1、模型2、模型3的輸入數據、邊界條件、初始條件、參數條件和輸出數據的格式、調用方式、存儲方式等進行標準化整理分析,考慮模型1、模型2、模型3之間的通用數據表和3個模型間關聯關係,進行資料庫設計,構建的模型集成資料庫包括存儲水環境領域業務數據的業務資料庫、存儲基礎數據的基礎資料庫及存儲模型定義和運算相關模型數據的模型資料庫,對資料庫中用於模型計算的靜態數據和動態數據進行分類存儲;對驅動模型計算所需的業務數據、基礎數據和模型計算時需動態更新的數據,即所述動態數據,以關係資料庫的形式入庫管理,對在模型運算過程中保持不變的靜態數據,包括邊界條件、外部函數,以文件庫的形式存儲;如:模型所需的水質數據、水文數據、氣象數據以關係資料庫形式存儲到業務資料庫中,基礎地理數據、社會經濟數據等以關係資料庫形式存儲到基礎資料庫中,模型名稱、模型集成邏輯關係、模型數據文件組織目錄等以關係資料庫形式存儲到模型資料庫中,而各個模型的參數文件等靜態文件以文件庫的形式存儲到模型資料庫中。
對輸入、輸出間具有銜接關係的模型進行關聯;設計模型1輸出文件「太湖分區水質目標」和模型2輸入文件「太湖分區水質目標」以及模型2輸出文件「太湖分區水環境容量」和模型3輸入文件「太湖分區水環境容量」具有相同的模型計算ID。
步驟二、構建數據字典,配置資料庫;
數據字典定義內容包括業務資料庫、基礎資料庫和模型資料庫的庫表結構和參數類型,以及上述三個資料庫以關係資料庫形式存儲的資料庫連接方式與模型資料庫中以文件庫形式存儲的文件存儲路徑、文件名稱和文件類型;
數據字典定義包括設置數據集、數據項的中英文欄位名稱、該數據集與各數據項存儲方式,並對模型集成過程中涉及的枚舉類型值進行設置,包括模型名稱,水體類型,數據插值方式。
定義模型1、模型2、模型3的數據字典,模型1、模型2和模型3涉及的所有數據表名稱、數據表欄位。圖2為本實施例的數據字典配置方法和界面示意圖。
步驟三、配置模型數據源;
設置模型各數據集相關信息,包括定義各模型涉及的業務數據、基礎數據及模型數據的數據來源,數據集名稱,及數據集下屬各數據項的參數;
定義模型1、模型2和模型3的數據源來源,即定義模型1、模型2、模型3的輸入數據、邊界條件、初始條件、參數條件和輸出數據各個數據源的來源和每個數據包含的具體欄位;如新增太湖氣象數據,指定該數據集來自數據文件,並指定數據文件類型和文件地址,進而增加該數據文件包含的欄位名稱和欄位代碼,如蒸發、太陽輻射、降雨、氣溫、風速、風向、氣壓、雲量、乾濕沉降、相對溼度和飽和蒸汽壓等欄位。定義各模型的輸出數據文件格式,如模型1輸出數據為「太湖分區水質目標數據」,指定其數據源來自數據文件的格式和路徑,定義數據欄位樣式,包含分區名稱、計算時間、總氮、總磷、氨氮和化學需氧量;模型2輸出數據為「太湖水環境容量數據」,指定其數據源來自數據文件的格式和路徑,定義其數據樣式,包含分區名稱、計算時間、總氮容量、總磷容量、氨氮容量和化學需氧量容量;模型3輸出為「太湖環湖河道水環境容量數據」和「太湖環湖河道汙染物削減量數據」,定義其數據樣式,如此添加模型1、模型2和模型3計算涉及的各類數據。圖3為本實施例所述方法的數據源配置的步驟方法和界面示意圖。
步驟四、定製模型模板;
使用ZTree、Div及html輸入框dom節點元素,監聽html頁面滑鼠拖拽事件和拖拽對象,在用戶界面以滑鼠拖拽的形式將數據源與模型計算所需數據進行關聯,進行各模型所需的數據集及數據集下屬數據項的模板配置;
具體的,本實施例中操作界面如圖4所示,左側採用樹狀結構羅列所有模型的數據集,右側羅列每個模型的邊界條件、外部函數、初始參數和輸出結果包含的數據集和數據項。定製模型1、模型2、模型3的模型模板,在模型下拉列表框中選擇模型2「湖泊水質容量模型」,下方分別分類顯示模型的邊界條件、初始條件、外部條件、初始參數和輸出結果包含的數據集以及該數據集包含的數據項,左側模型數據源中以樹狀結構羅列出所有配置的模型數據源,包括各模型的輸入輸出所有數據集;將左側數據源樹狀節點拖拽到相應的計算條件中,如拖拽「湖體水質數據」節點到邊界條件框中,則「數據集」框中顯示「湖體水質數據」,「數據項」框中則自動顯示「湖體水質數據」所包含的數據項,在「數據項」框和「數據集」框中雙擊,則可刪除對應的數據項或數據集;如此重複上述操作,完成模型1、模型2和模型3模型模板的配置。
步驟五、集成模型模板設置;
包括集成模型模板邏輯關係設置;在模型模板配置界面,針對業務功能設置各模型間的數據傳輸關係,包括各模型之間的數據傳遞關係。將步驟四所設定的模型模板以版本命名保存,對每次進行的模型模板改動以不同版本命名保存,用於不同情景下模型計算的配置。
如圖5所示,配置模型1和模型2以及模型2和模型3的關聯關係:在模型下拉列表中選擇模型2「太湖目標水質容量模型」,選擇左側的樹節點「太湖水質目標數據」,通過滑鼠拖拽到初始條件「數據集」框中,則太湖水質目標數據包含的欄位也自動加載到「數據項」框中,通過此配置,建立了模型1和模型2之間的關聯關係,即將模型1的輸出數據作為模型2的輸入數據。在模型下拉列表中選擇模型3「河道入湖汙染物削減分配模型」,選擇左側的樹節點「水環境容量數據」,通過滑鼠拖拽到模型3下方初始條件「數據集」框中,則太湖水環境容量數據包含的欄位也自動加載到「數據項」框中,通過此配置,建立了模型2和模型3之間的關聯關係,後臺會依據模型模板所配置的數據集,自動到相應的位置讀取所需的數據。
步驟六、模型版本的更新管理:
對定製的模型模板及集成模型模板進行版本的維護、更新,包括版本的刪除、編輯。
如圖6所示,重新上傳更新後的模型1、模型2和模型3的dll文件,系統自動讀取模型dll文件中包含該模型各類數據存儲路徑和存儲的文件名稱的配置文件,並與該模型原配置文件相比較,用戶在界面上選擇覆蓋原模型文件還是以新版本保存,若用戶選擇覆蓋原模型文件,對於存儲路徑和存儲文件名稱發生變更的數據,提醒用戶對模型中變更的數據進行更新配置,在模型模板管理界面的模型列表中選擇該模型,重複步驟四;若用戶選擇以新版本保存該模型,1)以版本號重新命名該模型(命名方式以計算情景+_模型名稱+版本號,如「平水年_太湖水質目標模型V1」),並添加到模型模板管理界面的模型列表中,2)在模型模板管理界面的模型列表選中新添加的模型,重複步驟四對新版本模型中變更的數據進行更新配置。