專利名稱:內存數(shù)據(jù)庫的管理方法和裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)庫領域中的內存數(shù)據(jù)庫,具體而言,涉及一種內存數(shù)據(jù)庫的管理 方法和裝置。
背景技術:
內存數(shù)據(jù)庫是將數(shù)據(jù)放在內存中操作的數(shù)據(jù)庫。相對于磁盤,內存的數(shù)據(jù)讀寫速 度要高出幾個數(shù)量級,將數(shù)據(jù)保存在內存中相比從磁盤上訪問能夠極大地提高應用的性 能。內存數(shù)據(jù)庫拋棄了磁盤數(shù)據(jù)管理的傳統(tǒng)方式,基于全部數(shù)據(jù)都在內存中重新設計了體 系結構,并且在數(shù)據(jù)緩存、快速算法、并行操作方面也進行了相應的改進,所以數(shù)據(jù)處理速 度比傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)處理速度要快很多,一般都在10倍以上。同時,因內存數(shù)據(jù)庫所有 活動數(shù)據(jù)全部存儲在內存,存在數(shù)據(jù)丟失的風險。如何提高內存數(shù)據(jù)庫的數(shù)據(jù)安全性就成 為內存數(shù)據(jù)庫需要解決的問題。目前已有的解決方案,主要是通過維護主備兩個或多個內存數(shù)據(jù)庫,并通過消息 接口或日志文件來構造一個內存庫的備份數(shù)據(jù),以提高內存數(shù)據(jù)庫的可靠性和安全性。但是,發(fā)明人發(fā)現(xiàn)根據(jù)上述現(xiàn)有技術的解決方案,在對內存數(shù)據(jù)庫中的存儲單元 進行管理時,需要對存儲單元進行操作、且存儲單元彼此可能是不連續(xù)存放的。由于影響磁盤I/O性能的因素主要有兩個單位時間內寫入磁盤的數(shù)據(jù)量,量越 大I/O的壓力越大;寫入磁盤數(shù)據(jù)的離散程度,數(shù)據(jù)越離散磁頭的尋址時間越長,I/O的效 率越差,磁頭尋址效率最高的情況是順序讀寫數(shù)據(jù),因此,現(xiàn)有技術中的內存數(shù)據(jù)庫的管理 方法需要大量的尋址和更新時間,從而降低了磁盤I/O的傳輸速度。此外,根據(jù)上述現(xiàn)有技術的解決方案,需要額外的一個或多個備用設備來承載備 份內存數(shù)據(jù)庫,這樣就提高了系統(tǒng)的成本。同時還需要增加同步接口,來保證兩個或多個內 存數(shù)據(jù)庫數(shù)據(jù)一致,不但增加了內存數(shù)據(jù)庫的邏輯復雜度,同時也降低了其性能。
發(fā)明內容
本發(fā)明的主要目的在于提供一種內存數(shù)據(jù)庫的管理方法和裝置,以至少解決現(xiàn)有 技術中磁盤I/O的傳輸速度較低的問題。根據(jù)本發(fā)明的一個方面,提供了一種內存數(shù)據(jù)庫的管理方法方法,其包括在內存 數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,上述位圖區(qū)中的比特位指示上述記錄存儲區(qū)中 的存儲單元是否空閑;根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。進一步地,根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作包括 當接收到的操作信息指示對上述記錄存儲區(qū)中的第一存儲單元執(zhí)行刪除操作時,將上述位 圖區(qū)中與上述第一存儲單元對應的比特位的值設置成指示上述第一存儲單元空閑,其中, 上述第一存儲單元包括一個或多個存儲單元。進一步地,根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作還包 括當接收到的操作信息指示對上述記錄存儲區(qū)中的第一存儲單元執(zhí)行修改操作時,對上述第一存儲單元執(zhí)行上述刪除操作,再對上述第一存儲單元執(zhí)行插入操作。進一步地,對上述第一存儲單元執(zhí)行插入操作包括按照地址順序查找地址最小 的空閑存儲單元;將修改后的第一存儲單元插入到上述查找到的地址最小的空閑存儲單元 中。進一步地,上述在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)包括按照操作系統(tǒng)頁 劃分上述內存數(shù)據(jù)庫中的記錄存儲區(qū),其中,一個上述操作系統(tǒng)頁對應上述記錄存儲區(qū)中 的一個或多個存儲單元。進一步地,在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)之后,還包括在磁盤上創(chuàng)建 與上述記錄存儲區(qū)和位圖區(qū)相同的記錄存儲區(qū)和位圖區(qū)。進一步地,在根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作之 后,還包括若執(zhí)行管理操作的存儲單元的數(shù)量達到預定的閾值,或者,距離上一次執(zhí)行管 理操作超過預定的時間,則將上述內存數(shù)據(jù)庫中的記錄存儲區(qū)和位圖區(qū)同步到上述磁盤上 的記錄存儲區(qū)和位圖區(qū)。根據(jù)本發(fā)明的另一方面,提供了一種內存數(shù)據(jù)庫的管理裝置,其包括設置單元, 用于在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,上述位圖區(qū)中的比特位指示上述記 錄存儲區(qū)中的存儲單元是否空閑;管理單元,用于根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的 存儲單元執(zhí)行管理操作。進一步地,上述管理單元包括設置模塊,用于當接收到的操作信息指示對上述記 錄存儲區(qū)中的第一存儲單元執(zhí)行刪除操作時,將上述位圖區(qū)中與上述第一存儲單元對應的 比特位的值設置成指示上述第一存儲單元空閑,其中,上述第一存儲單元包括一個或多個 存儲單元。進一步地,上述設置模塊還用于在接收到的操作信息指示對上述記錄存儲區(qū)中的 第一存儲單元執(zhí)行修改操作時,對上述第一存儲單元執(zhí)行上述刪除操作;上述管理單元還 包括查找模塊,用于在接收到的操作信息指示對上述記錄存儲區(qū)中的第一存儲單元執(zhí)行 修改操作時,按照地址順序查找地址最小的空閑存儲單元;插入模塊,用于將修改后的第一 存儲單元插入到上述查找到的地址最小的空閑存儲單元中。通過本發(fā)明,采用了位圖區(qū)來指示內存數(shù)據(jù)庫中的存儲單元是否被占用,從而在 對存儲單元進行管理操作時,可以只對位圖區(qū)進行操作,而不對存儲單元進行操作,從而減 少了尋址和更新的時間,解決現(xiàn)有技術中磁盤I/O的傳輸速度較低的問題。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理方法的流程圖;圖2是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理裝置的一種優(yōu)選的結構示意圖;圖3是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理裝置的另一種優(yōu)選的結構示意圖。
具體實施例方式下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。實施例1圖1是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理方法的流程圖,其包括如下步驟S102,在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,上述位圖區(qū)中的比特位指 示上述記錄存儲區(qū)中的存儲單元是否空閑;S104,根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。通過本發(fā)明,采用了位圖區(qū)來指示內存數(shù)據(jù)庫中的存儲單元是否被占用,從而在 對存儲單元進行管理操作時,可以只對位圖區(qū)進行操作,而不對存儲單元進行操作,從而減 少了尋址和更新的時間,解決現(xiàn)有技術中磁盤I/O的傳輸速度較低的問題。優(yōu)選的,根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作包括當 接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行刪除操作時,將所述位圖 區(qū)中與所述第一存儲單元對應的比特位的值設置成指示所述第一存儲單元空閑,其中,所 述第一存儲單元包括一個或多個存儲單元。也就是說,在執(zhí)行存儲單元的刪除操作時,并沒 有實際刪除該存儲單元中的數(shù)據(jù),而是將所述位圖區(qū)中與該存儲單元對應的比特位的值設 置成指示所述第一存儲單元空閑。通過本實施例中的方法,將刪除操作需要同步的數(shù)據(jù)量 縮小到一個或多個比特位,從而減少了 I/O的數(shù)據(jù)量,提高了磁盤I/O的傳輸速度。例如,比特位的值為0時,表示其所對應的存儲單元空閑;比特位的值為1時,表示 其所對應的存儲單元被占用。當執(zhí)行第一存儲單元的刪除操作時,將與第一存儲單元對應 的比特位置0,而不刪除第一存儲單元中的數(shù)據(jù)。優(yōu)選的,根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作還包括 當接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行修改操作時,對所述第 一存儲單元執(zhí)行所述刪除操作,再對所述第一存儲單元執(zhí)行插入操作。通過本實施例中的 方法,減少了執(zhí)行修改操作時的I/O的數(shù)據(jù)量,進一步提高了磁盤I/O的傳輸速度。優(yōu)選的,對所述第一存儲單元執(zhí)行插入操作包括按照地址順序查找地址最小的 空閑存儲單元;將修改后的第一存儲單元插入到所述查找到的地址最小的空閑存儲單元 中。通過本實施例中,按照地址順序遞增優(yōu)先尋找空閑存儲單元,這樣,就保證了記錄存儲 區(qū)內的數(shù)據(jù)更新趨于集中到連續(xù)的地址范圍內,縮短了尋址的時間,繼而提高同步磁盤的 效率。優(yōu)選的,所述在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)包括按照操作系統(tǒng)頁劃 分所述內存數(shù)據(jù)庫中的記錄存儲區(qū),其中,一個所述操作系統(tǒng)頁對應所述記錄存儲區(qū)中的 一個或多個存儲單元。通過本實施例,以操作系統(tǒng)頁為單元劃分存儲單元,有利于提高操作 系統(tǒng)的管理效率。優(yōu)選的,在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)之后,還包括在磁盤上創(chuàng)建與 所述記錄存儲區(qū)和位圖區(qū)相同的記錄存儲區(qū)和位圖區(qū)。通過本實施例,將內存數(shù)據(jù)庫中的 記錄存儲區(qū)和位圖區(qū)同步映射到磁盤中,進一步保證了內存中數(shù)據(jù)的安全性。優(yōu)選的,在根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作之后, 還包括若執(zhí)行管理操作的存儲單元的數(shù)量達到預定的閾值,或者,距離上一次執(zhí)行管理操 作超過預定的時間,則將所述內存數(shù)據(jù)庫中的記錄存儲區(qū)和位圖區(qū)同步到所述磁盤上的記 錄存儲區(qū)和位圖區(qū)。通過本實施例,可以靈活地控制同步的時間。
實施例2在本實施例中,內存數(shù)據(jù)的管理方法包括以下步驟Si,在內存數(shù)據(jù)庫創(chuàng)建多個內存表,每個內存表包含記錄存儲區(qū)與位圖區(qū),其中, 記錄存儲區(qū)使用存儲單元保存內存表中的數(shù)據(jù)記錄,位圖區(qū)用于保存記錄存儲區(qū)中存儲單 元的使用情況,位圖區(qū)用一個BIT位表示一條存儲單元的使用情況。S2,在磁盤上創(chuàng)建內存數(shù)據(jù)庫的內存表的對應存儲文件。優(yōu)選的,磁盤上的存儲文 件包括內存表的記錄存儲區(qū)中的數(shù)據(jù)、位圖區(qū)中的數(shù)據(jù)、控制信息,其中,控制信息包括以 下信息之一內存表記錄長度、版本信息、記錄存儲區(qū)的偏移、位圖區(qū)的偏移。S3,創(chuàng)建磁盤上的存儲文件與內存數(shù)據(jù)庫的內存表之間的映射,內存數(shù)據(jù)庫通過 內存指針對磁盤上的存儲文件進行訪問。優(yōu)選的,每個內存表可以對應一個內存文件映射 區(qū),或者,多個內存表對應一個內存文件映射區(qū)。S4,當修改映射內存文件映射區(qū)時,即完成一次同步磁盤的操作。在本發(fā)明中,內 存文件映射區(qū)就相當于磁盤文件,對該映射區(qū)的修改即是對磁盤文件的修改。S5,當對內存中的存儲單元進行修改時,在內存中創(chuàng)建臟數(shù)據(jù)緩沖區(qū),其中,臟數(shù) 據(jù)緩沖區(qū)用于記錄對應內存表的臟數(shù)據(jù)(即,被修改的存儲單元中的數(shù)據(jù))。優(yōu)選的,臟數(shù) 據(jù)包括以下至少之一內粗表ID、內存表插入的新數(shù)據(jù)、內存表修改的數(shù)據(jù)、臟數(shù)據(jù)在內存 表數(shù)據(jù)區(qū)的偏移、臟數(shù)的長度、內存表的位圖區(qū)。優(yōu)選的,每個內存表可以對應一個臟數(shù)據(jù) 緩沖區(qū),或者,多個內存表對應一個臟數(shù)據(jù)緩沖區(qū)。S6,當對內存表執(zhí)行增加、刪除、修改操作時,將變動的數(shù)據(jù)寫入臟數(shù)據(jù)緩沖區(qū)。S7,當臟數(shù)據(jù)區(qū)存儲的臟數(shù)據(jù)達到閾值,或者距離上一次修改內存文件映射區(qū)的 時間間隔超過閾值時,則執(zhí)行一次臟數(shù)據(jù)區(qū)到磁盤上的文件映射區(qū)的數(shù)據(jù)同步。優(yōu)選的,臟數(shù)據(jù)區(qū)到文件映射區(qū)的數(shù)據(jù)同步,逐一讀取臟數(shù)據(jù)記錄,根據(jù)內存表 ID、臟數(shù)據(jù)偏移、臟數(shù)據(jù)長度將臟數(shù)據(jù)記錄拷貝到文件映射區(qū)對應的偏移位置;臟數(shù)據(jù)區(qū)內 的位圖數(shù)據(jù)直接整體拷貝到文件映射區(qū)的位圖數(shù)據(jù)區(qū)。S8,臟數(shù)據(jù)區(qū)的所有記錄都同步到文件映射區(qū)后,將臟數(shù)據(jù)區(qū)清空。在本實施例中,為了降低同步磁盤的數(shù)據(jù)總量。內存表管理增加了位圖區(qū),該區(qū)通 過BIT位標識一個內存表存儲單元的占用與否。當執(zhí)行內存表存儲記錄刪除時,只需要更 新一個或多個BIT位,這樣避免了對實際存儲單元的清除處理。從而將刪除操作需要同步 的數(shù)據(jù)量縮小到一個BIT位,減少了系I/O傳輸?shù)臄?shù)據(jù)量,提高了 I/O的傳輸速度。為了提高磁盤的尋址效率,將內存表的數(shù)據(jù)修改請求,變更為刪除操作與插入操 作。即,先執(zhí)行上述的刪除操作,然后,在對修改后的數(shù)據(jù)進行插入操作。在執(zhí)行插入操作過 程中,按照地址順序遞增優(yōu)先尋找空閑存儲單元(例如,尋找地址最小的空閑存儲單元), 然后,將修改后的數(shù)據(jù)插入到所尋找到的空閑存儲單元中。這樣就保證了記錄存儲區(qū)內的 更新后的存儲單元集中到連續(xù)的地址范圍內,繼而提高同步磁盤的效率。當內存數(shù)據(jù)庫重新啟動時,首先檢查磁盤同步的完整性與正確性,包括檢查文件 的版本、內存記錄長度、校驗信息等。當檢查通過后,根據(jù)文件內的控制信息加載文件內的 位圖區(qū)數(shù)據(jù)、記錄數(shù)據(jù)區(qū)數(shù)據(jù)在內存表的位圖區(qū)和記錄數(shù)據(jù)區(qū)。最后根據(jù)位圖區(qū)占用標識, 逐一掃描記錄數(shù)據(jù)區(qū),重新創(chuàng)建內存表的索引。實施例3
7
本發(fā)明還提供了一種內存數(shù)據(jù)庫的管理裝置的實施例,其可以使用上述實施1-2 中的管理方法來對內存數(shù)據(jù)庫中的數(shù)據(jù)進行管理。圖2是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理裝置的一種優(yōu)選的結構示意圖,其 包括設置單元202,用于在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,所述位圖區(qū)中 的比特位指示所述記錄存儲區(qū)中的存儲單元是否空閑;管理單元204,用于根據(jù)所述位圖 區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。通過本發(fā)明,采用了位圖區(qū)來指示內存數(shù)據(jù)庫中的存儲單元是否被占用,從而在 對存儲單元進行管理操作時,可以只對位圖區(qū)進行操作,而不對存儲單元進行操作,從而減 少了尋址和更新的時間,解決現(xiàn)有技術中磁盤I/O的傳輸速度較低的問題。優(yōu)選的,所述管理單元包括204 設置模塊2041,用于當接收到的操作信息指示對 所述記錄存儲區(qū)中的第一存儲單元執(zhí)行刪除操作時,將所述位圖區(qū)中與所述第一存儲單元 對應的比特位的值設置成指示所述第一存儲單元空閑,其中,所述第一存儲單元包括一個 或多個存儲單元。也就是說,在執(zhí)行存儲單元的刪除操作時,并沒有實際刪除該存儲單元中 的數(shù)據(jù),而是將所述位圖區(qū)中與該存儲單元對應的比特位的值設置成指示所述第一存儲單 元空閑。通過本實施例中的方法,將刪除操作需要同步的數(shù)據(jù)量縮小到一個或多個比特位, 從而減少了 I/O的數(shù)據(jù)量,提高了磁盤I/O的傳輸速度。優(yōu)選的,所述設置模塊2041還用于在接收到的操作信息指示對所述記錄存儲區(qū) 中的第一存儲單元執(zhí)行修改操作時,對所述第一存儲單元執(zhí)行所述刪除操作;所述管理單 元204還包括查找模塊2042,用于在接收到的操作信息指示對所述記錄存儲區(qū)中的第一 存儲單元執(zhí)行修改操作時,按照地址順序查找地址最小的空閑存儲單元;插入模塊2043, 用于在設置模塊2041對所述第一存儲單元執(zhí)行所述刪除操作之后,將修改后的第一存儲 單元插入到所述查找到的地址最小的空閑存儲單元中。通過本實施例中,按照地址順序遞 增優(yōu)先尋找空閑存儲單元,這樣,就保證了記錄存儲區(qū)內的數(shù)據(jù)更新趨于集中到連續(xù)的地 址范圍內,繼而提高同步磁盤的效率。優(yōu)選的,所述在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)包括按照操作系統(tǒng)頁劃 分所述內存數(shù)據(jù)庫中的記錄存儲區(qū),其中,一個所述操作系統(tǒng)頁對應所述記錄存儲區(qū)中的 一個或多個存儲單元。通過本實施例,以操作系統(tǒng)頁為單元劃分存儲單元,有利于提高操作 系統(tǒng)的管理效率。優(yōu)選的,在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū)之后,上述內存數(shù)據(jù)庫的管理 裝置在磁盤上創(chuàng)建與所述記錄存儲區(qū)和位圖區(qū)相同的記錄存儲區(qū)和位圖區(qū)。通過本實施 例,將內存數(shù)據(jù)庫中的記錄存儲區(qū)和位圖區(qū)同步映射到磁盤中,進一步保證了內存中數(shù)據(jù) 的安全性。優(yōu)選的,在根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作之后, 若執(zhí)行管理操作的存儲單元的數(shù)量達到預定的閾值,或者,距離上一次執(zhí)行管理操作超過 預定的時間,上述內存數(shù)據(jù)庫的管理裝置將所述內存數(shù)據(jù)庫中的記錄存儲區(qū)和位圖區(qū)同步 到所述磁盤上的記錄存儲區(qū)和位圖區(qū)。通過本實施例,可以靈活地控制同步的時間。實施例4圖3是根據(jù)本發(fā)明實施例的內存數(shù)據(jù)庫的管理裝置的另一種優(yōu)選的結構示意圖, 其包括配置管理單元302、初始化管理單元304、內存表管理單元306、文件映射管理單元
8308、內存數(shù)據(jù)區(qū)310、內存文件映射區(qū)312以及映射文件314。上述元件的連接關系如圖3 所示。配置管理單元302實現(xiàn)內存數(shù)據(jù)庫信息配置管理,包括內存表大小、磁盤映射文 件的存儲路徑等;初始化管理單元304實現(xiàn)內存數(shù)據(jù)庫進程創(chuàng)建、內存空間申請以及通知內存表管 理單元與文件映射管理單元創(chuàng)建內存表與創(chuàng)建映射區(qū)等;內存表管理單元306實現(xiàn)內存表的創(chuàng)建以及對外提供內存表訪問接口,如內存表 查詢、修改、刪除等;文件映射管理單元308實現(xiàn)內存文件映射區(qū)的創(chuàng)建以及臟數(shù)據(jù)同步到磁盤文件 的管理;內存數(shù)據(jù)區(qū)310保存內存表以及臟數(shù)據(jù)區(qū);內存文件映射區(qū)312為磁盤文件在數(shù)據(jù)庫進程內存的內存文件映射;映射文件314為內存數(shù)據(jù)庫各個內存表在磁盤的同步文件。上述幾個管理單元具體實現(xiàn)既可以合一設置,也能夠以獨立的進程方式實現(xiàn),具 體實施時可以根據(jù)設計需要靈活選擇組織方式。本實施例中的內存數(shù)據(jù)庫的管理裝置采用內存文件映射實現(xiàn)內存表數(shù)據(jù)到磁盤 的快速同步,提高了內存數(shù)據(jù)庫的數(shù)據(jù)安全性;并且無需進行主備內存數(shù)據(jù)庫數(shù)據(jù)同步,降 低了設備成本和設備維護復雜度。此外,還提供內存表位圖管理、數(shù)據(jù)修改操作轉換處理、 空閑存儲單元按照地址順序尋址管理,進一步提高了數(shù)據(jù)庫磁盤同步性能。綜上所述,采用本發(fā)明所述方案,可以有效提高全內存數(shù)據(jù)庫的容災能力和磁盤 同步能力,具有很強的通用性。本發(fā)明已在短消息中心系統(tǒng)中應用,起到明顯的優(yōu)化作用。顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示 出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或 步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技 術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
9
權利要求
一種內存數(shù)據(jù)庫的管理方法,其特征在于,包括在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,所述位圖區(qū)中的比特位指示所述記錄存儲區(qū)中的存儲單元是否空閑;根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。
2.根據(jù)權利要求1所述的方法,其特征在于,根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的 存儲單元執(zhí)行管理操作包括當接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行刪除操作時,將所 述位圖區(qū)中與所述第一存儲單元對應的比特位的值設置成指示所述第一存儲單元空閑,其 中,所述第一存儲單元包括一個或多個存儲單元。
3.根據(jù)權利要求2所述的方法,其特征在于,根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的 存儲單元執(zhí)行管理操作還包括當接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行修改操作時,對所 述第一存儲單元執(zhí)行所述刪除操作,再對所述第一存儲單元執(zhí)行插入操作。
4.根據(jù)權利要求3所述的方法,其特征在于,所述對所述第一存儲單元執(zhí)行插入操作 包括按照地址順序查找地址最小的空閑存儲單元;將修改后的第一存儲單元插入到所述查找到的地址最小的空閑存儲單元中。
5.根據(jù)權利要求1所述的方法,其特征在于,所述在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和 位圖區(qū)包括按照操作系統(tǒng)頁劃分所述內存數(shù)據(jù)庫中的記錄存儲區(qū),其中,一個所述操作系統(tǒng)頁對 應所述記錄存儲區(qū)中的一個或多個存儲單元。
6.根據(jù)權利要求1所述的方法,其特征在于,在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖 區(qū)之后,還包括在磁盤上創(chuàng)建與所述記錄存儲區(qū)和位圖區(qū)相同的記錄存儲區(qū)和位圖區(qū)。
7.根據(jù)權利要求6所述的方法,其特征在于,在根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中 的存儲單元執(zhí)行管理操作之后,還包括若執(zhí)行管理操作的存儲單元的數(shù)量達到預定的閾值,或者,距離上一次執(zhí)行管理操作 超過預定的時間,則將所述內存數(shù)據(jù)庫中的記錄存儲區(qū)和位圖區(qū)同步到所述磁盤上的記錄 存儲區(qū)和位圖區(qū)。
8.—種內存數(shù)據(jù)庫的管理裝置,其特征在于,包括設置單元,用于在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,所述位圖區(qū)中的比特 位指示所述記錄存儲區(qū)中的存儲單元是否空閑;管理單元,用于根據(jù)所述位圖區(qū)對所述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。
9.根據(jù)權利要求8所述的裝置,其特征在于,所述管理單元包括設置模塊,用于當接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行刪 除操作時,將所述位圖區(qū)中與所述第一存儲單元對應的比特位的值設置成指示所述第一存 儲單元空閑,其中,所述第一存儲單元包括一個或多個存儲單元。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述設置模塊還用于在接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行修改操作時,對所述第一存儲單元執(zhí)行所 述刪除操作;所述管理單元還包括查找模塊,用于在接收到的操作信息指示對所述記錄存儲區(qū)中的第一存儲單元執(zhí)行修 改操作時,按照地址順序查找地址最小的空閑存儲單元;插入模塊,用于將修改后的第一存儲單元插入到所述查找到的地址最小的空閑存儲單 元中。
全文摘要
本發(fā)明公開了一種內存數(shù)據(jù)庫的管理方法和裝置,其中,該內存數(shù)據(jù)庫的管理方法包括在內存數(shù)據(jù)庫中設置記錄存儲區(qū)和位圖區(qū),其中,上述位圖區(qū)中的比特位指示上述記錄存儲區(qū)中的存儲單元是否空閑;根據(jù)上述位圖區(qū)對上述記錄存儲區(qū)中的存儲單元執(zhí)行管理操作。本發(fā)明減少了尋址和更新的時間,解決現(xiàn)有技術中磁盤I/O的傳輸速度較低的問題。
文檔編號G06F17/30GK101916290SQ20101026272
公開日2010年12月15日 申請日期2010年8月18日 優(yōu)先權日2010年8月18日
發(fā)明者李學領 申請人:中興通訊股份有限公司