CN109298891B - 系统启动方法和装置、系统编译方法和装置 - Google Patents
系统启动方法和装置、系统编译方法和装置 Download PDFInfo
- Publication number
- CN109298891B CN109298891B CN201811037731.8A CN201811037731A CN109298891B CN 109298891 B CN109298891 B CN 109298891B CN 201811037731 A CN201811037731 A CN 201811037731A CN 109298891 B CN109298891 B CN 109298891B
- Authority
- CN
- China
- Prior art keywords
- file
- image file
- length
- loading
- data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Abstract
本申请涉及一种系统启动方法和装置、系统编译方法和装置。所述方法包括:在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种系统启动方法和装置、系统编译方法和装置。
背景技术
随着通信技术的发展,越来越多的数据都可以通过网络进行传输。其中,通信技术也应用到摄像机上,使得摄像机也可以通过网络对采集到的图像进行传输。
然而,随着网络摄像机的应用越来越广泛,对网络摄像机的要求也越来越高,在传统的网络摄像机的系统启动过程中,需要加载较多的系统启动数据,导致网络摄像机的系统启动速度较慢。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高系统启动速度的系统启动方法和装置、系统编译方法和装置。
一种系统启动方法,所述方法包括:
当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;
解压所述文件压缩部分,得到系统启动数据;
根据所述系统启动数据启动系统;
获取所述系统镜像文件中的文件剩余部分;
根据所述文件剩余部分加载系统功能。
一种系统编译方法,所述方法包括:
获取原始镜像文件中的系统启动数据;
对所述系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;
获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;
根据所述原始长度和所述压缩文件长度,从所述原始镜像文件中提取文件剩余部分;
将所述文件压缩部分和所述文件剩余部分合并,生成系统镜像文件。
一种系统启动装置,其特征在于,所述装置包括:
文件获取模块,用于检测到所述系统启动指令时,获取系统镜像文件中的文件压缩部分;获取系统镜像文件中的文件剩余部分;
文件解压模块,用于解压所述文件压缩部分,得到系统启动数据;
系统启动模块,用于根据所述系统启动数据启动系统;
系统加载模块,用于根据所述文件剩余部分加载系统功能。
一种系统编译装置,其特征在于,所述装置包括:
数据获取模块,用于获取原始镜像文件中的系统启动数据;
文件压缩模块,用于对所述系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;
长度获取模块,用于获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;
文件提取模块,用于根据所述原始长度和所述压缩文件长度,从所述原始镜像文件中提取文件剩余部分;
文件合并模块,用于将所述文件压缩部分和所述文件剩余部分合并,生成系统镜像文件。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;
解压所述文件压缩部分,得到系统启动数据;
根据所述系统启动数据启动系统;
获取所述系统镜像文件中的文件剩余部分;
根据所述文件剩余部分加载系统功能。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;
解压所述文件压缩部分,得到系统启动数据;
根据所述系统启动数据启动系统;
获取所述系统镜像文件中的文件剩余部分;
根据所述文件剩余部分加载系统功能。
上述系统启动方法和装置、系统编译方法和装置,在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
附图说明
图1为一个实施例中系统启动方法的流程示意图;
图2为一个实施例中获取系统镜像文件中的文件压缩部分的步骤的流程示意图;
图3为一个实施例中根据系统启动数据启动系统的步骤的流程示意图;
图4为一个实施例中根据文件剩余部分加载系统功能的步骤的流程示意图;
图5为一个实施例中系统编译方法的流程示意图;
图6为一个实施例中获取原始镜像文件中的系统启动数据的步骤的流程示意图;
图7为一个实施例中原始镜像文件的编译示意图;
图8为一个实施例中系统启动装置的结构框图;
图9为一个实施例中系统编译装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种系统启动方法,该方法应用在安装有操作系统的计算机设备上,该计算机设备可以是网络摄像机。本方法具体包括以下步骤:
步骤102,当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分。
其中,系统启动指令是系统上电后,通过系统引导进入启动阶段。进入启动阶段具体可以通过UBOOT(全称Universal Boot Loader)进行系统引导。系统镜像文件是系统在启动时加载的镜像文件,用于启动系统并加载系统功能。所谓镜像文件和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用。文件压缩部分是系统镜像文件的一部分,包含系统启动数据。
具体地,当计算机设备检测到通过系统引导进入启动阶段时,加载系统参数,从系统参数中获取系统镜像文件对应的闪存地址和压缩文件长度。计算机设备根据系统镜像文件对应的闪存地址在闪存中查询系统镜像文件,并根据压缩文件长度,从系统镜像文件中读取文件压缩部分,将读取到的文件压缩部分加载到内存。
在一个实施例中,计算机设备根据闪存地址在闪存中查询系统镜像文件,对查询到的系统镜像文件进行复制得到系统镜像文件副本,根据压缩文件长度从系统镜像文件副本中读取文件压缩部分。
步骤104,解压文件压缩部分,得到系统启动数据。
其中,系统启动数据包含了系统启动过程中的关键数据。
具体地,计算机设备获取到文件压缩部分,确定文件压缩部分对应的文件压缩方式,根据与文件压缩方式对应的文件解压方式,对加载到内存中的文件压缩部分进行解压,得到系统启动数据。
步骤106,根据系统启动数据启动系统。
具体地,计算机设备获取系统启动数据的内存加载地址,将系统启动数据加载到与内存加载地址对应的内存空间中,读取加载到内存空间中的系统启动数据,根据读取到的系统启动数据启动系统。
在一个实施例中,当未获取到压缩文件长度时,计算机设备从系统参数中获取系统镜像文件对应的闪存地址和系统启动数据的文件长度,根据系统启动数据的文件长度读取系统启动数据。获取系统启动数据的内存加载地址,将系统启动数据加载到与内存加载地址对应的内存空间中,读取加载到内存空间中的系统启动数据,根据读取到的系统启动数据启动系统。
步骤108,获取系统镜像文件中的文件剩余部分。
其中,文件剩余部分是系统镜像文件中除去文件压缩部分余下的部分镜像文件。
具体地,计算机设备获取系统镜像文件的总长度和文件压缩部分对应的压缩文件长度,根据系统镜像文件的总长度和压缩文件长度确定文件剩余部分的剩余长度,根据文件剩余部分的剩余长度从系统镜像文件中提取文件剩余部分。
在一个实施例中,计算机设备从对系统镜像文件进行复制,得到系统镜像文件副本,根据文件压缩部分对应的压缩文件长度确定系统镜像文件副本中的文件压缩部分,从系统镜像文件副本中删除确定的文件压缩部分,得到文件剩余部分。
步骤110,根据文件剩余部分加载系统功能。
其中,系统功能是系统正常工作时能够实现的功能。文件剩余部分中包括系统启动后能够实现系统功能的数据。
具体地,计算机设备的系统启动后,计算机设备将获取到的文件剩余部分加载到内存运行内存中的文件剩余部分,通过运行内存中的文件剩余部分为系统加载系统功能。
在一个实施例中,当完整的系统镜像文件被压缩时,计算机设备以系统镜像文件对应的闪存地址读取压缩后的系统镜像文件,对压缩后的系统镜像文件进行解压,得到解压后的系统镜像文件,从解压后的系统镜像文件中提取系统启动数据和文件剩余部分,根据系统启动数据启动系统,根据文件剩余部分对启动后的系统加载系统功能,以完成系统的正常启动。
本实施例中,在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
如图2所示,在一个实施例中,步骤102具体还包括获取系统镜像文件中的文件压缩部分的步骤,该步骤具体包括如下步骤:
步骤202,获取系统镜像文件对应的闪存地址和压缩文件长度。
其中,闪存(Flash Memory)是一种非易失性的存储器,在断电情况下仍能保持所存储的数据信息。闪存地址是系统镜像文件在系统闪存中的存储地址。压缩文件长度是文件压缩部分的长度,例如当压缩文件长度为N时,表示文件压缩部分是长度为N个字节的文件。
具体地,计算机设备读取预先配置的系统参数,从读取到的系统参数中提取,系统镜像文件的闪存地址和系统镜像文件中文件压缩部分的压缩文件长度。
步骤204,根据闪存地址在闪存中查询系统镜像文件。
具体地,计算机设备在获取到系统镜像文件的闪存地址后,确定与闪存地址对应的闪存空间,在确定的闪存空间中查询存储的系统镜像文件。
步骤206,根据压缩文件长度从闪存中的系统镜像文件中,读取文件压缩部分。
具体地,计算机设备根据系统镜像文件对应的闪存地址和压缩文件长度,确定文件压缩部分在闪存中的起始地址和结束地址,并将起始地址与结束地址间的文件压缩部分加载到内存中。
在一个实施例中,计算机设备以系统镜像文件对应的闪存地址作为文件压缩部分在闪存中的起始地址,根据闪存地址和压缩文件长度确定文件压缩部分在闪存中的结束地址,根据起始地址和结束地址读取文件压缩部分。
在一个实施例中,计算机设备将闪存地址和压缩文件长度相加,得到文件压缩部分在闪存中的结束地址。
本实施例中,系统获取系统镜像文件对应的闪存地址和压缩文件长度,在闪存中查询到与闪存地址对应的系统镜像文件后,根据压缩文件长度从系统镜像文件中读取文件压缩部分,通过系统镜像文件对应的闪存地址和压缩文件长度,从系统镜像文件中读取文件压缩部分,提高了对文件压缩部分读取的速度。
如图3所示,在一个实施例中,步骤106具体还包括根据系统启动数据启动系统的步骤,该步骤具体包括如下步骤:
步骤302,获取内存加载地址。
具体地,计算机设备获取预设的系统参数,从预设的系统参数中提取内存加载地址。预设的系统参数为预先设定好的用于启动系统的参数。
步骤304,根据内存加载地址将系统启动数据加载到内存。
具体地,计算机设备获取内存加载地址后,根据内存加载地址查询内存空间,将系统启动数据加载到查询到的内存空间中。
举例说明,计算机设备获取到的的内存加载地址为0x80008000,计算机设备获取到内存加载地址0x80008000后,查询与内存加载地址0x80008000对应的内存空间,将系统启动数据加载到以地址0x80008000开始的内存空间中。
步骤306,根据加载到内存的系统启动数据启动系统。
具体地,计算机设备读取加载到内存中的系统启动数据,根据读取到的系统启动数据运行系统启动程序,根据运行的系统启动程序启动系统。
举例说明,计算机设备从内存加载地址0x80008000开始读取系统启动数据,根据系统启动数据启动系统,计算机设备获取初始启动图像,展示初始启动图片,完成初步启动。
本实施例中,获取内存地址,根据内存加载地址将系统启动数据加载到内存,根据系统启动数据启动系统,通过运行解压到内存中的系统启动数据启动系统,提升了系统启动的速度。
如图4所示,在一个实施例中,步骤110具体还包括根据文件剩余部分加载系统功能的步骤,该步骤具体包括如下步骤:
步骤402,获取文件剩余部分中的功能加载部分的功能文件长度。
其中,文件剩余部分包括文件填充部分与功能加载部分。原始镜像文件包括系统启动数据和功能加载部分。
具体地,计算机设备对原始镜像文件编译时,根据系统编译脚本确定系统启动数据在原始镜像文件中的文件长度。计算机设备获取原始镜像文件的原始长度和原始镜像文件中系统启动数据的文件长度,根据原始长度和系统启动数据的文件长度得到功能加载部分的功能文件长度。
步骤404,根据功能文件长度从文件剩余部分中读取功能加载部分。
具体地,计算机获取系统镜像文件对应的闪存地址,根据获取到的闪存地址确定系统镜像文件在闪存中的起始地址和结束地址。计算机设备根据功能加载部分的功能文件长度和系统镜像文件在闪存中的结束地址,确定功能加载部分在闪存中的起始地址和结束地址,根据确定的起始地址和结束地址从读取功能加载部分。
在一个实施例中,计算机设备将系统镜像文件在闪存中的结束地址减去功能加载部分的功能文件长度,得到功能加载部分的起始地址,根据功能加载部分的起始地址和系统镜像文件在闪存中的结束地址,读取功能加载部分。
步骤406,根据功能加载部分加载系统功能。
具体地,计算机设备将读取到的功能加载部分加载到内存中,从内存中读取功能加载部分,运行读取到的功能加载部分,根据运行的功能加载部分加载系统功能。
本实施例中,获取文件剩余部分中的功能加载部分的功能文件长度,根据功能文件长度从文件剩余部分中读取功能加载部分,根据功能加载部分为启动的系统添加系统功能,使系统完全启动,保证系统的正常运行的。
在一个实施例中,如图5所示,提供了一种系统编译方法,本实施例以该方法应用在具有编译功能的计算机设备上,计算机设备可以是电脑终端。本方法具体包括以下步骤:
步骤502,获取原始镜像文件中的系统启动数据。
具体地,计算机设备获取系统编译脚本和原始镜像文件,根据系统编译脚本确定系统启动数据在原始镜像文件中的文件长度,并根据文件长度从原始镜像文件中复制系统启动数据。
在一个实施例中,计算机设备获取到原始镜像文件后,根据系统启动数据在镜像文件中的文件长度,查询原始镜像文件中的系统启动数据,对原始镜像文件中的系统启动数据进行复制,提取到系统启动数据。
例如,在系统编译过程中,计算机设备通过复制命令从原始镜像文件中复制系统启动数据,复制命令可以是Linux系统中的dd命令。
步骤504,对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分。
具体地,计算机设备确定预设的数据压缩方式,根据预设的数据压缩方式对系统启动数据进行压缩,经过压缩得到文件压缩部分。文件压缩部分为系统镜像文件中的一部分。
在一个实施例中,计算机设备获取压缩命令,根据压缩命令对系统启动数据进行压缩,通过压缩得到系统镜像文件的文件压缩部分。
举例说明,计算机设备lzma命令调用lzma压缩工具对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分。lzma(Lempel-Ziv-Markov chain-Algorithm)是一种基于LZ77压缩算法改进的压缩工具。在一个实施例中,lzma压缩工具可以是海思lzma压缩工具,计算机设备通过海思lzma压缩工具对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分。
步骤506,获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度。
具体地,计算机设备对原始镜像文件的长度进行统计,得到原始镜像文件的原始长度;对文件压缩部分的长度进行统计,得到文件压缩部分的压缩文件长度。
在一个实施例中,计算机设备获取文件长度获取命令,根据文件长度获取命令获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度。文件长度获取命令可以是Linux系统中的du命令。du命令是Linux中的命令,用于统计目录或文件所占磁盘空间的大小。
步骤508,根据原始长度和压缩文件长度,从原始镜像文件中提取文件剩余部分。
具体地,计算机设备根据原始长度和压缩文件长度,得到原始镜像文件中的文件剩余部分的长度,根据文件剩余部分的长度从原始镜像文件中提取文件剩余部分。
在一个实施例中,计算机设备将原始长度减去压缩文件长度,得到原始镜像文件中文件剩余部分的长度。
在一个实施例中,计算机设备获取剩余部分获取命令,根据剩余部分获取命令,确定原始镜像文件中与文件剩余部分的长度匹配的文件剩余部分,获取确定的文件剩余部分。举例说明,剩余部分获取命令可以是用于输出文件的末尾部分的tail命令。
步骤510,将文件压缩部分和文件剩余部分合并,生成系统镜像文件。
具体地,计算机设备将文件压缩部分和文件剩余部分拼接合并,得到系统镜像文件。
在一个实施例中,计算机设备可以将文件压缩部分的尾部与文件剩余部分的头部拼接,得到系统镜像文件。计算机设备还可以将文件压缩部分的头部与文件剩余部分的尾部拼接,得到系统镜像文件。
在一个实施例中,计算机设备获取文件拼接指令,根据文件拼接指令将文件压缩部分和文件剩余部分拼接,得到系统镜像文件。举例说明,文件拼接指令可以是cat命令,cat命令为用于显示或把多个文本文件连接起来的命令。
本实施例中,在系统编译时,获取原始镜像文件中的系统启动数据,对系统启动数据进行压缩得到文件压缩部分,根据获取的原始镜像文件的原始长度和文件压缩部分的压缩文件长度,从原始镜像文件中提取文件剩余部分,将文件压缩部分和文件剩余部分合并,生成系统镜像文件。这样可以保证在系统启动时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。
如图6所示,在一个实施例中,步骤502具体还包括获取原始镜像文件中的系统启动数据的步骤,该步骤具体包括以下内容:
步骤602,获取系统编译脚本和原始镜像文件。
其中,系统编译脚本为用于对原始镜像文件进行编译所用的格式文件。系统编译脚本中包括控制计算机进行一系列操作的数据。
具体地,编译脚本和系统编译脚本被存储在指定的存储空间中。计算机设备获取指定的存储地址,根据获取到的存储地址从指定的存储空间中读取系统编译脚本和原始镜像文件。
步骤604,根据系统编译脚本,确定系统启动数据在原始镜像文件的文件长度。
具体地,计算机查询读取系统编译脚本中文件长度获取命令,根据文件长度获取命令,统计系统启动数据在原始镜像文件的文件长度。
步骤606,根据文件长度从原始镜像文件中提取系统启动数据。
具体地,计算机设备在确定系统启动数据的文件长度时,根据文件长度确定原始镜像文件中的系统启动数据,对原始镜像文件中的系统启动数据进行复制,提取到系统启动数据。
本实施例中,获取系统编译脚本和原始镜像文件,根据系统编译脚本确定系统启动数据在原始镜像文件中的文件长度,根据确定的文件长度从原始镜像文件中提取系统启动数据,保证了从原始镜像文件中提取系统启动数据的准确性。
图7为一个实施例中生成系统镜像文件的示意图。具体地,参照图7,计算机设备对原始长度为M的原始镜像文件中的系统启动数据进行压缩,得到压缩文件长度为N的文件压缩部分,将原始镜像文件中提取长度为M-N的文件剩余部分,文件剩余部分中包括功能加载部分,将文件压缩部分和文件剩余部分合并生成系统镜像文件。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种系统启动装置800,包括:文件获取模块802、文件解压模块804、系统启动模块806、系统加载模块808,其中:
文件获取模块802,用于监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;获取系统镜像文件中的文件剩余部分。
文件解压模块804,用于解压文件压缩部分,得到系统启动数据。
系统启动模块806,用于根据系统启动数据启动系统。
系统加载模块808,用于根据文件剩余部分加载系统功能。
本实施例中,在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
在一个实施例中,文件获取模块802还用于获取系统镜像文件对应的闪存地址和压缩文件长度;根据闪存地址在闪存中查询系统镜像文件;根据压缩文件长度从闪存中的系统镜像文件中,读取文件压缩部分。
本实施例中,系统获取系统镜像文件对应的闪存地址和压缩文件长度,在闪存中查询到与闪存地址对应的系统镜像文件后,根据压缩文件长度从系统镜像文件中读取文件压缩部分,通过系统镜像文件对应的闪存地址和压缩文件长度,从系统镜像文件中读取文件压缩部分,提高了对文件压缩部分读取的速度。
在一个实施例中,系统启动模块806还用于获取内存加载地址;根据内存加载地址将系统启动数据加载到内存;根据加载到内存的系统启动数据启动系统。
本实施例中,获取内存地址,根据内存加载地址将系统启动数据加载到内存,根据系统启动数据启动系统,通过运行解压到内存中的系统启动数据启动系统,提升了系统启动的速度。在一个实施例中,系统加载模块808还用于获取功能加载部分的功能文件长度;根据功能文件长度从文件剩余部分中读取功能加载部分;根据功能加载部分加载系统功能。
本实施例中,获取文件剩余部分中的功能加载部分的功能文件长度,根据功能文件长度从文件剩余部分中读取功能加载部分,根据功能加载部分为启动的系统添加系统功能,使系统完全启动,保证系统的正常运行的。
在一个实施例中,如图9所示,提供了一种系统编译装置900,包括:数据获取模块902、文件压缩模块904、长度获取模块906、文件提取模块908、文件合并模块910,其中:
数据获取模块902,用于获取原始镜像文件中的系统启动数据。
文件压缩模块904,用于对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分。
长度获取模块906,用于获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度。
文件提取模块908,用于根据原始长度和压缩文件长度,从原始镜像文件中提取文件剩余部分。
文件合并模块910,用于将文件压缩部分和文件剩余部分合并,生成系统镜像文件。
本实施例中,在系统编译时,获取原始镜像文件中的系统启动数据,对系统启动数据进行压缩得到文件压缩部分,根据获取的原始镜像文件的原始长度和文件压缩部分的压缩文件长度,从原始镜像文件中提取文件剩余部分,将文件压缩部分和文件剩余部分合并,生成系统镜像文件。这样可以保证在系统启动时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。
在一个实施例中,数据获取模块902还用于获取系统编译脚本和原始镜像文件;根据系统编译脚本,确定系统启动数据在原始镜像文件的文件长度;根据文件长度从原始镜像文件中提取系统启动数据。
本实施例中,获取系统编译脚本和原始镜像文件,根据系统编译脚本确定系统启动数据在原始镜像文件中的文件长度,根据确定的文件长度从原始镜像文件中提取系统启动数据,保证了从原始镜像文件中提取系统启动数据的准确性。
关于系统启动装置、系统编译装置的具体限定可以参见上文中对于系统启动方法、系统编译方法的限定,在此不再赘述。上述系统启动装置、系统编译装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是安装有操作系统的计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和图像采集装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。图像采集装置用于采集当前场景的图像。该计算机程序被处理器执行时以实现一种系统启动方法。计算机设备可以是网络摄像机。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种系统编译方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10-11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;解压文件压缩部分,得到系统启动数据;根据系统启动数据启动系统;获取系统镜像文件中的文件剩余部分;根据文件剩余部分加载系统功能。
在一个实施例中,获取系统镜像文件中的文件压缩部分包括:获取系统镜像文件对应的闪存地址和压缩文件长度;根据闪存地址在闪存中查询系统镜像文件;根据压缩文件长度从闪存中的系统镜像文件中,读取文件压缩部分。
在一个实施例中,根据系统启动数据启动系统包括:获取内存加载地址;根据内存加载地址将系统启动数据加载到内存;根据加载到内存的系统启动数据启动系统。
在一个实施例中,根据文件剩余部分加载系统功能包括:获取文件剩余部分中的功能加载部分的功能文件长度;根据功能文件长度从文件剩余部分中读取功能加载部分;根据功能加载部分加载系统功能。
本实施例中,在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取原始镜像文件中的系统启动数据;对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;根据原始长度和压缩文件长度,从原始镜像文件中提取文件剩余部分;将文件压缩部分和文件剩余部分合并,生成系统镜像文件。
在一个实施例中,获取原始镜像文件中的系统启动数据包括:获取系统编译脚本和原始镜像文件;根据系统编译脚本,确定系统启动数据在原始镜像文件的文件长度;根据文件长度从原始镜像文件中提取系统启动数据。
本实施例中,在系统编译时,获取原始镜像文件中的系统启动数据,对系统启动数据进行压缩得到文件压缩部分,根据获取的原始镜像文件的原始长度和文件压缩部分的压缩文件长度,从原始镜像文件中提取文件剩余部分,将文件压缩部分和文件剩余部分合并,生成系统镜像文件。这样可以保证在系统启动时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:当监听到系统启动指令时,获取系统镜像文件中的文件压缩部分;解压文件压缩部分,得到系统启动数据;根据系统启动数据启动系统;获取系统镜像文件中的文件剩余部分;根据文件剩余部分加载系统功能。
在一个实施例中,获取系统镜像文件中的文件压缩部分包括:获取系统镜像文件对应的闪存地址和压缩文件长度;根据闪存地址在闪存中查询系统镜像文件;根据压缩文件长度从闪存中的系统镜像文件中,读取文件压缩部分。
在一个实施例中,根据系统启动数据启动系统包括:获取内存加载地址;根据内存加载地址将系统启动数据加载到内存;根据加载到内存的系统启动数据启动系统。
在一个实施例中,根据文件剩余部分加载系统功能包括:获取文件剩余部分中的功能加载部分的功能文件长度;根据功能文件长度从文件剩余部分中读取功能加载部分;根据功能加载部分加载系统功能。
本实施例中,在根据系统启动指令启动系统时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。在根据系统启动数据启动系统后,再获取系统镜像文件中的文件剩余部分,根据文件剩余部分加载系统功能,使得系统完全启动,从而大大提高了系统的启动速度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取原始镜像文件中的系统启动数据;对系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;根据原始长度和压缩文件长度,从原始镜像文件中提取文件剩余部分;将文件压缩部分和文件剩余部分合并,生成系统镜像文件。
在一个实施例中,获取原始镜像文件中的系统启动数据包括:获取系统编译脚本和原始镜像文件;根据系统编译脚本,确定系统启动数据在原始镜像文件的文件长度;根据文件长度从原始镜像文件中提取系统启动数据。
本实施例中,在系统编译时,获取原始镜像文件中的系统启动数据,对系统启动数据进行压缩得到文件压缩部分,根据获取的原始镜像文件的原始长度和文件压缩部分的压缩文件长度,从原始镜像文件中提取文件剩余部分,将文件压缩部分和文件剩余部分合并,生成系统镜像文件。这样可以保证在系统启动时,获取系统镜像文件中的文件压缩部分,文件压缩部分中包括系统启动数据,提高了获取系统启动数据的速度,从而提高了根据系统启动数据启动系统的速度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种系统启动方法,所述方法包括:
当监听到系统启动指令时,获取系统镜像文件对应的闪存地址和压缩文件长度,根据闪存地址在闪存中查询系统镜像文件,对查询到的所述系统镜像文件进行复制得到系统镜像文件副本,根据压缩文件长度从所述系统镜像文件副本中读取文件压缩部分;
解压所述文件压缩部分,得到系统启动数据;
根据所述系统启动数据启动系统;
从所述系统镜像文件副本中删除所述文件压缩部分,得到文件剩余部分;
根据所述文件剩余部分加载系统功能;
根据所述压缩文件长度从闪存中的系统镜像文件中,读取文件压缩部分。
2.根据权利要求1所述的方法,其特征在于,所述根据所述系统启动数据启动系统包括:
获取内存加载地址;
根据所述内存加载地址将所述系统启动数据加载到内存;
根据加载到内存的系统启动数据启动系统。
3.根据权利要求1所述的方法,其特征在于,所述根据所述文件剩余部分加载系统功能包括:
获取文件剩余部分中的功能加载部分的功能文件长度;
根据所述功能文件长度从所述文件剩余部分中读取所述功能加载部分;
根据所述功能加载部分加载系统功能。
4.一种系统编译方法,所述方法包括:
获取原始镜像文件中的系统启动数据;
对所述系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;
获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;
根据所述原始长度和所述压缩文件长度,从所述原始镜像文件中提取文件剩余部分;
将所述文件压缩部分和所述文件剩余部分合并,生成系统镜像文件,确定所述系统镜像文件所对应的闪存地址,将所述系统镜像文件存储在所述闪存地址中。
5.根据权利要求4所述的方法,其特征在于,所述获取原始镜像文件中的系统启动数据包括:
获取系统编译脚本和原始镜像文件;
根据所述系统编译脚本,确定系统启动数据在所述原始镜像文件的文件长度;
根据所述文件长度从所述原始镜像文件中提取系统启动数据。
6.一种系统启动装置,其特征在于,所述装置包括:
文件获取模块,用于当监听到系统启动指令时,获取系统镜像文件对应的闪存地址和压缩文件长度,根据闪存地址在闪存中查询系统镜像文件,对查询到的所述系统镜像文件进行复制得到系统镜像文件副本,根据压缩文件长度从所述系统镜像文件副本中读取文件压缩部分;以及,从所述系统镜像文件副本中删除所述文件压缩部分,得到文件剩余部分;
文件解压模块,用于解压所述文件压缩部分,得到系统启动数据;
系统启动模块,用于根据所述系统启动数据启动系统;
系统加载模块,用于根据所述文件剩余部分加载系统功能。
7.根据权利要求6所述的装置,其特征在于,系统启动模块包括:
内存加载地址获取单元,用于获取内存加载地址;
系统启动数据加载单元,用于根据所述内存加载地址将所述系统启动数据加载到内存;
系统启动单元,用于根据加载到内存的系统启动数据启动系统。
8.一种系统编译装置,其特征在于,所述装置包括:
数据获取模块,用于获取原始镜像文件中的系统启动数据;
文件压缩模块,用于对所述系统启动数据进行压缩,得到系统镜像文件的文件压缩部分;
长度获取模块,用于获取原始镜像文件的原始长度和文件压缩部分的压缩文件长度;
文件提取模块,用于根据所述原始长度和所述压缩文件长度,从所述原始镜像文件中提取文件剩余部分;
文件合并模块,用于将所述文件压缩部分和所述文件剩余部分合并,生成系统镜像文件,确定所述系统镜像文件所对应的闪存地址,将所述系统镜像文件存储在所述闪存地址中。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037731.8A CN109298891B (zh) | 2018-09-06 | 2018-09-06 | 系统启动方法和装置、系统编译方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811037731.8A CN109298891B (zh) | 2018-09-06 | 2018-09-06 | 系统启动方法和装置、系统编译方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109298891A CN109298891A (zh) | 2019-02-01 |
CN109298891B true CN109298891B (zh) | 2021-09-21 |
Family
ID=65166248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811037731.8A Active CN109298891B (zh) | 2018-09-06 | 2018-09-06 | 系统启动方法和装置、系统编译方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298891B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111552479A (zh) * | 2020-05-06 | 2020-08-18 | 湖南国科微电子股份有限公司 | 镜像文件编译方法、装置和电子设备 |
CN113656078A (zh) * | 2021-07-28 | 2021-11-16 | 北京车和家信息技术有限公司 | 设备启动方法、装置、存储介质及电子设备 |
CN113645412B (zh) * | 2021-10-15 | 2021-12-24 | 北京创米智汇物联科技有限公司 | 启动方法、装置、摄像机及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639782A (zh) * | 2009-07-14 | 2010-02-03 | 上海市共进通信技术有限公司 | 基于嵌入式操作系统的系统引导载入方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
CN104102506A (zh) * | 2014-04-25 | 2014-10-15 | 华南理工大学 | 一种基于ARM平台的Android启动加速方法 |
CN104750492A (zh) * | 2015-03-31 | 2015-07-01 | 广东欧珀移动通信有限公司 | 基于嵌入式操作系统的移动设备的开机控制方法及装置 |
CN105760201A (zh) * | 2016-02-29 | 2016-07-13 | 华为技术有限公司 | 一种嵌入式装置的启动方法和装置 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
-
2018
- 2018-09-06 CN CN201811037731.8A patent/CN109298891B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639782A (zh) * | 2009-07-14 | 2010-02-03 | 上海市共进通信技术有限公司 | 基于嵌入式操作系统的系统引导载入方法 |
CN102141923A (zh) * | 2010-09-28 | 2011-08-03 | 华为终端有限公司 | 内存文件系统加载方法及装置 |
CN104102506A (zh) * | 2014-04-25 | 2014-10-15 | 华南理工大学 | 一种基于ARM平台的Android启动加速方法 |
CN104750492A (zh) * | 2015-03-31 | 2015-07-01 | 广东欧珀移动通信有限公司 | 基于嵌入式操作系统的移动设备的开机控制方法及装置 |
CN105760201A (zh) * | 2016-02-29 | 2016-07-13 | 华为技术有限公司 | 一种嵌入式装置的启动方法和装置 |
CN108287733A (zh) * | 2017-12-19 | 2018-07-17 | 广东睿江云计算股份有限公司 | 一种虚拟机加载启动方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109298891A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11080066B2 (en) | Method for starting embedded apparatus, and apparatus | |
CN109298891B (zh) | 系统启动方法和装置、系统编译方法和装置 | |
CN108614718B (zh) | 启动操作系统的方法、装置和实现装置 | |
KR101467515B1 (ko) | 스냅샷 이미지를 이용한 부팅 장치 및 방법 | |
US20080216066A1 (en) | Program upgrade system and method for ota-capable mobile terminal | |
US8572054B2 (en) | Forward compatibility guaranteed data compression and decompression method and apparatus thereof | |
CN106909362B (zh) | Bmc固件生成的方法和装置、bmc系统启动的方法和装置 | |
CN110018859B (zh) | 设备启动方法、装置、计算机设备和存储介质 | |
JP2012059024A (ja) | 情報処理装置、起動制御方法、起動制御プログラム及び記録媒体 | |
CN105938436A (zh) | 一种操作系统的启动控制方法及终端 | |
CN108241516B (zh) | 嵌入式系统程序加载方法、装置、计算机设备和存储介质 | |
US8281289B2 (en) | Device, method, and program for generating and executing execution binary image, and computer-readable recording medium containing the execution binary image execution program | |
CN113672224A (zh) | 小程序页面代码生成方法、装置及计算机设备 | |
CN111708548A (zh) | 软件安装方法、装置、设备及存储介质 | |
CN111552517A (zh) | 应用程序启动方法、装置、电子设备及计算机存储介质 | |
KR102067974B1 (ko) | 화상 형성장치 및 어플리케이션의 삭제방법 | |
KR100640389B1 (ko) | Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치 | |
JP2017126293A (ja) | 情報処理装置及びリソース管理方法 | |
CN114327733A (zh) | 开机启动交互界面的动态更新方法、装置、设备及介质 | |
CN114020308A (zh) | 一种摄像设备升级方法、装置、设备及介质 | |
JP2010020416A (ja) | データ転送方法およびデータ転送装置 | |
CN112882782A (zh) | 页面生成方法、装置、计算机设备和存储介质 | |
CN112506526A (zh) | 数据呈现软件部署方法、装置及电子设备 | |
CN112269601A (zh) | 一种bmc及其部件资产信息管理方法、装置和存储介质 | |
JP4845497B2 (ja) | 電子装置及びその制御方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221219 Address after: 518000 1F218, Building B, Guoren Building, No. 5, Keji Middle Third Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Patentee after: Aizhi Technology (Shenzhen) Co.,Ltd. Address before: 518051 25 / F, block a, financial technology building, No. 11, Keyuan Road, Nanshan District, Shenzhen, Guangdong Province Patentee before: ZMODO TECHNOLOGY SHENZHEN Corp.,Ltd. |
|
TR01 | Transfer of patent right |