• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于NoSQL數(shù)據(jù)庫的鐵路通信數(shù)字工程存儲研究

      2022-05-21 08:15:44武文斌
      鐵路技術(shù)創(chuàng)新 2022年1期
      關(guān)鍵詞:實體對象鐵路

      武文斌

      (中鐵第一勘察設(shè)計院集團(tuán)有限公司,陜西 西安 710043)

      0 引言

      近年來,BIM技術(shù)在鐵路工程建設(shè)中起到越來越重要的作用,也是鐵路工程進(jìn)行數(shù)字化轉(zhuǎn)型升級的核心技術(shù)支撐[1-2],數(shù)字工程技術(shù)在實際工程中的應(yīng)用將會推動數(shù)字經(jīng)濟(jì)與實體經(jīng)濟(jì)的深度融合[3-5]。鐵路通信數(shù)字工程作為信息的載體,將鐵路工程在工程設(shè)計、工程施工、運維管理等階段全生命周期內(nèi)的信息集成在統(tǒng)一的數(shù)字化模型中,打破設(shè)計、施工、運維階段業(yè)務(wù)的信息隔離,實現(xiàn)一體化、全過程化的數(shù)字應(yīng)用。鐵路通信數(shù)字工程的創(chuàng)建和存儲環(huán)節(jié)是將實體工程進(jìn)行數(shù)字化的重要環(huán)節(jié)。在鐵路BIM標(biāo)準(zhǔn)相關(guān)體系框架下,研究鐵路通信數(shù)字工程創(chuàng)建和存儲技術(shù),將推動鐵路通信行業(yè)數(shù)字工程更好地服務(wù)鐵路高品質(zhì)發(fā)展,更好地融入鐵路行業(yè)的全生命周期中。

      目前常用的關(guān)系型數(shù)據(jù)庫RDBMS廣泛應(yīng)用于多個領(lǐng)域,是基于關(guān)系模型存儲數(shù)據(jù)的數(shù)據(jù)庫,但當(dāng)存儲數(shù)據(jù)量增加到一定量級、數(shù)據(jù)類型繁多時,若未進(jìn)行及時有效的前期規(guī)劃,存儲數(shù)據(jù)時就會出現(xiàn)并發(fā)度不高、訪問查詢效率較低及擴(kuò)展性差等問題[6]。NoSQL數(shù)據(jù)庫的空間索引機(jī)制和RDBMS不同,NoSQL數(shù)據(jù)庫可實現(xiàn)高并發(fā)讀寫與高效空間索引[7],以及支持系統(tǒng)在任何階段實現(xiàn)高可用性與高擴(kuò)展性。探索性地在鐵路通信數(shù)字工程的存儲和查詢環(huán)節(jié)采用NoSQL數(shù)據(jù)庫并進(jìn)行深入研究,實現(xiàn)鐵路通信數(shù)字工程在工程全過程的可用性與兼容性。

      1 NoSQL數(shù)據(jù)庫分析

      1.1 NoSQL數(shù)據(jù)庫優(yōu)勢

      鐵路通信數(shù)字工程在創(chuàng)建過程中會產(chǎn)生各類信息數(shù)據(jù),數(shù)字工程的模型與信息數(shù)據(jù)構(gòu)成了完整的鐵路數(shù)字工程信息模型,并且在工程全生命周期中需不斷增添各類自定義格式數(shù)據(jù)。NoSQL數(shù)據(jù)庫為非關(guān)系型數(shù)據(jù)庫,包含多種數(shù)據(jù)存儲的數(shù)據(jù)庫設(shè)計模式,可將各類信息進(jìn)行有機(jī)整合,為擴(kuò)展提供便利,且其結(jié)構(gòu)簡單,是高性能可適應(yīng)高數(shù)據(jù)量的鐵路數(shù)字工程模型。

      鐵路通信設(shè)備及工程種類繁多,數(shù)據(jù)無法預(yù)定義統(tǒng)一的存儲結(jié)構(gòu),需在創(chuàng)建過程中不斷定義新的存儲結(jié)構(gòu)。NoSQL數(shù)據(jù)庫具有靈活輕便的數(shù)據(jù)結(jié)構(gòu)和更簡單的訪問模式,在鐵路通信數(shù)字工程存儲中很好地解決了大數(shù)據(jù)量處理問題,并且鐵路通信數(shù)字工程的數(shù)據(jù)信息需在多個平臺進(jìn)行數(shù)據(jù)共享,NoSQL數(shù)據(jù)庫可建立標(biāo)準(zhǔn)數(shù)字化模型,形成可復(fù)用的標(biāo)準(zhǔn)化數(shù)字資產(chǎn)。

      1.2 NoSQL數(shù)據(jù)庫類型分析

      NoSQL數(shù)據(jù)庫主要有鍵值數(shù)據(jù)庫、列族數(shù)據(jù)庫、文檔數(shù)據(jù)庫和圖數(shù)據(jù)庫4種類型數(shù)據(jù)庫(見圖1)。鍵值數(shù)據(jù)庫是將數(shù)據(jù)存儲為鍵值的集合,是在鐵路通信數(shù)字工程存儲研究中適用性最好的數(shù)據(jù)庫類型之一,在鐵路通信數(shù)字工程中可存儲實體對象的屬性和分類信息;列族數(shù)據(jù)庫可方便存儲結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),更方便進(jìn)行數(shù)據(jù)壓縮;文檔數(shù)據(jù)庫沒有固定數(shù)據(jù)架構(gòu),可存放并獲取文檔,其格式可以是XML、JSON、BSON等,在鐵路通信數(shù)字工程中使用XML文檔格式;圖數(shù)據(jù)庫以圖論為基礎(chǔ),使用圖結(jié)構(gòu)進(jìn)行語義查詢和定義,使用節(jié)點、邊和屬性來存儲數(shù)據(jù)。

      圖1 4種不同類型數(shù)據(jù)庫結(jié)構(gòu)

      2 存儲過程

      2.1 存儲內(nèi)容

      鐵路通信數(shù)字工程按照類別可分為構(gòu)件模型和單項工程模型。構(gòu)件模型是工程主體的組成部分,或獨立或與其他部分結(jié)合來完成至少1項工程主體的主要功能,如傳輸設(shè)備、接入設(shè)備等。單項工程模型是指在施工、改造等工程實施過程中,通過使用一定的建設(shè)資源(人員、材料、機(jī)械),應(yīng)用技術(shù)和技能經(jīng)過一定的建設(shè)過程而形成的工作結(jié)果[8]。如鐵路通信數(shù)字工程的溝槽及管道、光(電)纜敷設(shè)及防護(hù)等相關(guān)工程。鐵路通信機(jī)械室數(shù)字工程模型見圖2。

      圖2 鐵路通信機(jī)械室數(shù)字工程模型

      2.2 數(shù)據(jù)架構(gòu)設(shè)計

      鐵路通信數(shù)字工程底層數(shù)據(jù)架構(gòu)分為前端、數(shù)據(jù)中臺和數(shù)據(jù)庫3個層次(見圖3)。

      圖3 鐵路通信數(shù)字工程數(shù)據(jù)架構(gòu)

      (1)前端為用戶提供模型創(chuàng)建功能,主要有設(shè)備布放、設(shè)備連接關(guān)系建立、邏輯關(guān)聯(lián)關(guān)系配置和系統(tǒng)圖生成、人員和項目信息管理配置等。

      (2)數(shù)據(jù)中臺主要提供模型與數(shù)據(jù)的關(guān)聯(lián)、信息處理、邏輯處理、為前端提供API等功能。

      (3)數(shù)據(jù)庫主要包括NoSQL數(shù)據(jù)庫和RDBMS數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫主要存儲屬性、部件分類、空間位置、幾何信息等內(nèi)容,并使用NoSQL數(shù)據(jù)庫的MapRe-duce機(jī)制實現(xiàn)分布式數(shù)據(jù)加載過程[9];RDBMS數(shù)據(jù)庫主要存儲字典數(shù)據(jù)、工點信息、橋隧數(shù)據(jù)、斷鏈表等數(shù)據(jù)。

      2.3 實體對象定義

      鐵路通信數(shù)字工程在創(chuàng)建過程中主要存在2種類型數(shù)據(jù),一類是可以存入關(guān)系型數(shù)據(jù)庫內(nèi)的數(shù)據(jù),如設(shè)備及線纜字典、定額字典、項目工點數(shù)據(jù)、斷鏈數(shù)據(jù)等。另一類是數(shù)字工程創(chuàng)建過程中產(chǎn)生的數(shù)據(jù),如模型幾何信息、空間位置信息、數(shù)字工程分解信息及所屬關(guān)系等,在創(chuàng)建過程中按需求進(jìn)行對象定義,并存入NoSQL數(shù)據(jù)庫中將模型和數(shù)據(jù)進(jìn)行整合。

      鐵路通信數(shù)字工程實體是組成鐵路通信工程的基本單元,每個實體都有其特征和功能,特征指實體的靜態(tài)屬性,功能指實體的動態(tài)屬性。鐵路通信數(shù)字工程實體對象是被抽象描述的某個實體,一個鐵路通信數(shù)字工程實體包含了實體的特征和功能,數(shù)字工程在創(chuàng)建過程中需進(jìn)行對象定義,并添加與其對應(yīng)的屬性值,再存入NoSQL數(shù)據(jù)庫中,從而實現(xiàn)模型和數(shù)據(jù)的融合統(tǒng)一。鐵路通信數(shù)字工程設(shè)備對象定義見圖4。

      圖4 鐵路通信數(shù)字工程設(shè)備對象定義

      在設(shè)備與部件、部件與端口存在一對多的情況時,通過數(shù)組的方式定義一對多的關(guān)聯(lián)關(guān)系。設(shè)備(Device)、零件(Parts)、端口(Port)3級實體定義見表1。

      表1 設(shè)備、零件、端口3級實體定義

      2.4 實體對象存儲

      數(shù)字工程對象的存儲基于NoSQL數(shù)據(jù)庫的架構(gòu)模式,存儲數(shù)據(jù)庫采用鍵值(Key-Value)方式。NoSQL數(shù)據(jù)庫內(nèi)對象由自身的屬性數(shù)據(jù)和多個關(guān)聯(lián)或映射關(guān)系組成,其中映射關(guān)系由哈希函數(shù)來實現(xiàn)[10]。在哈希表中主要采用雙索引機(jī)制和列存儲模式,每個對象均由唯一的GUID(即Key值)和所附屬的屬性構(gòu)成(即Value)。進(jìn)行實體對象查找時,以GUID為基礎(chǔ),進(jìn)行實體遍歷后,通過GUID對比查找所需要的屬性值。進(jìn)行實體對象存儲時,為了節(jié)約硬件緩存、提高查詢效率,可將實體對象按屬性類別進(jìn)行存放,并保證同類相鄰對象存儲位置也相鄰,即可實現(xiàn)軟件高效便捷地讀取數(shù)據(jù)值,也有助于提高整個系統(tǒng)的效率。以鐵路通信10G傳輸設(shè)備為例,其在NoSQL數(shù)據(jù)庫中的存儲結(jié)構(gòu)見圖5。

      圖5 鐵路通信10G傳輸設(shè)備在NoSQL中的存儲結(jié)構(gòu)

      2.5 建立索引

      對NoSQL實體對象建立索引關(guān)系是一個重要環(huán)節(jié),建立索引能夠極大提高數(shù)字工程對象查詢的效率。鐵路通信數(shù)字工程實體對象的索引需存儲在易于遍歷讀取的獨立數(shù)據(jù)集合中,是對整個NoSQL數(shù)據(jù)庫表按照一定規(guī)律排序的特定數(shù)據(jù)結(jié)構(gòu)。

      在數(shù)字工程對象及其屬性上建立索引,首先將數(shù)字工程對象的GUID作為哈希函數(shù)的輸入,獲取數(shù)字工程對象的索引;然后用數(shù)字工程對象的GUID和屬性值進(jìn)行組合,作為哈希函數(shù)的輸入,獲取屬性數(shù)組的指針,從而確定數(shù)字工程對象某個屬性的存儲位置。采用主外鍵聯(lián)合建立索引的方式,主鍵用于強(qiáng)制某一列的唯一性和關(guān)系表中數(shù)據(jù)的排列結(jié)構(gòu),外鍵可加快連接速度。

      在鐵路通信數(shù)字工程NoSQL數(shù)據(jù)庫中使用單索引方式和復(fù)合鍵索引方式。

      (1)單索引方式創(chuàng)建唯一索引語法為:db.Project.createIndex({deviceName:1},{unique: true}),表示在數(shù)據(jù)庫中建立集合,其中數(shù)據(jù)對象排列按device-Name的升序創(chuàng)建索引。

      (2)復(fù)合鍵方式創(chuàng)建唯一索引語法為:db.Project.createIndex({deviceName:1,Code:1},{unique:true}),表示在數(shù)據(jù)庫中建立集合,其中數(shù)據(jù)對象排列按device-Name和Code聯(lián)合創(chuàng)建索引。

      2.6 實體遍歷

      對實體對象的遍歷查找,可根據(jù)對象GUID直接定位,也可給定1個條件,如對象的某個屬性大于某個限值。查找條件由簡單的操作符(大于、小于、等于等)和操作數(shù)組成。對象遍歷可按照實體默認(rèn)編碼Code由小到大依次執(zhí)行哈希函數(shù)獲取對象的存儲位置;對實體數(shù)據(jù)庫類型總表中不存在的對象類型定義為NULL,可直接跳過查找過程;對于同類對象中不連續(xù)的對象Code,則需完整執(zhí)行查找過程。

      對實體對象遍歷的基本語法為:db.Project.find().forEach(function(item){“GUID=a51bbf84-eed5-483c-8a00-a3e301194e42”}),表示遍歷符合GUID=a51bbf84-eed5-483c-8a00-a3e301194e42條件的設(shè)備。

      2.7 基本操作

      因NoSQL數(shù)據(jù)庫并不支持SQL語言,對數(shù)據(jù)庫的操作需自定義相應(yīng)的函數(shù)進(jìn)行數(shù)據(jù)新增、刪除、修改、查找。新增操作是把對象GUID通過哈希函數(shù)映射到對應(yīng)的存儲節(jié)點并保存對象的各屬性值;刪除操作是通過GUID找到對象,并將其存儲標(biāo)志設(shè)置為無效;修改操作是進(jìn)行對象GUID哈希函數(shù)映射的查找,再將其屬性值進(jìn)行修改;查找操作的核心是對象的遍歷和GUID值的對比,通過哈希函數(shù)獲取對象的存儲位置,從而確定所查找對象的值。

      (1)新增1個對象實體基本語法為:db.Project.insert({GUID:a51bbf84-eed5-483c-8a00-a3e301194e42,deviceName:2.5G傳輸}),表示項目數(shù)據(jù)庫中新增名稱為2.5G傳輸?shù)脑O(shè)備。

      (2)刪除1個對象實體基本語法為:db.Project.remove({GUID:a51bbf84-eed5-483c-8a00-a3e301194e 42}),表示在項目數(shù)據(jù)庫中刪除GUID為a51bbf84-eed5-483c-8a00-a3e301194e42的設(shè)備。

      (3)修改1個對象實體基本語法為:db.Project.update({GUID:a51bbf84-eed5-483c-8a00-a3e301194e42,{deviceName:10G傳輸設(shè)備}}),表示在項目數(shù)據(jù)庫中將GUID為a51bbf84-eed5-483c-8a00-a3e301194e42的設(shè)備名稱改為10G傳輸設(shè)備。

      (4)查找1個對象實體的基本語法為:db.Project.find({GUID:a51bbf84-eed5-483c-8a00-a3e301194e42}),表示在項目數(shù)據(jù)庫中查找ID為a51bbf84-eed5-483c-8a00-a3e301194e42的設(shè)備。

      3 結(jié)束語

      鐵路通信數(shù)字工程的創(chuàng)建貫穿于工程設(shè)計、施工和運維的全生命周期,遵循鐵路BIM聯(lián)盟發(fā)布的鐵路BIM標(biāo)準(zhǔn)體系,合理的數(shù)據(jù)結(jié)構(gòu)設(shè)計將大大提高數(shù)字工程在應(yīng)用階段的效率。在鐵路通信數(shù)字工程存儲中采用NoSQL數(shù)據(jù)庫,可將工程基礎(chǔ)信息更好地與模型進(jìn)行融合和擴(kuò)展,極大提高了數(shù)字模型與數(shù)據(jù)的一致性和對高并發(fā)的處理能力。鐵路通信數(shù)字工程與其NoSQL數(shù)據(jù)庫形成的數(shù)字資產(chǎn)可滿足不同場景的應(yīng)用需求,在設(shè)計期可支撐基礎(chǔ)數(shù)據(jù)的流轉(zhuǎn),進(jìn)行優(yōu)化設(shè)計;在施工期可支撐數(shù)字工程的工藝工法、設(shè)備空間形態(tài)等的展示,指導(dǎo)施工;在運維期可支撐智能運維管理,提供運營維護(hù)的基礎(chǔ)數(shù)據(jù)。鐵路數(shù)字工程作為鐵路工程建造過程中的重要組成部分,應(yīng)強(qiáng)化基礎(chǔ)研究,堅持創(chuàng)新驅(qū)動發(fā)展,全面實現(xiàn)工程數(shù)字化建設(shè)和物資數(shù)字化管理。在鐵路通信數(shù)字工程創(chuàng)建環(huán)節(jié)引入新理念、新方法、新模式,更好地整合數(shù)字生態(tài)中所有系統(tǒng)與數(shù)據(jù),也是實現(xiàn)數(shù)據(jù)驅(qū)動和數(shù)字仿真的基礎(chǔ)。

      猜你喜歡
      實體對象鐵路
      神秘來電
      睿士(2023年2期)2023-03-02 02:01:09
      沿著中老鐵路一路向南
      云南畫報(2021年12期)2021-03-08 00:50:54
      前海自貿(mào)區(qū):金融服務(wù)實體
      中國外匯(2019年18期)2019-11-25 01:41:54
      鐵路通信線路維護(hù)體制改革探索與實踐
      攻略對象的心思好難猜
      意林(2018年3期)2018-03-02 15:17:24
      實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
      兩會進(jìn)行時:緊扣實體經(jīng)濟(jì)“釘釘子”
      振興實體經(jīng)濟(jì)地方如何“釘釘子”
      基于熵的快速掃描法的FNEA初始對象的生成方法
      無人機(jī)在鐵路工程建設(shè)中的應(yīng)用與思考
      南昌县| 龙口市| 张家口市| 海安县| 漳州市| 龙陵县| 黑山县| 临猗县| 黄骅市| 鄢陵县| 成都市| 蓝山县| 彩票| 蒲城县| 额尔古纳市| 湖北省| 射阳县| 兰坪| 蓬莱市| 乌兰察布市| 汾阳市| 竹山县| 新化县| 长沙县| 汤阴县| 海原县| 綦江县| 洪雅县| 合水县| 鹿邑县| 奉新县| 肇东市| 西乡县| 嫩江县| 南川市| 元谋县| 峨山| 成安县| 玛纳斯县| 伊川县| 涪陵区|