• / 14
  • 下載費用:30 金幣  

網頁框架部署方法和系統.pdf

摘要
申請專利號:

CN201510364136.5

申請日:

2015.06.25

公開號:

CN104899047A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 9/44申請日:20150625|||公開
IPC分類號: G06F9/44; G06F17/30 主分類號: G06F9/44
申請人: 廣州杰賽科技股份有限公司
發明人: 溫云龍
地址: 510310廣東省廣州市海珠區新港中路381號
優先權:
專利代理機構: 廣州華進聯合專利商標代理有限公司44224 代理人: 王程
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510364136.5

授權公告號:

||||||

法律狀態公告日:

2018.07.06|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明涉及一種網頁框架部署方法和系統,上述網頁框架部署方法,包括如下步驟:在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架;其使后續網頁的開發過程中無需重復相關程序的創建、編譯等工作,可以有效提高網頁的開發效率。

權利要求書

權利要求書
1.  一種網頁框架部署方法,其特征在于,包括如下步驟:
在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;
綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。

2.  根據權利要求1所述的網頁框架部署方法,其特征在于,所述在云平臺上設置網頁用戶,并創建網頁開發系統的租戶的步驟后還包括:
根據租戶的創建信息在PaaS平臺上注冊PaaS租戶。

3.  根據權利要求2所述的網頁框架部署方法,其特征在于,所述在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯的步驟后還包括:
根據綁定所述應用程序和網頁用戶的過程更新代碼,并將所更新的代碼保存至Git倉庫;
觸發Git倉庫的鉤子事件,調用PaaS平臺的同步接口,并通過PaaS平臺的組件分配協調控制器根據所保存的代碼進行Git倉庫的代碼更新。

4.  根據權利要求1所述的網頁框架部署方法,其特征在于,所述調用LXC容器的接口創建網頁實例的過程包括:
通過預置云鏡像配置網頁實例的環境;
在所配置的環境中,調用LXC容器的接口創建網頁實例。

5.  根據權利要求4所述的網頁框架部署方法,其特征在于,所述調用LXC容器的接口創建網頁實例的過程包括:
使用ubuntu云鏡像文件作為云平臺的基礎鏡像,通過所述基礎鏡像進行云平臺的增量部署;
通過LXC容器的Restful管理接口,使用基礎鏡像創建一個基于LXC容器的網頁實例。

6.  一種網頁框架部署系統,其特征在于,包括:
設置模塊,用于在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
連接模塊,用于連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;
綁定模塊,用于綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
判定模塊,用于在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
部署模塊,用于調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。

7.  根據權利要求6所述的網頁框架部署系統,其特征在于,所述設置模塊還包括:
注冊模塊,用于根據租戶的創建信息在PaaS平臺上注冊PaaS租戶。

8.  根據權利要求7所述的網頁框架部署系統,其特征在于,所述判定模塊后還包括:
保存模塊,用于根據綁定所述應用程序和網頁用戶的過程更新代碼,并將所更新的代碼保存至Git倉庫;
更新模塊,用于觸發Git倉庫的鉤子事件,調用PaaS平臺的同步接口,并通過PaaS平臺的組件分配協調控制器根據所保存的代碼進行Git倉庫的代碼更新。

9.  根據權利要求8所述的網頁框架部署系統,其特征在于,所述部署模塊進一步用于:
通過預置云鏡像配置網頁實例的環境;
在所配置的環境中,調用LXC容器的接口創建網頁實例。

10.  根據權利要求9所述的網頁框架部署系統,其特征在于,所述部署模塊進一步用于:
使用ubuntu云鏡像文件作為云平臺的基礎鏡像,通過所述基礎鏡像進行云平臺的增量部署;
通過LXC容器的Restful管理接口,使用基礎鏡像創建一個基于LXC容器的網頁實例。

說明書

說明書網頁框架部署方法和系統
技術領域
本發明涉及互聯網技術領域,特別是涉及一種網頁框架部署方法和系統。
背景技術
隨著互聯網技術的高速發展,人們使用通過相關網頁訪問其目的地的頻率越來越高,這也對開發人員部署、設置網頁的效率提出來更高的要求。
現有技術中,開發Web(網頁)應用前,開發人員需要完整的Web開發環境。搭建環境需要運維人員處理,或者開發人員自行搭建,這樣會耗費設置相關網頁的進度和時間,而且對同一個應用的開發而言,這些工作是簡單重復勞動,容易導致現有的網頁設置效率低。
發明內容
基于此,有必要針對現有的網頁設置效率低的技術問題,提供一種網頁框架部署方法和系統。
一種網頁框架部署方法,包括如下步驟:
在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;
綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。
一種網頁框架部署系統,包括:
設置模塊,用于在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
連接模塊,用于連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;
綁定模塊,用于綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
判定模塊,用于在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
部署模塊,用于調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。
上述網頁框架部署方法和系統,通過在云平臺上設置網頁用戶,創建網頁開發系統的租戶,在進行云平臺與Git倉庫的連接后,根據上述租戶的創建信息在Git倉庫創建應用程序,并進行應用程序和網頁用戶的綁定,并通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯,在編譯成功之后,調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架;在所部署的網頁框架上,可以直接設置或者添加多個網頁,使后續網頁的開發過程中無需重復相關程序的創建、編譯等工作,可以有效提高網頁的開發效率。
附圖說明
圖1為一個實施例的網頁框架部署方法流程圖;
圖2為一個實施例的云平臺結構示意圖;
圖3為一個實施例的創建應用程序的BPEL流程圖;
圖4為一個實施例的系統部署流程示意圖;
圖5為一個實施例的Git倉庫與Jenkins協同工作示意圖;
圖6為一個實施例的系統調用結構圖示意圖;
圖7為一個實施例的網頁框架部署系統結構示意圖。
具體實施方式
下面結合附圖對本發明提供的網頁框架部署方法和系統的具體實施方式作詳細描述。
參考圖1,圖1所示為一個實施例的網頁框架部署方法流程圖,包括如下步驟:
S10,在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
上述步驟S10中,可以在云平臺上以選擇新建Java Web(用Java技術來解決相關web互聯網領域的技術總和)項目的方式設置網頁用戶,其中,Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言。還可以選擇使用基于Git(分布式版本控制系統)的源代碼倉庫作為應用程序代碼的存儲方式,云平臺的接口AddTenant可以提供根據應用名稱創建平臺租戶的服務。
上述云平臺可以結合基于BPEL(一種業務流程執行語言)流程設計新建應用程序的設計思路,BPEL是業務流程描述語言,通過有組織的邏輯調度Web服務,將單獨Web服務組織實現特定功能;可以提高在云平臺調度Web服務的效率。
S20,連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID(身份標識號)和租戶名稱;
上述步驟S20中,云平臺可以使用Git倉庫進行代碼控制,其通過解析Git倉庫的配置文件所包含Git信息,比如Git倉庫地址、用戶名、密碼等等,以連接Git倉庫;
基于Git協議的代碼倉庫提供Restful接口,可以通過接收租戶的創建信息,使用“創建人+租戶名稱”的格式在git倉庫創建應用程序;
Git倉庫可以提供一種創建后操作“post_init”的服務,在創建倉庫完成后自動調用。利用這個特性在創建倉庫后調用預先實現的一個小腳本創建Maven的Java Web應用程序骨架包。
骨架包可以創建目錄,并在目錄中執行gitinit的命令,把骨架包的文件夾變成git協議的代碼倉庫,代碼文件夾既可以使用Maven命令進行編譯,也可以作為Git倉庫的一個代碼受控庫;
應用程序創建成功后,Git倉庫向云平臺發出創建完成(“create successful”)的信號,云平臺中外部組件監聽此信息進行相關操作。持續集成系統(Jenkins)接收到應用創建完成的信號,對代碼倉庫中的代碼進行第一次的編譯,編譯Java  Web應用程序需要指定編譯使用的插件包,在系統的文件系統中存儲編譯后的war格式軟件包。
S30,綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
上述步驟S30中,綁定所述應用程序的網頁用戶可以被設置為應用的管理員(owner),上述租戶與網頁用戶是一對多的關系,多個用戶可以對一個應用程序進行操作。在數據庫中的權限表中,可以對網頁用戶的權限進行管理,當網頁用戶加入到某個應用中時,權限表中增加一條網頁用戶和應用程序的對應關系,對應用程序享有讀寫的權限,還具有對應用程序進行訪問和修改部署的權限。
S40,在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
在一個實施例中,上述在云平臺上設置網頁用戶,并創建網頁開發系統的租戶的步驟后還可以包括:
根據租戶的創建信息在PaaS平臺上注冊PaaS租戶。
作為一個實施例,上述在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯的步驟后還可以包括:
根據綁定所述應用程序和網頁用戶的過程更新代碼,并將所更新的代碼保存至Git倉庫;
觸發Git倉庫的鉤子事件,調用PaaS平臺的同步接口,并通過PaaS平臺的組件分配協調控制器根據所保存的代碼進行Git倉庫的代碼更新。
上述實施例中,進行Git倉庫的代碼更新,可以保持Git倉庫內代碼的準確性與實時性;在PaaS平臺上注冊PaaS租戶,并觸發Git倉庫的鉤子事件后,再調用PaaS平臺的同步接口,通過PaaS平臺的組件分配協調控制器根據所保存的代碼進行Git倉庫的代碼更新,可以提高Git倉庫更新相關代碼的速率,進一步提高本發明網頁框架部署的效率。
在應用程序編譯工作完成,返回success(成功)或fail(失敗)的編譯信息, 以判斷上述應用程序是否存在問題,若返回結果為success,則完成了應用程序的創建和編譯;
用戶可以使用集成開發環境(IDE)對代碼簽出并進行修改,完成開發的工作之后,可以使用“git commit git push”的操作將代碼更新到代碼倉庫,觸發應用軟件的更新和進行PaaS的部署;
當代碼被推送到Git倉庫,Git倉庫通過配置實現鉤子(Hook)事件觸發,調用PaaS的同步接口,通知平臺的組件分配協調控制器(ADC)處理信息,具體步驟可以如下:
A1,Git倉庫的hook設置為調用Jenkins的groovy腳本進行編譯,groovy腳本可以執行shell腳本、windows批處理腳本、調用Apache Ant和直接執行groovy腳本的形式。開發平臺中使用“curl-k-X POSTjenkinsUrl+"/git/notifyCommit?url=$url/git/$application.name"+"&branches="+branch”的請求,啟動Jenkins對當前倉庫下的應用程序源代碼進行編譯;
A2,ADC控制器接收到同步的請求,根據相關應用信息(租戶的創建信息)中的租戶ID,判斷應用是否存在代碼倉庫,若不存在,按云平臺系統異常處理。
A3,根據應用的租戶ID,通過Jenkins的倉庫找到對應ID的應用程序,下載編譯后的Web應用程序包(war格式)到臨時文件夾;
A4,ADC掃描PaaS平臺后端的容器實例拓撲結構圖,并在內存中保存一張最新的容器實例運行的信息表,通過這種方式,開發平臺能實時掌握每個實例所運行的應用程序列表和數目;
A5,如ADC發現已經有實例在運行舊版本的應用程序,將A2中的war包覆蓋到原應用程序運行的位置,進行版本的更新部署;如系統判斷代碼包屬于新應用程序上線,通知容器環境創建應用實例并對代碼包進行同步。
S50,調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。
在一個實施例中,上述調用LXC容器的接口創建網頁實例的過程可以包括:
通過預置云鏡像配置網頁實例的環境;
在所配置的環境中,調用LXC容器的接口創建網頁實例。
作為一個實施例,上述調用LXC容器的接口創建網頁實例的過程進一步可以包括:
使用ubuntu云鏡像文件作為云平臺的基礎鏡像,通過所述基礎鏡像進行云平臺的增量部署;
通過LXC容器的Restful管理接口,使用基礎鏡像創建一個基于LXC容器的網頁實例。
上述實施例中,在通過預置云鏡像配置網頁實例的環境后,調用LXC容器的接口創建網頁實例,有利于提高網頁實例的創建效率。其中還可以使用ubuntu云鏡像文件作為云平臺的基礎鏡像,通過所述基礎鏡像進行云平臺的增量部署,進一步提高通過LXC容器的接口創建網頁實例的穩定性。
在一個實施例中,云平臺可以調用LXC(Linux Container)容器的接口創建網頁實例,LXC容器通過預置云鏡像創建網頁實例環境。PaaS系統使用LXC容器管理的解決方案主要內容包括鏡像文件、定制的自動運行腳本、環境部署需要的軟件包,主要步驟如下:
系統的鏡像使用通用的ubuntu云鏡像文件作為系統基礎鏡像,所有的Java Web應用程序都通過在這個鏡像的基礎上進行增量部署;
通過LXC容器的Restful管理接口,使用基礎鏡像創建一個基于LXC容器的網頁實例。容器創建后,通過SSH(遠程登錄)的形式向容器注入自動運行腳本。
自動運行腳本順序執行以下命令:創建一個容器的用戶和組,分配用戶權限,從文件服務器上下載jdk(Java Development Kit,Java語言軟件開發包)軟件,下載tomcat軟件,對軟件進行解壓安裝,配置系統環境變量并啟動tomcat,使jdk和tomcat可以通過全局環境變量進行訪問,系統觸發“Java-version”和ps–ef|grep tomcat兩條命令,確認tomcat啟動正常;
網頁實例創建完成后,可以通過應用程序部署腳本,需要簽出相應的應用程序包到網頁實例中進行部署,主要步驟可以如下:
網頁實例共享主機的存儲空間,腳本中通過使用LXC容器管理工具的命令接口,將Jenkins中編譯出來的war包拷貝到網頁實例的文件系統中;
啟動應用程序,完成Web應用的部署工作。
上述實施例提供的網頁框架部署方法,通過在云平臺上設置網頁用戶,創建網頁開發系統的租戶,在進行云平臺與Git倉庫的連接后,根據上述租戶的創建信息在Git倉庫創建應用程序,并進行應用程序和網頁用戶的綁定,并通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯,在編譯成功之后,調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架;在所部署的網頁框架上,可以直接設置或者添加多個網頁,使后續網頁的開發過程中無需重復相關程序的創建、編譯等工作,可以有效提高網頁的開發效率。
在一個實施例中,上述云平臺結構示意圖可以如圖2所示,軟件開發系統(即上述云平臺)可以通過調用源代碼管理倉庫、持續集成系統和缺陷管理系統的服務接口,實現代碼的存儲、編譯和缺陷風險的記錄。平臺使用Eclipse開發環境可以對代碼進行下載、修改和上傳,并觸發編譯系統生成部署包(war格式的軟件包)。開發平臺調用PaaS平臺的接口,同步部署到LXC容器的應用服務器中。
圖3所示為一個實施例的創建應用程序的BPEL(業務流程執行語言)流程設計,基于SOA(面向服務的體系結構)設計的服務接口發布為Web服務,系統開發無需再重復開發此類接口,只需要了解原有接口的參數格式,通過http協議輕松訪問。
圖4所示為一個實施例的系統部署流程示意圖,相關用戶可以通過在倉庫提交應用程序代碼,平臺后臺啟動流程對應用進行部署,流程圖可以如下所示:
1)用戶通過平臺與集成的IDE(Integrated Development Environment,集成開發環境)進行應用程序代碼的開發,開發工作完成之后,用戶打包應用程序,并通過平臺的界面對代碼包進行推送,代碼和代碼包同步到系統的代碼倉庫中;
2)當代碼被推送到倉庫,倉庫通過配置實現鉤子(Hook)事件觸發,通知平臺的組件分配協調控制器(ADC)處理信息;
3)ADC處理消息,掃描平臺后端的實例拓撲結構,系統判斷代碼包屬于新應用,通知容器環境創建應用實例并對代碼進行同步;
4)系統調用LXC容器的接口創建實例,LXC容器通過預置云鏡像創建實例環境;
5)實例創建完成后,通過實例中的啟動腳本,自動簽出相應的代碼進行部署;
6)啟動應用,完成部署的工作。
圖5所示為一個實施例的Git倉庫與Jenkins(一個開源軟件項目)協同工作示意圖。Git倉庫接收到用戶的推送請求之后,調用groovy(一種基于Java虛擬機的敏捷開發語言)腳本觸發Jenkins編譯軟件源代碼,生成war格式的軟件包。當LXC容器創建出來后,執行必要的初始化腳本之后,將Jenkins編譯生成的應用包下載到容器中。
圖6所示為一個實施例的系統調用結構圖示意圖,其示出了本發明的總體架構實現松耦合的設計,服務端和客戶端分離。服務端基于Axis2的服務進行開發,發布的service通過WSDL生成客戶端調用(stub),使用端通過stub對服務進行調用。控制層和界面基于JavaScript進行開發,通過HostObject實體對stub進行調用,從而實現對服務的調用。
參考圖7,圖7所示為一個實施例的網頁框架部署系統結構示意圖,包括:
設置模塊10,用于在云平臺上設置網頁用戶,并創建網頁開發系統的租戶;
連接模塊20,用于連接云平臺與Git倉庫,根據所述租戶的創建信息在Git倉庫創建應用程序;其中,所述租戶的創建信息包括租戶ID和租戶名稱;
綁定模塊30,用于綁定所述應用程序和網頁用戶,通過所綁定的網頁用戶對Git倉庫中的代碼進行編譯;
判定模塊40,用于在應用程序編譯工作完成后,返回編譯信息,并判斷是否編譯正確,若是,則判定完成了應用程序的創建和編譯;
在一個實施例中,上述設置模塊還可以包括:
注冊模塊,用于根據租戶的創建信息在PaaS平臺上注冊PaaS租戶。
作為一個實施例,上述判定模塊后還可以包括:
保存模塊,用于根據綁定所述應用程序和網頁用戶的過程更新代碼,并將所更新的代碼保存至Git倉庫;
更新模塊,用于觸發Git倉庫的鉤子事件,調用PaaS平臺的同步接口,并通過PaaS平臺的組件分配協調控制器根據所保存的代碼進行Git倉庫的代碼更新。
部署模塊50,用于調用LXC容器的接口創建網頁實例,并在所述網頁實例創建完成后,利用應用程序部署網頁框架。
在一個實施例中,上述部署模塊進一步用于:
通過預置云鏡像配置網頁實例的環境;
在所配置的環境中,調用LXC容器的接口創建網頁實例。
作為一個實施例,上述部署模塊還可以進一步用于:
使用ubuntu云鏡像文件作為云平臺的基礎鏡像,通過所述基礎鏡像進行云平臺的增量部署;
通過LXC容器的Restful管理接口,使用基礎鏡像創建一個基于LXC容器的網頁實例。
本發明的網頁框架部署系統與本發明的網頁框架部署方法一一對應,在上述網頁框架部署方法的實施例闡述的技術特征及其有益效果均適用于網頁框架部署系統的實施例中,特此聲明。
以上所述實施例的各技術特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術特征所有可能的組合都進行描述,然而,只要這些技術特征的組合不存在矛盾,都應當認為是本說明書記載的范圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬于本發明的保護范圍。因此,本發明專利的保護范圍應以所附權利要求為準。

關 鍵 詞:
網頁 框架 部署 方法 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:網頁框架部署方法和系統.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373736.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图