[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/10 00:47 / Filesize : 34 KB / Number-of Response : 146
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ファイルの重複検出ツールを作ろうぜ



1 名前:デフォルトの名無しさん [2007/10/18(木) 17:20:10 ]
CD、DVD、HDDなどのファイルハッシュを計算しておきデータベースを作成して照合する
初めに64KB程度読み込んでハッシュを計算して、それが一致したら1MB程度ぶんずつ照合していく
ハッシュの計算方法は高速で、異なるファイルは異なる値を出すようにしたい
いちどブロックソーティングするといいとおもう

116 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:31:35 ]
ってか、システムにファイルを通す際に必ず同じプロセスを通過するようにすればいいんじゃないかなあ。

ファイルコピー→<ファイルチェックプロセス>→ディスク
って感じで。
ファイルサイズとかハッシュが同じファイルを通そうとしたら弾くとか。

117 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:22:32 ]
>>116
馬鹿発見

118 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:05:58 ]
>>114
重複検出ツールを「作ろう」ってスレだろ、JK

119 名前:デフォルトの名無しさん [2009/01/12(月) 10:11:42 ]
>>118
その成果だけ頂きたいのです、女子高

120 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 10:53:45 ]
そういうやつはこっちだ
pc11.2ch.net/test/read.cgi/software/1145546190/


121 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:44:22 ]
>>119
未成熟ぎみなのがいいんです、JC

122 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 13:42:17 ]
数十万個のファイルの中から指定のファイルとほぼ同じ内容のファイルを高速に検索する
方法はないでしょか?

完全一致のファイルならファイル名と MD5 のデータベースを作っておけばファイル数に
関係ない時間で検索できるのですが。

123 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:25:20 ]
>>122
ある通信プロトコルでの相手を決定するための方法だけど、
その数十万個分のファイルに対応するオブジェクトを作る。
指定のファイルのオブジェクトのビット(特徴)を、1こずつそれらに送る。
同じビット(特徴が一致した)なら応答を返す。
応答が最も多かったファイルを「ほぼ同じ内容」と判断する。
ようするに、比較をインクリメンタルにやるという話。
ハードウェアでの通信だと一瞬で判定できる。
それをソフトウェアでやると個数分の時間が掛かる。
まあ総当りするよりは速い。

124 名前:デフォルトの名無しさん [2009/01/14(水) 14:31:22 ]
ファイルの一部のMD5つくれば? とる位置を3カ所くらいにして、それが一つでも一致すれば疑わしいとする。
あとは人間が確認する。



125 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 14:35:59 ]
どうせ、画像ファイルだろ。MD5を作るんじゃなくて、サムネイル画像作ってそいつで比較したら?w

126 名前:デフォルトの名無しさん [2009/01/14(水) 14:39:27 ]
画像なら、画像の特徴を比較する必要有り。部分md5では無理

127 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 17:40:08 ]
サムネイルもインデックスみたいなもんだな

128 名前:デフォルトの名無しさん [2009/01/14(水) 22:02:32 ]
最近のコンピュータは高速だからファイルの先頭から1ビットずつ比較しようぜ

129 名前:デフォルトの名無しさん mailto:sage [2009/01/14(水) 22:04:27 ]
指紋認証のやり方で特徴点抽出

130 名前:122 mailto:sage [2009/01/15(木) 14:04:06 ]
122 ですが、ファイルは主にプログラムのソースコードです。

現在使っている MD5 以外の検索方法は
ベースファイル名が一致しファイルサイズが近いものを DB から抽出し、
ファイルの最初の 128KB のバイナリ差分が小さいものに絞り込み、最後に
ファイル全体のバイナリ差分が小さいもの選んでいます。

この方法でそこそこの時間で検索できますが、大幅な絞り込みのために
ファイル名を使っているのでファイル名が全然違うファイルは検索対象に
ならないので困っています。


131 名前:デフォルトの名無しさん [2009/01/15(木) 14:27:57 ]
先頭32K(違いが出なかった場合は32K-64K、64-96Kなど)
のMD5を保持しておけよ。

132 名前:デフォルトの名無しさん [2009/01/15(木) 14:48:45 ]
ハッシュじゃ類似判定できないだろ

133 名前:デフォルトの名無しさん [2009/01/15(木) 15:00:17 ]
ベクトル空間法 類似
でぐぐれ

134 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 15:09:56 ]
>>130
ソースコードならクラス、メソッド名だけ抽出して比較すりゃ終わりじゃね?
もっと確度上げたいなら変数名も追加



135 名前:デフォルトの名無しさん [2009/01/15(木) 15:24:00 ]
バージョン違いのさはどうするんだ

136 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:07:03 ]
調子のんなよカス

137 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:12:13 ]
>>135
お前の恥ずかしさに免じて何も指摘しないでやる

138 名前:デフォルトの名無しさん [2009/01/15(木) 19:27:30 ]
クラス名などが一致しても、コードの中身がバージョンのズレにより
大きく代わることがあるだろ。

139 名前:デフォルトの名無しさん [2009/01/15(木) 19:28:19 ]
初めから書き直したりした場合だ。

140 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:35:05 ]
>>138
お前なぁ、自分で墓穴掘ってちゃ世話無いだろうが
もう分かったから、そのまま墓穴に埋まっててくれ

141 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:21:29 ]
Mr.Driller 好きだぜ

142 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 12:27:17 ]
ゆ○ぽのことか?

143 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 07:35:52 ]
中に特定の文字列がある穴を探して埋まっておけばいいんじゃね

ソースコードだったら大体同じようなクラス名や関数名で書いてるだろ
分かりにくいコード書いてるやつがいたら穴掘って埋めればおk

144 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 10:40:44 ]
undupとかの重複ファイル検索ソフトの比較スレがあったと思ったんですが、見つかりません。
どなたかご存じないですか?



145 名前:デフォルトの名無しさん [2009/01/19(月) 11:21:29 ]
お勧めの重複・類似・近似画像処理ソフト2
pc11.2ch.net/test/read.cgi/software/1145546190/






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<34KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef