一种流数据的传输集群的调度方法和装置与流程

文档序号:11930816阅读:333来源:国知局
一种流数据的传输集群的调度方法和装置与流程

本发明涉及流数据存储技术领域,具体涉及一种流数据的传输集群的调度方法,以及一种流数据的传输集群的调度装置。



背景技术:

流数据为可以采用流式传输的方式在网络上传输的数据,大型网站系统经常依赖于内容分发网络(Content Delivery Network,CDN)对流数据进行传输,内容分发网络是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在内容分发网络中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。

随着像视频直播或远程摄像头等对流数据传输质量要求较高的网络应用的发展,仅仅依靠一家供应商提供的内容分发网络来支持大型网络应用变得无法满足需要。依赖多家供应商提供内容分发网络来进行流数据的传输成为一种选择。

现有技术中,流数据传输需要在多个不同运营商对应的内容分发网络中选择一个提供流数据传输服务器,而选择内容分发网络时都是依据固定的配置关系为客户端分配内容分发网络,无法根据内容发明网络为客户端提供流数据传输服务时的网络状况或运行状况等调整选取的内容分发网络。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流数据的传输集群的调度方法和相应的装置。

依据本发明的一个方面,提供了一种流数据的传输集群的调度方法,包括:

预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;

根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;

按照修正后的配置关系为第一客户端调度对应的第一传输集群;

将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

可选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正包括:

汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;

通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

可选地,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,所述方法还包括:

收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。

可选地,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:

按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;

从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

可选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:

提取所述第一客户端的网络地址和/或定位信息;

根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;

按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

可选地,在所述将调度的第一传输集群通知至第一客户端之后,所述方法还包括:

接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

可选地,所述方法还包括:

接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

可选地,所述方法还包括:

接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

可选地,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:

接收第一客户端分配传输集群的调度请求。

可选地,所述方法还包括:

识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;

所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输包括:

将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

可选地,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址包括:

以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

可选地,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:

第一客户端确定存在新增传输集群;

第一客户端从通信配置代码库中下载对应的通信配置代码;

所述新增传输集群为第一传输集群,在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,所述方法还包括:

调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;

第一客户端将封装的调度请求发送至所述新增传输集群;

第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

可选地,所述第一客户端确定存在新增传输集群包括:

所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;

所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

可选地,所述方法还包括:

若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

可选地,所述方法还包括:

所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

可选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述第一客户端将封装的调度请求发送至所述新增传输集群包括:

所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

可选地,所述第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输包括:

所述第一客户端接收所述新增传输集群反馈的调度结果;

所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;

所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

可选地,在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:

所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

可选地,在所述第一客户端确定存在新增传输集群之后,所述方法还包括:

所述第一客户端获取所述新增传输集群的集群标识;

在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:

所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

根据本发明的另一方面,提供了一种流数据的传输集群的调度装置,包括:

配置关系预存模块,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;

配置关系修正模块,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;

集群调度模块,用于按照修正后的配置关系为第一客户端调度对应的第一传输集群;

集群通知模块,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

可选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:

平均值计算子模块,用于汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;

配置关系修正子模块,用于通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

可选地,所述装置还包括:

数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。

可选地,所述集群调度模块包括:

集群查找子模块,用于按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;

第一集群选取子模块,用于从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

可选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:

信息提取子模块,用于提取所述第一客户端的网络地址和/或定位信息;

区域识别子模块,用于根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;

查找子模块,用于按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

可选地,所述装置还包括:

流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

可选地,所述装置还包括:

第一请求接收模块,用于接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

可选地,所述装置还包括:

调度请求更换模块,用于接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

可选地,所述装置还包括:

第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,接收第一客户端分配传输集群的调度请求。

可选地,所述装置还包括:

流标识分配模块,用于识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;

所述集群通知模块包括:

传输地址通知子模块,用于将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

可选地,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知子模块包括:

传输地址组成子单元,用于以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

可选地,所述装置还包括:

集群确定模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,第一客户端确定存在新增传输集群;

配置代码下载模块,用于第一客户端从通信配置代码库中下载对应的通信配置代码;

所述新增传输集群为第一传输集群,所述装置还包括:

调度请求封装模块,用于在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;

调度请求发送模块,用于第一客户端将封装的调度请求发送至所述新增传输集群;

流数据传输模块,用于第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

可选地,所述集群确定模块包括:

列表获取子模块,用于所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;

列表比较子模块,用于所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

可选地,所述装置还包括:

配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

可选地,所述装置还包括:

列表更新模块,用于所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

可选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:

请求发送子模块,用于所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

可选地,所述流数据传输模块包括:

调度结果接收子模块,用于所述第一客户端接收所述新增传输集群反馈的调度结果;

节点标识解析子模块,用于所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;

流数据传输子模块,用于所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

可选地,所述装置还包括:

反馈结果接收模块,用于在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

可选地,所述装置还包括:

标识获取模块,用于在所述第一客户端确定存在新增传输集群之后,所述第一客户端获取所述新增传输集群的集群标识;

所述装置还包括:

代码查找模块,用于在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

根据本发明的一种流数据的传输集群的调度方法和装置可以通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明实施例一的一种流数据的传输集群的调度方法的步骤流程示意图;

图2示出了根据本发明实施例二的一种流数据的传输集群的调度方法的步骤流程示意图;

图3示出了根据本发明实施例三的一种流数据的传输集群的调度方法的步骤流程示意图;

图4示出了根据本发明实施例四的一种流数据的传输集群的调度装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了根据本发明实施例一的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:

步骤101,预存客户端的位置信息与至少一个传输集群的配置关系。

在本实施例中,传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(Content Delivery Network,CDN)。

在本实施例中,不同的传输集群归属于不同的传输服务供应方,传输服务供应方是指提供传输集群可以服务流数据传输的传输网络供应方。具体可以选择任意适用的供应方,本实施例对此不做限制。

传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。

大型流数据传输系统经常依赖于传输集群对流数据进行传输,传输集群是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在传输集群中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。例如视频直播应用或者远程摄像头应用经常依赖于传输集群对流数据进行传输。

客户端的位置信息是指可以表征客户端在网络上所属的位置区域或地理上所属的位置区域的信息,可以包括网络地址对应的地址段和/或定位位置对应的地理区域,其中网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址。例如,IP地址(英语:Internet Protocol Address,又译为网际协议地址)。其中定位信息为客户端利用定位服务获取的地理位置信息。例如,客户端调用全球卫星定位系统获得的地理位置信息。

在本实施例中,服务器中可以预存客户端的位置信息与至少一个传输集群的配置关系,其中配置关系为位置信息与至少一个传输集群之间的一种对应关系,用来根据客户端的位置信息为客户端分配对应的传输集群来提供流数据传输服务。例如,配置关系可以是网络地址段和至少一个传输集群的对应关系,或者地理区域和至少一个传输集群的的对应关系。

预存的配置关系可以是人工设定的任意适用的配置关系,也可以是根据历史数据分析各传输集群对于不同位置区域的表现生成的配置关系,具体可以采用任意适用的配置关系,本实施例对此不做限制。

具体而言,一个位置信息对应的传输集群可以有多个,还可以记录多个传输集群的排序,排序靠前则代表传输性能更好,可以作为优先选取的传输集群。

步骤102,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。

传输性能数据为各客户端与传输集群进行流数据传输时的性能数据,具体可以包括流数据传输时的码率、帧率等。传输集群的传输性能数据可以是由至少一个客户端在进行流数据传输时采集的数据,经综合多个客户端上报的数据得到的各传输集群的传输性能数据。

在本实施例中,各传输服务供应方的传输集群的传输性能数据是由各客户端定期打点得到的,例如,客户端定期上报的流数据传输时的码率,以及客户端用户选取或客户端根据网络状况切换的视频流数据的帧率。

根据各客户端上报传输性能数据时携带的位置信息,确定各传输集群对应各位置信息的传输性能数据,由于同一传输集群针对不同的地理区域,也就是针对不同的位置信息,传输性能数据会有不同,随着时间变化,各传输集群对应各位置信息的传输性能数据也会变化。根据各传输集群的传输性能数据对配置关系进行修正。

具体而言,修正配置关系可以是针对一个位置信息对应的传输集群,修正为传输性能数据最佳的传输集群,或者按照传输性能数据的高低对各传输集群进行重新排序,按排序后的传输集群的顺序修正配置关系。

步骤103,按照修正后的配置关系为第一客户端调度对应的第一传输集群。

在本实施例中,第一客户端请求为流数据传输分配一个传输集群,服务器按照修正后的配置关系,根据第一客户端的位置信息,查找到对应的第一传输集群。具体而言,第一客户端将位置信息发送给负责调度传输集群的服务器,由负责调度传输集群的服务器根据本地存储的配置关系,查找与第一客户端的位置关系对应的传输集群,查找到的传输集群为第一传输集群。例如,第一客户端的位置信息对应的所属区域为北京联通,查找与北京联通对应的传输集群,也就是与位置信息对应的传输集群,查找到与北京联通对应的传输集群为第一传输集群。

步骤104,将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

在本实施例中,服务器将根据配置关系调度的第一传输集群通知至第一客户端,第一客户端与第一传输集群建立连接,完成流数据的传输。具体可以是将第一传输集群的标识或者域名地址通知给第一客户端,第一客户端根据标识或域名地址将流数据传输请求发送给第一传输集群,第一传输集群可以反馈一个传输集群中的传输节点给第一客户端,第一客户端与传输节点建立连接传输流数据。

综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。

在本发明实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正的一种实现方式为:汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

客户端标识是指上传传输性能数据的客户端的标识,传输集群标识是指上传传输性能数据的客户端连接的传输集群的标识。

各客户端定期上报传输性能数据,上报的传输性能数据携带有传输性能数据对应的传输过程的客户端标识和传输集群标识,以及上报客户端在对应传输过程中的位置信息。根据客户端上报的位置信息,查找到对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并且计算传输性能数据的平均值,依此方式将每一位置信息对应的多个客户端对各传输集群的传输性能数据汇集,并分别计算平均值。

对位置信息与传输集群的配置关系进行修正,具体可以通过比较平均值是否达到设定阈值,如果达到平均值设定阈值,则可以用对应的传输集群与位置信息的对应关系更新配置关系;或者可以通过比较同一位置信息对应的不同传输集群的平均值,按照平均值的排序,更新位置信息与各传输集群的配置关系。

在本发明实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群的一种实现方式为:提取所述第一客户端的网络地址和/或定位信息;根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

配置关系为客户端所处位置区域与传输集群的对应关系,提取第一客户端的网络地址、定位信息中至少一种,根据网络地址、定位信息中至少一种,识别第一客户端所处的位置区域,按照修正后的配置关系,查找识别的位置区域对应的传输集群,而且查找到的传输集群是第一传输集群。其中网络地址、定位信息可以是客户端在请求调度传输集群时上报的。

参照图2,示出了根据本发明实施例二的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:

步骤201,预存客户端的位置信息与至少一个传输集群的配置关系。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤202,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据。

传输性能数据包括码率、帧率中至少一个,客户端在进行流数据传输时可以上报传输性能数据,具体可以根据服务器的请求上报传输性能数据,也可以定期上报传输性能数据。多个客户端在与各传输集群进行流数据传输时,分别上报传输性能数据,服务器收集各客户端上报的传输性能数据。

步骤203,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤204,接收第一客户端分配传输集群的调度请求。

在本实施例中,第一客户端需要传输流数据,向服务器发送分配传输集群的调度请求,服务器接收第一客户端发送的调度请求。其中服务器为集群调度服务器,用于为客户端调度传输集群的服务器。

步骤205,按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群。

在本实施例中,位置信息与传输集群的配置关系可以是一个位置信息对应多个传输集群,按照修正后的配置关系,查找第一客户端的位置信息对应的传输集群,并且查找到的传输集群为多个传输集群。

步骤206,从所述多个传输集群中选取满足设定条件的第一传输集群。

在本实施例中,从多个传输集群中选取满足设定条件的传输集群,其中,设定条件可以包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

具体而言,根据一种设定条件,从多个传输集群中选取历史选取的次数低于设定比例的传输集群,例如可以预先为各个传输集群设定选取的比例,如果传输集群在历史选取记录中被选取的次数低于设定比例,则选取该传输集群。设定比例可以为任意适用的比例,本实施例对此不做限制。根据另一种设定条件,从多个传输集群中,根据历史选取的传输集群,选取最近未被选取过的传输集群,例如4个传输集群中有3个传输集群刚刚被选取过,则选取未被选取的传输集群。根据另一种设定条件,为多个传输集群设定优先级,选取大于设定优先级的传输集群。还可以包括从多个传输集群中,选取传输性能满足设定要求的传输集群,例如根据传输性能数据选取大于设定阈值的传输集群。具体可以为任意适用的设定要求,本实施例对此不做限制。

步骤207,识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识。

在本实施例中,流标识是指为区分流数据给每个流数据分配的标识,例如可以由客户端或者调度传输集群的服务器为待上传的流数据分配标识。识别调度请求,根据调度请求为流数据的传输分配传输集群,并将分配结果反馈给调度请求的发送方,指示其上传流数据,同时服务器还可以为待上传的流数据分配流标识。

步骤208,将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

在本实施例中,流传输地址为客户端进行流数据传输时要访问的地址,通过对流传输地址进行解析,发起握手,建立流数据传输的连接后发起传输请求,服务器响应传输请求,客户端得到进行流数据传输的代码,客户端解析流数据传输的代码,执行流数据传输的代码以开始流数据的传输。

调度传输集群的服务器根据调度请求,为流数据分配流标识和第一传输集群,并将流标识和第一传输集群的域名组合成流传输地址,将流传输地址发送给第一客户端,以供客户端根据流传输地址进行流数据的传输。

在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址的一种实现方式为:以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

第一客户端的协议类型是指第一客户端支持并选择的流数据传输的协议类型,例如,RTMP全称Routing Table Maintenance Protocol(路由选择表维护协议)在AppleTalk协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在AppleTalk路由器中建立并维护路由选择表。RTMP基于路由选择信息协议(RIP)。正如RIP一样,RTMP使用跳数作为路由计量标准。一个数据包从源网络发送到目标网络,必须通过的路由器或其它中间介质节点数目的计算结果即为跳数。

在本实施例中,以第一客户端的协议类型为传输地址的协议头,将流标识与调度的传输集群的域名组合成流传输地址。

步骤209,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

在本实施例中,目标流数据为第一客户端上传至传输集群的流数据。接收目标流数据,将目标流数据推送至存储流数据的服务器,具体可以是专门用于存储多个传输集群的流数据的存储服务器。

步骤210,接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

在本实施例中,接收第二客户端的调度请求,调度请求为获取目标流数据的调度请求,根据第二客户端的调度请求,将存放目标流数据的第一传输集群通知给第二客户端,具体可以是将第一传输集群中有目标流数据的传输节点的地址通知给第二客户端。

步骤211,接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

在本实施例中,第二客户端发出更换第一传输集群的调度请求,例如,由于第二客户端与第一传输集群之间传输速度无法满足视频直播的需要。接收更换第一传输集群的调度请求,根据第二客户端的位置信息与传输集群的配置关系,为第二客户端调度传输集群,并且调度的传输集群为第二传输集群。第二传输集群与存储有目标流数据的存储服务器建立连接,将目标流数据传输到第二传输集群上。

综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,使得为客户端调度传输集群的配置关系可以根据各客户端上报的传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。

进一步,通过接收第一客户端分配传输集群的调度请求,按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群,从所述多个传输集群中选取满足设定条件的第一传输集群,使得在根据配置关系选取了多个传输集群时,可以按照一定的条件为客户端分配一个传输集群,以充分利用各传输集群。

进一步,通过识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识,将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输,使得为客户端调度传输集群的服务器还可以为流数据生成流传输地址,以供客户端访问该地址完成流数据传输。

进一步,通过接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器,接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端,使得流数据可以保存到存储服务器上,存储服务器为跨传输集群进行流数据传输的中间服务,实现了流数据跨传输集群的传输。

参照图3,示出了根据本发明实施例三的一种流数据的传输集群的调度方法的步骤流程示意图,具体可以包括如下步骤:

步骤301,预存客户端的位置信息与至少一个传输集群的配置关系。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤302,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤303,第一客户端确定存在新增传输集群。

在本实施例中,传输集群是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。例如内容分发网络(Content Delivery Network,CDN)。

传输集群可以用于流数据的传输,其中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,传输集群由多个传输节点组成。其中传输节点为可以用于接收、存储、分发流数据的服务器。

大型流数据传输系统经常依赖于传输集群对流数据进行传输,传输集群是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到就近的节点上或从就近的节点获取所需的数据。在传输集群中,部署有传输节点,用于缓冲流数据,就近给用户提供服务。例如视频直播应用或者远程摄像头应用经常依赖于传输集群对流数据进行传输。

至少一个传输集群为第一客户端提供流数据传输服务,当新增传输集群为客户端提供流数据传输服务时,第一客户端确定存在新增传输集群,具体方式可以是任意适用的方式,本实施例对此不作限定。例如,第一客户端可以通过从集群管理服务器获取记录所有传输集群的第一集群列表,通过比对第一集群列表与本地存储的第二集群列表,确定存在新增传输集群;或者第一客户端可以通过接收集群管理服务器发送的新增传输集群通知,确定存在新增传输集群。在本发明中,集群管理服务器为用于管理传输集群的服务器。

在本实施例中,优选地,所述第一客户端确定存在新增传输集群的一种实现方式为:所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

集群管理服务器为用于管理传输集群的服务器。第一集群列表为存储在集群管理服务器上当前提供流数据传输服务的传输集群的列表。第二集群列表为存储在第一客户端本地的提供流数据传输服务的传输集群的列表。第一客户端从集群管理服务器下载到本地,然后比较第一集群列表和第二集群列表,如果第一集群列表中有第二集群列表中没有的传输集群的标识,则确定存在新增的传输集群。

在本实施例中,优选地,所述方法还包括:若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

目标传输集群为不再为流数据传输提供服务的传输集群。第一客户端比较第一集群列表和第二集群列表,如果第二集群列表中有第一集群列表中没有的传输集群的标识,则确定存在已删除的目标传输集群。将第一客户端本地保存的目标传输集群对应的通信配置代码删除。

在本实施例中,优选地,所述方法还包括:所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

第一客户端从集群管理服务器下载第一集群列表,比较第一集群列表和第二集群列表后,用第一集群列表更新第二集群列表,具体可以将第二集群列表删除,并将第一集群列表保存到本地作为新的第二集群列表,或者将第一集群列表中新增的内容补充到本地的第二集群列表中,或者将第一集群列表中删除的内容从本地的第二集群列表中删除。

步骤304,第一客户端从通信配置代码库中下载对应的通信配置代码。

在本实施例中,通信配置代码为可以嵌入式执行的用于对客户端和传输集群之间的通信进行配置的代码,执行通信配置代码可以用于封装调度请求,解析调度结果。不同的传输集群在进行传输节点调度时,封装调度请求和解析调度结果的方式各不相同,就需要对应的不同的通信配置代码。例如,通信配置代码可以是用Lua程序设计语言编写的脚本代码,应用使用Lua语言作为嵌入式脚本语言,以此来实现可配置性、可扩展性。

通信配置代码库是指存储有各传输集群对应的通信配置代码的数据库,通信配置代码库可以在任意适用的服务器上,本实施例对此不作限定。例如可以在集群管理服务器上。

第一客户端确定存在新增传输集群后,从通信配置代码库中查找到对应新增的传输集群的通信配置代码,并下载新增传输集群对应的通信配置代码到本地。

步骤305,按照修正后的配置关系为第一客户端调度对应的第一传输集群。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤306,将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

在本实施例中,具体方式和其他实施例描述一致,不做赘述。

步骤307,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装。

在本实施例中,新增传输集群为第一传输集群。第一客户端调用新增传输集群是指第一客户端通过新增传输集群进行流数据传输,具体可以是第一客户端主动选择新增的传输集群,或者可以是第一客户端接收集群调度根据第一客户端的请求为客户端选择新增的传输集群。

解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位“中间人”,每次运行程序时都要先转成另一种语言再作运行。它每转译一行程序叙述就立刻运行,然后再转译下一行,再运行,如此不停地进行下去。

针对不同的程序设计语言,会有不同的解释器。在本实施例中,预置解释器为可以解释并执行通信配置代码的解释器,例如,通信配置代码是基于Lua程序设计语言编写的,预置解释器就是Lua语言通用的解释器。

新增传输集群的通信协议是指客户端与传输集群完成通信或服务所必须遵循的规则和约定。例如,客户端向传输集群发送调度请求的封装规则、客户端向传输集群发送调度请求的调度服务器的网络地址、客户端接收调度结果后的解析规则等。

第一客户端采用预置解释器解释并执行通信配置代码,对调度请求进行封装,其中,调度请求是客户端向传输集群发送的传输节点的调度请求。例如,采用Lua语言通用解释器解释并执行传输集群对应的通信配置代码,执行通信配置代码实现对客户端要发送的IP调度请求数据包的封装。具体而言,针对不同传输集群IP调度请求数据包中包括的内容不同,有的传输集群约定IP调度请求数据包中是传输集群的域名地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定IP调度请求数据包中是自定义格式的传输集群的域名地址、流数据的标识以及特定字符串。

步骤308,第一客户端将封装的调度请求发送至所述新增传输集群。

在本实施例中,第一客户端将封装的调度请求发送至新增传输集群,具体可以为访问传输集群对应的通信配置代码记录的网络地址时,发送封装的调度请求。例如,网络地址可以为直播应用中调用传输集群的域名推流地址,解析域名推流地址可以得到将封装的调度请求发送到用于在传输集群中选传输节点的服务器。

在本实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述第一客户端将封装的调度请求发送至所述新增传输集群的一种实现方式为:所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

新增传输集群的网络地址为调用传输集群的域名地址,第一客户端解析网络地址并访问可以将封装的调度请求发送到网络地址对应的传输集群上。具体解析通信配置代码指示的新增传输集群的网络地址可以得到用于调度传输节点的服务器的地址,然后将封装的调度请求发送至服务器。

步骤309,第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

在本实施例中,新增传输集群为第一客户端调度传输节点,具体可以是根据第一客户端的网络地址、所处地理位置等至少一种信息进行调度,选择的传输节点为与第一客户端网络连接状况较好的传输节点,具体可以根据任意适用的调度逻辑为第一客户端调度传输节点,本实施例对此不作限定。第一客户端与调度的传输节点建立连接,进行流数据的传输,具体可以包括第一客户端进行流数据的上传或下载。

在本实施例中,优选地,所述第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输的一种实现方式为:所述第一客户端接收所述新增传输集群反馈的调度结果;所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

在本实施例中,新增传输集群反馈的调度结果为调度的传输集群中的传输节点,具体可以是新增传输集群根据封装的调度请求,为第一客户端调度传输集群中的一个传输节点,其中调度结果中封装有调度的传输节点的节点标识等信息。传输集群可以根据第一客户端的网络地址和/或所处位置为客户端分配一个传输节点,还可以包括根据多个传输节点间的负载平衡为第一客户端分配一个传输节点,具体可以采用任意适用的调度方式,本实施例对此不作限定。新增传输集群将调度产生的调度结果发送给第一客户端,第一客户端接收调度结果。

节点标识为传输节点在网络中的标识,具体可以是传输节点在传输集群中的标识或者传输节点的网络地址,例如IP地址。第一客户端采用预置解释器解释并执行通信配置代码,根据新增传输集群的通信协议对调度结果进行解析,从调度结果中解析出调度的传输节点的节点标识。

例如,采用Lua语言通用解释器解释并执行新增传输集群对应的通信配置代码,执行通信配置代码实现对客户端接收的IP调度结果数据包的解析。具体而言,针对不同传输集群IP调度结果数据包中包括的内容不同,有的传输集群约定调度结果数据包中是传输节点的网络地址后直接拼接流数据的标识以及特定字符串,有的传输集群约定调度结果数据包中是自定义格式的传输节点的网络地址、流数据的标识以及特定字符串。

在实施例中,传输地址为用于流数据传输的网络地址,具体可以由流数据传输的协议对应协议头、传输节点的网络地址、流数据的标识以及约定的特定字符串组合成传输地址。

第一客户端通过节点标识可以找到对应的传输节点,传输地址可以根据从调度结果中解析出的内容在第一客户端生成,也可以直接从调度结果中解析得到。第一客户端访问传输地址,将流数据向传输节点传输。

在本实施例中,优选地,在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,还可以包括步骤:所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

集群调度服务器为可以为第一客户端调度传输集群的服务器,具体可以根据第一客户端的流数据传输请求为第一客户端选取传输集群并反馈给第一客户端。集群调度服务器可以是单个服务器,也可以是集群调度服务器集群中的一个。集群调度服务器可以和集群管理服务器是同一个服务器,也可以是和集群管理服务器不同的另一个服务器。

在本实施例中,第一客户端向集群调度服务器发送流数据传输请求,其中流数据传输请求通常携带有客户端的网络地址和/或当前所处位置,以作为集群调度服务器为客户端选取传输集群的依据。第一客户端接收集群调度服务器的反馈结果,其中反馈结果为调度新增传输集群的调度结果,具体包括为第一客户端选择的传输集群,还可以包括为流数据分配的流数据标识。在本实施例中,集群调度服务器根据第一客户端的传输请求,为第一客户端调度的传输集群为新增传输集群,第一客户端接收到集群调度服务器的反馈结果。

在本实施例中,优选地,在所述第一客户端确定存在新增传输集群之后,还可以包括步骤:所述第一客户端获取所述新增传输集群的集群标识;在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,还可以包括步骤:所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

确定存在新增传输集群后,第一客户端客户端获取新增传输集群的集群标识,例如,可以从传输集群的列表中获取新增传输集群的集群标识。例如可以从第一集群列表中提取新增传输集群的集群标识。

从通信配置代码库中下载对应的通信配置代码之前,可以根据集群标识从通信配置代码库中查找集群标识对应的通信配置代码。

综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。

进一步,通过第一客户端确定存在新增传输集群,从通信配置代码库中下载对应的通信配置代码,使得当新增传输集群提供流数据传输服务时,直接下载对应的通信配置代码,为客户端添加新增传输集群的调度功能,而无需进行应用更新。

然后第一传输集群为新增传输集群时,通过在调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装,将封装的调度请求发送至所述新增传输集群,根据所述新增传输集群调度的传输节点进行流数据的传输。使得执行通信配置代码可以完成对新增传输集群对应的调度请求的封装,继而用于调度节点调度传输节点,实现了新增传输集群的调度功能的热更新,避免了更新应用的不便和不及时。

参照图4,示出了根据本发明实施例四的一种流数据的传输集群的调度装置的结构框图,具体可以包括如下模块:

配置关系预存模块401,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;

配置关系修正模块402,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;

集群调度模块403,用于按照修正后的配置关系为第一客户端调度对应的第一传输集群;

集群通知模块404,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

在本实施例中,优选地,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:

平均值计算子模块,用于汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;

配置关系修正子模块,用于通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

在本实施例中,优选地,所述装置还包括:

数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。

在本实施例中,优选地,所述集群调度模块包括:

集群查找子模块,用于按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;

第一集群选取子模块,用于从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

在本实施例中,优选地,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:

信息提取子模块,用于提取所述第一客户端的网络地址和/或定位信息;

区域识别子模块,用于根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;

查找子模块,用于按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

在本实施例中,优选地,所述装置还包括:

流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

在本实施例中,优选地,所述装置还包括:

第一请求接收模块,用于接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

在本实施例中,优选地,所述装置还包括:

调度请求更换模块,用于接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

在本实施例中,优选地,所述装置还包括:

第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,接收第一客户端分配传输集群的调度请求。

在本实施例中,优选地,所述装置还包括:

流标识分配模块,用于识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;

所述集群通知模块包括:

传输地址通知子模块,用于将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

在本实施例中,优选地,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知子模块包括:

传输地址组成子单元,用于以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

在本实施例中,优选地,所述装置还包括:

集群确定模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,第一客户端确定存在新增传输集群;

配置代码下载模块,用于第一客户端从通信配置代码库中下载对应的通信配置代码;

所述新增传输集群为第一传输集群,所述装置还包括:

调度请求封装模块,用于在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;

调度请求发送模块,用于第一客户端将封装的调度请求发送至所述新增传输集群;

流数据传输模块,用于第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

在本实施例中,优选地,所述集群确定模块包括:

列表获取子模块,用于所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;

列表比较子模块,用于所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

在本实施例中,优选地,所述装置还包括:

配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

在本实施例中,优选地,所述装置还包括:

列表更新模块,用于所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

在本实施例中,优选地,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:

请求发送子模块,用于所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

在本实施例中,优选地,所述流数据传输模块包括:

调度结果接收子模块,用于所述第一客户端接收所述新增传输集群反馈的调度结果;

节点标识解析子模块,用于所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;

流数据传输子模块,用于所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

在本实施例中,优选地,所述装置还包括:

反馈结果接收模块,用于在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

在本实施例中,优选地,所述装置还包括:

标识获取模块,用于在所述第一客户端确定存在新增传输集群之后,所述第一客户端获取所述新增传输集群的集群标识;

所述装置还包括:

代码查找模块,用于在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

综上所述,依据本发明实施例,通过预存客户端的位置信息与至少一个传输集群的配置关系,根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正,按照修正后的配置关系为第一客户端调度对应的第一传输集群,将调度的第一传输集群通知至第一客户端,以用于流数据的传输,使得为客户端调度传输集群的配置关系可以根据传输性能数据进行调整,实现了根据各传输集群的传输性能数据,修正位置信息与传输集群的对应关系,解决了无法根据传输集群为客户端提供流数据传输服务时的网络状况或运行状况等调整传输集群的问题。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种流数据的传输集群的调度方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明还公开了A1、一种流数据的传输集群的调度方法,包括:

预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;

根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;

按照修正后的配置关系为第一客户端调度对应的第一传输集群;

将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

A2、根据A1所述的方法,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正包括:

汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;

通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

A3、根据A1所述的方法,其中,在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,所述方法还包括:

收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。

A4、根据A1所述的方法,其中,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:

按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;

从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

A5、根据A1所述的方法,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述按照修正后的配置关系为第一客户端调度对应的第一传输集群包括:

提取所述第一客户端的网络地址和/或定位信息;

根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;

按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

A6、根据A1所述的方法,其中,在所述将调度的第一传输集群通知至第一客户端之后,所述方法还包括:

接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

A7、根据A6所述的方法,其中,所述方法还包括:

接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

A8、根据A7所述的方法,其中,所述方法还包括:

接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

A9、根据A1所述的方法,其中,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:

接收第一客户端分配传输集群的调度请求。

A10、根据A9所述的方法,其中,所述方法还包括:

识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;

所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输包括:

将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

A11、根据A10所述的方法,其中,所述调度请求携带所述第一客户端的协议类型,所述将所述流标识与调度的传输集群的域名组合成流传输地址包括:

以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

A12、根据A1所述的方法,其中,在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,所述方法还包括:

第一客户端确定存在新增传输集群;

第一客户端从通信配置代码库中下载对应的通信配置代码;

所述新增传输集群为第一传输集群,在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,所述方法还包括:

调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;

第一客户端将封装的调度请求发送至所述新增传输集群;

第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

A13、根据A12所述的方法,其中,所述第一客户端确定存在新增传输集群包括:

所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;

所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

A14、根据A13所述的方法,其中,所述方法还包括:

若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

A15、根据A13或A14所述的方法,其中,所述方法还包括:

所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

A16、根据A12所述的方法,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述第一客户端将封装的调度请求发送至所述新增传输集群包括:

所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

A17、根据A12所述的方法,其中,所述第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输包括:

所述第一客户端接收所述新增传输集群反馈的调度结果;

所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;

所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

A18、根据A12所述的方法,其中,在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述方法还包括:

所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

A19、根据A12所述的方法,其中,在所述第一客户端确定存在新增传输集群之后,所述方法还包括:

所述第一客户端获取所述新增传输集群的集群标识;

在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述方法还包括:

所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

本发明还公开了B20、一种流数据的传输集群的调度装置,包括:

配置关系预存模块,用于预存客户端的位置信息与至少一个传输集群的配置关系,其中,不同传输集群归属于不同传输服务供应方;

配置关系修正模块,用于根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正;

集群调度模块,用于按照修正后的配置关系为第一客户端调度对应的第一传输集群;

集群通知模块,用于将调度的第一传输集群通知至第一客户端,以用于流数据的传输。

B21、根据B20所述的装置,其中,所述传输性能数据携带对应一次传输过程的客户端标识和传输集群标识,所述配置关系修正模块包括:

平均值计算子模块,用于汇集对应同一位置信息的多个客户端对同一传输集群的传输性能数据,并计算平均值;

配置关系修正子模块,用于通过比较所述平均值是否达到设定阈值,或通过比较同一位置信息对应不同传输集群的平均值,对位置信息与传输集群的配置关系进行修正。

B22、根据B20所述的装置,其中,所述装置还包括:

数据收集模块,用于在所述根据各传输服务供应方的传输集群的传输性能数据,对所述配置关系进行修正之前,收集多个客户端在与各传输集群进行流数据传输时上报的传输性能数据,所述传输性能数据包括码率和/或帧率。

B23、根据B20所述的装置,其中,所述集群调度模块包括:

集群查找子模块,用于按照修正后的配置关系,查找所述第一客户端对应配置的多个传输集群;

第一集群选取子模块,用于从所述多个传输集群中选取满足设定条件的第一传输集群,所述设定条件包括历史选取的次数低于设定比例、排序在历史选取的传输集群之后、大于设定优先级或传输性能满足设定要求。

B24、根据B20所述的装置,其中,所述配置关系为客户端所处位置区域与传输集群的对应关系,所述集群调度模块包括:

信息提取子模块,用于提取所述第一客户端的网络地址和/或定位信息;

区域识别子模块,用于根据所述网络地址和/或定位信息,识别所述第一客户端所属位置区域;

查找子模块,用于按照所述配置关系,查找针对所识别的位置区域配置的第一传输集群。

B25、根据B20所述的装置,其中,所述装置还包括:

流数据接收模块,用于在所述将调度的第一传输集群通知至第一客户端之后,接收第一客户端上传的目标流数据,将所述目标流数据推送至存储多个传输集群的流数据的存储服务器。

B26、根据B25所述的装置,其中,所述装置还包括:

第一请求接收模块,用于接收第二客户端获取所述目标流数据的调度请求,并将存放目标流数据的第一传输集群通知至第二客户端。

B27、根据B26所述的装置,其中,所述装置还包括:

调度请求更换模块,用于接收第二客户端更换第一传输集群的调度请求,并按照所述配置关系为第二客户端调度第二传输集群,由所述第二传输集群从所述存储服务器调取所述目标流数据。

B28、根据B20所述的装置,其中,所述装置还包括:

第二请求接收模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,接收第一客户端分配传输集群的调度请求。

B29、根据B28所述的装置,其中,所述装置还包括:

流标识分配模块,用于识别所述调度请求指示上传流数据时,为待上传的流数据分配流标识;

所述集群通知模块包括:

传输地址通知子模块,用于将所述流标识与调度的传输集群的域名组合成流传输地址通知至第一客户端,以供客户端根据所述流传输地址进行流数据的传输。

B30、根据B29所述的装置,其中,所述调度请求携带所述第一客户端的协议类型,所述传输地址通知子模块包括:

传输地址组成子单元,用于以所述协议类型为协议头,将所述流标识与调度的传输集群的域名组合成流传输地址。

B31、根据B20所述的装置,其中,所述装置还包括:

集群确定模块,用于在所述按照修正后的配置关系为第一客户端调度对应的第一传输集群之前,第一客户端确定存在新增传输集群;

配置代码下载模块,用于第一客户端从通信配置代码库中下载对应的通信配置代码;

所述新增传输集群为第一传输集群,所述装置还包括:

调度请求封装模块,用于在所述将调度的第一传输集群通知至第一客户端,以用于流数据的传输之后,调用所述新增传输集群时,第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装;

调度请求发送模块,用于第一客户端将封装的调度请求发送至所述新增传输集群;

流数据传输模块,用于第一客户端根据所述新增传输集群调度的传输节点进行流数据的传输。

B32、根据B31所述的装置,其中,所述集群确定模块包括:

列表获取子模块,用于所述第一客户端从集群管理服务器获取记录所有传输集群的第一集群列表;

列表比较子模块,用于所述第一客户端通过比对所述第一集群列表与本地存储的第二集群列表,确定存在新增传输集群。

B33、根据B32所述的装置,其中,所述装置还包括:

配置代码删除模块,用于若通过比对所述第一集群列表与本地存储的第二集群列表,所述第一客户端确定存在已删减的目标传输集群,则删除本地保存的目标传输集群对应的通信配置代码。

B34、根据B32或B33所述的装置,其中,所述装置还包括:

列表更新模块,用于所述第一客户端以所述集群管理服务器的第一集群列表更新第二集群列表。

B35、根据B31所述的装置,其中,所述通信配置代码还记录有所述新增传输集群的网络地址,所述调度请求发送模块包括:

请求发送子模块,用于所述第一客户端按照所述通信配置代码指示的所述新增传输集群的网络地址,将封装的调度请求发送至所述新增传输集群。

B36、根据B31所述的装置,其中,所述流数据传输模块包括:

调度结果接收子模块,用于所述第一客户端接收所述新增传输集群反馈的调度结果;

节点标识解析子模块,用于所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议,从所述调度结果中解析出所述新增传输集群调度的传输节点的节点标识;

流数据传输子模块,用于所述第一客户端按照所述节点标识对应的传输节点的传输地址进行流数据的传输。

B37、根据B31所述的装置,其中,所述装置还包括:

反馈结果接收模块,用于在所述调用所述新增传输集群时,所述第一客户端采用预置解释器解释并执行所述通信配置代码,由所述通信配置代码按照所述新增传输集群的通信协议进行传输节点的调度请求的封装之前,所述第一客户端向集群调度服务器发送流数据传输请求,并接收所述集群调度服务器反馈的调度新增传输集群的反馈结果。

B38、根据B31所述的装置,其中,所述装置还包括:

标识获取模块,用于在所述第一客户端确定存在新增传输集群之后,所述第一客户端获取所述新增传输集群的集群标识;

所述装置还包括:

代码查找模块,用于在所述第一客户端从通信配置代码库中下载对应的通信配置代码之前,所述第一客户端按照所述新增传输集群的集群标识从通信配置代码库中查找对应的通信配置代码。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1