交易文件处理方法、装置、存储介质和计算机设备与流程

文档序号:13912953阅读:343来源:国知局

本发明涉及计算机技术领域,特别是涉及一种交易指文件处理方法、装置、存储介质和计算机设备。



背景技术:

传统的交易文件处理方法是按照交易文件的接收时间的先后顺序处理每一个交易文件,包括解析接收到的交易文件得到交易数据,使用这些交易数据。

然而,当同一批次的交易文件中出现某一个文件的解析过程发生异常,传统的这种文件处理方法只有先将该文件的异常问题解决掉,才能解析同一批次中的其他交易文件,进而使用其他交易数据,使得文件的处理效率低。



技术实现要素:

本发明实施例提供了一种交易文件处理方法、装置、存储介质和计算机设备,可以提高交易文件处理的效率。

一种交易文件处理方法,所述方法包括:

接收上传的批量交易文件;

为每一个所述交易文件创建对应的文件解析异步任务;

并行执行每一个所述文件解析异步任务;

所述执行每一个所述文件解析异步任务,包括:

获取所述交易文件的交易类型;

若所述交易类型与预存交易类型匹配成功,则在数据库中获取与所述交易类型对应的文件解析方法;

根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中。

在其中一个实施例中,在所述为每一个所述交易文件创建对应的文件解析异步任务之前,还包括:

验证所述批量交易文件的安全性;

若所述批量交易文件验证为安全,则进入为每一个所述交易文件创建对应的文件解析异步任务的步骤。

在其中一个实施例中,在所述在数据库中获取与所述交易类型对应的文件解析方法之前,还包括:

在数据库中获取与所述交易类型对应的文件校验方法;

根据所述文件校验方法校验所述交易文件;

若校验通过,则进入所述在数据库中获取与所述交易类型对应的文件解析方法的步骤。

在其中一个实施例中,所述方法还包括:

判断所述批量交易文件的交易类型是否为同一个交易类型;

若是,则为每一个交易文件创建对应的交易申请异步任务;并行执行所述每一个所述交易申请异步任务,所述执行所述每一个所述交易申请异步任务,包括:从数据库中获取与所述交易文件对应的交易数据;执行所述交易数据;

若否,则按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行所述交易数据。

在其中一个实施例中,在所述判断所述批量交易文件的交易类型是否为同一个交易类型之前,还包括:

检测所述批量交易文件是否解析完毕;

若是,则进入判断所述批量交易文件的交易类型是否为同一个交易类型的步骤。

一种交易文件处理装置,所述装置包括:

交易文件接收模块,用于接收上传的批量交易文件;

文件解析异步任务创建模块,用于为每一个所述交易文件创建对应的文件解析异步任务;

文件解析异步任务执行模块,用于并行执行每一个所述文件解析异步任务;

所述文件解析异步任务执行模块用于获取所述交易文件的交易类型;若所述交易类型与预存交易类型匹配成功,则在数据库中获取与所述交易类型对应的文件解析方法;根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中。

在其中一个实施例中,所述文件解析异步任务创建模块还用于验证所述批量交易文件的安全性;若所述批量交易文件验证为安全,则进入为每一个所述交易文件创建对应的文件解析异步任务的步骤。

在其中一个实施例中,所述文件解析异步任务执行模块还用于在数据库中获取与所述交易类型对应的文件校验方法;根据所述文件校验方法校验所述交易文件;若校验通过,则进入所述在数据库中获取与所述交易类型对应的文件解析方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:

接收上传的批量交易文件;

为每一个所述交易文件创建对应的文件解析异步任务;

并行执行每一个所述文件解析异步任务;

所述执行每一个所述文件解析异步任务,包括:

获取所述交易文件的交易类型;

若所述交易类型与预存交易类型匹配成功,则在数据库中获取与所述交易类型对应的文件解析方法;

根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中。

一种计算机设备,所述计算机设备包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算器程序时实现如下步骤:

接收上传的批量交易文件;

为每一个所述交易文件创建对应的文件解析异步任务;

并行执行每一个所述文件解析异步任务;

所述执行每一个所述文件解析异步任务,包括:

获取所述交易文件的交易类型;

若所述交易类型与预存交易类型匹配成功,则在数据库中获取与所述交易类型对应的文件解析方法;

根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中。

上述交易文件处理方法、装置、存储介质和计算机设备,通过接收上传的批量交易文件,为每一个所述交易文件创建对应的文件解析异步任务,并行执行每一个所述文件解析异步任务,执行每一个所述文件解析异步任务,包括:获取交易文件的交易类型,若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件解析方法,根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中。由于同一个批次的每一个交易文件对应一个文件解析异步任务,每一个文件解析异步任务根据各自交易文件的交易类型,直接从数据库获取对应的文件解析方法,从而实现交易文件的并行解析,提高了交易文件的处理效率。

附图说明

图1为一个实施例中交易文件处理方法的应用环境图;

图2为一个实施例中服务器的内部结构图;

图3为一个实施例中交易文件处理方法的流程图;

图4为又一个实施例中交易文件校验方法的流程图;

图5为一个实施例中交易数据执行方法的流程图;

图6为一个实施例中交易文件处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供的交易文件处理方法可应用于如图1所示的环境中。参考图1所示,服务器102可接收终端104上传的批量交易文件并处理该交易文件。具体的,服务器102通过网络与终端104进行通信,服务器102接收上传的批量交易文件,为每一个所述交易文件创建对应的文件解析异步任务,并行执行每一个所述文件解析异步任务,所述执行每一个所述文件解析异步任务,包括:获取所述交易文件的交易类型,若所述交易类型与预存交易类型匹配成功,则在数据库中获取与所述交易类型对应的文件解析方法,根据所述文件解析方法解析所述交易文件,并将解析得到的交易数据保存至数据库中等。这里的终端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式穿戴设备等。

在一个实施例中,如图2所示,还提供了一种服务器,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络连接口,非易失性存储介质中存储有操作系统和计算机可执行指令,该计算机可执行指令用于实现本申请实施例中提供的适用于终端的一种交易文件处理方法。该处理器用于提高计算和控制能力,支撑整个服务器的运行。内存储器用于为非易失性存储介质中的操作系统和计算机可执行指令的运行提供环境。网络接口用于与终端进行网络通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体地服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图3所示,提供了一种交易文件处理方法,该方法以应用于如图2中的服务器进行说明,包括:

步骤302,接收上传的批量交易文件。

交易文件是用户在商品交易系统中进行各种操作(如申请注册账户,修改账户信息、购买商品等)而形成的数据文件,交易文件以交易类型区分,如开户文件,账户修改文件、申购文件和认购文件等。交易类型如。本实施例中,服务器接收用户通过商品交易系统上传的批量交易文件。

每一个交易文件对应一种交易类型,本实施例中提供的交易文件处理方法是基于多个交易文件的处理方法。

步骤304,为每一个交易文件创建对应的文件解析异步任务。

异步任务是指执行当前任务时,不需要等到该当前任务执行结束才执行后续任务,而是直接执行后续操作的任务,即异步任务用于同时执行多个任务。

批量交易文件接收完毕后,服务器为每一个接收到的交易文件创建对应的文件解析异步任务,用于快速解析每一个交易文件。

步骤306,并行执行每一个文件解析异步任务。

文件解析异步任务创建完成后,根据文件解析异步任务的个数和预设最大任务处理个数分配创建的文件解析异步任务。具体地,当文件解析异步任务的个数不超过预设最大任务处理个数时,创建的文件解析异步任务可直接分配给当前创建文件解析异步任务的服务器;当文件解析异步任务的个数大于预设最大任务处理个数时,可计算文件解析异步任务的个数与预设最大任务处理个数的第一比值,将该第一比值向上取整得到第二比值,再将文件解析异步任务分配给台数为第二比值的服务器,比如文件解析异步任务的个数为18(即接收到的批量交易文件的个数为18),预设的最大任务处理个数为7,则将前述异步任务分配给3台服务器进行执行,3台服务器分配的文件解析异步任务的个数可以是7,7,4(即按照预设的最大任务处理个数进行分配),也可以是6,6,6(即平均分配)等。

文件解析异步任务分配完成后,并行执行所有创建的文件解析异步任务。其中,执行每一个文件解析异步任务的步骤,包括:

步骤3062,获取交易文件的交易类型。

本实施例中,交易文件以交易类型划分。例如,交易类型可以是但不限于开户文件,账户修改文件、申购文件和认购文件等。具体地,可直接解析交易文件获取交易类型,也可先解析交易文件得到文件来源(如pc端系统、微信平台等),再根据文件来源获取交易文件的交易类型。

步骤3064,若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件解析方法。

文件解析方法是预存在数据库中的用于解析文件的方法。本实施例中,需要将接收到的交易文件的交易类型与预存交易类型进行匹配,以过滤掉终端错传的文件。若匹配成功,则在数据库中获取与交易类型对应的文件解析方法,即文件解析方法预先存储在数据库中,以便后续交易文件的模板发生变更,与之对应的新的文件解析方法可直接替换数据库中的原有的文件解析方法,减少了存储在程序中方法重写带来的连接测试等操作。

步骤3066,根据文件解析方法解析交易文件,并将解析得到的交易数据保存至数据库中。

服务器根据交易文件对应的解析方法解析交易文件得到交易数据后,将交易数据保存至数据库,以便后续使用。

本实施例中,由于同一个批次的每一个交易文件对应一个文件解析异步任务,每一个文件解析异步任务根据各自交易文件的交易类型,直接从数据库获取对应的文件解析方法,从而实现交易文件的并行解析,提高了交易文件的处理效率。

在一个实施例中,上述步骤304之前,还包括验证批量交易文件的安全性;若批量交易文件验证为安全,则进入为每一个交易文件创建对应的文件解析异步任务的步骤。

具体地,可通过获取每一个交易文件的安全标识,若该安全标识与预设安全标识对比一致,则交易文件验证为安全。例如,安全标识对应的字段为“safetysigns”,“safetysigns”的预设值为“deal-r”,而接收到的交易文件中,“safetysigns”对应的值同样是是“deal-r”,则该交易文件验证为安全。本实施例中,通过对接收到的批量交易文件增加安全性验证的步骤,保证了交易文件的安全性。

在一个实施例中,如图4所示,在数据库中获取与交易类型对应的文件解析方法之前,还提供了一种交易文件的文件校验方法,还包括:

步骤402,若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件校验方法。

文件校验方法包括文件的物理校验和逻辑校验。物理校验用于校验文件的编码和数据的完整性,常用的数据完整性校验可以是循环冗余校验算法(cyclicredundancycheck,crc,包括crc8、crc16和crc32)、安全哈希算法(securehashalgorithm,sha,包括sha1、sha256、sha384、sha512)或是消息摘要算法(messagedigestalgorithm,包括md2、md4、md5)等;逻辑校验用于校验数据的逻辑性,如相同字段的重复输入是否一致,数据的先后执行顺序是否符合预设逻辑等。

本实施例中,数据库中预先存储了与预存交易类型相对应的文件校验方法,在获取了交易文件的交易类型后,便可轻易找出与之对应的文件校验方法。

步骤404,根据文件校验方法校验交易文件。

利用与交易文件类型相对应的文件校验方法验证交易文件,若验证通过则进入后续的在数据库中获取与交易类型对应的文件解析的步骤;若验证不通过,则终止对该交易文件的处理。

本实施例中,通过对接收到的交易文件进行校验,过滤掉了非法的文件,保证了交易文件的数据完整性。

在一个实施例中,如图5所示,在步骤306之后,还包括:

步骤502,判断批量交易文件的交易类型是否为同一个交易类型,若是则进入步骤504,若否则进入步骤508。

步骤504,为每一个交易文件创建对应的交易申请异步任务。

交易申请异步任务是交易文件中的交易数据的执行请求任务。当接收到的同一批次的交易文件的交易类型相同,如均为开户文件,则可通过创建多个任务线程来提高任务的运行效率。

步骤506,并行执行每一个交易申请异步任务。

与步骤306类似,交易申请异步任务创建完成后,可根据交易申请异步任务的个数和预设最大任务处理个数分配创建的交易申请异步任务,再并行执行所有创建的交易申请异步任务。其中,执行每一个交易申请异步任务,包括:

步骤5062,从数据库中获取与交易文件对应的交易数据。

交易文件在解析后将对应的解析数据存储到数据库中,所以当需要使用交易数据时,直接从数据库中获取便可。其中,交易数据为用户在交易系统进行任意操作的数据,包括但不限于交易系统的登录账号、登录密码、购买的商品信息等。

步骤5064,执行交易数据。

在数据库中获取了与交易文件对应的交易数据后,按照交易类型的预设逻辑顺序执行交易数据,从而完成整个交易申请。例如,对于一种基金认购文件,服务器在基金认购申请表中获取用户选择购买的基金类型和基金数量,在基金信息表中获取与上述基金类型对应的基金单价、手续费、优惠折扣等,根据预设的计算规则计算出用户需要支付的费用,获取用户对该笔费用的支付信息,并生成相应的基金认购订单,从而实现基金认购的完整流程。

步骤508,按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行交易数据。

预设的交易逻辑是根据预存的交易类型进行设置的,如依次处理开户文件、账户修改文件、申购文件和认购文件。具体地,可通过对不同交易类型的交易文件设置不同的处理优先级来实现。

本实施例中,通过对同一批次交易文件的交易类型的相同与否进行判断,若相同,则为每一个交易文件创建对应的交易申请异步任务,再并行执行每一个交易申请异步任务;若不相同,则为批量交易文件创建交易申请异步任务并执行交易申请异步任务,包括:按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行交易数据,提高了交易数据的执行效率。同时,将每一个交易文件的解析和交易数据的执行过程分开,减少了交易数据的使用和执行对于交易文件解析的依赖性,提高了交易数据的使用和执行功能的稳定性。

上述实施例是针对单个批次的待处理批量交易(这里的待处理批量交易是指批量交易文件已经过解析并存储到数据库中,但还未按照预设的执行逻辑进行执行的批量交易)的方案,在其他实施例中,若存在两个及两个以上批次的待处理的批量交易,为待处理的每个批次的批量交易创建对应的交易申请异步任务,再并行执行每一个交易申请异步任务。其中,执行每一个交易申请异步任务,包括:判断一个批次中的批量交易文件的交易类型是否为同一个交易类型,若是,则为同一个批次中的每一个批量交易文件创建对应的交易申请异步子任务,再并行执行每一个交易申请异步子任务,又,执行每一个交易申请异步子任务,包括:从数据库中获取与交易文件对应的交易数据,执行交易数据;若否,则按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行交易数据。

在一个实施例中,在步骤502之前,还包括检测批量交易文件是否解析完毕,若是,则进入判断批量交易文件的交易类型是否为同一个交易类型的步骤。

具体地,可遍历文件明细表(包括批次号,文件编码、交易类型、文件来源、文件状态,文件状态初始值为“待处理”)中与批次号对应的多个文件处理状态,若文件处理状态均为“解析完成”,则该批次交易文件解析完成。

在一个实施例中,如图6所示,提供了一种交易文件处理装置,包括:

交易文件接收模块602,用于接收上传的批量交易文件;

文件解析异步任务创建模块604,用于为每一个交易文件创建对应的文件解析异步任务;

文件解析异步任务执行模块606,用于并行执行每一个文件解析异步任务;

文件解析异步任务执行模块606用于获取交易文件的交易类型;若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件解析方法;根据文件解析方法解析交易文件,并将解析得到的交易数据保存至数据库中。

在一个实施例中,文件解析异步任务执行模块606还用于验证批量交易文件的安全性;若批量交易文件验证为安全,则进入为每一个交易文件创建对应的文件解析异步任务的步骤。

在一个实施例中,文件解析异步任务执行模块606还用于在数据库中获取与交易类型对应的文件校验方法;根据文件校验方法校验所述交易文件;若校验通过,则进入在数据库中获取与交易类型对应的文件解析方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:

接收上传的批量交易文件;

为每一个交易文件创建对应的文件解析异步任务;

并行执行每一个文件解析异步任务;

执行每一个文件解析异步任务,包括:

获取交易文件的交易类型;

若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件解析方法;

根据文件解析方法解析交易文件,并将解析得到的交易数据保存至数据库中。

在一个实施例中,在为每一个交易文件创建对应的文件解析异步任务之前,还包括:验证批量交易文件的安全性;若批量交易文件验证为安全,则进入为每一个交易文件创建对应的文件解析异步任务的步骤。

在一个实施例中,在在数据库中获取与交易类型对应的文件解析方法之前,还包括:在数据库中获取与交易类型对应的文件校验方法;根据文件校验方法校验交易文件;若校验通过,则进入在数据库中获取与交易类型对应的文件解析方法的步骤。

在一个实施例中,该程序被处理器执行时还实现如下步骤:判断批量交易文件的交易类型是否为同一个交易类型;若是,则为每一个交易文件创建对应的交易申请异步任务;并行执行每一个交易申请异步任务,执行每一个交易申请异步任务,包括:从数据库中获取与交易文件对应的交易数据;执行交易数据;若否,则按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行交易数据。

在一个实施例中,在判断批量交易文件的交易类型是否为同一个交易类型之前,还包括:检测批量交易文件是否解析完毕;若是,则进入判断批量交易文件的交易类型是否为同一个交易类型的步骤。

在一个实施例中,提供了一种计算机设备,计算机设备包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算器程序时实现如下步骤:

接收上传的批量交易文件;

为每一个交易文件创建对应的文件解析异步任务;

并行执行每一个文件解析异步任务;

执行每一个文件解析异步任务,包括:

获取交易文件的交易类型;

若交易类型与预存交易类型匹配成功,则在数据库中获取与交易类型对应的文件解析方法;

根据文件解析方法解析交易文件,并将解析得到的交易数据保存至数据库中。

在一个实施例中,在为每一个交易文件创建对应的文件解析异步任务之前,还包括:验证批量交易文件的安全性;若批量交易文件验证为安全,则进入为每一个交易文件创建对应的文件解析异步任务的步骤。

在一个实施例中,在在数据库中获取与交易类型对应的文件解析方法之前,还包括:在数据库中获取与交易类型对应的文件校验方法;根据文件校验方法校验交易文件;若校验通过,则进入在数据库中获取与交易类型对应的文件解析方法的步骤。

在一个实施例中,该程序被处理器执行时还实现如下步骤:判断批量交易文件的交易类型是否为同一个交易类型;若是,则为每一个交易文件创建对应的交易申请异步任务;并行执行每一个交易申请异步任务,执行每一个交易申请异步任务,包括:从数据库中获取与交易文件对应的交易数据;执行交易数据;若否,则按照预设的交易逻辑顺序依次从数据库中获取对应的交易数据,执行交易数据。

在一个实施例中,在判断批量交易文件的交易类型是否为同一个交易类型之前,还包括:检测批量交易文件是否解析完毕;若是,则进入判断批量交易文件的交易类型是否为同一个交易类型的步骤。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1