今天经理交给了一个任务。用户上网,然后用java抓取用户的网络包,进行一些相应的业务逻辑,然后存入本地数据库中。功能已经实现了,但是由于网路的容量太大,实时性太强,所以经常丢掉一些包。
我的解决方案是:
启用三个线程,1个线程抓包保存到Queue中,
1个线程取出queue中 进行相应的业务逻辑存入另一个queue中,
1个线程写数据库。
我的另一个方法是:一个进程抓取网络包,另一个进程接受网络包,存到queue中 进行相应的处理。
请问这两种解决方案可以吗?有没有更好的方法呢?
谢谢各位大侠了。
我的解决方案是:
启用三个线程,1个线程抓包保存到Queue中,
1个线程取出queue中 进行相应的业务逻辑存入另一个queue中,
1个线程写数据库。
我的另一个方法是:一个进程抓取网络包,另一个进程接受网络包,存到queue中 进行相应的处理。
请问这两种解决方案可以吗?有没有更好的方法呢?
谢谢各位大侠了。