既然选择了远方 便只顾风雨兼程
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Woss:电信运营采集系统
1 流程:
数据----采集数据---客户端--(发送信息)--服务器端---(jdbc)---数据库
2 项目模块的需求划分:
采集模块 备份模块 网络模块 入库模块 日志模块 配置文件模块
3 注:
1)数据的格式:
AAA_Name | NAS_ip | 7(上线) 8(下线)| 时间戳(上/下)| logied_ip(用户登陆ip)
2)我是学习JavaEE的一只菜鸟 然而目前为止 我只学过corejava + oracle+JDBC/Mybatis技术 后续的框架之类的各种知识没有学习,
所以就综合目前的知识做了这样的一个项目来练习 ~~~让我们一起进步 一起奋斗撒~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 各模块代码(主体代码)
1) 采集模块---得到完整数据,同时对不完整数据进行备份
package com.briup.client;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.briup.backup.BackByte;
import com.briup.backup.BackupImp;
import com.briup.bean.BIDR;
import com.briup.logger.LoggerImp;
import com.briup.util.Dom4jTest;
/*定义一个方法:存放对象BIDR
*1 首先通过输入流,获取字节数,并跳过字节数 来 while循环读取文件中的数据,将数据以|分割变成一个数组
*2 将每条数据中的标志位是7时:则表示上网 ----map??
* 是8时:表示下线-------list集合
*并将读取到的每条数据中的各个元素赋值给BIDR对象
*3 将map集合中的数据 备份到备份文件中--store
*4 下一次读取时 将备份文件读取 继续处理---load
*5 返回list集合中的数据
*/
//GatherImp采集类--实现接口IGTather:
public class GatherImp implements IGather {
FileInputStream fis = null;
InputStreamReader isr= null;
BufferedReader br = null;
String line = null;
List<BIDR> list2= null;
Map<String, BIDR> map = null;
@Override
//采集数据方法:
public Collection<BIDR> gather() throws Exception{
//通过Dom4j解析 得到日志对象logger:
Object logger = Dom4jTest.mapCnameAndObject().get("com.briup.logger.LoggerImp");
String path = Dom4jTest.ParseXML("src-file");//采集数据路径
File file = new File(path);
list2 = new ArrayList<BIDR>();
map=new HashMap<String,BIDR>();
//通过解析文件得到对应类的对象backup:
Object backup = Dom4jTest.mapCnameAndObject().get("com.briup.backup.BackupImp");//得到备份对象
String buakupPath = Dom4jTest.ParseXML("back-temp");//备份文件路径
//读取数据文件radwtmp:
fis = new FileInputStream(file);
isr = new InputStreamReader(fis); //字节流转换为字符流
br = new BufferedReader(isr);
int index = 0;
//若备份集合存在,则进行加载备份文件:
if(new File(buakupPath).exists()){
Map<String, BIDR> map2 = (Map<String, BIDR>) ((BackupImp) backup).load(buakupPath);
map.putAll(map2); //将上一次的不完整数据map2添加到本次的map集合中
}
BackByte backByte =new BackByte(); //字节对象
index = backByte.ReadByte(); //读取到文件中的字节数index
br.skip(index);
while((line = br.readLine())!=null){
index = index+line.getBytes().length+2; //计数每行的字节数index
//以 | 进行分割字符串
String[] Array = line.split("[|]");
String aaa_login_name = Array[0] ;
String nas_ip = Array[1];
Date date = new Date(Long.parseLong(Array[3])*1000); //将 秒单位 转换 为毫秒数
String login_ip= Array[4];
//上网:
if(("7").equals(Array[2])){
BIDR bidr = new BIDR();
bidr.setAaa_login_name(aaa_login_name.substring(1));
bidr.setNas_ip(nas_ip);
bidr.setLogin_date(date);
bidr.setLogin_ip(login_ip);
//若标志位等于7:则将该用户放
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Woss:电信运营采集系统
1 流程:
数据----采集数据---客户端--(发送信息)--服务器端---(jdbc)---数据库
2 项目模块的需求划分:
采集模块 备份模块 网络模块 入库模块 日志模块 配置文件模块
3 注:
1)数据的格式:
AAA_Name | NAS_ip | 7(上线) 8(下线)| 时间戳(上/下)| logied_ip(用户登陆ip)
2)我是学习JavaEE的一只菜鸟 然而目前为止 我只学过corejava + oracle+JDBC/Mybatis技术 后续的框架之类的各种知识没有学习,
所以就综合目前的知识做了这样的一个项目来练习 ~~~让我们一起进步 一起奋斗撒~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 各模块代码(主体代码)
1) 采集模块---得到完整数据,同时对不完整数据进行备份
package com.briup.client;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.briup.backup.BackByte;
import com.briup.backup.BackupImp;
import com.briup.bean.BIDR;
import com.briup.logger.LoggerImp;
import com.briup.util.Dom4jTest;
/*定义一个方法:存放对象BIDR
*1 首先通过输入流,获取字节数,并跳过字节数 来 while循环读取文件中的数据,将数据以|分割变成一个数组
*2 将每条数据中的标志位是7时:则表示上网 ----map??
* 是8时:表示下线-------list集合
*并将读取到的每条数据中的各个元素赋值给BIDR对象
*3 将map集合中的数据 备份到备份文件中--store
*4 下一次读取时 将备份文件读取 继续处理---load
*5 返回list集合中的数据
*/
//GatherImp采集类--实现接口IGTather:
public class GatherImp implements IGather {
FileInputStream fis = null;
InputStreamReader isr= null;
BufferedReader br = null;
String line = null;
List<BIDR> list2= null;
Map<String, BIDR> map = null;
@Override
//采集数据方法:
public Collection<BIDR> gather() throws Exception{
//通过Dom4j解析 得到日志对象logger:
Object logger = Dom4jTest.mapCnameAndObject().get("com.briup.logger.LoggerImp");
String path = Dom4jTest.ParseXML("src-file");//采集数据路径
File file = new File(path);
list2 = new ArrayList<BIDR>();
map=new HashMap<String,BIDR>();
//通过解析文件得到对应类的对象backup:
Object backup = Dom4jTest.mapCnameAndObject().get("com.briup.backup.BackupImp");//得到备份对象
String buakupPath = Dom4jTest.ParseXML("back-temp");//备份文件路径
//读取数据文件radwtmp:
fis = new FileInputStream(file);
isr = new InputStreamReader(fis); //字节流转换为字符流
br = new BufferedReader(isr);
int index = 0;
//若备份集合存在,则进行加载备份文件:
if(new File(buakupPath).exists()){
Map<String, BIDR> map2 = (Map<String, BIDR>) ((BackupImp) backup).load(buakupPath);
map.putAll(map2); //将上一次的不完整数据map2添加到本次的map集合中
}
BackByte backByte =new BackByte(); //字节对象
index = backByte.ReadByte(); //读取到文件中的字节数index
br.skip(index);
while((line = br.readLine())!=null){
index = index+line.getBytes().length+2; //计数每行的字节数index
//以 | 进行分割字符串
String[] Array = line.split("[|]");
String aaa_login_name = Array[0] ;
String nas_ip = Array[1];
Date date = new Date(Long.parseLong(Array[3])*1000); //将 秒单位 转换 为毫秒数
String login_ip= Array[4];
//上网:
if(("7").equals(Array[2])){
BIDR bidr = new BIDR();
bidr.setAaa_login_name(aaa_login_name.substring(1));
bidr.setNas_ip(nas_ip);
bidr.setLogin_date(date);
bidr.setLogin_ip(login_ip);
//若标志位等于7:则将该用户放