CN106657371A - 一种传输节点的调度方法和装置 - Google Patents

一种传输节点的调度方法和装置 Download PDF

Info

Publication number
CN106657371A
CN106657371A CN201710002635.9A CN201710002635A CN106657371A CN 106657371 A CN106657371 A CN 106657371A CN 201710002635 A CN201710002635 A CN 201710002635A CN 106657371 A CN106657371 A CN 106657371A
Authority
CN
China
Prior art keywords
transmission
trunking
newly
transmission trunking
configuration code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710002635.9A
Other languages
English (en)
Other versions
CN106657371B (zh
Inventor
任中伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710002635.9A priority Critical patent/CN106657371B/zh
Publication of CN106657371A publication Critical patent/CN106657371A/zh
Priority to PCT/CN2017/120138 priority patent/WO2018127010A1/zh
Application granted granted Critical
Publication of CN106657371B publication Critical patent/CN106657371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

本发明公开了一种传输节点的调度方法和装置,所述方法包括:确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。上述技术方案使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。

Description

一种传输节点的调度方法和装置
技术领域
本发明涉及传输调度技术领域,具体涉及一种传输节点的调度方法以及一种传输节点的调度装置。
背景技术
流数据为可以采用流式传输的方式在网络上传输的数据,大型网站系统经常依赖于内容分发网络(Content Delivery Network,CDN)对流数据进行传输,内容分发网络是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在内容分发网络中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。
随着像视频直播或远程摄像头等对流数据传输质量要求较高的网络应用的发展,仅仅依靠一家供应商提供的内容分发网络来支持大型网络应用变得无法满足需要。依赖多家供应商提供内容分发网络来进行流数据的传输成为一种选择。
由于不同的内容分发网络的调度接口和方式不尽相同,针对不同的内容分发网络,客户端需要准备不同格式的调度请求包,并发送到不同的内容分发网络进行服务器的调度。现有技术中,当有新增的内容分发网络接入流数据传输服务时,需要对客户端进行版本升级,以应用更新的方式将新增的内容分发网络对应的服务器调度功能集成到新版的客户端应用中。然而,一方面,依赖应用更新来更新新增内容分发网络对应的调度功能很不方便,很难做到及时更新,两一方面,用户如果不对应用进行更新就无法实现更新新增内容分发网络对应的调度功能。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种传输节点的调度方法和相应的装置。
依据本发明的一个方面,提供了一种传输节点的调度方法,包括:
确定存在新增传输集群;
从通信配置代码库中下载对应的通信配置代码;
调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;
将封装的调度请求发送至所述新增传输集群;
根据所述新增传输集群调度的传输节点进行流数据的传输。
可选地,所述确定存在新增传输集群包括:
从集群管理服务器获取记录所有传输集群的第一集群列表;
通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。
可选地,所述方法还包括:
若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。
可选地,所述方法还包括:
以所述集群管理服务器的第一集群列表更新第二集群列表。
可选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述将封装的调度请求发送至所述新增传输集群包括:
按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。
可选地,所述根据所述新增传输集群调度的传输节点进行流数据的传输包括:
接收所述新增传输集群反馈的调度结果;
采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;
按照所述节点标识对应的传输节点的传输地址进行流数据的传输。
可选地,在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:
向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。
可选地,在所述确定存在新增传输集群之后,所述方法还包括:
获取所述新增传输集群的集群标识;
在所述从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:
按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。
可选地,在所述确定存在新增传输集群之前,所述方法还包括:
启动流数据传输客户端。
可选地,在所述确定存在新增传输集群之前,所述方法还包括:
集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;
集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;
所述新增传输集群为第一传输集群,在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法包括:
集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;
集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。
可选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正包括:
集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;
集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。
可选地,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,所述方法还包括:
集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。
可选地,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:
集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;
集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。
可选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:
集群调度服务器提取所述第一客户端的网络地址和/或定位信息;
集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;
集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。
可选地,在所述将调度的第一传输集群通知至第一客户端之后,所述方法还包括:
集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。
可选地,所述方法还包括:
集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。
可选地,所述方法还包括:
集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。
可选地,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:
集群调度服务器接收第一客户端分配传输集群的调度请求。
可选地,所述方法还包括:
集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;
所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输包括:
集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。
可选地,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址包括:
集群调度服务器以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。
根据本发明的另一方面,提供了一种传输节点的调度装置,包括:
集群确定模块,用于确定存在新增传输集群;
配置代码下载模块,用于从通信配置代码库中下载对应的通信配置代码;
调度请求封装模块,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;
调度请求发送模块,用于将封装的调度请求发送至所述新增传输集群;
流数据传输模块,用于根据所述新增传输集群调度的传输节点进行流数据的传输。
可选地,所述集群确定模块包括:
列表获取子模块,用于从集群管理服务器获取记录所有传输集群的第一集群列表;
列表比较子模块,用于通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。
可选地,所述装置还包括:
配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。
可选地,所述装置还包括:
列表更新模块,用于以所述集群管理服务器的第一集群列表更新第二集群列表。
可选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:
请求发送子模块,用于按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。
可选地,所述流数据传输模块包括:
调度结果接收子模块,用于接收所述新增传输集群反馈的调度结果;
节点标识解析子模块,用于采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;
流数据传输子模块,用于按照所述节点标识对应的传输节点的传输地址进行流数据的传输。
可选地,所述装置还包括:
反馈结果接收模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。
可选地,所述装置还包括:
标识获取模块,用于在所述确定存在新增传输集群之后,获取所述新增传输集群的集群标识;
所述装置还包括:
代码查找模块,用于在所述从通信配置代码库中下载对应的通信配置代码之前,按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。
可选地,所述装置还包括:
客户端启动模块,用于在所述确定存在新增传输集群之前,启动流数据传输客户端。
可选地,所述装置还包括:
配置关系预存模块,用于在所述确定存在新增传输集群之前,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;
配置关系修正模块,用于集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;
所述新增传输集群为第一传输集群,所述装置包括:
集群调度模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;
集群通知模块,用于集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。
可选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:
平均值计算子模块,用于集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;
配置关系修正子模块,用于集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。
可选地,所述装置还包括:
数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。
可选地,所述集群调度模块包括:
集群查找子模块,用于集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;
第一集群选取子模块,用于集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。
可选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:
信息提取子模块,用于集群调度服务器提取所述第一客户端的网络地址和/或定位信息;
区域识别子模块,用于集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;
查找子模块,用于集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。
可选地,所述装置还包括:
流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。
可选地,所述装置还包括:
第一请求接收模块,用于集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。
可选地,所述装置还包括:
调度请求更换模块,用于集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。
可选地,所述装置还包括:
第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,集群调度服务器接收第一客户端分配传输集群的调度请求。
可选地,所述装置还包括:
流标识分配模块,用于集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;
所述集群通知模块包括:
传输地址通知子模块,用于集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。
可选地,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知子模块包括:
传输地址组成子单元,用于集群调度服务器以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。
根据本发明的传输节点的调度方法和装置可以通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种传输节点的调度方法的步骤流程示意图;
图2示出了根据本发明实施例二的一种传输节点的调度方法的步骤流程示意图;
图3示出了根据本发明实施例三的一种传输节点的调度方法的步骤流程示意图;
图4示出了根据本发明实施例四的一种传输节点的调度装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明实施例一的一种传输节点的调度方法的步骤流程示意图,具体可以包括如下步骤:
步骤101,确定存在新增传输集群。
在本实施例中,传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(ContentDelivery Network,CDN)。
传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。
大型流数据传输系统经常依赖于传输集群对流数据进行传输,传输集群是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在传输集群中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。例如视频直播应用或者远程摄像头应用经常依赖于传输集群对流数据进行传输。
至少一个传输集群为客户端提供流数据传输服务,当新增传输集群为客户端提供流数据传输服务时,客户端确定存在新增传输集群,具体方式可以是任意适用的方式,本实施例对此不作限定。例如,客户端可以通过从集群管理服务器获取记录所有传输集群的第一集群列表,通过比对第一集群列表与本地存储的第二集群列表,确定存在新增传输集群;或者客户端可以通过接收集群管理服务器发送的新增传输集群通知,确定存在新增传输集群。在本发明中,集群管理服务器为用于管理传输集群的服务器。
步骤102,从通信配置代码库中下载对应的通信配置代码。
在本实施例中,通信配置代码为可以嵌入式执行的用于对客户端和传输集群之间的通信进行配置的代码,执行通信配置代码可以用于封装调度请求,解析调度结果。不同的传输集群在进行传输节点调度时,封装调度请求和解析调度结果的方式各不相同,就需要对应的不同的通信配置代码。例如,通信配置代码可以是用Lua程序设计语言编写的脚本代码,应用使用Lua语言作为嵌入式脚本语言,以此来实现可配置性、可扩展性。
通信配置代码库是指存储有各传输集群对应的通信配置代码的数据库,通信配置代码库可以在任意适用的服务器上,本实施例对此不作限定。例如可以在集群管理服务器上。
客户端确定存在新增传输集群后,从通信配置代码库中查找到对应新增的传输集群的通信配置代码,并下载新增传输集群对应的通信配置代码到本地。
步骤103,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。
在本实施例中,客户端调用新增传输集群是指客户端通过新增传输集群进行流数据传输,具体可以是客户端主动选择新增的传输集群,或者可以是客户端接收集群调度根据客户端的请求为客户端选择新增的传输集群。
解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。
针对不同的程序设计语言,会有不同的解释器。在本实施例中,预置解释器为可以解释并执行通信配置代码的解释器,例如,通信配置代码是基于Lua程序设计语言编写的,预置解释器就是Lua语言通用的解释器。
新增传输集群的通信协议是指客户端与传输集群完成通信或服务所必须遵循的规则和约定。例如,客户端向传输集群发送调度请求的封装规则、客户端向传输集群发送调度请求的调度服务器的网络地址、客户端接收调度结果后的解析规则等。
采用预置解释器解释并执行通信配置代码,对调度请求进行封装,其中,调度请求是客户端向传输集群发送的传输节点的调度请求。例如,采用Lua语言通用解释器解释并执行传输集群对应的通信配置代码,执行通信配置代码实现对客户端要发送的IP调度请求数据包的封装。具体而言,针对不同传输集群IP调度请求数据包中包括的内容不同,有的传输集群约定IP调度请求数据包中是传输集群的域名地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定IP调度请求数据包中是自定义格式的传输集群的域名地址、流数据的标识以及特定字符串。
步骤104,将封装的调度请求发送至所述新增传输集群。
在本实施例中,将封装的调度请求发送至新增传输集群,具体可以为访问传输集群对应的通信配置代码记录的网络地址时,发送封装的调度请求。例如,网络地址可以为直播应用中调用传输集群的域名推流地址,解析域名推流地址可以得到将封装的调度请求发送到用于在传输集群中选传输节点的服务器。
步骤105,根据所述新增传输集群调度的传输节点进行流数据的传输。
在本实施例中,新增传输集群为客户端调度传输节点,具体可以是根据客户端的网络地址、所处地理位置等至少一种信息进行调度,选择的传输节点为与客户端网络连接状况较好的传输节点,具体可以根据任意适用的调度逻辑为客户端调度传输节点,本实施例对此不作限定。客户端与调度的传输节点建立连接,进行流数据的传输,具体可以包括客户端进行流数据的上传或下载。
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。
在本发明实施例中,优选地,所述确定存在新增传输集群的一种实现方式为:从集群管理服务器获取记录所有传输集群的第一集群列表;通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。
集群管理服务器为用于管理传输集群的服务器。第一集群列表为存储在集群管理服务器上当前提供流数据传输服务的传输集群的列表。第二集群列表为存储在客户端本地的提供流数据传输服务的传输集群的列表。客户端从集群管理服务器下载到本地,然后比较第一集群列表和第二集群列表,如果第一集群列表中有第二集群列表中没有的传输集群的标识,则确定存在新增的传输集群。
在本发明实施例中,优选地,所述方法还包括:若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。
目标传输集群为不再为流数据传输提供服务的传输集群。比较第一集群列表和第二集群列表,如果第二集群列表中有第一集群列表中没有的传输集群的标识,则确定存在已删除的目标传输集群。将客户端本地保存的目标传输集群对应的通信配置代码删除。
在本发明实施例中,优选地,所述方法还包括:以所述集群管理服务器的第一集群列表更新第二集群列表。
从集群管理服务器下载第一集群列表,比较第一集群列表和第二集群列表后,用第一集群列表更新第二集群列表,具体可以将第二集群列表删除,并将第一集群列表保存到本地作为新的第二集群列表,或者将第一集群列表中新增的内容补充到本地的第二集群列表中,或者将第一集群列表中删除的内容从本地的第二集群列表中删除。
在本发明实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述将封装的调度请求发送至所述新增传输集群的一种实现方式为:按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。
新增传输集群的网络地址为调用传输集群的域名地址,解析网络地址并访问可以将封装的调度请求发送到网络地址对应的传输集群上。具体解析通信配置代码指示的新增传输集群的网络地址可以得到用于调度传输节点的服务器的地址,然后将封装的调度请求发送至服务器。
在本发明实施例中,优选地,在所述确定存在新增传输集群之后,所述方法还包括:获取所述新增传输集群的集群标识;在所述从通信配置代码库中下载对应的通信配置代码之前,还可以按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。
确定存在新增传输集群后,客户端获取新增传输集群的集群标识,例如,可以从传输集群的列表中获取新增传输集群的集群标识。例如可以从第一集群列表中提取新增传输集群的集群标识。
从通信配置代码库中下载对应的通信配置代码之前,可以根据集群标识从通信配置代码库中查找集群标识对应的通信配置代码。
在本发明实施例中,确定某个传输集群的通信配置代码发生更新,具体可以通过对比通信配置代码库中该传输集群对应的代码与本地存储的代码,发现通信配置代码发生更新,就将通信配置代码库中对应代码更新到本地即可。例如,可以直接对比通信配置代码库中该传输集群对应的代码和本地存储的该传输集群对应的代码是否相同来判断该传输集群的通信配置代码是否发生更新。或者可以对比通信配置代码库中该传输集群对应的代码的版本号和本地存储的该传输集群对应的代码的版本号是否相同来判断该传输集群的通信配置代码是否发生更新。
进一步,从通信配置代码库中下载更新的通信配置代码,可以采用更新的通信配置代码进行流数据的传输,具体包括调用通信配置代码发生更新的传输集群时,采用预置解释器解释并执行更新得到的通信配置代码,由通信配置代码按照该传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至该传输集群,然后根据该传输集群调度的传输节点进行流数据的传输。一般来说,供应商修改了对其传输集群的调度请求的方式的情况下,虽然此时一般都会兼容旧的调度请求的方式,但新的方式一般在成功率,准确率,效率,安全性等方面有一定的优势。
参照图2,示出了根据本发明实施例二的一种传输节点的调度方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,启动流数据传输客户端。
在本实施例中,流数据传输客户端可以为向传输集群上传流数据的客户端,也可以为从传输集群下载流数据的客户端,例如,在视频直播应用中,上传视频流数据的主播客户端、下载视频流数据的观众客户端。
步骤202,确定存在新增传输集群。
在本实施例中,在启动流数据传输客户端后,检测是否存在新增传输集群,并且检测结果为确定存在新增传输集群,具体方式和其他实施例描述一致,不做赘述。
步骤202,从通信配置代码库中下载对应的通信配置代码。
在本实施例中,具体方式和其他实施例描述一致,不做赘述。
步骤204,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。
集群调度服务器为可以为客户端调度传输集群的服务器,具体可以根据客户端的流数据传输请求为客户端选取传输集群并反馈给客户端。集群调度服务器可以是单个服务器,也可以是集群调度服务器集群中的一个。集群调度服务器可以和集群管理服务器是同一个服务器,也可以是和集群管理服务器不同的另一个服务器。
在本实施例中,流数据传输客户端向集群调度服务器发送流数据传输请求,其中流数据传输请求通常携带有客户端的网络地址和/或当前所处位置,以作为集群调度服务器为客户端选取传输集群的依据。流数据传输客户端接收集群调度服务器的反馈结果,其中反馈结果为调度新增传输集群的调度结果,具体包括为客户端选择的传输集群,还可以包括为流数据分配的流数据标识。在本实施例中,集群调度服务器根据客户端的传输请求,为客户端调度的传输集群为新增传输集群,客户端接收到集群调度服务器的反馈结果。
步骤205,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。
在本实施例中,该步骤具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤206,将封装的调度请求发送至所述新增传输集群。
在本实施例中,该步骤具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤207,接收所述新增传输集群反馈的调度结果。
在本实施例中,新增传输集群反馈的调度结果为调度的传输集群中的传输节点,具体可以是新增传输集群根据封装的调度请求,为客户端调度传输集群中的一个传输节点,其中调度结果中封装有调度的传输节点的节点标识等信息。传输集群可以根据客户端的网络地址和/或所处位置为客户端分配一个传输节点,还可以包括根据多个传输节点间的负载平衡为客户端分配一个传输节点,具体可以采用任意适用的调度方式,本实施例对此不作限定。新增传输集群将调度产生的调度结果发送给客户端,客户端接收调度结果。
步骤208,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识。
节点标识为传输节点在网络中的标识,具体可以是传输节点在传输集群中的标识或者传输节点的网络地址,例如IP地址。采用预置解释器解释并执行通信配置代码,根据新增传输集群的通信协议对调度结果进行解析,从调度结果中解析出调度的传输节点的节点标识。
例如,采用Lua语言通用解释器解释并执行新增传输集群对应的通信配置代码,执行通信配置代码实现对客户端接收的IP调度结果数据包的解析。具体而言,针对不同传输集群IP调度结果数据包中包括的内容不同,有的传输集群约定调度结果数据包中是传输节点的网络地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定调度结果数据包中是自定义格式的传输节点的网络地址、流数据的标识以及特定字符串。
步骤209,按照所述节点标识对应的传输节点的传输地址进行流数据的传输。
在实施例中,传输地址为用于流数据传输的网络地址,具体可以由流数据传输的协议对应协议头、传输节点的网络地址、流数据的标识以及约定的特定字符串组合成传输地址。
通过节点标识可以找到对应的传输节点,传输地址可以根据从调度结果中解析出的内容在客户端生成,也可以直接从调度结果中解析得到。客户端访问传输地址,将流数据向传输节点传输。
综上所述,依据本发明实施例,通过启动流数据传输客户端,确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。
然后向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果,实现请求调度分配传输集群。在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,接收所述新增传输集群反馈的调度结果,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识,按照所述节点标识对应的传输节点的传输地址进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,以及完成对传输集群反馈的调度结果的解析,继而获得调度的传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。
参照图3,示出了根据本发明实施例三的一种传输节点的调度方法的步骤流程示意图,具体可以包括如下步骤:
步骤301,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系。
集群调度服务器用于调度传输集群,在多个传输集群中选取一个传输集群并反馈给请求方,例如为发出集群调度请求的客户端调度传输集群。
在本实施例中,不同的传输集群归属于不同的传输服务供应方,传输服务供应方是指提供传输集群可以服务流数据传输的传输网络供应方。具体可以选择任意适用的供应方,本实施例对此不做限制。
客户端的位置信息是指可以表征客户端在网络上所属的位置区域或地理上所属的位置区域的信息,可以包括网络地址对应的地址段和/或定位位置对应的地理区域,其中网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址。例如,IP地址(英语:Internet Protocol Address,又译为网际协议地址)。其中定位信息为客户端利用定位服务获取的地理位置信息。例如,客户端调用全球卫星定位系统获得的地理位置信息。
在本实施例中,集群调度服务器中可以预存客户端的位置信息与至少一个传输集群的配置关系,其中配置关系为位置信息与至少一个传输集群之间的一种对应关系,用来根据客户端的位置信息为客户端分配对应的传输集群来提供流数据传输服务。例如,配置关系可以是网络地址段和至少一个传输集群的对应关系,或者地理区域和至少一个传输集群的对应关系。
预存的配置关系可以是人工设定的任意适用的配置关系,也可以是根据历史数据分析各传输集群对于不同位置区域的表现生成的配置关系,具体可以采用任意适用的配置关系,本实施例对此不做限制。
具体而言,一个位置信息对应的传输集群可以有多个,还可以记录多个传输集群的排序,排序靠前则代表传输性能更好,可以作为优先选取的传输集群。
步骤302,集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。
传输性能数据为各客户端与传输集群进行流数据传输时的性能数据,具体可以包括流数据传输时的码率、帧率等。传输集群的传输性能数据可以是由至少一个客户端在进行流数据传输时采集的数据,经综合多个客户端上报的数据得到的各传输集群的传输性能数据。
在本实施例中,各传输服务供应方的传输集群的传输性能数据是由各客户端定期打点得到的,例如,客户端定期上报的流数据传输时的码率,以及客户端用户选取或客户端根据网络状况切换的视频流数据的帧率。
集群调度服务器根据各客户端上报传输性能数据时携带的位置信息,确定各传输集群对应各位置信息的传输性能数据,由于同一传输集群针对不同的地理区域,也就是针对不同的位置信息,传输性能数据会有不同,随着时间变化,各传输集群对应各位置信息的传输性能数据也会变化。根据各传输集群的传输性能数据对配置关系进行修正。
具体而言,修正配置关系可以是针对一个位置信息对应的传输集群,修正为传输性能数据最佳的传输集群,或者按照传输性能数据的高低对各传输集群进行重新排序,按排序后的传输集群的顺序修正配置关系。
在本实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正的一种实现方式为:集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。
客户端标识是指上传传输性能数据的客户端的标识,传输集群标识是指上传传输性能数据的客户端连接的传输集群的标识。
各客户端定期上报传输性能数据给集群调度服务器,上报的传输性能数据携带有传输性能数据对应的传输过程的客户端标识和传输集群标识,以及上报客户端在对应传输过程中的位置信息。根据客户端上报的位置信息,查找到对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并且计算传输性能数据的平均值,依此方式将每一位置信息对应的多个客户端对各传输集群的传输性能数据汇集,并分别计算平均值。
集群调度服务器对位置信息与传输集群的配置关系进行修正,具体可以通过比较平均值是否达到设定阈值,如果达到平均值设定阈值,则可以用对应的传输集群与位置信息的对应关系更新配置关系;或者可以通过比较同一位置信息对应的不同传输集群的平均值,按照平均值的排序,更新位置信息与各传输集群的配置关系。
步骤303,确定存在新增传输集群。
在本实施例中,客户端为第一客户端,且该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤304,从通信配置代码库中下载对应的通信配置代码。
在本实施例中,客户端为第一客户端,且该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤305,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群。
在本实施例中,第一客户端请求为流数据传输分配一个传输集群,服务器按照修正后的配置关系,集群调度服务器根据第一客户端的位置信息,查找到对应的第一传输集群。具体而言,第一客户端将位置信息发送给负责调度传输集群的服务器,由集群调度服务器根据本地存储的配置关系,查找与第一客户端的位置关系对应的传输集群,查找到的传输集群为第一传输集群。例如,第一客户端的位置信息对应的所属区域为北京联通,查找与北京联通对应的传输集群,也就是与位置信息对应的传输集群,查找到与北京联通对应的传输集群为第一传输集群。
在本实施例中,优选地,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。
在本实施例中,位置信息与传输集群的配置关系可以是一个位置信息对应多个传输集群,集群调度服务器按照修正后的配置关系,查找第一客户端的位置信息对应的传输集群,并且查找到的传输集群为多个传输集群。
在本实施例中,从多个传输集群中选取满足设定条件的传输集群,其中,设定条件可以包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。
具体而言,根据一种设定条件,从多个传输集群中选取历史选取的次数低于设定比例的传输集群,例如可以预先为各个传输集群设定选取的比例,如果传输集群在历史选取记录中被选取的次数低于设定比例,则选取该传输集群。设定比例可以为任意适用的比例,本实施例对此不做限制。根据另一种设定条件,从多个传输集群中,根据历史选取的传输集群,选取最近未被选取过的传输集群,例如4个传输集群中有3个传输集群刚刚被选取过,则选取未被选取的传输集群。根据另一种设定条件,为多个传输集群设定优先级,选取大于设定优先级的传输集群。还可以包括从多个传输集群中,选取传输性能满足设定要求的传输集群,例如根据传输性能数据选取大于设定阈值的传输集群。具体可以为任意适用的设定要求,本实施例对此不做限制。
在本实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:集群调度服务器提取所述第一客户端的网络地址和/或定位信息;集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。
配置关系为客户端所处位置区域与传输集群的对应关系,提取第一客户端的网络地址、定位信息中至少一种,根据网络地址、定位信息中至少一种,识别第一客户端所处的位置区域,按照修正后的配置关系,查找识别的位置区域对应的传输集群,而且查找到的传输集群是第一传输集群。其中网络地址、定位信息可以是客户端在请求调度传输集群时上报的。
步骤306,集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。
在本实施例中,集群调度服务器将根据配置关系调度的第一传输集群通知至第一客户端,第一客户端与第一传输集群建立连接,完成流数据的传输。具体可以是将第一传输集群的标识或者域名地址通知给第一客户端,第一客户端根据标识或域名地址将流数据传输请求发送给第一传输集群,第一传输集群可以反馈一个传输集群中的传输节点给第一客户端,第一客户端与传输节点建立连接传输流数据。
步骤307,调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤308,将封装的调度请求发送至所述新增传输集群。
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
步骤309,根据所述新增传输集群调度的传输节点进行流数据的传输。
在本实施例中,所述新增传输集群为第一传输集群,该步骤的具体方式和其他实施例描述一致,为简洁起见,此处不另赘述。
在本实施例中,优选地,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,还可以包括步骤:集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。
传输性能数据包括码率、帧率中至少一个,客户端在进行流数据传输时可以上报传输性能数据,具体可以根据服务器的请求上报传输性能数据,也可以定期上报传输性能数据。多个客户端在与各传输集群进行流数据传输时,分别上报传输性能数据,服务器收集各客户端上报的传输性能数据。
在本实施例中,优选地,在所述将调度的第一传输集群通知至第一客户端之后,还可以包括步骤:集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。
在本实施例中,目标流数据为第一客户端上传至传输集群的流数据。接收目标流数据,将目标流数据推送至存储流数据的服务器,具体可以是专门用于存储多个传输集群的流数据的存储服务器。
在本实施例中,优选地,还可以包括步骤:集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。
在本实施例中,集群调度服务器接收第二客户端的调度请求,调度请求为获取目标流数据的调度请求,根据第二客户端的调度请求,将存放目标流数据的第一传输集群通知给第二客户端,具体可以是将第一传输集群中有目标流数据的传输节点的地址通知给第二客户端。
在本实施例中,优选地,还可以包括步骤:集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。
在本实施例中,第二客户端发出更换第一传输集群的调度请求,例如,由于第二客户端与第一传输集群之间传输速度无法满足视频直播的需要。接收更换第一传输集群的调度请求,根据第二客户端的位置信息与传输集群的配置关系,为第二客户端调度传输集群,并且调度的传输集群为第二传输集群。第二传输集群与存储有目标流数据的存储服务器建立连接,将目标流数据传输到第二传输集群上。
在本实施例中,优选地,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,还可以包括步骤:集群调度服务器接收第一客户端分配传输集群的调度请求。
在本实施例中,第一客户端需要传输流数据,向集群调度服务器发送分配传输集群的调度请求,服务器接收第一客户端发送的调度请求。其中服务器为集群调度服务器,用于为客户端调度传输集群的服务器。
在本实施例中,优选地,还可以包括步骤:集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输的一种实现方式为:集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。
在本实施例中,流标识是指为区分流数据给每个流数据分配的标识,例如可以由客户端或者调度传输集群的服务器为待上传的流数据分配标识。识别调度请求,根据调度请求为流数据的传输分配传输集群,并将分配结果反馈给调度请求的发送方,指示其上传流数据,同时服务器还可以为待上传的流数据分配流标识。
在本实施例中,流传输地址为客户端进行流数据传输时要访问的地址,通过对流传输地址进行解析,发起握手,建立流数据传输的连接后发起传输请求,服务器响应传输请求,客户端得到进行流数据传输的代码,客户端解析流数据传输的代码,执行流数据传输的代码以开始流数据的传输。
调度传输集群的服务器根据调度请求,为流数据分配流标识和第一传输集群,并将流标识和第一传输集群的域名组合成流传输地址,将流传输地址发送给第一客户端,以供客户端根据流传输地址进行流数据的传输。
在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址的一种实现方式为:集群调度服务器以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。
第一客户端的协议类型是指第一客户端支持并选择的流数据传输的协议类型,例如,RTMP协议(Real Time Messaging Protocol,实时消息传输协议)。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/UltrantMedia Server/red5等。
在本实施例中,以第一客户端的协议类型为传输地址的协议头,将流标识与调度的传输集群的域名组合成流传输地址。
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。
进一步,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。
参照图4,示出了根据本发明实施例四的一种传输节点的调度装置的结构框图,具体可以包括如下模块:
集群确定模块401,用于确定存在新增传输集群;
配置代码下载模块402,用于从通信配置代码库中下载对应的通信配置代码;
调度请求封装模块403,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;
调度请求发送模块404,用于将封装的调度请求发送至所述新增传输集群;
流数据传输模块405,用于根据所述新增传输集群调度的传输节点进行流数据的传输。
优选地,所述集群确定模块包括:
列表获取子模块,用于从集群管理服务器获取记录所有传输集群的第一集群列表;
列表比较子模块,用于通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。
优选地,所述装置还包括:
配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。
优选地,所述装置还包括:
列表更新模块,用于以所述集群管理服务器的第一集群列表更新第二集群列表。
优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:
请求发送子模块,用于按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。
优选地,所述流数据传输模块包括:
调度结果接收子模块,用于接收所述新增传输集群反馈的调度结果;
节点标识解析子模块,用于采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;
流数据传输子模块,用于按照所述节点标识对应的传输节点的传输地址进行流数据的传输。
优选地,所述装置还包括:
反馈结果接收模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。
优选地,所述装置还包括:
标识获取模块,用于在所述确定存在新增传输集群之后,获取所述新增传输集群的集群标识;
所述配置代码下载模块,具体用于按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。
优选地,所述装置还包括:
客户端启动模块,用于在所述确定存在新增传输集群之前,启动流数据传输客户端。
在本实施例中,优选地,所述装置还包括:
配置关系预存模块,用于在所述确定存在新增传输集群之前,集群调度服务器预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;
配置关系修正模块,用于集群调度服务器根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;
所述新增传输集群为第一传输集群,所述装置包括:
集群调度模块,用于在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,集群调度服务器按照修正后的配置关系为第一客户端调度对应的第一传输集群;
集群通知模块,用于集群调度服务器将调度的第一传输集群通知至第一客户端,以用于流数据的传输。
在本实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:
平均值计算子模块,用于集群调度服务器汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;
配置关系修正子模块,用于集群调度服务器通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。
在本实施例中,优选地,所述装置还包括:
数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,集群调度服务器收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。
在本实施例中,优选地,所述集群调度模块包括:
集群查找子模块,用于集群调度服务器按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;
第一集群选取子模块,用于集群调度服务器从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。
在本实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:
信息提取子模块,用于集群调度服务器提取所述第一客户端的网络地址和/或定位信息;
区域识别子模块,用于集群调度服务器根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;
查找子模块,用于集群调度服务器按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。
在本实施例中,优选地,所述装置还包括:
流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,集群调度服务器接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。
在本实施例中,优选地,所述装置还包括:
第一请求接收模块,用于集群调度服务器接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。
在本实施例中,优选地,所述装置还包括:
调度请求更换模块,用于集群调度服务器接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。
在本实施例中,优选地,所述装置还包括:
第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,集群调度服务器接收第一客户端分配传输集群的调度请求。
在本实施例中,优选地,所述装置还包括:
流标识分配模块,用于集群调度服务器识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;
所述集群通知模块包括:
传输地址通知子模块,用于集群调度服务器将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。
在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知子模块包括:
传输地址组成子单元,用于集群调度服务器以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。
综上所述,依据本发明实施例,通过确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。然后在调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的传输节点的调度方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种传输节点的调度方法,包括:
确定存在新增传输集群;
从通信配置代码库中下载对应的通信配置代码;
调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;
将封装的调度请求发送至所述新增传输集群;
根据所述新增传输集群调度的传输节点进行流数据的传输。
2.根据权利要求1所述的方法,其中,所述确定存在新增传输集群包括:
从集群管理服务器获取记录所有传输集群的第一集群列表;
通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。
3.根据权利要求2所述的方法,其中,所述方法还包括:
若通过比对所述第一集群列表与本地存储的第二集群列表,确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。
4.根据权利要求2或3所述的方法,其中,所述方法还包括:
以所述集群管理服务器的第一集群列表更新第二集群列表。
5.根据权利要求1所述的方法,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述将封装的调度请求发送至所述新增传输集群包括:
按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。
6.根据权利要求1所述的方法,其中,所述根据所述新增传输集群调度的传输节点进行流数据的传输包括:
接收所述新增传输集群反馈的调度结果;
采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;
按照所述节点标识对应的传输节点的传输地址进行流数据的传输。
7.根据权利要求1所述的方法,其中,在所述调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:
向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。
8.根据权利要求1所述的方法,其中,在所述确定存在新增传输集群之后,所述方法还包括:
获取所述新增传输集群的集群标识;
在所述从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:
按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。
9.根据权利要求1所述的方法,其中,在所述确定存在新增传输集群之前,所述方法还包括:
启动流数据传输客户端。
10.一种传输节点的调度装置,包括:
集群确定模块,用于确定存在新增传输集群;
配置代码下载模块,用于从通信配置代码库中下载对应的通信配置代码;
调度请求封装模块,用于调用所述新增传输集群时,采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;
调度请求发送模块,用于将封装的调度请求发送至所述新增传输集群;
流数据传输模块,用于根据所述新增传输集群调度的传输节点进行流数据的传输。
CN201710002635.9A 2017-01-03 2017-01-03 一种传输节点的调度方法和装置 Active CN106657371B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710002635.9A CN106657371B (zh) 2017-01-03 2017-01-03 一种传输节点的调度方法和装置
PCT/CN2017/120138 WO2018127010A1 (zh) 2017-01-03 2017-12-29 一种传输节点的调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710002635.9A CN106657371B (zh) 2017-01-03 2017-01-03 一种传输节点的调度方法和装置

Publications (2)

Publication Number Publication Date
CN106657371A true CN106657371A (zh) 2017-05-10
CN106657371B CN106657371B (zh) 2020-01-21

Family

ID=58838023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710002635.9A Active CN106657371B (zh) 2017-01-03 2017-01-03 一种传输节点的调度方法和装置

Country Status (2)

Country Link
CN (1) CN106657371B (zh)
WO (1) WO2018127010A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018127010A1 (zh) * 2017-01-03 2018-07-12 北京奇虎科技有限公司 一种传输节点的调度方法和装置
CN112422367A (zh) * 2020-11-11 2021-02-26 成都渊数科技有限责任公司 一种云控策略多协议实现网络延迟检测的方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445835B (zh) * 2019-07-03 2023-04-07 平安科技(深圳)有限公司 Redis服务器连接方法、装置、计算机设备和存储介质
CN112426722A (zh) * 2020-12-09 2021-03-02 网易(杭州)网络有限公司 节点图的热更新方法、装置、存储介质及计算机设备
CN113794726A (zh) * 2021-09-16 2021-12-14 杭州登虹科技有限公司 一种多sip调度方法和系统
CN114798036B (zh) * 2022-05-17 2024-01-26 青岛沃柏斯智能实验科技有限公司 一种智能控制的集成实验设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166985A (zh) * 2011-12-09 2013-06-19 上海盛霄云计算技术有限公司 一种全局负载均衡调度方法、数据传输方法、装置及系统
CN103647820A (zh) * 2013-12-09 2014-03-19 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
CN104702702A (zh) * 2012-01-11 2015-06-10 北京奇虎科技有限公司 一种数据下载系统及方法
CN104852971A (zh) * 2015-04-24 2015-08-19 青岛海尔智能家电科技有限公司 一种插件式协议装置及基于插件式协议的数据通信方法
CN105871815A (zh) * 2016-03-22 2016-08-17 乐视网信息技术(北京)股份有限公司 一种数据传输方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932451B (zh) * 2012-10-31 2015-11-18 北龙中网(北京)科技有限责任公司 一种针对内容分发网络的解决系统
CN103747043A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种cdn服务器调度方法、cdn控制中心及系统
CN105847398A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 业务调度方法、调度服务器及业务服务器
CN106657371B (zh) * 2017-01-03 2020-01-21 北京奇虎科技有限公司 一种传输节点的调度方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166985A (zh) * 2011-12-09 2013-06-19 上海盛霄云计算技术有限公司 一种全局负载均衡调度方法、数据传输方法、装置及系统
CN104702702A (zh) * 2012-01-11 2015-06-10 北京奇虎科技有限公司 一种数据下载系统及方法
CN103647820A (zh) * 2013-12-09 2014-03-19 华为数字技术(苏州)有限公司 用于分布式集群系统的仲裁方法及仲裁装置
CN104852971A (zh) * 2015-04-24 2015-08-19 青岛海尔智能家电科技有限公司 一种插件式协议装置及基于插件式协议的数据通信方法
CN105871815A (zh) * 2016-03-22 2016-08-17 乐视网信息技术(北京)股份有限公司 一种数据传输方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018127010A1 (zh) * 2017-01-03 2018-07-12 北京奇虎科技有限公司 一种传输节点的调度方法和装置
CN112422367A (zh) * 2020-11-11 2021-02-26 成都渊数科技有限责任公司 一种云控策略多协议实现网络延迟检测的方法及系统
CN112422367B (zh) * 2020-11-11 2021-10-22 成都渊数科技有限责任公司 一种云控策略多协议实现网络延迟检测的方法及系统

Also Published As

Publication number Publication date
WO2018127010A1 (zh) 2018-07-12
CN106657371B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN106657371A (zh) 一种传输节点的调度方法和装置
US10757067B2 (en) Just in time transcoding and packaging in IPV6 networks
US10985990B2 (en) Software defined topology (SDT) for user plane
CN106686101A (zh) 一种流数据的传输集群的调度方法和装置
CN1832457B (zh) 数据包通信装置及功能扩展方法
US8407260B2 (en) Method and apparatus for caching broadcasting information
CN107181804B (zh) 资源的下载方法和装置
US9693255B2 (en) Method and apparatus for reporting traffic and method and apparatus for counting network traffic
EP2798818A1 (en) Method and apparatus for flexible caching of delivered media
CN109314665A (zh) 选择用于传送上行链路分组的网络切片实例化
CN104202667A (zh) Iptv机顶盒升级方法和系统
CN106790204A (zh) 一种流数据的封装协议的转换方法和装置
US9037716B2 (en) System and method to manage a policy related to a network-based service
CN105610883A (zh) 策略文件同步管理的方法及策略同步服务器和管理设备
CN106850720A (zh) 软件升级方法、装置及系统
CN102497436A (zh) 一种基于http协议的网络文件存储方法及系统
CN104702980B (zh) 一种epg数据处理方法、epg服务器及epg数据处理系统
CN111176706A (zh) 终端升级方法、装置、电子设备及存储介质
WO2017071555A1 (en) Method and system for providing network caches
US11902352B2 (en) HttpDNS scheduling method, apparatus, medium and device
US9729404B2 (en) Quality of service monitoring device and method of monitoring quality of service
CN103532726B (zh) 信息分发系统
CN104065678B (zh) 一种基于嵌入式浏览器的双模数据接收和访问方法
CN102843611A (zh) 一种wifi配置的方法、装置及系统
CN102611913A (zh) 用于有线电视访问网页的服务平台、机顶盒、系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant