CN113391834A - 数据更新方法、装置、电子设备和存储介质 - Google Patents

数据更新方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113391834A
CN113391834A CN202110686705.3A CN202110686705A CN113391834A CN 113391834 A CN113391834 A CN 113391834A CN 202110686705 A CN202110686705 A CN 202110686705A CN 113391834 A CN113391834 A CN 113391834A
Authority
CN
China
Prior art keywords
configuration file
difference
message digest
server
file
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
Application number
CN202110686705.3A
Other languages
English (en)
Inventor
方嘉铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110686705.3A priority Critical patent/CN113391834A/zh
Publication of CN113391834A publication Critical patent/CN113391834A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据更新方法、装置、电子设备和存储介质,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述方法包括:从服务器中获取所述配置文件对应的第二消息摘要;在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;从所述服务器中获取所述差异消息摘要对应的差异配置文件;采用所述差异配置文件更新所述应用程序的配置文件。本发明实施例无需拉取全量的配置文件就可以更新应用程序的配置文件,无需耗费较多的流量,有利于实现应用程序的动态的更新。

Description

数据更新方法、装置、电子设备和存储介质
技术领域
本发明实施例涉及互联网技术领域,特别是涉及一种数据更新方法、一种数据更新装置、电子设备和存储介质。
背景技术
随着互联网技术的不断发展,智能手机、个人计算机、平板电脑等终端设备被广泛使用,网络游戏也逐渐的走入人们的生活,促使游戏成为了人们越来越重要的娱乐活动之一。
游戏这一品类非常重视元数据(配置文件),具体地,配置文件又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在游戏中的很多配置信息,比如玩家操控的游戏角色在地图上的建筑的位置,或者玩家背包里物品的图标等等,都是通过一个个配置文件进行配置。
通常,在玩家登录游戏的时候,拉取全量的配置文件,以基于配置文件对游戏进行更新,然而,这种拉取全量的配置文件的方式,需要耗费较多的流量,不利于游戏的动态的更新。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据更新方法和相应的一种数据更新装置、电子设备、存储介质。
为了解决上述问题,本发明实施例公开了一种数据更新方法,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述方法包括:
从服务器中获取所述配置文件对应的第二消息摘要;
在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;
从所述服务器中获取所述差异消息摘要对应的差异配置文件;
采用所述差异配置文件更新所述应用程序的配置文件。
可选地,所述从服务器中获取所述配置文件对应的第二消息摘要,包括:在登录所述应用程序时,从服务器中获取所述配置文件对应的第二消息摘要。
可选地,所述从服务器中获取所述配置文件对应的第二消息摘要,包括:在登录所述应用程序时,从所述服务器获取消息摘要映射表的第一更新时间,所述消息摘要映射表包括所述应用程序的全部配置文件的第二消息摘要;在登录所述应用程序后,定时向所述服务器发送保活请求;所述保活请求用于确定所述应用程序与所述服务器是否保持通信;接收所述服务器针对所述保活请求反馈的响应消息;所述响应消息中包括所述服务器在登录应用程序期间更新所述配置文件后,刷新后的所述消息摘要映射表的第二更新时间;在所述第一更新时间小于所述第二更新时间时,从所述服务器中获取所述应用程序对应的第二消息摘要。
可选地,所述从所述服务器中获取所述差异消息摘要对应的差异配置文件,包括:确定所述差异配置文件的文件体积;按照预设文件体积,将所述差异配置文件划分为至少一个批次;按照所述批次,从所述服务器中分批获取所述差异消息摘要对应的差异配置文件。
可选地,所述按照预设文件体积,将所述差异配置文件划分为至少一个批次,包括:当所述差异配置文件的文件体积大于或等于所述预设文件体积时,将所述差异配置文件作为一个批次;当所述差异配置文件的文件体积小于所述预设文件体积时,将所述差异配置文件和其他差异配置文件作为一个批次,所述批次中所述差异配置文件的总文件体积小于或等于所述预设文件体积。
可选地,还包括:确定所述终端设备的性能参数;按照所述性能参数将所述配置文件保存在所述终端设备的本地存储区域中,或者,将所述配置文件保存在所述终端设备的内存中。
可选地,还包括:在所述配置文件的总文件体积超过所述终端设备的本地存储区域的存储上限时,将超过所述存储上限的所述配置文件保存在所述终端设备的内存中。
可选地,所述应用程序依赖于第三方应用程序,所述应用程序还包括程序包体,所述程序包体与所述配置文件在所述终端设备分开存储,所述程序包体在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新,所述配置文件无需在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新。
本发明实施例还公开了一种数据更新装置,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述装置包括:
第二消息摘要获取模块,用于从服务器中获取所述配置文件对应的第二消息摘要;
差异消息摘要确定模块,用于在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;
差异配置文件获取模块,用于从所述服务器中获取所述差异消息摘要对应的差异配置文件;
差异配置文件更新模块,用于采用所述差异配置文件更新所述应用程序的配置文件。
可选地,所述第二消息摘要获取模块,用于在登录所述应用程序时,从服务器中获取所述配置文件对应的第二消息摘要。
可选地,所述第二消息摘要获取模块,用于在登录所述应用程序时,从所述服务器获取消息摘要映射表的第一更新时间,所述消息摘要映射表包括所述应用程序的全部配置文件的第二消息摘要;在登录所述应用程序后,定时向所述服务器发送保活请求;所述保活请求用于确定所述应用程序与所述服务器是否保持通信;接收所述服务器针对所述保活请求反馈的响应消息;所述响应消息中包括所述服务器在登录应用程序期间更新所述配置文件后,刷新后的所述消息摘要映射表的第二更新时间;在所述第一更新时间小于所述第二更新时间时,从所述服务器中获取所述应用程序对应的第二消息摘要。
可选地,所述差异配置文件获取模块,用于确定所述差异配置文件的文件体积;按照预设文件体积,将所述差异配置文件划分为至少一个批次;按照所述批次,从所述服务器中分批获取所述差异消息摘要对应的差异配置文件。
可选地,所述差异配置文件获取模块,用于当所述差异配置文件的文件体积大于或等于所述预设文件体积时,将所述差异配置文件作为一个批次;当所述差异配置文件的文件体积小于所述预设文件体积时,将所述差异配置文件和其他差异配置文件作为一个批次,所述批次中所述差异配置文件的总文件体积小于或等于所述预设文件体积。
可选地,所述装置还包括:第一保存模块,用于确定所述终端设备的性能参数;按照所述性能参数将所述配置文件保存在所述终端设备的本地存储区域中,或者,将所述配置文件保存在所述终端设备的内存中。
可选地,所述装置还包括:第二保存模块,用于在所述配置文件的总文件体积超过所述终端设备的本地存储区域的存储上限时,将超过所述存储上限的所述配置文件保存在所述终端设备的内存中。
可选地,所述应用程序依赖于第三方应用程序,所述应用程序还包括程序包体,所述程序包体与所述配置文件在所述终端设备分开存储,所述程序包体在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新,所述配置文件无需在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新。
本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的数据更新方法的步骤。
本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的数据更新方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,从服务器中获取应用程序对应的第二消息摘要,然后将该第二消息摘要与终端设备存储配置文件对应的第一消息摘要不一致时,将第二消息摘要作为差异消息摘要,然后从服务器中获取差异消息摘要对应的差异配置文件,进而可以采用差异配置文件更新应用程序的配置文件。本发明实施例无需拉取全量的配置文件就可以更新应用程序的配置文件,无需耗费较多的流量,有利于实现应用程序的动态的更新。
附图说明
图1是本发明的一种数据更新方法实施例的步骤流程图;
图2是本发明的一种配置文件拉取和存储流程图;
图3是本发明的一种在线配置文件实时更新流程图;
图4是本发明的一种数据更新装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在具体实现中,应用程序可以包括小程序,小程序包括游戏,其中,小程序需要依赖于小程序平台(其他的应用程序)。随着小程序不断被推出,各大厂商也推出了自己的小程序平台来承载小程序,具体地,目前各个小程序平台配置有API(ApplicationProgramming Interface,应用程序接口),用于与小程序进行通信。
热更新是一种众多应用程序常用的更新方式,简单来说,就是在用户下载安装应用程序的包体之后,打开应用程序时,如果检测到配置文件需要更新,则获取需要新的配置文件后覆盖包体中对应的配置文件。然而,小程序相比起其它的应用程序,例如手机游戏或者PC(Personal Computer,个人计算机)端游戏,一个最大的限制在于不能进行热更新,这是因为小程序的包体必须经过小程序平台审核才能进行外放。
一些大型的应用程序,通常将配置文件先打在应用程序的包体内,此后通过热更新覆盖,但是需要依赖小程序平台的小程序的包体有大小的限制(4MB左右),因此如果直接将配置文件放置在小程序的包体内并不可行,也不利于小程序的动态的更新。并且,在更新应用程序时需要拉取全量的配置文件,然而,这种拉取全量的配置文件的方式,需要耗费较多的流量,不利于应用程序的动态的更新。
针对上述问题,本发明实施例提出了一种数据更新方法,用于对应用程序的配置文件进行管理,其中应用程序包括小程序,能够无需拉取全量的配置文件就可以更新应用程序的配置文件,无需耗费较多的流量,有利于实现应用程序的动态的更新。此外,即使玩家处于在线的状态,也能实时对应用程序进行配置文件的更新。
本申请实施例中的数据更新方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当数据更新方法运行于为服务器时,可以为云游戏。
在一可选的实施方式中,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,数据更新方法的储存与运行是在云游戏服务器上完成的,云游戏客户端的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行游戏数据更新的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
在一可选的实施方式中,终端设备可以为本地终端设备。本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
参照图1,示出了本发明的一种数据更新方法实施例的步骤流程图,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,具体可以包括如下步骤:
步骤101、从服务器中获取所述配置文件对应的第二消息摘要。
其中,应用程序可以包括小程序,例如依赖小程序平台的小游戏。以下以小程序为例进行说明,当然,本发明实施例也适用于其他的应用程序。
其中,消息摘要是指的基于MD5(Message-Digest Algorithm 5,信息-摘要算法)计算所得的数值,因此通常也被简称为MD5值,简单来说,MD5算法可以将配置文件"压缩"成一种保密的格式,通过消息摘要能够对配置文件进行完整性和一致性的校验。
其中,小程序可以是小游戏,由于小游戏是通过js(JavaScript,一种具有函数优先的轻量级,解释型或即时编译型的编程语言)进行编写的,所以小游戏内的配置文件可以看作一个个的json文件,比如小游戏中关于地图的配置文件可以称作map.json,小游戏中关于物品的配置文件可以被称为item.json,以此类推。服务器在启动以及热更新的时候,对所有的配置文件计算采用MD5算法计算消息摘要,并生成一个包含消息摘要的映射表。
map.json->63373B41CF913E9F9B3226B4A0452737
item.json->9B7907B538B1CD853F4CEFA94BBE8B51
其中,消息摘要可以看作是配置文件的签名,在配置文件的签名发生变化,则说明配置文件的文件内容发生了变化。
具体地,终端设备上存储有小程序的配置文件以及每个配置文件对应的第一消息摘要,在服务器中也保存有小程序的配置文件以及每个配置文件对应的第二消息摘要,其中,在服务器中的配置文件和第二消息摘要的更新时间,会早于在终端设备上的配置文件和第一消息摘要的更新时间,因此在本发明实施例中,可以基于服务器的第二消息摘要,对确定终端设备上对应的配置文件是否是最新的配置文件。
步骤102、在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要。
在本发明实施例中,在终端设备设置有LocalStorage(本地存储空间),LocalStorage可以看作是小程序的本地文件系统,本地文件系统的存储上限在各个小程序平台里大约是10MB,具体地,通过小程序提供setStorage接口可以在LocalStorage里保存键值对,例如消息摘要和配置文件的文件名称组成的键值对。
在LocalStorage中,配置文件和第一消息摘要可以分开存储,目的是为了加快消息摘要的差异的比对过程,如果配置文件和第一消息摘要是存储在一起,那么进行消息摘要的差异比对的时候,如果有n个配置文件,就需要读取n个配置文件,由于配置文件中的文件体积较大,读取n个配置文件的时候就会有一定的卡顿,影响玩家登录的速度,所以将配置文件的消息摘要和配置文件分开存储,那么比对差异时,只需要读取文件体积较小的消息摘要,而不需要读取文件体积较大的配置文件。其中,关于配置文件的读取可以等到玩家登录应用程序后,按需要从LocalStorage中加载到内存。
具体地,在从服务器获取到第二消息摘要后,比对第一消息摘要和第二消息摘要,如果第二消息摘要与第一消息摘要一致时,说明终端设备中保存的第二消息摘要对应的配置文件并不是最新的配置文件,则需要从服务器中获取最新的配置文件来进行更新,本发明实施例中,将与第一消息摘要不同的第二消息摘要,作为差异消息摘要。
步骤103、从所述服务器中获取所述差异消息摘要对应的差异配置文件。
步骤104、采用所述差异配置文件更新所述应用程序的配置文件。
具体地,在确定差异消息摘要后,从服务器中获取到该差异消息摘要对应的差异配置文件,用于对终端设备中相应的配置文件进行更新。例如,假设终端设备上保存的配置文件map.json,其第一消息摘要与服务器保存的第二消息摘要不一致,则说明终端设备上的map.json不是最新的map.json,需要从服务器获取到最新的map.json,来对终端设备上map.json进行更新。
参照图2,是本发明的一种配置文件拉取和存储流程图,具体实现应用程序的更新过程为:
1、拉取MD5映射表。在玩家登录应用程序,终端设备(客户端)与服务器通信时,从服务器中拉取从一MD5映射表,该映射表仅保存了消息摘要,因此文件体积不会很大,所以流量的消耗相对较少。
2、比对配置文件差异。在拉取到映射表之后,将映射表中配置文件的第二消息摘要和本地记录的配置文件的第二消息摘要进行比对,如果两者存在差异,就会将对应配置文件记录为差异配置文件。
3、增量拉取差异文件。在完成对应用程序的所有的配置文件的消息摘要的比对后,整理获得一个差异文件列表,然后,可以与服务器进行通信,以获取差异文件列表中对应的新的配置文件和新的消息摘要。
4、保存增量的配置文件和MD5值。在客户端的localStorage中保存新的配置文件和新的消息摘要。
在上述数据更新方法中,从服务器中获取应用程序对应的第二消息摘要,然后将该第二消息摘要与终端设备存储配置文件对应的第一消息摘要不一致时,将第二消息摘要作为差异消息摘要,然后从服务器中获取差异消息摘要对应的差异配置文件,进而可以采用差异配置文件更新应用程序的配置文件。本发明实施例无需拉取全量的配置文件就可以更新应用程序的配置文件,无需耗费较多的流量,有利于实现应用程序的动态的更新。
在一示例性实施例中,所述应用程序依赖于第三方应用程序,所述应用程序还包括程序包体,所述程序包体与所述配置文件在所述终端设备分开存储,所述程序包体在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新,所述配置文件无需在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新。
根据前述可知,应用程序可以是小程序,小程序是需要依赖于小程序平台(第三方应用程序),在现有技术中,小程序的程序包体需要通过小程序平台的审核后,才能在小程序平台进行更新,如果配置文件和程序包体是存储在同一个位置,那么即使只更新了配置文件,也需要通过小程序平台的审核后才能在小程序平台进行更新。
针对上述问题,在本发明实施例中,在LocalStorage中可以将小程序的程序包体和配置文件分开存储,如此,对于程序包体的操作不会影响配置文件,当然,对配置文件的操作也不会影响程序包体。具体地,如果更新了配置文件,可以无需通过小程序平台的审核,即可在小程序平台进行更新配置文件。
在上述示例性实施例中,通过在终端设备的LocalStorage中将应用程序的程序包体和配置文件分开存储,使得配置文件可以无需通过第三方应用程序审核也可以进行更新,提高了应用程序的更新效率。
在一示例性实施例中,所述步骤102、从服务器中获取所述配置文件对应的第二消息摘要,包括:
在登录所述应用程序时,从服务器中获取所述配置文件对应的第二消息摘要。
具体地,在玩家在终端设备上登录应用程序时,从服务器中获取该应用程序对应的第二消息摘要,从而可以基于第二消息摘要比对第一消息摘要,获取到对应的差异配置文件来对需要更新的配置文件进行更新。
在上述示例性实施例中,在玩家登录应用程序时从服务器获取配置文件的消息摘要,用于确定是否需要更新应用程序的配置文件,进而在需要使用应用程序时更新,保证了玩家的游戏体验。
在一示例性实施例中,所述步骤102、从服务器中获取所述配置文件对应的第二消息摘要,包括:
在登录所述应用程序时,从所述服务器获取消息摘要映射表的第一更新时间,所述消息摘要映射表包括所述应用程序的全部配置文件的第二消息摘要;
在登录所述应用程序后,定时向所述服务器发送保活请求;所述保活请求用于确定所述应用程序与所述服务器是否保持通信;
接收所述服务器针对所述保活请求反馈的响应消息;所述响应消息中包括所述服务器在登录应用程序期间更新所述配置文件后,刷新后的所述消息摘要映射表的第二更新时间;
在所述第一更新时间小于所述第二更新时间时,从所述服务器中获取所述应用程序对应的第二消息摘要。
在本发明实施例中,为了能够让配置文件能够更及时的更新,利用了保活(keep_alive)的机制,具体地,在游戏在客户端运行过程中,客户端会发送保活请求以表示客户端正常连接,这一保活请求可以被用作监测玩家在线,游戏中会按照一定时间间隔(例如10s-120s)进行发送保活请求,以确定服务器上的配置文件是否更新。
具体地,服务器会维护消息摘要映射表(MD5映射表)的第一更新时间,一旦服务器的配置文件发生更新,则MD5映射表的更新时间就会刷新,服务器向客户端反馈针对保活请求的响应消息时会携带刷新后的第二更新时间,如果客户端比对第一更新时间与第二更新时间,发现第一更新时间小于第二更新时间,说明应用程序的配置文件在登录应用程序期间发生了变更,于是,会重新从服务器去拉取MD5映射表,来确定需要进行更新的配置文件,从而实现玩家在线时对配置文件的更新。
参照图3,是本发明的一种在线配置文件实时更新流程图,在登录时更新应用程序的过程为:
1、在玩家登录应用程序时,从服务器拉取MD5映射表,用于确定是否需要对客户端上应用程序的配置文件进行更新;同时,还会获取到配置文件的MD5映射表的文件更新时间戳t1(第一更新时间);
2、如果服务器在在玩家登录应用程序的期间,服务器更新了应用程序一个或者多个的配置文件,则MD5映射表的文件更新时间戳从t1更新为t2(第二更新时间);
3、客户端向服务器发送保活请求(keep_alive),服务器则会针对保活请求返回包括t2的响应消息,如果t2大于t1,则说明服务器在应用程序的登录期间配置文件发生了更新,则客户端会重新从服务器拉取MD5映射表,用于再次确定需要更新的配置文件。
在一示例性实施例中,所述步骤103、从所述服务器中获取所述差异消息摘要对应的差异配置文件,可以包括如下步骤:
确定所述差异配置文件的文件体积;
按照预设文件体积,将所述差异配置文件划分为至少一个批次;
按照所述批次,从所述服务器中分批获取所述差异消息摘要对应的差异配置文件。
在本发明实施例中,在确定差异消息摘要之后,会向服务器拉取差异消息摘要对应的差异配置文件,可以理解,如果一次仅拉取一个差异配置文件,传输效率太低,但是,如果一次拉取全量的差异配置文件,又可能会出现在弱网情况下传输失败的情况,这是由于全量的差异配置文件的文件体积太大导致了传输超时。
具体地,本发明实施例中,服务器可以在生消息摘要的时候,同步记录下配置文件的文件体积,所以客户端在拉取到MD5映射表的时候,同时获取到了每个配置文件的文件体积和MD5值,从而可以基于预设文件体积,来规划哪些差异配置文件会并入同一批次中,然后,按批次从服务器中分批获取差异消息摘要对应的差异配置文件。
在上述示例性实施例中,按照预设文件体积分批次从服务器获取差异配置文件,避免一次传输全量的差异配置文件导致的超时情况出现,保证了差异配置文件的正常传输。
在一示例性实施例中,所述按照预设文件体积,将所述差异配置文件划分为至少一个批次,可以包括如下步骤:
当所述差异配置文件的文件体积大于或等于所述预设文件体积时,将所述差异配置文件作为一个批次;
当所述差异配置文件的文件体积小于所述预设文件体积时,将所述差异配置文件和其他差异配置文件作为一个批次,所述批次中所述差异配置文件的总文件体积小于或等于所述预设文件体积。
具体地,本发明实施例可以预先指定一个批量拉取的预设文件体积X,每次都尽量使得从服务器拉取的差异配置文件的文件体积达到X,当然,(如果超出X则进行单个的差异配置文件拉取。举例来说,假设有ABCD四个差异配置文件,文件体积分别为20KB、200KB、250KB、500KB,假设的预设文件体积X为400KB,那么这四个差异配置文件会分成AB、C、D三个批次进行拉取。
当然,除了上述方式之外,本发明实施例也可以通过其他方式分批次拉取差异配置文件,本发明实施例对此无需加以限制。
在上述示例性实施例中,通过预设文件体积来对应用程序差异的差异配置文件进行分批次拉取,可以避免多次拉取频次过高,而导致的拉取效率低的问题。
在一示例性实施例中,所述方法还可以包括:
确定所述终端设备的性能参数;
按照所述性能参数将所述配置文件保存在所述终端设备的本地存储区域中,或者,将所述配置文件保存在所述终端设备的内存中。
其中,性能参数可以包括内存、运算速度等等。
在具体实现中,在一些终端设备的小程序平台上,如果通过LocalStorage来存取配置文件会存在比较明显的延迟,针对上述问题,在本发明实施例中,可以预先确定终端设备的性能参数,来确定是否在终端设备上采用LocalStorage进行存储配置文件。
作为一个示例,如果检测确定终端设备的性能参数较差,则可以将配置文件保存在终端设备的内存中,从而避免通过LocalStorage来存取配置文件带来的性能问题,如果检测确定终端设备的性能参数较优,则可以将配置文件保存在LocalStorage中,并且通过LocalStorage存取配置文件也不会存在的性能问题。
在上述示例性实施例中,根据终端设备的性能参数来确定是否通过终端设备的LocalStorage来存取应用程序的配置文件,从而避免了在性能参数较差的终端设备上通过LocalStorage来存取配置文件带来的性能问题。
在一示例性实施例中,所述方法还可以包括如下步骤:
在所述配置文件的总文件体积超过所述终端设备的本地存储区域的存储上限时,将超过所述存储上限的所述配置文件保存在所述终端设备的内存中。
具体地,为了满足各类应用程序的需求,本发明实施例支持对应用程序的配置文件进行压缩储,压缩后的配置文件的文件体积远小于压缩前的文件体积,使得实际可以存储在LocalStorage中配置文件可以更多。但是,终端设备的LocalStorage始终还是存在一个存储上限的问题,例如,一些LocalStorage只有10MB,如果配置文件的总文件体积超过了10MB就无法在LocalStorage中全部存储。
因此在本发明实施例中,如果应用程序中存在有超出LocalStorage存储上限的配置文件,则在超出存储上限的配置文件上进行标记,将未标记的配置文件存储在LocalStorage中,标记的配置文件则存储在终端设备的内存中。
在上述示例性实施例中,将超出LocalStorage的存储上限的配置文件保存到内存,可以应对应用程序的配置文件的文件体积特别大的情况,通过这种方式,使得能够适用包括各种类型的配置文件的应用程序,通用性更强。
应用本发明实施例,通过终端设备的LocalStorage实现了应用程序的配置文件的存储,此外,通过预处理配置文件,获取到配置文件的消息摘要和文件体积,进而可以根据消息摘要比对确定差异配置文件,以增量拉取所需的差异配置文件,并且,可以基于差异配置文件的文件体积来分批拉取,减少拉取过程往返时间。另外,哈可以通过利用应用程序中已有的保活请求机制,顺带实现了配置文件的热更新,从而可以实时的对客户端进行配置文件的更新,一定程度上控制了客户端由于没有差异配置文件而出现异常表现。
进一步地,针对不同终端设备的性能参数差异,提供了丰富的配置,例如,对配置文件进行压缩以尽可能提高LocalStorage的利用率,或者针对性能参数较差的终端设备,选择将配置文件存取在内存中,避免在性能参数较差的终端设备上通过LocalStorage来存取配置文件,导致延迟的问题。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种数据更新装置实施例的结构框图,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述装置具体可以包括如下模块:
第二消息摘要获取模块401,用于从服务器中获取所述配置文件对应的第二消息摘要;
差异消息摘要确定模块402,用于在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;
差异配置文件获取模块403,用于从所述服务器中获取所述差异消息摘要对应的差异配置文件;
差异配置文件更新模块404,用于采用所述差异配置文件更新所述应用程序的配置文件。
在一示例性实施例中,所述第二消息摘要获取模块401,用于在登录所述应用程序时,从服务器中获取所述配置文件对应的第二消息摘要。
在一示例性实施例中,所述第二消息摘要获取模块401,用于在登录所述应用程序时,从所述服务器获取消息摘要映射表的第一更新时间,所述消息摘要映射表包括所述应用程序的全部配置文件的第二消息摘要;在登录所述应用程序后,定时向所述服务器发送保活请求;所述保活请求用于确定所述应用程序与所述服务器是否保持通信;接收所述服务器针对所述保活请求反馈的响应消息;所述响应消息中包括所述服务器在登录应用程序期间更新所述配置文件后,刷新后的所述消息摘要映射表的第二更新时间;在所述第一更新时间小于所述第二更新时间时,从所述服务器中获取所述应用程序对应的第二消息摘要。
在一示例性实施例中,所述差异配置文件获取模块403,用于确定所述差异配置文件的文件体积;按照预设文件体积,将所述差异配置文件划分为至少一个批次;按照所述批次,从所述服务器中分批获取所述差异消息摘要对应的差异配置文件。
在一示例性实施例中,所述差异配置文件获取模块403,用于当所述差异配置文件的文件体积大于或等于所述预设文件体积时,将所述差异配置文件作为一个批次;当所述差异配置文件的文件体积小于所述预设文件体积时,将所述差异配置文件和其他差异配置文件作为一个批次,所述批次中所述差异配置文件的总文件体积小于或等于所述预设文件体积。
在一示例性实施例中,所述装置还包括:第一保存模块,用于确定所述终端设备的性能参数;按照所述性能参数将所述配置文件保存在所述终端设备的本地存储区域中,或者,将所述配置文件保存在所述终端设备的内存中。
在一示例性实施例中,所述装置还包括:第二保存模块,用于在所述配置文件的总文件体积超过所述终端设备的本地存储区域的存储上限时,将超过所述存储上限的所述配置文件保存在所述终端设备的内存中。
在一示例性实施例中,所述应用程序依赖于第三方应用程序,所述应用程序还包括程序包体,所述程序包体与所述配置文件在所述终端设备分开存储,所述程序包体在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新,所述配置文件无需在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上数据更新方法实施例所述的步骤。
本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上数据更新方法实施例所述的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据更新终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据更新终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据更新终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据更新终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据更新方法、一种数据更新装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种数据更新方法,其特征在于,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述方法包括:
从服务器中获取所述配置文件对应的第二消息摘要;
在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;
从所述服务器中获取所述差异消息摘要对应的差异配置文件;
采用所述差异配置文件更新所述应用程序的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述从服务器中获取所述配置文件对应的第二消息摘要,包括:
在登录所述应用程序时,从服务器中获取所述配置文件对应的第二消息摘要。
3.根据权利要求1所述的方法,其特征在于,所述从服务器中获取所述配置文件对应的第二消息摘要,包括:
在登录所述应用程序时,从所述服务器获取消息摘要映射表的第一更新时间,所述消息摘要映射表包括所述应用程序的全部配置文件的第二消息摘要;
在登录所述应用程序后,定时向所述服务器发送保活请求;所述保活请求用于确定所述应用程序与所述服务器是否保持通信;
接收所述服务器针对所述保活请求反馈的响应消息;所述响应消息中包括所述服务器在登录应用程序期间更新所述配置文件后,刷新后的所述消息摘要映射表的第二更新时间;
在所述第一更新时间小于所述第二更新时间时,从所述服务器中获取所述应用程序对应的第二消息摘要。
4.根据权利要求1所述的方法,其特征在于,所述从所述服务器中获取所述差异消息摘要对应的差异配置文件,包括:
确定所述差异配置文件的文件体积;
按照预设文件体积,将所述差异配置文件划分为至少一个批次;
按照所述批次,从所述服务器中分批获取所述差异消息摘要对应的差异配置文件。
5.根据权利要求4所述的方法,其特征在于,所述按照预设文件体积,将所述差异配置文件划分为至少一个批次,包括:
当所述差异配置文件的文件体积大于或等于所述预设文件体积时,将所述差异配置文件作为一个批次;
当所述差异配置文件的文件体积小于所述预设文件体积时,将所述差异配置文件和其他差异配置文件作为一个批次,所述批次中所述差异配置文件的总文件体积小于或等于所述预设文件体积。
6.根据权利要求1所述的方法,其特征在于,还包括:
确定所述终端设备的性能参数;
按照所述性能参数将所述配置文件保存在所述终端设备的本地存储区域中,或者,将所述配置文件保存在所述终端设备的内存中。
7.根据权利要求1所述的方法,其特征在于,还包括:
在所述配置文件的总文件体积超过所述终端设备的本地存储区域的存储上限时,将超过所述存储上限的所述配置文件保存在所述终端设备的内存中。
8.根据权利要求1所述的方法,其特征在于,所述应用程序依赖于第三方应用程序,所述应用程序还包括程序包体,所述程序包体与所述配置文件在所述终端设备分开存储,所述程序包体在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新,所述配置文件无需在通过所述第三方应用程序审核后所述应用程序在所述第三方应用程序更新。
9.一种数据更新装置,其特征在于,应用于终端设备,所述终端设备中存储有应用程序的配置文件和所述配置文件对应的第一消息摘要,所述装置包括:
第二消息摘要获取模块,用于从服务器中获取所述配置文件对应的第二消息摘要;
差异消息摘要确定模块,用于在所述第二消息摘要与所述第一消息摘要不一致时,将所述第二消息摘要作为差异消息摘要;
差异配置文件获取模块,用于从所述服务器中获取所述差异消息摘要对应的差异配置文件;
差异配置文件更新模块,用于采用所述差异配置文件更新所述应用程序的配置文件。
10.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据更新方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的数据更新方法的步骤。
CN202110686705.3A 2021-06-21 2021-06-21 数据更新方法、装置、电子设备和存储介质 Pending CN113391834A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110686705.3A CN113391834A (zh) 2021-06-21 2021-06-21 数据更新方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110686705.3A CN113391834A (zh) 2021-06-21 2021-06-21 数据更新方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113391834A true CN113391834A (zh) 2021-09-14

Family

ID=77623243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110686705.3A Pending CN113391834A (zh) 2021-06-21 2021-06-21 数据更新方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113391834A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114793236A (zh) * 2021-12-14 2022-07-26 合肥哈工轩辕智能科技有限公司 一种高可用性的实时消息分发方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059825A (zh) * 2016-07-08 2016-10-26 福建天晴数码有限公司 一种分布式系统及配置方法
CN106155818A (zh) * 2016-06-17 2016-11-23 腾讯科技(深圳)有限公司 一种终端拉取信息的处理方法和终端以及服务器
CN107423321A (zh) * 2017-03-31 2017-12-01 上海斐讯数据通信技术有限公司 适用大批量小文件云存储的方法及其装置
CN109101381A (zh) * 2018-08-02 2018-12-28 Oppo(重庆)智能科技有限公司 配置文件更新方法、系统、电子设备及存储介质
CN110221904A (zh) * 2019-06-17 2019-09-10 腾讯科技(深圳)有限公司 一种业务流程控制方法
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法
CN110908738A (zh) * 2019-11-29 2020-03-24 百度在线网络技术(北京)有限公司 用于运行小程序的方法和装置
CN112230965A (zh) * 2020-10-30 2021-01-15 广东耐思智慧科技有限公司 一种应用程序内小程序热更新的系统和方法
CN112905230A (zh) * 2021-03-16 2021-06-04 深圳市麦谷科技有限公司 应用程序的管理方法、装置、终端设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155818A (zh) * 2016-06-17 2016-11-23 腾讯科技(深圳)有限公司 一种终端拉取信息的处理方法和终端以及服务器
CN106059825A (zh) * 2016-07-08 2016-10-26 福建天晴数码有限公司 一种分布式系统及配置方法
CN107423321A (zh) * 2017-03-31 2017-12-01 上海斐讯数据通信技术有限公司 适用大批量小文件云存储的方法及其装置
CN109101381A (zh) * 2018-08-02 2018-12-28 Oppo(重庆)智能科技有限公司 配置文件更新方法、系统、电子设备及存储介质
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法
CN110221904A (zh) * 2019-06-17 2019-09-10 腾讯科技(深圳)有限公司 一种业务流程控制方法
CN110908738A (zh) * 2019-11-29 2020-03-24 百度在线网络技术(北京)有限公司 用于运行小程序的方法和装置
CN112230965A (zh) * 2020-10-30 2021-01-15 广东耐思智慧科技有限公司 一种应用程序内小程序热更新的系统和方法
CN112905230A (zh) * 2021-03-16 2021-06-04 深圳市麦谷科技有限公司 应用程序的管理方法、装置、终端设备和存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ROCKY191: "Vue项目使用webpac打包项目配置外部配置文件方式", pages 1 - 2, Retrieved from the Internet <URL:《https://juejin.cn/post/6844903597713391624》> *
ZERONE羽: "Lua脚本热更新方案", pages 1 - 8, Retrieved from the Internet <URL:《https://blog.csdn.net/yuyingwin/article/details/80105789/》> *
秋海ZZ: "SpringBoot读取外部配置文件,避免更新jar包内配置文件重新打包部署", pages 1 - 2, Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_45087127/article/details/114894812》> *
风象南: "SpringBoot 配置文件与依赖库分离打包配置", pages 1 - 6, Retrieved from the Internet <URL:《https://www.cnblogs.com/yuboon/p/11919329.html》> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114793236A (zh) * 2021-12-14 2022-07-26 合肥哈工轩辕智能科技有限公司 一种高可用性的实时消息分发方法及装置

Similar Documents

Publication Publication Date Title
US9536261B2 (en) Resolving conflicts within saved state data
KR101581981B1 (ko) 클라이언트-서버 환경에서의 애플리케이션의 동적 분할 방법 및 시스템
CN111414407A (zh) 数据库的数据查询方法、装置、计算机设备及存储介质
US9607088B2 (en) Method and apparatus for detecting multimedia content change, and resource propagation system
CN112799925A (zh) 数据采集方法、装置、电子设备和可读存储介质
CN114706690B (zh) 一种Kubernetes容器共享GPU方法及系统
CN113672748A (zh) 多媒体信息播放方法及装置
CN110019537A (zh) 本地缓存刷新方法、装置、计算机设备及存储介质
CN113391834A (zh) 数据更新方法、装置、电子设备和存储介质
CN109462777B (zh) 视频热度更新方法、装置、终端及存储介质
CN107291370B (zh) 一种云存储系统调度方法和装置
CN113971191A (zh) 一种数据导入方法、装置和计算机可读存储介质
CN111767558A (zh) 数据访问监控方法、装置及系统
CN107168648B (zh) 文件存储方法、装置及终端
CN112764837B (zh) 数据上报方法、装置、存储介质及终端
CN110574006A (zh) 用于自动同步设备上响应与条件的系统和方法
CN115001967A (zh) 一种数据采集方法、装置、电子设备及存储介质
CN111258877B (zh) 首屏页面可见时间的检测方法、装置及电子设备
CN114489892A (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN110262856B (zh) 一种应用程序数据采集方法、装置、终端及存储介质
CN113419667A (zh) 快照容量计算方法和装置、电子设备以及计算机可读存储介质
CN111813880A (zh) 一种国土空间规划项目管理方法、系统及存储介质
CN111198986A (zh) 信息发送方法、装置、电子设备及存储介质
CN111224936B (zh) 用户异常请求检测方法、系统、设备以及机器可读介质
CN113721803B (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