何振邦,徐延軍
(1. 青海省交通控股集團有限公司, 西寧 810000;2. 上海交通大學 交通運輸工程系, 上海 200240;3. 上海船舶運輸科學研究所有限公司, 上海 200135; 4. 中遠海運科技股份有限公司, 上海 200135)
為加快交通強國建設,構建現代綜合交通運輸體系,國務院于2022年初印發了《“十四五”現代綜合交通運輸體系發展規劃》(以下簡稱《規劃》)。《規劃》提出:創新驅動、深化改革是現代綜合交通運輸體系發展規劃的基本原則;提升交通運輸數字化、一體化,推動交通運輸市場統一開放是發展目標。
目前國內公路業務中涉及的建設、管理、養護、運營和安全(以下簡稱“建管養運安”)系統[1]大多是相互孤立的,要實現交通運輸市場統一開放,必須實現企業內部各系統之間的數據共享和與外部系統的數據共享,構建企業從內部到外部的開放生態;同時,目前高速公路全壽命周期內的建管養運安一體化研究相對缺乏。隨著數字化轉型的不斷推進,很多企業都已構建數據中臺,通過對內部數據進行采集、計算、存儲和加工,已形成一些能支撐決策的有價值的數據,如何與外部系統共享這些數據,實現與外部企業互聯,并產生商業價值,是企業實現數字化轉型必須思考的問題。
若要與外部系統進行數據共享,不僅要考慮數據連通問題,而且要考慮經濟收益、外部用戶管理、安全、運營和維護等因素。企業數據中臺的主要作用是對數據進行采集和處理,若要與外部系統共享數據,需建立一個獨立的一體化平臺[2],即資源能力開放平臺。
本文結合已有的業務信息系統,設計開發一套適用于高速公路管養企業的資源能力開放平臺,構建高速公路資源服務目錄,提升企業對內、對外的數據互聯和共享能力。
資源能力開放平臺是指接口服務開放平臺,其以服務的方式開放業務或數據能力,并提供對服務的全生命周期管理,以及對平臺的運營和維護管理。
資源能力開放平臺的核心是API(Application Programming Interface)網關,這是所有接口服務注冊、服務請求的統一入口,是面向接口服務、串行集中式的強管控服務[3]。資源能力開放平臺能按統一的標準對現有的業務信息系統或數據中臺的接口服務進行編排管理,統一對外開放。
資源能力開放平臺能快速整合應用和服務,低成本、高效率地創建豐富多樣的業務場景,使企業系統對外服務更便捷[4]。總體來說,資源能力開放平臺主要有以下優點:
1) 對接口服務統一管理,統一對外開放;
2) 方便進行功能擴展,兼容多個系統;
3) 能控制訪問流量等。
目前知名的公有云開放平臺主要有阿里云API網關、京東云API網關和Amazon API Gateway等。這些資源能力開放平臺支持權限認證和流量控制,能幫助客戶將服務和數據開放給外部系統,也有完整的生命周期管理和版本管理等功能,但高速公路管養企業使用的是專用網絡(收費專網和監控專網等),采用公有云開放平臺需考慮安全問題,并進行大規模的業務信息系統改造。因此,高速公路管養企業通常會基于自建的私有云平臺設計開發資源能力開放平臺。
考慮到成本和私有化部署等因素,選擇基于WSO2 API Manager開源組件構建資源能力開放平臺,并通過開發服務適配模塊與現有的信息系統和數據中臺融合,結合高速公路相關業務構建資源服務目錄,從而得到集成API網關、用戶管理、服務發布工具、API開發者門戶、安全管理[5]、流量控制和資源服務目錄等功能的高速公路建管養運安一體化資源能力開放平臺。該資源能力開放平臺總體架構見圖1。

圖1 資源能力開放平臺總體架構
API網關是資源能力開放平臺的大腦,是平臺運轉的樞紐,所有服務的注冊、調用、轉發、安全驗證和流量控制等都通過API網關完成。
服務在創建之后會部署到API網關中,只有如此才會被調用者發現。當調用者請求服務時,會先將請求發送給API網關,API網關根據安全性策略和流量控制策略調用安全管理和流量控制模塊對請求的合規性進行驗證,若符合通行條件,則會把請求轉發到對應的服務上。每次請求都會在通過API網關時被記錄,基于這些請求的數據可供調用分析使用。
管理平臺主要由服務發布工具、API開發者門戶和用戶管理構成,其架構見圖2。

圖2 管理平臺架構
3.3.1 服務發布工具
服務發布工具是服務開發者進行服務開發、記錄、保護、測試和管理的工具。服務在創建和配置完成之后可保存并發布,只有經過發布的服務才能在開發者門戶中被訂閱和調用。
3.3.2 API開發者門戶
API開發者門戶是為服務調用者提供服務的模塊,可通過開發者門戶查看服務的信息,包括接口的描述、參數和調用的軟件開發工具包(Software Development Kit, SDK)等,開發者可通過該模塊對相關信息進行在線調用和測試。
3.3.3 用戶管理
用戶管理包括外部用戶自助注冊申請、審核和權限分配等。無論是服務提供者還是服務調用者,都可注冊賬號,其中:服務提供者可通過服務發布工具創建資源服務目錄并發布服務;服務調用者可通過開發者門戶訂閱已部署的服務,進行測試和調用。
控制平臺主要由安全管理模塊和流量控制模塊構成,其架構見圖3。

圖3 控制平臺架構
3.4.1 安全管理
安全管理主要是指鑒權認證[6],該模塊提供令牌生成服務,服務調用者可調用該服務獲得通行令牌,也可通過開發者門戶生成OAuth 2.0訪問令牌,API網關通過驗證令牌的真實性保證調用的安全性。
3.4.2 流量控制
流量控制模塊主要用來監管服務調用流量,可針對不同的調用者或不同的服務制訂不同的流量控制策略。例如,可限制某項服務每分鐘、每月、每年的調用次數,也可限制某個用戶的總調用次數,根據不同的場景選擇不同的策略。
此次平臺構建從高速公路行業數字化全生命周期出發,將平臺劃分為6個一級目錄(分別是通用數據、公路建設、公路管理、公路養護、公路運營和公路安全)、20個二級目錄和55個三級目錄,共包含209個接口服務,后續可根據規劃進行升級擴展。
目錄分類及提供的API服務可參考高速公路資源能力開放平臺資源服務目錄,見表1。

表1 (續)
資源服務目錄是在開發者工具上按生命周期的管理流程統一構建的。但是,真正的服務并不是完全新建的,而是充分利用現有的服務資源,比如已存在的業務信息系統和數據中臺等。
由于現有的信息系統不是同一時期建設的,因此采用的框架有多種,采用的技術有所不同,對外開放時調用的方式也不相同,這給調用者帶來了麻煩,需采用多種調用方式才能完成對多項服務的請求。為解決該問題,資源能力開放平臺統一采用RESTful調用方式對外開放,規范服務調用方式和服務標準。
對于已有的RESTful類型的服務,API網關可直接跳轉到對應的服務;對于不是該類型的服務,開發一個針對該類型服務的適配模塊,所有請求到API網關之后都會先轉發到該適配模塊,再跳轉到對應的服務,這樣就可極大地簡化調用者的開發工作。
在測試過程中,該模塊是以單個微服務的方式部署的,當遇到大批量請求時會造成通道阻塞。為解決該問題,將所有適配模塊添加到docker容器[7]中進行集群部署,服務的負載會根據請求量的多少自動進行調整。
后續平臺優化的重點是在面向海量用戶的服務調用請求時,實現軟硬件資源的彈性伸縮和負載的動態調整。
目前該資源能力開放平臺已實現與青海省高速公路全路網綜合集中監控管理平臺的無縫對接和融合,在完成青海省高速公路運營管理有限公司與公安、交警和路政等單位之間的數據交換和共享方面發揮了積極作用;同時,依托該平臺,正在實現面向公眾的高速數據服務增值業務拓展應用。隨著研究的不斷深入,接入的業務信息系統和數據不斷增加,該平臺提供的資源服務目錄會越來越豐富,平臺的作用會越來越明顯。