1 .一种数据库操作级别的IO跟踪方法,其特征在于,包括:
针对数据库操作的每次IO访问,确定该IO访问所访问的文件的数据类型;
在所访问的文件中,确定该IO访问所访问的每个数据块的块号和访问模式;
通过块链表的方式记录访问的每个数据块的块号和访问模式;
通过CPU指令计算相邻IO访问的时间间隔;
统计每个数据类型的文件中每个访问模式所访问的数据块的占比信息,并根据所述时
间间隔统计IO访问的时间信息。
2.如权利要求1所述数据库操作级别的IO跟踪方法,其特征在于,确定该IO访问所访问
的每个数据块的访问模式,包括:
将该IO访问所访问的当前数据块的块号与上一数据块的块号进行大小比较,如果相
同,则确定当前数据块的访问模式是反复读同一页模式;如果大于,则确定当前数据块的访
问模式是前向访问模式;如果大于1,则确定当前数据块的访问模式是顺序访问模式;如果
小于,则确定当前数据块的访问模式是后向访问模式;和/或,
判断该IO访问所访问的当前数据块与访问上一数据块的时间间隔是否小于10微秒,若
是,则确定当前数据块的访问模式是命中缓存模式。
3 .如权利要求1所述数据库操作级别的IO跟踪方法,其特征在于,通过块链表记录访问
的每个数据块的块号和访问模式,包括:
通过当前一个页面来记录访问的每个数据块的块号和访问模式,在当前一个页面记录
满时再追加下一个页面进行记录。
4 .如权利要求1至3中任一项所述数据库操作级别的IO跟踪方法,其特征在于,统计每
个数据类型的数据文件中每个访问模式所访问的数据块的占比信息,包括:
针对每个数据类型的文件的数据块访问情况,设置连续的内存空间,该连续的内存空
间内的标记位与数据块的块号一一映射;
将被访问过的数据块的块号映射的标记位置为1,通过统计1的数量来每次IO访问所访
问的数据块的总数;
根据每个访问模式所访问的数据块的数量和所述总数,统计每个访问模式所访问的数
据块的占比。
5 .如权利要求4所述的数据库操作级别的IO跟踪方法,其特征在于,还包括:
在所述连续的内存空间中划分一个分区,该分区内的标记位与数据块访问情况中存在
被访问数据块的连续数据块范围内的块号一一映射;
在该分区内将被访问过的数据块的块号映射的标记位置为1,当扫描的数据块的块号
不在所述连续数据块范围内时,则在所述连续的内存空间中新分配一个分区,将该新的分
区的标记位与当前扫描的数据块的块号映射。
6 .如权利要求4所述的的数据库操作级别的IO跟踪方法,其特征在于,通过统计1的数
量来统计被访问的数据块的总数,包括:
通过cpu提供的popcount指令统计1的数量,以统计被访问的数据块的总数。
7 .如权利要求1至3中任一项所述的的数据库操作级别的IO跟踪方法,其特征在于,通
过CPU指令计算相邻IO访问的时间间隔,包括:
通过cpu提供的TSC指令计算相邻IO访问的时间间隔。
权 利 要 求 书
1/2 页
2
评论