CN108124284B - 一种蓝牙数据传输方法和装置 - Google Patents

一种蓝牙数据传输方法和装置 Download PDF

Info

Publication number
CN108124284B
CN108124284B CN201711276806.3A CN201711276806A CN108124284B CN 108124284 B CN108124284 B CN 108124284B CN 201711276806 A CN201711276806 A CN 201711276806A CN 108124284 B CN108124284 B CN 108124284B
Authority
CN
China
Prior art keywords
bluetooth data
linked list
packaging
head
task
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
Application number
CN201711276806.3A
Other languages
English (en)
Other versions
CN108124284A (zh
Inventor
黄哲
张一凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bengbu Wild Hill Network Technology Co ltd
Original Assignee
Goertek Techology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Goertek Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN201711276806.3A priority Critical patent/CN108124284B/zh
Publication of CN108124284A publication Critical patent/CN108124284A/zh
Application granted granted Critical
Publication of CN108124284B publication Critical patent/CN108124284B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种蓝牙数据传输方法和装置。所述方法包括:将待传输的蓝牙数据按照优先级次序添加到任务链表中,添加完成后通知封装线程;利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理;将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,添加完成后通知发送线程;利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去。本发明能够对紧急消息进行优先处理、及时响应,保证数据传输的快速性和及时性,缩短消息响应时间,提升用户体验。

Description

一种蓝牙数据传输方法和装置
技术领域
本发明涉及计算机控制领域,具体涉及一种蓝牙数据传输方法和装置。
背景技术
目前,可穿戴设备与移动终端在通信的过程中,主要是采用蓝牙通信协议进行数据通信。由于可穿戴设备与移动终端之间需要传输的数据种类较多(例如同步时间、统计步数、传输文件、OTA升级数据包等),为了区分不同的数据类型,往往需要为每一种数据定义一个私有协议格式。
当有数据传输请求时,主要采用封装线程和发送线程依次对待传输的蓝牙数据进行处理,这种数据处理方式的主要实现方式是:首先按照预定的协议格式对数据进行封装,待封装好一包数据后,再通过蓝牙发送出去。这种数据处理方式主要存在以下两个方面的缺点:一方面,封装数据的过程中会耗费一定的时间,降低了数据整体的发送速度,尤其在进行大量数据(例如,OTA升级数据包)传输时,影响尤为严重;另一方面,当多个应用中都需要传输数据时,往往会按照请求的发起时间顺序传输相应的数据,但当一个请求要传输的数据量较大时,耗费的时间会很长,导致其它请求无法得到及时的响应,例如,在传输OTA升级数据包的过程中,若有来电请求,此时将无法利用可穿戴设备(例如手表)接听电话。
随着科技的快速发展,可穿戴设备的功能日益完善,需要与移动终端之间交互的种类也越来越多,如何能保证数据传输的快速性和及时性,是目前所面临的主要问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种蓝牙数据传输方法和装置。
根据本发明的一个方面,提供了一种蓝牙数据传输方法,所述方法包括:
将待传输的蓝牙数据按照优先级次序添加到任务链表中,添加完成后通知封装线程;
利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理;
将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,添加完成后通知发送线程;
利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去。
根据本发明的另一个方面,提供了一种蓝牙数据传输装置,所述装置包括:
任务链表添加单元,用于将待传输的蓝牙数据按照优先级次序添加到任务链表中,并在添加完成后通知封装线程;
封装处理单元,用于利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理;
封装链表添加单元,用于将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,并在添加完成后通知发送线程;其中所述发送线程与所述封装线程相互独立、同步进行;
发送单元,利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去。
根据本发明的再一个方面,提供了另一种蓝牙数据传输装置,所述装置包括:所述装置包括存储器和处理器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时能够实现上述的方法步骤。
根据本发明的又一个方面,提供了一种可穿戴设备,所述可穿戴设备包括上述的蓝牙数据传输装置。
本发明的有益效果是:本发明的技术方案通过创建相互独立、同步进行的发送线程与封装线程,使得蓝牙数据的封装和发送相互独立、同步进行、互不影响,提高了蓝牙数据的发送速度;同时通过将待传输的蓝牙数据按照优先级次序添加到任务链表中,以及将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,封装线程和发送线程中均采用优先级机制,优先封装和发送高优先级的蓝牙数据,保证了高优先级的蓝牙数据(例如紧急消息)传输的快速性和及时性,缩短了消息响应时间,提升了用户体验。
附图说明
图1是本发明一个实施例的一种蓝牙数据传输方法的流程图;
图2是本发明一个实施例的一种在任务链表中添加待传输的蓝牙数据的流程图;
图3是本发明一个实施例的一种封装待传输的蓝牙数据的流程图;
图4是本发明一个实施例的一种发送待传输的蓝牙数据的流程图;
图5是本发明一个实施例的一种蓝牙数据传输装置的功能结构示意图;
图6是本发明一个实施例的另一种蓝牙数据传输装置的功能结构示意图;
图7是本发明一个实施例的一种可穿戴设备的功能结构示意图。
具体实施方式
本发明的设计构思是:针对现有技术中只能利用封装线程和发送线程依次对待传输的蓝牙数据进行处理导致无法对待传输的蓝牙数据进行及时、快速响应的问题,发明人想到,让待传输的信息的封装和发送分别在两个相互独立、同步进行的线程中进行,当检测到封装好的数据就立即发送出去,使得数据的封装和数据的发送同步进行、互不影响、提高发送速度;并将不同的待传输的蓝牙数据按照优先级排序,当有高优先级的待传输的蓝牙数据时,优先对其进行封装与发送,保证消息响应的及时性。
实施例一
图1是本发明一个实施例的一种蓝牙数据传输方法的流程图,如图1所示,
在步骤S110中,将待传输的蓝牙数据按照优先级次序添加到任务链表中,添加完成后通知封装线程;
在步骤S120中,利用封装线程对任务链表中的蓝牙数据按照优先级次序进行封装处理;
在步骤S130中,将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,添加完成后通知发送线程;
在步骤S140中,利用发送线程将封装链表中的蓝牙数据按照优先级次序发送出去。
图1所示的方法,本发明的技术方案通过创建相互独立、同步进行的发送线程与封装线程,使得蓝牙数据的封装和发送相互独立、同步进行、互不影响,提高了蓝牙数据的发送速度;同时通过将待传输的蓝牙数据按照优先级次序添加到任务链表中,以及将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,封装线程和发送线程中均采用优先级机制,优先封装和发送高优先级的蓝牙数据,保证了高优先级的蓝牙数据(例如紧急消息)传输的快速性和及时性,缩短了消息响应时间,提升了用户体验。
为了使得本发明的技术方案更加清楚,下面举一个具体的例子进行解释说明。本发明的技术方案主要分为(一)将待传输的蓝牙数据添加到任务链表;(二)对任务链表中的待传输的蓝牙数据进行封装处理,将封装处理器后的待传输的蓝牙数据添加到封装链表中;(三)发送封装链表中的待传输的蓝牙数据,下面结合具体例子对这三个部分进行解释说明。
(一)将待传输的蓝牙数据添加到任务链表。
图2是本发明一个实施例的一种在任务链表中添加待传输的蓝牙数据的流程图,如图2所示:
S201、新添加一个待传输的蓝牙数据。假设新添加的待传输的蓝牙数据为f。
S202、将该待传输的蓝牙数据依次与任务链表中的蓝牙数据进行优先级进行比较。
在本发明的一个实施例中,任务链表如表1所示。在该任务链表中蓝牙数据a、b、c、d和e按照优先级由高到低次序从链表头部到链表尾部依次排序。也就是说,蓝牙数据a的优先级>蓝牙数据b的优先级>蓝牙数据c的优先级>蓝牙数据d的优先级>蓝牙数据e的优先级。由于蓝牙数据a由于优先级大于其他蓝牙数据的优先级,因此蓝牙数据a位于该任务链表的表头。
表1.任务链表1
Figure BDA0001496729050000051
当接收到新的待传输的蓝牙数据f时,将蓝牙数据f与该任务链表中的蓝牙数据a、b、c、d和e依次进行优先级比较。
S203、判断该待传输的蓝牙数据的优先级是否更高?若是,执行步骤S204。
S204、将该待传输的蓝牙数据插入到任务链表中的当前蓝牙数据所在的位置。
在本发明的一个实施例中,假设蓝牙数据f的优先级为10,经过优先级比较可知,蓝牙数据f的优先级10大于蓝牙数据a的优先级9,那么将蓝牙数据f插入该链表头部位置,如表2所示。
表2.任务链表2
Figure BDA0001496729050000052
Figure BDA0001496729050000061
在本发明的一个实施例中,假设蓝牙数据f的优先级为7,经过优先级比较可知,蓝牙数据f的优先级7大于蓝牙数据c的优先级5,那么将蓝牙数据f插入蓝牙数据c所在的位置,如表3所示。
表3.任务链表3
Figure BDA0001496729050000062
通过表2和表3可以看出,在添加待传输的蓝牙数据的过程中,将新收到的待传输的蓝牙数据与任务链表中每一个蓝牙数据的优先级进行优先级比较,直至新收到的待传输的蓝牙数据的优先级高于该任务链表中的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到该任务链表中的蓝牙数据所在的位置。
另外,在该任务链表插入新的蓝牙数据的消息通知给封装线程。也就是说,只要任务链表中有待传输的蓝牙数据,那么封装进行就会对该任务链表中的待传输的蓝牙数据按照优先级次序进行封装处理,进一步保证数据传输的及时性。
(二)对任务链表中的待传输的蓝牙数据进行封装处理,将封装处理器后的待传输的蓝牙数据添加到封装链表中。
图3是本发明一个实施例的一种封装待传输的蓝牙数据的流程图,如图3所示:
S301、从任务链表头部的蓝牙数据中取预定长度的数据。
在本发明的一个实施例中,以任务链表1为例,从任务链表1头部的蓝牙数据a(例如,蓝牙数据a的总长度为5k)中取出预定长度(例如,1k)。
S302、判断该蓝牙数据的身份信息是否与当前正在封装的蓝牙数据的身份信息是否相同?如果相同,则执行步骤S305;如果不相同,则执行步骤S303。
具体地,如果任务链表头部的待传输的蓝牙数据a(2k)与当前正在封装的待传输的蓝牙数据a(1k)的身份信息相同,也就是说,这两个待传输的蓝牙数据均是蓝牙数据a的部分数据,那么执行步骤S305,封装线程继续对蓝牙数据a(2k)进行封装。
如果任务链表头部的待传输的蓝牙数据f(1k)与当前正在封装的待传输的蓝牙数据a(3k)的身份信息不相同。也就是说,蓝牙数据f(1k)与蓝牙数据a(1k)为不同的数据,那么执行步骤S303,比较蓝牙数据f(1k)与蓝牙数据a(1k)的优先级。
S303、判断该蓝牙数据的优先级是否高于当前正在封装的蓝牙数据的优先级?若是,则执行步骤S304。
假设任务链表头部的蓝牙数据为f,正在封装的蓝牙数据为a,根据表2可知,蓝牙数据(f)的优先级大于蓝牙数据(a)的优先级,执行步骤S304,中止当前正在封装的蓝牙数据(a),并执行步骤305,是对蓝牙数据(f)进行封装。
S304、中止当前正在封装的蓝牙数据。
S305、对该预定长度的数据进行封装。也就是说,封装线程每次都对任务链表头部的待传输的蓝牙数据进行封装。需要说明的是,封装进程按照预先设定的封装协议对待传输的蓝牙数据进行封装处理。在实际应用中,可以根据实际需要选择相应的封装协议,在此,本申请对封装协议不做进一步的限定。
S306、将封装后的待传输的蓝牙数据按照优先级添加在封装链表中。
需要说明的是,封装进程封装进程将封装处理后的蓝牙数据按照优先级次序添加在封装链表中的过程与上述的将新的待传输的蓝牙数据添加到任务链表中的处理过程类似,封装链表中的蓝牙数据也已按照优先级由高到低次序从链表头部到链表尾部依次排序,相同的内容不再赘述。
S307、判断该蓝牙数据是否全部封装完成?若是,则执行步骤309;若否,则执行步骤308。
S308、继续封装剩余的蓝牙数据。
在本发明的一个实施例中,以任务链表1为例,从任务链表1头部的蓝牙数据a(例如,蓝牙数据a的总长度为5k)中取出预定长度(例如,1k)的数据进行封装,封装完成后从任务链表1头部的蓝牙数据a的剩余未封装部分(例如,4k)中再取出预定长度的数据(例如,1k)进行封装,直至任务链表头部的蓝牙数据a(例如,5k)全部封装完成,从任务链表1头部删除蓝牙数据a按照如上操作继续封装蓝牙数据b(例如,2k),将封装处理后的蓝牙数据a和蓝牙数据b按照优先级次序添加在封装链表中,封装链表如表4所示。
表4.封装链表1
Figure BDA0001496729050000081
另外,从表4也可以看出,封装进程在接收到任务链表中添加有待传输的蓝牙数据后,会对该任务链表中的待传输的蓝牙数据按照优先级次序进行封装处理。也就是说,封装进程首先对优先级较高的待传输的蓝牙数据进行封装处理,然后对优先级较低的待传输的蓝牙数据进行封装处理,进一步保证了对紧急消息的优先处理。
在本发明的一个实施例中,在对蓝牙数据a进行封装的过程中,假设此时蓝牙数据a封装了3k,任务链表1的表头部插入高优先级的蓝牙数据f,如任务链表2所示,那么中止正在封装的蓝牙数据a,开始对蓝牙数据f进行封装,从任务链表2头部的蓝牙数据f(例如,蓝牙数据f的总长度为4k)中取出预定长度(例如,1k)的数据进行封装,封装完成后从任务链表2头部的蓝牙数据f的剩余未封装部分(例如,3k)中再取出预定长度的数据(例如,1k)进行封装,直至任务链表2头部的蓝牙数据f(例如,4k)全部封装完成,从任务链表2头部删除蓝牙数据f。此时,再继续对未封装完成的蓝牙数据a的第4k数据进行封装,直到将蓝牙数据a的5k数据全部封装完成,将蓝牙数据a从任务链表2中删除。将封装处理后的蓝牙数据f和a按照优先级次序添加在封装链表中,封装链表如表5所示.
表5.封装链表2
Figure BDA0001496729050000091
由此可见,在封装的过程中,优先封装优先级较高的待传输的蓝牙数据,保证了对紧急信息的优先处理,进而实现对紧急信息的及时响应。
当完成上述(二)上述步骤后,也就是说,对任务链表中的待传输的蓝牙数据进行封装处理,并将封装处理后的数据添加到封装链表中后,通知发送线程,发送线程开始循环将封装链表中的数据发送出去。也就是说,只要封装链表存在数据,那么发送线程就会按照优先级次序循环发送封装链表中的封装处理后的数据。
需要说明的是,本实施例中的发送线程与封装线程相互独立、同步进行。进而使得待传输的蓝牙数据的封装和发送互不影响,提升待传输蓝牙数据的发送速度。
(三)发送封装链表中的待传输的蓝牙数据。
图4是本发明一个实施例的一种发送待传输的蓝牙数据的流程图,如图4所示:
S401、对封装链表头部的蓝牙数据进行发送。假设封装链表头部的蓝牙数据为蓝牙数据f(2k)中的蓝牙数据f(1k)。
S402、判断该蓝牙数据的身份信息是否与当前正在发送的蓝牙数据的身份信息是否相同?若是,则执行步骤S405;若否,则执行步骤S403。
具体地,如果当前正在发送的蓝牙数据为蓝牙数据a(5k),由于蓝牙数据a(5k)和蓝牙数据f(1k)为不同的蓝牙数据,也就是说,蓝牙数据a(5k)和蓝牙数据f(1k)的身份信息不同,那么执行步骤S403,比较两个蓝牙数据的优先级。
如果当前正在发送的蓝牙数据为蓝牙数据f(1k),封装链表头部的蓝牙数据为蓝牙数据f(2k),由于蓝牙数据f(1k)和蓝牙数据f(2k)为相同的蓝牙数据,也就是说,蓝牙数据f(1k)和蓝牙数据f(2k)的身份信息相同,那么执行步骤S405,继续发送蓝牙数据f(2k)。
S403、判断该蓝牙数据的优先级是否高于当前正在发送的蓝牙数据的优先级?若是,则执行步骤S404。
假设封装链表头部的蓝牙数据为蓝牙数据f(1k),当前正在发送的蓝牙数据为蓝牙数据a(5k),那么比较蓝牙数据f(1k)和蓝牙数据a(5k)的优先级,以表5为例可知,蓝牙数据f(1k)的优先级10大于蓝牙数据a(5k)的优先级9,那么执行步骤S404,中止当前正在发送的蓝牙数据a(5k),并继续执行步骤S405,开始发送蓝牙数据f(1k)。
S404、中止当前正在发送的蓝牙数据。
S405、发送该蓝牙数据。
S406、判断该蓝牙数据是否全部发送完成?若是,则执行步骤S408;若否,则执行步骤S407。
S407、继续发送剩余的蓝牙数据。
S408、将该蓝牙数据从封装链表中删除。
在本发明的一个实施例中,当封装链表如表4所示时,发送线程对封装链表1中的封装好的蓝牙数据a(例如,10k)进行循环发送,将蓝牙数据a(例如,10k)全部发送完成后,将封装链表1中的蓝牙数据a删除。
在本发明的一个实施例中,当封装链表如表5所示时,发送线程对封装链表2中的封装好的蓝牙数据a(3k)进行循环发送,当封装链表2的头部插入蓝牙数据f时,中止发送蓝牙数据a,开始循环发送蓝牙数据f(1k)、蓝牙数据f(2k)、蓝牙数据f(3k)和蓝牙数据f(4k),待将蓝牙数据f全部发送完成后,将蓝牙数据f从封装链表2中删除。然后,再继续发送蓝牙数据a(4k)和蓝牙数据a(5k),待将蓝牙数据a全部发送完成后,将蓝牙数据a从封装链表2中删除。由此可见,发送线程在发送蓝牙数据的过程中,优先发送优先级较高的蓝牙数据,进一步保证了紧急信息的及时发送和响应。
实施例二
图5是本发明一个实施例的一种蓝牙数据传输装置的功能结构示意图,如图5所示,蓝牙数据传输装置500,包括:
任务链表添加单元510,用于将待传输的蓝牙数据按照优先级次序添加到任务链表中,并在添加完成后通知封装线程;
封装单元520,用于利用封装线程对任务链表中的蓝牙数据按照优先级次序进行封装处理;
封装链表添加单元530,用于将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,并在添加完成后通知发送线程;其中发送线程与封装线程相互独立、同步进行;
发送单元540,利用发送线程将封装链表中的蓝牙数据按照优先级次序发送出去。
在本发明的一个实施例中,任务链表添加单元510具体用于:
将新收到的待传输的蓝牙数据依次与任务链表中的蓝牙数据进行优先级比较,任务链表中的蓝牙数据已按照优先级由高到低次序从链表头部到链表尾部依次排序;
若新收到的待传输的蓝牙数据的优先级高于任务链表头部的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到任务链表头部位置,否则,则将新收到的待传输的蓝牙数据继续与任务链表中低一个优先级的蓝牙数据进行优先级比较,直至新收到的待传输的蓝牙数据的优先级高于任务链表中的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到任务链表中的蓝牙数据所在的位置;
将任务链表中插入新的蓝牙数据的消息通知给封装线程;
封装链表添加单元采用与上述任务链表添加单元类似的处理,封装链表中的蓝牙数据也已按照优先级由高到低次序从链表头部到链表尾部依次排序。
在本发明的一个实施例中,封装处理单元520具体用于:
从任务链表头部的蓝牙数据中取出预定长度的数据进行封装,封装完成后从任务链表头部的蓝牙数据的剩余未封装部分中再取出预定长度的数据进行封装,直至任务链表头部的蓝牙数据全部封装完成,从任务链表头部删除蓝牙数据;
在对任务链表头部的蓝牙数据进行封装过程中,若任务链表头部插入高优先级的蓝牙数据,则中止封装正在封装的蓝牙数据,开始封装任务链表头部插入的高优先级的蓝牙数据,直至高优先级的蓝牙数据封装完毕,并从任务链表头部删除高优先级的蓝牙数据,再继续封装未封装完成的蓝牙数据。
在本发明的一个实施例中,发送单元540具体用于:
对封装链表头部的蓝牙数据进行发送,发送完成后删除蓝牙数据,并继续对封装链表头部当前的蓝牙数据进行发送;
在对封装链表头部的蓝牙数据进行发送过程中,若封装链表头部插入高优先级的蓝牙数据,则中止发送正在发送的蓝牙数据,开始发送封装链表头部插入的高优先级的蓝牙数据,直至高优先级的蓝牙数据发送完毕,并从封装链表头部删除高优先级的蓝牙数据,再继续发送未发送完成的蓝牙数据。
需要说明的是,图5所示的蓝牙数据传输装置的工作过程与图1-图4所示的方法的实施步骤相同或者对应相同,相同内容不再赘述。
实施例三
图6是本发明一个实施例的另一种蓝牙数据传输装置的功能结构示意图,如图6所示,蓝牙数据传输装置600包括存储器620和处理器610,存储器620存储有能够被处理器610执行的计算机程序,计算机程序被处理器610执行时能够实现如图1-图4所示的方法步骤。
存储器620和处理器610之间通过内部总线630通讯连接,在本发明的一个实施例中,存储器620存储的是蓝牙数据传输的计算机程序621。该蓝牙数据传输的计算机程序621被处理器610执行时能够实现如图1-图4所示的方法步骤。
在不同的实施例中,存储器620可以是内存或者非易失性存储器。其中非易失性存储器可以是:存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。内存可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存。进一步,非易失性存储器和内存作为机器可读存储介质,其上可存储由处理器610执行的蓝牙数据传输的计算机程序621。
需要说明的是,图6所示的蓝牙数据传输装置的工作过程与图1-图4所示的方法的实施步骤相同或者对应相同,相同内容不再赘述。
实施例四
图7是本发明一个实施例的一种可穿戴设备的功能结构示意图,如图7所示,可穿戴设备700包括如图5所示的蓝牙数据传输装置500或者如图6所示的蓝牙数据传输装置600。
综上所述,本发明的技术方案通过创建相互独立、同步进行的发送线程与封装线程,使得蓝牙数据的封装和发送相互独立、同步进行、互不影响,提高了蓝牙数据的发送速度;同时通过将待传输的蓝牙数据按照优先级次序添加到任务链表中,以及将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,封装线程和发送线程中均采用优先级机制,优先封装和发送高优先级的蓝牙数据,保证了高优先级的蓝牙数据(例如紧急消息)传输的快速性和及时性,缩短了消息响应时间,提升了用户体验。
以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围以权利要求的保护范围为准。

Claims (6)

1.一种蓝牙数据传输方法,其特征在于,所述方法包括:
创建相互独立、同步进行的发送线程与封装线程,使得蓝牙数据的封装和发送相互独立、同步进行、互不影响,具体是:
当接收到新的待传输的蓝牙数据时,将待传输的蓝牙数据按照优先级次序添加到任务链表中,添加完成后通知封装线程;利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理;将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,添加完成后通知发送线程;
当检测到封装好的蓝牙数据时,就立即利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去;
其中,所述利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理包括:
从任务链表头部的蓝牙数据中取出预定长度的数据进行封装,封装完成后从任务链表头部的所述蓝牙数据的剩余未封装部分中再取出预定长度的数据进行封装,直至任务链表头部的所述蓝牙数据全部封装完成,从任务链表头部删除所述蓝牙数据;在对任务链表头部的所述蓝牙数据进行封装过程中,若任务链表头部插入高优先级的蓝牙数据,则中止封装正在封装的所述蓝牙数据,开始封装所述任务链表头部插入的所述高优先级的蓝牙数据,直至所述高优先级的蓝牙数据封装完毕,并从任务链表头部删除所述高优先级的蓝牙数据,再继续封装未封装完成的所述蓝牙数据;
所述利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去包括:
对封装链表头部的蓝牙数据进行发送,发送完成后删除所述蓝牙数据,并继续对封装链表头部当前的蓝牙数据进行发送;在对封装链表头部的蓝牙数据进行发送过程中,若所述封装链表头部插入高优先级的蓝牙数据,则中止发送正在发送的蓝牙数据,开始发送所述封装链表头部插入的高优先级的蓝牙数据,直至所述高优先级的蓝牙数据发送完毕,并从封装链表头部删除所述高优先级的蓝牙数据,再继续发送未发送完成的所述蓝牙数据。
2.如权利要求1所述的方法,其特征在于,所述将待传输的蓝牙数据按照优先级次序添加到任务链表中,添加完成后通知封装线程包括:
将新收到的待传输的蓝牙数据依次与任务链表中的蓝牙数据进行优先级比较,所述任务链表中的蓝牙数据已按照优先级由高到低次序从链表头部到链表尾部依次排序;
若新收到的待传输的蓝牙数据的优先级高于所述任务链表头部的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到所述任务链表头部位置,否则,则将新收到的待传输的蓝牙数据继续与所述任务链表中低一个优先级的蓝牙数据进行优先级比较,直至新收到的待传输的蓝牙数据的优先级高于所述任务链表中的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到所述任务链表中的蓝牙数据所在的位置;
将所述任务链表中插入新的蓝牙数据的消息通知给封装线程;
所述将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,添加完成后通知发送线程,具体是按照将待传输的蓝牙数据按照优先级次序添加到任务链表中的添加过程,将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,使所述封装链表中的蓝牙数据也已按照优先级由高到低次序从链表头部到链表尾部依次排序。
3.一种蓝牙数据传输装置,其特征在于,具有相互独立、同步进行的发送线程与封装线程,使得蓝牙数据的封装和发送相互独立、同步进行、互不影响,所述装置包括:
任务链表添加单元,用于当接收到新的待传输的蓝牙数据时,将待传输的蓝牙数据按照优先级次序添加到任务链表中,并在添加完成后通知封装线程;
封装单元,用于利用所述封装线程对所述任务链表中的蓝牙数据按照优先级次序进行封装处理;
封装链表添加单元,用于将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,并在添加完成后通知发送线程;发送单元,当检测到封装好的蓝牙数据时,就立即利用所述发送线程将所述封装链表中的蓝牙数据按照优先级次序发送出去;
其中,所述封装处理单元具体用于:从任务链表头部的蓝牙数据中取出预定长度的数据进行封装,封装完成后从任务链表头部的所述蓝牙数据的剩余未封装部分中再取出预定长度的数据进行封装,直至任务链表头部的所述蓝牙数据全部封装完成,从任务链表头部删除所述蓝牙数据;在对任务链表头部的所述蓝牙数据进行封装过程中,若任务链表头部插入高优先级的蓝牙数据,则中止封装正在封装的所述蓝牙数据,开始封装所述任务链表头部插入的所述高优先级的蓝牙数据,直至所述高优先级的蓝牙数据封装完毕,并从任务链表头部删除所述高优先级的蓝牙数据,再继续封装未封装完成的所述蓝牙数据;
所述发送单元具体用于:对封装链表头部的蓝牙数据进行发送,发送完成后删除所述蓝牙数据,并继续对封装链表头部当前的蓝牙数据进行发送;在对封装链表头部的蓝牙数据进行发送过程中,若所述封装链表头部插入高优先级的蓝牙数据,则中止发送正在发送的蓝牙数据,开始发送所述封装链表头部插入的高优先级的蓝牙数据,直至所述高优先级的蓝牙数据发送完毕,并从封装链表头部删除所述高优先级的蓝牙数据,再继续发送未发送完成的所述蓝牙数据。
4.如权利要求3所述的装置,其特征在于,所述任务链表添加单元具体用于:
将新收到的待传输的蓝牙数据依次与任务链表中的蓝牙数据进行优先级比较,所述任务链表中的蓝牙数据已按照优先级由高到低次序从链表头部到链表尾部依次排序;
若新收到的待传输的蓝牙数据的优先级高于所述任务链表头部的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到所述任务链表头部位置,否则,则将新收到的待传输的蓝牙数据继续与所述任务链表中低一个优先级的蓝牙数据进行优先级比较,直至新收到的待传输的蓝牙数据的优先级高于所述任务链表中的蓝牙数据的优先级,则将新收到的待传输的蓝牙数据插入到所述任务链表中的蓝牙数据所在的位置;
将所述任务链表中插入新的蓝牙数据的消息通知给封装线程;
所述封装链表添加单元具体是按照将待传输的蓝牙数据按照优先级次序添加到任务链表中的添加过程,将封装处理后的蓝牙数据按照优先级次序添加在封装链表中,使所述封装链表中的蓝牙数据也已按照优先级由高到低次序从链表头部到链表尾部依次排序。
5.一种蓝牙数据传输装置,其特征在于,所述装置包括存储器和处理器,所述存储器存储有能够被所述处理器执行的计算机程序,所述计算机程序被所述处理器执行时能够实现权利要求1-2任一项所述的方法。
6.一种可穿戴设备,其特征在于,所述可穿戴设备包括如权利要求3-4任意一项或者如权利要求5所述的蓝牙数据传输装置。
CN201711276806.3A 2017-12-06 2017-12-06 一种蓝牙数据传输方法和装置 Active CN108124284B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711276806.3A CN108124284B (zh) 2017-12-06 2017-12-06 一种蓝牙数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711276806.3A CN108124284B (zh) 2017-12-06 2017-12-06 一种蓝牙数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN108124284A CN108124284A (zh) 2018-06-05
CN108124284B true CN108124284B (zh) 2022-01-18

Family

ID=62228848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711276806.3A Active CN108124284B (zh) 2017-12-06 2017-12-06 一种蓝牙数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN108124284B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111050199B (zh) * 2019-11-19 2022-01-28 海信视像科技股份有限公司 显示设备及显示设备蓝牙通信资源的调度方法
CN110830972A (zh) * 2019-12-02 2020-02-21 北京深思数盾科技股份有限公司 用于蓝牙通讯的数据传输方法和装置以及存储介质
CN111078431A (zh) * 2019-12-10 2020-04-28 紫光云(南京)数字技术有限公司 一种基于蓝牙交互的流程管理方法
CN112000446A (zh) * 2020-07-13 2020-11-27 深圳市优必选科技股份有限公司 一种数据传输的方法及机器人
CN113423099B (zh) * 2021-04-28 2022-12-02 广州芯之联科技有限公司 蓝牙广播事件调度方法、装置及蓝牙设备
CN114040510B (zh) * 2021-11-15 2023-12-05 紫光展锐(重庆)科技有限公司 一种数据传输方法及相关装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778092A (zh) * 2009-01-13 2010-07-14 蒋一 多客户端服务器的数据传输方法
US20120243413A1 (en) * 2009-11-25 2012-09-27 St-Ericsson Sa Data Packet Priority Level Management
KR20110064528A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 블루투스 디바이스의 데이터 전송 방법 및 장치
CN103457639A (zh) * 2012-05-30 2013-12-18 中兴通讯股份有限公司 数据发送方法和装置及数据同步方法和装置
CN102946350B (zh) * 2012-09-18 2016-08-10 杭州华三通信技术有限公司 一种基于优先级的数据传输方法和设备
CN103078667A (zh) * 2013-01-23 2013-05-01 杭州电子科技大学 一种基于超五类线的lvds高速数据传输方法
CN103986666A (zh) * 2013-02-07 2014-08-13 华为技术有限公司 一种数据处理方法、装置和系统
WO2014186956A1 (zh) * 2013-05-22 2014-11-27 华为技术有限公司 一种优先级调度方法、用户设备及基站
CN103330551A (zh) * 2013-06-14 2013-10-02 浙江大学 基于穿戴式传感器的老年人健康监护背心
CN104184843B (zh) * 2013-11-06 2018-08-03 邦彦技术股份有限公司 数据转发装置和方法
CN106375103B (zh) * 2015-07-23 2020-02-21 杭州海康威视数字技术股份有限公司 一种告警数据采集和发送方法
CN106559735B (zh) * 2015-09-28 2019-06-07 展讯通信(上海)有限公司 蓝牙数据发送控制方法及装置
US10383012B2 (en) * 2016-05-26 2019-08-13 Qualcomm Incorporated Method and apparatuses for accessing unlicensed and licensed frequency bands

Also Published As

Publication number Publication date
CN108124284A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
CN108124284B (zh) 一种蓝牙数据传输方法和装置
CN111147564B (zh) 数据文件传输方法、系统及通信终端
US10470201B2 (en) Message transmitting method, message receiving method and apparatuses thereof
WO2017067391A1 (zh) 虚拟机的数据共享方法及装置
CN109688058B (zh) 报文处理方法、装置及网络设备
CN106034084B (zh) 一种数据传输方法及装置
WO2014169860A1 (zh) 一种数据传输方法及设备
JP6595112B2 (ja) データ送信方法及び装置並びに端末
CN108833542B (zh) Tws耳机的升级方法及tws耳机
CN113179327B (zh) 基于大容量内存的高并发协议栈卸载方法、设备、介质
EP4092917B1 (en) Data transmission method, apparatus and system
CN112579515B (zh) 线程消息处理方法及相关产品
CN103401738B (zh) 一种连接终端的方法及装置
CN113992654A (zh) 一种高速的文件传输方法、系统、设备及介质
JP2019533381A (ja) スケジューリング方法、端末および基地局
CN112910986B (zh) 一种网络录像机通道管理方法及网络录像机
CN103686633A (zh) 一种文件的传输方法及装置
WO2019062558A1 (zh) 一种调度请求发送方法及终端设备
CN104394099A (zh) 一种报文传输方法及装置
CN104618335A (zh) 一种消息交互的方法和接口处理平台
CN105512075A (zh) 高速输出、输入接口电路及数据传输方法
CN106657097B (zh) 一种数据发送方法及装置
CN104038328A (zh) 一种多屏互动的消息传输方法、装置和系统
CN111198840B (zh) 一种适用于双核系统的goose和mms共网通信方法和系统
CN115767776A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191115

Address after: 266104 Laoshan Qingdao District North House Street investment service center room, Room 308, Shandong

Applicant after: GOERTEK TECHNOLOGY Co.,Ltd.

Address before: 266061, No. 3, building 18, Qinling Mountains Road, Laoshan District, Shandong, Qingdao 401

Applicant before: QINGDAO ZHENSHI TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230412

Address after: 233000 85 Shengli Road, bengshan mountain, Bengbu, Anhui

Patentee after: Bengbu wild hill network technology Co.,Ltd.

Address before: 266104 Room 308, North Investment Street Service Center, Laoshan District, Qingdao, Shandong.

Patentee before: GOERTEK TECHNOLOGY Co.,Ltd.