專利名稱:數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,尤其是涉及一種數(shù)據(jù)存儲、檢索的 CPD(Common Performance Database)數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法。
背景技術(shù):
現(xiàn)有的主流的數(shù)據(jù)庫管理系統(tǒng),出于市場的定位需求,除了關(guān)注數(shù)據(jù)的存儲這一 基本需求之外,同時也在數(shù)據(jù)的保密性,操作的安全性,數(shù)據(jù)的可恢復(fù)性等方面投入了大量 的努力。這些努力,造成了計算機(jī)資源不能更多的用于數(shù)據(jù)的存儲上,致使計算機(jī)有限的資 源被擠占,不能更多的用于數(shù)據(jù)存儲。通常計算機(jī)資源的瓶頸可通過提高硬件設(shè)備,數(shù)據(jù)庫 服務(wù)器集群等方式解決,但這都要求用戶的投入成倍的加大,很難被所有用戶所接受。另外,現(xiàn)有的不同的數(shù)據(jù)庫廠商,在自己的數(shù)據(jù)庫產(chǎn)品中,都會體現(xiàn)一些本公司產(chǎn) 品的特性,使程序員在應(yīng)用這些產(chǎn)品時,要針對不同廠商的產(chǎn)品,提供不同的解決方案,大 大的增加了開發(fā)的投入。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的不足,本發(fā)明解決的技術(shù)問題是提供一種 CPD (CommonPerformance Database)數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該CPD數(shù)據(jù)存儲系統(tǒng)以“表” 的方式(一個“表”對應(yīng)一個文件)組織數(shù)據(jù),允許對不同“表”之間可以并發(fā)的讀寫操作。 它在執(zhí)行讀“表文件”時不需鎖定文件;在寫“表文件”時,只鎖定部分區(qū)域,使用戶可以并 發(fā)的讀取該文件中其他的數(shù)據(jù)。本發(fā)明的目的通過提供以下技術(shù)方案實現(xiàn)一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其中, 應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)存儲數(shù)據(jù)時,包括以下步驟第一步、創(chuàng)建數(shù)據(jù)表;第二步、存儲數(shù)據(jù)到創(chuàng)建的數(shù)據(jù)表中。進(jìn)一步地,所述創(chuàng)建數(shù)據(jù)表又包括以下步驟第一步、創(chuàng)建數(shù)據(jù)存儲主表;第二步、在字典表記錄該數(shù)據(jù)存儲主表的基本信息;第三步、同步更新內(nèi)存中緩存的字典表信息;第四步、創(chuàng)建附屬表。在創(chuàng)建數(shù)據(jù)表前需要先檢測字典信息,如果該表存在,則退出建表過程并返回給 用戶提示信息。所述基本信息包括各列名稱,類型,數(shù)據(jù)塊時間跨度,該表存儲數(shù)據(jù)的總時間范圍。再進(jìn)一步地,所述存儲數(shù)據(jù)到創(chuàng)建的數(shù)據(jù)表中又包括以下步驟第一步、檢查表檢測要寫的表是否已經(jīng)建立,如果未建立,則不允許寫數(shù)據(jù),CPD系統(tǒng)報錯;第二步、修改相關(guān)信息修改表文件中的一些信息,按表規(guī)則組織數(shù)據(jù),寫數(shù)據(jù)到 數(shù)據(jù)存儲主表、附屬表中;第三步、同步字典信息及字典緩存修改字典表中關(guān)于該數(shù)據(jù)存儲主表的相關(guān)信 息,同步更新緩存的字典信息。在同步字典信息及字典緩存后,還可進(jìn)行緩存寫數(shù)據(jù)。本發(fā)明的目的還可以通過提供以下技術(shù)方案實現(xiàn)一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其中, 應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)查詢數(shù)據(jù)時,包括以下步驟第一步、檢測字典表信息,找到對應(yīng)的表;第二步、根據(jù)查詢時間范圍確定要讀取的“塊”;第三步、檢測緩存中是否有對應(yīng)的“塊”存在;第四步、若存在對應(yīng)的“±夬”,則對數(shù)據(jù)塊中數(shù)據(jù),根據(jù)檢索需求進(jìn)行過濾;第五步、返回獲取的數(shù)據(jù)。進(jìn)一步地,若無對應(yīng)的“塊”存在,則從表文件中讀取。再進(jìn)一步地,對檢索獲取的數(shù)據(jù)提供可配置的緩存功能。本發(fā)明的目的還可以通過提供以下技術(shù)方案實現(xiàn)一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其特 征在于,應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)刪除數(shù)據(jù)時,包括以下步驟第一步、刪除該表的附屬表;第二步、刪除數(shù)據(jù)存儲主表;第三步、刪除對應(yīng)的字典表中的信息;第四步、同步緩存的字典信息。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是數(shù)據(jù)存儲量大、功能簡單、工作流程簡潔, 且具有更高的讀寫速率。
下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明圖1為本發(fā)明數(shù)據(jù)存儲系統(tǒng)創(chuàng)建一個數(shù)據(jù)存儲表的流程示意圖。圖2為本發(fā)明數(shù)據(jù)存儲系統(tǒng)寫入一個數(shù)據(jù)存儲表的流程示意圖。圖3為本發(fā)明數(shù)據(jù)存儲系統(tǒng)查詢一個數(shù)據(jù)存儲表的流程示意圖。圖4為本發(fā)明數(shù)據(jù)存儲系統(tǒng)刪除一個數(shù)據(jù)存儲表的流程示意圖。
具體實施例方式以下參照
本發(fā)明的最佳實施方式。本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)以“表”的方式(一個“表”對應(yīng)一個文件)組織數(shù)據(jù), 這樣就允許對不同“表”之間可以并發(fā)的讀寫操作。它在執(zhí)行讀“表文件”時不鎖定文件; 在寫“表文件”時,只鎖定部分區(qū)域,使用戶可以并發(fā)的讀取該文件中其他的數(shù)據(jù)。在本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)中,數(shù)據(jù)在“表文件”中的讀、寫操作都以“數(shù)據(jù)塊”(一個塊是在一個時間跨度范圍內(nèi)的所有的具有相同格式的數(shù)據(jù)記錄的集合)為基本 單位。這樣在讀取記錄時使該記錄的周邊記錄同時被讀取到內(nèi)存中,減少了頻繁讀取磁盤 文件的開銷,加快了后續(xù)讀取操作的速度;在寫存儲記錄時,將一個時間范圍(由用戶指定 時間值)內(nèi)的數(shù)據(jù)緩存在一起,一次批量的寫入,減少了頻繁寫磁盤文件的開銷,也避免了 “表文件”經(jīng)常性的被鎖定,加快了并發(fā)的寫磁盤的速讀。另外,在本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)中,任何數(shù)據(jù)都是直接以“字節(jié)流”的方式寫 “表文件”的,沒有任何的加密措施,使之?dāng)?shù)據(jù)可以輕易的解析出來。甚至在不用CPD程序的 情況下,也可以輕松的獲取數(shù)據(jù)的原始信息。值得一提的是本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)無需支持標(biāo)準(zhǔn)的SQL語言的解析、執(zhí)行 操作。在本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng),包括數(shù)據(jù)存儲主表、附屬表、字典表。其中,每個數(shù) 據(jù)存儲主表有且只有一個附屬表(不是必須存在的表文件),主表中的數(shù)據(jù)只可以為數(shù)值 類型,對于非數(shù)值類型的數(shù)據(jù),在附屬表中記錄存儲。每個表文件有一個唯一的表名稱,建 表時可相對指定表的存放路徑。優(yōu)選地,該存放位置的根路徑一致,可由用戶配置提供。系 統(tǒng)根據(jù)部署位置有相對應(yīng)的一個默認(rèn)路徑。每個數(shù)據(jù)存儲主表中的數(shù)據(jù)只提供了寫入、查詢的功能,并可修改檢索信息、索引 信息、狀態(tài)信息等。數(shù)據(jù)存儲主表之間是彼此獨立的,不支持關(guān)聯(lián)關(guān)系。字典表記錄本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)中每個數(shù)據(jù)存儲主表的建表的基本信息 及最新狀態(tài)信息,附屬表在此不必有記錄。字典表中的信息可以添加、可以查詢,也可以修 改、刪除。幾個字典表之間有外關(guān)聯(lián)關(guān)系,有主鍵唯一性約束等特性。每個字典表、數(shù)據(jù)存儲主表、附屬表有一個唯一的物理文件與之對應(yīng)。如圖1所示,在利用本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)存儲數(shù)據(jù)時,首先需要創(chuàng)建數(shù)據(jù) 表,創(chuàng)建數(shù)據(jù)表包括了創(chuàng)建數(shù)據(jù)存儲主表、創(chuàng)建附屬表、并將表信息寫入字典,以及同步字 典緩存。其主要步驟為首先,創(chuàng)建數(shù)據(jù)存儲主表;其次,在數(shù)據(jù)存儲主表創(chuàng)建后,需要在字典表(CPD系統(tǒng)用來記錄系統(tǒng)中各表的基 本信息及狀態(tài)信息的表,這些表有CPD系統(tǒng)自行創(chuàng)建)記錄該數(shù)據(jù)存儲主表的基本信息,再 次,同步更新內(nèi)存中緩存的字典表信息。該基本信息包括各列名稱,類型,數(shù)據(jù)塊時間跨度, 該表存儲數(shù)據(jù)的總時間范圍等。最后,創(chuàng)建附屬表。優(yōu)選地,在創(chuàng)建數(shù)據(jù)表前需要先檢測字 典信息,如果該表存在,則退出建表過程并返回給用戶提示信息。值得一提的是CPD中每個表文件有一定的格式規(guī)則需要遵守,建表的時候依據(jù) 一定的次序、按建表規(guī)則創(chuàng)建一個數(shù)據(jù)存儲主表。如圖2所示,在完成創(chuàng)建數(shù)據(jù)表后,即可存儲數(shù)據(jù)到創(chuàng)建的數(shù)據(jù)表,其包括以下步 驟1、檢查表檢測要寫的表是否已經(jīng)建立,如果未建立,則不允許寫數(shù)據(jù),CPD系統(tǒng) 報錯;2、修改相關(guān)信息修改表文件中的一些信息(如索引信息),按表規(guī)則組織數(shù)據(jù), 寫數(shù)據(jù)到數(shù)據(jù)存儲主表、附屬表中;
3、同步字典信息及字典緩存修改字典表中關(guān)于該數(shù)據(jù)存儲主表的相關(guān)信息(如 索引信息),同步更新緩存的字典信息;4、緩存寫數(shù)據(jù)緩存寫表的數(shù)據(jù)到內(nèi)存中,一般根據(jù)公司業(yè)務(wù)的需求,新寫入表中 的數(shù)據(jù)被檢索的幾率更大,為提供檢索速度,予以緩存,該緩存機(jī)制可配置關(guān)閉。如圖3所示,在存儲數(shù)據(jù)到創(chuàng)建的表后,可對該表進(jìn)行查詢數(shù)據(jù)在CPD系統(tǒng)中,數(shù)據(jù)存儲主表中的數(shù)據(jù)是以每個時間跨度范圍內(nèi)的數(shù)據(jù)作為一個 操作單位(“塊”)進(jìn)行讀、寫的,所以每一個查詢操作,都必須提供一個要查詢數(shù)據(jù)的時間 范圍。查詢時首先檢測字典表信息,找到對應(yīng)的表;再根據(jù)查詢時間范圍確定要讀取的 “塊”;檢測緩存中是否有對應(yīng)的“塊”存在,沒有則從表文件中讀?。蝗粲?,則對數(shù)據(jù)塊中數(shù) 據(jù),根據(jù)用戶提供的檢索需求,進(jìn)行過濾,最后返回用戶獲取的數(shù)據(jù)。值得一提的是對檢索獲取的數(shù)據(jù),也提供了緩存功能,同寫數(shù)據(jù)的緩存一致,這 類緩存機(jī)制可配置關(guān)閉、開啟。如圖4所示,本發(fā)明的CPD數(shù)據(jù)存儲系統(tǒng)也可刪除數(shù)據(jù)要刪除一個數(shù)據(jù)存儲主表,首先必須刪除該表的附屬表(存儲主表表的一些特殊 信息,不是必須存在的表文件),其次刪除數(shù)據(jù)存儲主表,再次刪除對應(yīng)的字典表中的信息, 最后同步緩存的字典信息。以下是CPD數(shù)據(jù)存儲系統(tǒng)和現(xiàn)有數(shù)據(jù)庫管理系統(tǒng)保存記錄在同樣的測試環(huán)境下 進(jìn)行的壓力測試數(shù)據(jù)對比,其中,CPD數(shù)據(jù)存儲系統(tǒng)為 現(xiàn)有數(shù)據(jù)庫管理系統(tǒng)為 從以上兩組的插入記錄的測試效率看,CPD數(shù)據(jù)存儲系統(tǒng)平均比現(xiàn)有數(shù)據(jù)庫管理 系統(tǒng)速度要快3倍左右,能夠滿足用戶需求。盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實施方式,但是本領(lǐng)域的普通技術(shù)人 員將意識到,在不脫離由所附的權(quán)利要求書公開的本發(fā)明的范圍和精神的情況下,各種改 進(jìn)、增加以及取代是可能的。
權(quán)利要求
一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其特征在于,應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)存儲數(shù)據(jù)時,包括以下步驟第一步、創(chuàng)建數(shù)據(jù)表;第二步、存儲數(shù)據(jù)到創(chuàng)建的數(shù)據(jù)表中。
2.如權(quán)利要求1所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于所述創(chuàng)建數(shù)據(jù)表又包括 以下步驟第一步、創(chuàng)建數(shù)據(jù)存儲主表; 第二步、在字典表記錄該數(shù)據(jù)存儲主表的基本信息; 第三步、同步更新內(nèi)存中緩存的字典表信息; 第四步、創(chuàng)建附屬表。
3.如權(quán)利要求2所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于在創(chuàng)建數(shù)據(jù)表前需要先 檢測字典信息,如果該表存在,則退出建表過程并返回給用戶提示信息。
4.如權(quán)利要求3所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于所述基本信息包括各列 名稱,類型,數(shù)據(jù)塊時間跨度,該表存儲數(shù)據(jù)的總時間范圍。
5.如權(quán)利要求1所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于所述存儲數(shù)據(jù)到創(chuàng)建的 數(shù)據(jù)表中又包括以下步驟第一步、檢查表檢測要寫的表是否已經(jīng)建立,如果未建立,則不允許寫數(shù)據(jù),CPD系統(tǒng) 報錯;第二步、修改相關(guān)信息修改表文件中的一些信息,按表規(guī)則組織數(shù)據(jù),寫數(shù)據(jù)到數(shù)據(jù) 存儲主表、附屬表中;第三步、同步字典信息及字典緩存修改字典表中關(guān)于該數(shù)據(jù)存儲主表的相關(guān)信息,同 步更新緩存的字典信息。
6.一種如權(quán)利要求5所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于在同步字典信息及 字典緩存后,還可進(jìn)行緩存寫數(shù)據(jù)。
7.一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其特征 在于,應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)查詢數(shù)據(jù)時,包括以下步驟第一步、檢測字典表信息,找到對應(yīng)的表; 第二步、根據(jù)查詢時間范圍確定要讀取的“塊”; 第三步、檢測緩存中是否有對應(yīng)的“塊”存在;第四步、若存在對應(yīng)的“塊”,則對數(shù)據(jù)塊中數(shù)據(jù),根據(jù)檢索需求進(jìn)行過濾; 第五步、返回獲取的數(shù)據(jù)。
8.如權(quán)利要求7所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于若無對應(yīng)的“塊”存在,則 從表文件中讀取。
9.如權(quán)利要求7所述的數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,其特征在于對檢索獲取的數(shù)據(jù)提供 可配置的緩存功能。
10.一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其特征 在于,應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)刪除數(shù)據(jù)時,包括以下步驟第一步、刪除該表的附屬表; 第二步、刪除數(shù)據(jù)存儲主表;第三步、刪除對應(yīng)的字典表中的信息;第四步、同步緩存的字典信息。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)存儲系統(tǒng)應(yīng)用方法,該數(shù)據(jù)存儲系統(tǒng)以“表”的方式組織存儲數(shù)據(jù),其中,應(yīng)用所述數(shù)據(jù)存儲系統(tǒng)存儲數(shù)據(jù)時,包括以下步驟第一步、創(chuàng)建數(shù)據(jù)表;第二步、存儲數(shù)據(jù)到創(chuàng)建的數(shù)據(jù)表中。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是數(shù)據(jù)存儲量大、功能簡單、工作流程簡潔,且具有更高的讀寫速率。
文檔編號G06F17/30GK101853278SQ20101017584
公開日2010年10月6日 申請日期2010年5月19日 優(yōu)先權(quán)日2010年5月19日
發(fā)明者何澤華, 彭寶, 胡斌 申請人:蘇州邁科網(wǎng)絡(luò)安全技術(shù)有限公司