CN111522615B - 命令行界面的更新方法、装置、设备及存储介质 - Google Patents

命令行界面的更新方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111522615B
CN111522615B CN202010329816.4A CN202010329816A CN111522615B CN 111522615 B CN111522615 B CN 111522615B CN 202010329816 A CN202010329816 A CN 202010329816A CN 111522615 B CN111522615 B CN 111522615B
Authority
CN
China
Prior art keywords
version
line interface
command line
interest
update
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
Application number
CN202010329816.4A
Other languages
English (en)
Other versions
CN111522615A (zh
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.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Shenzhen Saiante Technology Service 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 Shenzhen Saiante Technology Service Co Ltd filed Critical Shenzhen Saiante Technology Service Co Ltd
Priority to CN202010329816.4A priority Critical patent/CN111522615B/zh
Publication of CN111522615A publication Critical patent/CN111522615A/zh
Application granted granted Critical
Publication of CN111522615B publication Critical patent/CN111522615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及人工智能技术领域,公开了一种命令行界面的更新方法、装置、设备及存储介质,该方法包括获取目标命令行界面的更新指令,基于更新指令提取当前版本信息;提取目标命令行界面的兴趣版本库的兴趣版本信息,其中,兴趣版本库通过克隆历史版本库生成;将当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果;根据检测结果输出所述命令行界面版本更新的提示信息,以供根据提示信息对所述目标命令行界面进行更新。获取到兴趣版本库后并将当前版本信息与兴趣版本库中的版本信息进行对比,并获得更新提示信息,由此,在开发运维中实现了命令行界面的自动更新,提升了命令行界面的稳定性。

Description

命令行界面的更新方法、装置、设备及存储介质
技术领域
本发明涉及人工智能中的用户界面版本更新技术领域,尤其涉及一种命 令行界面的更新方法、装置、设备及存储介质。
背景技术
命令行界面(Command-Line Interface,命令行界面)是在图形用户界面 得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘 输入指令,计算机接收到指令后,予以执行。
当前,命令行界面的更新一般是通过用户手动进行。但是手动更新的方 法难以及时获取最新版本的信息,会导致更新不及时。且不适用于未开源的 项目,难以保证命令行界面的稳定性。
发明内容
本发明提供一种命令行界面的更新方法、装置、设备及存储介质,旨在 实现命令行界面更新的自动检测,提升命令行界面的稳定性。
为实现上述目的,本发明提供一种命令行界面的更新方法,包括:
获取目标命令行界面的更新指令,基于所述更新指令提取当前版本信息;
提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所述兴 趣版本库通过克隆历史版本库生成;
将所述当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本 号进行比较,获得针对所述当前版本信息的检测结果;
根据所述检测结果输出所述命令行界面版本更新的提示信息,以供根据 所述提示信息对所述目标命令行界面进行更新。
优选地,所述提取所述目标命令行界面的兴趣版本库的兴趣版本信息的 步骤包括:
对所述兴趣版本库执行版本克隆,设置深度参数;
根据所述深度参数获取相应个数的历史提交作为所述兴趣版本库,并将 所述兴趣版本库保存至机器目录文件;
根据所述机器目录文件提取所述目标命令行界面的兴趣版本信息。
优选地,所述将所述当前版本信息中的当前版本号与所述兴趣版本信息 中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果包括:
从所述当前版本信息中读取当前版本号,从所述兴趣版本信息中读取兴 趣版本号;
将所述当前版本号与所述兴趣版本号进行对比,从所述兴趣版本号中获 取与所述当前版本号一致的目标版本号;
获取所述目标版本号对应的目标版本的版本状态;
若所述版本状态是最新版本,则所述检测结果为最新版本;
若所述版本状态为暂时支持版本,则所述检测结果为可用版本;
若所述版本状态为不支持版本,则所述检测结果为不支持版本。
优选地,将所述根据所述检测结果输出所述命令行界面版本更新的提示 信息的步骤包括:
基于所述命令行界面的版本信息策略获取所述检测结果的参数,所述参 数包括版本退出、版本警告;
若所述参数为版本退出,则强制退出,并输出强制更新的提示信息;
若所述参数为版本警告,则输出提示升级的提示信息。
优选地,所述根据所述比较结果输出对应的更新提示信息的步骤之后还 包括:
获取所述目标命令行界面的更新版本,将所述更新版本安装到本地;
安装完成后,提示本次更新的相关信息。
优选地,所述获取所述命令行界面更新版本,将所述更新版本安装到本 地的步骤包括:
通过版本库命令,添加版本库子模块,所述版本库命令包括所述版本库 子模块的路径以及目录,所述更新版本包括应用程序包或模版类型代码;
若所述更新版本是应用程序包,则将所述应用程序包安装到全局变量, 然后再安装相关依赖包;或者
若所述更新版本是模版类型代码,则直接安装依赖包。
优选地,所述获取目标命令行界面的更新指令,基于所述更新指令提取 当前版本信息的步骤之前还包括:
设置触发更新指令的定时策略,根据所述定时策略自动发送所述更新指 令。
此外,为实现上述目的,本发明还提供一种命令行界面的更新装置,所 述命令行界面的更新装置包括:
获取模块,用于获取目标命令行界面的更新指令,基于所述更新指令提 取当前版本信息;
提取模块,用于提取所述目标命令行界面的兴趣版本库的兴趣版本信息, 其中,所述兴趣版本库通过克隆历史版本库生成;
比较模块,用于将所述当前版本信息中的当前版本号与所述兴趣版本信 息中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果;
输出模块,用于根据所述检测结果输出所述命令行界面版本更新的提示 信息,以供根据所述提示信息对所述目标命令行界面进行更新。
此外,为实现上述目的,本施例还提供一种命令行界面更新检测设备, 所述命令行界面的更新设备包括处理器,存储器以及存储在所述存储器中的 命令行界面的更新程序,所述命令行界面的更新程序被所述处理器运行时, 实现如上所述的命令行界面更新检测方法的步骤。
此外,为实现上述目的,本发明实施例还提供一种计算机存储介质,所 述计算机存储介质上存储有命令行界面更新检测程序,所述命令行界面的更 新程序被处理器运行时实现如上所述命令行界面更新检测方法的步骤。
相比现有技术,本发明提供一种命令行界面的更新方法、装置、设备及 存储介质,获取目标命令行界面的更新指令,基于所述更新指令提取当前版 本信息;提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所 述兴趣版本库通过克隆历史版本库生成;将所述当前版本信息中的当前版本 号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所述当前版本信 息的检测结果;根据所述检测结果输出所述命令行界面版本更新的提示信息, 以供根据所述提示信息对所述目标命令行界面进行更新。获取到兴趣版本库 后并将当前版本信息与兴趣版本库中的版本信息进行对比,并获得更新提示 信息,由此,在开发运维中实现了命令行界面的自动更新,提升了命令行界 面的稳定性。
附图说明
图1是本发明各实施例涉及的命令行界面的更新设备的硬件结构示意图;
图2是本发明命令行界面的更新方法第一实施例的流程示意图;
图3是本发明命令行界面的更新方法第二实施例的流程示意图;
图4是本发明命令行界面的更新装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步 说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限 定本发明。
本发明实施例主要涉及的命令行界面的更新设备是指能够实现网络连接 的网络连接设备,所述命令行界面的更新设备可以是服务器、云平台等。
参照图1,图1是本发明各实施例涉及的命令行界面的更新设备的硬件结 构示意图。本发明实施例中,命令行界面的更新设备可以包括处理器1001(例 如中央处理器Central Processing Unit、CPU),通信总线1002,输入端口1003, 输出端口1004,存储器1005。其中,通信总线1002用于实现这些组件之间 的连接通信;输入端口1003用于数据输入;输出端口1004用于数据输出, 存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器 1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构 成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件, 或者不同的部件布置。
继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操 作***、网络通信模块、应用程序模块以及命令行界面的更新程序。在图1 中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器 1001用于调用存储器1005中存储的命令行界面的更新程序,并执行如下操作:
获取目标命令行界面的更新指令,基于所述更新指令提取当前版本信息;
提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所述兴 趣版本库通过克隆历史版本库生成;
将所述当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本 号进行比较,获得针对所述当前版本信息的检测结果;
根据所述检测结果输出所述命令行界面版本更新的提示信息,以供根据 所述提示信息对所述目标命令行界面进行更新。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
对所述兴趣版本库执行版本克隆,设置深度参数;
根据所述深度参数获取若干个历史提交作为所述兴趣版本库,并将所述 兴趣版本库保存至机器目录文件;
从所述机器目录文件中读取兴趣版本信息。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
从所述当前版本信息中读取当前版本号,从所述兴趣版本信息中读取兴 趣版本号;
将所述当前版本号与所述兴趣版本号进行对比,从所述兴趣版本号中获 取与所述当前版本号一致的目标版本号;
获取所述目标版本号对应的目标版本的版本状态;
若所述版本状态是最新版本,则所述检测结果为最新版本;
若所述版本状态为暂时支持版本,则所述检测结果为可用版本;
若所述版本状态为不支持版本,则所述检测结果为不支持版本。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
基于所述命令行界面的版本信息策略获取所述检测结果的参数,所述参 数包括版本退出、版本警告;
若所述参数为版本退出,则强制退出,并输出强制更新的提示信息;
若所述参数为版本警告,则输出提示升级的提示信息。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
获取所述目标命令行界面的更新版本,将所述更新版本安装到本地;
安装完成后,提示本次更新的相关信息。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
通过版本库命令,添加版本库子模块,所述版本库命令包括所述版本库 子模块的路径以及目录,所述更新版本包括应用程序包或模版类型代码;
若所述更新版本是应用程序包,则将所述应用程序包安装到全局变量, 然后再安装相关依赖包;或者
若所述命令行界面更新版本是模版类型代码,则直接安装依赖包。
进一步,处理器1001用于调用存储器1005中存储的命令行界面的更新 程序,并执行如下操作:
设置触发更新指令的定时策略,根据所述定时策略自动发送所述命令行 界面更新指令。
基于上述命令行界面的更新设备的硬件结构,提出本发明命令行界面的 更新方法的各个实施例。
命令行界面(Command-Line Interface,CLI),又被称为CUI(character userinterface,字符用户界面)。命令行界面是在图形用户界面广泛使用之前应用 最为广泛的用户界面,通常不支持鼠标操作,计算机接收并执行用户通过键 盘键入的指令。命令行界面的软件通常需要用户记忆操作的命令,但是,由 于其本身的特点,命令行界面要较图形用户界面节约计算机***的资源。在 熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度 要快。所以,图形用户界面的操作***中,都保留着可选的命令行界面。
本发明实施例提供了一种命令行界面的更新方法。
参照图2,图2是本发明命令行界面的更新方法第一实施例的流程示意图。
本实施例中,所述命令行界面的更新方法应用于命令行界面的更新设备, 所述方法包括:
步骤S101,获取目标命令行界面的更新指令,基于所述更新指令提取当 前版本信息;
本实施例中,所述更新指令可以是用户临时触发的,也可以是由定时策 略触发的。所述目标命令行界面可以是当前命令行界面。
当获取到所述更新指令后,基于所述更新指令读取本地缓存,从所述本 地缓存提取当前版本信息。一般地,所述版本信息包括版本号、历史提交时 间、更新内容等信息。
进一步地,所述获取目标命令行界面的更新指令,基于所述更新指令提 取当前版本信息的步骤之前还包括:
设置触发更新指令的定时策略,根据所述定时策略自动发送所述命令行 界面更新指令。
具体地,在Node中起一个独立的后台进程,通过所述后台进程发送所述 更新指令获取版本信息,所述后台进程不阻塞主命令执行,请求成功后,通 过所述后台进程将版本信息、检查时间缓存到机器目录文 件.smt-pkg-updater.json中。所述更新指令由预先设置的定时策略触发,所述 定时策略包括定时周期,时间点,停止条件。例如,将所述定时策略设置为 每周一早上9点。
步骤S102,提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其 中,所述兴趣版本库通过克隆历史版本库生成;
一般地,当开发人员更新命令行界面后,会将更新后命令行界面版本提 交至服务器,以供用户下载安装并使用。本实施例中,将若干个历史提交的 命令行界面的版本标记为兴趣版本库。
所述提取所述目标命令行界面的兴趣版本库的兴趣版本信息的步骤包 括:
对所述兴趣版本库对所述兴趣版本库执行版本克隆,设置深度参数;
在执行版本克隆(Git clone)的过程中,设置深度参数。一般地,Git clone 用于克隆一个仓库到本地,本实施例通过所述Git clone克隆版本库到本地。 本实施例中将深度参数设置为<depth>+1,其中,depth为大于或等于1的整数, 根据所述深度参数获取与所述深度参数对应数量的历史提交作为所述兴趣版 本库,由此可以减小检出代码的体积,提升检出效率。
浅克隆是指创建一个新对象,新对象的属性和原来对象完全相同,对于 非基本类型属性,仍指向原有属性所指向的对象的内存地址。也就是说,浅 克隆就是将栈内存中的引用复制一份,赋给一个新的变量,本质上两个指向 堆内存中的同一地址,内容也相同,其中一个变化另一个内容也会变化(根 本上改变的是同一个对象)。
本实施例提供浅克隆方式克隆版本库。一般地,通过浅克隆方式克隆出 来的版本库,每一个提交的SHA1哈希值和源版本库的相同,包括提交的根 节点也是如次,但是Git通过特殊的实现,使得浅克隆的根节点提交看起来没 有父提交。正因为浅克隆的提交对象的SHA1哈希值和源版本库一致,所以 浅克隆版本库可以执行Git fetch或者Git pull从源版本库获取新的提交。本实 施例通过Git clone命令创建浅克隆:例如:get clone—depth 2file//path/to/reops/hello world.Git shallow1。
一般地,Git fetch用于将远程主机的最新内容拉到本地,因此,也可以通 过版本库提交(Git fetch)来获得所述兴趣版本库。
进一步地,对所述兴趣版本库执行版本克隆,设置深度参数的步骤之后 还包括:
根据所述深度参数获取相应个数的历史提交作为所述兴趣版本库,并将 所述兴趣版本库保存至机器目录文件;
根据所述深度参数获取若干个历史提交作为所述兴趣版本库,所述兴趣 版本库的数量与所述深度参数对应。获取到所述兴趣版本库后,将所述兴趣 版本库的版本信息的相关参数写入机器目录文件。本实施例中,所述机器目 录文件可以是smt-pkg-updater.Json,所述机器目录文件包括package.json版 本信息。
进一步地,将所述兴趣版本库保存至机器目录文件的步骤之后还包括:
根据所述机器目录文件中提取所述目标命令行界面的兴趣版本信息。
当需要获取兴趣版本信息时,则直接提取所述机器目录文件,就可以获 得兴趣版本信息。
步骤S103,将所述当前版本信息中的当前版本号与所述兴趣版本信息中 的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果;
具体地,所述当前版本信息中读取当前版本号,从所述兴趣版本信息中 读取兴趣版本号;将所述当前版本号与所述兴趣版本号进行对比,从所述兴 趣版本号中获取与所述当前版本号一致的目标版本号;获取所述目标版本号 对应的目标版本的版本状态;若所述版本状态是最新版本,则所述检测结果 为最新版本;若所述版本状态为暂时支持版本,则所述检测结果为可用版本; 若所述版本状态为不支持版本,则所述检测结果为不支持版本。从所述机器 目录文件smt-pkg-updater.Json中读取所述兴趣版本库的兴趣版本信息。然后 将所述兴趣版本信息中的兴趣版本号与所述当前版本信息中的当前版本号进 行比较。具体地,扫描所述当前版本信息的当前版本号,将所述当前版本号 与若干个兴趣版本号进行对比;若所述当前版本号与若干个兴趣版本号中的 一个一致,则进一步判断目标兴趣版本号对应的命令行界面版本的版本状态, 其中所述目标兴趣版本号是指与所述当前版本号一致的所述若干个兴趣版本 号中的那个兴趣版本号。具体地,获取所述目标兴趣版本的版本状态,所述 版本状态包括最新版本,暂时支持版本、不支持版本等。根据所述版本状态 确定对应的检测结果:若为最新版本,则检测结果当前命令行界面版本为最 新版本;若为暂时支持版本,则检测结果当前命令行界面版本为可用版本; 若为不支持版本,则检测结果为当前命令行界面版本为不支持版本。
步骤S104,根据所述检测结果输出所述命令行界面版本更新的提示信息, 以供根据所述提示信息对所述目标命令行界面进行更新。
根据命令行界面下的版本信息策略,exitVersion(版本退出)表示满足该 条件则强制退出无法使用,warnVersion(版本警告)表示满足该参数需主动 提示用户更新仍可正常使用,均不满足则表示在正常的范围内,可以继续使 用不提示任何信息。
具体地,所述根据所述比较结果输出对应的更新提示信息的步骤包括:
基于命令行界面版本信息策略获取所述比较结果的参数,所述参数包括 版本退出exitVersion、版本警告warnVersion;
其中,所述参数与所述检测结果对应,若所述检测结果为最新版本,则 所述参数可以为空;若所述检测结果为暂时支持版本,则对应的参数可以是 版本警告warnVersion;若所述检测结果为不支持版本等,则对应的参数可以 是版本退出exitVersion。
若所述参数为exitVersion则强制退出,并输出强制更新的提示信息;
若所述参数为warnVersion,则输出提示升级的提示信息。
一般地,对于npm模块来说,版本a.b.c的更新一般有三种情况:
Patch(修补程序):c位,小版本更新,一般是bug修复;
Minor(小修):b位,中版本更新,一般增加新功能、bug修复;
Major(大修):a位,大版本更新,一般是不兼容的升级。
对于major形式,命令行工具将直接退出,强制用户进行升级后才能使用, 这可以保证在推送一个大版本后,所有的用户都能够及时更新,而不是继续 使用旧版本,使用就版本会造成版本碎片的问题。对于patch或minor形式, 则可以建议更新,由用户选择是否更新。
本实施例通过上述方案,获取目标命令行界面的更新指令,基于所述更 新指令提取当前版本信息;提取所述目标命令行界面的兴趣版本库的兴趣版 本信息,其中,所述兴趣版本库通过克隆历史版本库生成;将所述当前版本 信息中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针 对所述当前版本信息的检测结果;根据所述检测结果输出所述命令行界面版 本更新的提示信息,以供根据所述提示信息对所述目标命令行界面进行更新。 获取到兴趣版本库后并将当前版本信息与兴趣版本库中的版本信息进行对 比,并获得更新提示信息,由此,在开发运维中实现了命令行界面的自动更 新,提升了命令行界面的稳定性。
如图3所示,本发明第二实施例提出一种命令行界面的更新方法,基于 上述图2所示的第一实施例,所述根据所述比较结果输出对应的更新提示信 息的步骤之后还包括:
步骤S105:获取所述目标命令行界面的更新版本,将所述更新版本安装 到本地;
具体地,所述步骤S105包括:
通过版本库命令,添加版本库子模块,所述版本库命令包括所述版本库 子模块的路径以及目录,所述命令行界面更新版本包括应用程序包或模版类 型代码;
进一步地,通过版本库命令,添加版本库子模块的步骤之后还包括:若 所述更新版本是应用程序包,则将所述应用程序包安装到全局变量,然后再 安装相关依赖包;或者
若所述命令行界面更新版本是模版类型代码,则直接安装依赖包。
进一步地,通过版本控制命令,添加版本库子模板,所述版本库命令包 括所述版本库子模板的路径以及目录。
版本控制Git是一个开源的分布式版本控制***,用于敏捷高效地处理 任何或小或大的项目。Git Submodule是一个多模块使用共同类库的工具,将 类库模块作为repository(存储库),将子模块作为一个单独的Git模块存在 父模块中。所述子模块包括的独立的commit(提交),push(推送),pull (撤销)命令;所述父模块包括一个或多个子模块,所述父模块可以指定所 述子模块header(头部),所述父模块的提交信息包括所述子模块的信息, 再克隆父模块的时候可以把子模块初始化。
具体地,使用Git命令,添加Submodule,所述Git命令需要制定所述 Submodule的路径,以及所述Submodule存储的目录路径;克隆模块后,默认 Submodule目录下无任何内容,需要对所述模块根目录执行初始化操作,即可 调用所述Submodule目录;当需要更新子模块时,则进入子模块,然后切换 到需要更新的分支,再对所述子模块进行更新;此外,还可以对所述子模块 执行删除操作。
步骤S106:安装完成后,提示本次更新的相关信息。
安装完成后,提示本次更新的相关信息,并继续执行其他操作。所述相 关信息可以包括版本信息,新增功能,权限设置等。
本实施例通过上述方案,获取所述目标命令行界面的更新版本,将所述 更新版本安装到本地;安装完成后,提示本次更新的相关信息。由此,在开 发运维中实现了命令行界面更新的自动检测,提升了命令行界面的稳定性。
此外,本实施例还提供一种命令行界面的更新装置。参照图4, 图4为本发明命令行界面的更新装置第一实施例的功能模块示意图。
本实施例中,所述命令行界面的更新装置为虚拟装置,存储于图1所示 的命令行界面的更新设备的存储器1005中,以实现命令行界面的更新程序的 所有功能:获取目标命令行界面的更新指令,基于所述更新指令提取当前版 本信息;提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所 述兴趣版本库是克隆历史版本库生成的;将所述当前版本信息与所述兴趣版 本信息进行比较,获得针对版本信息的检测结果;根据所述检测结果输出所 述命令行界面版本更新的提示信息,以供根据所述提示信息对所述目标命令行界面进行更新。
具体地,所述命令行界面的更新装置包括:
获取模块,用于获取目标命令行界面的更新指令,基于所述更新指令提 取当前版本信息;
提取模块,用于提取所述目标命令行界面的兴趣版本库的兴趣版本信息, 其中,所述兴趣版本库是克隆历史版本库生成的;
比较模块,用于将所述当前版本信息与所述兴趣版本信息进行比较,获 得针对版本信息的检测结果;
输出模块,用于根据所述检测结果输出所述命令行界面版本更新的提示 信息,以供根据所述提示信息对所述目标命令行界面进行更新。
进一步地,所述提取模块还包括:
第一设置单元,用于对所述兴趣版本库执行版本克隆,设置深度参数;
保存单元,用于根据所述深度参数获取若干个历史提交作为所述兴趣版 本库,并将所述兴趣版本库保存至机器目录文件;
读取单元,用于从所述机器目录文件中读取兴趣版本信息。
进一步地,所述设置单元还包括:
获取单元,用于基于所述命令行界面的版本信息策略获取所述检测结果 的参数,所述参数包括版本退出、版本警告;
第一输出单元,用于若所述参数为版本退出,则强制退出,并输出强制 更新的提示信息;
第二输出单元,用于若所述参数为版本警告,则输出提示升级的提示信息。
进一步地,所述输出模块还包括:
获取单元,用于获取所述目标命令行界面的更新版本,将所述更新版本 安装到本地;
提示单元,用于安装完成后,提示本次更新的相关信息。
进一步地,所述获取单元包括:
拉取子单元,用于通过版本库命令,添加版本库子模块,所述版本库命 令包括所述版本库子模块的路径以及目录,所述更新版本包括应用程序包或 模版类型代码;
第一安装子单元,用于若所述更新版本是应用程序包,则将所述应用程 序包安装到全局变量,然后再安装相关依赖包;或者
第二安装子单元,用于若所述更新版本是模版类型代码,则直接安装依 赖包。
进一步地,所述获取模块还包括:
第二设置单元,用于设置触发更新指令的定时策略,根据所述定时策略 自动发送所述更新指令。
此外,本发明实施例还提供一种计算机存储介质,所述计算机存储介质 上存储有命令行界面更新检测程序,所述命令行界面的更新程序被处理器运 行时实现如上所述命令行界面更新检测方法的步骤,此处不再赘述。
相比现有技术,本发明提出的一种命令行界面的更新方法、装置、设备 及存储介质,该方法包括获取目标命令行界面的更新指令,基于所述更新指 令提取当前版本信息;提取所述目标命令行界面的兴趣版本库的兴趣版本信 息,其中,所述兴趣版本库通过克隆历史版本库生成;将所述当前版本信息 中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所 述当前版本信息的检测结果;根据所述检测结果输出所述命令行界面版本更 新的提示信息,以供根据所述提示信息对所述目标命令行界面进行更新。获取到兴趣版本库后并将当前版本信息与兴趣版本库中的版本信息进行对比, 并获得更新提示信息,由此,在开发运维中实现了命令行界面的自动更新, 提升了命令行界面的稳定性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变 体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品 或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是 还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的 情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过 程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、 磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例 所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间 接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种命令行界面的更新方法,其特征在于,应用于命令行界面,包括:
获取目标命令行界面的更新指令,基于所述更新指令提取当前版本信息;
提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所述兴趣版本库通过克隆历史版本库生成;
将所述当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果;
根据所述检测结果输出所述命令行界面版本更新的提示信息,以供根据所述提示信息对所述目标命令行界面进行更新;
所述提取所述目标命令行界面的兴趣版本库的兴趣版本信息包括:
对所述兴趣版本库执行版本克隆,设置深度参数;
根据所述深度参数获取相应个数的历史提交作为所述兴趣版本库,并将所述兴趣版本库保存至机器目录文件;
根据所述机器目录文件提取所述目标命令行界面的兴趣版本信息。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果包括:
从所述当前版本信息中读取当前版本号,从所述兴趣版本信息中读取兴趣版本号;
将所述当前版本号与所述兴趣版本号进行对比,从所述兴趣版本号中获取与所述当前版本号一致的目标版本号;
获取所述目标版本号对应的目标版本的版本状态;
若所述版本状态是最新版本,则所述检测结果为最新版本;
若所述版本状态为暂时支持版本,则所述检测结果为可用版本;
若所述版本状态为不支持版本,则所述检测结果为不支持版本。
3.根据权利要求1所述的方法,其特征在于,所述根据所述检测结果输出所述命令行界面版本更新的提示信息的步骤包括:
基于所述命令行界面的所述命令行界面的版本信息策略获取所述检测结果的参数,所述参数包括版本退出、版本警告;
若所述参数为版本退出,则强制退出,并输出强制更新的提示信息;
若所述参数为版本警告,则输出提示升级的提示信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述检测结果输出对应的更新提示信息的步骤之后还包括:
获取所述目标命令行界面的更新版本,将所述更新版本安装到本地;
安装完成后,提示本次更新的相关信息。
5.根据权利要求4所述的方法,其特征在于,所述获取所述命令行界面更新版本,将所述更新版本安装到本地的步骤包括:
通过版本库命令,添加版本库子模块,所述版本库命令包括所述版本库子模块的路径以及目录,所述更新版本包括应用程序包或模版类型代码;
若所述更新版本是应用程序包,则将所述应用程序包安装到全局变量,然后再安装相关依赖包;或者
若所述更新版本是模版类型代码,则直接安装依赖包。
6.根据权利要求1所述的方法,其特征在于,所述获取目标命令行界面的更新指令,基于所述更新指令提取当前版本信息的步骤之前还包括:
设置触发更新指令的定时策略,根据所述定时策略自动发送所述更新指令。
7.一种命令行界面的更新装置,其特征在于,所述命令行界面的更新装置包括:
获取模块,用于获取目标命令行界面的更新指令,基于所述更新指令提取当前版本信息;
提取模块,用于提取所述目标命令行界面的兴趣版本库的兴趣版本信息,其中,所述兴趣版本库通过克隆历史版本库生成;
比较模块,用于将所述当前版本信息中的当前版本号与所述兴趣版本信息中的兴趣版本号进行比较,获得针对所述当前版本信息的检测结果;
输出模块,用于根据所述检测结果输出所述命令行界面版本更新的提示信息,以供根据所述提示信息对所述目标命令行界面进行更新;
所述提取模块,还用于对所述兴趣版本库执行版本克隆,设置深度参数;
根据所述深度参数获取相应个数的历史提交作为所述兴趣版本库,并将所述兴趣版本库保存至机器目录文件;
根据所述机器目录文件提取所述目标命令行界面的兴趣版本信息。
8.一种命令行界面更新检测设备,其特征在于,所述命令行界面的更新设备包括处理器,存储器以及存储在所述存储器中的命令行界面的更新程序,所述命令行界面的更新程序被所述处理器运行时,实现如权利要求1-6中任一项所述的命令行界面更新检测方法的步骤。
9.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有命令行界面更新检测程序,所述命令行界面的更新程序被处理器运行时实现如权利要求1-6中任一项所述命令行界面更新检测方法的步骤。
CN202010329816.4A 2020-04-23 2020-04-23 命令行界面的更新方法、装置、设备及存储介质 Active CN111522615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010329816.4A CN111522615B (zh) 2020-04-23 2020-04-23 命令行界面的更新方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010329816.4A CN111522615B (zh) 2020-04-23 2020-04-23 命令行界面的更新方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111522615A CN111522615A (zh) 2020-08-11
CN111522615B true CN111522615B (zh) 2023-08-15

Family

ID=71903165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010329816.4A Active CN111522615B (zh) 2020-04-23 2020-04-23 命令行界面的更新方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111522615B (zh)

Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2654168A1 (en) * 2012-04-19 2013-10-23 austriamicrosystems AG Electrical power transmitting controller device and electrical power receiving controller device for using in a communication system
CN103743406A (zh) * 2007-12-28 2014-04-23 纳夫特克有限公司 管理地理数据库版本之间的差异
CN104850311A (zh) * 2015-05-26 2015-08-19 中山大学 一种移动应用版本更新的图形化说明生成方法及***
CN107168693A (zh) * 2017-04-17 2017-09-15 北京小米移动软件有限公司 锁屏界面的显示方法及装置
CN107256149A (zh) * 2017-05-26 2017-10-17 北京小米移动软件有限公司 用户界面的更新方法和装置
CN107423069A (zh) * 2017-08-02 2017-12-01 深圳市华傲数据技术有限公司 应用程序界面显示的控制方法及装置
CN107608698A (zh) * 2017-10-12 2018-01-19 无线生活(杭州)信息科技有限公司 一种命令行工具更新方法及装置
CN107797862A (zh) * 2017-09-28 2018-03-13 烽火通信科技股份有限公司 一种实现QoS策略模板化的方法
CN107809452A (zh) * 2017-09-05 2018-03-16 杨立军 一种将被监视设备的数据上传到云端进行规整和分析的***
CN107967153A (zh) * 2017-12-13 2018-04-27 维沃移动通信有限公司 一种应用程序的管理方法及移动终端
CN108055189A (zh) * 2017-10-30 2018-05-18 努比亚技术有限公司 一种消息处理方法、终端以及计算机可读存储介质
CN108121803A (zh) * 2017-12-22 2018-06-05 维沃移动通信有限公司 一种确定页面布局的方法和服务器
CN108170476A (zh) * 2018-01-26 2018-06-15 郑州云海信息技术有限公司 一种记录服务器bios版本信息的方法及***
CN108334368A (zh) * 2017-09-04 2018-07-27 祖龙(天津)科技有限公司 一种基于Unity引擎的更新文件打包方法及打包工具
CN108399073A (zh) * 2018-01-26 2018-08-14 广东欧珀移动通信有限公司 信息展示方法、装置、服务器及计算机可读介质
CN108881392A (zh) * 2018-05-22 2018-11-23 中国联合网络通信集团有限公司 业务特征数据库的更新方法及装置
CN109302482A (zh) * 2018-10-15 2019-02-01 四川长虹电器股份有限公司 基于智能电视数据克隆的方法
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN109491698A (zh) * 2018-12-29 2019-03-19 武汉思普崚技术有限公司 基于热补丁的***更新方法及装置
CN109697079A (zh) * 2018-12-13 2019-04-30 杭州迪普科技股份有限公司 引导加载程序的更新方法及装置
CN109815150A (zh) * 2019-01-29 2019-05-28 腾讯科技(深圳)有限公司 应用测试方法、装置、电子设备及存储介质
CN109918113A (zh) * 2019-01-17 2019-06-21 平安城市建设科技(深圳)有限公司 Ios应用热修复/热更新方法、服务器及存储介质
CN110012096A (zh) * 2019-04-03 2019-07-12 中国工商银行股份有限公司 移动客户端服务更新管理方法、装置及***
CN110034969A (zh) * 2019-03-12 2019-07-19 平安城市建设科技(深圳)有限公司 网页测试方法、装置、设备及存储介质
CN110045983A (zh) * 2019-04-19 2019-07-23 腾讯科技(深圳)有限公司 版本库管理方法、装置及服务器
CN110134541A (zh) * 2019-05-23 2019-08-16 苏州浪潮智能科技有限公司 存储集群的配置信息的切换方法、***、设备及存储介质
CN110268379A (zh) * 2017-01-06 2019-09-20 甲骨文国际公司 文件***数据层次结构的云迁移
CN110275872A (zh) * 2019-07-18 2019-09-24 中国银行股份有限公司 版本自动部署方法、装置、计算机设备和存储介质
CN110287958A (zh) * 2019-06-25 2019-09-27 努比亚技术有限公司 智能调整文字识别率的方法、终端及计算机可读存储介质
CN110287111A (zh) * 2019-06-21 2019-09-27 深圳前海微众银行股份有限公司 一种用户界面的测试用例生成方法及装置
CN110321254A (zh) * 2019-07-09 2019-10-11 西安点告网络科技有限公司 软件版本回滚方法、装置、服务器及存储介质
CN110830258A (zh) * 2018-08-13 2020-02-21 台湾积体电路制造股份有限公司 从服务器接收安全的软件更新信息的器件

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080177638A1 (en) * 2007-01-12 2008-07-24 Cyphermint, Inc. Real time re-purposing of a mobile application using xml data
US10891022B2 (en) * 2014-03-31 2021-01-12 Netgear, Inc. System and method for interfacing with a display device
US11222613B2 (en) * 2014-03-31 2022-01-11 Meural, Inc. System and method for output display generation based on ambient conditions
US20150370272A1 (en) * 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
WO2016183542A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Computer data system position-index mapping
US20170295058A1 (en) * 2016-04-12 2017-10-12 Johnson Controls Technology Company Devices and methods for network integration of an hvac device
US10416891B2 (en) * 2016-09-15 2019-09-17 The United States Of America, As Represented By The Secretary Of The Navy Systems and methods for transitioning and updating/tailoring machine instructions from a first system with an older or initial one or set of components to a second system or platform with one or more different components and new or modified operations or functions along with additional potential applications including use in network security and intrusion detection

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103743406A (zh) * 2007-12-28 2014-04-23 纳夫特克有限公司 管理地理数据库版本之间的差异
EP2654168A1 (en) * 2012-04-19 2013-10-23 austriamicrosystems AG Electrical power transmitting controller device and electrical power receiving controller device for using in a communication system
CN104850311A (zh) * 2015-05-26 2015-08-19 中山大学 一种移动应用版本更新的图形化说明生成方法及***
CN110268380A (zh) * 2017-01-06 2019-09-20 甲骨文国际公司 跨云数据存储库的文件***层次结构镜像
CN110268379A (zh) * 2017-01-06 2019-09-20 甲骨文国际公司 文件***数据层次结构的云迁移
CN107168693A (zh) * 2017-04-17 2017-09-15 北京小米移动软件有限公司 锁屏界面的显示方法及装置
CN107256149A (zh) * 2017-05-26 2017-10-17 北京小米移动软件有限公司 用户界面的更新方法和装置
CN107423069A (zh) * 2017-08-02 2017-12-01 深圳市华傲数据技术有限公司 应用程序界面显示的控制方法及装置
CN108334368A (zh) * 2017-09-04 2018-07-27 祖龙(天津)科技有限公司 一种基于Unity引擎的更新文件打包方法及打包工具
CN107809452A (zh) * 2017-09-05 2018-03-16 杨立军 一种将被监视设备的数据上传到云端进行规整和分析的***
CN107797862A (zh) * 2017-09-28 2018-03-13 烽火通信科技股份有限公司 一种实现QoS策略模板化的方法
CN107608698A (zh) * 2017-10-12 2018-01-19 无线生活(杭州)信息科技有限公司 一种命令行工具更新方法及装置
CN108055189A (zh) * 2017-10-30 2018-05-18 努比亚技术有限公司 一种消息处理方法、终端以及计算机可读存储介质
CN107967153A (zh) * 2017-12-13 2018-04-27 维沃移动通信有限公司 一种应用程序的管理方法及移动终端
CN108121803A (zh) * 2017-12-22 2018-06-05 维沃移动通信有限公司 一种确定页面布局的方法和服务器
CN108170476A (zh) * 2018-01-26 2018-06-15 郑州云海信息技术有限公司 一种记录服务器bios版本信息的方法及***
CN108399073A (zh) * 2018-01-26 2018-08-14 广东欧珀移动通信有限公司 信息展示方法、装置、服务器及计算机可读介质
CN108881392A (zh) * 2018-05-22 2018-11-23 中国联合网络通信集团有限公司 业务特征数据库的更新方法及装置
CN110830258A (zh) * 2018-08-13 2020-02-21 台湾积体电路制造股份有限公司 从服务器接收安全的软件更新信息的器件
CN109445835A (zh) * 2018-09-03 2019-03-08 平安普惠企业管理有限公司 构建项目框架的方法、终端设备及计算机可读存储介质
CN109302482A (zh) * 2018-10-15 2019-02-01 四川长虹电器股份有限公司 基于智能电视数据克隆的方法
CN109697079A (zh) * 2018-12-13 2019-04-30 杭州迪普科技股份有限公司 引导加载程序的更新方法及装置
CN109491698A (zh) * 2018-12-29 2019-03-19 武汉思普崚技术有限公司 基于热补丁的***更新方法及装置
CN109918113A (zh) * 2019-01-17 2019-06-21 平安城市建设科技(深圳)有限公司 Ios应用热修复/热更新方法、服务器及存储介质
CN109815150A (zh) * 2019-01-29 2019-05-28 腾讯科技(深圳)有限公司 应用测试方法、装置、电子设备及存储介质
CN110034969A (zh) * 2019-03-12 2019-07-19 平安城市建设科技(深圳)有限公司 网页测试方法、装置、设备及存储介质
CN110012096A (zh) * 2019-04-03 2019-07-12 中国工商银行股份有限公司 移动客户端服务更新管理方法、装置及***
CN110045983A (zh) * 2019-04-19 2019-07-23 腾讯科技(深圳)有限公司 版本库管理方法、装置及服务器
CN110134541A (zh) * 2019-05-23 2019-08-16 苏州浪潮智能科技有限公司 存储集群的配置信息的切换方法、***、设备及存储介质
CN110287111A (zh) * 2019-06-21 2019-09-27 深圳前海微众银行股份有限公司 一种用户界面的测试用例生成方法及装置
CN110287958A (zh) * 2019-06-25 2019-09-27 努比亚技术有限公司 智能调整文字识别率的方法、终端及计算机可读存储介质
CN110321254A (zh) * 2019-07-09 2019-10-11 西安点告网络科技有限公司 软件版本回滚方法、装置、服务器及存储介质
CN110275872A (zh) * 2019-07-18 2019-09-24 中国银行股份有限公司 版本自动部署方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN111522615A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
US11106446B2 (en) Preinstalled application management method for mobile terminal and mobile terminal
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
US7703090B2 (en) Patch un-installation
US11016785B2 (en) Method and system for mirror image package preparation and application operation
US9063819B2 (en) Extensible patch management
CN110750280B (zh) 一种基于Android平台的应用升级方法及***、存储介质
EP2805233B1 (en) Installation engine and package format for parallelizable, reliable installations
US8769521B2 (en) Calendar aware adaptive patching of a computer program
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
CN111522615B (zh) 命令行界面的更新方法、装置、设备及存储介质
CN112199109B (zh) 一种固件升级方法、装置、设备及介质
CN108664255B (zh) 一种软件升级方法及装置
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
CN111159616A (zh) 基于多语言的交换机管理方法、装置及存储介质
CN113900723B (zh) 公共平台更新方法、网络设备及计算机可读存储介质
CN113535206B (zh) 多版本代码升级方法及***
CN113741966A (zh) 一种Kickstart文件转换的方法、***、设备和存储介质
CN114721784A (zh) 应用运行方法、装置、电子设备及可读介质
CN109996262B (zh) 一种ac启动方法及装置
CN116204199B (zh) 基于命令行的项目管理方法、***、设备及存储介质
CN111722866B (zh) 一种OpenStack代码修复方法、装置、设备及存储介质
CN114237572B (zh) 原生工程集成开发框架的方法、装置、设备及存储介质
CN115421785B (zh) 应用程序的移植处理方法、装置和介质
CN114647526A (zh) 分布式***的模块校验方法、装置、设备及存储介质
CN113961269A (zh) 应用程序的运行控制方法及装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20210129

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant