1.本发明涉及分布式技术领域,尤其涉及一种银行外围系统文本文件加载方法及装置。
背景技术:2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在银行架构中,银行核心系统和外围系统很多数据不是实时同步的,因此,为了实现核心系统与外围系统的非实时数据同步,大多都是通过文本文件的方式由核心系统下传给外围系统,例如余额信息、交易信息、收费信息、动户通知等,核心系统下传的文本文件通常数据量大、数据结构复杂、格式多样,因此对于外围系统来说,如何加载这些文本文件并且选出本系统需要的数据也是一个难点。
技术实现要素:4.本发明实施例提供一种银行外围系统文本文件加载方法,用以解决当前银行外围系统因核心系统下传的文件文本数据量大、数据结构复杂、格式多样而无法筛选出本系统所需文本的问题,该方法包括:
5.接收核心系统下发的原始文件,获取文件加载配置表;
6.根据文件加载配置表确定加载条件,所述加载条件包括所需加载的指定文本类型、指定文本源路径、入库命令、筛选条件以及存储所需文本的目标数据库表;
7.从指定文本源路径下发的原始文件中取出指定文本类型的初选文件;
8.根据筛选条件从初选文件中筛选所需文本,执行入库命令,将所需文本加载至目标数据库表中。
9.本发明实施例还提供一种银行外围系统文本文件加载装置,用以解决当前银行外围系统因核心系统下传的文件文本数据量大、数据结构复杂、格式多样而无法筛选出本系统所需文本的问题,该装置包括:
10.通信模块,用于接收核心系统下发的原始文件,获取文件加载配置表;
11.确定模块,用于根据文件加载配置表确定加载条件,所述加载条件包括所需加载的指定文本类型、指定文本源路径、入库命令、筛选条件以及存储所需文本的目标数据库表;
12.文件读取模块,用于从指定文本源路径下发的原始文件中取出指定文本类型的初选文件;
13.筛选模块,用于根据筛选条件从初选文件中筛选所需文本,执行入库命令,将所需文本加载至目标数据库表中。
14.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述银行外围系
统文本文件加载方法。
15.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述银行外围系统文本文件加载方法的计算机程序。
16.本发明实施例中,提供了一种基于文件加载配置表的文件加载方法,能够动态的配置文件加载配置表的内容,其中的指定文本类型、指定文本源路径、筛选条件和目标数据库表等字段都可以根据需求配置。当配置好文件加载配置表后,可以根据文件加载配置表确定加载条件,根据加载条件对核心系统下发的原始文件进行筛选及入库,实现了灵活的应对银行核心系统的接口变化和外围系统的需求变化,具有高可用性及灵活性,解决了当前银行外围系统因核心系统下传的文件文本数据量大、数据结构复杂、格式多样而无法筛选出本系统所需文本的问题。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
18.图1为本发明实施例中一种银行外围系统文本文件加载方法的流程图;
19.图2为本发明实施例中一种针对交易信息文本执行银行外围系统文本文件加载方法的流程图;
20.图3为本发明实施例中一种针对账户参数信息文本执行银行外围系统文本文件加载方法的流程图;
21.图4为本发明实施例中一种针对存款透支历史文本执行银行外围系统文本文件加载方法的流程图;
22.图5为本发明实施例中一种银行外围系统文本文件加载装置的结构示意图;
23.图6为本发明实施例中一种计算机设备的结构示意图。
具体实施方式
24.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
25.本发明实施例提供了一种银行外围系统文本文件加载方法,如图1所示,该方法包括步骤101至步骤104:
26.步骤101、接收核心系统下发的原始文件,获取文件加载配置表。
27.示例性的,下表一给出了一个文件加载配置表:
28.表一
[0029][0030][0031]
其中,文件等待次数用于表示文件等待被加载期间,文件加载指令被执行的次数,其中,crontab配置3分钟跑一次文件加载指令,在前一次文件加载指令执行完成后,等待3分钟会重新执行文件加载指令,每个文件加载指令从步骤101开始执行。
[0032]
结果文本用于存储筛选完成之后的所需文本,表一中res_file字段记载了结果文本的名字,将所需文本加载至目标数据库表时,即从结果文本中读取所需文本。
[0033]
控制脚本,即数据库入库的控制脚本,用于控制哪些字段入库。由于有些字段是外围系统不需要的字段,因此,除控制脚本中记载的字段,其他字段不加载到数据库中。
[0034]
表名,也即目标数据库表名。
[0035]
增全量标志用于控制是增量加载还是全量加载。
[0036]
筛选次数,用于记载需要筛选的次数。具体的,筛选次数=0,表示不需要筛选;筛选次数=1,表示1次筛选;筛选次数=2,表示2次筛选;如果需要筛选2次,那么在文本加载配置表中配置两条记录。
[0037]
由于核心系统下发的原始文件数量较多且较复杂,在接收核心系统下发的原始文件之后,可以先对原始文件中各个文件的格式及状态进行检查,当检查通过后执行后续步骤。具体的,检查文件格式指检查文件命名是否正确;检查文件状态用于检查文本是否已到达外围系统,当状态为0时表示未到达,当状态为1表示已达到,如果状态为1
‑
已到达,那么就可以对文件执行下一步动作。
[0038]
步骤102、根据文件加载配置表确定加载条件,加载条件包括所需加载的指定文本
类型、指定文本源路径、入库命令、筛选条件以及存储所需文本的目标数据库表。
[0039]
以表一中文件加载配置表为例,指定文本类型即表一中file_type字段记载的文本类型;指定文本源路径即表一中sys_id记载的下发系统、files_path记载的下发路径及bank_no记载的银行号;目标数据库表根据表一中tab_name记载的表名确定。
[0040]
入库命令用于指示将文本文件加载到数据库中。
[0041]
筛选条件用于指示文本按照什么条件来进行筛选。筛选条件包括账号筛选条件、客户号筛选条件、一户通账号筛选条件、贷款账号筛选条件等,分别用于指示账号、客户号、一户通账号、贷款账号等分别怎样进行筛选。举例来说,核心系统中的账号不一定在外围系统中存在,所以把外围系统中的所有账号放在筛选条件a中,筛选时读取记录a的文本,这样能把外围系统中所需的账号筛选出来,而滤除外围系统中不存在的账号。
[0042]
需要说明的是,筛选条件可以由工作人员根据外围系统中需要的文本进行配置,并不局限于上述账户、客户号、一户通账号、贷款账号。
[0043]
步骤103、从指定文本源路径下发的原始文件中取出指定文本类型的初选文件。
[0044]
步骤104、根据筛选条件从初选文件中筛选所需文本,执行入库命令,将所需文本加载至目标数据库表中。
[0045]
筛选条件包括与不同筛选次数对应的筛选条件,筛选次数包括零次、一次和两次。对于不同的文本类型,所需的筛选次数可能不同。比如,交易信息文本需要筛选两次;账户参数信息文本需要筛选零次;存款透支历史文本需要筛选一次。
[0046]
当文件记载配置表中记载的筛选次数为两次时,筛选条件包括一次筛选条件和二次筛选条件,则步骤104根据筛选条件从初选文件中筛选所需文本,执行入库命令,将所需文本加载至目标数据库表中,可以执行为如下步骤1041和步骤1042:
[0047]
步骤1041、对初选文件进行解压缩,得到原文本;
[0048]
步骤1042、根据一次筛选条件从原文本中筛选第一文本,执行入库命令,将第一文本加载至目标数据库表中。
[0049]
在执行完步骤1042将第一文本加载至目标数据库表中之后,还可以执行如下步骤201至步骤203:
[0050]
步骤201、根据二次筛选条件从第一文本中筛选第二文本;
[0051]
步骤202、将第二文本加载至全量表中;
[0052]
步骤203、根据预设规则及全量表更新目标数据库表。
[0053]
其中,更新包括修改和删除。
[0054]
以交易信息文本为例,记录交易信息的第一文本加载到了外围系统中的表a、b、c中,在第二文本加载至全量表中后,需要根据全量表中记载的信息更新表a、b、c中的支出金额、交易笔数等字段,以此保证每笔交易信息在a、b、c表中记录信息的统一性。
[0055]
再如,有些账户销户了,则报表统计时不能再展示该些销户账户,因此,根据全量表的记录,将记录有该销户账户的表a、b中有关于该销户账户的信息删除。
[0056]
本发明实施例中,在二次筛选条件筛选之后,可以将得到的第二文本记录到表一中记载名字的结果文本中,之后从结果文本中读取文本加载至全量表中。
[0057]
如表一所示,文件加载配置表中还配置了是否允许sqlldr报错,如果允许sqlldr报错,则当加载文本时报错时,记录当前正在加载的文本及文本对应的目标数据库表,将当
前正在加载的文本确定为异常数据;接收对于异常数据的修订;将修订后的异常数据及对应的目标数据库表的对应关系存储至指定文件夹下;利用定时程序读取指定文件夹下修订后的异常数据,将修订后的异常数据加载至对应的目标数据库表。
[0058]
其中,对于异常数据的修订可以为手工修订。对异常数据进行修订和补录(即重新加载至目标数据库表),具有高可靠性,使得加载至目标数据库表中为完整的文本,从而可以保证数据的强一致性。
[0059]
为了进一步加强数据一致性,在将所需文本加载至目标数据库表中之后,还可以对加载至目标数据库表数据与根据筛选条件筛选得到的所需文本进行一致性检查。
[0060]
本发明实施例中,以进行不同筛选次数的交易信息文本、账户参数信息文本、存款透支历史文本为例,分别介绍了不同筛选次数的文本所执行的银行外围系统文本文件加载方法。参见图2,为针对交易信息文本执行银行外围系统文本文件加载方法的流程图;参见图3,为针对账户参数信息文本执行银行外围系统文本文件加载方法的流程图;参见图4,为针对存款透支历史文本执行银行外围系统文本文件加载方法的流程图。
[0061]
本发明实施例中,提供了一种基于文件加载配置表的文件加载方法,能够动态的配置文件加载配置表的内容,其中的指定文本类型、指定文本源路径、筛选条件和目标数据库表等字段都可以根据需求配置。当配置好文件加载配置表后,可以根据文件加载配置表确定加载条件,根据加载条件对核心系统下发的原始文件进行筛选及入库,实现了灵活的应对银行核心系统的接口变化和外围系统的需求变化,具有高可用性及灵活性,解决了当前银行外围系统因核心系统下传的文件文本数据量大、数据结构复杂、格式多样而无法筛选出本系统所需文本的问题。
[0062]
本发明实施例中还提供了一种银行外围系统文本文件加载装置,如下面的实施例所述。由于该装置解决问题的原理与银行外围系统文本文件加载方法相似,因此该装置的实施可以参见银行外围系统文本文件加载方法的实施,重复之处不再赘述。
[0063]
如图5所示,该装置500包括通信模块501、确定模块502、文件读取模块503和筛选模块504。
[0064]
其中,通信模块501,用于接收核心系统下发的原始文件,获取文件加载配置表;
[0065]
确定模块502,用于根据文件加载配置表确定加载条件,加载条件包括所需加载的指定文本类型、指定文本源路径、入库命令、筛选条件以及存储所需文本的目标数据库表;
[0066]
文件读取模块503,用于从指定文本源路径下发的原始文件中取出指定文本类型的初选文件;
[0067]
筛选模块504,用于根据筛选条件从初选文件中筛选所需文本,执行入库命令,将所需文本加载至目标数据库表中。
[0068]
在本发明实施例的一种实现方式中,筛选条件包括与不同筛选次数对应的筛选条件,筛选次数包括零次、一次和两次;当筛选次数为两次时,筛选条件包括一次筛选条件和二次筛选条件,筛选模块,用于:
[0069]
对初选文件进行解压缩,得到原文本;
[0070]
根据一次筛选条件从原文本中筛选第一文本,执行入库命令,将第一文本加载至目标数据库表中;
[0071]
筛选模块,还用于:
[0072]
根据二次筛选条件从第一文本中筛选第二文本;
[0073]
将第二文本加载至全量表中;
[0074]
根据预设规则及全量表更新目标数据库表。
[0075]
在本发明实施例的一种实现方式中,装置还包括报错处理模块,用于:
[0076]
当加载文本时报错,记录当前正在加载的文本及文本对应的目标数据库表,将当前正在加载的文本确定为异常数据;
[0077]
接收对于异常数据的修订;
[0078]
将修订后的异常数据及对应的目标数据库表的对应关系存储至指定文件夹下;
[0079]
利用定时程序读取指定文件夹下修订后的异常数据,将修订后的异常数据加载至对应的目标数据库表。
[0080]
在本发明实施例的一种实现方式中,装置还包括:
[0081]
一致性检查模块,用于对加载至目标数据库表数据与根据筛选条件筛选得到的所需文本进行一致性检查。
[0082]
本发明实施例中,提供了一种基于文件加载配置表的文件加载方法,能够动态的配置文件加载配置表的内容,其中的指定文本类型、指定文本源路径、筛选条件和目标数据库表等字段都可以根据需求配置。当配置好文件加载配置表后,可以根据文件加载配置表确定加载条件,根据加载条件对核心系统下发的原始文件进行筛选及入库,实现了灵活的应对银行核心系统的接口变化和外围系统的需求变化,具有高可用性及灵活性,解决了当前银行外围系统因核心系统下传的文件文本数据量大、数据结构复杂、格式多样而无法筛选出本系统所需文本的问题。
[0083]
本发明实施例还提供一种计算机设备,图6为本发明实施例中计算机设备的示意图,该计算机设备能够实现上述实施例中的银行外围系统文本文件加载方法中全部步骤,该计算机设备具体包括如下内容:
[0084]
处理器(processor)601、存储器(memory)602、通信接口(communications interface)603和通信总线604;
[0085]
其中,所述处理器601、存储器602、通信接口603通过所述通信总线604完成相互间的通信;所述通信接口603用于实现相关设备之间的信息传输;
[0086]
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的银行外围系统文本文件加载方法。
[0087]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述银行外围系统文本文件加载方法的计算机程序。
[0088]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd
‑
rom、光学存储器等)上实施的计算机程序产品的形式。
[0089]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0091]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0092]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。