[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/09 08:44 / Filesize : 210 KB / Number-of Response : 764
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

datファイルを共有するP2Pソフト o2on 15dat



1 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 15:33:34 ]
2chのdatファイルを共有するP2Pソフトです。
現段階ではまだαバージョンですので、マターリいきましょう。

公式サイト
o2on.sourceforge.jp/
sourceforge.jp/projects/o2on/

wiki
o2on.sourceforge.jp/wiki/

初期ノード
o2on.jf.land.to/node/
o2on.sourceforge.jp/nodes/

前スレ: datファイルを共有するP2Pソフト o2on 12dat
pc11.2ch.net/test/read.cgi/tech/1180440415/


45 名前:おさ ◆OSApxZfJs2 mailto:sage [2008/06/08(日) 14:02:22 ]
DB再構築をするときに、datテーブルの中ってクリアしないんでしょうか?
(それらしいコードは見つからなかった)

なぜかというと、現在0044bを使用しているのですが、管理画面のdat収集のページを
表示しようとすると、o2onが落ちるようになってしまいました。

ソースを追いかけてみたら…(長くなったので自主規制)…dat.dbに異常なレコードが
含まれており、これが消えない限り解決しないという結論になりました。
SQLite Database Browserなどを使って手動でdat.dbから異常なレコードを消せば
良いのでしょうけど。
DBrebuilder v1.1ではdat.dbを一から作り出すから大丈夫なんでしょうね。

ちなみに、異常なレコードが作られた原因は不明です。
異常なレコードのlastupdateは1212450516(2008/06/03 08:48:36)でしたが、
この時間は何もしてないかスレを見てたか、どちらかなんですけどね。

テーブルに制約とか入れると、また重くなってしまいますよね…。


46 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 16:59:01 ]
>>45
> なぜかというと、現在0044bを使用しているのですが、管理画面のdat収集のページを
> 表示しようとすると、o2onが落ちるようになってしまいました。
この時は0044bで正常に構築を完了したdat.dbを使ったの?
うちの場合、既存のdat.dbをそのまま流用してるんだけど
dat収集のページを開いても落ちることはないなあ

> DBrebuilder v1.1ではdat.dbを一から作り出すから大丈夫なんでしょうね。
o2onは既存のdat.dbのあった場合、その差分とかを参照しながら構築してるんですか?

47 名前:おさ ◆OSApxZfJs2 mailto:sage [2008/06/08(日) 21:04:18 ]
>>46
dat.dbは0044bで正常に完了した物を使いました。

>>45 の省略した部分に原因があったので、かいつまんで書くと
o2onのDB再構築は読み込んだファイルからハッシュを生成して、
それをdat.dbに対してinsert or replace into〜を使って更新をかけています。
o2onはDB再構築の前に delete from dat や truncate table dat を実行していません。
なので、キーとなるhashが一致しない限り、異常なレコードが生成されたときに消える機会が無くなります。

んで、問題のあったレコードは、datテーブルのhashに何か入っていて、
それ以外が空文字か0、lastupdateとlastpublishは1212450516付近の値。

そしてdat収集タブを開くときに、O2Boards::MakeBBSMenuXML()から呼ばれる
O2DatDB::select_datcount()で"ドメイン:掲示板名"のmapを返してくるのですが、
":"というドメイン名と掲示板名が空のものがかえってきます。そのためMakeBBSMenuXML()のなかの
for (nmit = nummap.begin(); nmit != nummap.end(); nmit++) {
wsplit(nmit->first.c_str(), L":", token);
xml += L"<board>"EOL;
xml_AddElement(xml, L"bbsname",    NULL, token[1].c_str()); ← ここ
で存在しない添え字を参照して落ちてしまいます。


48 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 00:28:53 ]
新バージョンの論議中申し訳ございませんが、少々困ったことがあります。
たとえば、
ttp://firefox.geckodev.org/index.php?cmd=read&page=Firefox%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E9%81%8E%E5%8E%BB%E3%83%AD%E3%82%B0&word=2ch
のように、Wikiには過去スレがまとめられたページがときどきありますよね。
↑のページのように、親切にhtmlなどとして見られるサイトもありますが、あまりありません。
上のようなページから2chスレへのURLを取り出して、それを一括でo2onの「スレッド検索」に
追加したいのです。
他のソフトを使って2chスレッドへのURLだけを取り出してリストにすることはできたのですが、
それを一括でo2onへ登録する方法がわかりません。
SQLをいじってみたらできるのかな、とも思いましたが詳しくなくて全然できません。
何かいい方法がありましたらご教授お願いします。

49 名前:初音の人 mailto:sage [2008/06/09(月) 02:58:13 ]
以前LinuxのV2Cからスレッド検索に登録ができないと書きましたが
今確認した所きちんと登録が可能でした。
しかしながら不安定?な様で登録ができる場合とできない場合があるように思えます。

こちらに関してはポップアップが表示できないために確認作業が大変ですが、
デスクトップとして使用する分にはほぼWindowsと変わらない環境で使用できそうです。


あと初めてメッセージを頂きましたw
送ってくれた方ありがとうございました。

50 名前:初音の人 mailto:sage [2008/06/09(月) 03:22:36 ]
あ、取得済みのdatに関しても閲覧に関してはV2Cからの読み込みはできないようです。
なのでWindows同様にとはいきませんね。

Javaでのマルチプラットフォームを実現しているV2C(Windowsと同様の動作をしてくれるかなと)が
無理なので、他の専ブラも希望は薄そうです。
こちらも余裕があれば動作の検証をしてみます。

51 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 08:34:46 ]
bbs2chreaderの開発が終了しました。。。

52 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 09:47:27 ]
>>48
自分の場合はIEの右クリックメニューに"リンクを2chブラウザで開く"メニューをつけてあるので、リンクを片っ端から2chブラウザに送ってしまえば過去ログになってるものは全て登録されます

53 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:06:40 ]
>>48
バーボン食らわない?
後開くのがとても重いし



54 名前:53 mailto:sage [2008/06/09(月) 14:07:23 ]
アンカーミス
>>52です

55 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:20:27 ]
バーボンって連投規制とかじゃないっけ?
読み込みは大丈夫だろう。

56 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:22:46 ]
過剰リロードでもバーボンに引っかかる
同一サーバーでスレを読むときは10秒ほど間隔をあける必要がある

57 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:55:59 ]
それは知らなかった。
どれくらい開くとなるんだろうか。
同一板のスレを10個くらい開いてJaneで全てのタブの新着チェックしても問題ないしな。
ちなみに>>2のスレを選択→選択範囲のURLを全て開くも問題無し(14個)
ブラウザからってのが問題?

58 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 19:04:23 ]
Greasemonkey使ってo2onの検索に直接放り込むスクリプト使ってるけど、
時折o2on側からの返答がなくなって止まったりする。
あと生きてるスレッドも検索登録されることになったりとか。

59 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 19:05:41 ]
まあ詳しくはこれを
info.2ch.net/wiki/index.php?%A4%C8%A4%AB%A4%B2%A4%CE%BF%AC%C8%F8%C0%DA%A4%EA%A1%A6%A5%D0%A1%BC%A5%DC%A5%F3%A5%CF%A5%A6%A5%B9

60 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:00:36 ]
>>47
> o2onはDB再構築の前に delete from dat や truncate table dat を実行していません。
> なので、キーとなるhashが一致しない限り、異常なレコードが生成されたときに消える機会が無くなります。

この問題は構築後にanalizeによって解決しないのですか?

61 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:41:42 ]
analyzeってのは統計情報を更新するコマンド。
異常なレコードが登録されてるならば、truncateなりdeleteなりして、レコードを削除しない限り
勝手に消える事は無い。

62 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:15:05 ]
>>61
ありがとう
でreindexってのはなに?analyzeとはまた違うんだよね
いまいちこの違いがわからない…。
どちらもデータベースを整理整頓して読み込みや書き出汁の効率を上げるためと
理解して気が向いたときに実行してるんだけど

63 名前:おさ ◆OSApxZfJs2 mailto:sage [2008/06/09(月) 22:25:19 ]
>>62
reindexは、インデックスを再作成します。
analyzeは、テーブル内のレコード分布を調べて、検索クエリーが実行されたときの
インデックスの使われ方を決めます。



64 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:41:16 ]
ほんとに0044b安定してるな

65 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:42:15 ]
>>58
どこにある?

66 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:09:42 ]
>>61
>>63
重ねてありがとう
どんな機能なのか分からないまま使っていくのが、なーんとなく気持ち悪かったもんで聞いてみました

67 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 01:16:21 ]
今さっきログ見たらこんなになってた
今も継続中

www.dotup.org/uploda/www.dotup.org6112.png

68 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 01:24:54 ]
で、なんか狂ったと思ってo2on終了させたら
Proxyを終了してますで止まった
Ver 0044b

69 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 06:37:19 ]
>>65
自分で作った。公開してない。

70 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 11:03:08 ]
むしゃくしゃしてやった。
のかと思ったよ。

71 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 16:14:02 ]
過去ログ取れねーと喚いてた者ですが
URLの"kako/"を削ったら落ちてきますた。
お騒がせしてすんまそん

72 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 07:24:30 ]
>>69
ほしいです。。。。。。。。。。

73 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 11:26:38 ]
>>69
うp



74 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 12:36:21 ]
>>73
ドピュッ

75 名前:69 mailto:sage [2008/06/11(水) 18:25:40 ]
>>72-73
完全に自分用で不親切仕様だし、バグ他問題あるかも知れないけど出しときます。
ttp://o2on.sourceforge.jp/wiki/index.php?plugin=attach&pcmd=open&file=o2on_add_query.zip&refer=Upload
Fx + Greasemonkeyでしか試してません。それ以外の環境はまず考えてません。OperaとかuserChrome.jsのローダーとか。

操作はすべて猿アイコンのメニューから。
インストール後、リロードか新しいページを開くと「o2on setting...」というメニューがあるので、そこでo2on管理画面のURLを入れて下さい。
再度リロードすると「Add」というメニューがあるので、それをクリックするとページ内のスレッド風のURLを問答無用で検索登録します。

問題点
・完全なdatを持っている場合でも検索登録
・まだスレッドが落ちていない場合でも検索登録
・フレームページに対応してない
・追加するスレッドのURLが多いと登録終了まで時間がかかる

公式のうpろだ使わせてもらいました。

76 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:16:56 ]
>>75
本当にありがとうございます。
ありがたく使わせていただきます。

77 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:13:05 ]
>>75
                   ( ⌒)       ∩_ _ グッジョブ!!
                  /,. ノ       i .,,E)
              / /"        / /"
  _n  グッジョブ!!   / / _、_   ,/ ノ'
 ( l     _、 _   / / ,_ノ` )/ / _、_    グッジョブ!!
  \ \ ( <_,` )(       / ( ,_ノ` )     n
   ヽ___ ̄ ̄ ノ ヽ      |  ̄     \    ( E)


78 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 01:58:15 ]
kako2chspiderを長時間(40時間くらい?)動かしてると、
途中から取得datの容量が0バイトになっちゃうんですけど…

79 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 04:42:25 ]
>>78
それだけ動かしてると、どんなもんのdat数を取得できるの?

80 名前:e ◆CuSO4..R5I mailto:sage [2008/06/12(木) 12:03:09 ]
DB 再構築周辺のメモ。

O2DatDB::update() が dat の数だけ O2DatDB::select(O2DatRec &out, hashT hash)
を呼び出すのだが、これは無駄極まりなくて、
特に呼び出した分だけ sqlite3_prepare16_v2() するのが激しく無駄。
sqlite3_stmt は一回用意したら使いまわそう。場合によっては SQLITE_BUSY を返すし。
O2DatDB::update() 内で select するコードをべったり書くか、
それか sqlite3_stmt* を受け取って、それを使う関数を作るかだな。

datname のインデックスはとりあえず残す。

81 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:41:16 ]
>>78
連続で取りすぎでバーボンくらってるとか?
こちらは生きてるスレを取得してるけど、1秒1スレにしておかないとバーボンに引っかかってしまう。

82 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:57:32 ]
オレ使うだけの人なんだけど、Ver 0044bって
dat落ちurlをクリックした時に「検索に追加しました」ってバルーン表示しないの?
管理画面・スレッド検索を開くと追加されてるからまぁ良いんだけど、o2onオプションの
バルーン通知で「検索登録時」にチェックしててもバルーン表示してくれないです。

「P2P起動・停止」、「補完時」はバルーン出るです。
「メッセージ受信時」は、受信したこと無いから知らんです。

83 名前:78 mailto:sage [2008/06/12(木) 14:57:56 ]
>>79
取得間隔が長いので、まだ4000ちょいですわ。
ログ集める板も限られてるし

>>81
1秒でも大丈夫なんですか?
今まで●焼きが怖くて20秒間隔に設定してました…



84 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:12:51 ]
>>83
間隔を短くするつもりなら、やめとけ


613: 704 [sage] : 2008/03/28(金) 20:37:14
>>612
●はHTTPヘッダで判定できるのでその方がいいかも

ところで、o2on側で●ログインしてdatを持ってきて他ノードに配るって言うのを
自動化した場合規約違反になるんでしょうかね?
あるいはアクセス過多で焼かれることってあるんでしょうか

614: デフォルトの名無しさん [sage] : 2008/03/28(金) 20:55:08
FOXに聞いてみたら?

615: デフォルトの名無しさん [sage] : 2008/03/28(金) 20:57:58
やり過ぎるとバーボン行きにはなりそうだな
30秒感覚くらいなら大丈夫じゃね

616: デフォルトの名無しさん [sage] : 2008/03/28(金) 21:00:00
おれは2秒おきに取りにいってるけど、大丈夫。
間髪入れずにいくと流石にバーボンだな

617: デフォルトの名無しさん [sage] : 2008/03/28(金) 21:04:29
>>613
自動化はアウトじゃね
あと他人に配らなくても過剰にアクセスした段階で焼かれる
大体30秒に一回取得のスクリプトを一日回したら焼かれた

85 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:45:16 ]
>>80
ここのselectってinsertするかupdateするか判定してるだけですよね?
とりあえずupdateしてみて更新件数が0件ならばinsertってロジックにしたらいいだけでは無いでしょうか。
SQLiteでも更新件数って取得出来ますよね?

86 名前:78 mailto:sage [2008/06/12(木) 17:31:13 ]
>>84
どうもです。
もっと延ばさなきゃ駄目なのか…

87 名前:e ◆CuSO4..R5I mailto:sage [2008/06/12(木) 17:47:13 ]
>>85
ですよね。先に INSERT するって方法もありますね。
そこで、よくソースを読んだらひどすぎるバグを発見したよ。
bind(db, stmt_update, 6, it->hash) してないので、結局何も更新されないの。
癒された。

88 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:17:34 ]
<チラシの裏>
なにやら2chの鯖一台が逝ったようですね
万が一というかなんというか、dat飛んでたら今こそ溜め込んだdatたちを生かせそうかも
っと、チラシの裏失礼

2ch サーバーダウン(鯖落ち)情報 part203
qb5.2ch.net/test/read.cgi/operate/1213246937/41
</チラシの裏>

89 名前:k-u ◆k.u4xwkrx. mailto:sage [2008/06/12(木) 18:21:11 ]
データベース周りはもっといじった方がいいみたいですね。
ネットワーク関係は安定してるんですけどね。


引き続きバグフィックスはBRANCH_0043でよろしいでしょうか
バージョンごとに分けていった方がいいですか?
分けすぎても面倒かなと思いますが

trunkは放置になっていますがバグフィックスをマージして
プラットフォーム依存のコードを減らす作業でもできたらなあと思っています。(妄想)


90 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 20:08:27 ]
>>85>>87
selectせずにinsert or replaceだけで充分な希ガス。

update or replaceを使って意味があるのは
UNIQUE項目(datテーブルの場合はhash)をupdateする場合だけでしょ?

“or replace”なんていう非標準SQLを使いたくないって理由なら
プログラム側で分岐するしかないけど。

91 名前:e ◆CuSO4..R5I mailto:sage [2008/06/12(木) 20:12:14 ]
>>89
> 引き続きバグフィックスはBRANCH_0043でよろしいでしょうか
> バージョンごとに分けていった方がいいですか?
> 分けすぎても面倒かなと思いますが

BRANCH_0043 のままでいいと思います。

92 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:04:12 ]
隠れていたo2onのブレーンたちがこんなにいたのか。
実は静かにソースを眺めていたのね
o2onはまだまだ進化しそう。。。心強いなあ

93 名前:e ◆CuSO4..R5I mailto:sage [2008/06/13(金) 15:20:37 ]
>>90
一からまるごと再構築という観点ではそんな気もするんですが、
現在は既存の DB をベースに最新の状態に更新する形での再構築という仕様で、
UPDATE すべき場合は lastpublish というカラムはそのままにしておきたいという
仕様がある感じなので、INSERT OR REPLACE だけで済ますのは微妙。
あくまでも現状の仕様を維持するのであればの話ですが。


逆に、今が絶好のチャンスなのでその辺の仕様を覆すような案も歓迎。
いろいろな話がちょっと前にも出ているわけですし。
他にも DB 周辺の指摘やアドバイス歓迎。
むしろいい具合に書き直してくれる人歓迎。



94 名前:78 mailto:sage [2008/06/13(金) 18:08:09 ]
取得間隔を2秒にしてやり直したら、
1000番代以降の最古スレまで完走したものの、
歯抜けが続出…

間隔延ばしても
一定時間クロールし続けると
弾かれる様だし…

どうすればいいんだ('A`)

95 名前:k-u ◆k.u4xwkrx. mailto:sage [2008/06/13(金) 20:55:15 ]
(自分の中での)データベース関係検討事項
詳しい人の突っ込みが欲しいです

・テーブル構造
datテーブル一つの方がパフォーマンス的にはよろしいのでしょうか?
(現状リレーショナルになってません。エクセル表みたいな感じ)
datnameは文字列じゃなくてスレ立てtimeを数値型で持った方が速いのでは→ただし汎用性低下

・再構築プロセス
なんかスレッド生成しまくってるのが気に入らない
I/Oとりあってそう

・update
どこが重いのかちゃんと調べる
ただしいSQLの使い方を調べる
軽量化・簡素化
>>87のような間違いが起こるのもなんか関数が長すぎる希ガス→コード整理

・DBロックエラーの処理
>>28
ロック時間は数百ms程度に抑えた方がいいのではないだろうか 根拠無い数字だけど

96 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 22:01:23 ]
>>93
o2onを手掛けた原作者の設計構想はともかく
実際にソースを見た人は、1からのDB再構築と
既存のDBを活用しての再構築では
どちらにメリットがあると考えますか?

今のo2onに限って言えば、同じDBが生成されるのなら
どちらの方法であれ、再構築に掛かる時間の短い方が
ユーザ側にはメリットがありますが

将来的な機能の拡張を考慮すると、また別の話になるんでしょうね
>逆に、今が絶好のチャンスなのでその辺の仕様を覆すような案も歓迎。
確かにいいチャンスなんでしょう・・・
# コードが読めない、書けない人間には歯がゆいところです

こんな機能はコードを大きく書き換えることなく追加できたりするものなんでしょうか。
・P2Pを実行しながらDBの再構築ができたりとか
・何某かのフラグを格納するフィールドを後から追加したりとか

>>95 氏の
> ・DBロックエラーの処理
> ・テーブル構造
にも絡んでくる話ですね。

97 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 22:40:51 ]
Linuxでも完全に動くように期待してるよ♪

dat保有量がエロ動画の量を超えててなんか悲しくなった…

98 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 23:56:30 ]
>>95
C++は読めないんですが、読めないなりにO2DatDB.cppを眺めてみた感じでは
以下の2文が遅いように思えます。

・where句なしのorder by random()
・select sum(disksize) from dat;

前者はたぶん全件ソートがかかると思われます。
(limitがかかっているとしても、それ以前に全件ソートがかかると思われます。)
というか、そもそもDBMSはランダム処理が得意ではないので
どっちにしろプログラム側で処理すべきです。

後者に関しては、このSQLを発行するならdisksizeにindexがあるべきです。
ただ、そんなに頻繁に使用するSQLではない(管理画面→状態と、
他ノードからのプロフィール参照でしか使わない?)と思うので
あまり気にしなくても良いかもしれません。

それ以外はSQL単品で遅いものはないように見えるので、
呼び出す回数を減らすことを考えたほうが良いと思います。

ちなみに、テーブル構造をいじる必要は感じません。
正規化の観点では若干違反していますが
パフォーマンス上は現状のほうが有利と思います。

99 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 02:40:55 ]
>>95
ロックを回避するにはトランザクションを短くするしか無い気がします。
現状キューにたまった場合1000件ずつ処理されてるのを設定で可変にするとか。
件数減らせば更新のパフォーマンスは落ちますが、ロックが起きて更新されないよりはマシって事で。

>>98
全件sumるんだからindex関係無くないですか?
where句で何か条件が指定されてるんならわかるんですが。

100 名前:98 mailto:sage [2008/06/14(土) 11:15:35 ]
>>99
テーブル全体を舐めるかインデックス全体を舐めるだけかの違いで
I/O量が変わります。
とはいえ、テーブル全体でもせいぜい数百MBだと思うので
あまり変わらないかもしれません。

101 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:52:42 ]
いまwikiから最新版をDLしようとしたら404なんだけどどういうこと?

102 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:46:17 ]
sourceforge.jp/projects/o2on/files/?release_id=31343#31343

103 名前:k-u ◆k.u4xwkrx. mailto:sage [2008/06/14(土) 21:24:05 ]
>>98>>100

・where句なしのorder by random()
は確かほとんど呼ばれない仕様になっていたような
他ノードにdatを拡散する場合に使われます

・select sum(disksize) from dat;
これは遅いという報告があり、こちらでも再現します。
2回目以降はキャッシュするのか速くなるようです。
インデックス入れてテストしてみます。


>>96 違う人が答えますが
正直現状のDB再構築の意図がよく分からないです
手元にdatファイルが無く、スレタイ等のデータは持っている場合に、
そのデータが消えないということはあるんですが、そのような事態が起こる条件、消してしまった場合の弊害等未調査。
(dat.dbファイルごと削除して再構築は何回かやっていますが、目立つ不具合はなかったように思います。)
変なデータが登録されていた場合に、それが削除できないという問題もあります。

lastpublishをそのままにしておきたい意図があるとのことですが、これはクリアしてしまってもいいのではないでしょうか
どちらかというと一時変数的な役割だと思うし、スレタイ(title)のように恒久的なものではないので

> ・P2Pを実行しながらDBの再構築ができたりとか
現状のまま同時実行できるようにすると・・・
DBロックエラーが多数出ると思います
またdatファイルの読み書きが衝突した場合にどうなるかが問題
対応はちょっと大変です。

> ・何某かのフラグを格納するフィールドを後から追加したりとか
データベースにカラムを追加するだけならすぐできます



104 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:26:08 ]
>>102
サンクス

105 名前:k-u ◆k.u4xwkrx. mailto:sage [2008/06/14(土) 21:36:12 ]
連絡

boostとsqliteがバージョンアップしているので移行予定
boostはなんかビルド時のコマンドラインオプションが変わったのでそのうちドキュメント更新します。

>>101
古いwikiには誘導を入れておいた方がいいでしょうか・・・
新旧wikiでいろいろ食い違ってきたのでsourceforgeに一本化したいとおもっております

106 名前:96 mailto:sage [2008/06/15(日) 01:07:28 ]
>>103
忙しい中、素人相手にレスいただいて感謝です
抱いていたモヤモヤも払拭されました。
この様な開発メンバーが居ると思うと、なんか嬉しいです。
o2on使い続けて来てよかった

>>105
> 新旧wikiでいろいろ食い違ってきたのでsourceforgeに一本化したいとおもっております
wiki なら多少いじれるので、微力ながらお手伝いさせていただきます。

ただ、うぷろだをSourceforge内に新設して欲しいのですが、規約上これは可能でしょうか?
wiki のうぷろだでは使い勝手が悪いので。。。
暫くは旧サイトのうぷろだにリンクを張ってもよいと思うのですが
なにしろ原作者様が用意したサーバをこのまま使い続けるのも気が引けます。


107 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:16:55 ]
あぷろだ設置お疲れ様です
当方ADSL8Mですが、早速テストうぷしてみました。
今までのあぷろだに上げられたブツとSnUploaderのログです。
このログは何かのためにと、私的にSnUploaderを使ってミラーしていたものです。
うぷテストなので不要であれば削除しますのでその旨レス下さい。

あと、せっかく100MBまでうぷできるように設定していただいたのですが
28MB のファイルをうぷしようとしたら、タイムアウトになってしまいました。
こちらの環境なのか、Apache側のタイムアウト/ファイルサイズ設定が
原因なのか判然としませんが、一応報告まで。

108 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:24:52 ]
o2onってこの板以外のスレはもうないの?

109 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:34:07 ]
>>108
今はこのム板だけのようです

110 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:41:31 ]
この板以外ってダウソにしか立ったことないと思うけど、そっちはもうない。
あ、ν速にも立ったことあったか。

111 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:51:35 ]
いや、もともとここだけだったけど厨房が勝手にダウソに立てた

112 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:58:26 ]
P2Pだからダウソかと思ったんだろうね

113 名前:e ◆CuSO4..R5I mailto:sage [2008/06/15(日) 16:31:48 ]
DB 再構築の話なんですけど、今までの話を総合した自分の案です。

・全部空にして一から再構築
 →ゴミデータ除去できる
・dat フォルダの走査と再構築を同期して行う(たぶん build 0031 のような感じ)
 →インジケータとか、ユーザにわかりやすい
 →ひたすら INSERT OR REPLACE する関数をでっち上げる
・再構築中は他の処理による DB アクセス(特に書き込み)を避けたい
 →少なくとも、従来の更新用スレッドは止めるとか

という感じで、既存の SQL 関係の関数についてはエラー処理や効率アップに
励むのがいいのかなぁと思います。



114 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:53:43 ]
>109-112
そっかー、ここだけなんだ。
使うだけのオレには敷居が高いな。

115 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:01:18 ]
常時開いたままだからどこの板にあるとかどうでもいいな
俺もバージョンアップの確認の為だけにスレ見てるだけだが

116 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:05:20 ]
ほんとに最近安定してるね
0044bにしたおかげでdatも10万いったよ

117 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:25:18 ]
奇遇だな、ちょうど俺も10万突破したとこw

118 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:32:09 ]
最近入れ始めて、昨日までは普通に動いてたんだがアイコンのOと2のとこが赤くてP2P停止状態になって困ってるんですが
なにが原因かわかります?

あとウイルスと判断されるdatがよくDLされるようにまりました

119 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:49:21 ]
>>118
ディスクいっぱいorクォータ指定量に達してないか?
ウィルスはそう判断されるコードを書き込む奴がいたから
無害なのでログフォルダを検索対象からはずすよろし

120 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:54:18 ]
>>119
達していました…
ありがとうございます。
これdat保存フォルダを別のドライブに移すってことはできませんかね?
今のドライブではこれ以上クォータ容量を増やせないので

121 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:26:34 ]
o2onのフォルダごと別のドライブにうつしちゃえば

122 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:49:21 ]
俺もドライブ移動しよう移動しようで結局してないや。
こまいファイルで20G移すのとかどんだけ時間が掛かるんだろう。

123 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:58:39 ]
移動のこととかアンインストールのこととかマニュアルにあると親切だよね
まだαなんで親切さをアピールしてもしょうがないんだけど



124 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:23:31 ]
FFC使えばいいんじゃないか?

125 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:28:56 ]
全部消して新規でやるのがいいと思うけど

126 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:46:36 ]
>>125
なんでよ。


127 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 15:15:26 ]
>>120
1) o2onを停止する
2) datフォルダを好きな場所に移動する
3) conf\Profile.xmlをテキストエディタで開いて
  CacheRootの「.\dat」の部分を書き換える
  (例えばD:\o2on\datに移動したなら「D:\o2on\dat」に書き換える)
4) o2onを起動する
でいけるはず。

128 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:48:20 ]
>>127
ありがとうございます
無事移動できました

話がかわるんですが、クォータ設定してる人はどれ位に設定してますか?
参考にしたいので教えてください

129 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:29:07 ]
今見ているスレッド内にある前スレや関連スレッドなどの
2chのURLを全てo2onに検索登録するスクリプトが欲しいです。
Janeの外部コマンドに登録して、右クリックから使いたいんです。


スレ内の2ちゃんねるのURLを全てo2onに検索登録=WScript "$BASEPATHo2onAdd.vbs" "LOCALDAT"

こういった感じです。vbsでもjsでもおkです。お願いします。




Query.xml に追加で書き込むようにすればいいんですよね。
このハッシュ値はなにから計算されたものなのですか?

Wiki見てきます。すいません。

130 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:32:11 ]
>>129
アプリケーション総合スレッド(,,・_・)ver_1.21
tmp7.2ch.net/test/read.cgi/download/1213365259/322,323

131 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:32:57 ]
スレ内の2ちゃんねるのURLを全てo2onに検索登録=WScript "$BASEPATHo2onAdd.vbs" "$LOCALDAT"

だな。失礼致しました。

132 名前:k-u ◆k.u4xwkrx. mailto:sage [2008/06/18(水) 20:09:58 ]
>>107
POSTの上限は10MBの予感。直しておきました


>>113
0031から0032に変わる辺りは参考になりますね。
元々ロックエラーが頻発した為、DB更新のスレッドを別にしたようです。
私は再構築時には UPDATE_THREAD_INTERVAL_S を短くして
かつキューにたまりすぎないように適当に制限するというのを考えていました。
(コードあんまりいじらなくてすみそうだからw)

とりあえず実装してみて、テスト版公開して試してもらえばいいと思います。
私の方はテスト版出せるか分かりませんので、適当に進めてくださいな


>>129
ハッシュの算出方法はperlの例が過去ログのどこかにあったような

Query.xmlに追加する方法では、o2on起動中には効果がないはずなので
不便だと思います。
管理画面のスレッド検索と同様にPOSTすれば登録できると思います。
ハッシュの計算も不要です。

POST先 /xml/query
クエリ
act=add
hash="" (空文字列)
note=[任意] (UTF-8かな Jane とか入れとけばいいかと)
url=[スレのURL]

1件ずつしか処理できないので1回ずつPOSTしてください。
あまり高速に連続してPOSTするとo2onがなにかおかしくなるかもしれないので注意してください。

133 名前:129 mailto:sage [2008/06/18(水) 20:53:10 ]
>>132
親切にありがとうございました。
頑張ってみます。



134 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 13:16:30 ]
自分が共有してるログのどれがリクエスト多いか表示されないの?

135 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:02:18 ]
現時点でのdat数を述べなさい。

136 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:03:41 ]
319,760

137 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:11:44 ]
収集してないから2,705

138 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:44:30 ]
datフォルダのプロパティで見たら202,726だた

139 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:45:10 ]
251,566

140 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:51:35 ]
312107

141 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:54:24 ]
>>136
サイキョ

142 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:16:44 ]
いや上には上が居る、確かdat容量100G突破した人いなかったっけ?
その人はきっと100万所じゃないはず

143 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:56:51 ]
>>134
DBにカラム追加して要求回数とか書き込めば簡単にできるとは思うけど
益々ロックされる可能性が増える訳で・・・



144 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 07:45:50 ]
てかメッセンジャーとかフレンドってどういう目的で実装されてんの?

145 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 08:15:19 ]
メッセンジャーでログ補完の依頼が来てたよ
名無しの知らん奴から






[ 続きを読む ] / [ 携帯版 ]

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

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