本发明涉及移动通信领域,尤其涉及一种面向通信端的移动端通信框架、系统和方法。
背景技术:
移动端外接通信端通信是一种常用技术方案,该方案既有效利用商用移动端(如手机)高性能、高可靠、高可用、高可更新、高可维护的特点,又外接通信端设备进一步扩展了移动端的通信能力,在一些特殊领域如单兵作战、应急救援、荒野探险、科研考察等领域具有重要应用价值。
目前技术方案,通信时常见实现方法,是通过在通信端设置通信代理来发送和接收通信数据。发送时,业务数据先由移动端转发到直接相连的通信端设备,然后通信端对数据进行解析,然后存储,再进行具体发送;接收时,通信端先要对数据进行编码,然后存储,再转发到直接相连的移动端设备。
上述方案包括以下缺点:
(1)整个通信体系中包括非ip(internetprotocol,网际协议)网络,目前常用的tcp(transmissioncontrolprotocol,传输控制协议)等基于ip(internetprotocol,网际协议)的可靠性协议针对非ip网络不可用,所以端到端数据的可靠性得不到保障;
(2)整个通信过程,代理转发、存储转发,增加了通信时延;
(3)整个通信过程,分层过多,层层加协议,分包解包,冗余信息过多,效率低下,不能充分利用有效带宽;
(4)移动端和通信端之间通过单一的无线或有线接口通信,通信方式的可扩展性和可替换性差;
(5)通信数据通常编码为单一的格式,针对通信端不同的网络特性,可用性、可扩展性差。
技术实现要素:
本发明实施例提供一种面向通信端的移动端通信框架、系统和方法,用以解决非ip网络下的端到端的数据可靠性问题,减小了通信时延、充分利用了信道的有效带宽,并且针对通信端不同网络的特性,增加了通信方式和编码方式的可扩展性、可替换性。
本发明实施例提供的具体技术方案如下:
第一方面,提供一种面向通信端的移动端通信框架,采用分层结构实现通信,各层之间通过服务接口进行交互,下层服务为上层功能的实现提供支持,各层从下至上分别为:封装层,用于对常见业务进行封装,为上层提供支撑;资源调度层,用于对通信资源和数据进行统一调度,为上层提供便利接口;传输层,用于对常见数据格式进行封装,在ip网络和/或非ip网络下,提供可靠的数据传输支持;通信接口抽象层,用于对移动端无线接口和有线接口进行抽象化封装,提供对通信接口的一致性访问;通信接口层,支持有线和/或无线方式通信。
结合第一方面,在第一种可能的实现方式中,所述封装层包括:参数配置模块,对通信框架基本参数进行配置;数据传输模块,进行数据之间的通信;安全加密模块,对数据进行统一加密或解密;压缩解压模块,对数据进行统一压缩或解压;网络工具模块,用于检测网络的通联性以及服务的可用性。
结合第一方面,在第二种可能的实现方式中,所述资源调度层包括:任务管理模块,用于统一组织、选择、分发和执行通信任务;数据编解码模块,用于对通信数据进行特定格式的编码和解码;消息队列模块,用于缓存、序列化、持久化和分发消息;监听上报模块,用于监听数据到达和报告上层;网络管理模块,用于统一管理可用网络。
结合第一方面,在第三种可能的实现方式中,所述传输层用于对常见数据格式进行封装,其中,所述数据格式包括以下格式中的一种或多种:at、json、protobuf、自定义帧格式。
结合第一方面,在第四种可能的实现方式中,所述通信接口抽象层包括以下抽象接口中的一种或多种:配置、查询、检测、建链、断链、发送、接收抽象接口。
第二方面,提供一种通信系统,包括移动端和通信端,两者之间通过通信接口实现信息交互,所述移动端包括如第一方面、第一至第四种可能的实现方式中任一种所述的面向通信端的移动端通信框架。
结合第二方面,在第一种可能的实现方式中,所述移动端还包括应用程序app和操作系统,所述应用程序app和操作系统分别位于所述通信框架上层和下层,所述通信端包括自组网模块、天通/卫通模块和lte模块。
结合第三方面,提供一种通信方法,应用在如第二方面或第二方面第一种可能的实现方式中所述的通信系统上,包括以下步骤:通过应用程序app下发业务数据至通信框架,通信框架创建相应的发送任务;根据发送任务的网络类型选择通信网络,判断通信网络的链接是否建立,如果未建立,则执行建链操作,反之,进行下一步;根据网络特点,选择传输协议;根据任务的加密属性,选择是否加密;根据任务的压缩属性,选择是否压缩;根据任务的编码格式属性,选择数据传输格式;使用相应的格式对数据进行编码,并向通信端发送数据;在发送过程中向应用程序app上报发送进度,直至发送任务完成,并上报发送完成的结果。
结合第三方面,在第一种可能的实现方式中,所述建链操作具体包括以下步骤:选择移动端的通信接口;根据通信接口的不同,配置相应的必要参数,建立移动端与通信端之间的信道;选择通信端通信网络;根据通信网络的不同,配置相应的通信参数;建链完成。
基于上述技术方案,本发明实施例的有益效果包括:针对通信端网络特点,对移动端有线和无线通信接口进行统一的接口封装和资源调度,并且提供数据传输的可靠性协议,有效解决了ip网络和非ip网络数据传输的及时性、可靠性问题,并且能够进行快速集成开发使用,具有高效率、高内聚、低耦合、低时延、高可靠、高可扩展的特点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本发明实施例提供的通信系统的结构示意图;
图2为本发明实施例提供的通信框架的结构示意图;
图3为本发明实施例提供的通信方法的流程示意图;
图4为本发明实施例提供的建链流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1为本发明实施例提供的通信系统的结构示意图。如图1所示,该通信系统包括多个移动端和通信端,移动端与通信端之间通过通信接口实现信息交互,通信端与另一移动端的通信端连接,实现两移动端之间的通信。
移动端主要包括app(application,应用程序)、通信框架、操作系统以及通信接口,app和操作系统分别位于通信框架上层和下层;通信端主要包括自组网模块、天通/卫通模块、lte(longtermevolution,3.9g无线通信技术标准)模块以及通信接口,通信端与通信端之间通过自组网模块、天通/卫通模块或lte模块进行无线连接。
应理解,移动端作为面向用户的主要人机交互端,用于采集用户信息、接收用户指令和操作,是整体业务的主发起点。其中app为直面用户的接口,是具体业务功能的高层次体现;通信框架是多模通信能力的具体使用和实现,保障业务功能的可用性、可靠性;操作系统是指移动端操作系统,包括但不限于android(google操作系统)或ios(苹果操作系统),操作系统用来统一管理计算机的软硬件资源;通信接口包括蓝牙、usb(universalserialbus,通用串行总线)、wifi(wirelessfidelity,无线通信技术)等。
还应理解,通信端作为移动端通信能力的延伸和扩展,支持多模通信。自组网模块是一种兼具路由器和主机两种功能的通信模块,多个自组网模块可以组成无中心自组网络,这种网络网内所有的节点地位平等,节点能够随时加入和离开网络,少数节点的故障不会影响整个网络的运行,具有很强的抗毁性;天通/卫通模块,是一种通过卫星作为中继的通信模块,其中天通支持短信和电话业务,卫星支持常见数据业务;lte通信模块,是一种支持3.9g通信标准的通信模块,多个lte通信模块通过lte基站通信,具有很强的数据传输能力。
通信端接收移动端信息,用于转发、交付通信数据,是系统通信能力的延伸扩展;移动端和通信端之间可以通过有线方式(usb以及usb转网口等)或无线方式(wifi、蓝牙等)进行数据互通。
图2为本发明实施例提供的通信框架的结构示意图。如图2所示,该通信框架采用分层结构实现通信,各层之间通过服务接口进行交互,下层服务为上层功能的实现提供支持,各层从下至上分别为封装层、资源调度层、传输层、通信接口抽象层和通信接口层。
封装层用于对常见业务进行封装,为上层提供支撑;资源调度层用于对通信资源和数据进行统一调度,为上层提供便利接口;传输层用于对常见数据格式进行封装,在ip网络和/或非ip网络下,提供可靠的数据传输支持;通信接口抽象层用于对移动端无线接口和有线接口进行抽象化封装,提供对通信接口的一致性访问,提升了易用性;通信接口层支持有线和/或无线方式通信。
具体而言,封装层包括参数配置模块、数据传输模块、安全加密模块、压缩解压模块和网络工具模块。在封装层,通过参数配置模块配置通信框架基本参数,通过数据传输模块进行数据通信,通过可选的安全加密模块对数据进行统一加解密,通过可选的压缩解压模块对数据进行统一压缩解压,通过网络工具模块检测网络的通联性以及服务的可用性。
资源调度层包括任务管理模块、数据编解码模块、消息队列模块、监听上报模块和网络管理模块。在资源调度层,通过任务管理模块来统一组织、选择、分发、执行通信任务,通过数据编解码模块对通信数据进行特定格式(at、json、protobuf、自定义帧格式等)的编码和解码,通过消息队列模块来缓存、序列化、持久化、分发消息,通过监听上报模块,监听数据到达、报告上层,通过网络管理模块来统一管理可用网络。
在传输层,支持at(attention指令)、json(javascriptobjectnotation,js对象简谱)、protobuf(googleprotocolbuffer,google数据交换协议)、自定义帧格式等数据格式。其中,at专为支持通信端窄带网络,json和protobuf专为支持通信端窄带和宽带网络,自定义帧格式专为非标准网络扩展;数据协议包括ip网络可靠协议和非ip网络可靠协议,ip网络可靠协议可选用tcp(transmissioncontrolprotocol,传输控制协议)、quic(quickudpinternetconnection,快速udp互联网协议)、udt(udp-baseddatatransferprotocol,基于udp的数据传输协议)、sctp(streamcontroltransmissionprotocol,流控制传输协议)等;非ip网络的可靠协议可选用dtp(dynamictransmissionprotocol,动态传输协议)协议,针对窄带网络进行优化,降低时延,同时充分利用窄带网络的带宽,保证端到端的可靠性。
在通信接口抽象层,对移动端无线通信和有限通信接口进行抽象封装,对上层提供统一接口,包括配置、查询、检测、建链、断链、发送、接收等抽象接口。
通信接口层,支持有线和无线方式通信,有线方式包括usb、以及usb转其他通信接口(网口、串口等),无线方式包括wifi、蓝牙等,是移动端的基本对外通信接口。
进一步的,为保障通信端自组网、天通和卫通等非ip网络端到端的可靠性,在通信框架的传输层提供相应可靠性协议,可选用dtp协议,该协议具有以下特点,选择性重传、只传输真正丢失的数据包;快速重传,不用等待丢失包的超时;仅仅只考虑发送缓存大小、接收端剩余接收缓存大小来控制发送频率。
进一步的,为支持通信端窄带通信,减少信息冗余,在通信框架的封装层,支持数据的压缩解压,对数据进行压缩处理;在资源调度层,通过任务管理、网络管理、消息队列,对数据的发送频率进行控制,尽量减少通信信道的阻塞;在通信框架的传输层,支持at等精简指令数据,有效利用了带宽。
进一步的,为了减少通信的时延,去掉了通信端的代理转发、存储转发,通信业务由移动端发起,通信端只提供通信链路,不进行转存、加解协议等耗时操作。
更进一步的,为了提高通信方式和数据编码方式的可扩展性、可替换性,通信框架的传输层支持多种数据编解码方式,支持自定义数据编解码方式;通信框架的通信接口抽象层,对有线和无线通信方式进行统一封装,包括配置、查询、检测、建链、断链、发送、接收等抽象接口,配置接口用来配置通信参数,查询接口用来查询通信参数,检测接口用检测通信接口的可用性、有效性,建链接口用来建立通信链接,断链接口用来断开通信链接,发送接口用来发送通信数据,接收接口用来接收通信数据。
上文中结合图1和图2,详细描述了根据本发明实施例的一种面向通信端的移动端通信框架和系统,下面将结合图3和图4,详细描述本发明实施例的通信方法。
图3为本发明实施例提供的通信方法的流程示意图。如图3所示,该通信方法应用在上述通信系统上,具体包括以下步骤:
首先,通过应用程序app下发一个数据(例如:消息、文件)的业务至通信框架,然后通信框架的封装层开始创建相应的发送任务;接着任务管理模块根据任务nettype(网络类型)属性来选择网络,nettype(网络类型)可选值包括lte、自组网、天通或卫通,网络管理模块再通过网络状态值来判断通信网络的链接是否建立。
通常,网络状态值需要通过通信端上报状态信号来维护,如果长期间没有状态信号上报,则认为链接断开,进行建链操作,反之,通信网络的链接已经建立,进行下一步。
下一步,数据传输模块根据网络特点选择传输协议,如果当前是lte网络,这种网络是基于tcp/ip5层结构的ip网络,通过ip来寻址,在ip层之上可以构建tcp协议,通过tcp协议保障网络分组数据的可靠性,则选择基于ip的可靠性协议,如tcp/quic/udt/sctp等;如果当前是非ip网络,如自组网、天通、卫通等,则需要选择dtp协议等非ip的可靠性协议,来保证可靠性,避免在网络内传输分组数据产生数据的延时、丢失、乱序、重复等问题。
接着任务管理模块根据任务的加密属性isencrypted,选择是否对数据进行加密,如果isencrypted为true(真),则通过安全加密模块进行加密操作;接着任务管理模块根据任务的压缩属性iscompressed,选择是否对数据进行压缩,如果iscompressed为true(真),则通过压缩解压模块进行压缩操作;接着任务管理模块根据任务的编码格式属性codecformat,选择数据传输格式,数据传输格式可选at、json、protobuf、自定义帧格式等;然后通过数据编解码模块使用相应的格式对数据进行编码,并向通信端发送数据,在发送过程任务管理模块会向应用程序app上报发送进度,直至发送任务完成,并上报发送完成的结果。
上述建链操作的方法流程如图4所示,具体包括以下步骤:
首先,移动端要选择通信接口,包括蓝牙、wifi、usb等,如果选择wifi、蓝牙,则数据通过无线信道传输,如果选择usb以及usb转串口或网口,则数据通过有线信道传输,然后应用程序app根据通信接口的不同,通过参数配置模块配置相应的必要参数,建立移动端与通信端之间的信道;接着通过应用程序app选择通信端与通信端之间的通信网络,包括lte、自组网、天通、卫通等,其中lte是基于ip的网络,自组网、天通、卫通都是非ip网络,然后参数配置模块根据通信网络的不同,配置相应的通信参数;最后网络管理模块根据网络的特点,建立链路。举例说明如下:
例如,在移动端操作系统中,打开上层应用程序app,打开系统蓝牙开关,点击蓝牙扫描按钮,扫描具有特定蓝牙广播服务标识的通信端蓝牙设备,扫描完成后,点击连接,建立移动端与通信端之间的蓝牙通信链路;接下来选择通信网络,如选择自组网通信,则需要下发指令配置自组网参数和建立链路过程如下:
1)at^setnetstatus设置自组网开关,如at^setnetstatus=1,代表打开自组网模块;
2)at^netconnect设置自组网入网,如at^netconnect=1,代表设置自组网入网;
3)at^eprepf设置定频、跳频率集等,骨干网或子网,采用定频或跳频模式,以及具体的频点。如at^eprepf=1,0,400.00,410.00,420.00,430.00,440.00,代表设置当前自组网节点为骨干网、采用跳频方式、调频频率集合为400.00/410.00/420.00/430.00/440.00mhz。
4)at^eprep设置自组网参数,骨干网、子网、一级簇头、二级簇头、组号、同步方式等,如at^eprep=5,2,0,1,22,1,代表设置当前节点为骨干网号为5,子网号为2,不是一级簇头,是二级簇头,所属组号为22,同步方式采用外同步。
5)at^reportconnectstatus上报入网状态,如at^reportconnectstatus=1,代表自组网入网成功,也就是建链成功。
因为自组网不是标准tcp/ip5层结构,所以建链后,需要使用非ip网络协议来保证分组数据传输的可靠性。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种面向通信端的移动端通信框架,采用分层结构实现通信,各层之间通过服务接口进行交互,下层服务为上层功能的实现提供支持,其特征在于,各层从下至上分别为:
封装层,用于对常见业务进行封装,为上层提供支撑;
资源调度层,用于对通信资源和数据进行统一调度,为上层提供便利接口;
传输层,用于对常见数据格式进行封装,在ip网络和/或非ip网络下,提供可靠的数据传输支持;
通信接口抽象层,用于对移动端无线接口和有线接口进行抽象化封装,提供对通信接口的一致性访问;
通信接口层,支持有线和/或无线方式通信。
2.根据权利要求1所述的面向通信端的移动端通信框架,其特征在于,所述封装层包括:
参数配置模块,对通信框架基本参数进行配置;
数据传输模块,进行数据之间的通信;
安全加密模块,对数据进行统一加密或解密;
压缩解压模块,对数据进行统一压缩或解压;
网络工具模块,用于检测网络的通联性以及服务的可用性。
3.根据权利要求1所述的面向通信端的移动端通信框架,其特征在于,所述资源调度层包括:
任务管理模块,用于统一组织、选择、分发和执行通信任务;
数据编解码模块,用于对通信数据进行特定格式的编码和解码;
消息队列模块,用于缓存、序列化、持久化和分发消息;
监听上报模块,用于监听数据到达和报告上层;
网络管理模块,用于统一管理可用网络。
4.根据权利要求1所述的面向通信端的移动端通信框架,其特征在于,所述传输层用于对常见数据格式进行封装,其中,所述数据格式包括以下格式中的一种或多种:at、json、protobuf、自定义帧格式。
5.根据权利要求1所述的面向通信端的移动端通信框架,其特征在于,所述通信接口抽象层包括以下抽象接口中的一种或多种:配置、查询、检测、建链、断链、发送、接收抽象接口。
6.一种通信系统,包括移动端和通信端,两者之间通过通信接口实现信息交互,其特征在于,所述移动端包括如权利要求1至5任一项所述的面向通信端的移动端通信框架。
7.根据权利要求6所述的通信系统,其特征在于,所述移动端还包括应用程序app和操作系统,所述应用程序app和操作系统分别位于所述通信框架上层和下层,所述通信端包括自组网模块、天通/卫通模块和lte模块。
8.一种通信方法,应用在如权利要求6或7所述的通信系统上,其特征在于,包括以下步骤:
通过应用程序app下发业务数据至通信框架,通信框架创建相应的发送任务;
根据发送任务的网络类型选择通信网络,判断通信网络的链接是否建立,如果未建立,则执行建链操作,反之,进行下一步;
根据网络特点,选择传输协议;
根据任务的加密属性,选择是否加密;
根据任务的压缩属性,选择是否压缩;
根据任务的编码格式属性,选择数据传输格式;
使用相应的格式对数据进行编码,并向通信端发送数据;
在发送过程中向应用程序app上报发送进度,直至发送任务完成,并上报发送完成的结果。
9.根据权利要求8所述的通信方法,其特征在于,所述建链操作具体包括以下步骤:
选择移动端的通信接口;
根据通信接口的不同,配置相应的必要参数,建立移动端与通信端之间的信道;
选择通信端通信网络;
根据通信网络的不同,配置相应的通信参数;
建链完成。
技术总结