999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于分時分段設計的心理健康在線測評系統在高并發用戶下的性能優化研究

2020-12-14 04:35:10張錦盛梁林昌
軟件導刊 2020年9期

張錦盛 梁林昌

摘 ?要: 基于B/S架構技術的線上測評或考試系統常常會因為大用戶、高并發、大題量、改卷及成績評測過程復雜的系統特點導致系統在執行過程中導致響應高延遲,資源高占用,從而對系統的穩定性、可靠性造成極大的隱患。這也是本文基于我校與企業的橫向課題——中小學生心理健康云平臺下的線上測評系統所遇到的問題解決方法,通過對B/S與C/S架構優缺點的混合運用的研究。融入現代JS、Ajax、JSP內置對象、多線程與線程池等技術,對線上測評業務重新進行分時、分段的業務處理設計,已達到性能及系統可靠性的優化和保證。也為類似的基于B/S技術高并發系統的性能優化提供一種基于軟件設計模式的低成本解決方案。

關鍵詞: 線上測評系統;性能優化;分時分段;算法設計

中圖分類號: TP311.5 ???文獻標識碼: A ???DOI:10.3969/j.issn.1003-6970.2020.09.054

【Abstract】: online evaluation or examination system based on B/S architecture technology may often result in high response delay and resource occupation in implementation process for system characteristics of large users, high concurrency, large amount of questions, testpaper change and complicated performance evaluation process, cause great hidden danger to system stability and reliability. The article researches problems and solutions of online evaluation system under mental health cloud platform of primary and secondary school students, which is a horizontal subject of our school and enterprises, based on mixed application research of advantages and disadvantages of B/S and C/S architecture. It integrates modern JS, AJAX, JSP built-in objects, multithreading and thread pool tech nology, redesigns online evaluation business of time division, achieves optimization and guarantee of performance and system reli ability, which provides low-cost solution based on software design pattern for similar performance optimization of high concurrency system based on B/S technology.

【Key words】: Online evaluation system; Performance optimization; Time division; Algorithm design

0 ?引言

當前線上教育已經越來越普及,學校線上考試在試題管理、改卷算分、統計分析上有著不可比擬額優勢,受到各層次學校的青睞。基于B/S結構的考試系統具有免安裝、維護容易的優點。但由于整個系統的業務操作都由服務器來承擔,因此在業務高時間復雜度、高空間復雜度,大用戶、高并發數的運行時,服務器負荷劇增,常常導致性能嚴重下降,不僅降低了用戶的使用體驗感,還對系統的穩定性、可靠性造成了極大的隱患[1]。

1 ?心理健康測評系統面臨的高并發、高延遲、低響應的系統問題

當前我們正在開發一個基于B/S結構的中小學生心理健康數據在線評測系統。該系統在結構上與一般考試系統基本相同,但在業務復雜度和數據量上要高于一般考試系統。具體體現在①相比一般考試系統單套試卷的試題數量為30~50,心理測評系統試卷試題則達到80~100的數量。②作為云服務的心理測評系統將面向數十所甚至上百所學校,其用戶數及其并發數量更大,并發問題更加突出和嚴峻。③試卷改卷更為復雜,既要根據維度按系數計算,還要根據效度判斷成績的有效性,最后還要進行復雜的成績統計與分析[2-3]。其系統的業務設計大致可以通過圖1來說明。

從該業務圖上我們看到一次完整的測評過程包括了從獲取試題信息、生成試卷并加載到瀏覽器中,一直到提交保存答題結果、改卷、分析試卷,保存成績與分析結果。在最初的業務結構設計中幾乎所有的業務工作都放在了web服務器上。測評系統進行在線測評的執行時間=數據庫讀取時間+服務器業務處理時間,經過測試后,如圖2所示。

2 ?平攤服務器壓力,分時業務處理的系統性能優化設計及改進方法思考

在采用跟蹤用戶開考和結束考試這兩個業務的處理時長,以及對服務器CPU、內存資源在這兩個時間段中的觀察,CPU在這兩個時段中的負載均長期處于100%。服務器內存占用率從平時的約52~60%提高到75~96%。因此,解決測評系統關于可靠性、穩定性低、性能差的問題,我們從兩個軟件過程設計及改進的角度進行入手:一是優化業務過程及其算法,降低與數據庫的存取頻率。二是打破服務器閑忙時段,以時間換效率,平攤業務處理負載,移除部分非核心業務到客戶端,降低服務器處理壓力[4-5]。

3 ?系統改進具體方案

3.1 ?使用application暫存試卷及改卷分析數據,降低用戶與數據庫之間的存取頻率。

根據考試計劃按試卷ID以HashMap的數據結構將試卷及其改卷分析數據在考試前從書庫中獲取并存儲到applcation中。學生開啟考試不再從數據庫中獲取試卷數據。這樣打開試卷的時間復雜度就從原來的O(m),變為了O(1)。當學生提交試卷時,試卷在服務器上進行算分統計處理,也不需要再從數據庫中提取包括維度因子、程度區間等試卷改卷分析數據,從而解決了開考和提交試卷兩個階段的高并發用戶的高負荷數據庫操作。

3.2 ?基于Js技術實現客戶端的試卷生成,使用客戶端分擔服務器計算負荷

學生測評試卷在登錄后,從application中獲取測評試題數據并轉換為json數據。客戶端通過Js對json數據的解析和拼接,在html頁面中完成試卷渲染。從而將原本該由服務器實現的試卷生成和加載在客戶端進行實現。

3.3 ?分時實現試卷答題結果的數據庫保存

使用分時定時方式解決因考試時間結束時高并發的試卷提交,每套試卷上百道答題結果的數據庫保存導致服務器及數據庫高負荷引發癱瘓的風險。方法在客戶端使用Js及隨機數,讓每個考試用戶在隨機的1的2分鐘的時長內自動對當前答題結果進行數據庫傳輸和提交操作[6-7]。傳輸內容需做增量處理,避免試卷答題結果的數據庫存儲的無效重復操作。為實現增量處理。

3.4 ?基于session、數據庫結合的雙重考試過程安全性保障

首先,考試開始后每個用戶會將application中的試卷試題數據與用戶ID共同生成一份試卷答題數據結構存儲與session中。JS會根據控件的修改狀態改變設置每道題的修改狀態,在3中定時試卷答案保存時會首先重新設置session中每道題的修改狀態,從而保證3中的試卷答題結果的數據保存只會采用增量保存。同時由于session的銷毀擁有一個周期,因此如果學生用戶失手關閉了當前測評頁面,使用session能快速將頁面還原到關閉之前的狀態。

而如果用戶超過session生存周期或更換瀏覽器甚至客戶端主機,在檢測不到session中的用戶試卷答題結果時,系統將請求數據庫獲取用戶最近一次定時保存的答題結果數據,并與application中的試卷信息重新還原回最近一次試卷及其答題狀態。從而保證測評系統考試過程安全性[8-9]。

3.5 ?基于多線程和線程池的改卷算法過程設計

在學生交卷時,使用多線程方式對答題結果的數據庫保存和改卷算分及結果分析進行了分段同步/異步相結合的處理方式。其中答題結構的數據庫保存采用同步處理方式,頁面需等待保存完成后才能返回(由于前期的答題結果的定時增量提交保存算法設計,同步處理通常所需耗時很短)。試卷的改卷算分處理則在服務器中啟動一個線程來實施異步處理。由于application中存儲有試卷改卷算分所需的數據,因此改卷算分不再需要與數據庫發生獲取數據操作。僅當處理得出結果時才往數據庫進行結果保存操作。

高并發的試卷算分線程統一由線程池進行管理,初始化線程池,保證服務器能擁有對試卷答題結果保存的優先處理能力。確保答題結果的安全性和用戶提交操作的實時響應。在服務器資源被釋放后,才提高改卷算法線程數。同步與異步相結合,運用線程池管理高并發線程,通過延長服務器處理時間,既提高了用戶交卷的響應速度,同時又保證了系統的穩定性、可靠性及安全性[10]。

在算法設計中的多線程設計中,我方還增加了對于線程數量及其狀態的實時監控設計,方便了管理端對改卷線程處理信息的監控管理。

從測評系統改進后的壓力和響應時間測試結果來看,由于取卷不再需要向數據庫獲取試卷試題數據,同時試卷的內容的加載和試卷頁面渲染都放在客戶端,因此取卷業務的響應時間不再受到高并發的考試啟動請求的影響,2~3秒的響應時間在用戶體驗能夠接受的范圍。而考試結束時的交卷業務,由于服務器采用了分段進行的試卷答題結果數據庫保存的同步操作和試卷改卷算法的異步多線程處理。在極端情況下(該情況為1分鐘以內并發交卷,此時試卷還沒有進行過任何一次的定時試卷答題結果的數據庫提交存儲),試卷交卷均能在5秒以內完成保存,并結束交卷。可以預測的是,在正常考試情況下,系統交卷操作能控制在1秒內完成。給予考試人員良好的使用體驗。

4 ?結論

采用基于平攤服務器壓力,分時業務處理的在線測評系統性能優化設計及改進方法不僅取決于對考試業務過程與算法的優化設計,更取決于現代Web技術的發展,這里包括線程池、JS、ajax、json數據交互技術、甚至基于它的控件渲染技術。而隨著分布式計算機、云計算的應用加入,系統能承受的并發數和系統可靠性還將具有極大的提高空間。

參考文獻

[1]徐嘉. 分布式計算機應用水平考試系統設計與實現[J]. 軟件工程, 2020, 23(2): 50-52+46.

[2]鐵治欣, 林永興, 冉宇瑤. 基于B/S架構的C語言在線考試系統設計與實現[J]. 軟件導刊, 2019, 18(10): 103-106+110.

[3]陳尚書, 文斌. 移動端在線考試系統設計與實現[J]. 軟件導刊, 2019, 18(5): 117-121.

[4]肖剛. 基于B/S結構的考試系統性能優化[J]. 電子設計工程, 2018, 26(22): 160-163+168.

[5]熊宗楊, 薛學斌, 王欣, 等. 基于過程化考核的在線考試系統的研究與實現[J]. 重慶師范大學學報(自然科學版), 2018, 35(6): 75-81.

[6]閆中威, 孫大嵬. B/S模式在線考試系統性能優化及實現[J]. 計算機系統應用, 2016, 25(10): 81-85.

[7]許永達. 基于線程池的高并發訪問考試系統設計[J]. 計算機與現代化, 2013(3): 232-234+238.

[8]張晶, 林鵬. 使用負載均衡模式優化B/S架構在線考試系統[J]. 科技風, 2012(7): 18.

[9]陳德錄, 劉鋒. 基于B/S的網絡考試系統高并發性能優化研究與實現[J]. 電腦知識與技術, 2010, 6(14): 3658-3659.

[10]徐春成. 基于C/S模式下的計算機課程考試系統開發研究[J]. 軟件, 2016, 37(8): 62-64.

主站蜘蛛池模板: 日本色综合网| 狠狠色狠狠综合久久| 在线精品自拍| 特级aaaaaaaaa毛片免费视频| 婷婷午夜天| 日日拍夜夜操| 国产第一色| 中文纯内无码H| 五月婷婷精品| 国产成人久久综合777777麻豆| 免费看黄片一区二区三区| 在线观看av永久| 亚洲不卡影院| 51国产偷自视频区视频手机观看| 欧美第二区| 国产超碰在线观看| 久久美女精品| 中文字幕2区| 久久精品人人做人人| 欧美成人午夜在线全部免费| 国产福利小视频高清在线观看| 免费aa毛片| 欧美综合成人| 欧美成人免费午夜全| 国产精品护士| 人人91人人澡人人妻人人爽| 58av国产精品| 久久国语对白| 免费毛片全部不收费的| 国产96在线 | 婷婷色一二三区波多野衣| 日韩a级毛片| 国产一级小视频| 日本不卡在线播放| 高清色本在线www| 天天视频在线91频| 毛片基地视频| 久久综合干| 国产精品亚洲片在线va| 亚洲欧美成aⅴ人在线观看| a毛片免费观看| 精品视频在线一区| 欧洲欧美人成免费全部视频| 国产精品性| 亚洲欧洲日韩久久狠狠爱| 人人艹人人爽| 国产一二三区视频| 一区二区三区国产| 久久久久亚洲AV成人人电影软件| 99视频在线观看免费| 午夜在线不卡| 国产在线视频欧美亚综合| 国产自在线拍| 久草中文网| 五月婷婷导航| 久久精品丝袜| 国产亚卅精品无码| 免费看av在线网站网址| 亚洲精品福利网站| 人人妻人人澡人人爽欧美一区| 国产熟女一级毛片| 国产精品极品美女自在线网站| 日本成人精品视频| 啪啪免费视频一区二区| 国产成人在线无码免费视频| 欧美在线黄| 亚洲a级毛片| 色欲色欲久久综合网| 中文天堂在线视频| 欧美三级视频在线播放| 国产精品亚洲天堂| 91精品国产情侣高潮露脸| 五月丁香在线视频| 国产小视频在线高清播放| 国产免费福利网站| 国产91高清视频| 久久人搡人人玩人妻精品| 国产高清自拍视频| av在线人妻熟妇| 亚洲国产第一区二区香蕉| 亚洲欧美在线综合一区二区三区 | 国产www网站|