一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种凭证过账方法、装置、设备及介质与流程

2022-05-26 18:51:02 来源:中国专利 TAG:


1.本技术涉及凭证处理技术领域,尤其涉及一种凭证过账方法、装置、设备及介质。


背景技术:

2.凭证是记录经济业务、明确经济责任,并据以登记账簿的依据。在实行以计算机替代手工记账后,账务信息的准确与完整完全依赖于凭证。在账务管理中,凭证处理也是使用最频繁的功能模块。
3.目前,在管理中存在期间概念,为了各期间数据的连续性、方便历史期间业务数据的查询,在进入下一期间时会对当前期间凭证数据进行过账、月结处理。
4.但是,凭证处理的频繁使用相应的产生大量待处理凭证,系统在进行凭证数据的归类处理时由于处理逻辑复杂需要较长的时间,凭证的批量处理问题更为严重,同时在传统同步处理中,凭证处理时系统处于忙碌状态,用户无法操作其他系统功能,对产品宜用性造成巨大影响,造成凭证过账效率低,用户体验不好的问题。


技术实现要素:

5.本技术实施例提供一种凭证过账方法、装置、设备及介质,用于解决凭证过账效率低,用户体验不好的问题。
6.本技术实施例采用下述技术方案:
7.一方面,本技术实施例提供了一种凭证过账方法,该方法包括:服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
8.一个示例中,所述异步过账任务包括第一异步过账任务以及第二异步过账任务,所述补偿服务包括所述第一异步过账任务对应的第一补偿服务、所述第二异步过账任务对应的第二补偿服务;所述通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性,具体包括:若所述第一异步过账任务执行失败,且所述第二异步过账任务执行成功,则通过第一补偿服务对所述第二异步过账任务进行回滚处理;若所述第一异步过账任务执行成功,且所述第二异步过账任务执行失败,则通过第二补偿服务对所述第一异步过账任务进行回滚处理,以确定所述第一异步过账任务中凭证数据与所述第二异步过账任务中凭证数据之间的一致性。
9.一个示例中,所述所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列之前,所述方法还包括:所述客户端获取凭证数据;调用与所述凭证数据
关联的校验表,并根据所述校验表对所述凭证数据进行校验,得到有效凭证数据;其中,所述校验表中包括所述凭证数据符合合法性的多个预设条件;通过所述有效凭证数据生成所述异步过账请求。
10.一个示例中,所述根据所述校验表对所述凭证数据进行校验,得到有效凭证数据,具体包括:按照日期,将所述凭证数据进行拆分,生成所述凭证数据对应的多组待校验数据;将所述多组待校验数据依次遍历所述校验表,过滤出不符合所述校验表中预设条件的待校验数据;通过符合所述校验表中预设条件的待校验数据,得到所述有效凭证数据。
11.一个示例中,所述方法还包括:若所述异步过账任务执行失败,则将所述凭证数据进行备份,得到备份凭证数据,将所述备份凭证数据放入缓存队列;向所述客户端反馈所述凭证数据的异步过账失败,向所述客户端确认是否重新执行所述凭证数据的异步过账请求;若是,则从所述缓存队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务。
12.一个示例中,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求,具体包括:向所述客户端确认是否重新执行所述凭证数据的异步过账请求;若否,则从所述缓存队列中,将所述备份凭证数据进行删除。
13.一个示例中,所述向所述客户端确认是否重新执行所述凭证数据的异步过账请求之后,所述方法还包括:若在第一预设时长内,未接收到所述客户端的确认信息,则将所述备份凭证数据放入超时监测队列;其中,所述超时监测队列的处理优先级低于所述缓存队列的优先级;若接收到所述确认信息为重新执行所述凭证数据的异步过账请求,则在所述超时监测队列中,从所述超时监测队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务;若在第二预设时长内,未接收到所述客户端的确认信息,则在所述超时监测队列中,将所述备份凭证数据进行删除;其中,所述第一预设时长小于所述第二预设时长。
14.另一方面,本技术实施例提供了一种凭证过账装置,应用于服务端,所述装置包括:接收模块,通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;执行模块,构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;生成模块,生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;确定模块,通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;更新模块,在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
15.另一方面,本技术实施例提供了一种凭证过账设备,应用于服务端,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情
况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
16.另一方面,本技术实施例提供了一种凭证过账非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
17.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
18.服务端通过消息队列接收客户端提交的凭证数据的异步过账请求,并通过生成异步过账任务的补偿服务,能够在保证业务逻辑完整性、数据一致性的前提下,提升产品宜用性,异步处理可进一步进行服务化处理,易于进行处理能力的扩展,提高凭证过账效率,给用户带来了良好的体验。
附图说明
19.为了更清楚地说明本技术的技术方案,下面将结合附图来对本技术的部分实施例进行详细说明,附图中:
20.图1为本技术实施例提供的一种凭证过账方法的流程示意图;
21.图2为本技术实施例提供的一种凭证过账装置的结构示意图;
22.图3为本技术实施例提供的一种凭证过账设备的结构示意图。
具体实施方式
23.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.下面参照附图来对本技术的一些实施例进行详细说明。
25.图1为本技术实施例提供的一种凭证过账方法的流程示意图。该流程中的某些输入参数或者中间结果允许人工干预调节,以帮助提高准确性。
26.本技术实施例涉及的分析方法的实现可以为终端设备,也可以为服务器,本技术对此不作特殊限制。为了方便理解和描述,以下实施例均以服务器为例进行详细描述。
27.需要说明的是,该服务器可以是单独的一台设备,可以是有多台设备组成的系统,即,分布式服务器,本技术对此不做具体限定。
28.图1中流程可以包括以下步骤:
29.s101:服务端通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列。其中,凭证数据为财务凭证数据,比如,财务凭证数据为会计凭证数据。
30.也就是说,客户端根据凭证提交异步过账,生成作业,即生产者,提交时执行队列、异步处理方法等其他控制参数。
31.需要说明的是,消息队列是指在消息的传输过程中保存消息的容器。消息队列可以通过配置文件设置,服务启动时生成固定队列,也可以在运行时生成动态队列。
32.在本技术的一些实施例中,客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列之前,由于凭证数据可能具有违规数据,因此需要对凭证数据进行合法性检查,合法性检查主要是针对凭证数据进行的,结合业务要求,对凭证内容进行校验处理,比如,业务日期、所属会计期间、组织、账簿、当前用户是否有操作权限等。
33.具体地,客户端预先构建包括凭证数据符合合法性的多个预设条件的校验表,从而客户端获取凭证数据,调用与凭证数据关联的校验表,并根据校验表对凭证数据进行校验,得到有效凭证数据,其中,通过有效凭证数据生成异步过账请求。
34.其中,根据校验表对凭证数据进行校验,得到有效凭证数据,具体包括:客户端首先按照日期,将凭证数据进行拆分,生成凭证数据对应的多组待校验数据。然后,将多组待校验数据依次遍历校验表,过滤出不符合校验表中预设条件的待校验数据。最后,通过符合校验表中预设条件的待校验数据,得到有效凭证数据。
35.s102:构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中。
36.需要说明的是,线程是操作系统能够进行运算调度的最小单位,在设计补偿服务与对应异步过账任务的关系时,将补偿服务与对应异步过账任务使用同一队列,保证产生的作业在执行时间上的先后顺序。
37.也就是说,异步服务新建线程执行业务生成的作业,即消费者。
38.s103:通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性。
39.在本技术的一些实施例中,为保证数据一致性增加补偿服务,补偿服务的执行效果是将除本服务之外的其他更新操作做回滚处理。比如,在会计凭证过账中,凭证数据中包括科目余额表数据、现金流量表数据及辅助余额表数据,那么凭证数据的异步过账请求,将对应三个异步过账任务,三者的更新是相互独立的,任意一项没有正确执行都会影响整个模块的数据准确性,即数据一致性原则。
40.具体地,如果异步过账任务包括第一异步过账任务以及第二异步过账任务,补偿服务包括第一异步过账任务对应的第一补偿服务、第二异步过账任务对应的第二补偿服务。
41.那么,若第一异步过账任务执行失败,且第二异步过账任务执行成功,则通过第一补偿服务对第二异步过账任务进行回滚处理。
42.若第一异步过账任务执行成功,且第二异步过账任务执行失败,则通过第二补偿服务对第一异步过账任务进行回滚处理,以确定第一异步过账任务中凭证数据与第二异步过账任务中凭证数据之间的一致性。需要说明的是,回滚操作的执行前提是原逻辑已完成正常执行操作。
43.比如,有服务a、b,及补偿服务a,b,执行时,如果a执行失败b执行成功,补偿服务a就会执行,它的执行是将执行成功的b做回滚处理。其中,服务b已完成正常执行操作。
44.s104:在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
45.在本技术的一些实施例中,由于异步过账任务存在执行失败的情况,在执行失败的原因具有多样性,比如,可能是网络的因素,也可能是凭证数据具有异常,那么当网络出现异常时,则需要重新执行该凭证数据的异步过账请求,因此,在不需要更改凭证数据时,需要避免用户需要重新提交异步过账请求,浪费人力以及网络资源。
46.具体地,若异步过账任务执行失败,则将凭证数据进行备份,得到备份凭证数据,将备份凭证数据放入缓存队列。然后,向客户端反馈凭证数据的异步过账失败,向客户端确认是否重新执行凭证数据的异步过账请求。
47.若是,则从缓存队列中,提取备份凭证数据,并执行备份凭证数据的异步过账任务。
48.若否,则从所述缓存队列中,将所述备份凭证数据进行删除。
49.进一步地,在向客户端确认是否重新执行凭证数据的异步过账请求时,用户存在不能及时向服务端反馈确认信息的情况,比如,对凭证数据进行核查时,需要耗费一定的时长,凭证数据不需要核查时,用户也存在由于处理其他事情,无法及时对客户端进行确认信息。但是,为了更好的满足用户的体验度,设置超时监测队列,将超时的确认信息与及时反馈的确认信息区分开。
50.具体地,若在第一预设时长内,未接收到所述客户端的确认信息,则将所述备份凭证数据放入超时监测队列;其中,所述超时监测队列的处理优先级低于所述缓存队列的优先级;也就是说,如果在同一时间,既收到超时监测队列的确认信息,又收到缓存队列的确认信息,将根据缓存队列的确认信息,优先处理缓存队列中相应凭证数据的任务。
51.若接收到所述确认信息为重新执行所述凭证数据的异步过账请求,则在所述超时监测队列中,从所述超时监测队列中,提取所述备份凭证数据,并执行所述备份凭证数据的异步过账任务;
52.若在第二预设时长内,未接收到所述客户端的确认信息,则在所述超时监测队列中,将所述备份凭证数据进行删除;其中,所述第一预设时长小于所述第二预设时长。
53.需要说明的是,虽然本技术实施例是参照图1来对步骤s101至步骤s104依次进行介绍说明的,但这并不代表步骤s101至步骤s104必须按照严格的先后顺序执行。本技术实施例之所以按照图1中所示的顺序对步骤s101至步骤s104依次进行介绍说明,是为了方便本领域技术人员理解本技术实施例的技术方案。换句话说,在本技术实施例中,步骤s101至步骤s104之间的先后顺序可以根据实际需要进行适当调整。
54.通过图1的方法,本技术实施例中服务端通过消息队列接收客户端提交的凭证数据的异步过账请求,并通过生成异步过账任务的补偿服务,能够在保证业务逻辑完整性、数据一致性的前提下,提升产品宜用性,异步处理可进一步进行服务化处理,易于进行处理能力的扩展,提高凭证过账效率,给用户带来了良好的体验。
55.基于同样的思路,本技术的一些实施例还提供了上述方法对应的装置、设备和非易失性计算机存储介质。
56.图2为本技术实施例提供的一种凭证过账装置的结构示意图,应用于服务端,所述
装置包括:
57.接收模块201,通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
58.执行模块202,构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;
59.生成模块203,生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
60.确定模块204,通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
61.更新模块205,在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
62.图3为本技术实施例提供的一种凭证过账设备的结构示意图,应用于服务端,所述设备包括:
63.至少一个处理器;以及,
64.与所述至少一个处理器通信连接的存储器;其中,
65.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
66.通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
67.构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
68.通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
69.在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
70.本技术实施例提供的一种凭证过账非易失性计算机存储介质,存储有计算机可执行指令,应用于服务端,所述计算机可执行指令设置为:
71.通过消息队列接收客户端提交的凭证数据的异步过账请求;其中,所述客户端在提交所述异步过账请求时,将所述异步过账请求放入所述消息队列;
72.构建所述异步过账请求对应的线程,通过所述线程执行所述消息队列中的异步过账任务;以及生成所述异步过账任务的补偿服务,将所述补偿服务放入所述消息队列中;
73.通过所述补偿服务,确定所述异步过账任务中凭证数据之间的一致性;
74.在所述异步过账任务数据一致的情况下,若所述异步过账任务执行成功,则更新所述凭证数据的异步过账状态,并将所述凭证数据的异步过账结果反馈至所述客户端。
75.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
76.本技术实施例提供的装置、设备和介质与方法是一一对应的,因此,装置、设备和
介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和介质的有益技术效果。
77.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
78.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
79.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
80.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
81.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
82.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
83.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
84.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
85.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术技术原理之内所作的任何修改、等同替换、改进等,均应落入本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献