欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于edX平臺的MOOC系統(tǒng)的制作方法

文檔序號:12183050閱讀:529來源:國知局
一種基于edX平臺的MOOC系統(tǒng)的制作方法與工藝

本發(fā)明實(shí)施例涉及在線教育技術(shù)領(lǐng)域,尤其涉及一種基于edX平臺的MOOC系統(tǒng)。



背景技術(shù):

在摩爾定律的預(yù)言下,隨著計算機(jī)硬件的蓬勃發(fā)展,大規(guī)模開放在線教育成為了最熱門的領(lǐng)域之一。

自2008年Dave和Bryan等人提出了大型開放式網(wǎng)絡(luò)課程(Massive Open Online Courses,簡稱MOOC)這一術(shù)語之后,國內(nèi)外各知名高校都展開了MOOC平臺的開發(fā)和MOOC課程的制作。其中最為標(biāo)志性的事件是2011年Stanford大學(xué)將吳恩達(dá)教授(現(xiàn)任百度首席科學(xué)家)的《機(jī)器學(xué)習(xí)》(Machine Learning)等三門課程免費(fèi)發(fā)布在網(wǎng)上,該課程一經(jīng)發(fā)布收獲了良好的反應(yīng),超過10萬人注冊了這門課程。網(wǎng)絡(luò)學(xué)習(xí)者對于這幾門課程的高度認(rèn)可使得吳恩達(dá)等人共同創(chuàng)辦了Coursera平臺。Google X實(shí)驗室研究員Sebastian Thrun的《人工智能導(dǎo)論》課程也在這三門課程之列,收到了16萬人的注冊學(xué)習(xí),后來他和兩名同事創(chuàng)辦了Udacity平臺。在2012年,麻省理工學(xué)院(Massachusetts Institute of Technology,簡稱MIT)和哈佛大學(xué)(Harvard)共同創(chuàng)辦edX平臺,旨在配合校內(nèi)教學(xué)的同時將課程推廣到世界各地,并分析學(xué)習(xí)過程中的數(shù)據(jù),從而進(jìn)一步提高教學(xué)質(zhì)量。截止到2016年3月,edX已經(jīng)擁有超過700萬的注冊用戶,共計開設(shè)了七百多門課程;Coursera平臺已經(jīng)擁有超過1500萬的注冊用戶,1400多門課程;Udacity也有了400萬的注冊用戶。

自2012年以來,MOOC變得越來越流行,來自世界各地的學(xué)生數(shù)量每年都在快速地增加,中國也不例外。為了滿足中國學(xué)生的需求,國內(nèi)的一些高校也開始發(fā)展自己的MOOC平臺。北京大學(xué)的MOOCs@PKU平臺和清華大學(xué)的學(xué)堂在線分別于2013年9月、10月開放注冊和學(xué)習(xí)。特別是學(xué)堂在線,自從成立以來就收獲了廣泛的關(guān)注和認(rèn)可,超過100萬用戶選修了學(xué)堂在線中開設(shè)的500門課程。由于學(xué)堂在線起步較晚,加之為中文課程,這個數(shù)字雖然落后于國外同類平臺,但也足以說明MOOC在中國的熱度。MOOC火熱的原因是多方面的,但最為重要的是因為名校的課程質(zhì)量通常較高,大多數(shù)人都希望可以學(xué)習(xí)到這樣的課程。

當(dāng)前流行的MOOC系統(tǒng)架構(gòu)分別為edx和學(xué)堂在線。edX的架構(gòu)主要分為三層。第一層是面向用戶的LMS、CMS系統(tǒng),它們采用Django框架編寫;第二層是面向LMS、CMS系統(tǒng)提供的第三方服務(wù),elastic search(全文檢索)、youtube(視頻存儲)、MongoDB(課程內(nèi)容存儲)、MySQL(業(yè)務(wù)內(nèi)容存儲)、Memcached(session的緩存)等等,它們被系統(tǒng)調(diào)用以解決某一特定業(yè)務(wù)相關(guān)的數(shù)據(jù)存儲和檢索問題。第三層是自我維護(hù)的服務(wù)及其依賴的第三方服務(wù),包括Comment Service(提供論壇服務(wù))、XQueue(提供離線任務(wù)處理服務(wù))、Analytics(提供分析服務(wù)),它們除依賴上述的第三方服務(wù)之外,還依賴于某些成熟的第三方服務(wù),如XQueue依賴于RabbitMQ和Celery,Analytics依賴于Hadoop、Hive等。

edX的架構(gòu)由于其存儲是作為第三方模塊被不同的服務(wù)調(diào)用,存在存儲和服務(wù)高度耦合的問題,從而導(dǎo)致整個MOOC系統(tǒng)不利于擴(kuò)展;現(xiàn)有技術(shù)中的edX的架構(gòu)沒有負(fù)載均衡機(jī)制,限制了系統(tǒng)的可承載量;且視頻服務(wù)是通過第三方的視頻網(wǎng)站Youtube進(jìn)行管理,雖然降低了成本,提供了不錯的性能,但是Youtube等第三方視頻服務(wù)提供者不存在視頻內(nèi)容訪問控制或者相關(guān)控制較弱,不能結(jié)合用戶行為對視頻內(nèi)容的安全性進(jìn)行控制,因此存在著視頻內(nèi)容安全的隱患。

因此,如何提高M(jìn)OOC系統(tǒng)的可擴(kuò)展性、承受負(fù)載能力及安全性是現(xiàn)如今亟需解決的課題。



技術(shù)實(shí)現(xiàn)要素:

針對現(xiàn)有技術(shù)存在的問題,本發(fā)明實(shí)施例提供一種基于edX平臺的MOOC系統(tǒng)。

本發(fā)明實(shí)施例提供一種基于edX平臺的MOOC系統(tǒng),包括:用戶層、負(fù)載均衡層、應(yīng)用服務(wù)層和數(shù)據(jù)服務(wù)層;其中:

所述用戶層用于接收用戶發(fā)送的請求并將所述請求發(fā)送至所述負(fù)載均衡層,其中,所述請求包括:獲取靜態(tài)內(nèi)容的請求、處理邏輯業(yè)務(wù)的請求或處理視頻業(yè)務(wù)的請求;

所述負(fù)載均衡層包括負(fù)載均衡服務(wù)器和內(nèi)容分發(fā)網(wǎng)絡(luò),所述負(fù)載均衡服務(wù)器用于接收所述用戶層發(fā)送的所述請求,根據(jù)所述系統(tǒng)的當(dāng)前狀態(tài)將所述請求發(fā)送給滿足要求的服務(wù)器,并接收所述服務(wù)器返回的數(shù)據(jù),將所述數(shù)據(jù)返回至對應(yīng)的所述用戶層;其中,所述服務(wù)器包括:所述內(nèi)容分發(fā)網(wǎng)絡(luò)、邏輯服務(wù)器和視頻服務(wù)器;所述內(nèi)容分發(fā)網(wǎng)絡(luò)用于接收所述負(fù)載均衡服務(wù)器發(fā)送的所述獲取靜態(tài)內(nèi)容的請求;

所述應(yīng)用服務(wù)層包括所述邏輯服務(wù)器和所述視頻服務(wù)器;所述邏輯服務(wù)器用于接收并處理所述負(fù)載均衡服務(wù)器發(fā)送的所述處理邏輯業(yè)務(wù)的請求,所述視頻服務(wù)器用于接收并處理所述負(fù)載均衡服務(wù)器發(fā)送的所述處理視頻業(yè)務(wù)的請求;

所述數(shù)據(jù)服務(wù)層用于存儲數(shù)據(jù)并處理收到的所述邏輯服務(wù)器發(fā)送的所述處理邏輯業(yè)務(wù)的請求、所述視頻服務(wù)器發(fā)送的所述處理視頻業(yè)務(wù)的請求和所述內(nèi)容分發(fā)網(wǎng)絡(luò)發(fā)送的所述獲取靜態(tài)內(nèi)容的請求。

本發(fā)明實(shí)施例提供的一種基于edX平臺的MOOC系統(tǒng),通過設(shè)置負(fù)載均衡層將用戶發(fā)送的請求根據(jù)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行分配,實(shí)現(xiàn)了動態(tài)請求和靜態(tài)請求的分離處理,同時通過設(shè)置視頻服務(wù)器,提高了視頻資源的安全性,減輕了應(yīng)用服務(wù)層的負(fù)載壓力,并提高了系統(tǒng)的可擴(kuò)展性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種基于edX平臺的MOOC系統(tǒng)結(jié)構(gòu)示意圖;

圖2為本發(fā)明實(shí)施例提供的基于edX平臺的MOOC系統(tǒng)的工作原理示意圖;

圖3為本發(fā)明實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖;

圖4為本發(fā)明另一實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖;

圖5為本發(fā)明又一實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖;

圖6為本發(fā)明實(shí)施例提供的應(yīng)用服務(wù)層工作原理示意圖;

圖7為本發(fā)明實(shí)施例提供的客戶端結(jié)構(gòu)示意圖;

圖8為本發(fā)明另一實(shí)施例提供的基于edX平臺的MOOC系統(tǒng)結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1為本發(fā)明實(shí)施例提供的一種基于edX平臺的MOOC系統(tǒng)結(jié)構(gòu)示意圖,如圖1所示,所述系統(tǒng),包括:用戶層101、負(fù)載均衡層102、應(yīng)用服務(wù)層103和數(shù)據(jù)服務(wù)層104;其中:

所述用戶層101用于接收用戶發(fā)送的請求并將所述請求發(fā)送至所述負(fù)載均衡層102,其中,所述請求包括:獲取靜態(tài)內(nèi)容的請求、處理邏輯業(yè)務(wù)的請求或處理視頻業(yè)務(wù)的請求;

具體地,用戶層101是系統(tǒng)中所有的用戶所使用的設(shè)備,包括電腦終端(PC端)、平板、手機(jī)等設(shè)備,用戶使用PC端的瀏覽器、移動APP等設(shè)備向負(fù)載均衡層102發(fā)送請求。其中用戶可以通過用戶層101發(fā)送獲取靜態(tài)內(nèi)容的請求、處理邏輯業(yè)務(wù)的請求或處理視頻業(yè)務(wù)的請求。

所述負(fù)載均衡層102包括負(fù)載均衡服務(wù)器1021和內(nèi)容分發(fā)網(wǎng)絡(luò)1022,所述負(fù)載均衡服務(wù)器1021用于接收所述用戶層101發(fā)送的所述請求,根據(jù)所述系統(tǒng)的當(dāng)前狀態(tài)將所述請求發(fā)送給滿足要求的服務(wù)器,并接收所述服務(wù)器返回的數(shù)據(jù),將所述數(shù)據(jù)返回至對應(yīng)的所述用戶層101;其中,所述服務(wù)器包括:所述內(nèi)容分發(fā)網(wǎng)絡(luò)1022、邏輯服務(wù)器1031和視頻服務(wù)器1032;所述內(nèi)容分發(fā)網(wǎng)絡(luò)1022用于接收所述負(fù)載均衡服務(wù)器1021發(fā)送的所述獲取靜態(tài)內(nèi)容的請求;

具體地,負(fù)載均衡層102是直接與用戶層101相互傳輸數(shù)據(jù)的,包括負(fù)載均衡服務(wù)器1021和內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡稱CDN)1022。其中,負(fù)載均衡服務(wù)器1021的作用是重定向和反向代理,重定向就是將用戶發(fā)送的請求根據(jù)系統(tǒng)的當(dāng)前狀態(tài)將其進(jìn)行分配,分配給不同的用于執(zhí)行請求的服務(wù)器,并接收執(zhí)行請求的服務(wù)器返回的數(shù)據(jù),將數(shù)據(jù)返回至用戶層101。內(nèi)容分發(fā)網(wǎng)絡(luò)1022是建立在網(wǎng)絡(luò)邊緣,臨近于用戶的一組服務(wù)器。它主要由分布式存儲、內(nèi)容管理和負(fù)載均衡等功能。內(nèi)容分發(fā)網(wǎng)絡(luò)1022的意義是對獲取靜態(tài)內(nèi)容的請求進(jìn)行加速,由于MOOC系統(tǒng)中存在著大量的靜態(tài)資源,如圖片、層疊樣式表(CSS)、動態(tài)腳本(JavaScript,簡稱JS),這些內(nèi)容都是不隨著用戶操作的變化而變化的,它們統(tǒng)稱為靜態(tài)資源。而靜態(tài)資源相比于MOOC系統(tǒng)中的其他部分而言,請求更為頻繁,因此稱對靜態(tài)資源的請求為獲取靜態(tài)內(nèi)容的請求。如果不對靜態(tài)資源進(jìn)行單獨(dú)處理而統(tǒng)一放在邏輯服務(wù)器1031上,會導(dǎo)致系統(tǒng)負(fù)載過大,影響系統(tǒng)響應(yīng)時間。因此可以用緩存、內(nèi)容管理和網(wǎng)絡(luò)流量管理等技術(shù)將靜態(tài)資源存儲在內(nèi)容分發(fā)網(wǎng)絡(luò)1022中,當(dāng)負(fù)載均衡服務(wù)器1021接收到用戶層101發(fā)送的獲取靜態(tài)內(nèi)容的請求時,將該請求發(fā)送給內(nèi)容分發(fā)網(wǎng)絡(luò)1022,實(shí)現(xiàn)用戶的就近訪問,從而大大加快靜態(tài)內(nèi)容的分發(fā)速度。

所述應(yīng)用服務(wù)層103包括所述邏輯服務(wù)器1031和所述視頻服務(wù)器1032;所述邏輯服務(wù)器1031用于接收并處理所述負(fù)載均衡服務(wù)器1021發(fā)送的所述處理邏輯業(yè)務(wù)的請求,所述視頻服務(wù)器1032用于接收并處理所述負(fù)載均衡服務(wù)器1021發(fā)送的所述處理視頻業(yè)務(wù)的請求;

具體地,應(yīng)用服務(wù)層103包括兩大組件,一個是分布式的邏輯服務(wù)器1031,另一個是視頻服務(wù)器1032。邏輯服務(wù)器1031可以有多個,用于接收負(fù)載均衡服務(wù)器1021發(fā)送的處理邏輯業(yè)務(wù)的請求,在MOOC系統(tǒng)中,主要有用戶管理、課程的退和選、課件查看和管理、討論、答疑、作業(yè)、測驗、系統(tǒng)日志等功能,但不局限于上述所列舉,視頻服務(wù)器1032也可以有多個,用于接收并處理負(fù)載均衡服務(wù)器1021發(fā)送的處理視頻業(yè)務(wù)的請求,包括提供視頻觀看與上傳等功能。應(yīng)當(dāng)說明的是,邏輯服務(wù)器1031和視頻服務(wù)器1032是相互獨(dú)立的,因為視頻業(yè)務(wù)和其他功能之間沒有耦合關(guān)系,使用專門的視頻服務(wù)器1032進(jìn)行處理可以降低邏輯服務(wù)器1031的負(fù)載,提高處理效率。同時,設(shè)置視頻服務(wù)器1032可以實(shí)現(xiàn)對視頻的自行管理,提高了視頻的安全性。

所述數(shù)據(jù)服務(wù)層104用于存儲數(shù)據(jù)并處理收到的所述邏輯服務(wù)器1031發(fā)送的所述處理邏輯業(yè)務(wù)的請求、所述視頻服務(wù)器1032發(fā)送的所述處理視頻業(yè)務(wù)的請求和所述內(nèi)容分發(fā)網(wǎng)絡(luò)1022發(fā)送的所述獲取靜態(tài)內(nèi)容的請求。

具體地,數(shù)據(jù)服務(wù)層104用于存儲數(shù)據(jù)和提供查詢功能,接收并處理邏輯服務(wù)器1031發(fā)送的處理邏輯業(yè)務(wù)的請求、視頻服務(wù)器1032發(fā)送的處理視頻業(yè)務(wù)的請求和內(nèi)容分發(fā)網(wǎng)絡(luò)1022發(fā)送的獲取靜態(tài)內(nèi)容的請求,并將數(shù)據(jù)返回給對應(yīng)的邏輯服務(wù)器1031、視頻服務(wù)器1032和內(nèi)容分發(fā)網(wǎng)絡(luò)1022。

本發(fā)明實(shí)施例通過設(shè)置負(fù)載均衡層將用戶發(fā)送的請求根據(jù)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行分配,實(shí)現(xiàn)了動態(tài)請求和靜態(tài)請求的分離處理,同時通過設(shè)置視頻服務(wù)器,提高了視頻資源的安全性,減輕了應(yīng)用服務(wù)層的負(fù)載壓力,并提高了系統(tǒng)的可擴(kuò)展性。

在上述實(shí)施例的基礎(chǔ)上,所述根據(jù)所述系統(tǒng)的當(dāng)前狀態(tài)將所述請求發(fā)送給滿足要求的服務(wù)器,包括:

根據(jù)請求的內(nèi)容類型、網(wǎng)絡(luò)時延、所述服務(wù)器的負(fù)載情況將所述請求發(fā)送給滿足要求的服務(wù)器。

具體地,負(fù)載均衡服務(wù)器1021根據(jù)內(nèi)容類型、網(wǎng)絡(luò)時延、所述服務(wù)器的負(fù)載情況將接收到的請求發(fā)送給滿足要求的服務(wù)器。例如:若負(fù)載均衡服務(wù)器1021接收用戶層101發(fā)送的獲取靜態(tài)內(nèi)容的請求,則將該請求發(fā)送給內(nèi)容分發(fā)網(wǎng)絡(luò)1022,由內(nèi)容分發(fā)網(wǎng)絡(luò)1022根據(jù)該請求將對應(yīng)的數(shù)據(jù)發(fā)送給負(fù)載均衡服務(wù)器1021,由負(fù)載均衡服務(wù)器1021返回給對應(yīng)的用戶層101;若負(fù)載均衡服務(wù)器1021接收到用戶層101發(fā)送的處理邏輯業(yè)務(wù)的請求,則將該請求發(fā)送給能夠處理該請求的、且負(fù)載較小的邏輯服務(wù)器1031;另外,用戶可能來自于各個地方,用戶所處的地理位置不同,其網(wǎng)絡(luò)環(huán)境也不盡相同,因此,針對不用的網(wǎng)絡(luò)環(huán)境的用戶請求,將其分配給不同的服務(wù)器。

圖2為本發(fā)明實(shí)施例提供的基于edX平臺的MOOC系統(tǒng)的工作原理示意圖,如圖2所示,負(fù)載均衡服務(wù)器201接收用戶層發(fā)送的請求,并根據(jù)該請求的內(nèi)容類型、網(wǎng)絡(luò)時延、服務(wù)器的負(fù)載情況等因素將該請求發(fā)送給滿足要求的服務(wù)器202,其中服務(wù)器202中包括內(nèi)容分發(fā)網(wǎng)絡(luò)、邏輯服務(wù)器和視頻服務(wù)器,由該服務(wù)器202從數(shù)據(jù)服務(wù)層203中對應(yīng)的數(shù)據(jù)庫中獲取數(shù)據(jù),并將數(shù)據(jù)通過負(fù)載均衡服務(wù)器201返回給用戶層。應(yīng)當(dāng)說明的是,本發(fā)明實(shí)施例中的負(fù)載均衡服務(wù)器201與圖1中的負(fù)載均衡服務(wù)器1021一致,數(shù)據(jù)服務(wù)層203與圖1中的數(shù)據(jù)服務(wù)層104一致。

本發(fā)明實(shí)施例通過根據(jù)請求的內(nèi)容類型、網(wǎng)絡(luò)時延、所述服務(wù)器的負(fù)載情況將所述請求發(fā)送給滿足要求的服務(wù)器,將不同類型的請求分配給不同的服務(wù)器,降低了系統(tǒng)的負(fù)載能力,將動/靜態(tài)資源分離處理,降低了服務(wù)器的耦合性,提高了系統(tǒng)的可擴(kuò)展性。

在上述實(shí)施例的基礎(chǔ)上,圖3為本發(fā)明實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖,如圖3所示,所述應(yīng)用服務(wù)層103包括:前臺接口層1033和后臺服務(wù)層1034;

所述前臺接口層1033用于接收并處理所述負(fù)載均衡服務(wù)器1021發(fā)送的所述請求;所述后臺服務(wù)層1034用于記錄日志和緩存數(shù)據(jù)。

具體地,應(yīng)用服務(wù)層103在邏輯上又可以分為前臺接口層1033和后臺服務(wù)層1034,其中前臺接口層1033用于接收并處理負(fù)載均衡服務(wù)器1021發(fā)送的請求;后臺服務(wù)層1034用于記錄日志和緩存數(shù)據(jù),因為每個服務(wù)器都有日志記錄,該日志記錄用于記錄用戶何時何地進(jìn)行了何種操作,有利于進(jìn)一步分析用戶的行為;且應(yīng)用服務(wù)層103的前臺接口層1033和后臺服務(wù)層1034之間是相互獨(dú)立的關(guān)系,因此對于邏輯業(yè)務(wù)的部署方式也是靈活多變的,后臺服務(wù)層1034既可以單獨(dú)位于某一或多臺邏輯服務(wù)器1031上,也可以將前臺接口層1033和后臺服務(wù)層1034部署于同一臺服務(wù)器上。一個前臺接口層1033的邏輯業(yè)務(wù)需要對應(yīng)一個后臺服務(wù)層1034,但一個后臺服務(wù)層1034可以服務(wù)多個前臺接口層1033的邏輯業(yè)務(wù)。因此前臺接口層1033和后臺服務(wù)層1034可以根據(jù)邏輯業(yè)務(wù)需求和邏輯服務(wù)器1031的負(fù)載能力對應(yīng)的調(diào)整。

本發(fā)明實(shí)施例通過前臺接口層和后臺服務(wù)層實(shí)現(xiàn)了與負(fù)載均衡層的通信,以及記錄各服務(wù)器的日志,有利于進(jìn)一步分析用戶的行為。

在上述實(shí)施例的基礎(chǔ)上,將各所述處理邏輯業(yè)務(wù)的請求根據(jù)被訪問的頻繁程度分配給所述邏輯服務(wù)器1031。

具體地,邏輯服務(wù)器1031可以為一臺,也可以為多臺,而負(fù)載均衡服務(wù)器1021負(fù)責(zé)將接收到的請求轉(zhuǎn)發(fā)到對應(yīng)的邏輯服務(wù)器1031上,且每個邏輯服務(wù)器1031上可以部署不同的邏輯業(yè)務(wù),使邏輯服務(wù)器1031執(zhí)行對應(yīng)的邏輯業(yè)務(wù),即負(fù)載均衡服務(wù)器1021將接收到的處理邏輯業(yè)務(wù)的請求根據(jù)被訪問的頻繁程度分配給邏輯服務(wù)器1031,例如:某些邏輯業(yè)務(wù)被訪問的比較頻繁,則可以使用多個邏輯服務(wù)器1031來分擔(dān)壓力;某些邏輯業(yè)務(wù)被訪問的較少,則可以將某幾個邏輯業(yè)務(wù)部署在同一個邏輯服務(wù)器1031上。

本發(fā)明實(shí)施例通過將各所述處理邏輯業(yè)務(wù)的請求根據(jù)被訪問的頻繁程度分配給邏輯服務(wù)器,提高了系統(tǒng)的負(fù)載能力,使系統(tǒng)處理速度更快。

在上述實(shí)施例的基礎(chǔ)上,圖4為本發(fā)明另一實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖,如圖4所示,所述前臺接口層,包括:WSGI接口10331和后臺應(yīng)用服務(wù)10332;

所述WSGI接口10331用于接收負(fù)載均衡服務(wù)器1021發(fā)送的請求,并將所述請求發(fā)送至滿足正則匹配的所述邏輯服務(wù)器1031或所述視頻服務(wù)器1032;所述后臺應(yīng)用服務(wù)10332用于執(zhí)行接收到的所述請求。

具體地,WSGI接口10331接收由負(fù)載均衡服務(wù)器1021發(fā)送的請求,并解析該請求的URL路徑,對其進(jìn)行正則匹配,由于每個邏輯服務(wù)器1031或視頻服務(wù)器1032對應(yīng)一個或多個URL路徑的正則表達(dá)式,所以將該請求分配給對應(yīng)的滿足正則匹配的邏輯服務(wù)器1031或視頻服務(wù)器1032來響應(yīng)該請求。后臺應(yīng)用服務(wù)10332在邏輯上用于執(zhí)行接收到的請求。

本發(fā)明實(shí)施例通過前臺接口層的WSGI接口對請求進(jìn)行解析及正則匹配,并將請求發(fā)送給滿足正則匹配的服務(wù)器,實(shí)現(xiàn)了請求的合理分配,從而提高了系統(tǒng)的性能。

在上述實(shí)施例的基礎(chǔ)上,圖5為本發(fā)明又一實(shí)施例提供的應(yīng)用服務(wù)層結(jié)構(gòu)示意圖,如圖5所示,所述后臺服務(wù)層1034包括:日志記錄服務(wù)10341、數(shù)據(jù)服務(wù)10342和緩存服務(wù)10343;

所述日志記錄服務(wù)10341用于記錄所述系統(tǒng)日志;

所述數(shù)據(jù)服務(wù)10342用于所述邏輯服務(wù)器1031和所述視頻服務(wù)器1032對所述數(shù)據(jù)服務(wù)層104進(jìn)行訪問;

所述緩存服務(wù)10343用于存儲系統(tǒng)緩存。

具體地,系統(tǒng)中每個服務(wù)器都會產(chǎn)生日志,因此日志記錄服務(wù)10341用于記錄系統(tǒng)中產(chǎn)生的日志;數(shù)據(jù)服務(wù)10342是單獨(dú)的模塊,在模式-視圖-控制器(Model-View-Controller,簡稱MVC)的架構(gòu)中相當(dāng)于Model層,服務(wù)器需要通過數(shù)據(jù)服務(wù)10342訪問數(shù)據(jù)服務(wù)層104;在MOOC系統(tǒng)中,由于課程內(nèi)容是逐步被教師添加的,各種課程內(nèi)容(課件、視頻、習(xí)題等等)具有強(qiáng)時效性,即在課程內(nèi)容更新后的一段時間內(nèi),訪問會很頻繁,而更早出現(xiàn)的章節(jié)和當(dāng)前更新的內(nèi)容的訪問次數(shù)相差較大,相對而言訪問次數(shù)較少。因此,MOOC系統(tǒng)具有較強(qiáng)的數(shù)據(jù)冷熱分離性質(zhì),通過緩存替換策略,如:LRUO1等可以計算出被教師添加的課程內(nèi)容的“熱”值,并將“熱”值高的課程內(nèi)容存放在緩存層中,當(dāng)有課程內(nèi)容加入時,會將“熱”值最低的課程內(nèi)容從緩存中刪除,從而維持了緩存層的數(shù)據(jù)盡可能“熱”。

圖6為本發(fā)明實(shí)施例提供的應(yīng)用服務(wù)層工作原理示意圖,如圖6所示,應(yīng)用服務(wù)層的工作原理為:WSGI接口接收負(fù)載均衡服務(wù)器發(fā)送的請求,并將該請求中的URL路徑進(jìn)行解析,并對其進(jìn)行正則匹配。由于每個服務(wù)器,如圖6中的服務(wù)器1、服務(wù)器2…服務(wù)器N,對應(yīng)一個或多個URL路徑的正則表達(dá)式,故進(jìn)行匹配后將該請求分配給對應(yīng)的滿足正則匹配的服務(wù)器來響應(yīng)該請求。每個服務(wù)器都會產(chǎn)生日志,日志記錄服務(wù)將記錄服務(wù)器所產(chǎn)生的日志,并將記錄的日志存入緩存層中,并在緩存層中設(shè)置一個閾值,當(dāng)緩存層中記錄的日志內(nèi)存達(dá)到預(yù)設(shè)閾值,則將緩存層中的日志寫入數(shù)據(jù)服務(wù)層中,并將緩存層中的日志清除。服務(wù)器通過數(shù)據(jù)服務(wù)獲取數(shù)據(jù),若服務(wù)器請求的數(shù)據(jù)在緩存層中,則數(shù)據(jù)服務(wù)從緩存層中獲取到對應(yīng)的數(shù)據(jù)返回給服務(wù)器,若緩存層中不存在服務(wù)器所要請求的數(shù)據(jù),則數(shù)據(jù)服務(wù)從數(shù)據(jù)服務(wù)層中獲取數(shù)據(jù),并返回給服務(wù)器。服務(wù)器接收到數(shù)據(jù)后通過WSGI接口返回給負(fù)載均衡服務(wù)器。

本發(fā)明實(shí)施例通過應(yīng)用服務(wù)層將請求進(jìn)行合理的分配給服務(wù)器,降低了服務(wù)器的負(fù)載壓力,提高了系統(tǒng)處理的速度。

在上述實(shí)施例的基礎(chǔ)上,所述數(shù)據(jù)服務(wù)層,包括:

根據(jù)數(shù)據(jù)的形式將數(shù)據(jù)進(jìn)行分類并存儲在相應(yīng)的數(shù)據(jù)庫中。

具體地,在數(shù)據(jù)服務(wù)層104中,按照數(shù)據(jù)的內(nèi)容可以分為三類不同的存儲形式,一類是存儲在關(guān)系型數(shù)據(jù)庫中的符合關(guān)系型數(shù)據(jù)庫范式的可按行存儲的業(yè)務(wù)邏輯數(shù)據(jù),如,學(xué)生信息、學(xué)生注冊的課程等;另一類是樹狀結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù),如,題目、討論等文檔形式;最后一類是以獨(dú)立的無固定范式的文件形式,如,音視頻、課件等。這三類不同的形式的數(shù)據(jù)可以采用不用的服務(wù)器進(jìn)行存儲,從而提高存取速度。

在上述實(shí)施例的基礎(chǔ)上,所述內(nèi)容分發(fā)網(wǎng)絡(luò),還用于:

將所述獲取靜態(tài)內(nèi)容請求對應(yīng)的數(shù)據(jù)發(fā)送至所述負(fù)載均衡服務(wù)器1021,并由所述負(fù)載均衡服務(wù)器1021返回至用戶層101。

具體地,內(nèi)容分發(fā)網(wǎng)絡(luò)1022接收負(fù)載均衡服務(wù)器1021發(fā)送的獲取靜態(tài)內(nèi)容的請求后,由于請求中攜帶的是負(fù)載均衡服務(wù)器1021的地址,因此內(nèi)容分發(fā)網(wǎng)絡(luò)1022將對應(yīng)的數(shù)據(jù)發(fā)送至負(fù)載均衡服務(wù)器1021,由負(fù)載均衡服務(wù)器1021返回給用戶層101。

本發(fā)明實(shí)施例通過由內(nèi)容分發(fā)網(wǎng)絡(luò)接收并處理負(fù)載均衡服務(wù)器發(fā)送的獲取靜態(tài)內(nèi)容的請求,降低了應(yīng)用服務(wù)層中邏輯服務(wù)器的負(fù)載壓力。

在上述實(shí)施例的基礎(chǔ)上,所述邏輯服務(wù)器和所述視頻服務(wù)器,還用于:

接收到負(fù)載均衡服務(wù)器1021發(fā)送的相應(yīng)的所述請求后,從所述數(shù)據(jù)服務(wù)層104獲取相應(yīng)的數(shù)據(jù)并通過所述負(fù)載均衡服務(wù)器1021返回至用戶層101。

具體地,邏輯服務(wù)器1031和視頻服務(wù)器1032接收到負(fù)載均衡服務(wù)器1021發(fā)送的請求后,從數(shù)據(jù)服務(wù)層104獲取相應(yīng)的數(shù)據(jù),并通過負(fù)載均衡服務(wù)器1021返回至用戶層101。在該過程中,負(fù)載均衡服務(wù)器1021對邏輯服務(wù)器1031進(jìn)行反向代理,即用戶只向負(fù)載均衡服務(wù)器1021對應(yīng)的地址發(fā)送請求即可,負(fù)載均衡服務(wù)器1021把請求分配給更多個可處理請求的服務(wù)器,對于用戶設(shè)備而言,這個過程是透明的,因為用戶看來無論哪一臺服務(wù)器處理了這樣的請求,都可以得到想要的結(jié)果,并且用戶無法直接訪問到反向代理背后的服務(wù)器。反向代理的作用即在讓使用者無從發(fā)覺的情況下使用多個服務(wù)器,一方面對訪問進(jìn)行了加速,另一方面保護(hù)了后端的服務(wù)器,并提高了系統(tǒng)的負(fù)載能力,提升用戶體驗。可以理解的是,本發(fā)明實(shí)施例中的服務(wù)器可以是邏輯服務(wù)器1031,也可以是視頻服務(wù)器1032。

在上述各實(shí)施例的基礎(chǔ)上,所述用戶層包括客戶端,用戶通過所述客戶端向負(fù)載均衡層發(fā)送所述請求。

具體地,圖7為本發(fā)明實(shí)施例提供的客戶端結(jié)構(gòu)示意圖,如圖7所示,客戶端用于用戶通過該客戶端向負(fù)載均衡層發(fā)送請求??蛻舳诉\(yùn)行在瀏覽器703內(nèi),由后臺服務(wù)器701傳輸HTML格式的頁面作為響應(yīng),其中后臺服務(wù)器包括負(fù)載均衡層、應(yīng)用服務(wù)層和數(shù)據(jù)服務(wù)層,HTML頁面上帶有該頁面引用的層疊(Cascading Style Sheets,簡稱CSS)樣式表和動態(tài)腳本(JavaScript,簡稱JS),瀏覽器703通過解析HTML以確定從內(nèi)容分發(fā)網(wǎng)絡(luò)中加載哪些CSS樣式和JS腳本,并根據(jù)HTML代碼生成文檔對象模型(Document Object Model,簡稱DOM)。瀏覽器703從內(nèi)容分發(fā)網(wǎng)絡(luò)702加載CSS樣式和JS腳本后,按照加載成功的順序進(jìn)行JS腳本和CSS樣式的解釋過程,根據(jù)CSS樣式解釋的結(jié)果,遍歷修飾DOM模型706進(jìn)行顯示??蛻舳酥蠮S腳本采用Model-View-ViewModel(簡稱MVVM)模型704,將DOM模型706操作、邏輯業(yè)務(wù)和數(shù)據(jù)分離開。用戶在視圖層7043進(jìn)行的操作,會通過視圖-模型層7042反饋到模型層7041,如果模型在操作后需要修改,則模型層7041通過Restful接口向后臺服務(wù)器701發(fā)送異步請求,并得到異步響應(yīng)之后修改模型的內(nèi)容,再通過視圖-模型層7042自動將修改后反饋到視圖層7043。視圖層7043通過操作DOM模型706和CSS樣式表705以達(dá)到和用戶交互的目的。這里JS腳本可以基于AngularJS、Backbone等開源MVVM架構(gòu)進(jìn)行開發(fā),但不限于上述所列,CSS樣式可基于響應(yīng)布局等框架如Bootstrap等進(jìn)行開發(fā),以自動適應(yīng)各種PC、平板、手機(jī)等設(shè)備。

由于設(shè)備性能和網(wǎng)絡(luò)帶寬的提升,當(dāng)今網(wǎng)頁頁面的復(fù)雜度急劇上升,需要的開發(fā)量也越來越大。傳統(tǒng)的JavaScript、CSS、HTML語言等由于語言特性問題,導(dǎo)致很多軟件工程問題無法解決,例如JavaScript不直接支持模塊化,不直接支持線程同步,異步調(diào)用容易陷入回調(diào)陷阱等特性,使用其寫成的代碼的可維護(hù)性較差。CSS語言也存在無法模塊化等特點(diǎn)。解決這一問題可采用其他支持更復(fù)雜語言特性的中間語言編寫后轉(zhuǎn)換回JS腳本和CSS語言,例如coffeescript、TypeScript、最新的EcmaScript 6標(biāo)準(zhǔn)、SASS、LESS等語言。它們的共同特點(diǎn)是代碼易維護(hù)、可提高開發(fā)效率。值得一提的是,為了減少CDN的請求次數(shù),可將各JS腳本文件合并為同一個文件,可提高加載速度。這樣做可以更快的原因是一般JS腳本和CSS語言文件的傳輸時間很短,此時服務(wù)器的響應(yīng)時間遠(yuǎn)多于傳輸時間。故一般而言,為了保證加載速度,并保護(hù)自身代碼不會隨意的被用戶查看、修改,會對線上版本的JS腳本、CSS語言文件進(jìn)行混淆、壓縮和合并至同一文件等處理。

圖8為本發(fā)明另一實(shí)施例提供的基于edX平臺的MOOC系統(tǒng)結(jié)構(gòu)示意圖,如圖8所示,系統(tǒng)的整個工作原理如下:

用戶通過用戶層801中的PC端、平板、手機(jī)等設(shè)備在瀏覽器上操作,通過用戶層向負(fù)載均衡服務(wù)器802發(fā)送請求,負(fù)載均衡服務(wù)器根據(jù)用戶發(fā)送的請求類型、網(wǎng)絡(luò)時延、服務(wù)器負(fù)載情況對該請求進(jìn)行重定向,若用戶發(fā)送的是獲取靜態(tài)內(nèi)容的請求,則負(fù)載均衡服務(wù)器802將該請求重定向到內(nèi)容分發(fā)網(wǎng)絡(luò)803,負(fù)載均衡服務(wù)器802和內(nèi)容分發(fā)網(wǎng)絡(luò)803構(gòu)成了負(fù)載均衡層,由內(nèi)容分發(fā)網(wǎng)絡(luò)803將對應(yīng)的數(shù)據(jù)返回給負(fù)載均衡服務(wù)器802由負(fù)載均衡服務(wù)器802將數(shù)據(jù)返回給用戶層801對應(yīng)的客戶端;若用戶通過用戶層801向負(fù)載均衡服務(wù)器802發(fā)送的是處理邏輯業(yè)務(wù)的請求,負(fù)載均衡服務(wù)器802將接收到的該請求重定向到邏輯服務(wù)器804上,由于邏輯服務(wù)器804有多個,且每個邏輯服務(wù)器804上部署的邏輯業(yè)務(wù)可能不同,因此,負(fù)載均衡服務(wù)器802將該請求重定向到能夠處理的、且負(fù)載較小的邏輯服務(wù)器804上,此時,負(fù)載均衡服務(wù)器802還有一個反向代理的功能,即可以將該請求發(fā)送給多個可處理的邏輯服務(wù)器804,對于用戶設(shè)備而言,只是得到最終需要的結(jié)果,并不知道是哪個邏輯服務(wù)器804執(zhí)行的,因為用戶無法訪問到這些邏輯服務(wù)器804,邏輯服務(wù)器804接收到該請求后,從數(shù)據(jù)服務(wù)層806中獲取對應(yīng)的數(shù)據(jù),并返回給負(fù)載均衡服務(wù)器802,由負(fù)載均衡服務(wù)器802將數(shù)據(jù)返回給用戶層801對應(yīng)的客戶端,且在數(shù)據(jù)服務(wù)層中根據(jù)數(shù)據(jù)的不同形式將數(shù)據(jù)分為了三類,并分別存儲在不同的數(shù)據(jù)庫中,一類是關(guān)系型數(shù)據(jù)庫,另一類是結(jié)構(gòu)型數(shù)據(jù)庫,再一類是無固定范式的文件數(shù)據(jù)庫;對于用戶發(fā)送的處理視頻的請求與處理邏輯業(yè)務(wù)的請求大致相同,只是負(fù)載均衡服務(wù)器802將請求發(fā)送給對應(yīng)的視頻服務(wù)器805,此處不再贅述,邏輯服務(wù)器804和視頻服務(wù)器805構(gòu)成應(yīng)用服務(wù)層。

本發(fā)明實(shí)施例通過設(shè)置負(fù)載均衡層將用戶發(fā)送的請求根據(jù)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行分配,實(shí)現(xiàn)了動態(tài)請求和靜態(tài)請求的分離處理,同時通過設(shè)置視頻服務(wù)器,提高了視頻資源的安全性,減輕了應(yīng)用服務(wù)層的負(fù)載壓力,并提高了系統(tǒng)的可擴(kuò)展性。

以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實(shí)施例或者實(shí)施例的某些部分所述的方法。

最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
竹北市| 贵德县| 梁平县| 肃南| 池州市| 南召县| 泰州市| 鹤岗市| 武威市| 襄城县| 新源县| 沧源| 高青县| 新和县| 长垣县| 山阴县| 成武县| 嵩明县| 全南县| 农安县| 苗栗市| 黄冈市| 明星| 泾阳县| 龙里县| 绥滨县| 瑞昌市| 安远县| 南乐县| 舟山市| 全椒县| 宾阳县| 轮台县| 成都市| 兴化市| 九江市| 鄂伦春自治旗| 太仆寺旗| 安溪县| 正蓝旗| 吕梁市|