【文章內(nèi)容簡(jiǎn)介】
高。 但 XScale 的價(jià)格偏高,使用在一般的消費(fèi)電子上會(huì)使成本增大。 ARM9 系列處理器是英國(guó) ARM 公司設(shè)計(jì)的主流嵌入式處理器,主要包括 ARM9TDMI 和ARM9ES 等系列。 目前使用廣泛的是三星公司生 產(chǎn)的 S3C2440,通過全新的設(shè)計(jì),采用了更多的晶體管, 使它成為了 一種高性能、低功耗 和低成本 的 32 位微處器,它被廣泛應(yīng)用于嵌入式系統(tǒng)中 , 已經(jīng)在手持電話、機(jī)頂盒、數(shù)碼像機(jī)、 GPS、個(gè)人數(shù)字助理以及因特網(wǎng)設(shè)備等方面有了廣泛的應(yīng)用。 應(yīng)此在本設(shè)計(jì)中選擇使用 ARM9 微處理器。 如何實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)庫系統(tǒng) Microsoft SQL Server 2021 Mobile Edition(下面中簡(jiǎn)稱 SQL Server Mobile)將 Microsoft SQL Server 擴(kuò)展到基于 Windows CE 的移動(dòng)設(shè)備,并為 開發(fā)者的快速應(yīng)用程序開發(fā)提供了一個(gè)一致的編程模型。SQL Server Mobile 不同于 Windows CE 操作系統(tǒng)本身的屬性數(shù)據(jù)庫,它是一個(gè)真正意義上的關(guān)系數(shù)據(jù)庫,它具有強(qiáng)大的數(shù)據(jù)存儲(chǔ)功能、優(yōu)化的查詢處理器,以及可靠、可伸縮的連接能力。 在 Microsoft Visual Studio 2021 中,提供了 來編寫 SQL Server Mobile 數(shù)據(jù)庫應(yīng)用程序, 為開發(fā)者使用 Visual 語言和 Visual C語言提供編寫 Windows CE 數(shù)據(jù)庫應(yīng)用程序一致的、高性能的高層接口。我們可以使用 命名空間實(shí)現(xiàn)在智能設(shè)備上進(jìn)行 SQL Server Mobile 數(shù)據(jù)庫的創(chuàng)建與管理。 SQL Server Mobile 客戶端并不能像 SQL Server 客戶端一樣通過在連接字符串中指定 SQL Server 服務(wù)器的 IP 而直接連接到 SQL Server 服務(wù)器,而需要通過 SQL Server Mobile 代理來間接進(jìn)行連接。 SQL Server Mobile 客戶端已經(jīng)包含了 SQL Server Mobile 客戶端代理,而在 SQL Server Mobile 服務(wù)器端,則需要用戶另外安裝 SQL Server Mobile 作為服務(wù)端代理。 SQL Server Mobile 數(shù)據(jù)庫引擎 (SQL Server Mobile Engine)管理 SQL Server 數(shù)據(jù)庫在 Windows CE 設(shè)備上的存儲(chǔ)。 SQL Server Mobile 客戶端代理 (SQL Server Mobile Client Agent)通過復(fù)制對(duì)象、遠(yuǎn)程數(shù)據(jù)訪問對(duì)象和引擎對(duì)象來通過應(yīng)用程序編程控制與 Microsoft SQL Server 連接。 SQL Server Mobile 服務(wù)器代理 (SQL Server Mobile Server Agent)處理來自 SQL Server Mobile 客戶端代理的HTTP 請(qǐng)求。 SQL Server Mobile 客戶端代理駐留在基于 Windows CE 的設(shè)備上,并應(yīng)用 HTTP 或HTTPS 與駐留在 Web 服務(wù)器上的 SQL Server Mobile 服務(wù)器代理進(jìn)行通信;而 SQL Server Mobile 服務(wù)器代理駐留在運(yùn)行 IIS 的計(jì)算機(jī)上,并通過復(fù)制或遠(yuǎn)程數(shù)據(jù)訪問與 Microsoft SQL Server 進(jìn)行通信。SQL Server Mobile 與 SQL Server 進(jìn)行通信的原理如 圖 所示。 圖 SQL Server Mobile 與 SQL Server 進(jìn)行通信原理圖 6 服務(wù)器環(huán)境 分析 服務(wù)器環(huán)境由 SQL Server Mobile 服務(wù)器代理、 Microsoft Inter 信息服務(wù) (IIS) 和 SQL Server 組成。 SQL Server Mobile 服務(wù)器代理 主要處理由 SQL Server Mobile 客戶端代理發(fā)出的請(qǐng)求。之所以需要 IIS,是因?yàn)?SQL Server Mobile 需要 IIS 來提供 HTTP 協(xié)議,客戶端通過 HTTP 協(xié)議連接到服務(wù)器并通過 RDA 和復(fù)制技術(shù)盡心數(shù)據(jù)的交互。 Microsoft174。 SQL Server? 2021 是企業(yè)級(jí)解決方案中的數(shù)據(jù)庫系統(tǒng),在 SQL Server Mobile 中它提供對(duì)客戶機(jī)上的存儲(chǔ),備份和管理等。 SQL Server Mobile 服務(wù)器代理 通常, SQL Server Mobile 作為應(yīng)用程序的一部分應(yīng)用。在這種應(yīng)用程序中,數(shù)據(jù)是在臺(tái)式機(jī)上的 Microsoft SQL Server 和支持的設(shè)備上的 SQL Server Mobile 之間進(jìn)行分發(fā)的。但是, SQL Server Mobile 也可以用作個(gè)人信息管理 (PIM) 工具或者所支持設(shè)備上的其他應(yīng)用程序的獨(dú)立數(shù)據(jù)庫。 SQL Server Mobile 通常用作完整 Microsoft .NET Compact Framework 應(yīng)用程序部署的一部分,但也可以單獨(dú)安裝在智能設(shè)備上 。遠(yuǎn)程數(shù)據(jù)訪問 (RDA) 與合并復(fù)制確??梢詫碜? SQL Server 數(shù)據(jù)庫的數(shù)據(jù)傳遞到支持的設(shè)備上的 SQL Server Mobile??梢悦摍C(jī)操作這些數(shù)據(jù),并在以后將其同步到服務(wù)器。 其體系結(jié)構(gòu)如 圖 所示。 圖 SQL Server Mobile 體系結(jié)構(gòu) 利用 Inter信息服務(wù)建立連接 Inter 信息服務(wù)器( IIS) 提供了集成 Web 服務(wù)器功能。在與 SQL Server Mobile 一起使用時(shí),IIS 可以提供一種協(xié)議。通過這種協(xié)議,設(shè)備可以連接到服務(wù)器以便通過 RDA 或復(fù)制技術(shù)來傳輸與交換數(shù)據(jù)。 用戶編程時(shí)只需要把提交的信息交給 SQL Server Mobile 客戶端 代理 , 客戶端 代理與服務(wù)器代理成功建立連接后就會(huì)把信息發(fā)送到應(yīng)用程序池。 IIS 包括許多新功能,它們旨在幫助企業(yè)、 IT 專業(yè)人士和 Web 管理員實(shí)現(xiàn)其網(wǎng)站(他們可能擁有位于單個(gè) IIS 服務(wù)器或多個(gè)服務(wù)器上的數(shù)千個(gè)網(wǎng)站)在性能、可靠性、可伸縮性和安 全性方面的目標(biāo)。 Microsoft174。 SQL Server? 2021 Microsoft174。 SQL Server? 2021 數(shù)據(jù)庫組件是基于結(jié)構(gòu)化查詢語言 (SQL) 的可伸縮的關(guān)系數(shù)據(jù)庫,集成了對(duì) Inter 應(yīng)用程序的可擴(kuò)展標(biāo)記語言 (XML) 支持。 Microsoft174。 SQL Server? 2021 的特性包括: ? Inter 集成 ? 可伸縮性和可用性 ? 企業(yè)級(jí)數(shù)據(jù)庫功能 ? 易于安裝、部署和使用 ? 數(shù)據(jù)倉(cāng)庫 盡管 SQL Server 2021 被設(shè)計(jì)為用作通過網(wǎng)絡(luò)連接的成千上萬并發(fā)用戶的 數(shù)據(jù)存儲(chǔ)引擎,它仍可 7 作為一個(gè)獨(dú)立的數(shù)據(jù)庫,像應(yīng)用程序一樣直接在同一臺(tái)計(jì)算機(jī)上運(yùn)行。 SQL Server 2021 卓越的可伸縮性和便于使用的諸多功能使其能夠在單個(gè)計(jì)算機(jī)上高效運(yùn)行,既不占用過多的系統(tǒng)資源,也不需要專門的用戶來管理。這些功能還使 SQL Server 2021 得以動(dòng)態(tài)地獲取支持上千用戶所需的資源,同時(shí)將數(shù)據(jù)庫的管理和調(diào)節(jié)工作減到最少。 SQL Server 2021 關(guān)系數(shù)據(jù)庫引擎動(dòng)態(tài)調(diào)節(jié)自身以獲取或釋放適當(dāng)?shù)挠?jì)算機(jī)資源,以支持在任何特定時(shí)間訪問 SQL Server 2021 實(shí)例時(shí)不斷變化 的用戶負(fù)荷之需。SQL Server 2021 關(guān)系數(shù)據(jù)庫引擎的強(qiáng)大功能可以避免因某個(gè)用戶讀取或修改其他用戶當(dāng)前使用的數(shù)據(jù)而引起的邏輯問題。 客戶 機(jī) 環(huán)境 分析 客戶端環(huán)境由 SQL Server Mobile 客戶端代理與應(yīng)用程序組成 。 SQL Server Mobile 包括數(shù)據(jù)庫引擎、 SQL Server Mobile 客戶端代理、查詢處理器、編程框架等, SQL Server Mobile 客戶機(jī)代理通過Replication 對(duì)象, RemoteDataAccess 對(duì)象和 Engine 對(duì)象來實(shí)現(xiàn)與服務(wù)器環(huán)境中的 SQL Server Mobile服務(wù)器代理進(jìn)行 HTTP 通信,再與 SQL Server 連接。 SQL Server Mobile 客戶端代理 SQL Server Mobile 客戶端代理是在運(yùn)行 Windows CE 備上與數(shù)據(jù)庫服務(wù)器進(jìn)行連接的主要組件。它可應(yīng)用下列自定義的 SQL Server Mobile 對(duì)象: ? Replication 對(duì)象 ? RemoteDataAccess 對(duì)象 ? Engine 對(duì)象 在應(yīng)用程序中使用這些對(duì)象,可用編程方式控制與 SQL Server 的連接。 利用 從基本角度來看, 是一組類,這些類專門用來對(duì)數(shù)據(jù)進(jìn)行訪問,無論這些數(shù)據(jù)庫是存儲(chǔ)在數(shù)據(jù)庫中,還是存儲(chǔ)在 XML 中,松耦合的構(gòu)架為搭建一個(gè)分布式的數(shù)據(jù)庫環(huán)境創(chuàng)建了條件, 可以訪問 Access 數(shù)據(jù)庫、 SQL Server 數(shù)據(jù)庫、 Orcal 數(shù)據(jù)庫,還可以被應(yīng)用到桌面應(yīng)用程序、 Web 應(yīng)用程序、嵌入式設(shè)備應(yīng)用程序中,而且無論你使用的是 還是 C,當(dāng)然還包括托管C++。 在應(yīng)用程序中開發(fā)者 需要的是簡(jiǎn)單、一致的應(yīng)用程序編程接口 (API),使應(yīng)用程序能夠訪問和修改各種各樣的數(shù)據(jù)源。數(shù)據(jù)源可 能象文本文件一樣簡(jiǎn)單,也可能象一堆異構(gòu)數(shù)據(jù)庫那樣復(fù)雜,或者是尚未定型的某種數(shù)據(jù)。此外, API 不應(yīng)該預(yù)先設(shè)定訪問和操作數(shù)據(jù)源的方式。 客戶端 應(yīng)用程序 的開發(fā)主要使用了 微軟公司的 (ActiveX Data ) 技術(shù),它是一個(gè)用于存取數(shù)據(jù)源的 COM 組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式 OLE DB 的一個(gè)中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實(shí)現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時(shí)候,關(guān)于 SQL 的知識(shí)不是必要的,但是特定數(shù)據(jù)庫支持的 SQL 命令仍可以 通過 中的命令對(duì)象來執(zhí)行。 的對(duì)象模型如 圖 所示。 8 圖 對(duì)象模型 Windows174。 CE .NET環(huán)境 客戶端環(huán)境 的操作系統(tǒng)選擇 Microsoft174。 Windows174。 CE .NET,它是 Windows CE 的后續(xù)產(chǎn)品,它不僅是一個(gè)功能強(qiáng)勁的實(shí)時(shí)嵌入式操作系統(tǒng),而且提供了眾多強(qiáng)大工具,允許用戶利用它快速開發(fā)出下一代的智能化小體積連接設(shè)備。 WindowsCE 是微軟公司嵌入式、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),它是一個(gè)開放的、可升級(jí)的 32 位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng),它是精簡(jiǎn)的Windows 95, Windows CE 的圖形用戶界面相當(dāng)出色。 Windows CE .NET 對(duì) Windows CE 先前版本的強(qiáng)大功能進(jìn)行了進(jìn)一步的擴(kuò)充和豐富,它提供了: ? 對(duì)安全和可伸縮網(wǎng)絡(luò)的支持 ? 得到增強(qiáng)的實(shí)時(shí)處理能力 ? 更為優(yōu)秀的性能表現(xiàn) ? 更為豐富的多媒體和 Web 瀏覽功能 ? 與個(gè)人計(jì)算機(jī)、服務(wù)器、 Web 服務(wù)以及其它設(shè) 備更為出色的互操作性 軟件開發(fā)環(huán)境分析 本設(shè)計(jì)總客戶機(jī)軟件的開發(fā)環(huán)境是一臺(tái)安裝 Microsoft Visual Studio 2021 的通用計(jì)算機(jī),通過Microsoft Visual Studio 2021,可以使用 Visual Basic 2021 來開發(fā)客戶機(jī)的應(yīng)用程序。 使用 Visual Basic 2021 進(jìn)行托管用應(yīng)用程序的開發(fā),還需要安裝專門的 .NET Compact Framework。在進(jìn)行 Visual Basic 2021 的安裝組件選擇時(shí),可以進(jìn)行 .NET Compact Framework 和 SQL Server 2021 Mobile Edition 的安裝。 開發(fā)機(jī)的開發(fā)對(duì)象是客戶機(jī)環(huán)境中的 SQL Server Mobile 的應(yīng)用程序,對(duì)于有網(wǎng)絡(luò)連接支持的設(shè)備,可以直接用 HTTP 通信,如果沒有網(wǎng)絡(luò)連接,可以使用 ActiveSync 來建立于桌面 Windows 的連接,再與 IIS 服務(wù)器進(jìn)行 HTTP 通信。 開發(fā)環(huán)境的詳細(xì)框架如 圖 所示。 9 圖 開發(fā)環(huán)境的框架圖 10 第 3章 數(shù)據(jù)庫服務(wù)器設(shè)計(jì) 服務(wù)器運(yùn)行的操作系統(tǒng) Windows server 2021 是微軟公司開發(fā)的新一代網(wǎng)絡(luò)服務(wù)器操作系統(tǒng),與以前的同類操作系統(tǒng)相比,它更加安全、性能更加穩(wěn)定,而操作和使用卻更加輕松,因此,它不僅能夠安裝到服務(wù)器上設(shè)置成為主域控制服務(wù)器、文件服務(wù)器等各種服務(wù)器 ,也能安裝在局域網(wǎng)的客戶機(jī)上,作為客戶端系統(tǒng)使用,當(dāng)然也可以安裝到個(gè)人電腦中,成為更加穩(wěn)定、更加安全、更容易使用的個(gè)人操作系統(tǒng)。無論是服務(wù)器、客戶機(jī)還是家庭用戶,安裝 Windows2021 都是非常輕松的。 Windows server 2021 對(duì)硬件的要求并不是很高,建議系統(tǒng)的 CPU 主頻不低于 550MHz(支持最低主頻 為 133MHz);建議系統(tǒng)內(nèi)存在 256 MB 以上(最小支持 128 MB,最大支持 32 GB);硬盤分區(qū)要具有足夠的可用空間,最小要在 2G 以上; VGA 或更高分辨率的監(jiān)視器(建議使用 SVGA 800x600 或更高)、鍵盤和鼠標(biāo)。 與微軟的其他的操作系統(tǒng)一樣安裝過程采用圖像化、向?qū)Щ僮?,這個(gè)過程比較簡(jiǎn)單所以不在這里描述。 配置 IIS 服務(wù)對(duì) SQL Server Mobile 的支持 在成功安裝好服務(wù)器環(huán)境所需要的組件后,就可以開始