亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Neutron的新增REST插件方法

文檔序號:9865221閱讀:197來源:國知局
一種基于Neutron的新增REST插件方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及云計算技術(shù)領(lǐng)域,特別是一種基于化utron的新增REST插件方法。
【背景技術(shù)】
[0002] REST和RESTful
[0003] RES巧旨的是一組架構(gòu)約束條件和原則。滿足運(yùn)些約束條件和原則的應(yīng)用程序或設(shè) 計就是RESTful。
[0004] Web應(yīng)用程序最重要的REST原則是,客戶端和服務(wù)器之間的交互在請求之間是無 狀態(tài)的。從客戶端到服務(wù)器的每個請求都必須包含理解請求所必需的信息。如果服務(wù)器在 請求之間的任何時間點(diǎn)重啟,客戶端不會得到通知。此外,無狀態(tài)請求可W由任何可用服務(wù) 器回答,運(yùn)十分適合云計算之類的環(huán)境??蛻舳丝蒞緩存數(shù)據(jù)W改進(jìn)性能。
[0005] 另一個比較重要的原則則是在服務(wù)器端,應(yīng)用程序狀態(tài)和功能可W分為各種資 源。資源是一個有趣的概念實(shí)體,它向客戶端公開。資源的例子有:應(yīng)用程序?qū)ο?、?shù)據(jù)庫記 錄、算法等等。每個資源都使用URI化niversal Resource Identifier)得到一個惟一的地 址。所有資源都共享統(tǒng)一的界面,W便在客戶端和服務(wù)器之間傳輸狀態(tài)。使用的是標(biāo)準(zhǔn)的 HTTP方法,比如GET、PUT、POST 和DELETE。
[0006] 化 utron 和 Openstack
[0007] OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成 具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標(biāo)是提供實(shí)施簡單、可大規(guī)模擴(kuò) 展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計算管理平臺。OpenStack通過各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即 服務(wù)(laaS)的解決方案,每個服務(wù)提供API W進(jìn)行集成。Neutron則是化enstack云平臺里面 用于實(shí)現(xiàn)虛擬機(jī)網(wǎng)絡(luò)、子網(wǎng)、路由、安全組、防火墻W及負(fù)載均衡等所有虛擬網(wǎng)絡(luò)功能。
[000引隨著化enstack開源云平臺應(yīng)用越來越廣泛,各家云平臺都借助于其實(shí)現(xiàn)自己的 私有云平臺,但是往往化enstack現(xiàn)有的功能并不能滿足用戶的特色需求,故需求對其進(jìn)行 二次開發(fā)。本發(fā)明的方法則是提供了一種基于化utron組件的新增REST插件的方法。

【發(fā)明內(nèi)容】

[0009] 本發(fā)明解決的技術(shù)問題在于提供一種基于化utron新增REST插件的方法,實(shí)現(xiàn)了 在化utron上進(jìn)行快速的二次開發(fā),編寫滿足自己云平臺功能需求的REST插件。
[0010] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0011] 所述的方法包括:
[0012] (1 )、在擴(kuò)展包中定義新增插件擴(kuò)展描述類和插件基類;
[0013] (2)、在服務(wù)包中定義新增插件的具體實(shí)現(xiàn)資源操作類;
[0014] (3)、在數(shù)據(jù)包中定義新增插件數(shù)據(jù)庫操作類;
[0015] (4)、接著在公共常量模塊中設(shè)置新增插件的相關(guān)變量;
[0016] (5)、最后定義好新增插件需要使用的相關(guān)配置。
[0017]所述的插件是基于neutron而開發(fā)的支持REST規(guī)范的軟件程序。
[0018] 所述的包是指python程序中包含一個_;[]1;[1:_.97文件的目錄;
[0019] 所述的擴(kuò)展包是指化utron組件中的extensions目錄;
[0020] 所述的服務(wù)包是指化utron組件中的services目錄;
[0021] 所述的服務(wù)包是指化utron組件中的化目錄。
[0022] 所述的插件擴(kuò)展描述類是指繼承了extensions .ExtensionDescriptor描述基類 的python類,主要用于抽象的描述插件資源的url和action等;
[0023] 所述的插件基類是指繼承了 se;rvice_base . ServicePluginBase服務(wù)基類的 python類,主要用于描述插件要實(shí)現(xiàn)的資源操作;
[0024] 所述的插件資源操作類則是繼承了所述插件基類的python類,主要是實(shí)現(xiàn)基類里 的資源操作方法,并調(diào)用插件數(shù)據(jù)庫操作類;
[0025] 所述的插件數(shù)據(jù)庫操作類則是繼承了化utron中數(shù)據(jù)庫操作基類的python類,負(fù) 責(zé)完成資源數(shù)據(jù)的保存和讀取。
[0026] 所述的模塊是指python語言中一個.py文件,而所述的公共常量模塊則是 cons化nts. py文件;所述的常量是指新增插件被化utron成功集成所必須的一些宏定義等;
[0027] 所述的配置包括在neutron.conf配置文件中增加新插件的相關(guān)配置等。
[0028] 本發(fā)明方案的有益效果如下:
[0029] 1、提供一種在Neutron上進(jìn)行快速的二次開發(fā),編寫滿足自己云平臺功能需求 REST插件的方法。
[0030] 2、本發(fā)明方法自定義的新插件不影響化utron組件本身的虛擬網(wǎng)絡(luò)功能,可W彈 性伸縮。
【附圖說明】
[0031 ]下面結(jié)合附圖對本發(fā)明進(jìn)一步說明:
[0032] 圖1為本發(fā)明的流程圖。
【具體實(shí)施方式】
[0033] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在化enstack其他組件的基礎(chǔ)上新增插件的類似 方法實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034] 請參見圖1,為本發(fā)明實(shí)施例提供的一種基于化utron新增REST插件的方法的流程 示意圖,本實(shí)施類W增加自定義插件gcloucLnat為例進(jìn)行描述,所述方法包括:
[0035] 在擴(kuò)展包中定義新增插件擴(kuò)展描述類和插件基類。具體的是在Neutron的 extension包里增加一個模塊gcloud_nat.py,并在該模塊下面創(chuàng)建與模塊名一致的插件描 述類Gcloud_natW及插件基類GcloudNa1:PluginBase。如下所示:
[0036]
[0038]插件描述類主要包括get_resources方法,將插件中的實(shí)體W資源的形式返回,W 便REST接口方式調(diào)用。
[0039]
[0040] pass
[0041 ] 插件基類Gcloud化巧luginBase則定義標(biāo)準(zhǔn)的REST接口方法,即P0ST、PUT、GET、 DELETE 接口 對應(yīng)的 cr eat e_gcloud_nat、update_gcloud_nat、get_gcloud_nat、del te_ gcloud_nat抽象方法。
[0042] 接著在服務(wù)包中定義新增插件的具體實(shí)現(xiàn)資源操作類。即在化utron的services 包中新建gcloud_nat_plugin. py文件并定義Gcloud化巧luginV2操作類,主要目的實(shí)現(xiàn)插 件基類的RES巧由象接口,進(jìn)行具體的業(yè)務(wù)實(shí)現(xiàn),然后調(diào)用數(shù)據(jù)庫操作類操作數(shù)據(jù)庫。
[0043] 在數(shù)據(jù)包中定義新增插件數(shù)據(jù)庫操作類。即在化utron的化包中新增gcloud_nat_ 化.py文件并定義插件數(shù)據(jù)庫操作類Gclou抓atMixin和插件數(shù)據(jù)庫實(shí)體類GcloudNat類,通 過運(yùn)兩個類實(shí)現(xiàn)插件對數(shù)據(jù)庫的新增、修改、刪除、查詢等功能。
[0044] 接著在公共常量模塊中設(shè)置新增插件的相關(guān)變量。即在Neutron的plugins/ common/cons化nts. py模塊中增加新插件相關(guān)的宏變量,如:
[0045] GCLOUD_NAT="gcloud nat"
[0046] ......
[0047] 最后定義好新增插件需要使用的相關(guān)配置。如在Neutron的配置文件 neutron, con 帥親if 增名稱為 gcloud_nat 的 service-plugin。
[0048] W上所掲露的僅為本發(fā)明其中一個實(shí)施例而已,當(dāng)然不能W此來限定本發(fā)明之權(quán) 利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【主權(quán)項】
1. 一種基于Neutron新增REST插件的方法,其特征在于,所述的方法包括: (1 )、在擴(kuò)展包中定義新增插件擴(kuò)展描述類和插件基類; (2)、在服務(wù)包中定義新增插件的具體實(shí)現(xiàn)資源操作類; (3 )、在數(shù)據(jù)包中定義新增插件數(shù)據(jù)庫操作類; (4) 、接著在公共常量模塊中設(shè)置新增插件的相關(guān)變量; (5) 、最后定義好新增插件需要使用的相關(guān)配置。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的插件是基于neutron而開發(fā)的支持 REST規(guī)范的軟件程序。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的包是指python程序中包含一個__ init_.py文件的目錄; 所述的擴(kuò)展包是指Neutron組件中的extensions目錄; 所述的服務(wù)包是指Neutron組件中的services目錄; 所述的服務(wù)包是指Neutron組件中的db目錄。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的包是指python程序中包含一個__ init_.py文件的目錄; 所述的擴(kuò)展包是指Neutron組件中的extensions目錄; 所述的服務(wù)包是指Neutron組件中的services目錄; 所述的服務(wù)包是指Neutron組件中的db目錄。5. 根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述的插件擴(kuò)展描述類是指繼 承了 extensions .ExtensionDescriptor描述基類的python類,主要用于抽象的描述插件資 源的url和act ion等; 所述的插件基類是指繼承了service_base. ServicePluginBase服務(wù)基類的python類, 主要用于描述插件要實(shí)現(xiàn)的資源操作; 所述的插件資源操作類則是繼承了所述插件基類的python類,主要是實(shí)現(xiàn)基類里的資 源操作方法,并調(diào)用插件數(shù)據(jù)庫操作類; 所述的插件數(shù)據(jù)庫操作類則是繼承了Neutron中數(shù)據(jù)庫操作基類的python類,負(fù)責(zé)完 成資源數(shù)據(jù)的保存和讀取。 所述的模塊是指python語言中一個.py文件,而所述的公共常量模塊則是 constants. py文件;所述的常量是指新增插件被Neutron成功集成所必須的一些宏定義等; 所述的配置包括在neutron, conf配置文件中增加新插件的相關(guān)配置等。
【專利摘要】本發(fā)明涉及云計算技術(shù)領(lǐng)域,特別是一種基于Neutron的新增REST插件方法。本發(fā)明所述方法包括:在擴(kuò)展包中定義新增插件擴(kuò)展描述類和插件基類;在服務(wù)包中定義新增插件的具體實(shí)現(xiàn)資源操作類;在數(shù)據(jù)包中定義新增插件數(shù)據(jù)庫操作類;接著在公共常量模塊中設(shè)置新增插件的相關(guān)變量;最后定義好新增插件需要使用的相關(guān)配置。本發(fā)明可在Neutron上進(jìn)行快速的二次開發(fā),編寫滿足自己云平臺功能需求的REST插件;可以用于云平臺功能需求的新增REST插件上。
【IPC分類】G06F9/44
【公開號】CN105630496
【申請?zhí)枴緾N201510981288
【發(fā)明人】熊夢, 楊松, 季統(tǒng)凱
【申請人】國云科技股份有限公司
【公開日】2016年6月1日
【申請日】2015年12月22日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1