欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種只讀內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng)的制作方法

文檔序號:8905275閱讀:475來源:國知局
一種只讀內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明屬于計算機及數(shù)據(jù)庫技術領域中的內存數(shù)據(jù)庫,具體而言,設及一種只讀 內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng)。
【背景技術】
[0002] 內存數(shù)據(jù)庫是將數(shù)據(jù)駐留在主存儲器的數(shù)據(jù)庫系統(tǒng)。相對于磁盤,內存的數(shù)據(jù)讀 寫速率高得多,因此內存數(shù)據(jù)庫具有比傳統(tǒng)磁盤數(shù)據(jù)庫性能好的多的優(yōu)點,內存數(shù)據(jù)庫也 因此得到了廣泛的使用。
[0003] 在大數(shù)據(jù)分析、商業(yè)智能即0LAP的nlineAnal^icalProcessing,聯(lián)機分析處 理)的使用場景下,內存數(shù)據(jù)庫的訪問特性和DW值ataWarehouse,數(shù)據(jù)倉庫)類似,通常 表中的數(shù)據(jù)是批量裝入的,不需要一條一條地插入;表中的數(shù)據(jù)通常不需要需修改;查詢 通常需要遍歷表的全部數(shù)據(jù);表中數(shù)據(jù)不再使用時是批量刪除的,不需要一條一條地刪除。 在大數(shù)據(jù)分析、商業(yè)智能使用場景下內存數(shù)據(jù)庫的大批量數(shù)據(jù)處理的特征非常明顯。而內 存數(shù)據(jù)庫為支持記錄的一條一條地處理,如插入、修改、刪除功能,需保證數(shù)據(jù)的一致性,而 一致性保證降低了內存數(shù)據(jù)庫系統(tǒng)的使用并發(fā)度和性能,不太適合在大數(shù)據(jù)分析、商業(yè)智 能場景下使用。

【發(fā)明內容】

[0004] 為了更好地滿足商業(yè)智能場景下內存數(shù)據(jù)庫的使用需求,本發(fā)明提出一種只讀內 存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng)。
[0005] -種只讀內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng),其特征在于W大批量數(shù)據(jù)處理的方式為 主。包括:
[0006] (1)將數(shù)據(jù)批量加載到內存表中;
[0007] (2)遍歷表的全部數(shù)據(jù)W實現(xiàn)條件查詢、聚合運算;
[000引 (3)表中的數(shù)據(jù)批量卸載;
[0009] (4)不支持表中記錄逐條加載或刪除;
[0010] (5)不支持表中數(shù)據(jù)的更新操作。
[0011] 一種只讀內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng),包括模塊及內存組織:
[0012] 模塊完成特定功能,如圖1所示。
[0013] 連接監(jiān)聽模塊,用于在特定的TCP端口上監(jiān)聽、等待客戶端發(fā)起連接請求,在系統(tǒng) 配置的最大連接數(shù)未到達時接受連接,并把連接描述符寫入到傳遞連接描述符用的共享隊 列,供多個計算模塊搶奪并為之提供終生的數(shù)據(jù)查詢服務。連接傳遞過程如圖3所示。
[0014] 運行監(jiān)控模塊,用于診斷只讀內存數(shù)據(jù)庫系統(tǒng)的運行健康狀況。在運行時每1秒 鐘采集一次所有計算模塊的執(zhí)行S化計數(shù)、S化快照,并WUDP包的形式發(fā)送給配置的監(jiān) 控主機特定端口。運行監(jiān)控模塊還可W接收UDP的監(jiān)控命令,按要求采集數(shù)據(jù)并W約定的 格式進行反饋。
[00巧]HA保證模塊,用于和本機的另一個名為guard的守護進程通信w便在只讀內存數(shù) 據(jù)庫失效時,自動重啟,保持只讀內存數(shù)據(jù)庫系統(tǒng)的高可用性。HA保證模塊和guard守護進 程通信方式是HA保證模塊每1秒鐘將共享內存中的一個屯、跳計數(shù)器減1。守護進程guard 每秒將該個計數(shù)器加1,如果guard發(fā)現(xiàn)計數(shù)器值大于等于2則說明只讀內存數(shù)據(jù)庫已經失 效,該時便重新生成只讀內存數(shù)據(jù)庫進程,保證只讀內存數(shù)據(jù)庫進程一直存在并有效工作。 HA保證模塊和guard守護進程對屯、跳計數(shù)器的修改是互斥進行的。
[0016] 統(tǒng)一日志模塊,用于收集只讀內存數(shù)據(jù)庫系統(tǒng)中其他模塊準備寫到日志文件的日 志,集中、緩沖地寫出到日志文件,減少寫盤的次數(shù)。統(tǒng)一日志模塊還負責監(jiān)控日志文件的 尺寸,根據(jù)配置的日志文件大小、循環(huán)保留的文件個數(shù),自動的輪換寫入的日志文件并清理 過期的日志文件,避免日志文件占用空間不斷生長,降低維護工作量。日志的收集及統(tǒng)一緩 沖寫出過程如圖4所示。
[0017] 計算模塊,用于完成針對表進行的所有操作,包括:創(chuàng)建表并批量裝入數(shù)據(jù)、全表 遍歷查詢、卸載表中全部數(shù)據(jù)、刪除表等。計算模塊有n個(n是在配置文件中指定的系統(tǒng) 最大并發(fā)連接數(shù),配置要求n大于等于3)。n個計算模塊執(zhí)行相同的代碼,但服務的連接不 同,在服務過程中所使用的臨時空間不同。計算模塊的真正工作從接收查詢語句開始,之后 解析執(zhí)行查詢語句。實現(xiàn)創(chuàng)建表并批量裝入數(shù)據(jù),實現(xiàn)全表遍歷查詢,實現(xiàn)卸載表中全部數(shù) 據(jù),實現(xiàn)刪除表等操作,即計算模塊的工作是由客戶端查詢請求驅動的。
[0018]內存組織用于存儲系統(tǒng)參數(shù)、系統(tǒng)表、應用表數(shù)據(jù),如圖2所示。其中系統(tǒng)參數(shù)包 括在配置文件中定義的參數(shù),也包括只讀內存數(shù)據(jù)庫為運行時管理而定義、存儲的參數(shù),如 工作目錄、系統(tǒng)時間、系統(tǒng)對象、傳遞描述符的共享隊列等。
[0019] 一種只讀內存數(shù)據(jù)庫的實現(xiàn)方法和系統(tǒng),包括步驟:
[0020] 步驟1,啟動只讀內存數(shù)據(jù)系統(tǒng)
[0021] (1)只讀內存數(shù)據(jù)庫系統(tǒng)啟動并置后臺W守護進程的方式運行;
[0022] (2)只讀內存數(shù)據(jù)庫系統(tǒng)計算工作目錄,確定、讀取并解析配置文件,根據(jù)配置的 參數(shù)生成模塊的執(zhí)行線程。包括生成運行監(jiān)控線程、生成HA保證線程、生成統(tǒng)一日志線程、 循環(huán)生成n個計算線程;
[0023] (3)主線程創(chuàng)建系統(tǒng)表、系統(tǒng)對象并加載元數(shù)據(jù)。元數(shù)據(jù)中包括只讀內存數(shù)據(jù)庫系 統(tǒng)支持的命令、函數(shù)及環(huán)境變量,如表1 ;
[0024]
[00 巧]
[0026] 表1函數(shù)、命令、環(huán)境變量列表
[0027] (4)主線程創(chuàng)建應用表并加載表數(shù)據(jù);
[0028] (5)主線程監(jiān)聽TCP連接端口,成為連接監(jiān)聽線程。
[0029] 步驟2,只讀內存數(shù)據(jù)庫提供查詢服務。本階段持續(xù)的時間較長,根據(jù)需要可W是 幾天、幾個月。
[0030] (1)連接監(jiān)聽線程等待并接受客戶端的連接,把建立好的連接傳遞給計算線程;
[0031] (2)計算線程針對客戶端連接提供終生的表查詢、匯總服務,即不斷地接收客戶端 的查詢請求,解析、執(zhí)行、返回結果集數(shù)據(jù)。計算模塊的運行過程如圖7所示;
[0032] (3)客戶端靜默超時后計算線程關閉連接,計算線程阻塞在讀取描述符的共享隊 列中,在有新客戶端連接請求到來時,阻塞的計算線程可W重新投入服務提供的過程中。
[0033] 步驟3,只讀內存數(shù)據(jù)庫終止服務
[0034] (1)某個客戶端發(fā)送了終止服務命令"halt址3s";
[00巧](2)某個計算線程解析到終止服務命令,設置服務終止標志,清理環(huán)境后調用pt虹ead_exit(0)退出;
[0036] (3)運行監(jiān)控線程、統(tǒng)一日志線程、其他計算線程發(fā)現(xiàn)服務終止標志設置,都清理 環(huán)境后調用pt虹eatexit(O)退出;
[0037] (4)HA保證線程發(fā)現(xiàn)服務終止標志設置,通知guard系統(tǒng)正常退出,阻止自動啟 動,清理環(huán)境后調用pt虹eatexit(O)退出;
[0038] (5)連接監(jiān)聽線程發(fā)現(xiàn)服務終止標志設置,等待所有線程退出,最最后的全局環(huán)境 清理后調用exit(O)退出,只讀內存數(shù)據(jù)庫進程消失,正常退出。
【附圖說明】
[0039] 圖1為只讀內存數(shù)據(jù)庫系統(tǒng)的模塊組成示意圖
[0040] 圖2為只讀內存數(shù)據(jù)庫內存使用示意圖
[0041]
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
利川市| 海城市| 个旧市| 灵宝市| 扶绥县| 观塘区| 罗定市| 大渡口区| 河池市| 滁州市| 鲜城| 藁城市| 浮梁县| 曲沃县| 百色市| 哈尔滨市| 新河县| 清新县| 余姚市| 陇西县| 广饶县| 奎屯市| 建平县| 晴隆县| 岳普湖县| 咸阳市| 叶城县| 镇原县| 华容县| 民权县| 蓬莱市| 高阳县| 蒙山县| 鹰潭市| 顺义区| 巨鹿县| 米易县| 大悟县| 中江县| 昌图县| 得荣县|