The invention provides a multi thread computing system and data processing method, the method includes: creating the election lock, lock and lock the auxiliary processing processing; choose a treatment tank from multiple treatment tank, the selected processing pool identification processing write lock, and a plurality of thread processing data in the selected processing pool when processing; lock failure, the multiple threads of execution since the election operation, wherein the plurality of thread thread identifier own election write lock; each thread thread identifier is compared with their written election thread identifier of the lock, if different from the written election thread identifier lock the processing of the thread pool is recorded in the auxiliary lock in processing and processing in the corresponding pool identity data processing by the thread identifier; and write the election thread lock the same thread identifier The new processing pool identifies the update process lock; and switches all threads to the processing pool that corresponds to the new processing pool identity.
【技术实现步骤摘要】
多线程计算系统及其数据处理方法
本公开涉及数据处理领域,具体地,涉及一种多线程计算系统以及多线程计算系统中的数据处理方法。
技术介绍
随着信息技术的发展,需要处理的数据信息量不断增大。尤其在电子商务领域,大数据处理技术得到了广泛应用。例如,在基于电子商务的订单合单过程中,需要提取大量的订单属性,然后将具有相同属性的订单合并。由于订单量巨大,需要将订单放入不同的处理池,以便分别进行处理。为了提高效率,针对每个处理池,运用多个应用实例来同时提取订单属性。然而,多个应用实例同时作用于多个处理池导致在资源使用方面出现频繁的竞争。为了解决资源使用方面出现的竞争,目前使用的常规方法是采用单一锁技术。也就是说,在访问竞争性资源时,一旦多个应用实例中的一个应用实例握住锁以进行处理,其他应用实例就需要等待,直到这个应用实例释放锁为止。因此,单一锁技术往往导致多个应用实例的阻塞,从而引起不必要的时间浪费且降低系统的执行效率。因此,需要一种多线程计算系统以及多线程计算系统中的数据处理方法,使得能够在解决多应用实例间的资源竞争的同时避免不必要的时间浪费,从而能够确保在处理池切换过程中的数据的完整性和平滑性。
技术实现思路
本公开的方面在于解决至少上述问题和/或缺点并提供至少下述优点。根据本公开的示例实施例,提供了一种多线程计算系统中的数据处理方法,可以包括:创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线 ...
【技术保护点】
一种多线程计算系统中的数据处理方法,包括:创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。
【技术特征摘要】
1.一种多线程计算系统中的数据处理方法,包括:创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。2.根据权利要求1的数据处理方法,其中当一个线程将自己的线程标识符写入自选举锁时,在自选举锁的有效期内,其他线程无法重写所述线程标识符。3.根据权利要求1所述的数据处理方法,其中每个处理池实现为链表形式。4.根据权利要求1所述的数据处理方法,其中,所述自选举锁具有有效期,如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。5.根据权利要求1所述的数据处理方法,还包括:用新的处理池标识更新加工辅助锁。6.根据权利要求1所述的数据处理方法,其中所述加工锁具有有效期,其中在所述加工锁的有效期内,所述多个线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。7.一种多线程计算...
【专利技术属性】
技术研发人员:赵光伟,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。