多模通信终端操作系统关键技术的设计与实现

2023-12-18 18:13麦秀青王千陆平徐冬晨张晨
计算机时代 2023年11期
关键词:技术

麦秀青 王千 陆平 徐冬晨 张晨

关键词:多模通信;國产操作系统;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]。这对通信终端操作系统提出了更高的要求,也是下一步会继续深入研究的方向。

猜你喜欢
技术
探讨电力系统中配网自动化技术
移动应用系统开发
北京市中小企业优化升级