CN103744801A - 一种实时数据缓存方法及装置 - Google Patents
一种实时数据缓存方法及装置 Download PDFInfo
- Publication number
- CN103744801A CN103744801A CN201410036345.2A CN201410036345A CN103744801A CN 103744801 A CN103744801 A CN 103744801A CN 201410036345 A CN201410036345 A CN 201410036345A CN 103744801 A CN103744801 A CN 103744801A
- Authority
- CN
- China
- Prior art keywords
- real time
- time data
- jitter buffer
- buffer pointer
- thread
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于信息网络传输领域,提供了一种实时数据缓存方法及装置,所述方法包括下述步骤:通过入队线程接收采集到的实时数据;将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序;出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。本发明通过对采集到的数据进行排序缓存,根据缓存中的数据确定数据的发送时间,从而动态调整数据的发送,使得数据稳定的进行输出,防止网络抖动产生的流畅性问题。
Description
技术领域
本发明属于信息网络传输领域,尤其涉及一种实时数据缓存方法及装置。
背景技术
随着车载设备的逐渐丰富,车载设备采集的信息也变得更多,车载设备采集的信息需要通过网络进行传输,在传输过程中,由于车载的特殊环境在网络数据传输中由于传输介质及环境等多方面因素的影响容易产生数据包乱序及网络抖动,从而造成采集的信息无法正确解析或流畅的进行呈现。
发明内容
本发明实施例的目的在于提供一种实时数据缓存方法及装置,旨在提供一种实时数据缓存方法,通过对采集到的数据进行排序缓存,根据缓存中的数据确定数据的发送时间,从而动态调整数据的发送,使得数据稳定的进行输出,防止网络抖动产生的流畅性问题。
本发明实施例是这样实现的,一种实时数据缓存方法,所述方法包括下述步骤:
通过入队线程接收采集到的实时数据;
将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序;
出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
进一步的,所述通过入队线程接收采集到的实时数据的步骤包括:
接收采集到的实时数据;
通过入队线程对接收到的实时数据进行排序。
进一步的,所述将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序的步骤包括:
将所述接收到的实时数据放入抖动缓冲指针队列;
触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
进一步的,所述出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间的步骤包括:
出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性;
出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
本发明实施例的另一目的在于提供一种实时数据缓存装置,所述装置包括:
接收单元,用于通过入队线程接收采集到的实时数据;
排序单元,用于将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序;
出队单元,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
进一步的,所述接收单元包括:
数据采集单元,用于接收采集到的实时数据;
数据排序单元,用于通过入队线程对接收到的实时数据进行排序。
进一步的,所述排序单元包括:
入队单元,用于将所述接收到的实时数据放入抖动缓冲指针队列;
入队排序单元,用于触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
进一步的,所述出队单元包括:
稳定性确定单元,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性;
出队调整单元,用于出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
本发明实施例通过一种实时数据缓存方法及装置,通过入队线程接收采集到的实时数据,再将接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序,根据排序确定实时数据在出队时所需要的时间,从而保证数据的稳定性,防止网络抖动产生的流畅性问题。
附图说明
图1是本发明第一实施例提供的一种实时数据缓存方法的实现流程图;
图2是本发明第二实施例提供的一种实时数据缓存方法的实现流程图;
图3是本发明第三实施例提供的一种实时数据缓存装置的结构图;以及
图4是本发明第四实施例提供的一种实时数据缓存装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明第一实施例提供的一种实时数据缓存方法的实现流程,详述如下:
S101,通过入队线程接收采集到的实时数据。
车载设备采集相关的数据信息,当采集设备采集到相关的数据信息时,采集设备将采集到的实时数据发送至入队线程,由入队线程对采集到的实时数据信息进行接收。
S102,将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序。
当入队线程接收到采集的实时数据后,入队线程将接收到的实时数据放入到抖动缓冲指针队列中,并在每次放入实时数据后触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序处理。
S103,出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
出队线程根据抖动缓冲指针队列中的实时数据排序确定抖动缓冲指针队列中的实时数据个数,并根据抖动缓冲指针队列中的实时数据个数确定缓存在抖动缓冲指针队列中的实时数据的出队时间,使得当抖动缓冲指针队列中的实时数据较多时,加快实时数据出队时间,从而保证出队线程发送出去的数据具有相对一定的稳定性。
本发明实施例通过上述方式,一种实时数据缓存方法,首先通过入队线程接收采集到的实时数据,之后对接收到的实时数据进行缓存,并根据缓存的情况动态调整实时数据的出队时间,当缓存数据较多时,加快实时数据出队时间,使得实时数据进行发送时具有一定的稳定性,防止网络产生较大的抖动情况。
实施例二:
图2示出了本发明第二实施例提供的一种实时数据缓存方法的实现流程,详述如下:
S201,接收采集到的实时数据。
车载设备采集相关的数据信息,当车载的采集设备采集到相关的数据信息时,采集设备将采集到的实时数据发送至入队线程,由入队线程接收采集到的实时数据。
S202,通过入队线程对接收到的实时数据进行排序。
入队线程在接收到实时数据以后,对接收到的实时数据进行初步排序,根据设备或者时间对采集到的数据进行初步的排序处理。
S203,将所述接收到的实时数据放入抖动缓冲指针队列。
将接收到的实时数据放入到抖动缓冲指针队列中,通过抖动缓冲指针队列缓存接收到的实时数据,抖动缓冲指针队列采用栈的形式对实时数据进行存储。
S204,触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
当实时数据缓存在抖动缓冲指针队列中后,触发一次排序操作,对抖动缓冲指针队列中的实时数据进行一次排序,统计抖动缓冲指针队列中的实时数据个数。
S205,出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性
出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性,如果当前抖动缓冲指针队列中缓存的数据个数小于等于设定的抖动缓冲指针队列深度时,认为当前采集到的实时数据稳定性较好,如果当前抖动缓冲指针队列中缓存的数据个数大于设定的抖动缓冲指针队列深度时,认为当前采集到的实时数据稳定性不好。
S206,出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
当认为当前采集到的实时数据稳定性较好时,实时数据的下一个数据包出队时间依然保持固定的数据包发送频率,当认为当前采集到的实时数据稳定性不好时,提高实时数据的数据包出队发送频率,例如可以提高一倍的频率,使得数据包可以更快的进行发送,同时保持固定的频率进行发送。
本发明实施例通过上述方式,一种实时数据缓存方法,通过入队线程接收采集到的实时数据,再将接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序,根据排序确定实时数据在出队时所需要的时间,当缓存的实时数据较多时,提高数据发送的频率,并保持该数据发送频率进行数据发送直至缓存的数据到达预定的个数时,降低数据发送的频率,通过对数据发送频率进行动态调整,从而保证数据的稳定性,防止网络抖动产生的流畅性问题。
实施例三:
图3示出了本发明第三实施例提供的一种实时数据缓存装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
接收单元31,用于通过入队线程接收采集到的实时数据。
接收单元用于车载设备采集相关的数据信息,当采集设备采集到相关的数据信息时,采集设备将采集到的实时数据发送至入队线程,由入队线程对采集到的实时数据信息进行接收。
排序单元32,用于将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序。
排序单元用于当入队线程接收到采集的实时数据后,入队线程将接收到的实时数据放入到抖动缓冲指针队列中,并在每次放入实时数据后触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序处理。
出队单元33,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
出队单元用于出队线程根据抖动缓冲指针队列中的实时数据排序确定抖动缓冲指针队列中的实时数据个数,并根据抖动缓冲指针队列中的实时数据个数确定缓存在抖动缓冲指针队列中的实时数据的出队时间,使得当抖动缓冲指针队列中的实时数据较多时,加快实时数据出队时间,从而保证出队线程发送出去的数据具有相对一定的稳定性。
本发明实施例通过上述方式,一种实时数据缓存装置,首先通过入队线程接收采集到的实时数据,之后对接收到的实时数据进行缓存,并根据缓存的情况动态调整实时数据的出队时间,当缓存数据较多时,加快实时数据出队时间,使得实时数据进行发送时具有一定的稳定性,防止网络产生较大的抖动情况。
实施例四:
图4示出了本发明第四实施例提供的一种实时数据缓存装置的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
数据采集单元41,用于接收采集到的实时数据。
数据采集单元用于车载设备采集相关的数据信息,当车载的采集设备采集到相关的数据信息时,采集设备将采集到的实时数据发送至入队线程,由入队线程接收采集到的实时数据。
数据排序单元42,用于通过入队线程对接收到的实时数据进行排序。
数据排序单元用于入队线程在接收到实时数据以后,对接收到的实时数据进行初步排序,根据设备或者时间对采集到的数据进行初步的排序处理。
入队单元43,用于将所述接收到的实时数据放入抖动缓冲指针队列。
入队单元用于将接收到的实时数据放入到抖动缓冲指针队列中,通过抖动缓冲指针队列缓存接收到的实时数据,抖动缓冲指针队列采用栈的形式对实时数据进行存储。
入队排序单元44,用于触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
入队排序单元用于当实时数据缓存在抖动缓冲指针队列中后,触发一次排序操作,对抖动缓冲指针队列中的实时数据进行一次排序,统计抖动缓冲指针队列中的实时数据个数。
稳定性确定单元45,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性。
稳定性确定单元用于出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性,如果当前抖动缓冲指针队列中缓存的数据个数小于等于设定的抖动缓冲指针队列深度时,认为当前采集到的实时数据稳定性较好,如果当前抖动缓冲指针队列中缓存的数据个数大于设定的抖动缓冲指针队列深度时,认为当前采集到的实时数据稳定性不好。
出队调整单元46,用于出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
出队调整单元用于当认为当前采集到的实时数据稳定性较好时,实时数据的下一个数据包出队时间依然保持固定的数据包发送频率,当认为当前采集到的实时数据稳定性不好时,提高实时数据的数据包出队发送频率,例如可以提高一倍的频率,使得数据包可以更快的进行发送,同时保持固定的频率进行发送。
本发明实施例通过上述方式,一种实时数据缓存装置,通过入队线程接收采集到的实时数据,再将接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序,根据排序确定实时数据在出队时所需要的时间,当缓存的实时数据较多时,提高数据发送的频率,并保持该数据发送频率进行数据发送直至缓存的数据到达预定的个数时,降低数据发送的频率,通过对数据发送频率进行动态调整,从而保证数据的稳定性,防止网络抖动产生的流畅性问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种实时数据缓存方法,其特征在于,所述方法包括下述步骤:
通过入队线程接收采集到的实时数据;
将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序;
出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
2.如权利要求1所述的方法,其特征在于,所述通过入队线程接收采集到的实时数据的步骤包括:
接收采集到的实时数据;
通过入队线程对接收到的实时数据进行排序。
3.如权利要求1所述的方法,其特征在于,所述将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序的步骤包括:
将所述接收到的实时数据放入抖动缓冲指针队列;
触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
4.如权利要求1所述的方法,其特征在于,所述出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间的步骤包括:
出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性;
出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
5.一种实时数据缓存装置,其特征在于,所述装置包括:
接收单元,用于通过入队线程接收采集到的实时数据;
排序单元,用于将所述接收到的实时数据放入抖动缓冲指针队列,并触发一次队列排序;
出队单元,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定实时数据的出队时间。
6.如权利要求5所述的装置,其特征在于,所述接收单元包括:
数据采集单元,用于接收采集到的实时数据;
数据排序单元,用于通过入队线程对接收到的实时数据进行排序。
7.如权利要求5所述的装置,其特征在于,所述排序单元包括:
入队单元,用于将所述接收到的实时数据放入抖动缓冲指针队列;
入队排序单元,用于触发一次队列排序,对放入到抖动缓冲指针队列中的实时数据进行排序。
8.如权利要求5所述的装置,其特征在于,所述出队单元包括:
稳定性确定单元,用于出队线程根据抖动缓冲指针队列中的实时数据个数确定当前采集到的实时数据的稳定性;
出队调整单元,用于出队线程根据采集到的实时数据的稳定性调整实时数据的出队时间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410036345.2A CN103744801A (zh) | 2014-01-24 | 2014-01-24 | 一种实时数据缓存方法及装置 |
PCT/CN2014/083249 WO2015109807A1 (zh) | 2014-01-24 | 2014-07-29 | 一种实时数据缓存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410036345.2A CN103744801A (zh) | 2014-01-24 | 2014-01-24 | 一种实时数据缓存方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103744801A true CN103744801A (zh) | 2014-04-23 |
Family
ID=50501819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410036345.2A Pending CN103744801A (zh) | 2014-01-24 | 2014-01-24 | 一种实时数据缓存方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103744801A (zh) |
WO (1) | WO2015109807A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015109807A1 (zh) * | 2014-01-24 | 2015-07-30 | 深圳市华宝电子科技有限公司 | 一种实时数据缓存方法及装置 |
CN115033306A (zh) * | 2022-06-29 | 2022-09-09 | 维沃移动通信有限公司 | 应用退出方法和装置 |
CN116155844A (zh) * | 2023-04-21 | 2023-05-23 | 天津帕克耐科技有限公司 | 一种idc资源管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713613A (zh) * | 2004-06-25 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种解决网络抖动的方法 |
CN101594302A (zh) * | 2009-07-01 | 2009-12-02 | 华为技术有限公司 | 数据出队的方法及装置 |
CN101771599A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | 一种rtp数据包接收处理方法及装置 |
CN102984083A (zh) * | 2012-11-19 | 2013-03-20 | 中兴通讯股份有限公司 | 队列管理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR918201A0 (en) * | 2001-11-30 | 2001-12-20 | Foursticks Pty Ltd | Real time flow scheduler |
CN1277390C (zh) * | 2003-05-09 | 2006-09-27 | 华为技术有限公司 | 用rtp数据包的序号进行排序以消除其抖动延时的方法 |
CN101924683B (zh) * | 2009-06-09 | 2013-04-24 | 华为技术有限公司 | 一种动态调整抖动缓存的方法、装置和电子设备 |
CN101621833B (zh) * | 2009-08-13 | 2012-05-09 | 中兴通讯股份有限公司 | 一种报文流量控制方法和基站控制器 |
CN103744801A (zh) * | 2014-01-24 | 2014-04-23 | 深圳市华宝电子科技有限公司 | 一种实时数据缓存方法及装置 |
-
2014
- 2014-01-24 CN CN201410036345.2A patent/CN103744801A/zh active Pending
- 2014-07-29 WO PCT/CN2014/083249 patent/WO2015109807A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713613A (zh) * | 2004-06-25 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种解决网络抖动的方法 |
CN101771599A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | 一种rtp数据包接收处理方法及装置 |
CN101594302A (zh) * | 2009-07-01 | 2009-12-02 | 华为技术有限公司 | 数据出队的方法及装置 |
CN102984083A (zh) * | 2012-11-19 | 2013-03-20 | 中兴通讯股份有限公司 | 队列管理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015109807A1 (zh) * | 2014-01-24 | 2015-07-30 | 深圳市华宝电子科技有限公司 | 一种实时数据缓存方法及装置 |
CN115033306A (zh) * | 2022-06-29 | 2022-09-09 | 维沃移动通信有限公司 | 应用退出方法和装置 |
CN115033306B (zh) * | 2022-06-29 | 2024-05-24 | 维沃移动通信有限公司 | 应用退出方法和装置 |
CN116155844A (zh) * | 2023-04-21 | 2023-05-23 | 天津帕克耐科技有限公司 | 一种idc资源管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2015109807A1 (zh) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110171967A1 (en) | Method and apparatus for requesting resource allocation in mobile communication terminal | |
US10248350B2 (en) | Queue management method and apparatus | |
CN102571607B (zh) | 一种网络流速分配系统 | |
CN103888377A (zh) | 报文缓存方法及装置 | |
US10169280B2 (en) | Data processing apparatus and terminal | |
CN103744801A (zh) | 一种实时数据缓存方法及装置 | |
US11425057B2 (en) | Packet processing | |
CN106055706B (zh) | 一种缓存资源存储方法及装置 | |
CN103929366A (zh) | 流量控制方法、装置及设备 | |
CN103731682A (zh) | 多种观影设备之间保持同步观看记录的方法、设备及系统 | |
CN103685060B (zh) | 数据包发送方法及装置 | |
CN105406999A (zh) | 一对多数据分发方法和分发设备 | |
CN104185083A (zh) | 一种自适应丢帧方法与装置 | |
CN104936156A (zh) | 短信发送方法和装置 | |
CN103731476A (zh) | 一种提高信息推送速度的方法和装置 | |
CN106021126A (zh) | 缓存数据处理方法及服务器、配置设备 | |
WO2017008563A1 (zh) | 一种数据处理方法及其装置、存储介质 | |
EP2997715B1 (en) | Transmitting information based on reading speed | |
CN103905335A (zh) | 流量控制方法及装置 | |
CN103078766B (zh) | 网络流量的审计方法、装置及网络设备 | |
CN103530173A (zh) | 动态权重事件处理系统和方法 | |
CN104268104A (zh) | 一种游戏开发内存控制方法及系统 | |
CN107005420B (zh) | 组业务反馈方法及装置 | |
CN103854519B (zh) | 一种数字报刊语音读报的方法及系统 | |
CN102710981A (zh) | 一种基于机顶盒的数据接收处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140423 |
|
RJ01 | Rejection of invention patent application after publication |