国产在线观看免费视频软件-亚洲国产成人在线观看-亚洲超丰满肉感bbw-在线亚洲天堂-欧美日韩一区二区三区不卡-97精品依人久久久大香线蕉97-日本高清不卡一区-国产精品果冻传媒-91精品国产吴梦梦-在线免费看毛片-黄色国产网站-岛国精品在线播放-免费在线看黄网址-天天操天天干天天摸-精品性视频-日韩色av色资源-三上悠亚影音先锋

美章網(wǎng) 資料文庫 設(shè)計(jì)通信進(jìn)程通道服務(wù)方法范文

設(shè)計(jì)通信進(jìn)程通道服務(wù)方法范文

本站小編為你精心準(zhǔn)備了設(shè)計(jì)通信進(jìn)程通道服務(wù)方法參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

設(shè)計(jì)通信進(jìn)程通道服務(wù)方法

摘要:當(dāng)前金融機(jī)構(gòu)正在尋求使用區(qū)塊鏈技術(shù)重構(gòu)關(guān)鍵性應(yīng)用軟件。通常,設(shè)計(jì)者引用通信順序進(jìn)程(CSP)庫去構(gòu)建這些軟件,便可方便套用CSP模型去驗(yàn)證軟件在并發(fā)通信過程中的安全性。然而,在現(xiàn)有的CSP庫中,通道以面向?qū)ο蠓绞奖怀橄?、設(shè)計(jì)和實(shí)現(xiàn),在名稱解析、序列化和反序列化方面存在單點(diǎn)故障和額外開銷,設(shè)計(jì)者難以使用他們來構(gòu)建大規(guī)模網(wǎng)絡(luò)分布式應(yīng)用。利用Kademlia網(wǎng)絡(luò)實(shí)現(xiàn)的路由算法,對CSP模型中提出的通道進(jìn)行重新抽象,并把它設(shè)計(jì)為由一組遠(yuǎn)程調(diào)用過程構(gòu)成的網(wǎng)絡(luò)服務(wù),使其具有改良的可靠性和擴(kuò)展性,為設(shè)計(jì)者在區(qū)塊鏈網(wǎng)絡(luò)中開發(fā)大規(guī)模、安全的分布式應(yīng)用提供了現(xiàn)實(shí)意義。

關(guān)鍵詞:Kademlia覆蓋網(wǎng)絡(luò);通信順序進(jìn)程(CSP)通道;進(jìn)程同步通信

使用進(jìn)程代數(shù)方法以通信順序進(jìn)程(CommunicatingSequentialProcesses,CSP)為模型,對網(wǎng)絡(luò)分布式軟件中的進(jìn)程進(jìn)行形式化驗(yàn)證是確認(rèn)其系統(tǒng)并發(fā)行為的有效理論途徑[1]。它適用于基于CSP原語和實(shí)用概念構(gòu)建的軟件。然而,在技術(shù)應(yīng)用層面,金融行業(yè)開始將區(qū)塊鏈技術(shù)用來構(gòu)建大規(guī)模網(wǎng)絡(luò)分布式應(yīng)用[2]。面向金融科技行業(yè)而設(shè)計(jì)的領(lǐng)域特定編程語言尚不成熟[3],以面向?qū)ο蟮耐ㄓ镁幊陶Z言實(shí)現(xiàn)CSP原語、實(shí)用概念的做法對構(gòu)建大規(guī)模、可擴(kuò)展、其并發(fā)特性可驗(yàn)證的網(wǎng)絡(luò)分布式系統(tǒng)依然具有現(xiàn)實(shí)意義[4-8]。例如,Ian等[6]提出,通道被抽象為了具有緩沖或者非緩沖類型,具備數(shù)量不確定的讀取或者寫入端的語言級別對象,進(jìn)程可以通過它發(fā)送和接收消息。但是,不支持分布在網(wǎng)絡(luò)主機(jī)上的進(jìn)程之間相互通信。文獻(xiàn)[5]以及對它的修訂文獻(xiàn)[9],采用基于名稱解析方法訪問遠(yuǎn)程對象的機(jī)制,實(shí)現(xiàn)了適用于進(jìn)程在網(wǎng)絡(luò)主機(jī)之間進(jìn)行通信的通道[10]。進(jìn)程使用通道的基本過程:①A進(jìn)程在本地創(chuàng)建通道對象;②A進(jìn)程通道對象的名稱;③B進(jìn)程通過名稱服務(wù)解析獲取通道的讀取或者寫入端對象;④A和B通過對象發(fā)送消息。在工程上,文獻(xiàn)[5,9]存在兩方面的問題:①在可靠性方面,系統(tǒng)采用無冗余設(shè)計(jì)的遠(yuǎn)程對象訪問服務(wù)。如果有關(guān)功能的實(shí)現(xiàn)發(fā)生故障,那么系統(tǒng)就無法管理通道實(shí)例;②在擴(kuò)展性方面,系統(tǒng)對語言級別對象進(jìn)行序列化和反序列化,在時(shí)間和空間上均存在額外開銷[11]。如果進(jìn)程委托遠(yuǎn)程對象訪問服務(wù)管理大量的通道實(shí)例,那么進(jìn)程頻繁創(chuàng)建、加入、獲取通道對象會延長系統(tǒng)的響應(yīng)時(shí)間。

1設(shè)計(jì)方法

在Kademlia等[12]網(wǎng)絡(luò)上設(shè)計(jì)管理和實(shí)現(xiàn)通道的方法可以解決以上兩方面的問題。該方法的核心是:①該對等網(wǎng)絡(luò)采用將鍵字與節(jié)點(diǎn)標(biāo)識的散列值進(jìn)行按位“抑或”后,比較相對距離的方法,每個(gè)節(jié)點(diǎn)都實(shí)現(xiàn)了相對可靠的查找和讀寫塊表中哈希鍵值的功能,每個(gè)節(jié)點(diǎn)都可以為查找通道提供名稱解析功能,不存在單點(diǎn)故障。而且用戶可以查找至多3個(gè)鄰近的節(jié)點(diǎn),以副本形式保存哈希鍵值[13],該特性為實(shí)現(xiàn)冗余提供了可能。因此,構(gòu)建可靠且本質(zhì)上具備擴(kuò)展特性的通道服務(wù)是可能的。②在網(wǎng)絡(luò)主機(jī)之間對語言級別的通道對象序列化和反序列化產(chǎn)生額外開銷之事實(shí),啟發(fā)了以簡化的方式對通道進(jìn)行抽象和實(shí)現(xiàn)的構(gòu)想。即選擇使用遠(yuǎn)程過程調(diào)用實(shí)現(xiàn)進(jìn)程同步通信,可以降低對通道對象序列化和反序列化產(chǎn)生的額外開銷,提高系統(tǒng)性能。

2設(shè)計(jì)通道

通道必須滿足以下原則:①進(jìn)程之間是匿名的;②進(jìn)程之間的通信是同步的;③進(jìn)程之間的通信是有序的。在本文闡述的方法中,通道被重新抽象為滿足以上原則的一組可被遠(yuǎn)程調(diào)用的過程,以及它們所操作的狀態(tài)數(shù)據(jù)。這些過程被設(shè)計(jì)為在對等網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行著的有狀態(tài)的網(wǎng)絡(luò)服務(wù)的一部分。因此,在設(shè)計(jì)中不存在對通道進(jìn)行具有創(chuàng)建、銷毀語義的操作,通道也不具有在面向?qū)ο蟮某橄笾械纳芷凇T谠O(shè)計(jì)中通道是包含實(shí)現(xiàn)以下功能的過程:①接收調(diào)用者關(guān)于讀取和寫入操作的請求;②按照順序?qū)ψx取和寫入操作進(jìn)行匹配;③向調(diào)用者返回有關(guān)讀取和寫入操作之請求的應(yīng)答。為了使設(shè)計(jì)符合原則①和②的要求,采用分別對讀取和寫入請求的數(shù)量進(jìn)行判定的方式控制同步通信。具體在上述過程②中,當(dāng)調(diào)用者發(fā)出有關(guān)讀取和寫入請求的數(shù)量分別達(dá)到了為同步通信而設(shè)置的數(shù)量時(shí),在通道上才會發(fā)生同步通信,然后服務(wù)向每個(gè)調(diào)用者返回關(guān)于讀取或者寫入請求的應(yīng)答。因此,服務(wù)對讀取和寫入請求的處理,分別與讀取和寫入請求的數(shù)量有關(guān),而與調(diào)用者無關(guān)。而且,進(jìn)程無需加入通道即可進(jìn)行讀取和寫入操作。為了使設(shè)計(jì)符合原則③的要求,采用2種可遞增的序號,確定有關(guān)調(diào)用時(shí)的交互操作和同步通信的順序。具體的,通道被設(shè)計(jì)保存以下狀態(tài)信息:①調(diào)用者和會話序號;②消息序號。以會話序號保證進(jìn)程在多次調(diào)用通道服務(wù)的交互過程中順序的一致性的做法,可以保證進(jìn)程間同步通信的過程滿足偏序關(guān)系,以消息序號控制讀取和寫入操作同步的做法,就是保證進(jìn)程間同步通信的過程滿足全序關(guān)系。例如,為了滿足順序關(guān)系,服務(wù)只響應(yīng)同時(shí)滿足以下2個(gè)條件的讀取和寫入請求,其他請求會被忽略:①在調(diào)用者有序發(fā)出的所有讀取或者寫入請求中,按照調(diào)用者分組后存在最大的會話序號。②在調(diào)用者有序發(fā)出的所有讀取或者寫入請求中,其消息序號與通道當(dāng)前的消息序號在數(shù)值上是相同的。在實(shí)現(xiàn)中通道是有狀態(tài)的。服務(wù)按照通道的名稱分別保存:①消息序號;②調(diào)用者和會話序號。

3管理通道

在本文闡述的方法中,對通道的管理也被抽象為實(shí)現(xiàn)查找和配置功能的一組可被遠(yuǎn)程調(diào)用的過程。這些過程被設(shè)計(jì)為在對等網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行著的有狀態(tài)的網(wǎng)絡(luò)服務(wù)的另外一部分。在設(shè)計(jì)中對通道的管理包含以下功能:①根據(jù)通道的名稱定位服務(wù);②配置或者修改通道的參數(shù)和狀態(tài)。在網(wǎng)絡(luò)節(jié)點(diǎn)上的進(jìn)程調(diào)用遠(yuǎn)程過程讀取或者向通道寫入消息之前,它通過遠(yuǎn)程調(diào)用一個(gè)實(shí)現(xiàn)查找功能的過程在網(wǎng)絡(luò)中尋找服務(wù)。在設(shè)計(jì)上該功能采用Kademlia網(wǎng)絡(luò)中實(shí)現(xiàn)的路由算法。因?yàn)樵撀酚伤惴ūM可能保證了在網(wǎng)絡(luò)擾動的條件下的穩(wěn)定和可靠[14-15],所以在任意網(wǎng)絡(luò)節(jié)點(diǎn)上的進(jìn)程,均可以根據(jù)通道的名稱定位到相同的服務(wù)。同時(shí),因?yàn)槠洳捎霉K惴ǖ男再|(zhì),決定了結(jié)果在空間具有均勻分布的特點(diǎn),在本質(zhì)上存在負(fù)載均衡的效果。根據(jù)通道的名稱,在網(wǎng)絡(luò)節(jié)點(diǎn)上的進(jìn)程定位服務(wù)以后,通過遠(yuǎn)程調(diào)用一個(gè)實(shí)現(xiàn)配置功能的過程,設(shè)定通道的參數(shù)。通道服務(wù)按照通道的名稱保存參數(shù)信息,它被設(shè)計(jì)為包括:①緩沖隊(duì)列的大?。虎谧x取的數(shù)量;③寫入的數(shù)量;④健康狀態(tài)。其中,①被用來設(shè)計(jì)具有緩沖特性的通道,②和③被用作同步通信的條件,④被用于標(biāo)志是否中毒[8]。在實(shí)現(xiàn)中,通道的參數(shù)和狀態(tài)信息,均按照通道的名稱分組后以鍵值的方式保存在鄰近的節(jié)點(diǎn)中。

4結(jié)語

在區(qū)塊鏈底層Kademlia覆蓋網(wǎng)絡(luò)中,工程人員可以根據(jù)CSP模型中通道的概念,采用新方法設(shè)計(jì)和實(shí)現(xiàn)通道服務(wù)。與文獻(xiàn)[5,9]相比,該方法利用在Kademlia網(wǎng)絡(luò)上實(shí)現(xiàn)的穩(wěn)定可靠的路由算法,解決了將通道抽象為語言級別對象時(shí),集中式名稱解析服務(wù)、對象訪問機(jī)制而產(chǎn)生的可靠性和擴(kuò)展性問題[13]。雖然在強(qiáng)烈的網(wǎng)絡(luò)擾動中,通道服務(wù)的正確性可能會受到有限影響[14-16],但是金融行業(yè)采用的技術(shù)系統(tǒng),具有較強(qiáng)的穩(wěn)定性,可以滿足關(guān)鍵應(yīng)用的可靠性要求。系統(tǒng)開發(fā)人員可以使用該方法設(shè)計(jì)實(shí)現(xiàn)的通道服務(wù),構(gòu)建需要通過CSP模型,驗(yàn)證并發(fā)特性的大規(guī)模網(wǎng)絡(luò)分布式應(yīng)用,測試人員可以使用人工或者自動化方式對系統(tǒng)進(jìn)行初步的形式化分析。

作者:趙揚(yáng) 單位:中國證券登記結(jié)算有限責(zé)任公司上海分公司

长岛县| 偃师市| 祁阳县| 丰城市| 玉树县| 贵德县| 丹江口市| 长丰县| 清苑县| 白朗县| 临安市| 石柱| 黄山市| 大竹县| 济宁市| 阳泉市| 东阿县| 连山| 阿拉善左旗| 壤塘县| 仁布县| 连山| 克什克腾旗| 和政县| 凤山市| 锦州市| 且末县| 镇江市| 锡林浩特市| 仙桃市| 德令哈市| 隆林| 九龙县| 墨脱县| 洛隆县| 杂多县| 镇远县| 阜宁县| 正安县| 琼海市| 荣昌县|