草稿

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内容


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值