您好,欢迎光临本网站![请登录][注册会员]  
文件名称: j2se项目源码及介绍_last指令
  所属分类: Java
  开发工具:
  文件大小: 113kb
  下载次数: 0
  上传时间: 2012-05-29
  提 供 者: cheer11********
 详细说明: Last指令的实现 一、 背景描述 在Unix系统中,有一个last指令可以查看用户登录服务器的历史记录,last指令的工作原理就是读取unix下的一个系统文件,解析然后输出的效果。 在今后的电信用户数据采集系统项目中,就是通过读取该系统文件来确定用户使用电信实验室服务器的时间长度并收费的。 该系统文件的目录与文件名是/usr/adm/wtmpx,在Unix的系统提供一组的核函数来操作该函数,相对处理比较容易。 在这个项目中,我们只要了解了wtmpx的结构,然后通过Java的IO与NIO技术,就可以实现与last同样的功能。并轻松实现电信数据采集系统。 二、 实现要求 a) 与last的实现效果一模一样。效果如下: b) 显示登录名,设备类型,客户IP,登录开始与结束时间,登录时长。 三、 实现技术 a) 掌握wtmpx文件的格式与C 的结构的补齐。 b) 掌握IO技术。 c) 掌握NIO与文件通道的技术。 d) 数据集合的使用。 e) 使用函数的参数做为返回值。 四、 类图 a) 类图说明 1. LastMain类:启动last程序。 函数原型 public static void main(String[] args) 函数说明 启动la st的主函数。 参数说明 args:用户外部参数。 返回说明 无 异常说明 无 流程原理 无 调用实例 2. LogReader类:读取并解析登录数据。 函数原型 private MappedByteBuffer mappedFile2Buffer(File f) throws Exception 函数说明 把日志文件映射成内存缓冲 参数说明 @param File f日志文件 返回说明 @return MappedByteBuffer 内存映射缓冲。 异常说明 throws 考虑异常 流程原理 调用实例 函数原型 private void readLog(MappedByteBuffer buffer, Vector logins,Vector logouts) 函数说明 读取所有登录日志,并按登入与登出分类放入数据结构 参数说明 MappedByteBuffer buffer 日志文件的内存缓冲 Vector logins 日志的登入数据 Vector logouts 日志的登出数据 返回说明 无 异常说明 @throws 考虑异常 流程原理 调用实例 函数原型 private Vector match(Vector logins,Vector logouts) 函数说明 把登录数据按一个登入一个登出匹配成一条完整的登录过程记录。 参数说明 Vector logins 日志的登入数据 * Vector logouts 日志的登出数据 返回说明 Vector 所有完整的登入/登出记录 异常说明 throws 考虑异常 流程原理 调用实例 函数原型 public void collect()throws Exception 函数说明 得到所有的登录历史数据 参数说明 无 返回说明 无 异常说明 @throws 考虑异常 流程原理 调用实例 3. LogDealer接口:处理登录数据的接口。 函数原型 void deal(Vector logs) 函数说明 登录日志数据的处理接口,目前可以有多种处理方式: 1。直接通过网络处理 2。直接通过JDBC保存到数据库 3。直接通过IO保存到文件,或送往管道。 4。直接通过IO输出到屏幕。[本last指令采用的处理方式] 参数说明 logs 日志 返回说明 无 异常说明 无 流程原理 调用实例 4. LogOutDealer类:登录数据的控制台输出,也是LogDealer的实现类。今后可以直接保存到数据库,或通过网络传递给远程服务器集中处理。 函数原型 public void deal(Vector logs) 函数说明 该类是LogDealer接口的第4种实现类: 直接通过IO输出到屏幕。[本last指令采用的处理方式] 参数说明 logs 日志 返回说明 无 异常说明 无 流程原理 调用实例 5. LogRecord类:读取出来的登录记录的数据抽象类。 成员变量 成员变量说明 username 登录名 userip 登录IP pid 登录进程ID device 登录客户设备类型 visittime 登录登出的时间 6. MatchedRecord类:匹配好的登录记录的数据抽象。 成员变量 成员变量说明 username 登录名 device 设备类型 userip 登录IP logintime 登入时间 logouttime 登出时间 duration 五、 技术技巧提问 a) 使用IO与NIO的优劣。 b) 什么时候使用NIO作为输入/输出。 c) IO,NIO与解码的关系。 d) 程序中是边匹配边显示,还是处理完成以后再一起显示。 六、 效果 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: