選課系統(tǒng)怎么處理并發(fā) 網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時登錄人數(shù)的限制?

陽光送走陰霾2022-07-26 11:04:402937

選課系統(tǒng)問題,高校選課系統(tǒng),如何處理并發(fā)問題?網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時登錄人數(shù)的限制?選課遇到系統(tǒng)崩潰怎么辦??如何解決高并發(fā)問題?

本文導(dǎo)航

選課系統(tǒng)問題

不知道你是基于什么開發(fā)的論文選題系統(tǒng),這類問題首先需要解決的就是一個多人并發(fā)問題,就是如何讓系統(tǒng)承受多人同時訪問,這里需要設(shè)置可共同訪問的最大人數(shù)等一些問題,另外數(shù)據(jù)庫也不知道你使用的是哪種,普通的數(shù)據(jù)庫處理多人并發(fā)訪問本身就是緩慢。

高校選課系統(tǒng)

1.引言

目前,我國的高等教育事業(yè)蓬勃發(fā)展,高校的規(guī)模不斷擴(kuò)大,同時,高校的教學(xué)改革也在全面推行,學(xué)分制在各高校全面啟動[1,2]。學(xué)分制——允許學(xué)生在計劃的指導(dǎo)下,根據(jù)自己的條件、能力、志趣,有選擇地支配自己的學(xué)習(xí)[3]。因此,學(xué)生的選課就成為推行學(xué)分制的重要管理任務(wù)。以往的選課均是在計劃模式下進(jìn)行:每位教師將所開的課程名稱,個人簡介,課程限選人數(shù),限選專業(yè)等信息交給教務(wù)處,教務(wù)處再將這些信息統(tǒng)一成冊,分發(fā)給各個班級班長,由班長將本班的選課情況統(tǒng)計并返回教務(wù)處。這是一個相當(dāng)長的周期,并且耗費(fèi)大量的人力、物力,對選擇結(jié)果沒有控制。就燕山大學(xué)電氣工程學(xué)院的情況,經(jīng)常會出現(xiàn)某一門課程限選人數(shù)為200人,而實際選課人數(shù)超過300人,像這樣的情況傳統(tǒng)選課模式根本無法解決。針對這些問題,提出一種基于WEB的選課系統(tǒng),該系統(tǒng)將課程的基本信息錄入之后,即可由學(xué)生選課,受限制專業(yè)的學(xué)生將無法選擇該課程,同樣,選課按照先后順序,超過限制的人數(shù),也不能選擇該課程。該系統(tǒng)在燕山大學(xué)電氣工程學(xué)院使用之后,取得了良好的效果。

2. 選課系統(tǒng)設(shè)計

2.1 選課系統(tǒng)功能設(shè)計

選課系統(tǒng)功能包括兩部分,課程管理部分與學(xué)生選課部分,其結(jié)構(gòu)功能圖如圖1所示:

圖1 選課系統(tǒng)功能圖

2.2 選課系統(tǒng)結(jié)構(gòu)

圖2 系統(tǒng)結(jié)構(gòu)圖

系統(tǒng)采用B/W/D三層結(jié)構(gòu)[4],即前端客戶機(jī)瀏覽器,中間為Web服務(wù)器,后臺為SQL數(shù)據(jù)庫。系統(tǒng)機(jī)構(gòu)如圖2所示:

第一層為終端客戶層,客戶機(jī)為校園網(wǎng)上的任何一臺計算機(jī),沒有特殊要求,只需具有網(wǎng)絡(luò)瀏覽器即可。學(xué)生通過客戶機(jī)上的瀏覽器查看相關(guān)的選課信息,并進(jìn)行選課操作,通過TCP/IP協(xié)議將操作要求傳給服務(wù)器,服務(wù)器對操作要求進(jìn)行處理,并將處理結(jié)果通過網(wǎng)頁告知客戶機(jī),完成一次操作交互。

第二層為Web服務(wù)器層,操作系統(tǒng)安裝Windows 2000 server與IIS,利用IIS將選課軟件發(fā)布,實際運(yùn)行時可以選擇校園網(wǎng)內(nèi)的服務(wù)器,或者教務(wù)部門的服務(wù)器,以利于網(wǎng)絡(luò)流量的分配與系統(tǒng)的維護(hù)。Web服務(wù)器利用ASP技術(shù)實現(xiàn)服務(wù)器上數(shù)據(jù)庫中數(shù)據(jù)信息的動態(tài)使用,利用Vbscript、JavaScript和ActiveX控件生成客戶端的動態(tài)頁面,起到客戶端與數(shù)據(jù)庫的接口作用。

第三層為數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫可以與安裝在Web服務(wù)器上,也可設(shè)立單獨(dú)的服務(wù)器存放數(shù)據(jù),由具體情況而定??紤]到系統(tǒng)擴(kuò)展與安全方面的問題,數(shù)據(jù)庫選擇為SQL 2000數(shù)據(jù)庫。它支持OLE技術(shù),通過ADO控件方式,可以很容易對他進(jìn)行操作。

數(shù)據(jù)庫包括四個表,見表1所示。

表1 數(shù)據(jù)表結(jié)構(gòu)

數(shù)據(jù)表名 數(shù)據(jù)內(nèi)容 字 段 關(guān)鍵字

Jwkuser 管理員信息 姓名,密碼 姓名

Xuanxiuke 課程信息 課程編號,課程名稱,授課時間,授課教師,學(xué)時,學(xué)分,教材,可選專業(yè),限選人數(shù),人數(shù)下限,課程簡介,先修課程,當(dāng)前人數(shù),出版社 課程編號

Studeng_user 學(xué)生信息 學(xué)號,姓名,密碼,班級,專業(yè) 學(xué)號

Stu_xuanke 選課結(jié)果 學(xué)號,課程編號,完成,進(jìn)行,學(xué)分,選課時間, 學(xué)號+課程編號

3. 選課系統(tǒng)實現(xiàn)

3.1 系統(tǒng)應(yīng)用背景

本系統(tǒng)應(yīng)用在燕山大學(xué)校園網(wǎng)上,校園網(wǎng)上共有15個IP段,共計3700多終端,每一屆學(xué)生都超過4000人,選課時可能會發(fā)生網(wǎng)絡(luò)流量的劇增,所以將系統(tǒng)放置于學(xué)校專門的服務(wù)器上,保證網(wǎng)絡(luò)帶寬,提高系統(tǒng)的并發(fā)處理能力。經(jīng)實際驗證,選課過程開始就出現(xiàn)了網(wǎng)絡(luò)流量高峰,選課系統(tǒng)未出現(xiàn)異常情況,圓滿地完成了選課測試。

3.2 選課系統(tǒng)功能設(shè)計

本系統(tǒng)采用兩輪選課的方法,選課按照學(xué)生提交信息的時間嚴(yán)格排序,即asp將用戶信息以表單的方式傳給服務(wù)器的時間排序,超過限選人數(shù)時,則返回選課失敗的信息,提示用戶重新選擇其它課程。對于某些課程選課的學(xué)生沒有超過人數(shù)下限時,將取消本門課程,并公布選這門課程的學(xué)生名單,通知其進(jìn)入二次選課。

本系統(tǒng)采用Dream weaver MX為平臺編寫相應(yīng)的ASP、Html、CSS、Inc等文件,其訪問關(guān)系如圖3所示,用戶首先通過校園網(wǎng)上其他頁面的鏈接進(jìn)入本系統(tǒng)的主界面,主界面上包括學(xué)生入口與管理員入口。管理員可以將自己的用戶名、口令輸入并提交表單進(jìn)行驗證。驗證通過則進(jìn)入課程信息管理頁,否則進(jìn)入警告頁面,提示用戶非法。為提高系統(tǒng)的安全性,防止密碼的暴力破解,系統(tǒng)提供5次機(jī)會,5次輸入錯誤,則自動鎖定管理員入口,并將該用戶IP、時間等信息記錄。課程信息管理頁可以完成六項功能:

1. 學(xué)生管理:可以添加、刪除、修改學(xué)生的基本信息。

2. 添加課程:添加一門課程以供選擇

3. 刪除課程:刪除一門淘汰的課程

4. 修改課程:修改課程的基本信息

5. 查詢結(jié)果:按照學(xué)生的學(xué)號查詢該生的選課情況、學(xué)分情況。按照課程名稱查詢該課程的選課人數(shù),具體的學(xué)生名單,并能完成打印功能。列出所有課程的選課情況。

6. 退出:退出登陸,注銷自己的Session。

學(xué)生用戶可以通過主頁面上的學(xué)生入口進(jìn)入,將自己學(xué)號、口令輸入并提交表單進(jìn)行驗證。同樣驗證具有和管理員一樣的保護(hù)措施。驗證通過后可以進(jìn)入學(xué)生信息管理頁,可以完成如下工作:

圖3 主要頁面關(guān)系圖

1. 基本信息瀏覽:此處信息只供瀏覽,如有錯誤,需要向管理員提出申請,由管理員核實后在管理頁面進(jìn)行修改。

2. 密碼修改:完成用戶密碼的修改,以保證用戶賬戶的安全性。

3. 網(wǎng)上選課:進(jìn)行課程的選擇,刪除,查看等操作

4. 學(xué)分查詢:查看該用戶已經(jīng)完成的學(xué)分,正在進(jìn)行的學(xué)分,和尚需完成的學(xué)分。

5. 退出:退出登陸,注銷用戶的session,保證用戶信息不被他人盜用。

3.3選課系統(tǒng)的安全性設(shè)計

由于該系統(tǒng)涉及到學(xué)校的管理,數(shù)據(jù)的安全性尤為重要,本系統(tǒng)設(shè)計時對安全性考慮的非常周全。

⑴服務(wù)器只能由專門的網(wǎng)絡(luò)維護(hù)人員操作。

⑵系統(tǒng)采用SQL數(shù)據(jù)庫由專門的數(shù)據(jù)管理員管理,而非系統(tǒng)管理員,即網(wǎng)絡(luò)維護(hù)人員將無法查閱數(shù)據(jù)庫的數(shù)據(jù)。

⑶系統(tǒng)采用OLE DB的方式調(diào)用數(shù)據(jù)庫,具有更快的數(shù)據(jù)處理能力,并可方便的進(jìn)行移植。對關(guān)鍵的數(shù)據(jù)庫操作指令,由vb生成的dll庫實現(xiàn),并且對asp源代碼進(jìn)行了加密,使得網(wǎng)絡(luò)維護(hù)人員無法通過查看asp源代碼來獲得數(shù)據(jù)庫的管理權(quán)。

⑷所有用戶,包括學(xué)生用戶與管理員用戶,通過Web操作時,都有身份驗證,驗證通過后,都有自己的session,直到退出登陸,并且,驗證出錯的次數(shù)有限,防止惡意的密碼破解。

這樣,通過四方面的安全措施,保證了數(shù)據(jù)的萬無一失。在實際運(yùn)行的兩年共四次選課過程中,未出現(xiàn)任何數(shù)據(jù)被破壞或被修改的現(xiàn)象。

4.結(jié)論

選課工作將成為高校教務(wù)管理的一個主要任務(wù),改變原有的人工選課方式,采用網(wǎng)絡(luò)選課勢在必行。本文針對燕山大學(xué)的具體情況,設(shè)計了基于ASP與SQL數(shù)據(jù)庫的選課系統(tǒng),在使用的兩年時間里,未出現(xiàn)安全漏洞及網(wǎng)絡(luò)癱瘓問題,圓滿地完成了選課任務(wù),取得了良好的效果。

如何處理并發(fā)問題!

直接在存儲里寫個事務(wù),可以保證數(shù)條語句同步執(zhí)行,保證數(shù)據(jù)的完整性

表如果設(shè)置了外鍵約束,設(shè)置了on delete,on update為層疊關(guān)系, 表之間可以保證數(shù)據(jù)的完整性的

介于你的情況 我認(rèn)為凡是能一起完成的數(shù)據(jù)操作,最好一次執(zhí)行完,放在事務(wù)里或者設(shè)置外鍵約束,就不會出現(xiàn)數(shù)據(jù)不同步的問題。也可以解決并發(fā)性問題。

網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時登錄人數(shù)的限制?

最大訪問量。

選課遇到系統(tǒng)崩潰怎么辦??

選課系統(tǒng)崩潰通常是服務(wù)器的問題沒有辦法解決,可以等待開發(fā)人員調(diào)試成功后再次登錄系統(tǒng)。

選課系統(tǒng)一般稱選課網(wǎng),但實際功能遠(yuǎn)遠(yuǎn)不限于選課這一單功能。學(xué)校在教務(wù)、課程以及其他各項教學(xué)安排等相關(guān)信息有關(guān)通知,都是通過在選課網(wǎng)發(fā)布消息以使得信息的傳播。

學(xué)生可以通過登錄該選課網(wǎng),實時查詢自己在大學(xué)期間的各種相關(guān)情況,也可以在線咨詢管理員以及在線教師,通過在線答疑來解決各類疑難問題。

注意事項:

1、首先,在院系已經(jīng)下發(fā)了要選課的通知的時候,要第一時間打開文件安排自己的課程,保證時間不沖突。

2、第二,最好是和自己的同學(xué)舍友一起選擇一樣的課程,盡量的這樣,以后互相幫忙也會有照應(yīng)。

3、第三,選課之前可以去學(xué)校群里詢問一下哪一個老師的課程考核比較簡單好通過,就選這個老師的。

4、第四,安排好了的課程應(yīng)該寫在紙上面,選課的時候就比較方便。

5、第五,選課系統(tǒng)開放的時間之前半小時,就可以提前打開系統(tǒng)看看是不是已經(jīng)開放了。

6、第六,選課的時候一定要看好校區(qū),老師上課的那一節(jié),還有就是不要重復(fù)選課,選擇合適的學(xué)分的課。

如何解決高并發(fā)問題

使用高性能的服務(wù)器、高性能的數(shù)據(jù)庫、高效率的編程語言、還有高性能的Web容器,(對架構(gòu)分層+負(fù)載均衡+集群)這幾個解決思路在一定程度上意味著更大的投入。

1、高并發(fā):在同一個時間點(diǎn),有大量的客戶來訪問我們的網(wǎng)站,如果訪問量過大,就可能造成網(wǎng)站癱瘓。

2、高流量:當(dāng)網(wǎng)站大后,有大量的圖片,視頻,這樣就會對流量要求高,需要更多更大的帶寬。

3、大存儲:可能對數(shù)據(jù)保存和查詢出現(xiàn)問題。

解決方案:

1、提高硬件能力、增加系統(tǒng)服務(wù)器。(當(dāng)服務(wù)器增加到某個程度的時候系統(tǒng)所能提供的并發(fā)訪問量幾乎不變,所以不能根本解決問題)

2、本地緩存:本地可以使用JDK自帶的Map、Guava Cache.分布式緩存:Redis、Memcache.本地緩存不適用于提高系統(tǒng)并發(fā)量,一般是用處用在程序中。

Spiring把已經(jīng)初始過的變量放在一個Map中,下次再要使用這個變量的時候,先判斷Map中有沒有,這也就是系統(tǒng)中常見的單例模式的實現(xiàn)。

掃描二維碼推送至手機(jī)訪問。

版權(quán)聲明:本文由尚恩教育網(wǎng)發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.52reasonswhy.com/view/20007.html

標(biāo)簽: 編程

“選課系統(tǒng)怎么處理并發(fā) 網(wǎng)絡(luò)選課系統(tǒng)怎么樣解決同時登錄人數(shù)的限制?” 的相關(guān)文章

計算機(jī)軟件工程 計算機(jī)軟件工程專業(yè)好嗎

計算機(jī)軟件工程 計算機(jī)軟件工程專業(yè)好嗎

計算機(jī)軟件工程就業(yè)前景,軟件工程屬于計算機(jī)類專業(yè)嗎?“計算機(jī)科學(xué)與技術(shù)”與“軟件工程”有什么區(qū)別?軟件工程專業(yè)學(xué)什么?軟件工程和計算機(jī)科學(xué)與技術(shù)有什么區(qū)別?計算機(jī)科學(xué)與技術(shù)和軟件工程專業(yè)有什么區(qū)別?理科男生選哪個好?本文導(dǎo)航計算機(jī)工程就業(yè)前景排名計算機(jī)軟件工程專業(yè)好嗎計算機(jī)和軟件工程哪個比較有優(yōu)勢二...

軟件工程有哪些新技術(shù) 軟件工程為什么單列

軟件工程有哪些新技術(shù) 軟件工程為什么單列

軟件工程有哪些具體的分支啊,軟件工程有哪些最新技術(shù),軟件開發(fā)的技術(shù)有哪些,什么是軟件工程?包括哪些內(nèi)容?軟件工程前沿技術(shù)有哪些,軟件工程包括哪些。本文導(dǎo)航軟件工程為什么單列軟件工程開設(shè)課程有哪些軟件開發(fā)的十大常識軟件工程方案是什么軟件工程的技術(shù)方面軟件工程分為幾類軟件工程為什么單列我個人覺得應(yīng)該有3...

崔巍數(shù)據(jù)結(jié)構(gòu)怎么樣 數(shù)據(jù)庫原理是什么

崔巍數(shù)據(jù)結(jié)構(gòu)怎么樣 數(shù)據(jù)庫原理是什么

數(shù)據(jù)庫原理,崔巍的藝術(shù)經(jīng)歷,數(shù)據(jù)庫原理是什么?考研計算機(jī)視頻課程,新東方考研計算機(jī)統(tǒng)考基礎(chǔ)班視頻,考研急求新東方的計算機(jī)專業(yè)課視頻,多多益善,好心人幫幫忙!謝謝啦!!謝謝啦。本文導(dǎo)航數(shù)據(jù)庫原理崔巍的藝術(shù)經(jīng)歷數(shù)據(jù)庫原理是什么考研計算機(jī)視頻課程新東方考研計算機(jī)統(tǒng)考基礎(chǔ)班視頻計算機(jī)考研數(shù)學(xué)用什么輔導(dǎo)書數(shù)據(jù)...

軟件工程博士學(xué)什么區(qū)別 對軟工計科和網(wǎng)安三個專業(yè)的認(rèn)識

軟件工程博士學(xué)什么區(qū)別 對軟工計科和網(wǎng)安三個專業(yè)的認(rèn)識

軟件工程碩士雙證和單證在找工作時和考博時有什么區(qū)別?083500 軟件工程 和 085212 軟件工程有什么區(qū)別?計科與軟工有什么不同求大神幫助?請問計算機(jī)科學(xué)與技術(shù)專業(yè)與軟件工程專業(yè)有什么區(qū)別?將來就業(yè)的方向是什么?軟件工程(區(qū)塊鏈)和軟件工程的區(qū)別是什么?我被軟件工程(區(qū)塊鏈)錄取了?本文導(dǎo)航軟...

901軟件工程怎么復(fù)習(xí) 天津工業(yè)大學(xué)軟件工程的考研分?jǐn)?shù)

901軟件工程怎么復(fù)習(xí) 天津工業(yè)大學(xué)軟件工程的考研分?jǐn)?shù)

計算機(jī)軟件工程考研的專業(yè)課復(fù)習(xí),大家有什么建議么?謝謝了?想考天津大學(xué)軟件工程專業(yè)的研究生、 想問問前輩們一些考研復(fù)習(xí)的問題.,軟件工程專業(yè)考研,怎么復(fù)習(xí)?軟件工程專碩的913數(shù)據(jù)結(jié)構(gòu)怎么復(fù)習(xí)?大概復(fù)習(xí)的深度?軟件工程導(dǎo)論怎么復(fù)習(xí)?本文導(dǎo)航計算機(jī)軟件工程考研的專業(yè)課復(fù)習(xí),大家有什么建議么?謝謝了天津...

發(fā)表評論

訪客

◎歡迎參與討論,請在這里發(fā)表您的看法和觀點(diǎn)。