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

基于LAMP的離散結構在線評測題庫系統設計研究

2015-07-17 03:01:45陳宇黃仲洋張健
課程教育研究·下 2015年4期

陳宇 黃仲洋 張健

【摘要】離散結構是計算機及相關專業核心課程,本文在介紹離散結構,LAMP架構的基礎上,提出了基于LAMP的離散數學在線評測題庫系統設計,實現了對學生提交的程序源代碼進行自動編譯、連接、運行、測試、評審等過程并返回測試結果,采用了多進程的并發處理、信號處理、進程通信、文件管理等技術,使得該自動測評系統在實際應用過程中發揮良好的性能,完成了日常編程訓練和考試評測等活動,該系統的實現可以提高離散結構課程的自動化、高效率、公正性等方面。

【關鍵詞】離散結構 在線評測 LAMP系統架構

【中圖分類號】G642.0 【文獻標識碼】A 【文章編號】2095-3089(2015)04-0029-03

The Exploration of Online Judge System Design of Discrete Structures Based on LAMP

Chen Yu,Huang Zhongyang,Zhang jian

(School of information and computer engineering, Northeast Forestry University,Harbin 150040, China)

【Abstract】 Discrete Structures is the core courses of the computer and the related majors, This article describes the basic Discrete Structures and LAMP architecture. Automatic interpretation of source code submitted by the user, linking, running, testing, appraisal process and returning the test results are realized. A multi-process, concurrent processing, signal processing, process communication, document management and other technologies are used. Consequently, the said automatic evaluation system has good performance in the practical application, completing a routine program of training and various types of online programming contest and realizing the automation of competition process, high efficiency, fairness and other features.

【Key words】 Discrete Structures; Online Judge; LAMP architecture

1.離散數學

離散結構是研究離散量的結構及其相互關系的數學學科,是現代數學的一個重要分支。離散的含義是指不同的連接在一起的元素,主要是研究基于離散量的結構和相互間的關系,其對象一般是有限個或可數個元素。離散結構在各學科領域,特別在計算機科學與技術領域有著廣泛的應用,同時離散數學也是計算機專業的許多專業課程,如程序設計語言、數據結構、操作系統、編譯技術、人工智能、數據庫、算法設計與分析、理論計算機科學基礎等必不可少的先行課程。通過離散數學的學習,不但可以掌握處理離散結構的描述工具和方法,為后續課程的學習創造條件,而且可以提高抽象思維和嚴格的邏輯推理能力,為將來參與創新性的研究和開發工作打下堅實的基礎[1-4]。

2.LAMP架構

LAMP是Linux+Apache+MySQL+PHP 的縮寫?,F如今,LAMP 架構可以說是基于Web 的開發中的最佳技術解決方案。拋開 Linux 不談,Apache 服務器、MySQL 數據庫管理系統和 PHP 腳本語言本身都是各自獨立的開源軟件,都有著相當健壯的功能。當把三者結合在一起時,三者構成的整體可以擁有高度的兼容性,構成了一個強大的 Web開發平臺。 在 LAMP 平臺中開發的項目,由于各個開源的軟件已經非常成熟,所以在軟件方面的投資成本很低,適合系統平臺的開發。因此現在越來越多的供應商、用戶和企業投資者日已認識到,使用 LAMP 開源軟件的組成平臺構建以及運行各種商業應用和協作構建各種網絡應用程序,變得更加具有競爭力,更加吸引客戶。無論是從性能、質量還是價格上 LAMP 都將成為企業和征服信息化所必須考慮的平臺[5-6]。

Apache網絡服務器作為一種開放源碼的Web服務器,占據了大部分市場份額,在世界范圍內是使用量第一的Web服務器。Apache網絡服務器支持HTTP協議,可以運行在各種計算機操作平臺上,如Unix/Linux,Windows,MAC等。Apache網絡服務器功能強大、靈活性高、可擴展性好,可做代理服務器并且可通過簡單的API擴展,將PHP等解釋器編譯到服務器[7]。

PHP,是英文超文本預處理語言Hypertext Preprocessor的縮寫。混合了C、Java、Perl等以及PHP自創語法,使其擁有了獨特的語法。PHP執行動態網頁比CGI或者Perl更加快速。PHP和ASP,JSP腳本語言一樣,也是一種HTML內嵌式的語言,并且是面向Web服務器的技術[8]。PHP具有非常強大的功能,能實現所有CGI或JavaScript的功能,而且支持幾乎所有流行的數據庫以及操作系統[9]。PHP不僅具有以上優點,其特色更在于:具有強大的數據庫支持、內置的函數庫十分豐富、源碼完全開放、簡單易學并且效率極高。

MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性[10]。

MySQL作為一般中小型網站開發的網站數據庫的首選,不僅是因為其速度快,體積小,成本低,更是因為其開放源碼這一特點。并且到目前為止,MySQL是和PHP交互最好的數據庫系統,其搭配PHP和Apache可組成良好的開發環境。

3.基于LAMP架構的離散結構在線評測題庫系統總體設計

該系統是集程序設計競賽、競賽訓練、課程實驗、平時練習于一身的網上實時提交系統。該系統提供了大量供學生練習和競賽的競賽題目,學生在線提交解決相關練習和競賽題的程序代碼,系統可以自動編譯程序代碼,生成可執行文件,并根據已存儲的測試用例,從程序的正確性、程序運行總時間、耗費內存、單用例執行時間、程序返回結果等各方面評測程序代碼,并精確返回各方面的評測結果。不但支持C、C++、PASCAL以及JAVA語言的編譯,還定義了一套具有充分可擴展性的編輯器擴充規則,可以在不修改系統任何實現的情況下,通過管理配置文件增加系統可以支持的語言和編譯器。離散數學在線評測系統性能上的穩定快速可以為該課程提供有效的實驗環境。

3.1系統架構設計

離散結構在線評測系統是基于 WEB 構建的,所以整個系統在架構上主要分為三個結構:客戶端、服務器端、數據庫端。對于客戶端而言,學生主要通過瀏覽器來使用操作系統;在服務器端提供物理服務器,配置相應系統發布軟件;數據庫端配置在服務器中,存儲系統需要的各類數據。

3.2系統功能模塊設計

離散結構在線測評系統功能模塊圖如圖1所示:

圖1.離散結構在線評測系統功能模塊圖

3.3數據庫設計

在離散結構在線評測系統設計過程中,數據庫的設計顯得至關重要。我們嚴格按照數據庫設計的基準和原則進行數據庫的所有表和表項的設計。這樣可以降低項目的開發難度,方便項目后期的日常維護。同樣,良好的數據庫設計也會降低系統的開發成本。離散結構在線評測系統數據庫設計如表1所示:

表1 數據庫設計

表名 用途

users 記錄學生或老師的信息

problem 記錄題目信息

message 記錄論壇內容

solution 記錄學生提交的作業信息

source_code 記錄學生提交的作業內容

contest 記錄考試信息

attend 記錄考試成績

4. 基于LAMP架構的離散結構在線評測題庫系統詳細設計

4.1 前臺的詳細設計

離散結構在線評測題庫系統用戶分為三類:學生,教師和管理員。所有用戶均需要登錄,系統會從users表中取得該用戶的權限,從而進行分辨。用戶登錄后可以選擇考試或訓練模式,并進入相應題庫提交代碼,經后臺評測后,即可返回結果。如果學生對題目或結果有任何問題,也可以在討論區發帖留言,與其他同學進行探討和研究。教師則可以出題、開辦考試、查看考試結果等操作。

4.2評測系統核心層

評測系統核心是接受用戶提交的程序,把程序的運行結果返回給用戶,運行結果為程序正確或程序不正確。程序不正確包括:運行錯誤、運行超時、運行結果錯誤以及運行結果輸出格式錯誤。在進行程序評判時,先啟動服務器評判進程,它是以守護進程的方式存在的。在偵聽到有提交記錄時,守護進程立即從數據庫中取出待評判的程序進行編譯,編譯時采用多進程方式,使用Linux下C語言函數fork()分出一個子進程,在子進程中通過fexecle()函數調用gcc或者javac命令進行編譯,然后判斷其編譯結果。

4.結束語

離散結構在線評測系統的實現可以夯實學生的程序設計基礎,對于離散結構的學習有著重要意義。它把對理論知識的學習與實際的應用有機的結合起來,注重培養學生的編程能力,訓練學生的解題思維,對于培養學生的創新能力具有很大的幫助。通過該系統的實現,提高了教學質量和教學水平。

參考文獻:

[1] 許蔓苓.離散數學的方法和挑戰[J].計算機研究與發展,2002:1771-1772.

[2] Rosen K H.離散數學及其應用[M].袁崇義,屈婉玲,譯.北京:機械工業出版,2002.

[3] 耿素云,屈婉玲,王捍貧.離散數學教程[M].北京:北京大學出版社,2003.

[4] 王元元,張桂蕓.離散數學導論[M].北京:科學出版社,2002.

[5] 王亞軍. Linux 與 Windows 互操作綜述[J]. 計算機系統應用,2012,04:259-263.

[6] 張哲銘. 基于 LAMP 的臺達實驗室管理系統實現[J]. 電子技術,2013,06:65-67.

[7] Hoffmann G.A.,Trivedi K.S.,Malek M.A. Best practice guide to resources forecasting for the apache webserver[C].12th Pacific Rim Internationa1 Symposium on DePendable Computing,2006,Riverside,CA:183-193.

[8] 姜林美,宗杰,徐劍.PHP網絡編程典型模塊與實例精講[M].北京:電子工業出版社,2007.

[9] 吉斌武,劉建華,陳以.基于PHP和AJAX的在線考試系統的研究與實現[J].福建電腦,2009,2:107-124.

[10] 陳軍.PHP+MySQL經典案例剖析[M].北京:清華大學出版社,2008

基金項目:中央高校基本科研業務費專項資金項目(2013CBQ03);黑龍江省教育廳科學技術研究項目(12513016);黑龍江省自然科學基金項目(F201347);哈爾濱市科技創新人才專項資金項目(2013RFQXJ100);東北林業大學重點課程建設項目

主站蜘蛛池模板: 亚洲丝袜第一页| 国产午夜精品鲁丝片| 国产成人艳妇AA视频在线| 国产精品人人做人人爽人人添| 国产人人射| www.国产福利| 五月激情综合网| 国产成人欧美| 国产成人精品综合| 亚洲综合第一页| 国产欧美视频在线观看| 制服丝袜亚洲| 国产成人一区二区| 欧美在线精品怡红院| 国产一区免费在线观看| 日韩av高清无码一区二区三区| 欧美日本在线| 国产精品毛片一区| 精品视频91| 亚洲精品天堂自在久久77| 伊人天堂网| 国产成人在线无码免费视频| 国产高清不卡视频| 精品国产自在在线在线观看| 亚洲无码免费黄色网址| 国内丰满少妇猛烈精品播 | AV不卡在线永久免费观看| 国产青榴视频| 伊人久久婷婷五月综合97色 | 人妻中文字幕无码久久一区| 久久精品这里只有精99品| 免费在线一区| 精品一区二区三区视频免费观看| 大香网伊人久久综合网2020| 永久免费AⅤ无码网站在线观看| 精品乱码久久久久久久| 国产免费高清无需播放器| 亚洲第一中文字幕| 精品少妇人妻一区二区| 国产嫩草在线观看| 国产SUV精品一区二区6| 伊人网址在线| 日韩经典精品无码一区二区| 不卡午夜视频| 亚洲男人的天堂在线观看| 在线免费不卡视频| 午夜精品影院| WWW丫丫国产成人精品| 欧美精品亚洲日韩a| 视频一区视频二区中文精品| 伊人久久大香线蕉aⅴ色| 国产精鲁鲁网在线视频| a级毛片免费网站| 欧美日韩在线成人| 国产尤物视频网址导航| 天堂网国产| 国产丰满成熟女性性满足视频| 国产va在线观看| 青青草原偷拍视频| 波多野结衣国产精品| 国产精品第页| 欧美午夜在线观看| 小说区 亚洲 自拍 另类| 1024你懂的国产精品| 99re在线视频观看| 亚洲最大综合网| 欧美激情成人网| 国产精品任我爽爆在线播放6080 | 免费xxxxx在线观看网站| 亚洲一区二区三区在线视频| 4虎影视国产在线观看精品| 六月婷婷激情综合| 天堂在线www网亚洲| 97超级碰碰碰碰精品| 国产激情无码一区二区APP| 亚洲三级a| 国产精品无码在线看| 国产成人亚洲精品色欲AV| 超级碰免费视频91| 黄色成年视频| 午夜欧美在线| 欧美a在线|