CN107818017A - 多线程计算系统及其数据处理方法 - Google Patents
多线程计算系统及其数据处理方法 Download PDFInfo
- Publication number
- CN107818017A CN107818017A CN201610825773.2A CN201610825773A CN107818017A CN 107818017 A CN107818017 A CN 107818017A CN 201610825773 A CN201610825773 A CN 201610825773A CN 107818017 A CN107818017 A CN 107818017A
- Authority
- CN
- China
- Prior art keywords
- processing
- lock
- thread
- election
- pond
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了多线程计算系统及其数据处理方法,该方法包括:创建自选举锁、加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;每一个线程将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及将全部线程切换到与新的处理池标识相对应的处理池里进行数据处理。
Description
技术领域
本公开涉及数据处理领域,具体地,涉及一种多线程计算系统以及多线程计算系统中的数据处理方法。
背景技术
随着信息技术的发展,需要处理的数据信息量不断增大。尤其在电子商务领域,大数据处理技术得到了广泛应用。例如,在基于电子商务的订单合单过程中,需要提取大量的订单属性,然后将具有相同属性的订单合并。由于订单量巨大,需要将订单放入不同的处理池,以便分别进行处理。为了提高效率,针对每个处理池,运用多个应用实例来同时提取订单属性。然而,多个应用实例同时作用于多个处理池导致在资源使用方面出现频繁的竞争。
为了解决资源使用方面出现的竞争,目前使用的常规方法是采用单一锁技术。也就是说,在访问竞争性资源时,一旦多个应用实例中的一个应用实例握住锁以进行处理,其他应用实例就需要等待,直到这个应用实例释放锁为止。因此,单一锁技术往往导致多个应用实例的阻塞,从而引起不必要的时间浪费且降低系统的执行效率。
因此,需要一种多线程计算系统以及多线程计算系统中的数据处理方法,使得能够在解决多应用实例间的资源竞争的同时避免不必要的时间浪费,从而能够确保在处理池切换过程中的数据的完整性和平滑性。
发明内容
本公开的方面在于解决至少上述问题和/或缺点并提供至少下述优点。
根据本公开的示例实施例,提供了一种多线程计算系统中的数据处理方法,可以包括:创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。
可选地,当一个线程将自己的线程标识符写入自选举锁时,在自选举锁的有效期内,其他线程无法重写所述线程标识符。
可选地,每个处理池可以实现为链表形式。
可选地,所述自选举锁可以具有有效期,且如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。
可选地,所述方法还可以包括:用新的处理池标识更新加工辅助锁。
可选地,所述加工锁可以具有有效期,其中在所述加工锁的有效期内,所述多个线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。
根据本公开的示例实施例,提供了一种多线程计算系统,可以包括:一个或多个处理装置,配置为执行多线程操作;以及一个或多个存储装置,配置为存储数据,并包括多个处理池,其中所述一个或多个处理装置配置为:在所述一个或多个存储装置中创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且经由多个线程在所选处理池中处理数据;当加工锁失效时,由所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池中处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。
可选地,所述自选举锁可以具有有效期,且所述一个或多个处理装置还可以配置为如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。
可选地,所述一个或多个处理装置还可以配置为用新的处理池标识更新加工辅助锁。
可选地,所述加工锁可以具有有效期,且所述一个或多个处理装置还可以配置为在所述加工锁的有效期内,所述多个线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。
附图说明
以下结合附图,将更清楚本公开的示例实施例的上述和其它方面、特征以及优点,附图中:
图1示出了根据本发明示例实施例的多线程计算系统的结构图;
图2a示出了根据本发明示例实施例的在多线程计算系统中的数据处理方法的流程图;
图2b示出了根据本发明示例实施例的在多线程计算系统中的数据处理方法的具体流程;以及
图3示出了根据本发明示例实施例的在更新加工锁的过程中自选举锁失效的情况下的数据处理方法。
具体实施方式
以下参考附图描述了本发明的示例实施。本发明提供了一种多线程计算系统以及多线程计算系统中的数据处理方法,使得能够在解决多应用实例间的资源竞争的同时避免不必要的时间浪费,从而能够确保在处理池切换过程中的数据的完整性和平滑性。
应注意,下文将以电子商务环境下进行订单处理作为示例来描述本发明的原理。本领域技术人员应清楚,尽管以处理电子商务的订单作为示例示出了本发明,然而本发明不限于此,本发明可以应用于任何需要进行数据处理的系统。
电子商务平台往往具有大量订单,在对大量订单进行属性分析时,将每个订单的信息放入链表,从而导致链表的长度过长。为了减少链表的空间占用以及提高分布式处理性能,可以将一个链表分拆成多个小链表,其中每个小链表存储一定数量的订单(例如,一万个订单)。这样的小链表可以被称作处理池。处理池可以实现为链表,此时,注入订单信息就是向此链表中不断的压入订单数据。
在选定处理池之后,多个应用实例(例如,tomcat实例)可以并行地向所选处理池添加订单信息。例如,多个应用示例可以向所选处理池添加信息,直到指定的时间期满为止(例如,每个处理池加工5分钟)或处理池内的数据达到阈值数量为止(例如,每个处理池存放了一万个订单)。随后,系统将切换到下一处理池,以便继续执行数据处理。然而,在处理池切换的过程中,存在新处理池竞争的问题,也就是说,应用实例往往都会去获取新处理池。在这种情况下,如果不加控制,则每个应用实例获取的新处理池可能会不一致,从而导致新处理池的不统一。
本发明提供了一种多线程计算系统以及多线程计算系统中的数据处理方法,能够通过创建分布式三段锁来减少资源竞争并提高数据处理效率。在多处理池多应用实例的环境下,根据本发明的数据处理方法能够解决在大数据量的订单合单时资源并发竞争的问题,增加链表的横向扩展能力,减少处理池切换时的竞争风险,并提高订单合单的执行效率。以下参考图1介绍根据本发明示例实施例的多线程计算系统。
图1示出了根据本发明示例实施例的多线程计算系统100,所述系统100可以包括:一个或多个处理装置110,配置为执行多线程操作;以及一个或多个存储装置120,配置为存储数据,并包括多个处理池。
所述一个或多个处理装置110配置为:在所述一个或多个存储装置120中创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且经由多个线程在所选处理池中处理数据;当加工锁失效时,由所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池中处理数据;由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。处理装置110可以是任意类型的处理器,包括但不限于专用或通用数字信号处理器。处理装置110可以通过收发装置与外部相连,也可以直接包括收发功能从而直接与外部交互。在阅读本描述之后,本领域技术人员应该清楚如何使用其它计算机系统和/或计算机体系结构来实现本发明。
所述存储装置130可以包括存储器和寄存器。存储装置130可以存储例如与多线程计算系统的一个或更多个其它组件相关的命令或数据。根据本公开的实施例,存储装置130可以存储例如软件和/或程序的各种类型数据,诸如,线程标识符和处理池标识等。
在一个备选方案中,所述多线程计算系统100还可以包括如图1所示的收发装置130,用于接收数据或命令并发送处理结果。具体地,所述收发装置130可以与外部设备相连,以便接收来自外部设备的数据或命令,并将经由处理装置110进行处理的数据结果发送至外部,例如,外部监控器,以便显示和输出。
以上描述提供了一种多线程计算系统,所述多线程计算系统可以由个人计算机、工作站、计算机网络、云端服务器等实现。根据本发明所述的多线程计算系统能够在解决多应用实例间的资源竞争的同时避免不必要的时间浪费,从而能够确保在处理池切换过程中的数据的完整性和平滑性。
下面参考图2a和图2b来描述根据本发明的在多线程计算系统中的数据处理方法。
如图2a所示,首先,在步骤S210,创建自选举锁、加工锁和加工辅助锁,其中所述自选举锁用于记录线程标识符,所述加工锁和加工辅助锁用于记录处理池标识。也就是说,在该方法中,可以首先在内存数据库中创建一个自选举锁、加工锁和加工辅助锁。
具体地,所述自选举锁记录线程标识符以便将与所记录的线程标识符相对应的线程选举作为逻辑处理的负责人,从而在处理池切换时更新加工锁和加工辅助锁。也就是说,自选举锁记录线程的线程标识符,如果当前线程获取的唯一识别号与自选举锁中一致,则拥有此锁。在一个实施例中,为了防止拥有自选举锁的线程崩溃,将自选举锁的有效期设置为30秒。加工锁用于记录当前处理数据(或加工数据)使用的处理池的处理池标识,也就是说,当前所有的订单记录都放入加工锁对应的处理池中。此外,加工锁也可以具备有效期,其中在所述加工锁的有效期内,线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。例如,如果对每个处理池加工5分钟便停止加工并切换到下一处理池,则该加工锁的有效期为5分钟。加工辅助锁用于记录处理池标识,以便在加工锁失效时通过采用加工辅助锁来帮助处理数据。具体地,当加工锁失效时,存储在加工锁内的处理池标识可能丢失。此时,可以通过加工辅助锁记录原先的处理池标识,以便在处理池切换时,不握有自选举锁的线程将订单信息放入加工辅助锁对应的处理池。
接着,在步骤S220,从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据。在一个实施例中,可以先查看各个处理池的状态,选择一个空闲的处理池标识放入加工锁。在加工锁有效期内,始终向这个处理池注入订单数据。
在步骤S230,当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁。加工锁失效的情况可以包括加工锁有效期期满,与加工锁记录的处理池标识相对应的处理池饱和,或由于其他原因(例如,故障)导致加工锁内记录的处理池标识丢失。在上述加工锁失效的情况下,均需要更新加工锁,即,选举新处理池。此时,每个线程提取自己的线程标识符,将此线程标识符写入至自选举锁。也就是说,每个线程试图将自己推选为更新加工锁的负责人。在一个实施例中,自选举锁可以采取首位负责制,也就是说,当一个线程将自己的线程标识符写入自选举锁时,在自选举锁的有效期内,其他线程无法重写所述线程标识符。
在执行自选举操作之后,所述方法可以进行到步骤S240,其中所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较。如果与写入自选举锁的线程标识符不同(步骤S240-否),则在步骤S245,该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据,即,对应线程是未获得自选举锁的线程。此时,对应线程会根据加工辅助锁中记录的处理池标识,继续向原有的处理池添加订单信息。具体为,步骤S245可以实现为获取加工辅助锁,得到对应的原处理池链表,并向链表中压入订单数据。
然而,如果对应线程的线程标识符与写入自选举锁的线程标识符相同(步骤S240-是),则在步骤S250,执行更新加工锁的操作,即,用新的处理池标识更新加工锁。具体地,如果对应线程的线程标识符与写入自选举锁的线程标识符相同,则将对应线程确定为握住自选举锁的线程,以执行加工锁更新。在一个具体的实现方式中,所述握住自选举锁的线程查询当前处理池状态,从处理池的集合中选择一个空处理池作为新处理池,将与所述新处理池相对应的处理池标识更新至加工锁。为了防止握有自选举锁的进程出现异常,将自选举锁设定有效期。考虑到延时,一般将自选举锁的有效期设置为30秒。此外,在另一实施例中,所述方法还包括用新的处理池标识更新加工辅助锁,其更新方式与更新加工锁的方式相似,因此将不再进行赘述。
当完成更新处理池时,在步骤S260,所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。也就是说,在本发明所公开的电子商务的订单处理的情况下,待新的加工锁更新完成后,所有的线程统一向新的处理池添加订单信息。
图2b示出了根据本发明示例实施例的在多线程计算系统中的数据处理方法的实现流程。具体地,首先在内存数据库中新建自选举锁、加工锁和加工辅助锁,加工锁设定有效期(流程10)。其次,确定加工锁的状态(流程20)。如果加工锁处于有效期内,则依据加工锁处理逻辑,即,在与加工锁记录的处理池标识相对应的处理池内处理数据(流程30)。然而,如果加工锁失效,则每个线程获取自己的线程标识符(UUID)并试图将自己的线程标识符写入自选举锁(流程40),以便推选自己作为更新加工锁的负责人。随后,当确定已在自选举锁内写入了某个线程标识符时,每个线程读取写入自选举锁中的线程标识符(流程50),并将自己的线程标识符与写入自选举锁中的线程标识符进行比较(流程60)。当自己的线程标识符与写入自选举锁中的线程标识符相同时,对应线程获得自选举锁,执行对加工锁和/或加工辅助锁的更新(流程70)。当自己的线程标识符与写入自选举锁中的线程标识符不相同时,对应线程依据加工辅助锁处理逻辑(流程80),即,在与加工辅助锁记录的处理池标识相对应的处理池内处理数据。
图3示出了根据本发明的在更新加工锁的过程中自选举锁失效的情况下的数据处理方法。在新的加工锁未生成时,若自选举锁失效,仍然存活的线程继续进行自选举,直到新的加工锁生成。具体地,图3所示方法的步骤S310-S350与图2a和图2b所示的过程相同,因此将不再进行赘述。除此之外,图3所示的方法还包括:在步骤S361,确定自选举锁是否有效,如果自选举所无效(即步骤S361-否),则在步骤S362,确定是否完成对加工锁的更新。如果没有完成加工锁更新(步骤S362-否),则返回到步骤S332,重新执行自选举操作。也就是说,如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。
以上描述了根据本发明的在多线程计算系统中的数据处理方法,所述数据方法能够在解决多应用实例间的资源竞争的同时避免不必要的时间浪费,从而能够确保在处理池切换过程中的数据的完整性和平滑性。
应注意,以上方案仅是示出本发明构思的一个具体实现方案,本发明不限于上述实现方案。可以省略或跳过上述实现方案中的一部分处理,而不脱离本发明的精神和范围。
前面的方法可以通过多种计算机装置以可执的程序命令形式实现并记录在计算机可读记录介质中。在这种情况下,计算机可读记录介质可以包括单独的程序命令、数据文件、数据结构或其组合。同时,记录在记录介质中的程序命令可以专门设计或配置用于本发明,或是计算机软件领域的技术人员已知应用的。计算机可读记录介质包括例如硬盘、软盘或磁带等磁性介质、例如压缩盘只读存储器(CD-ROM)或数字通用盘(DVD)等光学介质、例如光磁软盘的磁光介质以及例如存储和执行程序命令的ROM、RAM、闪存等硬件装置。此外,程序命令包括编译器形成的机器语言代码和计算机通过使用解释程序可执行的高级语言。前面的硬件装置可以配置成作为至少一个软件模块操作以执行本发明的操作,并且逆向操作也是一样的。
尽管以特定顺序示出并描述了本文方法的操作,然而可以改变每个方法的操作的顺序,使得可以以相反顺序执行特定操作或使得可以至少部分地与其它操作同时来执行特定操作。此外,本发明不限于上述示例实施例,它可以在不脱离本公开的精神和范围的前提下,包括一个或多个其他部件或操作,或省略一个或多个其他部件或操作。
以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (10)
1.一种多线程计算系统中的数据处理方法,包括:
创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;
从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且多个线程在所选处理池中处理数据;
当加工锁失效时,所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;
所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池里处理数据;
由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及
所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。
2.根据权利要求1的数据处理方法,其中当一个线程将自己的线程标识符写入自选举锁时,在自选举锁的有效期内,其他线程无法重写所述线程标识符。
3.根据权利要求1所述的数据处理方法,其中每个处理池实现为链表形式。
4.根据权利要求1所述的数据处理方法,其中,所述自选举锁具有有效期,
如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。
5.根据权利要求1所述的数据处理方法,还包括:用新的处理池标识更新加工辅助锁。
6.根据权利要求1所述的数据处理方法,其中所述加工锁具有有效期,其中在所述加工锁的有效期内,所述多个线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。
7.一种多线程计算系统,包括:
一个或多个处理装置,配置为执行多线程操作;以及
一个或多个存储装置,配置为存储数据,并包括多个处理池,
其中所述一个或多个处理装置配置为:
在所述一个或多个存储装置中创建用于记录线程标识符的自选举锁以及用于记录处理池标识的加工锁和加工辅助锁;
从多个处理池中选择一个处理池,将所选处理池的标识写入加工锁,并且经由多个线程在所选处理池中处理数据;
当加工锁失效时,由所述多个线程执行自选举操作,其中所述多个线程之一将自己的线程标识符写入自选举锁;
所述多个线程中的每一个将自己的线程标识符与写入自选举锁的线程标识符进行比较,如果与写入自选举锁的线程标识符不同,则该线程在与加工辅助锁中记录的处理池标识相对应的处理池中处理数据;
由线程标识符与写入自选举锁的线程标识符相同的线程用新的处理池标识更新加工锁;以及
所述多个线程全部切换到与新的处理池标识相对应的处理池里进行数据处理。
8.根据权利要求7所述的多线程计算系统,其中所述自选举锁具有有效期,且所述一个或多个处理装置还配置为如果在没有完成更新加工锁的情况下自选举锁失效,则重新执行自选举操作,直到更新加工锁完成为止。
9.根据权利要求7所述的多线程计算系统,其中所述一个或多个处理装置还配置为用新的处理池标识更新加工辅助锁。
10.根据权利要求7所述的多线程计算系统,其中所述加工锁具有有效期,且所述一个或多个处理装置还配置为在所述加工锁的有效期内,所述多个线程在与所述加工锁中记录的处理池标识相对应的处理池里进行数据处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825773.2A CN107818017B (zh) | 2016-09-14 | 2016-09-14 | 多线程计算系统及其数据处理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610825773.2A CN107818017B (zh) | 2016-09-14 | 2016-09-14 | 多线程计算系统及其数据处理方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107818017A true CN107818017A (zh) | 2018-03-20 |
CN107818017B CN107818017B (zh) | 2021-09-03 |
Family
ID=61600353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610825773.2A Active CN107818017B (zh) | 2016-09-14 | 2016-09-14 | 多线程计算系统及其数据处理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107818017B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166146B2 (en) * | 2008-09-29 | 2012-04-24 | International Business Machines Corporation | Providing improved message handling performance in computer systems utilizing shared network devices |
CN102566979A (zh) * | 2011-12-02 | 2012-07-11 | 华为技术有限公司 | 实现自适应锁的方法和装置以及多核处理器系统 |
CN104881324A (zh) * | 2014-09-28 | 2015-09-02 | 北京匡恩网络科技有限责任公司 | 一种多线程下的内存管理方法 |
CN105094992A (zh) * | 2015-09-25 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种处理文件请求的方法与系统 |
CN105700937A (zh) * | 2016-01-04 | 2016-06-22 | 北京百度网讯科技有限公司 | 多线程任务处理方法和装置 |
CN105700939A (zh) * | 2016-04-21 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种分布式系统中多线程同步的方法和系统 |
-
2016
- 2016-09-14 CN CN201610825773.2A patent/CN107818017B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166146B2 (en) * | 2008-09-29 | 2012-04-24 | International Business Machines Corporation | Providing improved message handling performance in computer systems utilizing shared network devices |
CN102566979A (zh) * | 2011-12-02 | 2012-07-11 | 华为技术有限公司 | 实现自适应锁的方法和装置以及多核处理器系统 |
CN104881324A (zh) * | 2014-09-28 | 2015-09-02 | 北京匡恩网络科技有限责任公司 | 一种多线程下的内存管理方法 |
CN105094992A (zh) * | 2015-09-25 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种处理文件请求的方法与系统 |
CN105700937A (zh) * | 2016-01-04 | 2016-06-22 | 北京百度网讯科技有限公司 | 多线程任务处理方法和装置 |
CN105700939A (zh) * | 2016-04-21 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种分布式系统中多线程同步的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107818017B (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101772764B (zh) | 多线程业务编程库 | |
CN105955804B (zh) | 一种处理分布式事务的方法与设备 | |
CN105511969B (zh) | 一种跨进程的线程间进行互斥的方法 | |
US7792916B2 (en) | Management of cluster-wide resources with shared variables | |
US7861093B2 (en) | Managing data access via a loop only if changed locking facility | |
RU2730440C1 (ru) | Средство для расширения возможностей исключительного удержания кеш-строки в фоновом процессе приватного кеша | |
CN110706101B (zh) | 在区块链中并发执行交易的方法和装置 | |
CN102521007B (zh) | 一种基于事务调度的网管系统对象并发编辑的方法 | |
RU2746155C2 (ru) | Уничтожение объекта на основе последовательности выполняемых действий | |
CN104462127A (zh) | 一种记录数据更新方法及装置 | |
US20220261489A1 (en) | Capability management method and computer device | |
WO2016119597A1 (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
CN109800062B (zh) | 一种分布式数据库事务处理系统 | |
CN112559496B (zh) | 一种分布式数据库事务原子性实现方法及装置 | |
CN107391539B (zh) | 事务处理方法、服务器和存储介质 | |
CN101727318A (zh) | 用于促进持久化应用编程接口的方法和装置 | |
CN109710629B (zh) | 数据访问方法、装置、服务器和存储介质 | |
CN107818017A (zh) | 多线程计算系统及其数据处理方法 | |
US10579441B2 (en) | Detecting deadlocks involving inter-processor interrupts | |
US20080082533A1 (en) | Persistent locks/resources for concurrency control | |
CN114328018A (zh) | 快照的创建方法、计算设备及存储介质 | |
CN113254506A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN109791541B (zh) | 日志序列号生成方法、装置及可读存储介质 | |
CN105426261B (zh) | 一种跨平台的实时内存通信系统方法 | |
CN108255848B (zh) | 实现条件更新的方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |