首页 > 程序开发 > 移动开发 > 其他 >

简单搭建CS模式下,进行DM分析————Part01(Client端基本功能)

2017-04-17

简单搭建CS模式下,进行DM分析————Part01(Client端基本功能),1 解析日志文件;2 配对工作(日志文件初始化):保存配对日志的文件,保存未配对日志的文件。

要在客户端完成的工作:
1.解析日志文件;
2.配对工作(日志文件初始化):保存配对日志的文件,保存未配对日志的文件
3.将解析好的文件发送给服务端来分析用的上传,下载的信息

1)解析日志文件:
主要是三个部分:
1.日志文件:logFile解析之后的日志文件为textlogfile
2.书签文件:lastPositionFile(作为检测是否读取完日志文件,是否要进行继续读取文件)
3.batch文件:解析日志的个数

更为详细的:

//日志文件
private File logFile; //unix系统日志文件
private File textLogFile; //保存解析后日志的文件
private File lastPostionFile; //书签文件
private int batch; //每次解析日志的条目数

//配对文件
private File logRecFile;
//未配对成功的文件
private File loginLogFile;

//进行IO操作所需的服务端口和服务地址
private String serverHost;
private int serverPort;



/**
*解析配置文件,将标签中所有用户信息条目解析出来
*将标签作为key,标签中的信息作为value存入到Map之中
*/

//加载配置文件方法
private Map loadConfig()
{
  try
  {
    Map config = new HashMap()
    retrun config;
  }catch(Exception e)
  {
  System.out.println("解析异常");
  e.printStackTrace();
  //throw e;
  }
}



//我使用的是Dom4j中的SAXReader去解析xml文件,
//解析过程 SAX(read)->DOC(read xml)->Element root(get root)
//将root放入list中便于遍历

public static void main(String[] args)
{
  try
  {
   SAXReader reader = new SAXReader();
   Document doc = reader.read(new File("配置文件名.xml"));
   Element root = doc.getRootElements();
   //root加载到list中去
   List list = root.elements();

   //客户端(class DMclient)
   DMclient dmc = new DMclient;
   Mapconfig = dmc.loadConfig();//config文件变为了hashmap

   //遍历线性表将每个解析好的文件存放到hashmap中
   for(Element l : list)
   {
   String key = l.getName();
   String value = l.getText();
   config.put(key,value);
   }
//system out
}catch(Exception e)
{
 e.printStacktrace();
 //sysout
  }
 }
}

2)配对工作
之前想用Set方法去获取config文件的中所有的key值再来进行配对
其实如果知道key值可以直接用get方法去进行配对(初始化输入的信息是否能够一一对应?)

//初始化方法
private void init(Map config)
{
  try 
  {
  //对象属性 = new File(配置文件名调用get方法("key值"));

  logFile = new File(congfig.get("logfile"));
  //用户有多少特征就建立多少条,注意value要进行包装
  }catch(Exception e)
  {
  //sysout("初始化失败");
  e.printStacktrace();
  //throw e;
  }
}

public static void main(String[] args)
{
//用put方法来测试是否初始化成功
  try
  {
   Mapconfig = new HashMap();
   config.put(k key, V value);
   //原则还是用户有多少特征属性(这里定义了8条)就写多少条
   DMclient dmc = new DMclient();
   //初始化
   dmc.init(config);
   //sysout("初始化完毕")
  }catch(Exception e)
  {
    //sysout("失败");
  }
  }

}
相关文章
最新文章
热点推荐