CN112737897B - 一种链路监测调度方法、装置、设备及存储介质 - Google Patents

一种链路监测调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112737897B
CN112737897B CN202110364814.3A CN202110364814A CN112737897B CN 112737897 B CN112737897 B CN 112737897B CN 202110364814 A CN202110364814 A CN 202110364814A CN 112737897 B CN112737897 B CN 112737897B
Authority
CN
China
Prior art keywords
node
link
preset
quality
link quality
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
CN202110364814.3A
Other languages
English (en)
Other versions
CN112737897A (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.)
Wuhan Kewei Information Technology Co ltd
Baijiayun Group Ltd
Original Assignee
Baijiayun Group 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 Baijiayun Group Ltd filed Critical Baijiayun Group Ltd
Priority to CN202110364814.3A priority Critical patent/CN112737897B/zh
Publication of CN112737897A publication Critical patent/CN112737897A/zh
Application granted granted Critical
Publication of CN112737897B publication Critical patent/CN112737897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种链路监测调度方法、装置、设备及存储介质,应用于拉流端,其中,该方法包括:针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的第一链路质量;若第一链路质量大于预设阈值,向调度中心发送第一请求和第一候选节点;根据接收到的所调度中心发送的第一替补节点的地址,将下游节点更换为第一替补节点,针对拉流端与拉流边缘节点间的第四链路,计算第四链路的第四链路质量;若第四链路质量大于预设阈值,向调度中心发送第二请求和第二候选节点;根据接收到的调度中心发送的第二替补节点的地址,将上游节点更换为第二替补节点;通过上述方法,有利于准确的发现网络质量问题的位置,并从根本上解决网络质量问题。

Description

一种链路监测调度方法、装置、设备及存储介质
技术领域
本申请涉及流媒体技术领域,具体而言,涉及一种链路监测调度方法、装置、设备及存储介质。
背景技术
随着流媒体技术的不断改进,用户对音视频直播的稳定性、反应时间、分辨率等要求越来越高,所以对音视频数据的传输链路进行质量检测成为很重要的任务。
现有技术主要依赖客户端对网络质量的反馈来进行传输链路的调度,在客户端从推流边缘节点处获取所需数据的过程中,当出现无法获取数据或获取的数据存在质量问题时,该客户端向调度中心发送一个用于表示网络差的反馈信号,调度中心在接收到该反馈信号后,通过切换客户端与拉流边缘节点之间的链路来改善网络质量,但是网络质量差并不一定是由客户端与拉流边缘节点之间的链路引起的,也有可能是因为推流边缘节点与拉流边缘节点之间的某一条链路出现了质量问题,所以仅靠切换客户端与拉流边缘节点之间的链路并不能从根本上解决网络质量差的问题,综上,该方法仅靠依赖客户端对网络质量的反馈来进行链路的调度,并不能准确的发现网络质量问题的位置,从而不能从根本上解决网络质量问题。
发明内容
有鉴于此,本申请实施例提供了一种链路监测调度方法、装置、设备及存储介质,以准确的发现网络质量问题的位置,从根本上解决网络质量问题。
主要包括以下几个方面:
第一方面,本申请实施例提供了一种链路监测调度方法,应用于拉流端,该方法包括:
针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联;
判断所述第一链路质量是否大于预设阈值;
若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点;
根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点。
可选的,该第一链路的第一链路质量是由该第一链路的下游节点对该第一链路上的丢包率及为其设置的权重、重传率及为其设置的权重、码率波动值及为其设置的权重进行加权求和得到的,其中,所述码率波动值是由该第一链路的下游节点根据该第一链路上的码率和预设的标准码率计算得到的。
可选的,所述链路监测调度方法还包括:
针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路;
按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量;
若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
第二方面,本申请实施例提供了一种链路监测调度方法,应用于拉流端,该方法包括:
针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量;
判断所述第四链路质量是否大于预设阈值;
若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点;
根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点。
可选的,所述计算所述第四链路的第四链路质量,包括:
根据所述第四链路上码率和预设的标准码率,计算所述第四链路上的码率波动值;
对所述第四链路上的丢包率及为其设置的权重、重传率及为其设置的权重、所述码率波动值及为其设置的权重进行加权求和,得到所述第四链路质量。
可选的,所述链路监测调度方法还包括:
针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路;
按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量;
若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
第三方面,本申请实施例提供了一种链路监测调度装置,应用于拉流端,所述装置包括:
第一获取模块,用于针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联;
第一判断模块,用于判断所述第一链路质量是否大于预设阈值;
第一执行模块,用于若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点;
第一更换模块,用于根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点。
可选的,该第一链路的第一链路质量是由该第一链路的下游节点对该第一链路上的丢包率及为其设置的权重、重传率及为其设置的权重、码率波动值及为其设置的权重进行加权求和得到的,其中,所述码率波动值是由该第一链路的下游节点根据该第一链路上的码率和预设的标准码率计算得到的。
可选的,所述链路监测调度装置还包括:
第二获取模块,用于针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路;
第一筛选模块,用于按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量;
第一确定模块,用于若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
第四方面,本申请实施例提供了一种链路监测调度装置,应用于拉流端,所述装置包括:
计算模块,用于针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量;
第二判断模块,用于判断所述第四链路质量是否大于预设阈值;
第二执行模块,用于若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点;
第二更换模块,用于根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点。
可选的,所述计算模块的配置在用于计算所述第四链路的第四链路质量时,包括:
根据所述第四链路上码率和预设的标准码率,计算所述第四链路上的码率波动值;
对所述第四链路上的丢包率及为其设置的权重、重传率及为其设置的权重、所述码率波动值及为其设置的权重进行加权求和,得到所述第四链路质量。
可选的,所述链路监测调度装置还包括:
第三获取模块,用于针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路;
第二筛选模块,用于按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量;
第二确定模块,用于若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面和上述第二方面中任一所述的链路监测调度方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面和上述第二方面中任一所述的链路监测调度方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的链路监测调度方法,在目标数据从推流边缘节点传输到拉流端的过程中,针对其经过的推流边缘节点与拉流边缘节点间的每一级第一链路,该第一链路的下游节点计算该第一链路的第一链路质量,并将计算出的第一链路质量发送到拉流端,第一链路质量代表的是在该第一链路上数据包的丢失情况,所以拉流端在得到该第一链路质量后,判断该第一链路质量是否大于预设阈值,若该第一链路质量大于预设阈值,说明该第一链路上的丢包情况严重,需要切换该第一链路,而切换第一链路的方式为更换该第一链路的下游节点,所以拉流端向调度中心发送用于更换该第一链路的下游节点的第一请求,同时向调度中心发送小于预设个数的第一候选节点,各候选节点是拉流端从上述下游节点属于的第一节点集群中确定出来的,调度中心可以优先从各候选节点中确定第一替补节点,相对于调度中心从第一节点集群中确定出第一替补节点的方法,该方法有利于减轻调度中心的工作负担,在调度中心确定出第一替补节点后,将该第一替补节点的地址发送到拉流端,拉流端就可以根据接收到的该第一替补节点的地址,将该第一链路的下游节点更换为该第一替补节点,以实现切换该第一链路的目的;除此之外,本申请还提供了对拉流边缘节点与拉流端之间的第四链路的监测调度,拉流端计算第四链路上的第四链路质量,在第四链路质量大于预设阈值的时候,需要通过更换该第四链路的上游节点的方式完成对第四链路的切换,所以拉流端向调度中心发送用于表示切换该第四链路的上游节点的第二请求,同时向调度中心发送小于预设个数的第二候选节点,以使调度中心可以在接收到第二请求时,从各第二候选节点中确定出第二替补节点,减轻调度中心的工作负担,待调度中心把第二替补节点的地址发送到拉流端后,拉流端就可以根据接收到的第二替补节点的地址将该第四链路的上游节点更换为该第二替补节点,以完成切换第四链路的目的;与现有技术中仅调度拉流端与拉流边缘节点间链路的方法相比,本申请提供的链路监测调度方法不仅可以监测拉流端与拉流边缘节点间第四链路的链路质量,还可以监测推流边缘节点与拉流边缘节点之间的每一条第一链路的链路质量,当第四链路的链路质量变差时,拉流端向调度中心发送用于表示切换该第四链路的上游节的请求,当某一条第一链路的链路质量变差时,拉流端向调度中心发送用于表示切换该第一链路的上游节点的请求,这两种请求均可以明确表示出需要切换的链路及切换该链路的方式,有利于准确的发现网络质量问题的位置,并从根本上解决网络质量问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例一所提供的一种链路监测调度方法的流程图;
图2示出了本申请实施例一所提供的推流端与拉流端之间的完整链路的结构示意图;
图3示出了本申请实施例二所提供的一种链路监测调度方法的流程图;
图4示出了本申请实施例三所提供的一种链路监测调度装置的结构示意图;
图5示出了本申请实施例四所提供的一种链路监测调度装置的结构示意图;
图6示出了本申请实施例五所提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种链路监测调度方法、装置、设备及存储介质,下面通过实施例进行描述。
实施例一
图1示出了本申请实施例一所提供的一种链路监测调度方法的流程图,如图1所示,所述链路监测调度方法应用于拉流端,该方法包括以下步骤:
步骤S101:针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联。
具体的,推流边缘节点指的是靠近推流端的用于接收推流端发送上来的数据的服务器,拉流边缘节点指的是靠近拉流端的用于拉流端从中拉取数据流的服务器,推流端指的是进行推流的客户端,拉流端指的是进行拉流的客户端,推流端与拉流端统称为用户端,该用户端包括pc(Personal Computer,个人计算机)网页、pc客户端、H5端、安卓android端、IOS(iPhone operate system,移动操作系统)端等设备端,推流指的是将采集阶段封装好的数据内容传输到服务器的过程,拉流指的是用指定地址拉取服务器中已有的数据内容,目标数据从推流边缘节点传输到拉流边缘节点的过程中经过至少一个节点,所经过的节点均是推流边缘节点与拉流边缘节点之间包括的节点,在此过程中,目标数据从一个节点到另一个节点所经过的链路均是第一链路,所以各节点之间是通过第一链路进行串联的,第一链路的下游节点是该第一链路上数据的接收端,即:该第一链路的数据接收节点,比如:节点A与节点B均是推流边缘节点与拉流边缘节点之间的节点,目标数据从节点A经过第一链路到达节点B,则节点B为该第一链路的下游节点,链路质量指的是在通信过程中对数据包丢失的衡量情况,所以第一链路质量指的是第一链路在通信过程中的数据包丢失情况,第一链路质量越大,则说明在该第一链路上丢包越多。
针对每一个第一链路,该第一链路的下游节点按照预设的周期计算该第一链路的第一链路质量,并在计算出第一链路质量后,将该第一链路质量发送到拉流端,此时,拉流端获取到该第一链路的第一链路质量。
举例说明,图2示出了本申请实施例一所提供的推流端与拉流端之间的完整链路的结构示意图,如图2所示,第一链路A、第一链路B和第一链路C分别是推流边缘节点与拉流边缘节点间的第一级第一链路、第二级第一链路、第三级第一链路,其中,节点a是第一链路A的下游节点,节点b是第一链路B的下游节点,拉流边缘节点是第一链路C的下游节点,推流边缘节点、节点a、节点b和拉流边缘节点通过第一链路进行串联,拉流端分别获取节点a发送的第一链路A的第一链路质量、节点b发送的第一链路B的第一链路质量和拉流边缘节点发送的第一链路C的第一链路质量。
步骤S102:判断所述第一链路质量是否大于预设阈值。
步骤S103:若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点。
具体的,针对每一个第一链路,该第一链路的第一链路质量表示的是该第一链路上的数据丢包情况,第一链路质量越大,说明该第一链路上的丢包情况越严重,一般会人为提前设定一个预设阈值来判断丢包情况的严重与否,比如设置预设阈值为0.3,若第一链路质量大于0.3,则说明该第一链路的丢包情况严重,网络质量差,所以在获取到该第一链路的第一链路质量后,需要判断该第一链路质量是否大于预设阈值,若该第一链路质量大于预设阈值,说明该第一链路的丢包情况太严重,网络质量差,不能使用该第一链路来传输数据,需要切换该第一链路,切换该第一链路的实现方式为更换该第一链路的下游节点,所以拉流端需要向调度中心发送一个第一请求,该第一请求用于表示更换该第一链路的下游节点,除此之外,拉流端还需要向调度中心发送确定出来的至少一个第一候选节点,第一候选节点指的是推荐使用的网络节点,调度中心在接收到第一请求时,在各第一候选节点中筛选出第一替补节点,通过上述方法,将第一候选节点的确定工作交由拉流端来进行,有利于减轻调度中心的工作负担,其中,第一候选节点的个数需要小于预设个数。
需要说明的是,第一候选节点是拉流端从第一节点集群中筛选出的除该第一链路的下游节点外的节点,第一候选节点与下游节点属于相同的第一节点集群,第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所以第一候选节点在推流端和拉流端之间的各节点中的排列次序与该第一链路的下游节点在推流端和拉流端之间的各节点中的排列次序相同,也就是说,数据从推流端传输到拉流端的过程中,到达第一候选节点时经过的节点数量与到达上述下游节点时经过的节点数量相同,节点状态是可用状态表示的是该第一替补节点是可以进行数据的接收和转发,与第一链路的下游节点的距离由近到远的顺序分别为同地区同运营商、同地区不同运营商、邻近地区相同运营商、邻近地区不同运营商、其他地区相同运营商、其他地区相同运营商,其他地区指的是除同地区和近邻地区之外的其他地区,当至少一个第一候选节点均与该第一链路的下游节点是同地区同运营商的节点,则与该第一链路的下游节点的距离最近的第一候选节点为与该下游节点所在的地理位置距离最近的第一候选节点。
举例说明,目标数据在从推流端到拉流端的传输过程中,先经过推流边缘节点集群中的一个推流边缘节点a,然后经过节点集群M中的一个节点b,然后经过节点集群N中的一个节点c,最后在经过拉流边缘集群中的一个拉流边缘节点d后,到达拉流端,则推流边缘节点集群中的每一个推流边缘节点与推流边缘节点a在推流端和拉流端之间的各节点中的排列次序均为第一次序,节点集群M中的每一个节点与节点b在推流端和拉流端之间的各节点中的排列次序均为第二次序,节点集群N中的每一个节点与节点c在推流端和拉流端之间的各节点中的排列次序均为第三次序,拉流边缘节点集群中的每一个拉流边缘节点与拉流边缘节点d在推流端和拉流端之间的各节点中的排列次序均为第四次序。
步骤S104:根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点。
具体的,调度中心在确定出第一替补节点后,会将第一替补节点的地址发送到拉流端,此时,拉流端接收到调度中心发送的该第一替补节点的地址。
需要说明的是,对于将下游节点更换为第一替补节点的方式,可以根据实际情况进行设定,比如节点A通过第一链路向节点B传输数据,节点B通过第一链路向节点C传输数据,当节点B为需要更换的下游节点时,调度中心发送第一替补节点D的地址至拉流端,拉流端将第一替补节点D的地址发送到节点A,以使节点A将数据传输到第一替补节点D上,并将节点C的地址发送到第一替补节点D上,以使第一替补节点D将数据传输到节点C上,以完成节点B的更换,除此之外,也可以通过调度中心直接控制节点A将数据传输到第一替补节点D上,并控制第一替补节点D将数据传输到节点C上,以完成节点B的更换,关于将下游节点更换为第一替补节点的方式,在此不做具体限定。
在一种可行的实施方案中,上述步骤S101中的该第一链路的第一链路质量是由该第一链路的下游节点对该第一链路上的丢包率及为其设置的权重、重传率及为其设置的权重、码率波动值及为其设置的权重进行加权求和得到的,其中,所述码率波动值是由该第一链路的下游节点根据该第一链路上的码率和预设的标准码率计算得到的。
具体的,该第一链路上的丢包率表示的是该第一链路在第一预设时间段内丢失的数据包的数量占应该发送的数据包的数量的比率,所以该第一链路上的丢包率是根据该第一链路的下游节点在该第一预设时间段内应该接受到的该第一链路的上游节点发送的除重传包之外的其他数据包的目标数量、该第一链路的下游节点在该第一预设时间段内向该第一链路的上游节点发送的NACK(Negative Acknowledgment Packet,否定确认包)的第一数量和该第一链路的下游节点在该第一预设时间段内接收到的该第一链路的上游节点发送的重传包的第二数量计算得到的,具体的计算方式为先计算上述第一数量和上述第二数量的第一差值,然后计算该第一差值和上述目标数量的第一比值,最后将该第一比值作为该第一链路上的丢包率;该第一链路上的重传率表示的是在该第一链路上重传的数据包的数量占应该发送的数据包的数量的比率,所以该第一链路上的重传率是通过计算上述第二数量和上述目标数量的第二比值得到的,计算出的第二比值即该第一链路上的重传率;第一链路上的码率波动值表示的是该第一链路上的码率变化情况,所以该第一链路上的码率波动值是根据确定出的该第一链路上的码率和预设的标准码率计算得到的,具体的计算方式为先计算上述码率和上述标准码率的差值的绝对值,然后计算该绝对值和该标准码率的第三比值,计算得到第三比值即该第一链路上的码率波动值,其中,上述码率为当前时刻的瞬时码率,上述标准码率为预设的目标码率。
需要说明的是,实施上述所有计算操作的主体均是上述第一链路的下游节点。
需要再次说明的是,上述第一链路的上游节点是该第一链路上数据的发送端,即:该第一链路的数据发送节点,比如:节点A与节点B均是推流边缘节点与拉流边缘节点之间的节点,目标数据从节点A经过第一链路到达节点B,则节点A为该第一链路的上游节点,如图2所示,在数据从推流端传输到拉流端的过程中,推流边缘节点是第一链路A的上游节点,节点a是第一链路B的上游节点,节点b是第一链路C的上游节点。
需要再次说明的是,上述步骤S101中的第一链路的第一链路质量的计算方式可以根据实际情况进行设定,比如还可以根据该第一链路上的延时数据或该第一链路上的数据接收帧率来计算该第一链路的第一链路质量。
在一种可行的实施方案中,所述链路监测调度方法还包括以下步骤:
步骤S201:针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路。
具体的,针对推流端到拉流端之间的每一个节点集群,该节点集群中的每一个节点会按照第一预设周期向拉流端发送其计算出的链路的链路质量,其中,该节点是该链路的下游节点;所以针对步骤S103中的第一链路所属于的第一节点集群,该节点集群中的每一个第一节点会按照第一预设周期向拉流端发送其计算出的第一链路质量,其中,第一节点指的是上述第一节点集群中除上述第一链路的下游节点之外的其他节点。
针对每一个第一节点,以该第一节点为下游节点的第二链路表示的是该第二链路的下游节点为该第一节点,第一节点是该第二链路的数据接受节点,也就是说该第一节点通过该第二链路接受数据,关于第二链路的下游节点的具体说明,参照上述对第一节点的下游节点的说明,在此不再进行赘述,同理,以该第一节点为上游节点的第三链路表示的是该第三链路的上游节点为第一节点,该第一节点是该第三链路的数据发送节点,也就是说该第一节点通过该第三链路发送数据,关于第三链路的上游节点的具体说明,参照上述对第一链路的上游节点的说明,在此不再进行赘述。
拉流端会按照第一预设周期从该第一节点处获取该第一节点计算并发送的上述第二链路的第二链路质量,并按照上述第一预设周期从第三链路的下游节点处获取该第三链路的下游节点计算并发送的该第三链路的第三链路质量,关于第三链路的下游节点的具体说明,参照上述对第一节点的下游节点的说明,在此不再进行赘述。
步骤S202:按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量。
具体的,第一预设周期小于或等于第二预设周期,所以在每一个第二周期内会获取到至少一个第二链路质量和至少一个第三链路质量,在至少一个第二链路质量中找到最大的第二链路质量,作为第一节点的最大第二链路质量,以及在至少一个第三链路质量中找到最大的第三链路质量,作为第一节点的最大第三链路质量,针对每一个第一节点,在每一个第二预设周期,判断该第一节点是否满足第一预设条件,相当于判断该第一节点的最大第二链路质量的数值是否小于第一预设阈值,且该第一节点的最大第三链路质量的数值是否小于第二预设数值,若该第一节点的最大第二链路质量的数值小于第一预设数值,且该第一节点的最大第三链路质量的数值小于第二预设数值,则说明该第一节点满足第一预设条件,将该第一节点确定为第一目标节点,其中,第一预设数值与第二预设数值可以相同,也可以不相同。
举例说明,将第一节点的最大第二链路质量设为MAX(Rrto1),将第一节点的最大第三链路质量设为MAX(Rrto2),将第一预设数值与第二预设数值均设为0.01,将第二预设周期设为30分钟,当该第一节点为第一目标节点时,该第一节点连续拉流30分钟,或在该30分钟内,MAX(Rrto1)<0.01且MAX(Rrto2)<0.01。
步骤S203:若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
具体的,若存在至少一个第一目标节点,说明在上述步骤S202中可以根据第一预设条件确定出至少一个满足第一预设条件的第一目标节点,由于筛选出的第一候选节点的数量需要小于预设个数,比如,需要筛选出最多三个第一候选节点,则筛选出的第一候选节点的数量需要小于4,所以需要在确定出至少一个第一目标节点时,需要从各所述第一目标节点中确定小于所述预设个数的第一候选节点,若第一目标节点的数量小于预设个数,则各第一目标节点均是第一候选节点,若第一目标节点的数量大于或等于预设个数,则确定各第一目标节点与上述第一链路的下游节点的距离,并按照距离从近到远的顺序对各第一目标节点进行排序,然后将小于预设个数的排序最靠前的第一目标节点确定为第一候选节点。
需要说明的是,关于第一目标节点与上述第一链路的下游节点的距离的具体说明,参照上述对步骤S103的解释中对第一候选节点与第一链路的下游节点的距离的说明,在此不再进行赘述。
需要再次说明的是,若不存在第一目标节点,则不需要向调度中心发送第一候选节点。
在另一种可行的实施方案中,在执行步骤S201后,所述链路监测调度方法还包括:按照第三预设周期,判断各所述第一节点中是否存在满足第三预设条件的至少一个第三目标节点,其中,所述第三预设条件为在所述第三预设周期内,所述第一节点的最大第二链路质量的数值大于第三预设数值,且所述第一节点的最大第三链路质量的数值大于第四预设数值;若存在至少一个所述第三目标节点,按照与所述第一链路的下游节点的距离从小到大的顺序,从各所述第三目标节点中确定小于预设数量的不推荐使用的节点;将各所述不推荐使用的节点发送到所述调度中心。
具体的,上述不推荐使用的节点的确定方式的具体说明,参照上述对步骤S202和步骤S203的说明,在此不再进行赘述,其中,第一预设周期小于或等于第三预设周期,且上述预设数量可以等于上述预设个数,也可以不等于上述预设个数,上述第三预设数值和上述第四预设数值可以相等,也可以不相等。
举例说明,将第一节点的最大第二链路质量设为MAX(Rrto1),将第一节点的最大第三链路质量设为MAX(Rrto2),将第一预设数值与第二预设数值均设为0.35,将第三预设周期设为5分钟,当该第一节点为第一目标节点时,该第一节点连续拉流时间小于5分钟,或在该5分钟内,MAX(Rrto1)>0.35且MAX(Rrto2) >0.35。
在另一种可行的实施方案中,若在步骤S103中,若拉流端向调度中心发送的第一候选节点的数量为0或各第一候选节点的节点状态均不可用,则第一替补节点由所述调度中心按照预设优先级从第一节点集群中筛选得到,其中,从高到低的预设优先级分别为同地区同运营商、同地区不同运营商、邻近地区相同运营商、邻近地区不同运营商、其他地区相同运营商、其他地区相同运营商,其他地区为除上述同地区和上述邻近地区之外的其他地区;除此之外,还可以通过降低上述步骤S103中的第一链路上的码率来改善第一链路质量。
实施例二
图3示出了本申请实施例二所提供的一种链路监测调度方法的流程图,如图3所示,所述链路监测调度方法应用于拉流端,该方法包括以下步骤:
步骤S301:针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量。
步骤S302:判断所述第四链路质量是否大于预设阈值。
步骤S303:若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点。
步骤S304:根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点。
具体的,关于步骤S301至步骤S304的具体说明,参照上述对步骤S101至步骤S104的说明,在此不再进行赘述,其中,与上述步骤S101至步骤S104不同的是,在步骤S301中,拉流端是在拉流边缘节点上通过第四链路拉取所需的数据流,数据流在第四链路上的流向是从拉流边缘节点传输至拉流端,所以第四链路的第四链路质量是由拉流端计算出的,除此之外,在步骤S303中,当第四链路质量大于预设阈值时,拉流端向调度中心发送的第二请求用于表示切换第四链路质量的上游节点,以及向调度中心发送的第二候选节点与上述第四链路的上游节点属于相同的第二节点集群,以能实现切换第四链路的目的,使得拉流端更快速准确的接收到数据。
需要再次说明的是,上述第四链路的上游节点具体指的是拉流边缘节点,上述第二候选节点指的是除该第四链路的拉流边缘节点之外的其他拉流边缘节点,上述第二节点集群指的是拉流边缘节点集群。
在一种可行的实施方案中,上述步骤S301可以通过以下步骤实现:
步骤S401:根据所述第四链路上码率和预设的标准码率,计算所述第四链路上的码率波动值。
步骤S401:对所述第四链路上的丢包率及为其设置的权重、重传率及为其设置的权重、所述码率波动值及为其设置的权重进行加权求和,得到所述第四链路质量。
具体的,关于步骤S401和步骤S402中第四链路质量的计算方式的具体说明,参照上述对第一链路质量的计算方式的说明,在此不再进行赘述。
需要说明的是,与上述第一链路质量的计算不同的是,第一链路质量是由该第一链路质量对应的第一链路的下游节点计算出来的,而步骤S401和步骤S402中的第四链路质量是由拉流端计算出来的。
在一种可行的实施方案中,所述链路监测调度方法还包括以下步骤:
步骤S501:针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路。
步骤S502:按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量。
步骤S503:若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
具体的,关于步骤S501至步骤S503的具体说明,参照上述对步骤S201至步骤S203的具体说明,在此不再进行赘述。
在另一种可行的实施方案中,在执行步骤S501后,所述链路监测调度方法还包括:按照第三预设周期,判断各所述第二节点中是否存在满足第三预设条件的至少一个第四目标节点,其中,所述第三预设条件为在所述第三预设周期内,所述第二节点的最大第五链路质量的数值大于第三预设数值,且所述第二节点的最大第六链路质量的数值大于第四预设数值;若存在至少一个所述第四目标节点,按照与所述第一链路的下游节点的距离从小到大的顺序,从各所述第四目标节点中确定小于预设数量的不推荐使用的节点;将各所述不推荐使用的节点发送到所述调度中心。
在另一种可行的实施方案中,若在步骤S303中,若拉流端向调度中心发送的第二候选节点的数量为0或各第二候选节点的节点状态均不可用,则第二替补节点由所述调度中心按照预设优先级从第二节点集群中筛选得到,其中,从高到低的预设优先级分别为同地区同运营商、同地区不同运营商、邻近地区相同运营商、邻近地区不同运营商、其他地区相同运营商、其他地区相同运营商,其他地区为除上述同地区和上述邻近地区之外的其他地区;除此之外,还可以通过降低上述步骤S303中的第四链路上的码率来改善第四链路质量。
实施例三
图4示出了本申请实施例三所提供的一种链路监测调度装置的结构示意图,如图4所示,该链路监测调度装置应用于拉流端,该链路监测调度装置包括:
第一获取模块601,用于针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联;
第一判断模块602,用于判断所述第一链路质量是否大于预设阈值;
第一执行模块603,用于若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点;
第一更换模块604,用于根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点。
在一种可行的实施方案中,第一链路的第一链路质量是由该第一链路的下游节点对该第一链路上的丢包率及为其设置的权重、重传率及为其设置的权重、码率波动值及为其设置的权重进行加权求和得到的,其中,所述码率波动值是由该第一链路的下游节点根据该第一链路上的码率和预设的标准码率计算得到的。
在一种可行的实施方案中,所述链路监测调度装置还包括:
第二获取模块,用于针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路;
第一筛选模块,用于按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量;
第一确定模块,用于若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
实施例四
图5示出了本申请实施例四所提供的一种链路监测调度装置的结构示意图,如图5所示,该链路监测调度装置应用于拉流端,该链路监测调度装置包括:
计算模块701,用于针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量;
第二判断模块702,用于判断所述第四链路质量是否大于预设阈值;
第二执行模块703,用于若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点;
第二更换模块704,用于根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点。
在一种可行的实施方案中,所述计算模块701的配置在用于计算所述第四链路的第四链路质量时,包括:
根据所述第四链路上码率和预设的标准码率,计算所述第四链路上的码率波动值;
对所述第四链路上的丢包率及为其设置的权重、重传率及为其设置的权重、所述码率波动值及为其设置的权重进行加权求和,得到所述第四链路质量。
在一种可行的实施方案中,所述链路监测调度装置还包括:
第三获取模块,用于针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路;
第二筛选模块,用于按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量;
第二确定模块,用于若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
本申请实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供的链路监测调度方法,在目标数据从推流边缘节点传输到拉流端的过程中,针对其经过的推流边缘节点与拉流边缘节点间的每一级第一链路,该第一链路的下游节点计算该第一链路的第一链路质量,并将计算出的第一链路质量发送到拉流端,第一链路质量代表的是在该第一链路上数据包的丢失情况,所以拉流端在得到该第一链路质量后,判断该第一链路质量是否大于预设阈值,若该第一链路质量大于预设阈值,说明该第一链路上的丢包情况严重,需要切换该第一链路,而切换第一链路的方式为更换该第一链路的下游节点,所以拉流端向调度中心发送用于更换该第一链路的下游节点的第一请求,同时向调度中心发送小于预设个数的第一候选节点,各候选节点是拉流端从上述下游节点属于的第一节点集群中确定出来的,调度中心可以优先从各候选节点中确定第一替补节点,相对于调度中心从第一节点集群中确定出第一替补节点的方法,该方法有利于减轻调度中心的工作负担,在调度中心确定出第一替补节点后,将该第一替补节点的地址发送到拉流端,拉流端就可以根据接收到的该第一替补节点的地址,将该第一链路的下游节点更换为该第一替补节点,以实现切换该第一链路的目的;除此之外,本申请还提供了对拉流边缘节点与拉流端之间的第四链路的监测调度,拉流端计算第四链路上的第四链路质量,在第四链路质量大于预设阈值的时候,需要通过更换该第四链路的上游节点的方式完成对第四链路的切换,所以拉流端向调度中心发送用于表示切换该第四链路的上游节点的第二请求,同时向调度中心发送小于预设个数的第二候选节点,以使调度中心可以在接收到第二请求时,从各第二候选节点中确定出第二替补节点,减轻调度中心的工作负担,待调度中心把第二替补节点的地址发送到拉流端后,拉流端就可以根据接收到的第二替补节点的地址将该第四链路的上游节点更换为该第二替补节点,以完成切换第四链路的目的;与现有技术中仅调度拉流端与拉流边缘节点间链路的方法相比,本申请提供的链路监测调度方法不仅可以监测拉流端与拉流边缘节点间第四链路的链路质量,还可以监测推流边缘节点与拉流边缘节点之间的每一条第一链路的链路质量,当第四链路的链路质量变差时,拉流端向调度中心发送用于表示切换该第四链路的上游节的请求,当某一条第一链路的链路质量变差时,拉流端向调度中心发送用于表示切换该第一链路的上游节点的请求,这两种请求均可以明确表示出需要切换的链路及切换该链路的方式,有利于准确的发现网络质量问题的位置,并从根本上解决网络质量问题。
实施例五
本申请实施例还提供了一种计算机设备800,图6示出了本申请实施例五所提供的一种计算机设备的结构示意图,如图6所示,该设备包括存储器801、处理器802及存储在该存储器801上并可在该处理器802上运行的计算机程序,其中,上述处理器802执行上述计算机程序时实现上述链路监测调度方法。
具体地,上述存储器801和处理器802能够为通用的存储器和处理器,这里不做具体限定,当处理器802运行存储器801存储的计算机程序时,能够执行上述链路监测调度方法,解决了现有技术中不能准确的发现网络质量问题的位置,从而不能从根本上解决网络质量问题的问题。
实施例六
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述链路监测调度方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述链路监测调度方法,解决了现有技术中不能准确的发现网络质量问题的位置,从而不能从根本上解决网络质量问题的问题。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种链路监测调度方法,其特征在于,应用于拉流端,所述方法包括:
针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联;
判断所述第一链路质量是否大于预设阈值;
若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点;
根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点;
针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路;
按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量;
若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
2.如权利要求1所述的方法,其特征在于,该第一链路的第一链路质量是由该第一链路的下游节点对该第一链路上的丢包率及为其设置的权重、重传率及为其设置的权重、码率波动值及为其设置的权重进行加权求和得到的,其中,所述码率波动值是由该第一链路的下游节点根据该第一链路上的码率和预设的标准码率计算得到的。
3.一种链路监测调度方法,其特征在于,应用于拉流端,所述方法包括:
针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量;
判断所述第四链路质量是否大于预设阈值;
若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点;
根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点;
针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路;
按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量;
若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
4.如权利要求3所述的方法,其特征在于,所述计算所述第四链路的第四链路质量,包括:
根据所述第四链路上码率和预设的标准码率,计算所述第四链路上的码率波动值;
对所述第四链路上的丢包率及为其设置的权重、重传率及为其设置的权重、所述码率波动值及为其设置的权重进行加权求和,得到所述第四链路质量。
5.一种链路监测调度装置,其特征在于,应用于拉流端,所述装置包括:
第一获取模块,用于针对推流边缘节点与拉流边缘节点间的每一级第一链路,获取该第一链路的下游节点发送的该第一链路的第一链路质量,其中,所述第一链路质量是由所述下游节点计算得到的,所述推流边缘节点与所述拉流边缘节点间包括至少一个节点,至少一个节点之间通过所述第一链路进行串联;
第一判断模块,用于判断所述第一链路质量是否大于预设阈值;
第一执行模块,用于若所述第一链路质量大于所述预设阈值,向调度中心发送用于表示更换所述下游节点的第一请求和确定出的小于预设个数的第一候选节点,以使所述调度中心从各所述第一候选节点中确定第一替补节点,其中,所述第一候选节点与所述下游节点属于相同的第一节点集群,所述第一节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第一替补节点为节点状态为可用状态的与所述下游节点距离最近的第一候选节点;
第一更换模块,用于根据接收到的所述调度中心发送的所述第一替补节点的地址,将所述下游节点更换为所述第一替补节点;
第二获取模块,用于针对所述第一节点集群中的每一个第一节点,按照第一预设周期获取第二链路的第二链路质量和第三链路的第三链路质量,其中,所述第二链路为以该第一节点为下游节点的链路,所述第三链路为以该第一节点为上游节点的链路;
第一筛选模块,用于按照第二预设周期,判断各所述第一节点中是否存在满足第一预设条件的至少一个第一目标节点,其中,所述第一预设条件为在所述第二预设周期内,所述第一节点的最大第二链路质量的数值小于第一预设数值,且所述第一节点的最大第三链路质量的数值小于第二预设数值,所述最大第二链路质量为所述第一节点的各第二链路质量中最大的第二链路质量,所述最大第三链路质量为所述第一节点的各第三链路质量中最大的第三链路质量,各所述第二链路质量为在各所述第一预设周期获取到的所述第一节点的第二链路质量,各所述第三链路质量为在各所述第一预设周期获取到的所述第一节点的第三链路质量;
第一确定模块,用于若存在至少一个所述第一目标节点,按照与所述第一链路的下游节点的距离从近到远的顺序,从各所述第一目标节点中确定小于所述预设个数的第一候选节点。
6.一种链路监测调度装置,其特征在于,应用于拉流端,所述装置包括:
计算模块,用于针对拉流端与拉流边缘节点间的第四链路,计算所述第四链路的第四链路质量;
第二判断模块,用于判断所述第四链路质量是否大于预设阈值;
第二执行模块,用于若所述第四链路质量大于所述预设阈值,向调度中心发送用于表示更换所述第四链路的上游节点的第二请求和确定出的小于预设个数的第二候选节点,以使所述调度中心从各所述第二候选节点中确定第二替补节点,其中,所述第二候选节点与所述上游节点属于相同的第二节点集群,所述第二节点集群中的任意两个节点在推流端和拉流端之间的各节点中的排列次序相同,所述第二替补节点为节点状态为可用状态的与所述上游节点距离最近的第二候选节点;
第二更换模块,用于根据接收到的所述调度中心发送的所述第二替补节点的地址,将所述上游节点更换为所述第二替补节点;
第三获取模块,用于针对所述第二节点集群中的每一个第二节点,按照第一预设周期获取第五链路的第五链路质量和第六链路的第六链路质量,其中,所述第五链路为以该第二节点为下游节点的链路,所述第六链路为以该第二节点为上游节点的链路;
第二筛选模块,用于按照第二预设周期,判断各所述第二节点中是否存在满足第二预设条件的至少一个第二目标节点,其中,所述第二预设条件为在所述第二预设周期内,所述第二节点的最大第五链路质量的数值小于第一预设数值,且所述第二节点的最大第六链路质量的数值小于第二预设数值,所述最大第五链路质量为所述第二节点的各第五链路质量中最大的第五链路质量,所述最大第六链路质量为所述第二节点的各第六链路质量中最大的第六链路质量,各所述第五链路质量为在各所述第一预设周期获取到的所述第二节点的第五链路质量,各所述第六链路质量为在各所述第一预设周期获取到的所述第二节点的第六链路质量;
第二确定模块,用于若存在至少一个所述第二目标节点,按照与所述第四链路的上游节点的距离从近到远的顺序,从各所述第二目标节点中确定小于所述预设个数的第二候选节点。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-4中任一项所述的方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-4中任一项所述的方法的步骤。
CN202110364814.3A 2021-04-06 2021-04-06 一种链路监测调度方法、装置、设备及存储介质 Active CN112737897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110364814.3A CN112737897B (zh) 2021-04-06 2021-04-06 一种链路监测调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110364814.3A CN112737897B (zh) 2021-04-06 2021-04-06 一种链路监测调度方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112737897A CN112737897A (zh) 2021-04-30
CN112737897B true CN112737897B (zh) 2021-06-18

Family

ID=75596405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110364814.3A Active CN112737897B (zh) 2021-04-06 2021-04-06 一种链路监测调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112737897B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113556573A (zh) * 2021-07-23 2021-10-26 上海哔哩哔哩科技有限公司 推流链路选择方法及系统
CN114070827B (zh) * 2022-01-17 2022-04-22 苏州浪潮智能科技有限公司 一种转推流数据的传输方法、设备及介质
CN115174569B (zh) * 2022-06-27 2024-03-19 普联技术有限公司 一种视频流传输的控制方法、装置、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933470A (zh) * 2019-11-29 2020-03-27 杭州当虹科技股份有限公司 一种视频数据的共享方法
CN111404882A (zh) * 2020-03-02 2020-07-10 广州华多网络科技有限公司 媒体流处理方法及装置
CN112261418A (zh) * 2020-09-18 2021-01-22 网宿科技股份有限公司 一种传输直播视频数据的方法和直播加速系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089124B2 (en) * 2018-07-19 2021-08-10 Verizon Digital Media Services Inc. Hybrid pull and push based streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933470A (zh) * 2019-11-29 2020-03-27 杭州当虹科技股份有限公司 一种视频数据的共享方法
CN111404882A (zh) * 2020-03-02 2020-07-10 广州华多网络科技有限公司 媒体流处理方法及装置
CN112261418A (zh) * 2020-09-18 2021-01-22 网宿科技股份有限公司 一种传输直播视频数据的方法和直播加速系统

Also Published As

Publication number Publication date
CN112737897A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN112737897B (zh) 一种链路监测调度方法、装置、设备及存储介质
WO2017107577A1 (zh) 节点探测方法及装置、路径选取方法及装置、及网络系统
CN108028778B (zh) 生成信息传输性能警告的方法、系统和装置
CN109104377B (zh) 长连接负载均衡方法、设备、系统及计算机可读存储介质
US10805194B2 (en) Proactive path quality reporting in packet transmission
CN110855564B (zh) 路由路径智能选择方法、装置、设备及可读存储介质
CN103945198A (zh) 一种控制视频监控系统流媒体路由的系统和方法
CN110166271B (zh) 一种检测网络节点异常的方法和装置
EP3205054B1 (en) Method, traffic monitor (tm), request router (rr) and system for monitoring a content delivery network (cdn)
CN110890972B (zh) 一种业务系统的健康度评估方法及装置
JP2006352858A (ja) パケットの損失タイプの判別方法及び装置
KR102469441B1 (ko) 가상 게이트웨이 클러스터 전역 장애에 대한 모니터링 방법 및 장치
CN112671813B (zh) 服务器确定方法、装置、设备及存储介质
US9559932B2 (en) Route determination apparatus and transfer route determination method
CN113179428B (zh) 一种流媒体传输链路的优化方法、设备、系统和存储介质
US11477098B2 (en) Identification of candidate problem network entities
CN110401596B (zh) 报文传输方法、装置、电子设备及可读存储介质
CN112292835B (zh) 用于端到端数字通信性能测量结果的启发式方法
US20190036787A1 (en) Traffic optimization device and traffic optimization method
JP2020167442A (ja) 運用管理装置、運用管理システム、および運用管理方法
CN110891077A (zh) Cdn节点检测方法及装置
CN112866767B (zh) 一种投屏控制方法、装置、电子设备及存储介质
US10554511B2 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
CN114945046A (zh) 回源路径确定方法、内容分发网络、存储介质、程序产品
JP2019022052A (ja) パケット分類プログラム、パケット分類方法およびパケット分類装置

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
CP01 Change in the name or title of a patent holder

Address after: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee after: Baijiayun Group Co.,Ltd.

Address before: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee before: Beijing Baijia Shilian Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20220218

Address after: 430000 South taizihu innovation Valley Qidi Xiexin science and Technology Innovation Park (qdxx-g2415), Wuhan Economic and Technological Development Zone, Hubei Province

Patentee after: Wuhan Kewei Information Technology Co.,Ltd.

Address before: B104, 1st floor, building 12, Zhongguancun Software Park, Haidian District, Beijing 100082

Patentee before: Baijiayun Group Co.,Ltd.

TR01 Transfer of patent right