基于蓝牙通信的数据处理方法、设备及存储介质转让专利

申请号 : CN202311240490.8

文献号 : CN117082480B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李炜

申请人 : 荣耀终端有限公司

摘要 :

本申请实施例提供一种基于蓝牙通信的数据处理方法、设备及存储介质,涉及通信技术领域。该方法应用于主设备,主设备以蓝牙通信的方式向从设备传输数据信息;方法包括:在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,指令发送时间间隔是指主设备向从设备两次发送指令的时间间隔;若在起始更新时刻前接收到从设备发送的指令拒绝信息,则解析指令拒绝信息以确定被拒绝指令;若被拒绝指令与连接参数更新指令不同,则确定连接参数更新指令有效。本申请可以避免后续主设备发送命令和从设备接收命令的时间不同步,保证了主设备和从设备始终保持蓝牙连接状态。

权利要求 :

1.一种基于蓝牙通信的数据处理方法,其特征在于,应用于主设备,所述主设备以蓝牙通信的方式向从设备传输数据信息;所述方法包括:在与所述从设备建立蓝牙连接后的设定时刻,向所述从设备发送连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;

若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,则解析所述指令拒绝信息以确定被拒绝指令;

若所述被拒绝指令与所述连接参数更新指令不同,则确定所述连接参数更新指令有效。

2.根据权利要求1所述的方法,其特征在于,所述确定所述连接参数更新指令有效之后,所述方法还包括:在所述起始更新时刻,基于所述新的指令发送时间间隔向所述从设备传输数据信息。

3.根据权利要求1所述的方法,其特征在于,所述若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,则解析所述指令拒绝信息以确定被拒绝指令,包括:若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,并确定在所述设定时刻接收到所述从设备发送的设定类型的控制指令,则解析所述指令拒绝信息以确定被拒绝指令,所述控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。

4.根据权利要求1所述的方法,其特征在于,还包括:

重新向所述从设备发送所述被拒绝指令。

5.根据权利要求4所述的方法,其特征在于,所述重新向所述从设备发送所述被拒绝指令,包括:获取所述指令拒绝信息中包含的所述被拒绝指令对应的拒绝原因;

根据所述拒绝原因,确定是否需要重新向所述从设备发送所述被拒绝指令;

若需要,则重新向所述从设备发送所述被拒绝指令。

6.一种基于蓝牙通信的数据处理方法,其特征在于,应用于从设备,所述从设备以蓝牙通信的方式接收主设备传输的数据信息;所述方法包括:在与所述主设备建立蓝牙连接后的设定时刻,接收所述主设备发送的连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;

若确定存在指令冲突错误,则确定被拒绝指令;

向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;

若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令发送时间间隔接收所述主设备传输的数据信息。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

响应于在所述设定时刻向所述主设备发送设定类型的第一控制指令,以及在所述设定时刻接收到所述连接参数更新指令,确定在所述设定时刻存在指令冲突错误,其中,所述第一控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。

8.根据权利要求7所述的方法,其特征在于,所述确定被拒绝指令,包括:若在所述设定时刻之后接收到所述主设备发送的所述设定类型的第二控制指令,则确定所述被拒绝指令为所述第二控制指令。

9.根据权利要求8所述的方法,其特征在于,所述若确定存在指令冲突错误,则确定被拒绝指令,包括:响应于在所述设定时刻之前的另一时刻向所述主设备发送设定类型的第一控制指令,以及在所述另一时刻接收到所述主设备发送的所述设定类型的第二控制指令,确定在所述另一时刻存在指令冲突错误,其中,所述第一控制指令和所述第二控制指令均与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型;

响应于在所述设定时刻接收到所述连接参数更新指令,确定所述被拒绝指令为所述连接参数更新指令,所述被拒绝指令使得所述主设备确定所述连接参数更新指令无效。

10.一种终端设备,其特征在于,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述终端设备执行权利要求1‑9中任一项所述的方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1‑9中任意一项所述的方法。

12.一种蓝牙通信系统,其特征在于,包括:主设备和从设备;

所述主设备用于以蓝牙通信的方式向从设备传输数据信息,并在与所述从设备建立蓝牙连接后的设定时刻,向所述从设备发送连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;

所述从设备用于若确定存在指令冲突错误,则确定被拒绝指令,并向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令发送时间间隔接收所述主设备传输的数据信息。

说明书 :

基于蓝牙通信的数据处理方法、设备及存储介质

技术领域

[0001] 本申请涉及通信技术领域,尤其涉及一种基于蓝牙通信的数据处理方法、设备及存储介质。

背景技术

[0002] 随着终端技术的不断发展,终端设备的功能越来越丰富,如拍照、录音、编辑文件等,使用终端设备的用户之间的交互也更加频繁。对于距离较近的两个终端设备,往往会采用蓝牙进行数据交互,如互相传输文件、传输音频、传输图像等。
[0003] 为了提高蓝牙连接双方的数据交互速度(为了便于描述,下面称蓝牙连接双方为主设备和从设备),一般会缩短主设备向从设备相邻两次发送命令之间的时间间隔,即主设备第一次发送命令与第二次发送命令之间的时间差。具体实施时,主设备会向从设备发送时间间隔更新指令,从设备根据该更新指令对从设备侧的时间间隔进行更新,若此时主设备侧也按照更新指令中的时间间隔进行了更新,则两者更新后的时间间隔就会保持同步,这样就可以继续正常的进行数据交互了。
[0004] 但在实际应用过程中,有时会出现这样一种情况:主设备在向从设备发送时间间隔更新指令后,收到了从设备发送的指令拒绝信息,主设备直接停止了时间间隔更新操作,但是,该指令拒绝信息可能并不是针对时间间隔更新指令所发送的,主设备这样操作就会导致主设备侧的时间间隔没有更新,而从设备侧的时间间隔已经按照时间间隔更新指令进行了正常的更新,从而使两者后续发送和接收命令的时间不同步,最终导致两者蓝牙连接断开,影响数据交互的正常进行,用户体验较差。

发明内容

[0005] 本申请的多个方面提供一种基于蓝牙通信的数据处理方法、设备及存储介质,用以避免后续主设备发送命令和从设备接收命令的时间不同步,保证主设备和从设备始终保持蓝牙连接状态,用户体验较好。
[0006] 第一方面,本申请实施例提供一种基于蓝牙通信的数据处理方法,应用于主设备,所述主设备以蓝牙通信的方式向从设备传输数据信息;所述方法包括:
[0007] 在与所述从设备建立蓝牙连接后的设定时刻,向所述从设备发送连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;
[0008] 若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,则解析所述指令拒绝信息以确定被拒绝指令;
[0009] 若所述被拒绝指令与所述连接参数更新指令不同,则确定所述连接参数更新指令有效。
[0010] 在一种可能的实现方式中,所述确定所述连接参数更新指令有效之后,所述方法还包括:
[0011] 在所述起始更新时刻,基于所述新的指令发送时间间隔向所述从设备传输数据信息。
[0012] 在一种可能的实现方式中,所述若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,则解析所述指令拒绝信息以确定被拒绝指令,包括:
[0013] 若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,并确定在所述设定时刻接收到所述从设备发送的设定类型的控制指令,则解析所述指令拒绝信息以确定被拒绝指令,所述控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。
[0014] 在一种可能的实现方式中,所述方法还包括:
[0015] 重新向所述从设备发送所述被拒绝指令。
[0016] 在一种可能的实现方式中,所述重新向所述从设备发送所述被拒绝指令,包括:
[0017] 获取所述指令拒绝信息中包含的所述被拒绝指令对应的拒绝原因;
[0018] 根据所述拒绝原因,确定是否需要重新向所述从设备发送所述被拒绝指令;
[0019] 若需要,则重新向所述从设备发送所述被拒绝指令。
[0020] 第二方面,本申请实施例还提供一种基于蓝牙通信的数据处理方法,应用于从设备,所述从设备以蓝牙通信的方式接收主设备传输的数据信息;所述方法包括:
[0021] 在与所述主设备建立蓝牙连接后的设定时刻,接收所述主设备发送的连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;
[0022] 若确定存在指令冲突错误,则确定被拒绝指令;
[0023] 向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;
[0024] 若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令收发时间间隔接收所述主设备传输的数据信息。
[0025] 在一种可能的实现方式中,所述方法还包括:
[0026] 响应于在所述设定时刻向所述主设备发送设定类型的第一控制指令,以及在所述设定时刻接收到所述连接参数更新指令,确定在所述设定时刻存在指令冲突错误,其中,所述第一控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。
[0027] 在一种可能的实现方式中,所述确定被拒绝指令,包括:
[0028] 若在所述设定时刻之后接收到所述主设备发送的所述设定类型的第二控制指令,则确定所述被拒绝指令为所述第二控制指令。
[0029] 在一种可能的实现方式中,所述若确定存在指令冲突错误,则确定被拒绝指令,包括:
[0030] 响应于在所述设定时刻之前的另一时刻向所述主设备发送设定类型的第一控制指令,以及在所述另一时刻接收到所述主设备发送的所述设定类型的第二控制指令,确定在所述另一时刻存在指令冲突错误,其中,所述第一控制指令和所述第二控制指令均与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型;
[0031] 响应于在所述设定时刻接收到所述连接参数更新指令,确定所述被拒绝指令为所述连接参数更新指令,所述被拒绝指令使得所述主设备确定所述连接参数更新指令无效。
[0032] 第三方面,本申请实施例还提供一种基于蓝牙通信的数据处理装置,应用于主设备,所述主设备以蓝牙通信的方式向从设备传输数据信息;所述装置包括:发送模块、解析模块和确定模块。
[0033] 发送模块,用于在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指主设备向从设备两次发送指令的时间间隔。
[0034] 解析模块,用于若在起始更新时刻前接收到从设备发送的指令拒绝信息,则解析指令拒绝信息以确定被拒绝指令。
[0035] 确定模块,用于若被拒绝指令与连接参数更新指令不同,则确定连接参数更新指令有效。
[0036] 第四方面,本申请实施例还提供一种基于蓝牙通信的数据处理装置,应用从设备,所述从设备以蓝牙通信的方式接收主设备传输的数据信息;所述装置包括:指令接收模块、指令确定模块、信息发送模块和信息接收模块。
[0037] 指令接收模块,用于在与所述主设备建立蓝牙连接后的设定时刻,接收所述主设备发送的连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;
[0038] 指令确定模块,用于若确定存在指令冲突错误,则确定被拒绝指令;
[0039] 信息发送模块,用于向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;
[0040] 信息接收模块,用于若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令收发时间间隔接收所述主设备传输的数据信息。
[0041] 第五方面,本申请实施例还提供一种终端设备,所述终端设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被所述处理器执行时,触发所述终端设备执行上述基于蓝牙通信的数据处理方法。
[0042] 第六方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述基于蓝牙通信的数据处理方法。
[0043] 第七方面,本申请实施例还提供一种蓝牙通信系统,所述蓝牙通信系统包括:主设备和从设备;
[0044] 所述主设备用于以蓝牙通信的方式向从设备传输数据信息,并在与所述从设备建立蓝牙连接后的设定时刻,向所述从设备发送连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;
[0045] 所述从设备用于若确定存在指令冲突错误,则确定被拒绝指令,并向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令收发时间间隔接收所述主设备传输的数据信息。
[0046] 在本申请实施例提供的方案中, 主设备在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,如果在起始更新时刻前接收到从设备发送的指令拒绝信息,则对该指令拒绝信息进行解析,以获取被拒绝指令。待获取到具体的被拒绝指令后,即可将被拒绝指令与连接参数更新指令进行比较,若两者不同,则说明从设备拒绝的并不是主设备发送的连接参数更新指令,在这种情况下,主设备可以确定该连接参数更新指令有效,只需后续到了起始更新时刻,基于新的指令发送时间间隔向从设备传输数据信息即可。如此,避免了后续主设备发送命令和从设备接收命令的时间不同步,保证了主设备和从设备可以始终保持蓝牙连接状态,不会影响两者数据交互的正常进行,用户体验较好。

附图说明

[0047] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0048] 图1为本申请实施例提供的蓝牙通信系统的结构示意图;
[0049] 图2为本申请实施例提供的一种基于蓝牙通信的数据处理方法的流程图;
[0050] 图3为本申请实施例提供的主设备和从设备的交互示意图;
[0051] 图4为本申请实施例提供的主设备和从设备的又一交互示意图;
[0052] 图5为本申请实施例提供的主设备和从设备的又一交互示意图;
[0053] 图6为本申请实施例提供的一种基于蓝牙通信的数据处理方法的流程图;
[0054] 图7为本申请实施例提供的主设备和从设备的交互示意图;
[0055] 图8为本申请实施例提供的一种基于蓝牙通信的数据处理装置的结构示意图;
[0056] 图9为本申请实施例提供的一种基于蓝牙通信的数据处理装置的结构示意图;
[0057] 图10为本申请实施例提供的一种终端设备的结构示意图;
[0058] 图11为本申请实施例提供的一种终端设备的软件结构示意图。

具体实施方式

[0059] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0060] 随着终端技术的不断发展,对于距离较近的两个终端设备,可以采用蓝牙进行数据交互,如互相传输文件、传输音频、传输图像等。为了提高蓝牙连接双方的数据交互速度(为了便于描述,下面称蓝牙连接双方为主设备和从设备),一般会缩短主设备向从设备相邻两次发送命令之间的时间间隔,即主设备第一次发送命令与第二次发送命令之间的时间差。具体实施时,主设备会向从设备发送时间间隔更新指令,从设备根据该更新指令对从设备侧的时间间隔进行更新,若此时主设备侧也按照更新指令中的时间间隔进行了更新,则两者更新后的时间间隔就会保持同步,这样就可以继续正常的进行数据交互了。
[0061] 但在实际应用过程中,有时会出现这样一种情况:主设备在向从设备发送时间间隔更新指令后,收到了从设备发送的指令拒绝信息,主设备直接停止了时间间隔更新操作,但是,该指令拒绝信息可能并不是针对时间间隔更新指令所发送的,主设备这样操作就会导致主设备侧的时间间隔没有更新,而从设备侧的时间间隔已经按照时间间隔更新指令进行了正常的更新,从而使两者后续发送和接收命令的时间不同步,最终导致两者蓝牙连接断开,影响数据交互的正常进行,用户体验较差。为了便于理解,下面对此种情况进行举例说明:
[0062] 假设主设备在t1时刻向从设备发送了一条连接参数更新指令(如LL_CONNECTION_UPDATE_IND),同时,从设备也在t1时刻向主设备发送了一条交互指令(如长度请求指令LL_LENGTH_REQ)。主设备在t2时刻基于从设备发送的长度请求指令LL_LENGTH_REQ向从设备发送了长度响应指令LL_LENGTH_RSP,这时,从设备会产生指令冲突错误,如LMP Error Transaction Collision,并拒绝这条长度响应指令LL_LENGTH_RSP。应理解,根据设定蓝牙协议的规定,蓝牙连接的双方(即主设备和从设备)在同一时刻都有链路层(即link层)的LLCP命令发出,且都没有执行完,则主设备下一个发出的其它LLCP命令会被从机端拒绝。
[0063] 从设备在拒绝主设备t2时刻发送的长度响应指令后,会将指令拒绝信息发送给主设备,主设备在收到该拒绝信息后会直接停止产生冲突错误的连接参数更新指令。具体地,假设主设备和从设备在t1时刻和t2时刻的指令发送时间间隔为50ms,而该连接参数更新指令包括:将指令发送时间间隔在t5时刻更新为7.5ms。那么,主设备停止产生冲突错误的连接参数更新指令后,到了t5时刻,仍然会以50ms的指令发送时间间隔进行数据传输。但是,从设备在t5时刻则会对指令发送时间间隔进行更新(因为从设备拒绝的是主设备在t2时刻发送的长度响应指令,并没有拒绝连接参数更新指令),所以,到了t5时刻,从设备会以7.5ms的时间间隔来接收主设备发送来的数据信息。这样就导致了后续主设备发送命令和从设备接收命令的时间不同步,最终导致两者蓝牙连接断开。
[0064] 为了便于理解,这里简单介绍一下主设备和从设备基于蓝牙的指令传输过程:在实际应用中,主设备上的主芯片会向蓝牙芯片发送一个指令,然后主设备上蓝牙芯片通过空口将该指令发送给从设备上的蓝牙芯片,当主设备发送命令和从设备接收命令的时间不同步时,就会出现主设备多次尝试向从设备发送指令,但是从设备一直没有响应的情况,待该没有响应的次数达到设定阈值(如145、150、157等)时,主设备和从设备的蓝牙连接就断开了。其中,设定阈值可以根据实际情况,在此并不做限定。
[0065] 鉴于此,本申请基于以下思路解决上述问题:在主设备接收到指令拒绝信息后,对该指令拒绝信息进行解析,得到具体的被拒绝指令,判断该被拒绝指令是否为参数更新指令,如果不是,则确定主设备在t1时刻发送的参数更新指令有效,待到了t5时刻,主设备将指令发送时间间隔更新为7.5ms即可。如此,避免了后续主设备发送命令和从设备接收命令的时间不同步,保证了主设备和从设备始终可以保持蓝牙连接状态,不会影响两者数据交互的正常进行,用户体验较好。
[0066] 图1为本申请实施例提供的蓝牙通信系统的结构示意图,如图1所示,该系统包括:主设备100和从设备200。其中,主设备100用于以蓝牙通信的方式向从设备200传输数据信息,并在与从设备200建立蓝牙连接后的设定时刻,向从设备200发送连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指主设备100向从设备200两次发送指令的时间间隔。从设备200用于若确定存在指令冲突错误,则确定被拒绝指令,并向主设备100发送包含被拒绝指令的指令拒绝信息,以使主设备100解析指令拒绝信息,并在确定被拒绝指令与连接参数更新指令不同时确定连接参数更新指令有效;若被拒绝指令与连接参数更新指令不同,则在起始更新时刻基于新的指令收发时间间隔接收主设备100传输的数据信息。
[0067] 其中,主设备100与从设备200均可以为个人电脑(Personal Computer,简称PC)、智能手机、平板电脑等终端设备中的任意一种。需要说明的是,主设备100与从设备200可以相同,也可以不同,在此不作具体限定。
[0068] 基于上述系统组成,下面具体说明保证蓝牙通信稳定及数据交互正常进行的方法。
[0069] 图2为本申请实施例提供的一种基于蓝牙通信的数据处理方法的流程图。该方法可以由图1中的主设备来执行,该主设备以蓝牙通信的方式向从设备传输数据信息,如图2所示,该方法包括如下步骤:
[0070] 201、在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指主设备向从设备两次发送指令的时间间隔。
[0071] 202、若在起始更新时刻前接收到从设备发送的指令拒绝信息,则解析指令拒绝信息以确定被拒绝指令。
[0072] 203、若被拒绝指令与连接参数更新指令不同,则确定连接参数更新指令有效。
[0073] 为了便于理解,下面对上述步骤的实现过程进行举例说明:
[0074] 假设在主设备与从设备建立蓝牙连接后的第4s(即上述设定时刻,该设定时刻可以为主设备和从设备建立蓝牙连接后的任一随机时刻,在此不作限定),主设备向从设备发送连接参数更新指令,该连接参数更新指令为:在第11s时,将指令发送时间间隔更新为7.5ms(假设之前的指令发送时间间隔为50ms)。
[0075] 如果在第11s之前接收到了从设备发送的指令拒绝信息,则对该指令拒绝信息进行解析,以获取被拒绝指令。待获取到具体的被拒绝指令后,即可将被拒绝指令与连接参数更新指令进行比较,若两者不同,则说明从设备拒绝的并不是主设备在第4s发送的连接参数更新指令,在这种情况下,主设备可以确定该连接参数更新指令有效。
[0076] 需要说明的是,若在起始更新时刻前接收到从设备发送的指令拒绝信息,并确定在设定时刻接收到从设备发送的设定类型的控制指令,则解析指令拒绝信息以确定被拒绝指令,控制指令与连接参数更新指令无关,连接参数更新指令属于设定类型。简单来说,如果在第11s前接收到了从设备发送的指令拒绝信息,同时确定在第4s接收到了从设备发送的LLCP控制指令,则对该指令拒绝信息进行解析,以确定被拒绝指令,其中,控制指令与连接参数更新指令不同,而控制指令与连接参数更新指令的类型相同,都是LLCP指令。
[0077] 承接上述,待确定该连接参数更新指令有效后,在起始更新时刻,基于新的指令发送时间间隔向从设备传输数据信息,即主设备到了第11s时,以7.5ms的指令发送时间间隔向从设备传输数据信息,使后续主设备发送命令和从设备接收命令的时间保持同步,确保主设备和从设备数据交互的正常进行。其中,数据信息可以为文件、图片、音频和视频等,在此不作限定。
[0078] 综上,在本申请实施例中,主设备在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,如果在起始更新时刻前接收到从设备发送的指令拒绝信息,则对该指令拒绝信息进行解析,以获取被拒绝指令。待获取到具体的被拒绝指令后,即可将被拒绝指令与连接参数更新指令进行比较,若两者不同,则说明从设备拒绝的并不是主设备发送的连接参数更新指令,在这种情况下,主设备可以确定该连接参数更新指令有效,只需后续到了起始更新时刻,基于新的指令发送时间间隔向从设备传输数据信息即可。如此,避免了后续主设备发送命令和从设备接收命令的时间不同步,保证了主设备和从设备始终可以保持蓝牙连接状态,不会影响两者数据交互的正常进行,用户体验较好。
[0079] 图3为本申请实施例提供的主设备和从设备的交互示意图,假设起始更新时刻为t11时刻,如图3所示,当主设备和从设备蓝牙连接后:
[0080] 在t1时刻,主设备向从设备发送连接参数更新指令,从设备向主设备发送控制指令。
[0081] 在t2时刻,主设备基于该控制指令向从设备发送响应指令,从设备基于该响应指令向主设备发送指令拒绝信息。
[0082] 在t3时刻,主设备解析该拒绝信息以确定被拒绝指令,并判断被拒绝指令与连接参数更新指令是否相同,若不同,则确定连接参数更新指令有效。若相同,则在t11时刻之前重新发送连接参数更新指令。
[0083] 在t11时刻,若确定连接参数更新指令有效,则在起始更新时刻,基于新的指令发送时间间隔向从设备传输数据信息。
[0084] 通过在确定连接参数更新指令有效后,从起始更新时刻起,基于新的指令发送时间间隔向从设备传输数据信息,可以使后续主设备发送命令和从设备接收命令的时间保持同步,确保主设备和从设备数据交互的正常进行。
[0085] 图4为本申请实施例提供的主设备和从设备的又一交互示意图,假设起始更新时刻为t11时刻,如图4所示,当主设备和从设备蓝牙连接后:
[0086] 在t1时刻,主设备向从设备发送连接参数更新指令,从设备向主设备发送控制指令。
[0087] 在t2时刻,主设备基于该控制指令向从设备发送响应指令,从设备基于该响应指令向主设备发送指令拒绝信息。
[0088] 在t3时刻,主设备解析该拒绝信息以确定被拒绝指令,并判断被拒绝指令与连接参数更新指令是否相同,若不同,则确定连接参数更新指令有效。若相同,则在t11时刻之前重新发送连接参数更新指令。
[0089] 在tn时刻,若确定连接参数更新指令有效,则重新向从设备发送被拒绝指令。其中,n≥4,即n的具体值可以更加实际情况确定,可以在起始更新时刻之前,也可以在起始更新时刻之后,在此不作限定。
[0090] 在本实施例中,无论被拒绝指令与连接参数更新指令是否相同,均会重新向从设备发送被拒绝指令,避免出现指令被遗漏的情况,提高了用户体验。
[0091] 图5为本申请实施例提供的主设备和从设备的又一交互示意图,假设起始更新时刻为t11时刻,如图5所示,当主设备和从设备蓝牙连接后:
[0092] 在t1时刻,主设备向从设备发送连接参数更新指令,从设备向主设备发送控制指令。
[0093] 在t2时刻,主设备基于该控制指令向从设备发送响应指令,从设备基于该响应指令向主设备发送指令拒绝信息。
[0094] 在t3时刻,主设备解析该拒绝信息以确定被拒绝指令,并判断被拒绝指令与连接参数更新指令是否相同,若不同,则确定连接参数更新指令有效。若相同,则在t11时刻之前重新发送连接参数更新指令。
[0095] 在tn时刻,若确定连接参数更新指令有效,则重新向从设备发送被拒绝指令。其中,n≥4,即n的具体值可以更加实际情况确定,可以在起始更新时刻之前,也可以在起始更新时刻之后,在此不作限定。
[0096] 在t11时刻,若确定连接参数更新指令有效,则在起始更新时刻,基于新的指令发送时间间隔向从设备传输数据信息。
[0097] 在本实施例中,通过在确定连接参数更新指令有效后,从起始更新时刻起,基于新的指令发送时间间隔向从设备传输数据信息,可以使后续主设备发送命令和从设备接收命令的时间保持同步,确保主设备和从设备数据交互的正常进行。并且,无论被拒绝指令与连接参数更新指令是否相同,均会重新向从设备发送被拒绝指令,避免出现指令被遗漏的情况,提高了用户体验。
[0098] 在上述图4和图5所示的实施例中,重新向从设备发送被拒绝指令,包括:
[0099] 获取指令拒绝信息中包含的被拒绝指令对应的拒绝原因。
[0100] 根据拒绝原因,确定是否需要重新向从设备发送被拒绝指令。
[0101] 若需要,则重新向从设备发送被拒绝指令。
[0102] 实际应用中,指令拒绝信息中不仅包含被拒绝指令,还包含了被拒绝指令对应的拒绝原因,例如,该被拒绝指令是长度响应指令,被拒绝的原因是指令冲突,或者,该被拒绝指令是控制响应指令,拒绝原因是重复发送。
[0103] 那么,为了保证主设备与从设备后续数据交互的正常进行,本申请可以根据拒绝原因,确定是否需要重新向从设备发送被拒绝指令,例如,如果拒绝原因是指令冲突,则需要重新发送该被拒绝指令,而如果拒绝原因是重复发送,则无需向从设备发送被拒绝指令。
[0104] 图6为本申请实施例提供的一种基于蓝牙通信的数据处理方法的流程图。该方法可以由图1中的从设备来执行,该从设备以蓝牙通信的方式接收主设备传输的数据信息,如图6所示,该方法包括如下步骤:
[0105] 601、在与主设备建立蓝牙连接后的设定时刻,接收主设备发送的连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指主设备向从设备两次发送指令的时间间隔。
[0106] 602、若确定存在指令冲突错误,则确定被拒绝指令。
[0107] 603、向主设备发送包含被拒绝指令的指令拒绝信息,以使主设备解析指令拒绝信息,并在确定被拒绝指令与连接参数更新指令不同时确定连接参数更新指令有效。
[0108] 604、若被拒绝指令与连接参数更新指令不同,则在起始更新时刻基于新的指令收发时间间隔接收主设备传输的数据信息。
[0109] 在一种可选的实施例中,该方法还包括:响应于在设定时刻向主设备发送设定类型的第一控制指令,以及在设定时刻接收到连接参数更新指令,确定在设定时刻存在指令冲突错误,其中,第一控制指令与连接参数更新指令无关,连接参数更新指令属于设定类型。
[0110] 其中,确定被拒绝指令,包括:若在设定时刻之后接收到主设备发送的设定类型的第二控制指令,则确定被拒绝指令为第二控制指令。
[0111] 本实施例中基于蓝牙通信的数据处理方法不再展开赘述,可以参考前述其他实施例中的说明。
[0112] 在一种可选的实施例中,若确定存在指令冲突错误,则确定被拒绝指令,包括:
[0113] 响应于在设定时刻之前的另一时刻向主设备发送设定类型的第一控制指令,以及在另一时刻接收到主设备发送的设定类型的第二控制指令,确定在另一时刻存在指令冲突错误,其中,第一控制指令和第二控制指令均与连接参数更新指令无关,连接参数更新指令属于设定类型。
[0114] 响应于在设定时刻接收到连接参数更新指令,确定被拒绝指令为连接参数更新指令,被拒绝指令使得主设备确定连接参数更新指令无效。
[0115] 为了便于理解,下面结合图7所示的主设备与从设备的交互示意图对本实施例的方案进行说明,假设设定时刻为t2时刻,起始更新时刻为t11时刻,如图7所示,当主设备和从设备蓝牙连接后:
[0116] 在t1时刻,主设备向从设备发送第二控制指令,从设备向主设备发送第一控制指令。
[0117] 在t2时刻,主设备向从设备发送连接参数更新指令,从设备基于该连接参数更新指令向主设备发送指令拒绝信息。
[0118] 在t3时刻,主设备解析该拒绝信息以确定被拒绝指令,并判断被拒绝指令与连接参数更新指令是否相同,若不同,则确定连接参数更新指令有效。若相同,则确定连接参数更新指令无效,在t11时刻之前的tn(4≤n<11)时刻重新发送连接参数更新指令。
[0119] 基于上述,如果在设定时刻之前的另一时刻,主设备向从设备发送了设定类型的第二控制指令,而从设备在该时刻也同时向主设备发送了相同类型的第一控制指令,则会出现指令冲突错误。在此情况下,如果在设定时刻主设备向从设备发送了连接参数更新指令,则该连接参数更新指令会被从设备拒绝。此时,主设备和从设备的连接参数更新指令均无效,为了在起始更新时刻使主设备和从设备顺利完成连接参数的更新,可以令主设备在起始更新时刻之前重新向从设备发送连接参数更新指令,不仅确保了主设备和从设备后续数据交互的正常进行,还可以提高主设备与从设备的数据交互速度。
[0120] 在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0121] 以下将详细描述本申请的一个或多个实施例的基于蓝牙通信的数据处理装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
[0122] 图8为本申请实施例提供的一种基于蓝牙通信的数据处理装置的结构示意图,该装置可以由图1中的主设备来执行,该主设备以蓝牙通信的方式向从设备传输数据信息,如图8所示,该装置包括:发送模块81、解析模块82和确定模块83。
[0123] 发送模块81,用于在与从设备建立蓝牙连接后的设定时刻,向从设备发送连接参数更新指令,连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指主设备向从设备两次发送指令的时间间隔。
[0124] 解析模块82,用于若在起始更新时刻前接收到从设备发送的指令拒绝信息,则解析指令拒绝信息以确定被拒绝指令。
[0125] 确定模块83,用于若被拒绝指令与连接参数更新指令不同,则确定连接参数更新指令有效。
[0126] 可选地,该装置还包括:传输模块,用于在所述起始更新时刻,基于所述新的指令发送时间间隔向所述从设备传输数据信息。
[0127] 可选地,解析模块82具体用于:若在所述起始更新时刻前接收到所述从设备发送的指令拒绝信息,并确定在所述设定时刻接收到所述从设备发送的设定类型的控制指令,则解析所述指令拒绝信息以确定被拒绝指令,所述控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。
[0128] 可选地,该装置还包括:指令重发模块,用于重新向所述从设备发送所述被拒绝指令。
[0129] 可选地,指令重发模块具体用于:获取所述指令拒绝信息中包含的所述被拒绝指令对应的拒绝原因;根据所述拒绝原因,确定是否需要重新向所述从设备发送所述被拒绝指令;若需要,则重新向所述从设备发送所述被拒绝指令。
[0130] 图8所示装置可以执行前述实施例中基于蓝牙通信的数据处理方法执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
[0131] 图9为本申请实施例提供的另一种基于蓝牙通信的数据处理装置的结构示意图,该装置可以由图1中的从设备来执行,该从设备以蓝牙通信的方式接收主设备传输的数据信息,如图9所示,该装置包括:指令接收模块91、指令确定模块92、信息发送模块93和信息接收模块94。
[0132] 指令接收模块91,用于在与所述主设备建立蓝牙连接后的设定时刻,接收所述主设备发送的连接参数更新指令,所述连接参数更新指令包含起始更新时刻以及新的指令发送时间间隔,其中,指令发送时间间隔是指所述主设备向所述从设备两次发送指令的时间间隔;
[0133] 指令确定模块92,用于若确定存在指令冲突错误,则确定被拒绝指令;
[0134] 信息发送模块93,用于向所述主设备发送包含所述被拒绝指令的指令拒绝信息,以使所述主设备解析所述指令拒绝信息,并在确定所述被拒绝指令与所述连接参数更新指令不同时确定所述连接参数更新指令有效;
[0135] 信息接收模块94,用于若所述被拒绝指令与所述连接参数更新指令不同,则在所述起始更新时刻基于所述新的指令收发时间间隔接收所述主设备传输的数据信息。
[0136] 可选地,该装置还包括:响应模块,用于响应于在所述设定时刻向所述主设备发送设定类型的第一控制指令,以及在所述设定时刻接收到所述连接参数更新指令,确定在所述设定时刻存在指令冲突错误,其中,所述第一控制指令与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型。
[0137] 可选地,指令确定模块92具体用于:若在所述设定时刻之后接收到所述主设备发送的所述设定类型的第二控制指令,则确定所述被拒绝指令为所述第二控制指令。以及,响应于在所述设定时刻之前的另一时刻向所述主设备发送设定类型的第一控制指令,以及在所述另一时刻接收到所述主设备发送的所述设定类型的第二控制指令,确定在所述另一时刻存在指令冲突错误,其中,所述第一控制指令和所述第二控制指令均与所述连接参数更新指令无关,所述连接参数更新指令属于所述设定类型;响应于在所述设定时刻接收到所述连接参数更新指令,确定所述被拒绝指令为所述连接参数更新指令,所述被拒绝指令使得所述主设备确定所述连接参数更新指令无效。
[0138] 图9所示装置可以执行前述实施例中基于蓝牙通信的数据处理方法执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
[0139] 本申请实施例还提供一种终端设备,包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被处理器执行时,触发终端设备执行上述基于蓝牙通信的数据处理方法。
[0140] 该终端设备可以是手机、穿戴式设备、平板电脑、虚拟现实(Virtual Reality,简称VR)终端设备、增强现实(Augmented Reality,简称AR)终端设备、车载终端、台式电脑等。本申请的实施例对该终端设备所采用的具体技术和具体设备形态不做限定。
[0141] 为了能够更好地理解本申请实施例,下面对本申请实施例所适用的终端设备的结构进行说明。图10所示为本申请实施例提供的一种终端设备的结构示意图,图10所示的终端设备10可以包括处理器110,存储器120,通用串行总线(universal serial bus,USB)接口130,电源140,通信模块150以及显示屏160等。
[0142] 可以理解的是,本申请实施例示意的结构并不构成对终端设备10的具体限定。在本申请另一些实施例中,终端设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics Processing Unit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,数字信号处理器 (Digital Signal Processor,DSP,基带处理器)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0143] 控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0144] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器 110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0145] 电源140为终端设备10供电。
[0146] 通信模块150可以使用任何收发器一类的装置,提供应用在终端设备10上的包括[0147] 无线局域网(Wireless Local Area Networks,WLAN) (如无线保真(Wireless Fidelity,WiFi)网络),蓝牙(Bluetooth,BT),全球导航卫星系统(Global Navigation Satellite System,GNSS),调频(Frequency Modulation,FM),近距离无线通信技术(Near Field Communication,NFC),红外技术(Infrared,IR)等无线通信的解决方案。通信模块150可以是集成至少一个通信处理模块的一个或多个器件。通信模块150经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
[0148] 在一些实施例中,终端设备10的天线和通信模块150耦合,使得终端设备10可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet[0149] radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(timedivision code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT, GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统 (global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasizenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
[0150] 终端设备10通过GPU,显示屏160,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏160和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0151] 显示屏160用于显示图像,视频等。显示屏160包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic lightemitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体 (activematrix organic light emitting diode,AMOLED),柔性发光二极管(flex lightemitting diode,FLED),Miniled,MicroLed,MicrooLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,终端设备10可以包括1个或N个显示屏160,N为大于1的正整数。
[0152] 存储器120可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在存储器120的上述指令,从而使得终端设备10执行各种功能应用以及数据处理等。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统。
[0153] 存储数据区可存储终端设备10使用过程中所创建的数据等。此外,存储器120可以[0154] 包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在存储器120的指令,和/或存储在设置于处理器110中的存储器的指令,来使得终端设备10执行各种功能应用及数据处理。
[0155] 图11是本申请实施例提供的终端设备10的软件结构框图。
[0156] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,框架层,安卓运行时(Android runtime)和硬件抽象层,以及驱动层。
[0157] 应用程序层可以包括一系列应用程序包。
[0158] 如图11所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0159] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0160] 如图11所示,框架层可以包括电话框架、蓝牙框架和音频框架等。
[0161] 电话框架用于管理电话程序,其可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0162] 蓝牙框架用于提供蓝牙功能。
[0163] 音频框架用于提供音频数据。
[0164] 安卓运行时(Android Runtime)包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0165] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0166] 应用程序层和框架层运行在虚拟机中。虚拟机将应用程序层和框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0167] 硬件抽象层可以包括多个功能模块。例如:通话管理器,蓝牙管理器,音频管理器等。
[0168] 通话管理器用于对通话功能进行管理。
[0169] 蓝牙管理器用于对蓝牙功能进行管理。
[0170] 音频管理器支持多种常用的音频,视频格式回放和录制,以及静态图像文件等,且音频管理器还可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0171] 驱动层是硬件和软件之间的层。驱动层至少包含显示驱动,蓝牙驱动,音频驱动等。
[0172] 下面结合基于蓝牙连接场景,示例性说明终端设备10软件以及硬件的工作流程。
[0173] 当显示屏160接收到触摸操作,相应的硬件中断被发给驱动层。驱动层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在驱动层。框架层从驱动层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为蓝牙应用图标的控件为例,蓝牙应用调用框架层的接口,通过驱动层启动蓝牙驱动,通过通信模块150完成蓝牙连接和数据信息传输操作。
[0174] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述基于蓝牙通信的数据处理方法。
[0175] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0176] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0177] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0178] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0179] 在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
[0180] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
[0181] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD‑ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0182] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0183] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。