CN103368817A - 电子邮件发送、接收方法及装置 - Google Patents
电子邮件发送、接收方法及装置 Download PDFInfo
- Publication number
- CN103368817A CN103368817A CN2012100930868A CN201210093086A CN103368817A CN 103368817 A CN103368817 A CN 103368817A CN 2012100930868 A CN2012100930868 A CN 2012100930868A CN 201210093086 A CN201210093086 A CN 201210093086A CN 103368817 A CN103368817 A CN 103368817A
- Authority
- CN
- China
- Prior art keywords
- sent
- historical data
- concordance list
- 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.)
- Pending
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/06—Message adaptation to terminal or network requirements
- H04L51/063—Content adaptation, e.g. replacement of unsuitable content
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种电子邮件发送、接收的方法及装置,包括:确定待发送邮件与历史邮件的至少一个相同数据块;确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系;响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。采用本发明所提供的方法及装置,可以提高邮件发送、接收的效率。
Description
技术领域
本发明涉及电子邮件传输的技术方案,具体地,涉及一种可以减少数据传输量的电子邮件传输的方法及装置。
背景技术
电子邮件是一种普遍的信息传输方式,在日常生活与工作中起到了越来越大的作用。
但是,在邮件发送或接收的过程中不可避免的存在着大量的重复信息。用户在接收或发送存在重复数据的邮件时,往往会造成带宽的浪费,还会增加发送或接收的时间。特别的是,电子邮件客户端与服务器之间的数据传输极大的影响着用户的体验。在实际的电子邮件的使用情形下,例如在转发或答复包含较长邮件串(thread)时,用户常常接收到的电子邮件包含多个其他电子邮件。在多个发信人参与到特定信件的情形下,用户甚至会不止一次地接收到整个邮件串,或者用户会从不同发信人接收到多个、部分重叠的邮件串。因此,在以传统方式自动处理这种电子邮件时,出现大量的数据重复传输。
显然,这种复杂电子邮件串结构的传统处理导致数据传输效率的降低,以及浪费电子邮件服务器和电子邮件客户端的存储空间。
因此,现有技术仍然存在着改进的空间,需要提出一种降低重复传输的电子邮件处理的方法与装置。
发明内容
根据本发明的第一个方面,提供了一种应用在发送端的电子邮件发送方法,用于向接收端发送邮件,所述方法包括:确定待发送邮件与历史邮件的至少一个相同数据块;确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系;响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。
根据本发明的第二个方面,还提供了一种应用在接收端的电子邮件接收方法,用于接收来自发送端的邮件,所述方法包括:接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值;根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。
根据本发明的第三个方面,提供了一种应用在发送端的电子邮件发送装置,用于向接收端发送邮件,该发送装置包括:比较模块,被配置为确定待发送邮件与历史邮件的至少一个相同数据块;查询模块,被配置为确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系;修改模块,被配置为响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。
根据本发明的第四个方面,还提供了一种应用在接收端的电子邮件接收装置,用于接收来自发送端的邮件,该接收装置包括:接收模块,被配置为接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值;恢复模块,被配置为根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。
图2示出了一种应用在发送端的电子邮件发送方法。
图3示出了一种应用在接收端的电子邮件接收方法。
图4示出了一种应用在发送端的电子邮件发送装置。
图5示出了一种应用在接收端的电子邮件接收装置。
图6按照一个更加具体的实施例中说明如何通过多粒度数据块索引表实现本申请的技术方案。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
现在参看图2,示出了一种应用在发送端的电子邮件发送方法,用于向接收端发送邮件,所述方法包括:
在步骤201中,确定待发送邮件与历史邮件的至少一个相同数据块。在一个实施例中,该发送端是电子邮件客户端,该待发送邮件是在用户客户端所创建的,并准备发送至作为接收端的电子邮件服务器端的新建邮件。在另一个实施例中,该待发送邮件是在作为发送端的电子邮件服务器端所接收到的,并准备发送至作为接收端的电子邮件客户端的新到邮件。
按照一个实施方式,是将待发送邮件与一封相关历史邮件进行比较来确定上述相同数据块,该相关历史邮件是可能与待发送邮件具有相同数据块的邮件,所属领域技术人员在确定相关邮件时容易想到多种实现方式,例如可以根据电子邮件的发送人、接收人的相关性确定,还可以根据邮件内容的相关程度确定,在此不再进行一一列举。在一个实施例中,该相关邮件可以是待发送邮件的相似邮件,例如,根据待发送邮件是回复(reply)或转发(forward)的邮件,可将被操作的源邮件确定为相似邮件。相同数据块的判断可以采用以下几种具体的判断方式:将待发送邮件与相关历史邮件在整体上进行比较,如完全一致,则认为待发送邮件与相关历史邮件整体上是相同的数据块。还可按邮件的数据结构划分为邮件头,邮件正文,邮件附件等数据块,然后分别比对待发送邮件与相关邮件中这些相应的数据块是否相同。还可以将某个具体的数据块(例如邮件正文,邮件附件)进一步划分为更细粒度的数据块。在一个具体的实施例中,可采用字符串比对法(例如,Diff命令,具体可参看http://en.wikipedia.org/wiki/Diff)找出两个待比较数据块的异同点。
在步骤202中,确定相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系。历史数据块索引表是用于维护历史数据块与其哈希值对应关系的记录表,每个匹配对所记录的对应关系可以是数据块描述信息(或者是数据块本身,或者对数据块的引用)以及该数据块所对应的哈希值。索引表中的每个哈希值所对应的历史数据块均是储存在发送端或接收端的可获取的数据。
哈希值是根据数据块的内容通过逻辑运算得到的数值,哈希值可视为每个数据块的指纹,数据块不同则哈希值必然是不同的。MD5和SHA1是比较广泛的哈希(HASH)算法,所属领域技术人员能够明了如何应用哈希算法得到数据块的哈希值,在此不做赘述。
历史数据块可以是多粒度的,可对整个邮件进行哈希值的计算,也可以根据邮件结构进行划分从而得到的不同粒度的数据块,从而维护多粒度数据块的索引表。根据具体需要,可设定最小粒度的文件块大小,例如100K。在一个实施例中,可以在服务器端和客户端可采取相同的规则对邮件进行划分,以保证两者之间的同步关系。
在步骤203中,响应于存在记录,将待发送邮件中的相同数据块表示为其对应的哈希值后形成修改的待发送邮件。通过修改把相同的数据块部分通过哈希值的方式发送至接收端,不相同的数据块部分则直接发送给至接收端。所属领域技术人员能够采用适合的方式在修改的新建邮件中将哈希值与邮件的其它部分进行区分,例如可以采用标识符的方式,在此不做赘述。
步骤204和205是可选的步骤,在步骤204中,响应于未存在记录,用记录了相同数据块及其对应的哈希值之间的对应关系的新匹配对更新第一历史数据块索引表。
在步骤205中,在修改的待发送邮件中附加该新匹配对。历史数据块是历史电子邮件中的数据块,在一个实施例中,是同步存储在发送端或接收端之中,并且还需要同步第一历史数据块索引表与第二历史数据索引表,该新匹配对就是用于同步更新位于所述接收端的第二历史数据块索引表。
在一个实施例中,图2中用于确定相同数据块的步骤201包括下述两个子步骤:在子步骤1中,在历史收发邮件中查找待发送邮件的相关邮件;在子步骤2中,根据该待发送邮件与其相关邮件的对应部分是否相同来确定出相同数据块。对应部分可以是邮件整体,也可以是根据电子邮件的数据结构所划分出的多个数据块区域,例如邮件头,邮件正文或者邮件附件等等。
采取图2所描述的技术方案,可以将邮件划分为多粒度的数据块,并通过多粒度的数据块的哈希索引表,实现邮件高效传输。
图3示出了一种应用在接收端的电子邮件接收方法,用于接收来自发送端的邮件,图3所示的方法包括::
在步骤301中,接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值。在一个实施例中,是在服务器端所接收到的来自客户端的修改的待发送邮件,在另一个实施例中,是在客户端所接收到的来自服务器端的修改的待发送邮件。
在步骤302中,根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。
在一个实施例中,所述发送端是电子邮件客户端或者是电子邮件发送服务器,所述接收端是电子邮件发送服务器或者是电子邮件客户端。在另一个实施例中,所述第二历史数据块索引表与位于所述发送端的第一历史数据块索引表同步更新。
图4示出一种应用在发送端的电子邮件发送装置,用于向接收端发送邮件,图4所示的装置包括:
比较模块401,被配置为确定待发送邮件与历史邮件的至少一个相同数据块。
查询模块402,被配置为确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系。
修改模块403,被配置为响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。
在一个改进的实施方式中,在图4所示的装置的基础上,还可以包括被配置为响应于未存在记录,用记录了所述相同数据块及其对应的哈希值之间的对应关系的新匹配对更新所述第一历史数据块索引表的模块;被配置为在所述修改的待发送邮件中附加所述新匹配对的模块。所述新匹配对用于更新位于所述接收端的第二历史数据块索引表。
在另一个改进的实施方式中,比较模块401包括:被配置为在所述历史邮件中查找所述待发送邮件的相关邮件的模块;被配置为根据所述待发送邮件与所述相关邮件的对应部分是否相同来确定所述相同数据块的模块。其中,所述对应部分是电子邮件整体,或是根据电子邮件数据结构所划分出的数据块区域。
在一个实施例中,所述发送端是电子邮件客户端或者是电子邮件发送服务器,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
图5示出了一种应用在接收端的电子邮件接收装置,用于接收来自发送端的邮件,图5所示的装置包括:
接收模块501,被配置为接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值。
恢复模块502,被配置为根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。在一个改进的实施方式中,所述第二历史数据块索引表与位于所述发送端的第一历史数据块索引表同步更新。在另一个具体的实施方式中,所述发送端是电子邮件客户端或者是电子邮件发送服务器,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
图6在一个更加具体的实施例中说明如何通过多粒度数据块的索引表实现本申请的技术方案,在该实施例中,数据块粒度级别包括邮件整体(email),邮件正文(email body),邮件附件(email attachment)以及邮件数据段(segment)等等,相对应的,历史数据块索引表则根据数据块粒度的不同包括邮件索引表(email index),邮件正文索引表(body index),邮件附件索引表(attachment index),以及邮件数据段索引表(segment index)等。
在步骤601中,在客户端构建了新建邮件并准备发送至邮件服务器端。
在步骤602中,在历史收发邮件中查找新建邮件的相关邮件,接下来,可以分别或依次进入步骤603,步骤613,步骤623以及步骤633中。
在步骤603中,基于相关邮件判断是否在整个邮件级别上是相同的数据块。
在步骤604中,如果完全相同,则查询邮件索引表中是否有对应的邮件-邮件哈希值匹配对记录,其中,邮件索引表中包括多个邮件-邮件哈希值匹配对,每个匹配对记录了一封历史邮件与其哈希值之间的对应关系。
在步骤605中,如果存在记录,用邮件哈希值(mailhashid)表示重复的邮件并发送给服务器端(服务器端通过邮件哈希值恢复完整邮件的内容)。
在步骤606中,如果不存在记录,创建新的邮件-邮件哈希值匹配对并更新邮件索引表,并在邮件发送时传输邮件哈希值和其对应的邮件标记信息(服务器接收到该新的邮件-邮件哈希值匹配对后也会更新服务器端的邮件索引表)。
步骤613,对新建邮件和相关邮件的正文(body)进行匹配。
步骤614,如果邮件正文完全匹配,则查询邮件正文索引表中是否有对应的邮件正文-正文哈希值匹配对记录,其中,邮件正文索引表中包括多个正文-正文哈希值(body-bodyhashid)匹配对,每个匹配对是一历史邮件正文与其哈希值之间的对应关系。
步骤615,如果存在记录,则在新建邮件中用正文哈希值表示相应的正文形成修改的新建邮件,用于发送给邮件服务器端(服务器端通过正文哈希值恢复得到完整的正文内容)。
步骤616,如不存在记录,创建新的正文-正文哈希值匹配对以更新正文索引表,并在邮件发送时将正文哈希值和其对应的正文标记信息一起发送出去(服务器接收新的正文-正文哈希值匹配对后也会更新服务器端的正文索引表)。
步骤623,对新建邮件和相关邮件的附件进行匹配。
步骤624,如果邮件的附件完全匹配,则查询附件索引表中是否有对应的附件-附件哈希值匹配对,其中,附件索引表中包括多个附件-附件哈希值匹配对,每个匹配对是一历史附件与其哈希值之间的对应关系。
步骤625,如果存在,在新建邮件中用附件哈希值表示相应的附件以形成修改的新建邮件,用于发送给邮件服务器端(服务器端通过将附件哈希值恢复为相应的附件以得到完整的邮件内容)。
步骤626,如果不存在,创建新的附件-附件哈希值匹配对以更新附件索引表,并在邮件发送时将附件哈希值和其对应的附件标记信息一起发送出去(服务器接收新的附件-附件哈希值匹配对后也会对服务器端的附件索引表进行更新)。
步骤633,确定邮件正文或者附件中的数据片段(segment)是否存在匹配;
步骤634,对于各个匹配的数据片段,查询数据片段索引表中是否有对应的数据片段-数据片段哈希值匹配对,其中,数据片段索引表包括多个数据片段-数据片段哈希值匹配对,每个匹配对是一历史数据片段与其哈希值之间的对应关系;
步骤635,如果存在,在新建邮件中用数据片段哈希值表示相应的数据片段以形成修改的新建邮件,用于发送给邮件服务器端(服务器端通过恢复数据片段哈希值所对应的数据片段得到完整的邮件内容);
步骤636,如果不存在,创建新的数据片段-数据片段哈希值匹配对以更新数据片段索引表,并在邮件发送时将数据片段和其对应的数据片段标记信息一起发送出去(服务器接收新的数据片段-数据片段哈希值匹配对后也会对服务器端的数据片段索引表进行更新)。
可以单独或组合使用上述不同粒度数据块的索引表,在组合使用时,可以起到更好的技术效果。以上步骤在替换服务器和客户端的位置后,同样适用于服务器收到新邮件需要发送到客户端的情景。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (20)
1.一种应用在发送端的电子邮件发送方法,用于向接收端发送邮件,所述方法包括:
确定待发送邮件与历史邮件的至少一个相同数据块;
确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系;
响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。
2.根据权利要求1所述的方法,还包括:
响应于未存在记录,用记录了所述相同数据块及其对应的哈希值之间的对应关系的新匹配对更新所述第一历史数据块索引表;
在所述修改的待发送邮件中附加所述新匹配对。
3.根据权利要求1所述的方法,所述确定相同数据块的步骤包括:
在所述历史邮件中查找所述待发送邮件的相关邮件;
根据所述待发送邮件与所述相关邮件的对应部分是否相同来确定所述相同数据块。
4.根据权利要求3所述的方法,所述对应部分是电子邮件整体,或是根据电子邮件的数据结构所划分出的数据块区域。
5.根据权利要求1所述的方法,所述发送端是电子邮件客户端或者是电子邮件发送服务器。
6.根据权利要求1所述的方法,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
7.根据权利要求2所述的方法,所述新匹配对用于更新位于所述接收端的第二历史数据块索引表。
8.一种应用在接收端的电子邮件接收方法,用于接收来自发送端的邮件,所述方法包括:
接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值;
根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。
9.根据权利要求8所述的方法,所述第二历史数据块索引表与位于所述发送端的第一历史数据块索引表同步更新。
10.根据权利要求7所述的方法,所述发送端是电子邮件客户端或者是电子邮件发送服务器,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
11.一种应用在发送端的电子邮件发送装置,用于向接收端发送邮件,所述装置包括:
比较模块,被配置为确定待发送邮件与历史邮件的至少一个相同数据块;
查询模块,被配置为确定所述相同数据块是否在具有至少一个匹配对的第一历史数据块索引表中存在记录,所述匹配对记录一个历史数据块与其哈希值之间的对应关系;
修改模块,被配置为响应于存在记录,将所述待发送邮件中的所述相同数据块表示为其对应的哈希值后形成修改的待发送邮件。
12.根据权利要求11所述的装置,还包括:
被配置为响应于未存在记录,用记录了所述相同数据块及其对应的哈希值之间的对应关系的新匹配对更新所述第一历史数据块索引表的模块;
被配置为在所述修改的待发送邮件中附加所述新匹配对的模块。
13.根据权利要求11所述的装置,所述比较模块包括:
被配置为在所述历史邮件中查找所述待发送邮件的相关邮件的模块;
被配置为根据所述待发送邮件与所述相关邮件的对应部分是否相同来确定所述相同数据块的模块。
14.根据权利要求13所述的装置,所述对应部分是电子邮件整体,或是根据电子邮件的数据结构所划分出的数据块区域。
15.根据权利要求11所述的装置,所述发送端是电子邮件客户端或者是电子邮件发送服务器。
16.根据权利要求11所述的装置,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
17.根据权利要求12所述的装置,所述新匹配对用于更新位于所述接收端的第二历史数据块索引表。
18.一种应用在接收端的电子邮件接收装置,用于接收来自发送端的邮件,所述装置包括:
接收模块,被配置为接收修改的待发送邮件,所述修改的待发送邮件中包括用于表示相同数据块的哈希值;
恢复模块,被配置为根据第二历史数据块索引表将所述修改的待发送邮件中的哈希值恢复为相应的数据块,所述第二历史数据块索引表具有至少一个记录了一个历史数据块与其哈希值之间的对应关系的匹配对。
19.根据权利要求18所述的装置,所述第二历史数据块索引表与位于所述发送端的第一历史数据块索引表同步更新。
20.根据权利要求18所述的装置,所述发送端是电子邮件客户端或者是电子邮件发送服务器,所述接收端是电子邮件发送服务器或者是电子邮件客户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100930868A CN103368817A (zh) | 2012-03-31 | 2012-03-31 | 电子邮件发送、接收方法及装置 |
US13/826,525 US20130262601A1 (en) | 2012-03-31 | 2013-03-14 | Method and device for sending and receiving emails |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100930868A CN103368817A (zh) | 2012-03-31 | 2012-03-31 | 电子邮件发送、接收方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103368817A true CN103368817A (zh) | 2013-10-23 |
Family
ID=49236544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100930868A Pending CN103368817A (zh) | 2012-03-31 | 2012-03-31 | 电子邮件发送、接收方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130262601A1 (zh) |
CN (1) | CN103368817A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871705A (zh) * | 2016-06-07 | 2016-08-17 | 北京赛思信安技术股份有限公司 | 海量电子邮件分析处理过程中的电子邮件内容重复判断的方法 |
CN107798047A (zh) * | 2017-07-26 | 2018-03-13 | 上海壹账通金融科技有限公司 | 重复工单检测方法、装置、服务器和介质 |
CN110046281A (zh) * | 2019-01-31 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种数据添加方法、装置及设备 |
CN114979707A (zh) * | 2022-05-13 | 2022-08-30 | 深圳智慧林网络科技有限公司 | 一种数据发送方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2016003397A (es) * | 2013-09-18 | 2016-06-21 | Nokia Technologies Oy | Correlacion de mensajes electronicos enviados y recibidos. |
US11036919B2 (en) * | 2015-03-02 | 2021-06-15 | Citrix Systems, Inc. | Enabling file attachments in calendar events |
WO2016192057A1 (zh) * | 2015-06-03 | 2016-12-08 | 华为技术有限公司 | 索引表的更新方法和设备 |
CN113625938B (zh) * | 2020-05-06 | 2024-07-30 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546342A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
US20110218972A1 (en) * | 2010-03-08 | 2011-09-08 | Quantum Corporation | Data reduction indexing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636767B2 (en) * | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
-
2012
- 2012-03-31 CN CN2012100930868A patent/CN103368817A/zh active Pending
-
2013
- 2013-03-14 US US13/826,525 patent/US20130262601A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546342A (zh) * | 2009-05-08 | 2009-09-30 | 阿里巴巴集团控股有限公司 | 实现搜索服务的方法与系统 |
US20110218972A1 (en) * | 2010-03-08 | 2011-09-08 | Quantum Corporation | Data reduction indexing |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871705A (zh) * | 2016-06-07 | 2016-08-17 | 北京赛思信安技术股份有限公司 | 海量电子邮件分析处理过程中的电子邮件内容重复判断的方法 |
CN107798047A (zh) * | 2017-07-26 | 2018-03-13 | 上海壹账通金融科技有限公司 | 重复工单检测方法、装置、服务器和介质 |
CN110046281A (zh) * | 2019-01-31 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种数据添加方法、装置及设备 |
CN110046281B (zh) * | 2019-01-31 | 2023-06-06 | 创新先进技术有限公司 | 一种数据添加方法、装置及设备 |
CN114979707A (zh) * | 2022-05-13 | 2022-08-30 | 深圳智慧林网络科技有限公司 | 一种数据发送方法及装置 |
CN114979707B (zh) * | 2022-05-13 | 2023-12-19 | 深圳智慧林网络科技有限公司 | 一种数据发送方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20130262601A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368817A (zh) | 电子邮件发送、接收方法及装置 | |
KR102360186B1 (ko) | 기계-판독 가능 코드를 통한 오프라인 데이터 전송을 위한 방법 및 시스템 | |
CN109274754B (zh) | 用于在区块链网络中同步数据的方法、设备和存储介质 | |
US10237711B2 (en) | Dynamic types for activity continuation between electronic devices | |
JP2023168539A (ja) | 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理 | |
EP3217301B1 (en) | Propagation of data changes in a distributed system | |
US10965732B2 (en) | Streaming zip | |
CN109919691B (zh) | 一种数据处理的系统、方法以及装置 | |
US20140250158A1 (en) | Method and device for obtaining file | |
WO2022116425A1 (zh) | 数据血缘关系解析方法、系统、计算机设备及存储介质 | |
MX2010011958A (es) | Sincronizacion de documento a traves de protocolos sin estado. | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
CN111078672B (zh) | 数据库的数据对比方法及装置 | |
CN105264514A (zh) | 为移动计算提供性能和能量优化的方法、装置和计算机程序产品 | |
CN105474209A (zh) | 管理对共享文档的改动 | |
CN106528866A (zh) | 一种更新元数据的方法、装置和系统 | |
CN104079623B (zh) | 多级云存储同步控制方法及系统 | |
KR20150016946A (ko) | 파일 서술자를 자동으로 관리하는 기법 | |
EP4095686A2 (en) | Method for switching skin of mini-program page, and electronic device | |
JP2009110061A (ja) | 版数管理システムおよび版数管理方法 | |
US9374559B1 (en) | Low-latency media sharing | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN106293996B (zh) | 数据同步方法、主设备、备份设备和系统 | |
US20210014041A1 (en) | Preventing an incorrect transmission of a copy of a record of data to a distributed ledger system | |
KR20240100350A (ko) | 데이터 보유 및 저장 확장성 목적을 위해 블록체인으로부터 블록을 프루닝하기 위한 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131023 |