CN110213623B - 视频上传方法、视频上传装置及计算机可读存储介质 - Google Patents

视频上传方法、视频上传装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110213623B
CN110213623B CN201910476276.XA CN201910476276A CN110213623B CN 110213623 B CN110213623 B CN 110213623B CN 201910476276 A CN201910476276 A CN 201910476276A CN 110213623 B CN110213623 B CN 110213623B
Authority
CN
China
Prior art keywords
uploading
video
client
target video
parameter
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
CN201910476276.XA
Other languages
English (en)
Other versions
CN110213623A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910476276.XA priority Critical patent/CN110213623B/zh
Publication of CN110213623A publication Critical patent/CN110213623A/zh
Application granted granted Critical
Publication of CN110213623B publication Critical patent/CN110213623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests

Abstract

本发明提供一种视频上传方法、装置及计算机可读存储介质,所述方法包括以下步骤:接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,其中,所述配置规则包含所述上传参数和所述上传请求之间的匹配度;接收并存储所述客户端基于所述上传参数上传的所述目标视频;收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。

Description

视频上传方法、视频上传装置及计算机可读存储介质
技术领域
本发明涉及网络数据传输技术领域,特别涉及一种视频上传方法、装置、计算机设备及存储介质。
背景技术
随着互联网及流媒体技术的发展,视频因融合了图像、文字、声音等丰富元素,声情并茂效果极佳,逐渐成为互联网的主流表达方式。在此基础上,用户通过智能终端上传视频的业务要求也越来越广泛。现有的视频上传技术,在视频传输过程中应用到的参数一般都是固定配置的,例如根据智能终端的位置信息或者运营商信息确定传输过程中用到的CDN节点,或者根据视频大小确定分片数量等。然而,实际网络传输效果往往会受到多种因素影响,固定不变的参数匹配势必无法保证视频传输达到最佳效果。因此,如何提供一种优化的视频上传技术成为本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种视频上传方法、装置、计算机设备及存储介质,以解决现有技术中存在的上述缺陷。
为实现上述目的,本发明提供一种视频上传方法,适用于服务器端,包括以下步骤:
接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,其中,所述配置规则包含所述上传参数和所述上传请求之间的匹配度;
接收并存储所述客户端基于所述上传参数上传的所述目标视频;
收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。
根据本发明提供的视频上传方法,其中,所述服务器端接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数的步骤包括:
所述服务器端接收所述上传请求,并解析所述上传请求中的请求参数;
将与所述请求参数的匹配度最高的上传参数确认为目标上传参数;
将所述上传参数发送给所述客户端;
其中,所述目标上传参数至少包括CDN节点列表和分片参数;
所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点;
所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量。
根据本发明提供的视频上传方法,其中,所述接收并存储所述客户端基于所述上传参数上传的所述目标视频的步骤包括:
接收所述客户端通过第一CDN节点传输的多个分片视频,其中,所述第一CDN节点是在所述CDN节点列表中具有第一优先级的节点,每个所述分片视频包含的数据量与所述分片参数相同;
将所述多个分片视频合并为所述目标视频。
根据本发明提供的视频上传方法,其中,所述接收并存储所述客户端基于所述上传参数上传的所述目标视频的步骤包括:
在所述第一CDN节点连接失败的情况下,接收所述客户端通过所述CDN节点列表中的第二CDN节点传输的多个分片视频,其中所述第二CDN节点是在所述CDN节点列表中具有第二优先级的节点;
将所述多个分片视频合并为所述目标视频。
根据本发明提供的视频上传方法,其中,所述基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量调整所述匹配度的步骤包括:
基于所述日志文件计算所述目标视频的传输速度和传输成功率;
根据所述传输速度和传输成功率,确定所述CDN节点列表与所述上传请求之间的匹配度,以及所述分片参数与所述上传请求之间的匹配度。
为实现上述目的,本发明还提供一种视频上传方法,适用于客户端,包括以下步骤:
向服务器端发送对于目标视频的上传请求,接收所述服务器端根据预设的配置规则发送的上传参数,其中,所述配置规则规定了所述上传参数和所述上传请求之间的匹配度;
基于所述上传参数向所述服务器端上传所述目标视频。
根据本发明提供的视频上传方法,其中,所述接收所述服务器端根据配置规则发送的上传参数的步骤包括:
接收所述服务器端发送的CDN节点列表和分片参数;
其中,所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点;
所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量。
根据本发明提供的视频上传方法,其中,所述基于所述上传参数向所述服务器端上传所述目标视频的步骤包括:
通过所述CDN节点列表中的第一CDN节点向所述服务器端传输多个分片视频;
其中,所述第一CDN节点是在所述CDN节点列表中具有第一优先级的节点,每个所述分片视频包含的数据量与所述分片参数相同。
根据本发明提供的视频上传方法,其中,所述基于所述上传参数向所述服务器端上传所述目标视频的步骤包括:
在所述第一CDN节点连接失败的情况下,通过第二CDN节点向所述服务器端传输多个分片视频,其中所述第二CDN节点是在所述CDN节点列表中具有第二优先级的节点。
为实现上述目的,本发明还提供一种视频上传系统,包括客户端和服务端:
所述客户端用于向服务器端发送对于目标视频的上传请求,接收所述服务器端根据预设的配置规则发送的上传参数,并且基于所述上传参数向所述服务器端上传所述目标视频,其中,所述配置规则规定了所述上传参数和所述上传请求之间的匹配度;
所述服务端用于接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,接收并存储所述客户端基于所述上传参数上传的所述目标视频,收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的视频上传方法,为用户通过智能终端上传视频提供了一种根据视频传输质量动态优化调整参数的解决方案。本发明首先由客户端发起视频上传请求,服务器端接收到视频上传请求时,基于预设的配置规则为客户端发送上传参数,以供所述客户端根据所述上传参数上传目标视频。本发明中的上传参数至少包括CDN节点列表和分片参数,其中所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点,所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量。特别的,本发明中的配置规则不是固定不变,而是根据视频传输质量不断调整的,该视频传输质量可以通过视频传输日志经过计算获得。由此,本发明根据由视频传输日志体现的视频传输质量对配置规则进行不断的优化调整,进而向客户端发送不断优化的上传参数,从而达到加快视频上传速度,提高视频传输效率的目的。
附图说明
图1为本发明的视频上传方法实施例一的流程图;
图2为本发明的视频上传装置实施例一的程序模块示意图;
图3为本发明的视频上传装置实施例一的硬件结构示意图;
图4为本发明的视频上传系统实施例一的结构示意图;
图5为本发明的视频上传方法实施例二的流程图;
图6为本发明的视频上传装置实施例二的程序模块示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的视频上传方法,为用户通过智能终端上传视频提供了一种根据视频传输质量动态优化调整参数的解决方案。本发明首先由客户端发起视频上传请求,服务器端接收到视频上传请求时,基于预设的配置规则为客户端发送上传参数,以供所述客户端根据所述上传参数上传目标视频。本发明中的上传参数至少包括CDN节点列表和分片参数,其中所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点,所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量。特别的,本发明中的配置规则不是固定不变,而是根据视频传输质量不断调整的,该视频传输质量可以通过视频传输日志经过计算获得。由此,本发明根据由视频传输日志体现的视频传输质量对配置规则进行不断的优化调整,进而向客户端发送不断优化的上传参数,从而达到加快视频上传速度,提高视频传输效率的目的。
实施例一
请参阅图1,本实施例提出一种视频上传方法,适用于服务器端,具体包括以下步骤:
S1:接收客户端发送的对于目标视频的上传请求,基于配置规则向所述客户端发送上传参数,其中,所述配置规则规定了所述上传请求和所述上传参数之间的匹配度。
本发明首先接收客户端发送的视频上传请求,并基于预设的配置规则确定与视频上传请求相匹配的上传参数,以供客户端根据该上传参数上传目标视频。本发明中的配置规则包含上传请求和多个上传参数之间的匹配度,该匹配度可通过百分比来表示,匹配度越高,表明通过对应的上传参数来上传目标视频的传输质量越好。本发明的配置规则默认选择匹配度最高的上传参数作为向客户端发送的目标上传参数。需要注意的是,本发明所称的上传参数包括同一参数对象的不同取值,例如分片参数4M,分片参数6M和分片参数8M在本发明中视为不同的三个上传参数。
本发明中的视频上传请求包括两部分,第一部分是初始化请求,第二部分是存储空间请求。其中所述初始化请求中可以包括但不限于下列请求参数:视频名称(name)、业务类型(profile)、视频大小(size)、网络状态(net_state)、系统版本(os_version)、机型(device)、应用版本(build)等。总体来说,初始化请求主要是向服务器端上传客户端的环境信息,从而使服务器端能够根据这些环境信息匹配相应的上传参数。另外,本发明中的存储空间请求指的是向服务器端申请用于存储待上传的目标视频的存储空间。
响应于视频上传请求中的初始化请求,本发明的服务器端根据配置规则发送给客户端的上传参数包括但不限于下列内容:上传节点列表(endpoints)、分片参数(chunk_size)、线程数量(threads)、重试次数(chunk_retry)、重试间隔时间(chunk_retry_delay)。其中上传节点列表(endpoints)中包含多个可供选择的CDN节点,这些CDN节点按照优先级顺序由高到低排列;分片参数(chunk_size)规定了将视频进行分片时每个分片包含的数据量大小;线程数量(threads)标识传输目标视频时可同时开启的线程个数;重试次数(chunk_retry)指的是当连接异常时,重复尝试连接可允许的最大尝试次数;重试间隔时间(chunk_retry_delay)则是指当连接异常时,再次尝试连接需要间隔的时间。
本发明通过配置规则中的匹配度来确定与上传请求对应的上传参数,默认将匹配度最高的上传参数作为目标上传参数。本发明中的匹配度是根据历史传输质量计算的。通过获取历史视频上传操作中的传输数据,例如传输速度和传输成功率,来计算该历史视频上传操作的传输质量,相应的根据传输质量计算上传参数与上传请求的匹配度。
本领域普通技术人员理解,每一次视频上传操作都是响应于特定的视频上传请求,根据特定的上传参数来上传视频的。因此可以通过上传日志获取到该视频上传过程中的传输速度、传输成功率等数据,以得出视频上传的传输质量。该传输质量可以以评分的方式表示,进一步可以为不同的评分范围规定对应上传参数的不同匹配度。例如,将质量评分乘以百分之百作为上传参数的匹配度,当质量评分为95分时,相应上传参数的匹配度为95%;当质量评分为80分时,相应上传参数的匹配度为80%。
假设需要确定分片参数的具体取值,从配置规则中可以获得上传参数与不同取值的分片参数的匹配度,假设对于某一类的初始化参数,分片参数4M的匹配度为95%,分片参数6M的匹配度为80%,分片参数8M的匹配度为85%,那么确定的目标分片参数是匹配度最高的分片参数4M。
除此以外,本发明的服务器端响应于客户端的存储空间请求,还会为待上传的目标视频分配相应的存储空间。
S2:接收并存储所述客户端基于所述上传参数上传的所述目标视频。
本步骤中,服务器端接收客户端根据上传参数上传的目标视频。具体的,客户端会根据上传参数中的分片参数将所述目标视频划分为多个分片,通过CDN节点列表中具有第一优先级的第一CDN节点依次传输所述多个分片。
在传输过程中,服务器端实时监控所述目标视频的传输状态数据,并根据传输状态数据适时切换CDN节点。例如,当监测到第一CDN节点在传输过程中发生连接异常时,首先会根据上传参数中的重试次数(chunk_retry)和重试间隔时间(chunk_retry_delay)进行重试。假设重试次数(chunk_retry)为n次,重试间隔时间(chunk_retry_delay)为t秒。那么客户端会在第一CDN节点首次发生连接异常时,每个t秒重新连接第一CDN节点,直到尝试n次。如果尝试n次之后仍然连接异常,本发明中的客户端则会从CDN节点列表中选择排在第二优先级顺序的第二CDN节点,通过第二CDN节点上传所述目标视频的分片视频。本领域技术人员可以理解,当第二CDN节点也发生连接异常,并且尝试n次之后仍然没有成功连接时,本发明中的客户端会继续从CDN节点列表中选择排在第三优先级顺序的第三CDN节点,通过第三CDN节点上传所述目标视频的分片视频。
对于在传输过程中发生连接异常的情况,本发明会在每次成功上传一个分片时立即保存已上传的相关分片的数据信息,同时保存视频上传请求中的参数信息,通过这种方式,可以实现在发生连接异常之后,当恢复上传的时候可以直接从数据库中读取相应的请求参数进行恢复请求即可。除了传输过程中的连接异常之外,对于客户端向服务器端发送视频上传请求过程中出现的连接异常,本发明同样会存储相应的请求参数,等到恢复上传时直接从数据库中读取相应的参数数据以恢复请求。通过上述策略,本发明可以达到无论在哪个环节中出现连接异常都能够迅速恢复的目的。
进一步,在接收完所有分片视频的基础上,本发明的服务器端将多个分片视频合并,得到完整的所述目标视频。
S3:收集所述目标视频上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,基于所述传输质量重新计算所述匹配度。
本步骤用于动态调整配置规则,进而实现不断优化上传参数的目的。具体的,可以根据视频传输过程中生成的日志文件计算所述目标视频的传输质量,并且基于传输质量重新调整向客户端发送上传参数的配置规则。例如,日志收集视频分片的传输起始时间、传输结束时间以及传输成功与否信息,从而计算出传输成功率和传输速度;又或者日志收集服务器错误的发生时间、错误码、http请求参数信息以及返回错误信息,获取由于CDN节点波动导致的服务器详细错误信息,从而分析出不同CDN节点的稳定性,并计算对应的传输成功率、传输速度。根据不同CDN节点对应的传输成功率、传输速度等信息,可以计算出视频传输过程中的传输质量,从而根据传输质量获得CDN节点与上传请求之间的匹配度。那么在下次再次上传视频时,就可以选择其它匹配度更高的CDN节点来上传视频,避免类似错误发生,提升视频传输效率。
除了CDN节点列表之外,本发明还可以对配置规则中的其他上传参数进行调整。例如,计算不同分片参数下对应的视频上传速度,将视频上传速度最快时所对应的分片参数作为匹配度最高的上传参数。
本领域普通技术人员可以理解,本发明对于配置规则的调整包括多个方面,并不限于上文提到的CDN节点列表和分片参数,还可以包含其它多种参数,例如线程数量。本发明中的配置规则是为了建立视频上传请求与上传参数之间的对应关系,通过积累的大量日志来分析不同上传请求采用不同上传参数上传视频过程中的传输质量,可以逐渐获取上传请求与上传参数之间的最佳对应关系,从而实现动态调整优化上传参数的目的。
请继续参阅图2,示出了一种视频上传装置,在本实施例中,视频上传装置10可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述视频上传方法。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述视频上传装置10在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
配置模块11,适用于服务器端接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,其中,所述配置规则规定了所述上传请求和所述上传参数之间的匹配度;
视频接收模块12,适用于接收并存储所述客户端基于所述上传参数上传的所述目标视频;
调整模块13,适用于收集所述目标视频上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,基于所述传输质量重新计算所述匹配度。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图3所示。需要指出的是,图3仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如实施例一的视频上传装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行视频上传装置10,以实现实施例一的视频上传方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储视频上传装置10,被处理器执行时实现实施例一的视频上传方法。
请参阅图4,本发明还提供一种视频上传系统,包括客户端和服务端:
所述客户端用于向服务器端发送对于目标视频的上传请求,接收所述服务器端根据预设的配置规则发送的上传参数,并且基于所述上传参数向所述服务器端上传所述目标视频,其中,所述配置规则规定了所述上传参数和所述上传请求之间的匹配度;
所述服务端用于接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,接收并存储所述客户端基于所述上传参数上传的所述目标视频,收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。
实施例二
请参阅图5,本实施例的视频上传方法,适用于客户端,包括以下步骤:
S1:客户端向服务器端发送对于目标视频的上传请求,接收所述服务器端根据配置规则发送的上传参数,其中,所述配置规则规定了所述上传请求和所述上传参数之间的匹配度。
本发明中的视频上传请求包括两部分,第一部分是初始化请求,第二部分是存储空间请求。其中所述初始化请求中可以包括但不限于下列请求参数:视频名称(name)、业务类型(profile)、视频大小(size)、网络状态(net_state)、系统版本(os_version)、机型(device)、应用版本(build)等。总体来说,初始化请求主要是向服务器端上传客户端的环境信息,从而使服务器端能够根据这些环境信息匹配相应的上传参数。另外,本发明中的存储空间请求指的是向服务器端申请用于存储待上传的目标视频的存储空间。
基于初始化请求,客户端会接收到服务器发送的上传参数;基于存储空间请求,客户端会接收到服务器发挥的存储空间地址。
本发明的客户端的接收到的上传参数包括但不限于下列内容:上传节点列表(endpoints)、分片参数(chunk_size)、线程数量(threads)、重试次数(chunk_retry)、重试间隔时间(chunk_retry_delay)。其中上传节点列表(endpoints)中包含多个可供选择的CDN节点,这些CDN节点按照优先级顺序由高到低排列;分片参数(chunk_size)规定了将视频进行分片时每个分片包含的数据量大小;线程数量(threads)标识传输目标视频时可同时开启的线程个数;重试次数(chunk_retry)指的是当连接异常时,重复尝试连接可允许的最大尝试次数;重试间隔时间(chunk_retry_delay)则是指当连接异常时,再次尝试连接需要间隔的时间。
需要说明的是,本发明的客户端接收到的上传参数,是服务器端根据配置规则确定的。本发明中的配置规则规定了所述上传请求和所述上传参数之间的匹配度,并默认选择匹配度最高的上传参数作为目标上传参数。
S2:基于所述上传参数向所述服务器端上传所述目标视频。
本步骤中,客户端根据接收到的上传参数向服务器端上传目标视频。具体的,客户端会根据上传参数中的分片参数将所述目标视频划分为多个分片,通过CDN节点列表中具有最高优先级的第一CDN节点依次传输所述多个分片。
在传输过程中,客户端会根据上传参数中的具体数值,根据传输状态适时切换CDN节点。例如,当第一CDN节点在传输过程中发生连接异常时,客户端首先会根据上传参数中的重试次数(chunk_retry)和重试间隔时间(chunk_retry_delay)进行重试。假设重试次数(chunk_retry)为n次,重试间隔时间(chunk_retry_delay)为t秒。那么客户端会在第一CDN节点首次发生连接异常时,每个t秒重新连接第一CDN节点,直到尝试n次。如果尝试n次之后仍然连接异常,本发明中的客户端则会从CDN节点列表中选择排在第二优先级顺序的第二CDN节点,通过第二CDN节点上传所述目标视频的分片视频。本领域技术人员可以理解,当第二CDN节点也发生连接异常,并且尝试n次之后仍然没有成功连接时,本发明中的客户端会继续从CDN节点列表中选择排在第三优先级顺序的第三CDN节点,通过第三CDN节点上传所述目标视频的分片视频。
请继续参阅图6,本实施例的视频上传装置30以实施例一为基础,用以实现实施例二的视频上传方法,其包括的各程序模块的功能:
参数接收模块31,适用于客户端向服务器端发送对于目标视频的上传请求,接收所述服务器端根据配置规则发送的上传参数,其中,所述配置规则包含所述上传请求和所述上传参数之间的匹配度;
视频上传模块32,适用于基于所述上传参数向所述服务器端上传所述目标视频。
综上所述,本发明提出的视频上传方法和视频上传装置,首先通过预设的配置规则向客户端下发上传参数,以供客户端根据所述上传参数上传目标视频。通过视频传输过程中生成的日志文件,计算所述目标视频的传输质量,并且基于传输质量,通过计算匹配度的方式重新调整向客户端发送上传参数的配置规则。本发明通过不断采集日志文件监控视频传输质量,进而根据视频传输质量调整上传参数的配置规则,可以达到动态地不断优化调整上传参数的目的,从而不断提高视频上传的效率,优化用户体验。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
流程图中或在此以其它方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解,实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (6)

1.一种视频上传方法,其特征在于,所述方法应用于服务器端,包括以下步骤:
接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,其中,所述配置规则包含每个所述上传参数和所述上传请求之间的匹配度; 所述上传参数至少包括CDN节点列表和分片参数,所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点; 所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量;
接收并存储所述客户端基于所述上传参数上传的所述目标视频;
收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。
2.根据权利要求1所述的视频上传方法,其特征在于,所述服务器端接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数的步骤包括:
所述服务器端接收所述上传请求,并解析所述上传请求中的请求参数;
将与所述请求参数的匹配度最高的上传参数确认为目标上传参数;
将所述目标上传参数发送给所述客户端。
3.根据权利要求2所述的视频上传方法,其特征在于,所述接收并存储所述客户端基于所述上传参数上传的所述目标视频的步骤包括:
接收所述客户端通过第一CDN节点传输的多个分片视频,其中,所述第一CDN节点是在所述CDN节点列表中具有第一优先级的节点,每个所述分片视频包含的数据量与所述分片参数相同;
将所述多个分片视频合并为所述目标视频。
4.根据权利要求3所述的视频上传方法,其特征在于,所述接收并存储所述客户端基于所述上传参数上传的所述目标视频的步骤包括:
在所述第一CDN节点连接失败的情况下,接收所述客户端通过所述CDN节点列表中的第二CDN节点传输的多个分片视频,其中所述第二CDN节点是在所述CDN节点列表中具有第二优先级的节点;
将所述多个分片视频合并为所述目标视频。
5.根据权利要求2所述的视频上传方法,其特征在于,所述基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度的步骤包括:
基于所述日志文件计算所述目标视频的传输速度和传输成功率;
根据所述传输速度和传输成功率,确定所述CDN节点列表与所述上传请求之间的匹配度,以及所述分片参数与所述上传请求之间的匹配度。
6.一种视频上传系统,其特征在于,包括客户端和服务端:
所述客户端用于向服务器端发送对于目标视频的上传请求,接收所述服务器端根据预设的配置规则发送的上传参数,并且基于所述上传参数向所述服务器端上传所述目标视频,其中,所述配置规则规定了所述上传参数和所述上传请求之间的匹配度;所述上传参数至少包括CDN节点列表和分片参数,所述CDN节点列表是指根据优先级顺序排列的多个可用CDN节点; 所述分片参数是指将所述目标视频平均划分为多个分片时每个分片包含的数据量;
所述服务端用于接收客户端发送的对于目标视频的上传请求,根据配置规则向所述客户端发送上传参数,接收并存储所述客户端基于所述上传参数上传的所述目标视频,收集所述目标视频在上传过程中产生的日志文件,基于所述日志文件计算所述目标视频的传输质量,根据所述传输质量重新计算所述匹配度。
CN201910476276.XA 2019-06-03 2019-06-03 视频上传方法、视频上传装置及计算机可读存储介质 Active CN110213623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910476276.XA CN110213623B (zh) 2019-06-03 2019-06-03 视频上传方法、视频上传装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910476276.XA CN110213623B (zh) 2019-06-03 2019-06-03 视频上传方法、视频上传装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110213623A CN110213623A (zh) 2019-09-06
CN110213623B true CN110213623B (zh) 2021-08-06

Family

ID=67790417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910476276.XA Active CN110213623B (zh) 2019-06-03 2019-06-03 视频上传方法、视频上传装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110213623B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110753106A (zh) * 2019-10-17 2020-02-04 杭州涂鸦信息技术有限公司 文件上传方法及装置、电子设备
CN111245949A (zh) * 2020-01-19 2020-06-05 中国建设银行股份有限公司 文件归档传输方法、装置及设备
CN112615757B (zh) * 2020-12-11 2022-04-26 上海哔哩哔哩科技有限公司 内容分发网络链路评估方法及装置
CN113438499B (zh) * 2021-06-29 2023-02-03 北京奇艺世纪科技有限公司 数据上传和接收方法、装置、设备及存储介质
CN115334320B (zh) * 2022-07-04 2024-01-19 鹏博士大数据有限公司 云计算式上传数据分析系统
CN115334329B (zh) * 2022-08-09 2023-10-24 重庆数字涪陵大数据产业发展有限公司 大数据传输时长分析平台及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005367A (zh) * 2006-01-19 2007-07-25 华为技术有限公司 一种媒体流传输系统和媒体流传递质量控制方法
CN103167359A (zh) * 2013-03-27 2013-06-19 华为技术有限公司 Rtp媒体流的传输方法及装置
CN105245578A (zh) * 2015-09-11 2016-01-13 北京金山安全软件有限公司 一种上传数据的方法、数据上传系统及数据上传装置
CN105808342A (zh) * 2014-12-30 2016-07-27 中国电信股份有限公司 用于分配客户请求的方法、判断装置和系统
CN105897838A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种网络服务节点选择方法及装置
CN108304860A (zh) * 2018-01-04 2018-07-20 南京大学 一种面向多模态融合模式识别应用的高效分类器堆叠框架
CN108563499A (zh) * 2018-04-27 2018-09-21 努比亚技术有限公司 Cdn服务器切换方法、移动终端及计算机可读存储介质
CN108702640A (zh) * 2016-02-26 2018-10-23 日本电信电话株式会社 无线环境判断方法以及无线通信系统
CN109656911A (zh) * 2018-12-11 2019-04-19 江苏瑞中数据股份有限公司 分布式并行处理数据库系统及其数据处理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577817B (zh) * 2009-06-10 2012-05-23 中兴通讯股份有限公司 分布式视频监控系统及其保持数据一致性的方法
CN104836827B (zh) * 2014-06-25 2018-06-08 腾讯科技(北京)有限公司 基于非对称p2p网络的数据处理方法和系统
CN105338421A (zh) * 2014-08-05 2016-02-17 深圳国微技术有限公司 一种hls流媒体传输方法及装置
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
CN107809337A (zh) * 2017-11-17 2018-03-16 深圳泉眼体育运营管理有限公司 一种日志上传方法及装置
CN107948004B (zh) * 2017-12-29 2021-06-22 北京奇艺世纪科技有限公司 一种视频cdn调取优化方法及装置
CN108184149B (zh) * 2017-12-29 2021-04-20 北京奇艺世纪科技有限公司 一种视频cdn调度优化方法及装置
CN109618187B (zh) * 2018-11-15 2021-10-29 网宿科技股份有限公司 一种视频数据的获取方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005367A (zh) * 2006-01-19 2007-07-25 华为技术有限公司 一种媒体流传输系统和媒体流传递质量控制方法
CN103167359A (zh) * 2013-03-27 2013-06-19 华为技术有限公司 Rtp媒体流的传输方法及装置
CN105808342A (zh) * 2014-12-30 2016-07-27 中国电信股份有限公司 用于分配客户请求的方法、判断装置和系统
CN105245578A (zh) * 2015-09-11 2016-01-13 北京金山安全软件有限公司 一种上传数据的方法、数据上传系统及数据上传装置
CN105897838A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种网络服务节点选择方法及装置
CN108702640A (zh) * 2016-02-26 2018-10-23 日本电信电话株式会社 无线环境判断方法以及无线通信系统
CN108304860A (zh) * 2018-01-04 2018-07-20 南京大学 一种面向多模态融合模式识别应用的高效分类器堆叠框架
CN108563499A (zh) * 2018-04-27 2018-09-21 努比亚技术有限公司 Cdn服务器切换方法、移动终端及计算机可读存储介质
CN109656911A (zh) * 2018-12-11 2019-04-19 江苏瑞中数据股份有限公司 分布式并行处理数据库系统及其数据处理方法

Also Published As

Publication number Publication date
CN110213623A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110213623B (zh) 视频上传方法、视频上传装置及计算机可读存储介质
US10069894B2 (en) Electronic device, storage medium and file transferring method
WO2017096968A1 (zh) 日志上传方法及装置
US20140359084A1 (en) Electronic device, storage medium and file transferring method
CN110659151B (zh) 数据校验方法及装置,存储介质
CN103634361B (zh) 下载文件的方法和装置
CN110418154B (zh) 一种多媒体数据推送方法、装置及系统
WO2017215646A1 (zh) 数据传输方法和装置
CN109039724B (zh) 日志上传方法和装置
CN112367345A (zh) 数据处理方法、服务端设备及计算机可读存储介质
US11463494B2 (en) Balance of initial frame and limitation of traffic
CN114706658A (zh) 一种容器镜像数据处理方法、装置、设备及介质
CN112153132A (zh) 基于虚拟化管理平台的文件上传方法、装置及设备
US10855745B2 (en) Systems and methods for downloading data chunks using a varying number of simultaneous connections
CN106303563B (zh) 流媒体在线播放方法、装置、执行终端以及存储介质
CN110602229A (zh) 基于动态切片的终端系统版本下载方法、装置及系统
WO2017070420A1 (en) Proactively tuning a storage array
CN112445507A (zh) 一种设备的升级方法和装置
WO2015070666A1 (zh) 一种调整目标系统性能的方法、设备及系统
CN111104145B (zh) 一种Expander的带外更新方法和系统
CN112637357A (zh) 文件传输方法、装置和终端设备
CN108965463B (zh) 一种文件传输方法、装置和系统
CN109257256B (zh) 设备监控方法、装置、计算机设备及存储介质
CN109936609B (zh) 终端链式升级方法、装置及升级管理服务器
CN112800003A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40010930

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant