专利名称:一种管理协议异步处理方法
技术领域:
本发明涉及一种网络设备管理技术,尤其涉及一种管理协议异步处理方法。
背景技术:
在网络带给人们大量便利的同时,网络设备的管理也成为了一道难题。由于网络设备的庞大数量,以及大型网络的分布,如果要一台一台通过本地管理界面来控制,那是很不现实的。于是,各式各样的网络管理协议应运而生。如3匪 31 069、01 1、(^1等。但是以上这些协议均面临着超时的问题。比如SNMP和TR069,它们的超时时间比较长,所以作为受控者,有足够的时间来完成操作,然后将操作结果上报。与此同时,对于像OAM和OMCI 这样的协议,它们对于时间的要求比较严格,比如在中国电信所定义的《中国电信EPON设备技术要求V3. 0_201104》中就明确写了“为了保证正确的操作,在收到标准OAMPDU或扩展 OAMPDU后,ONU应在500ms内完成相应的操作(如属性值的读取、设置、Action生效和环回状态改变等),并发送应答的0AMPDU。”但事实上,这样的要求是不太可能实现的。在实际操作的过程中,很多时候并不能在500ms内完成所有的动作,比如希望让一台设备的网络端口启用,那么在受到该条指令时,就需要给目标端口上电,然后加载相应的驱动。这些操作都是需要耗费时间的,从而导致回复的时间必然超过协议的等待时间,这样协议就无法通过。
对此,一种方法就是与局端的研发团队协商,单独将这些操作的超时时间拉长,这样可以比较完美的解决当前的困境。但这种方法也存在着局限性,毕竟全球的厂家非常多, 互通性本来就是一个很大的问题,根本不可能保证每个厂商都会将这些协议的时间拉长来保证下挂设备的正常运行。
另一种方法是采取多线程的处理方法来解决这个问题,当设备收到指令后,系统直接拉起一个线程来处理该操作,同时,直接回复局端设备操作成功。但是其问题在于,管理协议在注册完成时会下发大量的配置,用于初始化设备的各项指标,这样假设在短时间内,设备收到多个操作请求(因为前面已经回复操作完成,自然局端设备就会下发下一个指令),那么管理协议的处理进程就会拉起相应多个的线程来处理此操作,于是在并发的系统中,由于第一个操作正占用着系统资源,所以在其后的线程都会因为分配不到资源而僵死, 从而导致后续线程的操作失败。此外,当设备收到局端配置后向其他进程发送消息时,由于 BCM的进程间通信机制是基于进程的,同时它也未涉及多线程间通信的处理,故而如果本身的阻塞机制写的不是很好,那么就可能导致消息接收出错,如果目的进程也需要发送消息来解决这个问题的话,那么系统的健壮性就会更差,出现问题的几率也会越大。发明内容
对于以上现有技术中存在的技术问题,本发明提供了一种管理协议异步处理方法,以解决并发资源争抢以及多线程导致进程间通信出错的技术问题。
具体技术方案如下所示
—种管理协议异步处理方法,其中,所述处理方法适用于终端设备与局端设备之间的数据处理,包括如下步骤
步骤I.所述终端设备系统启动一常驻进程;
步骤2.所述终端设备系统启动管理协议主进程,并在所述管理协议主进程下开启线程,用于接收所述局端设备根据所述管理协议发送的局端配置信息;
步骤3.所述终端设备通过所述线程接收所述局端配置信息;
步骤4.当所述局端配置信息为确定超时的报文时,所述线程将所述局端配置信息交给所述常驻进程,并回复所述局端设备操作成功;
步骤5.所述常驻进程将所述局端配置信息转发给目标进程处理,并接收所述目标进程反馈。
上述的管理协议异步处理方法,其中,还包括
步骤6.当所述局端配置文件为确定不超时的报文时,所述线程将所述局端配置文件发送给相应的目的进程,所述目的进程处理完成后向所述线程反馈,并由所述线程回复所述局端设备操作成功。
上述的管理协议异步处理方法,其中,所述管理协议主进程接收本地控制消息,并转发给相应的目的进程。
上述管理协议异步处理方法,其中,
所述步骤I中还包括步骤I. I所述终端设备系统将所述常驻进程设置为阻塞状态;
所述步骤4中还包括步骤4. I当所述局端配置信息为确定超时的报文时,所述终端设备系统解除所述常驻进程的阻塞状态,所述线程将所述局端配置信息交给所述常驻进程;步骤4. 2所述常驻进程将所述局端配置信息转发给目标进程处理,并接收到所述目标进程反馈后,所述终端设备系统将所述常驻进程设置为阻塞状态。
上述的管理协议异步处理方法,其中,所述终端设备通过所述管理协议的类型确定所述局端配置信息为确定超时的报文或确定不超时的报文。
本发明的有益效果是通过设置一个系统常驻进程,用于接收确定会超时的局端配置信息,能够有效避免由于采取多线程处理超时协议数据所可能导致的线程僵死而使操作失败或者多线程导致的进程间通信出错的问题,提高了系统的稳定性。
图I为本发明一种管理协议异步处理方法实施例的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
如图I所示为本发明一种管理协议异步处理方法的流程示意图,其中,处理方法适用于终端设备与局端设备之间的数据处理,包括如下步骤
步骤I.终端设备系统启动一常驻进程;
步骤2.终端设备系统启动管理协议主进程,并在管理协议主进程下开启线程,用于接收局端设备根据管理协议发送的局端配置信息;
步骤3.终端设备通过线程接收局端配置信息;
步骤4.当局端配置信息为确定超时的报文时,线程将局端配置信息交给常驻进程,并回复局端设备操作成功;
步骤5.常驻进程将局端配置信息转发给目标进程处理,并接收目标进程反馈。
本发明的技术原理是系统中引入一个全新常驻进程,该进程拥有和其他进程一样的优先级。当管理协议进程收到需要长时间处理的报文时,将操作命令转发至此进程,然后由该进程再将消息转发至目标进程。这样,就可以解决进程转发出错的问题了,因为此时,每个进程都只有一个地方在收发消息,就不容易出现现有技术中所提到的消息手法混乱的情况。其次,该方案的另一个优点是利用消息本身的队列特性来解决,多线程间时序问题,避免并发进程同时占用同一个资源,导致系统锁死及只处理一个进程的问题。
本发明的一种具体实施例中,还包括步骤6.当局端配置文件为确定不超时的报文时,线程将局端配置文件发送给相应的目的进程,目的进程处理完成后向线程反馈,并由线程回复局端设备操作成功。
本发明的一种具体实施例中,管理协议主进程接收本地控制消息,并转发给相应的目的进程。
本发明的一种具体实施例中,步骤I中还包括步骤I. I终端设备系统将常驻进程设置为阻塞状态;步骤4中还包括步骤4. I当局端配置信息为确定超时的报文时,终端设备系统解除常驻进程的阻塞状态,线程将局端配置信息交给常驻进程;步骤4. 2常驻进程将局端配置信息转发给目标进程处理,并接收到目标进程反馈后,终端设备系统将常驻进程设置为阻塞状态。通过将该常驻进程设置为阻塞状态,可以有效防止当管理协议在处理本地控制信息时,使两个进程产生串扰的情况,而导致操作失败,只有当接收到局端配置信息后,才解除常驻进程的阻塞状态。而当常驻进程接收到相应目标进程的反馈后,常驻进程又进入到阻塞状态,以此循环。
上述的管理协议异步处理方法,其中,终端设备通过管理协议的类型确定局端配置信息为确定超时的报文或确定不超时的报文。对于类似于SNMP、TR069、OMCI, OAM这样现实中很难避免超时的管理协议来说,其报文信息就可以根据其相应的管理协议的类型被确定为确定超时的报文,以此进行区分。
协议所规定的短时间与实际操作的时间本身就存在着客观上的矛盾,所以这个问题从根本上来说是无法解决的。所以本发明着眼于网络设备之间的互通性,通过多进程解决机制,从而尽可能地达到协议对时间上的要求,确保各厂商间的互通。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
权利要求
1.一种管理协议异步处理方法,其特征在于,所述处理方法适用于终端设备与局端设备之间的数据处理,包括如下步骤 步骤I.所述终端设备系统启动一常驻进程; 步骤2.所述终端设备系统启动一管理协议主进程,并在所述管理协议主进程下开启线程,用于接收所述局端设备根据所述管理协议发送的局端配置信息; 步骤3.所述终端设备通过所述线程接收所述局端配置信息; 步骤4.当所述局端配置信息为确定超时的报文时,所述线程将所述局端配置信息交给所述常驻进程,并回复所述局端设备操作成功; 步骤5.所述常驻进程将所述局端配置信息转发给一目标进程处理,并接收所述目标进程反馈。
2.如权利要求I所述的管理协议异步处理方法,其特征在于,还包括 步骤6.当所述局端配置信息为确定不超时的报文时,所述线程将所述局端配置文件发送给相应的目标进程,所述目标进程处理完成后向所述线程反馈,并由所述线程回复所述局端设备操作成功。
3.如权利要求I所述的管理协议异步处理方法,其特征在于,所述管理协议主进程接收本地控制消息,并转发给相应的目标进程。
4.如权利要求I所述管理协议异步处理方法,其特征在于, 所述步骤I中还包括步骤I. I所述终端设备系统将所述常驻进程设置为阻塞状态; 所述步骤4中还包括步骤4. I当所述局端配置信息为确定超时的报文时,所述终端设备系统解除所述常驻进程的阻塞状态,所述线程将所述局端配置信息交给所述常驻进程;步骤4. 2所述常驻进程将所述局端配置信息转发给目标进程处理,并接收到所述目标进程反馈后,所述终端设备系统将所述常驻进程设置为阻塞状态。
5.如权利要求I或2所述的管理协议异步处理方法,其特征在于,所述终端设备通过所述管理协议的类型确定所述局端配置信息为确定超时的报文或确定不超时的报文。
全文摘要
本发明公开了一种管理协议异步处理方法,属于网络设备管理技术。其中,处理方法适用于终端设备与局端设备之间的数据处理,包括如下步骤终端设备系统启动一常驻进程;终端设备系统启动管理协议主进程,并在管理协议主进程下开启线程,用于接收局端设备根据管理协议发送的局端配置信息;终端设备通过线程接收局端配置信息;当局端配置信息为确定超时的报文时,线程将局端配置信息交给常驻进程,并回复局端设备操作成功;常驻进程将局端配置信息转发给目标进程处理,并接收目标进程反馈。本发明的有益技术效果是能够有效避免由于采取多线程处理超时协议数据所可能导致的线程僵死而使操作失败或者通信出错的问题,提高了系统的稳定性。
文档编号H04L12/24GK102984016SQ20121056842
公开日2013年3月20日 申请日期2012年12月24日 优先权日2012年12月24日
发明者曹裕昌 申请人:上海斐讯数据通信技术有限公司