依照惯例,描述一下应用场景。
有个系统,分为主站和一个网关程序。有一个应用,整体流程如下:
1 用户点击JSP上的按钮,主站根据所选信息通过socket组织命令下发给网关。
2 网关经过处理,得到数据,并进行合法性判断。
3 网关将经过处理的数据存入数据库,并通过之前的socket回复主站成功。
4 主站接到成功报文后,关闭socket连接。
5 主站根据所选条件,去数据库查询相关信息,这些信息就是刚才网关程序存入数据库的,也就是网关程序解析出来的数据。
6 主站将经过处理的信息展示在JSP上,通过Ajax刷新页面。
现在的问题是,由于数据量巨大,每天新增的数据约有4KW条记录,导致数据库无限膨胀。目前已经进行过分表处理。但是每天的记录还是很多。基本上是在4KW条记录里捞出几百条来,速度非常慢。现在的速度瓶颈卡在3-6之间,非常慢,主要是数据库操作慢。
我来归纳一下。1-4是一个流程,不可打破。5-6是一个流程,不可打破。也就是说,1-4之间的步骤基本不可改,5-6也一样。
主要的目的是,通过这一整套流程刷新JSP页面上的数据。数据必须存入数据库,但是呢,主站取的数据不一定要来自于数据库,可以有其他方式返回。只要能拿到就可以。换言之,5 6两步的操作方式是可以修改的。现在两套软件都是我们自主开发。
问题来了。
怎么改比较合适呢?