CN107368362A - 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 - Google Patents
一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 Download PDFInfo
- Publication number
- CN107368362A CN107368362A CN201710512828.9A CN201710512828A CN107368362A CN 107368362 A CN107368362 A CN 107368362A CN 201710512828 A CN201710512828 A CN 201710512828A CN 107368362 A CN107368362 A CN 107368362A
- Authority
- CN
- China
- Prior art keywords
- thread
- processing
- treatment progress
- file
- assigned
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本发明公开了一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统。该方法包括:步骤1:创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识;步骤2:为每个处理线程/处理进程分配一个单独的文件或者是同一个文件中的某一段文件块,保证处理线程/处理进程单一地处理被分配到文件或文件块;步骤3:主socket接收磁盘操作请求,根据接收到请求具有的线程标识/进程标识,将操作分配到其相关的处理线程/进程,然后由相关的线程/进程进行处理。本发明提供的磁盘写入方案全程无锁,无需采用CAS增加CPU的能耗,提高了磁盘写入的效率。
Description
技术领域
本发明公开了一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统,主要涉及磁盘读写领域。该方法创建多个处理线程/处理进程,并为每个处理线程/处理进程设置相应的标识,保证处理线程/处理进程单一地处理对应于各自文件或文件块的操作请求,来提高磁盘读写的效率。本发明提供的磁盘写入方案全程无锁,无需采用CAS增加CPU的能耗,提高了磁盘写入的效率。
背景技术
在磁盘读写这一方面,为了提高读写的速度/效率,通常采用多线程/多进程处理对磁盘的操作。而采用多线程/多进程处理针对磁盘操作带来的一个问题是需要解决并发导致的数据版本错乱问题。通常的做法都是在各个线程/进程中,对于同一块数据进行加入互斥锁的方式来解决。后来随着计算机的发展,CPU的技术也一直在进步,CPU的制造商又加入了CAS的方式来解决因为加互斥锁带来的排队性能损耗。但是CAS本质上其实是使用CPU的空转或者说自旋来不断的尝试处理数据,以此来用CPU的能耗换取更快的处理。这些技术的背后或多或少的都带有一些问题,不是性能不足就是对硬件的CPU要求更高。为此,进一步提高多线程/多进程读写数据的效率成为业界内一个热门并且难以解决的问题。归根结底的问题在于因为多线程/多进程读写需要额外采取措施解决并发导致的数据版本错乱问题,为此带来附加的性能损耗/能耗。
图1显示传统的采用互斥锁来解决多线程/多进程磁盘读写导致的版本错乱的技术方案。该方案中主socket请求接收到请求后,会将请求交给后续的线程/进程进行处理,然后请求会一直被传递下去,直到到达写入或者读取阶段,因为文件块就一个,而又有多个线程/多个进程同时进行操作,所以在操作的时候,必须在每个线程/进程中都加一个互斥锁来保证读取数据的唯一性和准确性,而没有抢到锁的线程/进程将会被强行休眠/置于等待互斥锁的状态。即保证任何时刻只有一个线程/进程在进行读写,其他线程/进程处于休眠或者等待的状态。
图2显示另一种传统的多线程/多进程磁盘读方案。该方案是将处理IO的线程/IO进程(真正用于实现磁盘操作的线程)合并为一个,这里加锁的点不在于处理IO线程/进程上,而是从网络处理线程/进程到IO线程/IO进程的步骤中,对比于图1所述的方案,仅仅是把加锁的提前了、依然需要加锁处理。原理还是因为多线程对应单线程/多进程对单进程,如果不采用加锁处理,不管IO线程/IO进程是使用排队还是使用队列,还是无法解决同时并发导致版本错乱的问题。
上面提到的现有技术方案,最基本的技术缺点是不管怎么变化,都使用到了互斥锁。它的症结其实都是在于多线程/多进程对于单一资源同时处理的时候,如果不加锁则无法保证多线程/多进程的顺序性。系统只允许拿到钥匙的线程/进程进行处理,但是互斥锁的加入会将没有拿到锁的线程/进程强制休眠/处于等待状态,当线程/进程从休眠到被唤醒又需要系统额外的做2次内核和用户态的上下文交换,所以系统整体的性能将会被整个的拖慢。对于以上传统的技术方案,也有可能会在写入IO或者发送信息到处理IO线程/IO进程的时候使用无锁算法,比如CAS算法,但是这种算法是通过不断的尝试获取资源,空转CPU来实现的,虽然也是无锁算法,但是CPU资源消耗严重,在系统繁忙的时候会让CPU持续的飙高。
发明内容
为了解决现有技术中多线程写读需要额外采取措施解决并发导致的数据版本错乱问题,带来附加的性能损耗/能耗技术问题。本发明提供一种磁盘读写数据的多线程/多进程无锁处理方法。该方法包括:
步骤1:创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识;
步骤2:为每个处理线程/处理进程不同地分配一个单独的文件或者是同一个文件中的某一段文件块,保证处理线程/处理进程单一地处理被分配到的文件或文件块;
步骤3:主socket接收磁盘操作请求,根据接收到的请求具有的线程标识/进程标识,将操作分配到对应的处理线程/处理进程,然后由对应的线程/进程进行处理。
本技术方案需要对处理线程进行标识,标识的办法不仅限于用数字、文字描述等等,标识要保证可以被通过一定的函数来进行数学的计算和定位。步骤3中主socket可以采用负载均衡算法将操作分配到相关的处理线程/处理进程。
对于本技术方案的技术处理边界,不只是限定与统一进程内的线程之间,还可以是通过RPC的方式进行扩展到进程之间。本方案的处理请求模型不仅仅体现在线程或者是进程上,如果是大规模的数据存储和运算,本方案的处理方式一样可以将处理单位扩展到机器甚至是集群,对于同样的操作,将机器或者集群在逻辑上看成是一个本方案中的线程/进程;对于写入对象,本方案不仅仅是文件/文件块,还可以将方案中的文件/文件块替换成专业的存储器,磁盘san等本质上是一样的。
附图说明
图1为一种传统的多线程磁盘读写的技术方案框架图;
图2为另一种传统的多线程磁盘读写的技术方案框架图;
图3为本发明技术方案对应的方法流程图;
图4为本发明技术方案对应的框架图;
图5为本发明技术方案对应的一种变形的框架图。
具体实施方式
为了使本发明所解决的技术问题、技术方案以及有益效果更加清楚明白,以下结合附图对本发明进行进一步详细说明。应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本技术方案的技术处理边界,不只是限定与统一进程内的线程之间,还可以是通过RPC的方式进行扩展到进程之间。
参照附图3,本发明提供一种磁盘读写数据的多线程/多进程无锁处理方法。图4为该方法对应的框架图。该方法包括:
步骤1:创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识;
步骤2:为每个处理线程/处理进程不同地分配一个单独的文件或者是同一个文件中的某一段文件块,保证处理线程/处理进程单一地处理被分配到的文件或文件块;
步骤3:主socket接收磁盘操作请求,根据接收到的请求具有的线程标识/进程标识,将操作分配到对应的处理线程/处理进程,然后由对应的线程/进程进行处理。
其中,步骤1中对处理线程/处理进程的标识的方式包括但不仅限于用数字、文字描述等等,标识要保证可以被通过一定的函数来进行数学的计算和定位。步骤2中给每个处理的线程分配一个单独的文件或者是同一个文件中的某一段文件块,这些文件块即可以是连续的,也可以是不连续的,但是唯一的要求是保证处理线程/处理进程只可能单一的处理被分配到文件或文件块。步骤3中将操作分配到其相关的处理线程/处理线程具体为根据操作请求具有的线程标识/进程标识采用负载均衡算法将操作分配到其对应的处理线程/处理进程。
本方案对于磁盘读写操作的请求处理层面划分为的两类:一种是无标识的系统请求,比如新增;另一种是有标识的系统请求,比如读取、修改和删除。对于这两种请求,分别采取不同的方案来应对。
无标识的请求:主socket接收到新增的操作请求后会根据负载均衡算法(包括但不仅限于轮训,hash取模等等)结合处理线程/处理进程的标识,将请求分配到一个处理线程/处理进程,写入操作操作完毕后,处理线程/处理进程返回一个带有元数据的ID,这个ID上带有处理线程/处理进程的相关标识,这个ID将由调用方进行处理。
有标识的请求:这些操作秉承“谁生产谁负责”的原则。当主socket接收到相关的请求后,同时会接收到相关操作的元数据ID,负载均衡算法模块会根据元数据的ID,将操作分配到其对应的生产线程/生产进程(另外情况请参照下面的例外),然后由其相关的线程/进程进行处理。因为新增都是新分配空间,而只有修改、删除、读取才有可能会进行冲突,所以这部分操作只要满足修改、删除和读取即可。
特殊情况:对于计算机由于某些原因改变处理线程/处理进程的数量,导致部分带有标识的操作请求有一部分是无法定位到原先的线程/进程来处理的,主socket采用负载均衡算法将这种找不到原先线程/进程处理的操作都一一对应地分配到同一个线程/进程上处理,即在同一时刻,同一个标识,只会被分配到一个线程/进程处理。
经过了上述主socket中负载均衡算法处理后,已经能把并发的操作合并到同一个线程/进程中进行处理,在操作请求处理层面的并发导致数据版本错乱的问题已经被解决。
对于磁盘读写操作的执行层面,同样分为两种处理方式:对于无标识的请求,直接使用将操作使用循环排队和顺序写的方式来处理。同一个线程/进程当同一时刻只能处理一个请求,而数据的写入又是循环排队和顺序写入的,数据会像接龙一样的一个一个的往后排排坐,所以并不会产生冲突,当文件/文件块被写到一定的阀值,关闭当前的文件/文件块,重新打开一个文件或者重新获取一个新的文件块,继续写入。这样文件并不会因为大小而无法保存数据,每次写入的时候,通过配置文件或者是系统内置值的方式,给予一个适当的扩展性大小,以方便更改。对于有标识的请求,重新打开标识中的文件或者文件块,然后跟文件/文件块元数据ID上的标识信息进行校验,确定数据块的唯一性和版本正确性,如果正确,执行相应的写入操作。
对于修改操作:分为两种情况:新数据块大小小于原先的数据块大小:直接在元数据块上操作;新数据块大小大于原先的数据块大小:将新数据块的更改操作转换为新增操作,重新排队或者直接执行改操作。
对于执行器的描述:本方案的处理请求模型不仅仅只是体现在线程或者是进程上,如果是大规模的数据存储和运算,本方案的处理方式一样可以将处理单位扩展到机器甚至是集群,对于同样的操作,将机器或者集群在逻辑上看成是一个本方案中的线程;对于写入设备对象:还可以文件/文件块替换成专业的存储器,磁盘san,磁盘阵列等,本质上是一样的。
对于大规模的数据存储和运算,将本方案扩展到机器甚至是集群时,可以增加执行器来实现。如图5,可以通过增加一个处理IO的线程/进程和网络线程/网络进程一一对应来完成数据的读取和写入的操作,其实这种变体对于操作处理来说并不会改变无锁的本质,还是线程/进程和文件块之间的一一对应,只是中间增加了一层逻辑层让处理逻辑更加清晰。
基于上述扩展的情形,本发明还提供一种执行上述多线程/多进程无锁处理方法的集群存储系统,服务器/服务器机群创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识,为每个处理线程/处理进程不同地分配一个单独的文件/同一个文件中的某一段文件块/磁盘阵列中一个磁盘/磁盘阵列集群的一个磁盘阵列,保证处理线程单一地处理被分配到文件/文件块/磁盘集群中/磁盘集群中的一个磁盘阵列,主socket接收磁盘操作请求,根据接收到请求具有的线程标识/进程标识,通过负载均衡算法模块将操作分配到对应的处理线程/处理进程,由对应的线程/进程进行处理。
此外,基于上述扩展的情形,本发明还提供一种执行上述多线程/多进程无锁处理方法的虚拟机存储系统,主socket以及负载均衡算法模块被实现在宿主机上,该宿主机上通过虚拟机管理器生成多个虚拟机并为每个虚拟机分配一定的虚拟存储空间、CPU、内存等计算资源,运行每个虚拟机,并在每个虚拟机中创建各自的处理线程/处理进程并对每个处理线程/处理进程进行标识,每个处理线程/处理进程不同地分配各自虚拟机中的存储资源,宿主机中socket接收磁盘操作请求,通根据接收到请求具有的线程标识/进程标识,通过负载均衡算法模块将操作分配到虚拟机中具有对应标识的处理线程/处理进程,由对应的线程/进程进行处理。
本发明与现有技术相比,具有以下优点:
1.全程无锁,不管是网络线程/网络进程还是IO线程/IO进程、或者是网络线程和IO线程/网络进程与IO进程合并的情况下,因为它们各自对应了一个文件块,所以都是操作自己的资源,不需要增加任何锁;
2.因为没有使用CAS这种不断尝试获取锁,从而通过空转CPU的方式来实现无锁的方式,本发明直接写入文件,节省了相关的CPU资源,降低了CPU的功耗。
Claims (8)
1.一种磁盘读写数据的多线程/多进程无锁处理方法,该方法包括:
步骤1:创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识;
步骤2:为每个处理线程/处理进程不同地分配一个单独的文件或者是同一个文件中的某一段文件块,保证处理线程/处理进程单一地处理被分配到的文件或文件块;
步骤3:主socket接收磁盘操作请求,根据接收到的请求具有的线程标识/进程标识,将操作分配到对应的处理线程/处理进程,然后由对应的线程/进程进行处理。
2.如权利要求1中所述的多线程/多进程无锁处理方法,其中创建的多个处理线程/处理进程每个都合并有独占的磁盘IO读写线程/进程,用于执行相关的磁盘操作。
3.如权利要求1中所述的多线程/多进程无锁处理方法,其中步骤3中主socket根据接收到操作请求具有的线程标识/进程标识,将操作分配到其对应的处理线程/处理进程具体为根据操作请求具有的线程标识/进程标识采用负载均衡算法将操作分配到其对应的处理线程/处理进程。
4.如权利要求3所述的多线程/多进程无锁处理方法,其中对于无标识的磁盘操作请求,主socket采用负载均衡算法结合创建的处理线程/处理进程的标识,将请求分配到一个处理线程/处理进程,操作执行完毕后,处理线程/处理进程返回一个带有元数据的ID,所述ID上带有处理线程/处理进程的对应的标识,这个ID将由调用方进行处理;对于有标识的请求,负载均衡算法模块会接收到相关操作的元数据ID,主socket采用负载均衡算法会根据元数据的ID,将操作分配到其相关的生产线程/生产进程,然后由其相关的线程/进程进行处理,实现“谁生产谁负责”;对于计算机由于某些原因改变处理线程/处理进程的数量,导致部分带有标识的操作请求有一部分是无法定位到原先的线程/进程来处理的,主socket采用负载均衡算法将这种找不到原先线程/进程处理的操作都一一对应地分配到同一个线程/进程上处理,即在同一时刻,同一个标识,只会被分配到一个线程/进程处理。
5.如权利要求1所述的多线程/多进程无锁处理方法,其中步骤3中由对应的线程/进程进行处理,具体包括:对于写入磁盘的请求分为2种处理方式:对于无标识的请求:相关的处理线程/处理进程使用循环排队和顺序写的方式来处理,当文件/文件块被写到一定的阀值,关闭当前的文件,重新打开一个文件或者重新获取一个新的文件块,继续写入;对于有标识的请求:重新打开标识中的文件/文件块,然后跟文件/文件块元数据ID上的标识信息进行校验,确定数据块的唯一性和版本正确性,如果正确,执行相应的写入操作。
6.如权利要求1所述的多线程/多进程无锁处理方法,其中步骤3中由对应的线程/进程进行处理,具体还包括:对于修改操作分为两种情况:1.新数据块大小小于原先的数据块大小:直接在元数据块上操作;2.新数据块大小大于原先的数据块大小,将新数据块的更改操作转换为新增操作,重新排队或者直接执行改操作。
7.一种执行如权利要求1-6中任一项所述的多线程/多进程无锁处理方法的集群存储系统,服务器/服务器机群创建多个处理线程/多个处理进程并对每个处理线程/处理进程进行标识,为每个处理线程/处理进程不同地分配一个单独的文件/同一个文件中的某一段文件块/磁盘阵列中一个磁盘/磁盘阵列集群的一个磁盘阵列,保证处理线程/处理进程单一地处理被分配到文件/文件块/磁盘集群中/磁盘集群中的一个磁盘阵列,主socket接收磁盘操作请求,根据接收到请求具有的线程标识/进程标识,通过负载均衡算法模块将操作分配到对应的处理线程/处理进程,由对应的线程/进程进行处理。
8.一种执行如权利要求1-6中任一项所述的多线程/多进程无锁处理方法的虚拟机存储系统,所述的主socket以及负载均衡算法模块被实现在宿主机上,该宿主机上通过虚拟机管理器生成多个虚拟机并为每个虚拟机分配一定的虚拟存储空间、CPU、内存等计算资源,运行每个虚拟机,并在每个虚拟机中创建各自的处理线程/处理进程并对每个处理线程/处理进程进行标识,每个处理线程/处理进程不同地分配各自虚拟机中的存储资源,宿主机中socket接收磁盘操作请求,根据接收到请求具有的线程标识/进程标识,通过负载均衡算法模块将操作分配到虚拟机中具有对应标识的处理线程/处理进程,由对应的线程/进程进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710512828.9A CN107368362B (zh) | 2017-06-29 | 2017-06-29 | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710512828.9A CN107368362B (zh) | 2017-06-29 | 2017-06-29 | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107368362A true CN107368362A (zh) | 2017-11-21 |
CN107368362B CN107368362B (zh) | 2020-10-30 |
Family
ID=60306374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710512828.9A Active CN107368362B (zh) | 2017-06-29 | 2017-06-29 | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368362B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509260A (zh) * | 2018-01-31 | 2018-09-07 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN109327550A (zh) * | 2018-11-30 | 2019-02-12 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN109857566A (zh) * | 2019-01-25 | 2019-06-07 | 天翼爱动漫文化传媒有限公司 | 一种内存读写过程的资源锁定算法 |
CN109977334A (zh) * | 2019-03-26 | 2019-07-05 | 浙江度衍信息技术有限公司 | 检索速度优化方法 |
CN110018880A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | Io线程执行方法及装置 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN110362617A (zh) * | 2019-06-24 | 2019-10-22 | 北京人大金仓信息技术股份有限公司 | 基于多并发技术从数据库快速导出批量数据方法和系统 |
CN111367627A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 一种读写磁盘任务的处理方法和装置 |
CN111881214A (zh) * | 2020-07-29 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种基于cmsp的drdb数据库数据同步的方法 |
CN113297114A (zh) * | 2021-05-21 | 2021-08-24 | 清创网御(合肥)科技有限公司 | 一种基于加密卡pcie独立io支持多进程、多线程的方法 |
CN113836366A (zh) * | 2021-08-18 | 2021-12-24 | 广州致远电子有限公司 | 一种基于嵌入式系统的数据遍历方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024645A1 (en) * | 2010-05-20 | 2013-01-24 | Hicamp Systems, Inc. | Structured memory coprocessor |
CN103262036A (zh) * | 2010-12-17 | 2013-08-21 | 英特尔公司 | 非阻塞无等待数据并行调度器 |
US20130282853A1 (en) * | 2012-04-20 | 2013-10-24 | Electronics And Telecommunications Research Institute | Apparatus and method for processing data in middleware for data distribution service |
CN106095817A (zh) * | 2016-06-01 | 2016-11-09 | 常熟理工学院 | 基于微内核的可扩展文件系统及文件访问方法 |
-
2017
- 2017-06-29 CN CN201710512828.9A patent/CN107368362B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024645A1 (en) * | 2010-05-20 | 2013-01-24 | Hicamp Systems, Inc. | Structured memory coprocessor |
CN103262036A (zh) * | 2010-12-17 | 2013-08-21 | 英特尔公司 | 非阻塞无等待数据并行调度器 |
US20130282853A1 (en) * | 2012-04-20 | 2013-10-24 | Electronics And Telecommunications Research Institute | Apparatus and method for processing data in middleware for data distribution service |
CN106095817A (zh) * | 2016-06-01 | 2016-11-09 | 常熟理工学院 | 基于微内核的可扩展文件系统及文件访问方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110018880A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | Io线程执行方法及装置 |
CN110018880B (zh) * | 2018-01-09 | 2023-04-14 | 阿里巴巴集团控股有限公司 | Io线程执行方法及装置 |
CN108509260B (zh) * | 2018-01-31 | 2021-08-13 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN108509260A (zh) * | 2018-01-31 | 2018-09-07 | 深圳市万普拉斯科技有限公司 | 线程识别处理方法、装置、计算机设备和存储介质 |
CN110309158B (zh) * | 2018-04-13 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN109327550A (zh) * | 2018-11-30 | 2019-02-12 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN109327550B (zh) * | 2018-11-30 | 2022-02-18 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN111367627B (zh) * | 2018-12-26 | 2024-02-13 | 三六零科技集团有限公司 | 一种读写磁盘任务的处理方法和装置 |
CN111367627A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 一种读写磁盘任务的处理方法和装置 |
CN109857566B (zh) * | 2019-01-25 | 2020-09-29 | 天翼爱动漫文化传媒有限公司 | 一种内存读写过程的资源锁定方法 |
CN109857566A (zh) * | 2019-01-25 | 2019-06-07 | 天翼爱动漫文化传媒有限公司 | 一种内存读写过程的资源锁定算法 |
CN109977334A (zh) * | 2019-03-26 | 2019-07-05 | 浙江度衍信息技术有限公司 | 检索速度优化方法 |
CN109977334B (zh) * | 2019-03-26 | 2023-10-20 | 浙江度衍信息技术有限公司 | 检索速度优化方法 |
CN110362617A (zh) * | 2019-06-24 | 2019-10-22 | 北京人大金仓信息技术股份有限公司 | 基于多并发技术从数据库快速导出批量数据方法和系统 |
CN111881214A (zh) * | 2020-07-29 | 2020-11-03 | 浪潮云信息技术股份公司 | 一种基于cmsp的drdb数据库数据同步的方法 |
CN111881214B (zh) * | 2020-07-29 | 2024-04-16 | 浪潮云信息技术股份公司 | 一种基于cmsp的drdb数据库数据同步的方法 |
CN113297114A (zh) * | 2021-05-21 | 2021-08-24 | 清创网御(合肥)科技有限公司 | 一种基于加密卡pcie独立io支持多进程、多线程的方法 |
CN113836366A (zh) * | 2021-08-18 | 2021-12-24 | 广州致远电子有限公司 | 一种基于嵌入式系统的数据遍历方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107368362B (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368362A (zh) | 一种对于磁盘读写数据的多线程/多进程无锁处理方法及系统 | |
US20200387316A1 (en) | Dynamic data compression | |
CN108292235B (zh) | 使用选择性资源迁移的网络附连存储器 | |
US8443376B2 (en) | Hypervisor scheduler | |
US9026630B2 (en) | Managing resources in a distributed system using dynamic clusters | |
JP5387757B2 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
CN108804112A (zh) | 一种区块链落账处理方法及系统 | |
US9244980B1 (en) | Strategies for pushing out database blocks from cache | |
US20150347165A1 (en) | Virtual machine template management | |
CN110134492A (zh) | 一种异构内存虚拟机不停机的内存页面迁移系统 | |
US20200026781A1 (en) | Managing deduplicated data | |
US9378218B2 (en) | Apparatus and method for enabling clients to participate in data storage in distributed file system | |
WO2023050712A1 (zh) | 一种深度学习业务的任务调度方法及相关装置 | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和系统 | |
US10789087B2 (en) | Insight usage across computing nodes running containerized analytics | |
US12020065B2 (en) | Hierarchical processor selection | |
WO2021031640A1 (zh) | 数据读写方法、计算机设备与计算机可读存储介质 | |
US20140047452A1 (en) | Methods and Systems for Scalable Computing on Commodity Hardware for Irregular Applications | |
Guz et al. | Real-time analytics as the killer application for processing-in-memory | |
CN104156316B (zh) | 一种Hadoop集群批处理作业的方法及系统 | |
CN106775846A (zh) | 用于物理服务器的在线迁移的方法及装置 | |
TWI619026B (zh) | 解決分散式雲端運算平台於虛擬化下衝突的獨立資源分派系統及雲端服務系統 | |
US20230132493A1 (en) | Importing workload data into a sharded virtual disk | |
Thottethodi et al. | Millipede: Die-stacked memory optimizations for big data machine learning analytics |
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 |