劉明偉,羅歡,張凌志
(南方電網數字電網研究院有限公司,廣東廣州 510700)
目前,一些普通服務業務通過平臺就可以解決,極大地便利了大眾的生活,因此人們對于平臺的功能要求越來越高、越來越嚴格,微服務平臺仍然存在一些功能等待開發[1-2]。
傳統的微服務平臺是通過云服務技術和智能終端設備構建而成的,由于云服務技術應用范圍有限,因此在使用過程中暴露出許多漏洞,最主要的問題就是功能過于單一。適應度函數是遺傳算法中的重要函數,能夠利用最大值和最小值實現信息增強。
該文基于適應度函數算法設計了一種新的微服務平臺增量式開發系統,在此基礎上,以增量式技術為核心研究并設計微服務的硬件和軟件,延伸微服務平臺的功能,提高平臺的體驗效果。
微服務架構的特點一方面是微服務框架的各個組成模塊是獨立運行的,方便各個模塊的更新和更改,微服務框架的操作者和開發者可以同時操作平臺,提高微服務框架的工作效率;另一方面微服務架構每一個組件的更改方式簡單,具有較強的功能延伸性,有利于框架的升級和刪除[3-4]。
基于適應度函數的微服務平臺增量式開發系統架構如圖1 所示。
由圖1 可知,微服務架構主要由網關、負載組件以及服務通信設備組成。網關以一個服務器的身份存在于微服務平臺增量式開發系統硬件區域內部,同時也是系統的信息通道入口,網關存在的目的是在數據通信過程中,解決客戶端和微服務端通信卡頓的問題,提高微服務框架的工作效率。網關的工作原理是第一時間接收微服務平臺客戶端發出的服務請求數據,根據網關的身份快速完成服務業務,最后將結果發回接收服務業務的實際服務器上[5-6]。網關的獨特優勢是最先捕獲客戶端發出的服務請求,一個網關可以負責多個請求服務,并且一個請求服務可以調用多個網關[7-8]。根據網關特性和數據封裝性,直接連接客戶端和微服務架構,減少微服務架構的工作量,提高微服務框架的工作效率。
服務通信組件的工作任務是維護客戶端和微服務平臺增量式開發系統的正常通信,通信服務組件采用遠程訪問路由的方法,組件客戶端請求服務時只需要識別出請求服務的請求地址、請求數據以及服務類型即可,縮短平臺解決服務業務的時間。
負載組件的功能是平衡微服務平臺的資源負載強度,負載組件通過對網關和任務的進度進行監測,平衡各個網關的工作量,避免出現服務緩沖時間過長的情況,使服務請求和網關接收無縫銜接。
硬件模塊由請求探測器、效應器、抽象器、推理器、策略評估器組成。系統硬件結構如圖2 所示。
圖2 中,請求探測器用來感知微服務平臺增量式開發系統內部的請求環境狀態,因為平臺由許多傳感設備構成,傳感器發出的信號波對于客戶端的請求信號存在排斥性,因此請求探測器可以降低傳感設備的信號波強度,擴大請求信號的強度[9]。
效應器的主要工作是調節微服務平臺內部的資源分配情況,平衡各個組件的負載強度。
抽象器是處理客戶端發出的抽象請求服務信號,將此請求信號轉化為普通請求,后續則進行普通微服務請求的運行。推理器的目的是根據請求服務語句按照規則進行推理,深入剖析請求服務內容[10-11]。
策略評估器負責對請求服務數據的上下文請求感知策略進行評估,如果一條策略經過評估后具有可行性,則執行其動作部分,策略評估器還需進一步驅動應用環境體的執行部分,最后完成策略所規定的動作。微服務平臺增量式開發系統硬件電路圖如圖3 所示。

圖3 開發系統硬件電路圖
在系統硬件中,該文還設計了增量開發模塊,增量開發模塊是基于適應度函數的微服務平臺增量式開發系統研究的核心,可實現對新開發得到的各個適應性功能的在線動態部署。增量開發模塊的任務是將微服務平臺各個模塊賦予功能延展性,以此提高微服務平臺的工作服務效率,增量開發模塊的工作流程分為兩個階段,分別為服務請求初始化階段和增量開發處理階段。服務請求初始化階段的主要內容包括請求服務環境建模、服務平臺狀態建模、請求服務數據邏輯性分析[12-13]。第二階段為平臺增量開發處理階段,首先在微服務平臺各個組件插入一個組件槽,然后對微服務平臺內部組件信息進行感知提取,與相應領域的實時技術相匹配,如果不匹配,則在組件槽里對其組件進行升級替換。
客戶使用微服務平臺增量式開發系統時,客戶最直觀的感知來源于系統登錄頁面,因此系統登錄頁面的設計十分重要。系統登錄頁面設計的要求是格式簡單,并且將系統的功能百分百地呈現給使用者,為此,該文登錄頁面設計了兩部分,一部分是微服務平臺增量式開發系統點擊功能區域;另一部分是主動搜索功能區域。在系統登錄頁面的各個功能處都設定一個功能觸發點,一旦用戶點擊后,系統立刻跳轉頁面,完成功能的實現[14]。系統登錄流程如圖4所示。

圖4 系統登錄流程
為了提高微服務平臺增量式開發系統的數據調用速度,數據庫功能的設計是必不可少的,數據庫是一個有組織、具有一定擴展性、可共享的存儲數據集合。數據庫語言一方面可以直觀明了地表達微服務平臺增量式開發系統界面中的數據以及數據之間的關系,同時也是設計人員與用戶進行數據交流的一項重要方式[15-16]。為了提高微服務平臺增量式開發系統的服務體驗效果,該文對數據庫中的表和列進行相應規范設計。數據庫結構如圖5 所示。

圖5 數據庫結構
為了減少微服務平臺內部增量式開發系統的緩存資源,該文設計的系統數據庫規范一是各表的屬性不允許列存在空數據的情況,因為數據庫各個有效表中存儲數據信息的各個屬性都明確時,才是一個有效的功能,如果表中的列存在空,那么微服務平臺的功能模塊屬性不全,則無法進行調用,只能無效地存儲在微服務平臺中,占據平臺的有效空間。數據庫規范二是數據庫表中不允許出現重復的列,因為重復的列會增加微服務平臺內部資源數據的冗余情況,表中數據應該有唯一的標識符。
適應度函數算法是微服務平臺增量式開發系統軟件區域的核心功能,適應度函數控制遺傳算法的收斂速度和最優解的選擇,降低計算機的計算復雜度,提高運算能力。適應度函數的計算原理是根據項目的要求,對其設定一個適應度值,通過對比衡量數據與適應度的值,選擇最優的解決路徑,其本質是“適者生存”。對于微服務平臺增量式開發系統,適應度函數通過對客戶端請求數據進行快速識別調用,在開發系統的數據庫中調用適應度函數算法,對客戶端的服務請求命令進行分析,縮短完成用戶請求的時間。具體的適應度函數算法表達式如下:


其中,k為被測程序的實際執行路徑與目標路徑中較短的一條路徑上的請求數據長度,AP(L) 和OP(L)分別為被測程序的實際執行路徑和目標路徑數據,OP-Ap為兩條路徑長度的差值,n為服務請求數據個數。
以上兩個公式都是適應度函數算法,算法識別平臺接收到的請求,分別進行計算,f(a)、f(b)的數值差值越小,則服務方法的效果越好。適應度函數對微服務平臺增量式開發系統提出的服務應對路徑進行分析,選擇出最優的服務功能,提交給客戶端,完成系統的軟件工作。
為了研究該文提出的基于適應度函數的微服務平臺增量式開發系統的有效性,與傳統基于數據挖掘的微服務平臺增量式開發系統、基于神經網絡的微服務平臺增量式開發系統進行對比實驗,設置實驗參數如表1 所示。

表1 實驗參數
根據表1 的實驗參數進行實驗,得到的開發時間實驗結果如圖6 所示。

圖6 開發時間實驗結果
根據圖6 可知,對于相同能量的服務平臺,該文的開發時間更短,因為該文引入了適應度函數,利用遺傳算法,在短時間內確定最大值、最小值,明確開發范圍,而傳統的方法由于需要采集過量信息,所以開發時間過長。
系統適應性如表2 所示。

表2 系統適應性實驗結果
由表2 可知,目前開發的系統適應性都難以達到90%以上,這是由于不同的微服務平臺都存在一定的局限性,但是在3 種系統中,該文提出的系統適應性更廣。由于該文的系統開發耗時短,所以可以針對不同微服務平臺的特點進行分析,適應范圍更廣。
該文研究的基于適應度函數的微服務平臺增量式開發系統,硬件區域由微服務框架、增量開發模塊和硬件實體設計模塊構成,軟件區域包括數據庫、系統登錄軟件以及適應度函數算法,共同構成一個全新的微服務平臺增量式開發系統。通過該文的微服務平臺增量式開發系統的研究,對于微服務平臺的發展有重大影響,并且提高微服務平臺使用者的體驗感,便利大眾的生活。