实时遍历400万数据的解决办法
---------------------------------------
用Vb做一个TCP数据接收程序,24小时运行在服务器,不间断的接收数据,数据流量100字节/秒。同时程序还集成了4个定时业务逻辑函数进行遍历数据库处理,每隔20秒处理一次,都是遍历数据库,数据库为Mssql,数据量400万条。每当程序执行到业务逻辑处时界面就出现停顿现象,占用率达到80%。请问:如何处理这4个业务逻辑?我想这样处理:主程序还用VB实现,单独把业务逻辑拿出来做成独立程序,用VC做成后台运行的服务器进程,每个独立处理为线程。请各位老师指导一下这样做可否,需要注意什么问题。
---------------------------------------
用Vb做一个TCP数据接收程序,24小时运行在服务器,不间断的接收数据,数据流量100字节/秒。同时程序还集成了4个定时业务逻辑函数进行遍历数据库处理,每隔20秒处理一次,都是遍历数据库,数据库为Mssql,数据量400万条。每当程序执行到业务逻辑处时界面就出现停顿现象,占用率达到80%。请问:如何处理这4个业务逻辑?我想这样处理:主程序还用VB实现,单独把业务逻辑拿出来做成独立程序,用VC做成后台运行的服务器进程,每个独立处理为线程。请各位老师指导一下这样做可否,需要注意什么问题。
或者将TCP通讯部分用ActiveX改写,换作异步模式。
估计只有优化处理的逻辑了,而不在于用VB VC上。
这个用了,中心程序过于复杂,产生莫名的错误,不能采用。
想一次性解决问题。
接收程序将接收到的数据每20秒保存一个文件,然后将该文件移动到约定的文件夹中。
处理程序定时扫描目录,将文件中的数据导入数据库,然后执行业务逻辑函数。既然最高CPU占用只到80%,说明处理速度足够。
通过数据文件的方式降低了两部分的耦合度。