CN112073752A - 一种多线路流量分配的方法、装置及电子设备 - Google Patents
一种多线路流量分配的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112073752A CN112073752A CN202010936071.8A CN202010936071A CN112073752A CN 112073752 A CN112073752 A CN 112073752A CN 202010936071 A CN202010936071 A CN 202010936071A CN 112073752 A CN112073752 A CN 112073752A
- Authority
- CN
- China
- Prior art keywords
- line
- duration
- live broadcast
- time length
- determining
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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/64723—Monitoring of network processes or resources, e.g. monitoring of network load
- H04N21/64738—Monitoring network characteristics, e.g. bandwidth, congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种多线路流量分配的方法、装置及电子设备,其中,该方法包括:获取多个客户端上传的打点数据;对打点数据进行统计处理,确定每条线路的子直播时长,并确定期望时长;分别确定在期望时长内,每条线路的用户增长量,确定每条线路的总直播时长与所有线路的总直播时长的时长占比;根据每条线路的时长占比和预设的流量期望比例确定每条线路的完成度,确定当前的线路推荐顺序。通过本发明实施例提供的多线路流量分配的方法、装置及电子设备,不需要获取线路的流量值,而是以直播时长代替流量,不影响最终的计算结果。基于期望时长来预测每条线路即将产生的流量,可以有效规避掉切换线路的情况,使得预测的数值更加准确。
Description
技术领域
本发明涉及流量分配技术领域,具体而言,涉及一种多线路流量分配的方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,在线教育企业为用户提供在线直播课程,为了保证用户的直播质量,为用户提供了多条直播线路,在用户观看直播出现卡顿的情况下,可以手动切换到其他线路进而保证直播服务质量。当用户进直播前,会给用户多条线路,多条线路是有先后顺序的,前面的线路的优先级要高于后面的线路,所以哪条线路作为第一条线路就尤为重要。因为默认情况下,客户端会选择第一条线路作为直播的线路。除非出现卡顿才会自动或者用户主动更换线路。如果对每一个用户返回的直播线路列表都一样,那么可以想象,第一条线路的流量占比肯定很大,以此类推越后面的线路得到的流量就越少。而如果均等的随机返回线路的顺序,那么结果就是不同的线路的流量占比是均匀的;而实际中考虑到不同线路的负载以及成本等问题,不可能均分流量。例如,目前为用户提供了4条线路:线路一、线路二、线路三、线路四,且线路一的流量占20%,线路二的流量占15%,线路三的流量占比为35%,线路四的流量占比为30%。此时需要按照流量占比来向用户分配不同的线路。
为了使得向新用户分配的线路满足该流量占比,当前的线路分配方案需要实时获取各个线路的流量值,而确定流量值的过程比较复杂,不满足实时性的要求;且由于在观看直播的过程中,用户可能切换线路,而当前的线路分配方案只考虑当前时刻的流量情况,导致用户切换线路后容易扰乱该流量占比,影响流量分配效果。
发明内容
为解决现有流量分配方案效果较差的技术问题,本发明实施例提供一种多线路流量分配的方法、装置、电子设备及计算机可读存储介质。
第一方面,本发明实施例提供了一种多线路流量分配的方法,包括:
获取多个客户端上传的打点数据,所述打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路;
对所述打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长;
分别确定在所述期望时长内,每条线路的用户增长量,根据所述期望时长、每条线路的所述用户增长量和所述子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比;
根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
第二方面,本发明实施例还提供了一种多线路流量分配的装置,包括:
获取模块,用于获取多个客户端上传的打点数据,所述打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路;
统计模块,用于对所述打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长;
时长占比确定模块,用于分别确定在所述期望时长内,每条线路的用户增长量,根据所述期望时长、每条线路的所述用户增长量和所述子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比;
排序模块,用于根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
第三方面,本发明实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的多线路流量分配的方法中的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的多线路流量分配的方法中的步骤。
本发明实施例提供的多线路流量分配的方法、装置、电子设备及计算机可读存储介质,用直播时长近似代替流量,且最终以时长占比来完全等级流量的比例,使得在流量分配过程中,不需要获取线路的流量值,而是以直播时长完美代替流量,且不影响最终的计算结果。同时,基于不切换线路的期望时长来预测每条线路即将产生的流量,可以有效规避掉切换线路的情况,使得预测的数值更加准确,且将已经发生的子直播时长和预测出的预测时长之和作为总直播时长,能够更加准确表征线路的流量使用情况,可以向客户端分配更合适的线路,从而能够更合理地进行流量分配。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1示出了本发明实施例所提供的一种多线路流量分配的方法的流程图;
图2示出了本发明实施例所提供的多线路流量分配的方法中,循环队列的一种示意图;
图3示出了本发明实施例所提供的多线路流量分配的方法中,循环队列的另一种示意图;
图4示出了本发明实施例所提供的一种多线路流量分配的装置的结构示意图;
图5示出了本发明实施例所提供的一种用于执行多线路流量分配的方法的电子设备的结构示意图。
具体实施方式
在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的***、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD-ROM)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行***、装置、器件使用或与其结合使用。
上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
下面结合本发明实施例中的附图对本发明实施例进行描述。
图1示出了本发明实施例所提供的一种多线路流量分配的方法的流程图。该多线路流量分配的方法可以由推流服务器执行,该方法不直接确定每条线路的流量,而是把直播时长来近似代替流量,后续通过对直播时长进行比例约分的方式,使得用直播时长可以完全表示流量的特性,从而能够基于直播时长实现流量分配。如图1所示,该方法包括:
步骤101:获取多个客户端上传的打点数据,打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路。
本发明实施例中,客户端在观看直播视频流时,客户端会定期往服务端上报打点数据,该打点数据具体包括客户端标识(如客户端IP地址等)、当前时间、线路标识、当前的直播时长(单位一般为毫秒)、是否卡顿等,本实施例中基于打点数据中的线路标识和直播时长进行后续处理。其中,客户端可以每隔一段时间周期性上传打点数据,或者当客户端在卡顿与不卡顿之间切换时上传打点数据,使得该打点数据为分片数据,打点数据中的直播时长也为直播分片时长。
例如,一种打点数据的格式可以为:{“ip”:“10.200.241.119”,“line”:“a”,“duration”:5341,“starttime”:1596517758505…}。其中,ip为客户端的IP地址;line为客户端当前正在使用的线路,即客户端正在使用线路a,“a”即为该线路的线路标识;starttime为当前分片的起始时间;duration为客户端当前的直播时长分片大小,单位为毫秒,其也可以表示当前分片的大小,即用户从起始时间开始观看了这些时长的视频。在用户观看直播的过程中,如果用户的客户端(主动或者被动)切换了线路,那么该客户端后续上传的打点数据中,线路“line”对应的值会根据线路切换情况相应改变,如从线路a切换至线路b。
步骤102:对打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长。
本发明实施例中,可以设置一起始时间,如凌晨0点等,获取从该起始时间开始多个客户端上传的打点数据,由于多个客户端会使用不同的线路,故通过对打点数据的直播分片时长进行统计处理,即可确定从该起始时间到当前时间,每条线路的直播时长,即子直播时长。对于推流服务器,其在单位时间(如1s)内向客户端推送的流量值是固定的,使得客户端观看直播的时长与流量值是正相关的线性关系;因此,对于同一线路标识,其所对应的所有直播分片时长之和(即line字段相同的duration相加所得到的值)即可表示推流服务器推送的流量大小;本实施例中将同一线路标识对应的所有直播分片时长之和作为相应线路的子直播时长,该子直播时长可以表示在该线路中已经发生了多少流量。具体地,上述步骤“确定每条线路的子直播时长”包括:对统一线路标识对应的直播分片时长进行加和处理,将每个线路标识对应的直播分片时长总和作为相应线路的子直播时长。
此外,本实施例基于期望时长对不同线路即将发生的流量进行预测。其中,该期望时长指的是一个客户端在一条线路上连续直播时长的期望时长。上述步骤“确定单一客户端在单一线路上连续直播时长的期望时长”包括:
步骤A1:根据客户端上传的一个或连续多个具有相同线路标识的打点数据,确定每个客户端在每条线路上的连续直播时长。
步骤A2:根据连续直播时长个确定单一客户端在单一线路上连续直播时长的期望时长。
本发明实施例中,如上所述,对于同一个客户端,其在使用一条线路时会上传一个或多个打点数据,且客户端也可以切换线路;若用户的客户端在一条线路上连续观看直播,则说明客户端未切换线路,基于连续观看直播的时长即可表示该线路被连续使用的时长。其中,连续直播时长指的是在未切换线路的情况下,当前线路对应的所有直播分片时长之和。具体地,若客户端连续上传的打点数据具有相同的线路标识,则说明在客户端上传该打点数据期间未切换线路。例如,服务器先后依次接收到某客户端上传的5个打点数据,打点数据依次为{线路a,1秒}、{线路b,2秒}、{线路b,3秒}、{线路b,4秒}、{线路c,5秒},此时,该客户端在线路b上连续直播时长即为2+3+4=9秒,而线路a和线路c的连续直播时长可能分别是1秒和5秒,也可能还需要基于其他打点数据进行判断。此外,由于同一客户端可以多次切换至某条线路,故同一个客户端在该条线路上的连续直播时长的数量可能为多个;且客户端可能自始至终未切换到某条线路,则该客户端在该条线路上不存在连续直播时长。
在确定所有客户端的连续直播时长之后,基于所有的连续直播时长即可确定期望时长。其中,该期望时长具体可以是所有连续直播时长的平均值、或中位值,也可以是所有连续直播时长在去掉预设数量的极大值和极小值之后的平均值。可选地,所有线路可以共用同一个期望时长,也可以根据不同线路的连续直播时长分别确定每条线路对应的期望时长,本实施例对此不做限定。
步骤103:分别确定在期望时长内,每条线路的用户增长量,根据期望时长、每条线路的用户增长量和子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比。
本发明实施例中,期望时长表示一个客户端在一条线路上最有可能连续观看直播的时长,在期望时长内,客户端大概率不会切换线路,因此,在该期望时长内,基于用户增长量即可预测即将增加的流量;本实施例中以时长表示流量,则可预测处增加的用户所能增加的时长。具体地,将期望时长与每条线路的用户增长量的乘积作为相应线路的预测时长,并把该预测时长与相应线路子直播时长之和作为相应线路的总直播时长。
本实施例中,设共涉及n条线路,且第i条线路的用户增长量为ui,即经过期望时长之后,第i条线路增加了ui个新用户;而每个新用户均会观看期望时长EX的直播视频,则服务器侧共产生了与ui×EX对应的流量,即上述的预测时长为ui×EX;若该第i条线路的子直播时长为ti,则第i条线路的总直播时长Ti为Ti=ui×EX+ti。此外,在确定每条线路的总直播时长之后,即可确定每条线路的总直播时长与所有线路的总直播时长的时长占比。其中,第i条线路的时长占比ri为:
步骤104:根据每条线路的时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
本发明实施例中,该时长占比可以表示每条线路的流量大小,时长占比越大,说明用户的客户端占用该条线路观看直播的流量越大。同时,虽然直播时长也可以表示流量大小,但由于二者单位不同,直播时长并不是流量本身;而时长占比为没有单位的标量,其可以完全等价于流量的比例。因此,虽然本实施例中最开始以直播时长来近似代替流量,但因为最后是基于可以完全表示流量占比的时长占比进行计算处理,从而在流量分配过程中,能够以直播时长完美地代替流量,且不影响最终的计算结果。
本实施例中,基于实际的业务需求会预先设置流量期望比例,如四条线路的流量期望比例为20%:15%:35%:30%,此时基于每条线路的时长占比和预设的流量期望比例即可确定每条线路的完成度,该完成度用于表示该条线路的流量使用程度。具体地,该步骤104“根据每条线路的时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序”包括:
步骤B1:将每条线路的时长占比与流量期望比例中相应线路对应的比例项之间的比值作为线路的完成度;
步骤B2:按照从小到大的顺序对完成度进行排列,并将相应的线路排列顺序作为当前的线路推荐顺序。
本发明实施例中,流量期望比例为n个比例项pi的比值,即流量期望比例为p1:p2:…:pn,每个比例项对应一条相应的线路。本实施例中将线路的时长占比ri与流量期望比例中相应线路对应的比例项pi之间的比值作为线路的完成度Ci,时长占比越大,则完成度越高,说明该线路已经以及即将产生越多的流量,则该线路越不应该推荐给当前的客户端,故按照从小到大的顺序排列完成度,从而可以生成线路推荐顺序。当客户端接入服务器时,可以优先使用首位的线路,在该线路卡顿时可以按照该线路推荐顺序自动切换至下一条线路。
可选地,流量期望比例中所有比例项之和可以为1,即此时,若完成度Ci小于1,则说明第i条线路的流量完成度不够,应该向该线路分配客户端;若完成度Ci等于1,则说明第i条线路的流量完成度比较完美,此时应保持不变;若完成度Ci大于1,则说明第i条线路的流量完成度过多,应该向该向其他线路分配客户端,以减少第i条线路的完成度。
本发明实施例提供的一种多线路流量分配的方法,用直播时长近似代替流量,且最终以时长占比来完全等级流量的比例,使得在流量分配过程中,不需要获取线路的流量值,而是以直播时长完美代替流量,且不影响最终的计算结果。同时,基于不切换线路的期望时长来预测每条线路即将产生的流量,可以有效规避掉切换线路的情况,使得预测的数值更加准确,且将已经发生的子直播时长和预测出的预测时长之和作为总直播时长,能够更加准确表征线路的流量使用情况,可以向客户端分配更合适的线路,从而能够更合理地进行流量分配。
在上述实施例的基础上,由于整个直播过程的时长一般远远大于期望时长,为了方便快速确定用户增长量,本实施例中以循环队列的形式存储用户增量。具体地,上述步骤103“分别确定在期望时长内,每条线路的用户增长量”包括:
步骤C1:对期望时长增加一个单位时长,并分为多个单位时长的时间窗口。
步骤C2:为每条线路生成相应的循环队列;其中,循环队列的元素数量与时间窗口的数量相同,循环队列的每个元素用于循环记录相应线路在当前时刻的总用户增量。
本发明实施例中,按照单位时长将期望时长划分为多个时间窗口,并额外增加一个时间窗口,每个时间窗口对应的时长即为单位时长。例如,单位时长为1秒,若期望时长为7秒,则共可划分出8个时间窗口。同时,为每条线路生成一个循环队列,来记录每条线路的用户增量。本实施例中,循环队列包含与时间窗口数量相同的多个元素,该元素用于循环记录当前时刻的总用户增量,即一个元素记录此时的总用户增量,在经过一个单位时间之后,下一个元素再记录此时的总用户增量。其中,可以预先对期望时长进行取整处理。
具体地,循环队列的一种形式可参见图2和图3所示,其中的EX表示期望时长,以单位时长为1秒为例说明,则该循环队列共具有EX+1个时间窗口;图2中的外环表示每个时间窗口的序号,内环表示相应时间窗口对应的元素所记录的元素值,即总用户增量;初始时,每个元素的元素值均为零。以第1个时间窗口作为最开始记录的元素为例,如图2所示,若在第1秒时新增用户为105,即总用户增量为105,则将第1个的元素记录105;若第2秒时总用户增量为217(即,从第1秒到到第2秒增加了217-105=112个用户),则第2个元素的元素值修改为217;在第3秒时总用户增量为411,则第3个元素的元素值为411,以此依次记录总用户增量。当第EX+1个元素记录了总用户增量之后,在第EX+2秒,将第EX+2秒时的总用户增量记录到第1个元素中,从而实现循环记录。
步骤C3:将循环队列中元素值最大的时间窗口作为当前时间窗口,将最大的元素值与当前时间窗口的下一时间窗口对应的元素值之间的的差值作为相应线路的用户增长量。
本发明实施例中,在循环队列中,由于循环队列中的元素记录的是总用户增量,故随着时间推移,相应的元素值越来越大,且元素值越大,越接近当前时间;因此,元素值最大的时间窗口对应的就是当前时间,其可以作为当前时间窗口;该当前时间窗口的下一个窗口仍然记录的是之前的总用户增量,故二者之差即为在该期望时长内的用户增长量,且该用户增长量也是最近的增长量。具体地,假设当前时间窗口的下一个窗口对应时刻t,由于循环队列的一个周期为EX+1,故再经过EX时间之后即可到达当前时间窗口,故两个时间窗口的元素值之差即为在期望时长EX内的用户增长量。
如图3所示,其中时间窗口EX对应的元素值最大,故当前时间窗口为时间窗口EX,其元素值为2035;下一个时间窗口即为EX+1,其元素值为956,则此时的用户增长量即为2035-956=1079。
本发明实施例提供的一种多线路流量分配的方法,用直播时长近似代替流量,且最终以时长占比来完全等级流量的比例,使得在流量分配过程中,不需要获取线路的流量值,而是以直播时长完美代替流量,且不影响最终的计算结果。同时,基于不切换线路的期望时长来预测每条线路即将产生的流量,可以有效规避掉切换线路的情况,使得预测的数值更加准确,且将已经发生的子直播时长和预测出的预测时长之和作为总直播时长,能够更加准确表征线路的流量使用情况,可以向客户端分配更合适的线路,从而能够更合理地进行流量分配。基于该循环队列可以迅速确定用户增长量,且该用户增长量是最新的增长量,在提高效率的同时,还能基于最新的用户增长量来预测即将发生的时长,使得预测得到的预测时长也更加准确。
上文详细描述了本发明实施例提供的多线路流量分配的方法,该方法也可以通过相应的装置实现,下面详细描述本发明实施例提供的多线路流量分配的装置。
图4示出了本发明实施例所提供的一种多线路流量分配的装置的结构示意图。如图4所示,该多线路流量分配的装置包括:
获取模块41,用于获取多个客户端上传的打点数据,所述打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路;
统计模块42,用于对所述打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长;
时长占比确定模块43,用于分别确定在所述期望时长内,每条线路的用户增长量,根据所述期望时长、每条线路的所述用户增长量和所述子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比;
排序模块44,用于根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
在上述实施例的基础上,所述统计模块42确定单一客户端在单一线路上连续直播时长的期望时长,包括:
根据所述客户端上传的一个或连续多个具有相同线路标识的打点数据,确定每个所述客户端在每条线路上的连续直播时长;
根据所述连续直播时长个确定单一客户端在单一线路上连续直播时长的期望时长。
在上述实施例的基础上,所述时长占比确定模块43分别确定在所述期望时长内,每条线路的用户增长量,包括:
对所述期望时长增加一个单位时长,并分为多个单位时长的时间窗口;
为每条线路生成相应的循环队列;其中,所述循环队列的元素数量与所述时间窗口的数量相同,所述循环队列的每个元素用于循环记录相应线路在当前时刻的总用户增量;
将所述循环队列中元素值最大的时间窗口作为当前时间窗口,将最大的元素值与所述当前时间窗口的下一时间窗口对应的元素值之间的的差值作为相应线路的用户增长量。
在上述实施例的基础上,所述排序模块44根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序,包括:
将每条线路的所述时长占比与流量期望比例中相应线路对应的比例项之间的比值作为线路的完成度;
按照从小到大的顺序对所述完成度进行排列,并将相应的线路排列顺序作为当前的线路推荐顺序。
在上述实施例的基础上,所述统计模块42确定每条线路的子直播时长,包括:
对统一所述线路标识对应的所述直播分片时长进行加和处理,将每个线路标识对应的直播分片时长总和作为相应线路的子直播时长。
本发明实施例提供的一种多线路流量分配的方法,用直播时长近似代替流量,且最终以时长占比来完全等级流量的比例,使得在流量分配过程中,不需要获取线路的流量值,而是以直播时长完美代替流量,且不影响最终的计算结果。同时,基于不切换线路的期望时长来预测每条线路即将产生的流量,可以有效规避掉切换线路的情况,使得预测的数值更加准确,且将已经发生的子直播时长和预测出的预测时长之和作为总直播时长,能够更加准确表征线路的流量使用情况,可以向客户端分配更合适的线路,从而能够更合理地进行流量分配。基于该循环队列可以迅速确定用户增长量,且该用户增长量是最新的增长量,在提高效率的同时,还能基于最新的用户增长量来预测即将发生的时长,使得预测得到的预测时长也更加准确。
此外,本发明实施例还提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该收发器、该存储器和处理器分别通过总线相连,计算机程序被处理器执行时实现上述多线路流量分配的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图5所示,本发明实施例还提供了一种电子设备,该电子设备包括总线1110、处理器1120、收发器1130、总线接口1140、存储器1150和用户接口1160。
在本发明实施例中,该电子设备还包括:存储在存储器1150上并可在处理器1120上运行的计算机程序,计算机程序被处理器1120执行时实现上述多线路流量分配的方法实施例的各个过程。
收发器1130,用于在处理器1120的控制下接收和发送数据。
本发明实施例中,总线架构(用总线1110来代表),总线1110可以包括任意数量互联的总线和桥,总线1110将包括由处理器1120代表的一个或多个处理器与存储器1150代表的存储器的各种电路连接在一起。
总线1110表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线以及存储器控制器、***总线、加速图形端口(Accelerate Graphical Port,AGP)、处理器或使用各种总线体系结构中的任意总线结构的局域总线。作为示例而非限制,这样的体系结构包括:工业标准体系结构(Industry Standard Architecture,ISA)总线、微通道体系结构(Micro Channel Architecture,MCA)总线、扩展ISA(Enhanced ISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)、***部件互连(Peripheral Component Interconnect,PCI)总线。
处理器1120可以是一种集成电路芯片,具有信号处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中硬件的集成逻辑电路或软件形式的指令完成。上述的处理器包括:通用处理器、中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、复杂可编程逻辑器件(Complex Programmable LogicDevice,CPLD)、可编程逻辑阵列(Programmable Logic Array,PLA)、微控制单元(Microcontroller Unit,MCU)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存(FlashMemory)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
总线1110还可以将,例如***设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机***的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网(Internet)、公共交换电话网(PSTN)、普通老式电话业务网(POTS)、蜂窝电话网、无线网络、无线保真(Wi-Fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(GSM)***、码分多址(CDMA)***、全球微波互联接入(WiMAX)***、通用分组无线业务(GPRS)***、宽带码分多址(WCDMA)***、长期演进(LTE)***、LTE频分双工(FDD)***、LTE时分双工(TDD)***、先进长期演进(LTE-A)***、通用移动通信(UMTS)***、增强移动宽带(Enhance Mobile Broadband,eMBB)***、海量机器类通信(massive Machine Type of Communication,mMTC)***、超可靠低时延通信(UltraReliable Low Latency Communications,uRLLC)***等。
应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存(Flash Memory)。
易失性存储器包括:随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如:静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
在本发明实施例中,存储器1150存储了操作***1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
具体而言,操作***1151包含各种***程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(Media Player)、浏览器(Browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机***可执行指令。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述多线路流量分配的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
在本申请所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种多线路流量分配的方法,其特征在于,包括:
获取多个客户端上传的打点数据,所述打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路;
对所述打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长;
分别确定在所述期望时长内,每条线路的用户增长量,根据所述期望时长、每条线路的所述用户增长量和所述子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比;
根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
2.根据权利要求1所述的方法,其特征在于,所述确定单一客户端在单一线路上连续直播时长的期望时长,包括:
根据所述客户端上传的一个或连续多个具有相同线路标识的打点数据,确定每个所述客户端在每条线路上的连续直播时长;
根据所述连续直播时长个确定单一客户端在单一线路上连续直播时长的期望时长。
3.根据权利要求1所述的方法,其特征在于,所述分别确定在所述期望时长内,每条线路的用户增长量,包括:
对所述期望时长增加一个单位时长,并分为多个单位时长的时间窗口;
为每条线路生成相应的循环队列;其中,所述循环队列的元素数量与所述时间窗口的数量相同,所述循环队列的每个元素用于循环记录相应线路在当前时刻的总用户增量;
将所述循环队列中元素值最大的时间窗口作为当前时间窗口,将最大的元素值与所述当前时间窗口的下一时间窗口对应的元素值之间的的差值作为相应线路的用户增长量。
5.根据权利要求1所述的方法,其特征在于,所述确定每条线路的子直播时长,包括:
对统一所述线路标识对应的所述直播分片时长进行加和处理,将每个线路标识对应的直播分片时长总和作为相应线路的子直播时长。
6.一种多线路流量分配的装置,其特征在于,包括:
获取模块,用于获取多个客户端上传的打点数据,所述打点数据包括线路标识和直播分片时长;其中,每个线路标识对应唯一的线路;
统计模块,用于对所述打点数据进行统计处理,确定每条线路的子直播时长,并确定单一客户端在单一线路上连续直播时长的期望时长;
时长占比确定模块,用于分别确定在所述期望时长内,每条线路的用户增长量,根据所述期望时长、每条线路的所述用户增长量和所述子直播时长确定每条线路的总直播时长与所有线路的总直播时长的时长占比;
排序模块,用于根据每条线路的所述时长占比和预设的流量期望比例,确定每条线路的完成度,并根据每条线路的完成度的大小确定当前的线路推荐顺序。
7.根据权利要求6所述的装置,其特征在于,所述统计模块确定单一客户端在单一线路上连续直播时长的期望时长,包括:
根据所述客户端上传的一个或连续多个具有相同线路标识的打点数据,确定每个所述客户端在每条线路上的连续直播时长;
根据所述连续直播时长个确定单一客户端在单一线路上连续直播时长的期望时长。
8.根据权利要求6所述的装置,其特征在于,所述时长占比确定模块分别确定在所述期望时长内,每条线路的用户增长量,包括:
对所述期望时长增加一个单位时长,并分为多个单位时长的时间窗口;
为每条线路生成相应的循环队列;其中,所述循环队列的元素数量与所述时间窗口的数量相同,所述循环队列的每个元素用于循环记录相应线路在当前时刻的总用户增量;
将所述循环队列中元素值最大的时间窗口作为当前时间窗口,将最大的元素值与所述当前时间窗口的下一时间窗口对应的元素值之间的的差值作为相应线路的用户增长量。
9.一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的多线路流量分配的方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的多线路流量分配的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936071.8A CN112073752B (zh) | 2020-09-08 | 2020-09-08 | 一种多线路流量分配的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010936071.8A CN112073752B (zh) | 2020-09-08 | 2020-09-08 | 一种多线路流量分配的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073752A true CN112073752A (zh) | 2020-12-11 |
CN112073752B CN112073752B (zh) | 2022-04-22 |
Family
ID=73664394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010936071.8A Active CN112073752B (zh) | 2020-09-08 | 2020-09-08 | 一种多线路流量分配的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073752B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输***中的速率控制方法 |
US20080273591A1 (en) * | 2007-05-04 | 2008-11-06 | Brooks Paul D | Methods and apparatus for predictive capacity allocation |
CN108337167A (zh) * | 2018-02-11 | 2018-07-27 | 福州大学 | 一种基于蚁群算法的视频多路并行传输分流方法及其*** |
CN110417650A (zh) * | 2019-08-02 | 2019-11-05 | 广东中兴新支点技术有限公司 | 多链路数据分配方法、装置及电子设备 |
CN111629216A (zh) * | 2020-04-20 | 2020-09-04 | 南京邮电大学 | 边缘网络环境下基于随机森林算法的vod业务缓存替换方法 |
-
2020
- 2020-09-08 CN CN202010936071.8A patent/CN112073752B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输***中的速率控制方法 |
US20080273591A1 (en) * | 2007-05-04 | 2008-11-06 | Brooks Paul D | Methods and apparatus for predictive capacity allocation |
CN108337167A (zh) * | 2018-02-11 | 2018-07-27 | 福州大学 | 一种基于蚁群算法的视频多路并行传输分流方法及其*** |
CN110417650A (zh) * | 2019-08-02 | 2019-11-05 | 广东中兴新支点技术有限公司 | 多链路数据分配方法、装置及电子设备 |
CN111629216A (zh) * | 2020-04-20 | 2020-09-04 | 南京邮电大学 | 边缘网络环境下基于随机森林算法的vod业务缓存替换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112073752B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111246178B (zh) | 视频处理方法和装置、存储介质及电子装置 | |
US20200153712A1 (en) | Method for obtaining qoe information, terminal, and network device | |
US10440638B2 (en) | Method, apparatus, user equipment and base station for sending and receiving system information | |
CN112203111B (zh) | 多媒体资源的预加载方法、装置、电子设备及存储介质 | |
US20230262665A1 (en) | Method and apparatus for determining resource, and storage medium | |
CN111263153B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN106791930B (zh) | 一种视频处理方法和装置 | |
CN111225209A (zh) | 视频数据推流方法、装置、终端及存储介质 | |
EP4024945A1 (en) | Information processing method, apparatus, and device, and computer readable storage medium | |
CN112423125A (zh) | 视频加载方法及装置 | |
US20200136747A1 (en) | Method and apparatus for determining modulation and coding scheme | |
CN112073752B (zh) | 一种多线路流量分配的方法、装置及电子设备 | |
US10382630B2 (en) | Telecommunication service subscription integration system | |
CN109005455A (zh) | 视频数据处理方法及装置 | |
US11902945B2 (en) | Method, device, and system for transmitting data in divided transmission blocks | |
CN114158073B (zh) | 网络切片部署方法、装置、设备及存储介质 | |
CN113423009B (zh) | 一种视频进度调整方法、装置及电子设备 | |
CN111225384A (zh) | 一种上行干扰建模方法、干扰确定方法和装置 | |
US20230291957A1 (en) | Device and method for displaying video | |
CN109982110B (zh) | 用于视频播放的方法和装置 | |
CN112929706A (zh) | 视频数据的回放方法、装置、存储介质以及电子装置 | |
KR102027853B1 (ko) | 무선 자원 조절 장치 및 방법 | |
CN111866968A (zh) | 网络模式切换方法和装置 | |
CN112203236B (zh) | 数据传输方法和装置 | |
US20230269748A1 (en) | Methods and apparatuses for transmitting information and receiving information, base station and user equipment |
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 |