/BatDealData

进行批量数据处理时,当数量达到一定量,或者在一个指定的时间段内,处理一批数据。采用了Mutex和channel方式

Primary LanguageGo

BatDealData

##功能:

批量处理数据,数据可以按照一定数量,或者到一定时间后批量发送,数据处理完毕后,会根据chan返回各自对应的线程

##实现原理:

1. 服务开启式,启动批量发送定时器,启动删除定时器。

2. 多线程业务时,业务进入到队列中,保存在 map->list 中,当发送一批数据后 map中这一批次数据的批量号,放到删除队列中(延迟1秒放入)。

3. 删除定时器会定时1秒循环,当发现删除队列中有数据,则删除map中的这一项,循环结束后,清空删除队列。

##备注:

业务处理后续可以根据自己的需要自己调整。