CN111373387B - 对通信工具中的文件的去重的方法、系统和介质 - Google Patents
对通信工具中的文件的去重的方法、系统和介质 Download PDFInfo
- Publication number
- CN111373387B CN111373387B CN201880074897.9A CN201880074897A CN111373387B CN 111373387 B CN111373387 B CN 111373387B CN 201880074897 A CN201880074897 A CN 201880074897A CN 111373387 B CN111373387 B CN 111373387B
- Authority
- CN
- China
- Prior art keywords
- file
- cloud storage
- communication message
- communication
- storage system
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 claims abstract description 179
- 230000004044 response Effects 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 54
- 238000012545 processing Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- 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/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/08—Annexed information, e.g. attachments
-
- 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/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提出了一种用于对通信消息中的文件进行去重的系统和方法。通信消息的附加文件可被确定为存在于云存储系统中。可以向通信客户端发送链接以用于访问在云存储系统上的、附加文件的相同文件。
Description
技术领域
本发明一般涉及计算系统,并且更具体地涉及用于由处理器对通信消息中的文件进行去重的各种实施例。
背景技术
在当今社会,消费者、商人、教育工作者和其他人使用各种计算网络系统,这些系统在各种设置方面的频率不断增加。计算机和网络技术的出现使得生活质量的提高成为可能,同时增强了日常活动。计算系统可以包括物联网(IoT),物联网是使用现有因特网基础设施来互连散布在全球的计算设备。IoT设备可被嵌入在各种物理设备或产品中。随着技术的巨大进步和改进的实现,对这些系统中有利于社会的效率、通信和改善的进步的需求越大。
发明内容
提供了使用一个或多个处理器来对通信消息中的文件进行去重的各种实施例。在一个实施例中,仅作为示例,提供了一种再次由处理器对在云存储和通信工具两者中的文件进行去重的方法。通信消息的附加文件可被确定为存在于云存储系统中。可以向通信客户端发送链接以用于访问云存储系统上的附加文件的相同文件。
附图说明
为了容易地理解本发明的优点,将通过参考在附图中示出的具体实施例来呈现对以上简要描述的本发明的更具体的描述。应当理解,这些附图仅描述了本发明的典型实施例,因此不应被认为是对其范围的限制,将通过使用附图利用附加特征和细节来描述和解释本发明,
其中:
图1是描述根据本发明实施例的示例性计算节点的框图;
图2是描述根据本发明实施例的示例性云计算环境的附加框图;
图3是描述根据本发明实施例的抽象模型层的附加框图;
图4是描述用于由处理器对云存储系统和通信工具中的文件进行去重的附加示例性方法的流程图,在该方法中,同样可以实现本发明的各方面;
图5是描述本发明的各个方面之间的示例性功能关系的附加框图;
图6是描述用于由处理器对云存储系统和通信工具中的文件进行去重的附加示例性方法的流程图,在该方法中,同样可以实现本发明的各方面;
图7是描述由处理器通过云存储服务器对文件进行去重的附加示例性方法的流程图,在该方法中,同样可以实现本发明的各方面;以及
图8是描述用于由处理器通过电子邮件客户端对文件进行去重的附加示例性方法的流程图,同样在该方法中可以实现本发明的各方面。
具体实施方式
作为初步问题,计算系统可以包括称为“云计算”的大规模计算,其中资源可以经由诸如计算机网络的通信系统交互和/或访问。资源可以是计算设备、存储设备、应用和/或其它计算机相关设备的软件呈现的模拟和/或仿真,和/或在诸如服务器的一个或多个计算设备上运行的服务。例如,多个服务器可以传送和/或共享信息,该信息可以根据完成所请求的任务所需的处理能力、存储空间和/或其他计算资源的量而跨服务器扩展和/或收缩。词语"云"是指在计算设备、计算机网络和/或以这种布置交互的其他计算机相关设备之间的互连性的图的云状外观。另外,物联网(IoT)是可被嵌入在对象、尤其是电器中并通过网络连接的计算设备的新兴概念。IoT网络可包括一个或多个IoT设备或“智能设备”,它们是诸如其中嵌入有计算设备的电器之类的物理对象。这些对象中的许多是可独立操作的设备,但是它们也可以与控制系统或替代地与分布式控制系统配对,诸如在云计算环境上运行的分布式控制系统。
许多企业(例如公司、组织、团体、政府实体等)拥有内部通信工具,例如电子邮件(“email”)、在线聊天、即时消息等。另外,企业可以为雇员部署私有云存储服务,诸如例如使用使得团队成员能够共享文件的服务或通信工具,诸如例如使用作为云内容管理文件共享服务的“Box”。
例如,考虑用户使用服务或通信工具将呈现在云存储中的文件经由电子邮件消息发送给相关人员以供他/她查看。如果用户将该文件作为附加文件附加到电子邮件消息,则同样的文件在通信工具服务和电子邮件系统中都出现。这些文件通常作为电子邮件中的附加文件发送。由于不必要的存储消耗,从存储管理员的角度来看,具有同样的文件的多个副本可能是具有挑战性的。这导致企业和/或存储管理员的成本,同时降低了计算效率。然而,从用户的角度来看,这可能不是问题。因此,用户不太可能被激励来进行所需的校正。此外,如果电子邮件不包含文件并且需要电子邮件的接收者登录到通信工具以取回文件,则一个或多个接收者仅为了取回失败而招致时间、努力和/或费用。此外,可能要求用户具有适当的浏览权限来打开链接以访问通信工具中的文件,因此需要增加时间来设置每个文件的访问权限以便共享。这些同样的挑战不仅应用于电子邮件消息的文件附件,而且应用于通信介质和功能(诸如例如在线聊天、Wiki页等)的文件附件。即,在这些情况下,在诸如例如电子邮件系统的通信工具的云存储系统和后端数据库(DB)两者中存在完全同样的文件。例如,如果每个一万用户每月一次用10兆字节(“MB”)文件执行上述操作,则在一年内生成1164千兆字节("GB")的复制文件。
如果云存储和通信工具在同样的存储装置上,则可使用现有去重复技术来删除重复的数据块。然而,云存储和通信工具通常是分离的系统,并且文件被存储在分离的存储设备中。因此,不能使用现有的去重复技术。
因此,本发明提供了一种解决方案,其消除了当同样的文件存在于云存储和单独的通信工具中时的重复的容量消耗。在一个方面,所示实施例的机制提供了由一个或多个处理器或计算系统对云存储和通信工具两者中的文件的去重。通信消息的附加文件可被确定为存在于云存储系统中。可以向通信客户端发送链接以用于访问云存储系统上的附加文件的相同文件。
例如,假设企业使用私有云存储和诸如例如电子邮件系统等通信工具两者来在雇员之间共享数据/信息。用户可能想要经由电子邮件共享存储在云存储中的文件。这样,用户可提供到存储在云存储中的文件的链接(例如,超文本传输协议“HTTP”链接),以便防止额外的存储空间被消耗。然而,如果文件被附加到电子邮件,则本发明提供了一种解决方案,其在同样的文件存在于云存储和单独的通信工具中时消除重复的容量消耗。
更具体地,当文件被上传到云存储系统时,云存储系统可以计算文件的散列值。当文件被附加到电子邮件并且需要被发送时,通信工具(例如,电子邮件系统、聊天、Wiki)计算附加文件的散列值。电子邮件系统可执行查找操作,用于查找云存储系统中的文件,并通过使用可由云存储系统提供的应用编程接口(“API”)来确定云存储系统中的文件的同样的散列值是否与附加文件的散列值相同。如果找到同样的文件,则电子邮件系统可以用到云存储中的相同文件的链接来替换到附加文件的链接。因此,可以减少对附件文件的存储消耗。
在一个方面,本发明可以应用于作为通信工具的电子邮件系统。当考虑Wiki系统时,“电子邮件”可以被读作“Wiki页”,而“发送电子邮件消息”可以被读作“保存Wiki页”。
应当注意,可以使用各种数学运算或函数来执行一个或多个计算,所述数学运算或函数可以涉及一个或多个数学运算(例如,解析地或计算地求解微分方程或偏微分方程,使用加法、减法、除法、乘法、标准偏差、平均值、百分比、使用统计分布的统计建模,通过找到组合变量的最小值、最大值或类似阈值等)。
本文将进一步描述所说明的实施例的各种方面的其它示例和对应益处。
预先理解,尽管本公开包括关于云计算的详细描述,但是本文中记载的教导的实现不限于与一个或多个车辆相关联的云计算环境和/或计算系统。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构
现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
在云计算节点10中,存在计算机系统/服务器12,其可与许多其他通用或专用计算系统环境或配置一起操作。适合与计算机系统/服务器12一起使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统、以及包括任何上述系统或设备的分布式云计算环境等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
设备层55包括嵌入有独立的电子器件、传感器、致动器和其他对象的物理和/或虚拟设备和/或独立的电子器件、传感器、致动器和其他对象以在云计算环境50中执行各种任务。设备层55中的每个设备将联网能力结合到其他功能抽象层,使得从设备获得的信息可以被提供给该设备,和/或来自其他抽象层的信息可以被提供给设备。在一个实施例中,包括设备层55在内的各种设备可以并入统称为“物联网”(IoT)的实体的网络。如本领域普通技术人员将理解的,这样的实体网络允许数据的相互通信、收集和传播以实现各种目的。
如图所示,设备层55包括传感器52、致动器53、具有集成处理、传感器和联网电子设备的"学习"恒温器56、相机57、可控家用插座/插口58以及可控电开关59,如图所示。其它可能的设备可以包括但不限于各种附加传感器设备、联网设备、电子设备(诸如远程控制设备)、附加致动器设备、所谓的“智能”电器(诸如冰箱或洗衣机/干衣机)以及各种各样的其它可能的互连对象。
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟化层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供账单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;并且在本发明的所示实施例的上下文中,在通信消息工作负荷和功能96中的文件的各种去重。此外,用于通信消息中的文件的去重的工作负载和功能96可以包括诸如数据解析、数据分析以及如将进一步描述的通知功能之类的操作。本领域普通技术人员将理解,用于在通信消息中的文件的去重工作负载和功能96还可以结合各种抽象层的其他部分(诸如硬件和软件60、虚拟化70、管理80和其他工作负载90(例如,诸如数据分析处理94)中的那些抽象层)工作,以实现本发明的所示实施例的各种目的。
在一个方面,所示出的实施例的机制提供了一种用于通信消息中文件的去重的新颖方法。作为初步问题,本发明实现的去重功能可以不在文件系统级别中实现,而是在云存储系统和通信工具系统(例如,电子邮件系统)的应用级别中实现。在另外的方面,由本发明实现的去重功能可以在文件系统的级别中以及在云存储系统和通信工具系统的应用级别中实现。具体地,可以通过向这两个系统(例如,云存储系统和通信工具系统)添加功能并将这些功能配置为经由API彼此通信来实现去重复功能。API的使用使得能够实现去重复功能,以便消除和/或减少两个应用的后端系统的广泛集成。这样,本发明的机制可以适用于企业或组织的现有系统。
现在转向图4,描绘了用于使用处理器对通信消息中的文件进行去重的方法400,其中可以实现所图示的实施例的各个方面。功能400可以被实现为作为机器上的指令执行的方法,其中指令被包括在至少一个计算机可读介质或一个非暂态机器可读存储介质上。功能400可以在框402开始。如在框404中,可为被上传到云存储系统的每个文件计算并保存散列值(诸如,例如“SHA256”)。在发送或保存具有附加文件的通信消息时,可以计算被发送和/或保存的通信消息(例如,电子邮件消息)中的附加文件的散列值(例如,SHA256),并且可以从位于云存储系统上的文件中定位具有同样的/相等散列值(例如,SHA256)的文件“F”,如在框406中的。可以(从通信消息)删除附加文件,并且可以在通信消息中提供到文件“F”的链接来代替附加文件,使得当打开置于通信消息中的链接时可以打开文件“F”,如在块408中的。功能400可以结束,如在块410中。
现在转向图5,描绘了用于对云存储系统中的文件和通信工具进行去重的去重系统500的示意图被描绘。如将看到的,在与先前在图1-3中已经描述的同样的描述意义上,许多功能块也可以被认为是功能的“模块”。许多功能框500可以作为各种组件上的后台进程执行,或者在分布式计算组件中,或者在用户设备上,或者在别处,并且通常不知道用户执行本发明的一般化任务。此外,图4的功能400的操作可以在图5的功能的各个框中实现。而且,图1-3的一个或多个方面也可包括在图4中和/或结合其实现。
去重复系统500可以包括云存储系统502和电子邮件系统504。云存储系统502可包括公共文件存储系统518、隐藏(例如,非公开的)文件存储系统520和一个或多个API514。
电子邮件系统504可以包括电子邮件消息506(例如,电子邮件消息主体),其可以具有附加到电子邮件消息506的(一个或多个)附加文件508。电子邮件系统504可以包括电子邮件消息传输组件510和电子邮件消息删除组件512。在操作中,电子邮件消息传输组件510和/或电子邮件消息删除组件512可经由API514中的一个或多个向云存储系统502传送、传输和/或发送或接收电子邮件消息体506和/或附加文件508。
作为初步问题,在电子邮件系统504中,电子邮件消息中的(一个或多个)附加文件508不是作为二进制数据嵌入在电子邮件消息体506中,而是可以在接收到电子邮件消息体506之后经由HTTP下载。在一个方面,电子邮件系统可以包括各种电子邮件系统类型。
云存储系统的文件存储区
在云存储系统502中,隐藏文件存储系统520可以与其他系统和存储装置分开提供。公共文件存储系统518可以是保存所上传文件的存储系统。通常,每个文件具有一个或多个属性,诸如,例如名称和大小,并且另外,在云存储系统502中具有版本信息。与公共文件存储系统518不同,存储在隐藏文件存储系统520中的文件通常不能从云存储的用户访问。相反,公共文件存储系统518存储从电子邮件消息链接的文件。
云存储系统API
在一个或多个API514中,可以实现一个或多个API函数。例如,可以实现以下四个API函数。1)“get_SHA256 of(名称,版本)”函数,其可以返回由名称和版本参数指定的文件的散列值(例如,SHA256值)。API函数的执行时间是“O(1)”(例如,无论集合中的数据量如何,可能需要诸如例如14纳秒或三分钟的恒定时间),因为SHA256值已经被计算。2)“increment_ref_count_of(名称,版本)”函数,其递增由名称和版本参数指定的文件的“ref_count”(例如,引用计数,其表示引用、附加和/或包括目标文件的电子邮件的数量)。3)“get_special_link_to(名称,版本)”API函数,其创建并返回HTTP链接,该HTTP链接允许访问由名字和版本参数指定的文件而无需认证。4)“decrement_ref_count_of(名称,版本)”函数,其递减由名称和版本参数指定的文件的“ref_count”。如果ref_count变为0,则函数可以删除指定的文件。
将文件上传到云存储系统
当文件被上传到云存储系统502时,云存储系统502除了任何现有处理之外还可以执行以下处理。云存储系统502可计算所上传的文件的散列值(例如,SHA256值),并将该值保存为元数据SHA256。云存储系统502可以用0初始化元数据"ref_count"。已经完成了上传处理的文件可以被保存在云存储系统502的公共文件存储系统518中。
传输电子邮件消息,带有与上传文件同样的文件作为附件
在激活发送按钮时,电子邮件消息传输组件510可以如下操作。步骤1)电子邮件消息传输组件510可确定和/或计算(一个或多个)附加文件508的散列值(例如,SHA256值),SHA256值在下文中可被表示为“S”。步骤2)电子邮件消息传输组件510可以发送电子邮件消息(例如,电子邮件消息体506和(一个或多个)附加文件508)。步骤3)电子邮件消息传输组件510可以在其中可以在存储(一个或多个)附加文件508的通信工具中/上创建和/或制作文件、文件夹和容器的列表。如果要搜索通信工具中/上的所有文件,则散列值的比较可能导致冲突。因此,待搜索的文件可被缩减到定义的程度或是缩减的搜索查询。例如,搜索可以通过以下步骤进行:a)列出由创建了电子邮件消息的用户上传的文件(其可以包括电子邮件消息体506和/或(一个或多个)附加文件508)和/或b)将搜索限制为仅最近上传的文件(例如,在定义的时间段或时间段范围内最近上传的文件)。步骤4)对于步骤3中列出的文件和版本的所有组合中的每个文件“F”和版本“V”,电子邮件消息传输组件510可以a)调用API514中的一个或多个(例如,云存储API函数get_sha256_of(F,V)),并且该API调用可以返回文件F的版本V的元数据sha256的值,并且在下文中,结果值可以被表示为"s1"。此外,电子邮件消息传输组件510可以b)如果S1=S,i)调用API 514中的一个或多个(例如,调用云存储API函数increment_ref_count_of(F,V)),ii)调用云存储API函数get_special_link_to(F,V),其结果值在下文中被表示为slink(*),iii)从发送的电子邮件消息中删除(一个或多个)附加文件508,并且替代地在其中插入分段链接(“slink”),以及iv)完成计算操作。
在一个方面,电子邮件消息(其可以包括电子邮件消息体506和/或附加文件508)的传输可以在步骤4之后执行,然而,推荐当前列出的步骤顺序,以便使得电子邮件传输和对复制文件的搜索能够异步地执行,这有助于增加在步骤3中要搜索的文件的数量。因此,所提供的用于将与上传的文件同样的文件作为附件来传输电子邮件消息的步骤顺序增加了找到复制文件的机会和百分比机会。此外,可能不利地延迟去重操作的定时。然而,考虑到可以通过针对各个附加文件的去重除操作来减少的文件容量消耗量不应该太大。
在步骤4-b-ii的附加和补充方面,文件"F"可被识别为复制文件,并且可被上传到云存储(例如,可公开访问)。这样,可能需要一些访问限制并将其施加在文件“F”上。出于这个原因,私有链接(例如,没有设置访问权限并且每个人都可以访问的链接)可以用作slink,以便使电子邮件消息的接收者能够访问文件。此外,为了增加计算安全性,云存储系统502可被配置成具有新的API函数(例如,API函数添加许可(文件、版本、电子邮件地址)),该新的API函数向与电子邮件地址参数相关联的用户给予对文件的访问权限,并且电子邮件消息的接收者被给予使用新的API函数来访问文件的许可。
以上描述已经说明了如何执行去重复操作。代替上述内容,以下提供了当对云存储上的链接文件或包含SLINK的电子邮件消息进行操作时本发明的行为。
从云存储删除文件
当从云存储系统502删除文件的版本(例如,File_1版本:1、File_1版本:2和/或File_2版本:1)时,如果ref_count>0并且文件被删除,则文件可能变得不可从电子邮件消息访问。因此,本发明可将云存储系统502的文件置于以下状态:状态1)文件不能从云存储的正常接口访问(文件被创建为伪造的并且可能被删除),和/或状态2)文件仅能经由所选HTTP链接来访问。这样,隐藏文件存储系统520可以被引入/提供为具有这样的特性的文件夹/容器,以使得能够将文件放置在状态1和/或状态2。隐藏文件存储系统520可以通过如下操作来提供:1)准备云存储的任何用户被禁止访问的文件夹,以及2)将电子邮件系统504的每个选择或标识的用户注册为可以访问该文件夹的唯一用户(例如,隐藏文件存储系统520)。从云存储系统502(例如,从公共文件存储系统518)删除文件的版本可如下执行。而且,如果引用计数等于零(例如,“ref_count==0,”),则可以使用一个或多个删除操作来删除文件,和/或可以将文件从公共文件存储系统518移动到隐藏文件存储系统520。
删除包含Slink的电子邮件消息
当删除包含slink的电子邮件消息时,并且如果从slink链接的文件存在于隐藏文件存储系统520中并且电子邮件消息是引用该文件的唯一一个,则该文件将从云存储系统502(例如,从隐藏文件存储系统520)中删除。也就是说,当删除包含slink的电子邮件消息时,电子邮件消息传输组件510如下操作。步骤1)取回slink所链接的文件的名称F和版本V。作为第一步(“步骤1”),slink可被格式化,使得链接文件的名称和版本可从slink直接识别,和/或可实现一个或多个API函数514的其它API函数,诸如例如get_filename_and_version_of(slink)。作为第二步骤(“步骤2”),电子邮件消息传输组件510可以调用API514中的一个或多个(例如,调用云存储API decrement_ref_count_of(F,V))。再次,如前所述,“云存储API decrement_ref_count_of(F,V)”API调用可递减引用计数“ref_count”,并且当引用计数“ref_count”达到0时,可从云存储系统502删除文件。作为第三步骤(“步骤3”),电子邮件消息传输组件510可以删除电子邮件消息。
应当注意,如本文针对本发明所描述的,当文件首次被上传到云存储系统(例如,云存储系统502)上并且然后在电子邮件消息中被用作附加文件(例如,(一个或多个)附加文件508)时,文件的去重复操作是可能的。然而,当文件首先作为附件被附加到电子邮件消息并且然后被上传到云存储系统(例如,云存储系统502)时,去重操作是不被允许/不可能的。然而,上传到云存储系统(例如,云存储系统502)可以在较早的时间段执行,这可能在云存储与本地文件系统同步时发生。
现在转向图6,描绘了用于由云存储服务器使用处理器进行去重的方法600,其中可以实现所图示的实施例的各个方面。功能600可以被实现为作为机器上的指令执行的方法,其中指令被包括在至少一个计算机可读介质或一个非暂态机器可读存储介质上。在一个方面,图1-5的功能、操作和/或架构设计可以全部和/或部分地在图6中实现。
功能600可以在框602中开始。如在框604中,可以执行确定操作以确定通信消息(例如,电子邮件)的附加文件存在于云存储系统中。如在框606中,可将链接发送到通信客户端(例如,电子邮件客户端接收方)以用于访问附加文件的云存储系统上的相同文件。功能600可以结束,如在框608中。
在一个方面,结合和/或作为图6的至少一个框的一部分,方法600的操作可以包括以下各项中的每一个。方法600的操作可以发送和/或接收来自通信客户端的具有附加文件的通信消息。方法600的操作可以使用云存储服务器或通信客户端来确定附加文件存在于云存储系统中,其中通信客户端是电子邮件客户端。可以搜索从通信消息的发送者上传的文件的列表。
在附加方面,方法600的操作可以使用应用编程接口(API)调用经由通信客户端获得相同文件的散列值,将相同文件的散列值与通信消息中的附加文件中的散列值进行比较;和/或确定所述云存储系统中的所述相同文件具有与所述通信消息中的所述附加文件相同的散列值。而且,相同文件可以被重新定位到仅在删除相同文件时经由链接可访问的云存储系统的选定区域。
现在转向图7,描绘了用于由云存储服务器使用处理器进行去重的方法700,其中可以实现所图示的实施例的各个方面。功能性700可以被实现为作为机器上的指令执行的方法,其中指令被包括在至少一个计算机可读介质或一个非暂态机器可读存储介质上。在一个方面,图1-5的功能、操作和/或架构设计可以全部和/或部分地在图7中实现。
功能700可以在框702中开始。如在框704中,具有附加文件的电子邮件消息可以由云计算服务器从电子邮件客户端接受。如在框706中,可以由云计算服务器执行确定操作,以确定附加文件存在于云存储系统上。响应于确定附件存在于云存储系统上,可由云存储服务器向电子邮件客户端发送链接以访问云存储系统上的相同文件,如在框708中。功能700可以结束,如在块710中。
现在转向图8,描绘了用于由电子邮件客户端使用处理器进行去重复的方法800,其中可以实现所图示的实施例的各个方面。功能800可以被实现为作为机器上的指令执行的方法,其中指令被包括在至少一个计算机可读介质或一个非暂态机器可读存储介质上。在一个方面,图1-5的功能、操作和/或架构设计可以全部和/或部分地在图8中实现。
功能800可以在框802中开始。如在框804中,可以从电子邮件客户端发送具有附加文件的电子邮件消息。可以执行确定操作以确定附加文件存在于云存储系统上,如在框806中。响应于确定附加文件存在于云存储上,可以从云存储系统获得链接,用于访问云存储系统上的相同文件,如在框808中。电子邮件消息的附加文件可以被删除,并且被删除的文件可以被替换为链接,如在块810中。功能800可以结束,如在框812中。
在一个方面,结合图6-8的至少一个框和/或作为其一部分,方法600、700和/或800的操作可包括以下各项中的每一者。方法600、700和/或800的操作可确定云存储上的文件是否具有与附加文件的散列值相同的散列值,以用于确定附加文件是否存在于云存储系统上。电子邮件客户端可以通过使用一个或多个API调用(例如,“get_sha256”)来获得存储在云存储上的文件的散列值。可以在云存储中的散列值和附加文件的散列值之间执行比较操作,以便确定/验证文件是否同样的和/或相同的。为了确定附加文件是否存在于云存储上,可以对包括由电子邮件消息的发送者上传的文件的列表执行和/或进行搜索,和/或对包括由电子邮件消息的发送者最近上传(例如,在选择的或定义的时间段内)的文件的列表执行和/或进行搜索。
在一个方面,方法600、700和/或800的操作可以提供到云存储上的文件的链接,该文件可以是从电子邮件系统和/或云存储系统的任何用户可访问的。在附加方面,当云存储上的文件被删除时,所删除的文件可被移除到云存储上的区域(隐藏文件区域)并且仅通过所选链接可访问,该所选链接可被限于电子邮件系统和/或云存储系统的所选或所标识的用户。电子邮件客户端可以通过使用一个或多个API调用(例如,“get_special_link”API调用函数)从云存储获得链接。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如Smalltalk、C++等)以及常规的过程式编程语言(例如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (17)
1.一种用于由处理器对通信消息中的文件进行去重的方法,包括:
响应于从发送者接收到通信消息,确定所述通信消息的附加文件存在于云存储系统中;以及
向接收所述通信消息的通信客户端发送用于访问在所述云存储系统上的、所述附加文件的相同文件的链接,其中在所述通信客户端接收所述通信消息之前,所述附加文件被从所述通信消息中删除,并且被所述链接替换;
其中在删除所述相同文件时,将所述相同文件重新定位到仅经由所述链接可访问的所述云存储系统的选定区域。
2.根据权利要求1所述的方法,还包括发送或接收具有来自所述通信客户端的所述附加文件的所述通信消息。
3.根据权利要求1所述的方法,还包括使用云存储服务器或所述通信客户端来确定所述附加文件存在于所述云存储系统中,其中所述通信客户端是电子邮件客户端。
4.根据权利要求1所述的方法,还包括:
使用应用编程接口API调用经由所述通信客户端获得所述相同文件的散列值;以及
将所述相同文件的所述散列值与所述通信消息中的所述附加文件中的散列值进行比较。
5.根据权利要求1所述的方法,还包括确定所述云存储系统中的所述相同文件具有与所述通信消息中的所述附加文件相同的散列值。
6.根据权利要求1所述的方法,还包括搜索从所述通信消息的发送者上传的文件的列表。
7.一种用于对通信消息中的文件进行去重的系统,包括:
具有可执行指令的一个或多个计算机,所述可执行指令在被执行时使所述系统:
响应于从发送者接收到通信消息,确定所述通信消息的附加文件存在云存储系统中;以及
向接收所述通信消息的通信客户端发送用于访问在所述云存储系统上的、所述附加文件的相同文件的链接,其中在所述通信客户端接收所述通信消息之前,所述附加文件被从所述通信消息中删除,并且被所述链接替换;
其中在删除所述相同文件时将所述相同文件重新定位到仅经由所述链接可访问的所述云存储系统的选定区域。
8.根据权利要求7所述的系统,其中所述可执行指令还发送或接收具有来自所述通信客户端的所述附加文件的所述通信消息。
9.根据权利要求7所述的系统,其中,所述可执行指令还使用云存储服务器或所述通信客户端来确定所述附加文件存在于所述云存储系统中,其中所述通信客户端是电子邮件客户端。
10.根据权利要求7所述的系统,其中所述可执行指令还:
使用应用编程接口API调用经由所述通信客户端获得所述相同文件的散列值;以及
将所述相同文件的所述散列值与所述通信消息中的所述附加文件中的散列值进行比较。
11.根据权利要求7所述的系统,其中所述可执行指令还确定所述云存储系统中的所述相同文件具有与所述通信消息中的所述附加文件相同的散列值。
12.根据权利要求7所述的系统,其中所述可执行指令还搜索从所述通信消息的发送者上传的文件的列表。
13.一种用于由处理器对通信消息中的文件进行去重的计算机可读存储介质,其具有存储在其中的计算机可读程序代码部分,所述计算机可读程序代码部分包括:
可执行部分,所述可执行部分响应于从发送者接收到通信消息,确定所述通信消息的附加文件存在于云存储系统中;以及
可执行部分,所述可执行部分向接收所述通信消息的通信客户端发送用于访问在所述云存储系统上的、所述附加文件的相同文件的链接,其中在所述通信客户端接收所述通信消息之前,所述附加文件被从所述通信消息中删除,并且被所述链接替换;
其中所述可执行部分在删除所述相同文件时,将所述相同文件重新定位到仅经由所述链接可访问的所述云存储系统的选定区域。
14.根据权利要求13所述的计算机可读存储介质,还包括可执行部分,所述可执行部分发送或接收具有来自所述通信客户端的所述附加文件的所述通信消息。
15.根据权利要求13所述的计算机可读存储介质,还包括可执行部分,所述可执行部分使用云存储服务器或所述通信客户端来确定所述附加文件存在于所述云存储系统中,其中所述通信客户端是电子邮件客户端。
16.根据权利要求13所述的计算机可读存储介质,还包括可执行部分,所述可执行部分:
使用应用编程接口API调用经由所述通信客户端获得所述相同文件的散列值;
将所述相同文件的所述散列值与所述通信消息中的所述附加文件中的散列值进行比较;以及
确定所述云存储系统中的所述相同文件具有与所述通信消息中的所述附加文件相同的所述散列值。
17.根据权利要求13所述的计算机可读存储介质,还包括可执行部分,所述可执行部分搜索从所述通信消息的发送者上传的文件的列表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/817,594 US10691643B2 (en) | 2017-11-20 | 2017-11-20 | Deduplication for files in cloud computing storage and communication tools |
US15/817,594 | 2017-11-20 | ||
PCT/IB2018/058670 WO2019097352A1 (en) | 2017-11-20 | 2018-11-05 | Deduplication for files in cloud computing storage and communication tools |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111373387A CN111373387A (zh) | 2020-07-03 |
CN111373387B true CN111373387B (zh) | 2024-04-16 |
Family
ID=66534570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880074897.9A Active CN111373387B (zh) | 2017-11-20 | 2018-11-05 | 对通信工具中的文件的去重的方法、系统和介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10691643B2 (zh) |
JP (1) | JP7161270B2 (zh) |
CN (1) | CN111373387B (zh) |
DE (1) | DE112018005283T5 (zh) |
GB (1) | GB2582099A (zh) |
WO (1) | WO2019097352A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257104A (zh) * | 2020-10-10 | 2021-01-22 | 北京字跳网络技术有限公司 | 权限控制方法、装置和电子设备 |
CN113641520B (zh) * | 2021-08-20 | 2024-04-05 | 北京百度网讯科技有限公司 | 数据处理方法、系统、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640162A (zh) * | 2009-12-03 | 2012-08-15 | 国际商业机器公司 | 云计算环境内对电子通信中的文档的动态访问控制 |
CN103475564A (zh) * | 2012-06-06 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 网络附件传送方法及其系统 |
CN104584006A (zh) * | 2012-08-13 | 2015-04-29 | 微软公司 | 对消息传递上的附件的去重复以及对附件的自动修复 |
CN106464572A (zh) * | 2014-05-30 | 2017-02-22 | 苹果公司 | 消息附件管理 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220259A (ja) | 2003-01-14 | 2004-08-05 | Seiko Epson Corp | 添付ファイル管理システム、プログラム、情報記憶媒体および添付ファイル管理方法 |
US20100332401A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
JP5864133B2 (ja) | 2011-05-27 | 2016-02-17 | 株式会社Hde | プログラム及びサーバ |
CN103108008B (zh) | 2011-11-14 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 一种下载文件的方法及文件下载系统 |
CN103595615B (zh) | 2012-08-15 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 电子邮件的发送和接收方法、终端 |
WO2015047377A1 (en) | 2013-09-30 | 2015-04-02 | Hewlett-Packard Development Company, L.P. | Delivering an email attachment as a summary |
US20150169599A1 (en) | 2013-11-12 | 2015-06-18 | Iii Holdings 1, Llc | System and method for electronic mail attachment processing, offloading, retrieval, and grouping |
US9614796B2 (en) | 2014-03-13 | 2017-04-04 | Sap Se | Replacing email file attachment with download link |
US9825925B2 (en) | 2014-06-11 | 2017-11-21 | Bijit Hore | Method and apparatus for securing sensitive data in a cloud storage system |
US10911380B2 (en) | 2014-11-07 | 2021-02-02 | Quest Software Inc. | Automated large attachment processing during migration |
CN106933872A (zh) | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 一种通过传统文件系统接口访问云存储服务的方法及装置 |
US20180196609A1 (en) * | 2017-01-12 | 2018-07-12 | Qualcomm Incorporated | Data Deduplication Using Multi-Chunk Predictive Encoding |
-
2017
- 2017-11-20 US US15/817,594 patent/US10691643B2/en active Active
-
2018
- 2018-11-05 CN CN201880074897.9A patent/CN111373387B/zh active Active
- 2018-11-05 GB GB2007989.3A patent/GB2582099A/en not_active Withdrawn
- 2018-11-05 WO PCT/IB2018/058670 patent/WO2019097352A1/en active Application Filing
- 2018-11-05 DE DE112018005283.4T patent/DE112018005283T5/de active Pending
- 2018-11-05 JP JP2020527740A patent/JP7161270B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640162A (zh) * | 2009-12-03 | 2012-08-15 | 国际商业机器公司 | 云计算环境内对电子通信中的文档的动态访问控制 |
CN103475564A (zh) * | 2012-06-06 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 网络附件传送方法及其系统 |
CN104584006A (zh) * | 2012-08-13 | 2015-04-29 | 微软公司 | 对消息传递上的附件的去重复以及对附件的自动修复 |
CN106464572A (zh) * | 2014-05-30 | 2017-02-22 | 苹果公司 | 消息附件管理 |
Also Published As
Publication number | Publication date |
---|---|
US10691643B2 (en) | 2020-06-23 |
US20190155920A1 (en) | 2019-05-23 |
WO2019097352A1 (en) | 2019-05-23 |
GB202007989D0 (en) | 2020-07-15 |
JP7161270B2 (ja) | 2022-10-26 |
JP2021503660A (ja) | 2021-02-12 |
DE112018005283T5 (de) | 2020-07-30 |
GB2582099A (en) | 2020-09-09 |
CN111373387A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810316B2 (en) | Updating monitoring systems using merged data policies | |
US10257109B2 (en) | Cloud-based content management system | |
US9800659B2 (en) | Enterprise peer-to-peer storage and method of managing peer network storage | |
CN111201763B (zh) | 基于文件系统内容的安全性 | |
CN109906597B (zh) | 向和从云网络中存储和取回受限制的数据集和非受限制的数据集 | |
US9338599B1 (en) | Location-based mobile object management in a distributed cloud for enhancing access and performance | |
US11526404B2 (en) | Exploiting object tags to produce a work order across backup engines for a backup job | |
US10606480B2 (en) | Scale-out container volume service for multiple frameworks | |
US10216836B2 (en) | Protocol based user data management | |
CN111373387B (zh) | 对通信工具中的文件的去重的方法、系统和介质 | |
US10082933B2 (en) | Context sensitive active fields in user interface | |
US9858355B1 (en) | Search engine optimization based upon most popular search history | |
US11200289B2 (en) | Centralized data sharing program | |
US10404274B2 (en) | Space compression for file size reduction | |
US20190392079A1 (en) | Holistic mapping and relocation of social media assets | |
US9619476B2 (en) | Parallel container and record organization | |
US11811888B2 (en) | Ensuring data protection and control in distributed hybrid multi-cloud environment | |
US20210089499A1 (en) | Dynamic electronic folder interaction with software applications | |
US20190155921A1 (en) | Remote copy with data deduplication functionality |
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 |