六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 24|回复: 0

异步任务调度服务和进度管理服务

[复制链接]

升级  0.67%

13

主题

13

主题

13

主题

秀才

Rank: 2

积分
51
 楼主| 发表于 2013-1-29 10:36:14 | 显示全部楼层 |阅读模式
虽然被调到LTE业务组,但是做的工作还是偏向平台性质的工作,或者说是为支持具体业务的基础服务更为妥当,为了支持大量的业务请求,和本身与设备IO交互存在大量CPU空闲等原因,把原有的同步架构重构成异步架构,并提供进度服务功能,这就是我最近三周来做的事情。
   
      异步架构,参考了Ajax的模式,InternalJob用来执行异步任务,执行结束后回调CallBack,成功,失败,超时等。内部有一个固定线程数的线程池用来调度这些任务,所有的操作都放在线程池里面做,这样可以很好控制并发数。任务在生命周期中可以发送jms消息给前台,让前台处理任务的进度信息,进度服务也可以脱离异步调度服务单独使用。

      任务支持子任务,后台可以把任务分成几个任务,前台可以分为服务器端任务和客户端任务。

      任务结束后采用类似GC的标记清除算法,单独的线程检测已死任务和超时任务。

      工作快一年半了,通过这个Task才对事务和并发控制等有了一点点感悟,惭愧啊。。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表