一种发信人的信誉值生成方法与过滤垃圾邮件的方法与流程

文档序号:14942809发布日期:2018-07-13 21:28阅读:225来源:国知局

本发明涉及电子邮件技术领域,具体涉及一种发信人的信誉值生成方法与过滤垃圾邮件的方法。



背景技术:

随着电子邮件的广泛应用,伴随而来的垃圾邮件问题日益严重。它不仅消耗网络资源、占用网络带宽、浪费用户的宝贵时间和上网费用,而且严重威胁网络安全,已成为网络公害,带来了严重的经济损失。中国互联网协会反垃圾邮件中心发布调查报告显示,垃圾邮件在规模上不断增长,中国网民平均每周收到的垃圾邮件比例为55.65%。迫切需要有效的技术解决垃圾邮件泛滥的问题。

针对现有垃圾邮件的过滤技术主要有邮件发送认证、黑白名单、内容过滤技术,指纹技术,贝叶斯过滤技术等,但是这些技术都或多或少的存在缺点,无法百分之百的准确判断,其中专利申请号为201510401224.8的基于邮件用户行为的发件人信誉生成方法公开了通过机器学习的方法,对线上产生的海量日志进行分析,选取邮件体大小,发信成功数,发信失败数,发信总数,收件人回复数,邮件内容,发件人域名,ip发信成功和失败数等多个特征维度,通过海量日志对特征模型进行训练,对这些特征值生成了一个总体的信誉分值库,实时的邮件匹配这个特征信誉库,对满足条件的发件人生成发件人特定的信誉值,提高信誉值的准确度。但是,上述发件人信誉生成方法依赖对应发件人的发信历史,导致可以通过“养号”方式专门准备一批邮箱,在一段时间之内发送一批正常邮件给自己控制的邮箱,以此来提高发信人信誉,或者在发送垃圾邮件的同时,发送一些正常邮件给自己控制的邮箱,以此来抵消发送垃圾邮件导致的发信人信誉降低问题。



技术实现要素:

本发明的目的是提供一种发信人的信誉值生成方法与过滤垃圾邮件的方法,不依赖发信人的发信历史,并且能够准确计算发信人的信誉值,有效避免通过作弊的方式提高发信人的信誉值。

为解决以上技术问题,本发明实施例提供一种发信人的信誉值生成方法,包括:

获取设定时间段内的非垃圾邮件日志;

根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值;

根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值;

根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值。

优选地,所述根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值,具体包括:

分别统计所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信数量信息,并创建第一数据表;其中,所述第一数据表包含发信人身份标识以及收信人身份标识主键;

统计所述发信人身份标识以及收信人身份标识主键的主键数量;

根据所述发信人以及收信人主键的主键数量以及预设的总信誉值,计算所述目标发信人的初始信誉值;其中,所述预设的总信誉值为所有发信人的初始信誉值的总和。

优选地,所述根据所述发信人以及收信人主键的主键数量以及预设的总信誉值,计算所述目标发信人的初始信誉值,具体包括:

根据公式reputation=n/m,计算所述目标发信人的初始信誉值;

其中,n为所述预设的总信誉值,m为所述发信人身份标识以及收信人身份标识主键的主键数量。

优选地,所述根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值,具体包括:

分别统计所述非垃圾邮件日志的发信人身份标识以及发信数量信息,并创建第二数据表;其中,所述第二数据表包含发信人身份标识主键;

统计所述第一数据表中所述目标发信人分别对多个收信人的发信数量;

统计所述第二数据表中所述目标发信人对外发信的发信总数量;

根据所述多个收信人的当前信誉值、所述目标发信人的当前信誉值、所述目标发信人分别对多个收信人的发信数量以及所述目标发信人对外发信的发信总数量,计算所述目标发信人的传递信誉值。

优选地,所述根据所述多个收信人的当前信誉值、所述目标发信人的当前信誉值、所述目标发信人分别对多个收信人的发信数量以及所述目标发信人对外发信的发信总数量,计算所述目标发信人的传递信誉值,具体包括:

根据公式delta=reputation1×(n1/total)+reputation2×(n2/total)……reputationi×(ni/total)……reputationm×(nm/total),计算所述目标发信人的传递信誉值;

其中,reputationi为第i个收信人的当前信誉值,ni为所述目标发信人对所述第i个收信人的发信数量,total为所述目标发信人对外发信的发信总数量。

优选地,所述根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值,具体包括:

根据公式reputation’=reputation×(n/(n+delta)),计算所述目标发信人的当前信誉值。

优选地,所述发信人的信誉值生成方法还包括:

根据所述目标发信人的当前信誉值,创建发信人信誉表;其中,所述发信人信誉表包括发信人身份标识主键。

优选地,所述发信人身份标识为发信人邮箱地址和/或发信人域名。

本发明实施例还提供一种过滤垃圾邮件的方法,包括:

采用上述的发信人的信誉值生成方法生成发信人的当前信誉值;

根据所述发信人的当前信誉值判断所述发信人发送的邮件是否为垃圾邮件;

当所述发信人的当前信誉值低于预设的阈值时,确定所述发信人发送的邮件为垃圾邮件并对所述发信人发送的邮件进行过滤处理。

相对于现有技术,本发明实施例提供的一种发信人的信誉值生成方法的有益效果在于:所述发信人的信誉值生成方法包括获取设定时间段内的非垃圾邮件日志;根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值;根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值;根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值。所述发信人的信誉值生成方法不依赖发信人的发信历史,并且能够准确计算发信人的信誉值,有效避免通过作弊的方式提高发信人的信誉值。本发明实施例提供的一种过滤垃圾邮件的方法。

附图说明

图1是本发明实施例提供的一种发信人的信誉值生成方法的流程图;

图2是本发明实施例提供的一种过滤垃圾邮件的方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其是本发明实施例提供的一种发信人的信誉值生成方法的流程图,所述发信人的信誉值生成方法包括:

s11:获取设定时间段内的非垃圾邮件日志;

通过扫描所述设定时间段内的系统日志,剔除掉已经被判定为垃圾邮件的日志,以获取设定时间段内的非垃圾邮件日志,即计算发信人的信誉值时,被判定为垃圾邮件的日志不参与计算,预先排除垃圾邮件日志,可以避免不必要的技术过程,同时避免已确定为垃圾邮件的邮件对发信人信誉值的影响,提高计算发信人的信誉值的准确性。

s12:根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值;

s13:根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值;

s14:根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值。

通过从非垃圾邮件日志中选取发信人身份标识、收信人身份标识以及发信人的发信数量计算发信人的初始信誉值和传递信誉值,并根据初始信誉值和传递信誉值,计算所述目标发信人的传递信誉值,不依赖发信人的发信历史,并且能够准确计算发信人的信誉值,有效避免通过作弊的方式提高发信人的信誉值。

在一种可选的实施例中,s12:根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值,具体包括:

分别统计所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信数量信息,并创建第一数据表;其中,所述第一数据表包含发信人身份标识以及收信人身份标识主键;

统计所述发信人身份标识以及收信人身份标识主键的主键数量;

根据所述发信人以及收信人主键的主键数量以及预设的总信誉值,计算所述目标发信人的初始信誉值;其中,所述预设的总信誉值为所有发信人的初始信誉值的总和。

在一种可选的实施例中,所述根据所述发信人以及收信人主键的主键数量以及预设的总信誉值,计算所述目标发信人的初始信誉值,具体包括:

根据公式reputation=n/m,计算所述目标发信人的初始信誉值;

其中,n为所述预设的总信誉值,m为所述发信人身份标识以及收信人身份标识主键的主键数量。

在一种可选的实施例中,s13:根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值,具体包括:

分别统计所述非垃圾邮件日志的发信人身份标识以及发信数量信息,并创建第二数据表;其中,所述第二数据表包含发信人身份标识主键;

统计所述第一数据表中所述目标发信人分别对多个收信人的发信数量;

统计所述第二数据表中所述目标发信人对外发信的发信总数量;

根据所述多个收信人的当前信誉值、所述目标发信人的当前信誉值、所述目标发信人分别对多个收信人的发信数量以及所述目标发信人对外发信的发信总数量,计算所述目标发信人的传递信誉值。

在一种可选的实施例中,所述根据所述多个收信人的当前信誉值、所述目标发信人的当前信誉值、所述目标发信人分别对多个收信人的发信数量以及所述目标发信人对外发信的发信总数量,计算所述目标发信人的传递信誉值,具体包括:

根据公式delta=reputation1×(n1/total)+reputation2×(n2/total)……reputationi×(ni/total)……reputationm×(nm/total),计算所述目标发信人的传递信誉值;

其中,reputationi为第i个收信人的当前信誉值,ni为所述目标发信人对所述第i个收信人的发信数量,total为所述目标发信人对外发信的发信总数量。

在本实施例中,根据所述多个收信人的当前信誉值、所述目标发信人的当前信誉值、所述目标发信人分别对多个收信人的发信数量以及所述目标发信人对外发信的发信总数量,计算所述目标发信人的传递信誉值,实现发信人的信誉值按自身发信比例传递给收信人,能够提高传递信誉值的准确性。例如发信人a发邮件给收信人b,如果发信人a发出的邮件有1/10都是发给发信人b的,则将发信人a的信誉值传递1/10给发信人b。

在一种可选的实施例中,s14:根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值,具体包括:

根据公式reputation’=reputation×(n/(n+delta)),计算所述目标发信人的当前信誉值。

在一种可选的实施例中,所述发信人的信誉值生成方法还包括:

根据所述目标发信人的当前信誉值,创建发信人信誉表;其中,所述发信人信誉表包括发信人身份标识主键。

所述发信人的信誉生成方法通过枚举所有发信人,并将每个发信人的信誉传递给其相关的收信人。迭代完成后,所有收过邮件的发信人,其信誉值都有增加,即所有发信人在所述设定的时间段内对应的总信誉值增加了delta(因为发信人a将信誉值传递给b之后,a本身的信誉值不会减少,所以相当于凭空创造了一些信誉值给b,于是所有发信人在所述设定的时间段内对应的总信誉值增加了delta),使用n记录这次迭代一共增加的信誉值为n’=n+delta,以使得所有发信人在所述设定的时间段内对应的总信誉值n’=n+delta>1。为了让所有发信人的当前总信誉值恢复到n,更新每个发信人的信誉值为reputation’=reputation×(n/(n+delta)),相当于按比例减少每个人的信誉值,直到信誉值总值恢复到n。这个迭代最终会使得每个发信人的信誉慢慢收敛,当两次迭代导致的发信人信誉变化小于某个特定的阀值,说明已经足够收敛,迭代结束。此时发信人信誉表里面的就是我们需要的每个发信人的发信人信誉值了。从上面的计算过程也可以看出,如果一个邮箱,一直只发送邮件,不接受邮件的,则它在初始的时候的信誉值是n/m,然后每次迭代因为没有其他人给它增加信誉值,且每次迭代结束的时候都会按比例减少信誉值,所以迭代收敛之后,发信人的信誉值机会非常非常小,接近于0。

例如作弊者通过一个自己控制的邮箱c,发送大量邮件给邮箱d,但是通过所述发信人的信誉值生成方法技术邮箱c和邮箱d的信誉值可得知,由于从来没有其他有信誉的邮箱发过邮件给邮箱c,所以邮箱c的信誉值是非常接近0,因此由邮箱c传递给邮箱d的传递信誉值为o,就算邮箱c大量发送邮件给邮箱d,邮箱d得到的信誉值n/m经过多次迭代后也会非常接近0,不能提高邮箱d的信誉值。

在一种可选的实施例中,所述发信人身份标识为发信人邮箱地址和/或发信人域名。

通过计算发信人邮箱地址的信誉值,能够提高个人邮箱的发垃圾控制的准确性。通过计算发信人域名的信誉值,对于一些新出现的邮箱,虽然在系统中没有出现过,但是由于发信人域名的信誉值够高,可以实现放宽发垃圾控制。通过发信人邮箱地址信誉值和/或发信人域名的信誉值可以提高邮箱发垃圾控制的准确性以及灵活性,大大减少垃圾邮件误判问题。

请参阅图2,其是本发明实施例还提供一种过滤垃圾邮件的方法的流程图,所述过滤垃圾邮件的方法包括:

s21:采用上述的发信人的信誉值生成方法生成发信人的当前信誉值;

s22:根据所述发信人的当前信誉值判断所述发信人发送的邮件是否为垃圾邮件;

s23:当所述发信人的当前信誉值低于预设的阈值时,确定所述发信人发送的邮件为垃圾邮件并对所述发信人发送的邮件进行过滤处理。

通过上述的发信人的信誉值生成方法分别计算发信人邮箱地址的信誉值和发信人域名的信誉值,能够提高个人邮箱的发垃圾控制的准确性,对于一些新出现的邮箱,虽然在系统中没有出现过,但是由于发信人域名的信誉值够高,可以实现放宽发垃圾控制,提高邮箱发垃圾控制的灵活性,大大减少垃圾邮件误判问题。

相对于现有技术,本发明实施例提供的一种发信人的信誉值生成方法的有益效果在于:所述发信人的信誉值生成方法包括获取设定时间段内的非垃圾邮件日志;根据所述非垃圾邮件日志的发信人身份标识、收信人身份标识以及发信人的发信数量,计算目标发信人的初始信誉值;根据所述非垃圾邮件日志的发信人身份标识以及发信人的发信数量,计算所述目标发信人的传递信誉值;根据所述目标发信人的初始信誉值和传递信誉值,计算所述目标发信人的当前信誉值。所述发信人的信誉值生成方法不依赖发信人的发信历史,并且能够准确计算发信人的信誉值,有效避免通过作弊的方式提高发信人的信誉值。本发明实施例还提供的一种过滤垃圾邮件的方法。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1