优化程序的方法及装置制造方法及图纸

技术编号:14350297 阅读:40 留言:0更新日期:2017-01-04 22:55
本公开公开了一种优化程序的方法及装置。所述应用于服务器,所述方法包括:根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;分别确定所述n个逻辑分支中每个逻辑分支的权重因子;按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。采用该方法,降低了执行目标程序的时间复杂度,提高了服务器执行程序的效率。

【技术实现步骤摘要】

本公开涉及计算机领域,具体地,涉及一种优化程序的方法及装置
技术介绍
随着软件编程技术的发展,服务器中执行的程序越来越多。如何提高服务器执行程序的效率逐渐成为用户关注的问题。相关技术中,对于包括多个逻辑分支的程序,多个逻辑分支的先后顺序是随机的,因此,执行该程序的时间复杂度较高,服务器执行程序的效率较低。举例来讲,一个程序有3个逻辑分支,分别是逻辑分支A、逻辑分支B、和逻辑分支C,在该程序中,这三个逻辑分支的先后顺序是随机的。一种可能的情况是:先后顺序为:逻辑分支A→逻辑分支B→逻辑分支C。因此,在实际执行该程序的过程中,需要依次判断是否满足执行逻辑分支A、逻辑分支B、逻辑分支C的情况,即为:如果满足执行逻辑分支A的情况,则执行逻辑分支A,执行完逻辑分支A后退出;否则如果满足执行逻辑分支B的情况,则执行逻辑分支B,执行完逻辑分支B后退出;否则如果满足执行逻辑分支C的情况,则执行逻辑分支C,执行完逻辑分支C后退出。有可能最终真正被执行的是逻辑分支C,但是却经历了判断是否满足逻辑分支A、逻辑分支B的情况,因此,时间复杂度较高,服务器执行程序的效率较低。
技术实现思路
本公开的目的是提供一种执行程序的方法及装置,以降低执行程序的时间复杂度,提高服务器执行程序的效率。为了实现上述目的,本公开提供一种执行程序的方法,其特征在于,应用于服务器,所述方法包括:根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;分别确定所述n个逻辑分支中每个逻辑分支的权重因子;按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。可选地,所述n个逻辑分支的权重因子符合以下公式:其中,α(i)表示所述n个逻辑分支中第i个逻辑分支的权重因子,f(i)表示所述n个逻辑分支中第i个逻辑分支出现的次数,f(k)示所述各个逻辑分支中第k个逻辑分支出现的次数,i和k均为大于等于1且小于等于n的整数。可选地,所述根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,包括:根据程序执行日志,确定所述n个逻辑分支分别被执行的时间点;统计所述n个逻辑分支分别被执行的时间点的个数。可选地,所述方法还包括:按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支依次存入配置文件;在所述服务器启动后,将所述配置文件加载到内存中;根据所述配置文件,执行所述目标程序。可选地,所述配置文件包括n个列表元素,所述n个列表元素的标号与所述n个逻辑分支的权重因子序号相同。本专利技术还提供一种执行程序的装置,配置于服务器,所述装置包括:次数确定模块,用于根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;权重因子确定模块,用于分别确定所述n个逻辑分支中每个逻辑分支的权重因子;排列模块,用于按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。可选地,所述n个逻辑分支的权重因子符合以下公式:其中,α(i)表示所述n个逻辑分支中第i个逻辑分支的权重因子,f(i)表示所述n个逻辑分支中第i个逻辑分支出现的次数,f(k)示所述各个逻辑分支中第k个逻辑分支出现的次数,i和k均为大于等于1且小于等于n的整数。可选地,所述次数确定模块包括:确定子模块,用于根据程序执行日志,确定所述n个逻辑分支分别被执行的时间点;统计子模块,用于统计所述n个逻辑分支分别被执行的时间点的个数。可选地,所述装置还包括:存储模块,用于按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支依次存入配置文件;加载模块,用于在所述服务器启动后,将所述配置文件加载到内存中;执行模块,用于根据所述配置文件,执行所述目标程序。可选地,所述配置文件包括n个列表元素,所述n个列表元素的标号与所述n个逻辑分支的权重因子序号相同。通过上述技术方案,根据程序执行日志,确定每个逻辑分支出现的次数,并确定每个逻辑分支的权重因子,进而按照权重因子从大到小的顺序,将各个逻辑分支排列在目标程序。因此,出现次数多的逻辑分支被排在前面,在执行目标程序的过程中,出现次数多的逻辑分支被优先考虑,降低了执行目标程序的时间复杂度,提高了服务器执行程序的效率。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1为本专利技术实施例提供的一种执行程序的方法的流程图。图2为本专利技术实施例提供的一种执行程序的方法中步骤S11的流程图。图3为本专利技术实施例提供的一种执行程序的方法的另一流程图。图4为本专利技术实施例提供的一种执行程序的装置的框图。具体实施方式以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。本专利技术实施例提供了一种执行程序的方法。请参考图1,图1为本专利技术实施例提供的一种执行程序的方法的流程图。如图1所示,该方法包括以下步骤:步骤S11:根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;步骤S12:分别确定所述n个逻辑分支中每个逻辑分支的权重因子;步骤S13:按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。本专利技术实施例中,为了提高服务器执行目标程序的效率,对程序执行日志进行分析,根据逻辑分支出现的次数,确定逻辑分支的权重因子,然后将权重因子较大的逻辑分支放在前面,在执行目标程序时,优先考虑权重因子较大的逻辑分支,以提高服务器执行目标程序的效率。由于程序执行日志反映的是程序最终执行的情况,所以从程序执行日志中可以确定出各个逻辑分支出现的次数,也就是各个逻辑分支被执行的次数,然后可以确定各个逻辑分支的权重因子,也就是确定各个逻辑分支被执行的次数占所有逻辑分支被执行的总次数的比重。一个逻辑分支的权重因子越大,说明该逻辑分支被执行的可能性越大,为了降低时间复杂度,可以将该逻辑分支排列在前面,这样,就可以优先判断是否满足执行该逻辑分支的情况并根据判断结果执行该逻辑分支,而不用依次判断是否满足执行各个逻辑分支的情况,所以降低了时间复杂度。可选地,所述n个逻辑分支的权重因子符合以下公式:其中,α(i)表示所述n个逻辑分支中第i个逻辑分支的权重因子,f(i)表示所述n个逻辑分支中第i个逻辑分支出现的次数,f(k)示所述各个逻辑分支中第k个逻辑分支出现的次数,i和k均为大于等于1且小于等于n的整数。本专利技术实施例中,首先确定各个逻辑分支出现的次数,然后确定各个逻辑分支出现的次数之和,这样,每个逻辑分支的权重因子即为该逻辑分支出现的次数占各个逻辑分支出现的次数之和的比重。举例来讲,一个程序有3个逻辑分支,分别是逻辑分支A、逻辑分支B、和逻辑分支C。通过对该程序的程序执行日志进行分析,确定逻辑分支A、逻辑分支B以及逻辑分支C分别出现的次数是20次、30次、50次,则逻辑分支A、逻辑分支B以及逻辑分支C出现的次数之和是100次。这样,逻辑分支A的权重因子同理,逻辑分支B的权重因子逻辑分支C的权重因子可本文档来自技高网...
优化程序的方法及装置

【技术保护点】
一种优化程序的方法,其特征在于,应用于服务器,所述方法包括:根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;分别确定所述n个逻辑分支中每个逻辑分支的权重因子;按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。

【技术特征摘要】
1.一种优化程序的方法,其特征在于,应用于服务器,所述方法包括:根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,其中,n为大于等于1的整数;分别确定所述n个逻辑分支中每个逻辑分支的权重因子;按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支排列在所述目标程序中。2.根据权利要求1所述的方法,其特征在于,所述n个逻辑分支的权重因子符合以下公式:其中,α(i)表示所述n个逻辑分支中第i个逻辑分支的权重因子,f(i)表示所述n个逻辑分支中第i个逻辑分支出现的次数,f(k)示所述各个逻辑分支中第k个逻辑分支出现的次数,i和k均为大于等于1且小于等于n的整数。3.根据权利要求1所述的方法,其特征在于,所述根据程序执行日志,确定目标程序包括的n个逻辑分支分别出现的次数,包括:根据程序执行日志,确定所述n个逻辑分支分别被执行的时间点;统计所述n个逻辑分支分别被执行的时间点的个数。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照所述n个逻辑分支的权重因子从大到小的顺序,将所述n个逻辑分支依次存入配置文件;在所述服务器启动后,将所述配置文件加载到内存中;根据所述配置文件,执行所述目标程序。5.根据权利要求4所述的方法,其特征在于,所述配置文件包括n个列表元素,所述n个列表元素的标号与所述n个逻辑分支的权重因子序号相同。6.一种优化程序的装置,其特征在于,配...

【专利技术属性】
技术研发人员:谢新强张德阳张霞
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

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

1