CN111078642B - 一种分布式快速加载文件的方法和装置 - Google Patents
一种分布式快速加载文件的方法和装置 Download PDFInfo
- Publication number
- CN111078642B CN111078642B CN201911290624.0A CN201911290624A CN111078642B CN 111078642 B CN111078642 B CN 111078642B CN 201911290624 A CN201911290624 A CN 201911290624A CN 111078642 B CN111078642 B CN 111078642B
- Authority
- CN
- China
- Prior art keywords
- file
- starting stage
- subdata
- loading
- stage
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种分布式快速加载文件的方法和装置,所述方法包括以下步骤:获取文件数据;根据各个启动阶段时间将文件数据切分为多个文件子数据;在某一个启动阶段时间内,将该启动阶段时间内需要加载的文件子数据加载至对应的内存空间中。采用上述方案,由于先将文件数据切分为多个子数据,各个子数据又是在不同的文件启动阶段进行加载,当开机启动完成后,文件对应也加载完成,计算机程序可以随时调用内存中加载完成的文件数据,从而提升了文件数据加载效率。
Description
技术领域
本发明涉及文件加载领域,特别涉及一种分布式快速加载文件的方法和装置。
背景技术
目前,文件数据一般需要被先加载到内存单元中,以便计算机程序需要时随时可以调用。以模型文件为例,模型加载方法都是在单一系统或者应用层阶段,也就是对应的rootfs阶段,从flash中读取模型文件加载到内存中。采用这样的方式,文件加载时间就取决于文件大小和flash读取速度,局限性较大。而如果在应用层启动后才开始进行算法模型加载工作,则需要等待模型加载完成才可以开始工作,算法开始工作时间会比较晚,从开机到算法开始工作需要较长时间。
发明内容
为此,需要提供一种分布式快速加载文件的技术方案,用以解决文件数据加载时间长的问题。
为实现上述目的,发明人提供了一种分布式快速加载文件的方法,所述方法包括以下步骤:
获取文件数据;
根据各个启动阶段时间将文件数据切分为多个文件子数据;
在某一个启动阶段时间内,将该启动阶段时间内需要加载的文件子数据加载至对应的内存空间中。
作为一种可选的实施例,所述启动阶段包括第一启动阶段和第二启动阶段,所述文件子数据包括第一文件子数据和第二文件子数据,所述内存空间包括第一内存段和第二内存段;所述方法包括以下步骤:
在第一启动阶段时间内将第一文件子数据加载至第一内存段,在第二启动阶段时间内将第二文件子数据加载至第二内存段;所述第二启动阶段为第一启动阶段的下一个启动阶段。
作为一种可选的实施例,所述第一内存段和第二内存段为连续内存段。
作为一种可选的实施例,所述启动阶段还包括第三启动阶段,所述文件子数据包括第三文件子数据,所述内存空间包括第三内存段;所述方法包括以下步骤:
在第三启动阶段时间内将第三文件子数据加载至第三内存段;
当接收到文件数据获取指令时,将第一内存段、第二内存段以及第三内存段中的文件子数据一并交给相应的计算机程序。
作为一种可选的实施例,所述第一启动阶段为loader阶段,第二启动阶段是kernel阶段,第三启动阶段是rootfs阶段。
发明人还提供了一种分布式快速加载文件的装置,所述装置用于执行如前文所述的方法。
本发明提供了一种分布式快速加载文件的方法和装置,所述方法包括以下步骤:获取文件数据;根据各个启动阶段时间将文件数据切分为多个文件子数据;在某一个启动阶段时间内,将该启动阶段时间内需要加载的文件子数据加载至对应的内存空间中。采用上述方案,由于先将文件数据切分为多个子数据,各个子数据又是在不同的文件启动阶段进行加载,当开机启动完成后,文件对应也加载完成,计算机程序可以随时调用内存中加载完成的文件数据,从而提升了文件数据加载效率。
附图说明
图1为本发明一实施例涉及的分布式快速加载文件的方法的流程图;
图2为本发明一实施例涉及的分布式快速加载文件的方法的示意图;
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
如图1所示,为本发明一实施例涉及的分布式快速加载文件的方法的流程图。所述方法包括以下步骤:
首先进入步骤S101获取文件数据。
在本实施方式中,所述文件数据为模型数据,如AI算法所需要的模型文件。当然,在另一些实施方式中,所述文件数据还可以为其他格式的数据。
而后进入步骤S102根据各个启动阶段时间将文件数据切分为多个文件子数据。
通常,系统启动会分为多个阶段,每个阶段根据当前系统的硬件配置会有相应的启动时间,为了保证在某一启动时间段内可以加载完成相应的数据量,因而本步骤在切分文件数据时,是根据各个启动阶段时间来切分的。启动阶段时间越长,则该启动阶段对应的文件子数据的数据量就越大。
而后进入步骤S103在某一个启动阶段时间内,将该启动阶段时间内需要加载的文件子数据加载至对应的内存空间中。
这样,当所有启动阶段完成后,文件数据也全部都加载完成,需要的计算机程序可以直接从内存中调用文件数据,有效提升了文件加载速度,缩小了文件加载的时间。
在某些实施例中,所述启动阶段包括第一启动阶段和第二启动阶段,所述文件子数据包括第一文件子数据和第二文件子数据,所述内存空间包括第一内存段和第二内存段;所述方法包括以下步骤:在第一启动阶段时间内将第一文件子数据加载至第一内存段,在第二启动阶段时间内将第二文件子数据加载至第二内存段;所述第二启动阶段为第一启动阶段的下一个启动阶段。优选的,所述第一内存段和第二内存段为连续内存段。这样,可以保证第一文件子数据和第二文件子数据在内存空间中是连续存储的,当需要被获取时只需获取第一文件子数据在内存空间中的起始地址至第二文件子数据在内存空间的终止地址即可。
在某些实施例中,所述启动阶段还包括第三启动阶段,所述文件子数据包括第三文件子数据,所述内存空间包括第三内存段;所述方法包括以下步骤:在第三启动阶段时间内将第三文件子数据加载至第三内存段;当接收到文件数据获取指令时,将第一内存段、第二内存段以及第三内存段中的文件子数据一并发送给相应的计算机程序。由于第三文件子数据被加载至第三内存段时,第一文件子数据和第二文件子数据已经分别被加载至第一内存段和第二内存段内,因而在第三文件子数据加载完成后,模型文件数据就已全部加载完成,相比于现有技术要在启动最后一个阶段完成后加载所有模型文件的方式,缩短了文件数据加载时间,提升了效率。
当然,在另一些实施例中,系统的启动阶段可能不止3个,如可以是4个,5个甚至更多,则文件数据也可以根据系统启动阶段的数量被切分为更多份,只需保证在系统的最后一个启动阶段完成时,模型文件全部加载至内存即可。
作为一种可选的实施例,上述方案涉及的方法可以应用在LINUX或安卓领域,则所述第一启动阶段为loader阶段,第二启动阶段是kernel阶段,第三启动阶段是rootfs阶段。
发明人还提供了一种分布式快速加载文件的装置,所述装置用于执行如前文所述的方法。
如图2所示,下面对本发明涉及的方法作进一步说明。本方案在系统开机启动的各个阶段分步接力式进行文件数据(如模型文件)的加载。现主流的系统会有各个启动阶段,而且这些阶段生命周期在下一个启动阶段时结束了,没办法持续的进行文件数据的加载。本申请充分利用各个阶段的启动时间进行模型文件的加载,具体步骤如下:
首先,在系统开机时保留一部分内存空间。
而后在启动阶段一将flash中模型文件的部分一加载到内存空间一(图2中的内存段1);
而后在启动阶段二获取启动阶段一的模型加载结果,然后继续将模型文件部分二搬运到内存空间二中;
在后续的启动阶段继续上一步的操作,最后完成模型文件加载并供给算法使用。
相较于现有模型文件加载只会在一个阶段进行的方式,而本专利充分利用启动时间,在各个阶段进行加载,加速了算法获取模型文件数据的时间。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (3)
1.一种分布式快速加载文件的方法,其特征在于,所述方法包括以下步骤:
获取文件数据;所述文件数据为模型数据;
根据各个启动阶段的时间长短将文件数据切分为多个文件子数据;
在某一个启动阶段时间内,将该启动阶段时间内需要加载的文件子数据加载至对应的内存空间中;
所述启动阶段包括第一启动阶段、第二启动阶段和第三启动阶段,所述文件子数据包括第一文件子数据、第二文件子数据和第三文件子数据,所述内存空间包括第一内存段、第二内存段和第三内存段;所述第一启动阶段为loader阶段,第二启动阶段是kernel阶段,第三启动阶段是rootfs阶段;
所述方法包括以下步骤:
在第一启动阶段时间内将第一文件子数据加载至第一内存段,在第二启动阶段时间内将第二文件子数据加载至第二内存段,在第三启动阶段时间内将第三文件子数据加载至第三内存段;所述第二启动阶段为第一启动阶段的下一个启动阶段,所述第三启动阶段为所述第二启动阶段的下一个启动阶段;
当接收到文件数据获取指令时,将第一内存段、第二内存段以及第三内存段中的文件子数据一并交给相应的计算机程序。
2.如权利要求1所述的分布式快速加载文件的方法,其特征在于,所述第一内存段和第二内存段为连续内存段。
3.一种分布式快速加载文件的装置,其特征在于,所述装置用于执行如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290624.0A CN111078642B (zh) | 2019-12-16 | 2019-12-16 | 一种分布式快速加载文件的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911290624.0A CN111078642B (zh) | 2019-12-16 | 2019-12-16 | 一种分布式快速加载文件的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078642A CN111078642A (zh) | 2020-04-28 |
CN111078642B true CN111078642B (zh) | 2022-08-26 |
Family
ID=70314627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911290624.0A Active CN111078642B (zh) | 2019-12-16 | 2019-12-16 | 一种分布式快速加载文件的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078642B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346194A (zh) * | 2014-04-18 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种启动文件加载方法、装置及电子设备 |
CN105760201A (zh) * | 2016-02-29 | 2016-07-13 | 华为技术有限公司 | 一种嵌入式装置的启动方法和装置 |
CN109460260A (zh) * | 2018-10-24 | 2019-03-12 | 福州瑞芯微电子股份有限公司 | 一种快速开机的方法和装置 |
CN109471671A (zh) * | 2017-09-06 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种程序冷启动方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10719372B2 (en) * | 2017-05-22 | 2020-07-21 | Oracle International Corporation | Dynamic parallelization of data loading |
-
2019
- 2019-12-16 CN CN201911290624.0A patent/CN111078642B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346194A (zh) * | 2014-04-18 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种启动文件加载方法、装置及电子设备 |
CN105760201A (zh) * | 2016-02-29 | 2016-07-13 | 华为技术有限公司 | 一种嵌入式装置的启动方法和装置 |
CN109471671A (zh) * | 2017-09-06 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种程序冷启动方法和系统 |
CN109460260A (zh) * | 2018-10-24 | 2019-03-12 | 福州瑞芯微电子股份有限公司 | 一种快速开机的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111078642A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7673131B2 (en) | Booting an operating system in discrete stages | |
EP2875466B1 (en) | Method and apparatus for performing virus scan during decompression of application installation package | |
CN108776897B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN104598254A (zh) | 一种安卓系统快速开机的方法及装置 | |
EP3518100B1 (en) | Quick loading method for kernel image file, and apparatus | |
CN107329792B (zh) | 一种Docker容器启动方法及装置 | |
CN112383610B (zh) | 区块链状态数据的同步处理方法及系统 | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
CN103699398A (zh) | 终端设备及其启动控制方法 | |
CN106095439A (zh) | 一种信息处理方法及电子设备 | |
CN111078642B (zh) | 一种分布式快速加载文件的方法和装置 | |
CN114138268A (zh) | 基于原生系统的派生软件构建方法、系统及设备 | |
CN106874020A (zh) | 启动插件的方法及装置 | |
JP2000242484A (ja) | 制御プログラムの変更方法 | |
CN107957878B (zh) | 一种基于存储资源再分配的嵌入式设备软件在线升级方法 | |
CN112596748B (zh) | 一种桌面融合使用方法、装置、设备及可读存储介质 | |
CN106991058A (zh) | 预取文件处理方法及装置 | |
CN113721993A (zh) | 一种系统启动方法、装置、设备和计算机可读存储介质 | |
CN113515291A (zh) | 设备在线升级方法和装置 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN106897089B (zh) | 系统操作执行方法及装置 | |
CN110569229A (zh) | 一种用于处理数据库运行产生的数据的方法和装置 | |
CN111538540B (zh) | 一种加快嵌入式系统启动速度的方法及其嵌入式系统 | |
CN111459711A (zh) | 一种内存恢复方法及系统 | |
CN111475220A (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: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: Ruixin Microelectronics Co.,Ltd. Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |