负载均衡方法、系统、计算机设备及可读存储介质
文献发布时间:2023-06-19 12:10:19
技术领域
本发明涉及无线通信领域,具体涉及到负载均衡方法、系统、计算机设备及可读存储介质。
背景技术
随着移动网络的高速发展,移动设备从早期的文本和语音传输,到如今的视频通话、高清视频信息的查阅和下载,如今井喷式的互联网容量信息请求,对移动互联网的承载能力提出了更高的要求;现有的解决大容量信息传输的方式是通过部署多个边缘缓存节点,通过边缘缓存节点存储和传输小规模数据,而对于移动中的设备,单个边缘节点承担超大容量的缓存任务时耗费的时间较长;所以需要分配给多个边缘节点执行缓存;在现有的缓存部署策略中,往往存在分配不均的情况,即其中某一边缘节点承载较大的缓存量,另一个或多个边缘节点处于空置状态。
发明内容
本发明的目的提供了负载均衡方法、系统、计算机设备及可读存储介质,用于解决移动中的设备缓存大容量文件时缓存时间长,缓存策略部署不均匀的问题。
为实现上述目的,本发明提供一种负载均衡方法:包括
获取移动设备的下载请求,所述下载请求用于请求下载目标文件;
获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在目标文件下载期间的移动路径;
将所述目标文件拆分为多个文件块;及
根据所述多个文件块对多个目标基站进行负载均衡,以控制每个目标基站分别负责所述多个文件块中的一个或多个文件块;每个目标基站分别为与所述移动路径关联的基站。
上述方案中,将所述目标文件拆分为多个文件块的步骤,包括:
根据所述移动路径和移动速度,预测所述移动设备在各个目标基站覆盖范围内的逗留时间;及
根据所述移动设备在各个目标基站覆盖范围内的逗留时间,将所述目标文件拆分成所述多个文件块,每个文件块对应所述多个目标基站中的其中一个目标基站,每个文件块的大小与所述移动设备在相应目标基站覆盖范围内的逗留时间成正比。
根据所述文件下载时间和移动速度,预测所述移动设备在各个目标基站覆盖范围内的逗留时间;及
根据所述移动设备在各个目标基站覆盖范围内的逗留时间,将所述目标文件拆分成所述多个文件块,每个文件块对应所述多个目标基站中的其中一个目标基站,每个文件块的大小与所述移动设备在相应目标基站覆盖范围内的逗留时间成正比。
上述方案中,根据所述文件下载时间和移动速度,预测所述移动设备在各个目标基站覆盖范围内的逗留时间的步骤,包括:
基于所述文件下载时间以及所述移动设备当前的移动速度,计算文件下载期间移动设备经过的路程,在所述移动路径中截取与所述路程对应长度的一条或多条线段,找出位于一条或多条线段两端的多个位置节点。
上述方案中,获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在文件下载期间的移动路径的步骤,包括:
获取所述移动设备的多个历史移动轨迹序列;
计算所述移动设备的当前移动轨迹和各个历史移动轨迹序列之间的匹配度;
根据匹配度最高的历史移动轨迹序列,确定所述移动设备的所述移动设备在所述文件下载期间的移动路径。
上述方案中,获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在文件下载期间的移动路径的步骤,包括:
获取所述移动设备的多组历史移动轨迹序列;
根据所述多组历史移动轨迹序列,匹配出包括当前移动轨迹序列的多组目标序列;所述历史移动轨迹序列为所述移动设备经过的多个历史位置节点组成的序列,所述当前移动轨迹序列为所述移动设备经过的多个当前位置节点组成的序列;
计算每组目标序列中目标节点出现的频数;其中所述目标节点为在所述多组目标序列中与所述当前移动轨迹序列不相交的位置节点,所述频数为所述目标节点在所述多组历史移动轨迹序列中出现的次数;
根据所述多组目标序列中多个目标节点出现的频数以及每组目标序列中每个目标节点出现的频数,计算所述移动设备移动到下一位置节点为所述目标节点的概率,基于所述概率预测所述移动设备移动的下一个或多个位置节点,根据预测的下一个或多个位置节点,组成所述移动设备的移动路径。
上述方案中,根据所述多组历史移动轨迹序列,匹配出包括当前移动轨迹序列的多组目标序列的步骤,包括:
若所述多组历史移动轨迹序列包括有所述当前移动轨迹序列,则在所述多组历史移动轨迹序列中获取包括有所述当前移动轨迹序列的多组目标序列;
若所述多组历史移动轨迹序列包括有所述当前移动轨迹序列,则重复执行以下步骤,直至所述多组历史移动轨迹序列包括有所述当前移动轨迹序列:按时间顺序删除所述当前移动轨迹序列中的一个当前位置节点,并更新所述当前移动轨迹序列;
在所述多组历史移动轨迹序列中获取包括有所述当前移动轨迹序列的多组目标序列。
为实现上述目的,一种负载均衡系统,包括:
负载均衡模块,用于获取移动设备的下载请求,所述下载请求用于请求下载目标文件;且用于将所述目标文件拆分为多个文件块;根据所述多个文件块对多个目标基站进行负载均衡,以控制每个目标基站分别负责所述多个文件块中的一个或多个文件块;每个目标基站分别为与所述移动路径关联的基站。
位置预测模块,用于获取所述移动设备的位置信息,并根据所述位置信息预测所述移动设备在目标文件下载期间的移动路径。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述负载均衡方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述负载均衡方法的步骤。
本发明提供的负载均衡方法、系统、计算机设备及可读存储介质,通过所述位置和移动速度预测所述移动设备在目标文件下载期间的移动路径,以便于负载均衡模块在目标文件下载之前获取到移动设备在目标文件下载期间所经过的目标基站,为后续实施负载均衡提供了必要条件;通过将所述目标文件分为多个文件块;以便于将多个文件分配给多个目标基站,通过多个目标基站同时处理上述缓存任务,减少了文件缓存时间;通过所述多个文件块对多个目标基站进行负载均衡,每个文件块的大小与所述移动设备在相应目标基站覆盖范围内的逗留时间成正比;以便于根据移动设备在目标基站的逗留时间合理拆分文件块;解决了现有技术中缓存部署不均匀的问题。
附图说明
图1示意性示出了根据本发明实施例一的负载均衡方法的流程图;
图2为图1中步骤S102的子步骤图;
图3为图1中步骤S103的子步骤图;
图4为本发明负载均衡方法实施例二中的根据所述位置和移动速度预测所述移动设备在文件下载期间的移动路径的流程图;
图5为图4中步骤S202-2的子步骤图;
图6为本发明负载均衡系统实施例三的程序模块示意图;
图7为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现提供以下实施例:
实施例一:
图1示意性示出了根据本发明实施例一的负载均衡方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备11为执行主体进行示例性描述。
如图1所示,该负载均衡方法可以包括步骤S100~S104,其中:
S101:获取移动设备的下载请求,所述下载请求用于请求下载目标文件;
计算机设备11可以是负载均衡器(Load Balancer),负载均衡是指负载均衡器(Load Balancer)在多个服务器之间分配网络流量;多个服务器可以是Web服务器、FTP服务器、企业关键应用服务器和其他关键任务服务器;这样可以确保没有任何一台服务器自己承担全部负载。
移动设备可以是智能手机、平板电脑、膝上笔记本电脑、智能手表等具有缓存功能的智能存储设备。以智能手机为例:
智能手机可通过GPS定位器监测用户的移动状态,具体地,在采样周期内,例如2s内,GPS定位器获取智能设备的位置发生变化,即可判断智能手机是否处于移动中;当然,也可通过其他方式获取智能手机的移动状态,例如通过智能手机自带的各类传感器(例如重力加速度传感器、陀螺仪等)的数据变化检测智能手机的移动状态;
智能手机向计算机设备11发送下载请求后,计算机设备11响应智能手机发送的下载请求;并自动收集用户的移动状态,若用户处于静止状态,终止执行S102~S104的步骤;若用户处于移动状态,继续执行S102~S104的步骤;本实施例提供的是移动的智能设备的负载均衡方法,对于非移动的智能设备的负载均衡方法,并不在本实施例的保护范围内;
S102:获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在目标文件下载期间的移动路径;
可通过GPS定位器获取移动设备的位置和移动速度,获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在文件下载期间的移动路径的步骤如图2所示,包括:
S102-1:获取所述移动设备的多个历史移动轨迹序列;
S102-2:计算移动设备的多个历史移动轨迹序列与当前移动轨迹序列的匹配度;
S102-3:根据匹配度最高的历史移动轨迹序列,确定所述移动设备在所述文件下载期间的移动路径。
所述移动设备在历史行程中会经过多个位置节点,其中多个位置节点为移动设备在相同的间隔时间内,经过的多个位置点,形成历史位置节点,由多个历史位置节点,按照时间顺序将多个历史位置节点串联的序列为历史移动轨迹序列,移动设备在当前状态下,在相同的间隔时间内,会经过多个位置节点,形成多个当前位置节点,按照时间顺序将多个当前位置节点串联的序列为当前移动轨迹序列。
历史移动轨迹序列和当前移动轨迹序列可存储在服务器中,计算机设备11可自动获取服务器内的历史移动轨迹序列和当前移动轨迹序列,用于计算历史移动轨迹序列和当前移动轨迹序列的匹配度;其中匹配度计算公式如下:
上式中,M代表匹配度,A代表历史移动轨迹序列,B代表当前移动移动轨迹序列;
下面结合实例解释说明匹配度的计算方法,假设现有5组历史移动轨迹序列,分别为:(a,b,c,d,f,g),(a,c,b,m,f,g),(a,d,b,c,h,m),(b,d,c,f,m,g),(b,c,k,f,m,h),以(a,b,c,d,f,g)为例进行示例性解释,其中a,b,c,d,f,g代表移动设备按时间顺序依次经过的历史位置节点;假设当前移动轨迹序列为(a,c,d),则根据匹配度算法,匹配度最高的是(a,c,b,m,f,g),(a,c,b,m,f,g)与(a,c,d)的交集为(a,c),(a,c,b,m,f,g)与(a,c,d)的并集为(a,c,b,d,m,f,g)所以根据以上匹配度计算公式可得,(a,c,d)与(a,c,b,m,f,g)的匹配度为
其中,i表示第i个目标基站,n表示第n个目标基站,N为目标基站的个数,G为目标文件的大小,V
根据目标文件的平均下载时间,以及移动设备当前的移动速度,由此确定最终路径,假设在目标文件的平均下载时间内,移动设备经过的节点为d,m,f,则移动设备在文件下载期间的移动路径为d→m→f。
S103:将所述目标文件拆分为多个文件块的步骤如图3所示;具体包括:
S103-1:根据所述移动路径和移动速度,预测所述移动设备在各个目标基站覆盖范围内的逗留时间;
下面结合示例对上述步骤进行说明,假设覆盖所述移动路径d→m→f的目标基站为C,D,E,F,每个目标基站C,D,E,F分别设定有一个覆盖范围,计算移动设备从开始进入目标基站C,到离开目标基站C移动设备所经过的路程(相当于在目标基站C覆盖范围内,截取移动路径d→m→f中的一段路径),根据经过的路程以及移动设备的当前移动速度,即可获取所述移动设备在C目标基站的逗留时间;
S103-2:根据所述移动设备在各个目标基站覆盖范围内的逗留时间,将所述目标文件拆分成所述多个文件块,每个文件块对应所述多个目标基站中的其中一个目标基站,每个文件块的大小与所述移动设备在相应目标基站覆盖范围内的逗留时间成正比。
通过如下公式将目标文件分成多个文件块:
g
其中,g
示例性的,假设获取到的移动设备在C目标基站的逗留时间为30秒,移动设备在D目标基站的逗留时间为60秒;移动设备在E基站的逗留时间为120秒,移动设备在F基站停留时间为90秒;目标文件的大小为1GB,则C目标基站对应的文件块大小为102.4MB,D目标基站对应的文件块大小为204.8MB,E目标基站对应的文件块大小为307.2MB,F目标基站对应的文件块大小为409.6MB;
具体地,根据对移动设备的移动路径的预测,从而找出移动设备经过的各个目标基站,基于移动设备在各个目标基站逗留时间占移动设备经过所有目标基站的总停留时间的比例,将目标文件按比例拆分成多个文件块,实现了各个基站的负载均衡;避免了某一基站空载的情况;相比于传统的文件下载策略,本技术方案大大缩短了目标文件所需要的缓存时间,增强了用户体验。
S104:根据所述多个文件块对多个目标基站进行负载均衡,以控制每个目标基站分别负责所述多个文件块中的一个或多个文件块;每个目标基站分别为与所述移动路径关联的基站。
结合上述示例对本步骤解释说明,假设获取到的移动设备在C目标基站的逗留时间为30秒,C目标基站提供给所述移动设备下载速度为10MB/s,则C目标基站提供的下载量为300MB;移动设备在D目标基站的逗留时间为60秒,D目标基站提供给移动设备的下载速度为9MB/s,则D目标基站提供的下载量为480MB,E基站提供给移动涉笔的下载速度为8MB/s,移动设备在E基站的逗留时间为120秒,则E目标基站提供的下载量为600MB;F目标基站提供给移动设备的下载速度为4MB/s,移动设备在F基站停留时间为90秒;则F目标基站提供的下载量为360MB;
在上述示例中,F目标基站提供的下载量为360MB,而F目标基站对应的文件块大小为409.6MB,此时F目标基站无法单独完成文件块的缓存任务;而C目标基站、D目标基站、E目标基站提供的下载量均远远超过其目标基站对应的文件块大小;
所以为了解决F目标基站无法单独完成文件块的缓存任务的问题,提出如下优化方案:若其中一个目标基站负责的文件块大小大于所述其中一个目标基站的下载量,则将所述其中一个目标基站对应的文件块根据其中一个目标基站的下载量,拆分成两个文件块,拆分后的其中一个文件块由所述其中一个目标基站负责,拆分后的另一个文件块由其他目标基站负责;
继续结合上述示例对上述步骤进行解释说明,在上述示例中,F目标基站对应的文件块大小为409.6MB,将上述文件块再次分割成两个文件块,两个文件块的大小分别为360MB以及49.6MB,负载均衡模块控制F目标基站负责文件块360MB的缓存任务;负载均衡模块控制C目标基站或D目标基站或E目标基站负责文件块49.6MB的缓存任务。
实施例二:
本实施例为上述实施例一的另一应用场景,与上述实施例一的区别之处在于:获取所述移动设备的位置和移动速度,并根据所述位置和移动速度预测所述移动设备在文件下载期间的移动路径的步骤如图4所示,具体包括:
S202-1:获取所述移动设备的多组历史移动轨迹序列;
S202-2:根据所述多组历史移动轨迹序列,匹配出包括当前移动轨迹序列的多组目标序列;
所述移动设备在历史行程中会经过多个位置节点,其中多个位置节点为移动设备在相同的间隔时间内,经过的多个位置点,形成历史位置节点,由多个历史位置节点,按照时间顺序将多个历史位置节点串联的序列为历史移动轨迹序列,移动设备在当前状态下,在相同的间隔时间内,会经过多个位置节点,形成多个当前位置节点,按照时间顺序将多个当前位置节点串联的序列为当前移动轨迹序列。
历史移动轨迹序列和当前移动轨迹序列可存储在服务器中,计算机设备11可自动获取服务器内的历史移动轨迹序列和当前移动轨迹序列;
S202-3:计算每组目标序列中目标节点出现的频数;其中所述目标节点为在所述多组目标序列中与所述当前移动轨迹序列不相交的位置节点,所述频数为所述目标节点在所述多组历史移动轨迹序列中出现的次数;
S202-4:根据所述多组目标序列中多个目标节点出现的频数以及每组目标序列中每个目标节点出现的频数,计算所述移动设备移动到下一位置节点为所述目标节点的概率,基于所述概率预测所述移动设备移动的下一个或多个位置节点,根据预测的下一个或多个位置节点,组成所述移动设备的移动路径。
计算移动到下一位置节点为所述目标节点的概率计算公式如下:
其中S
下面结合实例对移动路径的预测步骤解释说明,假设现有6组历史移动轨迹序列,分别为:(a,b,c,d),(a,c,d,m),(a,c,d,f),(a,d,b,m),(a,b,m,f),(b,c,k,f),以(a,b,c,d)为例解释,其中a,b,c,d代表移动设备按时间顺序依次经过的历史位置节点;假设当前移动轨迹序列为(a,c,d),则按照上述6组历史移动轨迹序列,匹配出的目标序列为(a,c,d,m)以及(a,c,d,f),每组目标序列中的目标节点分别为m,f,则目标节点m对应的频数为2,目标节点f对应的频数为3;
将目标节点m代入到概率计算公式后对应的频率为1/3,目标节点f代入到概率计算公式后对应的频率为1/2,目标节点f的作为下一目标节点的概率更高,则将目标节点f作为下一位置节点,预测后的目标序列为(a,c,d,f),继续预测下一个位置节点的步骤与上述步骤类似,只是将预测后的目标序列替换成当前移动轨迹序列,可参照以上示例,在此不再赘述;
上述方案中,根据所述多组历史移动轨迹序列,匹配出包括当前移动轨迹序列的多组目标序列的步骤如图5所示,包括:
S202-2A:若所述多组历史移动轨迹序列包括有所述当前移动轨迹序列,则在所述多组历史移动轨迹序列中获取包括有所述当前移动轨迹序列的多组目标序列;
S202-2B:若所述多组历史移动轨迹序列包括所述当前移动轨迹序列,则重复执行以下步骤,直至所述多组历史移动轨迹序列包括有所述当前移动轨迹序列:按时间顺序删除所述当前移动轨迹序列中的一个当前位置节点,并更新所述当前移动轨迹序列;
S202-2C:在所述多组历史移动轨迹序列中获取包括有所述当前移动轨迹序列的多组目标序列。
结合实例对的上述步骤解释说明,假设现有6组历史移动轨迹序列,分别为:(a,b,c,d),(a,c,d,m),(a,c,d,f),(a,d,b,m),(a,b,m,f),(b,c,k,f),当前移动轨迹序列为(b,c,d),在上述6组历史移动轨迹序列中并没有找到包括当前移动轨迹序列的目标序列;则按时间顺序删除最早时间节点对应的位置节点b,删除后对应的当前移动轨迹序列为(c,d),将删除后的当前移动轨迹序列在历史移动轨迹序列中遍历,则可获取目标序列(a,c,d,m),(a,c,d,f)。
实施例三:
如图6所示的一种负载均衡系统1,包括:
负载均衡模块11,用于获取移动设备的下载请求,所述下载请求用于请求下载目标文件;且用于将所述目标文件拆分为多个文件块;根据所述多个文件块对多个目标基站进行负载均衡,以控制每个目标基站分别负责所述多个文件块中的一个或多个文件块;每个目标基站分别为与所述移动路径关联的基站。
位置预测模块12,用于获取所述移动设备的位置信息,并根据所述位置信息预测所述移动设备在目标文件下载期间的移动路径。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的负载均衡系统的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器51、处理器52,如图7所示。需要指出的是,图7仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的网络页面生成装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行网络页面生成装置,以实现实施例一和实施例二的负载均衡方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储负载均衡系统,被处理器52执行时实现实施例一和实施例二的负载均衡方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 负载均衡方法、系统、计算机设备及可读存储介质
- 长连接负载均衡方法、设备、系统及计算机可读存储介质