CN108055556B - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN108055556B
CN108055556B CN201711137772.XA CN201711137772A CN108055556B CN 108055556 B CN108055556 B CN 108055556B CN 201711137772 A CN201711137772 A CN 201711137772A CN 108055556 B CN108055556 B CN 108055556B
Authority
CN
China
Prior art keywords
data packet
priority
current data
threshold value
caching
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
CN201711137772.XA
Other languages
English (en)
Other versions
CN108055556A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201711137772.XA priority Critical patent/CN108055556B/zh
Publication of CN108055556A publication Critical patent/CN108055556A/zh
Priority to US16/764,823 priority patent/US11218780B2/en
Priority to PCT/CN2018/115216 priority patent/WO2019096122A1/zh
Application granted granted Critical
Publication of CN108055556B publication Critical patent/CN108055556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Abstract

本发明实施例提供了一种数据处理方法和装置,其中的方法包括:根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。通过本发明实施例,可以保证高优先级数据包的正常传输,从而可以提高流媒体数据的传输质量,进而可以提高流媒体的播放质量。

Description

数据处理方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种数据处理方法和装置。
背景技术
流媒体是指采用流式传输的方式在互联网进行播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前并不下载整个文件,只将开始部分内容存入缓存,文件的剩余部分将在播放时由后台从服务器继续下载。
然而,在流媒体数据的传输过程中,流媒体数据传输的码率与网络带宽很难匹配,例如,当网络带宽突然降低或者流媒体数据传输的码率突然变大时,网络带宽不能满足流媒体数据传输的速度,将会导致缓存上溢,此时最新下载的流媒体数据由于无法进入缓存,将会被主动丢弃,从而导致出现播放卡顿、延迟等情况,导致播放质量较差。
发明内容
本发明实施例提供一种数据处理方法及装置,以解决现有技术中缓存上溢导致流媒体数据播放质量较差的问题。
第一方面,本发明实施例提供了一种数据处理方法,包括:
根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
可选地,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
可选地,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
可选地,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
可选地,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述当前数据包的优先级等于所述第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件。
可选地,所述方法还包括:
在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
第二方面,本发明实施例提供了一种数据处理装置,包括:
判断模块,被配置为根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
第一处理模块,被配置为在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
可选地,所述判断模块,包括:
第一判断子模块,被配置为若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
可选地,所述判断模块还包括:
优先级判断子模块,被配置为若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
第二判断子模块,被配置为若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
可选地,所述判断模块还包括:
第三判断子模块,被配置为若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
可选地,所述判断模块还包括:
概率计算子模块,被配置为若所述当前数据包的优先级等于所述第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
第四判断子模块,被配置为若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件。
可选地,所述装置还包括:
第二处理模块,被配置为在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
第三方面,本发明实施例提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述数据处理方法的步骤。
本发明实施例在流媒体数据传输的过程中,可以根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,若当前数据包满足接收条件,则可以存入缓存得以正常传输。由于所述缓存占用阈值根据数据包的优先级确定,因此,满足接收条件的数据包具有较高的优先级,通过本发明实施例,在缓存占用量较高时,可以保证高优先级数据包的正常传输,从而可以提高流媒体数据的传输质量,进而可以提高流媒体数据的播放质量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明的一种数据处理方法实施例的步骤流程图;
图2示出了本发明的一种数据处理装置实施例的结构框图;
图3示出了本发明的一种计算设备1500的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
步骤102、在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
本发明实施例在流媒体数据传输的过程中,可以根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,在当前数据包满足接收条件时,可以存入缓存得以正常传输。由于所述缓存占用阈值根据数据包的优先级确定,因此,本发明实施例可以使得满足接收条件的数据包具有较高的优先级,以保证优先级较高的数据包在缓存占用量较高时仍然可以正常传输,从而可以提高流媒体数据的传输质量,进而可以提高流媒体的播放质量。可选地,在所述当前数据包不满足接收条件时,则可以直接丢弃所述当前数据包,以避免缓存出现上溢。
在本发明实施例中,所述缓存占用阈值可用于过滤低优先级的数据包。随着缓存的占用率逐渐升高,可以保证更高优先级的数据包进入缓存,而丢弃低优先级的数据包。
具体地,本发明实施例可以根据优先级的高低和优先级的数量,将缓存容量划分为与数据包的优先级对应的缓存占用阈值。例如,假设需要传输的流媒体数据包对应的优先级的数量为PN个,第i个优先级记为PRIi,其中,1≤i≤PN,且PRI1<PRI2<…<PRIPN,假设缓存容量为S,则可以将缓存容量S划分为PN个缓存占用阈值,分别与优先级PRI1、PRI2、…、PRIPN相对应,具体地,可以通过如下公式计算得到第i个优先级对应的缓存占用阈值:
可选地,本发明实施例设置2≤i≤PN+1,且th1<th2<…<thPN<thPN+1。也即,将缓存容量S划分为PN+1个缓存占用阈值,其中,前PN个缓存占用阈值分别与优先级PRI1、PRI2、…、PRIPN相对应,第PN+1个缓存占用阈值thN+1的值为缓存容量S,用于避免缓存已满时仍然接收数据包,出现缓存上溢的情况。
在本发明的一种应用示例中,假设传输的流媒体数据中包括视频数据和音频数据,且设置音频数据的优先级高于视频数据的优先级,而视频数据中又包括I帧,P帧,B帧和BREF帧,根据其在视频数据中的重要性,可以设置优先级如下:B帧<BREF帧<P帧<I帧<音频数据。
假设缓存的容量为S,根据上述公式(1),可以计算得到B帧数据包对应的缓存占用阈值为BREF帧数据包对应的缓存占用阈值为:同理,可以计算得到P帧数据包对应的缓存占用阈值为:I帧数据包对应的缓存占用阈值为:音频数据包对应的缓存占用阈值为:可以看出,thi均匀分布在缓存的后区域,因此,本发明实施例在缓存占用量超过缓存容量的一半时,可以根据数据包的优先级以及缓存占用量动态决定数据包是否被丢弃,保证低优先级数据包被丢弃的概率大于高优先级数据包被丢弃的概率,在避免缓存上溢的条件下,尽可能保证高优先级数据包的正常传输,以提高流媒体数据的播放质量。
可以理解,上述根据数据包的优先级设置缓存占用阈值的方法仅作为本发明的一种应用示例,在实际应用中,本发明实施例对于所述缓存占用阈值的具体设置方式不加以限制。
在本发明的一种可选实施例中,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,具体可以包括如下步骤:
若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
其中,所述第一优先级具体可以为最低的优先级,例如,所述第一优先级可以为上述示例中B帧数据包的优先级。若缓存占用量小于第一优先级对应的缓存占用阈值,说明缓存当前的可用空间较大,可以接收任意大小以及任意优先级的数据包,因此,可以确定所述当前数据包满足接收条件。
具体地,对于第n个数据包,可以通过如下公式计算缓存占用量η
η=Scur+Bn (2)
其中,Scur为缓存当前的占用量,Bn为第n个数据包的大小。η为将第n个数据包存入缓存之后的缓存占用量,因此,如果缓存占用量η小于第一优先级对应的缓存占用阈值,如小于说明即使将第n个数据包存入缓存,缓存占用量仍然不到缓存容量的一半,也即,缓存仍然有较大的可用空间,因此,可以确定第n个数据包满足接收条件,将所述第n个数据包存入缓存中。
可以理解,上述第一优先级为最低优先级仅作为本发明的一种应用示例,在实际应用中,本发明实施例对于所述第一优先级的具体级别不加以限制,例如还可以为比最低级别高一级的优先级,如BREF帧数据包的优先级等。
在本发明的一种可选实施例中,如果将第n个数据包存入缓存中,缓存占用量η超过缓存容量S,说明缓存将会出现上溢的情况,此时,可以确定所述第n个数据包不满足接收条件,直接丢弃该数据包,以避免缓存上溢。
在本发明的一种可选实施例中,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,还可以包括如下步骤:
若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
在实际应用中,如果将第n个数据包存入缓存中,缓存占用量η大于第二优先级对应的缓存占用阈值,说明缓存容量已经较高,则需要对数据包的优先级进行判断,并且主动丢弃低优先级的数据包;其中,所述第二优先级可以高于或者等于所述第一优先级。
若确定缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,说明缓存占用量虽然较高,但仍有部分可用空间,可存储高优先级的数据包,例如可存储优先级高于第二优先级的数据包,而丢弃优先级低于第二优先级的数据包。因此,如果当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件,可以将当前数据包存入缓存中。如果当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
可以理解,本发明实施例对于所述第一优先级、第二优先级、第三优先级的具体级别不加以限制。其中,第二优先级可以高于或者等于第一优先级,第三优先级高于第二优先级。
在本发明实施例中,如果当前数据包的优先级等于第二优先级,可以认为当前数据包满足接收条件,或者,可以认为当前数据包不满足接收条件均可。可以理解,在实际应用中,本发明实施例对于上述在当前数据包的优先级等于所述第二优先级时,确定所述当前数据包是否满足接收条件的具体方式不加以限制。
可选地,在当前数据包的优先级等于第二优先级时,本发明实施例通过当前数据包的丢弃概率,确定当前数据包是否满足接收条件。具体地,在本发明的一种可选实施例中,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,还可以包括如下步骤:
若所述当前数据包的优先级等于所述第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件。
具体地,可以通过如下公式计算第n个数据包的丢弃概率Pn
其中,Scur为缓存当前的占用量,Bn为第n个数据包的大小,thx为第二优先级对应的缓存占用阈值,thx+1为第三优先级对应的缓存占用阈值。可以理解,本发明实施例对于所述预设概率阈值的具体取值不加以限制。例如,可以设置所述预设概率阈值为0.7,对于第n个数据包,如果缓存占用量大于第二优先级对应的缓存占用阈值,且小于第三优先级对应的缓存占用阈值,并且第n个数据包的优先级等于第二优先级,则可以根据上述公式(3)计算所述第n个数据包的丢弃概率Pn,假设计算得到Pn为0.3,小于预设概率阈值0.7,则可以确定所述第n个数据包不满足接收条件,直接丢弃。
本发明实施例在缓存占用量较高但仍有部分可用空间时,也即缓存占用量大于第二优先级对应的缓存占用阈值,且小于第三优先级对应的缓存占用阈值时,可以接收优先级高于第二优先级的当前数据包,丢弃优先级低于第二优先级的当前数据包,以及根据当前数据包的丢弃概率,确定是否接收或者丢弃优先级等于第二优先级的当前数据包。通过对高于、低于、等于第二优先级的三种情况,分别判断当前数据包是否满足接收条件,以实现按照优先级逐级、稳步地传输数据包。
需要说明的是,本发明实施例可以根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件。在实际应用中,本发明实施例还可以使用缓存占用率代替所述缓存占用量,以确定当前数据包是否满足接收条件。具体地,缓存占用率r可以通过如下公式计算得到:
其中,Scur为缓存当前的占用量,Bn为第n个数据包的大小,S为缓存容量。在使用缓存占用率代替所述缓存占用量之后,在确定当前数据包是否满足接收条件的过程中,比较的是缓存占用率r和缓存占用阈值与缓存容量的比值。例如,通过比较r和确定r小于则可以确定当前数据包满足接收条件,其中,th1为第一优先级对应的缓存占用阈值。具体判断过程与使用缓存占用量的过程类似,此处不再赘述。
综上,本发明实施例在流媒体数据传输的过程中,可以根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,若当前数据包满足接收条件,则可以存入缓存得以正常传输。由于所述缓存占用阈值根据数据包的优先级确定,因此,满足接收条件的数据包具有较高的优先级,通过本发明实施例,在缓存占用量较高时,可以保证高优先级数据包的正常传输,从而可以提高流媒体数据的传输质量,进而可以提高流媒体的播放质量。
参照图2,示出了本发明一个实施例的一种数据处理装置的结构框图,具体可以包括如下模块:
判断模块201,被配置为根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
第一处理模块202,被配置为在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
可选地,所述判断模块201,具体可以包括:
第一判断子模块,被配置为若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
可选地,所述判断模块201还可以包括:
优先级判断子模块,被配置为若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
第二判断子模块,被配置为若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
可选地,所述判断模块201还可以包括:
第三判断子模块,被配置为若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
可选地,所述判断模块201还可以包括:
概率计算子模块,被配置为若所述当前数据包的优先级等于所述第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
第四判断子模块,被配置为若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件。
可选地,所述装置还可以包括:
第二处理模块,被配置为在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
本发明实施例在流媒体数据传输的过程中,可以根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,若当前数据包满足接收条件,则可以存入缓存得以正常传输。由于所述缓存占用阈值根据数据包的优先级确定,因此,满足接收条件的数据包具有较高的优先级,通过本发明实施例,在缓存占用量较高时,可以保证高优先级数据包的正常传输,从而可以提高流媒体数据的传输质量,进而可以提高流媒体的播放质量。
参照图3,示出了本发明的一种计算设备1500的结构示意图,具体可以包括:至少一个处理器1501、存储器1502、至少一个网络接口1504和用户接口1503。计算设备1500中的各个组件通过总线系统1505耦合在一起。可理解,总线系统1505用于实现这些组件之间的连接通信。总线系统1505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统1505,计算设备1500还包括拍照组件1506,拍照组件1506包括摄像头。
其中,用户接口1503可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器1502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本发明实施例描述的系统和方法的存储器1502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器1502存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统15021和应用程序15022。
其中,操作系统15021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序15022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序15022中。
在本发明实施例中,通过调用存储器1502存储的程序或指令,具体的,可以是应用程序15022中存储的程序或指令,处理器1501用于根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;在所述当前数据包满足接收条件时,将所述当前数据包存入缓存。
上述本发明实施例揭示的方法可以应用于处理器1501中,或者由处理器1501实现。处理器1501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1501可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1502,处理器1501读取存储器1502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例中所述功能的模块(例如过程、函数等)来实现本发明实施例中所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,处理器1501还用于:若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
可选地,处理器1501还用于:若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
可选地,处理器1501还用于:若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
可选地,处理器1501还用于:若所述当前数据包的优先级等于所述第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件。
可选地,处理器1501还用于:在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据处理方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网平台上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法包括:
根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:若所述当前数据包的优先级等于第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
在所述当前数据包满足接收条件时,将所述当前数据包存入缓存;
其中,根据数据包对应的优先级的数量和优先级的高低,将缓存容量划分为与数据包的优先级对应的缓存占用阈值;其中,当所述数据包对应的优先级数量为N个时,将所述缓存容量划分为N+1个缓存占用阈值,且第N+1个缓存占用阈值的值为所述缓存容量的值;
其中,第一个优先级对应的所述缓存占用阈值为缓存容量的前一半,其余优先级对应的所述缓存占用阈值均匀分布在缓存容量的后一半;在缓存占用量超过缓存容量的一半时,根据所述数据包的优先级和所述缓存占用量决定数据包是否被丢弃。
2.根据权利要求1所述的方法,其特征在于,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
3.根据权利要求2所述的方法,其特征在于,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
4.根据权利要求3所述的方法,其特征在于,所述根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件,包括:
若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
6.一种数据处理装置,其特征在于,所述装置包括:
判断模块,被配置为根据缓存占用量、以及预设的缓存占用阈值,确定当前数据包是否满足接收条件;其中,所述缓存占用阈值根据数据包的优先级确定;
第一处理模块,被配置为在所述当前数据包满足接收条件时,将所述当前数据包存入缓存;
其中,所述判断模块,还包括:
概率计算子模块,被配置为若所述当前数据包的优先级等于第二优先级,则根据所述缓存占用量以及所述当前数据包的大小,确定所述当前数据包的丢弃概率;
第四判断子模块,被配置为若所述当前数据包的丢弃概率小于预设概率阈值,则确定所述当前数据包满足接收条件;否则,确定所述当前数据包不满足接收条件;
其中,根据数据包对应的优先级的数量和优先级的高低,将缓存容量划分为与数据包的优先级对应的缓存占用阈值;其中,当所述数据包对应的优先级数量为N个时,将所述缓存容量划分为N+1个缓存占用阈值,且第N+1个缓存占用阈值的值为所述缓存容量的值;
其中,第一个优先级对应的所述缓存占用阈值为缓存容量的前一半,其余优先级对应的所述缓存占用阈值均匀分布在缓存容量的后一半;在缓存占用量超过缓存容量的一半时,根据所述数据包的优先级和所述缓存占用量决定数据包是否被丢弃决定数据包是否被丢弃。
7.根据权利要求6所述的装置,其特征在于,所述判断模块,包括:
第一判断子模块,被配置为若所述缓存占用量小于第一优先级对应的缓存占用阈值,则确定所述当前数据包满足接收条件。
8.根据权利要求6所述的装置,其特征在于,所述判断模块,还包括:
优先级判断子模块,被配置为若所述缓存占用量大于第二优先级对应的缓存占用阈值,且所述缓存占用量小于第三优先级对应的缓存占用阈值,则判断所述当前数据包的优先级是否高于所述第二优先级;其中,所述第二优先级高于或者等于所述第一优先级;
第二判断子模块,被配置为若所述当前数据包的优先级高于所述第二优先级,则确定所述当前数据包满足接收条件。
9.根据权利要求6所述的装置,其特征在于,所述判断模块,还包括:
第三判断子模块,被配置为若所述当前数据包的优先级低于所述第二优先级,则确定所述当前数据包不满足接收条件。
10.根据权利要求6所述的装置,还包括:
第二处理模块,被配置为在所述当前数据包不满足接收条件时,丢弃所述当前数据包。
11.一种计算设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
所述计算设备执行如权利要求1至5中任意一个所述的数据处理方法。
12.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至5中任意一个所述的数据处理方法。
CN201711137772.XA 2017-11-16 2017-11-16 数据处理方法和装置 Active CN108055556B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201711137772.XA CN108055556B (zh) 2017-11-16 2017-11-16 数据处理方法和装置
US16/764,823 US11218780B2 (en) 2017-11-16 2018-11-13 Data processing Method and device
PCT/CN2018/115216 WO2019096122A1 (zh) 2017-11-16 2018-11-13 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711137772.XA CN108055556B (zh) 2017-11-16 2017-11-16 数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN108055556A CN108055556A (zh) 2018-05-18
CN108055556B true CN108055556B (zh) 2019-09-03

Family

ID=62118855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711137772.XA Active CN108055556B (zh) 2017-11-16 2017-11-16 数据处理方法和装置

Country Status (3)

Country Link
US (1) US11218780B2 (zh)
CN (1) CN108055556B (zh)
WO (1) WO2019096122A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108055556B (zh) 2017-11-16 2019-09-03 北京达佳互联信息技术有限公司 数据处理方法和装置
CN111914116B (zh) * 2019-05-09 2024-04-05 浙江宇视科技有限公司 视频数据存储方法、装置、终端设备及可读存储介质
CN110225136B (zh) * 2019-06-24 2021-05-07 维沃移动通信有限公司 一种离线缓存方法及移动终端
US11502964B2 (en) 2019-08-29 2022-11-15 Qualcomm Incorporated Systems and methods for wireless communication
US11304249B2 (en) 2019-12-16 2022-04-12 Qualcomm Incorporated Buffer management techniques for enhanced multi-connectivity communications
CN112988070B (zh) * 2021-03-15 2023-03-28 长沙树根互联技术有限公司 断线数据的缓冲方法、装置和电子设备
CN114449045A (zh) * 2021-12-29 2022-05-06 深圳达实智能股份有限公司 一种物联网边缘网关数据缓存方法和装置
CN116055897B (zh) * 2022-08-25 2024-02-27 荣耀终端有限公司 拍照方法及其相关设备
CN115878334B (zh) * 2023-03-08 2023-05-12 深圳云豹智能有限公司 一种数据缓存处理方法及其系统、存储介质、电子设备
CN116437115B (zh) * 2023-06-12 2023-08-18 江西云眼视界科技股份有限公司 一种分布式存储磁盘分组方法、系统、计算机及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025638A (zh) * 2010-12-21 2011-04-20 福建星网锐捷网络有限公司 基于优先级的数据传输方法、装置及网络设备
CN102629910A (zh) * 2012-02-14 2012-08-08 中兴通讯股份有限公司 一种基于加权随机早期检测的拥塞避免方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526583B1 (en) 1999-03-05 2003-02-25 Teralogic, Inc. Interactive set-top box having a unified memory architecture
CN101753440A (zh) * 2009-12-18 2010-06-23 华为技术有限公司 主动队列管理方法、装置和无线网络控制器
CN101800699A (zh) * 2010-02-09 2010-08-11 上海华为技术有限公司 一种丢弃报文的方法及装置
CN102480419B (zh) 2010-11-24 2014-11-26 普天信息技术研究院有限公司 一种缓存下限流控响应方法
CN102404206A (zh) * 2011-11-04 2012-04-04 深圳市海思半导体有限公司 入队处理方法及设备
US8990507B2 (en) * 2012-06-13 2015-03-24 International Business Machines Corporation Storing data in a system memory for a subsequent cache flush
CN104378308A (zh) * 2014-11-19 2015-02-25 盛科网络(苏州)有限公司 报文发送速率检测方法及装置
CN106789722A (zh) * 2015-11-23 2017-05-31 深圳市中兴微电子技术有限公司 一种网络拥塞控制方法和装置
CN108055556B (zh) 2017-11-16 2019-09-03 北京达佳互联信息技术有限公司 数据处理方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025638A (zh) * 2010-12-21 2011-04-20 福建星网锐捷网络有限公司 基于优先级的数据传输方法、装置及网络设备
CN102629910A (zh) * 2012-02-14 2012-08-08 中兴通讯股份有限公司 一种基于加权随机早期检测的拥塞避免方法和系统

Also Published As

Publication number Publication date
US20200382846A1 (en) 2020-12-03
CN108055556A (zh) 2018-05-18
WO2019096122A1 (zh) 2019-05-23
US11218780B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
CN108055556B (zh) 数据处理方法和装置
US8205004B1 (en) Multi-bit-rate streaming delivery
US20080028154A1 (en) Method and Apparatus for Memory Utilization
US9614925B2 (en) Intelligent file pre-fetch based on access patterns
US20130227102A1 (en) Chunk Request Scheduler for HTTP Adaptive Streaming
CN111427859B (zh) 一种消息处理方法、装置、电子设备及存储介质
CN105893409A (zh) 文件下载方法及装置
CN103501327B (zh) 基于移动终端应用的下载方法和装置
US9213545B2 (en) Storing data in any of a plurality of buffers in a memory controller
CN109150930A (zh) 配置信息加载方法及装置、业务处理方法及装置
CN110708609A (zh) 一种视频播放方法及装置
CN105099602A (zh) 一种基于网速传输文件的方法及系统
CN1262934C (zh) 具有不同资源访问方案的系统集成代理程序
CN109257244A (zh) 用户行为数据的传输控制方法、装置及系统
CN112383512B (zh) Rtp帧序纠错方法、装置、接收端及计算机可读存储介质
EP1081598A1 (fr) Dispositif à plusieurs processeurs partageant une mémoire collective
CN105578264B (zh) 基于智能电视的动画菜单的处理方法及装置
CN110149534A (zh) 基于决策树的自适应视频流转码方法及装置
CN106462506A (zh) 呼入数据的受控缓存注入
US20120226833A1 (en) Integrated circuit and method for reducing violations of a timing costraint
CN107038021B (zh) 用于访问随机存取存储器ram的方法、装置和系统
US20020003839A1 (en) MPEG picture processing apparatus and data transferring method using the apparatus
US9892088B2 (en) Data processing system and method of controlling access to a shared memory unit
CN106131659A (zh) 视频缓存方法及装置
CN105743950B (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
GR01 Patent grant
GR01 Patent grant