CN108334563A - 一种数据查询的方法及装置 - Google Patents
一种数据查询的方法及装置 Download PDFInfo
- Publication number
- CN108334563A CN108334563A CN201810020220.9A CN201810020220A CN108334563A CN 108334563 A CN108334563 A CN 108334563A CN 201810020220 A CN201810020220 A CN 201810020220A CN 108334563 A CN108334563 A CN 108334563A
- Authority
- CN
- China
- Prior art keywords
- data
- root node
- inquired
- trigram models
- inquiring
- 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
Links
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/2282—Tablespace storage structures; Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据查询的方法及装置,该方法包括:将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。该方案可以有效避免对数据的重复查询。
Description
技术领域
本公开实施例涉及但不限于数据库领域,尤指一种数据查询的方法及装置。
背景技术
在为客户提供大数据解决方案的时候,通常需要建立复杂的数据模型,并将数据模型存储在关系型数据库中。相关应用将会根据数据模型对客户的海量数据进行处理。一旦在处理过程中发现数据模型有误,对海量数据的处理结果的回滚或者重运行的代价都会非常的高,因此保证数据模型的正确性是至关重要的。以往数据模型的正确性都是由领域专家人工review(检验)来保证,当数据模型非常复杂时,要保证正确性仅靠人工是非常困难的。因而就需要制定一系列验证规则,对存储在关系型数据库中的数据模型进行细致的验证。但是,目前的许多数据验证方法需要编写大量SQL(Structured Query Language,结构化查询语言)语句,而且对数据库指定数据进行重复查询,这样不仅效率低,耗时长,并且对数据库的性能有影响。
发明内容
本公开实施例提供一种数据查询的方法及装置,以有效避免对数据的重复查询。
一种数据查询的方法,包括:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
可选地,所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
可选地,当所述根节点类型为空时,表示对所有的数据表进行查询验证。
可选地,所述根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:
查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;
遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
可选地,出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
一种数据查询的装置,其中,包括:
构建模块,用于将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
遍历模块,用于将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
缓存模块,用于将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询模块,用于查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
可选地,所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
可选地,当所述根节点类型为空时,表示对所有的数据表进行查询验证。
可选地,所述遍历模块,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
可选地,所述遍历模块,出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
一种数据查询的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
综上,本发明实施例提供一种数据查询的方法及装置,可以有效避免对数据的重复查询。
附图说明
图1为本公开实施例的一种数据查询的方法的流程图;
图2为本公开实施例的数据库模块的示意图;
图3为本公开实施例的DAG的示意图;
图4为本公开实施例的三元组模型的示意图;
图5为本公开实施例的一种数据查询的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
假设用户需要对一个数据库中的所有表数据进行验证,数据表之前互相有外键依赖关系,用户需要按照不同范围,不同粒度查出表中的数据进行准确性校验。本本公开实施例提出一种数据查询的方法,如图1所示,本实施例的方法包括:
步骤11、将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图(Directed Andcyclic Graph,简称DAG);
本实施例中,从一个数据表沿着将该表主键作为外键约束的下一个表游走,到该表主键没有被另外一个表所使用的终点,作为一个DAG。
一般在一个数据库中可以构造出多个DAG,如果从一个表到另外一个表存在环的情况下,需要对环按照具体情况进行拆解为多个DAG;如果一个表主键没有被其他表作为外键关联,则该表单独作为一个根节点存储。
步骤12、将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
本实施例中,三元组具体组成为根节点类型(rootType),叶节点类型(scopeType),根节点ID(rootId)。
叶节点类型决定了被检查目标的类型,根节点类型+根节点ID决定了被检查目标的范围。比如(数据源,原始表,1)可以表示对数据源ID为1的所有原始表进行查询,(目标表,目标表,3)可以表示对目标表ID为3的目标表进行查询(根节点和叶节点类型可以重复)。
另外,对三元组模型进行扩展,加入根节点类型为EMPTY的情况,比如(EMPTY,目标表,-1)则表示对所有的目标表查询,这样基于三元组模型就可以定位对不同范围数据的查询。
步骤13、将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
根据步骤12中的三元组模型在步骤11中的DAG中进行遍历,从而转换为SQL语句,即找到一条从三元组根节点到叶节点的路径,节点依次入栈,遍历完后再将堆栈元素依次出栈,出栈过程中将第一个元素即叶节点表作为查询目标,将叶节点父节点至根节点表作为需要连接的表,出栈完成后判断根节点不为EMPTY的情况下将根节点表+根节点ID组合作为条件查询。
步骤14、查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
构造一个三元组模型和对应数据集合的缓存池,对三元组根节点,叶节点类型,根节点ID进行编码的结果作为缓存的Key,将每一次根据三元组模型遍历DAG转换得到的SQL语句去查询到的数据集合作为缓存的值,后续查询先根据三元组从缓存池取数,缓存中没有的情况下再去数据库查找,有效避免了对数据的重复查询。
本实施例的方法,通过将对数据库中各个表的不同范围数据查询语句转化为可缓存的三元组模型,解决数据验证过程需要重复编写调用大量SQL语句以及对查询数据缓存的问题。
以下是一应用示例,如图2所示的数据模型图,表示一个数据库中的四张表(数据源,原始表,原始表属性,原始表目标表映射),也是存储了数据处理过程中的部分元数据信息。
假设治理人员要对数据源ID为3下的所有原始表目标表映射数据进行验证,则执行以下步骤:
步骤201、首先根据数据库模型图将数据库中这些表根据外键约束构建DAG,如图3所示;
步骤202、接下来构建三元组模型,根节点类型为data_source_info,叶节点类型为o_t_table_mapping,根节点ID为3,即三元组(data_source_info,o_t_table_mapping,3)表示查出所有数据源ID为3的原始表目标表映射数据,最终得到的三元组模型,如图4所示。
步骤203、根据得到的三元组模型在数据库的DAG中深度遍历,即找到一条从三元组根节点数据源表到叶子节点原始表目标表映射的一条路径,数据源表(data_source_info)->原始表(origin_table)->原始表目标表映射(o_t_table_mapping),将结果依次入栈或者双向链表中,然后将深度遍历DAG得出的路径转换为SQL,转换过程如下:
1)从堆栈依次取出各个元素,第一个为o_t_table_mapping,得到SQL语句:
select o_t_table_mapping.*from o_t_table_mapping
2)取出第二个表origin_table,此时根据DAG图可以看出父节点为origin_table,孩子节点为o_t_table_mapping,在上面语句基础上连接父节点表得到SQL语句:
select o_t_table_mapping.*from o_t_table_mapping join parent onchild.idCol=parent.idCol。
用取出的父节点和孩子节点替换上述parent和child.idCol=parent.idCol得到语句:
select o_t_table_mapping.*from o_t_table_mapping join origin_table ono_t_table_mapping.origin_table_id=origin_table.origin_table_id。
3)取出第一个表data_source_info,按照第二步的流程转换拼接可以得到:
select o_t_table_mapping.*from o_t_table_mapping join origin_table ono_t_table_mapping.origin_table_id=origin_table.origin_table_id join data_source_info on origin_table.data_source_info_id=data_source_info_id。
4)出栈结束以后,进行完了从三元组叶子节点sopeType到根节点rootType的遍历,此时父节点为数据源表,并且根节点类型不为空,将根节点ID连接上去得到:
select o_t_table_mapping.*from o_t_table_mapping join origin_table ono_t_table_mapping.origin_table_id=origin_table.origin_table_id join data_source_info on origin_table.data_source_info_id=data_source_info_id wheredata_source_info_id=3。
由此可以看出,根据三元组模型对数据库DAG的遍历,成功得到了能够查询出数据源ID为3的所有原始表目标表映射数据的SQL查询语句。
相应地,本公开实施例还提供一种数据查询的装置,如图5所示,本实施例的装置包括:
构建模块,用于将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
遍历模块,用于将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
缓存模块,用于将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询模块,用于查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
在一实施例中,所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
在一实施例中,当所述根节点类型为空时,表示对所有的数据表进行查询验证。
在一实施例中,所述遍历模块,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:每查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
在一实施例中,所述遍历模块,出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
本公开实施例还提供一种数据查询的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现以下步骤:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
本发明实施例还提供了一种计算机可读存储介质,其存储有计算机可执行指令,所述计算机可执行指令被执行时实现所述数据查询的方法。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (11)
1.一种数据查询的方法,包括:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
2.如权利要求1所述的方法,其特征在于:
所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
3.如权利要求2所述的方法,其特征在于:
当所述根节点类型为空时,表示对所有的数据表进行查询验证。
4.如权利要求1-3任一项所述的方法,其特征在于:所述根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:
查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;
遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
5.如权利要求4所述的方法,其特征在于:
出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
6.一种数据查询的装置,其特征在于,包括:
构建模块,用于将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
遍历模块,用于将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
缓存模块,用于将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询模块,用于查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
7.如权利要求6所述的装置,其特征在于:
所述三元组模型包括以下元素:根节点类型,叶节点类型和根节点标识,其中,所述叶节点类型决定待验证数据的类型,所述根节点类型和所述根节点标识待验证数据的范围。
8.如权利要求7所述的装置,其特征在于:
当所述根节点类型为空时,表示对所有的数据表进行查询验证。
9.如权利要求6-8任一项所述的装置,其特征在于:
所述遍历模块,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句,包括:查询到一条从所述三元组模型中的根节点到叶节点的路径后,将所述根节点和所述叶节点依次入栈;遍历完所述有向无环图后,再将堆栈元素依次出栈,出栈过程中将叶节点表作为查询目标,出栈完成后将根节点表和根节点标识的组合作为条件查询。
10.如权利要求9所述的装置,其特征在于:
所述遍历模块,出栈完成后是在确定根节点不为空的情况下,将根节点表和根节点标识的组合作为条件查询的。
11.一种数据查询的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
将数据库中的所有表根据外键约束关系构建出一个或多个有向无环图;
将待验证的数据范围表示为一个三元组模型,根据所述三元组模型遍历所述有向无环图,将遍历结果转换为结构化查询语言语句;
将所述三元组模型和根据所述结构化查询语言语句查询出的数据缓存在缓存池中;
查询数据时,先在所述缓存池中查询,没查询到相关数据再到所述数据库中查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810020220.9A CN108334563A (zh) | 2018-01-09 | 2018-01-09 | 一种数据查询的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810020220.9A CN108334563A (zh) | 2018-01-09 | 2018-01-09 | 一种数据查询的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108334563A true CN108334563A (zh) | 2018-07-27 |
Family
ID=62924862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810020220.9A Pending CN108334563A (zh) | 2018-01-09 | 2018-01-09 | 一种数据查询的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334563A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399387A (zh) * | 2019-07-26 | 2019-11-01 | 北京明略软件***有限公司 | 基于表关联关系动态生成查询sql的方法及装置 |
CN110968738A (zh) * | 2019-11-19 | 2020-04-07 | 国网智能科技股份有限公司 | 智能站描述文件数据类型模板嵌套环检测方法及*** |
CN114490763A (zh) * | 2022-01-24 | 2022-05-13 | 全知科技(杭州)有限责任公司 | 一种单机高性能批流一体数据处理*** |
CN115134224A (zh) * | 2022-08-31 | 2022-09-30 | 杭州玳数科技有限公司 | Dag图的监控方法及*** |
CN114490763B (zh) * | 2022-01-24 | 2024-07-26 | 全知科技(杭州)有限责任公司 | 一种单机高性能批流一体数据处理*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047185A1 (en) * | 2006-01-25 | 2011-02-24 | At&T Corp. | Meta-data indexing for xpath location steps |
CN104077297A (zh) * | 2013-03-27 | 2014-10-01 | 日电(中国)有限公司 | 基于本体的查询方法及装置 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
-
2018
- 2018-01-09 CN CN201810020220.9A patent/CN108334563A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047185A1 (en) * | 2006-01-25 | 2011-02-24 | At&T Corp. | Meta-data indexing for xpath location steps |
CN104077297A (zh) * | 2013-03-27 | 2014-10-01 | 日电(中国)有限公司 | 基于本体的查询方法及装置 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110399387A (zh) * | 2019-07-26 | 2019-11-01 | 北京明略软件***有限公司 | 基于表关联关系动态生成查询sql的方法及装置 |
CN110968738A (zh) * | 2019-11-19 | 2020-04-07 | 国网智能科技股份有限公司 | 智能站描述文件数据类型模板嵌套环检测方法及*** |
CN114490763A (zh) * | 2022-01-24 | 2022-05-13 | 全知科技(杭州)有限责任公司 | 一种单机高性能批流一体数据处理*** |
CN114490763B (zh) * | 2022-01-24 | 2024-07-26 | 全知科技(杭州)有限责任公司 | 一种单机高性能批流一体数据处理*** |
CN115134224A (zh) * | 2022-08-31 | 2022-09-30 | 杭州玳数科技有限公司 | Dag图的监控方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659467B1 (en) | Distributed storage and distributed processing query statement reconstruction in accordance with a policy | |
US10678791B2 (en) | Using shared dictionaries on join columns to improve performance of joins in relational databases | |
US10713015B2 (en) | Visual programming system | |
US10055509B2 (en) | Constructing an in-memory representation of a graph | |
US9928113B2 (en) | Intelligent compiler for parallel graph processing | |
US10380088B2 (en) | Detecting quasi-identifiers in datasets | |
US8250107B2 (en) | Techniques for graph data structure management | |
US8131660B2 (en) | Reconfigurable hardware accelerator for boolean satisfiability solver | |
US8719236B2 (en) | Selecting candidate rows for deduplication | |
EP3289484B1 (en) | Method and database computer system for performing a database query using a bitmap index | |
US11461321B2 (en) | Technology to reduce cost of concatenation for hash array | |
CN108334563A (zh) | 一种数据查询的方法及装置 | |
US20140222870A1 (en) | System, Method, Software, and Data Structure for Key-Value Mapping and Keys Sorting | |
US20210109920A1 (en) | Method for Validating Transaction in Blockchain Network and Node for Configuring Same Network | |
CN112513836B (zh) | 结构化记录检索方法、计算***和计算机可读介质 | |
US8782082B1 (en) | Methods and apparatus for multiple-keyword matching | |
US8176080B2 (en) | Desensitizing character strings | |
CN112052413B (zh) | Url模糊匹配方法、装置和*** | |
CN108140022B (zh) | 数据查询方法和数据库*** | |
US9811563B2 (en) | System and method for recursively iterating over a loosely associated data structure | |
CN108549666B (zh) | 一种数据表的排序方法、装置、设备及存储介质 | |
AU2019425530B2 (en) | Systems and methods for hash chain migrations | |
US9378535B2 (en) | Efficient duplicate elimination | |
Green et al. | A fast algorithm for incremental betweenness centrality | |
US8849866B2 (en) | Method and computer program product for creating ordered data structure |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180727 |