CN113595887B - 一种邮件系统中的流量控制方法和装置 - Google Patents

一种邮件系统中的流量控制方法和装置 Download PDF

Info

Publication number
CN113595887B
CN113595887B CN202111054751.8A CN202111054751A CN113595887B CN 113595887 B CN113595887 B CN 113595887B CN 202111054751 A CN202111054751 A CN 202111054751A CN 113595887 B CN113595887 B CN 113595887B
Authority
CN
China
Prior art keywords
mail
sent
filter
filtering
filtering processing
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
CN202111054751.8A
Other languages
English (en)
Other versions
CN113595887A (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.)
Beijing Skyguard Network Security Technology Co ltd
Original Assignee
Beijing Skyguard Network Security Technology 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 Beijing Skyguard Network Security Technology Co ltd filed Critical Beijing Skyguard Network Security Technology Co ltd
Priority to CN202111054751.8A priority Critical patent/CN113595887B/zh
Publication of CN113595887A publication Critical patent/CN113595887A/zh
Application granted granted Critical
Publication of CN113595887B publication Critical patent/CN113595887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种邮件系统中的流量控制方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。该实施方式提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率。

Description

一种邮件系统中的流量控制方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种邮件系统中的流量控制方法和装置。
背景技术
邮件系统是企业信息化过程中不可或缺的通讯软件。现有的邮件系统部署方法,主要是采用邮件服务器集群来实现邮件的传输,以负载均衡的方式将邮件路由到不同的集群节点,以避免由于某一节点发送故障导致邮件无法及时正常传输。
但与此同时,如何对垃圾邮件,病毒邮件,钓鱼邮件,信息泄露邮件等有害邮件进行过滤,以邮件通道中有害邮件对企业信息资产的侵害,也越来越受到用户,尤其是企业用户的重视。
现有技术中至少存在如下问题:
现有方法主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率。
发明内容
有鉴于此,本发明实施例提供一种邮件系统中的流量控制方法和装置,能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率。
为实现上述目的,根据本发明实施例的第一方面,提供了一种邮件系统中的流量控制方法,包括:
响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;
利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;
利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
进一步地,处理进程包括邮件接收进程、过滤处理进程以及邮件发送进程;其中,利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器,包括:
利用管理进程调用邮件接收进程接收待发送邮件;
通过过滤处理进程从过滤器集群中为待发送邮件确定目标过滤器节点,以对待发送邮件进行过滤识别,使得过滤处理进程根据过滤识别结果对待发送邮件进行过滤处理;
调用邮件发送进程根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
进一步地,利用管理进程调用邮件接收进程接收待发送邮件,包括:
利用管理进程调用邮件接收进程,以确定邮件接收进程中的缓存槽位数量,并接收不超过缓存槽位数量的待发送邮件。
进一步地,通过过滤处理进程从过滤器集群中为待发送邮件确定目标过滤器节点,包括:
通过过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;
判断总过滤处理能力是否大于或等于待发送邮件所需的过滤处理能力;
若是,从过滤器集群的当前启动的过滤器节点中,为待发送邮件确定目标过滤器节点;
若否,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
进一步地,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点,包括:
增加过滤器节点的启动数量,并对过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;
若是,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
进一步地,若更新后的总启动数量大于或等于过滤器节点数量阈值时,更新后的总过滤处理能力小于待发送邮件所需的过滤处理能力,方法还包括:
针对任一过滤器节点,确定过滤器节点的响应时间,判断响应时间是否小于或等于响应时间阈值;
若是,根据响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;
若否,将空缓存空间槽位数量调整为零。
进一步地,在将空缓存空间槽位数量调整为零的步骤之后,还包括:
周期性获取相应过滤器节点的响应时间,在响应时间小于或等于响应时间阈值的情况下,对空缓存空间槽位数量进行更新。
进一步地,过滤器集群的数量为一个或多个,过滤器集群的数量为多个时,若响应时间大于响应时间阈值,方法还包括:
根据当前过滤器集群的总过滤处理能力,为部分待发送邮件确定目标过滤器节点;
从其他过滤器集群的过滤器节点中为剩下的待发送邮件确定目标过滤器节点。
进一步地,处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制,还包括:
根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,并确定处理进程中的空缓存空间槽位数量;
根据空缓存空间槽位数量、未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
根据本发明实施例的第二方面,提供了一种邮件系统中的流量控制装置,包括:
进程运行模块,用于响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;
邮件处理模块,用于利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;
流量控制模块,用于利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
根据本发明实施例的第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述任一种邮件系统中的流量控制方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一种邮件系统中的流量控制方法。
上述发明中的一个实施例具有如下优点或有益效果:因为采用响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制的技术手段,所以克服了现有方法中由于主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率的技术问题,进而达到能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率的技术效果。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明第一实施例提供的邮件系统中的流量控制方法的主要流程的示意图;
图2是根据本发明第二实施例提供的邮件系统中的流量控制方法的主要流程的示意图;
图3是根据本发明实施例提供的邮件系统中的流量控制装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明第一实施例提供的邮件系统中的流量控制方法的主要流程的示意图;如图1所示,本发明实施例提供的邮件系统中的流量控制方法主要包括:
步骤S101,响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信。
具体地,匿名管道主要用于本地父进程和子进程(即上述管理进程与处理进程)之间的通信。根据本发明实施例,在父进程首先创建一个匿名管道,在匿名管道创建成功后,可以获取到对这个匿名管道的读写句柄,然后父进程就可以向这个匿名管道中写入数据和读取数据了,然后在父进程中再创建子进程,就可以通过匿名管道实现父进程与子进程之间的通信。由于子进程是在父进程下创建的,与父进程共享同一个缓存空间,尤其涉及到多个具备不同功能子进程时,该多个具备不同功能的子进程能够共享同一缓存空间,在进程之间的读写数据不超过读写数据阈值的情况下,可以保证读写原子性,使得,子进程依次对读写数据(对于本发明实施例,是指进程中传输的邮件)进行处理,显著提升了在过滤过程时对邮件系统中的流量控制,并提高了流量控制的准确度。
步骤S102,利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
具体地,管理进程在接收到邮件发送请求后,调用并启动子进程(即处理进程),以对邮件进行过滤处理、并将过滤后的邮件发送至相应的邮件服务器。通过上述设置,有效保证了用户的信息资产安全,避免了现有技术中直接将邮件发送至邮件服务器再进行邮件过滤,导致邮件服务器宕机或邮件发送不及时的情形,有助于保障邮件系统的安全运行,提升了邮件传输效率。
根据本发明实施例,上述处理进程主要包括邮件接收进程、过滤处理进程以及邮件发送进程三个具备不同功能的子进程,其中,
邮件接收进程,用于接收待发送的邮件;
过滤处理进程,用于与过滤器集群交互,获取过滤器集群中执行过滤识别的节点及其对应的处理能力,还根据待发送邮件的数量、当前过滤器节点的数量调整执行过滤识别的过滤器节点的数量,根据过滤器节点的过滤识别结果对待发送邮件进行过滤;
邮件发送进程,用于将过滤处理后的待发送邮件发送至相应的邮件服务器中。
具体地,根据本发明实施例,上述利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器,包括:
利用管理进程调用邮件接收进程接收待发送邮件;
通过过滤处理进程从过滤器集群中为待发送邮件确定目标过滤器节点,以对待发送邮件进行过滤识别,使得过滤处理进程根据过滤识别结果对待发送邮件进行过滤处理;
调用邮件发送进程根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
通过引入过滤器集群,保障了执行过滤识别的过滤器节点之间的负载均衡,使得邮件能够及时快速地进行过滤识别;同时,当某一个或某几个过滤器节点发生故障时,仍能实现邮件过滤操作,显著提高了邮件传送效率。
进一步地,根据本发明实施例,利用管理进程调用邮件接收进程接收待发送邮件,包括:
利用管理进程调用邮件接收进程,以确定邮件接收进程中的缓存槽位数量,并接收不超过缓存槽位数量的待发送邮件。
其中,缓存槽位数量用于控制邮件系统当前能够接收的待发送邮件数量,接收不超过缓存槽位数量的待发送邮件,有助于实现对邮件系统中的流量控制,同时,后续可根据过滤器节点的处理能力等,对该缓存槽位数量进行调整,从而提升流量控制的精确率。
优选地,根据本发明实施例,通过过滤处理进程从过滤器集群中为待发送邮件确定目标过滤器节点,包括:
通过过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;
判断总过滤处理能力是否大于或等于待发送邮件所需的过滤处理能力;
若是,从过滤器集群的当前启动的过滤器节点中,为待发送邮件确定目标过滤器节点;
若否,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
示例性地,根据本发明实施例,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点,包括:
增加过滤器节点的启动数量,并对过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;
若是,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
通过上述设置,结合过滤器节点的处理能力、过滤器节点的数量,以负载均衡的形式,为待发送邮件确定相对应的目标过滤器节点,使得进入处理进程中的全部待发送邮件均能够执行过滤处理,以保障用户信息资产安全,提高邮件过滤效率。
根据本发明实施例,过滤处理后的待发送邮件,通过邮件发送进程将其发送至相应的邮件服务器。由于多个子进程共享同一缓存空间,邮件发送进程每将一封邮件发送至邮件服务器,就表示当前缓存空间中释放一个的空缓存空间槽位。根据本发明实施例的一具体实施方式,可根据当前启动的过滤器节点对应的总过滤处理能力与待发送的邮件进行比对,并结合过滤器节点的响应时间等,来调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,以更好的实现对邮件系统中的流量进行控制。
具体地,根据本发明实施例,若更新后的总启动数量大于或等于过滤器节点数量阈值时,更新后的总过滤处理能力小于待发送邮件所需的过滤处理能力,方法还包括:
针对任一过滤器节点,确定过滤器节点的响应时间,判断响应时间是否小于或等于响应时间阈值;
若是,根据响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;
若否,将空缓存空间槽位数量调整为零。
进一步地,根据本发明实施例,在将空缓存空间槽位数量调整为零的步骤之后,还包括:
周期性获取相应过滤器节点的响应时间,在响应时间小于或等于响应时间阈值的情况下,对空缓存空间槽位数量进行更新。
另一方面,根据本发明实施例,当过滤器集群的数量为多个(大于或等于两个)时,若当前过滤器集群中的节点无法及时执行全部发送邮件的过滤识别操作,可将从其他过滤器集群为待发送邮件确定目标过滤器节点。
具体地,根据本发明实施例,过滤器集群的数量为一个或多个,过滤器集群的数量为多个时,若响应时间大于响应时间阈值,方法还包括:
根据当前过滤器集群的总过滤处理能力,为部分待发送邮件确定目标过滤器节点;
从其他过滤器集群的过滤器节点中为剩下的待发送邮件确定目标过滤器节点。
步骤S103,处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
本发明实施例是在保障待发送邮件能够全部执行过滤处理的前提下保障邮件系统能够安全运行,因此,结合未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
进一步地,根据本发明实施例,处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制,还包括:
根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,并确定处理进程中的空缓存空间槽位数量;
根据空缓存空间槽位数量、未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
上述实施例中提及到通过调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,可以更好的实现对邮件系统中的流量进行控制。因此,根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,可以明确地确定处理进程中的空缓存空间槽位数量,再结合未进行过滤处理的待发送邮件数量以及过滤处理能力,进一步提升了邮件系统中的流量控制效果。
根据本发明实施例的技术方案,因为采用响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制的技术手段,所以克服了现有方法中由于主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率的技术问题,进而达到能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率的技术效果。
图2是根据本发明第二实施例提供的邮件系统中的流量控制方法的主要流程的示意图;如图2所示,本发明实施例提供的邮件系统中的流量控制方法主要包括:
步骤S201,在邮件系统的管理进程中依次创建匿名管道和处理进程,其中,所述处理进程为所述管理进程的子进程,所述匿名管道用于实现所述管理进程与所述处理进程之间的通信。
具体地,根据本发明实施例,在父进程首先创建一个匿名管道,在匿名管道创建成功后,可以获取到对这个匿名管道的读写句柄,父进程就可以向这个匿名管道中写入数据和读取数据了,然后在父进程中再创建子进程,就可以通过匿名管道实现父进程与子进程之间的通信。由于子进程是在父进程下创建的,与父进程共享同一个缓存空间,尤其涉及到多个具备不同功能子进程时,该多个具备不同功能的子进程能够共享同一缓存空间,在进程之间的读写数据不超过读写数据阈值的情况下,可以保证读写原子性,使得,子进程依次对读写数据(对于本发明实施例,是指进程中传输的邮件)进行处理,显著提升了在过滤过程时对邮件系统中的流量控制,并提高了流量控制的准确度。
步骤S202,响应于邮件发送请求,运行邮件系统的管理进程。
在接收到邮件发送请求后,运行管理进程调度处理进程(包括邮件接收进程、过滤处理进程和邮件发送进程),以对待发送邮件先进行过滤处理,再将过滤处理后的待发送邮件发送至相应的邮件服务器,避免了现有技术中直接将邮件发送至邮件服务器再进行邮件过滤,导致邮件服务器宕机或邮件发送不及时的情形,有助于保障邮件系统的安全运行,提升了邮件传输效率。
步骤S203,利用管理进程调用邮件接收进程,以确定邮件接收进程中的缓存槽位数量,并接收不超过缓存槽位数量的待发送邮件。
其中,缓存槽位数量用于控制邮件系统当前能够接收的待发送邮件数量,接收不超过缓存槽位数量的待发送邮件,有助于实现对邮件系统中的流量控制,同时,后续可根据过滤器节点的处理能力等,对该缓存槽位数量进行调整,从而提升流量控制的精确率。
根据本发明实施例,处理进程负责依次对邮件进行接收(邮件接收进程)、过滤处理(过滤处理进程)、发送至相应的服务器(邮件发送进程),具体执行步骤如下:
步骤S204,通过过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力。
步骤S205,判断总过滤处理能力是否大于或等于待发送邮件所需的过滤处理能力。若是,即总过滤处理能力大于或等于待发送邮件所需的过滤处理能力,执行步骤S206;若否,即总过滤处理能力小于待发送邮件所需的过滤处理能力,转到步骤S207。
步骤S206,从过滤器集群的当前启动的过滤器节点中,为待发送邮件确定目标过滤器节点。
步骤S207,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
通过上述设置,结合过滤器节点的处理能力、过滤器节点的数量,以负载均衡的形式,为待发送邮件确定相对应的目标过滤器节点,使得进入处理进程中的全部待发送邮件均能够执行过滤处理,以保障用户信息资产安全,提高邮件过滤效率。
进一步地,根据本发明实施例,若增加过滤器节点的启动数量达到当前过滤器集群的过滤器节点数量阈值后,还需进一步判断是否能够及时执行完当前的待发送邮件的过滤识别操作,若能,表示当前启动的过滤器节点能够及时处理完成当前接收到的待发送邮件,因此邮件系统可按照正常的接收频率对新增的待上传邮件进行接收;若不能,表示当前启动的过滤器节点不能够及时处理完成当前接收到的待发送邮件,则需要调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,即通过调整空缓存空间槽位数量,来实现流量控制,具体执行步骤如下:
根据本发明实施例,增加过滤器节点的启动数量,并对过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;
若是,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
通过上述设置,结合过滤器节点的处理能力、过滤器节点的数量,以负载均衡的形式,为待发送邮件确定相对应的目标过滤器节点,使得进入处理进程中的全部待发送邮件均能够执行过滤处理,以保障用户信息资产安全,提高邮件过滤效率。
进一步地,根据本发明实施例,若更新后的总启动数量大于或等于过滤器节点数量阈值时,更新后的总过滤处理能力小于待发送邮件所需的过滤处理能力,方法还包括:
针对任一过滤器节点,确定过滤器节点的响应时间,判断响应时间是否小于或等于响应时间阈值;
若是,根据响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;
若否,将空缓存空间槽位数量调整为零。
根据本发明实施例的一具体实施方式,若更新后的总启动数量达到滤器节点数量阈值时,总的过滤处理能力仍小于待发送邮件所需的过滤处理能力,表示不能及时处理完待发送邮件的过滤操作。
此时,可判断各个过滤器节点的当前响应时间与响应时间阈值(包括第一响应时间阈值和第二响应时间阈值,第一响应时间阈值是第二响应时间阈值的1/3)之间的关系,
若当前响应时间在小于第一响应时间,表明虽然过滤器节点的并发数量达到上限(即更新后的总启动数量达到滤器节点数量阈值),但是每个过滤器的处理能力仍比较稳定,可以设置需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例为1:2,即每发送一封处理后的邮件,释放出两个空缓存槽位,这是因为过滤节点的处理能力很快,这样可以保障缓存槽位一直是充足的状态,有效保障了邮件系统的运行效率。(需要说明的是上述以及后文中的具体数值仅为示例,并不作为对本发明的限定,可根据实际情况进行调节)。
若当前响应时间大于第一响应时间但是小于第二响应时间,表明,每个过滤器的处理速度稍慢,可以设置需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例为1:1,即每发送一封处理后的邮件,释放出一个空缓存槽位。
若当前响应时间大于第二响应时间,即超时,此时需要检查最近的单位时间内超时的次数是否超过指定超时次数阈值,如果没有超过指定阈值,则记录超时次数,此时可以允许1:1的比例释放空缓存槽位(实际系统中允许偶尔几次的超时)。如果超过指定超时次数阈值的话,发送告警给管理员,并同时将设置空缓存槽位为零,此后一段时间邮件暂不接受新增的待发送邮件,直至当前响应时间降低。
优选地,根据本发明实施例,在将空缓存空间槽位数量调整为零的步骤之后,还包括:
周期性获取相应过滤器节点的响应时间,在响应时间小于或等于响应时间阈值的情况下,对空缓存空间槽位数量进行更新。
根据本发明实施例,上述方法还包括对空缓存空间槽位数量的修正操作,对于检测到异常的过滤器节点,暂不进行邮件过滤识别处理,可以以固定时间间隔(例如30秒),向异常过滤器发送探测请求,如果连续三次过滤器节点反馈正常,则认为过滤器节点已经自动恢复,则根据该过滤器节点的过滤处理能力,对缓存空间槽位进行修正。
进一步地,过滤器集群的数量为一个或多个,过滤器集群的数量为多个时,若响应时间大于响应时间阈值,方法还包括:
根据当前过滤器集群的总过滤处理能力,为部分待发送邮件确定目标过滤器节点;
从其他过滤器集群的过滤器节点中为剩下的待发送邮件确定目标过滤器节点。
当过滤器集群的数量为多个(大于或等于两个)时,若当前过滤器集群中的节点无法及时执行全部发送邮件的过滤识别操作,可将从其他过滤器集群为待发送邮件确定目标过滤器节点。
步骤S208,利用目标过滤器节点对待发送邮件进行过滤识别,使得过滤处理进程根据过滤识别结果对待发送邮件进行过滤处理。
通过上述设置,有效保证了用户的信息资产安全,避免了现有技术中直接将邮件发送至邮件服务器再进行邮件过滤,导致邮件服务器宕机或邮件发送不及时的情形。
步骤S209,利用邮件发送进程根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
本发明实施例是在保障待发送邮件能够全部执行过滤处理的前提下保障邮件系统能够安全运行,因此,结合未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
进一步地,根据本发明实施例,上述处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制,还包括:根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,并确定处理进程中的空缓存空间槽位数量;
根据空缓存空间槽位数量、未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
上述实施例中提及到通过调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,可以更好的实现对邮件系统中的流量进行控制。因此,根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,可以明确地确定处理进程中的空缓存空间槽位数量,再结合未进行过滤处理的待发送邮件数量以及过滤处理能力,进一步提升了邮件系统中的流量控制效果。
根据本发明实施例的技术方案,因为采用响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制的技术手段,所以克服了现有方法中由于主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率的技术问题,进而达到能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率的技术效果。
图3是根据本发明实施例提供的邮件系统中的流量控制装置的主要模块的示意图;如图3所示,本发明实施例提供的邮件系统中的流量控制装置300主要包括:
进程运行模块301,用于响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信。
具体地,由于子进程和匿名通道是在父进程下创建的,父进程可以与子进程之间进行通信(父进程可以调用子进程执行相应的功能处理),子进程与父进程直接共享同一个缓存空间,尤其涉及到多个具备不同功能子进程时,该多个具备不同功能的子进程能够共享同一缓存空间,在进程之间的读写数据不超过读写数据阈值的情况下,可以保证读写原子性,使得,子进程依次对读写数据(对于本发明实施例,是指进程中传输的邮件)进行处理,显著提升了在过滤过程时对邮件系统中的流量控制,并提高了流量控制的准确度。
邮件处理模块302,用于利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
具体地,管理进程在接收到邮件发送请求后,调用并启动子进程(即处理进程),以对邮件进行过滤处理、并将过滤后的邮件发送至相应的邮件服务器。通过上述设置,有效保证了用户的信息资产安全,避免了现有技术中直接将邮件发送至邮件服务器再进行邮件过滤,导致邮件服务器宕机或邮件发送不及时的情形,有助于保障邮件系统的安全运行,提升了邮件传输效率。
根据本发明实施例,上述处理进程主要包括邮件接收进程、过滤处理进程以及邮件发送进程三个具备不同功能的子进程,其中,
邮件接收进程,用于接收待发送的邮件;
过滤处理进程,用于与过滤器集群交互,获取过滤器集群中执行过滤识别的节点及其对应的处理能力,还根据待发送邮件的数量、当前过滤器节点的数量调整执行过滤识别的过滤器节点的数量,根据过滤器节点的过滤识别结果对待发送邮件进行过滤;
邮件发送进程,用于将过滤处理后的待发送邮件发送至相应的邮件服务器中。
具体地,根据本发明实施例,上述邮件处理模块302用于:
利用管理进程调用邮件接收进程接收待发送邮件;
通过过滤处理进程从过滤器集群中为待发送邮件确定目标过滤器节点,以对待发送邮件进行过滤识别,使得过滤处理进程根据过滤识别结果对待发送邮件进行过滤处理;
调用邮件发送进程根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器。
通过引入过滤器集群,保障了执行过滤识别的过滤器节点之间的负载均衡,使得邮件能够及时快速地进行过滤识别;同时,当某一个或某几个过滤器节点发生故障时,仍能实现邮件过滤操作,显著提高了邮件传送效率。
进一步地,根据本发明实施例,上述邮件处理模块302还用于:
利用管理进程调用邮件接收进程,以确定邮件接收进程中的缓存槽位数量,并接收不超过缓存槽位数量的待发送邮件。
其中,缓存槽位数量用于控制邮件系统当前能够接收的待发送邮件数量,接收不超过缓存槽位数量的待发送邮件,有助于实现对邮件系统中的流量控制,同时,后续可根据过滤器节点的处理能力等,对该缓存槽位数量进行调整,从而提升流量控制的精确率。
优选地,根据本发明实施例,上述邮件处理模块302还用于:
通过过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;
判断总过滤处理能力是否大于或等于待发送邮件所需的过滤处理能力;
若是,从过滤器集群的当前启动的过滤器节点中,为待发送邮件确定目标过滤器节点;
若否,增加过滤器节点的启动数量,并对总过滤处理能力进行更新,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
示例性地,根据本发明实施例,上述邮件处理模块302还用于:
增加过滤器节点的启动数量,并对过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;
若是,在更新后的总过滤处理能力大于或等于待发送邮件所需的过滤处理能力时,为待发送邮件确定目标过滤器节点。
通过上述设置,结合过滤器节点的处理能力、过滤器节点的数量,以负载均衡的形式,为待发送邮件确定相对应的目标过滤器节点,使得进入处理进程中的全部待发送邮件均能够执行过滤处理,以保障用户信息资产安全,提高邮件过滤效率。
根据本发明实施例,过滤处理后的待发送邮件,通过邮件发送进程将其发送至相应的邮件服务器。由于多个子进程共享同一缓存空间,邮件发送进程每将一封邮件发送至邮件服务器,就表示当前缓存空间中释放一个的空缓存空间槽位。根据本发明实施例的一具体实施方式,可根据当前启动的过滤器节点对应的总过滤处理能力与待发送的邮件进行比对,并结合过滤器节点的响应时间等,来调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,以更好的实现对邮件系统中的流量进行控制。
具体地,根据本发明实施例,上述邮件系统中的流量控制装置300还包括响应时间确定模块,若更新后的总启动数量大于或等于过滤器节点数量阈值时,更新后的总过滤处理能力小于待发送邮件所需的过滤处理能力,上述响应时间确定模块用于:
针对任一过滤器节点,确定过滤器节点的响应时间,判断响应时间是否小于或等于响应时间阈值;
若是,根据响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;
若否,将空缓存空间槽位数量调整为零。
进一步地,根据本发明实施例,上述邮件系统中的流量控制装置300还包括更新模块,在将空缓存空间槽位数量调整为零的步骤之后,更新模块用于:
周期性获取相应过滤器节点的响应时间,在响应时间小于或等于响应时间阈值的情况下,对空缓存空间槽位数量进行更新。
另一方面,根据本发明实施例,当过滤器集群的数量为多个(大于或等于两个)时,若当前过滤器集群中的节点无法及时执行全部发送邮件的过滤识别操作,可将从其他过滤器集群为待发送邮件确定目标过滤器节点。
具体地,根据本发明实施例,过滤器集群的数量为一个或多个,过滤器集群的数量为多个时,若响应时间大于响应时间阈值,邮件处理模块302还用于:
根据当前过滤器集群的总过滤处理能力,为部分待发送邮件确定目标过滤器节点;
从其他过滤器集群的过滤器节点中为剩下的待发送邮件确定目标过滤器节点。
流量控制模块303,用于利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
本发明实施例是在保障待发送邮件能够全部执行过滤处理的前提下保障邮件系统能够安全运行,因此,结合未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
进一步地,根据本发明实施例,上述流量控制模块303还用于:
根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,并确定处理进程中的空缓存空间槽位数量;
根据空缓存空间槽位数量、未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
上述实施例中提及到通过调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例,可以更好的实现对邮件系统中的流量进行控制。因此,根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,可以明确地确定处理进程中的空缓存空间槽位数量,再结合未进行过滤处理的待发送邮件数量以及过滤处理能力,进一步提升了邮件系统中的流量控制效果。
根据本发明实施例的技术方案,因为采用响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制的技术手段,所以克服了现有方法中由于主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率的技术问题,进而达到能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率的技术效果。
图4示出了可以应用本发明实施例的邮件系统中的流量控制方法或邮件系统中的流量控制装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如邮件类应用、网页浏览器应用、搜索类应用、数据处理类工具、邮箱客户端、流量控制软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所(进行流量控制/进行数据处理)的服务器(仅为示例)。该服务器可以对接收到的邮件发送请求等数据进行分析等处理,并将处理结果(例如过滤后的邮件--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的邮件系统中的流量控制方法一般由服务器405执行,相应地,邮件系统中的流量控制装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括进程运行模块、邮件处理模块和流量控制模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,进程运行模块还可以被描述为“用于响应于邮件发送请求,运行邮件系统的管理进程的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
根据本发明实施例的技术方案,因为采用响应于邮件发送请求,运行邮件系统的管理进程;其中,管理进程中创建有处理进程,处理进程为管理进程的子进程,处理进程和管理进程通过匿名管道进行通信;利用管理进程调用处理进程接收待发送邮件,对待发送邮件进行过滤处理,根据邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;利用处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制的技术手段,所以克服了现有方法中由于主要是将邮件发送至不同的邮件服务器节点,再进行邮件过滤,仅仅考虑的邮件服务器之间的负载均衡,并未考虑过滤设备的处理能力,对邮件系统中流量控制的精确度较低,导致邮件系统的运行安全系数降低,还降低了邮件的传输效率的技术问题,进而达到能够利用在管理进程中构建的处理进程,先对邮件进行过滤处理后再发送至邮件服务器,提高了流量控制的准确度,保障了邮件系统的安全运行,提升了邮件传输效率的技术效果。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (9)

1.一种邮件系统中的流量控制方法,其特征在于,包括:
响应于邮件发送请求,运行邮件系统中的管理进程;其中,所述管理进程中创建有匿名管道和处理进程,所述处理进程为所述管理进程的子进程,所述处理进程和所述管理进程通过所述匿名管道进行通信;所述处理进程包括邮件接收进程、过滤处理进程以及邮件发送进程;
利用所述管理进程调用所述处理进程接收待发送邮件,对所述待发送邮件进行过滤处理,根据所述邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;其中,所述利用所述管理进程调用处理进程接收待发送邮件,对所述待发送邮件进行过滤处理,根据所述邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器,包括:
利用所述管理进程调用所述邮件接收进程接收所述待发送邮件;
通过所述过滤处理进程从过滤器集群中为所述待发送邮件确定目标过滤器节点,以对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理;其中,通过所述过滤处理进程从过滤器集群中为所述待发送邮件确定目标过滤器节点,以对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理包括:通过所述过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;判断所述总过滤处理能力是否大于或等于所述待发送邮件所需的过滤处理能力;若所述总过滤处理能力小于所述待发送邮件所需的过滤处理能力,则增加过滤器节点的启动数量,并对所述过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;若更新后的总启动数量小于或等于过滤器节点数量阈值,在更新后的总过滤处理能力大于或等于所述待发送邮件所需的过滤处理能力时,为所述待发送邮件确定目标过滤器节点,以实现对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理;在更新后的总过滤处理能力小于所述待发送邮件所需的过滤处理能力时,针对任一过滤器节点,确定所述过滤器节点的响应时间,判断所述响应时间是否小于或等于响应时间阈值,若是,根据所述响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;若否,将空缓存空间槽位数量调整为零;
调用所述邮件发送进程根据所述邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;
利用所述处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
2.根据权利要求1所述的邮件系统中的流量控制方法,其特征在于,所述利用所述管理进程调用所述邮件接收进程接收所述待发送邮件,包括:
利用所述管理进程调用所述邮件接收进程,以确定所述邮件接收进程中的缓存槽位数量,并接收不超过所述缓存槽位数量的待发送邮件。
3.根据权利要求1所述的邮件系统中的流量控制方法,其特征在于,所述通过所述过滤处理进程从过滤器集群中为所述待发送邮件确定目标过滤器节点,包括:
通过所述过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;
判断所述总过滤处理能力是否大于或等于所述待发送邮件所需的过滤处理能力;
若是,从所述过滤器集群的当前启动的过滤器节点中,为所述待发送邮件确定目标过滤器节点。
4.根据权利要求1所述的邮件系统中的流量控制方法,其特征在于,在所述将空缓存空间槽位数量调整为零的步骤之后,还包括:
周期性获取相应过滤器节点的响应时间,在所述响应时间小于或等于响应时间阈值的情况下,对所述空缓存空间槽位数量进行更新。
5.根据权利要求1所述的邮件系统中的流量控制方法,其特征在于,所述过滤器集群的数量为一个或多个,所述过滤器集群的数量为多个时,若所述响应时间大于所述响应时间阈值,所述方法还包括:
根据当前过滤器集群的总过滤处理能力,为部分待发送邮件确定目标过滤器节点;
从其他过滤器集群的过滤器节点中为剩下的待发送邮件确定目标过滤器节点。
6.根据权利要求1所述的邮件系统中的流量控制方法,其特征在于,所述处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制,还包括:
根据已发送至邮件服务器的邮件数量确定需释放的缓存空间槽位,并确定所述处理进程中的空缓存空间槽位数量;
根据所述空缓存空间槽位数量、未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
7.一种邮件系统中的流量控制装置,其特征在于,包括:
进程运行模块,用于响应于邮件发送请求,运行邮件系统的管理进程;其中,所述管理进程中创建有处理进程和匿名管道,所述处理进程为所述管理进程的子进程,所述处理进程和所述管理进程通过所述匿名管道进行通信;所述处理进程包括邮件接收进程、过滤处理进程以及邮件发送进程;
邮件处理模块,用于利用所述管理进程调用所述处理进程接收待发送邮件,对所述待发送邮件进行过滤处理,根据所述邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;所述邮件处理模块还用于:
利用所述管理进程调用所述邮件接收进程接收所述待发送邮件;
通过所述过滤处理进程从过滤器集群中为所述待发送邮件确定目标过滤器节点,以对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理;其中,所述邮件处理模块用于通过所述过滤处理进程从过滤器集群中为所述待发送邮件确定目标过滤器节点,以对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理包括:通过所述过滤处理进程获取当前启动的过滤器节点数量以及相应的过滤处理能力,以确定总过滤处理能力;判断所述总过滤处理能力是否大于或等于所述待发送邮件所需的过滤处理能力;若所述总过滤处理能力小于所述待发送邮件所需的过滤处理能力,则增加过滤器节点的启动数量,并对所述过滤器节点的总启动数量和总过滤处理能力进行更新,判断更新后的总启动数量是否小于或等于过滤器节点数量阈值;若更新后的总启动数量小于或等于过滤器节点数量阈值,在更新后的总过滤处理能力大于或等于所述待发送邮件所需的过滤处理能力时,为所述待发送邮件确定目标过滤器节点,以实现对所述待发送邮件进行过滤识别,使得所述过滤处理进程根据过滤识别结果对所述待发送邮件进行过滤处理;在更新后的总过滤处理能力小于所述待发送邮件所需的过滤处理能力时,针对任一过滤器节点,确定所述过滤器节点的响应时间,判断所述响应时间是否小于或等于响应时间阈值,若是,根据所述响应时间,调整需释放缓存空间槽位数量与已处理的待发送邮件数量之间的比例;若否,将空缓存空间槽位数量调整为零;
调用所述邮件发送进程根据所述邮件发送请求中的邮件路由记录,将过滤处理后的待发送邮件发送至相应的邮件服务器;
流量控制模块,用于利用所述处理进程根据未进行过滤处理的待发送邮件数量以及过滤处理能力,对所接收到的待发送邮件进行流量控制。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN202111054751.8A 2021-09-09 2021-09-09 一种邮件系统中的流量控制方法和装置 Active CN113595887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111054751.8A CN113595887B (zh) 2021-09-09 2021-09-09 一种邮件系统中的流量控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111054751.8A CN113595887B (zh) 2021-09-09 2021-09-09 一种邮件系统中的流量控制方法和装置

Publications (2)

Publication Number Publication Date
CN113595887A CN113595887A (zh) 2021-11-02
CN113595887B true CN113595887B (zh) 2023-03-24

Family

ID=78241574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111054751.8A Active CN113595887B (zh) 2021-09-09 2021-09-09 一种邮件系统中的流量控制方法和装置

Country Status (1)

Country Link
CN (1) CN113595887B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002044B (zh) * 2022-05-26 2024-03-19 平安银行股份有限公司 控制数据传输的方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101646995A (zh) * 2007-03-26 2010-02-10 国际商业机器公司 用于存储管理器的数据流过滤器和插件

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504897A (en) * 1994-02-22 1996-04-02 Oracle Corporation Method and apparatus for processing electronic mail in parallel
US7146402B2 (en) * 2001-08-31 2006-12-05 Sendmail, Inc. E-mail system providing filtering methodology on a per-domain basis
JP3590936B2 (ja) * 2001-10-06 2004-11-17 テラス テクノロジーズ,インコーポレイテッド 動的ipフィルタリングモジュールを有する電子メールサービスシステム及び動的ipアドレスフィルタリング方法
CN100505710C (zh) * 2005-10-25 2009-06-24 二六三网络通信股份有限公司 一种设置多层反垃圾网关框架的方法
CN100392599C (zh) * 2006-01-10 2008-06-04 杭州东信灵通电子实业公司 通用进程间通信实现方法
CN109388489A (zh) * 2017-08-03 2019-02-26 成都蓝盾网信科技有限公司 一种基于单导系统的多子进程以及进程信号处理的高容错高稳定的技术框架
CN107613313A (zh) * 2017-10-09 2018-01-19 武汉斗鱼网络科技有限公司 一种多个直播视频的播放方法及装置
CN110535758B (zh) * 2019-10-12 2021-10-01 北京明朝万达科技股份有限公司 一种邮件处理方法及装置
CN111866100A (zh) * 2020-07-06 2020-10-30 北京天空卫士网络安全技术有限公司 一种控制数据传输速率的方法、装置和系统
CN112737926B (zh) * 2020-12-30 2023-11-24 平安证券股份有限公司 邮件发送方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101646995A (zh) * 2007-03-26 2010-02-10 国际商业机器公司 用于存储管理器的数据流过滤器和插件

Also Published As

Publication number Publication date
CN113595887A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN109995801B (zh) 一种消息传输方法和装置
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
CN112596920A (zh) 一种消息处理的方法、装置、电子设备和存储介质
CN113595887B (zh) 一种邮件系统中的流量控制方法和装置
CN109669637A (zh) 用于提供容器服务的系统、方法和装置
CN110324384B (zh) 数据推送的方法和装置
CN111726401B (zh) 一种文件传输方法和装置
CN113760522A (zh) 一种任务处理方法和装置
CN113765871B (zh) 堡垒机管理的方法和装置
CN114449040B (zh) 基于云平台的配置下发方法及装置
CN112988800B (zh) 一种基于分布式环境的数据处理方法和装置
CN115442129A (zh) 一种管理集群访问权限的方法、装置和系统
CN114374657A (zh) 一种数据处理方法和装置
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN114265692A (zh) 服务调度方法、装置、设备以及存储介质
CN113064620A (zh) 一种处理系统数据的方法和装置
CN110888770B (zh) 用于发送信息的方法和装置
US11032375B2 (en) Automatic scaling for communications event access through a stateful interface
CN112306371A (zh) 存储管理的方法、设备和计算机程序产品
CN111210349A (zh) 虚拟资产的转托管方法、装置、电子设备和存储介质
CN112099841A (zh) 一种生成配置文件的方法和系统
CN111179097B (zh) 保单批改的方法、装置、电子设备和存储介质
CN116112880B (zh) 基于mq的高并发短信发送方法和装置
CN110933122A (zh) 管理服务器的方法、设备和计算机存储介质
CN114513547B (zh) 模块的节点调度方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant