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

jake1036

larbin源碼分析(四) hashTable類對象的實(shí)現(xiàn)

 larbin源碼分析(四)hashTable類對象的實(shí)現(xiàn)

   一 hashTable類對象
       作用:爬蟲將爬取的url存儲在該類對象中,存儲方式是,url對象的hashcode,映射到對應(yīng)的表項(xiàng)中。
       其中每一個(gè)url,映射成對應(yīng)table中的一個(gè)bit,其中表空間大小為 64000000(單位為bit),大小的定義存儲在types.h頭文件中。
       爬去到的url需要在hashTable中進(jìn)行一次查找,若是不存在,則進(jìn)行進(jìn)一步遍歷。已經(jīng)存在,則不需要遍歷。
   二 成員函數(shù)
       HashTable(bool created ) 構(gòu)造函數(shù)
       ~HashTable() 析構(gòu)函數(shù)
      save() ; 將hashTable存儲在文件中。
      test(url * U) ;判斷對應(yīng)的url是否在hashTable 中
      set(url * u) ; 將hashTable對應(yīng)的URL ,設(shè)置稱當(dāng)前的。
      testset(url* u) 如果已經(jīng)添加返回true 。若是之前已經(jīng)存在返回false 
  三 實(shí)現(xiàn) 
    (1) HashTable(bool created)
     當(dāng)created為true的時(shí)候,表示不需要從文件中讀取,直接進(jìn)行初始化,將table區(qū)域全部初始化為0即可。
     若created為false的時(shí)候,表示需要從文件hashtable.bak中讀取存儲的數(shù)據(jù),將其存放進(jìn)hashtable類中的table緩沖區(qū)中。
     
    (2) save() 函數(shù)實(shí)現(xiàn)
       rename("hashtable.bak", "hashtable.old"); //將hashtable.bak文件存儲在臨時(shí)文件hashtable.old中
       int fds = creat("hashtable.bak", 00600);   //新創(chuàng)建hashtable.bak文件
       if (fds >= 0) {
         ecrireBuff(fds, table, hashSize/8);          //將hashtable寫入文件
         close(fds);                                           //關(guān)閉操作
       }
      unlink("hashtable.old");                            //對hashtable.old進(jìn)行解鏈操作
    (3) bool  test(url * U)                              //判斷url是否在hashtable中
           {
                int code = U->hashcode() ;          //調(diào)用url的hashcode函數(shù)。
                int pos = code / 8 ;                     //每一個(gè)url在hashtable中即為一個(gè)url
                int index = 1 << code % 8 ;
                return table[pos] & index 
          }
      (4)   hashTable::set (url *U)                   //將對應(yīng)的一個(gè)URL插入進(jìn)hashtable中 
            {
                int code = U->hashcode() ;          //調(diào)用url的hashcode函數(shù)。
                int pos = code / 8 ;                     //每一個(gè)url在hashtable中即為一個(gè)url
                int index = 1 << code % 8 ;
                table[pos] |= index ;      
             }
       (5) bool hashTable::testSet (url *U) {      //若已經(jīng)存在此url則返回false,不存在則完成插入,然后返回true
                int code = U->hashcode() ;          //調(diào)用url的hashcode函數(shù)。
                int pos = code / 8 ;                     //每一個(gè)url在hashtable中即為一個(gè)url
                unsigned int index = 1 << code % 8 ;
                int res  = table[pos] & index ;    
                 table[pos] |= index ;
                  return !res ;

            }
  
     四 總結(jié)
         hashTable 用來存儲爬去下來的url,若是已經(jīng)存在則不進(jìn)行插入。
         每一個(gè)url使用一個(gè)bit來進(jìn)行存儲。


posted on 2011-06-12 16:16 kahn 閱讀(837) 評論(0)  編輯 收藏 引用 所屬分類: larbin源碼分析

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区激情视频在线观看| 欧美大片va欧美在线播放| 欧美一区二区三区在线看| 欧美1区视频| 久久精品91久久久久久再现| 欧美日韩在线亚洲一区蜜芽| 在线精品国产欧美| 久久久人成影片一区二区三区观看 | 久久av老司机精品网站导航| 欧美日韩综合另类| 亚洲午夜未删减在线观看| 亚洲激情综合| 麻豆精品在线视频| 日韩天堂在线观看| 亚洲国产婷婷| 欧美搞黄网站| 老司机亚洲精品| 亚洲第一天堂av| 欧美激情一区| 欧美精品v国产精品v日韩精品| 亚洲日韩视频| 最新中文字幕亚洲| 国产精品成人在线| 亚洲欧美色婷婷| 欧美一区二区在线免费播放| 极品尤物av久久免费看| 欧美风情在线| 欧美日韩中国免费专区在线看| 亚洲一区二区久久| 午夜精品久久久久久久99黑人| 国产精品女人网站| 久热综合在线亚洲精品| 久久人人九九| 一本久久青青| 亚洲欧美在线一区| 在线日本高清免费不卡| 亚洲国产欧美日韩精品| 国产精品v一区二区三区| 久久精品视频在线看| 麻豆免费精品视频| 亚洲永久字幕| 久久国产精品一区二区| 亚洲精品在线一区二区| 亚洲专区国产精品| 亚洲国产精品第一区二区| 一区二区高清在线| 在线观看视频日韩| 亚洲视频在线二区| 在线播放亚洲| 在线视频欧美日韩| 亚洲国产日韩一区二区| 亚洲一区二区三区在线| 91久久线看在观草草青青| 亚洲午夜国产成人av电影男同| 亚洲春色另类小说| 亚洲欧美激情视频| 99xxxx成人网| 久久久久网址| 性欧美大战久久久久久久免费观看 | 99国内精品| 狠狠88综合久久久久综合网| 亚洲精品久久久久久下一站| 一区二区在线看| 亚洲综合不卡| 一本色道久久综合亚洲精品按摩 | 亚洲第一中文字幕| 亚洲香蕉在线观看| 日韩午夜激情| 美国成人直播| 久久久久久久波多野高潮日日 | 久久久精品动漫| 欧美午夜电影网| 亚洲经典视频在线观看| 国语精品中文字幕| 性欧美video另类hd性玩具| 宅男噜噜噜66一区二区| 欧美成人精品在线| 久久夜色撩人精品| 老司机精品视频网站| 亚洲欧美日韩区| 欧美日本一区| 亚洲第一网站免费视频| 好吊日精品视频| 欧美亚洲系列| 欧美制服丝袜| 国产精品久久波多野结衣| 亚洲区一区二| 99亚洲一区二区| 欧美日韩国产va另类| 亚洲激情视频在线播放| 在线欧美福利| 看欧美日韩国产| 欧美二区在线看| 亚洲精品乱码久久久久久日本蜜臀| 久久综合九九| 亚洲丶国产丶欧美一区二区三区 | 韩国一区二区三区在线观看| 亚洲一区久久久| 欧美一级网站| 国产午夜亚洲精品羞羞网站| 欧美一区高清| 老色批av在线精品| 亚洲国产精品久久人人爱蜜臀 | 午夜在线精品偷拍| 久久国产毛片| 伊人成人在线视频| 欧美 日韩 国产 一区| 亚洲欧洲精品一区二区三区 | 欧美成人精品h版在线观看| 在线精品视频一区二区三四| 久久午夜羞羞影院免费观看| 欧美激情1区2区| 一本久久综合| 国产欧美日韩在线视频| 久久国产精品久久久久久久久久 | 欧美成人午夜激情视频| 最新热久久免费视频| 欧美日韩成人一区二区三区| 亚洲一二三区视频在线观看| 久久久久久久999| 亚洲美女毛片| 国产精品一区二区在线观看| 久久激五月天综合精品| 亚洲黑丝在线| 欧美专区第一页| 亚洲人成在线播放| 国产精品视频导航| 免费国产自线拍一欧美视频| 一区二区三区回区在观看免费视频| 久久精品视频网| 亚洲色图自拍| 国产一区二区久久久| 欧美激情在线| 欧美在线欧美在线| 久久精品视频在线观看| 欧美在线短视频| 亚洲久久一区| 老巨人导航500精品| 99精品视频网| 一区二区在线视频观看| 国产精品yjizz| 麻豆精品在线视频| 午夜视频在线观看一区二区三区| 亚洲人成绝费网站色www| 欧美一级视频精品观看| 99国产精品国产精品久久| 国内久久视频| 国产精品久久久亚洲一区 | 一区二区三区视频在线播放| 另类图片国产| 性色av一区二区三区| 亚洲日本激情| 影音先锋亚洲一区| 国产精品永久免费在线| 欧美寡妇偷汉性猛交| 久久精品国产亚洲精品| 亚洲欧美激情诱惑| 一区二区三区视频在线观看| 亚洲啪啪91| 欧美大尺度在线| 久热精品视频| 久久不射2019中文字幕| 亚洲一区二区视频在线| 99精品国产福利在线观看免费| 在线免费高清一区二区三区| 国产综合av| 国产日韩一区二区| 国产麻豆日韩| 国产伦精品一区| 国产精品久久久久久影视| 欧美日韩视频不卡| 欧美日本国产| 欧美精品亚洲一区二区在线播放| 美女精品在线| 老司机精品视频网站| 久久久久久久久久久久久9999| 亚洲欧美清纯在线制服| 亚洲一区二区在线| 一区二区三区|亚洲午夜| 亚洲精品美女91| 亚洲国产导航| 亚洲美女在线一区| 夜夜嗨一区二区三区| 日韩亚洲精品电影| 99亚洲一区二区| 一区二区三区免费观看| 亚洲视频在线看| 亚洲精品五月天| 日韩亚洲欧美中文三级| 一区二区三区欧美成人| 午夜欧美视频| 久久久综合网站| 欧美大色视频| 国产精品久久97| 国产亚洲欧美日韩在线一区| 国产在线国偷精品产拍免费yy| 亚洲盗摄视频| 中文精品一区二区三区| 欧美一区二区在线视频| 免费日韩av电影|