批量处理服务

来源:互联网 发布:c语言中函数和 编辑:程序博客网 时间:2024/06/05 19:16
批量处理服务,区别于单条数据处理。按照事先设定好的规则,将数据从状态A转换为状态B或者生成状态B。
相对论的角度来说。批量处理服务原理上等价于一次次服务组成的序列。应用相同的逻辑规则来处理数据。
但是从效率的角度却不希望处理时间是:
N = n * f(1);
应该是:
f(1)<= N < n*f(1)
即,无限的接近于条数据处理的时间。
比如:
电信的批量缴费。要求给A文件中包含的1000电话重置100元。通常情况下10个以下的电话充值,人工操作一会儿就完成了。其中包含电话号码查询;欠费查询,充值缴费,更新账单,账本等动作。而1000个电话,人工操作时间长,易出错的问题就显现了。
在不使用多线程多进程的形式下。正常的批量缴费功能实现,是for循环一个个的去执行上面的动作。毫无疑问耗费的效率时间是N=n*f(1)。
那么请问方案该如何设计呢?
1、使用中间表的方式。插入中间表之前,必要的数据格式校验是必要的;
数据校验在数据库层面完成,给1000个电话中有效的电话号码充值100,通过sql完成【直接更新,或者取出所有数据后,再重新插入】。当然这回给数据库带来压力。所以这类方法可以加上定时器的方式处理。
2、而对于数据扎堆到某几天的批量处理,还是建议采用多进程多线程的形式
原创粉丝点击