一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件转换方法、装置、计算机设备及计算机可读存储介质与流程

2023-02-06 18:33:09 来源:中国专利 TAG:


1.本技术涉及互联网技术领域,特别是涉及一种文件转换方法、装置、计算机设备及计算机可读存储介质。


背景技术:

2.随着互联网技术的不断进步,目前大多数企业的项目是使用微服务,并采用项目管理工具软件maven或项目自动化构建开源工具gradle完成编译打包。但存在一些老项目采用传统的方式,在项目中引用具体的jar文件。
3.相关技术中,开发人员需要从各个代码中查看jar文件对应的版本,再从公网上的maven仓库中查询对应的maven版本,进而完成文件的转换。
4.在实现本技术的过程中,申请人发现相关技术至少存在以下问题:
5.文件转换需要大量的人工处理,一个项目中往往存在上百个jar文件,进而增加了人工的工作量,大量的人工处理容易产生查询错误、输入错误等人为失误,进而导致文件转换的效率低,准确性差。


技术实现要素:

6.有鉴于此,本技术提供了一种文件转换方法、装置、计算机设备及计算机可读存储介质,主要目的在于解决目前大量的人工处理容易产生查询错误、输入错误等人为失误,进而导致文件转换的效率低,准确性差的问题。
7.依据本技术第一方面,提供了一种文件转换方法,该方法包括:
8.接收磁盘路径,根据所述磁盘路径读取待转换文件列表,所述待转换文件列表中包含多个待转换文件;
9.解压每个所述待转换文件,在所述解压后的待转换文件中提取显示文件,并读取所述显示文件中存储的版本数据作为所述待转换文件的标识信息,所述版本数据包括包名和版本号;
10.按照所述标识信息,在仓库中确定对应的插件列表,并拉取所述插件列表指示的插件信息,得到与所述标识信息匹配的目标插件信息;
11.记录所述目标插件信息,得到所述待转换文件对应的目标文件。
12.依据本技术第二方面,提供了一种文件转换装置,该装置包括:
13.接收模块,用于接收磁盘路径,根据所述磁盘路径读取待转换文件列表,所述待转换文件列表中包含多个待转换文件;
14.解压模块,用于解压每个所述待转换文件,在所述解压后的待转换文件中提取显示文件,并读取所述显示文件中存储的版本数据作为所述待转换文件的标识信息,所述版本数据包括包名和版本号;
15.拉取模块,用于按照所述标识信息,在仓库中确定对应的插件列表,并拉取所述插件列表指示的插件信息,得到与所述标识信息匹配的目标插件信息;
16.记录模块,用于记录所述目标插件信息,得到所述待转换文件对应的目标文件。
17.依据本技术第三方面,提供了一种计算机设备,,包括存储设备、处理器及存储在存储设备上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面中任一项所述方法的步骤。
18.依据本技术第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
19.借由上述技术方案,本技术提供的一种文件转换方法、装置、计算机设备及计算机可读存储介质,本技术首先接收磁盘路径,根据磁盘路径读取待转换文件列表中包含的多个待转换文件。随后,解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据,即包名和版本号,作为待转换文件的标识信息。再按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。最后,记录目标插件信息,得到待转换文件对应的目标文件。通过待转换文件的标识信息,在仓库中自动查询标识信息对应的插件信息,进而得到待转换文件对应的目标文件,避免了人工转换文件而产生的人为失误,提高了文件转换的效率和准确率。
20.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
21.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
22.图1示出了本技术实施例提供的一种文件转换方法流程示意图;
23.图2a示出了本技术实施例提供的一种文件转换方法流程示意图;
24.图2b示出了本技术实施例提供的一种文件转换方法流程示意图;
25.图2c示出了本技术实施例提供的一种文件转换方法流程示意图;
26.图2d示出了本技术实施例提供的一种文件转换方法流程示意图;
27.图3a示出了本技术实施例提供的一种文件转换装置的结构示意图;
28.图3b示出了本技术实施例提供的一种文件转换装置的结构示意图;
29.图4示出了本技术实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
30.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
31.本技术实施例提供了一种文件转换方法,如图1所示,该方法包括:
32.101、接收磁盘路径,根据磁盘路径读取待转换文件列表,待转换文件列表中包含多个待转换文件。
33.需要说明的是,本方法适用于文件转换插件,以go语言编写的文件转换插件为例,文件转换插件得源代码文件可以是jar-to-pom.go。随后,将文件转换插件的源代码文件进行编译,生成可执行文件。以windows系统为例,可以直接双击可执行文件jar-to-pom.exe来启动文件转换插件。本方法通过插件来实现jar文件的批量转换,将老项目下的多个jar文件转换为新项目的pom文件。其中,pom(project object model)是maven对一个单一项目的描述,也就是说,pom是maven的核心,是pom实现并驱动了这种以模型来描述的构建方式。
34.在本技术实施例中,考虑到老项目所引用的jar文件都是在工程的libs目录下,所以,将libs文件夹的存储路径,也就是磁盘路径输入至文件转换插件后,文件转换插件可以给予磁盘路径读取到项目包含的全部jar文件。具体地,文件转换插件接收磁盘路径,按照磁盘路径读取待转换文件列表,其中,待转换文件列表中包含多个待转换文件,本技术对待转换文件列表中存储的待转换文件的数量不进行具体限定。
35.102、解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据作为待转换文件的标识信息,版本数据包括包名和版本号。
36.进一步地,对于读取到的每个待转换文件,文件转换插件会调用现有的解压缩工具将待转换文件解压缩,从而得到存储不同数据内容的多个子文件。随后,在多个子文件中找出显示文件,也就是manifest.mt文件,遍历manifest.mt文件存储的数据内容,在manifest.mt文件存储的数据内容中读取待转换文件对应的标识信息。
37.103、按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。
38.在本技术实施例中,文件转换插件将读取到的标识信息作为关键字,在仓库中自动进行遍历查询,进而将需要被拉取的插件信息的信息标识,存储至插件列表中。进一步地,在仓库中拉取插件列表中的信息标识指示的插件信息。为了避免网页搜索可能会加载其他的插件信息,在将插件信息拉取到本地后,需要对插件信息进行过滤,最终过滤得出与标识信息匹配的目标插件信息。
39.104、记录目标插件信息,得到待转换文件对应的目标文件。
40.在本技术实施例中,文件转换插件最终识别目标插件信息,在目标插件信息中提取所需的信息内容进行记录,从而得到所需的目标pom文件。
41.本技术实施例提供的方法,首先接收磁盘路径,根据磁盘路径读取待转换文件列表中包含的多个待转换文件。随后,解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据,即包名和版本号,作为待转换文件的标识信息。再按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。最后,记录目标插件信息,得到待转换文件对应的目标文件。通过待转换文件的标识信息,在仓库中自动查询标识信息对应的插件信息,进而得到待转换文件对应的目标文件,避免了人工转换文件而产生的人为失误,提高了文件转换的效率和准确率。
42.本技术实施例提供了一种文件转换方法,如图2a所示,该方法包括:
43.201、接收磁盘路径,根据磁盘路径读取待转换文件列表,待转换文件列表中包含多个待转换文件。
44.随着互联网技术的不断进步,目前大多数企业的项目是使用微服务,并采用项目
管理工具软件maven或项目自动化构建开源工具gradle完成编译打包。但存在一些老项目采用传统的方式,在项目中引用具体的jar文件。目前,开发人员需要从各个代码中查看jar文件对应的版本,再从公网上的maven仓库中查询对应的maven版本,进而完成文件的转换。但是申请人认识到,文件转换需要大量的人工处理,一个项目中往往存在上百个jar文件,进而增加了人工的工作量,大量的人工处理容易产生查询错误、输入错误等人为失误,进而导致文件转换的效率低,准确性差。
45.因此,本技术提供了一种文件转换方法、装置、计算机设备及计算机可读存储介质,本技术首先接收磁盘路径,根据磁盘路径读取待转换文件列表中包含的多个待转换文件。随后,对于多个待转换文件中的每个待转换文件,解压待转换文件,在待转换文件的显示文件中,确定待转换文件对应的标识信息。再按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。最后,记录目标插件信息,得到待转换文件对应的目标文件。通过待转换文件的标识信息,在仓库中自动查询标识信息对应的插件信息,进而得到待转换文件对应的目标文件,避免了人工转换文件而产生的人为失误,提高了文件转换的效率和准确率。
46.在本技术实施例中,需要说明的是,本方法适用于文件转换插件,通过插件来实现jar文件的批量转换文件,将老项目下的jar文件转换为新项目的pom文件。需要说明的是,文件转换插件可以采用go语言编写,也可以用java语言编写,本技术对编写文件转换插件使用的脚本语言不进行具体限定。在实际运行过程中,考虑到能将go语言的源代码文件编译产生跨平台的可执行文件,本技术实施例以采用go语言编写的文件转换插件为例进行说明。文件转换插件得源代码文件可以是jar-to-pom.go。随后,将文件转换插件的源代码文件进行编译,生成可执行文件。这个可执行文件可以是适用于windows系统的以exe结尾的文件,也可以是适用于linux系统的以sh结尾的文件。
47.本技术提供的文件转换方法适用于文件转换插件,如图2b所示,考虑到老项目所引用的jar文件都是在工程的libs目录下,所以,将libs文件夹的存储路径作为磁盘路径发送至文件转换插件。文件转换插件接收磁盘路径,按照磁盘路径指示的位置读取待转换文件列表,其中,待转换文件列表中包含着项目所需的全部jar文件,本技术对待转换文件列表中存储的待转换文件的数量不进行具体限定。进一步地,循环处理待转换列表中的每一个jar文件,具体地,文件转换插件将每个jar文件夹输入至合法文件检测模块进行合法性检测。在jar文件通过合法性检测后,将其输入至jar文件处理模块进行文件转换,得到对应的目标文件。在待转换文件列表中存储的全部jar文件转换完毕后,结束循环处理,得到该项目对应的全部目标文件。
48.202、对每个待转换文件进行合法性检测。
49.在本技术实施例中,为了保证业务执行系统的系统运行安全,文件转换插件在对待转换文件进行转换之前,需要调用合法文件检测模块对每个待转换文件进行合法性检测。
50.首先,对于每个待转换文件,文件转换插件调用合法文件检测模块对待转换文件分进行内容检测、格式检测以及病毒检测,确定待转换文件的内容检测子结果、格式检测子结果、病毒检测子结果。具体地,如图2c所示,文件转换插件将jar文件输入至合法检测模块后,当合法检测模块进行内容检测时,读取待转换文件,确定待转换文件中插件组织信息g:
groupid、插件项目名称a:artifactid、插件版本号v:version的坐标信息以及指定文件的存储状态。需要说明的是,只有在插件组织信息、插件项目名称、插件版本号的坐标信息以及指定文件class文件全部存在时,存储状态为存在状态,否则,存储状态为不存在状态。在存储状态满足预设存储状态,即存在状态时,生成用于指示正常的内容检测子结果,反之,则生成用于指示异常的内容检测子结果。也就是说,只有在插件组织信息、插件项目名称、插件版本号的坐标信息以及指定文件都存在时,才会生成用于指示正常的内容检测子结果。当进行格式检测时,文件转换插件会读取待转换文件的后缀名,在后缀名满足预设后缀名jar时,生成用于指示正常的格式检测子结果,反之,则生成用于指示异常的格式检测子结果。格式检测也就是检测待转换文件是否为jar后缀文件,只有jar文件才能够进行文件转换。当进行病毒检测时,调用文件病毒扫描模块扫描待转换文件,在文件病毒扫描模块输出的结果指示无病毒时,生成用于指示正常的病毒检测子结果,反之,则生成用于指示异常的病毒检测子结果。
51.进一步地,在内容检测子结果、格式检测子结果、病毒检测子结果全部指示正常时,生成用于指示待转换文件正常的检测结果,反之,则生成用于指示待转换文件异常的检测结果。
52.最终,对待转换文件的检测结果进行识别,若检测结果指示待转换文件正常,则将其输入至jar文件处理模块进行文件转换,得到待转换文件对应的目标文件,也就是执行下述步骤203。若检测结果指示待转换文件异常,则生成告警信息,将告警信息发送至后台终端进行展示,告警信息用于触发后台终端上传对待转换文件的修改指令。
53.203、在检测结果指示待转换文件正常后,解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据作为待转换文件的标识信息。
54.进一步地,在检测结果指示待转换文件正常后,将其输入至jar文件处理模块进行文件转换,对于每个待转换文件,文件转换插件会调用现有的解压缩工具将待转换文件解压缩,得到多个子文件。接下来,文件转换插件需要在多个子文件中找出显示文件,也就是manifest.mt文件,这个manifest文件定义了与扩展和包相关的数据。进一步地,在manifest.mt文件中读取存储的包名和版本号作为待转换文件对应的标识信息。
55.204、按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息,记录目标插件信息,得到待转换文件对应的目标文件。
56.文件转换插件将读取到的标识信息作为关键字,在仓库中自动进行遍历查询,进而将需要被拉取的插件信息的信息标识,存储至插件列表中。进一步地,在仓库中拉取插件列表中的信息标识指示的插件信息。为了避免网页搜索可能会加载其他的插件信息,在将插件信息拉取到本地后,需要对插件信息进行过滤,最终过滤得出与标识信息匹配的目标插件信息。
57.具体地,通过包名、版本号,在仓库中查询对应的插件信息,生成插件列表。再按照插件列表,在仓库中拉取插件列表指示的插件信息。需要说明的是仓库包括公司内网私服仓库、公网仓库、公网中央仓库。进一步地,考虑到网络搜索可能会加载出其他插件的信息,因此,文件转换插件解析返回的插件列表中的插件信息,删除其中与标识信息不匹配的插件信息,将删除后剩余的插件信息作为目标插件信息。
58.205、记录目标插件信息,得到待转换文件对应的目标文件。
59.在本技术实施例中,文件转换插件最终会识别目标插件信息,在目标插件信息中提取所需的插件组织信息、插件项目名称以及插件版本号进行记录,从而得到所需的目标pom文件。
60.需要说明的是,本方法还设置有反向校验环节,用于对插件列表进行反向校验。具体地,校验插件列表中是否存在数据内容,若插件列表中不存在数据内容,则说明文件转换插件并未从仓库中拉取到对应的插件信息,此时需要记录拉取插件信息失败的失败原因,在本组jar包转换完毕后,将失败原因返回至后台终端进行展示。另外,相关工作人员可以在后台终端查看到哪些jar文件转换失败以及相应的失败原因,进而根据失败原因排查错误重新进行文件转换。若插件列表中存在数据内容,则说明拉取到了待转换文件对应的插件信息,此时,读取相应的插件信息进行文件转换即可。
61.综上所述,对于单个jar文件的转换过程,如图2d所示,首先调用现有的解压缩工具将待转换文件解压缩,在解压缩后的多个文件中找出manifest.mt文件,并读取manifest文件中存储的包名和版本号作为标识信息。接下来,通过通过包名、版本号,在仓库中查询对应的插件信息,生成插件列表。再按照插件列表,在仓库中拉取插件列表指示的插件信息。随后,解析返回的插件列表中的插件信息,删除其中与标识信息不匹配的插件信息,将删除后剩余的插件信息作为目标插件信息。最终识别目标插件信息,在目标插件信息中提取所需的插件组织信息、插件项目名称以及插件版本号进行记录,从而得到所需的目标pom文件。与此同时,设置有反向校验环节,用于对插件列表进行反向校验,判断是否从仓库中拉取到插件信息。
62.本技术实施例提供的方法,首先接收磁盘路径,根据磁盘路径读取待转换文件列表中包含的多个待转换文件。随后,解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据,即包名和版本号,作为待转换文件的标识信息。再按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。最后,记录目标插件信息,得到待转换文件对应的目标文件。通过待转换文件的标识信息,在仓库中自动查询标识信息对应的插件信息,进而得到待转换文件对应的目标文件,避免了人工转换文件而产生的人为失误,提高了文件转换的效率和准确率。
63.进一步地,作为图1所述方法的具体实现,本技术实施例提供了一种文件转换装置,如图3a所示,所述装置包括:接收模块301、解压模块302、拉取模块303、记录模块304。
64.该接收模块301,用于接收磁盘路径,根据所述磁盘路径读取待转换文件列表,所述待转换文件列表中包含多个待转换文件;
65.该解压模块302,用于解压每个所述待转换文件,在所述解压后的待转换文件中提取显示文件,并读取所述显示文件中存储的版本数据作为所述待转换文件的标识信息,所述版本数据包括包名和版本号;
66.该拉取模块303,用于按照所述标识信息,在仓库中确定对应的插件列表,并拉取所述插件列表指示的插件信息,得到与所述标识信息匹配的目标插件信息;
67.该记录模块304,用于记录所述目标插件信息,得到所述待转换文件对应的目标文件。
68.在具体的应用场景中,如图3b所示,所述装置还包括:检测模块305、生成模块306。
69.该检测模块305,用于对每个所述待转换文件进行合法性检测,为每个所述待转换文件生成检测结果,所述合法性检测包括内容检测、格式检测以及病毒检测;
70.该解压模块302,用于若所述检测结果指示所述待转换文件正常,则将所述待转换文件转换为所述目标文件;
71.该生成模块306,用于若所述检测结果指示所述待转换文件异常,则生成告警信息,将所述告警信息发送至后台终端进行展示,所述告警信息用于触发所述后台终端上传对所述待转换文件的修改指令。
72.在具体的应用场景中,该检测模块305,用于调用合法文件检测模块,分别对所述待转换文件进行所述内容检测、所述格式检测以及所述病毒检测,确定所述待转换文件的内容检测子结果、格式检测子结果、病毒检测子结果;在所述内容检测子结果、所述格式检测子结果、所述病毒检测子结果全部指示正常时,生成用于指示所述待转换文件正常的检测结果,反之,则生成用于指示所述待转换文件异常的检测结果。
73.在具体的应用场景中,该检测模块305,用于当进行所述内容检测时,读取所述待转换文件,确定所述待转换文件中插件组织信息、插件项目名称、插件版本号的坐标信息以及指定文件的存储状态,在所述存储状态满足预设存储状态时,生成用于指示正常的内容检测子结果,反之,则生成用于指示异常的内容检测子结果;当进行所述格式检测时,读取所述待转换文件的后缀名,在所述后缀名满足预设后缀名时,生成用于指示正常的格式检测子结果,反之,则生成用于指示异常的格式检测子结果;当进行所述病毒检测时,调用文件病毒扫描模块扫描所述待转换文件,在所述文件病毒扫描模块输出的结果指示无病毒时,生成用于指示正常的病毒检测子结果,反之,则生成用于指示异常的病毒检测子结果。
74.在具体的应用场景中,该拉取模块303,用于在所述仓库中查询所述标识信息对应的插件信息,生成所述插件列表,并按照所述插件列表,在所述仓库中拉取所述插件列表指示的插件信息,所述仓库,包括公司内网私服仓库、公网仓库、公网中央仓库;解析所述插件信息,删除与所述标识信息不匹配的插件信息,将删除后剩余的插件信息作为所述目标插件信息。
75.在具体的应用场景中,该拉取模块303,用于反向校验所述插件列表,若所述插件列表中不存在数据内容,则记录拉取插件信息失败的失败原因,将所述失败原因返回至后台终端进行展示。
76.在具体的应用场景中,该记录模块304,用于识别所述目标插件信息,记录目标插件信息中的插件组织信息、插件项目名称和插件版本号,将所述插件组织信息、插件项目名称和插件版本号存储为所述目标文件。
77.本技术实施例提供的装置,首先接收磁盘路径,根据磁盘路径读取待转换文件列表中包含的多个待转换文件。随后,解压每个待转换文件,在解压后的待转换文件中提取显示文件,并读取显示文件中存储的版本数据,即包名和版本号,作为待转换文件的标识信息。再按照标识信息,在仓库中确定对应的插件列表,并拉取插件列表指示的插件信息,得到与标识信息匹配的目标插件信息。最后,记录目标插件信息,得到待转换文件对应的目标文件。通过待转换文件的标识信息,在仓库中自动查询标识信息对应的插件信息,进而得到待转换文件对应的目标文件,避免了人工转换文件而产生的人为失误,提高了文件转换的
效率和准确率。
78.需要说明的是,本技术实施例提供的一种文件转换装置所涉及各功能单元的其他相应描述,可以参考图1和图2a至图2d中的对应描述,在此不再赘述。
79.在示例性实施例中,参见图4,还提供了一种设备,该设备包括通信总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的文件转换方法。
80.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的文件转换方法的步骤。
81.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
82.本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本技术所必须的。
83.本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
84.上述本技术序号仅仅为了描述,不代表实施场景的优劣。
85.以上公开的仅为本技术的几个具体实施场景,但是,本技术并非局限于此,任何本领域的技术人员能思之的变化都应落入本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献