CN102055620B - 监控用户体验的方法和系统 - Google Patents
监控用户体验的方法和系统 Download PDFInfo
- Publication number
- CN102055620B CN102055620B CN2009102369236A CN200910236923A CN102055620B CN 102055620 B CN102055620 B CN 102055620B CN 2009102369236 A CN2009102369236 A CN 2009102369236A CN 200910236923 A CN200910236923 A CN 200910236923A CN 102055620 B CN102055620 B CN 102055620B
- Authority
- CN
- China
- Prior art keywords
- packet
- user
- information
- bag
- classified
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种监控用户体验的方法,包括:为交换机配置镜像端口,复制交换机所接收到的每个数据包并进行保存;对复制的每个数据包进行多维度聚类;通过对多维度聚类结果进行分析确定用户体验。本发明同时公开了一种监控用户体验的系统。应用本发明所述的方法和系统,能够准确地监控用户体验,且不会增加应用系统的工作量,便于推广。
Description
技术领域
本发明涉及信息运营管理技术,特别涉及一种监控用户体验的方法和系统。
背景技术
目前,各企业均采用信息技术(IT,Information Technology)来支持各自的业务,从而为用户提供所需的服务,并且,随着业务种类越来越多,各企业的IT基础架构也越来越复杂。但对于用户来说,其最关心的不是企业的IT基础架构的问题,而是自身的业务能不能办理以及办理的质量如何。这就好比用户登录一个网站,其首要关心的问题是能不能顺利登录,以及登录后网页的打开速度如何等,而不是关心网站后台服务器如何为其提供服务。所以,如何准确地监控用户体验,并根据监控结果对IT基础架构进行改进等是各企业必须考虑的问题。
现有技术中通常采用以下几种方式来监控用户体验:
1)通过对应用系统的额外开发记录用户办理每一种业务的体验。
对原有应用系统的功能进行扩展,在原有功能的基础上增加记录功能,记录下用户办理每一种业务的用户体验。仍以用户登录某一网站为例,所记录的用户体验即包括用户是否顺利登录、用户访问了哪些页面,每个页面的响应时间等。
但是,这种方式会给应用系统带来很大的工作量,从而导致应用系统本身的性能下降,造成监控与被监控对象之间的本末倒置;而且,由于需要对原有应用系统进行改造,所以会导致成本等的增加,不利于推广。
2)通过IT基础机构的监控以及业务应用关系推导出用户体验。
这种方式中,需要建立起非常详细的业务应用拓扑,并将影响业务的相关部件和对业务的影响程度都梳理出来。比如,某网站可为用户提供社会新闻、娱乐新闻以及体育新闻浏览等各种业务,那么需要预先建立起每种业务对应的后台服务器,以及每个后台服务器对应的数据库等之间的关系,当然,实际情况远比上述复杂,此处仅为举例说明,后续,监控各后台服务器和数据库等的工作情况,根据监控结果确定用户体验。比如,监控各后台服务器的中央处理单元(CPU,Central Processing Unit)的利用率,如果很高,那么则可推知用户在浏览该后台服务器对应的新闻时,速度会比较慢。
但是,在实际应用中,由于系统的复杂性,通常很难准确地建立起业务应用拓扑等,因此,这种方式很难准确地监控出用户体验。
3)通过交换机端口镜像转发功能,将交换机接收到的每个数据包进行复制,通过对这些复制的数据包进行分析来实现对用户体验的监控。
即将交换机接收到的每个数据包,包括用户发送给服务器的数据包以及服务器发送给用户的数据包,均复制到一专门的设备上,然后,通过对这些数据包进行分析,确定出总体网络流量以及用户办理了哪些业务等信息。
但这种方式只能获知网络的总体流量的大小以及用户对于不同业务的使用情况,即使用哪些业务的用户比较多,哪些比较少等,更多的是为IT系统的运营和开发提供帮助,不能准确地反映出用户体验。
发明内容
有鉴于此,本发明的主要目的在于提供一种监控用户体验的方法,能够准确地监控用户体验,且不会增加应用系统的工作量,便于推广。
本发明的另一目的在于提供一种监控用户体验的系统,能够准确地监控用户体验,且不会增加应用系统的工作量,便于推广。
为达到上述目的,本发明的技术方案是这样实现的:
一种监控用户体验的方法,该方法包括:
为交换机配置镜像端口,复制交换机所接收到的每个数据包并进行保存;
对复制的每个数据包进行多维度聚类;
通过对多维度聚类结果进行分析确定用户体验。
较佳地,所述为交换机配置镜像端口包括:
如果需要监控所有应用系统下的用户体验,则为与负载均衡设备直接相连的交换机配置镜像端口;如果不需要监控所有应用系统下的用户体验,则只在与需要监控的应用系统相连的交换机上配置镜像端口。
较佳地,所述复制交换机所接收到的每个数据包并进行保存包括:
按照时间先后顺序,所述交换机每接收到一个数据包,则将该数据包进行复制,并按照复制先后顺序对复制的各数据包进行保存。
较佳地,所述对复制的每个数据包进行多维度聚类包括:针对每个数据包X,分别进行以下处理:
A、对数据包X进行传输控制协议TCP/互联网协议IP处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
B、对数据包X进行超文本传输协议HTTP头处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
C、对数据包X进行HTTP内容处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类。
较佳地,所述对数据包X进行TCP/IP处理进一步包括:
提取数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则直接将数据包X过滤掉。
较佳地,所述对数据包X进行HTTP内容处理进一步包括:
提取数据包X中携带的统一资源定位符,确定提取出的统一资源定位符是否为与业务不相关的资源类的统一资源定位符,如果是,则直接过滤掉数据包X。
较佳地,所述通过对多维度聚类结果进行分析确定用户体验包括:
将具有相同会话信息、统一资源定位符中具有指定相同通配符,且时间上顺序排列的数据包定义为一个业务;
确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间;
对于出错的业务,对业务办理过程进行全程回放,并将确定出的各种信息提示给监控人员。
一种监控用户体验的系统,包括:配置有镜像端口的交换机以及采集设备;其中,
所述交换机,用于将接收到的每个数据包进行复制,并发送给采集设备;
所述采集设备,用于保存接收到的每个数据包,对每个数据包进行多维度聚类,并通过对多维度聚类结果进行分析确定用户体验。
较佳地,所述采集设备包括:
保存单元,用于按照接收时间先后顺序,对接收到的每个数据包进行保存;
聚类单元,用于针对每个数据包X,分别进行以下处理:
A、对数据包X进行传输控制协议TCP/互联网协议IP处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
B、对数据包X进行超文本传输协议HTTP头处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
C、对数据包X进行HTTP内容处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类;
回放单元,用于将具有相同会话信息、统一资源定位符中具有相同指定通配符,且时间上顺序排列的数据包定义为一个业务;确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间;对于出错的业务,对业务办理过程进行全程回放,并将确定出的各种信息提示给监控人员。
较佳地,所述聚类单元进一步用于,在对数据包X进行TCP/IP协议处理时,先提取出数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则直接将数据包X过滤掉;在对数据包X进行HTTP头处理时,先提取出数据包X中携带的统一资源定位符,确定提取出的统一资源定位符是否为与业务不相关的资源类的统一资源定位符,如果是,则直接过滤掉数据包X。
可见,采用本发明的技术方案,通过为交换机配置镜像端口,获取到用户办理业务所涉及到的所有数据包,并通过对这些数据包进行多维度聚类以及对多维度聚类结果进行分析等,准确地获知每个用户的用户体验。而且,本发明所述方案无需对现有应用系统进行改造,所以不会增加应用系统的工作量和改造成本等,便于推广。
附图说明
图1为本发明监控用户体验的方法实施例的流程图。
图2为现有与负载均衡设备直接相连的交换机在网络中的位置示意图。
图3为本发明监控用户体验的系统实施例的组成结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种监控用户体验的方法,采取以业务包构造(BPB,Business Package Build)技术为核心的抓包式业务分析方式,以达到准确地监控用户体验的目的,且无需对现有应用系统进行改造,从而不会增加现有应用系统的工作量和成本等,便于推广。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步地详细说明。
图1为本发明监控用户体验的方法实施例的流程图。如图1所示,包括以下步骤:
步骤11:为交换机配置镜像端口,复制交换机所接收到的每个数据包并进行保存。
本步骤中,通过为交换机配置镜像端口,按照时间先后顺序,将交换机接收到的每个数据包进行复制,并按照复制的先后顺序对复制的各数据包进行保存。
其中,为交换机配置镜像端口的具体方式可根据实际需要而定。比如,如果需要监控所有应用系统下的用户体验,则为与负载均衡设备直接相连的交换机配置镜像端口;如图2所示,图2为现有与负载均衡设备直接相连的交换机在网络中的位置示意图。如果不需要监控所有应用系统下的用户体验,则只在与需要监控的应用系统相连的交换机上配置镜像端口。
本步骤中,将交换机接收到的每个数据包,包括用户访问服务器的数据包和服务器返回给用户的数据包,全部复制到预先设置的采集设备上。具体来说,这里所提到的数据包,可为超文本传输协议(HTTP,Hypertext TransferProtocol)数据包或安全版超文本传输协议(HTTPS,Hypertext TransferProtocol over Secure Socket Layer)数据包,根据具体设置的不同,有的应用系统可能采用HTTP数据包,而有的应用系统则可能采用HTTPS数据包。如果交换机对应多个应用系统,那么交换机接收到的数据包既可能包括HTTP数据包,也可能包括HTTPS数据包。
步骤12:对复制的每个数据包进行多维度聚类。
本发明所述方案中,提出一种BPB技术,用于监控用户体验,其实现主要包括多维度聚类、海量数据处理以及业务办理全回放等过程。本步骤中,即针对复制到采集设备上的每个数据包,进行以业务为视角的多维度聚类和海量数据处理。
这里首先介绍一下什么是多维度聚类。众所周知,如果能够将大量看上去杂乱无章的原始数据包进行准确有效地分类,那么将会对分析这些数据包提供有效的帮助。本实施例中,提供了多种分类方式,包括客户端IP地址分类、会话层(Session)分类、用户登录账号分类、业务统一资源定位符(URL,UniformResource Locator)参数化匹配分类、HTTP错误分类、应用错误分类以及时间分类等。下面对上述几种分类方式分别进行说明。
客户端IP地址分类:提取数据包的传输控制协议(TCP,TransmissionControl Protocol)/互联网协议(IP,Internet Protocol)头中携带的源地址信息,将具有相同源地址的数据包划分为一类。其中,源地址即指客户端IP地址,对于进行负载均衡隐藏了客户端IP地址的情况,可通过打开交换机的X-Forward功能来获取客户端IP地址,具体实现为本领域公知,不再赘述。
会话层分类:一个用户在一个浏览器周期内,所有的操作都会在一个会话中完成,因此,可提取数据包的HTTP头中携带的会话信息,将具有相同会话信息的数据包划分为一类。
用户登录账号分类:大多数应用系统都具有用户登录功能,通过对数据包中携带的URL参数或表单数据进行解析,提取出用户登录账号信息,将具有相同用户登录账号的数据包划分为一类。一个用户登录账号所对应的操作必包含在一个会话中。其中,对于不同的数据包,可能有的用户登录账号携带在HTTP头的URL参数中,而有的则携带在HTTP内容的表单数据中,所以在实际应用中,对于不同的数据包,可分别从URL参数或表单数据中获取用户登录账号。
业务URL参数化匹配分类:对某些配置了多域名和多种业务操作渠道的应用系统,可通过通配符等方式对数据包进行分类,即提取数据包的HTTP头中携带的URL,将提取出的URL中具有相同指定通配符的数据包划分为一类。比如,cnc.chl.zjchinamobile.com和cn.chl.zjchinamobile.com具有相同的通配符“chl.zjchinamobile.com”,表示了相似的URL,只是接入渠道和方式不同,那么可将两者划分为一类。
HTTP错误分类:提取数据包的HTPP头中携带的代表不同错误类型的状态代码信息,获取非200(200表示正常,即没有错误)HTTP错误,将具有相同状态代码的数据包划分为一类。
应用错误分类:根据返回页面的特定信息定义具体的应用错误归类,即提取每个数据包的HTTP内容中携带的应用错误提示信息,将具有相同应用错误提示信息的数据包划分为一类。
虽然都涉及到错误提示,但HTTP错误分类和应用错误分类还是有所不同的,其中HTTP错误分类是针对错误类型,而应用错误分类是针对具体的错误原因,即使对于相同的错误类型,对于不同的应用系统来说,其应用错误提示信息也可能是不同的。
时间分类:将每个数据包按照复制时间先后进行排序。由于本实施例在保存复制的每个数据包时,就是按照复制的先后顺序进行保存的,所以无需再进行排序。时间上的排序也可理解为一种特殊的分类方式,即每个时间点就是一个类别。
本实施例中,针对每个数据包,理论上,均需要按照上述每一种方式进行分类,比如,对于数据包X,需要分别确定其属于客户端IP地址分类中的哪一类、属于会话层分类中的哪一类、属于用户登录账号分类中的哪一类等。
但是,在实际应用中,对于某些分类,如用户登录账号分类,如果应用系统不要求用户登录,那么,该应用系统对应的数据包中就不会携带有用户登录账号信息,对于这类数据包,则无需按照用户登录账号进行分类。再比如,客户端IP地址和业务URL参数化匹配分类方式只适用于用户发给服务器的数据包,所以,对于服务器发送给用户的数据包,则无需按照这两种方式进行分类。再有,对于HTTP错误分类和应用错误分类,只适用于服务器发送给用户的数据包,所以对于用户发送给服务器的数据包,则无需按照这两种方式进行分类;另外,即使对于服务器返回给用户的数据包,如果没有携带错误信息,那么也无需按照这两种方式进行分类。
另外,由于待分类的数据包很多,为加快处理速度,本实施例中提出一种海量数据处理方式,即采用多级处理方式,借鉴于生产流水线的方式,创造一个大管道的数据流,接在管道上的每级处理都是分工明确的专业处理过程,保证了批量快速的处理效果。所述处理过程主要包括TCP/IP包处理、HTTP头处理以及HTTP内容处理等。其中,在TCP/IP包处理和HTTP头处理中,除了要对数据包进行分类外,还可各包括一个过滤步骤,从而过滤掉部分不符合要求的数据包,以减少后续分类时的工作量;而HTTP内容处理则只包括分类步骤。
结合上述海量数据处理方式以及上述分类方式,针对每个数据包X,分别进行以下处理:
1)TCP/IP包处理
确定数据包X是否属于监控目标,如果不属于,则过滤掉数据包X。
在实际应用中,根据实际需要,可能只需对部分数据包进行监控,那么,在进行分类之前,可首先过滤掉那些不属于监控目标的数据包,具体过滤方式可以是:提取数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则确定数据包X不属于监控目标。
如果数据包X被过滤掉,那么按照上述方式继续对下一个数据包进行处理即可,如果数据包X没有被过滤掉,则对数据包X进行分类处理,包括:确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类。
2)HTTP头处理
确定数据包X是否符合业务关联要求,如果不符合,则过滤掉数据包X。确定数据包X是否符合业务关联要求的方式可以是:提取数据包X的URL,如果该URL为与业务关联不大的资源类的URL,如图片或样式表(CSS)文件,则过滤掉数据包X。
如果没有过滤掉数据包X,则对数据包X进行分类处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类。
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类。
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类。
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类。
即分别按照会话层、用户登录账号、业务URL参数化匹配以及HTTP错误分类方式对数据包X进行分类。上述各种分类方式的执行顺序不分先后,可根据需要任意设置。
3)HTTP内容处理
对于特定的数据包,需要获取具体的用户表单信息等信息,就需要对HTTP内容进行处理,具体来说,这里即指对数据包X进行用户登录账号分类和应用错误分类。
之前已经提到,对于不同的数据包来说,可能有的数据包中的用户登录账号携带在HTTP头中,而有的则可能携带在HTTP内容中,所以本步骤中还需要对数据包X进行用户登录账号分类,当然,还需要进行应用错误分类。具体实现包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类。
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类。
时间分类在保存复制的数据包时就已完成,所以无需再重复进行。
步骤13:通过对多维度聚类结果进行分析确定用户体验。
本步骤中,对于经过海量数据处理和分类后的数据包,可通过业务定义,将每个会话、每个用户、每个客户端IP等对应的业务办理过程进行完全回放,业务办理量和结果的统计信息也能实时展示,方便监控人员及时了解用户体验。
具体实现包括:将具有相同会话信息、URL中具有相同指定通配符,且时间上顺序排列的数据包定义为一个业务;确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间。
具有相同会话信息的数据包必然具有相同的源地址和用户登录账号。另外,如果某个业务对应的所有数据包均不属于任一状态代码分类和错误提示信息分类,那么则说明用户在办理该业务的过程中没有发生问题。再有,由于各数据包均已按时间顺序进行了排序,所以对于整个业务办理过程,可通过分析其中的每次操作对应的用户发送给服务器的数据包以及服务器返回给用户的数据包间的时间间隔,来确定该次操作的响应时间,并将每次操作的响应时间之和作为办理整个业务的响应时间。
对于出错的业务,可对业务办理过程进行全程回放,即将业务办理过程涉及到的数据包提取并显示出来,并将确定出的各种信息提示给监控人员,以便监控人员进行相关处理。
在此基础上,还可进一步统计出所出现的不同业务个数、每个业务出现的次数以及每个业务的出错率,即可用性等,并可统计出每个业务的平均响应时间等;另外,还可根据分类结果,统计出每个客户端和每个用户登录账号的总体访问量等,从而达到全面监控用户体验的目的。
基于上述方法,图3为本发明监控用户体验的系统实施例的组成结构示意图。如图3所示,包括:配置有镜像端口的交换机31以及采集设备32;其中,
交换机31,用于将接收到的每个数据包进行复制,并发送给采集设备32;
采集设备32,用于保存接收到的每个数据包,对每个数据包进行多维度聚类,并通过对多维度聚类结果进行分析确定用户体验。
其中,采集设备32中进一步包括:
保存单元321,用于按照接收时间先后顺序,对接收到的每个数据包进行保存;
聚类单元322,用于针对每个数据包X,分别进行以下处理:
A、对数据包X进行TCP/IP处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
B、对数据包X进行超文本传输协议HTTP头处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
C、对数据包X进行HTTP内容处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类;
回放单元323,用于将具有相同会话信息、统一资源定位符中具有相同指定通配符,且时间上顺序排列的数据包定义为一个业务;确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间;对于出错的业务,对业务办理过程进行全程回放,并将确定出的各种信息提示给监控人员。
另外,聚类单元322还可进一步用于,在对数据包X进行TCP/IP协议处理时,先提取出数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则直接将数据包X过滤掉;在对数据包X进行HTTP头处理时,先提取出数据包X中携带的统一资源定位符,确定提取出的统一资源定位符是否为与业务不相关的资源类的统一资源定位符,如果是,则直接过滤掉数据包X。
总之,采用本发明的技术方案,通过为交换机配置镜像端口,获取到用户办理业务所涉及到的所有数据包,并通过对这些数据包进行多维度聚类以及对多维度聚类结果进行分析等,准确地获知用户体验。而且,本发明所述方案无需对现有应用系统进行改造,所以不会增加应用系统的工作量和改造成本等,便于推广。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种监控用户体验的方法,其特征在于,该方法包括:
为交换机配置镜像端口,复制交换机所接收到的每个数据包并进行保存;
对复制的每个数据包进行多维度聚类;
通过对多维度聚类结果进行分析确定用户体验;
其中,所述复制交换机所接收到的每个数据包并进行保存包括:
按照时间先后顺序,所述交换机每接收到一个数据包,则将该数据包进行复制,并按照复制先后顺序对复制的各数据包进行保存;
所述对复制的每个数据包进行多维度聚类包括:针对每个数据包X,分别进行以下处理:
A、对数据包X进行传输控制协议TCP/互联网协议IP处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
B、对数据包X进行超文本传输协议HTTP头处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
C、对数据包X进行HTTP内容处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类。
2.根据权利要求1所述的方法,其特征在于,所述为交换机配置镜像端口包括:
如果需要监控所有应用系统下的用户体验,则为与负载均衡设备直接相连的交换机配置镜像端口;如果不需要监控所有应用系统下的用户体验,则只在与需要监控的应用系统相连的交换机上配置镜像端口。
3.根据权利要求1所述的方法,其特征在于,所述对数据包X进行TCP/IP处理进一步包括:
提取数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则直接将数据包X过滤掉。
4.根据权利要求1所述的方法,其特征在于,所述对数据包X进行HTTP内容处理进一步包括:
提取数据包X中携带的统一资源定位符,确定提取出的统一资源定位符是否为与业务不相关的资源类的统一资源定位符,如果是,则直接过滤掉数据包X。
5.根据权利要求1所述的方法,其特征在于,所述通过对多维度聚类结果进行分析确定用户体验包括:
将具有相同会话信息、统一资源定位符中具有相同指定通配符,且时间上顺序排列的数据包定义为一个业务;
确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间;
对于出错的业务,对业务办理过程进行全程回放,并将确定出的各种信息提示给监控人员。
6.一种监控用户体验的系统,其特征在于,包括:配置有镜像端口的交换机以及采集设备;其中,
所述交换机,用于将接收到的每个数据包进行复制,并发送给采集设备;
所述采集设备,用于保存接收到的每个数据包,对每个数据包进行多维度聚类,并通过对多维度聚类结果进行分析确定用户体验;
其中,所述采集设备包括:
保存单元,用于按照接收时间先后顺序,对接收到的每个数据包进行保存;
聚类单元,用于针对每个数据包X,分别进行以下处理:
A、对数据包X进行传输控制协议TCP/互联网协议IP处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的TCP/IP头中提取出源地址信息,并根据源地址信息的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
B、对数据包X进行超文本传输协议HTTP头处理,包括:
从数据包X的HTTP头中提取出会话信息,根据会话信息的不同对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP头中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为用户发送给服务器的数据包,如果是,则从数据包X的HTTP头中提取出统一资源定位符,根据提取出的统一资源定位符中的指定通配符的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则从数据包X的HTTP头中提取出代表不同错误类型的状态代码信息,根据状态代码的不同对数据包X进行分类;如果不是,则不对数据包X进行分类;
C、对数据包X进行HTTP内容处理,包括:
确定数据包X是否为用户发送给服务器的数据包,如果不是,则不对数据包X进行分类;如果是,则进一步确定其HTTP内容中是否携带有用户登录账号信息,如果携带,则提取出所述用户登录账号信息,并根据用户登录账号的不同对数据包X进行分类,如果未携带,则不对数据包X进行分类;
确定数据包X是否为服务器发送给用户的数据包,如果是,则提取出数据包X的HTTP内容中携带的应用错误提示信息,根据应用错误提示信息的不同对数据包X进行分类,如果不是,则不对数据包X进行分类;
回放单元,用于将具有相同会话信息、统一资源定位符中具有相同指定通配符,且时间上顺序排列的数据包定义为一个业务;确定该业务对应的数据包所属的源地址分类和用户登录账号分类,从而确定该业务对应的源地址和用户登录账号;确定该业务对应的数据包是否有所属的状态代码分类以及错误提示信息分类,从而确定该业务对应的错误类型以及错误提示信息;并根据该业务对应的数据包的时间顺序确定每次操作的响应时间以及总体响应时间;对于出错的业务,对业务办理过程进行全程回放,并将确定出的各种信息提示给监控人员。
7.根据权利要求6所述的系统,其特征在于,所述聚类单元进一步用于,在对数据包X进行TCP/IP协议处理时,先提取出数据包X中携带的目的地址和协议类型,如果提取出的目的地址属于非监控目标地址,或协议类型属于非监控目标协议类型,或目的地址属于非监控目标地址且协议类型属于非监控目标协议类型,则直接将数据包X过滤掉;在对数据包X进行HTTP头处理时,先提取出数据包X中携带的统一资源定位符,确定提取出的统一资源定位符是否为与业务不相关的资源类的统一资源定位符,如果是,则直接过滤掉数据包X。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102369236A CN102055620B (zh) | 2009-10-27 | 2009-10-27 | 监控用户体验的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102369236A CN102055620B (zh) | 2009-10-27 | 2009-10-27 | 监控用户体验的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102055620A CN102055620A (zh) | 2011-05-11 |
CN102055620B true CN102055620B (zh) | 2013-01-02 |
Family
ID=43959578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102369236A Active CN102055620B (zh) | 2009-10-27 | 2009-10-27 | 监控用户体验的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102055620B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882703B (zh) * | 2012-08-31 | 2015-08-19 | 赛尔网络有限公司 | 一种基于http分析的url自动分类分级的系统及方法 |
CN103220188B (zh) * | 2013-04-11 | 2016-08-03 | 江苏中科惠软信息技术有限公司 | 一种http数据采集设备 |
CN103731316B (zh) * | 2013-07-30 | 2017-08-04 | 天津金栅科技有限公司 | 一种流量监控装置及方法 |
CN103532796B (zh) * | 2013-10-31 | 2017-01-04 | 赛尔网络有限公司 | 大型isp间互联口统计系统及方法 |
CN106559456B (zh) * | 2015-09-29 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 服务器、http请求的归类系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758625A (zh) * | 2004-10-09 | 2006-04-12 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
CN1798043A (zh) * | 2004-12-23 | 2006-07-05 | 杭州华为三康技术有限公司 | 利用旁路模式实现流量计费的装置和方法 |
CN101022370A (zh) * | 2007-03-23 | 2007-08-22 | 清华大学 | G比特流率下多粒度的网络自动聚类方法 |
CN101155086A (zh) * | 2006-09-26 | 2008-04-02 | 中兴通讯股份有限公司 | 宽窄带综合接入设备的网络流量统计方法 |
-
2009
- 2009-10-27 CN CN2009102369236A patent/CN102055620B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758625A (zh) * | 2004-10-09 | 2006-04-12 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
CN1798043A (zh) * | 2004-12-23 | 2006-07-05 | 杭州华为三康技术有限公司 | 利用旁路模式实现流量计费的装置和方法 |
CN101155086A (zh) * | 2006-09-26 | 2008-04-02 | 中兴通讯股份有限公司 | 宽窄带综合接入设备的网络流量统计方法 |
CN101022370A (zh) * | 2007-03-23 | 2007-08-22 | 清华大学 | G比特流率下多粒度的网络自动聚类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102055620A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101099345B (zh) | 利用采样和试探在网络元件处解释应用消息的方法和设备 | |
US10747592B2 (en) | Router management by an event stream processing cluster manager | |
US20210352090A1 (en) | Network security monitoring method, network security monitoring device, and system | |
US10423469B2 (en) | Router management by an event stream processing cluster manager | |
US10404556B2 (en) | Methods and computer program products for correlation analysis of network traffic in a network device | |
US8825849B2 (en) | Distributed data collection and aggregation | |
EP3796167B1 (en) | Router management by an event stream processing cluster manager | |
US10706062B2 (en) | Method and system for exchanging data from a big data source to a big data target corresponding to components of the big data source | |
CN103152352A (zh) | 一种基于云计算环境的全信息安全取证监听方法和系统 | |
CN102055620B (zh) | 监控用户体验的方法和系统 | |
US10044820B2 (en) | Method and system for automated transaction analysis | |
Anton et al. | Highly scalable and flexible model for effective aggregation of context-based data in generic IIoT scenarios | |
US20020136204A1 (en) | Method and system for routing network traffic based upon application information | |
CN108810053A (zh) | 物联网应用处理方法和物联网应用系统 | |
CN105468502A (zh) | 一种日志收集的方法、装置和系统 | |
US11368410B2 (en) | System and method for scaling analytics collection | |
CN116506300A (zh) | 一种网站流量数据统计方法和系统 | |
US11734297B1 (en) | Monitoring platform job integration in computer analytics system | |
Vokorokos et al. | IPFIX Mediation framework of the SLAmeter tool | |
JP2010286868A (ja) | コミュニティ形成システム、そのコミュニティ形成装置、そのデータ処理方法およびコンピュータプログラム | |
CN112491596B (zh) | 一种基于云端的故障处理方法及装置 | |
CN114417796A (zh) | 一种基于设备采点的动态报表统计方法及系统 | |
CN107749875B (zh) | 一种大数据人工智能分析系统 | |
CN113422699A (zh) | 数据流处理方法、装置、计算机可读存储介质及电子设备 | |
CN112564984A (zh) | 基于大数据的物联网的分布式安全运维的方法 |
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 |