亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MIDAS的圖書館信息管理系統(tǒng)的構(gòu)建

        2010-08-15 00:44:26姚曦
        電腦與電信 2010年9期
        關(guān)鍵詞:應(yīng)用程序客戶端組件

        姚曦

        (福建衛(wèi)生職業(yè)技術(shù)學院,福建福州350000)

        1.引言

        1.1 兩層體系結(jié)構(gòu)

        以往人們開發(fā)系統(tǒng)大都采用客戶機/服務(wù)器的兩層結(jié)構(gòu),在這種模式中,所有的形式邏輯和業(yè)務(wù)邏輯均駐留在客戶端,而服務(wù)器則成為數(shù)據(jù)庫服務(wù)器。這樣一來服務(wù)器就變得很“胖”,被稱為“胖客戶端(FatClient)”。它的弊端十分明顯:“胖”客戶端造成更新繁瑣,日常維護十分困難,一旦客戶端的程序發(fā)生改變,就必須對所有的客戶端進行修改。并且隨著客戶端的不斷增加,對帶寬與服務(wù)器的壓力也越來越大。

        1.2 三層體系結(jié)構(gòu)

        M IDAS是Multi-tier Distributed Application Services Suite(多層分布式應(yīng)用程序服務(wù)包)的縮寫。三層體系結(jié)構(gòu)即客戶應(yīng)用程序(表示層),應(yīng)用程序服務(wù)器(業(yè)務(wù)層),遠程數(shù)據(jù)庫服務(wù)器(數(shù)據(jù)層)。其中數(shù)據(jù)層負責存儲數(shù)據(jù),可以理解為數(shù)據(jù)庫服務(wù)器。業(yè)務(wù)層負責從數(shù)據(jù)庫中獲取數(shù)據(jù)并檢查其的合法性。表示層也可稱做GUI層,負責在客戶端顯示數(shù)據(jù)。

        M IDAS優(yōu)點在于使三層結(jié)構(gòu)在邏輯上相互獨立。表示層配置在客戶機中,即在客戶端僅是一些界面設(shè)計,沒有具體的應(yīng)用程序。當要追加新業(yè)務(wù)時,只需統(tǒng)一在應(yīng)用程序服務(wù)器進行中間件的更新,而不影響其它兩層,實現(xiàn)了“瘦”客戶端,彌補了兩層體系結(jié)構(gòu)的不足。

        2.系統(tǒng)的設(shè)計思想

        本系統(tǒng)以Delphi7.0為主要的開發(fā)平臺,MS SQL Server2000作為數(shù)據(jù)庫服務(wù)器,采用Delphi中的M IDAS基本的開發(fā)方法,構(gòu)建了具有三層體系結(jié)構(gòu)的圖書館信息管理系統(tǒng)。系統(tǒng)在客戶端使用基于TCP/IP協(xié)議的Delphi TsocketConnection組件連接中間件。在中間件使用多線程連接數(shù)據(jù)庫,并使用遠程數(shù)據(jù)模塊(RemoteDataModle)中的Provider接收來自客戶端的Clientdataset組件的請求,并向數(shù)據(jù)庫查找想要的數(shù)據(jù)。而后再通過Provider向客戶端的Clientdataset組件送回數(shù)據(jù)。最后數(shù)據(jù)存儲在由MS SQL Server2000構(gòu)建的數(shù)據(jù)服務(wù)器中。

        2.1 系統(tǒng)的需求分析

        通過調(diào)研,確定了圖書館信息管理系統(tǒng)的兩類管理模式:圖書管理員,學生。他們各自擁有權(quán)限管理及功能。圖書管理員有5個操作模塊:圖書管理、學生管理、查詢、圖書操作、報表打印。學生有2個操作模塊:圖書信息檢索、學生信息。

        2.2 系統(tǒng)的模塊組成

        本多層的圖書館管理系統(tǒng)有三個功能模塊來實現(xiàn)。客戶服務(wù)器,應(yīng)用程序服務(wù)器,數(shù)據(jù)庫。他們的實現(xiàn)步驟如下:首先開發(fā)遠程應(yīng)用程序服務(wù)器,他負責為客戶服務(wù)器提供數(shù)據(jù)服務(wù)。其次開發(fā)客戶服務(wù)器及客戶端界面,最后連接客戶端應(yīng)用程序和遠程應(yīng)用程序服務(wù)器。

        3.系統(tǒng)的設(shè)計與實現(xiàn)

        3.1 遠程應(yīng)用程序服務(wù)器的實現(xiàn)

        Delphi建立的遠程應(yīng)用程序服務(wù)器要求是一個EXE服務(wù)器,它稱為M IDAS應(yīng)用程序服務(wù)器。通常通過以下幾個步驟來建立:1、建立應(yīng)用程序。2、建立基于TCP/IP的TremoteDataModule的遠程數(shù)據(jù)模塊。3、在遠程數(shù)據(jù)模塊中使用ADOQuery組件連接數(shù)據(jù)庫。4、使用TdataSetProvider組件連接遠程數(shù)據(jù)模塊之中的數(shù)據(jù)集組件。5、編譯、運行遠程應(yīng)用程序服務(wù)器。

        3.2 遠程應(yīng)用程序服務(wù)器與數(shù)據(jù)庫的連接

        本系統(tǒng)使用TADOConnection組件連接數(shù)據(jù)庫。如果想建立多個數(shù)據(jù)源連接,則需要同時使用多個TADOConnection組件,否則只需使用一個TADOConnection組件即可。本系統(tǒng)使用connectionstring連接數(shù)據(jù)庫。連接的語句為“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;InitialCatalog=圖書館管理系統(tǒng);Data Source=yx”其中各參數(shù)意義如下:

        Provider:數(shù)據(jù)提供者。因為本系統(tǒng)數(shù)據(jù)庫為SQL,所以選擇SQLOLEDB.1。

        Persist Security Info:設(shè)置為“false”時,當連接處于打開狀態(tài)時,一些安全信息不會返回。

        User ID:用戶登錄數(shù)據(jù)庫的ID。

        Initial Catalog:數(shù)據(jù)庫的目錄名稱。

        Data Source:數(shù)據(jù)庫服務(wù)器的名稱。

        3.3 客戶服務(wù)器的實現(xiàn)

        客戶端使用TClientDataSet通過TCP/IP與遠程應(yīng)用程序服務(wù)器的TdatasetProvider進行連接來獲取數(shù)據(jù)。使用TClientDataSet的ApplyUpdates方法來保存對數(shù)據(jù)庫的更新操作。其中TClientDataSet是個存在于內(nèi)存中的“虛擬表”,它具有緩沖的作用,因此對數(shù)據(jù)庫的操作非??臁?/p>

        3.4 數(shù)據(jù)的顯示操作

        本系統(tǒng)在客戶服務(wù)器上使用Dbgrid來顯示數(shù)據(jù),利用Dbgrid中的Dataset連接ClientDataSet,而不是直接連接到數(shù)據(jù)源。以往當需要在客戶服務(wù)器上顯示查找的記錄時,會訪問數(shù)據(jù)庫依次查詢各條記錄,直至最后一條。這就造成每次顯示數(shù)據(jù)都必須訪問數(shù)據(jù)庫,當多客戶端或多次操作時,數(shù)據(jù)庫的開銷就很大。Dbgrid的優(yōu)點在于可通過設(shè)置ClientDataSet中的PacketRecords選項可以選擇下載多少的數(shù)據(jù)至內(nèi)存,并直接在內(nèi)存中進行查詢操作,無需每次操作都訪問數(shù)據(jù)庫,極大減少了數(shù)據(jù)庫的開銷,滿足了多客戶端的需求,提高了系統(tǒng)的負載能力。具體的操作步驟如下:

        在客戶服務(wù)器中建立三個TclientDataset,在遠程應(yīng)用程序服務(wù)器中建立兩個TDataSetProvider,兩個ADOQury。其中clientDataset1連接Datasetprocider1,DataSetProvider1的數(shù)據(jù)集為ADOQury1,clientDataset2連接的是Datasetprocide2,DataSetProvider2的數(shù)據(jù)集為ADOQury2,兩個ADOQury的SQL string語句都是Select*From Notebook(從圖書記錄表中選取所有的信息)。ClientDataset3沒有連接任何其它數(shù)據(jù)組件。

        如果用戶要搜索以“明月”為開頭的數(shù)據(jù),那么可能會找到“明月夜”,“明月天”這些數(shù)據(jù),但如果直接把數(shù)據(jù)添加到clientDataset1中,考慮到clientDataset1也許已經(jīng)存在這些數(shù)據(jù),clientDataset1中的數(shù)據(jù)就會重復(fù)。所以必須對clientDataset1進行檢查。如果直接在clientDataset1進行檢查,那么clientDataset1會到數(shù)據(jù)庫下載所有的數(shù)據(jù)。因此需要一個無連接任何組件的clientDataset3。把clientDataset1中的數(shù)據(jù)指定給clientDataset3,用CheckData方法來比較兩個clientDataset的數(shù)據(jù)是否相同,如果找到相同的數(shù)據(jù)則在clientDataset2中刪除,最后把clientDataset2中的數(shù)據(jù)重新更新至clientDataset1即可。

        3.6 數(shù)據(jù)的更新操作

        數(shù)據(jù)的更新操作一般可以分為增加,修改和刪除。本系統(tǒng)使用TclientDataSet組件中的的Insert,Edit,Delete等方法來更新數(shù)據(jù),然后調(diào)用Post。但與兩層體系結(jié)構(gòu)不一樣的地方在于:調(diào)用Post后,實際上并沒有對數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進行更新,而是將更新的內(nèi)容存儲在客戶服務(wù)器的內(nèi)存中。最后必須調(diào)用ApplyUpdates來執(zhí)行更新操作后,才把數(shù)據(jù)真正地更新到數(shù)據(jù)庫服務(wù)器。同時還可以為ApplyUpdates設(shè)置一個數(shù)值來設(shè)置容錯率。數(shù)值的大小代表了容錯率的高低,并設(shè)置出現(xiàn)錯誤時事務(wù)的處理方法來提高系統(tǒng)的安全性。

        4.結(jié)束語

        近年來,隨著計算機網(wǎng)絡(luò)的發(fā)展,對信息的需求越來越大。隨之人們對數(shù)據(jù)處理的要求也越來越高。不僅要求高負荷,也要求高可靠性和安全性。從長遠看,M IDAS的數(shù)據(jù)庫結(jié)構(gòu)將會慢慢取代傳統(tǒng)的兩層數(shù)據(jù)庫結(jié)構(gòu),成為開發(fā)數(shù)據(jù)庫系統(tǒng)的關(guān)鍵技術(shù),為數(shù)據(jù)處理提高安全穩(wěn)固的保障?;谶@種想法,本文闡述了分布式數(shù)據(jù)結(jié)構(gòu)的基本結(jié)構(gòu),對其進行了研究,分析了它的優(yōu)點。并在研究的基礎(chǔ)上,論述了一個基于M IDAS的圖書館信息管理系統(tǒng)。給出了需求分析和具體的實現(xiàn)方法與主要技術(shù)。

        [1] W illiam Y.Arms.數(shù)字圖書館概論[M].電子工業(yè)出版社,2001.

        [2] 王志梅.關(guān)系數(shù)據(jù)庫基礎(chǔ)與技術(shù)[M].國防工業(yè)出版社,2005.

        [3] 董良,高磊,朱明峰,高忠濤.深入淺出Delphi6[M].清華大學出版社,2002.

        [4] 李維.Delphi5.X ADO/MTS/COM+高級程序設(shè)計篇[M].機械工業(yè)出版社,2000.

        [5] 李維.DELPHI5.X分布式多層應(yīng)用系統(tǒng)篇[M].械工業(yè)出版社,2000.

        [6] Arco Cantu.Mastering Delphi7.oel Fugazzotto.2003.

        猜你喜歡
        應(yīng)用程序客戶端組件
        無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        新型碎邊剪刀盤組件
        重型機械(2020年2期)2020-07-24 08:16:16
        U盾外殼組件注塑模具設(shè)計
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        風起新一代光伏組件膜層:SSG納米自清潔膜層
        太陽能(2015年11期)2015-04-10 12:53:04
        客戶端空間數(shù)據(jù)緩存策略
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        韩国女主播一区二区在线观看| 美女张开腿黄网站免费| 风情韵味人妻hd| 亚洲精品无码久久久久牙蜜区| 精品性高朝久久久久久久| 免费 无码 国产精品| 蜜桃av一区二区三区| 日本av天堂一区二区三区| 高h小月被几个老头调教 | 玩中年熟妇让你爽视频| 性一乱一搞一交一伦一性| 欧美日韩一线| 午夜av福利亚洲写真集| 国模91九色精品二三四| 日本大乳高潮视频在线观看| 亚洲一区二区三区成人网站| 亚洲精品亚洲人成在线播放| 日韩精品久久伊人中文字幕| 国产熟女盗摄一区二区警花91| 久久天天躁狠狠躁夜夜不卡| 亚洲av天天做在线观看| 免费国精产品自偷自偷免费看 | 色综合中文字幕综合网| 中文字幕漂亮人妻在线| 成人乱码一区二区三区av| 日日碰狠狠躁久久躁| 日韩av二区三区一区| 天堂av一区一区一区| 第一九区另类中文字幕| 久久精品国产亚洲av麻豆长发| 亚洲狠狠婷婷综合久久久久图片| 99热视热频这里只有精品| 国产主播一区二区在线观看| 亚洲av手机在线观看| 国产精品一区二区日本| 国产精品无码无片在线观看3d | 日韩国产精品一本一区馆/在线| 日本人妻系列一区二区| 亚洲国产精品久久婷婷| 天天爽夜夜爽夜夜爽精品视频 | 国内精品久久久久影院一蜜桃 |