999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

混凝土拱壩澆筑施工仿真對象的持久化方法研究

2021-12-15 10:32:58劉金飛宋飛揚
水電站設計 2021年4期
關鍵詞:數據庫混凝土施工

鞠 琳,劉金飛,宋飛揚

(1.中國電建集團成都勘測設計研究院有限公司,四川 成都 610072;2.武漢大學,湖北 武漢 430072)

0 前 言

我國于二十世紀八十年代初開始,在各大型混凝土拱壩建設中,應用計算機仿真技術對拱壩施工全過程進行動態模擬,并引入隨機循環網絡、模糊網絡、Petri網絡、VR技術等新技術,取得了豐碩的成果。武漢大學對小灣拱壩的混凝土澆筑和壩肩、壩基開挖進行了仿真[1],得到了各澆筑塊的澆筑順序,得出了不同方案下的澆筑強度、纜機利用率等系統方案決策指標。天津大學提出了高拱壩施工全過程動態仿真建模理論與方法[2]、基于BIM的混凝土壩澆筑仿真智能建模方法[3]等理論方法與技術,推動了施工仿真技術的快速發展,將隨機排隊理論引入混凝土壩澆筑順序優化中,建立了考慮纜機之間運行空間沖突問題和考慮纜機生產率利用問題的混凝土高拱壩澆筑仿真可視化系統[4]。中國電建成都院通過對溪洛渡水電站大壩進行混凝土施工與計算機仿真研究,對纜機布置、壩體混凝土澆筑方案提出了大壩混凝土澆筑的計算機仿真方法[5],隨后利用施工仿真技術結合數字大壩綜合信息平臺提供的現場數據對施工進度進行跟蹤分析[6],快速地為施工方案優選和進度控制提供了決策。拱壩澆筑仿真過程中涉及大量的系統狀態信息,仿真系統需要將內存中的對象保存到磁盤或數據庫中,以便調試、修改或分發到其他的仿真終端。為此,需要建立內存中的仿真對象與磁盤或數據庫對象的對應關系,這樣的技術方法一般稱為內存對象的持久化。下面從仿真系統動態性、中繼仿真、分布式仿真三個方面說明持久化算法的需求。

1 拱壩仿真系統中持久化算法研究的技術背景

(1)仿真動態性的需求。拱壩澆筑施工系統是一個動態系統,其系統參數隨時間變化而變化。如:開始施工的時候,只有輕型起重設備或少量重型起重設備,隨著施工過程深入,起重設備的數量和能力逐漸增加。這些變化一般與施工進度或者系統中的某些節點關聯,因此,需要仿真系統能夠處理動態變化的參數環境。而動態的模型參數則需要仿真系統提供某種接口方法動態處理仿真系統屬性,解決方案之一即是利用持久化技術。

(2)中繼仿真的需求。中繼仿真是系統在仿真過程中,用戶可以隨時要求中斷或者暫停,在修改系統運行條件或者類屬性后繼續運行。該功能需要仿真系統具有一種可以提交內存中的仿真類對象實例到持久存儲介質的方法,以便用戶可以通過修改持久介質達到修改仿真系統中的對象之目的。

(3)分布式仿真的需求。大型仿真系統的計算量十分巨大,分布式并行計算是縮短計算時間的一種有效方式。但是,計算任務的分配和計算參數的傳遞難以用簡單的系統消息傳遞解決。而在進行并行仿真的場合,使用共享內存的方式傳遞數據比較復雜也不安全。因此,必須提供仿真系統計算參數的傳輸方式,即仿真系統類對象的持久化或流化手段,形成仿真系統狀態的數據包,將計算參數分發到計算節點。仿真類持久化是離線共享數據的重要手段。

持久化的目的主要是將內存中的對象存儲到數據庫、磁盤文件、XML數據文件等外存中。由于在用戶共享訪問、并發訪問以及數據分析方面的顯著優勢,主流的持久化多采用關系數據庫方案。但是,由于仿真系統中的數據為內存對象,而關系數據庫中的數據為數據表記錄,關系數據庫記錄和面向對象實例的存儲模式不匹配,所以必須解決轉換映射的問題。

本文針對上述需求,建立數據庫實體對象與內存中仿真對象之間的映射關系,利用仿真對象的持久化技術,建立了一種拱壩澆筑施工仿真對象的持久化算法,實現了仿真對象的存取。

2 混凝土拱壩澆筑施工仿真對象的持久化算法

針對現有系統仿真技術的不足,本文提出了一種將仿真過程中涉及的大量系統狀態信息保存到數據庫中并形成系統快照的持久化算法。基于對象數據映射ORM(Object Relational Mapper)持久化技術模式,建立仿真對象與數據庫表記錄的映射關系。仿真系統一方面可以將仿真對象保存到內存以外的介質中,便于數據分析和數據分享;同時,可以利用該映射將對應數據庫中的數據恢復為內存中的類屬性,從而實現仿真參數的動態調整,進一步利用類對象持久化可以方便的在計算進程間分發計算參數。

算法由三個主要部分組成:(1)ORM持久化環境構建,即建立數據結構一致的數據庫表和仿真對象環境;(2)仿真對象實例數據導出,即將內存中的仿真對象保存到數據庫表中;(3)仿真對象實例從數據庫恢復,根據數據庫表中的仿真對象信息重建內存中的仿真對象。

2.1 ORM持久化環境構建

ORM持久化環境構建,需要建立拱壩澆筑施工仿真軟件、數據庫管理系統及其映射,旨在建立拱壩澆筑施工仿真對象與數據庫表記錄的映射關系,如圖1所示。

圖1 拱壩澆筑施工仿真對象持久化映射關系

2.1.1 拱壩澆筑施工仿真對象

運用面向對象分析方法分析施工系統編制施工仿真軟件。建立可持久化基類CInstClass,由基類衍生出各仿真對象。以CBlocks為例,仿真對象CBlocks的結構包括一系列的屬性和方法,持久化只需要處理屬性,如表1所示。

表1 可持久化基類結構和范例說明

可見,可持久化類使用屬性TableName保存與之對應的數據庫表名,利用Items屬性指向一個指針數組,保存與該類相關的仿真對象實例數據,Items中的數據即為需要持久化處理的數據。為了實現對象實例屬性的快速存取,專門建立了一個屬性映射數組FldTlts,其結構如表2所示。

表2 屬性映射數組FldTlts的結構

表2中DtTp的可選參數詳見表3。

表3 可處理的屬性數據類型

表2中Offset存儲位置的偏移量,需要根據屬性的數據在內存中存儲的相對位置決定。在高級語言中可以使用系統內建的數據類型存儲寬度函數取得屬性占位寬度,再累加得到。

2.1.2 數據庫表記錄

為了將內存中的仿真對象保存到數據庫表中,實現仿真對象的持久化,需要建立與類對象屬性對應的數據庫表結構。每個對象屬性對應一個字段,對象屬性的數據類型與字段數據類型相對應。數據庫表結構的說明如表4所示。

表4 可持久化對象對應的數據庫表結構說明

2.1.3 實例和記錄的映射關系

為了保持類對象在內存中存儲與類對象在數據庫表中存儲的一致性(數據類型的不當轉換會帶來信息丟失)。需要將內存存儲的屬性變量與數據庫表的字段變量建立映射關系,并保持二者數據結構的一致性。仿真對象屬性與數據庫表結構之間的映射關系保存在可持久化類的屬性映射數組FldTlts中,映射關系如表5所示。

表5 仿真對象屬性與數據庫表結構之間的映射關系

2.2 仿真對象的導出

設某仿真對象O有n個實例記為O1,…,On,每個實例Oi(i=1,…,n)包括m個屬性記為Oi1,…,Oim,每個屬性Oij(j=1,…,m)都有其屬性項目描述信息Pj(保存在前述屬性數組FldTlts中),與數據庫表T的結構Tj相對應。為了將內存中的仿真對象的實例Oi全部導出,需要的步驟如圖2所示。

圖2 拱壩澆筑施工仿真對象導出的信息處理步驟

選定一個對象實例。例如,在上述n個實例中選定實例O1。

針對選定的實例O1,選定一個屬性,如O11。選定具體屬性后,再將其轉換為數據格式。基于前述持久化信息環境,根據O11取得其對應的屬性數據類型信息Pj。取得Pj中包含的“DtTp”表示該屬性的數據類型。可利用取得的數據類型,將O11轉換為正確的字符串類型和格式待用。

針對實例O1的所有屬性O1j,重復執行以上步驟,即可將實例O1的所有屬性均轉換為字符串類型。

在將實例的屬性轉換為字符串后,需要將對象寫入數據庫。利用SQL插入語句的模板,將前面生成的各屬性數據的字符串組合成插入表T的SQL語句。將上述SQL語句提交給數據庫管理系統,即可完成實例O1的持久化操作。對于實例O1的對象識別碼(ID)在表T中已經存在的情況,需要先將其刪除,再插入語句。

針對所有的Oi,i=1,…,n,重復執行以上所有步驟,即可將仿真對象O的所有實例全部保存到數據庫表T中,完成所有對象實例的導出。

2.3 仿真對象的恢復

設某仿真對象O,與數據庫表T對應,現需要將仿真對象實例從數據庫表T中恢復起來。設數據庫表T有n條記錄T1,…,Tn,對應n個仿真對象的實例記為O1,…,On;每條記錄包括m個字段T1,…,Tm對應對象實例的m個屬性O1,…,Om;Tj(j=1,…,m)和Oj(j=1,…,m)的映射關系由實例和記錄的映射關系R決定。為了將仿真對象實例從數據庫表T從恢復出來,需要的步驟如圖3所示。

圖3 拱壩澆筑施工仿真對象屬性恢復信息處理步驟

仿真系統中有很多仿真對象,針對特定的仿真對象,可以根據其持久化映射關系,取得該對象的關聯表,在數據庫表中定位到特定的記錄。對于根據對象ID恢復特定實例的情況,利用ID定位到特定記錄;而對于恢復所有實例的情況,可以首先定位到第1條記錄。

建立待恢復的對象實例并為其分配內存空間。在新建立的待恢復對象實例中,選定一個屬性作為待恢復的屬性。根據對象描述信息,取得該屬性的名稱和數據類型信息,再通過屬性名在數據庫表中定位字段并取得該屬性數值,最后利用數值、類型、偏移量恢復屬性數據,其中恢復屬性數據的具體操作為:在內存中首先定位到該仿真對象實例的起點地址,利用偏移量定位到該屬性的起點地址,再利用屬性類型確定該屬性的數據寬度,將確定的地址范圍內的內存替換為屬性數值,完成對當前實例、當前屬性值的恢復。

針對特定實例的每個屬性,重復執行建立該對象特定實例之后的步驟,將該實例的所有屬性全部賦值完成;針對每個需要恢復的仿真對象,分別建立對象實例并重復執行以上步驟,即可將該對象的所有實例全部從對應的數據庫表中恢復出來。

3 算法應用

本文算法在某300 m級高拱壩混凝土工程施工進度動態仿真中應用。仿真過程中一旦暫停,系統會將當時的仿真狀態持久化到數據庫中,如圖4中a。可以根據施工進度和大壩澆筑條件修改仿真對象數據庫,如圖4中b。修改完成后,仿真系統從數據庫中加載仿真對象并反映修改,如圖4中c,即為中繼仿真。或者將數據庫分發給各計算終端,即可在各并行計算終端重建仿真對象,實現基于相同條件的并行仿真,如圖4中d。

圖4 持久化方法在中繼仿真和并行仿真中的數據流程

表6為中繼仿真結果對比,在計算過程中中斷并對邊界參數進行調整后繼續仿真,仿真完工工期隨之變化;表7為利用本算法開發的分布式仿真系統與常規仿真系統的計算效率對比,其中常規仿真系統運行于1臺計算機、分布式仿真系統運行于3臺、計算機配置相同,同樣計算100組擬定方案,利用本算法實現的分布式仿真系統效率顯著提高。

表6 本算法在中繼仿真中的應用

表7 本算法在分布式仿真中的應用

4 結 論

在進行混凝土拱壩施工進度動態仿真、中繼仿真、分布式仿真時,內存中的仿真計算對象存在持久化的需求。為此,提出了基于對象數據映射ORM持久化技術方法,可建立仿真對象與數據庫表記錄的映射關系。利用該算法可以將仿真對象保存到內存以外的持久介質中,便于仿真系統處理和分享;隨后,可以利用該映射將數據庫中的數據恢復為內存中的類屬性,實現仿真參數的調整;進一步利用仿真對象持久化可以方便地在計算單元間分發計算參數。某高混凝土拱壩澆筑過程仿真系統中運用,驗證了該算法的可行性。

猜你喜歡
數據庫混凝土施工
混凝土試驗之家
現代裝飾(2022年5期)2022-10-13 08:48:04
關于不同聚合物對混凝土修復的研究
土木工程施工技術創新探討
混凝土預制塊模板在堆石混凝土壩中的應用
混凝土,了不起
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
土木工程施工實習的探討與實踐
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 中文字幕日韩久久综合影院| 少妇精品在线| 国产成人调教在线视频| 国产精品网址你懂的| 中文天堂在线视频| 成年人国产网站| JIZZ亚洲国产| 精品少妇人妻无码久久| 亚洲欧洲国产成人综合不卡| 亚洲国产天堂久久综合| 日韩成人在线网站| 青草娱乐极品免费视频| 国产自无码视频在线观看| 亚洲伦理一区二区| 熟妇丰满人妻| 国产福利免费视频| 国产精品内射视频| 992Tv视频国产精品| 精品成人免费自拍视频| 国产超薄肉色丝袜网站| 扒开粉嫩的小缝隙喷白浆视频| 精品国产美女福到在线不卡f| 久久99精品久久久大学生| 国模极品一区二区三区| 99久久国产综合精品2020| 免费aa毛片| 米奇精品一区二区三区| 日本午夜三级| 99色亚洲国产精品11p| 色有码无码视频| 亚洲av无码成人专区| www.youjizz.com久久| 一本久道热中字伊人| 毛片免费在线视频| 色亚洲激情综合精品无码视频| 免费久久一级欧美特大黄| 美女内射视频WWW网站午夜| 色综合成人| AV色爱天堂网| 精品无码日韩国产不卡av| 国产亚洲视频播放9000| 99re经典视频在线| 99视频在线免费看| 国产幂在线无码精品| 国产女人在线视频| 精品久久久久久久久久久| 露脸国产精品自产在线播| 超碰aⅴ人人做人人爽欧美| 67194亚洲无码| 日本精品视频一区二区| 污网站在线观看视频| 欧美特黄一免在线观看| 色综合国产| 亚洲综合色婷婷中文字幕| 亚洲午夜福利在线| 人人爽人人爽人人片| 中文字幕2区| 沈阳少妇高潮在线| 欧美亚洲一区二区三区在线| 91麻豆国产视频| 在线观看视频99| 国内精自视频品线一二区| 91九色国产在线| 亚洲欧洲一区二区三区| 国产美女在线观看| 久久99热这里只有精品免费看| 亚洲αv毛片| 欧美日韩免费观看| 久久黄色小视频| 99热这里只有精品免费| 亚洲国产成人在线| 素人激情视频福利| 国产人妖视频一区在线观看| 国产精品真实对白精彩久久| 乱人伦视频中文字幕在线| 青青草原国产av福利网站| 久久影院一区二区h| 99激情网| 日本免费一级视频| 欧美日韩高清在线| 国产福利免费视频| 午夜影院a级片|