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

        ?

        網(wǎng)絡(luò)教學(xué)平臺(tái)下分布式數(shù)據(jù)庫技術(shù)的研究

        2011-01-24 02:05:10張賀亮趙秋陽陳未如
        關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)中間件分布式

        李 莉, 張賀亮, 趙秋陽, 陳未如, 李 舸

        (1.沈陽化工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧沈陽110142; 2.東軟集團(tuán)股份有限公司,遼寧沈陽110179)

        分布式數(shù)據(jù)庫系統(tǒng)興起于20世紀(jì)70年代中期.由于很多新興應(yīng)用涉及地理上分布的團(tuán)體或組織的局部業(yè)務(wù)管理和系統(tǒng)全局管理,采用集中式數(shù)據(jù)庫管理系統(tǒng)已無法實(shí)現(xiàn)應(yīng)用需求.人們期望符合現(xiàn)實(shí)需求的、能處理分散地域的、具備數(shù)據(jù)庫系統(tǒng)特點(diǎn)的新的數(shù)據(jù)庫系統(tǒng)出現(xiàn).由此,分布式數(shù)據(jù)庫管理系統(tǒng)被提出,并得到迅猛發(fā)展.

        網(wǎng)絡(luò)技術(shù)的高速發(fā)展,使信息資源實(shí)現(xiàn)高度共享,并從根本上改變?nèi)藗冞M(jìn)行信息交流的方式,對(duì)教學(xué)的影響也必將是深刻的.一方面,它給教育管理模式以及教學(xué)模式等帶來巨大影響.另一方面,它可幫助解決傳統(tǒng)課堂教學(xué)中存在的問題,對(duì)教學(xué)過程提供有力支持[1].基于這些,充分利用校園網(wǎng)絡(luò),結(jié)合教學(xué)特點(diǎn),開發(fā)研制網(wǎng)絡(luò)教學(xué)平臺(tái)可充分發(fā)揮其指導(dǎo)學(xué)生學(xué)習(xí)、促進(jìn)師生交流作用.

        本文采用分布式數(shù)據(jù)庫技術(shù)設(shè)計(jì)開發(fā)通用的分布式網(wǎng)絡(luò)教學(xué)平臺(tái).該系統(tǒng)可充分支持師生網(wǎng)上的教學(xué)活動(dòng),如進(jìn)行教學(xué)信息發(fā)布及瀏覽、輔導(dǎo)答疑、師生交流等操作.另外,可方便實(shí)現(xiàn)教學(xué)資源的共享.

        教學(xué)平臺(tái)數(shù)據(jù)庫系統(tǒng)主要設(shè)計(jì)方案:

        (1)采用Amoeba for Aladdin中間件實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫系統(tǒng)間的集成.

        (2)各分散數(shù)據(jù)庫可對(duì)系統(tǒng)發(fā)布共享數(shù)據(jù),應(yīng)用程序通過一套資源注冊(cè)機(jī)制查找合適的數(shù)據(jù)源.這樣可將資源定位模塊從傳統(tǒng)分布式程序設(shè)計(jì)中脫離,便于維護(hù)和管理.

        (3)建立一個(gè)虛擬數(shù)據(jù)庫,對(duì)各個(gè)異構(gòu)數(shù)據(jù)庫的開放數(shù)據(jù)進(jìn)行集成,轉(zhuǎn)化成統(tǒng)一格式,為程序開發(fā)人員提供一個(gè)單一邏輯數(shù)據(jù)視圖.

        1 關(guān)鍵技術(shù)

        1.1 分布式數(shù)據(jù)庫系統(tǒng)

        分布式數(shù)據(jù)庫系統(tǒng)是地理上分散而邏輯上集中的數(shù)據(jù)庫系統(tǒng).即通過計(jì)算機(jī)網(wǎng)絡(luò)將地理上分散的各局域結(jié)點(diǎn)連接起來共同組成一個(gè)邏輯上統(tǒng)一的大數(shù)據(jù)庫系統(tǒng)[2].因此可以說分布式數(shù)據(jù)庫系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物.

        分布式數(shù)據(jù)庫系統(tǒng)中分布數(shù)據(jù)庫由一個(gè)邏輯的虛擬數(shù)據(jù)庫(稱全局?jǐn)?shù)據(jù)庫)和分散在各個(gè)場地的局部數(shù)據(jù)庫(物理上存儲(chǔ)的數(shù)據(jù)庫)兩級(jí)數(shù)據(jù)庫組成.結(jié)點(diǎn)的局部數(shù)據(jù)庫在邏輯上集成為一個(gè)整體,并為分布式數(shù)據(jù)庫系統(tǒng)的所有用戶使用,這種應(yīng)用稱全局應(yīng)用.應(yīng)用程序與系統(tǒng)實(shí)際數(shù)據(jù)組織相分離,因此數(shù)據(jù)具有獨(dú)立性或透明性.

        分布式數(shù)據(jù)庫系統(tǒng)允許用戶只使用本地的局部數(shù)據(jù)庫,該應(yīng)用稱局部應(yīng)用.這種局部用戶獨(dú)立于全局用戶的特性稱局部數(shù)據(jù)庫的自治性.

        1.2 分布式數(shù)據(jù)庫管理系統(tǒng)(DDBMS)

        分布式數(shù)據(jù)庫管理系統(tǒng)是分布式數(shù)據(jù)庫系統(tǒng)的一組軟件,負(fù)責(zé)分布式數(shù)據(jù)庫的數(shù)據(jù)管理和操作[2].由于分布式數(shù)據(jù)庫管理系統(tǒng)基于分布環(huán)境下實(shí)現(xiàn),必須保證邏輯數(shù)據(jù)的一致性、完整性等,因此,其復(fù)雜度遠(yuǎn)高于集中式數(shù)據(jù)庫管理系統(tǒng).

        分布式數(shù)據(jù)庫管理系統(tǒng)通常由局部場地上的數(shù)據(jù)庫管理系統(tǒng),全局?jǐn)?shù)據(jù)庫管理系統(tǒng),全局字典和通信管理系統(tǒng)4部分組成[3].分布式數(shù)據(jù)庫管理系統(tǒng)按控制方式可分為全局控制集中的DDBMS與全局控制分散的DDBMS.按局部DDBMS類型可分為同構(gòu)型DDBMS與異構(gòu)型DDBMS[4].本網(wǎng)絡(luò)教學(xué)平臺(tái)使用的分布式數(shù)據(jù)庫管理系統(tǒng)屬于全局控制分散的、局部同構(gòu)型DDBMS.

        1.3 Amoeba for Aladdin異構(gòu)分布式數(shù)據(jù)庫Proxy解決方案

        Amoeba for Aladdin項(xiàng)目,專注分布式數(shù)據(jù)庫proxy開發(fā),位于Client與DB Server(s)之間,致力于解決數(shù)據(jù)切分、讀寫分離等功能.對(duì)客戶端透明,具有負(fù)載均衡、高可用性、sql過濾、讀寫分離、可路由相關(guān)的query到目標(biāo)數(shù)據(jù)庫、可并發(fā)請(qǐng)求多臺(tái)數(shù)據(jù)庫合并結(jié)果等特征.

        1.3.1 項(xiàng)目的主要功能

        (1)降低數(shù)據(jù)切分帶來的復(fù)雜多數(shù)據(jù)庫結(jié)構(gòu).

        (2)提供切分規(guī)則并降低數(shù)據(jù)切分規(guī)則給應(yīng)用帶來的影響.

        (3)降低db與客戶端的連接數(shù).

        (4)讀寫分離.

        (5)提供異構(gòu)數(shù)據(jù)庫(mysql,oracle等)整合能力.

        1.3.2 項(xiàng)目特點(diǎn)

        (1)Built on Java NIO,采用java NIO框架無阻塞模式,不像傳統(tǒng)的Socket編程在大量并發(fā)的情況非常浪費(fèi)系統(tǒng)資源、且可擴(kuò)展性較差.

        (2)Reusable Server Connection,Amoeba for Aladdin提供數(shù)據(jù)庫連接的可重用度非常高,在Amoeba for Aladdin系統(tǒng)內(nèi)所有database connection同時(shí)共享給所有連接到Amoeba for Aladdin的客戶端.

        (3)提供讀寫分離、數(shù)據(jù)切分,傳統(tǒng)的讀寫分離技術(shù)需要通過客戶端或者相關(guān)的database driver技術(shù)才能解決,而且客戶端的配置也比較復(fù)雜.單臺(tái) database性能總是有限制,基于Amoeba for Aladdin可尋找一種可線性擴(kuò)展的多數(shù)據(jù)庫支持.Amoeba for Aladdin為DBA提供一種非常友好的類似SQL語法的數(shù)據(jù)切分規(guī)則,同時(shí)客戶端不用擔(dān)心過多的Database Server會(huì)給應(yīng)用帶來更多配置.

        (4)支持高可用性、負(fù)責(zé)均衡,Amoeba for Aladdin提供Database連接的異常檢測與連接恢復(fù)功能.用戶可節(jié)省使用其他昂貴的負(fù)載均衡硬件設(shè)備,Amoeba for Aladdin提供多臺(tái) Database Server負(fù)載均衡策略.

        2 系統(tǒng)設(shè)計(jì)

        2.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

        教學(xué)資源平臺(tái)需要將分散的教學(xué)資源進(jìn)行集成管理,因此要求各局部數(shù)據(jù)庫具有統(tǒng)一的數(shù)據(jù)格式.局部數(shù)據(jù)庫系統(tǒng)原則上也可根據(jù)實(shí)際需求和數(shù)據(jù)量,采用任何類型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng).本文各局部數(shù)據(jù)庫系統(tǒng)統(tǒng)一使用mysql (mysql4.1以上).局部數(shù)據(jù)庫以水平分片和垂直分片方式存儲(chǔ)格式統(tǒng)一的分散數(shù)據(jù).

        以課程資源表(見表1)水平分片為例說明系統(tǒng)的分片設(shè)計(jì)原則.

        表1 課程資源表Table 1 Table of course resource

        由于各分片的表主鍵不能重復(fù),所以通過res_id進(jìn)行水平分片,每個(gè)具體的局部數(shù)據(jù)庫將針對(duì)一個(gè)有限的res_id范圍進(jìn)行局部應(yīng)用,如資源的上傳(見圖1).

        圖1 局部資源上傳Fig.1 Local resource upload

        對(duì)于全局應(yīng)用系統(tǒng)將用Amoeba for Aladdin作為數(shù)據(jù)庫訪問的中間件來實(shí)現(xiàn)教學(xué)資源的集成.資源提供者是各個(gè)教師所開放的教學(xué)資源,資源保持原始的分布式存儲(chǔ)狀態(tài).資源提供者將自己的資源注冊(cè)到Amoeba for Aladdin,同時(shí)上傳資源副本到全局?jǐn)?shù)據(jù)庫.在中間件上包含所有資源提供者注冊(cè)的資源信息.資源請(qǐng)求者包括學(xué)生用戶,也包括作為資源提供者的教師.當(dāng)資源請(qǐng)求者提出訪問請(qǐng)求時(shí),系統(tǒng)向中間件系統(tǒng)提交查詢并將其找到的資源信息返回給資源請(qǐng)求者,資源請(qǐng)求者根據(jù)得到的信息向資源提供者提出數(shù)據(jù)訪問請(qǐng)求,如果資源存儲(chǔ)在本地則可直接進(jìn)行本地的資源訪問,如果資源存放在異地?cái)?shù)據(jù)庫上則通過中間件系統(tǒng)進(jìn)行訪問.中間件系統(tǒng)中同樣可以存放一些重要的資源副本,如果提供者當(dāng)前由于某種原因(用戶不在線、網(wǎng)絡(luò)不通等)不能提供資源,可自動(dòng)訪問到中間件上的副本資源,將中間件上的資源副本信息交給資源請(qǐng)求者,如圖2所示.

        圖2 資源共享結(jié)構(gòu)Fig.2 Resource sharing structure

        2.2 系統(tǒng)功能模塊設(shè)計(jì)

        平臺(tái)采用模塊化設(shè)計(jì)和開發(fā).如圖3所示,平臺(tái)一共分為4大模塊:個(gè)人信息模塊、課程信息模塊、在線交流模塊以及系統(tǒng)管理模塊.各模塊松散耦合,使平臺(tái)中任何一個(gè)模塊的變化對(duì)系統(tǒng)其他模塊的影響降至最低程度.對(duì)任何一個(gè)模塊的理解、測試和修改,無須涉及系統(tǒng)的其他模塊.各模塊之間的通信通過數(shù)據(jù)庫進(jìn)行.任何一個(gè)模塊都針對(duì)教師、管理員、學(xué)生的不同角色設(shè)計(jì)不同的功能.

        圖3 系統(tǒng)模塊結(jié)構(gòu)Fig.3 System module structure

        (1)課程信息模塊.用戶登錄后,可從課程信息模塊中查看到所有課程信息,并可選擇自己感興趣的課程添加到我的課程列表中,方便以后查看.用戶可下載該課程所提供的所有資源,教師還可創(chuàng)建新的課程.

        (2)個(gè)人信息模塊.包含用戶的個(gè)人信息,如姓名,年齡,院系等,用戶登錄后可修改自己的信息,其他用戶只能查看.

        (3)討論區(qū)模塊.包括在線討論和留言板,用戶登錄后,進(jìn)入在線交流,學(xué)生可通過聊天的方式與當(dāng)前在線教師進(jìn)行實(shí)時(shí)交流.在留言板里,學(xué)生把自己的問題通過發(fā)帖形式發(fā)布到留言板,等待教師的回答,教師通過回帖形式對(duì)問題進(jìn)行解答.

        (4)系統(tǒng)管理模塊.本模塊屬于管理員和教師用戶,教師可管理屬于自己課程(我的課程列表中的課程)的討論區(qū),對(duì)留言進(jìn)行修改和刪除,管理員還可對(duì)非法用戶進(jìn)行刪除,以及權(quán)限修改等操作.

        2.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)

        系統(tǒng)的數(shù)據(jù)庫中包含7個(gè)表:

        學(xué)生表——學(xué)生個(gè)人信息;

        教師表——教師個(gè)人信息;

        課程表——課程信息;

        學(xué)生課程表——學(xué)生與選擇課程的對(duì)應(yīng)關(guān)系;

        教師課程表——教師與選擇課程的對(duì)應(yīng)關(guān)系;

        管理員表——管理員個(gè)人信息;

        資源表——資源信息.

        中間件系統(tǒng)中保存7個(gè)表的完整信息,每個(gè)結(jié)點(diǎn)數(shù)據(jù)庫只存放教師的個(gè)人、課程及資源信息,這樣每個(gè)教師機(jī)器只擁有自己的信息.當(dāng)有請(qǐng)求要訪問該部分信息時(shí),直接訪問教師機(jī)器上的結(jié)點(diǎn)數(shù)據(jù)庫.只有在該教師機(jī)器當(dāng)前不可用時(shí),再去訪問中間件數(shù)據(jù)庫.

        3 系統(tǒng)實(shí)現(xiàn)

        3.1 系統(tǒng)架構(gòu)

        系統(tǒng)采用MVC設(shè)計(jì)模式進(jìn)行開發(fā),視圖層采用JSF框架,用戶通過瀏覽器訪問系統(tǒng),看到的只能是視圖層,在視圖層上,用戶進(jìn)行相應(yīng)操作.系統(tǒng)中大量的業(yè)務(wù)操作放置在業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層采用Spring框架進(jìn)行設(shè)計(jì),對(duì)業(yè)務(wù)的操作一般需要操作數(shù)據(jù)庫,在業(yè)務(wù)層和數(shù)據(jù)層間采用基于Hibernate框架的持久層開發(fā).系統(tǒng)架構(gòu)如圖4所示.

        圖4 局部系統(tǒng)架構(gòu)Fig.4 Local system architecture

        3.2 開發(fā)平臺(tái)

        系統(tǒng)在windows平臺(tái)下進(jìn)行搭建和開發(fā),采用mysql5.0作為局部數(shù)據(jù)庫服務(wù)器、Amoeba for Aladdin作為分布式數(shù)據(jù)庫管理系統(tǒng).由于A-moeba for Aladdin采用跨平臺(tái)的java語言編寫,所以對(duì)于具體的操作系統(tǒng)平臺(tái)沒有特殊要求.另外,系統(tǒng)采用中間件的方式來集成教學(xué)資源,所以對(duì)于客戶端以及局部應(yīng)用等均沒有特殊要求,可采用任何當(dāng)前流行的技術(shù)實(shí)現(xiàn).本系統(tǒng)使用Java技術(shù)開發(fā)實(shí)現(xiàn).

        3.3 資源發(fā)現(xiàn)機(jī)制

        針對(duì)各院系對(duì)自身教學(xué)資源的開放程度,系統(tǒng)將根據(jù)Amoeba for Aladdin配置文件的特點(diǎn)制定具體的資源發(fā)現(xiàn)機(jī)制來支持局部數(shù)據(jù)庫服務(wù)器的擴(kuò)展.若院系A(chǔ)要對(duì)外公布自己的教學(xué)資源,其可向Amoeba for Aladdin代理進(jìn)行注冊(cè),注冊(cè)的內(nèi)容包括:IP地址、端口號(hào)、數(shù)據(jù)庫名、用戶名和密碼.

        3.3.1 配置Amoeba for Aladdin

        在獲取各局部數(shù)據(jù)庫服務(wù)器的注冊(cè)信息后,系統(tǒng)采用XML的Dom解析技術(shù)完成amoeba配置文件amoeba.xml與規(guī)則文件rule.xml的配置工作,如圖5所示.

        圖5 資源定位結(jié)構(gòu)Fig.5 Resource locating structure

        3.3.2 訪問Amoeba for Aladdin

        系統(tǒng)對(duì)各院系公布中間件服務(wù)器的訪問信息: IP地址、端口號(hào)、登錄用戶名和登錄密碼以及各個(gè)資源表的id范圍,各院系便可針對(duì)自身的應(yīng)用需求訪問Amoeba for Aladdin代理來實(shí)現(xiàn)異地教學(xué)資源的訪問.以某高校用戶訪問本地教學(xué)資源和全局教學(xué)資源為例,若用戶需要訪問本地資源,只需要通過局部應(yīng)用就可實(shí)現(xiàn),以減小分布式中間件的網(wǎng)絡(luò)通信負(fù)擔(dān).若需要訪問全局資源,則需通過分布式代理中間件(Amoeba for Aladdin)找到其他數(shù)據(jù)庫中的資源或資源目錄,實(shí)現(xiàn)機(jī)制如圖6所示.

        圖6 分布式網(wǎng)絡(luò)教學(xué)平臺(tái)整體結(jié)構(gòu)Fig.6 Global structure of distributed online teaching platform

        4 結(jié)束語

        基于Amoeba for Aladdin的分布式網(wǎng)絡(luò)教學(xué)資源管理系統(tǒng),符合全局控制分散的DDBMS體系結(jié)構(gòu)的分布式數(shù)據(jù)庫要求,實(shí)現(xiàn)了網(wǎng)絡(luò)教學(xué)平臺(tái)資源的集成與共享.

        系統(tǒng)中的數(shù)據(jù)庫按照統(tǒng)一的數(shù)據(jù)管理、分布式的資源存儲(chǔ)模式,以便捷的方式實(shí)現(xiàn)各結(jié)點(diǎn)資源庫資源的共享.整個(gè)系統(tǒng)資源庫的結(jié)構(gòu)對(duì)用戶來說是透明的,用戶可通過傳統(tǒng)的訪問方式訪問到系統(tǒng)中所有資源,無需關(guān)注資源實(shí)際的物理存儲(chǔ)位置.通過大量的系統(tǒng)測試表明本系統(tǒng)極大地提高結(jié)點(diǎn)資源庫的訪問效率,減少中心資源庫的訪問壓力,減輕服務(wù)器的通信代價(jià).同時(shí)相對(duì)于傳統(tǒng)教學(xué)平臺(tái)模式而言,建立在分布式數(shù)據(jù)庫基礎(chǔ)上的網(wǎng)絡(luò)教學(xué)平臺(tái),有效地解決了資源和數(shù)據(jù)分散使用與集中管理的矛盾,很好地實(shí)現(xiàn)數(shù)據(jù)的共享和交換.實(shí)現(xiàn)了一個(gè)分布化、網(wǎng)絡(luò)化,高效實(shí)用的教學(xué)資源管理平臺(tái).

        [1] 劉衛(wèi)國,謝華,蔡立燕.基于Struts與Hibernate的網(wǎng)絡(luò)教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].教育信息化,2006(7):26-28.

        [2] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].2版.北京:高等教育出版社,2004:412-435.

        [3] 夏偉偉.分布式數(shù)據(jù)庫開發(fā)平臺(tái)的研究[D].北京,中國石油大學(xué),2006:5-16.

        [4] 肖凌,劉繼紅,姚建初.分布式數(shù)據(jù)庫系統(tǒng)的研究與應(yīng)用[J].計(jì)算機(jī)工程,2001,27(1):33-34.

        猜你喜歡
        數(shù)據(jù)庫系統(tǒng)中間件分布式
        數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
        電子測試(2018年14期)2018-09-26 06:04:24
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計(jì)與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)與開發(fā)
        實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
        核反應(yīng)堆材料數(shù)據(jù)庫系統(tǒng)及其應(yīng)用
        基于DDS的分布式三維協(xié)同仿真研究
        中間件在高速公路領(lǐng)域的應(yīng)用
        18禁成人免费av大片一区| 国产成熟人妻换╳╳╳╳| 伊人狠狠色丁香婷婷综合| 综合网五月| 久久无码高潮喷水抽搐| 日韩女优在线一区二区| 漂亮丰满人妻被中出中文字幕| 中文字幕人妻伦伦| 夜夜躁狠狠躁2021| 日韩欧美亚洲中字幕在线播放| 男女上床视频在线观看| 亚洲熟妇一区二区蜜桃在线观看| 国产18禁黄网站免费观看| 久久久精品一区aaa片| 3d动漫精品啪啪一区二区下载| 国产成人香蕉久久久久| 久久精品伊人久久精品| 极品美女一区二区三区免费| 欧美日韩亚洲中文字幕二区| 国产成人精品日本亚洲| 国产91一区二这在线播放| 日韩熟女精品一区二区三区视频 | 欧美日韩中文字幕久久伊人| 中文字幕乱码亚洲美女精品一区| 美女与黑人巨大进入免费观看| 欧美成人秋霞久久aa片| 亚洲成a∨人片在无码2023| 亚洲激情人体艺术视频| 日本小视频一区二区三区| 日产一区二区三区免费看| 中文人妻熟妇乱又伦精品| 久久国产精品波多野结衣av| 午夜一区二区三区av| 久久亚洲春色中文字幕久久| 国产电影无码午夜在线播放| 国产午夜亚洲精品午夜鲁丝片| 亚洲成aⅴ人片在线观看天堂无码| 精品日韩在线观看视频| 免费人成小说在线观看网站| 国内精品久久久久影院一蜜桃 | 在线人成视频播放午夜|