CN111159203B - 一种数据关联分析的方法、平台、电子设备及存储介质 - Google Patents
一种数据关联分析的方法、平台、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111159203B CN111159203B CN201911425517.4A CN201911425517A CN111159203B CN 111159203 B CN111159203 B CN 111159203B CN 201911425517 A CN201911425517 A CN 201911425517A CN 111159203 B CN111159203 B CN 111159203B
- Authority
- CN
- China
- Prior art keywords
- data
- describing
- association analysis
- data association
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012097 association analysis method Methods 0.000 title abstract description 3
- 238000012098 association analyses Methods 0.000 claims abstract description 129
- 230000002776 aggregation Effects 0.000 claims abstract description 64
- 238000004220 aggregation Methods 0.000 claims abstract description 64
- 238000004458 analytical method Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 39
- 238000007405 data analysis Methods 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 19
- 238000010219 correlation analysis Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 13
- 238000005457 optimization Methods 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000012549 training Methods 0.000 description 22
- 238000012360 testing method Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种数据关联分析的方法、平台、电子设备及存储介质。由于对数据采用的聚合及索引能够得到与采用数据关联分析算法大致相同的结果,故通过将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,那么在根据替换后的语法树执行时,便可以绕开执行数据关联分析算法而执行数据的聚合及索引。由于聚合及索引较于数据关联分析算法的计算量小很多,故以小计算量实时的计算并得到与采用数据关联分析算法大致相同的分析结果,从而实现在线实时的进行数据关联分析。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据关联分析的方法、平台、电子设备及存储介质。
背景技术
当前,随着技术的不断发展,设备性能的不断提升,大数据的数据分析技术已成熟,并且在各种场景都开始应用。
在大数据的数据分析技术中,可以采用数据关联分析算法来对数据库中大量的数据进行关联分析,以确定出用户需要的且相互之间具备关联的数据。但是采用数据关联分析算法来进行关联分析的计算量很大,计算量大则会造成设备的性能瓶颈,导致其通常在离线状态下才能进行数据关联分析,而对于在线实时的数据关联分析,则无法实现。
发明内容
本申请实施例的目的在于提供一种数据关联分析的方法、平台、电子设备及存储介质,用以实现在线实时的进行数据关联分析。
第一方面,本申请实施例提供了一种数据关联分析的方法,所述方法包括:
接收客户端发送的数据关联分析请求;根据所述数据关联分析请求,生成用于描述数据关联分析的SQL语句;构建出所述SQL语句对应的语法树;将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树;利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将所述结果反馈给所述客户端。
在本申请实施例中,由于对数据采用的聚合及索引能够得到与采用数据关联分析算法大致相同的结果,故通过将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,那么在根据替换后的语法树执行时,便可以绕开执行数据关联分析算法而执行数据的聚合及索引。由于聚合及索引较于数据关联分析算法的计算量小很多,故以小计算量实时的计算并得到与采用数据关联分析算法大致相同的分析结果,从而实现在线实时的进行数据关联分析。
结合第一方面,在第一种可能的实现方式中,将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树,包括:
将所述语法树中用于描述所述算法的执行以及所述算法执行结果的推送的节点,替换成用于描述数据索引子句的执行以及数据聚合子句的执行的节点。
在本申请实施例中,由于替换的是执行数据索引的子句以及数据聚合的子句,故利用替换后的语法树中的子句可以直接执行数据的聚合及索引,能够进一步提高数据的聚合及索引执行效率。
结合第一方面,在第二种可能的实现方式中,将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树,包括:
利用预设的分析替换规则分析所述语法树,确定出用于描述所述数据关联分析算法的节点;基于所述分析替换规则,将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点。
在本申请实施例中,由于语法树是基于SQL语句构建,故利用SQL语句的预设语义分析能够准确的找到描述数据关联分析算法的节点。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述方法应用于数据分析平台,在基于所述分析替换规则,将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点之前,包括:
将所述数据分析平台的预设接口的描述修改成与节点替换相关的描述;通过描述修改后的接口,将所述替换规则注入所述数据分析平台。
在本申请实施例中,通过修改数据分析平台的预设接口的描述,能够确保替换规则正确的注入到数据分析平台中,从而确保描述数据关联分析算法的节点能够正确的被替换。
结合第一方面,在第四种可能的实现方式中,构建出所述SQL语句对应的语法树,包括:
利用预设的语法分析器将所述SQL语句拆解成多个SQL子语句,每个SQL子语句用于描述一个执行动作;根据所述多个SQL子语句,构建出所述语法树,其中,所述语法树中的每个节点基于对应的至少一个SQL子语句构建。
在本申请实施例中,通过语法分析器准确的将SQL语句拆解,使得构建出的节点能够准确的描述数据关联分析算法。
结合第一方面,在第五种可能的实现方式中,利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将所述结果反馈给所述客户端,包括:
利用所述替换后的语法树,生成数据的聚合及索引的执行计划;通过执行所述执行计划而进行数据的聚合及索引,获得所述结果,并将所述结果反馈给所述客户端。
在本申请实施例中,通过基于替换后的语法树生成数据的聚合及索引的执行计划,可便于数据的聚合及索引的执行。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,通过执行所述执行计划而进行数据的聚合及索引,获得所述结果,包括:
利用预设的任务执行优化策略优化所述执行计划,获得优化后的执行计划;通过执行所述优化后的执行计划而进行数据的聚合及索引,获得所述结果。
在本申请实施例中,通过将执行计划优化以执行优化后的执行计划,能够进一步提高数据的聚合及索引的效率。
第二方面,本申请实施例提供了一种数据关联分析平台,所述平台包括:
数据收发模块,用于接收客户端发送的数据关联分析请求;
数据分析模块,用于根据所述数据关联分析请求,生成用于描述数据关联分析的SQL语句;构建出所述SQL语句对应的语法树;将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树;利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果;
所述数据收发模块,还用于将所述结果反馈给所述客户端。
结合第二方面,在第一种可能的实现方式中,
所述数据分析模块,用于将所述语法树中用于描述所述算法的执行以及所述算法执行结果的推送的节点,替换成用于描述数据索引子句的执行以及数据聚合子句的执行的节点。
结合第二方面,在第二种可能的实现方式中,
所述数据分析模块,用于利用预设的分析替换规则分析所述语法树,确定出用于描述所述数据关联分析算法的节点;基于所述分析替换规则,将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述方法应用于数据分析平台,在基于预设的替换规则,在所述数据分析模块将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点之前,所述数据分析模块,还用于将所述数据分析平台的预设接口的描述修改成与节点替换相关的描述;所述数据收发模块,还用于通过描述修改后的接口,将所述替换规则注入所述数据分析平台。
结合第二方面,在第四种可能的实现方式中,
所述数据分析模块,用于利用预设的语法分析器将所述SQL语句拆解成多个SQL子语句,每个SQL子语句用于描述一个执行动作;根据所述多个SQL子语句,构建出所述语法树,其中,所述语法树中的每个节点基于对应的至少一个SQL子语句构建。
结合第二方面,在第五种可能的实现方式中,
所述数据分析模块,用于利用所述替换后的语法树,生成数据的聚合及索引的执行计划;通过执行所述执行计划而进行数据的聚合及索引,获得所述结果。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,
所述数据分析模块,用于利用预设的任务执行优化策略优化所述执行计划,获得优化后的执行计划;通过执行所述优化后的执行计划而进行数据的聚合及索引,获得所述结果。
第三方面,本申请实施例提供了一种电子设备,包括:通信接口、存储器、与所述存储器和所述通信接口连接的处理器;所述通信接口,用于接收客户端发送的数据关联分析请求所述存储器,用于存储程序;所述处理器,用于运行所述存储器中的程序,以根据所述数据关联分析请求执行如第一方面或第一方面的任一种可能的实现方式所述的数据关联分析的方法。
第四方面,本申请实施例提供了一种具有计算机可执行的非易失程序代码的计算机可读存储介质,所述程序代码使所述计算机执行如第一方面或第一方面的任一种可能的实现方式所述的数据关联分析的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据关联分析平台的部署场景图;
图2为本申请实施例提供的一种数据关联分析的方法的流程图;
图3为本申请实施例提供的一种电子设备的结构框图;
图4为本申请实施例提供的一种数据关联分析平台的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,本申请实施例提供了一种数据关联分析的方法,该数据关联分析的方法可以由数据关联分析平台10(为便于描述,以下将“数据关联分析平台10”简称为“平台10”)执行,该平台10可以部署在分布式的存储环境中。比如,平台10可以部署在分布式存储系统的入口设备上或者部署在分布式存储系统中的任一个节点上。该平台10可以执行数据关联分析的方法,以在分布式的存储环境进行数据的关联分析方法。
如图2所示,本实施例中,该数据关联分析的方法的步骤可以包括:步骤S100、步骤S200、步骤S300、步骤S400和步骤S500。
步骤S100:接收客户端发送的数据关联分析请求。
步骤S200:根据数据关联分析请求,生成用于描述数据关联分析的SQL语句。
步骤S300:构建出SQL语句对应的语法树。
步骤S400:将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树。
步骤S500:利用替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将该结果反馈给客户端。
下面将结合示例对上述流程进行详细说明。
步骤S100:接收客户端发送的数据关联分析请求。
当用户需要对存储在分布式的存储环境中的数据进行关联分析时,用户可以通过客户端生成对应的数据关联分析请求,其中,该数据关联分析请求中携带有用于描述用户如何进行数据关联分析的数据段。
客户端将生成的该数据关联分析请求发送给平台10,那么平台10则对应接收到客户端发送的该数据关联分析请求。
下面通过一个示例说明。
若如何进行数据关联分析的描述为对数据量小于5000000的训练集中的数据以及对测试集中的数据进行关联分析,从训练集和测试集中确定出彼此关联的数据,其中,两个关联的数据之间支持度大于等于0.5且置信度大于等于0.6,支持度用于表示这两个关联的数据之间的相关程度,而置信度则用于表示这种相关程度可信度的高低。基于这种分析需求,客户端便可以生成携带有用于表示该分析需求的数据段的数据关联分析请求,并将其发送给平台10。
步骤S200:根据数据关联分析请求,生成用于描述数据关联分析的SQL语句。
本实施例中,分布式的存储环境可以是采用SQL(Structured Query Language,结构化查询语言)的分布式存储系统,换言之,分布式存储系统中存储的数据可以是SQL格式。为便于执行对分布式存储系统中的数据进行关联分析,平台10需要将数据关联分析请求中的数据段转换成SQL格式的数据段。
具体来说,平台10中预设了SQL语句的语义规则,通过执行该语义规则来分析数据关联分析请求中的数据段,便可以将用于描述用户如何进行数据关联分析的数据段转换成用于描述用户如何进行数据关联分析的SQL语句。
继续对前述示例进行说明。
用于描述用户如何进行数据关联分析的数据段的含义是:对数据量小于5000000的训练集中的数据以及对测试集中的数据进行关联分析,从训练集和测试集中确定出彼此关联的数据,其中,两个关联的数据之间支持度大于等于0.5且置信度大于等于0.6。那么将该数据段转换成SQL语句,该SQL语句可以是:
“SQL'select item_array from mdata1 where id<=5000000'MAP training
|SQL'select item from udata1 where...limit 1'MAP test
|USING training fit fpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel
|USING test apply fpgModel Map t1
|SELECT confidence,item ORDER BY confidence”
获得SQL语句后,平台10可以进一步执行步骤S300。
步骤S300:构建出SQL语句对应的语法树。
为便于进行数据的关联分析,平台10需要将SQL语句拆解,再按照层级关系重新组合成语法树。
可选的,平台10可以利用预设的语法分析器将SQL语句拆解成多个SQL子语句,其中,每个SQL子语句都可以描述一个执行动作,语法分析器可以是基于Antlr4的语法解析技术的语法分析器,比如Spark-sql分析器、presto分析器等。然后,平台10再根据多个SQL子语句构建出语法树,其中,语法树中的每个节点用于基于对应的至少一个SQL子语句构建。比如,平台10可以按各SQL子语句各自对应的执行动作的先后执行顺序来够构建出语法树,使得语法树中节点的上下层级关系能够与该先后执行顺序对应。
继续对前述示例进行说明。
在SQL语句是如下所示的基础上。
“SQL'select item_array from mdata1 where id<=5000000'MAP training
|SQL'select item from udata1 where...limit 1'MAP test
|USING training fit fpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel
|USING test apply fpgModel Map t1
|SELECT confidence,item ORDER BY confidence”
平台10利用语法分析器分析该SQL语句,拆分出的多个SQL子语句可以如下所示:
“SQL'select item_array from mdata1 where id<=5000000'MAP training”、“SQL'select item from udata1 where...limit 1'MAP test”、“USING training fitfpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel”、“USING test apply fpgModel”以及“SELECT confidence,item ORDER BY confidence”。
由于“SQL'select item_array from mdata1 where id<=5000000'MAPtraining”描述的执行动作是:抽取mdata1数据集中的500万条记录用于作为建模的训练集training;“SQL'select item from udata1 where...limit 1'MAP test”描述的执行动作是:抽取udata1表中满足特定条件数据作为测试集test;“USING training fit fpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel”描述的执行动作是:使用training训练集中数据使用fpg频繁项集算法获取置信度高于0.6频繁项集,生成模型fpgModel;“USING test apply fpgModel Map t1”描述的执行动作是:使用模型fpgModel对测试集中的数据提取频繁项集;以及,“SELECT confidence,item ORDER BYconfidence”描述的执行动作是:对测试集所得结果提取元素和置信度,并按置信度排序。
由于SQL语句的含义表示出这些执行动作的执行的先后顺序是:执行第1个SQL查询子句的动作→执行第2个SQL查询子句的动作→执行使用fpgrowth算法建模的动作→执行使用模型关联的动作→基于上一结果按置信度排序的动作,那么基于该先后顺序构建出的语法树可以是:为“sql_stmt_1:第1个SQL查询子句”的SQL子语句→为“sql_stmt_2:第2个SQL查询子句”的SQL子语句→为“fit_stmt:使用fpgrowth算法建模”的SQL子语句→为“apply_stmt:使用模型关联”的SQL子语句→为“select_stmt:基于上一结果提取元素和置信度,并按置信度排序”的SQL子语句。
构建出语法树之后,平台10可以进一步执行步骤S400。
步骤S400:将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树。
聚合索引的节点,平台10中可以预设用于指示如何替换的替换规则,本实施例中,为便于将数据关联分析算法的节点替换成用于描述数据,可以对平台10的预设接口进行修改。
具体的,平台10本身可以提供一些预设的接口,通过调用这些预设接口,可以使得平台10执行这些预设接口对应的预设功能比如生成SQL语句以及构建语法树等。但实现将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点一般不属于平台10的预设功能,若要实现这一功能,则需要将预设接口实现预设功能的描述修改成与实现节点的替换相关的描述。
继续对前述示例进行说明。
预设接口位于:
org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation
其实现预设功能的描述如下:
“dplQueryPlan=sqlContext.sql(statement).queryExecution
result=sqlContext.sql(statement)”
为实现节点的替换,那么可以上述描述修改成:
“result=DPLCore.execute(sqlContext.sparkSession,statement,parentSession.getUsername,parentSession.getPassword)”
其中,DPLCore为该入口的核心,在涵盖原先处理逻辑的同时,扩充优化方法。
进一步的,通过该描述修改后的接口,可以将用于实现节点的替换的分析替换规则注入到平台10中。这样,在需要进行节点的替换时,平台10可以利用该预先注入的分析替换规则分析构建出的语法树,以确定出语法树中用于描述数据关联分析算法的节点。然后,平台10再基于分析替换规则的指示,便可以将用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点。
具体来说,对数据关联分析算法的描述一般包括:对关联分析算法的执行的描述,以及对关联分析算法执行结果的推送的描述。因此,基于该分析替换规则的指示,平台10可以分析语法树中各节点的描述,从而确定出用于描述关联分析算法的执行以及关联分析算法执行结果的推送的节点。此外,在本实施例中,平台10可以通过执行数据索引子句来进行数据的索引,以及通过执行数据聚合子句来实现进行数据的聚合。因此,为实现执行数据的聚合及索引,平台10便可以将对关联分析算法的执行的描述以及对关联分析算法执行结果的推送的描述的节点,替换为用于描述数据索引子句的执行以及数据聚合子句的执行的节点。
继续对前述示例进行说明。
若语法树是:为“sql_stmt_1:第1个SQL查询子句”的SQL子语句→为“sql_stmt_2:第2个SQL查询子句”的SQL子语句→为“fit_stmt:使用fpgrowth算法建模”的SQL子语句→为“apply_stmt:使用模型关联”的SQL子语句→为“select_stmt:基于上一结果提取元素和置信度,并按置信度排序”的SQL子语句。那么,描述为“SQL'select item_array frommdata1where id<=5000000'MAP training”的SQL子语句即为语法树中的第一个节点、描述为“SQL'select item from udata1 where...limit 1'MAP test”的SQL子语句即为语法树中的个节点、描述为“USING training fit fpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel”的SQL子语句即为语法树中的第三个节点、描述为“USING test apply fpgModel”的SQL子语句即为语法树中的第四个节点、以及描述为“SELECT confidence,item ORDER BY confidence”的SQL子语句即为语法树中的第五个节点。
通过遍历这些节点的描述,平台10确定出为“USING training fit fpgrowth(itemCol=array1,minSupport=0.5,minConfidence=0.6)into fpgModel|USING testapply fpgModel”的SQL子语为描述执行关联分析算法的节点,以及确定出为“SELECTconfidence,item ORDER BY confidence”的SQL子语为描述执行关联分析算法执行结果的推送的节点。因此,平台10可以将这两个节点替换成描述为“USING mdata1 SQL'selectitem_array from mdata1 where id<=5000000'MAP trainning|SQL'select item fromudata1 where...limit 1'MAP test|USING training count(1)AS support where itemin test.item”的节点以及描述为“USING training count(1)AS c group by explode(array1)as item order by c desc having minDocCount=support*minConfidenceLIMIT MAX_BUCKET|SELECT confidence,item where c>minConfidence*support ORDERBY confidence”的节点,其中,为“USING training count(1)AS support where item intest.item”描述为对数据索引子句执行子查询的描述,而为“USING training count(1)ASc group by explode(array1)as item order by c desc having minDocCount=support*minConfidence LIMIT MAX_BUCKET|SELECT confidence,item where c>minConfidence*support ORDER BY confidence”描述为对数据聚合子句执行的描述。
通过对节点的替换,平台10可以获得替换后的语法树,并继续执行步骤S500。
步骤S500:利用替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将该结果反馈给客户端。
示例性的,平台10可以利用替换后的语法树,生成数据的聚合及索引的执行计划,并通过执行该执行计划而进行数据的聚合及索引。由于执行数据的聚合及索引具有与通过数据关联分析算法对数据进行关联分析大致相同的效果,故通过进行数据的聚合及索引,平台10可以获得数据关联分析的结果,最后则将该结果反馈给客户端。
具体的,为提高数据的聚合及索引的效率,平台10在执行执行计划前,可以利用平台10预设的任务执行优化策略优化该执行计划,从而获得优化后的执行计划。比如,平台10可以预设select、aggregation、transform、fit/apply、union、join等任务执行优化策略,利用这些任务执行优化策略将执行计划拆解为多个子执行计划,而这些多个子执行计划则为优化后的执行计划。
本实施例中,关于数据的聚合及索引的执行,平台10可以将该优化后的执行计划发送给分布式存储系统中的各节点,以使每个节点都可以执行该优化后的执行计划,并将结果返回给该平台10。而平台10则将各节点返回的结果汇总,再将汇总后的结果发送给客户端。
请参阅图3,基于同一发明构思,本申请实施例还提供了一种电子设备20,数据关联分析平台10可以部署在该电子设备10上。该电子设备20可以包括:包括:通信接口21、总线22、存储器23、以及通过总线22与通信接口21、存储器23连接的处理器24。
通信接口21可以是物理意义上的硬件接口,也可以是软件意义上的逻辑接口。通信接口21可以接收客户端发送的数据关联分析请求。
存储器23可以是例如磁盘、ROM、或RAM,或其任意组合,存储器23可以存储用于控制分屏显示两张图片的程序。
处理器24可以是CPU(Central Processing Unit,中央处理器14)、MCU(Microcontroller Unit,微控制单元)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)等芯片。处理器14可以用于调用并运行存储器13中的程序,以根据该数据关联分析请求执行前述的数据关联分析的方法。
请参阅图4,在本申请实施例提供一种数据关联分析平台10中,该算法逻辑编辑平台10可以包括:
数据收发模块110,用于接收客户端发送的数据关联分析请求;
数据分析模块120,用于根据所述数据关联分析请求,生成用于描述数据关联分析的SQL语句;构建出所述SQL语句对应的语法树;将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树;利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果;
所述数据收发模块110,还用于将所述结果反馈给所述客户端。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请一些实施例还提供了一种计算机可执行的非易失的程序代码的计算机可读储存介质,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上存储有程序代码,该程序代码被计算机运行时执行上述任一实施方式的数据关联分析的方法的步骤。
本申请实施例所提供的数据关联分析的方法的程序代码产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
综上所述,本申请实施例提供了一种数据关联分析的方法、平台、电子设备及存储介质。由于对数据采用的聚合及索引能够得到与采用数据关联分析算法大致相同的结果,故通过将语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,那么在根据替换后的语法树执行时,便可以绕开执行数据关联分析算法而执行数据的聚合及索引。由于聚合及索引较于数据关联分析算法的计算量小很多,故以小计算量实时的计算并得到与采用数据关联分析算法大致相同的分析结果,从而实现在线实时的进行数据关联分析。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种数据关联分析的方法,其特征在于,所述方法包括:
接收客户端发送的数据关联分析请求;
根据所述数据关联分析请求,生成用于描述数据关联分析的SQL语句;
构建出所述SQL语句对应的语法树;
将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树;
利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将所述结果反馈给所述客户端;
其中,将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树,包括:
将所述语法树中用于描述所述算法的执行以及所述算法执行结果的推送的节点,替换成用于描述数据索引子句的执行以及数据聚合子句的执行的节点。
2.根据权利要求1所述的数据关联分析的方法,其特征在于,将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树,包括:
利用预设的分析替换规则分析所述语法树,确定出用于描述所述数据关联分析算法的节点;
基于所述分析替换规则,将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点。
3.根据权利要求2所述的数据关联分析的方法,其特征在于,所述方法应用于数据分析装置,在基于所述分析替换规则,将用于描述所述数据关联分析算法的节点替换成用于描述所述数据聚合索引的节点之前,包括:
将所述数据分析装置的预设接口的描述修改成与节点替换相关的描述;
通过描述修改后的接口,将所述替换规则注入所述数据分析装置。
4.根据权利要求1所述的数据关联分析的方法,其特征在于,构建出所述SQL语句对应的语法树,包括:
利用预设的语法分析器将所述SQL语句拆解成多个SQL子语句,每个SQL子语句用于描述一个执行动作;
根据所述多个SQL子语句,构建出所述语法树,其中,所述语法树中的每个节点基于对应的至少一个SQL子语句构建。
5.根据权利要求1所述的数据关联分析的方法,其特征在于,利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果,并将所述结果反馈给所述客户端,包括:
利用所述替换后的语法树,生成数据的聚合及索引的执行计划;
通过执行所述执行计划而进行数据的聚合及索引,获得所述结果,并将所述结果反馈给所述客户端。
6.根据权利要求5所述的数据关联分析的方法,其特征在于,通过执行所述执行计划而进行数据的聚合及索引,获得所述结果,包括:
利用预设的任务执行优化策略优化所述执行计划,获得优化后的执行计划;
通过执行所述优化后的执行计划而进行数据的聚合及索引,获得所述结果。
7.一种数据关联分析装置,其特征在于,所述装置包括:
数据收发模块,用于接收客户端发送的数据关联分析请求;
数据分析模块,用于根据所述数据关联分析请求,生成用于描述数据关联分析的SQL语句;构建出所述SQL语句对应的语法树;将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树;利用所述替换后的语法树进行数据的聚合及索引,获得数据关联分析的结果;
所述数据收发模块,还用于将所述结果反馈给所述客户端;
其中,将所述语法树中用于描述数据关联分析算法的节点替换成用于描述数据聚合索引的节点,获得替换后的语法树,包括:
将所述语法树中用于描述所述算法的执行以及所述算法执行结果的推送的节点,替换成用于描述数据索引子句的执行以及数据聚合子句的执行的节点。
8.一种电子设备,其特征在于,包括:通信接口、存储器、与所述存储器和所述通信接口连接的处理器;
所述通信接口,用于接收客户端发送的数据关联分析请求
所述存储器,用于存储程序;
所述处理器,用于运行所述存储器中的程序,以根据所述数据关联分析请求执行如权利要求1-6任一权项所述的数据关联分析的方法。
9.一种具有计算机可执行的非易失程序代码的计算机可读存储介质,其特征在于,所述程序代码使所述计算机执行如权利要求1-6任一权项所述的数据关联分析的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425517.4A CN111159203B (zh) | 2019-12-31 | 2019-12-31 | 一种数据关联分析的方法、平台、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911425517.4A CN111159203B (zh) | 2019-12-31 | 2019-12-31 | 一种数据关联分析的方法、平台、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159203A CN111159203A (zh) | 2020-05-15 |
CN111159203B true CN111159203B (zh) | 2023-10-31 |
Family
ID=70560781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911425517.4A Active CN111159203B (zh) | 2019-12-31 | 2019-12-31 | 一种数据关联分析的方法、平台、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159203B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168075A (zh) * | 2021-11-29 | 2022-03-11 | 华中科技大学 | 基于数据关联性提升负载访问性能的方法、设备及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277759A (ja) * | 2006-04-24 | 2006-10-12 | Shiseido Co Ltd | テキストデータ解析方法,テキストデータ解析サーバ,テキストデータ解析プログラム及びテキストデータ解析プログラムを記録した記録媒体 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN106446163A (zh) * | 2016-09-26 | 2017-02-22 | 福建省知识产权信息公共服务中心 | 基于先行断言决策算法和ll递归下降法的检索方法 |
CN110209766A (zh) * | 2019-05-23 | 2019-09-06 | 招商局金融科技有限公司 | 数据展示方法、电子装置及存储介质 |
CN110555035A (zh) * | 2018-05-31 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 一种对查询语句进行优化的方法、装置 |
-
2019
- 2019-12-31 CN CN201911425517.4A patent/CN111159203B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006277759A (ja) * | 2006-04-24 | 2006-10-12 | Shiseido Co Ltd | テキストデータ解析方法,テキストデータ解析サーバ,テキストデータ解析プログラム及びテキストデータ解析プログラムを記録した記録媒体 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
CN104899314A (zh) * | 2015-06-17 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种数据仓库的血统分析方法和装置 |
CN106446163A (zh) * | 2016-09-26 | 2017-02-22 | 福建省知识产权信息公共服务中心 | 基于先行断言决策算法和ll递归下降法的检索方法 |
CN110555035A (zh) * | 2018-05-31 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 一种对查询语句进行优化的方法、装置 |
CN110209766A (zh) * | 2019-05-23 | 2019-09-06 | 招商局金融科技有限公司 | 数据展示方法、电子装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
L Luo ; K L Lin ; C P Xiao ; Q Wang ; B Y Tan.Evaluation system for the energy efficiency effects of energy-saving transmission network.IOP Conference Series: Earth and Environmental Science.2018,第188卷(第1期),全文. * |
陈晓华 ; .基于关联聚合与关联分析的数字图书馆知识发现服务研究.图书馆学刊.2018,(第12期),81-84. * |
Also Published As
Publication number | Publication date |
---|---|
CN111159203A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681702B2 (en) | Conversion of model views into relational models | |
Becker et al. | A comparative survey of business process similarity measures | |
US7739267B2 (en) | Classification and sequencing of mixed data flows | |
CN104268428B (zh) | 一种用于指标计算的可视化配置方法 | |
US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
US20070214171A1 (en) | Data flow system and method for heterogeneous data integration environments | |
CN104424018B (zh) | 分布式计算事务处理方法及装置 | |
US10747958B2 (en) | Dependency graph based natural language processing | |
JP5791149B2 (ja) | データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
CN109376153A (zh) | 一种基于NiFi的数据写入图数据库的系统及方法 | |
CN113986241A (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
CN109213826A (zh) | 数据处理方法和设备 | |
CN109783638A (zh) | 一种基于半监督学习的用户评论聚类方法 | |
Oluwagbemi et al. | Automatic generation of test cases from activity diagrams for UML based testing (UBT) | |
CN108345658A (zh) | 算法计算轨迹的分解处理方法、服务器及存储介质 | |
CN105335466A (zh) | 一种音频数据的检索方法与装置 | |
CN111159203B (zh) | 一种数据关联分析的方法、平台、电子设备及存储介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN113505278A (zh) | 图匹配方法、装置、电子设备及存储介质 | |
CN113821538A (zh) | 一种基于元数据的流式数据处理系统 | |
Lu et al. | Zen-CC: An automated and incremental conformance checking solution to support interactive product configuration | |
CN115469860B (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
CN112970011A (zh) | 记录查询优化中的谱系 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |