您好, 访客   登录/注册

基于主动采集的大型综合网管系统性能数据采集机的设计和实现

来源:用户上传      作者: 陈晓峰

  摘要:文章根据大型综合网管对采集机的要求,分析现有大数据量性能采集触发方法,提出基于主动检测的数据采集触发方法,并给出综合数据采集机设计要点。该方法缩短了数据采集的时延,保障了数据采集的有效性和数据的完整性。
  关键词:综合网管;性能管理;主动采集;GSM
  
  一、概述
  
  综合网管需要采集GSM网络、传输网络、数据网络中的网元的性能,资源,告警信息。而其中GSM网络需采集的性能数据量最大。面对综合网管中大量的数据采集工作,在目前的网管系统中普遍是采用周期性采集的方式从各厂家电信设备、OMC(操作维护中心)侧采集性能原始数据,但并不对电信设备的性能数据的完整性进行检测。另一种性能数据采集的方法是,实时对厂家设备侧性能数据的完整性进行检测,当检测出性能数据完整时,触发对性能数据的采集。
  可以看出,上述两种采集方法都存在一些缺点:采用第一种方式进行采集时,由于OMC侧的测量报告生成时间经常会变化,导致采集周期不确定,而采集周期的设定直接关系到采集到的数据的完整性和及时性。采用第二种方式进行采集时,由于属于实时检测,所以必然会造成厂家设备侧的负担加重,影响厂家设备的性能,同时也会加重网管系统的负荷。有鉴于此,在综合网管的数据采集中引入基于主动检测的主动采集能力,以解决现有性能数据采集技术存在的采集周期,数据完整性不易确定等问题。
  
  二、主动检测的方法
  
  (一)主动检测模块结构(见图1)
  参数设置单元用于接受并保存用户设置的参数信息,包括经验值。
  检测任务生成单元根据参数设置单元中的经验值,生成与采集粒度相应的检测任务,具体过程为:获取厂家设备名称,分析设置检测任务参数,获取经验值,按照检测厂家设备数据、判断数据完整性程序的模版生成检测任务,分别存储到存储实时检测任务队列和历史检测任务队列的任务存储单元中。
  任务执行单元从任务存储单元存储的检测任务队列中取一个任务作为当前检测任务,执行检测任务,对厂家设备侧的性能数据的完整性进行检测,当检测出性能数据处于完整状态时,向数据采集触发单元发送消息。执行单元判断厂家设备的性能数据是否完整是通过判断厂家设备的性能数据是否满足以下条件进行的:一是厂家设备的性能数据文件大小在第一预设范围。二是厂家设备的性能数据文件大小在预定的时间间隔中没有发生变化。三是厂家设备的数据库的性能数据表中的记录数量处于第二预设范围。四是厂家设备的数据库的性能数据表中的记录数量在预定的时间间隔中没有发生变化。第一预设范围、预定的时间间隔和第二预设范围均可根据网络实际运行情况或者用户需求进行调整。
  
  数据采集触发单元在收到性能数据处于完整状态消息时,触发数据采集执行单元进行性能数据采集。其中,经验值是技术人员根据大量的实验和实际工作积累总结得出的,技术人员根据经验,统计得出在某个时间进行检测的时候,厂家设备侧的性能数据刚准备好(完整)的几率较大。
  参数调整单元,用于获取执行单元的执行结果,并根据执行结果,确定检测出性能数据处于完整的时间,根据该时间发送调整信息给参数设置单元,指示该参数设置单元进行经验值调整。
  强制触发单元,用于监测执行单元的执行情况,在执行单元检测厂家设备的性能数据处于非完整状态,并且当前时间超过预先设定的任务超时时间时,强制触发数据采集。由此可以避免当厂家设备侧出现故障后性能数据一直没有准备好时会一直采集,而不会触发采集,由此导致的性能指标的缺失,影响网管系统的使用的问题的出现,并且在触发数据采集后继续检测,最大限度地保证了数据的完整性。
  检测任务终止单元,用于监测执行单元的执行情况,在执行单元检测厂家设备的性能数据处于非完整状态,并且当前时间超过预先设定的任务抛弃时间时,终止并删除检测任务。通过对一些无用的检测任务进行删除,进一步减轻了厂家设备侧和采集机的负荷。
  (二)主动检测重要流程
  第一,主动检测模块主流程(见图2)包括以下步骤:
  步骤S101:根据经验值生成性能数据完整性检测任务。其过程为:一是预置经验值及参考信息。参考信息包括:用于指示厂家设备的性能数据文件大小范围的信息,或者用于指示厂家设备的数据库的性能数据表中的记录数量范围的信息,或者用于指示厂家设备的性能数据文件大小变化的信息,或者用于指示厂家设备的数据库的性能数据表中的记录数量变化的时间间隔范围的信息。二是编制性能数据检测任务的程序模板,根据经验值和性能数据检测任务的程序模板生成性能数据检测任务,每一个任务赋予一个唯一的任务序号存入任务池。由此可知,性能数据检测任务程序模板的内容是:在经验值时间获取厂家设备的性能数据文件大小及其变化、厂家设备的数据库的性能数据表中的记录数量及其数量变化,比较这4个值是否都在预置范围内,如果在预置范围内,则输出性能数据处于完整状态,否则输出性能数据不处于完整状态。为了达到有效的性能数据采集目的,需要设置该检测任务的任务执行时间、任务超时时间来控制触发采集程序,实现该采集的时候采集。通过设置任务抛弃时间来控制反复执行检测任务仍然得不到完整性性能数据的情况。所设置任务抛弃时间应大于或者等于任务超时时间。
  步骤S102:执行已生成的检测任务,对厂家设备侧的性能数据的完整性进行检测。其过程包括:读取检测任务参数,检测性能数据是否完整,给予性能数据是否为完整状态的标记。
  步骤S103:当检测出性能数据处于完整状态时,触发性能数据采集程序进行性能数据采集,此时,给予用于指示性能数据为完整状态的指示信息,以触发采集程序进行性能数据采集。
  通过上述步骤即可实现对网管系统中性能数据完整性进行检测,并在符合触发条件的时候触发进行数据采集。
  步骤S104:根据检测出的厂家设备侧性能数据处于完整性的时间对经验值进行修正。
  如果在提前5分钟检测获知厂家设备侧性能数据已经处于完整性,则可以调整经验值为新的数据完整性时间经验值。根据每次新检测出来的厂家设备侧性能数据完整的时间可对经验值进行修正,提高了一次检测的成功率,降低了厂家设备和采集机的负荷,降低了检测的时间。
  第二,实时任务检测流程(见图3)。
  
  步骤S301:执行检测任务,读取检测任务参数,判断性能数据是否完整,若是,进入步骤S302;否则,进入步骤S303。
  步骤S302:触发进行性能数据采集,并删除当前检测任务,结束。
  步骤S303:判断检测任务执行是否超时,若否,返回步骤S301;若超时,进入步骤S304。
  对于不完整的性能数据,可能由于厂家设备原因造成,为使网管系统及时采集到性能数据,本着厂家准备好了多少数据就采集多少数据的原则,需要对不完整的数据也要进行采集。如果检测任务执行时间过长,就需要给予及时地控制,因此利用任务超时时间来控制及时采集数据。判断检测任务执行是否超时的,即通过判断当前时间是否超过预先设置的任务超时时间。任务超时时间可以根据以往经验、网络实际情况或者用户需求进行设置。当新接入厂家设备的时候或者以后都可以随时修改该值。
  步骤S304:生成触发强制采集的信息,并继续检测性能数据的完整性,进入步骤S305。
  步骤S305:如果超过任务抛弃时间时性能数据仍然不完整,则终止并删除当前检测任务。
  需要说明的是,在时间处于任务超时时间与任务抛弃时间之间的时间段内,如果判断出性能数据处于完整,则触发进行性能数据采集,并结束。如果判断出性能数据处于不完整状态,则不断判断性能数据是否处于完整,在时间超过任务抛弃时间时,如果性能数据仍然不完整,则可按照上述步骤S305进行,也可以生成触发强制采集的信息,然后结束流程。
  
  三、综合采集机设计
  
  基于主动采集的综合采集机结构主要由7部分构成(见图4):
  数据采集适配:完成对网元接入协议的适配工作,支持文件,数据库(ODBC、JDBC),CORBA,Q3,Socket,SSL等接口协议的适配。对网元的接入方式包括从OMC接入,直连接入等方式。
  数据预处理:把采集到的测量报告进行词法分析,解析成为后续可以进行计算的标准格式,交由数据处理层来进行语义层的计算。
  策略控制:策略配置管理、策略解释执行和策略执行监控工作。
  数据分发:预处理过后的数据的转发工作,它对外提供订阅/分发的能力,数据消费者可以通过数据分发模块来订阅所需的数据。
  数据缓存:缓存7天以内采集的网元侧原始数据并负责定期清除和维护。
  自身管理:对综合采集机自身的运行状态的监控,包括线程运行状态,数据处理状态等。
  主动检测:针对OMC、设备的原始数据进行检测发现完整性情况并主动触发采集。
  
  
  四、总结
  
  基于主动采集的综合数据采集机已在话务网管系统中进行了大规模的实验和运行,缩短了数据采集的时延,减轻了采集对网元的负荷,保障了数据采集的有效性和数据的完整性,应用效果良好。
  
  参考文献:
  1、杜天苍,张晓明,商圣刚.GSM网管系统性能数据采集与转换软件设计[J].计算机工程与设计,2003(5).
  2、孟洛明.现代网络管理技术[M].北京邮电大学出版社,2001.
  (作者单位:亿阳信通北京软件研究院)


转载注明来源:https://www.xzbu.com/2/view-436259.htm