CN112888062B - 数据同步方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据同步方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112888062B CN112888062B CN202110283328.9A CN202110283328A CN112888062B CN 112888062 B CN112888062 B CN 112888062B CN 202110283328 A CN202110283328 A CN 202110283328A CN 112888062 B CN112888062 B CN 112888062B
- Authority
- CN
- China
- Prior art keywords
- data block
- cache space
- earliest
- data
- timestamp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000005540 biological transmission Effects 0.000 claims abstract description 85
- 239000000872 buffer Substances 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 7
- 101100054598 Hordeum vulgare ACL1.2 gene Proteins 0.000 description 19
- 238000009825 accumulation Methods 0.000 description 18
- 101150049032 ACL1 gene Proteins 0.000 description 9
- 101100448894 Arabidopsis thaliana GLR3.1 gene Proteins 0.000 description 9
- 101150023061 acpP gene Proteins 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000008030 elimination Effects 0.000 description 5
- 238000003379 elimination reaction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/10—Earpieces; Attachments therefor ; Earphones; Monophonic headphones
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种数据同步方法、装置、电子设备及计算机可读存储介质,当主设备检测到数据发送时机到达时,先将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,然后获取各个缓存空间的当前的缓存信息,并基于此判断是否存在目标缓存空间,当存在时,则删除目标缓存空间内的最早数据块,然后将各个缓存空间内的数据块发送给对应的从设备。在上述过程中,由于删除了目标缓存空间内的最早数据块,对于主设备侧而言,可以提高后续数据块的传输效率,从而有利于主设备侧发送数据块时的时间同步;此外,对于从设备而言,由于对应的传输链路的传输效率得到提高,有利于从设备在接收数据块的时间层面上实现同步。
Description
技术领域
本申请属于数据传输领域,具体涉及一种数据同步方法、装置、电子设备及计算机可读存储介质。
背景技术
一般而言,一个主设备(发送数据端)可以与多个从设备(接收数据端)之间建立无线连接,形成多条传输链路。在建立无线连接后,主设备可以通过彼此之间相互独立的传输链路向每个从设备独立地传输数据。
然而,各条传输链路由于内部因素或外部因素的影响,其吞吐率可能存在瞬时差异。这些差异经过累计后,极有可能导致各条传输链路上所传输的数据在时间戳上呈现出不同步的情况,影响用户的使用感受。例如,当传输的数据为音频数据时,对于用户而言,极有可能从不同声道的从播放设备(例如左耳机和右耳机)上听到不同步的音频数据。
发明内容
有鉴于此,本申请的目的在于提供一种数据同步方法、装置、电子设备及计算机可读存储介质,有利于实现数据同步,提升用户体验。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供一种数据同步方法,应用于主设备,所述主设备与多个从设备之间无线连接,所述方法包括:在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,每个所述缓存空间的初始容量相同;获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;在为是时,删除所述目标缓存空间内的最早数据块;将所述缓存空间内当前存在的数据块发送给对应的从设备。
在上述过程中,目标缓存空间内的最早数据块即为旧的、过时的数据块。在删除了目标缓存空间内的最早数据块后,对于主设备而言,便不再需要通过对应的传输链路将被删除的最早数据块发送给对应的从设备,从而可以节省传输链路的带宽资源,提高传输效率,从而使得位于被删除的最早数据块之后的其他被延迟发送的数据块的发送时间可以得到一定的提前,从而有利于主设备侧发送数据块时的时间同步。
此外,对于与目标缓存空间对应的从设备而言,当目标缓存空间内的最早数据块被删除后,由于对应的传输链路的传输效率得到提高,后续本应该被延迟的数据块的接收时间均得到一定程度的提前,从而使得从设备可以尽快赶上其他从设备的数据传输进度,有利于从设备在接收数据块的时间层面上实现同步。
结合第一方面实施例,在一种可能的实施方式中,每个所述缓存信息均包括与之对应的缓存空间内所缓存的各个数据块的时间戳,所述根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间,包括:从每个所述缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
结合第一方面实施例,在一种可能的实施方式中,每个所述缓存信息包括与之对应的缓存空间的剩余容量,所述根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间,包括:判断是否存在其剩余容量小于预设容量的缓存空间;其中,所述目标缓存空间的所述剩余容量小于所述预设容量。
结合第一方面实施例,在一种可能的实施方式中,在所述将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间之前,所述方法还包括:在获取到所述待发送数据块时,确定所述数据发送时机到达;或者,在检测到预设定时周期到期时,确定所述数据发送时机到达。
结合第一方面实施例,在一种可能的实施方式中,所述待发送数据块为音频数据块,所述从设备为接收所述音频数据块的蓝牙耳机;或者,所述待发送数据块为音频数据块,所述主设备为采集用户音频,并将其编码为音频数据块的蓝牙耳机。
结合第一方面实施例,在一种可能的实施方式中,在所述删除所述目标缓存空间内的最早数据块之后,所述方法还包括:将所述最早数据块的时间戳发送给对应的从设备。
第二方面,本申请实施例提供一种数据同步方法,应用于从设备,所述方法包括:获取主设备发送的时间戳,所述时间戳用于表征被所述主设备删除的数据块所对应的时间戳;在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理。
在上述过程中,对于从设备而言,当其获取到时间戳后,可以在检测到自身的播放时间运行到时间戳所指示的起始时间时,对时间戳所覆盖到的时间段执行容错处理,从而避免从设备一直等待该时间戳所覆盖的时间段应该被播放的数据块,有利于实现该从设备与其他从设备之间的播放同步。
结合第二方面实施例,在一种可能的实施方式中,所述对所述时间戳所覆盖到的时间段执行容错处理,包括:在所述时间戳所覆盖到的时间段内暂停播放;或者,在所述时间戳所覆盖到的时间段内播放空白数据;或者,根据在所述时间戳之前所播放的数据进行数据填充,并在所述时间戳所覆盖到的时间段内播放所述数据填充后的数据。
第三方面,本申请实施例提供一种数据同步装置,应用于主设备,所述主设备与多个从设备之间无线连接,所述装置包括:缓存模块、判断模块以及执行模块。
缓存模块,用于在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,每个所述缓存空间的初始容量相同;
判断模块,用于获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;
执行模块,用于在所述判断模块判断为是时,删除所述目标缓存空间内的最早数据块,并将所述缓存空间内当前存在的数据块发送给对应的从设备。
结合第三方面实施例,在一种可能的实施方式中,每个所述缓存信息均包括与之对应的缓存空间内所缓存的各个数据块的时间戳,所述判断模块,用于从每个所述缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
结合第三方面实施例,在一种可能的实施方式中,每个所述缓存信息包括与之对应的缓存空间的剩余容量,所述判断模块,用于判断是否存在其剩余容量小于预设容量的缓存空间;其中,所述目标缓存空间的所述剩余容量小于所述预设容量。
结合第三方面实施例,在一种可能的实施方式中,所述装置还包括确定模块,用于在获取到所述待发送数据块时,确定所述数据发送时机到达;或者,在检测到预设定时周期到期时,确定所述数据发送时机到达。
结合第三方面实施例,在一种可能的实施方式中,所述待发送数据块为音频数据块,所述从设备为接收所述音频数据块的蓝牙耳机;或者,所述待发送数据块为音频数据块,所述主设备为采集用户音频,并将其编码为音频数据块的蓝牙耳机。
结合第三方面实施例,在一种可能的实施方式中,所述装置还包括发送模块,用于将所述最早数据块的时间戳发送给对应的从设备。
第四方面,本申请实施例提供一种数据同步装置,应用于从设备,所述装置包括:获取模块以及容错处理模块。
获取模块,用于获取主设备发送的时间戳,所述时间戳用于表征被所述主设备删除的数据块所对应的时间戳;
容错处理模块,用于在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理。
结合第四方面实施例,在一种可能的实施方式中,所述容错处理模块,用于在所述时间戳所覆盖到的时间段内暂停播放;或者,在所述时间戳所覆盖到的时间段内播放空白数据;或者,根据在所述时间戳之前所播放的数据进行数据填充,并在所述时间戳所覆盖到的时间段内播放所述数据填充后的数据。
第五方面,本申请实施例还提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
结合第五方面实施例,在一种可能的实施方式中,所述电子设备为无线蓝牙耳机。
第六方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出本申请实施例提供的一种主设备与从设备之间的连接示意图。
图2示出本申请实施例提供的一种数据同步方法的流程图之一。
图3示出本申请实施例提供的一种数据同步方法的流程图之二。
图4示出本申请实施例提供的一种数据同步装置的结构框图之一。
图5示出本申请实施例提供的一种数据同步装置的结构框图之二。
图6示出本申请实施例提供的一种电子设备的结构框图。
图标:100-电子设备;110-处理器;120-存储器;130-无线通信单元;140-收发器;200-主设备;300-从设备;400-数据同步装置;410-缓存模块;420-判断模块;430-执行模块;500-数据同步装置;510-获取模块;520-容错处理模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,针对现有技术中的主从设备进行数据交互时所存在的缺陷(容易导致多个从设备之间获取到的数据不同步)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认定为申请人对本申请做出的贡献。
为了解决上述问题,本申请实施例提供一种数据同步方法、装置、电子设备及计算机可读存储介质,有利于实现数据同步,提升用户体验。
该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
下面将针对本申请所提供的数据同步方法进行介绍。
本申请实施例提供一种应用于主设备的数据同步方法。
其中,请参照图1,主设备200可以与多个从设备300之间无线连接,从而使得主设备200与不同的从设备300之间存在不同的传输链路,且各条传输链路彼此之间相互独立。
其中,上述连接的方式可以是蓝牙连接、WIFI连接等已有的无线连接方式。当然,在一些实施方式中,上述连接方式还可以是其他可以适用于本申请实施例的无线连接方式。
下面将以蓝牙连接为例,对本申请实施例进行介绍。可以理解,当无线连接为其他连接方式时,可以参照蓝牙连接所对应的实施例进行对应修改。
于本申请实施例中,主设备200与从设备300之间所传输的数据可以是音频数据,也可以是视频数据。
当主设备200与从设备300之间所传输的数据为音频数据(例如音乐、影视音频等),且当无线连接方式为蓝牙连接时,在一些应用场景中,上述主设备200可以是获取到音频数据的主机端,例如PC端、移动终端,而从设备300可以是用于接收音频数据的蓝牙耳机。在这种应用场景下,用户可以通过从设备300(此时为蓝牙耳机)获取由主设备200所播放的音频数据。
此外,当主设备200与从设备300之间所传输的数据为音频数据,且当无线连接方式为蓝牙连接时,在另一些实施方式中,上述主设备200可以是包括麦克风组件,且用于采集用户所发出的声音,并通过自身或者其他设备将其编码为音频数据的蓝牙耳机。在这种应用场景下,用户可以通过主设备200(此时为蓝牙耳机)采集自身在录音场景、通话场景、唱歌场景所发出的声音,并将其编码为音频数据发送给从设备300。
值得指出的是,在本申请实施例中,主设备200与从设备300之间在进行数据传输前,预先将待发送数据分割成多个数据块,从而得到多个待发送数据块。相应的,主设备200与从设备300之间在进行数据传输时,是以数据块为单位进行传输。
其中,每个数据块存在对应的时间戳,该时间戳为一个时间点,用于表征该数据块应该在哪个时间点进行播放。
当然,每个数据块还存在对应的播放时长,用于表征播放该数据块时所需要覆盖的时间范围。
值得指出的是,各个数据块所覆盖的播放时长几乎相同,且由200与从设备300通过一些交互操作来预先确定。
假设一段数据的总播放时长为100ms,且预先确定每个数据块所覆盖的播放时长为20ms,相应的,该数据被拆分为5个数据块,分别为:数据块1、数据块2、数据块3、数据块4以及数据块5。
其中,数据块1的时间戳为1,表征该数据块在第1ms开始播放,且数据块1所覆盖的播放时长为第1ms-第20ms;数据块2的时间戳为21,表征该数据块在第21ms开始播放,且数据块2所覆盖的播放时长为第21ms-第40ms;数据块3的时间戳为41,表征该数据块在第41ms开始播放,且数据块3所覆盖的播放时长为第41ms-第60ms;数据块4的时间戳为61,表征该数据块在第61ms开始播放,且数据块4所覆盖的播放时长为第61ms-第80ms;数据块5的时间戳为81,表征该数据块在第81ms开始播放,且数据块5所覆盖的播放时长为第81ms-第100ms。
前文提及,主设备200与多个从设备300之间存在传输链路(例如与蓝牙连接对应的ACL链路),因此,主设备200是通过各条传输链路将当前存在的数据块发送给对应的从设备300。
在正常情况下,即各条传输链路的连接状况稳定、吞吐率完全满足数据传输的要求时,主设备200会不断地从缓存空间去取出需要发送的数据块,并通过各条传输链路传输出去。需要注意的是,正常情况下,主设备200每次取出的数据块为缓存空间中,时间戳最早的那个数据块,即最早数据块。
由于各种因素的干扰,可能导致传输链路的吞吐率出现波动,从而导致各条传输链路的传输效率出现差异。各种差异经过长期累积后,极有可能导致某些传输链路内出现数据堆积的情况,进而导致传输链路内所传输的数据不同步,以至于影响从设备300端的播放效果。
假设主设备200与两个从设备300(为了便于区分,下文简称为第一从设备300以及第二从设备300)无线连接,且主设备200与第一从设备300之间的传输链路为ACL1,主设备200与第二从设备300之间的传输链路为ACL2。
当主设备200需要将上文中的数据块1、数据块2、数据块3、数据块4以及数据块5分别发送给第一从设备300以及第二从设备300时,在正常情况下,各个数据块在ACL1内的传输进度与各个数据块在ACL2内的传输进度相同。
当ACL1内正常,且ACL2内出现数据堆积时,在同一时间点,极有可能出现以下情况:主设备200侧所发送的数据块1、数据块2、数据块3、数据块4以及数据块5成功通过ACL1抵达第一从设备300;主设备200侧所发送的数据块1成功通过ACL2抵达第二从设备300,主设备200侧所发送的数据块2、数据块3堆积在ACL2内,迟迟未能抵达第二从设备300,且主设备200侧待发送的数据块4以及待发送的数据块5由于ACL2内的数据堆积,一直未能发送到ACL2内,从而导致ACL1以及ACL2内的数据的传输进度不同步。
后续,主设备200侧需要不断检测ACL2内的拥塞情况,以及试图将待发送的数据块4以及待发送的数据块5通过ACL2发送给第二从设备300,各种时间的消耗,则可能加剧数据进一步不同步。
可选的,在本申请实施例中,可以采取图2所示的数据同步方法来缓解上述问题。该方法应用于主设备200,可以包括以下步骤。
步骤S110:在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间。
在一些实施方式中,当主设备200在获取到待发送数据块时,即可以确定数据发送时机到达。
此外,在另一些实施方式中,还可以通过配置的方式,预先为主设备200设置定时周期。此时,每当主设备200内的时钟单元检测到定时周期到期时,即可以确定数据发送时机到达。
可选的,在本申请实施例中,在主设备200内预先创建多个初始容量相同的缓存空间,从而使得每个从设备300均存在一一对应的缓存空间。其中,每个缓存空间的存取规则为先进先出,即FIFO。
每当主设备200检测到数据发送时机到达时,先将待发送数据块缓存到与各个从设备300对应的缓存空间,以便后续可以间接判断与各个从设备300对应的传输链路是否存在数据堆积。
以主设备200与第一从设备300以及第二从设备300无线连接为例,相应的,与第一从设备300对应的传输链路为ACL1,与第一从设备300以及ACL1对应的缓存空间为FIFO1,与第二从设备300对应的传输链路为ACL2,与第二从设备300以及ACL2对应的缓存空间为FIFO2。当主设备200检测到数据发送时机到达时,先将待发送数据块分别缓存到FIFO1以及FIFO2内。
步骤S120:获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间。
在将待发送数据块分别缓存到各个缓存空间后,主设备200可以获取各个缓存空间在当前的缓存信息。
其中,在一些实施方式下,缓存信息可以包括与之对应的缓存空间内所缓存的各个数据块的时间戳。在这种实施方式下,当主设备200获取到与各个缓存空间对应的当前的缓存信息后,可以判断在当前的各个缓存空间中是否存在目标缓存空间。此时,与目标缓存空间所对应的传输链路极有可能是存在数据堆积的传输链路。
可选的,在这种实施方式下,判断是否存在目标缓存空间的过程如下。
针对当前所获取到的每个缓存信息,先获取到与之对应的缓存空间内当前所缓存的各个数据块的时间戳。
其中,若两个数据块的时间戳存在先后关系,那么说明时间戳较大(靠后)的数据块的播放时间晚于时间戳较小(靠前)的数据块的播放时间,即在正常情况下,时间戳较小的数据块应该先播放。
在获取到各个缓存空间内当前所缓存的各个数据块的时间戳后,可以从中选择出与每个缓存空间对应的最早(最小)时间戳,以及与每个缓存空间对应的最早数据块(最先播放的数据块)。
后续,针对每两个最早时间戳作差,并比较其差值与预设差值Tthr之间的大小关系。
其中,当任意两个最早时间戳(为便于区分,假设分别为第一最早时间戳T1old以及第二最早时间戳T2old)中的第一最早时间戳与第二最早时间戳之差大于预设差值Tthr时,即可以判断存在目标缓存空间,且目标缓存空间为与第二最早时间戳T2old对应的缓存空间。
可选的,预设差值Tthr的数值表征数据块传输过程中,用户可容忍的两个从设备300所播放的数据的最大时间差。
例如根据上文的举例,针对与FIFO1以及FIFO2对应的当前的缓存信息,假设FIFO1内所缓存的最早数据块的时间戳为T1old,假设FIFO2内所缓存的最早数据块的时间戳为T2old。若T1old-T2old>Tthr,那么与T2old对应的缓存空间FIFO2即为目标缓存空间,相应的,也意味着与目标缓存空间FIFO2对应的传输链路存在数据堆积。若T2old-T1old>Tthr,那么与T1old对应的缓存空间FIFO1即为目标缓存空间,相应的,也意味着与目标缓存空间FIFO1对应的传输链路存在数据堆积。
此外,在一些实施方式下,缓存信息可以包括与之对应的缓存空间的剩余容量。在这种实施方式下,当主设备200获取到与各个缓存空间对应的当前的缓存信息后,可以判断在当前的各个缓存空间中是否存在目标缓存空间。此时,与目标缓存空间所对应的传输链路极有可能是即将出现数据堆积的传输链路。
可选的,在这种实施方式下,判断是否存在目标缓存空间的过程如下。
针对当前所获取到的每个缓存信息,先获取到与之对应的缓存空间的当前的剩余容量,即可以用于缓存数据块的容量。
前文提及,各个缓存空间的初始容量相同。在经过一段时间后,通过缓存数据块以及释放数据块,各个缓存空间的剩余容量存在差异。
在获取到各个缓存空间当前的剩余容量后,针对所有缓存空间,可以判断是否存在其剩余容量小于预设容量的缓存空间。其中,当存在其剩余容量小于预设容量的缓存空间时,该缓存空间即为目标缓存空间。
可选的,预设容量的数值可以是1,也可以是其他经过实践所确定出的大于1的数值。
当然,在一些实施方式中,主设备200在获取到与各个缓存空间对应的当前的缓存信息后,可以同时结合上述两种确定目标缓存空间的方式来确定目标缓存空间,即只要满足上述任意一种条件,即可以确定存在目标缓存空间。
步骤S130:在为是时,删除所述目标缓存空间内的最早数据块。
步骤S140:将所述缓存空间内当前存在的数据块发送给对应的从设备。
根据上述分析可知,当存在目标缓存空间时,则说明与目标缓存空间对应的传输链路(以下简称为目标传输链路)存在数据堆积或者即将存在数据堆积。针对目标传输链路,主设备200需要不断检测目标传输链路内的拥塞情况,以及试图将未发送成功的待发送的数据块发送出去,可能加剧主设备200在各条传输链路中所传输数据不同步的情况。
其中,对于目标缓存空间而言,在正常情况下,其内所缓存的最早数据块本应该已被传输至对应的从设备300,然而由于目标传输链路存在数据堆积,该最早数据块迟迟未能成功发送至对应的从设备300。
此时,为了加快疏通目标传输链路的数据堆积,可以针对目标缓存空间采取数据块的淘汰策略,即将目标缓存空间中的最早数据块删除。最早数据块被删除后就不需要再被发送,可以节省目标传输链路的带宽资源,即可以通过淘汰策略提高目标缓存空间内的数据块的传输效率,有利于加快疏通目标传输链路的数据堆积,从而有利于减少主设备200用于检测目标传输链路内的拥塞情况所需耗费的时间,促使主设备200侧发送数据块时的时间同步。
此外,对于目标传输链路而言,相较于其他正常传输链路,其所传输的数据块的时间均已被延迟。当把目标缓存空间内的最早数据块删除后,目标缓存空间内的数据堆积程度得到减小,后续主设备200将各个缓存空间内当前存在的数据块发送给对应的从设备300时,便不再需要将目标缓存空间内的最早数据块发送给对应的从设备300(因为已经被删掉),从而节省发送最早数据块所需要耗费的时间。而这个发送时间则可以用于发送位于最早数据块之后的其他被延迟发送数据块(例如次早数据块),从而使得其他数据块的发送时间提前。从发送时间这个角度来说,当采取淘汰策略之后,可以将目标传输链路内的其他数据块的发送时间整体提前,从而缓解目标传输链路内的其他数据块到达对应的从设备300的延迟程度,有利于缩小同一个数据块到达不同从设备300的时间差,有利于从设备300接收数据块的时间层面的同步。
根据上文的举例,假设主设备200已通过ACL1向第一从设备300成功发送数据块1、数据块2以及数据块3,在FIFO1内当前所缓存的数据块为数据块4、数据块5、数据块6等;假设主设备200已通过ACL2向第二从设备300成功发送数据块1,在FIFO2内当前所缓存的数据块为数据块2、数据块3、数据块4、数据块5、数据块6等。经过上述检测,假设确定FIFO2为目标缓存空间,并对FIFO2执行数据块淘汰策略,删除FIFO2内的最早数据块,即数据块2。
删除FIFO2内的数据块2后,后续主设备200通过ACL1将FIFO1内的数据块4、数据块5、数据块6发送给第一从设备300,主设备200通过ACL2将FIFO2内的数据块3、数据块4、数据块5、数据块6发送第二从设备300。
假设ACL2依旧存在数据堆积,由于主设备200本次向ACL2发送的数据量相较于未执行淘汰策略时有所减少,因此,有助于加快疏通目标传输链路的数据堆积情况,从而有助于减少主设备200用于检测ACL2数据堆积情况所需要耗费的时间,有利于主设备200在向各个ACL发送数据块时的时间同步。
此外,假设ACL2的数据堆积得到缓解,删除FIFO2内的数据块2后,主设备200在当前通过ACL2所发送的数据块分别为数据块3、数据块4、数据块5、数据块6,其当前所发送的最早数据块从数据块2变成了数据块3,使得数据块3及其之后的数据块到达第二从设备300的时间点均得到提前。对于第二从设备300而言,其获取到数据块3的时间相较于第一从设备300获取到数据3的时间差被拉近,有利于第一从设备300与第二从设备300接收同一数据块的时间同步。
本申请实施例所提供的一种数据同步方法,当主设备200检测到数据发送时机到达时,先将待发送数据块分别缓存到与所述多个从设备300一一对应的缓存空间,然后获取各个缓存空间的当前的缓存信息,并基于此判断是否存在目标缓存空间,当存在时,则删除目标缓存空间内的最早数据块,然后将各个缓存空间内的数据块发送给对应的从设备300。在上述过程中,目标缓存空间内的最早数据块即为旧的、过时的数据块。在删除了目标缓存空间内的最早数据块后,对于主设备200而言,便不再需要通过对应的传输链路将被删除的最早数据块发送给对应的从设备300,从而可以节省传输链路的带宽资源,提高传输效率,从而使得位于被删除的最早数据块之后的其他被延迟发送的数据块的发送时间可以得到一定的提前,从而有利于主设备200侧发送数据块时的时间同步。
此外,对于与目标缓存空间对应的从设备300而言,当目标缓存空间内的最早数据块被删除后,由于对应的传输链路的传输效率得到提高,后续本应该被延迟的数据块的接收时间均得到一定程度的提前,从而使得从设备300可以尽快赶上其他从设备的数据传输进度,有利于从设备300在接收数据块的时间层面上实现同步。
此外,值得指出的是,针对各个从设备300而言,当其获取到的数据块的进度不同步之后,还容易导致各个从设备300在播放数据块时出现播放不同步。
例如在一些情况下,当第一从设备300以及第二从设备300均获取到数据块1,且对数据块1进行播放后,当需要播放数据块2时,由于第一从设备300已获取到数据块2,且第二从设备300未获取到数据块2,因此,第一从设备300在播放数据块2时,第二从设备300一直处于等待接收数据块2的阶段。而当第一从设备300播放完数据块2,且打算播放已经获取到的数据块3时,第二从设备300有可能才获取到数据块2并对数据块2进行播放,此时,则可能导致第一从设备300与第二从设备300所播放的数据不一致,从而导致播放不同步。
为了缓解上述情况,在一些实施方式中,主设备200在删除目标缓存空间内的最早数据块之后,还可以将被删除的最早数据块的时间戳发送给本应该接收该最早数据块的从设备300,即对应的从设备300,以便该对应的从设备300可以根据获取到的时间戳,采取相应的容错处理。
可选的,请参照图3,本申请实施例提供一种应用于从设备300的数据同步方法,可以包括以下步骤。
步骤S210:获取主设备发送的时间戳,所述时间戳用于表征被删除的数据块所对应的时间戳。
步骤S210:在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理。
其中,上述容错处理可以是在获取到的时间戳所覆盖到的时间段内暂停播放;或者,在获取到的时间戳所覆盖到的时间段内播放预先获取到的空白数据;或者,根据之前已经播放过的在先数据对获取到的时间戳所覆盖到的时间段进行数据填充,并在获取到的时间戳所覆盖到的时间段内播放数据填充后的数据。此外,还可以采用其他容错处理方式,此处不再做具体的限制。
当然,上述数据填充技术是较为成熟的现有技术,此处不再赘述。
依旧以上述举例为例,当第二从设备300获取到数据块2的时间戳时,则说明数据块2已经被主设备200删除,相应的,第二从设备300不必再等待该数据块2以及对其进行播放。
后续,当第二从设备300检测到自身当前的播放时间运行到数据块2对应的时间戳所指示的起始时间时,对该时间戳所覆盖到的时间段执行容错处理,以避免与第一从设备300所播放的数据块2产生数据不同步。
而在这段时间,第二从设备300极有可能可以成功获取到数据块3,且对于第二从设备300而言,也没有必要再耗费时间去等待数据块2,因此,第二从设备300则可以在播放时间运行到数据块3的时间戳所指示的起始时间时,对数据块3进行播放,而此时,一直处于正常情况的第一从设备300也刚好播放到数据块3,从而实现第一从设备300与第二从设备300之间的播放同步。
本申请实施例所提供的一种数据同步方法,对于从设备300而言,当其获取到时间戳后,可以在检测到自身的播放时间运行到时间戳所指示的起始时间时,对时间戳所覆盖到的时间段执行容错处理,从而避免从设备300一直等待该时间戳所覆盖的时间段应该被播放的数据块,有利于实现该从设备300与其他从设备300之间的播放同步。
此外,请参照图4,本申请实施例还提供一种数据同步装置400,应用于主设备200,所述主设备200与多个从设备300之间无线连接,数据同步装置400可以包括:缓存模块410、判断模块420以及执行模块430。
缓存模块410,用于在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,每个所述缓存空间的初始容量相同;
判断模块420,用于获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;
执行模块430,用于在所述判断模块判断为是时,删除所述目标缓存空间内的最早数据块,并将所述缓存空间内当前存在的数据块发送给对应的从设备。
在一种可能的实施方式中,每个所述缓存信息均包括与之对应的缓存空间内所缓存的各个数据块的时间戳,所述判断模块420,用于从每个所述缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
在一种可能的实施方式中,每个所述缓存信息包括与之对应的缓存空间的剩余容量,所述判断模块420,用于判断是否存在其剩余容量小于预设容量的缓存空间;其中,所述目标缓存空间的所述剩余容量小于所述预设容量。
在一种可能的实施方式中,所述装置还包括确定模块,用于在获取到所述待发送数据块时,确定所述数据发送时机到达;或者,在检测到预设定时周期到期时,确定所述数据发送时机到达。
在一种可能的实施方式中,所述待发送数据块为音频数据块,所述从设备为接收所述音频数据块的蓝牙耳机;或者,所述待发送数据块为音频数据块,所述主设备为采集用户音频,并将其编码为音频数据块的蓝牙耳机。
在一种可能的实施方式中,所述装置还包括发送模块,用于将所述最早数据块的时间戳发送给对应的从设备。
本申请实施例所提供的数据同步装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,请参照图5,本申请实施例还提供一种数据同步装置500,应用于从设备300,数据同步装置500可以包括:获取模块510以及容错处理模块520。
获取模块510,用于获取主设备发送的时间戳,所述时间戳用于表征被所述主设备删除的数据块所对应的时间戳;
容错处理模块520,用于在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理。
在一种可能的实施方式中,所述容错处理模块520,用于在所述时间戳所覆盖到的时间段内暂停播放;或者,在所述时间戳所覆盖到的时间段内播放空白数据;或者,根据在所述时间戳之前所播放的数据进行数据填充,并在所述时间戳所覆盖到的时间段内播放所述数据填充后的数据。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的数据同步方法所包含的步骤。
此外,请参照图6,本申请实施例还提供一种用于实现数据同步方法、装置的电子设备100。
其中,电子设备100可以是上述任一实施方式中的主设备200,也可以是上述任一实施方式中的从设备300。
可选的,电子设备100可以包括:处理器110、存储器120、无线通信单元130以及收发器140。
应当注意,图6所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。
处理器110、存储器120、无线通信单元130以及收发器140以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120、无线通信单元130以及收发器140以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有前文出现的数据同步方法对应的程序或者前文出现的数据同步装置。可选的,当存储器120内存储有数据同步装置时,数据同步装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,数据同步装置所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。
无线通信单元130可以是蓝牙通信单元、WIFI通信单元等,从而使得电子设备100具备与其他设备之间建立无线通信连接的功能。
收发器140用于收发数据,从而使得电子设备100具备与其他设备之间进行数据交互的功能。
处理器110用于执行存储器120中存储的可执行模块,例如数据同步装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:电子设备100作为主设备200时所执行的:在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备300一一对应的缓存空间,每个所述缓存空间的初始容量相同;获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;在为是时,删除所述目标缓存空间内的最早数据块;将所述缓存空间内当前存在的数据块发送给对应的从设备300。
当然,当处理器110在接收到执行指令后,可以执行电子设备100作为从设备300时所执行的:获取主设备200发送的时间戳,所述时间戳用于表征被所述主设备200删除的数据块所对应的时间戳;在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理。
当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
综上所述,本发明实施例提出的数据同步方法、装置、电子设备及计算机可读存储介质,当主设备检测到数据发送时机到达时,先将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,然后获取各个缓存空间的当前的缓存信息,并基于此判断是否存在目标缓存空间,当存在时,则删除目标缓存空间内的最早数据块,然后将各个缓存空间内当前存在的数据块发送给对应的从设备。
在上述过程中,目标缓存空间内的最早数据块即为旧的、过时的数据块。在删除了目标缓存空间内的最早数据块后,对于主设备而言,便不再需要通过对应的传输链路将被删除的最早数据块发送给对应的从设备,从而可以节省传输链路的带宽资源,提高传输效率,从而使得位于被删除的最早数据块之后的其他被延迟发送的数据块的发送时间可以得到一定的提前,从而有利于主设备侧发送数据块时的时间同步。
此外,对于与目标缓存空间对应的从设备而言,当目标缓存空间内的最早数据块被删除后,由于对应的传输链路的传输效率得到提高,后续本应该被延迟的数据块的接收时间均得到一定程度的提前,从而使得从设备可以尽快赶上其他从设备的数据传输进度,有利于从设备在接收数据块的时间层面上实现同步。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (11)
1.一种数据同步方法,其特征在于,应用于主设备,所述主设备与多个从设备之间无线连接,所述方法包括:
在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,每个所述缓存空间的初始容量相同;
获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;
在为是时,删除所述目标缓存空间内的最早数据块;
将所述缓存空间内当前存在的数据块发送给对应的从设备;
其中,每个所述缓存信息均包括与之对应的缓存空间内所缓存的各个数据块的时间戳,所述根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间,包括:
从每个所述缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;
比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;
其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
2.根据权利要求1所述的方法,其特征在于,每个所述缓存信息包括与之对应的缓存空间的剩余容量,所述根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间,包括:
判断是否存在其剩余容量小于预设容量的缓存空间;
其中,所述目标缓存空间的所述剩余容量小于所述预设容量。
3.根据权利要求1所述的方法,其特征在于,在所述将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间之前,所述方法还包括:
在获取到所述待发送数据块时,确定所述数据发送时机到达;或者,
在检测到预设定时周期到期时,确定所述数据发送时机到达。
4.根据权利要求1所述的方法,其特征在于,所述待发送数据块为音频数据块,所述从设备为接收所述音频数据块的蓝牙耳机;或者,
所述待发送数据块为音频数据块,所述主设备为采集用户音频,并将其编码为音频数据块的蓝牙耳机。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述删除所述目标缓存空间内的最早数据块之后,所述方法还包括:
将所述最早数据块的时间戳发送给对应的从设备。
6.一种数据同步方法,其特征在于,应用于从设备,所述方法包括:
获取主设备发送的时间戳,所述时间戳用于表征被所述主设备删除的数据块所对应的时间戳;
在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理;
其中,所述主设备删除的数据块为目标缓存空间内的最早数据块,通过以下步骤确定所述目标缓存空间:
所述主设备从每个缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
7.一种数据同步装置,其特征在于,应用于主设备,所述主设备与多个从设备之间无线连接,所述装置包括:
缓存模块,用于在检测到数据发送时机到达时,将待发送数据块分别缓存到与所述多个从设备一一对应的缓存空间,每个所述缓存空间的初始容量相同;
判断模块,用于获取所述缓存空间的当前的缓存信息,并根据所述当前的缓存信息,判断在所述缓存空间中是否存在目标缓存空间;
执行模块,用于在所述判断模块判断为是时,删除所述目标缓存空间内的最早数据块,并将所述缓存空间内当前存在的数据块发送给对应的从设备;
所述判断模块,具体用于在每个所述缓存信息均包括与之对应的缓存空间内所缓存的各个数据块的时间戳时,从每个所述缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
8.一种数据同步装置,其特征在于,应用于从设备,所述装置包括:
获取模块,用于获取主设备发送的时间戳,所述时间戳用于表征被所述主设备删除的数据块所对应的时间戳;
容错处理模块,用于在检测到播放时间运行到所述时间戳所指示的起始时间时,对所述时间戳所覆盖到的时间段执行容错处理;
其中,所述主设备删除的数据块为目标缓存空间内的最早数据块,通过以下步骤确定所述目标缓存空间:
所述主设备从每个缓存空间当前所缓存的各个数据块的时间戳中,确定出与每个所述缓存空间对应的最早时间戳,以及与每个所述缓存空间对应的最早数据块;比较每两个所述最早时间戳之差与预设差值之间的大小关系,并根据比较结果判断是否存在所述目标缓存空间;其中,当两个所述最早时间戳中的第一最早时间戳与第二最早时间戳之差大于所述预设差值时,与所述第二最早时间戳对应的缓存空间为所述目标缓存空间。
9.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-6中任一项所述的方法。
10.根据权利要求9所述的电子设备,其特征在于,所述电子设备为无线蓝牙耳机。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283328.9A CN112888062B (zh) | 2021-03-16 | 2021-03-16 | 数据同步方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283328.9A CN112888062B (zh) | 2021-03-16 | 2021-03-16 | 数据同步方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112888062A CN112888062A (zh) | 2021-06-01 |
CN112888062B true CN112888062B (zh) | 2023-01-31 |
Family
ID=76040937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110283328.9A Active CN112888062B (zh) | 2021-03-16 | 2021-03-16 | 数据同步方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112888062B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113545753B (zh) * | 2021-07-21 | 2024-04-05 | 芯原微电子(成都)有限公司 | 波形检测方法、装置、可穿戴设备及计算机可读存储介质 |
CN113377060B (zh) * | 2021-08-13 | 2021-11-09 | 成都博宇利华科技有限公司 | 信号采集系统中获取每个采样点采样时刻的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188296A (zh) * | 2011-12-29 | 2013-07-03 | 北京网康科技有限公司 | 一种网络字节缓存的实现方法及其设备 |
CN107124674A (zh) * | 2017-06-20 | 2017-09-01 | 歌尔科技有限公司 | 一种蓝牙耳机的音频输出方法、装置和蓝牙耳机 |
CN108595347A (zh) * | 2018-04-25 | 2018-09-28 | 咪咕音乐有限公司 | 一种缓存控制方法、装置及计算机可读存储介质 |
CN110266611A (zh) * | 2019-07-08 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 缓冲数据的处理方法、装置和系统 |
CN111918261A (zh) * | 2020-08-13 | 2020-11-10 | 南京中感微电子有限公司 | 蓝牙音频设备同步播放方法、系统及蓝牙音频主、从设备 |
CN112187889A (zh) * | 2020-09-15 | 2021-01-05 | 中信银行股份有限公司 | 一种数据同步方法、装置及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7369494B2 (en) * | 2003-09-19 | 2008-05-06 | Lucent Technologies Inc. | Method and apparatus for managing data bursts |
CN101483748A (zh) * | 2008-01-07 | 2009-07-15 | 昊迪移通(北京)技术有限公司 | 一种针对3g电路交换网络上实时视频通话应用的音视频同步方法及装置 |
CN103729304B (zh) * | 2012-10-11 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
US9402076B2 (en) * | 2013-01-07 | 2016-07-26 | Qualcomm Incorporated | Video buffering operations for random access in video coding |
CN110970040B (zh) * | 2018-09-28 | 2022-05-27 | 炬芯科技股份有限公司 | 无线蓝牙装置的音频同步方法及无线蓝牙装置 |
CN110032691A (zh) * | 2018-12-05 | 2019-07-19 | 香港乐蜜有限公司 | 缓存数据的清除方法、装置及设备 |
CN112105005B (zh) * | 2019-08-30 | 2024-05-03 | 炬力(珠海)微电子有限公司 | 一种控制蓝牙设备播放的方法及装置 |
CN112437421B (zh) * | 2020-11-23 | 2024-05-10 | 深圳市纵贯无限科技有限公司 | 蓝牙控制方法、装置、存储介质及移动终端 |
-
2021
- 2021-03-16 CN CN202110283328.9A patent/CN112888062B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188296A (zh) * | 2011-12-29 | 2013-07-03 | 北京网康科技有限公司 | 一种网络字节缓存的实现方法及其设备 |
CN107124674A (zh) * | 2017-06-20 | 2017-09-01 | 歌尔科技有限公司 | 一种蓝牙耳机的音频输出方法、装置和蓝牙耳机 |
CN108595347A (zh) * | 2018-04-25 | 2018-09-28 | 咪咕音乐有限公司 | 一种缓存控制方法、装置及计算机可读存储介质 |
CN110266611A (zh) * | 2019-07-08 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 缓冲数据的处理方法、装置和系统 |
CN111918261A (zh) * | 2020-08-13 | 2020-11-10 | 南京中感微电子有限公司 | 蓝牙音频设备同步播放方法、系统及蓝牙音频主、从设备 |
CN112187889A (zh) * | 2020-09-15 | 2021-01-05 | 中信银行股份有限公司 | 一种数据同步方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
"Triggers, data flow and the synchronization between the Auger surface detector and the AMIGA underground muon counters";Zbigniew Szadkowski;《 2010 17th IEEE-NPSS Real Time Conference》;20110415;全文 * |
赵涛 ; 郭猛 ; 顾亚浏 ; 章阳."基于FPGA的多通道数据采集控制器设计与实现".《计算机工程》.2017,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112888062A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112888062B (zh) | 数据同步方法、装置、电子设备及计算机可读存储介质 | |
CN106572358B (zh) | 一种直播时移方法及客户端 | |
JP5231633B2 (ja) | リアルタイムなネットワーク・リソースのアベイラビリティに基づく、適応的で動的な呼出設定のための方法及び装置 | |
CN110430457B (zh) | 异端音视频播放方法、装置及音视频播放系统 | |
US9832507B2 (en) | System and method for synchronizing media output devices connected on a network | |
JP2019508796A (ja) | データ同期方法、装置及びシステム | |
EP1367829A2 (en) | Audio reproducing apparatus and control method | |
US9432877B2 (en) | Information sharing system, communication apparatus, control method and computer program | |
US20140237523A1 (en) | Content synchronization system, content-synchronization control device, and content playback device | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
CN101964716B (zh) | 一种实现流业务的方法及通信系统以及相关设备 | |
US9412415B2 (en) | Content synchronization system, content-synchronization control device, and content playback device | |
CN113840269B (zh) | 一种多媒体数据传输方法、装置、电子设备和存储介质 | |
KR20140105297A (ko) | 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치 | |
CN104581340A (zh) | 客户端、流媒体数据接收方法和流媒体数据传输系统 | |
CN112713969B (zh) | 数据传输方法和使用该方法的装置、系统 | |
US9930565B2 (en) | Controlling apparatus for communication-quality measuring, communication apparatus, and program | |
JP2005328131A (ja) | リアルタイムデータ受信装置 | |
US20140337038A1 (en) | Method, application, and device for audio signal transmission | |
JP4884922B2 (ja) | 通信装置および通信方法 | |
CN105791223B (zh) | 一种媒体流数据的处理方法及系统、电子设备 | |
JP6358430B2 (ja) | 通信制御装置および通信制御方法 | |
JP6897456B2 (ja) | 基地局装置、送信方法、プログラム | |
JP4595247B2 (ja) | データ再生方法、データ再生制御プログラムおよびデータ再生装置 | |
JP2008113225A (ja) | 通信装置および通信方法 |
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 |