CN110390064A - 文件更新方法、装置和***,存储介质及电子装置 - Google Patents
文件更新方法、装置和***,存储介质及电子装置 Download PDFInfo
- Publication number
- CN110390064A CN110390064A CN201910678354.4A CN201910678354A CN110390064A CN 110390064 A CN110390064 A CN 110390064A CN 201910678354 A CN201910678354 A CN 201910678354A CN 110390064 A CN110390064 A CN 110390064A
- Authority
- CN
- China
- Prior art keywords
- file
- client
- identifier
- delta
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000011161 development Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件更新方法、装置和***,存储介质及电子装置。其中,该方法包括:在客户端上获取更新指令,其中,更新指令用于请求更新第一文件,第一文件为客户端上保存的第一版本的目标文件;在客户端上获取第二文件相对于第一文件的增量文件、以及第二文件的第二标识符,其中,第二文件为第二版本的目标文件;将增量文件添加到第一文件中,得到第三文件;在第二文件的第二标识符与第三文件的第三标识符相同的情况下,在客户端上将第一文件更新为第三文件。本发明解决了相关技术中更新文件不准确的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种文件更新方法、装置和***,存储介质及电子装置。
背景技术
相关技术中,在访问网页的过程中,客户端可以将访问网页所需要的文件保存到本地,从而在访问网页时,直接调用本地保存的文件。若是网页内容产生了更新,则相关技术中是直接使用更新后的文件替换掉本地保存的文件,并重新刷新网页进行访问。
然而,若是采用上述方法,由于是直接将更新后的文件替换掉本地保存的文件,造成文件更新可能存在误差,造成更新后的网页内容不准确的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件更新方法、装置和***,存储介质及电子装置,以至少解决相关技术中更新文件不准确的技术问题。
根据本发明实施例的一个方面,提供了一种文件更新方法,包括:在客户端上获取更新指令,其中,上述更新指令用于请求更新第一文件,上述第一文件为上述客户端上保存的第一版本的目标文件;在上述客户端上获取第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符,其中,上述第二文件为第二版本的上述目标文件;将上述增量文件添加到上述第一文件中,得到第三文件;在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,在上述客户端上将上述第一文件更新为上述第三文件。
根据本发明实施例的另一个方面,还提供了一种文件更新方法,包括:客户端在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;上述服务器响应上述获取指令,将第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符返回给上述客户端,其中,上述第一文件为上述客户端上保存的第一版本的上述目标文件,上述第二文件为第二版本的上述目标文件;上述客户端在接收到上述增量文件与上述第二标识符后,将上述增量文件添加到上述第一文件中,得到第三文件,在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,上述客户端将上述第一文件更新为上述第三文件。
根据本发明实施例的又一方面,还提供了一种文件更新装置,包括:第一获取单元,用于在客户端上获取更新指令,其中,上述更新指令用于请求更新第一文件,上述第一文件为上述客户端上保存的第一版本的目标文件;第二获取单元,用于在上述客户端上获取第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符,其中,上述第二文件为第二版本的上述目标文件;添加单元,用于将上述增量文件添加到上述第一文件中,得到第三文件;第一更新单元,用于在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,在上述客户端上将上述第一文件更新为上述第三文件。
根据本发明实施例的又一方面,还提供了一种文件更新***,包括:客户端,用于在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;上述服务器用于响应上述获取指令,将第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符返回给上述客户端,其中,上述第一文件为上述客户端上保存的第一版本的上述目标文件,上述第二文件为第二版本的上述目标文件;上述客户端还用于在接收到上述增量文件与上述第二标识符后,将上述增量文件添加到上述第一文件中,得到第三文件,在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,上述客户端将上述第一文件更新为上述第三文件。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述文件更新方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的文件更新方法。
在本发明实施例中,采用在客户端上获取更新指令,在上述客户端上获取第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符,将上述增量文件添加到上述第一文件中,得到第三文件,在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,在上述客户端上将上述第一文件更新为上述第三文件的方法。由于在上述方法中,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度,进而解决了相关技术中更新文件不准确的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的文件更新方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的文件更新方法的流程示意图;
图3是根据本发明实施例的一种可选的文件更新方法的示意图;
图4是根据本发明实施例的另一种可选的文件更新方法的示意图;
图5是根据本发明实施例的又一种可选的文件更新方法的示意图;
图6是根据本发明实施例的另一种可选的文件更新方法的流程示意图;
图7是根据本发明实施例的一种可选的文件更新装置的结构示意图;
图8是根据本发明实施例的一种可选的文件更新***的结构示意图;
图9是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种文件更新方法,可选地,作为一种可选的实施方式,上述文件更新方法可以但不限于应用于如图1所示的环境中。
图1中用户102与用户设备104之间可以进行人机交互。用户设备104中包含有存储器106,用于存储交互数据、处理器108,用于处理交互数据。用户设备104可以通过网络110与服务器112之间进行数据交互。服务器112中包含有数据库114,用于存储交互数据、处理引擎116,用于处理交互数据。服务器可以与开发设备118进行交互。用户102在访问网页时,可以将访问网页所需的文件保存在用户设备104本地。然而,在网页内容发生更新后,用户设备104会获取服务器112发送的增量文件,并将增量文件添加到本地的第一文件中,得到第三文件,在第三文件的第三标识符与第二文件的第二标识符相同的情况下,在用户设备104上将第一文件更新为第三文件。
需要说明的是,相关技术中是直接将更新后的文件替换掉本地保存的文件,造成文件更新可能存在误差,造成更新后的网页内容不准确。
而本方案中采用了在客户端上获取更新指令,在上述客户端上获取第二文件相对于第一文件的增量文件、以及上述第二文件的第二标识符,将上述增量文件添加到上述第一文件中,得到第三文件,在上述第二文件的第二标识符与上述第三文件的第三标识符相同的情况下,在上述客户端上将上述第一文件更新为上述第三文件的方法。由于在上述方法中,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
可选地,上述用户设备104可以但不限于为例如手机、平板电脑、笔记本电脑、PC机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:WIFI及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、局域网。上述服务器112可以包括但不限于任何可以进行计算的硬件设备,上述开发设备可以但不限于为可对目标文件进行开发的硬件设备或硬件设备上运行的客户端。
可选地,作为一种可选的实施方式,如图2所示,上述文件更新方法包括:
S202,在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
S204,在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
S206,将所述增量文件添加到所述第一文件中,得到第三文件;
S208,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
可选地,上述文件更新方法可以但不限于应用于客户端访问网页或启动客户端的过程中。例如,以客户端访问网页为例,客户端访问网页时,访问本地存储的第一文件,并访问网页。而若是服务器端第一文件进行了更新,则客户端需要使用更新后的第一文件访问网页。此时,客户端向服务器获取增量文件,服务器将增量文件与第二文件的第二标识符下发给客户端。客户端将增量文件添加到第一文件中,得到第三文件,并计算第三文件的第三标识符。客户端将第二标识符与第三标识符进行比对,若是两者相同,则说明更新后的第三文件与服务器侧的第二文件相同。此时,将第一文件更新为第三文件,下次访问网页时,直接启动第三文件。第一文件可以删除,或者继续保存在客户端。
通过上述方法,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
可选地,本方案中第二标识符可以包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,第三标识符第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。在比对第二标识符与第三标识符时,可以比对第二文件的第二哈希值与第三文件的第三哈希值,若是两个哈希值相同,则说明第二文件与第三文件相同,若是两个哈希值不同,则说明第二文件与第三文件有区别。
可选地,本方案中计算哈希值的公式可以采用现有的公式,但是,计算第二文件的第二哈希值与第三文件的第三哈希值的公知应该为相同的公式。
可选地,本方案中的增量文件采用开发设备生成。开发设备上运行有自动化生成工具。开发设备为线下开发设备,即,开发设备生成第二文件的过程中,第二文件并不发送给服务器,在开发设备开发完成后,再将第二文件与增量文件发送给服务器,服务器获取到开发设备开发的第二文件与增量文件后,将增量文件发送给客户端,由客户端进行保存或对现有文件进行更新。
例如,结合图3的步骤S302到S312进行说明。客户端302保存有第一文件,第一文件为目标文件的第一版本,服务器304与开发设备306中也保存有第一文件。如图3所示,开发设备306对第一文件进行更新,将第一文件更新为第二文件。更新过程中在线下进行,服务器306中的第一文件不同步更新。在开发设备306成功将第一文件更新为第二文件之后,则将第二文件发送给服务器304,由服务器304对第一文件进行更新,将服务器304的第一文件更新为第二文件。同时,开发设备306还将开发过程中生成的增量文件发送给服务器304。此时,服务器304中保存有第二文件与增量文件。客户端302在访问网页时,会调用本地的第一文件。客户端302向服务器304发送请求,请求增量文件。此时,服务器将增量文件与第二文件的第二标识符下发给客户端302,客户端302将增量文件添加到第一文件中,得到第三文件,并比对第三文件的第三标识符与第二文件的第二标识符是否相同。若是两者相同,若是两者相同,则说明第三文件与第二文件相同,此时,可以将第三文件保存到客户端302中,同时可以删除第一文件。此时,访问网页可以使用第三文件。
需要说明的是,本方案中客户端302在访问网页时,服务器304下发包含有第二文件的第二标识符与增量文件的启动网页给客户端302,客户端302在访问启动网页时,完成第三文件的更新,并启动第三文件访问网页。从而避免了网页的刷新。且上述服务器304将第二文件的第二标识符与增量文件添加到启动页面中下发给客户端302节省了客户端302访问服务器304的次数。
可选地,本方案中若是第二文件的第二标识符与第三文件的第三标识符不同,则客户端需要向服务器请求第二文件,并使用获取到的第二文件更新客户端本地的第一文件。
可选地,本方案中在客户端获取到第二文件的第二标识符后,在生成第三文件之前,还可以比对第二标识符与第一文件的第一标识符。若是两者相同,则直接使用第一文件访问网页,若是两者不同,在将增量文件添加到第一文件中生成第三文件。
以下结合一个具体示例进行说明。例如,以客户端访问网页为例。客户端访问网页时,针对新用户,本方案使用localstorage存储静态资源,用户下次访问将直接从localStorage中取得代码执行。localStorage中的代码为第一文件。针对已存储了资源但是需要更新版本的用户,使用增量更新方案进行更新。即,将第一文件更新为第二文件。如图4步骤S402-S434所示,本方案中在获取到增量文件loadChunk后,首先判断客户端是否支持localstorage,若是支持localstorage,则根据增量文件的文件名chunkName读取localstorage中存储的第一文件。若是有返回值,则说明客户端本地存储有第一文件。此时,获取第一文件的第一标识符maniffest,maniffest可以为第一文件的哈希值hash。并获取服务器下发的第二文件的哈希值hash,比对第一文件的哈希值与第二文件的哈希值,若是第一文件的哈希值与第二文件的哈希值相同,则说明第二文件与客户端本地保存的第一文件内容相同,直接执行第一文件即可。若是第一文件的哈希值与第二文件的哈希值不同,则说明第二文件已经进行了更新。此时,查看是是否获取到了增量文件,在确定获取到了增量文件的情况下,将增量文件添加到第一文件上,得到第三文件,并计算第三文件的哈希值。将第三文件的哈希值与第二文件的第二哈希值进行比对,若是验证哈希值通过,则执行第三文件。第三文件为将第一文件与增量文件合并后的文件。删除第一文件,并将第三文件保存在localstorage中。而在此过程中,若是客户端不支持localstorage,或者在接收到增量文件后,客户端本地没有保存第一文件,或者没有接收到增量文件,或者在计算得到第三文件的哈希值后,第三文件的第三哈希值与第二文件的第二哈希值不同的情况下,客户端均需要向服务器请求网络资源,网络资源为第二文件。并加载第二文件。若是成功加载,则执行第二文件,若是没有成功加载,则进行重试,重新请求网络资源。若是已经重试请求网络资源了,则提示刷新页面。
通过本实施例,通过在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
作为一种可选的实施方案,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件包括:
S1,在所述第二文件的第二哈希值与所述第三文件的第三哈希值相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件,其中,所述第二标识符包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,所述第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。
可选地,本方案中计算哈希值的方法可以采用现有的任何一种公式或方法,使用同一种公式或方法计算的相同文件的哈希值相同,使用同一种公式或方法计算的不同文件的哈希值不同。
通过本实施例,通过计算文件的哈希值来确定文件是否相同,实现了提高文件的比对效率与准确性的效果。
作为一种可选的实施方案,
在所述客户端上获取更新指令,包括:S1,在所述客户端上接收到用于请求访问目标页面的访问指令,其中,所述更新指令包括所述访问指令;
在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,包括:S1,在所述客户端上从服务器获取嵌入有所述增量文件与所述第二标识符的所述目标页面;
在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件之后,所述方法还包括:S1,响应所述访问指令,在所述客户端上加载所述目标页面,并启用所述第三文件。
可选地,本方案中服务器在获取得到开发设备上传的增量文件与第二文件之后,可以将第二文件的第二标识符与增量文件嵌入到客户端所请求的目标页面中。然后将目标页面下发给客户端。客户端在启动目标页面时,需要先启动第一文件,而由于目标页面中包括了增量文件,因此,客户端需要先将第一文件更新为第三文件,并在判断第三文件的第三标识符与第二文件的第二标识符相同的情况下,启动第三文件,从而启动目标页面。通过此方法,目标页面在启动时,不需要进行刷新即为最新的目标页面。
通过本实施例,通过上述方法启动目标页面,从而保证了启动目标页面时,不会进行自动的刷新,提高了启动目标页面的效率。
作为一种可选的实施方案,在所述客户端上获取第二文件相对于第一文件的增量文件,包括:
S1,所述客户端从服务器获取所述增量文件,其中,所述增量文件是线下使用自动化工具生成的差分文件,所述差分文件为所述第二版本的所述目标文件与线上当前使用的所述第一版本的所述目标文件所差的代码,其中,所述线下为开发过程中,所述线上当前使用的所述第一版本的所述目标文件为开发之前所使用的文件。
可选地,开发设备对第一文件进行开发更新得到第二文件的过程在线下进行,线下开发的文件不会被上传到服务器,在开发完成后,将第二文件上传到服务器。被上传到服务器的文件为线上文件,可以被客户端请求。
通过本实施例,通过上述方法生成增量文件,从而不需要服务器生成增量文件,减轻了服务器的负担,提高了生成增量文件的效率。
作为一种可选的实施方案,所述客户端从所述服务器获取所述增量文件之前,所述方法包括:
S1,在开发设备上运行自动化工具生成所述第二版本的所述目标文件,并获取线上当前使用的所述第一版本的所述目标文件;
S2,在所述开发设备上通过所述自动化工具生成所述第二版本的所述目标文件与所述第一版本的所述目标文件之间的所述差分文件;
S3,在所述开发设备上将所述差分文件作为所述增量文件发送给所述服务器。
可选地,自动化工具可以如图5所示,chunkName为增量文件的文件名,通过文件名可以查找到客户端保存的第一文件。并将增量文件添加到第一文件中。在开发设备生成差分文件之后,需要为差分文件生成差分版本号。如将第一文件更新为第二文件的差分文件的版本号为1,将第二文件更新为第四文件的差分文件的版本号为2。
通过本实施例,通过上述方法生成增量文件,从而不需要服务器生成增量文件,减轻了服务器的负担,提高了生成增量文件的效率。
作为一种可选的实施方案,在将所述增量文件添加到所述第一文件中,得到第三文件之后,还包括:
S1,在所述第二文件的第二标识符与所述第三文件的第三标识符不同的情况下,获取所述第二文件;
S2,在所述客户端上将所述第一文件更新为所述第二文件。
可选地,若是第二文件的第二标识符与所述第三文件的第三标识符不同,则说明更新后的第三文件与第二文件不同,此时,需要从服务器获取第二文件并将客户端本地的第一文件更新为第二文件,生成的第三文件需要删除。
通过本实施例,通过上述方法验证第三文件,并在第三文件与第二文件不同的情况下,向服务器请求第二文件,从而保证了文件更新过程的准确性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种文件更新方法。可选地,如图6所示,上述文件更新方法包括:
S602,客户端在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;
S604,所述服务器响应所述获取指令,将第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符返回给所述客户端,其中,所述第一文件为所述客户端上保存的第一版本的所述目标文件,所述第二文件为第二版本的所述目标文件;
S606,所述客户端在接收到所述增量文件与所述第二标识符后,将所述增量文件添加到所述第一文件中,得到第三文件,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,所述客户端将所述第一文件更新为所述第三文件。
可选地,上述文件更新方法可以但不限于应用于客户端访问网页或启动客户端的过程中。例如,以客户端访问网页为例,客户端访问网页时,访问本地存储的第一文件,并访问网页。而若是服务器端第一文件进行了更新,则客户端需要使用更新后的第一文件访问网页。此时,客户端向服务器获取增量文件,服务器将增量文件与第二文件的第二标识符下发给客户端。客户端将增量文件添加到第一文件中,得到第三文件,并计算第三文件的第三标识符。客户端将第二标识符与第三标识符进行比对,若是两者相同,则说明更新后的第三文件与服务器侧的第二文件相同。此时,将第一文件更新为第三文件,下次访问网页时,直接启动第三文件。第一文件可以删除,或者继续保存在客户端。
通过上述方法,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
可选地,本方案中第二标识符可以包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,第三标识符第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。在比对第二标识符与第三标识符时,可以比对第二文件的第二哈希值与第三文件的第三哈希值,若是两个哈希值相同,则说明第二文件与第三文件相同,若是两个哈希值不同,则说明第二文件与第三文件有区别。
可选地,本方案中计算哈希值的公式可以采用现有的公式,但是,计算第二文件的第二哈希值与第三文件的第三哈希值的公知应该为相同的公式。
可选地,本方案中的增量文件采用开发设备生成。开发设备上运行有自动化生成工具。开发设备为线下开发设备,即,开发设备生成第二文件的过程中,第二文件并不发送给服务器,在开发设备开发完成后,再将第二文件与增量文件发送给服务器,服务器获取到开发设备开发的第二文件与增量文件后,将增量文件发送给客户端,由客户端进行保存或对现有文件进行更新。
例如,结合图3的步骤S302到S312进行说明。客户端302保存有第一文件,第一文件为目标文件的第一版本,服务器304与开发设备306中也保存有第一文件。如图3所示,开发设备306对第一文件进行更新,将第一文件更新为第二文件。更新过程中在线下进行,服务器306中的第一文件不同步更新。在开发设备306成功将第一文件更新为第二文件之后,则将第二文件发送给服务器304,由服务器304对第一文件进行更新,将服务器304的第一文件更新为第二文件。同时,开发设备306还将开发过程中生成的增量文件发送给服务器304。此时,服务器304中保存有第二文件与增量文件。客户端302在访问网页时,会调用本地的第一文件。客户端302向服务器304发送请求,请求增量文件。此时,服务器将增量文件与第二文件的第二标识符下发给客户端302,客户端302将增量文件添加到第一文件中,得到第三文件,并比对第三文件的第三标识符与第二文件的第二标识符是否相同。若是两者相同,若是两者相同,则说明第三文件与第二文件相同,此时,可以将第三文件保存到客户端302中,同时可以删除第一文件。此时,访问网页可以使用第三文件。
需要说明的是,本方案中客户端302在访问网页时,服务器304下发包含有第二文件的第二标识符与增量文件的启动网页给客户端302,客户端302在访问启动网页时,完成第三文件的更新,并启动第三文件访问网页。从而避免了网页的刷新。且上述服务器304将第二文件的第二标识符与增量文件添加到启动页面中下发给客户端302节省了客户端302访问服务器304的次数。
可选地,本方案中若是第二文件的第二标识符与第三文件的第三标识符不同,则客户端需要向服务器请求第二文件,并使用获取到的第二文件更新客户端本地的第一文件。
可选地,本方案中在客户端获取到第二文件的第二标识符后,在生成第三文件之前,还可以比对第二标识符与第一文件的第一标识符。若是两者相同,则直接使用第一文件访问网页,若是两者不同,在将增量文件添加到第一文件中生成第三文件。
通过本实施例,通过上述方法更新文件,从而客户端在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
根据本发明实施例的又一个方面,还提供了一种用于实施上述文件更新方法的文件更新装置。如图7示,该装置包括:
(1)第一获取单元702,用于在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
(2)第二获取单元704,用于在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
(3)添加单元706,用于将所述增量文件添加到所述第一文件中,得到第三文件;
(4)第一更新单元708,用于在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
可选地,上述文件更新装置可以但不限于应用于客户端访问网页或启动客户端的过程中。例如,以客户端访问网页为例,客户端访问网页时,访问本地存储的第一文件,并访问网页。而若是服务器端第一文件进行了更新,则客户端需要使用更新后的第一文件访问网页。此时,客户端向服务器获取增量文件,服务器将增量文件与第二文件的第二标识符下发给客户端。客户端将增量文件添加到第一文件中,得到第三文件,并计算第三文件的第三标识符。客户端将第二标识符与第三标识符进行比对,若是两者相同,则说明更新后的第三文件与服务器侧的第二文件相同。此时,将第一文件更新为第三文件,下次访问网页时,直接启动第三文件。第一文件可以删除,或者继续保存在客户端。
通过上述方法,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
可选地,本方案中第二标识符可以包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,第三标识符第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。在比对第二标识符与第三标识符时,可以比对第二文件的第二哈希值与第三文件的第三哈希值,若是两个哈希值相同,则说明第二文件与第三文件相同,若是两个哈希值不同,则说明第二文件与第三文件有区别。
可选地,本方案中计算哈希值的公式可以采用现有的公式,但是,计算第二文件的第二哈希值与第三文件的第三哈希值的公知应该为相同的公式。
可选地,本方案中的增量文件采用开发设备生成。开发设备上运行有自动化生成工具。开发设备为线下开发设备,即,开发设备生成第二文件的过程中,第二文件并不发送给服务器,在开发设备开发完成后,再将第二文件与增量文件发送给服务器,服务器获取到开发设备开发的第二文件与增量文件后,将增量文件发送给客户端,由客户端进行保存或对现有文件进行更新。
例如,结合图3的步骤S302到S312进行说明。客户端302保存有第一文件,第一文件为目标文件的第一版本,服务器304与开发设备306中也保存有第一文件。如图3所示,开发设备306对第一文件进行更新,将第一文件更新为第二文件。更新过程中在线下进行,服务器306中的第一文件不同步更新。在开发设备306成功将第一文件更新为第二文件之后,则将第二文件发送给服务器304,由服务器304对第一文件进行更新,将服务器304的第一文件更新为第二文件。同时,开发设备306还将开发过程中生成的增量文件发送给服务器304。此时,服务器304中保存有第二文件与增量文件。客户端302在访问网页时,会调用本地的第一文件。客户端302向服务器304发送请求,请求增量文件。此时,服务器将增量文件与第二文件的第二标识符下发给客户端302,客户端302将增量文件添加到第一文件中,得到第三文件,并比对第三文件的第三标识符与第二文件的第二标识符是否相同。若是两者相同,若是两者相同,则说明第三文件与第二文件相同,此时,可以将第三文件保存到客户端302中,同时可以删除第一文件。此时,访问网页可以使用第三文件。
需要说明的是,本方案中客户端302在访问网页时,服务器304下发包含有第二文件的第二标识符与增量文件的启动网页给客户端302,客户端302在访问启动网页时,完成第三文件的更新,并启动第三文件访问网页。从而避免了网页的刷新。且上述服务器304将第二文件的第二标识符与增量文件添加到启动页面中下发给客户端302节省了客户端302访问服务器304的次数。
可选地,本方案中若是第二文件的第二标识符与第三文件的第三标识符不同,则客户端需要向服务器请求第二文件,并使用获取到的第二文件更新客户端本地的第一文件。
可选地,本方案中在客户端获取到第二文件的第二标识符后,在生成第三文件之前,还可以比对第二标识符与第一文件的第一标识符。若是两者相同,则直接使用第一文件访问网页,若是两者不同,在将增量文件添加到第一文件中生成第三文件。
通过本实施例,通过在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
作为一种可选的实施方案,上述第一更新单元包括:
(1)更新模块,用于在所述第二文件的第二哈希值与所述第三文件的第三哈希值相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件,其中,所述第二标识符包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,所述第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。
通过本实施例,通过计算文件的哈希值来确定文件是否相同,实现了提高文件的比对效率与准确性的效果。
作为一种可选的实施方案,
上述第一获取单元包括:(1)接收模块,用于在所述客户端上接收到用于请求访问目标页面的访问指令,其中,所述更新指令包括所述访问指令;
上述第二获取单元包括:(1)第一获取模块,用于在所述客户端上从服务器获取嵌入有所述增量文件与所述第二标识符的所述目标页面;
上述装置还包括:(1)加载单元,用于在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件之后,响应所述访问指令,在所述客户端上加载所述目标页面,并启用所述第三文件。
通过本实施例,通过上述方法启动目标页面,从而保证了启动目标页面时,不会进行自动的刷新,提高了启动目标页面的效率。
作为一种可选的实施方案,上述第二获取单元包括:
(1)第二获取模块,用于从服务器获取所述增量文件,其中,所述增量文件是线下使用自动化工具生成的差分文件,所述差分文件为所述第二版本的所述目标文件与线上当前使用的所述第一版本的所述目标文件所差的代码,其中,所述线下为开发过程中,所述线上当前使用的所述第一版本的所述目标文件为开发之前客户端所使用的文件。
通过本实施例,通过上述方法生成增量文件,从而不需要服务器生成增量文件,减轻了服务器的负担,提高了生成增量文件的效率。
作为一种可选的实施方案,上述装置还包括:
(1)第三获取单元,用于在将所述增量文件添加到所述第一文件中,得到第三文件之后,在所述第二文件的第二标识符与所述第三文件的第三标识符不同的情况下,获取所述第二文件;
(2)第二更新单元,用于在所述客户端上将所述第一文件更新为所述第二文件。
通过本实施例,通过上述方法验证第三文件,并在第三文件与第二文件不同的情况下,向服务器请求第二文件,从而保证了文件更新过程的准确性。
根据本发明实施例的又一个方面,还提供了一种用于实施上述文件更新方法的文件更新***。如图8示,该***包括:
客户端802,用于在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;
所述服务器804,用于响应所述获取指令,将第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符返回给所述客户端,其中,所述第一文件为所述客户端上保存的第一版本的所述目标文件,所述第二文件为第二版本的所述目标文件;
所述客户端802还用于在接收到所述增量文件与所述第二标识符后,将所述增量文件添加到所述第一文件中,得到第三文件,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,所述客户端将所述第一文件更新为所述第三文件。
可选地,上述文件更新***可以但不限于应用于客户端访问网页或启动客户端的过程中。例如,以客户端访问网页为例,客户端访问网页时,访问本地存储的第一文件,并访问网页。而若是服务器端第一文件进行了更新,则客户端需要使用更新后的第一文件访问网页。此时,客户端向服务器获取增量文件,服务器将增量文件与第二文件的第二标识符下发给客户端。客户端将增量文件添加到第一文件中,得到第三文件,并计算第三文件的第三标识符。客户端将第二标识符与第三标识符进行比对,若是两者相同,则说明更新后的第三文件与服务器侧的第二文件相同。此时,将第一文件更新为第三文件,下次访问网页时,直接启动第三文件。第一文件可以删除,或者继续保存在客户端。
通过上述方法,在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件。采用上述方法对获取到的增量文件进行验证,保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
可选地,本方案中第二标识符可以包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,第三标识符第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。在比对第二标识符与第三标识符时,可以比对第二文件的第二哈希值与第三文件的第三哈希值,若是两个哈希值相同,则说明第二文件与第三文件相同,若是两个哈希值不同,则说明第二文件与第三文件有区别。
可选地,本方案中计算哈希值的公式可以采用现有的公式,但是,计算第二文件的第二哈希值与第三文件的第三哈希值的公知应该为相同的公式。
可选地,本方案中的增量文件采用开发设备生成。开发设备上运行有自动化生成工具。开发设备为线下开发设备,即,开发设备生成第二文件的过程中,第二文件并不发送给服务器,在开发设备开发完成后,再将第二文件与增量文件发送给服务器,服务器获取到开发设备开发的第二文件与增量文件后,将增量文件发送给客户端,由客户端进行保存或对现有文件进行更新。
例如,结合图3的步骤S302到S312进行说明。客户端302保存有第一文件,第一文件为目标文件的第一版本,服务器304与开发设备306中也保存有第一文件。如图3所示,开发设备306对第一文件进行更新,将第一文件更新为第二文件。更新过程中在线下进行,服务器306中的第一文件不同步更新。在开发设备306成功将第一文件更新为第二文件之后,则将第二文件发送给服务器304,由服务器304对第一文件进行更新,将服务器304的第一文件更新为第二文件。同时,开发设备306还将开发过程中生成的增量文件发送给服务器304。此时,服务器304中保存有第二文件与增量文件。客户端302在访问网页时,会调用本地的第一文件。客户端302向服务器304发送请求,请求增量文件。此时,服务器将增量文件与第二文件的第二标识符下发给客户端302,客户端302将增量文件添加到第一文件中,得到第三文件,并比对第三文件的第三标识符与第二文件的第二标识符是否相同。若是两者相同,若是两者相同,则说明第三文件与第二文件相同,此时,可以将第三文件保存到客户端302中,同时可以删除第一文件。此时,访问网页可以使用第三文件。
需要说明的是,本方案中客户端302在访问网页时,服务器304下发包含有第二文件的第二标识符与增量文件的启动网页给客户端302,客户端302在访问启动网页时,完成第三文件的更新,并启动第三文件访问网页。从而避免了网页的刷新。且上述服务器304将第二文件的第二标识符与增量文件添加到启动页面中下发给客户端302节省了客户端302访问服务器304的次数。
可选地,本方案中若是第二文件的第二标识符与第三文件的第三标识符不同,则客户端需要向服务器请求第二文件,并使用获取到的第二文件更新客户端本地的第一文件。
可选地,本方案中在客户端获取到第二文件的第二标识符后,在生成第三文件之前,还可以比对第二标识符与第一文件的第一标识符。若是两者相同,则直接使用第一文件访问网页,若是两者不同,在将增量文件添加到第一文件中生成第三文件。
通过本实施例,通过上述方法更新文件,从而客户端在获取到增量文件之后,会先将增量文件添加到第一文件中获得第三文件,并比对第二文件的第二标识符与第三文件的第三标识符。在两者相同的情况下,才会将第一文件更新为第三文件保证了生成的第三文件的准确性,提高了对文件进行更新的准确度。
根据本发明实施例的又一个方面,还提供了一种用于实施上述文件更新方法的电子装置,如图9所示,该电子装置包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
S2,在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
S3,将所述增量文件添加到所述第一文件中,得到第三文件;
S4,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的文件更新方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件更新方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于第一文件、增量文件等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述文件更新装置中的第一获取单元702、第二获取单元704、添加单元706与第一更新单元708。此外,还可以包括但不限于上述文件更新装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器908,用于显示第三文件;和连接总线910,用于连接上述电子装置中的各个模块部件。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
S2,在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
S3,将所述增量文件添加到所述第一文件中,得到第三文件;
S4,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
或者,可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,客户端在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;
S2,所述服务器响应所述获取指令,将第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符返回给所述客户端,其中,所述第一文件为所述客户端上保存的第一版本的所述目标文件,所述第二文件为第二版本的所述目标文件;
S3,所述客户端在接收到所述增量文件与所述第二标识符后,将所述增量文件添加到所述第一文件中,得到第三文件,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,所述客户端将所述第一文件更新为所述第三文件。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种文件更新方法,其特征在于,包括:
在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
将所述增量文件添加到所述第一文件中,得到第三文件;
在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
2.根据权利要求1所述的方法,其特征在于,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件包括:
在所述第二文件的第二哈希值与所述第三文件的第三哈希值相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件,其中,所述第二标识符包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,所述第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。
3.根据权利要求1所述的方法,其特征在于,
在所述客户端上获取更新指令,包括:在所述客户端上接收到用于请求访问目标页面的访问指令,其中,所述更新指令包括所述访问指令;
在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,包括:在所述客户端上从服务器获取嵌入有所述增量文件与所述第二标识符的所述目标页面;
在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件之后,所述方法还包括:响应所述访问指令,在所述客户端上加载所述目标页面,并启用所述第三文件。
4.根据权利要求1所述的方法,其特征在于,在所述客户端上获取第二文件相对于第一文件的增量文件,包括:
所述客户端从服务器获取所述增量文件,其中,所述增量文件是线下使用自动化工具生成的差分文件,所述差分文件为所述第二版本的所述目标文件与线上当前使用的所述第一版本的所述目标文件所差的代码,其中,所述线下为开发过程中,所述线上为开发之前。
5.根据权利要求4所述的方法,其特征在于,所述客户端从所述服务器获取所述增量文件之前,所述方法包括:
在开发设备上运行自动化工具生成所述第二版本的所述目标文件,并获取线上当前使用的所述第一版本的所述目标文件;
在所述开发设备上通过所述自动化工具生成所述第二版本的所述目标文件与所述第一版本的所述目标文件之间的所述差分文件;
在所述开发设备上将所述差分文件作为所述增量文件发送给所述服务器。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在将所述增量文件添加到所述第一文件中,得到第三文件之后,还包括:
在所述第二文件的第二标识符与所述第三文件的第三标识符不同的情况下,获取所述第二文件;
在所述客户端上将所述第一文件更新为所述第二文件。
7.一种文件更新方法,其特征在于,包括:
客户端在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;
所述服务器响应所述获取指令,将第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符返回给所述客户端,其中,所述第一文件为所述客户端上保存的第一版本的所述目标文件,所述第二文件为第二版本的所述目标文件;
所述客户端在接收到所述增量文件与所述第二标识符后,将所述增量文件添加到所述第一文件中,得到第三文件,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,所述客户端将所述第一文件更新为所述第三文件。
8.一种文件更新装置,其特征在于,包括:
第一获取单元,用于在客户端上获取更新指令,其中,所述更新指令用于请求更新第一文件,所述第一文件为所述客户端上保存的第一版本的目标文件;
第二获取单元,用于在所述客户端上获取第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符,其中,所述第二文件为第二版本的所述目标文件;
添加单元,用于将所述增量文件添加到所述第一文件中,得到第三文件;
第一更新单元,用于在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件。
9.根据权利要求8所述的装置,其特征在于,所述第一更新单元包括:
更新模块,用于在所述第二文件的第二哈希值与所述第三文件的第三哈希值相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件,其中,所述第二标识符包括所述第二哈希值,所述第二哈希值是使用哈希函数对所述第二文件进行哈希运算得到的哈希值,所述第三标识符包括所述第三哈希值,所述第三哈希值是使用所述哈希函数对所述第三文件进行哈希运算得到的哈希值。
10.根据权利要求8所述的装置,其特征在于,
所述第一获取单元包括:接收模块,用于在所述客户端上接收到用于请求访问目标页面的访问指令,其中,所述更新指令包括所述访问指令;
所述第二获取单元包括:第一获取模块,用于在所述客户端上从服务器获取嵌入有所述增量文件与所述第二标识符的所述目标页面;
所述装置还包括:加载单元,用于在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,在所述客户端上将所述第一文件更新为所述第三文件之后,响应所述访问指令,在所述客户端上加载所述目标页面,并启用所述第三文件。
11.根据权利要求8所述的装置,其特征在于,所述第二获取单元包括:
第二获取模块,用于从服务器获取所述增量文件,其中,所述增量文件是线下使用自动化工具生成的差分文件,所述差分文件为所述第二版本的所述目标文件与线上当前使用的所述第一版本的所述目标文件所差的代码,其中,所述线下为开发过程中,所述线上当前使用的所述第一版本的所述目标文件为开发之前客户端所使用的文件。
12.根据权利要求8至11中任一项所述的装置,其特征在于,所述装置还包括:
第三获取单元,用于在将所述增量文件添加到所述第一文件中,得到第三文件之后,在所述第二文件的第二标识符与所述第三文件的第三标识符不同的情况下,获取所述第二文件;
第二更新单元,用于在所述客户端上将所述第一文件更新为所述第二文件。
13.一种文件更新***,其特征在于,包括:
客户端,用于在接收到用于请求更新目标文件的更新指令的情况下,向服务器发送获取指令;
所述服务器,用于响应所述获取指令,将第二文件相对于第一文件的增量文件、以及所述第二文件的第二标识符返回给所述客户端,其中,所述第一文件为所述客户端上保存的第一版本的所述目标文件,所述第二文件为第二版本的所述目标文件;
所述客户端还用于在接收到所述增量文件与所述第二标识符后,将所述增量文件添加到所述第一文件中,得到第三文件,在所述第二文件的第二标识符与所述第三文件的第三标识符相同的情况下,所述客户端将所述第一文件更新为所述第三文件。
14.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序运行时执行所述权利要求1至6或7任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6或7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678354.4A CN110390064A (zh) | 2019-07-25 | 2019-07-25 | 文件更新方法、装置和***,存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678354.4A CN110390064A (zh) | 2019-07-25 | 2019-07-25 | 文件更新方法、装置和***,存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110390064A true CN110390064A (zh) | 2019-10-29 |
Family
ID=68287560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910678354.4A Pending CN110390064A (zh) | 2019-07-25 | 2019-07-25 | 文件更新方法、装置和***,存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390064A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112750181A (zh) * | 2021-01-22 | 2021-05-04 | 珠海优特电力科技股份有限公司 | 图形处理方法和装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978215A (zh) * | 2014-10-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种文件更新方法、相关设备和*** |
US20160041819A1 (en) * | 2014-08-06 | 2016-02-11 | Microsoft Corporation | Updating service applications |
WO2017158663A1 (ja) * | 2016-03-15 | 2017-09-21 | パナソニックIpマネジメント株式会社 | データ生成装置、組込端末、ファームウェア更新システム及びデータ生成方法 |
CN109542851A (zh) * | 2018-11-30 | 2019-03-29 | 北京金山云网络技术有限公司 | 文件更新方法、装置及*** |
CN110008757A (zh) * | 2019-04-09 | 2019-07-12 | 江南大学 | 一种物联网终端固件更新中数据保护方法及*** |
-
2019
- 2019-07-25 CN CN201910678354.4A patent/CN110390064A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160041819A1 (en) * | 2014-08-06 | 2016-02-11 | Microsoft Corporation | Updating service applications |
CN104978215A (zh) * | 2014-10-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种文件更新方法、相关设备和*** |
WO2017158663A1 (ja) * | 2016-03-15 | 2017-09-21 | パナソニックIpマネジメント株式会社 | データ生成装置、組込端末、ファームウェア更新システム及びデータ生成方法 |
CN109542851A (zh) * | 2018-11-30 | 2019-03-29 | 北京金山云网络技术有限公司 | 文件更新方法、装置及*** |
CN110008757A (zh) * | 2019-04-09 | 2019-07-12 | 江南大学 | 一种物联网终端固件更新中数据保护方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112750181A (zh) * | 2021-01-22 | 2021-05-04 | 珠海优特电力科技股份有限公司 | 图形处理方法和装置、存储介质及电子设备 |
CN112750181B (zh) * | 2021-01-22 | 2024-05-31 | 珠海优特电力科技股份有限公司 | 图形处理方法和装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902696A (zh) | 一种加载资源文件的方法及装置 | |
CN107832100A (zh) | 一种apk插件的加载方法及其终端 | |
CN110968331B (zh) | 应用程序运行的方法和装置 | |
CN110673923A (zh) | Xwiki***配置方法、***及计算机设备 | |
CN110147241A (zh) | 程序配置更新方法、电子装置、计算机设备及存储介质 | |
CN107193607A (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
CN111782339A (zh) | 一种容器创建方法、装置、电子设备及存储介质 | |
CN107291759A (zh) | 浏览器页面资源的处理方法和装置 | |
CN113094076A (zh) | 基于版本控制的版本迭代方法、装置、设备及介质 | |
CN113504918A (zh) | 设备树配置优化方法、装置、计算机设备和存储介质 | |
CN107798064A (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN111258680A (zh) | 资源加载方法和装置、存储介质及电子装置 | |
CN112035114A (zh) | 页面回退方法、装置、设备及介质 | |
CN111224829B (zh) | 外部节点接入区块链网络的方法及装置,区块链网络 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN113114515B (zh) | 一种资源文件配置方法及装置 | |
CN104267985A (zh) | 一种软件加载方法和设备 | |
CN113961179A (zh) | Soar平台的服务接入方法、***、电子装置和存储介质 | |
CN113918437A (zh) | 用户行为数据分析方法、装置、计算机设备和存储介质 | |
CN110390064A (zh) | 文件更新方法、装置和***,存储介质及电子装置 | |
US20170359213A1 (en) | Method for performing communication between browser and mobile terminal, and browser apparatus | |
CN106027602A (zh) | 应用程序的云端备份、还原方法及终端备份、还原装置 | |
CN104049998B (zh) | 一种Android***中升级包的处理方法、装置和设备 | |
CN110096295B (zh) | 基于ReactNative的多模块移动应用的热更新方法及*** | |
CN108647139B (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 |