CN111327622B - 一种资源调度方法及系统 - Google Patents

一种资源调度方法及系统 Download PDF

Info

Publication number
CN111327622B
CN111327622B CN202010124124.6A CN202010124124A CN111327622B CN 111327622 B CN111327622 B CN 111327622B CN 202010124124 A CN202010124124 A CN 202010124124A CN 111327622 B CN111327622 B CN 111327622B
Authority
CN
China
Prior art keywords
pcdn
resource
node
term heat
scheduling server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010124124.6A
Other languages
English (en)
Other versions
CN111327622A (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.)
Dianji Network Technology Shanghai Co ltd
Original Assignee
Dianji Network Technology Shanghai 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 Dianji Network Technology Shanghai Co ltd filed Critical Dianji Network Technology Shanghai Co ltd
Priority to CN202010124124.6A priority Critical patent/CN111327622B/zh
Publication of CN111327622A publication Critical patent/CN111327622A/zh
Application granted granted Critical
Publication of CN111327622B publication Critical patent/CN111327622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6245Modifications to standard FIFO or LIFO
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Abstract

本申请公开了一种资源调度方法及系统,用以解决现有数据分发系统中替换操作开销大,缓存资源有效利用率低的问题,有效提高系统效能。本申请提供的资源调度方法包括:调度服务器根据资源热度确定需要PCDN下载的资源;调度服务器向所述PCDN发送资源下载指示;所述PCDN从CDN下载所述资源。其中,资源热度包括长期热度和短期热度。本申请还公开了一种资源调度系统。

Description

一种资源调度方法及系统
技术领域
本申请涉及网络技术领域,尤其涉及资源调度方法及系统。
背景技术
随着技术的发展,视频服务的清晰度和流畅度不断提升,而且随着5G的到来,用户对高质量视频的需求将越来越旺盛,目前高清视频已经成为主流,。分辨率和清晰度的提高,虽然提升了用户观看体验,但是也使流量使用急剧增加。
目前业界流行的视频分发方式如图1所示,视频/音频/图片等资源部署在内容分发网络(Content Delivery Network,简称CDN)上,用户需要下载资源时,直接向CDN发起资源请求,实现下载、直播和点播。用户也可以向其他用户请求资源,通过Peer to Peer(P2P)技术实现资源共享。点对点数据分发网络(Peer to Peer Content Delivery Network,PCDN)系统的核心工作模式是首先将媒体内容缓存到家庭上网设备上,然后再由用户端以P2P的方式与这些设备建立连接获取数据。在内容分发过程中,PCDN节点上的缓存的内容是否优化对整个PCDN系统运行效率起着着重要的作用,影响用户访问命中率、响应时间和PCDN系统数据分享率等关键性能指标,因此设计灵活高效的调度系统是PCDN系统设计的关键。
目前缓存调度的方法包括LRU(least recently used)算法和LFU(leastfrequently used)算法。LRU算法如图2所示,根据数据的历史访问记录来进行淘汰数据,新数据插入到链表头部,每当缓存命中(即缓存数据被访问),则将数据移到链表头部,当链表满的时候,将链表尾部的数据丢弃。LRU存在长环模式问题,即内容的重用模式长度可能大于缓存空间大小,使刚被替换出缓存空间又被请求访问。LFU算法如图3所示,根据数据的历史访问频率来淘汰数据,新加入数据插入到队列尾部,队列中的数据被访问后,引用计数增加,队列重新排序,当需要淘汰数据时,将已经排序的列表最后的数据块删除。LFU未考虑时间局部性,过去访问频率高的内容即使不再被访问也不能被替换,造成缓存空间浪费。这些方法替换操作开销大,缓存资源有效利用率低,难以有效提高系统效能。
发明内容
为了解决上述技术问题,本发明公开了一种资源调度方法和系统,根据资源的长期热度和短期热度,确定缓存的资源和替换的文件,用以提高资源共享和分发效率。
第一方面,本发明实施例提供了一种资源调度方法,包括:
调度服务器根据资源热度确定需要PCDN下载的资源;
调度服务器向所述PCDN发送资源下载指示;
所述PCDN从数据CDN下载所述资源。
其中,所述资源热度包括短期热度Freq_D和/或长期热度Freq_C,所述短期热度Freq_D为时间T1内资源被请求的次数,所述长期热度Freq_C为时间T2内资源被请求的次数,T1小于T2。
优选的,T1为1天,T2为7天。
进一步的,当所述资源的短期热度Freq_D大于或者等于预设门限THRESFreqD时,所述调度服务器指示所述PCDN缓存Nfilecnt份所述资源的文件。所述Nfilecnt由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE为大于等于50小于等于100的整数。
进一步的,当所述资源的长期热度Freq_C大于预设门限THRESFreqC时,所述调度服务器指示所述PCDN下载所述资源,并替换长期热度最低的资源;其中,THRESFreqC为所述PCDN缓存的资源中长期热度的最低值。
进一步的,所述调度服务器存储PCDN的负载信息,若所述PCDN的负载大于预设门限,则不向所述PCDN发送资源下载指示;或者若所述PCDN的负载大于预设门限,则不向所述用户节点反馈所述PCDN的信息;其中,所述PCDN的负载load通过以下公式确定:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。
另一方面,为了维持PCDN和调度服务器之间的链接,所述调度服务器根据资源热度确定需要PCDN下载的资源之前,还包括:
所述PCDN开机后,向所述调度服务器发送登录请求;
所述调度服务器根据登录请求记录所述PCDN相关信息,并向所述PCDN发送登录成功消息;
所述PCDN接收到登录成功消息后,开启心跳定时器;
所述心跳定时器超时时,向所述调度服务器发送心跳消息;
其中,所述心跳定时器用于每隔时间T,所述PCDN向所述调度服务器发送心跳消息,维持与所述调度服务器的链接。
通过上述资源调度方法,将资源的热度分为短期热度和长期热度,并根据短期热度确定缓存的资源和文件份数,根据长期热度确定替换的文件,从而提高了调度效率,提高了数据共享和分发的效率。
第二方面,本发明实施例公开了一种资源调度系统,包括:
PCDN节点,用于缓存待共享的数据,并向用户提供所述待共享的数据;
调度服务器,用于向所述PCDN节点下发资源下载指示,并接收用户节点的资源请求,返回拥有资源的PCDN节点;
其中,所述PCDN节点与所述用户节点之间有数据信息传输;
所述PCDN节点与所述调度服务器之间有控制信息传输;
所述调度服务器还用于根据资源热度确定需要PCDN节点下载的资源,并向所述PCDN节点发送资源下载指示;
所述PCDN节点还用于从数据分发网络(Content Delivery Network,CDN)下载所述资源。
其中,所述资源热度包括短期热度Freq_D和/或长期热度Freq_C,所述短期热度Freq_D为时间T1内资源被请求的次数,所述长期热度Freq_C为时间T2内资源被请求的次数,T1小于T2。优选的,当所述资源的短期热度Freq_D大于或者等于预设门限THRESFreqD时,所述调度服务器指示所述PCDN缓存Nfilecnt份所述资源的文件。
所述Nfilecnt由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE为大于等于50小于等于100的整数。。
优选的,当所述资源的长期热度Freq_C大于预设门限THRESFreqC时,所述调度服务器指示所述PCDN节点下载所述资源,并替换长期热度最低的资源;
其中,THRESFreqC为所述PCDN节点缓存的资源中长期热度的最低值。
进一步的,所述调度服务器还用于:存储PCDN节点的负载信息,若所述PCDN节点的负载大于预设门限,则不向所述PCDN节点发送资源下载指示;或者若所述PCDN节点的负载大于预设门限,则不向所述用户节点反馈所述PCDN节点的信息;其中,所述PCDN节点的负载load通过以下公式确定:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。
本发明实施例中,将资源热度分为短期热度和长期热度,并根据将并根据短期热度确定缓存的资源和文件份数,根据长期热度确定替换的文件,从而提高了调度效率,提高了数据共享和分发的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的数据分发结构示意图;
图2为现有技术的LRU算法示意图;
图3为现有技术的LFU算法示意图;
图4为本申请实施例提供的调度系统结构示意图;
图5为本申请实施例提供的一种资源调度方法流程示意图;
图6为本申请实施例提供的PCDN从CDN下载数据的流程示意图;
图7为本申请实施例提供的PCDN开机和登录调度服务器流程示意图;
图8为本申请实施例提供的调度服务器组成结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面对文中出现的一些词语进行解释:
1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,方法和系统是基于同一申请构思的,由于方法和系统解决问题的原理相似,因此系统和方法的实施可以相互参见,重复之处不再赘述。
需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。
在此先对本实施例涉及的部分名词进行介绍。
CDN即为内容分发网络(Content Delivery Network,CDN),存储有资源文件;
P2P即为点对点Peer to Peer传输技术;
PCDN即为点对点数据分发网络(Peer to Peer Content Delivery Network,PCDN),用于从CDN下载并缓存待共享的资源,通过P2P技术向用户分发资源,分担CDN的压力。
参见图4,为本申请实施例提供的一种资源调度系统结构示意图,包括内调度服务器401,用户节点402,PCDN节点403,PCDN节点和用户节点均可以有多个。
当用户节点402需要下载某个资源时,向调度服务器401发送资源请求,调度服务器401在PCDN节点资源记录中搜索请求的资源,如果搜索到对应的资源,则将拥有资源的PCDN节点信息反馈给用户节点402,用户节点根据收到的PCDN节点信息,通过P2P技术从PCDN节点下载需要的资源,从而实现资源的获取。
PCDN系统的核心工作模式是首先将媒体内容缓存到家庭上网设备上,然后再由用户端以P2P的方式与这些设备建立连接获取数据。在内容分发过程中,PCDN节点上的缓存的内容是否合理对整个PCDN系统运行效率起着着重要的作用,影响用户访问命中率、响应时间和PCDN系统数据分享率等关键性能指标。灵活高效的调度系统是PCDN系统设计的关键。
如图5所示,对调度服务器的整体工作流程进行描述。需要说明的是,调度服务器执行步骤S503或者步骤S504后,步骤S505或者步骤S506可执行,也可以不执行。步骤S505到S509也可以单独执行而不依赖S503,同理,S506到S509也可以单独执行而不依赖S504。图5仅对整体的工作流程进行描述。
步骤S501,调度服务器接收用户节点的资源请求;
步骤S502,调度服务器搜索PCDN节点记录是否有请求的资源,是则执行步骤S503,否则执行步骤S504;
步骤S503,调度服务器向用户节点返回拥有请求的资源的PCDN节点;
步骤S504,调度服务器返回失败;
步骤S505,调度服务器判断PCDN系统中的文件份数是否足够,若足够则执行步骤S509,若不足够则执行步骤S507;
步骤S506,调度服务器判断资源热度是否达到阈值,若达到阈值,则执行步骤S506,若未达到阈值,则执行步骤S509;
步骤S507,调度服务器选择下载资源的PCDN节点,用于从CDN下载指定的资源,缓存在PCDN上;
步骤S508,调度服务器向选中的PCDN节点下发资源下载指示;
步骤S509,结束。
下面对具体的实施例进行描述。
实施例一
如图6所示,本年实施例提供了一种资源调度方法,该方法包括:
步骤S601,调度服务器根据资源热度确定需要PCDN下载的资源;
PCDN节点缓存的资源完全由调度系统进行调度,PCDN节点与调度系统之间的通过发送消息进行通信。调度服务器记录所有的资源请求,并基于资源请求计算资源的热度。
优选的,资源热度分为短期热度和/或长期热度。本实施例中,短期热度的统计时间比长期热度短。作为一种优选示例,短期热度的统计周期T1为1天,长期热度的统计周期T2为一周,即7天。即统计T1时间之内,资源被请求的次数,将此次数作为短期热度Freq_D。统计T2时间之内,资源被请求的次数,将此次数作为长期热度Freq_C。每个资源都有对应的短期热度和长期热度。根据系统设计的需要,短期热度的统计时间T1也可以为其他长度,长期热度的统计时间也可以为其他长度,但是满足T1<T2,具体的值本实施例不做限定。
优选的,调度服务器根据资源的短期热度Freq_D确定缓存的文件。即调度服务器设定一个短期热度门限THRESFreqD,当某资源的短期热度大于等于该短期热度门限时,调度服务器将通知PCDN缓存该资源。
需要说明的是,本实施例提供的调度方法,调度的基本单位是资源片段,也可以称为文件片段,每次资源下载任务都是以资源片段为单位进行的。这种方法不仅有利于容量有限的PCDN节点进行存储,还能够对同一资源的不同片段进行更加精细的调度。资源片段用文件切片的起始和结束编号表示,如[0,4]表示这一文件从第0到第4个共5个固定长度的文件切片。
进一步的,资源初次被缓存时,缓存的资源片段数量为Ninitcnt,该值由系统预先设定。随着资源短期热度的增加,调度服务器增加该资源在PCDN系统中缓存的文件数量,文件数量随着热度的增加而增加,缓存文件数量由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE取50-100之间的整数,即COE为大于等于50小于等于100的整数。。
作为另一种优选示例,调度服务器根据资源的长期热度Freq_C确定替换的文件。即当资源的长期热度Freq_C大于预设门限THRESFreqC时,调度服务器指示PCDN下载所述资源,并替换长期热度最低的资源;其中,THRESFreqC为所述PCDN缓存的资源中长期热度的最低值。
作为另一种优选示例,调度服务器根据系统管理员的设置读取需要PCDN下载的资源。比如某些热播的电视剧会有很高的热度,被大量用户点播,这时由系统管理员将热门文件提前预下发到PCDN系统中,以应对即将到来的流量高峰。
另外,调度服务器记录每个PCDN的负载信息,当PCDN的负载大于预设门限时,不向所述PCDN发送资源下载指示。PCDN节点负载load用以下公式计算:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。本申请所述的网络发送速率占比,是指网卡发送速率占最大速率的百分比,网络接收速率占比是网卡接收速率占最大速率的百分比。
由CPU使用百分比、网络发送速率占比、网络接收速率占比和内存设置,netrecvrate是网卡接收速率占最大速率的百分比,netsendrate是网卡发送速率占最大速率的百分比。优选的,对于load大于8000的节点不再提供给客户端,也不下发资源下载任务。
步骤S602,调度服务器向PCDN节点发送资源下载指示;
在步骤S601中,调度服务器确定了待调度的资源,以及下载该资源的PCDN节点,调度服务器向该PCDN节点发送资源下载指示,指示PCDN节点从CDN下载相应的资源并缓存或者替换已有的文件。
步骤S603,PCDN从CDN下载指示的资源。
PCDN接收到调度服务器的资源下载指示后,从指示消息中解析出资源相关信息,CDN的地址等,PCDN从指定的CDN下载指定的资源。其中,资源相关信息包括资源名称,文件份数等必要的信息。
通过本实施例,综合利用短期热度和长期热度,将热门的文件调度到PCDN系统的节点上,将不再热门的文件替换下去,实现了PCDN节点进行灵活高效的调度,能够将数量巨大的家庭上网设备组合成高效的PCDN内容分发系统,对客户端提供稳定高效的内容分发服务。
实施例二
在实施例一中,调度服务器调度所有的PCDN,将资源缓存到数量巨大的PCDN上,实现了稳定高效的内容分发。在PCDN下载资源之前,或者之后,用户均可以向调度服务器请求资源。本实施例提供了一种资源调度方法,包括:
步骤一,用户节点向调度服务器发送资源请求;
本步骤中,当用户节点有资源下载需求时,向调度服务器发送资源请求消息。为了使得调度服务器能正确返回拥有待下载资源的PCDN节点信息,请求消息可以包括请求资源的唯一标识信息。作为一种优选实施例,资源可以文件段的方式表示,即请求的是哪个文件的哪一段数据。为了做到全局唯一,作为一种优选实施例,文件段用统一资源定位符(Uniform Resource Locator,URL)的散列值表示。文件段是PCDN调度的基本单位,指某个资源文件的一个连续分片,用段的起始和结束区间进行表示,如[0,4]表示某一个文件从第0个切片到第4个切片共5个切片长度的片段。
优选的,资源请求消息中,还可以包括用户IP地址,以便调度服务器返回资源信息。
进一步的,作为一种优选示例,请求消息中还可以包括表示资源紧急程度的指示信息。
步骤二,所述调度服务器根据用户节点的资源请求,向所述用户发送资源请求反馈信息,反馈信息中包括拥有请求的资源的PCDN的信息;
在本步骤中,调度服务器接收到用户节点的资源请求消息后,从请求消息中解析出请求的资源标识,并在所有的PCDN系统中搜索该资源,当搜索到相应的资源时,将该PCDN节点的信息反馈给用户节点。
优选的,调度服务器搜索资源时,可以考虑地理位置信息。若所述PCDN的地理位置与所述用户节点的地理位置的距离在预定的范围之内,则将所述PCDN的地址信息包括到所述反馈信息中。
优选的,当满足上述地理位置条件的PCDN有多个(即大于等于2个)时,调度服务器可以将距离最短的PCDN地址信息反馈给用户节点。作为另一种优选示例,调度服务器也可以将距离最近的前S个PCDN地址信息都反馈给用户节点,由用户节点自行决定从哪个PCDN获取数据。
需要说明的是,上述所述的距离在预定的范围之内,预定的范围是事先设定的。作为一种优选的示例,PCDN系统以省为单位部署,预定的范围不超过系统部署的边界。
优选的,调度服务器在搜索PCDN节点时,还可以考虑上行带宽的稳定性,也可以再考虑ISP连通性,优选选择上行带宽稳定的、距离近的、ISP连通性好的PCDN节点给用户节点发送数据。
优选的,当所述PCDN的负载大于预设门限时,则不向所述用户节点反馈所述PCDN的信息;其中,所述PCDN的负载load通过以下公式确定:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。本申请所述的网络发送速率占比,是指网卡发送速率占最大速率的百分比,网络接收速率占比是网卡接收速率占最大速率的百分比。
进一步的,当调度服务器搜索到满足条件的PCDN时,在反馈信息中指示请求成功,否则指示失败。
步骤三,所述用户节点根据所述反馈信息,从所述PCDN下载请求的资源;
用户节点收到调度服务器反馈的请求成功的反馈消息后,从反馈消息中解析出PCDN相关的信息,然后就可以从该PCDN节点下载需要的资源。
优选的,用户节点对资源的请求和接收,可以由PCDN的SDK(SoftwareDevelopment Kit)实现,由终端软件厂商植入到软件中,实现从PCDN系统获取数据。
优选的,PCDN系统对外的服务以SDK形式提供,SDK利用环回地址提供服务,客户端向SDK请求媒体数据,由SDK从CDN、PCDN和其他客户端SDK处获取数据。
进一步的,PCDN由家庭上网设备组成,包括运行在互联网边缘的光猫、家庭路由器或Over The Top设备(OTT设备)。这些设备地理位置固定,在线时间稳定,性能良好。随着家用百兆、千兆带宽的普及,使得家庭上网设备的带宽能力得到提高,满足了作为PCDN节点的需要。另一方面,家庭上网设备的数量巨大,能满足突发流量的需求。
优选的,用户节点从PCDN节点下载数据,可以通过P2P技术实现。
进一步的,当调度服务器向用户节点反馈失败时,用户节点可以直接向CDN请求数据,或者向其他用户请求数据。
本实施例用户节点通过向调度服务器请求数据,获取到最优的PCDN节点信息,从而实现了高效的数据获取。
实施例三
如图7所示,为了使得PCDN节点运行稳定,本实施例进一步提供了一种资源调度方法,用户从PCDN节点下载数据之前,PCDN与调度服务器之间的交互包括:
S701,PCDN开机;
S702,PCDN向调度服务器发送登录请求;
登录请求中可包括PCDN节点的能力相关信息,优选的,可以包括PCDN节点存储空间大小,网络带宽,IP地址,地理位置,设备类型,PCDN节点ID等,调度服务器收到登录请求后,将相关的信息记录,并作为后续调度的依据。
S703,调度服务器向PCDN节点发送登录成功消息。
调度服务器记录PCDN相关信息后,向PCDN发送登录成功消息,确认登录完成。
优选的,调度服务器还可以对PCDN做能力校验,如果PCDN的能力不满足要求,则拒绝登录。作为优选示例,能力检查可以包括以下之一或者组合:存储能力是否满足要求,地理位置是否超出预定的范围,网络带宽是否满足要求等。
S704,PCDN节点启动心跳定时器。
S705,当心跳定时器超时时,PCDN节点向调度服务器发送心跳消息。
为了维持PCDN节点与调度服务器之间的链接,避免PCDN掉线但调度系统仍然按照在线进行调度,PCDN节点需要启动心跳定时器,定时器的时长为T,即每隔时间T向调度服务器发送心跳消息。心跳定时器是循环启动的,即到时后继续重新计时。优选的,时间间隔T的长度根据需要预先设定。作为一种优选示例,时间间隔T可以为10秒或者5秒,也可以为其他时间长度。
优选的,若所述调度服务器在连续N个时间T之内未收到所述PCDN节点的心跳消息,则所述调度服务器确定所述PCDN链接中断,N为大于等于2的整数。对于已中断的PCDN节点,调度服务器不再调度,并等待再次登录。
优选的,心跳消息可包括以下内容之一或者组合:PCDN节点唯一标识符、CPU使用率、内存使用率、网络发送速率、网络接收速率、NAT类型、IP地址、端口号或存储容量。
经过上述步骤,PCDN节点开机并登录调度服务器,调度服务器将该PCDN作为可用资源进行进一步的调度。
实施例四
本实施例该提供了一种资源调度系统,如图4所示,该系统包括:调度服务器401,用户节点402和PCDN节点403。
其中,调度服务器401,用于向PCDN节点下发资源下载指示,并接收用户节点的资源请求,返回拥有资源的PCDN节点;
PCDN节点403用于缓存待共享的数据,并向用户提供所述待共享的数据。PCDN节点可以有多个。
其中,所述PCDN节点403与所述用户节点402之间有数据信息传输;
所述PCDN节点与所述调度服务器之间有控制信息传输;
所述调度服务器还用于根据资源热度确定需要PCDN节点下载的资源,并向所述PCDN节点发送资源下载指示;
所述PCDN节点还用于从数据分发网络(Content Delivery Network,CDN)下载所述资源。
作为一种优选实施例,如图8所示,调度服务器还包括:
节点搜索模块801,用于接收所述用户节点的资源请求,并向所述用户节点反馈拥有请求的资源的PCDN节点信息;
节点调度模块802,用于根据资源热度确定需要PCDN节点下载的资源,并向所述PCDN节点发送资源下载指示;还用于或将PCDN节点上的冷门资源替换成热门资源。
节点通信模块803,用于接收所述PCDN节点的登录消息、心跳消息或者任务完成消息,维持与节点的通信,实时记录节点的状态变更。
优选的,所述资源热度包括短期热度Freq_D和/或长期热度Freq_C,所述短期热度Freq_D为时间T1内资源被请求的次数,所述长期热度Freq_C为时间T2内资源被请求的次数,T1小于T2。即统计T1时间之内,资源被请求的次数,将此次数作为短期热度Freq_D。统计T2时间之内,资源被请求的次数,将此次数作为长期热度Freq_C。每个资源都有对应的短期热度和长期热度。根据系统设计的需要,短期热度的统计时间T1也可以为其他长度,长期热度的统计时间也可以为其他长度,但是满足T1<T2,具体的值本实施例不做限定。作为一种优选示例,短期热度的统计周期T1为1天,长期热度的统计周期T2为一周,即7天。
作为另一种实施例,调度服务器401还进一步用于,根据资源的短期热度Freq_D确定缓存的文件。即调度服务器设定一个短期热度门限THRESFreqD,当某资源的短期热度大于等于该短期热度门限时,调度服务器将通知PCDN缓存该资源。
需要说明的是,本实施例提供的调度方法,调度的基本单位是资源片段,也称为文件片段,每次资源下载任务都是以资源片段为单位进行的。这种方法不仅有利于容量有限的PCDN节点进行存储,还能够对同一资源的不同片段进行更加精细的调度。资源片段用文件切片的起始和结束编号表示,如[0,4]表示这一文件从第0到第4个共5个固定长度的文件切片。
进一步的,资源初次被缓存时,缓存的资源片段数量为Ninitcnt,该值由系统预先设定。随着资源短期热度的增加,调度服务器增加该资源在PCDN系统中缓存的文件数量,文件数量随着热度的增加而增加,缓存文件数量由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE取50-100之间的整数,即COE为大于等于50小于等于100的整数。
作为另一种实施例,调度服务器401还进一步用于根据资源的长期热度Freq_C确定替换的文件。即当资源的长期热度Freq_C大于预设门限THRESFreqC时,调度服务器指示PCDN下载所述资源,并替换长期热度最低的资源;其中,THRESFreqC为所述PCDN缓存的资源中长期热度的最低值。
作为另一种实施例,调度服务器401还用于根据系统管理员的设置读取需要PCDN下载的资源。比如某些热播的电视剧会有很高的热度,被大量用户点播,这时由系统管理员将热门文件提前预下发到PCDN系统中,以应对即将到来的流量高峰。
此外,调度服务器401还用于记录每个PCDN的负载信息,当PCDN的负载大于预设门限时,不向所述PCDN发送资源下载指示;或者若所述PCDN节点的负载大于预设门限,则不向所述用户节点反馈所述PCDN节点的信息。PCDN节点负载load用以下公式计算:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。本申请所述的网络发送速率占比,是指网卡发送速率占最大速率的百分比,网络接收速率占比是网卡接收速率占最大速率的百分比。
由CPU使用百分比、网络发送速率占比、网络接收速率占比和内存设置,netrecvrate是网卡接收速率占最大速率的百分比,netsendrate是网卡发送速率占最大速率的百分比。优选的,对于load大于8000的节点不再提供给客户端,也不下发资源下载任务。
作为另一种优选实施例,为了使得PCDN节点运行稳定,PCDN节点403还进一步用于:
开机后,向调度服务器401发送登录请求,接收到调度服务器反馈的登录成功消息后,启动心跳定时器,当心跳定时器超时时,向调度服务器401发送心跳消息。调度服务器通过节点通信模块803接收PCDN节点的登录和心跳信息。
登录请求中可包括PCDN节点的能力相关信息,可以包括PCDN节点存储空间大小,网络带宽,IP地址,地理位置,设备类型,PCDN节点ID等,调度服务器收到登录请求后,将相关的信息记录,并作为后续调度的依据。
心跳定时器的时长为T,即每隔时间T向调度服务器发送心跳消息。心跳定时器是循环启动的,即到时后继续重新计时。优选的,时间间隔T的长度根据需要预先设定。作为一种优选示例,时间间隔T可以为10秒或者5秒,也可以为其他时间长度。
心跳消息可包括以下内容之一或者组合:PCDN节点唯一标识符、CPU使用率、内存使用率、网络发送速率、网络接收速率、NAT类型、IP地址、端口号或存储容量。
需要说明的是,本系统实施例与上述方法实施例时基于同一个发明构思的,解决相同的技术问题,实现相同的技术效果,该系统能实现上述所有方法实施例所述的全部方法,重复之处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (6)

1.一种资源调度方法,其特征在于,该方法包括:
调度服务器根据资源热度确定需要点对点数据分发网络Peer to Peer ContentDelivery Network,PCDN下载的资源;
调度服务器向所述PCDN发送资源下载指示;
所述PCDN从数据分发网络Content Delivery Network,CDN下载所述资源;
其中,所述资源热度包括短期热度Freq_D和/或长期热度Freq_C,所述短期热度Freq_D为时间T1内资源被请求的次数,所述长期热度Freq_C为时间T2内资源被请求的次数,T1小于T2;
当所述资源的短期热度Freq_D大于或者等于预设门限THRESFreqD时,所述调度服务器指示所述PCDN缓存Nfilecnt份所述资源的文件;
所述Nfilecnt由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE为大于等于50小于等于100的整数;
所述调度服务器存储PCDN的负载信息,若所述PCDN的负载大于预设门限,则不向所述PCDN发送资源下载指示;
其中,所述PCDN的负载load通过以下公式确定:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。
2.根据权利要求1所述的方法,其特征在于,当所述资源的长期热度Freq_C大于预设门限THRESFreqC时,所述调度服务器指示所述PCDN下载所述资源,并替换长期热度最低的资源;
其中,THRESFreqC为所述PCDN缓存的资源中长期热度的最低值。
3.根据权利要求1所述的方法,其特征在于,所述调度服务器根据资源热度确定需要PCDN下载的资源之前,还包括:
所述PCDN开机后,向所述调度服务器发送登录请求;
所述调度服务器根据登录请求记录所述PCDN相关信息,并向所述PCDN发送登录成功消息;
所述PCDN接收到登录成功消息后,开启心跳定时器;
所述心跳定时器超时时,向所述调度服务器发送心跳消息;
其中,所述心跳定时器用于每隔时间T,所述PCDN向所述调度服务器发送心跳消息,维持与所述调度服务器的链接,
所述心跳消息包括以下之一或者组合:
PCDN节点唯一标识符、CPU使用率、内存使用率、网络发送速率、网络接收速率、NAT类型、IP地址、端口号或存储容量。
4.一种调度系统,其特征在于,包括:
点对点数据分发网络Peer to Peer Content Delivery Network,PCDN节点,用于缓存待共享的数据,并向用户提供所述待共享的数据;
调度服务器,用于向所述PCDN节点下发资源下载指示,并接收用户节点的资源请求,返回拥有资源的PCDN节点;
其中,所述PCDN节点与所述用户节点之间有数据信息传输;
所述PCDN节点与所述调度服务器之间有控制信息传输;
所述调度服务器还用于根据资源热度确定需要PCDN节点下载的资源,并向所述PCDN节点发送资源下载指示;
所述PCDN节点还用于从数据分发网络Content Delivery Network,CDN下载所述资源;
所述资源热度包括短期热度Freq_D和/或长期热度Freq_C,所述短期热度Freq_D为时间T1内资源被请求的次数,所述长期热度Freq_C为时间T2内资源被请求的次数,T1小于T2;
当所述资源的短期热度Freq_D大于或者等于预设门限THRESFreqD时,所述调度服务器指示所述PCDN缓存Nfilecnt份所述资源的文件,所述Nfilecnt由以下公式确定:
Nfilecnt=Ninitcnt+(Freq_D-THRESFreqD)/COE;
其中,Ninitcnt为初次缓存所述资源时的缓存文件份数,COE为文件份数计算系数,COE为大于等于50小于等于100的整数。
5.根据权利要求4所述的系统,其特征在于,当所述资源的长期热度Freq_C大于预设门限THRESFreqC时,所述调度服务器指示所述PCDN节点下载所述资源,并替换长期热度最低的资源;
其中,THRESFreqC为所述PCDN节点缓存的资源中长期热度的最低值。
6.根据权利要求4所述的系统,其特征在于,所述调度服务器还用于:
存储PCDN节点的负载信息,若所述PCDN节点的负载大于预设门限,则不向所述PCDN节点发送资源下载指示;或者若所述PCDN节点的负载大于预设门限,则不向所述用户节点反馈所述PCDN节点的信息;
其中,所述PCDN节点的负载load通过以下公式确定:
load=(cpu*0.2+netSend*0.3+netRecv*0.3+mem*0.2)*10000
其中,cpu为处理器使用百分比,netSend为网络发送速率占比,netRecv为网络接收速率占比,mem为设置的内存使用比例。
CN202010124124.6A 2020-02-27 2020-02-27 一种资源调度方法及系统 Active CN111327622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010124124.6A CN111327622B (zh) 2020-02-27 2020-02-27 一种资源调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010124124.6A CN111327622B (zh) 2020-02-27 2020-02-27 一种资源调度方法及系统

Publications (2)

Publication Number Publication Date
CN111327622A CN111327622A (zh) 2020-06-23
CN111327622B true CN111327622B (zh) 2023-02-28

Family

ID=71171390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010124124.6A Active CN111327622B (zh) 2020-02-27 2020-02-27 一种资源调度方法及系统

Country Status (1)

Country Link
CN (1) CN111327622B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988425A (zh) * 2020-08-31 2020-11-24 重庆市卫生健康统计信息中心 用于区域医疗卫生应用数据共享的监管系统及方法
CN114422522B (zh) * 2020-10-13 2024-02-13 贵州白山云科技股份有限公司 一种缓存分发方法、装置、介质及设备
CN112399190B (zh) * 2020-10-16 2023-05-09 北京达佳互联信息技术有限公司 音视频数据获取方法及其装置
CN113507522A (zh) * 2021-07-08 2021-10-15 上海七牛信息技术有限公司 一种提高pcdn网络请求命中率的方法及系统
CN114827649B (zh) * 2022-04-22 2024-02-23 上海哔哩哔哩科技有限公司 构建直播对等网络的方法及装置、电子设备和存储介质
CN116916048B (zh) * 2023-09-07 2023-11-17 典基网络科技(上海)有限公司 一种用于流媒体传输优化的混合架构、方法、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011044829A1 (zh) * 2009-10-13 2011-04-21 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN102546711A (zh) * 2010-12-20 2012-07-04 中国移动通信集团公司 流媒体系统中的内容存储调整方法、装置及系统
CN103327079A (zh) * 2013-05-31 2013-09-25 青岛海信传媒网络技术有限公司 一种多媒体资源的缓存方法及装置
CN110149394A (zh) * 2019-05-20 2019-08-20 典基网络科技(上海)有限公司 系统资源的调度方法、装置和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011044829A1 (zh) * 2009-10-13 2011-04-21 成都市华为赛门铁克科技有限公司 资源缓存方法、资源获取方法及其装置、系统
CN102546711A (zh) * 2010-12-20 2012-07-04 中国移动通信集团公司 流媒体系统中的内容存储调整方法、装置及系统
CN103327079A (zh) * 2013-05-31 2013-09-25 青岛海信传媒网络技术有限公司 一种多媒体资源的缓存方法及装置
CN110149394A (zh) * 2019-05-20 2019-08-20 典基网络科技(上海)有限公司 系统资源的调度方法、装置和存储介质

Also Published As

Publication number Publication date
CN111327622A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN111327622B (zh) 一种资源调度方法及系统
EP3595268B1 (en) Streaming media resource distribution method, system, edge node and central dispatching system
US11870871B2 (en) Methods and apparatus for serving content to customer devices based on dynamic content popularity
CN112055972B (zh) 使用用于视频流式传输的差异媒体呈现描述的补充内容插入
CN106993054B (zh) 文件分发方法、节点及系统
CN106161593B (zh) 消息轮询方法和服务器、通信系统
US6374289B2 (en) Distributed client-based data caching system
US7403993B2 (en) System and method for highly-scalable real-time and time-based data delivery using server clusters
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US8880650B2 (en) System and method for storing streaming media file
EP3439239B1 (en) Data transmission method and system based on peer-to-peer network
CN101764831B (zh) 一种流媒体数据共享方法、共享系统和流媒体节点
US20140074961A1 (en) Efficiently Delivering Time-Shifted Media Content via Content Delivery Networks (CDNs)
Liang et al. Incentivized peer-assisted streaming for on-demand services
KR20130088774A (ko) 분할 콘텐트 전달 시스템 및 방법
JP2007529072A (ja) キャッシュネットワーク環境におけるダウンロードスケジューリングシステム及び方法
CN111355798A (zh) 一种数据分发方法及系统
JPH07200380A (ja) ビデオ・ファイル配布システムおよび方法
WO2008025297A1 (fr) Procédé de téléchargement de fichiers selon la technique p2p (pair à pair) et système de téléchargement p2p
WO2009021374A1 (fr) Système de réseau de pair à pair de service vidéo intégré
CN108307198A (zh) 流服务节点调度方法、装置及调度节点
CN101800731B (zh) 网络传输管理服务器、网络传输管理方法及网络传输系统
CN107801051B (zh) 虚拟切片信息传输方法和装置、视频服务器
CN110300339B (zh) 一种直播多媒体回播方法、装置及系统
CN108462755A (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