一种Android终端统一通道通信方法及终端与流程

文档序号:24496041发布日期:2021-03-30 21:23阅读:69来源:国知局
一种Android终端统一通道通信方法及终端与流程

本发明涉及android领域,尤其涉及一种android终端统一通道通信方法及终端。



背景技术:

随着android智能终端的普及,各类android智能终端设备在市场的存量越来越大,对于设备的管理和维护造成了越来越大的挑战;在终端生产研发和维修的过程中,往往要通过pc或者服务器从终端提取或向终端下载各种数据或者文件,比如采集终端信息、下载配置文件、更新固件、给终端下发各种指令等等。

现有的android原生系统中为实现此功能提供了adb组件,可用于pc与android终端的通信;基于adb组件,设备商往往会开发各种终端程序来实现不同的业务功能,但是这些基于adb组件的程序往往只能通过adb组件与pc端交互,因adb组件不能实现与远程服务器的交互,故若需要实现程序与服务器之间的交互,则还需要给所有这些终端业务程序额外开发与服务器交互的功能,这会使得开发维护的成本很高;同时,由于这些终端业务程序各自独立,很难对交互数据进行统一的管控。



技术实现要素:

本发明所要解决的技术问题是:提供一种android终端统一通道通信方法及终端,实现对android终端通信接口的统一管控。

为了解决上述技术问题,本发明采用的一种技术方案为:

一种android终端统一通道通信方法,包括步骤:

s1、在android终端中建立数据中转程序,分别建立所述数据中转程序与pc端的第一连接及所述数据中转程序与服务器的第二连接;

s2、建立所述数据中转程序与所述android终端中的业务程序的第三连接;

s3、通过所述数据中转程序进行所述业务程序与所述pc端或所述服务器之间的通信。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种android终端统一通道通信终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、在android终端中建立数据中转程序,分别建立所述数据中转程序与pc端的第一连接及所述数据中转程序与服务器的第二连接;

s2、建立所述数据中转程序与所述android终端中的业务程序的第三连接;

s3、通过所述数据中转程序进行所述业务程序与所述pc端或所述服务器之间的通信。

本发明的有益效果在于:设置数据中转程序,在数据中转程序中集成与pc端的连接及与服务端的连接,android终端中的业务程序都通过数据中转程序与pc端或服务器进行数据交互,无需在业务程序中另外建立交互模块,方便收集android终端中各个业务程序的通信数据并对其进行管理,并且在需要新增业务程序时也能够直接调用此数据中转程序,增强了框架的灵活性和扩展性,实现了对android终端通信接口的集中管控。

附图说明

图1为本发明实施例的一种android终端统一通道通信方法的步骤流程图;

图2为本发明实施例的一种android终端统一通道通信终端的结构示意图;

图3为本发明实施例的一种android终端统一通道通信终端的通信架构示意图;

图4为本发明实施例的一种android终端统一通道与pc端通信的示意图;

图5为本发明实施例的一种android终端统一通道与服务器通信的示意图;

图6为本发明实施例的一种通信协议示意图;

标号说明:

1、一种android终端统一通道通信终端;2、处理器;3、存储器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1及图3至图6,一种android终端统一通道通信方法,包括步骤:

s1、在android终端中建立数据中转程序,分别建立所述数据中转程序与pc端的第一连接及所述数据中转程序与服务器的第二连接;

s2、建立所述数据中转程序与所述android终端中的业务程序的第三连接;

s3、通过所述数据中转程序进行所述业务程序与所述pc端或所述服务器之间的通信。

从上述描述可知,本发明的有益效果在于:设置数据中转程序,在数据中转程序中集成与pc端的连接及与服务端的连接,android终端中的业务程序都通过数据中转程序与pc端或服务器进行数据交互,无需在业务程序中另外建立交互模块,方便收集android终端中各个业务程序的通信数据并对其进行管理,并且在需要新增业务程序时也能够直接调用此数据中转程序,增强了框架的灵活性和扩展性,实现了对android终端通信接口的集中管控。

进一步的,所述s1具体为:

在android终端中建立数据中转程序及第一adb程序;

建立所述数据中转程序与所述第一adb程序的第一子连接;

建立所述第一adb程序与所述pc端中第二adb程序的第二子连接,所述pc端中的第二adb程序与服务程序为tcp连接;

所述第一子连接为tcp连接;

所述第二子连接为usb连接。

由上述描述可知,android终端中的第一adb程序与pc端中的第二adb程序连接,第一adb程序与android终端中的数据中转程序为tcp连接,usb连接保证了pc端对android终端操作的安全性。

进一步的,所述s2具体为:

获取所述业务程序的属性;

根据所述业务程序的属性确定所述数据中转程序与所述业务程序之间的连接类型;

根据所述连接类型建立所述数据中转程序与所述业务程序之间的所述第三连接。

由上述描述可知,根据不同业务程序的属性与不同的业务程序建立不同类型的连接,能够为不同类型的业务程序匹配最适合的连接类型,提升与业务程序连接进行数据交互的效率。

进一步的,所述s2还包括:

建立通信协议,所述通信协议包括业务程序标识;

根据所述业务程序标识通过所述数据中转程序实现所述业务程序标识所对应的所述业务程序与所述pc端或所述服务器之间的通信。

由上述描述可知,中转程序通过业务程序标识进行业务程序与pc端或服务器之间的中转,能够保证数据被正确发送到相应的业务程序,避免数据的误发送。

进一步的,所述s1之后还包括:

接收所述pc端或所述服务器发送的数据;

通过所述数据中转程序中预设的过滤策略,对所述数据进行过滤。

由上述描述可知,在接收到pc端或服务器发送的数据后,根据预设的过滤策略进行过滤,使得数据中转程序还能够充当相当于安全网关的功能,进一步提高android终端内的数据安全。

请参照图2,一种android终端统一通道通信终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

s1、在android终端中建立数据中转程序,分别建立所述数据中转程序与pc端的第一连接及所述数据中转程序与服务器的第二连接;

s2、建立所述数据中转程序与所述android终端中的业务程序的第三连接;

s3、通过所述数据中转程序进行所述业务程序与所述pc端或所述服务器之间的通信。

本发明的有益效果在于:设置数据中转程序,在数据中转程序中集成与pc端的连接及与服务端的连接,android终端中的业务程序都通过数据中转程序与pc端或服务器进行数据交互,无需在业务程序中另外建立交互模块,方便收集android终端中各个业务程序的通信数据并对其进行管理,并且在需要新增业务程序时也能够直接调用此数据中转程序,增强了框架的灵活性和扩展性,实现了对android终端通信接口的集中管控。

进一步的,所述s1具体为:

在android终端中建立数据中转程序及第一adb程序;

建立所述数据中转程序与所述第一adb程序的第一子连接;

建立所述第一adb程序与所述pc端中第二adb程序的第二子连接,所述pc端中的第二adb程序与服务程序为tcp连接;

所述第一子连接为tcp连接;

所述第二子连接为usb连接。

由上述描述可知,android终端中的第一adb程序与pc端中的第二adb程序连接,第一adb程序与android终端中的数据中转程序为tcp连接,usb连接保证了pc端对android终端操作的安全性。

进一步的,所述s2具体为:

获取所述业务程序的属性;

根据所述业务程序的属性确定所述数据中转程序与所述业务程序之间的连接类型;

根据所述连接类型建立所述数据中转程序与所述业务程序之间的所述第三连接。

由上述描述可知,根据不同业务程序的属性与不同的业务程序建立不同类型的连接,能够为不同类型的业务程序匹配最适合的连接类型,提升与业务程序连接进行数据交互的效率。

进一步的,所述处理器执行所述计算机程序实现所述s2时还包括:

建立通信协议,所述通信协议包括业务程序标识;

根据所述业务程序标识通过所述数据中转程序实现所述业务程序标识所对应的所述业务程序与所述pc端或所述服务器之间的通信。

由上述描述可知,中转程序通过业务程序标识进行业务程序与pc端或服务器之间的中转,能够保证数据被正确发送到相应的业务程序,避免数据的误发送。

进一步的,所述处理器执行所述计算机程序实现所述s1之后还包括:

接收所述pc端或所述服务器发送的数据;

通过所述数据中转程序中预设的过滤策略,对所述数据进行过滤。

由上述描述可知,在接收到pc端或服务器发送的数据后,根据预设的过滤策略进行过滤,使得数据中转程序还能够充当相当于安全网关的功能,进一步提高android终端内的数据安全。

请参照图1,本发明的实施例一为:

一种android终端统一通道通信方法,包括步骤:

s1、在android终端中建立数据中转程序,分别建立所述数据中转程序与pc端的第一连接及所述数据中转程序与服务器的第二连接;

在本实施例中,s1具体为:在android终端中建立数据中转程序及第一adb程序;建立所述数据中转程序与所述第一adb程序的第一子连接;建立所述第一adb程序与所述pc端中第二adb程序的第二子连接,所述pc端中的第二adb程序与服务程序为tcp连接;所述第一子连接为tcp连接;所述第二子连接为usb连接;

s2、建立所述数据中转程序与所述android终端中的业务程序的第三连接;

请参照图4,本实施例中s2具体为:获取所述业务程序的属性;根据所述业务程序的属性确定所述数据中转程序与所述业务程序之间的连接类型;根据所述连接类型建立所述数据中转程序与所述业务程序之间的所述第三连接;

本实施例中s2还包括:建立通信协议,所述通信协议包括业务程序标识;根据所述业务程序标识通过所述数据中转程序实现所述业务程序标识所对应的所述业务程序与所述pc端或所述服务器之间的通信;请参照图6,为一种通信协议的结构示意,包括帧头、版本、交易码、数据格式、数据类型、帧号、业务模块、数据长度(data长度)、数据段、校验值及帧尾,其中,帧头标识一帧信息的开头,版本标识一帧信息所使用的帧协议的版本号,交易码为一帧信息的交易代码,数据格式标识一帧信息携带的数据段的数据格式如json格式,数据类型标识一帧信息携带的数据段的数据类型如报文数据、握手数据等,帧号标识一帧数据的编号,业务模块表示一帧信息属于哪个业务模块,其值一般采用相应模块的模块编码,数据长度表示一帧数据所携带的数据段的字节长度,数据段表示一帧数据携带的实际数据字节段,校验值为一帧信息的校验值,用于确保该帧信息的完整性,帧尾标识一帧信息的结束;

s3、通过所述数据中转程序进行所述业务程序与所述pc端或所述服务器之间的通信;

在本实施例中,s1之后还包括:接收所述pc端或所述服务器发送的数据;通过所述数据中转程序中预设的过滤策略,对所述数据进行过滤;因在数据中转程序中汇集了android终端所有业务程序的数据,故能够在数据中转程序中进行对数据的统一管控;

在一种可选的实施方式中,在数据中转程序中设置相应逻辑判断数据帧是否存在恶意行为,若是,则将该条数据帧过滤,保护了android终端内部业务程序的安全性,避免其被恶意的数据帧入侵。

请参照图3至图6,本发明的实施例二为:

一种android终端统一通道通信方法应用于实际场景中:

请参照图3,在android终端内构件数据中转程序(datarouter),数据中转程序通过adb组件与pc端建立第一连接,通过网络与服务器建立第二连接,通过android系统内提供的进行通信机制建立与业务程序的第三连接;

请参照图3,数据终端程序利用android系统的进程通信机制与各个业务程序建立通信链路,业务程序包括但不限于应用更新服务、数据采集服务;根据业务程序的类型确定不同的需求,进而确定不同的通信方式,通信方式如localsocket可用于不限任何数据格式的交互场景;

具体的,在实施例一中的通信协议中,设置了域“业务模块”,该域的值的范围为在设计时为各个业务程序分配的模块编号,在数据中转程序中设置一个模块信息配置表,模块信息配置表中包含各个业务程序的信息,如模块编号、通信方式、模块地址等,在通信过程中,数据中转程序可读取一帧信息中“业务模块”的值,然后根据该值查询模块信息配置表,得到该模块对应的信息(如通信方式、模块地址等),然后与对应的业务程序进行通信;

具体的,请参照图4,第一连接包括,android终端内数据中转程序与android终端内第一adb程序(adb-daemon)的第一子连接,第一adb程序与pc端内第二adb程序(adb-server)的第二子连接及pc端内服务程序(pc-tool)与第二adb程序的第三子连接;其中,第一子连接及第三子连接为tcp连接,第二子连接为usb连接;android终端的android系统内有adb组件,第一adb程序通过调用adb组件实现与pc的usb通信,具体的,adb-server和adb-daemon是android原生提供的adb组件;其中adb-server运行在pc上,adb-daemon运行android终端上,这两者实现pc端与android终端之间的usb通信;在android终端,adb-daemon一方面实现了与pc端adb-server的usb通信;另一方面又以socketclient身份连接到数据中转程序,数据中转程序以socketserver的身份运行;在pc端,adb-server一方面实现了与android终端的adb-daemon的usb通信;另一方面又以socketserver的身份运行,接受来自pc-tool的连接,pc-tool是以socketclient的身份运行。

即在pc端中,adb-server与pc-tool之间实现了tcp协议通信;在android终端,adb-daemon与数据中转程序之间实现了tcp协议通信;并且,adb-server与adb-daemon之间又实现了usb通信,如此,把每个模块串联起来,便可达到pc-tool和数据中转程序之间可实现tcp协议通信;其中pc-tool是socketclient身份,数据中转程序是socketserver的身份;

具体的,在pc端中使用adbforward指令建立与android终端的tcp端口转发通道(第三子连接),pc-tool即可使用socketclient的身份与数据中转程序建立连接,实现pc端与数据中转程序之间的通信;

请参照图5,数据中转程序与服务器通过无线/有线网络使用tcp协议建立连接进行通信;

在本实施例中,pc端的adb程序包括adb-server和adb-client,android终端的adb程序是adb-deamon,也即adbd。。

请参照图2,本发明的实施例三为:

一种android终端统一通道通信终端1,包括处理器2、存储器3及存储在存储器3上并可在所述处理器2上运行的计算机程序,所述处理器2执行所述计算机程序时实现实施例一或实施例二中的各个步骤。

综上所述,本发明提供了一种android终端统一通道通信方法及终端,在android终端内实现一个数据中转程序,使得各个业务程序内无需集成通信功能,只需专注实现各自的业务功能,与pc端的通信或与服务器的通信都通过数据中转程序完成,形成统一的数据通道,方便对android终端内流入及流出的数据进行统一管控,提升了android终端内数据的安全性;并且该框架具有很强的扩展性,若有新加入的业务程序,只需建立其与数据中转程序的连接就能实现其与pc端或服务器之间的通信,并且不会影响其余业务程序的使用;与pc端之间通过android系统自带的adb进行通信,安全性高,与服务器通过tcp协议进行通信,能够被多种网络支持,实现既能进行有线通信也能够进行无线通信;数据中转程序在实现pc端/服务器与业务程序之间的通信时,使用业务程序的业务程序标识用以标识数据,如图6中通信协议规定的业务模块,能够保证数据被正确接收和转发。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1