应用程序的编译方法、装置、计算机设备及可读存储介质与流程

文档序号:35918097发布日期:2023-11-03 21:31阅读:45来源:国知局
应用程序的编译方法、装置、计算机设备及可读存储介质与流程

本技术属于数字医疗,更具体地,涉及一种应用程序的编译方法、装置、计算机设备及可读存储介质。


背景技术:

1、随着互联网技术的产生与发展,很多医院推出自己的医院服务应用程序,医院服务应用程序为患者提供在线挂号、查看报告、缴费等服务,这些业务模块均需要代码实现,在医院服务应用程序上线前,需要对各个业务模块对应的业务代码进行编译、打包,得到医院服务应用程序的归档文件(jar包)。

2、目前,随着医疗服务的不断改善,业务代码不断迭代,进而需要经常对医院服务应用程序进行重新编译,比如,对于在线挂号功能进行的改进,需要确定在线挂号功能对应的更新代码,并对更新代码进行重新编译,如果对医院服务应用程序的多个业务功能同时进行开发或者更新,需要服务器同时承载多个业务代码的编译;但申请人认识到,服务器对应用程序的编译通常采用单线程执行,若服务器同时承载多个业务代码的编译,则编译时间较长,编译效率较低。


技术实现思路

1、有鉴于此,本发明提供了一种应用程序的编译方法、装置、计算机设备及可读存储介质,主要目的在于解决目前存在服务器对应用程序的编译通常采用单线程执行,若服务器同时承载多个业务代码的编译,则编译时间较长,编译效率较低的问题。

2、依据本技术第一方面,提供了一种应用程序的编译方法,包括:

3、响应于应用程序的编译请求,获取所述编译请求携带的目标业务处理节点标识,其中,所述应用程序按照业务逻辑划分为多个业务处理节点,所述目标业务处理节点标识是所述多个业务处理节点中一业务处理节点的节点标识;

4、获取所述目标业务处理节点标识对应的业务增量代码,对所述业务增量代码进行编译,得到增量可执行文件;

5、确定所述应用程序的程序可执行文件,在所述程序可执行文件中提取所述目标业务处理节点标识对应的目标原始可执行文件;

6、将所述目标原始可执行文件和所述增量可执行文件进行组装,得到目标可执行文件,以及采用所述目标可执行文件对所述程序可执行文件包括的所述目标业务处理节点标识对应的目标原始可执行文件进行替换,得到所述应用程序的目标程序可执行文件。

7、可选地,所述响应于应用程序的编译请求,获取所述编译请求携带的目标业务处理节点标识之前,所述方法还包括:

8、按照所述业务逻辑对所述应用程序进行业务划分,得到所述多个业务处理节点;

9、获取所述多个业务处理节点中每个业务处理节点对应的业务代码,并对每个业务处理节点对应的业务代码进行编译,得到每个业务处理节点对应的可执行文件;

10、确定每个业务处理节点对应的业务处理节点标识,采用业务处理节点标识对对应的可执行文件进行标注,得到每个业务处理节点对应的原始可执行文件;

11、基于每个业务处理节点对应的原始可执行文件,生成所述应用程序的初始程序可执行文件;

12、获取所述应用程序的应用程序标识,采用所述应用程序标识对所述初始程序可执行文件进行标注,得到所述应用程序的所述程序可执行文件,并对所述程序可执行文件进行存储。

13、可选地,所述获取所述编译请求携带的目标业务处理节点标识之后,所述方法还包括:

14、读取所述编译请求携带的应用程序标识,在服务器中查询所述应用程序标识指示的应用程序的程序可执行文件,以及在所述程序可执行文件中获取多个第一业务处理节点标识,其中,所述程序可执行文件包括多个第一原始可执行文件,且每个第一原始可执行文件标注有一第一业务处理节点标识;

15、若检测到所述多个第一业务处理节点标识中不存在与所述目标业务处理节点标识相同的第一业务处理节点标识,则获取用于表示没有缓存数据的描述字段,生成包括所述描述字段的提醒信息,确定发起所述编译请求的用户,将所述提醒信息推送至所述用户所持终端;

16、若检测到所述多个第一业务处理节点标识中存在与所述目标业务处理节点标识相同的第一业务处理节点标识,则从所述服务器获取所述应用程序的程序可执行文件。

17、可选地,所述方法还包括:

18、若检测到所述多个第一业务处理节点标识中不存在与所述目标业务处理节点标识相同的第一业务处理节点标识,则继续在代码打包机上查询所述应用程序标识指示的应用程序的目标程序归档文件,以及在所述目标程序归档文件中获取多个第二业务处理节点标识,其中,所述目标程序归档文件包括多个第二原始可执行文件,且每个第二原始可执行文件标注有一第二业务处理节点标识;

19、当检测到所述多个第二业务处理节点标识中存在与所述目标业务处理节点标识相同的第二业务处理节点标识时,从所述目标程序归档文件中提取所述多个第二原始可执行文件作为所述应用程序的程序可执行文件。

20、可选地,所述方法还包括:

21、对所述业务增量代码进行检查;

22、若检查到所述业务增量代码中定义宏,或所述业务增量代码中声明内存空间,则生成用于指示具有影响编译速度因素的告警信息,获取编译日志,将所述告警信息记录在所述编译日志内,得到当前编译日志;

23、确定发起所述编译请求的用户,将所述当前编译日志推送至所述用户所持终端进行预警。

24、可选地,所述对所述业务增量代码进行编译,得到增量可执行文件,包括:

25、对所述业务增量代码进行预编译,得到中间文件;

26、对所述中间文件进行语法、语义分析,得到汇编文件;

27、对所述汇编文件进行汇编,得到目标文件;

28、将所述目标文件链接为所述增量可执行文件。

29、可选地,所述得到所述应用程序的目标程序可执行文件之后,所述方法还包括:

30、获取编译日志,从所述编译日志中查询在预设时间段内对所述应用程序重新编译的编译次数以及每次编译对应的编译时间,得到数量等于所述编译次数的多个编译时间;

31、计算所述多个编译时间的时间总和,得到总编译时间,以及计算所述总编译时间与所述编译次数的比值,得到平均编译时间;

32、若所述平均编译时间超过时间阈值,则获取用于指示具有影响编译速度因素的预警字段,生成包括所述预警字段的预警信息,确定发起所述编译请求的用户,将所述预警信息推送至所述用户所持终端进行预警。

33、依据本技术第二方面,提供了一种应用程序的编译装置,包括:

34、获取模块,用于响应于应用程序的编译请求,获取所述编译请求携带的目标业务处理节点标识,其中,所述应用程序按照业务逻辑划分为多个业务处理节点,所述目标业务处理节点标识是所述多个业务处理节点中一业务处理节点的节点标识;

35、编译模块,用于获取所述目标业务处理节点标识对应的业务增量代码,对所述业务增量代码进行编译,得到增量可执行文件;

36、提取模块,用于确定所述应用程序的程序可执行文件,在所述程序可执行文件中提取所述目标业务处理节点标识对应的目标原始可执行文件;

37、替换模块,用于将所述目标原始可执行文件和所述增量可执行文件进行组装,得到目标可执行文件,以及采用所述目标可执行文件对所述程序可执行文件包括的所述目标业务处理节点标识对应的目标原始可执行文件进行替换,得到所述应用程序的目标程序可执行文件。

38、依据本技术第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。

39、依据本技术第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。

40、借由上述技术方案,本技术提供了一种应用程序的编译方法、装置、计算机设备及可读存储介质,本技术响应于应用程序的编译请求,获取编译请求携带的目标业务处理节点标识,随后,获取目标业务处理节点标识对应的业务增量代码,对业务增量代码进行编译,得到增量可执行文件,接着,确定应用程序的程序可执行文件,在程序可执行文件中提取目标业务处理节点标识对应的目标原始可执行文件,最后,将目标原始可执行文件和增量可执行文件进行组装,得到目标可执行文件,以及采用目标可执行文件对程序可执行文件包括的目标业务处理节点标识对应的目标原始可执行文件进行替换,得到应用程序的目标程序可执行文件;本技术只需对业务增量代码进行编译,不需要对对应的原始业务代码进行重新编译,通过将目标原始可执行文件和增量可执行文件进行组装,可得到目标可执行文件,避免了重复编译相同的代码,减少了编译时间,提高了编译效率。

41、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1