技术领域
[0001] 本发明涉及金融领域,尤其涉及一种电子发票数据查询方法。
相关背景技术
[0002] 目前,电子发票数据的存储和查询都是基于传统的关系型数据库,虽然能满足一般的开具发票、查询发票的业务需求,但是由于传统关系型数据库单表存储海量数据时,查询响应速度慢,高并发查询条件下很容易造成服务宕机。
具体实施方式
[0017] 以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
[0018] 如图1所示,本发明实施例提供一种电子发票数据查询方法,包括:
[0019] 11、获取电子发票数据查询条件;
[0020] 12、根据所述电子发票数据查询条件,从分布式集群的Solr(一种全文检索引擎)中索引到要查询数据的主键,从存取发票数据的HBase(一种分布式的、面向列的开源数据库)中查询相应的数据,实现电子发票数据查询。
[0021] 在一个实施例中,所述获取电子发票数据查询条件之前包括:
[0022] 一条发票数据保存到HBase后,生成所述该条发票数据对应的索引;
[0023] 将该索引保存到分布式集群的Solr中。
[0024] 在一个实施例中,该方法还包括:
[0025] 采用了分布式数据库HBase,存储该条发票数据。
[0026] 在一个实施例中,该方法还包括:
[0027] 该条发票数据时根据数据主键的哈希值将数据保存到对应节点的分片上,如果发票数据重复保存,则替换原来保存的数据。
[0028] 本发明实施例,针对海量电子发票数据,显然单节点已经不能满足数据的存储要求,因此采用了分布式数据库HBase,实现了数据的分布式存储,及数据的容灾,保存数据时根据数据主键的哈希值将数据保存到对应节点的分片上,如果发票数据重复保存,会替换原来保存的数据,解决了海量发票数据重复保存问题。
[0029] 本发明实施例,当发票数据保存到HBase成功后,再为这条发票数据保存索引,将发票的索引数据保存到分布式集群的Solr中。多条件查询时,从Solr集群中快速索引到要查询数据的主键,从HBase中查询相应的数据,实现海量发票数据多条件查询秒级返回。
[0030] 本发明实施例的电子发票数据查询方法,获取电子发票数据查询条件,根据所述电子发票数据查询条件,从分布式集群的Solr中索引到要查询数据的主键,从存取发票数据的HBase中查询相应的数据,实现电子发票查询,从而能够提高电子发票查询速度。
[0031] 本发明实施例可以在高并发条件下实现电子发票数据存储入数据库的时间缩短至毫秒级,并使基于海量电子发票数据多条件查询的秒级返回,同时确保高可用,支持资源的线性扩展,为后期业务的扩展提供支撑。本发明实施例采用分布式数据库存储数据,并对存储的电子发票数据进行索引,不仅实现了海量电子发票数据的存储,而且解决了发票数据快速查询的难题。
[0032] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。