服务包生成方法及装置制造方法及图纸

技术编号:36122406 阅读:12 留言:0更新日期:2022-12-28 14:28
本申请提供服务包生成方法及装置,其中所述服务包生成方法应用于开发终端,包括:接收针对目标程序源码文件的服务包生成指令;响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息;根据所述目标程序源码文件和所述依赖关系文件生成目标服务包。通过本申请提供的方法,无需将第三方依赖放入到服务包中,有效的减少了服务包的体量。包的体量。包的体量。

【技术实现步骤摘要】
服务包生成方法及装置


[0001]本申请涉及软件开发
,特别涉及服务包生成方法。本申请同时涉及服务包生成装置和系统,一种计算设备,以及一种计算机可读存储介质。

技术介绍

[0002]计算机编程语言是软件开发过程中的基础,其中,Java语言由于其面向对象及多种第三方技术栈支持的特点,适合开发复杂系统。
[0003]但是Java语言在生成服务包的时候也会有服务包过大的问题,一个Java程序的服务包,除去自身的源码文件外,还需要有依赖的三方包、动态库等等,服务包的体量就会比较大,会达到几十兆甚至上百兆。程序的服务复杂度越高,其依赖的第三方库就越多,服务包的体量就会越大,从服务制品输出,到用户客户端服务器部署更新流程就会越慢,用户体验就会越差。而且由于使用大量的第三方库,在发现第三方库安全漏洞问题时,第三方库升级同样需要用完整的服务包进行替代,因此,亟需一种新的方法生成服务包来解决上述问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供了服务包生成方法。本申请同时涉及服务包生成装置和系统,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
[0005]根据本申请实施例的第一方面,提供了一种服务包生成方法,应用于开发终端,包括:
[0006]接收针对目标程序源码文件的服务包生成指令;
[0007]响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息;
[0008]根据所述目标程序源码文件和所述依赖关系文件生成目标服务包。
[0009]根据本申请实施例的第二方面,提供了一种服务包生成装置,应用于开发终端,包括:
[0010]接收模块,被配置为接收针对目标程序源码文件的服务包生成指令;
[0011]文件生成模块,被配置为响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息;
[0012]打包模块,被配置为根据所述目标程序源码文件和所述依赖关系文件生成目标服务包。
[0013]根据本申请实施例的第三方面,提供了一种服务包生成系统,其特征在于,包括:
[0014]开发终端、运维平台服务器和用户终端;
[0015]所述运维平台服务器,被配置为保存第三方依赖至依赖数据库;
[0016]所述开发终端,被配置为接收针对目标程序源码文件的服务包生成指令,响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息,根据所述目标程序源码文件和所述依赖关系文件生成目标服务包,发送所述目标服务包至所述运维平台服务器;
[0017]所述运维平台服务器,进一步被配置为在确定所述目标服务包为合法服务包的情况下,发布所述目标服务包;
[0018]所述用户终端,被配置为从所述运维平台服务器下载所述目标服务包,解压并部署所述目标服务包。
[0019]根据本申请实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述服务包生成方法的步骤。
[0020]根据本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述服务包生成方法的步骤。
[0021]本申请提供的服务包生成方法,应用于开发终端,通过接收针对目标程序源码文件的服务包生成指令;响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息;根据所述目标程序源码文件和所述依赖关系文件生成目标服务包。
[0022]本申请一实施例实现了通过对程序源码文件的解析获得目标应用程序用到的第三方依赖信息,仅将目标应用程序用到的第三方依赖的描述信息生成依赖关系文件,将依赖关系文件添加到服务包中,而不是将第三方依赖放入到服务包中,有效的减少了服务包的体量。
附图说明
[0023]图1是本申请一实施例提供的一种服务包生成方法的流程图;
[0024]图2是本申请一实施例提供的服务包生成系统的系统架构图;
[0025]图3是本申请一实施例提供的一种应用于java语言的服务包生成方法的处理流程图;
[0026]图4是本申请一实施例提供的一种服务包生成装置的结构示意图;
[0027]图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
[0028]在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
[0029]在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所
使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0030]应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0031]Java的面向对象及各种三方技术栈支持的特点,适合开发复杂系统,正因如此,Java语言同样带来新的问题,在技术人员开发目标应用程序之后,需要对目标应用程序所用到的文件进行打包,生成安装包,在生成安装包的过程中,需要将引用的第三方依赖、动态库的信息也添加到安装包中,以便用户在用户终端进行安装时能正常使用,这就导致打包生成的安装包体量会很大,一个安装包的大小会达到几十兆甚至上百兆。
[0032]以最常见的软件框架为例,再集成持久层的一个目标应用程序的样例,安装包的大小就将近46M(兆),其中,第三方依赖就有45M,目标应用程序的源码、配置文件和相关脚本文件总共有1M。
[0033]现有的打包方式,服务复杂度越高,依赖的三方库越多,服务包的体量势必会越大,从服务制品输出过程,到客户终端部署更新流程都会越来越慢,以一个线上升级的大版本为例,某个版本升级涉及到12个服务升级,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务包生成方法,其特征在于,应用于开发终端,包括:接收针对目标程序源码文件的服务包生成指令;响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三方依赖的描述信息;根据所述目标程序源码文件和所述依赖关系文件生成目标服务包。2.如权利要求1所述的方法,其特征在于,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,包括:编译所述目标程序源码文件,获得所述目标程序源码文件的第三方依赖信息,其中,所述第三方依赖信息对应的第三方依赖保存在运维平台服务器;解析所述第三方依赖信息,生成所述目标程序源码文件对应的依赖关系文件。3.如权利要求2所述的方法,其特征在于,解析所述第三方依赖信息,生成所述目标程序源码文件对应的依赖关系文件,包括:解析所述第三方依赖信息,获得每个第三方依赖信息对应的库组信息、库名信息、库版本信息;根据每个第三方依赖信息对应的库组信息、库名信息、库版本信息生成所述依赖关系文件。4.如权利要求3所述的方法,其特征在于,所述方法还包括:获取目标应用程序对应的程序属性信息;相应的,根据每个第三方依赖信息对应的库组信息、库名信息、库版本信息生成所述依赖关系文件,包括:根据所述程序属性信息和每个第三方依赖信息对应的库组信息、库名信息、库版本信息生成所述依赖关系文件。5.如权利要求1所述的方法,其特征在于,所述方法还包括:获取所述目标程序源码文件对应的配置文件、脚本文件;相应的,根据所述目标程序源码文件和所述依赖关系文件生成目标服务包,包括:根据所述配置文件、所述脚本文件、所述目标程序源码文件和所述依赖关系文件生成目标服务包。6.如权利要求1所述的方法,其特征在于,所述方法还包括:发送所述目标服务包至运维平台服务器。7.一种服务包生成系统,其特征在于,包括:开发终端、运维平台服务器和用户终端;所述运维平台服务器,被配置为保存第三方依赖至依赖数据库;所述开发终端,被配置为接收针对目标程序源码文件的服务包生成指令,响应于所述服务包生成指令,解析所述目标程序源码文件,生成所述目标程序源码文件对应的依赖关系文件,其中,所述依赖关系文件中记录所述目标程序源码文件中第三...

【专利技术属性】
技术研发人员:杨宇马进朝董攀峰童世红周翔徐进
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:

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

1