CN118036720A - 一种基于动态树形结构化表达式的计算方法 - Google Patents

一种基于动态树形结构化表达式的计算方法 Download PDF

Info

Publication number
CN118036720A
CN118036720A CN202410350388.1A CN202410350388A CN118036720A CN 118036720 A CN118036720 A CN 118036720A CN 202410350388 A CN202410350388 A CN 202410350388A CN 118036720 A CN118036720 A CN 118036720A
Authority
CN
China
Prior art keywords
branch
query
target
data
complexity
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.)
Pending
Application number
CN202410350388.1A
Other languages
English (en)
Inventor
古文
曾燕斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Zhongding Information Technology Co ltd
Original Assignee
Guangzhou Zhongding Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Zhongding Information Technology Co ltd filed Critical Guangzhou Zhongding Information Technology Co ltd
Priority to CN202410350388.1A priority Critical patent/CN118036720A/zh
Publication of CN118036720A publication Critical patent/CN118036720A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及表格数据处理技术领域,尤指一种基于动态树形结构化表达式的计算方法,包括解析数据表格内的包含关系,基于这些关系构建反映多维数据映射的动态树形结构,每个分支树代表一个独立的数据维度。此方法进一步通过分离查询目标、计算支查询复杂度进行最佳路径选择,以及对支目标路径表达式的智能拼接得到优化的路径表达式,有效提升了通过表达式进行数据检索的效率和准确性。还通过根据这些表达式的总查询复杂度进行判断计算,提取复杂度最高的节点的查询目标生成最优的分支树实现检索复杂度的降低,并同步更新查询目标表达式,实现了在拥有大量数据并包含大量表达式的表格的计算运行效率得到有效提高。

Description

一种基于动态树形结构化表达式的计算方法
技术领域
本发明涉及表格数据处理技术领域,尤指一种基于动态树形结构化表达式的计算方法。
背景技术
在现代数据处理和分析中,处理大量结构化数据的需求日益增加。数据表格作为一种常见的数据组织形式,广泛应用于各个领域,包括金融分析、科学研究、企业管理等。随着数据量的不断膨胀,对数据检索、分析及处理的效率和灵活性提出了更高的要求。
在传统的数据处理方法中,表格中某一格的函数映射和计算通常通过直接在表达式中使用特定的坐标或索引来实现,进而通过四则运算(加、减、乘、除)等基本数学运算符对这些坐标指向的数据进行操作,以实现数据间的计算关系和值的相加。例如,在一个简单的数据表格中,某一格的值可能会通过指定单元格的行列坐标来引用数据,如A1+B1表示将A列第1行和B列第1行的数据相加。然而,这种方法依赖于静态的坐标系统,难以适应数据动态变化的情况。当数据表格结构发生变化(如增加或删除行/列)时,原有的坐标引用可能会失效,导致计算结果不正确。同时,在处理包含复杂关系和多维度数据的大型表格时,基于坐标的引用方式会使得表达式需要逐个访问每个坐标点,这在数据量较大时会导致显著的性能瓶颈。每次运算都可能需要遍历整个数据集,尤其是在需要多次访问数据以完成复杂计算时,效率低下成为一个显著问题。尤其是在实现多步骤计算或数据间复杂关系映射时,表达式的复杂度会急剧增加。同时,每当数据关系或结构发生变化时,都需要更新所有表达式,带来大量的性能浪费。
发明内容
为解决上述问题,本发明提供一种基于动态树形结构化表达式的计算方法。
为实现上述目的,本发明采用的技术方案是:
一种基于动态树形结构化表达式的计算方法,包括以下步骤:
解析数据表格中的包含关系;
基于包含关系构建动态树形结构,以不同数据维度映射数据表格,所述动态树形结构包括若干个分支树,其中每一所述分支树对应一个数据维度;
对查询目标进行分离得到支目标,基于分支树和支目标计算支查询复杂度,根据支查询复杂度确定目标分支树并计算支目标路径表达式;
基于同一查询目标所包含的支目标路径表达式,对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式,根据查询目标表达式计算总查询复杂度,根据重合式的查询复杂度对若干个查询目标表达式进行提取,基于提取结果动态生成分支树并同步变更查询目标表达式。
进一步地,所述数据表格包含层级关系设置和数据类型设置,所述数据类型包括数据和集合索引。
进一步地,所述基于包含关系构建动态树形结构包括以下步骤:
识别数据表格中的包含关系,为每种识别的包含关系分配一个唯一的标识符,所述包含关系包括数据项之间的从属或层级关系;
创建初始的动态树形结构根节点;
基于所述包含关系,生成对应的子节点并将其连接到相应的父节点上;
应用所述数据类型设置。
进一步地,所述对查询目标进行分离得到支目标包括:
接收查询目标,所述查询目标包含若干个单独数据查询请求,所述单独数据查询请求指向数据表格中的某一数据项或数据集合;
将单独数据查询请求设置为若干个独立的支目标;
为每个支目标分配一个唯一标识符,并记录支目标与其对应查询请求之间的映射关系。
进一步地,所述基于分支树和支目标计算支查询复杂度包括:
根据支目标所指向的分支树中数据项或数据集合的属性,包括数据类型、层级位置和包含关系,确定其在动态树形结构中的检索路径;
基于确定的检索路径,计算每个支目标的查询复杂度,所述查询复杂度通过预估的检索时间和所需遍历的节点数加权平均获取。
进一步地,所述根据支查询复杂度确定目标分支树并计算支目标路径表达式包括:
对每个支目标的查询复杂度进行排序;
选取查询复杂度最低的支目标作为起始点,确定该支目标在动态树形结构中的起始分支树;
基于起始分支树对每个支目标生成支目标路径表达式,所述支目标路径表达式描述从起始分支树到达支目标所需遍历的节点。
进一步地,所述对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式包括:
基于支目标路径表达式,识别出所有支目标路径中共有的支节点;
对于每个识别出的共有支节点,将涉及共有节点的所有支目标路径表达式按照其在动态树形结构中的实际顺序进行排列;
将共有节点中排列好的支目标路径表达式按顺序进行拼接,得到若干个拼接表达式;
对若干个拼接表达式进行相加,得到查询目标表达式。
进一步地,所述根据重合式的查询复杂度对若干个查询目标表达式进行提取包括:
计算每个查询目标表达式的查询复杂度;
基于数据表格中所有查询目标表达式的查询复杂度,得到平均复杂度;
对与平均复杂度的差值的绝对值大于预设值的查询目标表达式计算节点复杂度;
对查询目标表达式的节点复杂度最高的节点,提取其中的查询目标。
进一步地,所述基于提取结果动态生成分支树并同步变更查询目标表达式包括:
创建新分支树并关联节点复杂度最高的节点的查询目标;
基于新分支树更新查询目标表达式。
本发明的有益效果在于:本发明通过解析数据表格中的包含关系,为数据间的复杂关系提供了清晰的定义。这种方法摆脱了靠固定坐标引用数据的限制,使得数据关系的表达更加灵活和准确。当数据结构发生变化时,这种包含关系的解析能够动态适应,保证了数据引用的持续有效性,解决了静态结构限制的问题。通过基于包含关系构建动态树形结构,本方案允许数据以不同维度映射于数据表格,每个维度对应一个分支树。这种动态树形结构的设计极大地提高了数据遍历的效率,特别是在处理包含复杂关系和多维度数据的大型表格时,能够显著降低遍历难度和提升计算效率。通过对查询目标进行分离并计算支查询复杂度,本方案实现了对数据检索路径的优化。这不仅减少了不必要的数据遍历操作,还通过确定目标分支树来优化查询效率,显著降低了处理复杂查询时的难度和提高了计算性能。进一步通过拼接具有相同支节点的支目标路径表达式,得到查询目标表达式。通过根据这些表达式的总查询复杂度进行判断计算,生成最优的分支树实现检索复杂度的降低,并同步更新查询目标表达式,确保了数据检索和分析的高效性和准确性。通过上述步骤,本方案有效地解决了传统表格的表达式中存在的问题,如静态结构限制、遍历效率低、复杂度高以及更新困难的问题。基于动态树形结构化表达式的计算方法不仅提高了数据处理的灵活性和效率,通过动态适应数据变化和优化数据检索路径,实现了在拥有大量数据并包含大量表达式的表格的计算运行效率得到有效提高。
附图说明
图1是本发明中一种基于动态树形结构化表达式的计算方法的步骤流程图。
图2是本发明中对具有相同支节点的支目标路径表达式进行拼接得到查询目标表达式的步骤流程图。
具体实施方式
请参阅图1-2所示,本发明关于一种基于动态树形结构化表达式的计算方法,包括以下步骤:
解析数据表格中的包含关系;
基于包含关系构建动态树形结构,以不同数据维度映射数据表格,所述动态树形结构包括若干个分支树,其中每一所述分支树对应一个数据维度;
对查询目标进行分离得到支目标,基于分支树和支目标计算支查询复杂度,根据支查询复杂度确定目标分支树并计算支目标路径表达式;
基于同一查询目标所包含的支目标路径表达式,对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式,根据查询目标表达式计算总查询复杂度,根据重合式的查询复杂度对若干个查询目标表达式进行提取,基于提取结果动态生成分支树并同步变更查询目标表达式。
在一些实施例中,通过解析数据表格中的包含关系,本方法识别并明确了数据项之间的层级和依赖关系。例如,若一个财务数据表格包含多个部门的支出信息,该步骤会识别出各个部门支出数据与总支出数据之间的包含关系。随后,依据这些包含关系,构建出一个动态树形结构,每个分支树代表数据表格的一个维度,如时间维度、部门维度等。这种结构不仅反映了数据的多维度特性,还能动态调整以适应数据的更新和变化。以时间维度为例,每个月份的支出数据构成一个分支,随着新月份数据的加入,树形结构自然扩展。接下来,对查询目标进行分离,得到支目标,并计算每个支目标基于其对应分支树的查询复杂度。例如,若查询目标是比较不同部门在过去一年中的支出增长率,此步骤将分离出针对每个部门的年度支出数据的查询,然后计算访问这些数据的复杂度。基于计算出的支查询复杂度,确定最适合的目标分支树,并为每个支目标生成一个路径表达式。这些表达式描述了从树形结构的根节点到达目标数据的路径,优化了数据检索过程。如在时间维度的树形结构中,确定访问某部门过去一年支出数据的最短路径。最后,通过对具有相同支节点的支目标路径表达式进行拼接,合成一个查询目标表达式。然后,基于这些表达式计算总查询复杂度,并进行提取和优化,动态生成分支树以及同步更新查询目标表达式。这一步骤实现了查询过程的高效化和自动化,如将各部门年度支出增长率的计算合并为一个优化的查询过程,以减少数据访问次数和计算资源消耗。
进一步地,所述数据表格包含层级关系设置和数据类型设置,所述数据类型包括数据和集合索引。
具体来说,层级关系设置涉及到数据表格中各项数据之间的上下级或从属关系,它能够表达出数据项之间的依赖和归属情况。例如,在一个企业的财务报表中,总收入可能包含来自不同部门的收入,这些部门收入又可能进一步细分为不同项目的收入。在这种情况下,总收入、部门收入和项目收入之间就存在明确的层级关系。通过在数据表格中设置这种层级关系,可以更加直观和有效地管理和分析数据,如快速汇总某个部门的总收入或比较不同项目之间的收入差异。数据类型设置则指明了数据表格中每项数据的具体类型,包括基础数据类型和集合索引类型。基础数据类型通常包括整数、浮点数、字符串等,适用于记录单一数据值。而集合索引类型则用于表示一组数据的集合,它可以是一组数值、字符串列表或是更复杂的数据结构,如另一个数据表格的引用。例如,如果某个项目的收入由多个子项目构成,那么这个项目收入的数据类型就可能被设置为集合索引类型,以索引那些构成总收入的子项目收入数据。通过精确地设置数据的层级关系和类型,本计算方法能够为数据的存储、检索和处理提供强有力的支持。层级关系设置和数据类型设置不仅提高了数据处理的灵活性和效率,还增强了数据分析的准确性和深度。例如,当执行跨部门的收入分析时,通过识别和遍历层级关系,可以轻松聚合或对比各部门的收入数据;同时,通过利用数据类型信息,可以确保数据处理过程中的类型安全性和操作准确性,从而避免数据类型不匹配导致的错误。
进一步地,所述基于包含关系构建动态树形结构包括以下步骤:
识别数据表格中的包含关系,为每种识别的包含关系分配一个唯一的标识符,所述包含关系包括数据项之间的从属或层级关系;
创建初始的动态树形结构根节点;
基于所述包含关系,生成对应的子节点并将其连接到相应的父节点上;
应用所述数据类型设置。
具体地,以一个企业的财务报表为例,其中可能包含各种成本和收入数据,这些数据按部门、项目等维度进行组织。部门成本数据与总成本之间、项目收入与总收入之间,均存在明显的层级关系。通过分析这些数据间的包含关系,系统可以为每种关系分配一个唯一标识符,如“部门成本-总成本”关系可能被标记为“关系1”,“项目收入-总收入”关系标记为“关系2”。随后,基于识别的包含关系,系统创建了初始的动态树形结构的根节点,这个根节点代表了整个数据表格或者数据集合的起点。从财务报表的例子来看,根节点可能代表整个企业的财务情况。进一步地,系统根据包含关系生成相应的子节点,并将这些子节点连接到它们各自的父节点上,形成一个反映数据层级和从属关系的树形结构。在财务报表的案例中,每个部门成本数据项都会作为一个子节点生成,并连接到表示总成本的父节点上;同样,每个项目收入数据项也作为子节点生成,并连接到代表总收入的父节点上。
最后,该方法还涵盖了对数据类型设置的应用。在构建树形结构的过程中,不同类型的数据,如数值型数据、文本数据、或集合索引等,都会根据其类型进行相应的处理和表示。例如,在处理部门成本数据时,可能需要将这些数据作为数值型数据处理,以便于后续的计算和分析;而在处理部门名称等信息时,则可能将其作为文本数据处理。
进一步地,所述对查询目标进行分离得到支目标包括:
接收查询目标,所述查询目标包含若干个单独数据查询请求,所述单独数据查询请求指向数据表格中的某一数据项或数据集合;
将单独数据查询请求设置为若干个独立的支目标;
为每个支目标分配一个唯一标识符,并记录支目标与其对应查询请求之间的映射关系。
首先,系统接收一个综合查询目标,它可能包含多个独立的数据查询请求。这些请求各自指向数据表格中的特定数据项或数据集合,反映出查询的多样性和复杂性。例如,一个综合查询目标可能旨在分析某企业不同部门的销售数据和成本数据,以评估各部门的盈利能力。在这个例子中,每一个涉及特定部门的销售或成本数据的查询请求都被视为一个独立的数据查询请求。随后,这些单独的数据查询请求被明确设置为若干个独立的支目标。这一步骤的关键在于将复合查询目标拆分为多个可单独处理的单元,使得每个支目标都聚焦于特定的数据检索任务。在之前的例子中,对每个部门的销售数据的查询和对成本数据的查询将分别构成独立的支目标。为了保证查询过程的有序性和可追踪性,系统为每个支目标分配一个唯一标识符,并建立支目标与其对应查询请求之间的映射关系。这种映射关系的建立不仅有助于跟踪每个支目标的执行情况,还便于在后续的数据处理和分析中引用和管理这些支目标。例如,如果部门A的销售数据查询被指定为支目标1,部门B的成本数据查询为支目标2,那么这些唯一标识符及其映射关系将被用于在整个查询过程中识别和处理这些特定的数据检索任务。
进一步地,所述基于分支树和支目标计算支查询复杂度包括:
根据支目标所指向的分支树中数据项或数据集合的属性,包括数据类型、层级位置和包含关系,确定其在动态树形结构中的检索路径;
基于确定的检索路径,计算每个支目标的查询复杂度,所述查询复杂度通过预估的检索时间和所需遍历的节点数加权平均获取。
首先,系统会根据支目标所涉及的数据项或数据集合在动态树形结构中的属性进行深入分析,这包括数据类型、层级位置和包含关系等关键因素。例如,假设有一个支目标旨在检索某企业特定年份所有部门的销售总额。在这个例子中,动态树形结构可能按照年份和部门两个维度进行组织,其中年份作为上层节点,部门作为下层节点。支目标所对应的数据项,即特定年份的各部门销售总额,因此在树形结构中具有明确的层级位置和包含关系。在确定了检索路径之后,系统进一步计算每个支目标的查询复杂度。这一计算通过预估检索特定数据所需的时间以及在动态树形结构中遍历的节点数来完成。具体来说,查询复杂度的计算考虑了路径的长度(即遍历的节点数)和路径上节点的类型(数据类型)等因素,通过加权平均的方式综合评估。以前述的支目标为例,如果检索特定年份的各部门销售总额需要遍历包含大量子节点的年份节点,且每个部门节点下数据量庞大,那么该支目标的查询复杂度将相应较高。反之,如果检索路径较短且数据项集中,则查询复杂度相对较低。通过这种方法,本计算方案不仅能够准确地为每个支目标确定最佳检索路径,还能够有效评估查询的复杂度。这为后续的查询优化提供了重要依据,确保了数据检索过程的高效性和准确性,显著提高了处理复杂数据集时的性能。
进一步地,所述根据支查询复杂度确定目标分支树并计算支目标路径表达式包括:
对每个支目标的查询复杂度进行排序;
选取查询复杂度最低的支目标作为起始点,确定该支目标在动态树形结构中的起始分支树;
基于起始分支树对每个支目标生成支目标路径表达式,所述支目标路径表达式描述从起始分支树到达支目标所需遍历的节点。
在一些实施例中,系统会对所有支目标按照其查询复杂度进行评估和排序。查询复杂度的评估基于预先计算的检索时间和遍历节点数量,反映了完成每个支目标查询所需的预估努力。例如,如果一个支目标涉及遍历大量节点才能到达目标数据,或者查询路径涉及复杂的数据结构,这将导致更高的查询复杂度评分。通过对这些复杂度评分进行排序,系统可以快速识别出相对简单(复杂度低)和复杂(复杂度高)的查询任务。接下来,系统会选取具有最低查询复杂度的支目标作为查询的起始点。这一策略基于一个关键假设:通过优先处理复杂度最低的查询,可以为后续更复杂查询的优化提供有力基础。确定这些支目标的起始分支树,即识别出动态树形结构中最适合作为检索起点的分支。例如,如果一个支目标是查询特定部门的当前月份销售数据,而这些数据在动态树形结构中直接关联到“当前月份”这一节点,那么该节点及其对应的分支树就被选为起始点。基于确定的起始分支树,系统将为每个支目标生成一个支目标路径表达式。这些路径表达式详细描述了从选定的起始分支树到目标数据所需遍历的节点序列。生成这些表达式的过程涉及到分析动态树形结构中的节点关系,以及确定最短或最优的路径以减少检索时间和资源消耗。举例来说,如果目标是检索“部门A在2023年3月的销售额”,那么对应的路径表达式可能是“2023年-3月-部门A-销售额”,直接指向所需数据的位置。通过上述步骤,本计算方法不仅精确地确定了每个支目标的最佳起始检索点,还为数据检索过程提供了清晰、优化的路径指导。这一过程显著提升了数据检索的效率,确保了即使在面对庞大和复杂的数据集时,查询操作也能高效、准确地执行。
需要说明的是,如果路径需要深度遍历整个或大部分树形结构以到达目标节点,那么这将大幅增加计算时间和资源消耗。例如,在一个财务数据的动态树形结构中,若要汇总过去十年内每个季度所有产品的销售额,路径可能需要从根节点(表示时间的最高层级)开始,深度遍历至每一个季度和产品节点,这种深度遍历显著增加了资源消耗。在路径中涉及复杂的条件筛选,尤其是当这些条件需要访问和处理大量节点以判断是否符合条件时,资源消耗会显著增加。例如,查询特定条件下的客户反馈汇总,如果这些条件包括多个维度的数据(如时间、地区、产品类型等),并且每个维度下都有大量的节点需要评估,那么这种路径就会耗费大量计算资源。需要在多个分支或层级间频繁进行数据聚合的路径也会导致高资源消耗。举例来说,若查询目标是对比不同地区、不同产品在各季度的销售增长率,可能需要从多个分支树中聚合数据,然后再进行跨节点的比较和计算,这种跨节点聚合操作会大幅度增加资源消耗。
如果路径中存在重复访问同一数据集合或节点的情况,特别是在没有有效缓存机制的情况下,资源消耗会被不必要地增加。例如,一个复杂的分析任务可能需要多次计算同一组数据的统计量,如平均值、中位数等,如果这些计算没有优化以复用之前的计算结果,就会导致大量重复的数据访问和处理。通过智能化地确定数据检索的最佳路径,减少不必要的深度遍历和复杂条件筛选,有效地利用缓存机制减少重复数据访问,并优化跨节点聚合的计算逻辑,从而显著降低资源消耗,提高数据处理的效率和性能。
进一步地,所述对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式包括:
基于支目标路径表达式,识别出所有支目标路径中共有的支节点;
对于每个识别出的共有支节点,将涉及共有节点的所有支目标路径表达式按照其在动态树形结构中的实际顺序进行排列;
将共有节点中排列好的支目标路径表达式按顺序进行拼接,得到若干个拼接表达式;
对若干个拼接表达式进行相加,得到查询目标表达式。
在一些实施例中,系统会从多个支目标路径表达式中识别出所有共有的支节点。这些共有支节点代表了在执行不同数据检索任务时所共同经过的数据结构中的节点,反映了数据之间的内在联系。例如,假设有两个查询任务分别针对“2024年第一季度的销售额”和“2024年第一季度的成本”,那么“2024年”和“第一季度”这两个节点就是共有支节点,因为它们是完成这两个查询任务所必须经过的路径点。随后,针对每个识别出的共有支节点,系统将涉及这些共有节点的所有支目标路径表达式按照它们在动态树形结构中的实际顺序进行排列。这一步骤确保了表达式的逻辑一致性和数据检索的有效性。在上述例子中,任何指向“2024年第一季度”的查询都将首先按照时间顺序排列,以确保数据检索的准确性和高效性。接下来,将排列好的支目标路径表达式按照顺序进行拼接,形成若干个完整的拼接表达式。这些拼接表达式提供了从动态树形结构的根节点到达目标数据点的完整路径。在之前的例子中,针对“销售额”和“成本”的查询将被拼接成一个统一的路径表达式,从而简化了数据检索过程。最后,对所有生成的拼接表达式进行汇总处理,即相加,得到最终的查询目标表达式。这一表达式汇总了所有相关查询任务的数据检索需求,优化了数据访问路径,并减少了不必要的重复检索,从而提高了查询的效率和性能。在例子中,最终的查询目标表达式可能包括了对“2024年第一季度”的销售额和成本数据的综合查询,通过一次优化的数据检索过程同时获取这两类数据。通过上述方法,本计算方案有效地优化了复杂查询的处理,通过智能分析和拼接支目标路径表达式,显著提高了数据检索的效率和准确性。
进一步地,所述根据重合式的查询复杂度对若干个查询目标表达式进行提取包括:
计算每个查询目标表达式的查询复杂度;
基于数据表格中所有查询目标表达式的查询复杂度,得到平均复杂度;
对与平均复杂度的差值的绝对值大于预设值的查询目标表达式计算节点复杂度;
对查询目标表达式的节点复杂度最高的节点,提取其中的查询目标。
需要说明的是,系统对每个查询目标表达式的查询复杂度进行计算。这一计算考虑了各种因素,如所需遍历的节点数、数据检索的深度、以及可能涉及的条件判断等。查询复杂度的计算为后续的优化提供了基础。例如,若有一个查询目标是分析过去五年内每个季度的销售增长率,这可能需要遍历多个时间节点并执行复杂的数据聚合和计算,因此具有较高的查询复杂度。接着,基于数据表格中所有查询目标表达式的查询复杂度,系统计算出一个平均复杂度。这一步骤旨在为后续的分析提供一个参考标准,帮助识别哪些查询目标表达式的复杂度显著偏离平均水平,从而可能影响整体查询效率。系统进一步识别那些与平均复杂度的差值绝对值大于预设阈值的查询目标表达式,并对这些表达式中节点的复杂度进行评估。这一步骤专注于找出查询过程中特别复杂的部分,例如,在分析不同产品线销售数据时,某个特定产品线由于数据分散或涉及多个条件筛选,其查询节点复杂度可能远高于其他节点。针对这些高复杂度的节点,系统将提取出其中的查询目标,以便进行进一步的优化处理。例如,如果发现查询“电子产品线在过去五年内每个季度的销售额”所需遍历的节点数异常多,系统将这一查询目标单独提取出来。
进一步地,所述基于提取结果动态生成分支树并同步变更查询目标表达式包括:
创建新分支树并关联节点复杂度最高的节点的查询目标;
基于新分支树更新查询目标表达式。
当通过前述步骤识别出某些节点的查询目标具有异常高的复杂度时,系统会采取措施创建一个新的分支树。这个新分支树旨在重新组合那些复杂度高的查询路径,使得数据检索更为高效。例如,如果在一个零售企业的销售数据分析中,识别到“电子产品线”相关的查询目标因多层次数据关联和复杂的筛选条件而复杂度高昂,系统便会针对这一特定查询目标创建一个新的分支树。新分支树通过将电子产品线的销售数据预先查询条件放在一起,去除了原分支中影响大量复杂度的数据点,简化数据检索路径。在创建新分支树的过程中,系统将特别关注那些节点复杂度最高的查询目标,并确保这些目标在新分支树中得到有效关联。这意味着,高复杂度查询目标的处理将成为新分支树设计的重点。继续上述例子,系统将确保“电子产品线”的各种复杂查询在新分支树中能够直接关联到优化后的数据节点,从而减少必须遍历的节点数量和减轻筛选条件的复杂度。创建并优化新分支树后,下一步是基于这个新的数据结构更新查询目标表达式。这一步骤确保所有相关的查询目标能够利用新分支树的优化结构来执行。系统将重新构造查询表达式,以反映新的数据路径和结构。在“电子产品线”销售数据的例子中,原有可能需要多层遍历和复杂筛选的查询表达式,将被更新为直接指向新分支树中预聚合或重新组织的数据节点的简化表达式。通过这种方式,本计算方法不仅提高了特定复杂查询目标的处理效率,也优化了整体的数据检索结构,使得原本资源消耗高昂的查询变得更加高效和精确。此外,动态生成分支树并同步更新查询目标表达式的策略,展示了本计算方法在应对复杂数据环境和多变查询需求时的灵活性和强大适应能力。
在一些实施例中,针对计算表达式中可能出现的循环依赖,如A=B+1;B=A+1的情况,实施了一套循环检测机制。该机制通过构建依赖图并使用图论中的深度优先搜索(DFS)或广度优先搜索(BFS)策略来识别循环依赖,一旦检测到循环,系统将阻止这类表达式的执行,确保计算的正确性和系统的稳定性。对于表达式中包含非法表达式的计算,如9/0+(3*8),本方案采用了容错处理机制。在遇到如除以零这类非法操作时,系统将该部分结果替换为可配置的默认值(默认为0),而不会影响其他正常表达式的计算。这样,上述示例中的计算最终结果将是24,增强了系统处理复杂计算时的鲁棒性。同时表达式支持在计算公式中使用三元表达式及进行循环计算,增加了表达式的灵活性。用户可以根据实际需要在公式中嵌入条件判断,或配置循环计算逻辑,以实现更加复杂的数据处理需求。
以上实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

Claims (9)

1.一种基于动态树形结构化表达式的计算方法,其特征在于,包括以下步骤:
解析数据表格中的包含关系;
基于包含关系构建动态树形结构,以不同数据维度映射数据表格,所述动态树形结构包括若干个分支树,其中每一所述分支树对应一个数据维度;
对查询目标进行分离得到支目标,基于分支树和支目标计算支查询复杂度,根据支查询复杂度确定目标分支树并计算支目标路径表达式;
基于同一查询目标所包含的支目标路径表达式,对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式,根据查询目标表达式计算总查询复杂度,根据重合式的查询复杂度对若干个查询目标表达式进行提取,基于提取结果动态生成分支树并同步变更查询目标表达式。
2.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述数据表格包含层级关系设置和数据类型设置,所述数据类型包括数据和集合索引。
3.根据权利要求2所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述基于包含关系构建动态树形结构包括以下步骤:
识别数据表格中的包含关系,为每种识别的包含关系分配一个唯一的标识符,所述包含关系包括数据项之间的从属或层级关系;
创建初始的动态树形结构根节点;
基于所述包含关系,生成对应的子节点并将其连接到相应的父节点上;
应用所述数据类型设置。
4.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述对查询目标进行分离得到支目标包括:
接收查询目标,所述查询目标包含若干个单独数据查询请求,所述单独数据查询请求指向数据表格中的某一数据项或数据集合;
将单独数据查询请求设置为若干个独立的支目标;
为每个支目标分配一个唯一标识符,并记录支目标与其对应查询请求之间的映射关系。
5.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述基于分支树和支目标计算支查询复杂度包括:
根据支目标所指向的分支树中数据项或数据集合的属性,包括数据类型、层级位置和包含关系,确定其在动态树形结构中的检索路径;
基于确定的检索路径,计算每个支目标的查询复杂度,所述查询复杂度通过预估的检索时间和所需遍历的节点数加权平均获取。
6.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述根据支查询复杂度确定目标分支树并计算支目标路径表达式包括:
对每个支目标的查询复杂度进行排序;
选取查询复杂度最低的支目标作为起始点,确定该支目标在动态树形结构中的起始分支树;
基于起始分支树对每个支目标生成支目标路径表达式,所述支目标路径表达式描述从起始分支树到达支目标所需遍历的节点。
7.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述对具有相同支节点的支目标路径表达式进行拼接,得到查询目标表达式包括:
基于支目标路径表达式,识别出所有支目标路径中共有的支节点;
对于每个识别出的共有支节点,将涉及共有节点的所有支目标路径表达式按照其在动态树形结构中的实际顺序进行排列;
将共有节点中排列好的支目标路径表达式按顺序进行拼接,得到若干个拼接表达式;
对若干个拼接表达式进行相加,得到查询目标表达式。
8.根据权利要求1所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述根据重合式的查询复杂度对若干个查询目标表达式进行提取包括:
计算每个查询目标表达式的查询复杂度;
基于数据表格中所有查询目标表达式的查询复杂度,得到平均复杂度;
对与平均复杂度的差值的绝对值大于预设值的查询目标表达式计算节点复杂度;
对查询目标表达式的节点复杂度最高的节点,提取其中的查询目标。
9.根据权利要求8所述的一种基于动态树形结构化表达式的计算方法,其特征在于,所述基于提取结果动态生成分支树并同步变更查询目标表达式包括:
创建新分支树并关联节点复杂度最高的节点的查询目标;
基于新分支树更新查询目标表达式。
CN202410350388.1A 2024-03-26 2024-03-26 一种基于动态树形结构化表达式的计算方法 Pending CN118036720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410350388.1A CN118036720A (zh) 2024-03-26 2024-03-26 一种基于动态树形结构化表达式的计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410350388.1A CN118036720A (zh) 2024-03-26 2024-03-26 一种基于动态树形结构化表达式的计算方法

Publications (1)

Publication Number Publication Date
CN118036720A true CN118036720A (zh) 2024-05-14

Family

ID=91004260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410350388.1A Pending CN118036720A (zh) 2024-03-26 2024-03-26 一种基于动态树形结构化表达式的计算方法

Country Status (1)

Country Link
CN (1) CN118036720A (zh)

Similar Documents

Publication Publication Date Title
US11977541B2 (en) Systems and methods for rapid data analysis
US10769123B2 (en) Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases
US10289718B2 (en) Partition access method for query optimization
US10049134B2 (en) Method and system for processing queries over datasets stored using hierarchical data structures
US8266147B2 (en) Methods and systems for database organization
US10031942B2 (en) Query optimization with zone map selectivity modeling
US20100114976A1 (en) Method For Database Design
US20140337373A1 (en) System for managing graph queries on relationships among entities using graph index
US20080162455A1 (en) Determination of document similarity
US20080162456A1 (en) Structure extraction from unstructured documents
US20090112799A1 (en) Database Statistics for Optimization of Database Queries Containing User-Defined Functions
WO2014210218A1 (en) Incremental maintenance of range-partitioned statistics for query optimization
US20120078904A1 (en) Approximate Index in Relational Databases
CN103970902A (zh) 一种大量数据情况下的可靠即时检索方法及系统
CN105159971B (zh) 一种云平台数据检索方法
CN101119302A (zh) 一种挖掘事务数据流上最近时间窗口内频繁模式的方法
US8515927B2 (en) Determining indexes for improving database system performance
US20090112792A1 (en) Generating Statistics for Optimizing Database Queries Containing User-Defined Functions
CN104462161A (zh) 基于分布式数据库的结构化数据查询方法
Hewasinghage et al. A cost model for random access queries in document stores
US20170262503A1 (en) Fusing global reporting aggregate computation with the underlying operation in the query tree for efficient evaluation
US9135302B2 (en) Query rewrite with a nested materialized view
CN110019299A (zh) 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置
CN111522819A (zh) 一种树型结构数据汇总的方法及系统
CN118036720A (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