一种分布式数据库数据批量处理的方法及装置制造方法及图纸

技术编号:21736051 阅读:66 留言:0更新日期:2019-07-31 19:11
本发明专利技术公开了一种分布式数据库数据批量处理的方法及装置,涉及分布式数据库技术领域,其方法包括:计算节点通过对客户端发起的用于获取批量数据的SQL请求进行解析,确定是否需要进行流式获取数据的处理;当确定需要进行流式获取数据的处理时,计算节点按照流式处理方式从数据节点获取批量数据,并将所获取的批量数据返回给客户端;当确定不需要进行流式获取数据的处理时,计算节点按照非流式处理方式,从数据节点获取批量数据,并将所获取的批量数据返回给客户端。

A Method and Device for Batch Data Processing in Distributed Database

【技术实现步骤摘要】
一种分布式数据库数据批量处理的方法及装置
本专利技术涉及分布式数据库
,特别涉及一种分布式数据库数据批量处理的方法及装置。
技术介绍
在应用生产环境中,经常会对当日生产的数据进行批量处理,场景十分丰富,如每晚对用户的储蓄账户进行利息结算。数据批处理往往会涉及到数据库中的全表操作,数据量巨大,使用常规的SQL(StructuredQueryLanguage,结构化查询语言)查询将数据一次性获取至客户端会导致应用客户端内存溢出。数据库中常见的数据批量处理方法为存储过程和游标。存储过程是数据在数据库服务器本地化处理的一种方法,内部逻辑中需要的数据均可从本地获取,批处理的结果也直接写入本地数据库,这种批处理方式优点是批处理完全交给数据库完成,减少了数据的网络传输,但批处理的逻辑完全由存储过程决定,应用无法深度参与,适用于逻辑比较简单的批处理过程。而在金融行业很多业务的批处理逻辑十分复杂,批处理过程中要和很多第三方系统交互,每个账户会有完全不同的处理逻辑,需要应用深度参与。传统的游标功能支持将数据流式的传递至应用端,因此应用可以完全控制批处理的逻辑,但该方案不通用,很多开源的数据存储引擎本文档来自技高网...

【技术保护点】
1.一种分布式数据库数据批量处理的方法,包括:计算节点通过对客户端发起的用于获取批量数据的SQL请求进行解析,确定是否需要进行流式获取数据的处理;当确定需要进行流式获取数据的处理时,计算节点按照流式处理方式从数据节点获取批量数据,并将所获取的批量数据返回给客户端;当确定不需要进行流式获取数据的处理时,计算节点按照非流式处理方式,从数据节点获取批量数据,并将所获取的批量数据返回给客户端;其中,所述SQL是指结构化查询语言。

【技术特征摘要】
1.一种分布式数据库数据批量处理的方法,包括:计算节点通过对客户端发起的用于获取批量数据的SQL请求进行解析,确定是否需要进行流式获取数据的处理;当确定需要进行流式获取数据的处理时,计算节点按照流式处理方式从数据节点获取批量数据,并将所获取的批量数据返回给客户端;当确定不需要进行流式获取数据的处理时,计算节点按照非流式处理方式,从数据节点获取批量数据,并将所获取的批量数据返回给客户端;其中,所述SQL是指结构化查询语言。2.根据权利要求1所述的方法,其中,所述的计算节点按照流式处理方式从数据节点获取批量数据,并将所获取的批量数据返回给客户端的步骤包括:计算节点根据SQL形式,确定计算节点与数据节点之间采用流式处理还是采用缓存处理;当确定计算节点与数据节点之间采用流式处理时,计算节点响应客户端下发的获取数据消息,按照从客户端、计算节点至数据节点都进行流式处理的方式,使多个数据节点将其缓存的批量数据经由计算节点返回给所述客户端;当确定计算节点与数据节点之间采用缓存处理时,计算节点响应客户端下发的获取数据消息,按照将数据节点的批量数据缓存到计算节点,再由计算节点依次流式返回给所述客户端的方式,将数据节点的批量数据发送给所述客户端。3.根据权利要求1所述的方法,所述计算节点通过对客户端发起的用于获取批量数据的SQL请求进行解析,确定是否需要进行流式获取数据的处理包括:计算节点通过对客户端发起的用于获取批量数据的SQL请求进行解析,判断所述SQL请求中是否包含流式获取批量数据的fetchSize标签;若判断所述SQL请求中包含流式获取批量数据的fetchSize标签,则计算节点确定需要进行流式获取数据的处理;若判断所述SQL请求中不包含流式获取批量数据的fetchSize标签,则计算节点确定不需要进行流式获取数据的处理。4.根据权利要求2所述的方法,所述计算节点根据SQL形式,确定计算节点与数据节点之间采用流式处理还是采用缓存处理包括:计算节点根据SQL形式,生成执行计划,并判断所述执行计划是否符合预置的标准执行计划;若判断所述执行计划符合预置的标准执行计划,则计算节点确定计算节点与数据节点之间采用流式处理;若判断所述执行计划不符合预置的标准执行计划,则计算节点确定计算节点与数据节点之间采用缓存处理。5.一种分布式数据库数据批量处理的装置,包括:确定模块,用于通过对客户端发起的用于获取批量数据的SQL请求进行解析,确定是否需要进行流式获取数据的处理;流式获取模块,用于当确定需要进行流式获取数据的处理时,按照流式处理方式从数据节点获取批量数据,并将所获取的批量数据返回给客户端;非流式获取模块,用于当确定不需要进行流式获取数据的处理时,按照非流式处理方式,从数据节点获取批量数据,并将所获取的批量数据返回给客户端;其中,所述SQL是指结构化查询语言。...

【专利技术属性】
技术研发人员:邹海丽
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1