CN111031567B - 一种核心网设备的流量统计方法 - Google Patents
一种核心网设备的流量统计方法 Download PDFInfo
- Publication number
- CN111031567B CN111031567B CN202010039126.5A CN202010039126A CN111031567B CN 111031567 B CN111031567 B CN 111031567B CN 202010039126 A CN202010039126 A CN 202010039126A CN 111031567 B CN111031567 B CN 111031567B
- Authority
- CN
- China
- Prior art keywords
- hash table
- flow
- value
- key
- time
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种核心网设备的流量统计方法,属于网络流量统计技术领域,其包括步骤一、在内存中建立一个哈希表,以用户的国际移动用户识别码和当前时间的字符串组合,作为哈希表的key值,并将对应的时间内的流量统计值放入哈希表中对应的key里;步骤二、在程序中启动一个定时器,以恒定周期将哈希表中的流量值写入数据库当中,在定时器触发后,遍历哈希表,读取到每一个key以及对应的流量统计值,然后将key拆分成国际移动用户识别码和时间,根据国际移动用户识别码在数据库中更新对应用户的流量数据值。本发明的优点在于:使得在大量用户频繁进行流量业务的场景下,可以在不影响系统性能的前提下,进行流量统计,同时不会对用户体验造成负面影响。
Description
技术领域
本发明涉及网络流量统计领域,尤其涉及一种核心网设备的流量统计方法。
背景技术
现有技术中,越来越丰富的移动互联网业务,带来了数据流量爆发式的增长,这就增加了核心网流量统计和存储用户流量数据时系统的压力。现有技术中,在核心网现有技术中,进行流量统计时,每次进行流量业务时,都会直接将流量值写入到数据库中。当用户数量较大,并频繁的进行流量业务时,频繁的访问数据库,势必会造成性能的下降,从而进一步导致整个系统性能的下降,最终影响用户体验。
发明内容
本发明要解决的技术问题是如何便于对核心网设备在接入大量用户,并且在用户频繁的进行流量业务时,仍能在不影响用户体验的情况下,对所有用户产生的流量进行统计,并将流量值同时存入数据库中,针对上述要解决的技术问题,现提出核心网设备的流量统计方法。
为实现上述目的,本发明提供如下技术方案:一种核心网设备的流量统计方法,通过如下步骤完成对流量的统计:
步骤一、将流量值存入哈希表,在内存中建立一个哈希表,以用户的国际移动用户识别码和当前时间的字符串组合,作为哈希表的key值,并将对应时间的字符串对应时间的最小时间单位内的流量统计值放入哈希表中对应的key里;
步骤二、定时将哈希表中的流量统计值更新到数据库,在程序中启动一个定时器,以恒定周期来将哈希表中的流量值写入数据库当中,在定时器触发后,遍历哈希表,读取到每一个key以及对应的流量统计值,然后将key拆分成国际移动用户识别码和时间,根据国际移动用户识别码在数据库中更新对应用户的流量数据值。
进一步的,所述步骤一中对应时间的字符串对应时间的最小时间单位为分钟。
进一步的,所述步骤二中的恒定周期为10秒。
进一步的,所述步骤一中的哈希表根据映射关联key和对应的流量值。
进一步的,所述步骤一包括如下具体步骤:
步骤1:初始化,创建一个哈希表用来存放流量值;
步骤2:在产生上下行流量数据时,记录下来当前的用户IMSI和流量值;
步骤3:将当前用户所对应的的IMSI以及当前时间年月日时分秒的字符串进行组合,作为哈希表的key值;
步骤4:在哈希表中根据该key值查找对应的流量值;
步骤5a:如果步骤3查找到了对应的流量值,则在该值的基础上加上此次的流量值;
步骤5b:如果步骤3没有查找到对应的流量值,说明时间进行了更新,此时需要在哈希表中新增该key值,以及对应的流量值;
步骤6:等待下一次上下行流量数据的产生,从步骤2开始。
进一步的,所述步骤二包括如下具体步骤:
步骤1:创建定时器;
步骤2:定时器触发时,遍历哈希表;
步骤3:读取哈希表中的每一个记录,包括key以及流量值;
步骤4:根据key拆分得到用户的IMSI,可以知道当前流量值所对应的用户;
步骤5:连接数据库;
步骤6:往数据库中写入所有哈希表中存在的用户的流量值;
步骤7:断开数据库连接;
步骤8:等待定时器触发,从步骤2开始。
与现有技术相比,本发明的有益效果是:
本发明通过采用哈希表结构将流量统计值缓存在内存中,由于哈希表的查找时间复杂度接近O(1),即常数时间,所以可以快速的更新并记录流量统计值;并且使用定时器写入数据库,从而降低了数据库的访问频率。从而,使得在大量用户频繁进行流量业务的场景下,可以在不影响系统性能的前提下,进行流量统计,同时不会对用户体验造成负面影响。
附图说明
图1为本发明中将流量值存入哈希表的步骤流程示意图;
图2为本发明中定时将哈希表中的流量统计值更新到数据库的步骤流程示意图;
图3为本发明中哈希表的key组合格式图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-3所示,本具体实施方式披露了一种核心网设备的流量统计方法,通过如下步骤完成对流量的统计:
步骤一、将流量值存入哈希表,在内存中建立一个哈希表,以用户的国际移动用户识别码和当前时间的字符串组合,作为哈希表的key值,并将对应时间的字符串对应时间的最小时间单位内的流量统计值放入哈希表中对应的key里。可行的,在本具体实施方式中,可以采用当前时间为年月日时分的时间,截取到每分钟单位的时间,并将当前时间的年月日时分字符串组合,作为哈希表的key值。形如460000123456108_201912120834(代表IMSI为460000123456108的用户在2019年12月12日8点34分的流量值对应的key),然后将这一分钟的流量统计值放入哈希表中对应的key里。由于用户量较大,而且每一分钟里可能会进行成百上千次的流量业务,所以会进行大量的哈希表数据查找与更新操作。每次产生新的上下行流量时,需要根据组合出来的key值,在哈希表中查找到流量值并进行更新。哈希表是根据映射来关联key和对应的流量值,所以在每个用户每次更新数据时,组合出key后在表中的查找流量值的时间复杂度接近O(1),因而可以快速的在表中根据key找到数据流量值,并更新流量值;而因为哈希表是在内存当中,访问内存的速率大大高于直接访问数据库的速率,从而更新流量值时对系统整体的性能影响非常小。
步骤二、定时将哈希表中的流量统计值更新到数据库,在程序中启动一个定时器,以恒定周期来将哈希表中的流量值写入数据库当中,可行的,在本具体实施例中可以采用10秒钟为一恒定周期鸡西宁更新一次数据。在定时器触发后,遍历哈希表,读取到每一个key以及对应的流量统计值,然后将key拆分成国际移动用户识别码和时间,根据国际移动用户识别码在数据库中更新对应用户的流量数据值。这样相对于每次有流量值时都去更新数据库,大大减小了数据库被访问的压力。
优选的,所述步骤一包括如下具体步骤:
步骤1:初始化,创建一个哈希表用来存放流量值;
步骤2:在产生上下行流量数据时,记录下来当前的用户IMSI和流量值;
步骤3:将当前用户所对应的的IMSI以及当前时间年月日时分秒的字符串进行组合,作为哈希表的key值;
步骤4:在哈希表中根据该key值查找对应的流量值;
步骤5a:如果步骤3查找到了对应的流量值,则在该值的基础上加上此次的流量值;
步骤5b:如果步骤3没有查找到对应的流量值,说明时间进行了更新,此时需要在哈希表中新增该key值,以及对应的流量值;
步骤6:等待下一次上下行流量数据的产生,从步骤2开始。
优选的,所述步骤二包括如下具体步骤:
步骤1:创建定时器;
步骤2:定时器触发时,遍历哈希表;
步骤3:读取哈希表中的每一个记录,包括key以及流量值;
步骤4:根据key拆分得到用户的IMSI,可以知道当前流量值所对应的用户;
步骤5:连接数据库;
步骤6:往数据库中写入所有哈希表中存在的用户的流量值;
步骤7:断开数据库连接;
步骤8:等待定时器触发,从步骤2开始。
本发明通过采用哈希表结构将流量统计值缓存在内存中,由于哈希表的查找时间复杂度接近O(1),即常数时间,所以可以快速的更新并记录流量统计值;并且使用定时器写入数据库,从而降低了数据库的访问频率。从而,使得在大量用户频繁进行流量业务的场景下,可以在不影响系统性能的前提下,进行流量统计,同时不会对用户体验造成负面影响。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
Claims (4)
1.一种核心网设备的流量统计方法,其特征在于,通过如下步骤完成对流量的统计:
步骤一、将流量值存入哈希表,在内存中建立一个哈希表,以用户的国际移动用户识别码和当前时间的字符串组合,作为哈希表的key值,并将对应时间的字符串对应时间的最小时间单位内的流量统计值放入哈希表中对应的key里;
具体步骤如下:
步骤1:初始化,创建一个哈希表用来存放流量值;
步骤2:在产生上下行流量数据时,记录下来当前的用户IMSI和流量值;
步骤3:将当前用户所对应的IMSI以及当前时间年月日时分秒的字符串进行组合,作为哈希表的key值;
步骤4:在哈希表中根据该key值查找对应的流量值;
步骤5a:如果步骤3查找到了对应的流量值,则在该值的基础上加上此次的流量值;
步骤5b:如果步骤3没有查找到对应的流量值,说明时间进行了更新,此时需要在哈希表中新增该key值,以及对应的流量值;
步骤6:等待下一次上下行流量数据的产生,从步骤2开始;
步骤二、定时将哈希表中的流量统计值更新到数据库,在程序中启动一个定时器,以恒定周期来将哈希表中的流量值写入数据库当中,在定时器触发后,遍历哈希表,读取到每一个key以及对应的流量统计值,然后将key拆分成国际移动用户识别码和时间,根据国际移动用户识别码在数据库中更新对应用户的流量数据值;
具体步骤如下:
步骤1:创建定时器;
步骤2:定时器触发时,遍历哈希表;
步骤3:读取哈希表中的每一个记录,包括key以及流量值;
步骤4:根据key拆分得到用户的IMSI,可以知道当前流量值所对应的用户;
步骤5:连接数据库;
步骤6:往数据库中写入所有哈希表中存在的用户的流量值;
步骤7:断开数据库连接;
步骤8:等待定时器触发,从步骤2开始。
2.根据权利要求1所述的一种核心网设备的流量统计方法,其特征在于,所述步骤一中对应时间的字符串对应时间的最小时间单位为分钟。
3.根据权利要求1所述的一种核心网设备的流量统计方法,其特征在于,所述步骤二中的恒定周期为10秒。
4.根据权利要求1所述的一种核心网设备的流量统计方法,其特征在于,所述步骤一中的哈希表根据映射关联key和对应的流量值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039126.5A CN111031567B (zh) | 2020-01-14 | 2020-01-14 | 一种核心网设备的流量统计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010039126.5A CN111031567B (zh) | 2020-01-14 | 2020-01-14 | 一种核心网设备的流量统计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111031567A CN111031567A (zh) | 2020-04-17 |
CN111031567B true CN111031567B (zh) | 2022-06-24 |
Family
ID=70199409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010039126.5A Active CN111031567B (zh) | 2020-01-14 | 2020-01-14 | 一种核心网设备的流量统计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031567B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335686A (zh) * | 2007-06-27 | 2008-12-31 | 上海博达数据通信有限公司 | 一种在网络设备上进行数据流量分析管理的方法 |
CN101465755A (zh) * | 2008-11-20 | 2009-06-24 | 西安交通大学 | 一种逆向求解的多维哈希表方法 |
CN101572670A (zh) * | 2009-05-07 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 一种基于流表的数据包处理方法、装置和网络系统 |
CN101801036A (zh) * | 2010-03-03 | 2010-08-11 | 华为终端有限公司 | 网络流量管理方法及系统、普通节点 |
CN102136004A (zh) * | 2011-03-30 | 2011-07-27 | 信雅达系统工程股份有限公司 | 工作流系统中业务的获取方法 |
WO2013063329A1 (en) * | 2011-10-25 | 2013-05-02 | Nicira, Inc. | Physical controllers for converting universal flows |
CN103281358A (zh) * | 2013-05-07 | 2013-09-04 | 汉柏科技有限公司 | 一种基于一致性hash算法存储资源的方法 |
CN103763154A (zh) * | 2014-01-11 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种网络流量检测方法 |
CN105978748A (zh) * | 2016-04-26 | 2016-09-28 | 上海斐讯数据通信技术有限公司 | 一种基于哈希节点的终端设备信息统计的方法及装置 |
CN106844233A (zh) * | 2016-12-07 | 2017-06-13 | 深圳市德传技术有限公司 | 一种基于哈希表的路由器运行数据缓存方法及系统 |
CN107087031A (zh) * | 2017-05-10 | 2017-08-22 | 浙江宇视科技有限公司 | 一种存储资源负载均衡方法及装置 |
-
2020
- 2020-01-14 CN CN202010039126.5A patent/CN111031567B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335686A (zh) * | 2007-06-27 | 2008-12-31 | 上海博达数据通信有限公司 | 一种在网络设备上进行数据流量分析管理的方法 |
CN101465755A (zh) * | 2008-11-20 | 2009-06-24 | 西安交通大学 | 一种逆向求解的多维哈希表方法 |
CN101572670A (zh) * | 2009-05-07 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 一种基于流表的数据包处理方法、装置和网络系统 |
CN101801036A (zh) * | 2010-03-03 | 2010-08-11 | 华为终端有限公司 | 网络流量管理方法及系统、普通节点 |
CN102136004A (zh) * | 2011-03-30 | 2011-07-27 | 信雅达系统工程股份有限公司 | 工作流系统中业务的获取方法 |
WO2013063329A1 (en) * | 2011-10-25 | 2013-05-02 | Nicira, Inc. | Physical controllers for converting universal flows |
CN103281358A (zh) * | 2013-05-07 | 2013-09-04 | 汉柏科技有限公司 | 一种基于一致性hash算法存储资源的方法 |
CN103763154A (zh) * | 2014-01-11 | 2014-04-30 | 浪潮电子信息产业股份有限公司 | 一种网络流量检测方法 |
CN105978748A (zh) * | 2016-04-26 | 2016-09-28 | 上海斐讯数据通信技术有限公司 | 一种基于哈希节点的终端设备信息统计的方法及装置 |
CN106844233A (zh) * | 2016-12-07 | 2017-06-13 | 深圳市德传技术有限公司 | 一种基于哈希表的路由器运行数据缓存方法及系统 |
CN107087031A (zh) * | 2017-05-10 | 2017-08-22 | 浙江宇视科技有限公司 | 一种存储资源负载均衡方法及装置 |
Non-Patent Citations (2)
Title |
---|
"Vehicular Traffic Predictions from Cellular Network Data–A real world case study";Davide Tosi,Stefano Marzorati, Claudia Pulvirenti;《2014 International Conference on Connected Vehicles and Expo (ICCVE)》;20151015;全文 * |
"基于哈希的IP会话分时段统计方法";汪世龙;《数字通信》;20090325;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111031567A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857724B (zh) | 基于区块链实现支持多种数据库的方法及设备 | |
CN104462141B (zh) | 一种数据存储与查询的方法、系统及存储引擎装置 | |
CN108090064A (zh) | 一种数据查询方法、装置、数据存储服务器及系统 | |
US11336763B2 (en) | Incoming call processing method, mobile terminal, and computer storage medium | |
CN101719954B (zh) | 一种实现短信置顶的方法及装置 | |
CN108512716A (zh) | 上报设备信息的方法、系统、计算机设备和存储介质 | |
CN105978748A (zh) | 一种基于哈希节点的终端设备信息统计的方法及装置 | |
CN111031567B (zh) | 一种核心网设备的流量统计方法 | |
CN103476017B (zh) | 一种lte网络用户信息的关联方法及装置 | |
CN107180114B (zh) | 一种海事卫星通信话单解析方法和系统 | |
CN103079194B (zh) | 业务适配方法、装置及系统 | |
EP2874381A1 (en) | Method, device, and terminal for storing communication log in subscriber identity module/user identity model | |
US20150148004A1 (en) | Method and system for zone analysis in a charging system | |
CN104809170B (zh) | 一种云环境下面向树型数据的存储方法 | |
CN105554712B (zh) | 一种短信处理方法及用户终端 | |
CN113051271A (zh) | 一种冷热数据分离方法、装置及其设备 | |
CN103002431A (zh) | 一种自动识别pin码的方法和装置 | |
US7616666B1 (en) | Method and system for customizing update-string processing in network elements | |
CN110399451A (zh) | 一种基于非易失性内存的全文检索引擎缓存方法,系统,设备及可读存储介质 | |
US11238071B1 (en) | Transformation of telecommunication records | |
CN106713581A (zh) | 一种通讯号码识别方法、终端以及系统 | |
US11832155B1 (en) | Consistent policy enforcement across networks | |
US20210357371A1 (en) | System and method for database instructions for a computer network | |
CN100388801C (zh) | 一种用于在gsm系统中快速恢复位置存储器数据的方法 | |
WO2010148708A1 (zh) | 一种gpon系统中实现以太网包重组的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |