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

        ?

        Socket數(shù)據(jù)緩沖隊(duì)列設(shè)計(jì)

        2012-04-13 04:58:02蘇翠玲
        科技傳播 2012年9期
        關(guān)鍵詞:入隊(duì)斷線隊(duì)列

        蘇翠玲

        石家莊計(jì)算機(jī)職業(yè)學(xué)院,河北 石家莊 050061

        1 開發(fā)環(huán)境介紹

        C#是微軟公司發(fā)布的一種新的面向?qū)ο缶幊陶Z言。它是微軟公司研究員Anders Hejlsberg的最新成果。作為.NET開發(fā)平臺(tái)中最重要的一門語言,越來越受到廣大程序員的青睞。由C和C++衍生出來的,繼承了C和C++強(qiáng)大功能,同時(shí)去掉了一些復(fù)雜特性。C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。

        Visual Studio是微軟公司推出的目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境,可以用來創(chuàng)建 Windows平臺(tái)下的應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office插件。

        2 應(yīng)用場(chǎng)景∶數(shù)據(jù)轉(zhuǎn)發(fā)

        在很多消息發(fā)送服務(wù)中都涉及到數(shù)據(jù)轉(zhuǎn)發(fā),常見的IM工具,比如QQ、MSN等等,企業(yè)用的特定數(shù)據(jù)轉(zhuǎn)發(fā)服務(wù),比如GPS實(shí)時(shí)定位等。在數(shù)據(jù)量小的情況下一般不會(huì)有什么問題,但如果數(shù)據(jù)大,又對(duì)實(shí)時(shí)性要求比較高,如果處理不好則會(huì)出現(xiàn)性能問題。

        對(duì)轉(zhuǎn)發(fā)服務(wù)一般性要求:

        1)同時(shí)接收多個(gè)來源的數(shù)據(jù)連接;

        2)同時(shí)連接多個(gè)目標(biāo)的數(shù)據(jù)連接;

        3)實(shí)時(shí)轉(zhuǎn)發(fā);

        4)保證數(shù)據(jù)轉(zhuǎn)發(fā)順序與接收順序一致;

        5)本地保留數(shù)據(jù)副本

        首先,對(duì)于實(shí)時(shí)轉(zhuǎn)發(fā),就要求在收到數(shù)據(jù)后立刻寫入目標(biāo)客戶端連接,然后保存副本到本地?cái)?shù)據(jù)庫。在客戶端連接正常的情況下,一般不會(huì)有什么問題,但internet網(wǎng)絡(luò)的暢通性一般情況下是無法保證的,如果一旦在收到源數(shù)據(jù)后,而對(duì)應(yīng)客戶端又暫時(shí)連接不上,就會(huì)出現(xiàn)需要暫存數(shù)據(jù)的要求。

        對(duì)于暫存數(shù)據(jù),一般情況下是保存到本地?cái)?shù)據(jù)庫中,等客戶端連接后再一條一條查詢出對(duì)應(yīng)數(shù)據(jù)后發(fā)送,這樣可以實(shí)現(xiàn)此要求,但如果某個(gè)客戶端斷線很長(zhǎng)時(shí)間,在本地暫存數(shù)據(jù)達(dá)到上千上萬記錄,如果這樣處理,勢(shì)必會(huì)影響發(fā)送速度,甚至可能會(huì)出現(xiàn)發(fā)送速度比接收速度還慢,那就會(huì)數(shù)據(jù)越積累越多,永遠(yuǎn)發(fā)送不完。

        除了上述問題,還有另一種情況,就是在客戶端頻繁短時(shí)間斷線,這種情況會(huì)出現(xiàn)對(duì)暫存數(shù)據(jù)庫的頻繁更新,對(duì)性能影響也很大。

        對(duì)于前面的問題,我們現(xiàn)在可設(shè)計(jì)一個(gè)內(nèi)存隊(duì)列池,每個(gè)客戶端如果需要暫存數(shù)據(jù),則先在此內(nèi)存隊(duì)列池中創(chuàng)建一個(gè)內(nèi)存隊(duì)列,將暫存數(shù)據(jù)保存到對(duì)應(yīng)隊(duì)列中,如果暫存數(shù)據(jù)量大于指定的某個(gè)值(根據(jù)內(nèi)存大小及實(shí)際需要指定),則將后續(xù)暫存數(shù)據(jù)持久到暫存數(shù)據(jù)庫,這樣,對(duì)于長(zhǎng)時(shí)間斷線的客戶端產(chǎn)生的大量暫存數(shù)據(jù)的性能有一定緩解,對(duì)于頻繁短時(shí)間斷線的客戶端所產(chǎn)生的頻繁更新暫存數(shù)據(jù)庫的情況則可以完全避免。

        3 設(shè)計(jì)思想

        隊(duì)列池設(shè)計(jì),分為隊(duì)列 和 池。對(duì)于池的設(shè)計(jì)比較簡(jiǎn)單,主要實(shí)現(xiàn)包括:

        1)內(nèi)部隊(duì)列緩存集合;

        2)初始化(指定隊(duì)列數(shù)據(jù)最大大小、加載上次隊(duì)列關(guān)閉時(shí)持久的隊(duì)列);

        3)數(shù)據(jù)入隊(duì)(調(diào)用客戶端對(duì)應(yīng)隊(duì)列的入隊(duì));

        4)數(shù)據(jù)出隊(duì)(調(diào)用客戶端對(duì)應(yīng)隊(duì)列的出隊(duì));

        5)關(guān)閉(持久化隊(duì)列)

        隊(duì)列的設(shè)計(jì),主要包括:

        1)初始化(實(shí)例化一個(gè)簡(jiǎn)單的先進(jìn)現(xiàn)出隊(duì)列、加載上次隊(duì)列關(guān)閉時(shí)持久的數(shù)據(jù))

        2)數(shù)據(jù)入隊(duì)

        先同步隊(duì)列鎖,防止入隊(duì)和出隊(duì)的線程并發(fā)操作,然后判斷暫存數(shù)據(jù)是否超過隊(duì)列大小限制,如果超過則持久化到數(shù)據(jù)庫中(附加功能,發(fā)送電子郵件到指定郵箱,提醒數(shù)據(jù)出現(xiàn)問題),否則添加到隊(duì)列。

        3)數(shù)據(jù)出隊(duì)

        先同步隊(duì)列鎖,防止入隊(duì)和出隊(duì)的線程并發(fā)操作,然后判斷當(dāng)前隊(duì)列容量是否等于隊(duì)列最大容量,如果是,則有可能暫存數(shù)據(jù)庫中有暫存數(shù)據(jù),刪除之并對(duì)數(shù)據(jù)出隊(duì),否則直接對(duì)數(shù)據(jù)出隊(duì)。

        4)關(guān)閉(持久化隊(duì)列中數(shù)據(jù))。

        4 實(shí)現(xiàn)代碼

        5 結(jié)論

        該Socket數(shù)據(jù)緩沖隊(duì)列設(shè)計(jì)具有一定的實(shí)用性,通過優(yōu)化設(shè)計(jì),此方案應(yīng)對(duì)大多數(shù)數(shù)據(jù)轉(zhuǎn)發(fā)場(chǎng)景已經(jīng)基本夠用,達(dá)到了預(yù)期的效果。

        [1]李敏波編.C#高級(jí)編程[M].清華大學(xué)出版社.

        [2]邱郁惠編.visual studio 2010和UML黃金法則[M].機(jī)械工業(yè)出版社.

        猜你喜歡
        入隊(duì)斷線隊(duì)列
        今天我入隊(duì)——入隊(duì)儀式
        斷線的珍珠
        1+1我們這樣學(xué)隊(duì)章:我們的入隊(duì)誓詞
        隊(duì)列里的小秘密
        基于多隊(duì)列切換的SDN擁塞控制*
        軟件(2020年3期)2020-04-20 00:58:44
        在隊(duì)列里
        今天我入隊(duì)了
        一起10kV開關(guān)控制回路斷線故障分析及回路完善
        豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
        入隊(duì)風(fēng)波
        国产欧美VA欧美VA香蕉在| 香蕉久久一区二区不卡无毒影院| 人妻尝试又大又粗久久| 成年午夜无码av片在线观看| 免费黄色福利| 日本一区二区视频免费在线观看| av无码精品一区二区三区| 国产伦精品一区二区三区| 国产美女一级做a爱视频| 国产精品女同二区五区九区 | 久久99久久久无码国产精品色戒| 男女啦啦啦视频在线观看| 国产成人自拍高清在线| a级特黄的片子| 无码中文日韩Av| 国产在线视频一区二区三| 亚洲色偷偷综合亚洲avyp| 日韩少妇激情一区二区| 日韩亚洲国产av自拍| 亚洲熟女天堂av一区二区三区| 日本动漫瀑乳h动漫啪啪免费| 男人边吃奶边做好爽免费视频 | 久久中文字幕久久久久91| 国产三级精品三级在线专区2| 啦啦啦中文在线观看日本| 97久久久久人妻精品专区| 白白青青视频在线免费观看| 精品国产一区二区三区av免费| 色婷婷亚洲精品综合影院| 99热这里只有精品4| 黄片一级二级三级四级| 国产亚洲欧洲aⅴ综合一区| aaaaaa级特色特黄的毛片 | 国产一级一厂片内射视频播放| 我和丰满妇女激情视频| 欧美巨大巨粗黑人性aaaaaa| 人妻少妇一区二区三区| 国产中文色婷婷久久久精品| 特级精品毛片免费观看| 亚洲激情成人| 白白色福利视频在线观看|