CN111695901A - 账务凭证处理方法、装置、设备及存储介质 - Google Patents
账务凭证处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111695901A CN111695901A CN202010552805.2A CN202010552805A CN111695901A CN 111695901 A CN111695901 A CN 111695901A CN 202010552805 A CN202010552805 A CN 202010552805A CN 111695901 A CN111695901 A CN 111695901A
- Authority
- CN
- China
- Prior art keywords
- transaction flow
- flow information
- processed
- processing
- information
- 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
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种账务凭证处理方法、装置、设备及存储介质,通过获取携带交易流水标识的待处理交易流水信息;对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁;若设置分布式锁成功,根据交易流水标识查询数据库中是否存储待处理交易流水信息和/或相关信息对应的处理状态;若未存储、或者虽然存储但处理状态不是处理成功或者处理中,根据待处理交易流水信息生成账务凭证;释放分布式锁,在数据库中更新对应的处理状态。通过对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁及处理状态查询过程,避免待交易流水信息被重复处理导致账务重复的情况,提高账务凭证处理的准确性,提高账务系统的稳定性。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种账务凭证处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,通过互联网进行贷款、还款等金融交易已成为一种趋势,极大的提高了金融交易的效率和便捷性。
现有技术中,在网贷等金融交易过程中,交易流水信息通常由交易系统直接或间接发送至账务系统,由账务系统根据交易流水信息生成标准的会计账务凭证。在将交易流水信息发送给账务系统的过程中,可能会存在同一笔交易的交易流水信息多次发送给账务系统,账务系统对同一笔交易流水信息重复生成账务凭证,导致账务系统中的账务重复,影响账务的准确性。
发明内容
本发明提供一种账务凭证处理方法、装置、设备及存储介质,用以避免账务系统中的账务重复,提高账务的准确性。
第一方面,本发明提供一种账务凭证处理方法,所述方法包括:
获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识;
对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁;
若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;
若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证;
释放所述分布式锁,并在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
第二方面,本发明提供一种账务凭证处理装置,包括:
获取模块,用于获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识;
加锁模块,用于对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁;
状态管理模块,用于若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;
处理模块,用于若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证;控制所述加锁模块释放所述分布式锁,并通过所述状态管理模块在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
第三方面,本发明提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
本发明提供的账务凭证处理方法、装置、设备及存储介质,通过获取待处理交易流水信息,待处理交易流水信息携带交易流水标识;对于待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁;若设置分布式锁成功,则根据交易流水标识查询数据库中是否存储待处理交易流水信息和/或相关信息对应的处理状态,其中数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;若数据库中未存储待处理交易流水信息和/或相关信息对应的处理状态,或者数据库中存储有待处理交易流水信息和/或相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据待处理交易流水信息生成账务凭证;释放分布式锁,并在数据库中更新待处理交易流水信息和/或相关信息对应的处理状态。本发明实施例中通过对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁、以及处理状态的查询过程,可有效的避免待交易流水信息被重复处理、导致账务重复的情况,提高了账务凭证处理过程的准确性,提高账务系统的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明一实施例提供的账务凭证处理方法的通信系统的示意图;
图2为本发明一实施例提供的账务凭证处理方法的流程图;
图3为本发明另一实施例提供的账务凭证处理方法的流程图;
图4为本发明一实施例提供的账务凭证处理装置的结构图;
图5为本发明一实施例提供的电子设备的结构图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
现有技术中,在网贷等金融交易过程中,交易流水信息通常由交易系统直接或间接发送至账务系统,由账务系统根据交易流水信息生成标准的会计账务凭证。在将交易流水信息发送给账务系统的过程中,可能会存在同一笔交易的交易流水信息多次发送给账务系统,账务系统对同一笔交易流水信息重复生成账务凭证,导致账务系统中的账务重复,影响账务的准确性。
针对上述技术问题,本发明中考虑对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁,在设置分布式锁设置成功后再从预先记录历史流水信息和/或其相关信息对应的处理状态的数据库中查询是否存储有待处理交易流水信息和/或相关信息对应的处理状态,如果数据库中未存储待处理交易流水信息和/或相关信息对应的处理状态,或者数据库中存储有待处理交易流水信息和/或相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据待处理交易流水信息生成账务凭证,通过设置分布式锁、以及处理状态的查询过程,可有效的避免待交易流水信息被重复处理、导致账务重复的情况,提高了账务凭证处理过程的准确性,提高账务系统的稳定性。
本发明提供的方法可适用于如图1所示的通信系统,该通信系统包括交易系统服务器11和账务系统服务器12,交易系统服务器11可记录交易流水信息,并作为待处理交易流水信息发送给账务系统服务器12,以由账务系统服务器12进行账务凭证处理。其中交易系统服务器11可直接将待处理交易流水信息发送给账务系统服务器12,当然,交易系统服务器11也可间接将待处理交易流水信息发送给账务系统服务器12,例如采用消息服务器13作为中间件,交易系统服务器11将待处理交易流水信息发送给消息服务器13,再由消息服务器13发送给账务系统服务器12。消息服务器13可采用消息队列实现,例如快速消息队列(Fast Message Queue,FMQ)。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的账务凭证处理方法流程图。本实施例提供了一种账务凭证处理方法,执行主体为账务系统服务器,如图2所示,该账务凭证处理方法具体步骤如下:
S201、获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识。
在本实施例中,当发生网贷等金融交易时,交易系统服务器可记录交易流水信息,并作为待处理交易流水信息发送给账务系统服务器,以进行账务凭证处理,从而生成账务凭证。其中待处理交易流水信息携带有交易流水标识,所述交易流水标识可以为交易流水号,用于唯一标识交易流水信息。
可选的,账务系统服务器在获取待处理交易流水信息时,可直接接收交易系统服务器发送的所述待处理交易流水信息;或者也可间接获取待处理交易流水信息,如采用消息服务器(例如可采用消息队列)作为中间件,交易系统服务器将待处理交易流水信息发送给消息服务器,再由消息服务器发送给账务系统服务器;当然也可采用其他途径获取待处理交易流水信息,此处不再赘述。本实施例中将账务系统服务器和交易系统服务器解耦合,保证了系统的稳定性。
S202、对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁。
在本实施例中,待处理交易流水信息的相关信息可以是与待处理交易流水信息相关协议信息,对待处理交易流水信息进行处理时会使得待处理交易流水信息的相关信息随之发生变更,例如待处理交易流水信息为还款交易信息,则待处理交易流水信息的相关信息可以为对应的借据信息,发生还款交易后借据信息会发生变更。
为了防止同一笔待处理交易流水信息或待处理交易流水信息的相关信息在同一时刻内由不同的进程重复处理,因此对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁,其中分布式锁是控制分布式系统之间同步访问共享资源的一种方式,避免多个进程同时修改同一个共享资源。
S203、若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态;
其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态。
在本实施例中,若待处理交易流水信息和/或待处理交易流水信息的相关信息加锁成功,说明当前可能没有其他进程正在处理待处理交易流水信息或待处理交易流水信息的相关信息,但是待处理交易流水信息或待处理交易流水信息的相关信息仍可能存在正在被处理或已处理成功的情况,例如,以还款交易流水信息和对应的借据信息为例,如果只对借据信息加锁,则该笔还款交易流水信息可能存在正被其他进程处理的情况、或者该笔还款交易流水信息已被处理成功的情况;如果只对该笔还款交易流水加锁,可能存在其他进程正在处理借据信息,例如针对该笔借据信息还存在其他的至少一笔还款交易流水信息当前正在被处理而占用借据信息,因此,在对待处理交易流水信息和/或待处理交易流水信息的相关信息加锁成功后,还需要查询待处理交易流水信息和/或待处理交易流水信息的相关信息的处理状态,以保证处理状态不是处理成功或处理中,进而才进行后续的账务凭证处理过程。
本实施例中,可以在数据库中对账务系统服务器获取到的每一笔交易流水信息和交易流水信息的相关信息实时记录处理状态,例如未处理、处理中、处理成功、处理失败等;进而在对某一笔待处理交易流水信息和/或待处理交易流水信息的相关信息加锁成功后,可根据交易流水标识查询数据库中是否存储该笔待处理交易流水信息和/或相关信息对应的处理状态,若数据库中未存储该笔待处理交易流水信息和/或待处理交易流水信息的相关信息对应的处理状态,或者数据库中虽然存储了该笔待处理交易流水信息和/或待处理交易流水信息的相关信息对应的处理状态,但处理状态不是处理成功或者处理中,则可进行后续的账务凭证处理过程。
当然,可选的,若数据库中存储有待处理交易流水信息对应的处理状态、且处理状态为处理成功或者处理中,则停止根据待处理交易流水信息生成账务凭证,并返回提示消息,以提示待处理交易流水信息重复。也即,如果针对数据库中存储有待处理交易流水信息对应的处理状态、且处理状态为处理成功或者处理中,说明待处理交易流水信息已进行账务凭证处理,则不需要再次重复进行账务凭证处理。
若数据库中存储有待处理交易流水信息的相关信息对应的处理状态且处理状态为处理中,则说明待处理交易流水信息的相关信息正在被处理,此时可判断其当前处理的交易流水信息是否与所述待处理交易流水信息相同,如果相同则可同样停止根据待处理交易流水信息生成账务凭证,并返回提示消息,以提示待处理交易流水信息重复,如果不相同则可等待当前处理的交易流水信息处理完成后,再对待处理交易流水信息进行账务凭证处理。
S204、若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证。
在本实施例中,若对待处理交易流水信息和/或待处理交易流水信息的相关信息加锁成功,并且数据库中未存储待处理交易流水信息和/或待处理交易流水信息的相关信息的处理状态、或者数据库中虽然存储了待处理交易流水信息和/或待处理交易流水信息的相关信息对应的处理状态,但处理状态不是处理成功或者处理中,可继续进行账务凭证处理过程,根据待处理交易流水信息生成账务凭证,例如针对还款交易流水信息生成还款账务凭证。
具体的,可根据所述待处理交易流水信息的业务场景,调用业务场景对应的服务模块,由所述服务模块根据预设凭证模板以及预设配置规则对所述待处理交易流水信息进行处理,生成账务凭证。
在本实施例中,针对不同的业务场景,调用对应的服务模块来生成账务凭证,例如对于借款交易流水信息,调用放款成功账务处理服务模块,生成放款的账务凭证;对于还款交易流水信息,调用还款成功账务处理服务模块,自动判断该笔还款交易是提前还款、约定还款日还款、逾期还款、逾期90日以上还款等,分别生成提前还款账务凭证、约定还款日还款账务凭证、逾期还款账务凭证、逾期90日以上还款账务凭证等。
本实施例中,各业务场景对应的服务模块预先配置有预设凭证模板和对应的预设配置规则,根据预设配置规则填充预设凭证模板中每个分录对应的金额即可,例如本金、利息、罚息、费用等金额,从而生成账务凭证。
可选的,在根据待处理交易流水信息生成账务凭证过程中,在数据库中将待处理交易流水信息和/或待处理交易流水信息的相关信息对应的处理状态记录为处理中,从而可避免待处理交易流水信息被重复处理。
S205、释放所述分布式锁,并在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
在本实施例中,在生成账务凭证后,可对待处理交易流水信息和/或待处理交易流水信息的相关信息设置的分布式锁进行释放,并且在数据库中更新待处理交易流水信息和/或待处理交易流水信息的相关信息的处理状态,具体的,账务凭证生成成功,则处理状态更新为处理成功,若账务凭证生成失败,则处理状态更新为处理失败。需要说明的是,若数据库中未存储待处理交易流水信息和/或相关信息对应的处理状态,则在数据库中新建待处理交易流水信息和/或相关信息对应的处理状态,并更新处理状态。
本实施例提供的账务凭证处理方法,通过获取待处理交易流水信息,待处理交易流水信息携带交易流水标识;对于待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁;若设置分布式锁成功,则根据交易流水标识查询数据库中是否存储待处理交易流水信息和/或相关信息对应的处理状态,其中数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;若数据库中未存储待处理交易流水信息和/或相关信息对应的处理状态,或者数据库中存储有待处理交易流水信息和/或相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据待处理交易流水信息生成账务凭证;释放分布式锁,并在数据库中更新待处理交易流水信息和/或相关信息对应的处理状态。本实施例中通过对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁、以及处理状态的查询过程,可有效的避免待交易流水信息被重复处理、导致账务重复的情况,提高了账务凭证处理过程的准确性,提高账务系统的稳定性。
在上述任一实施例的基础上,在S202对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁时,还可包括:
若对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁失败,确定导致设置分布式锁失败的原因;
若导致设置分布式锁失败的原因为所述待处理交易流水信息与当前已设置分布式锁的处理中的交易流水信息重复,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复;或者
若导致设置分布式锁失败的原因为网络异常,则在所述数据库中将所述待处理交易流水信息对应的处理状态记录为处理失败;或者
若导致设置分布式锁失败的原因为,针对于同一相关信息的至少两个不同的交易流水信息中仅一个交易流水信息设置分布式锁成功、其余交易流水信息设置分布式锁失败,则在所述数据库中将所述其余交易流水信息对应的处理状态记录为处理失败。
在本实施例中,在待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁时,可能存在加锁失败的情况,例如在第一种情况中,由于待处理交易流水信息与当前已设置分布式锁的处理中的交易流水信息重复导致加锁失败;或者在第二种情况中,由于网络异常,也会导致加锁失败;或者在第三种情况中,针对于同一待处理交易流水信息的相关信息存在其他的交易流水信息正在被处理时、且已经对待处理交易流水信息的相关信息加锁,也即针对于同一待处理交易流水信息的相关信息的至少两个不同的交易流水信息中仅一个交易流水信息设置分布式锁成功、其余交易流水信息设置分布式锁失败,举例来说,对于同一借据信息的多笔还款交易流水信息,需要依次处理,同一时刻内仅能处理一个还款交易流水信息,此时借据信息加锁成功,而其他的还款交易流水信息需要等待,无法对借据信息进行加锁。
针对上述不同的加锁失败的原因,可进一步采用不同的方式进行应对。
对于上述的第一种加锁失败的情况,则可确定待处理交易流水信息重复,因此可停止后续的根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复;对于上述的第二种加锁失败的情况,在数据库中将待处理交易流水信息对应的处理状态记录为处理失败,以便后续进行补偿处理;对于上述的第三种加锁失败的情况,仅当前正在处理的交易流水信息能够正常处理,其余待处理交易流水信息的处理状态在数据库中记录为处理失败,以便后续进行不处理。
进一步的,在上述实施例的基础上,如图3所示,所述账务凭证处理方法还包括:
S301、获取在所述数据库中处理失败状态对应的交易流水信息;
S302、根据所述处理失败状态对应的交易流水信息重新生成账务凭证。
在本实施例中,针对处理失败状态对应的交易流水信息,账务系统服务器可进行补偿处理,以避免遗漏会计账务的情况发生,不需要人工进行补偿操作。具体的,账务系统服务器可从数据库中查询各交易流水信息的处理状态,找出处理状态为处理失败的交易流水信息,对处理失败状态对应的交易流水信息重新进行处理生成账务凭证,重新处理过程也是同样根据业务场景,调用业务场景对应的服务模块,由所述服务模块根据预设凭证模板以及预设配置规则对交易流水信息进行处理生成账务凭证。此外,在补偿处理的过程中仍进行上述实施例中的加锁过程和处理状态查询的过程,此处不再赘述。
上述实施例提供的账务凭证处理方法,通过对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁、以及处理状态的查询过程,可有效的避免待交易流水信息被重复处理、导致账务重复的情况,提高了账务凭证处理过程的准确性,提高账务系统的稳定性;此外,通过补偿处理对处理失败的交易流水信息重新进行账务凭证处理,避免遗漏会计账务的情况发生,不需要人工进行补偿操作。
图4为本发明实施例提供的账务凭证处理装置的结构图。本实施例提供的账务凭证处理装置可以执行账务凭证处理方法实施例提供的处理流程,如图4所示,所述账务凭证处理装置400包括获取模块401、加锁模块402、状态管理模块403以及处理模块404。
获取模块401,用于获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识;
加锁模块402,用于对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁;
状态管理模块403,用于若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;
处理模块404,用于若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证;控制所述加锁模块402释放所述分布式锁,并通过所述状态管理模块403在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
在上述实施例的基础上,所述处理模块404还用于:
若所述数据库中存储有所述待处理交易流水信息对应的处理状态、且处理状态为处理成功或者处理中,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复。
在上述任一实施例的基础上,所述处理模块404还用于:
若所述加锁模块402设置分布式锁失败,确定导致设置分布式锁失败的原因;
若导致设置分布式锁失败的原因为所述待处理交易流水信息与当前已设置分布式锁的处理中的交易流水信息重复,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复;或者
若导致设置分布式锁失败的原因为网络异常,则在所述数据库中将所述待处理交易流水信息对应的处理状态记录为处理失败;或者
若导致设置分布式锁失败的原因为,针对于同一相关信息的至少两个不同的交易流水信息中仅一个交易流水信息设置分布式锁成功、其余交易流水信息设置分布式锁失败,则在所述数据库中将所述其余交易流水信息对应的处理状态记录为处理失败。
在上述任一实施例的基础上,所述状态管理模块403还用于,获取在所述数据库中处理失败状态对应的交易流水信息;
所述处理模块404还用于,根据所述处理失败状态对应的交易流水信息重新生成账务凭证。
在上述任一实施例的基础上,所述处理模块404在根据所述待处理交易流水信息生成账务凭证时,用于:
根据所述待处理交易流水信息的业务场景,调用业务场景对应的服务模块,由所述服务模块根据预设凭证模板以及预设配置规则对所述待处理交易流水信息进行处理,生成账务凭证。
在上述任一实施例的基础上,所述状态管理模块403还用于:
在根据所述待处理交易流水信息生成账务凭证过程中,在所述数据库中将所述待处理交易流水信息和/或所述相关信息对应的处理状态记录为处理中。
在上述任一实施例的基础上,所述获取模块401在获取待处理交易流水信息时,用于:
接收交易系统服务器发送的所述待处理交易流水信息;或者
接收消息服务器发送的所述待处理交易流水信息,其中所述待处理交易流水信息由所述交易系统服务器发送给所述消息服务器。
本发明实施例提供的账务凭证处理装置可以具体用于执行上述图2-3所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供的账务凭证处理装置,通过获取待处理交易流水信息,待处理交易流水信息携带交易流水标识;对于待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁;若设置分布式锁成功,则根据交易流水标识查询数据库中是否存储待处理交易流水信息和/或相关信息对应的处理状态,其中数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;若数据库中未存储待处理交易流水信息和/或相关信息对应的处理状态,或者数据库中存储有待处理交易流水信息和/或相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据待处理交易流水信息生成账务凭证;释放分布式锁,并在数据库中更新待处理交易流水信息和/或相关信息对应的处理状态。本实施例中通过对待处理交易流水信息和/或待处理交易流水信息的相关信息设置分布式锁、以及处理状态的查询过程,可有效的避免待交易流水信息被重复处理、导致账务重复的情况,提高了账务凭证处理过程的准确性,提高账务系统的稳定性。
图5为本发明实施例提供的电子设备的结构示意图。本发明实施例提供的电子设备为上述实施例中的账务系统服务器,可以执行账务凭证处理方法实施例提供的处理流程。如图5所示,电子设备50包括存储器51、处理器52、计算机程序和通讯接口53;其中,计算机程序存储在存储器51中,并被配置为由处理器52执行以上实施例中所述的账务凭证处理方法。
图5所示实施例的电子设备可用于执行上述账务凭证处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的账务凭证处理方法。
本申请还提供了一种计算机程序,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如上述实施例所述的账务凭证处理方法。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (15)
1.一种账务凭证处理方法,其特征在于,包括:
获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识;
对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁;
若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;
若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证;
释放所述分布式锁,并在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据库中存储有所述待处理交易流水信息对应的处理状态、且处理状态为处理成功或者处理中,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁失败,确定导致设置分布式锁失败的原因;
若导致设置分布式锁失败的原因为所述待处理交易流水信息与当前已设置分布式锁的处理中的交易流水信息重复,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复;或者
若导致设置分布式锁失败的原因为网络异常,则在所述数据库中将所述待处理交易流水信息对应的处理状态记录为处理失败;或者
若导致设置分布式锁失败的原因为,针对于同一相关信息的至少两个不同的交易流水信息中仅一个交易流水信息设置分布式锁成功、其余交易流水信息设置分布式锁失败,则在所述数据库中将所述其余交易流水信息对应的处理状态记录为处理失败。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取在所述数据库中处理失败状态对应的交易流水信息;
根据所述处理失败状态对应的交易流水信息重新生成账务凭证。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述待处理交易流水信息生成账务凭证,包括:
根据所述待处理交易流水信息的业务场景,调用业务场景对应的服务模块,由所述服务模块根据预设凭证模板以及预设配置规则对所述待处理交易流水信息进行处理,生成账务凭证。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
在根据所述待处理交易流水信息生成账务凭证过程中,在所述数据库中将所述待处理交易流水信息和/或所述相关信息对应的处理状态记录为处理中。
7.根据权利要求1所述的方法,其特征在于,所述获取待处理交易流水信息,包括:
接收交易系统服务器发送的所述待处理交易流水信息;或者
接收消息服务器发送的所述待处理交易流水信息,其中所述待处理交易流水信息由所述交易系统服务器发送给所述消息服务器。
8.一种账务凭证处理装置,其特征在于,包括:
获取模块,用于获取待处理交易流水信息,所述待处理交易流水信息携带交易流水标识;
加锁模块,用于对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁;
状态管理模块,用于若设置分布式锁成功,则根据所述交易流水标识查询数据库中是否存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,其中所述数据库中存储有各个历史流水信息和/或其相关信息对应的处理状态;
处理模块,用于若所述数据库中未存储所述待处理交易流水信息和/或所述相关信息对应的处理状态,或者所述数据库中存储有所述待处理交易流水信息和/或所述相关信息对应的处理状态、且处理状态不是处理成功或者处理中,则根据所述待处理交易流水信息生成账务凭证;控制所述加锁模块释放所述分布式锁,并通过所述状态管理模块在所述数据库中更新所述待处理交易流水信息和/或所述相关信息对应的处理状态。
9.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
若所述数据库中存储有所述待处理交易流水信息对应的处理状态、且处理状态为处理成功或者处理中,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复。
10.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
若对于所述待处理交易流水信息和/或所述待处理交易流水信息的相关信息设置分布式锁失败,确定导致设置分布式锁失败的原因;
若导致设置分布式锁失败的原因为所述待处理交易流水信息与当前已设置分布式锁的处理中的交易流水信息重复,则停止根据所述待处理交易流水信息生成账务凭证,并返回提示消息,以提示所述待处理交易流水信息重复;或者
若导致设置分布式锁失败的原因为网络异常,则在所述数据库中将所述待处理交易流水信息对应的处理状态记录为处理失败;或者
若导致设置分布式锁失败的原因为,针对于同一相关信息的至少两个不同的交易流水信息中仅一个交易流水信息设置分布式锁成功、其余交易流水信息设置分布式锁失败,则在所述数据库中将所述其余交易流水信息对应的处理状态记录为处理失败。
11.根据权利要求10所述的装置,其特征在于,
所述状态管理模块还用于,获取在所述数据库中处理失败状态对应的交易流水信息;
所述处理模块还用于,根据所述处理失败状态对应的交易流水信息重新生成账务凭证。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述处理模块在根据所述待处理交易流水信息生成账务凭证时,用于:
根据所述待处理交易流水信息的业务场景,调用业务场景对应的服务模块,由所述服务模块根据预设凭证模板以及预设配置规则对所述待处理交易流水信息进行处理,生成账务凭证。
13.根据权利要求8-11任一项所述的装置,其特征在于,所述状态管理模块还用于:
在根据所述待处理交易流水信息生成账务凭证过程中,在所述数据库中将所述待处理交易流水信息和/或所述相关信息对应的处理状态记录为处理中。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现如权利要求1-7中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552805.2A CN111695901B (zh) | 2020-06-17 | 2020-06-17 | 账务凭证处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010552805.2A CN111695901B (zh) | 2020-06-17 | 2020-06-17 | 账务凭证处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695901A true CN111695901A (zh) | 2020-09-22 |
CN111695901B CN111695901B (zh) | 2023-08-04 |
Family
ID=72481522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010552805.2A Active CN111695901B (zh) | 2020-06-17 | 2020-06-17 | 账务凭证处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111695901B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891262A (zh) * | 2021-10-29 | 2022-01-04 | 北京声智科技有限公司 | 信息发送方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555342B1 (en) * | 2009-12-23 | 2013-10-08 | Emc Corporation | Providing secure access to a set of credentials within a data security mechanism of a data storage system |
CN106445644A (zh) * | 2016-08-30 | 2017-02-22 | 中国民生银行股份有限公司 | 基于改进的一阶段提交的分布式事务的处理方法和装置 |
CN107918910A (zh) * | 2017-09-28 | 2018-04-17 | 平安普惠企业管理有限公司 | 财务凭证生成方法、装置、设备及计算机可读存储介质 |
CN108241603A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 一种财务报表生成方法及系统 |
CN108765106A (zh) * | 2018-04-04 | 2018-11-06 | 首汽租赁有限责任公司 | 一种业财一体化的财务凭证生成方法 |
US20190220324A1 (en) * | 2017-12-26 | 2019-07-18 | Akamai Technologies, Inc. | High performance distributed system of record with distributed random oracle |
CN110321541A (zh) * | 2019-06-28 | 2019-10-11 | 北京天眼查科技有限公司 | 分布式文档生成方法、装置、计算机设备和可读存储介质 |
CN111190913A (zh) * | 2019-12-30 | 2020-05-22 | 联动优势(北京)数字科技有限公司 | 一种分布式锁实现方法及系统 |
-
2020
- 2020-06-17 CN CN202010552805.2A patent/CN111695901B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555342B1 (en) * | 2009-12-23 | 2013-10-08 | Emc Corporation | Providing secure access to a set of credentials within a data security mechanism of a data storage system |
CN106445644A (zh) * | 2016-08-30 | 2017-02-22 | 中国民生银行股份有限公司 | 基于改进的一阶段提交的分布式事务的处理方法和装置 |
CN108241603A (zh) * | 2016-12-26 | 2018-07-03 | 航天信息股份有限公司 | 一种财务报表生成方法及系统 |
CN107918910A (zh) * | 2017-09-28 | 2018-04-17 | 平安普惠企业管理有限公司 | 财务凭证生成方法、装置、设备及计算机可读存储介质 |
US20190220324A1 (en) * | 2017-12-26 | 2019-07-18 | Akamai Technologies, Inc. | High performance distributed system of record with distributed random oracle |
CN108765106A (zh) * | 2018-04-04 | 2018-11-06 | 首汽租赁有限责任公司 | 一种业财一体化的财务凭证生成方法 |
CN110321541A (zh) * | 2019-06-28 | 2019-10-11 | 北京天眼查科技有限公司 | 分布式文档生成方法、装置、计算机设备和可读存储介质 |
CN111190913A (zh) * | 2019-12-30 | 2020-05-22 | 联动优势(北京)数字科技有限公司 | 一种分布式锁实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
禹振;苏小红;邱景;: "使用锁分配图动态检测混合死锁" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891262A (zh) * | 2021-10-29 | 2022-01-04 | 北京声智科技有限公司 | 信息发送方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111695901B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491765B (zh) | 对跨域业务请求的处理方法及装置 | |
CN110888893A (zh) | 一种基于微服务电商系统的订单处理方法 | |
CN111199379A (zh) | 工作流引擎的审批方法、审批设备及存储介质 | |
CN110910230A (zh) | 一种记账方法、记账系统及存储介质 | |
CN111127181A (zh) | 一种凭证记账方法和装置 | |
CN112053149A (zh) | 一种防止重复支付的方法、装置、电子设备和可读存储介质 | |
CN113112344B (zh) | 业务处理方法、设备、存储介质及计算机程序产品 | |
CN111695901A (zh) | 账务凭证处理方法、装置、设备及存储介质 | |
CN106612263B (zh) | 一种用于处理应用访问请求的方法与设备 | |
CN116384993B (zh) | 基于云支付中心实现订单支付状态高一致性的方法与系统 | |
CN111143041B (zh) | 一种数据一致性方法、分布式协调器及中央协调器 | |
CN113095935A (zh) | 交易订单处理方法、装置、计算机设备和存储介质 | |
CN109245941B (zh) | 一种服务补偿方法及装置 | |
CN115098528B (zh) | 业务处理方法、装置、电子设备及计算机可读存储介质 | |
CN111026465A (zh) | 程序处理方法、装置、电子设备及存储介质 | |
CN116166390A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN111722914B (zh) | 一种定时任务分发方法、系统、计算机设备及存储介质 | |
CN111367694B (zh) | 事件处理方法、服务器及计算机存储介质 | |
CN112181380A (zh) | 一种信贷产品多产品并行开发系统及其授信、放款、还款方法 | |
CN114331445A (zh) | 用于海量用户接入的api接口、方法、存储介质及电子设备 | |
CN110457116B (zh) | 处理事务请求的方法及装置 | |
CN112965986A (zh) | 业务一致性处理方法、装置、设备及存储介质 | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 | |
CN110659980A (zh) | 交易信息处理方法、系统及外围系统 | |
CN115526722B (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 |