CN103457773B - 一种终端客户体验管理的方法及装置 - Google Patents
一种终端客户体验管理的方法及装置 Download PDFInfo
- Publication number
- CN103457773B CN103457773B CN201310396162.7A CN201310396162A CN103457773B CN 103457773 B CN103457773 B CN 103457773B CN 201310396162 A CN201310396162 A CN 201310396162A CN 103457773 B CN103457773 B CN 103457773B
- Authority
- CN
- China
- Prior art keywords
- time
- service
- packet
- real
- http
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种终端客户体验管理的方法及装置,涉及企业IT服务管理,所述方法包括:根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包;将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件;通过对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件;将所述实时统计结果、错误事件和SLA事件进行展示。通过本发明,实现对用户的业务服务的属性信息进行实时采集、分析、处理,使用户能够在任何时间、任何地点通过web浏览器以动态仪表板及报表的形式展现在线业务服务的质量,可视化终端用户的体验。
Description
技术领域
本发明涉及企业IT服务管理,特别涉及一种终端客户体验管理的方法及装置。
背景技术
在企业的发展过程中,传统的网络性能管理(NPM:Network PerformanceManagement)已经不足以管理日益多样化,模块化的动态应用环境。传统的NPM并没有将IT系统管理与业务对象紧密的联系在一起,没有通过有效合理的管理来实现业务性能的最大化,存在服务层管理不能对指定IT服务制定性能指标并通过业务逻辑和语言来定义业务对象的缺陷,使企业不能够更清楚的了解它们的业务服务和IT服务之间的关系。当业务需求发生变化时,企业不能立即对IT系统进行调整以适应业务服务的需求。
事实上,传统的NPM用于确保终端用户和业务服务之间网络流量的可靠和快捷,以满足业务服务的需求。但传统的NPM通常利用嗅探器收集L2至L4层的网络指标,无法洞察L5至L7层业务服务的性能状况,也无法了解更深层次的语义信息。比如,传统的NPM无法区分成功和失败的业务请求,也不能了解协议会话过程中产生的登陆验证时间,服务处理时间,响应时间等信息。
除此之外,传统的NPM还不能够用于监控和测量业务服务的性能状况,不能够在故障影响业务服务或者用户体验之前发现故障,进行及时的修复,并从终端用户和业务服务的角度来确保用户体验。比如,传统的NPM只能依靠安装在应用程序基础设施上的代理软件收集性能信息,不能对业务服务的故障和问题进行有效的优先管理,影响了IT营运的质量和效率,并且还需要专业的人员来操作。
发明内容
本发明的目的在于提供一种终端客户体验管理的方法及装置,能够更好的解决如何区分业务请求的成功与失败,如何了解更深层次的语义信息,如何对业务服务的故障和问题进行有效的优先管理的问题。
根据本发明的一个方面,提供了一种终端客户体验管理的方法,包括:
根据被监听服务对象的基本属性信息从交换机镜像端口抓取的网络包中过滤出与所述服务对象相关的链路层网络数据包;
将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件;
通过对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件;
将所述实时统计结果、错误事件和SLA事件进行展示;
其中,所述SLA为服务等级协议。
优选地,所述对所述IP数据包进行分析处理包括:
根据TCP/IP协议和ICMP协议对所述IP数据包上层协议的协议头信息进行协议解析;
若协议解析结果为所述协议头信息是ICMP信息时,则通过对所述IP数据包进行ICMP错误处理,得到ICMP错误事件;
若协议解析结果为所述协议头信息是TCP信息时,则通过对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果;
若协议解析结果为所述协议头信息是HTTP信息时,则通过对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果;
其中,所述的错误事件包括ICMP错误事件、TCP错误事件和HTTP错误事件,所述的实时统计结果包括TCP实时统计结果和HTTP实时统计结果。
优选地,对所述IP数据包进行ICMP错误处理包括:
通过分析所述IP数据包中的ICMP协议报文首8个字节中的类别与代码域,判断所述ICMP协议报文是否为差错报文;
若判断所述ICMP协议报文为差错报文,则生成ICMP错误事件信息。
优选地,对所述IP数据包进行TCP协议组包和分析计算处理包括:
将所述IP数据包拼装成TCP数据包;
根据所述TCP数据包,计算出TCP实时统计结果,其包含TCP会话过程中的重试时间、连接时间、服务时间、重试次数、成功连接数、总请求数、吞吐量、访问量。
优选地,对所述IP数据包进行HTTP协议组包和分析计算处理包括:
根据所述IP数据包的HTTP协议头信息,拼装出一个完整的HTTP会话过程信息;
通过对所述一个完整的HTTP会话过程信息进行分析,得到HTTP错误事件信息和实时统计结果,所述HTTP实时统计结果包含重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数、总请求数、吞吐量、访问量。
优选地,还包括:
根据所述TCP实时统计结果中的重试时间、连接时间、服务时间、重试次数、成功连接数,计算出TCP业务服务响应时间;
根据所述TCP实时统计结果中的成功连接数和总请求数,计算出TCP业务服务可用性;
根据所述HTTP实时统计结果中的重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数,计算出HTTP业务服务响应时间;
根据所述HTTP实时统计结果中的成功连接数和总请求数,计算出HTTP业务服务可用性。
优选地,还包括:
将所述TCP业务服务响应时间或者HTTP业务服务响应时间与所述服务对象阈值属性信息的响应时间上阈值进行比较,若所述TCP业务服务响应时间或者HTTP业务服务响应时间大于所述响应时间上阈值,则判定为一次响应时间SLA异常;
将所述TCP业务服务可用性或者HTTP业务服务可用性与所述服务对象阈值属性信息的可用性下阈值进行比较,若所述TCP业务服务可用性或者HTTP业务服务可用性小于所述可用性下阈值,则判定为一次可用性SLA异常。
优选地,还包括:
根据所述响应时间SLA异常和可用性SLA异常,统计SLA事件数在预定时间区间内产生的SLA异常数;
若所述SLA异常数在预定时间区间内大于所述服务对象阈值属性信息的SLA事件数警告阈值且小于所述服务对象阈值属性信息的SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA警告事件;
若所述SLA异常数在预定时间区间内大于所述SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA严重事件。
根据本发明的另一方面,提供了一种终端客户体验管理的装置,包括:
数据采集单元,用于根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包;
分析计算单元,用于将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件;
事件处理单元,用于对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件;
前台页面展示单元,用于将所述实时统计结果、错误事件和SLA事件进行展示。
优选地,所述分析计算单元进一步包括:
ICMP协议处理模块,用于对所述IP数据包进行ICMP错误处理,得到ICMP错误事件;
TCP协议处理模块,用于对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果;
HTTP协议处理模块,用于对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果。
与现有技术相比较,本发明的有益效果在于:
能够通过对IP数据包进行分析处理,得到错误事件信息,以及实时统计结果;能够通过对实时统计结果的分处理析,生成更深层次的实时和历史的服务业务仪表板和报表,通过结合IT服务管理流程,帮助IT营运减少业务服务的宕机时间,优化业务服务的响应时间,提升IT运维的效率。
还能够通过在终端用户层面发现、定义和优化业务服务的SLA,实时监控业务服务的性能,对违反SLA的性能事件发出报警,从而使IT部门有的放矢,分清优先级地对业务服务进行有效的故障管理和问题管理,帮助用户降低IT运营成本,增加在线业务服务的营业额,提升IT运维的质量。
附图说明
图1是本发明实施例提供的终端客户体验管理的方法流程图;
图2是本发明实施例提供的终端客户体验管理的装置结构图;
图3是本发明实施例提供的终端客户体验管理的键值数据库中存储的数据项和内容信息;
图4是本发明实施例提供的终端客户体验管理的离线分析单元中小时(天)记录分析示意图;
图5是本发明实施例提供的终端客户体验管理的TCP类型服务可用性和响应时间的计算算法;
图6是本发明实施例提供的终端客户体验管理的HTTP类型服务可用性和响应时间的计算算法。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的终端客户体验管理的方法流程图,如图1所示,步骤如下:
步骤S1:根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包。
步骤S2:将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件。
所述步骤S2中,根据TCP/IP协议和ICMP协议对所述IP数据包上层协议的协议头信息进行协议解析;
若协议解析结果为所述协议头信息是ICMP信息时,则通过对所述IP数据包进行ICMP错误处理,得到ICMP错误事件;
若协议解析结果为所述协议头信息是TCP信息时,则通过对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果;
若协议解析结果为所述协议头信息是HTTP信息时,则通过对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果;
其中,所述的错误事件包括ICMP错误事件、TCP错误事件和HTTP错误事件,所述的实时统计结果包括TCP实时统计结果和HTTP实时统计结果。
进一步地,通过分析所述IP数据包中的ICMP协议报文首8个字节中的类别与代码域,判断所述ICMP协议报文是否为差错报文;
若判断所述ICMP协议报文为差错报文,则生成ICMP错误事件信息。
进一步地,将所述IP数据包拼装成TCP数据包,根据所述TCP数据包,计算出TCP实时统计结果,其包含TCP会话过程中的重试时间、连接时间、服务时间、重试次数、成功连接数、总请求数、吞吐量、访问量。
进一步地,根据所述IP数据包的HTTP协议头信息,拼装出一个完整的HTTP会话过程信息,通过对所述一个完整的HTTP会话过程信息进行分析,得到HTTP错误事件信息和实时统计结果,所述HTTP实时统计结果包含重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数、总请求数、吞吐量、访问量。
进一步地,根据所述TCP实时统计结果中的重试时间、连接时间、服务时间、重试次数、成功连接数,计算出TCP业务服务响应时间;
根据所述TCP实时统计结果中的成功连接数和总请求数,计算出TCP业务服务可用性;
根据所述HTTP实时统计结果中的重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数,计算出HTTP业务服务响应时间;
根据所述HTTP实时统计结果中的成功连接数和总请求数,计算出HTTP业务服务可用性。
步骤S3:通过对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件。
所述步骤S3中,将所述TCP业务服务响应时间或者HTTP业务服务响应时间与所述服务对象阈值属性信息的响应时间上阈值进行比较,若所述TCP业务服务响应时间或者HTTP业务服务响应时间大于所述响应时间上阈值,则判定为一次响应时间SLA异常;
将所述TCP业务服务可用性或者HTTP业务服务可用性与所述服务对象阈值属性信息的可用性下阈值进行比较,若所述TCP业务服务可用性或者HTTP业务服务可用性小于所述可用性下阈值,则判定为一次可用性SLA异常。
进一步地,根据所述响应时间SLA异常和可用性SLA异常,统计SLA事件数在预定时间区间内产生的SLA异常数:
若所述SLA异常数在预定时间区间内大于所述服务对象阈值属性信息的SLA事件数警告阈值且小于所述服务对象阈值属性信息的SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA警告事件;
若所述SLA异常数在预定时间区间内大于所述SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA严重事件。
步骤S4:将所述实时统计结果、错误事件和SLA事件进行展示。
图2是本发明实施例提供的终端客户体验管理的装置结构图。如图2所示,包括:数据采集单元、分析计算单元、事件处理单元、前台页面展示单元、数据中心单元、离线分析单元。
所述数据采集单元用于根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包。
所述分析计算单元用于将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件。其中,所述分析计算单元的IP组包模块用于将所述链路层网络数据包组包成IP数据包。所述分析计算单元的ICMP协议处理模块用于对所述IP数据包进行ICMP错误处理,得到ICMP错误事件。所述分析计算单元的TCP协议处理模块用于对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果。所述分析计算单元的HTTP协议处理模块用于对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果。
所述事件处理单元用于对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件。
所述前台页面展示单元用于将所述实时统计结果、错误事件和SLA事件进行展示。进一步地,所述前台页面展示单元包括:Web服务请求处理模块、静态页面处理模块、动态数据生成模块。
所述数据中心单元包括键值数据库模块和关系数据库模块。
所述离线分析单元包括小时记录处理模块和天记录处理模块。
如图2所示的终端客户体验管理装置的工作流程具体步骤如下:
步骤S100:启动关系数据库模块242。
步骤S101:启动键值数据库模块241,键值数据库模块从关系数据库模块242加载如图3所示的本发明实施例提供的终端客户体验管理的键值数据库中存储的数据项和内容信息。
步骤S102:启动数据采集器单元20,数据采集器读取自己的IP地址,根据IP地址从键值数据库中获取被监听的服务对象的属性信息。
步骤S103:数据采集单元用步骤S200中读取的服务对象属性信息创建过滤规则,启动libpcap抓包。
步骤S104:libpcap根据过滤规则过滤出被监听服务对象相关的网络包,加工处理成head_info结构数据,写入FIFO。
步骤S105:数据采集单元创建子进程1。
步骤S106:子进程1注册到键值数据库单元241,订阅该采集器所监听服务对象的变更信息。
步骤S107:子进程1在订阅到服务对象变动信息后,发送信号给父进程,同时将变动细节写入消息队列。
步骤S108:父进程捕获该信号之后,从消息队列读取变动细节,更新过滤规则。
步骤S109:启动分析计算单元21单元创建一子进程,该子进程从FIFO读取head_info结构数据,保存至ringbuffer中。
步骤S110:分析计算单元21主进程读取自己的IP地址,根据IP地址从键值数据库中获取需要分析的服务对象的属性信息。
步骤S111:分析计算单元21主进程从ringbuffer中依次读取head_info结构数据,TCP/IP协议对head_info结构数据进行协议解析,根据数据帧中以太网类型,判断链路层首部长度,计算出承载的IP层数据偏移,并根据IP协议头部数据结构解析出IP头部属性的值,包括源地址(IP_SRC)、目的地址(IP_DST)、长度(IP_LEN)、偏移(IP_OFF)、上层协议类型(IP_P)等。
步骤112:如果IP层承载的上层协议类型(IP_P)为ICMP信息,则由ICMP协议处理模块212进行ICMP消息处理,如果IP层承载的为TCP传输协议,则由TCP协议处理模块213进行处理。
步骤S113:ICMP协议处理模块212收到head_info结构数据后,对数据包中的ICMP消息进行解析,根据ICMP首部的代码(code)和类型(type)进行判断,如果该ICMP为差错控制报文,则ICMP协议处理模块212发布一个事件消息event_t。
步骤S114:TCP协议处理模块213接收IP组包模块211的IP层数据包,根据IP首部的长度计算TCP协议位置的偏移值以及TCP协议头部数据结构解析出TCP头部的各个属性值,包括源端口(SPORT)、目的端口(DPORT)、标记位(URG/ACK/PSH/RST/SYN/FIN)、序号(SEQ)、确认序号(ACK)、窗口大小(WIN)、首部长度等。根据TCP协议头部数据结构中的标记位信息判断该数据包所处TCP连接过程中的位置进行如下处理:
(1)如果当前解析的网络包为建立TCP连接的三次握手过程,则根据源IP、PORT信息和目的IP、PORT信息创建一个TCP_CONNECTION句柄来记录该次TCP连接所产生的信息,若握手过程中出现丢包的情况,则删除该TCP_CONNECTION句柄;
(2)如果当前解析的网络包为TCP连接终止(FIN)或重置(RST)数据包,则根据源IP、PORT信息和目的IP、PORT信息找到所属TCP_CONNECTION句柄,并统计该链接的连接时间、重试时间、重试次数、服务时间、成功连接数、总请求数、本次连接吞吐量等信息,同时将这些信息记录到相应被分析的服务对象属性信息的real_info结构数据中,然后关闭相应的TCP_CONNECTION句柄;
(3)如果当前解析的网络包为TCP连接建立完成之后的数据包,则该模块对本次TCP_CONNECTION中的数据进行必要的组包处理,并根据组包后的TCP上层承载数据判断出应用层协议,如果数据起始为“GET”、“POST”、“HEAD”、“DELETE”、“OPTIONS”、“TRACE”或者“HTTP+Version+Status Code”格式的字符串,则TCP协议处理模块213认为应用层协议为HTTP,该TCP协议处理模块213将head_info结构数据交由HTTP协议处理模块214进行处理,否则忽略该数据包信息,并等待TCP连接终止后,关闭相应的TCP_CONNECTION句柄。
步骤S115:HTTP协议处理模块214在收到TCP协议处理模块213发送过来的数据包,根据HTTP协议头的类型进行如下三种处理方式:
(1)如果HTTP协议头为服务请求头,即首字符串为“GET”、“POST”、“HEAD”、“DELETE”、“OPTIONS”或“TRACE”,则HTTP协议处理模块214记录该次HTTP请求的请求时间、连接建立时间到相应的TCP_CONNECTION句柄中,同时记录的数据还有HTTP连接次数等;
(2)如果HTTP协议头为应答类型,即首字符串符合“HTTP+Version+StatusCode”格式,则模块主要根据该字符串中的状态码(Status Code)进行处理,如果状态码的值为1XX、2XX或3XX,则HTTP协议处理模块214认为这是一次成功的HTTP请求过程,同时计算本次HTTP请求,服务端的重试时间、重试次数、连接时间、网络首次缓冲、服务首次缓冲、服务数据下载时间、成功连接次数、总请求数,并记录到相应的TCP_CONNECTION句柄中;
(3)如果HTTP应答头中的状态码的值为4XX(请求错误)或5XX(服务器错误),则HTTP协议处理模块214根据该状态码生成一个HTTP事件,并发布该事件event_t,待由事件处理单元22进行处理。
步骤S116:分析计算单元主进程每隔两秒对所有协议会话过程中产生的信息数据进行统计,统计出当前两秒结束时间之前30秒的信息累计情况,并发布该实时统计消息realinfo。
步骤S117:同时分析计算单元创建第二个子进程,监听所监听服务对象的变更信息,当有变动产生时,从键值数据库模块241中读取新的服务对象信息。
步骤S118:启动离线分析单元25,离线分析单元25注册到键值数据库模块241,订阅分析计算单元21发布的5分钟计算结果service_t。
步骤S119:离线分析单元25订阅到service_t后,取出service_t中的service_id,根据service_id从键值数据库模块241中读取该服务对象对应的dumper_records。
步骤S120:离线分析单元25调用小时记录处理模块251处理该service_t,小时记录处理模块251判断service_t中的结束时间是否在小时区间末尾。如图4所示,图4是本发明实施例提供的终端客户体验管理的离线分析单元中小时(天)记录分析示意图。
步骤S121:如果service_t中的结束时间在小时区间末尾,调用关系数据库模块242,从关系数据库模块242取出该小时区间内所有的五分钟记录,如图4(1)、4(2)所示。
步骤S122:将步骤S121中的记录累加成一条小时记录,交由关系数据库模块242写入关系数据库。
步骤S123:取出dumper_records中的last_hour,判断该last_hour和service_t中的结束时间是否在同一小时区间。
步骤S124:如果不在同一小时区间,判断last_hour是否在小时区间末尾。
步骤S125:如果在小时末尾,调用关系数据库模块242,从关系数据库取出从last_hour所在小时区间结束时刻到service_t所在小时区间结束时刻内所有的五分钟记录,如图4(3)所示。
步骤S126:如果不在小时末尾,调用关系数据库模块242,从关系数据库取出从last_hour所在小时区间开始时刻到service_t所在小时区间结束时刻内所有的五分钟记录,如图4(4)所示。
步骤S127:将步骤S125和步骤S126中的五分钟记录分别累加成一条小时记录,交由关系数据库模块242写入关系数据库。
步骤S128:如果last_hour和service_t中的结束时间间隔超过一个小时,对它们之间的小时区间分别进行处理。
步骤S129:针对步骤S128中的每一个小时区间,调用关系数据库模块242,从关系数据库取出该小时区间内所有的五分钟记录。
步骤S130:将步骤S129中的五分钟记录累加成一条小时记录,交由关系数据库模块242写入关系数据库。
步骤S131:用service_t中的结束时间更新last_hour。
步骤S132:如果service_t中的结束时间不在小时区间末尾,last_hour和service_t中的结束时间间隔不超过一个小时,用service_t中的结束时间更新last_hour,如图4(5)、4(6)所示。
步骤S133:如果last_hour和service_t中的结束时间间隔超过一个小时,判断last_hour是否在小时区间末尾。
步骤S134:如果last_hour在小时区间末尾,调用关系数据库模块242,从关系数据库取出从last_hour所在小时区间结束时刻到service_t所在小时区间结束时刻内所有的五分钟记录,如图4(7)所示。
步骤S135:如果last_hour不在小时区间末尾,调用关系数据库模块242,从关系数据库取出从last_hour所在小时区间开始时刻到service_t所在小时区间结束时刻内所有的五分钟记录,如图4(8)所示。
步骤S136:将步骤S134和步骤S135中的五分钟记录分别累加成一条小时记录,交由关系数据库模块242写入关系数据库。
步骤S137:用service_t中的结束时间更新last_hour。
步骤S138:离线分析单元25调用天记录处理模块252处理该service_t,天记录处理模块252进行与小时记录处理模块251相同的分析处理步骤。
步骤S139:调用键值数据库模块241,将更新后的dumper_records写入键值数据库。
步骤S140:启动事件处理单元22,事件处理单元22注册到键值数据库241,订阅分计算单元21发布的实时计算结果realinfo和网络错误相关的事件信息event_t。
步骤S141:如果事件处理单元订阅的信息是网络错误相关event_t,调用网络事件处理模块221处理,网络事件处理模块221从键值数据库读取服务对象属性信息,添加至event_t中。
步骤S142:网络事件处理模块221将步骤S501中计算得到的event_t发送给关系数据库单元242,由关系数据库模块242写入关系数据库。
步骤S143:如果事件处理单元22订阅的信息是实时计算结果realinfo,调用SLA事件处理模块222处理,SLA事件处理模块222执行如图5,图6中所示的算法,计算出响应时间和可用性。
步骤S144:图5是本发明实施例提供的终端客户体验管理的TCP类型服务可用性和响应时间的计算算法,根据步骤S114(2)所述TCP会话过程中产生的信息数据进行计算,计算公式如下:
TCP响应时间=重试时间/重试次数+(连接时间+服务时间)/成功连接数;
TCP可用性=成功连接数/总请求数;
其中,重试时间指某一段时间范围内所有请求重试时间部分的累加值;连接时间指某一段时间范围内所有请求连接时间部分的累加值;服务时间指某一段时间范围内所有请求服务时间部分的累加值;成功连接数指某一段时间范围内三次握手成功的次数;总请求数指某一段时间范围内总的握手请求次数;
步骤S145:图6是本发明实施例提供的终端客户体验管理的HTTP类型服务可用性和响应时间的计算算法,根据步骤S115(2)所述HTTP会话过程中产生的信息数据进行计算,计算公式如下:
HTTP响应时间=重试时间/重试次数+连接时间/成功连接数+(网络首次缓冲+服务首次缓冲+下载时间)/HTTP请求数;
HTTP可用性=成功连接数/总请求数;
其中,t1为网络首次缓冲;t2为网络首次缓冲;重试时间指某一段时间范围内所有请求重试时间部分的累加值;连接时间指某一段时间范围内所有请求连接时间部分的累加值;网络首次缓冲指某一段时间范围内所有请求网络首次缓冲部分的累加值;服务首次缓冲指某一段时间范围内所有请求服务首次缓冲部分的累加值;下载时间指某一段时间范围内所有请求下载时间部分的累加值;成功连接数指某一段时间范围内HTTP返回码为200或者304的次数;总请求数指某一段时间范围内总的HTTP请求数。
步骤S146:SLA事件处理模块222从键值数据库读取该realinfo对应的服务对象阈值属性信息service_info:
(1)对比计算出的响应时间和service_info中的响应时间上阈值,如果响应时间大于响应时间上阈值,界定为响应时间SLA异常;
(2)对比计算出的可用性和service_info中的可用性下阈值,如果可用性小于可用性下阈值,界定为可用性SLA异常。
步骤S147:为保证SLA事件可以及时预警,终端客户体验管理基于分析计算单元22产生的实时计算结果realinfo做SLA事件分析,因为realinfo每隔两秒产生一次,为避免SLA事件数爆炸式增长,做了如下的优化:当某一个服务对象SLA事件数时间周期内产生的SLA异常数超过该服务对应的service_info中SLA事件数警告阈值或者SLA事件数严重阈值时,记作一次SLA事件,具体实现细节如下:
步骤S148:根据步骤S147的分析结果,如果被界定为响应时间SLA异常,调用键值数据库模块241,从键值数据库中读取该服务对象对应的响应时间SLA事件记录responsetime_SLAs。
步骤S149:用当前SLA异常发生的时间减去responsetime_SLAs中start_time。
步骤S150:如果所得时间差数值的值小于service_info中SLA事件数时间周期,将responsetime_SLAs中的event_counts加1,保存更新之后的responsetime_SLAs至键值数据库;
步骤S151:如果步骤S149所得时间差数值大于或者等于service_info中SLA事件数时间周期,将responsetime_SLAs中的event_counts加1。
步骤S152:对比event_counts和service_info中SLA事件数警告阈值或者SLA事件数严重阈值。
步骤S153:如果event_counts大于或者等于SLA事件数警告阈值且小于SLA事件数严重阈值,创建event_t,严重等级设置为警报级别。
步骤S154:如果步骤S151所得event_counts大于或者等于SLA事件数严重阈值,创建event_t,严重等级设置为严重级别。
步骤S155:发送event_t给关系数据库模块242,由关系数据库模块242存入关系数据库。
步骤S156:更新responsetime_SLAs至键值数据库。
步骤S157:根据步骤S145的分析结果,如果被界定为可用性SLA异常,从键值数据库中读取该服务对象对应的可用性SLA事件记录availability_SLAs。
步骤S158:用当前SLA异常发生的时间减去availability_SLAs中start_time。
步骤S159:如果所得时间差数值的值小于service_info中SLA事件数时间周期,将availability_SLAs中的event_counts加1,同时更新其他数据项。
步骤S160:保存更新之后的availability_SLAs至键值数据库。
步骤S161:如果步骤S158所得时间差数值大于或者等于service_info中SLA事件数时间周期,将availability_SLAs中的event_counts加1。
步骤S162:对比event_counts和service_info中SLA事件数警告阈值或者SLA事件数严重阈值。
步骤S163:如果event_counts大于或者等于SLA事件数警告阈值且小于SLA事件数严重阈值,创建event_t,严重等级设置为警报级别。
步骤S164:如果步骤S161所得event_counts大于或者等于SLA事件数严重阈值,创建event_t,严重等级设置为严重级别。
步骤S165:发送event_t给关系数据库模块242,由关系数据库模块242存入关系数据库。
步骤S166:更新availability_SLAs至键值数据库241。
步骤S167:管理员操作通过浏览器访问web控制台。
步骤S168:浏览器发起HTTP请求给前台页面展示单元23。
步骤S169:前台页面展示单元23调用web服务请求处理模块231对用户的HTTP请求作出响应。
步骤S170:前台页面展示单元23调用静态页面处理模块232生成静态页面应答给客户端。
步骤S171:客户端浏览器发送数据内容请求至前台页面展示单元23。
步骤S172:前台页面展示单元23调用动态数据生成模块233处理该请求。
步骤S173:动态数据生成模块233调用关系数据库模块242,从关系数据库中取出5分钟记录、小时记录和天记录以及响应时间或者可用性的SLA。
步骤S174:结合动态数据生成模块233调用键值数据库模块241取出的服务对象属性信息,应答给客户端。
步骤S175:数据采集单元20和分析计算单元21分别创建自己的专有子进程注册到键值数据库模块241,负责监听服务对象的变更信息。
步骤S176:当服务对象需要变更(包括添加、删除和修改属性)时,通过前台页面展示单元23提交变更请求,前台页面展示单元23更新关系数据库模块242,关系数据库模块242更新成功之后,更新键值数据库模块241。
步骤S177:当键值数据库模块241发布所述服务对象变更信息时,子进程可及时订阅到该变更信息,并通知其所在单元的主进程:
(1)数据采集单元20主进程收到服务对象变更通知之后,重新创建libpcap的过滤规则,在不重启数据采集单元21的情况下动态部署和应用新的过滤规则。
(2)分析计算单元21的主进程收到服务对象变更通知之后,生成新的服务对象列表,在不重启分析计算单元21的情况下产生新一轮的分析计算结果。
综上所述,本发明具有以下技术效果:通过对用户的业务服务的属性信息进行实时采集、分析、处理、并以动态仪表板及报表的形式进行显示,并对违反SLA的性能事件发出报警。而用户也可以在任何时间、任何地点通过web浏览器访问实时的业务服务性能信息。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (7)
1.一种终端客户体验管理的方法,其特征在于,所述方法包括:
根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包;
将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的错误事件和实时统计结果;
通过对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件;
将所述实时统计结果、错误事件和SLA事件进行展示;
其中,所述对所述IP数据包进行分析处理包括:
根据TCP/IP协议对所述IP数据包上层协议的协议头信息进行协议解析;
若协议解析结果为所述协议头信息是ICMP信息时,则通过对所述IP数据包进行ICMP错误处理,得到ICMP错误事件;
若协议解析结果为所述协议头信息是TCP信息时,则通过对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果;
若协议解析结果为所述协议头信息是HTTP信息时,则通过对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果;
所述的错误事件包括ICMP错误事件、TCP错误事件和HTTP错误事件,所述的实时统计结果包括TCP实时统计结果和HTTP实时统计结果;
其中,对所述IP数据包进行TCP协议组包和分析计算处理包括:
将所述IP数据包拼装成TCP数据包;
根据所述TCP数据包,计算出TCP实时统计结果,其包含TCP会话过程中的重试时间、连接时间、服务时间、重试次数、成功连接数、总请求数、吞吐量、访问量;
所述方法还包括:
根据所述TCP实时统计结果中的重试时间、连接时间、服务时间、重试次数、成功连接数,计算出TCP业务服务响应时间;
根据所述TCP实时统计结果中的成功连接数和总请求数,计算出TCP业务服务可用性;
其中,所述SLA为服务等级协议。
2.根据权利要求1所述的方法,其特征在于,对所述IP数据包进行ICMP错误处理包括:
通过分析所述IP数据包中的ICMP协议报文首8个字节中的类别与代码域,判断所述ICMP协议报文是否为差错报文;
若判断所述ICMP协议报文为差错报文,则生成ICMP错误事件信息。
3.根据权利要求1所述的方法,其特征在于,对所述IP数据包进行HTTP协议组包和分析计算处理包括:
根据所述IP数据包的HTTP协议头信息,拼装出一个完整的HTTP会话过程信息;
通过对所述一个完整的HTTP会话过程信息进行分析,得到HTTP错误事件信息和实时统计结果,所述HTTP实时统计结果包含重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数、总请求数、吞吐量、访问量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述HTTP实时统计结果中的重试时间、连接时间、服务时间、重试次数、网络首次缓冲、服务首次缓冲、下载时间、成功连接数、HTTP请求数,计算出HTTP业务服务响应时间;
根据所述HTTP实时统计结果中的成功连接数和总请求数,计算出HTTP业务服务可用性。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述TCP业务服务响应时间或者HTTP业务服务响应时间与所述服务对象阈值属性信息的响应时间上阈值进行比较,若所述TCP业务服务响应时间或者HTTP业务服务响应时间大于所述响应时间上阈值,则判定为一次响应时间SLA异常;
将所述TCP业务服务可用性或者HTTP业务服务可用性与所述服务对象阈 值属性信息的可用性下阈值进行比较,若所述TCP业务服务可用性或者HTTP业务服务可用性小于所述可用性下阈值,则判定为一次可用性SLA异常。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据所述响应时间SLA异常和可用性SLA异常,统计SLA事件数在预定时间区间内产生的SLA异常数;
若所述SLA异常数在预定时间区间内大于所述服务对象阈值属性信息的SLA事件数警告阈值且小于所述服务对象阈值属性信息的SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA警告事件;
若所述SLA异常数在预定时间区间内大于所述SLA事件数严重阈值,则判定为一次所述服务对象业务服务的SLA严重事件。
7.一种终端客户体验管理的装置,其特征在于,包括:
数据采集单元,用于根据服务对象的基本属性信息抓取与所述服务对象相关的链路层网络数据包;
分析计算单元,用于将所述链路层网络数据包组包成IP数据包,并通过对所述IP数据包进行分析处理,得到所述服务对象业务服务的实时统计结果和错误事件;
事件处理单元,用于对所述实时统计结果进行计算处理,得到所述服务对象业务服务的SLA事件;
前台页面展示单元,用于将所述实时统计结果、错误事件和SLA事件进行展示;
所述分析计算单元进一步包括:
ICMP协议处理模块,用于对所述IP数据包进行ICMP错误处理,得到ICMP错误事件;
TCP协议处理模块,用于对所述IP数据包进行TCP协议组包和分析计算处理,得到TCP错误事件和实时统计结果;
HTTP协议处理模块,用于对所述IP数据包进行HTTP协议组包和分析计算处理,得到HTTP错误事件和实时统计结果;
其中,对所述IP数据包进行TCP协议组包和分析计算处理包括:
将所述IP数据包拼装成TCP数据包;
根据所述TCP数据包,计算出TCP实时统计结果,其包含TCP会话过程中的重试时间、连接时间、服务时间、重试次数、成功连接数、总请求数、吞吐量、访问量;
其中,根据所述TCP实时统计结果中的重试时间、连接时间、服务时间、重试次数、成功连接数,计算出TCP业务服务响应时间;
其中,根据所述TCP实时统计结果中的成功连接数和总请求数,计算出TCP业务服务可用性;
其中,所述SLA为服务等级协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310396162.7A CN103457773B (zh) | 2013-09-03 | 2013-09-03 | 一种终端客户体验管理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310396162.7A CN103457773B (zh) | 2013-09-03 | 2013-09-03 | 一种终端客户体验管理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103457773A CN103457773A (zh) | 2013-12-18 |
CN103457773B true CN103457773B (zh) | 2016-12-07 |
Family
ID=49739760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310396162.7A Expired - Fee Related CN103457773B (zh) | 2013-09-03 | 2013-09-03 | 一种终端客户体验管理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103457773B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018001B (zh) * | 2016-01-28 | 2020-05-12 | 中国移动通信集团贵州有限公司 | 一种应用故障定位方法及装置 |
CN110049037B (zh) * | 2019-04-15 | 2021-12-14 | 兰州理工大学 | 一种基于数据链路层的网络视频数据获取方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257105B2 (en) * | 2002-10-03 | 2007-08-14 | Cisco Technology, Inc. | L2 method for a wireless station to locate and associate with a wireless network in communication with a Mobile IP agent |
CN101115264B (zh) * | 2006-07-24 | 2010-09-01 | 中兴通讯股份有限公司 | 通讯终端故障监控系统及其实现方法 |
CN101494639A (zh) * | 2008-01-25 | 2009-07-29 | 华为技术有限公司 | 一种分组通信系统中防止攻击的方法及装置 |
RU2526711C2 (ru) * | 2008-04-29 | 2014-08-27 | Тибко Софтвеар Инк. | Диспетчер состояния предоставляемых услуг со связывающими обязательствами соглашениями об уровне обслуживания и схемами устранения последствий и самозащиты |
-
2013
- 2013-09-03 CN CN201310396162.7A patent/CN103457773B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103457773A (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11700275B2 (en) | Detection of malware and malicious applications | |
CN108063765B (zh) | 适于解决网络安全的sdn系统 | |
US9848004B2 (en) | Methods and systems for internet protocol (IP) packet header collection and storage | |
US7903566B2 (en) | Methods and systems for anomaly detection using internet protocol (IP) traffic conversation data | |
US8726382B2 (en) | Methods and systems for automated detection and tracking of network attacks | |
US8510830B2 (en) | Method and apparatus for efficient netflow data analysis | |
US7995496B2 (en) | Methods and systems for internet protocol (IP) traffic conversation detection and storage | |
US8762515B2 (en) | Methods and systems for collection, tracking, and display of near real time multicast data | |
US20130166738A1 (en) | Web Page Download Time Analysis | |
CN106899443B (zh) | 一种Netflow流量数据的采集方法和设备 | |
CN104115463A (zh) | 用于处理网络元数据的流式传输方法和系统 | |
CN106797328A (zh) | 收集和分析所选择的网络流量 | |
CN110855493B (zh) | 用于混合环境的应用拓扑图绘制装置 | |
US20190007292A1 (en) | Apparatus and method for monitoring network performance of virtualized resources | |
CN104243408A (zh) | 域名解析服务dns系统中监控报文的方法、装置及系统 | |
CN107302534A (zh) | 一种基于大数据平台的DDoS网络攻击检测方法及装置 | |
CN104092588B (zh) | 一种基于SNMP与NetFlow结合的网络异常流量检测方法 | |
CN107566192A (zh) | 一种异常流量处理方法及网管设备 | |
CN111935063A (zh) | 一种终端设备异常网络访问行为监测系统及方法 | |
CN108259364A (zh) | 一种网络拥塞确定方法及装置 | |
CN113364624A (zh) | 基于边缘计算的混合云流量采集方法和系统 | |
CN103457773B (zh) | 一种终端客户体验管理的方法及装置 | |
US20190007285A1 (en) | Apparatus and Method for Defining Baseline Network Behavior and Producing Analytics and Alerts Therefrom | |
US20100031273A1 (en) | method of supervising a plurality of units in a communications network | |
EP3460769B1 (en) | System and method for managing alerts using a state machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161207 Termination date: 20170903 |
|
CF01 | Termination of patent right due to non-payment of annual fee |