本申請屬于在線教育領(lǐng)域,具體涉及一種提高個人題庫生成速度的方法及系統(tǒng)。
背景技術(shù):
1、在各類在線教育的題庫應(yīng)用中,為了使用戶具有個性化的體驗(yàn),往往存在官方題庫和個人題庫兩種類別,如圖1所示。官方題庫,是指一般由運(yùn)營商來維護(hù)各學(xué)科、學(xué)段下教材章節(jié)數(shù)據(jù)的內(nèi)容,例如:“小學(xué)語文-人教新課標(biāo)-三年級上-教材章節(jié)樹”。個人題庫,是指使用系統(tǒng)的個人用戶,可以從官方題庫選擇已有的教材章節(jié)數(shù)據(jù),形成自己的個人題庫,方便根據(jù)自己的需要來組織個人題庫的結(jié)構(gòu)。
2、通常情況下,首次進(jìn)入個人題庫的時候,需要從官方題庫選擇已有的教材章節(jié)數(shù)據(jù),作為個人題庫章節(jié)樹初始化數(shù)據(jù),然后可以在此基礎(chǔ)上進(jìn)行個人定制的調(diào)整。
3、目前學(xué)科教育中存在非常多的學(xué)科和學(xué)段(如:“小學(xué)數(shù)學(xué)”、“初中語文”等),每個學(xué)科和學(xué)段其下包含的教材樹數(shù)量更是多達(dá)200+個,數(shù)據(jù)示意圖如圖2所示。
4、從官方題庫向個人題庫初始化數(shù)據(jù)的過程,以“小學(xué)數(shù)學(xué)”學(xué)科學(xué)段為例,數(shù)據(jù)從“官方題庫-章節(jié)樹”復(fù)制到“個人題庫-章節(jié)樹”,程序主要處理流程如下:
5、步驟1:批量查詢官方題庫此學(xué)科學(xué)段下「教材版本-年級學(xué)期」的關(guān)聯(lián)數(shù)據(jù);
6、步驟2:批量查詢官方題庫下每個「年級學(xué)期」的關(guān)聯(lián)章節(jié)樹;
7、步驟3:插入個人題庫下「教材版本-年級學(xué)期」數(shù)據(jù);
8、步驟4:基于步驟3,插入個人題庫下每個「年級學(xué)期」關(guān)聯(lián)的章節(jié)樹;
9、步驟5:循環(huán)遍歷步驟3、4操作,直至完成。
10、目前的實(shí)現(xiàn)方案可以實(shí)現(xiàn)根據(jù)個人用戶選擇的學(xué)科學(xué)段(如:“小學(xué)數(shù)學(xué)”),將數(shù)據(jù)從“官方題庫-章節(jié)樹”復(fù)制到“個人題庫-章節(jié)樹”。但是,目前的實(shí)現(xiàn)方案具有如下兩個缺陷:
11、1、樹形結(jié)構(gòu)數(shù)據(jù)存儲存在依賴性;
12、樹形結(jié)構(gòu)數(shù)據(jù)落庫存儲的時候,需要按「樹根節(jié)點(diǎn)-子節(jié)點(diǎn)-葉子節(jié)點(diǎn)」順序來逐個生成并保存上級節(jié)點(diǎn)主鍵,來實(shí)現(xiàn)數(shù)據(jù)的關(guān)聯(lián)性存儲。
13、2、要處理的數(shù)據(jù)量大,性能低下;
14、以“小學(xué)數(shù)學(xué)”一個學(xué)段的科目為例,批量查詢“小學(xué)數(shù)學(xué)”學(xué)科學(xué)段下關(guān)聯(lián)的「教材版本-年級學(xué)期」,大概存在約200+個,關(guān)聯(lián)的章節(jié)樹多,需要多次循環(huán)遍歷才能完成復(fù)制。按“小學(xué)數(shù)學(xué)”涉及官方章節(jié)樹200個計算,每棵樹處理耗時以500ms計算,總體耗時需要:200*0.5=100(秒)。采用現(xiàn)有技術(shù)方案,會導(dǎo)致生成個人題庫的性能差問題非常明顯,嚴(yán)重影響用戶的體驗(yàn)。
技術(shù)實(shí)現(xiàn)思路
1、本申請的目的在于克服現(xiàn)有技術(shù)生成個人題庫的性能差的缺陷。
2、為了實(shí)現(xiàn)上述目的,本申請?zhí)岢隽艘环N提高個人題庫生成速度的方法,適用于生成樹形結(jié)構(gòu)的個人題庫,該方法括:
3、每隔設(shè)定時間對預(yù)處理數(shù)據(jù)剩余可用套數(shù)進(jìn)行監(jiān)控,當(dāng)預(yù)處理數(shù)據(jù)剩余可用套數(shù)小于設(shè)定套數(shù)時,執(zhí)行預(yù)處理過程;
4、所述預(yù)處理過程為:將官方題庫的章節(jié)樹復(fù)制到預(yù)處理數(shù)據(jù)中,并將標(biāo)識用戶身份的信息項(xiàng)留空或設(shè)為特定字符。
5、作為上述方法的一種改進(jìn),所述方法還包括:
6、當(dāng)用戶從官方題庫選擇某個章節(jié)樹復(fù)制到個人題庫時,直接將預(yù)處理數(shù)據(jù)中該章節(jié)樹的數(shù)據(jù)中標(biāo)識用戶身份的信息項(xiàng)替換為該用戶的身份信息。
7、作為上述方法的一種改進(jìn),所述方法還包括:
8、完成預(yù)處理數(shù)據(jù)中章節(jié)樹的標(biāo)識用戶身份的信息項(xiàng)的替換后,將該章節(jié)樹的預(yù)處理數(shù)據(jù)剩余可用套數(shù)減1。
9、作為上述方法的一種改進(jìn),所述方法還包括:
10、采用多進(jìn)程技術(shù)來執(zhí)行預(yù)處理過程。
11、作為上述方法的一種改進(jìn),所述采用多進(jìn)程技術(shù)來執(zhí)行預(yù)處理過程時,每個章節(jié)樹的數(shù)據(jù)采用一個獨(dú)立的進(jìn)程執(zhí)行復(fù)制操作。
12、作為上述方法的一種改進(jìn),所述設(shè)定時間為5分鐘。
13、作為上述方法的一種改進(jìn),所述設(shè)定套數(shù)為10。
14、本申請還提供一種提高個人題庫生成速度的系統(tǒng),基于上述方法實(shí)現(xiàn),所述系統(tǒng)包括:
15、監(jiān)控模塊,用于每隔設(shè)定時間對預(yù)處理數(shù)據(jù)剩余可用套數(shù)進(jìn)行監(jiān)控;
16、預(yù)處理模塊,用于當(dāng)預(yù)處理數(shù)據(jù)剩余可用套數(shù)小于設(shè)定套數(shù)時,將官方題庫復(fù)制到預(yù)處理數(shù)據(jù)中,并將標(biāo)識用戶身份的信息項(xiàng)留空或設(shè)為特定字符。
17、作為上述系統(tǒng)的一種改進(jìn),所述系統(tǒng)還包括:
18、并行處理模塊,用于采用多進(jìn)程技術(shù)執(zhí)行預(yù)處理模塊。
19、與現(xiàn)有技術(shù)相比,本申請的優(yōu)勢在于:
20、1、本申請通過建立一整套數(shù)據(jù)預(yù)處理機(jī)制(定時監(jiān)控腳本+預(yù)處理程序),極大的降低了程序響應(yīng)耗時,提高了個人題庫生成時間;
21、2、本申請通過多進(jìn)程并發(fā)處理機(jī)制,提升了章節(jié)樹的單次處理效率,進(jìn)一步提高了個人題庫預(yù)處理過程的效率。
1.一種提高個人題庫生成速度的方法,適用于生成樹形結(jié)構(gòu)的個人題庫,該方法括:
2.根據(jù)權(quán)利要求1所述的提高個人題庫生成速度的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的提高個人題庫生成速度的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求1-3之一所述的提高個人題庫生成速度的方法,其特征在于,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的提高個人題庫生成速度的方法,其特征在于,所述采用多進(jìn)程技術(shù)來執(zhí)行預(yù)處理過程時,每個章節(jié)樹的數(shù)據(jù)采用一個獨(dú)立的進(jìn)程執(zhí)行復(fù)制操作。
6.根據(jù)權(quán)利要求1所述的提高個人題庫生成速度的方法,其特征在于,所述設(shè)定時間為5分鐘。
7.根據(jù)權(quán)利要求1所述的提高個人題庫生成速度的方法,其特征在于,所述設(shè)定套數(shù)為10。
8.一種提高個人題庫生成速度的系統(tǒng),基于權(quán)利要求1-7任一所述方法實(shí)現(xiàn),其特征在于,所述系統(tǒng)包括:
9.根據(jù)權(quán)利要求8所述的提高個人題庫生成速度的系統(tǒng),其特征在于,所述系統(tǒng)還包括: