CN106453122B - 一种流数据传输节点的选取方法和装置 - Google Patents
一种流数据传输节点的选取方法和装置 Download PDFInfo
- Publication number
- CN106453122B CN106453122B CN201610849757.7A CN201610849757A CN106453122B CN 106453122 B CN106453122 B CN 106453122B CN 201610849757 A CN201610849757 A CN 201610849757A CN 106453122 B CN106453122 B CN 106453122B
- Authority
- CN
- China
- Prior art keywords
- transmission node
- transmission
- node
- load
- flow data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种流数据的传输资源的选取方法和装置。所述方法包括:从当前传输节点集群中为当前流数据选取至少一个传输节点,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点。依据本发明方案,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率,而且避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种流数据传输节点的选取方法,以及和一种流数据传输节点的选取装置。
背景技术
流数据为可以采用流式传输的方式在网络上传输的数据,大型网站系统经常依赖于内容分发网络(Content Delivery Network,CDN)对流数据进行传输,内容分发网络是通过在现有的网络中增加一层新的网络结构,使用户可以将数据传输到对应的节点上或从对应的节点获取所需的数据。在内容分发网络中,部署有传输节点,用于缓冲流数据,就近给用户提供服务,由于用户数较多而传输节点性能有限,一般由一组传输节点给一个区域的用户提供服务,用一个调度节点为流数据的传输选取传输节点,由于一个调度节点处理能力存在瓶颈,降低了选取传输节点的效率。
尤其是在视频直播应用或远程摄像头应用中,需要传输流数据,使用一个调度节点选取传输节点显然不能满足传输需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种流数据传输节点的选取方法和相应的装置。
依据本发明的一个方面,提供了一种流数据传输节点的选取方法,包括:
从当前传输节点集群中为当前流数据选取至少一个传输节点;
根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载;
根据所述实际负载修正所选取的传输节点。
优选地,在从当前的传输节点集群中为当前流数据选取至少一个传输节点之前,所述方法还包括:
按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,各负载区间无交集且边界点连续。
优选地,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间包括:
以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。
优选地,所述从当前传输节点集群中为当前流数据选取至少一个传输节点包括:
根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间;
从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
优选地,所述根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间包括:
计算所述数据标识对应的整数值;
利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;
查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。
优选地,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
优选地,在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,所述方法还包括:
定期获取当前传输节点集群中所有传输节点的当前负载。
优选地,所述根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载包括:
预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量;
根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量;
以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
优选地,所述根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量包括:
以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
优选地,所述根据所述实际负载修正所选取的传输节点包括:
若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
优选地,在从当前传输节点集群中为当前流数据选取传输节点之前,所述方法还包括:
接收移动客户端对当前流数据的传输资源的调度请求;
获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
优选地,所选取的传输节点包括多个,所述方法还包括:
分别检测所选取的多个传输节点的传输速度;
选取传输速度符合设定要求的传输节点作为实际传输节点。
优选地,所述从当前传输节点集群中为当前流数据选取至少一个传输节点包括:
根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;
其中,所述历史记录标示对应流数据曾使用的传输节点。
根据本发明的另一方面,提供了一种流数据传输节点的选取的装置,包括:
传输节点选取模块,用于从当前传输节点集群中为当前流数据选取至少一个传输节点;
负载预估模块,用于根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载;
传输节点修正模块,用于根据所述实际负载修正所选取的传输节点。
优选地,所述装置还包括:
负载区间构建模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,各负载区间无交集且边界点连续。
优选地,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述负载区间构建模块,具体用于以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。
优选地,所述传输节点选取模块包括:
负载区间查找子模块,用于根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间;
传输节点选取子模块,用于从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
优选地,所述负载区间查找子模块包括:
整数值计算自单元,用于计算所述数据标识对应的整数值;
取余运算子单元,用于利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;
负载区间查找子单元,用于查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。
优选地,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
优选地,所述装置还包括:
当前负载定期获取模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,定期获取当前传输节点集群中所有传输节点的当前负载。
优选地,所述负载预估模块包括:
第一负载增量预估子模块,用于预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量;
第二负载增量预估子模块,用于根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量;
实际负载子模块,用于以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
优选地,所述第二负载增量预估子模块,具体用于以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
优选地,所述传输节点修正模块,具体用于若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
优选地,所述装置还包括:
调度请求接收模块,用于在从当前传输节点集群中为当前流数据选取传输节点之前,接收移动客户端对当前流数据的传输资源的调度请求;
传输节点集群选取模块,用于获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
优选地,所选取的传输节点包括多个,所述装置还包括:
传输速度检测模块,用于分别检测所选取的多个传输节点的传输速度;
选取模块,用于选取传输速度符合设定要求的传输节点作为实际传输节点。
优选地,所述传输节点选取模块,具体用于根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;其中,所述历史记录标示对应流数据曾使用的传输节点。
根据本发明的一种流数据传输节点的选取方法和装置可以通过从当前传输节点集群中为当前流数据选取至少一个传输节点,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的流数据传输节点的选取方法的步骤流程示意图;
图2示出了根据本发明实施例二的流数据传输节点的选取方法的步骤流程示意图;
图3示出了根据本发明实施例三的流数据传输节点的选取方法的步骤流程示意图;
图4示出了根据本发明实施例四的流数据传输节点的选取方法的步骤流程示意图;
图5示出了根据本发明实施例五的流数据传输节点的选取装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明实施例一的流数据传输节点的选取方法的步骤流程示意图,具体可以包括如下步骤:
步骤101,从当前传输节点集群中为当前流数据选取至少一个传输节点。
在本发明实施例中,流数据为可以采用流式传输的方式在网络上传输的数据,流数据可以从一个节点传输到至少一个传输节点上。一个传输节点上可以同时存在多个流数据传输,一个传输节点所能承载的流数据由该传输节点的负载能力决定。调度节点可以为流数据选择传输节点,多个调度节点可以组成调度节点集群。在具体实现中,流数据的传输大多存在于内容分发网络中,因为一个传输节点无法承受很高的并发量,内容分发网络中通常存在多个传输节点,由调度节点分配流数据传输的传输节点,以实现传输节点的负载均衡。
调度节点用于根据流数据传输请求为流数据的传输选择至少一个传输节点,可以依据流数据传输请求的发出端所在的网络位置和/或调度节点可以调度的所有传输节点的负载情况进行选择,还可以选择历史记录中为当前流数据选取的传输节点。
调度节点在多种应用场景下均可以为流数据的传输选择至少一个传输节点,具体而言,在视频直播应用场景中,调度节点为视频直播客户端的流数据传输选取至少一个传输节点,视频直播客户端把录制的视频以流式传输方式传送到至少一个传输节点,以使视频流数据可以传送到内容分发网络上的各个节点,从而让其他客户端能够获取;在远程摄像头应用场景中,调度节点为远程摄像头客户端的流数据传输选取至少一个传输节点,远程摄像头客户端把录制的视频以流式传输方式传送到至少一个传输节点,以使视频流数据可以传送到内容分发网络上的各个节点,从而让其他客户端能够获取。
步骤102,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载。
在本发明实施例中,调度节点可以预先获取该调度节点所能调度的所有传输节点的当前负载,当前负载反映传输节点的负载情况,具体可以包括当前活动连接数、当前负载量、带宽使用情况等。调度节点集群中的调度节点分别根据流数据传输请求为流数据的传输选择至少一个传输节点,而且调度节点间相互没有联系,也就是一个调度节点为一个流数据的传输选择了一个传输节点,其他调度节点不能实时的得知该传输节点因新增传输而增加的负载。
调度节点在为一个流数据的传输选取一个传输节点时,预估出因该流数据的传输而为该传输节点新增的负载,同时根据调度节点集群中调度节点的数量估算出调度节点集群中所有调度节点为该传输节点新增的负载,再以估算出的调度节点集群为该传输节点新增的负载和当前负载的总和作为预估的实际负载。
其中,实际负载是调度节点估算出的传输节点的负载,不一定是传输节点此时准确的负载。具体而言,以预先设定的每个调度节点对应增加至该传输节点的负载的总和,或者以所述当前流数据对应增加至所述传输节点的负载与设定负载倍数的乘积,作为所述调度节点集群增加至所述传输节点的负载。
在具体实现中,内容分发网络中传输节点可以将当前负载发送至一个管理节点,管理节点将各个传输节点的当前负载发送至一个存储节点中,调度节点定期从所述存储节点获取各个传输节点的当前负载。
步骤103,根据所述实际负载修正所选取的传输节点。
在本发明实施例中,调度节点通过比较传输节点的实际负载和该传输节点的负载性能参数,判定是否需要修正所选取的传输节点,其中,负载性能参数是指描述传输节点最大负载能力的参数,例如最大活动连接数、最大负载量、最大网络带宽等。具体而言,所选取的传输节点的实际负载超过了该传输节点的负载性能参数,则调度节点为当前流数据选取其他没有超过负载性能参数的传输节点。
一种修正所选取的传输节点的实现方式可以是,调度节点可以随机或者按设定顺序在其他传输节点中进行选取,通过比较新选取的传输节点的实际负载和最大负载,判定是否需要修正新选取的传输节点。
实际应用中,调度节点中维护有预先获取的所选取传输节点的当前负载,调度节点每次选取该传输节点时,以预估的所述传输节点应对所述调度节点集群的实际负载更新当前负载,直到调度节点再次获取到传输节点的当前负载,以最新获取的当前负载更新调度节点中记录的当前负载。
综上所述,依据本发明实施例,通过从当前传输节点集群中为当前流数据选取至少一个传输节点,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
在本发明实施例中,优选地,所述从当前传输节点集群中为当前流数据选取至少一个传输节点的一种实现方式可以是根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;其中,所述历史记录标示对应流数据曾使用的传输节点。
所述历史记录标示对应流数据曾使用的传输节点,其中对应流数据包括与当前流数据为同一移动客户端需要的其他流数据、与当前流数据为相同的流数据,调度节点中记录有为对应流数据选取的传输节点的历史记录,具体而言,历史记录中有同一移动客户端需要的其他流数据对应的至少一个传输节点,或者针对同一流数据先前所选取的至少一个传输节点,调度节点接收到调度请求后,先在历史记录中查找是否有为对应流数据选取的传输节点,如果有,则将历史记录中为所述对应流数据曾选取的传输节点作为调度节点为当前流数据选取的传输节点。
在本发明实施例中,优选地,在所述根据所述实际负载修正所选取的传输节点之后,所述方法还包括针对修正后实际选取的传输节点,采用针对所述实际选取的传输节点预估的实际负载替换所记录的当前负载。
在本发明实施例中,若实际负载超过所选取的传输节点的负载性能参数,则修正后实际选取的传输节点为重新选取的实际负载不超过最大负载的传输节点;若实际负载没有超过所选取的传输节点的负载性能参数,则修正后实际选取的传输节点仍然是原来所选取的传输节点。将估算出的修正后实际选取的传输节点的实际负载替换为调度节点记录的当前负载,使得调度节点从传输节点获取更新的当前负载之前,调度节点可以采用预估的实际负载作为调度中心记录的传输节点的当前负载,以供调度节点预估下一个流数据传输选取该传输节点的实际负载,避免了单个传输节点负载过大的问题。
参照图2,示出了根据本发明实施例二的流数据传输节点的选取方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,定期获取当前传输节点集群中所有传输节点的当前负载。
在本发明实施例中,由于实时的从所有传输节点获取当前负载将产生大量的输入输出需求,出于整体效率的考虑,调度节点集群的各调度节点分别定期获取所有传输节点的当前负载,可以是所有传输节点将当前负载分别发送给各个调度节点,也可以是所有传输节点将当前负载发送至一个用于维护传输节点状态的管理节点,再由调度节点定期从该管理节点获取所有传输节点的当前负载。相比其他实施例步骤201为优选的步骤。
实际应用中,内容分发网络中传输节点可以将当前负载发送至一个管理节点,管理节点将传输节点的当前负载发送至一个存储节点中,调度节点定期从所述存储节点获取各个传输节点的当前负载。
步骤202,按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间。
在本发明实施例中,负载性能参数是指描述传输节点最大负载能力的参数,例如最大活动连接数、最大负载量、最大网络带宽等,各个传输节点的最大负载能力各不相同,负载区间是指在划定的数值范围中为各个传输节点分配一定的区间,使得所有传输节点的区间的合集可以占满整个数值范围,并且各区间无交集且边界点连续,也就是说分配给任意两个传输节点的区间相互没有共同的部分,并且一个区间的两个边界点一定是两个相邻区间的边界点。调度节点为各个传输节点构建对应的负载区间,以用于后续通过计算当前流数据归属的负载区间选取出当前流数据的传输节点。
其中一种优选的实现方式可以是划定一个以各个传输节点的负载性能参数的值的总和为最大值,以零为最小值的数值范围,在这个数值范围内根据各个传输节点的负载性能参数的值分配一定的负载区间,使得所有传输节点的区间的合集可以占满整个数值范围,其中根据各个传输节点的负载性能参数分配一定的负载区间的具体分配方式可以不作限定,可以根据实际需要设定比例,然后按照设定的比例进行分配。
将一个传输节点的负载性能参数的值到上一个传输节点的负载性能参数的值,且不包括上一个传输节点的负载性能参数的值之间的区间作为该传输节点的负载区间
实际应用中,优选地,可以是使用任何合适的哈希函数来产生各个传输节点的负载性能参数的值对应的哈希值,然后按照各个传输节点的负载性能参数对应的哈希值为各个传输节点构建对应的负载区间,由于传输节点的负载性能参数的值对应的字符串可能是不规范的,用哈希函数可以将任意长度的负载性能参数变换成固定长度的哈希值。
在本发明实施例中,优选地,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间的一种实现方式可以是,以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。从而使得传输节点的负载性能参数的值和传输节点的负载区间成正比,以实现选取传输节点的概率与传输节点的最大负载能力成正比,优化了传输节点分配效率,更大限度地利用了不同最大负载能力的传输节点的负载。
具体而言,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,一种实现方式可以是划定一个以各个传输节点的负载性能参数的值的总和为最大值,以零为最小值的数值范围,在构建一个传输节点的负载区间时,可以以上个负载区间的终点为起始点,以该传输节点的负载性能参数的值为区间宽度,得到当前负载区间的终点,其中第一个负载区间的起始点为零,两个数值上相邻的负载区间相交的边界点可以归属于前一个负载区间,也可以归属于后一个负载区间。例如,一共有三个传输节点,其中第一个传输节点的负载性能参数为10,第二个传输节点的负载性能参数为30,第三个传输节点的负载性能参数为20,划定一个以60为最大值,以0为最小值的数值范围,第一个传输节点的负载区间为从0到10,第二个传输节点的负载区间为从10到40,第四个传输节点的负载区间为从40到60。
步骤203,根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间。
在本发明实施例中,当前流数据的数据标识,用来唯一的标识流数据。将当前流数据的数据标识映射到所有传输节点的负载区间所处的数值范围内,数据标识映射到负载区间就是所述当前流数据归属的负载区间,具体计算方式在本发明实施例中不作限定。
在本发明实施例中,优选地,所述根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间的一种实现方式可以是,计算所述数据标识对应的整数值;利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。计算所述数据属性与所有传输节点的负载性能参数的总和做取余运算;查找取余结果归属的负载区间。
数据标识可以是任意的字符串,用任意可行的方法将该字符串转换成一个整数值,本发明对具体采用的方法不作限制,例如可以采用CRC32算法(全称循环冗余校验32算法)将数据标识转换为一个整数值。
所划定的数值范围以所有传输节点的负载性能参数的值的总和为最大值时,可以用数据标识的整数值除以所有传输节点的负载性能参数的值的总和,得到的余数一定小于所有传输节点的负载性能参数的值的总和,所以得到取余结果一定落入所述数值范围内,而且余数在数值范围中所在的区间就是取余结果对应的负载区间,也就是所述当前流数据归属的负载区间。由于数据标识具有随机性,取余结果可以分散到各个负载区间,使得为当前流数据选取的至少一个传输节点具有随机性,由于传输节点的负载区间的宽度和传输节点的负载性能参数的值成正比,所以每个传输节点被选取的概率和该传输节点的负载性能参数的值成正比,负载性能比较高的选中概率更大,实现了各个传输节点的负载均衡。
实际应用中,优选地,调度节点用任意适用的哈希函数得到当前流数据的数据标识对应的哈希值,用该哈希值除以所创建的数值范围的最大值,取余数,所得余数在数值范围中所在的区间就是当前流数据归属的负载区间。
具体而言,可以任何合适的哈希函数来产生当前流数据的数据标识对应的哈希值。例如,可以使用MD5摘要函数(MD5,全称Message Digest Algorithm MD5,中文名消息摘要算法第五版),并且可以取MD5摘要函数结果的前八个字节来用作哈希值。可替换地,可以取MD5摘要函数结果的前四个字节来用作哈希值。可替换地,可以在仅需保证该哈希结果的充分唯一性的条件下使用更少、更多或不同的字节。根据当前流数据的数据标识对应的哈希值计算出当前流数据归属的负载区间。
在本发明实施例中,优选地,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
当前流数据的数据标识,用来唯一的标识流数据,例如可以包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。其中,客户端预设字段可以是专门为区分流数据按照统一的规则设置的字段、客户端标识是指客户端的机器标识或其他网络标识、时间戳信息是指字符串或编码信息用于辨识流数据的时间日期、随机数是指随机生成的数字、流数据唯一标识是指可以唯一标识流数据的标识信息,例如MD5值(MD5,全称Message Digest Algorithm MD5,中文名消息摘要算法第五版)。
步骤204,从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
在本发明实施例中,调度节点根据当前流数据归属的负载区间,从当前传输节点集群中选取所归属的负载区间对应的传输节点。
根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载的一种选优的实施方式可以包括步骤205到步骤207。
步骤205,预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量。
在本发明实施例中,第一负载增量是指调度节点选取传输节点后,可以根据当前流数据占用的计算资源、网络带宽资源等信息和该传输节点的当前活动连接数、当前负载量、当前网络带宽使用情况等信息,估算出当前流数据被分配至该传输节点后导致该传输节点增加的负载。
步骤206,根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量。
在本发明实施例中,以预先设定的调度节点集群调度传输节点导致所述传输节点增加的负载增量,或者以所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量与设定负载倍数的乘积,作为调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量。
在本发明实施例中,优选地,所述根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量的一种实现方式可以是,以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
具体而言,调度节点集群中的调度节点分别根据流数据传输请求为流数据的传输选择至少一个传输节点,而且调度节点间相互没有联系,也就是一个调度节点为一个流数据的传输选择了一个传输节点,其他调度节点不能实时的得知该传输节点因新增传输而增加的负载,设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。以所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量。其中设定负载倍数可以根据调度节点集群中调度节点的数量确定,调度节点集群中调度节点的数量越大,设定负载倍数越大,但设定负载倍数小于调度节点集群中调度节点的数量,实际应用中,设定负载倍数可以根据实际使用情况进行调试,本发明对此不作限制,例如,调度节点集群中有5个调度节点,那么设定负载倍数可以设置为3.5。
步骤207,以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
在本发明实施例中,以调度节点集群导致所述传输节点增加的第二负载增量和当前负载求和,得到传输节点应对所述调度节点集群的实际负载,其中实际负载并不一定是该传输节点此时的实际负载,而是调度节点估算出的该传输节点的负载。
步骤208,若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
在本发明实施例中,如果调度节点估算的传输节点的实际负载超过该传输节点的负载性能参数的值,那么调度节点选择所述传输节点负载性能的值超出实际负载的另一传输节点,具体而言,其中一种方式可以是选取负载区间中的下一个传输节点,估算出该传输节点的实际负载,如果估算出的下一个传输节点的实际负载超过该传输节点的负载性能参数,则再选取负载区间中的下一个传输节点,直到寻找到实际负载未超出所述传输节点负载性能的传输节点。相比其他实施例步骤208是一种选优的步骤。
综上所述,依据本发明实施例,通过定期获取当前传输节点集群中所有传输节点的当前负载,按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间,从所述当前传输节点集群中选取所归属的负载区间对应的传输节点,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。而且由于数据标识具有随机性,取余结果可以分散到各个负载区间,使得为当前流数据选取的至少一个传输节点具有随机性,由于传输节点的负载区间的宽度和传输节点的负载性能参数的值成正比,所以每个传输节点被选取的概率和该传输节点的负载性能参数的值成正比,负载性能比较高的选中概率更大,实现了各个传输节点的负载均衡。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载,,若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
参照图3,示出了根据本发明实施例三的流数据传输节点的选取方法的步骤流程示意图,具体可以包括如下步骤:
步骤301,接收移动客户端对当前流数据的传输资源的调度请求。
在本发明实施例中,传输资源是指传输当前流数据的至少一个传输节点,具体可以是传输节点或传输节点集群,传输节点集群是指由至少一个传输节点组成的传输节点集群,调度节点可以选择传输节点集群中的至少一个传输节点作为当前流数据的传输节点。在具体实现中,流数据的传输大多存在于内容分发网络中,组建内容分发网络会分地区部署传输资源,因为一个传输节点无法承受很高的并发量,内容分发网络中通常存在多个传输节点,由调度节点分配流数据传输的传输节点。相比其他实施例步骤301是一种优选的步骤。
移动客户端向调度节点发送调度请求,请求当前流数据的传输资源,调度节点接收调度请求。
步骤302,获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
传输节点集群是指由至少一个传输节点组成的传输节点集群,调度节点可以选择传输节点集群中的至少一个传输节点作为当前流数据的传输节点。
在本发明实施例中,所处位置可以是地理区域,也可以是地理上的一个定位点,还可以是其他精度或是表述方式的信息,所处位置的信息可以是该位置的标识、具体内容、还可以是该位置的其他维度的信息,以所处位置为地理区域为例,所处位置的信息可以是该区域的实际内容、该区域的区域标识、该区域内的人群信息等。调度节点可以用各种方式获取移动客户端所处位置的信息,本发明对此不作限制,例如从接收到的调度请求中提取出移动客户端所处位置的信息、或在接收到调度请求后,向移动客户端发送位置获取请求,移动客户端将所处位置的信息反馈给调度节点。
调度节点获取移动客户端所处位置的信息后,根据获取的所处位置的信息,查找信息指示的位置所属的区域,选取该区域中至少一个传输资源,例如移动客户端所处位置信息是北京市海淀区中关村,属于北京市海淀区,则选取处于北京市海淀区的传输资源。在具体实现中,组建内容分发网络会分地区部署传输资源,例如会在北京市海淀区部署传输节点或传输节点集群。
具体而言,调度节点可以根据获取的移动客户端所处位置的一个信息选取多个传输资源,也可以根据获取的移动客户端所处位置的多个信息选取多个传输资源,其中根据每个信息选取一个或多个传输资源。
在本发明实施例中,优选地,所述获取所述移动客户端所处位置信息的一种实现方式为,根据所述移动客户端的至少一种位置指示信息确定所述移动客户端所处位置的信息。
具体而言,位置指示信息至少有一种,具体可以包括网络地址、定位信息等,在获取到移动客户端的至少一种位置指示信息后,可以根据获取的每一种位置指示信息判定该种位置指示信息所对应的位置,也可以结合获取的多种位置指示信息,共同判定多种位置指示信息所对应的位置。
在本发明实施例中,优选地,所述根据所述移动客户端的至少一种位置指示信息确定所述移动客户端所处位置的信息的一种实现方式为,从所述调度请求中提取所述移动客户端的网络地址信息;查找所述网络地址信息对应指示的所述移动客户端所处地理区域的信息。具体而言,移动客户端向调度节点发送调度请求,调度请求中携带有移动客户端的网络地址信息,调度节点从调度请求中提取出该网络地址;调度节点可以调用到网络地址数据库,从网络地址数据库中查询提取的网络地址对应的地理区域信息,也就是得到了移动客户端所处地理区域信息,例如北京市海淀区。
在本发明实施例中,优选地,所述根据所述移动客户端的至少一种位置指示信息确定所述移动客户端所处位置的信息的另一种实现方式为,接收所述移动客户端调用位置定位程序获取的定位信息,通过访问操作系统的地理区域信息获取接口获得的所述定位信息指示的所述移动客户端所处地理区域的信息。具体而言,定位信息是指经纬度信息,调度节点向移动客户端发送地理区域的获取请求,移动客户端接收到请求后,开启位置定位程序,获取当前的经纬度信息,例如获取GPS(全称:Global Positioning System,中文名:全球定位系统)芯片反馈的经纬度信息,访问操作系统的地理区域信息获取接口,获得所述定位信息指示的所述移动客户端所处地理区域的信息。其中,操作系统的地理区域信息获取接口可以根据经纬度信息得到对应的地理区域。由于通过位置定位程序获取的定位信息,不会受到域名劫持或者网络地址错误的影响,提高了获取移动客户端位置信息的准确性。
步骤303,从当前传输节点集群中为当前流数据选取至少一个传输节点。
步骤304,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载。
步骤305,根据所述实际负载修正所选取的传输节点。
综上所述,依据本发明实施例,通过接收移动客户端对当前流数据的传输资源的调度请求,获取所述移动客户端所处位置的信息,并选取与所述移动客户端所处位置的信息的对应区域的传输节点集群,从当前传输节点集群中为当前流数据选取至少一个传输节点,实现了根据所处位置确定传输节点集群,并在其中为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
参照图4,示出了根据本发明实施例四的流数据传输节点的选取方法的步骤流程示意图,具体可以包括如下步骤:
步骤401,从当前传输节点集群中为当前流数据选取至少一个传输节点。
步骤402,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载。
步骤403,根据所述实际负载修正所选取的传输节点。
步骤404,分别检测所选取的多个传输节点的传输速度。
在本发明实施例中,传输速度是指移动客户端与传输节点之间传输数据的速度,可以通过移动客户端和传输节点相互发送数据包,并得到发送数据包所用的时间,由数据包的大小和发送用时,得到传输速度。所选取的多个传输节点可以作为候选传输节点,所以对多个候选传输节点测速以选择传输速度较快的传输节点,多个传输节点为修正后所选取的传输节点。调度节点可以基于不同方式获取到移动终端的多种所处位置的信息,基于不同方式的检测精度的不同,不同所处位置的信息实际所指向的位置可能是相同的,也可能是不同的。因此,进一步根据不同的位置选取不同的多个候选传输节点。
具体而言,调度节点可以根据当前流数据的传输是上行传输还是下行传输,决定检测移动客户端到传输节点的上行传输速度还是下行传输速度,或者还可以根据实际需要同时检测移动客户端到传输节点的上行传输速度和下行传输速度。
在本发明实施例中,优选地,所述分别检测所选取的多个传输节点的传输速度的一种实现方式可以是,根据所述移动客户端对当前流数据的传输资源的调度请求,确定对应的测速类型;向所述移动客户端发送针对所述测速类型设置的测速策略,并接收反馈的传输速度。
具体而言,调度节点根据移动客户端对当前流数据的传输资源的调度请求,确定当前需要的测速类型,例如上行测速、下行测速,将该测速类型发送给移动客户端,移动客户端根据测速类型进行测速,并将测速的测速结果反馈给调度节点,从而实现了依据当前流数据的传输需求,确定进行何种测速。
在本发明实施例中,优选地,所述根据所述移动客户端对当前流数据的传输资源的调度请求,确定对应的测速类型的一种实现方式可以是,若所述调度请求对应请求上行传输资源,则所述测速类型为上行测速。所述测速策略包括:向各个传输节点发送携带第一数据包的测速请求,根据所述传输节点针对所述第一数据包反馈的第二数据包进行测速,所述第一数据包大于第一设定数据量。
具体而言,第一设定数据量是指用于检测传输速度所需的最小数据量,移动客户端向各传输节点分别发送测速请求,测速请求中携带有第一数据包,传输节点在接收到测速请求后,开始接收第一数据包,第一数据包接收完毕后,传输节点向移动客户端发送第二数据包,移动客户端通过计算开始发送第一数据包和开始接收第二数据包之间的时间,得到传输第一数据包的传输速度,也就是得到从移动客户端到传输节点的上行速度。通常在检测上行速度时,第二数据包小于第一数据包的数据量,减少了不必要的网络传输,进一步第二数据包最好小于第二设定数据量,其中,第二设定数据量是指用于检测网络连通性的最小数据量。
在本发明实施例中,优选地,所述根据所述移动客户端对当前流数据的传输资源的调度请求,确定对应的测速类型的另一种实现方式可以是,若所述调度请求对应请求下行传输资源,则所述测速类型为下行测速。所述测速策略包括:向各个传输节点发送携带第一数据包的测速请求,根据所述传输节点针对所述第一数据包反馈的第二数据包进行测速,所述第二数据包大于第一设定数据量。
具体而言,第一设定数据量是指用于检测传输速度所需的最小数据量,移动客户端向各传输节点分别发送测速请求,测速请求中携带有第一数据包,传输节点在接收到测速请求后,开始接收第一数据包,第一数据包接收完毕后,传输节点向移动客户端发送第二数据包,移动客户端通过计算开始发送第一数据包和完成接收第二数据包之间的时间,得到传输第二数据包的传输速度,也就是得到从移动客户端到传输节点的下行速度。通常在检测下行速度时,第一数据包小于第二数据包的数据量,减少了不必要的网络传输,进一步第一数据包最好小于第二设定数据量,其中,第二设定数据量是指用于检测网络连通性的最小数据量。
在本发明实施例中,优选地,所述根据所述移动客户端对当前流数据的传输资源的调度请求,确定对应的测速类型的另一种实现方式可以是,若所述调度请求对应请求上下行传输资源,则所述测速类型为上行测速和下行测速。所述测速策略包括:向各个传输节点发送携带第一数据包的测速请求,根据所述传输节点针对所述第一数据包反馈的第二数据包进行测速,所述第一数据包和第二数据包均大于第一设定数据量。
具体而言,第一设定数据量是指用于检测传输速度所需的最小数据量,移动客户端向各传输节点分别发送测速请求,测速请求中携带有第一数据包,传输节点在接收到测速请求后,开始接收第一数据包,第一数据包接收完毕后,传输节点向移动客户端发送第二数据包,移动客户端通过计算开始发送第一数据包和传输节点完成接收第一数据包之间的时间,得到传输第一数据包的传输速度,也就是得到从移动客户端到传输节点的上行速度,再通过计算开始发送第二数据包和移动客户端完成接收第二数据包之间的时间,得到传输第二数据包的传输速度,也就是得到从移动客户端到传输节点的下行速度。
在本发明实施例中,优选地,所述根据所述移动客户端对当前流数据的传输资源的调度请求,确定对应的测速类型的另一种实现方式可以是,若所述调度请求对应请求数据通信,则所述测速类型为网络连通检测。所述测速策略包括:向各个传输节点发送携带第一数据包的测速请求,根据所述传输节点针对所述第一数据包反馈的第二数据包进行测速,所述第一数据包和第二数据包均小于第二设定数据量。
具体而言,第二设定数据量是指用于检测网络连通性的最小数据量,移动客户端向各传输节点分别发送测速请求,测速请求中携带有第一数据包,传输节点在接收到测速请求后,开始接收第一数据包,第一数据包接收完毕后,传输节点向移动客户端发送第二数据包,从而完成了对网络连通性的检测。由于所述第一数据包和第二数据包均小于第二设定数据量,减少了不必要的网络传输,使检测网络连通性更具及时性。
步骤405,选取传输速度符合设定要求的传输节点作为实际传输节点。
在本发明实施例中,传输速度符合设定要求是指可以满足传输需要的传输速度要求,具体设定要求可以根据实际需要进行设定,本发明实施例对此不作限定,调度节点检测到选取的多个传输节点的传输速度后,选取出其中符合设定要求的传输节点。
综上所述,依据本发明实施例,通过从当前传输节点集群中为当前流数据选取至少一个传输节点,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
最后,分别检测所选取的多个传输节点的传输速度,选取传输速度符合设定要求的传输节点,通过对多个所选取的传输节点进行测速,选取出传输速度满足需要的传输节点,实现对相对上传或下载速度较快的传输节点优先选择。
参照图5,示出了根据本发明实施例五的流数据传输节点的选取装置的结构框图,具体可以包括如下模块:
传输节点选取模块501,用于从当前传输节点集群中为当前流数据选取至少一个传输节点;
负载预估模块502,用于根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载;
传输节点修正模块503,用于根据所述实际负载修正所选取的传输节点。
优选地,所述装置还包括:
负载区间构建模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,各负载区间无交集且边界点连续。
优选地,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述负载区间构建模块,具体用于以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。
优选地,所述传输节点选取模块包括:
负载区间查找子模块,用于根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间;
传输节点选取子模块,用于从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
优选地,所述负载区间查找子模块包括:
整数值计算自单元,用于计算所述数据标识对应的整数值;
取余运算子单元,用于利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;
负载区间查找子单元,用于查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。
优选地,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
优选地,所述装置还包括:
当前负载定期获取模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,定期获取当前传输节点集群中所有传输节点的当前负载。
优选地,所述负载预估模块包括:
第一负载增量预估子模块,用于预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量;
第二负载增量预估子模块,用于根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量;
实际负载子模块,用于以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
优选地,所述第二负载增量预估子模块,具体用于以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
优选地,所述传输节点修正模块,具体用于若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
优选地,所述装置还包括:
调度请求接收模块,用于在从当前传输节点集群中为当前流数据选取传输节点之前,接收移动客户端对当前流数据的传输资源的调度请求;
传输节点集群选取模块,用于获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
优选地,所选取的传输节点包括多个,所述装置还包括:
传输速度检测模块,用于分别检测所选取的多个传输节点的传输速度;
选取模块,用于选取传输速度符合设定要求的传输节点作为实际传输节点。
优选地,所述传输节点选取模块,具体用于根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;其中,所述历史记录标示对应流数据曾使用的传输节点。
本领域技术人员应可了解,所述历史记录可以保存于所述流数据传输节点的选取装置,或保存于该装置的某一模块中,也可通过向第三方请求获得,本发明对此不做限定。
综上所述,依据本发明实施例,通过从当前传输节点集群中为当前流数据选取至少一个传输节点,实现了通过调度节点集群为流数据的传输选取传输节点,解决了单个调度节点为流数据的传输选取传输节点的处理能力瓶颈问题,提高了选取传输节点的效率。
其次,根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载,根据所述实际负载修正所选取的传输节点,由于当前负载不能反映传输节点实时的负载情况,而且存在多个调度节点可以同时为流数据的传输分配传输节点,依据本发明方案,各个调度节点可以预估传输节点的实际负载,将实际负载过大的传输节点修正为负载没有过大的传输节点,避免了调度节点集群中的调度节点同时为流数据的传输选取传输节点导致的单个传输节点负载过大的问题。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种流数据传输节点的选取方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (24)
1.一种流数据传输节点的选取方法,包括:
从当前传输节点集群中为当前流数据选取至少一个传输节点;
根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载;
根据所述实际负载修正所选取的传输节点;
其中,所述根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对所述调度节点集群的实际负载包括:
预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量;
根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量;
以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
2.根据权利要求1所述的方法,其中,在从当前的传输节点集群中为当前流数据选取至少一个传输节点之前,所述方法还包括:
按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,各负载区间无交集且边界点连续。
3.根据权利要求2所述的方法,其中,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间包括:
以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。
4.根据权利要求2所述的方法,其中,所述从当前传输节点集群中为当前流数据选取至少一个传输节点包括:
根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间;
从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
5.根据权利要求4所述的方法,其中,所述根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间包括:
计算所述数据标识对应的整数值;
利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;
查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。
6.根据权利要求4所述的方法,其中,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
7.根据权利要求1所述的方法,其中,在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,所述方法还包括:
定期获取当前传输节点集群中所有传输节点的当前负载。
8.根据权利要求1所述的方法,其中,所述根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量包括:
以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
9.根据权利要求1所述的方法,其中,所述根据所述实际负载修正所选取的传输节点包括:
若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
10.根据权利要求1-9中任一项所述的方法,其中,在从当前传输节点集群中为当前流数据选取传输节点之前,所述方法还包括:
接收移动客户端对当前流数据的传输资源的调度请求;
获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
11.根据权利要求1所述的方法,其中,所选取的传输节点包括多个,所述方法还包括:
分别检测所选取的多个传输节点的传输速度;
选取传输速度符合设定要求的传输节点作为实际传输节点。
12.根据权利要求1所述的方法,其中,所述从当前传输节点集群中为当前流数据选取至少一个传输节点包括:
根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;
其中,所述历史记录标示对应流数据曾使用的传输节点。
13.一种流数据传输节点的选取的装置,包括:
传输节点选取模块,用于从当前传输节点集群中为当前流数据选取至少一个传输节点;
负载预估模块,用于根据预先获取的所选取传输节点的当前负载,预估所述传输节点应对调度节点集群的实际负载;
传输节点修正模块,用于根据所述实际负载修正所选取的传输节点;
其中,所述负载预估模块包括:
第一负载增量预估子模块,用于预估所述当前流数据被分配至所述传输节点后导致所述传输节点增加的第一负载增量;
第二负载增量预估子模块,用于根据所述第一负载增量,预估所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量;
实际负载子模块,用于以所述调度节点集群导致所述传输节点增加的第二负载增量与所述当前负载之和,作为所述传输节点应对所述调度节点集群的实际负载。
14.根据权利要求13所述的装置,其中,所述装置还包括:
负载区间构建模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,按照各个传输节点的负载性能参数为各个传输节点构建对应的负载区间,各负载区间无交集且边界点连续。
15.根据权利要求14所述的装置,其中,各个传输节点的负载区间的宽度与其负载性能参数的值成正比,所述负载区间构建模块,具体用于以各个负载性能参数的值为负载区间的宽度为各个传输节点构建负载区间。
16.根据权利要求14所述的装置,其中,所述传输节点选取模块包括:
负载区间查找子模块,用于根据所述当前流数据的数据标识查找所述当前流数据归属的负载区间;
传输节点选取子模块,用于从所述当前传输节点集群中选取所归属的负载区间对应的传输节点。
17.根据权利要求16所述的装置,其中,所述负载区间查找子模块包括:
整数值计算自单元,用于计算所述数据标识对应的整数值;
取余运算子单元,用于利用所述数据标识的整数值与所有传输节点的负载性能参数的值的总和做取余运算;
负载区间查找子单元,用于查找取余结果对应的负载区间作为所述当前流数据归属的负载区间。
18.根据权利要求16所述的装置,其中,所述数据标识包括客户端预设字段、客户端标识、时间戳信息、随机数、流数据唯一标识中至少一种。
19.根据权利要求13所述的装置,其中,所述装置还包括:
当前负载定期获取模块,用于在从当前传输节点集群中为当前流数据选取至少一个传输节点之前,定期获取当前传输节点集群中所有传输节点的当前负载。
20.根据权利要求13所述的装置,其中,所述第二负载增量预估子模块,具体用于以所述第一负载增量与设定负载倍数的乘积,作为所述调度节点集群调度所述传输节点后导致所述传输节点增加的第二负载增量,所述设定负载倍数表征所述调度节点集群对所述传输节点的调度次数。
21.根据权利要求13所述的装置,其中,所述传输节点修正模块,具体用于若所述实际负载超出所述传输节点的负载性能参数的值,则将所述传输节点替换为所述传输节点负载性能的值超出实际负载的另一传输节点。
22.根据权利要求13-21中任一项所述的装置,其中,所述装置还包括:
调度请求接收模块,用于在从当前传输节点集群中为当前流数据选取传输节点之前,接收移动客户端对当前流数据的传输资源的调度请求;
传输节点集群选取模块,用于获取所述移动客户端所处位置的信息,并选取所述移动客户端所处位置的信息的对应区域的传输节点集群作为当前传输节点集群。
23.根据权利要求13所述的装置,其中,所选取的传输节点包括多个,所述装置还包括:
传输速度检测模块,用于分别检测所选取的多个传输节点的传输速度;
选取模块,用于选取传输速度符合设定要求的传输节点作为实际传输节点。
24.根据权利要求13所述的装置,其中,所述传输节点选取模块,具体用于根据历史记录从所述当前传输节点集群中为所述当前流数据选取至少一个传输节点;其中,所述历史记录标示对应流数据曾使用的传输节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610849757.7A CN106453122B (zh) | 2016-09-23 | 2016-09-23 | 一种流数据传输节点的选取方法和装置 |
PCT/CN2017/103067 WO2018054369A1 (zh) | 2016-09-23 | 2017-09-25 | 一种流数据传输节点的选取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610849757.7A CN106453122B (zh) | 2016-09-23 | 2016-09-23 | 一种流数据传输节点的选取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106453122A CN106453122A (zh) | 2017-02-22 |
CN106453122B true CN106453122B (zh) | 2019-06-04 |
Family
ID=58169566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610849757.7A Active CN106453122B (zh) | 2016-09-23 | 2016-09-23 | 一种流数据传输节点的选取方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106453122B (zh) |
WO (1) | WO2018054369A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453122B (zh) * | 2016-09-23 | 2019-06-04 | 北京奇虎科技有限公司 | 一种流数据传输节点的选取方法和装置 |
CN109347869B (zh) * | 2018-11-28 | 2021-07-06 | 京东数字科技控股有限公司 | 集群间通信安全因子的生成方法、装置、介质及电子设备 |
CN111683132B (zh) * | 2020-06-04 | 2022-07-19 | 重庆金窝窝网络科技有限公司 | 一种基于微服务架构的业务分发方法及相关装置 |
CN111934947B (zh) * | 2020-07-17 | 2023-03-24 | 中国联合网络通信集团有限公司 | 测速方法、测速调度服务器、终端设备及可读存储介质 |
CN112700292B (zh) * | 2020-12-24 | 2024-03-12 | 航天信息股份有限公司 | 一种通过自动调度税控设备进行电子发票开具的方法及系统 |
CN113452767B (zh) * | 2021-06-23 | 2022-11-25 | 新华三大数据技术有限公司 | 一种应用于服务集群内的负载均衡方法及装置 |
CN113949741B (zh) * | 2021-10-14 | 2023-07-21 | 北京奇艺世纪科技有限公司 | 一种调度方法、调度装置、电子设备及存储介质 |
CN115242780A (zh) * | 2022-07-26 | 2022-10-25 | 北京知道创宇信息技术股份有限公司 | 文件下载方法、装置、下载管理器及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626399A (zh) * | 2009-08-11 | 2010-01-13 | 华中科技大学 | 一种音乐在线播放的调度及控制方法 |
CN101695050A (zh) * | 2009-10-19 | 2010-04-14 | 浪潮电子信息产业股份有限公司 | 一种基于网络流量自适应预测的动态负载均衡方法 |
CN102394931A (zh) * | 2011-11-04 | 2012-03-28 | 北京邮电大学 | 一种基于云的用户访问请求调度方法 |
CN104852857A (zh) * | 2014-02-14 | 2015-08-19 | 航天信息股份有限公司 | 基于负载均衡的分布式数据传输方法和系统 |
CN105007312A (zh) * | 2015-07-03 | 2015-10-28 | 叶秀兰 | 一种云计算服务器自适应负载均衡控制方法及控制系统 |
CN105959405A (zh) * | 2016-06-24 | 2016-09-21 | 北京兰云科技有限公司 | Cdn视频调度系统、方法以及cdn调度服务器和客户端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9137163B2 (en) * | 2010-08-04 | 2015-09-15 | Kryterion, Inc. | Optimized data stream upload |
KR20140097881A (ko) * | 2013-01-30 | 2014-08-07 | 한국전자통신연구원 | 자원 사용량 예측 기반 부하분산 장치 및 방법 |
CN104834722B (zh) * | 2015-05-12 | 2018-03-02 | 网宿科技股份有限公司 | 基于cdn的内容管理系统 |
CN106453122B (zh) * | 2016-09-23 | 2019-06-04 | 北京奇虎科技有限公司 | 一种流数据传输节点的选取方法和装置 |
-
2016
- 2016-09-23 CN CN201610849757.7A patent/CN106453122B/zh active Active
-
2017
- 2017-09-25 WO PCT/CN2017/103067 patent/WO2018054369A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626399A (zh) * | 2009-08-11 | 2010-01-13 | 华中科技大学 | 一种音乐在线播放的调度及控制方法 |
CN101695050A (zh) * | 2009-10-19 | 2010-04-14 | 浪潮电子信息产业股份有限公司 | 一种基于网络流量自适应预测的动态负载均衡方法 |
CN102394931A (zh) * | 2011-11-04 | 2012-03-28 | 北京邮电大学 | 一种基于云的用户访问请求调度方法 |
CN104852857A (zh) * | 2014-02-14 | 2015-08-19 | 航天信息股份有限公司 | 基于负载均衡的分布式数据传输方法和系统 |
CN105007312A (zh) * | 2015-07-03 | 2015-10-28 | 叶秀兰 | 一种云计算服务器自适应负载均衡控制方法及控制系统 |
CN105959405A (zh) * | 2016-06-24 | 2016-09-21 | 北京兰云科技有限公司 | Cdn视频调度系统、方法以及cdn调度服务器和客户端 |
Also Published As
Publication number | Publication date |
---|---|
WO2018054369A1 (zh) | 2018-03-29 |
CN106453122A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453122B (zh) | 一种流数据传输节点的选取方法和装置 | |
CN106357776B (zh) | 一种流数据的传输资源的选取方法和装置 | |
US10956479B2 (en) | System for linking diverse data systems | |
CN109600447B (zh) | 用于处理数据的方法、装置和系统 | |
ES2553428T3 (es) | Método, dispositivo y sistema de procesamiento de contenidos | |
US20170142177A1 (en) | Method and system for network dispatching | |
US9867011B2 (en) | Identifying proximity history of computer devices | |
JP6222680B2 (ja) | 位置情報サービスを実施するための方法、装置、およびシステム | |
US20130054647A1 (en) | Information processing apparatus, information processing method, and program | |
CN106341471A (zh) | 用于位置服务的周边目标地理信息获取和搜索方法 | |
CN104298541A (zh) | 云存储系统的数据分布算法及其装置 | |
CN112954089B (zh) | 一种解析数据的方法、装置、设备以及存储介质 | |
CN111325428A (zh) | 一种工单推送方法、装置及存储介质 | |
Wang et al. | Network-aware QoS prediction for service composition using geolocation | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN106991008A (zh) | 一种资源锁管理方法、相关设备及系统 | |
CN108173952A (zh) | 一种内容分发网络cdn的数据访问方法和装置 | |
CN105656964B (zh) | 数据推送的实现方法及装置 | |
CN107491549A (zh) | 一种数据处理方法及系统 | |
CN114466031B (zh) | 一种cdn系统节点配置方法、装置、设备及存储介质 | |
US7395257B2 (en) | Automated method and system to calculate the surface distance between two geographical locations, and to filter a data set based on the calculation | |
CN113791899B (zh) | 一种面向移动Web增强现实的边缘服务器管理系统 | |
KR20040055901A (ko) | 점진적인 공간 데이터 서비스 시스템 및 방법 | |
CN101640605A (zh) | 关联客户端数据和服务器端数据的方法和装置 | |
Zhao et al. | An efficient privacy preserving location based service system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220712 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co., Ltd |