CN101197698A - 一种简单网络管理协议管理应用层事务回滚方法 - Google Patents
一种简单网络管理协议管理应用层事务回滚方法 Download PDFInfo
- Publication number
- CN101197698A CN101197698A CNA2006101618505A CN200610161850A CN101197698A CN 101197698 A CN101197698 A CN 101197698A CN A2006101618505 A CNA2006101618505 A CN A2006101618505A CN 200610161850 A CN200610161850 A CN 200610161850A CN 101197698 A CN101197698 A CN 101197698A
- Authority
- CN
- China
- Prior art keywords
- snmp
- order
- storehouse
- rollback
- commands
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种简单网络管理协议管理应用层事务回滚方法,为SNMP Manager管理框架提供统一的应用事务回滚机制,便于系统维护,提高系统可靠性,所述方法涉及SNMP管理者和SNMP代理,包括以下步骤:(a)SNMP管理者向SNMP代理下发SNMP设置命令前,构造所述设置命令反操作的SNMP命令并将其压入堆栈中;(b)所述SNMP管理者向SNMP代理下发SNMP设置命令;(c)所述SNMP管理者判断所述命令是否执行成功,如果命令执行失败,则将堆栈中的命令按后进先出依次取出并执行,完成回滚。
Description
技术领域
本发明涉及一种在SNMP管理框架中管理者(Manager)实现应用层事务回滚的方法,尤其涉及以SNMP为管理接口的网络、网元配置管理领域。
背景技术
SNMP(简单网络管理协议)是网络管理中基于UDP报文的一种管理协议,用于管理者(Manager)和代理(Agent)之间进行简单地管理操作。
在SNMP管理协议中共有get、getnext、set、get-response、trap五种消息,其中的get、getnext、set操作是Manager发送给Agent的消息,用于设置或获取SNMP的管理变量。Manager对网元设备进行管理时就是通过使用上述操作对网元进行各种读和写操作的。
不过,由于SNMP协议是简单的管理协议,除了每个原子操作(get、getnext、set)SNMP协议栈实现了会话事务处理外,由这些原子操作组成的应用层事务则没有相应的事务处理机制。而事务处理机制的核心是事务回滚机制。这样就往往造成了应用层事务回滚每个SNMP应用程序都要自行处理,缺乏统一的处理机制。既不利于软件的维护,也不利于增强软件可靠性。
发明内容
本发明所要解决的技术问题是提供一种简单网络管理协议管理应用层事务回滚方法,为SNMP Manager管理框架提供统一的应用事务回滚机制,便于系统维护,提高系统可靠性。
为了解决上述技术问题,本发明提供了一种简单网络管理协议管理应用层事务回滚方法,所述简单网络管理协议以下简称SNMP,涉及SNMP管理者和SNMP代理,所述方法包括以下步骤:
(a)SNMP管理者向SNMP代理下发SNMP设置命令前,构造所述设置命令反操作的SNMP命令并将其压入堆栈中;
(b)所述SNMP管理者向SNMP代理下发SNMP设置命令;
(c)所述SNMP管理者判断所述命令是否执行成功,如果命令执行失败,则将堆栈中的命令按后进先出依次取出并执行,完成回滚。
进一步地,上述方法还可具有以下特点:所述堆栈为Java Stack,所述压入堆栈采用Stack.push(),所述取出堆栈采用Stack.pop()。
进一步地,上述方法还可具有以下特点:在所述步骤(a)中,在构造所述设置命令的反操作命令前,先进行下发SNMP设置命令的准备,包括:准备建立SNMP通讯的对象,构造好下发命令的对象标识符以及对应的SNMP变量。
进一步地,上述方法还可具有以下特点:在所述步骤(c)中,如果所述命令执行成功,则判断全部设置命令是否下发完毕,如果是,结束,否则,返回步骤(a)。
进一步地,上述方法还可具有以下特点:在所述步骤(c)中,执行堆栈中的命令后判断堆栈中是否还有SNMP设置命令的反操作命令,如果有,继续从堆栈中取出命令并执行,直到全部执行完毕。
采用本发明所述机制,与现有技术相比,弥补了SNMP Manager管理框架缺乏应用层事务处理的不足,达到了在SNMP应用中简捷使用事务进行处理的效果,节省了网管系统研发的成本,降低软件的复杂度,大大提高了软件事务处理的通用性和可靠性。
附图说明
图1是本实施例SNMP应用层事务回滚流程图。
具体实施方式
本实施例的思路是:利用堆栈先入后出的特性,将每个SNMP Manager对Agent的原子操作的相反动作记录在堆栈中,如果Manager需要取消以前所做的SNMP操作——回滚,则依次执行堆栈中存储的SNMP操作,从而实现对以前SNMP操作的回滚。
下面对技术方案的具体实施作进一步的详细描述,参见附图1,本实施例所述SNMP Manager应用事务回滚方法如下:
步骤110,为存储SNMP回滚命令建立一个堆栈,比如java的Stack对象;
步骤120,Manager准备下发set命令给Agent;
一般是建立SNMP通讯的对象,比如SnmpTarget(SNMP对象),并构造好下发命令的OID(对象标识符),以及对应的SnmpVar(SNMP变量)。
步骤130,Manager构造所述set命令的反操作命令;
比如第二步的操作是在Snmp Agent中创建一个行实例,则对应的回滚操作则是删除这个行实例。
步骤140,将构造的回滚命令压入堆栈;
需要使用堆栈的压栈方法,比如Stack.push(),把该回滚命令存储到堆栈中。
步骤150,Manager向Agent下发set命令;
步骤160,Manager判断set命令是否执行成功,如果是,执行下一步,否则执行步骤180;
步骤170,Manager判断全部set命令是否下发完毕,如果是,结束,否则,返回步骤120;
步骤180,使用堆栈的弹出方法,取出堆栈中最上面的命令并执行;
堆栈的弹出方法,比如Stack.pop(),该方法把堆栈中最上面的一个对象取出来。
步骤190,判断堆栈中是否还有SNMP set命令的反操作命令,如果是,返回步骤180,否则,结束。
本发明建立在SNMP原子操作的基础上,属于一种SNMP的应用方法,是在应用层上建立的事物处理机制。由于本发明是一种通用的事务回滚处理方法,与具体的SNMP命令不相关,因此可以避免每个应用程序自己管理回滚。
通过以上过程完成了一个具备事务回滚能力的SNMP事务操作,由此可以看出,通过巧妙使用堆栈先入后出的特性,简捷的组织起了SNMPManager应用层事务的队列,很方便的实现了SNMP Manager应用层事务回滚机制,弥补了SNMP Manager管理框架应用层事务处理的不足。
Claims (5)
1.一种简单网络管理协议管理应用层事务回滚方法,所述简单网络管理协议以下简称SNMP,涉及SNMP管理者和SNMP代理,所述方法包括以下步骤:
(a)SNMP管理者向SNMP代理下发SNMP设置命令前,构造所述设置命令反操作的SNMP命令并将其压入堆栈中;
(b)所述SNMP管理者向SNMP代理下发SNMP设置命令;
(c)所述SNMP管理者判断所述命令是否执行成功,如果命令执行失败,则将堆栈中的命令按后进先出依次取出并执行,完成回滚。
2.如权利要求1所述的方法,其特征在于,所述堆栈为Java Stack,所述压入堆栈采用Stack.push(),所述取出堆栈采用Stack.pop()。
3.如权利要求1所述的方法,其特征在于,在所述步骤(a)中,在构造所述设置命令的反操作命令前,先进行下发SNMP设置命令的准备,包括:准备建立SNMP通讯的对象,构造好下发命令的对象标识符以及对应的SNMP变量。
4.如权利要求1所述的方法,其特征在于,在所述步骤(c)中,如果所述命令执行成功,则判断全部设置命令是否下发完毕,如果是,结束,否则,返回步骤(a)。
5.如权利要求1所述的方法,其特征在于,在所述步骤(c)中,执行堆栈中的命令后判断堆栈中是否还有SNMP设置命令的反操作命令,如果有,继续从堆栈中取出命令并执行,直到全部执行完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101618505A CN101197698B (zh) | 2006-12-06 | 2006-12-06 | 一种简单网络管理协议管理应用层事务回滚方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101618505A CN101197698B (zh) | 2006-12-06 | 2006-12-06 | 一种简单网络管理协议管理应用层事务回滚方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101197698A true CN101197698A (zh) | 2008-06-11 |
CN101197698B CN101197698B (zh) | 2012-02-29 |
Family
ID=39547865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101618505A Active CN101197698B (zh) | 2006-12-06 | 2006-12-06 | 一种简单网络管理协议管理应用层事务回滚方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101197698B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010148727A1 (zh) * | 2009-12-28 | 2010-12-29 | 中兴通讯股份有限公司 | 原子命令回滚方法及终端 |
CN101977127A (zh) * | 2010-11-26 | 2011-02-16 | 迈普通信技术股份有限公司 | 基于snmp的设备配置回滚方法以及snmp网管设备 |
CN102193780A (zh) * | 2010-03-08 | 2011-09-21 | 华为技术有限公司 | 事务实现方法以及事务实现设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5925095A (en) * | 1997-05-12 | 1999-07-20 | International Business Machines Corporation | Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients |
US6219666B1 (en) * | 1998-07-13 | 2001-04-17 | Oracle Corporation | Autonomous transactions in a database system |
CN100345413C (zh) * | 2002-11-17 | 2007-10-24 | 华为技术有限公司 | 光网络改造方法 |
KR100489689B1 (ko) * | 2003-02-14 | 2005-05-17 | 삼성전자주식회사 | 망 관리 시스템의 에러 정보 제공 방법 및 그 장치 |
CN100452793C (zh) * | 2003-10-22 | 2009-01-14 | 华为技术有限公司 | 一种基于软交换网络的业务发放方法 |
-
2006
- 2006-12-06 CN CN2006101618505A patent/CN101197698B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010148727A1 (zh) * | 2009-12-28 | 2010-12-29 | 中兴通讯股份有限公司 | 原子命令回滚方法及终端 |
CN102193780A (zh) * | 2010-03-08 | 2011-09-21 | 华为技术有限公司 | 事务实现方法以及事务实现设备 |
CN101977127A (zh) * | 2010-11-26 | 2011-02-16 | 迈普通信技术股份有限公司 | 基于snmp的设备配置回滚方法以及snmp网管设备 |
CN101977127B (zh) * | 2010-11-26 | 2013-04-10 | 迈普通信技术股份有限公司 | 基于snmp的设备配置回滚方法以及snmp网管设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101197698B (zh) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639374B (zh) | 一种应用程序部署管理系统 | |
CN102891873B (zh) | 一种存储日志数据的方法及日志数据存储系统 | |
CN107729366A (zh) | 一种普适多源异构大规模数据同步系统 | |
US8713163B2 (en) | Monitoring cloud-runtime operations | |
CN103645904B (zh) | 一种接口调用的缓存实现方法 | |
CN105404592A (zh) | 管理消息队列 | |
CN109412833A (zh) | 一种共享设备的管理系统及方法 | |
CN109815214A (zh) | 数据库访问方法、系统、装置及存储介质 | |
CN102255761A (zh) | 基于文件的配置回滚系统及配置回滚方法 | |
CN107688611A (zh) | 一种基于saltstack的Redis键值管理系统及方法 | |
CN106874130A (zh) | 一种微服务架构中分布式事务的处理方法 | |
CN101197698B (zh) | 一种简单网络管理协议管理应用层事务回滚方法 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
CN110187838A (zh) | 数据io信息处理方法、分析方法、装置和相关设备 | |
CN101060559B (zh) | 一种人机命令队列管理系统和方法 | |
CN104660442A (zh) | 基于MongoDB的服务开通方法和系统 | |
CN101197699A (zh) | 一种简单网络管理协议管理应用层事务回滚方法 | |
CN110134541A (zh) | 存储集群的配置信息的切换方法、系统、设备及存储介质 | |
CN107015855A (zh) | 一种支持时间策略的异步服务集中调度方法及装置 | |
WO2011097850A1 (zh) | 一种数据的管理方法和系统 | |
CN109117086A (zh) | 存储设备数据位置的处理方法、装置、设备及存储介质 | |
CN101702661B (zh) | 一种诊断信息的获取方法及装置 | |
CN103312623B (zh) | 任务协作装置及方法 | |
WO2015184850A1 (zh) | 过期数据采集方法、装置及系统 | |
CN102055606B (zh) | 一种业务支撑系统中的业务处理方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |