一种蓝牙防重发的实现方法及装置制造方法及图纸

技术编号:15115743 阅读:41 留言:0更新日期:2017-04-09 12:08
本发明专利技术公开一种蓝牙防重发的实现方法及装置,属于通信领域,所述方法包括:蓝牙设备提取接收到的来自终端设备的数据中的第一序列号,判断第一序列号与蓝牙设备保存的第二序列号是否匹配,如果匹配,则将与第二序列号对应保存的执行结果发送给终端设备,继续提取接收到的来自终端设备的数据中的第一序列号,如果不匹配,则更新第二序列号,根据接收到的数据,执行相应操作,得到执行结果,将得到的执行结果与第二序列号对应保存并发送给终端设备。采用本发明专利技术的技术方案,在终端设备与蓝牙设备进行通讯时,蓝牙设备可以维护终端设备下发的数据的序列号,防止终端设备重发数据而导致的通讯失败,提高了指令的处理速度。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种蓝牙防重发的实现方法及装置
技术介绍
现有技术中,终端设备与蓝牙设备进行通讯时没有ACK(英文全称:Acknowledgement,中文全称:确认字符)响应,终端设备不能确认蓝牙设备是否已经成功接收通讯的数据,会出现如下两种情况:(一)蓝牙设备将接收到的数据处理结果返回给终端设备的过程中出现错误,导致终端设备没有成功接收;(二)终端设备接收到蓝牙设备返回的数据处理结果,但是在预设时长内没有成功解密接收到的数据处理结果;上述两种情况发生时,终端设备会重发数据,而蓝牙设备已经接收到了重发之前的数据,因而造成通讯失败,降低了指令的处理速度。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种蓝牙防重发的实现方法及装置。本专利技术提供了一种蓝牙防重发的实现方法,包括:步骤S1:蓝牙设备提取接收到的来自终端设备的数据中的第一序列号,判断所述第一序列号与所述蓝牙设备保存的第二序列号是否匹配,是则执行步骤S2,否则执行步骤S3;步骤S2:所述蓝牙设备将与所述第二序列号对应保存的执行结果发送给所述终端设备,返回步骤S1;步骤S3:所述蓝牙设备更新所述第二序列号,根据接收到的数据,执行相应操作,得到执行结果,将得到的执行结果与所述第二序列号对应保存并发送给所述终端设备,返回步骤S1。可选地,所述步骤S1之前,还包括:步骤A1:所述蓝牙设备判断是否接收到来自所述终端设备的数据,是则执行步骤A2,否则继续执行步骤A1;步骤A2:所述蓝牙设备判断接收到的数据是否正确,是则执行步骤S1,否则组织错误应答数据发送给所述终端设备,返回步骤A1。可选地,当所述步骤A1判断出所述蓝牙设备接收到来自所述终端设备的数据时,还包括:所述蓝牙设备判断自身的状态,如所述蓝牙设备处于忙碌状态,则对接收到的来自所述终端设备的数据不予处理,继续当前操作,如所述蓝牙设备处于空闲状态,则执行所述步骤A2。可选地,所述蓝牙设备判断接收到的数据是否正确,具体为:判断所述接收到的数据的校验位是否正确;判断所述接收到的数据的格式是否正确;如果判断结果均为是,则所述接收到的数据正确,否则所述接收到的数据错误。所述判断所述接收到的数据的校验位是否正确,具体为:所述蓝牙设备根据预设算法对所述接收到的数据除去校验位的其他部分数据进行运算得到新的校验位的值,判断运算得到的新的校验位的值与所述接收到的数据的校验位的值是否相同,如果是,则确认所述接收到的数据的校验位正确,否则,确认所述接收到的数据的校验位错误;所述判断所述接收到的数据的格式是否正确,具体为:所述蓝牙设备判断所述接收到的数据的格式与预设格式是否一致,如果是,则确认所述接收到的数据的格式正确,否则,确认所述接收到的数据的格式错误。所述步骤S1中,所述蓝牙设备提取接收到的来自终端设备的数据中的第一序列号,具体为:所述蓝牙设备根据所述预设格式提取所述接收到的来自终端设备的数据中预设字节上的数据。可选地,当所述蓝牙设备接收到的数据为多包,进行多条数据接收,所述步骤S1判断出所述第一序列号与所述第二序列号匹配时,还包括:所述蓝牙设备判断所述接收到的数据是否为最后一条数据,是则对重发数据不予处理,继续当前操作,否则对重发数据不予处理,等待接收下一条数据,继续执行所述步骤S1。所述判断所述接收到的数据是否为最后一条数据,具体为:判断所述接收到的数据中预设字节上的数据是否为预设数据。可选地,所述蓝牙设备判断出所述第一序列号与所述第二序列号不匹配之后,还包括:所述蓝牙设备判断所述第二序列号与预设步长之和是否等于所述第一序列号;所述蓝牙设备更新所述第二序列号,具体为:当所述蓝牙设备判断出所述第二序列号与所述预设步长之和等于所述第一序列号之后,所述蓝牙设备更新所述第二序列号。所述蓝牙设备更新第二序列号,具体为:所述蓝牙设备将所述第二序列号更新为所述第一序列号;或者,所述蓝牙设备将所述第二序列号加预设步长,将得到的结果作为更新后的第二序列号。所述步骤S4中,所述蓝牙设备根据接收到的数据,执行相应操作,得到执行结果,具体为:当所述接收到的数据为密文签名指令时,所述蓝牙设备根据预设算法对接收到的密文签名指令进行解密,得到明文签名指令,根据得到的明文签名指令选择算法,根据选择的算法对所述明文签名指令中待签名报文进行签名操作,得到签名结果,根据得到的签名结果生成签名响应,将所述签名响应作为所述执行结果;当所述接收到的数据为密文获取随机数指令时,所述蓝牙设备根据预设算法对接收到的密文获取随机数指令进行解密,得到明文获取随机数指令,根据得到的明文获取随机数指令,调用硬件随机数引擎生成硬件随机数种子,根据生成的硬件随机数种子生成伪随机数,根据生成的伪随机数生成随机数响应,将所述随机数响应作为所述执行结果;当所述接收到的数据为密文验证PIN码指令时,所述蓝牙设备根据预设算法对接收到的密文验证PIN码指令进行解密,得到明文验证PIN码指令,判断所述明文验证PIN码指令中的PIN码与所述蓝牙设备保存的PIN码是否相同,如果相同,则生成验证PIN码正确的验PIN正确响应,将所述验PIN正确响应作为所述执行结果,否则生成验证PIN码错误的验PIN错误响应,将所述验PIN错误响应作为所述执行结果;当所述接收到的数据为密文生成密钥对指令时,所述蓝牙设备根据预设算法对接收到的密文生成密钥对指令进行解密,得到明文生成密钥对指令,根据得到的明文生成密钥对指令,检查密钥存储区中是否存在密钥,如果存在,则将存在的公钥作为所述执行结果,否则生成RSA或SM2非对称密钥对,将生成的非对称密钥对中的公钥作为所述执行结果。本专利技术还提供一种蓝牙防重发的实现装置,包括:提取模块,用于提取接收到的来自终端设备的数据中的第一序列号;存储模块,用于保存第二序列号和与所述第二序列号对应的执行结果;第一判断模块,用于判断所述第一序列号与所述第二序列号是否匹配;发送模块,用于当所述第一判断模块判断出所述第一序列号与所述第二序列号匹配时,将所述存储模块中与所述第二序列号对应的执行结果发送给终端设备;更新模块,用于当所述第一判断模块判断出所述第一序列号与所述第二序列号不匹配时,更新所述第二序列号;处理模块,用于根据接收到的数据,执行相应操作,得到执本文档来自技高网...

【技术保护点】
一种蓝牙防重发的实现方法,其特征在于,包括:步骤S1:蓝牙设备提取接收到的来自终端设备的数据中的第一序列号,判断所述第一序列号与所述蓝牙设备保存的第二序列号是否匹配,是则执行步骤S2,否则执行步骤S3;步骤S2:所述蓝牙设备将与所述第二序列号对应保存的执行结果发送给所述终端设备,返回步骤S1;步骤S3:所述蓝牙设备更新所述第二序列号,根据接收到的数据,执行相应操作,得到执行结果,将得到的执行结果与所述第二序列号对应保存并发送给所述终端设备,返回步骤S1。

【技术特征摘要】
1.一种蓝牙防重发的实现方法,其特征在于,包括:
步骤S1:蓝牙设备提取接收到的来自终端设备的数据中的第一序列号,判
断所述第一序列号与所述蓝牙设备保存的第二序列号是否匹配,是则执行步骤
S2,否则执行步骤S3;
步骤S2:所述蓝牙设备将与所述第二序列号对应保存的执行结果发送给所
述终端设备,返回步骤S1;
步骤S3:所述蓝牙设备更新所述第二序列号,根据接收到的数据,执行相
应操作,得到执行结果,将得到的执行结果与所述第二序列号对应保存并发送
给所述终端设备,返回步骤S1。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:
步骤A1:所述蓝牙设备判断是否接收到来自所述终端设备的数据,是则执
行步骤A2,否则继续执行步骤A1;
步骤A2:所述蓝牙设备判断接收到的数据是否正确,是则执行步骤S1,否
则组织错误应答数据发送给所述终端设备,返回步骤A1。
3.根据权利要求2所述的方法,其特征在于,当所述步骤A1判断出所述
蓝牙设备接收到来自所述终端设备的数据时,还包括:所述蓝牙设备判断自身
的状态,如所述蓝牙设备处于忙碌状态,则对接收到的来自所述终端设备的数
据不予处理,继续当前操作,如所述蓝牙设备处于空闲状态,则执行所述步骤
A2。
4.根据权利要求2所述的方法,其特征在于,所述蓝牙设备判断接收到的
数据是否正确,具体为:
判断所述接收到的数据的校验位是否正确;
判断所述接收到的数据的格式是否正确;
如果判断结果均为是,则所述接收到的数据正确,否则所述接收到的数据
错误。
5.根据权利要求4所述的方法,其特征在于,
所述判断所述接收到的数据的校验位是否正确,具体为:所述蓝牙设备根
据预设算法对所述接收到的数据除去校验位的其他部分数据进行运算得到新的
校验位的值,判断运算得到的新的校验位的值与所述接收到的数据的校验位的
值是否相同,如果是,则确认所述接收到的数据的校验位正确,否则,确认所
述接收到的数据的校验位错误;
所述判断所述接收到的数据的格式是否正确,具体为:所述蓝牙设备判断
所述接收到的数据的格式与预设格式是否一致,如果是,则确认所述接收到的
数据的格式正确,否则,确认所述接收到的数据的格式错误。
6.根据权利要求5所述的方法,其特征在于,所述步骤S1中,所述蓝牙设
备提取接收到的来自终端设备的数据中的第一序列号,具体为:所述蓝牙设备
根据所述预设格式提取所述接收到的来自终端设备的数据中预设字节上的数
据。
7.根据权利要求1所述的方法,其特征在于,当所述蓝牙设备接收到的数
据为多包,进行多条数据接收,所述步骤S1判断出所述第一序列号与所述第二
序列号匹配时,还包括:
所述蓝牙设备判断所述接收到的数据是否为最后一条数据,是则对重发数
据不予处理,继续当前操作,否则对重发数据不予处理,等待接收下一条数据,
继续执行所述步骤S1。
8.根据权利要求7所述的方法,其特征在于,所述判断所述接收到的数据
是否为最后一条数据,具体为:判断所述接收到的数据中预设字节上的数据是

\t否为预设数据。
9.根据权利要求1所述的方法,其特征在于,所述蓝牙设备判断出所述第
一序列号与所述第二序列号不匹配之后,还包括:
所述蓝牙设备判断所述第二序列号与预设步长之和是否等于所述第一序列
号;
所述蓝牙设备更新所述第二序列号,具体为:
当所述蓝牙设备判断出所述第二序列号与所述预设步长之和等于所述第一
序列号之后,所述蓝牙设备更新所述第二序列号。
10.根据权利要求1所述的方法,其特征在于,所述蓝牙设备更新第二序列
号,具体为:
所述蓝牙设备将所述第二序列号更新为所述第一序列号;
或者,
所述蓝牙设备将所述第二序列号加预设步长,将得到的结果作为更新后的
第二序列号。
11.根据权利要求1所述的方法,其特征在于,所述步骤S4中,所述蓝牙
设备根据接收到的数据,执行相应操作,得到执行结果,具体为:
当所述接收到的数据为密文签名指令时,所述蓝牙设备根据预设算法对接
收到的密文签名指令进行解密,得到明文签名指令,根据得到的明文签名指令
选择算法,根据选择的算法对所述明文签名指令中待签名报文进行签名操作,
得到签名结果,根据得到的签名结果生成签名响应,将所述签名响应作为所述
执行结果;
当所述接收到的数据为密文获取随机数指令时,所述蓝牙设备根据预设算
法对接收到的密文获取随机数指令进行解密,得到明文获取随机数指令,根据

\t得到的明文获取随机数指令,调用硬件随机数引擎生成硬件随机数种子,根据
生成的硬件随机数种子生成伪随机数,根据生成的伪随机数生成随机数响应,
将所述随机数响应作为所述执行结果;
当所述接收到的数据为密文验证PIN码指令时,所述蓝牙设备根据预设算
法对接收到的密文验证PIN码指令进行解密,得到明文验证PIN码指令,判断
所述明文验证PIN码指令中的PIN码与所述蓝牙设备保存的PIN码是否相同,
如果相同,则生成验证PIN码正确的验PIN正确响应,将所述验PIN正确响应
作为所述执行结果,否则生成验证PIN码错误的验PIN错误响应,将所述验PIN
错误响应作为所述执行结果;
当所述接收到的数据为密文生成密钥对指令时,所述蓝牙设备根据预设算
法对接收到的密文生成密钥对指令进行解密,得到明文生成密钥对指令,根据
得到的明文生成密钥对指令,检查密钥存储区中是否存在密钥,如果存在,则
将存在的公钥作为所述执行结果,否则生成RSA或SM2非对称密钥对,将生成
的非对称密钥对中的公钥作为所述执行结果。
12.一种蓝牙防重发的实现装置,其特征在于,包括:
提取模块,用于提取接收到的来自终端设备的数...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1