[FrontPage] 更新履歴 - サイトマップ - "DirectoryStorageStructure" 配下のコンテンツ - 過去を発掘 | [Snap.Shot]

to FrontPage DirectoryStorageStructure

(Sat, 01 Jun 2002 00:04:43 GMT+9)

どんなふうにファイルつくられてくか。みてみて!

これはlawnフォーマットの例。 順番に:

/vol-x1/zope/storage:
合計 312
drwxr-xr-x  6714 zope     zope       217088  5月 30 06:02 A
drwxr-xr-x    2 zope     zope            6  5月 30 05:50 B
drwxr-xr-x    2 zope     zope           36  5月 30 05:50 config
drwxr-xr-x    2 zope     zope            6  5月 30 06:09 journal
drwxr-xr-x    2 zope     zope           31  5月 30 05:56 misc
/vol-x1/zope/storage/A:
合計 8
drwxr-xr-x    2 zope     zope           83  5月 30 05:56 o0000000000000000
drwxr-xr-x    2 zope     zope          152  5月 30 06:02 o0000000000000001
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000002
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000003
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000004
drwxr-xr-x    2 zope     zope         4096  5月 30 05:57 o0000000000000005
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000006
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000007
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000008
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000009
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000A
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000B
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000C
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000D
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000E
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000000F
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000010
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000011
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000012
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000013
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000014
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000015
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000016
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000017
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000018
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o0000000000000019
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000001A
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000001B
drwxr-xr-x    2 zope     zope           37  5月 30 05:56 o000000000000001C
...(中略)
/vol-x1/zope/storage/A/o0000000000000005:
合計 392
drwxr-xr-x    2 zope     zope         4096  5月 30 05:57 .
drwxr-xr-x  6714 zope     zope       217088  5月 30 06:02 ..
-rw-r--r--    1 zope     zope          116  5月 30 05:56 034516E86534A2E6
-rw-r--r--    1 zope     zope          231  5月 30 05:56 034516E86AA1A933
-rw-r--r--    1 zope     zope          326  5月 30 05:56 034516E86ABF1A5D
-rw-r--r--    1 zope     zope          403  5月 30 05:56 034516E86B4610CC
-rw-r--r--    1 zope     zope          470  5月 30 05:56 034516E86E717933
-rw-r--r--    1 zope     zope          535  5月 30 05:56 034516E86EF034F7
-rw-r--r--    1 zope     zope          592  5月 30 05:56 034516E87A19DC00
-rw-r--r--    1 zope     zope          667  5月 30 05:56 034516E89318E208
-rw-r--r--    1 zope     zope          742  5月 30 05:56 034516E8A7718580
-rw-r--r--    1 zope     zope          807  5月 30 05:56 034516E8AFC29CC4
-rw-r--r--    1 zope     zope          876  5月 30 05:56 034516E8BC93616E
-rw-r--r--    1 zope     zope          967  5月 30 05:56 034516E8BF6CDAAA
-rw-r--r--    1 zope     zope         1046  5月 30 05:56 034516E8C5F5F144
-rw-r--r--    1 zope     zope         1115  5月 30 05:56 034516E8D0F8EB80
-rw-r--r--    1 zope     zope         1180  5月 30 05:56 034516E8D80EFCEE
-rw-r--r--    1 zope     zope         1247  5月 30 05:56 034516E8DD69EE22
-rw-r--r--    1 zope     zope         1318  5月 30 05:56 034516E8DF179088
-rw-r--r--    1 zope     zope         1391  5月 30 05:56 034516E8F19E1455
-rw-r--r--    1 zope     zope           12  5月 30 05:56 c
$ cat c | perl -pe "s/([\0-\377])/sprintf('%02X', ord(\$1))/ge"
0BFEE8EC034516E8F19E1455
(注: 最初の4バイトが不明だけど、残りの8バイトはcurrentを指しているぽい。
ちゃんとnetwork byte orderな模様)
$ cat 034516E8F19E1455 | perl -pe "s/([\0-\377])/sprintf('%02X ', ord(\$1))/ge"
BD B8 2A 71 00 00 05 6F 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 E2 48 CA 9B EF 82 90 D4 7C 67 6C 20 C6 25
51 C4 03 45 16 E8 DF 17 90 88 03 45 16 E8 F1 9E 14 55 28 28 55 0B 41 70 70 2E 50
72 6F 64 75 63 74 71 01 55 0D 50 72 6F 64 75 63 74 46 6F 6C 64 65 72 71 02 74 71
03 4E 74 2E 7D 71 04 28 55 0D 50 79 74 68 6F 6E 53 63 72 69 70 74 73 71 05 28 55
08 00 00 00 00 00 00 0B 63 71 06 28 68 01 55 07 50 72 6F 64 75 63 74 71 07 74 74
51 55 0B 5A 53 51 4C 4D 65 74 68 6F 64 73 71 08 28 55 08 00 00 00 00 00 00 15 D9
71 09 28  ...
$ strings 034516E8F19E1455
App.Productq
ProductFolderq
PythonScriptsq
Productq
ZSQLMethodsq
Productq
ZCatalogq
Productq
...
(注: プロダクトフォルダっぽいね。問題はほとんど初期状態なのに、
どしてこんなトランザクション伸びるかと。各プロダクトをそれぞれparseして、そのたびに
こつこつ追加しているようだ…)

で、気がついたのですが、結局これ、既存のZODBが信頼性に乏しい単一ファイルに対して書いてたところを そのまま複数ファイルに落とし込んでいるだけっぽいんですな。 結局はPython pickleかためうちなので、データと管理情報が分離しているわけでもないし、 どっか途中の枝をロストしたらそりゃもう大騒ぎになりそうな。

同一オブジェクトのトランザクションは同一ディレクトリの別ファイルとして残るので、 ここだけは少し光がさしたかも。

フォーマットはformats.pyを見てみよう。けっこう単純… てゆーか、 doc/install にあったbushy4なんてフォーマットは無いぞ! 代わりにbushy2とbushy5があった。

  HelpPage メールでコメント

© 2000-2013 Yukimasa TAKANO, all RIGHTs reserved.