版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ICS
團(tuán)體標(biāo)準(zhǔn)
T/BIAIMXXXXX—20XX
工業(yè)互聯(lián)應(yīng)用構(gòu)件開發(fā)規(guī)范
DevelopmentSpecificationforIndustrialInternetApplicationComponents
(征求意見稿)
20XX-XX-XX發(fā)布20XX-XX-XX實(shí)施
北京智能制造創(chuàng)新聯(lián)盟發(fā)布
T/BIAIMXXXXX-20XX
目次
前言...............................................................
1范圍......................................................................................1
2規(guī)范性引用文件............................................................................1
3術(shù)語和定義................................................................................1
4縮略語....................................................................................1
5應(yīng)用構(gòu)件架構(gòu)..............................................................................1
41概述..................................................................................1
工9構(gòu)件主體..............................................................................2
,口關(guān)聯(lián)依賴..............................................................................2
工4存儲中心..............................................................................2
工S構(gòu)件接口............................................................................2
工6基礎(chǔ)信息..............................................................................2
S.7測試用例..............................................................................2
12與外部系統(tǒng)交互.......................................................................2
4Q構(gòu)件運(yùn)行時...........................................................................3
6開發(fā)要求..................................................................................3
fi.1開發(fā)流程..............................................................................3
fi.9環(huán)境資源要求.........................................................................3
fi.1設(shè)計(jì)要求..............................................................................3
64構(gòu)件定義..............................................................................4
fi.S構(gòu)件接口定義.........................................................................6
fi6構(gòu)件封裝.............................................................................11
A7構(gòu)件測試.............................................................................12
K.H構(gòu)件發(fā)布.............................................................................13
附錄A(資料性)yaml文件的關(guān)鍵配置信息示例.......................................14
附錄B(資料性)values.yaml文件的關(guān)鍵配置信息示例................................15
I
T/BIAIMXXXXX—20XX
工業(yè)互聯(lián)應(yīng)用構(gòu)件開發(fā)規(guī)范
1范圍
本文件規(guī)定了企業(yè)研發(fā)制造資源共享服務(wù)平臺上應(yīng)用構(gòu)件的架構(gòu)和開發(fā)要求,并給出了構(gòu)件封裝
的關(guān)鍵配置信息示例。
本文件適用于指導(dǎo)企業(yè)研發(fā)制造資源共享服務(wù)平臺上應(yīng)用構(gòu)件的開發(fā)和測試。
2規(guī)范性引用文件
下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,
僅該日期對應(yīng)的版本適用于本文件;不注U期的引用文件,其最新版本(包括所有的修改單〉適用于本
文件。
GB/T36455—2018軟件構(gòu)件模型
3術(shù)語和定義
下列術(shù)語和定義適用于本文件。
31
構(gòu)件component
軟件系統(tǒng)中具有相對獨(dú)立功能、可以明確辨識、接口由契約指定、和語境有明顯依賴關(guān)系、可獨(dú)立
部署的可組裝軟件實(shí)體。
構(gòu)件接口componentinterface
軟件構(gòu)件對外交流和交互的唯?通道。
構(gòu)件庫componentIibrary
一種支持軟件復(fù)用的基礎(chǔ)設(shè)施。它提供對軟件構(gòu)件進(jìn)行描述、分類、存儲和檢索等功能。
4縮略語
下列縮略語適用于本文件。
CI:持續(xù)集成(ContinuousIntegration)
CD:持續(xù)交付(ContinuousDelivery)與持續(xù)部署(ContinuousDeployment)
UAT:用戶驗(yàn)收測試(UserAcceptanceTesting)
API:應(yīng)用程序接口(ApplicationProgrammingInterface)
YAML:YAMLAin'taMarkupLanguage的遞歸縮寫,一種數(shù)據(jù)序列化標(biāo)準(zhǔn)
5應(yīng)用構(gòu)件架構(gòu)
51概述
應(yīng)用構(gòu)件為企業(yè)提供各類工業(yè)互聯(lián)應(yīng)用服務(wù),支持直接或組合應(yīng)用,應(yīng)用構(gòu)件由構(gòu)件主體、構(gòu)件存
儲中心、關(guān)聯(lián)依賴、基礎(chǔ)信息和構(gòu)件接口五個部分組成,應(yīng)用構(gòu)件架構(gòu)如圖1所示。
1
T/BIAIMXXXXX—20XX
測試用例
用例媳號
關(guān)卻獺基礎(chǔ)信息構(gòu)件接口
組件依賴框架依賴ID名稱版本人
機(jī)
測試標(biāo)題交
數(shù)嵬依賴創(chuàng)建時間接口定5L互
接
重要級別
版本依賴開發(fā)者類型..口
預(yù)置條件
構(gòu)件主體數(shù)
測試輸入控
據(jù)
制
接
接
搽作步歌口
口
存儲中心數(shù)據(jù)庫分布式存信
預(yù)期輸出
構(gòu)件運(yùn)行時
圖1應(yīng)用構(gòu)件架構(gòu)圖
5.:構(gòu)件主體
構(gòu)件主體是構(gòu)件的核心部分,包含實(shí)現(xiàn)特定功能或服務(wù)的代碼,編程語言包括Java、Pythor、
JavaScript等,具體取決于構(gòu)件的需求和團(tuán)隊(duì)的技術(shù)棧。
5.2關(guān)聯(lián)依賴
關(guān)聯(lián)依賴是構(gòu)件在運(yùn)行時或編譯時所需的其他庫、框架、服務(wù)或數(shù)據(jù),這些依賴項(xiàng)可以是內(nèi)部的(例
如構(gòu)件庫中的其他構(gòu)件)或外部的(例如第三方庫或API),為了確保構(gòu)件的可移植性和一致性,所有
依賴項(xiàng)都應(yīng)被明確列出,并且應(yīng)通過版本控制系統(tǒng)(如Maven、npm、Pip等)進(jìn)行管理。
5.4存儲中心
存儲中心是應(yīng)用構(gòu)件的存儲倉庫.魚貴存儲應(yīng)用構(gòu)件的各種數(shù)據(jù),提供高效的數(shù)據(jù)檢索能力,并保
證數(shù)據(jù)一致性和安全性。
5.*構(gòu)件接口
構(gòu)件接口定義構(gòu)件與其他構(gòu)件或外部系統(tǒng)之間的交互方式,此外,接口還可以用于生成文檔和進(jìn)行
代碼自動生成,簡化開發(fā)過程。
弓A基礎(chǔ)信息
基礎(chǔ)信息描述構(gòu)件的詳情和基本信息,包含構(gòu)件的基本情況和功能特點(diǎn),便于用戶在需要時選擇合
適的構(gòu)件進(jìn)行部署和使用。
57測試用例
測試用例用于驗(yàn)證構(gòu)件功能的正確性,包括一系列自動化測試腳本和測試步驟,用于確保構(gòu)件在不
同條件下都能按預(yù)期工作,測試用例應(yīng)覆蓋構(gòu)件的所有主要功能點(diǎn)、邊界條件和異常處理邏輯,通過使
用持續(xù)集成(CI)工具,可以自動運(yùn)行測試用例,確保在每次代碼更改后都能及時發(fā)現(xiàn)問題。
5.fl與外部系統(tǒng)交互
構(gòu)件與外部系統(tǒng)交互可以是同步的,也可以是異步的,具體取決于構(gòu)件的設(shè)計(jì)和實(shí)現(xiàn)。在交互過程
中,構(gòu)件需要確保數(shù)據(jù)的正確性和一致性,并處理可能出現(xiàn)的錯誤和異常情況。
2
T/BIAIMXXXXX—20XX
5.G構(gòu)件運(yùn)行時
構(gòu)件運(yùn)行時表示構(gòu)件運(yùn)行時環(huán)境,包括必要的資源、庫和框架等,是用于創(chuàng)建、管理和運(yùn)行構(gòu)件的
工具。
6開發(fā)要求
6.1開發(fā)流程
如圖2所示,應(yīng)用構(gòu)件的規(guī)范化開發(fā)能膨使企業(yè)統(tǒng)一、靈活、簡便地使用和組合各種應(yīng)用。應(yīng)用構(gòu)
件的開發(fā)流程如下:
a)構(gòu)件定義,根據(jù)使用需求,開發(fā)人員進(jìn)行構(gòu)件開發(fā),并且根據(jù)構(gòu)件標(biāo)準(zhǔn)化格式進(jìn)行構(gòu)件的修改
和調(diào)整:
b)構(gòu)件接口定義,利用構(gòu)件接口規(guī)則,對構(gòu)件接口進(jìn)行規(guī)范化開發(fā);
c)構(gòu)件封裝,進(jìn)行構(gòu)件代碼質(zhì)量檢查后,對符合構(gòu)件設(shè)計(jì)標(biāo)準(zhǔn)的構(gòu)件進(jìn)行打包生成構(gòu)件鏡像和
Chart格式:
d)構(gòu)件測試,將應(yīng)用構(gòu)件鏡像通過CI/CD自動部署到測試環(huán)境,系統(tǒng)自動完成UAT測試、功能測
試和性能測試;
0)構(gòu)件發(fā)布,將擁有標(biāo)準(zhǔn)接口的構(gòu)件推送到構(gòu)件庫,并進(jìn)行構(gòu)件版本控制,以供不同需求用戶匹
配使用。
其中,步驟a-b由構(gòu)件開發(fā)者按照標(biāo)準(zhǔn)化定義格式完成,步驟c-e由平臺根據(jù)開發(fā)者提交的構(gòu)件源
文件自動完成。
圖2應(yīng)用構(gòu)件開發(fā)流程
A9環(huán)境資源要求
本文件定義的應(yīng)用構(gòu)件以容器方式運(yùn)行,支持以下運(yùn)行環(huán)境:
----Docker:
----Kubernetes;
----Nodc-RED:
——0CI;
----rune;
----CRI-Oo
A?設(shè)計(jì)要求
應(yīng)用構(gòu)件的設(shè)計(jì)應(yīng)符合下列要求:
——每個構(gòu)件應(yīng)只關(guān)注一個特定的業(yè)務(wù)功能,避免將多個不相關(guān)的功能集成在一個應(yīng)用構(gòu)件中:
——支持代碼編輯環(huán)境,包括常規(guī)配置、代碼編輯等設(shè)置選項(xiàng);
----支持構(gòu)件版本向下兼容:
——支持構(gòu)件參數(shù)的修改,能讓用戶根據(jù)個人需求修改構(gòu)件;
3
T/BIAIMXXXXX—20XX
一一明確日志規(guī)范,規(guī)定日志輸出的格式和應(yīng)當(dāng)包含的內(nèi)容:
一一支持多個應(yīng)用構(gòu)件的關(guān)聯(lián)組合:
一一支持企業(yè)快速構(gòu)建、構(gòu)件動態(tài)擴(kuò)展和多應(yīng)用場景遷移:
——支持應(yīng)用構(gòu)件的調(diào)用和部署:
一一提供在線開發(fā)和離線開發(fā)上傳的方式:
----支持多個協(xié)同在線開發(fā)。
64構(gòu)件定義
6.4.1構(gòu)件分類
根據(jù)功能和結(jié)構(gòu)特性,構(gòu)件可以劃分為不同的類別,包括:
——基礎(chǔ)構(gòu)件,提供基本的計(jì)算、存儲、通信等底層服務(wù),包括數(shù)據(jù)可視、消息構(gòu)件、報(bào)警構(gòu)件、
算法模型、成分分析模型等;
-業(yè)務(wù)構(gòu)件,實(shí)現(xiàn)常見的業(yè)務(wù)邏輯、數(shù)據(jù)處理等功能,包括物料跟蹤、設(shè)備管理、運(yùn)維巡檢、輔
助調(diào)度、計(jì)算服務(wù)、工藝優(yōu)化、檢測報(bào)告智能生成等:
-智能構(gòu)件,具有更強(qiáng)的專業(yè)性,包括故障診斷、故障預(yù)警、能耗分析、設(shè)備畫像、健康維護(hù)、
安全檢測、設(shè)備定位等。
6.4.2構(gòu)件文件目錄
構(gòu)件在開發(fā)時需要遵循一定的文件組織規(guī)范,如圖3所示,分別存放構(gòu)件測試用例、構(gòu)件主體、構(gòu)
件關(guān)聯(lián)依賴、構(gòu)件存儲中心、構(gòu)件接口和構(gòu)件基礎(chǔ)信息六個部分,其余部分的文件組織形式不做規(guī)范要
求,模型開發(fā)者可進(jìn)行個性化開發(fā)。
測試用例依籟列表構(gòu)建腳本接口列表具體定義
圖3應(yīng)用構(gòu)件文件目錄
6.4.3構(gòu)件主體
構(gòu)件主體包含構(gòu)件的全部功能代碼,用于實(shí)現(xiàn)構(gòu)件的主要功能和業(yè)務(wù)邏輯,根據(jù)用戶需求,明確應(yīng)
用構(gòu)件的需求場景和實(shí)現(xiàn)功能,應(yīng)滿足以下要求:
一一代碼編寫規(guī)范,可讀性高:
——擁有明確的功能,具有實(shí)際應(yīng)用意義:
只關(guān)注單?的功能或服務(wù),便于復(fù)用和維護(hù);
——對每個關(guān)鍵語句單獨(dú)說明,并提供錯誤提示;
——具備數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)策略,確保數(shù)據(jù)的可靠性;
-提供錯誤的報(bào)警和基礎(chǔ)錯誤的恢復(fù)功能,便于用戶使用。
6.4.4構(gòu)件測試用例
4
T/BIAIMXXXXX—20XX
構(gòu)件測試用例是構(gòu)件測試中的核心組成部分,用于驗(yàn)證構(gòu)件是否滿足規(guī)定的需求和功能。測試用例
的設(shè)計(jì)和實(shí)現(xiàn)應(yīng)遵循一系列的要求,以確保測試的全面性和有效性。測試用例應(yīng)滿足以下要求:
-需求覆蓋,測試用例應(yīng)覆蓋所有的需求點(diǎn),確保被測功能100%被覆蓋:
——正確性驗(yàn)證,驗(yàn)證正確性操作、正常數(shù)據(jù)和可能導(dǎo)致出錯的數(shù)據(jù)、操作:
一—數(shù)據(jù)值域覆蓋,有數(shù)據(jù)值域的必須考慮數(shù)據(jù)值域覆蓋.,包括邊界值利等價類,所有邊界值都必
須覆蓋,等價類必須包含有效和無效等價類,目等價類各子類不存在交錯以避免冗余,同時,
等價類的使用應(yīng)避開邊界值重疊的情況:
一—明確性,測試用例中的描述應(yīng)清晰明確,不存在二義性或名義性,不會因執(zhí)行人不同而產(chǎn)生不
同執(zhí)行結(jié)果:
預(yù)期結(jié)果,每個測試用例都應(yīng)有明確的預(yù)期結(jié)果,便于準(zhǔn)確判斷是否符合要求。
測試用例編寫應(yīng)包含以下要素:
a)用例編號,具有唯一性,通常由字符和數(shù)字組成的字符串,易于識別。不同階段的測試用例應(yīng)
有不同的編號規(guī)則;
b)測試項(xiàng)目,對應(yīng)測試用例編號中的測試子項(xiàng)名,可以是功能點(diǎn)、性能指標(biāo)、界面控件等:
c)測試標(biāo)題,簡要說明測試用例的出發(fā)點(diǎn)、關(guān)注點(diǎn)以及期望的測試結(jié)果:
d)重要級別,根據(jù)測試用例的重要程度進(jìn)行劃分,如高、中、低等級別,便于制定測試規(guī)程和同
歸測試:
e)預(yù)置條件,測試用例在執(zhí)行前需要滿足的前提條件,包括環(huán)境設(shè)置、其他測試用例的執(zhí)行結(jié)果
等;
f)測試輸入,測試用例執(zhí)行過程中需要加工的外部信息,如手工輸入、文件、數(shù)據(jù)庫記錄等;
g)操作步驟,執(zhí)行當(dāng)前測試用例需要經(jīng)過的操作步驟,需要明確的給山每?個步驟的描述;
h)預(yù)期輸出,測試用例執(zhí)行后的預(yù)期結(jié)果,包括界面顯示、數(shù)據(jù)庫變化、相關(guān)信息變化等。
6.4.5構(gòu)件關(guān)聯(lián)依賴
構(gòu)件關(guān)聯(lián)依賴包括:
一組件依賴,可能依賴于其也構(gòu)件提供的功能或服務(wù),或是依賴于各種第三方庫,如數(shù)學(xué)計(jì)算庫、
數(shù)據(jù)庫連接庫、網(wǎng)絡(luò)通信庫等:
——框架依賴,包含運(yùn)行的系統(tǒng)和計(jì)算框架,如Spring、Django等,這些框架本身可能包含多個
庫和組件,需要依賴這些框架來構(gòu)建和運(yùn)行:
——數(shù)據(jù)依賴,可能依賴于配置文件中的參數(shù)或設(shè)置運(yùn)行:
——環(huán)境依賴,可能需要在特定的硬件環(huán)境上運(yùn)行;
一一版本依賴,可能依賴于特定版本的構(gòu)件或庫.
6.4.6構(gòu)件存儲中心
存儲中心應(yīng)支持:
----數(shù)據(jù)庫,采用關(guān)系型數(shù)據(jù),率(如MySQL、PoslgreSQL)或非關(guān)系型數(shù)據(jù)庫(如MongoDB^Cassandra)
等技術(shù)來實(shí)現(xiàn)數(shù)據(jù)存儲利管理:
-分布式存儲,對于需要處理大量數(shù)據(jù)或具有高可用性和容錯性要求的構(gòu)件,采用分布式存儲
(如Hadoop、Cassandra等)來實(shí)現(xiàn)數(shù)據(jù)存儲和擴(kuò)展性:
一緩存,為了提高數(shù)據(jù)訪問速度,采用緩存技術(shù)(如Redis、Memcached等)來存儲常用的數(shù)據(jù)
或查詢結(jié)果。
6A7構(gòu)件基礎(chǔ)信息
構(gòu)件基礎(chǔ)信息用于標(biāo)識、描述和管理構(gòu)件,構(gòu)件基礎(chǔ)信息包括:
a)ID,唯一標(biāo)識構(gòu)件的編號;
b)名稱,正式名稱;
c)類型,構(gòu)件所屬的類別:
d)詳情,描述構(gòu)件功能和使用方法:
e)用途,主要用途或應(yīng)用場景;
f)接口定義,構(gòu)件提供的接口的定義,包括輸入輸出、接口說明等:
T/BIAIMXXXXX—20XX
g)定價,用戶使用構(gòu)件需要支付的金額:
h)開發(fā)者,開發(fā)人員;
i)創(chuàng)建時間,構(gòu)件開發(fā)的時間;
j)版本,用于區(qū)分不同版本的構(gòu)件。
A5構(gòu)件接口定義
6.5.1接口描述規(guī)則
構(gòu)件接口是對外交互的唯一通道,是構(gòu)件外部可見行為的描述。應(yīng)用構(gòu)件的接口描述規(guī)則如下:
----協(xié)議規(guī)范:采用https或http協(xié)議:
一一域名規(guī)范:接口有且僅有一個域名和端口:
——API路徑規(guī)范:為了和其他路徑區(qū)分,必須在路徑中添加api目錄;
一版本控制規(guī)范:正式版本的服務(wù)組件應(yīng)確定接口版本,備份接口代碼,并在接口路徑中加入版
本信息:
一一API命名規(guī)范:url為域名規(guī)范+API路徑規(guī)范+版本控制規(guī)范:
——方法規(guī)范:采用http標(biāo)淮方法,如GET,POST,PUT,DELETE等;
——請求參數(shù)規(guī)范:公共數(shù)據(jù)使用GET方式請求,私有數(shù)據(jù)使用POST方式請求,盡量全部用POST,
請求頭據(jù)需求添加配置參數(shù);
-接口數(shù)據(jù)格式規(guī)范:使用JSON或者XML格式數(shù)據(jù)。
6.5.2接口規(guī)范
構(gòu)件接口應(yīng)規(guī)范化定義,如圖4所示,一個應(yīng)用構(gòu)件的接口應(yīng)包含:
a)接口描述字段,對該接口的功能和作用進(jìn)行較為詳細(xì)的闡述,使用戶能夠了解如何與該接口對
接;
b)請求地址字段,該請求從什么地方發(fā)出;
c)請求方式字段,該請求以什么協(xié)議發(fā)出:
d)資源描述字段,該接口需要何種資源,實(shí)際體現(xiàn)為該構(gòu)件需要什么請求參數(shù),同時還需要在此
字段對具體的返回參數(shù)進(jìn)行說明,并且給出一個正常的返回示例;
e)資源地址字段,資源存儲在公共地址,構(gòu)件訪問該地址進(jìn)行資源的獲取:
f)模型調(diào)用字段,寫明構(gòu)件將調(diào)用什么模型。
"interfaceDes":(接口描述,講明功能和作用)
urequestAdd":"http:〃localhost:8080/service”,(數(shù)據(jù)發(fā)送地址)
MrequestProM:"http”,(數(shù)據(jù)發(fā)送協(xié)議)
“resourceDesM:"timestamp,file”,(資源描述,包括資源類型和所需
的參數(shù))
"resourceAdd":("timestamp":"http://localhost:8080/resource","—":(對
應(yīng)參數(shù)的獲取地址)
"model":"",(使用的智能模型)
}
圖4應(yīng)用構(gòu)件接口json格式圖
6.5.3接口分類
應(yīng)用構(gòu)件通用接口模型如圖5所示,通用接口主要分為:
人機(jī)交互接口,用于用戶與構(gòu)件之間進(jìn)行交流和指令交互,包括查詢構(gòu)件信息和查詢構(gòu)件狀態(tài)
等:
-數(shù)據(jù)接口,用于數(shù)據(jù)的傳輸,包括向應(yīng)用構(gòu)件輸入數(shù)據(jù)、從外部數(shù)據(jù)源獲取數(shù)據(jù)、從應(yīng)用構(gòu)件
輸出數(shù)據(jù)等;
——控制接口,用于對數(shù)據(jù)傳輸進(jìn)行控制和管理,包括修改構(gòu)件參數(shù)、運(yùn)行控制等:
T/BIAIMXXXXX—20XX
-第三方工具接口,用于連接第三方工具,如依賴關(guān)系的構(gòu)件、智能模型,進(jìn)行實(shí)時數(shù)據(jù)處理、
信息與健康檢測等。
構(gòu)件信息、構(gòu)件狀態(tài)
控制參數(shù)、啟停控制
圖5應(yīng)用構(gòu)件通用接口模型
6.5.4接口定義
應(yīng)用構(gòu)件接口定義見表1:
表1應(yīng)用構(gòu)件通用接口說明表
接口類型接口描述接口名稱功能說明
查詢構(gòu)件信息Getlnfo查看構(gòu)件詳情
人機(jī)交互接口
查詢構(gòu)件狀態(tài)GetCon查看構(gòu)件運(yùn)行狀態(tài)
輸入數(shù)據(jù)InputData向構(gòu)件輸入數(shù)據(jù)
數(shù)據(jù)接口外部數(shù)據(jù)調(diào)用GetEnternalData從外部數(shù)據(jù)源獲取數(shù)據(jù)
輸出數(shù)據(jù)OulpulData從構(gòu)件輸出數(shù)據(jù)
修改參數(shù)ChangeOP上傳和修改構(gòu)件運(yùn)行參數(shù)
控制接口
運(yùn)行控制ControlRun控制構(gòu)件運(yùn)行過程
依賴連接ConnectTool連接其他構(gòu)件或第三方應(yīng)用工具
實(shí)時數(shù)據(jù)分析工具集成RcalTimeTool與實(shí)時數(shù)據(jù)分析工具集成
第三方工具接口在構(gòu)件自動化部署時,使用Liveness
Prchc和ReadinessProbe進(jìn)行容盟健席
信息與健康檢測,總集成HealthTool
信息檢測:在模型運(yùn)行時反饋模型維
節(jié),控制參數(shù)等
6.5.5輸入輸出數(shù)據(jù)類型
各類接口涉及的輸入輸出數(shù)據(jù)類型包括:
----command類,為命令;
T/BIAIMXXXXX—20XX
---number類,為數(shù)字:
---string類,為字符串:
---image類,為圖片;
---voice類,為音頻:
---video類,為視頻;
---file類,為文件:
——zip類,為壓縮包。
6.5.6人機(jī)交互接口
6.5.6.1查詢構(gòu)件信息接口
查看構(gòu)件詳情的接口說明見表2。狀態(tài)碼用于判斷執(zhí)行結(jié)果是否成功。
表2查詢構(gòu)件信息接口說明
接口定義StringGetInfo(StringComName)
URLhttp://localhost:8080/GetInfo
請求方式GET
參數(shù)構(gòu)件名稱ComName
狀態(tài)碼
返回內(nèi)容
構(gòu)件詳情ComInfo
6.5.6.2查詢構(gòu)件狀態(tài)接口
查看構(gòu)件運(yùn)行狀態(tài),如是否正在運(yùn)行、已完成、失敗等,接口說明見表3。
表3查詢構(gòu)件狀態(tài)接口說明
接口定義StringGetCon(StringComName)
URLhttp://localhost:8080/GetCon
請求方式GET
參數(shù)構(gòu)件名稱ComName
狀態(tài)碼
返回內(nèi)容
構(gòu)件狀態(tài)ComCon
6.5.7數(shù)據(jù)接口
6.5.7.1輸入數(shù)據(jù)接口
向構(gòu)件輸入數(shù)據(jù)的接口說明見表4。T概括了所有6.5.5中列舉的數(shù)據(jù)類型,具體使用的數(shù)據(jù)由檜件
功能決定,輸入數(shù)據(jù)接口應(yīng)支持大數(shù)據(jù)處理任務(wù)。
表4揄入數(shù)據(jù)接口說明
接口定義StringInputData(StringComNamc.TInData)
URLhttp://localhost:8080/InputData
請求方式POST
構(gòu)件名稱ComName
參數(shù)
輸入數(shù)據(jù)InData
8
T/BIAIMXXXXX-20XX
返向內(nèi)容狀態(tài)因
6.5.7.2外部數(shù)據(jù)調(diào)用
從指定數(shù)據(jù)源(如公共數(shù)據(jù)庫、云?服務(wù)、第三方API等)獲取數(shù)據(jù)的接口說明見表5。
表5外部數(shù)據(jù)調(diào)用接口說明
接口定義StringGetEnternalData(SuingConiName.SuingSource.StringOPName)
URLht(p://localhost:8080/GetEnternalData
請求方式POST
構(gòu)件名稱ComName
參數(shù)數(shù)據(jù)源標(biāo)識Source
查詢參數(shù)OPName
返回內(nèi)容狀態(tài)碼
6.5.7.3輸出數(shù)據(jù)接口
從構(gòu)件輸出數(shù)據(jù)的接口說明見表6。
表6輸出數(shù)據(jù)接口說明
接口定義TOutpulData(SiringComName)
URLh(ip://)ocalhost:8080/OutputData
請求方式GET
參數(shù)構(gòu)件名稱ComName
狀態(tài)碼
返回內(nèi)容
輸出數(shù)據(jù)OutData
6.5.8控制接口
6.5.8.1修改參數(shù)接口
上傳和修改構(gòu)件運(yùn)行參數(shù)的接口說明見表7。
表7修改參數(shù)接口說明
接口定義StringChangcOP(SlringComName.SlringOPName.TOPNum)
URLht(p://iocalhosl:8080/ChangeOP
詁求方式POST
構(gòu)件名稱ComName
參數(shù)參數(shù)名稱OPName
參數(shù)值OPNum
返回內(nèi)容狀態(tài)碼
6.5,8.2運(yùn)行控制接口
T/BIAIMXXXXX—20XX
控制構(gòu)件的運(yùn)行,如啟動和停止操作,接口說明見表8。
表8運(yùn)行控制接口說明
接口定義StringControlRun(StringConiName)
URLhltp://localhos(:8080/Conlro.Run
請求方式POST
參數(shù)構(gòu)件名稱ConiName
返回內(nèi)容狀態(tài)碼
6.5.9第三方工具接口
6.5.9,1依賴連接接口
連接其他構(gòu)件或第三方應(yīng)用工具,如深度學(xué)習(xí)模型等,接口說明見表9。
表9依賴連接接口說明
接口定義StringConnectTool(StringComName,StringToolName)
URLhttp://localhost:8080/Conncc:T(x)l
請求方式POST
構(gòu)件名稱ComNaine
參數(shù)
第三方工具名稱ToolName
返回內(nèi)容狀態(tài)碼
6.5,9.2實(shí)時數(shù)據(jù)分析工具集成接口
與實(shí)時數(shù)據(jù)分析工具(如Stonn、Flink等)進(jìn)行集成,支持實(shí)時數(shù)據(jù)分析和處理,接口說明見表10。
表10實(shí)時數(shù)據(jù)分析工具集成接口說明
接口定義StringRealTimeTooKStringConiName.SlringToolConfig)
URLhttp://localhost:8080/RealTinieTool
請求方式GET
構(gòu)件名稱ConiName
參數(shù)
工具連接配置ToolConfig
狀態(tài)碼
返回內(nèi)容
數(shù)據(jù)分析結(jié)果AnalysisData
6.5,9.3信息與健康檢測工具集成接口
在構(gòu)件自動化部署時,使用LivenessProbe和ReadinessProbe進(jìn)行容器健康信息檢測;在模型運(yùn)行時
反饋模型細(xì)節(jié),控制參數(shù)等,接口說明見表11。
表11信息與健康檢測工具集成接匚說明
接I」定義StringHeallhTooKStringComName.StringToolConfig)
URLht(p://localhost:8080/Heal(hTool
1C
T/BIAIMXXXXX-20XX
請求方式GET
構(gòu)件名稱CoinName
參數(shù)
工具連接配置ToolConfig
狀態(tài)碼
返回內(nèi)容
構(gòu)件運(yùn)行信息Runinfo
AA構(gòu)件封裝
6.6.1概述
本文件按照技術(shù)實(shí)現(xiàn)的邏輯順序和構(gòu)件間的調(diào)用關(guān)系,將構(gòu)件封裝劃分為鏡像封裝和Charts封裝
兩個步驟,如圖6所示。
圖6應(yīng)用構(gòu)件封裝總體設(shè)計(jì)
6.6.2容器化封裝
容器化封裝過程如下:
a)收集構(gòu)件與構(gòu)件接口信息,對配置信息進(jìn)行標(biāo)準(zhǔn)化整合,判斷配置信息的正確性,如果不正確,
則向構(gòu)件開發(fā)者反饋偌誤信息以供修改,
b)如果正確,則通過構(gòu)件信息進(jìn)行yaml文件的自動化編寫。
c)根據(jù)yaml文件進(jìn)行模型鏡像自動化封裝。
yaml文件的關(guān)鍵配置信息示例見附錄A。
6.6.3Chart文件目錄
Charl代碼文件目錄包括:
a)templates/,模板文件,存放Kubernetes資源文件,如DeploymentsService、Ingress%
ConfigMap>Secrets等;
b)values,yaml,定義Chart的默認(rèn)配置值:
c)Chart,yaml,核心配置文件,定義Chart的基本信息(如名稱、版本、描述等)以及依賴關(guān)系,
包含name、version、description'icon、sources、maintainers^dependencies等字段:
d)README,md,介紹文檔。
values,yaml文件的關(guān)鍵配置信息示例見附錄B。
6.6.4Chart封裝
應(yīng)用構(gòu)件的Chart封裝過程如下:
a)獲取容器化封裝后容器服務(wù)的端口、健康檢測接口等關(guān)跳信息:
b)編寫資源定義文件,使用YAML格式編寫資源定義文件,并放置在te叩lates/目錄下:
11
T/BIAIMXXXXX—20XX
c)創(chuàng)建Chart,yaml文件,在Chart的根目錄下創(chuàng)建Chart,yaml文件,并填寫Chart的基本信
息,如名稱、版木、描述和依賴等;
d)創(chuàng)建values,yaml文件,在Chart的根目錄下創(chuàng)建values,yaml文件,并定義Chart的配置
參數(shù):
e)編寫README.md文件,根據(jù)需要,編寫README,md文件,描述Chart的使用方法和注意事項(xiàng);
f)打包Chart,將Chart打包成.tgz格式的文件,完成Chart封裝。
67構(gòu)件測試
6.7.1概述
構(gòu)件測試是對構(gòu)件性能進(jìn)行評估和對構(gòu)件功能進(jìn)行驗(yàn)證的方法,本文件的構(gòu)件測試在Kubernetes集
群中完成,主要包括UAT測試、功能測試和性能測試。
6.7.2UAT測試
構(gòu)件開發(fā)完成后,由相關(guān)的用戶或獨(dú)立測試人員根據(jù)測試計(jì)劃和結(jié)果對構(gòu)件進(jìn)行測試和接收。這一
階段的測試旨在驗(yàn)證構(gòu)件是否滿足業(yè)務(wù)需求、功能要求以及用戶期望,確保軟件在實(shí)際應(yīng)用中的穩(wěn)定性
和可靠性,LAT測試主要包括:
——驗(yàn)證功能完整性,確保所有規(guī)定的功能按預(yù)期工作,無遺漏或錯誤;
——確認(rèn)用戶滿意度,用戶對構(gòu)件的使用體驗(yàn)感到滿意,界面友好,操作便捷;
一—發(fā)現(xiàn)并修復(fù)缺陷,在發(fā)布前識別并解決潛在的問題,確保構(gòu)件質(zhì)量;
——業(yè)務(wù)流程驗(yàn)證,確認(rèn)構(gòu)件支持的實(shí)際業(yè)務(wù)流程無誤,符合業(yè)務(wù)需求。
6.7.3功能測試
功能測試用于驗(yàn)證構(gòu)件在實(shí)際業(yè)務(wù)場景中的表現(xiàn),根據(jù)開發(fā)者提交的測試用例模擬用戶請求并驗(yàn)
證構(gòu)件響應(yīng)的正確性,功能測試主要包括:
—邊界值測試,測試構(gòu)件在極限情況下的響應(yīng)和表現(xiàn),即測試邊界值處的構(gòu)件行為是否符合規(guī)范;
-等價類劃分測試,將各和輸入值看做是幾個等價類,選取一個代表性的值進(jìn)行測試:
——冒煙測試,運(yùn)行構(gòu)件的核心功能,檢查構(gòu)件是否能夠啟動、執(zhí)行基本操作和完成基本任務(wù)等:
一一面向場景測試,定義不同的測試場景來驗(yàn)證構(gòu)件的功能和行為。
6.7.4性能測試
性能測試用于評估構(gòu)件在各種負(fù)載條件下的響應(yīng)時間、吞吐量、資源利用率等性能表現(xiàn),測試方式
包括:
-負(fù)載測試,通過不斷增加并發(fā)用戶數(shù)或交易量,觀察構(gòu)件的響應(yīng)時間、吞吐量等性能指標(biāo)的變
化情況,以評估構(gòu)件在特定負(fù)載下的性能表現(xiàn):
一壓力測試,通過模擬極端負(fù)載條件,測試構(gòu)件在資源飽和或過載情況下的性能表現(xiàn),以評估穩(wěn)
定性和容錯能力:
一并發(fā)測試,模擬多用戶同時部署構(gòu)件的場景,測試系統(tǒng)在并發(fā)訪問下的性能表現(xiàn),以發(fā)現(xiàn)潛在
的并發(fā)問題,如死鎖、資源爭用等;
——基準(zhǔn)測試,在特定軟硬件和網(wǎng)絡(luò)環(huán)境下,模擬一定數(shù)量的虛擬用戶運(yùn)行一種或多種業(yè)務(wù),將測
試結(jié)果作為基準(zhǔn)線數(shù)據(jù),用于后續(xù)的性能調(diào)優(yōu)或系統(tǒng)評測;
-穩(wěn)定性測試,在特定負(fù)載條件下,長時間運(yùn)行構(gòu)件,觀察其性能指標(biāo)的穩(wěn)定情況,以評估系統(tǒng)
的長期運(yùn)行穩(wěn)定性。
6.7.5測試工具
構(gòu)件測試在Kubernetes集群環(huán)境中完成,為了實(shí)現(xiàn)構(gòu)件的自動測試,可以使用以下工具:
——KUTTL;
----Kubcmark;
----Clusterloader2;
----Popeye;
12
T/BIAIMXXXXX—20XX
----Kubescapc;
----Mirrord;
----Kube-1inter:
----Prometheus+Grafana:
----Sysdigo
6.8構(gòu)件發(fā)布
6.8.1發(fā)布流程
構(gòu)件通過測試后使用HTTF7HTTPS通信協(xié)議符封裝后的構(gòu)件文件傳輸?shù)綐?gòu)件庫,完成構(gòu)件的發(fā)布,
發(fā)布過程如下:
a)系統(tǒng)前端收集開發(fā)好的應(yīng)用構(gòu)件信息,向后端發(fā)送發(fā)布請求;
b)系統(tǒng)后端完成模型鏡像的打包,封裝為【mage和Charts格式;
c)使用IITTP/HTTPS通信協(xié)議將封裝好的構(gòu)件上傳到構(gòu)件庫中:
d)構(gòu)件發(fā)布完成,向開發(fā)者返回發(fā)布結(jié)果,用戶可以在構(gòu)件庫中查看發(fā)布的構(gòu)件。
在構(gòu)件發(fā)布的過程中需要完成開發(fā)者的身份驗(yàn)證,只有注冊的開發(fā)者才能夠進(jìn)行構(gòu)件的發(fā)布。
6.8.2版本控制
構(gòu)件的版本控制是確保構(gòu)件穩(wěn)定性和可追溯性的重要手段。版本控制過程如下:
a)版本號的定義,版本號格式為“主版本號.修訂號”,其中,.主版本號當(dāng)添加構(gòu)件新功能時遞
增,修訂號當(dāng)進(jìn)行向卜.兼容的問題修復(fù)時遞增:
b)版本發(fā)布,詳細(xì)記錄本次版小史新的內(nèi)容、修麥的問題和新增的功能,通過測試后根據(jù)正式發(fā)
布版本的命名規(guī)則進(jìn)行構(gòu)件新版本發(fā)布,并通知相關(guān)人員;
c)版本控制工具的使用,使用Git、Mercurial等分布式版本控制工具管理不同的版本。
13
T/BIAIMXXXXX—20XX
附錄A
(資料性)
yamI文件的關(guān)鍵配置信息示例
yaml關(guān)鍵配置信息示例如下:
FROMPytorch/Pylorch:latest#Mpylorch、lensorflow等基礎(chǔ)鏡像進(jìn)行運(yùn)行環(huán)境搭建
LABELkeys="Serviceinterfaceandcomponentparameterinformation”
#將服務(wù)接口信息與構(gòu)件參數(shù)言息通過LABEL進(jìn)行傳遞
Instal1basicbuildingtoolsanddependencies
BuildGolangruncnvironnicnt#配置Golang運(yùn)行環(huán)境
Down1oadGolangandinstallit
ConfigureGolangenvironmentvariables
BuildATModelrunenvironmentM±/.Python模型運(yùn)行環(huán)境
InstallingPythonandnecessaryconfigurations
pipinstall-rrequirements,txt
BuildGoproject,compileproject#由于服務(wù)由Go語言搭建,因此需要搭建Go項(xiàng)目
EXPOSEScrviccPort#暴露服務(wù)訪問端口號
CMD/ComponentSerivce"]#在容器啟動同時啟動構(gòu)件服務(wù)
14
T/BIAIMXXXXX—20XX
附錄B
(資料性)
values,yamI文件的關(guān)鍵配置信息示例
yaml關(guān)鍵配置信息示例如下:
image:#鏡像存儲位置信息
repository:http:localhost:8080/1ibra
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議紀(jì)律與秩序維護(hù)制度
- 2026年網(wǎng)絡(luò)攻擊防范策略實(shí)戰(zhàn)練習(xí)題
- 2026年地理學(xué)知識考試題庫及正確答案詳解
- 2026年公共管理基礎(chǔ)知識與實(shí)務(wù)操作能力考試預(yù)測模擬題
- 2026年建筑師考試專業(yè)基礎(chǔ)題庫與答案詳解
- 2026年證券從業(yè)考試投資分析策略與實(shí)踐題庫
- 2026年新版副產(chǎn)品協(xié)議
- 檢驗(yàn)科檢驗(yàn)報(bào)告丟失的補(bǔ)辦處理流程及制度
- 2025 小學(xué)六年級科學(xué)上冊螞蟻群體分工行為觀察記錄課件
- 2025年陜西航空職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 八年級地理上冊《中國的氣候》探究式教學(xué)設(shè)計(jì)
- 重慶市2026年高一(上)期末聯(lián)合檢測(康德卷)化學(xué)+答案
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人備考考試題庫及答案解析
- 2026貴州黔東南州公安局面向社會招聘警務(wù)輔助人員37人考試備考題庫及答案解析
- 2026年數(shù)字化管理專家認(rèn)證題庫200道及完整答案(全優(yōu))
- 鐵路除草作業(yè)方案范本
- 2026屆江蘇省常州市生物高一第一學(xué)期期末檢測試題含解析
- 2026年及未來5年市場數(shù)據(jù)中國高溫工業(yè)熱泵行業(yè)市場運(yùn)行態(tài)勢與投資戰(zhàn)略咨詢報(bào)告
- 教培機(jī)構(gòu)排課制度規(guī)范
- 2026年檢視問題清單與整改措施(2篇)
- 國家開放大學(xué)《基礎(chǔ)教育課程改革專題》形考任務(wù)(1-3)試題及答案解析
評論
0/150
提交評論