软件故障诊断

2024-10-19

软件故障诊断(精选9篇)

软件故障诊断 篇1

0 引言

随着计算机和信息技术的发展及其在军事领域的广泛应用,软件在软件密集型装备中所占的比重越来越大,对于提高武器装备的作战能力和指挥能力起到了越来越重要的作用。当前软件密集型装备软件普遍存在软件质量与可靠性水平低的问题,而由于软件故障的不易复现等原因,软件缺陷和故障难以得到很好的诊断定位,给软件维护工作造成很大困难。

而随着软件规模越来越大、结构越来越复杂,加上实时软件的连续运行,无法实现交互式调试,给软件故障诊断带来了更高的挑战。近年来,国内外有许多学者分别从不同的方面对软件故障诊断进行了研究,主要有:利用FTA和FME(C)A方法[1]、从软件结构出发的研究[2]、利用图论方法[3,4]、利用历史运行或经验数据的研究[5]、利用程序切片和切块技术的研究[6,7]、利用监控技术的研究[8]等。在对这些技术进行广泛研究的基础上,本文提出了一种利用改进的GSP算法挖掘软件运行序列的方法,通过试验表明该方法能够较好地实现自动化软件故障诊断。

1 基于ESBB的软件运行序列收集

作为目标软件运行序列记录的基本工具,嵌入式软件黑匣子[9](Embedded Software Black Box,ESBB)是实现软件故障诊断的前提和基础。借助ESBB辅助嵌入式分析工具,开发人员对目标软件的源代码进行分析,并获取其结构等信息,随后利用ESBB插桩辅助工具在源代码中植入嵌入式黑匣子,编译后交给用户,在用户运行程序后,ESBB自动生成软件运行序列信息记录。

目前,软件黑匣子能够对采用C,C++和C#三种语言编写的软件进行自动解析和插桩操作。图1为自行开发的软件密集型装备综合诊断系统的黑匣子插桩模块。

1.1 软件黑匣子的功能结构

(1)软件运行序列记录模块:

实现软件运行过程中相关信息的记录,包含初始化、数据采集和处理以及数据输出三个子模块。

(2)自动结构分解模块:

根据软件规定功能,自动生成不同功能的调用树,进行软件系统结构的分解。

1.2 软件黑匣子的设计方法

ESBB通过分解诊断对象,分解ESBB,优化记录内容,优化记录存储格式四个步骤实现。通过将目标软件进行多层分解,设计对应不同层次的ESBB,选择合适的插桩记录的规模数量,最后将记录自动快速存储。

1.3 数据预处理

ESBB收集的主要是软件运行序列信息,所以预处理步骤主要包括数据清洗和规则化变换,解决ESBB记录的误差和转化过程中格式不统一以及用户提交的软件故障报告的失误与缺失等问题。本文将ESBB收集的二进制记录数据转化为TXT文档,并与软件运行故障报告结果进行合并,得到初始的软件运行序列库。数据预处理是成功进行数据挖掘操作的必要环节。

2 基于元规则指导的改进GSP算法

2.1 序列模式挖掘介绍

序列模式挖掘是挖掘有序元素或事件序列中频繁出现的有序事件或子序列,该问题是Agrawal和Srikant在1995年基于对消费者的购买序列首先提出的[11]。ESBB收集的软件运行序列蕴含着大量软件运行信息,应用序列模式挖掘算法到软件运行序列中,挖掘出其中得到故障的强关联序列,在某种程度上就实现了软件的故障诊断。

序列模式挖掘的基本概念[10]:

定义1 一个序列(sequence)是项集的有序表,记为α=α1→α2→…→αn,其中每个αi是一个项集(Itemset)。一个序列的长度(Length)是它所包含的项集总数。具有k长度的序列称为k-序列。

定义2 设序列α=α1→α2→…→αn,序列β=β1→β2→…→βm。若存在整数i1<i2<…<inm,使得α1⊆βi1,α2⊆βi2,…,αnβin,则称序列α是序列β的子序列,或序列β包含序列α。在一组序列中,如果某序列α不包含在其他任何序列中,则称序列α是该组中最大序列(Maximal sequence)。

定义3 给定序列S,序列数据库DT,序列S的支持度(support)是指SDT中相对于整个数据库元组而言所包含S的元组出现的百分比。支持度大于最小支持度(min-support)的k-序列,称为DT上的频繁k-序列。如果频繁序列β不包含在其他频繁序列中,则称序列β是最大频繁序列。

定义4 序列数据库DT中形如αβ的关联规则通过满足一定的置信度给出。规则的置信度定义为包含序列αβ的事务序列数与包含序列α的事务序列数之比,即

confidence(αβ)=support(αβ)support(α),

定义5 DT中满足最小支持度和最小置信度的关联规则成为强关联规则。

序列模式挖掘的算法主要有AprioriAll、AprioriSome、GSP、SPADE和PrefixSpan、Clospan等,这几种方法都直接或间接地利用了Apriori性质:频繁序列模式的每个非空子序列都是频繁的。

2.2 改进的GSP算法

选用比较成熟的GSP[11]算法,GSP算法统计较少的候选集,并且在数据转化过程中不需要事先计算频繁集。另外,GSP算法的执行时间虽然随数据序列的增加而增加,但是增长并不显著。GSP算法是Apriori算法的原创性频繁项集挖掘算法的扩展[12],整个过程分为两步:一是最大频繁序列的生成,二是规则生成。本文改进后的GSP算法的基本步骤可以描述为以下三步:

(1)频繁序列生成

①扫描序列数据库,得到长度为1的序列模式L1,作为初始的种子集。

②根据长度为i的种子集Li通过连接操作和剪切操作生成长度为i+l的候选序列模式Ci+l;然后扫描序列数据库,计算每个候选序列模式的支持数,产生长度为i+l的序列模式Li+l,并将Li+l作为新的种子集。

③重复第二步,直到没有新的序列模式或新的候选序列模式产生为止。

在连接阶段中,如果去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列相同,则可以将s1与s2进行连接,即将s2的最后一个项目添加到s1中。然后进入剪切阶段,若某候选序列模式的某个子序列不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。

候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列d,找出集合C中被d所包含的所有候选序列模式,并增加其支持度计数。

(2)改进的最大频繁序列生成算法

上面找到的频繁序列并非都是最大的,它们可能有包含关系。假设最长的频繁序列的长度为n,可以通过Answer=Maximal Sequences in∪kLk运算,最终得到最大频繁序列,算法描述为:

在AprioriAll和GSP算法中都是采用的该算法寻找最大频繁序列,这里,寻找子序列的速度是这个过程的关键。

由于一个序列可能同时为多个序列的子序列,这将造成很多冗余的计算量,所以在实现中,采用了只进行一次扫描全部频繁序列集,然后对删除之后结果进一步删除子序列的方法,减少了对频繁序列的大量重复扫描,提高了生成最大频繁序列的效率。

对该算法的具体描述如下:

输入:频繁序列集Lk

输出:最大频繁序列LMax

重复(1),(2)操作

(3)规则生成

通过以上两步得到了最大频繁序列,然后由最大频繁序列生成关联规则。规则的生成简单说就是依次将序列中的项作为规则前件和后件,形成规则,然后通过置信度阈值验证,产生置信度超过阈值的强关联规则。具体步骤如下:

①对于每个最大频繁序列l,产生l的所有非空子集。

②对于l的每个非空子集,如果support(1)support(s)min_conf,则输出规则“s⇒1-s”,其中min_conf是最小置信度阈值。

另外,由于置信度度量忽略了规则后件的支持度,容易产生误导,因此加入了提升度的度量。提升度是一种简单的相关度量,评估一个的出现“提升”另一个的程度,定义如下:

lift(A,B)=Ρ(AB)Ρ(A)Ρ(B)

如果上式的结果小于1,则A的出现和B的出现是负相关的;如果结果值大于1,则AB是正相关的,意味着一个的出现蕴含另一个的出现。如果结果值等于1,则AB是独立的,它们之间没有相关性。上式等价于confidence(AB)/support(B)。本文设定lift的最小阈值为1。

2.3 元规则指导挖掘软件运行序列

元规则指导挖掘,是一种基于约束的挖掘方法,通过指定感兴趣的规则的语法形式对挖掘任务聚焦,可以提高挖掘过程的效率[13]。元规则可以根据分析者的经验、期望或对数据的直觉或者根据数据库模式自动产生[14]。

本文通过软件故障报告在软件运行序列中添加故障标识项F,其余自动添加软件正常运行标识项T,以标识项作为每一条运行序列的最后一个项集。从而软件故障诊断的目的就转化为寻找与故障标识项关联的序列。

因为在生成的规则中感兴趣的是规则后件是故障标识项的规则,所以定义元规则模式为e1e2e3…eiF,其中ei是序列<e1e2e3…ej>中的一个项集,F为故障标识项。项集的特点是ei只包含一个元素,且最后一个项集为FT

定义序列中包含故障标识项F的序列为s记作<e1e2e3…eiF>。支持度(support)定义为序列数据库中包含s的序列的比例,即support(e1e2e3…eiF)=P(e1e2e3…eiF)。置信度confidence定义为序列s中<e1e2e3…ei>发生的条件下,F发生比例,即confidence(e1e2e3eiF)=Ρ(F|e1e2e3ei)=support(e1e2e3eiF)support(e1e2e3ei)

支持度的定义只考虑了包含故障标识项F的频繁序列,这样能大大减少频繁子序列的产生,极大地提高了算法的效率,聚焦了故障诊断挖掘任务,有效解决了GSP算法在处理较大规模数据库或较长序列的时候,产生大量的候选序列集的问题。而按照元规则模式限定置信度,又很大地减少了从频繁序列模式中产生规则的数量,能够直接产生感兴趣的强规则,从而直接得到软件故障的可疑模块,进一步提高了挖掘的有效性和针对性。

3 试验与结果分析

本文采用《visual C++技术内幕》第23节例程(http://www.bhp.com.cn)的源代码进行简单的实例验证,上文描述的算法已经集成在软件密集型装备综合故障系统之中。

对源代码插桩之后,软件进行编译和运行,产生的运行序列经过软件故障报告添加软件运行标识项之后,进行改进的GSP算法分析,产生图2所示的规则:

通过规则得到软件故障可疑模块是编号1-2-10,1-2-11,1-2-12对应的函数,发现其中,1-2-10,1-2-11分别对应的是读取左右边运算数,很显然没有问题。因此,问题集中在编号1-2-12对应的函数上,通过简单的观察得出,是change函数对数值取整时多加了个1,导致结果出错。

4 结束语

本文提出的利用改进的GSP算法分析软件运行序列进行软件故障诊断的方法,为软件故障诊断提出了新的思路。该方法对于规模较大、运行路径和调用关系复杂的软件有很好的诊断效果。

摘要:提出了基于软件运行序列和改进序列模式挖掘GSP算法进行软件故障诊断的方法。首先利用软件黑匣子进行软件运行序列的提取,然后通过改进的GSP算法进行软件故障诊断定位。实例分析结果表明,该方法能有效地挖掘隐藏在软件运行序列中的信息,实现软件故障诊断。

关键词:软件运行序列,序列模式挖掘,GSP算法,软件故障诊断

软件故障诊断 篇2

系统故障:系统不能正常启动、密码或权限丢失、分区表丢失、BOOT区丢失、MBR丢失;

文件丢失:误操作、误格式化、误克隆、误删除、误分区、病毒破坏、 攻击、PQ操作失败、RAID磁盘阵列失效等;

文件损坏:损坏的Office系列Word、Excel、Access、PowerPoint文件;Microsoft SQL数据库复、Oracle数据库文件修复、Foxbase/foxpro的dbf数据库文件修复;损坏的邮件Outlook Express dbx文件,Outlook pst文件的修复;损坏的MPEG、asf、RM等媒体文件的修复,

硬盘软件故障解决

二、硬盘软故障解决方案:

对于出现系统故障的硬盘,我们采用人工计算,将计算出来的正确数据写回相应的位置,在写回之前先将硬盘的相关扇区进行备份。这类故障一般可以恢复到出现故障前的状态。

对于文件丢失型故障,我们采用全盘扫描,找回所有没有被覆盖的文件并存放在我们的工作盘上,待用户验证确认后才能回写到用户盘。我们强烈建议用户用另外一块盘拷贝数据。

软件故障诊断 篇3

2008年,国家电网公司220k V变压器共发生35次故障,其中套管故障34.29%,匝间故障31.43%,分接开关故障22.86%,相间接地故障8.57%,铁芯故障2.85%[4]。从红外诊断角度,可将这些故障分为外部故障和内部故障两大类。外部故障是由变压器暴露在大气中的部位因接触不良、表面污秽等原因引起的,这类故障包括套管故障、分接开关故障等;利用红外图像诊断外部故障非常方便、直观,且能够准确地计算出故障部位的温度值。内部故障是由封闭在绝缘材料、外壳内部的电气故障和绝缘介质劣化引起的,这类故障包括铁芯故障、匝间故障等;由于红外图像反映的是设备表面的热辐射分布,所以在分析内部故障时,需要注意温度场的分布和与同类设备的比较。因此,单一的红外诊断方法很难满足不同故障的诊断需求,而且多数情况下,检测人员仅运用红外仪器对设备进行观测,或是人工地对现场拍摄的红外图像信息进行分析,不能对变压器设备进行系统的故障诊断,也不能对数据进行存储。

针对上述问题,笔者设计了一个基于红外图像诊断方法的变压器故障诊断软件,对现场采集到的变压器红外图像数据进行导入与分析处理,采用多诊断方法综合评估方法给出设备运行状态的评估方案和故障诊断结果,并结合SQL技术实现相关数据的存储和调用。

1 变压器故障的红外诊断方法1

红外诊断方法是变压器故障诊断软件的核心。在红外故障诊断中,根据过热缺陷对电气设备运行的影响程度,缺陷可分为一般缺陷、严重缺陷和危急缺陷[5]。最常用的红外故障诊断方法有表面温度判别法、同类比较法和相对温差法。

表面温度判别法是根据测得的变压器设备表面温度值,对照设备各部位材料的温度和温升极限,结合环境气候条件和负荷对变压器故障进行分析判断的。

同类比较法是根据同组三相设备、同相设备和同类设备之间对应部位的温差对变压器故障进行比较分析的。假设相似的设备为A、B、C,3个设备的最高温度为TA、TB、TC,3个最高温度中的最大值Tmax=max(TA,TB,TC),最小值Tmin=min(TA,TB,TC),温差ΔT=Tmax-Tmin,则根据温差即可确定变压器故障等级。

相对温差法[6]是根据两个测试点之间的相对温差来确定变压器故障等级的。相对温差δt为:

式中T0———环境温度;

T1———发热点的温度;

T2———正常对应点的温度。

当变压器负荷或环境温度不同时,尤其是负载电流过小时,设备的温度值虽未超过国家标准规定值,但是随着负荷的增加或环境温度的上升,仍旧会引发设备故障,在这种情况下表面温度判别法并不适用。当三相设备或者同类设备同时产生热故障时,会导致同类比较法和相对温差法产生误判。因此仅运用单一的红外诊断方法进行变压器故障诊断,会产生诊断误差。

为此,笔者设计了一种多诊断方法综合评估方法对红外图像中的重点区域进行故障诊断,以减少由单一诊断方法引起的诊断误差。首先,通过上述3种诊断方法得到故障区域的3个等级指标L1、L2、L3,再对3个等级指标按照综合评估方法进行评估,最终确定变压器的故障等级。综合评估方法的具体步骤如下:

a.取等级指标中的最大值和最小值,即Dmax=max(L1,L2,L3),Dmin=min(L1,L2,L3)。

b.通过比较指标的最大值和最小值来确定最终等级

当由3种故障诊断方法分别得出的故障等级不同时,取级别最高的作为最终故障等级;当3种故障诊断方法得出的故障等级相同时,则故障等级上升一级。采用这种准则进行综合评估,结合了多种方法的优点,使得故障诊断的精度更高。

图1为某变电所220k V主变压器低负荷运行时的三相套管红外图像。可以看出,左侧套管的发热情况明显不同于同类套管,但是由表面温度判别法测得的最高温度仅为32.4℃,为正常状态,由另外两种红外诊断方法诊断的结果为一般缺陷,采用综合评估方法得出的诊断结果也为一般缺陷,此状况需要进行记录,利用停电机会进行检修。

2 软件设计

变压器故障红外诊断软件的功能结构框图如图2所示。该软件通过人工导入的方式,将现场拍摄的变压器相关红外图像和温度数据批量导入软件中;然后,针对处理的目标图像,通过设计画点和框的功能实现对重点区域的选取,以得到相关部位的温度信息,并将数据存入数据库中;最终,结合多种故障诊断方法,对温度信息进行分析和判断,实现故障诊断、故障诊断报告自动生成的功能。

2.1 重点区域选取

在根据红外图像和温度数据进行故障诊断之前,需要对图像中的重点关注区域进行选择。因此,笔者根据变压器的实际情况,设计了一套红外图像重点区域人工选择算法,该算法主要包括以下7个模块:

a.绘制点。调用鼠标钩子事件,获取鼠标点击时坐标点在红外图像中的相对位置数据,获取该字段后,调用窗体绘制函数,在红外图像上绘制点。

b.绘制框。调用鼠标钩子事件,获取鼠标按下、移动和按起时的坐标,然后实时地调用窗体绘制函数,在红外图像上动态绘制框。

c.选中重点区域。调用鼠标钩子事件,获取鼠标按下时的坐标,并搜索该坐标是否存在于已经绘制的区域中。为方便选中重点区域,点和框的搜索区域为点位置与边框位置的外延数个坐标点内的区域。

d.移动重点区域。调用鼠标钩子事件,获取鼠标按下、移动和按起时的坐标,并计算鼠标移动的一个矢量数据。然后把该矢量数据实时地与重点区域的所有坐标点做向量加法,实现动态移动重点区域。

e.重点区域变形。调用鼠标钩子事件,获取鼠标按下、移动和按起时的坐标。首先搜索鼠标按下时所对应的重点区域的位置信息,确定需要变形的方位。然后在该方位上根据鼠标移动的矢量数据做相应的加法或减法,实现对重点区域的变形。

f.删除重点区域。查找正在做操作的重点区域,把该重点区域从内存中删除,然后调用窗体的重新绘制函数。

g.撤销上一步操作。在每一次动作操作之前,需要把当前的状态信息保存。操作之后,如果要撤销此操作,则采用之前的状态信息覆盖当前状态信息。

重点区域选取界面如图3所示,可以运用软件中的工具栏模块,实现在图像上画点、画框的功能,并对重点区域进行温度分析。例如,对变压器三相套管做故障诊断时,只需在三相套管关注区域内画3个矩形框,则相关矩形区域内的最高温度、最低温度和平均温度就能在矩形区域子模块中显示。

2.2 报告生成

报告生成是整个故障诊断过程中的最后一个环节。考虑到操作方便性和报告内容的一致性,设计了自动生成报告的功能,即根据图像的处理结果,生成具有固定模式的报告。

利用软件调用Word库函数,设计了一套专门针对变压器红外图像故障诊断报告的生成算法,其具体步骤如下:

a.收集需要生成报告的生成数据,包括红外图像、温度矩阵、关注区域及操作人信息等;

b.计算每个红外图像对应的关注区域的关注温度信息,包括最高温、最低温和平均温;

c.绘制每个关注框区域的温度直方图;

d.根据步骤b的温度信息数据使用故障诊断标准进行故障诊断;

e.将上述数据整理成Word文案,调用Word相关的文字库函数、图片库函数、文字格式库函数及图片格式库函数等生成报告。

2.3 数据库设计与管理

2.3.1 数据库设计

数据库设计的目的是提高故障诊断系统各组成部分对数据库使用的方便性,实现支持数据的增加、减少和修改的功能。笔者选择常用的SQL Server 2005作为数据库系统,该数据库系统具有较好的可扩充性和维护性。根据对相关数据的分析和故障诊断系统各功能模块对数据使用的要求,可将数据库中的表分为5类:

a.设备表。主要存储变压器设备编号、名称、额定电压、电流、功率及可见光图像等。

b.红外图像表。存储处理过图像的编号、所属变压器编号、图像和温度矩阵的存储路径及时间等。该表为数据库导入图像模块的数据来源。

c.点和框表。存储在图像上标注的所有点和框,主要包括所属红外图像编号、图像中的位置信息、点和框内的最高温度、最低温度及平均温度等。

d.故障表。主要存储发生的故障,包括故障编号、发生故障的设备编号、红外图像编号、故障类型、故障详细说明及诊断时间等。

e.诊断报告表。存储生成的诊断报告的相关信息,包括报告编号、对象设备编号及报告的存储路径等。

2.3.2 数据库管理

在数据库管理模块中,用C#语言利用ADO.NET技术访问数据库实现数据的修改和查询功能,保证数据库的完备性与安全性。数据库管理主要包括基本操作和数据查询两部分。

基本操作。包括数据的添加、修改与删除。利用list View控件将数据库中的表单以表格的形式展示,并通过按钮操作实现向相关表中添加和删除数据。

数据查询。提供数据资源的访问界面,并提供多种查询方式。软件可对不同对象的故障和诊断报告分别进行查询,通过选择起止时间来查询特定时间内的故障分析结果和诊断报告,并且可以点击查看报告直接打开报告文件。

3 结束语

笔者基于Visual C#语言开发了一套安全可靠、检测速度快的变压器红外图像故障诊断软件,实现了现场拍摄图片、温度文本文件与数据库图像的导入,实现了图像及其温度矩阵重点部位的选取,实现了对重点部位的温度分析和故障诊断,能够为现场人员提供有效的指导和建议。同时,根据红外图像处理的特点,构建了高效合理的SQL数据库,能够很好地支持对图像和温度数据的存储和管理。然而,红外辐射的穿透力微弱,只能通过检测图像温度来判断故障,而且红外诊断方法很难从设备外部分析到内部的温度状态,因此若能将红外诊断技术与其他传统变压器诊断技术相结合,将会更好地诊断变压器存在的缺陷,为变压器的安全运行发挥更大的作用。

参考文献

[1]唐攀龙,周羽生,马士英,等.变压器油色谱分析及其应用的研究[J].绝缘材料,2008,41(5):65~68.

[2]邹剑,陆瑾,周晓凡.四比值法在变压器过热性故障判断中的应用[J].变压器,2011,48(10):66~67.

[3]张卫华,苑津莎,张铁峰,等.应用B样条理论改进的变压器三比值故障诊断方法[J].中国电机工程学报,2014,34(24):4129~4136.

[4]沈晓凡,舒治淮,刘宇,等.2008年国家电网公司继电保护装置运行情况[J].电网技术,2010,34(3):173~177.

[5]DL/T 664-2008,带电设备红外诊断应用规范[S].北京:中华人民共和国国家发展和改革委员会,2008.

证券软件故障案例5个 篇4

针对上述疑问,中国经济网记者致电广发证券媒体负责人刘敏丽。刘敏丽称公司将与客户进行沟通妥善处理此事。但在被问及是否考虑赔偿股民损失的问题时,该负责人未给予明确答复。据悉,广发证券系统出现故障导致股民损失的案例不止此一件,据中国经济网不完全统计,至今,广发证券系统就在合肥、沈阳、哈尔滨、昆明、上海等五地先后出现过因故障致使股民损失的情况。

客户投诉广发证券系统屡出故障

年2月万女士在广东佛山某广发证券营业部开户。几个月后万女士便发现交易接连出现错误,在排除自己操作失误的原因后,开始注意平时交易细节。万女士称:“广发证券系统经常会出现交易错误”,主要有两种表现:

一、交易时买卖不受客户控制。表现为,想查看股票价格点一下不出来,点两下立刻显示卖出,如果账户上有钱,它又显示买入。当在卖出项目中点一下,它有时显示买进。想买进时它又变成卖出。万女士表示类似情况发生过好几次,买卖不受控制令她防不胜防。

二、委托成功不需确认,交易成功却无故撤单。正常情况下,在委托时出现已成功委托,需要点击确认才算完成委托。但是广发证券交易系统有时不等确认就会成交,而且有的成交还不算数。

据万女士回忆称:“7月20日上午10点左右,我见新大洲跳空高开立即在涨停价位买进(数量忘了,上千吧)在1点多成交了,收市时却来了一个撤单”。(中国经济网编者按:据查询,当天新大洲A并未触及涨停,经与万女士确认,该笔交易是以当天该股的最高价买进。)对此万女士表示:“本身涨停买入就是坚决看好,是绝不会撤单的;再者既然已经成交又怎么可以撤单呢?因此,万女士质疑“证券上有人操纵”。

事后万女士也去找过当地广发证券负责人,但该事件却一直未予解决。至今万女士由于系统故障初步估计损失达2万元。

广发证券曾五曝交易系统故障

广发证券系统出现故障导致股民损失的案例不止一件。据中国经济网不完全统计,年至今,广发证券系统就出现五次故障致使股民损失。

2007年4月23日,在合肥广发证券网上交易系统出现大塞车,从上午9点半开市到11点半收市,股民无论怎样都无法通过网上交易来买卖股票。广发证券表示,这是属于技术不可抗力。

2007年6月4日,广发证券股份有限公司沈阳营业部因系统切换导致交易大厅机器故障,不少股民因此错失交易时机。事件发生后,一些股民提出索赔要求,广发证券明确表态机器故障属不可抗力,因此不对股民进行赔偿。

2007年6月25日9时30分股票开盘的时候,广发证券哈尔滨清滨路营业部交易大厅内的十几台交易机器突然出现故障,导致前来交易的部分“散户”股民无法顺利交易。广发证券哈尔滨清滨路营业部交易部经理王楠表示,机器故障并不是人为因素造成的,因此证券公司不承担赔偿责任。

2007年8月10日上午10时52分,广发证券昆明东风西路营业部散户厅内滚动显示的大屏幕突然定格,10时59分,大屏幕恢复正常。广发证券称,7分钟系统故障属服务器死机所致。

软件故障诊断 篇5

1 诊断方案

设备间的通信数据包, 可通过数据流经的网元节点进行采集, 然而从网络节点进行采集, 由于流经节点的数据量庞大, 数据采集和分析难度大, 且对系统性能要求高。安卓是一个以Linux为基础的开源移动设备操作系统。它提供了一种在终端上采集监听数据流的方法。这种方式采集到的数据流少, 有效降低分析问题难度, 适用于分析接入不受终端使用者控制的无线网络环境 (如3G/4G等环境) 的问题。

1.1 数据包采集

安卓终端进行数据包采集需要获取系统ROOT权限, 安装抓包工具tcpdump及调试工具adb。采集时, 终端通过USB调试模式接入电脑, 执行指令进行数据包采集, 运行安卓终端上的应用软件产生网络数据流, 将抓包结果保存至数据文件供后续分析。

1.2 数据包分析

数据包分析需要对业务及其所使用的协议有深入理解, 并结合实践工作经验, 进行问题挖掘和定位。TCP/IP是当前Internet最基本的协议, 它是数据包分析的理论基础。通过数据包分析对终端及服务器之前的数据通信包进行解析, 分析问题出现的IP地址, 从而挖掘出问题节点。

2 案例分析

移动应用商场 (Mobile Market, 以下简称MM) 是安卓手机应用下载商店, 本案例针对MM下载应用软件的问题进行分析, 介绍如何通过数据包分析进行问题定位及故障诊断。

2.1 问题描述

用户反馈在广州4G环境MM下载软件速率为1mbps, 而同终端同环境下竞品的下载速率可达2~3mbps。

2.2 问题分析

分析同一手机下MM与竞品的对比, 可以排除手机及无线网络的原因, 缩小问题范围集中到MM手机应用及服务器之间的通信交互上。因此通过在手机终端上对MM下载过程进行抓包分析。

在对数据包进行分析前, 需要了解终端下载应用的流程及涉及的网元。一个典型的下载流程可简化为手机终端应用软件 (MM) 通过网络 (4G) 与服务器 (内容提供商) 建立通信机制, 采用网络协议 (HTTP) 进行数据传输。在实际应用过程, 为了提升下载速度, 服务器端会通过内容分发网络 (Content Delivery Network, 以下简称CDN) 进行扩展, 满足终端用户就近接入及提速的需求。同时, 运营商通过引入本地缓存来达到内容加速的目的。因此实际下载过程经过运营商及内容提供商的扩展及优化, 复杂度直线上升, 给问题和故障定位带来了不确定性。针对这种不确定性, 若从中间网元入手, 需要排查的网元包括运营商DNS、运营商缓存服务器、CDN提供商的边缘服务器、MM服务器, 涉及范围广且排查效率低。而从手机终端采用抓包的方式, 可迅速准确定位问题涉及的网元, 从而大大提升排查问题的效率。

问题排查步骤:

(1) MM进行下载测试, 安卓手机通过tcpdump进行数据包采集, 获取下载过程的完整的数据包; (2) 使用包分析软件Wireshark对抓取的网络数据包进行分析, 结合协议迅速定位到DNS请求和响应包。通过这个包获取终端使用的DNS服务器IP地址、DNS请求的域名 (本例为apk.mmarket.com) 及响应IP地址; (3) 通过DNS服务器返回的IP地址, 继续寻找手机下一步访问的具体服务器IP, 根据IP地址可判断本次访问, 终端是与运营商缓存服务器还是与CDN提供商边缘服务器进行通信 (本例apk.mmarket.com的域名经DNS解析返回了北京的CDN边缘节点地址, 而实际上广东本地有CDN边缘节点, 这个指向不符合就近接入的原则) ; (4) 通过分析包中客户端与服务器间TCP/IP通信过程, 进一步挖掘通信过程的速度影响因素 (本例中由于广州的用户使用了北京的CDN节点, 存在着跨地域的访问, 不但增加了不必要的骨干网传输负荷, 当骨干网繁忙时必然导致传输速度有所下降) ; (5) 经过包分析, 锁定问题出现在DNS服务器上, 于是针对DNS服务器的请求策略, 调整DNS配置, 使域名apk.mmarket.com的解析结果返回广东本地CDN节点, 问题得到解决, MM下载速度明显提升。

2.3 小结

本案例对安卓手机应用在4G下载速度慢的问题, 通过基于数据包的分析手段, 快速定位到问题的网元。案例分析和排查过程, 对类似的问题提供一种借鉴思路。

3 结语

本文介绍基于数据包分析的网络故障诊断的方法和思路, 同时结合一个具体的案列, 探讨了包分析的步骤和要点。实践证明, 在复杂网络环境下, 数据包分析已经成为一种重要的问题分析和排查手段。这种方法大大提升了维护人员对网络故障诊断和定位的准确性, 有效缩短系统排障时间。

摘要:安卓应用软件网络故障由于其接入的网络环境复杂, 往往故障定位困难, 排查难度大, 给网络及软件维护人员带来极大的挑战。本文介绍了一种基于数据包分析的方法来进行安卓应用软件网络故障诊断, 并结合案例详细探讨了诊断的手段及问题的定位步骤。实践证明此方法大大提升效率, 取得较好的实践效果, 可作为类似的问题的排障思路。

关键词:数据包分析,安卓应用软件

参考文献

[1]Wireshark.www.wireshark.org.

矿灯故障诊断仪原理及故障诊断 篇6

电路板检测:电路板是矿灯检测故障诊断仪的核心部件, 采用集成电路、模块化调计、高速运算数据, 比对数据结果提示, 部分常见故障都能根据提示, 快速便捷的判断出问题和症结所在。

电池充电检测:电池乃是矿灯的动力之源, 电池出了问题, 将影响到整台仪器的使用时间及检测性能;该设备可诊断仪器能否正常充电, 并能准确显示充电电压和充电电流;自动调节充电电流, 为了适应不同型号的矿灯接口使用, 专门设计了万能充电座, 可适用于大部分矿灯的检测。

智能放电检测:通过电脑软件, 精确的判断出电池的精确放电时间, 给矿灯的动力之源——电池开出准确的诊断单, 当充电时间符合规定或充电电压达到额定值, 将自动发出指令, 停止充电, 当过充时会自动释放电压, 不损坏电池、发达到延长电池使用寿命的目的。

工作时间检测:利用光敏原理, 对点亮的矿灯的工作时间进行计时, 以判断矿灯是否超工作时间使用, 是否欠电压和电流, 是否符合充电要求。

光照度检测:结合标准装置、标准照度对矿灯的照度进行量化, 从充电时间、使用时间以及亮度上来检测是否符合要求。

2 主要功能与工作原理

2.1 主要功能

1) 能向各种被检测矿灯提供安全充电电流, 在矿灯充电状态下测量矿灯的充电电压、电流、充电截止电压、以确定仪器的充电是否正常;

2) 能精确显示矿灯所使用电池的充电时间、放电时间、放电电流、充电电流、截止电压、放电曲线等;

3) 配有照度计及标准暗箱, 可精确检测矿灯的标准照度, 测试标准照度、理论照度、实际照度的差值并形成坐标图;

4) 特配有高精度万用表, 以用于矿灯电路板电流、电压、阻值、容量、可控硅问题的简易检测;

5) 通过各功能模块的单独或组合使用, 可实现不同型号矿灯的不同功能的检测。

2.2 基本原理

该诊断仪采用单片机控制, 数字表头显示, 精确显示矿灯的充电电压、电流、充电时间;精确显示工作时间;放电电压、电流、放电曲线等各项参数。同时充电供电具有稳压、安全的特点、以保证被检测矿灯的安全。该设备基本原理图如下:

仪器主面板示意图如下:

首先将诊断仪专用电源线连接至仪器后部电源接口, 将电源线另一端插入220V电源插座, 打开总电源开关, 整个仪器即进入工作状态。

充电检测:待诊断仪进入工作状态后, 可将矿灯插入充电座1或充电座2, 稍等片刻, 矿灯即进入充电状态, 此时充电座下方的电压电流表会显示初始读数, 待充电结束后, 读数会显示出到仪表上, 结合充电时间指示, 即可判断矿灯充电是否正常, (充电时间标准为2小时快充或6小时慢充, 无论是快充和慢充时间都不能低于2小时, 否则检测出的数据会有偏差)

电池放电检测:本模块可同时进行2路电池的放电检测。首先要将诊断仪通过电脑通讯连线, 将数据线连接至电脑, 打开附带的电池容量测试软件, 才能进行此功能。然后将放电电池组的正极引线与放电检测模块引出线的红色鳄鱼夹连接, 负极引线与模块引出线的黑色鳄鱼夹连接。

使用过程中, 如果只用其中一路进行放电检测, 则另一路接口最好不要插带鳄鱼夹的连接线, 如果非要接的话, 也要把闲置不用的一路的2个鳄鱼夹夹在一起进行短接, 以防对另一路的放电检测产生干扰。

检测时, 电脑显示屏会显示放电检测过程, 电池充电电压、电流数值会逐渐下降, 直至为零, 期间偶尔会有波动, 属正常现象, 同时会产生3条放电曲线, 横坐标为时间, 纵坐标分别为电流、电压、电池容量值的下降趋势曲线图。

工作时间检测:

此功能是光感应原理, 利用光敏元件, 结合单机片, 对矿灯的工作时间进行智能监控。

1) 打开此模块的开关, 将矿灯拧亮后卡进检测孔, 此时计时装置即开始计时, 矿灯持续点亮, 监测模块的光敏元件开始采集光信号, 并同步将光信号转换为电压, 照度越强, 电压输出越高, 反之, 照度越弱, 电压越小。而标准的光照度输出电压则持续不变, 通过收集高低不同的电压值, 再与标准的电压值相比就会形成差压, 电脑通过分析差压的波动曲线以得出矿灯的工作时间;

2) 待矿灯亮度低于国家要求的标准后, 计时灯珠仍然发光, 计时装置也会停止计时, 电脑屏幕提示检测完毕, 显示出可用工作时间, 同时液晶屏幕持续闪烁, 以提醒工作人员记录此工作时间。

电路检测:电路检测一方面是通过内置的集成模块内部计算实现快速自诊断功能, 主要包含开机自诊、短路自诊、过负荷自诊、过电流自诊、电源容量自诊等, 当出现上述故障外, 电脑屏幕上会发出相应的提示图例和明显的声音。另一方面通过诊断仪上配置的高性能万用表, 可以对矿灯的电路板常见故障进行检测, 如电阻、接地、导通等进行手工检测, 以排除简易故障。

光照度检测:将检测光照度的圆孔彼此进行连接, 按照指示, 一端卡入矿灯灯头, 一端放进标准照度计, 将矿灯拧至强光档, 此时照度计显示的数值即是按照标准上计量的距离1米处的光照度, 这个光照度值会由数据采集器进行收集, 并将光信号转化为电信号进行储存, 然后实时监测的光照度也转化为电信号, 两个电信号比较后形成微弱的电压差值, 此电压差值通过计算机处理显示在电脑屏幕上, 结合说明书或相关标准进行判断, 矿灯的光照度是否符合要求。

参考文献

[1]艾学忠, 金炳涛.具有安全监管的锂电池矿灯智能充电技术的研究[J].化工自动化及仪表, 2010 (2) .

软件故障诊断 篇7

0前言

计算机软件在运行过程中难免会出现一些故障, 有一些软件故障是由于软件本身质量问题而导致的, 提高软件开发质量也是减少软件故障的一个较为有效的方法。对于软件系统建立一个比较通用的质量评价模型已成为一个研究热点, 基于此提出面向领域的一种软件质量评价模型构建方法, 对于提高软件质量, 评价软件系统具有积极的作用。

1 软件故障分析

1.1 产生软件故障的原因

计算机软件系统运行所需环境各不相同, 如果用户的计算机设备及软件配置不能达到软件需要, 就容易发生功能性故障。结合软件维护实际情况分析, 软件故障产生原因主要有下列几个:一是内核文件丢失或系统配置出现错误;二是程序受计算机病毒破坏而不能正常运行;三是设置CMOS参数不正确;四是内存管理中存在一些冲突;五是计算机软硬件不兼容;六是由用户操作不当造成的。

1.2 软件故障分析方法

综合分析产生上述软件故障的原因, 可将软件运行环境分为三个层次接口, 与此相对应也可将故障分为用户接口、硬件接口、软件接口三类接口故障。当计算机发生故障时可采取观察法、对比法、更换法等判断故障是由于硬件还是软件引起的, 并确定故障源。排除软件故障过程中也要考虑软件运行环境是否满足要求, 依次分析用户接口、硬件接口、软件接口大都可确定故障原因并进行解决。对软件故障重复性进行验证, 注意软件故障发生的操作顺序及状态。软件使用过程中要定期进行备份, 避免软件发生故障时损失重要数据。

2 软件质量评价模型

2.1 领域质量评价模型

领域软件质量评价模型是由抽取标准模型中符合目标领域的特性项与抽象目标领域系统的领域特征项相结合而形成的。该模型基于标准模型进行剪裁与扩展, 仍具有属性、特性、子特性三层结构。在对目标领域系统进行评价过程中, 要将领域通用模型实例化才能转化为目标领域质量评价模型。

由于领域软件需求一般分为可选和必备两种, 因此在该模型中待评价的每层元素也同样分为可选和必备。领域质量评价通用模型的所有项都是可选, 对于目标领域质量评价模型具体到实例化时, 要对各项关系性质进行确定。该模型建模步骤如下:一是将标准模型中的特性项抽取出来, 结合目标领域特点, 对标准模型中符合目标领域软件的度量、特性及子特性项抽取出来;二是根据目标领域需求构建框架, 输入软件及领域知识, 软件目标领域实例及有关文档由领域专家进行分析, 以确定必备与可选需求, 可与上步骤同时进行将领域需求框架进行输出;三是特征抽象, 基于领域专家分析领域需求框架, 辅助评测专家对领域特征进行抽象;四是特征映射, 抽取特性、子特性、属性项及领域特征要向通用模型进行映射, 至此具有领域功能性、可靠性、易用性、领域效率、领域维护性、领域可移植性的目标领域软件质量评价模型构建完成。

2.2 质量评价

领域质量评价模型要进行有效性验证, 结合软件根据评价需求、规定评价、设计评价、执行评价等步骤对待评软件系统实施评价。评价需求确立时, 要结合评价参照的质量评价模型进行确定。采用专家评定与三角模糊数层次分析法对各特征值进行赋权, 对同层次对象要由多个领域专家进行两两之间的比较, 采用三角模糊数形式对相对重要程度进行表示, 多个比较矩阵可取其平均值作为被比较对象建立模糊比较矩阵。模糊数对应的截集矩阵要通过隶属函数进行求解, 其中各元素可作为模糊数的置信水平确定的一个置信区间, 并对乐观水平进行设定后转化为判断矩阵。然后对判断矩阵最大特征值及对应特征向量进行求解, 以判断验证矩阵是否一致。如果存在不一致情况, 要对判断矩阵进行调整, 否则可将特性向量向权重向量进行归一。

3 结语

综上, 本文提出的面向领域质量评价的一个通用模型, 提出的评价方法需要在实际应用中不断进行完善。该模型可用于对软件质量评价的一个有效手段, 基于该模型对常用软件系统进行客观评价, 评价结果符合应用实际, 说明此模型可作为软件系统的评价基准, 使用面向领域的质量模型对目标领域软件质量进行评价具有可行性, 可以使评价公正客观且准确, 对于提高软件开发质量, 促进信息产业发展都具有十分重要的意义。

参考文献

[1]雷祥, 张少华, 任凌云, 王彦理.D-P算法的改进及其在飞行轨迹回放中的应用[J].软件, 2012, 33 (9) :149-150

[2]吴小帆.CIN-SCF系统可视化信令跟踪工具的设计与实现[J].软件, 2013, 34 (8) :78-81

[3]Kwong C K, Bai H.A Fuzzy AHP approach to the determination of importance weights of customer requirements in quality function deployment[J], Journal of intelligent manufacturing, 2010.5

仪器故障监控软件设计 篇8

目前台网仪器不自带故障监控与扫描功能。在实际工作中不时有数据采样端口异常, 数据出错, 而值班人员无法及时发现。导致缺失大量数据。严重影响了数据的完整性。同时仪器工作主机的状态 (如死机) 和内部网络的状况无法及时检测致使数据丢失, 影响了数据质量和数据完整性。

本项研究采用的方法是通过网络从仪器的页面获取实时的原始数据, 采用算法判断出采样端口数据的有效性, 从而判断出仪器数据是否正常, 并把相应的错误传送给监控软件, 及时发出故障报警。同时获取仪器GPS的工作状态, 判断是否工作正常。监控软件也定时扫描各仪器主机的IP, 从而判断出网络状况和仪器主机的状态。

2、获取仪器实时数据, 并判断数据有效性

通过http协议发送传送指令给仪器, 从仪器页面获取仪器采集的实时数据。并对采集的实时数据进行数值分析判断仪器各测项数据是否正常。具体流程如下图:

通过发出指令对仪器的工作状态进行检测, 从页面获取仪器GPS授时状态, 同时获取实时数据。通过一些基本方法检测仪器数据是否正常。主要检测仪器实际工作中经常碰到的数据断记、尖峰、突跳等。差值、均值主要判断数据是否产生尖峰、突跳现象。由于仪器记录连续数据不相同, 在断记才会产生相同数据, 因此采用等值记数法判断仪器是否出现断记情况。

3、通过IP扫描, 判断网络状态

监控软件对各个仪器进行编号, 并定时扫描仪器IP地址。定时检测网络状态。如果出现单台仪器网络不通则判断为仪器故障或者单台网络问题, 出现多台仪器网络不能则判断为节点交换机故障。

4、声音及短信报警

当数据出现异常、GPS授时异常、网络异常时则出现故障提示窗口, 发送短信及时通知相关人员, 并出现声音提示。

如果没及时对故障进行处理时, 声音报警则每分钟响一次, 并在任务栏出现相应的故障提示信息。

由各种相应故障信息汇总合并为一条信息, 并及时通过短信猫发送给相关人员。短信处理及发送流程如下:

5、结束语

本研究实现台网仪器运行状态、网络状态及数据的实时监控, 能够及时发现仪器故障信息, 避免导致错误数据, 提高产出数据的可靠性, 保证了数据的完整性。现阶段的数据有效性检测手段过于简单, 后期将通过算法研究, 通过对信号特征的提取、模式匹配及噪声等方面判断的数据的质量及有效性。增加一些数据处理功能, 实现一些实时在线分析功能。

参考文献

[1]《地震及前兆数字观测技术规范》 (电磁分册)

[2]徐文耀.地磁学.[M].北京:地震出版社, 2003

[3]国家地震局科技监测司.2005.地震电磁观测技术.[M].北京:地震出版社

采用故障分析仪诊断汽车故障 篇9

在检修电控汽油喷射发动机时, 利用诊断测试仪查找故障源, 十分快捷有效。以前, 汽车修理行业使用的诊断测试仪大多数为台式发动机分析仪。目前, 已使用一些轻巧实用的便携式发动机电脑测试仪。这些测试仪都配有诊断接口, 将诊断接口与发动机舱内或仪表板下方的故障诊断插座相连, 然后操纵测试仪控制板面上的指令键, 即可对发动机微机控制系统的传感器、执行器及电路进行检测。这类诊断测试仪的优点是体积小、携带方便、操作简单, 尽管它们的价格较贵, 但能快速诊断故障, 准确性高, 大大地提高了检修效率, 因此, 对购买者来说, 其经济效益是显而易见的。便携式发动机电脑测试仪一般都具有如下功能:在发动机运转或汽车行驶时, 对发动机微机控制系统的参数进行动态测试;从发动机电脑的存贮器中读取所存贮的故障码;发动机检修后, 可根据指令清除发动机电脑中所存贮的故障码。

一、OTC微机故障检测仪

OTC微机故障检测仪根据所测车型系列不同, 其功能和操作方法也不尽相同, 主要特点是:能提供成套的标准测试数据, 若在OTC微机故障检测仪的诊断功能菜单中, 选成套数据, OTC微机故障检测仪可提供关于发动机的数据99种模式、变速器的数据25种模式、ABS的数据36种模式的标准数据。这些数据对诊断分析发动机、变速器、ABS等系统中各个传感器、执行器的技术状态及车辆技术状况有较大的帮助。

除此之外, 该检测仪还具有以下特点:该测试仪采用两种数据显示方式:一种是标准方式, 通常一次显示两个数据;另一种是普通方式, 一次显示8个数据。维修人员可以利用方向键去选择需要显示的数据, 并可以利用帮助键去查看标准数据。通过标准数据与实际数据相比, 便可分析检测发动机控制系统中各传感器及执行器的技术状况。在诊断菜单中选取了故障代码项后, 便可选择过去的故障代码、现在的故障代码、消除故障代码等三种模式。如果选择第2种模式, 屏幕上则可显示当前故障代码, 按向上或向下的方向键可调出其他的故障代码。需要更换微机控制盒时, 必须知道其识别码, 通过该测试仪可很容易地获取本车微机的识别码。该测试仪可提供所输入车型的标准技术数据, 其中包括点火顺序、火花塞型号、火花塞间隙、点火正时、怠速转速、燃油压力、油箱容积等数据。该测试仪在提供有关故障的测试数据后, 还可同时提供故障出现时的相关数据, 如最后一个故障代码出现的次数、故障代码出现时的发动机转速、故障代码出现后发动机运行时间及故障代码的含义等。OTC检测仪还可完成ABS系统的故障码读取及故障代码清除功能。

二、汽车电脑扫描诊断检测仪

上一篇:污水处理下一篇:本土需求规模论文