SSH中的java项目经验一些总结

SSH中的java项目经验一些总结

  A项目:

  某公司DMS数据采集系统:

  主要总结经验有三:

  一.数据文件解码与编码,用socket.流的传送文件到服务器(设计为单例的),并用了定时器.(Timer.schedule).后来改为:插件Quartz+Spring来实现.具体实现还可以用过虑器等

  二,由于数据不多,并且大多用于以上项目的报表与帐单输出,oracle中用pl/Sql做了相关的存储过程,用于输出显示.在此不做说明;

  三.客户端可能有多个(大并发),所以服务端在指派任务时我用延迟的线程池+双缓冲队列.(项目经理说这个队列以后都会用得很少.)


  通过读取UNIX系统日志文件,获取其中用户的登录记录加以处理统计,最终生成多干对登录登出记录上传至服务器,等待分析。

  读取的日志文件为:wtmpx

  其为一个纯2进制文件。

  通过我们的程序最终应将此文件转化为一个记录了每个用户的一组登录登出数据的文本文件

  实现过程:

  wtmpx此文件中记录了若干条用户的操作数据,登录和登出分别都记录在该文件中。此文件会根据用户的操作而不断增长的。unix会将每次用户的操作写入该日志文件。

  1:

  从日志文件中读取10条2进制数据。并存入一个临时文件中。

  临时文件名:temp.log

  那么我们就需要将当前读取10条数据后,游标的位置记录起来,以便我们下次再读取日志文件时直到从哪里开始。

  记录游标位置的文件:

  last-position.txt

  第二步:

  从临时文件temp.log中将每一条2进制的数据转换为我们可以理解的字符串信息,并存入一个解析后的日志文件中log.txt

  对于unix的日志文件中的一条数据中有若干信息,但我们不需要将所有信息全部解析出来。这里我们只采集我们需要的部分信息,其中包括:

  第三步:

  将log.txt中的数据匹配成对,将匹配上的数据保存在logrec.txt文件中,等待被发送至服务器。

  将没有被匹配成对的数据存入login.txt文件中,等待下次匹配

  B项目: NETCTOSS某公司计费支撑系统-网络版:

  --用于维护UNIX服务器账号、资费标准, 以及查询用户消费情况的在线系统。

  --系统分为如下模块:资费管理、账务账号、 业务账号、角色管理、管理员管理、账单 管理、报表等。

  --我们开发其中的资费、账务账号、业务账号、 角色、管理员(这两个数据表也用到很多的关系表中间表,自认为比较麻烦)。

  主要总结经验如下::

  一:查询.

  带条件、分页、关联:为了客户的良好体验,一般都是真分页,不做假分页,当然前期做案例演示还是用假分页好.主要是Sql(本项目用的是Spring+Hibernate,以后都写为Hql)的判断与拼写,这个在多个模块中都用到.我想这个得成一个模板才好(当然前台也是),其中对参数的分配比较麻烦,不过和后面的角色与管理员分配相比就差了些.

  二.权限与角色模块管理

  . --用途是能够满足一个软件的多元化,满足不同的人的使用需求,就是要给不同的人分不同的模块。现在让我说也很难说得清,但心里对如何操作却是明白

  为什么说不好说呢,因为BS架构考虑到下拉框的传输,struts中的不同tags不同,写完完全不同,从xml中读出权限后处理为一个list,再通过中间表来找到相关的角色

  这时就是不简单的修改,而是一个修改动作包含了:查询,删除,再增加的操作(见下面) www.yztrans.com

  --角色复选框的值,是查询出的所有的角色,不是模块。

  --新增时分3步骤(参考角色新增)

  a、新增管理员数据

  b、从新增数据中得到管理员ID

  c、根据管理员ID,以及页面传递过来的一组角色ID,

  新增管理员和角色中间表数据。

  ----权限表:用XXX.xml替代,做为一个数据源,不管是oracle,mysql等,还是一个文本,都要做到方便的读写,这个读xml文件其实不难,但是应用广,我在做的微信公众平台

  后才发现.所有传输数据都是写为xml格式,(当然一些接口还是用json来传递参数). www.qcwyo68.com  托福答案

 

你可能感兴趣的:(SSH中的java项目经验一些总结)