CN116894014B - 缓存更新方法、服务器、终端设备及芯片系统 - Google Patents
缓存更新方法、服务器、终端设备及芯片系统 Download PDFInfo
- Publication number
- CN116894014B CN116894014B CN202311153173.2A CN202311153173A CN116894014B CN 116894014 B CN116894014 B CN 116894014B CN 202311153173 A CN202311153173 A CN 202311153173A CN 116894014 B CN116894014 B CN 116894014B
- Authority
- CN
- China
- Prior art keywords
- file
- target
- cache
- server
- terminal device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000004422 calculation algorithm Methods 0.000 claims description 170
- 238000012545 processing Methods 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 230000004044 response Effects 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/172—Caching, prefetching or hoarding of files
-
- 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/178—Techniques for file synchronisation in 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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
Abstract
本申请实施例公开了一种缓存更新方法、服务器、终端设备及芯片系统,适用于计算机技术领域,该方法包括:服务器接收终端设备发送的文件请求;在文件请求包括路径信息和缓存文件标识时,从路径信息指示的文件路径获取目标文件,其中,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识;在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,历史缓存文件与目标缓存文件相符;确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件,其中,差分文件用于对终端设备中的目标缓存文件进行更新。本申请实施例可以对终端设备所缓存的文件进行及时更新。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种缓存更新方法、服务器、终端设备及芯片系统。
背景技术
终端设备与服务器通信的过程中,终端设备可以将从服务器获取的文件在本地缓存,这样,在终端设备下一次需要使用服务器中的同一文件时,可以使用本地已缓存的该文件,而无需再次从服务器下载该文件,可以节约用于传输该文件的网络资源。
实际应用中,由于服务器中的文件可能会被修改,比如,文件中的某一项数据从A修改为B,若终端设备在下一次需要使用服务器中的同一文件时,依旧使用本地缓存的被修改前的文件,显然跟实际情况不匹配,导致出现数据处理错误,因此,需要对终端设备所缓存的文件进行及时更新。
发明内容
有鉴于此,本申请实施例提供了缓存更新方法、服务器、终端设备及芯片系统,可以对终端设备所缓存的文件进行及时更新。
本申请实施例的第一方面提供了一种缓存更新方法,应用于服务器,包括:
服务器接收终端设备发送的文件请求。之后,在文件请求包括路径信息和缓存文件标识时,服务器从路径信息指示的文件路径获取目标文件,其中,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识。然后,服务器在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,历史缓存文件与目标缓存文件相符。最后,服务器可以确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件,其中,差分文件用于对终端设备中的目标缓存文件进行更新。
其中,服务器缓存为服务器中用于缓存数据的区域。
本申请实施例中,为了便于描述,将服务器中文件路径下存储的文件记作目标文件,将存入服务器缓存的目标文件记作历史缓存文件,将缓存于终端设备的目标文件记作目标缓存文件。
在本申请实施例中,终端设备在需要服务器中的目标文件时,可以主动向服务器发送文件请求,这样,服务器可以基于该文件请求,按需对终端设备上与目标文件对应的目标缓存文件进行更新,可以实现及时有效地对终端设备所缓存的文件进行更新。另外,服务器通过缓存文件标识来确定服务器中与目标缓存文件对应的目标文件的文件内容是否发生改变,操作简单,计算复杂度较低,可以有效节约计算资源。另外,在服务器中与目标缓存文件对应的目标文件的文件内容发生改变的情况下,服务器仅向终端设备发送差分文件,也即是,仅向终端设备发送发生改变部分的内容,与直接将修改后的完整文件向终端设备发送相比,可以极大地节约用于传输文件的网络资源和传输时间,有助于提高终端设备的文件更新效率。另外,在服务器缓存中缓存与目标缓存文件相匹配的历史缓存文件,从而实现服务器能够快速准确地基于自身缓存的历史缓存文件确定出目标文件被修改的部分,以得到差分文件,有助于提高数据处理效率。
作为本申请的一个可选实施例,服务器可以在确定目标文件与缓存文件标识不匹配时,生成差分文件。服务器也可以是在确定目标文件内容已被修改时,生成差分文件。
可以理解的,本申请实施例对差分文件的生成时机不做具体限定。实践中,服务器通常是采用文件差分算法,对目标文件及目标文件对应的历史缓存文件进行差分处理,以得到差分文件。
作为本申请的一个可选实施例,服务器可以采用预设文件差分算法对目标文件和历史缓存文件进行处理,以得到差分文件。其中,上述预设文件差分算法可以是预先设定的文件差分算法,比如,可以为myers 差分算法、bsdiff 差分算法等等。可以立即理解的,预设文件差分算法为终端设备支持的文件差分算法。
作为本申请的一个可选实施例,在文件请求中包括终端设备所支持的文件差分算法的算法标识时,服务器可以采用终端设备支持的文件差分算法,对目标文件和历史缓存文件进行差分处理,以得到上述差分文件。
本申请实施例中,由于服务器所使用的文件差分算法,与终端设备所使用的文件合并算法需要相互适配,又由于不同的终端设备所支持的文件差分算法可能存在差异,服务器以终端设备支持的文件差分算法来得到差分文件,可以实现终端设备准确有效地将差分文件与目标缓存文件合并得到目标文件的内容,从而实现对目标缓存文件准确有效更新。作为示例,文件合并算法可以为combine算法。
在一些应用场景中,由于文件差分与文件合并属于两个互逆的过程,相适配的文件差分算法与文件合并算法,可以是同一算法中的两个组成部分。举例来说,文件差分算法中,既包括有对文件进行差分处理的方案,又包括有利用差分文件进行合并处理的方案。
可以理解的,终端设备支持的文件差分算法可以有一种,也可以有多种。在终端设备支持的文件差分算法有多种时,服务器可以采用其中一种文件差分算法,对目标文件和历史缓存文件进行差分处理,以得到上述差分文件。在终端设备支持的文件差分算法有多种时,服务器向终端设备返回差分文件时,可以同时返回目标算法标识,这样,终端设备可以以相适配的文件合并算法对目标缓存文件进行更新,从而实现终端设备对目标缓存文件进行准确有效更新,其中,目标算法标识用于指示服务器所使用的目标文件差分算法。其中,目标文件差分算法为服务器所使用的文件差分算法。
作为本申请的一个可选实施例,方法还包括:在文件请求包括路径信息且不包括缓存文件标识时,从路径信息指示的文件路径获取目标文件,向终端设备发送目标文件。
在本申请实施例中,在文件请求包括路径信息且不包括缓存文件标识时,说明终端设备中尚未缓存与该路径信息对应的目标缓存文件。服务器可以在接收到文件请求且文件请求中不包括缓存文件标识时,直接从路径信息指示的文件路径处获取所需的目标文件,以及将该目标文件发送至终端设备。
可以理解的,终端设备在首次接收到该路径信息下的目标文件时,可以对该目标文件进行使用,以及将该文件作为目标缓存文件进行缓存,以备下次使用。
作为本申请的一个可选实施例,服务器在向终端设备发送目标文件之后,将目标文件存入服务器缓存,得到目标文件的历史缓存文件。
在本申请实施例中,在本申请实施例中,服务器在向终端设备发送目标文件之后,将该目标文件存入服务器缓存,可以实现在服务器中的目标文件的内容发生改变时,能够采用服务器缓存中的历史缓存文件来得到目标文件的差分文件,可以提高数据处理速度。
在第一方面的第一种可能的实现方式中,在确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件之后,还包括:将历史缓存文件切换为目标文件。
在本申请实施例中,在目标文件的内容发生改变之后,服务器可以采用历史缓存文件得到差分文件,以及对历史缓存文件进行更新,以保障服务器中缓存的历史缓存文件与终端设备上的更新后的目标缓存文件内容相同,从而保障后续能够对终端设备上的目标缓存文件进行准确有效更新。
在第一方面的第二种可能的实现方式中,方法还包括:服务器在文件请求中包括用于指示终端设备支持差分更新模式的差分信息时,确定终端设备支持差分更新模式。以及服务器在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,包括:服务器在目标文件与缓存文件标识不匹配且终端设备支持差分更新模式时,从服务器缓存中获取历史缓存文件。
在本申请实施例中,目标文件与缓存文件标识不匹配,说明目标文件的内容发生了改变。服务器在目标文件的内容发生了改变且终端设备支持差分更新模式的情况下,才从服务器缓存中获取历史缓存文件来生成差分文件,从而将差分文件发送给终端设备,以使终端设备基于差分文件对目标缓存文件进行更新,有助于实现准确有效地对终端设备所缓存的目标缓存文件进行更新。
作为本申请的一个可选实施例,服务器在目标文件与缓存文件标识不匹配且终端设备不支持差分更新模式时,向终端设备发送目标文件。
在本申请实施例中,在目标文件的内容发生了改变,且终端设备不支持差分更新模式的情况下,服务器直接向终端设备发送目标文件,可以使得终端设备采用目标文件对目标缓存文件进行替换更新。
作为本申请的一个可选实施例,服务器在目标文件与缓存文件标识相匹配且终端设备不支持差分更新模式时,向终端设备返回用于指示无需对目标缓存文件进行更新的信息。
在本申请实施例中,目标文件与缓存文件标识相匹配,说明目标文件的内容未发生改变。服务器在目标文件的内容未发生改变,且终端设备不支持差分更新模式的情况下,向终端设备发送用于指示无需对目标缓存文件进行更新的信息,可以使得终端设备不对目标缓存文件进行更新。
作为本申请的一个可选实施例,服务器在目标文件与缓存文件标识相匹配且终端设备支持差分更新模式时,向终端设备返回用于指示无需对目标缓存文件进行更新的信息。
在本申请实施例中,服务器在目标文件的内容未发生改变,且终端设备支持差分更新模式的情况下,向终端设备发送用于指示无需对目标缓存文件进行更新的信息,可以使得终端设备不对目标缓存文件进行更新。
在本申请实施例中,无论终端设备是否支持差分更新模式,服务器都可以对终端设备的文件请求进行有效响应,兼容性较好,可以保障终端设备及时有效地对目标缓存文件进行更新。
作为本申请的一个可选实施例,用于指示无需对目标缓存文件进行更新的信息为第二状态码。其中,第二状态码用于指示无需对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为超文本传输协议(Hypertext Transfer Protocol,HTTP)时,第二状态码通常为“304”。
在第一方面的第三种可能的实现方式中,方法还包括:服务器在目标文件与缓存文件标识不匹配且终端设备不支持差分更新模式时,向终端设备发送第一状态码和目标文件,其中,第一状态码用于指示终端设备基于目标文件对目标缓存文件进行替换更新。在终端设备与服务器之间的传输协议为HTTP协议时,第一状态码通常为“200”。
在本申请实施例中,在目标文件的内容发生了改变,且终端设备不支持差分更新模式的情况下,服务器向终端设备发送第一状态码和目标文件,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
需要说明的是,由于状态码的大小通常很小,传输状态码所需占用的网络资源很小,因此,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
可以理解的,在终端设备不支持差分更新模式时,服务器向终端设备发送目标文件之后,无需将该目标文件缓存在服务器缓存中。这样,可以减少不必要的存储资源的消耗。
在第一方面的第四种可能的实现方式中,方法还包括:服务器在目标文件与缓存文件标识相匹配时,向终端设备返回第二状态码。其中,第二状态码用于指示无需对目标缓存文件进行更新。
在本申请实施例中,在目标文件的内容没有发生改变的情况下,服务器通过向终端设备返回第二状态码,以指示终端设备无需对目标缓存文件进行更新,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
在第一方面的第五种可能的实现方式中,文件请求中可以包括用于指示终端设备支持差分更新模式的差分信息,且差分信息包括终端设备所支持的文件差分算法的算法标识。
本申请实施例中,在文件请求包括算法标识时,说明终端设备支持差分更新模式。算法标识既可以体现终端设备支持差分更新模式,又可以体现终端设备所支持的具体文件差分算法,与另外用一个信息来体现终端设备支持差分更新模式相比,可以有效缩减文件请求携带的数据量,有助于进一步节约网络资源。
作为本申请的一个可选实施例,差分信息为文件请求中的差分字段,差分字段的值为终端设备所支持的文件差分算法的算法标识。
可以理解的,差分字段的取值可以为空,也可以不为空。在一些应用场景中,若差分字段取值为空,服务器可以默认使用某一种文件差分算法。在另一些应用场景中,若差分字段取值不为空,服务器可以采用差分字段中的任一算法标识指示的文件差分算法。
在第一方面的第六种可能的实现方式中,服务器向终端设备发送差分文件包括:向终端设备发送差分文件和以下各项信息中的至少一项:第三状态码、目标文件的文件标识和目标算法标识。其中,目标算法标识用于指示服务器所使用的目标文件差分算法,第三状态码用于指示终端设备基于差分文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第三状态码可以为“310”。
在本申请实施例中,服务器向终端设备发送差分文件的同时,还可以发送第三状态码、目标文件的文件标识、目标算法标识该三项中的一项或者多项。其中,服务器将目标文件的文件标识发送给终端设备,终端设备采用该文件标识校验更新后的目标缓存文件是否准确有效。服务器将目标算法标识发送给终端设备,可以指示终端设备使用相适配的文件合并算法对目标缓存文件进行更新,以实现终端设备快速准确地对目标缓存文件进行更新,可以提高更新效率和准确率。服务器向终端设备发送第三状态码,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
可以理解的,终端设备接收到服务器返回的目标文件的文件标识之后,可以采用所获取的文件标识对缓存文件标识进行更新,且具体可以将缓存文件标识切换为所接收的目标文件的文件标识,这样,可以便于终端设备后续基于更新后的缓存文件标识对目标缓存文件进行更新。
在第一方面的第七种可能的实现方式中,在服务器接收终端设备发送的文件请求之前,方法还包括:在目标文件具有目标模板文件时,服务器将目标模板文件作为目标文件的历史缓存文件存入服务器缓存。以及服务器向终端设备发送差分文件,包括:服务器在确定终端设备具有目标模板文件时,向终端设备发送第三状态码和差分文件。服务器在确定终端设备不具有目标模板文件时,向终端设备发送第四状态码、目标模板文件和差分文件。其中,第四状态码用于指示终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第四状态码可以为“311”。
在本申请实施例中,在目标文件具有目标模板文件时,说明目标文件为依赖目标模板文件生成得到的文件。由于模板文件通常不会发生改变,服务器将目标模板文件作为目标文件的历史缓存文件存入服务器缓存,可以避免对历史缓存文件进行反复更新,从而实现在保障对终端设备上的目标缓存文件进行准确有效更新的情况下,减少数据处理量,提高数据处理效率。另外,在终端设备中不具有目标模板文件的情况下,向终端设备同时发送目标模板文件和差分文件,以及在终端设备具有目标模板文件的情况下,仅向终端设备发送差分文件,可以减少不必要的数据传输,从而提高整体数据处理效率。另外,通过不同的状态码指示终端设备执行不同的操作,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
作为本申请的一个可选实施例,服务器可以在首次向终端设备发送目标文件的目标模板文件之后,确定终端设备具有目标模板文件。服务器可以在首次向终端设备发送目标文件的目标模板文件之前,确定终端设备不具有目标模板文件。
本申请实施例的第二方面提供了一种缓存更新方法,应用于终端设备,方法包括:
终端设备向服务器发送文件请求,文件请求包括路径信息和缓存文件标识,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识。之后,终端设备可以接收服务器针对文件请求返回的请求结果数据,请求结果数据包括以下至少一项:差分文件、目标文件的目标模板文件,其中,差分文件为服务器采用第一方面任一项的方法处理得到,目标文件为服务器中与路径信息对应的文件。最后,终端设备可以根据请求结果数据对目标缓存文件进行更新。
在本申请实施例中,终端设备在需要服务器中的目标文件时,可以主动向服务器发送文件请求,这样,服务器可以基于该文件请求,按需对终端设备上与目标文件对应的目标缓存文件进行更新,可以实现及时有效地对终端设备所缓存的文件进行更新。另外,服务器通过缓存文件标识来确定服务器中与目标缓存文件对应的目标文件的文件内容是否发生改变,操作简单,计算复杂度较低,可以有效节约计算资源。另外,在服务器中与目标缓存文件对应的目标文件的文件内容发生改变的情况下,服务器仅向终端设备发送差分文件,也即是,仅向终端设备发送发生改变部分的内容,与直接将修改后的完整文件向终端设备发送相比,可以极大地节约用于传输文件的网络资源和传输时间,有助于提高终端设备的文件更新效率。另外,在服务器缓存中缓存与目标缓存文件相匹配的历史缓存文件,从而实现服务器能够快速准确地基于自身缓存的历史缓存文件确定出目标文件被修改的部分,以得到差分文件,有助于提高数据处理效率。
作为本申请的一个可选实施例,终端设备根据请求结果数据对目标缓存文件进行更新,可以包括:在请求结果数据包括差分文件时,终端设备基于差分文件对目标缓存文件进行更新。在请求结果数据包括差分文件和目标模板文件时,终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。
在本申请实施例中,在目标文件具有目标模板文件的情况下,若服务器返回至终端设备的请求结果数据中不包括目标模板文件,通常说明服务器已经向终端设备发送过目标模板文件,此时,终端设备可以采用已有的目标模板文件和所接收的差分文件对目标缓存文件进行更新,可以在保障终端设备及时准确对目标缓存文件进行更新的同时,节省不必要的网络资源的消耗。
可以理解的,在目标文件不具有目标模板文件的情况下,终端设备在接收到差分文件时,可以采用差分文件对目标缓存文件进行更新。
作为本申请的一个可选实施例,终端设备可以采用与目标文件差分算法相适配的文件合并算法,对差分文件和目标缓存文件进行合并处理,得到更新后的目标缓存文件。可以理解的,更新后的目标缓存文件与目标文件内容一致。
其中,目标文件差分算法通常为服务器所使用的文件差分算法,比如,可以为myers 差分算法、bsdiff 差分算法等等。
本申请实施例中,由于服务器所使用的文件差分算法,与终端设备所使用的文件合并算法需要相互适配,终端设备采用与目标文件差分算法相适配的文件合并算法,对差分文件和目标缓存文件进行合并处理,可以实现终端设备准确有效地将差分文件与目标缓存文件合并得到目标文件的内容,从而实现对目标缓存文件准确有效更新。
在第二方面的第一种可能的实现方式中,在请求结果数据还包括状态码时,终端设备根据请求结果数据对目标缓存文件进行更新,可以包括:在请求结果数据包括差分文件且状态码为第三状态码时,终端设备基于差分文件对目标缓存文件进行更新。在请求结果数据包括差分文件和目标模板文件,且状态码为第四状态码时,终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。
在本申请实施例中,请求结果数据中包括状态码,也即是,服务器通过状态码指示终端设备进行相应的操作,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。另外,由于状态码的大小通常很小,传输状态码所需占用的网络资源很小,因此,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
作为本申请的一个可选实施例,在请求结果数据包括状态码时,根据请求结果数据对目标缓存文件进行更新,包括:在状态码为第二状态码时,对目标缓存文件不更新。
在第二方面的第二种可能的实现方式中,请求结果数据还包括以下至少一项:服务器中与路径信息对应的目标文件的文件标识、目标算法标识。
其中,目标算法标识用于指示服务器所使用的目标文件差分算法。
本申请实施例中,请求结果数据中包括文件标识时,终端设备可以采用该文件标识校验更新后的目标缓存文件是否准确有效。另外,请求结果数据中包括目标算法标识时,终端设备可以快速准确地采用与目标文件差分算法相适配的文件合并算法,对目标缓存文件进行更新,可以提高更新效率和准确率。
可以理解的,终端设备接收到服务器返回的目标文件的文件标识之后,可以采用所获取的文件标识对缓存文件标识进行更新,且具体可以将缓存文件标识切换为所接收的目标文件的文件标识,这样,可以便于终端设备后续基于更新后的缓存文件标识对目标缓存文件进行更新。
在第二方面的第三种可能的实现方式中,方法还包括:在请求结果数据包括目标模板文件时,将目标缓存文件与目标模板文件对应存储。
其中,目标模板文件为目标文件对应的模板文件。
在本申请实施例中,由于模板文件通常是稳定不变的,终端设备对目标文件的目标模板文件进行存储,可以避免同一文件重复传输,有助于节约网络资源。
本申请实施例的第三方面提供了一种缓存更新装置,装置包括:
请求接收单元,用于接收终端设备发送的文件请求;
文件获取单元,用于在文件请求包括路径信息和缓存文件标识时,从路径信息指示的文件路径获取目标文件,其中,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识;
缓存获取单元,用于在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,历史缓存文件与目标缓存文件相符;
文件发送单元,用于确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件,其中,差分文件用于对终端设备中的目标缓存文件进行更新。
作为本申请的一个实施例,缓存更新装置可以实现如上述第一方面任一项的方法。
本申请实施例的第四方面提供了一种缓存更新装置,装置包括:
请求发送单元,用于向服务器发送文件请求,文件请求包括路径信息和缓存文件标识,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识;
文件接收单元,用于接收服务器针对文件请求返回的请求结果数据,请求结果数据包括以下至少一项:差分文件、目标文件的目标模板文件,其中,差分文件为服务器采用如上述第一方面任一项的方法处理得到,目标文件为服务器中与路径信息对应的文件;
文件更新单元,用于根据请求结果数据对目标缓存文件进行更新。
作为本申请的一个实施例,缓存更新装置可以实现如上述第二方面任一项的方法。
第五方面,本申请实施例提供一种服务器,包括存储器、处理器、通信接口以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面任一项的方法。
第六方面,本申请实施例提供一种终端设备,包括存储器、处理器、通信接口以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第二方面任一项的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面任一项的方法,或者实现如上述第二方面任一项的方法。
第八方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面任一项的方法,或者实现如上述第二方面任一项的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第九方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面任一项的方法,或者执行上述第二方面任一项的方法。
可以理解的是,上述第三方面至第九方面的有益效果可以参见上述第一方面和第二方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种服务器与终端设备交互的过程示意图;
图2为本申请实施例提供的缓存更新方法的交互流程图;
图3为本申请实施例提供的一种服务器对文件请求进行响应的实现流程图;
图4为本申请实施例提供的服务器执行缓存更新方法的过程示意图;
图5A为本申请实施例提供的目标模板文件的示意图;
图5B为本申请实施例提供的目标文件的示意图;
图6为本申请实施例提供的一种终端设备对目标缓存文件进行更新的流程示意图;
图7为本申请实施例提供的另一种终端设备对目标缓存文件进行更新的流程示意图;
图8为本申请实施例提供的另一种服务器与终端设备交互的过程示意图;
图9为本申请实施例提供的服务器中的缓存更新装置的结构示意图;
图10为本申请实施例提供的终端设备中的缓存更新装置的结构示意图;
图11为本申请实施例提供的服务器的结构示意图;
图12为本申请实施例提供的终端设备的结构示意图;
图13为本申请实施例提供的手机的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下对本申请实施例可能涉及到的一些概念进行说明如下:
多个:若无特别说明,在本申请实施例中,多个均是指两个或两个以上。
路径信息:在本申请实施例中,路径信息通常为文件请求中携带的信息,路径信息可以指示服务器中的某个文件的文件路径或文件地址。路径信息可以为统一资源定位系统(Uniform Resource Locator,URL)。其中,URL地址中通常包括协议名、域名和文件路径。
实践中,终端设备通过文件请求向服务器请求某个文件时,由于该文件请求中携带有该文件的路径信息,故而服务器可以基于文件请求,从服务器中找到终端设备所需的该文件。
目标文件:在本申请实施例中,目标文件通常是存储于服务器中的文件。目标文件的文件路径与文件请求中的路径信息所指示的文件路径相同。
历史缓存文件:在本申请实施例中,历史缓存文件通常是缓存在服务器缓存中的目标文件。其中,服务器缓存通常是服务器中用于缓存数据的区域。
实践中,服务器向终端设备发送目标文件之后,可以将目标文件缓存在服务器缓存中,以做备份。另外,在服务器向终端设备发送差分文件之后,服务器可以对历史缓存文件进行替换更新,这样,可以使得服务器总是可以与终端设备缓存相同的目标文件的内容,也即是服务器缓存中的历史缓存文件与终端设备中的目标缓存文件可以同步更新,便于服务器以服务器缓存中的历史缓存文件来确定目标文件与目标缓存文件之间的差分文件。
目标缓存文件:在本申请实施例中,目标缓存文件通常是缓存在终端设备中的目标文件。
实践中,终端设备首次从服务器获取目标文件之后,可以对该目标文件进行缓存,以便后续可以采用所缓存的目标缓存文件进行相应处理。为了区分描述,缓存于终端设备中的目标文件可以被称之为目标缓存文件。在服务器中的目标文件被修改时,需要对目标缓存文件进行同步更新。
缓存文件标识:在本申请实施例中,缓存文件标识通常指目标缓存文件的文件标识。
实时文件标识:在本申请实施例中,实时文件标识通常指示目标文件的文件标识。
文件标识:在本申请实施例中,文件标识通常是由服务器生成的用于标识文件的信息。文件标识可以是文件的第一安全散列算法值(Secure Hash Algorithm 1,SHA-1),也可以是文件的第五信息摘要算法值(Message-Digest Algorithm 5,MD5)等等。可以理解的,本申请实施例对文件标识的形式不做具体限定。
在一些应用场景中,终端设备也可以生成文件标识。比如,在某一些应用场景中,终端设备也可以对目标缓存文件生成缓存文件标识。可以理解的,该应用场景中,服务器生成文件标识所使用的算法与终端设备生成文件标识所使用的算法应是同一种算法,比如,都是MD5算法,或者都是SHA-1算法等。
差分文件:在本申请实施例中,差分文件通常是用于描述目标文件与历史缓存文件之间差异的文件。
文件差分算法:在本申请实施例中,文件差分算法通常是用于确定两个文件之间的差异的算法,也即是,文件差分算法可以用于确定两个文件之间的差分文件。作为示例,文件差分算法可以为myers 差分算法、bsdiff 差分算法等等。
实际应用中,服务器所使用的文件差分算法,与终端设备所使用的文件合并算法需要相互适配。
在一些应用场景中,由于文件差分与文件合并属于两个互逆的过程,相适配的文件差分算法与文件合并算法,可以是同一算法中的两个组成部分,也即是,相适配的文件差分算法与文件合并算法可以为同一种算法。举例来说,文件差分算法中,既包括有对文件进行差分处理的方案,又包括有利用差分文件进行合并处理的方案。
进一步举例来说,若目标文件为F0,历史缓存文件为F1,目标缓存文件为F2,且服务器采用文件差分算法1确定得到F0与F1之间的差分文件,由于F1与F2相符,也即是F1与F2内容一致,因此,终端设备可以采用文件差分算法1将差分文件与F2合并得到目标文件的内容。
传输协议:在本申请实施例中,终端设备通常通过浏览器访问服务器。浏览器支持的传输协议可以包括但不限于:HTTP协议、安全超文本传输协议 (Secure HypertextTransfer Protocol,HTTPS)、文件传输协议(File Transfer Protocol,FTP)、简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)等等。
在本申请实施例中,以终端设备与服务器之间的传输协议为HTTP协议为例,在终端设备与服务器之间的传输协议为HTTP协议时,文件请求为HTTP请求,也即是,文件请求为遵循HTTP协议格式的请求。
状态码:当终端设备向服务器发送请求时,服务器可以向终端设备返回一个状态码,以表示请求结果。
以终端设备与服务器之间的传输协议为HTTP协议为例,若服务器向终端设备返回的状态码为200,表示请求响应成功;若服务器向终端设备返回的状态码为304,表示请求资源与本地缓存资源相同,等等。
目标模板文件:在本申请实施例中,目标模板文件通常为目标文件赖以生成的模板文件。作为示例,在目标文件为表格文件时,目标文件的模板文件可以为表格模板。
差分更新模式:在本申请实施例中,差分更新模式通常是支持以差分文件对目标缓存文件进行更新的模式。
终端设备与服务器通信的过程中,终端设备可以将从服务器获取的文件在本地缓存,这样,在终端设备下一次需要使用服务器中的同一文件时,可以使用本地已缓存的该文件,而无需再次从服务器下载该文件,可以节约用于传输该文件的网络资源。
举例来说,若终端设备从服务器中获取了文件1,则终端设备可以将文件1缓存在本地,这样,在终端设备下一次需要使用服务器中的文件1时,可以使用本地已缓存的文件1,而无需从服务器中再次下载文件1,可以避免由于重复下载文件1导致的网络资源消耗。
实际应用中,由于服务器中的文件可能会被修改,比如,服务器中文件1里的某一项数据从A修改为B,若终端设备在下一次需要使用服务器中的同一文件时,依旧使用本地缓存的被修改前的文件,显然跟实际情况不匹配,导致出现数据处理错误,因此,需要对终端设备所缓存的文件进行及时更新。
为了解决终端设备上的缓存文件更新不及时的上述技术问题,一种可选的做法是,终端设备在下一次需要使用服务器中的同一文件时,若服务器在上一次向终端设备发送该文件至本次请求时刻,服务器中的该文件未被修改,则服务器可以指示终端设备继续沿用本地缓存的文件,若服务器在上一次向终端设备发送该文件至本次请求时刻,服务器中的该文件已被修改,则服务器可以指示终端设备重新下载该文件。针对该方案,详述如下:
图1为本申请实施例提供的一种服务器与终端设备交互的过程示意图。可以理解的,图1中所示出的情况为终端设备与服务器之间的传输协议为HTTP协议,这仅仅是一种示例,本申请实施例并不限定终端设备与服务器之间的传输协议的具体种类。
图1从上往下依次示出了终端设备首次向服务器请求目标文件的情形1、终端设备再次向服务器请求目标文件且目标文件未被修改的情形2、终端设备再次向服务器请求目标文件且目标文件已被修改的情形3。
情形1、终端设备首次向服务器请求目标文件。情形1中,终端设备向服务器发送文件请求,服务器向终端设备返回目标文件,终端设备对服务器返回的目标文件进行缓存。为了区分描述,将缓存在终端设备中的目标文件称为目标缓存文件。
情形2、终端设备再次向服务器请求目标文件且目标文件未被修改。情形2中,终端设备再次向服务器发送文件请求,服务器指示服务器中的目标文件未被修改,终端设备可以使用缓存中的目标缓存文件。
情形3、终端设备再次向服务器请求目标文件且目标文件已被修改。情形3中,终端设备再次向服务器发送文件请求,服务器向终端设备返回被修改后的目标文件,终端设备采用所接收的修改后的目标文件对目标缓存文件进行替换更新。
图1示出的情形1中,文件请求中的GET/config.json HTTP1.1表示文件请求遵循1.1版本的HTTP协议,且所需获取的目标文件的路径为:config.json。Host xxx.com表示域名为:xxx.com。另外,服务器返回给终端设备的内容中,HTTP1.1 200 OK表示服务器响应成功。Content-length: 10240表示服务器返回的内容的大小为10240字节,也即是10K字节。Cache-control: max-age=0表示文件的有效时长为0,也即是每次使用该文件都需要重新获取。etag: "8dff5414cbfdcb1f05a"表示目标文件的标识为:8dff5414cbfdcb1f05a。另外,图1中的虚线箭头表示终端设备从服务器下载目标文件。
图1示出的情形2中,文件请求中的if-None-Match: "8dff5414cbfdcb1f05a",表示将目标缓存文件的标识与服务器中的目标文件的标识进行匹配。情形2中,由于服务器中的目标文件的内容未被修改,此时,服务器返回给终端设备的内容中,HTTP1.1 304 NotModified表示请求资源与本地缓存资源相同,服务器中的目标文件的内容并未发生改变。此时,服务器返回给终端设备的内容大小为0,终端设备可以直接采用本地缓存的目标缓存文件进行处理。
图1示出的情形3中,服务器中的目标文件的内容已被修改,具体为目标文件中的“name”字段的取值从A变成了B,此时,服务器向终端设备返回修改后的目标文件,且服务器返回给终端设备的内容中,etag的值从8dff5414cbfdcb1f05a,变成了649141cf4149f2345,也即是,服务器向终端设备返回了修改后的目标文件的标识。此时,服务器返回给终端设备的内容大小为10240字节。
结合图1可以获知,上述方案虽然可以在一定程度上实现及时对终端设备上的缓存文件进行更新,但是,在服务器中的目标文件被修改的情况下,服务器需要向终端设备返回整个被修改后的目标文件,在目标文件非常大时,所需耗费的网络资源将非常多,而且传输文件所需耗费的时间也很多,导致需要较长的时间才能完成对终端设备上的目标缓存文件的更新,导致对终端设备上的目标缓存文件进行更新的及时性降低。
鉴于相关技术存在的上述技术问题,为了实现及时对终端设备上的缓存文件进行更新,本申请实施例中,服务器接收终端设备发送的文件请求。之后,在文件请求包括路径信息和缓存文件标识时,服务器从路径信息指示的文件路径获取目标文件,其中,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识。然后,服务器在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,历史缓存文件与目标缓存文件相符。最后,服务器可以确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件,其中,差分文件用于对终端设备中的目标缓存文件进行更新。
本申请实施例至少具有以下有益效果:
1、终端设备在需要服务器中的目标文件时,可以主动向服务器发送文件请求,这样,服务器可以基于该文件请求,按需对终端设备上与目标文件对应的目标缓存文件进行更新,可以实现及时有效地对终端设备所缓存的文件进行更新。
2、服务器通过缓存文件标识来确定服务器中与目标缓存文件对应的目标文件的文件内容是否发生改变,操作简单,计算复杂度较低,可以有效节约计算资源。
3、在服务器中与目标缓存文件对应的目标文件的文件内容发生改变的情况下,服务器仅向终端设备发送差分文件,也即是,仅向终端设备发送发生改变部分的内容,与直接将修改后的完整文件向终端设备发送相比,可以极大地节约用于传输文件的网络资源和传输时间,有助于提高终端设备的文件更新效率。
4、在服务器缓存中缓存与目标缓存文件相匹配的历史缓存文件,从而实现服务器能够快速准确地基于自身缓存的历史缓存文件确定出目标文件被修改的部分,以得到差分文件,有助于提高数据处理效率。
本申请实施例可适用于终端设备从服务器中获取文件并缓存之后,对所缓存的文件进行更新的场景。
本申请实施例提供的缓存更新方法可以应用于终端设备或者服务器,也即是,终端设备或者服务器可以为本申请实施例提供的缓存更新方法的执行主体。其中,终端设备可以是手机、平板电脑、可穿戴设备等等,服务器可以是台式机、网络服务器、嵌入式设备等。本申请实施例对终端设备和服务器的具体类型不作具体限制。
下面以终端设备与服务器之间的传输协议为HTTP协议为例,对本申请实施例的方案进行阐述。
图2为本申请实施例提供的缓存更新方法的交互流程图。
步骤201,终端设备向服务器发送文件请求。
文件请求通常用于请求获取文件。文件请求中通常包括所请求的目标文件的路径信息,该路径信息可以指示目标文件在服务器中的文件路径或文件地址。这样,服务器可以基于文件请求找到终端设备所需的目标文件。实践中,路径信息通常为URL地址,服务器可以采用URL地址找到终端设备所需的目标文件。
终端设备可以通过无线通信技术或者有线通信技术,与服务器保持通信连接。在终端设备需要使用服务器中的某个文件时,终端设备可以通过网络向服务器发送文件请求,以获取该文件。
可以理解的,文件请求中还可以包括其它信息,比如,还可以包括终端设备的标识信息、时间戳等等。另外,在终端设备中缓存有与所需获取的文件的历史版本的情况下,文件请求中还可以包括该历史版本文件的文件标识。
本申请实施例中,为了区分描述,将服务器中文件路径下存储的文件记作目标文件,将存入服务器缓存的目标文件记作历史缓存文件,将缓存于终端设备的目标文件记作目标缓存文件。也即是说,在终端设备中已缓存目标缓存文件的情况下,文件请求中还可以包括目标缓存文件的文件标识。
另外,为了便于描述,可以将目标缓存文件的文件标识记作缓存文件标识。缓存文件标识通常是由服务器生成的用于标识目标缓存文件的信息。作为示例,缓存文件标识可以是目标缓存文件的SHA-1值,也可以是目标缓存文件的MD5值。可以理解的,本申请实施例对缓存文件标识的形式不做具体限定。
实践中,服务器可以将所生成的缓存文件标识发送给终端设备,这样,终端设备可以在下一次针对同一文件发送文件请求时,以该文件标识指明终端设备是否已缓存有相应文件。另外,在一些应用场景中,终端设备也可以生成缓存文件标识,比如,终端设备在接收到服务器返回的目标文件之后,可以将所接收的目标文件记作目标缓存文件,以及为目标缓存文件生成缓存文件标识。
另外,文件请求中也可以包括用于指示终端设备支持差分更新模式的差分信息。这样,服务器在接收到文件请求之后,可以快速准确地确定终端设备是否支持差分更新模式。其中,差分更新模式通常是指采用差分文件进行文件更新的模式。
步骤202,服务器接收文件请求。
本申请实施例中,服务器可以接收终端设备发送的文件请求。服务器在接收文件请求之后,可以通过对文件请求的内容进行分析,以确定响应方案。
下面以步骤203至步骤206为例对服务器的响应过程进行示例性说明。
步骤203,在文件请求中包括路径信息和缓存文件标识时,服务器判断目标文件是否与缓存文件标识相匹配。
在本申请实施例中,服务器可以从路径信息指示的文件路径找到目标文件。之后,服务器可以计算目标文件的文件标识。为了便于描述,可以将目标文件的文件标识记作实时文件标识。之后,服务器可以将实时文件标识与缓存文件标识进行比较,以确定目标文件是否与缓存文件标识相匹配。具体地,若实时文件标识与缓存文件标识一致,则认为目标文件与缓存文件标识相匹配,若实时文件标识与缓存文件标识不一致,则认为目标文件与缓存文件标识不匹配。
可以理解的,服务器在查找到目标文件时,计算得到目标文件的文件标识,仅仅是一种示例性说明。在一些应用场景中,目标文件的文件标识也可以是在目标文件被修改时被生成。也即是说,本申请实施例对目标文件的文件标识的生成时机不做具体限定。
可以理解的,服务器可以采用信息摘要算法或者其它算法,生成文件的文件标识。作为示例,信息摘要算法可以为MD5算法,SHA-1算法等。
步骤204,若目标文件与缓存文件标识不匹配,服务器从服务器缓存中获取目标文件的历史缓存文件。
其中,历史缓存文件为缓存于服务器缓存中的目标文件。实践中,服务器向终端设备发送目标文件之后,可以将目标文件缓存在服务器缓存中,以做备份。另外,在服务器向终端设备发送差分文件之后,服务器可以采用目标文件对历史缓存文件进行替换更新,这样,可以使得服务器总是可以与终端设备缓存相同的内容,也即是都缓存最新的目标文件内容。实践中,服务器缓存中的历史缓存文件与终端设备中的目标缓存文件同步更新,可以便于服务器以服务器缓存中的历史缓存文件来确定目标文件与目标缓存文件之间的差分文件。
其中,服务器缓存通常是服务器中用于缓存文件的区域。
在目标文件与缓存文件标识不匹配的情况下,服务器可以从服务器缓存中获取与目标文件对应的历史缓存文件。
实践中,服务器可以通过多种方式从服务器缓存中找到历史缓存文件。作为示例,服务器可以采用目标文件的文件名称从服务器缓存中找到历史缓存文件。作为另一个示例,服务器也可以采用目标文件的文件标识从服务器缓存中找到历史缓存文件。作为又一个示例,服务器还可以采用终端设备的设备标识、目标文件的文件名称、目标文件的文件标识,此三者中的至少二者从服务器缓存中找到历史缓存文件。本申请实施例对如何从服务器缓存中找到历史缓存文件不做具体限定。
步骤205,服务器确定历史缓存文件与目标文件之间的差分文件。
其中,差分文件通常用于描述历史缓存文件与目标文件之间的差异。也即是,差分文件可以描述目标文件被修改的内容部分。
作为本申请的一个可选实施例,服务器可以采用预设文件差分算法对目标文件和历史缓存文件进行处理,以得到用于描述目标文件与历史缓存文件之间差异的差分文件。其中,上述预设文件差分算法可以是预先设定的文件差分算法,比如,可以为myers 差分算法、bsdiff 差分算法等等。可以立即理解的,预设文件差分算法为终端设备支持的文件差分算法。
作为本申请的一个可选实施例,文件请求中可以包括终端设备所支持的文件差分算法的算法标识。此时,服务器可以采用终端设备支持的文件差分算法,对目标文件和历史缓存文件进行处理,以得到上述差分文件。
本申请实施例中,由于服务器所使用的文件差分算法,与终端设备所使用的文件合并算法需要相互适配,又由于不同的终端设备所支持的文件差分算法可能存在差异,服务器以终端设备支持的文件差分算法来得到差分文件,可以实现终端设备准确有效地将差分文件与目标缓存文件合并得到目标文件的内容,从而实现对目标缓存文件准确有效更新。
在一些应用场景中,由于文件差分与文件合并属于两个互逆的过程,相适配的文件差分算法与文件合并算法,可以是同一算法中的两个组成部分。举例来说,文件差分算法中,既包括有对文件进行差分处理的方案,又包括有利用差分文件进行合并处理的方案。
可以理解的,终端设备支持的文件差分算法可以有一种,也可以有多种。在终端设备支持的文件差分算法有多种时,服务器可以采用其中一种文件差分算法,对目标文件和历史缓存文件进行差分处理,以得到上述差分文件。在终端设备支持的文件差分算法有多种时,服务器向终端设备返回差分文件时,可以同时返回目标算法标识,这样,终端设备可以以相适配的文件合并算法对目标缓存文件进行更新,从而实现终端设备对目标缓存文件进行准确有效更新,其中,目标算法标识用于指示服务器所使用的目标文件差分算法。其中,目标文件差分算法为服务器所使用的文件差分算法。
需要说明的是,服务器可以在确定目标文件与缓存文件标识不匹配时,生成差分文件。服务器也可以是在确定目标文件内容已被修改时,生成差分文件。可以理解的,本申请实施例对差分文件的生成时机不做具体限定。
步骤206,服务器将差分文件向终端设备发送。
在得到目标文件的差分文件之后,服务器可以将差分文件向终端设备发送,这样,终端设备可以采用差分文件对目标缓存文件进行及时更新。
可以理解的,终端设备对目标缓存文件更新之后,可以对更新后的目标缓存文件进行使用。
可以理解的,服务器向终端设备发送差分文件的同时,还可以向终端设备发送其它信息,比如,还可以发送时间戳、目标文件的文件标识和目标算法标识等。其中,目标算法标识用于指示服务器所使用的目标文件差分算法。
本申请实施例中,服务器将目标文件的文件标识发送给终端设备,终端设备采用该文件标识校验更新后的目标缓存文件是否准确有效。另外,服务器将目标算法标识发送给终端设备,可以指示终端设备使用相适配的文件合并算法对目标缓存文件进行更新,以实现终端设备快速准确地对目标缓存文件进行更新,可以提高更新效率和准确率。
可以理解的,终端设备接收到服务器返回的目标文件的文件标识之后,可以采用所获取的文件标识对缓存文件标识进行更新,且具体可以将缓存文件标识切换为所接收的目标文件的文件标识,这样,可以便于终端设备后续基于更新后的缓存文件标识对目标缓存文件进行更新。
作为本申请的一个可选实施例,上述步骤203至步骤206可以被替换为如下步骤:在文件请求包括路径信息且不包括缓存文件标识时,服务器从路径信息指示的文件路径获取目标文件,向终端设备发送目标文件。
这里,在文件请求中未包括缓存文件标识时,说明终端设备为首次从服务器下载目标文件,终端设备中尚未缓存与该路径信息对应的目标缓存文件。服务器可以在接收到文件请求且文件请求中不包括缓存文件标识时,直接从路径信息指示的文件路径处获取所需的目标文件,以及将该目标文件发送至终端设备。
可以理解的,终端设备在首次接收到该路径信息对应的目标文件时,可以对该目标文件进行使用,以及将该文件作为目标缓存文件进行缓存,以备下次使用。
作为本申请的一个可选实施例,在向终端设备发送目标文件之后,服务器将目标文件存入服务器缓存,得到目标文件的历史缓存文件。
在本申请实施例中,在本申请实施例中,服务器在向终端设备发送目标文件之后,将该目标文件存入服务器缓存,可以实现在服务器中的目标文件的内容发生改变时,采用服务器缓存中的历史缓存文件来得到目标文件的差分文件,可以提高数据处理速度。
作为本申请的一个可选实施例,上述步骤203至步骤206可以被替换为如下步骤:在文件请求中包括路径信息和缓存文件标识时,若目标文件与缓存文件标识相匹配,服务器向终端设备返回指示无需对目标缓存文件进行更新的信息。
这里,服务器在接收到文件请求之后,若目标文件与缓存文件标识相匹配,说明服务器中的目标文件并没有被修改,此时,终端设备中的目标缓存文件无需更新,服务器可以向终端设备返回用于指示无需对目标缓存文件进行更新的信息。
可以理解的,终端设备在接收到用于指示无需对目标缓存文件进行更新的信息时,可以直接对本地缓存的目标缓存文件进行使用。终端设备直接采用本地缓存的目标缓存文件进行处理,可以节省网络资源和时间,有助于提高服务器与终端设备之间的总体数据处理效率。
作为本申请的一个可选实施例,用于指示无需对目标缓存文件进行更新的信息为第二状态码。其中第二状态码用于指示无需对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第二状态码通常为“304”。
本申请实施例中,服务器通过状态码指示终端设备进行相应的操作,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。另外,由于状态码的大小通常很小,传输状态码所需占用的网络资源很小,因此,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
考虑到目标文件可能是依赖目标模板文件所得到的文件,也即是,目标文件可能对应有目标模板文件。其中,目标模板文件通常为目标文件赖以生成的模板文件。作为示例,在目标文件为表格文件时,目标文件的模板文件可以为表格模板。
另外,考虑到模板文件通常不会发生改变,因此,在目标文件具有目标模板文件的情况下,服务器可以将目标文件的目标模板文件作为目标文件的历史缓存文件,这样,可以免于对历史缓存文件进行反复更新,可以实现在保障对终端设备上的目标缓存文件进行准确有效更新的情况下,减少数据处理量,提高数据处理效率。
作为本申请的一个可选实施例,在目标文件对应有目标模板文件的情况下,上述步骤203至步骤206可以被替换为如下步骤301和步骤302。
图3为本申请实施例提供的一种服务器对文件请求进行响应的实现流程图。
步骤301,服务器确定终端设备是否具有目标文件的目标模板文件。
这里,由于终端设备中原本并不具有目标文件的目标模板文件,也即是,若终端设备上具有目标模板文件,通常说明服务器曾向终端设备发送过该目标模板文件,反之,若终端设备上不具有目标模板文件,则说明服务器未曾向终端设备发送过该目标模板文件,或者在一定的有效时长内未曾向终端设备发送过该目标模板文件。
作为本申请的一个可选实施例,在服务器首次向终端设备发送目标文件的目标模板文件之后,确定终端设备具有目标模板文件。在服务器首次向终端设备发送目标文件的目标模板文件之前,确定终端设备不具有目标模板文件。
本申请实施例中,服务器以自身是否曾向终端设备发送目标模板文件为依据,来确定终端设备是否具有目标文件的目标模板文件,实现过程简单,有助于提高数据处理效率。
作为本申请的一个可选的实施例,服务器向终端设备发送目标文件的目标模板文件之后,终端设备可以向服务器返回一个标签,服务器可以将该标签与目标模板文件关联,这样,服务器可以结合标签判断终端设备是否具有目标模板文件。
作为本申请的另一个可选的实施例,服务器可以询问终端设备当前是否具有目标文件的目标模板文件,若终端设备返回用于指示具有该目标模板文件的信息,则服务器可以确定终端设备具有目标模板文件。
作为本申请的又一个可选的实施例,终端设备在向服务器发送文件请求时,可以在文件请求中携带用于指示是否具有目标文件的目标模板文件的指示信息,这样,服务器可以结合文件请求中的该指示信息,确定终端设备是否具有目标文件的目标模板文件。
步骤302,服务器在终端设备具有目标模板文件时,向终端设备发送差分文件。
步骤303,服务器在终端设备不具有目标模板文件时,向终端设备发送目标模板文件和差分文件。
在本申请实施例中,在终端设备中不具有目标模板文件的情况下,向终端设备同时发送目标模板文件和差分文件,以及在终端设备具有目标模板文件的情况下,无需向终端设备发送目标模板文件,可以减少不必要的数据传输,从而提高整体数据处理效率。
步骤207,服务器对历史缓存文件进行更新。
在目标文件被修改的情况下,服务器可以将历史缓存文件切换为目标文件,也即是,将历史缓存文件的内容替换为与目标文件的内容相同。
在本申请实施例中,在目标文件的内容发生改变之后,服务器可以采用历史缓存文件得到差分文件,以及对历史缓存文件进行更新,以保障服务器中缓存的历史缓存文件与终端设备上的更新后的目标缓存文件相匹配,从而保障后续能够对终端设备上的目标缓存文件进行准确有效更新。
考虑到状态码的大小通常很小,传输状态码所需占用的网络资源很小,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
作为本申请的一个可选实施例,在文件请求包括路径信息且不包括缓存文件标识时,服务器从路径信息指示的文件路径获取目标文件,向终端设备发送目标文件和第一状态码。其中,第一状态码用于指示终端设备基于目标文件对目标缓存文件进行替换更新。在终端设备与服务器之间的传输协议为HTTP协议时,第一状态码通常为“200”。
作为本申请的一个可选实施例,在目标文件与缓存文件标识相匹配时,服务器向终端设备返回第二状态码,其中,第二状态码用于指示无需对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第二状态码通常为“304”。
在本申请实施例中,在目标文件的内容没有发生改变的情况下,服务器通过向终端设备返回第二状态码,以指示终端设备无需对目标缓存文件进行更新,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
作为本申请的一个可选实施例,在目标文件不具有目标模板文件时,服务器向终端设备发送差分文件,包括:向终端设备发送第三状态码和差分文件。第三状态码用于指示终端设备基于差分文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第三状态码可以为“310”。
作为本申请的一个可选实施例,在目标文件具有目标模板文件时,服务器向终端设备发送差分文件,包括:在确定终端设备具有目标模板文件时,服务器向终端设备发送第三状态码和差分文件,以及在确定终端设备不具有目标模板文件时,服务器向终端设备发送第四状态码、目标模板文件和差分文件。其中,第四状态码用于指示终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第四状态码可以为“311”。
在本申请实施例中,在终端设备中不具有目标模板文件的情况下,服务器向终端设备同时发送目标模板文件和差分文件,以及在终端设备具有目标模板文件的情况下,服务器无需向终端设备发送目标模板文件,可以减少不必要的数据传输,从而提高整体数据处理效率。另外,通过不同的状态码指示终端设备执行不同的操作,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。
图2和图3是默认终端设备支持差分更新模式情况下的举例说明。然而,实际应用中发现,并非所有的终端设备都能够支持差分更新模式,为了提高方案的兼容性,服务器需要能够快速准确地区分出当前通信的终端设备是否支持差分更新模式。
为了实现服务器更好地辨别终端设备是否支持差分更新模式,支持差分更新模式的终端设备发送的文件请求中,可以包括用于指示终端设备支持差分更新模式的差分信息。如此,服务器可以通过文件请求中的差分信息的有无,判断终端设备是否支持差分更新模式。具体地,若文件请求中包括差分信息,则说明终端设备支持差分更新模式,若不包括差分信息,则说明终端设备不支持差分更新模式。
在文件请求中携带有差分信息的情况下,上述步骤204可以被替换为如下步骤:服务器在终端设备支持差分更新模式,且目标文件与缓存文件标识不匹配时,从服务器缓存中获取历史缓存文件。
在本申请实施例中,目标文件与缓存文件标识不匹配,说明目标文件的内容发生了改变。服务器在目标文件的内容发生了改变且终端设备支持差分更新模式的情况下,才从服务器缓存中获取历史缓存文件来生成差分文件,从而将差分文件发送给终端设备,以使终端设备基于差分文件对目标缓存文件进行更新,有助于实现准确有效地对终端设备所缓存的目标缓存文件进行更新。
作为本申请的一个可选实施例,文件请求中可以包括用于指示终端设备支持差分更新模式的差分信息,且差分信息包括终端设备所支持的文件差分算法的算法标识。
本申请实施例中,在文件请求包括算法标识时,说明终端设备支持差分更新模式。算法标识既可以体现终端设备支持差分更新模式,又可以体现终端设备所支持的文件差分算法,与另外用一个信息来体现终端设备支持差分更新模式相比,可以有效缩减文件请求携带的数据量,有助于进一步节约网络资源。
作为本申请的一个可选实施例,差分信息为文件请求中的差分字段,差分字段的值为终端设备所支持的文件差分算法的算法标识。
可以理解的,差分字段的取值可以为空,也可以不为空。在一些应用场景中,若差分字段取值为空,服务器可以默认使用某一种文件差分算法。在另一些应用场景中,若差分字段取值不为空,服务器可以采用差分字段中的任一算法标识指示的文件差分算法。
在本申请实施例中,无论终端设备是否支持差分更新模式,服务器都可以对终端设备的文件请求进行有效响应,兼容性较好,可以保障终端设备及时有效地对目标缓存文件进行更新。以下结合不同的应用场景对服务器的响应动作进行示例性阐述。
应用场景A、目标文件与缓存文件标识不匹配且终端设备不支持差分更新模式。该应用场景中,服务器可以向终端设备发送目标文件。
在本申请实施例中,目标文件与缓存文件标识不匹配,说明目标文件的内容发生了改变。在目标文件的内容发生了改变,且终端设备不支持差分更新模式的情况下,服务器直接向终端设备发送目标文件,可以使得终端设备采用目标文件对目标缓存文件进行替换更新。
作为本申请的一个可选实施例,应用场景A中,服务器向终端设备发送目标文件的同时,还可以向终端设备发送第一状态码。其中,第一状态码用于指示终端设备基于目标文件对目标缓存文件进行替换更新。在终端设备与服务器之间的传输协议为HTTP协议时,第一状态码通常为“200”。由于状态码的大小通常很小,传输状态码所需占用的网络资源很小,因此,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
可以理解的,在终端设备不支持差分更新模式时,服务器向终端设备发送目标文件之后,无需将该目标文件缓存在服务器缓存中。这样,可以减少不必要的存储资源的消耗。
应用场景B、目标文件与缓存文件标识相匹配且终端设备不支持差分更新模式。该应用场景中,服务器可以向终端设备返回用于指示无需对目标缓存文件进行更新的信息。
在本申请实施例中,目标文件与缓存文件标识相匹配,说明目标文件的内容未发生改变。服务器在目标文件的内容未发生改变,且终端设备不支持差分更新模式的情况下,向终端设备发送用于指示无需对目标缓存文件进行更新的信息,可以使得终端设备不对目标缓存文件进行更新。
应用场景C、目标文件与缓存文件标识相匹配且终端设备支持差分更新模式。该应用场景中,服务器可以向终端设备返回用于指示无需对目标缓存文件进行更新的信息。
在本申请实施例中,服务器在目标文件的内容未发生改变,且终端设备支持差分更新模式的情况下,向终端设备发送用于指示无需对目标缓存文件进行更新的信息,可以使得终端设备不对目标缓存文件进行更新。
作为本申请的一个可选实施例,应用场景B和应用场景C中,用于指示无需对目标缓存文件进行更新的信息为第二状态码,第二状态码用于指示无需对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第二状态码通常为“304”。
应用场景D、目标文件与缓存文件标识不匹配且终端设备支持差分更新模式。该应用场景中,服务器可以向终端设备发送差分文件。
作为本申请的一个可选实施例,应用场景D中,服务器向终端设备发送差分文件的同时,还可以向终端设备发送第三状态码。第三状态码用于指示终端设备基于差分文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第三状态码可以为“310”。
考虑到目标文件还可能具有目标模板文件,且终端设备上也可能已经缓存有目标文件的目标模板文件,上述应用场景D还可以被进一步细分为应用场景D1、应用场景D2和应用场景D3。
应用场景D1,目标文件不具有目标模板文件,目标文件与缓存文件标识不匹配且终端设备支持差分更新模式。该应用场景中,服务器可以向终端设备发送差分文件。可选的,服务器还可以同时向终端设备发送第三状态码。
应用场景D2,目标文件具有目标模板文件,终端设备具有目标模板文件,目标文件与缓存文件标识不匹配且终端设备支持差分更新模式。该应用场景中,服务器可以向终端设备发送差分文件。
作为本申请的一个可选实施例,应用场景D2中,服务器还可以同时向终端设备发送第三状态码。第三状态码用于指示终端设备基于差分文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第三状态码可以为“310”。
应用场景D3,目标文件具有目标模板文件,终端设备不具有目标模板文件,目标文件与缓存文件标识不匹配且终端设备支持差分更新模式。该应用场景中,服务器可以向终端设备发送差分文件和目标模板文件。
作为本申请的一个可选实施例,应用场景D3中,服务器还可以同时向终端设备发送第四状态码。第四状态码用于指示终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。在终端设备与服务器之间的传输协议为HTTP协议时,第四状态码可以为“311”。
进一步参考图4,图4为本申请实施例提供的服务器执行缓存更新方法的过程示意图。可以理解的,图4中所示出的情况为终端设备与服务器之间的传输协议为HTTP协议,也即是文件请求为HTTP请求,服务器对终端设备的文件请求所做出的响应为HTTP响应,这仅仅是一种示例,本申请实施例并不限定终端设备与服务器之间的传输协议的具体种类。
步骤401,服务器接收终端设备发送的文件请求。
步骤402,服务器通过文件请求所携带的信息,判断终端设备是否支持差分更新模式,若支持则执行步骤404,若不支持则执行步骤403。
步骤403,服务器中的web服务对文件请求进行响应。web服务为服务器中的用于响应HTTP请求的服务。
需要说明的是,步骤402、步骤404至步骤416均由扩展缓存服务执行。扩展缓存服务通常是终端设备与服务器之间的中间服务。在一些应用场景中,扩展缓存服务可以为运行于服务器中的独立于web服务之外的另一个服务或进程。在另一些应用场景中,扩展缓存服务也可以并不运行于服务器中,比如,可以运行于服务器之外的电子设备中。
步骤404,服务器判断文件请求中是否携带有缓存文件标识。若携带有缓存文件标识,则执行步骤405,若未携带缓存文件标识,则执行步骤416。
步骤405,服务器判断目标文件是否已变化。若目标文件已变化,则执行步骤406,否则,若目标文件未变化,则执行步骤415。
这里,若目标文件有变化,说明目标文件被修改。服务器可以通过将目标文件的文件标识,与缓存文件标识进行比较,以确定目标文件是否有变化。
步骤406,服务器判断目标文件是否支持扩展缓存。若支持,则执行步骤407,若不支持,则执行步骤414。
本申请实施例中,由于差分更新模式需要消耗服务器缓存资源,且服务器缓存的容量有限,只对支持扩展缓存的文件进行差分处理,从而实现终端设备以差分更新模式更新,可以实现对各种文件的灵活处理。
需要说明的是,支持扩展缓存的文件通常为预先设定的一些文件,比如,可以为应用的配置文件。
步骤407,服务器判断历史缓存文件是否为目标模板文件。若是目标模板文件,则执行步骤408,若不是目标模板文件,则执行步骤409。
需要说明的是,在目标文件对应有目标模板文件的情况下,服务器本地通常直接缓存目标文件的目标模板文件,这样可以避免总是对历史缓存文件进行更新。
步骤408,服务器生成差分文件。
这里,在历史缓存文件为目标模板文件的情况下,服务器可以采用目标模板文件与目标文件进行差分运算,从而得到差分文件。
图5A为本申请实施例提供的目标模板文件的示意图。图5B为本申请实施例提供的目标文件的示意图。在图5A和图5B示出的场景下,服务器生成的差分文件的内容可以为:(张三,男,23,黄土高坡)。
步骤409,在历史缓存文件并非目标模板文件的情况下,服务器生成差分文件并更新服务器本地缓存的历史缓存文件。
实践中,服务器可以直接将历史缓存文件替换为目标文件,以实现对历史缓存文件进行更新。
步骤410,服务器向终端设备返回状态码310、差分文件。
步骤411,服务器判断终端设备是否已缓存有目标模板文件。若终端设备上已缓存有目标模板文件则执行步骤413,若终端设备没有缓存目标模板文件,则执行步骤412。
步骤412,服务器向终端设备返回状态码311、差分文件和目标模板文件。
步骤413,服务器向终端设备返回状态码310和差分文件。
步骤414,服务器向终端设备返回状态码200和目标文件。
步骤415,服务器向终端设备返回状态码304。
步骤416,服务器向终端设备返回状态码200和目标文件。
其中,步骤401至步骤416的操作细节、原理及有益效果说明等,均可以参考上述图1-图3对应实施例的相关说明。此处不予赘述。
步骤208,终端设备接收服务器针对文件请求返回的请求结果数据。
其中,请求结果数据包括以下至少一项:差分文件、目标文件的目标模板文件。
实践中,请求结果数据还包括以下至少一项:服务器中与路径信息对应的目标文件的文件标识、目标算法标识。
其中,目标算法标识用于指示服务器所使用的目标文件差分算法。
本申请实施例中,请求结果数据中包括文件标识时,终端设备可以采用该文件标识校验更新后的目标缓存文件是否准确有效。另外,请求结果数据中包括目标算法标识时,终端设备可以快速准确地采用与目标文件差分算法相适配的文件合并算法,对目标缓存文件进行更新,可以提高更新效率和准确率。
可以理解的,终端设备接收到服务器返回的目标文件的文件标识之后,可以采用所获取的文件标识对缓存文件标识进行更新,且具体可以将缓存文件标识切换为所接收的目标文件的文件标识,这样,可以便于终端设备后续基于更新后的缓存文件标识对目标缓存文件进行更新。
终端设备在接收到请求结果数据之后,可以对该请求结果数据进行分析,以确定更新方案。
下面以步骤209为例对终端设备更新目标缓存文件的过程进行示例性说明。
步骤209,终端设备基于请求结果数据对目标缓存文件进行更新。
图6为本申请实施例提供的终端设备对目标缓存文件进行更新的流程示意图。如图6所示,终端设备可以通过执行如下步骤601至步骤602实现对目标缓存文件进行更新。
步骤601,在请求结果数据包括差分文件时,终端设备基于差分文件对目标缓存文件进行更新。
步骤602,在请求结果数据包括差分文件和目标模板文件时,终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。
在本申请实施例中,在目标文件具有目标模板文件的情况下,若服务器返回至终端设备的请求结果数据中不包括目标模板文件,通常说明服务器已经向终端设备发送过目标模板文件,此时,终端设备可以采用已有的目标模板文件和所接收的差分文件对目标缓存文件进行更新,可以在保障终端设备及时准确对目标缓存文件进行更新的同时,节省不必要的网络资源的消耗。
可以理解的,在目标文件不具有目标模板文件的情况下,终端设备在接收到差分文件时,可以采用差分文件对目标缓存文件进行更新。
作为本申请的一个可选实施例,终端设备可以采用与目标文件差分算法相适配的文件合并算法,对差分文件和目标缓存文件进行合并处理,得到更新后的目标缓存文件。可以理解的,更新后的目标缓存文件与目标文件内容一致。
其中,目标文件差分算法通常为服务器所使用的文件差分算法,比如,可以为myers 差分算法、bsdiff 差分算法等等。
本申请实施例中,由于服务器所使用的文件差分算法,与终端设备所使用的文件合并算法需要相互适配,终端设备采用与目标文件差分算法相适配的文件合并算法,对差分文件和目标缓存文件进行合并处理,可以实现终端设备准确有效地将差分文件与目标缓存文件合并得到目标文件的内容,从而实现对目标缓存文件准确有效更新。
作为本申请的一个可选实施例,在请求结果数据包括目标模板文件时,终端设备可以将目标缓存文件与目标模板文件对应存储。
其中,目标模板文件为目标文件对应的模板文件。
在本申请实施例中,由于模板文件通常是稳定不变的,终端设备对目标文件的目标模板文件进行存储,可以避免同一文件重复传输,有助于节约网络资源。
考虑到服务器在响应终端设备的文件请求时,通常是通过不同的状态码指示终端设备执行不同的操作。在请求结果数据包括状态码的情况下,步骤601-步骤602可以被替换为如下步骤701至步骤702。图7为本申请实施例提供的另一种终端设备对目标缓存文件进行更新的流程示意图。详述如下:
步骤701,在请求结果数据包括差分文件且状态码为第三状态码时,终端设备基于差分文件对目标缓存文件进行更新。
步骤702,在请求结果数据包括差分文件和目标模板文件,且状态码为第四状态码时,终端设备基于差分文件和目标模板文件对目标缓存文件进行更新。
在本申请实施例中,请求结果数据中包括状态码,也即是,服务器通过状态码指示终端设备进行相应的操作,可以使得终端设备快速准确地获知所需执行的操作,有助于加快终端设备对目标缓存文件进行更新的效率。另外,由于状态码的大小通常很小,传输状态码所需占用的网络资源很小,因此,通过不同的状态码指示终端设备执行不同的操作,可以在节省网络资源的前提下,提高终端设备对目标缓存文件进行更新的效率。
作为本申请的一个可选实施例,终端设备在状态码为第二状态码时,对目标缓存文件不更新。
进一步参考图8,图8为本申请实施例提供的另一种服务器与终端设备交互的过程示意图。
图8是以终端设备每次启动应用时,需要请求配置文件,也即是config.json文件为例进行说明。结合图8可知,config.json文件的文件大小为10K字节,可以理解的,图8中所示出的情况为终端设备与服务器之间的传输协议为HTTP协议,这仅仅是一种示例,本申请实施例并不限定终端设备与服务器之间的传输协议的具体种类。
图8从上往下依次示出了终端设备首次向服务器请求目标文件的情形1、终端设备再次向服务器请求目标文件且目标文件未被修改的情形2、终端设备再次向服务器请求目标文件且目标文件已被修改的情形3。结合图8可知,服务器能够响应不支持差分更新模式的终端设备1的文件请求,也能够响应支持差分更新模式的终端设备2的文件请求,也即是,本申请实施例提供的缓存更新方法,兼容性较好。详述如下:
情形1、终端设备首次向服务器请求目标文件。
具体地,终端设备1向服务器发送文件请求,服务器向终端设备1返回目标文件,终端设备1对服务器返回的目标文件进行缓存。为了区分描述,将缓存在终端设备中的目标文件称为目标缓存文件。
终端设备2向服务器发送文件请求,且文件请求中携带有用于指示终端设备2所支持的文件差分算法的差分信息,服务器向终端设备2返回目标文件,终端设备2对服务器返回的目标文件进行缓存,同时,服务器自身也对目标文件进行缓存。为了区分描述,可以将服务器中缓存的目标文件记作历史缓存文件。
如图8所示,情形1中,终端设备1的文件请求中的GET/config.json HTTP1.1表示文件请求遵循1.1版本的HTTP协议,且所需获取的目标文件的路径为:config.json。Hostxxx.com表示域名为:xxx.com。另外,服务器返回给终端设备的内容中,HTTP1.1 200 OK表示服务器响应成功。Content-length: 10240表示服务器返回的内容的大小为10240字节,也即是10K字节。Cache-control: max-age=0表示文件的有效时长为0,也即是每次使用该文件都需要重新获取。etag: "8dff5414cbfdcb1f05a"表示目标文件的标识为:8dff5414cbfdcb1f05a。
终端设备2的文件请求比终端设备1的文件请求多一项信息:Diff:algorithm=merys,bsdiff,表示终端设备2可以支持两种文件差分算法,且分别为myers 差分算法和bsdiff 差分算法。
图8中的虚线箭头表示终端设备1和终端设备2均从服务器下载目标文件。
情形2、终端设备再次向服务器请求目标文件且目标文件未被修改。
具体地,终端设备1再次向服务器发送文件请求,服务器指示服务器中的目标文件未被修改,终端设备1可以使用缓存中的目标缓存文件。
终端设备2再次向服务器发送文件请求,服务器指示服务器中的目标文件未被修改,终端设备2可以使用缓存中的目标缓存文件。
图8示出的情形2中,文件请求中的if-None-Match: "8dff5414cbfdcb1f05a",表示将目标缓存文件的标识与服务器中的目标文件的标识进行匹配。情形2中,由于服务器中的目标文件的内容未被修改,此时,服务器返回给终端设备1的内容中,HTTP1.1 304 NotModified表示请求资源与本地缓存资源相同,服务器中的目标文件的内容并未发生改变。此时,服务器返回给终端设备1的内容大小为0,终端设备1可以直接采用本地缓存的目标缓存文件进行处理。
从图8可知,在情形2中,服务器响应终端设备1的方案与响应终端设备2的方案相同。
情形3、终端设备再次向服务器请求目标文件且目标文件已被修改。
具体地,终端设备1再次向服务器发送文件请求,服务器向终端设备返回被修改后的目标文件,终端设备采用所接收的修改后的目标文件对目标缓存文件进行替换更新。
终端设备2再次向服务器发送文件请求,服务器采用目标文件和本地缓存的历史缓存文件进行差分,得到差分文件。之后,服务器向终端设备2返回差分文件。之后,终端设备2可以采用差分文件和终端设备本地缓存的目标缓存文件进行合并,得到被修改后的目标文件。最后,终端设备可以采用合并得到的修改后的目标文件对目标缓存文件进行替换更新。
结合图8,情形3中,服务器中的目标文件的内容已被修改,具体为目标文件中的“name”字段的取值从A变成了B。
此时,服务器接收到终端设备1的文件请求之后,可以向终端设备1返回修改后的目标文件,且服务器返回给终端设备1的内容中,etag的值从8dff5414cbfdcb1f05a,变成了649141cf4149f2345,也即是,服务器向终端设备1返回了修改后的目标文件的标识。另外,服务器返回给终端设备1的内容长度为10240字节。
情形3中,服务器接收到终端设备1的文件请求之后,可以先采用目标文件和本地缓存的历史缓存文件进行差分,得到差分文件为patch.txt,然后向终端设备2返回patch.txt。patch.txt的大小为23。此时,服务器返回给终端设备2的内容长度仅为23字节,可以极大地减少所需传输的数据量和传输时间,可以实现及时对终端设备上的缓存文件进行更新。
对应于上文实施例的缓存更新方法,图9示出了本申请实施例提供的服务器中的缓存更新装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图9,该缓存更新装置包括:
请求接收单元901,用于接收终端设备发送的文件请求;
文件获取单元902,用于在文件请求包括路径信息和缓存文件标识时,从路径信息指示的文件路径获取目标文件,其中,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识;
缓存获取单元903,用于在目标文件与缓存文件标识不匹配时,从服务器缓存中获取目标文件的历史缓存文件,历史缓存文件与目标缓存文件相符;
文件发送单元904,用于确定用于描述目标文件与历史缓存文件之间差异的差分文件,以及向终端设备发送差分文件,其中,差分文件用于对终端设备中的目标缓存文件进行更新。
作为本申请的一个实施例,缓存更新装置可以实现如图1-图8所示实施例以及其他相关方法实施例。
本申请实施例提供的缓存更新装置中各模块实现各自功能的过程,具体可参考前述图1-图8所示实施例以及其他相关方法实施例的描述,此处不再赘述。
对应于上文实施例的缓存更新方法,图10示出了本申请实施例提供的终端设备中的缓存更新装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图10,该缓存更新装置包括:
请求发送单元1001,用于向服务器发送文件请求,文件请求包括路径信息和缓存文件标识,缓存文件标识为缓存于终端设备中的目标缓存文件的文件标识;
文件接收单元1002,用于接收服务器针对文件请求返回的请求结果数据,请求结果数据包括以下至少一项:差分文件、目标文件的目标模板文件,其中,差分文件为服务器处理得到,目标文件为服务器中与路径信息对应的文件;
文件更新单元1003,用于根据请求结果数据对目标缓存文件进行更新。
作为本申请的一个实施例,缓存更新装置可以实现如图1-图8所示实施例以及其他相关方法实施例。
本申请实施例提供的缓存更新装置中各模块实现各自功能的过程,具体可参考前述图1-图8所示实施例以及其他相关方法实施例的描述,此处不再赘述。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本申请实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一状态码可以被命名为第二状态码,并且类似地,第二状态码可以被命名为第一状态码,而不背离各种所描述的实施例的范围。第一状态码和第二状态码都是状态码,但是它们不是同一状态码。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图11是本申请一实施例提供的服务器的结构示意图。该服务器包括至少一个处理器111,通信总线112,存储器113以及至少一个通信接口114。
处理器111可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线112可包括一通路,在上述组件之间传送信息。
通信接口114,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network ,RAN),无线局域网(wireless localareanetworks ,WLAN)等。
存储器113可以是只读存储器(read-only memory ,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory ,RAMD或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory ,EEPROM)、只读光盘(compactdisc readonly memory ,CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备,或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器113用于存储执行本申请方案的应用程序代码,并由处理器111来控制执行。处理器111用于执行存储器113中存储的应用程序代码,从而实现上述实施例中的缓存更新方法。
作为一种实施例,处理器111可以包括一个或多个CPU,例如CPU 0和CPU 1。
作为一种实施例,服务器可以包括多个处理器,例如图11中的两个处理器111。每个处理器可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。
作为一种实施例,服务器还可以包括输出设备115和输入设备116。输出设备115和处理器111通信,可以以多种方式来显示信息。例如,输出设备115可以是液晶显示器(liquid crystal display ,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube ,CRT)显示设备或投影仪(projector)等。
输入设备116和处理器111通信,可以以多种方式接受用户的输入。例如,输入设备116可以是鼠标、键盘﹑触摸屏或传感设备等。
上述的服务器可以是一个通用服务器或者是一个专用服务器。服务器可以是台式机、网络服务器、嵌入式设备或有与图11中类似结构的设备。本申请实施例不限定服务器的类型。
可以理解的是,本申请实施例示意的结构并不构成对服务器的具体限定。在本申请另一些实施例中,服务器可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
图12是本申请一实施例提供的终端设备的结构示意图。如图12所示,该实施例的终端设备包括:至少一个处理器13(图12中仅示出一个)、存储器11、通信接口14,存储器11中存储有可在处理器13上运行的计算机程序12。处理器13执行计算机程序12时实现上述各个缓存更新方法实施例中的步骤。或者,处理器13执行计算机程序12时实现上述各装置实施例中各模块/单元的功能,例如图10所示单元1001至单元1003的功能。
终端设备可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。终端设备可包括,但不仅限于,处理器13、存储器11。本领域技术人员可以理解,图12仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入发送设备、网络接入设备、总线等。
通信接口14,使用任何收发器一类的装置,用于与其他设备或通信网络通信,比如,5G网络、WLAN网络等。
所称处理器13可以是CPU,还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、ASIC、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器11在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器11也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器11用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器11还可以用于暂时地存储已经发送或者将要发送的数据。
下文以终端设备是手机为例,图13示出了手机100的结构示意图。
手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及SIM卡接口195等。其中传感器模块180可以包括陀螺仪传感器180A,加速度传感器180B,气压传感器180C,磁传感器180D,环境光传感器180E,距离传感器180F,接近光传感器180G、指纹传感器180H,温度传感器180J,触摸传感器180K(当然,手机100还可以包括其它传感器,比如温度传感器,压力传感器、气压传感器、骨传导传感器等,图中未示出)。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit, GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器( Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
处理器110可以运行本申请实施例提供的缓存更新方法。处理器110可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的缓存更新方法,比如缓存更新方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
应理解,在实际应用中,手机100可以包括比图13所示的更多或更少的部件,本申请实施例不作限定。图示手机100仅是一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
另外,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。
本申请实施例还提供了一种芯片系统,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述各个方法实施例中的步骤。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、ROM、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (14)
1.一种缓存更新方法,其特征在于,应用于服务器,所述方法包括:
服务器接收终端设备发送的文件请求;
在所述文件请求包括路径信息和缓存文件标识时,从所述路径信息指示的文件路径获取目标文件,其中,所述缓存文件标识为缓存于所述终端设备中的目标缓存文件的文件标识;
在所述目标文件与所述缓存文件标识不匹配时,从服务器缓存中获取所述目标文件的历史缓存文件,所述历史缓存文件与所述目标缓存文件相符;
确定用于描述所述目标文件与所述历史缓存文件之间差异的差分文件,以及向所述终端设备发送所述差分文件,其中,所述差分文件用于对所述终端设备中的所述目标缓存文件进行更新;
在所述服务器接收终端设备发送的文件请求之前,所述方法还包括:在所述目标文件具有目标模板文件时,将所述目标模板文件作为所述目标文件的历史缓存文件存入所述服务器缓存;以及所述向所述终端设备发送所述差分文件,包括:在确定所述终端设备具有所述目标模板文件时,向所述终端设备发送第三状态码和所述差分文件,以及在确定所述终端设备不具有所述目标模板文件时,向所述终端设备发送第四状态码、所述目标模板文件和所述差分文件;
其中,所述服务器用于响应所述终端设备的文件请求的请求结果中包括状态码,所述状态码为传输协议的状态码,所述服务器通过所述状态码指示所述终端设备执行相应操作,所述状态码包括以下任一项:第一状态码、第二状态码、第三状态码和第四状态码,所述第一状态码用于指示所述终端设备基于所述目标文件对所述目标缓存文件进行替换更新,所述第二状态码用于指示无需对所述目标缓存文件进行更新,所述第三状态码用于指示所述终端设备基于所述差分文件对所述目标缓存文件进行更新,所述第四状态码用于指示所述终端设备基于所述差分文件和所述目标模板文件对所述目标缓存文件进行更新。
2.根据权利要求1所述的缓存更新方法,其特征在于,在所述确定用于描述所述目标文件与所述历史缓存文件之间差异的差分文件,以及向所述终端设备发送所述差分文件之后,还包括:将所述历史缓存文件切换为所述目标文件。
3.根据权利要求1所述的缓存更新方法,其特征在于,所述方法还包括:
在所述文件请求中包括用于指示所述终端设备支持差分更新模式的差分信息时,确定所述终端设备支持差分更新模式;
所述在所述目标文件与所述缓存文件标识不匹配时,从服务器缓存中获取所述目标文件的历史缓存文件,包括:在所述目标文件与所述缓存文件标识不匹配且所述终端设备支持差分更新模式时,从所述服务器缓存中获取所述历史缓存文件。
4.根据权利要求3所述的缓存更新方法,其特征在于,所述方法还包括:
在所述目标文件与所述缓存文件标识不匹配且所述终端设备不支持差分更新模式时,向所述终端设备发送第一状态码和所述目标文件。
5.根据权利要求1所述的缓存更新方法,其特征在于,所述方法还包括:
在所述目标文件与所述缓存文件标识相匹配时,向所述终端设备返回第二状态码。
6.根据权利要求3所述的缓存更新方法,其特征在于,所述差分信息包括所述终端设备所支持的文件差分算法的算法标识。
7.根据权利要求1-6中任一项所述的缓存更新方法,其特征在于,所述向所述终端设备发送所述差分文件包括:
向所述终端设备发送所述差分文件和以下各项信息中的至少一项:第三状态码、所述目标文件的文件标识和目标算法标识,其中,所述目标算法标识用于指示所述服务器所使用的目标文件差分算法。
8.一种缓存更新方法,其特征在于,应用于终端设备,所述方法包括:
终端设备向服务器发送文件请求,所述文件请求包括路径信息和缓存文件标识,所述缓存文件标识为缓存于所述终端设备中的目标缓存文件的文件标识;
接收所述服务器针对所述文件请求返回的请求结果数据,所述请求结果数据包括以下至少一项:差分文件、目标文件的目标模板文件,其中,所述差分文件为所述服务器采用如权利要求1-7中任一项所述的缓存更新方法处理得到,所述目标文件为所述服务器中与所述路径信息对应的文件;
根据所述请求结果数据对所述目标缓存文件进行更新。
9.根据权利要求8所述的缓存更新方法,其特征在于,在所述请求结果数据还包括状态码时,所述根据所述请求结果数据对所述目标缓存文件进行更新,包括:
在所述请求结果数据包括所述差分文件且所述状态码为第三状态码时,基于所述差分文件对所述目标缓存文件进行更新;
在所述请求结果数据包括所述差分文件和所述目标模板文件,且所述状态码为第四状态码时,基于所述差分文件和所述目标模板文件对所述目标缓存文件进行更新。
10.根据权利要求8所述的缓存更新方法,其特征在于,所述请求结果数据还包括以下至少一项:所述服务器中与所述路径信息对应的目标文件的文件标识、目标算法标识,所述目标算法标识用于指示所述服务器所使用的目标文件差分算法。
11.根据权利要求8所述的缓存更新方法,其特征在于,所述方法还包括:
在所述请求结果数据包括所述目标模板文件时,将所述目标缓存文件与所述目标模板文件对应存储。
12.一种服务器,其特征在于,所述服务器包括存储器、处理器和通信接口,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的缓存更新方法。
13.一种终端设备,其特征在于,所述终端设备包括存储器、处理器和通信接口,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求8至11任一项所述的缓存更新方法。
14.一种芯片系统,其特征在于,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如权利要求1至11任一项所述的缓存更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153173.2A CN116894014B (zh) | 2023-09-08 | 2023-09-08 | 缓存更新方法、服务器、终端设备及芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153173.2A CN116894014B (zh) | 2023-09-08 | 2023-09-08 | 缓存更新方法、服务器、终端设备及芯片系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116894014A CN116894014A (zh) | 2023-10-17 |
CN116894014B true CN116894014B (zh) | 2024-02-27 |
Family
ID=88315225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153173.2A Active CN116894014B (zh) | 2023-09-08 | 2023-09-08 | 缓存更新方法、服务器、终端设备及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116894014B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002318722A (ja) * | 2001-04-23 | 2002-10-31 | Nec Corp | サーバシステム,クライアントシステムおよび差分更新システムならびに差分更新プログラム |
US6757705B1 (en) * | 1998-08-14 | 2004-06-29 | Microsoft Corporation | Method and system for client-side caching |
CN107145528A (zh) * | 2017-04-14 | 2017-09-08 | 北京趣拿软件科技有限公司 | 更新缓存文件的方法、装置及系统 |
CN107609042A (zh) * | 2017-08-16 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
CN109413159A (zh) * | 2018-09-27 | 2019-03-01 | 平安普惠企业管理有限公司 | 缓存文件更新方法、装置、计算机设备及存储介质 |
CN109672756A (zh) * | 2019-02-14 | 2019-04-23 | 网宿科技股份有限公司 | 一种数据传输方法及相关装置、服务器和存储介质 |
CN110333850A (zh) * | 2019-05-30 | 2019-10-15 | 重庆金融资产交易所有限责任公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
CN110362762A (zh) * | 2019-07-11 | 2019-10-22 | 北京达佳互联信息技术有限公司 | 内容数据展示方法、装置、电子设备及存储介质 |
CN112434307A (zh) * | 2020-06-21 | 2021-03-02 | 石高建 | 结合大数据和物联网的数据处理方法及云计算服务器中心 |
WO2021114025A1 (zh) * | 2019-12-09 | 2021-06-17 | 深圳市欢太科技有限公司 | 增量数据确定方法、确定装置、服务器及终端设备 |
CN114035827A (zh) * | 2021-11-30 | 2022-02-11 | 中国平安人寿保险股份有限公司 | 应用程序更新方法、装置、设备及存储介质 |
CN114116656A (zh) * | 2022-01-25 | 2022-03-01 | 深圳希施玛数据科技有限公司 | 数据处理方法及相关装置 |
CN114301985A (zh) * | 2020-09-21 | 2022-04-08 | 深圳市茁壮网络股份有限公司 | 一种缓存文件管理方法、装置及服务器 |
CN114303131A (zh) * | 2019-11-18 | 2022-04-08 | 深圳市欢太科技有限公司 | 一种文件处理方法、文件处理装置及终端设备 |
-
2023
- 2023-09-08 CN CN202311153173.2A patent/CN116894014B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757705B1 (en) * | 1998-08-14 | 2004-06-29 | Microsoft Corporation | Method and system for client-side caching |
JP2002318722A (ja) * | 2001-04-23 | 2002-10-31 | Nec Corp | サーバシステム,クライアントシステムおよび差分更新システムならびに差分更新プログラム |
CN107968807A (zh) * | 2016-10-20 | 2018-04-27 | 法乐第(北京)网络科技有限公司 | 自动更新本地缓存资源的方法及装置 |
CN107145528A (zh) * | 2017-04-14 | 2017-09-08 | 北京趣拿软件科技有限公司 | 更新缓存文件的方法、装置及系统 |
CN107609042A (zh) * | 2017-08-16 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
CN109413159A (zh) * | 2018-09-27 | 2019-03-01 | 平安普惠企业管理有限公司 | 缓存文件更新方法、装置、计算机设备及存储介质 |
CN109672756A (zh) * | 2019-02-14 | 2019-04-23 | 网宿科技股份有限公司 | 一种数据传输方法及相关装置、服务器和存储介质 |
CN110333850A (zh) * | 2019-05-30 | 2019-10-15 | 重庆金融资产交易所有限责任公司 | 接口文档的生成方法、装置、计算机设备和存储介质 |
CN110362762A (zh) * | 2019-07-11 | 2019-10-22 | 北京达佳互联信息技术有限公司 | 内容数据展示方法、装置、电子设备及存储介质 |
CN114303131A (zh) * | 2019-11-18 | 2022-04-08 | 深圳市欢太科技有限公司 | 一种文件处理方法、文件处理装置及终端设备 |
WO2021114025A1 (zh) * | 2019-12-09 | 2021-06-17 | 深圳市欢太科技有限公司 | 增量数据确定方法、确定装置、服务器及终端设备 |
CN112434307A (zh) * | 2020-06-21 | 2021-03-02 | 石高建 | 结合大数据和物联网的数据处理方法及云计算服务器中心 |
CN114301985A (zh) * | 2020-09-21 | 2022-04-08 | 深圳市茁壮网络股份有限公司 | 一种缓存文件管理方法、装置及服务器 |
CN114035827A (zh) * | 2021-11-30 | 2022-02-11 | 中国平安人寿保险股份有限公司 | 应用程序更新方法、装置、设备及存储介质 |
CN114116656A (zh) * | 2022-01-25 | 2022-03-01 | 深圳希施玛数据科技有限公司 | 数据处理方法及相关装置 |
Non-Patent Citations (1)
Title |
---|
基于主分量寻踪的鲁棒视觉跟踪;袁广林;薛模根;;电子学报(03);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116894014A (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11012892B2 (en) | Resource obtaining method, apparatus, and system | |
CN107491320B (zh) | 基于混合模式移动应用的载入方法和装置 | |
US9253278B2 (en) | Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic | |
CN114153754B (zh) | 用于计算集群的数据传输方法、装置及存储介质 | |
CN108287706B (zh) | 数据处理方法及装置 | |
CN107274222B (zh) | 广告投放方法及装置 | |
CN112262556B (zh) | 模型文件的管理方法和终端设备 | |
CN106953898B (zh) | 一种获取软件包的方法和装置 | |
CN110764688B (zh) | 对数据进行处理的方法和装置 | |
CN113592209A (zh) | 一种模型训练任务管理方法、装置、终端和存储介质 | |
CN108347460B (zh) | 资源访问方法及装置 | |
CN116894014B (zh) | 缓存更新方法、服务器、终端设备及芯片系统 | |
CN108270839B (zh) | 访问频率控制系统及方法 | |
US10402373B1 (en) | Filesystem redirection | |
CN114143377B (zh) | 资源请求的配置方法、服务端、客户端、设备和存储介质 | |
CN106068506B (zh) | 用于提高电子装置中的加载时间的设备和方法 | |
WO2019051799A1 (zh) | 图像处理方法、装置、移动终端、服务器和存储介质 | |
WO2019051801A1 (zh) | 图像处理方法、装置、计算机设备及非易失性可读存储介质 | |
CN113315846A (zh) | 一种数据传输方法及装置 | |
CN116456425A (zh) | 配网方法及设备 | |
CN114374690B (zh) | 一种文件共享方法、通信系统和电子设备 | |
CN114726849B (zh) | 文件传输方法、装置、服务器及计算机可读存储介质 | |
CN116382809B (zh) | 应用程序启动方法和电子设备 | |
CN114363406B (zh) | 推送消息处理方法、装置、设备及存储介质 | |
CN115550391B (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 |