数据恢复工具软件

2024-10-13

数据恢复工具软件(共12篇)

数据恢复工具软件 篇1

潮汐分析是利用给定验潮站的多年或一段时期内的验潮数据来反演分潮振幅与相位。通常使用的方法有潮汐分析的直接推导法、潮汐分析的最小二乘法以及响应分析法等。其中, 验潮数据是给定一定时期内的短期数据, 利用潮汐数据分析的最小二乘法可以方便地得到潮汐分潮调和常数以及潮汐分潮的调和模型。潮汐分析的最小二乘法是利用潮汐观测数据以及选定分潮的调和系数模型对同一时刻预报分潮值的残差, 利用最小二乘法来确定不同分潮系数, 进而得到该验潮站的潮汐模型。由于最小二乘法确定的分潮系数具有统计最优性, 但由于观测数据量少加上对验潮站的分潮结构先验信息不足, 这样, 在分潮选取与分潮结构组合上具有较大的灵活性, 为此编写潮汐数据分析工具软件, 通过选取不同的分潮组合来分析得到分潮系数, 并确定验潮站的潮汐结构。

1 潮汐分析的最小二乘法

潮汐按照涨落周期和潮差可以分为正规半日潮、不正规半日潮、正规日潮以及不正规日潮[1]等, 常用主要有M2、S2、N2、K2、K1、O1、P1、Q1、M4、M6、MS6等分潮, 各分潮具有不同的周期与振幅 (通常为相对振幅, 取M2=100)。潮汐分析的最小二乘法则是根据不同的潮汐分潮组合来构建潮汐模型,根据验潮站原始观测数据以及潮汐模型的预报值之间的残差,利用残差的最小二乘法来估计潮汐模型的系数。其中, 潮汐模型系数由分潮振幅与各分潮的延迟系数构成, 这样在以保证在满足无偏性、估值方差最小以及一致性的特征下使得潮汐模型系数达到最优。潮汐模型可以用方程式来描述:

式中, a0就是计算期间的平均海面, Ri为潮波的平均振幅, m为分潮的总个数, qi为各分潮的角速率, θi为分潮的各分潮延迟相位, ξ(t)为时刻t的潮高。

在最小二乘准则[2]下, 使得:

式中为计算潮高, ξ(t)为实测潮高。

这样得到了潮汐模型的系数矩阵 (各分潮的振幅Ri与延迟相位θi), 利用这些 参数结合 式 (1) 可以进行 潮汐预报 。

2 潮汐数据分析软件的设计结构

潮汐数据分析软件采用输入数据流-处理-输出数据流的瀑布型设计模式开发, 在进行潮汐数据处理之前, 需事先从分潮集合里选定不同的分潮组合, 其中输入潮汐观测数据流采用文本文件格式给出, 输出潮汐模型系数数据流采用规范格式加以输出, 即潮汐系数 (振幅与延迟相位) 与原分潮相对应, 通过这些数据可以得到分潮的组合模式以及潮汐模型。图1列出了潮汐数据分析软件的设计结构。

3 潮汐数据分析软件的编写

潮汐数据分析软件由潮汐数据文件读写、潮汐数据处理以及潮汐模型系数输出3个模块构成, 不同的模块的软件代码如下:

3.1 潮汐文件读写模块的具体代码

3.2 潮汐数据分析处理模块代码

这里Matrix Mutiply (Matrix *A, Matrix *B) 以及Rotate、Substract、Inverse Matrix均为矩阵 运算函数 , 具体代码 这里省略。

3.3 潮汐模型数据输出模块代码

4 潮汐数据分析软件测试

通过对验潮数据的输入可以得到一段时期内的水位观测数据, 利用分潮模型式 (1) 在满足条件 (2) 下得到各分潮系数, 利用此系数可以预报下期的潮汐水位数据, 得到的分潮模型系数可以经过保存打印输出。图2为具体的潮汐分析软件界面及处理流程图。

摘要:读取原潮汐观测数据文件,选取潮汐分潮生成带参数的潮汐模型,编写潮汐数据分析工具软件来确定潮汐模型各分潮系数,以预报不同时段的潮汐值。

关键词:潮汐分析,分潮系数

数据恢复工具软件 篇2

当你意识到数据丢失需要恢复数据的时候,切记不要再往丢失数据分区存储任何数据了。若是删除了桌面的上数据,通常桌面文件夹位于C盘,最好直接关机,不要对c盘做任何写入修改等操作,也不要下载安装软件到c盘。可以将硬盘取下来挂载到其他电脑上进行恢复,恢复出来的文件切记不能保存到原盘,因为有些文件只是名称有的,很可能你打开就是乱码。

这时我们可以立刻选择一款数据恢复软件来对丢失的数据进行恢复,那么如何正确选择一款数据恢复软件呢?

迷你兔数据恢复工具工程师对选择软件的总结与忠告

1.选择需谨慎。数据丢失之后要选择一款好的数据恢复软件来进行恢复,如果贪图小便宜随意的使用数据恢复软件来进行恢复(比如看见免费不要钱等)可能会引起更严重的数据丢失。实际上这也是造成数据二次破坏的常见原因。

2.任何存储介质,包括:U盘、光盘、硬盘、磁带等,在数据是对于个人或者公司有用的时候都必须额外小心。

3.价格问题。请确认你的数据的重要性,是不是非恢复不可。因为一般的数据恢复都是要收费的,所以请确认你的数据是不是值这个价钱。

4.当硬盘发生数据丢失的时候,不要再动硬盘里的数据,尤其是往硬盘里写入数据,这可能会造成你的数据直接丢失被覆盖,无法恢复。这样的数据丢失完全是用户自己的误操作,不要怪罪到工程师的头上。

迷你兔数据恢复工程师建议

对比那个数据恢复软件好,可通过:

1、百度搜索关键词看用户评论和口碑;

2、下载软件试用版看能恢复的数据能否正常打开;

3、可以先预览,确定软件数据能否恢复数据;

4、可通过淘宝和购买地址,查看售后评论好不好;

走近数据分析工具 篇3

“大数据”(bigdata)已使许多公司企业、学术机构和新闻媒体为之疯狂;大数据指数量激增的可量化的信息,大部分信息由人们在互联网和社交媒体上的行为生成。企业主管自然被这个想法所吸引:了解顾客消费活动的细节——他们与谁有商业关系、他们喜欢什么商品等,进而就他们的购买倾向得出结论。之所以有望做到这点,一方面归因于这个事实:计算机可进行捕捉数据,供基于互联网的分析工具分析,然后对数据进行分类、过滤和建模等处理。

毫无疑问,大数据将是营销人员眼里下一个改变游戏规则的角色(gamechanger),但一些企业会从大数据当中获得更大的优势。由于现在市面上有用来挖掘数据的自动化工具,许多主管想当然地认为,能够轻松发现之前发现不了的趋势。但是分析工具需要的绝不仅仅是知道事实,还需要合适的分析人员提出合适的问题,才能做出合适的决策。分析工具对数据进行的任何分析并不仅仅停留在询问“什么”上——这本身已经并非易事。你还得问“为什么?”和“接下来是什么?”

为了解答上述这些问题,并充分发挥大数据的潜力,企业就要回归基本面。在过去的25年间,我一直密切关注不断变化的营销分析工具领域,因而学到了始终是高效数据分析计划之核心的三个实用经验,这几个经验对如今贵企业的数据分析计划应该有指导作用:依赖基于理论的方法,不搞盲目的数据挖掘;尽量全面了解你的客户和市场;从实践中学习。

先从理论入手

要是分析人员没有大体的理论,不了解消费者如何养成消费偏爱、并作出相应行动,很快会被现有的大量数据所淹没;哪怕拥有世界上的所有处理能力,也无济于事。首先应该对顾客的需求以及如何为顾客创造价值有一个明确的假设。这也许是处于研发阶段、你认为有望一炮打响的产品。也可能是你的市场中有些顾客其实并不忠于任何一个商家——你稍稍调整做法,说不定能赢得这些“尚未决定投谁一票的人”。一旦你收集到了检验假设所需要的数据,分析数据后通常会形成具体的想法,明白如何制定成功的价值方案,并经受市场的考验。周密的市场细分——根据类似的消费行为或偏好把顾客和潜在顾客聚集起来,就能带来极其有效的定位战略。

一家制药公司力图为一种销路越来越不景气的药品提升销量,相应的销售人员数量已大幅缩减。于是该公司认为,如果更合理地调派剩余的销售人员,也许能改善销量。公司领导人假设,目前制定的销售计划并没有精准地锁定最有可能开他们这种药品的医生。为了验证是不是这种情况,公司收集了大量的数据,以了解治疗这种药品所对应疾病的所有医生——医生们每年开了多少张处方,他们所开的处方数量是增加还是减少,以及医生们青睐哪家制药公司的药品(该公司自己的还是主要竞争对手的药品)。这番分析工作开展下来后,该公司找准了市场的最佳契合点:本来就开大量处方的医生;这群医生所开的处方每年都在增加;并不青睐哪一家制药公司的药品,两种药品所开的处方大致相当。于是销售团队不失时机地抓住了这个机会,收到的效果超乎预期。

窥一斑而见全豹

营销界历史上最重要的经验之一就是,出现一种新的数据源时,大家都对它一见钟情。但是精明的公司往往退后一步思考,尽量全面地了解顾客和市场。它们积极地挖掘新数据源,又不怠慢可能为分析人员提供重要的缺失数据的其他信息。

别忘了:这不是数据变革头一次为营销人员改变游戏规则;以往的转变并非总是一帆风顺。上世纪80年代中期,条形码扫描技术的出现让企业能够在付款台收银机处收集信息。在这之前,收集的数据很有限;企业只知道自己发了什么货,可以问顾客购买了什么货品。但条形码扫描器问世后,企业实际上在销售点就能看到发生的消费行为。在这项技术的早期应用阶段,这种新的认识反而导致了许多失误。那是由于,主管们过于关注价格促销对销售带来的影响,结果忽视了营销基本面:品牌资产和品牌树立。不过随着时间的推移,许多企业建立了更高级的统计模型,改变了工作重点;在近30年间,条形码扫描器成了对消费者营销和零售业帮助最大的工具。(如今,这种销售点信息的涵义已有所扩大,还包括忠诚卡数据,这让零售商得以深入了解每户家庭把什么商品放到购物篮里,并深入了解网上购物行为。)

就像条形码早期有缺陷的营销投资回报率模型一样,最新的大数据分析也可能有误导性。许多零售商说:“我对于自己货架上销售的商品了解得一清二楚。我非常清楚我那些拥有忠诚卡的顾客。但是把类似顾客之前购买的商品的更多货色上架后,我们却没有看到预期的销量增长。”

缺少了什么环节?如果零售商一味关注最新的数据源,有可能无意中形成狭窄的视角,对顾客缺乏全面的了解。不过,零售商需要尽可能广泛的视角,全面了解客户的购买路径。我们有时称这种视角为“窥一斑而见全豹”。这意味着,更全面地了解你与顾客的互动关系与该顾客与其他零售商或其他公司、购物渠道或活动的所有其他互动关系相比怎样。要是对此缺乏深入了解,顾客就会转投另一家公司,你的销量增长计划无异于面临很大的风险。

从实践中学习

为了获取、协调和挖掘新数据源而采取的头几个措施几乎总是会带来激动人心的新洞察力。你获得了这些洞察力后,敢于尝试新方法、质疑传统的公认方法将至关重要。你可能了解顾客方面的信息,因而促使你质疑某些产品、服务或战略。有太多的事情需要兼顾。我常常建议企业不妨先开展几个试点项目,而不是建议一下子全身心地投入到分析工具。想跑之前先学会走,这大有助益:企业可以挑选想重点关注的某个产品、某个地区和某个问题,然后向自己表明回报大于成本,因而有必要购买分析工具。

比如说,一家跨国能源巨头决定处理这个问题:使用更先进的分析工具,量化并加大营销投入方面的回报。高层主管们选择了涉及三个国家的两个业务部门,覆盖发达市场和发展中市场,开展试点项目。每个项目的概念框架和目标都一样,但是在欧洲经营加油站、在亚洲销售车用机油需要不同的数据集和分析工具。这种多样性让这家公司得以尝试更广泛的可能切实可行的方法,然后确定哪些方法应该用于哪种情形。此外,它们与其他业务部门和国家分享成功经验,从而激发大家对这个项目的热情。结果是推出了一个复杂但注重实效的项目,最后在全球范围内得到了推广、接受和使用。

回归基本面

许多主管对使用大数据颇有兴趣,可是在最新的分析工具和技术方法方面相对缺乏一手经验。就在一开始,他们通常问我这要花多少钱。我忍不住给出的答复是:“如果做出错误的决定,会蒙受多大的损失?柯达公司不够迅速地应对新兴的数字摄影技术,它蒙受的损失有多大?”我比较直接的回答是,分析工具可能需要一大笔投入,首先需要合并和协调数据。除此之外,企业需要训练有素的专业人员,才能开展更高级的工作,发掘隐藏模式,解读这些模式,并将它们转化为企业可以派用场的洞察力。

但是正如这三条基本经验表明的那样,这是个可控制的过程,并有望获得显著回报。实际上,我的切身感受是,一旦企业开始投入到分析工具,几乎停不下来。它们因此掌握的信息可以不断改进业务,因而带来更大的回报。分析工具已成为许多企业增强市场地位的一种自给自足的方法。

(本文原载《战略与经营》杂志,作者StevenVeldhoen是博斯公司大中华区合伙人。沈建苗翻译)

数据恢复工具软件 篇4

硬盘数据恢复技术是一种跨硬件平台、跨软件系统的特殊的计算机技术, 是现有所有计算机数据存储技术的集合, 是在人们对信息的依赖性越来越高、信息数据的价值远高于设备本身的情况下应运而生的, 它是针对数据的丢失和破坏进行的一种数据挽救措施。

本论文主要结合硬盘的工作机制, 对其数据丢失恢复进行分析研究, 以期能够提出一种安全可靠的硬盘数据丢失恢复软件的设计实现, 并以此和广大同行分享。

2. 硬盘数据存储原理分析

硬盘是用来存储数据的, 为了方便使用和管理这些数据, 这些数据又是以文件的形式存储在硬盘上。任何操作系统都有自己的文件管理系统。不同的文件系统又有各自不同的逻辑组织方式。本论文主要对FAT32文件系统下硬盘的数据结构进行分析。

在硬盘的数据存储中, 在主引导扇区之后, 从0柱面0磁头2扇区到0柱面0磁头63扇区这62扇区空间为系统保留, 为以后的其他特殊用途留有余地。在系统保留扇区后是第一个系统的引导扇区DBS。它位于0柱面1磁头1扇区。

D B S (D i s k B o o t S e c t o r) 除了引导程序部分D B R (D i s k B o o t Record) , 还有一个重要的即BPB参数表, 记录了保留扇区、FAT、FDT等在各个分区中的起始位置。系统在磁盘分区上逻辑地划出若干个大小相等地“簇”, 每个簇都有一个逻辑编号, 文件在磁盘上地存放并不是连续的, 为了让系统了解文件数据在磁盘上的分配情况, 从而能够建立、管理和访问文件。FAT16、FAT 32系统采用FAT簇链的方式来实现, 过程大致如下:FAT区中被逻辑地划分出若干个FAT项, 每个FAT项有一个逻辑编号, 不同FAT结构的FAT项的长度是不一样的, FAT 16结构的分区中每个FAT项占用16位, FAT32结构的分区中每个FAT项占用32位, 这个编号对应了数据区中的若干个簇。

FAT1和FAT2是两个完全一样的FAT, 系统同时建立两套完全一样的FAT链, 这样做的目的是当FAT1损坏时可以用FAT2进行恢复。在FAT区后面是系统的根目录区, 由若干目录项组成。在根目录区后面是文件的数据区, 这个区域中存放的是用户和系统建立的文件数据, 这个区被逻辑地划分成了若干个大小相等的簇, 从而便于系统管理和使用文件。

其他格式类型的数据存储原理与上述FAT格式原理基本相同, 这里就不一一赘述。

3. 硬盘数据丢失恢复软件的设计研究

3.1 删除原理

Windows操作系统在删除硬盘上的一个文件时并没有真正的将文件数据彻底抹去, 而是做了一个删除标记。文件删除分为经“回收站”删除和不经过“回收站”删除两种。经“回收站”删除时将文件暂时放到回收站中。系统在文件的目录项上作上标记, FAT表和DATA区在删除前后都不作改动。而不经过“回收站”删除一个文件时, 即将删除过的文件从回收站清空。此时, 系统在文件的文件目录项FDT上作了个标记, 即把记录文件名的首字节标记为ESH, 并把相应的FAT表项值更改为OH。文件在DATA区的数据并没有删除。因此通过第三方恢复软件可以恢复这些丢失的数据。需注意的是, 发现文件丢失后, 在数据恢复前不要向该分区或磁盘写入信息, 因为向该分区或磁盘写入信息就可能将误删的数据覆盖。而造成无法恢复。准备使用恢复软件时, 不能直接在本机装这些恢复工具, 因为软件的安装可能恰恰把刚才丢失的文件覆盖掉。最好使用能够从光盘直接运行的数据恢复软件, 或把硬盘挂在别人的机器上进行恢复。

3.2 文件分配表机制分析

FAT (File Allocation Table) 即文件分配表, 是DOS/windows系统的文件寻址系统。对于FAT32格式, 位置是从引导扇区开始的第32个扇区就是第一个FAT表的位置, 其大小由这个分区的空间大小及文件分配单元的大小决定, 文件分配表占据扇区的多少凭磁盘类型大小而定。

文件分配表是用来表示磁盘文件的空间分配信息的。它不对引导区、文件目录表的信息进行表示, 也不真正存储文件内容。其主要功能是:表明磁盘类型、表明每个文件所占簇链的使用情况、标明坏簇和可用簇。为了防止意外损坏, FAT一般做两个, 第二FAT为第一FAT的备份, FAT32采用4个字节来表示簇的位置。磁盘的最小存储单位是扇区, 若干个扇区合为一个簇, 在FAT32中每8个扇区为一个簇进行编号, 每个簇在文件分配表中都有对应的表项, 簇号即为表项号。在FAT文件系统中对数据区的存储空间是按簇进行划分和管理的, 由于FAT32中文件的存放是链式存储结构, 它可以由若干个连接的簇进行连接存储, 在表项内的数值是该文件的下一个簇的簇号, 值到最后一个簇的标志为结束。

3.3 数据丢失恢复的设计思路

在编写程序前先来分析一下程序要做的事情。该程序的主要功能是通过用户指明的文件名和盘符找到FAT32卷中被误删除的文件数据, 然后进行恢复。根据前面的分析我们知道, 硬盘上的文件是由FAT表和FDT目录项进行统一管理, 而FAF与FDT对数据的存储管理又是链式的。因此, 通过链式搜索查找, 可以准确定位被误删除的文件在磁盘中的确切位置。

当文件被删除后, 该文件FDT目录项的首字节的值被改成“ES”, 引导扇区的第二个扇区中表示该分区点用空间大小的相应信息也被同时改写。因此, 在程序设计时, 要根据其存储结构, 对相应的地方进行修改, 来搜索ES删除标志, 再通过被删除文件的数据链来进行恢复。整个流程大致如下:

(1) 获取磁盘分区类型, 分区存储空间, FAT、FDT文件等存储的起始扇区。

(2) 获取FAT、FDT表项内的簇信息, 即簇的删除、未使用、坏簇、以及占用簇的起始扇区信息。

(3) 通过FAI, 、FDT计算不同文件在物理扇区的起始位置, 包括有标识ES除文件起始位置、文件类型、占用大小和文件存储的所在簇。

(4) 改变删除位, 通过过程 (3) 得到的结果, 并按FAT表对文件进行链式查找并缓存, 当达到文件所在簇尾时, 停止操作。

(5) 对存储的数据进行转换, 生成文件.

(6) 对文件进行异区存储。而操作系统在读写文件时, 会根据FDT中的起始单元, 结合FAT表就知道文件在磁盘的具体位置, 然后顺序读取每个簇的内容, 从而完成文件的恢复工作。

4. 结语

“硬盘有价, 数据无价”。针对愈演愈烈的数据丢失和破坏现象, 如何保护好这些重要数据, 如何在数据被破坏或丢失的情况下, 尽可能的恢复这些信息, 将是一项长期而艰巨的任务。基于windowFAT32操作系统, 本文对数据恢复的基本技术进行了分析和讨论。对于进一步提高硬盘数据被删除后的恢复应用水平具有较好的实用价值和指导意义。

参考文献

[1]戴士剑, 涂彦晖.数据恢复技术[M].北京:电子工业出版社, 2005.

[2]黄步根.数据恢复与计算机取证[J].计算机安全, 2006, (6) :32-33.

[3]戴士剑, 涂彦晖.数据恢复技术 (第2版) [M].北京:电子工业出版社, 2007.

数据恢复工具软件 篇5

比如我的一块3.2gb的昆腾硬盘分为c、d两个区,共有800kb的坏道且分布在多处,由于坏道的原因经常一打开“我的电脑”就死机,而且系统非常不稳定。用windows的完全磁盘扫描一次竟然需要五个小时,而且在每一次非正常关机后都会进入完全扫描。另外坏道还在继续扩散。后来我用hdd修复了坏道,电脑也恢复了正常。下面就与我一起来和坏道说bye―bye。制作启动盘下载程序解压后运行其中的hddreg_v1.31.exe,按提示安装好hdd。运行程序后单击regeneration―>create dikette按提示插入软盘创建一个启动盘。(注:程序也可以直接运行在windows 98下,方法是单击regeneration―>start regeneration,程序就会运行在windows 的ms-dos下,不过为了数据的安全建议在纯dos下运行)。

图1扫描坏道将电脑用启动盘启动后程序会自动运行 (注意:请在bios中将软驱设置为第一启动)。程序首先会检测你电脑中的硬盘并要求你从中选择一个需要修复的硬盘如图1(如果你不止一块硬盘),选择后单击回车,hdd开始执行扫描,hdd可以从任意位置开始扫描。如果你事先知道坏道的位置可以直接填入相应的数值回车即可(如图2),这样可以节约很多时间。如果要停止扫描随时单击“ctrl+break”即可退出程序。

&nbs

认识软件定义的数据中心 篇6

还原真实面目

IT界下一个流行的术语很有可能会是软件定义的数据中心(SDDC),在旧金山召开的VMworld2013大会上,SDDC俨然成了VMware的主要话题之一。但随着VMware的合作伙伴和竞争对手设法证明自己到底有多么“软件定义”,这个术语势必也会丧失其原来的含义。

那么,该如何定义“软件定义”呢?软件定义是指将硬件抽象成纯软件解决方案,进而处理传统由硬件处理的任务。这种想法往往是对的,但过于简单了。即使在没有专门定制硬件的帮助下,用软件部署了某个系统,该系统也不会因此成为软件定义。实际上,使用专门定制的硬件根本不妨碍该解决方案称之为软件定义。

相反,软件定义的XX——无论XX是存储、网络还是整个数据中心基础设施,其真正的性质与可能用到什么硬件没有多大关系,而是与如何管理和控制密不可分。

想深入了解下一代数据中心的基础设施,有必要看一下符合要求的当今技术。以利用虚拟化技术的惠普LeftHand P4000系列SAN为例,当初,LeftHand Networks还是家独立公司的时候,作为P4000核心的SAN/iQ软件是一个分布式、基于Linux的iSCSI存储平台,通常部署在通用的、与厂商无关的服务器硬件上。LeftHand被惠普收购后,SAN/iQ与惠普ProLiant服务器开始一并交付,但它完全可以在任何基于x86的硬件上运行。此外,SAN/iQ平台还作为虚拟SAN设备(即VSA)来销售,从某种意义上来讲,P4000实际上是软件定义的产品——惠普在销售时也经常这么说。

只要将传统上基于硬件的服务移植到虚拟化环境,就能获得一些好处,这点不可否认。以P4000这类基础设施来说,它的下面有一个虚拟化的抽象层(比如VMware的vSphere或微软的Hyper-V),这为用户提供了灵活性,可以独立于P4000软件升级之外进行硬件升级。它还可以让用户充分利用通用服务器硬件,同时提供计算资源和存储服务——用户甚至不需要专用的存储硬件或存储网络设备。不过,因为P4000 VSA属于虚拟化产品,是纯粹基于软件的解决方案,因此并不能说它是真正的软件定义。

其实,软件定义取决于实施抽象的控制面和管理面——也就是用于控制和管理的渠道完全独立于用于迁移或存储数据的渠道。同时,还要求在控制层和管理层里面构建开放的、与厂商无关的整合链条,那样它们就能与数据中心基础设施的其他部分全面集成,反过来也是如此。

由于这种抽象机制,在不远的将来,用户需要根据自己在灵活性和性能方面的具体要求,从不同厂商处选择管理平台、控制平台和数据平台,只是单单用软件部署传统上基于硬件的解决方案已经不行了。

获取真正价值

实际上,对于软件定义的数据中心可能存在的重大误解之一就是,整个解决方案必须用软件来部署。当前最能充分呈现软件定义的愿景的例子之一就是VMware新的软件定义的网络平台,一句话,VMware NSX代表了完全取代让网络成为网络的一切系统,第三层交换机、路由器、防火墙、入侵检测系统/入侵预防系统(IDS/IPS)、负载均衡系统和VPN端点等硬件都可以抽象处理成不依赖硬件的软件部分,这些独立的逻辑角色可以按需部署,以满足不一样的网络需求,不需要另外添加硬件。

就初期版本而言,NSX的管理面由虚拟化的NSX管理器来提供。NSX管理器包含大量的应用编程接口(API),可以支持与VMware的vCenter、vCloud Director和vCloud Automation Center集成,还可用于管理构成控制面的虚拟化NSX控制器。不过,通过使用开放的REST API,NSX控制器还可以由OpenStack、CloudStack或你可能想要与之集成的任何云管理平台来管理。虽然仍需要有一些传统的网络硬件,让vSphere主机能够与其他vSphere主机以及企业局域网和广域网的其余部件进行联系,但配置这些设备的工作变得非常简单,相对静态。只有在添加新的虚拟化主机,或需要更多的原始带宽时,配置才会发生变化;对在里面运行的虚拟环境进行改动时,配置不会发生变化。用户甚至可以把那些网络资源想象成电力。只要你接入电网,又有足够的电力,就可以放心地使用。而所有真正神奇的活动都会在动态管理和控制的硬件里面进行。

软件定义的数据中心仍处于发展初期,但它在今后几年会出现大量的创新。随着这股潮流越来越旺盛,许多厂商会纷纷加入行列。从现在开始,不要再以为某个系统用软件部署,便可以称之为“软件定义”了,只有通过重新设想管理和控制数据中心资源的方式,不仅限于简单的虚拟化,才能真正获得软件定义的好处。

链接

软件定义数据中心的真正意义

软件定义数据中心的一个关键因素就是虚拟化。我们可以将三大关键的计算资源虚拟化和池化,它们就是服务器、存储和网络。而目前这种让软件定义数据中心得以实现的、尚未成熟的技术就是网络虚拟化。不过Arista、思科、微软和VMware都在这方面下着功夫——VMware甚至为此而收购了Nicira——它们的目的都是为了让虚拟网络能够预配置、预扩展,甚至可以像我们创建和迁移虚拟服务器那样,迅速便捷地跨物理网络进行迁移。

其实,由软件定义的数据中心可以将虚拟化技术的好处扩展至包括计算、存储、网络、相关可用性和安全服务在内的数据中心所有领域,从而实现支持灵活、弹性、高效和可靠IT服务的云计算环境。数据中心架构提取所有硬件资源并将其汇集成资源池,支持安全、高效、自动为应用按需分配资源。客户可拥有自己的虚拟数据中心,其中包括其惯用的所有虚拟计算、存储、网络和安全资源。客户可以在几分钟内完成数据中心的创建、配置,并投入使用完整虚拟数据中心。同时,基于云的灾难恢复服务可以使用户无需再投资灾备基础设施。

数据恢复工具软件 篇7

关键词:AIMS,Python,SQLite3

1 引言

航班信息系统英文简称AIMS,软件版本2.5,它是天津空管业务中除thales自动化处理系统以外的另一个重要生产系统。该系统为所有保障飞行安全运行提供服务,程序化和标准化管制员的日常操作,降低人为差错的可能性。在飞服、进近、塔台部门和外地管制部门之间传递信息,使管制单位的相关人员了解航空器飞行计划、掌握飞行动态、进行相关业务数据处理。系统主要服务器由AIMS服务器和前置服务器组成,由于当时AIMS系统没有采用群集技术,主备系统进行切换时需要手工同步数据。保存在oracle数据库中的数据采用手工方式备份,数据的恢复也只能使用手工方式,备份的脚本有好几个,备份的表有31个,恢复后没有程序进行恢复效果的检查,在工作中容易出现备份或恢复出现遗漏的情况,仅靠人工去比对话工作量很大也不现实。本文使用Python编写程序,让程序检查,做数据恢复情况的检查工作。

2 数据恢复情况软件的设计

2.1 系统的连接和工作情况

航班信息系统主备用系统分别连在两个不同的交换机上,由于主用服务器和备用服务器的ip地址完全一样,平时正常工作的时候只有主用系统连接终端,备用系统没有外接终端,系统的数据保存在oracle数据库中,主备用系统之间数据的同步依靠exp和imp命令。系统的连接情况见图1。日常需执行脚本有导出今日明日计划、导入今日明日、导出空军计划、导入空军计划。主备切换需执行脚本:导出资料库、导入资料库、导出航路、导入航路、导出用户和设置、导入用户和设置、导出今日明日、导入今日明日、导出空军计划、导入空军计划、导出长期非定期和导入长期非定期。冬春和夏秋航班换季时需要执行脚本:导出长期非定期、导入长期非定期、导出今日明日计划和导入今日明日计划。

2.2 数据恢复情况检查软件的设计思想

为了减少差错和提高工作效率,编制程序作数据恢复情况的检查,程序设计语言使用Python。Python是一种面向对象、解释型计算机语言,它自带一个轻量级的关系型数据库SQLite3,SQLite3遵守数据库的四个要素:原子性、一致性、隔离性和持久性,支持事物操作,所有的维护来自于程序本身,Python非常容易读取和保存数据到SQLite3。我把所有需要保存的oracle数据库表名保存到SQLite3中。备份时,根据SQLite3中的表名,统计出每个备份Oracle表的记录数,表名和每个表的行数写入plan_main.txt文件,恢复时做同样的操作,只是表名和每个表的行数写入plan_back.txt文件。做检查恢复情况时,比较两个文本中每个表的记录行数就可以知道那个表已经恢复好了,那个表还存在问题。

3 数据恢复情况软件的实现

3.1 在SQLite3中建立需要备份表名的表

CREATE TABLE table_back(id INTEGER NOT NULL PRI-MARY KEY,table_name TEXT,description TEXT);

Id字段为序号,table_name字段为oracle数据备份中表的名字,description字段保存脚本操作时的名称。

上表是需要备份表的例子。如果需要备份的表有变化,直接修改table_back中的数据就可以了,不用修改程序。

3.2 数据库操作

Python对于关系数据库的访问制定了一个标准,SQLite和Oracle数据库都遵从这一规范,高级数据库API定义了一组用于连接数据库服务器、执行SQL查询并获得结果的函数和对象。其中主要有两个主要对象:一个用于管理数据库连接的Connection对象,另一个用于执行查询的Cursor对象,首先创建连接对象,然后再创建Cursor对象,使用Cursor对象执行sql操作。连接SQLite3比较容易,importi sqlite3内置模块后就可以了。连接Oracle数据库相对麻烦一些,需要安装cx_Oracle扩展包,安装Oracle客户端软件(oracle Install Client),配置成功后,才能对oracle数据库进行操作。连接数据库时,每种数据库模块都提供一个模块级函数Connect(parameters)。其中实际使用的参数因数据库不同而不同。

3.3 程序关键代码

程序由三个python文件组成:aims_main.py(在AIMS主用服务器上运行)、aims_back.py(在AIMS备用服务器上运行)和aims_diff.py(每个表行数比较)

备份和恢复成功显示”same one”,备份和恢复不成功显示“different one”,数据的比较用程序完成。程序执行完后,为了便于查看比较情况,把输出的文件导入Excel表中,选取部分表,比较情况见图2。

4 结论

本设计采取程序和数据分离的想法,备份的表放在SQLite3数据库中,备份的表发生改变时只需要使用SQLite3修改table_back,程序不用修改。本方案能够很好地完成数据恢复情况的检查工作。Python语言简洁、面向对象、容易读、易于扩展和易于维护,调试和修改都很方便,拥有一个强大的标准库,标准库提供了系统管理、网络通信、文本处理、数据库接口等功能,非常适合扩展程序的功能。

参考文献

数据恢复工具软件 篇8

1 主引导记录的结构、主要功能及工作流程

1.1 主引导记录的结构

硬盘主引导记录 (MBR) , 位于硬盘的0柱面0磁头l扇区处。其包括硬盘主引导记录MBR和分区表DPT以及结束标志“55AA”[1], 这部分数据总共占512字节, 其中MBR占其中的446个字节, 另外的64个字节交给了分区表DPT, 最后2个字节

“55AA”是分区的结束标志[2]。值得一提的是, MBR是由分区程序 (例如DOS的Fdisk.exe) 产生。具体结构如表1。

(1) 硬盘主引导程序, 位于该扇区的0-1BDH处。

(2) 硬盘分区表, 位于1BEH-1FDH处, 每个分区表占用16个字节, 4个分区表 (共64字节) , 16个字节各字节意义如表2。

分区状态标记为活动状态时, 表示当前分区可以引导操作系统, 而非活动状态表示不能引导操作系统。分区从起始到结束地址部分均以 (H/S/C) 记录分区边界。分区起始逻辑扇区及占用总扇区数均以LBA方式表示分区范围。

(3) 主引导记录正常状态下的标志为“AA55”, 位于1FEH-1FFH处, 如该标志改变系统将不能正常启动。

1.2 MBR的主要功能及工作流程

计算机系统启动首先对本机的硬件设备进行测试, 测试成功之后进入自举程序INT l9H, 然后将磁盘的0柱面、0磁头、1扇区的主引导记录内容读入内存指定单元, 其首址为0:7C00开始的区域, 并执行MBR程序段。主引导记录优先于所有操作系统被调入内存的指令, 并发挥主导作用。最后把控制权交给主分区 (活动分区) 内操作系统, 并让主分区信息来管理硬盘。可见, 主引导记录不依赖任何操作系统, 且硬盘引导程序为可变的, 因此完全可以实现多系统共存 (但最多4个系统) 。MBR主要功能如下:

(1) 首先检查硬盘中分区表是否完好。

(2) 从分区表查找可引导的“活动”分区。

(3) 将活动分区中第一逻辑扇区数据加载到内存中。在DOS分区中, 该扇区内容被称为DOS引导记录, 简称DBR[4]。

MBR引导部分的程序段执行程序流程, 如图1。

根据上述的MBR的工作流程, 可以在系统引导时加入或改变计算机系统正常的引导过程。比如, 优先执行用户程序段, 再引导操作系统。因此, 可以利用这一特点来实现数据保护和数据恢复功能。例如, 当前流行使用的硬盘保护卡、还原软件等均为改写0柱0头1扇区的代码部分, 在系统启动时抢夺中断INT 13H的控制权, 先将原中断INT 13H的入口地址保存起来, 然后将入口地址指向自己的INT 13H处理程序, 并通过自已的监控部分的程序来确保该入口地址始终指向自己的INT 13H, 同时拦截所有的其他INT 13H中对硬盘0柱0头1扇区的操作, 把所有对0柱0头1扇区的读写操作改为对虚拟主引导记录的操作。在拦截所有INT 13H写硬盘操作后, 将把所这些写操作在虚拟内存中进行, 并做好完整的记录, 等系统重新启动后还原这些记录[5], 实现数据保护与数据恢复功能。

2 软件层面上的MBR数据恢复方法

硬盘是计算机的主要外部存储设备, 大多数用户的数据都存储在硬盘上, 如果硬盘出现故障, 不仅需要维修硬盘, 而且还需要抢救硬盘数据。硬盘的故障常见有两类:一类是硬盘的硬件发生故障, 称为硬故障。硬件故障一般为磁盘划伤、磁组变形、芯片组或其它元器件损坏等。表现为系统一般不认硬盘, 常有一种“咔嚓咔嚓”的磁组撞击声或电机不转、通电后无任何声音、磁头错位造成读写错误等。另一类是写在硬盘上的软件发生故障, 称为软故障, 一般是病毒感染、误操作、操作时断电等引起的。本文仅讨论软故障中MBR数据恢复的软件层面上的解决办法。

2.1 Fdisk/MBR命令修复MBR

用Win98的引导盘或DOS引导盘引导系统到纯DOS命令提示符下执行“Fdisk/MBR”命令进行无条件重写, 主引导记录一般都能成功, 且保留原有数据。Fdisk命令行格式语法为:“Fdisk/参数开关”, 其中/MBR参数功能:重新建立主磁盘的主引导记录。其它的一些隐藏参数, 其功能对于有病毒感染主引导扇区时, 用来清除病毒时用。需要提醒的是, 隐藏参数危险系数比较大, 使用时需谨慎。

2.2 FIXMBR修复MBR

Fixmbr是DOS下的一个专门针对MBR的修复程序工具, 它通过全盘搜索来确定硬盘分区, 并重新构造主引导记录。操作方法是将Fixmbr下载并保存在软盘, 在软盘上运行FIXMBR, 由FIXMBR负责检查MBR结构, 如发现系统有错误, 则将出现是否进行硬盘主引导记录修复的提示。回答“YES”, FIXMBR将对整个硬盘进行分区搜索, 当搜索到相应的分区后, 系统将提示是否修改MBR, 回答“YES”则开始自动修复。如搜索的结果不正确, 可使用/Z开关符, 重新启动系统后将恢复到原来状态。值得注意的是, 如果使用Fixmbr修复的过程中出现死机等现象, 则需要进入BIOS修改参数, 即到“Advance BIOS Features”选项, 将“Anti-Virus Protection”中的参数设置为“Disabled”即可。

Fixmbr只修改主引导记录, 对其他扇区不进行写操作, 安全性较好。其命令格式如下:

上述两种方法均可在程序中进行调用, 即这两种方法完全可以通过软件来实现MBR的恢复。

上述两种方法均可在程序中进行调用, 即这两种方法完全可以通过软件来实现MBR的恢复。

2.3 编制汇编程序结合FDISK重建硬盘的MBR[6]

用汇编语言编制一个内存驻留程序, 其控制中断为INT13H, 目的是实现阻止对硬盘格式化和硬盘主引导区以外的写操作, 该方法既可解决不丢失硬盘原数据文件, 又可修复MBR。

程序如下:

将该程序首先用MASM汇编连接编译成EXE文件, 再用DOS命令EXE2BIN将其转换为COM文件, 最后将其保存在带系统的软盘上。用软盘启动计算机, 运行该COM文件, 阻止对硬盘除0柱0面1扇区以外写操作的程序就可常驻内存。执行FDISK, 将硬盘分成一个逻辑盘便可。使用汇编语言实现MBR的恢复效率更高, 把上述代码修改一下, 设计成DLL (动态链接) 文件, 即可供其他编程语言调用。其实, 汇编语言还可以和其他编程语言混合编程, 如C++、Delphi等, 因此, 若使用编程语言进行混合编程, 其效果更佳。

3 结束语

硬盘主引导记录在硬盘的0磁道0柱面l扇区, 如果“0”磁道损坏, 硬盘就不能再用于启动操作系统。解决这种情况我们的思路是先修复受损的“0”磁道, 然后重建MBR。本文对软件层面上解决“0”磁道损坏的问题暂不做讨论。

摘要:文章通过对硬盘主引导记录的结构、主要功能及工作流程进行研究, 提出一种可以在软件层面上实现的硬盘主引导记录数据恢复方法, 目的是快速、安全、有效地恢复硬盘主引导记录数据。

关键词:主引导记录,MBR,数据恢复,硬盘

参考文献

[1]孙大勇.基于PCI的硬盘保护技术的应用研究[D].合肥工业大学硕士学位论文, 2009, (11) :14.

[2]张京生, 等.数据恢复方法及案例分析[M].北京:电子工业出版社, 2008, (07) :28.

[3]魏豪.基于数据恢复的信息获取技术的研究[D].中国人民解放军信息工程大学硕士论文, 2007, (07) :10.

[4]杨秀清.基于磁盘分区数据恢复技术的研究[D].国防科学技术大学硕士论文, 2007, (04) :P07

[5]李全忠, 张军本.一种真实主引导扇区的备份方法[J].计算机工程, 2007, (11) :274

数据恢复工具软件 篇9

谢少锋强调, 作为十三五开局的第一年, 必须落实“创新、协调、绿色、开创、共享”的新的发展理念, 着力做好软件和信息技术服务产业规划编制和实施, 进一步优化产业政策全面落实企业所得税优惠政策, 支持大众创业、万众创新等六项工作。通过促进两化深度融合, 以服务于制造强国的建设。

姜广智介绍, 北京软件与信息服务产业“十三五”的发展, 围绕“大数据、大软件、大应用”展开新布局。数据是未来企业生命力所在, 企业要提高掌控数据的能力, 集聚大数据、开发大数据。大软件的含义是, 不只是局限在原有的软件概念, 而是软件+的概念, 将软件+到各个行业上去。我们说大应用, 强调的是软件原来是在一个信息系统的范围内工作, 对整个社会的辐射、影响还是不够深刻和紧密, 未来软件将更多进入到社会经济运行的大系统当中, 例如环境保护、大城市管理等, 在这个过程中发挥更大的作用。通过实施“大数据、大软件、大应用”的产业生态战略, 为北京构建高精尖经济结果, 做出新贡献。

北京软协执行会长、用友网络董事长王文京, 北京软协副会长、数码大方董事长雷毅和亚信数据总裁张灏分别以“服务企业的互联网化”、“智能制造和工业互联网”和“释放数据的力量”为题发表了演讲, 表示将通过自身企业的战略布局和前瞻性规划, 以迎接“大数据、大软件、大应用”战略带来的挑战和机遇。

水位数据采集系统软件设计 篇10

关键词:水位数据采集,水位实时检测,mscomm控件,历史曲线绘制

引言

水位实时检测系统主要用于水位实时检测记录。系统主要由上位机及下位机二个部分组成, 由单片机组成的下位机完成对水位高度的实时检测、数据处理、贮存 (相关内容已另有文章发表) 。水位数据采集系统上位机软件主要利用mscomm控件实现和RS232串口的数据通信, 实现了对下位机参数设置、数据采集、传输, 保存、查询。并利用picture控件实现水位历史数据的曲线绘制。

1 硬件系统结构

1.1 单片机及外围线路。

水位检测系统下位机的单片机选择了PHILIPS公司近期推出51LPC系列中的P87LPC764 OTP单片机, 该系列单片机采用80C51改进型MCU、增加了WDT看门狗、I2C总线及PWM输出[2]。存储器选用了新型、大容量Flash:MM36SB020。MM36SB020是MEGAWIN公司生产的低功耗、大容量串行e-Flash存储器。存储空间为2Mbits, 由52048个页面组成, 每个页面为128字节。RS232串口驱动芯片采用了MAX232并通过串行中断的方式现实上下位机的通信连接。

1.2 传感器及信号调理电路。

水位传感器选用Motorola公司的高精度X型硅压力传感器[3]。传感器的信号调理电路如图2所示, 水位信号经MPX压力传感器变为电信号, 再送入放大电路, 进行调理后输出到A/D模数转换。1.3电源管理及信号采集。由于实时时钟芯片及掉电状态下的单片机应处于长期的电源供电状态。而其它线路处在间隙性工作状态, 以延长蓄电池的工作时间, 因此采用了间隙电源管理方式, 最长采集间隙周期为4小时, 而系统的最小采样周期为1分钟。由于间隙数据采集的特点, 在上电后, 必须等传感器处于稳定工作状态后, 才可采样, 因此必须进行一定的延时稳定。

2 下位机软件设计

下位机软件的设计主要包括主程序及串口中断服务程序的设计。主程序主要包括VDD2上电延时、PCF8563时钟信号读取及贮存、水位数据采样及处理、PCF8563计数定时启动、掉电状态进入程序、掉电状态中断唤醒程序等模块组成[4]。

水位数据一次采样采集10个水位数据, 软件滤波、误差修正后, 送存储器保存。间隙性时间长短由实时时钟芯片PCF8563的8位的计数器定时产生, 其最长定时时间为255分钟, 而最小定时时间设计为1分钟采集一次。

3 上位机软件设计

上位机软件设计主要包括利用Mscomm控件实现RS232串口的数据通信;水位数据采集、传输、保存、查询;利用picture控件实现水位历史数据的曲线绘制;下位机实时时钟设置、水位采集时间间隔设置、系统误差修正、传感器误差修正等模块。

以下对上位机主要软件模块的设计作一分析介绍。

3.1 mscomm串口通信模块。

mscomm控件可以通过串行端口传输和接收数据, 为应用程序提供串行通信功能, mscomm控件可提供两种处理通信方式:一是事件驱动方式, 该方式相当于一般程序的中断方式。当串口发生事件或错误时, mscomm控件会产生mscomm事件, 用户可以捕获该事件进行处理。二是查询方式, 在用户程序中定时查询mscomm控件的某些属性是否发生变化, 从而确定相应的处理。本文采用前一种工作方式, 可以实现接收下位机器从串口上传的数据和对下位机参数的设置。

串口设置的源代码如下:

MSComm2.Comm Port=1'设定Com1

If (MSComm2.Port Open=False) Then

MSComm2.Settings="19200, n, 8, 1

'9600波特率, 无校验, '8位数据位, 1位停止位

MSComm2.Port Open=True'打开串口

End If

MSComm2.Out Buffer Count=0'清空发送缓冲区

MSComm2.In Buffer Count=0'滑空接收缓冲区

MSComm2.Input Len=0

MSComm2.RThreshold=1

MSComm2.EOFEnable=True'接收二进制数据

MSComm2.Input Mode=com Input Mode Binary

MSComm2.Input Mode=1

3.2 上、下位机交互模块。

水位数据采集系统的上位机软件与下位机交互的软件模块有:

联机测试模块、下位机参数设定模块 (包括下位机水位采集时间设定、下位机水位数据记录清除、水位标定标定及误差修正、水位采集时间间隔的设定) 和上传下位机水位记录模块。如水位采集时间间隔的设定的见面见图1。

水位高度的测量由下位机单片机系统中的的Motorola公司的X型硅压力传感器实现。由于传感器存在着线性误差 (包括放大电路、A/D转换器的线性误差) 及离散性的非线性误差, 因此系统设计了传感器的线性误差、非线性误差修正软件。

线性误差的修正在满量程或接近满量程时进行, 由上位机发出相应的指令给下位机, 读取A/D转换器的转换数据, 并由上位机计算出相应的误差系数, 再回传给下位机存贮。

非线性误差修正程序。采用分段线性插值法对测量值的曲线进行误差修正, 按量程分10个工作区段, 其数据处理及贮存方式同系统的线性误差修正。其中非线性误差修正软件界面如图2所示。

3.3 水位记录查询模块。

下位机水位记录上传后, 记录已保存在水位数据文件中。在水位记录查询模块中, 可以打开保存的水位数据的文件, 在“查询历史记录”的对话框中, 选择某一天的某一时间点的水位历史数据进行查看。该模块通过Datacom控件实现日期和时间相结合的选择, 确定要查询的某天的那个水位采集时间点, 然后水位数据会在“数据记录”栏中显示, 水位记录查询界面见图3。

3.4 水位历史曲线模块。

水位历史曲线由VB的picture控件的画线功能来实现, 具体包括:24小时水位历史曲线、月水位历史曲线、年水位历史曲线。

4 结论

通过程序设计实现的水位数据采集软件已完成上位机对下位机的参数设置、误差修正, 数据接收、保存并分析等功能, 实现了课题中对水位数据采集软件要求, 现场使用稳定可靠。

参考文献

[1]龚沛曾, 陆慰民, 杨志强.Visual Basic程序设计简明教程 (第二版) [M].北京:高等教育出版社, 2003.

[2]李玉东, 李罡, 李雷.Visual Basic6.0控件大全[M].北京:电子工业出版社, 2000.

[3]蔡勇, 周明耀.灌区量水实用技术指南[M].北京:中国水利水电出版社, 2001.

惠普扩充数据中心软件和服务 篇11

根据惠普委托The Economist Intelligence Unit所做的一项调查,IT系统延迟正越来越严重。

在接受市场调查的公司中,有25%的IT项目是延期交付的,而产生积极业务成果的IT计划不到50%。

惠普公司的一位发言人说,这是由预算紧缺和手动流程的局限、单点式解决方案以及团队工作相互隔离造成的。

这位发言人说,为了解决上述问题,惠普扩充了自己的产品线,以帮助IT部门确保IT和非IT经理都围绕相同的业务目标工作;利用IT战略、应用、IT运营等IT职能提高内部流程速度;跨不同的IT功能系统实现流程自动化。

Gartner公司研究总监Thomas Murphy说:“企业需要更大的敏捷性,这是大多数新应用实施与修改的动因,这也需要优化应用生命周期的每一个方面。”

大数据方式验证软件商用性能 篇12

关键词:大数据,实验室,模拟测试,运营支撑

1 实验室商用验证

在运营支撑领域, 运营商每个月会产生新需求。这类需求经由软件厂商开发后以新版本的方式发往现场升级。为保障升级后系统平稳运行, 在版本更新之前必须要进行商用验证。因此商用验证的重点就是正确性与性能验证。而软件性能首先表现在响应时间上。还包括资源利用率、可扩展性、系统容量 (并发等) 和系统稳定性等。为了保证系统的稳定运行和持续的良好性能。

由于运营商正常的业务受理、话单计费等实时性非常强的功能, 任何的系统中断都会导致大量用户投诉, 在此基础上, 传统的测试方法并不能保证做到万无一失。最常见的问题是, 新需求在开发完成后会影响到历史需求的实现, 在特定条件下性能会有很大下降之类。因此作者提出以大数据量模拟的方式, 尽可能贴近实际商用环境, 在实验室中对软件版本的正确性与性能进行验证。保障版本质量。

2 大数据模拟验证

大数据验证与其一般的功能验证的区别在于其数据量, 普通功能测试用例一般为数百、数十甚至数个, 其重点在于在一个用例中尽量覆盖足够多的功能点, 测试时把程序看作一个封闭的黑盒子, 完全不考虑程序内部结构对程序接口进行测试。而大数据模以其不是随机样本, 而是全体数据的新视角, 以实际软件使用为模拟用例输入, 其用例量级可以达到千万级别。以其巨量的差异化用例规模来达到覆盖所有功能点的目的。

同时大数据验证拥有普通功能测试所不具备的压力测试的功能。在进行功能方面验证的同时, 也能进行压力与性能方面的验证。

3 实际验证过程

3.1 实验数据

大数据量模拟要求保障原有功能的正确, 因此需要选用具有代表性的数据。一般会选择一个中等偏下的本地网真实用户数据, 和一个月的话单。实际的数据量可以根据测试的主机性能做相应调整。一般建议话单能在24小时内处理完, 为回归测试留出空间。同时话单量不应少于实际话单量的1/10, 总量为千万级别。

压缩话单量的方式建议为随机抽取, 这样可以保证话单类型时间段覆盖面是连续的, 用户群也是连续的。

3.2 正确性

版本的功能正确性首先以功能测试作为保障。常规的功能测试重点在于选择合理的测试用例, 通常需要确定边界, 筛选用例。但是人为的用例设计并不能完全保证用例的覆盖度。大数据量模拟以其巨量测试用例以及对以往业务场景的完整覆盖可以保障原有功能。

在实际测试时, 首先选用基线版本。全量运算所有的话单以及整个计费流程, 完毕后备份实验结果, 作为初始样本。由于此样本是作为正确样本存在的, 因此取用正在现场商用的版本来做基线是一个比较合适的方案。

在验证受试版本时, 将服务器上的环境升级为待试版本。然后重新运行所有话单以及计费流程, 备份运行结果。编写脚本比对运算结果是否一致。确认不一致的原因, 并定位问题。问题修正后重新运行。直到运行结果与正确样本一致或确认新结果是正确的。

3.3 性能及压力

在实验室验证的另一个目的是保证在复杂的处理要求下, 版本的性能保持稳定.因此性能与压力测试必不可少。其目的在于评估系统的能力, 识别系统的瓶颈。常规的性能测试方法一般使用重复性数据实现。但是话单计费时是会做话单捡重, 因此重复话单无法用来做大规模性能测试, 而采用大数据量模拟方式则可以实现。

在运行话单时对主机CPU、内存、磁盘读写等数据进行实时采集并记录, 在运行完毕后, 比对2次运行的相关数据即可得出实际的性能变化, 提前给出测试报告, 保证版本在正式发布时性能稳定。

同时, 由于每次运算的话单量一致, 并且是一次性运行, 将话单量与处理时间经计算即可得出实际的实时话单处理性能。

3.4 指标量化

由于实际商用的主机与实验室主机性能差异很大, 那么实验室的性能数据需要量化为商用性能指标。

实际使用中, 性能指标可以以两种方式发布, 一是相对数据, 一种绝对数据。

3.4.1 相对数据

相对数据用于统计实际执行时与上一版本环比的变化情况。如内存使用率、CPU使用率、磁盘读写量、话单处理时间以百分比上升或下降方式进行统计。

3.4.2 绝对数据

实验室机器的配置需要以绝对数据的方式给出。

主要指标:操作系统版本;相关软件版本:例如编译器, 运行库等;主机CPU数量、性能;内存大小;磁盘类型;用户量;话单量;数据库大小。

3.4.3 数据映射

基于以上数据, 实际商用报告可以根据实际商用现场主机性能情况做一定的映射。最终得出商用报告。

在商用报告中, 需要保证操作系统、软件版本没有官方发布的不兼容问题。CPU差异在映射CPU使用率、话单处理性能时可以按比例加权映射。磁盘性能在关联应用的性能上可以相应调整相关指标例如需要大量读取话单的预处理等。用户量在共享内存的大小上可以同比映射。话单量可以在处理时间、内存消耗上做加权映射。数据库大小在在内存使用上程序加载时间上做加权映射。

3.5 更新基线版本与正确样本

每次验证结束后, 需要将最新的已验证版本作为基线版本保存, 替换原先的版本, 并将最新的做过正确性修正后的运行结果保存为正确样本, 以备后面再次验证。

4 结论

实际生产环境中进行验证而引发的高风险性使得在业务现场验证变得不可实现。本文主要描述在实验室中以大数据量模拟方式验证软件商用后的正确性与性能。以较低的成本实现普通测试所无法实现的现场模拟效果, 从而提高安全性保证。对于相关从业企业来说是一个非常好的实践方式。

参考文献

[1]段念.软件性能测试过程详解与案例剖析[M].北京:清华大学出版社, 2006:2-3.

[2]周煜, 周国庆, 奚文骏.软件测试技术概述[J].中国测试技术, 2005 (03) :56-58.

上一篇:盆栽葡萄下一篇:经济思维逻辑