流量统计方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:34883710 阅读:21 留言:0更新日期:2022-09-10 13:40
本申请公开了一种流量统计方法、装置、电子设备及可读存储介质,属于通信技术领域。该方法包括:通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名;在所述内核空间存储流量数据至BPF数据图中,所述流量数据包括所述目标应用包名对应的流量数据;根据所述BPF数据图中读取的流量数据,在所述终端设备的用户空间将所述流量数据统计至流量统计文件。件。件。

【技术实现步骤摘要】
流量统计方法、装置、电子设备及可读存储介质


[0001]本申请属于通信
,具体涉及一种流量统计方法、装置、电子设备及可读存储介质。

技术介绍

[0002]上网流量统计对于移动终端用户和运营商都非常重要,目前对于系统应用与系统服务共享同一个用户标识(User Identification,UID)的情况下,流量都被记录到系统服务这个大类别,或者终端设备中多个系统应用共享同一个UID的情况,流量都被记录到该共享UID下。如此,没有办法把共享UID的应用的流量区分开来。

技术实现思路

[0003]本申请实施例的目的是提供一种流量统计方法、装置、电子设备及可读存储介质,能够解决共享UID的应用的流量无法区分问题。
[0004]第一方面,本申请实施例提供了一种流量统计方法,该方法包括:
[0005]通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名;
[0006]在所述内核空间存储流量数据至BPF数据图中,所述流量数据包括所述目标应用包名对应的流量数据;
[0007]根据所述BPF数据图中读取的流量数据,在所述终端设备的用户空间将所述流量数据统计至流量统计文件。
[0008]第二方面,本申请实施例提供了一种流量统计装置,包括:
[0009]应用包名获取模块,用于通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名;
[0010]存储模块,用于在所述内核空间存储流量数据至BPF数据图中,所述流量数据包括所述目标应用包名对应的流量数据;
[0011]统计模块,用于根据所述BPF数据图中读取的流量数据,在所述终端设备的用户空间将所述流量数据统计至流量统计文件。
[0012]第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0013]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0014]第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
[0015]第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
[0016]在本申请实施例中,通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名;在所述内核空间存储流量数据至BPF数据图中,所述流量数据包括所述目标应用包名对应的流量数据;根据所述BPF数据图中读取的流量数据,在所述终端设备的用户空间将所述流量数据统计至流量统计文件,由此可以对共享UID的应用的流量统计进行粒度细化,将共享同一个UID的系统服务和系统应用的流量区分开来,或者将共享同一个UID的不同应用的流量区分开来,实现共享UID的应用流量的精确统计。
附图说明
[0017]图1是本申请实施例的流量统计方法的流程示意图。
[0018]图2是本申请实施例的流量统计方法的整体架构示意图之一。
[0019]图3是本申请实施例的流量统计方法的整体架构示意图之一。
[0020]图4至图8是本申请实施例的流量统计方法的用户界面示意图。
[0021]图9是本申请实施例的流量统计装置的结构方框图。
[0022]图10是本申请实施例的电子设备的结构方框图。
[0023]图11是实现本申请实施例的一种电子设备的硬件结构示意图。
具体实施方式
[0024]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
[0025]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0026]下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的流量统计方法进行详细地说明。
[0027]图1是本申请实施例的流量统计方法的流程示意图。如图1所示,本申请实施例的流量统计方法包括以下步骤102至步骤106。
[0028]步骤102,通过伯克利包过滤器(Berkeley Packet Filter,BPF)辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名。
[0029]执行网络协议通信的数据包是指终端设备上共享UID的目标应用连接网络上网时产生的传输数据包,预定时间内累计的传输数据包大小即为对应目标应用的流量大小。
[0030]在Linux网络代码中收、发数据包都是通过套接字缓存(socket buffer,SKB),传
输数据包为SKB包。
[0031]可选地,在步骤102通过BPF辅助函数,在终端设备的内核空间获取目标应用包名之前,所述方法还包括:通过所述终端设备的用户空间的BPF程序,在所述终端设备执行所述网络协议通信数据包传输的情况下,传入特定套接字缓存偏移量到所述终端设备的内核空间;所述通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名包括:根据所述特定套接字缓存偏移量,通过所述BPF辅助函数在所述终端设备的内核空间获取所述目标应用包名。
[0032]在本申请实施例中,终端设备存在应用使用网络流量执行上网行为,则在终端设备的用户空间通过BPF程序设置特定的传输数据包的套接字缓存偏移量,并传入内核空间,用于调用终端设备内核空间的BPF辅助函数在内核空间执行提取数据包传输对应的目标应用的应用包名。
[0033]特定套接字缓存偏移量的设置和传入由用户空间用于流量统计的插件BPF程序实现,在终端设备存在应用上网的情况下,对当前每次接收的数据包或发送的数据包均进行特定套接字缓存偏移量的传入。设置特定值的套接字缓存偏移量为内核空间和用户空间事先约定,用于提取数据包传输对应应用的应用包名,包括共享本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流量统计方法,其特征在于,包括:通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,所述目标应用包名为终端设备执行网络协议通信数据包传输对应应用的应用包名;在所述内核空间存储流量数据至BPF数据图中,所述流量数据包括所述目标应用包名对应的流量数据;根据所述BPF数据图中读取的流量数据,在所述终端设备的用户空间将所述流量数据统计至流量统计文件。2.根据权利要求1所述的方法,所述在所述终端设备的用户空间将所述流量数据统计至流量统计文件之前,所述方法还包括:通过包管理服务,在所述终端设备的用户空间获取应用标识APPID;所述在所述终端设备的用户空间将所述流量数据统计至流量统计文件中包括:根据所述APPID,在所述终端设备的用户空间将所述流量数据统计至流量统计文件中,所述流量数据包括所述APPID对应的切片流量数据和一般流量数据。3.根据权利要求1或2所述的方法,其特征在于,所述通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名,包括:通过所述BPF辅助函数,在所述内核空间获取数据包传输对应的调用任务的任务信息;从所述任务信息中提取数据包传输对应的目标应用的目标应用包名。4.根据权利要求1或2所述的方法,其特征在于,所述通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名之前,所述方法还包括:通过所述终端设备的用户空间的BPF程序,在所述终端设备执行所述网络协议通信数据包传输的情况下,传入特定套接字缓存偏移量到所述终端设备的内核空间;所述通过伯克利包过滤器BPF辅助函数,在终端设备的内核空间获取目标应用包名包括:根据所述特定套接字缓存偏移量,通过所述BPF辅助函数在所述终端设备的内核空间获取所述目标应用包名。5.根据权利要求1或2所述的方法,其特征在于,所述在所述内核空间存储流量数据至BPF数据图中之前,所述方法还包括:在所述终端设备的用户空间创建BPF数据图,其中,所述BPF数据图的维度包括接收数据包大小、发送数据包大小、用户标识UID、网卡名称、以及应用包名。6.根据权利要求2所述的方法,其特征在于,所述在所述终端设备的用户空间将所述...

【专利技术属性】
技术研发人员:万文寅
申请(专利权)人:维沃移动通信有限公司
类型:发明
国别省市:

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

1