CN109491687A - 一种应用软件的热更新方法、装置、终端及可读介质 - Google Patents
一种应用软件的热更新方法、装置、终端及可读介质 Download PDFInfo
- Publication number
- CN109491687A CN109491687A CN201811365677.XA CN201811365677A CN109491687A CN 109491687 A CN109491687 A CN 109491687A CN 201811365677 A CN201811365677 A CN 201811365677A CN 109491687 A CN109491687 A CN 109491687A
- Authority
- CN
- China
- Prior art keywords
- command
- order
- modification
- keyword
- client
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开实施例公开了一种应用软件的热更新方法、装置、终端及可读介质,其中应用软件的热更新方法包括:接收服务器下发的修改命令,其中,修改命令包括命令关键字和命令参数;采用客户端本地的命令解读程序,对修改命令进行解读,以获取命令关键字和命令参数;根据命令关键字调用客户端本地对应的命令执行程序,结合命令参数对客户端软件进行更改。本公开实施例提供的一种应用软件的热更新方法、装置、终端及可读介质,以优化应用软件的热更新过程,减少数据传输量,提高更新的便捷性。
Description
技术领域
本公开实施例涉及计算机软件技术,尤其涉及一种应用软件的热更新方法、装置、终端及可读介质。
背景技术
随着智能终端的普及,各种功能的应用软件逐渐增多,并且应用软件的功能也在持续升级更新中。
为了不影响业务运行,现有技术需要对应用软件客户端进行热更新。所谓热更新,就是在不发布应用软件新版本的情况下,动态去更改应用软件的代码或数据,来实现功能更新。
现有技术实现热更新的方式,一种是终端设备从服务器下载dex文件,即Android平台上一种将代码打包后的压缩文件,用dex文件替换本地应用软件中的相应文件,来实现修改。但是该方案存在的不兼容问题较多。另一种是终端设备从服务器下载脚本文件,如JavaScript的脚本,脚本文件是能够修改客户端软件代码的执行程序,通过运行脚本文件可更改客户端软件的功能。但是,脚本文件一般内容庞大,而有时候的功能修改只需要简单修改即可实现。
发明内容
有鉴于此,本公开实施例提供了一种应用软件的热更新方法、装置、终端及可读介质,以优化应用软件的热更新过程,减少数据传输量,提高更新的便捷性。
第一方面,本公开实施例提供了一种应用软件的热更新方法,包括:
接收服务器下发的修改命令,其中,所述修改命令包括命令关键字和命令参数;
采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;
根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
可选的,所述修改命令的描述规则、所述命令解读程序和至少一个命令执行程序,采用领域特定语言实现。
可选的,所述命令关键字包括下述至少一个:增加、删除、更改、下载、替换、开启和关闭。
可选的,所述命令参数包括下述至少一个:路径地址、操作对象和执行时机条件。
可选的,所述修改命令中的命令关键字和命令参数,基于所述客户端软件所包括功能函数的可更改项进行设置。
可选的,在根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改之前,还包括:
对所述修改命令的可执行性进行检测,其中,所述可执行性包括更改对象类型检测和服务器修改权限检测。
可选的,所述修改命令包括:
界面显示元素下载命令,其中,命令关键字为下载,命令参数包括:待下载元素名称、下载源位置、下载目的位置和下载时机;
主题包替换命令,其中,命令关键字为加载,命令参数包括替换源数据标识和替换目的数据标识;
功能开启命令,其中,命令关键字为开启,命令参数包括功能对象标识;
功能关闭命令,其中,命令关键字为关闭,命令参数包括功能对象标识。
第二方面,本公开实施例提供了一种应用软件的热更新装置,包括:
修改命令接收模块,用于接收服务器下发的修改命令,其中,所述修改命令包括命令关键字和命令参数;
修改命令解读模块,用于采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;
软件更改模块,用于根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
第三方面,本公开实施例提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的应用软件的热更新方法。
第四方面,本公开实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的应用软件的热更新方法。
本公开实施例提供的一种应用软件的热更新方法、装置、终端及可读介质,其中应用软件的热更新方法包括,接收服务器下发的修改命令,其中,修改命令包括命令关键字和命令参数;采用客户端本地的命令解读程序,对修改命令进行解读,以获取命令关键字和命令参数;根据命令关键字调用客户端本地对应的命令执行程序,结合命令参数对客户端软件进行更改。通过客户端本地的解读程序对接收的修改命令进行解读,并根据解读出的命令关键字调用命令执行程序,根据命令参数对命令程序进行配置,从而优化了应用软件的热更新过程,减少了数据传输量,提高了更新的便捷性。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开实施例一提供的一种应用软件的热更新方法流程图;
图2示出了本公开实施例二提供的一种应用软件的热更新装置结构示意图;
图3示出了本公开实施例三提供的一种终端的硬件结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,以下将参照本公开实施例中的附图,通过实施方式清楚、完整地描述本公开的技术方案,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
实施例一
图1示出了本公开实施例一提供的一种应用软件的热更新方法流程图,本公开实施例可适用于应用软件的热更新的情况,该方法可以由终端实现,具体可通过终端中的软件和/或硬件来实施。
如图1所示,本公开实施例中提供的应用软件的热更新方法包括如下步骤:
S110、接收服务器下发的修改命令,其中,修改命令包括命令关键字和命令参数。
其中,在不发布客户端软件新版本的情况下,需要对客户端软件动态更改代码或数据时,例如需要对客户端软件更改主题(具体可以是需要在万圣节时将客户端软件主题更改为万圣节主题)时,又如需要对客户端软件某弹窗功能进行开启或关闭时,服务器可将修改命令发送至客户端。客户端根据修改命令中的命令关键字可以确定对应用软件进行更改的操作类型,根据修改命令中的命令参数可以确定进行更改的操作对象,根据操作类型可以对操作对象进行更改,从而实现客户端软件的热更新。
可选的,命令关键字包括下述至少一个:增加、删除、更改、下载、替换、开启和关闭。
其中,命令关键字可以用数字、字母和符号中一种或至少两种的组合来表示,示例性的,命令关键字“下载”可以用001表示,也可以用download表示,还可以用1_download表示,在此不作具体限定。其中,增加可以理解为在软件原有数据基础上增加数据;删除可以理解为将软件原有数据进行删除;更改可以理解为将软件原有数据更改为其他数据;下载可以理解为从数据资源(例如服务器或互联网上的数据资源)处下载数据至客户端;替换可以理解为将客户端本地的某个资源数据(例如下载完成的主题包)替换为另一资源数据,以完成对原资源数据的替换;开启和关闭可以理解为对软件功能(例如提醒框或弹窗等功能)的开启和关闭。
可选的,命令参数包括下述至少一个:路径地址、操作对象和执行时机条件。
其中,路径地址可以包括统一资源定位符(Uniform Resource Locator,URL),即网络地址,也可以包括客户端本地存储地址,例如当命令关键字为下载时,可以将网络地址对应的数据下载至客户端本地存储地址中;此外,路径地址还可以包括操作对象的地址,例如当命令关键字为删除时,可以根据操作对象的地址访问到操作对象并进行删除操作。其中,操作对象可以是软件中的各种控件对象,例如可以是按钮控件或视图控件等;操作对象还可以是控件对象中的某个属性对象,例如可以是按钮控件的颜色属性或尺寸属性等。其中,执行时机条件可以理解为命令关键字中所执行的操作的触发时机,例如当命令关键字为替换,命令参数的操作对象为软件主题时,执行时机条件可以是在软件开启时触发替换操作,也可以是软件后台运行时触发替换操作。
可选的,修改命令中的命令关键字和命令参数,基于客户端软件所包括功能函数的可更改项进行设置。
其中,客户端软件所包括功能函数的可更改项可以理解为客户端软件所包括功能函数的参数项,例如主题包、文本颜色或控件动画的参数选取,又如提醒框或弹窗的开启/关闭属性的属性参数设置等等。应用软件中可进行更改的功能函数的参数项皆可以定义对应的命令关键字和命令参数,例如可以对软件主题进行下载和替换操作,可以对文本进行颜色、格式和尺寸更改等操作。
S120、采用客户端本地的命令解读程序,对修改命令进行解读,以获取命令关键字和命令参数。
其中,通过客户端本地的命令解读程序可以对服务器发送的修改命令进行解读,具体可以是命令解读程序可以将修改命令按分割符进行分割,并识别分割后的修改命令段为命令关键字或命令参数。
其中,识别分割后的修改命令段为命令关键字或命令参数具体可以是,将分割后的修改命令段与预设的命令关键字库中的命令关键字匹配,将匹配成功的修改命令段确定为命令关键字,以及将分割后的修改命令段与预设的命令参数库中的命令参数匹配,将匹配成功的修改命令段确定为命令参数。其中,还可以对命令关键字库以及命令参数库进行动态更新,以满足软件不断变化的热更新需求。具体的分割规则,以及命令关键字和命令参数的格式、排序等,都可以预先规定,只要相应的设置客户端的命令解读程序,就可以对修改命令进行正确解读。
示例性的,当修改命令为open-switcher<params>,客户端本地的解读程序可以将修改命令按预定义的分隔符“-”进行分割获得修改命令段open和switcher<params>;将open与预设的命令关键字库中的命令关键字匹配,确定open为命令关键字“开启”;将switcher<params>与预设的命令参数库中的命令参数匹配,确定switcher<params>为命令参数中参数params对应的功能的开关。
S130、根据命令关键字调用客户端本地对应的命令执行程序,结合命令参数对客户端软件进行更改。
其中,预设的命令关键字库中除了包括命令关键字外,还可以包括命令执行程序的地址以及命令关键字与命令执行程序的地址的对应关系。通过查询命令关键字库,可以获取命令关键字对应的命令执行程序的地址,通过访问命令执行程序的地址可以调用相应的命令执行程序。其中,可以将命令参数作为命令执行程序的入参参数,将入参参数配置到命令执行程序后运行命令执行程序,以完成对客户端软件的更改。
示例性的,当命令关键字为下载时,通过查询命令关键字库,可以获取“下载”对应的下载程序的地址,通过访问下载程序的地址可以调用相应的下载程序,通过将命令参数中的网络地址以及本地存储地址配置到下载程序中,可以将网络地址对应的数据下载至客户端本地存储地址中。
可选的,修改命令的描述规则、命令解读程序和至少一个命令执行程序,采用领域特定语言实现。
其中,领域特定语言(domain-specific language,DSL)指专注于某个应用领域的计算机语言,例如,对于本公开实施例来说,就是专注于修改命令解读和执行的应用领域。常见的DSL语言可以采用如下语言来编写:超级文本标记语言(HyperText MarkupLanguage,HTML),正则表达式,AWK语言,结构化查询语言(Structured Query Language,SQL)语言等,此外也可以将自定义编写规则的语言作为DSL语言。若修改命令的描述规则、命令解读程序和至少一个命令执行程序采用统一的自定义编写规则,则可以将修改命令的描述规则、命令解读程序和至少一个命令执行程序作为领域特定语言。
示例性的,若自定义的修改命令描述规则为“命令关键字-命令参数1-命令参数2”,则命令解读程序可根据修改命令描述规则进行解读,自动将第一个参数解读为命令关键字,将第二个解读为命令参数1,将第三个参数解读为命令参数2,同样命令执行程序可以根据命令解读程序的解读参数进行配置及执行。
自定义的DSL语言描述的语法可以更加简洁,且可以为单指令的原子操作,从而能够避免复杂的程序逻辑耦合。
可选的,在根据命令关键字调用客户端本地对应的命令执行程序,结合命令参数对客户端软件进行更改之前,还包括:对修改命令的可执行性进行检测,其中,可执行性包括更改对象类型检测和服务器修改权限检测。
其中,更改对象类型检测可以理解为检测更改对象的类型是否为可更改,若可更改则修改命令可执行,若不可更改则修改命令不可执行,更改对象可以泛化理解为操作对象,即修改命令所针对的目标数据;其中,检测更改对象类型具体可以是,通过将更改对象与命令参数库中的操作对象进行匹配,若匹配成功则将更改对象类型确认为可执行。其中,服务器修改权限检测可以理解为检测服务器是否具备软件更改权限,若具备软件更改权限则修改命令可执行,若不具备软件更改权限则修改命令不可执行;其中,检测服务器修改权限具体可以是,通过将修改命令中携带的服务器标识与客户端预设的服务器标识相匹配,若匹配成功则将确认服务器具备修改权限。
其中,可执行性还可以包括修改命令的编写规则检测;修改命令的编写规则检测可以理解为,修改命令的编写规则是否符合自定义的DSL语言,是否存在修改命令中参数不全、参数增多或参数不能被识别等不符合自定义的DSL语言的情况,若修改命令符合自定义的DSL语言则修改命令可以执行,若修改命令不符合自定义的DSL语言则修改命令不可以执行。
通过对修改命令的可执行性进行检测,可以将可执行的修改命令进行筛选,从而减少根据修改命令进行软件热更新过程中出现的更新异常的情况。
可选的,修改命令包括:界面显示元素下载命令,其中,命令关键字为下载,命令参数包括:待下载元素名称、下载源位置、下载目的位置和下载时机;主题包替换命令,其中,命令关键字为加载,命令参数包括替换源数据标识和替换目的数据标识;功能开启命令,其中,命令关键字为开启,命令参数包括功能对象标识;功能关闭命令,其中,命令关键字为关闭,命令参数包括功能对象标识。
其中,当修改命令为界面显示元素下载命令时,修改命令例如可以是downloaddark-theme-icon/storage/0/path,其中download表示命令关键字为下载,dark-theme-icon表示待下载元素名称为黑色主题图标,storage/0/path表示下载目的位置,此外修改命令还可以包括下载源位置(例如可以是URL)和下载时机(例如可以是后台运行时)。通过对界面显示元素下载命令进行解读获得命令关键字以及命令参数,通过命令执行程序可以在下载时机时从下载源位置下载待下载元素,并将待下载元素存储至下载目的位置,以完成界面显示元素下载。
其中,当修改命令为主题包替换命令时,修改命令例如可以是load-theme dark-theme,其中load表示命令关键字为加载,theme dark可以表示替换源数据标识,theme可以表示替换目的数据标识。通过对主题包替换命令进行解读获取命令关键字以及命令参数,通过命令执行程序可以加载替换源数据,以替换替换目的数据。
其中,当修改命令为功能开启命令时,修改命令例如可以是open-switcher<params>,其中open表示命令关键字为开启,switcher<params>表示功能对象标识。通过对功能开启命令的读取获取命令关键字以及命令参数,通过命令执行程序可以开启某个具体的本地功能开关。
其中,当修改命令为功能关闭命令时,修改命令例如可以是close-switcher<params>,其中close表示命令关键字为开启,switcher<params>表示功能对象标识。通过对功能关闭命令的读取获取命令关键字以及命令参数,通过命令执行程序可以关闭某个具体的本地功能开关。
本公开实施例提供的一种应用软件的热更新方法,通过客户端本地的解读程序对接收的修改命令进行解读,并根据解读出的命令关键字调用命令执行程序,根据命令参数对命令程序进行配置,从而实现了应用软件的热更新,优化了应用软件的热更新过程,减少了数据传输量,提高了更新的便捷性。
实施例二
图2示出了本公开实施例二提供的一种应用软件的热更新装置结构示意图,本公开实施例可适用于应用软件的热更新的情况。
如图2所示,本公开实施例中应用软件的热更新装置,包括:
修改命令接收模块210,用于接收服务器下发的修改命令,其中,修改命令包括命令关键字和命令参数;
修改命令解读模块220,用于采用客户端本地的命令解读程序,对修改命令进行解读,以获取命令关键字和命令参数;
软件更改模块230,用于根据命令关键字调用客户端本地对应的命令执行程序,结合命令参数对客户端软件进行更改。
可选的,修改命令的描述规则、命令解读程序和至少一个命令执行程序,采用领域特定语言实现。
可选的,命令关键字包括下述至少一个:增加、删除、更改、下载、替换、开启和关闭。
可选的,命令参数包括下述至少一个:路径地址、操作对象和执行时机条件。
可选的,修改命令中的命令关键字和命令参数,基于客户端软件所包括功能函数的可更改项进行设置。
可选的,应用软件的热更新装置,还包括:
修改命令检测模块,用于对修改命令的可执行性进行检测,其中,可执行性包括更改对象类型检测和服务器修改权限检测。
可选的,修改命令包括:
界面显示元素下载命令,其中,命令关键字为下载,命令参数包括:待下载元素名称、下载源位置、下载目的位置和下载时机;
主题包替换命令,其中,命令关键字为加载,命令参数包括替换源数据标识和替换目的数据标识;
功能开启命令,其中,命令关键字为开启,命令参数包括功能对象标识;
功能关闭命令,其中,命令关键字为关闭,命令参数包括功能对象标识。
本公开实施例提供的应用软件的热更新装置,与实施例一提供的应用软件的热更新方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见实施例一,并且本公开实施例与实施例一具有相同的有益效果。
实施例三
图3示出了本公开实施例三提供的一种终端的硬件结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(Read-Only Memory,ROM)302中的程序或者从存储装置308加载到随机访问存储器(Random Access Memory,RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施例提供的终端与实施例一提供的应用软件的热更新方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见实施例一,并且本公开实施例与实施例一具有相同的有益效果。
实施例四
本公开实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的应用软件的热更新方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)或闪存(FLASH)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收服务器下发的修改命令,其中,所述修改命令包括命令关键字和命令参数;采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种应用软件的热更新方法,其特征在于,应用于客户端,所述方法包括:
接收服务器下发的修改命令,其中,所述修改命令包括命令关键字和命令参数;
采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;
根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
2.根据权利要求1所述的方法,其特征在于,所述修改命令的描述规则、所述命令解读程序和至少一个命令执行程序,采用领域特定语言实现。
3.根据权利要求1或2所述的方法,其特征在于,所述命令关键字包括下述至少一个:增加、删除、更改、下载、替换、开启和关闭。
4.根据权利要求1或2所述的方法,其特征在于,所述命令参数包括下述至少一个:路径地址、操作对象和执行时机条件。
5.根据权利要求1或2所述的方法,其特征在于,所述修改命令中的命令关键字和命令参数,基于所述客户端软件所包括功能函数的可更改项进行设置。
6.根据权利要求1或2所述的方法,其特征在于,在根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改之前,还包括:
对所述修改命令的可执行性进行检测,其中,所述可执行性包括更改对象类型检测和服务器修改权限检测。
7.根据权利要求1或2所述的方法,其特征在于,所述修改命令包括:
界面显示元素下载命令,其中,命令关键字为下载,命令参数包括:待下载元素名称、下载源位置、下载目的位置和下载时机;
主题包替换命令,其中,命令关键字为加载,命令参数包括替换源数据标识和替换目的数据标识;
功能开启命令,其中,命令关键字为开启,命令参数包括功能对象标识;
功能关闭命令,其中,命令关键字为关闭,命令参数包括功能对象标识。
8.一种应用软件的热更新装置,其特征在于,包括:
修改命令接收模块,用于接收服务器下发的修改命令,其中,所述修改命令包括命令关键字和命令参数;
修改命令解读模块,用于采用客户端本地的命令解读程序,对所述修改命令进行解读,以获取所述命令关键字和命令参数;
软件更改模块,用于根据所述命令关键字调用客户端本地对应的命令执行程序,结合所述命令参数对客户端软件进行更改。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的应用软件的热更新方法。
10.一种可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的应用软件的热更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365677.XA CN109491687B (zh) | 2018-11-16 | 2018-11-16 | 一种应用软件的热更新方法、装置、终端及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811365677.XA CN109491687B (zh) | 2018-11-16 | 2018-11-16 | 一种应用软件的热更新方法、装置、终端及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109491687A true CN109491687A (zh) | 2019-03-19 |
CN109491687B CN109491687B (zh) | 2022-02-22 |
Family
ID=65695061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811365677.XA Active CN109491687B (zh) | 2018-11-16 | 2018-11-16 | 一种应用软件的热更新方法、装置、终端及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491687B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110536149A (zh) * | 2019-09-02 | 2019-12-03 | 北京字节跳动网络技术有限公司 | 消息显示方法、装置、可读介质及电子设备 |
CN110557656A (zh) * | 2019-09-06 | 2019-12-10 | 苏州思必驰信息科技有限公司 | 个性化内容分发方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1645326A (zh) * | 2005-02-05 | 2005-07-27 | 西安大唐电信有限公司 | 一种软件功能更新的方法及系统 |
US7886287B1 (en) * | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
US20130125110A1 (en) * | 2011-11-16 | 2013-05-16 | International Business Machines Corporation | Software installation |
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
CN105677415A (zh) * | 2016-01-06 | 2016-06-15 | 网易(杭州)网络有限公司 | 热更新方法及装置 |
US20180074842A1 (en) * | 2015-05-07 | 2018-03-15 | Alibaba Group Holding Limited | Software Hot Upgrading Method and Device |
CN108037946A (zh) * | 2017-11-03 | 2018-05-15 | 金证财富南京科技有限公司 | 一种应用程序热更新的方法、系统及服务器 |
CN108228717A (zh) * | 2017-12-06 | 2018-06-29 | 五八有限公司 | 页面的加载方法及装置 |
-
2018
- 2018-11-16 CN CN201811365677.XA patent/CN109491687B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886287B1 (en) * | 2003-08-27 | 2011-02-08 | Avaya Inc. | Method and apparatus for hot updating of running processes |
CN1645326A (zh) * | 2005-02-05 | 2005-07-27 | 西安大唐电信有限公司 | 一种软件功能更新的方法及系统 |
US20130125110A1 (en) * | 2011-11-16 | 2013-05-16 | International Business Machines Corporation | Software installation |
CN103984582A (zh) * | 2014-06-04 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种热更新方法和装置 |
US20180074842A1 (en) * | 2015-05-07 | 2018-03-15 | Alibaba Group Holding Limited | Software Hot Upgrading Method and Device |
CN105677415A (zh) * | 2016-01-06 | 2016-06-15 | 网易(杭州)网络有限公司 | 热更新方法及装置 |
CN108037946A (zh) * | 2017-11-03 | 2018-05-15 | 金证财富南京科技有限公司 | 一种应用程序热更新的方法、系统及服务器 |
CN108228717A (zh) * | 2017-12-06 | 2018-06-29 | 五八有限公司 | 页面的加载方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110536149A (zh) * | 2019-09-02 | 2019-12-03 | 北京字节跳动网络技术有限公司 | 消息显示方法、装置、可读介质及电子设备 |
CN110557656A (zh) * | 2019-09-06 | 2019-12-10 | 苏州思必驰信息科技有限公司 | 个性化内容分发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109491687B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634598A (zh) | 一种页面显示方法、装置、设备及存储介质 | |
US10496256B2 (en) | Method and electronic device for displaying related information of parsed data | |
US20140282371A1 (en) | Systems and methods for creating or updating an application using a pre-existing application | |
CN109739478A (zh) | 前端项目自动化构建方法、装置、存储介质及电子设备 | |
CN103049271A (zh) | 自动生成api接口的描述文档的方法和装置 | |
CN110489101A (zh) | 接口模拟方法、系统、介质和电子设备 | |
CN110502222A (zh) | 外发依赖内部基础库的aar方法、装置、介质和设备 | |
CN109976793A (zh) | 一种应用程序的运行方法、装置、设备和介质 | |
CN110069269A (zh) | 更新小程序页面的方法、装置、电子设备及存储介质 | |
CN110020358A (zh) | 用于生成动态页面的方法和装置 | |
US20170249170A1 (en) | Home system establishing method | |
CN109446199A (zh) | 单元格数据处理方法和装置 | |
CN110109983A (zh) | 一种操作Redis数据库的方法和装置 | |
CN109491687A (zh) | 一种应用软件的热更新方法、装置、终端及可读介质 | |
US8392298B2 (en) | Invoice adjustment data object for a common data object format | |
US20240069932A1 (en) | Content Display Method and Terminal Device | |
CN110489106A (zh) | 一种项目初始化代码的生成方法、装置、介质和电子设备 | |
CN110119386A (zh) | 数据处理方法、数据处理装置、介质和计算设备 | |
CN109697034A (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN108959294A (zh) | 一种访问搜索引擎的方法和装置 | |
CN108984260B (zh) | 用于处理信息的方法和装置 | |
CN103309677A (zh) | 内置资源管理方法、装置及终端 | |
CN110489180A (zh) | 一种埋点上报方法、装置、介质和电子设备 | |
US11758055B2 (en) | System and method of automated customizable portal creation | |
EP3163475B1 (en) | Electronic device and method of searching data records |
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 |