国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件協(xié)議轉(zhuǎn)換網(wǎng)關(guān)在大型集成系統(tǒng)中的應(yīng)用

2019-11-11 08:17侯小虎向逸塵
計(jì)算機(jī)時(shí)代 2019年10期
關(guān)鍵詞:負(fù)載均衡系統(tǒng)集成物聯(lián)網(wǎng)

侯小虎 向逸塵

摘 ?要: 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的物聯(lián)網(wǎng)設(shè)備需要接入到軟件平臺(tái),開發(fā)出集成化的大平臺(tái)已經(jīng)是不可避免的趨勢(shì)。當(dāng)一個(gè)集成平臺(tái)需要面對(duì)多種物聯(lián)網(wǎng)設(shè)備時(shí),系統(tǒng)就需要利用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)來處理和轉(zhuǎn)換各種各樣的協(xié)議信息,以達(dá)到與設(shè)備通信的目的。文章分析了兩種類型的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),描述了它們?cè)诩上到y(tǒng)中的應(yīng)用,及其負(fù)載均衡方案。

關(guān)鍵詞: 協(xié)議網(wǎng)關(guān); 物聯(lián)網(wǎng); 系統(tǒng)集成; 負(fù)載均衡

中圖分類號(hào):TP311 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? 文章編號(hào):1006-8228(2019)10-50-04

Abstract: With the rapid development of Internet of Things technology, more and more Internet of Things devices need to be connected to the software platform, and it is an inevitable trend to develop an integrated platform. When an integrated platform needs to face a variety of Internet of Things devices, the system needs to use protocol conversion gateway to process and transform a variety of protocol information in order to achieve the purpose of communication with devices. This paper analyses two types of protocol conversion gateways, describes their applications in integrated systemsand their load balancing scheme.

Key words: protocol gateway; Internet of Things; system integration; load balancing

0 引言

軟件協(xié)議轉(zhuǎn)換網(wǎng)關(guān)(簡(jiǎn)稱協(xié)議網(wǎng)關(guān))是大型信息化集成系統(tǒng)設(shè)計(jì)中的重點(diǎn),也是設(shè)計(jì)難點(diǎn)。協(xié)議網(wǎng)關(guān)是溝通軟件系統(tǒng)和硬件設(shè)備的橋梁,十分重要;協(xié)議網(wǎng)關(guān)需要接入大批量的硬件設(shè)備,需要具備很高的穩(wěn)定性和并發(fā)處理能力[1]。

大型信息化集成系統(tǒng)一般會(huì)為每一種硬件設(shè)備分別設(shè)計(jì)一個(gè)獨(dú)立的網(wǎng)關(guān)程序,以免其中某個(gè)網(wǎng)關(guān)出現(xiàn)問題會(huì)影響其他網(wǎng)關(guān)的運(yùn)行,最大限度地保持系統(tǒng)整體穩(wěn)定。

在實(shí)際應(yīng)用過程中,根據(jù)與硬件交互數(shù)據(jù)方式的不同,可以對(duì)協(xié)議網(wǎng)關(guān)進(jìn)行分類,分為TCP/UDP型協(xié)議網(wǎng)關(guān)和WebService、SDK型協(xié)議網(wǎng)關(guān)兩種[2]。

1 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)介紹

1.1 TCP/UDP類型網(wǎng)關(guān)

TCP/UDP類型網(wǎng)關(guān):TCP/UDP類型網(wǎng)關(guān)基于Netty實(shí)現(xiàn)高性能的網(wǎng)絡(luò)接入程序,單個(gè)網(wǎng)關(guān)可接受的業(yè)務(wù)并發(fā)量可以達(dá)到萬級(jí)。通過RocketMQ的Cluster機(jī)制,設(shè)備指令可以平均的分配到網(wǎng)關(guān)上,網(wǎng)關(guān)再將指令發(fā)送到設(shè)備上[3]。

在網(wǎng)關(guān)和硬件設(shè)備之間,已部署了LVS負(fù)載均衡處理。LVS建立在OSI七層模型中的第四層“傳輸層”之上,支持TCP/UDP的負(fù)載均衡,它能夠很好的支持網(wǎng)關(guān)層的負(fù)載均衡[4]。

如果設(shè)備接入量實(shí)在過大,接近或達(dá)到了單個(gè)網(wǎng)關(guān)的處理極限,就可以多部署一套或多套網(wǎng)關(guān)程序,使用LVS來進(jìn)行命令的分發(fā)。負(fù)載均衡技術(shù)是大型信息化集成系統(tǒng)開發(fā)過程中不可缺少的一種技術(shù),在本文第3節(jié)中將有詳細(xì)描述。

TCP/UDP型協(xié)議網(wǎng)關(guān)結(jié)構(gòu)圖如圖1所示。

1.2 ?WebService和SDK型協(xié)議網(wǎng)關(guān)

WebService和SDK類型網(wǎng)關(guān):通過RocketMQ的Cluster機(jī)制來實(shí)現(xiàn)擴(kuò)展,同一種設(shè)備的網(wǎng)關(guān),部署在多個(gè)服務(wù)器上,同時(shí)訂閱這個(gè)設(shè)備的RocketMQ Topic,當(dāng)消息隊(duì)列里面有設(shè)備指令,將會(huì)被平均的分配到不同服務(wù)器上的網(wǎng)關(guān)上,當(dāng)某一種設(shè)備網(wǎng)關(guān)處理設(shè)備指令過載時(shí),可以通過部署一個(gè)新的網(wǎng)關(guān)實(shí)例,進(jìn)而起到分擔(dān)該網(wǎng)關(guān)的壓力,達(dá)到性能最優(yōu)[3]。WebService和SDK型協(xié)議網(wǎng)關(guān)結(jié)構(gòu)圖如圖2所示。

WebService和SDK類型網(wǎng)關(guān):通過RocketMQ的Cluster機(jī)制來實(shí)現(xiàn)擴(kuò)展,同一種設(shè)備的網(wǎng)關(guān),部署在多個(gè)服務(wù)器上,同時(shí)訂閱這個(gè)設(shè)備的RocketMQ Topic,當(dāng)消息隊(duì)列里面有設(shè)備指令,將會(huì)被平均地分配到不同服務(wù)器上的網(wǎng)關(guān),當(dāng)某一種網(wǎng)關(guān)處理設(shè)備指令過載時(shí),可以通過部署一個(gè)新的網(wǎng)關(guān)實(shí)例,進(jìn)而做到分擔(dān)該網(wǎng)關(guān)的壓力,達(dá)到性能最優(yōu)。

2 協(xié)議網(wǎng)關(guān)的應(yīng)用

對(duì)于上文介紹的兩種不同類型的協(xié)議轉(zhuǎn)換網(wǎng)關(guān),除了最后如何和硬件設(shè)備通信的方式有所區(qū)別,其他應(yīng)用流程大體一致。在大型信息化集成系統(tǒng)中,協(xié)議網(wǎng)關(guān)的操作時(shí)序圖如圖3所示。

具體操作流程如下。

⑴ 分節(jié)點(diǎn)系統(tǒng)把Java message object轉(zhuǎn)換為 JSON, 然后放入對(duì)應(yīng)的MQ Topic。

⑵ Polling Job從 MQ Topic 提取 JSON。

⑶ Polling Job轉(zhuǎn)換JSON為Java message object并調(diào)用對(duì)應(yīng)的Listener。

⑷ Listener將Java message object轉(zhuǎn)換為設(shè)備可識(shí)別的byte[]/String。

⑸ Polling Job調(diào)用對(duì)應(yīng)的Client,并傳入byte[]/String。

⑹ Client通過http/SDK/TCP/UDP等方式發(fā)送byte[]/String至設(shè)備/服務(wù)器。

⑺ 設(shè)備/服務(wù)器通過http/SDK/TCP/UDP等方式返回結(jié)果byte[]/String到網(wǎng)關(guān)。

⑻ Handler把byte[]/String轉(zhuǎn)換為業(yè)務(wù)Java message object。

⑼ MS把Java message object轉(zhuǎn)換為JSON, 然后放入對(duì)應(yīng)的MQ Topic。

⑽ 分節(jié)點(diǎn)從MQ Topic獲取到消息。

3 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的負(fù)載均衡

協(xié)議轉(zhuǎn)換網(wǎng)關(guān)將對(duì)接大量的硬件設(shè)備,處理大量業(yè)務(wù)請(qǐng)求。當(dāng)單個(gè)網(wǎng)關(guān)無法滿足使用需要時(shí),就用利用負(fù)載均衡來實(shí)現(xiàn)橫向擴(kuò)展。

目前,負(fù)載均衡主要分為兩種:一種是硬件負(fù)載均衡器,比如F5,一種是軟件負(fù)載均衡策略,比如LVS。本文主要介紹如何利用LVS負(fù)載均衡技術(shù)來應(yīng)對(duì)大規(guī)模業(yè)務(wù)數(shù)據(jù)。

LVS是四層負(fù)載均衡,建立在傳輸層之上,支持TCP/UDP的負(fù)載均衡。所以它能夠很好的支持本系統(tǒng)中網(wǎng)關(guān)層的負(fù)載均衡[4]。

LVS是Linux Virtual Server的簡(jiǎn)稱,也就是Linux虛擬服務(wù)器。使用LVS可以達(dá)到的效果是:通過LVS達(dá)到的負(fù)載均衡技術(shù)和Linux操作系統(tǒng)實(shí)現(xiàn)一個(gè)高性能高可用的Linux服務(wù)器集群,它具有良好的可靠性、可擴(kuò)展性和可操作性。從而以低廉的成本實(shí)現(xiàn)最優(yōu)的性能。LVS是一個(gè)實(shí)現(xiàn)負(fù)載均衡集群的開源軟件項(xiàng)目,LVS架構(gòu)從邏輯上可分為調(diào)度層、Server集群層和共享存儲(chǔ)[4]。

LVS由ipvs和ipvsadm兩部分組成,其中,ipvs(ip virtual server)是真正生效實(shí)現(xiàn)調(diào)度的代碼;而ipvsadm負(fù)責(zé)為ipvs內(nèi)核框架編寫規(guī)則,定義誰(shuí)是集群服務(wù),而誰(shuí)是后端真實(shí)的服務(wù)器[4]。

● LVS的優(yōu)點(diǎn)有以下三點(diǎn):

⑴ 抗負(fù)載能力強(qiáng)、是工作在網(wǎng)絡(luò)層第四層上,僅用來進(jìn)行數(shù)據(jù)分發(fā),不產(chǎn)生實(shí)際的流量,對(duì)內(nèi)存和CPU資源消耗很低,可以應(yīng)對(duì)大規(guī)模的數(shù)據(jù);

⑵ 可配置性比較低,沒有可太多配置的東西,和配置復(fù)雜的其他負(fù)載均衡軟件相比,減少了人為出錯(cuò)的幾率;

⑶ 工作穩(wěn)定,通過Keepalived可以實(shí)現(xiàn)完整的雙機(jī)熱備方案[5]。

● LVS有多種轉(zhuǎn)發(fā)邏輯,包括:

⑴ LVS-NAT:修改請(qǐng)求報(bào)文的目標(biāo)IP;

⑵ LVS-DR:操縱封閉新的MAC地址;

⑶ LVS-TUN:在原請(qǐng)求IP報(bào)文之外新加一個(gè)IP首部;

⑷ LVS-FULLNAT:修改請(qǐng)求報(bào)文的源和目標(biāo)IP[2]。

● 本系統(tǒng)中采用的是LVS-DR轉(zhuǎn)發(fā)模式,其特性有:

⑴ RIP與DIP在同一IP網(wǎng)絡(luò),RS可以使用私有地址,也可以使用公網(wǎng)地址,此時(shí)可以直接通過互聯(lián)網(wǎng)連入RS,以實(shí)現(xiàn)配置、監(jiān)控等;

⑵ RS的網(wǎng)關(guān)一定不能指向DIP;

⑶ RS跟Director要在同一物理網(wǎng)絡(luò)內(nèi)(不能有路由器分隔,因?yàn)橐獙?bào)文封裝MAC首部進(jìn)行報(bào)文轉(zhuǎn)發(fā));

⑷ 請(qǐng)求報(bào)文必須經(jīng)過Director,但響應(yīng)報(bào)文不能經(jīng)過Director而是由RS直接發(fā)往Client以釋放Directory的壓力;

⑸ 不支持端口映射(因?yàn)轫憫?yīng)報(bào)文不經(jīng)過Director);

⑹ RS可以使用大多數(shù)的操作系統(tǒng);

⑺ Director的VIP對(duì)外可見,RS的VIP對(duì)外不可見;

⑻ RS跟Director都得配置使用VIP;

⑼ 確保前端路由器將目標(biāo)IP為VIP的請(qǐng)求報(bào)文發(fā)往Director[5]。

網(wǎng)關(guān)層使用LVS實(shí)現(xiàn)負(fù)載均衡和高可用,LVS會(huì)提供一個(gè)虛擬IP,使用主、備用負(fù)載均衡服務(wù)器進(jìn)行設(shè)備連接轉(zhuǎn)發(fā)。當(dāng)一臺(tái)負(fù)載均衡服務(wù)器服務(wù)中斷后,另外一臺(tái)可以繼續(xù)提供服務(wù),實(shí)現(xiàn)網(wǎng)關(guān)的高可用[5]。考慮到所有網(wǎng)關(guān)服務(wù)器配置相同,所以LVS會(huì)采用RR輪詢算法將設(shè)備的連接請(qǐng)求按網(wǎng)關(guān)順序進(jìn)行輪流分配,即平均分配每個(gè)網(wǎng)關(guān)的設(shè)備連接數(shù)量。當(dāng)設(shè)備連接數(shù)量增長(zhǎng)到一定程度后,可以直接增加網(wǎng)關(guān)服務(wù),實(shí)現(xiàn)水平擴(kuò)展,對(duì)架構(gòu)及業(yè)務(wù)處理不產(chǎn)生影響[5]。

對(duì)LVS的性能可以進(jìn)行多方面測(cè)試,包括高流量壓力測(cè)試、高并發(fā)壓力測(cè)試、響應(yīng)時(shí)間測(cè)試、RR算法預(yù)期值測(cè)試(連接數(shù)是否正確分布測(cè)試)等,LVS都能夠很好地通過這些測(cè)試,可以實(shí)現(xiàn)系統(tǒng)對(duì)于負(fù)載均衡的需求[5]。

4 結(jié)論

本文介紹了兩種類型的軟件轉(zhuǎn)換網(wǎng)關(guān),并針對(duì)性地通過數(shù)據(jù)流程圖,說明了軟件協(xié)議轉(zhuǎn)換網(wǎng)關(guān)在大型信息化集成系統(tǒng)中的應(yīng)用方式。

軟件轉(zhuǎn)換網(wǎng)關(guān)可以有效提升系統(tǒng)開發(fā)效率,有效去耦合,為實(shí)現(xiàn)系統(tǒng)互聯(lián)互通打下了良好的基礎(chǔ)。在業(yè)務(wù)量很大時(shí),也可以通過負(fù)載均衡的方式來進(jìn)行橫向擴(kuò)展,使系統(tǒng)的可用性大幅提高,具備很高的實(shí)際應(yīng)用價(jià)值。

參考文獻(xiàn)(References):

[1] 薄慕婷,丁立波,張合.智能網(wǎng)關(guān)軟件設(shè)計(jì)與實(shí)現(xiàn)[J].兵器裝備工程學(xué)報(bào),2016.37(12).

[2] 佟立飛,李龍華.通用網(wǎng)關(guān)協(xié)議數(shù)據(jù)轉(zhuǎn)換軟件開發(fā)[J].自動(dòng)化技術(shù)與應(yīng)用,2012.31(1):16-18

[3] 謝小云.基于敏捷開發(fā)及多V模型的嵌入式溫室網(wǎng)關(guān)的軟件開發(fā)[J].電子技術(shù)與軟件工程,2015.1:75-76

[4] 網(wǎng)絡(luò)作者.使用 LVS 實(shí)現(xiàn)負(fù)載均衡原理及安裝配置詳解-會(huì)飛的魚-博客頻道-CSDN.NET[EB/OL]. https://blog.csdn.net/a494303877/article/details/59576924/.

[5] 網(wǎng)絡(luò)作者.軟件級(jí)負(fù)載均衡器(LVS/HAProxy/Nginx)的特點(diǎn)簡(jiǎn)介和對(duì)比-博客頻道-CSDN.NET[EB/OL]. https://blog.csdn.net/huaishu/article/details/17022175.

猜你喜歡
負(fù)載均衡系統(tǒng)集成物聯(lián)網(wǎng)
加氫站與調(diào)壓站能源供應(yīng)系統(tǒng)集成技術(shù)及應(yīng)用
工業(yè)企業(yè)系統(tǒng)集成技術(shù) 系統(tǒng)集成技術(shù)與信息化集成系統(tǒng)(下)
異構(gòu)環(huán)境下改進(jìn)的LATE調(diào)度算法
“系統(tǒng)集成”式的改革
基于高職院校物聯(lián)網(wǎng)技術(shù)應(yīng)用人才培養(yǎng)的思考分析
中國(guó)或成“物聯(lián)網(wǎng)”領(lǐng)軍者
多站點(diǎn)同步更新系統(tǒng)的設(shè)計(jì)
模糊理論在Ad hoc網(wǎng)絡(luò)通信領(lǐng)域的應(yīng)用
車牌識(shí)別與視頻監(jiān)控系統(tǒng)集成探討