CN116644035A - 文件批量入库方法、装置、设备及存储介质 - Google Patents
文件批量入库方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116644035A CN116644035A CN202310900539.1A CN202310900539A CN116644035A CN 116644035 A CN116644035 A CN 116644035A CN 202310900539 A CN202310900539 A CN 202310900539A CN 116644035 A CN116644035 A CN 116644035A
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- files
- data
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013524 data verification Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000012795 verification Methods 0.000 claims abstract description 17
- 230000002159 abnormal effect Effects 0.000 claims description 66
- 238000013507 mapping Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 7
- 238000003032 molecular docking Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,公开了一种文件批量入库方法、装置、设备及存储介质,该方法包括:接收目标文件,根据目标文件名获取预设配置规则;采用预设配置规则对目标文件进行标准化处理,获得待入库文件,并确定待入库文件的对应数据库以生成目标链路;对待入库文件进行数据校验,并基于用户参数对经过校验的待入库文件进行更新;对更新后的各个待入库文件分别进行逐行读取,通过目标链路将读取到的文件数据存入对应数据库中。由于本发明根据预设配置规则实现文件配置,并引入数据校验,最后采用逐行读取入库,能够在考虑对接业务的数据多样性同时确保入库数据的可靠性,并且提升了文件的入库效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种文件批量入库方法、装置、设备及存储介质。
背景技术
目前,随着企业生产经营的扩大,由此产生的数据量也不断增长,因此存储于数据库中的文件数据的需求也迅速增加,文件数据加载入库成为各企业常见的数据加载任务。
然而,尽管很多数据库工具自带有常见的数据加载工具,但由于对接的业务类型种类复杂且数据量繁多,传统的入库方式不能满足配置化的入库需求,对于数据文本的处理转换工作仍需要人工处理,同时还容易出现数据入库后乱码问题,使得文件入库的效率较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是相关技术。
发明内容
本发明的主要目的在于提供了一种文件批量入库方法、装置、设备及存储介质,旨在解决现有的文件入库方式对不同数据文件缺乏统一标准,在多样化的业务文件类型需要入库时需要人工处理,容易出现数据入库后乱码问题,文件入库效率较低的技术问题。
为实现上述目的,本发明提供了一种文件批量入库方法,所述方法包括以下步骤:
接收目标文件,根据目标文件名获取预设配置规则;
采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;
对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;
对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
可选地,所述接收目标文件,根据目标文件名获取预设配置规则,包括:
在接收到文件入库指令时,获取目标文件集合;
判断所述目标文件集合中各目标文件的文件类型;
在所述文件类型为压缩文件类别时,对压缩文件类别的目标文件进行解压缩;
将解压得到的文件与所述目标文件集合中其他类别文件进行文件名格式统一,获得所述目标文件集合中各个目标文件名;
根据所述目标文件名获取对应的预设配置规则。
可选地,所述采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路,包括:
提取所述预设配置规则中的各文件配置项;
基于所述各文件配置项顺序对所述目标文件进行逐项配置,在执行完位于顺序末尾的配置项时,根据所述顺序对完成逐项配置的所述目标文件进行完整性核验;
在所述目标文件通过完整性核验时,获得待入库文件,并确定所述待入库文件的对应数据库;
根据所述待入库文件与所述对应数据库的映射关系生成目标链路。
可选地,所述对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中,包括:
采用逐行读取方式,对所述更新后的各个待入库文件进行字段级数据读取;
根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中。
可选地,所述根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中的步骤之后,包括:
基于各个待入库文件名,判断所述读取到的字段级数据是否存在异常入库数据;
在存在异常入库数据时,确定所述异常入库数据对应的待入库文件以及对应的目标链路;
根据所述对应的目标链路的当前交互信息判断所述对应的目标链路是否存在异常传输现象;
若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
可选地,所述若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中,包括:
将所述异常入库数据与所述预设配置规则中的各文件配置项进行匹配,定位至所述异常入库数据中异常字段;
根据所述异常字段生成异常警示信息以获取用户反馈配置信息;
根据所述用户反馈配置信息对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
可选地,所述对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新,包括:
判断所述待入库文件中是否存在无效数据;
在所述待入库文件中不存在无效数据时,完成所述待入库文件的数据校验,并获取用户参数;
根据所述用户参数对完成数据校验的所述待入库文件进行更新。
此外,为实现上述目的,本发明还提出一种文件批量入库装置,所述装置包括:
文件获取模块,用于接收目标文件,根据目标文件名获取预设配置规则;
文件处理模块,用于采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;
文件更新模块,用于对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;
文件存储模块,用于对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
此外,为实现上述目的,本发明还提出一种文件批量入库设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件批量入库程序,所述文件批量入库程序配置为实现如上文所述的文件批量入库方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储文件批量入库程序,所述文件批量入库程序被处理器执行时实现如上文所述的文件批量入库方法的步骤。
本发明首先接收目标文件,根据目标文件名获取预设配置规则;接着采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;再对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;最后对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。由于本发明根据预设配置规则实现文件配置,并引入数据校验,最后采用逐行读取入库,能够考虑到对接业务的数据多样性同时确保入库数据的可靠性,相比现有的文件入库方式,提升了文件的入库效率。
附图说明
图1是本发明实施例涉及的硬件运行环境的文件批量入库设备的结构示意图;
图2是本发明文件批量入库方法第一实施例的流程示意图;
图3是本发明文件批量入库方法第二实施例的流程示意图;
图4是本发明文件批量入库方法第三实施例的流程示意图;
图5为本发明文件批量入库装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的文件批量入库设备结构示意图。
如图1所示,该文件批量入库设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对文件批量入库设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及文件批量入库程序。
在图1所示的文件批量入库设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明文件批量入库设备中的处理器1001、存储器1005可以设置在文件批量入库设备中,所述文件批量入库设备通过处理器1001调用存储器1005中存储的文件批量入库程序,并执行本发明实施例提供的文件批量入库方法。
本发明实施例提供了一种文件批量入库方法,参照图2,图2为本发明文件批量入库方法第一实施例的流程示意图。
本实施例中,所述文件批量入库方法包括以下步骤:
步骤S10:接收目标文件,根据目标文件名获取预设配置规则。
需要说明的是,本实施例的执行主体可以是一种数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,还可以是能够实现相同或相似功能的能实现文件批量入库方法的其他电子设备,本实施例对此不加以限制。此处选用文件批量入库设备(以下称为当前设备)为例对本发明文件批量入库方法的各项实施例进行说明。
可以理解的是,该目标文件可以为在企业生产经营过程中需要存储的包含各种数据的不同类型文件,该目标文件的格式可以为压缩文件、txt文件、doc文件、excel文件或者是csv文件等。
需要说明的是,该预设配置规则可以为预先设置的基于目标文件名进行查找到的对不同类型和来源的目标文件的配置入库模板。该预设配置规则可以定义为两种文件配置规则:可扩展标记语言(eXtensible Markup Language,XML)文件配置规则和属性(Properties)文件配置规则。
可以理解的是,XML文件配置规则可以为:定义需要解析的目标文件名、目标文件名前缀、目标文件扩展名正则匹配、目标文件内容分隔符号、目标对应的数据库表名、是否需要业务日期字段、首行是否作为标题行、是否根据字段执行分别拆分入库、是否删除原有记录的数据再入库等配置,以及字段级别配置,如文件列序与数据库表字段映射、数据库表字段对应的Java数据类型、日期格式、非空校验等字段级别映射配置。Properties文件配置规则和XML文件配置一样,可以控制核心线程数大小以及线程池最大线程数,实现动态可实时按需配置入库的效果。
进一步地,考虑到目标文件的不同来源,在根据目标文件名查询预设配置规则时效率较低,步骤S10,包括:
步骤S101:在接收到文件入库指令时,获取目标文件集合。
可以理解的是,该文件入库指令可以是由用户在任意时间进行的指令,也可以是考虑到企业文件数据的总量以及具体的文件入库需求设置的基于时间间隔发出的指令。
需要说明的是,目标文件集合可以为该文件入库指令指示需要进行入库的目标文件集合,该目标文件集合中可以包含不同来源以及不同文件类型的目标文件。该目标文件集合中可以包括:来自安全文件传送协议(Secure File Transfer Protocol,SFTP)服务器的文件、来自分布式对象存储(SWIFT)的文件以及来自本地文件***的文件等。
步骤S102:判断所述目标文件集合中各目标文件的文件类型。
需要说明的是,由于目标文件集合中各目标文件的获取源不同,因此可以对各目标文件进行文件类型的判断,并具体地判断出目标文件集合中是否存在压缩文件类型的目标文件。
步骤S103:在所述文件类型为压缩文件类别时,对压缩文件类别的目标文件进行解压缩。
可以理解的是,考虑到无法从压缩文件类别的目标文件中直接提取出文件具体的数据信息,因此可以对压缩文件类别的目标文件进行解压缩,进而可以从解压得到的文件中直接获取文件数据。
步骤S104:将解压得到的文件与所述目标文件集合中其他类别文件进行文件名格式统一,获得所述目标文件集合中各个目标文件名。
可以理解的是,由于目标文件的来源不同,文件名格式存在一定出入,因此可以预先设置一个规范化的文件名格式,对不同来源的目标文件基于文件数据内容首先进行文件名格式的统一,确保目标文件集合中的各目标文件名都基于统一格式的文件名排列,以便后续进行与预设配置规则的匹配。
步骤S105:根据所述目标文件名获取对应的预设配置规则。
可以理解的是,可以预设一个预设配置规则表,在各目标文件经过文件名统一后,可以通过各目标文件名与预设配置规则表的映射关系进行匹配。
需要说明的是,该目标文件名可以是包含了目标文件的数据类型以及数据内容的文件名格式,例如某一目标文件经过文件名规范化后的格式名可以为:A-SWIFT-S01-001,其中A用来标识目标文件的来源,SWIFT标识目标文件的文件类别,S01表示待存入的数据库的标识号为S01,001标识当前设备接收到的该文件的顺序号。目标文件名与预设配置规则表的映射关系可以是基于文件名中目标文件来源、目标文件类型、待存入数据库标识号进行层级匹配设置,例如:文件名为A-SWIFT-S01-001的目标文件对应配置规则与文件名为A-SWIFT-S02-002的目标文件对应配置规则存在部分相同的配置规则项。
在具体实现中,根据上述经过统一格式的目标文件名,可以获取用于对该目标文件进行文件中具体数据项配置的预设配置规则。
步骤S20:采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路。
需要说明的是,标准化处理可以是根据目标文件名匹配得到的预设规配置规则,将目标文件中各字段级数据按照规则中各配置项顺序依次进行包括定义解析文件名、对应数据表名、业务日期表示与否、标题行设置、文件值过滤、以及原始数据保留与否等标准化配置,以确保目标文件转化为能存入对应数据库的待入库文件,并根据目标文件的来源路径与在对应数据库中的存储位置关系,生成用于进行文件入库的目标链路。
步骤S30:对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新。
可以理解的是,为进一步确保存入数据库的文件内数据的可靠性,可以引入数据校验机制,对待入库数据进行数据校验,判断待入库文件中各数据的有效性,例如:数据类型、数据格式以及数据大小的校验等。
需要说明的是,考虑到不同的目标文件在企业生产中的重要性不同,以及在实际存储文件过程中根据不同业务需求可能会对文件的存储进行即时性地修改。因此在运行过程中,可以引入用户的个性化参数因子,根据业务需求变动,对已经配置好的经过校验的待入库文件进行部分配置项的调整,实现文件配置热加载,支持规则的动态更新,实时变更及刷新,获得更新后的待入库文件。
步骤S40:对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
需要说明的是,在获取到更新后的各个待入库文件时,对文件数据进行逐行读取,能够避免一次性读取整个大文件使得出现数据读取溢出情况,接着可以通过上述生成的目标链路将读取到的文件数据存入至对应数据库中。
进一步地,可以引入异步非阻塞机制,通过对多个待入库文件分别读取,开启异步线程分批入库,每批次入库的数量可以通过目标链路的具体参数和对应数据库中存储字节量进行性能评估限定,能够提高并发数量,减少入库时间。
进一步地,在进行入库时,底层入库技术还可以基于性能评估,直接采用Java数据库连接(Java DataBase Connectivity,JDBC)预编译批量***方式,从而避免使用持久层框架MyBatis作为中间代理层批量***,能够极大提高大文件入库效率,减少入库总时间,避免大文件入库时间增加对包含不同文件数据来源以及数据库的整个业务***产生影响。
本实施例首先接收目标文件,根据目标文件名获取预设配置规则;接着采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;再对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;最后对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。由于本实施例考虑到不同文件来源数据的多样性,尤其是针对压缩文件进行了处理,将目标文件集合中各目标文件进行了文件名称的格式统一,以便根据预设配置规则实现文件配置,并引入数据校验,最后采用逐行读取入库,能够在考虑到对接业务的数据多样性同时确保入库数据的可靠性,相比现有的文件入库方式,提升了文件的入库效率。
参考图3,图3为本发明文件批量入库方法第二实施例的流程示意图。
基于上述实施例,为了对目标文件进行完整的配置,步骤S20,包括:
步骤S201:提取所述预设配置规则中的各文件配置项。
步骤S202:基于所述各文件配置项顺序对所述目标文件进行逐项配置,在执行完位于顺序末尾的配置项时,根据所述顺序对完成逐项配置的所述目标文件进行完整性核验。
需要说明的是,各文件配置项顺序可以为预设配置规则表中各配置项排列顺序的先后位置关系。通过各文件配置项,依次定义需要解析的文件名、文件名前缀、文件扩展名正则匹配、文件内容分隔符号、对应的数据库表名、是否需要业务日期字段、首行是否作为标题行、是否根据字段执行分别拆分入库、是否删除原有记录的数据再入库等配置,以及字段级别配置,如文件列序与数据库表字段映射、数据库表字段对应的Java数据类型、日期格式、非空校验等字段级别映射配置,完成对目标文件的逐项配置。
应该理解的是,为了获取更具可靠性的待入库文件,可以在按顺序执行完预设规则中各项配置后再依照上述配置项顺序逐项检查目标文件中各对应项是否配置完成,以实现对目标文件的完整性核验。
步骤S203:在所述目标文件通过完整性核验时,获得待入库文件,并确定所述待入库文件的对应数据库。
步骤S204:根据所述待入库文件与所述对应数据库的映射关系生成目标链路。
应该理解的是,可以根据目标文件的经过格式标准化得到的目标文件名直接获得对应数据库的编号,进而定位到具体的数据库。也可以根据目标文件在逐项配置过程中直接提取得到的数据库表字段映射获得对应数据库的具***置,进而生成目标链路。
进一步地,可对生成的目标链路进行实时跟踪以及数据收集,完善能提供从目标文件接收到读取解析入库的整体链路跟踪机制,以实时监测文件入库过程,获得目标文件的入库结果,为运维管理和后续改进提供了数据支持。
进一步地,考虑到业务需求的变动可能对目标文件入库的配置信息进行调整变动,步骤S30,包括:
步骤S301:判断所述待入库文件中是否存在无效数据。
需要说明的是,无效数据可以为待入库文件中经过预设配置规则中各文件配置项得到的重复配置数据或是空白数据等与待入库文件中具体数据信息内容无关的数据。
可以理解的是,在所述待入库文件中存在无效数据时,可以对该冗余的无效数据进行筛除,提高在单位时间内入库文件中数据的有效性,以节约整个链路的资源,进一步推动文件批量传输的进程,减少文件的入库时间进而提高文件入库效率。
步骤S302:在所述待入库文件中不存在无效数据时,完成所述待入库文件的数据校验,并获取用户参数。
应该理解的是,在该待入库文件中不存在无效数据时,可以获取用于指示业务需求变动的用户参数,该用户参数中可以包含一项或多项基于预设配置规则中各配置项的具体配置信息。
步骤S303:根据所述用户参数对完成数据校验的所述待入库文件进行更新。
在具体实现中,当前设备可以在判定待入库文件中不存在无效数据即获取到完成数据校验的待入库文件时,获取反映业务需求变动的用户参数,并根据用户参数中具体的各配置项信息对待入库文件进行更新,以实现对待入库文件配置项的实时变更调整,进而提高了对入库文件配置的灵活性。
本实施例提取所述预设配置规则中的各文件配置项;基于所述各文件配置项顺序对所述目标文件进行逐项配置,在执行完位于顺序末尾的配置项时,根据所述顺序对完成逐项配置的所述目标文件进行完整性核验;在所述目标文件通过完整性核验时,获得待入库文件,并确定所述待入库文件的对应数据库;根据所述待入库文件与所述对应数据库的映射关系生成目标链路。其中文件的解压、解析等操作透明,无需人工进行代码修改,只需预先对相关配置项进行相应配置即可。并进一步地判断所述待入库文件中是否存在无效数据;在所述待入库文件中不存在无效数据时,完成所述待入库文件的数据校验,并获取用户参数;根据所述用户参数对完成数据校验的所述待入库文件进行更新,考虑到业务需求的变动,在入库过程中支持规则的动态更新,通过引入用户参数统一调整配置项,实现对文件配置信息的实时变更及刷新,提高了文件在进行批量配置入库过程中的灵活性。
参考图4,图4为本发明文件批量入库方法第三实施例的流程示意图。
基于上述实施例,考虑到数据库并发写入线程的支持数量以及目标链路在一定时间内的文件数据传输量是有限的,因此,步骤S40,包括:
步骤S401:采用逐行读取方式,对所述更新后的各个待入库文件进行字段级数据读取。
步骤S402:根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中。
可以理解的是,由于目标链路的实时文件传输量有限,因此在对待入库文件进行字段级数据读取获取到一定量的数据时,需要根据目标链路确定当前能够进行传输的最大数据量,以对待传输的读取数据量进行限制。由于采用的是逐行读取方式,因此可以根据读取行数作为对字段级数据的数据量限制。
在具体实现中,当前设备根据目标链路确定行数阈值,并在对待入库文件的读取行数达到行数阈值时,将读取到的字段级数据通过该目标链路存入对应数据库中。
进一步地,考虑到文件入库过程中可能存在入库数据异常现象,可以引入故障保证机制,使得当某文件入库过程中出现故障时可以进行异常重试,因此,步骤S402之后,还包括:
步骤S501:基于各个待入库文件名,判断所述读取到的字段级数据是否存在异常入库数据。
可以理解的是,可以基于各个待入库文件名作为组别区分单位,以字段作为最小单位,判断各个待入库文件中是否存在异常入库数据。
应该理解的是,异常入库数据可以为入库失败的数据,也可以为存入对应数据库后发生数据遗失或是数据乱码的数据。
在具体实现中,在初步完成目标文件的入库时,可以基于各个待入库文件名,判断存入对应数据库的读取到的字段级数据是否存在异常入库数据。
步骤S502:在存在异常入库数据时,确定所述异常入库数据对应的待入库文件以及对应的目标链路。
可以理解的是,在判定存入数据库的字段级数据中存在异常入库数据时,可以根据上述对应关系,定位至异常入库数据对应的待入库文件以及用于传输该数据的目标链路。
进一步地,在存在异常入库数据时,可以将该数据库中的异常入库数据进行清除以便后续非异常文件数据的存入。
步骤S503:根据所述对应的目标链路的当前交互信息判断所述对应的目标链路是否存在异常传输现象。
可以理解的是,该当前交互信息可以为该目标链路的实时文件数据传输信息,通过该传输信息可以判断基于该目标链路传输的其他文件数据中是否存在相同或相似的异常文件数据。
步骤S504:若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
可以理解的是,若基于该目标链路传输的其他文件数据中不存在相同或相似的异常文件数据,可以同样采用该对应的目标链路对经过重配置后的异常入库数据对应的文件进行传输。
在具体实现中,可以将所述异常入库数据与所述预设配置规则中的各文件配置项进行匹配,定位至所述异常入库数据中异常字段;根据所述异常字段生成异常警示信息以获取用户反馈配置信息;根据所述用户反馈配置信息对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
本实施例通过采用逐行读取方式,对所述更新后的各个待入库文件进行字段级数据读取;根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中,能够最大化地基于数据库与当前设备的性能参数实现文件的批量入库,进一步地提高文件入库效率。并引入故障保障机制,具体地基于各个待入库文件名,判断所述读取到的字段级数据是否存在异常入库数据;在存在异常入库数据时,确定所述异常入库数据对应的待入库文件以及对应的目标链路;根据所述对应的目标链路的当前交互信息判断所述对应的目标链路是否存在异常传输现象;若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中,实现了文件入库过程的错误重试,提高了文件入库过程中的容错率,进一步提高了文件批量入库的效率。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有文件批量入库程序,所述文件批量入库程序被处理器执行时实现如上文所述的文件批量入库方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
参考图5,图5为本发明文件批量入库装置第一实施例的结构框图。
如图5所示,本发明实施例提出的文件批量入库装置包括:
文件获取模块501,用于接收目标文件,根据目标文件名获取预设配置规则;
文件处理模块502,用于采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;
文件更新模块503,用于对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;
文件存储模块504,用于对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
所述文件获取模块501,还用于在接收到文件入库指令时,获取目标文件集合;判断所述目标文件集合中各目标文件的文件类型;在所述文件类型为压缩文件类别时,对压缩文件类别的目标文件进行解压缩;将解压得到的文件与所述目标文件集合中其他类别文件进行文件名格式统一,获得所述目标文件集合中各个目标文件名;根据所述目标文件名获取对应的预设配置规则。
本实施例首先接收目标文件,根据目标文件名获取预设配置规则;接着采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;再对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;最后对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。由于本实施例考虑到不同文件来源数据的多样性,尤其是针对压缩文件进行了处理,将目标文件集合中各目标文件进行了文件名称的格式统一,以便根据预设配置规则实现文件配置,并引入数据校验,最后采用逐行读取入库,能够在考虑到对接业务的数据多样性同时确保入库数据的可靠性,相比现有的文件入库方式,提升了文件的入库效率。
基于本发明上述文件批量入库装置第一实施例,提出本发明文件批量入库装置第二实施例。
在本实施例中,文件处理模块502,用于提取所述预设配置规则中的各文件配置项;基于所述各文件配置项顺序对所述目标文件进行逐项配置,在执行完位于顺序末尾的配置项时,根据所述顺序对完成逐项配置的所述目标文件进行完整性核验;在所述目标文件通过完整性核验时,获得待入库文件,并确定所述待入库文件的对应数据库;根据所述待入库文件与所述对应数据库的映射关系生成目标链路。
文件存储模块504,用于采用逐行读取方式,对所述更新后的各个待入库文件进行字段级数据读取;根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中。
进一步地,所述文件存储模块504,还用于基于各个待入库文件名,判断所述读取到的字段级数据是否存在异常入库数据;在存在异常入库数据时,确定所述异常入库数据对应的待入库文件以及对应的目标链路;根据所述对应的目标链路的当前交互信息判断所述对应的目标链路是否存在异常传输现象;若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
进一步地,所述文件存储模块504,还用于将所述异常入库数据与所述预设配置规则中的各文件配置项进行匹配,定位至所述异常入库数据中异常字段;根据所述异常字段生成异常警示信息以获取用户反馈配置信息;根据所述用户反馈配置信息对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
文件更新模块503,用于判断所述待入库文件中是否存在无效数据;在所述待入库文件中不存在无效数据时,完成所述待入库文件的数据校验,并获取用户参数;根据所述用户参数对完成数据校验的所述待入库文件进行更新。
本发明文件批量入库装置其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……限定”的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种文件批量入库方法,其特征在于,所述方法包括:
接收目标文件,根据目标文件名获取预设配置规则;
采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;
对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;
对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
2.如权利要求1所述的文件批量入库方法,其特征在于,所述接收目标文件,根据目标文件名获取预设配置规则,包括:
在接收到文件入库指令时,获取目标文件集合;
判断所述目标文件集合中各目标文件的文件类型;
在所述文件类型为压缩文件类别时,对压缩文件类别的目标文件进行解压缩;
将解压得到的文件与所述目标文件集合中其他类别文件进行文件名格式统一,获得所述目标文件集合中各个目标文件名;
根据所述目标文件名获取对应的预设配置规则。
3.如权利要求1所述的文件批量入库方法,其特征在于,所述采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路,包括:
提取所述预设配置规则中的各文件配置项;
基于所述各文件配置项顺序对所述目标文件进行逐项配置,在执行完位于顺序末尾的配置项时,根据所述顺序对完成逐项配置的所述目标文件进行完整性核验;
在所述目标文件通过完整性核验时,获得待入库文件,并确定所述待入库文件的对应数据库;
根据所述待入库文件与所述对应数据库的映射关系生成目标链路。
4.如权利要求2所述的文件批量入库方法,其特征在于,所述对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中,包括:
采用逐行读取方式,对所述更新后的各个待入库文件进行字段级数据读取;
根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中。
5.如权利要求4所述的文件批量入库方法,其特征在于,所述根据所述目标链路确定行数阈值,在读取行数达到所述行数阈值时,将读取到的字段级数据通过所述目标链路存入待入库文件的对应数据库中的步骤之后,包括:
基于各个待入库文件名,判断所述读取到的字段级数据是否存在异常入库数据;
在存在异常入库数据时,确定所述异常入库数据对应的待入库文件以及对应的目标链路;
根据所述对应的目标链路的当前交互信息判断所述对应的目标链路是否存在异常传输现象;
若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
6.如权利要求5所述的文件批量入库方法,其特征在于,所述若否,对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中,包括:
将所述异常入库数据与所述预设配置规则中的各文件配置项进行匹配,定位至所述异常入库数据中异常字段;
根据所述异常字段生成异常警示信息以获取用户反馈配置信息;
根据所述用户反馈配置信息对所述异常入库数据对应的待入库文件进行重配置,获得重配置文件,并将所述重配置文件通过所述对应的目标链路存入对应数据库中。
7.如权利要求1所述的文件批量入库方法,其特征在于,所述对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新,包括:
判断所述待入库文件中是否存在无效数据;
在所述待入库文件中不存在无效数据时,完成所述待入库文件的数据校验,并获取用户参数;
根据所述用户参数对完成数据校验的所述待入库文件进行更新。
8.一种文件批量入库装置,其特征在于,所述装置包括:
文件获取模块,用于接收目标文件,根据目标文件名获取预设配置规则;
文件处理模块,用于采用所述预设配置规则对所述目标文件进行标准化处理,获得待入库文件,并确定所述待入库文件的对应数据库以生成目标链路;
文件更新模块,用于对所述待入库文件进行数据校验,并基于用户参数对经过校验的所述待入库文件进行更新;
文件存储模块,用于对更新后的各个待入库文件分别进行逐行读取,通过所述目标链路将所述读取到的文件数据存入所述对应数据库中。
9.一种文件批量入库设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件批量入库程序,所述文件批量入库程序配置为实现如权利要求1至7中任一项所述的文件批量入库方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有文件批量入库程序,所述文件批量入库程序被处理器执行时实现如权利要求1至7任一项所述的文件批量入库方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900539.1A CN116644035B (zh) | 2023-07-21 | 2023-07-21 | 文件批量入库方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900539.1A CN116644035B (zh) | 2023-07-21 | 2023-07-21 | 文件批量入库方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116644035A true CN116644035A (zh) | 2023-08-25 |
CN116644035B CN116644035B (zh) | 2024-01-26 |
Family
ID=87619196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310900539.1A Active CN116644035B (zh) | 2023-07-21 | 2023-07-21 | 文件批量入库方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644035B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891786A (zh) * | 2024-03-15 | 2024-04-16 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019485A (zh) * | 2018-02-07 | 2019-07-16 | 中国平安人寿保险股份有限公司 | 一种产品数据入库方法、终端设备及存储介质 |
CN110941593A (zh) * | 2019-12-03 | 2020-03-31 | 浪潮卓数大数据产业发展有限公司 | 一种文件入库***及方法 |
CN111339041A (zh) * | 2020-03-10 | 2020-06-26 | 中国建设银行股份有限公司 | 文件解析入库、文件生成方法及装置 |
WO2020186786A1 (zh) * | 2019-03-20 | 2020-09-24 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
CN115061726A (zh) * | 2022-06-22 | 2022-09-16 | 中国工商银行股份有限公司 | 脚本文件批量处理方法、装置、设备、介质和程序产品 |
CN115481180A (zh) * | 2022-09-14 | 2022-12-16 | 上海浦东发展银行股份有限公司 | 数据加载方法、装置和计算机设备 |
CN115705318A (zh) * | 2021-08-04 | 2023-02-17 | ***通信集团设计院有限公司 | 压缩文件的采集方法、终端设备及介质 |
CN115905145A (zh) * | 2023-01-04 | 2023-04-04 | 建信金融科技有限责任公司 | 文件处理方法、装置、设备及计算机存储介质 |
-
2023
- 2023-07-21 CN CN202310900539.1A patent/CN116644035B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019485A (zh) * | 2018-02-07 | 2019-07-16 | 中国平安人寿保险股份有限公司 | 一种产品数据入库方法、终端设备及存储介质 |
WO2020186786A1 (zh) * | 2019-03-20 | 2020-09-24 | 平安科技(深圳)有限公司 | 文件处理方法、装置、计算机设备和存储介质 |
CN110941593A (zh) * | 2019-12-03 | 2020-03-31 | 浪潮卓数大数据产业发展有限公司 | 一种文件入库***及方法 |
CN111339041A (zh) * | 2020-03-10 | 2020-06-26 | 中国建设银行股份有限公司 | 文件解析入库、文件生成方法及装置 |
CN115705318A (zh) * | 2021-08-04 | 2023-02-17 | ***通信集团设计院有限公司 | 压缩文件的采集方法、终端设备及介质 |
CN115061726A (zh) * | 2022-06-22 | 2022-09-16 | 中国工商银行股份有限公司 | 脚本文件批量处理方法、装置、设备、介质和程序产品 |
CN115481180A (zh) * | 2022-09-14 | 2022-12-16 | 上海浦东发展银行股份有限公司 | 数据加载方法、装置和计算机设备 |
CN115905145A (zh) * | 2023-01-04 | 2023-04-04 | 建信金融科技有限责任公司 | 文件处理方法、装置、设备及计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117891786A (zh) * | 2024-03-15 | 2024-04-16 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和*** |
CN117891786B (zh) * | 2024-03-15 | 2024-05-31 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN116644035B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263009B (zh) | 日志分类规则的生成方法、装置、设备及可读存储介质 | |
CN111857880B (zh) | 对话配置项信息管理方法、装置、设备及存储介质 | |
CN109656999B (zh) | 大数据量的数据同步方法、设备、存储介质及装置 | |
CN110990390B (zh) | 数据协同处理方法、装置、计算机设备和存储介质 | |
CN112287009A (zh) | 接口调用和接口数据入库方法、装置、设备及存储介质 | |
CN116644035B (zh) | 文件批量入库方法、装置、设备及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN110427375B (zh) | 字段类别的识别方法及装置 | |
CN112860706A (zh) | 一种业务的处理方法、装置、设备及存储介质 | |
CN112328631A (zh) | 一种生产故障分析方法、装置、电子设备及存储介质 | |
CN115391439B (zh) | 文档数据导出方法、装置、电子设备和存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN109462661B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
US9166619B2 (en) | Method and system for pattern-based compression | |
CN111538542B (zh) | 一种***配置方法及相关装置 | |
CN113918532A (zh) | 画像标签聚合方法、电子设备及存储介质 | |
CN115242861B (zh) | 一种rte层通信数据映射配置文件的生成方法及***、计算机可读存储介质、电子设备 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN114416847A (zh) | 一种数据转换的方法、装置、服务器及存储介质 | |
CN113868138A (zh) | 测试数据的获取方法、***、设备及存储介质 | |
CN109783105B (zh) | 企业服务平台的编码统计方法、设备、存储介质及装置 | |
CN116680203B (zh) | 面向多租户的SaaS平台的测试方法、装置、设备和介质 | |
CN112131846B (zh) | 一种基于映射关系进行传参的方法及***、电子装置、存储介质 | |
CN114153830B (zh) | 数据验证方法及其装置、计算机存储介质、电子设备 | |
CN118427472A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |