[發(fā)明專利]快速文件預(yù)分配與文件箱動(dòng)態(tài)管理方法無效
| 申請(qǐng)?zhí)枺?/td> | 200610148339.1 | 申請(qǐng)日: | 2006-12-29 |
| 公開(公告)號(hào): | CN101211338A | 公開(公告)日: | 2008-07-02 |
| 發(fā)明(設(shè)計(jì))人: | 馬軼群 | 申請(qǐng)(專利權(quán))人: | 上海欣泰通信技術(shù)有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30;H04N7/18 |
| 代理公司: | 上海申匯專利代理有限公司 | 代理人: | 翁若瑩 |
| 地址: | 200437*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 快速 文件 分配 動(dòng)態(tài) 管理 方法 | ||
1.一種快速文件預(yù)分配與文件箱動(dòng)態(tài)管理方法,其特征在于,在流媒體服務(wù)器上以軟件方式實(shí)現(xiàn),軟件是以C++語言編寫,安裝在Windows操作系統(tǒng)上,軟件通過和NTFS文件系統(tǒng)及Windows?API的配合,對(duì)上提供一層抽象的文件系統(tǒng)服務(wù)層,文件系統(tǒng)服務(wù)層提供了錄像記錄操作的基本接口,使用這些接口能夠始終高效且安全的存取錄像數(shù)據(jù),并且不會(huì)在文件系統(tǒng)中產(chǎn)生文件碎片,其方法為:
步驟1.生成一個(gè)Windows的DLL,在DLL中輸出如下函數(shù)Init、AddNew、Update、Delete、Find,其中,Init為初始化方法,即初始化文件箱;AddNew代表新增一條記錄;Update代表更新一條記錄;Delete代表刪除一條記錄;Find代表查找一條記錄;
步驟2.首先,實(shí)現(xiàn)初始化方法Init,調(diào)用初始化方法時(shí)完成如下工作:
a)預(yù)先生成一個(gè)4?GB的文件,具體方法為先調(diào)用fopen函數(shù)生成一個(gè)空白文件;
b)在預(yù)先生成的文件中產(chǎn)生至少一個(gè)文件箱
每一個(gè)文件由索引區(qū)和數(shù)據(jù)區(qū)兩大部分構(gòu)成,大小為2M,地址為0~200000H,索引區(qū)由索引頭和索引表組成,索引頭大小為100個(gè)BYTE,地址為0~64H,索引頭前9個(gè)BYTE為頭標(biāo)識(shí),值是ASC碼“INDEXHEAD”,4個(gè)BYTE為當(dāng)前錄像記錄總數(shù),其余的空間都做為保留位,索引表大小為2097052BYTE,地址為65H~200000H,索引表以連續(xù)地址的方式存放了每條索引,并且按照記錄序列號(hào)的字符串以升序方式排序,整個(gè)索引表共能存放41941條索引;
索引表之后是數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)地址為200001H~100000000H,將數(shù)據(jù)區(qū)劃分為多個(gè)定長(zhǎng)的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊能且只能保存一條錄像記錄。每個(gè)數(shù)據(jù)塊的長(zhǎng)度為5M,格式如下:使用標(biāo)志+記錄序列號(hào)+數(shù)據(jù)長(zhǎng)度+數(shù)據(jù),“使用標(biāo)志”為此塊數(shù)據(jù)是否被使用的標(biāo)志,占1?BYTE,如未使用為0,已使用為1;“記錄序列號(hào)”就是錄像的序列號(hào),“數(shù)據(jù)長(zhǎng)度”是錄像數(shù)據(jù)的總長(zhǎng)度,占4個(gè)BYTE,數(shù)據(jù)就是錄像的實(shí)際數(shù)據(jù),整個(gè)數(shù)據(jù)區(qū)由首地址開始連續(xù)存放著多個(gè)數(shù)據(jù)塊,可以存放800條以上錄像記錄;
步驟3.進(jìn)行“查詢”、“新增”、“更新”、“刪除”、
(1)查詢Find方法實(shí)現(xiàn)如下:
首先利用二分查找法在索引表中查找對(duì)應(yīng)的錄像序列號(hào),如果找到錄像序列號(hào),則得到記錄的實(shí)際地址,再從記錄的地址讀出數(shù)據(jù)頭,根據(jù)使用情況和數(shù)據(jù)長(zhǎng)度就最終找到了實(shí)際錄像數(shù)據(jù),如果在索引表中沒有找到錄像序列號(hào),則查找失敗,返回空:
二分查找的基本思想是:設(shè)R[low..high]是當(dāng)前的查找區(qū)間
a)首先確定該區(qū)間的中點(diǎn)位置;
b)然后將待查的K值與R[mid].key比較:若相等,則查找成功并返回此位置,否則須確定新的查找區(qū)間,繼續(xù)二分查找,具體方法如下:
①若R[mid].key>K,則由表的有序性可知R[mid..n].keys均大于K,因此若表中存在關(guān)鍵字等于K的結(jié)點(diǎn),則該結(jié)點(diǎn)必定是在位置mid左邊的子表R[1..mid-1]中,故新的查找區(qū)間是左子表R[1..mid-1];
②類似地,若R[mid].key<K,則要查找的K必在mid的右子表R[mid+1..n]中,即新的查找區(qū)間是右子表R[mid+1..n],下一次查找是針對(duì)新的查找區(qū)間進(jìn)行的;
(2)新增AddNew方法實(shí)現(xiàn)如下:
首先利用二分查找法在索引表中查找對(duì)應(yīng)的錄像序列號(hào)。如果找到錄像序列號(hào),則返回新增失敗,如果沒有找到序列號(hào),就計(jì)算此序列號(hào)在索引表中的可以存放的地址,設(shè)為X,接著遍歷數(shù)據(jù)段,查詢數(shù)據(jù)段的使用情況,直到找到一塊未使用的數(shù)據(jù)段,找到未使用數(shù)據(jù)段后將錄像數(shù)據(jù)保存在數(shù)據(jù)段的數(shù)據(jù)部分,再改寫數(shù)據(jù)頭部分,改寫使用狀態(tài)為已使用,改寫記錄序列號(hào)和數(shù)據(jù)長(zhǎng)度字段,接著,改寫索引表,首先將前面得到的地址X后的所有索引數(shù)據(jù)向后移動(dòng)50?Byte,再在X地址處插入新的記錄的索引,填寫索引的記錄序列號(hào)和記錄地址,最后修改索引頭,將記錄總數(shù)加1;
(3)更新Update方法實(shí)現(xiàn)如下:
首先利用二分查找法在索引表中查找對(duì)應(yīng)的錄像序列號(hào),如果沒有找到錄像序列號(hào),則返回更新失敗,如果找到序列號(hào),再獲取索引中的記錄地址,更改地址的數(shù)據(jù)段和數(shù)據(jù)頭就完成了更新操作;
(4)刪除Delete方法實(shí)現(xiàn)如下:
先利用二分查找法在索引表中查找對(duì)應(yīng)的錄像序列號(hào),如果沒有找到錄像序列號(hào),則返回刪除失敗,如果找到序列號(hào),再獲取索引中的記錄地址和索引的地址,更改地址對(duì)應(yīng)的數(shù)據(jù)段的數(shù)據(jù)頭,將使用標(biāo)志改為未使用,再將索引地址+50?Byte后的所有索引表數(shù)據(jù)全部向前挪動(dòng)50?Byte,最后修改索引頭,將記錄總數(shù)減1。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海欣泰通信技術(shù)有限公司,未經(jīng)上海欣泰通信技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610148339.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 動(dòng)態(tài)矢量譯碼方法和動(dòng)態(tài)矢量譯碼裝置
- 動(dòng)態(tài)口令的顯示方法及動(dòng)態(tài)令牌
- 動(dòng)態(tài)庫管理方法和裝置
- 動(dòng)態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動(dòng)態(tài)口令生成方法、動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動(dòng)態(tài)模糊控制系統(tǒng)
- 一種基于動(dòng)態(tài)信號(hào)的POS機(jī)和安全保護(hù)方法
- 圖像動(dòng)態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動(dòng)態(tài)聚合碼的系統(tǒng)
- 基于動(dòng)態(tài)口令的身份認(rèn)證方法、裝置和動(dòng)態(tài)令牌





