CN115061726A - 脚本文件批量处理方法、装置、设备、介质和程序产品 - Google Patents
脚本文件批量处理方法、装置、设备、介质和程序产品 Download PDFInfo
- Publication number
- CN115061726A CN115061726A CN202210708461.9A CN202210708461A CN115061726A CN 115061726 A CN115061726 A CN 115061726A CN 202210708461 A CN202210708461 A CN 202210708461A CN 115061726 A CN115061726 A CN 115061726A
- Authority
- CN
- China
- Prior art keywords
- file
- processed
- script file
- script
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及智能运维技术领域,可用于金融领域,提供了一种脚本文件批量处理方法、装置、设备、介质和程序产品。本申请能够提高脚本文件批量迁移的成功率。该方法包括:从预设路径对应的目标文件目录中获取待处理脚本文件;将待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至待处理脚本文件的各行内容均匹配完成;规则条目用于表征不同版本操作系统中程序语句格式差异及对应的解决策略;根据匹配结果,确定是否更新待处理脚本文件的文件位记录;若确定已完成文件位记录的更新,则根据待处理脚本文件的内容创建临时文件;根据文件位记录调整临时文件的相应各行的内容,并将目标文件目录中的待处理脚本文件替换为调整完成后的临时文件。
Description
技术领域
本申请涉及智能运维技术领域,特别是涉及一种脚本文件批量处理方法、装置、设备、介质和程序产品。
背景技术
随着智能运维技术领域的发展,越来越多的技术人员选择通过编写脚本文件的方式,批量处理执行定时任务、计算日终损益、核对账务核算、生成业务报表等常用业务逻辑。
然而,由于不同版本的操作系统针对各类型脚本文件存在不同的语法校验规则,在向不同版本的操作系统批量迁移脚本文件的过程中,时常出现因脚本文件中的部分程序语句写法无法兼容于当前版本的操作系统,而导致的脚本文件批量迁移失败、测试环境供给效率较低等问题。
发明内容
基于此,有必要针对上述技术问题,提供一种脚本文件批量处理方法、装置、设备、介质和程序产品。
第一方面,本申请提供了一种脚本文件批量处理方法。所述方法包括:
从预设路径对应的目标文件目录中获取待处理脚本文件;
将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;
根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;
根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
在其中一个实施例中,在文件迁移测试过程中,获取所述不同版本操作系统中的程序语句格式差异及对应的解决策略;将所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目;根据预设存储方式,将各所述规则条目分别存入规则存储库。
在其中一个实施例中,将所述程序语句格式差异及对应的解决策略中,表征可变因素的文本,进行正则替换;将正则替换完成后的所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目。
在其中一个实施例中,若所述待处理脚本文件的任一行内容与任一所述规则条目匹配成功,则根据所述待处理脚本文件的绝对路径、所述待处理脚本文件的相应行内容所在位置以及该所述规则条目对应的解决策略,更新所述文件位记录。
在其中一个实施例中,若所述目标文件目录中的任一项目类型为文件夹,则从该文件夹中获取所述待处理脚本文件。
在其中一个实施例中,将所述待处理脚本文件的副本存入备份目录,删除所述目标文件目录中的待处理脚本文件;根据所述待处理脚本文件的文件名,修改所述临时文件的文件名。
在其中一个实施例中,确定所述目标文件目录中是否存在所述待处理脚本文件;若所述目标文件目录中不存在所述待处理脚本文件,则结束当前处理流程。
第二方面,本申请还提供了一种脚本文件批量处理装置。所述装置包括:
文件获取模块,用于从预设路径对应的目标文件目录中获取待处理脚本文件;
内容匹配模块,用于将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;
文件创建模块,用于根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;
文件替换模块,用于根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
从预设路径对应的目标文件目录中获取待处理脚本文件;将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
从预设路径对应的目标文件目录中获取待处理脚本文件;将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
从预设路径对应的目标文件目录中获取待处理脚本文件;将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
上述脚本文件批量处理方法、装置、计算机设备、存储介质和计算机程序产品,首先,从预设路径对应的目标文件目录中获取待处理脚本文件。然后,将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略。接着,根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件。最后,根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。该方案通过整合迁移测试过程中获取的不同版本操作系统中的程序语句格式差异及对应的解决策略的方式,形成了包含可用于批量匹配脚本文件内容的规则条目的规则存储库,基于该规则存储库对脚本文件进行批量处理,不仅能够有效提升批量处理脚本文件的效率,进而提升脚本文件针对不同版本的操作系统的兼容性,还能够提高脚本文件批量迁移的成功率以及测试环境的供给效率。
附图说明
图1为一个实施例中脚本文件批量处理方法的流程示意图;
图2为一个实施例中获取并存储规则条目的具体方式的流程示意图;
图3为一个实施例中整合规则条目内容的具体方式的流程示意图;
图4为一个实施例中将待处理脚本文件替换为调整完成后的临时文件的具体方式的流程示意图;
图5为一个实施例中确定是否应当结束当前处理流程的具体方式的流程示意图;
图6为一个实施例中脚本文件批量处理装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的脚本文件批量处理方法,可以应用于服务器执行。其中,数据存储系统可以存储服务器需要处理的数据;数据存储系统可以集成在服务器上,也可以放在云上或其他网络服务器上;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图1所示,提供了一种脚本文件批量处理方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤S101,从预设路径对应的目标文件目录中获取待处理脚本文件。
本步骤中,预设路径是指待处理脚本文件所在的文件目录对应的绝对路径;待处理脚本文件可以是可用于执行操作系统级命令、调用PLSQL进行数据库的逻辑操作的Shell脚本文件;从预设路径对应的目标文件目录中获取待处理脚本文件的具体方式,可以是使用Java编程语言中的listFiles方法轮询目标文件目录下的所有文件和文件夹,以获取待处理脚本文件。
步骤S102,将待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至待处理脚本文件的各行内容均匹配完成;规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略。
本步骤中,将待处理脚本文件的任一行内容分别与各规则条目进行匹配之前,可以使用Java编程语言中的readlines方法逐行读取待处理脚本文件的内容;将待处理脚本文件的任一行内容分别与各规则条目进行匹配,是指将待处理脚本文件中的每一行内容分别与所有规则条目进行匹配;将待处理脚本文件的任一行内容分别与各规则条目进行匹配的具体方式,可以是正则匹配;不同版本操作系统中的程序语句格式差异及对应的解决策略之间,存在一一对应的关系;规则条目可以从规则存储库中进行获取。
步骤S103,根据匹配的结果,确定是否更新待处理脚本文件对应的文件位记录;若确定已完成文件位记录的更新,则根据待处理脚本文件的内容创建临时文件。
本步骤中,若匹配成功,则需要更新待处理脚本文件对应的文件位记录;若匹配失败,则无需更新待处理脚本文件对应的文件位记录;待处理脚本文件的各行内容均匹配完成后,待处理脚本文件对应的文件位记录未进行更新,则无需根据待处理脚本文件的内容创建临时文件,即无需针对当前待处理脚本文件的内容进行调整;若确定已完成文件位记录的更新,则需要根据待处理脚本文件的内容创建临时文件;判断待处理脚本文件对应的文件位记录是否已完成更新的依据,可以是确认待处理脚本文件对应的文件位记录是否为空,若待处理脚本文件对应的文件位记录不为空,则表示已完成文件位记录的更新。
步骤S104,根据文件位记录调整临时文件的相应各行的内容,并将目标文件目录中的待处理脚本文件替换为调整完成后的临时文件。
本步骤中,根据文件位记录调整临时文件的相应各行的内容,是指根据文件位记录中的存在问题的语句所在位置,修改临时文件相应各行的内容;将目标文件目录中的待处理脚本文件替换为调整完成后的临时文件,是指利用调整完成后的临时文件,替换目标文件目录中原有的待处理脚本文件。
上述脚本文件批量处理方法,首先,从预设路径对应的目标文件目录中获取待处理脚本文件。然后,将待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至待处理脚本文件的各行内容均匹配完成;规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略。接着,根据匹配的结果,确定是否更新待处理脚本文件对应的文件位记录;若确定已完成文件位记录的更新,则根据待处理脚本文件的内容创建临时文件。最后,根据文件位记录调整临时文件的相应各行的内容,并将目标文件目录中的待处理脚本文件替换为调整完成后的临时文件。该方案通过整合迁移测试过程中获取的不同版本操作系统中的程序语句格式差异及对应的解决策略的方式,形成了包含可用于批量匹配脚本文件内容的规则条目的规则存储库,基于该规则存储库对脚本文件进行批量处理,不仅能够有效提升批量处理脚本文件的效率,进而提升脚本文件针对不同版本的操作系统的兼容性,还能够提高脚本文件批量迁移的成功率以及测试环境的供给效率。
对于获取并存储规则条目的具体方式,在一个实施例中,如图2所示,上述方法还包括以下步骤:
步骤S201,在文件迁移测试过程中,获取不同版本操作系统中的程序语句格式差异及对应的解决策略。
本步骤中,文件迁移测试过程可以是批量文件迁移测试过程;进行批量文件迁移测试过程的主要方法,可以是首先在保留文件、文件夹权限所属组的前提下针对批量程序进行打包,将打包后的批量程序迁移至目的服务器,然后解压批量程序压缩包,并修改批量程序的配置文件中与系统IP有关的配置项,最后通过全流程调用的方式针对批量程序进行功能测试;不同版本操作系统可以是不同版本的SUSE Linux系统,例如,SUSE Linux 12与SUSE Linux 11就是不同版本的SUSE Linux系统;不同版本操作系统中的程序语句格式差异及对应的解决策略,是指不同版本操作系统中的程序语句格式差异,以及用于解决前述语句差异问题的相应调整策略。
步骤S202,将程序语句格式差异及对应的解决策略,整合为符合预设数据结构的规则条目。
本步骤中,预设数据结构的表现形式,可以是键值对([key,value])的形式,也就是说,可以键值对的形式将程序语句格式差异及对应的解决策略整合为规则条目。
步骤S203,根据预设存储方式,将各规则条目分别存入规则存储库。
本步骤中,预设存储方式,可以是采用Java编程语言中的Hash Map存储结构进行存储,也就是说,可以采用Java编程语言中的Hash Map存储结构将各规则条目分别存入规则存储库中。
结合上述步骤S202至S203,并以采用键值对形式的数据结构、Java编程语言中的Hash Map存储结构为例,对根据预设数据结构整合并存储规则条目的具体方式进行总体说明:
首先,由于用于判断文件是否存在的判断语句在SUSE Linux 11、SUSE Linux 12中的写法有所不同,在SUSE Linux 11中该语句的写法为if[-f/fmbmdir/files/"B_INFO"*".TXT"],而在SUSE Linux 12中该语句的写法为if[`ls/fmbmdir/files/"B_INFO"*".TXT"|wc-l`-ne 0],也就是说,若在SUSE Linux 12中执行if[-f/fmbmdir/files/"B_INFO"*".TXT"],则会发生执行报错的问题。
然后,在以键值对的形式整合用于判断文件是否存在的判断语句对应的规则条目时,可以将if[-f@to_be_replaced@]作为该规则条目对应的键(key),并将if[`ls@to_be_replaced@|wc-l`-ne 0]作为该规则条目对应的值(value),也就是该规则条目对应的解决策略。
最后,可以将采用Java编程语言中的Hash Map存储结构将上述规则条目存入规则存储库。
上述实施例通过将文件迁移测试过程中获取的不同版本操作系统中的程序语句格式差异及对应的解决策略,整合为规则条目并存入规则存储库的方式,不仅为批量处理脚本文件提供了合理性依据,还有效地提高了批量处理脚本文件的效率。
对于整合规则条目内容的具体方式,在一个实施例中,如图3所示,上述步骤S202具体包括:
步骤S301,将程序语句格式差异及对应的解决策略中,表征可变因素的文本,进行正则替换。
本步骤中,表征可变因素的文本是指可以根据程序语句的指向对象的不同进行相应替换的文本,例如某一文件对应的相对路径、绝对路径或文件名称。
例如,用于判断文件是否存在的判断语句,在SUSE Linux 11中的写法为if[-f/fmbmdir/files/"B_INFO"*".TXT"],在SUSE Linux 12中的写法为if[`ls/fmbmdir/files/"B_INFO"*".TXT"|wc-l`-ne 0],其中,以上两种语句写法中的/fmbmdir/files/"B_INFO"*".TXT",即为这两种语句写法中表征可变因素的文本。
步骤S302,将正则替换完成后的程序语句格式差异及对应的解决策略,整合为符合预设数据结构的规则条目。
本步骤中,正则替换完成后的程序语句格式差异及对应的解决策略,可以采用正则表达式进行内容匹配;预设数据结构的表现形式,可以是键值对([key,value])的形式,也就是说,可以键值对的形式将程序语句格式差异及对应的解决策略整合为规则条目。
上述实施例通过针对程序语句格式差异及对应的解决策略中,表征可变因素的文本,进行正则替换的方式,为后续将待处理脚本文件的任一行内容分别与各规则条目进行匹配奠定了基础,进而提高了批量处理脚本文件的效率。
对于将待处理脚本文件的各行内容与所有规则条目进行匹配的具体方式,在一个实施例中,上述步骤S103具体包括:
若待处理脚本文件的任一行内容与任一规则条目匹配成功,则根据待处理脚本文件的绝对路径、待处理脚本文件的相应行内容所在位置以及该规则条目对应的解决策略,更新文件位记录。
其中,判断待处理脚本文件的任一行内容与任一规则条目匹配成功的依据,可以是待处理脚本文件的任一行内容与任一规则条目对应的键内容一致;根据待处理脚本文件的绝对路径、待处理脚本文件的相应行内容所在位置以及该规则条目对应的解决策略,更新文件位记录,是指根据待处理脚本文件的绝对路径、待处理脚本文件的相应行内容所在位置以及该规则条目对应的解决策略,在文件位记录中新增一条相应的记录信息。
上述实施例通过根据待处理脚本文件的绝对路径、待处理脚本文件的相应行内容所在位置以及该规则条目对应的解决策略,更新文件位记录的方式,为后续根据文件位记录的内容调整脚本文件的内容奠定了基础,进而保证了经处理后的脚本文件的数据准确性。
对于处理目标文件目录中的任一项目类型为文件夹的情况的具体方式,在一个实施例中,上述方法还包括以下步骤:
若目标文件目录中的任一项目类型为文件夹,则从该文件夹中获取待处理脚本文件。
其中,若目标文件目录中的任一项目类型为文件,则将该文件作为上述待处理脚本文件;若目标文件目录中的任一项目类型为文件夹,则从该文件夹中获取待处理脚本文件。
上述实施例通过根据目标文件目录中各项目对应的项目类型,确定待处理脚本文件获取方式的方式,避免了批量处理脚本文件进行过程遗漏文件夹内的待处理脚本文件,有效地保障了批量处理脚本文件进行过程的数据完整性。
对于将待处理脚本文件替换为调整完成后的临时文件的具体方式,在一个实施例中,如图4所示,上述步骤S104具体包括:
步骤S401,将待处理脚本文件的副本存入备份目录,删除目标文件目录中的待处理脚本文件。
本步骤中,备份目录,是指用于存储目标文件目录中的需变更部分内容的脚本文件的副本的文件目录;删除目标文件目录中的待处理脚本文件的操作,需要在将待处理脚本文件的副本存入备份目录之后进行。
步骤S402,根据待处理脚本文件的文件名,修改临时文件的文件名。
本步骤中,根据待处理脚本文件的文件名,修改临时文件的文件名,是指将临时文件的文件名替换为待处理脚本文件的文件名,该文件名替换操作完成后,即可将目标文件目录中的待处理脚本文件替换为调整完成后的临时文件。
上述实施例通过将待处理脚本文件替换为调整完成后的临时文件的方式,准确且高效地完成了脚本文件对应内容的替换,不仅保障了批量处理脚本文件进行过程的数据准确性,还提高了批量处理脚本文件的效率。
对于确定是否应当结束当前处理流程的具体方式,在一个实施例中,如图5所示,上述方法还包括步骤:
步骤S501,确定目标文件目录中是否存在待处理脚本文件。
本步骤中,确定目标文件目录中是否存在待处理脚本文件,是指确定目标文件目录中的脚本文件是否已经全部读取完毕。
步骤S502,若目标文件目录中不存在待处理脚本文件,则结束当前处理流程。
本步骤中,若目标文件目录中存在待处理脚本文件,则按照上述步骤对待处理脚本文件进行相应的处理;若目标文件目录中不存在待处理脚本文件,则表示目标文件目录中的脚本文件已经全部读取完毕,应当结束当前处理流程。
上述实施例通过确定目标文件目录中是否仍存在待处理脚本文件的方式,有效避免了在批量处理脚本文件的过程中可能出现的遗漏文件问题的产生,进而保障了批量处理脚本文件的数据完整性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的脚本文件批量处理方法的脚本文件批量处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个脚本文件批量处理装置实施例中的具体限定可以参见上文中对于脚本文件批量处理方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种脚本文件批量处理装置,该装置600包括:
文件获取模块601,用于从预设路径对应的目标文件目录中获取待处理脚本文件;
内容匹配模块602,用于将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;
文件创建模块603,用于根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;
文件替换模块604,用于根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
在一个实施例中,上述装置600还包括:
规则获取模块,用于在文件迁移测试过程中,获取所述不同版本操作系统中的程序语句格式差异及对应的解决策略;
规则整合模块,用于将所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目;
规则存储模块,用于根据预设存储方式,将各所述规则条目分别存入规则存储库。
在一个实施例中,规则整合模块,具体用于将所述程序语句格式差异及对应的解决策略中,表征可变因素的文本,进行正则替换;将正则替换完成后的所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目。
在一个实施例中,文件创建模块603,具体用于若所述待处理脚本文件的任一行内容与任一所述规则条目匹配成功,则根据所述待处理脚本文件的绝对路径、所述待处理脚本文件的相应行内容所在位置以及该所述规则条目对应的解决策略,更新所述文件位记录。
在一个实施例中,上述装置600还包括:文件夹处理模块,用于若所述目标文件目录中的任一项目类型为文件夹,则从该文件夹中获取所述待处理脚本文件。
在一个实施例中,文件替换模块604,具体用于将所述待处理脚本文件的副本存入备份目录,删除所述目标文件目录中的待处理脚本文件;根据所述待处理脚本文件的文件名,修改所述临时文件的文件名。
在一个实施例中,上述装置600还包括:流程进度检测模块,用于确定所述目标文件目录中是否存在所述待处理脚本文件;若所述目标文件目录中不存在所述待处理脚本文件,则结束当前处理流程。
上述脚本文件批量处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
需要说明的是,本申请脚本文件批量处理方法和装置可用于金融领域的脚本文件批量处理中,也可用于除金融领域之外的任意领域,本申请脚本文件批量处理方法和装置的应用领域不做限定。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储脚本文件等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种脚本文件批量处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种脚本文件批量处理方法,其特征在于,所述方法包括:
从预设路径对应的目标文件目录中获取待处理脚本文件;
将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;
根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;
根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
在文件迁移测试过程中,获取所述不同版本操作系统中的程序语句格式差异及对应的解决策略;
将所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目;
根据预设存储方式,将各所述规则条目分别存入规则存储库。
3.根据权利要求2所述的方法,其特征在于,所述将所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目,包括:
将所述程序语句格式差异及对应的解决策略中,表征可变因素的文本,进行正则替换;
将正则替换完成后的所述程序语句格式差异及对应的解决策略,整合为符合预设数据结构的所述规则条目。
4.根据权利要求1所述的方法,其特征在于,所述根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录,包括:
若所述待处理脚本文件的任一行内容与任一所述规则条目匹配成功,则根据所述待处理脚本文件的绝对路径、所述待处理脚本文件的相应行内容所在位置以及该所述规则条目对应的解决策略,更新所述文件位记录。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
若所述目标文件目录中的任一项目类型为文件夹,则从该文件夹中获取所述待处理脚本文件。
6.根据权利要求1所述的方法,其特征在于,所述将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件,包括:
将所述待处理脚本文件的副本存入备份目录,删除所述目标文件目录中的待处理脚本文件;
根据所述待处理脚本文件的文件名,修改所述临时文件的文件名。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括步骤:
确定所述目标文件目录中是否存在所述待处理脚本文件;
若所述目标文件目录中不存在所述待处理脚本文件,则结束当前处理流程。
8.一种脚本文件批量处理装置,其特征在于,所述装置包括:
文件获取模块,用于从预设路径对应的目标文件目录中获取待处理脚本文件;
内容匹配模块,用于将所述待处理脚本文件的任一行内容分别与各规则条目进行匹配,直至所述待处理脚本文件的各行内容均匹配完成;所述规则条目用于表征不同版本操作系统中的程序语句格式差异及对应的解决策略;
文件创建模块,用于根据所述匹配的结果,确定是否更新所述待处理脚本文件对应的文件位记录;若确定已完成所述文件位记录的更新,则根据所述待处理脚本文件的内容创建临时文件;
文件替换模块,用于根据所述文件位记录调整所述临时文件的相应各行的内容,并将所述目标文件目录中的所述待处理脚本文件替换为调整完成后的所述临时文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210708461.9A CN115061726A (zh) | 2022-06-22 | 2022-06-22 | 脚本文件批量处理方法、装置、设备、介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210708461.9A CN115061726A (zh) | 2022-06-22 | 2022-06-22 | 脚本文件批量处理方法、装置、设备、介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115061726A true CN115061726A (zh) | 2022-09-16 |
Family
ID=83202085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210708461.9A Pending CN115061726A (zh) | 2022-06-22 | 2022-06-22 | 脚本文件批量处理方法、装置、设备、介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061726A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644035A (zh) * | 2023-07-21 | 2023-08-25 | 中邮消费金融有限公司 | 文件批量入库方法、装置、设备及存储介质 |
-
2022
- 2022-06-22 CN CN202210708461.9A patent/CN115061726A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644035A (zh) * | 2023-07-21 | 2023-08-25 | 中邮消费金融有限公司 | 文件批量入库方法、装置、设备及存储介质 |
CN116644035B (zh) * | 2023-07-21 | 2024-01-26 | 中邮消费金融有限公司 | 文件批量入库方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190065322A1 (en) | Restoring a database using a fully hydrated backup | |
US20200150897A1 (en) | Cloud edition and retrieve | |
US11886412B2 (en) | Large content file optimization | |
WO2020123923A1 (en) | Automated testing for metadata-driven custom applications | |
CN115344284A (zh) | 自动驾驶软件升级方法、装置、存储介质及计算机设备 | |
US10318330B2 (en) | Data-persisting temporary virtual machine environments | |
CN115061726A (zh) | 脚本文件批量处理方法、装置、设备、介质和程序产品 | |
CN117743299A (zh) | 数据库迁移方法、装置、设备、介质和产品 | |
US20230222165A1 (en) | Object storage-based indexing systems and method | |
CN115827691A (zh) | 批量处理结果验证方法、装置、计算机设备、存储介质 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN114064674A (zh) | 数据同步方法、装置、计算机设备、存储介质和产品 | |
CN114691653A (zh) | 账套迁移方法、装置、计算机设备和存储介质 | |
US20240320624A1 (en) | Storage and consumption of software bill of materials on public blockchain | |
US11899811B2 (en) | Processing data pages under group-level encryption | |
US12032589B2 (en) | Bypassing database automations | |
US20240256487A1 (en) | Refreshing multiple target copies created from a single source | |
CN115695173A (zh) | 网络安全例外接入方法、装置、设备、介质和程序产品 | |
CN115470043A (zh) | 数据库备份方法、装置、计算机设备和存储介质 | |
CN114185591A (zh) | 代码检查方法、装置、存储介质和计算机程序产品 | |
CN117539685A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN117667837A (zh) | 数据归档方法、装置、计算机设备和存储介质 | |
CN117971297A (zh) | 依赖包同步方法、装置、计算机设备和存储介质 | |
CN118133799A (zh) | 用户文件模板整合方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |