一种域名资产数据存储和查询方法和系统技术方案

技术编号:20916669 阅读:28 留言:0更新日期:2019-04-20 09:43
本发明专利技术提供一种域名资产数据存储和查询方法和系统。该方法包括:根据域名的结构对域名进行切分,分成二级域名部分、域名前缀部分;对切分得到的二级域名部分、域名前缀部分与域名对应的解析IP,分别进行哈希计算,得到三段字符串;对所述三段字符串中的每一段字符串选取特定长度的字符,使用连接字符进行拼接组合,形成不同组合的字符串;根据业务需要,将不同组合的字符串携带相应的信息,存入到Hbase表中;进而利用Hbase数据库对域名资产数据进行快速的查询。本发明专利技术能够达到在亿级海量数据中进行快速查询的目的。

A Domain Name Asset Data Storage and Query Method and System

The invention provides a method and system for storing and querying domain name assets data. The method includes: dividing domain names into two parts according to the structure of domain names, namely, the second-level domain name part and the domain name prefix part; hashing the separated second-level domain name part and the domain name prefix part corresponding to the domain name to get three strings; selecting a specific length of characters for each of the three strings and using the connecting characters to enter them. Lines are spliced together to form different combinations of strings; according to business needs, different combinations of strings are carried with corresponding information and stored in the Hbase table; and then use the Hbase database to query domain name asset data quickly. The invention can achieve the purpose of fast query in billions of magnitude data.

【技术实现步骤摘要】
一种域名资产数据存储和查询方法和系统
本专利技术涉及域名资产信息存储和查询领域,利用Hbase的特性来存储域名资产数据,进行特殊处理再存储的域名数据,可以到达快速条件查询的目的。
技术介绍
域名作为一种特殊的资源,在互联网领域中占据的角色位置越来越重要。在国内,域名的申请,是只需要申请到二级域名并备案的,对于二级域名添加各类域名前缀形成的多级域名,则不需要申请和备案,所以拥有多个域名前缀的域名,均可以认为是该二级域名的扩展,如wenku.baidu.com、music.baidu.com,均属于baidu.com,算作该二级域名的资产。另外每个有解析值的域名,表示该域名已被注册,所以该域名对应的解析IP,也属于该域名资产信息。在某个以省市为单位的流量节点,进行流量分析时,域名与其解析IP的对应关系,在较短时间内(1—2周),即可积累上千万的记录,该记录数量预估在千万和亿级别,当有如此大量的数据积累后,每天的访问仍需要继续进行对比判断,来判断当天记录到的对应关系是否已被记录,所以要对大量的记录,进行查询判断和更新的操作,面对如此多的数据,普通的数据库如mysql、oracle、redis等,无法满足要求,而目前没有既支持对大量数据的快速查询读写,又支持数据的快速条件查询的解决方案。
技术实现思路
针对上述背景问题,本专利技术设计了一种域名资产数据存储和查询方案。该方案能够实现大量域名数据的存储,并对二级域名及其资产数据进行快速条件查询。本专利技术根据域名结构的特殊性,以二级域名作为关键字段构建了域名资产相关信息,通过特殊的拼接,利用Hbase数据库达到快速查询的目的。本专利技术采用的技术方案如下:一种域名资产数据存储方法,包括以下步骤:1)根据域名的结构对域名进行切分,分成二级域名部分、域名前缀部分;2)对切分得到的二级域名部分、域名前缀部分与域名对应的解析IP,分别进行哈希计算,得到三段字符串;3)对所述三段字符串中的每一段字符串选取特定长度的字符,使用连接字符进行拼接组合,形成不同组合的字符串;4)根据业务需要,将不同组合的字符串携带相应的信息,存入到Hbase表中。进一步地,步骤2)将切分得到的二级域名、域名前缀与域名的解析IP这三段信息中的每段信息进行哈希计算,得到三段32位长度的字符串。进一步地,步骤3)中对三段字符串,每段选取的的长度不同,最后三段不同长度的字符串使用两个连接字符连接,共形成长度为m的字符串,m取值范围为48至96,来作为Hbase的key,进行信息存储。例如共形成长度为64的字符串,来作为Hbase的key,进行信息存储。进一步地,步骤3)取二级域名哈希字符串的0-x位,取域名前缀哈希字符串的0到y位,取解析IP哈希字符串的0到z位,然后对这三段信息,使用两个连接字符连接,拼接后的字符串总长度为x+1+y+1+z位,x、y、z取值范围为10-32;以该长度字符串作为Hbase数据库的key。例如取二级域名哈希字符串的全部,取域名前缀哈希字符串的0到14位,取解析IP哈希字符串的0到16,然后对这三段信息,使用两个连接字符连接,拼接后的字符串总长度为32+1+14+1+16=64位;以该长度字符串作为Hbase数据库的key,以有效利用64位系统的特性。进一步地,步骤3)所述连接字符使用非数字、字母,即连接字符不能使用哈希字符串中所允许出现的字符;并且连接字符不允许使用ASCII码表中ASCII码值最大的字符,即ASCII码125字符。进一步地,步骤4)中,三段字符串不同的组合形成的key,其唯一性不变,但是组合能够有多种变化,形成不同的key,来存储多种信息。一种域名资产数据查询方法,包括以下步骤:a)采用上面所述方法存储域名资产数据;b)利用Hbase的API,通过使用scan查询并设定查询条件的startrow和endrow,对域名资产数据进行快速的查询。进一步地,步骤b)使用scan查询并设置startrow和endrow时,要求endrow>startrow;为满足该特性,要求endrow的结尾字符为ASCII码中值最大的一位125,或者结尾字符的ASCII值大于startrow结尾字符的ASCII值。一种域名资产数据存储系统,其包括:切分模块,负责根据域名的结构对域名进行切分,分成二级域名部分、域名前缀部分;哈希计算模块,负责对切分得到的二级域名部分、域名前缀部分与域名对应的解析IP,分别进行哈希计算,得到三段字符串;拼接组合模块,负责对所述三段字符串中的每一段字符串选取特定长度的字符,使用连接字符进行拼接组合,形成不同组合的字符串;存储模块,负责根据业务需要,将不同组合的字符串携带相应的信息,存入到Hbase表中。一种域名资产数据查询系统,包括所述域名资产数据存储系统以及一查询模块;所述查询模块利用Hbase的API,通过使用scan查询并设定查询条件的startrow和endrow,对存储的域名资产数据进行快速的查询。本专利技术的有益效果如下:利用Hbase本身可以对大量域名数据进行存储和读写,但Hbase不支持模糊查询和单纯的正则匹配查询,效率太低下(需要扫描全表),但可以限定扫描起始段来较少匹配扫描的行数,大大提高条件查询速度。本专利技术利用该特性,设计了一种在一定范围内有序的字符串来作为条件,快速的查询到该条件下的所有匹配的字符串,即以二级域名作为条件,查询到该二级域名下的所有对应的资产信息;并且扩展了该查询:以IP为条件,查询该解析IP曾对应的所有域名及其资产信息。附图说明图1.域名资产数据的存储方法的总体流程图。图2.域名资产数据的存储设计流程示意图。图3.域名资产数据的查询应用流程示意图。图4.域名资产查询实例的示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本专利技术做进一步详细说明。1.数据的存储图1是域名资产数据的存储方法的总体流程图,包括以下步骤:首先,当采集到域名与其对应的解析IP后,开始对域名进行切分(拆解),得到二级域名和域名前缀,该域名前缀和解析IP,都定义为该二级域名的资产信息,所以二级域名为查询条件,来查询其资产信息。域名允许被切割成二级域名和域名前缀,如果域名前缀不存在,则设定为空字符串。由于域名的长度本身,在0到255之内变动,所以为了长度固定,对域名切分后的两部分,分别进行哈希计算,得到两个长度为32位的字符串,另外对解析IP,执行同样的操作(即进行哈希计算,得到长度为32位的字符串)。因为解析IP可以是有多值,为保证查询多个IP时,哈希计算结果统一,所以对多个解析IP的计算是先对多个IP进行排序,然后以逗号连接,再进行哈希计算,得到32位长度的字符串。此时,该域名对IP的对应关系,转换为3个长度为32位的字符串,该3段哈希字符串,可以唯一表示该对应关系。为了更好的设计key的长度,本专利技术对3段哈希字符串进行截取。本专利技术的资产查询,是以二级域名为查询条件,所以为保证二级域名的唯一性,二级域名的哈希字符串,取全部,即图2中A段。另外由于现实网络中,二级域名的域名前缀部分较为有限,所以在二级域名相同的情况下,域名前缀虽然只取前14位(即图2中B段),但是发生哈希碰撞的可能性,近乎为0,所以本文档来自技高网...

【技术保护点】
1.一种域名资产数据存储方法,其特征在于,包括以下步骤:1)根据域名的结构对域名进行切分,分成二级域名部分、域名前缀部分;2)对切分得到的二级域名部分、域名前缀部分与域名对应的解析IP,分别进行哈希计算,得到三段字符串;3)对所述三段字符串中的每一段字符串选取特定长度的字符,使用连接字符进行拼接组合,形成不同组合的字符串;4)根据业务需要,将不同组合的字符串携带相应的信息,存入到Hbase表中。

【技术特征摘要】
2018.09.03 CN 20181101978471.一种域名资产数据存储方法,其特征在于,包括以下步骤:1)根据域名的结构对域名进行切分,分成二级域名部分、域名前缀部分;2)对切分得到的二级域名部分、域名前缀部分与域名对应的解析IP,分别进行哈希计算,得到三段字符串;3)对所述三段字符串中的每一段字符串选取特定长度的字符,使用连接字符进行拼接组合,形成不同组合的字符串;4)根据业务需要,将不同组合的字符串携带相应的信息,存入到Hbase表中。2.根据权利要求1所述的方法,其特征在于,步骤2)将切分得到的二级域名、域名前缀与域名的解析IP这三段信息中的每段信息进行哈希计算,得到三段32位长度的字符串。3.根据权利要求1所述的方法,其特征在于,步骤3)中对三段字符串,每段选取的的长度不同,最后三段不同长度的字符串使用两个连接字符连接,共形成长度为m的字符串,m取值范围为48至96,来作为Hbase的key,进行信息存储。4.根据权利要求3所述的方法,其特征在于,步骤3)取二级域名哈希字符串的0-x位,取域名前缀哈希字符串的0到y位,取解析IP哈希字符串的0到z位,然后对这三段信息,使用两个连接字符连接,拼接后的字符串总长度为x+1+y+1+z位,x、y、z取值范围为10-32;以该长度字符串作为Hbase数据库的key。5.根据权利要求1至4中任一权利要求所述的方法,其特征在于,步骤3)所述连接字符使用非数字、字母,即连接字符不能使用哈希字符串中所允许出现的字符;并且连接字符不允许使用ASCII码表中ASCII码值最大的字符...

【专利技术属性】
技术研发人员:司俊俊羊晋涂波尚秋里张慧琳张英伟张洛什李少华王楠闻博梅锋程晶玻丛珊王永清康春建刘鑫沛刘丙双戴帅夫张建宇
申请(专利权)人:长安通信科技有限责任公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京,11

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

1