基于统计均匀分布的税务终端负载均衡优化方法及装置
文献发布时间:2023-06-19 19:35:22
技术领域
本申请涉及统计分析技术领域,具体涉及一种基于统计均匀分布的税务终端负载均衡优化方法及装置。
背景技术
随着国家全面推进发票电子化进程的推进,电子发票以其简便高效、低碳环保、快速交付的优势被用户广泛使用。目前各大型集团企业的发票系统都已建设了内部集中的电子发票开具系统用来支持海量的业务开票需求。在研究电子发票开具高可用问题上,已有厂商设计了不同的方案来实现。如专利CN202111363145《一种多税务终端开票的管理方法和系统》中介绍了一种通过给同一税号可以配置多个终端,从而保证同一开票税号的高可用性的系统,并配备了终端配置、选择模块和监控模块来保证整个系统运作。其中介绍了终端选择模块会采用轮询、加权轮询和随机等算法选择开票终端,但未进行详细的算法介绍。这里涉及的负载均衡处理未进行进一步的阐述,如轮询和加权轮询算法,都需要通过缓存来记录当前各税务开票终端上的开票请求任务数量,分配负载少的开票终端进行开票。同时负载均衡还要处理问题开票终端的状态记录新和恢复处理。以上过程均需要程序设计复杂的算法来管理调度各个开票终端,处理效率不高,且一旦设计细节有问题,还会造成业务中断。
发明内容
针对上述技术问题,本申请提供一种基于统计均匀分布的税务终端负载均衡优化方法,包括:
步骤1:将税号下连接的所有税务终端加入可用资源数组队列,列长记为m,将状态正常的税务终端总数记为n;
步骤2:生成随机数据R,通过所述随机数R与状态正常的税务终端总数n进行取余操作,随机筛选用于开票的税务终端i;
步骤3:从可用资源数组队列中选择第i个税务终端进行开票,若开票成功,则记录开票成功率;若开票失败,将第i个税务终端状态记为异常;重复步骤2和3,直至发票开具成功。
进一步的,生成随机数据R,通过所述随机数R与状态正常的税务终端总数记为n进行取余操作,随机筛选用于开票的税务终端i,包括:
随机数据R的取值范围为0至99999,通过随机数R与所述状态正常的税务终端总数n的取余操作,随机筛选用于开票的税务终端i的具体方法为:i=R%n。
进一步的,在开票失败,将第i个税务终端状态记为异常的步骤之后,还包括:
将状态正常的税务终端总数据n减少一个。
进一步的,在开票失败,将第i个税务终端状态记为异常的步骤之后,还包括:
由税务终端管理模块,将记为异常的税务终端恢复为正常状态。
进一步的,所述由税务终端管理模块的功能,还包括:
统计每个税号下的开票成功率,当成功率下降到预设阈值时,禁用该税号下连接的所有税务终端,并对所有税务终端过行恢复处理。
本发明同时提供一种基于统计均匀分布的税务终端负载均衡优化装置,包括:
终端状态统计单元,用于将税号下连接的所有税务终端加入可用资源数组队列,列长记为m,将状态正常的税务终端总数记为n;
终端筛选单元,用于生成随机数据R,通过所述随机数R与状态正常的税务终端总数n进行取余操作,随机筛选用于开票的税务终端i;
开票单元,用于从可用资源数组队列中选择第i个税务终端进行开票,若开票成功,则记录开票成功率;若开票失败,将第i个税务终端状态记为异常;重复终端状态统计单元和终端筛选单元的操作,直至发票开具成功。
进一步的,终端筛选单元,包括:
取余操作子单元,用于随机数据R的取值范围为0至99999,通过随机数R与所述状态正常的税务终端总数n的取余操作,随机筛选用于开票的税务终端i的具体方法为:i=R%n。
进一步的,还包括:
总数计算子单元,用于将状态正常的税务终端总数据n减少一个。
进一步的,还包括:
状态恢复子单元,用于由税务终端管理模块,将记为异常的税务终端恢复为正常状态。
进一步的,还包括:
恢复处理子单元,用于统计每个税号下的开票成功率,当成功率下降到预设阈值时,禁用该税号下连接的所有税务终端,并对所有税务终端过行恢复处理。
本发明提供的一种基于统计均匀分布的税务终端负载均衡优化方法及装置,能够简单直接的通过随机数选择方式让所有开票终端上的任务处理数量趋近平均。这样一方面可以达到和负载均衡管理相同的效果,同时也做到算法精简和内存节省,响应速度快,且不易出现逻辑错误。采用此方法管理一个税号下的所有开票终端,可以做到最大化资源利用,解决开票业务延迟响应和负载不均衡问题,实现简便高效的终端选择和发票开具。
附图说明
图1是本申请提供的一种基于统计均匀分布的税务终端负载均衡优化方法流程示意图;
图2是本申请涉及的电子发票管理系统框架;
图3是本申请涉及的税务终端管理模块工作流;
图4是本申请涉及的基于统计均匀分布的税务终端负载均衡优化方法的工作流;
图5是本申请提供的一种基于统计均匀分布的税务终端负载均衡优化装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
图1是本申请提供的一种基于统计均匀分布的税务终端负载均衡优化方法流程示意图,下面结合图1对本申请提供的方法进行详细说明。
本发明提出了一种基于统计均匀分布的税务终端负载均衡优化方法,该方法建立在如下一套电子发票高可用开票系统的基础上,如图2所示。该高可用电子发票开具系统由业务系统、税务终端管理模块、主备税控服务器、金税盘和税务终端组成,税务终端在本申请中一般为虚拟终端。给每个税号可以分配至少两块以上的税盘进行发票开具和管理,均匀分布在主备服务器上。其中每个金税盘最多支持200个虚拟终端用来开票。如图中税号A举例,其对应的金税盘0和金税盘4分别插在主备税控服务器上,并各自管理着n0和n1个虚拟开票终端。所述税务终端管理模块将税号A的两个金税盘所分配的n0+n1=m个虚拟终端进行统一管理。
步骤1:将税号下连接的所有税务终端加入可用资源数组队列,列长记为m,将状态正常的税务终端总数记为n4。
首先,统计每个税号(税盘)连接的所有税务终端的数量,并加入可用资源数组队列,列长记为m,然后,再统计状态正常的税务终端总数,记为n。
步骤2:生成随机数据R,通过所述随机数R与状态正常的税务终端总数n进行取余操作,随机筛选用于开票的税务终端i。
在税务终端管理模块,保证各终端开票状态正常的基础上,即默认初始状态所有的终端状态n=m,生成随机数R,随机数据R的取值范围为0至99999,通过随机数R与所述状态正常的税务终端总数n的取余操作,随机筛选用于开票的税务终端i的具体方法为:i=R%n。
步骤3:从可用资源数组队列中选择第i个税务终端进行开票,若开票成功,则记录开票成功率;若开票失败,将第i个税务终端状态记为异常;重复步骤2和3,直至发票开具成功。
开票过程中,若开票成功,则直接返回开票结果,流程结束并记录开票成功率。若开票失败,将第i个税务终端状态记为异常,不可用原因有可能为空白发票耗尽,或其他原因。同时将将状态正常的税务终端总数据n减少一个。然后将状态异常的税务终端交税务终端管理模块,由税务终端管理模块,将记为异常的税务终端恢复为正常状态。重复步骤2和3,直至发票开具成功。在开票过程中,实时更新终端状态,交及时处理状态异常终端,可保证队列中有足够的可用终端资源。
上述税务终端管理模块的工作流如图3所示,具体的,税务终端管理模块的工作主要包括以下几个部分(以税号A举例)
1)将所有税盘分配的终端统一管理,默认都为可用,总数m
2)自动领用并分发给每个终端足够的发票号段
3)巡检终端状态,处理离线票、错误票、号段用尽等异常情况
4)接收开票流程发来异常终端处理请求,及时恢复各终端可用状态
5)统计每个税盘的开票成功率,当成功率下降到一定阈值后,整体禁用该盘相关终端并做恢复处理
6)回到步骤2)无限循环,保证持续的状态监测和处理。
在税务终端管理模块保证知终端开票状态正常的状态的基础上,本专利提出一种基于统计均匀分布的税务终端负载均衡优化方法,实现简便高效的终端选择和发票开具。具体步骤如图4所示:
1)将一个税号下的所有虚拟税务终端加入可用资源数组队列,列长为m且由开票终端管理模块统一管理
2)统计目前可用状态正常的税务终端总数n,默认初始状态所有的终端状态都为可用
3)生成一个很大的随机数R(取值范围从0至99999),用该随机数R与目前的可用税务终端总数n进行取余操作,得到随机筛选用来开票的税务终端i,i=R%n;
4)在队列m中选择第i个可用开票终端进行开票
5)若开票成功,则直接返回开票结果,流程结束并记录开票成功率
6)若开票失败,则将该终端的可用状态置为不可用(不可用原因有可能为空白发票耗尽,或其他原因)可用终端总数n减少一个
7)将该终端置交给开票终端管理模块处理
8)回到步骤3,直至发票开成功为止。
基于同一发明构思,本发明同时提供一种基于统计均匀分布的税务终端负载均衡优化装置500,如图5所示,包括:
终端状态统计单元510,用于将税号下连接的所有税务终端加入可用资源数组队列,列长记为m,将状态正常的税务终端总数记为n;
终端筛选单元520,用于生成随机数据R,通过所述随机数R与状态正常的税务终端总数n进行取余操作,随机筛选用于开票的税务终端i;
开票单元530,从可用资源数组队列中选择第i个税务终端进行开票,若开票成功,则记录开票成功率;若开票失败,将第i个税务终端状态记为异常;重复终端状态统计单元和终端筛选单元的操作,直至发票开具成功。
进一步的,终端筛选单元,包括:
取余操作子单元,用于随机数据R的取值范围为0至99999,通过随机数R与所述状态正常的税务终端总数n的取余操作,随机筛选用于开票的税务终端i的具体方法为:i=R%n。
进一步的,还包括:
总数计算子单元,用于将状态正常的税务终端总数据n减少一个。
进一步的,还包括:
状态恢复子单元,用于由税务终端管理模块,将记为异常的税务终端恢复为正常状态。
进一步的,还包括:
恢复处理子单元,用于统计每个税号下的开票成功率,当成功率下降到预设阈值时,禁用该税号下连接的所有税务终端,并对所有税务终端过行恢复处理。
本发明提供的一种基于统计均匀分布的税务终端负载均衡优化方法及装置,能够简单直接的通过随机数选择方式让所有开票终端上的任务处理数量趋近平均。这样一方面可以达到和负载均衡管理相同的效果,同时也做到算法精简和内存节省,响应速度快,且不易出现逻辑错误。采用此方法管理一个税号下的所有开票终端,可以做到最大化资源利用,解决开票业务延迟响应和负载不均衡问题,实现简便高效的终端选择和发票开具。
最后应该说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替,其均应涵盖在本发明的权利要求范围当中。
- 一种基于统计的障碍物位置仿真方法、装置以及终端
- 基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端
- 基于终端的音频处理方法、装置、终端和可读存储介质
- 基于上行大包业务的负载均衡处理方法及装置
- 一种基于负载均衡的亲和性规则验证方法及装置
- 基于区块链的税务终端购票系统、购票方法、税务终端
- 基于移动智能终端的信息交互系统、方法及基于移动智能终端的开具税务发票的系统、方法