一种节点分配方法、系统及电子设备和存储介质

文档序号:1784924 发布日期:2019-12-06 浏览:28次 >En<

阅读说明:本技术 一种节点分配方法、系统及电子设备和存储介质 (Node distribution method, system, electronic equipment and storage medium ) 是由 张英杰 于 2019-09-09 设计创作,主要内容包括:本申请公开了一种节点分配方法、系统及设备和介质,该方法包括:获取用于申请节点的请求;确定请求的发起方,获取发起方的历史节点使用信息;确定预先为请求对应的数据分配的预分配节点;根据历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例,以确定待分配节点数量;基于待分配节点质量和对应的节点数量从预分配节点中选择目标节点分配至发起方。本申请预先基于节点可用信息为不同数据分配了预分配节点,获取到用于申请节点的请求后,将获取请求发起方的历史节点使用信息,根据历史节点使用信息确定待分配节点的质量及对应的节点数量,从预分配节点中动态选择节点进行分配,避免优质节点过早被分配完,提高分配的均衡性。(the application discloses a node distribution method, a system, equipment and a medium, wherein the method comprises the following steps: acquiring a request for applying for a node; determining an initiator of the request, and acquiring historical node use information of the initiator; determining a pre-distribution node which is pre-distributed for the data corresponding to the request; determining the quality of the nodes to be distributed and a preset proportion corresponding to the quality of each node to be distributed according to the historical node use information so as to determine the number of the nodes to be distributed; and selecting a target node from the pre-distribution nodes to distribute to the initiator based on the quality of the nodes to be distributed and the corresponding number of the nodes. According to the method and the device, pre-distribution nodes are distributed for different data in advance based on node available information, after a request for applying for the nodes is obtained, historical node use information of a request initiator is obtained, the quality of the nodes to be distributed and the number of the corresponding nodes are determined according to the historical node use information, the nodes are dynamically selected from the pre-distribution nodes to be distributed, the high-quality nodes are prevented from being distributed too early, and the distribution balance is improved.)

一种节点分配方法、系统及电子设备和存储介质

技术领域

本申请涉及共享计算技术领域,更具体地说,涉及一种节点分配方法、系统及一种电子设备和一种计算机可读存储介质。

背景技术

在现有技术中,通过采用内容分发网络(CDN)实现视频数据的分发,从而使得客户端能够获得请求的视频数据,以进行播放或存储等。传统的内容分发网络一般采用IDC机房的服务器作为内容CDN的节点。采用IDC机房的服务器作为节点进行内容分发,虽然服务相对稳定,但是节点数量较少,且产生带宽费用较高,从而导致视频服务的费用较高,且易出现卡顿现象。

为了节省费用,现采用共享计算应用于视频服务的CDN中,即引入共享节点来提供内容分发服务。这些共享节点部署于网络边缘,用于存储和分发视频数据,这些节点的服务成本较低,通常称为低成本节点。在共享计算的应用场景中,在客户端上部署的应用程序从多个低成本节点(如智能硬件)通过点对点传输获取原来由传统CDN提供的部分数据,以达到节省部分带宽的目的。当前,调度系统负责向所有符合要求的应用程序分配节点,根据应用程序申请节点的请求到达的先后顺序,将符合网络条件的节点进行分配。

在上述分配策略中,基于申请节点请求到达的先后顺序进行节点的分配存在多个弊端:优质的节点可能被先使用完,导致顺序靠后的应用程序只能使用质量稍差的节点,节点分配不均衡。

发明内容

本申请的目的在于提供一种节点分配方法、系统及一种电子设备和一种计算机可读存储介质,避免优质节点过早被分配完,提高节点分配的均衡性。

为实现上述目的,本申请提供了一种节点分配方法,包括:

获取用于申请节点的请求;

确定所述请求的发起方,获取所述发起方的历史节点使用信息;

确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;

根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;

根据所述预设比例确定待分配节点数量;

基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。

可选的,所述基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方,包括:

获取包含所有所述预分配节点的随机序列;

基于所述待分配节点质量和对应的所述待分配节点数量从所述随机序列中选择目标节点分配至所述发起方。

可选的,所述基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方,包括:

若所述预分配节点中任一种所述节点质量对应的节点总数量小于所述待分配节点数量,则选择其他所述节点质量对应的预分配节点,直至满足所述待分配节点数量。

可选的,还包括:

确定用于提供服务的待分配节点,并确定所述待分配节点是否可用,得到节点可用信息;

根据所述节点可用信息和数据的热度为每种视频流确定预分配节点。

可选的,所述获取所述发起方的历史节点使用信息,包括:

获取所述发起方的网络特征信息以及当前网络特征下使用的历史节点的节点特征信息;所述节点特征信息包括节点连接成功率和/或服务良好率。

可选的,所述获取所述发起方的网络特征信息以及当前网络特征下使用的历史节点的节点特征信息之后,还包括:

将所述网络特征信息和所述节点特征信息进行关联记录,以便获取到申请节点的请求后直接根据请求发起方的网络特征信息确定所需节点的节点特征信息。

可选的,还包括:

对记录的所述网络特征信息和所述节点特征信息进行监控;

若所述网络特征信息和所述节点特征信息超过预设时间周期未发生更新,则生成超时提醒信息。

为实现上述目的,本申请提供了一种节点分配系统,包括:

请求获取模块,用于获取用于申请节点的请求;

信息获取模块,用于确定所述请求的发起方,获取所述发起方的历史节点使用信息;

节点获取模块,用于确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;

比例确定模块,用于根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;

数量确定模块,用于根据所述预设比例确定待分配节点数量;

节点分配模块,用于基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述公开的任一种节点分配方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种节点分配方法的步骤。

通过以上方案可知,本申请提供的一种节点分配方法,包括:获取用于申请节点的请求;确定所述请求的发起方,获取所述发起方的历史节点使用信息;确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;根据所述预设比例确定待分配节点数量;基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。由上可知,本申请预先基于节点可用信息为不同数据分配了相应的预分配节点,在获取到用于申请节点的请求之后,将获取请求发起方的历史节点使用信息,进而根据历史节点使用信息确定待分配节点的质量及对应的比例,以根据该比例确定待分配节点数量,从预分配节点中动态选择对应数量的目标节点分配至请求发起方,避免仅依据请求的先后顺序进行分配时优质节点过早被分配完的情况,提高节点分配的均衡性。

本申请还公开了一种节点分配系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种节点分配方法的流程图;

图2为本申请实施例公开的一种具体的节点分配方法的整体流程图;

图3为本申请实施例公开的一种节点分配系统的结构图;

图4为本申请实施例公开的一种电子设备的结构图;

图5为本申请实施例公开的另一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在现有技术中,调度系统负责向所有符合要求的应用程序分配节点,根据应用程序申请节点的请求到达的先后顺序,将符合网络条件的节点进行分配。这种分配策略下,优质的节点可能被先使用完,导致顺序靠后的应用程序只能使用质量稍差的节点,节点分配不均衡。

因此,本申请实施例公开了一种节点分配方法,避免优质节点过早被分配完,提高节点分配的均衡性。

参见图1所示,本申请实施例公开的一种节点分配方法包括:

S11:获取用于申请节点的请求;

本步骤中,获取用于申请节点的请求,该请求可以是应用程序发起的请求,节点可以具体为智能硬件设备,所述智能硬件设备可以为个人存储设备(如玩客云、赚钱宝等)、智能电视、电视盒子、网络存储设备(NAS)和路由器等。

S12:确定所述请求的发起方,获取所述发起方的历史节点使用信息;

在获取到用于申请节点的请求之后,进而确定该请求的发起方,并获取发起方历史对于节点的使用信息。

具体地,上述获取所述发起方的历史节点使用信息的过程,可以具体包括:获取发起方的网络特征信息以及当前网络特征下使用的历史节点的节点特征信息;其中,所述节点特征信息包括但不限于节点连接成功率和/或服务良好率,还可以包括是否存在UPNP映射;网络特征信息包括但不限于所处NAT类型、地理位置信息和运营商信息等。

可以理解的是,本实施例在获取到发起方的网络特征信息以及当前网络特征下使用的历史节点的节点特征信息之后,还可以将网络特征信息和节点特征信息进行关联记录,以便后续获取到其他申请节点的请求后,无需再重新获取该请求发起方的历史节点使用信息,可以直接根据请求发起方的网络特征信息确定所需节点的节点特征信息。

S13:确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;

需要指出的是,本实施例预先对节点进行了预分配操作,具体地,上述请求对应的数据可以具体为视频流数据,本实施例可以首先确定用于提供服务的所有待分配节点,并确定待分配节点是否可用,得到节点可用信息;根据节点可用信息和数据的热度为每种视频流确定对应的预分配节点,上述数据可以具体为视频流数据,即可根据节点可用信息和视频流的热度为每种视频流确定对应的预分配节点。

相应的,本实施例在获取到用于申请节点的请求之后,获取当前请求对应的视频流信息,以便确定出预分配节点中与该视频流对应的节点。

S14:根据所述历史节点使用信息确定目标节点质量和每种目标节点质量对应的预设比例;

本实施例中,根据所述历史节点使用信息确定目标节点质量时,可具体将节点分为高、中、低三种质量,在根据历史节点使用信息从预分配节点中选择目标节点分配至发起方时,可以根据历史节点使用信息确定目标节点的质量,以及每种目标节点的质量对应的预设比例。

在具体实施中,在获取到目标节点之前为应用程序提供服务时的节点连接成功率、服务良好率等用于表征服务质量的参数之后,可以基于上述表征服务质量的参数确定针对该节点服务质量的评价值,具体可以利用上述每个参数的具体数值及对应的预设权重计算得到加权值,将该加权值作为节点服务质量的评价值。本实施例中,可以预先设定两个或两个以上阈值,利用多个阈值将节点服务质量划分为多个等级。例如,可预先设定第一阈值和第二阈值,其中,第一阈值小于第二阈值,利用第一阈值和第二阈值将节点服务质量划分为高、中、低三个等级,即将服务质量的评价值低于第一阈值的节点对应的质量等级确定为低,将服务质量的评价值在第一阈值和第二阈值之间的节点对应的质量等级确定为中,将服务质量的评价值高于第二阈值的节点对应的质量等级确定为高。由此在确定得到当前节点对应的节点服务质量的评价值之后,可通过对当前节点评价值与上述第一阈值和第二阈值的对比,确定当前评价值所处的范围,进而确定当前节点对应的服务质量等级。需要说明的是,上述预设权重、第一阈值和第二阈值均可在具体实施中根据情况进行设定,本发明对此不进行限定。

可以理解的是,上述预设比例可以为系统预先设定的比例,或者可以为在实施过程中人工进行手动设定的比例。通过为当前申请节点的请求分配每一种质量的节点,保证所有质量的节点都可以存在被使用的可能性,避免遗漏节点。另外,本实施例中对于服务质量较差的节点,可以先对其进行禁用,在一段时间后再进行重试。

S15:根据所述预设比例确定目标节点数量;

具体地,本步骤可根据当前申请节点的请求所需的总节点数量以及每种目标节点质量对应的预设比例确定每种目标节点质量对应的目标节点数量。

S16:基于所述目标节点质量和对应的所述目标节点数量从所述预分配节点中选择目标节点分配至所述发起方。

作为一种优选实施方式,本实施例基于目标节点质量和对应的目标节点数量从所述预分配节点中选择目标节点分配至发起方时,可以首先获取包含所有预分配节点的随机序列,从而可基于目标节点质量和对应的目标节点数量从随机序列中选择目标节点分配至发起方,保证节点申请时的调度性能。可以理解的是,节点分配过程中,若所需目标节点中任一种节点质量对应的节点总数量小于目标节点数量,则选择其他节点质量对应的目标节点,直至满足目标节点数量。例如,若所需高质量节点为30个,而对应的预分配节点中的高质量节点为20个,则从中质量节点中选择10个节点,以满足节点数量需求。

进一步地,为了防止数据长时间未更新,本实施例可以对记录的网络特征信息和节点特征信息进行监控;若网络特征信息和节点特征信息超过预设时间周期未发生更新,则生成超时提醒信息。

通过以上方案可知,本申请提供的一种节点分配方法,包括:获取用于申请节点的请求;确定所述请求的发起方,获取所述发起方的历史节点使用信息;确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;根据所述预设比例确定待分配节点数量;基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。由上可知,本申请预先基于节点可用信息为不同数据分配了相应的预分配节点,在获取到用于申请节点的请求之后,将获取请求发起方的历史节点使用信息,进而根据历史节点使用信息确定待分配节点的质量及对应的比例,以根据该比例确定待分配节点数量,从预分配节点中动态选择对应数量的目标节点分配至请求发起方,避免仅依据请求的先后顺序进行分配时优质节点过早被分配完的情况,提高节点分配的均衡性。

图2为本申请实施例提供的一种具体的节点分配方法的整体流程图。如图2所示,本实施例收集节点上报的自身数据,例如网络信息、使用情况,使用情况具体指节点历史为哪个应用程序提供过服务,使用了多少流量、带宽等;以及收集应用程序向调度请求节点时的信息,包括数据流信息和历史已分配节点的使用情况。进而基于节点信息及视频流信息对节点进行预分配,每个视频流下都包含多种特征的节点,用于后期申请节点时从预分配节点中选择节点。

本实施例中,根据节点信息以及应用程序向调度请求节点时的信息将节点汇总至相应的网络特征下,得到节点服务质量数据,通过每次申请节点的应用程序的特征从节点服务质量数据选择可用的节点特征,并根据不同特征的服务质量从预分配节点中选择最终提供服务的节点。

可以理解的是,由于大量的应用程序处于各种复杂的网络环境,节点对于不同的应用程序有着不同的服务质量,仅仅依据节点的历史使用情况评价节点的质量是片面不准确的,为此,本实施例结合不同网络特征下的节点服务情况,能够让多数节点都得到有效的利用,以便从全局上使得节点提供更多的数据带宽,保证调度的性能。

下面对本申请实施例提供的一种节点分配系统进行介绍,下文描述的一种节点分配系统与上文描述的一种节点分配方法可以相互参照。

参见图3所示,本申请实施例提供的一种节点分配系统包括:

请求获取模块101,用于获取用于申请节点的请求;

信息获取模块102,用于确定所述请求的发起方,获取所述发起方的历史节点使用信息;

节点获取模块103,用于确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;

比例确定模块104,用于根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;

数量确定模块105,用于根据所述预设比例确定待分配节点数量;

节点分配模块106,用于基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。

关于上述模块101至106的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。

本申请还提供了一种电子设备,参见图4所示,本申请实施例提供的一种电子设备包括:

存储器100,用于存储计算机程序;

处理器200,用于执行所述计算机程序时可以实现前述任一实施例公开的节点分配方法的步骤。

具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现以下步骤:

获取用于申请节点的请求;确定所述请求的发起方,获取所述发起方的历史节点使用信息;确定预先基于节点可用信息为所述请求对应的数据分配的预分配节点;根据所述历史节点使用信息确定待分配节点质量和每种待分配节点质量对应的预设比例;根据所述预设比例确定待分配节点数量;基于所述待分配节点质量和对应的所述待分配节点数量从所述预分配节点中选择目标节点分配至所述发起方。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:获取包含所有所述预分配节点的随机序列;基于所述待分配节点质量和对应的所述待分配节点数量从所述随机序列中选择目标节点分配至所述发起方。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:若所述预分配节点中任一种所述节点质量对应的节点总数量小于所述待分配节点数量,则选择其他所述节点质量对应的预分配节点,直至满足所述待分配节点数量。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:确定用于提供服务的待分配节点,并确定所述待分配节点是否可用,得到节点可用信息;根据所述节点可用信息和数据的热度为每种视频流确定预分配节点。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:获取所述发起方的网络特征信息以及当前网络特征下使用的历史节点的节点特征信息;所述节点特征信息包括节点连接成功率和/或服务良好率。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:将所述网络特征信息和所述节点特征信息进行关联记录,以便获取到申请节点的请求后直接根据请求发起方的网络特征信息确定所需节点的节点特征信息。

优选的,所述处理器200执行所述存储器100中保存的计算机子程序时,可以实现以下步骤:对记录的所述网络特征信息和所述节点特征信息进行监控;若所述网络特征信息和所述节点特征信息超过预设时间周期未发生更新,则生成超时提醒信息。

在上述实施例的基础上,作为优选实施方式,参见图5所示,所述电子设备还包括:

输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。

显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。

网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。

图5仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的节点分配方法的步骤。

由上可知,本申请预先基于节点可用信息为不同数据分配了相应的预分配节点,在获取到用于申请节点的请求之后,将获取请求发起方的历史节点使用信息,进而根据历史节点使用信息确定待分配节点的质量及对应的比例,以根据该比例确定待分配节点数量,从预分配节点中动态选择对应数量的目标节点分配至请求发起方,避免仅依据请求的先后顺序进行分配时优质节点过早被分配完的情况,提高节点分配的均衡性。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种流媒体卡顿识别方法、服务器和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类