CN110321179B - 一种应用程序启动方法、系统、装置及计算机存储介质 - Google Patents

一种应用程序启动方法、系统、装置及计算机存储介质 Download PDF

Info

Publication number
CN110321179B
CN110321179B CN201910610677.XA CN201910610677A CN110321179B CN 110321179 B CN110321179 B CN 110321179B CN 201910610677 A CN201910610677 A CN 201910610677A CN 110321179 B CN110321179 B CN 110321179B
Authority
CN
China
Prior art keywords
application program
target application
file
memory
reading
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
CN201910610677.XA
Other languages
English (en)
Other versions
CN110321179A (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 Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Xunlei Network 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 Shenzhen Xunlei Network Technology Co Ltd filed Critical Shenzhen Xunlei Network Technology Co Ltd
Priority to CN201910610677.XA priority Critical patent/CN110321179B/zh
Publication of CN110321179A publication Critical patent/CN110321179A/zh
Application granted granted Critical
Publication of CN110321179B publication Critical patent/CN110321179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种应用程序启动方法,在检测到对目标应用程序的启动操作时,就立即将预读配置清单中的文件完整的从磁盘读到内存中,而预读配置清单中的文件都是需要在目标应用程序启动过程中加载多次的文件,将其预读到内存中后,只需要在磁盘中读取一次,多次加载的操作则是多次在内存中读取文件,由于在内存读取文件的速率要远高于在磁盘读取文件的速率,因此,应用程序启动过程中,相比多次在磁盘中读取文件加载数据来说,在内存中读取文件加载数据会提升整体加载速度,从而使应用程序能够更快的完成启动。本申请还提供一种应用程序启动装置、系统及计算机可读存储介质,同样可以实现上述技术效果。

Description

一种应用程序启动方法、系统、装置及计算机存储介质
技术领域
本发明程序启动优化技术领域,尤其涉及一种应用程序启动方法、装置、系统及计算机可读存储介质。
背景技术
在Windows操作系统中,会安装有很多应用程序,应用程序在被触发启动指令后会执行启动操作,进入应用程序的主界面。
但是有些应用程序在被触发启动指令后,会等待较长的时间才能完成启动操作,进入到应用程序的主界面,用户就会需要等待较长时间,从而使用户体验十分差。
因此,如何提高应用程序完成启动操作的速度,是本领域人员亟需解决的问题。
发明内容
本发明的主要目的在于提供一种应用程序启动方法、装置、系统及计算机可读存储介质,以解决现有技术中应用程序完成启动操作的速度缓慢的问题。
为实现上述目的,本申请提供一种应用程序启动方法,包括:
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
在磁盘中读取所述预读配置清单中的所有完整文件至内存;
利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
可选地,监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置清单,包括:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
相应地,所述利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作,包括:
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
可选地,在内存中读取所述dll文件,执行所述dll文件,包括:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
可选地,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
为实现上述效果,本申请还提供一种应用程序启动装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的应用程序启动程序,所述应用程序启动程序被所述处理器执行时实现以下步骤:
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
在磁盘中读取所述预读配置清单中的所有完整文件至内存;
利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
可选地,所述应用程序启动程序被所述处理器执行时具体实现:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
可选地,所述应用程序启动程序被所述处理器执行时具体实现:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
可选地,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
为实现上述目的,本申请还提供一种应用程序启动系统,包括:
配置清单确定模块,用于监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单包括在所述目标应用程序中多次非连续加载行为大于预设阈值的文件的信息;
文件预读模块,用于在磁盘中读取所述预读配置清单中的所有完整文件至内存;
加载模块,用于利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有应用程序启动程序,所述应用程序启动程序可被一个或多个处理器执行,以实现如所述的应用程序启动方法。
为实现上述技术效果,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述的应用程序启动方法。
由此可见,本申请在检测到对目标应用程序的启动操作时,就立即将预读配置清单中的文件完整的从磁盘读到内存中,而预读配置清单中的文件都是需要在目标应用程序启动过程中加载多次的文件,将其预读到内存中后,只需要在磁盘中读取一次,多次加载的操作则是多次在内存中读取文件,由于在内存读取文件的速率要远高于在磁盘读取文件的速率,因此,应用程序启动过程中,相比多次在磁盘中读取文件加载数据来说,在内存中读取文件加载数据会提升整体加载速度,从而使应用程序能够更快的完成启动。
附图说明
图1为本发明提供的一种应用程序启动方法流程图;
图2为本发明提供的一种具体的应用程序启动方法流程图;
图3为本发明一实施例揭露的应用程序启动装置的内部结构示意图;
图4为本发明一实施例揭露的应用程序启动系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
应用程序在启动过程中,需要加载启动所需要的可执行文件以及数据文件,这些文件都会保存于磁盘中,但是由于磁盘本身的IO性能不高,应用程序向磁盘中读取文件的速度十分缓慢。而且,应用程序在启动过程中,会对一个文件间断的读取其中的数据片段,这就会造成重复的在磁盘中请求读取同一个文件多次的情况,使应用程序的启动过程更加缓慢。
本申请提供一种应用程序启动方法、装置、系统及计算机可读存储介质,以解决现有技术中应用程序完成启动操作的速度缓慢的问题。
参照图1,图1为本发明一实施例的流程示意图。
在一实施例中,包括:
S101,监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息。
在本方案中,预先为目标应用程序设置有预读配置清单,预读配置清单保存有需要提前从磁盘读取到内存的文件的信息。
由于内存资源有限,只预读严重影响目标应用程序启动速度的文件,因此,预读配置清单中只保存在目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息。
需要说明的是,在应用程序启动的过程中,会加载启动相关的数据,而这些数据可能会分散的存储在不同的文件中,在加载过程中,也不会以文件为单位进行读取,这就会导致对于同一个文件来说,会出现多次非连续加载的行为。例如,应用程序启动的过程中,按照顺序会加载数据1、数据2、数据3、数据4、数据5;而数据1、数据3、数据5保存在文件A中,数据2、数据4保存在文件B中,当应用程序启动时,文件加载过程为:
在磁盘中对文件A进行第一次读操作,并读取数据1;
在磁盘中对文件B进行第一次读操作,并读取数据2;
在磁盘中对文件A进行第二次读操作,并读取数据3;
在磁盘中对文件B进行第二次读操作,并读取数据4;
在磁盘中对文件A进行第三次读操作,并读取数据5。
因此,对于文件A来说,就进行了三次非连续的加载行为,对文件B来说,进行了两次非连续的加载行为,在应用程序启动过程中,就会在磁盘中对文件A进行三次访问,对文件B机型两次访问。
在一个优选的实施方式中,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
由于内存资源有限,对于体积较大的文件不进行提前内存的操作,以避免占用大量内存资源。在本方案中,需要从何考虑非连续加载次数和文件体积两种因素,来确定预读配置清单中的文件,从而可以使启动速度和内存资源占用得到均衡。
S102,在磁盘中读取所述预读配置清单中的所有完整文件至内存。
具体地,利用上述预读配置清单中的文件的信息,将对应的文件完整的从磁盘读到内存中,即一个文件只对磁盘进行一次访问。
在上述示例中,如果预设阈值为1,即将非连续加载次数大于1次的文件都加入预读配置清单,则文件A和文件B都被加入预读配置清单,则在S102中,读取文件A和文件B到内存中。
S103,利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
在应用程序启动的过程中,需要加载上述预读配置清单中的文件数据时,即可从内存中读取,无需再多次访问磁盘。
由此可见,本申请在检测到对目标应用程序的启动操作时,就立即将预读配置清单中的文件完整的从磁盘读到内存中,而预读配置清单中的文件都是需要在目标应用程序启动过程中加载多次的文件,将其预读到内存中后,只需要在磁盘中读取一次,多次加载的操作则是多次在内存中读取文件,由于在内存读取文件的速率要远高于在磁盘读取文件的速率,因此,应用程序启动过程中,相比多次在磁盘中读取文件加载数据来说,在内存中读取文件加载数据会提升整体加载速度,从而使应用程序能够更快的完成启动。
下面对本申请实施例提供的一种具体的应用程序启动方法进行介绍,下文描述的一种具体的应用程序启动方法与上述实施例可以相互参照。
参见图2,本申请实施例提供的一种具体的应用程序启动方法,具体包括:
S201,监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置清单;其中,所述预读配置清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息与在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息。
需要说明的是,本申请需要保证预读配置清单中的文件只在磁盘中读取一次,因此就需要保证在应用程序启动过程所涉及的数据加载操作开始前,就将预读配置清单中的文件完整地读取到内存中。
在本方案中,为了更好地控制数据加载时间节点,即更好地控制在应用程序启动过程所涉及的数据加载操作开始前,将预读配置清单中的文件完整地读取到内存中,本方案为目标应用程序创建一个新建exe文件(executable file,可执行文件),并将目标应用程序的原始exe文件改为dll(Dynamic Link Library,动态链接库)格式的文件,其中新建exe文件中包含预读配置清单。对目标应用程序的启动操作,转换为对新建exe文件的操作,实际对目标应用程序的启动操作是在执行dll文件后才开始,从而不会立即加载目标应用程序所需的数据,实现对数据加载时间节点的控制。
具体地,首先对新建exe文件进行监听,监测到针对该新建exe文件的启动操作时,确定目标应用程序的预读配置清单。具体操作可以是利用该新建exe文件的winmain函数来实现,winmain函数是应用程序的入口点,将winmain函数设置为确定预读配置清单,在磁盘中读取预读配置清单中的文件至内存,即可在新建exe文件被启动时,立即执行确定预读配置清单,在磁盘中读取预读配置清单中的文件至内存的操作。
S202,在磁盘中读取所述预读配置清单中的所有完整文件至内存。
S203,在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
由于S201启动的并不是目标应用程序的实际的原始可执行文件,而是一个新的文件,因此,还需要在预读操作完成后,即S202操作执行完成后,启动实际的应用程序,即执行dll文件。
需要说明的是,为了节省启动时间,本申请将dll文件也作为上述预读配置清单中的文件,提前读至内存。
在一个具体的实施方式中,在内存中读取所述dll文件,执行所述dll文件,包括:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
在本方案中,由于需要控制dll文件在上述S202步骤后才执行,而不是自动地执行dll文件,因此,本方案利用loadlibrary来控制dll文件的执行,从而实现灵活控制数据加载时间节点的目的。
进一步的,本实施例还公开了一种应用程序启动装置。
参照图3,图3为本发明一实施例揭露的应用程序启动装置的内部结构示意图。图3中,应用程序启动装置1包括存储器11和处理器12,所述存储器11上存储有可在所述处理器12上运行的应用程序启动程序,所述应用程序启动被所述处理器12执行时实现如下方法:
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
在磁盘中读取所述预读配置清单中的所有完整文件至内存;
利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
所述应用程序启动程序被所述处理器12执行时,具体可以实现:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
所述应用程序启动程序被所述处理器12执行时,具体可以实现:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
可选地,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
进一步的,参照图3,所述应用程序启动装置1还可以包括总线13,其中,所述存储器11和所述处理器12通过所述总线13连接。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘等。存储器11在一些实施例中可以是应用程序启动装置1的内部存储单元,例如该应用程序启动装置1的硬盘。存储器11在另一些实施例中也可以是应用程序启动装置1的外部存储设备,例如应用程序启动装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括应用程序启动装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于应用程序启动装置1的应用软件及各类数据,例如应用程序启动程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行应用程序启动程序等。
总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,应用程序启动装置1还可以包括网络接口14,网络接口14可选的可以包括无线接口(如WI-FI接口、蓝牙接口等),通常用于在该应用程序启动装置1与其他电子设备之间建立通信连接。
可选地,该应用程序启动装置1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard)。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在应用程序启动装置1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11-15的应用程序启动装置1,本领域技术人员可以理解的是,图3示出的结构并不构成对应用程序启动装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步的,本实施例还公开了一种应用程序启动系统。
参照图4,图4为本发明一实施例揭露的应用程序启动系统结构示意图。图4中,所述应用程序启动系统,包括:
配置清单确定模块301,用于监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
文件预读模块302,用于在磁盘中读取所述预读配置清单中的所有完整文件至内存;
加载模块303,用于利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作。
在一个具体的实施方式中,所述配置清单确定模块301具体用于监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
加载模块303,具体用于在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
在一个具体的实施方式中,所述加载模块303具体用于利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
在一个具体的实施方式中,所述预读配置清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
本实施例的应用程序启动系统用于实现前述的应用程序启动方法,因此应用程序启动系统中的具体实施方式可见前文中的应用程序启动方法的实施例部分,例如,配置清单确定模块301,文件预读模块302,加载模块303,分别用于实现上述应用程序启动方法中步骤S101,S102,S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一实施例所述的应用程序启动方法。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种应用程序启动方法,其特征在于,包括:
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
在磁盘中读取所述预读配置文件清单中的所有完整文件至内存;
利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作;
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单,包括:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
相应地,所述利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作,包括:
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
2.根据权利要求1所述的方法,其特征在于,在内存中读取所述dll文件,执行所述dll文件,包括:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
3.根据权利要求1至2任意一项所述的方法,其特征在于,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
4.一种应用程序启动装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的应用程序启动程序,所述应用程序启动程序被所述处理器执行时实现以下步骤:
监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值的文件的信息;
在磁盘中读取所述预读配置文件清单中的所有完整文件至内存;
利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作;
所述应用程序启动程序被所述处理器执行时具体实现:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
5.根据权利要求4所述的装置,其特征在于,所述应用程序启动程序被所述处理器执行时具体实现:
利用loadlibrary在内存中读取所述dll文件,执行所述dll文件。
6.根据权利要求4至5任意一项所述的装置,其特征在于,所述预读配置文件清单包括在所述目标应用程序启动过程中非连续加载次数大于预设阈值,且文件体积小于预设阈值的文件的信息。
7.一种应用程序启动系统,其特征在于,包括:
配置清单确定模块,用于监测到对目标应用程序的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单包括在所述目标应用程序中多次非连续加载行为大于预设阈值的文件的信息;
文件预读模块,用于在磁盘中读取所述预读配置文件清单中的所有完整文件至内存;
加载模块,用于利用内存中的所述完整文件进行所述目标应用程序的加载,以完成所述目标应用程序的启动操作;
所述配置清单确定模块,具体用于:
监测到对与所述目标应用程序对应的新建exe文件的启动操作时,确定所述目标应用程序的预读配置文件清单;其中,所述预读配置文件清单中包括由所述目标应用程序的原始exe文件改写的dll文件的信息;
相应地,所述加载模块,具体用于:
在内存中读取所述dll文件,执行所述dll文件,并利用内存中的非所述dll文件完成所述dll文件执行,以完成所述目标应用程序的启动操作。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有应用程序启动程序,所述应用程序启动程序可被一个或多个处理器执行,以实现如权利要求1至3任意一项所述的应用程序启动方法。
CN201910610677.XA 2019-07-08 2019-07-08 一种应用程序启动方法、系统、装置及计算机存储介质 Active CN110321179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910610677.XA CN110321179B (zh) 2019-07-08 2019-07-08 一种应用程序启动方法、系统、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910610677.XA CN110321179B (zh) 2019-07-08 2019-07-08 一种应用程序启动方法、系统、装置及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110321179A CN110321179A (zh) 2019-10-11
CN110321179B true CN110321179B (zh) 2023-02-14

Family

ID=68121469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910610677.XA Active CN110321179B (zh) 2019-07-08 2019-07-08 一种应用程序启动方法、系统、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN110321179B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434211B (zh) * 2021-06-24 2023-02-07 平安国际智慧城市科技股份有限公司 应用程序功能动态化配置方法、装置、设备及存储介质
CN114827129B (zh) * 2022-04-27 2024-09-03 济南浪潮数据技术有限公司 一种文件分发方法、装置及其介质
CN117407073A (zh) * 2023-02-13 2024-01-16 深圳Tcl新技术有限公司 系统启动方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750174A (zh) * 2012-06-29 2012-10-24 Tcl集团股份有限公司 文件加载方法及装置
CN103885776A (zh) * 2014-03-24 2014-06-25 广州华多网络科技有限公司 程序加速方法及其装置
CN109284142A (zh) * 2018-08-15 2019-01-29 Oppo广东移动通信有限公司 文件预加载方法、装置、电子设备及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750174A (zh) * 2012-06-29 2012-10-24 Tcl集团股份有限公司 文件加载方法及装置
CN103885776A (zh) * 2014-03-24 2014-06-25 广州华多网络科技有限公司 程序加速方法及其装置
CN109284142A (zh) * 2018-08-15 2019-01-29 Oppo广东移动通信有限公司 文件预加载方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110321179A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321179B (zh) 一种应用程序启动方法、系统、装置及计算机存储介质
KR101971389B1 (ko) 연합 기반 메모리 관리
CN107729083B (zh) 一种加载驱动程序的方法及嵌入式设备
CN110059477B (zh) 一种攻击检测方法及装置
WO2016177341A1 (zh) 接口调用方法、装置及终端
CN111427596B (zh) 一种软件升级的方法、装置及终端设备
CN105739961B (zh) 一种嵌入式系统的启动方法和装置
CN109684573B (zh) 目标图片显示方法及装置、存储介质、电子设备
CN110083399B (zh) 小程序运行方法、计算机设备及存储介质
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN108021405B (zh) 一种soc系统启动过程中存储介质的驱动方法和装置
CN112783761A (zh) 一种应用程序的冷启动时长测试方法、装置及系统
CN113672263B (zh) 固件参数更新控制方法、装置及电子设备
CN113504918A (zh) 设备树配置优化方法、装置、计算机设备和存储介质
CN109857579B (zh) 一种数据处理方法及相关装置
KR20120113160A (ko) 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN110515671A (zh) 初始化方法、初始化装置、终端设备及可读存储介质
CN107491316B (zh) 基板管理控制器的扩展方法、装置及电子设备
CN111857854A (zh) 关机资源加载方法、装置、存储介质和电子设备
CN110399166B (zh) ME Nonce值的保存方法、装置、设备及存储介质
CN111045789B (zh) 一种虚拟机开机方法、装置及电子设备和存储介质
CN111722888A (zh) 一种操作执行方法、装置、设备及可读存储介质
CN114721735B (zh) 一种程序动态加载方法、装置及电子设备
CN108268298B (zh) 桌面图标的生成方法、装置、存储介质及电子设备
CN115454904A (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
GR01 Patent grant
GR01 Patent grant