CN113301100A - 基于内容分发网络的数据容灾方法、装置、设备及介质 - Google Patents
基于内容分发网络的数据容灾方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113301100A CN113301100A CN202110105092.XA CN202110105092A CN113301100A CN 113301100 A CN113301100 A CN 113301100A CN 202110105092 A CN202110105092 A CN 202110105092A CN 113301100 A CN113301100 A CN 113301100A
- Authority
- CN
- China
- Prior art keywords
- data
- slice
- request
- distribution network
- content distribution
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开实施例公开了一种基于内容分发网络的数据容灾方法、装置、设备及介质,所述基于内容分发网络的数据容灾方法包括:基于内容分发网络获取推流数据;将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种基于内容分发网络的数据容灾方法、装置、设备及介质。
背景技术
随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
发明内容
本公开实施例提供一种基于内容分发网络的数据容灾方法、装置、设备及介质。
第一方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
基于内容分发网络获取推流数据;
将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
结合第一方面,本公开在第一方面的第一种实现方式中,所述基于内容分发网络获取推流数据,包括:
响应于检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,从所述数据中心节点获取所述推流数据。
结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,其中,所述切片数据包包括一个或多个与不同数据播放参数对应的切片数据,每一切片数据包括与预设数据播放参数对应的一个或多个切片文件,以及与预设数据播放参数对应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开实施例在第一方面的第三种实现方式中,所述将所述推流数据进行切片处理,得到切片数据包,包括:
确定一个或多个数据播放参数;
根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包。
第二方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
响应于接收到数据推流命令,获取推流数据;
向与推流域名对应的边缘节点发送推流请求;
响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
结合第二方面,本公开在第二方面的第一种实现方式中,所述向与推流域名对应的边缘节点发送推流请求,包括:
获取推流域名,并对所述推流域名进行解析得到边缘节点的推流地址;
根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
第三方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,其中,所述拉流数据包包括切片文件和切片索引数据;
将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
结合第三方面,本公开在第三方面的第一种实现方式中,所述响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,包括:
响应于接收到播放请求,对于所述播放请求进行解析,得到与所述播放请求对应的边缘节点的拉流地址;
基于所述边缘节点的拉流地址,经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求。
结合第三方面和第三方面的第一种实现方式,本公开实施例在第三方面的第二种实现方式中,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,被实施为:
响应于接收到两个或多个对象存储空间经所述内容分发网络区域中心节点和边缘节点发送的拉流请求确认消息,经所述内容分发网络区域中心节点和边缘节点从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包。
结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开实施例在第三方面的第三种实现方式中,所述拉流请求携带有预设数据播放参数;
所述从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据,被实施为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开实施例在第三方面的第四种实现方式中,其中,每一切片数据包括与所述预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有所述预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有所述预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和第三方面的第四种实现方式,本公开实施例在第三方面的第五种实现方式中,还包括:
根据所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放。
第四方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
推流请求方响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
服务器响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
拉流请求方响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
结合第四方面,本公开在第四方面的第一种实现方式中,服务器将所述推流数据进行切片处理,得到切片数据包,被实施为:
确定一个或多个数据播放参数,根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包;
所述拉流请求携带有预设数据播放参数;
拉流请求方从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据,被实施为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
第五方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
基于内容分发网络获取目标数据;
将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
第六方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
响应于接收到数据上传命令,获取目标数据;
向与数据上传域名对应的边缘节点发送数据上传请求;
响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
第七方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
第八方面,本公开实施例中提供了一种基于内容分发网络的数据容灾方法。
具体的,所述基于内容分发网络的数据容灾方法,包括:
数据上传请求方响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
服务器响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
第九方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第一获取模块,被配置为基于内容分发网络获取推流数据;
第一切片模块,被配置为将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第一存储模块,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
第十方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第二获取模块,被配置为响应于接收到数据推流命令,获取推流数据;
第一发送模块,被配置为向与推流域名对应的边缘节点发送推流请求;
第二发送模块,被配置为响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
第十一方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第三发送模块,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
第三获取模块,被配置为响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,其中,所述拉流数据包包括切片文件和切片索引数据;
第一确定模块,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
第十二方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
推流请求方,被配置为响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第一服务器,被配置为响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
拉流请求方,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
第十三方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第四获取模块,被配置为基于内容分发网络获取目标数据;
第二切片模块,被配置为将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第二存储模块,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
第十四方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第五获取模块,被配置为响应于接收到数据上传命令,获取目标数据;
第四发送模块,被配置为向与数据上传域名对应的边缘节点发送数据上传请求;
第五发送模块,被配置为响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
第十五方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
第六发送模块,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
第六获取模块,被配置为响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
第二确定模块,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
第十六方面,本公开实施例中提供了一种基于内容分发网络的数据容灾装置。
具体的,所述基于内容分发网络的数据容灾装置,包括:
数据上传请求方,被配置为响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第二服务器,被配置为响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
第十七方面,本公开实施例提供了一种电子设备,包括存储器和至少一个处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述至少一个处理器执行以实现上述基于内容分发网络的数据容灾方法的方法步骤。
第十八方面,本公开实施例提供了一种计算机可读存储介质,用于存储基于内容分发网络的数据容灾装置所用的计算机指令,其包含用于执行上述基于内容分发网络的数据容灾方法为基于内容分发网络的数据容灾装置所涉及的计算机指令。
第十九方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现上述基于内容分发网络的数据容灾方法的方法步骤。
本公开实施例提供的技术方案可以包括以下有益效果:
上述技术方案通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的流程图;
图2示出根据本公开另一实施方式的基于内容分发网络的数据容灾方法的流程图;
图3示出根据本公开另一实施方式的基于内容分发网络的数据容灾方法的流程图;
图4示出根据本公开再一实施方式的基于内容分发网络的数据容灾方法的流程图;
图5A示出根据现有技术的数据容灾方法的整体流程图;
图5B示出根据现有技术的数据容灾方法的逻辑图;
图5C示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的整体流程图;
图5D示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的逻辑图;
图6示出根据本公开一实施方式的基于内容分发网络的数据容灾装置的结构框图;
图7示出根据本公开另一实施方式的基于内容分发网络的数据容灾装置的结构框图;
图8示出根据本公开另一实施方式的基于内容分发网络的数据容灾装置的结构框图;
图9示出根据本公开再一实施方式的基于内容分发网络的数据容灾装置的结构框图;
图10示出根据本公开一实施方式的电子设备的结构框图;
图11是适于用来实现根据本公开一实施方式的基于内容分发网络的数据容灾方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
本公开实施例提供的技术方案通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
图1示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的流程图,如图1所示,所述基于内容分发网络的数据容灾方法包括以下步骤S101-S103:
在步骤S101中,基于内容分发网络获取推流数据;
在步骤S102中,将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
在步骤S103中,将所述切片数据存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾方法,该方法通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾方法可适用于基于内容分发网络对于数据进行容灾处理的服务器端。
在本公开一实施方式中,所述推流数据指的是需要从本地传输至网络上进行存储或供其他用户下载的数据,比如在直播场景中,所述推流数据指的就是现场直播的视频数据。
在本公开一实施方式中,所述切片处理指的是将所述推流数据切分成一个或多个小片段,以方便用户的分时下载。
在本公开一实施方式中,所述切片数据包包括切片文件和切片索引数据,其中,所述切片文件为对于所述推流数据进行切分得到的一个或多个小片段,所述切片索引数据指的是用于对于所述切片文件进行索引,记载有切片文件下载地址、切片文件顺序信息和切片索引数据生成时间的数据文件。所述切片索引数据与所述切片文件相对应,基于所述切片索引数据可获取所有相关的切片文件及其播放顺序,也即,基于所述切片索引数据可实现相关切片文件的下载及顺序播放。
在本公开另一实施方式中,所述切片数据包包括一个或多个与不同数据播放参数对应的切片数据,每一切片数据包括与其中一个预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
在本公开一实施方式中,所述数据播放参数比如可以为播放码率、可用带宽等参数。以播放码率为例,假设常用播放码率有三种:播放码率1、播放码率2和播放码率3,则所述切片数据包就可包括三个切片数据:播放码率1对应的切片数据1、播放码率2对应的切片数据2和播放码率3对应的切片数据3,切片数据1包括播放码率1对应的一个或多个切片文件及相应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括播放码率1对应的次级切片索引数据的下载地址,所述次级切片索引数据包括播放码率1对应的一个或多个切片文件的下载地址、所述切片文件的顺序信息和次级切片索引数据的生成时间,切片数据2和切片数据3的内容以此类推。
在本公开一实施方式中,所述对象存储空间指的是以对象存储为存储方式的、用于存储所述切片数据包的存储空间。其中,为了实现数据的备份及容灾,存储至所述两个或多个对象存储空间内的切片数据包为相同切片数据包。
在本公开一实施方式中,所述多重拉流指的是所述拉流请求方从存储有所述切片数据包的所述两个或多个对象存储空间内拉取所述切片数据包。
在上述实施方式中,在服务器端获取推流数据后,先对所述推流数据进行切片处理,得到由切片文件和切片索引数据组成的切片数据包,然后将得到的所述切片数据包存储至两个或多个对象存储空间内,这样拉流请求方在后续申请拉流时,就可向所述两个或多个对象存储空间同时申请拉流,以获得所述切片数据包及其备份数据,以应对若某一切片服务或者对象存储空间出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题。
在本公开一实施方式中,所述步骤S101,即基于内容分发网络获取推流数据的步骤,可包括以下步骤:
响应于检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,从所述数据中心节点获取所述推流数据。
在该实施方式中,若所述服务器端检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,则从所述数据中心节点处获取所述推流数据。其中,所述推流请求方指的是请求进行数据推流的一方,比如直播方、电视台等等。其中,所述数据中心节点为距离所述服务器端较近的一个数据传输节点,所述推流数据从推流请求方发出后,会依次经过距离所述推流请求方较近的边缘节点,以及内容分发网络区域中心节点,到达所述数据中心节点。
在本公开一实施方式中,所述步骤S103,即将所述推流数据进行切片处理,得到切片数据包的步骤,可包括以下步骤:
确定一个或多个数据播放参数;
根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包。
上文提及,所述切片数据包可与不同的数据播放参数相对应,以供不同需求的用户索取。因此,在该实施方式中,在对于所述推流数据进行切片处理时,首先确定可能会被用到的一个或多个数据播放参数,比如上文提及的播放码率1、播放码率2和播放码率3三种播放码率;然后根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包,比如,与播放码率1对应的切片数据1、与播放码率2对应的切片数据2以及与播放码率3对应的切片数据3。
图2示出根据本公开另一实施方式的基于内容分发网络的数据容灾方法的流程图,如图2所示,所述基于内容分发网络的数据容灾方法包括以下步骤S201-S203:
在步骤S201中,响应于接收到数据推流命令,获取推流数据;
在步骤S202中,向与推流域名对应的边缘节点发送推流请求;
在步骤S203中,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使中心节点从所述数据中心节点处获取所述推流数据进行容灾处理。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾方法,该方法将推流数据通过边缘节点和内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾方法可适用于基于内容分发网络对于数据进行容灾处理的推流请求方。
在本公开一实施方式中,所述数据推流命令指的是用于启动数据推流操作的命令,其中,所述数据推流命令可由用户发出,也可由推流请求方系统自动发出。
在本公开一实施方式中,所述推流域名指的是预先设置的、用于接收推流数据的域名信息,所述推流域名对应设置有相应的数据传输节点和服务器,即通过对于所述推流域名可获得与所述推流请求方距离最近的边缘节点的推流地址,即数据上传地址。
在上述实施方式中,在接收到数据推流命令并获取推流数据后,即可向与推流域名对应的边缘节点发送推流请求,并在接收到所述边缘节点对于所述推流请求的确认信息后,将所述推流数据通过所述边缘节点、与所述边缘节点对应的内容分发网络区域中心节点发送至与所述内容分发网络区域中心节点对应的数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
在本公开一实施方式中,所述步骤S202,即向与推流域名对应的边缘节点发送推流请求的步骤,可包括以下步骤:
获取推流域名,并对所述推流域名进行解析得到边缘节点的推流地址;
根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
上文提及,所述推流域名对应设置有相应的数据传输节点和服务器,因此,在该实施方式中,可借助对于所述推流域名的解析来得到与所述推流请求方距离最近的边缘节点的推流地址,然后即可根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
图2所示及相关实施方式中涉及的技术术语和技术特征与图1所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图2所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1所示及相关实施方式的解释的说明,此处不再赘述。
图3示出根据本公开另一实施方式的基于内容分发网络的数据容灾方法的流程图,如图3所示,所述基于内容分发网络的数据容灾方法包括以下步骤S301-S303:
在步骤S301中,响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
在步骤S302中,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据,其中,所述拉流数据包括切片文件和切片索引数据;
在步骤S303中,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据确定为目标拉流数据。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾方法,该方法通过对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾方法可适用于基于内容分发网络对于数据进行容灾处理的拉流请求方。
在本公开一实施方式中,所述播放请求指的是播放某一流媒体数据的请求,其中,所述播放请求可由用户发出,也可由所述拉流请求方自动发出。
在本公开一实施方式中,所述播放请求携带有目标播放数据的标识信息,所述目标播放数据的标识信息与存储有所述目标播放数据的对象存储空间存在预设对应关系,而所述对象存储空间与到达所述对象存储空间的数据传输节点也存在对应关系,因此,根据所述目标播放数据的标识信息可确定存储有所述目标播放数据的对象存储空间。
在上述实施方式中,拉流请求方在接收到播放请求后,根据所述播放请求确定与所述播放请求对应的两个或多个对象存储空间,然后向所述对象存储空间发送拉流请求,在所述拉流请求被确认后,从所述两个或多个对象存储空间内获取与所述播放请求对应的两个或多个拉流数据,最后将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据,即最新的拉流数据确定为目标播放数据。
在本公开一实施方式中,所述步骤S301,即响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求的步骤,可包括以下步骤:
响应于接收到播放请求,对于所述播放请求进行解析,得到与所述播放请求对应的边缘节点的拉流地址;
通过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求。
上文提及,所述播放请求携带有目标播放数据的标识信息,所述目标播放数据的标识信息与存储有所述目标播放数据的对象存储空间存在预设对应关系,而所述对象存储空间与到达所述对象存储空间的数据传输节点也存在对应关系,因此,根据所述目标播放数据的标识信息可确定存储有所述目标播放数据的对象存储空间,即在该实施方式中,在接收到播放请求后,通过对其进行解析,即可得到与所述播放请求对应的边缘节点的拉流地址;然后基于所述边缘节点的拉流地址,经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点可向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求,以获取拉流数据。
在该实施方式中,所述步骤S302,即响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包的步骤,可被实施为:
响应于接收到两个或多个对象存储空间经所述内容分发网络区域中心节点和边缘节点发送的拉流请求确认消息,经所述内容分发网络区域中心节点和边缘节点从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包。
上文提及,所述播放请求经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点到达对象存储空间,因此,对象存储空间对于拉流请求的确认消息页也需经所述内容分发网络区域中心节点和边缘节点返回拉流请求方,类似地,所述拉流请求方需经所述内容分发网络区域中心节点和边缘节点请求从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据。
在本公开一实施方式中,所述拉流请求携带有预设数据播放参数,其中,所述数据播放参数比如可以为播放码率、可用带宽等参数。
在该实施方式中,所述从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据的步骤,可被实施为:
所述从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
上文提及,不同用户可能具有不同的需求,比如不同用户可能可用带宽情况不同,性能不同,因此所能播放的流媒体的码率也就不尽相同,此时可基于所述拉流请求携带的用户适用的数据播放参数,从所述对象存储空间内获取与所述数据播放参数对应的拉流数据。
在该实施方式中,每一切片数据包括与所述预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有所述预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有所述预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
在本公开一实施方式中,所述方法还可包括以下步骤:
根据所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放。
在该实施方式中,可首先基于获取得到的所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,再根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,然后根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放,这样拉流请求方就可观看到连续播放的直播内容了。
图3所示及相关实施方式中涉及的技术术语和技术特征与图1-2所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图3所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-2所示及相关实施方式的解释的说明,此处不再赘述。
图4示出根据本公开另一实施方式的基于内容分发网络的数据容灾方法的流程图,如图4所示,所述基于内容分发网络的数据容灾方法包括以下步骤S401-S403:
在步骤S401中,推流请求方响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
在步骤S402中,服务器响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
在步骤S403中,拉流请求方响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种数据容灾方法,该方法通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾方法可适用于基于内容分发网络的对于数据进行容灾处理的、包括推流请求方、服务器和拉流请求方的数据容灾系统。
在本公开一实施方式中,服务器将所述推流数据进行切片处理,得到切片数据包的步骤,可被实施为:
确定一个或多个数据播放参数,根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包;
所述拉流请求携带有预设数据播放参数;
拉流请求方从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据的步骤,可被实施为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
图4所示及相关实施方式中涉及的技术术语和技术特征与图1-3所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图4所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-3所示及相关实施方式的解释的说明,此处不再赘述。
图5A示出根据现有技术的数据容灾方法的整体流程图,图5B示出根据现有技术的数据容灾方法的逻辑图,如图5A和图5B所示,首先推流请求方响应于接收到数据推流命令,获取推流数据,将所述推流数据通过边缘节点、内容分发网络区域中心节点发送至数据中心节点;服务器响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至对象存储空间内;拉流请求方响应于接收到播放请求,通过所述边缘节点和内容分发网络区域中心节点从对象存储空间获取拉流数据包,将其确定为目标播放数据。
图5C示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的整体流程图,图5D示出根据本公开一实施方式的基于内容分发网络的数据容灾方法的逻辑图,如图5C和图5D所示,假设对象存储空间共有两个:对象存储空间1和对象存储空间2,首先推流请求方响应于接收到数据推流命令,基于内容分发网络获取推流数据,将所述推流数据通过边缘节点、内容分发网络区域中心节点发送至数据中心节点;服务器响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至对象存储空间1和对象存储空间2内;拉流请求方响应于接收到播放请求,通过所述边缘节点和内容分发网络区域中心节点从对象存储空间1和对象存储空间2获取两个拉流数据包,将两个拉流数据包中切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾方法,所述基于内容分发网络的数据容灾方法包括以下步骤:
基于内容分发网络获取目标数据;
将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾方法,所述基于内容分发网络的数据容灾方法包括以下步骤:
响应于接收到数据上传命令,获取目标数据;
向与数据上传域名对应的边缘节点发送数据上传请求;
响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾方法,所述基于内容分发网络的数据容灾方法包括以下步骤:
响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
根据本公开再一实施方式,还提出一种基于内容分发网络的数据容灾方法,所述基于内容分发网络的数据容灾方法包括以下步骤:
数据上传请求方响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
服务器响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
上述数据容灾方法除了可应用于上述直播数据处理场景中,还可应用于其他数据的处理场景中,此时,所述数据获取请求方为想要从服务器处获取数据的一方,相应的,所述目标数据为数据上传方上传至服务器的、所述数据获取请求方想要从所述服务器获取的数据。与上文实施方式类似,所述数据上传方将目标数据上传至服务器,服务器对于所述目标数据进行切片处理,并将得到的切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方从所述两个或多个对象存储空间进行多重数据获取。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图6示出根据本公开一实施方式的基于内容分发网络的数据容灾装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述基于内容分发网络的数据容灾装置包括:
第一获取模块601,被配置为基于内容分发网络获取推流数据;
第一切片模块602,被配置为将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第一存储模块603,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾装置,该装置通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾装置可实现为基于内容分发网络对于数据进行容灾处理的服务器端。
在本公开一实施方式中,所述推流数据指的是需要从本地传输至网络上进行存储或供其他用户下载的数据,比如在直播场景中,所述推流数据指的就是现场直播的视频数据。
在本公开一实施方式中,所述切片处理指的是将所述推流数据切分成一个或多个小片段,以方便用户的分时下载。
在本公开一实施方式中,所述切片数据包包括切片文件和切片索引数据,其中,所述切片文件为对于所述推流数据进行切分得到的一个或多个小片段,所述切片索引数据指的是用于对于所述切片文件进行索引,记载有切片文件下载地址、切片文件顺序信息和切片索引数据生成时间的数据文件。所述切片索引数据与所述切片文件相对应,基于所述切片索引数据可获取所有相关的切片文件及其播放顺序,也即,基于所述切片索引数据可实现相关切片文件的下载及顺序播放。
在本公开另一实施方式中,所述切片数据包包括一个或多个与不同数据播放参数对应的切片数据,每一切片数据包括与其中一个预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
在本公开一实施方式中,所述数据播放参数比如可以为播放码率、可用带宽等参数。以播放码率为例,假设常用播放码率有三种:播放码率1、播放码率2和播放码率3,则所述切片数据包就可包括三个切片数据:播放码率1对应的切片数据1、播放码率2对应的切片数据2和播放码率3对应的切片数据3,切片数据1包括播放码率1对应的一个或多个切片文件及相应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括播放码率1对应的次级切片索引数据的下载地址,所述次级切片索引数据包括播放码率1对应的一个或多个切片文件的下载地址、所述切片文件的顺序信息和次级切片索引数据的生成时间,切片数据2和切片数据3的内容以此类推。
在本公开一实施方式中,所述对象存储空间指的是以对象存储为存储方式的、用于存储所述切片数据包的存储空间。其中,为了实现数据的备份及容灾,存储至所述两个或多个对象存储空间内的切片数据包为相同切片数据包。
在本公开一实施方式中,所述多重拉流指的是所述拉流请求方从存储有所述切片数据包的所述两个或多个对象存储空间内拉取所述切片数据包。
在上述实施方式中,在服务器端获取推流数据后,先对所述推流数据进行切片处理,得到由切片文件和切片索引数据组成的切片数据包,然后将得到的所述切片数据包存储至两个或多个对象存储空间内,这样拉流请求方在后续申请拉流时,就可向所述两个或多个对象存储空间同时申请拉流,以获得所述切片数据包及其备份数据,以应对若某一切片服务或者对象存储空间出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题。
在本公开一实施方式中,所述第一获取模块601可被配置为:
响应于检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,从所述数据中心节点获取所述推流数据。
在该实施方式中,若所述服务器端检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,则从所述数据中心节点处获取所述推流数据。其中,所述推流请求方指的是请求进行数据推流的一方,比如直播方、电视台等等。其中,所述数据中心节点为距离所述服务器端较近的一个数据传输节点,所述推流数据从推流请求方发出后,会依次经过距离所述推流请求方较近的边缘节点,以及内容分发网络区域中心节点,到达所述数据中心节点。
在本公开一实施方式中,所述第一切片模块603可被配置为:
确定一个或多个数据播放参数;
根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包。
上文提及,所述切片数据包可与不同的数据播放参数相对应,以供不同需求的用户索取。因此,在该实施方式中,在对于所述推流数据进行切片处理时,首先确定可能会被用到的一个或多个数据播放参数,比如上文提及的播放码率1、播放码率2和播放码率3三种播放码率;然后根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包,比如,与播放码率1对应的切片数据1、与播放码率2对应的切片数据2以及与播放码率3对应的切片数据3。
图7示出根据本公开一实施方式的基于内容分发网络的数据容灾装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述基于内容分发网络的数据容灾装置包括:
第二获取模块701,被配置为响应于接收到数据推流命令,获取推流数据;
第一发送模块702,被配置为向与推流域名对应的边缘节点发送推流请求;
第二发送模块703,被配置为响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾装置,该装置将推流数据通过边缘节点和内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾装置可实现为基于内容分发网络对于数据进行容灾处理的推流请求方。
在本公开一实施方式中,所述数据推流命令指的是用于启动数据推流操作的命令,其中,所述数据推流命令可由用户发出,也可由推流请求方系统自动发出。
在本公开一实施方式中,所述推流域名指的是预先设置的、用于接收推流数据的域名信息,所述推流域名对应设置有相应的数据传输节点和服务器,即通过对于所述推流域名可获得与所述推流请求方距离最近的边缘节点的推流地址,即数据上传地址。
在上述实施方式中,在接收到数据推流命令并获取推流数据后,即可向与推流域名对应的边缘节点发送推流请求,并在接收到所述边缘节点对于所述推流请求的确认信息后,将所述推流数据通过所述边缘节点、与所述边缘节点对应的内容分发网络区域中心节点发送至与所述内容分发网络区域中心节点对应的数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
在本公开一实施方式中,所述第一发送模块702可被配置为:
获取推流域名,并对所述推流域名进行解析得到边缘节点的推流地址;
根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
上文提及,所述推流域名对应设置有相应的数据传输节点和服务器,因此,在该实施方式中,可借助对于所述推流域名的解析来得到与所述推流请求方距离最近的边缘节点的推流地址,然后即可根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
图7所示及相关实施方式中涉及的技术术语和技术特征与图6所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图7所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图7所示及相关实施方式的解释的说明,此处不再赘述。
图8示出根据本公开一实施方式的基于内容分发网络的数据容灾装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,所述基于内容分发网络的数据容灾装置包括:
第三发送模块801,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
第三获取模块802,被配置为响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,其中,所述拉流数据包包括切片文件和切片索引数据;
第一确定模块803,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾装置,该装置通过对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾装置可实现为基于内容分发网络对于数据进行容灾处理的拉流请求方。
在本公开一实施方式中,所述播放请求指的是播放某一流媒体数据的请求,其中,所述播放请求可由用户发出,也可由所述拉流请求方自动发出。
在本公开一实施方式中,所述播放请求携带有目标播放数据的标识信息,所述目标播放数据的标识信息与存储有所述目标播放数据的对象存储空间存在预设对应关系,而所述对象存储空间与到达所述对象存储空间的数据传输节点也存在对应关系,因此,根据所述目标播放数据的标识信息可确定存储有所述目标播放数据的对象存储空间。
在上述实施方式中,拉流请求方在接收到播放请求后,根据所述播放请求确定与所述播放请求对应的两个或多个对象存储空间,然后向所述对象存储空间发送拉流请求,在所述拉流请求被确认后,从所述两个或多个对象存储空间内获取与所述播放请求对应的两个或多个拉流数据,最后将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据,即最新的拉流数据确定为目标播放数据。
在本公开一实施方式中,所述第三发送模块801可被配置为:
响应于接收到播放请求,对于所述播放请求进行解析,得到与所述播放请求对应的边缘节点的拉流地址;
通过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求。
上文提及,所述播放请求携带有目标播放数据的标识信息,所述目标播放数据的标识信息与存储有所述目标播放数据的对象存储空间存在预设对应关系,而所述对象存储空间与到达所述对象存储空间的数据传输节点也存在对应关系,因此,根据所述目标播放数据的标识信息可确定存储有所述目标播放数据的对象存储空间,即在该实施方式中,在接收到播放请求后,通过对其进行解析,即可得到与所述播放请求对应的边缘节点的拉流地址;然后基于所述边缘节点的拉流地址,经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点可向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求,以获取拉流数据。
在该实施方式中,所述第三获取模块802被配置为:
响应于接收到两个或多个对象存储空间经所述内容分发网络区域中心节点和边缘节点发送的拉流请求确认消息,经所述内容分发网络区域中心节点和边缘节点从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包。
上文提及,所述播放请求经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点到达对象存储空间,因此,对象存储空间对于拉流请求的确认消息页也需经所述内容分发网络区域中心节点和边缘节点返回拉流请求方,类似地,所述拉流请求方需经所述内容分发网络区域中心节点和边缘节点请求从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据。
在本公开一实施方式中,所述拉流请求携带有预设数据播放参数,其中,所述数据播放参数比如可以为播放码率、可用带宽等参数。
在该实施方式中,所述从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据的部分,可被配置为:
所述从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
上文提及,不同用户可能具有不同的需求,比如不同用户可能可用带宽情况不同,性能不同,因此所能播放的流媒体的码率也就不尽相同,此时可基于所述拉流请求携带的用户适用的数据播放参数,从所述对象存储空间内获取与所述数据播放参数对应的拉流数据。
在该实施方式中,每一切片数据包括与所述预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有所述预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有所述预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
在本公开一实施方式中,所述装置还可包括:
播放模块,被配置为根据所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放。
在该实施方式中,可首先基于获取得到的所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,再根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,然后根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放,这样拉流请求方就可观看到连续播放的直播内容了。
图8所示及相关实施方式中涉及的技术术语和技术特征与图6-7所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图8所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图6-7所示及相关实施方式的解释的说明,此处不再赘述。
图9示出根据本公开另一实施方式的基于内容分发网络的数据容灾装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图9所示,所述基于内容分发网络的数据容灾装置包括:
推流请求方901,被配置为响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第一服务器902,被配置为响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
拉流请求方903,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
上文提及,随着互联网技术的发展,越来越多的互联网直播平台和手机直播应用应运而生。在很多直播场景中,比如大型活动类直播,由于与观看方互动较少,对直播延时要求较低,因此大多使用HLS协议进行直播,HLS是一种基于HTTP的流媒体网络传输协议,其请求仅使用HTTP传输,因此可被任何允许HTTP数据通过的防火墙或代理服务器所支持,也便于使用基于HTTP的内容分发网络来传输流媒体数据,其基本原理是服务端把文件或媒体流按照不同的码率切分成多个小片段进行传输,客户端可根据自身的带宽及性能限制,选择适合码率的码流进行下载播放。但在上述流媒体数据传输过程中,若切片服务或者用于存储切片片段的对象存储出现故障,将会导致流媒体数据获取失败,进而引发直播卡断、降低直播服务质量。
考虑到上述缺陷,在该实施方式中,提出一种基于内容分发网络的数据容灾装置,该装置通过对于切片数据进行多重存储,以及对于切片数据的多重回源来实现对于流媒体数据的容灾处理。该技术方案能够避免出现流媒体数据传输过程中,切片服务或者用于存储切片片段的对象存储出现故障而导致的流媒体数据获取失败,进而引发直播卡断的问题,从而能够有效提升直播服务质量。
在本公开一实施方式中,所述基于内容分发网络的数据容灾装置可实现为基于内容分发网络对于数据进行容灾处理的、包括推流请求方、服务器和拉流请求方的数据容灾系统。
在本公开一实施方式中,服务器将所述推流数据进行切片处理,得到切片数据包的部分,可被配置为:
确定一个或多个数据播放参数,根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包;
所述拉流请求携带有预设数据播放参数;
拉流请求方从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据的部分,可被配置为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
图9所示及相关实施方式中涉及的技术术语和技术特征与图6-8所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图9所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图6-8所示及相关实施方式的解释的说明,此处不再赘述。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾装置,所述基于内容分发网络的数据容灾装置包括:
第四获取模块,被配置为基于内容分发网络获取目标数据;
第二切片模块,被配置为将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第二存储模块,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾装置,所述基于内容分发网络的数据容灾装置包括:
第五获取模块,被配置为响应于接收到数据上传命令,获取目标数据;
第四发送模块,被配置为向与数据上传域名对应的边缘节点发送数据上传请求;
第五发送模块,被配置为响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
根据本公开另一实施方式,还提出一种基于内容分发网络的数据容灾装置,所述基于内容分发网络的数据容灾装置包括:
第六发送模块,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
第六获取模块,被配置为响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
第二确定模块,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
根据本公开再一实施方式,还提出一种基于内容分发网络的数据容灾装置,所述基于内容分发网络的数据容灾装置包括:
数据上传请求方,被配置为响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第二服务器,被配置为响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
上述数据容灾装置除了可应用于上述直播数据处理场景中,还可应用于其他数据的处理场景中,此时,所述数据获取请求方为想要从服务器处获取数据的一方,相应的,所述目标数据为数据上传方上传至服务器的、所述数据获取请求方想要从所述服务器获取的数据。与上文实施方式类似,所述数据上传方将目标数据上传至服务器,服务器对于所述目标数据进行切片处理,并将得到的切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方从所述两个或多个对象存储空间进行多重数据获取。
本公开还公开了一种电子设备,图10示出根据本公开一实施方式的电子设备的结构框图,如图10所示,所述电子设备1000包括存储器1001和处理器1002;其中,
所述存储器1001用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1002执行以实现上述方法步骤。
图11是适于用来实现根据本公开一实施方式的数据容灾方法的计算机系统的结构示意图。
如图11所示,计算机系统1100包括处理单元1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述实施方式中的各种处理。在RAM1103中,还存储有系统1100操作所需的各种程序和数据。处理单元1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。其中,所述处理单元1101可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (29)
1.一种基于内容分发网络的数据容灾方法,包括:
基于内容分发网络获取推流数据;
将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
2.根据权利要求1所述的方法,所述基于内容分发网络获取推流数据,包括:
响应于检测到数据中心节点接收到推流请求方基于内容分发网络发送的推流数据,从所述数据中心节点获取所述推流数据。
3.根据权利要求2所述的方法,其中,所述切片数据包包括一个或多个与不同数据播放参数对应的切片数据,每一切片数据包括与预设数据播放参数对应的一个或多个切片文件,以及与预设数据播放参数对应的切片索引数据,其中,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
4.根据权利要求3所述的方法,所述将所述推流数据进行切片处理,得到切片数据包,包括:
确定一个或多个数据播放参数;
根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包。
5.一种基于内容分发网络的数据容灾方法,包括:
响应于接收到数据推流命令,获取推流数据;
向与推流域名对应的边缘节点发送推流请求;
响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
6.根据权利要求5所述的方法,所述向与推流域名对应的边缘节点发送推流请求,包括:
获取推流域名,并对所述推流域名进行解析得到边缘节点的推流地址;
根据所述边缘节点的推流地址向所述边缘节点发送推流请求。
7.一种基于内容分发网络的数据容灾方法,包括:
响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,其中,所述拉流数据包包括切片文件和切片索引数据;
将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
8.根据权利要求7所述的方法,所述响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,包括:
响应于接收到播放请求,对于所述播放请求进行解析,得到与所述播放请求对应的边缘节点的拉流地址;
基于所述边缘节点的拉流地址,经过所述边缘节点以及与所述边缘节点对应的内容分发网络区域中心节点向与内容分发网络区域中心节点对应的两个或多个对象存储空间发送拉流请求。
9.根据权利要求8所述的方法,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,被实施为:
响应于接收到两个或多个对象存储空间经所述内容分发网络区域中心节点和边缘节点发送的拉流请求确认消息,经所述内容分发网络区域中心节点和边缘节点从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包。
10.根据权利要求7-9所述的方法,所述拉流请求携带有预设数据播放参数;
所述从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据,被实施为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
11.根据权利要求10所述的方法,其中,每一切片数据包括与所述预设数据播放参数对应的一个或多个切片文件,以及与所述预设数据播放参数对应的切片索引数据,所述切片索引数据包括首级切片索引数据和次级切片索引数据,所述首级切片索引数据包括具有所述预设数据播放参数的次级切片索引数据的下载地址,所述次级切片索引数据包括具有所述预设数据播放参数的切片文件下载地址、切片文件顺序信息和次级切片索引数据生成时间。
12.根据权利要求11所述的方法,还包括:
根据所述首级切片索引数据获取具有所述预设数据播放参数的次级切片索引数据的下载地址,根据所述次级切片索引数据的下载地址获取所述次级切片索引数据,根据所述次级切片索引数据中的切片文件下载地址获取所述切片文件,并根据所述次级切片索引数据中的切片文件顺序信息对于所述切片文件进行播放。
13.一种基于内容分发网络的数据容灾方法,包括:
推流请求方响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
服务器响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
拉流请求方响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
14.根据权利要求13所述的方法,服务器将所述推流数据进行切片处理,得到切片数据包,被实施为:
确定一个或多个数据播放参数,根据所述一个或多个数据播放参数对于所述推流数据分别进行切片处理,得到一个或多个与不同数据播放参数对应的切片数据包;
所述拉流请求携带有预设数据播放参数;
拉流请求方从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据,被实施为:
从所述两个或多个对象存储空间内获取与所述预设数据播放参数对应的两个或多个拉流数据。
15.一种基于内容分发网络的数据容灾方法,包括:
基于内容分发网络获取目标数据;
将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
16.一种基于内容分发网络的数据容灾方法,包括:
响应于接收到数据上传命令,获取目标数据;
向与数据上传域名对应的边缘节点发送数据上传请求;
响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
17.一种基于内容分发网络的数据容灾方法,包括:
响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
18.一种基于内容分发网络的数据容灾方法,包括:
数据上传请求方响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
服务器响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
19.一种基于内容分发网络的数据容灾装置,包括:
第一获取模块,被配置为基于内容分发网络获取推流数据;
第一切片模块,被配置为将所述推流数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第一存储模块,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供拉流请求方进行多重拉流。
20.一种基于内容分发网络的数据容灾装置,包括:
第二获取模块,被配置为响应于接收到数据推流命令,获取推流数据;
第一发送模块,被配置为向与推流域名对应的边缘节点发送推流请求;
第二发送模块,被配置为响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述推流数据进行容灾处理。
21.一种基于内容分发网络的数据容灾装置,包括:
第三发送模块,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求;
第三获取模块,被配置为响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,其中,所述拉流数据包包括切片文件和切片索引数据;
第一确定模块,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
22.一种基于内容分发网络的数据容灾装置,包括:
推流请求方,被配置为响应于接收到数据推流命令,获取推流数据,向与推流域名对应的边缘节点发送推流请求,响应于接收到所述边缘节点对于所述推流请求的确认信息,将所述推流数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第一服务器,被配置为响应于检测到数据中心节点接收到推流数据,从所述数据中心节点获取所述推流数据,将所述推流数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
拉流请求方,被配置为响应于接收到播放请求,基于内容分发网络向与所述播放请求对应的两个或多个对象存储空间发送拉流请求,响应于接收到两个或多个对象存储空间发送的拉流请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个拉流数据包,将切片索引数据生成时间与当前时间之间的时间差最小的拉流数据包确定为目标播放数据。
23.一种基于内容分发网络的数据容灾装置,包括:
第四获取模块,被配置为基于内容分发网络获取目标数据;
第二切片模块,被配置为将所述目标数据进行切片处理,得到切片数据包,其中,所述切片数据包包括切片文件和切片索引数据;
第二存储模块,被配置为将所述切片数据包存储至两个或多个对象存储空间内,以供数据获取请求方进行多重数据获取。
24.一种基于内容分发网络的数据容灾装置,包括:
第五获取模块,被配置为响应于接收到数据上传命令,获取目标数据;
第四发送模块,被配置为向与数据上传域名对应的边缘节点发送数据上传请求;
第五发送模块,被配置为响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点,以使服务器从所述数据中心节点处获取所述目标数据进行容灾处理。
25.一种基于内容分发网络的数据容灾装置,包括:
第六发送模块,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求;
第六获取模块,被配置为响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,其中,所述数据包包括切片文件和切片索引数据;
第二确定模块,被配置为将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
26.一种基于内容分发网络的数据容灾装置,包括:
数据上传请求方,被配置为响应于接收到数据上传命令,获取目标数据,向与数据上传域名对应的边缘节点发送数据上传请求,响应于接收到所述边缘节点对于所述数据上传请求的确认信息,将所述目标数据通过所述边缘节点、内容分发网络区域中心节点发送至数据中心节点;
第二服务器,被配置为响应于检测到数据中心节点接收到目标数据,从所述数据中心节点获取所述目标数据,将所述目标数据进行切片处理,得到切片数据包,将所述切片数据包存储至两个或多个对象存储空间内;
数据获取请求方,被配置为响应于接收到数据使用请求,基于内容分发网络向与所述数据使用请求对应的两个或多个对象存储空间发送数据获取请求,响应于接收到两个或多个对象存储空间发送的数据获取请求确认消息,从所述两个或多个对象存储空间内获取对应的两个或多个数据包,将切片索引数据生成时间与当前时间之间的时间差最小的数据包确定为目标数据。
27.一种电子设备,包括存储器和至少一个处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述至少一个处理器执行以实现权利要求1-18任一项所述的方法步骤。
28.一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1-18任一项所述的方法步骤。
29.一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现权利要求1-18任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105092.XA CN113301100A (zh) | 2021-01-26 | 2021-01-26 | 基于内容分发网络的数据容灾方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110105092.XA CN113301100A (zh) | 2021-01-26 | 2021-01-26 | 基于内容分发网络的数据容灾方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113301100A true CN113301100A (zh) | 2021-08-24 |
Family
ID=77318860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110105092.XA Pending CN113301100A (zh) | 2021-01-26 | 2021-01-26 | 基于内容分发网络的数据容灾方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113301100A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484239A (zh) * | 2022-09-15 | 2022-12-16 | 北京百度网讯科技有限公司 | 多媒体数据流的处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-26 CN CN202110105092.XA patent/CN113301100A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484239A (zh) * | 2022-09-15 | 2022-12-16 | 北京百度网讯科技有限公司 | 多媒体数据流的处理方法、装置、电子设备及存储介质 |
CN115484239B (zh) * | 2022-09-15 | 2023-10-27 | 北京百度网讯科技有限公司 | 多媒体数据流的处理方法、装置、电子设备及存储介质 |
US11985072B2 (en) | 2022-09-15 | 2024-05-14 | Beijing Baidu Netcom Science Technology Co., Ltd. | Multimedia data stream processing method, electronic device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102262982B1 (ko) | 라이브 스트림 슬라이싱 방법, 장치 및 시스템 | |
EP2930904B1 (en) | Modified content delivery based on network conditions | |
EP2475146B1 (en) | Anchoring and sharing time positions and media reception information on a presentation timeline for multimedia content streamed over a network | |
CN105338423B (zh) | 流媒体数据直播方法及系统 | |
US11259063B2 (en) | Method and system for setting video cover | |
KR20200083608A (ko) | 비디오 라이브 방송 방법 및 장치 | |
EP3471421B1 (en) | Live broadcast video replay method, server, and system | |
WO2009022205A2 (en) | Improved resolution video file retrieval | |
KR101774983B1 (ko) | Ott 비디오의 품질을 모니터링하는 방법, 장치, 및 시스템 | |
US20130138736A1 (en) | Multimedia file sharing method and system thereof | |
CN112637661A (zh) | 视频流的切换方法及装置、计算机存储介质、电子设备 | |
US10277652B2 (en) | Transmission apparatus, transmission method, and program | |
CN112243158A (zh) | 媒体文件处理方法、装置及电子设备 | |
CN113301100A (zh) | 基于内容分发网络的数据容灾方法、装置、设备及介质 | |
US20160357875A1 (en) | Techniques for promoting and viewing social content written by nearby people | |
EP2634998A1 (en) | Method and system for downloading real-time streaming media in peer-to-peer network | |
JP2019092133A (ja) | 送信装置、受信装置、通信システムおよびプログラム | |
CN112243136B (zh) | 内容播放方法、视频存储方法和设备 | |
WO2012041039A1 (zh) | 数字电视终端访问互联网视频的方法及相关设备和系统 | |
JP5882683B2 (ja) | 情報処理装置およびその方法 | |
CN109587517B (zh) | 一种多媒体文件的播放方法及装置、服务器及存储介质 | |
US8612613B2 (en) | Method for setting plurality of sessions and node using same | |
CN114417055A (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
CN110324608B (zh) | 视频流质量的检测方法、装置和计算机设备 | |
WO2017071524A1 (zh) | 多媒体资源的发布方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057975 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |