CN106027369A - 一种面向邮件地址特征的邮件地址匹配方法 - Google Patents
一种面向邮件地址特征的邮件地址匹配方法 Download PDFInfo
- Publication number
- CN106027369A CN106027369A CN201610300852.1A CN201610300852A CN106027369A CN 106027369 A CN106027369 A CN 106027369A CN 201610300852 A CN201610300852 A CN 201610300852A CN 106027369 A CN106027369 A CN 106027369A
- Authority
- CN
- China
- Prior art keywords
- email address
- items
- addresses
- hash
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供的是一种面向邮件地址特征的邮件地址匹配方法。(1)按照构建过程,构建n条邮件地址规则;(2)随机生成一条邮件地址,将该邮件地址包括“@”符在内的“@”符之前的部分在AC自动机构建的规则树中,进行匹配;(3)将该地址“@”符之后的部分的域名部分,计算三种哈希函数的函数值,在哈希表中进行查找。本发明提出的基于动态存储的缓冲区方法,考虑了邮件地址的用户名部分数量较大,较为分散,且域名部分数量大但是种类比较少的特点,充分利用的多模式匹配算法和哈希算法的优势。能够在大规模邮件地址匹配时拥有良好的内存性能表现和时间性能变现。
Description
技术领域
本发明涉及的是一种邮件网关,主要是一种邮件地址匹配方法。
背景技术
在邮件网关领域中,邮件地址匹配技术作为邮件网关技术中的基础发挥着不可估量的作用。在当今互联网日益复杂的今天,随着网络流量的逐渐增大,如何使得邮件网关在应对大流量网络时,能够拥有更高的处理速度,以及较好的内存消耗表现是当前邮件网关领域的主要需求。
目前对于邮件网关而言,绝大多数进行邮件地址匹配的方法选用的都是各类多模式匹配算法。以经典AC算法为例,采用AC算法进行邮件地址匹配可以获得较好的时耗上的效率。但是AC算法在模式规则集数量较大时,需要的内存比较大。为此,有针对AC算法的各类改进。主要是针对了横向的扇区压缩或纵向的压缩。压缩后的AC改进算法虽然在内存消耗上拥有较大的提升。但是一方面,AC的改进算法往往会增加匹配的时间复杂度,同时实现方法也会变得较为复杂;另一方面,这些多模式匹配算法都是通用方法,没能针对邮件地址的组成特征,因此有进一步的性能提升的可能。
发明内容
本发明的目的在于提供一种能够有效处理大规模邮件地址规则下的邮件地址匹配,拥有良好的内存和时间上的性能消耗的面向邮件地址特征的邮件地址匹配方法。
本发明的目的是这样实现的:
(1)按照构建过程,构建n条邮件地址规则;
(2)随机生成一条邮件地址,将该邮件地址包括“@”符在内的“@”符之前的部分在AC自动机构建的规则树中,进行匹配;
(3)将该地址“@”符之后的部分的域名部分,计算三种哈希函数的函数值,在哈希表中进行查找。
本发明还可以包括:
1、所述构建过程包括:
1)对于一条邮件地址规则,在构建时,包括“@”符的“@”符之前的部分按照AC自动机的构建方式加入规则树中;
2)对域名部分分别计算三种哈希函数的函数值;
3)在“@”节点增加索引,索引中实际存放的是域名部分经过三种哈希的三个哈希值,分成三组存放,同时按照哈希值的大小排序;
4)按照VLCBF_100算法的更新步骤,将域名部分存放到哈希表中。
2、三种哈希函数为SDBMHash、RSHash以及JSHash,位数组大小为1.713m,其中m=nk/ln2,n为规则个数。
本发明针对邮件网关使用现有的多模式匹配算法不能有效针对邮件地址的组成特点和分布特征的缺点而提出。通过结合了多模式匹配算法的特点和哈希算法的特点,致力于在邮件网关领域里处理大规模邮件地址规则的匹配,能够有效处理大规模邮件地址规则下的邮件地址匹配。拥有良好的内存和时间上的性能消耗。能够适应当下大规模流量、大规模邮件地址规则下邮件网关在内存消耗和时间消耗上的需求。
与现有技术相比,本发明具有如下的有益效果:
本发明提出的基于动态存储的缓冲区方法,考虑了邮件地址的用户名部分数量较大,较为分散,且域名部分数量大但是种类比较少的特点,充分利用的多模式匹配算法和哈希算法的优势。能够在大规模邮件地址匹配时拥有良好的内存性能表现和时间性能变现。
附图说明
图1为面向邮件地址特征的邮件地址匹配方法(ACEA算法)的示意图。
图2不同规则数下ACEA算法和AC算法的内存性能比较。
图3不同规则数下ACEA算法和AC算法的时耗比较。
具体实施方式
下面举例本发明进行详细说明。
本发明的一种面向邮件地址过滤的邮件地址匹配方法,基于以下的构建过程,具体包括以下组成部分。
①基于AC的自动机存储区
②基于VLCBF的哈希存储区
1)按照邮件地址的“@”符进行分割。用户名部分相对分散,采用AC算法构建自动机。其中,字符集大小为57个(26个英文字母、10个数字、20个特殊字符以及“@”符)。@字符实际不需要节点进行存储,仅需将用户名的最后一个字符的存储标志进行标记即可。
2)而针对域名部分的特点,数量比较多但是种类很少,这种特点很适合使用该哈希算法,因此域名部分采用哈希算法进行存储。其中,哈希算法选用的是缓冲区为100的VLCBF_100算法。哈希函数个数k=3,哈希函数分别选择SDBMHash,RSHash以及JSHash。位数组大小为1.713m,其中m=nk/ln2,n为规则个数。
3)自动机和哈希算法之间通过排序和二分查找的方式进行关联和索引。在用户名的末尾节点处,增加一个当前用户名的域名哈希值索引。该数组按照哈希值进行排序,再查找时通过二分方式查找到域名对应的哈希值。
构建过程如下:
1)对于一条邮件地址规则,在构建时,“@”符之前的部分(包括“@”符)按照AC自动机的构建方式加入规则树中。
2)对域名部分分别计算三种哈希函数的函数值。
3)在“@”节点增加索引,索引中实际存放的是域名部分经过三种哈希的三个哈希值,分成三组存放,同时按照哈希值的大小排序。
4)按照VLCBF_100算法的更新步骤,将域名部分存放到哈希表中。
匹配过程如下:
1)按照构建过程,构建n条邮件地址规则。
2)随机生成一条邮件地址,将该地址“@”符之前的部分(包括“@”符),在AC自动机构建的规则树中,进行匹配。
3)将该地址“@”符之后的部分(不包括“@”符)的域名部分,计算三种哈希函数的函数值,在哈希表中进行查找。
下面结合具体实施例说明本发明的效果。
(1)实例环境
实例采用服务器级硬件设备,cpu配置为Intel(R)Xeon(R)CPU [email protected],内存大小16G,操作***选用Debian GNU/Linux 6.0,Linux内核版本为2.6.32-5-linx-amd64,实现语言使用C语言,编译器选用GCC编译器,版本为gcc-4.4.6。
(2)实施方案
实例两组数据进行,数据为随机生成的邮件地址,分别比对AC算法和ACEA算法的内存消耗和时间消耗。两组数据的实施过程如下:
1)第一组用于测试规则的数量对AC算法和ACEA算法在内存消耗上的影响。设定规则长度为20,其中用户名长度为9,域名长度为10。用户名数量从10到105,域名数量为10,规则数从102到106。记录规则数量从102到106下AC算法的实现和ACEA算法的实现内存消耗。
2)第二组用于测试规则数量对AC算法和ACEA算法在时间消耗上的影响。规则长度为20,规则数从102到106,使用长度为20的随机生成的邮件地址进行10000次匹配。测试AC算法和ACEA算法在每种数量级的规则下,匹配过程各自需要的时间。
(3)实施结果
图2为第一组数据的实施结果。由此可知,当规则的规模在103以下时,由于规则数较少,ACEA算法在内存上的优势并不明显。但当规则的规模超过104以后,ACEA算法在内存上的消耗大幅度优于AC算法,当规则的规模超过105时,AC算法需要的内存几乎是ACEA算法的10倍。
图3为第二组数据的实施结果。由此可知,在规则的规模小于104时,ACEA算法虽然略优于AC算法,但优势并不明显。但是在规则的规模增长到105甚至106时,ACEA算法在时间消耗上要明显优于AC算法。这两个算法在理论上时间复杂度相差不大且都是线性的,造成在规则规模庞大时ACEA算法能够表现优异的原因是因为当内存消耗过大时,会造成***负担增加,会有额外的换页操作,从而严重影响性能。
Claims (3)
1.一种面向邮件地址特征的邮件地址匹配方法,其特征是:
(1)按照构建过程,构建n条邮件地址规则;
(2)随机生成一条邮件地址,将该邮件地址包括“@”符在内的“@”符之前的部分在AC自动机构建的规则树中,进行匹配;
(3)将该地址“@”符之后的部分的域名部分,计算三种哈希函数的函数值,在哈希表中进行查找。
2.根据权利要求1所述的面向邮件地址特征的邮件地址匹配方法,其特征是所述构建过程包括:
1)对于一条邮件地址规则,在构建时,包括“@”符的“@”符之前的部分按照AC自动机的构建方式加入规则树中;
2)对域名部分分别计算三种哈希函数的函数值;
3)在“@”节点增加索引,索引中实际存放的是域名部分经过三种哈希的三个哈希值,分成三组存放,同时按照哈希值的大小排序;
4)按照VLCBF_100算法的更新步骤,将域名部分存放到哈希表中。
3.根据权利要求1或2所述的面向邮件地址特征的邮件地址匹配方法,其特征是三种哈希函数为SDBMHash、RSHash以及JSHash,位数组大小为1.713m,其中m=nk/ln2,n为规则个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610300852.1A CN106027369A (zh) | 2016-05-09 | 2016-05-09 | 一种面向邮件地址特征的邮件地址匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610300852.1A CN106027369A (zh) | 2016-05-09 | 2016-05-09 | 一种面向邮件地址特征的邮件地址匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106027369A true CN106027369A (zh) | 2016-10-12 |
Family
ID=57098824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610300852.1A Pending CN106027369A (zh) | 2016-05-09 | 2016-05-09 | 一种面向邮件地址特征的邮件地址匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106027369A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764840A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 一种海量规模的邮件地址匹配方法 |
CN110020366A (zh) * | 2017-12-07 | 2019-07-16 | 北大方正集团有限公司 | 邮箱信息抽取方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040172429A1 (en) * | 2003-02-28 | 2004-09-02 | Internet Light And Power Inc. | Email message filtering system and method |
US20050120212A1 (en) * | 2002-03-14 | 2005-06-02 | Rajesh Kanungo | Systems and method for the transparent management of document rights |
US7516163B1 (en) * | 2001-12-13 | 2009-04-07 | At & T Delaware Intellectrual Property, Inc. | Wireless device address book updates |
CN101686264A (zh) * | 2008-09-26 | 2010-03-31 | 国际商业机器公司 | 匹配电子邮箱地址的方法和装置 |
CN101040279B (zh) * | 2004-12-21 | 2010-04-28 | 中兴通讯股份有限公司 | 面向连接的垃圾邮件过滤***和方法 |
CN102158427A (zh) * | 2011-03-23 | 2011-08-17 | 陈伟强 | 一种邮件地址结构和邮件收发*** |
-
2016
- 2016-05-09 CN CN201610300852.1A patent/CN106027369A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516163B1 (en) * | 2001-12-13 | 2009-04-07 | At & T Delaware Intellectrual Property, Inc. | Wireless device address book updates |
US20050120212A1 (en) * | 2002-03-14 | 2005-06-02 | Rajesh Kanungo | Systems and method for the transparent management of document rights |
US20040172429A1 (en) * | 2003-02-28 | 2004-09-02 | Internet Light And Power Inc. | Email message filtering system and method |
CN101040279B (zh) * | 2004-12-21 | 2010-04-28 | 中兴通讯股份有限公司 | 面向连接的垃圾邮件过滤***和方法 |
CN101686264A (zh) * | 2008-09-26 | 2010-03-31 | 国际商业机器公司 | 匹配电子邮箱地址的方法和装置 |
CN102158427A (zh) * | 2011-03-23 | 2011-08-17 | 陈伟强 | 一种邮件地址结构和邮件收发*** |
Non-Patent Citations (1)
Title |
---|
唐芳伟: "高性能邮件安全网关***设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020366A (zh) * | 2017-12-07 | 2019-07-16 | 北大方正集团有限公司 | 邮箱信息抽取方法及装置 |
CN108764840A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 一种海量规模的邮件地址匹配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101404032B (zh) | 一种基于内容的视频检索方法及*** | |
Bahmani et al. | Efficient distributed locality sensitive hashing | |
CN105827530B (zh) | 一种兼容ipv4/ipv6的ip二分查找方法及装置 | |
CN103077208B (zh) | 统一资源定位符匹配处理方法及装置 | |
CN102880650A (zh) | 一种数据匹配方法及装置 | |
AU2014353667A1 (en) | A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure | |
CN102930004B (zh) | 哈希值存储方法、装置及芯片 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN102999495B (zh) | 一种同义词语义映射关系确定方法及装置 | |
CN103455491B (zh) | 对查询词分类的方法及装置 | |
CN104102748B (zh) | 文件映射方法及装置和文件推荐方法及装置 | |
CN106027369A (zh) | 一种面向邮件地址特征的邮件地址匹配方法 | |
CN113468571B (zh) | 基于区块链的溯源方法 | |
CN110505322A (zh) | 一种ip地址段查找方法及装置 | |
CN106844553A (zh) | 基于样本数据的数据探测和扩充方法及装置 | |
CN107562762A (zh) | 数据索引构建方法及装置 | |
CN106304084B (zh) | 信息处理方法及装置 | |
CN105302833A (zh) | 一种基于内容的视频检索数学模型建立方法 | |
CN104657383A (zh) | 一种基于关联特性的重复视频检测方法与*** | |
CN106250440B (zh) | 文档管理方法和装置 | |
CN112883704B (zh) | 一种大数据相似文本去重预处理方法、装置及终端设备 | |
CN109558521A (zh) | 大规模关键词多模匹配方法、装置以及设备 | |
CN104636474A (zh) | 构建音频指纹库及检索音频指纹的方法和设备 | |
CN105653533A (zh) | 一种更新分类关联词集合的方法和装置 | |
Khan et al. | Optimal allocation and sizing of DG and shunt capacitors using differential evolutionary algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |