首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种补丁文件的生成方法、装置、设备及可读存储介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:上海大汉三通通信股份有限公司

摘要:本发明公开了一种补丁文件的生成方法,包括:根据用户输入的选择指令获取与所述选择指令对应的java文件;根据java文件的存储路径,确定由java文件编译生成的class文件的存储路径,并获取class文件;创建与class文件的存储路径对应的存储目录,并将class文件存入存储目录,打包生成补丁文件。该方法提高了补丁文件的生成效率,并降低了容错率,还减少了开发人员的工作量。相应地,本发明公开的一种补丁文件的生成装置、设备及可读存储介质,也同样具有上述技术效果。

主权项:1.一种补丁文件的生成方法,其特征在于,应用于适用于maven型项目或web型项目的补丁工具,包括:根据用户输入的选择指令获取与所述选择指令对应的java文件;根据所述java文件的存储路径,自动确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件;获取用户输入的所述补丁文件的名称和导出目录;按照所述名称和所述导出目录存储所述补丁文件;按照预设的配置自动调用邮件系统,并发送含有所述补丁文件的邮件;其中,在预设的配置中设置邮件接收地址,用户基于人机交互页面选择相应的邮件接收地址或用户自主输入邮件接收地址;其中,所述将所述class文件存入所述存储目录之前,还包括:判断所述class文件的创建时间是否早于所述java文件的创建时间;若是,则将预设的提示语进行可视化展示;若否,则执行所述将所述class文件存入所述存储目录的步骤;其中,所述根据所述java文件的存储路径确定由所述java文件编译生成的class文件的存储路径,包括:根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径;根据所述java文件所属项目的配置文件获取变量目录层级,该变量目录由对应的配置文件配置,以实现根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。

全文数据:一种补丁文件的生成方法、装置、设备及可读存储介质技术领域本发明涉及软件优化技术领域,更具体地说,涉及一种补丁文件的生成方法、装置、设备及可读存储介质。背景技术在现有技术中,补丁文件的打包生成一般由开发人员手动完成。例如:当采用Java语言编写补丁程序时,开发人员需要将补丁程序编译生成的class文件手动打包为补丁文件。进而使运维和测试人员依据补丁文件修复软件漏洞或优化功能。在打包class文件之前,开发人员首先需要在工程项目中寻找补丁程序,即java文件;找到java文件后,按照java文件的存储路径对比查找此java文件对应的class文件,即由此java文件编译生成的class文件;而由于一个java文件可能对应多个class文件,因此人工查找时很可能遗漏class文件。再者,当软件漏洞较多或较为庞大时,开发人员需编写多个java文件,因此人工为每个java文件寻找对应的class文件的过程就显得繁琐复杂,且极易混淆。并且,当找到需要打包的class文件后,开发人员需要按照每个class文件的存储路径编写对应的存储目录,一则工作量比较繁琐,二则由于存储路径中的各目录的名称杂乱无章,人工编写极易出错。可见,现有技术中的补丁文件的生成效率低,且容易出错。因此,如何提高补丁文件的生成效率,并降低容错率,是本领域技术人员需要解决的问题。发明内容本发明的目的在于提供一种补丁文件的生成方法、装置、设备及可读存储介质,以提高补丁文件的生成效率,并降低容错率。为实现上述目的,本发明实施例提供了如下技术方案:一种补丁文件的生成方法,包括:根据用户输入的选择指令获取与所述选择指令对应的java文件;根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。其中,所述根据所述java文件的存储路径确定由所述java文件编译生成的class文件的存储路径,包括:根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。其中,所述打包生成补丁文件之后,还包括:获取用户输入的所述补丁文件的名称和导出目录;按照所述名称和所述导出目录存储所述补丁文件。其中,所述按照所述名称和所述导出目录存储所述补丁文件之后,还包括:按照预设的配置调用邮件系统,并发送含有所述补丁文件的邮件。其中,所述将所述class文件存入所述存储目录之前,还包括:判断所述class文件的创建时间是否早于所述java文件的创建时间;若是,则将预设的提示语进行可视化展示;若否,则执行所述将所述class文件存入所述存储目录的步骤。其中,还包括:记录获取到的java文件的数量和生成的补丁文件的数量;将所述获取到的java文件的数量和所述生成的补丁文件的数量进行可视化展示。其中,还包括:记录所述补丁文件的生成信息,所述生成信息至少包括:所述补丁文件的存储目录、生成时间以及生成结果。一种补丁文件的生成装置,包括:获取模块,用于根据用户输入的选择指令获取与所述选择指令对应的java文件;确定模块,用于根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;生成模块,用于创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。一种补丁文件的生成设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任意一项所述的补丁文件的生成方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的补丁文件的生成方法的步骤。通过以上方案可知,本发明实施例提供的一种补丁文件的生成方法,包括:根据用户输入的选择指令获取与所述选择指令对应的java文件;根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。可见,所述方法可以根据用户选择的java文件的存储路径,自动确定由此java文件编译生成的class文件的存储路径,即自动查找到了class文件,提高了class文件的查找效率;当获取到class文件后,创建与当前class文件的存储路径对应的存储目录,并将class文件存入其中,从而打包生成补丁文件,提高了补丁文件的生成效率,并降低了容错率,还减少了开发人员的工作量。相应地,本发明实施例提供的一种补丁文件的生成装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例公开的一种补丁文件的生成方法流程图;图2为本发明实施例公开的一种补丁工具的人机交互页面示意图;图3为本发明实施例公开的另一种补丁文件的生成方法流程图;图4为本发明实施例公开的一种提示语的显示示意图;图5为本发明实施例公开的补丁文件的生成装置示意图;图6为本发明实施例公开的一种补丁文件的生成设备示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例公开了一种补丁文件的生成方法、装置、设备及可读存储介质,以提高补丁文件的生成效率,并降低容错率。参见图1,本发明实施例提供的一种补丁文件的生成方法,包括:S101、根据用户输入的选择指令获取与选择指令对应的java文件;按照本实施例的核心思想可设计生成一个补丁工具,该补丁工具具有人机交互页面,用于获取用户输入的选择指令,从而使该补丁工具根据选择指令获取java文件。其中,用户输入选择指令的方式可以为:鼠标点击java文件或直接将java文件拖拽至该补丁工具预设的文件获取区域。S102、根据java文件的存储路径,确定由java文件编译生成的class文件的存储路径,并获取class文件;优选地,所述根据所述java文件的存储路径确定由所述java文件编译生成的class文件的存储路径,包括:根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。具体的,当所述java文件所属项目为maven型项目时,其配置文件可以为pom.xml,那么据此查找class文件的过程可以参见下述实例。例如:若java文件的存储路径为:“C:\工作\workspace\ctc-oss-op-ui\src\main\java\com\ctc\ctcoss\mysms\smsent\action\SmsentAction.java”,其对应的class文件的存储路径为:“C:\工作\workspace\ctc-oss-op-ui\target\ctc-gw-1.8.7.126790\WEB-INF\classes\com\ctc\ctcoss\mysms\smsent\action\SmsentAction.class”以及此目录下以“SmsentAction$”开头的class文件。由java文件和class文件的存储路径可知,java文件的src\main\java目录对应class文件的target\ctc-gw-1.8.7.126790\WEB-INF\classes目录,其中是变量目录为:“ctc-gw-1.8.7.126790。该变量目录是由对应的“C:\工作\workspace\ctc-oss-op-ui\pom.xml”文件配置的,因此可以根据pom.xml文件pom.xml文件是maven项目的配置文件获取变量目录层级,以实现根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。当所述java文件所属项目为web型项目,且java文件的存储路径为:“C:\工作\workspace\smsapi\src\com\ctc\smsapi\client\TestSGIPMT.java”,其对应的class文件的存储路径为:“C:\工作\workspace\smsapi\bin\com\ctc\smsapi\client\TestSGIPMT.class”,以及此目录下以“TestSGIPMT$”开头的class文件,那么web项目的java文件的src目录对应class文件的bin目录。需要说明的是,本实施例中的补丁工具既适用于maven型项目,又适用于web型项目,为了便于用户选择,可在该补丁工具的人机交互页面为这两种项目设置选择区域。其中,补丁工具人机交互界面可参见图2。S103、创建与class文件的存储路径对应的存储目录,并将class文件存入存储目录,打包生成补丁文件。具体的,与class文件的存储路径对应的存储目录,即与class文件的存储路径一致的存储目录。补丁文件的数据包格式可以为zip。可见,本实施例提供了一种补丁文件的生成方法,所述方法可以根据用户选择的java文件的存储路径,自动确定由此java文件编译生成的class文件的存储路径,即自动查找到了class文件,提高了class文件的查找效率;当获取到class文件后,创建与当前class文件的存储路径对应的存储目录,并将class文件存入其中,从而打包生成补丁文件,提高了补丁文件的生成效率,并降低了容错率,还减少了开发人员的工作量。本发明实施例公开了另一种补丁文件的生成方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3,本发明实施例提供的另一种补丁文件的生成方法,包括:S301、根据用户输入的选择指令获取与选择指令对应的java文件;S303、根据java文件的存储路径,确定由java文件编译生成的class文件的存储路径,并获取class文件;S303、创建与class文件的存储路径对应的存储目录,并将class文件存入存储目录,打包生成补丁文件;S304、获取用户输入的补丁文件的名称和导出目录;S305、按照名称和导出目录存储补丁文件;S306、按照预设的配置调用邮件系统,并发送含有补丁文件的邮件。在本实施例中,在打包生成补丁文件之后,还包括:通过补丁工具的人机交互页面获取用户输入的补丁文件的名称和导出目录,进而按照名称和导出目录存储补丁文件,即完成补丁文件在本地的存储;之后按照预设的配置调用邮件系统,并发送含有补丁文件的邮件。其中,在预设的配置中可以设置固定的邮件接收地址,那么该补丁工具可以自动完成邮件发送的操作,而无需求人为干预;在预设的配置中也可以设置邮件接收地址的存储,那么用户可以基于人机交互页面选择相应的邮件接收地址;当然用户也可以选择自主输入邮件接收地址。可见,本实施例提供了另一种补丁文件的生成方法,所述方法可以根据用户选择的java文件的存储路径,自动确定由此java文件编译生成的class文件的存储路径,即自动查找到了class文件,提高了class文件的查找效率;当获取到class文件后,创建与当前class文件的存储路径对应的存储目录,并将class文件存入其中,从而打包生成补丁文件,提高了补丁文件的生成效率,并降低了容错率。同时,完成了补丁文件的本地存储和邮件发送,减少了开发人员的工作量。基于上述任意实施例,需要说明的是,由于每个java文件通过编译才能生成对应的class文件,若开发人员仅更改了java文件,而忘记执行编译操作,那么开发人员找到的class文件将是更改之前的java文件对应的class文件,如此会把错误的class文件打包为补丁文件。为了避免此问题,依据本发明核心思想设计生成的补丁工具预设了相应的提示机制。即:将所述class文件存入所述存储目录之前,还包括:判断所述class文件的创建时间是否早于所述java文件的创建时间;若是,则将预设的提示语进行可视化展示;若否,则执行所述将所述class文件存入所述存储目录的步骤。如此便可以避免将错误的class文件打包为补丁文件。当然,也可以根据class文件的编译时间进行设置,例如:当class文件的编译时间与当前时间的差值大于预设的时长时,可视化展示预设的提示语。提示语的显示方式可参见图4,图4中预设的时长为半个小时,即30分钟。基于上述任意实施例,需要说明的是,还包括:记录获取到的java文件的数量和生成的补丁文件的数量;将所述获取到的java文件的数量和所述生成的补丁文件的数量进行可视化展示。基于上述任意实施例,需要说明的是,还包括:记录所述补丁文件的生成信息,所述生成信息至少包括:所述补丁文件的存储目录、生成时间以及生成结果。其中,生成信息的记录方式可参见图2中的操作日志部分的记录。下面对本发明实施例提供的一种补丁文件的生成装置进行介绍,下文描述的一种补丁文件的生成装置与上文描述的一种补丁文件的生成方法可以相互参照。参见图5,本发明实施例提供的一种补丁文件的生成装置,包括:获取模块501,用于根据用户输入的选择指令获取与所述选择指令对应的java文件;确定模块502,用于根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;生成模块503,用于创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。其中,所述确定模块具体用于:根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。其中,还包括:导出模块,用于获取用户输入的所述补丁文件的名称和导出目录;存储模块,用于按照所述名称和所述导出目录存储所述补丁文件。其中,还包括:调用模块,用于按照预设的配置调用邮件系统,并发送含有所述补丁文件的邮件。其中,还包括:判断模块,用于判断所述class文件的创建时间是否早于所述java文件的创建时间;展示模块,用于当所述class文件的创建时间早于所述java文件的创建时间时,将预设的提示语进行可视化展示;执行模块,用于所述class文件的创建时间不早于所述java文件的创建时间时,执行所述生成模块中的所述将所述class文件存入所述存储目录的步骤。其中,还包括:记录模块,用于记录获取到的java文件的数量和生成的补丁文件的数量;可视化模块,用于将所述获取到的java文件的数量和所述生成的补丁文件的数量进行可视化展示。其中,还包括:日志模块,用于记录所述补丁文件的生成信息,所述生成信息至少包括:所述补丁文件的存储目录、生成时间以及生成结果。可见,本实施例提供了一种补丁文件的生成装置,包括:获取模块、确定模块以及生成模块。首先由获取模块根据用户输入的选择指令获取与所述选择指令对应的java文件;进而确定模块根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;最后生成模块创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。如此各个模块之间分工合作,各司其职,从而提高了补丁文件的生成效率,并降低了容错率,还减少了开发人员的工作量。下面对本发明实施例提供的一种补丁文件的生成设备进行介绍,下文描述的一种补丁文件的生成设备与上文描述的一种补丁文件的生成方法及装置可以相互参照。参见图6,本发明实施例提供的一种补丁文件的生成设备,包括:存储器601,用于存储计算机程序;处理器602,用于执行所述计算机程序时实现上述任意实施例所述的补丁文件的生成方法的步骤。下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种补丁文件的生成方法、装置及设备可以相互参照。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的补丁文件的生成方法的步骤。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种补丁文件的生成方法,其特征在于,包括:根据用户输入的选择指令获取与所述选择指令对应的java文件;根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。2.根据权利要求1所述的补丁文件的生成方法,其特征在于,所述根据所述java文件的存储路径确定由所述java文件编译生成的class文件的存储路径,包括:根据所述java文件的存储路径,以及所述java文件所属项目的配置文件确定由所述java文件编译生成的class文件的存储路径。3.根据权利要求2所述的补丁文件的生成方法,其特征在于,所述打包生成补丁文件之后,还包括:获取用户输入的所述补丁文件的名称和导出目录;按照所述名称和所述导出目录存储所述补丁文件。4.根据权利要求3所述的补丁文件的生成方法,其特征在于,所述按照所述名称和所述导出目录存储所述补丁文件之后,还包括:按照预设的配置调用邮件系统,并发送含有所述补丁文件的邮件。5.根据权利要求1-4任意一项所述的补丁文件的生成方法,其特征在于,所述将所述class文件存入所述存储目录之前,还包括:判断所述class文件的创建时间是否早于所述java文件的创建时间;若是,则将预设的提示语进行可视化展示;若否,则执行所述将所述class文件存入所述存储目录的步骤。6.根据权利要求5所述的补丁文件的生成方法,其特征在于,还包括:记录获取到的java文件的数量和生成的补丁文件的数量;将所述获取到的java文件的数量和所述生成的补丁文件的数量进行可视化展示。7.根据权利要求1所述的补丁文件的生成方法,其特征在于,还包括:记录所述补丁文件的生成信息,所述生成信息至少包括:所述补丁文件的存储目录、生成时间以及生成结果。8.一种补丁文件的生成装置,其特征在于,包括:获取模块,用于根据用户输入的选择指令获取与所述选择指令对应的java文件;确定模块,用于根据所述java文件的存储路径,确定由所述java文件编译生成的class文件的存储路径,并获取所述class文件;生成模块,用于创建与所述class文件的存储路径对应的存储目录,并将所述class文件存入所述存储目录,打包生成补丁文件。9.一种补丁文件的生成设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1-7任意一项所述的补丁文件的生成方法的步骤。10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的补丁文件的生成方法的步骤。

百度查询: 上海大汉三通通信股份有限公司 一种补丁文件的生成方法、装置、设备及可读存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。