国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種嵌入式系統(tǒng)下的sqlite數(shù)據(jù)庫應(yīng)用方法_2

      文檔序號:8361509閱讀:來源:國知局
      源,以實現(xiàn)緩存校驗功能。步驟3.3、將查詢結(jié)果分別映射至內(nèi)存和外部存儲器中的HashMap映射表中,所述HashMap映射表中以鍵和值的成對方式存儲查詢結(jié)果中一一對應(yīng)的索引項和數(shù)據(jù)項,所述HashMap映射表同時存儲與每一個數(shù)據(jù)項對應(yīng)的屬性,所述屬性包括文件ID、表ID、主鍵、數(shù)據(jù)項類型。步驟3.4、將所述待訪問數(shù)據(jù)庫文件從內(nèi)存中清除。其中,HashMap映射表是作為查詢結(jié)果的容器,本發(fā)明中的HashMap映射表不同于現(xiàn)有技術(shù)中的HashMap映射表,為了使用性更強,本發(fā)明中的HashMap映射表不僅僅包括鍵/值對,而且包括每一個數(shù)據(jù)項對應(yīng)的屬性,本發(fā)明的該設(shè)置還可以替換成為值提供的對應(yīng)的類型和一個基于鏈表的屬性列??傊?,通過增強的HashMap映射表使得使用性更強,例如可以通過HashMap映射表直接定位某一數(shù)據(jù)項所在數(shù)據(jù)庫文件,甚至數(shù)據(jù)庫表。
      [0022]在本發(fā)明實施例中,還包括步驟4、當再次訪問SQLITE數(shù)據(jù)庫時,執(zhí)行以下步驟:步驟4.1、在內(nèi)存中緩存的HashMap映射表中快速查找所需訪問的數(shù)據(jù);步驟4.2、如果查找不成功,則返回步驟2。也就是說,在非首次訪問SQLITE數(shù)據(jù)庫的情況下,首先判斷內(nèi)存中緩存的HashMap映射表中是否存在所需查找的數(shù)據(jù),本發(fā)明中,術(shù)語“數(shù)據(jù)”、“數(shù)據(jù)項”均指代同一內(nèi)容,僅僅是在不同環(huán)境下的不同稱謂。
      [0023]在本發(fā)明實施例中,還包括步驟5、如果收到更新數(shù)據(jù)庫的請求,則執(zhí)行以下步驟:步驟5.1、根據(jù)所需更新的數(shù)據(jù)的索引項在內(nèi)存中緩存的HashMap映射表中快速查找所需更新的數(shù)據(jù);步驟5.2、根據(jù)所需更新的數(shù)據(jù)的索引項在外部存儲器中緩存的HashMap映射表中快速查找所需更新的數(shù)據(jù);步驟5.3、如果在步驟5.1和步驟5.2中查找到的數(shù)據(jù)項相同,則執(zhí)行更新語句;步驟5.4、如果在步驟5.1和步驟5.2中查找到的數(shù)據(jù)項不相同,則返回數(shù)據(jù)項不同步的錯誤提示。應(yīng)當說明的是,在正常訪問SQLITE數(shù)據(jù)庫的情況下,首先在內(nèi)存中緩存的HashMap映射表中查找所需數(shù)據(jù),如果找到并需要修改所需數(shù)據(jù),則首先修改內(nèi)存中HashMap映射表中相應(yīng)的數(shù)據(jù)項,并同時修改內(nèi)外部存儲器中HashMap映射表中相應(yīng)的數(shù)據(jù)項,也就是說,正常情況下,內(nèi)存中HashMap映射表和外部存儲器中HashMap映射表是保持同步更新的。當接收到更新數(shù)據(jù)庫的請求時,則執(zhí)行以上的步驟5.1-5.4。
      [0024]在本發(fā)明實施例中,還包括步驟6、當對稱密鑰或非對稱密鑰的時間戳失效時,執(zhí)行以下步驟:步驟6.1、清除內(nèi)存中緩存的HashMap映射表;步驟6.2、清除外部存儲器中緩存的HashMap映射表。該設(shè)置保證了系統(tǒng)的安全性,避免了不安全的緩存訪問。
      [0025]在本發(fā)明實施例中,步驟3.2和步驟3.3之間還包括以下步驟:如果內(nèi)存中沒有存儲TreeMap映射表,則在內(nèi)存中創(chuàng)建TreeMap映射表;在步驟3.3和步驟3.4之間還包括以下步驟:將查詢結(jié)果映射至內(nèi)存中的TreeMap映射表中,所述TreeMap映射表中以鍵和值的成對方式存儲查詢結(jié)果中一一對應(yīng)的索引項和數(shù)據(jù)項。所述步驟4.1具體包括:如果訪問SQLITE數(shù)據(jù)庫的語句時查找語句,則在內(nèi)存中緩存的HashMap映射表中快速查找所需訪問的數(shù)據(jù);如果訪問SQLITE數(shù)據(jù)庫的語句時遍歷語句,則在內(nèi)存中緩存的TreeMap映射表中按序遍歷所需訪問的數(shù)據(jù)。所述步驟6還包括:步驟6.3、清除內(nèi)存中緩存的TreeMap映射表。其中內(nèi)存中HashMap映射表和內(nèi)存中TreeMap映射表是保持同步更新的。由于上述步驟的存在,雖然占用了些許存儲空間,然而換來的是訪問速度的極大提高,尤其是針對不同的訪問類型分別訪問HashMap映射表和TreeMap映射表使得系統(tǒng)的整體性能得以提高。其中,由于HashMap映射表在查找方面更具優(yōu)勢,因此查找訪問的對象設(shè)定為HashMap映射表,由于TreeMap映射表的優(yōu)勢是排序功能,而遍歷訪問往往需要有序遍歷,因此遍歷訪問的對象設(shè)定為TreeMap映射表。
      [0026]應(yīng)當理解本發(fā)明所設(shè)計的嵌入式系統(tǒng)包括ANDROID系統(tǒng)、1S系統(tǒng)等等。本發(fā)明所設(shè)計的外部存儲器包括SD卡存儲器等等。
      [0027]綜上所述,本發(fā)明提出的嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,實現(xiàn)了速度和安全的系統(tǒng)均衡;避免了惡意篡改造成的負面作用;并提高了系統(tǒng)整體性。
      [0028]應(yīng)當理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
      【主權(quán)項】
      1.一種嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,所述嵌入式系統(tǒng)的存儲設(shè)備包括內(nèi)存、內(nèi)部存儲器和外部存儲器,所述方法包括: 步驟1、構(gòu)建SQLITE數(shù)據(jù)庫,包括: 步驟1.1、在內(nèi)部存儲器中創(chuàng)建一公有數(shù)據(jù)庫文件和一私有數(shù)據(jù)庫文件,其中公有數(shù)據(jù)存儲在共有數(shù)據(jù)庫文件中,私有數(shù)據(jù)存儲在私有數(shù)據(jù)庫文件中; 步驟1.2、采用AES對稱加密方式對公有數(shù)據(jù)庫文件進行整體加密; 步驟1.3、采用RAS非對稱加密方式對私有數(shù)據(jù)庫文件進行整體加密; 步驟2、訪問SQLITE數(shù)據(jù)庫,包括: 步驟2.1、當需要查詢公有數(shù)據(jù)時,執(zhí)行以下步驟: 步驟2.1.1、獲取對稱密鑰; 步驟2.1.2、根據(jù)所述對稱密鑰解密所述公有數(shù)據(jù)庫文件; 步驟2.1.3、如果解密成功,則將所述公有數(shù)據(jù)庫文件作為待訪問數(shù)據(jù)庫文件緩存至內(nèi)存中; 步驟2.2、當需要查詢私有數(shù)據(jù)時,執(zhí)行以下步驟: 步驟2.2.1、獲取解密用的非對稱密鑰; 步驟2.2.2、根據(jù)所述非對稱密鑰解密所述私有數(shù)據(jù)庫文件; 步驟2.2.3、如果解密成功,則將所述私有數(shù)據(jù)庫文件作為待訪問數(shù)據(jù)庫文件緩存至內(nèi)存中; 步驟2.3、數(shù)據(jù)庫利用SQL語句查詢內(nèi)存中的所述待訪問數(shù)據(jù)庫文件的副本以獲得查詢結(jié)果;步驟3、緩存所述查詢結(jié)果,包括: 步驟3.1、如果內(nèi)存中沒有存儲HashMap映射表,則在內(nèi)存中創(chuàng)建HashMap映射表;步驟3.2、如果外部存儲器中沒有存儲HashMap映射表,則在外部存儲器中創(chuàng)建HashMap映射表; 步驟3.3、將查詢結(jié)果分別映射至內(nèi)存和外部存儲器中的HashMap映射表中,所述HashMap映射表中以鍵和值的成對方式存儲查詢結(jié)果中一一對應(yīng)的索引項和數(shù)據(jù)項,所述HashMap映射表同時存儲與每一個數(shù)據(jù)項對應(yīng)的屬性,所述屬性包括文件ID、表ID、主鍵、數(shù)據(jù)項類型; 步驟3.4、將所述待訪問數(shù)據(jù)庫文件從內(nèi)存中清除。
      2.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,其特征在于,還包括: 步驟4、當再次訪問SQLITE數(shù)據(jù)庫時,執(zhí)行以下步驟: 步驟4.1、在內(nèi)存中緩存的HashMap映射表中快速查找所需訪問的數(shù)據(jù); 步驟4.2、如果查找不成功,則返回步驟2。
      3.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,其特征在于,還包括: 步驟5、如果收到更新數(shù)據(jù)庫的請求,則執(zhí)行以下步驟: 步驟5.1、根據(jù)所需更新的數(shù)據(jù)的索引項在內(nèi)存中緩存的HashMap映射表中快速查找所需更新的數(shù)據(jù); 步驟5.2、根據(jù)所需更新的數(shù)據(jù)的索引項在外部存儲器中緩存的HashMap映射表中快速查找所需更新的數(shù)據(jù); 步驟5.3、如果在步驟5.1和步驟5.2中查找到的數(shù)據(jù)項相同,則執(zhí)行更新語句; 步驟5.4、如果在步驟5.1和步驟5.2中查找到的數(shù)據(jù)項不相同,則返回數(shù)據(jù)項不同步的錯誤提不。
      4.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,其特征在于,還包括: 步驟6、當對稱密鑰或非對稱密鑰的時間戳失效時,執(zhí)行以下步驟: 步驟6.1、清除內(nèi)存中緩存的HashMap映射表; 步驟6.2、清除外部存儲器中緩存的HashMap映射表。
      【專利摘要】本申請?zhí)岢隽艘环N嵌入式系統(tǒng)下的SQLITE數(shù)據(jù)庫應(yīng)用方法,包括:步驟1、構(gòu)建SQLITE數(shù)據(jù)庫。步驟2、訪問SQLITE數(shù)據(jù)庫。步驟3、緩存所述查詢結(jié)果。實現(xiàn)了速度和安全的系統(tǒng)均衡;避免了惡意篡改造成的負面作用;并提高了系統(tǒng)整體性。
      【IPC分類】G06F21-62, G06F17-30
      【公開號】CN104679816
      【申請?zhí)枴緾N201410780886
      【發(fā)明人】修銘徽
      【申請人】北京可思云??萍加邢薰?br>【公開日】2015年6月3日
      【申請日】2014年12月17日
      當前第2頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1