各位大哥,小弟是个菜鸟,刚参加工作,现在遇到和问题,希望各位高手能帮忙,感谢了。 先说一下小弟目前的系统: 开发环境: JAVA,WebLogic ,DB2.      该系统是一个金融行业的风险检测系统,系统数据是从交易系统中实时的发送过来的,数据发送过 来后我们开始将数据保存到内存数据库中,然后对交易数据做分析,分析完之后就要对其中的部分数据存库. 存库要求: 当交易数据满100条存一次(假定100条),或者5分钟存一次库。 问题: 当数据到100条的时候存库,但是当遇到特殊情况的时候,为了保证不丢失交易数据,数据不满足100条也需要将数据存库。小弟觉得很困惑,不知道该怎么控制这个 存库的操作,要是来一笔数据存一次这样太不现实了,数据量大了这样频繁的访问数据库肯定是行不通的,所以 拜托各位大哥能不能帮小弟出个注意,要是有好的方案让小 弟看下更好。  感谢了。

解决方案 »

  1.   

    针对100条数据情况:
    1.判断内存数据库中处理好的数据数量是不是到了100条记录。如果到了,就发出一个事件。
    2.事件的侦听者负责处理这100条内存记录。把他们存到数据库中。针对5分钟一次的情况:
    1.用Quarz或者jdk本身的TimeerTask,定5分钟执行一个JOB
    2.这个JOB就是把新加100条内存记录存到数据库中