著录项信息
专利名称 | 一种面向海量数据的并行处理方法及系统 |
申请号 | CN201210135226.3 | 申请日期 | 2012-05-02 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-11-06 | 公开/公告号 | CN103384206A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4查看分类表>
|
申请人 | 中国科学院计算机网络信息中心 | 申请人地址 | 北京市海淀区中关村南四街四号软件园2号楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院计算机网络信息中心 | 当前权利人 | 中国科学院计算机网络信息中心 |
发明人 | 陆忠华;王珏;王彦棡;邓笋根;阚圣哲 |
代理机构 | 北京亿腾知识产权代理事务所 | 代理人 | 陈霁 |
摘要
本发明涉及一种网络管理中面向海量数据的并行处理方法,尤其是一种提高带宽和资源利用率的任务调度方法,包括:定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行;从任务采集队列中取出任务描述,根据带宽资源利用情况和/或计算资源使用情况将任务进行子任务划分,将子任务映射到采集任务处理单元等待子任务的执行;执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库;将内存数据库中的数据定期同步到物理数据库中。
1.一种网络管理中面向海量数据的并行处理系统,其特征在于包括以下模块:
采集任务更新模块,用于定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行;
采集任务调度模块,用于从任务采集队列中取出任务描述,根据带宽资源利用情况和/或计算资源使用情况将任务进行子任务划分,将子任务映射到采集任务处理单元等待子任务的执行;
采集任务处理模块,用于执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库;
物理/内存数据库管理模块,用于将内存数据库中的数据定期同步到物理数据库中;
其中,所述采集任务调度模块包括:
子任务划分模块,根据带宽资源利用情况将任务进行采集子任务划分,每个子任务包含如下信息:优先级、采集周期和采集量;其中,采集周期表示每个子任务的执行周期,即每隔固定的时间重复采集工作,并且每个子任务在一个周期内的执行时间远小于周期时间;
确定模块,根据以下步骤确定并发执行的子任务数:
(a)确定多个采集任务的触发周期,其为当前正在执行的所有子任务采集周期的最大公约数;
(b)确定一个任务触发周期内剩余网络带宽;
(c)根据剩余网络带宽,确定进行并发处理的子任务数;
映射模块,将确定并发执行的子任务映射到采集任务处理模块等待子任务的执行。
2.如权利要求1所述的系统,其特征在于:
采集任务更新模块从物理数据库中取出任务后,判断是否需要停止正在运行的采集任务,若是,则根据任务ID停止正在执行的任务或移除在任务采集队列中的任务;否则查询正在执行的任务是否需要更新,若是,则更新任务,并重新加载该任务;否则将待采集任务插入任务采集队列。
3.如权利要求1所述的系统,其特征在于,所述步骤(b)确定剩余网络带宽的方法为:系统带宽与任务触发周期之乘积再乘以一系数,得到的结果再减去即将执行周期内任务所包含的数据量,即为一个任务触发周期内的剩余网络带宽;其中系数为(0,1]的常数。
4.如权利要求3所述的系统,其特征在于,所述步骤(c)确定并发处理的子任务数方法为:
(i)在触发周期开始,将当前待执行的子任务按照优先级顺序排列;
(ii)获得当前待执行子任务中每个子任务的采集量,计算前n个子任务采集量之和,将其与步骤(b)中计算得到的一个触发周期内剩余网络带宽进行比较,如果剩余网络带宽大于前m个当前待执行子任务采集量之和,且小于前m+1个当前待执行子任务采集量之和,则前m个子任务被获得,需要并发执行的子任务数为m;其中m5.如权利要求4所述的系统,其特征在于:确定模块进一步根据以下步骤确定并发执行子任务数:
(iii)获取采集机的物理处理单元数;
(iv)根据步骤(i)获取的结果,确定在触发周期内可以并行执行的子任务数,计算方法为:步骤(b)中得到的剩余网络带宽与步骤(iii)得到的采集机的物理处理单元数之乘积再除以子任务平均执行时间;
(v)确定在一个触发周期内并发执行的子任务数,其为步骤(ii)中得到需要并发执行的子任务数与步骤(iv)中得到的触发周期内可以并发执行的子任务数,两者中小的数值;
(vi)根据步骤(v)得到在一个触发周期内并发执行的子任务数,确定任务队列中优先级高的相应数量的子任务为需要并发执行的子任务,执行后其它子任务的优先级增加。
6.如权利要求5所述的系统,其特征在于:采集任务处理模块还用于执行:
在将采集数据加入数据缓存队列步骤之前,判断被采集的数据是否在设定范围之内,若是,则将采集数据加入数据缓存队列,否则将生成告警信息并将告警信息加入告警缓存队列,发出告警通知。
7.如权利要求6所述的系统,其特征在于:还包括
人工干预接口模块,采集任务调度模块将任务执行情况、带宽和底层资源利用率返回给采集任务更新模块,再由更新模块反馈给用户,用户通过人工干预接口模块操作采集任务更新模块,根据实际运行情况有选择地暂停、取消或继续任务。
8.一种网络管理中面向海量数据的并行处理方法,其特征在于包括以下步骤:
(1)采集任务更新步骤,定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行;
(2)采集任务调度步骤,从任务采集队列中取出任务描述,根据带宽资源利用情况和/或计算资源使用情况将任务进行子任务划分,将子任务映射到采集任务处理单元等待子任务的执行;
(3)采集任务处理,执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库;
(4)物理/内存数据库管理步骤,将内存数据库中的数据定期同步到物理数据库中;
其中,所述采集任务调度步骤具体包括:
获取步骤,从任务采集队列中取出任务描述;
子任务划分步骤,根据带宽资源利用情况将任务进行采集子任务划分,每个子任务包含如下信息:优先级、采集周期和采集量;其中,采集周期表示每个子任务的执行周期,即每隔固定的时间重复采集工作,并且每个子任务在一个周期内的执行时间远小于周期时间;
确定步骤,确定并发执行的子任务数,包括:
(a)确定多个采集任务的触发周期,其为当前正在执行的所有子任务采集周期的最大公约数;
(b)确定一个任务触发周期内剩余网络带宽;
(c)根据剩余网络带宽,确定进行并发处理的子任务数;
映射步骤,将确定并发执行的子任务映射到物理处理单元等待子任务的执行。
9.如权利要求8所述的方法,其特征在于:
从物理数据库中取出任务后,判断是否需要停止正在运行的采集任务,若是,则根据任务ID停止正在执行或移除在任务采集队列中的任务;否则查询正在执行的任务是否需要更新,若是,则更新任务,并重新加载该任务;否则将待采集任务插入任务采集队列。
10.如权利要求9所述的方法,其特征在于,所述步骤(b)确定剩余网络带宽的方法为:
系统带宽与任务触发周期之乘积再乘以一系数,得到的结果再减去即将执行周期内任务所包含的数据量,即为一个任务触发周期内的剩余网络带宽;其中系数为(0,1]的常数。
11.如权利要求10所述的方法,其特征在于,所述步骤(c)确定并发处理的子任务数方法为:
(i)在触发周期开始,将当前待执行的子任务按照优先级顺序排列;
(ii)获得当前待执行子任务中每个子任务的采集量,计算前n个子任务采集量之和,将其与步骤(b)中计算得到的一个触发周期内剩余网络带宽进行比较,如果剩余网络带宽大于前m个当前待执行子任务采集量之和,且小于前m+1个当前待执行子任务采集量之和,则前m个子任务被获得,需要并发执行的子任务数为m;其中m12.如权利要求11所述的方法,其特征在于:确定步骤具体根据以下步骤确定并发执行子任务数:
(iii)获取采集机的物理处理单元数;
(iv)根据步骤(i)获取的结果,确定在触发周期内可以并行执行的子任务数,计算方法为:步骤(b)中得到的剩余网络带宽与步骤(iii)得到的采集机的物理处理单元数之乘积再除以子任务平均执行时间;
(v)确定在一个触发周期内并发执行的子任务数,其为步骤(ii)中得到需要并发执行的子任务数与步骤(iv)中得到的触发周期内可以并发执行的子任务数,两者中小的数值;
(vi)根据步骤(v)得到在一个触发周期内并发执行的子任务数,确定任务队列中优先级高的相应数量的子任务为需要并发执行的子任务,执行后其它子任务的优先级增加。
13.如权利要求12所述的方法,其特征在于:采集任务处理步骤还包括:
在将采集数据加入数据缓存队列步骤之前,判断被采集的数据是否在设定范围之内,若是,则将采集数据加入数据缓存队列,否则将生成告警信息并将告警信息加入告警缓存队列,发出告警通知。
14.如权利要求13所述的方法,其特征在于:还包括
人工干预接口步骤,将任务执行情况、带宽和底层资源利用率返回,并反馈给用户,用户通过人工干预接口根据实际运行情况有选择地暂停、取消或继续任务。
一种面向海量数据的并行处理方法及系统\n[0001] 本发明涉及一种网络管理中面向海量数据的并行处理方法,尤其是一种提高带宽和资源利用率的任务调度方法。\n背景技术\n[0002] 随着网络技术的发展和网络应用的普及,用户对网络服务的性能要求也越来越高。为了更好地满足用户的需求,向用户提供高质量的服务,就必须保证网络服务的质量。\n为此,必须要对网络中各个设备的运行状况进行实时监控,及时发现网络中设备的故障,从而采取相应的措施以维护网络的稳定。\n[0003] 为了监控网络设备的运行状况,需要实时采集网络中各个设备的运行参数,并发送到主控计算机,由主控计算机对网络设备的运行参数进行分析,确定设备是否发生故障。\n[0004] 现有技术中,通常由主控计算机来分配采集任务,采集机实时采集网络设备的各项运行参数,其中每个任务需要处理多个采集对象(待采集设备),每个采集对象包括多个采集指标(不同的参数)。然而网络规模越来越庞大,在网络管理中需要采集成千上万的设备,每个设备包括多个采集指标,因而需要采集的数据是海量的,如果多个采集任务在同一时间执行,将造成瞬时占用的带宽过大,同时如果并行执行的采集子任务数过少,虽然可以减少带宽的占用,但又会浪费采集机的计算资源,因此如何既避免占用过多的带宽资源又充分利用采集机的计算资源是本发明要解决的技术问题。\n发明内容\n[0005] 本发明的目的是对采集任务进行合理调度以有效利用网络带宽,以及充分利用计算资源进行数据采集。\n[0006] 为实现上述目的,本发明提出了如下解决方案:\n[0007] 根据第一方面,本发明实施例提出一种网络管理中面向海量数据的并行处理系统,其特征在于包括以下模块:采集任务更新模块,用于定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行;采集任务调度模块,用于从任务采集队列中取出任务描述,根据带宽资源利用情况和/或计算资源使用情况将任务进行子任务划分,将子任务映射到采集任务处理单元等待子任务的执行;成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库;物理/内存数据库管理模块,用于将内存数据库中的数据定期同步到物理数据库中。\n[0008] 根据另一方面,本发明实施例提出一种网络管理中面向海量数据的并行处理方法,其特征在于包括以下步骤:(1)采集任务更新步骤,定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行;(2)采集任务调度步骤,从任务采集队列中取出任务描述,根据带宽资源利用情况和/或计算资源使用情况将任务进行子任务划分,将子任务映射到采集任务处理单元等待子任务的执行;(3)采集任务处理,执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库;(4)物理/内存数据库管理步骤,将内存数据库中的数据定期同步到物理数据库中。\n附图说明\n[0009] 图1为本发明系统运行硬件架构图;\n[0010] 图2为本发明并行处理系统结构图;\n[0011] 图3为本发明采集任务更新过程;\n[0012] 图4为本发明采集任务处理过程。\n具体实施方式\n[0013] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。\n[0014] 由于采集的数据量大,为了提高整个系统的执行效率,本发明的海量数据并行处理系统可以运行在多台采集机上并行执行,其执行的硬件架构如附图1所示,其中:\n[0015] 主控机——用来分配采集任务、汇总采集结果并展示给用户,其包括多个物理处理单元,可以并行执行多个采集任务;\n[0016] 采集机——用来对监控的设备进行数据采集,采集的数据包括设备的多个参数指标,采集机包括多个物理处理单元,每个指标的采集工作被指派成一个子任务,由一个物理处理单元完成。\n[0017] 本发明中每个采集任务需要处理多个采集对象(待采集设备),每个采集对象包括多个采集指标(不同参数),每个指标的采集工作则被指派成一个子任务由一个物理处理单元完成。子任务的工作主要是定期通过网络将数据从底层设备上采集出来。\n[0018] 实施例一\n[0019] 如附图2所示,本发明的面向海量数据的并行处理系统包括:采集任务更新模块、采集任务调度模块、采集任务处理模块、物理/内存数据库管理模块、监控模块、系统命令监听模块、日志管理模块。下面将逐一介绍各个模块的工作过程:\n[0020] (1)采集任务更新模块\n[0021] 采集任务更新模块,用于定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行。\n[0022] 进一步优选方案为:\n[0023] 如附图3所示,采集任务更新模块从物理数据库中取出任务后,判断是否需要停止正在运行的采集任务,若是,则根据任务ID停止正在执行的任务,并移除在任务采集队列中的该任务;否则查询正在执行的任务是否需要更新,若是,则更新任务,并重新加载该任务;\n否则将待采集任务插入任务采集队列。\n[0024] (2)采集任务调度模块\n[0025] 采集任务调度模块,用于从任务采集队列中取出任务描述,根据带宽资源利用情况、计算资源使用情况将任务进行子任务划分,将子任务映射到物理处理单元等待子任务的执行。\n[0026] 进一步优选方案为:\n[0027] 为了防止同一时间点出现大量子任务堆积,造成瞬时带宽过大,根据以下方式计算得到并发执行的子任务数。\n[0028] 每个采集子任务具有自己的执行周期(即每隔固定的时间便重复采集工作),并且每个子任务在一个周期内的执行时间远远小于周期时间,例如是周期时间的1/20。每个子任务包含如下信息:\n[0029] PR——子任务优先级;\n[0030] PE——子任务自身采集周期;\n[0031] NC——子任务自身采集量(可以提前计算得到)。\n[0032] 为了防止同一时间点出现大量子任务堆积,造成瞬时带宽过大,子任务需要分阶段进行执行。任务触发周期PGCD为当前正在执行所有子任务采集周期的最大公约数。\n[0033] 一个采集任务触发周期内剩余网络带宽为:\n[0034] Br=c*B*PGCD-Nd\n[0035] 其中:c∈(0,1]——系数;\n[0036] B——系统带宽;\n[0037] PGCD——任务触发周期;\n[0038] Nd——即将执行周期内(执行周期可以是一个采集任务触发周期,也可以是多个采集任务的触发周期)子任务所包含的数据量。\n[0039] 在触发周期开始待执行的子任务按照优先级的顺序被处理,假设当前有n个子任务的自身采集量分别是:\n[0040] NC0、NC1、NC2、…、NCm-1、NCm、…NCn-1。\n[0041] 如果SUM(NC0,…,NCm-1)<=Br<=SUM(NC0,…,NCm),则前m个子任务被获得,为需要并发执行的子任务数。\n[0042] 该模块会根据当前的系统带宽状况B定时进行调整需要并发执行的子任务数。\n[0043] 更进一步优化方案为:\n[0044] 如果并行执行的采集子任务数过少,虽然可以减少带宽的占用,但又会浪费采集机的计算资源,为此需要在带宽充分利用的基础上,需要达到充分利用计算资源的目标。\n[0045] 在触发周期内可以并发的子任务数:\n[0046] NL=PGCD*Nc/Ta\n[0047] 其中:\n[0048] Nc——采集机的物理处理单元数;\n[0049] Ta——子任务平均执行时间,通过历史数据来获得。\n[0050] 在一个触发周期内,需要并发执行的子任务数为N=min(m,NL)。将队列中优先级高的前N个子任务分配执行后。其它子任务的优先级PR增加。\n[0051] (3)采集任务处理模块\n[0052] 采集任务处理模块,用于执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库。\n[0053] 由于采集数据量较大,因此采用缓存队列的方式来缓解数据库连接压力,从数据库缓存队列中取出数据,采用并行处理。\n[0054] 进一步优选方案为:\n[0055] 如附图4所示,在将采集数据加入数据缓存队列步骤之前,判断被采集的数据是否在设定范围之内,若是,则将采集数据加入数据缓存队列,否则将生成告警信息并将告警信息加入告警缓存队列,发出告警通知。\n[0056] (4)物理/内存数据库管理模块\n[0057] 物理/内存数据库管理模块,用于将内存数据库中的数据定期同步到物理数据库中。\n[0058] (5)监控模块\n[0059] 监控模块,用于与其它模块建立心跳,对其它模块进行监控,定时将自己和其它模块的状态写入物理数据库。\n[0060] (6)监听模块\n[0061] 监听模块,用于接收到前台发送的关闭命令后,关闭所有的模块。\n[0062] (7)日志管理模块\n[0063] 日志管理模块,用于记录系统每天发生的事件。\n[0064] 进一步优选方案为:\n[0065] 该面向海量数据的并行处理系统还包括:\n[0066] (8)人工干预接口模块\n[0067] 人工干预接口模块,采集任务调度模块将任务执行情况、带宽和底层资源利用率返回给采集任务更新模块,再由更新模块反馈给用户,用户通过人工干预接口模块操作采集任务更新模块,根据实际运行情况有选择地暂停、取消和继续任务。\n[0068] 本实施例中的并行处理系统运行在主控机中。所有模块都运行在主控机上,只有采集任务运行在采集机上。\n[0069] 实施例二\n[0070] 一种面向海量数据的并行处理方法包括:采集任务更新步骤、采集任务调度步骤、采集任务处理步骤、物理/内存数据库管理步骤、监控步骤、系统命令监听步骤、日志管理步骤。下面将逐一介绍各个步骤的执行过程:\n[0071] (1)采集任务更新步骤\n[0072] 定时从数据库中取出待采集任务,并将待采集任务插入任务采集队列,等待采集任务的执行。\n[0073] 进一步优选方案为:\n[0074] 从物理数据库中取出任务后,判断是否需要停止正在运行的采集任务,若是,则根据任务ID停止正在执行的任务,并移除在任务采集队列中的该任务;否则查询正在执行的任务是否需要更新,若是,则更新任务,并重新加载该任务;否则将待采集任务插入任务采集队列。\n[0075] (2)采集任务调度步骤\n[0076] 从任务采集队列中取出任务描述,根据带宽资源利用情况、计算资源使用情况将任务进行子任务划分,将子任务映射到物理处理单元等待子任务的执行。\n[0077] 进一步优选方案为:\n[0078] 为了防止同一时间点出现大量子任务堆积,造成瞬时带宽过大,根据以下方式计算得到并发执行的子任务数。\n[0079] 每个采集子任务具有自己的执行周期(即每隔固定的时间便重复采集工作),并且每个子任务在一个周期内的执行时间远远小于周期时间(例如可以为周期时间的1/20)。每个子任务包含如下信息:\n[0080] PR——子任务优先级;\n[0081] PE——子任务自身采集周期;\n[0082] NC——子任务自身采集量(可以提前计算得到)。\n[0083] 为了防止同一时间点出现大量子任务堆积,造成瞬时带宽过大,子任务需要分阶段进行执行。任务触发周期PGCD为当前正在执行所有子任务采集周期的最大公约数。\n[0084] 一个任务触发周期内剩余网络带宽为:\n[0085] Br=c*B*PGCD–Nd\n[0086] 其中:c∈(0,1]——系数;\n[0087] B——系统带宽;\n[0088] PGCD——任务触发周期;\n[0089] Nd——即将执行周期内任务所包含的数据量。\n[0090] 在触发周期开始待执行的子任务按照优先级的顺序被处理,假设当前有n个子任务的自身采集量分别是:\n[0091] NC0、NC1、NC2、…、NCm-1、NCm、…NCn-1。\n[0092] 如果SUM(NC0,…,NCm-1)<=Br<=SUM(NC0,…,NCm),则前m个子任务被获得,为需要并行处理的子任务数。\n[0093] 可以根据当前的系统带宽状况B定时进行调整需要并行执行的子任务数。\n[0094] 更进一步优化方案为:\n[0095] 如果并行执行的采集子任务数过少,虽然可以减少带宽的占用,但又会浪费采集机的计算资源,为此需要在带宽充分利用的基础上,需要达到充分利用计算资源的目标。\n[0096] 在触发周期内可以并发的子任务数:\n[0097] NL=PGCD*Nc/Ta\n[0098] 其中:\n[0099] Nc——采集机的物理处理单元数;\n[0100] Ta——子任务平均执行时间,通过历史数据来获得。\n[0101] 在一个触发周期内,需要并发执行的子任务数为N=min(m,NL)。将队列中优先级高的前N个子任务分配执行。其它子任务的优先级PR增加。\n[0102] (3)采集任务处理步骤\n[0103] 执行各个子任务以完成数据采集任务,将采集的数据加入数据缓存队列,并进行并行数据处理,将处理好的数据加入内存数据库。\n[0104] 由于采集数据量较大,因此采用缓存队列的方式来缓解数据库连接压力,从数据库缓存队列中取出数据,采用并行处理。\n[0105] 进一步优选方案为:\n[0106] 如附图4所示,在将采集数据加入数据缓存队列步骤之前,判断被采集的数据是否在设定范围之内,若是,则将采集数据加入数据缓存队列,否则将生成告警信息并将告警信息加入告警缓存队列,发出告警通知。\n[0107] (4)物理/内存数据库管理步骤\n[0108] 将内存数据库中的数据定期同步到物理数据库中。\n[0109] (5)监控步骤\n[0110] 建立心跳,对各个进程进行监控,定时将各个进程的状态写入物理数据库。\n[0111] (6)监听步骤\n[0112] 接收到前台发送的关闭命令后,关闭所有的进程。\n[0113] (7)日志管理步骤\n[0114] 记录系统每天发生的事件。\n[0115] 进一步优选方案为:\n[0116] 该面向海量数据的并行处理方法还包括:\n[0117] (8)人工干预步骤\n[0118] 将采集任务执行情况、带宽和底层资源利用率返反馈给用户,用户通过人工干预接口更新采集任务,根据实际运行情况有选择地暂停、取消和继续任务。\n[0119] 实施例三\n[0120] 一种网络管理系统中数据采集任务调度系统,其特征在于:\n[0121] (1)任务管理模块,从任务采集队列中取出任务描述;\n[0122] (2)子任务划分模块,根据带宽资源利用情况将任务进行子任务划分,其中:每个采集子任务具有自己的执行周期,即每隔固定的时间便重复采集工作,并且每个子任务在一个周期内的执行时间远远小于周期时间(例如可以为周期时间的1/20),每个子任务包含如下信息:\n[0123] PR——子任务优先级;\n[0124] PE——子任务自身采集周期;\n[0125] NC——子任务自身采集量,其可以提前计算得到;\n[0126] (3)映射模块,将子任务映射到物理处理单元等待子任务的执行,\n[0127] (4)确定模块,根据以下步骤确定并发执行的子任务数:\n[0128] (a)计算任务触发周期PGCD,其为当前正在执行的所有子任务采集周期的最大公约数;\n[0129] (b)按以下公式计算一个触发周期内剩余网络带宽:\n[0130] Br=c*B*PGCD-Nd\n[0131] 其中:c∈(0,1]——系数;\n[0132] B——系统带宽;\n[0133] PGCD——任务触发周期;\n[0134] Nd——即将执行周期内任务所包含的数据量;\n[0135] (c)根据步骤(b)得到的一个触发周期内剩余网络带宽,确定进行并发处理的子任务数,确定方式如下:\n[0136] (i)在触发周期开始,将待执行的子任务按照优先级顺序排列;\n[0137] (ii)当前待执行的n个子任务的自身采集量分别为:NC0、NC1、NC2、…、NCm-1、NCm、…NCn-1,\n[0138] 如果SUM(NC0,…,NCm-1)<=Br<=SUM(NC0,…,NCm),则前m个子任务被获得;\n[0139] (5)执行模块,并行执行所确定的子任务数。\n[0140] 进一步优选方案为,根据当前的带宽状况B定时进行调整并行执行的子任务数。\n[0141] 在对采集子任务进行并行处理时,不仅需要考虑系统带宽,同时还应考虑采集机的计算资源利用情况,为达到充分利用计算资源的目标,对本实施例进一步优选的方案为:\n[0142] 执行模块按根据以下步骤执行子任务:\n[0143] (i)根据采集机的计算资源情况确定在触发周期内可以并行执行的子任务数,[0144] NL=PGCD*Nc/Ta\n[0145] 其中:\n[0146] Nc——采集机的物理处理单元数;\n[0147] Ta——子任务平均执行时间,其通过历史数据来获得;\n[0148] (ii)根据带宽资源利用情况和计算资源情况,确定在一个触发周期内并发执行的子任务数为N=min(m,NL);\n[0149] (iii)将队列中优先级高的前N个子任务分配执行,其它子任务的优先级PR增加。\n[0150] 实施例四\n[0151] 一种网络管理系统中数据采集任务调度方法,其特征在于:\n[0152] (1)从任务采集队列中取出任务描述;\n[0153] (2)根据带宽资源利用情况将任务进行子任务划分,其中:每个采集子任务具有自己的执行周期,即每隔固定的时间便重复采集工作,并且每个子任务在一个周期内的执行时间远远小于周期时间,每个子任务包含如下信息:\n[0154] PR——子任务优先级;\n[0155] PE——子任务自身采集周期;\n[0156] NC——子任务自身采集量,其可以提前计算得到;\n[0157] (3)将子任务映射到物理处理单元等待子任务的执行,\n[0158] (4)根据以下步骤确定并发执行的子任务数:\n[0159] (a)计算任务触发周期PGCD,其为当前正在执行的所有子任务采集周期的最大公约数;\n[0160] (b)按以下公式计算一个触发周期内剩余网络带宽:\n[0161] Br=c*B*PGCD-Nd\n[0162] 其中:c∈(0,1]——系数;\n[0163] B——系统带宽;\n[0164] PGCD——任务触发周期;\n[0165] Nd——即将执行周期内任务所包含的数据量;\n[0166] (c)根据步骤(b)得到的一个触发周期内剩余网络带宽,确定进行并发处理的子任务数,确定方式如下:\n[0167] (i)在触发周期开始,将待执行的子任务按照优先级顺序排列;\n[0168] (ii)当前待执行的n个子任务的自身采集量分别为:NC0、NC1、NC2、…、NCm-1、NCm、…NCn-1,\n[0169] 如果SUM(NC0,…,NCm-1)<=Br<=SUM(NC0,…,NCm),则前m个子任务被获得;\n[0170] (d)并行执行所确定的子任务数。\n[0171] 进一步优选方案为,根据当前的带宽状况B定时进行调整并行执行的子任务数。\n[0172] 在对采集子任务进行并行处理时,不仅需要考虑系统带宽,同时还应考虑采集机的计算资源利用情况,为达到充分利用计算资源的目标,对本实施例进一步优选的方案为:\n[0173] 步骤(d)具体包括如下步骤:\n[0174] (i)根据采集机的计算资源情况确定在触发周期内可以并行执行的子任务数,[0175] NL=PGCD*Nc/Ta\n[0176] 其中:\n[0177] Nc——采集机的物理处理单元数;\n[0178] Ta——子任务平均执行时间,其通过历史数据来获得;\n[0179] (ii)根据带宽资源利用情况和计算资源情况,确定在一个触发周期内并发执行的子任务数为N=min(m,NL);\n[0180] (iii)将队列中优先级高的前N个子任务分配执行,其它子任务的优先级PR增加。\n[0181] 通过本发明公开的技术方案,可以对采集任务进行合理调度以有效利用网络带宽,并利用底层计算资源进行分析处理,解决了现有技术中存在的技术问题。\n[0182] 以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2016-05-25
- 2013-12-04
实质审查的生效
IPC(主分类): H04L 12/24
专利申请号: 201210135226.3
申请日: 2012.05.02
- 2013-11-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-03-12
|
2007-10-11
| | |
2
| |
2006-04-05
|
2004-09-30
| | |
3
| |
2012-03-14
|
2010-08-19
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |