本發明專利技術涉及一種緩存數據的存儲方法及系統及讀取方法,其存儲方法,包括以下步驟:步驟1:創建用于存放數據塊的緩存庫;步驟2:在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲在緩存庫中;步驟3:為緩存表建立索引表,將索引表存入緩存庫;步驟4:定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數據類型;步驟5:接收數據,將數據中每個字段的內容按照數據類型寫入數據記錄,依次將數據記錄寫入緩存表;步驟6:將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩存表,結束。在寫入后還采用壓縮技術對內存塊進行壓縮,減少內存占用的空間,也便于在網絡上傳輸。
【技術實現步驟摘要】
本專利技術涉及,屬于通信
。
技術介紹
Ehcache本身含有緩存數據組織方式,為KEY-VALUE方式,不支持類似關系數據庫 方式的存儲,不支持樹形的數據結構存儲方式。本方法提供一種新的內存內數據組織方式, 采用樹形,類關系數據庫方式的結構存儲內存數據,便于內存數據的組織和篩選等操作。 Ehcache : Java緩存框架EhCache EhCache是一個純Java的進程內緩存框架,具 有快速、精干等特點。 KEY-VALUE :key-Value分布式存儲系統查詢速度快、存放數據量大、支持高并發, 非常適合通過主鍵進行查詢,但不能進行復雜的條件查詢。
技術實現思路
本專利技術所要解決的技術問題是提供一種可以存儲復雜的數據結構的緩存數據存 儲方法。 本專利技術解決上述技術問題的技術方案如下:一種緩存數據的存儲方法,具體包括 以下步驟: 步驟1 :創建用于存放數據塊的緩存庫; 步驟2 :在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲在緩存庫中; 步驟3 :為緩存表建立索引表,將索引表存入緩存庫; 步驟4 :定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數據類型; 步驟5 :接收數據,將數據中每個字段的內容按照數據類型寫入數據記錄,依次將 數據記錄寫入緩存表; 步驟6 :將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩存表,結束。 本專利技術的有益效果是:本專利技術實現緩存寫入采用類似關系數據庫的數據存儲結 構,并在分配內存時候采用動態分配的方式,減少了內存浪費和內存碎塊的產生。同時,在 寫入后還采用壓縮技術對內存塊進行壓縮,減少內存占用的空間,也便于在網絡上傳輸。 在上述技術方案的基礎上,本專利技術還可以做如下改進。 進一步,所述數據類型包括String、Int、Char、Long、Float和Clob等數據類型。 進一步,所述緩存表在緩存庫中采用動態分配內存的方式存在。 本專利技術所要解決的技術問題是提供一種可以存儲復雜的數據結構的緩存數據存 儲系統。 本專利技術解決上述技術問題的技術方案如下:一種緩存數據的存儲系統,包括緩存 庫創建模塊、緩存表創建模塊、索引模塊、定義模塊、接收模塊和壓縮存儲模塊; 所述緩存庫創建模塊創建用于存放數據塊的緩存庫; 所述緩存表創建模塊在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲 在緩存庫中; 所述索引模塊為緩存表建立索引表,將索引表存入緩存庫; 所述定義模塊用于定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數 據類型; 所述接收模塊用于接收數據,將數據中每個字段的內容按照數據類型寫入數據記 錄,依次將數據記錄寫入緩存表; 所述壓縮存儲模塊用于將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩 存表。 本專利技術的有益效果是:本專利技術實現緩存寫入采用類似關系數據庫的數據存儲結 構,并在分配內存時候采用動態分配的方式,減少了內存浪費和內存碎塊的產生。同時,在 寫入后還采用壓縮技術對內存塊進行壓縮,減少內存占用的空間,也便于在網絡上傳輸。 在上述技術方案的基礎上,本專利技術還可以做如下改進。 進一步,所述數據類型包括String、Int、Char、Long、Float和Clob等數據類型。 進一步,所述緩存表在緩存庫中采用動態分配內存的方式存在。 本專利技術解決上述技術問題的技術方案如下:一種緩存數據的讀取方法,具體包括 以下步驟: 步驟1 :加載緩存庫; 步驟2 :讀取緩存庫中的索引表; 步驟3 :根據索引表得到對應的緩存表; 步驟4 :從緩存表中得到壓縮文件; 步驟5 :對壓縮文件進行解壓得到數據記錄和數據類型; 步驟6 :將數據記錄按照數據類型進行解析,得到數據和數據中每個字段的內容。 【附圖說明】 圖1為本專利技術所述的一種緩存數據的存儲方法流程圖; 圖2為本專利技術所述的一種緩存數據的存儲系統結構框圖; 圖3為本專利技術所述的一種緩存數據的讀取方法流程圖。 附圖中,各標號所代表的部件列表如下: 1、緩存庫創建模塊,2、緩存表創建模塊,3、索引模塊,4、定義模塊,5、接收模塊,6、 壓縮存儲模塊。 【具體實施方式】 以下結合附圖對本專利技術的原理和特征進行描述,所舉實例只用于解釋本專利技術,并 非用于限定本專利技術的范圍。 如圖1所示,本專利技術所述的一種緩存數據的存儲方法,具體包括以下步驟: 步驟1 :創建用于存放數據塊的緩存庫; 步驟2 :在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲在緩存庫中; 步驟3 :為緩存表建立索引表,將索引表存入緩存庫; 步驟4 :定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數據類型; 步驟5 :接收數據,將數據中每個字段的內容按照數據類型寫入數據記錄,依次將 數據記錄寫入緩存表; 步驟6 :將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩存表,結束。 所述數據類型包括String、Int、Char、Long、Float和Clob等數據類型。 所述緩存表在緩存庫中采用動態分配內存的方式存在。 如圖2所示,本專利技術所述的一種緩存數據的存儲系統,包括緩存庫創建模塊1、緩 存表創建模塊2、索引模塊3、定義模塊4、接收模塊5和壓縮存儲模塊6 ; 所述緩存庫創建模塊1創建用于存放數據塊的緩存庫; 所述緩存表創建模塊2在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存 儲在緩存庫中; 所述索引模塊3為緩存表建立索引表,將索引表存入緩存庫; 所述定義模塊4用于定義每個緩存表中的數據記錄的個數和每個緩存表中存儲 數據類型; 所述接收模塊5用于接收數據,將數據中每個字段的內容按照數據類型寫入數據 記錄,依次將數據記錄寫入緩存表; 所述壓縮存儲模塊6用于將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入 緩存表。 所述數據類型包括String、Int、Char、Long、Float和Clob等數據類型。 所述緩存表在緩存庫中采用動態分配內存的方式存在。 如圖3所示,本專利技術所述的一種緩存數據的讀取方法,具體包括以下步驟: 步驟1:加載緩存庫; 步驟2 :讀取緩存庫中的索引表; 步驟3 :根據索引表得到對應的緩存表; 步驟4 :從緩存表中得到壓縮文件; 步驟5 :對壓縮文件進行解壓得到數據記錄和數據類型; 步驟6 :將數據記錄按照數據類型進行解析,得到數據和數據中每個字段的內容。 采用分層方式把數據層分為:庫、表、記錄、基礎數據項Item,其中基礎數據項有 String, Int,Char, Long, Float, Clob等類型。現在分別對緩存寫入,緩存讀取進行說明。 緩存寫入: 第一步,創建緩存存放庫,用于存放緩存數據塊。 第二步,創建緩存表,以數據塊方式存在,其中數據塊采用動態分配空間形式,節 省了緩存空間,并減少了內存碎塊。 第三步,創建緩存表索引,本方法后續會自動維護該索引,使內存數據獲取更加快 速。 第四步,定義緩存表的列數,以及每列字段的數據類型本文檔來自技高網...
【技術保護點】
一種緩存數據的存儲方法,其特征在于,具體包括以下步驟:步驟1:創建用于存放數據塊的緩存庫;步驟2:在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲在緩存庫中;步驟3:為緩存表建立索引表,將索引表存入緩存庫;步驟4:定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數據類型;步驟5:接收數據,將數據中每個字段的內容按照數據類型寫入數據記錄,依次將數據記錄寫入緩存表;步驟6:將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩存表,結束。
【技術特征摘要】
1. 一種緩存數據的存儲方法,其特征在于,具體包括以下步驟: 步驟1 :創建用于存放數據塊的緩存庫; 步驟2 :在緩存庫內創建多個緩存表,所述緩存表以數據塊形式存儲在緩存庫中; 步驟3 :為緩存表建立索引表,將索引表存入緩存庫; 步驟4 :定義每個緩存表中的數據記錄的個數和每個緩存表中存儲數據類型; 步驟5 :接收數據,將數據中每個字段的內容按照數據類型寫入數據記錄,依次將數據 記錄寫入緩存表; 步驟6 :將數據記錄進行壓縮得到壓縮文件,并將壓縮文件存入緩存表,結束。2. 根據權利要求1所述的一種緩存數據的存儲方法,其特征在于,所述數據類型包括 String、Int、Char、Long、Float 和 Clob 等數據類型。3. 根據權利要求1或2所述的一種緩存數據的存儲方法,其特征在于,所述緩存表在緩 存庫中采用動態分配內存的方式存在。4. 一種緩存數據的存儲系統,其特征在于,包括緩存庫創建模塊、緩存表創建模塊、索 引模塊、定義模塊、接收模塊和壓縮存儲模塊; 所述緩存庫創建模塊創建用于存放數據塊的緩存庫; 所述緩存表創建模塊在緩存庫內創建多個緩存表...
【專利技術屬性】
技術研發人員:李靜,
申請(專利權)人:北京思特奇信息技術股份有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。