CN114296835B - 应用程序的启动方法和装置 - Google Patents
应用程序的启动方法和装置 Download PDFInfo
- Publication number
- CN114296835B CN114296835B CN202111676879.8A CN202111676879A CN114296835B CN 114296835 B CN114296835 B CN 114296835B CN 202111676879 A CN202111676879 A CN 202111676879A CN 114296835 B CN114296835 B CN 114296835B
- Authority
- CN
- China
- Prior art keywords
- kernel file
- operating system
- application program
- local operating
- management tool
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000009434 installation Methods 0.000 claims description 48
- 238000004891 communication Methods 0.000 claims description 21
- 230000006978 adaptation Effects 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 63
- 238000012423 maintenance Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序的启动方法和装置,涉及计算机技术领域。其中,方法包括:响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件;加载目标内核文件,以启动应用程序。从而基于脱离互联网的条件,在保证应用程序与不同内核版本适配的同时,尽可能多的减少应用程序安装包和系统内存中包含的内核文件。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的启动方法和装置。
背景技术
在网络安全技术领域中,终端安全管控类软件通常是需要依赖于系统的内核来实现相应的功能的。目前,国产操作系统各版本中存在内核上面的差异,甚至会面临内核定制的需求,形成了一种同一时间段内市场上出现很多个内核版本。而终端安全管控类软件通常是需要依赖于系统的内核来实现相应的功能,这将需要软件对每个内核版本进行适配。但内核文件的增多直接导致软件安装包逐渐变大,交付成本也变得越来越高,特别是对于升级的频率较高的软件,维护成本显著提升;而且,在部分无法连接互联网的场景下终端无法完成在线升级更新,不利于软件正常使用。
发明内容
有鉴于此,本申请提供一种应用程序的启动方法和装置,主要目的在于基于脱离互联网的条件,在保证应用程序与不同系统内核版本适配的同时,尽可能多的减少应用程序安装包和系统内存中包含的内核文件。
依据本申请一个方面,提供了一种应用程序的启动方法,包括:
响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件;加载目标内核文件,以启动应用程序。
可选地,通过本地操作系统的内网管理工具调取目标内核文件之后,方法还包括:
通过内网管理工具,按照预设存储路径,将目标内核文件分发至存储空间。
可选地,通过本地操作系统的内网管理工具调取目标内核文件,具体包括:
获取本地操作系统的架构参数;按照本地操作系统的架构参数,遍历与内网管理工具关联的第一内核文件;在第一内核文件包含有目标内核文件的情况下,调取目标内核文件;其中,本地操作系统的架构参数包括以下至少一种:硬件架构类别、硬件架构版本、编译版本、内核版本。
可选地,应用程序的启动方法还包括:
在第一内核文件不包含目标内核文件的情况下,输出提示信息。
可选地,获取本地操作系统的架构参数,具体包括:
指示本地操作系统执行指定命令,生成执行结果;匹配执行结果和预期执行结果,预期执行结果用于表征基于不同操作系统的架构参数执行指定命令得到的预期执行结果;将与执行结果相匹配的预期执行结果,确定为本地操作系统的架构参数。
可选地,通过本地操作系统的内网管理工具调取目标内核文件之前,方法还包括:
分别获取不同操作系统的架构参数;关联内网管理工具和不同操作系统的架构参数相应的第一内核文件。
可选地,第一内核文件以驱动安装包的形式存储,关联内网管理工具和不同操作系统的架构参数相应的第一内核文件之前,方法还包括:
按照不同操作系统的架构参数获取对应的驱动安装包,驱动安装包携带有第一签名密钥;匹配第一签名密钥和本地操作系统中存储的第二签名密钥;在第一签名密钥和第二签名密钥匹配的情况下,解压驱动安装包中的第一内核文件,并第一内核文件存储至内网管理工具对应的数据库;在第一签名密钥和第二签名密钥不匹配的情况下,输出警告信息,以提示驱动安装包为非法状态。
依据本申请另一个方面,提供了一种应用程序的启动装置,包括:
查询模块,用于响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;内网管理模块,用于在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件;加载模块,用于加载目标内核文件,以启动应用程序。
可选地,内网管理模块,还用于通过内网管理工具,按照预设存储路径,将目标内核文件分发至存储空间。
可选地,内网管理模块,具体包括:
第一获取模块,用于获取本地操作系统的架构参数;遍历模块,用于按照本地操作系统的架构参数,遍历内网管理工具关联的第一内核文件;调取模块,用于在第一内核文件包含有目标内核文件的情况下,调取目标内核文件;其中,本地操作系统的架构参数包括以下至少一种:硬件架构类别、硬件架构版本、编译版本、内核版本。
可选地,应用程序的启动装置还包括:
第一输出模块,用于在第一内核文件不包含目标内核文件的情况下,输出提示信息。
可选地,第一获取模块,具体包括:
执行模块,用于指示本地操作系统执行指定命令,生成执行结果;第一匹配模块,用于匹配执行结果和预期执行结果,预期执行结果用于表征基于不同操作系统的架构参数执行指定命令得到的预期执行结果;确定模块,用于将与执行结果相匹配的预期执行结果,确定为本地操作系统的架构参数。
可选地,应用程序的启动装置还包括:
第二获取模块,用于分别获取不同操作系统的架构参数;关联模块,用于关联内网管理工具和不同操作系统的架构参数相应的第一内核文件。
可选地,第一内核文件以驱动安装包的形式存储,应用程序的启动装置还包括:
第三获取模块,用于按照不同操作系统的架构参数获取对应的驱动安装包,驱动安装包携带有第一签名密钥;第二匹配模块,用于匹配第一签名密钥和本地操作系统中存储的第二签名密钥;存储模块,用于在第一签名密钥和第二签名密钥匹配的情况下,解压驱动安装包中的第一内核文件,并第一内核文件存储至内网管理工具对应的数据库;第二输出模块,用于在第一签名密钥和第二签名密钥不匹配的情况下,输出警告信息,以提示驱动安装包为非法状态。
根据本申请的又一方面,提供了一种存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述应用程序的启动方法对应的操作。
根据本申请的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行上述应用程序的启动方法对应的操作。
借由上述技术方案,本申请实施例提供的技术方案至少具有下列优点:
本申请提供了一种应用程序的启动方法和装置,首先获取应用程序的启动指令,响应于该指令从所述应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件,以通过目标内核文件驱动应用程序启动。当存储空间内未查询到所需的目标内核文件时,说明以存储空间内存储的数据无法正常启动应用程序。则利用本地的内网管理工具从内网数据库中调取与本地操作系统匹配的目标内核文件,再获得新的内核文件后,再执行应用程序的启动指令。一方面,无需在应用程序的安装包或系统内存中内嵌大量的内核文件,以降低应用安装包和系统空间的占用,从而降低了应用安装包交付成本,节省终端系统空间占用,有利于降低应用程序后续的维护成本;另一方面,在脱离互联网运行应用程序时,可直接通过内网管理工具获取驱动所需的内核文件,以实现应用程序与不同操作系统内核之间的适配,进一步完成应用程序的启动需求。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种应用程序的启动方法流程图;
图2示出了本申请实施例提供的在应用场景中的整体流程图;
图3示出了本申请实施例提供的一种应用程序的启动装置组成框图;
图4示出了本申请实施例提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,本申请实施例提供了一种应用程序的启动方法,该方法包括:
步骤102,响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;
其中,应用程序安装于本地操作系统下,存储空间用于存储应用程序启动所需的目标内核文件。
具体地,存储空间包括:安装应用程序时通过安装指令在本地操作系统创建的应用程序的默认存储空间和用户预先在本地操作系统创建的非保护存储空间,默认存储空间内存储的数据与应用程序安装包中的内容相关。
可以理解的是,对于本地操作系统下不同的应用程序可以对应有相同或不同的存储空间,例如,每个应用程序与不同的存储空间一一对应,或者在内核文件通用的情况下,相同类别的应用程序共用同一个非保护存储空间。
步骤104,在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件;
其中,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件。具体地,由于不同操作系统的架构参数之间存在差异,因此,首次启动应用程序时,需要基于与本地操作系统相匹配的内核文件将应用程序的启动程序与本地操作系统进行适配,进一步完应用程序的运行。为此,在内网管理工具对应的数据库预先存储与不同操作系统匹配的第一内核文件,以将不同的第一内核文件和内网管理工具进行关联。在启动应用程序时,无需互联网,直接利用内网获得所需的目标内核文件,进而在无法连接互联网的场景下,无需在应用程序的安装包或系统内存中携带大量的内核文件,达到减轻应用程序安装包和终端系统内存占用的目的,满足轻量化应用程序安装包的要求,而且降低了升级应用程序的维护成本。
步骤106,加载目标内核文件。
本该实施例中,首先获取应用程序的启动指令,响应于该指令从所述应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件,以通过目标内核文件驱动应用程序启动。当存储空间内未查询到所需的目标内核文件时,说明以存储空间内存储的数据无法正常启动应用程序。则利用本地的内网管理工具从内网数据库中调取与本地操作系统匹配的目标内核文件,再获得新的内核文件后,再执行应用程序的启动指令。一方面,无需在应用程序的安装包或系统内存中内嵌大量的内核文件,以降低应用安装包和系统空间的占用,从而降低了应用安装包交付成本,节省终端系统空间占用,有利于降低应用程序后续的维护成本;另一方面,在脱离互联网运行应用程序时,可直接通过内网管理工具获取驱动所需的内核文件,以实现应用程序与不同操作系统内核之间的适配,进一步完成应用程序的启动需求。
进一步地,通过执行端获取针对应用程序的启动指令,其中,执行端可以为启动应用程序的本地操作系统,例如,移动终端设备的操作系统等。
本申请的一个实施例中,通过本地操作系统的内网管理工具调取目标内核文件之后,还包括:通过内网管理工具,按照预设存储路径,将目标内核文件分发至存储空间。
本该实施例中,在获得与本地操作系统相匹配的目标内核文件后,通过内网管理工具,按照预设存储路径,将内核文件分发至存储空间,以便于利用存储空间对新获得的目标内核文件进行存储。由此,在下一次启动或升级该应用程序时,能够快速、准确地从存储空间中获得与本地操作系统适配的内核文件,在减少应用程序安装包大小,实现安装包轻量化,降低应用程序升级维护成本的同时,保证应用程序的启动速度,满足用户对系统运行的流畅度需求。
需要说明的是,为了防止内核文件过多的占用本地操作系统的内存空间,可以为存储空间中的用于保存内核文件的部分设置占用阈值。当存储空间的内存占用大于或等于占用阈值时,若需要存储内核文件到存储空间,可以按照操作系统的开发、维护时间,将存储空间中远离当前时刻开发或维护的操作系统的内核文件删除,再存入新的内核文件,或者按照指定时长,定期清理存储空间中过期的内核文件,以保证存储空间拥有足够的空间存储新的内核文件。
进一步地,在存储内核文件到存储空间时,可以以架构参数作为索引,将内核文件与架构参数以一一对应的方式进行存储,这样在查找时,可以以架构参数作为关键词,快速的查找到需要的内核文件,以提高查找效率与准确度。
在本申请的一个实施例中,通过本地操作系统的内网管理工具调取目标内核文件,具体包括:
获取本地操作系统的架构参数;按照本地操作系统的架构参数,遍历内网管理工具关联的第一内核文件;在第一内核文件包含有目标内核文件的情况下,调取目标内核文件。
其中,本地操作系统的架构参数包括以下至少一种:硬件架构类别、硬件架构版本、编译版本、内核版本,本申请实施例不做具体限定。具体举例来说,硬件架构类别包括arm、mips、X64、SW、LoongArch等类别型号,硬件架构版本用于将硬件架构进行更细致的分类。可以理解的是,由于技术的不断更新,导致同一类别的硬件架构也在不断更新,即使相同类别的硬件架构不同版本之间也会存在差异。因此,以架构参数中的硬件架构类别、硬件架构版本和编译版本、内核版本作为筛选目标内核文件的标准,可以有效的提高目标内核文件的调取速度。
在该实施例中,先收集并分别确定各个操作系统的架构参数,可以包括与硬件架构、编译、内核相关的类别、版本等。然后再获取与内网管理工具关联,且与各种架构参数相匹配的第一内核文件。从所有的第一内核文件中查找所需的目标内核文件。若内网管理工具关联的第一内核文件中存在目标内核文件,则直接调取该目标内核文件,以完成产品内核文件的加载。从而在脱离互联网运行应用程序时,可直接通过内网管理工具获取驱动所需的内核文件,以实现应用程序与不同操作系统内核之间的适配,不仅减少应用程序安装包大小,实现安装包轻量化,还能够有效降低应用程序升级维护成本。
进一步地,应用程序的启动方法还包括:在第一内核文件不包含目标内核文件的情况下,输出提示信息。
在该实施例中,若与内网管理工具关联的所有第一内核文件中不包含与本地操作系统适配的目标内核文件,说明内网管理工具对应的数据已无法支持应用程序在该本地操作系统下正常运行。则输出提示信息,以提示用户需要更新第一内核文件,以便于及时完成应用程序的启动操作。
进一步地,对于不完成升级就无法启动的应用程序,在输出提示信息之后,拒绝执行该应用程序想启动指令,也即关闭该应用程序。
示例性的,输出提示信息包括:在终端的屏幕上显示提示信息,或将提示信息发送至本地操作系统对应的管理端,或控制终端震动。当然也可以通过其他形式输出提示信息,本申请实施例不做具体限定。
本申请的一个实施例中,获取本地操作系统的架构参数,具体包括:指示本地操作系统执行指定命令,生成执行结果;匹配执行结果和预期执行结果,预期执行结果用于表征基于不同操作系统的硬件架构执行指定命令得到的预期执行结果;将与执行结果相匹配的预期执行结果,确定为本地操作系统的架构参数。
其中,指定命令用于表征可使不同架构参数条件下的操作系统生成不同执行结果的命令;执行结果用于表征本地操作系统执行指定命令生成的执行结果;预期执行结果用于表征基于不同操作系统的硬件架构执行指定命令得到的预期执行结果。
在该实施例中,分别获取基于不同操作系统的架构参数执行相同指定命令得到的预期执行结果,并生成不同操作系统的架构参数与预期执行结果之间的映射关系。当前执行端指示本地操作系统执行相同的指定命令,生成执行结果。最后将本地操作系统生成的执行结果与预期执行结果相匹配,并基于映射关系确定本地操作系统的架构参数。从而可以准确的、快速的获得本地操作系统的架构参数,满足应用程序的启动需求。
本申请的一个实施例中,通过本地操作系统的内网管理工具调取目标内核文件之前,还包括:分别获取不同操作系统的架构参数;关联内网管理工具和不同操作系统的架构参数相应的第一内核文件。
在该实施例中,先收集并分别确定各个操作系统的架构参数,通过架构参数将第一内核文件和内网管理工具进行关联。从而在应用程序启动,能够及时从内网获得所需的目标内核文件。进而在无法连接互联网的场景下,达到减轻应用程序安装包和终端系统内存占用的目的,满足轻量化应用程序安装包的要求,而且降低了升级应用程序的维护成本。
本申请的一个实施例中,第一内核文件以驱动安装包的形式存储,关联内网管理工具和不同操作系统的架构参数相应的第一内核文件之前,还包括:按照不同操作系统的架构参数获取对应的驱动安装包,驱动安装包携带有第一签名密钥;匹配第一签名密钥和本地操作系统中存储的第二签名密钥;在第一签名密钥和第二签名密钥匹配的情况下,解压驱动安装包中的第一内核文件,并第一内核文件存储至内网管理工具对应的数据库;在第一签名密钥和第二签名密钥不匹配的情况下,输出警告信息,以提示驱动安装包为非法状态。
其中,第一签名密钥与第二签名密钥为预先生成的签名密钥对,第一签名密钥用于表征驱动安装包的唯一身份标识,第二签名密钥存储于本地操作系统中,以作为与第一签名密钥相匹配的验证签名密钥。
在该实施例中,第一内核文件可以以驱动安装包的形式存储于内网管理工具对应的数据库,在匹配到与本地操作系统的架构参数适配的驱动安装包时,获取其携带的第一签名密钥,将其与本地操作系统中存储的第二签名密钥进行匹配。若二者匹配,则说明当前驱动安装包为合法状态,以进一步释放其中的第一内核文件,并将释放出的第一内核文件存储至内网管理工具对应的数据库,以实现内网管理工具和第一内核文件的关联。从而在保证本地操作系统安全运行和内网中数据的安全性的同时,实现内核文件的脱网管理,从而在脱离互联网运行应用程序时,无需在应用程序的安装包或系统内存中内嵌大量的内核文件,降低了应用安装包交付成本,节省终端系统空间占用,有利于降低应用程序后续的维护成本。
具体地,获取不同操作系统的架构参数对应的驱动安装包步骤具体包括:建立至少两个终端之间的信息交互,至少两个终端中包括运行本地操作系统的目标终端;接收至少两个终端中其他终端发送的驱动安装包,值得一提的是,本申请实施例对信息交互的方式不做具体限定。或者,在目标终端连接互联网的情况下,按照不同操作系统的架构参数下载驱动安装包。
进一步地,在第一签名密钥和第二签名密钥不匹配的情况下,则说明当前驱动文件被修改或被替换过,如果继续释放,可能存在被攻击的风险。此时,输出警告信息,以提示驱动安装包为非法状态。从而避免存储于内网的驱动安装包被恶意植入非法文件,以致于本地操作系统遭受攻击的情况的发生,进一步提升本地操作系统的运行安全性。
如图2所示,在具体的应用场景中。首先安装客户端,在用户首次启动客户端时,先获取与当前使用的本地操作系统适配的内核版本。按照该内核版本优先对客户端驱动程序自身的默认目录进行遍历,以确定默认目录中是否可与系统匹配的目标内核文件。当默认目录中存在所需的目标内核文件时,直接加载该目标内核文件。当默认目录中不存在所需的目标内核文件时,借助于内网管理工具分发所需的目标内核文件到驱动程序预定的系统非保护目录,然后程序到系统非保护目录中检索目标内核文件并执行目标内核文件的加载操作,最终完成产品内核文件的加载。
进一步的,作为对上述图1所示方法的实现,本申请实施例提供了一种应用程序的启动装置200,如图3所示,该装置包括:查询模块202,内网管理模块204,加载模块206。
其中,查询模块202,用于响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;内网管理模块204,用于在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件;加载模块206,用于加载目标内核文件,以启动应用程序。
在具体的应用场景中,内网管理模块204,还用于通过内网管理工具,按照预设存储路径,将目标内核文件分发至存储空间。
在具体的应用场景中,内网管理模块204,具体包括:
第一获取模块(图中未示出),用于获取本地操作系统的架构参数;遍历模块(图中未示出),用于按照本地操作系统的架构参数,遍历内网管理工具关联的第一内核文件;调取模块(图中未示出),用于在第一内核文件包含有目标内核文件的情况下,调取目标内核文件;其中,本地操作系统的架构参数包括以下至少一种:硬件架构类别、硬件架构版本、编译版本、内核版本。
在具体的应用场景中,应用程序的启动装置200还包括:
第一输出模块(图中未示出),用于在第一内核文件不包含目标内核文件的情况下,输出提示信息。
在具体的应用场景中,第一获取模块,具体包括:
执行模块(图中未示出),用于指示本地操作系统执行指定命令,生成执行结果;第一匹配模块(图中未示出),用于匹配执行结果和预期执行结果,预期执行结果用于表征基于不同操作系统的硬件架构执行指定命令得到的预期执行结果;确定模块(图中未示出),用于将与执行结果相匹配的预期执行结果,确定为本地操作系统的架构参数。
在具体的应用场景中,应用程序的启动装置200还包括:
第二获取模块(图中未示出),用于分别获取不同操作系统的架构参数;关联模块(图中未示出),用于关联内网管理工具和不同操作系统的架构参数相应的第一内核文件。
在具体的应用场景中,第一内核文件以驱动安装包的形式存储,应用程序的启动装置200还包括:
第三获取模块(图中未示出),用于按照不同操作系统的架构参数获取对应的驱动安装包,驱动安装包携带有第一签名密钥;第二匹配模块(图中未示出),用于匹配第一签名密钥和本地操作系统中存储的第二签名密钥;存储模块(图中未示出),用于在第一签名密钥和第二签名密钥匹配的情况下,解压驱动安装包中的第一内核文件,并第一内核文件存储至内网管理工具对应的数据库;第二输出模块(图中未示出),用于在第一签名密钥和第二签名密钥不匹配的情况下,输出警告信息,以提示驱动安装包为非法状态。
本申请提供了一种应用程序的启动装置,首先获取应用程序的启动指令,响应于该指令从所述应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件,以通过目标内核文件驱动应用程序启动。当存储空间内未查询到所需的目标内核文件时,说明以存储空间内存储的数据无法正常启动应用程序。则利用本地的内网管理工具从内网数据库中调取与本地操作系统匹配的目标内核文件,再获得新的内核文件后,再执行应用程序的启动指令。一方面,无需在应用程序的安装包或系统内存中内嵌大量的内核文件,以降低应用安装包和系统空间的占用,从而降低了应用安装包交付成本,节省终端系统空间占用,有利于降低应用程序后续的维护成本;另一方面,在脱离互联网运行应用程序时,可直接通过内网管理工具获取驱动所需的内核文件,以实现应用程序与不同操作系统内核之间的适配,进一步完成应用程序的启动需求。
根据本申请一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用程序的启动方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
图4示出了根据本申请一个实施例提供的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)、以及通信总线308。
其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述接口的应用程序的启动方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:
响应于应用程序的启动指令,从应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;在存储空间内未查询到目标内核文件的情况下,通过本地操作系统的内网管理工具调取目标内核文件,内网管理工具关联有与不同操作系统匹配的第一内核文件,第一内核文件包括目标内核文件;加载目标内核文件,以启动应用程序。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述应用程序的启动实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本申请的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
Claims (10)
1.一种应用程序的启动方法,其特征在于,包括:
响应于所述应用程序的启动指令,从所述应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;
在所述存储空间内未查询到所述目标内核文件的情况下,通过所述本地操作系统的内网管理工具调取所述目标内核文件,所述内网管理工具关联有与不同操作系统匹配的第一内核文件,所述第一内核文件包括所述目标内核文件;
加载所述目标内核文件,以启动所述应用程序;
所述通过所述本地操作系统的内网管理工具调取所述目标内核文件,具体包括:
获取所述本地操作系统的架构参数;
按照所述本地操作系统的架构参数,遍历所述内网管理工具关联的所述第一内核文件;
在所述第一内核文件包含有所述目标内核文件的情况下,调取所述目标内核文件。
2.根据权利要求1所述的应用程序的启动方法,其特征在于,所述通过所述本地操作系统的内网管理工具调取所述目标内核文件之后,所述方法还包括:
通过所述内网管理工具,按照预设存储路径,将所述目标内核文件分发至所述存储空间。
3.根据权利要求1所述的应用程序的启动方法,其特征在于,
所述本地操作系统的架构参数包括以下至少一种:硬件架构类别、硬件架构版本、编译版本、内核版本。
4.根据权利要求1所述的应用程序的启动方法,其特征在于,所述方法还包括:
在所述第一内核文件不包含所述目标内核文件的情况下,输出提示信息。
5.根据权利要求1所述的应用程序的启动方法,其特征在于,所述获取所述本地操作系统的架构参数,具体包括:
指示所述本地操作系统执行指定命令,生成执行结果;
匹配所述执行结果和预期执行结果,所述预期执行结果用于表征基于不同操作系统的架构参数执行所述指定命令得到的预期执行结果;
将与所述执行结果相匹配的所述预期执行结果,确定为所述本地操作系统的架构参数。
6.根据权利要求1至5中任一项所述的应用程序的启动方法,其特征在于,所述通过所述本地操作系统的内网管理工具调取所述目标内核文件之前,所述方法还包括:
分别获取不同操作系统的架构参数;
关联所述内网管理工具和所述不同操作系统的架构参数相应的所述第一内核文件。
7.根据权利要求6所述的应用程序的启动方法,其特征在于,所述内核文件以驱动安装包的形式存储,所述关联所述内网管理工具和所述不同操作系统的架构参数相应的所述第一内核文件之前,所述方法还包括:
按照所述不同操作系统的架构参数获取对应的驱动安装包,所述驱动安装包携带有第一签名密钥;
匹配所述第一签名密钥和所述本地操作系统中存储的第二签名密钥;
在所述第一签名密钥和所述第二签名密钥匹配的情况下,解压所述驱动安装包中的所述内核文件,并将所述驱动安装包中的所述内核文件存储至内网管理工具对应的数据库;
在所述第一签名密钥和所述第二签名密钥不匹配的情况下,输出警告信息,以提示所述驱动安装包为非法状态。
8.一种应用程序的启动装置,其特征在于,包括:
查询模块,用于响应于所述应用程序的启动指令,从所述应用程序对应的本地操作系统的存储空间中查询与本地操作系统匹配的目标内核文件;
内网管理模块,用于在所述存储空间内未查询到所述目标内核文件的情况下,通过所述本地操作系统的内网管理工具调取所述目标内核文件,所述内网管理工具关联有与不同操作系统匹配的第一内核文件,所述第一内核文件包括所述目标内核文件;
加载模块,用于加载所述目标内核文件,以启动所述应用程序;
所述内网管理模块,具体包括:
第一获取模块,用于获取所述本地操作系统的架构参数;
遍历模块,用于按照所述本地操作系统的架构参数,遍历所述内网管理工具关联的所述第一内核文件;
调取模块,用于在所述第一内核文件包含有所述目标内核文件的情况下,调取所述目标内核文件。
9.一种存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1至7中任一项所述的应用程序的启动方法对应的操作。
10.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至7中任一项所述的应用程序的启动方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111676879.8A CN114296835B (zh) | 2021-12-31 | 2021-12-31 | 应用程序的启动方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111676879.8A CN114296835B (zh) | 2021-12-31 | 2021-12-31 | 应用程序的启动方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114296835A CN114296835A (zh) | 2022-04-08 |
CN114296835B true CN114296835B (zh) | 2024-02-13 |
Family
ID=80974872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111676879.8A Active CN114296835B (zh) | 2021-12-31 | 2021-12-31 | 应用程序的启动方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296835B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114911539B (zh) * | 2022-05-17 | 2024-05-14 | 武汉深之度科技有限公司 | 一种运行系统的启动方法及计算设备 |
CN117827277A (zh) * | 2024-03-05 | 2024-04-05 | 浙江省北大信息技术高等研究院 | 操作系统的多内核适配装置、方法及工业物联网操作系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005031569A1 (en) * | 2003-09-26 | 2005-04-07 | Finite State Machine Labs, Inc. | Systems and methods for dynamically linking application software into a running operating system kernel |
CN104965723A (zh) * | 2014-10-09 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 应用程序的运行方法及装置 |
CN112000382A (zh) * | 2020-08-26 | 2020-11-27 | 绿盟科技集团股份有限公司 | 一种Linux系统启动方法、装置及可读存储介质 |
CN112685106A (zh) * | 2021-01-19 | 2021-04-20 | 北京爱奇艺科技有限公司 | 应用程序的启动方法、系统、装置、电子设备及存储介质 |
CN112988252A (zh) * | 2021-04-26 | 2021-06-18 | 统信软件技术有限公司 | 一种操作系统启动方法及计算设备 |
-
2021
- 2021-12-31 CN CN202111676879.8A patent/CN114296835B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005031569A1 (en) * | 2003-09-26 | 2005-04-07 | Finite State Machine Labs, Inc. | Systems and methods for dynamically linking application software into a running operating system kernel |
CN104965723A (zh) * | 2014-10-09 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 应用程序的运行方法及装置 |
CN112000382A (zh) * | 2020-08-26 | 2020-11-27 | 绿盟科技集团股份有限公司 | 一种Linux系统启动方法、装置及可读存储介质 |
CN112685106A (zh) * | 2021-01-19 | 2021-04-20 | 北京爱奇艺科技有限公司 | 应用程序的启动方法、系统、装置、电子设备及存储介质 |
CN112988252A (zh) * | 2021-04-26 | 2021-06-18 | 统信软件技术有限公司 | 一种操作系统启动方法及计算设备 |
CN113434205A (zh) * | 2021-04-26 | 2021-09-24 | 统信软件技术有限公司 | 一种操作系统启动方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114296835A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114296835B (zh) | 应用程序的启动方法和装置 | |
KR101343148B1 (ko) | 자동화된 디바이스 드라이버 관리 | |
US7823023B2 (en) | Test framework for testing an application | |
US6202207B1 (en) | Method and a mechanism for synchronized updating of interoperating software | |
JP3385590B2 (ja) | コンピュータ・ネットワークを通してコンピュータ・プログラムを更新する場合に使用するためのソフトウエア更新プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US8799890B2 (en) | Generating a version identifier for a computing system based on software packages installed on the computing system | |
US8316224B2 (en) | Systems and methods for tracking a history of changes associated with software packages and configuration management in a computing system | |
US20110055826A1 (en) | Systems and methods for tracking a history of changes associated with software packages in a computing system | |
CN112083951B (zh) | 一种支持多操作系统平台的软件包统一管理方法及系统 | |
JP2015165417A (ja) | ネットワーク化されたリカバリシステム | |
CN1282915A (zh) | 在应用程序模块不工作时自动卸载的方法和装置 | |
US20060156129A1 (en) | System for maintaining data | |
US20090055817A1 (en) | Software update syndication | |
CN101719073A (zh) | 一种基于智能客户端的按需下载实现方法 | |
US11775288B2 (en) | Method and apparatus for generating difference between old and new versions of data for updating software | |
US20070282801A1 (en) | Dynamically creating and executing an application lifecycle management operation | |
US9424113B2 (en) | Virtual appliance deployment | |
CN112134908B (zh) | 应用适配方法及服务器、介质、车载多媒体系统 | |
JP2007080167A (ja) | ソフトウェア資源配信システムと方法およびプログラム | |
CN110704025A (zh) | 编码规范工具的生成方法和装置、存储介质、电子设备 | |
US20180341475A1 (en) | Just In Time Deployment with Package Managers | |
CN111046389A (zh) | 固件组件安全更新的方法以及用以实施的携行计算机站 | |
CN113608802A (zh) | 一种免安装运行rpa流程的方法及系统 | |
JP2015049714A (ja) | ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法、及びプログラム | |
CN113779000B (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 | ||
CB02 | Change of applicant information |
Address after: 100032 NO.332, 3rd floor, Building 102, 28 xinjiekouwai street, Xicheng District, Beijing Applicant after: Qianxin Technology Group Co.,Ltd. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: 100032 NO.332, 3rd floor, Building 102, 28 xinjiekouwai street, Xicheng District, Beijing Applicant before: Qianxin Technology Group Co.,Ltd. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |