CN102655480B - 相似邮件处理系统和方法 - Google Patents
相似邮件处理系统和方法 Download PDFInfo
- Publication number
- CN102655480B CN102655480B CN201110051222.2A CN201110051222A CN102655480B CN 102655480 B CN102655480 B CN 102655480B CN 201110051222 A CN201110051222 A CN 201110051222A CN 102655480 B CN102655480 B CN 102655480B
- Authority
- CN
- China
- Prior art keywords
- sample
- preset format
- samples
- similar
- preset
- 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
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/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- 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/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- 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
-
- 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/06—Message adaptation to terminal or network requirements
- H04L51/066—Format adaptation, e.g. format conversion or compression
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种相似邮件处理系统和方法,属于网络技术领域。本系统包括:控制节点,用于接收预设格式的样本,并判断所述预设格式的样本是否为相似计算最终结果,如果否,则根据预设标准对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,将所述多个子任务数据包分配给多个相似运算节点;多个所述相似运算节点,用于对接收到的子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,将所述预设格式的样本反馈给所述控制节点,所述相似计算中间结果包括唯一相似样本、相似关系和所述唯一相似样本的相似计数。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种相似邮件处理系统和方法。
背景技术
随着网络的发展,邮件渐渐发展成为人们日常通信的重要工具,但是,随之产生的垃圾邮件也日益增多,造成了使用者的不便,在现有技术中,采用了基于文本相似技术的反垃圾邮件体系,从统计到拦截拥有一套成熟的架构,这套系统主要基于了单机运算的模式,能够在较短时间内统计一定数量规模的邮件,从中统计获得邮件之间的相似关系和相似指数。由于这套系统能够识别出经过一定幅度变形和添加了干扰元素的垃圾邮件,因此实际应用中,无论在拦截垃圾邮件的规模,数量和准确度上都具有十分优异的指标。
在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点:
现有技术中的相似邮件处理系统是基于单机运算模式,在能够处理的输入数据和输出数据规模上具有较大限制,对单次百万级别以上的输入数据规模存在运算速度慢,系统负载高的问题,无法实现实时,在准实时统计上由于完成时间较长也无法做到。
发明内容
本发明实施例提供了一种相似邮件处理系统和方法。所述技术方案如下:
一种相似邮件处理系统包括:
控制节点,用于接收预设格式的样本,并判断所述预设格式的样本是否为相似计算最终结果,如果否,则根据预设标准对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,将所述多个子任务数据包分配给多个相似运算节点;
多个所述相似运算节点,用于对接收到的子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,将所述相似计算中间结果反馈给所述控制节点,所述相似计算中间结果至少包括:唯一相似样本、相似关系和所述唯一相似样本的相似计数。
所述系统还包括:
数据输入节点,用于收集原始样本并将所述原始样本转换为预设格式,并将转换后的原始样本包作为预设格式的样本发送给所述控制节点。
所述数据输入节点包括:
数据收集模块,用于收集相似邮件处理系统服务器或服务器集群上的邮件,将所述邮件作为原始样本;
转换模块,用于将所述原始样本转换为与相似计算匹配的预设格式;
发送模块,用于为转换后的原始样本包分配任务标识,并将转换后的原始样本包作为预设格式的样本整体或分批次发送给所述控制节点。
所述发送模块包括:
优化传输单元,用于根据网络情况,将所述转换后的原始样本包分拆成多个数据包;
发送单元,用于将所述优化传输单元输出的所述多个数据包作为预设格式的样本分批次发送给所述控制节点。
所述控制节点包括:
接收模块,用于接收预设格式的样本;
判断模块,用于判断所述预设格式的样本是否满足预设条件,如果是,则所述预设格式的样本是相似计算最终结果,如果否,则所述预设格式的样本不是相似计算最终结果,并触发合并拆分模块;
所述合并拆分模块,用于根据所述相似运算节点的心跳信息,对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包;所述心跳信息用于监控和描述所述相似运算节点的空闲计算能力;
分配模块,用于将所述合并拆分模块得到的所述多个子任务数据包分别分配各个相似运算节点。
所述控制节点还包括:
心跳信息监控模块,用于每隔预设时长或当接收到预设格式的样本时,获取所述相似运算节点的心跳信息。
所述控制节点还用于保存并记录所述预设格式的样本,记录所述多个子任务数据包及所述子任务数据包分配的相似运算节点的映射关系,并记录所述相似运算节点的心跳信息。
所述心跳信息监控模块还用于当所述相似运算节点在预设时长内未返回心跳信息且连续未返回所述心跳信息超过预设次数,则标记所述相似运算节点崩溃,并标记所述相似运算节点上运行的子任务数据包失败,并触发所述分配模块根据所述相似运算节点的心跳信息将标记失败的子任务数据包分配给未崩溃且空闲的相似运算节点。
一种相似邮件处理方法,包括:
接收原始样本和预设格式的样本,并将接收到的原始样本转换为预设格式;
判断所述转换后的原始样本包和所述预设格式的样本包是否为相似计算最终结果;
如果否,则根据预设标准对所述转换后的原始样本包和所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包;
对每个所述子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,反馈所述预设格式的样本,所述相似计算中间结果至少包括:唯一相似样本、相似关系和所述唯一相似样本的相似计数。
接收原始样本和预设格式的样本,具体包括:
收集相似邮件处理系统服务器或服务器集群上的邮件,将所述邮件作为原始样本,为所述原始样本分配任务标识;
根据所述预设格式的样本的任务标识判断所述预设格式的样本所属任务是否完成,如果否,则将所述预设格式的样本与所述所属任务的其他样本汇总。
判断转换后的原始样本包和所述预设格式的样本是否为相似计算最终结果,具体包括:
判断所述原始样本是否满足预设条件,如果是,则所述转换后的原始样本包是相似计算最终结果,如果否,则所述转换后的的原始样本不是相似计算最终结果;
判断所述预设格式的样本是否满足预设条件,如果是,则所述预设格式的样本是相似计算最终结果,如果否,则所述预设格式的样本不是相似计算最终结果。
根据预设标准对所述转换后的原始样本包和所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,具体包括:
统计所述转换后的原始样本包和所述预设格式的样本的数据关键指标,并根据配置文件登记信息和所述数据关键指标对所述转换后的原始样本包和所述预设格式的样本进行排序,并根据排序顺序将所述转换后的原始样本包或所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包。
当所述预设格式的样本为至少经过一次相似计算的样本且本地服务器上存在至少两个所述预设格式的样本所属任务返回的预设格式的样本时,对所述至少两个所述预设格式的样本所属任务返回的预设格式的样本进行合并处理。
当所述转换后的原始样本包中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述转换后的原始样本包进行拆分处理;
所述预设格式的样本中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述预设格式的样本进行拆分处理。
本发明实施例提供的技术方案的有益效果是:
通过由控制节点对输入的样本进行合并或拆分的处理,并将得到的多个子任务数据包分配给多个相似运算节点的分布式系统来实现对千万以上级别邮件的相似处理和计算,从而提高了运算速度和运算能力,降低了系统负载,可以支持实时和准实时统计与拦截的反垃圾邮件需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种相似邮件处理系统的示意图;
图1b是本发明实施例提供的一种相似邮件处理系统的示意图;
图2是本发明实施例提供的一种相似邮件处理方法的流程图;
图3是本发明实施例提供的一种相似邮件处理方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在介绍本发明提供的相似邮件处理系统之前,首先对本发明的基础知识进行简要的介绍:
本发明基于如下的简单常识:垃圾邮件一定在数量和规模上具有显著的规模,一定在形式上存在雷同现象,不难发现,只要我们处理和运算的速度足够快,就可以在第一时间识别出垃圾邮件(具有较大的数量规模),从而实施拦截。可见,越早发现大规模的相似的垃圾邮件,就能越早进行干预,从而越早的将垃圾邮件挡在邮箱系统外(根据统计,邮箱系统超过60%的邮件为垃圾邮件)。这对用户在使用上带来的好处不言而喻,同时也可大幅降低运营成本(带宽、存储)的压力。
实施例1
为了提高了运算速度和运算能力,降低了系统负载,本发明实施例提供了一种相似邮件处理系统,参见图1a,该系统包括:控制节点101和多个相似运算节点102。
其中,控制节点101,用于接收预设格式的样本,并判断所述预设格式的样本是否为相似计算最终结果,如果否,则根据预设标准对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,将所述多个子任务数据包分配给多个相似运算节点;
多个所述相似运算节点102,用于对接收到的子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,将所述预设格式的样本反馈给所述控制节点,所述相似计算中间结果至少包括:唯一相似样本、相似关系和所述唯一相似样本的相似计数。
参见图1b,所述系统还包括:
数据输入节点103,用于收集原始样本并将所述原始样本转换为预设格式,并将转换后的原始样本包作为预设格式的样本发送给所述控制节点。
所述数据输入节点103包括:
数据收集模块1031,用于收集相似邮件处理系统服务器或服务器集群上的邮件,将所述邮件作为原始样本;
转换模块1032,用于将所述原始样本转换为与相似计算匹配的预设格式;
发送模块1033,用于为转换后的原始样本包分配任务标识,并将转换后的原始样本包作为预设格式的样本整体或分批次发送给所述控制节点。
所述发送模块1033包括:
优化传输单元1033a,用于根据网络情况,将所述转换后的原始样本包分拆成多个数据包;
发送单元1033b,用于将所述优化传输单元输出的所述多个数据包作为预设格式的样本分批次发送给所述控制节点。
所述控制节点101包括:
接收模块1011,用于接收预设格式的样本;
判断模块1012,用于判断所述预设格式的样本是否满足预设条件,如果是,则所述预设格式的样本是相似计算最终结果,如果否,则所述预设格式的样本不是相似计算最终结果,并触发合并拆分模块;
所述合并拆分模块1013,用于根据所述相似运算节点的心跳信息,对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包;所述心跳新消息用于描述所述相似运算节点的空闲计算能力;
分配模块1014,用于将所述合并拆分模块得到的所述多个子任务数据包分别分配各个相似运算节点102。
所述控制节点101还包括:
心跳信息监控模块,用于每隔预设时长或当接收到预设格式的样本时,获取所述相似运算节点的心跳信息。
所述控制节点101还用于保存并记录所述预设格式的样本,记录所述多个子任务数据包及所述子任务数据包分配的相似运算节点的映射关系,并记录所述相似运算节点的心跳信息。
所述心跳信息监控模块还用于当所述相似运算节点在预设时长内未返回心跳信息且连续未返回所述心跳信息超过预设次数,则标记所述相似运算节点崩溃,并标记所述相似运算节点上运行的子任务数据包失败,并触发所述分配模块根据所述相似运算节点的心跳信息将标记失败的子任务数据包分配给未崩溃且空闲的相似运算节点。
通过由控制节点对输入的样本进行合并或拆分的处理,并将得到的多个子任务数据包分配给多个相似运算节点的分布式系统来实现对千万以上级别邮件的相似处理和计算,从而提高了运算速度和运算能力,降低了系统负载,可以支持实时和准实时统计与拦截的反垃圾邮件需求。
实施例2
为了提高了运算速度和运算能力,降低了系统负载,本发明实施例提供了一种相似邮件处理方法,该方法的执行主体为上述实施例1提供的相似邮件处理系统,参见图2,该方法包括:
201:接收原始样本和预设格式的样本,并将接收到的原始样本转换为预设格式;
202:判断该转换后的原始样本包和该预设格式的样本是否为相似计算最终结果;
203:如果否,则根据预设标准对该转换后的原始样本包和该预设格式的样本进行合并或拆分处理,得到多个子任务数据包;
204:对每个该子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,该相似计算中间结果为预设格式的样本,反馈该预设格式的样本,该相似计算中间结果包括唯一相似样本、相似关系和该唯一相似样本的相似计数。
其中,接收原始样本和预设格式的样本,具体包括:
收集相似邮件处理系统服务器或服务器集群上的邮件,将该邮件作为原始样本,为该原始样本分配任务标识;
根据该预设格式的样本的任务标识判断该预设格式的样本所属任务是否完成,如果否,则将该预设格式的样本与该所属任务的其他样本汇总。
其中,判断转换后的原始样本包和该预设格式的样本是否为相似计算最终结果,具体包括:
判断该转换后的原始样本包是否满足预设条件,如果是,则该转换后的原始样本包是相似计算最终结果,如果否,则该转换后的的原始样本不是相似计算最终结果;
判断该预设格式的样本是否满足预设条件,如果是,则该该预设格式的样本是相似计算最终结果,如果否,则该预设格式的样本不是相似计算最终结果。
其中,根据预设标准对该转换后的原始样本包和该预设格式的样本进行合并或拆分处理,得到多个子任务数据包,具体包括:
统计该转换后的原始样本包和该预设格式的样本的数据关键指标,并根据配置文件登记信息和该数据关键指标对该转换后的原始样本包和该预设格式的样本进行排序,并根据排序顺序将该该转换后的原始样本包或该预设格式的样本进行合并或拆分处理,得到多个子任务数据包。
其中,当该预设格式的样本为至少经过一次相似计算的样本且本地服务器上存在至少两个该预设格式的样本所属任务返回的预设格式的样本时,对该至少两个该预设格式的样本所属任务返回的预设格式的样本进行合并处理。
当该转换后的原始样本包中的记录条目数超过预设阈值,对该转换后的原始样本包当进行拆分处理;
当所述转换后的原始样本包中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述转换后的原始样本包进行拆分处理;
所述预设格式的样本中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述预设格式的样本进行拆分处理。
本实施例提供的方法,与系统实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
通过由控制节点对输入的样本进行合并或拆分的处理,并将得到的多个子任务数据包分配给多个相似运算节点的分布式系统来实现对千万以上级别邮件的相似处理和计算,从而提高了运算速度和运算能力,降低了系统负载,可以支持实时和准实时统计与拦截的反垃圾邮件需求。
实施例3
为了提高了运算速度和运算能力,降低了系统负载,本发明实施例提供了一种相似邮件处理方法,该方法的执行主体为上述实施例1提供的相似邮件处理系统,其中,设该相似邮件处理系统中包含控制节点、4个相似计算节点,需要说明的是,控制节点既可以接收原始样本进行转换,也可以接收来自数据输入节点的样本,并由数据输入节点进行转换,在本发明实施例中,以数据输入节点进行转换为例进行说明,参见图3,该方法的一个实施例具体包括:
301:数据输入节点中的数据收集模块收集相似邮件处理系统服务器或服务器集群上的邮件,将该邮件作为原始样本;
其中,该数据输入节点用于收集原始样本并将该原始样本转换为预设格式,并将转换后的原始样本包作为预设格式的样本发送给该控制节点。
本领域技术人员可以获知,该数据输入节点可以为能够与控制节点通信的一台服务器,还可以为多台服务器组成的服务器集群。
302:数据输入节点中的转换模块将该原始样本转换为与相似计算匹配的预设格式;
需要说明的是,在后续进行相似计算时,为方便处理速度与记录处理结果,需要对原始样本进行转换,该转换是根据后续的相似计算节点上配置的相似计算算法进行的,需转换为该相似计算算法对应的数据格式。其中,该相似计算算法可以为多种,本发明对此不做限定。
303:数据输入节点中的发送模块为转换后的原始样本包分配任务标识,并将转换后的原始样本包作为预设格式的样本整体或分批次发送给该控制节点;
其中,分配任务标识是为了使系统正在运行的任务透明化,技术人员可以通过任务标识获知当前系统正在运行的是哪些任务,并可以当需要终止某项任务时,控制节点可以根据任务标识向正在运行该任务的子任务的相似运算节点发送终止指令。
具体地,当原始样本的规模超过一定值,例如1G时,发送模块中的优化传输单元根据网络情况,将该转换后的原始样本包分拆成多个数据包;并由发送单元将该优化传输单元输出的该多个数据包作为预设格式的样本分批次发送给该控制节点,占用较少的内存和带宽资源。
需要说明的是,数据输入节点可以为控制节点的一部分,其转换格式的功能也可以由控制节点进行,当控制节点包含该功能时,数据输入节点负责收集邮件,并将邮件打包作为原始样本发送给控制节点,控制节点接收到原始样本后,扫描原始样本,将原始样本转换为预设格式的样本,进行步骤305的判断后,当该预设格式的样本不是相似计算最终结果时,统计预设格式的关键数据指标(包括数据包尺寸或记录条目等指标),根据样本的配置信息(包括每个包包括的记录条数或每个包的尺寸),根据关键数据指标进行排序,将排序后的排列拆分或合并成多个子任务数据包。上述的步骤是对原始样本的处理。
304:控制节点的接收模块接收预设格式的样本,该预设格式的样本包括转换后的原始样本包和由相似计算节点反馈的相似计算中间结果;
其中,控制节点用于接收预设格式的样本,并判断该预设格式的样本是否为相似计算最终结果,如果否,则根据预设标准对该预设格式的样本进行合并或拆分处理,得到多个子任务数据包,将该多个子任务数据包分配给多个相似运算节点;
需要说明的是,在接收样本时,分2种情况:
1、所有样本一次性输入,任务的生命周期在本次输入数据的相似运算完成后达到结束点,相似关系只覆盖本次输入的样本;
2、样本分开多次传输,任务生命周期较长或无终止时间,需要输出的相似关系数据要覆盖所有输入数据,并且能够即输出已经传输完毕的样本部分之间的相似结果,无需等待所有样本全部传输完再启动相似计算过程;
需要说明的是,该控制节点是整套系统中的控制部分,该控制节点还用于处理来自数据输入节点的请求,在本实例中,该请求用于请求对预设格式的样本进行相似计算处理,为了保障安全性,控制节点可以对该请求的合法性进行验证,当请求验证合法时,再对接收到的预设格式的样本进行处理。该控制节点一般为一台服务器,在热备情况下,可由两台或更多。
进一步地,该控制节点还用于保存并记录该预设格式的样本,记录该多个子任务数据包及该子任务数据包分配的相似运算节点的映射关系,并记录该相似运算节点的心跳信息。
305:控制节点的判断模块判断该预设格式的样本是否满足预设条件;
如果是,则该预设格式的样本是相似计算最终结果,输出该相似计算最终结果;
如果否,则该预设格式的样本不是相似计算最终结果,并执行步骤306;
其中,预设条件是指样本的相似计数达到预设阈值且此样本包已经过滤并剔除掉独立样本,独立样本是指未与其他任何样本有相似关系的;或经过相似计算后并未发现新的相似关系,例如,输入1000个样本,经过计算后没有可合并的样本,仍然为1000个样本。
其中该预设条件为技术人员根据系统的承载能力或其他要素设定的,本发明实施例不做具体限定。
在一个实施例中,当预设格式的样本为转换后的原始样本包时,该转换后的原始样本包内的记录条目之间的差异很大,无需进行相似计算,此时,该转换后的原始样本包即可以作为相似计算最终结果。
306:控制节点的合并拆分模块根据该相似运算节点的心跳信息,对该预设格式的样本进行合并或拆分处理,得到多个子任务数据包;
其中,该心跳消息用于监控和描述该相似运算节点的空闲计算能力,包括:其CPU或内存的配置情况和计算能力与当前正在运行的任务列表。心跳信息监控模块用于每隔预设时长或当接收到预设格式的样本时,获取该相似运算节点的心跳信息。具体地,心跳信息监控模块每隔预设时长(例如1分钟)向相似运算节点发送心跳信息请求或当控制节点接收到预设格式的样本时触发心跳信息监控模块向相似运算节点发送心跳信息请求,相似计算节点接收到心跳信息请求时,向控制节点反馈当前正在运行的子任务列表等信息。心跳信息监控模块保存反馈的心跳信息,定期监控所有相似计算节点的状况,并监控正在运行的子任务的完成情况,包括正在运行、结束或异常失败等,用于在分派子任务数据包和相似计算节点崩溃时的查询处理。
需要说明的是,控制节点和所有的相似计算模块之间维持TCP长链接。
进一步地,本发明实施例中,当样本必须满足如下几个方面中的任一条时,需对样本进行拆分处理:
1、样本已经按照数据关键指标排序;
2、记录条目数超过预设阈值,如10万;
3、打成数据包后的数据包尺寸超过预设阈值,如1G;
进一步地,本发明实施例中,当样本必须满足如下几个方面中的任一条时,需对样本进行合并处理:
1、样本在排序后,相似的记录条目只出现在此数据关键指标的某个连续范围内,或以较高概率出现;
2、根据数据关键指标在完成相似计算,经过唯一化样本步骤(即只保留一个样本,但记录合并掉的所有样本与此唯一样本之间的相似指数),保持不变;
3、一个任务标识在其生命周期内,存在多次和较慢的原始数据提交过程时,必定发生一部分已经先行计算相似的情况,或在数据量较大,一次需分发多个子任务数据包并接收对应的相似运算结果时,当所述预设格式的样本为至少经过一次相似计算的样本且本地服务器上存在至少两个所述预设格式的样本所属任务返回的预设格式的样本时,对所述至少两个所述预设格式的样本所属任务返回的预设格式的样本进行合并处理。
需要说明的是,合并运算处理到后期,会出现全部的唯一相似样本数量仍然庞大的情况,此时若仍然按照上面方法处理,会陷入一个分拆合并的死循环过程,当唯一相似样本数量超过预设阈值,为避免陷入死循环,根据不同的情况进行处理,具体如下:
1、丢弃相似计数较小的样本,例如,丢弃全部相似计数小于5的样本;
2、若经过一轮相似计算后,若某个子任务数据包中的样本之间均不存在相似关系,则标记此部分子任务数据已经达到了最终计算状态,不再参与后续的合并和分拆过程,直至这个任务标识有新的输入数据传入并排序在这个子任务数据包的数据范围内;
3、经过的计算次数越多,则丢弃的阈值应该逐步增大;
4、当全部子任务均达到最终状态或经历的运算次数达到一个阈值,则不再进行下一轮运算,标记此部分原始输入数据已经全部计算完成,本次相似计算任务完成。
307:控制节点的分配模块将该合并拆分模块得到的该多个子任务数据包分别分配各个相似运算节点;
本领域技术人员可以获知,在步骤305的分配时已经考虑到了各个相似计算节点的计算能力,所以各个相似计算节点接收到的数据包大小和包含条目可以不一致。
需要说明的是,如果当前相似运算节点无法处理所有的子任务数据包,可以先分配一部分,等待相似运算节点的心跳信息显示该相似运算节点空闲,再将后续的子任务数据包分配出去,一个相似计算节点上可以分配有一个或多个子任务数据包。
308:相似计算节点接收一个或多个子任务数据包,并对接收到的子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,该相似计算中间结果为预设格式的样本,将该预设格式的样本反馈给该控制节点,执行步骤304,直到该样本所属任务完成。
进一步的,当控制节点接收到预设格式的样本时,根据其任务标识判断该样本所属任务中的子任务数据包是否都已经反馈,如果是,则该次任务结束,如果否,将该反馈的预设格式的样本和后续输入的样本再进行合并或拆分,并再次分配给相似计算节点进行相似计算。
该相似计算中间结果至少包括唯一相似样本、相似关系和该唯一相似样本的相似计数,还可以包括其他信息。相似关系是指样本之间的相似指数,例如,样本A与B之间不相似,则其相似关系为Sim(A,B)=0。
在本实施例中,相似计算节点只负责每个数据包内部条目的相似计算,并将每个数据包的相似计算中间结果反馈给控制节点,而不对数据包之间进行处理。且运算节点单元负责进行具体的相似计算任务,除了数据的输入和输出外,不对原始数据进行任何改变。
其中,相似计算节点可以为不同CPU计算能力的服务器,并可以使用一个或几个相似计算的核心算法;
优选地,为了避免系统信息过于繁杂,相似计算节点不会主动上报自己的心跳信息,只在收到心跳信息请求后才返回必要的信息给控制节点。
优选地,每个任务具有最长运行时间限制,即如果运算时间超过指定秒数,则该任务作废,此时只有部分相似样本完成了相似运算,根据子任务的配置信息来决定是否需要返回未完成的结果给控制节点。在子任务运行期间,当接收到控制节点发出了终止指令,则该运算立即停止并立即丢弃;当子任务运算完毕,由相似计算节点发请求给控制节点,返回结果数据,具备超时重试机制;即当相似计算节点发送的请求在预设时长内未接收到控制节点的反馈时,则重新发送,当重新发送次数超过预设次数,则认为控制节点崩溃。若发生相似计算节点崩溃,相似计算节点内的数据和未完成的子任务不做恢复处理,在相似计算节点恢复响应后,等待新的运算请求;
下面给出一个简化后的实例来示意如何获得海量输入原始样本之间的完整相似关系:
原始样本中含有ABCDEFGHI9个样本,根据数据关键指标排序后,拆分成3个包,分别为:
1号包 | A | B | C |
2号包 | D | E | F |
3号包 | G | H | I |
经过第一轮派发和样本反馈后,得到如下结果:
3个子任务均已经完成并返回结果,准备进行第二轮派发,由于数据量少,经过合并后不需要再次拆分:
4号包 | A | D | G |
将这个数据包作为新的子任务派发后,得到下面结果:
单独的G代表无任何样本与他相似。由于只有一个包,且运算完毕,本次请求已经全部处理好。此时,整理后的唯一相似样本和全部的相似关系如下:
将这个结果记录在磁盘文件或数据库当中,可随时被查阅,整个处理过程结束。
在实际运行中,会出现相似计算节点崩溃的情况,当所述相似运算节点在预设时长内未返回心跳信息且连续未返回所述心跳信息超过预设次数,则标记所述相似运算节点崩溃,并标记所述相似运算节点上运行的子任务数据包失败,并触发所述分配模块根据所述相似运算节点的心跳信息将标记失败的子任务数据包分配给未崩溃且空闲的相似运算节点。下面以一个例子进行说明:
本实施例中,该相似邮件处理系统包括一控制节点和4个相似计算节点,该4个相似计算节点分别为Node1、Node2、Node3和Node4,正在运行的子任务数据包为P1、P2、P3和P4,其相似计算节点上正在运行的子任务数据包可以见下表1。
表1
节点 | Node1 | Node2 | Node3 | Node4 |
任务 | P1、P2 | P3 | P4 | —— |
当前在控制节点向该4个相似计算节点发送心跳信息请求,获取的心跳信息见下表2,
表2
其中,Node2在预设时长内未反馈心跳信息,且在请求超过预设次数后,Node2仍未反馈心跳信息,则认为Node2崩溃,从上一次正常的心跳信息表3中中查询Node2运行的任务,
表3
由表3可以获知,Node2在崩溃时正在运行P3,且由表2可以知道Node4空闲,且Node3已经运行完毕,Node4和Node3中,Node3的运算能力较强,而P3数据量较大,则将P3分配给Node3重新进行相似计算。
在实际运行中,还会出现控制节点崩溃的情况,正常情况下,控制节点会定时通过LOG保存一份子任务信息列表,通过跟重构的子任务列表对比,可以找到需要派发和崩溃时派发失败的那部分子任务,从而能够恢复崩溃前的大致状态。这种情况包括控制节点崩溃,相似计算节点正常运作。此时,相似计算节点在短时间内回报的运算结果请求将全部超时,但由于有超时重试直到成功为止的机制,已经分派出去的子任务信息和数据均保持完整,当控制节点恢复服务后,相似计算节点回报请求会被正常接收和处理。另外,控制节点恢复启动后立即通过心跳服务来收集此刻正在运行的子任务情况,结合控制节点的LOG数据可以重新构造子任务列表。需要注意,在极端情况下,这里存在丢失部分信息的可能性,丢失的信息可能为已经接受了相似计算请求,但还没来得及拆分或已经拆分但没来得及派发的那一部分。
通过由控制节点对输入的样本进行合并或拆分的处理,并将得到的多个子任务数据包分配给多个相似运算节点的分布式系统来实现对千万以上级别邮件的相似处理和计算,从而提高了运算速度和运算能力,降低了系统负载,可以支持实时和准实时统计与拦截的反垃圾邮件需求。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种相似邮件处理系统,其特征在于,包括:
控制节点,用于接收预设格式的样本,并判断所述预设格式的样本是否为相似计算最终结果,如果否,则根据预设标准对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,将所述多个子任务数据包分配给多个相似运算节点;
多个所述相似运算节点,用于对接收到的子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,将所述相似计算中间结果反馈给所述控制节点,所述相似计算中间结果至少包括:唯一相似样本、相似关系和所述唯一相似样本的相似计数。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
数据输入节点,用于收集原始样本并将所述原始样本转换为预设格式,并将转换后的原始样本包作为预设格式的样本发送给所述控制节点。
3.根据权利要求2所述的系统,其特征在于,所述数据输入节点包括:
数据收集模块,用于收集相似邮件处理系统服务器或服务器集群上的邮件,将所述邮件作为原始样本;
转换模块,用于将所述原始样本转换为与相似计算匹配的预设格式;
发送模块,用于为转换后的原始样本包分配任务标识,并将转换后的原始样本包作为预设格式的样本整体或分批次发送给所述控制节点。
4.根据权利要求3所述的系统,其特征在于,所述发送模块包括:
优化传输单元,用于根据网络情况,将所述转换后的原始样本包分拆成多个数据包;
发送单元,用于将所述优化传输单元输出的所述多个数据包作为预设格式的样本分批次发送给所述控制节点。
5.根据权利要求1所述的系统,其特征在于,所述控制节点包括:
接收模块,用于接收预设格式的样本;
判断模块,用于判断所述预设格式的样本是否满足预设条件,如果是,则所述预设格式的样本是相似计算最终结果,如果否,则所述预设格式的样本不是相似计算最终结果,并触发合并拆分模块;
所述合并拆分模块,用于根据所述相似运算节点的心跳信息,对所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包;所述心跳信息用于监控和描述所述相似运算节点的空闲计算能力;
分配模块,用于将所述合并拆分模块得到的所述多个子任务数据包分别分配各个相似运算节点。
6.根据权利要求5所述的系统,其特征在于,所述控制节点还包括:
心跳信息监控模块,用于每隔预设时长或当接收到预设格式的样本时,获取所述相似运算节点的心跳信息。
7.根据权利要求6所述的系统,其特征在于,所述控制节点还用于保存并记录所述预设格式的样本,记录所述多个子任务数据包及所述子任务数据包分配的相似运算节点的映射关系,并记录所述相似运算节点的心跳信息。
8.根据权利要求6所述的系统,其特征在于,所述心跳信息监控模块还用于当所述相似运算节点在预设时长内未返回心跳信息且连续未返回所述心跳信息超过预设次数,则标记所述相似运算节点崩溃,并标记所述相似运算节点上运行的子任务数据包失败,并触发所述分配模块根据所述相似运算节点的心跳信息将标记失败的子任务数据包分配给未崩溃且空闲的相似运算节点。
9.一种相似邮件处理方法,其特征在于,包括:
接收原始样本和预设格式的样本,并将接收到的原始样本转换为预设格式;
判断所述转换后的原始样本包和所述预设格式的样本包是否为相似计算最终结果;
如果否,则根据预设标准对所述转换后的原始样本包和所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包;
对每个所述子任务数据包内的样本进行相似关系计算,获得相似计算中间结果,所述相似计算中间结果为预设格式的样本,反馈所述预设格式的样本,所述相似计算中间结果至少包括:唯一相似样本、相似关系和所述唯一相似样本的相似计数。
10.根据权利要求9所述的方法,其特征在于,接收原始样本和预设格式的样本,具体包括:
收集相似邮件处理系统服务器或服务器集群上的邮件,将所述邮件作为原始样本,为所述原始样本分配任务标识;
根据所述预设格式的样本的任务标识判断所述预设格式的样本所属任务是否完成,如果否,则将所述预设格式的样本与所述所属任务的其他样本汇总。
11.根据权利要求9所述的方法,其特征在于,判断转换后的原始样本包和所述预设格式的样本是否为相似计算最终结果,具体包括:
判断所述原始样本是否满足预设条件,如果是,则所述转换后的原始样本包是相似计算最终结果,如果否,则所述转换后的的原始样本不是相似计算最终结果;
判断所述预设格式的样本是否满足预设条件,如果是,则所述预设格式的样本是相似计算最终结果,如果否,则所述预设格式的样本不是相似计算最终结果。
12.根据权利要求9所述的方法,其特征在于,根据预设标准对所述转换后的原始样本包和所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包,具体包括:
统计所述转换后的原始样本包和所述预设格式的样本的数据关键指标,并根据配置文件登记信息和所述数据关键指标对所述转换后的原始样本包和所述预设格式的样本进行排序,并根据排序顺序将所述转换后的原始样本包或所述预设格式的样本进行合并或拆分处理,得到多个子任务数据包。
13.根据权利要求9所述的方法,其特征在于,当所述预设格式的样本为至少经过一次相似计算的样本且本地服务器上存在至少两个所述预设格式的样本所属任务返回的预设格式的样本时,对所述至少两个所述预设格式的样本所属任务返回的预设格式的样本进行合并处理。
14.根据权利要求9所述的方法,其特征在于,当所述转换后的原始样本包中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述转换后的原始样本包进行拆分处理;
所述预设格式的样本中的记录条目数或打成数据包后的总尺寸字节数超过预设阈值,对所述预设格式的样本进行拆分处理。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110051222.2A CN102655480B (zh) | 2011-03-03 | 2011-03-03 | 相似邮件处理系统和方法 |
SG2013065685A SG193013A1 (en) | 2011-03-03 | 2012-02-01 | System and method for processing similar emails |
MYPI2013002093A MY167496A (en) | 2011-03-03 | 2012-02-01 | System and method for processing similar emails |
KR1020137017886A KR101526344B1 (ko) | 2011-03-03 | 2012-02-01 | 유사 이메일을 처리하기 위한 시스템 및 방법 |
PCT/CN2012/070816 WO2012116587A1 (zh) | 2011-03-03 | 2012-02-01 | 相似邮件处理系统和方法 |
US13/905,037 US20130282846A1 (en) | 2011-03-03 | 2013-05-29 | System and method for processing similar emails |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110051222.2A CN102655480B (zh) | 2011-03-03 | 2011-03-03 | 相似邮件处理系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102655480A CN102655480A (zh) | 2012-09-05 |
CN102655480B true CN102655480B (zh) | 2015-12-02 |
Family
ID=46731006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110051222.2A Active CN102655480B (zh) | 2011-03-03 | 2011-03-03 | 相似邮件处理系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20130282846A1 (zh) |
KR (1) | KR101526344B1 (zh) |
CN (1) | CN102655480B (zh) |
MY (1) | MY167496A (zh) |
SG (1) | SG193013A1 (zh) |
WO (1) | WO2012116587A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9570093B2 (en) | 2013-09-09 | 2017-02-14 | Huawei Technologies Co., Ltd. | Unvoiced/voiced decision for speech processing |
CN107087010B (zh) * | 2016-02-14 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 中间数据传输方法及系统、分布式系统 |
CN108259568B (zh) * | 2017-12-22 | 2021-05-04 | 东软集团股份有限公司 | 任务分配方法、装置、计算机可读存储介质及电子设备 |
CN113094243B (zh) * | 2020-01-08 | 2024-08-20 | 北京小米移动软件有限公司 | 节点性能检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108339A1 (en) * | 2003-05-15 | 2005-05-19 | Matt Gleeson | Method and apparatus for filtering email spam using email noise reduction |
US20050160148A1 (en) * | 2004-01-16 | 2005-07-21 | Mailshell, Inc. | System for determining degrees of similarity in email message information |
CN1922837A (zh) * | 2004-05-14 | 2007-02-28 | 布赖特梅有限公司 | 基于相似性量度过滤垃圾邮件的方法和装置 |
CN101159704A (zh) * | 2007-10-23 | 2008-04-09 | 浙江大学 | 基于微内容相似度的反垃圾方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7543053B2 (en) * | 2003-03-03 | 2009-06-02 | Microsoft Corporation | Intelligent quarantining for spam prevention |
US7475118B2 (en) * | 2006-02-03 | 2009-01-06 | International Business Machines Corporation | Method for recognizing spam email |
-
2011
- 2011-03-03 CN CN201110051222.2A patent/CN102655480B/zh active Active
-
2012
- 2012-02-01 MY MYPI2013002093A patent/MY167496A/en unknown
- 2012-02-01 SG SG2013065685A patent/SG193013A1/en unknown
- 2012-02-01 WO PCT/CN2012/070816 patent/WO2012116587A1/zh active Application Filing
- 2012-02-01 KR KR1020137017886A patent/KR101526344B1/ko active Active
-
2013
- 2013-05-29 US US13/905,037 patent/US20130282846A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108339A1 (en) * | 2003-05-15 | 2005-05-19 | Matt Gleeson | Method and apparatus for filtering email spam using email noise reduction |
US20050160148A1 (en) * | 2004-01-16 | 2005-07-21 | Mailshell, Inc. | System for determining degrees of similarity in email message information |
US7590694B2 (en) * | 2004-01-16 | 2009-09-15 | Gozoom.Com, Inc. | System for determining degrees of similarity in email message information |
CN1922837A (zh) * | 2004-05-14 | 2007-02-28 | 布赖特梅有限公司 | 基于相似性量度过滤垃圾邮件的方法和装置 |
CN101159704A (zh) * | 2007-10-23 | 2008-04-09 | 浙江大学 | 基于微内容相似度的反垃圾方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012116587A1 (zh) | 2012-09-07 |
SG193013A1 (en) | 2013-10-30 |
CN102655480A (zh) | 2012-09-05 |
MY167496A (en) | 2018-08-30 |
KR20130109195A (ko) | 2013-10-07 |
US20130282846A1 (en) | 2013-10-24 |
KR101526344B1 (ko) | 2015-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502494B (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN107688496B (zh) | 任务分布式处理方法、装置、存储介质和服务器 | |
CN110247810B (zh) | 一种收集容器服务监控数据的系统及方法 | |
CN110225074B (zh) | 一种基于设备地址域的通讯报文分发系统及分发方法 | |
US9753942B2 (en) | Traffic statistic generation for datacenters | |
CN112118174B (zh) | 软件定义数据网关 | |
CN110401657B (zh) | 一种访问日志的处理方法及装置 | |
US20100229182A1 (en) | Log information issuing device, log information issuing method, and program | |
CN103095806B (zh) | 一种面向大电网的实时数据库系统的负载均衡管理系统 | |
CN106161552A (zh) | 一种海量数据环境下负载均衡方法及系统 | |
CN102970244A (zh) | 一种多cpu核间负载均衡的网络报文处理方法 | |
CN102655480B (zh) | 相似邮件处理系统和方法 | |
CN111241038A (zh) | 卫星数据处理方法及系统 | |
CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
CN105761039A (zh) | 快递信息大数据处理方法 | |
CN114401284A (zh) | 固定污染源治理工况实时数据采集与传输系统及方法 | |
CN108268549A (zh) | 数据稽核系统和方法 | |
CN104821958B (zh) | 基于WebService的用电数据分组交互接口方法 | |
CN108304293A (zh) | 一种基于大数据技术的软件系统监控方法 | |
WO2014015665A1 (zh) | 数据处理方法、装置和系统 | |
CN111858659A (zh) | 基于行键盐值的数据查询方法、装置、设备及存储介质 | |
CN105872082A (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
WO2022021858A1 (zh) | 实现分布式系统中高负载场景下服务高可用的方法、系统 | |
CN117950839A (zh) | 一种基于智能任务分配与执行的任务处理方法及装置 | |
CN111464453A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |