具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供的一种故障分析方法,应用于视联网中,进而当视联网业务出现故障时,查找出故障原因。
为了便于对后续实施例的说明,对视联网进行简单的说明。视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。视联网分为接入网和城域网两部分。接入网包括节点服务器、接入交换机和终端(包括各种机顶盒、编码板、存储器等),城域网包括城域服务器、节点服务器和节点交换机;可参照图1,图1示出了本发明的一种视联网的网络拓扑结构示意图,其中,城域服务器可部署在不同的省、自治区等等,节点服务器可部署在每个省的各不同的城市,以及不同的区域;城域服务器可直接与节点服务器连接,也可通过节点交换机与节点服务器连接,类似的,节点服务器可以与终端设备直接连接,也可通过接入交换机与终端设备连接。
其中,视联网与现有的以太网通过以太网协转网关连接,以太网协转网关的作用类似于交换机的作用,即将视联网数据进行转换发送至以太网中,以使视联网数据通过以太网传输;以及将以太网数据进行转换发送至视联网中,以使以太网数据通过视联网传输。具体的,当以太网协转网关接收视联网发来的数据包或协议包时,在所述数据包或协议包中添加以太网协转网关的MAC(Media Access Control,媒体访问控制)地址和目标终端的MAC地址,然后发向以太网,在以太网中采用以太网协议进行传输;当以太网协转网关接收以太网发来的数据包或协议包时,去掉所述数据包或协议包中以太网协转网关的MAC地址和源终端的MAC地址,然后发向视联网,在视联网中采用视联网协议进行传输。
参照图2,示出了本发明的一种故障分析方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201、实时抓取视联网中传输的数据包。
本发明实施例为了查找故障原因,可实时的抓取视联网中传输的数据包,进而在视联网业务故障时,可通过对数据包的分析确定分析故障原因;其中,在抓取视联网中传输的数据包时,还可依据当前的时间为各数据包设置对应的时间戳,并保存抓取的各数据包,便于依据各数据包的时间戳和出现故障的时间点,确定需要分析的数据包。本发明实施例中,可由抓包分析系统完成对视联网中数据包的抓取和分析,所述抓包分析系统可包括两个模块:抓包模块和分析模块,所述抓包模块用于抓取视联网中传输的数据包即执行步骤201,所述分析模块用于对抓包模块抓取的数据包进行分析即执行步骤202-步骤204。所述抓包分析系统的部署方式有多种,其中,一种部署方式是,所述抓包模块和分析模均部署在终端设备中如计算机;另一种部署方式是,所述抓包模块和分析模均部署在服务器中;又一种部署方式是,所述抓包模块部署在终端设备中,所述分析模块部署在服务器中。
步骤202、当视联网业务出现故障时,确定预设时间内抓取的各数据包的类型。
本发明实施例中,视联网业务出现的故障包括多种,其中,包括:终端播放的视频卡顿、终端播放的音频卡顿和交换机监控到的网络流量异常,当然还可以包括其他的异常情况,在此不一一举例说明。其中,所述终端是指视联网中的终端如各种机顶盒、编码板、存储器等,所述交换机是指视联网中节点交换机、接入交换机;所述视频卡顿和音频卡顿分别是指视频滞帧和音频滞帧,所述网络流量异常是指视联网业务需要的带宽与实际占用的带宽不匹配,如某一视频会议业务需要的带宽是4M,但交换机监控到该视频业务实际占用的带宽为8M,则可确定网络流量异常。
当视联网业务出现上述任一故障时,可确定出现故障对应的时间点,然后依据故障对应的时间点和预设时长,确定需要分析的数据包。其中,所述预设时长可按照需求设置如5分钟,即若出现故障的时间点是12:00,则可将11:55-12:00时间段内抓取的数据包确定为需要分析的数据包。本发明实施例中数据包可包括包头和包数据,进而可依据数据包确定预设时长内抓取的各数据包的类型;视联网中传输的数据包可包括视联网数据包和非视联网数据包,所述视联网数据包可指视联网中传输的视联网业务对应的数据包如基于视联网的高清视频会议对应的数据包,基于视联网应急指挥对应的数据包等等,所述非视联网数据包是指视联网中传输的非视联网业务对应的数据包,如视联网各服务器的心跳数据包,路由数据包等等。
步骤203、依据所述数据包的类型,对所述数据包进行分析。
步骤204、依据分析的结果确定故障原因。
确定需要分析的数据包的类型后,可依据各数据包的类型,对各数据包进行分析,例如,分析视联网业务是否丢包、是否乱序,以及分析非视联网业务是否占用带宽过大等等;进而依据对数据包分析的结果确定故障原因,例如分析出视联网业务出现了丢包,则确定故障原因是数据丢包等。
此外,本发明实施例中,若针对该预设时长内的数据包未分析出异常情况,可对前一预设时长内的数据包继续执行步骤202-步骤204的步骤,以确定故障原因。
本发明实施例在视联网传输各项业务的数据包的过程中,实时抓取在视联网中传输的数据包,进而当视联网业务出现故障时,能够对预设时间内抓取的数据包进行分析,以确定故障原因。即确定预设时间内各数据包的类型,然后依据数据包的类型对数据包进行分析,再依据针对数据包分析的结果,确定故障的原因;从而通过对视联网业务出现故障之前预设时间内的数据包的分析,查找出故障原因。
本发明的另一个实施例中,所述数据包包括视联网数据包和非视联网数据包,针对不同类型的数据包,分析的方式不同,具体如下:
参照图3,示出了本发明的另一种故障分析方法实施例的步骤流程图;具体包括步骤:
步骤301、实时抓取视联网中传输的数据包。
本发明实施例中,可将抓包分析系统与视联网交换机的接口连接,通过镜像的方式使得在视联网服务器中传输的数据包,发送至所述抓包分析系统中;然后抓包分析系统的抓包模块对数据进行抓包。本发明的一个示例中,抓包模块采用PCAP抓包库相关的接口函数抓取数据包,然后按照一定的格式存储将抓取的数据包写入PCAP文件中,如表1,示出了一种PCAP文件的存储格式,其中,文件头用于表征PCAP文件的属性描述信息如PCAP文件标识,版本号等,可以是24字节;数据包头用于表征数据包的描述信息包括源地址、目的地址,抓包时间(毫秒级)和数据包种类(视频类、音频类和信令类)等等,可以是16字节;数据部分用于携带着需要传输的数据如视频、音频。其中,为了便于后续分析模块数据包的分析,可设置PCAP文件的大小,当存储的数据包的大小达到PCAP文件的大小时,可新建一个PCAP文件以存储后续抓取的数据包。
文件头 |
数据包头 |
数据部分 |
数据包头 |
数据部分 |
数据包头 |
数据部分 |
表1
可选的,各PCAP文件可以时间命名,可依据本文件中第一个存储的数据包的时间和最后一个存储的数据包的时间,命名该文件,以便于确定预设时长内抓取数据包属于哪个PCAP文件。
可选的,所述PCAP文件的大小可为30M,当然也可设置为其他大小。
可选的,为了节约设备的内存,所述抓包模块可设置为只保存一定时间内的数据包如30天的数据包,将过期的数据包删除。
步骤302、当视联网业务出现故障时,确定预设时长内抓取的各数据包的类型。
当视联网业务出现故障时,抓包模块可将预设时长内抓取的数据包上传至分析模块,分析模块接收到PCAP文件后即可对数据包进行解析。本发明的一个示例中,分析模块可依据数据包的包头确定视联网数据包和非视联网数据包,然后将视联网数据包和非视联网数据包分别存储至对应的存储位置。本发明的另一个示例中,所述视联网数据包包括视联网视频包、视联网音频包和信令包;因此可针对视联网数据包可解析出三种的数据包:视联网视频包、视联网音频包和信令包;然后将不同种类的包分别存储到对应的存储位置。在解析完后,删除抓包模块上传的数据。分析模块对数据包解析后,可针对解析后的不同类型的数据包进行分析,以确定故障原因。
本发明的一个示例中,将抓包模块部署在终端设备上,将分析模块部署在服务器上,可参照图4,图4示出了本发明的一种抓包分析系统的结构框图。其中,终端设备将预设时长内的PCAP文件上传至服务器中,服务器中的文件上传服务进程对PCAP文件验证成功后,将上传的源文件保存至指定文件夹中,并通知文件解析服务进程;文件解析服务进程对指定文件夹中的数据进行解析,解析出不同类型的数据包并保存在数据库中;在解析完指定文件夹中的数据后,可删除指定文件夹的数据。然后文件解析服务进程再对数据中解析完成的数据进行分析,确定故障原因,并将故障原因发送中终端设备中显示。
其中,参照图5,示出了本发明的一种文件解析服务进程处理数据的流程示意图,文件解析服务进程包括主线程、命令执行线程、命令应答线程、文件解析线程和日志线程;以及包括命令队列、命令结果队列和日志队列。其中,主线程:负责和终端设备交互,接收终端设备请求,支持多客户端连接;命令执行线程:负责执行命令;命令应答线程:负责将命令的结果返回给命令发送方;文件解析线程:监控目录如:/var/ftp/sniffer/pcapfile,解析PCAP文件,并统计入库;日志线程:收集程序日志,写入日志文件。命令队列:存放命令;命令结果队列:存放命令返回结果;日志队列:存放日志。主线程接收到终端设备的请求后,生成对应的命名存放到命令队列中,并生成日志存放到日志队列中;命令执行线程从命令队列中获取命令并执行,并将执行结果存放至命令结果队列中,以及生成对应的日志存放至日志队列中;命令应答线程则从命令结果队列中获取执行结果,返回至终端设备中,以及生成对应的日志存放至日志队列中;文件解析线程监控文件,并解析PCAP文件,将解析后的文件存放至命令队列中,以及生成对应的日志存放至日志队列中。
其中,对不同类型的数据包进行分析,即若所述数据包为视联网数据包,则确定各视联网数据包的源地址;依据各数据包的源地址,生成数据包集合;分别对各数据包集合中各视联网数据包进行分析。若所述数据包为视联网数据包和非视联网数据包,通过对视联网数据包和非视联网数据包的带宽分析,确定非视联网数据包占用的带宽是否过大,进而确定故障原因,具体如下:
1、针对视联网数据包
步骤303、若所述数据包为视联网数据包,则确定各视联网数据包的源地址。
步骤304、采用源地址相同的视联网数据包组成数据包集合。
本发明实施例中,若所述数据包为视联网数据包,则依据各视联网数据包的源地址,生成数据包集合的一种方式是,采用源地址相同的视联网数据包组成数据包集合。具体的,可依据各视联网数据包的包头,确定各视联网数据包的源地址,然后查找源地址相同的视联网数据包;再采用源地址相同的视联网数据包组成数据包集合。本发明实施例中,视联网数据包可能只包括一种源地址,也可包括多种不同的源地址,因此,所述数据包集合的数量至少为1个,一个数据包集合对应一个源地址。例如,预设时长内抓取的视联网数据包包括A、B、C三种源地址的数据包,则源地址为A的所有视联网组成一个数据包集合,源地址为B的所有视联网组成另一个数据包集合,源地址为C的所有视联网组成又一个数据包集合。
步骤305、针对每个数据包集合,确定本集合中各视联网数据包的目的地址。
步骤306、确定本集合中目的地址与预设地址集合中目的地址均不匹配的视联网数据包的第一数量。
本发明实施例中,视联网业务在运行的过程中,数据可从同一个源地址发送到多个目的地址,其中,到达的目的地址可以是预先设定的,例如,基于视联网高清视频会议,会议主席A要向各会议成员B、C、D、E发送语音及视频,则可将会议成员B、C、D、E分别对应的目的地址设置为A对应的目的地址。本发明实施例中,可采用针对任一源地址预先设置的目的地址生成预设地址集合,每个预设地址集合与一个源地址对应。
当不是源地址的预设目的地址的目的地址,接收到该源地址发送的数据包时,可认为该源地址至该目的地址的通路出现了异常;因此,针对每一个数据包集合,确定本集合中各联网数据包的目的地址,进而判断本集合中各视联网数据包的目的地址是否与预设地址集合中目的地址匹配。具体的,可将本集合中各视联网数据包的目的地址,依次与预设地址集合中各目的地址进行比对,判断各视联网数据包的目的地址是否与所述预设地址集合目的地址是否匹配;当任一视联网数据包的目的地址与预设地址集合中目的地址均不匹配时,则第一数量加1。从而,针对每个数据包集合执行上述操作后,可确定每个数据包集合的第一数量。
步骤307、判断本集合对应第一数量是否大于1。
步骤308、确定故障原因是串流。
步骤309、本集合的数据包未出现异常。
针对每个数据包集合,判断第一数量是否大于1,若第一数量大于1,则确定故障原因为串流,即该集合的源地址,与不属于该源地址的预设地址集合目的地址之间的通路出现了串流,即执行步骤308。若第一数量小于1,即确定本集合中各视联网数据包的目的地址,均是该源地址对应的预设目的地址,则确定本集合的数据包未出现异常,即执行步骤309。
本发明的另一实施例中,提供了对视联网数据包的分析的另一种方式,参照图6,示出了本发明的另一种故障分析方法实施例的步骤流程图;具体包括步骤:
步骤310、若所述数据包为视联网数据包,则确定各视联网数据包的源地址和目的地址。
步骤311、采用源地址相同,且目的地址相同的视联网数据包组成数据包集合。
本发明实施例中,若所述数据包为视联网数据包,则依据各视联网数据包的源地址,生成数据包集合的一种方式是,采用源地址相同的视联网数据包组成数据包集合。具体的,可依据各视联网数据包的包头,确定各视联网数据包的源地址和目的地址,然后查找源地址相同,且目的地址相同的视联网数据包;再采用源地址相同,且目的地址相同的视联网数据包组成数据包集合。本发明实施例中,所述数据包集合的数量至少为1个,一个数据包集合对应一组源地址和目的地址。例如,预设时长内抓取的视联网数据包包括三种数据包:源地址为A-对应的目的地址为D1、源地址为B-对应的目的地址为D2、源地址为C-对应目的地址为D3,则源地址为A-对应的目的地址为D1的所有视联网组成一个数据包集合,源地址为B-对应的目的地址为D2的所有视联网组成另一个数据包集合,源地址为C-对应目的地址为D3的所有视联网组成又一个数据包集合。
针对由源地址相同,且目的地址相同的视联网数据包组成的数据集合,对该种集合中各视联网数据包分析包括多种,一种方式是对集合中视联网数据包的带宽进行分析,另一种是对集合是否丢包进行分析,还有一种是对集合中数据包是否乱序进行分析。
其中,对集合中视联网数据包的带宽分析具体如下:
步骤312、针对每个数据包集合,确定本集合中的各视联网数据包的种类和第一占用带宽,以及确定本集合中所有的视联网数据包的第一总带宽。
步骤313、确定本集合中数据包种类和种类对应第一占用带宽不匹配的视联网数据包的第二数量。
本发明实施例中,所述视联网数据包包括视频类、音频类和信令类,不同种类的视联网数据包的种类对应的占用带宽是不同的,其中,视频类视联网数据包占用带宽最大,信令类视联网数据包占用带宽最小。因此,针对每个数据包集合,可依据本集合中视联网数据包的传输时间和数据包的大小,确定该视联网数据包的第一占用带宽,进而确定本集合中所有视联网数据包的第一总带宽;以及依据该视联网数据包的包头,确定该视联网数据包的种类。
依据本集合的第一总带宽、本集合中各视联网数据包的种类和种类对应的第一占用带宽,判断本集合中各视联网数据包的种类和对应第一占用带宽是否匹配。具体的,针对本集合中各视联网数据包,依据该视联网数据包的第一占用带宽和第一总带宽,确定该视联网数据包的占用带宽比;然后将该视联网数据包的占用带宽比,与该视联网数据包的种类对应预设带宽比进行比对,判断两者的差值是否小于该视联网数据包的种类对应带宽比阈值;若两者的差值小于该视联网数据包的种类对应带宽比阈值,则可确定本集合中各视联网数据包的种类和对应占用带宽匹配;若两者的差值不小于该视联网数据包的种类对应带宽比阈值,则可确定本集合中各视联网数据包的种类和对应占用带宽不匹配,对应的第二数量可加1;进而通过对本集合中各视联网数据包的判断,确定本集合第二数量,从而可根据上述方法确定各集合的第二数量。
其中,不同种类的视联网数据包的预设带宽可根据时间情况设定,如视频类的预设带宽比可为20%,音频类的预设带宽比可为5%,信令类的预设带宽比可为0.5%。所述带宽比阈值依据视联网数据包的种类设置,如视频类视联网数据包的带宽比可设为2%,音频类视联网数据包的带宽比可设为1%,视频类视联网数据包的带宽比可设为0.1%。例如,检测到某一视频视联网数据包的占用带宽为1M,而该视频视联网数据的第一总带宽为10M,则该视频视联网数据的占用带宽比为10%,若视频类视联网数据包的预设带宽比为20%,带宽比阈值为2%;则两者差值为10%,远大于带宽比阈值,则可确定该视频视联网数据包种类与种类对应的带宽不匹配。
步骤314、判断本集合的二数量是否大于1。
步骤315、确定故障原因是带宽异常。
针对每个数据包集合,判断第二数量是否大于1,若第二数量大于1,则确定故障原因为带宽异常,即执行步骤315。若第二数量小于1,则确定本集合的视联网数据包未出现异常,即执行步骤309。
对集合是否丢包进行分析具体如下:
步骤316、针对每个数据包集合,依据本集合中各视联网数据包的包序,判断本集合中视联网数据包是否连续。
步骤317、确定故障原因是所述数据包集合丢包。
本发明实施例中,各数据包的包头还携带了该数据包的包序,因此,针对每个数据包集合,依据本集合中各视联网数据包的包头,确定本集合中各视联网数据包的包序;然后依据各视联网数据包的包序,判断本集合中视联网数据包是否连续;若不连续,则确定故障原因为丢包,即执行步骤317;若联系,则确定本集合的视联网数据包未出现异常,即执行步骤309。
对集合中数据包是否乱序进行分析,具体如下:
步骤318、针对每个数据包集合,确定本集合中各视联网数据包的包序和抓包时间。
步骤319、确定本集合包序和对应抓包时间不匹配的视联网数据包的第三数量。
针对每个数据包集合,依据本集合中各视联网数据包的包头,确定各视联网数据包的包序和抓包时间,进而依据本集合中各视联网数据包的包序和抓包时间,判断本集合中的各视联网数据包的包序和对应抓包时间是否匹配。具体的,可按照抓包时间将本集合中视联网数据包进行排序,然后再判断排序后的视联网数据包的包序是否出现跳变,若出现了跳变,则确定本集合中视联网数据包的包序和对应抓包时间不匹配,然后根据包序和对应抓包时间不匹配的视联网数据包的数量,累加第三数量,进而确定各数据包集合对应的第三数量。
步骤320、判断本集合中第三数量是否大于2。
步骤321、确定故障原因是乱序。
针对每个数据包集合,判断第三数量是否大于2,若第三数量大于2,则确定故障原因为所述数据包集合的数据包乱序,即执行步骤321。若第三数量小于2,则确定本集合的视联网数据包未出现异常,即执行步骤309。
本发明的另一实施例中,若抓取的数据包包括视联网数据包和非视联网数据包,则针对视联网数据包和非视联网数据包的分析具体如下,参照图7,示出了本发明的又一种故障分析方法实施例的步骤流程图;具体包括步骤:
步骤322、若所述数据包为视联网数据包和非视联网数据包,则确定各非视联网数据第二占用带宽和各视联网数据包第三占用带宽。
步骤323、依据所述第二占用带宽,计算所有非视联网数据包的第二总带宽,以及依据所述第三占用带宽,计算所有视联网数据包的第三总带宽。
本发明实施例中,可通过对视联网数据包和非视联网数据的带宽分析,确定所有非视联网数据的占用带宽的比值。具体的,可确定预设时长内抓取的各非视联网数据包的第二占用带宽和各视联网数据包的第三占用带宽;然后对所有的第二占用带宽求和,计算所有非视联网数据包的第二总带宽,以及对所有的第三占用带宽求和,计算所有视联网数据包的第三总带宽。计算出所有的视联网数据包的第三总带宽和所有非视联网数据的第二总带宽后,可计算第二总带宽与第三总带宽的比值,以确定非视联网数据包占用带宽比。
步骤324、判断所述第二总带宽与第三总带宽的比值是否超过预设阈值。
步骤325、确定故障原因是背景噪声异常。
步骤326、确定本预设时长内的数据包未出现异常。
将第二总带宽和第三总带宽的比值与预设阈值进行比对,判断所述比值是否超过预设阈值,其中,所述预设阈值是非视联网数据包占用带宽的比值,可根据需求设置如1%。若所述比值超过预设阈值,则表示非视联网数据包占用带宽过大,可确定故障原因是背景噪声异常,即执行步骤325;若所述比值未超过预设阈值,则表示非视联网数据包占用带宽属于正常范围,可确定本预设时长内的数据包未出现异常,即执行步骤326。
综上,本发明实施例在依据数据包的类型,对数据包进行分析时,针对视联网数据包和非视联网数据包分析的方式不同,提高了确定故障原因的准确性;若所述数据包为视联网数据包,则依据视联网数据的源地址生成数据包集合,进而通过分别对各数据包集合中的视联网数据包进行分析,确定故障原因,提高了分析的效率。此外,能够通过对视联网数据包的带宽分析,包序是否连续的分析,以及对非视联网数据包的占用带宽分析,确定具体故障原因。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明一种故障分析装置实施例的结构框图,具体可以包括如下模块:抓取模块401、类型确定模块402、分析模块403和原因确定模块404,其中,
抓取模块401,用于实时抓取视联网中传输的数据包;
类型确定模块402,用于当视联网业务出现故障时,确定预设时长内抓取的各数据包的类型,所述故障至少包括以下一种:终端播放的视频卡顿、终端播放的音频卡顿、网络流量异常;
分析模块403,用于依据所述数据包的类型,对所述数据包进行分析;
原因确定模块404,用于依据分析的结果确定故障原因。
参照图9,示出了本发明一种故障分析装置实施例的结构框图,本发明的另一个实施例中,所述装置还包括:目的地址确定模块405,用于确定各视联网数据包的目的地址。
本发明的另一个实施例中,所述分析模块包括403包括:源地址确定子模块4031、集合生成子模块4032、第一数据分析子模块4033和第二数据分析子模块4034,其中,
源地址确定子模块4031,用于若所述数据包为视联网数据包,则确定各视联网数据包的源地址;
集合生成子模块4032,用于依据各数据包的源地址,生成数据包集合;
第一数据分析子模块4033,用于分别对各数据包集合中各视联网数据包进行分析。
第二数据分析子模块4034,用于若所述数据包为视联网数据包和非视联网数据包,则确定各非视联网数据第二占用带宽和各视联网数据包第三占用带宽;依据所述第二占用带宽,计算所有非视联网数据包的第二总带宽,以及依据所述第三占用带宽,计算所有视联网数据包的第三总带宽;判断所述第二总带宽与第三总带宽的比值是否超过预设阈值。
所述原因确定模块404,具体用于若所述第二总带宽与第三总带宽的比值超过预设阈值,确定故障原因是背景噪声异常。
可选地,所述集合生成子模块4032,具体用于采用源地址相同,且目的地址相同的视联网数据包组成数据包集合;以及具体用于采用源地址相同的视联网数据包组成数据包集合。
可选地,所述第一数据分析子模块4033,具体用于针对每个数据包集合,确定本集合中的各视联网数据包的种类和第一占用带宽,以及确定本集合中所有的视联网数据包的第一总带宽,其中,所述种类包括视频类、音频类和信令类;依据本集合的第一总带宽、本集合中各视联网数据包的种类和第一占用带宽,判断本集合中各视联网数据包的种类和种类对应第一占用带宽是否匹配;所述原因确定模块404,具体用于若数据包集合中至少一个视联网数据包的种类和种类对应占用带宽不匹配,则确定故障原因是带宽异常。
可选地,所述第一数据分析子模块4033,具体用于针对每个数据包集合,依据本集合中各视联网数据包的包序,判断本集合中视联网数据包是否连续;所述原因确定模块404,具体用于若数据包集合中视联网数据包不连续,则确定故障原因是丢包。
可选地,所述第一数据分析子模块4033,具体用于针对每个数据包集合,依据本集合中各视联网数据包的包序和抓包时间,判断本集合中的各视联网数据包的包序和对应抓包时间是否匹配;所述原因确定模块404,具体用于若数据包集合中至少两个视联网数据包的包序和对应抓包时间不匹配,则确定故障原因是乱序。
可选地,所述第一数据分析子模块4033,具体用于针对每个数据包集合,确定本集合中各视联网数据包的目的地址;依次判断本集合中各视联网数据包的目的地址是否与预设地址集合中目的地址匹配;所述原因确定模块404,具体用于若数据包集合中至少一个视联网数据包的目的地址和预设地址集合中目的地址均不匹配,则确定故障原因是串流。
本发明实施例在视联网传输各项业务的数据包的过程中,实时抓取在视联网中传输的数据包,进而当视联网业务出现故障时,能够对预设时间内抓取的数据包进行分析,以确定故障原因。即确定预设时间内各数据包的类型,然后依据数据包的类型对数据包进行分析,再依据针对数据包分析的结果,确定故障的原因;从而通过对视联网业务出现故障之前预设时间内的数据包的分析,查找出故障原因。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图10是根据一示例性实施例示出的一种用于语料抽取的电子设备500的结构框图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等;也可以是服务端设备,如服务器。
参照图10,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理部件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件504为电子设备500的各种组件提供电力。电力组件504可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件514经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件514还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种故障分析方法,所述方法包括:实时抓取视联网中传输的数据包;当视联网业务出现故障时,确定预设时长内抓取的各数据包的类型,所述故障至少包括以下一种:终端播放的视频卡顿、终端播放的音频卡顿、网络流量异常;依据所述数据包的类型,对所述数据包进行分析;依据分析的结果确定故障原因。
可选地,对所述数据包进行分析的步骤,包括:若所述数据包为视联网数据包,则确定各视联网数据包的源地址;依据各数据包的源地址,生成数据包集合;分别对各数据包集合中各视联网数据包进行分析。
可选地,在依据各数据包的源地址,生成数据包集合的步骤之前,还包括:确定各视联网数据包的目的地址;依据各数据包的源地址,生成数据包集合的步骤,包括:采用源地址相同,且目的地址相同的视联网数据包组成数据包集合。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,确定本集合中的各视联网数据包的种类和第一占用带宽,以及确定本集合中所有的视联网数据包的第一总带宽,其中,所述种类包括视频类、音频类和信令类;依据本集合的第一总带宽、本集合中各视联网数据包的种类和第一占用带宽,判断本集合中各视联网数据包的种类和种类对应第一占用带宽是否匹配;依据分析的结果确定故障原因的步骤,包括:若数据包集合中至少一个视联网数据包的种类和种类对应占用带宽不匹配,则确定故障原因是带宽异常。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,依据本集合中各视联网数据包的包序,判断本集合中视联网数据包是否连续;依据分析的结果确定故障原因的步骤,包括:若数据包集合中视联网数据包不连续,则确定故障原因是丢包。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,依据本集合中各视联网数据包的包序和抓包时间,判断本集合中的各视联网数据包的包序和对应抓包时间是否匹配;依据分析的结果确定故障原因的步骤,还包括:若数据包集合中至少两个视联网数据包的包序和对应抓包时间不匹配,则确定故障原因是乱序。
可选地,依据各数据包的源地址和目的地址,生成数据包集合的步骤,包括:采用源地址相同的视联网数据包组成数据包集合。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,确定本集合中各视联网数据包的目的地址;依次判断本集合中各视联网数据包的目的地址是否与预设地址集合中目的地址匹配;依据分析的结果确定故障类型的步骤,包括:若数据包集合中至少一个视联网数据包的目的地址和预设地址集合中目的地址均不匹配,则确定故障原因是串流。
可选地,对数据包进行分析的步骤,包括:若所述数据包为视联网数据包和非视联网数据包,则确定各非视联网数据第二占用带宽和各视联网数据包第三占用带宽;依据所述第二占用带宽,计算所有非视联网数据包的第二总带宽,以及依据所述第三占用带宽,计算所有视联网数据包的第三总带宽;判断所述第二总带宽与第三总带宽的比值是否超过预设阈值;依据分析的结果确定故障原因的步骤,包括:若所述第二总带宽与第三总带宽的比值超过预设阈值,确定故障原因是背景噪声异常。
图11是本申请根据另一示例性实施例示出的一种用于语料抽取的电子设备600的结构示意图。该电子设备600可以是服务器,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器上执行存储介质630中的一系列指令操作。
服务器还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在示例性实施例中,服务器经配置以由一个或者一个以上中央处理器622执行一个或者一个以上程序包含用于进行以下操作的指令:实时抓取视联网中传输的数据包;当视联网业务出现故障时,确定预设时长内抓取的各数据包的类型,所述故障至少包括以下一种:终端播放的视频卡顿、终端播放的音频卡顿、网络流量异常;依据所述数据包的类型,对所述数据包进行分析;依据分析的结果确定故障原因。
可选地,对所述数据包进行分析的步骤,包括:若所述数据包为视联网数据包,则确定各视联网数据包的源地址;依据各数据包的源地址,生成数据包集合;分别对各数据包集合中各视联网数据包进行分析。
可选地,在依据各数据包的源地址,生成数据包集合的步骤之前,还包括:确定各视联网数据包的目的地址;依据各数据包的源地址,生成数据包集合的步骤,包括:采用源地址相同,且目的地址相同的视联网数据包组成数据包集合。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,确定本集合中的各视联网数据包的种类和第一占用带宽,以及确定本集合中所有的视联网数据包的第一总带宽,其中,所述种类包括视频类、音频类和信令类;依据本集合的第一总带宽、本集合中各视联网数据包的种类和第一占用带宽,判断本集合中各视联网数据包的种类和种类对应第一占用带宽是否匹配;依据分析的结果确定故障原因的步骤,包括:若数据包集合中至少一个视联网数据包的种类和种类对应占用带宽不匹配,则确定故障原因是带宽异常。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,依据本集合中各视联网数据包的包序,判断本集合中视联网数据包是否连续;依据分析的结果确定故障原因的步骤,包括:若数据包集合中视联网数据包不连续,则确定故障原因是丢包。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,依据本集合中各视联网数据包的包序和抓包时间,判断本集合中的各视联网数据包的包序和对应抓包时间是否匹配;依据分析的结果确定故障原因的步骤,还包括:若数据包集合中至少两个视联网数据包的包序和对应抓包时间不匹配,则确定故障原因是乱序。
可选地,依据各数据包的源地址和目的地址,生成数据包集合的步骤,包括:采用源地址相同的视联网数据包组成数据包集合。
可选地,分别对各数据包集合中各视联网数据包进行分析的步骤,包括:针对每个数据包集合,确定本集合中各视联网数据包的目的地址;依次判断本集合中各视联网数据包的目的地址是否与预设地址集合中目的地址匹配;依据分析的结果确定故障类型的步骤,包括:若数据包集合中至少一个视联网数据包的目的地址和预设地址集合中目的地址均不匹配,则确定故障原因是串流。
可选地,对数据包进行分析的步骤,包括:若所述数据包为视联网数据包和非视联网数据包,则确定各非视联网数据第二占用带宽和各视联网数据包第三占用带宽;依据所述第二占用带宽,计算所有非视联网数据包的第二总带宽,以及依据所述第三占用带宽,计算所有视联网数据包的第三总带宽;判断所述第二总带宽与第三总带宽的比值是否超过预设阈值;依据分析的结果确定故障原因的步骤,包括:若所述第二总带宽与第三总带宽的比值超过预设阈值,确定故障原因是背景噪声异常。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种故障分析方法、一种故障分析装置和一种电子设备,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。