一种监控方法及装置与流程

文档序号:16544433发布日期:2019-01-08 20:45阅读:160来源:国知局
一种监控方法及装置与流程

本发明涉及无线通信领域,尤其涉及一种监控方法及装置。



背景技术:

无线覆盖网管系统要通过处理机实现对接入设备的监控管理。现有技术中,单个处理机直接连接多个接入设备,对连接的接入设备进行监控管理。随着接入设备接入数量的增加,单个处理机逐渐达到处理瓶颈,且连接的都有这个处理机处理,不够灵活。另外,一旦这个处理机发生故障,与这个处理机连接的所有接入设备都不能被监控,容错性较差。

因此,现有技术中单个处理机处理数据包达到处理瓶颈、处理不灵活且容错性较差,是一个亟待解决的问题。



技术实现要素:

本申请实施例提供了一种监控方法及装置,解决了现有技术中单个处理机处理数据包能力有限、且处理不灵活的问题。

本发明实施例提供一种监控方法,该方法包括:

接口机接收接入设备发送的数据包;

所述接口机根据所述数据包的源地址确定地址系数;所述地址系数与在所述接口机上注册的m个处理机中的一个处理机对应;m为大于1的整数;

所述接口机根据所述地址系数,将所述数据包发送至所述地址系数对应的处理机。

可选的,所述接口机根据所述数据包的源地址确定地址系数,包括:

所述接口机确定所述数据包的源地址映射的哈希值;

所述接口机将所述哈希值除以m的余数,作为所述地址系数。

可选的,所述方法还包括:

针对所述m个处理机中每一个处理机,所述接口机按照预设周期,在每个预设周期内发送心跳数据包至该处理机;

若所述接口机在该预设周期内未接收到该处理机发送的所述心跳数据包的响应数据包,则所述接口机确定该处理机发生故障。

可选的,所述方法还包括:

若所述接口机确定的所述地址系数对应的处理机发生故障,所述接口机重新确定所述地址系数。

可选的,所述接口机重新确定所述地址系数,包括:

所述接口机确定所述地址系数与随机数之和映射的哈希值,并将所述哈希值除以m的余数,作为重新确定的所述地址系数。

本发明实施例中,当接口机接收到接入设备发送的数据包时,可用的处理机为m个,比单个处理机的处理能力更强,进而增加了接入设备的可接入数量;而且,m个处理机中的某个处理机故障后,还有其他处理机可作为备份;另外,接口机根据数据包的源地址确定地址系数,并把数据包发送至地址系数对应的处理机,使得数据包不被固定的单个处理机处理,从而提升了处理灵活性。

本发明实施例提供一种监控装置,该装置包括:

接收模块,用于接收接入设备发送的数据包;

处理模块,用于根据所述数据包的源地址确定地址系数;所述地址系数与注册的m个处理机中的一个处理机对应;m为大于1的整数;以及根据所述地址系数,将所述数据包发送至所述地址系数对应的处理机。

可选的,所述处理模块,具体用于:

确定所述数据包的源地址映射的哈希值;以及将所述哈希值除以m的余数,作为所述地址系数。

可选的,所述处理模块还用于:

若确定的所述地址系数对应的处理机发生故障,则确定所述地址系数与随机数之和映射的哈希值,并将所述哈希值除以m的余数,作为重新确定的所述地址系数。

本发明实施例提供一种监控系统,该系统包括:接口机、m个处理机和k个接入设备;m、k为大于0的整数;

所述接入设备用于发送数据包至所述接口机;

所述接口机用于接收所述接入设备发送的数据包,并根据所述数据包的源地址确定地址系数;所述地址系数与在所述接口机上注册的m个处理机中的一个处理机对应;m为大于1的整数;

所述接口机还用于根据所述地址系数,将所述数据包发送至所述地址系数对应的处理机;

所述处理机用于接收所述接口机发送的与该处理机的地址系数对应的数据包。

可选的,所述接口机根据所述数据包的源地址确定地址系数,包括:

所述接口机确定所述数据包的源地址映射的哈希值;

所述接口机将所述哈希值除以m的余数,作为所述地址系数。

可选的,所述系统还包括:

所述接口机还用于按照预设周期,在每个预设周期内发送心跳数据包至该处理机;

所述处理机还用于接收所述接口机发送的所述心跳数据包,并在该预设周期内发送所述心跳数据包的响应数据包;

所述接口机还用于在该预设周期内未接收到该处理机发送的所述响应数据包时,确定该处理机发生故障。

可选的,所述系统还包括:

所述接口机还用于在确定所述地址系数对应的处理机发生故障时,则确定所述地址系数与随机数之和映射的哈希值,并将所述哈希值除以m的余数,作为重新确定的所述地址系数。

可选的,所述处理机还用于将查询消息发送至所述接口机;所述查询消息用于请求所述接入设备返回携带所述接入设备的运行参数的数据包;

所述接口机还用于将该处理机发送的所述查询消息,发送至该处理机对应的接入设备。

附图说明

图1为本申请实施例中监控方法对应监控系统的架构图;

图2为本申请实施例中监控方法的流程图;

图3为本申请实施例中处理机在接口机上注册的流程图;

图4为本申请实施例中处理机在接口机上注册的时序图;

图5为本申请实施例中处理机与接口机之间心跳工作机制的时序图;

图6为本申请实施例中确定地址系数的流程图;

图7为本申请实施例中监控装置的结构示意图。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。

下面结合说明书附图对本发明实施例作进一步详细描述。需要说明的是,本发涉及的接入设备可以为直放站、操作维护中心、干放、网监仪、数字光纤射频拉远单元和多系统合路平台等。

举例来说,直放站属于中继器的一种,是网络物理层上面的连接设备。适用于完全相同的两类网络的互连,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。直放站是对信号进行再生和还原的直放站开放系统互联(osi,opensysteminterconnection)模型的物理层设备。

现有技术中,对接入设备的监控是通过单个处理机进行的。然而,随着接入设备接入数量的增加,单个处理机逐渐达到处理瓶颈、处理不灵活且容错性较差。因此,本申请提出了一种监控方法,以克服上述问题。

本申请提出的监控方法对应的监控系统架构如图1所示。

监控系统由四部分构成:接入设备、接口机、消息中心、处理机。

(1)接入设备:被监控的设备。每个接入设备通过以太网或者短信与接口机进行通信。如果是以太网方式,则每个接入设备绑定一个互联网协议(ip,internetprotocol)地址。如果是短信方式,则每个接入设备绑定一个电话号码。不同的接入设备绑定的ip地址或电话号码不同。

(2)接口机:处理机与接入设备之间的通信接口。接口机负责接收或发送接入设备或处理机的数据包。接口机提供了三个功能:注册处理机、心跳监测、数据转发。

(3)消息中心:用于接口机与处理机之间通信的转发设备。消息中心负责为每个处理机提供对应的消息队列,消息队列用于存储数据包。消息中心将接口机发送的数据转发至相应处理机,或者将处理机发送的数据转发至接口机。

(4)处理机:监控接入设备的设备。处理机通过对数据包的处理,获取接入设备的运行参数,实现对接入设备的监控。处理机的数量设为m个。

下面对本发明实施例提供的监控方法做详细描述。参考图2,为本发明实施例提供的监控方法的流程图。

步骤201:接口机接收接入设备发送的数据包。

步骤202:所述接口机根据所述数据包的源地址确定地址系数。

所述地址系数与在所述接口机上注册的m个处理机中的一个处理机唯一对应;m为大于1的整数。

步骤203:所述接口机根据所述地址系数,将所述数据包发送至所述地址系数对应的处理机。

步骤201之前,m个处理机需要在接口机上注册,具体的注册流程如图3所示,包括步骤301~步骤308;注册流程中步骤301~303,对应处理机与接口机交互的时序图如图4所示,包括步骤401~步骤410。需要说明的是,图4隐含了处理机与接口机通过消息中心进行通信。

接口机上电启动后,即可执行注册服务,具体由接口机的主控制器模块执行。主控制器还会启动心跳工作机制和数据路由映射功能,将在后续步骤详细说明。

注册流程具体如下:

步骤301:注册请求。

步骤302:注册请求回应。

步骤303:接收回应。

步骤304:初始化,连接消息中心。

步骤305:判断初始化是否成功。

步骤306:发送注册成功通知。

步骤307:接口机确认处理机注册成功。

步骤308:接收确认通知。

其中,步骤301、步骤303~步骤306、步骤308由处理机执行;步骤302、步骤307由接口机执行。

步骤301中,对于m个处理机中的任意一个处理机,该处理机向接口机发送注册请求;具体地,注册请求先缓存在消息中心的注册服务队列,并由消息中心将注册服务队列的注册请求发送至接口机。

步骤302中,接口机返回注册请求回应。

步骤303中,如果处理机在预设注册请求回应的等待时间内,收到了接口机发送的注册请求回应,则处理机初始化,并连接消息中心,即执行步骤304;如果处理机在预设注册请求回应的等待时间内,未收到接口机发送的注册请求回应,处理机再次向接口机发送注册请求,即重新执行步骤301。

需要说明的是,步骤301~步骤303对应图4的具体时序如步骤401~步骤410所示:

步骤401:发送注册请求。

步骤402:查找是否已注册服务实例。

若有该注册服务实例的id,则执行步骤403,否则执行步骤404。

步骤403:返回注册服务实例的id。

步骤404:新增注册服务实例id。

步骤405:将新增的注册服务实例id加入注册服务实例id列表。

步骤406:返回注册服务实例id。

步骤407:读取资源。

步骤408:返回资源。

步骤409:生成注册成功资源包。

步骤410:返回注册成功资源包。

其中,步骤401由处理机执行;步骤402~410由接口机执行。

步骤402中,接口机接收到处理机的注册成功通知后,会根据接口机的注册服务实例身份标识(id,identitynumber)列表模块,查找是否已有该处理机的注册服务id,该注册服务id与处理机唯一对应。

步骤402中,具体地,接口机中维护一张注册表,新增注册服务id即在注册表中新增一条记录,注册表格式如表1所示。可选地,接口机会从接口机的配置资源表读取资源,配置资源表模块向接口机返回资源。配置资源表根据需要添加,配置资源表指定了注册id对应的资源信息,如分配给处理机的消息队列名称。这些完成后,接口机向对应处理机发送一个注册成功通知。

表1注册表格式

步骤410中,若处理机接收到接口机发送的注册成功通知,则代表接口机已经新增了该处理机的注册信息,否则处理机重新发送注册成功通知。

步骤410之后,执行步骤304;此时消息中心会为处理机分配一个与之对应的消息队列。消息队列还用于接口机将数据发送到指定的处理机上。

步骤305中,如果分配消息队列成功,初始化成功,则执行306;否则,再次执行步骤306,处理机再次连接消息中心。

步骤306中,连接成功后,处理机向接口机发送注册成功通知。

步骤307中,接口机接收到处理机发送的注册成功通知后,确认了处理机注册成功,并发送确认通知。

步骤308中,处理机再次接收接口机发送的确认通知,注册过程完毕。

处理机在接口机注册之后,通过接口机执行的心跳工作机制。心跳工作机制过程图如图5所示。其中,心跳测试任务、心跳监听、注册服务实例id列表均为接口机中的模块。心跳工作机制是接口机用来维护可服务的注册服务实例id列表的,接口机可通过心跳工作机制及时更新所有处理机的服务状态。如果处理机没有回应接口机的心跳测试包,则将该处理机列为不可服务状态,不再往该处理机转发数据。如果处理机和消息中心连接异常,则每隔一段时间(如60秒)向消息中心尝试连接,直至连接成功。处理机检测到处理机中的某一应用线程异常后,若一段时间内(如2分钟),线程还是处于异常状态,则重新启动此应用线程。

具体地,所述接口机按照预设周期,在每个预设周期内发送心跳数据包至该处理机;举例来说,预设周期为5分钟。若接口机在5分钟内未接收到该处理机发送的所述心跳数据包的响应数据包,则所述接口机确定该处理机发生故障。

如图5所示,详细步骤如下:

步骤501:接口机发起心跳定时计划任务。

步骤502:接口机请求已注册服务实例集合。

步骤503:接口机收集已注册服务实例集合。

步骤504:接口机返回已注册服务实例集合。

步骤505:接口机根据返回的注册服务实例集合,向注册服务实例集合中的每个注册服务实例依次发送心跳测试包。

步骤506:接口机通知消息中心监听开始。

步骤507:接口机计时。

分为两种情况:有心跳回应执行步骤508;或无心跳回应,执行步骤509。

步骤508:接口机确定处理机正常运行。

步骤509:接口机确定处理机发生故障。

步骤501中,接口机,通过调用心跳测试函数,启动心跳测试任务。

步骤502中,接口机通过心跳测试任务模块,向心跳监听模块请求已注册服务实例集合。每个注册服务实例与一个已注册的处理机唯一对应。

步骤503中,接口机通过心跳监听模块,从注册服务实例id列表模块收集其中islive字段为可用的注册服务实例id,作为已注册服务实例集合。

步骤504中,接口机通过注册服务实例id列表模块,向心跳监听模块返回已注册的服务实例集合。

步骤505中,接口机根据心跳监听模块收集的注册服务实例集合,向注册服务实例集合中对应的每一个处理机依次发送心跳测试包,具体地,接口机首先将心跳测试包发送给消息中心中处理机对应的消息队列,由消息中心将心跳测试包发送给每个处理机。

步骤506中,接口机每向一个处理机发送心跳测试包后,都通知消息中心开始监听处理机对应的消息队列。

步骤507中,接口机每向一个处理机发送心跳测试包后,开始计时。

需要说明的是,“心跳定时计划任务”是一个定时任务,在表示在预设周期的单位时间内向目标(即注册服务实例)发送若干ping包。接口机向注册服务实例对应的处理机发送完ping包之后,有2个结果,一是处理机在预设周期内有回应,二是处理机在预设周期内无回应。2个情况对应与图5中的“有回应心跳消息”(对应步骤508)和“无回应”(对应步骤509)的相应处理情况。

步骤508中,包括步骤5081和步骤5082。

步骤5081:消息中心向接口机发送响应数据包。

步骤5082:接口机向消息中心发送回应消息。

步骤5081中,若消息中心监听到消息队列中有处理机发送的响应数据包,则消息中心向接口机的心跳测试任务模块发送响应数据包。

步骤5082中,接口机通过接口机的心跳测试任务模块,向消息中心发送回应消息。

步骤509中,包括步骤5091、步骤5092和步骤5093。

步骤5091:接口机向消息中心发送不可用注册服务实例。

步骤5092:接口机向消息中心发送回应消息。

步骤5093:接口机向消息中心发送回应消息。

步骤5091中,若预设周期结束时,处理机仍未接收到处理机对应的消息队列发送的响应数据包,则接口机的心跳测试任务模块向接口机的心跳监听模块发送不可用注册服务实例的id。

步骤5092中,接口机通过接口机的心跳监听模块,将接收到的不可用注册服务实例id在注册服务实例id列表中的islive字段确定为不可用。

一种可选的方式为,接口机把不可用注册服务实例id对应的注册信息删除,下次获取已注册的注册完集合时,不再包含该注册服务实例。

步骤5093中,接口机通过注册服务实例id列表模块,返回成功更新的通知。处理机在接口机注册之后,通过接口机启动的数据路由映射,即可对接入的接入设备进行监控。

步骤201中,接口机接收接入设备的数据包。接入设备的接入是不确定的,接入设备接入时会向接口机发送数据包,由接口机转发至具体处理机。

步骤202中,接口机根据数据包的源地址确定地址系数,确定地址系数的具体流程如图6所示,详细步骤如下:

步骤601:接口机确定地址系数。

步骤602:接口机判断地址系数是否可用。

若可用,执行步骤603;若不可用,执行步骤601。

步骤603:接口机返回地址系数。

步骤601中,接口机根据接入设备的源地址与地址系数预设关系,确定地址系数。举例来说,映射关系为哈希函数(hash),也称为散列函数,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。用于散列算法输入的散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。

举例来说,地址系数=(hash1{数据包的源地址})%处理机总数(即m)。“hash1{数据包地址}”表示对“数据包地址”进行一次哈希运算,“%”是取余操作符,“处理机总数”表示注册的处理机总数(可以包括不可用的处理机),“数据包地址”可以是ip或电话号码,举例来说,“192.168.12.34”或“13712345678”。通过哈希值除以处理机总数m取余,使得地址系数分布在m个数值,对应m个处理机,可使数据负载均匀地分布在各个处理机。需要说明的是,对数据包的源地址进行一次哈希运算之后再除以处理机总数取余,整个过程也可以看做一个哈希函数。

如果地址系数对应的处理机发生故障,则该地址系数不可用;如果地址系数对应的处理机未发生故障,则该地址系数可用。

步骤602中,如果步骤601得到的地址系数不可用(举例来说,接口机向该处理机发送的心跳测试包没有回应),则重新确定地址系数,即再次执行步骤601。

为保证再次确定得到新的地址系数,一种可能的实现方式为:

地址系数=(hash{地址系数a+随机数)%m;其中,地址系数a为步骤601得到地址系数。

如果确定的地址系数可用,执行步骤603。

通过增加随机数,使得数据包随机地分布到其他可用的处理机中。作为一种优选的实施方式,随机数为大于0且小于或等于m的随机整数,该优选实施方式数据处理量较低。

步骤603中,接口机返回可用的地址系数。

步骤203中,接口机发送至地址系数对应的处理机的数据包分为两种:接入设备第一次向处理机发送的数据包和非第一次向处理机发送的数据包。

当接入设备第一次向处理机发送的数据包时,处理机发送参数列表查询命令给对应接入设备,参数列表为接入设备所有可能运行参数的集合。接入设备接收到参数列表查询命令后,从参数列表获取对应的运行参数;之后,当接入设备再次向处理机发送的数据包的一种可能情形为,接入设备收到处理机发送的参数查询命令后,返回运行参数,处理机根据接入设备返回的运行参数,实现对接入设备的监控。

本发明提出一种监控方法,针对通过ip或者短信(或具备固定网络地址的特征)监控的接入设备(如接入设备),提出一种根据地址系数,将接入设备的数据包发送至各个处理机上,将大量接入设备的业务分摊到多个处理机上执行,从而共同完成监控任务。该方法扩展了接入设备和服务器的带宽,增加了吞吐量,加强了网络数据处理能力,达到了水平扩容提高性能的目的。

本发明实施例中,当接口机接收到接入设备发送的数据包时,可用的处理机为m个,比单个处理机的处理能力更强,进而增加了接入设备的可接入数量;而且,m个处理机中的某个处理机故障后,还有其他处理机可作为备份;另外,接口机根据数据包的源地址确定地址系数,并把数据包发送至地址系数对应的处理机,使得数据包不被固定的单个处理机处理,从而提升了处理灵活性。

如图7所示,为本发明实施例提供的监控装置的结构示意图。

本发明实施例进一步地提供一种监控装置,该装置包括:

接收模块701,用于接收接入设备发送的数据包;

处理模块702,用于根据所述数据包的源地址确定地址系数;所述地址系数与注册的m个处理机中的一个处理机对应;m为大于1的整数;以及根据所述地址系数,将所述数据包发送至所述地址系数对应的处理机。

可选的,所述处理模块702,具体用于:

确定所述数据包的源地址映射的哈希值;以及将所述哈希值除以m的余数,作为所述地址系数。

可选的,所述处理模块702,还用于:

若确定的所述地址系数对应的处理机发生故障,则确定所述地址系数与随机数之和映射的哈希值,并将所述哈希值除以m的余数,作为重新确定的所述地址系数。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1