【技术实现步骤摘要】
一种数据处理方法及装置
本专利技术涉及数据处理领域,尤其涉及一种数据处理方法及装置。
技术介绍
目前,对于上报的数据的处理方式,主要是先将上报的数据缓存到redis数据库(RemoteDictionaryServer,即远程字典服务)中,然后由多线程去处理缓存的数据。然而,上述的数据处理方式,往往会发生下面的问题:1、在不使用加锁机制的情况下,由于是通过多线程对待处理的数据进行处理的方式,则对于redis中的待处理的数据,比较容易发生重复读取待处理的数据的现象,从而有可能造成数据处理的错误;2、在使用加锁机制的情况下,则需要等待多线程对redis中待处理的数据实现完全处理后,redis方可用于缓存新的上报的数据,这样的话,极容易导致上报的数据发生堆积的现象,从而会影响数据上报。对于以上问题,现有技术目前还无法提供一种在不发生数据堆积的前提下,仍能够准确地处理缓存中待处理的数据的方法。
技术实现思路
本专利技术实施例提供一种数据处理方法及装置,用以解决现有技术无法在不发生数据 ...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n将redis缓存中key值相同的各待处理数据构成消费数据集;每个所述消费数据集中的所述待处理数据的数量不超过N条,其中N为正整数;/n分别对各个未加锁的所述消费数据集进行加锁;获取到所述消费数据集锁的线程对所述消费数据集中的所述待处理数据进行处理,并针对所述消费数据集中的所有所述待处理数据的处理结果进行一次性入库操作。/n
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
将redis缓存中key值相同的各待处理数据构成消费数据集;每个所述消费数据集中的所述待处理数据的数量不超过N条,其中N为正整数;
分别对各个未加锁的所述消费数据集进行加锁;获取到所述消费数据集锁的线程对所述消费数据集中的所述待处理数据进行处理,并针对所述消费数据集中的所有所述待处理数据的处理结果进行一次性入库操作。
2.如权利要求1所述的方法,其特征在于,
所述加锁步骤之前,还包括:
为不同的所述消费数据集设置不同的key值。
3.如权利要求1所述的方法,其特征在于,
所述将redis缓存中的key值相同的各待处理数据构成消费数据集,包括步骤:
创建消费数据集,记录创建时间;
依次将接收到的待处理数据存入所述消费数据集,所述待处理数据指向目标key值;
若所述消费数据集中的所述待处理数据的数量等于N,或系统当前时间与所述创建时间的差值大于第一时间阈值,则停止存入,并返回至所述创建步骤,直至所述待处理数据均存入对应的所述消费数据集中。
4.如权利要求3所述的方法,其特征在于,
在所述创建消费数据集之后,还包括:
设置所述消费数据集的key值,其中所述消费数据集的key值中记录所述目标key值与所述创建时间。
5.如权利要求1-4任一项所述的方法,其特征在于,还包括:
若所述线程被认定为...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。