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

?

基于動(dòng)態(tài)通訊元的TCP客戶端新型通訊模型的研究與應(yīng)用

2013-12-29 00:00:00方劍杰
電腦知識(shí)與技術(shù) 2013年4期

摘要:該文針對(duì)復(fù)雜協(xié)議的網(wǎng)絡(luò)通訊,建立了一個(gè)全新的TCP (Transmission Control Protocol)客戶端的通訊模型。該模型提出了一個(gè)網(wǎng)絡(luò)通訊的最小單位——通訊元,利用解釋結(jié)構(gòu)模型分析復(fù)雜協(xié)議的通訊元圖譜,將通訊元?jiǎng)討B(tài)地添加到處理線程中進(jìn)行匹配,簡化了處理過程并極大提高了運(yùn)行效率。同時(shí)該文利用該模型設(shè)計(jì)出了一個(gè)通用的TCP客戶端模塊,封裝了通訊底層的細(xì)節(jié),提供了方便的接口。將該模塊應(yīng)用于城市消防遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)中,實(shí)際運(yùn)行表明:該模型具有簡單的接口和穩(wěn)定、高效的運(yùn)行機(jī)制。

關(guān)鍵詞: TCP;解析結(jié)構(gòu)模型;動(dòng)態(tài)通訊元

中圖分類號(hào):TN915 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)04-0702-05

The Research and Application of a New TCP Client Model Based on Dynamic Communication Unit

FANG Jian-jie

(College of Information Science & Technology, Xiamen University, Xiamen 361005, China)

Abstract: In this paper we proposed a new communication model of TCP client (Transmission Control Protocol) to solve the problem of the network communication which has complex protocols. The idea of communication unit which is the smallest unit of a network communication is advanced, so that we can describe the complex protocols by these units. Then analyze the communication units pattern of the complex protocol by means of interpretive structure modeling(ISM). it turns out that it will be a much more effective way to add communication units dynamically into the processing thread, and at the same time the process could be simplified. Based on this model a general TCP client model has been designed with lower-layer-protocol encapsulated inside and convenient interfaces accessible. This module has been applied in the city elevator remote monitoring system, and it has a very good performance b55818d821b53c50e787cea2df6b5f2dec431b18d408385d632906c581801cb0because of its simple interfaces, stabilization and high effectiveness.

Key words:TCP; interpretive structural mode; dynamic communication unit

在傳統(tǒng)的C/S協(xié)議通訊架構(gòu)設(shè)計(jì)中,針對(duì)一個(gè)客戶端主體通常存在著數(shù)以百千計(jì)的協(xié)議,其中大部分協(xié)議更是存在先后次序和分支以形成眾多協(xié)議鏈和交叉協(xié)議網(wǎng)。通常CS通訊架構(gòu)設(shè)計(jì)采用接收數(shù)據(jù)后遍歷所有協(xié)議以獲得匹配操作[1]。該種通訊方式在簡單協(xié)議的CS通訊中較為高效,但是對(duì)于協(xié)議數(shù)量達(dá)到成千上萬的復(fù)雜協(xié)議通訊,對(duì)于接收的每一次數(shù)據(jù)都需要遍歷一次協(xié)議組,對(duì)于頻繁的協(xié)議通訊而言是巨大的系統(tǒng)開銷,并導(dǎo)致通訊效率降低。該文提出網(wǎng)絡(luò)協(xié)議通訊中通訊最小單位——通訊元的概念,并通過解釋結(jié)構(gòu)模型分析通訊元協(xié)議鏈,將其進(jìn)行級(jí)間分解,利用協(xié)議鏈通訊的次序關(guān)系動(dòng)態(tài)加載/卸載通訊元,使得接收數(shù)據(jù)后需要匹配的協(xié)議數(shù)量大幅度降低,極大地提高了通訊效率。

1 通訊模型的建立

1.1 通訊元定義

通訊的基本操作有兩種:接收數(shù)據(jù),記為[R(Xi)];發(fā)送數(shù)據(jù),記為[S(Xi)]。其中[Xi]表示數(shù)據(jù),這里的數(shù)據(jù)是廣義的數(shù)據(jù),包括命令、符號(hào)等。

通訊的收發(fā)操作之間的關(guān)系符號(hào)記為[->]。例如,一個(gè)簡單雙機(jī)通訊,A機(jī)向B機(jī)發(fā)送數(shù)據(jù)[X1],B機(jī)收到[X1]則發(fā)送[X2],A機(jī)收到[X2]則發(fā)送[X3]……上述通訊關(guān)系可以表示為A機(jī):[S(X1)->φ]([φ]表示空),[R(X2)->S(X3)]……;B機(jī):[R(X1)->S(X2)],……

通訊協(xié)議正是這種你來我往的信息交互規(guī)則[2]。該文通過數(shù)學(xué)符號(hào)來描述通訊協(xié)議,從協(xié)議的普適結(jié)構(gòu)上進(jìn)行分析。并定義一個(gè)最小關(guān)系的基本通訊操作為“通訊元”。因此通訊元有四種:

1)僅接收型通訊元,記為[R(Xi)->φ],[φ]為空,表示該通訊元對(duì)數(shù)據(jù)[Xi]進(jìn)行接收,接收到數(shù)據(jù)[Xi],做相應(yīng)處理后,不再向?qū)Ψ街鳈C(jī)發(fā)送數(shù)據(jù)。適合作為客戶端一次通訊的結(jié)束,即客戶端收到服務(wù)器數(shù)據(jù)后不再向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求。

2)僅發(fā)送型通訊元,記為[S(Xi)->φ],[φ]為空,表示該通訊元主動(dòng)向?qū)Ψ街鳈C(jī)發(fā)送數(shù)據(jù)[Xi],該數(shù)據(jù)多為請(qǐng)求(命令)類型的數(shù)據(jù)。適合作為客戶端一次通訊的開始,即客戶端向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求。

3)接收發(fā)送型通訊元,記為[R(Xi)->S(Xi')]表示該通訊元若收到數(shù)據(jù)[Xi]則發(fā)送[Xi'],即客戶端與服務(wù)器交互過程。

4)發(fā)送接收型通訊元,記為[S(Xi)->R(Xi')];表示該通訊元在發(fā)送數(shù)據(jù)[Xi]后,等待接收對(duì)方主機(jī)發(fā)送[Xi']。這種類型的通訊元在客戶端模型中不常用。因?yàn)樵擃愋偷耐ㄓ嵲梢酝ㄟ^轉(zhuǎn)化成接收發(fā)送型通訊元[R(Xi)->S(Xi')]來描述同樣的交互過程。

1.2 建立通訊模型

所有的通訊協(xié)議均可用通訊元進(jìn)行拆分,但通訊元之間的關(guān)系并不是獨(dú)立的,上述簡單雙機(jī)通訊的例子中,[S(X1)->φ]與[R(X2)->S(X3)]就存在著連接關(guān)系,于是定義一系列相關(guān)通訊元連接成的鏈?zhǔn)浇Y(jié)構(gòu)為“協(xié)議鏈”。上述簡單雙機(jī)通訊的通訊協(xié)議正是由一條“協(xié)議鏈”構(gòu)成。

實(shí)際應(yīng)用中通訊協(xié)議一般由多條“協(xié)議鏈”構(gòu)成?!皡f(xié)議鏈”允許存在分支,形成“協(xié)議樹”,例如上述簡單通訊例子B機(jī)收到[X1]后發(fā)送[X2]或[X4],則A機(jī)的“協(xié)議鏈”出現(xiàn)分支,分支一:[R(X2)->S(X3)];分支二:[R(X4)->S(X5)]?!皡f(xié)議鏈”中通訊元存在遞階層次關(guān)系,我們把這種遞階層次關(guān)系定義為“協(xié)議鏈”的“層”,“協(xié)議鏈”層數(shù)在兩層以上的通訊協(xié)議,該文稱之為復(fù)雜協(xié)議,也是本文研究的對(duì)象之一。

1.3 使用解釋結(jié)構(gòu)模型分析復(fù)雜協(xié)議

在引入通訊元概念的基礎(chǔ)上,以通訊元為節(jié)點(diǎn),以通訊元之間的層次關(guān)系為邊(有向邊)。復(fù)雜協(xié)議則可以通過有向圖描述出來,稱該有向圖為“通訊元圖譜”。以一個(gè)可劃分為12個(gè)通訊元的復(fù)雜協(xié)議為例,其“通訊元圖譜”如圖2所示。

用解釋結(jié)構(gòu)模型(ISM)方面對(duì)其進(jìn)行分析[3],可建立鄰階矩陣如式(1):

計(jì)算得到可達(dá)矩陣如式 (2):

對(duì)其進(jìn)行區(qū)域分解和級(jí)間分解,獲得最后的遞階有向圖,即該復(fù)雜協(xié)議的解釋結(jié)構(gòu)模型如圖3所示。

如圖3所示,利用解釋結(jié)構(gòu)模型將原有的12個(gè)通訊元的復(fù)雜網(wǎng)絡(luò)模型分為了5層,接收到協(xié)議數(shù)據(jù)時(shí)不必遍歷整個(gè)通訊元組,只需遍歷現(xiàn)有的通訊元隊(duì)列并卸載匹配通訊元,加載下層通訊元。以上協(xié)議可以分為4條平行協(xié)議鏈,當(dāng)接收到協(xié)議數(shù)據(jù)時(shí),最差情況下只要遍歷四個(gè)通訊元即可。

2 通訊架構(gòu)

2.1 傳統(tǒng)通訊模型

傳統(tǒng)通訊模型在接收到一次協(xié)議數(shù)據(jù)后需要遍歷所有協(xié)議[4-5],如圖4,在協(xié)議量巨大的情況下系統(tǒng)效率十分低下。

2.2 基于動(dòng)態(tài)通訊元的通訊模型

基于動(dòng)態(tài)通訊元的通訊模型如圖5,定義了一個(gè)通訊元隊(duì)列用以存放活動(dòng)通訊元,當(dāng)系統(tǒng)產(chǎn)生新通訊元后就將其加入隊(duì)列,系統(tǒng)接收到數(shù)據(jù)后遍歷通訊元隊(duì)列尋找匹配通訊元,完成相應(yīng)操作并將其移出隊(duì)列。若此通訊元為協(xié)議鏈末尾,則隊(duì)列長度減短,若此通訊元存在下層通訊元?jiǎng)t隊(duì)列加載新通訊元等待數(shù)據(jù),若該通訊元所在的協(xié)議鏈?zhǔn)羌磿r(shí)回復(fù)型協(xié)議,則將新通訊元插入隊(duì)列前部以提高遍歷效率,因?yàn)橄麓谓邮諗?shù)據(jù)為此通訊元的概率較高。采用此通訊模型后,接收數(shù)據(jù)所需遍歷通訊隊(duì)列長度維持在一個(gè)很低的水平,大大提高系統(tǒng)運(yùn)行效率,并降低系統(tǒng)耦合性,利于系統(tǒng)分析設(shè)計(jì)。

3 效率分析

假設(shè)在服務(wù)端和客戶端之間有[N]條協(xié)議;每隔時(shí)間[A]生成一個(gè)通訊元;遍歷一個(gè)協(xié)議需要消耗時(shí)間為[B];協(xié)議鏈平均長度記為[M];通訊成功率記為[R];一次通訊時(shí)間記為[C],注意到[C<

3.1 傳統(tǒng)通訊模型效率

傳統(tǒng)通訊模型處理一次數(shù)據(jù)平均消耗時(shí)間如式(3):

[T=B2RN] (3)

3.2 新型通訊模型效率

基于動(dòng)態(tài)協(xié)議元的通訊模型處理一次數(shù)據(jù)平均消耗時(shí)間如式(4):

[T=B×NM×M×CR÷A=CAB2RN] (4)

注意到[T]和[M]相互獨(dú)立,一般來說[C/A<1/100]。最好情況下協(xié)議鏈隊(duì)列中只有一條協(xié)議鏈,此時(shí)[T=b/R];最差情況下協(xié)議鏈隊(duì)列中有[NM]條協(xié)議鏈,此時(shí)[T=B×N/(2R×M)]。系統(tǒng)處理時(shí)間隨著協(xié)議規(guī)模的增大而增長,其關(guān)系如圖6,當(dāng)協(xié)議數(shù)量增長到一定級(jí)別,系統(tǒng)消耗時(shí)間將會(huì)超過通訊時(shí)間,導(dǎo)致通訊失敗。

如圖6,新模型的斜率[K]遠(yuǎn)小于傳統(tǒng)模型,新模型大約可以承受[AC]倍于傳統(tǒng)模型的協(xié)議規(guī)模,通常[A/C>100]。然而,新模型可以進(jìn)一步改進(jìn)以達(dá)到更高的效率。在系統(tǒng)中,不同協(xié)議元的響應(yīng)時(shí)間不同,對(duì)于立即響應(yīng)型的協(xié)議,新的協(xié)議元可以插入遍歷隊(duì)列前方,因?yàn)楫?dāng)系統(tǒng)接收到新數(shù)據(jù)時(shí),該協(xié)議元有更高的幾率得到匹配[6]。同時(shí)系統(tǒng)記錄協(xié)議元出現(xiàn)的概率,對(duì)于經(jīng)常出現(xiàn)的協(xié)議元?jiǎng)t將其排入隊(duì)列較前方。改進(jìn)后的新模型具有更高的系統(tǒng)效率,如圖7,可以看到改進(jìn)的新模型進(jìn)一步降低了系統(tǒng)消耗。

3.3 系統(tǒng)測(cè)試

我們將新模型應(yīng)用與城市電梯遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)中,以解決大規(guī)模協(xié)議的問題。通過系統(tǒng)測(cè)試,我們得到表1的數(shù)據(jù)。

4 結(jié)論

隨著系統(tǒng)中通訊協(xié)議規(guī)模的增長,新模型可以更多地節(jié)約系統(tǒng)資源,大大降低系統(tǒng)消耗。對(duì)于協(xié)議鏈不長的系統(tǒng)來說,需要掃描的協(xié)議鏈隊(duì)列始終維持在很短的水平。與傳統(tǒng)模型相比,基于動(dòng)態(tài)通訊元的新模型在于處理大規(guī)模協(xié)議的系統(tǒng)中有著明顯的優(yōu)勢(shì)。將其應(yīng)用于城市電梯遠(yuǎn)程監(jiān)控系統(tǒng)中,得到了很好的效果。

參考文獻(xiàn):

[1] Richter J. Advanced Windows [M]. 3rd ed.USA: Microsoft Press, 1997.

[2] Beveridge J, Wiener R. Multithreading Applications in Win32: The Complete Guide to Threads (Addison-Wesley Microsoft Technology Series) [M]. USA: Addson-Wesley Professional, 1996.

[3] Wang Y L. Introduction to Systems Engineering [M].Machinery Industry Press, Beijing ,1982.

[4] Anthony Jones, Jim Ohlund. Network Programming for Microsoft Windows [M]. 2nd edition. USA: Microsoft Press, 2002.

[5] Atanasova M, Cleeton L, Flasko M. Get Connected With The .Net Framework 3.5[J].MSDN Magazine, Microsoft Press, 2007:42-49.

[6] Kiely D. Get Closer to the Wire with High-Performance Sockets in .NET[J]. MSDN Magazine, Microsoft Press, 2005.

康乐县| 九江县| 东安县| 获嘉县| 连山| 茂名市| 晋城| 乐都县| 辽源市| 鹤山市| 渭南市| 和平区| 福鼎市| 安阳县| 年辖:市辖区| 玉环县| 襄樊市| 肥城市| 印江| 雷州市| 潜江市| 兴城市| 垫江县| 东台市| 岐山县| 包头市| 鹿邑县| 玛纳斯县| 抚州市| 陆丰市| 马边| 扎鲁特旗| 利川市| 和硕县| 庆元县| 大丰市| 东阳市| 五台县| 任丘市| 清水县| 台北市|