




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑一种基于多级分布式管理数据采集软件模型-设计应用一种基于多级1引言在很多的工程中,到特定的应用中采集数据,并对采集到的数据进行管理是一种普遍的模式。尤其是随着网络技术的迅猛发展,对数据进行多级管理也日益成为趋势。典型的就是电信管理网中的操作维护中心(OMC),他就是一种实现了省级操作维护中心(POMC)、本地操作维护中心(LOMC)、操作维护模块(OMM)三级管理的大型系统,而其中的性能统计模块又是典型的数据采集系统。以操作维护中心中的性能统计为基础,经过抽象分析,我们提出了一种基于分布式多级管理的数据采集软件模型,这种模型将适用于大部分采用多级管理模式的数据采集系统。
我们的软件模型由多级管理模块和数据采集模块两部分组成,下面分别对两个模块阐述详细的设计思路。
2多级管理模块
图1的左边部分为管理系统结构图,在管理系统中我们采用比较有代表性的三级管理构架,至于更多级的管理,基本原理是完全相同的。如图1所示,在每管理中,都采用C/S结构。其中,客户端直接面向用户,向用户提供友好的图形界面,方便用户的使用。服务器端完成对客户端请求的响应,还要完成级联的任务,同时,服务器端还要直接和应用相连,这里指的应用是我们所要管理的具体对象,在电信管理中就是电信设备,比如交换机、基站等。服务器需要和数据采集系统直接相连,从应用中获取数据。下面我们就主要阐述一下管理系统中的主要部分C/S结构和多级级联的设计思想。
2.1C/S结构
C/S结构是近年来几乎所有大型系统都采用的一种结构,同时因为我们的模型主要是针对数据采集系统的,而数据采集系统的主要功能通常是对采集到的数据进行实时显示、查询分析等等。根据以上的一些特点,将我们所提出模型的C/S结构用图2描述出来。
服务器端的主要任务有2个,一个是响应客户端的请求,这一点和通常的服务器没有差别;另一个任务是维护本地数据库,虽然大部分的服务器也有维护数据库的工作,但对于数据采集的应用而言,我们需要提供给用户更加丰富的数据查询分析,甚至是数据挖掘的功能,所以这里的维护本地数据库指的不光是简单的对数据库表的插入删除,而且要提供OLAP甚至是数据挖掘的接口。
由于服务器对数据的操作可能很频繁,为了保证系统的稳定性,在服务器和数据之间建立连接池。所谓连接池就是预先建立到数据库系统的一定数量的连接。服务器在需要访问数据库时,通过同步技术从该连接池中申请连接,在使用完毕后将连接归还到连接池。这样既保证了系统的稳定性,又有效的节省了数据库连接资源的使用。2.2多级级联
在多级管理系统中,多级级联扮演着一个重要的角色。在我们的模型中,级联通过各级服务器之间的关联来实现。如图3所示,在每服务器中都要维护一张级联映射表,这张表记录了整个管理系统中当前所有的服务器的级联情况。为了保证系统的正常运转,所有服务器中的级联映射表必须保持一致。当系统中的某一个服务器出现异常或者当系统中的服务器配置发生变化时,如何保证级联映射表的一致是多级级联主要需解决的问题。
分析我们系统的特点容易知道,服务器的配置不会频繁的变化,而且每次同步级联映射表的报文数量不是很多,整个系统对级联映射表同步的实时性要求不是特别高。因此我们可以采用一般的广播方式来实现同步。当系统的服务器配置发生变化时,由发生变化的服务器向和他相连的服务器发出广播报文,以同步级联映射表。当这些服务器收到报文后再继续向外广播,直到整个系统中的所有级联映射表完全一致。
3数据采集系统模块
图1的右边部分是数据采集系统,由于不同应用总是有着自身的特点,不可能做到所有的应用都可以向管理系统提供相同的接口。考虑到这一点,我们在应用和管理系统之间添加了一个模块,叫适配器(Adaptor)。适配器的重要作用就是负责到应用中去采集数据,上报给各级服务器。同时他还负责对管理系统屏蔽不同应用的不同特点。也就是说,适配器在管理系统和应用之间做必要的转换工作,以保证不同应用对管理系统来说有着相同的接口,因而适配器是数据采集的的部分。3.1数据采集
适配器(Adaptor)作为管理系统和应用之间的桥梁,在系统中起着举足轻重的作用,其首要的任务就是到应用中去采集数据。在我们的模型中,数据采集的工作由3类进程来协同完成,如图4所示。
控制进程在适配器(Adaptor)初始化的时候,生成采集进程和处理进程,并完成对采集进程和处理进程的初始化工作。在此之后,控制进程要监控采集进程和处理进程,当发现他们出现异常情况(如进程僵死、被挂起等)时,要做相应的处理,通常的办法可以重启出现错误的进程。控制进程在系统中的作用只是监控,不做具体的采集上报工作,在系统中只有一个控制进程。下面列出的是控制进程的伪代码:
processcontrol{readSystemConfigInfo();//获取系统的配置信息//创建采集进程processcollectoinProcess=createCollectionProcess();//发送初始化事件给采集进程,进行初始化notify(collectoinProcess,Event-Ini);//创建处理进程processdealwithProcess=createDealWithProcess(),//发送初始化事件给处理进程,进行初始化notify(dealwithProcess,Event_Ini);//为每一个进程设置一个是否出错的标志,初始值为trueBooleanprocessError[processNum]={true,true…};//用listening方法来监听采集进程和处理进程listening();
functionlistening(){Timertimer;//为监控进程设置一个定时器//指定定时器的时间间隔timer.setInterval(TimerInterval);while(true){getMsg();//获取消息队列中的消息switch(Msg){caseEvent_Shakehand://握手事件//判断是哪个进程发过来的握手消息intindex=whichProcess(Msg);//将该进程对应的出错标志设为false,表示未出错proeessError[index]=false;break;caseEvent_Timer//定时器事件for(inti=0;I<processNum;i++={if(processError[i]){killProcess(i);//将出错进程杀死//如果该进程在一定时间间隔内出错,则重启该进程restartProcess(i);}}break;……}}}
采集进程负责到应用中采集数据,对于不同的应用,可以生成不同的采集进程。所以在系统中可能存在多个采集进程。由于采集进程直接和应用相连,并且进程的正确运行依赖于应用。所以很有可能出现不可预知的异常状况,如网络链路不通、应用进程挂起、应用的配置发生变化等等,采集进程应当充分考虑如何处理异常,增强程序的健壮性。下面列出的是采集进程的伪代码:
processeollectData{TimertimerColl;//为采集进程设置定时器TimertimerShakeHand;//为采集进程设置定时器//指定数据采集的粒度timerColl.setInterval(TimerInterval);//指定握手的时间间隔timerShakeHand.setInterval(TimerInterval_);while(true){getMsg();//获取消息队列中的消息switch(Msg){…caseEvent_Timer;//定时器事件if(isCollTimer()){collect();//采集数据notify(dealwithProcess,Event_Dealwitn);if(isShakeHandTimer()){//向控制进程发送握手消息sendMsgToController();}break;……}}}
处理进程负责对采集到的数据进行必要的处理。一个处理进程对应一个采集进程,所以在系统中可能同时存在多个处理进程。从采集进程采集到的数据是原始数据,可能不符合管理系统对数据的要求,所以经常需要对采集到的数据进行处理,处理过程通常包括对数据进行前后2个粒度的数学运算、对数据按所需要的单位求值等。处理进程在处理完数据后,还要对数据进行打包,并上报给管理系统。下面列出的是处理进程的伪代码:
processdealwithData{Timertimer;//为处理进程设置握手定时器//指定握手定时器的时间timer.setInterval(TimerInterval);while(true){getMsg();//获取消息队列中的消息switch(Msg){…caseEvent_Dealwith://定时器事件dealwith();//采集数据//向管理系统上报数据包sendDataToServer();break;caseEvent_Timer.//定时器事件//向控制进程发送握手消息sendMsgToController();break;……}}}
3.2向管理系统提供相同接口
从图1可以看出,管理系统通过适配器和多个应用相连。由于适配器的存在,对于管理系统而言,不同的应用没有区别,都可以看作适配器发送上来的数据包,而且数据包的结构是相同的。只要在和适配器之间事先协商好数据包的结构,那么不管以后增加什么样的应用,都可以保证管理系统的程序不做改变。这就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园主题活动教学计划
- 传统艺术技法在现代教学中的应用计划
- 拥抱变化秘书工作的新趋势计划
- 优化供应链管理流程计划
- 教材与教具更新与选用方案计划
- 前台文员团队协作提升计划
- 幼儿园实践活动的设计与反思计划
- 2025年离婚协议债权模板
- Unit 2 What's your name?表格式(教学设计)-2024-2025学年湘少版(三起)(2024)英语三年级上册
- 激励团队成员的有效方法计划
- 房地产抖音短视频培训课件
- 《乘法交换律和结合律》教学课件数学四年级下册
- 趣味数学-高斯求和 完整版课件
- 花卉生产设施课件
- 高中体育与健康人教版高中必修全一册(新课标)第十章体操类运动-技巧模块计划
- 云南省主要矿产资源
- 临床试验疑难问题解答
- 健康状况询问与接种禁忌核查表
- 新电务系统作业标准汇编一1现场信号工
- 光伏发电工程施工组织设计施工工程光伏发电工程光伏发电施工组织设计
- 磁共振基础知识及3.0T磁共振1
评论
0/150
提交评论