《设备扩容稳定性测试方法.pdf》由会员分享,可在线阅读,更多相关《设备扩容稳定性测试方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103116542 A(43)申请公布日 2013.05.22CN103116542A*CN103116542A*(21)申请号 201310028411.7(22)申请日 2013.01.24G06F 11/36(2006.01)(71)申请人浪潮(北京)电子信息产业有限公司地址 100085 北京市海淀区上地信息路2号2-1号C栋1层(72)发明人张志(74)专利代理机构北京安信方达知识产权代理有限公司 11262代理人栗若木 曲鹏(54) 发明名称设备扩容稳定性测试方法(57) 摘要本发明提供了一种设备扩容稳定性测试方法。涉及计算机应用领域;解决了现有测试方法无。
2、法反应系统真实状况的问题。该方法包括:配置测试内容、测试目的和测试脚本;根据所述测试内容和测试目的自动生成测试用I/O数据;对所述测试用I/O数据进行跟踪,记录数据动态;对记录的数据动态进行分析。本发明提供的技术方案适用于在线逻辑存储设备的扩容,实现了自动化的实时扩容稳定性检测。(51)Int.Cl.权利要求书1页 说明书5页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书5页 附图2页(10)申请公布号 CN 103116542 ACN 103116542 A1/1页21.一种设备扩容稳定性测试方法,其特征在于,包括:配置测试内容、测试目的和测试脚本;。
3、根据所述测试内容和测试目的自动生成测试用I/O数据;对所述测试用I/O数据进行跟踪,记录数据动态;对记录的数据动态进行分析。2.根据权利要求1所述的设备扩容稳定性测试方法,其特征在于,所述测试用I/O数据包括:数据库I/O数据、流媒体I/O数据、大数据块I/O、碎片数据I/O。3.根据权利要求1或2所述的设备扩容稳定性测试方法,其特征在于,生成测试用I/O数据的源数据为:已有的测试的数据文件,或通过OS的文件操作的API动态生成的数据。4.根据权利要求1所述的设备扩容稳定性测试方法,其特征在于,所述对所述测试用I/O数据进行跟踪,记录数据动态包括:对所述测试用I/O数据添加标志位信息,在所述标。
4、志位信息中包含多条元数据信息,所述元数据信息由所述测试脚本中配置的逻辑点添加,所述元数据信息包括数据的产生源、数据的目的地址和数据的变化修改时间;在预置的全周期内跟踪所述测试用I/O数据的标志位信息,记录以下数据动态信息:数据的修改、数据的访问流程、数据的读写次数、数据的存储位置;生成包含所述数据动态信息的日志。5.根据权利要求4所述的设备扩容稳定性测试方法,其特征在于,所述对记录的数据进行分析包括:对比缓存数据段与磁盘上相对应的数据是否一致;对比扩容前的数据与扩容后的数据是否一致;对比逻辑设备扩容前与扩容后的数据是否一致;在所述缓存数据段与磁盘上相对应的数据一致且扩容前的数据与扩容后的数据一。
5、致且逻辑设备扩容前与扩容后的数据一致时,判定扩容过程稳定。6.根据权利要求5所述的设备扩容稳定性测试方法,其特征在于,所述对比缓存数据段与磁盘上相对应的数据是否一致具体为:对比扩容前缓存在缓存数据段中的测试用I/O数据与写入磁盘后的测试用I/O数据是否一致。7.根据权利要求5所述的设备扩容稳定测试方法,其特征在于,所述对比扩容前的数据与扩容后的数据是否一致包括:在逻辑设备扩容过程中,分别计算扩容前和扩容后的逻辑设备上的数据按照的组成方式的哈希值;对比扩容前的哈希值和扩容后的哈希值,以确定扩容过程中的存储器和磁盘存储设备上的I/O数据是否一致。权 利 要 求 书CN 103116542 A1/5。
6、页3设备扩容稳定性测试方法技术领域0001 本发明涉及计算机应用领域,尤其涉及一种设备扩容稳定性测试方法。背景技术0002 数据正在以爆炸式速度递增。McKinsey在其发表的2010年海量数据尖端研究报告中指出,它预计海量数据的零售营业利润率将增长60%,这就是海量数据背后的技术变得如此重要的原因。没有一家公司希望自己的交易数据库被海量数据充斥,但信息需求就是这么大,企业必须保证让那些数据随时处于被访问的状态,以便可以实时进行数据分析,企业才能更好地对不断变化的趋势做出反应。0003 在很多企业单位的应用环境中,大量的数据时不能够离线进行逻辑存储设备的扩充,而必须要进行在线逻辑存储设备的扩容。
7、,比如RAID在线扩容、逻辑卷设备的在线扩容等多种扩容方式。传统的数据扩容的测试方法多集中在手动和借助在具体的应用生产环境中进行测试,这些测试会带来经济成本的增加,同时也会带来对测试结果的信息的统计和分析方面的困难,测试的结果往往很难反应系统真实的状况。发明内容0004 本发明提供了一种设备扩容稳定性测试方法,解决了现有测试方法无法反应系统真实状况的问题。0005 一种设备扩容稳定性测试方法,包括:0006 配置测试内容、测试目的和测试脚本;0007 根据所述测试内容和测试目的自动生成测试用I/O数据;0008 对所述测试用I/O数据进行跟踪,记录数据动态;0009 对记录的数据动态进行分析。。
8、0010 优选的,所述测试用I/O数据包括:0011 数据库I/O数据、流媒体I/O数据、大数据块I/O、碎片数据I/O。0012 优选的,生成测试用I/O数据的源数据为:0013 已有的测试的数据文件,或通过OS的文件操作的API动态生成的数据。0014 优选的,所述对所述测试用I/O数据进行跟踪,记录数据动态包括:0015 对所述测试用I/O数据添加标志位信息,在所述标志位信息中包含多条元数据信息,所述元数据信息由所述测试脚本中配置的逻辑点添加,所述元数据信息包括数据的产生源、数据的目的地址和数据的变化修改时间;0016 在预置的全周期内跟踪所述测试用I/O数据的标志位信息,记录以下数据动。
9、态信息:0017 数据的修改、数据的访问流程、数据的读写次数、数据的存储位置;0018 生成包含所述数据动态信息的日志。0019 优选的,所述对记录的数据进行分析包括:说 明 书CN 103116542 A2/5页40020 对比缓存数据段与磁盘上相对应的数据是否一致;0021 对比扩容前的数据与扩容后的数据是否一致;0022 对比逻辑设备扩容前与扩容后的数据是否一致;0023 在所述缓存数据段与磁盘上相对应的数据一致且扩容前的数据与扩容后的数据一致且逻辑设备扩容前与扩容后的数据一致时,判定扩容过程稳定。0024 优选的,所述对比缓存数据段与磁盘上相对应的数据是否一致具体为:0025 对比扩容。
10、前缓存在缓存数据段中的测试用I/O数据与写入磁盘后的测试用I/O数据是否一致。0026 优选的,所述对比扩容前的数据与扩容后的数据是否一致包括:0027 在逻辑设备扩容过程中,分别计算扩容前和扩容后的逻辑设备上的数据按照的组成方式的哈希值;0028 对比扩容前的哈希值和扩容后的哈希值,以确定扩容过程中的存储器和磁盘存储设备上的I/O数据是否一致。0029 本发明提供了一种设备扩容稳定性测试方法,配置测试内容、测试目的和测试脚本,根据所述测试内容和测试目的自动生成测试用I/O数据,对所述测试用I/O数据进行跟踪,记录数据动态,最后对记录的数据动态进行分析,实现了自动化的实时扩容稳定性检测,解决了。
11、现有测试方法无法反应系统真实状况的问题。附图说明0030 图1是本发明的实施例一提供的一种设备扩容稳定性测试系统的结构示意图;0031 图2是本发明的实施例二提供的一种设备扩容稳定性测试方法的流程图。具体实施方式0032 现有的扩容方式的测试只是针对扩容结果的一些测试,比如扩容后数据是否一致,扩容后数据的可靠性等,也不能实现自动化的测试。并没有一种好的测试方法能够实现对扩容过程进行数据检测的一个测试方法。而扩容过程的性能和可靠性,包括时间和空间的开销等对于衡量一个数据扩容机制的优劣起到了决定性作用。0033 因此,目前对于一种能够实现系统的在线测试、能够实现测试自动化、同时能够测试出不同应用环。
12、境下的测试、节约经济成本、能够对结果进行有效的通缉和分析的新型设备动态平滑扩容系统的测试系统的需求是迫在眉睫。0034 为了解决上述问题,本发明的实施例提供了一种设备扩容稳定性测试方法。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。0035 首先结合附图,对本发明的实施例一进行说明。0036 本发明实施例提供了一种设备扩容稳定性测试系统,区别于传统的数据的可靠性测试系统,以自动化产生负载测试数据为核心,通过动态生成负载数据,对扩容逻辑设备的扩容前、扩容后的数据一致性进行测试。同时,也对缓存中的数据域逻辑设备上的数。
13、据一致性进行测试,该系统结构如图1所示,包括:自动生成负载数据模块101,数据迁移数据一致性的测试模块102,数据跟踪模块103,缓存数据一致性模块104,逻辑设备数据一致性的测说 明 书CN 103116542 A3/5页5试模块105,自动性能测试模块106,日志与分析模块107,GUI接口模块108,其中:0037 自动生成负载数据模块101是系统的核心,负责根据各项测试的动态需要进行数据的动态的I/O数据生成,同时,也可以生成实际应用数据,比如数据库I/O,流媒体I/O数据等;0038 数据迁移数据一致性的测试模块102主要负责逻辑设备在扩容过程中相关的元数据信息、数据段数据是否与扩容。
14、前一致,扩容过程中的I/O数据是否一致,以此来衡量逻辑设备扩容的稳定性;0039 数据跟踪模块103主要负责跟踪整个I/O数据的生命周期,比如I/O数据的来源、读写访问路径、数据在逻辑设备上的位置等;0040 缓存数据一致性模块104的作用是对比缓存数据段与磁盘上的相对应的数据是否一致;0041 逻辑设备数据一致性的测试模块105的作用在于对比扩容前的数据与扩容后数据的一致性;0042 自动性能测试模块106是根据自动生成负载数据模块101动态生成的数据,动态的统计数据的访问I/O带宽;0043 日志与分析模块107,记录各个模块的详细信息以及操作;0044 GUI接口模块108用户图形操作接。
15、口,用来协助用户操作本系统。0045 在一个典型的测试环境中,用户首先根据GUI接口模块108配置测试的内容和测试目的(此处配置测试的内容和目的指的是测试人员在测试之初的一个初始化阶段,测试的内容和目的指的是测试人员可以通过本配置功能配置测试的具体内容项,比如测试某功能项,测试某环节性能等),配置好相关的测试脚本(测试脚本是根据GUI页面上的配置的具体内容生成的标准XML文件),并定制需要记录和分析的数据之后(分析的数据包括I/O带宽、I/O聚合队列等),由自动生成负载数据模块101根据具体的测试需要生成测试用I/O数据。测试用I/O数据的生成主要是根据不同的测试目的和测试内容生成不同的数据。。
16、测试用I/O数据生成的方式有多种:可以直接生成一个大数据量的空文件,或者生成一个大数据量的流媒体协议的文件,或者生成多个非连续小数据样本文件等等。生成测试用I/O数据的数据源可以通过各种方式来取得,可以将已有的测试的数据文件添加入本系统作为数据源,也可以在本系统内,通过OS的文件操作的API动态生成数据作为数据源。具体的,测试用I/O数据包括以下数据之一或多种:0046 测试数据库I/O数据、流媒体I/O数据、大数据块I/O、碎片数据I/O。0047 数据库I/O数据指的由MYSQL、ORACLE等数据,流媒体I/O数据指的是音视频数据,大数据块I/O指的是文件数据块超过1M的数据,碎片数据I。
17、/O指的是在存储器中物理分布非连续线性的分布。0048 从数据的自动生成一开始,数据的跟踪模块103开始对数据进行跟踪。具体的,通过对测试用I/O数据添加标志位信息,即增加其元数据描述信息来实现。测试用I/O数据每到达一个测试配置信息的逻辑点都会给测试用I/O数据添加一个描述其状态的元数据信息,这些元数据信息包括:数据的产生源、数据的目的地址、数据的变化修改时间等。跟踪整个生命周期范围内的数据动态,包括数据的修改、数据的访问流程、数据的读写次数,数据的存储位置信息等,以便日志与分析模块107能够记录测试用I/O数据的生命周期,保证说 明 书CN 103116542 A4/5页6分析数据的可靠性。
18、。0049 在逻辑设备在线扩容的过程中,将测试用I/O数据缓存至服务器缓存,再写入扩容的逻辑设备,在这个过程中,进行数据一致性的判断。主要包括三方面:0050 1、数据迁移数据一致性的测试模块102负责逻辑设备在扩容过程中相关的元数据信息、数据段数据是否与扩容前一致。具体的,将扩容前和扩容后的元数据信息、数据段数据分别按照的组成方式计算哈希值,对比哈希值。其中,元数据段包含对整个数据的描述信息;数据段为实际的数据本身。0051 2、缓存数据一致性模块104则主要集中在数据由缓存(主要是指存储器)写入在线扩容的逻辑设备前后的数据一致性,即对比缓存数据段与磁盘上的相对应的数据是否一致。0052 3。
19、、逻辑设备数据一致性的测试模块105的测试在于对比扩容前的数据与扩容后数据的一致性。0053 自动性能测试模块106是根据自动生成负载数据模块101中动态生成的数据,动态的统计数据的访问I/O带宽;由此完成设备容量动态平滑扩容的测试系统的一个典型的测试生命周期。0054 下面结合附图,对本发明的实施例二进行说明。0055 本发明实施例提供了一种设备扩容稳定性测试方法,自动生成测试用I/O数据,并对扩容前和扩容后的数据一致性进行测试,实现了对扩容稳定性的实时检测,具体流程如图2所示,包括:0056 步骤201、配置测试内容、测试目的和测试脚本;0057 步骤202、根据所述测试内容和测试目的自动。
20、生成测试用I/O数据;0058 测试用I/O数据包括:0059 数据库I/O数据、流媒体I/O数据、大数据块I/O、碎片数据I/O。0060 生成测试用I/O数据的源数据为:0061 已有的测试的数据文件,或通过OS的文件操作的API动态生成的数据。0062 步骤203、对所述测试用I/O数据进行跟踪,记录数据动态;0063 本步骤具体包括:0064 1、对所述测试用I/O数据添加标志位信息,在所述标志位信息中包含多条元数据信息,所述元数据信息由所述测试脚本中配置的逻辑点添加,所述元数据信息包括数据的产生源、数据的目的地址和数据的变化修改时间;0065 2、在预置的全周期内跟踪所述测试用I/O。
21、数据的标志位信息,记录以下数据动态信息:0066 3、数据的修改、数据的访问流程、数据的读写次数、数据的存储位置;0067 4、生成包含所述数据动态信息的日志。0068 步骤204、对记录的数据动态进行分析;0069 本步骤中,需要进行三方面的对比,一是对比缓存数据段与磁盘上相对应的数据是否一致,二是对比扩容前的数据与扩容后的数据是否一致,三是对比逻辑设备扩容前与扩容后的数据是否一致。0070 对比缓存数据段与磁盘上相对应的数据是否一致具体为:说 明 书CN 103116542 A5/5页70071 对比扩容前缓存在缓存数据段中的测试用I/O数据与写入磁盘后的测试用I/O数据是否一致。0072。
22、 优选的,所述对比扩容前的数据与扩容后的数据是否一致包括:0073 在逻辑设备扩容过程中,分别计算扩容前和扩容后的逻辑设备上的数据按照的组成方式的哈希值;0074 对比扩容前的哈希值和扩容后的哈希值,以确定扩容过程中的存储器和磁盘存储设备上的I/O数据是否一致。0075 在所述缓存数据段与磁盘上相对应的数据一致且扩容前的数据与扩容后的数据一致且逻辑设备扩容前与扩容后的数据一致时,判定扩容过程稳定。0076 本发明的实施例提供了一种设备扩容稳定性测试方法,配置测试内容、测试目的和测试脚本,根据所述测试内容和测试目的自动生成测试用I/O数据,对所述测试用I/O数据进行跟踪,记录数据动态,最后对记录。
23、的数据动态进行分析,实现了自动化的实时扩容稳定性检测,解决了现有测试方法无法反应系统真实状况的问题。以自动化生产负载测试数据为核心,通过动态生成根据需要测试的不同应用环境负载的I/O数据,对扩容逻辑设备的扩容前、扩容后的数据一致性进行测试,同时,也对缓存中的数据域逻辑设备上的数据一致性进行测试,能够对测试过程进行详细信息的记录,同时对测试结果进行有效的分析和记录,该系统能够记录每一个I/O的生命周期的详细信息。自动化生成负载数据、跟踪数据I/O生命周期、自动记录和分析数据、经济成本低等优点,使得其弥补了传统的测试方案经济成本高测试数据不准确、无法详细分析和记录信息等问题。0077 本领域普通技。
24、术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。0078 可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。0079 上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。0080 上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。0081 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。说 明 书CN 103116542 A1/2页8图1说 明 书 附 图CN 103116542 A2/2页9图2说 明 书 附 图CN 103116542 A。