首页> 中国专利> 电子邮件到达消息提醒的方法及系统

电子邮件到达消息提醒的方法及系统

摘要

本发明公开了一种电子邮件到达消息提醒的方法及系统,所述方法包括:邮件落信服务器接收到电子邮件后推送该电子邮件的邮件到达通知;通知分发服务器的通知接收模块接收到邮件到达通知后存于缓存队列中;通知分发服务器的子进程创建模块依次读取邮件到达通知,为每个邮件到达通知创建一个通知处理子进程,将该邮件到达通知传入其中;每个通知处理子进程解析出收件方邮箱地址,确定出其所绑定的社交通讯工具的账号,向对应该社交通讯工具的消息推送服务器发送消息推送请求;消息推送服务器解析出社交通讯工具的账号;调用该社交通讯工具的服务器提供的消息推送接口,向该社交通讯工具的账号推送所述消息内容。从而实现了电子邮件到达消息提醒。

著录项

  • 公开/公告号CN103491170A

    专利类型发明专利

  • 公开/公告日2014-01-01

    原文格式PDF

  • 申请/专利权人 新浪网技术(中国)有限公司;

    申请/专利号CN201310439581.4

  • 发明设计人 宋健;

    申请日2013-09-24

  • 分类号H04L29/08;H04L12/861;H04L12/58;

  • 代理机构北京市京大律师事务所;

  • 代理人张璐

  • 地址 100080 北京市海淀区北四环西路58号理想国际大厦20层

  • 入库时间 2024-02-19 22:10:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-28

    专利权的转移 IPC(主分类):H04L29/08 专利号:ZL2013104395814 登记生效日:20230418 变更事项:专利权人 变更前权利人:新浪网技术(中国)有限公司 变更后权利人:新浪技术(中国)有限公司 变更事项:地址 变更前权利人:100080 北京市海淀区北四环西路58号理想国际大厦20层 变更后权利人:100193 北京市海淀区北旺西路中关村软件园二期(西扩)N-1、N-2地块新浪总部科研楼5层501-502室

    专利申请权、专利权的转移

  • 2017-03-29

    授权

    授权

  • 2014-02-05

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20130924

    实质审查的生效

  • 2014-01-01

    公开

    公开

说明书

技术领域

本发明涉及互联网领域,尤其涉及一种电子邮件到达消息提醒的方法及 系统。

背景技术

电子邮件(electronic mail)是一种用电子手段提供信息交换的通信方式, 是Internet(互联网)应用最广的服务;通过网络的电子邮件发送系统,用户 可以快速、低廉的方式与其他网络用户联系。

在电子邮件发送过程中,收件方邮箱地址所在的服务器接收到电子邮件 后,将各电子邮件分发到对应的邮件落信服务器;邮件落信服务器会将该电 子邮件落信到收件方邮箱地址所对应的用户邮件夹中(即用户目录中);这 样,收件方可以通过客户端登录到邮件落信服务器从本用户邮件夹中读取到 该电子邮件。

为便于用户及时读取到他人发送到自己邮箱中的电子邮件,运营商往往 会为用户提供邮件到达消息提醒的功能,即通过向用户的邮箱地址所绑定的 社交通讯工具的账号发送邮件到达消息提醒,来提醒用户有新邮件到达。本 文中所称的社交通讯工具可以包括常用的社交网站的客户端软件工具(如微 博、人人网等),常用的即时通讯工具(如QQ、飞信等),以及手机短信 等。

现有的电子邮件到达消息提醒的方法的流程,如图1所示,包括如下步 骤:

S101:社交通讯工具每隔设定时间段,主动向邮件落信服务器发送查询 请求,该查询请求中携带有用户的邮箱地址。

具体地,用户可以在社交通讯工具的设置页面内,勾选接收邮件到达消 息提醒选项,将用户的邮箱地址与社交通讯工具的账号进行绑定;这样,社 交通讯工具每隔设定时间段,主动通过Web、或POP3、或imap的接口服务, 向邮件落信服务器发送查询请求,该查询请求中携带有用户的邮箱地址 (e-mail地址);其中,设定时间段可由本领域技术人员进行设定。

S102:邮件落信服务器根据查询请求中携带的邮箱地址,查询在该设定 时间段内,该邮箱地址所对应的用户邮件夹中是否有电子邮件到达;若有, 则执行步骤S103;若没有,则忽略该查询请求。

S103:邮件落信服务器向该邮箱地址所绑定的社交通讯工具的账号返回 邮件到达消息提醒。

例如,若在该设定时间段内,有十封电子邮件落信到邮件落信服务器, 查询请求中携带的邮箱地址所对应的用户邮件夹中有两封电子邮件到达,则 邮件落信服务器根据到达的电子邮件数向该邮箱地址所绑定的社交通讯工具 的账号返回邮件到达消息提醒,如微博私信的“2封新私信”消息提醒,以 提醒用户有新邮件到达。

然而,上述的方法中,即使没有新邮件到达的邮箱地址所绑定的社交通 讯工具也会每隔设定时间段向邮件落信服务器请求查询;而且,为保证新邮 件到达后,及时提醒用户,通常设定时间段不会太长;这就造成短时间内查 询请求量非常大,易导致邮件落信服务器因查询量巨大而造成瘫痪;且随着 互联网的普及,电子邮件用户量逐渐增长,这将使得邮件落信服务器所接收 的查询请求也会相应增长;因此,有必要提供一种既能实现电子邮件到达消 息提醒,又可避免邮件落信服务器瘫痪的实现电子邮件到达消息提醒的方法。

发明内容

针对上述现有技术存在的缺陷,本发明提供了一种电子邮件到达消息提醒 的方法及系统,用以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到 达消息提醒。

本发明提供了一种电子邮件到达消息提醒的方法,包括:

邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮 件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;

所述通知分发服务器的通知接收模块将接收到的所述邮件到达通知存于 缓存队列中;

所述通知分发服务器的子进程创建模块从所述缓存队列中依次读取邮件 到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后, 将该邮件到达通知传入到该通知处理子进程中;

每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知 中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具 的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯 工具的账号的消息推送请求;之后,本通知处理子进程退出;

所述消息推送服务器接收到消息推送请求后,解析出该消息推送请求中 的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接 口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传 入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推 送所述消息内容。

较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器 推送该电子邮件的邮件到达通知,具体包括:

所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中 写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮 件的收件方邮箱地址;

所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到 达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。

较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的 关键字用以指示出其所在行为邮件到达日志行;以及

所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中的每行 邮件到达日志行,具体为:

所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中包括所 述行标识的关键字的邮件到达日志行。

本发明还提供了一种电子邮件到达消息提醒的方法,包括:

邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮 件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;

所述消息推送服务器接收到所述邮件到达通知后,解析出其中的收件方 邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并

调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具 的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口 中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。

较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器 推送该电子邮件的邮件到达通知,具体包括:

所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中 写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮 件的收件方邮箱地址;

所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到 达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。

本发明提供了一种实现电子邮件到达消息提醒的系统,包括:

邮件落信服务器,用于在接收到电子邮件后,推送携带有该电子邮件的 收件方邮箱地址的邮件到达通知;

消息推送服务器,用于接收到所述邮件到达通知后,解析出其中的收件 方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并调 用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号 以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过 所述消息推送接口向该社交通讯工具的账号推送所述消息内容。

较佳地,所述邮件落信服务器具体包括:

邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子 邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱 地址;

日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其 携带于所述邮件到达通知中向所述消息推送服务器发送。

本发明还提供了一种电子邮件到达消息提醒的系统,包括:邮件落信服 务器、通知分发服务器和消息推送服务器;其中,

所述邮件落信服务器用于在接收到电子邮件后,推送携带有该电子邮件 的收件方邮箱地址的邮件到达通知;

所述通知分发服务器包括:通知接收模块、子进程创建模块;所述通知 接收模块用于将接收到的所述邮件到达通知存于缓存队列中;所述子进程创 建模块用于从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮 件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知 处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析 出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号 后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的 账号的消息推送请求;之后,本通知处理子进程退出;

所述消息推送服务器用于接收到消息推送请求后,解析出该消息推送请 求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送 接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数 传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号 推送所述消息内容。

较佳地,所述邮件落信服务器具体包括:

邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子 邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱 地址;

日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其 携带于所述邮件到达通知中向所述消息推送服务器发送。

较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的 关键字用以指示出其所在行为邮件到达日志行;以及

所述日志发送模块具体用于依次读取所述邮件日志中包括所述行标识的 关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送 服务器发送。

本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向消息推送 服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的收件方邮 箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号,调用相应 的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避免了社交 通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务器瘫痪, 从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒。

本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向通知分发 服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知存入缓存 队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每个邮件到 达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子进程向对 应的消息推送服务器发送消息推送请求;并由各消息推送服务器来处理消息 推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落信服务器瘫 痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方式并行进行 邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的问题,从 而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的推送速度。

进一步,本发明的技术方案中,消息推送服务器对应于社交通讯工具, 若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发明实施例 二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工具的消息 推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内容到该社 交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好扩展性。

附图说明

图1为现有技术的电子邮件到达消息提醒的方法的流程图;

图2为本发明实施例一的电子邮件到达消息提醒的系统的架构图;

图3为本发明实施例一的电子邮件到达消息提醒的方法的流程图;

图4为本发明实施例二的电子邮件到达消息提醒的系统的架构图;

图5为本发明实施例二的电子邮件到达消息提醒的方法的流程图。

具体实施方式

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

本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例 如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可 以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执 行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算 设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内, 一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。

本发明的发明人考虑到,可以在邮件落信服务器接收到发件方的电子邮件 后,由实现电子邮件到达消息提醒的系统推送邮件到达消息提醒到该电子邮件 的收件方邮箱地址所绑定的社交通讯工具的账号;从而,尽量减少社交通讯工 具主动发送到邮件落信服务器的大量的查询请求,减轻邮件落信服务器的负担, 以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到达消息提醒。

基于上述的思路,本发明提供了两个实施例来实现电子邮件到达消息提醒 的技术方案;其中,实施例一的技术方案中,实现电子邮件到达消息提醒的系 统通过单进程的方式处理邮件到达通知,以实现电子邮件到达消息提醒的推送; 实施例二的技术方案中,实现电子邮件到达消息提醒的系统通过多进程的方式 并行处理邮件到达通知,以实现电子邮件到达消息提醒的推送。

下面结合附图详细说明本发明的技术方案。

实施例一

本发明实施例一提供的电子邮件到达消息提醒的系统的架构图,如图2所 示,包括:邮件落信服务器201和消息推送服务器202。

邮件落信服务器201在接收到电子邮件后,向消息推送服务器202发送 该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方 邮箱地址。

消息推送服务器202接收到邮件落信服务器201发送的邮件到达通知后, 解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工 具的账号;之后,调用该社交通讯工具的服务器中的消息推送接口,将该社交 通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接 口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消息提醒的 消息内容。

其中,社交通讯工具的服务器是支持社交通讯工具实现即时通讯功能的平 台,如实现微博的即时通讯功能的微博服务器,实现QQ的即时通讯功能的QQ 服务器,实现MSN的即使通讯功能的MSN服务器;而且,社交通讯工具的服 务器中存储有所述消息推送接口,如OpenAPI。

基于实施例一的电子邮件到达消息提醒的系统,本发明实施例一提供的电 子邮件到达消息提醒的方法,流程图如图3所示,具体包括如下步骤:

S301:邮件落信服务器201在接收到电子邮件后,向消息推送服务器202 推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收 件方邮箱地址。

具体地,邮件落信服务器201在接收到电子邮件后,将该电子邮件落信 到该电子邮件的收件方邮箱地址所对应的用户邮件夹中,并向消息推送服务 器202推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮 件的收件方邮箱地址,还可携带有该电子邮件的标题、发件方用户名和发件 方邮箱地址等;

更优地,邮件落信服务器201具体包括邮件落信模块和日志发送模块; 邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电 子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮 箱地址,还可包括行标识的关键字,例如,--!!pvt_m$g!!--;

日志发送模块是特定配置的syslog-ng模块,可根据行标识的关键字,依 次读取邮件日志中包括该行标识的关键字的邮件到达日志行,将其携带于邮 件到达通知中向消息推送服务器202推送。

通常,在消息推送服务器202宕掉后,邮件落信服务器201接收不到消 息推送服务器202返回的接收邮件到达通知成功的结果;若邮件落信服务器 201在邮件日志中写入邮件到达日志行,则在消息推送服务器202恢复后, 邮件落信服务器201仍可读取出邮件日志中的邮件到达日志行,将其携带于 邮件到达通知中进行推送,因此,不会因消息推送服务器202宕掉而产生丢 失邮件到达通知的问题,更好地保证了邮件到达消息提醒的安全性。

S302:消息推送服务器202接收到邮件到达通知后,解析出其中的收件 方邮箱地址。

具体地,消息推送服务器202接收到邮件落信服务器201推送的邮件到 达通知后,执行本地脚本程序,解析出其中的收件方邮箱地址;进一步,还 可解析出其中的标题、发件方用户名和发件方邮箱地址等。

S303:消息推送服务器202确定出该收件方邮箱地址所绑定的社交通讯 工具的账号。

具体地,消息推送服务器202中的数据库中存储有邮箱地址与社交通讯 工具的账号的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱 地址所绑定的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮 箱地址的字段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账 号的信息中具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用 于在该社交通讯工具中注册的账号。例如,邮箱地址a@a.com与微博的账号 绑定,邮箱地址b@b.com与QQ的账号绑定;

在本步骤中,消息推送服务器202根据上述步骤S303解析出的收件方 邮箱地址,查找本服务器的数据库中的绑定规则,确定出该收件方邮箱地址 所绑定的社交通讯工具的账号。

S304:消息推送服务器202调用该社交通讯工具的服务器中的消息推送 接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数 传入消息推送接口中。

具体地,消息推送服务器202在上述步骤S303中确定出收件方邮箱地 址所绑定的社交通讯工具的账号后,在本步骤中,调用该社交通讯工具的服 务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的 消息内容作为参数传入消息推送接口中。

其中,邮件到达消息提醒的消息内容由消息推送服务器来生成,例如, 邮件到达消息提醒的消息内容可以为:新邮件到达;

进一步,消息推送服务器还可根据解析出的电子邮件的标题、发件方用 户名和发件方邮箱地址等生成邮件到达消息提醒的消息内容,例如,电子邮 件的标题为:efgh,发件方用户名为:张三,发件方邮箱地址为:c@c.com, 生成的邮件到达消息提醒的消息内容可以为:“张三”c@c.com向您发送了 标题为efgh的电子邮件。

S305:消息推送接口根据传入的社交通讯工具的账号以及邮件到达消息 提醒的消息内容,向社交通讯工具的账号发送邮件到达消息提醒的消息内容。

这样,用户可以根据其邮箱地址所绑定的社交通讯工具的账号,在社交 通讯工具的用户界面内读取到该邮件到达消息提醒的消息内容。

本发明实施例一的技术方案中,邮件落信服务器在接收到电子邮件后,向 消息推送服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的 收件方邮箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号, 调用相应的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避 免了社交通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务 器瘫痪,从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达 消息提醒。

实施例二

本发明实施例二提供的电子邮件到达消息提醒的系统的架构图,如图4所 示,包括:邮件落信服务器401、通知分发服务器403和消息推送服务器402。

邮件落信服务器401的功能与上述邮件落信服务器201的功能相同,此处 不再赘述。

通知分发服务器403包括:通知接收模块和子进程创建模块;通知接收模 块用于接收到邮件落信服务器401发送的邮件到达通知后,将其存入缓存队列 中;子进程创建模块用于依次读取出缓存队列中的邮件到达通知,并为每个读 取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入 到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通 知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工 具的账号后,向对应该社交通讯工具的消息推送服务器402发送携带有该社 交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出。

消息推送服务器402的数据库中存储有邮箱地址与社交通讯工具的账号 的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱地址所绑定 的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮箱地址的字 段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账号的信息中 具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用于在该社交 通讯工具中注册的账号。

而且,对于每种社交通讯工具,分别配备有该种社交通讯工具的消息推送 服务器;比如,QQ社交通讯工具配备有QQ消息推送服务器,微博社交通讯 工具配备有微博消息推送服务器,MSN社交通讯工具配备有MSN消息推送服 务器等。

消息推送服务器402接收到消息推送请求后,解析出该消息推送请求中的 社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口, 将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消 息推送接口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消 息提醒的消息内容。

其中,社交通讯工具的服务器与实施例一中相同,此处不再赘述。

基于实施例二的电子邮件到达消息提醒的系统,本发明实施例二提供的电 子邮件到达消息提醒的方法,流程图如图5所示,具体包括如下步骤:

S501:邮件落信服务401在接收到电子邮件后,向通知分发服务器403 推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收 件方邮箱地址。

具体地,邮件落信服务器401具体包括邮件落信模块和日志发送模块; 邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电 子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮 箱地址,还可包括行标识的关键字,例如--!!pvt_m$g!!--;

日志发送模块可根据行标识的关键字,依次读取邮件日志中包括该行标 识的关键字的邮件到达日志行,将其携带于邮件到达通知中向通知分发服务 器403推送。

S502:通知分发服务器403的通知接收模块接收到邮件到达通知后,将 其存入缓存队列中。

S503:通知分发服务器403的子进程创建模块从缓存队列中依次读取邮 件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后, 将该邮件到达通知传入到该通知处理子进程中。

S504:每个创建的通知处理子进程,从传入本通知处理子进程的邮件到 达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通 讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社 交通讯工具的账号的消息推送请求。

在本步骤中通知处理子进程发送消息推送请求后,本通知处理子进程退 出,以释放缓存。

上述实施例一中图3所示的实现电子邮件消息到达提醒的方法中,消息 推送服务器202以单进程的方式处理邮件到达通知,接收到邮件到达通知后, 先将其存入缓存队列中,每处理完一个邮件到达通知,在缓存队列中取出下 一个邮件到达通知进行处理;由于接收邮件到达通知比处理邮件到达通知的 速度快得多,这样容易导致处理邮件到达通知的缓存很快就满了,造成丢失 邮件到达通知的现象,也导致了相应邮件到达消息提醒的丢失;

本实施例二中,创建了多个通知处理子进程,以多进程的方式并行处理 邮件到达通知,每个创建的通知处理子进程向消息推送服务器发送消息推送 请求后,退出本通知处理子进程,释放缓存,从而,避免单进程缓存易满的 问题,相应避免了邮件到达消息提醒的丢失,也提升了邮件到达消息提醒推 送的速度。

S505:消息推送服务器402接收到消息发送请求后,解析出该消息发送 请求中的社交通讯工具的账号。

S506:消息推送服务器402调用该社交通讯工具的服务器提供的消息推 送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参 数传入其中。

S507:消息推送接口向该社交通讯工具的账号发送邮件到达消息提醒的 消息内容。

本发明实施例二的技术方案中,邮件落信服务器在接收到电子邮件后,向 通知分发服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知 存入缓存队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每 个邮件到达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子 进程向对应的消息推送服务器发送消息推送请求;并由各消息推送服务器来 处理消息推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落 信服务器瘫痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方 式并行进行邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的 问题,从而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的 推送速度。

进一步,本发明实施例二的技术方案中,消息推送服务器对应于社交通 讯工具,若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发 明实施例二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工 具的消息推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内 容到该社交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好 扩展性。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号