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

文档序号:7771522
电子邮件到达消息提醒的方法及系统的制作方法
【专利摘要】本发明公开了一种电子邮件到达消息提醒的方法及系统,所述方法包括:邮件落信服务器接收到电子邮件后推送该电子邮件的邮件到达通知;通知分发服务器的通知接收模块接收到邮件到达通知后存于缓存队列中;通知分发服务器的子进程创建模块依次读取邮件到达通知,为每个邮件到达通知创建一个通知处理子进程,将该邮件到达通知传入其中;每个通知处理子进程解析出收件方邮箱地址,确定出其所绑定的社交通讯工具的账号,向对应该社交通讯工具的消息推送服务器发送消息推送请求;消息推送服务器解析出社交通讯工具的账号;调用该社交通讯工具的服务器提供的消息推送接口,向该社交通讯工具的账号推送所述消息内容。从而实现了电子邮件到达消息提醒。
【专利说明】电子邮件到达消息提醒的方法及系统
【技术领域】
[0001]本发明涉及互联网领域,尤其涉及一种电子邮件到达消息提醒的方法及系统。
【背景技术】
[0002]电子邮件(electronic mail)是一种用电子手段提供信息交换的通信方式,是Internet (互联网)应用最广的服务;通过网络的电子邮件发送系统,用户可以快速、低廉的方式与其他网络用户联系。
[0003]在电子邮件发送过程中,收件方邮箱地址所在的服务器接收到电子邮件后,将各电子邮件分发到对应的邮件落信服务器;邮件落信服务器会将该电子邮件落信到收件方邮箱地址所对应的用户邮件夹中(即用户目录中);这样,收件方可以通过客户端登录到邮件落信服务器从本用户邮件夹中读取到该电子邮件。
[0004]为便于用户及时读取到他人发送到自己邮箱中的电子邮件,运营商往往会为用户提供邮件到达消息提醒的功能,即通过向用户的邮箱地址所绑定的社交通讯工具的账号发送邮件到达消息提醒,来提醒用户有新邮件到达。本文中所称的社交通讯工具可以包括常用的社交网站的客户端软件工具(如微博、人人网等),常用的即时通讯工具(如QQ、飞信等),以及手机短信等。
[0005]现有的电子邮件到达消息提醒的方法的流程,如图1所示,包括如下步骤:
[0006]SlOl:社交通讯工具每隔设定时间段,主动向邮件落信服务器发送查询请求,该查询请求中携带有用户的邮箱地址。
[0007]具体地,用户可以在社交通讯工具的设置页面内,勾选接收邮件到达消息提醒选项,将用户的邮箱地址与社交通讯工具的账号进行绑定;这样,社交通讯工具每隔设定时间段,主动通过Web、或POP3、或imap的接口服务,向邮件落信服务器发送查询请求,该查询请求中携带有用户的邮箱地址(e-mail地址);其中,设定时间段可由本领域技术人员进行设定。
[0008]S102:邮件落信服务器根据查询请求中携带的邮箱地址,查询在该设定时间段内,该邮箱地址所对应的用户邮件夹中是否有电子邮件到达;若有,则执行步骤S103 ;若没有,则忽略该查询请求。
[0009]S103:邮件落信服务器向该邮箱地址所绑定的社交通讯工具的账号返回邮件到达消息提醒。
[0010]例如,若在该设定时间段内,有十封电子邮件落信到邮件落信服务器,查询请求中携带的邮箱地址所对应的用户邮件夹中有两封电子邮件到达,则邮件落信服务器根据到达的电子邮件数向该邮箱地址所绑定的社交通讯工具的账号返回邮件到达消息提醒,如微博私信的“2封新私信”消息提醒,以提醒用户有新邮件到达。
[0011]然而,上述的方法中,即使没有新邮件到达的邮箱地址所绑定的社交通讯工具也会每隔设定时间段向邮件落信服务器请求查询;而且,为保证新邮件到达后,及时提醒用户,通常设定时间段不会太长;这就造成短时间内查询请求量非常大,易导致邮件落信服务器因查询量巨大而造成瘫痪;且随着互联网的普及,电子邮件用户量逐渐增长,这将使得邮件落信服务器所接收的查询请求也会相应增长;因此,有必要提供一种既能实现电子邮件到达消息提醒,又可避免邮件落信服务器瘫痪的实现电子邮件到达消息提醒的方法。

【发明内容】

[0012]针对上述现有技术存在的缺陷,本发明提供了一种电子邮件到达消息提醒的方法及系统,用以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到达消息提醒。
[0013]本发明提供了一种电子邮件到达消息提醒的方法,包括:
[0014]邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;
[0015]所述通知分发服务器的通知接收模块将接收到的所述邮件到达通知存于缓存队列中;
[0016]所述通知分发服务器的子进程创建模块从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;
[0017]每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
[0018]所述消息推送服务器接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
[0019]较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括:
[0020]所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
[0021]所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
[0022]较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
[0023]所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中的每行邮件到达日志行,具体为:
[0024]所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行。
[0025]本发明还提供了一种电子邮件到达消息提醒的方法,包括:
[0026]邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址;[0027]所述消息推送服务器接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并
[0028]调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
[0029]较佳地,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括:
[0030]所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
[0031]所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
[0032]本发明提供了一种实现电子邮件到达消息提醒的系统,包括:
[0033]邮件落信服务器,用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
[0034]消息推送服务器,用于接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
[0035]较佳地,所述邮件落信服务器具体包括:
[0036]邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
[0037]日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
[0038]本发明还提供了一种电子邮件到达消息提醒的系统,包括:邮件落信服务器、通知分发服务器和消息推送服务器;其中,
[0039]所述邮件落信服务器用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知;
[0040]所述通知分发服务器包括:通知接收模块、子进程创建模块;所述通知接收模块用于将接收到的所述邮件到达通知存于缓存队列中;所述子进程创建模块用于从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出;
[0041]所述消息推送服务器用于接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
[0042]较佳地,所述邮件落信服务器具体包括:
[0043]邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址;
[0044]日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
[0045]较佳地,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及
[0046]所述日志发送模块具体用于依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
[0047]本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向消息推送服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的收件方邮箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号,调用相应的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避免了社交通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务器瘫痪,从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒。
[0048]本发明的技术方案中,邮件落信服务器在接收到电子邮件后,向通知分发服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知存入缓存队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每个邮件到达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子进程向对应的消息推送服务器发送消息推送请求;并由各消息推送服务器来处理消息推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方式并行进行邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的问题,从而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的推送速度。
[0049]进一步,本发明的技术方案中,消息推送服务器对应于社交通讯工具,若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发明实施例二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工具的消息推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内容到该社交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好扩展性。
【专利附图】

【附图说明】
[0050]图1为现有技术的电子邮件到达消息提醒的方法的流程图;
[0051]图2为本发明实施例一的电子邮件到达消息提醒的系统的架构图;
[0052]图3为本发明实施例一的电子邮件到达消息提醒的方法的流程图;
[0053]图4为本发明实施例二的电子邮件到达消息提醒的系统的架构图;
[0054]图5为本发明实施例二的电子邮件到达消息提醒的方法的流程图。
【具体实施方式】
[0055]以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
[0056]本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内,一个模块也可以位于一台计算机上和/或分布于两台或更多台计算机之间。
[0057]本发明的发明人考虑到,可以在邮件落信服务器接收到发件方的电子邮件后,由实现电子邮件到达消息提醒的系统推送邮件到达消息提醒到该电子邮件的收件方邮箱地址所绑定的社交通讯工具的账号;从而,尽量减少社交通讯工具主动发送到邮件落信服务器的大量的查询请求,减轻邮件落信服务器的负担,以在不导致邮件落信服务器瘫痪的前提下,实现电子邮件到达消息提醒。
[0058]基于上述的思路,本发明提供了两个实施例来实现电子邮件到达消息提醒的技术方案;其中,实施例一的技术方案中,实现电子邮件到达消息提醒的系统通过单进程的方式处理邮件到达通知,以实现电子邮件到达消息提醒的推送;实施例二的技术方案中,实现电子邮件到达消息提醒的系统通过多进程的方式并行处理邮件到达通知,以实现电子邮件到达消息提醒的推送。
[0059]下面结合附图详细说明本发明的技术方案。
[0060]实施例一
[0061]本发明实施例一提供的电子邮件到达消息提醒的系统的架构图,如图2所示,包括:邮件落信服务器201和消息推送服务器202。
[0062]邮件落信服务器201在接收到电子邮件后,向消息推送服务器202发送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
[0063]消息推送服务器202接收到邮件落信服务器201发送的邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;之后,调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消息提醒的消息内容。
[0064]其中,社交通讯工具的服务器是支持社交通讯工具实现即时通讯功能的平台,如实现微博的即时通讯功能的微博服务器,实现QQ的即时通讯功能的QQ服务器,实现MSN的即使通讯功能的MSN服务器;而且,社交通讯工具的服务器中存储有所述消息推送接口,如OpenAP10
[0065]基于实施例一的电子邮件到达消息提醒的系统,本发明实施例一提供的电子邮件到达消息提醒的方法,流程图如图3所示,具体包括如下步骤:
[0066]S301:邮件落信服务器201在接收到电子邮件后,向消息推送服务器202推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
[0067]具体地,邮件落信服务器201在接收到电子邮件后,将该电子邮件落信到该电子邮件的收件方邮箱地址所对应的用户邮件夹中,并向消息推送服务器202推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址,还可携带有该电子邮件的标题、发件方用户名和发件方邮箱地址等;
[0068]更优地,邮件落信服务器201具体包括邮件落信模块和日志发送模块;邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址,还可包括行标识的关键字,例如,一! !pvt_m$g! !—;
[0069]日志发送模块是特定配置的syslog-ng模块,可根据行标识的关键字,依次读取邮件日志中包括该行标识的关键字的邮件到达日志行,将其携带于邮件到达通知中向消息推送服务器202推送。
[0070]通常,在消息推送服务器202宕掉后,邮件落信服务器201接收不到消息推送服务器202返回的接收邮件到达通知成功的结果;若邮件落信服务器201在邮件日志中写入邮件到达日志行,则在消息推送服务器202恢复后,邮件落信服务器201仍可读取出邮件日志中的邮件到达日志行,将其携带于邮件到达通知中进行推送,因此,不会因消息推送服务器202宕掉而产生丢失邮件到达通知的问题,更好地保证了邮件到达消息提醒的安全性。
[0071]S302:消息推送服务器202接收到邮件到达通知后,解析出其中的收件方邮箱地址。
[0072]具体地,消息推送服务器202接收到邮件落信服务器201推送的邮件到达通知后,执行本地脚本程序,解析出其中的收件方邮箱地址;进一步,还可解析出其中的标题、发件方用户名和发件方邮箱地址等。
[0073]S303:消息推送服务器202确定出该收件方邮箱地址所绑定的社交通讯工具的账号。
[0074]具体地,消息推送服务器202中的数据库中存储有邮箱地址与社交通讯工具的账号的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱地址所绑定的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮箱地址的字段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账号的信息中具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用于在该社交通讯工具中注册的账号。例如,邮箱地址a@a.com与微博的账号绑定,邮箱地址b@b.com与QQ的账号绑定;
[0075]在本步骤中,消息推送服务器202根据上述步骤S303解析出的收件方邮箱地址,查找本服务器的数据库中的绑定规则,确定出该收件方邮箱地址所绑定的社交通讯工具的账号。
[0076]S304:消息推送服务器202调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中。
[0077]具体地,消息推送服务器202在上述步骤S303中确定出收件方邮箱地址所绑定的社交通讯工具的账号后,在本步骤中,调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中。
[0078]其中,邮件到达消息提醒的消息内容由消息推送服务器来生成,例如,邮件到达消息提醒的消息内容可以为:新邮件到达;
[0079]进一步,消息推送服务器还可根据解析出的电子邮件的标题、发件方用户名和发件方邮箱地址等生成邮件到达消息提醒的消息内容,例如,电子邮件的标题为:efgh,发件方用户名为:张三,发件方邮箱地址为:C@C.com,生成的邮件到达消息提醒的消息内容可以为:“张三” c@c.com向您发送了标题为efgh的电子邮件。
[0080]S305:消息推送接口根据传入的社交通讯工具的账号以及邮件到达消息提醒的消息内容,向社交通讯工具的账号发送邮件到达消息提醒的消息内容。
[0081]这样,用户可以根据其邮箱地址所绑定的社交通讯工具的账号,在社交通讯工具的用户界面内读取到该邮件到达消息提醒的消息内容。
[0082]本发明实施例一的技术方案中,邮件落信服务器在接收到电子邮件后,向消息推送服务器推送邮件到达通知;消息推送服务器解析出邮件到达通知中的收件方邮箱地址,并确定出该收件方邮箱地址所绑定的社交通讯工具的账号,调用相应的消息推送接口,向社交通讯工具的账号推送邮件到达消息提醒;避免了社交通讯工具向邮件落信服务器发送大量的查询请求而导致邮件落信服务器瘫痪,从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒。
[0083]实施例二
[0084]本发明实施例二提供的电子邮件到达消息提醒的系统的架构图,如图4所示,包括:邮件落信服务器401、通知分发服务器403和消息推送服务器402。
[0085]邮件落信服务器401的功能与上述邮件落信服务器201的功能相同,此处不再赘述。
[0086]通知分发服务器403包括:通知接收模块和子进程创建模块;通知接收模块用于接收到邮件落信服务器401发送的邮件到达通知后,将其存入缓存队列中;子进程创建模块用于依次读取出缓存队列中的邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器402发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出。
[0087]消息推送服务器402的数据库中存储有邮箱地址与社交通讯工具的账号的绑定规则的数据表,该数据表中记录了邮箱地址以及与该邮箱地址所绑定的社交通讯工具的账号的信息;具体地,数据表的字段包括:邮箱地址的字段与社交通讯工具的账号的信息的字段;所述社交通讯工具的账号的信息中具体包括了该社交通讯工具的名称,比如QQ、微博等,以及用于在该社交通讯工具中注册的账号。
[0088]而且,对于每种社交通讯工具,分别配备有该种社交通讯工具的消息推送服务器;比如,QQ社交通讯工具配备有QQ消息推送服务器,微博社交通讯工具配备有微博消息推送服务器,MSN社交通讯工具配备有MSN消息推送服务器等。
[0089]消息推送服务器402接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入消息推送接口中,通过消息推送接口向该社交通讯工具的账号推送邮件到达消息提醒的消息内容。
[0090]其中,社交通讯工具的服务器与实施例一中相同,此处不再赘述。
[0091]基于实施例二的电子邮件到达消息提醒的系统,本发明实施例二提供的电子邮件到达消息提醒的方法,流程图如图5所示,具体包括如下步骤:
[0092]S501:邮件落信服务401在接收到电子邮件后,向通知分发服务器403推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址。
[0093]具体地,邮件落信服务器401具体包括邮件落信模块和日志发送模块;邮件落信模块在接收到电子邮件后向本服务器中的邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址,还可包括行标识的关键字,例如一! !pvt_m$g! !—;
[0094]日志发送模块可根据行标识的关键字,依次读取邮件日志中包括该行标识的关键字的邮件到达日志行,将其携带于邮件到达通知中向通知分发服务器403推送。
[0095]S502:通知分发服务器403的通知接收模块接收到邮件到达通知后,将其存入缓存队列中。
[0096]S503:通知分发服务器403的子进程创建模块从缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中。
[0097]S504:每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求。
[0098]在本步骤中通知处理子进程发送消息推送请求后,本通知处理子进程退出,以释放缓存。
[0099]上述实施例一中图3所示的实现电子邮件消息到达提醒的方法中,消息推送服务器202以单进程的方式处理邮件到达通知,接收到邮件到达通知后,先将其存入缓存队列中,每处理完一个邮件到达通知,在缓存队列中取出下一个邮件到达通知进行处理;由于接收邮件到达通知比处理邮件到达通知的速度快得多,这样容易导致处理邮件到达通知的缓存很快就满了,造成丢失邮件到达通知的现象,也导致了相应邮件到达消息提醒的丢失;
[0100]本实施例二中,创建了多个通知处理子进程,以多进程的方式并行处理邮件到达通知,每个创建的通知处理子进程向消息推送服务器发送消息推送请求后,退出本通知处理子进程,释放缓存,从而,避免单进程缓存易满的问题,相应避免了邮件到达消息提醒的丢失,也提升了邮件到达消息提醒推送的速度。
[0101]S505:消息推送服务器402接收到消息发送请求后,解析出该消息发送请求中的社交通讯工具的账号。
[0102]S506:消息推送服务器402调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入其中。
[0103]S507:消息推送接口向该社交通讯工具的账号发送邮件到达消息提醒的消息内容。
[0104]本发明实施例二的技术方案中,邮件落信服务器在接收到电子邮件后,向通知分发服务器推送邮件到达通知;通知分发服务器将接收到的邮件到达通知存入缓存队列中,并依次读取出缓存队列中的邮件到达通知,对于读取出的每个邮件到达通知,创建对应该邮件到达通知的子进程;每个创建的通知处理子进程向对应的消息推送服务器发送消息推送请求;并由各消息推送服务器来处理消息推送请求,进行邮件到达消息提醒的推送;从而,在不导致邮件落信服务器瘫痪的前提下,实现了电子邮件到达消息提醒;而且,以多进程的方式并行进行邮件到达通知的处理,避免了单进程缓存满后丢失邮件到达通知的问题,从而,避免邮件到达消息提醒的丢失,也提升了邮件到达消息提醒的推送速度。
[0105]进一步,本发明实施例二的技术方案中,消息推送服务器对应于社交通讯工具,若新的社交通讯工具提出实现邮件到达消息提醒的需求,可在本发明实施例二的实现邮件到达消息提醒的系统中,添加一台对应该社交通讯工具的消息推送服务器,由该消息推送服务器推送邮件到达消息提醒的消息内容到该社交通讯工具的账号;因此,实现邮件到达消息提醒的系统具有较好扩展性。
[0106]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种电子邮件到达消息提醒的方法,其特征在于,包括: 邮件落信服务器在接收到电子邮件后,向通知分发服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址; 所述通知分发服务器的通知接收模块将接收到的所述邮件到达通知存于缓存队列中; 所述通知分发服务器的子进程创建模块从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中; 每个创建的通知处理子进程,从传入本通知处理子进程的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出; 所述消息推送服务器接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
2.如权利要求1所述的方法,其特征在于,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括: 所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日`志行中包括该电子邮件的收件方邮箱地址; 所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
3.如权利要求1或2所述的方法,其特征在于,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及 所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中的每行邮件到达日志行,具体为: 所述邮件落信服务器中的日志发送模块依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行。
4.一种电子邮件到达消息提醒的方法,其特征在于,包括: 邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,该邮件到达通知中携带有该电子邮件的收件方邮箱地址; 所述消息推送服务器接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并 调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
5.如权利要求4所述的方法,其特征在于,所述邮件落信服务器在接收到电子邮件后,向消息推送服务器推送该电子邮件的邮件到达通知,具体包括: 所述邮件落信服务器的邮件落信模块在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址; 所述邮件落信服务器的日志发送模块依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
6.一种电子邮件到达消息提醒的系统,其特征在于,包括: 邮件落信服务器,用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知; 消息推送服务器,用于接收到所述邮件到达通知后,解析出其中的收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号;并调用该社交通讯工具的服务器提供的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
7.如权利要求6所述的系统,其特征在于,所述邮件落信服务器具体包括: 邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址; 日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
8.一种电子邮件到达消息提醒的系统,其特征在于,包括:邮件落信服务器、通知分发服务器和消息推送服务器;其中, 所述邮件落信服务器用于在接收到电子邮件后,推送携带有该电子邮件的收件方邮箱地址的邮件到达通知; 所述通知分发服务器包括:通知接收模块、子进程创建模块;所述通知接收模块用于将接收到的所述邮件到达通知存于缓存队列中;所述子进程创建模块用于从所述缓存队列中依次读取邮件到达通知,并为每个读取出的邮件到达通知,创建一个通知处理子进程后,将该邮件到达通知传入到该通知处理子进程中;每个创建的通知处理子进程,从传入的邮件到达通知中解析出收件方邮箱地址,确定出该收件方邮箱地址所绑定的社交通讯工具的账号后,向对应该社交通讯工具的消息推送服务器发送携带有该社交通讯工具的账号的消息推送请求;之后,本通知处理子进程退出; 所述消息推送服务器用于接收到消息推送请求后,解析出该消息推送请求中的社交通讯工具的账号;并调用该社交通讯工具的服务器中的消息推送接口,将该社交通讯工具的账号以及邮件到达消息提醒的消息内容作为参数传入所述消息推送接口中,通过所述消息推送接口向该社交通讯工具的账号推送所述消息内容。
9.如权利要求8所述的系统,其特征在于,所述邮件落信服务器具体包括: 邮件落信模块,用于在接收到电子邮件后向邮件日志中写入一行该电子邮件的邮件到达日志行,该邮件到达日志行中包括该电子邮件的收件方邮箱地址; 日志发送模块,用于依次读取所述邮件日志中的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
10.如权利要求9所述的系统,其特征在于,所述邮件到达日志行中还包括行标识的关键字,所述行标识的关键字用以指示出其所在行为邮件到达日志行;以及 所述日志发送模块具体用于依次读取所述邮件日志中包括所述行标识的关键字的邮件到达日志行,将其携带于所述邮件到达通知中向所述消息推送服务器发送。
【文档编号】H04L12/58GK103491170SQ201310439581
【公开日】2014年1月1日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】宋健 申请人:新浪网技术(中国)有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1