免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2877 | 回复: 7

多进程的主进程任务分配怎么做到合理 [复制链接]

论坛徽章:
0
发表于 2010-06-02 11:57 |显示全部楼层
一张数据库表,不停的进来数据,一个多进程对此表进行业务操作
要求主进程来分配任务,就是将表中的字段A置为子进程id(未分配时字段A为空),子进程取自己的任务,处理完成后移走表中对应数据。
要求分配要比较均匀合理。怎么实现这个分配?

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
发表于 2010-06-02 12:48 |显示全部楼层
以数据库为连接点,比较累

论坛徽章:
0
发表于 2010-06-02 13:07 |显示全部楼层
我这的情况暂时可以忽略这个,性能问题不很明显
分配通过数据库来体现,逻辑简单。
以数据库为连接点,比较累
mirnshi 发表于 2010-06-02 12:48

论坛徽章:
0
发表于 2010-06-02 16:05 |显示全部楼层
最简单的就是轮转分配,开一个空闲子进程队列,一个工作子进程队列
任务来了,分配给第一个空闲子进程出空闲队,开始任务,入工作队列

再高级一点的你可以评估任务复杂度,这个要看具体业务。如果是电信系统啊金融系统啊,SQL的执行计划是很好的参考,这种系统主要耗时在库里。

PS:BS一下用数据库实现进程通讯,BS一切完全依赖数据库的程序行为

论坛徽章:
0
发表于 2010-06-02 16:06 |显示全部楼层
设计不合理,推荐用共享内存区实现。

论坛徽章:
0
发表于 2010-06-02 17:24 |显示全部楼层
是的,用数据库来实现,总是感觉很难控制得到位
但是目前暂时只能用数据库来实现
设计不合理,推荐用共享内存区实现。
没本 发表于 2010-06-02 16:06
最简单的就是轮转分配,开一个空闲子进程队列,一个工作子进程队列
任务来了,分配给第一个空闲子进程出空 ...
shmild 发表于 2010-06-02 16:05

论坛徽章:
0
发表于 2010-06-02 18:12 |显示全部楼层
那么要用数据库就用彻底点,用触发器和存储过程来实现进程池的调度吧。

论坛徽章:
0
发表于 2010-06-03 10:09 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP