看板 P2PSoftWare 關於我們 聯絡資訊
※ 引述《sarsman (錢全輸光了...)》之銘言: : 現在,騾子已經沒有真正能保證安全、可靠的伺服器 : 大家為了一個新的安全伺服器不斷的討論、尋找 : 可是,又找到一個安全的伺服器又怎樣? : 這個伺服器能夠永永遠遠的經營下去嗎? : DS已經是一個最好的例子 : 再好的伺服器總有一天也會被抄 : 我認為emule官方應該要稱這個時候把心力放在KAD,把KAD網路做的更加完善 : 最後讓騾子變成一個純KAD的P2P軟體 : 小弟第一次發表感想,請不要鞭太大力 我不知道eMule的KAD實作 我只就我所了解的理論討論一下 KAD這個架構有它先天的問題 他也算是DHT的一種變化 如果要拿來做keyword search 1.keyword index會分散到各peer上 2.相同keyword的index會交給同一個peer 3.儲存相似關鍵字的peer,在DHT網路上不會在附近 這導致想做更有彈性的關鍵字搜尋非常困難 所以不太可能會有萬用字元的功能可用...... 以下是較詳細的描述,懶得看的人可以跳過 先說明3,以KAD來看,它的hash function是用SHA-1 原則上,兩個相似的關鍵字,所取得的key會相差很大 所以若我們打"Car","car","cars","CAR"...,etc. 會各取得截然不同的key 根據key,DHT網路會找到一個peer 所以原則上,雖然是不同peer,但它們會根據同樣的關鍵字找到相同的peer 因此,當一個peer加入DHT網路,會將自己擁有的檔案資訊 根據不同的keyword,交給不同的peer管理index 這樣其他peer就可以進行keyword search..... 因為DHT的topology是根據各自的algorithm決定 所以即使非常類似的關鍵字,通常負責管理index的peer也相隔非常遠 那問題就是,如果user想進行keyword search 他必須使用非常精準的keyword 例如:輸入"car"找不到"cars","Car",...,etc.等資訊 有方法可以簡單的處理掉這個問題 判斷單字時態或單複數,強制做成某種型態使用 一律轉成大寫或小寫處理 但萬用字元就不同了 一個user如果輸入"cos*",它要怎麼做? 我能想到的有兩種方法: 1.由application自己想辦法透過字典檔 自動把"cos*"轉成"coser","cosplay",...,etc. 不過想找的字不見得在字典檔裡 另外,這樣做"極度"沒有效率 2.再建一個overlay network(類似freenet或gnutella) 根據keyword類似程度相連 使用萬用字元時就用這個overlay network搜尋 不過這種頭痛醫頭腳痛醫腳的方式不但沒效率,還非常蠢 但很明顯的,上述兩個方法都只是硬在這個架構下解決問題 效率跟效果恐怕都好不到那去 DHT的很多問題可以慢慢改善 關鍵字搜尋效果可以越來越好 效率我相信也會越來越好 可是我也相信,萬用字元應該不太可能加入 勉強加入的效果,效率恐怕也不會太好 中文或日文,eMule有時斷字做的有點兩光的情況下 有時必須得用萬用字元的方式才找的到檔案 Server還是有它不可取代的好處....... -- 講的很亂..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.105.201.166
kira925:不是DHT學KAD嗎? 印象中是先有kad然後bt軟體商開發dht的 09/24 14:40
sarsman:jyhfang大之前打了一篇文章,在10492篇,裡面有講到KAD的 09/24 14:46
sarsman:一些知識,我覺得對於KAD的推廣很有用 09/24 14:47
amateratha:話說之前那篇還沒被M.... 09/24 17:37
sarsman:M吧!版主呢? 09/24 17:52