亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VHD技術的通用計算機考試系統(tǒng)的應用研究

        2017-03-04 21:21:04張丹玨
        現(xiàn)代電子技術 2017年3期
        關鍵詞:考試系統(tǒng)

        摘 要: 針對現(xiàn)有計算機考試系統(tǒng)中客戶端與服務器之間的文件傳輸問題提出一種解決方案并加以實現(xiàn)。利用VHD技術可以將客戶端文件作為一個獨立磁盤上交。特別是客戶端文件被鎖死后導致上傳失敗的情況。實測結果證明,將VHD技術應用到考試系統(tǒng)中可以很好地解決考試系統(tǒng)中的傳輸問題,特別是客戶端文件被鎖死后導致上傳失敗的情況。

        關鍵詞: VHD; 考試系統(tǒng); 文件傳輸; 文件上傳

        中圖分類號: TN911?34; TP31 文獻標識碼: A 文章編號: 1004?373X(2017)03?0121?03

        Application research on general?purpose computer examination

        system based on VHD technology

        ZHANG Danjue

        (School of Information Science and Technology, Sanda University, Shanghai 201209, China)

        Abstract: A solution is proposed and implemented to solve the file transfer problem between the client and server in the available computer examination system. The VHD technology is used to take the client file as an independent disk for handing in. The actual measurement results show that the VHD technology applied to the computer examination system can solve the transmission problem better, especially for the uploading failure situation caused by the locked client file.

        Keywords: VHD; examination system; file transfer; file uploading

        0 引 言

        隨著網絡技術和計算機技術的迅猛發(fā)展,將各類考試移植到計算機上進行已經是大勢所趨,與傳統(tǒng)考試相比,它具有無可比擬的優(yōu)越性[1]。至今為止,用于考試的計算機軟件系統(tǒng)種類繁多,其中,有不少較為成功的產品,但是,這些考試系統(tǒng)對于客戶端與服務器之間的文件傳輸都沒有較好的解決方案。目前,大多數(shù)考試系統(tǒng)將考生文件保存在客戶端,當考試結束后再通過底層拷貝將考生文件復制到服務器上,但經常遇到各類問題而造成傳輸錯誤的狀況,特別是文件被鎖死后導致上傳失敗的情況尤為突出。為此,在對現(xiàn)有多種考試系統(tǒng)進行分析研究的基礎上提出將VHD技術應用到考試系統(tǒng)中,以解決文件傳輸?shù)膯栴}。

        1 VHD概述

        VHD是Virtual Hard Disk(虛擬磁盤)的簡稱,利用電腦硬盤空間在電腦里虛擬出一個磁盤,用戶可以像普通磁盤一樣使用(包括格式化、分區(qū)以及讀寫等操作),但是,它并不是物理上真實存在的磁盤,而是以文件形式(擴展名為.vhd)存放在物理硬盤上的。其優(yōu)點如下:

        (1) 維護簡單:與普通磁盤操作一樣,容易上手。

        (2) 加載與卸載容易:在不關機或重啟的情況下,可以像U盤一樣使用。

        (3) 備份和遷移方便:僅僅需要將物理硬盤上的虛擬文件進行備份,再將該文件復制到目標計算機上即可。

        (4) 安全性好:既可以對虛擬磁盤中的分區(qū)進行讀寫權限的設置,也可以對虛擬文件本身設置相應權限,以保證該文件的安全性。

        2 通用計算機考試系統(tǒng)中VHD的設計

        通用計算機考試系統(tǒng)是由組卷模塊、考試模塊和閱卷及評價模塊三部分組成,如圖1所示。

        在考試中經常會涉及到文件的傳輸,例如,考試開始時需要由服務器下發(fā)考試素材,考試結束后需要由客戶端上傳考試結果等,在實際測試中發(fā)現(xiàn)有以下狀況出現(xiàn):

        (1) 當文件夾嵌套層次較多時,會出現(xiàn)文件缺失的情況。

        (2) 當使用文件端口打印文件時,輸出的文件容易被鎖死。

        (3) 相關應用程序未關閉時,如:PS,F(xiàn)lash等,容易造成系統(tǒng)藍屏。

        (4) 當使用SQL Server考核數(shù)據(jù)庫相關課程時,必須強制關閉相應SQL進程才能上傳數(shù)據(jù)庫文件。

        鑒于以上情況,將VHD技術應用到考試系統(tǒng)中,以解決文件傳輸?shù)膯栴},其流程如下:

        (1) 在組卷模塊中,由管理員設置考試數(shù)據(jù)盤的屬性,例如:盤符號、容量、使用權限等,系統(tǒng)根據(jù)設置的參數(shù)生成虛擬磁盤文件,即VHD文件,并把考試所要用到的素材、樣張等加載到該虛擬磁盤中。

        (2) 考試前,由監(jiān)考老師使用考試模塊為每個考生隨機指定考試座位,當考生信息和考試計算機(即客戶端)綁定時,服務器會自動下發(fā)VHD文件。

        (3) 當考生登錄考試模塊時,考試系統(tǒng)將根據(jù)之前設置的盤符號加載VHD文件,生成虛擬磁盤,考生在考試中使用到的所有文件都包含在該磁盤中。

        (4) 考試過程中,考試模塊會根據(jù)之前設置的時間間隔定時在后臺備份該VHD文件,備份時無需卸載虛擬磁盤,也不影響學生考試。

        (5) 考試結束后,客戶端卸載虛擬磁盤,將VHD文件上傳服務器即可。

        (6) 在閱卷及評價模塊中,讀取VHD文件中的考試數(shù)據(jù)即可評分。

        根據(jù)以上構思可以很好地解決文件傳輸問題,避免文件缺失、鎖死等造成交卷失敗的情況頻繁出現(xiàn)。

        3 通用計算機考試系統(tǒng)中VHD的實現(xiàn)

        VHD技術通常用于安裝多個操作系統(tǒng),一般和虛擬機一起使用,而用于考試系統(tǒng)中是一種創(chuàng)新,且考慮到公共機房軟件安裝的問題,不可能在每臺計算機上面都安裝Virtual PC等相關虛擬化軟件,所以,考試系統(tǒng)需要自行解決虛擬磁盤的加載、權限設置、卸載等一系列問題。經過研究,利用微軟提供的一些VHD接口以及自行編寫的函數(shù)來完成這些工作。

        加載虛擬磁盤使用微軟提供的 “AttachVirtualDisk”API,通過設置“ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME”來限制該虛擬磁盤只能被考試系統(tǒng)管理,設置“ATTACH_VIRTUAL_DISK_FLAG_READ_ ONLY”來限制該虛擬磁盤為只讀屬性,設置“ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER”來限制該虛擬磁盤加載后無盤符號,主要代碼如下所示:

        Int virtualDisk::attach(bcol readOnly)

        { ATTACH_VIRTUAL_DISK_FLAG flags;

        flags=ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_ LIFETIME;

        If(readOnly)

        Flags|=ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY;

        ATTACH_VIRTUAL_DISK_PARAMETERS attachParameters;

        attachParameters.Version=ATTACH_VIRTUAL_DISK_VERSION_1;

        return AttachVirtualDisk(vhdHandle,0,flags,0,&attachParameters,0);

        }

        加載虛擬磁盤后,需要給該磁盤分配一個盤符號,但考慮到各個公共機房計算機的磁盤設置有所不同,所以,在組卷模塊中由系統(tǒng)管理員給定一個可以使用的盤符號,首先,通過“GetVirtualDiskPhysicalPath”函數(shù)獲取虛擬磁盤的屬性,然后,通過“FindFirstVolume”函數(shù)和“FindNextVolume”函數(shù)獲取盤符號,再通過“CreateFile”函數(shù)測試該盤符號是否可用,即有無沖突,最后,通過“SetVolumeMountPoint”方法將該盤符號綁定給虛擬磁盤。部分代碼如下所示:

        int virtualDisk::mount(const QString &mountPoint)

        { wchar_t physicalDrive[MAX_PATH];

        ULONG bufferSize = sizeof(physicalDrive);

        GetVirtualDiskPhysicalPath(vhdHandle, &bufferSize, physicalDrive);

        wchar_t volumeName[MAX_PATH];

        DWORD bytesReturned;

        VOLUME_DISK_EXTENTS diskExtents;

        HANDLE hFVol = FindFirstVolume(volumeName, sizeof(volumeName));

        bool hadTrailingBackslash = false;

        do {

        int backslashPos = wcslen(volumeName) ? 1;

        if (hadTrailingBackslash = volumeName[backslashPos] == ′\\′)

        { volumeName[backslashPos] = 0; }

        HANDLE hVol=CreateFile(volumeName,0, FILE_SHARE_ READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0, NULL);

        if (hVol == INVALID_HANDLE_VALUE) { return 0; }

        DeviceIoControl(hVol, IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS, NULL, 0, &diskExtents, sizeof(diskExtents), &bytesReturned, NULL);

        if (diskExtents.Extents[0].DiskNumber == 0) {

        if (hadTrailingBackslash) { volumeName[backslashPos] = ′\\′; }

        SetVolumeMountPoint(TEXT("H:\\"), volumeName); }

        } while (FindNextVolume(hFVol, volumeName, sizeof(volumeName)));

        FindVolumeClose(hFVol);

        return 0;

        }

        完成加載和盤符號設置后,客戶端的設備管理器中就出現(xiàn)了一塊虛擬磁盤,如圖2所示。

        考試完成后,所有的考試結果都保存至虛擬磁盤中,因此,需要將虛擬磁盤進行卸載,并將其以考生準考證號命名,保存到考試服務器中,以便閱卷及評價模塊進行調用。通過“detach”函數(shù)完成該項工作,部分代碼如下所示:

        int virtualDisk::detach()

        { DETACH_VIRTUAL_DISK_FLAG flags;

        flags = DETACH_VIRTUAL_DISK_FLAG_NONE;

        return DetachVirtualDisk(vhdHandle, flags, 0);

        }

        int virtualDisk::close()

        { return CloseHandle(vhdHandle);}

        Int workThread::vhdDetah(const QString &vhdFile,int sessionid)

        { virtualDisk vhdDisk;

        If (int error=vhdDisk.open(vhdFile))

        { emit vhdFinished(error,sessionid);

        Return error;}

        If (int error=vhdDisk.detach())

        { if(error!=1168)

        {vhdDisk.close();

        Emit vhdFinished(error,sessionid)l

        Return error;}

        }

        vhdDisk.close();

        emit vhdFinished(0,sessionid);

        return 0;

        }

        以某學院的3 300人的計算機文化基礎考試為例,收卷成功率達到100%,無收卷異常出現(xiàn),考后閱卷正常,成績分布如圖3所示。

        4 結 語

        將VHD技術應用到計算機考試系統(tǒng)中是個創(chuàng)新,這個創(chuàng)新基本上解決了考試系統(tǒng)在收卷時因為種種原因造成系統(tǒng)卡死的問題。實測結果說明該技術運用于通用計算機考試系統(tǒng)是可行的。

        參考文獻

        [1] 張丹玨,姚偉.多課程計算機考試系統(tǒng)的研究[J].微型電腦應用,2010,26(11):15?17.

        [2] MSDN. Developers resource [EB/OL]. [2015?03?21]. https://msdn.microsoft.com/en?us/library/windows/desktop/dd323700(v=vs.85).aspx.

        [3] 陳俊斌.基于任務驅動法的高校計算機基礎教學改革[J].物聯(lián)網技術,2015,5(2):107?108.

        [4] 李淑俠,魏廣平.動態(tài)可重構可穿戴計算機軟件平臺的設計與實現(xiàn)[J].物聯(lián)網技術,2014,4(6):50?51.

        [5] 張婷婷.基于網絡的新型計算機考試系統(tǒng)[J].科研,2015(8):22?23.

        [6] 高金麗.高職院校計算機網絡技術人才培養(yǎng)模式的探討:基于工業(yè)互聯(lián)網[J].物聯(lián)網技術,2015,5(5):95?96.

        猜你喜歡
        考試系統(tǒng)
        防雷綜合業(yè)務在線學習考試系統(tǒng)設計
        高等院校計算機實驗室考試系統(tǒng)設計與實現(xiàn)方法探究
        計算機應用基礎考試系統(tǒng)的設計與實現(xiàn)方法探究
        銅仁供電局安規(guī)在線學習考試系統(tǒng)開發(fā)與研究
        藥學實驗教學中心培訓考試系統(tǒng)的建設
        未來英才(2016年22期)2016-12-28 13:25:22
        基于PHP技術的計算機基礎考試系統(tǒng)的開發(fā)
        基于IRT和XML的考試系統(tǒng)構建初探
        科技視界(2016年21期)2016-10-17 16:52:31
        實驗實訓室安全教育考試系統(tǒng)的研究與實踐
        基于USBKey的考試系統(tǒng)安全的設計與實現(xiàn)
        軟件(2016年1期)2016-03-08 01:53:25
        關于考試系統(tǒng)參數(shù)控制的研究
        日韩精品首页在线观看| 欧美最猛性xxxxx免费| 少妇高潮惨叫久久久久久| 国产精品98视频全部国产| 自拍情爱视频在线观看| 18禁裸体动漫美女无遮挡网站| av午夜久久蜜桃传媒软件| 四虎国产精品视频免费看| 在线日本高清日本免费| 可免费观看的av毛片中日美韩| 中文字幕欧美人妻精品一区| 国产一级大片免费看| 能看的网站中文字幕不卡av| 精品一区二区在线观看免费视频| 国产边摸边吃奶叫床视频| 免费看操片| 日本精品一区二区三区在线播放| 中文乱码字幕精品高清国产| 免费中文熟妇在线影片| 久久久久亚洲av成人网址| 中文字幕日本五十路熟女| 亚洲 欧美 偷自乱 图片| 人人爽人人爽人人爽人人片av| 337p日本欧洲亚洲大胆色噜噜| 视频一区中文字幕日韩| 亚洲精品国产精品乱码视色| 国产伦精品一区二区三区免费| 精品国偷自产在线不卡短视频| 亚洲一区二区av天堂| av无码国产在线看免费网站| 五十路熟女一区二区三区| 久久久婷婷综合亚洲av| 国产亚洲精品国产精品| 成片免费观看视频大全| 国产自产c区| 蜜桃夜夜爽天天爽三区麻豆av| 欧美性猛交xxxx三人| 欧美激情αv一区二区三区| 亚洲一区二区一区二区免费视频| 18禁裸体动漫美女无遮挡网站| 精品久久久无码中文字幕|