變長記錄檔案分析

2021-06-18 14:45:36 字數 522 閱讀 6483

一、檔案記錄分析

1、分索引檔案"原檔名+index.txt"和資料流檔案"原檔名.dat"來儲存資料,索引檔案格式化儲存前6項:記錄號、記錄標識、刪除標識、記錄長度、偏移位置、位元組流或鏈結、記錄長度,就是不斷的寫入record結構體

2、首先開啟索引,讀到記憶體中,通過record * next和record* priority指標將所有記錄鏈結起來,並對一些資訊進行統計,如記錄數;關閉原檔案時,將鍊錶寫入索引檔案

3、原檔名.dat中,寫入檔案資料,索引記錄其偏移offset和長度len。當輸入新的記錄時,將內容資料寫入到原檔名.dat的後面,這樣原來的資料仍然在*.dat中,就說,資料刪除或者重寫時,原來的內容不會刪除

二、檔案讀取類設計

1、索引檔案資料輸入時,會對記錄號、記錄標識做乙個合格性檢查

2、會建立一些記憶體資料結構,來控制一串的資訊頭

變長記錄設計與實現

vuex分析,記錄

最近專案中vuex用的比較多,特此記錄一下 vuex vue中的狀態管理,可用於儲存一些全域性的變數,方法,如購物車,token等 vuex中有state,getter,mutations,actions,modules這5個 state 元資料,類似於vuex中的data屬性中的值,原則上是不應該...

inotify event中檔名變長的記憶體處理

最近在使用inotify做檔案系統變化的監控時,對inotify event中的name的記憶體對齊理解出現了誤差,在此記錄一下。檔案事件通過inotify event 結構體表示,它通過使用檔案讀取函式 read 檔案描述符由inotify init 返回 來獲得,結構體內容如下 struct i...

python 實時分析log檔案每秒記錄數

檔名 gencdr.py 作用 在指定的時間裡每秒向testcdr.txt檔案中寫n行記錄,n為隨機數。模擬access.log。coding utf 8 zhangbo2012 import time import datetime import random filepath testcdr.t...