程序运行方法及装置制造方法及图纸

技术编号:15436974 阅读:178 留言:0更新日期:2017-05-25 19:11
本发明专利技术公开了一种程序运行方法及装置,属于计算机技术领域。所述方法包括:获取多个程序信息的加载顺序,多个程序信息为运行目标程序时所需的信息,目标程序为应用程序或应用程序中的功能模块程序;基于多个程序信息和多个程序信息的加载顺序,生成第一可执行文件,第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对目标程序的运行指令时,将第一可执行文件中所要加载的程序信息映射到内存中,以对目标程序进行运行。本发明专利技术中的第一可执行文件中排列在该所要加载的程序信息之后且在内存页的映射范围内的程序信息很有可能也是该目标程序当前运行所需要的程序信息,从而可以减少该内存页中的冗余信息,提高内存利用率。

Program operation method and device

The invention discloses a program running method and a device, belonging to the technical field of computer. The method comprises: obtaining a plurality of program information loading sequence, a plurality of program information required for the operation of the target program information, the target program for the program module application or application; multiple program information and a plurality of program information loading sequence based on the first generation of executable files, the first to be the executable file to load and run in a virtual machine file; when detected according to the operation instruction of the target program, the program can be loaded first information mapping to be performed in the file into memory, to run on the target program. The invention of the first executable file after the arrangement to load the program information and mapping in the range of memory pages in the program information it is likely the target program to the currently running program information, which can reduce the redundant information in the pages of memory, improve memory utilization.

【技术实现步骤摘要】
程序运行方法及装置
本专利技术涉及计算机
,特别涉及一种程序运行方法及装置。
技术介绍
计算机能够通过运行各种不同的程序来完成不同的任务,且计算机在运行程序时,往往是由该计算机中的虚拟机加载该程序对应的可执行文件,来实现该程序的运行,该可执行文件中包括多个程序信息,该多个程序信息为运行该程序时所需的信息,例如,该多个程序信息可以为运行该程序时所需的类型信息、方法信息、字段信息等。目前,提供了一种程序运行方法,具体为:获取多个程序信息,该多个程序信息为运行某一程序时所需的信息;将该多个程序信息按照字典序进行排序,得到排序后的多个程序信息;基于该排序后的多个程序信息,生成该程序对应的可执行文件;当检测到针对该程序的运行指令时,将该可执行文件中所要加载的程序信息映射到内存中,以对该程序进行运行。计算机在将该可执行文件中所要加载的程序信息映射到内存中时,往往是以内存页为单位进行映射的,换句话说,计算机会将该所要加载的程序信息以及排列在该所要加载的程序信息之后且在该内存页的映射范围内的程序信息均映射到该内存页中,而由于该多个程序信息在该可执行文件中是按照字典序进行排列的,因此,排列在该所要加载的程序信息之后且在该内存页的映射范围内的程序信息并不一定是该程序当前运行所需要的程序信息,所以,此时该内存页所映射的程序信息中可能仅有少量是该程序当前运行所需要的,也即是此时该内存页中含有大量的冗余信息,内存利用率较低。
技术实现思路
为了解决相关技术的问题,本专利技术实施例提供了一种程序运行方法及装置。所述技术方案如下:一方面,提供了一种程序运行方法,所述方法包括:获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。另一方面,提供了一种程序运行装置,所述装置包括:获取模块,用于获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;生成模块,用于基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;映射模块,用于当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。本专利技术实施例提供的技术方案带来的有益效果是:在本专利技术实施例中,获取多个程序信息的加载顺序,该多个程序信息为运行目标程序时所需的信息,该目标程序为应用程序或应用程序中的功能模块程序,之后,基于该多个程序信息和该多个程序信息的加载顺序,生成第一可执行文件,第一可执行文件为能够在虚拟机中加载运行的文件,当检测到针对目标程序的运行指令时,将第一可执行文件中所要加载的程序信息映射到内存中,以对目标程序进行运行。由于第一可执行文件是基于该多个程序信息的加载顺序得到的,因此,在将第一可执行文件中所要加载的程序信息映射到内存中时,排列在该所要加载的程序信息之后且在内存页的映射范围内的程序信息很有可能也是该目标程序当前运行所需要的程序信息,从而可以减少该内存页中的冗余信息,提高内存利用率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种程序运行方法流程图;图2A是本专利技术实施例提供的另一种程序运行方法流程图;图2B是本专利技术实施例提供的一种指定文件格式示意图;图2C是本专利技术实施例提供的一种内存映射示意图;图2D是本专利技术实施例提供的另一种内存映射示意图;图2E是本专利技术实施例提供的又一种内存映射示意图;图3A是本专利技术实施例提供的第一种程序运行装置结构示意图;图3B是本专利技术实施例提供的一种获取模块结构示意图;图3C是本专利技术实施例提供的一种获取单元结构示意图;图3D是本专利技术实施例提供的一种生成模块结构示意图;图4是本专利技术实施例提供的第二种程序运行装置结构示意图;图5是本专利技术实施例提供的第三种程序运行装置结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1是本专利技术实施例提供的一种程序运行方法流程图,该方法用于服务器或者终端中。参见图1,该方法包括:步骤101:获取多个程序信息的加载顺序,多个程序信息为运行目标程序时所需的信息,目标程序为应用程序或应用程序中的功能模块程序。步骤102:基于多个程序信息和多个程序信息的加载顺序,生成第一可执行文件,第一可执行文件为能够在虚拟机中加载运行的文件;步骤103:当检测到针对目标程序的运行指令时,将第一可执行文件中所要加载的程序信息映射到内存中,以对目标程序进行运行。在本专利技术实施例中,获取多个程序信息的加载顺序,该多个程序信息为运行目标程序时所需的信息,该目标程序为应用程序或应用程序中的功能模块程序,之后,基于该多个程序信息和该多个程序信息的加载顺序,生成第一可执行文件,第一可执行文件为能够在虚拟机中加载运行的文件,当检测到针对目标程序的运行指令时,将第一可执行文件中所要加载的程序信息映射到内存中,以对目标程序进行运行。由于第一可执行文件是基于该多个程序信息的加载顺序得到的,因此,在将第一可执行文件中所要加载的程序信息映射到内存中时,排列在该所要加载的程序信息之后且在内存页的映射范围内的程序信息很有可能也是该目标程序当前运行所需要的程序信息,从而可以减少该内存页中的冗余信息,提高内存利用率。可选地,获取多个程序信息的加载顺序,包括:基于多个程序信息和多个程序信息的字典序,生成第二可执行文件,第二可执行文件为能够在虚拟机中加载运行的文件;通过运行第二可执行文件,获取多个程序信息的加载顺序。可选地,通过运行第二可执行文件,获取多个程序信息的加载顺序,包括:在运行第二可执行文件的过程中,基于第二可执行文件的信息加载日志,获取多个程序信息的加载顺序;或者,在运行第二可执行文件的过程中,通过钩子HOOK技术获取多个程序信息的加载顺序。可选地,基于多个程序信息和多个程序信息的加载顺序,生成第一可执行文件,包括:按照多个程序信息的加载顺序,基于指定文件格式对多个程序信息进行打包,得到第一可执行文件,指定文件格式为第一可执行文件的文件格式。可选地,基于多个程序信息和多个程序信息的加载顺序,生成第一可执行文件,包括:按照多个程序信息的加载顺序,从多个程序信息中选择指定数值个程序信息;基于指定数值个程序信息,生成主文件,主文件为能够在虚拟机中加载运行的文件;基于多个程序信息中除指定数值个程序信息之外的程序信息,生成副文件,副文件为能够在虚拟机中加载运行的文件;将主文件和副文件组合成第一可执行文件。上述所有可选技术方案,均可按照任意结合形成本专利技术的可选实施例,本专利技术实施例对此不再本文档来自技高网...
程序运行方法及装置

【技术保护点】
一种程序运行方法,其特征在于,所述方法包括:获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。

【技术特征摘要】
1.一种程序运行方法,其特征在于,所述方法包括:获取多个程序信息的加载顺序,所述多个程序信息为运行目标程序时所需的信息,所述目标程序为应用程序或所述应用程序中的功能模块程序;基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,所述第一可执行文件为能够在虚拟机中加载运行的文件;当检测到针对所述目标程序的运行指令时,将所述第一可执行文件中所要加载的程序信息映射到内存中,以对所述目标程序进行运行。2.如权利要求1所述的方法,其特征在于,所述获取多个程序信息的加载顺序,包括:基于所述多个程序信息和所述多个程序信息的字典序,生成第二可执行文件,所述第二可执行文件为能够在虚拟机中加载运行的文件;通过运行所述第二可执行文件,获取所述多个程序信息的加载顺序。3.如权利要求2所述的方法,其特征在于,所述通过运行所述第二可执行文件,获取所述多个程序信息的加载顺序,包括:在运行所述第二可执行文件的过程中,基于所述第二可执行文件的信息加载日志,获取所述多个程序信息的加载顺序;或者,在运行所述第二可执行文件的过程中,通过钩子HOOK技术获取所述多个程序信息的加载顺序。4.如权利要求1所述的方法,其特征在于,所述基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,包括:按照所述多个程序信息的加载顺序,基于指定文件格式对所述多个程序信息进行打包,得到所述第一可执行文件,所述指定文件格式为所述第一可执行文件的文件格式。5.如权利要求1所述的方法,其特征在于,所述基于所述多个程序信息和所述多个程序信息的加载顺序,生成第一可执行文件,包括:按照所述多个程序信息的加载顺序,从所述多个程序信息中选择指定数值个程序信息;基于所述指定数值个程序信息,生成主文件,所述主文件为能够在虚拟机中加载运行的文件;基于所述多个程序信息中除所述指定数值个程序信息之外的程序信息,生成副文件,所述副文件为能够在虚拟机中加载运行的文件;将所述主文件和所述副文件组合成所述第一可执行文件...

【专利技术属性】
技术研发人员:王亮张志伟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1