麥秀青 王千 陸平 徐冬晨 張晨
關鍵詞:多模通信;國產操作系統;YROS;HTML5 技術
中圖分類號:TP316 文獻標識碼:A 文章編號:1006-8228(2023)11-141-05
0 引言
隨著通信技術的不斷發展,移動終端的通信模式變得非常復雜多樣。不同的無線通信技術[1]各有優缺點且制式差異較大,能綜合各種不同通信制式優點的多模通信是必然趨勢。由于波形廠商意見不統一、波形標準進展緩慢等問題,給多模通信終端操作系統適配帶來了很大的挑戰。
本文提出了一種多模通信終端操作系統的關鍵技術實現方案,該方案集成了天通通信[2]、LTE[3]和自組網[4]通信模塊,針對多模通信終端的融合通信需求,基于國產操作系統YROS(銀河銳華終端操作系統)平臺實現了多模融合通信框架,通過對通信模塊的抽象化,忽略了不同通信模塊在工作方式上的差異,保證了模塊間的協同工作以及平滑切換。對上層應用形成統一、共享的HTML5 應用軟件接口,對下層通過集成不同波形廠家定制SDK,對天通通信、LTE 和自組網的通信協議進行軟件適配,并與多模通信層的通信模塊進行集成,來實現基于多模通信鏈路的數據傳輸能力,采用統一的通信框架從而滿足了不同架構、不同體制通信波形之間的融合通信設計需求。
1 多模融合通信框架
國內移動通信操作系統[5]絕大多數由Android 定制[6]而成。Android 源代碼開放,應用開發更加自如,開發者可以有更大的設計權限,但Android 系統的升級要通過終端廠家,導致系統升級緩慢,新版本不能很快得到推廣,同時還存在知識產權和安全后門風險。
國產操作系統YROS 是由中國電子科技集團公司第32 研究所與中國人民解放軍國防科技大學聯合研制的智能移動操作系統,其主要技術路徑和TDOS、OpenHarmony 大致相同,均為Linux+HTML5 路線,但是采用更加開放的Gecko 引擎,由Mozilla 基金會主導開發,遵守MPL 協議,在知識產權方面風險幾乎為零。同時在以H5 為主的應用生態構建方面已有很好的開發人員基礎和市場基礎[7-8]。
基于自主可控的設計需求和H5 應用生態前景,本文提出的多模通信終端操作系統方案在國產YROS平臺的基礎上擴充了天通、LTE 和自組網通信方式,具備了支持自組網、天通和LTE 等多種通信方式的短信和通話功能。其中的關鍵技術多模融合框架如圖1 所示,其采用了軟件分層架構設計思路,經典三層架構自頂向下由應用層、多模通信層、通信協議層組成,應用層負責提供業務展示和用戶交互,多模通信層負責對上提供融合通信業務能力,對下分發業務請求,通信協議層對上提供通信數據訪問接口。
⑴ 應用軟件層
主要包括了通訊錄、設置、通話和信息的用戶界面人機交互模塊,在YROS 平臺應用基礎上進行了移植重構,實現了多模通信方式下的電話應用、短信應用和系統設置應用,為用戶提供了對天通、自組網和LTE 多模通信業務功能的統一訪問。
⑵ 多模通信層
主要包括了天通通信模塊、LTE 通信模塊和自組網通信模塊。在多模通信層中,通信模塊負責與下層相應的波形通信協議棧建立數據鏈路通道,通過與波形進行數據交互為上層提供了基于數據鏈路的網絡通信接口功能。通過封裝Web 接口,完成了對通信共性業務的支撐,對全部波形通信業務模塊進行標準化抽象,包含通話業務、即時消息業務、基礎設置業務。對上提供統一的應用軟件業務功能接口,以供應用軟件共享調用。
⑶ 通信協議層
主要包括了天通協議棧封裝庫rild、LTE 協議棧開發工具庫SDK、自組網協議棧開發工具庫SDK。通過對天通、LTE 和自組網的通信協議進行軟件適配,并與上層多模通信層的通信模塊進行集成,實現基于多模通信鏈路的數據傳輸能力。
2 主要通信模塊設計與實現
2.1 天通通信模塊
天通通信模塊包括了消息傳輸模塊、查詢設置模塊、通話模塊、短信模塊。其中,消息傳輸模塊負責提供消息轉發、請求封裝等基礎功能;查詢設置模塊提供天通網絡服務的打開/關閉,天通卡信息和網絡信息的查詢等功能;通話模塊負責提供天通電話撥打、接聽、掛斷等功能并提供系統接口;短信模塊提供天通短信收發功能并提供系統接口。
⑴ 消息傳輸
天通消息傳輸模塊提供天通通信協議層(RILD)和系統中天通功能模塊(查詢設置模塊、通話模塊、短信模塊)交互的功能。
當天通消息傳輸模塊接收到天通業務功能模塊的請求消息時,將請求消息類型和請求對應的回調函數保存在Map 中,并將請求消息封裝為請求數據包發送給天通通信協議層;當天通消息傳輸模塊接收到天通通信協議層的請求回報數據包時,從數據包中取出返回信息,根據返回信息中的請求消息類型,在Map中查找該消息類型并調用對應回調函數,然后從Map中刪除該請求消息類型;當天通消息傳輸模塊接收到天通通信協議層的主動上報數據包時,根據返回信息中的消息類型,調用對應函數。
⑵ 查詢設置
天通查詢設置模塊提供天通連接開啟關閉、天通卡信息查詢,當前連接狀態查詢等功能,并向上層提供相關接口。天通設置模塊保存當前天通卡與連接信息,并為每個應用維護一個天通卡監聽器列表與連接服務監聽器列表,并提供監聽器的注冊與注銷接口。
當天通查詢設置模塊接收到上層應用的查詢請求后,返回天通設置模塊中保存的對應天通卡與連接信息,如天通卡id、類型、當前連接、當前連接狀態等;當天通查詢設置模塊通過天通消息傳輸模塊收到天通卡信息和連接信息變更消息時,向消息傳輸模塊發送請求,然后根據返回消息修改查詢設置模塊保存的信息,并通過上層應用注冊的監聽器向上層應用發送事件;當天通查詢設置模塊接收到上層應用的設置連接服務的請求后,向天通消息傳輸模塊發送請求,并通過上層應用注冊的監聽器向上層應用發送結果事件。天通查詢設置流程圖如圖2 所示。
⑶ 通話
天通通話功能模塊提供天通通話的撥號、接聽、掛斷等功能,并向上層應用提供相關接口。天通通話模塊保存當前通話狀態,為每個應用維護一個通話狀態監聽器列表,并提供監聽器的注冊與注銷接口。
當天通通話功能模塊接收到上層應用的發起通話的請求后,向天通消息傳輸模塊發送請求;當通過天通消息傳輸模塊收到來電請求消息時,修改當前通話狀態,并通過上層應用注冊的監聽器向上層應用發送對應事件;當接收到上層應用的應答通話的請求后,向天通消息傳輸模塊發送請求;當接收到上層應用的掛斷通話的請求后,向天通消息傳輸模塊發送請求;當通過天通基礎模塊收到通話狀態變更消息時,修改當前通話狀態,并通過上層應用注冊的監聽器向上層應用發送對應事件。天通通話功能流程圖如圖3所示。
⑷ 短信
天通短信功能模塊提供天通短信的發送、接收功能,并向上層應用提供相關接口,并為每個應用維護一個短信消息監聽器列表,并提供監聽器的注冊與注銷接口。
當天通短信功能模塊接收到上層應用發送短信的請求后,向天通消息傳輸模塊發送請求,當從天通消息傳輸模塊接收到發送結果消息時,通過上層應用注冊的監聽器向上層應用返回事件,其中包括發送中事件、已發送事件、發送成功事件和失敗事件;當天通短信功能模塊從天通消息傳輸模塊接收到收到短信消息時,通過上層應用注冊的監聽器向上層應用發送事件通知用戶。天通短信功能流程圖如圖4 所示。
2.2 LTE 通信模塊
LTE 通信模塊包括了LTE 波形加載模塊、電話模塊、短信模塊。其中LTE 波形加載模塊負責提供LTE波形加載、建立數據通信鏈路、數據傳輸等功能;電話模塊負責提供LTE 電話撥打、接聽、掛斷等功能并提供系統接口;短信模塊負責提供LTE 點對點及群組的短信收發功能并提供系統接口。
⑴ LTE 波形加載
LTE 波形加載功能主要提供數據通訊鏈路建立與數據傳輸功能。數據通信鏈路的建立主要分為鏈路不可用階段、鏈路建立階段、網絡層協商階段、鏈路終止階段等四個階段。當系統啟動后,若檢測到加載有LTE 模塊,則通過AT 指令打開LTE 模塊,此時進入到鏈路不可用狀態;待LTE 通信物理鏈路激活后,進入鏈路建立階段,在此階段中進行鏈路控制協議協商,以確定工作方式、認證方式、鏈路壓縮等,若協商成功,表示底層鏈路已經正確建立,若協商失敗,則返回至鏈路不可用狀態;底層數據鏈路建立后,進行網絡層協議階段,此階段過程中按照各網絡控制些以進行配置協商,協商成功則數據通信鏈路便可以基于TCP/IP 進行發送/接收報文。在數據鏈路建立成功后,波形丟失等多種情況可能導致鏈路終止,此時會通過鏈路控制協議報文來關閉鏈路,并通知網絡層與物理層強制關閉鏈路,最終使鏈路處于不可用狀態。數據通信鏈路的建立與斷開的流程如圖5 所示。
當通訊鏈路建立成功后,會創建一個網絡接口,并在創建之初獲取動態分配的IP 地址。上層應用發送TCP/IP 數據包時,數據會經過LTE 協議封裝,通過該網絡接口將數據發送到LTE 模塊,LTE 模塊將信息發送出去。當LTE 模塊收到數據時,會先通過LTE 協議解析,最終將數據發送給上層應用。
LTE 電話模塊提供LTE 電話撥打、接聽、掛斷等功能并提供系統接口。當LTE 電話功能模塊接受到LTE 本地客戶端的登錄成功消息后,啟動消息接受線程,以接收來自LTE 本地客戶端的消息;LTE 電話功能模塊為每個應用維護一個電話狀態監聽器列表,并提供監聽器的注冊與注銷接口;當接收到用戶應用的電話撥打請求時,LTE 電話模塊獲取LTE 的用戶登錄信息以及系統當前的通話狀態,若當前沒有用戶登錄或處于優先級更高的通話中,則拒絕用戶應用電話撥號請求或將接受到的來電消息拋棄,否則LTE 電話模塊向LTE 本地客戶端發送電話撥打/接聽消息;當LTE通話接通后,LTE 電話模塊將收發電話音頻流數據,并接受LTE 電話狀態消息,并將消息封裝成LTE 電話事件通過用戶應用注冊的監聽器發送給用戶應用,直至用戶應用通過電話掛斷接口結束當前LTE 電話。LTE電話功能的流程圖如圖6 所示。
⑶ 短信
LTE 短信模塊主要提供LTE 點對點以及群組的短信收發功能并提供系統接口。當LTE 短信功能模塊接收到LTE 本地客戶端的登錄成功消息后啟動接受消息線程,用以接受LTE 本地客戶端的短信相關消息;LTE 短信功能模塊為每個應用維護一個短信消息監聽器列表,并提供監聽器的注冊與銷毀接口;當接收到用戶應用發送的短信的請求后,LTE 短信功能模塊獲取LTE 的用戶登錄信息,若當前沒有用戶登錄,則拒絕用戶的登錄發送短信請求,否則LTE 短信功能模塊向LTE 本地客戶端發送短信請求;當LTE 功能模塊接受到LTE 本地客戶端發送的短信送達狀態消息或收到短信消息時,將其封裝成短信事件通過用戶應用注冊的監聽器發送給用戶應用。短信功能流程圖如圖7 所示。
2.3 自組網通信模塊
自組網通信模塊包括了自組網波形加載模塊、業務消息封裝解析模塊、業務接口訪問模塊。其中自組網波形加載負責提供自組網波形集成部署和加載功能;業務消息封裝解析負責提供對自組網通信數據協議的解析和封裝功能;業務接口訪問負責提供自組網通話、短消息、文件傳輸、群組和配置項查詢設置的功能訪問。
⑴ 自組網波形加載
目前自組網協議SDK 由自組網服務組件、自組網SDK 和安裝腳本組成,其中,自組網服務組件由核心服務程序、共享庫和分區鏡像文件等組成;自組網SDK 是基于自組網服務運行的可執行程序,負責分發和接收自組網消息;安裝腳本是由一系列安裝指令組成的批處理程序。本地部署自組網波形服務組件,系統啟動后運行服務組件,檢測當前是否為自組網模式,啟動自組網波形服務,完成自組網波形加載。
⑵ 業務消息封裝解析
自組網功能業務的核心部分是對自組網通信數據交互協議的處理,自組網通信模塊通過解析和封裝通信協議完成與自組網模塊的業務功能交互,自組網通信模塊與自組網協議棧模塊之間的數據交互示意圖如圖8 所示。自組網通信模塊是通過與自組網通信協議層進行UDP 通信,同時解析和封裝自組網通信數據交互協議,從而對系統上層使用自組網業務功能提供支撐。
⑶ 業務接口訪問
通過對自組網業務功能的進行web 接口封裝,上層應用能夠便捷的使用自組網業務功能。按照業務類型,自組網業務功能分為通話業務、信息業務、群組業務和配置項管理。自組網業務功能訪問示意圖如圖9 所示。
自組網通信模塊中的業務接口訪問模塊負責接收用戶層業務功能請求和請求應答,分發透傳自組網業務消息。每個應用會實例化業務接口訪問模塊的一個子進程實例,而每個子進程中都有一個子進程消息管理器(CPMM),通過CPMM 轉發業務請求消息到相應的父進程消息管理;每個子流程的父進程中都有一個父進程消息管理器(PPMM),父進程消息管理器接收到子進程消息管理器的消息后,向業務接口訪問服務組件封裝分發;業務接口訪問服務組件完成相應業務后,向父進程發送業務指示結果,再由父進程消息管理器向子進程消息管理器分發業務指示結果,應用通過接口實例獲取業務應答,完成了一次業務接口訪問流程。
3 結束語
本文基于國產操作系統YROS 平臺實現了多模終端操作系統關鍵模塊,該方案集成了天通通信、LTE 和自組網通信模塊,滿足了終端設備多模通信的特定需求,該方案的多模通信功能已在國產多模終端得到了應用驗證,通過應用表明,本文給出的研究方案合理可行,在整體功能上,都達到了預期的設計目標。
隨著移動互聯網業務的發展,面向新型的通信網絡架構,在復雜的通信環境下不僅要能做到相互之間兼容互通,而且還需要跨頻段跨時空的提供遠程超視距且安全可靠的語音、數據、圖像和視頻通信[9]。這對通信終端操作系統提出了更高的要求,也是下一步會繼續深入研究的方向。