一种流量统计方法、装置、终端设备和存储介质制造方法及图纸

技术编号:18674319 阅读:30 留言:0更新日期:2018-08-14 21:31
本发明专利技术公开了一种流量统计方法、装置、终端设备和存储介质,用以针对应用程序中内部运行的进程进行流量统计。所述流量统计方法,包括:捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;从存储的流量统计数据中查找所述数据传输信息对应的连接标识和每个连接标识对应数据包的数据大小信息,所述流量统计数据中关联存储有进程标识、进程关联的各个连接的连接标识、每个连接标识对应的数据传输信息,以及根据每个连接所捕获的数据包的数据大小信息而统计的数据量,每一个进程的数据量即为其关联的所有连接标识所对应的数据量;根据所述数据大小信息,将捕获的数据包的数据量更新到查找到的连接标识对应的数据量中。

A traffic statistics method, device, terminal device and storage medium

The invention discloses a flow statistics method, a device, a terminal device and a storage medium for carrying out flow statistics for processes running in an application program. The traffic statistics method includes: capturing packets sent and received by an application program, in which data transmission information and data size information are carried; searching connection identifiers corresponding to the data transmission information and data size information corresponding to each connection identifier from the stored traffic statistics data, and the flow In quantitative statistics, the association stores the process identity, the connection identity of each connection associated with the process, the data transmission information corresponding to each connection identity, and the amount of data that is counted according to the data size information of the packet captured by each connection. The amount of data of each process is the number of all connection identifiers associated with each process. The amount of data corresponding to the connection identifier is updated to the amount of data corresponding to the connection identifier found according to the amount of data captured.

【技术实现步骤摘要】
一种流量统计方法、装置、终端设备和存储介质
本专利技术涉及网络通信
,尤其涉及一种流量统计方法、装置、终端设备和存储介质。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在Android2.2版本中加入了TrafficStats类来实现对流量统计的操作。目前在Android上对流量统计就是利用TrafficStats类实例来实现的,一般的通过getUidRxBytes和getUidTxBytes这两个函数来获取对应的收发数据。TrafficStats获取流量是通过获取解析/proc/net/xt_qtaguid/stats文件得到的。但是,该流量统计方法为针对某个应用的流量统计,无法针对进程进行统计,因此,现有的流量统计粒度较粗,而如何针对应用程序内部运行的进程进行流量统计,成为现有技术亟待解决的技术问题之一。
技术实现思路
本专利技术实施例提供一种流量统计方法、装置、终端设备和存储介质,用以针对应用程序中内部运行的进程进行流量统计。第一方面,提供一种流量统计方法,包括:捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;从存储的流量统计数据中查找所述数据传输信息对应的连接标识,所述流量统计数据中关联存储有进程标识、进程关联的各个连接的连接标识、每个连接标识对应的数据传输信息,以及根据每个连接所捕获的数据包的数据大小信息而统计的数据量,每一个进程的数据量即为其关联的所有连接标识所对应的数据量;根据所述数据大小信息,将捕获的数据包的数据量更新到查找到的连接标识对应的数据量中。上述方法中,在接收到数据包时,根据数据包中携带的数据传输信息查找该数据包归属的连接,并根据连接标识查找对应的进程,由此建立了数据包、连接标识和进程标识之间的关联,进而根据接收到的数据包大小信息更新相应连接的数据量,最后,统计进程包含的每一连接标识所对应的数据量总和得到该进程消耗的流量,由此实现了针对应用程序内部运行的进程的数据量统计。可选地,本专利技术实施例提供的流量统计方法,还包括:如果从存储的流量统计数据中未查找到所述数据传输信息对应的连接标识,则根据所述数据传输信息对应的连接标识在所述流量统计数据中查找对应的进程标识;将所述数据传输信息、所述数据传输信息对应的连接标识以及与查找到的进程标识进行关联存储;根据所述数据大小信息,将捕获的数据包的数据量更新到所述数据传输信息对应的连接标识所对应的数据量中。可选地,所述数据传输信息包括源网络地址、源端口、目的网络地址和目的端口。可选地,所述根据每个连接所捕获的数据包的数据大小信息而统计的数据量包括根据所述源网络地址确定出的接收数据量和发送数据量。可选地,捕获应用程序收发的数据包,具体包括:利用数据包捕获数据库libpcap工具捕获应用程序收发的数据包。第二方面,提供一种流量统计装置,包括:捕获单元,用于捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;第一查找单元,用于从存储的流量统计数据中查找所述数据传输信息对应的连接标识,所述流量统计数据中关联存储有进程标识、进程关联的各个连接的连接标识、每个连接标识对应的数据传输信息,以及根据每个连接所捕获的数据包的数据大小信息而统计的数据量,每一个进程的数据量即为其关联的所有连接标识所对应的数据量;第一更新单元,用于根据所述数据大小信息,将捕获的数据包的数据量更新到查找到的连接标识对应的数据量中。可选地,所述流量统计装置,还包括:第二查找单元,用于如果从存储的流量统计数据中未查找到所述数据传输信息对应的连接标识,则根据所述数据传输信息对应的连接标识在所述流量统计数据中查找对应的进程标识;存储单元,用于将所述数据传输信息、所述数据传输信息对应的连接标识以及与查找到的进程标识进行关联存储;第二更新单元,用于根据所述数据大小信息,将捕获的数据包的数据量更新到所述数据传输信息对应的连接标识所对应的数据量中。可选地,所述数据传输信息包括源网络地址、源端口、目的网络地址和目的端口。可选地,所述根据每个连接所捕获的数据包的数据大小信息而统计的数据量包括根据所述源网络地址确定出的接收数据量和发送数据量。可选地,所述捕获单元,具体用于利用数据包捕获数据库libpcap工具捕获应用程序收发的数据包。第三方面,提供一种终端设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述任一方法所述的步骤。第四方面,提供一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述任一方法所述的步骤。本专利技术实施例提供的流量统计方法、装置和介质,在捕获数据包之后,根据数据包中的数据传输信息确定该数据包对应的连接,进而根据连接标识对应到相应的进程,并根据数据包中的数据大小信息更新相应连接的数据量,最终,通过统计进程包含的每一连接所包含的数据量总和即可得到进程消耗的流量,由此实现了统计应用内运行的进程所消耗流量的目的。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为根据本专利技术实施方式的终端设备示意图;图2为根据本专利技术实施例方式中数据包传输路径示意图;图3为本专利技术中pcap文件结构示意图;图4为本专利技术中数据包的文件头和数据报报头结构示意图;图5为本专利技术中查看statdebug.txt文件的inode信息示意图;图6为本专利技术中查看inode号码的示意图;图7为本专利技术中查看ipv4下的socket对应的inode示意图;图8为本专利技术中查看ipv6下的socket对应的inode示意图;图9为本专利技术中查看qzone空间进程对应的pid示意图;图10为本专利技术中查看空间进程fd文件夹下的文件连接情况示意图;图11为本专利技术中进程、连接以及数据包之间的映射关系示意图;图12为根据本专利技术实施方式的流量统计方法的实施流程示意图;图13为根据本专利技术的流量统计方法统计得到的发送数据量和接收数据量示意图;图14为根据本专利技术实施方式的另一流量统计方法示意图;图15为本专利技术中TCP头的结构示意图;图16为本专利技术实施例提供的流量统计装置的结构示意图。具体实施方式为了实现针对应用程序内运行的进程所消耗流量统计的目的,本专利技术实施例提供了一种流量统计方法、装置、终端设备和介质。以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术,并且在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。本专利技术实施例提供的流量统计方法可以应用于终端设备中。下面参照图1来描述根据本专利技术的终端设备10。图1显示的终端设备10仅仅是一个示例,不应对本专利技术实施例的功能和使用范围带来任何限制。如图1所示,终端设备本文档来自技高网...

【技术保护点】
1.一种流量统计方法,其特征在于,包括:捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;从存储的流量统计数据中查找所述数据传输信息对应的连接标识和每个连接标识对应数据包的数据大小信息,所述流量统计数据中关联存储有进程标识、进程关联的各个连接的连接标识、每个连接标识对应的数据传输信息,以及根据每个连接所捕获的数据包的数据大小信息而统计的数据量,每一个进程的数据量即为其关联的所有连接标识所对应的数据量;根据所述数据大小信息,将捕获的数据包的数据量更新到查找到的连接标识对应的数据量中。

【技术特征摘要】
1.一种流量统计方法,其特征在于,包括:捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;从存储的流量统计数据中查找所述数据传输信息对应的连接标识和每个连接标识对应数据包的数据大小信息,所述流量统计数据中关联存储有进程标识、进程关联的各个连接的连接标识、每个连接标识对应的数据传输信息,以及根据每个连接所捕获的数据包的数据大小信息而统计的数据量,每一个进程的数据量即为其关联的所有连接标识所对应的数据量;根据所述数据大小信息,将捕获的数据包的数据量更新到查找到的连接标识对应的数据量中。2.如权利要求1所述的方法,其特征在于,还包括:如果从存储的流量统计数据中未查找到所述数据传输信息对应的连接标识,则根据所述数据传输信息对应的连接标识在所述流量统计数据中查找对应的进程标识;将所述数据传输信息、所述数据传输信息对应的连接标识以及与查找到的进程标识进行关联存储;根据所述数据大小信息,将捕获的数据包的数据量更新到所述数据传输信息对应的连接标识所对应的数据量中。3.如权利要求1所述的方法,其特征在于,所述数据传输信息包括源网络地址、源端口、目的网络地址和目的端口。4.如权利要求3所述的方法,其特征在于,所述根据每个连接所捕获的数据包的数据大小信息而统计的数据量包括根据所述源网络地址确定出的接收数据量和发送数据量。5.如权利要求1~4任一权利要求所述的方法,其特征在于,捕获应用程序收发的数据包,具体包括:利用数据包捕获数据库libpcap工具捕获应用程序收发的数据包。6.一种流量统计装置,其特征在于,包括:捕获单元,用于捕获应用程序收发的数据包,所述数据包中携带有数据传输信息和数据大小信息;第一查找单元,用于从存储的流量统计数据中查找所述数据传输信息对应的连接标识和每个连接标识对应数据...

【专利技术属性】
技术研发人员:刘华星
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1