System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,更具体地,涉及一种基于oracle mq的异步批量账务处理方法及系统。
技术介绍
1、oracle mq(oracle message queue)是一种消息中间件产品,是一种用于在不同系统或组件之间进行异步通信的中间件技术。它允许应用程序将消息发送到队列中,并由其他应用程序从队列中接收和处理这些消息。oracle mq提供了可靠的消息传递机制,确保消息的可靠性、顺序性和持久性。它可以实现应用解耦、流量削峰和异步处理等功能,提高系统的可扩展性和容错性。
2、在银行业务中,因账务交易量的持续增长及业务复杂度的提升,导致传统的同步账务处理方式面临的系统资源紧张,处理速度慢和响应时间长。因此,为了提高处理效率、降低成本、支撑大规模业务并提供优质的客户体验,同时满足监管要求,保障账务的准确性和及时性,银行采用异步批量处理账务是十分必要的。oracle mq消息队列在异步处理银行大批量账务交易,发起业务申请的渠道端无需等待即能实时接收到响应结果,处理效率高,占用资源少,支持大批量账务业务。
技术实现思路
1、针对现有技术中存在的技术问题,提供一种基于oracle mq的异步批量账务处理方法及系统,通过将接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求,目的在于解决在银行业务中,因账务交易量的持续增长及业务复杂度的提升,导致传统的同步账务处理方式面临的系统资源紧张,处理速度慢和响应时间长的问题。
2、根据本专利
3、创建oracle mq消息队列,渠道端发起批量账务处理请求,核心系统收到并判断请求处理方式为同步或异步:
4、如请求方式为同步,则同步处理批量账务处理请求;
5、如请求方式为异步,则把接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求;
6、最后,返回批量账务处理响应。
7、在上述技术方案的基础上,本专利技术还可以作出如下改进。
8、可选的,所述把接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求包括以下步骤:
9、核心系统处理oracle mq队列中的批量账务处理请求的消息;
10、登记校验信息到批量业务登记表中,校验批量账务处理信息;
11、如校验通过,更新批量业务登记表中的登记状态为:s-处理成功;
12、如校验不通过,则更新批量业务登记表中的登记状态为:f-处理失败。
13、可选的,还包括:根据请求中的文件路径,读取并解析文件,校验文件内账务明细信息:
14、如校验通过,登记该批次文件内账务明细信息到账务明细信息登记表中,并将处理状态置为:n-未处理;
15、如校验不通过,更新批量业务登记表中的登记状态为:f-处理失败。
16、可选的,如校验通过,还包括:
17、根据请求中的文件路径,读取并解析文件,校验文件内账务明细信息,如校验通过,登记该批次文件内账务明细信息到账务明细信息登记表中,并将处理状态置为:n-未处理,如校验不通过,更新批量业务登记表中的登记状态为:f-处理失败;
18、开始轮询处理该批次在账务明细信息登记表中处理状态为:n-未处理明细。
19、可选的,所述批量业务登记表中登记批次号、渠道编号、业务编号、交易日期、登记状态、批次总笔数、批量处理状态、批量处理结果文件路径和处理成功笔数;所述账务明细信息登记表中登记批次号、序号、借方账号、借方金额、借方账户类型、借方币种、贷方账号、贷方金额、贷方账户类型、贷方币种、交易日期、交易状态、交易错误码和交易错误描述。
20、可选的,所述开始轮询处理该批次在账务明细信息登记表中处理状态为:n-未处理明细包括:
21、轮询处理查询出的每笔账务;
22、当该批次中所有账务明细处理完毕,计算处理成功的笔数;
23、根据文件目录配置表中的配置获取到结果文件生成目录,在该目录下生成该批次账务明细处理结果文件,校核生成结果文件;
24、如结果文件生成成功,更新该批次在批量业务登记表中批量处理状态为:s-处理成功,同时更新批量处理结果文件路径及成功笔数;
25、如结果文件生成失败,更新该批次在批量业务登记表中批量处理状态为:f-处理失败。
26、可选的,所述轮询处理查询出的每笔账务包括:
27、校验及处理每笔账务,如账务处理成功,更新该笔账务在账务明细信息登记表中状态为:s-处理成功,如账务处理失败,更新该笔账务在账务明细信息登记表中状态为:f-处理失败,同时更新交易错误码及交易错误描述。
28、可选的,所述返回批量账务处理响应包括:
29、渠道发起批量账务处理结果查询请求,查询该批次批量账务处理结果,核心系统返回查询批量账务处理结果的响应,交易结束。
30、可选的,所述查询该批次批量账务处理结果包括:
31、渠道端发起批量账务处理结果查询请求,核心系统收到批量账务处理结果查询请求;
32、根据批次号在批量业务登记表中查询出该批次的批量处理结果状态、批量处理结果文件路径及处理成功笔数,核心系统将查询出的信息进行组装;
33、业务处理完成,核心系统返回“成功查询批次结果!”的批量账务处理结果查询响应,交易结束。
34、根据本专利技术的第二方面,提供一种基于oracle mq的异步批量账务处理系统,包括:
35、处理请求发起模块,用于创建oracle mq消息队列,渠道端发起批量账务处理请求;
36、处理请求判断处理模块,用于核心系统收到并判断请求处理方式为同步或异步:如请求方式为同步,则同步处理批量账务处理请求;如请求方式为异步,则把接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求;最后,返回批量账务处理响应。
37、本专利技术的技术效果和优点:
38、本专利技术提供一种基于oracle mq的异步批量账务处理方法及系统,通过将接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求,不仅充分利用系统资源,提高了处理速度,减少了等待时间,避免了大量并发请求对系统造成的压力,降低了系统故障的风险。还能支持大规模业务,满足银行日益增长的业务需求,适应交易量的快速增长。
39、本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
本文档来自技高网...【技术保护点】
1.一种基于Oracle MQ的异步批量账务处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,所述把接收到的请求数据放入Oracle MQ消息队列中,由消息队列异步处理批量账务处理请求包括以下步骤:
3.根据权利要求2所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,还包括:根据请求中的文件路径,读取并解析文件,校验文件内账务明细信息:
4.根据权利要求3所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,所述批量业务登记表中登记批次号、渠道编号、业务编号、交易日期、登记状态、批次总笔数、批量处理状态、批量处理结果文件路径和处理成功笔数;所述账务明细信息登记表中登记批次号、序号、借方账号、借方金额、借方账户类型、借方币种、贷方账号、贷方金额、贷方账户类型、贷方币种、交易日期、交易状态、交易错误码和交易错误描述。
5.根据权利要求3所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,如校验通过,还包括:
6.
7.根据权利要求6所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,所述轮询处理查询出的每笔账务包括:
8.根据权利要求1所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,所述返回批量账务处理响应包括:
9.根据权利要求8所述的一种基于Oracle MQ的异步批量账务处理方法,其特征在于,所述查询该批次批量账务处理结果包括:
10.一种基于Oracle MQ的异步批量账务处理系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于oracle mq的异步批量账务处理方法,其特征在于,包括:
2.根据权利要求1所述的一种基于oracle mq的异步批量账务处理方法,其特征在于,所述把接收到的请求数据放入oracle mq消息队列中,由消息队列异步处理批量账务处理请求包括以下步骤:
3.根据权利要求2所述的一种基于oracle mq的异步批量账务处理方法,其特征在于,还包括:根据请求中的文件路径,读取并解析文件,校验文件内账务明细信息:
4.根据权利要求3所述的一种基于oracle mq的异步批量账务处理方法,其特征在于,所述批量业务登记表中登记批次号、渠道编号、业务编号、交易日期、登记状态、批次总笔数、批量处理状态、批量处理结果文件路径和处理成功笔数;所述账务明细信息登记表中登记批次号、序号、借方账号、借方金额、借方账户类型、借方币种、贷方账号、贷方金额、贷方账户类型、贷方币种、交易日期、...
【专利技术属性】
技术研发人员:彭磊,杨志文,黄融,李耀,
申请(专利权)人:武汉众邦银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。