青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

陳碩的Blog

muduo多機(jī)協(xié)作網(wǎng)絡(luò)編程示例一:單詞計數(shù)及排序

去年我寫了《Muduo 網(wǎng)絡(luò)編程示例》系列文章,這些文章已經(jīng)收入《Linux 多線程服務(wù)端編程:使用 muduo C++ 網(wǎng)絡(luò)庫》一書。這些文章講的基本都是運行在單機(jī)上的網(wǎng)絡(luò)程序,每個例子都只有一個程序(第7.13節(jié)例外)。我接下來打算繼續(xù)寫幾篇文章,談一談分布在多臺機(jī)器上、協(xié)作發(fā)揮作用的網(wǎng)絡(luò)編程例子。

今天先講第一個,單詞計數(shù)及排序。單詞計數(shù)(word count),顧名思義就是統(tǒng)計一個文本文件里邊每個詞出現(xiàn)了多少次。排序指的是按出現(xiàn)次數(shù)從多到少排序,也可以把問題改為“找出出現(xiàn)次數(shù)最多的1000個單詞”。

這個問題有三個層次,第一是輸入文件比較小,能完全放入內(nèi)存;第二是輸入文件比較大,不能一次性都放入內(nèi)存;第三是輸入文件分布在多臺機(jī)器上,這需要用到網(wǎng)絡(luò)編程。

第一個層次很好解決,幾十行代碼就搞定了。https://gist.github.com/4519962

第二個層次不難解決,基本思路是分而治之,先hash分塊統(tǒng)計單詞出現(xiàn)次數(shù),將每一塊按出現(xiàn)次數(shù)排序,最后歸并。代碼見 https://github.com/chenshuo/recipes/blob/master/puzzle/query_freq.cc ,分析見 http://www.cnblogs.com/baiyanhuang/archive/2012/11/11/2764914.html

第三個層次也不難,可以當(dāng)做網(wǎng)絡(luò)編程的練習(xí)來做。如果有合適的框架,可以輕松解決,因為單詞計數(shù)是map reduce的經(jīng)典范例,對出現(xiàn)次數(shù)排序也可以再用一步map reduce搞定(估計需要一個好的 shuffle 函數(shù),簡單hash是不行的)。

如果用普通網(wǎng)絡(luò)編程,一種設(shè)計思路如下圖,其中方框代表機(jī)器,橢圓代表輸入輸出文件,圓角矩形代表進(jìn)程。思路跟第二個層次一樣,先hash到多個shard文件(由hasher和receiver負(fù)責(zé)),再對每個shard文件排序(由sender負(fù)責(zé)),最后歸并(merger)。

topk

注意這種思路適合求top K元素,不適合按出現(xiàn)次數(shù)排序全部單詞,因為最終結(jié)果收集在一臺機(jī)器上。目前這個sender實現(xiàn)的一個限制是,每個shard必須能全部放入內(nèi)存,因為sender對shard排序是在內(nèi)存中進(jìn)行的。如果數(shù)據(jù)更大,還需要實現(xiàn)單機(jī)外部排序。

圖中hasher和receiver的代碼見muduo示例中的 muduo/examples/wordcount ;sender和merger的代碼見 https://github.com/chenshuo/recipes/tree/master/topk 。注意merger沒有使用muduo,而是采用阻塞網(wǎng)絡(luò)編程。有興趣的讀者可以思考其背后的原因。要想發(fā)揮 merger 正常的性能,需要修改 /usr/include/boost/asio/basic_socket_streambuf.hpp ,增大緩沖區(qū),即 enum { buffer_size = 8192 };

這可以看作是map reduce的原始實現(xiàn),或者說用map reduce的思想手寫了一些原始工具。如果把map reduce比作C語言,這里的幾個程序相當(dāng)于匯編寫的函數(shù)。

以后我再寫一個按出現(xiàn)次數(shù)全排序的例子吧,需要替換這里的sender和merger。

(.完.)

posted on 2013-01-13 04:01 陳碩 閱讀(3621) 評論(2)  編輯 收藏 引用 所屬分類: muduo

評論

# re: muduo多機(jī)協(xié)作網(wǎng)絡(luò)編程示例一:單詞計數(shù)及排序[未登錄] 2013-01-14 10:58 春秋十二月

不錯,看了代碼,雖沒直接實現(xiàn)Hash、堆和歸并算法,但這沒關(guān)系,使用現(xiàn)成的boost和stl庫也好,你對庫運用的很到位  回復(fù)  更多評論   

# re: muduo多機(jī)協(xié)作網(wǎng)絡(luò)編程示例一:單詞計數(shù)及排序 2013-01-16 11:38 UCoding

學(xué)習(xí)了!  回復(fù)  更多評論   

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導(dǎo)航

統(tǒng)計

常用鏈接

隨筆分類

隨筆檔案

相冊

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品无人区| 欧美日韩一区二区三区在线视频| 亚洲欧美成人综合| 亚洲天堂av高清| 亚洲一区二区精品在线观看| 一本色道久久综合| 亚洲一区二区三区影院| 亚洲日产国产精品| 狠狠干狠狠久久| 亚洲国产女人aaa毛片在线| 亚洲第一页自拍| 亚洲国产小视频在线观看| 亚洲伦理网站| 亚洲免费网站| 嫩模写真一区二区三区三州| 亚洲电影在线| 亚洲精品少妇30p| 亚洲影院色在线观看免费| 久久精品女人的天堂av| 欧美裸体一区二区三区| 国产精品视频一区二区三区| 在线精品视频一区二区| 亚洲天堂成人在线观看| 久久久久久久性| 夜夜嗨av色一区二区不卡| 久久av资源网| 欧美日韩123| 樱花yy私人影院亚洲| av成人激情| 美女露胸一区二区三区| 亚洲午夜激情网页| 欧美国产日韩一区二区| 国产精品入口夜色视频大尺度 | 亚洲国产精品福利| 日韩一区二区精品在线观看| 久久精品国产99| 亚洲精品综合| 久热国产精品| 欧美视频中文字幕在线| 亚洲美女尤物影院| 久久一区二区三区av| 一区二区免费在线播放| 免费在线欧美视频| 国产午夜精品理论片a级大结局 | 亚洲国产一区二区三区在线播 | 亚洲欧美国产日韩天堂区| 久久综合伊人77777| 亚洲午夜精品久久| 欧美精品色一区二区三区| 国产欧美欧美| 亚洲在线视频网站| 99视频精品在线| 欧美日韩成人综合| 亚洲久色影视| 亚洲电影免费在线| 免费观看国产成人| 亚洲激情国产精品| 亚洲福利精品| 欧美日韩三区四区| 亚洲视频在线一区| 亚洲天堂黄色| 国产精品欧美日韩一区二区| 亚洲一区二区精品在线观看| 亚洲视频久久| 国产亚洲精品v| 老妇喷水一区二区三区| 蜜桃精品久久久久久久免费影院| 有坂深雪在线一区| 美女免费视频一区| 久久先锋资源| 日韩一级大片| 一区二区三区成人| 国产麻豆精品在线观看| 久久久99久久精品女同性| 久久aⅴ乱码一区二区三区| 精品91久久久久| 亚洲福利视频网站| 国产精品九九久久久久久久| 久久精品成人| 农夫在线精品视频免费观看| 一区二区动漫| 性欧美超级视频| 亚洲国产精品高清久久久| 亚洲日韩欧美视频一区| 国产精品视频成人| 欧美xx视频| 国产精品久久久久久久久婷婷| 久久精品国产免费看久久精品| 久久久久久久成人| 99国产精品一区| 午夜精品久久久久久久蜜桃app| 在线播放豆国产99亚洲| 亚洲日韩视频| 激情欧美一区二区三区| 夜夜爽99久久国产综合精品女不卡| 国产乱码精品一区二区三区av| 久久人人爽国产| 欧美久久99| 欧美在线1区| 欧美好吊妞视频| 久久久久久久综合| 国产精品r级在线| 欧美大片第1页| 国产精品三区www17con| 亚洲欧洲精品一区二区三区| 国产午夜亚洲精品不卡| 日韩视频一区二区三区在线播放| 国产亚洲制服色| 99国产精品| 亚洲电影在线观看| 国产精品大全| 亚洲天堂久久| 老司机成人在线视频| 午夜精品久久久久久久99樱桃 | 免费在线观看日韩欧美| 亚洲欧美日韩精品| 欧美成人网在线| 老司机午夜精品视频| 国产精品永久免费观看| 亚洲精品视频中文字幕| 亚洲国产精品va在线看黑人动漫| 亚洲欧美日韩国产成人精品影院 | 国产精品乱码久久久久久| 亚洲国产你懂的| 在线看片成人| 久久噜噜噜精品国产亚洲综合 | 亚洲第一在线综合网站| 亚洲欧美日韩人成在线播放| 亚洲在线成人| 欧美精品午夜视频| 欧美激情a∨在线视频播放| 狠狠久久亚洲欧美| 午夜精品电影| 久久精品成人| 韩国一区二区在线观看| 久久精品午夜| 免费不卡中文字幕视频| 尹人成人综合网| 久久综合九色| 亚洲人成小说网站色在线| 亚洲精品之草原avav久久| 欧美另类高清视频在线| 亚洲精品视频啊美女在线直播| 亚洲精品自在在线观看| 欧美精品色综合| 在线综合亚洲| 久久久久国产精品一区| 亚洲国产成人不卡| 欧美国产免费| 99re热这里只有精品免费视频| 日韩亚洲综合在线| 国产精品h在线观看| 亚洲性色视频| 玖玖精品视频| 亚洲国产日韩美| 欧美日韩精品在线播放| 亚洲一区二区三区久久| 久久精品视频亚洲| 亚洲国产日韩欧美| 国产精品扒开腿爽爽爽视频| 亚洲免费在线视频| 男人的天堂亚洲| 亚洲一区精品视频| 一区二区三区在线免费观看| 欧美日产国产成人免费图片| 亚洲欧美日韩国产一区二区| 免费精品99久久国产综合精品| 一本久久a久久免费精品不卡| 国产视频在线观看一区| 欧美激情精品久久久久久变态| 亚洲午夜影视影院在线观看| 美女脱光内衣内裤视频久久影院| 99国产精品99久久久久久粉嫩| 亚洲欧美日韩综合一区| 国产日韩精品在线| 欧美黄色日本| 欧美一级专区免费大片| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美精品一区二区精品网| 一区二区三区欧美成人| 久久九九国产精品| 一区二区免费看| 亚洲国产高清自拍| 国产综合亚洲精品一区二| 欧美日韩成人在线观看| 久久成人资源| 亚洲视频欧美视频| 亚洲激情视频在线| 久久综合精品一区| 久久精品九九| 欧美一级免费视频| 亚洲视屏一区| 亚洲美女电影在线| 尤物视频一区二区| 国产自产女人91一区在线观看| 国产精品超碰97尤物18| 欧美不卡视频一区发布| 欧美va天堂在线| 欧美成人免费在线| 欧美成人免费网|