掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及互联网领域,具体而言,涉及一种幻灯片级别的演示文稿更新方法和装置。

背景技术

Microsoft Office PowerPoint,简称PPT,即演示文稿软件,用户可以在投影仪或者计算机上进行演示,也可以将演示文稿打印出来,制作成胶片,以便应用到更广泛的领域中。PPT的格式后缀名一般为:ppt、pptx、keynote;或者也可以保存为:pdf、图片格式等。演示文稿中的每一页就叫幻灯片,每张幻灯片都是演示文稿中既相互独立又相互联系的内容。

现有的PPT文件可以通过软件上传至云端保存或下载在本地,用户在修改时,可以直接修改本地存储的PPT文件,也可修改云端保存的PPT文件,这就会导致一个问题,如何验证云端保存的PPT文件和本地保存的PPT文件是否版本一致,若手动下载后人工比对,则效率较低且容易出错。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种幻灯片级别的演示文稿更新方法和装置,以至少解决维持文件一致性的操作较繁琐的技术问题。

根据本申请实施例的一个方面,提供了一种幻灯片级别的演示文稿更新方法,包括:获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比所述第一指纹信息和所述第二指纹信息确定所述本地计算机和所述云端服务器的一端中发生变化的目标幻灯片;利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致。

可选地,所述第一指纹信息包括所述本地计算机保存的演示文稿中每张幻灯片的幻灯片指纹,所述第二指纹信息包括所述云端服务器保存的演示文稿中每张幻灯片的幻灯片指纹,其中,经过对比所述第一指纹信息和所述第二指纹信息确定所述本地计算机和所述云端服务器的一端中发生变化的目标幻灯片,包括:将所述本地计算机保存的演示文稿中每一张幻灯片的幻灯片指纹与所述云端服务器保存的演示文稿中相应的幻灯片的幻灯片指纹进行对比;在幻灯片指纹不同的情况下,将更新时间更晚的幻灯片作为所述目标幻灯片。

可选地,在获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息之前,所述方法还包括:利用哈希算法生成所述目标幻灯片的哈希值;利用所述目标幻灯片的哈希值、所述目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成所述目标幻灯片的幻灯片指纹。

可选地,在利用所述目标幻灯片的哈希值、所述目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成所述目标幻灯片的幻灯片指纹之后,所述方法还包括:将所述目标幻灯片的幻灯片指纹写入所述目标幻灯片的标签cSld中。

可选地,利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致,包括:在所述目标幻灯片为新增幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则将所述目标幻灯片插入至所述云端服务器的演示文稿中的相同位置,若所述目标幻灯片来自所述云端服务器,则将所述目标幻灯片插入至所述本地计算机的演示文稿中的相同位置。

可选地,利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致,包括:在所述目标幻灯片为被删除的幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则从所述云端服务器的演示文稿中的相同位置删除所述目标幻灯片,若所述目标幻灯片来自所述云端服务器,则从所述本地计算机的演示文稿中的相同位置删除所述目标幻灯片。

可选地,利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致,包括:在所述目标幻灯片为内容发生变化的已有幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则将所述云端服务器的演示文稿中相同位置的幻灯片替换为所述目标幻灯片,若所述目标幻灯片来自所述云端服务器,则将所述本地计算机的演示文稿中相同位置的幻灯片替换为所述目标幻灯片。

根据本申请实施例的另一方面,还提供了一种幻灯片级别的演示文稿更新装置,包括:获取单元,用于获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;处理单元,用于经过对比所述第一指纹信息和所述第二指纹信息确定所述本地计算机和所述云端服务器的一端中发生变化的目标幻灯片;更新单元,用于利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致。

可选地,所述第一指纹信息包括所述本地计算机保存的演示文稿中每张幻灯片的幻灯片指纹,所述第二指纹信息包括所述云端服务器保存的演示文稿中每张幻灯片的幻灯片指纹,其中,处理单元还用于:将所述本地计算机保存的演示文稿中每一张幻灯片的幻灯片指纹与所述云端服务器保存的演示文稿中相应的幻灯片的幻灯片指纹进行对比;在幻灯片指纹不同的情况下,将更新时间更晚的幻灯片作为所述目标幻灯片。

可选地,本申请的装置还包括:指纹单元,用于在获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息之前,利用哈希算法生成所述目标幻灯片的哈希值;利用所述目标幻灯片的哈希值、所述目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成所述目标幻灯片的幻灯片指纹。

可选地,指纹单元还用于:在利用所述目标幻灯片的哈希值、所述目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成所述目标幻灯片的幻灯片指纹之后,将所述目标幻灯片的幻灯片指纹写入所述目标幻灯片的标签cSld中。

可选地,更新单元还用于:在所述目标幻灯片为新增幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则将所述目标幻灯片插入至所述云端服务器的演示文稿中的相同位置,若所述目标幻灯片来自所述云端服务器,则将所述目标幻灯片插入至所述本地计算机的演示文稿中的相同位置。

可选地,更新单元还用于:在所述目标幻灯片为被删除的幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则从所述云端服务器的演示文稿中的相同位置删除所述目标幻灯片,若所述目标幻灯片来自所述云端服务器,则从所述本地计算机的演示文稿中的相同位置删除所述目标幻灯片。

可选地,更新单元还用于:在所述目标幻灯片为内容发生变化的已有幻灯片的情况下,若所述目标幻灯片来自所述本地计算机,则将所述云端服务器的演示文稿中相同位置的幻灯片替换为所述目标幻灯片,若所述目标幻灯片来自所述云端服务器,则将所述本地计算机的演示文稿中相同位置的幻灯片替换为所述目标幻灯片。

根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。

在本申请实施例中,获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比第一指纹信息和第二指纹信息确定本地计算机和云端服务器的一端中发生变化的目标幻灯片;利用目标幻灯片在本地计算机和云端服务器的另一端的演示文稿中进行更新,以保持本地计算机保存的演示文稿与云端服务器保存的演示文稿一致,可以解决维持文件一致性的操作较繁琐的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的幻灯片级别的演示文稿更新方法的硬件环境的示意图;

图2是根据本申请实施例的一种可选的幻灯片级别的演示文稿更新方法的流程图;

图3是根据本申请实施例的一种可选的幻灯片级别的演示文稿更新方案的示意图;

图4是根据本申请实施例的一种可选的幻灯片级别的演示文稿更新装置的示意图;

图5是根据本申请实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了识别文件关联一致性,可以直接对文件采用Md5算法进行Hash计算比对。但凡PPT文件有一点点的修改,两个文件就失去了一致性的联系。因此,上述方法无法比较好的跟踪PPT文件的变更关系,历史版本记录。

为了克服这个缺点,可将PPT文件进行解析,深入到文件内容的字段去标记PPT里面的每一个幻灯片Slide,这样使每一个Slide都得到了一个生成的指纹身份证,可以追踪这些Slide的生成与修改,以及删除。

根据本申请实施例的一方面,提供了一种幻灯片级别的演示文稿更新方法的方法实施例。当一个PPT文件同时存储于客户端与云端之后,文件在两端产生变更之后,通过本方法可以追踪识别两端文件的关联性,以及PPT里面的幻灯片Slide的关联性。

可选地,在本实施例中,上述幻灯片级别的演示文稿更新方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的幻灯片级别的演示文稿更新方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的幻灯片级别的演示文稿更新方法也可以是由安装在其上的客户端来执行。

图2是根据本申请实施例的一种可选的幻灯片级别的演示文稿更新方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤S202,获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息。本地计算机保存的演示文稿和云端服务器保存的演示文稿是同一个文稿,但可能是不同的版本。

上述的指纹信息可以包括演示文稿中每张幻灯片的幻灯片指纹,对于每张幻灯片,可以采用如下方式在云端服务器上生成幻灯片指纹:

利用哈希算法生成目标幻灯片的哈希值,利用目标幻灯片的哈希值、目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成目标幻灯片的幻灯片指纹,幻灯片标识可以用于唯一对应一张幻灯片,操作类型可以为修改、增加、删除、移动等,用户ID即具体执行该操作的用户帐号,设备ID即执行该操作的终端。之后将目标幻灯片的幻灯片指纹写入目标幻灯片的标签cSld中。

例如,文稿在创建完成之后或者在使用过程中,拥有者可指定用户的权限,如哪些用户拥有查看权限、哪些用户拥有编辑权限。用户可以在小程序、专用客户端等环境中打开并编辑上述演示文稿,首次打开时需要验证其身份,若其用户ID合法(即在拥有编辑权限的ID范围内)则允许对文稿进行编辑,此时记录其用户ID、幻灯片标识、操作类型、操作时间、以及设备ID。

在某个用户ID使用某个设备ID登录一次后,为了提高用户体验,在之后的一段时间内(如一周内),只要识别到是该设备ID,就默认为该用户ID登录,但是不在强制用户输入用户名和密码。另外,为了安全性,在这段时间内,可以按照一定概率(如10%)运行验证机制,让用户输入验证信息(如用户名或用户ID中的部分字段、密码中的部分字段、用户初次登录时指定的验证码等),一旦输入错误则取消用户ID和设备ID之间的绑定关系,需要用户输入用户ID和密码才能进入文稿。

可选地,上述的指纹信息还可以包括演示文稿的文稿指纹,可以采用哈希算法在云端服务器上生成文稿指纹。

步骤S204,经过对比第一指纹信息和第二指纹信息确定本地计算机和云端服务器的一端中发生变化的目标幻灯片。

可选地,可将本地计算机保存的演示文稿中每一张幻灯片的幻灯片指纹与云端服务器保存的演示文稿中相应的幻灯片的幻灯片指纹进行对比;在幻灯片指纹不同的情况下,将更新时间更晚的幻灯片作为目标幻灯片。

在上述实施例中,为了节约时间,可以先比较文稿指纹(当然也可以按照上述方式直接比较幻灯片指纹),若不一致,再逐一比较幻灯片指纹。

需要说明的是,针对具有相同幻灯片标识的所有幻灯片,可以生成一幻灯片序列,即同一个Slide的多次修改可以生成独立的页的幻灯片序列,实现PPTX里每一页Slide的多版本存档,与回溯(历史版本切换),便于进行管理。

步骤S206,利用目标幻灯片在本地计算机和云端服务器的另一端的演示文稿中进行更新,以保持本地计算机保存的演示文稿与云端服务器保存的演示文稿一致。

可选地,在上述实施例中,包括以下几种试试方式:

1)在目标幻灯片为新增幻灯片的情况下,若目标幻灯片来自本地计算机,则将目标幻灯片插入至云端服务器的演示文稿中的相同位置,若目标幻灯片来自云端服务器,则将目标幻灯片插入至本地计算机的演示文稿中的相同位置;

2)在目标幻灯片为被删除的幻灯片的情况下,若目标幻灯片来自本地计算机,则从云端服务器的演示文稿中的相同位置删除目标幻灯片,若目标幻灯片来自云端服务器,则从本地计算机的演示文稿中的相同位置删除目标幻灯片;

3)在目标幻灯片为内容发生变化的已有幻灯片的情况下,若目标幻灯片来自本地计算机,则将云端服务器的演示文稿中相同位置的幻灯片替换为目标幻灯片,若目标幻灯片来自云端服务器,则将本地计算机的演示文稿中相同位置的幻灯片替换为目标幻灯片。

在进行更新时,若多个用户在较短的时间段内修改了同一幻灯片,若修改的元素不同,则可以将所有修改合并,若修改的元素相同,可以提示修改该元素的用户,由用户共同决定保留哪一版本。

在本地计算机和云端服务器之间进行通信(如传输幻灯片)时,双方的加密机制如下:A(本地计算机和云端服务器中的一个)将自身标识(可以为设备标识或帐号,若这些信息不是二进制编码则转换为二进制编码)中的n个字符(若自身标识的第i位是0则取自身标识的前n位,若自身标识的第i位是1则取自身标识的后n位,i为标识位数与2相除后向下取整得到的)与预设字符串(本地计算机和云端服务器均存储有,初始时由云端服务器下发给本地计算机,位数为n,云端服务器会定期对其进行更换)进行同或处理,将得到的结果转换为十进制数j,确定当前时间戳,若时间戳倒数第二位为单数则从加密方案集合(其中有2

在上述方案中,使用了加密方案进行加密,同时该加密方案是动态变化的,进一步提高了数据传输的安全性。

通过上述步骤,获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比第一指纹信息和第二指纹信息确定本地计算机和云端服务器的一端中发生变化的目标幻灯片;利用目标幻灯片在本地计算机和云端服务器的另一端的演示文稿中进行更新,以保持本地计算机保存的演示文稿与云端服务器保存的演示文稿一致,可以解决维持文件一致性的操作较繁琐的技术问题。

在上述实施例中,作为一种可选的实施例,如图3所示,下文结合具体实施方式进一步详述本申请的技术方案:

对于在本地计算机存储的PPT文件(一种演示文稿的文件形式,文件格式包括:pptx,keynote等),用户可使用PowerPoint软件进行修改,同时云端服务器也进行PPT文件的集中存储,云端程序能对文件进行解析与修改。

1)一个原始的PPTX(PPT文件格式的一种,遵循了OOXML标准,是一个ZIP压缩包。解压之后的目录下有一些文件去记录PPT的文件定义和Slide的内容定义)文件,通过PowerPoint插件(Office开放第三方插件开发程序)进行指纹写入(修改PPTX文件里的内容)后同步到云端。云端服务器会接收到此文件,并进行集中化存储,供本地端读取同步比对。

2)用户也可以直接将PPTX文件通过浏览器上传到云端,云端会自动写入指纹后,供本地端读取。多个本地计算机的PowerPoint软件安装插件后,可以在多个本地计算机上同时进行编辑来实现同步协同修改,也可以在多个云端同时进行编辑来实现同步协同修改,还可以在本地计算机和云端同时进行编辑来实现同步协同修改。

PPTX文件的文件级指纹写入方法中,可使用标签p:tag写入文件的唯一指纹。该标签是是OPENOFFICE XML标准(一种国际ISO Open Office XML标准)定义的一个标签tagLst(Tag List),可以标多个用户定义的标签。

<?xml version="1.0"encoding="UTF-8"standalone="yes"?>

PPTX文件的幻灯片Slide级指纹的写入方法中,使用了标签p:cSld写入唯一指纹,是OPENOFFICE XML标准定义的一个标签cSld(Common Slide Data),指slide的信息属性。

<?xml version="1.0"encoding="UTF-8"standalone="yes"?>

指纹的ID是一串由云端服务器生成的随机ID。

/**

*基于前缀生成随机ID

*@param pre类型前缀

*@param length随机ID总长度

*/

export const generateId=(pre:string,length=25)=>{

return`${pre}${randStr(length-pre.length)}`;

}

3)多个本地端和唯一的云端之间利用指纹识别,构建了对应关系。各端可对PPTX可以进行自由修改,比如在本地端修改了第2页的内容,云端修改了第4页的内容,云端会记录不同的客户端的修改记录,并根据指纹的唯一性生成Slide的修订序列。

4)通过指纹识别,发现了本地端的第2页进行了内容的修改,需要用此最新的版本,覆盖云端的第2页内容。云端的第2页识别,使用指纹标识进行定位,于是将带有指纹标识的本地第2页文件同步到云端,云端根据修改时间戳选择更新为最新版本(旧的历史依旧保存在云端)。

5)通过指纹识别,发现了云端的第4页进行了内容的修改,用最新的版本,覆盖本地端的第4页内容。对于本地端第4页的识别,可使用指纹标识进行定位,于是将带有指纹标识的云端第4页文件同步到本地,本地根据修改时间戳选择覆盖为最新版本。

6)PPTX文件是一种ZIP压缩包形式的文件格式,解压后可以修改包里面的各种子文件。这样云端和本地都只需要解压PPTX文件之后,更新涉及到第2页和第4页内容文件,实现了原子级别的同步更新,其它的页面都不会受到影响与变化。

7)如果在本地新建Slide,此时Slide的指纹为空,本地插件会为其添加全新的指纹,并同时上报云端同步,云端将会新增一页新的Slide。

8)如果本地对拥有指纹的Slide进行删除,也会同步云端,云端将删除拥有对应指纹的Slide,及其历史版本(这些版本都拥有相同的指纹)。

采用本申请的技术方案,PPTX的多端修改时,不需要每次都同步更新整个文件,而只需要同步对应的Slide;Slide在PPTX里是灵活可以移动的,这种方案可以准确识别Slide本身,而不需要考虑它的位置;由于每一页Slide拥有指纹识别,同一个Slide的多次修改可以生成独立的页的文件序列,实现PPTX里每一页Slide的多版本存档,与回溯(历史版本切换);整个PPTX不被修改的地方内容保持原样,不会影响其它地方的格式;更新的速度会更快,因为只是原子页的更新;可以异步更新,而且可以灵活处理修改内容的冲突。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

根据本申请实施例的另一个方面,还提供了一种用于实施上述幻灯片级别的演示文稿更新方法的幻灯片级别的演示文稿更新装置。图4是根据本申请实施例的一种可选的幻灯片级别的演示文稿更新装置的示意图,如图4所示,该装置可以包括:

获取单元41,用于获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;

处理单元43,用于经过对比第一指纹信息和第二指纹信息确定本地计算机和云端服务器的一端中发生变化的目标幻灯片;

更新单元45,用于利用目标幻灯片在本地计算机和云端服务器的另一端的演示文稿中进行更新,以保持本地计算机保存的演示文稿与云端服务器保存的演示文稿一致。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比第一指纹信息和第二指纹信息确定本地计算机和云端服务器的一端中发生变化的目标幻灯片;利用目标幻灯片在本地计算机和云端服务器的另一端的演示文稿中进行更新,以保持本地计算机保存的演示文稿与云端服务器保存的演示文稿一致,可以解决维持文件一致性的操作较繁琐的技术问题。

可选地,第一指纹信息包括本地计算机保存的演示文稿中每张幻灯片的幻灯片指纹,第二指纹信息包括云端服务器保存的演示文稿中每张幻灯片的幻灯片指纹,其中,处理单元还用于:将本地计算机保存的演示文稿中每一张幻灯片的幻灯片指纹与云端服务器保存的演示文稿中相应的幻灯片的幻灯片指纹进行对比;在幻灯片指纹不同的情况下,将更新时间更晚的幻灯片作为目标幻灯片。

可选地,本申请的装置还包括:指纹单元,用于在获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息之前,利用哈希算法生成目标幻灯片的哈希值;利用目标幻灯片的哈希值、目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成目标幻灯片的幻灯片指纹。

可选地,指纹单元还用于:在利用目标幻灯片的哈希值、目标幻灯片的幻灯片标识、操作类型、操作时间、用户ID以及设备ID生成目标幻灯片的幻灯片指纹之后,将目标幻灯片的幻灯片指纹写入目标幻灯片的标签cSld中。

可选地,更新单元还用于:在目标幻灯片为新增幻灯片的情况下,若目标幻灯片来自本地计算机,则将目标幻灯片插入至云端服务器的演示文稿中的相同位置,若目标幻灯片来自云端服务器,则将目标幻灯片插入至本地计算机的演示文稿中的相同位置。

可选地,更新单元还用于:在目标幻灯片为被删除的幻灯片的情况下,若目标幻灯片来自本地计算机,则从云端服务器的演示文稿中的相同位置删除目标幻灯片,若目标幻灯片来自云端服务器,则从本地计算机的演示文稿中的相同位置删除目标幻灯片。

可选地,更新单元还用于:在目标幻灯片为内容发生变化的已有幻灯片的情况下,若目标幻灯片来自本地计算机,则将云端服务器的演示文稿中相同位置的幻灯片替换为目标幻灯片,若目标幻灯片来自云端服务器,则将本地计算机的演示文稿中相同位置的幻灯片替换为目标幻灯片。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本申请实施例的另一个方面,还提供了一种用于实施上述幻灯片级别的演示文稿更新方法的服务器或终端。

图5是根据本申请实施例的一种终端的结构框图,如图5所示,该终端可以包括:一个或多个(图中仅示出一个)处理器501、存储器503、以及传输装置505,如图5所示,该终端还可以包括输入输出设备507。

其中,存储器503可用于存储软件程序以及模块,如本申请实施例中的幻灯片级别的演示文稿更新方法和装置对应的程序指令/模块,处理器501通过运行存储在存储器503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的幻灯片级别的演示文稿更新方法。存储器503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器503可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器503用于存储应用程序。

处理器501可以通过传输装置505调用存储器503存储的应用程序,以执行下述步骤:

获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比所述第一指纹信息和所述第二指纹信息确定所述本地计算机和所述云端服务器的一端中发生变化的目标幻灯片;利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图5所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,终端还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行幻灯片级别的演示文稿更新方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

获取本地计算机保存的演示文稿的第一指纹信息和云端服务器保存的演示文稿的第二指纹信息;经过对比所述第一指纹信息和所述第二指纹信息确定所述本地计算机和所述云端服务器的一端中发生变化的目标幻灯片;利用所述目标幻灯片在所述本地计算机和所述云端服务器的另一端的演示文稿中进行更新,以保持所述本地计算机保存的演示文稿与所述云端服务器保存的演示文稿一致。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

技术分类

06120116116839