一种基于企业信息内存对象树开具发票的系统及方法与流程

文档序号:18083420发布日期:2019-07-06 10:17阅读:192来源:国知局
一种基于企业信息内存对象树开具发票的系统及方法与流程

本发明涉及税控技术领域,并且更具体地,涉及一种基于企业信息内存对象树开具发票的系统及方法。



背景技术:

随着我国的发展,现有企业开票服务器在电子增值税普通发票开具时经常出现开票量大和开票速度慢等问题。为了解决这一问题,申请号为201611005811.6的专利中,侧重于管理单一部署的税控服务器,利用税控服务器管理模块通过接口调用获取税控核心板的基本信息,并将税控核心板的基本信息存储于开票服务器的数据库中,然后利用数据库中的基本信息进行网络购票并将空白发票存到数据库。

申请号为201010121701.2的专利中,侧重于描述开票服务器的组成和功能,构造了一种基于企业开票服务器系统,使企业在网络环境下实现多点开票功能。开票终端可提交开票申请实现发票开具、查询、抄税和打印功能。开票服务器实现发票数据存储,接收并响应开票终端的各类功能请求,将各类处理结果返回开票终端。

上述两种税控服务器管理方案均是对单一税控设备的企业信息进行管理,各个开票服务器之间没有数据交互,管理系统读取税控设备中企业基本信息存到数据库中,然后利用这些基本信息进行发票领购、发票开具和抄报税功能。这种方式下的开票服务器开票性能低、可靠性低、无法双活运行,不能满足现在高速持续地开票需求。



技术实现要素:

本发明提供了一种基于企业信息内存对象树开具发票的系统及方法,以解决现有的发票开具时出现的开票量大和开票速度慢的问题。

为了解决上述问题,根据本发明的一个方面,提供了一种基于企业信息内存对象树开具发票的系统,所述系统包括:

税控服务器,用于对多个金税盘的信息进行管理,其中所述信息包括:每个金税盘的状态信息和对应的企业信息,其中所述企业信息为:企业初始发行信息或企业变更信息;

监控模块,分别与所述税控服务器和开票服务器相连接,用于将税控服务器中每个金税盘对应的企业信息发送至开票服务器;用于实时对税控服务器的运行状态进行监控,并将所述税控服务器的运行状态发送至开票服务器;

开票服务器,用于将所述每个金税盘对应的企业信息生成企业信息内存对象树;用于接收开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理;

负载均衡器,用于按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上。

优选地,其中所述企业初始发行信息包括:企业税号、企业名称、税率授权信息、行业授权信息、税务机关信息和票种授权信息。

优选地,其中所述开票服务器包括:

数据库存储单元,用于接收所述每个金税盘对应的企业信息和已开具的所有的发票信息;

内存企业信息管理单元,用于将所述每个金税盘对应的企业信息生成企业信息内存对象树。

优选地,其中所述开票服务器,接收开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理,包括:

开票服务器从线程池中调度一个空闲线程去处理所述开票业务请求;

开票服务器根据企业税号遍历企业信息内存对象树中的所有对象结点,确定所述开票业务请求对应的结点;

开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,若验证通过,则对所述开票业务请求进行处理;若验证不通过,则终止所述开票业务请求,返回错误信息。

优选地,其中所述开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,包括:

对所述开票业务请求对应的结点对应的金税盘是否到抄税期、是否到锁死期、是否有离线发票、是否有剩余离线金额、是否到离线锁死期以及对应终端是否可用进行验证。

优选地,其中所述系统还包括:

签名验签服务器,用于对开票业务请求的票面数据进行签名验签,验证通过后,将所述票面数据插入到数据库存储单元中完成开票处理。

优选地,其中所述开票服务器在运行期间,始终与监控模块保持心跳,若心跳中断,则控制模块向开票服务器发送控制命令,通知开票服务器停止处理所有开票业务请求。

优选地,其中所述系统还包括:

当税控服务器中更新或插入金税盘时,监控模块发送数据更新命令至开票服务器,通知开票服务器解析并更新企业信息,开票服务器更新内存中的企业信息内存对象树的结点和数据库存储单元中对应的企业信息。

优选地,其中所述系统还包括:

数据同步模块,用于保证开票服务器集群中的每台开票服务器的企业信息内存对象树一致。

根据本发明的另一个方面,提供了一种基于企业信息内存对象树开具发票的方法,所述方法包括:

利用税控服务器对多个金税盘的信息进行管理,其中所述信息包括:每个金税盘的状态信息和对应的企业信息,其中所述企业信息为:企业初始发行信息或企业变更信息;

监控模块将所述税控服务器中每个金税盘对应的企业信息发送至开票服务器,并实时对税控服务器的运行状态进行监控,并将所述税控服务器的运行状态发送至开票服务器;

开票服务器将所述每个金税盘对应的企业信息生成企业信息内存对象树;

负载均衡器按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上。

开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理。

优选地,其中所述企业初始发行信息包括:企业税号、企业名称、税率授权信息、行业授权信息、税务机关信息和票种授权信息。

优选地,其中

利用数据库存储单元接收所述每个金税盘对应的企业信息和已开具的所有的发票信息;

利用内存企业信息管理单元将所述每个金税盘对应的企业信息生成企业信息内存对象树。

优选地,其中所述开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理,包括:

开票服务器从线程池中调度一个空闲线程去处理所述开票业务请求;

开票服务器根据企业税号遍历企业信息内存对象树中的所有对象结点,确定所述开票业务请求对应的结点;

开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,若验证通过,则对所述开票业务请求进行处理;若验证不通过,则终止所述开票业务请求,返回错误信息。

优选地,其中所述开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,包括:

对所述开票业务请求对应的结点对应的金税盘是否到抄税期、是否到锁死期、是否有离线发票、是否有剩余离线金额、是否到离线锁死期以及对应终端是否可用进行验证。

优选地,其中所述方法还包括:

利用签名验签服务器对开票业务请求的票面数据进行签名验签,验证通过后,将所述票面数据插入到数据库存储单元中完成开票处理。

优选地,其中所述开票服务器在运行期间,始终与监控模块保持心跳,若心跳中断,则控制模块向开票服务器发送控制命令,通知开票服务器停止处理所有开票业务请求。

优选地,其中所述方法还包括:

当税控服务器中更新或插入金税盘时,监控模块发送数据更新命令至开票服务器,通知开票服务器解析并更新企业信息,开票服务器更新内存中的企业信息内存对象树的结点和数据库存储单元中对应的企业信息。

优选地,其中所述方法还包括:

利用数据同步模块保证开票服务器集群中的每台开票服务器的企业信息内存对象树一致。

本发明提供了一种基于企业信息内存对象树开具发票的系统及方法,开票服务器启动时首先读取数据库中企业信息生成企业信息内存对象树;当某一个开票服务器接收到监控模块发送命令时首先更新数据库中企业信息,然后更新对象树对应的结点,其他的开票服务器利用数据同步功能,将修改的数据更新到自己的对象树中以保证数据一致性;当开票服务器接收到业务请求时,负载均衡器按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上,开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理。本发明能够极大地提高电子发票开具的可用性、连续性和可管理性,安全高效地处理业务请求。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的基于企业信息内存对象树开具发票的系统100的示意图;

图2为根据本发明实施方式的的基于企业信息内存对象树开具发票的系统的实例图;

图3为根据本发明实施方式的开票服务器的内部逻辑结构图;以及

图4为根据本发明实施方式的基于企业信息内存对象树开具发票的方法400的流程图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明实施方式的基于企业信息内存对象树开具发票的系统100的示意图。如图1所示,在本发明实施方式提供的基于企业信息内存对象树开具发票的系统中,开票服务器启动时首先读取数据库中企业信息生成企业信息内存对象树;当某一个开票服务器接收到监控模块发送命令时首先更新数据库中企业信息,然后更新对象树对应的结点,其他的开票服务器利用数据同步功能,将修改的数据更新到自己的对象树中以保证数据一致性;当开票服务器接收到业务请求时,负载均衡器按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上,开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理。本发明能够极大地提高电子发票开具的可用性、连续性和可管理性,安全高效地处理业务请求。实施方式的基于企业信息内存对象树开具发票的系统100包括:税控服务器101、监控模块102、开票服务器103、负载均衡器104。优选地,所述税控服务器101,用于对多个金税盘的信息进行管理,其中所述信息包括:每个金税盘的状态信息和对应的企业信息,其中所述企业信息为:企业初始发行信息或企业更新信息。

优选地,其中所述企业初始发行信息包括:企业税号、企业名称、税率授权信息、行业授权信息、税务机关信息和票种授权信息。

优选地,所述监控模块102,分别与所述税控服务器和开票服务器相连接,用于将税控服务器中每个金税盘对应的企业信息发送至开票服务器;用于实时对税控服务器的运行状态进行监控,并将所述税控服务器的运行状态发送至开票服务器。

优选地,所述开票服务器103,用于将所述每个金税盘对应的企业信息生成企业信息内存对象树;用于接收开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理。

优选地,其中所述开票服务器包括:

数据库存储单元,用于接收所述每个金税盘对应的企业信息和已开具的所有的发票信息;

内存企业信息管理单元,用于将所述每个金税盘对应的企业信息生成企业信息内存对象树。

优选地,其中所述开票服务器,接收开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理,包括:

开票服务器从线程池中调度一个空闲线程去处理所述开票业务请求;

开票服务器根据企业税号遍历企业信息内存对象树中的所有对象结点,确定所述开票业务请求对应的结点;

开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,若验证通过,则对所述开票业务请求进行处理;若验证不通过,则终止所述开票业务请求,返回错误信息。

优选地,其中所述开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,包括:

对所述开票业务请求对应的结点对应的金税盘是否到抄税期、是否到锁死期、是否有离线发票、是否有剩余离线金额、是否到离线锁死期以及对应终端是否可用进行验证。

优选地,所述负载均衡器104,用于按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上。

优选地,其中所述系统还包括:

签名验签服务器,用于对开票业务请求的票面数据进行签名验签,验证通过后,将所述票面数据插入到数据库存储单元中完成开票处理。

优选地,其中所述开票服务器在运行期间,始终与监控模块保持心跳,若心跳中断,则控制模块向开票服务器发送控制命令,通知开票服务器停止处理所有开票业务请求。

优选地,其中所述系统还包括:

当税控服务器中更新或插入金税盘时,监控模块发送数据更新命令至开票服务器,通知开票服务器解析并更新企业信息,开票服务器更新内存中的企业信息内存对象树的结点和数据库存储单元中对应的企业信息。

优选地,其中所述系统还包括:

数据同步模块,用于保证开票服务器集群中的每台开票服务器的企业信息内存对象树一致。

以下具体举例说明本发明的实施方式

图2为根据本发明实施方式的的基于企业信息内存对象树开具发票的系统的实例图。如图2所示,本发明实施方式的的基于企业信息内存对象树开具发票系统包括:由2个开票服务器组成的开票服务器集群、负载均衡器、签名验签服务器、两个c200税控服务器和两个c200监控模块。

每个c200税控服务器为能够容纳200个金税盘的税控设备每40个金税盘为一组,共5组,每个金税盘都存储着一个企业的初始发行信息,c200税控服务器中还存储整个税控服务器的运行状态信息,所述运行状态信息包括:单个或多个金税盘的插入和断开。c200监控模块用于调用底层接口实时监控c200税控服务器的运行状态,即所述税控服务器中金税盘是有更换、企业信息是否更改等,并将各种运行状态按照不同的命令号发送到开票服务器。

每个开票服务器包括内存企业信息管理系统(即内存企业信息管理单元)和数据库(即数据库存储单元),内存企业信息管理系统接收c200监控模块发送的企业初始发行信息生成企业信息内存对象树,同时将企业信息存放到数据库中。当企业信息有变化时,c200监控模块想开票服务器发送所述运行状态对应的命令号信息,开票服务器重新获取变更的企业信息,然后利用内存企业信息管理系统生成更新的企业信息内存对象树,同时,将更新的企业信息存储在数据库中。在开具发票时,开票服务器根据各种业务请求,返回处理结果。

图3为根据本发明实施方式的开票服务器的内部逻辑结构图。如图3所示,如图3所示,内存对象树管理系统包括:内存对象树、业务接口处理模块、c200监控处理模块和web管理模块。内存对象树管理系统在系统启动时,读取数据中的企业信息,生成内存对象树。c200监控模块通过http协议json接口和内存对象树管理系统进行通信。

负载均衡器用于把各种业务请求按照一定的策略均匀地分散到各个开票服务器上,保证服务器无中断的优质服务。

签名验签服务器利用税务数字证书对待开发票的票面数据进行签名验签,保证发票完整安全地上传到税局端。

本发明实施方式的基于企业信息内存对象树开具发票的系统使用内存对象树统一管理集群开票服务器的所有企业信息,根据关键字快速检索对象结点值,高并发地处理各种业务请求;硬件税控c200税控服务器的物理位置可以集中托管或者企业自持;同时该系统采用统一的接口,统一的通信协议和统一的硬件设备,对接简单,可以与众多平台比如微信、阿里、京东等统一对接;支持开票终端的多样化接入,从pc到手机、pad等移动终端。

利用本发明实施方式的基于企业信息内存对象树开具发票的系统开具发票的具体过程为:在开票服务器启动时,读取数据库中已有的企业信息数据包括企业税号、开票机号、授权票种数据、终端数据和离线发票数据,将这些数据构造成一个对象结点,插入到内存对象树中,完成初始化操作。开票终端或者erp系统将业务请求发送到负载均衡器上,负载均衡器根据自定义负载平衡规则将请求转发到集群开票服务器中一台可用开票服务器上。开票服务器接收到业务请求后,根据业务请求类型完成对应的功能。比如开票请求,开票服务器从线程池中调度一个空闲线程去处理该请求,首先根据销方税号遍历内存对象树中所有对象节点,检查结点对应的金税盘是否到抄税期、是否到锁死期、是否有离线发票、是否有剩余离线金额、是否到离线锁死期、对应终端是否可用等。如果找到满足条件的金税盘后则使用结点信息完成开票功能,否则终止请求,返回错误信息。确定满足条件的金税盘后,线程将对应的结点信息填充到发票中,然后调用签名验签服务器接口,对票面数据进行签名验签。最后将发票数据插入到数据库中完成开票功能,并返回开票相应报文,至此线程任务结束,返回线程池等待下一个处理请求。在开票服务器运行期间,c200监控模块都与开票服务器保持心跳,以保证双方长连接。当两者心跳机制断开后,c200发送控制命令通知开票服务器停用所有企业信息;当c200税控服务器中更新或插入金税盘时,c200监控模块发送数据命令通知开票服务器解析数据,同时更新内存中的对象树结点和数据库中对应信息。多个开票服务器共享同一个生产数据库和多个查询数据库,为了保证开票服务器间的内存对象树的数据一致性,每个开票服务器都设置同步线程扫描数据库中企业信息,如有更新则同步到内存对象树的结点对应的企业信息。

图4为根据本发明实施方式的基于企业信息内存对象树开具发票的方法400的流程图。如图4所示,本发明实施方式提供的的基于企业信息内存对象树开具发票的方法400从步骤401处开始,在步骤401利用税控服务器对多个金税盘的信息进行管理,其中所述信息包括:每个金税盘的状态信息和对应的企业信息,其中所述企业信息为:企业初始发行信息或企业变更信息。

优选地,其中所述企业初始发行信息包括:企业税号、企业名称、税率授权信息、行业授权信息、税务机关信息和票种授权信息。

优选地,在步骤402监控模块将所述税控服务器中每个金税盘对应的企业信息发送至开票服务器,并实时对税控服务器的运行状态进行监控,并将所述税控服务器的运行状态发送至开票服务器。

优选地,在步骤403开票服务器将所述每个金税盘对应的企业信息生成企业信息内存对象树。

优选地,其中

利用数据库存储单元接收所述每个金税盘对应的企业信息和已开具的所有的发票信息;

利用内存企业信息管理单元将所述每个金税盘对应的企业信息生成企业信息内存对象树。

优选地,其中所述方法还包括:

当税控服务器中更新或插入金税盘时,监控模块发送数据更新命令至开票服务器,通知开票服务器解析并更新企业信息,开票服务器更新内存中的企业信息内存对象树的结点和数据库存储单元中对应的企业信息。

优选地,其中所述方法还包括:

利用数据同步模块保证开票服务器集群中的每台开票服务器的企业信息内存对象树一致。

优选地,在步骤404负载均衡器按照设置的负载平衡规则将开票业务请求发送至开票服务器集群中的一台开票服务器上。

优选地,在步骤405开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理。

优选地,其中所述开票服务器接收所述开票业务请求,并利用所述企业信息内存对象树对所述开票业务请求进行处理,包括:

开票服务器从线程池中调度一个空闲线程去处理所述开票业务请求;

开票服务器根据企业税号遍历企业信息内存对象树中的所有对象结点,确定所述开票业务请求对应的结点;

开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,若验证通过,则对所述开票业务请求进行处理;若验证不通过,则终止所述开票业务请求,返回错误信息。

优选地,其中所述开票服务器验证与所述开票业务请求对应的结点对应的金税盘信息,包括:

对所述开票业务请求对应的结点对应的金税盘是否到抄税期、是否到锁死期、是否有离线发票、是否有剩余离线金额、是否到离线锁死期以及对应终端是否可用进行验证。

优选地,其中所述开票服务器在运行期间,始终与监控模块保持心跳,若心跳中断,则控制模块向开票服务器发送控制命令,通知开票服务器停止处理所有开票业务请求。

优选地,其中所述方法还包括:

利用签名验签服务器对开票业务请求的票面数据进行签名验签,验证通过后,将所述票面数据插入到数据库存储单元中完成开票处理。

本发明的实施例的基于企业信息内存对象树开具发票的方法400与本发明的另一个实施例的基于企业信息内存对象树开具发票的系统100相对应,在此不再赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1