CN104102711B - 一种HBase数据库存储上网记录的方法和系统 - Google Patents

一种HBase数据库存储上网记录的方法和系统 Download PDF

Info

Publication number
CN104102711B
CN104102711B CN201410337176.6A CN201410337176A CN104102711B CN 104102711 B CN104102711 B CN 104102711B CN 201410337176 A CN201410337176 A CN 201410337176A CN 104102711 B CN104102711 B CN 104102711B
Authority
CN
China
Prior art keywords
internet records
concordance list
contents
line unit
mark
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
Application number
CN201410337176.6A
Other languages
English (en)
Other versions
CN104102711A (zh
Inventor
尹为强
罗云彬
彭佳
王伟华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201410337176.6A priority Critical patent/CN104102711B/zh
Publication of CN104102711A publication Critical patent/CN104102711A/zh
Application granted granted Critical
Publication of CN104102711B publication Critical patent/CN104102711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种HBase数据库存储上网记录的方法和系统,其中,所述方法包括:建立行健值为上网记录标识、内容值为上网记录的内容表;建立行健值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行健值为网页访问地址、上网开始时间以及所述上网记录标识的索引表。本发明提高了HBase存储上网记录的速度。

Description

一种HBase数据库存储上网记录的方法和系统
技术领域
本发明涉及HBase数据库对上网记录进行存储的方法和系统。
背景技术
移动终端通过无线上网每天能够产生数以亿计,占用存储空间TB量级的上网记录。目前采用分布式数据库HBase存储这些上网记录。基于查询的需要,目前分别以“公网IP地址+上网开始时间”以及“网页地址URL+上网开始时间”为行健存储上网记录,如表1、表2所示。
表1
表2
表1中公网IP地址为移动终端通过防火墙之后的公网IP地址,同一时刻使用该公网IP地址的移动终端允许多个,不同的移动终端之间建立的上网链路以不同的端口号进行区分,按表1的方式存储上网记录,后存储的上网记录会覆盖先存储的与之相同行健的上网记录,造成上网记录丢失,即实际得到的表1中仅能显示一条记录。若按表2的方式存储上网记录,由于不同移动终端存在同时访问相同网页的情况,因此相同网页地址、相同上网开始时间对应的上网记录不只一条,后存储的上网记录也会覆盖先存储的与之相同行健的上网记录,造成上网记录丢失。
为了避免丢失上网记录,目前有两种解决方法:一是利用HBase存储值Value的多版本特性,进行Value扩展存储上网记录;二是利用HBase列能够任意动态扩展的特点,进行Column列扩展存储上网记录。
利用Value的多版本特性进行存储以及进行Column列扩展进行存储包括:将上网记录单独存储在一个表格中,该表格称为内容表,其中,将与上网记录对应的通用唯一识别码(UUID)作为行健值,如表3所示;其中UUID的计算过程为现有技术,其在计算的过程中以当前主机网卡的MAC地址和主机当前为计算参数,现有的API接口可直接生成UUID。由于不同终端对应的MAC地址不同,因此不同终端产生的上网记录对应不同的UUID不同;对于相同终端,由于每条记录对应的上网开始时间不同,因此相同终端在不同时间段产生的上网记录对应的UUID也不同。
表3
对于多版本特性存储,还包括:建立索引表,该索引表中以“公网IP+上网开始时间”或“URL+上网开始时间”为行健值,以UUID为内容value,允许相同的行健值对应多个UUID,每个UUID对于一个版本号,不同的版本号用于标识HBase数据库记录上网记录的系统时间戳的大小,版本号越大对应的系统时间戳越大,说明记录的上网记录越新,如表4所示。现有的HBase数据库通常运行在linux系统上并且基于java语言实现,所述系统时间戳是java语言的固有参数,其记录了从1970年1月1日至linux系统当前时间的毫秒数。
表4
对于Column列扩展存储,还包括:建立索引表,该索引表中以“公网IP+上网开始时间”或“URL+上网开始时间”为行健值,以UUID为列名,由于HBase列能够任意动态扩展,允许相同的行健值对应多个列名。该索引表不需要使用“内容value”,如表5所示,其中,列名这一列中的标识“cf:”表示列簇。
表5
虽然利用Value多版本特性进行存储以及进行Column列扩展进行存储能够克服上网记录的丢失的问题,但由于索引表一个行健值对应的数据不唯一,当有新的上网记录需要存储进HBase数据库时,对于建立的索引表,不仅要按照行健值排序以合并相同的行健值对应的上网记录标识,而且还要进行“列名排序”(对应Column列扩展存储)或者进行“版本号排序”(对应多版本特性存储)以加快HBase数据库检索到上网记录的速度。
如现有的HBase数据中以多版本特性的方式存储上网记录,其内容表如表3所示,索引表如表4所示,当有一条新的上网记录“18511535972|2013-10-04:22:59:57|2013-10-04:23:00:10|10.8.237.244|114.242.248.110|42836|123.125.65.115|80|http://loc.map.baidu.com/sdk.php”需要存储进HBase数据库时,内容表进行更新,如表6所示;
表6
当更新索引表时,发现新增上网记录对应的“公网IP+上网开始时间”与索引表中已有的行健内容相同,由于新增上网记录对应的版本号大于索引表中已有上网记录对应的版本号,因此对现有的索引表中的内容value进行重新排序,排序后新增的上网记录对应的内容value位于索引表的内容value这一列的首行,排序后的索引表如表7所示;
表7
当索引表中存储了大量数据时,会导致排序花费的时间长,进而影响上网记录的存储速度。
发明内容
本发明提供了一种HBase数据库存储上网记录的方法和系统,以解决如何提高HBase存储上网记录的速度的技术问题。
为解决上述技术问题,本发明提供了一种HBase数据库存储上网记录的方法,所述方法包括:
建立行健值为上网记录标识、内容值为上网记录的内容表;
建立行健值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行健值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
根据建立的内容表和索引表完成对所述上网记录的存储。
进一步地,
所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳。
进一步地,
所述索引表除包含行健外,还包括列名和说明项;或者,还包括内容和版本号项。
为解决上述技术问题,本发明还提供了一种HBase数据库存储上网记录的系统,所述系统包括:
内容表建立单元,用于建立行健值为上网记录标识、内容值为上网记录的内容表;
索引表建立单元,建立行健值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行健值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
存储单元,用于根据建立的内容表和索引表完成对所述上网记录的存储。
进一步地,
所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳。
进一步地,
所述索引表除包含行健外,还包括列名和说明项;或者,还包括内容和版本号项。
上述实施例,对现有HBase数据库存储上网记录时用到的索引表进行了改进,使得索引表中行健值对应的数据唯一,当更新索引表时,不需要对索引表进行排序,进而加快了上网记录的存储速度。
附图说明
图1为本实施例的HBase数据库存储上网记录的方法流程图;
图2为本实施例的HBase数据库存储上网记录的系统组成图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本实施例的HBase数据库存储上网记录的方法流程图。
S101建立行健值为上网记录标识、内容值为上网记录的内容表;所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳;
所述MD5编码算法已为公开的算法,根据公开的MD5算法对上网记录进行数学变换能够得到一个唯一的128位(bit)的特征码;
所述上网记录通常包括:手机号码|上网开始时间|上网结束时间|私网IP|NAT后IP(公网IP)|NAT后端口|网站IP|网站端口|网站URL;
S102建立行健值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行健值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
所述索引表可继承现有Column列扩展存储采用的索引表,除包含行健外,还包括列名和说明项;或者,所述索引表可继承多版本特性存储采用的索引表,除包含行健外,还包括内容value和版本号项;采用现有存储的索引表,对HBase数据库的存储机制改动少,方便将本实施例的存储方法快速应用于现有的HBase数据库;
S103根据建立的内容表和索引表完成对所述上网记录的存储。
上述实施例,对现有HBase数据库存储上网记录时用到的索引表进行了改进,使得索引表中行健值对应的数据唯一,当更新索引表时,不需要对索引表进行排序,进而加快了上网记录的存储速度。
下面以一个具体的应用实例对本实施例进行说明。
步骤一:建立行健值UUID的内容表,见表8;
表8
步骤二,建立行健值为公网IP地址、上网开始时间以及UUID的索引表,如表9所示;该表沿用了现有Column列扩展存储采用的索引表格式,列名和说明项未使用;
表9
步骤三:当有一条新的上网记录“14530115307|2013-11-0508:33:36|2013-11-0508:33:42|10.27.36.249|114.242.250.74|58795|60.28.115.31|80|http://dl.360safe.com/softmupdate/softup.cab”需要存储进HBase数据库时,对表8的内容表进行更新,更新后的内容表如表10所示;
表10
对表9的索引表进行更新,更新后的索引表如表11所示;
表11
相对现有技术,本应用示例中HBase数据库当存储新的上网记录时,仅需将新上网记录对应的内容添加在现有索引表已有记录之后,不需要对索引表进行排序。
为了更加形象地说明采用本实施例的HBase数据库存储上网记录方法对HBase存储上网记录速度的提升,分别采用本实施例记载的HBase数据库存储上网记录方法、现有的Column列扩展存储方法和多版本特性存储对1千万条上网记录进行数据入库试验,其结果记录如表12所示:
表12
如上表12所示,三种存储方案经过入库测试,采用本实施例的方法后入库速度是采用Column列扩展存储后入库速度的6.4倍,采用本实施例的方法后入库速度是采用Value多版本特性存储后入库速度的5.2倍。
图2为本实施例的HBase数据库存储上网记录的系统组成图。
该系统包括:
内容表建立单元,用于建立行健值为上网记录标识、内容值为上网记录的内容表;所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳;
所述MD5编码算法已为公开的算法,根据公开的MD5算法对上网记录进行数学变换能够得到一个唯一的128位(bit)的特征码;
所述上网记录通常包括:手机号码|上网开始时间|上网结束时间|私网IP|NAT后IP(公网IP)|NAT后端口|网站IP|网站端口|网站URL。
索引表建立单元,建立行健值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行健值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
所述索引表可继承现有Column列扩展存储采用的索引表,除包含行健外,还包括列名和说明项;或者,所述索引表可继承多版本特性存储采用的索引表,除包含行健外,还包括内容value和版本号项。采用现有存储的索引表,对HBase数据库的存储机制改动少,方便将本实施例的存储方法快速应用于现有的HBase数据库;
存储单元,用于根据建立的内容表和索引表完成对所述上网记录的存储。
上述实施例,对现有HBase数据库存储上网记录时用到的索引表进行了改进,使得索引表中行健值对应的数据唯一,当更新索引表时,不需要对索引表进行排序,进而加快了上网记录的存储速度。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.一种HBase数据库存储上网记录的方法,其特征在于,所述方法包括:
建立行键值为上网记录标识、内容值为上网记录的内容表;
建立行键值为公网IP地址、上网开始时间以及所述上网记录标识的索引表,或者建立行键值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
根据建立的内容表和索引表完成对所述上网记录的存储;所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳,使得索引表中行键值对应的数据唯一,当更新索引表时,不需要对索引表进行排序。
2.如权利要求1所述的方法,其特征在于:
所述索引表除包含行键值外,还包括列名和说明项;或者,还包括内容和版本号项。
3.一种HBase数据库存储上网记录的系统,其特征在于,所述系统包括:
内容表建立单元,用于建立行键值为上网记录标识、内容值为上网记录的内容表;
索引表建立单元,建立行键值为公网IP地址、上网开始访问时间以及所述上网记录标识的索引表,或者建立行键值为网页访问地址、上网开始时间以及所述上网记录标识的索引表;
存储单元,用于根据建立的内容表和索引表完成对所述上网记录的存储;
所述上网记录标识包括:通用唯一识别码(UUID)、由MD5编码算法得到的特征码或者与上网记录对应的系统时间戳,使得索引表中行键值对应的数据唯一,当更新索引表时,不需要对索引表进行排序。
4.如权利要求3所述的系统,其特征在于,
所述索引表除包含行键值外,还包括列名和说明项;或者,还包括内容和版本号项。
CN201410337176.6A 2014-07-15 2014-07-15 一种HBase数据库存储上网记录的方法和系统 Active CN104102711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410337176.6A CN104102711B (zh) 2014-07-15 2014-07-15 一种HBase数据库存储上网记录的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410337176.6A CN104102711B (zh) 2014-07-15 2014-07-15 一种HBase数据库存储上网记录的方法和系统

Publications (2)

Publication Number Publication Date
CN104102711A CN104102711A (zh) 2014-10-15
CN104102711B true CN104102711B (zh) 2017-12-01

Family

ID=51670865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410337176.6A Active CN104102711B (zh) 2014-07-15 2014-07-15 一种HBase数据库存储上网记录的方法和系统

Country Status (1)

Country Link
CN (1) CN104102711B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056211A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种实现用户上网行为审计的方法及系统
CN103020204A (zh) * 2012-12-05 2013-04-03 北京普泽天玑数据技术有限公司 一种对分布式顺序表进行多维区间查询的方法及其系统
CN103703467A (zh) * 2013-08-29 2014-04-02 华为技术有限公司 存储数据的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8086610B2 (en) * 2009-01-16 2011-12-27 International Business Machines Corporation Autonomic self configuring building-block database index

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056211A (zh) * 2007-06-22 2007-10-17 中兴通讯股份有限公司 一种实现用户上网行为审计的方法及系统
CN103020204A (zh) * 2012-12-05 2013-04-03 北京普泽天玑数据技术有限公司 一种对分布式顺序表进行多维区间查询的方法及其系统
CN103703467A (zh) * 2013-08-29 2014-04-02 华为技术有限公司 存储数据的方法和装置

Also Published As

Publication number Publication date
CN104102711A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
EP2127251B1 (en) Propagation of conflict knowledge
CN106790112A (zh) 一种集成轻量级区块链的节点操作系统及数据更新的方法
CA3032682C (en) Method for managing information using tree structure based on blockchain, server and terminal using the same
CN109344370A (zh) 敏感内容脱敏、还原方法、装置及设备
CN106599322A (zh) 数据脱敏的方法及设备
US20180198819A1 (en) Method and apparatus for generating incident graph database
US11558531B2 (en) Systems and methods for authenticating an image
CN106649602A (zh) 业务对象数据处理方法、装置和服务器
CN110619022B (zh) 基于区块链网络的节点检测方法、装置、设备及存储介质
CN104700030B (zh) 一种病毒数据查找方法、装置及服务器
US9836491B1 (en) Method and apparatus for hardware-implemented AVL tree updates
CN105978868A (zh) Ip地址权限的查找方法及装置
CN105701405B (zh) 对软件程序集的本机图像进行防病毒检查的系统和方法
CN109165712A (zh) 分布式分期号的生成方法、装置和计算机存储介质
CN104102711B (zh) 一种HBase数据库存储上网记录的方法和系统
CN108055299A (zh) Portal页面推送方法、网络接入服务器及Portal认证系统
CN106685708A (zh) 一种服务关系的确定方法、装置及系统
CN104834549B (zh) 移动终端的应用程序文件更新方法及装置
CN105653540B (zh) 文件属性信息的处理方法和装置
CN103902554B (zh) 数据访问方法与装置
CN104951550B (zh) 数据存储方法及装置
CN107277126A (zh) 一种云计算资源管理方法及装置
CN112417508A (zh) 一种数据脱敏方法、数据存储系统及存储介质和服务器
CN112905354A (zh) 共享内存的业务处理方法和系统
CN109743188A (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
GR01 Patent grant
GR01 Patent grant