CN109462543B - 邮件下载方法、装置、计算机设备和存储介质 - Google Patents
邮件下载方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109462543B CN109462543B CN201811256868.2A CN201811256868A CN109462543B CN 109462543 B CN109462543 B CN 109462543B CN 201811256868 A CN201811256868 A CN 201811256868A CN 109462543 B CN109462543 B CN 109462543B
- Authority
- CN
- China
- Prior art keywords
- identifier
- download
- downloading
- queue
- 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
Images
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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种邮件下载方法、装置、计算机设备和存储介质。所述方法包括:当检测到邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。采用本方法能够提高邮件下载的准确率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种邮件下载方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了电子邮件技术,用户可以通过电子邮箱将编辑好的电子邮件发送至接收人;接收人收到邮件后,可以打开邮件查看内容或者下载邮件至本地存储设备中。
然而,随着公司业务的发展,每天接收到的邮件数以万计,下载邮件的传统方法已经不能满足需求,经常漏掉下载或者重复下载其中一些邮件,存在邮件下载准确率低下的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高邮件下载准确率的邮件下载方法、装置、计算机设备和存储介质。
一种邮件下载方法,所述方法包括:
当检测到邮件接收请求时,获取所述邮件接收请求对应的第一标识;
将所述第一标识与下载标识队列中存储的标识进行比较,判断所述第一标识是否符合所述下载标识队列的排列规则,其中,所述下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;
当所述第一标识不符合所述下载标识队列的排列规则时,根据所述第一标识和下载标识队列中的标识确定符合所述排列规则的第二标识;
当所述第二标识与所述下载标识队列中存储的标识不相同时,将所述第二标识插入到下载标识队列中;
根据所述第二标识分配对应的第二下载线程,根据所述第二下载线程下载所述第二标识对应的邮件。
一种邮件下载装置,其特征在于,所述装置包括:
第一标识获取模块,用于当检测到邮件接收请求时,获取所述邮件接收请求对应的第一标识;
判断模块,用于将所述第一标识与下载标识队列中存储的标识进行比较,判断所述第一标识是否符合所述下载标识队列的排列规则,其中,所述下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;
第二标识确定模块,用于当所述第一标识不符合所述下载标识队列的排列规则时,根据所述第一标识和下载标识队列中的标识确定符合所述排列规则的第二标识;
第二标识插入模块,用于当所述第二标识与所述下载标识队列中存储的标识不相同时,将所述第二标识插入到下载标识队列中;
邮件下载模块,用于根据所述第二标识分配对应的第二下载线程,根据所述第二下载线程下载所述第二标识对应的邮件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述邮件下载方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述邮件下载方法的步骤。
上述邮件下载方法、装置、计算机设备和存储介质,当检测到邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。上述邮件下载的方式中,当第一标识不符合排列规则时,根据第一标识和下载标识队列中的标识计算得到第二标识,并将第二标识插入到下载标识队列中;然后根据第二标识分配第二下载线程下载第二标识对应的邮件,提高了邮件下载的准确率。
附图说明
图1为一个实施例中邮件下载方法的应用环境图;
图2为一个实施例中邮件下载方法的流程示意图;
图3为一个实施例中判断第一标识是否符合排列规则步骤的流程示意图;
图4为一个实施例中分配第二下载线程步骤的流程示意图;
图5为一个实施例中邮件下载装置的结构框图;
图6为另一个实施例中邮件下载装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的邮件下载方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。当终端102检测到来自服务器104的邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种邮件下载方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,当检测到邮件接收请求时,获取邮件接收请求对应的第一标识。
其中,邮件接收请求可以是服务器发送给终端的,邮件接收请求中可以包括邮件的第一标识、邮件的数据量、邮件的发送人和接收人等信息。第一标识用于表示该邮件的标识,该标识具有唯一性。第一标识可以是阿拉伯数字,如1,2,3,4等,也可以是英文字母,如A,B,C,D,还可以是其他可以唯一表示邮件的序号或者信息。
具体地,检测到邮件接收请求,邮件接收请求中包含该邮件的相关信息,如第一标识、邮件的数据量、邮件的发送人和接收人等信息。识别邮件接收请求中的相关信息并提取出邮件的第一标识。
步骤204,将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识。
具体地,下载标识队列可以存储在本地,也可以存储在服务器中,在此不做限定。排列规则指的是将邮件的标识进行排列,使任何两个连续的标识之间具有相同的关联性的规则。例如,排列规则可以是“1,2,3,4,5……”或者“1,3,5,7,9……”,也可以是“A,B,C,D,E……”,还可以是“Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ……”,等等。
例如,当排列规则为“1,2,3,4,5……”时,下载标识队列中存储的标识为“1,2,3,4”。则当获取的第一标识为“5”时,则第一标识“5”符合下载标识队列的排列规则;当获取的第一标识为“10”时,则第一标识“10”不符合下载标识队列的排列规则。
进一步地,获取下载标识队列中最后插入的标识;获取第一标识与下载标识队列中最后插入的标识之间的目标差值,根据目标差值判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列中连续插入的两个标识之间的差值等于排列阈值;当目标差值等于排列阈值时,则第一标识符合下载标识队列的排列规则;否则,第一标识不符合下载标识队列的排列规则。
步骤206,当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识。
具体地,第二标识指的是当第一标识不符合下载标识队列的排列规则时的符合排列规则的标识。第二标识可以是第一标识与下载标识队列中的标识之间的标识。第二标识可以是一个,也可以是多个,在此不做限定。
进一步地,根据目标差值与所述排列阈值进行计算,得到第二标识数量;根据第二标识数量、下载标识队列中最后插入的标识与排列阈值确定符合排列规则的第二标识。
具体地,当第一标识符合下载标识队列的排列规则时,根据第一标识分配对应的第一下载线程,根据第一下载线程下载第一标识对应的邮件。
步骤208,当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中。
具体地,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识后,当第二标识与下载标识队列中存储的标识不相同时,则将第二标识插入到下载标识队列中,作为下载标识队列中存储的标识。当第二标识与下载标识队列中存储的标识相同时,则表示该第二标识对应的邮件已经下载或者正在下载,则不插入该第二标识到下载标识队列汇中并确定该第二标识的下一个第二标识。
步骤210,根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。
其中,下载线程指的是用于下载的单元。第二下载线程指的是用于下载第二标识对应的邮件的下载的单元。
具体地,当第二标识与下载标识队列中存储的标识不相同时,也就是将第二标识插入到下载标识队列后,根据第二标识分配对应的第二下载线程,可以将第二标识同时分配给同一个第二下载线程,也可以将第二标识分别分配给不同的第二下载线程,在此不做限定。第二标识分配对应的第二下载线程后,一个或者多个第二下载线程可以同时下载一个或者多个第二标识对应的邮件。
进一步地,获取预设的参考下载线程数量;当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量;当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量;根据目标下载线程数量分配对应的第二下载线程。
上述邮件下载方法中,获取邮件的第一标识后,当第一标识不符合排列规则时,根据第一标识和下载标识队列中的标识计算得到第二标识,并将第二标识插入到下载标识队列中;然后根据第二标识分配第二下载线程下载第二标识对应的邮件,提高了邮件下载的准确率。
在一个实施例中,如图3所示,将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,包括:
步骤302,获取下载标识队列中最后插入的标识。
具体地,将第一标识与下载标识队列中存储的标识进行比较时,可以是将第一标识与下载标识队列中最后插入的标识进行比较。例如,第一标识为10,下载标识队列为“1,2,3,4,5”,则下载标识队列中最后插入的标识为5,将第一标识10与下载标识队列中最后插入的标识5进行比较,从而判断第一标识是否符合下载标识队列的排列规则。
步骤304,获取第一标识与下载标识队列中最后插入的标识之间的目标差值,根据目标差值判断第一标识是否符合下载标识队列的排列规则。
具体地,第一标识和下载标识队列中存储的标识可以用数字进行表示,那么就可以计算标识之间的差值来判断标识是否符合下载标识队列的排列规则。目标差值可参照以下公式计算得到:目标差值=第一标识-下载标识队列中最后插入的标识。
步骤306,当目标差值等于排列阈值时,则第一标识符合下载标识队列的排列规则,其中,下载标识队列中连续插入的两个标识之间的差值等于排列阈值。
具体地,当目标差值等于排列阈值时,则表示第一标识符合下载标识队列的排列规则,也就是第一标识与下载标识队列中最后插入的标识为下载标识队列的排列规则中连续的两个标识。
步骤308,否则,第一标识不符合下载标识队列的排列规则。
具体地,当目标差值不等于排列阈值时,则第一标识不符合下载标识队列的排列规则。
例如,下载标识队列为“1,2,3,4,5”,则下载标识队列中最后插入的标识为5,排列阈值为1。当第一标识为6时,则目标差值=第一标识-下载标识队列中最后插入的标识=6-5=1,目标差值等于排列阈值,第一标识6符合下载标识队列的排列规则。当第一标识为10时,则目标差值=第一标识-下载标识队列中最后插入的标识=10-5=5,目标差值不等于排列阈值,第一标识10不符合下载标识队列的排列规则。
在本实施例中,将第一标识与下载标识队列中最后插入的标识进行计算,得到目标差值;根据目标差值与排列规则的排列阈值进行比较,从而得出第一标识是否符合下载标识队列的排列规则。上述邮件下载的方式中,第一标识只要与下载标识队列中最后插入的标识进行计算,不用与下载标识队列中的其他标识进行计算,节约了计算量和计算机资源,提高了邮件下载的效率。
在一个实施例中,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识,包括:根据目标差值与排列阈值进行计算,得到第二标识的数量;根据第二标识的数量、下载标识队列中最后插入的标识与排列阈值确定符合排列规则的第二标识。
具体地,第二标识的数量的计算方式可参照以下计算方式:第二标识的数量=(目标差值-排列阈值)/排列阈值。将下载标识队列中最后插入的标识加上排列阈值得到符合排列规则的第一个第二标识。当统计的排列阈值应用的次数小于第二标识的数量时,再将第一个第二标识加上排列阈值得到符合排列规则的第二个第二标识。当统计的排列阈值应用的次数再次小于第二标识的数量时,则继续得到下一个第二标识,依次循环,直到当统计的排列阈值应用的次数等于第二标识的数量时,则停止获取第二标识的步骤,获取到所有符合排列规则的第二标识。
例如,下载标识队列为“2,4,6,8”,下载标识队列中最后插入的标识为8,排列阈值为2。当第一标识为16时,则目标差值为16-8=8,目标差值8不等于排列阈值2,即第一标识16不符合下载标识队列的排列规则。则第二标识的数量=(目标差值-排列阈值)/排列阈值=(8-2)/2=3。将下载标识队列中最后插入的标识8加上排列阈值2得到符合排列规则的第一个第二标识10。统计的排列阈值应用的次数为1小于第二标识的数量3,再将第一个第二标识10加上排列阈值2得到符合排列规则的第二个第二标识12。统计的排列阈值应用的次数为2小于第二标识的数量3,再将第一个第二标识12加上排列阈值2得到符合排列规则的第二个第二标识14。统计的排列阈值应用的次数为3等于第二标识的数量3,则停止获取第二标识的步骤,获取到所有符合排列规则的第二标识10、12、14。
在本实施例中,根据目标差值与排列阈值进行计算得到所有符合排列规则的第二标识,再根据第二标识进行下载邮件,提高了邮件下载的准确率。
在一个实施例中,上述邮件下载方法还包括:当第一标识与下载标识队列中存储的标识不相同时,将第一标识插入到下载标识队列中;根据第一标识分配对应的第一下载线程,根据第一下载线程下载第一标识对应的邮件。
其中,第一下载线程指的是用于下载第一标识对应的邮件的下载的单元。
具体地,当不符合下载标识队列的排列规则时,确定第二标识并下载第二标识对应的邮件后,获取该第一标识。当该第一标识与下载标识队列中存储的标识不相同时,进一步地,当该第一标识与下载标识队列中最后插入的标识不相同时,则将该第一标识插入到下载标识队列中,作为下载标识队列中存储的标识。当该第一标识与下载标识队列中最后插入的标识相同时,则表示该第一标识对应的邮件已经下载或者正在下载,则不插入该第一标识到下载标识队列汇中。
可以理解的是,当第一标识插入下载标识队列中后下载第一标识对应的邮件,在下载的过程中,获取下一个第一标识并判断是否符合下载标识队列的排列规则。当下一个第一标识符合排列规则时,将该下一个第一标识插入下载标识队列中后继续下载对应的邮件。
在本实施例中,在下载完第二标识对应的邮件之后,判断第一标识与下载标识队列中存储的标识是否相同。当第一标识与下载标识队列中存储的标识不相同时,将第一标识分配对应的第一下载线程,再根据第一下载线程下载第一标识对应的邮件,避免第一标识对应的邮件重复下载,提高了邮件下载的准确率。
在一个实施例中,根据第二标识分配对应的第二下载线程,包括:获取预设的参考下载线程数量;当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量;当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量;根据目标下载线程数量分配对应的第二下载线程。
具体地,参考下载线程数量与数量阈值可以预先由用户设置。参考下载线程数量可以一个,也可以多个。优选地,获取终端设备的CPU(Central Processing Unit,中央处理器)内核数量,将CPU内核数量作为参考下载线程数量。可以理解的是,当第二标识的数量越少,表示第二标识对应的邮件数量越少,则目标下载线程数量越少。
进一步地,获取预设的数据量参考下载线程数量,并获取第二标识对应的邮件的总数据量;当总数据量大于等于数据量阈值时,将数据量参考下载线程数量作为数据量目标下载线程数量;当总数据量小于数据量阈值时,根据总数据量、数据量阈值与数据量参考下载线程数量计算得到数据量目标下载线程数量;根据数据量目标下载线程数量分配对应的第二下载线程。
具体地,数据量参考下载线程数量与数据量阈值可以预先由用户设置。数据量参考下载线程数量可以一个,也可以多个。当第二标识对应的邮件的总数据量越少,则数据量目标下载线程数量越少。数据量目标下载线程数量可以参照以下方式计算得到:数据量目标下载线程数量=数据量参考下载线程数量-(数据量阈值-总数据量)*k1,其中,k1表示预设的参数,可以由用户设置。可以理解的是,数据量参考下载线程数量与数据量目标下载线程数量都为至少为1的正整数。
例如,预设的数据量参考下载线程数量为8,数据量阈值为100MB,k1=0.1。获取第二标识对应的邮件的总数据量为80MB(Megabytes,兆字节)时,则总数据量80MB小于数据量阈值100MB,数据量目标下载线程数量=数据量参考下载线程数量-(数据量阈值-总数据量)*k1=8-(100-80)*0.1=6。
在本实施例中,可以根据第二标识的数量计算目标下载线程数量,当第二标识的数量小于数量阈值时,则根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量,该目标下载线程数量小于参考下载线程数量,节约了计算机资源。
在一个实施例中,如图4所示,数量阈值包括一级数量阈值与二级数量阈值,一级数量阈值大于二级数量阈值;参考下载线程数量包括第一参考下载线程数量和第二参考下载线程数量,第一参考下载线程数量大于第二参考下载线程数量。
当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量,包括:
步骤402,当第二标识的数量大于或等于一级数量阈值时,将第一参考下载线程数量作为目标下载线程数量。
具体地,一级数量阈值和第一参考下载线程数量可以预先由用户设置。
当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量,包括:
步骤404,当第二标识的数量小于或等于一级数量阈值,且第二标识的数量大于二级数量阈值时,根据第二标识的数量、二级数量阈值和第二参考下载线程数量,计算得到目标下载线程数量。
具体地,二级数量阈值和第二参考下载线程数量可以预先由用户设置。当第二标识的数量小于或等于一级数量阈值,且第二标识的数量大于二级数量阈值时,目标下载线程数量可参照以下公式计算得到:目标下载线程数量=第二标识的数量/二级数量阈值*第二参考下载线程数量。可以理解的是,计算得到的目标下载线程数量为正整数。当计算得到的目标下载线程数量具有小数时,可以通过四舍五入等方法将小数去掉。
步骤406,当第二标识的数量小于或等于二级数量阈值时,将第二参考下载线程数量作为目标下载线程数量。
例如,预先设置的一级数量阈值为100,二级数量阈值为50,第一参考下载线程数量为8,第二参考下载线程数量为4。当获取第二标识的数量为120时,第二标识的数量120大于一级数量阈值100,则将第一参考下载线程数量8作为目标下载线程数量。当获取第二标识的数量为80时,第二标识的数量80小于或等于一级数量阈值100,且大于二级数量阈值50,则目标下载线程数量=第二标识的数量/二级数量阈值*第二参考下载线程数量=80/50*4=6。当获取第二标识的数量为30时,第二标识的数量30小于或等于二级数量阈值50,则将第二参考下载线程数量4作为目标下载线程数量。
在本实施例中,通过不同的第二标识的数量,计算得到不同的目标下载线程数量,更加节约了计算机资源。
在一个实施例中,第二下载线程中包含一个或多个协程,协程可单独完成邮件下载任务;根据第二下载线程下载第二标识对应的邮件,包括:根据第二下载线程中的协程下载第二标识对应的邮件。
具体地,协程指的是下载线程中的程序组件。第二下载线程中包含一个或多个协程,协程可单独完成邮件下载任务,因此下载线程可以同时并行下载多个邮件。
相应地,第一下载线程中也包含一个或多个协程。根据第一下载线程中的协程下载第一标识对应的邮件。
在本实施例中,根据第二下载线程中的协程下载第二标识对应的邮件,可以同时并行下载多个邮件,提高了邮件下载的效率。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种邮件下载装置,包括:第一标识获取模块502、判断模块504、第二标识确定模块506、第二标识插入模块508和邮件下载模块510,其中:
第一标识获取模块502,用于当检测到邮件接收请求时,获取邮件接收请求对应的第一标识。
判断模块504,用于将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识。
第二标识确定模块506,用于当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识。
第二标识插入模块508,用于当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中。
邮件下载模块510,用于根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。
上述邮件下载装置中,当检测到邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。上述邮件下载的方式中,当第一标识不符合排列规则时,根据第一标识和下载标识队列中的标识计算得到第二标识,并将第二标识插入到下载标识队列中;然后根据第二标识分配第二下载线程下载第二标识对应的邮件,提高了邮件下载的准确率。
在一个实施例中,如图6所示,上述邮件下载装置还包括:第一标识获取模块602、判断模块604、第二标识确定模块606、第二标识插入模块608、邮件下载模块610和第一标识邮件下载模块612,其中:
第一标识获取模块602,用于当检测到邮件接收请求时,获取邮件接收请求对应的第一标识。
判断模块604,用于将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识。
第二标识确定模块606,用于当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识。
第二标识插入模块608,用于当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中。
邮件下载模块610,用于根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。
第一标识邮件下载模块612,用于当第一标识与所述下载标识队列中存储的标识不相同时,将第一标识插入到下载标识队列中;根据第一标识分配对应的第一下载线程,根据第一下载线程下载第一标识对应的邮件。
上述邮件下载装置中,通过第一标识与下载标识队列中最后插入的标识计算得到第二标识;通过第二标识的数量分配不同的目标下载线程数量,并且根据下载线程中的一个或者多个协程下载邮件,提高了邮件下载的效率的同时提高了邮件下载的准确率。
在一个实施例中,上述判断模块604还用于获取下载标识队列中最后插入的标识;获取第一标识与下载标识队列中最后插入的标识之间的目标差值,根据目标差值判断第一标识是否符合下载标识队列的排列规则;当目标差值等于排列阈值时,则第一标识符合下载标识队列的排列规则,其中,下载标识队列中连续插入的两个标识之间的差值等于排列阈值;否则,第一标识不符合下载标识队列的排列规则。
在一个实施例中,上述判断模块604还用于根据目标差值与排列阈值进行计算,得到第二标识的数量;根据第二标识的数量、下载标识队列中最后插入的标识与排列阈值确定符合排列规则的第二标识。
在一个实施例中,上述邮件下载模块610还用于获取预设的参考下载线程数量;当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量;当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量;根据目标下载线程数量分配对应的第二下载线程。
在一个实施例中,上述邮件下载模块610还用于当第二标识的数量大于或等于一级数量阈值时,将第一参考下载线程数量作为目标下载线程数量;当第二标识的数量小于或等于一级数量阈值,且第二标识的数量大于二级数量阈值时,根据第二标识的数量、二级数量阈值和第二参考下载线程数量,计算得到目标下载线程数量;当第二标识的数量小于或等于二级数量阈值时,将第二参考下载线程数量作为目标下载线程数量。
在一个实施例中,上述邮件下载模块610还用于根据第二下载线程中的协程下载第二标识对应的邮件。
关于邮件下载装置的具体限定可以参见上文中对于邮件下载方法的限定,在此不再赘述。上述邮件下载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种邮件下载方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:当检测到邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取下载标识队列中最后插入的标识;获取第一标识与下载标识队列中最后插入的标识之间的目标差值,根据目标差值判断第一标识是否符合下载标识队列的排列规则;当目标差值等于排列阈值时,则第一标识符合下载标识队列的排列规则,其中,下载标识队列中连续插入的两个标识之间的差值等于排列阈值;否则,第一标识不符合下载标识队列的排列规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标差值与排列阈值进行计算,得到第二标识的数量;根据第二标识的数量、下载标识队列中最后插入的标识与排列阈值确定符合排列规则的第二标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第一标识与所述下载标识队列中存储的标识不相同时,将第一标识插入到下载标识队列中;根据第一标识分配对应的第一下载线程,根据第一下载线程下载第一标识对应的邮件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预设的参考下载线程数量;当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量;当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量;根据目标下载线程数量分配对应的第二下载线程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第二标识的数量大于或等于一级数量阈值时,将第一参考下载线程数量作为目标下载线程数量;当第二标识的数量小于或等于一级数量阈值,且第二标识的数量大于二级数量阈值时,根据第二标识的数量、二级数量阈值和第二参考下载线程数量,计算得到目标下载线程数量;当第二标识的数量小于或等于二级数量阈值时,将第二参考下载线程数量作为目标下载线程数量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据第二下载线程中的协程下载第二标识对应的邮件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当检测到邮件接收请求时,获取邮件接收请求对应的第一标识;将第一标识与下载标识队列中存储的标识进行比较,判断第一标识是否符合下载标识队列的排列规则,其中,下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;当第一标识不符合下载标识队列的排列规则时,根据第一标识和下载标识队列中的标识确定符合排列规则的第二标识;当第二标识与下载标识队列中存储的标识不相同时,将第二标识插入到下载标识队列中;根据第二标识分配对应的第二下载线程,根据第二下载线程下载第二标识对应的邮件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取下载标识队列中最后插入的标识;获取第一标识与下载标识队列中最后插入的标识之间的目标差值,根据目标差值判断第一标识是否符合下载标识队列的排列规则;当目标差值等于排列阈值时,则第一标识符合下载标识队列的排列规则,其中,下载标识队列中连续插入的两个标识之间的差值等于排列阈值;否则,第一标识不符合下载标识队列的排列规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标差值与排列阈值进行计算,得到第二标识的数量;根据第二标识的数量、下载标识队列中最后插入的标识与排列阈值确定符合排列规则的第二标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当第一标识与所述下载标识队列中存储的标识不相同时,将第一标识插入到下载标识队列中;根据第一标识分配对应的第一下载线程,根据第一下载线程下载第一标识对应的邮件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预设的参考下载线程数量;当第二标识的数量大于或等于数量阈值时,将参考下载线程数量作为目标下载线程数量;当第二标识的数量小于数量阈值时,根据第二标识的数量、数量阈值与参考下载线程数量计算得到目标下载线程数量;根据目标下载线程数量分配对应的第二下载线程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当第二标识的数量大于或等于一级数量阈值时,将第一参考下载线程数量作为目标下载线程数量;当第二标识的数量小于或等于一级数量阈值,且第二标识的数量大于二级数量阈值时,根据第二标识的数量、二级数量阈值和第二参考下载线程数量,计算得到目标下载线程数量;当第二标识的数量小于或等于二级数量阈值时,将第二参考下载线程数量作为目标下载线程数量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据第二下载线程中的协程下载第二标识对应的邮件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种邮件下载方法,包括:
当检测到邮件接收请求时,获取所述邮件接收请求对应的第一标识;
获取下载标识队列中最后插入的标识;
获取所述第一标识与所述下载标识队列中最后插入的标识之间的目标差值,根据所述目标差值判断所述第一标识是否符合所述下载标识队列的排列规则;
当所述目标差值等于排列阈值时,则所述第一标识符合所述下载标识队列的排列规则,其中,所述下载标识队列中连续插入的两个标识之间的差值等于排列阈值;
否则,所述第一标识不符合所述下载标识队列的排列规则,其中,所述下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;
当所述第一标识不符合所述下载标识队列的排列规则时,根据所述第一标识和下载标识队列中的标识确定符合所述排列规则的第二标识;
当所述第二标识与所述下载标识队列中存储的标识不相同时,将所述第二标识插入到下载标识队列中;
根据所述第二标识分配指定数量的第二下载线程,根据所述指定数量的第二下载线程下载所述第二标识对应的邮件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一标识和下载标识队列中的标识确定符合所述排列规则的第二标识,包括:
根据所述目标差值与所述排列阈值进行计算,得到第二标识的数量;
根据第二标识的数量、下载标识队列中最后插入的标识与排列阈值确定符合所述排列规则的第二标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一标识与所述下载标识队列中存储的标识不相同时,将所述第一标识插入到所述下载标识队列中;
根据所述第一标识分配对应的第一下载线程,根据所述第一下载线程下载所述第一标识对应的邮件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二标识分配指定数量的第二下载线程,包括:
获取预设的参考下载线程数量;
当所述第二标识的数量大于或等于数量阈值时,将所述参考下载线程数量作为目标下载线程数量;
当所述第二标识的数量小于所述数量阈值时,根据所述第二标识的数量、所述数量阈值与所述参考下载线程数量计算得到目标下载线程数量;
根据所述目标下载线程数量分配对应的第二下载线程。
5.根据权利要求4所述的方法,其特征在于,所述数量阈值包括一级数量阈值与二级数量阈值,所述一级数量阈值大于所述二级数量阈值;所述参考下载线程数量包括第一参考下载线程数量和第二参考下载线程数量,所述第一参考下载线程数量大于所述第二参考下载线程数量;
所述当所述第二标识的数量大于或等于数量阈值时,将所述参考下载线程数量作为目标下载线程数量,包括:
当所述第二标识的数量大于或等于一级数量阈值时,将所述第一参考下载线程数量作为目标下载线程数量;
所述当所述第二标识的数量小于所述数量阈值时,根据所述第二标识的数量、所述数量阈值与所述参考下载线程数量计算得到目标下载线程数量,包括:
当所述第二标识的数量小于或等于所述一级数量阈值,且所述第二标识的数量大于所述二级数量阈值时,根据所述第二标识的数量、二级数量阈值和第二参考下载线程数量,计算得到目标下载线程数量;
当所述第二标识的数量小于或等于所述二级数量阈值时,将所述第二参考下载线程数量作为目标下载线程数量。
6.根据权利要求1所述的方法,其特征在于,所述第二下载线程中包含一个或多个协程,所述协程可单独完成邮件下载任务;
所述根据所述第二下载线程下载所述第二标识对应的邮件,包括:
根据所述第二下载线程中的协程下载所述第二标识对应的邮件。
7.一种邮件下载装置,其特征在于,所述装置包括:
第一标识获取模块,用于当检测到邮件接收请求时,获取所述邮件接收请求对应的第一标识;
判断模块,用于获取下载标识队列中最后插入的标识;获取所述第一标识与所述下载标识队列中最后插入的标识之间的目标差值,根据所述目标差值判断所述第一标识是否符合所述下载标识队列的排列规则;当所述目标差值等于排列阈值时,则所述第一标识符合所述下载标识队列的排列规则,其中,所述下载标识队列中连续插入的两个标识之间的差值等于排列阈值;否则,所述第一标识不符合所述下载标识队列的排列规则,其中,所述下载标识队列用于存储已下载的邮件或者正在下载的邮件所对应的标识;
第二标识确定模块,用于当所述第一标识不符合所述下载标识队列的排列规则时,根据所述第一标识和下载标识队列中的标识确定符合所述排列规则的第二标识;
第二标识插入模块,用于当所述第二标识与所述下载标识队列中存储的标识不相同时,将所述第二标识插入到下载标识队列中;
邮件下载模块,用于根据所述第二标识分配指定数量的第二下载线程,根据所述指定数量的第二下载线程下载所述第二标识对应的邮件。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811256868.2A CN109462543B (zh) | 2018-10-26 | 2018-10-26 | 邮件下载方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811256868.2A CN109462543B (zh) | 2018-10-26 | 2018-10-26 | 邮件下载方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109462543A CN109462543A (zh) | 2019-03-12 |
CN109462543B true CN109462543B (zh) | 2021-01-26 |
Family
ID=65608479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811256868.2A Active CN109462543B (zh) | 2018-10-26 | 2018-10-26 | 邮件下载方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109462543B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500444B (zh) * | 2022-03-18 | 2024-02-23 | 网易(杭州)网络有限公司 | 邮件数据处理方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458006A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | 对已下载邮件数据进行标记的方法及系统 |
CN103581256A (zh) * | 2012-08-02 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 向网站发布信息的方法、装置及系统 |
CN105743765A (zh) * | 2014-12-09 | 2016-07-06 | 华为技术有限公司 | 一种获取邮件的方法、终端及系统 |
CN105978786A (zh) * | 2016-04-19 | 2016-09-28 | 乐视控股(北京)有限公司 | 邮件存储方法和装置 |
CN106302088A (zh) * | 2015-05-21 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 收发电子邮件的方法、电子邮件客户端、服务端和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184635A1 (en) * | 2006-05-18 | 2006-08-17 | The Go Daddy Group, Inc. | Electronic mail method using email tickler |
US11356396B2 (en) * | 2016-12-30 | 2022-06-07 | Dropbox, Inc. | Content management system with integrated email service |
-
2018
- 2018-10-26 CN CN201811256868.2A patent/CN109462543B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581256A (zh) * | 2012-08-02 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 向网站发布信息的方法、装置及系统 |
CN103458006A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | 对已下载邮件数据进行标记的方法及系统 |
CN105743765A (zh) * | 2014-12-09 | 2016-07-06 | 华为技术有限公司 | 一种获取邮件的方法、终端及系统 |
CN106302088A (zh) * | 2015-05-21 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 收发电子邮件的方法、电子邮件客户端、服务端和系统 |
CN105978786A (zh) * | 2016-04-19 | 2016-09-28 | 乐视控股(北京)有限公司 | 邮件存储方法和装置 |
Non-Patent Citations (1)
Title |
---|
"基于邮件队列的高速邮件系统设计";万志波等;《计算机应用研究》;20060330;第23卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109462543A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388599B (zh) | 电子装置、数据迁移及调用方法及存储介质 | |
WO2019075842A1 (zh) | 任务分配方法、装置、存储介质和计算机设备 | |
CN109614238B (zh) | 一种目标对象识别方法、装置、系统及可读存储介质 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
US11914565B1 (en) | System and method for identifying matching portions of two sets of data in a multiprocessor system | |
CN109542962B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111488206A (zh) | 一种深度学习任务调度方法、系统、终端及存储介质 | |
CN113672375B (zh) | 资源分配预测方法、装置、设备及存储介质 | |
CN112463356A (zh) | Gpu堆管理器内存地址分配方法、系统、终端及存储介质 | |
CN110321467A (zh) | 机场工程项目信息展示方法、装置、系统、设备和介质 | |
CN112423281A (zh) | 无线模组升级方法、装置、计算机设备和存储介质 | |
CN115729687A (zh) | 任务调度方法、装置、计算机设备、存储介质 | |
CN109462543B (zh) | 邮件下载方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108388409B (zh) | 打印请求处理方法、装置、计算机设备和存储介质 | |
CN113610558A (zh) | 资源分发方法、装置、电子设备及存储介质 | |
CN112003930A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
CN111309733A (zh) | 增量数据抽取处理方法及装置、计算机设备、介质 | |
CN110619275A (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN111858542B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN111523931A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN113434471B (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
EP3306898A2 (en) | Information processing method and device |
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 |