代码编译方法、系统、电子设备及存储介质技术方案

技术编号:34925471 阅读:12 留言:0更新日期:2022-09-15 07:19
本申请提供了一种代码编译方法,包括:初始编译时,根据功能模块的依赖关系生成依赖关系链;再次编译时,根据改动文件更新依赖关系链并根据更新后的依赖关系链确定待更新功能模块;根据待更新功能模块及预设规则,在压缩文件中更新待更新功能模块;加载压缩文件,以完成代码编译。基于多种JavaScript库的依赖处理方法,自动生成功能模块间依赖关系的关系链,并动态更新关系链,执行JavaScript压缩;使得代码编译的过程减少人员参与,降低人为的出错率;条件性的并行压缩文件,既节省系统资源又提高编译效率,提高管理软件的健壮性,进而提升产品的竞争力。提升产品的竞争力。提升产品的竞争力。

【技术实现步骤摘要】
代码编译方法、系统、电子设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种代码编译方法、系统、电子设备及存储介质。

技术介绍

[0002]存储管理软件可以将存储业务进行图形化展示,以使得不熟悉存储管理的用户也可以通过图形化操作,快速地上手进行操作。而存储管理软件访问速度的快慢将会直接影响到用户的使用感受以及数据显示的时效性;业内提出通过将系统工程里的所有JavaScript文件压缩成一个文件,来减少资源请求次数以及快速加载资源文件以解决针对存储管理软件的访问速度问题,实现用户快速访问的目的。然而,庞大的存储管理软件内存在成千上万个JavaScript文件,当对所有JavaScript文件进行压缩时,速度慢且效率低,同时还极易出现错误。
[0003]现有技术提出一种方法,即通过人工配置模块管理关系并进行串行压缩;但是这种方法无法解决数量庞大的文件压缩慢的问题。
[0004]因此,亟需一种针对存储管理软件的能够提高编译速度的代码编译方法,以解决现有技术的上述技术问题。

技术实现思路

[0005]为了解决现有技术的不足,本专利技术的主要目的在于提供一种代码编译方法、系统、电子设备及存储介质,以解决现有技术的上述技术问题。
[0006]为了达到上述目的,第一方面本专利技术提供了一种代码编译方法,所述方法包括:
[0007]初始编译时,根据功能模块的依赖关系生成依赖关系链;
[0008]再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;
[0009]根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;
[0010]加载所述压缩文件,以完成代码编译。
[0011]在一些实施例中所述根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块,包括:
[0012]根据CPU占有率、内存使用情况以及带宽占有率,确定资源使用情况;
[0013]根据所述资源使用情况,筛选所述待更新功能模块中用于在所述压缩文件中执行并行压缩的目标更新功能模块,并根据所述改动文件更新所述目标更新功能模块。
[0014]在一些实施例中,所述根据所述资源使用情况,筛选所述待更新功能模块中用于在所述压缩文件中并行压缩的目标更新功能模块,包括:
[0015]若存在所述CPU占有率、所述内存使用率和/或所述带宽占有率大于第一预设阈值,则确定所述资源使用情况为第一资源使用情况,此时根据所述依赖关系链及第一预设比例筛选所述目标更新功能模块;
[0016]若所述CPU占有率、所述内存使用率以及所述带宽占有率小于所述第一预设阈值并大于第二预设阈值,则确定所述资源使用情况为第二资源使用情况,此时根据所述依赖关系链及第二预设比例筛选所述目标更新功能模块;
[0017]若所述CPU占有率、所述内存使用率以及带宽占有率小于所述第二预设阈值,则确定所述资源使用情况为第三资源使用情况,此时将全部所述待更新功能模块作为所述目标更新功能模块。
[0018]在一些实施例中,所述方法还包括:
[0019]若所述资源使用情况一直处于第一资源使用情况或第二资源使用情况,则根据资源可用情况,在压缩文件中对除所述目标更新功能模块外的所述待更新功能模块进行串行压缩。
[0020]在一些实施例中,所述根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块,包括:
[0021]获取所述改动文件对应的模块标识,根据所述依赖关系链确定所述待更新功能模块;
[0022]识别所述改动文件对应的改动类型并根据所述改动类型对应修改所述依赖关系链。
[0023]在一些实施例中,所述方法还包括:
[0024]根据所述模块标识对所述功能模块进行依赖处理,确定所述功能模块的依赖关系并生成所述依赖关系链;
[0025]再次编译时,基于所述依赖关系链定位所述压缩文件中的所述待更新功能模块以进行编译。
[0026]在一些实施例中,所述方法还包括:
[0027]初次编译时,获取所有的所述功能模块并进行压缩;
[0028]将压缩后的所述功能模块并行压缩至所述压缩文件。
[0029]第二方面,本申请提供了一种代码编译系统,所述系统包括:
[0030]初始编译时,根据功能模块的依赖关系生成依赖关系链;
[0031]再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;
[0032]根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;
[0033]加载所述压缩文件,以完成代码编译。
[0034]第三方面,本申请提供了一种电子设备,所述电子设备包括:
[0035]一个或多个处理器;
[0036]以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
[0037]初始编译时,根据功能模块的依赖关系生成依赖关系链;
[0038]再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;
[0039]根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;
[0040]加载所述压缩文件,以完成代码编译。
[0041]第四方面,本申请还提供了一种计算机可读存储介质,所述存储介质上存储计算机程序,所述计算机程序使得计算机执行如下操作:
[0042]初始编译时,根据功能模块的依赖关系生成依赖关系链;
[0043]再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;
[0044]根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;
[0045]加载所述压缩文件,以完成代码编译。
[0046]本申请实现的有益效果为:
[0047]本申请提供了一种代码编译方法,包括初始编译时,根据功能模块的依赖关系生成依赖关系链;再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;加载所述压缩文件,以完成代码编译。基于多种JavaScript库的依赖处理方法,第一次编译时自动生成功能模块间依赖关系的关系链,并在二次编译时动态更新关系链;使得代码编译的过程减少人员参与,降低人为的出错率;根据改动的功能模块条件性的并行压缩文件,既节省系统资源又提高编译效率,提高团队开发效率,缩短开发周期,进而提升产品的竞争力。
附图说明
[0048]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码编译方法,其特征在于,所述方法包括:初始编译时,根据功能模块的依赖关系生成依赖关系链;再次编译时,根据改动文件更新所述依赖关系链并根据更新后的所述依赖关系链确定待更新功能模块;根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块;加载所述压缩文件,以完成代码编译。2.根据权利要求1所述的方法,其特征在于,所述根据所述待更新功能模块及预设规则,在压缩文件中更新所述待更新功能模块,包括:根据CPU占有率、内存使用情况以及带宽占有率,确定资源使用情况;根据所述资源使用情况,筛选所述待更新功能模块中用于在所述压缩文件中执行并行压缩的目标更新功能模块,并根据所述改动文件更新所述目标更新功能模块。3.根据权利要求2所述的方法,其特征在于,所述根据所述资源使用情况,筛选所述待更新功能模块中用于在所述压缩文件中并行压缩的目标更新功能模块,包括:若存在所述CPU占有率、所述内存使用率和/或所述带宽占有率大于第一预设阈值,则确定所述资源使用情况为第一资源使用情况,此时根据所述依赖关系链及第一预设比例筛选所述目标更新功能模块;若所述CPU占有率、所述内存使用率以及所述带宽占有率小于所述第一预设阈值并大于第二预设阈值,则确定所述资源使用情况为第二资源使用情况,此时根据所述依赖关系链及第二预设比例筛选所述目标更新功能模块;若所述CPU占有率、所述内存使用率以及带宽占有率小于所述第二预设阈值,则确定所述资源使用情况为第三资源使用情况,此时将全部所述待更新功能模块作为所述目标更新功能模块。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述资源使用情况一直处于第一资源使用情况或第二资源使用情况,则根据资源可用情况,在压缩文件中对除所述目标更新功能模...

【专利技术属性】
技术研发人员:谢鹏张建刚郭坤
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1