CN109753245B - 一种多磁盘负载均衡异步读写调度方法及装置 - Google Patents

一种多磁盘负载均衡异步读写调度方法及装置 Download PDF

Info

Publication number
CN109753245B
CN109753245B CN201811653968.9A CN201811653968A CN109753245B CN 109753245 B CN109753245 B CN 109753245B CN 201811653968 A CN201811653968 A CN 201811653968A CN 109753245 B CN109753245 B CN 109753245B
Authority
CN
China
Prior art keywords
disk
read
write
data
hdfs
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.)
Active
Application number
CN201811653968.9A
Other languages
English (en)
Other versions
CN109753245A (zh
Inventor
董隆超
陈兴利
张娇娇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Business Intelligence Of Oriental Nations Corp ltd
Original Assignee
Business Intelligence Of Oriental Nations Corp ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Business Intelligence Of Oriental Nations Corp ltd filed Critical Business Intelligence Of Oriental Nations Corp ltd
Priority to CN201811653968.9A priority Critical patent/CN109753245B/zh
Publication of CN109753245A publication Critical patent/CN109753245A/zh
Application granted granted Critical
Publication of CN109753245B publication Critical patent/CN109753245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

多磁盘负载均衡异步读写调度方法及装置,对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程;获取本地所有的磁盘信息,并根据磁盘信息中的磁盘类型进行磁盘编号;对磁盘各自创建独立的读写工作线程,使磁盘等待上层发送读写任务;元数据查询进程接收上层使用者要读取的HDFS数据请求,通过名字节点的元数据查询服务进程获取要读取的HDFS数据的磁盘编号;当向读写工作线程发送读写任务时一并发送磁盘编号,读写工作线程接到读写任务时根据磁盘信息异步处理各自的读写任务,完成后通知给上层使用者。减少高并发下多个线程争抢及多个磁盘争抢带来的性能开销,提高数据读写效率。

Description

一种多磁盘负载均衡异步读写调度方法及装置
技术领域
本发明实施例涉及数据库技术领域,特别是涉及一种多磁盘负载均衡异步读写调度方法及装置。
背景技术
HDFS指分布式文件***,HDFS通常是被设计成适合运行在通用硬件上的分布式文件系。HDFS是一个高度容错性的***,适合部署在廉价的机器上,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS是一个主从结构,一个HDFS集群是由一个名字节点,名字节点是一个管理文件命名空间和调节客户端访问文件的主服务器,还有一些数据节点,通常是一个节点一个机器,数据节点来管理对应节点的存储。HDFS对外开放文件命名空间并允许用户数据以文件形式存储。
目前,在HDFS***下,数据节点将实际数据放置到多个磁盘,包含普通的机械磁盘和SSD固态硬盘,数据库在执行过程中也需要将临时数据保存在数据节点的这些磁盘,大部分数据库分别直接通过HDFS的接口读写HDFS保存在本地的数据,数据库还通过本地文件***的接口读写本地的临时文件,导致并发多个请求下对多个不同类型磁盘的读写是同步的,而且是不同类型磁盘的读写相互混在一起,从而导致在高并发下多个线程争抢以及多个磁盘争抢带来的性能开销。现阶段在HDFS***下不存在对多个磁盘进行负载均衡的异步读写技术方案。
发明内容
为此,本发明实施例提供一种多磁盘负载均衡异步读写调度方法及装置,对磁盘进行磁盘编号,能够通过HDFS获取到数据节点的磁盘类型和磁盘编号,使数据读取和本地真实的磁盘类型和磁盘编号正确对应,通过不同的读写工作线程分别异步处理不同的磁盘的读写请求。
为了实现上述目的,本发明的实施方式提供如下技术方案:一种多磁盘负载均衡异步读写调度方法,包括:
对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程,所述磁盘信息包括磁盘设备号和磁盘类型;
当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息,并根据所述磁盘信息中的磁盘类型进行磁盘编号;
对多个所述磁盘各自创建独立的读写工作线程,使磁盘等待上层发送读写任务;
当数据库执行SQL时,所述元数据查询进程接收上层使用者要读取的HDFS数据请求,通过所述名字节点的元数据查询服务进程获取要读取的HDFS数据的磁盘编号,当向所述读写工作线程发送读写任务时一并发送磁盘编号,所述读写工作线程接到读写任务时根据所述磁盘信息异步处理各自的读写任务,完成后通知给上层使用者。
作为多磁盘负载均衡异步读写调度方法的优选方案,所述磁盘类型包括机械磁盘和固态硬盘,所述元数据查询服务进程根据磁盘类型的不同对磁盘编号的映射进行维护。
作为多磁盘负载均衡异步读写调度方法的优选方案,当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;
当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络。
作为多磁盘负载均衡异步读写调度方法的优选方案,对于不同的磁盘类型分配不同数量的读写工作线程。
作为多磁盘负载均衡异步读写调度方法的优选方案,对已经读取过的磁盘集合进行维护,当所述元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
作为多磁盘负载均衡异步读写调度方法的优选方案,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;
当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
本发明实施例还提供一种多磁盘负载均衡异步读写调度装置,包括:
节点配置模块,用于对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程;
磁盘信息获取模块,用于当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息;
编号模块,用于根据磁盘信息中的磁盘类型进行磁盘编号;
任务创建模块,用于对每个磁盘创建独立的读写工作线程,使磁盘等待上层发送读写任务;
读写接收模块,用于当数据库执行SQL时通过元数据查询进程接收上层使用者要读取的HDFS数据请求,
任务处理模块,用于读写工作线程接到读写任务时根据磁盘信息异步处理各自的读写任务;
读写反馈模块,用于向读写工作线程发送读写任务和磁盘编号并通知给上层使用者。
作为多磁盘负载均衡异步读写调度装置的优选方案,还包括维护模块,用于元数据查询服务进程根据磁盘类型的不同对磁盘编号的映射进行维护,所述磁盘类型包括机械磁盘和固态硬盘;
当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;
当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络;
对于不同的磁盘类型分配不同数量的读写工作线。
作为多磁盘负载均衡异步读写调度装置的优选方案,对已经读取过的磁盘集合进行维护,当元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
作为多磁盘负载均衡异步读写调度装置的优选方案,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;
当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
本发明的实施方式具有如下优点:对磁盘进行磁盘编号,能够通过HDFS获取到数据节点的磁盘类型和磁盘编号,并数据读取和本地真实的磁盘类型和磁盘编号正确对应,通过不同的读写工作线程分别异步处理不同的磁盘的读写请求,使多磁盘下同样磁盘的HDFS读写和本地文件的读写任务由同样的若干读写线程异步处理,可以减少高并发下多个线程争抢以及多个磁盘争抢带来的性能开销,提高数据读写效率。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例中提供的一种多磁盘负载均衡异步读写调度方法流程图;
图2为本发明实施例中提供的一种多磁盘负载均衡异步读写调度装置示意图;
图中:1、节点配置模块;2、磁盘信息获取模块;3、编号模块;4、任务创建模块;5、读写接收模块;6、任务处理模块;7、读写反馈模块;8、维护模块。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本实施例提供一种多磁盘负载均衡异步读写调度方法,包括以下步骤:
S1:对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程,所述磁盘信息包括磁盘设备号和磁盘类型;
S2:当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息,并根据所述磁盘信息中的磁盘类型进行磁盘编号;
S3:对多个所述磁盘各自创建独立的读写工作线程,使磁盘等待上层发送读写任务;
S4:当数据库执行SQL时,所述元数据查询进程接收上层使用者要读取的HDFS数据请求,通过所述名字节点的元数据查询服务进程获取要读取的HDFS数据的磁盘编号;
S5:当向所述读写工作线程发送读写任务时一并发送磁盘编号,所述读写工作线程接到读写任务时根据所述磁盘信息异步处理各自的读写任务,完成后通知给上层使用者。
多磁盘负载均衡异步读写调度方法的一个实施例中,所述磁盘类型包括机械磁盘和固态硬盘,所述元数据查询服务进程根据磁盘类型的不同对磁盘编号的映射进行维护。具体地,S2中当数据库启动时,从Linux文件***的/proc/partitions中获取所有磁盘和相应的磁盘设备名device-name,并从/sys/block/device-name/queue/rotational中获取此设备是否是普通磁盘。对于普通机械磁盘,磁盘编号从0开始增加,每个机械磁盘编号增加1;对于固态硬盘,编号从-10开始,每个固态硬盘编号减1;对于网络类型,将磁盘编号设置为-1,由于只有一个此类型实例,此种设计方式对于不同类型的磁盘编号不会重合。由于不同类型的磁盘编号不统一,为了统一管理,建立一个Map,用于将上述的磁盘编号同磁盘在本地的序号进行映射。
具体的,在S1中将HDFS的配置项dfs.datanode.hdfs-blocks-metadata.enabled设置为true,这样数据节点可以将磁盘类型等磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程。
具体的,修改HDFS各个数据节点的hdfs-site.xml配置文件,增加以下配置项
Figure BDA0001933797610000061
并重启HDFS服务的所有进程。
具体的,当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络。
具体的,对于不同的磁盘类型分配不同数量的读写工作线程。对于普通机械磁盘,分配1个独立读写工作线程;对于固态硬盘,分配8个独立读写工作线程;对于网络,分配16个独立读写工作线程。以上数量可以在配置文件中修改,便于调优使用。每个线程对应一个磁盘任务队列,空闲时等待在队列中,并不消耗资源。如果有任务放到队列中,会立刻唤醒读写工作线程进行读写操作。
具体的,元数据查询服务启动后,创建两个Map,分别对应普通机械磁盘HDDMap和固态硬盘SSDMap的磁盘编号映射。Map的Key是节点名,Value是这个节点下所有磁盘的设备号以及相应的编号,Value本身也是个Map结构(Key磁盘的设备号,Value是磁盘的编号)。其中设备号是从HDFS中获取,每个磁盘是唯一的不变的号码。
多磁盘负载均衡异步读写调度方法的一个实施例中,对已经读取过的磁盘集合进行维护,当所述元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
多磁盘负载均衡异步读写调度方法的一个实施例中,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;
当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
具体的,数据库在执行SQL(结构化查询语言,Structured Query Language)的时候,先通过名字节点的元数据查询服务进程获取要读取的数据的磁盘编号,然后在实际向读写线工作程发送读任务的时候带上磁盘编号,同时如果执行过程中需要读写临时文件到本地磁盘,在发送读写任务的时候也带上磁盘编号。不同磁盘的读写工作线程接到读写任务时根据这些信息异步的处理各自的读写任务,完成后通知给上层使用者。
具体的,元数据查询进程接到要读取的HDFS数据请求后,先向名字节点询问此数据所在的数据节点以及所在的磁盘的设备号以及磁盘的类型。如果此磁盘为普通机械磁盘,且为第一次读取,即从普通磁盘集合中找不到,则磁盘编号设置为0加上普通机械磁盘集合的元素个数,并将此磁盘加入到普通机械磁盘集合;如果此磁盘为固态硬盘,且为第一次读取,即从固态硬盘集合中找不到,则编号设置为-10减去固态硬盘集合的元素个数,并将此磁盘加入到固态硬盘集合;如果此数据不在本地磁盘,而是在远端网络设备,则编号设置为-1。如果是第二次以及之后的数据读取请求,则可以从相应的磁盘集合中找到,并返回第一次已经做好的编号即可。
具体的,如果是普通机械磁盘,则在HDDMap中用数据节点查找是否存在,如果不存在,则构建一个Map,并将数据节点和这个Map***到HDDMap中。如果存在,则取出相应的Value,然后继续用磁盘的设备号在Value中查找,如果找到,则取出Value作为磁盘的编号返回给调用者,如果没有找到,则将此Value的大小作为编号,将磁盘设备号和此编号窜入到Value中,并发回给调用者。如果是固态硬盘,对SSDMap进行同样的操作,唯一的不同是,编号的时候,使用-10减去Value的大小作为编号。
SQL在实际执行过程中,将通过磁盘编号找到对应的磁盘队列,并将读写任务放到磁盘队列中,每个磁盘队列对应的读写线程会立刻获取到这些读写任务,分别进行读写操作,完成之后会通知上层的调用者。
参见图2,本发明实施例还提供一种多磁盘负载均衡异步读写调度装置,包括:
节点配置模块1,用于对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程;
磁盘信息获取模块2,用于当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息;
编号模块3,用于根据磁盘信息中的磁盘类型进行磁盘编号;
任务创建模块4,用于对每个磁盘创建独立的读写工作线程,使磁盘等待上层发送读写任务;
读写接收模块5,用于当数据库执行SQL时通过元数据查询进程接收上层使用者要读取的HDFS数据请求,
任务处理模块6,用于读写工作线程接到读写任务时根据磁盘信息异步处理各自的读写任务;
读写反馈模块7,用于向读写工作线程发送读写任务和磁盘编号并通知给上层使用者。
多磁盘负载均衡异步读写调度装置的一个实施例中,还包括维护模块8,用于元数据查询服务进程根据磁盘类型的不同对磁盘编号的映射进行维护,所述磁盘类型包括机械磁盘和固态硬盘;当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络;对于不同的磁盘类型分配不同数量的读写工作线。
多磁盘负载均衡异步读写调度装置的一个实施例中,对已经读取过的磁盘集合进行维护,当元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
多磁盘负载均衡异步读写调度装置的一个实施例中,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
本发明实施例的技术方案,将HDFS的配置项dfs.datanode.hdfs-blocks-metadata.enabled设置为true,这样数据节点可以将磁盘类型等信息回报给名字节点,并在名字节点启动元数据查询服务进程;数据库启动时本地Linux操作***的接口获取本地所有的磁盘以及磁盘类型,并根据类型分别给予不同的编号;数据库启动时对多个磁盘各自创建独立的读写工作线程,并等待上层发送读写任务;数据库在执行SQL的时候,先通过名字节点的元数据查询服务进程获取要读取的数据的磁盘编号,然后在实际向读写工作线程发送读任务的时候带上磁盘编号,同时如果执行过程中需要读写临时文件到本地磁盘,在发送读写任务的时候也带上磁盘编号。不同磁盘的读写工作线程接到读写任务时根据这些信息异步的处理各自的读写任务,完成后通知给上层使用者。使多磁盘下同样磁盘的HDFS读写和本地文件的读写任务由同样的若干读写线程异步处理,可以减少高并发下多个线程争抢以及多个磁盘争抢带来的性能开销,提高数据读写效率。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (10)

1.一种多磁盘负载均衡异步读写调度方法,其特征在于,包括:
对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询进程,所述磁盘信息包括磁盘设备号和磁盘类型;
当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息,并根据所述磁盘信息中的磁盘类型进行磁盘编号;
对多个所述磁盘各自创建独立的读写工作线程,使磁盘等待上层发送读写任务;
当数据库执行SQL时,所述元数据查询进程接收上层使用者要读取的HDFS数据请求,通过所述名字节点的元数据查询进程获取要读取的HDFS数据的磁盘编号;
当向所述读写工作线程发送读写任务时一并发送磁盘编号,所述读写工作线程接到读写任务时根据所述磁盘信息异步处理各自的读写任务,完成后通知给上层使用者。
2.根据权利要求1所述的一种多磁盘负载均衡异步读写调度方法,其特征在于,所述磁盘类型包括机械磁盘和固态硬盘,所述元数据查询进程根据磁盘类型的不同对磁盘编号的映射进行维护。
3.根据权利要求1所述的一种多磁盘负载均衡异步读写调度方法,其特征在于,当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;
当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络。
4.根据权利要求1所述的一种多磁盘负载均衡异步读写调度方法,其特征在于,对于不同的磁盘类型分配不同数量的读写工作线程。
5.根据权利要求1所述的一种多磁盘负载均衡异步读写调度方法,其特征在于,对已经读取过的磁盘集合进行维护,当所述元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
6.根据权利要求1所述的一种多磁盘负载均衡异步读写调度方法,其特征在于,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;
当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
7.一种多磁盘负载均衡异步读写调度装置,其特征在于,包括:
节点配置模块,用于对HDFS进行配置,使HDFS***的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询进程;
磁盘信息获取模块,用于当数据库启动时通过本地操作***的接口获取本地所有的磁盘信息;
编号模块,用于根据磁盘信息中的磁盘类型进行磁盘编号;
任务创建模块,用于对每个磁盘创建独立的读写工作线程,使磁盘等待上层发送读写任务;
读写接收模块,用于当数据库执行SQL时通过元数据查询进程接收上层使用者要读取的HDFS数据请求,
任务处理模块,用于读写工作线程接到读写任务时根据磁盘信息异步处理各自的读写任务;
读写反馈模块,用于向读写工作线程发送读写任务和磁盘编号并通知给上层使用者。
8.根据权利要求7所述的一种多磁盘负载均衡异步读写调度装置,其特征在于,还包括维护模块,用于元数据查询进程根据磁盘类型的不同对磁盘编号的映射进行维护,所述磁盘类型包括机械磁盘和固态硬盘;
当获取所述磁盘信息失败时,将磁盘的数量设置为1,磁盘类型设置为固态硬盘;
当读取的HDFS数据请求是通过网络远端设备进行发送时,将所述磁盘类型设置为网络;
对于不同的磁盘类型分配不同数量的读写工作线。
9.根据权利要求7所述的一种多磁盘负载均衡异步读写调度装置,其特征在于,对已经读取过的磁盘集合进行维护,当元数据查询进程接到要读取的HDFS数据请求后,如果在所述磁盘集合中查找磁盘设备号和磁盘类型失败,对请求读取数据的磁盘重新进行编号;如果在所述磁盘集合中查找磁盘设备号和磁盘类型成功,对请求读取数据的磁盘采用已有的磁盘编号。
10.根据权利要求7所述的一种多磁盘负载均衡异步读写调度装置,其特征在于,上层使用者在读取的HDFS数据时将数据以及数据所在的磁盘编号传递给读写子***,所述读写子***将读任务发送给磁盘编号对应的磁盘的读写工作线程处理并等待读取完成,当读取HDFS数据完成后,读写工作线程将读出的数据返还给上层使用者;
当上层使用者在读写临时文件到本地磁盘时,通过本地目录找到对应的磁盘设备号,并通过磁盘设备号查找对应的磁盘编号,然后将临时文件数据所在的磁盘编号传递给对应的读写工作线程处理并等待读写完成,读写工作线程完成临时文件数据的读写之后,返回给上层使用者。
CN201811653968.9A 2018-12-28 2018-12-28 一种多磁盘负载均衡异步读写调度方法及装置 Active CN109753245B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811653968.9A CN109753245B (zh) 2018-12-28 2018-12-28 一种多磁盘负载均衡异步读写调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811653968.9A CN109753245B (zh) 2018-12-28 2018-12-28 一种多磁盘负载均衡异步读写调度方法及装置

Publications (2)

Publication Number Publication Date
CN109753245A CN109753245A (zh) 2019-05-14
CN109753245B true CN109753245B (zh) 2022-02-18

Family

ID=66404989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811653968.9A Active CN109753245B (zh) 2018-12-28 2018-12-28 一种多磁盘负载均衡异步读写调度方法及装置

Country Status (1)

Country Link
CN (1) CN109753245B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673795A (zh) * 2019-09-19 2020-01-10 深圳市网心科技有限公司 数据写入方法及装置、计算机装置及存储介质
CN114253477A (zh) * 2021-12-15 2022-03-29 威创集团股份有限公司 一种超高并发影像数据写入方法、装置及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541466A (zh) * 2011-10-27 2012-07-04 忆正存储技术(武汉)有限公司 一种混合存储控制***和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012079100A (ja) * 2010-10-01 2012-04-19 Canon Inc ディスク制御装置及びディスク制御方法、並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541466A (zh) * 2011-10-27 2012-07-04 忆正存储技术(武汉)有限公司 一种混合存储控制***和方法

Also Published As

Publication number Publication date
CN109753245A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US11994959B2 (en) System and method for transaction recovery in a multitenant application server environment
US8713046B2 (en) Snapshot isolation support for distributed query processing in a shared disk database cluster
US8224860B2 (en) Database management system
US8832173B2 (en) System and method of multithreaded processing across multiple servers
US8392482B1 (en) Versioning of database partition maps
US20110161281A1 (en) Distributed Transaction Management in a Distributed Shared Disk Cluster Environment
US8140498B2 (en) Distributed database system by sharing or replicating the meta information on memory caches
EP2474919A1 (en) System and method for data replication between heterogeneous databases
US9146944B2 (en) Systems and methods for supporting transaction recovery based on a strict ordering of two-phase commit calls
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
CN111797121A (zh) 读写分离架构业务***的强一致性查询方法、装置及***
CN109753245B (zh) 一种多磁盘负载均衡异步读写调度方法及装置
US11625503B2 (en) Data integrity procedure
CN114218267A (zh) 查询请求异步处理方法、装置、计算机设备、存储介质
CN103365740B (zh) 一种数据冷备方法及装置
US20170270149A1 (en) Database systems with re-ordered replicas and methods of accessing and backing up databases
CN106874343B (zh) 一种时序数据库的数据删除方法及***
JP4362839B1 (ja) 仮想単一メモリストレージ上におけるメタ情報共有型分散データベース・システム
CN115587141A (zh) 一种数据库同步方法和装置
CN113448775B (zh) 多源异构数据备份方法及装置
Pankowski Consistency and availability of Data in replicated NoSQL databases
CN112799835A (zh) 一种分布式数据库***元数据的处理方法及***
US20200356542A1 (en) Artificially-intelligent, continuously-updating, centralized-database-identifier repository system
CN108023914B (zh) 一种内存数据共享***、内存数据的写入以及读取方法
CN112632114B (zh) Mpp数据库快速读取数据的方法、装置及计算设备

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