CN115619550A - 一种业务数据处理方法及装置 - Google Patents
一种业务数据处理方法及装置 Download PDFInfo
- Publication number
- CN115619550A CN115619550A CN202211198417.4A CN202211198417A CN115619550A CN 115619550 A CN115619550 A CN 115619550A CN 202211198417 A CN202211198417 A CN 202211198417A CN 115619550 A CN115619550 A CN 115619550A
- Authority
- CN
- China
- Prior art keywords
- service
- service data
- processing
- data packet
- state
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种业务数据处理方法及装置,涉及数据处理技术领域。该方法的一具体实施方式包括:接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。该实施方式降低了数据发送方与数据处理方之间的交互频次,提高了系统的运行性能,并且降低了客户系统的操作繁琐度。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种业务数据处理方法及装置。
背景技术
随着线上金融交易日趋频繁,金融机构与客户系统之间的交易数量也急剧增加,且交易类型也多种多样。
由于不同类型的交易需要调用金融机构的不同接口,因此对于多种交易类型对应的交易数据,金融机构需要通过不同接口分别接收交易数据,并将数据处理结果按交易类型分别发送给客户系统。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
金融机构频繁接收客户系统发送的不同业务类型的业务处理请求,处理数据后也需要向客户系统频繁发送处理结果,且需要按业务类型分别进行数据接收及结果发送操作,使得金融机构与客户系统之间的交互频繁,降低了系统的运行性能。
并且,客户系统需要将业务数据按业务类型分别发送给金融机构,且在接收处理结果时,每收到一笔处理结果都需要进行记录和核对,增加客户系统的操作繁琐度。
发明内容
有鉴于此,本发明实施例提供一种业务处理方法及装置,通过接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方,使得数据处理方(如金融机构)可以通过一个接口一次接收包含多个业务类型的业务处理请求,并可以一次发送全部的处理结果,从而降低了数据发送方(如客户系统)与数据处理方之间的交互频次,提高了系统的运行性能;同时,数据发送方能够一次发送包含多个业务类型的业务数据包,以发起相应的业务处理请求,并且能够一次接收全部处理结果,避免了数据发送方在数据处理过程中频繁接收、记录及核对处理结果,从而降低了客户系统的操作繁琐度。
为实现上述目的,根据本发明实施例的一个方面,提供了一种业务数据处理方法,包括:接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
可选地,本发明提供的方法,还包括:在接收到多个所述业务数据包的情况下,分别将多个所述业务数据包的数据标识和第二处理状态对应记录到任务管理表中,所述第二处理状态包括已推送所述合并后的处理结果或待推送所述合并后的处理结果。
可选地,所述根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,包括:从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,并确定所述数据标识的业务数据包对应的所述状态标识;根据所述状态标识确定所述第一处理状态为待推送的一种或多种目标业务类型;判断所述一种或多种目标业务类型中是否存在未处理完成的所述目标业务类型;对所述未处理完成的所述目标业务类型对应的目标业务数据进行处理。
可选地,本发明提供的方法,还包括:在所述对不同业务类型的业务数据分别对应的所述处理结果进行合并之前,将已处理完成的所述目标业务类型对应的所述处理结果发送给所述发送方;或,将所述已处理完成的所述目标业务类型对应的所述处理结果与未处理完成的所述目标业务类型的业务数据的处理状态进行合并,并将合并结果发送给所述发送方。
可选地,所述对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,包括:判断所述第一处理状态为待推送的所述业务类型的业务数据是否已处理完成;如果是,将已处理完成的所有所述处理结果进行合并。
可选地,所述从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,包括:将查询周期对应于所述数据标识记录到所述任务管理表中;按照所述查询周期,查询所述任务管理表中各个业务数据包对应的第二处理状态。
可选地,本发明提供的方法,还包括:将所述状态标识对应于所述数据标识记录在所述任务管理表中。
可选地,本发明提供的方法,还包括:所述状态标识以二进制位图形式存储,所述二进制位图中包括表征所述业务类型的数位,以及表征所述第一处理状态的数位。
可选地,本发明提供的方法还包括:所述业务数据包中包括人民币转账的业务数据和外汇汇款的业务数据。
可选地,本发明提供的方法还包括:通过一个目标接口接收所述业务数据包。
可选地,本发明提供的方法还包括:在接收所述业务数据包之后,且在对所述业务数据进行处理之前,对所述业务数据包的流水号进行判重,并生成与所述业务数据包唯一对应的所述数据标识。
为实现上述目的,根据本发明实施例的又一方面,提供了一种业务数据处理装置。
本发明实施例的一种业务数据处理装置包括:
接收模块,接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;
处理模块,用于根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;
结果发送模块,用于对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
为实现上述目的,根据本发明实施例的再一方面,提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一种业务数据处理方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一种业务数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方,使得数据处理方(如金融机构)可以通过一个接口一次接收包含多个业务类型的业务处理请求,并可以一次发送全部的处理结果,从而降低了数据发送方(如客户系统)与数据处理方之间的交互频次,提高了系统的运行性能;同时,数据发送方能够一次发送包含多个业务类型的业务数据包,以发起相应的业务处理请求,并且能够一次接收全部处理结果,避免了数据发送方在数据处理过程中频繁接收、记录及核对处理结果,从而降低了客户系统的操作繁琐度。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种业务数据处理方法的主要步骤的示意图;
图2是根据本发明实施例的一种业务数据处理方法的主要步骤的示意图;
图3是根据本发明实施例的一种业务数据处理装置的主要模块的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供的业务数据处理方法可以应用于多种涉及数据处理的场景,比如用于金融系统与客户系统的之间的往来业务的数据处理、以及金融系统之间的往来业务的数据处理等。
现以客户系统与金融系统之间的业务往来为例,对本发明的业务数据处理方法进行说明。现有技术中,通过客户系统向金融系统发起资金交易时需要将交易数据按照业务类型(如按币种,即人民币转账业务数据和外汇汇款业务数据)分别发送给金融系统。金融系统也需要按着业务类型通过不同的接口接收交易数据,且交易数据处理完成后,将交易结果分别发送给客户系统。因此金融系统与客户系统之间需要进行频繁交互,降低了系统的运行性能;同时也使得客户系统频繁发起交易请求以及频繁接收、记录以及核对交易结果,增加了客户系统的运行压力。
为了减少金融系统与客户系统的交互频次,提高金融系统的运行性能,同时降低客户系统的操作繁琐度,本发明提出了一种基于位图实现任务处理的业务数据处理方法。
图1是根据本发明实施例的一种业务数据处理方法的主要步骤的示意图。
如图1所示,本发明实施例的一种业务数据处理方法,主要包括以下步骤:
步骤S101:接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据。
可以理解的是,本发明实施例可以支持单独一种业务类型的业务数据的处理,也可以支持多种业务类型的业务数据的处理。
金融机构接收客户系统发送的业务处理请求,即金融系统通过一个目标接口接收客户系统发送的业务数据包,所述业务数据包中可以只包含一种业务类型的业务数据,比如只有人民币转账的交易数据;也可以包含多种业务类型的业务数据,比如人民币转账交易数据、外币汇款交易数据、基金购买的交易数据等。系统中可以并行处理多个业务数据包,所述多个业务数据包可以是同一个客户系统在不同时间段发送的多个业务数据包,也可以是不同的客户系统发送的多个业务数据包。
在本发明的一个实施例中,本方法还包括:在接收所述业务数据包之后,且在对所述业务数据进行处理之前,对所述业务数据包的流水号进行判重,并生成与所述业务数据包唯一对应的所述数据标识。
在接收到每一个业务数据包后,金融系统对该业务数据包的流水号进行判重,以防止客户系统由于各种原因造成的对同一个业务请求的重复提交,造成重复交易导致经济损失。金融系统对客户上传的交易文件的流水号进行检查,如果发现该流水号已经使用过,进行报错提示,并向客户系统发送消息,提示客户进行交易单号的核实,本次交易按照失败处理。如果判重过程中没有报错提示,则为该业务数据包生成系统内唯一的批次流水号。每个业务数据包对应的批次流水号作为该业务数据包在系统内唯一的数据标识。
在本发明的另一个实施例中,本方法还包括:在接收到多个所述业务数据包的情况下,分别将多个所述业务数据包的数据标识和第二处理状态对应记录到任务管理表中,所述第二处理状态包括已推送所述合并后的处理结果或待推送所述合并后的处理结果。
在金融系统接收到多个业务数据包的情况下,分别将多个业务数据包分别对应的批次流水号,即数据标识记录到任务管理表中,同时将多个业务数据包的第二处理状态记录到该任务管理表中,其中,所述第二处理状态包括已推送所述合并后的处理结果或待推送所述合并后的处理结果,所述合并后的处理结果是由一个业务数据包中包含的所有交易数据分别对应的处理结果合并后得到的。例如,业务数据包中包含人民币转账业务数据和外汇汇款业务数据,两种业务处理完成后,将人民币转账业务的处理结果和外汇汇款业务的处理结果合并即得到所述合并后的处理结果;另外所述第二处理状态即指示人民币转账业务和外汇汇款业务的合并后的处理结果是否已发送给客户系统。
步骤S102:根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态。
在接收到每一个业务数据包之后,需要对该业务数据包中包含的业务数据按着业务类型进行拆分,拆分后得到不同业务类型的业务数据。根据业务数据包中包含的业务类型,为该业务数据包生成对应的状态标识,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态,所述第一处理状态为已推送或待推送,即第一处理状态指示了其对应的所述业务类型的业务数据的处理结果是否已发送给客户系统。可以理解的是,所述状态标识中的第一处理状态最初均为待推送状态。
在本发明的另一个实施例中,本方法还包括:所述状态标识以二进制位图形式存储,所述二进制位图中包括表征所述业务类型的数位,以及表征所述第一处理状态的数位。
系统可以生成固定格式的初始状态标识,该状态标识中一半的数位用于表征业务类型、且另一半的数位用于表征所述业务类型的处理结果的推送状态,也就是说,表征推送状态的数位与表征业务类型的数位是一一对应的。在接收业务数据包后,根据业务数据包中包含的业务类型更新该初始状态标识,确切地说是更新该初始状态标识中表征业务类型的数位。比如,系统生成长度为4位的二进制位图,其初始状态为0000,当接收到的业务数据包中包含人民币转账和外汇汇款两种业务类型时,将二进制位图0000更新为1100,其中前两位表征业务类型,第一个1表示所述业务数据包中包含人民币转账业务,第二个1表示所述业务数据包中包含外汇汇款业务;后两位表征人民币转账业务和外汇汇款业务的处理结果的推送状态,00则表示两种业务类型的处理结果均未发送给客户系统,当人民币转账业务的处理结果已发送给客户系统时,后两位则表示为10,或者,当两种业务的处理结果均已发送给客户系统时,后两位则表示为11。可以理解的是,当接收到的业务数据包只包括一种业务类型的业务数据时,将二进制位图0000更新为1100为1000或0100。
另外,可以理解的是,本发明实施例不限制二进制位图的长度。比如,系统还可以生成长度为6位的二进制位图,其初始状态为000000,当接收到的业务数据包中包含人民币转账和外汇汇款两种业务类型时,将二进制位图000000更新为110000,其中前三位表征业务类型,后三位表征人民币转账业务和外汇汇款业务的处理结果的推送状态。
另外,系统还可以根据业务数据包中包括的业务类型相应生成状态标识,该状态标识中包括与业务类型相对应的数位、以及与每种业务类型的推送状态相对应的数位,也就是说,业务数据包中包括几种业务类型,那么状态标识中也就包括几个数位来表征这些业务类型,同时,状态标识中还包括另外几个数位来表征这些业务类型对应的推送状态。比如,业务数据包中可以包含转账、存款、付款三种业务类型,初始状态标识为111000,与前面类似地,前三位表征业务类型,后三位表征三种业务类型对应的处理结果的推送状态。当业务数据包中包含四种业务类型时,初始状态标识为11110000,四种业务类型的处理结果全部推送完成时,状态标识更新为11111111。
可以理解的是,本发明实施例不限制二进制位图中表征状态和表征业务类型的数位的顺序。比如表征状态和表征业务类型的数位的顺序可以如上述实施方式所示—表征业务类型的数位在前,表征推送状态的数位在后。另外,二进制位图中表征推送状态的数位可以放在前面,表征业务类型的数位可以放在后面;或者,表征业务类型的数位和表征推送状态的数位可以交叉设置,例如,在业务数据包中包含转账、存款、付款三种业务类型的情况下,相应的初始状态标识可以为101010。
在本发明的另一个实施例中,本方法还包括:将所述状态标识对应于所述数据标识记录在所述任务管理表中。
查询所述任务管理表可以得知以下信息:业务数据包的数据标识,即批次流水号、状态标识,即业务数据包中每个业务类型对应的处理结果的推送状态、以及整个业务数据包的合并后的处理结果的推送状态。
在本发明的再一个实施例中,所述根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,包括:从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,并确定所述数据标识的业务数据包对应的所述状态标识;根据所述状态标识确定所述第一处理状态为待推送的一种或多种目标业务类型;判断所述一种或多种目标业务类型中是否存在未处理完成的所述目标业务类型;对所述未处理完成的所述目标业务类型对应的目标业务数据进行处理。
为所述业务数据包设置查询周期,所述查询周期可以根据业务场景自行设定,并将所述查询周期对应于所述数据标识,即批次流水号,记录到所述任务管理表中;系统按着查询周期,查询所述任务管理表中各个业务数据包对应的第二处理状态,根据第二处理状态确定整个业务数据包的合并后的处理结果处于待推送状态的业务数据包;再根据业务数据包对应的状态标识,即二进制位图1100,确定推送状态为待推送的一种或多种业务类型的业务数据;接着判断待推送的所述一种或多种业务类型的业务数据中是否存在未处理完成的业务数据;当查询到未处理完成的业务数据时,对其进行处理。
在本发明的再一个实施例中,本发明的方法还包括:在所述对不同业务类型的业务数据分别对应的所述处理结果进行合并之前,将已处理完成的所述目标业务类型对应的所述处理结果发送给所述发送方;或,将所述已处理完成的所述目标业务类型对应的所述处理结果与未处理完成的所述目标业务类型的业务数据的处理状态进行合并,并将合并结果发送给所述发送方。
系统根据客户系统发送的结果返回指令,以不同的方式向客户系统推送处理结果。当结果返回指令指示了实时返回处理结果时,系统处理完某业务类型的业务数据后,将该业务类型的处理结果及时发送给客户系统;当结果返回指令指示了实时且完整返回处理结果时,系统将该业务类型的处理结果和其他未处理完的业务类型的当前处理状态也一并发送给客户系统,以方便客户系统对业务数据包中包含的所有交易的记录和核对。比如,当人民币转账业务已处理完成,外汇汇款业务未处理完成时,并且结果返回指令指示了实时返回处理结果时,向客户系统只推送人民币转账业务的处理结果;也可以将人民币转账业务的处理结果和外汇汇款业务的当前处理状态一并发送给客户系统。可以理解的是,当结果返回指令指示了完整返回处理结果时,并且接收的业务数据包中包含50笔人民币转账交易和50笔外币汇款交易时,发送给客户系统的处理结果也应该包含该100笔交易的处理结果和当前处理状态。
步骤S103:对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
当所述业务数据全部已处理完成时,比如,当人民币转账业务和外汇汇款业务全部处理完成时,将人民币转账业务和外汇汇款业务对应的处理结果进行合并,得到所述合并后的处理结果;将合并后的处理结果发送给客户系统,其中所述合并后的处理结果与所述业务数据包中的所有交易明细一一对应,即,人民币转账业务和外汇汇款业务共有100笔交易,那么,合并后的处理结果也相应包含100笔交易的交易明细。
图2是根据本发明实施例的一种业务数据处理方法的主要步骤的示意图。
下面仍以客户系统与金融系统之间的业务往来为例,对本发明实施例提供的业务数据处理方法进行详细说明。如图2所示,该方法可以包括以下步骤:
步骤S201:金融系统接收业务数据包。
金融系统接收客户系统提交的业务处理请求,即通过一个目标接口接收客户系统发送的一个或多个业务数据包,且每个业务数据包中包括一种或多种业务类型的业务数据。
步骤S202:对业务数据包的流水号进行判重,并生成数据标识。
金融系统对客户系统上传的交易文件,即业务数据包,的流水号进行检查,如果发现流水号重复,则向客户系统发送报错提示,本次交易按照失败处理。如果判重过程中没有流水号重复使用的现象,则为该业务数据包生成系统内唯一的批次流水号,该批次流水号作为该业务数据包在系统内唯一的数据标识。
步骤S203:为业务数据包生成状态标识。
为该业务数据包生成对应的状态标识,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态,所述第一处理状态为已推送或待推送,即第一处理状态指示了其对应的所述业务类型的业务数据的处理结果是否已发送给客户系统。
步骤S204:生成任务管理表。
将多个业务数据包分别对应的批次流水号,即数据标识,记录到任务管理表中,同时将多个业务数据包的合并后的处理结果的推送状态记录到该任务管理表中,另外将所述状态标识对应于所述数据标识记录在所述任务管理表中,最后将业务数据包的查询周期对应记录到任务管理表中。
步骤S205:按照所述业务类型分别对所述业务数据进行处理。
系统按着查询周期,查询所述任务管理表中各个业务数据包对应的第二处理状态,根据第二处理状态确定整个业务数据包的合并后的处理结果处于待推送状态的业务数据包;再根据业务数据包对应的状态标识,即二进制位图1100,确定推送状态为待推送的一种或多种业务类型的业务数据;接着判断待推送的所述一种或多种业务类型的业务数据中是否存在未处理完成的业务数据;当查询到未处理完成的业务数据时,对其进行处理。
步骤S206:判断客户系统发送的结果返回指令是否指示了实时返回处理结果,如果是,执行步骤S207;否则执行S210。
当结果返回指令指示了实时返回处理结果时,要求系统处理完某业务类型的业务数据后,将该业务类型的处理结果及时发送给客户系统。
步骤S207:判断客户系统发送的结果返回指令是否指示了完整返回处理结果,如果是,执行步骤S208;否则,执行步骤S209。
当结果返回指令指示了实时且完整返回处理结果时,要求系统将该业务类型的处理结果和其他未处理完的业务类型的当前处理状态也一并发送给客户系统。
步骤S208:将已处理完成的业务类型的处理结果和未处理完成的业务类型的当前处理状态发送给客户系统。
系统处理完该业务类型的业务数据后,将该业务类型的处理结果和其他未处理完的业务类型的当前处理状态也一并发送给客户系统,以方便客户系统对业务数据包中包含的所有业务数据的记录和核对。
步骤S209:将已处理完成的业务类型的处理结果发送给客户系统。
当结果返回指令仅指示了实时返回处理结果时,也可以只发送已处理完成的业务类型的处理结果,不发送当前未处理完成的业务类型的当前处理状态。
步骤S210:将所有业务类型的处理结果进行合并,得到合并后的处理结果,将合并后的处理结果发送给所述业务数据包的发送方。
当所述业务数据包的所有业务类型全部处理完成时,将所述业务数据包中所有业务类型的业务数据对应的处理结果进行合并,得到所述合并后的处理结果;将合并后的处理结果发送给客户系统。
由上述实施例可知,金融系统可以通过一个接口接收客户系统一次发起的多个业务类型的交易请求,即业务数据包;然后对包含多个业务类型的交易请求的业务数据包按业务类型进行拆分;并对拆分得到的多个业务类型的业务数据进行处理;按着结果返回指令,将处理结果发送给客户系统。在全部业务类型的业务数据处理完成之前,按着结果返回指令,在数据处理过程中,可以通过下述方式向客户系统发送处理结果,并且当所有业务类型的业务数据处理完成后,将全部的处理结果进行合并,然后将合并后的处理结果发送给客户系统:
一、当结果返回指令指示了实时返回处理结果时,系统处理完某业务类型的业务数据后,将该业务类型的处理结果及时发送给客户系统;
二、当结果返回指令指示了实时且完整返回处理结果时,系统将已处理完成的业务类型的处理结果和其他未处理完的业务类型的当前处理状态也一并发送给客户系统。
本发明实施例提供的业务数据处理方法,通过接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方,使得数据处理方(如金融机构)可以通过一个接口一次接收包含多个业务类型的业务处理请求,并可以一次发送全部的处理结果,从而降低了数据发送方(如客户系统)与数据处理方之间的交互频次,提高了系统的运行性能;同时,数据发送方能够一次发送包含多个业务类型的业务数据包,以发起相应的业务处理请求,并且能够一次接收全部处理结果,避免了数据发送方在数据处理过程中频繁接收、记录及核对处理结果,从而降低了客户系统的操作繁琐度。
图3是根据本发明实施例的业务数据处理装置的主要模块的示意图。
如图3所示,本发明实施例提供了一种业务数据处理装置300,主要包括以下模块:
接收模块301,用于接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;
处理模块302,用于根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;
结果发送模块303,用于对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
在本发明的一个实施例中,接收模块301接收客户系统发送的业务处理请求,所述业务数据包中可以只包含一种业务类型的业务数据,比如只有人民币转账的交易数据;也可以包含多种业务类型的业务数据,比如人民币转账交易数据、外币汇款交易数据、基金购买的交易数据等。处理模块302可以并行处理多个业务数据包,所述多个业务数据包可以是同一个客户系统在不同时间段发送的多个业务数据包,也可以是不同的客户系统发送的业务数据包。
在本发明的一个实施例中,本装置还包括:在接收所述业务数据包之后,接收模块301对所述业务数据包的流水号进行判重,并生成与所述业务数据包唯一对应的所述数据标识。
在接收到每一个业务数据包后,接收模块301对该业务数据包的流水号进行判重,以防止客户系统由于各种原因造成的对同一个业务请求的重复提交,造成重复交易导致经济损失。接收模块301对客户上传的交易文件的流水号进行检查,如果发现该流水号已经使用过,进行报错提示,并向客户系统发送消息,提示客户进行交易单号的核实,本次交易按照失败处理。如果判重过程中没有报错提示,接收模块301则为该业务数据包生成系统内唯一的批次流水号。每个业务数据包对应的批次流水号作为该业务数据包在系统内唯一的数据标识。
在本发明的另一个实施例中,本装置还包括:在接收模块301接收到多个所述业务数据包的情况下,接收模块301分别将多个所述业务数据包的数据标识和第二处理状态对应记录到任务管理表中,所述第二处理状态包括已推送所述合并后的处理结果或待推送所述合并后的处理结果。
在接收到每一个业务数据包之后,接收模块301需要对该业务数据包中包含的业务数据按着业务类型进行拆分,拆分后得到不同业务类型的业务数据。根据业务数据包中包含的业务类型,接收模块301为该业务数据包生成对应的状态标识,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态,所述第一处理状态为已推送或待推送,即第一处理状态指示了其对应的所述业务类型的业务数据的处理结果是否已发送给客户系统。可以理解的是,所述状态标识中的第一处理状态最初均为待推送状态。
在本发明的另一个实施例中,本装置还包括:所述状态标识以二进制位图形式存储,所述二进制位图中包括表征所述业务类型的数位,以及表征所述第一处理状态的数位。
处理模块302查询所述任务管理表可以得知以下信息:业务数据包的数据标识,即批次流水号、状态标识,即业务数据包中每个业务类型对应的处理结果的推送状态、以及整个业务数据包的合并后的处理结果的推送状态。
在本发明的再一个实施例中,处理模块302根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,包括:从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,并确定所述数据标识的业务数据包对应的所述状态标识;根据所述状态标识确定所述第一处理状态为待推送的一种或多种目标业务类型;判断所述一种或多种目标业务类型中是否存在未处理完成的所述目标业务类型;对所述未处理完成的所述目标业务类型对应的目标业务数据进行处理。
接收模块301为所述业务数据包设置查询周期,所述查询周期可以根据业务场景自行设定,并将所述查询周期对应于所述数据标识,即批次流水号,记录到所述任务管理表中;处理模块302按着查询周期,查询所述任务管理表中各个业务数据包对应的第二处理状态,根据第二处理状态确定整个业务数据包的合并后的处理结果处于待推送状态的业务数据包;处理模块302再根据业务数据包对应的状态标识,即二进制位图,确定推送状态为待推送的一种或多种业务类型的业务数据;接着处理模块302判断待推送的所述一种或多种业务类型的业务数据中是否存在未处理完成的业务数据;当查询到未处理完成的业务数据时,处理模块302对其进行处理。
在本发明的再一个实施例中,本发明实施例提供的装置还包括:在结果发送模块303对不同业务类型的业务数据分别对应的所述处理结果进行合并之前,结果发送模块303将处理模块302已处理完成的所述目标业务类型对应的所述处理结果发送给所述发送方;或,结果发送模块303将处理模块302已处理完成的所述目标业务类型对应的所述处理结果与未处理完成的所述目标业务类型的业务数据的处理状态进行合并,并将合并结果发送给所述发送方。
当处理模块302将所述业务数据全部处理完成时,比如,当处理模块302将人民币转账业务和外汇汇款业务全部处理完成时,结果发送模块303将人民币转账业务和外汇汇款业务对应的处理结果进行合并,得到所述合并后的处理结果;结果发送模块303将所述业务数据包对应的合并后的处理结果发送给客户系统,其中所述合并后的处理结果与所述业务数据包中的所有交易明细一一对应,即,人民币转账业务和外汇汇款业务共有100笔交易,那么,合并后的处理结果也相应包含100笔交易的交易明细。
本发明实施例的业务数据处理装置,通过接收模块301接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;处理模块302根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;结果发送模块303对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方,使得数据处理方(如金融机构)可以通过一个接口一次接收包含多个业务类型的业务处理请求,并可以一次发送全部的处理结果,从而降低了数据发送方(如客户系统)与数据处理方之间的交互频次,提高了系统的运行性能;同时,数据发送方能够一次发送包含多个业务类型的业务数据包,以发起相应的业务处理请求,并且能够一次接收全部处理结果,避免了数据发送方在数据处理过程中频繁接收、记录及核对处理结果,从而降低了客户系统的操作繁琐度。
图4示出了可以应用本发明实施例的业务数据处理方法或业务数据处理装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或推送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的数据处理请求等数据进行分析等处理,并将处理结果(例如多种业务类型的合并处理结果)反馈给终端设备。
需要说明的是,本发明实施例所提供的业务数据处理方法一般由服务器405执行,相应地,业务数据处理装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以推送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、处理模块和结果发送模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,结果发送模块还可以被描述为“将合并后的处理结果发送给所述业务数据包的发送方的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
根据本发明实施例的技术方案,接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方,使得数据处理方(如金融机构)可以通过一个接口一次接收包含多个业务类型的业务处理请求,并可以一次发送全部的处理结果,从而降低了数据发送方(如客户系统)与数据处理方之间的交互频次,提高了系统的运行性能;同时,数据发送方能够一次发送包含多个业务类型的业务数据包,以发起相应的业务处理请求,并且能够一次接收全部处理结果,避免了数据发送方在数据处理过程中频繁接收、记录及核对处理结果,从而降低了客户系统的操作繁琐度。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种业务数据处理方法,其特征在于,包括:
接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;
根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;
对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
2.根据权利要求1所述的方法,其特征在于,在接收到多个所述业务数据包的情况下,还包括:
分别将多个所述业务数据包的数据标识和第二处理状态对应记录到任务管理表中,所述第二处理状态包括已推送所述合并后的处理结果或待推送所述合并后的处理结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,包括:
从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,并确定所述数据标识的业务数据包对应的所述状态标识;
根据所述状态标识确定所述第一处理状态为待推送的一种或多种目标业务类型;
判断所述一种或多种目标业务类型中是否存在未处理完成的所述目标业务类型;
对所述未处理完成的所述目标业务类型对应的目标业务数据进行处理。
4.根据权利要求3所述的方法,其特征在于,在所述对不同业务类型的业务数据分别对应的所述处理结果进行合并之前,还包括:
将已处理完成的所述目标业务类型对应的所述处理结果发送给所述发送方;
或,
将所述已处理完成的所述目标业务类型对应的所述处理结果与未处理完成的所述目标业务类型的业务数据的处理状态进行合并,并将合并结果发送给所述发送方。
5.根据权利要求1所述的方法,其特征在于,所述对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,包括:
判断所述第一处理状态为待推送的所述业务类型的业务数据是否全部已处理完成;
如果是,将已处理完成的所有所述处理结果进行合并。
6.根据权利要求3所述的方法,其特征在于,所述从所述任务管理表中查询所述第二处理状态为待推送的所述数据标识,包括:
将查询周期对应于所述数据标识记录到所述任务管理表中;
按照所述查询周期,查询所述任务管理表中各个业务数据包对应的第二处理状态。
7.根据权利要求2所述的方法,其特征在于,还包括:
将所述状态标识对应于所述数据标识记录在所述任务管理表中。
8.根据权利要求1所述的方法,其特征在于,还包括:
所述状态标识以二进制位图形式存储,所述二进制位图中包括表征所述业务类型的数位,以及表征所述第一处理状态的数位。
9.根据权利要求1所述的方法,其特征在于,还包括:
所述业务数据包中包括人民币转账的业务数据和外汇汇款的业务数据。
10.根据权利要求1所述的方法,其特征在于,所述接收业务数据包,包括:
通过一个目标接口接收所述业务数据包。
11.根据权利要求1所述的方法,其特征在于,在接收所述业务数据包之后,且在对所述业务数据进行处理之前,还包括:
对所述业务数据包的流水号进行判重,并生成与所述业务数据包唯一对应的所述数据标识。
12.一种业务处理装置,其特征在于,包括:
接收模块,用于接收业务数据包,所述业务数据包中包括一种或多种业务类型的业务数据;
处理模块,用于根据所述业务数据包对应的状态标识,按照所述业务类型分别对所述业务数据进行处理,得到不同业务类型的业务数据分别对应的处理结果,其中,所述状态标识包括所述业务类型、以及所述业务类型对应的所述业务数据的第一处理状态;
结果发送模块,用于对所述不同业务类型的业务数据分别对应的所述处理结果进行合并,并将合并后的处理结果发送给所述业务数据包的发送方。
13.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-11中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198417.4A CN115619550A (zh) | 2022-09-29 | 2022-09-29 | 一种业务数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198417.4A CN115619550A (zh) | 2022-09-29 | 2022-09-29 | 一种业务数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115619550A true CN115619550A (zh) | 2023-01-17 |
Family
ID=84861420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211198417.4A Pending CN115619550A (zh) | 2022-09-29 | 2022-09-29 | 一种业务数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115619550A (zh) |
-
2022
- 2022-09-29 CN CN202211198417.4A patent/CN115619550A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112184154A (zh) | 一种业务审批方法和装置 | |
CN111857888A (zh) | 一种交易处理方法及装置 | |
CN110599277A (zh) | 一种库存扣减方法和装置 | |
CN112116351A (zh) | 一种业务处理方法和装置 | |
CN111127181A (zh) | 一种凭证记账方法和装置 | |
CN112835904A (zh) | 一种数据处理方法和数据处理装置 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN110705981B (zh) | 一种实时结算的方法和装置 | |
CN111881329A (zh) | 一种账户余额管理方法和系统 | |
CN111833037A (zh) | 一种账户管理的方法及装置 | |
CN107609852B (zh) | 用于处理支付请求的方法和装置 | |
CN111415245B (zh) | 一种开户方法和装置 | |
CN115619550A (zh) | 一种业务数据处理方法及装置 | |
CN116263926A (zh) | 基于区块链的对账方法、装置和系统 | |
CN113704222A (zh) | 一种处理业务请求的方法和装置 | |
CN111210349B (zh) | 虚拟资产的转托管方法、装置、电子设备和存储介质 | |
CN109656519B (zh) | 一种业务数据自动化接入方法和装置 | |
CN111695984A (zh) | 一种账号余额处理方法和装置 | |
CN112732471A (zh) | 接口返回数据的纠错方法和纠错装置 | |
CN111861746A (zh) | 一种处理交易数据的方法和装置 | |
CN111127006A (zh) | 基于区块链的交易处理方法和系统 | |
CN111291038B (zh) | 一种数据查询方法及装置 | |
CN112950380B (zh) | 一种基于区块链的交易一致性的处理方法和装置 | |
WO2021169553A1 (zh) | 一种处理订单的方法和装置 | |
CN112668058A (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 |