发明名称 |
一种基于redis实现多worker协同的系统 |
摘要 |
一种基于redis实现多worker协同的系统,开始重新获取一批待处理的任务,以任务类名称为key进行汇总数量,其中redis计数器根据以task的任务名为key建立生存周期为1分钟的key‑value值,其中key值是任务名称,value值为累加数值,发送key的任务汇总数量到redis请求对key的value进行累加,其中由于集群中的worker并行请求,所以汇总到redis里面后会进行排队,然后串行处理worker的key的累加请求,对请求的数量进行value累加,返给worker累加后的数值,累加后value值和系统中的每分钟的限量值进行比较,如果没有超过限额,则执行这批任务,如果部分超额则拒绝超额部分并且执行未超额部分,如果全部超额,则全部拒绝执行任务task。本系统为分布式计算的集群中对计算任务task协同控制速度的通用解决技术方案。 |
申请公布号 |
CN106445648A |
申请公布日期 |
2017.02.22 |
申请号 |
CN201610920068.0 |
申请日期 |
2016.10.21 |
申请人 |
天津海量信息技术股份有限公司 |
发明人 |
崔运海 |
分类号 |
G06F9/46(2006.01)I;G06F9/48(2006.01)I |
主分类号 |
G06F9/46(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种基于redis实现多worker协同的系统,其特征在于:开始重新获取一批待处理的任务,以任务类名称为key进行汇总数量,其中redis计数器根据以task的任务名为key建立生存周期为1分钟的key‑value值,其中key值是任务名称,value值为累加数值,发送key的任务汇总数量到redis请求对key的value进行累加,其中由于集群中的worker并行请求,所以汇总到redis里面后会进行排队,然后串行处理worker的key的累加请求,对请求的数量进行value累加,返给worker累加后的数值,累加后value值和系统中的每分钟的限量值进行比较,如果没有超过限额,则执行这批key名称任务的task,如果部分超额则拒绝超额部分并且执行未超额部分,如果全部超额,则全部拒绝执行任务task。 |
地址 |
300000 天津市滨海新区华苑产业区榕苑路1号B北322-323室 |