afunms

My Software,My Dream—Forge a more perfect NMS product.

NodeManager

 

今天终于把NodeManager的接口确定下来了。代码不知改了多少次,才成为今天这个样子,
每
个接口都有明确的定义和责任,真是不容易。2.0中这块写得极混乱,代码重用性不好,可扩
展性受到很大影响。3.0中能把NodeManager的接口设计好,算是整个架构的一个重大改进。

NodeManager完成以下功能:

1.加入网元前,检查用户输入的参数,以及这个网元是否已经存在;

2.加入网元:第一,加入数据库(持久化);

第二,加入轮询队列;

第三,加入到视图(XML)。

3.删除网元:同样三步,与加入网元正好相反的操作。

不定义更新操作,因为各种网元更新数据差别太大,不能统一接口。
     Update直接在在service中
实现。



 

NodeManager

 

方法

属性

说明

1

checkVaildBeforeAdd

public

增加网元之前,检查网元的有效性。

2

addNode

public

增加一个网元。

3

attachMonitors

protected

增加后,给网元加上默认监视器。

4

loadNodes

public

启动Tomcat时,从数据库加载到内存。

5

loadMonitors

protected

在loadNodes中调用,加载监视器。

6

deleteNode

public

删除一个网元。

7

persistNode

public

持久化一个网元:把网元数据存入MySQL。

8

persistBase

protected

在persistNode中调用,把父类数据存入主表。

9

persistSubNode

protected

在persistNode中调用,把子类数据存入子表。

10

persistMonitors

protected

在persistNode中调用,持久化监视器。

11

afterPersist

public

在每个persist方法后调用。

12

afterDone

public

关闭Connection等操作。

HostManager

因为在HostManager除了实现对host的操作,还有对Subnet和link的操作,所以除了实现
NodeManager中的接口外,还多了好些方法。

 

方法

属性

说明

1

checkVaildBeforeAdd

public

增加网元之前,检查网元的有效性。

2

setDiscoveryConfig

public

设置发现配置。因为增加主机与发现配置有关系,所以要有这个方法。

3

loadLinks

private

加载链路,在loadNodes后调用。

4

loadServerLoginConfig

private

对Unix或Linux,加载telnet或ssh的参数。

5

loadIfs

private

加载接口。

6

loadSubnets

private

加载子网。

7

removeLegacy

public

重新发现之后,删除所有以前数据。

8

persistServerLoginConfig

public

持久化telnet或ssh的参数。

9

persistLink

public

持久化链路。

10

persistSubnet

public

持久化子网。

11

persistHostSubetMemberShip

public

持久化主机与子网的关系。

12

getMaxElementId

public

得到网元的最大ID。

13

persist

public

用于持久化SNMP表的数据。

DBNodeManager和MidWareManager分别管理数据库网元和中件间网元的增加和删除,
实现NodeManager中的接口。以后如果还有新种类的网元加入,NodeManager可再扩展,这样
的设计就比2.0好得多了。

posted on 2009-01-25 17:06 afunms 阅读(399) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

My Links

News

留言簿(18)

随笔档案

相册

搜索

最新评论

阅读排行榜