CN112416309B - 一种信息生成方法、终端和计算机可读存储介质 - Google Patents

一种信息生成方法、终端和计算机可读存储介质 Download PDF

Info

Publication number
CN112416309B
CN112416309B CN201910769811.0A CN201910769811A CN112416309B CN 112416309 B CN112416309 B CN 112416309B CN 201910769811 A CN201910769811 A CN 201910769811A CN 112416309 B CN112416309 B CN 112416309B
Authority
CN
China
Prior art keywords
virtual
virtual package
package
acquiring
target
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
CN201910769811.0A
Other languages
English (en)
Other versions
CN112416309A (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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910769811.0A priority Critical patent/CN112416309B/zh
Publication of CN112416309A publication Critical patent/CN112416309A/zh
Application granted granted Critical
Publication of CN112416309B publication Critical patent/CN112416309B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种信息生成方法,所述方法包括:获取虚拟包,并基于每一所述虚拟包构建虚拟系统;其中,所述虚拟系统中包括的每一所述虚拟包之间互相独立;获取待安装虚拟包的属性参数;基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端。本发明实施例同时还公开了一种终端和计算机可读存储介质。本发明实施例降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。

Description

一种信息生成方法、终端和计算机可读存储介质
技术领域
本发明涉及计算机软件开发领域,尤其涉及一种信息生成方法、终端和计算机可读存储介质。
背景技术
软件开发过程中,通常需要在多个版本的开发环境上编译和测试,以确保多种Linux服务器版本的适配,而在某特定Linux版本下升级或者降级软件运行环境,极易由人工参与过多导致失误,对整个软件生命周期的每个流程都会造成困扰。相对技术中对于不同软件开发环境的编译和测试需求的方法有多种,比较主流的解决方案是用虚拟机和容器来实现。
但是,相对技术中使用多版本软件开发环境时,若使用虚拟机和容器时需要对虚拟化云计算平台的虚拟机或容器进行故障排查,且多个软件版本开发环境共存情况下会出现增加虚拟化平台以及相应的修改物理服务器镜像的现象,这样会增加多个软件版本开发环境共存情况下软件开发的复杂度,降低了软件开发效率。
发明内容
为解决上述技术问题,本发明实施例期望提供一种信息生成方法、终端和计算机可读存储介质,降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
本发明的技术方案是这样实现的:
一种信息生成方法,所述方法包括:
获取虚拟包,并基于每一所述虚拟包构建虚拟系统;其中,所述虚拟系统中包括的每一所述虚拟包之间互相独立;
获取待安装虚拟包的属性参数;
基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端。
可选的,所述获取虚拟包,并基于每一所述虚拟包构建虚拟系统,包括:
获取每一所述虚拟包的基础属性;
确定所述虚拟包的基础属性是否通过第一预设验证机制的认证;
基于所述基础属性通过认证的虚拟包,构建所述虚拟系统;其中,所述第一预设验证机制用于表征所述虚拟包的可用性和所述虚拟包的安全性。
可选的,所述获取待安装虚拟包的属性参数之前,所述方法还包括:
获取所述虚拟包的基础参数;
基于所述虚拟包的基础参数,对所述虚拟系统中的每一所述虚拟包进行分类,并按照分类后的类别将每一所述虚拟包存储于所述虚拟系统。
可选的,所述基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端,包括:
获取每一所述虚拟包的鉴权值;
基于所述鉴权值,对所述虚拟系统中的每一所述虚拟包进行排序得到目标排列顺序;
基于所述属性参数,按照所述目标排列顺序从所述虚拟系统中选择与所述属性参数匹配的所述目标虚拟包,并将所述目标虚拟包发送给所述客户端。
可选的,所述获取每一所述虚拟包的鉴权值,包括:
基于系统评估策略,获取每一所述虚拟包的体验数据;
基于所述体验数据,获取得到每一所述虚拟包的鉴权值。
可选的,所述基于系统评估策略,获取每一所述虚拟包的体验数据,包括:
获取每一所述虚拟包的系统安装频率和使用体验策略;
基于所述系统安装频率和所述使用体验策略,获取所述体验数据;其中,所述体验评分策略表征所述虚拟包的可应用性能,所述系统评估策略包括所述系统安装频率和所述使用体验策略。
可选的,所述基于所述鉴权值,对所述虚拟系统中每一虚拟包进行排序得到目标排列顺序,包括:
获取所述鉴权值在第一预设阈值范围内的第一虚拟包;
按照所述第一虚拟包的鉴权值将所述第一虚拟包进行排序,得到所述目标排列顺序。
可选的,所述方法还包括:
获取所述鉴权值不在所述第一预设阈值范围内且在第二预设阈值范围内的第二虚拟包;
获取所述第二虚拟包的第二鉴权值,并确定所述第二虚拟包的第二鉴权值是否通过第二预设验证机制的认证;
基于所述第二鉴权值通过认证的第三虚拟包和所述第一虚拟包,得到第四虚拟包;
按照所述鉴权值将所述第四虚拟包进行排序,更新得到所述目标排列顺序。
一种终端,所述终端包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的通信连接;
所述处理器用于执行所述存储器中存储的信息生成程序,以实现以下步骤:
获取虚拟包,并基于每一所述虚拟包构建虚拟系统;其中,所述虚拟系统中包括的每一所述虚拟包之间互相独立;
获取待安装虚拟包的属性参数;
基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述所述的信息生成方法的步骤。
本发明的实施例所提供的信息生成方法、终端和计算机可读存储介质,获取虚拟包,并基于每一虚拟包构建虚拟系统;其中,虚拟系统中包括的每一虚拟包之间互相独立;获取待安装虚拟包的属性参数;基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。如此,终端中构建具有多个虚拟包的虚拟系统,且该虚拟系统中每个虚拟包之间互相独立,通过获取待安装虚拟包的属性参数,在虚拟系统中选择与属性参数匹配的目标虚拟包发送给客户端,而不是如相对技术中一样,选择多版本软件开发环境对应的虚拟机或者容器进行多版本软件开发环境进行,如此,本发明实施例的技术方案降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
附图说明
图1为本发明的实施例提供的一种信息生成方法的流程示意图;
图2为本发明的实施例提供的另一种信息生成方法的流程示意图;
图3为本发明的实施例提供的一种客户端与设置有沙箱仓库的物理服务器的界面示意图;
图4为本发明实施例提供的又一种信息生成方法的流程示意图;
图5为本发明实施例提供的一种客户端从沙箱仓库下载沙箱进行使用而后关闭的界面示意图;
图6为本发明的实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应理解,说明书通篇中提到的“本发明实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“本发明实施例中”或“在前述实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中应。在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
应需说明的是,本发明的任一实施例的信息生成方法均应用于终端,其中,终端可以为手机、电脑、照相机或者平板电脑等等,本发明对终端不作限定,只要终端能够实现本发明任一实施例的信息生成的功能即可。
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
本发明的实施例提供一种信息生成方法,应用于终端,参照图1所示,该方法包括以下步骤:
步骤101、获取虚拟包,并基于每一虚拟包构建虚拟系统。
其中,虚拟系统中包括的每一虚拟包之间互相独立。
在本发明实施例中,虚拟系统是基于服务器系统,例如在Linux系统开发环境下,提出比如Java、C、Python等多个版本的开发环境独立共存。其中,虚拟包可以是一种软件开发环境独立存在的虚拟系统程序如沙箱,沙箱是指Sandboxie(又叫沙盘)即是一个虚拟系统程序,允许用户在沙盘环境中运行不同版本的软件开发环境浏览器或其它程序,与操作系统自带的软件开发环境版本并不会发生冲突,而且为了软件开发以及调测等工作的便利性,沙箱仅对软件开发环境以及依赖包进行有效隔离,对于操作系统的其它权限,可由用户自由设定,因此运行所产生的变化可以随后删除。沙箱创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。
其中,沙箱的内部工作原理是当用户在启动的沙箱内使用开发环境前,首先需要在沙箱内执行source命令运行指定版本的配置环境变量的文件使其生效,从而使软件所需的编程语言开发环境和软件依赖包与用户需求相吻合。使用客户端的用户在沙箱内安装的不同版本的编程语言开发环境和软件依赖包与操作系统本身内置的开发环境是完全隔离的,所以沙箱内的环境和依赖包可以随便修改,不会对操作系统内置开发环境造成污染。
其中,虚拟包作为沙箱时,可以存在于虚拟系统即一种多版本沙箱系统中,也可以称为沙箱仓库,其中沙箱系统中的沙箱之间是安全独立的,且互不影响,也不会影响和感应到其它沙箱的存在,且多沙箱之间的文件都是隔离且没有互相交互的,其中任一沙箱只要启动,就是互相独立的。
步骤102、获取待安装虚拟包的属性参数。
在本发明实施例中,待安装虚拟包的属性参数可以是待安装虚拟包对应的软件版本参数,或者可以表征待安装虚拟包的特有属性的参数。
待安装虚拟包作为沙箱时,属性参数可以是终端获取用户使用的客户端操作系统的版本信息。
步骤103、基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。
在本发明实施例中,终端会根据客户端操作系统的版本信息,从沙箱系统中自动选择与客户端操作系统的版本信息匹配或者自动适配相应的版本兼容性的沙箱并发至相应的客户端。例如终端根据沙箱的软件版本参数从存储多个沙箱的沙箱系统中选择符合条件的多个沙箱发送至客户端并推荐给用户并显示,其中,目标虚拟包可以是不止一个虚拟包即不止一个沙箱。
在本发明实施例中,沙箱可以通过沙箱系统下载安装并启动到目标服务器的操作系统中,启动的沙箱共享该操作系统内核并拥有访问操作系统文件的权限。沙箱系统即沙箱仓库可以是单节点部署,也可以是分布式集群部署,客户端服务器可以通过内网文件传输协议(File Transfer Protocol,FTP)的方式供内网认证的客户端服务器访问,也可以通过外网虚拟专用网络(Virtual Private Network,VPN)认证登录的方式供远程客户端服务器访问,其内外网访问权限可以通过沙箱系统的认证系统来授权认证,客户端服务器可以安装一个或者多个沙箱。
本发明的实施例所提供的信息生成方法,获取虚拟包,并基于每一虚拟包构建虚拟系统;其中,虚拟系统中包括的每一虚拟包之间互相独立;获取待安装虚拟包的属性参数;基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。如此,终端中构建具有多个虚拟包的虚拟系统,且该虚拟系统中每个虚拟包之间互相独立,通过获取待安装虚拟包的属性参数,在虚拟系统中选择与属性参数匹配的目标虚拟包发送给客户端,而不是如相对技术中一样,选择多版本软件开发环境对应的虚拟机或者容器进行多版本软件开发环境进行,如此,本发明实施例的技术方案降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
基于前述实施例,本发明的实施例提供一种信息生成方法,参照图2所示,该方法包括以下步骤:
步骤201、终端获取每一虚拟包的基础属性。
在本发明实施例中,获取每一虚拟包的基础属性,可以是获取每一沙箱的基本信息。
步骤202、终端确定虚拟包的基础属性是否通过第一预设验证机制的认证。
在本发明实施例中,第一预设验证机制可以是沙箱系统中对每一沙箱进行相应验证的机制策略。
步骤203、终端基于基础属性通过认证的虚拟包,构建虚拟系统。
其中,第一预设验证机制用于表征虚拟包的可用性和虚拟包的安全性。
其中,虚拟系统中包括的每一虚拟包之间互相独立。
在本发明实施例中,沙箱可以是任一客户端将构建的开发环境打包成沙箱,其中沙箱的构建只依赖于客户端物理机正常运行即可完成。每一沙箱提交到沙箱系统时,需要进行相应的可用性和安全性验证,其中,沙箱系统可以将沙箱按照商品进行显示,例如使用沙箱商店进行显示。如图3所示,给出了客户端与设置有沙箱系统(沙箱仓库)的物理服务器的界面示意图。图3给出的沙箱仓库中的沙箱可以依据沙箱商店进行显示,而进入沙箱系统时需要进行验证系统和认证系统等一系列认证,其中每个软件版本对应的沙箱可以有多个,例如是沙箱1、沙箱2、…沙箱n等。每个沙箱都包括有相应的操作系统和物理硬件。
其中具体将虚拟包具体存储于虚拟系统中,可以通过以下方式来实现:用户可以将自己的开发环境打包成沙箱,将沙箱提交到沙箱系统,提交至沙箱系统时需进入沙箱商店进行上架认证,用户可以通过提交操作查看已提交沙箱的上架进度,沙箱上架流程如下:1、用户在客户端本地构建沙箱;2、用户将构建的沙箱提交到沙箱仓库;3、沙箱仓库认证通过后,对客户端上传的沙箱进行可用性和安全性验证;4、通过可用性和安全性验证后,沙箱正式上架到沙箱商店。其中,沙箱仓库会对构建好的沙箱进行相应的安全扫描,且会在后台对提交的已经放入沙箱仓库的沙箱进行启动文件、读写文件、关闭文件等一些常规沙箱可用性进行检查。
步骤204、终端获取待安装虚拟包的属性参数。
步骤205、终端基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。
需要说明的是,本发明实施例中与其它实施例中相同步骤或概念的解释,可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的信息生成方法,终端中构建具有多个虚拟包的虚拟系统,且该虚拟系统中每个虚拟包之间互相独立,通过获取待安装虚拟包的属性参数,在虚拟系统中选择与属性参数匹配的目标虚拟包发送给客户端,而不是如相对技术中一样,选择多版本软件开发环境对应的虚拟机或者容器进行多版本软件开发环境进行,如此,本发明实施例的技术方案降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
基于前述实施例,本发明的实施例提供一种信息生成方法,参照图4所示,该方法包括以下步骤:
步骤301、终端获取虚拟包,并基于每一虚拟包构建虚拟系统。
其中,虚拟系统中包括的每一虚拟包之间互相独立。
步骤302、终端获取待安装虚拟包的属性参数。
步骤303、终端获取每一虚拟包的鉴权值。
在本发明实施例中,步骤303可以通过步骤303a和步骤303b的以下方式来实现:
步骤303a、终端基于系统评估策略,获取每一虚拟包的体验数据。
在本发明实施例中,步骤303a可以通过步骤A1和步骤A2的以下方式来实现:
步骤A1、终端获取每一虚拟包的系统安装频率和使用体验策略。
步骤A2、终端基于系统安装频率和使用体验策略,获取体验数据。
其中,体验评分策略表征虚拟包的可应用性能,系统评估策略包括系统安装频率和使用体验策略。
在本发明实施例中,用户提交本地沙箱至沙箱商店并顺利通过可用性和安全性验证后,沙箱会正式上架到沙箱商店,且系统会对该沙箱打一个版本标签用于区别版本,例如沙箱系统还具有投票反馈机制,并对该沙箱赋初始的权值即沙箱的鉴权值。即使用沙箱的安装频率和用户对沙箱的使用体验评分进行评估。例如,初始的默认值为0。其中,沙箱被用户安装一次,其权值会被+1。用户可以对沙箱进行差评投票,但用户需要提交具体可实际验证的代码,并通过其它客户端用户或管理人员认可,沙箱被差评一次,其权值会被-2。
步骤303b、终端基于体验数据,获取得到每一虚拟包的鉴权值。
在本发明实施例中,终端基于上述体验数据,即对每个沙箱的评分,得到每一个沙箱相应的鉴权值,沙箱的鉴权值表征沙箱使用体验数据,基于沙箱的使用次数和沙箱的使用体验得到沙箱的鉴权值。
步骤304、终端基于鉴权值,对虚拟系统中的每一虚拟包进行排序得到目标排列顺序。
在本发明其他实施例中,步骤304可以通过下述步骤B1和步骤B2的方式来实现:
步骤B1、终端获取鉴权值在第一预设阈值范围内的第一虚拟包。
步骤B2、终端按照第一虚拟包的鉴权值将第一虚拟包进行排序,得到目标排列顺序。
在本发明实施例中,沙箱的鉴权值可以用于用户在客户端请求安装沙箱时返回的序列排序,当沙箱的鉴权值越高,其排序也越靠前。
其中当沙箱的鉴权值符合第一预设阈值范围内,例如鉴权值可以是10以上的正整数,将鉴权值为10以上的沙箱按照鉴权值的大小进行排列,得到一个目标排列顺序。其中,当终端收到相应版本的沙箱下载请求时,可以将该相应版本的且沙箱的鉴权值大于10以上的沙箱按照目标排列顺序发送至客户端并推荐给用户。
在另一实施例中,步骤304还可以通过下述步骤C1~C4的方式来实现:
步骤C1、终端获取鉴权值不在第一预设阈值范围内且在第二预设阈值范围内的第二虚拟包。
在本发明实施例中,沙箱的鉴权值不在第一预设阈值范围内,且在第二预设阈值范围内,可以是沙箱的鉴权值为负数的正整数。
步骤C2、终端获取第二虚拟包的第二鉴权值,并确定第二虚拟包的第二鉴权值是否通过第二预设验证机制的认证。
在本发明实施例中,沙箱的鉴权值为负数时,该沙箱会自动从沙箱系统中的沙箱商店临时下架到验证系统中,这时需要对该沙箱进行二次验证来再次确定其的鉴权值,即得到一个第二鉴权值。
步骤C3、终端基于第二鉴权值通过认证的第三虚拟包和第一虚拟包,得到第四虚拟包。
在本发明实施例中,沙箱的二次鉴权值通过认证,即沙箱通过重新验证后,可再次上架至沙箱商店即沙箱系统中,其中,第二预设验证机制就是针对沙箱的鉴权值为负数时且被临时下架到验证系统中的沙箱进行二次验证。其中,临时下架的沙箱是不会在终端收到相应的下载请求时,发送给相应的客户端并推荐给用户使用。
步骤C4、终端按照鉴权值将第四虚拟包进行排序,更新得到目标排列顺序。
在本发明实施例中,待重新验证后的沙箱符合相应标准时,可再次上架到沙箱商店;若无法通过验证,则该沙箱正式从沙箱商店永久下架。将通过二次验证的沙箱与原来鉴权值为10以上的沙箱进行整合,重新进行更新得到目标排列顺序。
步骤305、终端获取待安装虚拟包的属性参数。
步骤306、终端基于属性参数,按照目标排列顺序从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。
在本发明实施例中,终端可以按照沙箱的鉴权值生成的目标排列顺序将与属性参数匹配的目标沙箱发送给客户端,其中,从沙箱系统或者沙箱仓库下载沙箱,然后安装和启动沙箱,通过source环境变量文件指定沙箱内运行的版本环境,再进行代码的编译和执行,最后关闭沙箱,上述流程如图5所示,图5中给出了一种客户端从沙箱仓库下载沙箱进行使用而后关闭的界面示意图,其相应的步骤即为下载沙箱、安装沙箱、启动沙箱、指定一个运行环境、代码编译执行和关闭沙箱。以下具体介绍图5所示流程的各步骤:
步骤1、用户向运行沙箱系统的物理服务器发送沙箱下载请求;其中,该沙箱下载请求中包括用户使用的客户端操作系统的版本信息;
步骤2、沙箱系统根据客户端操作系统的版本,自动适配符合版本兼容性的沙箱列表供用户选择安装;
步骤3、用户在客户端服务器启动一个或多个已经安装的沙箱;
步骤4、用户指定一个沙箱,该沙箱代表一个特定版本的软件运行环境;
步骤5、用户在沙箱内进行代码编译或执行相关软件代码;
步骤6、用户根据软件开发需要或者用户个人需求关闭沙箱。
需要说明的是,本发明实施例中与其它实施例中相同步骤或概念的解释,可以参照其它实施例中的描述,此处不再赘述。
本发明的实施例所提供的信息生成方法,终端中构建具有多个虚拟包的虚拟系统,且该虚拟系统中每个虚拟包之间互相独立,通过获取待安装虚拟包的属性参数,在虚拟系统中选择与属性参数匹配的目标虚拟包发送给客户端,而不是如相对技术中一样,选择多版本软件开发环境对应的虚拟机或者容器进行多版本软件开发环境进行,如此,本发明实施例的技术方案降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
基于前述实施例,在本发明的其它实施例中,在获取待安装虚拟包的属性参数之前,即在步骤102、步骤204或步骤305之前,信息生成方法还可以执行以下步骤:
步骤D1、终端获取虚拟包的基础参数。
步骤D2、终端基于虚拟包的基础参数,对虚拟系统中的每一虚拟包进行分类,并按照分类后的类别将每一虚拟包存储于虚拟系统。
在本发明实施例中,虚拟包的基础参数可以是虚拟包对应的软件版本参数或者沙箱对应的软件版本参数。终端基于虚拟包的软件版本参数对虚拟系统即沙箱系统中的每一沙箱按照软件版本进行分类,并存储于沙箱系统即沙箱仓库中。
基于前述实施例,本发明的实施例提供一种终端6,该终端6可以应用于图1、2或4对应的实施例提供的信息生成方法中,参照图6所示,该终端6可以包括:处理器61、存储器62和通信总线63;
通信总线63用于实现处理器61和存储器62之间的通信连接;
处理器61用于执行存储器62中存储的信息生成程序,以实现以下步骤:
获取虚拟包,并基于每一虚拟包构建虚拟系统;其中,虚拟系统中包括的每一虚拟包之间互相独立;
获取待安装虚拟包的属性参数;
基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的获取虚拟包,并基于每一虚拟包构建虚拟系统,可以实现以下步骤:
获取每一虚拟包的基础属性;
确定虚拟包的基础属性是否通过第一预设验证机制的认证;
基于基础属性通过认证的虚拟包,构建虚拟系统;其中,第一预设验证机制用于表征虚拟包的可用性和虚拟包的安全性。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的获取待安装虚拟包的属性参数之前,可以实现以下步骤:
获取虚拟包的基础参数;
基于虚拟包的基础参数,对虚拟系统中的每一虚拟包进行分类,并按照分类后的类别将每一虚拟包存储于虚拟系统。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的基于属性参数,从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端,可以实现以下步骤:
获取每一虚拟包的鉴权值;
基于鉴权值,对虚拟系统中的每一虚拟包进行排序得到目标排列顺序;
基于属性参数,按照目标排列顺序从虚拟系统中选择与属性参数匹配的目标虚拟包,并将目标虚拟包发送给客户端。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的获取每一虚拟包的鉴权值,可以实现以下步骤:
基于系统评估策略,获取每一虚拟包的体验数据;
基于体验数据,获取得到每一虚拟包的鉴权值。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的基于系统评估策略,获取每一虚拟包的体验数据,可以实现以下步骤:
获取每一虚拟包的系统安装频率和使用体验策略;
基于系统安装频率和使用体验策略,获取体验数据;其中,体验评分策略表征虚拟包的可应用性能,系统评估策略包括系统安装频率和使用体验策略。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序中的基于鉴权值,对虚拟系统中每一虚拟包进行排序得到目标排列顺序,可以实现以下步骤:
获取鉴权值在第一预设阈值范围内的第一虚拟包;
按照第一虚拟包的鉴权值将第一虚拟包进行排序,得到目标排列顺序。
在本发明的其它实施例中,处理器61用于执行存储器62中存储的信息生成程序,可以实现以下步骤:
获取鉴权值不在第一预设阈值范围内且在第二预设阈值范围内的第二虚拟包;
获取第二虚拟包的第二鉴权值,并确定第二虚拟包的第二鉴权值是否通过第二预设验证机制的认证;
基于第二鉴权值通过认证的第三虚拟包和第一虚拟包,得到第四虚拟包;
按照鉴权值将第四虚拟包进行排序,更新得到目标排列顺序。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1、2或4对应的实施例提供的信息生成方法中的实现过程,此处不再赘述。
本发明的实施例所提供的终端,终端中构建具有多个虚拟包的虚拟系统,且该虚拟系统中每个虚拟包之间互相独立,通过获取待安装虚拟包的属性参数,在虚拟系统中选择与属性参数匹配的目标虚拟包发送给客户端,而不是如相对技术中一样,选择多版本软件开发环境对应的虚拟机或者容器进行多版本软件开发环境进行,如此,本发明实施例的技术方案降低了多个软件版本开发环境共存情况下软件开发的复杂度,提高了软件开发的效率。
基于前述实施例,本发明的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如图1、2或4对应的信息生成方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (7)

1.一种信息生成方法,所述方法包括:
获取虚拟包,并基于每一所述虚拟包构建虚拟系统;其中,所述虚拟系统中包括的每一所述虚拟包之间互相独立;
获取待安装虚拟包的属性参数;
基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端;
其中,所述基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端,包括:
获取每一所述虚拟包的鉴权值;
基于所述鉴权值,对所述虚拟系统中的每一虚拟包进行排序得到目标排列顺序;
基于所述属性参数,按照所述目标排列顺序从所述虚拟系统中选择与所述属性参数匹配的所述目标虚拟包,并将所述目标虚拟包发送给所述客户端;
其中,所述获取每一所述虚拟包的鉴权值,包括:
基于系统评估策略,获取每一所述虚拟包的体验数据;
基于所述体验数据,获取得到每一所述虚拟包的鉴权值;
其中,所述基于系统评估策略,获取每一所述虚拟包的体验数据,包括:
获取每一所述虚拟包的系统安装频率和使用体验策略;
基于所述系统安装频率和所述使用体验策略,获取所述体验数据;其中,体验评分策略表征所述虚拟包的可应用性能,所述系统评估策略包括所述系统安装频率和所述使用体验策略。
2.根据权利要求1所述的方法,其特征在于,所述获取虚拟包,并基于每一所述虚拟包构建虚拟系统,包括:
获取每一所述虚拟包的基础属性;
确定所述虚拟包的基础属性是否通过第一预设验证机制的认证;
基于所述基础属性通过认证的虚拟包,构建所述虚拟系统;其中,所述第一预设验证机制用于表征所述虚拟包的可用性和所述虚拟包的安全性。
3.根据权利要求1或2所述的方法,其特征在于,所述获取待安装虚拟包的属性参数之前,所述方法还包括:
获取所述虚拟包的基础参数;
基于所述虚拟包的基础参数,对所述虚拟系统中的每一所述虚拟包进行分类,并按照分类后的类别将每一所述虚拟包存储于所述虚拟系统。
4.根据权利要求1所述的方法,其特征在于,所述基于所述鉴权值,对所述虚拟系统中每一虚拟包进行排序得到目标排列顺序,包括:
获取所述鉴权值在第一预设阈值范围内的第一虚拟包;
按照所述第一虚拟包的鉴权值将所述第一虚拟包进行排序,得到所述目标排列顺序。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
获取所述鉴权值不在第一预设阈值范围内且在第二预设阈值范围内的第二虚拟包;
获取所述第二虚拟包的第二鉴权值,并确定所述第二虚拟包的第二鉴权值是否通过第二预设验证机制的认证;
基于所述第二鉴权值通过认证的第三虚拟包和第一虚拟包,得到第四虚拟包;
按照所述鉴权值将所述第四虚拟包进行排序,更新得到所述目标排列顺序。
6.一种终端,其特征在于,所述终端包括:处理器、存储器和通信总线;
所述通信总线用于实现所述处理器和所述存储器之间的通信连接;
所述处理器用于执行所述存储器中存储的信息生成程序,以实现以下步骤:
获取虚拟包,并基于每一所述虚拟包构建虚拟系统;其中,所述虚拟系统中包括的每一所述虚拟包之间互相独立;
获取待安装虚拟包的属性参数;
基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端;
所述处理器还用于执行所述存储器中存储的信息生成程序中的基于所述属性参数,从所述虚拟系统中选择与所述属性参数匹配的目标虚拟包,并将所述目标虚拟包发送给客户端,以实现以下步骤:
获取每一所述虚拟包的鉴权值;
基于所述鉴权值,对所述虚拟系统中的每一虚拟包进行排序得到目标排列顺序;
基于所述属性参数,按照所述目标排列顺序从所述虚拟系统中选择与所述属性参数匹配的所述目标虚拟包,并将所述目标虚拟包发送给所述客户端;
所述处理器还用于执行所述存储器中存储的信息生成程序中的获取每一所述虚拟包的鉴权值,以实现以下步骤:
基于系统评估策略,获取每一所述虚拟包的体验数据;
基于所述体验数据,获取得到每一所述虚拟包的鉴权值;
所述处理器还用于执行所述存储器中存储的信息生成程序中的基于系统评估策略,获取每一所述虚拟包的体验数据,以实现以下步骤:
获取每一所述虚拟包的系统安装频率和使用体验策略;
基于所述系统安装频率和所述使用体验策略,获取所述体验数据;其中,体验评分策略表征所述虚拟包的可应用性能,所述系统评估策略包括所述系统安装频率和所述使用体验策略。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的信息生成方法的步骤。
CN201910769811.0A 2019-08-20 2019-08-20 一种信息生成方法、终端和计算机可读存储介质 Active CN112416309B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910769811.0A CN112416309B (zh) 2019-08-20 2019-08-20 一种信息生成方法、终端和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910769811.0A CN112416309B (zh) 2019-08-20 2019-08-20 一种信息生成方法、终端和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112416309A CN112416309A (zh) 2021-02-26
CN112416309B true CN112416309B (zh) 2023-04-11

Family

ID=74780338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910769811.0A Active CN112416309B (zh) 2019-08-20 2019-08-20 一种信息生成方法、终端和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112416309B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294487A (zh) * 2012-02-22 2013-09-11 腾讯科技(深圳)有限公司 安装软件的方法、设备及系统
CN104166576A (zh) * 2014-08-27 2014-11-26 厦门美图之家科技有限公司 一种提供应用程序安装包的系统平台
CN110109750A (zh) * 2019-04-03 2019-08-09 平安科技(深圳)有限公司 虚拟资源获取方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294487A (zh) * 2012-02-22 2013-09-11 腾讯科技(深圳)有限公司 安装软件的方法、设备及系统
CN104166576A (zh) * 2014-08-27 2014-11-26 厦门美图之家科技有限公司 一种提供应用程序安装包的系统平台
CN110109750A (zh) * 2019-04-03 2019-08-09 平安科技(深圳)有限公司 虚拟资源获取方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112416309A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US20200401729A1 (en) Weighted source data secured on blockchains
CN103530563B (zh) 用于更新经授权软件的系统和方法
KR20190111037A (ko) 컨소시엄 블록체인에 의한 스마트 계약 업그레이드 방법 및 시스템
AU2022287674A1 (en) Universal BCHAIN e3a connections (UBEC)
CN110995473B (zh) 一种业务节点的控制方法及相关设备
KR20200052957A (ko) 보안 제어 방법 및 컴퓨터 시스템
US20120089733A1 (en) Managing Access to an Application
US9325506B2 (en) Cryptographically enforcing strict separation of environments
US20210240465A1 (en) Firmware updating method using low-power wireless network
CN107193593B (zh) 一种可升级文件的升级方法、机顶盒和存储介质
CN103136478B (zh) 一种终端应用的安全管理方法及系统
CN104391729B (zh) 基于Root权限的程序升级方法及装置
CN109800005B (zh) 一种客户端热更新方法及装置
EP3583536B1 (en) Securely defining operating system composition without multiple authoring
US11126729B2 (en) System and method of ensuring secure changing of system configurations
CN106909409A (zh) 一种运行应用程序的apk插件的方法及装置
CN110968437A (zh) 一种基于Java智能合约的单个合约并行执行的方法、装置、设备及介质
CN108415714A (zh) 移动终端的系统升级方法及装置
CN104683303A (zh) App管理方法
WO2020046981A1 (en) Automated code verification service and infrastructure therefor
US20210042096A1 (en) Method and system for packaging infrastructure as code
US20200311248A1 (en) Utilizing models to generate identifiers that identify and provide authentication for machine learning models
CN106909406A (zh) 一种加载应用程序的apk插件的方法及装置
CN111177703B (zh) 操作系统数据完整性的确定方法及装置
Kim et al. Pgpatch: Policy-guided logic bug patching for robotic vehicles

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