CN110018994B - 更新文件***的方法、网络设备及计算机可读存储介质 - Google Patents
更新文件***的方法、网络设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110018994B CN110018994B CN201810206423.7A CN201810206423A CN110018994B CN 110018994 B CN110018994 B CN 110018994B CN 201810206423 A CN201810206423 A CN 201810206423A CN 110018994 B CN110018994 B CN 110018994B
- Authority
- CN
- China
- Prior art keywords
- file system
- file
- target file
- target
- storage unit
- 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
-
- 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/11—File system administration, e.g. details of archiving or snapshots
-
- 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/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (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)
- Stored Programmes (AREA)
Abstract
本申请提供了一种更新文件***的方法、网络设备及计算机可读存储介质。该方法包括:客户端从服务端获取差分包,差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,以及第一存储位置信息和第二存储位置信息,客户端根据所存储的基础文件***的文件以及差分数据,生成目标文件***的文件;客户端根据第一存储位置信息和第二存储位置信息,将目标文件***的文件和***信息存储至对应的存储单元;客户端将包括目标文件***和基础文件***的文件***作为更新后的文件***。上述技术方案中,对于带存储单元内容校验的文件***,能够保证文件***不会由于更新而导致校验失败。
Description
技术领域
本申请涉及计算机领域,并且更具体地,涉及一种更新文件***的方法、网络设备及计算机可读存储介质。
背景技术
文件***运行一段时间后,常常面临着***更新,使得更新后的文件***能够满足相应的***功能。
传统的更新文件***的方法是基于文件的差分技术,服务端会比较基础文件***和更新后的文件***中的所有文件,将各文件的差分数据记录在差分包中。客户端从服务端获取该差分包后,根据差分包中的差分数据和客户端所存储的基础文件***的文件,重新合成更新后的文件***的文件,并将合成后的文件通过文件操作接口写到基础文件***中。
传统方案虽然能够重新合成更新后的文件***的全部内容,但是更新后的文件***相对于基础文件***而言,由于会存在文件内容的变化,所以不适用于有存储单元内容校验的文件***。
发明内容
本申请提供一种更新文件***的方法、网络设备及计算机可读存储介质,能够适用于带存储单元内容校验的文件***。
第一方面,提供了一种更新文件***的方法,包括:客户端从服务端获取差分包,所述差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,其中所述目标文件***为所述基础文件***中的被改动的文件和/或在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件所使用的所述目标文件***的存储单元的位置,所述第二存储位置信息用于记录所述目标文件***的***信息所使用的所述目标文件***的存储单元的位置,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;所述客户端根据所述客户端存储的所述基础文件***的文件以及所述差分数据,生成所述目标文件***的文件;所述客户端根据所述第一存储位置信息和所述第二存储位置信息,将所述目标文件***的文件和所述***信息存储至对应的存储单元;所述客户端将包括所述目标文件***和所述基础文件***的文件***作为更新后的文件***。
传统方案中,客户端需要根据差分包和基础文件***,生成出更新后的文件***。由于更新后的文件***相比于基础文件***,会存在文件内容变化,对于带存储单元内容校验的文件***,会导致校验失败。本申请提供的技术方案中,客户端只需根据差分包和基础文件***,生成目标文件***。基础文件***中各文件内容及其所使用的存储单元的位置保持不变,而客户端在生成目标文件***的过程中,会将其文件内容及***信息存储至对应的存储单元。这样,基础文件***和目标文件***都不会导致校验失败。客户端将包括基础文件***和目标文件***的文件***作为更新后的文件***,从而能够保证文件***不会由于更新而导致校验失败。
在一种可能的实现方式中,该基础文件***包括第一文件,该目标文件***不包括该第一文件,该差分包不包括该第一文件的信息。
在一种可能的实现方式中,该第一存储位置信息包括该目标文件***的文件所使用的该目标文件***的起始存储单元位置和结束存储单元位置,该第二存储位置信息包括该目标文件***的***信息所使用的该目标文件***的起始存储单元位置和结束存储单元位置。
对于目标文件***来说,各个文件所使用的存储单元的位置一般是连续的,因此可以通过记录每个文件所使用的起始存储单元位置和结束存储单元位置,来记录各文件使用的存储单元位置信息。这种方式生成的差分包的体积较小,从而可以进一步节省用户的下载流量。
第二方面,提供了一种更新文件***的方法,包括:服务端根据目标文件***与基础文件***,生成差分包,所述差分包包括所述目标文件***的文件与所述基础文件***的对应文件的差分数据,其中所述目标文件***包括所述基础文件***中的被改动的文件以及在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件所使用的所述目标文件***的存储单元的位置,所述第二存储位置信息用于记录所述目标文件***的***信息所使用的所述目标文件***的存储单元的位置,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;所述服务端向客户端发送所述差分包。
服务端在生成差分包的过程中,将第一存储位置信息和第二存储位置信息记录在差分包中。这样客户端在生成目标文件***时,能够将目标文件***的文件及其***信息存储至对应的存储单元,能够保证文件***不会由于更新而导致校验失败。
在一种可能的实现方式中,该基础文件***包括第一文件,该目标文件***不包括该第一文件,该差分包不包括该第一文件的信息。
在一种可能的实现方式中,该第一存储位置信息包括该目标文件***的文件所使用的该目标文件***的起始存储单元位置和结束存储单元位置,该第二存储位置信息包括该目标文件***的***信息所使用的该目标文件***的起始存储单元位置和结束存储单元位置。
对于目标文件***来说,各个文件所使用的存储单元的位置一般是连续的,因此可以通过记录每个文件所使用的起始存储单元位置和结束存储单元位置,来记录各文件使用的存储单元位置信息。这种方式生成的差分包的体积较小,从而可以进一步节省用户的下载流量。
第三方面,提供了一种网络设备,包括用于执行上述第一方面或第一方面中任一种实现方式所述的方法的模块。
第四方面,提供了一种网络设备,包括用于执行上述第二方面或第二方面中任一种实现方式所述的方法的模块。
第五方面,提供了一种网络设备,该网络设备包括:存储器,用于存储程序;处理器,用于执行程序,当该程序被执行时,该处理器用于执行上述第一方面以及第一方面的各实现方式中的相应的功能。
第六方面,提供了一种网络设备,该网络设备包括:存储器,用于存储程序;处理器,用于执行程序,当该程序被执行时,该处理器用于执行上述第二方面以及第二方面的各实现方式中的相应的功能。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机软件指令,其包含用于执行上述第一方面或第一方面中任一种实现方式所述的方法所设计的程序。
第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机软件指令,其包含用于执行上述第二方面或第二方面中任一种实现方式所设计的程序。
第九方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面中任一种实现方式所述的方法。
第十方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第二方面或第二方面中任一种实现方式所述的方法。
附图说明
图1是传统的更新文件***的方法的示意图。
图2是本申请实施例提供的更新文件***的方法的应用场景的示意图。
图3是本申请实施例提供的更新文件***的方法的示意性流程图。
图4是本申请实施例提供的一种生成差分包的示例图。
图5是本申请实施例提供的一种生成目标文件***的示例图。
图6是本申请实施例提供的一种网络设备的示意性框图。
图7是本申请实施例提供的另一种网络设备的示意性框图。
图8是本申请实施例提供的另一种网络设备的示意性框图。
图9是本申请实施例提供的另一种网络设备的示意性框图。
具体实施方式
本申请实施例提供的技术方案可应用于需要对带存储单元内容校验的文件***进行更新的场景。文件***可以为操作***所使用的文件***。例如,本申请实施例提供的技术方案可应用于对安卓(Android)操作***进行更新的场景,或者也可应用于对视窗(Windows)操作***进行更新的场景。
本申请实施例提及的客户端可以位于终端设备上,该客户端例如可以是该终端设备上的应用程序(application,APP)。终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
本申请提及的基础文件***是指需要对其进行升级或更新的文件***,例如基础文件***可以为客户端当前的老版本的文件***。更新后的文件***是指相对于基础文件***更新版本的文件***。
本申请提及的存储单元也可以称为块(block)。文件***通常会对***进行分区,用block来存放数据,文件***通常将***信息放置在索引节点(inode)中,将文件内容则放置到数据块(data block)中。
随着科技的不断发展,文件***常常面临着更新换代,以使得更新后的文件***满足相应的性能需求。传统的更新方法是基于文件的差分技术,差分升级也可以称为增量更新,差分包由所有发生改变的文件的差异部分组成。具体地,服务端对基础文件***和更新后的文件***做文件差分,将文件列表和差分内容记录在差分包中差分包也可以称为更新补丁(patch)。其中,该差分内容包括增加的内容、删除的内容和/或修改的内容等。客户端根据该差分列表、差分内容及客户端所存储的基础文件***,重新合成更新后的文件***中的文件,并通过文件操作接口将合成后的文件内容写到基础文件***中,得到更新后的文件***。合成后的文件在写入文件***的过程中,其使用的存储单元的位置是重新分配的,不能和基础文件***中的文件所使用的存储单元的位置保持一致。
为了保证文件***的安全性,出现了一些对存储单元位置敏感的文件***。这种文件***会对存储单元的内容进行校验,以保证读取文件内容的安全性。具体地,文件***会预先计算所有存储单元内容的特征值,包括文件所在的存储单元以及***信息所在的存储单元,例如可以采用哈希算法来计算存储单元内容的特征值,并将其存储在一个被保护的区域。之后在读取文件***中的数据时,会对读取到的存储单元的内容重新计算特征值。如果计算结果与预先存储的特征值不一致,则认为文件***的内容被篡改过,就会造成校验失败。对于有存储单元内容校验的文件***,文件内容变化或文件在文件***中的存储单元的位置发生变化,都会导致校验失败。
按照传统的更新文件***的方式进行***更新,由于文件***会存在文件内容的变化。例如,增加、删除或移动文件内容等,会导致更新后的文件***的文件内容与基础文件***的文件内容不一致。因此,各文件内容所使用的存储单元的位置会发生变化,从而导致校验失败。因此,传统的文件***的更新方式不适合带存储单元内容校验的文件***。
下面以图1为例,对传统的更新文件***的方法进行说明。
如图1所示,同一背景表示同一个文件,基础文件***包括3个文件,文件1的内容为“我爱北京ABCD”,文件2的内容为“人不能不吃盐”,文件3的内容为“再见GX”。更新后的文件***也包括3个文件,文件(1)的内容为“我爱大北京ABED”,文件(2)的内容为“人不能不吃鸡蛋”,文件(3)的内容为“再见GX”。其中,文件1为文件(1)在基础文件***中的对应文件,文件2为文件(2)在基础文件***中的对应文件,文件3为文件(3)在基础文件***中的对应文件。
服务端根据更新后的文件***中的文件与基础文件***的对应文件,生成差分包。该差分包包括文件(1)的差异内容“大E”、文件(2)的差异内容“鸡蛋P”。
客户端根据该差分包及所存储的基础文件***中的文件1、文件2和文件3,重新合成更新后的文件***。由图1可以看出,客户端可以将文件(1)、文件(2)、文件(3)的文件内容全部恢复。但是由于更新后的文件***相对于客户端之前存储的基础文件***,文件内容发生了变化,各文件所使用的存储单元的位置也随之发生变化。在图1中,对比基础文件***与差分生成的更新后的文件***可以看出,只有“我爱”所在的存储单元的位置没有发生变化,之后所有文件内容所使用的存储单元的位置都发生了变化。这种文件***的更新方式就不适合带存储单元内容校验的文件***。
随着技术的发展,出现了一种联合文件***。联合文件***是一种分层的文件***,可以将不同层的文件***挂载到同一个虚拟文件***下,不同层的文件***所在的存储单元的位置是分开的。这种联合文件***不会对基础文件***做修改,所有的修改都发生在目标文件***中。联合文件***可以将基础文件***与目标文件***进行融合,得到更新后的文件***。
联合文件***可以为叠加文件***(overlay file system;overlay FS)、先进联合文件***(advance union FS;AUFS)、写入时复制文件***(copy-on-write;BTRFS)或者虚拟文件***(virtual FS;VFS)。
下面结合图2,以overlay FS为例,对联合文件***的结构进行说明。
Overlay FS包括两个文件***,基础文件***和目标文件***。基础文件***也可以称为下层文件***(lower FS),目标文件***也可以称为上层文件***(upper FS)。在基础文件***不做修改的情况下,通过目标文件***的文件覆盖基础文件***的文件,从而改变用户看到的内容。
在图2中,基础文件***包括文件1、文件2和文件3,目标文件***包括修改的文件(2)和新添加的文件(4),更新后的文件***包括文件1、文件(2)、文件3和文件(4)。在不对文件2进行修改的情况下,通过文件(2)可以实现对文件2的覆盖。对于新添加的文件(4)可直接呈现给用户。将目标文件***和基础文件***通过overlay进行融合,即可得到更新后的文件***。
本申请实施例利用这些联合文件***的灵活性,在此基础上对文件***的更新方式进行改进,从而能够保证文件***不会由于更新而导致校验失败。
下面结合图3,详细描述本申请实施例提供的更新文件***的方法。如图3所示,该方法包括步骤310-330。
在步骤310中,服务端向客户端发送差分包。
服务端根据目标文件***与基础文件***,生成差分包,并向客户端发送该差分包。目标文件***与基础文件***为联合文件***。目标文件***为基础文件***中被改动的文件和/或在基础文件***基础上新添加的文件。
具体地,当在基础文件***的基础上,只有被改动的文件,而没有新添加的文件,则目标文件***为基础文件***中被改动的文件。当在基础文件***的基础上,只有新添加的文件,而没有被改动的文件,则目标文件***为在基础文件***基础上新添加的文件。当在基础文件***的基础上,既有新添加的文件,也有被改动的文件,则目标文件***为基础文件***中被改动的文件和在基础文件***基础上新添加的文件。
差分包包括目标文件***的文件与基础文件***的对应文件的差分数据。差分数据指目标文件***的文件与基础文件***的对应文件的差异部分,如果基础文件***上找不到目标文件***的文件的对应文件,则差分数据包括目标文件***的文件的全量内容。
以图2为例,文件(4)在下层文件***中没有对应的文件,则差分数据包括文件(4)的全量内容。文件(2)在下层文件***中有对应的文件2,则差分数据包括文件(2)与文件2的差异内容。
差分包除了包括文件内容之外,还包括***信息。***信息包括文件***中除文件***中的文件之外的剩余信息。例如,***信息可以为文件的访问权限、文件的访问时间、文件的修改时间或文件属性。又例如,***信息还可以为文件***的元数据、文件***的文件列表或文件***的存储单元的校验数据。不同文件***的***信息会有所差异,本申请对此不做具体限定。
此外,差分包还包括第一存储位置信息和第二存储位置信息,第一存储位置信息用于记录目标文件***的文件所使用的目标文件***的存储单元的位置,第二存储位置信息用于记录目标文件***的***信息所使用的目标文件***的存储单元的位置。换句话说,第一存储位置信息包括目标文件***的文件与目标文件***的存储单元的对应关系,第二存储位置信息包括目标文件***的***信息与目标文件***的存储单元的对应关系。
本申请实施例对记录第一存储单元的位置信息的方式不做具体限定。作为一个示例,服务端可以记录目标文件***中各文件内容所使用的每个存储单元的位置信息。作为另一个示例,服务端可以分别记录目标文件***中各文件所使用的存储单元的起始位置和结束位置。对于目标文件***来说,各个文件所使用的存储单元的位置一般是连续的,因此可以通过记录每个文件所使用的起始存储单元位置和结束存储单元位置,来记录各文件使用的存储单元位置信息。这种方式生成的差分包的体积较小,从而可以进一步节省用户的下载流量。
本申请实施例对记录第二存储单元的位置信息的方式不做具体限定。作为一个示例,服务端可以分别记录目标文件***中不同***信息所使用的存储单元的起始位置和结束位置。作为另一个示例,服务端可以记录目标文件***中的各***信息的内容所使用的每个存储单元的位置信息。
在步骤320中,客户端根据客户端所存储的基础文件***的文件以及差分数据,生成目标文件***的文件。
客户端从服务端获取差分包后,根据差分包中每个文件的差分数据,结合基础文件***中的对应文件的内容,生成目标文件***的文件的全量内容。
在步骤330中,客户端根据第一存储位置信息和第二存储位置信息,将目标文件***的文件及***信息存储至对应的存储单元。
客户端根据第一存储位置信息,将目标文件***的文件存储至目标文件***的文件对应的存储单元,并根据第二存储位置信息,将***信息存储至***信息对应的存储单元。这样能够保证目标文件***中所有内容的存储单元的位置信息与服务端生成的目标文件***的位置信息一致,从而不会导致存储单元内容校验失败。
客户端将包括目标文件***和基础文件***的文件***作为更新后的文件***。
可选地,客户端可以选择将目标文件***和基础文件***作为联合文件***,该联合文件***即为更新后的文件***。
传统方案中,客户端需要根据差分包和基础文件***,生成出更新后的文件***,然后将基础文件***替换为更新后的文件***。由于更新后的文件***会存在文件内容变化,对于带存储单元内容校验的文件***,会导致校验失败。本申请提供的技术方案中,客户端只需根据差分包和基础文件***,生成目标文件***。基础文件***中各文件内容及其所使用的存储单元的位置保持不变,而客户端在生成目标文件***的过程中,会将其文件内容及***信息存储至对应的存储单元。这样,基础文件***和目标文件***都不会导致校验失败。客户端将包括基础文件***和目标文件***的文件***作为更新后的文件***,从而能够保证文件***不会由于更新而导致校验失败。
可选地,服务端在根据目标文件***与基础文件***,生成差分包的过程中,是以目标文件***为基准来生成差分包。具体地,服务端会为目标文件***中的文件寻找基础文件***中的对应文件,并对两个文件做文件差分。对于基础文件***中有而目标文件***中没有的文件,无需在差分包中记录相关信息。也就是说,差分包中不记录第一文件的信息,其中,基础文件***中包括第一文件,而目标文件***中不包括第一文件。
以图2为例,基础文件***包括文件1、文件2和文件3,目标文件***包括修改的文件(2)和新添加的文件(4)。服务端在对基础文件***和目标文件***做差分时,不记录删除文件1和文件3的信息,只记录文件(2)的差分信息和新添加的文件(4)的信息。通常,目标文件***一般会比基础文件***小,采用本申请实施例的差分技术生成的差分包的体积较小,用户在对文件***进行更新时,所需的下载流量较小。
为了便于理解,下面结合图4-图5,对本申请提供的更新文件***的方式进行详细描述。
图4是本申请实施例提供的一种生成差分包的示例图。
服务端根据基础文件***和目标文件***,获取如下信息:
(1)目标文件***的***信息,以及该***信息所使用的存储单元的位置信息,即第二存储位置信息。
(2)目标文件***中每个文件所使用的存储单元的位置信息,即第一存储位置信息。
(3)为目标文件***的文件找出基础文件***的对应文件,并生成目标文件***中的文件与基础文件***中的对应文件的差分数据。
服务端将上述信息保存至差分包。
图5是本申请实施例提供的一种生成目标文件***的方法的示例图。
客户端从服务端获取差分包后,根据所存储的基础文件***的文件和差分包,生成目标文件***。具体过程如下:
(1)客户端从差分包获取每个文件的差分数据,结合所存储的基础文件***的文件,生成目标文件***的文件的全量内容。客户端根据第一存储位置信息,将目标文件***的文件存储至目标文件***的文件对应的存储单元。
(2)客户端从差分包中获取目标文件***的***信息,并根据第二存储位置信息,将***信息存储至***信息对应的存储单元。
本申请实施例提供的技术方案中,客户端只需根据差分包和基础文件***,生成目标文件***。基础文件***中各文件内容及其所使用的存储单元的位置保持不变,而客户端在生成目标文件***的过程中,会将其文件内容及***信息存储至对应的存储单元。这样,基础文件***和目标文件***都不会导致校验失败。客户端将包括基础文件***和目标文件***的文件***作为更新后的文件***,从而能够保证文件***不会由于更新而导致校验失败。
上文结合图1至图5,详细描述了本申请的方法实施例,下面结合图6至图9,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图6是本申请实施例提供的网络设备的示意性框图。该网络设备600包括获取单元610,生成单元620,存储单元630。
获取单元610,用于从服务端获取差分包,差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,其中目标文件***为基础文件***中的被改动的文件和/或在基础文件***基础上新添加的文件,差分包还包括第一存储位置信息和第二存储位置信息,第一存储位置信息用于记录目标文件***的文件所使用的目标文件***的存储单元的位置,第二存储位置信息用于记录目标文件***的***信息所使用的目标文件***的存储单元的位置,***信息包括以下信息中的至少一种:目标文件***的元数据、目标文件***的文件列表以及目标文件***的存储单元的校验数据。
生成单元620,用于根据客户端存储的基础文件***的文件以及差分数据,生成目标文件***的文件.
存储单元630,根据第一存储位置信息和第二存储位置信息,将目标文件***的文件和***信息存储至对应的存储单元。
客户端将包括目标文件***和基础文件***的文件***作为更新后的文件***。
本申请实施例提供的技术方案中,客户端只需根据差分包和基础文件***,生成目标文件***。基础文件***中各文件内容及其所使用的存储单元的位置保持不变,而客户端在生成目标文件***的过程中,会将其文件内容及***信息存储至对应的存储单元。这样,基础文件***和目标文件***都不会导致校验失败。客户端将包括基础文件***和目标文件***的文件***作为更新后的文件***,从而能够保证文件***不会由于更新而导致校验失败。
可选地,该基础文件***包括第一文件,该目标文件***不包括该第一文件,该差分包不包括该第一文件的信息。
可选地,该第一存储位置信息包括该目标文件***的文件所使用的该目标文件***的起始存储单元位置和结束存储单元位置,该第二存储位置信息包括该目标文件***的***信息所使用的该目标文件***的起始存储单元位置和结束存储单元位置。
如图7所示,本申请实施例还提供一种网络设备700。该网络设备700包括处理器710,存储器720与网络接口730。该存储器720用于存储指令,该处理器710与网络接口730用于执行该存储器720存储的指令。
应理解,图6所示的网络设备600或图7所示的网络设备700可用于执行上述方法实施例中相关的操作或流程,并且网络设备600或网络设备700中的各个单元的操作和/或功能分别为了实现上述方法实施例中的相应流程,为了简洁,在此不再赘述。
图8是本申请实施例提供的另一种网络设备的示意性框图。该网络设备800包括生成单元810、发送单元820。
生成单元810,用于根据目标文件***与基础文件***,生成差分包,差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,其中目标文件***包括基础文件***中的被改动的文件以及在基础文件***基础上新添加的文件,差分包还包括第一存储位置信息和第二存储位置信息,第一存储位置信息用于记录目标文件***的文件所使用的目标文件***的存储单元的位置,第二存储位置信息用于记录目标文件***的***信息所使用的目标文件***的存储单元的位置,***信息包括以下信息中的至少一种:目标文件***的元数据、目标文件***的文件列表以及目标文件***的存储单元的校验数据;
发送单元820,用于向客户端发送差分包。
服务端在生成差分包的过程中,将第一存储位置信息和第二存储位置信息记录在差分包中。这样客户端在生成目标文件***时,能够将目标文件***的文件及其***信息存储至对应的存储单元,能够保证文件***不会由于更新而导致校验失败。
可选地,该基础文件***包括第一文件,该目标文件***不包括该第一文件,该差分包不包括该第一文件的信息。
可选地,该第一存储位置信息包括该目标文件***的文件所使用的该目标文件***的起始存储单元位置和结束存储单元位置,该第二存储位置信息包括该目标文件***的***信息所使用的该目标文件***的起始存储单元位置和结束存储单元位置。
如图9所示,本申请实施例还提供一种网络设备900。该网络设备900包括处理器910,存储器920与网络接口930。该存储器920用于存储指令,该处理器910与网络接口930用于执行该存储器920存储的指令。
应理解,图8所示的网络设备800或图9所示的网络设备900可用于执行上述方法实施例中相关的操作或流程,并且网络设备800或网络设备900中的各个单元的操作和/或功能分别为了实现上述方法实施例中的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种更新文件***的方法,其特征在于,包括:
客户端从服务端获取差分包,所述差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,其中所述目标文件***为所述基础文件***中的被改动的文件和/或在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件所使用的所述目标文件***的存储单元的位置,所述第二存储位置信息用于记录所述目标文件***的***信息所使用的所述目标文件***的存储单元的位置,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;
所述客户端根据所述客户端存储的所述基础文件***的文件以及所述差分数据,生成所述目标文件***的文件;
所述客户端根据所述第一存储位置信息和所述第二存储位置信息,将所述目标文件***的文件和所述***信息存储至对应的存储单元;
所述客户端将包括所述目标文件***和所述基础文件***的文件***作为更新后的文件***。
2.根据权利要求1所述的方法,其特征在于,所述基础文件***包括第一文件,所述目标文件***不包括所述第一文件,所述差分包不包括所述第一文件的信息。
3.根据权利要求1或2所述的方法,其特征在于,所述第一存储位置信息包括所述目标文件***的文件所使用的所述目标文件***的起始存储单元位置和结束存储单元位置,所述第二存储位置信息包括所述目标文件***的***信息所使用的所述目标文件***的起始存储单元位置和结束存储单元位置。
4.一种更新文件***的方法,其特征在于,包括:
服务端根据目标文件***与基础文件***,生成差分包,所述差分包包括所述目标文件***的文件与所述基础文件***的对应文件的差分数据,其中所述目标文件***包括所述基础文件***中的被改动的文件以及在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件与所述目标文件***的存储单元的对应关系,所述第二存储位置信息用于记录所述目标文件***的***信息与所述目标文件***的存储单元的对应关系,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;
所述服务端向客户端发送所述差分包。
5.根据权利要求4所述的方法,其特征在于,所述基础文件***包括第一文件,所述目标文件***不包括所述第一文件,所述差分包不包括所述第一文件的信息。
6.根据权利要求4或5所述的方法,其特征在于,所述第一存储位置信息包括所述目标文件***的文件所使用的所述目标文件***的起始存储单元位置和结束存储单元位置,所述第二存储位置信息包括所述目标文件***的***信息所使用的所述目标文件***的起始存储单元位置和结束存储单元位置。
7.一种网络设备,其特征在于,包括:
获取单元,用于从服务端获取差分包,所述差分包包括目标文件***的文件与基础文件***的对应文件的差分数据,其中所述目标文件***为所述基础文件***中的被改动的文件和/或在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件与所述目标文件***的存储单元的对应关系,所述第二存储位置信息用于记录所述目标文件***的***信息与所述目标文件***的存储单元的对应关系,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;
生成单元,用于根据客户端存储的所述基础文件***的文件以及所述差分数据,生成所述目标文件***的文件;
存储单元,根据所述第一存储位置信息和所述第二存储位置信息,将所述目标文件***的文件和所述***信息存储至对应的存储单元。
8.根据权利要求7所述的网络设备,其特征在于,所述基础文件***包括第一文件,所述目标文件***不包括所述第一文件,所述差分包不包括所述第一文件的信息。
9.根据权利要求7或8所述的网络设备,其特征在于,所述第一存储位置信息包括所述目标文件***的文件所使用的所述目标文件***的起始存储单元位置和结束存储单元位置,所述第二存储位置信息包括所述目标文件***的***信息所使用的所述目标文件***的起始存储单元位置和结束存储单元位置。
10.一种网络设备,其特征在于,包括:
生成单元,用于根据目标文件***与基础文件***,生成差分包,所述差分包包括所述目标文件***的文件与所述基础文件***的对应文件的差分数据,其中所述目标文件***包括所述基础文件***中的被改动的文件以及在所述基础文件***基础上新添加的文件,所述差分包还包括第一存储位置信息和第二存储位置信息,所述第一存储位置信息用于记录所述目标文件***的文件与所述目标文件***的存储单元的对应关系,所述第二存储位置信息用于记录所述目标文件***的***信息与所述目标文件***的存储单元的对应关系,所述***信息包括以下信息中的至少一种:所述目标文件***的元数据、所述目标文件***的文件列表以及所述目标文件***的存储单元的校验数据;
发送单元,用于向客户端发送所述差分包。
11.根据权利要求10所述的网络设备,其特征在于,所述基础文件***包括第一文件,所述目标文件***不包括所述第一文件,所述差分包不包括所述第一文件的信息。
12.根据权利要求10或11所述的网络设备,其特征在于,所述第一存储位置信息包括所述目标文件***的文件所使用的所述目标文件***的起始存储单元位置和结束存储单元位置,所述第二存储位置信息包括所述目标文件***的***信息所使用的所述目标文件***的起始存储单元位置和结束存储单元位置。
13.一种网络设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行所述计算机程序,使得所述网络设备执行权利要求1-3中任一项所述的方法。
14.一种网络设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行所述计算机程序,使得所述网络设备执行权利要求4-6中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-3中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求4-6中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017110607921 | 2017-11-02 | ||
CN201711060792 | 2017-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110018994A CN110018994A (zh) | 2019-07-16 |
CN110018994B true CN110018994B (zh) | 2021-02-09 |
Family
ID=67188237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810206423.7A Active CN110018994B (zh) | 2017-11-02 | 2018-03-13 | 更新文件***的方法、网络设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110018994B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463191A (zh) * | 2020-11-26 | 2021-03-09 | 北京沃东天骏信息技术有限公司 | 一种文件更新方法及装置、设备、存储介质 |
CN116341012B (zh) * | 2023-05-22 | 2023-08-22 | 麒麟软件有限公司 | 基于只读机制的文件***安全加固方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103399888A (zh) * | 2013-07-19 | 2013-11-20 | 广东电网公司电力科学研究院 | 电网模型数据的差分同步方法及*** |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105700926A (zh) * | 2016-01-14 | 2016-06-22 | 青岛海信电器股份有限公司 | 差分升级包制作方法及装置、***差分升级方法及装置 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和*** |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及*** |
CN106909404A (zh) * | 2015-12-22 | 2017-06-30 | 博雅网络游戏开发(深圳)有限公司 | 软件更新方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7031972B2 (en) * | 2003-07-21 | 2006-04-18 | Innopath Software, Inc. | Algorithms for block-level code alignment of software binary files |
-
2018
- 2018-03-13 CN CN201810206423.7A patent/CN110018994B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065118A (zh) * | 2010-09-16 | 2011-05-18 | 深圳市九洲电器有限公司 | 一种网络设备升级方法及装置 |
CN103399888A (zh) * | 2013-07-19 | 2013-11-20 | 广东电网公司电力科学研究院 | 电网模型数据的差分同步方法及*** |
CN103713928A (zh) * | 2013-12-31 | 2014-04-09 | 优视科技有限公司 | 增量文件生成方法、应用程序安装文件更新方法及装置 |
CN106293793A (zh) * | 2015-06-02 | 2017-01-04 | 西安中兴新软件有限责任公司 | 一种终端的软件升级方法、装置和*** |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN106909404A (zh) * | 2015-12-22 | 2017-06-30 | 博雅网络游戏开发(深圳)有限公司 | 软件更新方法和*** |
CN105700926A (zh) * | 2016-01-14 | 2016-06-22 | 青岛海信电器股份有限公司 | 差分升级包制作方法及装置、***差分升级方法及装置 |
CN106528086A (zh) * | 2016-10-10 | 2017-03-22 | 广州视源电子科技股份有限公司 | 一种安卓软件升级的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN110018994A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9286059B2 (en) | Information processing device and difference generating for software patching system | |
US9804933B2 (en) | System differential upgrade method, apparatus, and mobile terminal | |
CN105740016B (zh) | 应用程序的增量发布方法和装置、升级方法和装置 | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
CN110166543B (zh) | 应用程序处理方法、装置和计算机设备 | |
US20150161155A1 (en) | Accessing data in a compressed container through dynamic redirection | |
CN108509209A (zh) | 一种资源包的生成方法、装置、计算机设备及存储介质 | |
CN106161336A (zh) | 一种信息更新方法、装置及*** | |
CN105138376A (zh) | 混合模式应用、其网页资源升级方法、移动终端以及*** | |
CN105706099A (zh) | 软件更新装置及软件更新程序 | |
WO2013178048A1 (zh) | 生成无线固件升级包的方法和装置 | |
CN106845167A (zh) | 一种apk的加固方法和装置,及动态加载方法和装置 | |
CN110018994B (zh) | 更新文件***的方法、网络设备及计算机可读存储介质 | |
CN105893093A (zh) | 一种应用程序升级方法及装置 | |
CN107526608A (zh) | 一种ota升级包升级方法及设备 | |
CN105867962A (zh) | ***升级的方法和装置 | |
CN113553627B (zh) | 基于区块链的数据完整性验证方法、***、设备及介质 | |
CN114356855A (zh) | 文件管理方法、装置、电子装置及可读存储介质 | |
CN106293724A (zh) | 一种多游戏管理与版本控制方法及装置 | |
CN105518646A (zh) | 移动设备配置***和方法 | |
CN107015821B (zh) | 增量更新的方法和装置 | |
CN109032694A (zh) | 一种数据加载方法及终端 | |
CN104572224A (zh) | 一种out文件加载方法、装置及*** | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN110008733B (zh) | 一种对写入块链的交易进行隐匿的方法及装置 |
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 |