本公开是关于质量数据的确定方法、装置及终端,该方法包括:获取用户使用互联网业务时的TCP数据包;基于所述TCP数据包中的首包建立TCP流信息;将所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包与所述TCP流信息进行匹配;根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据。应用本公开实施例,服务器可以通过抓取TCP数据包并对TCP数据包进行分析和匹配,就可以确定用户使用某项互联网业务的访问耗时,只需在服务器上进行抓包即可,无需第三方系统或者客户端支持,就能够快速、准确的得到该质量数据,成本较低,具有广泛的适用性。
【技术实现步骤摘要】
本公开涉及互联网
,尤其涉及一种质量数据的确定方法、装置及服务器。
技术介绍
对于互联网业务,评估用户使用互联网业务的服务质量是一项很重要的工作。相关技术中,通过在日志中记录每次用户请求某项互联网业务的耗时,并统计日志,能够得到全部用户使用该项互联网业务的服务质量。这种方式统计工作量大,具有迟滞,无法做到实时性,而且准确性较差。
技术实现思路
为了解决相关技术中存在的缺陷,本公开提供了一种质量数据的确定方法、装置及服务器。根据本公开实施例的第一方面,提供一种质量数据的确定方法,包括:获取用户使用互联网业务时的传输控制协议TCP数据包;基于所述TCP数据包中的首包建立TCP流信息;将所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包与所述TCP流信息进行匹配;根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据。可选的,所述获取用户使用互联网业务时的TCP数据包,包括:获取用户使用互联网业务时,在设定时间段内服务器端发送和/或用户端发送的TCP数据包。可选的,所述基于所述TCP数据包中的首包建立TCP流信息,包括:判断所述TCP数据包中的同步SYN位是否为1 ;在所述SYN位为1时,将所述TCP数据包确定为首包,提取所述首包中的信息;基于所提取的信息建立TCP流信息,其中,所提取的信息包括:TCP数据包的源互联网协议IP地址、目的IP地址、源端口、目的端口、用户端起始序列号Seq值、服务器端起始Seq值以及起始时间戳。可选的,所述将所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包与所述TCP流信息进行匹配,包括:判断所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包是否能够匹配所述TCP流信息中的前四项信息;在判断为TCP数据包不能够匹配所述TCP流信息中的前四项信息时,将所述TCP数据包丢弃。可选的,所述根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据,包括:对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,判断所述TCP数据包是否为所获取的TCP数据包中的第一个应答ACK包;在判断所述TCP数据包为所述第一个ACK包时,提取所述第一个ACK包中的时间戳;将所提取的时间戳与所述起始时间戳相减,得到用户端与服务器端之间的往返传输时间。可选的,所述根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据,包括:对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,判断所述TCP数据包是否为用户端或服务器端发送的第一个包含有效载荷的TCP数据包;在判断所述TCP数据包为用户端或服务器端发送的所述第一个包含有效载荷的TCP数据包时,提取所述第一个包含有效载荷的TCP数据包中的时间戳;将所提取的时间戳与所述起始时间戳相减,得到对应的用户端首包时间或服务器端首包时间。可选的,所述根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据,包括:对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,提取所述TCP数据包中的业务交互关键字;将所述业务交互关键字与预先设置的关键字进行匹配;在匹配成功时,提取所述TCP数据包中的时间戳;将所提取的时间戳与所述起始时间戳相减,得到用户发起请求到所请求的关键节点的耗时。可选的,所述根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据,包括:对于能够匹配所述TCP流信息中的前四项信息的用于请求资源的TCP数据包,提取所述TCP数据包中的用户端Seq值或服务器端Seq值;将所提取的用户端Seq值与所述用户端起始Seq值相减,或将所提取的服务器端Seq值与所述服务器端起始Seq值相减,得到所述用户端请求到对应的资源的耗时。可选的,所述根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据,包括:对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,判断所述TCP数据包中的结束FIN位是否为1 ;在判断为所述FIN位为1时,提取所述TCP数据包中的时间戳;将所提取的时间戳与所述起始时间戳相减,得到TCP连接耗时。根据本公开实施例的第二方面,提供一种质量数据的确定装置,包括:获取模块,被配置为获取用户使用互联网业务时的传输控制协议TCP数据包;建立模块,被配置为基于所述TCP数据包中的首包建立TCP流信息;匹配模块,被配置为将所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包与所述TCP流信息进行匹配;确定模块,被配置为根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据。可选的,所述获取模块被配置为获取用户使用互联网业务时,在设定时间段内服务器端发送和/或用户端发送的TCP数据包。可选的,所述建立模块包括:第一判断子模块,被配置为判断所述TCP数据包中的同步SYN位是否为1 ;第一提取子模块,被配置为在所述SYN位为1时,将所述TCP数据包确定为首包,提取所述首包中的信息;建立子模块,被配置为基于所提取的信息建立TCP流信息,其中,所提取的信息包括:TCP数据包的源互联网协议IP地址、目的IP地址、源端口、目的端口、用户端起始序列号Seq值、服务器端起始Seq值以及起始时间戳。可选的,所述匹配模块包括:第二判断子模块,被配置为判断所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包是否能够匹配所述TCP流信息中的前四项信息;丢弃子模块,被配置为在判断为TCP数据包不能够匹配所述TCP流信息中的前四项信息时,将所述TCP数据包丢弃。可选的,所述确定模块包括:第三判断子模块,被配置为对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,判断所述TCP数据包是否为所获取的TCP数据包中的第一个应答ACK包;第二提取子模块,被配置为在判断所述TCP数据包为所述第一个ACK包时,提取所述第一个ACK包中的时间戳;第一计算子模块,被配置为将所提取的时间戳与所述起始时间戳相减,得到用户端与服务器端之间的往返传输时间。可选的,所述确定模块包括:第四判断子模块,被配置为对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,判断所述TCP数据包是否为用户端或服务器端发送的第一个包含有效载荷的TCP数据包;第三提取子模块,被配置为在判断所述TCP数据包为用户端或服务器端发送的所述第一个包含有效载荷的TCP数据包时,提取所述第一个包含有效载荷的TCP数据包中的时间戳;第二计算子模块,被配置为将所提取的时间戳与所述起始时间戳相减,得到对应的用户端首包时间或服务器端首包时间。可选的,所述确定模块包括:第四提取子模块,被配置为对于能够匹配所述TCP流信息中的前四项信息的TCP数据包,提取所述TCP数据包中的业务交互关键字;匹配子模块,被配置为将所述业务交互关键字与预先设置的关键字进行匹配;第五提取子模块,被配置为在匹配成功时,提取所述TCP数据包中的时间戳;第三计算子模块,被配置为将所提取的时间戳与所述起始时间戳相减,得到用户发起请求到所请求的关键节点的耗时。可选的,所述确定模块包括:第六提取子模块,被配置为对于能够匹配所述TCP流信息中的前四项信息的用于请求资源的TCP数据包,提取所述TCP数据包中的用户端Seq值或服务器端Seq值;第四计算子模块,被本文档来自技高网...
【技术保护点】
一种质量数据的确定方法,其特征在于,包括:获取用户使用互联网业务时的传输控制协议TCP数据包;基于所述TCP数据包中的首包建立TCP流信息;将所述TCP数据包中传输时间在所述首包的传输时间之后的TCP数据包与所述TCP流信息进行匹配;根据所述匹配的结果确定所述用户使用所述互联网业务的质量数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:赵趁,李永斌,井源,
申请(专利权)人:小米科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。