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

        ?

        基于“寫時(shí)復(fù)制”的培養(yǎng)方案管理系統(tǒng)邏輯鎖定方案設(shè)計(jì)

        2023-06-25 20:53:00呂震宇叢賀張迪
        現(xiàn)代信息科技 2023年7期
        關(guān)鍵詞:數(shù)據(jù)庫設(shè)計(jì)

        呂震宇 叢賀 張迪

        摘? 要:培養(yǎng)方案管理系統(tǒng)提升了人才培養(yǎng)方案修訂工作的質(zhì)量和效率,然而,該系統(tǒng)在使用過程中也暴露出了專業(yè)間課程獨(dú)立修改與數(shù)據(jù)規(guī)范化設(shè)計(jì)難以兩全、高并發(fā)環(huán)境下數(shù)據(jù)容易出現(xiàn)不一致、共享課程導(dǎo)致某一專業(yè)培養(yǎng)方案定稿困難等一系列問題。文章引入了“寫入時(shí)復(fù)制”(Copy-on-Write)技術(shù),增加了專業(yè)鎖、學(xué)期鎖、課程鎖等邏輯鎖,利用兩階段鎖協(xié)議等技術(shù)對培養(yǎng)方案管理系統(tǒng)進(jìn)行重構(gòu),保證了系統(tǒng)的穩(wěn)定高效運(yùn)行,為此類數(shù)據(jù)庫系統(tǒng)并發(fā)一致性問題提供了解決方案。

        關(guān)鍵詞:培養(yǎng)方案管理系統(tǒng);寫時(shí)復(fù)制;數(shù)據(jù)庫設(shè)計(jì)

        中圖分類號:TP311? ? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)07-0020-05

        Abstract: The Training protocol management system improves the quality and efficiency of talent training protocol revision work, however, the system in the process of use also exposes a series of problems such as professional course independent modification and data standardization design is difficult to both, high concurrency environment data prone to inconsistent, sharing courses lead to a professional training protocol finalized difficulties and so on. This paper introduces the technology of “Copy-on-Write”, adds logic locks such as professional lock, semester lock and course lock, and uses the two-stage lock protocol and other technologies to reconstruct the training protocol management system. It ensures the stable and efficient operation of the system, and provides a solution for the concurrent consistency problem of such database system.

        Keywords: training protocol management system; copy-on-write; database design

        0? 引? 言

        專業(yè)人才培養(yǎng)方案是圍繞一定人才培養(yǎng)目標(biāo)對學(xué)生在校期間的教育、教學(xué)、學(xué)習(xí)、訓(xùn)練等活動進(jìn)行設(shè)計(jì)和實(shí)施的規(guī)劃。人才培養(yǎng)方案制定是一個(gè)復(fù)雜的過程,人才培養(yǎng)目標(biāo)、畢業(yè)要求、課程體系、課程大綱之間相互支撐,培養(yǎng)方案制定過程的復(fù)雜性、課程編碼的規(guī)范和唯一性要求等,迫切需要通過信息化手段實(shí)現(xiàn)培養(yǎng)方案的修訂。

        高校不同專業(yè)培養(yǎng)方案修訂往往是同時(shí)進(jìn)行的,不同專業(yè)間存在大量共享課程,培養(yǎng)方案管理系統(tǒng)在設(shè)計(jì)之初就必須考慮共享課程在不同專業(yè)間的隔離,即一個(gè)專業(yè)對某門課程的修改不能影響另外一個(gè)專業(yè);此外一個(gè)專業(yè)的培養(yǎng)方案一旦定稿,這些共享課程也必須定稿,其他專業(yè)不得以任何理由進(jìn)行修改;很多高校培養(yǎng)方案修訂和實(shí)施往往是并行執(zhí)行的,因此培養(yǎng)方案管理系統(tǒng)還應(yīng)該考慮按照學(xué)期鎖定培養(yǎng)方案,所有這些大大增加的培養(yǎng)方案管理系統(tǒng)設(shè)計(jì)難度,需要精心架構(gòu)邏輯鎖定方案,以確保系統(tǒng)的穩(wěn)定運(yùn)行。

        1? 培養(yǎng)方案管理系統(tǒng)現(xiàn)狀及問題

        現(xiàn)有培養(yǎng)方案管理系統(tǒng)多以驅(qū)動教務(wù)系統(tǒng)運(yùn)轉(zhuǎn)為目的,片面突出了培養(yǎng)方案系統(tǒng)在教務(wù)管理中的作用,缺少對培養(yǎng)方案科學(xué)制定過程的有效支撐。H高校2016年開發(fā)了培養(yǎng)方案管理系統(tǒng)1.0版,規(guī)范了培養(yǎng)方案修訂過程,實(shí)現(xiàn)了培養(yǎng)方案文檔的自動化生成。然而該系統(tǒng)由于缺乏對共享課程的有效隔離,且沒邏輯鎖定機(jī)制,導(dǎo)致無法處理諸如專業(yè)培養(yǎng)方案定稿、鎖定某些學(xué)期的培養(yǎng)方案等問題,一個(gè)專業(yè)對課程的修改有可能會影響到另外一個(gè)專業(yè),高并發(fā)環(huán)境下難以保證數(shù)據(jù)的一致性。具體體現(xiàn)在:

        1.1? “數(shù)據(jù)冗余”與“并發(fā)控制”兩難的問題

        培養(yǎng)方案管理的核心是計(jì)劃進(jìn)程表管理,計(jì)劃進(jìn)程表用于記錄不同專業(yè)在不同學(xué)期的課程開設(shè)情況。按照數(shù)據(jù)規(guī)范化理論,滿足3NF的培養(yǎng)方案核心數(shù)據(jù)表設(shè)計(jì)應(yīng)圍繞專業(yè)與課程的多對多關(guān)系展開,如圖1所示。

        該設(shè)計(jì)方案的優(yōu)點(diǎn)是符合數(shù)據(jù)規(guī)范化要求,消除了數(shù)據(jù)冗余,為數(shù)據(jù)“并發(fā)控制”奠定了基礎(chǔ),但缺點(diǎn)是兩個(gè)不同的專業(yè)可能引用同一門課程(例如“工商管理”專業(yè)和“信息管理與信息系統(tǒng)”專業(yè)均開設(shè)“高等數(shù)學(xué)”課程),一個(gè)專業(yè)對課程的修改將導(dǎo)致另外一個(gè)專業(yè)課程也發(fā)生改變。

        解決該問題的一種辦法是將課程表與培養(yǎng)方案課程表合并,如圖2所示。

        該方案雖然能夠確保一個(gè)專業(yè)對共享課程的修改不會影響另外一個(gè)專業(yè),但引入了大量的數(shù)據(jù)冗余將導(dǎo)致潛在的插入異常、刪除異常和更新異常的發(fā)生。

        1.2? 專業(yè)培養(yǎng)方案定稿困難

        當(dāng)多個(gè)專業(yè)同時(shí)修訂培養(yǎng)方案時(shí),部分專業(yè)修訂完成后需要執(zhí)行“定稿”操作。一旦培養(yǎng)方案定稿,就不能再對其做任何的修改。然而由于不同專業(yè)間課程的高度共享性,一門課程可能在多個(gè)專業(yè)同時(shí)開設(shè),如何保障未定稿專業(yè)對該課程的修改不影響到已定稿專業(yè),是一個(gè)需要解決的問題。

        1.3? 學(xué)期鎖定問題

        本科培養(yǎng)方案是對本科生4-5年在校學(xué)習(xí)課程的計(jì)劃,實(shí)際操作過程中可能存在邊制定培養(yǎng)方案邊予以實(shí)施的情況。例如,先將專業(yè)培養(yǎng)方案前兩個(gè)學(xué)期的課程定稿,導(dǎo)入教務(wù)系統(tǒng)予以實(shí)施,然后允許專業(yè)負(fù)責(zé)人對3學(xué)期及以后的培養(yǎng)方案繼續(xù)進(jìn)行修訂。這種做法會極大地增加系統(tǒng)管理的復(fù)雜度。例如A專業(yè)在第2學(xué)期開設(shè)了《高等數(shù)學(xué)》,而同一門《高等數(shù)學(xué)》B專業(yè)在第3學(xué)期開設(shè)。鎖定前兩個(gè)學(xué)期意味著B專業(yè)不能再對《高等數(shù)學(xué)》課程做任何修改(因?yàn)橐呀?jīng)被A專業(yè)導(dǎo)入教務(wù)系統(tǒng)并實(shí)施),但可以調(diào)整開課學(xué)期(只能調(diào)整到3學(xué)期及以后學(xué)期)。

        1.4? 課程鎖定問題

        培養(yǎng)方案管理系統(tǒng)中的課程一旦導(dǎo)入教務(wù)系統(tǒng),就意味著該課程不能再做任何修改,如何通過建立課程鎖定機(jī)制限制意外修改也是系統(tǒng)在設(shè)計(jì)過程中需要加以考慮的問題。

        在實(shí)際應(yīng)用過程中,專業(yè)鎖定(培養(yǎng)方案定稿)、學(xué)期鎖定、課程鎖定往往是交疊進(jìn)行的,可能同時(shí)存在專業(yè)鎖定、學(xué)期鎖定、課程鎖定的情況,此時(shí)業(yè)務(wù)處理還需要考慮不同類型鎖定的優(yōu)先級問題,所有這些都大大增加了系統(tǒng)設(shè)計(jì)的復(fù)雜度。

        2? 培養(yǎng)方案管理系統(tǒng)核心業(yè)務(wù)表格設(shè)計(jì)

        為了確保在消除數(shù)據(jù)冗余的同時(shí)解決兩個(gè)專業(yè)修改共享課程造成的并發(fā)控制問題,引入COPY ON WRITE算法,在表中增加引用計(jì)數(shù)器字段,實(shí)現(xiàn)了數(shù)據(jù)規(guī)范化和并發(fā)控制的平衡;通過將學(xué)期從字段提升為實(shí)體,并在數(shù)據(jù)庫相應(yīng)表格中增加專業(yè)鎖、學(xué)期鎖、課程鎖字段,配合鎖定算法,實(shí)現(xiàn)根據(jù)業(yè)務(wù)邏輯對數(shù)據(jù)進(jìn)行鎖定,避免意外修改。

        2.1? 核心業(yè)務(wù)數(shù)據(jù)庫設(shè)計(jì)

        在核心業(yè)務(wù)表數(shù)據(jù)庫設(shè)計(jì)過程中重點(diǎn)考慮了如下因素:

        1)專業(yè)、課程、學(xué)期表均設(shè)有“是否鎖定”字段,允許實(shí)現(xiàn)業(yè)務(wù)邏輯上的鎖定操作。如某一專業(yè)培養(yǎng)方案已經(jīng)定稿,而其他專業(yè)尚在修改中,可以鎖定該專業(yè),避免意外的修改;如果某一學(xué)期的課程計(jì)劃已經(jīng)開始實(shí)施,可以鎖定該學(xué)期,確保該學(xué)期下的所有課程不會再發(fā)生更改;如果某一課程已經(jīng)錄入教務(wù)系統(tǒng),可以鎖定該課程,禁止對該課程任何形式的修改。

        2)課程表中增加了“引用計(jì)數(shù)”字段。該字段用于同步記錄有多少個(gè)專業(yè)開設(shè)該課程,同時(shí)該字段也用于指導(dǎo)COPY ON WRITE的修改動作。例如引用計(jì)數(shù)為1的時(shí)候,說明只有1個(gè)專業(yè)引用該課程,那么可以在該課程記錄上直接進(jìn)行修改操作;如果引用計(jì)數(shù)大于1,說明有多個(gè)專業(yè)引用該課程,那么在修改時(shí)先要拷貝一份出來進(jìn)行修改,同時(shí)對引用計(jì)數(shù)減1。

        3)課程表中設(shè)置了自動增長型字段“課程內(nèi)部編號”作為主鍵,而“課程編號”為非主鍵。這主要考慮課程編號后期可能會統(tǒng)一編排,系主任在調(diào)整培養(yǎng)方案時(shí)可以不受課程編號是否唯一的限制,也為“COPY ON WRITE”提供克隆課程的基礎(chǔ)。用戶可以通過系統(tǒng)提供的錯誤檢查功能發(fā)現(xiàn)潛在的課程編號重復(fù)問題并加以修正。

        計(jì)劃進(jìn)程核心業(yè)務(wù)表邏輯數(shù)據(jù)庫設(shè)計(jì)如圖3所示。

        2.2? COPY ON WRITE算法設(shè)計(jì)

        通過COPY ON WRITE算法和引用計(jì)數(shù)器,解決“數(shù)據(jù)冗余”與“并發(fā)控制”兩難的問題。如果多個(gè)專業(yè)開設(shè)了相同的課程,它們將通過培養(yǎng)方案課程表引用到同一條課程記錄。同時(shí)為了后續(xù)操作方便,在課程表中增加了“引用計(jì)數(shù)”字段記錄有多少個(gè)專業(yè)開設(shè)該課程。表1、表2、表3分別展示了專業(yè)、課程、培養(yǎng)方案課程之間的關(guān)系??梢钥闯?,工商管理、信息管理與信息系統(tǒng)專業(yè)均開設(shè)了高等數(shù)學(xué)與英語課程,只是開課學(xué)期不完全相同。此時(shí)高等數(shù)學(xué)、英語兩門課程的引用計(jì)數(shù)均為2,說明各有兩個(gè)專業(yè)開設(shè)了該課程。

        若信息管理與信息系統(tǒng)專業(yè)決定將高等數(shù)學(xué)的學(xué)時(shí)從80學(xué)時(shí)提高到96學(xué)時(shí),由于目前高等數(shù)學(xué)引用計(jì)數(shù)大于1,因此首先將高等數(shù)學(xué)課程拷貝一份并進(jìn)行修改,然后修改原有高等數(shù)學(xué)課程的引用計(jì)數(shù),最后修改培養(yǎng)方案課程表中信息管理與信息系統(tǒng)專業(yè)高等數(shù)學(xué)的課程內(nèi)部編號。具體結(jié)果如表4和表5所示。其中,括號的內(nèi)容表示新修改的值。

        如果此時(shí)工商管理專業(yè)決定將高等數(shù)學(xué)學(xué)時(shí)提高到88,由于其所引用的課程內(nèi)部編號為1的課程引用計(jì)數(shù)為1,因此可以直接在原地進(jìn)行修改。再次修改后的課程表如表6所示,培養(yǎng)方案課程表不變。其中,括號的內(nèi)容表示新修改的值。

        若工商管理最終決定將高等數(shù)學(xué)課程修改為96學(xué)時(shí),修改后的課程與信息管理與信息系統(tǒng)專業(yè)保持一致,此時(shí)將觸發(fā)相同課程的“合并”操作,同時(shí)引用計(jì)數(shù)也將進(jìn)行合并。最終修改結(jié)果如表7和表8所示。其中,括號的內(nèi)容表示新修改的值。

        2.3? 業(yè)務(wù)邏輯鎖定設(shè)計(jì)

        在數(shù)據(jù)庫設(shè)計(jì)中,分別在專業(yè)、學(xué)期、課程表中增加了是否鎖定字段,用于構(gòu)建專業(yè)鎖、學(xué)期鎖、課程鎖三種虛擬業(yè)務(wù)邏輯鎖,這些鎖相互交疊,確保“定稿”后的培養(yǎng)方案不會因?yàn)椴l(fā)問題而被意外修改。專業(yè)鎖、學(xué)期鎖、課程鎖的具體加鎖、解鎖流程如圖4和圖5所示。

        2.3.1? 專業(yè)鎖

        專業(yè)鎖用于鎖定某一專業(yè)的計(jì)劃進(jìn)程表。一旦某專業(yè)被鎖定,該專業(yè)將無法繼續(xù)編輯(包括插入、刪除、修改)計(jì)劃進(jìn)程表中的課程,同時(shí)該專業(yè)計(jì)劃進(jìn)程表引用的課程將一并鎖定,不允許任何人對這些課程繼續(xù)進(jìn)行修改。鎖解鎖時(shí),所引用課程通??梢砸徊⒔怄i,除非以下情況:課程被其他已鎖定專業(yè)鎖定;在鎖定的學(xué)期中有該課程。

        2.3.2? 學(xué)期鎖

        學(xué)期鎖用于鎖定某一學(xué)期。一旦某學(xué)期被鎖定,該學(xué)期所開設(shè)過的課程將無法繼續(xù)編輯(包括刪除、修改);計(jì)劃進(jìn)程表中課程的開課學(xué)期如果處于非鎖定學(xué)期,則只能更改至其他非鎖定學(xué)期;計(jì)劃進(jìn)程表中課程的開課學(xué)期如果處于鎖定學(xué)期,則無法繼續(xù)編輯課程開課學(xué)期等任何信息。學(xué)期鎖解鎖時(shí),所引用課程通??梢砸徊⒔怄i,除非以下情況:課程被已鎖定專業(yè)鎖定;在其他鎖定學(xué)期中引用了該課程。如圖6和圖7所示。

        2.3.3? 課程鎖

        課程鎖用于鎖定某一課程。一旦某課程被鎖定將無法再進(jìn)行刪除,但可以通過COPY ON WRITE的方式進(jìn)行編輯。在以下情況鎖定的課程不能被解鎖:課程被已鎖定專業(yè)鎖定;在鎖定學(xué)期中引用了該課程。通常情況下不直接鎖定課程或解鎖課程,多為鎖定學(xué)期或鎖定專業(yè)等操作伴隨的課程鎖定。當(dāng)課程被同步到教務(wù)系統(tǒng)時(shí),系統(tǒng)會對已同步課程強(qiáng)制觸發(fā)課程加鎖動作。

        3? 系統(tǒng)實(shí)現(xiàn)

        上述設(shè)計(jì)方案已經(jīng)成功應(yīng)用在了H高校培養(yǎng)方案管理系統(tǒng)中。系統(tǒng)使用SQL Server作為后臺數(shù)據(jù)庫,將專業(yè)、學(xué)期的鎖定與解鎖動作封裝為存儲過程并用事務(wù)包裹,確保了操作的原子性。在對80多個(gè)專業(yè)同時(shí)修訂培養(yǎng)方案、多個(gè)專業(yè)同時(shí)引用并修改相同課程的場景考驗(yàn)下,COPY ON WRITE算法運(yùn)行穩(wěn)定。數(shù)據(jù)庫設(shè)計(jì)方案在確保了數(shù)據(jù)規(guī)范化的同時(shí),配合并發(fā)一致性設(shè)計(jì)方案,使所有培養(yǎng)方案數(shù)據(jù)的內(nèi)在邏輯關(guān)系都得到了有效保障。

        4? 結(jié)? 論

        通過將COPY ON WRITE算法引入培養(yǎng)方案管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì),解決了“數(shù)據(jù)冗余”與“并發(fā)控制”的兩難問題;通過引入專業(yè)鎖、學(xué)期鎖、課程鎖三種虛擬業(yè)務(wù)邏輯鎖,解決了培養(yǎng)方案定稿、培養(yǎng)方案部分定稿等業(yè)務(wù)中,共享課程間相互交疊課程鎖定問題;通過在數(shù)據(jù)庫設(shè)計(jì)中添加引用計(jì)數(shù)字段,幫助COPY ON WRITE判斷修改時(shí)是否需要復(fù)制或合并。實(shí)踐結(jié)果表明,該培養(yǎng)方案管理系統(tǒng)邏輯鎖定方案達(dá)到了預(yù)期設(shè)計(jì)目標(biāo),能夠在大規(guī)模數(shù)據(jù)訪問中保持?jǐn)?shù)據(jù)的一致性。

        參考文獻(xiàn):

        [1] 曹宇新.“強(qiáng)基計(jì)劃”人才培養(yǎng)模式的高校政策再制定研究——基于36所試點(diǎn)高?!皬?qiáng)基計(jì)劃”培養(yǎng)方案的文本分析 [J].教育理論與實(shí)踐,2022,42(3):3-7.

        [2] 劉云.“數(shù)據(jù)庫原理與應(yīng)用”課程思政教學(xué)設(shè)計(jì)與實(shí)踐探索 [J].現(xiàn)代商貿(mào)工業(yè),2022,43(12):140-141.

        [3] 孫群,溫伯威,陳欣.多源地理空間數(shù)據(jù)一致性處理研究進(jìn)展 [J].測繪學(xué)報(bào),2022,51(7):1561-1574.

        [4] 姜文,劉立康.Oracle數(shù)據(jù)庫死鎖問題研究 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(3):97-101.

        [5] 蘇學(xué)斌.基于聚類的數(shù)據(jù)庫事務(wù)并發(fā)控制算法研究 [D].哈爾濱:哈爾濱工業(yè)大學(xué),2020.

        作者簡介:呂震宇(1976—),男,漢族,山東安丘人,教授,碩士,研究方向:信息管理與信息系統(tǒng)、數(shù)據(jù)分析與挖掘;叢賀(1992—),男,漢族,內(nèi)蒙古赤峰人,碩士在讀,研究方向:數(shù)據(jù)庫并發(fā)一致性控制;張迪(1999—),女,漢族,河北滄州人,本科,研究方向:計(jì)算機(jī)軟件、信息管理。

        猜你喜歡
        數(shù)據(jù)庫設(shè)計(jì)
        醫(yī)療設(shè)備信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        圖書館入館教育考試系統(tǒng)分析與設(shè)計(jì)
        試論數(shù)據(jù)庫設(shè)計(jì)在網(wǎng)站開發(fā)中的應(yīng)用
        基于WEB的科研信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        軟件開發(fā)中數(shù)據(jù)庫設(shè)計(jì)理論的實(shí)踐
        面向等級考試,探討高校理工科計(jì)算機(jī)基礎(chǔ)課程教學(xué)改革
        考試周刊(2016年47期)2016-06-29 22:15:13
        網(wǎng)站管理系統(tǒng)中數(shù)據(jù)庫設(shè)計(jì)的應(yīng)用研究
        《數(shù)據(jù)庫原理及應(yīng)用》在線考試系統(tǒng)的設(shè)計(jì)
        基于PHP+MySql的學(xué)生請銷假系統(tǒng)的設(shè)計(jì)
        農(nóng)村宅基地確權(quán)數(shù)據(jù)自動提取方法研究與應(yīng)用
        国产精品亚洲αv天堂无码| 色小姐在线视频中文字幕| av成人一区二区三区| 99久久亚洲精品日本无码| 又色又污又爽又黄的网站| 日韩最新在线不卡av| 亚洲偷自拍国综合第一页国模| 亚洲 另类 小说 国产精品| 中文字幕一区二区人妻性色| 亚洲免费天堂| 精品av一区二区在线| 99久久国产精品网站| 野外少妇愉情中文字幕| 无码不卡免费一级毛片视频 | 亚洲国产精品无码久久电影| 国产国语熟妇视频在线观看| 人妻丰满熟妇AV无码片| av在线资源一区二区| 国产精品成人无码久久久久久| 国产精品久久一区二区三区| 在线观看一区二区女同| 一个人午夜观看在线中文字幕| 十八禁视频网站在线观看| 国产av国片精品| 美女被射视频在线观看91| 在线观看亚洲av每日更新影片 | av一区二区三区人妻少妇| 久久国产欧美日韩高清专区| 免费观看国产激情视频在线观看| 国产av一区二区三区无码野战| 台湾佬综合网| 亚洲欧美日韩一区在线观看| 丰满人妻中文字幕一区三区| 亚洲日韩一区二区三区| 91热久久免费精品99| 中文字幕一区乱码在线观看| 久久伊人少妇熟女大香线蕉| 亚洲白白色无码在线观看| av免费一区在线播放| 日本免费视频| 国产福利姬喷水福利在线观看|