进程间基于虚拟蓝牙设备通信的方法及智能设备与流程

文档序号:13516713阅读:675来源:国知局
进程间基于虚拟蓝牙设备通信的方法及智能设备与流程

本发明涉及数据交换领域,具体说的是进程间基于虚拟蓝牙设备通信的方法及智能设备。



背景技术:

现有的运用中,app有很多数据需要发送到其他app以实现相应的功能,比如app1需要app2提供相应的加密服务,那么就需要将数据给到app2,加完密再将数据返回给app1。对应现有技术实现不同进程间通信的做法,有aidl方式,文件共享方式等等。其中,aidl方式为通过其中一个app给出aidl的api等方式来通信。现有采用的通信方式需要两个app共同修改到符合它们定义的通信协议。

与此同时,蓝牙通信技术的应用场景很广泛,比如蓝牙收银钱箱、蓝牙打印机、蓝牙耳机等。蓝牙是种简单且标准化的数据交换方式,不用约定api,只需按蓝牙接入标准开发即可。但是,现有的蓝牙通讯方式,需要通信的两个设备均具备硬件结构的蓝牙模块才能实现通讯。如果需要通信的2个app安装在同一个智能设备中,那么它们要进行数据交换,就没办法以蓝牙的方式实现。因为同一台智能设备,一般只有一个蓝牙模块。对这两个app来说,是共用的。同时,基于已带有蓝牙通信功能的app之间不能直接通信,需要更改代码,且无法灵活的配置不同app之间的通信。



技术实现要素:

本发明所要解决的技术问题是:提供一种进程间基于虚拟蓝牙设备通信的方法及智能设备,实现无需更改代码,无需约定api,无需增加硬件成本,便可灵活方便的通信。

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

一种进程间基于虚拟蓝牙设备通信的方法,包括:

在智能设备中虚拟一蓝牙设备;

建立待通信的进程与所述蓝牙设备的蓝牙通信连接关系;

所述蓝牙设备转发一进程发送的数据至对应的另一进程。

本发明提供的另一个技术方案为:

一种进程间基于虚拟蓝牙设备通信的智能设备,包括一虚拟的蓝牙设备和待通信的进程;

所述待通信的进程与所述蓝牙设备的蓝牙通信连接关系;

待通信的进程之间的数据通过所述蓝牙设备进行转发。

本发明的有益效果在于:本发明通过在设备中虚拟一按照标准蓝牙通信协议存在的虚拟蓝牙设备,以此作为待通信进程间的通信桥梁。从而实现与虚拟蓝牙设备连接的待通信进程之间的数据交换;且该数据交换的实现不用约定特定的api,也不用修改通信协议或代码,更不需要额外增加任何硬件成本。进一步的,只需配置与虚拟蓝牙设备连接的进程对象,便可实现灵活的配置不同进程间的通信链路,以此达到通信的目的。

附图说明

图1为本发明一种进程间基于虚拟蓝牙设备通信的流程示意图;

图2为本发明实施例一种两个app之间的通信交互示意图;

图3为本发明实施例一种三个app之间的通信交互示意图。

具体实施方式

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

本发明最关键的构思在于:通过虚拟的蓝牙设备作为待通信进程间的通信桥梁,实现与虚拟蓝牙设备连接的待通信进程之间的数据交换。

请参照图1、图2和图3,本发明提供一种进程间基于虚拟蓝牙设备通信的方法,包括:

在智能设备中虚拟一蓝牙设备;

建立待通信的进程与所述蓝牙设备的蓝牙通信连接关系;

所述蓝牙设备转发一进程发送的数据至对应的另一进程。

本发明的有益效果在于:只需基于现有的简单且标准化的蓝牙数据交换方式,不用约定api,也不用更改代码直至待通信进程符合既定通信协议,只需灵活配置待通信的进程与虚拟的蓝牙设备连接,即可实现进程间的通信。

进一步的,若所述待通信的进程的数量为两个;则所述蓝牙设备转发一进程发送的数据至对应的另一进程,具体为:

一进程以蓝牙方式发送数据至所述蓝牙设备;

所述蓝牙设备以蓝牙方式转发所述数据至与其连接的另一进程。

由上述描述可知,若连入虚拟蓝牙设备的进程只有两个,则虚拟蓝牙设备直接转发数据即可,实现在蓝牙稳定通信基础上的快速通信。

进一步的,若所述待通信的进程的数量为两个以上;则所述蓝牙设备转发一app发送的数据至对应的另一进程,具体为:

一进程以蓝牙方式发送带有接收方唯一标识的数据至所述蓝牙设备;

所述蓝牙设备以蓝牙方式,依据所述唯一标识转发所述数据至与其连接的对应的进程。

由上述描述可知,能够实现灵活配置接入的待通信进程;同时,多方进程之间的通信基于唯一标识符实现,不仅数据传输速度快,且准确,传输效率高。

进一步的,所述在智能设备中虚拟一蓝牙设备,具体为:

在智能设备的操作系统中,通过软件虚拟一按照蓝牙标准通信协议存在的蓝牙mac地址,作为虚拟的蓝牙设备。

由上述描述可知,本申请的实现方式极为简单、便捷,且无需增加任何硬件成本,实用性高。

进一步的,所述进程为具备蓝牙通讯功能的app。

由上述描述可知,只需具备蓝牙通信功能的app都能基于本申请实现快速、便捷地通信连接。

本发明提供的另一个技术方案为:

一种进程间基于虚拟蓝牙设备通信的智能设备,包括一虚拟的蓝牙设备和待通信的进程;

所述待通信的进程与所述蓝牙设备的蓝牙通信连接关系;

待通信的进程之间的数据通过所述蓝牙设备进行转发。

从上述描述可知,本发明的有益效果在于:在无需增加任何硬件成本,无需修改软件代码,也无需约定api的情况下,便捷的实现待通信进程间的通信连接,具有广泛的运用场景。

进一步的,若所述待通信的进程的数量为两个;则所述蓝牙设备依据数据的来源直接转发所述数据至另一进程。

进一步的,若所述待通信的进程的数量为两个以上;则所述蓝牙设备依据接收到的数据中带有的接收方的唯一标识,将所述数据转发至对应的进程。

进一步的,所述虚拟的蓝牙设备,通过软件虚拟一按照蓝牙标准通信协议存在的蓝牙mac地址至智能设备的操作系统中实现。

进一步的,所述进程为具备蓝牙通讯功能的app;所述智能设备为智能移动终端。

实施例一

请参照图1至图3,本实施例提供一种进程间基于虚拟蓝牙设备通信的方法,适用于智能设备中,需要进行通信的进程之间,在无需增加任何硬件成本,无需修改软件代码,也无需约定api的情况下,实现便捷、灵活的通信。

本实施例的方法包括:

首先,在智能设备中虚拟出一个蓝牙设备。这个蓝牙设备并非真实的蓝牙硬件,而是一个通过软件模拟的按蓝牙标准通信协议存在的虚拟设备。具体是通过在操作系统中虚拟一个蓝牙mac地址,并赋予其蓝牙设备相关属性的虚拟的蓝牙设备。对上层app来说,就是一个蓝牙设备,它与真实的蓝牙设备差别在于没有实际的硬件,因此它只能在系统中当成蓝牙设备,而无法像有硬件设备的蓝牙那样,被其他智能机所发现。

然后,建立待通信的进程与上述蓝牙设备的蓝牙通信连接关系。具体的,将待通信的、具有蓝牙功能的进程,如app,按照标准蓝牙通信协议到连接上述的虚拟蓝牙设备,并建立待通信的进程与虚拟蓝牙设备的蓝牙标准socket通信。

连接过程中,若只想实现两个进程之间的通信,则只需配置待通信的两个进程与虚拟蓝牙设备连接;若想实现两个以上的进程之间的通信,则可以通过增加或者删除进程个数的方式,灵活的配置与虚拟蓝牙设备连接的进程,实现任意个数的进程和任意进程之间的通信传输。

下面以待通信进程为app详细说明通信的方式。

需要通信的app之间,通过虚拟的蓝牙设备转发其中一个app发送过来的数据至对应想要通信的另一app。

具体的,若待通信的app的数量仅为两个,假设是app1和app2。

如图2所示,在app1和app2已经分别与虚拟的蓝牙设备建立蓝牙通信连接的基础上,其中一方将需要发送给对方的数据发送给虚拟的蓝牙设备;蓝牙设备接收到数据后,直接转发数据给对方即完成通信。如app1往虚拟蓝牙设备发送数据,app2监听蓝牙设备收到的数据,获取它。当app2向虚拟蓝牙设备发送数据的时候,app1监听到就从虚拟蓝牙设备获取相应数据,以此达到通信的目的。

若待通信的app的数量为两个以上,则通过下述方式实现:

其中一app发送带有接收方唯一标识的数据至虚拟的蓝牙设备;

虚拟的蓝牙设备以蓝牙方式,依据所述唯一标识确定接收方,然后转发所述数据至与其连接的对应的app。

如图3所示,假设是三个,分别为app1、app2和app3。配置app1、app2和app3分别与虚拟的蓝牙设备建立蓝牙通信连接后,虚拟蓝牙设备服务会记录每个app的唯一标识,如对应的id;app发送给虚拟蓝牙设备数据的时候,都会在数据包中加入目标app的id,则虚拟蓝牙设备服务就可以根据这个id,把数据转发给相应的app,以达到多个app之间通信,且数据准确传输的目的。需要说明的是,两个app之间的通信同样适用于这种基于唯一标识的方式,从而实现准确传输。

本实施例基于虚拟的蓝牙设备实现通信的app并不限制个数,也不需要协同开发,定义协议,只要遵循蓝牙通信标准就可以完成通信,简单方便,节约开发成本。只要待app都连接到虚拟蓝牙设备上,虚拟蓝牙设备就可以帮助它们将数据转发给需要的app。即本实施例能够实现灵活的配置不同待通信的进程实现通信交互,且方式便捷、简单。

实施例二

本实施例基于实施例一,提供对应的一种进程间基于虚拟蓝牙设备通信的智能设备,如智能手机、智能pos机。

智能设备具体包括一虚拟的蓝牙设备和待通信的进程。

可选的,所述进程为具备蓝牙通讯功能的app。优选的,所述虚拟的蓝牙设备,通过软件虚拟一按照蓝牙标准通信协议存在的蓝牙mac地址至智能设备的操作系统中实现。

具体的,本实施例的智能设备中,所述待通信的进程与所述蓝牙设备的蓝牙通信连接关系;待通信的进程之间的数据通过所述蓝牙设备进行转发。

可选的,若所述待通信的进程的数量为两个;则所述蓝牙设备依据数据的来源直接转发所述数据至另一进程。

可选的,若所述待通信的进程的数量为两个以上;则所述蓝牙设备依据接收到的数据中带有的接收方的唯一标识,将所述数据转发至对应的进程。

综上所述,本发明提供的一种进程间基于虚拟蓝牙设备通信的方法、智能设备,能够实现在不用约定特定的api,也不用修改通信协议或代码,更不用额外增加硬件成本的情况下,基于虚拟的蓝牙设备实现待通信进程的通信交互;且能够灵活、便捷地配置通信的对象,从而实现多个进程之间的通信。

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

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