一种局域网双通道设备发现方法与流程

文档序号:16899633发布日期:2019-02-19 17:50阅读:252来源:国知局
一种局域网双通道设备发现方法与流程

本发明属于通信领域中的设备发现技术领域,更为具体的涉及一种局域网双通道设备发现方法。



背景技术:

万物互联的发展趋势下,网络发现设备的使用场景越来越多。高通公司主导的高创新中心(qualcomminnovationcenter)的开源项目开发的alljoyn是一个合作的开源软件框架,程序员可以很方便的编写出搜索附近设备的应用应用程序,并且无论对方的品牌、类别、系统都可以在不需要云环境的情况下连接。alljoyn框架是非常灵活,能使物联网实现愿景。在alljoyn框架处理发现附近的设备,设备之间建立会话,这些设备之间的安全通信的复杂性。它抽象出物理传输的细节,并提供了一个简单易用的api。多个连接会话拓扑的支持,包括点至点和小组会议。然而,单纯基于alljoyn的设备发现技术,存在三个主要问题,一是设备发现成功率不稳定,在部分局域网下发现成功率很低;二是alljoyn占用资源太多,在资源很少的弱终端设备上无法正常使用;三是虽然alljoyn提供了瘦身段版本,但是此版本功能不完备,需要依托局域网其他强终端版本。



技术实现要素:

本发明的目的在于克服上述缺陷,希望通过采用alljoyn与自研局域网通信模块形成双通道同时工作的方法,使alljoyn能够兼容其他alljoyn协议设备,为后续与其他alljoyn设备快速互联打下基础;加上自研局域网通信模块,可以解决alljoyn存在的三个主要问题。

本发明的技术方案如下:

一种局域网双通道设备发现方法,其特征在于:

服务端设备或客户端设备通过广播或组播的方式开启设备发现;

所述设备发现以广播或组播的方式通过第一通道和第二通道同时传输,所述第一通道底层采用alljoyn协议,所述第二通道底层采用udp发现协议;

目标设备根据自身所支持的协议类型选择第一通道和/或第二通道接收信息,并发送连接建立请求;

根据连接建立请求,所述服务端设备或客户端设备与目标发现设备建立连接。

进一步地,所述第二通道采用udp协议发现设备,以tcp作为设备通信通道,精简其他复杂的逻辑处理和会话管理机制,达到占用资源低,运行高效的目的。

进一步地,所述第一通道和第二通道共享utils工具层,所述utils工具层对发现的设备统一进行资源管理。所述utils工具层包括套接字管理、错误管理、会话管理、发现管理、设备管理、消息队列管理中的一项或多项。

可选地,设备可以通过选择开关在服务端设备与客户端设备之间切换,也可以同时开启。客户端设备负责对外提供服务,给客户端设备提供设备信息和下挂agent设备(即第三方设备)列表信息。client可以发现局域网所有服务端设备,获取服务端设备信息和其下挂的设备信息,并进行保存和管理。

可选地,服务端设备还可以设置不存在wifi时,以zigbee、ble进行设备发现。

进一步地,apis层将双两个通道进行整合,对外提供统一的c/c++访问接口,应用层直接调用apis即可获得双通道的所有功能。

进一步地,所述设备发现的广播信息以周期性间隔的方式发起,优选时间间隔40秒。

技术效果:

1、在alljoyn和自研局域网通信模块的上层,封装一个统一api层将alljoyn和自研局域网通信模块这两个通道的对外接口全部归一化处理,对任意通道修改不影响对外接口,并且可以对两个通道进行灵活裁剪。此设计确保局域网设备发现成功率高,兼容强终端和弱终端设备。

2、针对alljoyn发现成功率不稳定问题:自研局域网通信模块采用原生udp作为底层发现协议,在局域网服务端设备接入网络时,在局域网内发送组播+广播消息,通知所有的客户端设备,完成发现;同时客户端设备接入网络时,也会在局域网发送组播+广播消息,询问局域网所有服务端设备,此时服务端设备回复局域网设备,完成发现。并且服务端设备和客户端设备均会间隔一定周期(40秒)向局域网发送消息,最大程度保证发现能力。

3、针对alljoyn占用资源多的问题:自研局域网通信模块采用原生udp协议发现设备,原生tcp作为设备通信通道,精简其他复杂的逻辑处理和会话管理机制,达到占用资源低,运行高效的目的。

4、针对alljoyn瘦身段版本,需要依托局域网其他强终端版本才能工作的问题:本方案采用服务端和设备端集成的机制,由于本方案总体占用资源低,故单独的弱终端设备也可以独立承担完整的角色,具备所有功能。同时设备端和服务端也可以通过接口进行开启和关闭,既保证功能完备也保证占用资源的灵活性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1本发明实施例的双通道架构图

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明做进一步地详细描述。

如图1所示,图1具体展示了本发明实施例中的双通道架构图,在底层由双通道构成,第一通道以alljoyn协议作为通信层,第二通道以udp协议作为设备发现协议,以tcp协议作为设备通信通道,具体地,自研局域网通信模块采用原生udp作为底层发现协议,在局域网服务端设备接入网络时,在局域网内发送组播+广播消息,通知所有的客户端设备,完成发现;同时客户端设备接入网络时,也会在局域网发送组播+广播消息,询问局域网所有服务端设备,此时服务端设备回复局域网设备,完成发现。并且服务端设备和客户端设备均会间隔一定周期(40秒)向局域网发送消息,最大程度保证发现能力。

双通道的上层为utils工具层,所述utils工具层对发现的设备统一进行资源管理。所述utils工具层包括套接字管理、错误管理、会话管理、发现管理、设备管理、消息队列管理中的一项或多项。

整个架构往上又分为server(即服务端设备)和client(即客户端设备)两大功能模块,server负责对外提供服务,给client提供设备信息和下挂agent设备(即第三方设备)列表信息。client可以发现局域网所有server,获取server信息和其下挂的设备信息,并进行保存和管理。server和client在同一个设备上可以同时开启,也可以只开启一个。

可选地,服务端设备还可以设置不存在wifi时,以zigbee、ble等方式进行设备发现。

apis层为不同角色的设备提供统一接口,将双两个通道进行整合,对外提供提供的c/c++访问接口,使用者无需关心底层通道信息。

apis层之上为applications层即是为使用者开发的应用层,使用者可直接调用apis享受双通道的所有功能。

本发明可有效解决使用alljoyn作为底层通信模块发现设备不能高概率成功的问题,尤其是在不同wifi下,发现成功率不稳定,而在弱资源设备(基于瘦身版alljoyn作为底层通信模块)上运行时,如果局域网内没有一台强资源设备作为router,则弱资源设备无法被其他设备发现,导致弱资源设备之间无法直接互联互通。使用alljoyn和自研局域网通信模块双通道时,设备发现概率高,在任何wifi下均能发现设备,单独使用自研局域网通信模块移植到弱资源设备上,强资源设备(alljoyn+轻量级)和弱资源设备能够互相发现和控制,弱资源设备之间也能互相发现和控制。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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