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

陳碩的Blog

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

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

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

這個問題有三個層次,第一是輸入文件比較小,能完全放入內(nèi)存;第二是輸入文件比較大,不能一次性都放入內(nèi)存;第三是輸入文件分布在多臺機器上,這需要用到網(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

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

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

topk

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

圖中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語言,這里的幾個程序相當于匯編寫的函數(shù)。

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

(.完.)

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

評論

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

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

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

學習了!  回復  更多評論   

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統(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| 久久国产精品久久精品国产| 亚洲专区国产精品| 国产伦一区二区三区色一情| 欧美中文在线观看国产| 欧美www视频在线观看| 亚洲精品乱码久久久久久蜜桃91| 欧美精品一区二区精品网| 亚洲深夜福利在线| 久久亚洲精品一区二区| 亚洲精品乱码久久久久久蜜桃91 | 欧美精品在线看| 一本大道久久a久久综合婷婷| 欧美一区二区免费视频| 永久久久久久| 欧美日韩国产亚洲一区 | 午夜精品成人在线视频| 快播亚洲色图| 一区二区三区四区五区视频| 国产精品视频在线观看| 久久久人成影片一区二区三区 | 99视频+国产日韩欧美| 国产精品劲爆视频| 久久一区二区三区国产精品 | 一本色道久久加勒比88综合| 久久久久国色av免费看影院 | 在线一区日本视频| 国产日韩一级二级三级| 欧美粗暴jizz性欧美20| 新片速递亚洲合集欧美合集| 欧美国产精品劲爆| 欧美一区二区视频观看视频| 亚洲精品日日夜夜| 国产婷婷色一区二区三区四区| 欧美1区免费| 欧美一乱一性一交一视频| 91久久精品国产91性色| 久久久久青草大香线综合精品| 亚洲伦理在线免费看| 国产亚洲欧美一区| 久久电影一区| 国产主播一区| 免费亚洲一区| 国产精品一级在线| 亚洲在线一区二区| 妖精视频成人观看www| 久久精品一区二区三区中文字幕 | 欧美中文字幕| 国产精品电影观看| 女主播福利一区| 欧美一区激情| 亚洲欧美日韩电影| 欧美激情一区二区三区在线视频观看| 美女黄毛**国产精品啪啪| 国产亚洲激情视频在线| 久久久久欧美| 另类av一区二区| 亚洲国产精品va| 亚洲成色777777在线观看影院| 久久九九热re6这里有精品| 国产日产欧产精品推荐色 | 夜夜嗨av一区二区三区四区| 欧美国产精品中文字幕| 久久精品一区二区三区中文字幕 | 欧美成人黄色小视频| 欧美在线你懂的| 国产亚洲福利一区| 午夜久久影院| 在线视频你懂得一区| 亚洲欧美激情在线视频| 中文欧美在线视频| 在线看无码的免费网站| 亚洲一区美女视频在线观看免费| 亚洲一区在线免费| 久久婷婷国产综合尤物精品| 亚洲第一精品福利| 亚洲国产一区二区精品专区| 1000精品久久久久久久久| 在线精品高清中文字幕| 亚洲国产成人久久综合一区| 91久久精品国产91性色tv| 亚洲日本aⅴ片在线观看香蕉| 91久久极品少妇xxxxⅹ软件| 久久久蜜臀国产一区二区| 99热精品在线观看| 欧美成人dvd在线视频| 午夜精品久久久久久久久久久久 | 亚洲国产综合91精品麻豆| 久久影院午夜论| 免费看的黄色欧美网站| 亚洲第一精品福利| 亚洲三级国产| 亚洲男女自偷自拍| 久久精品成人欧美大片古装| 麻豆成人在线观看| 欧美日韩亚洲视频| 国产午夜精品在线| 亚洲国产女人aaa毛片在线| 99av国产精品欲麻豆| 午夜视频一区| 毛片av中文字幕一区二区| 亚洲黄色在线| 亚洲免费在线观看视频| 久久青草久久| 欧美日韩一区在线观看| 国产亚洲欧美aaaa| 日韩亚洲国产精品| 欧美中文在线字幕| 亚洲国产成人久久综合| 亚洲一区中文| 欧美成人a视频| 国产精品一区二区你懂得| 亚洲国产精品小视频| 性欧美办公室18xxxxhd| 欧美大片在线影院| 亚洲在线观看免费| 欧美.www| 国产日韩欧美在线一区| 日韩一区二区高清| 久久综合九色欧美综合狠狠| 日韩一级裸体免费视频| 久久久久国色av免费看影院| 老司机午夜精品视频在线观看| 亚洲三级电影在线观看| 久久人91精品久久久久久不卡| 亚洲制服av| 伊人一区二区三区久久精品| 欧美理论电影在线播放| 久久国产精品99国产精| 99riav1国产精品视频| 久久九九国产精品怡红院| 亚洲精品少妇网址| 国内一区二区三区| 国产精品a久久久久| 欧美视频网址| 亚洲日本欧美天堂| 久久国产主播精品| 国产精品夜色7777狼人| 亚洲视屏在线播放| 亚洲国产精品ⅴa在线观看| 久久国产乱子精品免费女| 国产精品久久久久毛片软件| 日韩午夜高潮| 欧美国产亚洲另类动漫| 久久久久五月天| 国产视频一区在线观看| 亚洲女ⅴideoshd黑人| 日韩视频在线播放| 欧美日本亚洲视频| 9l视频自拍蝌蚪9l视频成人| 91久久精品国产91久久性色tv| 久久婷婷国产综合精品青草| 国内精品视频一区| 久久精品人人做人人爽电影蜜月 | 亚洲淫片在线视频| 国产精品久久久久久久久婷婷| 一区二区三区精品视频| 亚洲人成艺术| 欧美日韩国产精品专区| 亚洲少妇中出一区| 一区二区三区日韩欧美精品| 欧美日韩精品免费观看视频完整| 日韩系列在线| 日韩一级二级三级| 欧美日本韩国一区二区三区| 一区二区电影免费观看| 99re8这里有精品热视频免费 | 亚洲女女女同性video| 日韩午夜电影在线观看| 欧美网站大全在线观看| 亚洲欧美区自拍先锋| 亚洲影院色无极综合| 国产喷白浆一区二区三区| 久久国产精品一区二区三区四区| 欧美亚洲视频一区二区| 在线观看视频一区| 亚洲第一区在线| 欧美日韩黄色大片| 午夜精品区一区二区三| 欧美在线免费视频| 亚洲人成网站在线播| 亚洲免费观看| 国产伦精品一区二区三区四区免费| 久久久久天天天天| 免费视频一区| 亚洲免费综合| 久久久www成人免费精品| 亚洲精品乱码久久久久久黑人| 亚洲美女免费视频| 国产欧美日韩亚州综合| 暖暖成人免费视频| 欧美另类综合| 久久激情五月丁香伊人| 欧美成熟视频| 午夜精品一区二区在线观看 | 免费在线看一区| 亚洲一二三区精品| 久久久成人网| 宅男噜噜噜66国产日韩在线观看| 午夜亚洲视频|