本申請提供一種課件運行方法、配置方法、裝置、電子設備及存儲介質,課件運行方法包括:在接收到課件學習指令時,獲取所述課件學習指令對應的課件配置文件;所述課件配置文件按照設定的DSL語義規范配置得到;按照所述DSL語義規范將所述課件配置文件解析為技術棧語言描述,并執行。這就使得業務側只需要根據更為通用的DSL語言來配置課件配置文件即可,運行時只需要按照定義好DSL語義規范將課件配置文件解析為技術棧語言描述即可,從而對于開發側而言,只需定義好DSL語言和所需采用的語言解析器即可,從而有效實現了業務側和開發側的解耦,降低了開發難度,提高了開發效率。提高了開發效率。提高了開發效率。
【技術實現步驟摘要】
課件運行方法、配置方法、裝置、電子設備及存儲介質
[0001]本申請涉及計算機
,具體而言,涉及一種課件運行方法、課件配置文件的配置方法、裝置、電子設備及計算機可讀存儲介質。
技術介紹
[0002]目前,在線上教育領域中,互動課的生產方式是,根據素材物料包、課件互動交互腳本邏輯、玩法邏輯,由軟件開發人員使用諸如cocos2d等技術棧針對以上內容進行定制化開發。
[0003]在該方式中,所有的交互邏輯、玩法邏輯均由開發人員定制化的代碼開發實現。而這種方式,在程序實現上,業務側和開發側需要高度耦合,這就要求開發人員必須充分理解業務側人員的業務意圖,開發難度較高。且該方式中,課件交互邏輯完全依賴所采用的技術棧,當想更換其它技術棧實現需要從零編碼,對于業務側的課件邏輯無法做到復用。
技術實現思路
[0004]本申請實施例的目的在于提供一種課件運行方法、課件配置文件的配置方法、裝置、電子設備及計算機可讀存儲介質,用以實現業務側和開發側的解耦,降低開發難度,提高開發效率,并降低對技術棧的依賴。
[0005]本申請實施例提供了一種課件運行方法,包括:在接收到課件學習指令時,獲取所述課件學習指令對應的課件配置文件;所述課件配置文件按照設定的DSL(domain
?
specific language,領域特定語言)語義規范配置得到;按照所述DSL語義規范將所述課件配置文件解析為技術棧語言描述,并執行。
[0006]在上述實現過程中,通過DSL語言來作為中間橋梁,讓業務端通過DSL語言來配置課件配置文件,而在運行時,通過按照DSL語義規范將課件配置文件解析為技術棧語言描述并執行,這就使得業務側只需要根據更為通用的DSL語言來配置課件配置文件即可,運行時只需要按照定義好DSL語義規范將課件配置文件解析為技術棧語言描述即可,從而對于開發側而言,只需定義好DSL語言和所需采用的語言解析器即可,從而有效實現了業務側和開發側的解耦,降低了開發難度,提高了開發效率。同時由于實現了業務側和開發側的解耦,在需要更換新的技術棧來運行課件時,只需要按照DSL語義規范將課件配置文件解析為新的技術棧的技術棧語言描述即可,無需從零編碼,對于業務側的課件邏輯可以復用。
[0007]進一步地,所述課件配置文件的內容包括:組件對象,用于描述課件內容的最小顆粒度對象;變量,用于描述所述組件對象被執行時所產生的數據;事件監聽,通過對變量的數據進行監聽,以確定課件中的某一事件是否被觸發;語法邏輯,用于描述不同事件下的組件對象執行邏輯;
[0008]對應的,執行所述技術棧語言描述的課件配置文件的過程包括:加載并渲染默認播放的組件對象;監聽渲染過程中產生的變量數據;所述變量數據為所述課件配置文件中定義的變量所對應的數據;在監聽到所述變量數據滿足預設的事件觸發條件時,解析所述
事件觸發條件所觸發的事件的語法邏輯,執行所述語法邏輯中調用的組件對象。
[0009]在上述實現過程中,通過定義組件對象、變量和各事件的語法邏輯,并通過對組件對象執行過程中產生的變量進行監聽,從而確定觸發的事件,進而按照所觸發的事件的語法邏輯,執行語法邏輯中調用的組件對象,使得整個課件的內容得以按照需求執行下去。且該過程中,通過以組件對象為基礎,以事件為整個執行流程的基本觸發單位,可以有效適配在線教育領域中,課件所具有的實際特性,在需要開發新的課件時,已有的各種組件對象都可靈活配置運用,無需額外重新進行開發。
[0010]進一步地,所述組件對象包括以下至少之一:視頻、音頻、圖片、試題。
[0011]在上述實現過程中,通過將視頻、音頻、圖片、試題中的至少之一作為組件對象,可以實現對于課件內容的最小粒度的描述,一方面便于業務側進行課件配置文件的配置,另一方面也便于解釋端(即運行課件的設備)進行解析和執行。
[0012]進一步地,所述課件配置文件的內容還包括:自定義函數;所述自定義函數為根據至少兩個不同事件的語法邏輯中相同的邏輯部分,函數化后得到的函數;所述至少兩個不同事件的語法邏輯中,具有所述自定義函數的調用關系。
[0013]在上述實現過程中,通過將至少兩個不同事件的語法邏輯中相同的邏輯部分抽象出來,通過函數化處理為自定義函數。這樣,被抽象出的這些事件的語法邏輯中,只需寫入該自定義函數的調用關系即可,無需再針對每一個事件的語法邏輯均重復配置這部分所共用的邏輯,從而可以降低課件配置文件的大小,實現有效的資源復用。
[0014]本申請實施例還提供了一種課件配置文件的配置方法,包括:確定待配置課件所需的素材;確定所述待配置課件所存在的事件;根據所述素材,配置所述課件配置文件中各所述事件的組件對象以及語法邏輯;所述語法邏輯用于描述所述事件的各組件對象的執行邏輯;在所述課件配置文件中配置所述待配置課件中存在的變量;所述變量用于描述所述組件對象被執行時所產生的數據;在所述課件配置文件中配置事件監聽,以在對所述課件配置文件執行時,對所述變量的數據進行監聽,以確定課件中的某一事件是否被觸發。
[0015]在上述實現過程中,通過配置組件對象、變量和各事件的語法邏輯,并通過對組件對象執行過程中產生的變量進行監聽,從而確定觸發的事件,從而可以按照所觸發的事件的語法邏輯,執行語法邏輯中調用的組件對象,使得整個課件的內容得以按照需求執行下去。且該方案中,通過以組件對象為基礎,以事件為整個執行流程的基本觸發單位,可以有效適配在線教育領域中,課件所具有的實際特性,在需要開發新的課件時,已有的各種組件對象都可靈活配置運用,無需額外重新進行開發。
[0016]本申請實施例還提供了一種課件運行裝置,包括:獲取模塊,用于在接收到課件學習指令時,獲取所述課件學習指令對應的課件配置文件;所述課件配置文件按照設定的領域特定語言DSL語義規范配置得到;運行模塊,用于按照所述DSL語義規范將所述課件配置文件解析為技術棧語言描述,并執行。
[0017]進一步地,所述課件配置文件的內容包括:組件對象,用于描述課件內容的最小顆粒度對象;變量,用于描述所述組件對象被執行時所產生的數據;事件監聽,通過對變量的數據進行監聽,以確定課件中的某一事件是否被觸發;語法邏輯,用于描述不同事件下的組件對象執行邏輯;所述運行模塊具體用于按照以下方式執行所述技術棧語言描述的課件配置文件:加載并渲染默認播放的組件對象;監聽渲染過程中產生的變量數據;所述變量數據
為所述課件配置文件中定義的變量所對應的數據;在監聽到所述變量數據滿足預設的事件觸發條件時,解析所述事件觸發條件所觸發的事件的語法邏輯,執行所述語法邏輯中調用的組件對象。
[0018]進一步地,所述組件對象包括以下至少之一:視頻、音頻、圖片、試題。
[0019]本申請實施例還提供了一種電子設備,包括處理器、存儲器及通信總線;所述通信總線用于實現處理器和存儲器之間的連接通信;所述處理器用于執行存儲器中存儲的一個或者多個程序,以實現上述任一種的課件運行方法。
[0020]本申請本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種課件運行方法,其特征在于,包括:在接收到課件學習指令時,獲取所述課件學習指令對應的課件配置文件;所述課件配置文件按照設定的領域特定語言DSL語義規范配置得到;按照所述DSL語義規范將所述課件配置文件解析為技術棧語言描述,并執行。2.如權利要求1所述的課件運行方法,其特征在于,所述課件配置文件包括:組件對象,用于描述課件內容的最小顆粒度對象;變量,用于描述所述組件對象被執行時所產生的數據;事件監聽,通過對變量的數據進行監聽,以確定課件中的某一事件是否被觸發;語法邏輯,用于描述不同事件下的組件對象執行邏輯;對應的,執行所述技術棧語言描述的課件配置文件的過程包括:加載并渲染默認播放的組件對象;監聽渲染過程中產生的變量數據;所述變量數據為所述課件配置文件中定義的變量所對應的數據;在監聽到所述變量數據滿足預設的事件觸發條件時,解析所述事件觸發條件所觸發的事件的語法邏輯,執行所述語法邏輯中調用的組件對象。3.如權利要求2所述的課件運行方法,其特征在于,所述組件對象包括以下至少之一:視頻、音頻、圖片、試題。4.如權利要求2所述的課件運行方法,其特征在于,所述課件配置文件的內容還包括:自定義函數;所述自定義函數為根據至少兩個不同事件的語法邏輯中相同的邏輯部分,函數化后得到的函數;所述至少兩個不同事件的語法邏輯中,具有所述自定義函數的調用關系。5.一種課件配置文件的配置方法,其特征在于,包括:確定待配置課件所需的素材;確定所述待配置課件所存在的事件;根據所述素材,配置所述課件配置文件中各所述事件的組件對象以及語法邏輯;所述語法邏輯用于描述所述事件的各組件對象的執行邏輯;在所述課件配置文件中配置所述待配置課件中存在的變量;所述變量用于描述所述組件對象被執行時所產生的數據;在所述課件配置文件中配置事...
【專利技術屬性】
技術研發人員:吳哲,王宇航,曾鵬軒,
申請(專利權)人:北京思明啟創科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。