一种多磁盘负载均衡异步读写调度方法及装置制造方法及图纸

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

A Multi-disk Load Balancing Asynchronous Read-Write Scheduling Method and Device

【技术实现步骤摘要】
一种多磁盘负载均衡异步读写调度方法及装置
本专利技术实施例涉及数据库
,特别是涉及一种多磁盘负载均衡异步读写调度方法及装置。
技术介绍
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、任本文档来自技高网...

【技术保护点】
1.一种多磁盘负载均衡异步读写调度方法,其特征在于,包括:对HDFS进行配置,使HDFS系统的数据节点将磁盘信息回报给名字节点,并在名字节点启动元数据查询服务进程,所述磁盘信息包括磁盘设备号和磁盘类型;当数据库启动时通过本地操作系统的接口获取本地所有的磁盘信息,并根据所述磁盘信息中的磁盘类型进行磁盘编号;对多个所述磁盘各自创建独立的读写工作线程,使磁盘等待上层发送读写任务;当数据库执行SQL时,所述元数据查询进程接收上层使用者要读取的HDFS数据请求,通过所述名字节点的元数据查询服务进程获取要读取的HDFS数据的磁盘编号;当向所述读写工作线程发送读写任务时一并发送磁盘编号,所述读写工作线程接到读写任务时根据所述磁盘信息异步处理各自的读写任务,完成后通知给上层使用者。

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

【专利技术属性】
技术研发人员:董隆超陈兴利张娇娇
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1