一种用于对电子票据进行赋码的方法及系统与流程

文档序号:17743816发布日期:2019-05-24 20:27阅读:2959来源:国知局
一种用于对电子票据进行赋码的方法及系统与流程

本发明涉及电子票据赋码技术领域,更具体地,涉及一种用于对电子票据进行赋码的方法及系统。



背景技术:

随着网络技术的发展,无纸化办公成为低碳、环保和办公成本节约的新兴理念。随着国家税务总局和国家财政部的大力倡导,有价票据的开具形式也逐步由纸质形式转化为无纸化形式。同时,电子票据的产生也有效的减少纸质票据带来的防伪造假,多次报销的可能性。因此基于网络技术的电子票据推广和应用已成为必然趋势。随着电子票据推广和应用,不同的电子票据解决方案提供商也形成了各自的电子票据开具模式。在这些开具模式中,不同方案提供商都具有符合自己系统的电子票据赋码技术和应用特点。电子开票开具实时效率主要取决于赋码流程的复杂程度和快捷性问题,复杂、冗余的赋码业务流程必然会导致电子票据的生成较慢的问题。严重情况下,可能会导致后台系统奔溃、网络阻塞和开票队列排队积压等一系列的严峻问题。

现有技术(申请:201510146156.5)《一种电子票据赋码的方法及其系统》,涉及电子发票技术领域,具体涉及一种电子票据赋码方法,包括:发送赋码请求,所述赋码请求中含有票据类型信息;根据赋码请求中的票据类型信息对服务器数据库中的赋码队列进行检索,判断赋码队列中是否存在与该票据类型信息相匹配的发票赋码,如果不存在与该票据类型信息相匹配的发票赋码,则根据该票据类型信息生成相适应的发票赋码,并将该发票赋码添加至该赋码队列中,且重新对服务器数据库中的赋码队列进行检索;如果存在与该票据类型信息相匹配的发票赋码,则获取该发票赋码;将获取到的发票赋码存储至本地数据库中;本发明的电子票据赋码方法,其自适应强、高性能和可调控,为电子发票的推广与应用提供了便利。

然而,现有技术涉及的发票赋码方法,需要多次进行检索,赋码流程过于复杂,电子发票的票号生成速度过慢。传统的电子票号赋码模式需要在赋码过程中频繁进行数据库访问操作,复杂情况下要进行及时的数据库数据更新操作,在数据库票据数据存储量大的情况下,传统方法赋码时效性会随着电子票据数据的增加而趋于变慢。

因此,需要一种技术,以实现对电子票据进行赋码。



技术实现要素:

本发明技术方案提供了一种用于对电子票据进行赋码的方法及系统,以解决如何对电子票据进行赋码的问题。

为了解决上述问题,本发明提供了一种用于对电子票据进行赋码的方法,所述方法包括:

利用赋码计数器记录的票号数量信息更新数据库中对应票据类型的电子票据的电子票号,并将所述赋码计数器的票号数量信息复位;

查询电子票据的所属单位持有电子票据的所有票据类型信息,建立每个所述票据类型信息的包括初始电子票号值和票号数量信息的赋码管道队列;

基于所述电子票据的所属单位和票据类型信息,设置所述赋码管道队列的标识;

接收待赋码电子票据,根据所述待赋码电子票据的所属单位和票据类型信息查询所述待赋码电子票据的赋码管道队列;

通过所述赋码管道队列对所述待赋码电子票据进行赋码,包括:将所述赋码管道队列的当前电子票号的信息赋予所述赋码电子票据;所述赋码计数器的票号数量信息加1。

优选地,还包括:

设定定时触发时间;

当到达所述定时触发时间时,禁止通过所述赋码管道队列对所述待赋码电子票据进行赋码;

将所述赋码管道队列的所述赋码计数器的票号数量信息和初始电子票号更新至数据库中。

优选地,所述赋码管道队列中的所述赋码计数器的票号数量信息与电子票号的信息一一对应。

优选地,所述基于所述电子票据的所属单位和票据类型信息,建立所述赋码管道队列的标识,包括:

对所述电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取所述电子票据的所属单位和票据类型信息的标识哈希值;

将所述标识哈希值作为所述赋码管道队列的标识。

优选地,对不同单位的不同票种设置对应的赋码计数器。

优选地,所述接收待赋码电子票据,根据所述待赋码电子票据的所属单位和票据类型信息查询所述待赋码电子票据的赋码管道队列,包括:

对所述待赋码电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取所述待赋码电子票据的所属单位和票据类型信息的查询标识哈希值。

优选地,根据所述赋码计数器的票号数量信息计算当前电子票号的信息。

优选地,还包括:

判断所述赋码计数器的票号数量信息是否超过设定的阈值;

当所述赋码计数器的票号数量信息超过设定的阈值时,所述赋码管道队列重新通过数据获取电子票据的初始电子票号值和票号数量信息。

基于本发明的另一方面,提供一种用于对电子票据进行赋码的系统,所述系统包括:

初始单元,用于利用赋码计数器记录的票号数量信息更新数据库中对应票据类型的电子票据的电子票号,并将所述赋码计数器的票号数量信息复位;

建立单元,用于查询电子票据的所属单位持有电子票据的所有票据类型信息,建立每个所述票据类型信息的包括初始电子票号值和票号数量信息的赋码管道队列;

标识单元,用于基于所述电子票据的所属单位和票据类型信息,设置所述赋码管道队列的标识;

接收单元,用于接收待赋码电子票据,根据所述待赋码电子票据的所属单位和票据类型信息查询所述待赋码电子票据的赋码管道队列;

赋码单元,用于通过所述赋码管道队列对所述待赋码电子票据进行赋码,包括:将所述赋码管道队列的当前电子票号的信息赋予所述赋码电子票据;所述赋码计数器的票号数量信息加1。

优选地,还包括控制单元,用于:

设定定时触发时间;

当到达所述定时触发时间时,禁止通过所述赋码管道队列对所述待赋码电子票据进行赋码;

将所述赋码管道队列的所述赋码计数器的票号数量信息和初始电子票号更新至数据库中。

优选地,所述赋码管道队列中的所述赋码计数器的票号数量信息与电子票号的信息一一对应。

优选地,所述标识单元用于基于所述电子票据的所属单位和票据类型信息,建立所述赋码管道队列的标识,还用于:

对所述电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取所述电子票据的所属单位和票据类型信息的标识哈希值;

将所述标识哈希值作为所述赋码管道队列的标识。

优选地,对不同单位的不同票种设置对应的赋码计数器。

优选地,所述接收单元,用于接收待赋码电子票据,根据所述待赋码电子票据的所属单位和票据类型信息查询所述待赋码电子票据的赋码管道队列,还用于:

对所述待赋码电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取所述待赋码电子票据的所属单位和票据类型信息的查询标识哈希值。

优选地,所述赋码单元还用于:根据所述赋码计数器的票号数量信息计算当前电子票号的信息。

优选地,还包括判断单元,用于:

判断所述赋码计数器的票号数量信息是否超过设定的阈值;

当所述赋码计数器的票号数量信息超过设定的阈值时,所述赋码管道队列重新通过数据获取电子票据的初始电子票号值和票号数量信息。

本发明的技术方案提供了一种新型、快捷的电子票据赋码方法和系统,是基于电子票据票号的连续性的客观情况,通过电子票据号码的连续性的关键性特点,实现电子票据赋码计数特性和信息反馈机制,实现电子号码的快速赋值给票据信息,并形成无冲突、唯一性和安全性的业务流程,即使在服务器突然宕机或者掉电情况下,也不会影响赋码数据的安全性和唯一性,可高效的实现电子票据开具流程,增加网络吞吐量和服务器资源的处理能力。

附图说明

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

图1为根据本发明优选实施方式的电子票据赋码系统中各模块主框架示意图;

图2为根据本发明优选实施方式的票号初始化模块业务流程图;

图3为根据本发明优选实施方式的赋码管道初始化模块业务流程图;

图4为根据本发明优选实施方式的逻辑控制模块业务流程图;

图5为根据本发明优选实施方式的票号信息状态更新模块业务流程图;

图6为根据本发明优选实施方式的赋码管道模块业务流程图;

图7为根据本发明优选实施方式的用于对电子票据进行赋码的方法流程图;以及

图8为根据本发明优选实施方式的用于对电子票据进行赋码的系统结构图。

具体实施方式

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

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

图7为根据本发明优选实施方式的用于对电子票据进行赋码的方法流程图。本申请提出了一种通过快速计数机制和回馈更新的电子票剧的赋码方法,本申请实现了对电子票据的快速赋码,保证申请赋码的电子票据信息和一个电子票号实现一一对应。通过对电子票剧成功赋码,完成整个电子票据的开具流程。本申请的提供的对电子票据进行赋码的方法,大大减少了数据库滚动查询和更新操作,提高了网络资源和计算机资源使用有效性。如图7所示,一种用于对电子票据进行赋码的方法,方法包括:

优选地,在步骤701:利用赋码计数器记录的票号数量信息更新数据库中对应票据类型的电子票据的电子票号,并将赋码计数器的票号数量信息复位。优选地,对不同单位的不同票种设置对应的赋码计数器。本申请在后台系统启动赋码流程时,通过历史日志记录对各票号分段信息进行汇总和数据修复操作,这些操作主要修复由于服务器不明原因的宕机或后台系统奔溃所导致的电子票号无法及时状态更新所产生的问题。主要通过其中查询赋码计数器的历史记录的票号数量信息,若当前存在赋码计数器的历史记录的票号数量信息存在的情况下,需要将赋码计数器的票号数量信息复位并需要更新当前数据库中对应的电子票号信息,完成运行参数初始化工作。

优选地,在步骤702:查询电子票据的所属单位持有电子票据的所有票据类型信息,建立每个票据类型信息的包括初始电子票号值和票号数量信息的赋码管道队列。优选地,赋码管道队列中的赋码计数器的票号数量信息与电子票号的信息一一对应。

优选地,在步骤703:基于电子票据的所属单位和票据类型信息,设置赋码管道队列的标识。优选地,基于电子票据的所属单位和票据类型信息,建立赋码管道队列的标识,包括:对电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取电子票据的所属单位和票据类型信息的标识哈希值;将标识哈希值作为赋码管道队列的标识。

本申请对每个单位的所持有的可赋码电子票号进行数据库提取并初始化赋码管道队列,只有进入赋码管道队列的电子票号才能进行对该单位所提交的电子票据信息进行赋码流程。本申请在获取不同单位的票种票号信息后,通过对单位编码和票据类型代码进行消息摘要算法md5运算获取对应的哈希值,即hash值,用hash值作为赋码管道队列的唯一id值。并记录当前赋码管道队列,即hash队列的当前票号值和票号数量。

优选地,在步骤704:接收待赋码电子票据,根据待赋码电子票据的所属单位和票据类型信息查询待赋码电子票据的赋码管道队列。优选地,接收待赋码电子票据,根据待赋码电子票据的所属单位和票据类型信息查询待赋码电子票据的赋码管道队列,包括:对待赋码电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取待赋码电子票据的所属单位和票据类型信息的查询标识哈希值。

优选地,在步骤705:通过赋码管道队列对待赋码电子票据进行赋码,包括:将赋码管道队列的当前电子票号的信息赋予赋码电子票据;赋码计数器的票号数量信息加1。优选地,根据赋码计数器的票号数量信息计算当前电子票号的信息。优选地,还包括:判断赋码计数器的票号数量信息是否超过设定的阈值;当赋码计数器的票号数量信息超过设定的阈值时,赋码管道队列重新通过数据获取电子票据的初始电子票号值和票号数量信息。

本申请中,赋码管管道队列包括不同单位的不同类型票据代码的电子票号队列。赋码管道队列初始化成功后,对于后台系统接收到的电子票据信息会送入赋码管道队列,通过赋码管道队列内部逻辑实现快速匹配该单位的票据种类,并赋值对应的电子号码,实现赋码流程。同时,本申请具有赋码计数器功能,在赋码管道队列初始化的时候进行复位清零操作,不同的单位的不同票种都拥有各自的赋码计数器。当对某一个单位的票种进行赋码之后,该赋码计数器会累计加1,并及时更新的对应的赋码计数器数据库中,进行持久化操作,防止后台系统因奔溃、断电或宕机而产生的内存数据丢失导致的数据无法恢复的灾难性后果。本申请接收到上传的电子票据信息后,检验电子票据信息中是否存在单位编码和票据类型代码,如果有,则计算当前电子票据的hash值,并通计算该hash值的当前票号信息,并对其进行赋码操作。如果当前电子票信息中不存在单位编码或票据类型代码则返回响应的错误提示。当电子票据赋码完成后,该hash队列的计数器累加1。并通过607判断是否超出了该hash队列的初始票量值,如果超出,则表明该hash队列票量已经用完,则通过609重新从数据库中获取该单位的对应票种的票号,并初始化该hash队列的当前票号和票量参数。

优选地,还包括:设定定时触发时间;当到达定时触发时间时,禁止通过赋码管道队列对待赋码电子票据进行赋码;将赋码管道队列的赋码计数器的票号数量信息和初始电子票号更新至数据库中。

本申请通过关键时序流程对电子票据的赋码进行控制。本申请通过获取后台系统时间,利用运行时序进行赋码流程的运行使能控制。本申请通过设定定时触发时间,本申请在获取当前时间后,并对所设定的运行参数的更新状态时间参数进行比较,如果当前时间接近所设定的定时角发时间,则禁止赋码管道队列的赋码功能,并通过启动票据信息状态更新功能,来更新赋码管道队列的票号使用信息。当赋码管道队列信息更新成功后,则开启赋码管道队列的赋码流程,继续接收电子票据信息进行赋码操作。

电子票据赋码的具体实现任务在于如何有效的将客户端或第三方系统上传到后台系统的电子票据信息和一个电子票号实现一一对应,只有成功的给电子票据信息赋码成功,才能完成电子票据开具整个流程。由于电子票号在后台系统数据库里一般采用的是分段且连续的存储方式,因此本发明基于电子票号这个存储特点来实现快速赋码流程。

本方案所阐述的快速型电子票据赋码方案主要由票号初始化模块、赋码管道初始化模块、赋码管道模块、票号信息状态更新模块和控制逻辑模块等五个重要部分内容组成。

图1为根据本发明优选实施方式的电子票据赋码系统中各模块主框架示意图。如图1所示,101主要负责在后台系统启动赋码流程时,通过历史日志记录对各票号分段信息进行汇总和数据修复操作,这些操作主要修复由于服务器不明原因的宕机或后台系统奔溃所导致的电子票号无法及时状态更新所产生的问题。具体业务101模块功能可参考图2本发明方法中的票号初始化模块业务流程图,其中201进行查询历史计数器信息,当存在历史计数器信息存在的情况下,需要将历史计数器信息复位并需要更新当前数据库中对应的电子票号信息,并通过204进行系统运行参数初始化工作。

102主要负责对每个单位的所持有的可赋码电子票号进行数据库提取并初始化赋码管道队列,只有进入赋码管道的电子票号才能进行对该单位所提交的电子票据信息进行赋码流程。具体102模块功能可参考图3是本发明方法中的赋码管道初始化模块业务流程图,通过301获取不同单位的票种票号信息后,通过304对单位编码和票种代码进行md5运算获取对应的hash值,用hash值作为赋码队列的唯一id值。并通过305记录当前hash队列的当前票号值和票号数量。

103是关键时序流程和各模块运行控制中枢。控制逻辑模块会获取后台系统时间,通过内置的已设置好的模块运行时序进行各模块之间的运行使能控制。具体103功能可参考图4是本发明方法中的逻辑控制模块业务流程图,该模块属于定时触发模块,通过401获取当前时间,并对所设定的运行参数的更新状态时间参数进行比较,如果当前时间接近所设定的时间,则通过404模块禁止赋码管道使能功能,并通过405启动票据信息状态更新模块的使能功能,来更新赋码管道的票号使用信息。当赋码管道信息更新成功后,则通过408开启赋码管道的赋码流程,继续接收电子票据信息进行赋码操作。

104实现定时后台系统数据库中的某个单位票种的电子票号信息进行数据库更新操作。一般定时更新操作会设置到电子票据开具量较少的凌晨进行,票号信息状态更新模块和赋码管道由控制逻辑模块进行功能使能状态控制。在票号信息状态更新模块工作的过程中,禁止赋码管道的电子票据赋码操作。具体模块功能可参考图5是本发明方法中的票号信息状态更新模块业务流程图,当该模块启动后,通过503获取赋码队列各hash队列的赋码计数器和电子票号初值,并通过504进行数据库对应的更新操作,正常更新完成后,则退出更新流程;当更新出现多次错误,则报送更新异常信息。

105主要由不同单位的不同票据代码的电子票号队列组成。赋码管道初始化成功后,对于后台系统接收到的电子票据信息会送入赋码管道模块,通过管道模块内部逻辑实现快速匹配该单位的票据种类,并赋值对应的电子号码,实现赋码流程。同时,该模块具有赋码计数器功能,在赋码管道初始化的时候进行复位清零操作,不同的单位的不同票种都拥有自己的赋码计数器。当对某一个单位的票种进行赋码之后,该计数器会累计加1,并及时更新的对应的计数器数据库中,进行持久化操作,防止后台系统因奔溃、断电或宕机而产生的内存数据丢失导致的数据无法恢复的灾难性后果。该模块具体功能可参考图6是本发明方法中的赋码管道模块业务流程图,该模块接收到上传的电子票据信息后,检验电子票据信息中是否存在单位编码和票种代码,如果有,则通过603计算当前电子票据的hash值,并通过604计算该hash值的当前票号信息,并对其进行赋码操作。如果当前电子票信息中不存在单位编码或票种代码则返回响应的错误提示。当604赋码完成后,该hash队列的计数器累加1,并通过607判断是否超出了该hash队列的初始票量值,如果超出,则表明该hash队列票量已经用完,则通过609重新从数据库中获取该单位的对应票种的票号,并初始化该hash队列的当前票号和票量参数。

本申请摒弃传统赋码流程的单实例模型,采用控制逻辑模块实现模块之间的时序和使能控制,并且摒弃了传统的电子票号记录模式,采用赋码计数器计算当前应赋码的电子票号信息;赋码管道模块采用异步模型和流水线设计思路,提高赋码效率。利用本申请实现的快速电子票据赋码方法,其实现代码在后台系统服务器内存中进行执行,只有在计数器模块进行持久化操作的时候进行数据库信息更新操作,这种工作模式大大有效的减少了赋码过程中数据库的访问操作的频繁性,充分提高了的后台系统服务器资源的利用率,大大增强了电子票据赋码的时效性。

图8为根据本发明优选实施方式的用于对电子票据进行赋码的系统结构图。如图8所示,一种用于对电子票据进行赋码的系统,系统包括:

初始单元801,用于利用赋码计数器记录的票号数量信息更新数据库中对应票据类型的电子票据的电子票号,并将赋码计数器的票号数量信息复位。优选地,赋码管道队列中的赋码计数器的票号数量信息与电子票号的信息一一对应。优选地,对不同单位的不同票种设置对应的赋码计数器。

建立单元802,用于查询电子票据的所属单位持有电子票据的所有票据类型信息,建立每个票据类型信息的包括初始电子票号值和票号数量信息的赋码管道队列。

标识单元803,用于基于电子票据的所属单位和票据类型信息,设置赋码管道队列的标识。优选地,标识单元用于基于电子票据的所属单位和票据类型信息,建立赋码管道队列的标识,还用于:对电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取电子票据的所属单位和票据类型信息的标识哈希值;将标识哈希值作为票据类型赋码管道队列的标识。

接收单元804,用于接收待赋码电子票据,根据待赋码电子票据的所属单位和票据类型信息查询待赋码电子票据的赋码管道队列。接收单元804,还用于接收待赋码电子票据,根据待赋码电子票据的所属单位和票据类型信息查询待赋码电子票据的赋码管道队列,还用于:对待赋码电子票据的所属单位和票据类型信息进行消息摘要算法md5进行计算,获取待赋码电子票据的所属单位和票据类型信息的查询标识哈希值。优选地,赋码单元还用于:根据赋码计数器的票号数量信息计算当前电子票号的信息。优选地,系统还包括判断单元,用于:判断赋码计数器的票号数量信息是否超过设定的阈值;当赋码计数器的票号数量信息超过设定的阈值时,赋码管道队列重新通过数据获取电子票据的初始电子票号值和票号数量信息。

赋码单元805,用于通过赋码管道队列对待赋码电子票据进行赋码,包括:将赋码管道队列的当前电子票号的信息赋予赋码电子票据;赋码计数器的票号数量信息加1。

优选地,系统还包括控制单元,用于:设定定时触发时间;当到达定时触发时间时,禁止通过赋码管道队列对待赋码电子票据进行赋码;将赋码管道队列的赋码计数器的票号数量信息和初始电子票号更新至数据库中。

本发明优选实施方式的用于对电子票据进行赋码的系统800与本发明优选实施方式的用于对电子票据进行赋码的方法700相对应,在此不再进行赘述。

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

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

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