CN103324466A - 一种数据相关性序列化io的并行处理方法 - Google Patents
一种数据相关性序列化io的并行处理方法 Download PDFInfo
- Publication number
- CN103324466A CN103324466A CN2013101954506A CN201310195450A CN103324466A CN 103324466 A CN103324466 A CN 103324466A CN 2013101954506 A CN2013101954506 A CN 2013101954506A CN 201310195450 A CN201310195450 A CN 201310195450A CN 103324466 A CN103324466 A CN 103324466A
- Authority
- CN
- China
- Prior art keywords
- data
- sampling
- parallelization
- request
- read
- 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
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种数据相关性序列化IO的并行处理方法,利用存储系统空闲运算和IO资源,通过采样动态调整的方式实现存储系统数据持续并行化处理,在并行化处理的过程中,根据应用特点,分别对读操作采样、写操作采样和读写采样,数据相关性通过对数据读写IO采样统计得出,通过将序列化IO动态散列到系统中,实现系统读写的并行化;本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。
Description
技术领域
本发明涉及计算机应用领域,具体地说是一种数据相关性序列化IO的并行处理方法。
背景技术
为保证存储系统整体性能得到提升,期望将数据IO均衡的散列到多个存储介质上,达到并行处理的目的。目前的并行化处理方法主要是顺序散列的方式及以首次写为依据的并行化处理试,如当前常用的条带化逻辑卷及RAID0的实现方式。
上述并行化处理方法没有综合考虑其数据相关性,性能优劣具有一定的随机性。首先,顺序散列的并行化方式采用的是以逻辑连续地址空间分布条带化到不同的存储介质上。事实上,逻辑顺序与读写顺序没有直接的关连,按逻辑顺序的并行化处理并不能彻底解决读写序列并行化问题。其次,采用以首次写顺序为依据的散列方式的假设是写顺序的与读顺序具有相同的模式,首次写顺序决定了后绪的改写及读写的顺序。事实上,这种假设在大多数应用下是不正立的。比如,在图书馆管理应用中,首次写录入包括借书人信息、书目等信息,在具体的图书借阅活动中,查询的是借书人信息、借阅信息,并会更改借阅信息。因此,前期批量输入的借阅人信息时的数据相关性在后绪的应用中,都不存在。
综上分析,数据有相关性具有时间性。即,在不同的时期和在不同的应用场景中,数据读写的相关性会发生完全区别于历史模式的变化,且这个变化与业务周期的变化具有直接的关系。因此,要做到存储系统数据并行化处理,需要在不影响业务正常运行状态下,周期性的对数据进行调整;同时,在调整过程中,有时需要区别读操作与写操作。即,对某些应用,读操作占主导地位,且读操作数据相关性较明显,同时某些应用,上述特点会体现在写操作或者读写混合操作中。
发明内容
本发明的目的是提供一种数据相关性序列化IO的并行处理方法。
本发明的目的是按以下方式实现的,利用存储系统空闲运算和IO资源,通过采样动态调整的方式实现存储系统数据持续并行化处理,在并行化处理的过程中,根据应用特点,分别对读操作采样、写操作采样和读写采样,数据相关性通过对数据读写IO采样统计得出,通过将序列化IO动态散列到系统中,实现系统读写的并行化;
系统数据组织方式包括:数据IO请求需指定请求设备、请求起始位置、请求结束位置;
请求设备是物理设备或是逻且与物理设备具有一定的对应关系,根据对应关系对索引数据进行描述;
请求起始位置和请求结束位置,决定了请求的具体数据,包括读数据和写数据,在实际应用环境中,每次请求是不定长的,将不定长的数据切成定长的数据,定长的数据称作物理块,所述物理块用映射对象表示,该映射对象描述了逻辑地址、物理地址、物理磁盘的信息,映射对象用于所述数据IO请求的逻辑地址和物理地址相互转化,由于,映射对象需要进行频繁查询,所以期望采用树型或者哈希等数据结构进行索引,并期望存储于读写较快的存储介质;
逻辑上,系统包括时钟发生器、IO采样、序列IO并行化、数据迁移各个组件,各个组件共同协调完成IO采样及动态调整,实现并行化的动作,时钟发生器是周期激发IO采样并进行并行化处理的装置;IO采样用于从IO读写流程中无损性能的获取一定周期内、连续的定长IO序列;定长IO序列并行化用于对采用的数据进行离线的并行化调整;数据迁移动作用于对并行化处理的结构作用于具体的数据存储;
序列化的具体处理流程如下:
流程101:时钟发生器激发序列IO采样,激发频率对正常IO流的性能有一定影响,期望是,激发的IO并行化操作与当前业务IO资源需求之和小于系统所提供的最大资源空间,所述资源包括系统的总线资源、计算资源、存储资源;
流程102:IO采样模块从当前IO队列中顺序截取IO请求;
流程103:IO采样模块将IO请求格式化成等长块结构,所述流程核心思想是将IO请求由变长转化为定长,并存储到本次采样队列中;
流程104:采样数据中是否有对同一磁盘的请求,所述流程的判断方法是查询流程中映射对象的物理磁盘域;
流程105:与上次采样队列中进行位置互换,互换的目的是转换序列化IO的处理位置,即将作用于同一物理磁盘IO通过存储位置互换,使其散列到不同的磁盘,以实现序列IO的并行化,在转换时,同时要确保上一采样队列不会造成并行并串行的情况;
流程106:完成数据空间迁移,即完成实际存储实间的转移。
本发明的有益效果是: 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
附图说明
图1是并行化数据组织方式示意图;
图2是序列化数据并行化处理的系统结构示意图;
图3是序列化数据并行化处理流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明所涉及系统及装置实现的核心思想是:数据相关性可以通过对数据读写IO采样统计得出,通过将序列化IO动态散列到系统中,实现系统读写的并行化。其特征在于,利用存储系统空闲运算和IO资源,采用采样动态调整的方式实现存储系统数据持续并行化处理。在并行化处理的过程中,可根据应用特点,只对读操作采样、写操作采样和读写采样。
图1描述了实现本案所需要的数据组织方式。在通用的系统中,数据IO请求普遍指定请求的设备、请求起始位置、请求结束位置。所述请求设备可以是物理设备,也可以逻辑设备。本案中,由于需要对数据进行重新映射以达到并行化的目的,因此,请求的设备需要是逻辑设备,且与物理设备具有一定的对应关系,这个对应关系,可以使索引数据进行描述。所述请求起始位置和请求结束位置决定了请求的具体数据,包括读数据和写数据。在实际应用环境中,每次请求是不定长的。本案期望将不定长的数据切成定长的数据,我们称作物理块。所述物理块可以用映射对象表示,该对象描述了逻辑地址、物理地址、物理磁盘等信息。映射对象用于所述数据IO请求的逻辑地址和物理地址相互转化。由于,映射对象需要进行频繁查询,所以期望采用树型或者哈希等数据结构进行索引,并期望存储于读写较快的存储介质。本案可以与传统的文件系统结合,也可以与卷管理机制结合。
图2描述了本案所涉系统或者装置的具体组成。逻辑上,所述系统包括时钟发生器、IO采样、序列IO并行化、数据迁移等组件。所述组件共同协调完成IO采用及动态调整,实现并行化的动作。具体的,时钟发生器是周期激发IO采样并进行并行化处理的装置;IO采样用于从IO读写流程中,无损性能的获取一定周期内、连续续的定长IO序列;序列IO并行化用于对采用的数据进行离线的并行化调整;数据迁移动作用于对并行化处理的结构作用于具体的数据存储。
图3描述了序列化的具体处理流程,主要有以下流程实现:
流程101:时钟发生器激发序列IO采样。激发频率对正常IO流的性能有一定影响,期望是,激发的IO并行化操作与当前业务IO资源需求之和小于系统所提供的最大资源空间。所述资源包括系统的总线资源、计算资源、存储资源;
流程102:IO采样模块从当前IO队列中顺序截取IO请求;
流程103:IO采样模块将IO请求格式化成等长块结构。所述流程核心思想是将IO请求由变长转化为定长,并存储到本次采样队列中;
流程104:采样数据中是否有对同一磁盘的请求。所述流程的判断方法是查询流程中映射对象的物理磁盘域;
流程105:与上次采样队列中进行位置互换。互换的目的是转换序列化IO的处理位置。即将作用于同一物理磁盘IO通过存储位置互换,使其散列到不同的磁盘,以实现序列IO的并行化。在转换时,同时要确保上一采样队列不会造成并行并串行的情况;
流程106:完成数据空间迁移,即完成实际存储实间的转移。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (1)
1.一种数据相关性序列化IO的并行处理方法, 其特征在于利用存储系统空闲运算和IO资源,通过采样动态调整的方式实现存储系统数据持续并行化处理,在并行化处理的过程中,根据应用特点,分别对读操作采样、写操作采样和读写采样,数据相关性通过对数据读写IO采样统计得出,通过将序列化IO动态散列到系统中,实现系统读写的并行化;
系统数据组织方式包括:数据IO请求需指定请求设备、请求起始位置、请求结束位置;
请求设备是物理设备或是逻且与物理设备具有一定的对应关系,根据对应关系对索引数据进行描述;
请求起始位置和请求结束位置,决定了请求的具体数据,包括读数据和写数据,在实际应用环境中,每次请求是不定长的,将不定长的数据切成定长的数据,定长的数据称作物理块,所述物理块用映射对象表示,该映射对象描述了逻辑地址、物理地址、物理磁盘的信息,映射对象用于所述数据IO请求的逻辑地址和物理地址相互转化,由于,映射对象需要进行频繁查询,所以期望采用树型或者哈希等数据结构进行索引,并期望存储于读写较快的存储介质;
逻辑上,系统包括时钟发生器、IO采样、序列IO并行化、数据迁移各个组件,各个组件共同协调完成IO采样及动态调整,实现并行化的动作,时钟发生器是周期激发IO采样并进行并行化处理的装置;IO采样用于从IO读写流程中无损性能的获取一定周期内、连续的定长IO序列;定长IO序列并行化用于对采用的数据进行离线的并行化调整;数据迁移动作用于对并行化处理的结构作用于具体的数据存储;
序列化的具体处理流程如下:
流程101:时钟发生器激发序列IO采样,激发频率对正常IO流的性能有一定影响,期望是,激发的IO并行化操作与当前业务IO资源需求之和小于系统所提供的最大资源空间,所述资源包括系统的总线资源、计算资源、存储资源;
流程102:IO采样模块从当前IO队列中顺序截取IO请求;
流程103:IO采样模块将IO请求格式化成等长块结构,所述流程核心思想是将IO请求由变长转化为定长,并存储到本次采样队列中;
流程104:采样数据中是否有对同一磁盘的请求,所述流程的判断方法是查询流程中映射对象的物理磁盘域;
流程105:与上次采样队列中进行位置互换,互换的目的是转换序列化IO的处理位置,即将作用于同一物理磁盘IO通过存储位置互换,使其散列到不同的磁盘,以实现序列IO的并行化,在转换时,同时要确保上一采样队列不会造成并行并串行的情况;
流程106:完成数据空间迁移,即完成实际存储实间的转移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310195450.6A CN103324466B (zh) | 2013-05-24 | 2013-05-24 | 一种数据相关性序列化io的并行处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310195450.6A CN103324466B (zh) | 2013-05-24 | 2013-05-24 | 一种数据相关性序列化io的并行处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324466A true CN103324466A (zh) | 2013-09-25 |
CN103324466B CN103324466B (zh) | 2017-05-03 |
Family
ID=49193236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310195450.6A Active CN103324466B (zh) | 2013-05-24 | 2013-05-24 | 一种数据相关性序列化io的并行处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324466B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678619A (zh) * | 2013-12-17 | 2014-03-26 | 北京国双科技有限公司 | 数据库索引处理方法和装置 |
CN104834604A (zh) * | 2015-04-22 | 2015-08-12 | 上海微小卫星工程中心 | 一种io地址到io对象快速映射方法及系统 |
WO2017068438A1 (en) * | 2015-10-20 | 2017-04-27 | International Business Machines Corporation | Concurrent bulk processing of tree-based data structures |
WO2018177107A1 (zh) * | 2017-03-29 | 2018-10-04 | 腾讯科技(深圳)有限公司 | 数据迁移方法、迁移服务器及存储介质 |
US10102231B2 (en) | 2015-10-20 | 2018-10-16 | International Business Machines Corporation | Ordering heterogeneous operations in bulk processing of tree-based data structures |
US10133763B2 (en) | 2015-10-20 | 2018-11-20 | International Business Machines Corporation | Isolation of concurrent operations on tree-based data structures |
US10223409B2 (en) | 2015-10-20 | 2019-03-05 | International Business Machines Corporation | Concurrent bulk processing of tree-based data structures |
CN111414135A (zh) * | 2020-03-11 | 2020-07-14 | 国家海洋环境预报中心 | 一种高性能计算机系统的io效率优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736287A (en) * | 1983-06-20 | 1988-04-05 | Rational | Set association memory system |
US20030187866A1 (en) * | 2002-03-29 | 2003-10-02 | Panasas, Inc. | Hashing objects into multiple directories for better concurrency and manageability |
CN102411637A (zh) * | 2011-12-30 | 2012-04-11 | 创新科软件技术(深圳)有限公司 | 分布式文件系统的元数据管理方法 |
-
2013
- 2013-05-24 CN CN201310195450.6A patent/CN103324466B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736287A (en) * | 1983-06-20 | 1988-04-05 | Rational | Set association memory system |
US20030187866A1 (en) * | 2002-03-29 | 2003-10-02 | Panasas, Inc. | Hashing objects into multiple directories for better concurrency and manageability |
CN102411637A (zh) * | 2011-12-30 | 2012-04-11 | 创新科软件技术(深圳)有限公司 | 分布式文件系统的元数据管理方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678619A (zh) * | 2013-12-17 | 2014-03-26 | 北京国双科技有限公司 | 数据库索引处理方法和装置 |
CN103678619B (zh) * | 2013-12-17 | 2017-06-30 | 北京国双科技有限公司 | 数据库索引处理方法和装置 |
CN104834604A (zh) * | 2015-04-22 | 2015-08-12 | 上海微小卫星工程中心 | 一种io地址到io对象快速映射方法及系统 |
CN104834604B (zh) * | 2015-04-22 | 2018-02-16 | 上海微小卫星工程中心 | 一种io地址到io对象快速映射方法及系统 |
WO2017068438A1 (en) * | 2015-10-20 | 2017-04-27 | International Business Machines Corporation | Concurrent bulk processing of tree-based data structures |
GB2559691A (en) * | 2015-10-20 | 2018-08-15 | Ibm | Concurrent bulk processing of tree-based data structures |
US10102231B2 (en) | 2015-10-20 | 2018-10-16 | International Business Machines Corporation | Ordering heterogeneous operations in bulk processing of tree-based data structures |
US10133763B2 (en) | 2015-10-20 | 2018-11-20 | International Business Machines Corporation | Isolation of concurrent operations on tree-based data structures |
GB2559691B (en) * | 2015-10-20 | 2019-02-06 | Ibm | Concurrent bulk processing of tree-based data structures |
US10223409B2 (en) | 2015-10-20 | 2019-03-05 | International Business Machines Corporation | Concurrent bulk processing of tree-based data structures |
WO2018177107A1 (zh) * | 2017-03-29 | 2018-10-04 | 腾讯科技(深圳)有限公司 | 数据迁移方法、迁移服务器及存储介质 |
CN111414135A (zh) * | 2020-03-11 | 2020-07-14 | 国家海洋环境预报中心 | 一种高性能计算机系统的io效率优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103324466B (zh) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324466A (zh) | 一种数据相关性序列化io的并行处理方法 | |
US20220057940A1 (en) | Method and Apparatus for SSD Storage Access | |
TWI627536B (zh) | 用於具有調適分割之一共用快取之系統及方法 | |
US10324832B2 (en) | Address based multi-stream storage device access | |
CN110663019B (zh) | 用于叠瓦式磁记录(smr)的文件系统 | |
WO2017107414A1 (zh) | 文件操作方法和装置 | |
US20150370508A1 (en) | Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage | |
CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
US20080140691A1 (en) | Method, Device and Computer Program Product for Optimizing File Placement in a Storage System | |
CN113326005B (zh) | 一种raid存储系统的读写方法和装置 | |
US20240086332A1 (en) | Data processing method and system, device, and medium | |
US20200285510A1 (en) | High precision load distribution among processors | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
Papon et al. | The need for a new I/O model | |
CN104052824A (zh) | 分布式缓存方法及系统 | |
JP2012168781A (ja) | 分散型データストアシステム及び分散型データストアシステムにおけるレコード管理方法 | |
An et al. | Avoiding read stalls on flash storage | |
CN111352589A (zh) | 一种分布式存储的方法、装置、设备及可读介质 | |
KR20160121819A (ko) | 이종 메모리 기반 데이터 관리 장치 | |
CN108897618B (zh) | 一种异构内存架构下基于任务感知的资源分配方法 | |
US20220382672A1 (en) | Paging in thin-provisioned disaggregated memory | |
WO2017082323A1 (ja) | 分散処理システム、分散処理装置、方法および記憶媒体 | |
JPWO2019008715A1 (ja) | データロードプログラム、データロード方法およびデータロード装置 | |
US11169720B1 (en) | System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly | |
US9305036B2 (en) | Data set management using transient data structures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |