• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Java的研究生信息采集和反饋系統(tǒng)的研究與實現(xiàn)

      2009-07-24 08:51:42郭信江
      中國教育信息化 2009年6期
      關(guān)鍵詞:系統(tǒng)結(jié)構(gòu)客戶端服務(wù)器

      郭信江 蔡 喆

      摘要:本文主要敘述研究生信息采集和反饋系統(tǒng)的設(shè)計與實現(xiàn),著重介紹了系統(tǒng)結(jié)構(gòu),開發(fā)技術(shù)與相關(guān)控件,設(shè)計流程,服務(wù)器端程序的實現(xiàn)以及客戶端程序的實現(xiàn)。使用的編程語言主要是java,使用的開發(fā)平臺是JBuilder10,使用的數(shù)據(jù)庫則是SQL server2000。本系統(tǒng)主要面向兩類人員使用:在校的研究生及管理研究生工作的教學(xué)秘書、輔導(dǎo)員,他們對系統(tǒng)的使用擁有不同的權(quán)限,其主要目的是便于研究生教學(xué)秘書、輔導(dǎo)員更好地管理研究生工作,更好地與研究生溝通、交流,從而提高高校研究生日常管理的效率。

      關(guān)鍵詞:數(shù)據(jù)庫管理系統(tǒng) 系統(tǒng)結(jié)構(gòu) 服務(wù)器 客戶端

      中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:B 文章編號:1673-8454(2009)11-0022-04

      本文主要是利用Java的通信技術(shù)來實現(xiàn)多用戶的研究生信息采集與反饋系統(tǒng)。系統(tǒng)中包含很多功能和模塊,例如:研究生的注冊和修改信息功能,教學(xué)管理員、輔導(dǎo)員的注冊和修改信息,廣播和向研究生選擇性發(fā)送消息等功能。研究生信息的采集與反饋系統(tǒng)的主要理念是盡量減少無謂的人工干預(yù),避免不必要的手頭操作,提高高校研究生管理的辦公自動化程度,同時減少誤差,增加信息可靠性,最大限度地提高研究生教學(xué)管理、思想政治教育的效率。

      一、系統(tǒng)簡介

      系統(tǒng)運行后,首先會有一個提示信息,要求用戶選擇以研究生身份登錄,還是教學(xué)秘書身份登錄。進(jìn)入登錄系統(tǒng)后,主要有兩個應(yīng)用程序,分別為服務(wù)器程序和客戶端程序。服務(wù)器應(yīng)用程序主要用于消息轉(zhuǎn)發(fā),客戶登錄信息的管理以及用戶發(fā)送系統(tǒng)消息等;客戶端應(yīng)用程序主要用于客戶信息的顯示和信息的輸入。

      用戶首先啟動服務(wù)器程序,服務(wù)器即處于監(jiān)聽狀態(tài),當(dāng)用戶以某種身份登錄系統(tǒng)時,系統(tǒng)會根據(jù)數(shù)據(jù)庫存儲的用戶信息驗證用戶所輸入的內(nèi)容,若輸入有誤則提示,否則進(jìn)入研究生個人系統(tǒng)或者教學(xué)秘書個人系統(tǒng)。以研究生身份成功登錄系統(tǒng)后,會提示登錄成功等相關(guān)信息。若有來自教學(xué)秘書或者同學(xué)發(fā)來的消息時,則在個人信息界面提示,并可以直接進(jìn)行回復(fù)。以教學(xué)秘書身份登錄系統(tǒng)后,也在當(dāng)前界面下提示登錄成功等信息,若有來自研究生用戶發(fā)來的消息時,則在個人信息欄中顯示,并可直接進(jìn)行回復(fù)。軟件設(shè)計的主要思路是構(gòu)建一個信息化平臺,供研究生與教學(xué)秘書二者之間進(jìn)行溝通,減少了無謂的手頭操作,從而提高了辦事效率。

      二、開發(fā)技術(shù)與相關(guān)控件

      要實現(xiàn)本系統(tǒng),首先要了解一些必備的網(wǎng)絡(luò)基本知識,在此基礎(chǔ)上,才能易于理解本系統(tǒng)的基本原理。

      1.Internet知識及相關(guān)術(shù)語介紹

      Internet提供的服務(wù)很多,主要有WWW服務(wù)、文件傳輸服務(wù)、電子郵件服務(wù)和遠(yuǎn)程登錄服務(wù)等。其中,WWW是一個基于超文本的信息查詢方式,主要通過超文本方式將Internet上不同地址的信息有機地組織起來,并提供一個友好的界面,大大方便了人們的信息交流。

      TCP/IP實際上是一組協(xié)議的集合,它的協(xié)議棧示意圖如圖1所示。

      TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型,是一種通信協(xié)議的7層抽象的參考模型,其中每一層執(zhí)行某一特定任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、會話層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為:

      (1)應(yīng)用層:應(yīng)用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。

      (2)傳輸層:此層提供了節(jié)點間的數(shù)據(jù)傳送服務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)等,TCP和UDP給數(shù)據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)據(jù)已被送達(dá)并接收。

      (3)互聯(lián)網(wǎng)層:負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(但不檢查是否被正確接收),如網(wǎng)際協(xié)議(IP)。

      (4)網(wǎng)絡(luò)接口層:對實際的網(wǎng)絡(luò)媒體的管理,定義如何使用實際網(wǎng)絡(luò)(如Ethernet、Serial Line等)傳送數(shù)據(jù)。

      網(wǎng)際協(xié)議IP是TCP/IP的心臟,也是網(wǎng)絡(luò)層中最重要的協(xié)議。IP層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動程序)發(fā)來的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層——TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的,因為IP并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。IP數(shù)據(jù)包中含有發(fā)送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。高層的TCP和UDP服務(wù)在接收數(shù)據(jù)包時,通常假設(shè)包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個有效的主機發(fā)送來的。IP確認(rèn)包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCP和UDP的服務(wù)來說,使用了該選項的IP包好像是從路徑上的最后一個系統(tǒng)傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統(tǒng)進(jìn)行平常被禁止的連接。那么,許多依靠IP源地址做確認(rèn)的服務(wù)將產(chǎn)生問題并且會被非法入侵。

      TCP協(xié)議主要是向應(yīng)用層提供可靠的面向連接服務(wù)。如果IP數(shù)據(jù)包中有已經(jīng)封好的TCP數(shù)據(jù)包,那么IP將把它們向“上”傳送到TCP層。TCP將包排序并進(jìn)行錯誤檢查,同時實現(xiàn)虛電路間的連接。TCP數(shù)據(jù)包中包括序號和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。TCP將它的信息送到更高層的應(yīng)用程序,例如Telnet的服務(wù)程序和客戶程序。應(yīng)用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設(shè)備驅(qū)動程序和物理介質(zhì),最后到接收方。面向連接的服務(wù)(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發(fā)送和接收域名數(shù)據(jù)庫),但使用UDP傳送有關(guān)單個主機的信息。

      UDP與TCP位于同一層,但對于數(shù)據(jù)包的順序錯誤或重發(fā)。因此,UDP不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP主要用于那些面向查詢——應(yīng)答的服務(wù),例如NFS。相對于FTP或Telnet,這些服務(wù)需要交換的信息量較小。使用UDP的服務(wù)包括NTP(網(wǎng)絡(luò)時間協(xié)議)和DNS(DNS也使用TCP)。欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手),也就是說,與UDP相關(guān)的服務(wù)面臨著更大的危險。

      FTP(File Transfer Protocol),是文件傳輸協(xié)議的簡稱,是應(yīng)用層的一個具體例子,用于Internet上的控制文件的雙向傳輸。同時,它也是一個應(yīng)用程序。用戶可以通過它把自己的PC機與世界各地所有運行FTP協(xié)議的服務(wù)器相連,訪問服務(wù)器上的大量程序和信息。TCP/IP協(xié)議中,F(xiàn)TP標(biāo)準(zhǔn)命令TCP端口號為21,Port方式數(shù)據(jù)端口為20。FTP協(xié)議的任務(wù)是從一臺計算機將文件傳送到另一臺計算機,它與這兩臺計算機所處的位置、連接的方式、甚至是是否使用相同的操作系統(tǒng)無關(guān)。假設(shè)兩臺計算機通過FTP協(xié)議對話,并且能訪問Internet,你可以用FTP命令來傳輸文件。每種操作系統(tǒng)使用上有某一些細(xì)微差別,但是每種協(xié)議基本的命令結(jié)構(gòu)是相同的。

      2. JBuilder10中的基本網(wǎng)絡(luò)控件

      在Builder中有兩個最基本的網(wǎng)絡(luò)TCP套接字控件,一個是服務(wù)器端的,另一個是客戶端的,將server socket類設(shè)計成在等待客戶建立連接之前不做任何事的監(jiān)聽器,而socket類是為建立連向服務(wù)器套接字以及啟動協(xié)議交換而設(shè)計的。

      三、設(shè)計流程

      本系統(tǒng)將采用Client/Server(C/S)體系結(jié)構(gòu),即客戶機/服務(wù)器體系結(jié)構(gòu),C/S結(jié)構(gòu)主要應(yīng)用于構(gòu)造數(shù)據(jù)庫系統(tǒng),它包括連接在一個網(wǎng)絡(luò)中的多臺計算機。處理應(yīng)用程序并請求另一臺計算機服務(wù)的計算機稱為客戶機,接受請求的計算機成為服務(wù)器。其特點是客戶端只裝載應(yīng)用軟件,而把數(shù)據(jù)庫放在服務(wù)器上,這樣就可以使客戶端不需要存儲數(shù)據(jù),從而簡化客戶端軟件,C/S體系結(jié)構(gòu)如圖2所示。

      研究生信息采集與反饋系統(tǒng)采用C/S結(jié)構(gòu),服務(wù)器專門用于監(jiān)控用戶狀態(tài)和轉(zhuǎn)發(fā)消息,當(dāng)客戶端進(jìn)行多播或廣播時,客戶端只需把接收消息的用戶序列和消息文本送到服務(wù)器,然后由服務(wù)器轉(zhuǎn)發(fā)到各個用戶,而不需要向每個用戶建立連接后再發(fā)送消息,這樣就大大減輕了客戶端的任務(wù)。

      1.信息流設(shè)計

      圖3所示是研究生信息采集與反饋系統(tǒng)的信息流處理過程。

      2.建立數(shù)據(jù)庫的E-R模型

      根據(jù)系統(tǒng)的設(shè)計需求,主要考慮研究生的個人信息、教學(xué)秘書的信息,以及兩者之間的信息傳輸,這里設(shè)計了研究生信息采集與反饋系統(tǒng)的E-R圖,如圖4所示。

      根據(jù)上面設(shè)計的E-R圖,其中有兩個實體、一個聯(lián)系,所以研究生信息采集與反饋系統(tǒng)的數(shù)據(jù)庫應(yīng)該設(shè)計出兩個表,分別是教學(xué)秘書、輔導(dǎo)員的個人信息表,另一個是研究生用戶的個人信息表,而且字段都可以從E-R圖的屬性里提取。兩個表分別是Teacher表和Students表。

      Teacher表的結(jié)構(gòu)如表1所示。

      Teacher表主要用于存儲教學(xué)秘書的相關(guān)信息,設(shè)置學(xué)號為主鍵,用于唯一標(biāo)識用戶,記錄的信息包括教學(xué)秘書的姓名、編號、聯(lián)系方式、職稱、地址、消息欄等相關(guān)信息。

      Students表的結(jié)構(gòu)如表2所示。

      Students表主要用于存儲研究生的個人信息,設(shè)置學(xué)號為主鍵,存儲的信息包括研究生的姓名、學(xué)號、聯(lián)系方式、地址、政治身份、成績、消息欄等信息。在研究生和教學(xué)秘書的消息欄目中主要是用于兩者相關(guān)信息的傳遞的。

      這里,系統(tǒng)設(shè)置數(shù)據(jù)庫的連接用戶名為sa,密碼為空,由于數(shù)據(jù)量不是很多(主要是針對本院研究生的,數(shù)量在幾百左右),所以沒有必要對數(shù)據(jù)庫進(jìn)行優(yōu)化。

      3.實現(xiàn)模型

      服務(wù)器分配一個端口號,如果客戶請求一個連接,服務(wù)器使用accept( )方法打開socket連接,客戶在HOST的PORT端口建立連接服務(wù)器和客戶inputstream,outputstream進(jìn)行通信,由客戶端向服務(wù)器端傳遞的主要消息,登錄時將用戶名稱傳給服務(wù)器。在廣播模式下發(fā)送消息時,用戶在當(dāng)前界面上寫入信息,然后將消息傳送給服務(wù)器。在單播模式下發(fā)送消息時,在消息前面加入相關(guān)信息,以及目的用戶學(xué)號(學(xué)號是唯一標(biāo)識用戶的),然后將消息傳送給服務(wù)器。在用戶退出系統(tǒng)時,退出用戶名稱,然后將消息傳送給服務(wù)器。

      四、服務(wù)器端實現(xiàn)

      在完成了相關(guān)設(shè)計后,可以進(jìn)行程序設(shè)計了,首先,進(jìn)行服務(wù)器端的程序設(shè)計。在服務(wù)器端,首先要啟動一個服務(wù)器程序,該程序的主要作用就是對客戶端的程序進(jìn)行監(jiān)聽,然后將監(jiān)聽的消息分類進(jìn)行處理。其次,還需要在監(jiān)聽程序中實現(xiàn)連接的斷開以及相應(yīng)的錯誤處理。

      建立連接以及監(jiān)聽客戶端程序:用戶可以通過ServerSocket類建立一個服務(wù)器端,其實現(xiàn)的原理已經(jīng)在前面進(jìn)行了簡單的敘述,在定義了以上的全局變量和添加好需要的包以后,開始設(shè)計服務(wù)器的連接和程序。

      對讀取的客戶端信息的處理和實現(xiàn),監(jiān)聽客戶端信息的主要就是消息在研究生和教學(xué)秘書用戶間的傳輸。在用戶收到信息流時,需要判斷客戶端需要發(fā)送的目標(biāo)用戶。

      客戶端程序?qū)崿F(xiàn)的過程是:在完成了服務(wù)器端的設(shè)計以后,現(xiàn)在開始實現(xiàn)客戶端的程序,在客戶端的程序中,首先要建立一個連接,然后建立線程,對服務(wù)器接收的所有消息進(jìn)行處理,并將消息提交給服務(wù)器。在完成了客戶端的連接和對服務(wù)器的信息監(jiān)聽后,就需要對監(jiān)聽信息進(jìn)行處理,并且對服務(wù)器發(fā)送到客戶端的信息進(jìn)行處理。

      五、結(jié)束語

      本文主要實現(xiàn)了一個多功能的研究生信息采集與反饋系統(tǒng),并介紹了網(wǎng)絡(luò)的基本知識,如:TCP/IP??蛻舳?服務(wù)器的模式,程序的設(shè)計方法,在JBuilder10中有哪些對網(wǎng)絡(luò)支持的控件類,以及其中的基本屬性和方法,如何在網(wǎng)絡(luò)編程中實現(xiàn)對信息的讀取、發(fā)送,也就是如何利用流來實現(xiàn)信息的交換。除了以上的一些知識以外,本文還介紹了如何實現(xiàn)系統(tǒng)對信息流的分析,其中包含了一些基本的軟件工程方法。?筅

      參考文獻(xiàn):

      [1]陸正中,馬進(jìn)德.jBuilder10軟件開發(fā)項目實踐[M].北京:清華大學(xué)出版社,2004.3

      [2]Carlo Ghezzi Mehdi Jazayeri Dino Mandrioli軟件工程基礎(chǔ)第二版[M].北京:中國電力出版社,2006.

      [3]小高知宏著,牛連強,劉本偉譯. TCP/IP JAVA篇[M].北京:科學(xué)出版社,2003.

      [4]王珊.數(shù)據(jù)庫概論[M].北京:高等教育出版社,2004.

      猜你喜歡
      系統(tǒng)結(jié)構(gòu)客戶端服務(wù)器
      通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
      縣級臺在突發(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
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      中波廣播發(fā)射系統(tǒng)結(jié)構(gòu)及日常維護技術(shù)研究
      考慮助力器動力學(xué)的舵系統(tǒng)結(jié)構(gòu)非線性顫振特性分析
      基于PLC控制的局部通風(fēng)機變頻調(diào)速系統(tǒng)結(jié)構(gòu)分析
      河南科技(2014年11期)2014-02-27 14:10:02
      炭素煅燒回轉(zhuǎn)窯三次風(fēng)系統(tǒng)結(jié)構(gòu)的改進(jìn)
      河南科技(2014年8期)2014-02-27 14:07:49
      鹤山市| 邓州市| 明溪县| 自贡市| 石柱| 阿拉善左旗| 手游| 尖扎县| 论坛| 屯门区| 黔东| 泸水县| 麻江县| 祥云县| 炉霍县| 来凤县| 晋江市| 格尔木市| 东安县| 西贡区| 苍溪县| 五莲县| 环江| 昆山市| 临西县| 临泽县| 沂水县| 大荔县| 横峰县| 昔阳县| 阳东县| 遵化市| 辽阳市| 富宁县| 平邑县| 化州市| 阳西县| 马边| 汾西县| 新干县| 陕西省|