時(shí)間:2023-04-08 11:26:42
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇數(shù)據(jù)庫(kù)設(shè)計(jì)論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。
2數(shù)據(jù)庫(kù)自動(dòng)分片設(shè)計(jì)
管理系統(tǒng)在運(yùn)行中會(huì)產(chǎn)生大量的寫(xiě)操作,進(jìn)而帶來(lái)頻繁的磁盤(pán)I/O操作,在大數(shù)據(jù)下,最好采用將數(shù)據(jù)庫(kù)分布在多臺(tái)服務(wù)器上,即分片[7]。本文采用Auto-Sharding(自動(dòng)分片)及Replic-Set(復(fù)本集)相結(jié)合的方式來(lái)減輕單個(gè)數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載,即在每臺(tái)Server上各自運(yùn)行一個(gè)實(shí)例,組成一個(gè)Replic-Set,最后再各運(yùn)行一個(gè)實(shí)例,組成ConfigServer。直接執(zhí)行Addshard操作即可增加分片以緩解服務(wù)器的壓力,實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展。分片的實(shí)現(xiàn)重點(diǎn)在于片鍵設(shè)計(jì)。本文將保存天線參數(shù)信息的集合聲明了一個(gè)復(fù)合片鍵{Lacci:1,Day:1}。當(dāng)來(lái)自不同的小區(qū)(可以根據(jù)Lacci進(jìn)行判斷)向集群系統(tǒng)插入數(shù)據(jù)時(shí),可以預(yù)計(jì)到在大部分情況下,同一小區(qū)的數(shù)據(jù)會(huì)落在單個(gè)塊或片上。
3數(shù)據(jù)庫(kù)查詢(xún)的實(shí)現(xiàn)
數(shù)據(jù)查詢(xún)功能為本數(shù)據(jù)庫(kù)設(shè)計(jì)的重要功能之一。數(shù)據(jù)庫(kù)將小區(qū)信息、天線參數(shù)等相關(guān)的數(shù)據(jù)信息根據(jù)用戶的要求,以界面或報(bào)表的形式全部或部分的顯示給用戶?;诒緮?shù)據(jù)庫(kù)的設(shè)計(jì),用戶通過(guò)數(shù)據(jù)查詢(xún)菜單進(jìn)入相應(yīng)查詢(xún)界面,獲取小區(qū)信息、終端信息及告警信息等。實(shí)現(xiàn)“天線工程參數(shù)查詢(xún)”功能的工作流程如圖3所示。為了實(shí)現(xiàn)小區(qū)天線參數(shù)查詢(xún)功能,客戶端需要向數(shù)據(jù)庫(kù)發(fā)送2次請(qǐng)求,用戶根據(jù)需求,向控制器發(fā)送查詢(xún)請(qǐng)求,控制器處理查詢(xún)命令,對(duì)相應(yīng)的小區(qū)進(jìn)行信息查詢(xún),待小區(qū)返回信息后,將用戶的查詢(xún)命令發(fā)送至對(duì)應(yīng)小區(qū),根據(jù)需求讀取有用信息,并返回給用戶。跟關(guān)系型數(shù)據(jù)庫(kù)相比,由于省去了大量的多表連接操作,實(shí)際上查詢(xún)的效率要高于基于關(guān)系型數(shù)據(jù)庫(kù)的多表連接查詢(xún)。查詢(xún)工作的SQL語(yǔ)句如下。
4數(shù)據(jù)庫(kù)備份與恢復(fù)
數(shù)據(jù)安全在數(shù)據(jù)庫(kù)設(shè)計(jì)中有很重要的地位。在各種意外情況下,如計(jì)算機(jī)硬件故障等,對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份和恢復(fù)能夠保障數(shù)據(jù)的完整性和安全性,使得數(shù)據(jù)損失降到最?。?]。本數(shù)據(jù)庫(kù)設(shè)計(jì)的備份選用的是副本集的方式[7]:在主節(jié)點(diǎn)上進(jìn)行操作,寫(xiě)入的數(shù)據(jù)被一步地同步到所有的從節(jié)點(diǎn)上,并從主節(jié)點(diǎn)或從節(jié)點(diǎn)上讀取數(shù)據(jù),如果主節(jié)點(diǎn)由于某些原因斷線,會(huì)自動(dòng)將一個(gè)從節(jié)點(diǎn)提升為主節(jié)點(diǎn)。在查詢(xún)分析器中運(yùn)用SQL語(yǔ)句完成數(shù)據(jù)庫(kù)的備份和恢復(fù)。在數(shù)據(jù)庫(kù)管理界面中,用戶通過(guò)數(shù)據(jù)庫(kù)備份與恢復(fù)功能進(jìn)行相應(yīng)操作,確保數(shù)據(jù)的正確行和完整性。
2.信息資料子模塊信息資料子模塊主要實(shí)現(xiàn)了專(zhuān)業(yè)信息、課程信息、學(xué)生基本信息和成績(jī)的增加、修改和刪除操作。此功能模塊的設(shè)計(jì),都是便于信息查詢(xún)模塊的實(shí)現(xiàn),重要的是所有的專(zhuān)業(yè)、課程、學(xué)生及成績(jī)信息都必須是真實(shí)可靠的,否則將會(huì)影響到信息查詢(xún)模塊功能的實(shí)現(xiàn),同時(shí),填加學(xué)生基本信息時(shí),要考慮到整個(gè)系統(tǒng)各個(gè)模塊之間的聯(lián)系,因?yàn)樗衅渌畔⒐δ艿膶?shí)現(xiàn)都與學(xué)生基本信息有著關(guān)聯(lián)。
3.信息查詢(xún)子模塊(1)課程查詢(xún):根據(jù)查詢(xún)內(nèi)容(按專(zhuān)業(yè)、按所屬院系、按課程名稱(chēng))來(lái)查詢(xún)學(xué)生的課程信息。(2)學(xué)生資料查詢(xún):根據(jù)查詢(xún)內(nèi)容(按學(xué)號(hào)、按姓名、按專(zhuān)業(yè)、按班級(jí))來(lái)查詢(xún)學(xué)生的基本信息。(3)成績(jī)查詢(xún):根據(jù)查詢(xún)內(nèi)容(按學(xué)號(hào)、按姓名、按專(zhuān)業(yè)、按課程)來(lái)查詢(xún)學(xué)生的成績(jī)信息。
二、數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)
多數(shù)據(jù)庫(kù)系統(tǒng)是分布式數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要分支,是一個(gè)新興的數(shù)據(jù)庫(kù)研究領(lǐng)域。隨著企業(yè)規(guī)模的不斷擴(kuò)大,各部門(mén)所需信息既相互交錯(cuò),又相對(duì)獨(dú)立。這就要求各部門(mén)所用的數(shù)據(jù)庫(kù)既能高度自治地工作,又能進(jìn)行信息共享。
DM2是采用客戶/服務(wù)器模型,客戶機(jī)與服務(wù)器,服務(wù)器與服務(wù)器均通過(guò)網(wǎng)絡(luò)互連,通過(guò)消息相互通訊,組成一個(gè)緊密耦合的分布式數(shù)據(jù)庫(kù)系統(tǒng)。它的工作流程如下:客戶機(jī)登錄到一臺(tái)服務(wù)器上,這臺(tái)服務(wù)器便成為它的服務(wù)器;它接收來(lái)自客戶機(jī)的消息,然后根據(jù)全局?jǐn)?shù)據(jù)字典決定是自己獨(dú)立完成該操作,還是與其它服務(wù)器協(xié)作處理這條消息,處理完成之后,再由服務(wù)器將處理結(jié)果返回給客戶機(jī)。由于DM2上各個(gè)服務(wù)器站點(diǎn)的全局字典完全相同,任何全局表的信息都會(huì)記入全局字典。若用它來(lái)構(gòu)建一個(gè)企業(yè)的數(shù)據(jù)庫(kù)系統(tǒng),則大量只對(duì)企業(yè)某部門(mén)有用的信息將會(huì)充斥在各部門(mén)所有服務(wù)器的全局字典中,增加了冗余。而且,當(dāng)對(duì)全局表進(jìn)行DDL操作時(shí),為了確保全局字典的一致性,須對(duì)所有服務(wù)器的全局字典進(jìn)行加鎖。DM2對(duì)全局字典的封鎖方式是采用令牌環(huán)方式,即令牌繞虛環(huán)(非實(shí)環(huán))傳輸,某個(gè)服務(wù)器想對(duì)全局字典進(jìn)行操作,必須等令牌到達(dá)該服務(wù)器才可以執(zhí)行。每個(gè)部門(mén)建立的全局表絕大多數(shù)只對(duì)本部門(mén)有用,當(dāng)對(duì)這些表進(jìn)行DDL操作時(shí),卻要對(duì)所有服務(wù)器的全局字典進(jìn)行封鎖,通過(guò)令牌來(lái)實(shí)現(xiàn)對(duì)全局字典的互斥訪問(wèn)。這嚴(yán)重?fù)p害了數(shù)據(jù)庫(kù)的效率。
為彌補(bǔ)以上不足,在DM2的改進(jìn)版本DM3中增加了協(xié)調(diào)器,用以聯(lián)接各個(gè)獨(dú)立的DM3數(shù)據(jù)庫(kù)子系統(tǒng),并協(xié)調(diào)各子系統(tǒng)間的各種關(guān)系,使各子系統(tǒng)既能高度自治地工作,又能進(jìn)行有效的信息共享。
一、多數(shù)據(jù)庫(kù)體系結(jié)構(gòu)
本系統(tǒng)可看作多個(gè)數(shù)據(jù)庫(kù)子系統(tǒng)被協(xié)調(diào)器聯(lián)起來(lái)的,高度自治的一個(gè)聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)。其中,每個(gè)子系統(tǒng)獨(dú)立處理本系統(tǒng)內(nèi)部的事務(wù),而子系統(tǒng)間的信息共享由復(fù)制技術(shù)提供,副本間的一致性由協(xié)調(diào)器協(xié)調(diào)處理,處理所需的信息在初始化時(shí)寫(xiě)入?yún)f(xié)調(diào)器的組間數(shù)據(jù)字典中。當(dāng)對(duì)某子系統(tǒng)中的一份數(shù)據(jù)副本進(jìn)行修改時(shí),該子系統(tǒng)會(huì)將修改通知協(xié)調(diào)器,由協(xié)調(diào)器對(duì)該數(shù)據(jù)的其它副本進(jìn)行修改,從而保證了所有副本的一致性。
由以上可知,子系統(tǒng)彼此并不直接接觸,而是各自都與協(xié)調(diào)器直接相聯(lián),由協(xié)調(diào)器統(tǒng)一管理子系統(tǒng)間的通信。這樣,當(dāng)子系統(tǒng)對(duì)副本進(jìn)行修改時(shí),不必關(guān)心相應(yīng)的子系統(tǒng)處于何種狀態(tài),也不必等待回應(yīng)消息,以及異常處理,所有這些都由協(xié)調(diào)器進(jìn)行管理。因此,既提高了系統(tǒng)運(yùn)行的效率,也保證了子系統(tǒng)的獨(dú)立性。
協(xié)調(diào)器主要有三大功能,首先,它對(duì)協(xié)調(diào)器和服務(wù)器進(jìn)行初始化,并將有關(guān)信息存入組間字典;其次,它管理不同子系統(tǒng)間的通信,維護(hù)副本的一致性;最后,它在子系統(tǒng)出現(xiàn)崩潰時(shí),進(jìn)行異常管理及恢復(fù)工作。
二、多數(shù)據(jù)庫(kù)互聯(lián)機(jī)制的主要策略
多個(gè)DM3系統(tǒng)間的信息共享是通過(guò)副本實(shí)現(xiàn)的,副本的一致性是由協(xié)調(diào)器來(lái)維持的,是一種弱一致性。通常,多數(shù)據(jù)庫(kù)系統(tǒng)間的一致性是通過(guò)協(xié)調(diào)器周期性地訪問(wèn)服務(wù)器的日志來(lái)完成的。由于副本的更新帶有隨機(jī)性,因此,若采用這種方法,可能數(shù)據(jù)被修改多次,但其相對(duì)應(yīng)的副本仍未被修改,這樣就損害了數(shù)據(jù)的一致性;也可能數(shù)據(jù)并未被修改,但協(xié)調(diào)器已多次訪問(wèn)了服務(wù)器的日志了,這樣就降低了系統(tǒng)的效率。
所以,本系統(tǒng)采用的方法是當(dāng)數(shù)據(jù)被修改時(shí),由服務(wù)器通知協(xié)調(diào)器有關(guān)信息,再由協(xié)調(diào)器通知相關(guān)系統(tǒng),修改相關(guān)數(shù)據(jù)。這樣,數(shù)據(jù)的修改及時(shí)(仍然是弱一致性),而協(xié)調(diào)器也不會(huì)在數(shù)據(jù)未被修改的情況下訪問(wèn)服務(wù)器,提高了準(zhǔn)確性。
為了使協(xié)調(diào)器正常工作,我們對(duì)底層數(shù)據(jù)庫(kù)管理系統(tǒng)DM2進(jìn)行了修改。在基表控制塊TV_CTRL_BLOCK中增加一項(xiàng)IsReplication。建表時(shí),該項(xiàng)初始化為false;當(dāng)為該表建立一個(gè)副本時(shí),該項(xiàng)賦值為true。具體算法如下。
1、初始化算法。
協(xié)調(diào)器:從用戶或應(yīng)用程序接收待連接的兩個(gè)系統(tǒng)中的服務(wù)器名,需復(fù)制的表名;分別登錄到兩個(gè)系統(tǒng)的服務(wù)器上;向存有待復(fù)制表的服務(wù)器發(fā)預(yù)復(fù)制消息;等待服務(wù)器消息;若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶或應(yīng)用程序;若成功,從消息中取出待復(fù)制表的有關(guān)信息,根據(jù)這些信息,發(fā)一條建表消息給另一個(gè)系統(tǒng)的服務(wù)器;等待服務(wù)器消息;若失敗,發(fā)一條失敗的消息給服務(wù)器和用戶或應(yīng)用程序;若成功,調(diào)數(shù)據(jù)轉(zhuǎn)移程序,進(jìn)行數(shù)據(jù)復(fù)制;將有關(guān)信息寫(xiě)入組間字典,退出。服務(wù)器:當(dāng)服務(wù)器收到預(yù)復(fù)制消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為true。同時(shí),取出待復(fù)制表的有關(guān)信息,組成應(yīng)答消息發(fā)給協(xié)調(diào)器。當(dāng)服務(wù)器收到失敗的消息后,將基表控制塊TV_CTRL_BLOCK中的IsReplication賦為false。
2、維護(hù)算法。
協(xié)調(diào)器:從組間字典讀出相關(guān)信息,根據(jù)這些信息,登錄到相應(yīng)系統(tǒng)上;等待消息;從某系統(tǒng)的服務(wù)器上收到一條修改消息后,通過(guò)查找組間字典,確定該消息的目的地,然后將它轉(zhuǎn)發(fā)過(guò)去;若失敗,定時(shí)重發(fā)。
1.1教學(xué)內(nèi)容分析
學(xué)習(xí)《數(shù)據(jù)庫(kù)技術(shù)》課程前學(xué)習(xí)者已經(jīng)學(xué)習(xí)了《計(jì)算機(jī)技術(shù)基礎(chǔ)》、《C語(yǔ)言》和《數(shù)據(jù)結(jié)構(gòu)》等先行課程,“概念結(jié)構(gòu)設(shè)計(jì)”教學(xué)內(nèi)容安排上是在數(shù)據(jù)庫(kù)基本概念、關(guān)系數(shù)據(jù)庫(kù)、SQL語(yǔ)言和關(guān)系數(shù)據(jù)理論之后,“概念結(jié)構(gòu)設(shè)計(jì)”部分包括概念結(jié)構(gòu)設(shè)計(jì)的概念、方法與步驟、數(shù)據(jù)抽象和視圖的集成。本部分內(nèi)容的重點(diǎn)是概念結(jié)構(gòu)設(shè)計(jì)的方法。難點(diǎn)是根據(jù)具體系統(tǒng)內(nèi)容的描述設(shè)計(jì)基本E-R圖。
1.2學(xué)習(xí)者動(dòng)機(jī)分析
“概念結(jié)構(gòu)設(shè)計(jì)”較抽象,學(xué)習(xí)者需要從復(fù)雜的實(shí)際應(yīng)用中找出數(shù)據(jù)庫(kù)設(shè)計(jì)中的關(guān)鍵因素,學(xué)習(xí)者尚不知該內(nèi)容在整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)中的重要作用,鑒于此內(nèi)容的難度較大,易使學(xué)習(xí)者知難而退,對(duì)學(xué)習(xí)者學(xué)習(xí)的積極性產(chǎn)生負(fù)面影響。
2動(dòng)機(jī)策略設(shè)計(jì)及實(shí)施
2.1課程導(dǎo)入
2.1.1教學(xué)內(nèi)容
將49名學(xué)習(xí)者分為5個(gè)小組,利用課前時(shí)間每組分別分析淘寶、京東、當(dāng)當(dāng)網(wǎng)、1號(hào)店、天貓的網(wǎng)上購(gòu)物流程,并分組進(jìn)行調(diào)查匯報(bào)。提出問(wèn)題:你分析系統(tǒng)中的商品有哪些屬性?訂單包括哪些內(nèi)容?訂單與客戶和商品之間的聯(lián)系及涉及的實(shí)體有哪些?訂單有哪些狀態(tài)?知識(shí)回顧:實(shí)體、屬性和聯(lián)系的概念,選課E-R模型實(shí)例。
2.1.2動(dòng)機(jī)策略應(yīng)用
注意策略:通過(guò)問(wèn)題引入,讓學(xué)習(xí)者主動(dòng)思考,引起學(xué)習(xí)者有意注意。相關(guān)策略:通過(guò)知識(shí)回顧,幫助學(xué)習(xí)者建立已有的E-R模型與概念結(jié)構(gòu)模型設(shè)計(jì)之間的聯(lián)系,建立腳手架從而降低新知識(shí)學(xué)習(xí)難度。自信策略:選取學(xué)習(xí)者們熟知的購(gòu)物網(wǎng)站為例,增強(qiáng)學(xué)習(xí)者信心。
2.2課堂教學(xué)
2.2.1教學(xué)內(nèi)容
基礎(chǔ)任務(wù):定義購(gòu)物網(wǎng)站生成訂單的事件,通過(guò)E-R模型進(jìn)行概念結(jié)構(gòu)設(shè)計(jì)。匯總各小組提交的設(shè)計(jì)結(jié)果,總結(jié)學(xué)習(xí)者的概念結(jié)構(gòu)模型設(shè)計(jì),如圖1所示。來(lái)源:黑龍江省哲學(xué)社會(huì)科學(xué)研究規(guī)劃項(xiàng)目(16EDE07)和哈爾濱師范大學(xué)深化教育教學(xué)綜合改革項(xiàng)目(X2015-2-003)的研究成果。提高任務(wù):上述模型中當(dāng)客戶提交訂單但未購(gòu)買(mǎi)商品將減少商品的庫(kù)存,如何解決這一問(wèn)題呢?請(qǐng)學(xué)習(xí)者思考并提出問(wèn)題解決辦法。教師提示可將多對(duì)多的聯(lián)系拆分為兩個(gè)一對(duì)多的聯(lián)系,根據(jù)訂單的狀態(tài)通過(guò)程序確定是否實(shí)際減少庫(kù)存。按照之前分配的小組安排學(xué)習(xí)者討論并提出新的設(shè)計(jì)方案,學(xué)習(xí)者討論是教師到各組進(jìn)行引導(dǎo)和巡視[2]。討論:經(jīng)過(guò)學(xué)習(xí)者討論,分析新概念模型設(shè)計(jì)的合理性。小組匯報(bào)并由教師匯總修改后如圖2所示。
2.2.2動(dòng)機(jī)策略
注意策略:教師播放課前錄制的網(wǎng)上購(gòu)物過(guò)程的動(dòng)畫(huà),引起學(xué)習(xí)者注意。自信策略:教師按照基礎(chǔ)和提高兩類(lèi)任務(wù)進(jìn)行分層布置,利于搭建腳手架、激發(fā)學(xué)習(xí)者自主思考,增強(qiáng)自信。
3評(píng)價(jià)
學(xué)習(xí)者對(duì)各自小組設(shè)計(jì)的E-R模型進(jìn)行評(píng)價(jià),小組間進(jìn)行設(shè)計(jì)結(jié)果互評(píng),教師對(duì)每個(gè)模型的設(shè)計(jì)過(guò)程、小組合作情況和設(shè)計(jì)結(jié)果進(jìn)行總結(jié)性評(píng)價(jià)。滿意和自信策略:學(xué)習(xí)者經(jīng)過(guò)深入思考進(jìn)行互評(píng),體驗(yàn)設(shè)計(jì)被認(rèn)可和逐步求精帶來(lái)的喜悅。教師的點(diǎn)評(píng)認(rèn)可其設(shè)計(jì)結(jié)果提高學(xué)習(xí)者信心。
4結(jié)論
通過(guò)該方法的學(xué)習(xí),學(xué)習(xí)者在練習(xí)和期末考試中能夠熟練準(zhǔn)確的對(duì)復(fù)雜的需求通過(guò)E-R模型進(jìn)行概念結(jié)構(gòu)設(shè)計(jì),因此,ARCS模型應(yīng)用于《數(shù)據(jù)庫(kù)技術(shù)》教學(xué)有助于激發(fā)學(xué)習(xí)者學(xué)習(xí)動(dòng)機(jī),提高學(xué)習(xí)效果。
作者:韓玲玲 單位:哈爾濱師范大學(xué)
2數(shù)據(jù)庫(kù)
建設(shè)的主要內(nèi)容城市交通設(shè)施普查及數(shù)據(jù)建庫(kù)的主要內(nèi)容:一是建立城市交通設(shè)施數(shù)據(jù)庫(kù),包括基礎(chǔ)地理信息數(shù)據(jù)和交通專(zhuān)題數(shù)據(jù),主要有沿街的交通要素(交通標(biāo)志牌、交叉口等)、停車(chē)場(chǎng)、賓館、酒店、學(xué)校、公交站點(diǎn)、加油加氣站、客貨運(yùn)樞紐等以及街道、社區(qū)等界線信息。二是建立城市道路中心線路網(wǎng)數(shù)據(jù)庫(kù)和模型,道路的屬性信息包括道路等級(jí)、形式、上下行方向、有無(wú)隔離帶等;由于道路在城市交通設(shè)施中的重要性,對(duì)道路網(wǎng)數(shù)據(jù)要求:①在有中央隔離帶的道路路段兩側(cè)分別繪制,屬性均為單向,取單側(cè)路段的中心線,在路口匯合;②有主輔道的道路路段兩側(cè)分別繪制,主道輔道均為單向,中心線在路口匯合;如果主輔道之間的隔離在進(jìn)入路口前消失,中心線可提前匯合,連接線位置需要在圖中繪出;③單側(cè)主輔道涉及高架道路的,地面道路及高架雙側(cè)均單獨(dú)繪制,取單側(cè)路段的中心線,地面道路中心線在路口匯合,路段時(shí)繪圖順序按道路的實(shí)際行車(chē)方向繪制。三是建立城市公共交通網(wǎng)絡(luò)模型,形成城市交通規(guī)劃中公交換乘分析的重要基礎(chǔ)數(shù)據(jù),主要包括公交實(shí)體站點(diǎn)信息表、線路站點(diǎn)信息表、公交線路信息表和站點(diǎn)和線路關(guān)系表等。
3技術(shù)思路
3.1技術(shù)流程根據(jù)技術(shù)要求和內(nèi)容,制定了技術(shù)流程。
3.2主要工作城市交通設(shè)施普查和數(shù)據(jù)建庫(kù)主要工作有:內(nèi)業(yè)數(shù)據(jù)預(yù)處理、外業(yè)數(shù)據(jù)普查、內(nèi)業(yè)數(shù)據(jù)錄入、編輯和建庫(kù)等,數(shù)據(jù)以ArcGIS10Geodatabase格式存儲(chǔ)。外業(yè)普查根據(jù)城市行政管理劃分為若干個(gè)社區(qū)格網(wǎng),以每個(gè)社區(qū)格網(wǎng)為單元進(jìn)行交通數(shù)據(jù)調(diào)查;利用現(xiàn)實(shí)性好、數(shù)據(jù)豐富的基礎(chǔ)地理底圖,采用實(shí)地調(diào)查量測(cè)為主的方式采集城市交通數(shù)據(jù),外業(yè)普查成果經(jīng)的100%檢查后,由單位質(zhì)檢部門(mén)成果檢查合格后提交內(nèi)業(yè)編輯。內(nèi)業(yè)以社區(qū)為單位,在單個(gè)PersonalGeodatabase數(shù)據(jù)庫(kù)中作業(yè),經(jīng)過(guò)接邊處理、拓?fù)浣⒌?,按行政區(qū)劃、街道、社區(qū)界線合并數(shù)據(jù)庫(kù),形成城市交通設(shè)施數(shù)據(jù)庫(kù)。
3.3成果應(yīng)用通過(guò)對(duì)數(shù)據(jù)庫(kù)中的道路和交通信息的分析,利用數(shù)據(jù)信息構(gòu)建道路網(wǎng)模型和公共交通模型,生成的數(shù)據(jù)庫(kù)可以應(yīng)用在專(zhuān)業(yè)交通規(guī)劃系統(tǒng)平臺(tái)上,進(jìn)行城市道路規(guī)劃設(shè)計(jì)、最短路徑分析、道路緩沖區(qū)分析等。
4具體實(shí)施
4.1外業(yè)普查外業(yè)普查在作業(yè)底圖上調(diào)查交通設(shè)施信息,同時(shí)填寫(xiě)屬性調(diào)查表和道路調(diào)查表屬性表,并且現(xiàn)場(chǎng)照相,調(diào)查中做到走到看到,不遺漏、分類(lèi)編碼記錄不錯(cuò)漏,各類(lèi)信息要素屬性信息正確、全面;在電子地圖上根據(jù)作業(yè)底圖編輯錄入與檢查交通要素,并且構(gòu)建數(shù)據(jù)庫(kù)。作業(yè)組以社區(qū)網(wǎng)格為單元,以街道辦事處或管委會(huì)為單位進(jìn)行任務(wù)分配,每一街道辦事處或管委會(huì)包含若干社區(qū)單元。
4.2內(nèi)業(yè)數(shù)據(jù)編輯建庫(kù)內(nèi)業(yè)編輯作業(yè)分兩部分,一是外業(yè)底圖(含初始調(diào)查底圖和檢查作業(yè)底圖)和調(diào)查記錄表格制作(含空表格記錄和已普查錄入記錄),及時(shí)與外業(yè)溝通,制作滿足外業(yè)調(diào)查要求的作業(yè)基礎(chǔ)資料;二是基于模板化及的數(shù)據(jù)錄入和建庫(kù),通過(guò)外業(yè)調(diào)查記錄成果錄入基本要素和屬性信息,重點(diǎn)處理道路、公交等交通要素。作業(yè)利用ArcMap10.0相應(yīng)的編輯模塊,開(kāi)發(fā)的相應(yīng)插件進(jìn)行數(shù)據(jù)編輯錄入,利用ArcToolbox構(gòu)建數(shù)據(jù)庫(kù)。
5系統(tǒng)評(píng)價(jià)
從數(shù)據(jù)成果的數(shù)據(jù)精度、數(shù)據(jù)完整性、屬性精度、邏輯一致性、完整性與正確性、圖面的質(zhì)量和附件質(zhì)量等幾個(gè)方面進(jìn)行檢查,認(rèn)為普查數(shù)據(jù)和建庫(kù)精度高、屬性結(jié)構(gòu)正確、邏輯一致性表達(dá)準(zhǔn)確、數(shù)據(jù)完整、圖面合理、附件齊全。成果坐標(biāo)基準(zhǔn)采用城市坐標(biāo)系,數(shù)據(jù)采用EsriGeodatabase10.0格式,應(yīng)用個(gè)人Geodatabase文件命名社區(qū)編號(hào)、數(shù)據(jù)組織和數(shù)據(jù)分層等。通過(guò)數(shù)據(jù)庫(kù)在專(zhuān)業(yè)交通規(guī)劃系統(tǒng)平臺(tái)的測(cè)試,交通設(shè)施數(shù)據(jù)各項(xiàng)指標(biāo)符合系統(tǒng)運(yùn)行分析要求。
一、引言
畢業(yè)論文是考察學(xué)生的專(zhuān)業(yè)知識(shí)和基本技能的一個(gè)綜合性的作業(yè)。但是,隨著畢業(yè)設(shè)計(jì)課題的數(shù)量和研究領(lǐng)域的增加,而且就業(yè)壓力的影響導(dǎo)致學(xué)生無(wú)法保證正常的畢業(yè)設(shè)計(jì)時(shí)間,使得畢業(yè)設(shè)計(jì)的管理工作和信息收集工作變得復(fù)雜和困難。由于高校畢業(yè)論文綜合評(píng)價(jià)的特殊性,目前許多高校對(duì)畢業(yè)生的畢業(yè)導(dǎo)師選擇和論文選題流程沒(méi)有一種快捷而高效的方法,因此,我們迫切需要研究和開(kāi)發(fā)一個(gè)高效的基于Web畢業(yè)設(shè)計(jì)管理系統(tǒng)對(duì)畢業(yè)生畢業(yè)論文的選擇和完成過(guò)程進(jìn)行規(guī)范的管理。
目前國(guó)內(nèi)的部分高校有了相似功能的畢業(yè)論文管理系統(tǒng),其模塊的劃分大同小異,都是為了保證信息的充分共享以及方便用戶的操作。主要有南京農(nóng)業(yè)大學(xué)的基于.NET的畢業(yè)設(shè)計(jì)管理系統(tǒng),功能主要有學(xué)生平臺(tái)、教師平臺(tái)、教務(wù)管理平臺(tái)、公共數(shù)據(jù)處理平臺(tái)等模塊;電子科技大學(xué)畢業(yè)設(shè)計(jì)管理系統(tǒng),功能主要有教師出題、論文題目的審核、學(xué)生選擇論文題目、開(kāi)題報(bào)告審核入庫(kù)、畢業(yè)論文審核入庫(kù)、畢業(yè)論文查詢(xún)等模塊;中國(guó)礦業(yè)大學(xué)信息工程系畢業(yè)設(shè)計(jì)管理系統(tǒng),功能主要有:個(gè)人查詢(xún)、課題查詢(xún)、網(wǎng)上指導(dǎo)、請(qǐng)假手續(xù)、重要通知、論文格式、論文上載等七個(gè)模塊。所有各功能模塊的劃分體現(xiàn)了開(kāi)發(fā)者對(duì)數(shù)據(jù)庫(kù)建模的思路。而且在運(yùn)行模式上,基本上采用的都是分而治之的設(shè)計(jì)思想,即數(shù)據(jù)庫(kù)信息(如課題、老師、學(xué)生、論文等)在各院系中是單獨(dú)進(jìn)行的,在各院系之間及院系與教務(wù)部門(mén)之間卻沒(méi)有提供信息交互的手段。
二、系統(tǒng)概述
(一)總體規(guī)劃
基于對(duì)目前其他院校的畢業(yè)論文管理系統(tǒng)的比較分析,總結(jié)其長(zhǎng)處,提出了一套高等院校畢業(yè)論文管理系統(tǒng)的研究方案。該系統(tǒng)方案基于Web技術(shù),不僅要面向?qū)W校不同部門(mén)的信息資源的共享,還要解決各部門(mén)已有的或?qū)⒔⒌男畔⑾到y(tǒng)的資源共享,提高信息資源共享的利用率,系統(tǒng)結(jié)構(gòu)應(yīng)具有跨平臺(tái)訪問(wèn)不同數(shù)據(jù)源的機(jī)制。在教務(wù)信息標(biāo)準(zhǔn)化、規(guī)范化的基礎(chǔ)上,對(duì)信息進(jìn)行合理的布局,在提供優(yōu)質(zhì)、高效的業(yè)務(wù)管理和事務(wù)處理的同時(shí),使全校師生可以在任一平臺(tái)上對(duì)畢業(yè)論文的信息進(jìn)行方便地溝通與交流。同時(shí),系統(tǒng)要具有安全高效的通信機(jī)制,要有效預(yù)防由于Web技術(shù)的應(yīng)用而引發(fā)的信息泄密和對(duì)保密信息的非法侵入等安全隱患。
(二)系統(tǒng)架構(gòu)
系統(tǒng)采用三層B/S結(jié)構(gòu),其原理圖如圖1所示。在這種結(jié)構(gòu)中,應(yīng)用服務(wù)器接收到客戶機(jī)的請(qǐng)求頁(yè)面指令后,就向數(shù)據(jù)庫(kù)服務(wù)器請(qǐng)求有關(guān)的數(shù)據(jù),數(shù)據(jù)庫(kù)服務(wù)器從數(shù)據(jù)庫(kù)中取出相應(yīng)的數(shù)據(jù)交給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器將之整合成頁(yè)面再返回給瀏覽器[2]。該結(jié)構(gòu)主要特點(diǎn)是:客戶端實(shí)現(xiàn)零維護(hù),系統(tǒng)維護(hù)和升級(jí)方便。軟件程序、數(shù)據(jù)庫(kù)、的信息以及其他一些組件都集中在服務(wù)器,用戶除了操作系統(tǒng)及瀏覽器外無(wú)需其他軟件,即用戶以Web頁(yè)面的形式與系統(tǒng)進(jìn)行交互。
該系統(tǒng)是通過(guò)DCOM或HTTP遠(yuǎn)程調(diào)用服務(wù)器端組件對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作以完成特定的功能。在具體實(shí)現(xiàn)上,應(yīng)用服務(wù)器使用通信線程來(lái)提供查詢(xún)并從后端數(shù)據(jù)庫(kù)服務(wù)器獲得結(jié)果。應(yīng)用服務(wù)器接收從客戶機(jī)通過(guò)Web瀏覽器或其他界面軟件發(fā)來(lái)的信息請(qǐng)求,并連接到服務(wù)器上。接著對(duì)請(qǐng)求進(jìn)行處理并從服務(wù)器返回信息。然后,應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器斷開(kāi)并把請(qǐng)求的信息返回客戶機(jī)。使用這種方法時(shí),客戶機(jī)不與數(shù)據(jù)庫(kù)保持連接,應(yīng)用服務(wù)器只有在進(jìn)行請(qǐng)求并接收請(qǐng)求的結(jié)果時(shí)才與數(shù)據(jù)庫(kù)保持連接。空閑進(jìn)程并不占用網(wǎng)絡(luò)資源,網(wǎng)絡(luò)流量顯著減少,可以更快地進(jìn)行查詢(xún)處理并且響應(yīng)時(shí)間得到了改善。如果許多客戶機(jī)都在頻繁請(qǐng)求,可以對(duì)這種配置進(jìn)行更改,使應(yīng)用服務(wù)器能預(yù)先與數(shù)據(jù)庫(kù)連接,以降低每次處理客戶機(jī)查詢(xún)請(qǐng)求時(shí)建立連接所需的開(kāi)銷(xiāo)時(shí)間量。
該系統(tǒng)是一個(gè)基于Web平臺(tái)、涉及畢業(yè)論文管理各環(huán)節(jié)、面向?qū)W校各部門(mén)以及各層次用戶的多模塊綜合信息管理系統(tǒng),主要完成畢業(yè)設(shè)計(jì)的申報(bào)、選題、論文上傳、論文批閱、在線答疑等功能。其相關(guān)的系統(tǒng)功能模塊如圖2所示。
三、系統(tǒng)的相關(guān)設(shè)計(jì)
(一)數(shù)據(jù)庫(kù)設(shè)計(jì)
由于系統(tǒng)內(nèi)部數(shù)據(jù)流量大,數(shù)據(jù)檢索要求高,用戶通過(guò)瀏覽器從后臺(tái)數(shù)據(jù)庫(kù)獲取數(shù)據(jù)信息的響應(yīng)時(shí)間也要滿足需求,在該系統(tǒng)中,表示層使用ASP用來(lái)開(kāi)發(fā)網(wǎng)頁(yè),后臺(tái)數(shù)據(jù)庫(kù)使用ORACLE作為服務(wù)器端的數(shù)據(jù)庫(kù)管理。ORACLE是以高級(jí)結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),是目前最流行的瀏覽器/服務(wù)器(BROWSER/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一,ORACLE8.i以來(lái)引入了共享SQL和多線程服務(wù)器體系結(jié)構(gòu),提供了基于角色(ROLE)分工的安全保密管理,支持大量多媒體數(shù)據(jù)。因此從性能需求上分析,采用ORACLE來(lái)完成底層數(shù)據(jù)庫(kù)的開(kāi)發(fā)。
在具體實(shí)現(xiàn)上,系統(tǒng)整體ER圖設(shè)計(jì)如圖3示。
其中,教師數(shù)據(jù)表包括教師號(hào)、教師名、性別、職稱(chēng)、所屬學(xué)院(系)、科研情況、電話、電子郵件、登錄密碼等教師基本信息情況;學(xué)生數(shù)據(jù)表包括學(xué)號(hào)、姓名、性別、年級(jí)、學(xué)院、專(zhuān)業(yè)、班級(jí)、電話、電子郵件、登錄密碼等學(xué)生基本信息情況;管理員信息表包括ID號(hào)、用戶名、密碼等;課題信息表包括課題號(hào)、課題名稱(chēng)、所屬院系、申報(bào)教師、規(guī)定人數(shù)、實(shí)選人數(shù)等;論文信息表包括論文號(hào)、論文名稱(chēng)、學(xué)生姓名、所屬院系、指導(dǎo)教師等信息。
(二)界面設(shè)計(jì)
系統(tǒng)界面的設(shè)計(jì)是創(chuàng)新性的使用了雙樹(shù)型結(jié)構(gòu)實(shí)現(xiàn)的,即在前臺(tái)的WEB系統(tǒng)界面中,針對(duì)不同用戶具有不同的操作功能,采用ASP和先進(jìn)的ORACLE數(shù)據(jù)庫(kù)技術(shù)展現(xiàn)了“左-右”雙樹(shù)型菜單。其中,左邊的菜單樹(shù)上是學(xué)生姓名及其已選課題,右邊的樹(shù)則是其他已申報(bào)的備選課題,通過(guò)此雙樹(shù)型結(jié)構(gòu)的界面設(shè)計(jì),學(xué)生在方便的選擇自己所傾向的畢業(yè)研究課題,而且還能很便捷地對(duì)其選報(bào)課題進(jìn)行修改或調(diào)整。同時(shí),由于該雙樹(shù)型界面本身所具有的美觀性、友好性以及操作簡(jiǎn)便性,從而使得教師和學(xué)生在操作的過(guò)程中不需要查看幫助文檔就可以輕松地實(shí)現(xiàn)各種相關(guān)的操作。
(三)安全設(shè)計(jì)
任何一個(gè)應(yīng)用系統(tǒng)都對(duì)安全性有一定的要求,即數(shù)據(jù)的保密性和可靠性。而畢業(yè)設(shè)計(jì)管理信息系統(tǒng)涉及到學(xué)生檔案等重要信息,其安全性是非常重要的。該系統(tǒng)的安全性,從下面三個(gè)方面來(lái)實(shí)現(xiàn)。
1.分級(jí)授權(quán)安全管理。該系統(tǒng)采用分層授權(quán)安全管理,用戶分五種權(quán)限:超級(jí)管理員、一般管理員、教師、學(xué)生、過(guò)客。用戶登錄系統(tǒng)時(shí),讓用戶錄入用戶名(或者是帳號(hào))和密碼,不同的用戶具有不同的權(quán)限。在安全性上采用多級(jí)認(rèn)證體系對(duì)各級(jí)用戶分級(jí)授權(quán),同時(shí)各級(jí)用戶的操作痕跡相互制約,并采用雙密碼保證超級(jí)管理員密碼的內(nèi)部安全。
2.數(shù)據(jù)庫(kù)的安全性。數(shù)據(jù)庫(kù)的安全性是由Oracle數(shù)據(jù)庫(kù)系統(tǒng)本身的安全機(jī)制進(jìn)行控制。Oracle數(shù)據(jù)庫(kù)的安全性體現(xiàn)在它對(duì)用戶、權(quán)限、角色和用戶配置文件的管理上。用戶是由管理員建立并授權(quán)的一個(gè)數(shù)據(jù)庫(kù)帳戶,每一個(gè)企圖使用Oracle的用戶都必須得到一個(gè)合法的用戶帳戶和口令,只有用合法的帳戶和口令連接數(shù)據(jù)庫(kù)成功才能操作數(shù)據(jù)庫(kù)對(duì)象。每個(gè)Oracle數(shù)據(jù)庫(kù)都有一個(gè)叫做DEFAULT的配置文件,它被賦予數(shù)據(jù)庫(kù)中所有已經(jīng)存在的用戶和新創(chuàng)建的用戶。在系統(tǒng)中通過(guò)修改該配置文件,對(duì)數(shù)據(jù)庫(kù)所有用戶都限制為使用特定資源。
3.Web服務(wù)器安全保障。Web服務(wù)器的安全依賴(lài)于校園網(wǎng)的安全,同時(shí)對(duì)web服務(wù)器特殊的安全措施。外網(wǎng)用戶通過(guò)校園網(wǎng)的VPN技術(shù)與web服務(wù)器進(jìn)行通信,在校園網(wǎng)出口處部署網(wǎng)絡(luò)防火墻,同時(shí)在Web服務(wù)器上主機(jī)防火墻和入侵檢測(cè)系統(tǒng),對(duì)系統(tǒng)進(jìn)一步防護(hù)和監(jiān)測(cè)。另外,通過(guò)定時(shí)的安裝補(bǔ)丁、及時(shí)升級(jí)、關(guān)閉不必要的服務(wù)進(jìn)一步加強(qiáng)了Web Server層和操作系統(tǒng)的安全。
四、系統(tǒng)性能的優(yōu)化
由于系統(tǒng)基于B/S三層架構(gòu),其性能具有很好地可擴(kuò)展性和可維護(hù)性。為了提高程序的性能,應(yīng)用服務(wù)器采用多線程通信技術(shù),實(shí)現(xiàn)多線程服務(wù)器和連接管理器與數(shù)據(jù)庫(kù)服務(wù)器的預(yù)先連接,及時(shí)、準(zhǔn)確、可靠地采集和傳輸信息[5]。在該技術(shù)的具體實(shí)現(xiàn)上,采用的是搶先式多任務(wù),使得系統(tǒng)能執(zhí)行多個(gè)進(jìn)程,而每個(gè)進(jìn)程也可以同時(shí)執(zhí)行多個(gè)線程,且進(jìn)程中的線程是并行執(zhí)行的。系統(tǒng)不停地在多個(gè)線程之間切換,由于時(shí)間很短,看上去多個(gè)線程是在同時(shí)運(yùn)行。使用這種方法時(shí),客戶機(jī)不需要與數(shù)據(jù)庫(kù)始終保持連接,應(yīng)用服務(wù)器只有在進(jìn)行請(qǐng)求并接收請(qǐng)求的結(jié)果時(shí)才與數(shù)據(jù)庫(kù)保持連接??臻e進(jìn)程并不占用網(wǎng)絡(luò)資源,網(wǎng)絡(luò)流量顯著減少,可以更快地進(jìn)行查詢(xún)處理并且響應(yīng)時(shí)間得到了改善。多線程服務(wù)器和連接管理器用于保持與服務(wù)器的固定預(yù)先連接,這樣連接可以重復(fù)使用。同時(shí)可以在很大程序上提高系統(tǒng)的并發(fā)性。這就更加有效地保證了各級(jí)用戶在不同地點(diǎn)可以同時(shí)訪問(wèn)系統(tǒng)中的數(shù)據(jù),加強(qiáng)了系統(tǒng)數(shù)據(jù)共享能力,提高了系統(tǒng)的性能。
五、結(jié)論
本文所討論研究的高等院校畢業(yè)論文管理系統(tǒng)采用了當(dāng)前流行的B/S結(jié)構(gòu)、Internet網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)安全技術(shù)等,突破了原先使用地域的局限性,使整個(gè)校園網(wǎng)甚至Internet上的用戶都可訪問(wèn)系統(tǒng)。用戶可在多地域、任意時(shí)間段以不同身份來(lái)訪問(wèn)系統(tǒng)中的數(shù)據(jù),大大加強(qiáng)了系統(tǒng)數(shù)據(jù)共享的能力,有效地促進(jìn)了學(xué)校畢業(yè)論文管理的科學(xué)化、信息化。系統(tǒng)的應(yīng)用能夠高等院校節(jié)約了大量的人力、物力和財(cái)力,使高等院校的畢業(yè)論文管理水平得到大幅度的提升,同時(shí)在社會(huì)上也能夠產(chǎn)生了良好的影響。
參考文獻(xiàn):
[1]劉必榮.本科畢業(yè)設(shè)計(jì)教學(xué)存在的問(wèn)題及對(duì)策研究[J].文教資料,2007(8):54-56.
[2]楊永,梁金鈐.基于B/S模式的通用試題庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009,31(4):143-145.
[3]馬薇,婁雨.Oracle數(shù)據(jù)庫(kù)容災(zāi)備份中的流復(fù)制技術(shù)研究[J].科技通報(bào),2012,28(2):182-184.
[4]劉昌平,范明鈺,王光衛(wèi).可信計(jì)算環(huán)境數(shù)據(jù)封裝方法[J].計(jì)算機(jī)應(yīng)用研究,2009,26(10):3891-3893.
[5]趙建偉.γ遙測(cè)數(shù)據(jù)遠(yuǎn)程通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(16):3849-3851.
科研水平逐漸成為衡量一個(gè)高校勢(shì)力的重要指標(biāo),高校作為重要的科研機(jī)構(gòu),如何對(duì)學(xué)校大量的科研信息進(jìn)行高效、安全的保存、處理、統(tǒng)計(jì)、加工等管理操作,將日常的科研管理工作更加規(guī)范化、科學(xué)化,建立高校科研管理系統(tǒng)進(jìn)行科研管理工作是每一個(gè)高校必由之路。系統(tǒng)功能的分析與數(shù)據(jù)的結(jié)構(gòu)關(guān)聯(lián)及使用都首先反映在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中,高??蒲泄芾硐到y(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)是高??蒲泄芾硐到y(tǒng)設(shè)計(jì)中的一項(xiàng)核心工作,所有的管理工作都必須以數(shù)據(jù)庫(kù)為中心,建立高??蒲泄芾硐到y(tǒng)數(shù)據(jù)庫(kù)的方法、步驟、技術(shù)等如下:
1 系統(tǒng)需求分析
高??蒲泄芾硭O(shè)計(jì)的事務(wù)非常繁雜,涉及到??蒲刑帯⒏鱾€(gè)系的科研管理以及個(gè)人對(duì)科研信息的查詢(xún)統(tǒng)計(jì)等。所設(shè)計(jì)的系統(tǒng)既要有利于科研處的監(jiān)督管理又要有利于各個(gè)系及教師的分工協(xié)作。系統(tǒng)功能主要包括??蒲刑幙蒲泄芾怼⒃合担ɑ虿块T(mén))科研管理、個(gè)人科研信息查詢(xún)、校級(jí)科研項(xiàng)目整體信息管理??梢詣澐譃榭蒲行畔⒕S護(hù)、科研信息查詢(xún)與統(tǒng)計(jì)、科研信息報(bào)表、科研信息分析、校級(jí)課題申報(bào)、審批、合同簽定、結(jié)題、其它處理等操作;其中科研信息應(yīng)細(xì)分為學(xué)術(shù)論文、著作、科研項(xiàng)目、科研成果、科研獎(jiǎng)勵(lì)等信息。
2 用戶需求分析
由于本系統(tǒng)是直接面向網(wǎng)上辦公的,必須適應(yīng)所服務(wù)環(huán)境的各類(lèi)操作人員,主要包括學(xué)??蒲刑?、各院系(或部門(mén))、普通教師個(gè)人(或其他瀏覽者)。
2.1 普通教師個(gè)人(或其他瀏覽者)
普通教師個(gè)人(或其他瀏覽者)只能按姓名來(lái)瀏覽個(gè)人的科研信息、進(jìn)行統(tǒng)計(jì)打印,個(gè)人的科研信息(論文、著作、項(xiàng)目成果等)必須提交本部門(mén)審核入錄。
2.2 各院系(或部門(mén))
各院系(或部門(mén))主要職責(zé)是對(duì)本部門(mén)員工的論文、著作、項(xiàng)目、成果、獎(jiǎng)勵(lì)等信息進(jìn)行審核后輸入到本系統(tǒng)數(shù)據(jù)庫(kù)中,查詢(xún)本部門(mén)在某時(shí)間內(nèi)的科研信息、統(tǒng)計(jì)科研情況、打印相關(guān)資料等,同時(shí)對(duì)本部門(mén)的錯(cuò)誤錄入信息進(jìn)行修改和維護(hù)。
2.3 科研處
主要管理本校的員工信息、論文、著作、各級(jí)各類(lèi)科研項(xiàng)目和成果、科研獎(jiǎng)勵(lì)等常規(guī)工作,同時(shí),管理校級(jí)課題的申報(bào)、審批、合同、檢查、結(jié)題等管理,同時(shí),監(jiān)控系統(tǒng)運(yùn)行和各部門(mén)的情況。
3 數(shù)據(jù)庫(kù)設(shè)計(jì)及關(guān)鍵技術(shù)實(shí)現(xiàn)
3.1 數(shù)據(jù)庫(kù)表創(chuàng)建
根據(jù)系統(tǒng)需求分析,將系統(tǒng)的實(shí)現(xiàn)直接定位在更好的適合各層次人員的需求和操作,系統(tǒng)的所有初始化數(shù)據(jù)均采用界面錄入的方法,由各類(lèi)人員分工完成。根據(jù)我校的實(shí)際情況,筆者將科研人員基本信息、論文信息、科研項(xiàng)目信息、成果信息、獲獎(jiǎng)情況信息等作為系統(tǒng)的初始化數(shù)據(jù),為個(gè)人和院系查詢(xún)、統(tǒng)計(jì)、打印,科研處操作、加工、管理、集成等工作提供基本的數(shù)據(jù)平臺(tái)。主要數(shù)據(jù)表格設(shè)計(jì)如下:
科研人員信息表(職工號(hào),姓名,性別,職稱(chēng),出生日期,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),學(xué)歷,學(xué)位,工作時(shí)間,所在部門(mén),備注)。
論文信息表(序號(hào),論文名稱(chēng),刊物名稱(chēng),刊物類(lèi)別,刊物級(jí)別,主辦單位,作者,職工號(hào),發(fā)表時(shí)間,刊號(hào),備注)。
論著信息表(序號(hào),著作名稱(chēng), 圖書(shū)編號(hào),著作類(lèi)別,出版社,學(xué)科類(lèi)別,作者,職工號(hào),出版時(shí)間,版次,備注)。
科研項(xiàng)目表(序號(hào),項(xiàng)目編號(hào),項(xiàng)目名稱(chēng),項(xiàng)目來(lái)源,項(xiàng)目類(lèi)別,完成單位,負(fù)責(zé)人,課題組成員,立項(xiàng)時(shí)間,擬定期限,經(jīng)費(fèi)金額, 是否鑒定,鑒定時(shí)間,鑒定單位,備注)。
科研成果表(序號(hào),成果名稱(chēng),成果類(lèi)別,成果經(jīng)費(fèi),完成時(shí)間,負(fù)責(zé)人,完成單位,是否投入生產(chǎn),經(jīng)濟(jì)效益,備注)。
科研獎(jiǎng)勵(lì)表(序號(hào),獲獎(jiǎng)人員,項(xiàng)目名稱(chēng),獎(jiǎng)勵(lì)名稱(chēng),授予單位,時(shí)間,備注)。
校級(jí)項(xiàng)目管理表(項(xiàng)目編號(hào),項(xiàng)目名稱(chēng),課題名稱(chēng),負(fù)責(zé)人,所在部門(mén),職務(wù)或職稱(chēng),聯(lián)系電話,申報(bào)表,申報(bào)時(shí)間,申報(bào)經(jīng)費(fèi),是否批準(zhǔn),批準(zhǔn)日期,批準(zhǔn)經(jīng)費(fèi),合同時(shí)間,合同內(nèi)容,是否結(jié)題,結(jié)題時(shí)間,鑒定技術(shù)負(fù)責(zé)人,項(xiàng)目成果效益,備注)。
校級(jí)鑒定專(zhuān)家表(序號(hào),姓名,性別,出生日期,工作單位,學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),職稱(chēng)職務(wù),備注)。
在上述表格中,加下劃線字段代表主鍵,加雙劃線字段代表外鍵。其中科研人員信息表之所以選擇(職工號(hào),姓名)作為主鍵,考慮到姓名經(jīng)常作為查詢(xún)、操作條件,并在相關(guān)表中作為科技人員的重要描述和限制;為了避免數(shù)據(jù)錄入的無(wú)序狀況,數(shù)據(jù)庫(kù)表之間建立了嚴(yán)格的參照完整性,并且對(duì)所有表都分配了操作權(quán)限,并將錯(cuò)誤信息及時(shí)反饋給操作人員,科研人員信息表、論文信息表、論著信息表通過(guò)“職工號(hào)”建立參照完整性關(guān)系,在錄入論文、論著時(shí),作者必須是本單位職工,如果科研人員信息表不存在該員工,便給出錯(cuò)誤提示,提示檢查是否是合法職工,如果是,便可以在科研人員信息表中添加該員工信息后錄入論文、論著信息,否則,拒絕錄入,“職工號(hào)”又為組合查詢(xún)提供了連接條件支持;同時(shí)將科研項(xiàng)目表、科研成果表、校級(jí)項(xiàng)目管理表中“負(fù)責(zé)人”和科研人員信息表中的“姓名”建立主鍵、外鍵參照完整性關(guān)系,校級(jí)課題的申報(bào)負(fù)責(zé)人也必須是本單位某部門(mén)的職工;獲獎(jiǎng)人員,必須是科研人員信息表中某一職工;將校級(jí)鑒定專(zhuān)家表和校級(jí)項(xiàng)目管理表通過(guò)“鑒定技術(shù)負(fù)責(zé)人”、“姓名”建立參照完整性管理,限定了鑒定技術(shù)負(fù)責(zé)人必須是本校專(zhuān)家表中的專(zhuān)業(yè)人員;所有表的主鍵設(shè)置都加上“姓名”字段,目的是為了符合人們的常規(guī)習(xí)慣,常以某個(gè)專(zhuān)業(yè)人員姓名作為操作、查詢(xún)條件,科研人員信息表與其他相關(guān)表格建立參照完整性為了限制科研、論文、論著、成果、獎(jiǎng)勵(lì)等信息的科學(xué)合法性,同時(shí)有利于統(tǒng)計(jì)和查詢(xún);只有完善的參照完整性,才能使得數(shù)據(jù)庫(kù)中數(shù)據(jù)具有一致性和互操作性。
3.2 存儲(chǔ)過(guò)程的設(shè)計(jì)
轉(zhuǎn)貼于 存儲(chǔ)過(guò)程是Transact-SQL語(yǔ)句的集合,它是實(shí)現(xiàn)事務(wù)或業(yè)務(wù)規(guī)則的極好途徑,是在數(shù)據(jù)庫(kù)服務(wù)器上存儲(chǔ)與執(zhí)行的。使用它,可以大大減少網(wǎng)絡(luò)傳輸流量,提高應(yīng)用程序性能和安全性,而且由于它只在第一次執(zhí)行時(shí)被優(yōu)化、編譯。因此,使用存儲(chǔ)過(guò)程不僅可以極大地降低應(yīng)用程序的實(shí)現(xiàn)難度,而且還可以極大地提高系統(tǒng)的運(yùn)行速度、效率。存儲(chǔ)過(guò)程的設(shè)計(jì)一定要符合邏輯業(yè)務(wù)規(guī)則和要求,根據(jù)實(shí)際,對(duì)一些常規(guī)、頻繁使用的查詢(xún)、插入數(shù)據(jù)操作使用存儲(chǔ)過(guò)程來(lái)完成。以下操作可以考慮使用存儲(chǔ)過(guò)程來(lái)完成:
① 對(duì)系統(tǒng)的初始化數(shù)據(jù)時(shí)錄入各種基本信息操作。
② 查詢(xún)個(gè)人、部門(mén)科研信息時(shí)的查詢(xún)操作。
③ 科研處的其他常規(guī)操作。
下面以查詢(xún)部門(mén)科研信息為例介紹存儲(chǔ)過(guò)程使用方法,在此查詢(xún)某一部門(mén)的論文、論著信息。描述代碼:
CREATE PROCEDURE 論文論著
@a char(20)
as
select 姓名,論文名稱(chēng),刊物名稱(chēng),刊物類(lèi)別,刊物級(jí)別,發(fā)表時(shí)間,備注
from 科研人員信息表,論文信息表
where 科研人員信息表。職工號(hào)=論文信息表。職工號(hào) and 所在部門(mén)=@a
select 姓名,著作名稱(chēng),出版社,出版時(shí)間,版次,備注
from 科研人員信息表,論著信息表
where 科研人員信息表。職工號(hào)=論著信息表。職工號(hào) and 所在部門(mén)=@a
其它操作不再做列述。從提高執(zhí)行效率、提高安全性、共享性方面考慮,盡可能多的使用存儲(chǔ)過(guò)程來(lái)提高數(shù)據(jù)庫(kù)的整體性能。
3.3 觸發(fā)器的使用
使用觸發(fā)器來(lái)實(shí)現(xiàn)表間的數(shù)據(jù)自動(dòng)操作,提高系統(tǒng)效率,校級(jí)鑒定專(zhuān)家表中的信息主要來(lái)源于科研人員信息表中具有副高職稱(chēng)以上的人員,在輸入或修改科研人員信息時(shí),只要是具有副高級(jí)職稱(chēng)以上的人員,就可以自動(dòng)添加到校級(jí)鑒定專(zhuān)家表中,該操作可以使用觸發(fā)器來(lái)實(shí)現(xiàn),代碼描述如下:
Create Trigger ptz
On 科研人員信息表
For insert,update
As
Insert into 校級(jí)鑒定專(zhuān)家表(姓名,性別,出生日期,工作單位,學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),職稱(chēng)職務(wù),備注) Select (姓名,性別,出生日期,所在部門(mén),學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè), 職稱(chēng)職務(wù),備注)。
From 科研人員信息表,其中,校級(jí)鑒定專(zhuān)家表中的序號(hào)是自動(dòng)生成的標(biāo)識(shí)列。
同時(shí),可以用觸發(fā)器來(lái)檢驗(yàn)校級(jí)項(xiàng)目負(fù)責(zé)人是否在科研人員信息表中,其中,用事務(wù)以驗(yàn)證合法性以控制該項(xiàng)操作是否完成。
代碼描述如下:
Create Trigger check1
On 校級(jí)項(xiàng)目管理表
For insert
As
begin tran
declare @a char(12)
select @a=負(fù)責(zé)人 from Inserted
If ( select count(*) from科研人員信息表where 姓名=@a)=0
begin
Print '負(fù)責(zé)人不合法'
rollback tran
end
commit tran
其它類(lèi)似操作不做描述。
在設(shè)計(jì)中,堅(jiān)持使用觸發(fā)器實(shí)現(xiàn)盡可能多的實(shí)現(xiàn)前臺(tái)操作,不僅提高了操作效率、更提高了代碼的安全性和共享性。
3.4 數(shù)據(jù)庫(kù)安全設(shè)計(jì)
網(wǎng)絡(luò)的安全非常重要,從數(shù)據(jù)庫(kù)級(jí)、服務(wù)器級(jí)和應(yīng)用程序級(jí)綜合考慮,在科研管理系統(tǒng)中要根據(jù)不同用戶,設(shè)置不同的權(quán)限、不同的初始化菜單。在本系統(tǒng)中,數(shù)據(jù)庫(kù)的安全主要通過(guò)數(shù)據(jù)庫(kù)的存取控制機(jī)制實(shí)現(xiàn)的。首先定義各類(lèi)管理人員的操作權(quán)限即角色,其次定義數(shù)據(jù)庫(kù)登錄,最后依據(jù)用戶權(quán)限表將登錄分配為相應(yīng)的角色。由于人員的復(fù)雜性,角色分為三個(gè)層次:科研處級(jí)別、二級(jí)部門(mén)級(jí)別、普通教師級(jí)別。用戶屬于某一角色,即使用戶職務(wù)調(diào)動(dòng)時(shí),對(duì)用戶增刪,不影響其他用戶的操作,只是角色中用戶數(shù)量的變化。建立專(zhuān)門(mén)的系統(tǒng)使用權(quán)限表來(lái)記錄用戶和權(quán)限,同時(shí)也兼容部門(mén)設(shè)置信息,對(duì)不同部門(mén)分配相應(yīng)的權(quán)限和賬號(hào),科研處是最高管理級(jí)別部門(mén)。
為了進(jìn)一步保護(hù)數(shù)據(jù)庫(kù),建立備份數(shù)據(jù)庫(kù)服務(wù)器,定期進(jìn)行數(shù)據(jù)庫(kù)備份和復(fù)制,本系統(tǒng)數(shù)據(jù)庫(kù)主要采用SQL Server數(shù)據(jù)庫(kù)管理工具進(jìn)行設(shè)計(jì),它具有強(qiáng)大的管理、安全、登陸、網(wǎng)絡(luò)支持功能,且可以和其它數(shù)據(jù)庫(kù)進(jìn)行轉(zhuǎn)換,是一種網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理軟件,符合設(shè)計(jì)要求。
4 結(jié)束語(yǔ)
該系統(tǒng)數(shù)據(jù)庫(kù)主要適用于C/S和B/S混合模式的數(shù)據(jù)庫(kù)系統(tǒng),設(shè)計(jì)中從整體考慮,建立嚴(yán)格的參照完整性和科學(xué)數(shù)據(jù)庫(kù)結(jié)構(gòu),將存儲(chǔ)過(guò)程、觸發(fā)器應(yīng)用到數(shù)據(jù)庫(kù)設(shè)計(jì)中,加大了后臺(tái)的功能和效率,對(duì)數(shù)據(jù)庫(kù)的安全進(jìn)行分級(jí)、分類(lèi)設(shè)置和管理,提高了數(shù)據(jù)庫(kù)的安全訪問(wèn)能力;它的數(shù)據(jù)冗余少,具有更高的數(shù)據(jù)一致性、可操作性和安全性,結(jié)合前臺(tái)開(kāi)發(fā)工具和平臺(tái),可以實(shí)現(xiàn)強(qiáng)大的功能設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)。結(jié)合本校實(shí)際已經(jīng)開(kāi)發(fā)了一個(gè)實(shí)用的高校科研管理系統(tǒng)并被科研處立項(xiàng)。
參考文獻(xiàn)
中圖分類(lèi)號(hào):TP315文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)35-2049-02
A Teaching Model Research Based on Internet/Intranet in the Information Technology Course
CHEN Fang1, CHEN Zhao2
(1. Pharmacy of East China University and Technology, Shanghai 200237, China; 2. Faculty of Mechanical & Electronic Information of China University of Geosciences, Wuhan 430074, China)
Abstract: At present, colleges for large-scale expansion caused management more difficult, the quality of thesis papers and the value of Paper documents are not to make full use of, this article statements a management system based on B/S model Three-tier architecture, in the middle using ASP technology, background database to SQL Server2000 designed to achieve. The system is reliable, safe, convenient and better able to meet the college paper's management of the basic requirements.
Key words: thesis; B/S module; ASP; SQL server
1 引言
在高等學(xué)校的教務(wù)管理系統(tǒng)中,畢業(yè)論文的選題大都采用人工方式,面對(duì)不斷增加的生源,這樣不僅工作量大,而且效率低下,容易出錯(cuò),更不方便教師查閱和管理人員的管理。利用計(jì)算機(jī)輔助設(shè)計(jì)加強(qiáng)畢業(yè)論文課題的管理工作,既提高了論文選題的科學(xué)性,又可大大減輕管理人員的工作強(qiáng)度,提高了工作效率,從而使得管理工作逐步實(shí)現(xiàn)制度化、規(guī)范化和程序化。本文設(shè)計(jì)與實(shí)現(xiàn)的論文管理系統(tǒng)采用B/S的模式,中間采用ASP編程技術(shù),后臺(tái)選用SQL Server2000得以實(shí)現(xiàn)。
2 系統(tǒng)的總體設(shè)計(jì)
2.1 設(shè)計(jì)思路
系統(tǒng)以SQL Server2000作為后臺(tái)數(shù)據(jù)庫(kù),采用B/S結(jié)構(gòu)即瀏覽器/服務(wù)器結(jié)構(gòu),用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成瀏覽器、Web服務(wù)器與應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器組成的三層體系結(jié)構(gòu)。主要采用ASP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),通過(guò)ASP,結(jié)合HTML網(wǎng)頁(yè)、ASP指令和ActiveX元件,建立動(dòng)態(tài)、交互且高效的Web服務(wù)器應(yīng)用程序。數(shù)據(jù)庫(kù)的訪問(wèn)通過(guò)ODBC(開(kāi)放式數(shù)據(jù)庫(kù)互聯(lián)技術(shù))用SQL實(shí)現(xiàn)。系統(tǒng)通過(guò)ADO與數(shù)據(jù)庫(kù)連接,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的相關(guān)操作。
2.2 工作流程
實(shí)踐論文管理工作中,基本的工作流程分為:1)教師出題;2)學(xué)生選題;3)中期檢查;4)論文答辯;5)論文評(píng)優(yōu)五個(gè)階段。
畢業(yè)論文管理系統(tǒng)實(shí)現(xiàn)論文的出題、審核、選題、、檢索、統(tǒng)計(jì)等多項(xiàng)功能。該系統(tǒng)既能讓學(xué)生網(wǎng)上論文選題,又能實(shí)現(xiàn)提交論文,這樣為老師和學(xué)生對(duì)論文資源的查閱和檢索提供了方便。
系統(tǒng)中主要設(shè)置了八個(gè)模塊,分別為:登錄模塊、論文出題模塊、論文選題模塊、論文提交模塊、論文加工模塊、論文查詢(xún)模塊、論文統(tǒng)計(jì)模塊及系統(tǒng)配置模塊,每個(gè)模塊又具有各項(xiàng)多種功能。管理系統(tǒng)結(jié)構(gòu)圖如圖1所示。根據(jù)基本工作流程和各功能模塊,該系統(tǒng)設(shè)置四個(gè)角色進(jìn)行分配管理,包括:系統(tǒng)管理員、教師、學(xué)生、教師管理員這四類(lèi)。各個(gè)角色都具有不同的功能,依據(jù)基于角色的訪問(wèn)控制理論對(duì)每個(gè)教師進(jìn)行分配角色,以實(shí)現(xiàn)相應(yīng)的管理權(quán)限。
2.3 功能模塊的設(shè)計(jì)
2.3.1 系統(tǒng)管理員角色
1) 日常管理:日常公告的管理,常用表格的管理,師生上傳文檔的管理,教師出題變更申請(qǐng)受理;
2) 論文選題:論文選題時(shí)間設(shè)置,論文選題鎖定情況統(tǒng)計(jì);
3) 中期檢查:中期檢查表審閱,中期評(píng)審分組;
4) 后期管理:論文成績(jī)?cè)u(píng)審表審閱,論文上傳情況統(tǒng)計(jì),評(píng)閱,答辯,二次答辯,師生最終上傳文檔情況匯總,學(xué)生成績(jī)分析與統(tǒng)計(jì);
5) 論文加工:對(duì)當(dāng)年度提交的所有論文進(jìn)行標(biāo)引工作,以便查閱和檢索;論文格式轉(zhuǎn)換管理,將所有論文由原來(lái)的文檔形式轉(zhuǎn)換成PDF格式,以便保存;
6) 信息維護(hù):管理員、教師、學(xué)生信息的維護(hù),系主任、教學(xué)副院長(zhǎng)角色的分配,院系、班級(jí)信息的維護(hù),系統(tǒng)數(shù)據(jù)的初始化等。
2.3.2 教師角色
1) 論文出題:教師上傳論文題目,所需學(xué)生人數(shù),課題的來(lái)源等相關(guān)信息;
2) 論文選題:對(duì)自己提交的課題進(jìn)行學(xué)生的鎖定和退選;
3) 任務(wù)相關(guān):公告瀏覽,論文基本格式的樣張下載;
4) 表格提交:中期檢查表的管理,成績(jī)考核表的管理,其他相關(guān)文檔的管理;
5) 學(xué)生文檔管理:對(duì)學(xué)生提交的文檔進(jìn)行審閱和管理;
6) 成績(jī)管理:對(duì)進(jìn)行指導(dǎo)的學(xué)生進(jìn)行論文成績(jī)的評(píng)定。
2.3.3 學(xué)生角色
1) 論文選題:對(duì)于教師的出題情況進(jìn)行查看,并選擇論文;
2) 任務(wù)相關(guān):公告瀏覽,論文基本格式樣張下載;
3) 論文管理:開(kāi)題相關(guān)文檔管理、論文相關(guān)文檔管理、設(shè)計(jì)相關(guān)文檔管理;
4) 論文提交:提交畢業(yè)論文管理;
5) 成績(jī)管理:查看中期檢查表、成績(jī)考核表,其他相關(guān)文檔。
2.3.4 教師管理員角色
除了具有教師模塊中的所有功能外,教師管理員角色主要添加兩項(xiàng)功能:
1) 論文審核:對(duì)教師論文出題質(zhì)量進(jìn)行審核;
2) 統(tǒng)計(jì)功能:統(tǒng)計(jì)當(dāng)(歷)年度的畢業(yè)論文提交的數(shù)量,學(xué)生成績(jī)的統(tǒng)計(jì)。
2.4 數(shù)據(jù)庫(kù)的設(shè)計(jì)
畢業(yè)論文管理系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)在設(shè)計(jì)過(guò)程中,盡量考慮到各個(gè)模塊中的相似之處,減少表格數(shù)量,提高表格的關(guān)聯(lián)程度,以及減少數(shù)據(jù)庫(kù)中數(shù)據(jù)的冗余。根據(jù)數(shù)據(jù)的流程和功能需求,數(shù)據(jù)庫(kù)主要包含以下工作表格:
1) 教師數(shù)據(jù)表:存放教師基本信息,數(shù)據(jù)項(xiàng)包括教師工號(hào)、密碼、教師姓名、職稱(chēng)、專(zhuān)業(yè)、聯(lián)系方式、教師個(gè)人簡(jiǎn)介、系所編號(hào)、學(xué)院編號(hào)、論文編號(hào);
2) 學(xué)生數(shù)據(jù)表:存放學(xué)生基本信息,數(shù)據(jù)項(xiàng)包括班級(jí)、學(xué)號(hào)、姓名、密碼、論文編號(hào)、成績(jī)、綜合排名、興趣愛(ài)好、備注;
3) 論文數(shù)據(jù)表:學(xué)年度、論文編號(hào)、論文題目、出題教師工號(hào)、選題學(xué)生學(xué)號(hào)、課題來(lái)源、成績(jī);
4) 論文審核表:學(xué)年度、論文編號(hào)、審核狀態(tài)、修改意見(jiàn)、次數(shù);
5) 論文選題表:學(xué)年度、學(xué)生學(xué)號(hào)、論文編號(hào)、論文選擇狀態(tài)、選擇時(shí)間;
6) 論文成績(jī)表:學(xué)年度、論文編號(hào)、教師工號(hào)、學(xué)生學(xué)號(hào)、成績(jī)、評(píng)語(yǔ)、評(píng)閱時(shí)間;
7) 選題管理表:序號(hào)、職稱(chēng)、論文數(shù)量、學(xué)生人數(shù)。
2.5 數(shù)據(jù)庫(kù)訪問(wèn)控制的實(shí)現(xiàn)
在數(shù)據(jù)庫(kù)中為了實(shí)現(xiàn)權(quán)限設(shè)計(jì)的安全問(wèn)題,建立以下七個(gè)基本表:
1) 用戶表:序號(hào)、用戶名(取教師工號(hào)或?qū)W生學(xué)號(hào));
2) 角色表:角色名、用途說(shuō)明;
3) 權(quán)限控制表:角色名、用戶名;
4) 數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限表:操作權(quán)限、角色名、基本表名、權(quán)限說(shuō)明;
5) 數(shù)據(jù)庫(kù)基本表:基本表名、基本表說(shuō)明;
6) MIS子功能模塊表:子功能代碼、功能說(shuō)明;
7) 功能模塊訪問(wèn)權(quán)限表:子功能模塊代碼、角色名;模塊菜單名、功能說(shuō)明;
各個(gè)表項(xiàng)聯(lián)合起來(lái)形成系統(tǒng)的授權(quán)機(jī)制,其運(yùn)行機(jī)制是:當(dāng)用戶通過(guò)系統(tǒng)登陸界面后,系統(tǒng)首先利用權(quán)限控制表找出用戶所對(duì)應(yīng)的角色,然后利用數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限表和功能模塊訪問(wèn)權(quán)限表找出該角色所能進(jìn)行的操作(即基本表單名和子功能項(xiàng)代碼),并在角色表中查看該角色的狀態(tài),如果角色處于被激活的狀態(tài),該用戶就可使用該系統(tǒng),如果該角色處于被禁止的狀態(tài),即使該用戶擁有該權(quán)限仍不能執(zhí)行。這樣,系統(tǒng)管理員在進(jìn)行維護(hù)時(shí),若更改功能角色,則只需修改數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限表,功能模塊訪問(wèn)權(quán)限表和權(quán)限控制表中的記錄即可,而不需修改表的結(jié)構(gòu),大大方便管理員的維護(hù)工作。
這個(gè)完整的基于角色的多層應(yīng)用系統(tǒng)安全控制有效地將前端的“菜單層的權(quán)限管理”和后臺(tái)的“數(shù)據(jù)庫(kù)基本表及相應(yīng)操作權(quán)限”統(tǒng)一起來(lái),實(shí)現(xiàn)了權(quán)限設(shè)計(jì)的授權(quán)機(jī)制。
3 系統(tǒng)的主要功能實(shí)現(xiàn)
系統(tǒng)通過(guò)B/S三層結(jié)構(gòu)實(shí)現(xiàn)論文的選題管理與論文的提交和評(píng)閱,采用瀏覽器、Web服務(wù)器和數(shù)據(jù)庫(kù)的三層結(jié)構(gòu),當(dāng)用戶通過(guò)瀏覽器提交和評(píng)閱時(shí),向Web服務(wù)器發(fā)出請(qǐng)求,Web服務(wù)器訪問(wèn)用戶的指令后開(kāi)始執(zhí)行程序,根據(jù)請(qǐng)求從數(shù)據(jù)庫(kù)中取出相應(yīng)的數(shù)據(jù),并將數(shù)據(jù)以一定格式返回到客戶端。
3.1 教師論文出題功能的實(shí)現(xiàn)
每個(gè)教師使用自己的工號(hào)和密碼進(jìn)入管理界面,點(diǎn)擊論文出題模塊,系統(tǒng)將根據(jù)論文審核表中的有關(guān)信息查看該教師是首次登錄還是重復(fù)登錄,如果為首次登錄,頁(yè)面上將出現(xiàn)相應(yīng)的論文數(shù)據(jù)表,填寫(xiě)各個(gè)字段,包括論文題目,課題來(lái)源,學(xué)生要求(比如專(zhuān)業(yè)限制等)、其他要求(比如性別要求等),填寫(xiě)完畢后選擇提交按鈕實(shí)現(xiàn)出題的功能。其中要注意的是管理員在選題管理表中根據(jù)每個(gè)教師的職稱(chēng)對(duì)教師的出題數(shù)目和所帶學(xué)生人數(shù)進(jìn)行了限制,比如根據(jù)副教授職稱(chēng)只能帶兩個(gè)畢業(yè)論文題目,一個(gè)課題只能有一個(gè)學(xué)生選擇等。如果為重復(fù)登錄,將根據(jù)論文審核表中的相關(guān)信息查看該教師有無(wú)被退回的題目,如果有,頁(yè)面顯示該教師被退回題目的相關(guān)信息,如果沒(méi)有,提示該教師出題成功,無(wú)需再次出題。
3.2 教師論文選題功能的實(shí)現(xiàn)
當(dāng)教師使用自己的工號(hào)和密碼進(jìn)入管理界面,點(diǎn)擊論文選題模塊,頁(yè)面上將出現(xiàn)論文課題、學(xué)生姓名(點(diǎn)擊學(xué)生姓名鏈接將出現(xiàn)學(xué)生的有關(guān)信息)并同頁(yè)面預(yù)設(shè)置有鎖定和退回功能鍵,當(dāng)教師查看符合要求時(shí)點(diǎn)擊鎖定功能即能實(shí)現(xiàn)雙向選定,否則點(diǎn)擊退回功能,此課題呈現(xiàn)空置狀態(tài),以供其他學(xué)生選擇。
3.3 學(xué)生選題功能的實(shí)現(xiàn)
每個(gè)學(xué)生使用自己的學(xué)號(hào)和密碼進(jìn)入相應(yīng)界面,點(diǎn)擊論文選題模塊,頁(yè)面上將出現(xiàn)還沒(méi)有被選擇的畢業(yè)論文選題列表,分別有論文數(shù)據(jù)表中以下字段:論文編號(hào)、論文題目、出題教師工號(hào)(點(diǎn)擊教師工號(hào)可出現(xiàn)鏈接教師的有關(guān)信息),并同頁(yè)面預(yù)設(shè)置有鎖定和撤銷(xiāo)功能鍵,如果該生已經(jīng)選題,系統(tǒng)將其視為修改選題,修改學(xué)生數(shù)據(jù)表中該學(xué)號(hào)學(xué)生記錄中論文編號(hào)數(shù)據(jù)即可。
3.4 論文審核功能的實(shí)現(xiàn)
教師填寫(xiě)論文選題之后,系主任要對(duì)論文題目進(jìn)行審核。當(dāng)系主任使用自己的工號(hào)和密碼進(jìn)入管理界面后,點(diǎn)擊論文審核模塊,頁(yè)面上將出現(xiàn)已經(jīng)上傳的論文題目,并同頁(yè)面預(yù)設(shè)置確定和修改的功能鍵,如果論文題目不符合要求,系主任點(diǎn)擊修改,并給出修改意見(jiàn),否則點(diǎn)擊確定通過(guò),這樣教師論文出題成功。此時(shí)將該教師工號(hào)記錄入此論文數(shù)據(jù)表中,將論文編號(hào)記錄入教師信息表中。
4 結(jié)束語(yǔ)
該系統(tǒng)結(jié)合ASP開(kāi)發(fā)平臺(tái)和SQL Server2000 技術(shù),實(shí)現(xiàn)了畢業(yè)論文(設(shè)計(jì))階段從選題管理、論文寫(xiě)作、中期檢查、論文提交等方面進(jìn)行綜合管理的一個(gè)系統(tǒng)平臺(tái)。整個(gè)系統(tǒng)在設(shè)計(jì)上保持了各個(gè)部分的相對(duì)獨(dú)立性同時(shí)又是有機(jī)地融合在一起的,體現(xiàn)了各自的特點(diǎn)。在教學(xué)管理應(yīng)用中收到了較好的效果。
根據(jù)目前的管理思路我們也有進(jìn)一步的設(shè)想:1) 逐步實(shí)現(xiàn)畢業(yè)論文的網(wǎng)上歸檔功能,和檔案館歸檔軟件形成對(duì)接,實(shí)現(xiàn)畢業(yè)論文的電子歸檔;2) 通過(guò)和圖書(shū)館數(shù)據(jù)檢索平臺(tái)的功能對(duì)接,實(shí)現(xiàn)畢業(yè)論文在數(shù)據(jù)庫(kù)平臺(tái)的電子查閱,由圖書(shū)館專(zhuān)業(yè)人員作標(biāo)引工作,實(shí)現(xiàn)有序的存儲(chǔ)和高效利用。
參考文獻(xiàn):
[1] 陳芳, 陳朝. RBAC在MIS中的應(yīng)用[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2003(1):43-44.
[2] 李杰. 基于ASP畢業(yè)論文選題系統(tǒng)的設(shè)計(jì)[J]. 湖南環(huán)境生物職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,13(2):30-32.
[3] 崔盟. 基于Struts+Ajax的學(xué)位論文管理與服務(wù)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J]. 現(xiàn)代圖書(shū)情報(bào),2007(11):7-12.
[4] 嚴(yán)國(guó)麗, 等. 基于.NET的論文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦學(xué)習(xí),2007,10(5):10-12.
中圖分類(lèi)號(hào):TP392:J642.477文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2007)17-31327-02
Design and Implementation of Thesis Searching System Based on B/S structure
LIU Qun-Yan,ZHANG Da-Wei
(Library Xi'an Polytechnic University ,Xi'an 710048,China)
Abstract:Based on the B/S structure, a thesis searching system is designed and developed for academic thesis searching by the ASP technique and SQL database. The system can run very stably, has complete functions and satisfies all requirements of thesis search excellently, which provides a good platform for sufficient using of academic thesis.
Key words:thesis search; ASP technology; SQL SERVER; B/S structure
1 前言
學(xué)位論文是高等院?;蚩蒲袡C(jī)構(gòu)的學(xué)生為獲得某一級(jí)別的學(xué)位而向?qū)W?;蚱渌鼘W(xué)術(shù)單位提交的學(xué)術(shù)研究論文,是圍繞某一學(xué)科的重點(diǎn)或前沿課題進(jìn)行的創(chuàng)造性研究和探討并加以總結(jié)的產(chǎn)物,所以它是具有較高學(xué)術(shù)價(jià)值的科技文獻(xiàn)。但很多高校多年來(lái)的博士和碩士論文因查詢(xún)不便而不能為教學(xué)和科研充分利用,所以建立基于網(wǎng)絡(luò)的、不受時(shí)間和空間約束的論文檢索系統(tǒng)已成為提高高校學(xué)位論文利用率的關(guān)鍵。而購(gòu)買(mǎi)商業(yè)公司開(kāi)發(fā)的檢索系統(tǒng)雖然其功能齊全、性能穩(wěn)定,但不僅代價(jià)昂貴,而且其過(guò)于廣泛,不適合某一高校的學(xué)科特點(diǎn)和該校圖書(shū)館的具體情況。所以開(kāi)發(fā)高校學(xué)位論文檢索系統(tǒng)非常必要,而且具有實(shí)際應(yīng)用意義。本文討論了該系統(tǒng)的開(kāi)發(fā)過(guò)程和核心難點(diǎn)技術(shù)。
2 系統(tǒng)技術(shù)分析及開(kāi)發(fā)環(huán)境
本系統(tǒng)采用三層B/S體系結(jié)構(gòu)為其基本框架,運(yùn)用當(dāng)前應(yīng)用廣泛的動(dòng)態(tài)web技術(shù)ASP實(shí)現(xiàn)其與數(shù)據(jù)庫(kù)的強(qiáng)大操作和遠(yuǎn)程客戶端的交流。下面對(duì)這些技術(shù)和開(kāi)發(fā)環(huán)境進(jìn)行分析介紹。
2.1 B/S結(jié)構(gòu)
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器/服務(wù)器結(jié)構(gòu),是把web 技術(shù)和數(shù)據(jù)庫(kù)技術(shù)結(jié)合起來(lái)的技術(shù),其實(shí)現(xiàn)了開(kāi)發(fā)環(huán)境和應(yīng)用環(huán)境的分離,即用戶端利用相對(duì)統(tǒng)一的瀏覽器( IE、Netscape 等) 代替客戶端軟件,實(shí)現(xiàn)跨平臺(tái)的應(yīng)用服務(wù),B/S通常采用三層分布式體系結(jié)構(gòu),如圖1所示。
圖1 B/S結(jié)構(gòu)
三層B/S結(jié)構(gòu)的工作方式主要是用戶通過(guò)瀏覽器表單形式把客戶請(qǐng)求以HTTP 協(xié)議方式發(fā)送到web服務(wù)器,web服務(wù)器向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)器經(jīng)過(guò)數(shù)據(jù)處理后將符合條件的數(shù)據(jù)返回到web服務(wù)器,web服務(wù)器把結(jié)果翻譯成HTML模式或各類(lèi)Script 格式, 返回瀏覽器供用戶閱讀。
本系統(tǒng)采用三層B/S體系結(jié)構(gòu),用戶只要能連接到Internet網(wǎng)絡(luò),就能很方便的在任何時(shí)間任何地點(diǎn)查詢(xún)學(xué)位論文。
2.2 ASP技術(shù)
ASP(Active Server Page) 是Microsoft 提出的基于服務(wù)器端的腳本執(zhí)行環(huán)境,通過(guò)在普通HTML頁(yè)面中嵌入的ASP腳本語(yǔ)言(VBScript 、Jscript),就可以建立和執(zhí)行動(dòng)態(tài)的、交互的、高性能的Web應(yīng)用程序。由于ASP腳本是在服務(wù)器端解釋執(zhí)行的,所以用其設(shè)計(jì)的程序獨(dú)立于客戶端瀏覽器且保密性較高;ASP采用ADO技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),ADO是一組優(yōu)化的訪問(wèn)數(shù)據(jù)庫(kù)專(zhuān)用對(duì)象集,提供了完整的站點(diǎn)數(shù)據(jù)庫(kù)訪問(wèn)方案,使ASP訪問(wèn)數(shù)據(jù)庫(kù)十分方便?;谝陨显颍鞠到y(tǒng)采用ASP技術(shù)來(lái)實(shí)現(xiàn)其功能。
2.3 系統(tǒng)開(kāi)發(fā)平臺(tái)和環(huán)境
本系統(tǒng)服務(wù)器端采用高性能、高可靠性和高安全性的Microsoft Windows 2003 Server為其操作系統(tǒng),并配置IIS6.0;選取可擴(kuò)充的、高效的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)SQL SERVER 2000為后臺(tái)數(shù)據(jù)庫(kù);采用專(zhuān)業(yè)網(wǎng)站開(kāi)發(fā)編輯器Macromedia Dreamweaver MX 2004為系統(tǒng)開(kāi)發(fā)工具;開(kāi)發(fā)語(yǔ)言為HTML和VBScript;客戶端只需要安裝 IE4.0 或Netscape3.0 以上版本的瀏覽器即可使用本系統(tǒng)。
3 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)
在開(kāi)發(fā)此系統(tǒng)之前,作者做了大量的需求分析,充分了解掌握了系統(tǒng)所必需具有的功能,并考慮了人機(jī)功效方面的問(wèn)題進(jìn)行系統(tǒng)設(shè)計(jì)。下面對(duì)該系統(tǒng)的功能模塊、web頁(yè)面、數(shù)據(jù)庫(kù)作總體的設(shè)計(jì)。
3.1 功能模塊分析與設(shè)計(jì)
根據(jù)用戶對(duì)論文檢索精度要求的不同,該系統(tǒng)主要分為兩大模塊,(1)基本檢索模塊,(2)高級(jí)檢索模塊,如圖2所示。
圖2 系統(tǒng)工作流程圖
基本檢索模塊:主要適用于對(duì)檢索精確度要求不高、對(duì)論文庫(kù)按某一條件字段進(jìn)行簡(jiǎn)單分類(lèi)檢索的用戶。該模塊的功能要求主要有:用戶選擇某一檢索項(xiàng)并輸入檢索詞,就可檢索到符合該條件的所有記錄,并將檢索結(jié)果分頁(yè)顯示;可以瀏覽某一紀(jì)錄的詳細(xì)內(nèi)容,包括摘要。
高級(jí)檢索模塊:該模塊適用于對(duì)檢索結(jié)果要求精確、多條件查詢(xún)的用戶。該模塊的功能要求主要有:可以實(shí)現(xiàn)多個(gè)條件的與、或、非復(fù)雜查詢(xún);將檢索結(jié)果分頁(yè)顯示;可瀏覽某一紀(jì)錄的詳細(xì)信息,包括摘要。
根據(jù)學(xué)位論文的特點(diǎn)和用戶的檢索需求,其檢索選擇項(xiàng)分為七類(lèi):論文題名、論文作者、論文導(dǎo)師、關(guān)鍵詞、學(xué)科專(zhuān)業(yè),中文摘要、分類(lèi)號(hào)。
3.2 Web頁(yè)面設(shè)計(jì)
根據(jù)該系統(tǒng)的模塊及功能,實(shí)現(xiàn)該系統(tǒng)需要4個(gè)頁(yè)面。檢索首頁(yè)index.asp,該頁(yè)面采用HTML表單的形式收集用戶輸入的檢索詞及檢索選擇項(xiàng)條件;基本檢索Bsearch.asp,該頁(yè)實(shí)現(xiàn)基本檢索的功能頁(yè)面,并將查詢(xún)結(jié)果分頁(yè)顯示;高級(jí)檢索Hsearch.asp,該頁(yè)實(shí)現(xiàn)高級(jí)檢索多選項(xiàng)、多條件的與、或、非查詢(xún)功能,并將查詢(xún)結(jié)果分頁(yè)顯示;記錄詳細(xì)顯示Show.asp, 該頁(yè)實(shí)現(xiàn)瀏覽某一紀(jì)錄的詳細(xì)信息,本校用戶可查看全文。其頁(yè)面間的關(guān)系如圖3所示。
圖3 頁(yè)面關(guān)系圖
3.3 后臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)采用SQL SEVER 2000來(lái)創(chuàng)建后臺(tái)數(shù)據(jù)庫(kù)。為了提高數(shù)據(jù)庫(kù)服務(wù)器的響應(yīng)速度并確保數(shù)據(jù)安全,本系統(tǒng)采用文件實(shí)體和文件參數(shù)分別存放的方法,即在數(shù)據(jù)庫(kù)中只保存論文的文件名、存放路徑、文件格式和大小,而在WEB服務(wù)器指定目錄存放學(xué)位論文全文。根據(jù)學(xué)位論文的構(gòu)成特點(diǎn)和用戶的查詢(xún)需求,創(chuàng)建的數(shù)據(jù)庫(kù)表的字段如下:姓名、學(xué)號(hào)、專(zhuān)業(yè)、培養(yǎng)單位、論文題名、分類(lèi)號(hào)、學(xué)位級(jí)別、導(dǎo)師姓名、導(dǎo)師單位、提交日期、關(guān)鍵詞、論文頁(yè)數(shù)、中文摘要、英文摘要、全文文件名,全文路徑、全文大小、全文格式。
4 系統(tǒng)功能實(shí)現(xiàn)及核心技術(shù)
在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,主要解決了三個(gè)核心技術(shù)問(wèn)題。ASP與WEB數(shù)據(jù)庫(kù)的連接、多條件的與、或、非復(fù)雜查詢(xún)問(wèn)題和查詢(xún)結(jié)果分頁(yè)顯示問(wèn)題。下面來(lái)闡述這些問(wèn)題的解決方法。
4.1 ASP與WEB數(shù)據(jù)庫(kù)的連接
ASP與數(shù)據(jù)庫(kù)的連接一般有三種方法:(1)通過(guò)ODBC DSN建立連接,(2)通過(guò)OLE DB建立連接,(3)通過(guò)Driver建立連接,本系統(tǒng)選用通過(guò)Driver建立連接的方法,使用該方法,程序的可移植性比較好。系統(tǒng)建立連接的過(guò)程如下:(1)建立數(shù)據(jù)庫(kù)連接對(duì)象:set conn = server.createobject ("adodb. connection ");(2)打開(kāi)要訪問(wèn)的數(shù)據(jù)庫(kù):conn.open"Driver;Server=;Database=;Uid=;Pwd= "(3)建立記錄集對(duì)象:set rs= server. createobject("ADODB.recordset");(4)打開(kāi)記錄集對(duì)象:rs. open strsql,conn,"3","1";(5)利用記錄集對(duì)象所提供的屬性對(duì)Web 數(shù)據(jù)庫(kù)實(shí)施操作;(6)關(guān)閉記錄集對(duì)象:rs.close;(7)關(guān)閉數(shù)據(jù)連接對(duì)象:conn.close;
4.2 檢索功能實(shí)現(xiàn)
本系統(tǒng)兩大檢索模塊中,基本檢索模塊中的SQL查詢(xún)比較簡(jiǎn)單,在這里不予熬述。重點(diǎn)來(lái)闡述高級(jí)檢索模塊中的動(dòng)態(tài)多選項(xiàng)、多條件的與、或、非查詢(xún),這是開(kāi)發(fā)本系統(tǒng)的核心技術(shù)和難點(diǎn)之一。本文采用VBScript中的select case語(yǔ)句來(lái)識(shí)別用戶的動(dòng)態(tài)檢索項(xiàng),用IF語(yǔ)句來(lái)控制多條件的查詢(xún),專(zhuān)門(mén)設(shè)置變量strhigh2接受用戶所選取的與、或、非條件。SQL查詢(xún)語(yǔ)句用變量strsql來(lái)保存,而最初的查詢(xún)語(yǔ)句是:strsql= "select * from table1 where 1=1 ",后面依據(jù)條件對(duì)查詢(xún)語(yǔ)句進(jìn)行疊加,如:strsql=strsql& "select * from table1 where name = "liuyan" ",直到條件判斷完畢,最后形成SQL查詢(xún)語(yǔ)句,并保存在strsql變量中,執(zhí)行rs.open strsql,conn,"3","1"語(yǔ)句。系統(tǒng)查詢(xún)功能實(shí)現(xiàn)。
為了提高系統(tǒng)的簡(jiǎn)單易用性和查詢(xún)結(jié)果的命中精度,本系統(tǒng)支持作者姓名、導(dǎo)師姓名字段的精確查詢(xún),而對(duì)字段論文題名、關(guān)鍵詞、論文摘要、提交年份、學(xué)科專(zhuān)業(yè)、分類(lèi)號(hào)實(shí)施模糊查詢(xún),如:用SQL語(yǔ)句seletc * from table1 where name like %"& yan & "%實(shí)現(xiàn)模糊查詢(xún)。
4.3 查詢(xún)結(jié)果分頁(yè)顯示
在顯示查詢(xún)結(jié)果時(shí),如果所有檢索的命中記錄在一頁(yè)顯示,將不方便用戶瀏覽,所以系統(tǒng)要求將查詢(xún)結(jié)果分頁(yè)顯示。而實(shí)現(xiàn)查詢(xún)結(jié)果分頁(yè)顯示關(guān)鍵要解決兩方面的問(wèn)題:(1)循環(huán)顯示本頁(yè)記錄,(2)翻頁(yè)控制。
循環(huán)顯示本頁(yè)記錄:即當(dāng)前頁(yè)記錄的顯示問(wèn)題。本系統(tǒng)采用雙重嵌套的Do WhileLoop語(yǔ)句來(lái)控制當(dāng)前頁(yè)記錄的顯示,用 rs.("字段名")顯示記錄字段;采用ADO中數(shù)據(jù)集RecordSet對(duì)象的一些屬性來(lái)進(jìn)行參數(shù)設(shè)置:用PageSize屬性設(shè)置每頁(yè)顯示的記錄數(shù);用PageCount 、RecordCount屬性分別顯示檢索命中的總記錄數(shù)和頁(yè)數(shù);用AbsolutePage屬性表示當(dāng)前頁(yè)碼;用MoveNext方法來(lái)移動(dòng)記錄指針;并用到了BOF 屬性和EOF 屬性。通過(guò)運(yùn)用以上的語(yǔ)句控制與屬性設(shè)置,實(shí)現(xiàn)了當(dāng)前頁(yè)記錄的顯示。
(2)翻頁(yè)控制:系統(tǒng)要求將查詢(xún)結(jié)果分多頁(yè)顯示,而在進(jìn)行翻頁(yè)時(shí),涉及到對(duì)頁(yè)面bsearch.asp或hsearch.asp(實(shí)現(xiàn)檢索和分頁(yè)顯示的功能頁(yè))的自身連接,也就是web服務(wù)器端要重新執(zhí)行該頁(yè)面程序,重新接收用戶輸入的檢索詞和重新執(zhí)行SQL查詢(xún)語(yǔ)句,并且要求正確顯示目標(biāo)頁(yè)記錄。所以,在系統(tǒng)進(jìn)行翻頁(yè)時(shí),要對(duì)兩類(lèi)參數(shù)進(jìn)行傳遞,分別是用戶輸入的檢索詞、檢索項(xiàng)和當(dāng)前頁(yè)數(shù)。本系統(tǒng)采用表單的隱藏域來(lái)對(duì)這兩類(lèi)參數(shù)進(jìn)行傳遞,選取Request.form("")來(lái)接收用戶從表單輸入的檢索詞和檢索項(xiàng),而采用Request.querystring("")來(lái)接收翻頁(yè)時(shí)由表單隱藏域傳遞的檢索詞、檢索項(xiàng)參數(shù)和當(dāng)前頁(yè)數(shù)參數(shù),并用IF語(yǔ)句來(lái)判斷使用前者還是后者;翻頁(yè)的自身連接采用URL方式傳遞目標(biāo)頁(yè)數(shù)。參數(shù)傳遞正確,系統(tǒng)成功實(shí)現(xiàn)翻頁(yè)功能。
5 結(jié)束語(yǔ)
采用web技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、ASP技術(shù)實(shí)現(xiàn)了基于B/S結(jié)構(gòu)的高校學(xué)位論文檢索系統(tǒng)。在此系統(tǒng)開(kāi)發(fā)過(guò)程中,重點(diǎn)研究解決了動(dòng)態(tài)多選項(xiàng)、多條件的與、或、非復(fù)雜查詢(xún)問(wèn)題,以及檢索結(jié)果分頁(yè)顯示的問(wèn)題。經(jīng)過(guò)測(cè)試,本系統(tǒng)性能穩(wěn)定、界面友好、易于使用,現(xiàn)已應(yīng)用于西安工程大學(xué)圖書(shū)館,解決了高校學(xué)位論文的檢索難題,使得博士、碩士論文能夠被科研和教學(xué)充分利用,提高了學(xué)問(wèn)論文的利用率,這也是開(kāi)發(fā)本系統(tǒng)的真正意義所在,作者感到欣慰!
參考文獻(xiàn):
[1]陳健偉,李美軍,施建強(qiáng),等. ASP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)教程[M].北京:清華大學(xué)出版社,2005.188-206.
[2]張固,汪曉平.ASP網(wǎng)絡(luò)應(yīng)用系統(tǒng)典型模塊開(kāi)發(fā)實(shí)例解析[M].北京:人民郵電出版社,2005.53-95.
[3]龍馬工作室.ASP+SQL Server組建動(dòng)態(tài)網(wǎng)站實(shí)例精講[M]. 北京:人民郵電出版社,2005.73-96.
高校科研管理所設(shè)計(jì)的事務(wù)非常繁雜,涉及到??蒲刑?、各個(gè)系的科研管理以及個(gè)人對(duì)科研信息的查詢(xún)統(tǒng)計(jì)等。所設(shè)計(jì)的系統(tǒng)既要有利于科研處的監(jiān)督管理又要有利于各個(gè)系及教師的分工協(xié)作。系統(tǒng)功能主要包括??蒲刑幙蒲泄芾?、院系(或部門(mén))科研管理、個(gè)人科研信息查詢(xún)、校級(jí)科研項(xiàng)目整體信息管理??梢詣澐譃榭蒲行畔⒕S護(hù)、科研信息查詢(xún)與統(tǒng)計(jì)、科研信息報(bào)表、科研信息分析、校級(jí)課題申報(bào)、審批、合同簽定、結(jié)題、其它處理等操作;其中科研信息應(yīng)細(xì)分為學(xué)術(shù)論文、著作、科研項(xiàng)目、科研成果、科研獎(jiǎng)勵(lì)等信息。
2用戶需求分析
由于本系統(tǒng)是直接面向網(wǎng)上辦公的,必須適應(yīng)所服務(wù)環(huán)境的各類(lèi)操作人員,主要包括學(xué)??蒲刑?、各院系(或部門(mén))、普通教師個(gè)人(或其他瀏覽者)。
2.1普通教師個(gè)人(或其他瀏覽者)
普通教師個(gè)人(或其他瀏覽者)只能按姓名來(lái)瀏覽個(gè)人的科研信息、進(jìn)行統(tǒng)計(jì)打印,個(gè)人的科研信息(論文、著作、項(xiàng)目成果等)必須提交本部門(mén)審核入錄。
2.2各院系(或部門(mén))
各院系(或部門(mén))主要職責(zé)是對(duì)本部門(mén)員工的論文、著作、項(xiàng)目、成果、獎(jiǎng)勵(lì)等信息進(jìn)行審核后輸入到本系統(tǒng)數(shù)據(jù)庫(kù)中,查詢(xún)本部門(mén)在某時(shí)間內(nèi)的科研信息、統(tǒng)計(jì)科研情況、打印相關(guān)資料等,同時(shí)對(duì)本部門(mén)的錯(cuò)誤錄入信息進(jìn)行修改和維護(hù)。
2.3科研處
主要管理本校的員工信息、論文、著作、各級(jí)各類(lèi)科研項(xiàng)目和成果、科研獎(jiǎng)勵(lì)等常規(guī)工作,同時(shí),管理校級(jí)課題的申報(bào)、審批、合同、檢查、結(jié)題等管理,同時(shí),監(jiān)控系統(tǒng)運(yùn)行和各部門(mén)的情況。
3數(shù)據(jù)庫(kù)設(shè)計(jì)及關(guān)鍵技術(shù)實(shí)現(xiàn)
3.1數(shù)據(jù)庫(kù)表創(chuàng)建
根據(jù)系統(tǒng)需求分析,將系統(tǒng)的實(shí)現(xiàn)直接定位在更好的適合各層次人員的需求和操作,系統(tǒng)的所有初始化數(shù)據(jù)均采用界面錄入的方法,由各類(lèi)人員分工完成。根據(jù)我校的實(shí)際情況,筆者將科研人員基本信息、論文信息、科研項(xiàng)目信息、成果信息、獲獎(jiǎng)情況信息等作為系統(tǒng)的初始化數(shù)據(jù),為個(gè)人和院系查詢(xún)、統(tǒng)計(jì)、打印,科研處操作、加工、管理、集成等工作提供基本的數(shù)據(jù)平臺(tái)。主要數(shù)據(jù)表格設(shè)計(jì)如下:
科研人員信息表(職工號(hào),姓名,性別,職稱(chēng),出生日期,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),學(xué)歷,學(xué)位,工作時(shí)間,所在部門(mén),備注)。
論文信息表(序號(hào),論文名稱(chēng),刊物名稱(chēng),刊物類(lèi)別,刊物級(jí)別,主辦單位,作者,職工號(hào),發(fā)表時(shí)間,刊號(hào),備注)。
論著信息表(序號(hào),著作名稱(chēng),圖書(shū)編號(hào),著作類(lèi)別,出版社,學(xué)科類(lèi)別,作者,職工號(hào),出版時(shí)間,版次,備注)。
科研項(xiàng)目表(序號(hào),項(xiàng)目編號(hào),項(xiàng)目名稱(chēng),項(xiàng)目來(lái)源,項(xiàng)目類(lèi)別,完成單位,負(fù)責(zé)人,課題組成員,立項(xiàng)時(shí)間,擬定期限,經(jīng)費(fèi)金額,是否鑒定,鑒定時(shí)間,鑒定單位,備注)。
科研成果表(序號(hào),成果名稱(chēng),成果類(lèi)別,成果經(jīng)費(fèi),完成時(shí)間,負(fù)責(zé)人,完成單位,是否投入生產(chǎn),經(jīng)濟(jì)效益,備注)。
科研獎(jiǎng)勵(lì)表(序號(hào),獲獎(jiǎng)人員,項(xiàng)目名稱(chēng),獎(jiǎng)勵(lì)名稱(chēng),授予單位,時(shí)間,備注)。
校級(jí)項(xiàng)目管理表(項(xiàng)目編號(hào),項(xiàng)目名稱(chēng),課題名稱(chēng),負(fù)責(zé)人,所在部門(mén),職務(wù)或職稱(chēng),聯(lián)系電話,申報(bào)表,申報(bào)時(shí)間,申報(bào)經(jīng)費(fèi),是否批準(zhǔn),批準(zhǔn)日期,批準(zhǔn)經(jīng)費(fèi),合同時(shí)間,合同內(nèi)容,是否結(jié)題,結(jié)題時(shí)間,鑒定技術(shù)負(fù)責(zé)人,項(xiàng)目成果效益,備注)。
校級(jí)鑒定專(zhuān)家表(序號(hào),姓名,性別,出生日期,工作單位,學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),職稱(chēng)職務(wù),備注)。
在上述表格中,加下劃線字段代表主鍵,加雙劃線字段代表外鍵。其中科研人員信息表之所以選擇(職工號(hào),姓名)作為主鍵,考慮到姓名經(jīng)常作為查詢(xún)、操作條件,并在相關(guān)表中作為科技人員的重要描述和限制;為了避免數(shù)據(jù)錄入的無(wú)序狀況,數(shù)據(jù)庫(kù)表之間建立了嚴(yán)格的參照完整性,并且對(duì)所有表都分配了操作權(quán)限,并將錯(cuò)誤信息及時(shí)反饋給操作人員,科研人員信息表、論文信息表、論著信息表通過(guò)“職工號(hào)”建立參照完整性關(guān)系,在錄入論文、論著時(shí),作者必須是本單位職工,如果科研人員信息表不存在該員工,便給出錯(cuò)誤提示,提示檢查是否是合法職工,如果是,便可以在科研人員信息表中添加該員工信息后錄入論文、論著信息,否則,拒絕錄入,“職工號(hào)”又為組合查詢(xún)提供了連接條件支持;同時(shí)將科研項(xiàng)目表、科研成果表、校級(jí)項(xiàng)目管理表中“負(fù)責(zé)人”和科研人員信息表中的“姓名”建立主鍵、外鍵參照完整性關(guān)系,校級(jí)課題的申報(bào)負(fù)責(zé)人也必須是本單位某部門(mén)的職工;獲獎(jiǎng)人員,必須是科研人員信息表中某一職工;將校級(jí)鑒定專(zhuān)家表和校級(jí)項(xiàng)目管理表通過(guò)“鑒定技術(shù)負(fù)責(zé)人”、“姓名”建立參照完整性管理,限定了鑒定技術(shù)負(fù)責(zé)人必須是本校專(zhuān)家表中的專(zhuān)業(yè)人員;所有表的主鍵設(shè)置都加上“姓名”字段,目的是為了符合人們的常規(guī)習(xí)慣,常以某個(gè)專(zhuān)業(yè)人員姓名作為操作、查詢(xún)條件,科研人員信息表與其他相關(guān)表格建立參照完整性為了限制科研、論文、論著、成果、獎(jiǎng)勵(lì)等信息的科學(xué)合法性,同時(shí)有利于統(tǒng)計(jì)和查詢(xún);只有完善的參照完整性,才能使得數(shù)據(jù)庫(kù)中數(shù)據(jù)具有一致性和互操作性。
3.2存儲(chǔ)過(guò)程的設(shè)計(jì)
存儲(chǔ)過(guò)程是Transact-SQL語(yǔ)句的集合,它是實(shí)現(xiàn)事務(wù)或業(yè)務(wù)規(guī)則的極好途徑,是在數(shù)據(jù)庫(kù)服務(wù)器上存儲(chǔ)與執(zhí)行的。使用它,可以大大減少網(wǎng)絡(luò)傳輸流量,提高應(yīng)用程序性能和安全性,而且由于它只在第一次執(zhí)行時(shí)被優(yōu)化、編譯。因此,使用存儲(chǔ)過(guò)程不僅可以極大地降低應(yīng)用程序的實(shí)現(xiàn)難度,而且還可以極大地提高系統(tǒng)的運(yùn)行速度、效率。存儲(chǔ)過(guò)程的設(shè)計(jì)一定要符合邏輯業(yè)務(wù)規(guī)則和要求,根據(jù)實(shí)際,對(duì)一些常規(guī)、頻繁使用的查詢(xún)、插入數(shù)據(jù)操作使用存儲(chǔ)過(guò)程來(lái)完成。以下操作可以考慮使用存儲(chǔ)過(guò)程來(lái)完成:
①對(duì)系統(tǒng)的初始化數(shù)據(jù)時(shí)錄入各種基本信息操作。
②查詢(xún)個(gè)人、部門(mén)科研信息時(shí)的查詢(xún)操作。
③科研處的其他常規(guī)操作。
下面以查詢(xún)部門(mén)科研信息為例介紹存儲(chǔ)過(guò)程使用方法,在此查詢(xún)某一部門(mén)的論文、論著信息。描述代碼:
CREATEPROCEDURE論文論著
@achar(20)
as
select姓名,論文名稱(chēng),刊物名稱(chēng),刊物類(lèi)別,刊物級(jí)別,發(fā)表時(shí)間,備注
from科研人員信息表,論文信息表
where科研人員信息表。職工號(hào)=論文信息表。職工號(hào)and所在部門(mén)=@a
select姓名,著作名稱(chēng),出版社,出版時(shí)間,版次,備注
from科研人員信息表,論著信息表
where科研人員信息表。職工號(hào)=論著信息表。職工號(hào)and所在部門(mén)=@a
其它操作不再做列述。從提高執(zhí)行效率、提高安全性、共享性方面考慮,盡可能多的使用存儲(chǔ)過(guò)程來(lái)提高數(shù)據(jù)庫(kù)的整體性能。
3.3觸發(fā)器的使用
使用觸發(fā)器來(lái)實(shí)現(xiàn)表間的數(shù)據(jù)自動(dòng)操作,提高系統(tǒng)效率,校級(jí)鑒定專(zhuān)家表中的信息主要來(lái)源于科研人員信息表中具有副高職稱(chēng)以上的人員,在輸入或修改科研人員信息時(shí),只要是具有副高級(jí)職稱(chēng)以上的人員,就可以自動(dòng)添加到校級(jí)鑒定專(zhuān)家表中,該操作可以使用觸發(fā)器來(lái)實(shí)現(xiàn),代碼描述如下:
CreateTriggerptz
On科研人員信息表
Forinsert,update
As
Insertinto校級(jí)鑒定專(zhuān)家表(姓名,性別,出生日期,工作單位,學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),職稱(chēng)職務(wù),備注)Select(姓名,性別,出生日期,所在部門(mén),學(xué)歷,學(xué)位,所學(xué)專(zhuān)業(yè),現(xiàn)從事專(zhuān)業(yè),職稱(chēng)職務(wù),備注)。
From科研人員信息表,其中,校級(jí)鑒定專(zhuān)家表中的序號(hào)是自動(dòng)生成的標(biāo)識(shí)列。
同時(shí),可以用觸發(fā)器來(lái)檢驗(yàn)校級(jí)項(xiàng)目負(fù)責(zé)人是否在科研人員信息表中,其中,用事務(wù)以驗(yàn)證合法性以控制該項(xiàng)操作是否完成。
代碼描述如下:
CreateTriggercheck1
On校級(jí)項(xiàng)目管理表
Forinsert
As
begintran
declare@achar(12)
select@a=負(fù)責(zé)人fromInserted
If(selectcount(*)from科研人員信息表where姓名=@a)=0
begin
Print''''負(fù)責(zé)人不合法''''
rollbacktran
end
committran
其它類(lèi)似操作不做描述。
在設(shè)計(jì)中,堅(jiān)持使用觸發(fā)器實(shí)現(xiàn)盡可能多的實(shí)現(xiàn)前臺(tái)操作,不僅提高了操作效率、更提高了代碼的安全性和共享性。
3.4數(shù)據(jù)庫(kù)安全設(shè)計(jì)
網(wǎng)絡(luò)的安全非常重要,從數(shù)據(jù)庫(kù)級(jí)、服務(wù)器級(jí)和應(yīng)用程序級(jí)綜合考慮,在科研管理系統(tǒng)中要根據(jù)不同用戶,設(shè)置不同的權(quán)限、不同的初始化菜單。在本系統(tǒng)中,數(shù)據(jù)庫(kù)的安全主要通過(guò)數(shù)據(jù)庫(kù)的存取控制機(jī)制實(shí)現(xiàn)的。首先定義各類(lèi)管理人員的操作權(quán)限即角色,其次定義數(shù)據(jù)庫(kù)登錄,最后依據(jù)用戶權(quán)限表將登錄分配為相應(yīng)的角色。由于人員的復(fù)雜性,角色分為三個(gè)層次:科研處級(jí)別、二級(jí)部門(mén)級(jí)別、普通教師級(jí)別。用戶屬于某一角色,即使用戶職務(wù)調(diào)動(dòng)時(shí),對(duì)用戶增刪,不影響其他用戶的操作,只是角色中用戶數(shù)量的變化。建立專(zhuān)門(mén)的系統(tǒng)使用權(quán)限表來(lái)記錄用戶和權(quán)限,同時(shí)也兼容部門(mén)設(shè)置信息,對(duì)不同部門(mén)分配相應(yīng)的權(quán)限和賬號(hào),科研處是最高管理級(jí)別部門(mén)。