发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的数据传输方法、装置、电子设备和计算机可读存储介质。
依据本申请的第一方面,提供了一种数据传输方法,所述方法包括:
接收数据发送端的操作事件;
根据所述操作事件确定所述数据发送端的数据传输方向;
根据所述数据传输方向在若干个可连接终端设备中确定出数据接收端,并将所述数据发送端与所述数据接收端进行无线连接,以使所述数据发送端向所述数据接收端传输数据。
可选地,所述方法还包括:
根据所述数据发送端的位置信息,确定出与所述数据发送端处于预设距离范围内的所述若干个可连接终端设备。
可选地,所述操作事件包括触摸事件,所述根据所述操作事件确定所述数据发送端的数据传输方向包括:
根据所述触摸事件获取所述数据发送端的方位数据和姿态数据;
根据所述方位数据和所述姿态数据确定所述数据传输方向。
可选地,所述操作事件包括滑动事件,所述根据所述操作事件确定所述数据发送端的数据传输方向包括:
根据所述滑动事件确定滑动方向,将所述滑动方向作为所述数据传输方向。
可选地,所述方法还包括:
根据所述操作事件实现所述数据发送端和所述若干个可连接终端设备的无线连接预授权;
所述将所述数据发送端与所述数据接收端进行无线连接包括:
根据实现的所述无线连接预授权,将所述数据发送端与所述数据接收端进行无线连接。
可选地,所述数据接收端包括多个。
可选地,所述将所述数据发送端与所述数据接收端进行无线连接,以使所述数据发送端向所述数据接收端传输数据包括:
将所述数据发送端与各数据接收端均进行无线连接,以使所述数据发送端能够向各数据接收端传输数据。
可选地,所述方法还包括:
确定各数据接收端与所述数据发送端的距离,以及各数据接收端与所述数据发送端的相对角度;
根据所述距离和所述相对角度,确定与所述数据发送端进行无线连接的数据接收端。
可选地,所述方法还包括:
将各数据接收端的设备信息在所述数据发送端的显示界面上进行显示;
接收所述数据发送端对所述数据接收端的设备信息的选择结果;
根据所述选择结果,确定与所述数据发送端进行无线连接的数据接收端。
可选地,所述将所述数据发送端与所述数据接收端进行无线连接包括:
向所述数据接收端发送无线连接请求;
所述方法还包括:
接收所述数据接收端对所述无线连接请求的响应结果;
根据所述响应结果确定是否使所述数据发送端向所述数据接收端传输数据。
可选地,所述方法还包括:
接收所述数据接收端的数据获取请求;
根据所述数据获取请求确定是否使所述数据发送端向所述数据接收端传输数据。
依据本申请的第二方面,提供了一种数据传输装置,其特征在于,所述装置包括:
第一接收单元,用于接收数据发送端的操作事件;
第一确定单元,用于根据所述操作事件确定所述数据发送端的数据传输方向;
连接单元,用于根据所述数据传输方向在若干个可连接终端设备中确定出数据接收端,并将所述数据发送端与所述数据接收端进行无线连接,以使所述数据发送端向所述数据接收端传输数据。
依据本申请的第三方面,提供了一种数据传输系统,包括至少一个数据发送端和至少一个数据接收端,所述数据发送端中包括前述的数据传输装置。
依据本申请的第四方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述任一所述的数据传输方法。
依据本申请的第五方面,提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述任一所述的数据传输方法。
由上述可知,本申请的技术方案至少达到了如下的技术效果:本申请实施例的数据传输方法在进行数据传输时,先接收数据发送端的操作事件;然后根据操作事件确定数据发送端的数据传输方向;最后根据数据传输方向在若干个可连接终端设备中确定出数据接收端,并将数据发送端与数据接收端进行无线连接,使得数据发送端能够向数据接收端传输数据。本申请实施例的数据传输方法根据数据发送端的操作事件即可确定数据发送端的数据传输方向,进而可以快速确定出与数据发送端对应的数据接收端并建立无线连接,从而降低数据传输的时延性,提高了数据传输效率;此外,该过程无需数据发送端和数据接收端事先进行身份认证,保护了用户隐私,提高了用户体验。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
在无线传输领域,蓝牙传输技术和Wi-Fi(无线上网)传输技术应用较为广泛。蓝牙传输技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。Wi-Fi又可以称作“行动热点”,是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 802.11标准的无线局域网技术。对于本申请的数据传输方法来说,可以根据不同的使用场景或者使用需求来选择相应的无线传输方式。
基于此,本申请实施例提供了一种数据传输方法,如图1所示,所述方法包括如下的步骤S110至步骤S130:
步骤S110,接收数据发送端的操作事件。
本申请实施例的数据传输方法可以应用于任意两个或者多个终端设备之间的数据传输,这里的终端设备可以是手机或者平板电脑等各种能够进行无线数据传输的终端设备。在实际应用场景下,发送数据一方的终端设备即为“数据发送端”,而接收数据一方的终端设备即为“数据接收端”,二者的概念是相对而言的。
在进行数据传传输时,可以先接收数据发送端的操作事件,这里的操作事件可以理解为是用户在数据发送端上进行的具体操作,该操作事件表征了数据发送端的用户想要触发数据传输的操作。
步骤S120,根据所述操作事件确定所述数据发送端的数据传输方向。
在接收到数据发送端的操作事件后,可以根据操作事件中的具体操作内容确定数据发送端的数据传输方向,这里的数据传输方向可以理解为是数据发送端的用户将数据发送给实际应用场景下的数据接收端的用户所对应的方向。
步骤S130,根据所述数据传输方向在若干个可连接终端设备中确定出数据接收端,并将所述数据发送端与所述数据接收端进行无线连接,以使所述数据发送端向所述数据接收端传输数据。
在实际应用场景下,用户所处的环境中可能会存在多个可连接终端设备,这里的可连接终端设备可以理解为是能够与数据发送端进行无线连接的终端设备,为了保证数据传输的准确性和安全性,这里可以根据上述得到的数据传输方向在多个可连接终端设备中确定出数据发送端的用户实际想要连接的终端设备,即作为数据接收端。
之后将确定出的数据接收端与数据发送端建立无线连接关系,如蓝牙连接或者Wi-Fi连接等,使得数据发送端能够向数据接收端传输数据。上述这个过程会在极短的时间完成,用户基本感知不到,进而提高了数据传输效率和用户体验。
本申请实施例的数据传输方法根据数据发送端的操作事件即可确定数据发送端的数据传输方向,进而可以快速确定出与数据发送端对应的数据接收端并建立无线连接,从而降低数据传输的时延性,提高了数据传输效率;此外,该过程无需数据发送端和数据接收端事先进行身份认证,保护了用户隐私,提高了用户体验。
考虑到终端设备之间的距离对于数据传输的影响,在本申请的一个实施例中,可以将与数据发送端处于预设距离范围内的终端设备作为上述可连接终端设备,预设距离范围的大小可根据实际应用场景来确定,或者也可以根据蓝牙信号或者Wi-Fi信号的辐射范围来确定。
具体地,在确定预设距离范围内的终端设备时,可以通过终端设备内的蓝牙或者Wi-Fi对终端设备进行定位。蓝牙定位原理主要是基于RSSI(Received Signal StrengthIndication,接收到的信号强度指示),通过三角定位原理进行定位。Wi-Fi定位原理主要包括以下几个方面:1)终端设备在开启Wi-Fi的情况下,扫描并收集周围的无线接入点的信号,获取到无线接入点广播出来的MAC(Media Access Control Address,媒体存取控制位址)地址;2)终端设备将这些能够标示无线接入点的数据发送到位置服务器,位置服务器检索出每一个无线接入点的地理位置,并结合每个信号的强弱程度,计算出终端设备的地理位置并返回。
在本申请的一个实施例中,上述操作事件具体可以包括触摸事件,在确定数据发送端的数据传输方向时,可以先根据触摸事件获取数据发送端的方位数据和姿态数据;然后再根据方位数据和姿态数据确定所数据传输方向。
为了提高数据传输的效率,一旦接收到用户在数据发送端上的触摸事件,就可以直接触发确定数据传输方向的步骤。通常情况下,终端设备中会内置有重力传感器和磁力计,通过重力传感器和磁力计可以检测到数据发送端的方位和姿态信息,因此这里可以通过方位和姿态信息计算得到数据发送端的数据传输方向,这里的数据传输方向可以是指数据发送端在空间坐标系下的朝向和角度等。例如,在实际应用场景下,用户A将其所对应的数据发送端对准用户B,则可以认为用户A想要向用户B所对应的终端设备传输数据。
在本申请的一个实施例中,上述操作事件还可以包括滑动事件,在确定数据发送端的数据传输方向时,可以根据滑动事件确定滑动方向,然后直接将滑动方向作为数据传输方向。
例如,当用户A在其所对应的数据发送端上执行滑动操作时,滑动方向对准了用户B,则可以认为用户A想要向用户B所对应的终端设备传输数据。该实施例与上述实施例的区别是,这里确定的数据传输方向不要求用户A将对应的数据发送端对准用户B,只需要用户的手指在数据发送端上的滑动方向朝向用户B即可。
为了提高数据传输的效率,在本申请的一个实施例中,在接收到数据发送端的操作事件后,可以根据操作事件同步实现数据发送端和若干个可连接终端设备的无线连接预授权,然后根据实现的无线连接预授权,将数据发送端与数据接收端进行无线连接。无线连接的预授权使得后续在确定出数据接收端后,就可以直接将数据接收端与数据发送端进行无线连接和数据传输,避免了授权过程的耗时对数据传输效率的影响,同时优化了用户的无线连接体验。
具体地,在实现数据发送端和若干个可连接终端设备的无线连接预授权时,可以先获取数据发送端和若干个可连接终端设备的设备标识信息,这里的设备标识信息包括但不限于:MAC地址信息、设备序列号信息、蓝牙标识信息等。然后确定数据发送端和若干个可连接终端设备之间的预授权信息,例如包括预授权成功、预授权失败或无需重复授权。最后根据设备标识信息及所述预授权信息对数据发送端和若干个可连接终端设备进行无线连接预授权。
本申请实施例的数据发送端与数据接收端的无线连接方式除了可以采用蓝牙连接,也可以采用Wi-Fi连接。Wi-Fi连接方式可以包括两种,一种是通过Wi-Fi直连实现终端设备之间的数据传输,该方式可以在无移动网络的情况下实现点对点的数据传输;另一种是通过Wi-Fi热点进行终端设备的配对连接,进而实现终端设备之间的数据传输,使用更加方便。
当然除了上述列举的几种无线连接方式,本领域技术人员也可以根据实际情况选择其他的无线连接方式,在此不一一列举。
在本申请的一个实施例中,根据数据传输方向在若干个可连接终端设备中实际确定出的数据接收端可以有多个,后续可以根据不同的应用场景确定是否要进一步从多个数据接收端中确定出唯一的一个终端设备,以与该数据发送端进行无线连接。
例如,在一个应用场景下,用户A可能同时想要向用户B、用户C以及用户D共享一份文件,即一对多的数据传输,如图2所示,这时可以将确定出的用户B、用户C以及用户D分别对应的三个终端设备均作为数据发送端的数据接收端,数据发送端与这些数据接收端均进行无线连接,使得数据发送端能够同时向各数据接收端传输数据,满足了用户一对多的数据传输需求。
在另外一种应用场景下,虽然根据数据传输方向确定出的数据接收端有多个,例如包括用户B、用户C以及用户D分别对应的三个终端设备,但用户A可能仅想要向用户B对应的终端设备传输数据,出现这种情况的原因可能是用户A的终端设备没有对准用户B或者滑动方向没有对准用户B,也有可能是用户B、用户C以及用户D相对于用户A的终端设备均位于同一个方向上等等。
因此,在上述应用场景下,可以进一步确定各数据接收端与数据发送端之间的距离,以及各数据接收端与数据发送端的相对角度;然后根据距离和相对角度,确定出与数据发送端进行无线连接的数据接收端。例如,可以将与数据发送端距离最近,且相对角度最小的终端设备确定为要进行无线连接的数据接收端。
为了保证数据传输的准确性,在本申请的一个实施例中,如果确定出的数据接收端有多个,还可以先将各数据接收端的设备信息在数据发送端的显示界面上进行显示,以使用户能够根据实际需求进行选择;然后接收数据发送端对数据接收端的设备信息的选择结果;最后根据选择结果,确定与数据发送端进行无线连接的数据接收端。
例如,如果确定出的数据接收端包括用户B、用户C以及用户D分别对应的三个终端设备,则可以将这三个终端设备的设备信息在用户A的终端设备的显示界面上进行显示,由于实际场景下,用户之间距离均较近,因此用户A可以通过口头方式询问其想要传输数据的用户B的设备信息如设备名称,这样用户A就可以直接在显示界面上进行选择,进而可以根据用户A的选择结果建立起用户A和用户B的终端设备之间的无线连接,确保了数据传输的准确性和安全性。
当然,需要说明的是,如果确定出的数据接收端仅有一个,也可以通过上述用户验证的方式确保数据传输的准确性和安全性。
为了避免用户的误操作,误触发数据传输过程,在本申请的一个实施例中,在接收到数据发送端的操作事件后,可以对操作事件的具体操作内容进行进一步判断,判断操作内容是否满足触发“根据操作事件确定数据发送端的数据传输方向”这一步骤的要求。
例如,可以事先设置触发动作,如双击屏幕,如果用户在数据发送端的显示界面上执行了双击屏幕的操作,则认为用户想要触发数据传输的功能,如果用户的操作不符合上述预设的触发动作,则不会触发数据传输的功能,进而可以避免用户在终端设备上的误操作。
在本申请的一个实施例中,在将数据发送端与数据接收端进行无线连接时,可以先向数据接收端发送无线连接请求,然后等待并接收数据接收端对无线连接请求的响应结果,最后根据响应结果确定是否使数据发送端向数据接收端传输数据。
例如,在采用蓝牙传输方式的情况下,可以向数据接收端发起蓝牙配对请求,如果数据接收端通过了该配对请求,则数据发送端可以向该数据接收端发送数据。这样一方面可以避免或者替代仅仅由数据发送端来选择数据接收端的情况,另一方面通过增加数据接收端的确认环节也可以避免数据的错误发送。
在本申请的一个实施例中,数据发送端除了可以主动向数据接收端发起数据发送的请求,也可以接收数据接收端的数据获取请求,然后根据数据获取请求确定是否向数据接收端传输数据。
例如,可以对数据接收端的设备标识进行确认,即确认数据接收端是否可以获取数据。这样一方面可以满足数据接收端主动获取数据的需求,提供数据共享效率,另一方面也可以保证数据发送的准确性。
如图3所示,提供了本申请实施例的一种数据传输逻辑框图。首先接收数据发送端的操作事件,确定与数据发送端处在预设范围内的若干个可连接终端设备,然后开启数据发送端和若干个可连接终端设备的蓝牙模式或者Wi-Fi模式等,同时根据数据发送端的操作事件确定数据发送端的数据传输方向,之后根据数据传输方向在上述若干个可连接终端设备中确定出数据接收端,并将数据接收端与数据发送端建立无线连接,使得数据发送端能够向数据接收端传输数据。
本申请实施例提供了一种数据传输装置400,如图4所示,所述装置400包括:第一接收单元410、第一确定单元420和连接单元430,其中:
第一接收单元410,用于接收数据发送端的操作事件;
第一确定单元420,用于根据所述操作事件确定所述数据发送端的数据传输方向;
连接单元430,用于根据所述数据传输方向在若干个可连接终端设备中确定出数据接收端,并将所述数据发送端与所述数据接收端进行无线连接,以使所述数据发送端向所述数据接收端传输数据。
在本申请的一个实施例中,所述装置还包括:第二确定单元,用于根据所述数据发送端的位置信息,确定出与所述数据发送端处于预设距离范围内的所述若干个可连接终端设备。
在本申请的一个实施例中,所述操作事件包括触摸事件,所述第一确定单元420具体用于:根据所述触摸事件获取所述数据发送端的方位数据和姿态数据;根据所述方位数据和所述姿态数据确定所述数据传输方向。
在本申请的一个实施例中,所述操作事件包括滑动事件,所述第一确定单元420具体用于:根据所述滑动事件确定滑动方向,将所述滑动方向作为所述数据传输方向。
在本申请的一个实施例中,所述装置还包括:预授权单元,用于根据所述操作事件实现所述数据发送端和所述若干个可连接终端设备的无线连接预授权;所述连接单元430具体用于:根据实现的所述无线连接预授权,将所述数据发送端与所述数据接收端进行无线连接。
在本申请的一个实施例中,所述连接单元430具体用于:将所述数据发送端与各数据接收端均进行无线连接,以使所述数据发送端能够向各数据接收端传输数据。
在本申请的一个实施例中,所述装置还包括:第三确定单元,用于确定各数据接收端与所述数据发送端的距离,以及各数据接收端与所述数据发送端的相对角度;第四确定单元,用于根据所述距离和所述相对角度,确定与所述数据发送端进行无线连接的数据接收端。
在本申请的一个实施例中,所述装置还包括:显示单元,用于将各数据接收端的设备信息在所述数据发送端的显示界面上进行显示;第二接收单元,用于接收所述数据发送端对所述数据接收端的设备信息的选择结果;第五确定单元,用于根据所述选择结果,确定与所述数据发送端进行无线连接的数据接收端。
在本申请的一个实施例中,所述连接单元430具体用于:向所述数据接收端发送无线连接请求;所述装置还包括:第三接收单元,用于接收所述数据接收端对所述无线连接请求的响应结果;第六确定单元,用于根据所述响应结果确定是否使所述数据发送端向所述数据接收端传输数据。
在本申请的一个实施例中,所述装置还包括:第四接收单元,用于接收所述数据接收端的数据获取请求;第七确定单元,用于根据所述数据获取请求确定是否使所述数据发送端向所述数据接收端传输数据。
需要说明的是,上述各装置实施例的具体实施方式可以参照前述对应方法实施例的具体实施方式进行,在此不再赘述。
本申请实施例提供了一种数据传输系统,如图5所示,该数据传输系统包括至少一个数据发送端和至少一个数据接收端,所述数据发送端中包括前述的数据传输装置。
能够理解,上述关于数据传输方法的相关阐释均适用于数据传输系统,此处不再赘述。
综上所述,本申请的技术方案至少达到了如下的技术效果:本申请实施例的数据传输方法根据数据发送端的操作事件即可确定数据发送端的数据传输方向,进而可以快速确定出与数据发送端对应的数据接收端并建立无线连接,从而降低数据传输的时延性,提高了数据传输效率;此外,该过程无需数据发送端和数据接收端事先进行身份认证,保护了用户隐私,提高了用户体验。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的数据传输装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图6示出了根据本申请一个实施例的电子设备的结构示意图。该电子设备600包括处理器610和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器620。存储器620可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器620具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码631的存储空间630。例如,用于存储计算机可读程序代码的存储空间630可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码631。计算机可读程序代码631可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图7所示的计算机可读存储介质。图7示出了根据本申请一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质700存储有用于执行根据本申请的方法步骤的计算机可读程序代码631,可以被电子设备600的处理器610读取,当计算机可读程序代码631由电子设备600运行时,导致该电子设备600执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码631可以执行上述任一实施例中示出的方法。计算机可读程序代码631可以以适当形式进行压缩。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。