著录项信息
专利名称 | 基于内容复制的资源负载平衡方法 |
申请号 | CN200810156156.3 | 申请日期 | 2008-09-24 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2009-02-18 | 公开/公告号 | CN101370030 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 东南大学 | 申请人地址 | 江苏省南京市四牌楼2号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 东南大学 | 当前权利人 | 东南大学 |
发明人 | 罗军舟;曹玖新;朱夏;田田;东方;郑啸 |
代理机构 | 南京经纬专利商标代理有限公司 | 代理人 | 叶连生 |
摘要
基于内容复制的资源负载平衡方法,具体涉及一种基于内容复制的资源负载平衡方法以及一种自动的分布式资源监控架构,从每个独立的资源存储中心节点出发,根据本地节点的资源访问情况以及资源存储中心信息,动态的对访问频率较高的资源进行内容复制,并为复制的资源选择一个合适的资源存储节点进行存储,最终实现面向资源的负载平衡。负载平衡所需的资源存储中心信息如带宽,磁盘空间,信用度等通过分布式资源监控脚本程序采集存储到全局管理中心的监控信息数据库中。
1.一种基于内容复制的资源负载平衡方法,其特征在于:所述负载平衡方法包括:
a.每个资源存储中心节点首先建立本节点的资源统计数据库,资源统计数据库中记录了该节点所有存储资源的历史访问情况,包括资源名、资源ID以及对应资源的历史访问总次数,节点定期查询资源统计数据库,若发现有资源在一段时间内的访问总次数超过事先设定的阈值,则选中该资源进行副本创建,阈值根据实际的访问情况进行调整;
b.确定需要创建副本的资源后,需要找到一个合适的节点来存放创建的副本,以达到负载均衡的目标;
c.在各个资源存储中心分布式监控存储资源,建立统一的监控信息数据库,通过脚本程序控制的方法,获得挂载在中心节点上的各个磁盘空间信息、网络带宽以及一天内资源存储中心之间ping的总次数与ping通次数;将结果将存入文本文件中,通过Java的输入输出流,读取文本文件中的信息,应用Java的字符串操作提取文本文件中的存储信息字段,通过连接JDBC操作,将存储信息存入监控信息数据库的表项;
d.使用一种基于JAVA语言的图表开发技术JFreeChart组件,生成动态的Web页面,将监控信息数据库中的存储资源信息可视化表示;
e.查询监控信息数据库,首先选择N个节点,其可用存储空间必须大于所要创建的副本的大小,
f.设选出的N个候选节点为Node1,Node2,Node3,…,Noden
每个节点的信用度Credit记为:C1,C2,C3,…,Cn
每个节点的网络带宽Bandwidth为:B1,B2,B3,…,Bn
设定数值 Ai=αCi+βBi
其中,α,β为权重:α+β=1,0<α<1;0<β<1;
计算每个候选节点的Ai值,选择Ai值最大的候选节点作为新创建副本的存储节点;
其中,资源存储中心的中心节点建有资源统计数据库,数据库采用的是MYSQL服务器,资源统计数据库的信息包括资源名称、资源ID、资源的累计访问次数和资源的存储地址;
资源存储中心定期查询资源统计数据库,选择超过访问阈值的资源进行内容复制;访问阈值是事先设定的,实施中采用500作为阈值,即访问累计次数大于500的资源才有资格进行内容复制;另外,资源存储中心定期查询资源统计数据库的时间也是设定好的并且可以自由调整。
2.根据权利要求1所述的基于内容复制的资源负载平衡方法,其特征在于:创建副本时选择节点考虑两个因素:
a1.信用度反映的是节点的稳定性,其值是节点在一段时间内的在线时间与这段时间总时间的比值,表示为信用度=节点在一段时间内的在线时间/总时间;节点的信用度越高,表明该节点的稳定性越好,算法应该尽量选择高信用度的节点来创建副本,a2.带宽反映的创建副本的节点与候选节点之间的网络情况,带宽越高,传输时间越小且不易出错,算法应该尽量选择高带宽的节点来创建副本。
3.根据权利要求1所述的基于内容复制的资源负载平衡方法,其特征在于:获得挂载在中心节点上的各个磁盘空间信息的方法为:通过在存储资源中心服务器上执行获取磁盘空间信息的系统命令,获得挂载在服务器上的各个磁盘空间信息,即中心内存储资源信息,将结果存入文本文件。
4.根据权利要求1所述的基于内容复制的资源负载平衡方法,其特征在于:获得挂载在中心节点的网络带宽的方法为:通过Java的Jpcpa记录一段时间间隔内网卡接收的字节数和发送的字节,从而可以得到每秒的发送与接收的字节数,即网络带宽,将结果存入文本文件。
5.根据权利要求1所述的基于内容复制的资源负载平衡方法,其特征在于:获得一天内资源存储中心之间ping的总次数与ping通次数的方法为:在中心节点ping各个资源存储中心服务器以确定联通情况,记录一天内ping总次数与ping通次数,结果保存在文本文件中。
6.根据权利要求1所述的基于内容复制的资源负载平衡方法,其特征在于:将数据库中的存储资源信息可视化表示的方法为:使用Java提供的JFreeChart组件,通过Java Servlet应用程序设计接口,将数据库中的存储资源信息用柱状图、饼图、折线图等表示出来,并以存储资源中心为单位,作出统计;可视化表示方法如下:使用Java提供的JFreeChart组件,通过Servlet技术,在服务器端根据指定画图的模式,利用数据库提供的数据画出图形,并以图像的形式保存在服务器中,最终将图像传输到浏览器上。
基于内容复制的资源负载平衡方法\n技术领域\n[0001] 本发明涉及计算机网络领域,特别涉及负载平衡技术,具体涉及一种基于内容复制的资源负载平衡方法。\n背景技术\n[0002] 随着网络的高速发展,越来越多地理上分布的资源通过网络而被聚集。由于资源本身就是分布的,而且资源的访问者或使用者同样也是分布的,因而一些新型的数据管理结构,典型的如数据网格,被开发以用来管理这些大量的分布的资源,从而为访问者提供高效的资源访问服务。大量的分布的用户访问同样大量的分布的资源,必然会出现负载不均衡的情况,即局部某些资源访问量过大,而同时另一些资源访问量过小。这种负载的不均衡是由于资源的访问量不均所引起的。\n[0003] 目前的负载均衡服务主要是基于中间件的服务。即在资源和用户之间加入一个负载均衡服务器(即中间件),通过负载均衡服务器来集中响应用户对资源的请求,通过将用户的请求尽量均匀的分散到多个资源访问服务器上来达到负载平衡的目的。这是一种面向用户的资源负载平衡方法,通过分发用户的资源请求达到负载平衡的目的。然而,不管是用户还是上层应用,最终访问的都是资源。由于资源的分布性,使得负载均衡服务器的集中管理显得比较困难,且会造成单点失效问题。因此需要一种新的面向底层资源的负载平衡方法,从底层资源的角度出发来进行负载平衡的设计,能够动态的根据资源访问情况进行内容复制,进而达到负载平衡的目的。\n发明内容\n[0004] 技术问题:本发明针对现有技术的不足和缺陷,提出了一种基于内容复制的资源负载均衡方法,本发明从每个独立的资源存储节点出发,根据本地节点的资源访问情况以及通过监控得到的其他存储节点信息(包括带宽,信用度和磁盘空间信息等),动态的对访问频率较高的资源进行内容复制,并为复制的资源(也称做副本)选择一个合适的资源存储节点进行存储,最终实现面向资源的负载均衡。\n[0005] 技术方案:本发明基于内容复制的资源负载平衡方法包括:\n[0006] a.每个资源存储中心节点首先建立本节点的资源统计数据库,资源统计数据库中记录了该节点所有存储资源的历史访问情况,包括资源名、资源ID以及对应资源的历史访问总次数,节点定期查询资源统计数据库,若发现有资源在一段时间内的访问总次数超过事先设定的阈值,则选中该资源进行副本创建,阈值根据实际的访问情况进行调整;\n[0007] b.确定需要创建副本的资源后,需要找到一个合适的节点来存放创建的副本,以达到负载均衡的目标;\n[0008] c.在各个资源存储中心分布式监控存储资源,建立统一的监控信息数据库,通过脚本程序控制的方法,获得挂载在中心节点上的各个磁盘空间信息、网络带宽以及一天内资源存储中心之间ping(ping是操作系统的基本指令)的总次数与ping通次数;将结果将存入文本文件中,通过Java的输入输出流,读取文本文件中的信息,应用Java的字符串操作提取文本文件中的存储信息字段,通过连接JDBC操作,将存储信息存入监控信息数据库(使用DB2)的表项;\n[0009] d.使用一种基于JAVA语言的图表开发技术JFreeChart组件,生成动态的Web页面,将数据库中的存储资源信息可视化表示;\n[0010] e.查询监控信息数据库,首先选择N个节点,其可用存储空间必须大于所要创建的副本的大小,\n[0011] f.设选出的N个候选节点为Node1,Node2,Node3,…,Noden\n[0012] 每个节点的信用度Credit记为:C1,C2,C3,…,Cn\n[0013] 每个节点的网络带宽Bandwidth为:B1,B2,B3,…,Bn\n[0014] 设定数值 Ai=αCi+βBi\n[0015] 其中,α,β为权重:α+β=1,0<α<1;0<β<1;\n[0016] 计算每个候选节点的Ai值,选择Ai值最大的候选节点作为新创建副本的存储节点。\n[0017] 创建副本时选择节点考虑两个因素:\n[0018] a1.信用度反映的是节点的稳定性,其值是节点在一段时间内的在线时间与这段时间总时间的比值,表示为信用度=节点在一段时间内的在线时间/总时间;节点的信用度越高,表明该节点的稳定性越好,算法应该尽量选择高信用度的节点来创建副本,[0019] a2.带宽反映的创建副本的节点与候选节点之间的网络情况,带宽越高,传输时间越小且不易出错,算法应该尽量选择高带宽的节点来创建副本。\n[0020] 获得挂载在中心节点上的各个磁盘空间信息的方法为:通过在存储资源中心服务器上执行获取磁盘空间信息的系统命令,获得挂载在服务器上的各个磁盘空间信息,即中心内存储资源信息,结果将存入文本文件。\n[0021] 获得挂载在中心节点的网络带宽的方法为:通过Java的Jpcpa记录一段时间间隔内网卡接收的字节数和发送的字节,从而可以得到每秒的发送与接收的字节数,即网络带宽,将结果存入文本文件。\n[0022] 获得一天内资源存储中心之间ping的总次数与ping通次数的方法为:在中心节点ping各个资源存储中心服务器以确定联通情况,记录一天内ping总次数与ping通次数,结果保存在文本文件中。\n[0023] 将数据库中的存储资源信息可视化表示的方法为:使用Java提供的JFreeChart组件,通过Java Servlet应用程序设计接口,将数据库中的存储资源信息用柱状图、饼图、折线图等表示出来,并以存储资源中心为单位,作出统计。可视化表示方法如下:使用Java提供的JFreeChart组件,通过Servlet技术,在服务器端根据指定画图的模式,利用数据库提供的数据画出图形,并以图像的形式保存在服务器中,最终将图像传输到浏览器上。\n[0024] 有益效果:使用该方法实现负载均衡有如下优点:\n[0025] (1)从底层资源角度出发,可以灵活的根据资源访问情况动态的进行内容复制,进而达到负载平衡的目的。\n[0026] (2)新的复制内容(副本)存放节点的选择考虑了信用度和带宽等因素,高信用度的节点保证了系统的稳定性,同时高带宽节点的选择保证了传输的即时性。\n[0027] (3)动态监控并可视化存储节点信息,保证了信息的实时性,同时利于管理员直观的掌握各个中心的存储节点情况。\n附图说明\n[0028] 图1为本发明所述的基于虚拟映射的网络拓扑示意图;\n[0029] 图2为本发明所述的基于内容复制的负载平衡方法的流程图;\n[0030] 图3为本发明所述的分布式资源监控流程图;\n具体实施方式:\n[0031] 本发明主要包括三方面的内容:一种基于虚拟映射的网络拓扑、基于内容复制的负载平衡算法、以及适应本发明中的网络拓扑的一种分布的资源监控结构。1.一种基于虚拟映射的网络拓扑。\n[0032] 将同属一个局域网的存储资源节点抽象成一个资源存储中心。在资源存储中心的每个资源存储节点上设置共享文件夹,将共享文件夹映射成中心服务器上的一个虚拟盘符。各个资源存储中心的信息(如磁盘空间,带宽,信用度等)由全局管理中心管理。\n[0033] 2.基于内容复制的负载均衡算法\n[0034] (1)每个资源存储中心节点首先建立本节点的资源统计数据库。资源统计数据库中记录了该节点所有存储资源的历史访问情况,包括资源名、资源ID以及对应资源的历史访问总次数。节点定期查询资源统计数据库,若发现有资源在一段时间内的访问总次数超过事先设定的阈值,则选中该资源进行副本创建。阈值可以根据实际的访问情况进行调整。\n[0035] (2)确定需要创建副本的资源后,需要找到一个合适的节点来存放创建的副本,以达到负载均衡的目标。\n[0036] (3)查询监控信息数据库,首先选择N个节点,其可用存储空间必须大于所要创建的副本的大小\n[0037] (4)设选出的N个候选节点为Node1,Node2,Node3,…,Noden\n[0038] 每个节点的信用度(Credit)记为:C1,C2,C3,…,Cn\n[0039] 每个节点的网络带宽(Bandwidth)为:B1,B2,B3,…,Bn\n[0040] a)信用度反映的是节点的稳定性,其值是节点在一段时间内(比如一天)的在线时间与这段时间总时间的比值,表示为C=timeavailable/totaltime。节点的信用度越高,表明该节点的稳定性越好,算法应该尽量选择高信用度的节点来创建副本。\n[0041] b)带宽反映的创建副本的节点与候选节点之间的网络情况。带宽越高,传输时间越小且不易出错,算法应该尽量选择高带宽的节点来创建副本。\n[0042] 设定数值\n[0043] Ai=αCi+βBi α,β为权重 (1)\n[0044] 其中,α+β=1,0<α<1;0<β<1;\n[0045] 计算每个候选节点的Ai值,选择Ai值最大的候选节点作为新创建副本的存储节点。\n[0046] 3.分布式资源监控\n[0047] (1)通过在存储资源中心服务器上执行获取磁盘空间信息的系统命令,获得挂载在服务器上的各个磁盘空间信息,即中心内存储资源信息。结果将存入文本文件。\n[0048] (2)通过Java的Jpcpa记录一段时间间隔内网卡接收的字节数和发送的字节,从而可以得到每秒的发送与接收的字节数,即网络带宽。将结果存入文本文件。\n[0049] (3)在中心节点ping各个资源存储中心服务器以确定联通情况。记录一天内ping总次数totaltime与ping通次数timeavailable,结果保存在文本文件中。\n[0050] (4)通过Java的输入输出流,读取文本文件中的信息。应用Java的字符串操作提取文本文件中的存储信息字段。通过连接JDBC操作,将存储信息存入数据库(使用DB2)的表项。\n[0051] (5)将(1)(2)(4)封装成批处理脚本程序。\n[0052] (6)将(3)(4)封装成批处理脚本程序。\n[0053] (7)存储资源信息的可视化表示:为利于系统管理员直观的掌握各个中心的存储节点情况,将数据库中的存储节点信息用柱状图、饼图、折线图等表示出来,并以存储资源中心为单位,作出统计。\n[0054] (8)可视化表示方法如下:使用Java提供的JFreeChart组件,通过Servlet技术,在服务器端根据指定画图的模式,利用数据库提供的数据画出图形,并以图像的形式保存在服务器中,最终将图像传输到浏览器上。\n[0055] 如图1所示,三个资源存储中心分别用A、B、C表示。现在以资源存储中心A为例,详细叙述基于内容复制的资源负载平衡方法。资源存储中心A的中心节点建有资源统计数据库,数据库采用的是MYSQL服务器。资源统计数据库的信息包括资源名称、资源ID、资源的累计访问次数和资源的存储地址。资源存储中心A定期查询资源统计数据库,选择超过访问阈值的资源进行内容复制。访问阈值是事先设定的,实施中采用500作为阈值,即访问累计次数大于500的资源才有资格进行内容复制。另外,资源存储中心A定期查询资源统计数据库的时间也是设定好的并且可以自由调整,具体实施中取1天为限,即每一天检查一次。\n[0056] 资源存储中心A查询资源统计数据库并选出符合内容复制要求的资源后,需要为这些资源创建副本,并将创建的资源副本放到合适的节点上以达到负载平衡的最终目的。\n节点选择的过程如下:\n[0057] 首先资源存储中心A查询位于全局管理中心上的监控信息数据库,根据其他节点剩余可用磁盘空间的大小降序选择前N个节点,其可用磁盘空间必须大于所要创建的资源副本的大小。设选出的2个候选节点为B、C。\n[0058] 资源存储中心A同样查询全局管理中心上的监控信息数据库,获得已经选择的N个节点的信用度信息。B、C信用度分别记为:C1,C2。\n[0059] 资源存储中心A最后查询全局管理中心上的监控信息数据库,获得每个候选节点的网络带宽信息。B、C节点的带宽记为:B1,B2。\n[0060] 资源存储中心A根据基于内容复制的负载平衡算法中的公式(1)计算候选节点B和C的Ai值(具体实施中设定α=0.3,β=0.7),设B的Ai值最大,则选择资源存储中心B作为新创建的资源副本的存储节点。\n[0061] 最后,资源存储中心A和B建立联系,将新创建的副本传输并存储到B节点上。由于副本的存在,用户对该资源的请求既可以导向到A节点,也可以导向到B节点,这样极大的降低了A节点的负载,最终达到了负载平衡的目的。\n[0062] 分布式资源监控的具体实施方式如下:将发明内容3(6)封装的脚本添加到全局管理中心的任务计划中。通过定时执行脚本,全局管理中心主动ping各个存储资源中心节点。以天为统计单位,记录一天内ping的总次数totaltime与ping通次数timeavailable,计算它们的比值C=timeavailable/totaltime。将结果C保存在文本文件中,通过I0流和JDBC存入到全局管理中心的MYSQL数据库中。将发明内容3(5)封装的脚本添加到各个资源存储中心的中心节点的任务计划中,定时执行脚本,获取磁盘空间信息和带宽信息。将结果存到文本文件中,再通过IO流和JDBC存入全局管理中心的MYSQL数据库中。\n[0063] 在系统管理员界面内加入存储资源信息的可视化表示。使用Java提供的JFreeChart组件,通过Servlet技术,根据指定画图的模式,利用数据库提供的数据画出图形,并以图像的形式保存在服务器中,通过JSP页面展示给系统管理员。将(6)封装的脚本程序添加到控制服务器的任务计划中,定时执行脚本。为了使得信用度的测量更加简单,取时间段为一天,测得一天内的ping总次数totaltime与ping通次数timeavailable存到文本文件中,再通过IO流和JDBC存入数据库中。
法律信息
- 2014-11-12
未缴年费专利权终止
IPC(主分类): H04L 29/08
专利号: ZL 200810156156.3
申请日: 2008.09.24
授权公告日: 2011.03.16
- 2013-05-08
专利实施许可合同备案的生效
IPC(主分类): H04L 29/08
合同备案号: 2013320000103
专利号: ZL 200810156156.3
申请日: 2008.09.24
让与人: 东南大学
受让人: 江苏鱼跃医疗设备股份有限公司
发明名称: 基于内容复制的资源负载平衡方法
申请公布日: 2009.02.18
授权公告日: 2011.03.16
许可种类: 排他许可
备案日期: 2013.03.14
- 2011-03-16
- 2009-04-15
- 2009-02-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-05-24
|
2003-02-27
| | |
2
| |
2008-09-10
|
2007-07-17
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2012-12-05 | 2012-12-05 | | |
2 | | 2012-12-05 | 2012-12-05 | | |