I/O平衡处理方法和设备技术

技术编号:7538751 阅读:212 留言:0更新日期:2012-07-13 03:32
本发明专利技术提供一种I/O平衡处理方法和设备,该方法包括对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收携带有数据表、数据表的预计容量、数据表对应的数据块的大小以及存储数据表的磁盘标识的存储请求消息;其中所述数据表包括至少一个数据文件;根据数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,根据存储请求消息和数据库信息生成第一shell脚本,并根据第一shell脚本创建数据库,其中N和m均为整数,且均大于等于1。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种I/O平衡处理方法和设备
技术介绍
事务处理性能委员会(Transaction Processing Performance Council ;简称 TPO-C测试是测试建立在关系型数据库的在线事务处理性能的基本程序。由于存储单元的输入输出anput/output ;简称1/0)性能能够提高存储利用率,降低总所有成本((Total cost of ownership;简称TC0),并且有效地避免数据库的性能问题,因此,该存储单元的 1/0性能是TPC-C测试中主要考虑的因素。目前,1/0平衡部署能够充分发挥存储单元的1/0性能,因此数据库厂家和存储厂家均有针对数据库和存储的1/0平衡部署方案,例如某些厂家采用甲骨文(oracle)数据库(database)的自动存储管理(Automatic Storage Management ;简称ASM)实现 1/0 平衡部署,具体的,在一组独立的磁盘上创建一个单独的磁盘组,实现单个磁盘组的1/0平衡。但是,由于现有的1/0平衡部署方案是对数据进行完全平衡部署,即绝对平衡部署,因此,占用了磁盘的存储空间较大,并难以分析具体的热点表和热点数据。
技术实现思路
本专利技术的第一个方面是提供一种1/0平衡处理方法,包括对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N_m个LUN设置为预留磁盘;接收存储请求消息,所述存储请求消息包括数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个数据文件;根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小;根据所述存储请求消息和所述数据库信息,生成第一 shell脚本,并根据所述第一 shell脚本,创建数据库;其中,N和m均为整数,且均大于等于1。本专利技术的另一个方面是提供一种1/0平衡处理设备,包括划分模块,用于对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘, 将N-m个LUN设置为预留磁盘;接收模块,用于接收存储请求消息,所述存储请求消息包括数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个所述数据文件;I/O平衡处理模块,用于根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小;数据库创建模块,用于根据所述存储请求消息和所述数据库信息,生成第一 shell 脚本,并根据所述第一 shell脚本,创建数据库;其中,N和m均为整数,且均大于等于1。本专利技术的技术效果是通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一 shell脚本,并根据该第一 shell脚本,创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。附图说明图1为本专利技术I/O平衡处理方法的一个实施例的流程图;图2为关系型数据库中存储划分的示意图;图3为本专利技术I/O平衡处理方法的另一个实施例的流程图;图4为本专利技术I/O平衡处理设备的一个实施例结构示意图;图5为本专利技术I/O平衡处理设备的另一个实施例的结构示意图。具体实施例方式图1为本专利技术I/O平衡处理方法的一个实施例的流程图,如图1所示,本实施例的方法主要应用在关系型数据库中,则该方法包括步骤101、对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N_m 个LUN设置为预留磁盘。其中,N和m均为整数,且均大于等于1。在本实施例中,对关系型数据库中的存储对应的硬盘进行分组,每组均有一个冗余磁盘阵列(Redundant Array of Independent Disk ;简称RAID)控制器控制,并将分组后的硬盘映射到主机服务器上,再将映射到主机服务器上的每组硬盘分别划分成至少一个逻辑单元号码(Logical Unit Number ;简称LUN)。举例来说,图2为关系型数据库中存储划分的示意图,如图2所示,将关系型数据库中的存储对应的硬盘分成四组,每组均有RAID控制器控制,并将四组硬盘映射到主机服务器上,再将映射到主机服务器上的每组硬盘分别划分成四个LUN,则主机服务器上可以共显示16个LUN。另外,可以将16个LUN进行划分处理,例如将15个LUN设置为数据磁盘, 将剩余的1个LUN设置为预留磁盘。在本实施例中,优选地,数据磁盘可以存储容量较大,且性能较高的数据表 (table);预留磁盘可以存储容量较小,且性能要求较低的数据表。步骤102、接收存储请求消息,该存储请求消息包括数据表、该数据表的预计容量、该数据表对应的数据块的大小以及存储该数据表的磁盘标识;其中,该数据表包括至少一个数据文件。在本实施例中,数据表包括至少一个数据文件。数据表的预计容量是指数据表中所记录的所有数据文件要占用的存储空间。数据表对应的数据块的大小是指存储该数据表中的数据文件的数据块。步骤103、根据该数据表的预计容量、数据表对应的数据块的大小以及该磁盘标识对应的磁盘的总数量,获取数据库信息,该数据库信息包括该数据表在每个该磁盘标识对应的磁盘中的预计容量、每个该磁盘标识对应的磁盘中数据文件的个数以及该数据文件的大小。步骤104、根据该存储请求消息和该数据库信息,生成第一 shell脚本,并根据该第一 shell脚本,创建数据库。在本实施例中,通过对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N-m个LUN设置为预留磁盘;接收存储请求消息,并根据存储请求消息中的数据表的预计容量、数据表对应的数据块的大小以及磁盘标识对应的磁盘的总数量,获取数据库信息,再根据该存储请求消息和数据库信息,生成第一 shell脚本,并根据该第一 shell脚本, 创建数据库,由于对磁盘进行了划分,将容量从而实现了相对平衡部署,占用了磁盘的存储空间较少,进而提高了存储利用率。图3为本专利技术I/O平衡处理方法的另一个实施例的流程图,如图3所示,本实施例的方法主要应用在关系型数据库中,则该方法包括步骤201、对磁盘上的N个LUN进行划分处理,将m个LUN设置为数据磁盘,将N_m 个LUN设置为预留磁盘。其中,N和m均为整数,且均大于等于1。步骤202、接收存储请求消息,该存储请求消息包括数据表、该数据表的预计容量、该数据表对应的数据块(block)的大小以及存储该数据表的磁盘标识;其中,该数据表包括至少一个数据文件。步骤203、根据数据表的预计容量和磁盘标识对应的磁盘的总数量,获取数据表在每个磁盘标识对本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种I/O平衡处理方法,其特征在于,包括对磁盘上的N个逻辑单元LUN进行划分处理,将m个LUN设置为数据磁盘,将N_m个 LUN设置为预留磁盘,其中,N和m均为整数,且均大于等于1 ;接收存储请求消息,所述存储请求消息包括数据表、所述数据表的预计容量、所述数据表对应的数据块的大小以及存储所述数据表的磁盘标识;其中,所述数据表包括至少一个数据文件;根据所述数据表的预计容量、所述数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小根据所述存储请求消息和所述数据库信息,生成第一 shell脚本,并根据所述第一 shell脚本,创建数据库。2.根据权利要求1所述的I/O平衡处理方法,其特征在于,所述根据所述数据表的预计容量、数据表对应的数据块的大小以及所述磁盘标识对应的磁盘的总数量,获取数据库信息,所述数据库信息包括所述数据表在每个所述磁盘标识对应的磁盘中的预计容量、每个所述磁盘标识对应的磁盘中数据文件的个数以及所述数据文件的大小,包括根据所述数据表的预计容量和所述磁盘标识对应的磁盘的总数量,获取所述数据表在每个所述磁盘标识对应的磁盘中的预计容量;根据所述数据表对应的数据块的大小,查询数据块大小与单个数据文件最大容量的映射关系,获取所述数据块的大小对应的单个数据文件最大容量;并根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和所述单个数据文件最大容量,获取每个所述磁盘标识对应的磁盘中数据文件的个数;根据所述数据表的预计容量、所述磁盘标识对应的磁盘的总数量和每个所述磁盘标识对应的磁盘中数据文件的个数,获取所述数据文件的大小。3.根据权利要求1所述的I/O平衡处理方法,其特征在于,还包括接收I/O性能检测请求消息,所述I/O性能检测请求消息包括检测磁盘标识;当所述磁盘标识为预留磁盘标识时,采用输入输出状态,在设置的抽样时刻点,分别采集数据磁盘中的第一 I/O信息,并分别采集预留磁盘中的第二 I/O信息;将各个所述抽样时刻的所述第一 I/O信息与所述第二 I/O信息进行识别处理和分析处理,获取第一检测结果。4.根据权利要求3所述的I/O平衡处理方法,其特征在于,所述第一I/O信息和所述第二 I/O信息均包括读I/O信息和写I/O信息,所述读I/O信息包括读IOPS信息和读带宽信息;所述写I/O信息包括写IOPS信息和写带宽信息。5.根据权利要求4所述的I/O平衡处理方法,其特征在于,还包括当所磁盘标识为数据磁盘标识时,采用公式toi’ = (toi-foiaVfoia,获取每个所述数据磁盘的第一 I/O信息中的读I/O信息toi’ ;采用公式Wni ’ = (ffni-ffna) /ffna,获取每个所述数据磁盘中的第一 I/O信息中的写I/ 0信息Wni,;采用公式Pn = Krni* | Rni,| +Kwni* | Wni,|,获取加权平均数Pn ;其中,Krni = Rni' |/(|Rni,| + |Wni,) ,Kwni = Wni' /(| Rni' | + |Wni,|),n 表示抽样时刻,i表示数据磁盘标识,Rni表示在抽样时刻η时第i个数据磁盘的第一 I/O信息中的读I/O信息,toa表示在抽样时刻η所有数据磁盘的第一 I/O信息中的读I/O信息的平均值;Wni表示在抽样时刻η时第i个数据磁盘的第一 I/O信息中的写I/O信息,Wna表示在抽样时刻η时所有数据磁盘的第一 I/O信息中的写I/O信息的平均值。6.根据权利要求3或5所述的I/O平衡处理方法,其特征在于,还包括根据所述第一检测结果和/或所述加权平均数Ρη,调整所述存储请求消息和数据库信息;根据调整后的存储请求消息和数据库信息,生成第二 shell脚本,并根据所述第二 shell脚本,重新创建数据库。7.—种I/O平衡处理设备,其特征在于,包括划...

【专利技术属性】
技术研发人员:赵春阳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1
相关领域技术