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

技术编号:21453661 阅读:22 留言:0更新日期:2019-06-26 04:41
本发明专利技术公开了一种分布式数据处理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取计算业务,所述计算业务中包括SQL命令;获取SQLite Node的地址信息;从数据库集群的列表中,选出与所述地址信息对应的SQLite Node作为执行机器;在所述执行机器中执行所述SQL命令。该实施方式克服了不支持SQL语法的技术问题,能够更好的支持复杂的计算业务,进而达到缩短了开发周期、降低了成本的有益效果。同时,读写性能高、并发高、支持水平扩展,更适用于实时计算领域;SQLite数据库集群作为一种轻量级分布式架构,避免了成本很高、维护的人力物力高、学习成本高等问题。

【技术实现步骤摘要】
一种分布式数据处理的方法和装置
本专利技术涉及计算机
,尤其涉及一种分布式数据处理的方法和装置。
技术介绍
现如今信息技术成为各个领域不可或缺的基础服务设施,数据库作为服务端数据的载体,进行数据的管理和分析,是各种信息系统的核心部分。传统的关系型数据库侧重于数据的持久化、一致性、数据安全等方面。非关系型数据库的读写性能高,支持水平扩展,能对实时数据进行临时存储、计算,能够良好的支撑高实时性业务场景。在实现本专利技术过程中,专利技术人发现现有技术中的非关系数据库、关系型数据库中至少存在如下问题:1.现有的非关系数据库的计算模型比较简单,不支持SQL语法,在数据模型复杂并变化频繁的情况下,需要通过代码实现很多SQL现有的计算逻辑,开发周期长、成本较高。2.对于时效性短、写频繁、数据量弹性变化大的数据,传统的关系型数据库写性能、并发性能、水平扩展能力有限,无法适用;而大型的分布式关系型数据库,使用成本很高,维护的人力物力高,学习成本高。
技术实现思路
有鉴于此,本专利技术实施例提供一种分布式数据处理的方法和装置,采用基于SQLite数据库集群的分布式数据处理的技术手段,克服了不支持SQL语法的技术问题,能够更好的支持复杂的计算业务,进而达到缩短了开发周期、降低了成本的有益效果。同时,读写性能高、并发高、支持水平扩展,更适用于实时计算领域;SQLite数据库集群作为一种轻量级分布式架构,避免了成本很高、维护的人力物力高、学习成本高等问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种分布式数据处理的方法,包括:获取计算业务,所述计算业务中包括SQL命令;获取SQLiteNode的地址信息;从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器;在所述执行机器中执行所述SQL命令。可选地,所述地址信息包括:SQLiteNode的IP地址、SQLiteNode中的工作者worker进程的端口号;每个SQLiteNode对应多个worker进程;所述计算业务中包括哈希值;从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器,包括:采用一致性哈希算法,根据所述哈希值、SQLiteNode的IP地址、SQLiteNode中的worker进程的端口号,确定worker进程;将确定的worker进程作为执行机器。可选地,在所述执行机器中执行所述SQL命令,包括:在所述执行机器中创建SQLite内存In-memory实例;在SQLiteIn-memory实例中执行SQL命令。可选地,在所述执行机器中执行所述SQL命令之后,包括:将执行结果组包为数据编码格式。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种分布式数据处理的装置,其特征在于,包括:计算业务获取模块、地址信息获取模块、执行机器选择模块、执行模块;所述计算业务获取模块,用于:获取计算业务,所述计算业务中包括SQL命令;所述地址信息获取模块,用于:获取SQLiteNode的地址信息;所述执行机器选择模块,用于:从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器;所述执行模块,用于:在所述执行机器中执行所述SQL命令。可选地,所述地址信息获取模块,用于:获取SQLiteNode的IP地址、SQLiteNode中的工作者worker进程的端口号;每个SQLiteNode对应多个worker进程;所述计算业务获取模块,用于:获取哈希值;所述执行机器选择模块,用于:采用一致性哈希算法,根据所述哈希值、SQLiteNode的IP地址、SQLiteNode中的worker进程的端口号,确定worker进程;将确定的worker进程作为执行机器。可选地,所述执行模块,用于:在所述执行机器中创建SQLite内存In-memory实例;在SQLiteIn-memory实例中执行SQL命令。可选地,所述执行模块,还用于:将执行结果组包为数据编码格式。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术所提供的分布式数据处理的方法。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术所提供的分布式数据处理的方法。上述专利技术中的一个实施例具有如下优点或有益效果:采用基于SQLite数据库的分布式数据处理的技术手段,克服了不支持SQL语法的技术问题,能够更好的支持复杂的计算业务,进而达到缩短了开发周期、降低了成本的有益效果。同时,读写性能高、并发高、支持水平扩展,更适用于实时计算领域。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的分布式数据处理的方法的优选流程的示意图;图2是根据本专利技术实施例的SQLiteNode的架构图;图3是根据本专利技术实施例的worker进程的工作流程图;图4是根据本专利技术实施例的SDK接口工作流程图;图5是根据本专利技术实施例的分布式数据处理的装置的基本组成部分的示意图;图6是本专利技术实施例可以应用于其中的示例性系统架构图;图7是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的分布式数据处理的方法的优选流程的示意图。如图1所示,本专利技术实施例提供了一种分布式数据处理的方法,可以包括:步骤S101获取计算业务,所述计算业务中包括SQL命令;步骤S102获取SQLiteNode的地址信息;步骤S103从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器;步骤S104在所述执行机器中执行所述SQL命令。所述数据库集群包括在SQLite数据库的基础上,添加网络访问功能、数据传输协议后形成的SQLite数据库集群,SQLiteNode为数据库集群的节点;所述数据库集群的列表由zookeeper注册中心生成,所述数据库集群的列表中包括多个SQLiteNode的地址信息。zookeeper是一个开放源码的分布式应用程序协调服务,基于zookeeper可以实现服务注册,本实施例中的服务注册是指将SQLiteNode的IP地址、SQLiteNode中的工作者worker进程的端口号注册到zookeeper的过程。本专利技术实施例采用基于SQLite数据库的分布式数据处理的技术手段,克服了不支持SQL语法的技术问题,能够更好的支持复杂的计算业务,进而达到缩短了开发周期、降低了成本的有益效果。同时,读写性能高、并发高、支持水平扩展,更适用于实时计算领域。本专利技术实施例中,所述地址信息可以包括但不限于:SQLiteNode本文档来自技高网...

【技术保护点】
1.一种分布式数据处理的方法,其特征在于,包括:获取计算业务,所述计算业务中包括SQL命令;获取SQLite Node的地址信息;从数据库集群的列表中,选出与所述地址信息对应的SQLite Node作为执行机器;在所述执行机器中执行所述SQL命令。

【技术特征摘要】
1.一种分布式数据处理的方法,其特征在于,包括:获取计算业务,所述计算业务中包括SQL命令;获取SQLiteNode的地址信息;从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器;在所述执行机器中执行所述SQL命令。2.根据权利要求1所述的方法,其特征在于,所述地址信息包括:SQLiteNode的IP地址、SQLiteNode中的工作者worker进程的端口号;每个SQLiteNode对应多个worker进程;所述计算业务中包括哈希值;从数据库集群的列表中,选出与所述地址信息对应的SQLiteNode作为执行机器,包括:采用一致性哈希算法,根据所述哈希值、SQLiteNode的IP地址、SQLiteNode中的worker进程的端口号,确定worker进程;将确定的worker进程作为执行机器。3.根据权利要求1或2所述的方法,其特征在于,在所述执行机器中执行所述SQL命令,包括:在所述执行机器中创建SQLite内存In-memory实例;在SQLiteIn-memory实例中执行SQL命令。4.根据权利要求1所述的方法,其特征在于,在所述执行机器中执行所述SQL命令之后,包括:将执行结果组包为数据编码格式。5.一种分布式数据处理的装置,其特征在于,包括:计算业务获取模块、地址信息获取模块、执行机器选择模块、执行模块;所述计算业务获取模块,用于:获取计算业务,所述计算业务中包括SQL命令;所述地址信息获取模块...

【专利技术属性】
技术研发人员:喻海林李猛支海邦
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1