基于SQLServer和HIVE的报表处理方法与流程

文档序号:11216475阅读:1368来源:国知局
基于SQL Server和HIVE的报表处理方法与流程

本发明涉及一种基于sqlserver(关系型数据库管理系统)和hive(数据仓库工具)的报表处理方法。



背景技术:

当前财务报表使用sqlserver处理,采用的是顺序模式处理数据,后续处理必须等前面处理完成才执行,串行生成最终报表所需的数据。目前亿以上级别的数据处理使用现有的串行处理的方式已无法满足快速处理的性能需求。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中sqlserver处理财务报表数据采用顺序模式,串行生成最终报表结果数据,导致结果生成时间过长的缺陷,提供了一种基于sqlserver和hive的报表处理方法。

本发明是通过下述技术方案来解决上述技术问题:

一种基于sqlserver和hive的报表处理方法,包括:

s1、sqlserver获取财务报表的订单数据,并将所述订单数据同步到hive中,每个订单数据均包括第一类数据和第二类数据;

s2、sqlserver处理每个订单的第一类数据生成第一处理结果,同时,hive处理每个订单的第二类数据生成第二处理结果,再将所述第二处理结果同步到sqlserver中;

s3、sqlserver根据所述第一处理结果和所述第二处理结果生成结果列表。

本方案中,财务报表中的订单数据按照数据的特性分别用sqlserver和hive同时处理,充分发挥hive处理大数据与sqlserver索引查询数据快的优点,从而达到缩短财务报表结果生成的总时长。

较佳地,步骤s1之前还包括:

将历史订单数据更新到数据库中,所述历史订单数据更新完成后生成一信号量;

sqlserver根据所述信号量从所述数据库中获取所述历史订单数据生成财务报表。

较佳地,所述订单为机票订单。

较佳地,所述第一类数据包括已出票应收款数据、已退票应收款数据、已出票实收款数据、已退票实收款数据、已出票应退款数据、已出票实退款数据、已退票实退款数据和应收款调整数据,所述第一处理结果包括第一应收金额数据、实收金额数据、第一应退金额数据和实退金额数据。

较佳地,sqlserver还用于将所述第一应收金额数据同步到hive中。

较佳地,所述第二类数据包括已出票未收款数据、已退票未收款数据、未退票已退款数据、已退票应退款数据、应退保险数据和应收保险数据,所述第二处理结果包括第二应收金额数据和第二应退金额数据。

较佳地,步骤s2中sqlserver并行处理相互独立的所述第一类数据。

本方案中,处理对象为机票订单,每天会将今天之前的机票订单的收款退款流水记录更新到数据库中,更新完成后生成一信号量,这里的信号量用于确保更新到数据库中的订单数据的完整性,防止某个订单出现数据缺失的情况,再按照数据的特性将机票订单数据分类分别给sqlserver和hive处理,其中,sqlserver中相互独立的第一类数据并行处理,进一步提升处理速度,另外,sqlserver处理生成的第一应收金额数据需同步到hive中进一步处理。

本发明的积极进步效果在于:利用hive与sqlserver的特性,充分发挥hive处理大数据与sqlserver索引查询数据快的优点,将原有的串行处理根据数据的特性分给hive和sqlserver共同处理,且sqlserver中将相互独立的数据并行处理,不需相互等待运行,此种处理方式大幅度缩短财务报表结果生成的总时长。

附图说明

图1为本发明实施例1基于sqlserver和hive的报表处理方法的流程图。

图2为本发明实施例2基于sqlserver和hive的报表处理方法的流程图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

一种基于sqlserver和hive的报表处理方法,具体如图1所示,包括:

步骤101、sqlserver获取财务报表的订单数据,并将所述订单数据同步到hive中,每个订单数据均包括第一类数据和第二类数据;

步骤102、sqlserver处理每个订单的第一类数据生成第一处理结果,同时,hive处理每个订单的第二类数据生成第二处理结果,再将所述第二处理结果同步到sqlserver中;

步骤103、sqlserver根据所述第一处理结果和所述第二处理结果生成结果列表。

本实施例中,财务报表中的订单数据按照数据的特性分别用sqlserver和hive同时处理,充分发挥hive处理大数据与sqlserver索引查询数据快的优点,从而达到缩短财务报表结果生成的总时长。

实施例2

本实施例的报表处理方法是在实施例1的基础上进一步改进,具体如图2所示,所述订单为机票订单,步骤101之前还包括:

步骤100、将历史订单数据更新到数据库中,所述历史订单数据更新完成后生成一信号量;sqlserver根据所述信号量从所述数据库中获取所述历史订单数据生成财务报表。

其中,第一类数据包括已出票应收款数据、已退票应收款数据、已出票实收款数据、已退票实收款数据、已出票应退款数据、已出票实退款数据、已退票实退款数据和应收款调整数据,第二类数据包括已出票未收款数据、已退票未收款数据、未退票已退款数据、已退票应退款数据、应退保险数据和应收保险数据;其中,sqlserver并行处理相互独立的所述第一类数据。

所述第一处理结果包括第一应收金额数据、实收金额数据、第一应退金额数据和实退金额数据,第二处理结果包括第二应收金额数据和第二应退金额数据,sqlserver还用于将所属第一处理结果中的所述第一应收金额数据同步到hive中,以进一步计算得出hive中处理得到的所述第二应收金额数据。

本实施例中,以机票订单为处理对象,每天会将今天之前的机票订单的收款退款流水记录更新到数据库中,再按照订单数据的特性将机票订单数据分类分给sqlserver和hive处理,其中,sqlserver中相互独立的第一类数据并行处理,进一步提升处理速度。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。



技术特征:

技术总结
本发明公开了一种基于SQL Server和HIVE的报表处理方法,包括:SQL Server获取财务报表的订单数据,并将订单数据同步到HIVE中,每个订单数据均包括第一类数据和第二类数据;SQL Server处理每个订单的第一类数据生成第一处理结果,同时,HIVE处理每个订单的第二类数据生成第二处理结果,再将第二处理结果同步到SQL Server中;SQL Server根据第一处理结果和第二处理结果生成结果列表。本发明将财务报表中的订单数据按照数据的特性分给SQL Server和HIVE同时处理,充分发挥HIVE处理大数据与SQL Server索引查询数据快的优点,缩短结果生成的总时长。

技术研发人员:王文龙;金丽丽;王春晓
受保护的技术使用者:携程旅游网络技术(上海)有限公司
技术研发日:2017.06.05
技术公布日:2017.10.10
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1