ems需要实现的功能分解
insertIpseg() 增加ip段
deleteIpseg() 删除ip段
isIpsegEq() 判断一个ip段是否与另一个ip段相等
isIpsegContain() 判断一个ip段是否包含另一个ip段
isIpsegInClauser() 判断一个ip段是否与指定集群中的ip段冲突
insertIpsegByFile() 通过导入的文件增加ip段
deleteIpsegByFile() 通过导入的文件删除ip段
searchIpseg() 通过给出的条件进行ip段查询
getResultFile() 导入删除/导入添加的结果生成结果文件
getRecordFile() 通过流水号列表,导出ip段记录文件
//数据结构定义
//ip段信息,包括v4和v6信息
class Ipseg{
int iptype; //ip段版本 v4还是v6
int ipsegid; //ip段流水号
int clauserid; //i集群id
string clausername; //集群名称
string ipaddr; //ipv4地址
string mask; // ipv4掩码
string prefix; //ipv6前缀
int prefixlen;//ipv6前缀长度
int xxx;//ipv6前缀xxx
}
//导入导出结果
class ImportResult{
int operType;//操作类型 导入/导出
datetime starttime;//开始导入时间
datetime endtime://导入结束时间
int recordCount;//总记录条数
int succCount;//成功条数
int failCount;//失败条数
Map<int,Ipseg> mapDetail;//此处存储文件中所有的ip段条目,key为ip段id
map<int,int> mapResult;//每个条目的执行结果(成功/失败和失败原因),key为ip段id
}
//增加ip段
boolean insertIpseg(Ipseg ipseg){
if(ipseg.iptype == v4){
插入ipv4段
}else if(ipseg.iptype == v6){
插入ipv6段
}
}
//删除ip段
boolean deleteIpseg(int ipsegid){
根据主键删除ip段
}
//判断一个ip段是否与另一个相等
boolean isIpsegEq(int ipsegidsrc,int ipsegiddst){
获取ipsegidsrc和ipsegiddst对应的内容
判断ip段是否完全相等
}
//判断一个ip段是否包含另一个ip段
boolean isIpsegContain(int ipsegidsrc,int ipsegiddst){
获取ipsegidsrc和ipsegiddst对应的内容
判断目标ip段是否被包含在源ip段中
}
//判断一个ip段是否与指定集群中的ip段冲突
boolean isIpsegInClauser(int ipseg,int clauserid) {
boolean result = false;
List<Ipseg> listipseg = 获取集群clauserid的所有ip段
for(Ipseg ipseg:listipseg){
idtmp = ipseg.ipsegid;
if(isIpsegContain(ipseg,idtmp) || isIpsegContain(idtmp,ipseg)){
result=true;
break
}
}
return result;
}
//通过导入的文件增加ip段
ImportResult insertIpsegByFile(Map<int,List<Ipseg>> map){
ImportResult resultmap;
for(Entry entry:map.entryset()){
clauserid = entry.getkey();
list = entry.getvalue()
for(Ipseg ipseg:list){
if(isIpsegInClauser(ipseg.ipsegid,clauserid)){
resultmap.mapDetail(ipseg.ipsegid,ipseg)
resultmap.
}
resultmap.mapResult.put(ipseg.ipsegid,结果);
resultmap总数+1
}
}
}
//通过导入的文件删除ip段
ImportResult deleteIpsegByFile(Map<int,List<Ipseg>> map){
}
//通过给出的条件进行ip段查询
List<Ipseg> searchIpseg(clausername,ipaddr,mask,prefix,prefixlen, XXX) {
}
//导入删除/导入添加的结果生成结果文件
File getResultFile(ImportResult ) {
}
//通过流水号列表,导出ip段记录文件
File getRecordFile(List<int>) {
}
sgms需要实现的功能分解
sgms无新增功能,需要对原有的ka流程进行修改。
ui需要实现的功能分解
deleteClauser() 删除集群
还没有画出导出excel内容