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

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

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

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

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

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

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

1設(shè)計方法

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

2設(shè)計通道

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

3管理通道

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

4結(jié)語

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

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

主站蜘蛛池模板: 粗大挺进尤物人妻中文字幕| 永久在线免费观看| 日本a∨在线播放高清| 亚洲人成在线播放网站岛国| 男人把女人桶爽30分钟一| 国产SUV精品一区二区883| 国产成人精品怡红院| 国产精彩视频在线| www.youjizz.com国产| 无码国内精品人妻少妇蜜桃视频| 亚洲av本道一区二区三区四区| 永久在线观看www免费视频| 北条麻妃在线一区二区| 蜜桃麻豆WWW久久囤产精品| 国产无遮挡又黄又爽免费网站| 91久久国产精品| 天堂资源bt在线官网| 三上悠亚在线网站| 无码超乳爆乳中文字幕久久| 亚洲av无码一区二区三区观看 | jizz老师喷水| 成人无码嫩草影院| 久久久久久国产精品视频| 最新版天堂资源8网| 亚洲免费中文字幕| 欧美日韩国产精品自在自线| 亚洲色欲久久久久综合网| 第37部分夫妇交换系列| 又黄又爽又色的视频| 色婷婷激情综合| 国产人妖xxxx做受视频| 99自拍视频在线观看| 国产精品igao视频网网址| 4ayy私人影院| 国产香蕉在线精彩视频| 99久久综合精品五月天| 天天做天天爱天天综合网| 一区二区三区国模大胆| 成人在线色视频| 中文字幕亚洲欧美日韩在线不卡 | 91香蕉短视频|