本发明涉及税务统计,特别涉及一种发票数据统计方法、装置、终端及介质。
背景技术:
1、在税务行业需要对发票进行多维度统计,发票数据通常存放在关系型数据库如oracle、mysql数据库中,初始情况下可以直接对发票表使用统计sql语句进行统计,随着时间推移表中数据量急剧增加这种统计方式会浪费大量服务器资源,而且查询效率低下。
2、还有一种方案是建立统计表每天凌晨过后来存放统计昨天的发票数据,这种统计方法实时性不强,随着数据量增加也会存在统计时间过长漏统计等问题。
3、离线多天的发票上传时,需要重新统计那一天的数据,同时可能存在多次统计的问题,浪费资源较多。
技术实现思路
1、本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种发票数据统计方法,能够在不影响正常开票业务的前提下,尽可能实时的多维度的统计出发票数据,提高个层次人员对发票多维度统计的需求。
2、本发明还提出一种具有上述发票数据统计方法的装置、终端及存储介质。
3、根据本发明的第一方面实施例的发票数据统计方法,其特征在于,包括以下步骤:
4、根据发票数据的统计种类生成数据库表,从而基于多个统计种类得到多维数据库表;
5、基于所述多维数据库表的每个统计种类分别建立数据队列,并建立开始统计队列,给每个数据队列配置一个死信队列和一个异常队列;
6、当发票开具成功时,则将发票标识符和发票号码置入开始统计队列中,并且将发票内容数据存储在内容数据库中;
7、从所述开始统计队列中获取发票标识符和发票号码,并基于发票标识符和发票号码在内容数据库中查询发票内容数据,根据定义好的格式和业务需求的数据整理发票内容数据,并依据发票内容数据的统计种类分别发送到各个数据队列中;
8、从每个所述数据队列中获取发票数据统计任务,分别进行统计;
9、当统计出现无法获取数据、网络异常的错误导致统计失败时,如果失败次数小于重试次数那么将失败次数加1并将统计失败的发票信息置入对应数据队列的死信队列,该信息在死信队列等待预设时间后将重新回调统计业务队列进行重试统计,如果失败次数大于等于重试次数,将该信息放入异常业务统计队列;
10、在所述异常队列中,处理异常业务统计队列的检测信息,通过配置整理信息将信息记录到数据库中,并由定时任务定时统计通知指定人进行处理。
11、根据本发明实施例的发票数据统计方法,至少具有如下有益效果:该方法是一种发票数据统计方法。该方法可以针对发票不同维度统计数据进行统计,不会影响正常业务。同时提高数据统计效率和准确性。
12、根据本发明的一些实施例,所述方法还包括:在固定周期内对统计数据进行对账,特别是单个纳税人名下具有多个设备的情况。
13、根据本发明的一些实施例,所述多维数据库表格,包括:
14、设备发票统计日报表、纳税人发票统计日报表、税局发票统计日报表、纳税人商品日报表、纳税人税种税额统计日报表、税局税额税种日报表。
15、根据本发明的一些实施例,所述数据库表格能够基于日期进行数据转移。
16、根据本发明的一些实施例,所述从所述开始统计队列中获取发票标识符和发票号码,并基于发票标识符和发票号码在内容数据库中查询发票内容数据,根据定义好的格式和业务需求的数据整理发票内容数据,并依据发票内容数据的统计种类分别发送到各个数据队列中的步骤中,定义好的格式包括:重试次数、失败次数、信息。
17、根据本发明的一些实施例,所述在所述异常队列中,处理异常业务统计队列的检测信息,通过配置整理信息将信息记录到数据库中,并由定时任务定时统计通知指定人进行处理的步骤中,处理的方式包括放弃处理和重试,重试是重置重复次数放回到各自队列中。
18、根据本发明的第二方面实施例的发票数据统计装置,其特征在于,包括:
19、数据库模块,根据发票数据的统计种类生成数据库表,从而基于多个统计种类得到多维数据库表;
20、消息队列模块,基于所述多维数据库表的每个统计种类分别建立数据队列,并建立开始统计队列,给每个数据队列配置一个死信队列和一个异常队列;
21、业务处理模块,当发票开具成功时,将发票标识符和发票号码置入开始统计队列中,并且将发票内容数据存储在内容数据库中;
22、开始统计业务模块,从所述开始统计队列中获取发票标识符和发票号码,并基于发票标识符和发票号码在内容数据库中查询发票内容数据,根据定义好的格式和业务需求的数据整理发票内容数据,并依据发票内容数据的统计种类分别发送到各个数据队列中;
23、各个统计业务处理模块,从每个所述数据队列中获取发表数据统计任务,分别进行统计;
24、统计异常处理模块,当统计出现出现无法获取数据、网络异常的错误导致统计失败时,如果失败次数小于重试次数那么将失败次数加1并将统计失败的发票信息置入对应数据队列的死信队列,该信息在死信队列等待预设时间后将重新回调统计业务队列进行重试统计,如果失败次数大于等于重试次数,将该信息放入异常业务统计队列;
25、异常业务处理模块,在所述异常队列中,处理异常业务统计队列的检测信息,通过配置整理信息将信息记录到数据库中,并由定时任务定时统计通知指定人进行处理。
26、根据本发明的第三方面实施例的终端,该终端包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时以实现上述发票数据统计方法。
27、根据本申请的第四方面实施例的计算机可读存储介质,该介质存储有计算机可执行指令,该计算机可执行指令用于以执行上述发票数据统计方法。
28、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种发票数据统计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在固定周期内对统计数据进行对账。
3.根据权利要求1所述的方法,其特征在于,所述多维数据库表格,包括:
4.根据权利要求3所述的方法,其特征在于,所述数据库表格能够基于日期进行数据转移。
5.根据权利要求1所述的方法,其特征在于,所述从所述开始统计队列中获取发票标识符和发票号码,并基于发票标识符和发票号码在内容数据库中查询发票内容数据,根据定义好的格式和业务需求的数据整理发票内容数据,并依据发票内容数据的统计种类分别发送到各个数据队列中的步骤中,定义好的格式包括:重试次数、失败次数、信息。
6.根据权利要求1所述的方法,其特征在于,所述在所述异常队列中,处理异常业务统计队列的检测信息,通过配置整理信息将信息记录到数据库中,并由定时任务定时统计通知指定人进行处理的步骤中,处理的方式包括放弃处理和重试,重试是重置重复次数放回到各自队列中。
7.一种发票数据统计装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
9.一种终端,包括:存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至6中任一项所述的方法。