CN114529301A - 一种凭证过账方法、装置、设备及介质 - Google Patents
一种凭证过账方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114529301A CN114529301A CN202210158331.2A CN202210158331A CN114529301A CN 114529301 A CN114529301 A CN 114529301A CN 202210158331 A CN202210158331 A CN 202210158331A CN 114529301 A CN114529301 A CN 114529301A
- Authority
- CN
- China
- Prior art keywords
- asynchronous
- data
- posting
- task
- asynchronous posting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000012790 confirmation Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种凭证过账方法、装置、设备及介质,方法包括:服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,客户端在提交异步过账请求时,将异步过账请求放入消息队列;构建异步过账请求对应的线程,通过线程执行消息队列中的异步过账任务;以及生成异步过账任务的补偿服务,将补偿服务放入消息队列中;通过补偿服务,确定异步过账任务中凭证数据之间的一致性;在异步过账任务数据一致的情况下,若异步过账任务执行成功,则更新凭证数据的异步过账状态,并将凭证数据的异步过账结果反馈至客户端。能够在保证数据一致性的前提下,异步处理可进一步进行服务化处理,易提高凭证过账效率,给用户带来了良好的体验。
Description
技术领域
本申请涉及凭证处理技术领域,尤其涉及一种凭证过账方法、装置、设备及介质。
背景技术
凭证是记录经济业务、明确经济责任,并据以登记账簿的依据。在实行以计算机替代手工记账后,账务信息的准确与完整完全依赖于凭证。在账务管理中,凭证处理也是使用最频繁的功能模块。
目前,在管理中存在期间概念,为了各期间数据的连续性、方便历史期间业务数据的查询,在进入下一期间时会对当前期间凭证数据进行过账、月结处理。
但是,凭证处理的频繁使用相应的产生大量待处理凭证,系统在进行凭证数据的归类处理时由于处理逻辑复杂需要较长的时间,凭证的批量处理问题更为严重,同时在传统同步处理中,凭证处理时系统处于忙碌状态,用户无法操作其他系统功能,对产品宜用性造成巨大影响,造成凭证过账效率低,用户体验不好的问题。
发明内容
本申请实施例提供一种凭证过账方法、装置、设备及介质,用于解决凭证过账效率低,用户体验不好的问题。
本申请实施例采用下述技术方案:
一方面,本申请实施例提供了一种凭证过账方法,该方法包括:服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
一个示例中,所述异步过账任务包括第一异步过账任务以及第二异步过账任务,所述补偿服务包括所述第一异步过账任务对应的第一补偿服务、所述第二异步过账任务对应的第二补偿服务;所述通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性,具体包括:若所述第一异步过账任务执行失败,且所述第二异步过账任务执行成功,则通过第一补偿服务对所述第二异步过账任务进行回滚处理;若所述第一异步过账任务执行成功,且所述第二异步过账任务执行失败,则通过第二补偿服务对所述第一异步过账任务进行回滚处理,以确定所述第一异步过账任务中凭证数据与所述第二异步过账任务中凭证数据之间的一致性。
一个示例中,所述所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列之前,所述方法还包括:所述客户端获取凭证数据;调用与所述凭证数据关联的校验表,并根据所述校验表对所述凭证数据进行校验,得到有效凭证数据;其中,所述校验表中包括所述凭证数据符合合法性的多个预设条件;通过所述有效凭证数据生成所述异步过账请求。
一个示例中,所述根据所述校验表对所述凭证数据进行校验,得到有效凭证数据,具体包括:按照日期,将所述凭证数据进行拆分,生成所述凭证数据对应的多组待校验数据;将所述多组待校验数据依次遍历所述校验表,过滤出不符合所述校验表中预设条件的待校验数据;通过符合所述校验表中预设条件的待校验数据,得到所述有效凭证数据。
一个示例中,所述方法还包括:若所述异步过账任务执行失败,则将所述凭证数据进行备份,得到备份凭证数据,将所述备份凭证数据放入缓存队列;向所述客户端反馈所述凭证数据的异步过账失败,向所述客户端确认是否重新执行所述凭证数据的异步过账请求;若是,则从所述缓存队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务。
一个示例中,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求,具体包括:向所述客户端确认是否重新执行所述凭证数据的异步过账请求;若否,则从所述缓存队列中,将所述备份凭证数据进行删除。
一个示例中,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求之后,所述方法还包括:若在第一预设时长内,未接收到所述客户端的确认信息,则将所述备份凭证数据放入超时监测队列;其中,所述超时监测队列的处理优先级低于所述缓存队列的优先级;若接收到所述确认信息为重新执行所述凭证数据的异步过账请求,则在所述超时监测队列中,从所述超时监测队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务;若在第二预设时长内,未接收到所述客户端的确认信息,则在所述超时监测队列中,将所述备份凭证数据进行删除;其中,所述第一预设时长小于所述第二预设时长。
另一方面,本申请实施例提供了一种凭证过账装置,应用于服务端,所述装置包括:接收模块,通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;执行模块,构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;生成模块,生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;确定模块,通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;更新模块,在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
另一方面,本申请实施例提供了一种凭证过账设备,应用于服务端,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
另一方面,本申请实施例提供了一种凭证过账非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
服务端通过消息队列接收客户端提交的凭证数据的异步过账请求,并通过生成异步过账任务的补偿服务,能够在保证业务逻辑完整性、数据一致性的前提下,提升产品宜用性,异步处理可进一步进行服务化处理,易于进行处理能力的扩展,提高凭证过账效率,给用户带来了良好的体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将结合附图来对本申请的部分实施例进行详细说明,附图中:
图1为本申请实施例提供的一种凭证过账方法的流程示意图;
图2为本申请实施例提供的一种凭证过账装置的结构示意图;
图3为本申请实施例提供的一种凭证过账设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面参照附图来对本申请的一些实施例进行详细说明。
图1为本申请实施例提供的一种凭证过账方法的流程示意图。该流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
本申请实施例涉及的分析方法的实现可以为终端设备,也可以为服务器,本申请对此不作特殊限制。为了方便理解和描述,以下实施例均以服务器为例进行详细描述。
需要说明的是,该服务器可以是单独的一台设备,可以是有多台设备组成的系统,即,分布式服务器,本申请对此不做具体限定。
图1中流程可以包括以下步骤:
S101:服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列。其中,凭证数据为财务凭证数据,比如,财务凭证数据为会计凭证数据。
也就是说,客户端根据凭证提交异步过账,生成作业,即生产者,提交时执行队列、异步处理方法等其他控制参数。
需要说明的是,消息队列是指在消息的传输过程中保存消息的容器。消息队列可以通过配置文件设置,服务启动时生成固定队列,也可以在运行时生成动态队列。
在本申请的一些实施例中,客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列之前,由于凭证数据可能具有违规数据,因此需要对凭证数据进行合法性检查,合法性检查主要是针对凭证数据进行的,结合业务要求,对凭证内容进行校验处理,比如,业务日期、所属会计期间、组织、账簿、当前用户是否有操作权限等。
具体地,客户端预先构建包括凭证数据符合合法性的多个预设条件的校验表,从而客户端获取凭证数据,调用与凭证数据关联的校验表,并根据校验表对凭证数据进行校验,得到有效凭证数据,其中,通过有效凭证数据生成异步过账请求。
其中,根据校验表对凭证数据进行校验,得到有效凭证数据,具体包括:客户端首先按照日期,将凭证数据进行拆分,生成凭证数据对应的多组待校验数据。然后,将多组待校验数据依次遍历校验表,过滤出不符合校验表中预设条件的待校验数据。最后,通过符合校验表中预设条件的待校验数据,得到有效凭证数据。
S102:构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中。
需要说明的是,线程是操作系统能够进行运算调度的最小单位,在设计补偿服务与对应异步过账任务的关系时,将补偿服务与对应异步过账任务使用同一队列,保证产生的作业在执行时间上的先后顺序。
也就是说,异步服务新建线程执行业务生成的作业,即消费者。
S103:通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性。
在本申请的一些实施例中,为保证数据一致性增加补偿服务,补偿服务的执行效果是将除本服务之外的其他更新操作做回滚处理。比如,在会计凭证过账中,凭证数据中包括科目余额表数据、现金流量表数据及辅助余额表数据,那么凭证数据的异步过账请求,将对应三个异步过账任务,三者的更新是相互独立的,任意一项没有正确执行都会影响整个模块的数据准确性,即数据一致性原则。
具体地,如果异步过账任务包括第一异步过账任务以及第二异步过账任务,补偿服务包括第一异步过账任务对应的第一补偿服务、第二异步过账任务对应的第二补偿服务。
那么,若第一异步过账任务执行失败,且第二异步过账任务执行成功,则通过第一补偿服务对第二异步过账任务进行回滚处理。
若第一异步过账任务执行成功,且第二异步过账任务执行失败,则通过第二补偿服务对第一异步过账任务进行回滚处理,以确定第一异步过账任务中凭证数据与第二异步过账任务中凭证数据之间的一致性。需要说明的是,回滚操作的执行前提是原逻辑已完成正常执行操作。
比如,有服务A、B,及补偿服务a,b,执行时,如果A执行失败B执行成功,补偿服务a就会执行,它的执行是将执行成功的B做回滚处理。其中,服务B已完成正常执行操作。
S104:在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
在本申请的一些实施例中,由于异步过账任务存在执行失败的情况,在执行失败的原因具有多样性,比如,可能是网络的因素,也可能是凭证数据具有异常,那么当网络出现异常时,则需要重新执行该凭证数据的异步过账请求,因此,在不需要更改凭证数据时,需要避免用户需要重新提交异步过账请求,浪费人力以及网络资源。
具体地,若异步过账任务执行失败,则将凭证数据进行备份,得到备份凭证数据,将备份凭证数据放入缓存队列。然后,向客户端反馈凭证数据的异步过账失败,向客户端确认是否重新执行凭证数据的异步过账请求。
若是,则从缓存队列中,提取备份凭证数据,并执行备份凭证数据的异步过账任务。
若否,则从所述缓存队列中,将所述备份凭证数据进行删除。
进一步地,在向客户端确认是否重新执行凭证数据的异步过账请求时,用户存在不能及时向服务端反馈确认信息的情况,比如,对凭证数据进行核查时,需要耗费一定的时长,凭证数据不需要核查时,用户也存在由于处理其他事情,无法及时对客户端进行确认信息。但是,为了更好的满足用户的体验度,设置超时监测队列,将超时的确认信息与及时反馈的确认信息区分开。
具体地,若在第一预设时长内,未接收到所述客户端的确认信息,则将所述备份凭证数据放入超时监测队列;其中,所述超时监测队列的处理优先级低于所述缓存队列的优先级;也就是说,如果在同一时间,既收到超时监测队列的确认信息,又收到缓存队列的确认信息,将根据缓存队列的确认信息,优先处理缓存队列中相应凭证数据的任务。
若接收到所述确认信息为重新执行所述凭证数据的异步过账请求,则在所述超时监测队列中,从所述超时监测队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务;
若在第二预设时长内,未接收到所述客户端的确认信息,则在所述超时监测队列中,将所述备份凭证数据进行删除;其中,所述第一预设时长小于所述第二预设时长。
需要说明的是,虽然本申请实施例是参照图1来对步骤S101至步骤S104依次进行介绍说明的,但这并不代表步骤S101至步骤S104必须按照严格的先后顺序执行。本申请实施例之所以按照图1中所示的顺序对步骤S101至步骤S104依次进行介绍说明,是为了方便本领域技术人员理解本申请实施例的技术方案。换句话说,在本申请实施例中,步骤S101至步骤S104之间的先后顺序可以根据实际需要进行适当调整。
通过图1的方法,本申请实施例中服务端通过消息队列接收客户端提交的凭证数据的异步过账请求,并通过生成异步过账任务的补偿服务,能够在保证业务逻辑完整性、数据一致性的前提下,提升产品宜用性,异步处理可进一步进行服务化处理,易于进行处理能力的扩展,提高凭证过账效率,给用户带来了良好的体验。
基于同样的思路,本申请的一些实施例还提供了上述方法对应的装置、设备和非易失性计算机存储介质。
图2为本申请实施例提供的一种凭证过账装置的结构示意图,应用于服务端,所述装置包括:
接收模块201,通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
执行模块202,构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;
生成模块203,生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
确定模块204,通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
更新模块205,在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
图3为本申请实施例提供的一种凭证过账设备的结构示意图,应用于服务端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
本申请实施例提供的一种凭证过账非易失性计算机存储介质,存储有计算机可执行指令,应用于服务端,所述计算机可执行指令设置为:
通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和介质与方法是一一对应的,因此,装置、设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请技术原理之内所作的任何修改、等同替换、改进等,均应落入本申请的保护范围之内。
Claims (10)
1.一种凭证过账方法,其特征在于,所述方法包括:
服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述异步过账任务包括第一异步过账任务以及第二异步过账任务,所述补偿服务包括所述第一异步过账任务对应的第一补偿服务、所述第二异步过账任务对应的第二补偿服务;
所述通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性,具体包括:
若所述第一异步过账任务执行失败,且所述第二异步过账任务执行成功,则通过第一补偿服务对所述第二异步过账任务进行回滚处理;
若所述第一异步过账任务执行成功,且所述第二异步过账任务执行失败,则通过第二补偿服务对所述第一异步过账任务进行回滚处理,以确定所述第一异步过账任务中凭证数据与所述第二异步过账任务中凭证数据之间的一致性。
3.根据权利要求1所述的方法,其特征在于,所述所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列之前,所述方法还包括:
所述客户端获取凭证数据;
调用与所述凭证数据关联的校验表,并根据所述校验表对所述凭证数据进行校验,得到有效凭证数据;其中,所述校验表中包括所述凭证数据符合合法性的多个预设条件;
通过所述有效凭证数据生成所述异步过账请求。
4.根据权利要求3所述的方法,其特征在于,所述根据所述校验表对所述凭证数据进行校验,得到有效凭证数据,具体包括:
按照日期,将所述凭证数据进行拆分,生成所述凭证数据对应的多组待校验数据;
将所述多组待校验数据依次遍历所述校验表,过滤出不符合所述校验表中预设条件的待校验数据;
通过符合所述校验表中预设条件的待校验数据,得到所述有效凭证数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述异步过账任务执行失败,则将所述凭证数据进行备份,得到备份凭证数据,将所述备份凭证数据放入缓存队列;
向所述客户端反馈所述凭证数据的异步过账失败,向所述客户端确认是否重新执行所述凭证数据的异步过账请求;
若是,则从所述缓存队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务。
6.根据权利要求5所述的方法,其特征在于,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求,具体包括:
向所述客户端确认是否重新执行所述凭证数据的异步过账请求;
若否,则从所述缓存队列中,将所述备份凭证数据进行删除。
7.根据权利要求5所述的方法,其特征在于,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求之后,所述方法还包括:
若在第一预设时长内,未接收到所述客户端的确认信息,则将所述备份凭证数据放入超时监测队列;其中,所述超时监测队列的处理优先级低于所述缓存队列的优先级;
若接收到所述确认信息为重新执行所述凭证数据的异步过账请求,则在所述超时监测队列中,从所述超时监测队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务;
若在第二预设时长内,未接收到所述客户端的确认信息,则在所述超时监测队列中,将所述备份凭证数据进行删除;其中,所述第一预设时长小于所述第二预设时长。
8.一种凭证过账装置,其特征在于,应用于服务端,所述装置包括:
接收模块,通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
执行模块,构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;
生成模块,生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
确定模块,通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
更新模块,在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
9.一种凭证过账设备,其特征在于,应用于服务端,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
10.一种凭证过账非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,应用于服务端,所述计算机可执行指令设置为:
通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158331.2A CN114529301A (zh) | 2022-02-21 | 2022-02-21 | 一种凭证过账方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210158331.2A CN114529301A (zh) | 2022-02-21 | 2022-02-21 | 一种凭证过账方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114529301A true CN114529301A (zh) | 2022-05-24 |
Family
ID=81624145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210158331.2A Pending CN114529301A (zh) | 2022-02-21 | 2022-02-21 | 一种凭证过账方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114529301A (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570883B1 (en) * | 1999-08-28 | 2003-05-27 | Hsiao-Tung Wong | Packet scheduling using dual weight single priority queue |
US20050222946A1 (en) * | 2004-04-06 | 2005-10-06 | International Business Machines Corporation | Compensation of data item processing |
CA2545428A1 (en) * | 2006-05-01 | 2007-11-01 | Telefonaktiebolaget Lm Ericsson | Method, system, and memory for scheduling and cancelling tasks |
CN101645159A (zh) * | 2009-09-07 | 2010-02-10 | 浪潮集团山东通用软件有限公司 | 一种现金流量表的快捷管理方法 |
CN104731899A (zh) * | 2015-03-19 | 2015-06-24 | 浪潮通用软件有限公司 | 一种基于异步处理的数据高并发处理方法 |
CN109474688A (zh) * | 2018-11-27 | 2019-03-15 | 北京微播视界科技有限公司 | 即时通信网络请求消息的发送方法、装置、设备和介质 |
CN109783205A (zh) * | 2019-01-03 | 2019-05-21 | 山东浪潮通软信息科技有限公司 | 一种基于事件补偿机制的数据最终一致性办法 |
CN110069353A (zh) * | 2019-03-18 | 2019-07-30 | 中科恒运股份有限公司 | 业务异步处理方法及装置 |
CN110225109A (zh) * | 2019-06-05 | 2019-09-10 | 浙江汇信科技有限公司 | 一种多队列的数据传输方法 |
CN110533503A (zh) * | 2019-08-12 | 2019-12-03 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
CN110795222A (zh) * | 2019-10-25 | 2020-02-14 | 北京浪潮数据技术有限公司 | 一种多线程任务调度方法、装置、设备及可读介质 |
CN111127181A (zh) * | 2019-12-24 | 2020-05-08 | 中国建设银行股份有限公司 | 一种凭证记账方法和装置 |
CN111143053A (zh) * | 2019-11-15 | 2020-05-12 | 杭州涂鸦信息技术有限公司 | 一种定时任务的调度方法、服务器以及存储装置 |
CN111580939A (zh) * | 2020-04-01 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种分级异步处理事务的方法及装置 |
WO2020233310A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 实时处理数据的异步补偿方法、装置、设备及存储介质 |
CN113010276A (zh) * | 2020-06-11 | 2021-06-22 | 深圳市科脉技术股份有限公司 | 一种任务调度方法、装置、终端设备及存储介质 |
CN113032176A (zh) * | 2021-03-23 | 2021-06-25 | 中国邮政储蓄银行股份有限公司 | 基于日终对账的分布式事务双补偿方法与装置 |
CN113850685A (zh) * | 2021-09-26 | 2021-12-28 | 北京京东拓先科技有限公司 | 用于实时理算的方法、装置、服务器和介质 |
-
2022
- 2022-02-21 CN CN202210158331.2A patent/CN114529301A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570883B1 (en) * | 1999-08-28 | 2003-05-27 | Hsiao-Tung Wong | Packet scheduling using dual weight single priority queue |
US20050222946A1 (en) * | 2004-04-06 | 2005-10-06 | International Business Machines Corporation | Compensation of data item processing |
CA2545428A1 (en) * | 2006-05-01 | 2007-11-01 | Telefonaktiebolaget Lm Ericsson | Method, system, and memory for scheduling and cancelling tasks |
CN101645159A (zh) * | 2009-09-07 | 2010-02-10 | 浪潮集团山东通用软件有限公司 | 一种现金流量表的快捷管理方法 |
CN104731899A (zh) * | 2015-03-19 | 2015-06-24 | 浪潮通用软件有限公司 | 一种基于异步处理的数据高并发处理方法 |
CN109474688A (zh) * | 2018-11-27 | 2019-03-15 | 北京微播视界科技有限公司 | 即时通信网络请求消息的发送方法、装置、设备和介质 |
CN109783205A (zh) * | 2019-01-03 | 2019-05-21 | 山东浪潮通软信息科技有限公司 | 一种基于事件补偿机制的数据最终一致性办法 |
CN110069353A (zh) * | 2019-03-18 | 2019-07-30 | 中科恒运股份有限公司 | 业务异步处理方法及装置 |
WO2020233310A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 实时处理数据的异步补偿方法、装置、设备及存储介质 |
CN110225109A (zh) * | 2019-06-05 | 2019-09-10 | 浙江汇信科技有限公司 | 一种多队列的数据传输方法 |
CN110533503A (zh) * | 2019-08-12 | 2019-12-03 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
CN110795222A (zh) * | 2019-10-25 | 2020-02-14 | 北京浪潮数据技术有限公司 | 一种多线程任务调度方法、装置、设备及可读介质 |
CN111143053A (zh) * | 2019-11-15 | 2020-05-12 | 杭州涂鸦信息技术有限公司 | 一种定时任务的调度方法、服务器以及存储装置 |
CN111127181A (zh) * | 2019-12-24 | 2020-05-08 | 中国建设银行股份有限公司 | 一种凭证记账方法和装置 |
CN111580939A (zh) * | 2020-04-01 | 2020-08-25 | 微梦创科网络科技(中国)有限公司 | 一种分级异步处理事务的方法及装置 |
CN113010276A (zh) * | 2020-06-11 | 2021-06-22 | 深圳市科脉技术股份有限公司 | 一种任务调度方法、装置、终端设备及存储介质 |
CN113032176A (zh) * | 2021-03-23 | 2021-06-25 | 中国邮政储蓄银行股份有限公司 | 基于日终对账的分布式事务双补偿方法与装置 |
CN113850685A (zh) * | 2021-09-26 | 2021-12-28 | 北京京东拓先科技有限公司 | 用于实时理算的方法、装置、服务器和介质 |
Non-Patent Citations (2)
Title |
---|
仝武宁;刘道华;李宏斌;: "异构分布式系统中实时可任意切分任务调度算法", 信阳师范学院学报(自然科学版), no. 03, 22 June 2018 (2018-06-22), pages 479 - 483 * |
杨银占;刘承亮;孙晶;: "铁路企业账务及报表处理子系统V6.0设计与实现", 铁路计算机应用, no. 07, 22 July 2020 (2020-07-22), pages 20 - 24 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105719182B (zh) | 一种自动对账方法以及自动对账系统 | |
CN113424171A (zh) | 区块链交易管理器 | |
CN109347669B (zh) | 一种银行系统间的批量作业的故障处理方法及装置 | |
CN111833034B (zh) | 一种批量扣款方法、支付服务器、计算机设备及存储介质 | |
CN110321339B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
KR20110000737A (ko) | 다수의 처리 명령어를 실시간으로 취급하고 처리하는 것과 관련된 개선 | |
CN110675247B (zh) | 未明交易处理方法及系统、外围系统及核心银行系统 | |
CN113157710B (zh) | 区块链数据并行写入方法、装置、计算机设备及存储介质 | |
CN112150262B (zh) | 账实核对数据处理方法及装置 | |
CN110955523A (zh) | 一种业务处理方法及装置 | |
CN106034148B (zh) | 一种快速信息交互方法、本地服务器、异地服务器及系统 | |
CN108242021B (zh) | 一种账务数据的处理系统、方法及装置 | |
CN114529301A (zh) | 一种凭证过账方法、装置、设备及介质 | |
CN111176844A (zh) | 一种金融数据实时在线批量优化方法及系统 | |
CN116049099A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN109948895A (zh) | 基于业务员分配的数据处理方法、装置及电子设备 | |
CN115114275A (zh) | 一种数据采集方法、设备及介质 | |
CN111325599A (zh) | 订单数据处理方法、装置、设备及存储介质 | |
CN116308850B (zh) | 对账方法、对账系统、对账服务器及存储介质 | |
WO2012050562A1 (en) | Transaction processing system and method | |
CN113554498B (zh) | 一种针对用户账务请求的处理方法和装置 | |
CN113570334A (zh) | 一种基于单据流程的异构系统交互方法、设备及介质 | |
CN115983787A (zh) | 参数处理方法、装置、存储介质及电子设备 | |
CN116737414A (zh) | 一种针对业务单据审核任务的异步处理方法、设备及介质 | |
CN116644058A (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 |