999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM-Linux的SQLite嵌入式數據庫技術

2013-03-18 23:05:08
網絡安全技術與應用 2013年10期
關鍵詞:嵌入式數據庫用戶

許 立

(中煤科工集團重慶研究院 重慶 400013)

0 引言

伴隨嵌入式系統被廣泛應用,加上用戶越來越高的數據處理、數據管理等需求,各式各樣的智能設備、數據庫技術有著緊密的結合度,這種現狀越來越受到各行業的重視。縱觀國內外對嵌入式數據庫的應用現狀,可知,當下這種嵌入式數據庫開始被廣泛應用,其市場也加快發展步伐,進入一個可喜的發展階段。

1 Linux 下常見的數據庫技術分析

以Linux平臺為基礎的數據庫數量繁多,通常,運用在大型商業方面的數據庫就包括: Sybase、Oracle等下面簡單羅列幾種常見類型:

(1)PostgreSQLPostgreSQL不僅是全球最優秀的一類開放源碼數據庫,且使用它無需繳納任何購買費與版權費,是對用戶完全免費的。所以,很多Linux發行版本將之作為首選。比如,TurboLinux和Redhat都預裝了該數據庫。加上,該數據庫具有很強大的兼容性,若為SQL92兼容,將之做移植則非常快捷、簡單。

(2)MySQLMySQL是一種多進程、多用戶的SQLserver數據庫。它包含:一個mysqld、libraries的client或者server實現工具、client programs;較適宜于簡單且小的數據庫,不能很好支持復雜操作。其licensing policy表現為:若你是一般的終極用戶,使用該數據庫無需付錢;如果作為或直接或間接對該服務程序、相關產品加以出售的用戶,抑或是在某客戶端對其加以維護,這樣的情況下,是需要付費使用的。若在發行版中含有MySQL,則需獲得相應許可。

(3)mSQL(mini SQL)mSQL是面向單個用戶的數據庫的管理系統。其特點是短小精悍,因此,由它開發出來的一些應用系統頗受網絡用戶的青睞。該系統不是一款完全免費的軟件。只有進行學術研究、在大學里使用、做慈善等不以營利為目的的一系列活動時,該軟件才對使用者免費開放。如果不滿足上屬免費許可,就要進行付費才可以注冊獲得使用版權。

2 嵌入式開發

對數據庫的需求特點面對種類繁多的數據庫,怎么來選擇適合嵌入系統的哪一款呢?后者的開發環境將直接決定它所需要的數據庫種類。

(1)適當的體積嵌入系統對數據存儲、程序運行通常有比較嚴格的空間限制。因此對適用該系統的數據庫要具有適當體積。

(2)較強的功能嵌入式開發應用繁多,用戶的基本需求決定,開發時要有個功能齊備、體積合適的數據庫,這樣才能更好的失序數據管理。開發人員所采用的技術應可以提供一份完備文檔,且十分易于開發。

(3)開源的代碼作為產品開發,開源代碼既可以降低產品生產的成本,還可以完善產品維護,為產品穩定運行備以徹底解決手段。上述Sybase、Oracle等數據庫技術,功能強大、體積龐大、付費使用、用于大型商用。MySQL體積中等,卻可以提供同等功能,因此成為中小企業數據庫的應用首選,在商業應用中不是免費的,對嵌入式開發,空間仍太大,目前尚不適合。mSQL是SQL的簡化,開發方便、短小精悍,適于嵌入式開發,但使用期限只有30天,并不是完全開源。

3 SQLite的體系結構及開發技術

D·理查德·希普開發出SQLite,這種小型C庫可以實現強大的嵌入式數據庫的管理。它支持大多數的SQL92:多表、索引、視圖、事務、觸發、驅動、用戶接口。該庫內聚性很強,通過ANSI C代碼老實現,可應用于包括商業在內的任何應用。此外,它具有有效、高速、可升級等優點,可運行于ARM/ Linux、SPARC / Solaris等多種類型的硬件平臺。

3.1 體系結構

1SQLite體系結構SQLite 有種標準化的優雅設計。它主要分為八個子系統。其中,一些子系統與關系數據庫的管理十分接近。頂層為標記處理器、分析器。SQLite的分析生成器是高度優化的,這種生成器能快速產生高效率代碼。其新穎設計可以實現有效抵抗內存泄漏的效果。基于Knuth,底部為優化過的B樹,可運行于頁面緩沖之上,該頁面緩存是能調整的,利于最大化降低磁盤查找。再往下為頁面的高速緩存,作用于OS抽象層上方。

3.2 SQLite開發技術

對SQLite 進行API時非常好用的。三個執行SQL、獲得數據函數就可實現。C語言的API是腳本接口之基礎,比如,已經發布過的Tcl接口。

應用C語言三個步驟即可實現API。第一,提供訪問模式、文件名來對“sqlite _open()”連接數據庫進行調用。第二,執行“callback”函數,通過SQLite來對每條記錄進行“callback”函數執行,以此獲取來自數據庫里的結果。第三,調用“sqlite_exec()”可執行某個SQL查詢,且獲得一個“callback”函數的指針。

SQLite可以提供“存取二進制大對象”方法,在數據庫管理、線程安全、API擴展等一些方面提供方便而強大的技術支持。

在ARM-Linux平臺,4SQLite實現SQLite,嵌入數據庫以源碼進行發布,可根據差異化平臺來交叉編譯源碼,完成在眾多硬件平臺上的移植。編譯的主要步驟如下:

(1)去“http://www.sqlite.org/”的cvs里去下載一個最新源代碼包,對其進行解壓,生成一個sqlite目錄,然后,新建轉到同級目錄。

(2)“echo $PATH”命令下查看PATH里是不是已經含有編譯工具——armlinuxgcc。

(3)在ARMLinux下確保sqlite可以正常運行,需要修改“sqlite/src/sqliteInt.h”,來確保btree變量大小是正確的。

(4)選擇configure完成某些配置。對sqlite這一目錄下的configure進行修改,使其不對交叉編譯的環境進行檢查。

(5)對Makefile文件進行修改。把代碼行“BCC=armlinuxgccgO2”改為“BCC=gccgO2”。此外,通常以靜態鏈接形式把sqlite置于ARMLinux硬件板進行運行,因此,繼續將Makefile進行修改,找到“s以qlite:”為標記的代碼段,把“libsqlite.la”改成“.libs/libsqlite.a”。完成上面的修改之后,使用make來生成s libsqlite.a 和libsqlite.so、qlite。

4 總結

經大量的分析、對比,結合嵌入式系統的開發特點,在大量數據庫版本中選擇出一款極為適合嵌入數據庫的應用軟件——SQLite。然后通過ARMLinux對SQLite完成編譯,在此基礎上,在項目中進一步進行開發試驗。經實踐證明,軟件SQLite可以非常出色的滿足系統的數據庫應用要求。

[1]Michael Owens.Embedding an SQL Database with SQLite.Linux Journal, 20030601.

[2]How To Compile.http://www.sqlite.org/.

[3]薛啟康.Linux環境下的數據庫.中國計算機報,2001總期號:1009.

猜你喜歡
嵌入式數據庫用戶
搭建基于Qt的嵌入式開發平臺
數據庫
財經(2017年2期)2017-03-10 14:35:35
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 91精品啪在线观看国产91九色| 国内精品久久人妻无码大片高| 亚洲高清国产拍精品26u| 精品伊人久久大香线蕉网站| 久草青青在线视频| 亚洲大尺度在线| 国产精品第一区| 国产精品亚洲va在线观看| 成年人视频一区二区| 秘书高跟黑色丝袜国产91在线| 国产丝袜精品| 啦啦啦网站在线观看a毛片| 欧美天天干| 欧美日韩中文国产| 亚洲国产清纯| 一区二区三区国产精品视频| 中文字幕丝袜一区二区| 国产99精品久久| 国产一级二级在线观看| 国产乱人乱偷精品视频a人人澡| 国产乱子伦手机在线| 久久久久九九精品影院| 色爽网免费视频| 国产丝袜91| 亚洲欧美精品日韩欧美| 久久精品波多野结衣| 日韩福利在线观看| 亚洲性影院| 国产人前露出系列视频| 婷婷亚洲天堂| 无套av在线| 91在线中文| 亚洲精品色AV无码看| 毛片在线播放网址| 亚洲无码精彩视频在线观看| 手机在线国产精品| 四虎国产永久在线观看| 91 九色视频丝袜| 亚洲伊人天堂| 亚洲IV视频免费在线光看| 中文字幕永久视频| 97国产在线视频| 欧美在线视频不卡第一页| 美女国产在线| 亚洲AV成人一区二区三区AV| 久久成人国产精品免费软件| 亚洲国产精品日韩专区AV| 亚洲水蜜桃久久综合网站| 国产成人亚洲精品无码电影| 亚洲国产精品国自产拍A| 91亚洲视频下载| 97在线公开视频| 美女裸体18禁网站| 99久视频| 色偷偷一区二区三区| 国产在线欧美| 人人爽人人爽人人片| 日韩成人午夜| 尤物视频一区| 极品国产在线| 在线毛片免费| 波多野结衣爽到高潮漏水大喷| 国产综合欧美| 中文字幕亚洲精品2页| 国产AV毛片| 亚洲专区一区二区在线观看| 中文字幕永久在线观看| jizz在线观看| 国产精品香蕉在线| 99re经典视频在线| 亚洲精品无码av中文字幕| 视频在线观看一区二区| 呦女亚洲一区精品| 日韩中文无码av超清| 久久成人18免费| 一级毛片无毒不卡直接观看| 久久综合九色综合97婷婷| 日韩天堂在线观看| 992Tv视频国产精品| 国产精品9| 日韩高清欧美| 欧美啪啪网|