一种配置文件更新方法及系统
技术领域
本申请涉及数据更新技术领域,尤其涉及一种配置文件更新方法及系统。
背景技术
现有的大部分手机原生APP,都可以打开一些在线的网页地址,用于展示活动页、推广页等网页内容;在APP中直接打开在线版的网络地址的功能是通过设置在APP里面的webview实现的。而APP本地仅保留极少的HTML 5网页地址。
在商场、小区里越来越多地装有各种线下广告大屏,用于轮播展示广告内容,其实现方式为:开发的原生安卓APP,通过webview,打开缓存到本地的HTML5界面。因此需要考虑APP内置的HTML 5界面的版本更新问题,目前是整体版本更新,全量覆盖。
现有的访问在线网页技术,适用于手机端APP开发,便于更新一次在线版HTML 5,所有的用户都会看到最新的。但是,不适用于当前的广告大屏。
广告大屏对流量控制及其严格,每次访问在线版的HTML 5时,虽然会有http的缓存,但或多或少,均会有流量的损耗。
广告大屏的所处的小区、商场环境不一样,有的大屏网络条件不好,每次访问在线版的HTML 5,可能在加载在线地址的时候,就需要花费2、3秒的时间,造成广告大屏展示的不流畅。
而现有的本地HTML 5网页技术版本更新,通常将所有的HTML 5打包上传,直接全部覆盖掉旧的HTML 5文件包,导致了很多不需要更新的HTML5内容,也通过网络传输,浪费了广告大屏的流量。
针对相关技术中存在的诸多技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种配置文件更新方法及系统。
第一方面,本申请提供了一种配置文件更新方法,包括:
从服务端获取用于进行配置文件更新的修改配置信息;
根据所述修改配置信息确定本地端的待更新配置文件;
根据所述修改配置信息对所述待更新配置文件进行更新。
可选的,如前述的配置文件更新方法,所述根据所述修改配置信息确定本地端的待更新配置文件,包括:
对所述修改配置信息进行遍历,确定所述修改配置信息中的更新文件;
在所述本地端查询与所述更新文件对应的所述待更新配置文件。
可选的,如前述的配置文件更新方法,所述对所述修改配置信息进行遍历,确定所述修改配置信息中的更新文件,包括:
根据所述修改配置信息获取配置文件清单,所述配置文件清单中列有预设更新文件的第一文件标识;
获取所述修改配置信息中的所述更新文件的第二文件标识;
根据所述第二文件标识与所述第一文件标识之间的对应关系,判断所述修改配置信息中是否存在与所述第一文件标识对应的所述更新文件。
可选的,如前述的配置文件更新方法,所述根据所述修改配置信息对所述待更新配置文件进行更新,包括:
按照所述配置文件清单中第一文件标识的排列次序,依次在所述修改配置信息中进行所述更新文件的遍历;
在所述修改配置信息中存在与所述第一文件标识对应的所述更新文件,且本地端存在第三文件标识与所述第一文件标识对应的所述待更新配置文件时,将所述待更新配置文件替换为所述第一文件标识对应的所述更新文件;
在所述修改配置信息中不存在与所述第一文件标识对应的所述更新文件时,在所述修改配置信息中对下一个所述第一文件标识对应的所述更新文件进行遍历。
可选的,如前述的配置文件更新方法,还包括:
在所述配置文件清单为空时,将所述本地端的所有历史配置文件清空并替换为所述更新文件。
可选的,如前述的配置文件更新方法,还包括:
在所述本地端未查询得到与所述更新文件对应所述待更新配置文件时,将所述更新文件添加至所述本地端。
可选的,如前述的配置文件更新方法,在根据所述修改配置信息对本地端的待更新配置文件进行更新之前,还包括:
对所述本地端的所述待更新配置文件进行压缩,得到压缩文件;
将所述压缩文件存储至备份文件夹中。
第二方面,本申请提供了一种广告增量版本更新的配置文件更新方法,包括:
确定用于对广告终端的待更新配置文件进行更新的修改配置信息;
生成与所述修改配置信息对应的版本更新指令;
将所述版本更新指令发送至所述广告终端;
接收所述广告终端根据所述版本更新指令发起的更新请求;
根据所述更新请求将所述修改配置信息发送至所述广告终端。
第三方面,本申请提供了一种终端,包括:
获取模块,用于从服务端获取用于进行配置文件更新的修改配置信息;
确定模块,用于根据所述修改配置信息确定本地端的待更新配置文件;
更新模块,用于根据所述修改配置信息对所述待更新配置文件进行更新。
第四方面,本申请提供了一种服务端,包括:
确定模块,用于确定用于对广告终端的待更新配置文件进行更新的修改配置信息;
生成模块,用于生成与所述修改配置信息对应的版本更新指令;
第一发送模块,用于将所述版本更新指令发送至所述广告终端;
接收模块,用于接收所述广告终端根据所述版本更新指令发起的更新请求;
第二发送模块,用于根据所述更新请求将所述修改配置信息发送至所述广告终端。
第五方面,本申请提供了一种系统,包括:如前所述的终端以及如前所述的服务端。
第六方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的处理方法。
第七方面,本申请提供了一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如前述任一项所述的处理方法。
本申请实施例提供一种配置文件更新方法及系统,其中方法包括:从服务端获取用于进行配置文件更新的修改配置信息;根据所述修改配置信息确定本地端的待更新配置文件;根据所述修改配置信息对所述待更新配置文件进行更新。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:在新上线某一版本的配置文件时,仅上传有必要上传的更新文件,可以有效减少了发版时的流量消耗,加快终端的更新配置效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种配置文件更新方法的流程示意图;
图2为本申请另一种实施例提供的一种配置文件更新方法的流程示意图;
图3为本申请另一种实施例提供的一种配置文件更新方法的流程示意图;
图4为本申请另一种实施例提供的一种配置文件更新方法的流程示意图;
图5为本申请另一种实施例提供的一种配置文件更新方法的流程示意图;
图6为本申请实施例提供的一种终端的框图;
图7为本申请实施例提供的一种服务端的框图;
图8为本申请实施例提供的一种系统的框图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种配置文件更新方法,包括如下所述步骤S1至S3:
步骤S1.从服务端获取用于进行配置文件更新的修改配置信息;
具体的,该修改配置信息可以是执行本实施例中方法的装置(例如播放广告的智能显示终端),主动在网络上向网络服务器进行拉取得到;举例来说,修改配置信息可以包括:用于对终端APP内的HTML5(前端网页)文件夹中的配置文件进行更新的文件;可选的,可以将修改配置文件压缩为zip包,进而可以减小修改配置文件下载时的数据量,提高下载速度,以及预防当修改配置信息中包括多个子文件时,在传输过程中出现遗漏丢失的情况,同时,只需在本地端的APP中设置对应的解压程序,即可实现对zip包的解压,将文件的还原为未解压状态。
步骤S2.根据修改配置信息确定本地端的待更新配置文件;
具体的,在修改配置信息中的可以存在用于对本地端进行更新的一个或多个配置文件;
此外,配置文件的种类可以是文件夹或文件;一般的,文件夹与文件的配置方式相似,文件夹与文件类型的不同处在于使用的范围不同,文件夹的配置更新,通常用于某个功能模块整体上线或大范围改动,文件的配置更新,则适用于小幅度范围的代码修改、或者图片替换。
待更新配置文件为:本地端根据修改配置信息得到的需要进行更新的配置文件;一般的,确定待更新配置文件的方式可以采用文件名匹配的方式进行。
步骤S3.根据修改配置信息对待更新配置文件进行更新。
具体的,根据修改配置信息对待更新配置文件进行更新,可以通过内容改写或者文件直接替换的方式进行。
可选的,在步骤S1之前,还可以包括如下所述步骤A1和A2;
步骤A1.接收服务端发送的版本更新指令;
步骤A2.根据版本更新指令从服务端获取对应的修改配置信息。
也就是说,可以预先通知终端有新版的配置文件可以进行更新,在终端需要进行更新的时候再主动进行请求;举例来说,可以通过广告大屏后台管理系统,选中远程的某台大屏,执行HTML5发版命令,并告知要发的版本。
申请实施例提供的上述技术方案与现有技术相比具有如下优点:在新上线某一版本的配置文件时,仅上传有必要上传的更新文件,可以有效减少了发版时的流量消耗,加快终端的更新配置效率。
本实施例中的方法可以适用于进行广告播放的终端中安装的APP,APP发版时内置有一套完整的HTML5文件包,用于日常广告播放,而本实施例中的方法可以对上述的HTML5文件进行更新,以实现新的功能或者显示效果。
如图2所示,在一些实施例中,如前述的配置文件更新方法,步骤S2根据修改配置信息确定本地端的待更新配置文件,包括如下所述步骤S21和S22:
步骤S21.对修改配置信息进行遍历,确定修改配置信息中的更新文件。
具体的,由于修改配置信息中可能存在多个更新文件,因此,需要对其进行遍历,以确定所有的配置文件,以达到对本地端进行完整更新的目的。
步骤S22.在本地端查询与更新文件对应的待更新配置文件。
具体的,在查询时,待更新配置文件与更新文件的文件类型是一致的;举例来说:当更新文件为文件夹时,则待更新配置文件也为文件夹;当更新文件为JPG的图像文件时,则待更新配置文件同样为JPG的图像文件。
如图3所示,在一些实施例中,如前述的配置文件更新方法,步骤S21对修改配置信息进行遍历,确定修改配置信息中的更新文件,包括如下所述步骤S211至S213:
步骤S211.根据修改配置信息获取配置文件清单,配置文件清单中列有预设更新文件的第一文件标识。
具体的,修改配置信息可以是一个文件包,其中包括更新文件和配置文件清单,一般的,配置文件清单用于记录本次更新的文件的目录,可选的,目录中记录的第一文件标识是预设更新文件的文件名,为了防止出现文件名一致文件类型不一致的情况,还可以包括文件类型;进一步的,为了便于进行待更新文件的遍历匹配,还可以设有待更新文件在APP中的存放地址,以加快遍历速度。
步骤S212.获取修改配置信息中的更新文件的第二文件标识。
具体的,可以通过获取修改配置信息中的更新文件的文件名获取第二文件标识。
步骤S213.根据第二文件标识与第一文件标识之间的对应关系,判断修改配置信息中是否存在与第一文件标识对应的更新文件。
具体的,本实施例中所述的对应关系可以是一致性关系,也就是说,判断是否存在与第一文件标识一致的第二文件标识;在得到该对应关系之后,以便于对修改配置信息进行纠错,以及更新文件的逐个替换,保证有序可靠地进行更新。
如图4所示,在一些实施例中,如前述的配置文件更新方法,步骤S3根据修改配置信息对本地端的待更新配置文件进行更新,包括如下所述步骤S31至S33:
步骤S31.按照配置文件清单中第一文件标识的排列次序,依次在修改配置信息中进行更新文件的遍历。
具体的,排列次序可以是根据各个第一文件标识的序号,由小至大进行排序,也可以是由大至小进行排序;在未给各个第一文件标识设定对应序号时,可以是在表中的由前向后的位置次序。
在修改配置信息中进行更新文件的遍历,可以为,将第一文件标识与修改配置信息中的各个更新文件进行匹配,一般的,为对各个更新文件的文件名进行匹配。
步骤S32.在修改配置信息中存在与第一文件标识对应的更新文件,且本地端存在第三文件标识与第一文件标识对应的待更新配置文件时,将待更新配置文件替换为第一文件标识对应的更新文件;
具体的,第一文件标识对应的更新文件,即,具有与第一文件标识一致的第二文件标识的更新文件。其中一种实现方法可以是,先在配置文件清单中找对应的更新文件,在找到后,将该更新文件与本地端的待更新配置文件进行匹配,如果匹配得到;则将该更新文件与待更新配置文件进行替换。
步骤S33.在修改配置信息中不存在与第一文件标识对应的更新文件时,在修改配置信息中对下一个第一文件标识对应的更新文件进行遍历。
具体的,如果遍历修改配置信息时找不到与配置文件清单中的某一第一文件标识对应的更新文件,说明该修改配置信息在生成时配置有误,直接忽略该第一文件标识,进行下一项文件标识对应的更新文件的配置。
进而,通过本实施例中的方法,可以按序、准确的对修改配置信息中的各个更新文件进行配置更新,防止出现遗漏更新的情况;同时能够对修改配置信息进行纠错。
在一些实施例中,如前述的配置文件更新方法,还包括如下所述步骤S4:
步骤S4.在配置文件清单为空时,将本地端的所有历史配置文件清空并替换为更新文件。
其中一种可选的实现方式为,在配置文件清单为空时,触发本地端的APP进行HTML5文件夹的清空动作,且该逻辑可以事先按照该要求进行设定;进而,通过本实施例中的方法,在能够实现前述实施例中目的的基础上,通过该设定,即可实现全部文件的替换,实现逻辑简单,易于编码实现。
在一些实施例中,如前述的配置文件更新方法,还包括如下所述步骤S5:
步骤S5.在本地端未查询得到与更新文件对应待更新配置文件时,将更新文件添加至本地端。
具体的,当修改配置信息中存在一个更新文件,无法在本地端匹配到对应的待更新配置文件时,判定该更新文件为新增加的文件,即,该更新文件是要新上线的,因此,在本地端直接添加该更新文件即可。
在一些实施例中,如前述的配置文件更新方法,在步骤S3根据修改配置信息对本地端的待更新配置文件进行更新之前,还包括如下所述步骤B1和B2:
步骤B1.对本地端的待更新配置文件进行压缩,得到压缩文件。
步骤B2.将压缩文件存储至备份文件夹中。
具体的,本实施例中的方法即对本地端的上一版本的配置文件(包括上述待更新配置文件)进行备份,且保存压缩文件的备份文件夹一般设于同一APP中,进而当新更新的版本的配置文件出现错误的时候,可以对压缩文件进行解压,得到上一版本的配置文件,以获得用于进行版本回滚所需的文件;通过该实施例中所述的方法,可以在修改配置信息有误的时候,进行补救,以保障本地端的APP的正常运行。
如图5所示,根据本申请另一方面的一个实施例,本申请还提供了一种广告增量版本更新的配置文件更新方法,包括如下所述步骤P1至P5:
步骤P1.确定用于对广告终端的待更新配置文件进行更新的修改配置信息;
步骤P2.生成与修改配置信息对应的版本更新指令;
步骤P3.将版本更新指令发送至广告终端;
步骤P4.接收广告终端根据版本更新指令发起的更新请求;
步骤P5.根据更新请求将修改配置信息发送至广告终端。
具体的,有新需求时,修改配置信息可以是前端开发工程师在本地将HTML5代码开发、调试完成之后,将其打包生成、按照约定修改好配置文件并进行打包,然后上传至网络服务器上的文件包。在上传之后,可以通过诸如广告大屏后台管理系统,选中特定的某一远程广告显示终端,向其发送版本更新指令(例如HTML5发版命令),并告知要发的版本(如前述实施例中zip包的版本或名称);在接收到终端需要进行更新的时候主动发送的更新请求之后,再将具体的修改配置信息发送至广告终端。
如图6所示,根据本申请另一方面的一个实施例,本申请还提供了一种终端,包括:
获取模块11,用于从服务端获取用于进行配置文件更新的修改配置信息;
确定模块12,用于根据修改配置信息确定本地端的待更新配置文件;
更新模块13,用于根据修改配置信息对待更新配置文件进行更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图7所示,根据本申请另一方面的一个实施例,本申请还提供了一种服务端,包括:
确定模块21,用于确定用于对广告终端的待更新配置文件进行更新的修改配置信息;
生成模块22,用于生成与修改配置信息对应的版本更新指令;
第一发送模块23,用于将版本更新指令发送至广告终端;
接收模块24,用于接收广告终端根据版本更新指令发起的更新请求;
第二发送模块25,用于根据更新请求将修改配置信息发送至广告终端。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图8所示,根据本申请另一方面的一个实施例,本申请还提供了一种系统,包括:如前的终端以及如前的服务端。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。