一种连接通信方法及设备与流程

文档序号:15829207发布日期:2018-11-03 00:18阅读:147来源:国知局
本发明涉及通信
技术领域
,尤其涉及一种连接通信方法及设备。
背景技术
:随着智能手机的普及,智能机线下应用分发成为市场上的一个争夺焦点,各大互联网公司开始在相关的领域进行布局和发力。目前,安卓(Android)手机的不断升级发布,使Android设备可以不需要通过电脑(PC,PersonalComputer)来进行连接,而可以通过Android设备间直接进行有线连接,来实现通信推送应用安装的目的。目前,Android手机通过通用串行总线(USB,UniversalSerialBus)数据线实现与Android平板设备的通信,但是仅支持对单台手机进行通信。例如,现有技术中,将安卓开放配件(AOA,AndroidOpenAccessory)协议和安卓调试桥(ADB,AndroidDebugBridge)接口协议在固件程序中合并,并在固件程序中智能判断手机支持的活动式(OTG,OnTheGo)连接方式,根据判断结果选择对应的协议进行连接。由此,该固件程序实现Android手机连接USBOTG设备的过程为:步骤1:设备插入后,开始进行USB设备枚举过程;步骤2:枚举完成后,进行AOA协议连接;步骤3:若连接失败,则设置重置时间重启设备,并最多进行3次重启;步骤4:若连接成功,则开始以AOA协议进行通信;若不成功,则执行步骤5;步骤5:开始进行ADB协议连接,发送主机服务(host)请求;步骤6:若连接成功,则以ADB协议开始通信;若不成功,则连接失败。上述USBOTG标准在完全兼容USB2.0标准的基础上,允许设备既可作为主机,也可作为外设操作即两用OTG。USBOTG技术可实现没有主机时设备与设备之间的数据传输,例如在OTG中初始主机设备称为A设备,外设称为B设备,也就是说,手机既可以做外设,又可以做主机来传送数据。然而,该方法对USB设备进行枚举,若枚举失败则连接失败,使连接通信成功率低。另有PC端与移动设备的连接通信方案,该方案中对移动设备的识别流程包括以下步骤:步骤1:获取至少一个接入移动设备的系统端口信息,并对所述系统端口信息按照类型进行分组;步骤2:根据各分组的类型向其中各端口发送对应的查询指令,依据返回的反馈消息,获取所述端口对应的设备型号;步骤3:在根据各分组的类型向其中各端口发送对应的查询指令的同时,设置定时器,接收规定时间返回的反馈消息,并在所述分组中删除已经发送过所述查询指令的端口。然而,该方案PC端发送查询指令并对移动设备返回的反馈消息进行等待,使建立连接的时间较长,从而使连接通信成功率低。可见,为解决Android平板设备对Android手机的连接通信成功率低的问题,亟需寻找一种新的连接通信方法。技术实现要素:为解决现有技术存在的问题,本发明实施例期望提供一种连接通信方法及设备,能够提高对终端设备的连接通信成功率。为达到上述目的,本发明的技术方案是这样实现的:本发明实施例提供了一种连接通信方法,所述方法包括:监控预设周期内与安卓调试桥ADB服务端连接的所有ADBD进程对应的第一终端设备;根据监控的结果,更新待处理列表,所述待处理列表包括第一标识信息,所述第一标识信息为监控到的当前与ADB服务端连接的所有ADBD进程对应的第二终端设备的标识信息;根据所述第一标识信息,对第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备。上述方案中,所述根据监控的结果,更新待处理列表包括:将监控的结果生成设备列表,所述设备列表包括第二标识信息和对应的连接状态信息,所述第二标识信息为所述第一终端设备的标识信息,所述连接状态信息为所述第一终端设备当前的连接状态;根据所述第二标识信息和对应的连接状态信息,更新所述待处理列表。上述方案中,所述根据所述第二标识信息和对应的连接状态信息,更新所述待处理列表包括:将所述第一标识信息与所述第二标识信息进行比对,获得第一目标标识信息,所述第一目标标识信息为所述第一标识信息和第二标识信息中相同的标识信息;根据第二目标标识信息和对应的连接状态信息、以及所述第一目标标识信息和对应的连接状态信息,对所述待处理列表进行更新,所述第二目标标识信息为设备列表中不同于第一目标标识信息的第二标识信息。上述方案中,所述连接状态信息为在线,或者离线;所述根据第二目标标识信息和对应的连接状态信息、以及所述第一目标标识信息和对应的连接状态信息,对所述待处理列表进行更新,所述第二目标标识信息为设备列表中不同于第一目标标识信息的第二标识信息包括:将所述待处理列表中满足预设条件的第一目标标识信息进行删除,所述预设条件为在所述待处理列表中连接状态信息为离线;将所述设备列表中第一目标标识信息和对应的连接状态信息进行删除;将删除后的设备列表中连接状态信息为在线对应的第二目标标识信息添加到删除后的待处理列表中。上述方案中,所述根据所述第一标识信息,对第三终端设备建立连接通信包括:根据所述第一标识信息,对所述第三终端设备创建通信线程;根据所述通信线程,对所述第三终端设备进行连接通信。本发明实施例还提供了一种连接通信设备,所述设备包括:监控模块、更新模块和连接通信模块;其中,所述监控模块,用于监控预设周期内与安卓调试桥ADB服务端连接的所有ADBD进程对应的第一终端设备;所述更新模块,用于根据监控的结果,更新待处理列表,所述待处理列表包括第一标识信息,所述第一标识信息为监控到的当前与ADB服务端连接的所有ADBD进程对应的第二终端设备的标识信息;所述连接通信模块,用于根据所述第一标识信息,对第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备。上述方案中,所述更新模块包括:生成单元和更新单元;其中,所述生成单元,用于将监控的结果生成设备列表,所述设备列表包括第二标识信息和对应的连接状态信息,所述第二标识信息为所述第一终端设备的标识信息,所述连接状态信息为所述第一终端设备当前的连接状态;所述更新单元,用于根据所述第二标识信息和对应的连接状态信息,更新所述待处理列表。上述方案中,所述更新单元包括:获取子单元和更新子单元;其中,所述获取子单元,用于将所述第一标识信息与所述第二标识信息进行比对,获得第一目标标识信息,所述第一目标标识信息为所述第一标识信息和第二标识信息中相同的标识信息;所述更新子单元,用于根据第二目标标识信息和对应的连接状态信息、以及所述第一目标标识信息和对应的连接状态信息,对所述待处理列表进行更新,所述第二目标标识信息为设备列表中不同于第一目标标识信息的第二标识信息。上述方案中,所述连接状态信息为在线,或者离线;所述更新子单元,具体用于将所述待处理列表中满足预设条件的第一目标标识信息进行删除,所述预设条件为在所述待处理列表中连接状态信息为离线;将所述设备列表中第一目标标识信息和对应的连接状态信息进行删除;将删除后的设备列表中连接状态信息为在线对应的第二目标标识信息添加到删除后的待处理列表中。上述方案中,所述连接通信模块包括:创建单元和连接通信单元;其中,所述创建单元,用于根据所述第一标识信息,对所述第三终端设备创建通信线程;所述连接通信单元,用于根据所述通信线程,对所述第三终端设备进行连接通信。可见,本发明实施例通过监测预设周期内与ADB服务端连接的所有安卓调试桥守护(ADBD,AndroidDebugBridgeDaemom)进程对应的第一终端设备,来更新待处理列表,从而获取当前与ADB服务端连接的所有ADBD进程对应的第二终端设备;并根据所述第二终端设备的标识信息,对所述第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备,实现平板设备对所有的第二终端设备进行连接通信。由于在终端设备接入后,无需对USB终端设备进行枚举,只需监测平板设备中ADB服务端是否与终端设备的ADBD进程连接,因此能够实现终端设备的快速接入,提高连接通信成功率;并且在接入时,无需受终端设备系统的限制,从而最大限度的兼容了终端设备的多样性,保证了业务的正常运行。附图说明图1为本发明连接通信方法实施例一的实现流程示意图;图2为图1所示实现流程中根据监控的结果更新待处理列表的细化流程示意图;图3为图2所示流程中根据所述第二标识信息和对应的连接状态信息更新待处理列表的细化流程示意图;图4为图1所示实现流程中根据所述第一标识信息对第三终端设备建立连接通信的细化流程示意图;图5为本发明连接通信设备实施例一的组成结构示意图;图6为图5所示设备中更新模块的细化组成结构示意图;图7为图6所示更新单元的细化组成结构示意图;图8为图5所示设备中连接通信模块的细化组成结构示意图。具体实施方式本发明实施例提供的连接通信方法,应用于平板设备中,通过监测预设周期内与ADB服务端连接的所有ADBD进程对应的第一终端设备,来更新待处理列表,从而获取当前与ADB服务端连接的所有ADBD进程对应的第二终端设备;并根据所述第二终端设备的标识信息,对所述第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备;通过监测平板设备中ADB服务端是否与终端设备的ADBD进程连接,实现终端设备的快速接入,提高连接通信成功率。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1为本发明连接通信方法实施例一的实现流程示意图,参照图1所示,本实施例的连接通信方法包括以下步骤:步骤101,监控预设周期内与安卓调试桥ADB服务端连接的所有ADBD进程对应的第一终端设备;本实施例中的连接通信方法主要应用在连接通信设备中,用于实现对终端设备进行连接通信,该连接通信设备可以是平板设备,该平板设备的系统可以为Android系统,相应的,该连接通信设备可以为Android平板设备;该平板设备包括ADB服务端和设备监视端,通过ADB服务端来监控与平板设备连接的第一终端设备,从而不需要对第一终端设备的产品序列号(ID,identification)和厂家ID进行匹配;并且通过设备监视端实时跟踪第一终端设备的连接状态,从而不需要第一终端设备每次都去连接ADB服务端来获取对应的连接状态信息;例如在2017年3月27号10:00ADB服务端监控到与平板设备连接的第一终端设备,此时设备监视端跟踪的第一终端设备的连接状态为在线,而当2017年3月27号10:05第一终端设备从平板设备上拔出,此时设备监视端跟踪的第一终端设备的连接状态为离线。应当说明的是,所述第一终端设备为设备监视端第一次扫描获得的预设周期内与ADB服务端连接的一台或多台终端设备。这里,可以通过连接标识位来判断ADB服务端是否连接上第一终端设备的ADBD进程,该连接标识位包括1和0两种状态,其中,1表示已连接,0表示未连接。例如可以在ADB服务端连接第一终端设备的ADBD进程时读取ADBD进程中的连接标识位,也可以在ADB服务端连接第一终端设备的ADBD进程后,第一终端设备反馈给ADB服务端一个连接标识位;而当获取的该连接标识位为1时,则确定ADB服务端监控到与平板设备连接的第一终端设备。另外,当平板设备连接上第一终端设备后,设备监视端可以通过发送监视请求消息,实时跟踪与平板设备连接的第一终端设备的连接状态。这里,所述预设周期可以根据实际需要进行设置,为了同时兼顾误挂载动作和处理不及时的问题;本实施例中,可以以所述预设周期为2分钟为例进行详细说明。所述第一终端设备可以为Android手机,也可以为Android平板设备;本实施例中,将以所述第一终端设备为Android手机进行详细说明。步骤102,根据监控的结果,更新待处理列表,所述待处理列表包括第一标识信息,所述第一标识信息为监控到的当前与ADB服务端连接的所有ADBD进程对应的第二终端设备的标识信息;这里,所述待处理列表包括监控到的当前与ADB服务端连接的所有ADBD进程对应的第二终端设备的标识信息,所述更新待处理列表的具体过程为:根据监控到的预设周期内与平板设备连接的第一终端设备的标识信息,来获取当前与平板设备连接的第二终端设备的标识信息;例如在上一预设周期所述待处理列表中包括A、B和C终端设备,在当前预设周期内获取到A、B和D终端设备在线,但是C终端设备离线,则更新后的待处理列表包括A、B和D终端设备。应当说明的是,所述第二终端设备为设备监视端第n次扫描获得的当前与ADB服务端连接的一台或多台终端设备,所述n为大于等于2的整数值。图2为图1所示实现流程中根据监控的结果更新待处理列表的细化流程示意图,参照图2所示,步骤102具体包括以下步骤:步骤1021,将监控的结果生成设备列表,所述设备列表包括第二标识信息和对应的连接状态信息,所述第二标识信息为所述第一终端设备的标识信息,所述连接状态信息为所述第一终端设备当前的连接状态;这里,所述连接状态信息可以包括1和0两种状态信息,其中,1表示在线,0表示离线;本实施例中,当ADB服务端监控到第一终端设备上线时,该连接状态信息可以为1,而在预设周期内设备监视端跟踪到第一终端设备离线时,该连接状态信息可以为0。作为主机的平板设备可以发送ADB服务端中固有的主机服务host:track-devices,从而设备监视端会不停的周期性获得ADB服务端发送过来的设备列表,该设备列表包括所述预设周期内监控到的第一终端设备的标识信息和对应的连接状态信息。具体地,平板设备发送ADB服务端中固有的主机服务host:track-devices;在每一预设周期内,当第一终端设备接入到平板设备后,并当平板设备中ADB服务端成功连接上第一终端设备的ADBD进程时,ADB服务端将该第一终端设备的标识信息和连接状态信息添加到设备列表中;在每一预设周期内,当第一终端设备从平板设备拔掉时,该第一终端设备的连接状态信息发生变化,将变化后的连接状态信息保存至该设备列表中;当每一预设周期达到时,设备监视端获得ADB服务端发送过来的设备列表。步骤1022,根据所述第二标识信息和对应的连接状态信息,更新待处理列表。图3为图2所示流程中根据所述第二标识信息和对应的连接状态信息更新待处理列表的细化流程示意图,参照图3所示,步骤1022具体包括以下步骤:步骤10221,将所述第一标识信息与所述第二标识信息进行比对,获得第一目标标识信息,所述第一目标标识信息为所述第一标识信息和第二标识信息中相同的标识信息;这里,可以通过两个循环分别为外部循环和内部循环,对所述第一标识信息与第二标识信息进行比对;具体地,下表1为更新前的待处理列表,包括第一标识信息D、E和F和对应的终端设备更新前的连接状态信息,而下表2为设备列表,包括第二标识信息D、E、F和G及对应的连接状态信息;结合表1和表2可知,在该预设周期内,第一标识信息F对应的终端设备的连接状态发生了变化,并且新接入了一个终端设备,该终端设备的标识信息为G。首先,外部循环先固定第一标识信息D,内部循环第二标识信息,即将第一标识信息D与第二标识信息中的全部内容进行比对,获得在设备列表中与第一标识信息D相同的标识信息;然后固定第一标识信息E,内部循环第二标识信息,直到将第一标识信息的全部内容循环完成,获得第一目标标识信息D、E和F。D1E1F1表1更新前的待处理列表D1E1F0G1表2设备列表步骤10222,根据第二目标标识信息和对应的连接状态信息、以及所述第一目标标识信息和对应的连接状态信息,对所述待处理列表进行更新,所述第二目标标识信息为设备列表中不同于第一目标标识信息的第二标识信息。具体地,将所述待处理列表中满足预设条件的第一目标标识信息进行删除,所述预设条件为在所述待处理列表中连接状态信息为离线;将所述设备列表中第一目标标识信息和对应的连接状态信息进行删除;将删除后的设备列表中连接状态信息为在线对应的第二标识信息添加到删除后的待处理列表中。例如,结合表1和表2,将所述待处理列表中第一标识信息F删除;同时为了提高内部循环的效率,当检索到设备列表中与第一标识信息相同的第二标识信息时,将设备列表中该第二标识信息删除;并将设备列表中连接状态信息为1对应的第二目标标识信息G添加到删除后的待处理列表中,到此,待处理列表更新完成。步骤103,根据所述第一标识信息,对第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备。这里,结合表1和表2,由于更新前的待处理列表中存在第一标识信息D、E和F,可知,在上一预设周期,第一标识信息D对应的终端设备和第一标识信息E就已经建立了连接通信;因此,在当前预设周期只需对更新后的待处理列表中新增的第一标识信息对应的第三终端设备建立连接通信。应当说明的是,所述待处理列表中可以包括第一标识信息对应的终端设备的通信状态标识信息,所述通信状态标识信息可以包括1和0两种状态信息,其中,1表示已建立连接通信,0表示未建立连接通信。具体地,由于第一标识信息D对应的终端设备和第一标识信息E对应的终端设备在上一预设周期已建立连接通信,相应的通信状态标识信息为1,在更新待处理列表后,此时只需保持第一标识信息D对应的终端设备和第一标识信息E对应的终端设备的连接通信;而对于新增的第一标识信息G对应的终端设备,该终端设备的通信状态标识信息为0,此时需要对该终端设备建立连接通信。具体地,图4为图1所示实现流程中根据所述第一标识信息对第三终端设备建立连接通信的细化流程示意图,参照图4所示,步骤103具体包括以下步骤:步骤1031,根据所述第一标识信息,对所述第三终端设备创建通信线程;这里,所述通信线程用于处理平板设备与终端设备的通信,若终端设备连接成功,则创建对应该终端设备的通信线程处理平板设备与该终端设备的通信,并标记该终端设备的通信状态标识信息为1;若该终端设备拔出或连接失败,则将该终端设备的通信线程移除,并标记该终端设备的通信状态标识信息为0。步骤1032,根据所述通信线程,对所述第三终端设备进行连接通信。这里,根据所述通信线程,对连接成功的第三终端设备进行连接通信,获取第三终端设备信息,如商标(Brand)、网卡地址(Mac)、国际移动设备身份码(IMEI)、国际移动用户识别码(IMSI)和电话号码(PhoneNumber)等信息、以及推送应用进行多机安装。进一步地,以下对作为主机的平板设备和终端设备进行连接通信的方法进行详细阐述。具体地,启动作为主机的平板设备的ADB服务端,在连接管理器添加设备监视端,并启动该设备监视端;在预设周期内通过ADB服务端去监控与平板设备连接的第一终端设备,通过设备监视端实时跟踪该第一终端设备的连接状态信息;实时在设备列表中记录第一终端设备的标识信息和对应的连接状态信息;通过作为主机的平板设备发送固有的主机服务host:track-devices,预设周期获取ADB服务端发送的设备列表;根据该设备列表中第二标识信息和对应的连接状态信息,更新待处理列表,从而获取当前与平板设备连接的第二终端设备;通过记录的通信状态标识信息,对第二终端设备未建立连接通信的第三终端设备建立通信线程;根据所述通信线程,对第三终端设备进行连接通信。可以理解的是,通过监控预设周期内与安卓调试桥ADB服务端连接的所有ADBD进程对应的终端设备,就能提高连接通信成功率,是因为:在终端设备接入时,作为主机的平板设备监控与ADB服务端连接的ADBD进程对应的终端设备,从而不需要对终端设备的产品ID和厂家ID进行匹配,无需对USB终端设备进行枚举;并且通过设备监视端实时跟踪终端设备的连接状态,从而不需要终端设备每次都去连接ADB服务端来获取对应的连接状态信息;因此能够实现终端设备的快速接入,提高连接通信成功率。并且可以理解的是,通过实时监控和跟踪终端设备的接入状态,并每隔预设周期更新待处理列表,对待处理列表中所有的标识信息对应的终端设备进行连接通信,就能够支持多台终端设备的接入,从而实现作为主机的平板设备与多台终端设备进行同时通信。进一步地,本发明提供了一种连接通信设备,用于实现上述连接通信方法的具体细节,达到相同的效果。图5为本发明连接通信设备实施例一的组成结构示意图,参照图5所示,本实施例中的连接通信设备包括:监控模块21、更新模块22和连接通信模块23;其中,所述监控模块21,用于监控预设周期内与安卓调试桥ADB服务端连接的所有ADBD进程对应的第一终端设备;所述更新模块22,用于根据监控的结果,更新待处理列表,所述待处理列表包括第一标识信息,所述第一标识信息为监控到的当前与ADB服务端连接的所有ADBD进程对应的第二终端设备的标识信息;所述连接通信模块23,用于根据所述第一标识信息,对第三终端设备建立连接通信,所述第三终端设备为所述第二终端设备中未建立连接通信的终端设备。可选地,图6为图5所示设备中更新模块的细化组成结构示意图,参照图6所示,所述更新模块22包括:生成单元221和更新单元222;其中,所述生成单元221,用于将监控的结果生成设备列表,所述设备列表包括第二标识信息和对应的连接状态信息,所述第二标识信息为所述第一终端设备的标识信息,所述连接状态信息为所述第一终端设备当前的连接状态;所述更新单元222,用于根据所述第二标识信息和对应的连接状态信息,更新待处理列表。可选地,图7为图6所示更新单元的细化组成结构示意图,参照图7所示,所述更新单元222包括:获取子单元2221和更新子单元2222;其中,所述获取子单元2221,用于将所述第一标识信息与所述第二标识信息进行比对,获得第一目标标识信息,所述第一目标标识信息为所述第一标识信息和第二标识信息中相同的标识信息;所述更新子单元2222,用于根据第二目标标识信息和对应的连接状态信息、以及所述第一目标标识信息和对应的连接状态信息,对所述待处理列表进行更新,所述第二目标标识信息为设备列表中不同于第一目标标识信息的第二标识信息。可选地,所述连接状态信息为在线,或者离线;所述更新子单元2222,具体用于将所述待处理列表中满足预设条件的第一目标标识信息进行删除,所述预设条件为在所述待处理列表中连接状态信息为离线;将所述设备列表中第一目标标识信息和对应的连接状态信息进行删除;将删除后的设备列表中连接状态信息为在线对应的第二目标标识信息添加到删除后的待处理列表中。可选地,图8为图5所示设备中连接通信模块的细化组成结构示意图,参照图8所示,所述连接通信模块23包括:创建单元231和连接通信单元232;其中,所述创建单元231,用于根据所述第一标识信息,对所述第三终端设备创建通信线程;所述连接通信单元232,用于根据所述通信线程,对所述第三终端设备进行连接通信。在实际应用中,所述监控模块21、更新模块22、连接通信模块23、生成单元221、更新单元222、创建单元231、连接通信单元232、以及获取子单元2221和更新子单元2222均可由位于平板设备中的中央处理器(CPU,CentralProcessingUnit)、微处理器(MPU,MicroProcessorUnit)、数字信号处理器(DSP,DigitalSignalProcessor)、或现场可编程门阵列(FPGA,FieldProgrammableGateArray)等实现。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1