亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于確定性的分布式數(shù)據(jù)庫中間件設(shè)計及實現(xiàn)

        2020-12-25 03:16:28王會羽夏飛黃迅戚林成
        微型電腦應用 2020年12期
        關(guān)鍵詞:應用層中間件分布式

        王會羽, 夏飛, 黃迅, 戚林成

        (國網(wǎng)江蘇省電力有限公司 信息通信分公司, 江蘇 南京 210000)

        0 引言

        當前正處于信息技術(shù)快速發(fā)展的階段,許多新的網(wǎng)絡(luò)傳輸技術(shù)以及計算機處理技術(shù)都獲得了廣泛應用,對整個社會的生產(chǎn)生活方式造成了明顯影響[1-3],同時也產(chǎn)生了大量的數(shù)據(jù),因此對于存儲設(shè)備的容量與數(shù)據(jù)處理效率都提出了更高的要求,在這種情況下采用普通的單體數(shù)據(jù)庫已無法滿足實際應用需求,許多企業(yè)只能通過分布式數(shù)據(jù)庫系統(tǒng)來存儲大量的數(shù)據(jù)[4-7]。該數(shù)據(jù)庫的特點是可以能夠?qū)?jié)點進行線性增加,因此具有良好的可擴展性,從而使整個系統(tǒng)獲得更大的吞吐量[8-9]。根據(jù)相關(guān)研究可知,現(xiàn)階段分布式數(shù)據(jù)庫因具備分布式ACID屬性,從而對其數(shù)據(jù)擴展造成了明顯的約束[10-11]。隨著分布式數(shù)據(jù)庫中的節(jié)點不斷增加達到某一臨界值后,便會降低數(shù)據(jù)庫性能的提升速率,最終處于一個相對穩(wěn)定的狀態(tài)。因此,如何更有效地提高可擴展性以達到高擴展性水平,同時依然具備事務(wù)ACID屬性成為了當前研究分布式數(shù)據(jù)庫的一項關(guān)鍵內(nèi)容[12]。

        本文采用確定性執(zhí)行策略構(gòu)建得到分布式數(shù)據(jù)庫,同時克服數(shù)據(jù)庫所具有的不確定性?,F(xiàn)階段人們已經(jīng)開發(fā)出了許多不同功能的數(shù)據(jù)庫中間件,不過這些產(chǎn)品都無法滿足確定性執(zhí)行策略的應用條件。針對上述情況,本文對數(shù)據(jù)庫中間件進行了重新優(yōu)化設(shè)計,同時分析了此數(shù)據(jù)庫的各中間模塊能夠?qū)崿F(xiàn)的具體功能。

        1 中間件集群技術(shù)

        中間件集群技術(shù)指的是以特定方式來組合多個獨立運作的分布式數(shù)據(jù)庫,并以中間件對上述過程實施協(xié)調(diào)??梢岳脭?shù)據(jù)庫中間件來獨立歸類網(wǎng)絡(luò)通信和數(shù)據(jù)庫的訪問類型,以此消除各平臺差異性,能夠?qū)崿F(xiàn)對各類異構(gòu)平臺進行數(shù)據(jù)庫訪問的功能。分布式數(shù)據(jù)庫內(nèi)的中間件位置,如圖1所示。

        圖1 數(shù)據(jù)庫中間件位置

        由技術(shù)人員對中間件進行了長期改進后,目前已在市場上獲得全面應用。該技術(shù)的優(yōu)點較多,主要表現(xiàn)如下。首先,此技術(shù)具備良好的運行安全性??梢岳弥虚g件來連接數(shù)據(jù)庫和外部系統(tǒng),能夠消除不必要的限制,當外部對數(shù)據(jù)庫進行訪問的過程中應符合中間件設(shè)置的協(xié)議,如果為滿足設(shè)定要求則中間件可能會拒絕來自外界的數(shù)據(jù)庫訪問請求。此外,也可以通過中間件來篩選外部連接方式,能夠排出存在風險的訪問操作,確保數(shù)據(jù)庫達到安全運行的目標。其次,具備良好的使用性能。當應用層以中間件進行數(shù)據(jù)庫訪問的時候,底層結(jié)構(gòu)可以被中間件所屏蔽,中間件接收應用層的請求后再執(zhí)行相關(guān)操作,之后再把得到的結(jié)果反饋至應用層,由此能夠以更加高效、便捷的方式開發(fā)得到所需的應用程序。當現(xiàn)有條件下,通過中間件來實現(xiàn)數(shù)據(jù)訪問已經(jīng)成為分布式存儲的一種重要模式,并且還可以實現(xiàn)數(shù)據(jù)的一致性與可靠性。

        2 系統(tǒng)整體架構(gòu)及關(guān)鍵模塊的設(shè)計

        應用Calvin數(shù)據(jù)庫時,系統(tǒng)通常被分成存儲層、排序?qū)?、應用層、調(diào)用層,本研究采用Calvin數(shù)據(jù)庫來整合各層的功能,可以將其置于數(shù)據(jù)庫中來實現(xiàn)上述功能,通常可以把此系統(tǒng)分成不同的功能層。上述系統(tǒng)的具體各個組成部分,如圖2所示。

        圖2 中間件系統(tǒng)架構(gòu)圖

        事務(wù)請求通過應用層進行發(fā)送,并將數(shù)據(jù)存儲到數(shù)據(jù)庫層中,利用中間件層來實現(xiàn)連接應用層和數(shù)據(jù)庫層的過程,同時可以將其作為中間件集群進行處理。為了保證底層數(shù)據(jù)庫符合確定性條件,需要以中間件作為連接結(jié)構(gòu)。并且以中間件層進行事務(wù)請求時,可以使應用層操作獲得充分簡化。

        各數(shù)據(jù)庫中間件與同一底層數(shù)據(jù)庫相對應,信息的交換需要以中間件構(gòu)建連接通道,再跟底層數(shù)據(jù)庫之間完成數(shù)據(jù)交換過程。通過分析可知,在數(shù)據(jù)庫中間件中包含了二個功能模塊,具體功能結(jié)構(gòu),如圖3所示。

        圖3 中間件功能結(jié)構(gòu)圖

        2.1 數(shù)據(jù)收發(fā)功能的設(shè)計

        由于在數(shù)據(jù)傳輸過程中需要為應用層設(shè)置和中間件連接的結(jié)構(gòu),這時需要發(fā)揮數(shù)據(jù)收發(fā)接口的作用,并以此作為連接橋梁來完成對事務(wù)請求的分析,實現(xiàn)對各項參數(shù)的全局定序并把計算得到的結(jié)果傳輸?shù)綄墓芾碜幽K內(nèi)。本數(shù)據(jù)系統(tǒng)進行數(shù)據(jù)收發(fā)的工作模式,如圖4所示。

        圖4 數(shù)據(jù)收發(fā)示意圖

        為了保證應用層數(shù)據(jù)獲得了準確接收,需利用專業(yè)化監(jiān)聽設(shè)施對數(shù)據(jù)通信子模塊狀況進行檢測,在初始化系統(tǒng)的時候需要對監(jiān)聽器也進行同步初始化,同時確保實現(xiàn)實時監(jiān)聽的功能。當來自應用層的事務(wù)數(shù)量滿足監(jiān)聽器設(shè)置條件時,需把接收到的參數(shù)傳輸至數(shù)據(jù)通信子模塊再對其進行計算分析,由此實現(xiàn)接收數(shù)據(jù)的過程。

        2.2 消息定序功能的設(shè)計

        數(shù)據(jù)定序處理屬于通信子模塊的一項關(guān)鍵功能,可以有效滿足事務(wù)請求全局定序的需求,并且通常會以協(xié)商方法構(gòu)建符合要求的序列。對于上述通過確定性執(zhí)行策略實現(xiàn)的分布式數(shù)據(jù)庫進行分析可以發(fā)現(xiàn),其中包含了許多不同的數(shù)據(jù)庫中間件,為方便區(qū)分,需對各數(shù)據(jù)庫中間件實施編號。

        完成數(shù)據(jù)庫中間件的編號后,再選擇合適的主節(jié)點。需通過主節(jié)點準確判斷各事務(wù)的運行先后順序,考慮到數(shù)據(jù)庫中間件的數(shù)量較多,當不存在主節(jié)點時,可以通過數(shù)據(jù)庫中間件把得到的處理結(jié)果傳輸?shù)綉脤?,采用上述處理方法會造成網(wǎng)絡(luò)中產(chǎn)生大量的通信數(shù)據(jù),從而造成堵塞的問題,導致性能得不到充分利用,由此提高了應用層接收與識別的難度。當主節(jié)點屬于數(shù)據(jù)庫中間件時,更加快速地接收和分辨最終處理結(jié)果。

        在各Layer中傳輸數(shù)據(jù)時,應先結(jié)合實際需求構(gòu)建一個Event,其類型需要結(jié)合實際應用條件進行分析,在此基礎(chǔ)上滿足相應的功能。當Event構(gòu)建結(jié)束后,再利用Appia接口函數(shù)來發(fā)送數(shù)據(jù)??紤]到在Qos內(nèi)含有多個層結(jié)構(gòu),并且各Laye都有對應的Qos位置,因此在傳遞Event的過程中應規(guī)定實際傳遞方向,可以選擇UP或選擇DOWN等不同形式。利用這種設(shè)置便能夠?qū)vent傳輸至對應Layer的相鄰層中再進行分析。

        (1) 主節(jié)點進行原子廣播。當DdChannel接收Event后,需要先把Event傳遞至DdAppl內(nèi)再對其進行計算。當判斷結(jié)果屬于主節(jié)點時應構(gòu)建PaxosPropose類型的Event時,則將其傳輸至其它數(shù)據(jù)庫中間件第三層DdAccept中;當判斷發(fā)現(xiàn)不屬于主節(jié)點時,需把Event的數(shù)據(jù)賦值到DdTOB的cachedTom變量中,以Event的epoch值作為該節(jié)點epoch。上述具體過程,如圖5所示。

        (2) 利用主節(jié)點DdAccept監(jiān)聽來自其它各數(shù)據(jù)庫的Event數(shù)據(jù)包。如果此Event屬于WriteAck,則判斷WriteAck內(nèi)的epoch,當兩者不同時將其拋棄,當具有和主節(jié)點相同的epoch時,則對主節(jié)點的WriteAck數(shù)增加1。如果WriteAck包的數(shù)量增加至數(shù)據(jù)庫總量50%以上時,表明此時事務(wù)請求可以達到全局有序狀態(tài)。當主節(jié)點DdTOB接收PaxosReturn時,把cachedTom的參數(shù)傳遞給DdTomResult類的Event,同時往上傳輸?shù)紻dAppl中再對其實施計算。上述處理過程的具體流程,如圖6所示。

        圖5 發(fā)送原子廣播

        圖6 主節(jié)點判斷流程圖

        3 數(shù)據(jù)通信子模塊的實現(xiàn)

        通過數(shù)據(jù)通信子模塊構(gòu)建得到數(shù)據(jù)傳輸?shù)耐ǖ?,同時將處理后事務(wù)請求序列傳輸?shù)绞聞?wù)管理子模塊。該模塊總共含有服務(wù)器端和客戶端共兩類,可以通過ServerAppl類與ClientAppl類來實現(xiàn)相關(guān)功能。上述二個類可以通過P2PMessage來完成通信,為便于監(jiān)聽P2PMessage,兩者都需要保持與P2PMessagelistener接口同樣的屬性。

        由于P2PMessage是對Serializable接口進行繼承得到的結(jié)果,這使得P2PMessage具有可序列化的特征。P2PMessage的具體結(jié)構(gòu),如表1所示。

        表1 P2PMessage結(jié)構(gòu)

        3.1 數(shù)據(jù)收發(fā)功能的實現(xiàn)

        系統(tǒng)利用數(shù)據(jù)收發(fā)功能來連接數(shù)據(jù)庫的不同功能層,再把完成全局定序處理后的事務(wù)轉(zhuǎn)移至事務(wù)管理子模塊中。

        在事務(wù)管理子模塊中進行Storedl數(shù)據(jù)存儲,之后再把接收到的數(shù)據(jù)在Storedl內(nèi)完成打包處理。需要先進行數(shù)據(jù)存儲后再運行事務(wù)管理子模塊,接著再把Storedl包含的各項參數(shù)傳輸至存儲結(jié)構(gòu)中并執(zhí)行相關(guān)操作。在接收數(shù)據(jù)時形成的函數(shù)調(diào)用時序,如圖7所示。

        圖7 數(shù)據(jù)接收功能時序圖

        利用數(shù)據(jù)通信子模塊完成數(shù)據(jù)定序后,再將其傳輸至Message()函數(shù),利用此函數(shù)調(diào)用Messag(e)函數(shù),在事務(wù)管理子模塊中執(zhí)行TotalOrder Message。進行數(shù)據(jù)發(fā)送的具體時序結(jié)構(gòu),如圖8所示。

        圖8 數(shù)據(jù)發(fā)送時序圖

        3.2 消息定序功能的實現(xiàn)

        通過客戶端的ClientAppl類把Storedl序列傳輸至P2pMessage,之后由服務(wù)器ServerAppl類接收ClientAppl類sendP2pMessage()函數(shù)。具體時序圖,如圖9所示。

        圖9 Client時序圖

        利用主節(jié)點DdAccept類的handleWriteAck()函數(shù)來監(jiān)聽writeAck包。此時只存在主節(jié)點DdAccept類處理writeAck包,而其它各節(jié)點則不會對writeAck包進行接收。在handleWriteAck()中包含了全局變量wAck,對于來自其它數(shù)據(jù)庫的中間件WriteAck,將會先分析epoch與之前epoch是否一致。當兩者不同時進入等待狀態(tài),當兩者相同時對全局變量wAck進行增加1的數(shù)量。上述處理過程的具體流程,如圖10所示。

        圖10 處理WriteAck流程圖

        4 總結(jié)

        1) 在分析分布式數(shù)據(jù)庫內(nèi)的中間件位置的基礎(chǔ)上,對系統(tǒng)整體架構(gòu)及關(guān)鍵模塊展開了設(shè)計。采用Calvin數(shù)據(jù)庫來整合各層的功能,可以將其置于數(shù)據(jù)庫中來實現(xiàn)上述功能。給出了本數(shù)據(jù)系統(tǒng)進行數(shù)據(jù)收發(fā)的工作模式。完成數(shù)據(jù)庫中間件的編號后,再選擇合適的主節(jié)點。當主節(jié)點屬于數(shù)據(jù)庫中間件時,更加快速地接收和分辨最終處理結(jié)果。

        2) 通過數(shù)據(jù)通信子模塊構(gòu)建得到數(shù)據(jù)傳輸?shù)耐ǖ?,同時將處理后事務(wù)請求序列傳輸?shù)绞聞?wù)管理子模塊。系統(tǒng)利用數(shù)據(jù)收發(fā)功能來連接數(shù)據(jù)庫的不同功能層,再把完成全局定序處理后的事務(wù)轉(zhuǎn)移至事務(wù)管理子模塊中。通過客戶端的ClientAppl類把Storedl序列傳輸至P2pMessage,之后由服務(wù)器實現(xiàn)消息定序功能。

        猜你喜歡
        應用層中間件分布式
        RFID中間件技術(shù)及其應用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        基于分級保護的OA系統(tǒng)應用層訪問控制研究
        新一代雙向互動電力線通信技術(shù)的應用層協(xié)議研究
        基于DDS的分布式三維協(xié)同仿真研究
        雷達與對抗(2015年3期)2015-12-09 02:38:50
        物聯(lián)網(wǎng)技術(shù)在信息機房制冷系統(tǒng)中的應用
        中間件在高速公路領(lǐng)域的應用
        西門子 分布式I/O Simatic ET 200AL
        亚洲综合在不卡在线国产另类| 2021国产视频不卡在线| 婷婷色国产精品视频一区| 亚洲欧美日韩中文天堂| 国产精品亚洲综合色区丝瓜 | 丝袜美足在线视频国产在线看| 国产卡一卡二卡3卡4乱码| 国产人妻无码一区二区三区免费| 免费一级黄色大片久久久| 成人全部免费的a毛片在线看| 亚洲码欧美码一区二区三区| 亚洲精品无码专区在线| 久久九九青青国产精品| 免费av在线 国产精品| 玩弄少妇人妻中文字幕| 最好看的最新高清中文视频 | 免费a级毛片无码a∨免费| 色婷婷久久综合中文蜜桃| 亚洲av永久中文无码精品综合| 免费人成年小说在线观看| 91尤物视频在线观看| 开心五月婷婷综合网站| 亚洲国产精品国自产拍性色| 久久久久久人妻无码| 中文字幕无码不卡一区二区三区| 国产成人亚洲欧美三区综合| 亚洲一区二区蜜桃视频| 黑人巨大精品欧美一区二区免费| 八区精品色欲人妻综合网| 国产麻豆精品久久一二三| 日本一二三区在线观看视频| 无码人妻久久一区二区三区不卡| 亚洲精品理论电影在线观看| 按摩女内射少妇一二三区| 日本一区二区三区清视频| 国内精品久久久人妻中文字幕| 无码欧亚熟妇人妻AV在线外遇| 91精品国产91久久久无码色戒 | 美女视频在线观看网址大全| 国产精品情侣呻吟对白视频| 婷婷丁香五月中文字幕|