System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术大体上涉及从数据源检索和处理信息的领域,尤其涉及使用基于执行的数据搜索优化和编译的运算符检索信息的方法。
技术介绍
1、随着可用数据变得越来越多,优化和加快数据搜索和访问的需求越来越大。现代数据库系统可以通过使用缓存高效算法和数据结构来实现高效的查询处理,但为了通过尽可能防止分支错误预测和缓存未命中等方式来进一步改进查询处理,数据库运算符需要大幅调整cpu效率,这可以通过将数据库查询转换为优化的机器代码来实现。
2、为了处理排列为许多不同类型的列的数据源,其中任意列都可能需要在运行时处理,现代数据库系统的数据处理管道必须依赖于通用逻辑。为了管理待处理数据集的频谱,通常会产生许多for循环,嵌套在分支中。
3、通常,为了最大限度地提高搜索执行的性能并使用目标计算机优化,可以应用编译器传递来优化代码库。对于数据处理逻辑通常用编程语言或结构化查询语言(structured query language,sql)编写的情况,编译器传递基本上充当代码库的解释器。
4、现有的方法基于提交的数据处理逻辑(即sql语句)生成代码,但是,一旦提交数据处理逻辑,处理流的大部分可变方面(例如数据类型、列数和统计)都是固定的。由于优化之前使用的代码是通用的,因此这可能会产生大量不可达代码部分。由于数据库架构师必须提供通用编码以实现灵活性,但由于时间和资源的限制,他们无法开发高度特定的代码,因此存在权衡。
5、需要方法和系统,通过为每次数据搜索优化数据搜索管道中的运算符,来消除或减少现有技术的一个
6、提供该背景信息是为了揭示可能与本专利技术相关的信息。没有必要承认也不应解释任意上述信息构成与本专利技术相对的现有技术。
技术实现思路
1、在本专利技术的一些示例中,数据搜索管道的运算符可以由开发人员准备,并在调用数据搜索之前被编译成中间表示(intermediate representation,ir)代码。在执行数据搜索时,数据查询和数据查询处理引擎的参数以及优化规则可以用于优化正在执行的数据查询的ir编码运算符,并为正在使用的查询处理引擎硬件编译它们。此外,为了便于优化,可以对待优化的运算符文件的功能进行注释或标记。
2、在实施例中,数据搜索包括管道运算符的运行时优化和编译,并且它可以在比在运行时未优化和编译的运算符的数据搜索所用的时间短的时间内执行。换句话说,由于根据实施例的运行时优化和编译工作流可以足够快地执行,所以,如果数据搜索是用未针对数据搜索优化和编译优化的预编译的运算符执行的,则使用这种运行时优化和编译并使用所得到的优化的运算符的数据搜索所需的时间比这种数据搜索所需的时间要短。
3、在实施例中,运算符可以用高级编程语言配置,并被编译成中间表示(intermediate representation,ir)版本。注释可以用于标记函数,当运算符在运行时被优化和编译用于数据搜索时,所述函数被特化。运算符的优化可以使用运行时信息和优化规则。当执行数据搜索时,可以优化、编译、执行数据搜索所需的运算符,以完成数据搜索。
4、根据实施例的执行数据搜索的系统应当能够使用执行数据搜索的查询处理引擎的运行时信息编译ir编码运算符。系统和查询处理引擎可以是单独的实体,也可以组合成一个具有公共组件的实体。
5、本专利技术的示例包括执行数据搜索的方法,该方法获取至少一个运算符、数据搜索的运行时信息、优化规则,并通过根据数据搜索的运行时信息和优化规则优化和编译至少一个运算符进,获取至少一个优化和编译的运算符。然后,该方法使用至少一个优化和编译的运算符执行数据搜索。
6、在上面的示例中,运算符可以用高级编程语言配置,并由前端编译器编译成所述至少一个运算符的中间表示代码。
7、在任意上述示例中,运算符可以包括注释标记函数,当至少一个运算符在运行时被优化和编译用于数据搜索时,所述注释标记函数被特化。
8、在任意上述示例中,运行时信息可以包括数据布局。
9、在任意上述示例中,运行时信息可以包括数据统计。
10、在任意上述示例中,运行时信息可以包括查询处理引擎的硬件信息。
11、在任意上述示例中,优化规则可以包括全局算法。
12、在任意上述示例中,优化规则可以基于运行时信息。
13、在任意上述示例中,优化规则可以包括特定于至少一个运算符的算法。
14、在任意上述示例中,优化运算符可以包括对运算符的代码应用至少一个优化,从而提高执行该运算符的数据搜索的效率。
15、在任意上述示例中,优化运算符可以在调用数据搜索之后并且在数据搜索完成之前执行,使得执行数据搜索包括执行至少一个优化的运算符。
16、在任意上述示例中,执行数据搜索可以包括优化和编译多个运算符,所述运算符随后可以由数据搜索根据由优化和编译定义的查询计划执行。
17、本专利技术的一些示例包括用于执行数据搜索的系统。该系统包括至少一个处理器、至少一个数据存储介质、查询处理引擎、编译器和用编程语言配置的至少一个运算符文件;其中,在执行所述查询处理引擎时,所述编译器用于通过根据所述数据搜索的所述运行时信息并根据优化规则优化和编译所述至少一个运算符文件来获取至少一个优化和编译的运算符文件;并且其中,执行所述数据搜索包括执行所述至少一个优化和编译的运算符文件。
18、在上面的示例中,在由查询处理引擎优化和执行之前,至少一个运算符文件可以用高级编程语言配置,并被编译成中间表示代码。
19、在任意上述示例中,系统还可以包括运算符特化模块,所述运算符特化模块用于从所述查询处理引擎接收至少一个运算符文件以及所述运行时信息;并用于基于运行时信息优化和编译至少一个运算符文件。
20、在任意上述示例中,运算符文件可以用高级编程语言配置,并被编译成中间表示代码。
21、在任意上述示例中,运算符文件可以包括注释标记函数,当所述运算符文件中编码的所述运算符在运行时被优化和编译用于所述数据搜索时,所述注释标记函数被特化。
22、在任意上述示例中,运行时信息可以包括数据布局。
23、在任意上述示例中,运行时信息可以包括数据统计。
24、在任意上述示例中,运行时信息可以包括硬件信息。
25、计算机程序可以包括指令,程序在由计算机执行时,所述指令可以使计算机执行上述方法。
26、计算机可读介质可以包括指令,所述指令在由计算机执行时,可以使计算机执行上述方法。
本文档来自技高网...【技术保护点】
1.一种执行数据搜索的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少一个运算符包括注释标记函数,当所述至少一个运算符在运行时被优化和编译用于所述数据搜索时,所述注释标记函数被特化。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述运行时信息包括数据布局。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述运行时信息包括数据统计。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述运行时信息包括执行所述数据搜索的查询处理引擎的硬件信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述优化规则包括全局算法。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述优化规则基于所述运行时信息。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述优化规则包括特定于所述至少一个运算符的算法。
9.根据权利要求1至8中任一项所述的方法,其特征在于,优化所述至少一个运算符包括将至少一个优化应用于所述至少一个运算符的
10.根据权利要求1至9中任一项所述的方法,其特征在于,优化所述至少一个运算符是在调用数据搜索之后并且在所述数据搜索完成之前执行的,使得执行所述数据搜索包括执行所述至少一个优化的运算符。
11.根据权利要求1至10中任一项所述的方法,其特征在于,执行数据搜索包括优化和编译多个运算符,所述运算符随后由所述数据搜索根据由所述数据搜索定义的查询计划执行。
12.一种用于执行数据搜索的系统,其特征在于,包括:
13.根据权利要求12所述的系统,其特征在于,在由所述查询处理引擎优化和执行之前,所述至少一个运算符文件用高级编程语言配置,并被编译成中间表示代码。
14.根据权利要求12或13所述的系统,其特征在于,还包括运算符特化模块,所述运算符特化模块用于从所述查询处理引擎接收至少一个运算符文件以及所述运行时信息;并用于基于运行时信息优化和编译至少一个运算符文件。
15.根据权利要求12至14中任一项所述的系统,其特征在于,运算符文件用高级编程语言配置,并被编译成中间表示代码。
16.根据权利要求12至15中任一项所述的系统,其特征在于,运算符文件包括注释标记函数,当所述运算符文件中编码的所述运算符在运行时被优化和编译用于所述数据搜索时,所述注释标记函数被特化。
17.根据权利要求12至15中任一项所述的系统,其特征在于,所述运行时信息包括数据布局。
18.根据权利要求12至17中任一项所述的系统,其特征在于,所述运行时信息包括数据统计。
19.根据权利要求12至18中任一项所述的系统,其特征在于,所述运行时信息包括所述查询处理引擎的硬件信息。
20.根据权利要求12至19中任一项所述的系统,其特征在于,所述优化规则包括全局算法。
21.根据权利要求12至20中任一项所述的系统,其特征在于,所述优化规则基于所述运行时信息。
22.根据权利要求12至21中任一项所述的系统,其特征在于,所述优化规则包括特定于所述至少一个运算符的算法。
23.根据权利要求12至22中任一项所述的系统,其特征在于,优化所述至少一个运算符是在调用数据搜索之后并且在所述数据搜索完成之前执行的,使得执行所述数据搜索包括执行所述至少一个优化的运算符。
24.根据权利要求12至23中任一项所述的系统,其特征在于,执行所述数据搜索包括优化和编译多个运算符,所述运算符随后由所述数据搜索根据由所述数据搜索定义的查询计划执行。
25.一种计算机程序,其特征在于,所述计算机程序包括指令,所述程序在由计算机执行时,所述指令使所述计算机执行根据权利要求1至11中任一项所述的方法。
26.一种计算机可读介质,其特征在于,所述计算机可读介质包括指令,所述指令在由计算机执行时,使所述计算机执行根据权利要求1至11中任一项所述的方法。
...【技术特征摘要】
1.一种执行数据搜索的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少一个运算符包括注释标记函数,当所述至少一个运算符在运行时被优化和编译用于所述数据搜索时,所述注释标记函数被特化。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述运行时信息包括数据布局。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述运行时信息包括数据统计。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述运行时信息包括执行所述数据搜索的查询处理引擎的硬件信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述优化规则包括全局算法。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述优化规则基于所述运行时信息。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述优化规则包括特定于所述至少一个运算符的算法。
9.根据权利要求1至8中任一项所述的方法,其特征在于,优化所述至少一个运算符包括将至少一个优化应用于所述至少一个运算符的代码,所述代码提高了执行所述至少一个运算符的数据搜索的效率。
10.根据权利要求1至9中任一项所述的方法,其特征在于,优化所述至少一个运算符是在调用数据搜索之后并且在所述数据搜索完成之前执行的,使得执行所述数据搜索包括执行所述至少一个优化的运算符。
11.根据权利要求1至10中任一项所述的方法,其特征在于,执行数据搜索包括优化和编译多个运算符,所述运算符随后由所述数据搜索根据由所述数据搜索定义的查询计划执行。
12.一种用于执行数据搜索的系统,其特征在于,包括:
13.根据权利要求12所述的系统,其特征在于,在由所述查询处理引擎优化和执行之前,所述至少一个运算符文件用高级编程语言配置,并被编译成中间表示代码。
14.根据权利要求12或13所述的系统,其特征在于,还包括运算符特化模块,所述运算符特化模块用于从所述查询处理引...
【专利技术属性】
技术研发人员:张赞庆,伯努瓦·赫齐亚,阿尔文·丁,杨郭,李铮,张景芳,刘松灵,廖登宏,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。