CN106372176A - 一种支持对嵌套文档进行统一sql查询的方法 - Google Patents
一种支持对嵌套文档进行统一sql查询的方法 Download PDFInfo
- Publication number
- CN106372176A CN106372176A CN201610783021.4A CN201610783021A CN106372176A CN 106372176 A CN106372176 A CN 106372176A CN 201610783021 A CN201610783021 A CN 201610783021A CN 106372176 A CN106372176 A CN 106372176A
- Authority
- CN
- China
- Prior art keywords
- document
- key
- data
- inquiry
- sql
- 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.)
- Granted
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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/2452—Query translation
- G06F16/24522—Translation of natural language queries to structured queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种支持对嵌套文档进行统一SQL查询的方法,其特征在于上层接口仍沿用用户熟悉的SQL查询语言,而在功能上实现对非结构化的嵌套文档的查询。本发明能针对大数据多源异构的特点,通过分布式数据库中间件对关系型数据以及NoSQL数据库MongDB中的嵌套文档进行统一SQL操作,获取底层数据库中的数据,操作具有正确性;同时,不管底层数据库中的数据以何种形式存在,前端均能以关系型的方式操作数据,并能以关系型的形式将结果展现给用户,提高了中间件的易用性。
Description
技术领域
本发明涉及一种通过分布式中间件实现对嵌套文档的适应性存储和统一查询方法。
背景技术
大数据时代到来,伴随着数据规模的急剧增长,数据管理向分布式发展已成为趋势。传统的分布式数据库构造复杂,分布式管理集成于数据库本身,难以对现有的数据库系统进行整合,而分布式数据库中间件以其灵活性和可扩展性为解决上述问题提供了良好的途径。分布式数据库中间件为应用和底层数据库构建了一个桥梁,上层应用产生的查询通过数据库中间件被解析成独立的查询计划下发到每个数据节点,每个数据节点返回查询结果,再由数据库中间件对结果进行整合返回给用户。目前现有分布式数据库中间件主要整合流行的MySQL关系型单机数据库。实际上,分布式数据库中间件能够平滑地将不同类型的底层数据库和应用集成。为此,若在底层将关系型数据库与NoSQL进行统一集成,将有望对不同来源和不同结构的数据进行自适应存储和查询。然而,在查询上存在诸多问题,例如,MongoDB作为key-value型NoSQL数据库的代表,它的数据可能以嵌套文档的形式存在,中间件已有机制对嵌套文档的查询无法返回正确结果,因此如何对已有查询进行功能完善,提高分布式中间件的可用性成为迫切需要解决的问题。
发明内容
本发明的目的是提供一种支持在分布式数据库中间件中对嵌套文档适应性存储和统一查询的策略。
为了达到上述目的,本发明的技术方案是提供了一种支持对嵌套文档进行统一SQL查询的方法,其特征在于,上层接口仍沿用用户熟悉的SQL查询语言,而在功能上实现对非结构化的嵌套文档的查询,包括以下步骤:
步骤1、以分布式数据库中间件为技术手段,集中NoSQL数据库及MySQL数据库,包括:
步骤1.1、在单机或多机的环境下,搭建MySQL数据库及NoSQL数据库(例如MongoDB),创建好相应的表,插入所需的数据;
步骤1.2、搭建Mycat中间件环境,在配置文件中添加各数据节点,并指定各节点的数据库类型,选择MySQL数据作为关系型数据节点,NoSQL数据作为非关系型数据节点,即文档型数据节点;
步骤2、建立文档-关系表存储映射,生成xml文档,包括:
步骤2.1、在文档数据和关系数据之间建立一个存储模型上的逻辑映射,文档型数据库采用嵌套数据对象,用集合collection代替了关系型数据库中的表table,用最小逻辑单元文档document代替关系型数据库中的行row,用键key代替关系型数据库中的列columm,从而建立两者数据库存储结构的对应关系,以MongoDB为例,建立的对应关系如表1所示:
表1 MongoDB与关系型数据库的逻辑结构对比
MongoDB | 关系型数据库 |
键(key) | 列(column) |
文档(document) | 行(row) |
集合(collection) | 表(table) |
数据库(database) | 数据库(database) |
步骤2.2、根据步骤2.1建立的对应关系,定义映射规则如下:
映射规则一、键key映射为关系型数据库中的列columm,值value则相应地映射为列columm的值;
映射规则二、当各最小逻辑单元文档document中键key不相同时,关系型数据库的列集为所有列columm的键key组成的最大属性覆盖集,对键key数量小于最大覆盖集数量的那些最小逻辑单元文档document,其在映射关系中不存在的键key,在关系型数据库中对应的列columm值置为空;
映射规则三、当某个最小逻辑单元文档document中存在嵌套文档时,嵌套文档的键key以当前最小逻辑单元文档document的键key为前缀,组合之后的键名映射为关系型数据库中的列名。
步骤2.3、根据待存储和查询的文档数据,生成表示嵌套文档结构的xml文档;
步骤3、当前端接收到SQL查询时,Mycat中间件解析查询语句,如果该查询不包含对嵌套文档的查询,转步骤5;否则若查询为非最深查询,转步骤4;若查询为最深查询,转步骤5;
步骤4、在路由之前做SQL拦截工作,该步骤包括:
步骤4.1、实现自定义类implements SQLInterceptor,包括:
步骤4.1.1、正则匹配出SQL语句中select与from之间的属性域fields;属性域若fields中包含“,”,转步骤4.1.2,否则将属性域fields记为域field,记标志位为0,转步骤4.1.3;
步骤4.1.2、以“,”为分隔符,分割属性域fields,保存为字符串数组fields_arr,记标志位为1,对fields_arr中的每个元素field,进行如下处理:;
步骤4.1.3、若域field中包含“.”,转步骤4.1.4,否则域field记为域last_field,转步骤4.1.5;
步骤4.1.4、以“.”为分隔符,分割域field,保存为字符串数组str,取出字符串数组str最后一个元素,记为last_field;
步骤4.1.5、解析步骤2中创建的xml文档,从根节点开始深度遍历,获取从last_field对应节点开始的深度遍历各分支后的所有子节点,返回所有分支对应的子节点名称数组,对于第i个分支而言,得到该分支所有子节点名称组成的子节点名称数组NodeArri,其中,i为非负整数;
步骤4.1.6、得到每个子节点名称数组对应的字符串,其中,对于子节点名称数组NodeArri而言,用“.”连接域field和子节点名称数组NodeArri的所有元素,记为字符串new_fieldi;若标志位为1,返回步骤4.1.3;否则转到步骤4.1.7;
步骤4.1.7、若步骤4.1.6得到的字符串的数量大于1,则用“,”连接所有字符串,记为新属性域new_fields,若步骤4.1.6得到的字符串的数量为1,则直接将得到的字符串记为新属性域new_fields,用新属性域new_fields代替原SQL语句中的属性域fields,返回新的SQL语句;
步骤4.2、将自定义实现的类放入catlet目录,为class或jar;(注:catlet文件夹在Mycat项目的根目录下)
步骤4.3、修改配置文件server.xml;
该文件在项目下的src/main/resources目录下,它几乎保存了所有Mycat需要的系统配置信息。其中,system标签内嵌套的property标签都与系统配置有关。当开启SQL拦截时,在server.xml中添加如下信息:
<system>
<property name=″sqlInterceptor″>org.opencloudb.interceptor.impl.自定义class</property>
<!--其他配置-->
</system>
步骤5、从SQL语句中提取与底层数据库相关的查询对象,翻译成对应语法,推送到对应节点上执行语句,得到中间结果集。若中间结果集不再包含嵌套数据,转步骤7;否则转步骤6;
步骤6、此时查询是最深查询,根据给出的查询属性,从中间结果集中获取最终关系型的结果集,包括:
步骤6.1、对前端给出的查询属性,以“.”为分隔符,分割属性字段,保存为字符串数组str_arr;
步骤6.2、对str_arr中元素str_arr[i],i从0到str_arr.length-1,str_arr.length为字符串数组str_arr的长度,以str_arr[i]为键key,从中间结果集中获取该键key对应的值value,即为当前结果集,当前结果集作为中间结果集,继续循环执行步骤6.2;
步骤7、以关系表的形式将结果集返回至前端。
本发明能针对大数据多源异构的特点,通过分布式数据库中间件对关系型数据以及NoSQL数据库MongDB中的嵌套文档进行统一SQL操作,获取底层数据库中的数据,操作具有正确性;同时,不管底层数据库中的数据以何种形式存在,前端均能以关系型的方式操作数据,并能以关系型的形式将结果展现给用户,提高了中间件的易用性。
具体实施方式
为使本发明更明显易懂,兹以优选实施例作详细说明如下。
本发明提供了一种支持对嵌套文档进行统一SQL查询的方法,本发明能针对分布式中间件下多种数据库并存时,对嵌套文档无法进行正确的SQL查询的情况。通过对中间件原有SQL解析、SQL推送模块进行改写,并增加SQL拦截模块,来达到使用SQL对嵌套文档进行统一查询的目的,提高了分布式数据库中间件的灵活性,并为普通用户使用关系型方式操作非关系型数据提供了良好的平台。具体操作步骤为:
步骤1、搭建数据库环境(这里只考虑MongoDB)以及分布式中间件Mycat环境,并加底层数据库节点添加至中间件,具体步骤如下:
1.1)下载并配置MongoDB,添加数据库服务后启动MongoDB服务;在MongoDB中创建两个数据库为db1和db2,在db1和db2下分别创建一个collection为timestamp;
在db1.timestamp中插入如下数据:
{″id″:1,″time″:{″year″:2016,″month″:2,″day″:{″date″:15,″clock_time″:″13:00″}}};
{″id″:2,″time″:{″year″:2016,″month″:1,″day″:{″date″:5,″clock_time″:″11:30″}}}
在db2.timestamp中插入如下数据:
{″id″:3,″time″:{″year″:2015,″month″:11,″day″:{″date″:25,″clock_time″:″17:00″}}}
{″id″:4,″time″:{″year″:2015,″month″:12,″day″:{″date″:3,″clock_time″:″7:00″}}}
1.2)下载并配置Mycat环境
步骤2、对文档timestamp,建立文档-关系表在存储上的逻辑映射。同时,生成表示文档timestamp结构的xml文档。
2.1)根据插入至MongoDB的数据,得到关系型schema为:
timestamp(id,time.year,time.month,time.day.date,time.day.clock_time);
2.2)根据2.1)建立的关系型schema,生成表示嵌套文档结构的timestamp.xml,其中,xml的根节点元素值为“*”,表示所有属性的父属性;“*”下面2个子节点元素值依次为“id”,“time”;“time”下面3个子节点元素值依次为“year”,”month”,“day”;“day”下面2个子节点元素值依次为“date”,“clock_time”;
步骤3、设计查询语句sql1:select time.day from time。对查询语句进行解析,该查询包含嵌套查询,且为非最深查询。
步骤4、对查询语句做SQL拦截。具体步骤如下:
4.1)在org.opencloudb.interceptor.impl包中添加NestSqlInterceptor.java,在该类中实现对SQL语句的改写,具体实现如下:
4.1.1)正则匹配出select与from之间的属性名“time.day”。“time.day”中不包含“,”,将其记为field,记标志位为0。
4.1.2)feld中包含“.”,转入下一个步骤。
4.1.3)以“.”为分隔符,分割field,保存为字符串数组str=[time,day],取出str最后一个元素day,记为last_field。
4.1.4)解析步骤2中创建的timestamp.xml,从根节点开始深度遍历,获取从“day”对应节点开始的各分支所有子节点。对分支1,得到数组NodeArr1=[date];对分支2,得到NodeArr2=[clock_time]。
4.1.5)对NodeArr1,用“.”连接“time.day”和对NodeArr1的所有元素,得到字符串new_field1=“time.day.date”。同理得到new_field2=“time.day.clock_time”。此时,标志位为0,无需再从4.1.2)开始循环。
4.1.6)用“,”连接new_field1及new_field2,得到new_fields=“time.day.date,time.day.clock_time”。用new_felds代替原SQL语句中的“time.day”,得到新的SQL语句为sql2:select time.day.date,time.,day.clock_time from timestamp。
4.2)将自定义的NestSqlInterceptor.java编译后得到的NestSqlInterceptor.class文件放入项目根目录下的catlet目录下。
4.3)修改src/main/resources下的配置文件server.xml,在server.xml中添加如下信息:
<system>
<property name=″sqlInterceptor″>org.opencloudb.interceptor.impl.NestSqlInterceptor</property>
<!--其他配置-->
</system>
步骤5、执行改写后的最深查询语句sql2。具体步骤为:
5.1)从改写后的sql2中提取出与底层MongoDB相关的查询对象,包括查询的属性名time.day.date,time.day.clock_time,查询的表名timestamp。翻译成对应的语法,即MongoDB的命令,此时转化成的语句为db.timestamp.find({},{“time.day.date”:1,“time.day.clock_time”:1})。
5.2)将转化后的命令推送到底层dnTest1和dnTest2节点执行。相当于分别在dnTest1和dnTest2上执行MongoDB命令,得到中间结果集为json格式的文档。dnTest1上执行结果为:{″time″:{″day″:{″date″:15,″clock_time″:″13:00″}}},{″time″:{″day″:{″date″:5,″clock_time″:″11:30″}}};dnTest2上执行结果为:{″time″:{″day″:{″date″:25,″clock_time″:″17:00″}}},{″time″:{″day″:{″date″:3,″clock_time″:″7:00″}}}。以上为此时的中间结果集,它仍然是json格式的嵌套文档,转到下个步骤处理。
步骤6、此时的查询是最深查询,其中查询属性为time.day.date,time.day.clock_time。根据这些属性,从中间结果集中获取最终关系型结果集。具体步骤如下:
6.1)前端给出的查询属性是并行去中间结果集中获取对应的关系结果集。故以time.day.date为例,以“.”为分割符对其进行分割,分割后得到字符串数组str_arr为[time,day,date]。
6.2)从json格式的中间结果集中循环取出最终结果集。具体分为以下步骤:
6.2.1)对str_arr[0],即为time,以它为key,从5.2)的中间结果集中获取对应的value值为{{″day″:{″date″:15,″clock_time″:″13:00″}},{″day″:{″date″:5,″clock_time″:″11:30″}},{″day″:{″date″:25,″clock_time″:″17:00″}},{″day″:{″date″:3,″clock_time″:″7:00″}}。将该结果集作为中间结果集。
6.2.2)对str_arr[1],即为day,以它为key,从中间结集中获取对应的value值为{″date″:15,″clock_time″:″13:00″},{″date″:5,″clock_time″:″11∶30″},{″date″:25,″clock_time″:″17:00″},{″date″:3,″clock_time″:″7:00″}。将该结果集作为中间结果集。
6.2.3)对str_arr[2],即date,以它为key,从中间结果集中获取对应的value值为{15,5,25,3}。此时的结果集已为关系型,跳出循环。同理,对其他的查询属性也可得出它们对应的关系结果。
步骤7、返回最终的关系型结果集,如表2所示。
表2 sql执行结果
Claims (1)
1.一种支持对嵌套文档进行统一SQL查询的方法,其特征在于,上层接口仍沿用用户熟悉的SQL查询语言,而在功能上实现对非结构化的嵌套文档的查询,包括以下步骤:
步骤1、以分布式数据库中间件为技术手段,集中NoSQL数据库及MySQL数据库,包括:
步骤1.1、在单机或多机的环境下,搭建MySQL数据库及NoSQL数据库,创建好相应的表,插入所需的数据;
步骤1.2、搭建Mycat中间件环境,在配置文件中添加各数据节点,并指定各节点的数据库类型,选择MySQL数据作为关系型数据节点,NoSQL数据作为非关系型数据节点,即文档型数据节点;
步骤2、建立文档-关系表存储映射,生成xml文档,包括:
步骤2.1、在文档数据和关系数据之间建立一个存储模型上的逻辑映射,文档型数据库采用嵌套数据对象,用集合collection代替了关系型数据库中的表table,用最小逻辑单元文档document代替关系型数据库中的行row,用键key代替关系型数据库中的列columm,从而建立两者数据库存储结构的对应关系;
步骤2.2、根据步骤2.1建立的对应关系,定义映射规则如下:
映射规则一、键key映射为关系型数据库中的列columm,值value则相应地映射为列columm的值;
映射规则二、当各最小逻辑单元文档document中键key不相同时,关系型数据库的列集为所有列columm的键key组成的最大属性覆盖集,对键key数量小于最大覆盖集数量的那些最小逻辑单元文档document,其在映射关系中不存在的键key,在关系型数据库中对应的列columm值置为空;
映射规则三、当某个最小逻辑单元文档document中存在嵌套文档时,嵌套文档的键key以当前最小逻辑单元文档document的键key为前缀,组合之后的键名映射为关系型数据库中的列名。
步骤2.3、根据待存储和查询的文档数据,生成表示嵌套文档结构的xml文档;
步骤3、当前端接收到SQL查询时,Mycat中间件解析查询语句,如果该查询不包含对嵌套文档的查询,转步骤5;否则若查询为非最深查询,转步骤4;若查询为最深查询,转步骤5;
步骤4、在路由之前做SQL拦截工作,该步骤包括:
步骤4.1、实现自定义类implements SQLInterceptor,包括:
步骤4.1.1、正则匹配出SQL语句中select与from之间的属性域fields;属性域若fields中包含“,”,转步骤4.1.2,否则将属性域fields记为域field,记标志位为0,转步骤4.1.3;
步骤4.1.2、以“,”为分隔符,分割属性域fields,保存为字符串数组fields_arr,记标志位为1;
步骤4.1.3、若域field中包含“.”,转步骤4.1.4,否则域field记为域last_field,转步骤4.1.5;
步骤4.1.4、以“.”为分隔符,分割域field,保存为字符串数组str,取出字符串数组str最后一个元素,记为last_field;
步骤4.1.5、解析步骤2中创建的xml文档,从根节点开始深度遍历,获取从last_field对应节点开始的深度遍历各分支后的所有子节点,返回所有分支对应的子节点名称数组,对于第i个分支而言,得到该分支所有子节点名称组成的子节点名称数组NodeArri,其中,i为非负整数;
步骤4.1.6、得到每个子节点名称数组对应的字符串,其中,对于子节点名称数组NodeArri而言,用“.”连接域field和子节点名称数组NodeArri的所有元素,记为字符串new_fieldi;若标志位为1,返回步骤4.1.3;否则转到步骤4.1.7;
步骤4.1.7、若步骤4.1.6得到的字符串的数量大于1,则用“,”连接所有字符串,记为新属性域new_fields,若步骤4.1.6得到的字符串的数量为1,则直接将得到的字符串记为新属性域new_fields,用新属性域new_fields代替原SQL语句中的属性域fields,返回新的SQL语句;
步骤4.2、将自定义实现的类放入catlet目录,为class或jar;
步骤4.3、修改配置文件server.xml;
步骤5、从SQL语句中提取与底层数据库相关的查询对象,翻译成对应语法,推送到对应节点上执行语句,得到中间结果集。若中间结果集不再包含嵌套数据,转步骤7;否则转步骤6;
步骤6、此时查询是最深查询,根据给出的查询属性,从中间结果集中获取最终关系型的结果集,包括:
步骤6.1、对前端给出的查询属性,以“.”为分隔符,分割属性字段,保存为字符串数组str_arr;
步骤6.2、对str_arr中元素strarr[i],i从0到strarr.length-1,strarr.length为字符串数组str_arr的长度,以strarr[i]为键key,从中间结果集中获取该键key对应的值value,即为当前结果集,当前结果集作为中间结果集,继续循环执行步骤6.2;
步骤7、以关系表的形式将结果集返回至前端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610783021.4A CN106372176B (zh) | 2016-08-30 | 2016-08-30 | 一种支持对嵌套文档进行统一sql查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610783021.4A CN106372176B (zh) | 2016-08-30 | 2016-08-30 | 一种支持对嵌套文档进行统一sql查询的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106372176A true CN106372176A (zh) | 2017-02-01 |
CN106372176B CN106372176B (zh) | 2019-07-23 |
Family
ID=57899340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610783021.4A Active CN106372176B (zh) | 2016-08-30 | 2016-08-30 | 一种支持对嵌套文档进行统一sql查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106372176B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133267A (zh) * | 2017-04-01 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 查询elasticsearch集群的方法、装置、电子设备和可读存储介质 |
CN107943870A (zh) * | 2017-11-10 | 2018-04-20 | 顺丰科技有限公司 | 用于提高分布式数据库中间件稳定性的方法及其设备 |
CN108133043A (zh) * | 2018-01-12 | 2018-06-08 | 福建星瑞格软件有限公司 | 一种基于大数据的服务器运行日志结构化存储方法 |
CN108182291A (zh) * | 2018-01-30 | 2018-06-19 | 国网江苏省电力有限公司扬州供电分公司 | 一种基于NoSql数据库同关系型数据库的数据交互机制 |
CN108984603A (zh) * | 2018-06-05 | 2018-12-11 | 试金石信用服务有限公司 | 异构数据采集方法、设备、存储介质及系统 |
CN109241054A (zh) * | 2018-08-02 | 2019-01-18 | 成都松米科技有限公司 | 一种多模型数据库系统、实现方法以及服务器 |
CN110019287A (zh) * | 2017-07-20 | 2019-07-16 | 华为技术有限公司 | 执行结构化查询语言sql指令的方法和装置 |
CN110019517A (zh) * | 2017-11-14 | 2019-07-16 | 顺丰科技有限公司 | 一种数据库中间件动态配置方法、系统、设备、存储介质 |
CN110569456A (zh) * | 2019-07-26 | 2019-12-13 | 广州视源电子科技股份有限公司 | Web端数据离线缓存方法及装置、电子设备 |
CN110781525A (zh) * | 2019-11-22 | 2020-02-11 | 中国科学院深圳先进技术研究院 | 一种基于区块链的档案信息安全管理系统和方法 |
CN111460241A (zh) * | 2020-04-26 | 2020-07-28 | 甬矽电子(宁波)股份有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
CN112765197A (zh) * | 2020-12-30 | 2021-05-07 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN113553297A (zh) * | 2021-06-08 | 2021-10-26 | 优刻得科技股份有限公司 | 一种交换机配置信息的管理方法及系统 |
WO2023151543A1 (zh) * | 2022-02-09 | 2023-08-17 | 杭州未名信科科技有限公司 | 基于结构化查询语言sql的查询方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561817A (zh) * | 2009-06-02 | 2009-10-21 | 天津大学 | 一种XQuery到SQL查询语言的转换算法及关系数据的查询方法 |
US20150074083A1 (en) * | 2013-09-06 | 2015-03-12 | Sap Ag | Sql enhancements simplifying database querying |
CN105893587A (zh) * | 2016-04-06 | 2016-08-24 | 中国建设银行股份有限公司 | 白名单生成方法和相关的用于数据存取的装置及方法 |
-
2016
- 2016-08-30 CN CN201610783021.4A patent/CN106372176B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561817A (zh) * | 2009-06-02 | 2009-10-21 | 天津大学 | 一种XQuery到SQL查询语言的转换算法及关系数据的查询方法 |
US20150074083A1 (en) * | 2013-09-06 | 2015-03-12 | Sap Ag | Sql enhancements simplifying database querying |
CN105893587A (zh) * | 2016-04-06 | 2016-08-24 | 中国建设银行股份有限公司 | 白名单生成方法和相关的用于数据存取的装置及方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133267A (zh) * | 2017-04-01 | 2017-09-05 | 北京京东尚科信息技术有限公司 | 查询elasticsearch集群的方法、装置、电子设备和可读存储介质 |
CN110019287B (zh) * | 2017-07-20 | 2021-09-14 | 华为技术有限公司 | 执行结构化查询语言sql指令的方法和装置 |
CN110019287A (zh) * | 2017-07-20 | 2019-07-16 | 华为技术有限公司 | 执行结构化查询语言sql指令的方法和装置 |
CN107943870A (zh) * | 2017-11-10 | 2018-04-20 | 顺丰科技有限公司 | 用于提高分布式数据库中间件稳定性的方法及其设备 |
CN110019517A (zh) * | 2017-11-14 | 2019-07-16 | 顺丰科技有限公司 | 一种数据库中间件动态配置方法、系统、设备、存储介质 |
CN108133043A (zh) * | 2018-01-12 | 2018-06-08 | 福建星瑞格软件有限公司 | 一种基于大数据的服务器运行日志结构化存储方法 |
CN108182291A (zh) * | 2018-01-30 | 2018-06-19 | 国网江苏省电力有限公司扬州供电分公司 | 一种基于NoSql数据库同关系型数据库的数据交互机制 |
CN108984603A (zh) * | 2018-06-05 | 2018-12-11 | 试金石信用服务有限公司 | 异构数据采集方法、设备、存储介质及系统 |
CN109241054A (zh) * | 2018-08-02 | 2019-01-18 | 成都松米科技有限公司 | 一种多模型数据库系统、实现方法以及服务器 |
CN110569456A (zh) * | 2019-07-26 | 2019-12-13 | 广州视源电子科技股份有限公司 | Web端数据离线缓存方法及装置、电子设备 |
CN110569456B (zh) * | 2019-07-26 | 2022-03-08 | 广州视源电子科技股份有限公司 | Web端数据离线缓存方法及装置、电子设备 |
CN110781525A (zh) * | 2019-11-22 | 2020-02-11 | 中国科学院深圳先进技术研究院 | 一种基于区块链的档案信息安全管理系统和方法 |
CN111460241A (zh) * | 2020-04-26 | 2020-07-28 | 甬矽电子(宁波)股份有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
CN111460241B (zh) * | 2020-04-26 | 2024-01-23 | 甬矽电子(宁波)股份有限公司 | 一种数据查询方法、装置、电子设备及存储介质 |
CN112765197A (zh) * | 2020-12-30 | 2021-05-07 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN112765197B (zh) * | 2020-12-30 | 2024-04-30 | 金蝶软件(中国)有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN113553297A (zh) * | 2021-06-08 | 2021-10-26 | 优刻得科技股份有限公司 | 一种交换机配置信息的管理方法及系统 |
WO2023151543A1 (zh) * | 2022-02-09 | 2023-08-17 | 杭州未名信科科技有限公司 | 基于结构化查询语言sql的查询方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106372176B (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106372176B (zh) | 一种支持对嵌套文档进行统一sql查询的方法 | |
CN107092656B (zh) | 一种树状结构数据处理方法及系统 | |
CN106934062B (zh) | 一种查询elasticsearch的实现方法及系统 | |
CN107491561B (zh) | 一种基于本体的城市交通异构数据集成系统及方法 | |
CN103500196B (zh) | 多并发大数据量环境下excel数据导出方法及其导出装置 | |
CN101840334B (zh) | 一种软件构件服务化封装方法 | |
CN104572970B (zh) | 一种基于本体库内容的sparql查询语句生成系统 | |
CN102646039A (zh) | 基于XML Schema的软件界面生成系统及方法 | |
CN107016071B (zh) | 一种利用简单路径特征优化树状结构数据的方法及系统 | |
CN102279847B (zh) | 软件系统国际化方法和装置 | |
CN103123650B (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN111078702B (zh) | 一种sql语句分类管理及统一查询方法和装置 | |
EP2545465A1 (en) | Data integration system | |
CN103838837B (zh) | 基于语义模板的遥感元数据集成方法 | |
CN106407302A (zh) | 支持通过简单sql调用中间件数据库特有功能的方法 | |
CN107423391A (zh) | 网页结构化数据的信息提取方法 | |
CN107133027A (zh) | 一种语法树层次化表示方法 | |
CN103123646B (zh) | 将xml文档自动转化为owl文档的转换方法及装置 | |
KR101166763B1 (ko) | 웹 상에서 xml 문서의 데이터를 데이터베이스에 통합하는 방법 | |
CN104636265B (zh) | 一种cimxml文档的高效内存模型组织的访问方法 | |
CN109116828A (zh) | 一种控制器中模型代码配置方法和装置 | |
CN103888790A (zh) | 一种epg适配系统及方法 | |
CN104281604B (zh) | 生成Targetlink数据字典分层树的方法和系统 | |
CN101013430A (zh) | 搜索方法及装置 | |
CN107562955A (zh) | 一种sql语句的快速生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |