多线程批处理工具
许多企业每天晚上要处理一大批作业,而且这些作业运行的时候系统是不能开放给用户使用的。
那些作业运行的时间越长,用户就越不满意。这些作业的运行有一定的次序要求。譬如。要运行程序 A B C D E F G H I J K.
其中
A B C, D E, F G H I, 允许并行执行,J 和 K 必须单独执行。
以前为了方便,就按照 A B C D .... J K 的次序执行,运行时间很长。
后来我替客户开发了一个系统,可以让用户把可以并行执行的程序组合在一起,成为多线程运行。这样用户晚上不能用机器的时间就缩短到原来的1/3。
而且完全不需要重写程序。只要维护关系就可以了。
有兴趣的朋友可以和我联系取得免费试用版。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
这个工具可以把每一批作业定义为一个主线程。可以并发处理的作业作为子线程。这样作业就是一批接着一批地被处理。
这样可以提高cpu利用率,业务处理吞吐量,又可以保证某些作业需要的运行次序。
并行job实现的原理不麻烦
说白了,就是搞一个拆分条件,
http://bbs.chinaunix.net/viewthr ... p;page=1#pid3026935
这个贴子写的很清楚了
楼主在并发job里是如何解决锁记录的问题?
楼主搞的是job并发处理
而非多线程吧!
在业务处理上面有一种东西称为月终结算,说穿了就是用户由于思维定势,希望看到:
YEAR-TO-DATE FIGURES 从本年初到今天的业务量。
MONTH-TO-DATE FIGURES 从本月初到今天的业务量。
这些东西都是从业务历史数据中统计出来的。这些统计工作通常要在业务停顿的情况下运行。
那些主管们成天就是靠分析比较这些东西写大报告骗吃饭。
其他还有仓库库存的大盘点等。
这些月终结算,其实可以并行处理以缩短系统不可用时间:
应收账
应付账
库存
销售额
等等
[ 本帖最后由 franliu 于 2009-12-22 09:36 编辑 ]
这个要具体根据业务来优化,并没有很固定的规律。
夜间处理作业有些可以同时submit并发运行;有些是交互运行;还有些可以在线运行,并不需要停顿业务。
一般而言,影响效率的是单个程序处理大批量数据,这种情况下需要改程序的。
学习
可以将j和k作成两个组,abc,de,fghi作成这两个组中可以并发执行的子步骤....
这里jk是串行的,abc,de,fghi是并行的..