两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng)的制作方法

文檔序號(hào):6385411閱讀:204來(lái)源:國(guó)知局
專利名稱:一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及Naplet領(lǐng)域,特別涉及一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng)。
背景技術(shù)
目前,在軟件開(kāi)發(fā)過(guò)程中,設(shè)置開(kāi)發(fā)或測(cè)試環(huán)境是必不可少的任務(wù)獲取并部署服務(wù)器;安裝操作系統(tǒng)、運(yùn)行時(shí)環(huán)境、源代碼控制存儲(chǔ)庫(kù)和必需的一些中間件,配置操作系統(tǒng)、運(yùn)行時(shí)環(huán)境和中間件;轉(zhuǎn)移或復(fù)制代碼;測(cè)試代碼運(yùn)行是否正常運(yùn)行。隨著軟件復(fù)雜度的增加,系統(tǒng)運(yùn)維的成本逐漸增高,構(gòu)建應(yīng)用運(yùn)行環(huán)境,尤其是構(gòu)建分布式程序變得非常困難?,F(xiàn)有應(yīng)用程序IDE (集成開(kāi)發(fā)環(huán)境),如微軟的Visual Studio, Sun的Netbean等,在開(kāi)發(fā)傳統(tǒng)的客戶/服務(wù)器(C/S)模型程序發(fā)揮了很大的作用,但是隨著分布式計(jì)算的發(fā)展,傳承至今的設(shè)計(jì)原則不再適用,比如應(yīng)用特點(diǎn)和負(fù)載模型、開(kāi)發(fā)模式、評(píng)價(jià)體系等有了很多的變化,這就導(dǎo)致開(kāi)發(fā)應(yīng)用開(kāi)發(fā)與實(shí)際運(yùn)營(yíng)中出現(xiàn)了很大的間隙。開(kāi)發(fā)工具不能滿足分布式程序的靈活需求。Eclipse是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái)進(jìn)行Java語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如C++和Python的開(kāi)發(fā)工具。就其本身而言它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境,通過(guò)插件能夠很好的解決開(kāi)發(fā)環(huán)境的構(gòu)建與配置問(wèn)題,但是不能實(shí)現(xiàn)程序運(yùn)行環(huán)境的快速構(gòu)建。應(yīng)用環(huán)境的構(gòu)建,分布式程序的部署的難度已經(jīng)超出了手工和簡(jiǎn)單部署工具能夠承受的范圍,應(yīng)用程序的運(yùn)維成本逐年上升,需要一種可擴(kuò)展的開(kāi)發(fā)管理系統(tǒng),實(shí)現(xiàn)從分布式環(huán)境構(gòu)建、軟件開(kāi)發(fā)、代碼版本控制、代碼編譯到程序運(yùn)行的統(tǒng)一調(diào)控。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種能實(shí)現(xiàn)程序開(kāi)發(fā)、環(huán)境構(gòu)建、程序運(yùn)營(yíng)一體化、提高程序的開(kāi)發(fā)與部署的效率、減少程序環(huán)境構(gòu)建成本的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng)。為達(dá)到上述目的,本發(fā)明提供如下的技術(shù)方案一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體;代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、文件存儲(chǔ)及版本控制;編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互。
進(jìn)一步的,所述NVM的動(dòng)作包括啟動(dòng)、暫停、喚醒和終止。進(jìn)一步的,所述NVM的狀態(tài)包括待定狀態(tài)、準(zhǔn)備狀態(tài)、運(yùn)行狀態(tài)、掛起狀態(tài)和異常狀態(tài)。進(jìn)一步的,所述NVM管理模塊包括節(jié)點(diǎn)守護(hù)進(jìn)程子模塊和中心控制模塊,所述中心控制模塊向所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊發(fā)送NVM動(dòng)作;所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊根據(jù)接收到的NVM動(dòng)作進(jìn)行相應(yīng)的操作,并監(jiān)測(cè)NVM的狀態(tài),且將監(jiān)測(cè)結(jié)果實(shí)時(shí)報(bào)告給中心控制子模塊;所述中心控制子模塊根據(jù)所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊所反饋的監(jiān)測(cè)結(jié)果對(duì)NVM進(jìn)行管理。進(jìn)一步的,所述代碼管理模塊包括代碼編輯子模塊,以圖形化的web界面形式,供用戶進(jìn)行代碼的編輯;文件存儲(chǔ)子模塊,以網(wǎng)絡(luò)文件系統(tǒng)的形式存儲(chǔ)所述代碼編輯子模塊內(nèi)所編輯的代碼;版本控制子模塊,采用SVN版本控制用戶所編輯的代碼的版本。進(jìn)一步的,所述編譯和運(yùn)行模塊包括編譯子模塊,用于對(duì)所述代碼管理模塊內(nèi)的代碼進(jìn)行編譯;運(yùn)行監(jiān)控子模塊,用于監(jiān)控代碼編譯和運(yùn)行的實(shí)時(shí)信息。進(jìn)一步的,所述程序部署模塊包括人工選擇路徑部署方式,用戶手工選擇需要執(zhí)行部署程序的路徑;自動(dòng)選擇路徑部署方式,系統(tǒng)根據(jù)用戶的需求及相關(guān)參數(shù)自動(dòng)選擇需要執(zhí)行部署程序的路徑。與現(xiàn)有技術(shù)相比,本發(fā)明提供了一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括數(shù)據(jù)庫(kù),還包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體;代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、文件存儲(chǔ)及版本控制;編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互;SVN代碼版本庫(kù),用于存儲(chǔ)并更新Naplet應(yīng)用程序的代碼。本發(fā)明實(shí)現(xiàn)了從分布式環(huán)境構(gòu)建、軟件開(kāi)發(fā)、代碼版本控制、代碼編譯到程序運(yùn)行的統(tǒng)一調(diào)控。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例所提供的系統(tǒng)總體結(jié)構(gòu)框圖。圖2為本發(fā)明實(shí)施例所提供的NVM各狀態(tài)之間轉(zhuǎn)換流程圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例和附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。需要說(shuō)明的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例需要說(shuō)明的是,NVM(Naplet Virtual Machine,Naplet 虛擬機(jī))是 Naplet 應(yīng)用的運(yùn)行載體,NVM是靜止地存在于HOST (主機(jī)),它對(duì)外提供尋址(Lookup/discovery)服務(wù)、消息通信(Messaging)服務(wù)和傳送(Delivery)服務(wù);作為底層資源的訪問(wèn)接口,它可以作為與本地用戶交互的接口出現(xiàn)。為了相互區(qū)別,不同的NVM具有全局唯一的標(biāo)志符(GlobalUnique Identifier,⑶ID)。不同的 NVM 命名規(guī)則HOSTNAME:PORT/IDENTIFIER。其中,HOSTNAME表示主機(jī)名;P0RT —般是2099 ;IDENTIFIER表示Naplet虛擬機(jī)在一臺(tái)主機(jī)的唯一標(biāo)識(shí)。這樣,NVM之間采用唯一的標(biāo)識(shí)符,多個(gè)NVM可以運(yùn)行在同一個(gè)主機(jī)上,滿足虛擬化要求。如圖1所述,本實(shí)施例提供的一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體;所述NVM管理模塊采用基于檢查點(diǎn)的容錯(cuò)模型,在固定時(shí)間周期內(nèi)設(shè)立檢查點(diǎn),一旦出現(xiàn)故障,立即回滾到最近的檢查點(diǎn)繼續(xù)運(yùn)行,保證在網(wǎng)絡(luò)失敗的情況下能夠給出正常運(yùn)行應(yīng)用;向其他模塊提供Naplet虛擬機(jī)訪問(wèn)與操縱的管理接口,所述管理接口包括size ()、get (Objectkey)、start (Objectkey)、suspend (Objectkey)、resume (Objectkey)、terminate(Object key)、getNVMList()。所述NVM管理模塊由節(jié)點(diǎn)守護(hù)進(jìn)程子模塊和中心控制子模塊兩部分組成,它負(fù)責(zé)管理和維護(hù)NVM的相關(guān)動(dòng)作和狀態(tài)。所述中心控制模塊向所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊發(fā)送NVM動(dòng)作;所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊根據(jù)接收到的NVM動(dòng)作進(jìn)行相應(yīng)的操作,并監(jiān)測(cè)NVM的狀態(tài),且將監(jiān)測(cè)結(jié)果實(shí)時(shí)報(bào)告給中心控制子模塊;所述中心控制子模塊根據(jù)所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊所反饋的監(jiān)測(cè)結(jié)果對(duì)NVM進(jìn)行管理。所述NVM的相關(guān)動(dòng)作包括啟動(dòng)、暫停、喚醒和終止。如圖2所示,所述NVM的狀態(tài)包括一、待定狀態(tài)(pending):系統(tǒng)已經(jīng)收到NVM的啟動(dòng)動(dòng)作命令和參數(shù)(比如NVM標(biāo)識(shí)符),但是所述啟動(dòng)動(dòng)作命令和參數(shù)還沒(méi)有下發(fā)到目標(biāo)主機(jī)節(jié)點(diǎn)上的節(jié)點(diǎn)守護(hù)進(jìn)程子模塊,此時(shí)Naplet虛擬機(jī)(即NVM)不能運(yùn)行應(yīng)用程序;二、準(zhǔn)備狀態(tài)(ready):所述啟動(dòng)動(dòng)作命令和參數(shù)已經(jīng)發(fā)送至目標(biāo)主機(jī)節(jié)點(diǎn)上的節(jié)點(diǎn)守護(hù)進(jìn)程子模塊,但是沒(méi)有收到主機(jī)節(jié)點(diǎn)NVM啟動(dòng)動(dòng)作命令的回復(fù)報(bào)告信息,此時(shí)Naplet虛擬機(jī)還不能運(yùn)行應(yīng)用程序;三、運(yùn)行狀態(tài)(running) =Naplet虛擬機(jī)正常運(yùn)行,可以運(yùn)行Naplet應(yīng)用程序;四、掛起狀態(tài)(suspended):等待喚醒操作,此時(shí)不能運(yùn)行程序;當(dāng)處于運(yùn)行狀態(tài)時(shí),用戶如果進(jìn)行掛起操作,Naplet虛擬機(jī)則進(jìn)入掛起狀態(tài),當(dāng)處于此狀態(tài)時(shí),Naplet虛擬機(jī)進(jìn)行返回操作,重新回到running狀態(tài);五、異常狀態(tài)(Exception):節(jié)點(diǎn)守護(hù)進(jìn)程子模塊通過(guò)輪詢檢測(cè)NVM的狀態(tài)時(shí),如果發(fā)現(xiàn)NVM不能正常發(fā)送回執(zhí)確認(rèn)信息,該狀態(tài)可能是網(wǎng)絡(luò)擁塞或者主機(jī)宕機(jī)等情況引起。上述對(duì)構(gòu)成NVM管理模塊的節(jié)點(diǎn)守護(hù)進(jìn)程子模塊和中心控制子模塊做了簡(jiǎn)單的敘述,下面分別對(duì)所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊和中心控制子模塊進(jìn)行詳細(xì)的分析節(jié)點(diǎn)守護(hù)進(jìn)程子模塊,其運(yùn)行在各個(gè)主機(jī)節(jié)點(diǎn)中,主要功能如下一、負(fù)責(zé)接受中心控制子模塊發(fā)出的NVM操作命令NVM操作命令對(duì)應(yīng)于NVM的相關(guān)動(dòng)作包括啟動(dòng)、暫停、喚醒和終止,各個(gè)命令采用RPC (Remote Procedure CallProtocol,遠(yuǎn)程過(guò)程調(diào)用協(xié)議)的形式進(jìn)行封裝,RPC操作接口均以NVM的URN為參數(shù),同時(shí),節(jié)點(diǎn)守護(hù)進(jìn)程子模塊進(jìn)行相應(yīng)的操作啟動(dòng)、暫停、喚醒或終止NVM,實(shí)現(xiàn)NVM的快速構(gòu)建,為Naplet應(yīng)用程序提供運(yùn)行環(huán)境;二、實(shí)時(shí)監(jiān)測(cè),監(jiān)測(cè)NVM進(jìn)程的狀態(tài)和網(wǎng)絡(luò)狀態(tài),通過(guò)Naplet監(jiān)控接口測(cè)試代理是否正常運(yùn)行,若發(fā)現(xiàn)錯(cuò)誤或者測(cè)試請(qǐng)求響應(yīng)超時(shí),則節(jié)點(diǎn)守護(hù)進(jìn)程子模塊及時(shí)將監(jiān)控信息報(bào)告給中心控制子模塊,進(jìn)行檢查點(diǎn)恢復(fù),若不能恢復(fù),中心控制子模塊則從哈希表中刪除對(duì)應(yīng)key的NVM項(xiàng);三、安全管理和訪問(wèn)控制,進(jìn)行拒絕服務(wù)攻擊(Dos )、不正常和惡意的代理監(jiān)測(cè),及時(shí)報(bào)警;采用認(rèn)證和制定安全策略的方式,進(jìn)行訪問(wèn)的控制。中心控制子模塊,是NVM管理的核心模塊,管理集群所有的NVM,以哈希表鍵-值的形式存儲(chǔ)NVM。其中,鍵(key):URN ;值(value):NVM Object。其中,URN是NVM全局唯一標(biāo)志符;NVM ObjectCNVM對(duì)象)是對(duì)NVM的抽象表示,上述NVM的狀態(tài)封裝在NVM Object中;按照用戶的操作實(shí)時(shí)發(fā)送啟動(dòng)、暫停、喚醒或終止命令到各節(jié)點(diǎn)守護(hù)進(jìn)程子模塊,各個(gè)命令采用RPC的形式進(jìn)行封裝。根據(jù)NVM運(yùn)行的實(shí)時(shí)狀態(tài),所述中心控制子模塊實(shí)時(shí)增刪或者修改哈希表的項(xiàng),并在關(guān)系型數(shù)據(jù)庫(kù)對(duì)用戶操作日志和NVM狀態(tài)信息進(jìn)行持久化存儲(chǔ)。為使本實(shí)施例更易理 解,下面舉一實(shí)例對(duì)NVM管理模塊進(jìn)行說(shuō)明用戶發(fā)出NVM操作命令(啟動(dòng)、暫停、喚醒和終止),以啟動(dòng)為例用戶發(fā)出啟動(dòng)NVM的動(dòng)作命令,URN=xl00. cloud, siat. cn:2099/nvml,其中,web服務(wù)器以URN為參數(shù),構(gòu)造狀態(tài)為Pending的NVM對(duì)象,調(diào)用中心控制子模塊中的NVM管理接口 start (Object)5NVM管理接口開(kāi)始工作一、從策略庫(kù)檢查用戶權(quán)限,如果擁有該權(quán)限,所述中心控制子模塊則將哈希表中添加鍵為xlOO. cloud, siat. cn:2099/nvml,值為接受到的Object對(duì)象(狀態(tài)改為ready)的項(xiàng),進(jìn)而轉(zhuǎn)向二 ;如果用戶不具備該權(quán)限,貝Ij直接向用戶界面返回No PermissionException ;二、所述中心控制子模塊向xlOO. cloud, siat. cn的節(jié)點(diǎn)守護(hù)進(jìn)程子模塊發(fā)出遠(yuǎn)程調(diào)用命令;三、當(dāng)xlOO. cloud, siat. cn的節(jié)點(diǎn)守護(hù)進(jìn)程子模塊收到啟動(dòng)nvml的命令時(shí),啟動(dòng)nvml,當(dāng)nvml啟動(dòng)成功之后,節(jié)點(diǎn)將觸發(fā)另外一個(gè)RPC,向中心控制子模塊說(shuō)明啟動(dòng)成功的狀態(tài),當(dāng)中心控制子模塊收到此RPC時(shí),將修改鍵值為xl00. cloud, siat. cn: 2099/nvml的項(xiàng),將其狀態(tài)改為running。代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、文件存儲(chǔ)及版本控制;將復(fù)雜的過(guò)程以簡(jiǎn)單的圖形化web界面展示給用戶。所述代碼管理模塊進(jìn)一步包括
代碼編輯子模塊,以圖形化的web界面形式,供用戶進(jìn)行代碼的編輯;作為優(yōu)選,在本實(shí)施例中,所述代碼編輯子模塊是具有高度互動(dòng)性的RIA (Rich InternetApplications,富互聯(lián)網(wǎng)應(yīng)用)類型的客戶端,具有豐富的用戶體驗(yàn),比如代碼關(guān)鍵字高亮、折疊顯示代碼;以文件樹(shù)的形式排列代碼,顯示代碼與庫(kù)文件直接的依賴關(guān)系,所述代碼編輯子模塊內(nèi)的所有功能類似桌面集成開(kāi)發(fā)環(huán)境,方便用戶的實(shí)際操作;文件存儲(chǔ)子模塊,存儲(chǔ)所述代碼編輯子模塊內(nèi)所編輯的代碼,在分布式環(huán)境下,采用NFS (Network File System,網(wǎng)絡(luò)文件系統(tǒng)),使各個(gè)主機(jī)節(jié)點(diǎn)像訪問(wèn)本地計(jì)算機(jī)一樣訪問(wèn)遠(yuǎn)程代碼;同時(shí),所述文件存儲(chǔ)子模塊存儲(chǔ)的代碼具有時(shí)新性,只存儲(chǔ)用戶代碼的最新版本,當(dāng)用戶向版本庫(kù)發(fā)布新的版本時(shí),將自動(dòng)將新版本的代碼替換現(xiàn)有版本的代碼;版本控制子模塊,采用SVN版本控制,通過(guò)配置SVN安全遠(yuǎn)程客戶端、SVN證書(shū)管理模塊、SVN智能帶寬管理模塊和SVN網(wǎng)頁(yè)客戶端,為用戶提供安全可靠且對(duì)用戶透明的通訊加密的代碼版本控制。編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;所述編譯和運(yùn)行模塊進(jìn)一步包括編譯子模塊,用于對(duì)所述代碼管理模塊內(nèi)的代碼進(jìn)行編譯;運(yùn)行監(jiān)控子模塊,用于監(jiān)控代碼編譯和運(yùn)行的實(shí)時(shí)信息。在默認(rèn)情況下,當(dāng)用戶首次提交代碼版本時(shí),系統(tǒng)編譯代碼之后,會(huì)保存編譯后的資源,直到用戶對(duì)項(xiàng)目提交新的代碼版本后,系統(tǒng)才會(huì)識(shí)別代碼是否更改,并重新編譯應(yīng)用程序受影響的資源,并清除多余的資源文件,以最少的編譯處理開(kāi)銷,快速的開(kāi)發(fā)應(yīng)用。所述編譯子模塊采用GNU makefile的方式對(duì)用戶代碼進(jìn)行編譯,系統(tǒng)通過(guò)模板的方式來(lái)生成用戶工程的 Makefile。所述模板由 classpath、compiIer_cmd、run_cmd、cIear_cmd四部分組成。classPath負(fù)責(zé)加載Naplet系統(tǒng)庫(kù)和用戶加入的第三方庫(kù)(比如log4j),其中的$ (NVM_LST)需要在應(yīng)用部署時(shí)替換成用戶選擇的NVM的標(biāo)志符,多個(gè)NVM標(biāo)志符之前采用空格分隔;Compiler_cmd,負(fù)責(zé)編譯用戶的RMI (Remote Method Invocation,遠(yuǎn)程方法調(diào)用)代碼和其他代碼,RMI代碼采用rmic編譯器編譯,生成代碼的stub (根),其他采用普通的javac命令;run_cmd負(fù)責(zé)應(yīng)用程序在分布式環(huán)境下運(yùn)行;clean_cmd負(fù)責(zé)清除過(guò)期的編譯后的文件。所述編譯子模塊和所述運(yùn)行監(jiān)控子模塊對(duì)應(yīng)一系列動(dòng)作命令的執(zhí)行,用戶需要實(shí)時(shí)遠(yuǎn)程監(jiān)控編譯和運(yùn)行的實(shí)時(shí)信息,包括正常、錯(cuò)誤和警告等信息,這些信息來(lái)源于標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出。標(biāo)準(zhǔn)輸出指的是命令執(zhí)行所回傳的正確的信息,而標(biāo)準(zhǔn)錯(cuò)誤輸出可理解為命令執(zhí)行失敗后,所回傳的錯(cuò)誤信息。為了能夠?qū)崟r(shí)收集這些信息,系統(tǒng)采用數(shù)據(jù)流重定向和消息隊(duì)列的方式,本系統(tǒng)以IOOrns作為時(shí)間間隔,將每一個(gè)時(shí)間間隔內(nèi)的信息封裝為一個(gè)消息實(shí)體,將這些信息分別發(fā)送到系統(tǒng)的兩個(gè)線程編譯信息收集線程和運(yùn)行監(jiān)控主線程。這兩個(gè)線程工作原理類似一、編譯與運(yùn)行模塊將實(shí)時(shí)信息流重定向,作為消息隊(duì)列的發(fā)送實(shí)體(交換器);二、Web服務(wù)器中的兩個(gè)線程作為消息的消費(fèi)者,當(dāng)接受到新的消息時(shí),將觸發(fā)服務(wù)器推事件,推服務(wù)將前臺(tái)推送新的消息實(shí)體;三、瀏覽器的推客戶端將接受消息實(shí)體,并進(jìn)行D0M(DocumentObject Model,文檔對(duì)象模型)更新。程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述程序部署模塊進(jìn)一步包括人工選擇路徑部署方式,用戶手工選擇需要執(zhí)行部署程序的路徑(即NVM);自動(dòng)選擇路徑部署方式,所述程序部署模塊根據(jù)用戶的需求及相關(guān)參數(shù)自動(dòng)選擇需要執(zhí)行部署程序的路徑,從用戶需求和主機(jī)節(jié)點(diǎn)的實(shí)時(shí)參數(shù)出發(fā),然后作出最優(yōu)化決策,用戶只需選擇所需求的NVM數(shù)量,比如NVM是否是running狀態(tài),主機(jī)的負(fù)載情況和資源利用率,其算法思想步驟如下,用戶提出部署請(qǐng)求,采用數(shù)組對(duì)每個(gè)NVM按照所在主機(jī)的負(fù)載按遞減排序,進(jìn)而選擇數(shù)組前面的元素,從而得到一個(gè)最佳的方案。本實(shí)施例通過(guò)設(shè)置NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊,實(shí)現(xiàn)了從分布式環(huán)境構(gòu)建、軟件開(kāi)發(fā)、代碼版本控制、代碼編譯到程序運(yùn)行的統(tǒng)一調(diào)控。實(shí)現(xiàn)應(yīng)用運(yùn)行環(huán)境自動(dòng)化部署,降低了環(huán)境搭建時(shí)間,避免手工配置的錯(cuò)誤,還可以根據(jù)應(yīng)用進(jìn)行彈性擴(kuò)展和優(yōu)化,所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互,其在實(shí)際工作當(dāng)中的具體交互機(jī)制如下用戶通過(guò)NVM管理模塊,調(diào)用NVM操作管理接口,并向前臺(tái)(即web界面)返回所有NVM列表;中心控制子模塊向各節(jié)點(diǎn)發(fā)出NVM操作命令,各節(jié)點(diǎn)守護(hù)進(jìn)程子模塊進(jìn)行相應(yīng)動(dòng)作,并向中心控制子模塊返回相應(yīng)狀態(tài)信息;用戶通過(guò)代碼管理模塊,調(diào)用代碼管理接口,進(jìn)行代碼版本控制以及源代碼的遠(yuǎn)程傳輸;代碼管理模塊調(diào)用SVN編程接口,進(jìn)行SVN版本控制;用戶通過(guò)編譯和運(yùn)行模塊,向中心控制子模塊發(fā)出編譯和運(yùn)行應(yīng)用程序的命令,編譯與運(yùn)行的實(shí)時(shí)信息通過(guò)服務(wù)器推技術(shù)實(shí)時(shí)向web界面推送;各節(jié)點(diǎn)守護(hù)進(jìn)程子模塊通過(guò)消息隊(duì)列向編譯和運(yùn)行模塊推送實(shí)時(shí)信息;通過(guò)依賴注射將所有的方法調(diào)用轉(zhuǎn)換為日志,并將其進(jìn)行關(guān)系型數(shù)據(jù)庫(kù)持久化。本實(shí)施例提供了一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括數(shù)據(jù)庫(kù),還包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體;代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、文件存儲(chǔ)及版本控制;編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互;SVN代碼版本庫(kù),用于存儲(chǔ)并更新Naplet應(yīng)用程序的代碼。本實(shí)施例實(shí)現(xiàn)了從分布式環(huán)境構(gòu)建、軟件開(kāi)發(fā)、代碼版本控制、代碼編譯到程序運(yùn)行的統(tǒng)一調(diào)控,實(shí)現(xiàn)應(yīng)用運(yùn)行環(huán)境自動(dòng)化部署,降低了環(huán)境搭建時(shí)間,避免手工配置的錯(cuò)誤,還可以根據(jù)應(yīng)用進(jìn)行彈性擴(kuò)展和優(yōu)化。以上所述實(shí)施例僅表達(dá)了本發(fā)明的一種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括數(shù)據(jù)庫(kù),其特征在于,還包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體; 代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、 文件存儲(chǔ)及版本控制;編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互。
2.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于,還包括SVN 代碼版本庫(kù),用于存儲(chǔ)并更新Naplet應(yīng)用程序的代碼。
3.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于所述NVM的動(dòng)作包括啟動(dòng)、暫停、喚醒和終止。
4.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于所述NVM的狀態(tài)包括待定狀態(tài)、準(zhǔn)備狀態(tài)、運(yùn)行狀態(tài)、掛起狀態(tài)和異常狀態(tài)。
5.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于,所述NVM管理模塊包括節(jié)點(diǎn)守護(hù)進(jìn)程子模塊和中心控制子模塊,所述中心控制子模塊向所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊發(fā)送NVM動(dòng)作;所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊根據(jù)接收到的NVM動(dòng)作進(jìn)行相應(yīng)的操作,并監(jiān)測(cè)NVM的狀態(tài),且將監(jiān)測(cè)結(jié)果實(shí)時(shí)報(bào)告給中心控制子模塊;所述中心控制子模塊根據(jù)所述節(jié)點(diǎn)守護(hù)進(jìn)程子模塊所反饋的監(jiān)測(cè)結(jié)果對(duì)NVM進(jìn)行管理。
6.根據(jù)權(quán)利要求2所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于,所述代碼管理模塊包括代碼編輯子模塊,以圖形化的web界面形式,供用戶進(jìn)行代碼的編輯;文件存儲(chǔ)子模塊,以網(wǎng)絡(luò)文件系統(tǒng)的形式存儲(chǔ)所述代碼編輯子模塊內(nèi)所編輯的代碼; 版本控制子模塊,采用SVN版本控制用戶所編輯的代碼的版本。
7.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于,所述編譯和運(yùn)行模塊包括編譯子模塊,用于對(duì)所述代碼管理模塊內(nèi)的代碼進(jìn)行編譯;運(yùn)行監(jiān)控子模塊,用于監(jiān)控代碼編譯和運(yùn)行的實(shí)時(shí)信息。
8.根據(jù)權(quán)利要求1所述的基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),其特征在于,所述程序部署模塊包括人工選擇路徑部署方式,用戶手工選擇需要執(zhí)行部署程序的路徑;自動(dòng)選擇路徑部署方式,系統(tǒng)根據(jù)用戶的需求及相關(guān)參數(shù)自動(dòng)選擇需要執(zhí)行部署程序的路徑。
全文摘要
本發(fā)明提供了一種基于Naplet的應(yīng)用開(kāi)發(fā)管理系統(tǒng),包括數(shù)據(jù)庫(kù),還包括NVM管理模塊,用于管理和維護(hù)NVM的動(dòng)作和狀態(tài),為Naplet應(yīng)用程序提供運(yùn)行載體;代碼管理模塊,用于對(duì)Naplet應(yīng)用程序的代碼進(jìn)行統(tǒng)一管理,包括代碼的編輯環(huán)境、文件存儲(chǔ)及版本控制;編譯和運(yùn)行模塊,用于對(duì)代碼進(jìn)行編譯和運(yùn)行監(jiān)控;程序部署模塊,用于對(duì)Naplet應(yīng)用程序進(jìn)行部署;所述NVM管理模塊、代碼管理模塊、編譯和運(yùn)行模塊及程序部署模塊之間以遠(yuǎn)程過(guò)程調(diào)用的形式進(jìn)行交互;SVN代碼版本庫(kù),用于存儲(chǔ)并更新Naplet應(yīng)用程序的代碼。實(shí)現(xiàn)了從分布式環(huán)境構(gòu)建、軟件開(kāi)發(fā)、代碼版本控制、代碼編譯到程序運(yùn)行的統(tǒng)一調(diào)控。
文檔編號(hào)G06F9/44GK103049268SQ20121057215
公開(kāi)日2013年4月17日 申請(qǐng)日期2012年12月25日 優(yōu)先權(quán)日2012年12月25日
發(fā)明者須成忠, 李宇飛, 洪爵, 杜文龍 申請(qǐng)人:中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿坝县| 老河口市| 双牌县| 大石桥市| 长泰县| 页游| 讷河市| 平乐县| 陆川县| 揭西县| 金塔县| 新宾| 武乡县| 奉新县| 韶山市| 开远市| 图木舒克市| 垦利县| 中卫市| 祁连县| 太谷县| 呼玛县| 象山县| 托克逊县| 通海县| 高州市| 岢岚县| 安徽省| 保靖县| 博湖县| 蒲江县| 兴化市| 万载县| 聂拉木县| 福泉市| 海原县| 射阳县| 三门峡市| 侯马市| 泗阳县| 昭平县|