一種基于ssh的在線教育網(wǎng)站的試題批量上傳方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于軟件可靠性領(lǐng)域,具體地說是基于SSH開發(fā)的在線教育網(wǎng)站中,在后臺批量上傳試題時的一種智能解析方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,在線教育模式也不斷普及,為了鞏固知識點,在每個章節(jié)后都會有相應的試題,試題是在服務器端添加的。傳統(tǒng)的試題上傳模式有兩種,一種是逐題上傳,即通過填寫題目信息一題一題地添加;另一種模式是批量上傳,該種模式又分為兩種,第一種是excel上傳方式,即把題目的各個部分按照事先規(guī)定好的規(guī)則放入excel表格中并上傳到服務器,第二種是word上傳方式,即編輯格式符合要求的word文檔,并上傳。顯而易見,逐題上傳模式效率低下,現(xiàn)在已經(jīng)很少使用;批量上傳中excel上傳方式并不符合大部分試題的編輯模式,電子試題一般是用word來編輯,所以word上傳方式在試題上傳方法中更加普遍,但是該方式中存在一個問題,即需要按照固定的規(guī)則來編輯文檔,對文檔的格式有很高的要求,如果文檔中的某個部分不符合要求,則會導致服務器無法解析該部分而上傳失敗,大大影響了工作效率。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為現(xiàn)有技術(shù)存在的不足之處,提出一種基于SSH的在線教育網(wǎng)站的試題批量上傳方法,在word上傳方式的基礎(chǔ)上,不需要規(guī)定上傳文檔的格式,就可以智能、準確地解析文檔中的試題,完成上傳工作,從而減少編輯人員的工作量,提高效率。
[0004]本發(fā)明為解決技術(shù)問題采用如下技術(shù)方案:
[0005]本發(fā)明一種基于SSH的在線教育網(wǎng)站的試題批量上傳方法,所述在線教育網(wǎng)站中包含題庫和服務器,其特點是,所述試題批量上傳方法是按如下步驟進行:
[0006]步驟1、在word文檔中編輯四種試題類型,包括:選擇題、填空題、判斷題和問答題;
[0007]所述選擇題包括選擇題干和選項;
[0008]所述填空題包括填空題題干和特殊字符;所述特殊字符包括下劃線和圓括號;
[0009]所述判斷題包括判斷題題干和末尾圓括號;
[0010]所述問答題包括問答題題干;
[0011 ]步驟2、所述服務器存儲四種解析模式,包括:第一解析模式、第二解析模式、第三解析模式和第四解析模式;
[0012]所述第一解析模式是以字母和標點符號的組合為首或以括號和字母的組合為首或字母和空格為首的形式,表示選擇題的選項;
[0013]所述第二解析模式是帶有多個空格的括號且句尾為標點符號或包含下劃線且句尾為標點符號的形式,表示填空題題干;
[0014]所述第三解析模式是以帶有多個空格的括號作為句尾的形式,表示判斷題題干;
[0015]所述第四種解析模式是字母或以字母和標點符號的組合或以括號和字母的組合的形式,表示選擇題的選項字母;
[0016]步驟3、將所述word文檔上傳至所述在線教育網(wǎng)站中;
[0017]步驟4、所述服務器讀取所述word文檔并進行分段處理,獲得η個段落并依次存入數(shù)組arr [η]中;
[0018]步驟5、定義循環(huán)變量i和j、選項變量C、分隔符W、試題類型鏈表Τ、試題題干鏈表S、試題選項鏈表L和標識符flag;定義flag=l表示選擇題、£]^〖=2表示填空題、£]^〖=3表示判斷題、f lag = 4表示問答題;
[0〇19]步驟6、初始化i = l;
[0020]步驟7、所述服務器讀取arr [ i ],并判斷i = 1是否成立,若成立,則將arr [ i ]存入所述試題題干鏈表S中;并執(zhí)行步驟8,否則,執(zhí)行步驟11;
[0021 ]步驟8、利用所述第二解析模式判斷arr [ i ]是否為填空題題干;若為填空題題干,則flag = 2;并執(zhí)行步驟10;否則,執(zhí)行步驟9;
[0022]步驟9、利用第三解析模式判斷arr[i]是否為判斷題題干,若是判斷題題干,則令flag = 3;否貝1J,令 flag = 4;
[0023]步驟10、將i+1賦值給i后,返回步驟7執(zhí)行,直到i>n為止后,執(zhí)行步驟19;
[0024]步驟11、利用第一解析模式判斷arr[i ]是否為選擇題的選項,若是,則令flag = 1,并執(zhí)行步驟12;否則,執(zhí)行步驟17;
[0025]步驟12、根據(jù)空格將arr[i]進行分割,獲得m個語段dia[m];
[0026]步驟13、初始化j = l;
[0027]步驟14、利用第四解析模式判斷第j個語段dia[j]是否為選擇題的選項字母;若是,則將分隔符W和第j個語段dia[j]—起添加到選項變量C中;否則,將第j個語段dia[j]添加到選項變量C中;
[0028]步驟15、將j+Ι賦值給j后,返回步驟14執(zhí)行,直到j(luò) >m為止;
[0029]步驟16、將i+1賦值給i后,返回步驟7執(zhí)行,直到i>n為止后,執(zhí)行步驟19;
[0030]步驟17、將flag存入試題類型鏈表T中,并判斷flag= 1是否成立,若成立,則將選項變量C存入所述試題選項鏈表L中,否則,將空值存入所述試題選項鏈表L中;
[0031 ] 步驟18、將arr [ i ]存入所述試題題干鏈表S中,并返回步驟8執(zhí)行;
[0032]步驟19、遍歷試題類型鏈表T、試題題干鏈表S和試題選項鏈表L,分別獲得各個試題的類型、題干和選項并存入所述題庫中,從而完成試題的批量上傳。
[0033]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
[0034]1、本發(fā)明通過讀取文檔到服務器,獲得所有段落,根據(jù)段落是否匹配定義好的解析模式,來判斷題目的類型,并存儲到數(shù)據(jù)庫里面;從而克服了傳統(tǒng)方法中逐題上傳的低效率問題,減少了上傳試題的時間,同時克服了excel上傳方式中編輯不便的問題,解決了現(xiàn)有word上傳方式中文檔必須遵守一定規(guī)則的問題,智能地解析了文檔,提高了效率。
[0035]2、本發(fā)明通過總結(jié)所有題型的特征,定義全面的解析模式,判斷每個段落匹配哪個模式,從而準確地判斷題目的類型,實現(xiàn)了智能、準確地解析文檔。
[0036]3、本發(fā)明通過以空格作為分隔符分割包含多個選項的段落,得到語段數(shù)組,并通過解析模式來判斷各個語段是否是選項的字母部分,從而做出相應的處理,進而得到正確的選項部分,解決了 word文檔中多個選項放在一個段落的情況以及單個選項中出現(xiàn)空格的情況,保證了解析的正確性。
【具體實施方式】
[0037]本實施例中的在線教育網(wǎng)站中包含題庫和服務器,一種基于SSH的在線教育網(wǎng)站的試題批量上傳方法是:首先,定義四種解析模式;其次,上傳文檔并獲得所有段落;接著,通過解析模式判斷試題類型,若是判斷題,解析選擇題選項部分;再次,把每道試題的類型、題干、選項(若有)放到相應鏈表中,最后遍歷鏈表并存儲到數(shù)據(jù)庫。具體的說,是按如下步驟進行:
[0038]步驟1、在word文檔中編輯四種試題類型,包括:選擇題、填空題、判斷題和問答題;
[0039]選擇題包括選擇題干和選項;
[0040]填空題包括填空題題干和特殊字符;特殊字符包括下劃線和圓括號;
[0041 ] 判斷題包括判斷題題干和末尾圓括號;
[0042]問答題包括問答題題干;
[0043]步驟2、服務器存儲四種解析模式,包括:第一解析模式、第二解析模式、第三解析模式和第四解析模式;
[0044]第一解析模式是以字母和標點符號的組合為首或以括號和字母的組合為首或字母和空格為首的形式,表示選擇題的選項;
[0045]第二解析模式是帶有多個空格的括號且句尾為標點符號或包含下劃線且句尾為標點符號的形式,表示填空題題干;
[0046]第三解析模式是以帶有多個空格的括號作為句尾的形式,表示判斷題題干;
[0047]第四種解析模式是字母或以字母和標點符號的組合或以括號和字母的組合的形式,表示選擇題的選項字母;
[0048]經(jīng)分析,選擇題的選項是以形如“A.”、“A、”、“A)”和“(A)”四種形式開頭的,因此第一解析模式用來判斷選擇題的選項;填空題中會包含形如“()”或“____”的形式,所以可以利用第二解析模式來判斷是否是為填空題題干;判斷題是以形如“()”的形式結(jié)尾的,所以,可以利用第三解析模式來判斷是否判斷題;而第四種解析模式會在步驟12中解釋。
[0049]步驟3、將word文檔上傳至在線教育網(wǎng)站中;
[0050]步驟4、服務器讀取word文檔并進行分段處理,獲得η個段落并依次存入數(shù)組arr[η]中;
[0051]步驟5、定義循環(huán)變量i和j、選項變量