无环数据分析队列的形成方法及包含其的大数据支撑平台技术

技术编号:17265411 阅读:20 留言:0更新日期:2018-02-14 12:55
本发明专利技术提供了一种无环数据分析队列的形成方法及包含其的大数据支撑平台,其中,无环数据分析队列的形成方法包括以下步骤:S21、用户通过用户终端构建任务流程并填写任务流程使用的每个算子参数;S22、服务器接收来自用户终端的任务流程及任务流程使用的每个算子参数;S23、服务器建立邻接矩阵M:S231、设任务流程为一有向图G,有向图G的节点处为任务流程中算子所在处,任务流程中算子的数量为N,建立一个N*N的邻接矩阵;S24、环判断。该无环数据分析队列的形成方法及包含其的大数据支撑平台解决现有技术中用户建立任务流程存在闭合环而导致进行底层调用是出现死循环现象的问题。

The formation method of the acyclic data analysis queue and the large data support platform containing it

The invention provides a loop free queue forming method and data analysis of large data contains the support platform, the acyclic data analysis queue forming method comprises the following steps: S21, the user through the user terminal construction process and complete each task flow using operator parameter; S22, the server receives from the user terminal the workflow and task flow using the S23 server, each operator parameter; establish adjacency matrix M:S231, task flow is a directed graph with G nodes to figure G for the task in the process where the number of operators, the operator task in the process of N, the adjacency matrix to build a N*N ring, S24; judge. The acyclic data analysis queue generation method and the supporting platform for big data, which solve the problem of closed loop in the existing technology, can cause the phenomenon of dead circulation.

【技术实现步骤摘要】
无环数据分析队列的形成方法及包含其的大数据支撑平台
本专利技术涉及数据分析平台,具体涉及一种无环数据分析队列的形成方法及包含其的大数据支撑平台。
技术介绍
中国专利中公开了一种公开号为CN105550268B大数据流程建模分析引擎,该大数据流程建模分析引擎包括平台层、任务调度层和界面层;所述平台层完成资源调度、分配工作;所述任务调度层包括校验模块、解析模块、任务调度模块和算法包;其中,所述校验模块提供数据分析流程是否符合流程设计规则的校验功能,符合校验规则的部分,可以进入解析模块;所述解析模块提供将界面层生成的数据分析流程转换为可执行的数据分析流程任务的解析功能;所述任务调度模块根据解析模块生成的完整的数据分析流程,调度所述算法包中的各类数据分析算法接口,组成完整的可运行的分析流程任务程序,并调度底层资源进行数据分析程序的执行;所述界面层:提供数据分析建模操作的平台界面,每一个数据分析的算法包均在界面上以唯一标识的可拖拽式组件存在,用户通过界面操作各算法组件,并以有向线条连接,表示数据分析流程方向和步骤,组合成完整的业务数据分析算法模型,通过界面的启动功能运行后台任务调度模块和算法包,调度资源完成数据的快速分析和处理。虽然该大数据流程建模分析引擎能一定程度上高效、快速地处理大量数据,但是该大数据流程建模分析引擎存在的缺点为:该大数据流程建模分析引擎是针对用户创建数据分析流程图,然后平台自动生成与数据分析流程图对应的算子队列,然后用户输入待分析数据,待分析数据经过算子队列中每个算子一一处理,最终得到分析数据。但是,用户创建数据分析流程图过程中,极有可能存在闭合的环,因此在对待分析数据进行处理时,到达闭合的环内计算时,会出现死循环计算的情况,占用大量的CPU计算空间,使得其他计算缓慢。
技术实现思路
本专利技术提供了一种无环数据分析队列的形成方法及包含其的大数据支撑平台,解决现有技术中用户建立任务流程存在闭合环而导致进行底层调用是出现死循环现象的问题。为实现上述目的,本专利技术采用了如下的技术方案:一种无环数据分析队列的形成方法,包括以下步骤:S21、用户通过用户终端构建任务流程并填写任务流程使用的每个算子参数;S22、服务器接收来自用户终端的任务流程及任务流程使用的每个算子参数;S23、服务器建立邻接矩阵M:S231、设任务流程为一有向图G,有向图G的节点处为任务流程中算子所在处,任务流程中算子的数量为N,建立一个N*N的邻接矩阵;S232、对每一对一算子到另一算子之间有有向边进行如下处理:设一算子i1到另一算子j1之间有有向边,则在邻接矩阵M中第i1行第j1列的值被赋为1;对每一算子到另一算子之间无有向边进行如下处理:设一算子i2到另一算子j2之间无有向边,则在邻接矩阵M中第i2行第j2列的值被赋为0;S24、环判断:S241、找出M中第i3列上的数值全为0,并找出第i3列所对应的算子opi3;S242、算子opi3对应第i3行,找出第i3行上不为0的列值j3,找出j3对应算子opj3;S246、删除M中的第i3行和第i3列,重复步骤S41~S45,直到矩阵M中不存在数值全为0的列;S247、M中剩余的行所对应的算子均被判定为无效。优选的是,在步骤S23后且步骤S24之前需进行算子输入数判断以及算子参数判断;算子输入数判断具体包括以下步骤:首先,根据使用者构建的任务流程,统计出各个算子的输入数量;然后,将统计出的每个算子的输入数量均与所述算子设计中规定的输入端口数量进行比较,若相等,则所述算子当前有效;如果不等,则所述算子被判定为无效;算子参数判断具体为:对每个算子的参数进行数量判断,若所述算子存在参数值为空的情况,则所述算子被判定为无效。优选的是,步骤S24还包括以下在步骤S242与步骤S246之间进行的步骤:S243、判断算子opj3是否有效,若opj3当前为有效,则opj3有效性等于opi3的有效性;若opj3当前为无效,则opi3继续保持原无效状态;S244、重复步骤S242~S243,直到第i3行上所有不为0的列均被处理过;S245、判断算子opi3是否有效,若opi3有效,则将opi3加入可执行任务队列并进行步骤S246;若opi3无效,则不加入可执行任务队列intQ并保持无效;优选的是,在进行步骤S243同时还需标记算子opi3的执行类别,标记原则如下;执行类别分为:普通、合并开始、合并结束以及合并中;在算子中有算子类别为:合并处理开始分算子以及合并处理结束分算子;合并处理开始分算子的执行类别为合并开始,合并处理结束分算子的执行类别为合并结束,在任务流程中位于合并处理开始分算子与合并处理结束分算子之间的算子执行类别为合并中,在任务流程中位于合并处理开始分算子与合并处理结束分算子之外的算子执行类别为普通;在进行完步骤S247后需进行算子执行类别有效性判断,算子执行类别有效性判断具体包括以下步骤:S251、可执行任务队列intQ头部算子q出队,得到其算子类别typeq和执行类别dtq;S252、根据typeq和dtq对算子q进行以下有效性判断:a、当算子q的执行类别为合并开始时,则判断算子q的输入是否为合并中算子或另一合并开始算子的输出,若是,则算子q无效;若否,则算子q保持原无效或有效状态;b、当算子q的执行类别为合并中且算子q为多输入算子时,则判断算子q是否是一个输入的是双数据集数据流且另一个输入是单数据集数据流,若是,则算子q保持原无效或有效状态;若否,则算子q无效;c、当算子q的执行类别为合并中时,判断算子q的输出到写数据源算子,若是,则算子q无效;若否,则算子q保持原无效或有效状态;d、除a、b以及c情况之外的算子q不进行判断,算子q保持原无效或有效状态;S253、检查算子q的无效或有效状态,若算子q为有效状态,将其加入最终执行队列taskQ;若算子q为无效状态,则将剔除算子q;S254、重复步骤S241~S242,直到可执行任务队列intQ为空,得到最终执行队列taskQ。本专利技术还提供一种大数据支撑平台,包括:使用上述无环数据分析队列的形成方法的用户终端和服务器。相比于现有技术,本专利技术具有如下有益效果:通过设置步骤S23和S24,实现解决现有技术中用户建立任务流程存在闭合环而导致进行底层调用是出现死循环现象的问题,避免计算时出现死循环,减轻CPU的负担,使得CPU有更多的空间来计算正确的任务流程,避免出现不必要的计算。附图说明图1为实施例1中步骤S24中判断为无闭合环的例子1;图2为实施例1中步骤S24中判断为无闭合环的例子2;图3为实施例1中步骤S252中a情况下判定算子无效的例子3;图4为实施例1中步骤S252中b情况下判定算子无效的例子4;图5为实施例1中步骤S252中c情况下判定算子无效的例子5。具体实施方式实施例1:一种无环数据分析队列的形成方法,包括以下步骤:S21、用户通过用户终端构建任务流程并填写任务流程使用的每个算子参数;S22、服务器接收来自用户终端的任务流程及任务流程使用的每个算子参数;S23、服务器建立邻接矩阵M:S231、设任务流程为一有向图G,有向图G的节点处为任务流程中算子所在处,任务流程中算子的数量为N,建立一个N*N的邻接矩阵;S232、对每一对一本文档来自技高网
...
无环数据分析队列的形成方法及包含其的大数据支撑平台

【技术保护点】
一种无环数据分析队列的形成方法,其特征在于,包括以下步骤:S21、用户通过用户终端构建任务流程并填写任务流程使用的每个算子参数;S22、服务器接收来自用户终端的任务流程及任务流程使用的每个算子参数;S23、服务器建立邻接矩阵M:S231、设任务流程为一有向图G,有向图G的节点处为任务流程中算子所在处,任务流程中算子的数量为N,建立一个N*N的邻接矩阵;S232、对每一对一算子到另一算子之间有有向边进行如下处理:设一算子i1到另一算子j1之间有有向边,则在邻接矩阵M中第i1行第j1列的值

【技术特征摘要】
1.一种无环数据分析队列的形成方法,其特征在于,包括以下步骤:S21、用户通过用户终端构建任务流程并填写任务流程使用的每个算子参数;S22、服务器接收来自用户终端的任务流程及任务流程使用的每个算子参数;S23、服务器建立邻接矩阵M:S231、设任务流程为一有向图G,有向图G的节点处为任务流程中算子所在处,任务流程中算子的数量为N,建立一个N*N的邻接矩阵;S232、对每一对一算子到另一算子之间有有向边进行如下处理:设一算子i1到另一算子j1之间有有向边,则在邻接矩阵M中第i1行第j1列的值被赋为1;对每一算子到另一算子之间无有向边进行如下处理:设一算子i2到另一算子j2之间无有向边,则在邻接矩阵M中第i2行第j2列的值被赋为0;S24、环判断:S241、找出M中第i3列上的数值全为0,并找出第i3列所对应的算子opi3;S242、算子opi3对应第i3行,找出第i3行上不为0的列值j3,找出j3对应算子opj3;S246、删除M中的第i3行和第i3列,重复步骤S41~S45,直到矩阵M中不存在数值全为0的列;S247、M中剩余的行所对应的算子均被判定为无效。2.根据权利要求1所述的无环数据分析队列的形成方法,其特征在于,在步骤S23后且步骤S24之前需进行算子输入数判断以及算子参数判断;算子输入数判断具体包括以下步骤:首先,根据使用者构建的任务流程,统计出各个算子的输入数量;然后,将统计出的每个算子的输入数量均与所述算子设计中规定的输入端口数量进行比较,若相等,则所述算子当前有效;如果不等,则所述算子被判定为无效;算子参数判断具体为:对每个算子的参数进行数量判断,若所述算子存在参数值为空的情况,则所述算子被判定为无效。3.根据权利要求2所述的无环数据分析队列的形成方法,其特征在于,步骤S24还包括以下在步骤S242与步骤S246之间进行的步骤:S243、判断算子opj3是否有效,若opj3当前为有效,则opj3有效性等于opi3的有效性;若opj3当前为无效,则opi3继续保持原无效状态;S244、重复步骤S242~S243,直到第i3行上所有不为...

【专利技术属性】
技术研发人员:高英成昱霖
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1