发票真伪查询方法和系统的制作方法_3

文档序号:8282405阅读:来源:国知局
口层。如果未查询到复核查询请求的记录,则返回空。数据接口层在接收到返回的查询结果后,将该查询结果的属性信息填充到发票查询对象中,并将填充后的发票查询对象返回至交互层。交互层对填充后的发票查询对象进行解析,由此能够快速有效得到发票真伪判定信息。
[0079]在一个实施例中,如图5所示,提供了一种发票真伪查询系统,该系统包括:接收模块502、查询模块504、解析模块506、判断模块508和确定模块510,其中:
[0080]接收模块502,用于接收发票真伪查询请求。
[0081]查询模块504,用于将查询请求转换为NoSQL数据库查询语言,并在预先建立的NoSQL数据库中进行查询。
[0082]解析模块506,用于返回查询结果并解析为与查询请求对应的信息。
[0083]判断模块508,用于判断解析后的信息是否为空。
[0084]确定模块510,用于若解析后的信息为空,则确定发票为伪发票。
[0085]本实施例中,通过将发票真伪查询请求转换为NoSQL数据库查询语言在预先建立的NoSQL数据库中进行查询,由此能够克服传统的关系型数据库在大规模数据并发查询时性能下降、查询时间大幅增加的问题,能够显著提升查询性能和查询速度。如果查询结果为空,则确定发票为伪发票。由此根据查询结果能够快速判定发票的真伪。
[0086]在一个实施例中,如图6所不,该系统还包括:第一导入模块512和第二导入模块514,其中:
[0087]第一导入模块512,用于将关系型数据库中的发票信息数据导入预先建立的NoSQL数据库。在其中一个实施例中,如图7所示,第一导入模块512包括:连接单元512a、导出单元512b、清洗单元512c和导入单元512d,其中:连接单元512a,用于建立关系型数据库与NoSQL数据库之间的连接;导出单元512b,用于通过连接,从关系型数据库中导出发票信息数据并进行保存;清洗单元512c,用于将已保存的发票信息数据进行清洗;导入单元512d,用于将清洗后的发票信息数据导入NoSQL数据库。
[0088]第二导入模块514,用于将零散的发票信息数据导入至NoSQL数据库。
[0089]在一个实施例中,如图8所示,查询模块504包括:第一转换单元504a和第二转换单元504b,其中:
[0090]第一转换单元504a,用于通过第一接口将查询请求转换为NoSQL数据库查询语言。
[0091]第二转换单元504b,用于通过第二接口增加预设组件,通过预设组件将查询请求转换为NoSQL数据库查询语言。
[0092]本实施例中,虽然采用第一接口需要将数据访问层中查询数据库的SQL格式的查询请求都修改为POST JSON的方式,但是修改后可直接调用HBase查询,因此具有较高的查询性能,百亿条发票记录一般返回时间为30ms以内,查询速度得到显著提升。第二接口可以由于采用传统的JDBC接口,由此能够更有效的利用传统的税务系统架构。
[0093]在一个实施例中,如图9所示,解析模块506包括:封装单元506a、填充单元506b和解析单元506c,其中:
[0094]封装单元506a,用于将与查询请求对应的记录通过java进程进行封装。
[0095]填充单元506b,用于将封装后的属性信息填充到发票查询对象中,并返回填充后的发票查询对象。
[0096]解析单元506c,用于对填充后的发票查询对象进行解析,得到发票真伪判定信息。
[0097]本实施例中,通过将查询结果封装后的属性信息填充到发票查询对象中,对填充后的发票查询对象进行解析,由此能够快速有效得到发票真伪判定信息。
[0098]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种发票真伪查询方法,所述方法包括: 接收发票真伪查询请求; 将所述查询请求转换为NoSQL数据库查询语言,并在预先建立的NoSQL数据库中进行查询; 返回查询结果并解析为与所述查询请求对应的信息; 判断解析后的信息是否为空; 若是,则确定所述发票为伪发票。
2.根据权利要求1所述的方法,其特征在于,所述接收发票真伪查询请求的步骤之前,还包括: 将关系型数据库中的发票信息数据导入预先建立的NoSQL数据库; 将零散的发票信息数据导入至所述NoSQL数据库。
3.根据权利要求2所述的方法,其特征在于,所述将关系型数据库中的发票信息数据导入预先建立的NoSQL数据库的步骤包括: 建立关系型数据库与所述NoSQL数据库之间的连接; 通过所述连接,从所述关系型数据库中导出发票信息数据并进行保存; 将已保存的发票信息数据进行清洗; 将清洗后的发票信息数据导入所述NoSQL数据库。
4.根据权利要求1所述的方法,其特征在于,所述将所述查询请求转换为NoSQL数据库查询语言的步骤包括: 通过第一接口将所述查询请求转换为所述NoSQL数据库查询语言;和/或通过第二接口增加预设组件,通过所述预设组件将所述查询请求转换为所述NoSQL数据库查询语言。
5.根据权利要求1所述的方法,其特征在于,所述返回查询结果并解析为与所述查询请求对应的信息的步骤包括: 将与所述查询请求对应的记录通过java进程进行封装; 将封装后的属性信息填充到发票查询对象中,并返回填充后的发票查询对象; 对所述填充后的发票查询对象进行解析,得到发票真伪判定信息。
6.一种发票真伪查询系统,其特征在于,所述系统包括: 接收模块,用于接收发票真伪查询请求; 查询模块,用于将所述查询请求转换为NoSQL数据库查询语言,并在预先建立的NoSQL数据库中进行查询; 解析模块,用于返回查询结果并解析为与所述查询请求对应的信息; 判断模块,用于判断解析后的信息是否为空; 确定模块,用于若解析后的信息为空,则确定所述发票为伪发票。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括: 第一导入模块,用于将关系型数据库中的发票信息数据导入预先建立的NoSQL数据库; 第二导入模块,用于将零散的发票信息数据导入至所述NoSQL数据库。
8.根据权利要求7所述的系统,其特征在于,所述第一导入模块包括: 连接单元,用于建立关系型数据库与所述NoSQL数据库之间的连接; 导出单元,用于通过所述连接,从所述关系型数据库中导出发票信息数据并进行保存; 清洗单元,用于将已保存的发票信息数据进行清洗; 导入单元,用于将清洗后的发票信息数据导入所述NoSQL数据库。
9.根据权利要求6所述的系统,其特征在于,所述查询模块包括: 第一转换单元,用于通过第一接口将所述查询请求转换为所述NoSQL数据库查询语言;和/或 第二转换单元,用于通过第二接口增加预设组件,通过所述预设组件将所述查询请求转换为所述NoSQL数据库查询语言。
10.根据权利要求6所述的系统,其特征在于,所述解析模块包括: 封装单元,用于将与所述查询请求对应的记录通过java进程进行封装; 填充单元,用于将封装后的属性信息填充到发票查询对象中,并返回填充后的发票查询对象; 解析单元,用于对所述填充后的发票查询对象进行解析,得到发票真伪判定信息。
【专利摘要】一种发票真伪查询方法,所述方法包括:接收发票真伪查询请求;将所述查询请求转换为NoSQL数据库查询语言,并在预先建立的NoSQL数据库中进行查询;返回查询结果并解析为与所述查询请求对应的信息;判断解析后的信息是否为空;若是,则确定所述发票为伪发票。采用本方法能够在大规模数据并行查询时确保快速有效的判定发票真伪。此外还提供一种发票真伪查询系统。
【IPC分类】G06F17-30
【公开号】CN104598587
【申请号】CN201510026113
【发明人】顾正, 李潘峰, 董朝军, 官辉
【申请人】深圳市华成峰数据技术有限公司
【公开日】2015年5月6日
【申请日】2015年1月19日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1