郄小明 張建君
摘要:從移動(dòng)終端特定場景下本地信息處理高效性、多樣性、安全性方面需求出發(fā),在借鑒微服務(wù)架構(gòu)設(shè)計(jì)思想基礎(chǔ)上,設(shè)計(jì)了面向終端本地應(yīng)用的服務(wù)平臺(tái)。本文從終端服務(wù)平臺(tái)功能定位上展開論述,設(shè)計(jì)了終端服務(wù)平臺(tái)的架構(gòu),重點(diǎn)從OS平臺(tái)、服務(wù)運(yùn)行環(huán)境和基礎(chǔ)微服務(wù)3個(gè)方面進(jìn)行闡述。該服務(wù)平臺(tái)通過服務(wù)網(wǎng)關(guān)為應(yīng)用提供統(tǒng)一的服務(wù)訪問接口,支持服務(wù)擴(kuò)展,為終端應(yīng)用開發(fā)提供支撐,提高了應(yīng)用的開發(fā)效率。
關(guān)鍵詞:微服務(wù);服務(wù)平臺(tái);終端;信息處理
中圖分類號(hào):TP311 ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? 文章編號(hào):1007-9416(2020)06-0000-00
隨著智能終端及移動(dòng)技術(shù)的快速發(fā)展,終端本地信息處理尤其針對(duì)特定場景的需求不斷增強(qiáng)[1]。為增強(qiáng)智能終端在特定場景下本地信息處理的高效性和多樣性,提高終端應(yīng)用的開發(fā)效率,設(shè)計(jì)基于微服務(wù)架構(gòu)的輕量化、可擴(kuò)展的服務(wù)平臺(tái),提供服務(wù)運(yùn)行環(huán)境及基礎(chǔ)微服務(wù)。同時(shí)制定服務(wù)開發(fā)標(biāo)準(zhǔn)及交互接口規(guī)范,便于開發(fā)部署其他擴(kuò)展服務(wù)。服務(wù)平臺(tái)為終端應(yīng)用開發(fā)提供統(tǒng)一的服務(wù)訪問接口。
1 微服務(wù)架構(gòu)
微服務(wù)架構(gòu)作為一種全新的架構(gòu)模式,通過微服務(wù)將一個(gè)功能復(fù)雜的單體應(yīng)用分解成一組小的服務(wù),不同服務(wù)直接可以相互協(xié)調(diào)、互相配合,共同完成一個(gè)復(fù)雜功能。微服務(wù)架構(gòu)中單個(gè)服務(wù)都采用進(jìn)程的方式獨(dú)立運(yùn)行,針對(duì)具體業(yè)務(wù)構(gòu)建相應(yīng)微服務(wù),不同微服務(wù)間交互開銷都是輕量級(jí)的。各微服務(wù)間均可以單獨(dú)部署,通過服務(wù)網(wǎng)關(guān)對(duì)外提供統(tǒng)一的服務(wù)接口[2]。
2 終端服務(wù)平臺(tái)定位
終端服務(wù)平臺(tái)是一個(gè)基礎(chǔ)的、用于衍生終端各應(yīng)用的支撐平臺(tái),是連接信息基礎(chǔ)設(shè)施與上層應(yīng)用的橋梁。在改進(jìn)和完善底層支撐與應(yīng)用服務(wù)等方面,發(fā)揮“體系基座”和“服務(wù)中樞”的作用。
服務(wù)平臺(tái)是在操作系統(tǒng)和應(yīng)用軟件之間構(gòu)建的中間層,主要用來屏蔽不同終端設(shè)備、通信鏈路的差異,提供共性微服務(wù)和擴(kuò)展微服務(wù),便于上層應(yīng)用的開發(fā)。
服務(wù)平臺(tái)遵循“高內(nèi)聚、松耦合”的設(shè)計(jì)思想,通過基礎(chǔ)服務(wù)和微服務(wù)技術(shù)體制適應(yīng)功能擴(kuò)展和按需裁剪與重組?;谖⒎?wù)的開發(fā)集成與無縫升級(jí)技術(shù),將功能復(fù)雜、體積龐大的功能集合按照標(biāo)準(zhǔn)拆分為多個(gè)體積小巧、功能簡單的獨(dú)立功能模塊,實(shí)現(xiàn)軟件和功能的解耦。針對(duì)具體業(yè)務(wù)問題,遵循制定的微服務(wù)開發(fā)標(biāo)準(zhǔn)和接口規(guī)范,可快速開發(fā)相應(yīng)服務(wù)模塊,并完成相應(yīng)部署。
3 服務(wù)平臺(tái)架構(gòu)設(shè)計(jì)
圖1 服務(wù)平臺(tái)架構(gòu)設(shè)計(jì)圖
基于微服務(wù)的平臺(tái)框架,按照層次化設(shè)計(jì)思想,如圖1所示,系統(tǒng)自上向下劃分為應(yīng)用層、平臺(tái)層、系統(tǒng)層和硬件層。應(yīng)用層“以用戶為中心”,重點(diǎn)實(shí)現(xiàn)人機(jī)交互功能,完成各類應(yīng)用界面設(shè)計(jì)和集成,可根據(jù)需要?jiǎng)討B(tài)加載。平臺(tái)層是各類服務(wù)功能實(shí)現(xiàn)的主體,采用服務(wù)化設(shè)計(jì),完成各類服務(wù)的數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存取等功能。根據(jù)內(nèi)容的獨(dú)立性劃分不同的微服務(wù),完成各自獨(dú)立的功能,微服務(wù)支持獨(dú)立部署,實(shí)現(xiàn)其自身功能。系統(tǒng)層為終端平臺(tái)運(yùn)行的操作系統(tǒng)。硬件層包含終端運(yùn)行的硬件及特定場景下接入的外圍設(shè)備。
平臺(tái)層按照層次劃分,可分為OS平臺(tái)、服務(wù)運(yùn)行環(huán)境、基礎(chǔ)微服務(wù)和專用微服務(wù)四部分。
3.1 OS平臺(tái)
OS平臺(tái)是功能統(tǒng)一的軟件基礎(chǔ)平臺(tái),屏蔽操作系統(tǒng)差異,采用跨平臺(tái)的軟件構(gòu)建技術(shù)。OS平臺(tái)作為運(yùn)行在操作系統(tǒng)上的平臺(tái)軟件,提供支持多種操作系統(tǒng)的統(tǒng)一抽象接口,為微服務(wù)提供獨(dú)立于特定操作系統(tǒng)的開發(fā)環(huán)境,降低操作系統(tǒng)差異對(duì)微服務(wù)開發(fā)和維護(hù)的影響,便于軟件研發(fā)人員專注在服務(wù)的總體設(shè)計(jì)和實(shí)現(xiàn)上。
OS平臺(tái)利用組件技術(shù)提供任務(wù)管理、定時(shí)器管理、消息隊(duì)列、內(nèi)存管理、日志管理、數(shù)據(jù)緩沖區(qū)管理、文件、字符串操作、信號(hào)量和互斥等基礎(chǔ)功能,為服務(wù)開發(fā)提供統(tǒng)一穩(wěn)定的環(huán)境,上層服務(wù)可直接使用平臺(tái)抽象接口,開發(fā)跨平臺(tái)的微服務(wù)[3]。
3.2 服務(wù)運(yùn)行環(huán)境
服務(wù)運(yùn)行環(huán)境作為服務(wù)平臺(tái)的基礎(chǔ),提供各微服務(wù)的統(tǒng)一管理,保障微服務(wù)間的互相協(xié)作,是服務(wù)平臺(tái)實(shí)現(xiàn)的技術(shù)支撐[4],主要包括以下幾部分。(1)注冊(cè)中心,采用集中注冊(cè)管理機(jī)制,接收微服務(wù)傳遞來的注冊(cè)信息,在本地哈希列表進(jìn)行存儲(chǔ)[5];通過服務(wù)刷新機(jī)制與各微服務(wù)進(jìn)行周期性的交互,以便定時(shí)查看各微服務(wù)運(yùn)行狀態(tài);在微服務(wù)狀態(tài)異常的情況下,可重啟微服務(wù)。(2)服務(wù)網(wǎng)關(guān),應(yīng)用需通過服務(wù)網(wǎng)關(guān)進(jìn)行服務(wù)平臺(tái)的訪問,是服務(wù)平臺(tái)的統(tǒng)一入口,各微服務(wù)提供的能力接口均通過服務(wù)網(wǎng)關(guān)對(duì)外提供。網(wǎng)關(guān)實(shí)現(xiàn)對(duì)請(qǐng)求的預(yù)處理、攔截,具備協(xié)議轉(zhuǎn)換、異常處理等功能;它使應(yīng)用與服務(wù)之間的耦合解除,完成前后臺(tái)分離,增強(qiáng)了系統(tǒng)的安全性。(3)服務(wù)容錯(cuò),構(gòu)建故障隔離、斷路器等容錯(cuò)與修復(fù)機(jī)制,避免單個(gè)服務(wù)不可用時(shí),故障蔓延,并造成整個(gè)平臺(tái)不可用的風(fēng)險(xiǎn)[6]。(4)安全認(rèn)證,用于調(diào)用服務(wù)應(yīng)用的身份驗(yàn)證、授權(quán)和訪問控制。管理和控制上層應(yīng)用對(duì)服務(wù)平臺(tái)的訪問過程,防止被非授權(quán)應(yīng)用訪問。安全認(rèn)證截獲應(yīng)用的服務(wù)請(qǐng)求,從中提取應(yīng)用信息、認(rèn)證信息等,通過調(diào)用內(nèi)部的安全和策略機(jī)制對(duì)服務(wù)請(qǐng)求認(rèn)證授權(quán),只允許合法應(yīng)用且滿足策略規(guī)則的請(qǐng)求通過,阻止非法和越權(quán)的服務(wù)請(qǐng)求。
3.3 基礎(chǔ)微服務(wù)
基礎(chǔ)微服務(wù)為上層應(yīng)用軟件提供部分核心、共性基礎(chǔ)功能,支撐專業(yè)應(yīng)用擴(kuò)展[7]。主要包括統(tǒng)一認(rèn)證、設(shè)備管理、數(shù)據(jù)加密、數(shù)據(jù)存儲(chǔ)、權(quán)限管理等微服務(wù)。
(1)統(tǒng)一認(rèn)證,針對(duì)終端服務(wù)平臺(tái)的特定應(yīng)用場景,對(duì)使用終端的用戶進(jìn)行身份認(rèn)證,防止未經(jīng)許可的用戶使用終端。(2)設(shè)備管理,終端服務(wù)平臺(tái)的需求,終端需連接多種外圍設(shè)備,同時(shí)支持動(dòng)態(tài)擴(kuò)展。設(shè)備管理微服務(wù)完成外圍設(shè)備的動(dòng)態(tài)接入及狀態(tài)維護(hù),為應(yīng)用提供設(shè)備列表、狀態(tài)管理、操作管理等功能。(3)數(shù)據(jù)加密,保障終端運(yùn)行及通信時(shí)的數(shù)據(jù)安全,設(shè)計(jì)通用數(shù)據(jù)加密解密服務(wù),對(duì)外提供加密和解密接口,為需要在網(wǎng)絡(luò)中傳輸及本地存儲(chǔ)的數(shù)據(jù)提供加密解密支撐。(4)數(shù)據(jù)存儲(chǔ),該服務(wù)提供輕量化的數(shù)據(jù)存儲(chǔ)能力[8],包括輕量化文件存儲(chǔ)和Sqlite數(shù)據(jù)存儲(chǔ),對(duì)外提供增刪改查等靈活操作的服務(wù)接口。服務(wù)和應(yīng)用開發(fā)者可通過調(diào)用相應(yīng)接口完成本地?cái)?shù)據(jù)存儲(chǔ)。(5)權(quán)限管理,特定應(yīng)用場景下,終端用戶是各級(jí)網(wǎng)絡(luò)的管理者,也是各種應(yīng)用命令的執(zhí)行者,各級(jí)用戶有不同的任務(wù)與網(wǎng)絡(luò)需求。為了更有效地進(jìn)行網(wǎng)絡(luò)組織運(yùn)用、防止下級(jí)用戶的越級(jí)操作或誤操作,對(duì)用戶的用戶等級(jí)、拓?fù)洳榭礄?quán)限等使用權(quán)限進(jìn)行統(tǒng)一管理。
3.4 專用微服務(wù)
在遵循服務(wù)平臺(tái)制定的開發(fā)標(biāo)準(zhǔn)和接口規(guī)范基礎(chǔ)上,利用OS平臺(tái)和基礎(chǔ)微服務(wù)提供接口,開發(fā)者可根據(jù)需求開發(fā)各種專用微服務(wù),為終端提供高效、多樣的服務(wù)。
4結(jié)語
目前主流的微服務(wù)架構(gòu)大多應(yīng)用在服務(wù)器后臺(tái),通過網(wǎng)絡(luò)為前臺(tái)應(yīng)用提供服務(wù)。本文設(shè)計(jì)了采用微服務(wù)架構(gòu)的終端服務(wù)平臺(tái),該平臺(tái)為終端提供多種基礎(chǔ)微服務(wù),支持終端本地多樣信息的處理和安全支撐,同時(shí)具備服務(wù)擴(kuò)展的能力。平臺(tái)對(duì)外通過服務(wù)網(wǎng)關(guān)提供統(tǒng)一的服務(wù)調(diào)用,方便應(yīng)用調(diào)用各種服務(wù)接口,屏蔽了應(yīng)用與內(nèi)部服務(wù)間的關(guān)聯(lián)。該服務(wù)平臺(tái)在終端領(lǐng)域有較好的實(shí)用價(jià)值和應(yīng)用前景。
參考文獻(xiàn)
[1]張向祺.基于微服務(wù)的企業(yè)移動(dòng)辦公平臺(tái)規(guī)劃設(shè)計(jì)[J].信息技術(shù)與標(biāo)準(zhǔn)化,2016(3):71-74.
[2]曹宏宇,胡恒.基于微服務(wù)架構(gòu)的智能終端軟件架構(gòu)探討[J].科技創(chuàng)新與應(yīng)用,2019(20):17-19.
[3]羅有平,汲錫林.統(tǒng)一通信客戶端軟件架構(gòu)研究[J].無線電工程,2018,48(4):253-256.
[4]付朋輝,呂鋒,王艷.基于微服務(wù)架構(gòu)的平臺(tái)設(shè)計(jì)與應(yīng)用[J].金融電子化,2017(6):72-73.
[5]耿登田,高瞻.基于SOA的通信網(wǎng)絡(luò)服務(wù)技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2015(4):30-32.
[6]晉榮,王瑞,程洪閃.基于微服務(wù)架構(gòu)的綜合運(yùn)維系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2019(13):56-58.
[7]余和劍.基于微服務(wù)架構(gòu)的信息資源服務(wù)平臺(tái)構(gòu)建研究[J].科技管理研究,2019(13):212-126.
[8]楊俊偉,紀(jì)鑫,胡強(qiáng)新.基于微服務(wù)架構(gòu)的電力云服務(wù)平臺(tái)[J].電力信息與通信技術(shù),2017,15(1):8-11.
收稿日期:2020-04-25
作者簡介:郄小明(1987—),男,河北石家莊人,碩士,工程師,研究方向:通信系統(tǒng)、終端技術(shù)。
通訊作者:張建君(1983—),男,河北邢臺(tái)人,碩士,高級(jí)工程師,研究方向:通信網(wǎng)絡(luò)與統(tǒng)一通信技術(shù)。