一种数据分发及并行处理方法和系统技术方案

技术编号:15198575 阅读:123 留言:0更新日期:2017-04-21 17:54
本发明专利技术公开了一种数据分发及并行处理方法和系统,所述方法包括:对初始查询指令进行解析,得到真实查询指令;将真实查询指令通过工作分配节点分发到不同的数据节点中;在每个数据节点上分别执行接收到的真实查询指令,并将查询结果返回给工作分配节点,同时在每个服务器节点上保持数据信息表的更新;在每个服务器节点上,对所述真实查询指令对应的查询表进行备份,使得每个服务器节点上保存有查询表副本;在每个服务器节点上,当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行。所述数据分发及并行处理方法及系统不仅能够保证数据的一致性而且能够提高数据查询的速度和效率。

Data distribution and parallel processing method and system

The invention discloses a data distribution and parallel processing method and system, the method includes: analysis of the initial inquiry instruction, real inquiry instruction; the real query instruction through assignment nodes distributed to different data nodes; respectively performs query instructions received in each data node, and the query results are returned to the assignment node, while keeping the data information table is updated at each server node; in each server node, the query table corresponding to the real query instruction for backup, so that each server node has the query table copy; in each server node, when detected the presence of concurrent conflict when, by calling the query table copy server node for the real query instruction concurrent execution. The data distribution and parallel processing method and system can not only ensure the consistency of data, but also improve the speed and efficiency of data query.

【技术实现步骤摘要】

本专利技术涉及数据处理
,特别是指一种数据分发及并行处理方法和系统
技术介绍
并行处理的方法是在信息处理时采用并行手段从而达到高效开发和计算的一种处理方式。换言之,它是指在同一时间范围内完成多项工作,这些工作可以性质相同,也可以性质不同。只要时间上存在重叠,都可以称之为并行。它主要应用于高性能处理机、大型数据库管理、复杂数学建模等领域,而它的应用范围仍然在不停地扩大。它主要包含三要素:同时性、并发性、流水性。为达到高性能且满足较大计算量的需求,可以采用并行计算模型进行数据处理。大数据分析在许多业务领域中,包括金融企业、政府机构和保险机构等越来越普遍。其应用范围从产生简单的报表到执行复杂的分析工作负载。难点在于:随着数据量的增加,如何在这些领域开展分析查询并进行存储。一般来说,分布式系统设计时需要考虑数据一致性(Consistency)、可用性(Availability)和分区容错性(Partitiontolerance)。数据一致性指的是,如果数据复制到了多台服务器,当数据发生更新时全部服务器也需要更新;可用性指的是对用户需求响应及时;分区容错性即节点的可扩展性。大规模并行处理MPP(MassivelyParallelProcessing)结构可以通过跨多节点和进程分布式存储和查询来应对这些挑战。MPP可通过互联网通信连接,其终端可用多台成本低廉的服务器共同处理。在MPP架构中,每个模块都拥有独立的CPU、存储等对每个模块的数据进行管理,并允许动态地增加或删除服务器节点。因此这些模块之间的数据和计算能力并不共享,数据分布在本地存储。具体的,MPP由多个SMP(SymmetricMulti-Processor)服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度可以看作是一个服务器系统。其基本特征是由多个SMP服务器,每个SMP服务器称为一个节点或一个服务器节点,通过节点互联网络连接而成,每个节点只访问自己的内存、存储等本地资源,是一种完全无共享(sharenothing)结构;MPP的扩展能力较好,理论上其扩展无限制。参照图4所示,为一种MPP架构的结构示意图。在MPP系统中,每个节点内的CPU不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配。MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前一些基于MPP技术的服务器往往通过系统级软件(如数据库)屏蔽这种复杂性。MPP数据库将任务并行地分散到多个服务器和节点上,在每个节点计算完成后,将各自的结果汇总在一起从而得到最终结果。虽然MPP可以实现较大规模的CPU的连接,但正是由于其无共享的特点,使得数据一致性的保持存在一定难度。由于MPP系统不共享资源,因此所需占用资源比SMP要多,当通信时间较多时,MPP系统就不能充分发挥资源优势来实现高效率。因此,专利技术人在实现本专利技术的过程中发现现有技术至少存在以下问题:数据库中数据的一致性不好以及数据的查询速度和效率较低。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种数据分发及并行处理方法和系统,不仅能够保证数据的一致性而且能够提高数据查询的速度和效率。基于上述目的本专利技术提供的数据分发及并行处理方法,包括:接收用户端输入的初始查询指令;对所述初始查询指令进行解析,得到符合标准的真实查询语句,并作为真实查询指令;将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询指令分发到不同的数据节点中;其中,所述工作分配节点和数据节点是指数据库中所有服务器节点按照预设功能划分的节点;且所述工作分配节点用于管理数据节点的任务分配和查询结果;在每个数据节点上分别执行接收到的真实查询指令,并将查询结果返回给工作分配节点,同时在每个服务器节点上保持数据信息表的更新;在每个服务器节点上,对所述真实查询指令对应的查询表进行备份,使得每个服务器节点上保存有查询表副本;在每个服务器节点上,当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行。可选的,所述当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行的步骤包括:在每个服务器节点中检测所述真实查询指令是否存在并发冲突;若不存在并发冲突,则提交查询任务;其中,所述查询任务为真实查询指令对应的查询任务;若存在并发冲突,则调用当前服务器节点上的自适应备份与当前查询任务进行比较,对所述自适应备份执行查询任务;若全部服务器节点中的查询任务均执行成功,则返回提交查询任务的决策,否则,返回撤回查询任务的决策。可选的,将数据库中的所有服务器节点按照预设的功能划分为工作分配节点和数据节点的方法包括:检测每个服务器节点的本地存储量和计算处理能力;判断当前服务器节点的计算处理能力是否大于预设的性能阈值,若是,则当前服务器节点设定为工作分配节点,否则当前服务器节点设定为数据节点;或者,判断当前服务器节点的本地存储量是否大于预设的储存阈值,若是,则当前服务器节点设定为数据节点;否则当前服务器节点设定为工作分配节点。可选的,所述将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询指令分发到不同的数据节点中的步骤还包括:检测每个服务器节点的具体使用情况;根据检测结果采用预设的均衡策略,在每个服务器节点上分配数据节点和对应的空间。可选的,所述均衡策略为空间使用率最低的策略。可选的,所述在每个服务器节点上保持数据信息表的更新的步骤还包括:复制并存储所述数据信息表的位置信息和相关操作信息。可选的,所述在每个服务器节点上保持数据信息表的更新的步骤还包括:将每个数据节点中的全部数据均备份到指定的数据节点中;保持每个数据节点中全部数据以及对应数据备份的同步更新;在每个数据节点上保存每个数据节点的位置信息。可选的,所述对所述初始查询指令进行解析的步骤还包括:对用户端输入的字符进行词法分析,得到符合标准的单词;对多个连续的单词进行语法分析,得到符合语法逻辑的语句,并同时构建得到抽象语法树;根据所述抽象语法树进行逻辑SQL语句到真实SQL语句的转换,得到符合标准的真实查询语句,并作为真实查询指令。本专利技术还提供了一种数据分发及并行处理系统,包括:输入单元,用于接收用户端输入的初始查询指令;解析单元,用于对所述初始查询指令进行解析,得到符合标准的真实查询语句,并作为真实查询指令;分发单元,用于将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询指令分发到不同的数据节点中;其中,所述工作分配节点和数据节点是指数据库中所有服务器节点按照预设功能划分的节点;且所述工作分配节点用于管理数据节点的任务分配和查询结果;处理单元,用于在每个数据节点上分别执行接收到的真实查询指令,并将查询结果返回给工作分配节点,同时在每个服务器节点上保持数据信息表的更新;备份单元,用于在每个服务器节点上,对所述真实查询指令对应的查询表进行备份,使得每个服务器节点上保存有查询表副本;并发单元,用于在每个服务器节点上,当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行。从上面所述可以看出,本专利技术提供的数据分发及本文档来自技高网
...
一种数据分发及并行处理方法和系统

【技术保护点】
一种数据分发及并行处理方法,其特征在于,包括:接收用户端输入的初始查询指令;对所述初始查询指令进行解析,得到符合标准的真实查询语句,并作为真实查询指令;将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询指令分发到不同的数据节点中;其中,所述工作分配节点和数据节点是指数据库中所有服务器节点按照预设功能划分的节点;且所述工作分配节点用于管理数据节点的任务分配和查询结果;在每个数据节点上分别执行接收到的真实查询指令,并将查询结果返回给工作分配节点,同时在每个服务器节点上保持数据信息表的更新;在每个服务器节点上,对所述真实查询指令对应的查询表进行备份,使得每个服务器节点上保存有查询表副本;在每个服务器节点上,当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行。

【技术特征摘要】
1.一种数据分发及并行处理方法,其特征在于,包括:接收用户端输入的初始查询指令;对所述初始查询指令进行解析,得到符合标准的真实查询语句,并作为真实查询指令;将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询指令分发到不同的数据节点中;其中,所述工作分配节点和数据节点是指数据库中所有服务器节点按照预设功能划分的节点;且所述工作分配节点用于管理数据节点的任务分配和查询结果;在每个数据节点上分别执行接收到的真实查询指令,并将查询结果返回给工作分配节点,同时在每个服务器节点上保持数据信息表的更新;在每个服务器节点上,对所述真实查询指令对应的查询表进行备份,使得每个服务器节点上保存有查询表副本;在每个服务器节点上,当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行。2.根据权利要求1所述的方法,其特征在于,所述当检测到存在并发冲突时,通过调用当前服务器节点上的查询表副本对真实查询指令并发执行的步骤包括:在每个服务器节点中检测所述真实查询指令是否存在并发冲突;若不存在并发冲突,则提交查询任务;其中,所述查询任务为真实查询指令对应的查询任务;若存在并发冲突,则调用当前服务器节点上的自适应备份与当前查询任务进行比较,对所述自适应备份执行查询任务;若全部服务器节点中的查询任务均执行成功,则返回提交查询任务的决策,否则,返回撤回查询任务的决策。3.根据权利要求1所述的方法,其特征在于,将数据库中的所有服务器节点按照预设的功能划分为工作分配节点和数据节点的方法包括:检测每个服务器节点的本地存储量和计算处理能力;判断当前服务器节点的计算处理能力是否大于预设的性能阈值,若是,则当前服务器节点设定为工作分配节点,否则当前服务器节点设定为数据节点;或者,判断当前服务器节点的本地存储量是否大于预设的储存阈值,若是,则当前服务器节点设定为数据节点;否则当前服务器节点设定为工作分配节点。4.根据权利要求1所述的方法,其特征在于,所述将所述真实查询指令发送到工作分配节点,并通过所述工作分配节点将所述真实查询...

【专利技术属性】
技术研发人员:孙乔付兰梅邓卜侨孙雷陆旭刘炜崔伟高阿朋裴旭斌吴舜聂晓波吴芃
申请(专利权)人:北京国电通网络技术有限公司国家电网公司国网浙江省电力公司北京中电飞华通信股份有限公司国网信息通信产业集团有限公司国网冀北电力有限公司国网内蒙古东部电力有限公司北京万里开源软件有限公司
类型:发明
国别省市:北京;11

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

1