CN113162997B - 数据传输方法、装置、电子设备及可读存储介质 - Google Patents
数据传输方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113162997B CN113162997B CN202110365440.7A CN202110365440A CN113162997B CN 113162997 B CN113162997 B CN 113162997B CN 202110365440 A CN202110365440 A CN 202110365440A CN 113162997 B CN113162997 B CN 113162997B
- Authority
- CN
- China
- Prior art keywords
- equipment
- data
- client
- list
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及数据处理,揭露一种数据传输方法,包括:开启电子设备的设备发现服务,当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,生成第一设备列表;开启电子设备的数据传输服务,搜索发出第二广播的第二客户端设备群组,生成第二设备列表;基于第一设备列表及第二设备列表生成待连接设备列表,从待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接数据接收方,并将待传输数据发送给数据接收方。本发明还提供一种数据传输装置、电子设备及可读存储介质。本发明提高了数据传输的安全性,并实现一对多传输。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据传输方法、装置、电子设备及可读存储介质。
背景技术
随着数据时代的到来,如何快速、准确的在智能设备间进行数据传输成为当前的关注要点。例如,对于iOS操作系统的设备之间的数据传输,当前通常是通过airdrop(隔空投放)功能来实现的,然而airdrop仅支持一对一传输,且未对发送方及其发送的数据进行过滤,接收方可能会收到第三方的不安全数据。因此,亟需一种数据传输方法,以提高数据传输的安全性,并实现一对多传输。
发明内容
鉴于以上内容,有必要提供一种数据传输方法,旨在提高数据传输的安全性,并实现一对多传输。
本发明提供的数据传输方法,包括:
解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断所述电子设备的操作系统类型是否为预设类型;
当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组;
当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表;
开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表;
基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
可选的,所述标识信息包括设备标识及服务标识,所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
可选的,所述将所述待传输数据发送给所述数据接收方包括:
计算所述待传输数据的标准信息摘要值;
采用预设密钥加密所述待传输数据,得到数据密文;
将所述数据密文及标准信息摘要值发送给所述数据接收方。
可选的,所述开启所述电子设备的设备发现服务包括开启所述电子设备的第一广播服务及第一搜索服务,所述开启所述电子设备的第一广播服务包括:
判断所述电子设备的蓝牙是否已开启;
当判断所述电子设备的蓝牙已开启时,生成并广播所述电子设备对应的标识信息。
可选的,所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组包括:
将搜索区域设置界面展示在所述电子设备的界面上;
接收用户基于所述搜索区域设置界面设置的目标区域;
基于所述第一搜索服务搜索所述目标区域内是否存在发出第一广播的第一客户端设备群组。
可选的,在所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组之后,所述方法还包括:
若预设时间段内未在目标区域内搜索到发出第一广播的客户端设备,则向所述电子设备发送预警信息。
为了解决上述问题,本发明还提供一种数据传输装置,所述装置包括:
解析模块,用于解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断电子设备的操作系统类型是否为预设类型;
搜索模块,用于当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组;
第一生成模块,用于当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表;
第二生成模块,用于开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表;
发送模块,用于基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
可选的,所述标识信息包括设备标识及服务标识,所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的数据传输程序,所述数据传输程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据传输方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序可被一个或者多个处理器执行,以实现上述数据传输方法。
相较现有技术,本发明首先开启电子设备的设备发现服务,当设备发现服务搜索到目标区域内存在发出第一广播的第一客户端设备群组时,生成第一设备列表;然后,开启电子设备的数据传输服务,搜索发出第二广播的第二客户端设备群组,生成第二设备列表;最后,基于第一设备列表及第二设备列表生成待连接设备列表,从待连接设备列表中选择一个或多个客户端设备作为数据接收方,将待传输数据发送给数据接收方。该方案根据第一设备列表及第二设备列表生成待连接设备列表,使得待连接设备列表中的客户端设备皆位于目标区域内,保证了待连接设备列表中的客户端设备皆为可信设备,提高了数据传输安全性,同时,从待连接设备列表中选择一个或多个客户端设备作为数据接收方,实现了一对多传输。因此,本发明提高了数据传输的安全性,并实现一对多传输。
附图说明
图1为本发明一实施例提供的数据传输方法的流程示意图;
图2为本发明一实施例提供的数据传输装置的模块示意图;
图3为本发明一实施例提供的实现数据传输方法的电子设备的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种数据传输方法。参照图1所示,为本发明一实施例提供的数据传输方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
本实施例中,数据传输方法包括:
S1、解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断电子设备的操作系统类型是否为预设类型。
本实施例中,所述电子设备为数据发送方对应的客户端设备,所述电子设备可以是手机、电脑或平板等智能设备。
所述操作系统类型包括Android、windows、linux及iOS、iPad OS、Mac OS操作系统类型,所述预设类型为iOS、iPad OS、Mac OS操作系统类型中的任意一种,本实施例仅针对iOS、iPad OS、Mac OS操作系统的智能设备之间的数据传输方案进行描述。
S2、当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组。
所述设备发现服务基于蓝牙和定位技术,用于发现靠近的客户端设备。
所述设备发现服务包括第一广播服务和第一搜索服务,第一广播服务用于在发现附近设备阶段使用蓝牙技术广播所在客户端设备的标识信息,以供其它设备发现自己,所述第一搜索服务用于使用定位技术搜索附近是否有发出第一广播的客户端设备。
所述开启所述电子设备的设备发现服务包括开启所述电子设备的第一广播服务及第一搜索服务,所述开启所述电子设备的第一广播服务包括:
A11、判断所述电子设备的蓝牙是否已开启;
本实施例中,在判断所述电子设备的蓝牙是否已开启之前,所述方法还包括:初始化CBPeripheralManager对象为peripheraManager管理类。
然后,通过代理方法peripheralManagerDidUpdateState获取所述电子设备的蓝牙状态参数CLAuthorizationStatus对应的字段,当蓝牙状态参数对应的字段为kCLAuthorizationStatusAuthorizedAlways或kCLAuthorizationStatusAuthorizedWhenInUse时,表示蓝牙已开启。
A12、当判断所述电子设备的蓝牙已开启时,生成并广播所述电子设备对应的标识信息。
所述标识信息包括设备标识及服务标识。
所述设备标识可以是设备的身份码,例如,手机的IMEI(国际移动设备身份码)、电脑的Mac地址;所述服务标识包括设备发现服务对应的标识及数据传输服务对应的标识。
本实施例通过peripheraManager调用startAdvertising方法将电子设备的标识信息广播出去。
本实施例中,有意向传输、接收数据的客户端设备(包括数据发送方对应的客户端设备和数据接收方对应的客户端设备)都需要开启第一广播服务,第一广播服务以固定的频率广播所在客户端的标识信息。
数据发送方所在的客户端还需要开启第一搜索服务,此时,先初始化CLLocationManager管理对象locationManager,再搜索附近是否有发出第一广播的客户端设备。
所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组包括:
B11、将搜索区域设置界面展示在所述电子设备的界面上;
B12、接收用户基于所述搜索区域设置界面设置的目标区域;
B13、基于所述第一搜索服务搜索所述目标区域内是否存在发出第一广播的第一客户端设备群组。
若用户设置的目标区域为1米,则将以电子设备为中心、1米为半径的区域作为待扫描区域。
本实施例中,第一搜索服务通过locationManager方法调用startRangingBeaconsInRegion搜索待扫描区域是否存在发出第一广播的第一客户端设备群组,然后通过回调方法locationManager:didRangeBeacons:查看搜索结果。
S3、当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表。
本实施例中,在搜索到目标区域内存在发出第一广播的第一客户端设备群组时,将第一客户端设备群组中各个客户端设备的标识信息存储至第一设备列表中。
在所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组之后,所述方法还包括:
若预设时间段内未在目标区域内搜索到发出第一广播的客户端设备,则向所述电子设备发送预警信息。
例如,若30秒内在目标区域内未搜索到任何一个客户端设备,则向电子设备发送预警信息,所述预警信息可以是“请确认数据接收方是否开启第一广播服务”,或“请确认数据接收方是否移动至目标区域”。
S4、开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表。
本实施例中,因设备发现服务仅用于发现设备,而不能传输大文件数据,故而需要开启数据传输服务以用于传输数据。
本实施例中,所述数据传输服务基于MultipeerConnectivity(多点连接)技术,在没有联网的情况下也能传输文件,且传输速度较高。
因设备发现服务与数据传输服务采用的是不同的技术,故而采用数据传输服务传输数据时无法直接连接设备发现服务搜索到的第一客户端设备群组中的客户端设备,数据传输服务也需要进行广播和搜索后才能执行连接及数据传输操作。
所述数据传输服务包括第二广播服务和第二搜索服务,所述第二广播服务用于在数据传输阶段广播所在客户端的标识信息,以便其他设备发现自己;所述第二搜索服务用于搜索发出第二广播的客户端设备。
本实施例中,第二广播服务通过调用startAdvertisingPeer方法广播所在客户端的标识信息(包括设备标识及服务标识),所述第二搜索服务通过startBrowsingForPeers搜索发出第二广播的客户端设备。
与设备发现服务相同的是,有意向传输、接收数据的客户端设备(包括数据发送方对应的客户端设备和数据接收方对应的客户端设备)也都需要开启第二广播服务,第二广播服务以固定的频率广播所在客户端的标识信息。
因第一搜索服务采用了定位技术,第二搜索服务未采用定位技术,故而,第一搜索服务与第二搜索服务搜索出的客户端设备群组可能并不相同。
S5、基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
C11、剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
C12、剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
通过剔除第一设备列表的标识信息中不含设备发现服务标识的客户端设备及剔除第二设备列表的标识信息中不含数据传输服务标识的客户端设备,可删除其他打开蓝牙功能、而并不是用于传输数据的设备,保证了第三设备列表及第四设备列表中的客户端设备都是有意向传输、接收数据的客户端设备。
C13、抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
通过抽取第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,保证了待连接设备列表中的客户端设备皆为数据传输服务搜索到的、且已进入目标区域的客户端设备。
用户可从待连接设备列表中选择一个或多个客户端设备作为数据接收方进行连接,该步骤可避免开启了第一广播服务及第二广播服务的客户端设备不小心进入目标区域而被误传了数据的情况发生。
所述将所述待传输数据发送给所述数据接收方包括:
D11、计算所述待传输数据的标准信息摘要值;
所述标准信息摘要值为MD5值。
D12、采用预设密钥加密所述待传输数据,得到数据密文;
D13、将所述数据密文及标准信息摘要值发送给所述数据接收方。
数据接收方收到数据密文和标准信息摘要值后,可通过同样的密钥解密数据密文,得到明文数据,同时计算明文数据的信息摘要值,比对计算得到的信息摘要值与标准信息摘要值是否一致,以确保待传输数据的安全性(未被篡改)、完整性。
由上述实施例可知,本发明提出的数据传输方法,首先,开启电子设备的设备发现服务,当设备发现服务搜索到目标区域内存在发出第一广播的第一客户端设备群组时,生成第一设备列表;然后,开启电子设备的数据传输服务,搜索发出第二广播的第二客户端设备群组,生成第二设备列表;最后,基于第一设备列表及第二设备列表生成待连接设备列表,从待连接设备列表中选择一个或多个客户端设备作为数据接收方,将待传输数据发送给数据接收方。该方案根据第一设备列表及第二设备列表生成待连接设备列表,使得待连接设备列表中的客户端设备皆位于目标区域内,保证了待连接设备列表中的客户端设备皆为可信设备,提高了数据传输安全性,同时,从待连接设备列表中选择一个或多个客户端设备作为数据接收方,实现了一对多传输。因此,本发明提高了数据传输的安全性,并实现一对多传输。
如图2所示,为本发明一实施例提供的数据传输装置的模块示意图。
本发明所述数据传输装置100可以安装于电子设备中。根据实现的功能,所述数据传输装置100可以包括解析模块110、搜索模块120、第一生成模块130、第二生成模块140及发送模块150。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
解析模块110,用于解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断电子设备的操作系统类型是否为预设类型。
本实施例中,所述电子设备为数据发送方对应的客户端设备,所述电子设备可以是手机、电脑或平板等智能设备。
所述操作系统类型包括Android、windows、linux及iOS、iPad OS、Mac OS操作系统类型,所述预设类型为iOS、iPad OS、Mac OS操作系统类型中的任意一种,本实施例仅针对iOS、iPad OS、Mac OS操作系统的智能设备之间的数据传输方案进行描述。
搜索模块120,用于当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组。
所述设备发现服务基于蓝牙和定位技术,用于发现靠近的客户端设备。
所述设备发现服务包括第一广播服务和第一搜索服务,第一广播服务用于在发现附近设备阶段使用蓝牙技术广播所在客户端设备的标识信息,以供其它设备发现自己,所述第一搜索服务用于使用定位技术搜索附近是否有发出第一广播的客户端设备。
所述开启所述电子设备的设备发现服务包括开启所述电子设备的第一广播服务及第一搜索服务,所述开启所述电子设备的第一广播服务包括:
A21、判断所述电子设备的蓝牙是否已开启;
本实施例中,在判断所述电子设备的蓝牙是否已开启之前,所述搜索模块120还用于:初始化CBPeripheralManager对象为peripheraManager管理类。
然后,通过代理方法peripheralManagerDidUpdateState获取所述电子设备的蓝牙状态参数CLAuthorizationStatus对应的字段,当蓝牙状态参数对应的字段为kCLAuthorizationStatusAuthorizedAlways或kCLAuthorizationStatusAuthorizedWhenInUse时,表示蓝牙已开启。
A22、当判断所述电子设备的蓝牙已开启时,生成并广播所述电子设备对应的标识信息。
所述标识信息包括设备标识及服务标识。
所述设备标识可以是设备的身份码,例如,手机的IMEI(国际移动设备身份码)、电脑的Mac地址;所述服务标识包括设备发现服务对应的标识及数据传输服务对应的标识。
本实施例通过peripheraManager调用startAdvertising方法将电子设备的标识信息广播出去。
本实施例中,有意向传输、接收数据的客户端设备(包括数据发送方对应的客户端设备和数据接收方对应的客户端设备)都需要开启第一广播服务,第一广播服务以固定的频率广播所在客户端的标识信息。
数据发送方所在的客户端还需要开启第一搜索服务,此时,先初始化CLLocationManager管理对象locationManager,再搜索附近是否有发出第一广播的客户端设备。
所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组包括:
B21、将搜索区域设置界面展示在所述电子设备的界面上;
B22、接收用户基于所述搜索区域设置界面设置的目标区域;
B23、基于所述第一搜索服务搜索所述目标区域内是否存在发出第一广播的第一客户端设备群组。
若用户设置的目标区域为1米,则将以电子设备为中心、1米为半径的区域作为待扫描区域。
本实施例中,第一搜索服务通过locationManager方法调用startRangingBeaconsInRegion搜索待扫描区域是否存在发出第一广播的第一客户端设备群组,然后通过回调方法locationManager:didRangeBeacons:查看搜索结果。
第一生成模块130,用于当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表。
本实施例中,在搜索到目标区域内存在发出第一广播的第一客户端设备群组时,将第一客户端设备群组中各个客户端设备的标识信息存储至第一设备列表中。
在所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组之后,所述第一生成模块130还用于:
若预设时间段内未在目标区域内搜索到发出第一广播的客户端设备,则向所述电子设备发送预警信息。
例如,若30秒内在目标区域内未搜索到任何一个客户端设备,则向电子设备发送预警信息,所述预警信息可以是“请确认数据接收方是否开启第一广播服务”,或“请确认数据接收方是否移动至目标区域”。
第二生成模块140,用于开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表。
本实施例中,因设备发现服务仅用于发现设备,而不能传输大文件数据,故而需要开启数据传输服务以用于传输数据。
本实施例中,所述数据传输服务基于MultipeerConnectivity(多点连接)技术,在没有联网的情况下也能传输文件,且传输速度较高。
因设备发现服务与数据传输服务采用的是不同的技术,故而采用数据传输服务传输数据时无法直接连接设备发现服务搜索到的第一客户端设备群组中的客户端设备,数据传输服务也需要进行广播和搜索后才能执行连接及数据传输操作。
所述数据传输服务包括第二广播服务和第二搜索服务,所述第二广播服务用于在数据传输阶段广播所在客户端的标识信息,以便其他设备发现自己;所述第二搜索服务用于搜索发出第二广播的客户端设备。
本实施例中,第二广播服务通过调用startAdvertisingPeer方法广播所在客户端的标识信息(包括设备标识及服务标识),所述第二搜索服务通过startBrowsingForPeers搜索发出第二广播的客户端设备。
与设备发现服务相同的是,有意向传输、接收数据的客户端设备(包括数据发送方对应的客户端设备和数据接收方对应的客户端设备)也都需要开启第二广播服务,第二广播服务以固定的频率广播所在客户端的标识信息。
因第一搜索服务采用了定位技术,第二搜索服务未采用定位技术,故而,第一搜索服务与第二搜索服务搜索出的客户端设备群组可能并不相同。
发送模块150,用于基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
C21、剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
C22、剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
通过剔除第一设备列表的标识信息中不含设备发现服务标识的客户端设备及剔除第二设备列表的标识信息中不含数据传输服务标识的客户端设备,可删除其他打开蓝牙功能、而并不是用于传输数据的设备,保证了第三设备列表及第四设备列表中的客户端设备都是有意向传输、接收数据的客户端设备。
C23、抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
通过抽取第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,保证了待连接设备列表中的客户端设备皆为数据传输服务搜索到的、且已进入目标区域的客户端设备。
用户可从待连接设备列表中选择一个或多个客户端设备作为数据接收方进行连接,该步骤可避免开启了第一广播服务及第二广播服务的客户端设备不小心进入目标区域而被误传了数据的情况发生。
所述将所述待传输数据发送给所述数据接收方包括:
D21、计算所述待传输数据的标准信息摘要值;
所述标准信息摘要值为MD5值。
D22、采用预设密钥加密所述待传输数据,得到数据密文;
D23、将所述数据密文及标准信息摘要值发送给所述数据接收方。
数据接收方收到数据密文和标准信息摘要值后,可通过同样的密钥解密数据密文,得到明文数据,同时计算明文数据的信息摘要值,比对计算得到的信息摘要值与标准信息摘要值是否一致,以确保待传输数据的安全性(未被篡改)、完整性。
如图3所示,为本发明一实施例提供的实现数据传输方法的电子设备的结构示意图。
所述电子设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。
在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12,该存储器11中存储有数据传输程序10,所述数据传输程序10可被所述处理器12执行。图3仅示出了具有组件11-12以及数据传输程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元,例如该电子设备1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的数据传输程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行数据传输程序10等。
可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的数据传输程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断电子设备1的操作系统类型是否为预设类型;
当判断电子设备1的操作系统类型是预设类型时,开启所述电子设备1的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组;
当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表;
开启所述电子设备1的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表;
基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
具体地,所述处理器12对上述数据传输程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有数据传输程序10,所述数据传输程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述数据传输方法各实施例基本相同,在此不作赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种数据传输方法,应用于电子设备,其特征在于,所述方法包括:
解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断所述电子设备的操作系统类型是否为预设类型;
当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组;
当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表;
开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表;
基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
2.如权利要求1所述的数据传输方法,其特征在于,所述标识信息包括设备标识及服务标识,所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
3.如权利要求1所述的数据传输方法,其特征在于,所述将所述待传输数据发送给所述数据接收方包括:
计算所述待传输数据的标准信息摘要值;
采用预设密钥加密所述待传输数据,得到数据密文;
将所述数据密文及标准信息摘要值发送给所述数据接收方。
4.如权利要求1所述的数据传输方法,其特征在于,所述开启所述电子设备的设备发现服务包括开启所述电子设备的第一广播服务及第一搜索服务,所述开启所述电子设备的第一广播服务包括:
判断所述电子设备的蓝牙是否已开启;
当判断所述电子设备的蓝牙已开启时,生成并广播所述电子设备对应的标识信息。
5.如权利要求4所述的数据传输方法,其特征在于,所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组包括:
将搜索区域设置界面展示在所述电子设备的界面上;
接收用户基于所述搜索区域设置界面设置的目标区域;
基于所述第一搜索服务搜索所述目标区域内是否存在发出第一广播的第一客户端设备群组。
6.如权利要求1所述的数据传输方法,其特征在于,在所述基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组之后,所述方法还包括:
若预设时间段内未在目标区域内搜索到发出第一广播的客户端设备,则向所述电子设备发送预警信息。
7.一种数据传输装置,其特征在于,所述装置包括:
解析模块,用于解析用户发出的数据传输请求,获取所述请求携带的待传输数据,判断电子设备的操作系统类型是否为预设类型;
搜索模块,用于当判断所述电子设备的操作系统类型是预设类型时,开启所述电子设备的设备发现服务,基于所述设备发现服务搜索目标区域内是否存在发出第一广播的第一客户端设备群组;
第一生成模块,用于当搜索到目标区域内存在发出第一广播的第一客户端设备群组时,基于所述第一客户端设备群组中各个客户端设备的标识信息生成第一设备列表;
第二生成模块,用于开启所述电子设备的数据传输服务,基于所述数据传输服务搜索发出第二广播的第二客户端设备群组,基于所述第二客户端设备群组中各个客户端设备的标识信息生成第二设备列表;
发送模块,用于基于所述第一设备列表及第二设备列表生成待连接设备列表,从所述待连接设备列表中选择一个或多个客户端设备作为数据接收方,连接所述数据接收方,并将所述待传输数据发送给所述数据接收方。
8.如权利要求7所述的数据传输装置,其特征在于,所述标识信息包括设备标识及服务标识,所述基于所述第一设备列表及第二设备列表生成待连接设备列表包括:
剔除所述第一设备列表的标识信息中不含设备发现服务标识的客户端设备,得到第三设备列表;
剔除所述第二设备列表的标识信息中不含数据传输服务标识的客户端设备,得到第四设备列表;
抽取所述第三设备列表及第四设备列表的标识信息中设备标识相同的客户端设备,得到待连接设备列表。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的数据传输程序,所述数据传输程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一项所述的数据传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序可被一个或者多个处理器执行,以实现如权利要求1至6任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365440.7A CN113162997B (zh) | 2021-04-02 | 2021-04-02 | 数据传输方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365440.7A CN113162997B (zh) | 2021-04-02 | 2021-04-02 | 数据传输方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113162997A CN113162997A (zh) | 2021-07-23 |
CN113162997B true CN113162997B (zh) | 2022-04-12 |
Family
ID=76888638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365440.7A Active CN113162997B (zh) | 2021-04-02 | 2021-04-02 | 数据传输方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113162997B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114640974B (zh) * | 2022-05-16 | 2022-10-21 | 荣耀终端有限公司 | 数据迁移方法、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729100A (zh) * | 2008-10-28 | 2010-06-09 | 英华达(上海)电子有限公司 | 一种基于蓝牙技术的文件传输方法和装置 |
CN102067560A (zh) * | 2008-06-23 | 2011-05-18 | 苹果公司 | 用于在替换传输上提供服务发现的装置和方法 |
CN103780285A (zh) * | 2012-10-23 | 2014-05-07 | 中兴通讯股份有限公司 | 一种通过蓝牙广播数据的方法及蓝牙设备 |
WO2014082665A1 (en) * | 2012-11-28 | 2014-06-05 | Polar Electro Oy | Bluetooth service discovery |
CN110933614A (zh) * | 2019-10-12 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 通信处理方法、装置及电子设备 |
CN110972334A (zh) * | 2019-12-09 | 2020-04-07 | 上海传英信息技术有限公司 | 蓝牙配对连接方法、设备及可读存储介质 |
CN111918262A (zh) * | 2020-08-15 | 2020-11-10 | 北京百瑞互联技术有限公司 | 一种快速发现gatt服务的低功耗蓝牙通信的方法及系统 |
CN112105009A (zh) * | 2020-09-02 | 2020-12-18 | 中移(杭州)信息技术有限公司 | 设备发现和蓝牙广播方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-02 CN CN202110365440.7A patent/CN113162997B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102067560A (zh) * | 2008-06-23 | 2011-05-18 | 苹果公司 | 用于在替换传输上提供服务发现的装置和方法 |
CN101729100A (zh) * | 2008-10-28 | 2010-06-09 | 英华达(上海)电子有限公司 | 一种基于蓝牙技术的文件传输方法和装置 |
CN103780285A (zh) * | 2012-10-23 | 2014-05-07 | 中兴通讯股份有限公司 | 一种通过蓝牙广播数据的方法及蓝牙设备 |
WO2014082665A1 (en) * | 2012-11-28 | 2014-06-05 | Polar Electro Oy | Bluetooth service discovery |
CN110933614A (zh) * | 2019-10-12 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 通信处理方法、装置及电子设备 |
CN110972334A (zh) * | 2019-12-09 | 2020-04-07 | 上海传英信息技术有限公司 | 蓝牙配对连接方法、设备及可读存储介质 |
CN111918262A (zh) * | 2020-08-15 | 2020-11-10 | 北京百瑞互联技术有限公司 | 一种快速发现gatt服务的低功耗蓝牙通信的方法及系统 |
CN112105009A (zh) * | 2020-09-02 | 2020-12-18 | 中移(杭州)信息技术有限公司 | 设备发现和蓝牙广播方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Android应用第三方推送服务安全分析与安全增强;路晔绵等;《计算机研究与发展》;20161115(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113162997A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
CN110856126B (zh) | 信息上报、接收方法、终端设备及存储介质 | |
CN109995876B (zh) | 文件传输方法、装置、系统和计算机存储介质 | |
CN111163182A (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
CN110516471B (zh) | 基于信息安全的产品推广方法及相关设备 | |
CN104023336A (zh) | 移动终端的无线接入方法及移动终端 | |
CN111159269B (zh) | 一种数据处理方法、装置及系统 | |
CN112511580A (zh) | 消息推送的方法、装置、存储介质和设备 | |
CN113162997B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN111541772A (zh) | 智能提醒方法和系统以及云服务器 | |
CN111338710A (zh) | 应用程序控制方法、装置、电子设备及存储介质 | |
US8745101B2 (en) | Terminal and method for identifying contents | |
WO2016037489A1 (zh) | Rcs垃圾消息的监控方法、装置及系统 | |
CN110149313B (zh) | 数据共享方法、电子装置及计算机可读存储介质 | |
CN116016174A (zh) | 规则库升级方法、装置、电子设备和存储介质 | |
CN110855525A (zh) | 流量统计方法、电子设备、系统及介质 | |
CN110493735B (zh) | 一种短信处理方法及装置 | |
CN112052267B (zh) | 一种数据查询方法、设备、服务器及存储介质 | |
CN109785129B (zh) | 数据获取方法、装置、设备及计算机可读存储介质 | |
CN112351420B (zh) | 终端设备的组网身份创建方法、设备及可读存储介质 | |
CN110324426B (zh) | 一种数据获取方法、装置和系统 | |
CN114585055A (zh) | 车载WiFi接入方法、车辆控制器、云端服务器及移动终端 | |
CN114301989A (zh) | 信息传递方法、装置和系统 | |
CN114025356A (zh) | 恶意短信验证码的识别方法、相关装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |