CN105302842A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN105302842A CN105302842A CN201410374753.9A CN201410374753A CN105302842A CN 105302842 A CN105302842 A CN 105302842A CN 201410374753 A CN201410374753 A CN 201410374753A CN 105302842 A CN105302842 A CN 105302842A
- Authority
- CN
- China
- Prior art keywords
- statement
- data
- descriptive
- syntax tree
- inquiry plan
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法及装置,涉及数据库应用领域,解决现有非关系型数据库所使用的查询语句繁琐复杂,无法直观描述用户操作行为的问题,该数据处理方法,包括:根据数据间的逻辑关系,创建非关系型数据库中的数据集合;根据用户输入的描述性操作语句,生成相应的语法树,其中,描述性操作语句包括:待操作数据的目标路径地址,目标路径地址指向所述待操作数据所在的集合;根据所述语法树,生成相应的查询计划;根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。本发明的数据处理方法,可以使用户保留关系型数据库的结构化查询语言习惯,同时可以更好地描述用户操作意图,并使得对于key-value数据库的查询优化成为可能。
Description
技术领域
本发明涉及数据库应用领域,特别涉及一种数据处理方法及装置。
背景技术
随着非关系型数据库的概念被广泛接受后,产生了许多的键值形式的非关系型数据库,这些已经被各大互联网公司以及众多的数据库厂商所接受并广泛的使用在现有的***中。Key-value对于传统的数据库,其结构简单,适用于当今众多的互联网需求,但是这些key-valueNoSQL数据库所使用的查询语句,相对于传统的SQL描述性查询语句来说其存在着使用繁琐复杂,无法直观的描述用户操作行为,例如:MongoDB等,给用户带来极大的不便。
发明内容
本发明的目的在于提供一种数据处理方法及装置,用以解决现有非关系型数据库所使用的查询语句繁琐复杂,无法直观描述用户操作行为的问题。
为了实现上述目的,本发明提供了一种数据处理方法,应用于键值形式的非关系型数据库,包括:
根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
根据所述语法树,生成相应的查询计划;
根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
其中,所述根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合的步骤具体为:
用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
其中,所述描述性操作语句包括:描述性查询语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据。
其中,所述描述性操作语句包括:描述性删除语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据。
其中,所述描述性操作语句包括:描述性增加语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中。
其中,所述描述性操作语句包括:描述性修改语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
对所述描述性查询语句进行扫描,生成一语句对象;
根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
对所述原始语法树进行优化处理,生成相应的语法树。
其中,所述对所述原始语法树进行优化处理,生成相应的语法树的步骤具体为:
将所述操作语法树节点中的表达式替换为所述表达式对应的最终结果。
本发明的实施例还提供了一种数据处理装置,包括:
创建模块,用于根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
第一生成模块,用于根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
第二生成模块,用于根据所述语法树,生成相应的查询计划;
执行模块,用于根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
其中,所述创建模块用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
其中,所述描述性操作语句包括:描述性查询语句、描述性删除语句、描述性增加语句、描述性修改语句。
其中,所述执行模块包括:
所述执行模块包括:
第一执行单元,用于当描述性操作语句为描述性查询语句时,根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据;
第二执行单元,用于当描述性操作语句为描述性删除语句时,根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据;
第三执行单元,用于当描述性操作语句为描述性增加语句时,根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中;
第四执行单元,用于当描述性操作语句为描述性修改语句时,根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
其中,所述第一生成模块包括:
生成单元,用于对所述描述性操作语句进行扫描,生成一语句对象;
解析单元,用于根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
链接单元,用于将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
优化单元,用于对所述原始语法树进行优化处理,生成相应的语法树。
其中,所述优化单元具体用于将所述原始语法树的操作语法树节点中的表达式替换为所述表达式对应的最终结果。
本发明实施例具有以下有益效果:
本发明实施例的数据处理方法,根据数据间的逻辑关系,创建非关系型数据库的数据集合;根据用户输入的描述性操作语句,生成语法树;根据语法书生成查询计划;根据查询计划,生成操作指令,并对集合中的数据进行相应的操作。本发明用描述性查询语言来替代传统非关系型数据库中的查询函数,简洁明了,能更好的描述用户操作意图,保留了关系型数据库用户的结构化查询语言习惯,使得用户能够更加方便地使用key-value数据库。
附图说明
图1为本发明实施例的方法流程图;
图2为本发明实施例的原始查询语法树;
图3为本发明实施例的结构框图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。
本发明实施例解决现有非关系型数据库所使用的查询语句繁琐复杂,无法直观描述用户操作行为的问题,本发明实施例提供了一种数据处理方法,如图1所示,所述数据处理方法包括:
步骤10:根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
在本发明的具体实施例中,用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
步骤20:根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
在本发明的具体实施例中,首先,对所述描述性操作语句进行扫描,生成一语句对象;
根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
对所述原始语法树进行优化处理,具体的,将所述操作语法树节点中的表达式替换为所述表达式对应的最终结果,生成相应的语法树。
步骤30:根据所述语法树,生成相应的查询计划;
步骤40:根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
在本发明的具体实施例中,描述性操作语句包括:描述性查询语句、描述性删除语句、描述性增加语句以及描述性修改语句。
具体的,当描述性操作语句为描述性查询语句时,根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据;
当描述性操作语句为描述性删除语句时,根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据;
当描述性操作语句为描述性增加语句时,根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中;
当描述性操作语句为描述性修改语句时,根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
本发明实施例的数据处理方法,根据数据间的逻辑关系,将非关系型数据库中的数据划分成不同的集合,并通过描述性语句对集合中的数据进行访问,保留了现有众多关系型数据库用户的使用习惯,方便众多关系型数据库用户使用键值非关系型数据库。
下面具体说明上述实施例的实现过程。
本发明实施例的键值数据库中包括:数据操作模块DML和数据定义模块DDL,其中,DML中包含了关于数据操作的所有相关语言,DDL中包括关于数据的所有定义语言,进一步地,DML中包括四类数据操作语言:数据查询语句、数据增加语句,数据删除语句以及数据修改语句;DDL中包括:创建集合语句以及删除集合语句。具体的,数据定义语言DDL的主要作用是:对数据库中的对象进行描述并定义。对于键值类型的非关系型数据库,其与关系型数据库相比,键值类型的非关系型数据库中不存在关系表的概念,取而代之的是集合collection的概念,其中,集合是一个逻辑的概念。
在本发明的具体实施例中创建模块将逻辑上相同的数据创建为一个数据集合。由于key-value数据库中的数据组织形式多为key-value对的形式,而value中又可以嵌套描述为key-value对的形式,如下形式数据结构:
{key1,{key2,{key3,value3}asvalue2}asvalue1}
对于key-value类型的数据,key和value的数据类型可以分别为:int,string,double或者是一个key-valuepair对,其中,int,string,double,pair为给定的内置数据类型。
具体的,创建模块通过下述描述语句来创建一个数据集合:
CREATECOLLECTIONcollection_name(“key_name”TYPE,“value_name”TYPE)
其中,CREATECOLLECTION为创建集合的关键词,collection_name为所创建集合的名称,TYPE为数据类型。
举例说明如下。
假定创建一个名为book;key的名字为title;value的名字为subtitle的集合,用户则可输入创建语句CREATECOLLECTIONbook(“title”string,“subtitle”string),键值数据库接收到该语句后对其进行词法检查,用以检查该语句是否存在着词法错误,然后生成创建集合的请求,并按照该请求将集合名称等信息写入数据库***的元数据表中,并返回相应的操作结果。
根据数据之间的逻辑关系,通过上述方法创建完成数据集合后,通过描述性查询语句、描述性删除语句、描述性增加语句以及描述性修改语句对集合中的数据进行查询、删除、增加以及修改操作。具体说明如下。
(1)数据查询操作
数据查询语句是一个数据库中使用最为频繁的语句之一,其主要的作用是从用户指定的数据源中查询出符合条件的数据集。由key-value数据结构的特点可知,键值类型的非关系型数据库中并无关系数据库中行列的概念,因此将键值数据库中的数据按照路径的形式进行查询。例如对于如下数据:
{“book”,{“title”,{“subtitle”,“HarryPotter”}astitle}asbook}。
该数据被加载到一个名字为:book的集合中,且该集合被保存在数据库名为db的数据库中。
在本发明的具体实施例中,用户可通过如下描述性查询语句来实现对上述数据的查询。
SELECTbook.title.subtitleFROMdb.booksWHEREbook.title.subtile=“HarryPotter”
或者
SELECT$var=book.title.subtitleFROMdb.booksWHERE$var=“HarryPotter”。
其中,db.books描述了待查询数据所在的集合;book.title.subtitle描述了数据在集合中的存放路径;book.title.subtile=“HarryPotter”条件描述了返回数据需要满足的条件。其相应的语法格式为:
SELECT[$var=]pathFROMsourceWHERE[$var=]wpath=condition。
其中,[]表明该符号内的内容具有非强制性,可以非必须出现在语句中;path为用户要查询数据的存放路径,如上例中的book.title.subtitle;source表明了用户所查询数据的数据源;wpath=condition表明了返回数据需要满足的条件;$var为变量代表,变量等价于其所表示内容,例如:$var=path,表明$var与path为等价关系。
在本发明的具体实施例中,非关系型数据库***接收到该描述性查询语句后,首先由***中的词法解析模块对该描述性查询语句的词法有效性进行判别,给出不符合规则或者未定义的关键词等错误信息;在完成对描述性查询语句的词法检查后,生成单元对描述性查询语句进行扫描,生成查询语句QueryStmt对象;解析单元对描述性查询语句中的SELECT语句进行语义解析处理,生成SELECT查询语法树节点;链接单元将该SELECT查询语法树节点链接到查询语句QueryStmt对象中;然后解析单元对描述性查询语句中的FROM语句进行语义解析处理,生成FROM查询语法树节点;链接单元将该FROM查询语法树节点链接到查询语句QueryStmt对象中;解析单元再对描述性查询语句中的WHERE语句进行语义解析处理,生成WHERE查询语法树节点;链接单元将该WHERE查询语法树节点链接到查询语句QueryStmt对象中。此时查询语句QueryStmt对象中包含该描述性查询语句的所有信息,如2图所示,形成原始语法树。
接着对上述原始语法树进行优化处理,即将所述操作语法树节点中的表达式替换为所述表达式对应的最终结果,如将语法树节点中的3+2,sqrt(4)等代数式替换为该代数式对应的最终结果,得到查询语法树;第一生成模块根据语法树生成查询计划;第一执行单元根据查询计划,生成查询操作指令,从book集合中,获取book.title.subtile=“HarryPotter”的数据。
(2)数据增加方法
同数据查询相同,数据的增加也是DML中的一个重要的功能,其作用是将新增的数据增加到指定数据库的指定路径下。其中增加数据的语法格式如下所示:
insertintodb.books.book.titlevalues{“author”,”Brad.Pitt”}或
insertintodb.books.bookvalues{“book2”,{“subtitle2”,”Magic”}}。
其中,insertinto为***关键字;db.books.book.title或者db.books.book为数据库用户所要要***的目标路径地址,该路径地址指明了将数据***到哪条路径下面;关键字values则表明了需要增加的数据。在本发明的具体实施例中,通过insertinto的关键词来描述用户进行数据***的动作,其语法格式为:
INSERTINTOpathVALUESvalues。
当***接受到该数据***语句后,同数据查询相同,首先对该语句进行词法检查,然后由第一生成模块生成增加语法树;第二生成模块根据语法树生成相应的查询计划;第三执行单元根据查询计划,生成增加操作指令,将{“author”,“Brad.Pitt”}增加到db.books.book.title中或者将{“book2”,{“subtitle2”,”Magic”}}增加到db.books.book中。
(3)数据删除操作
数据删除,其被用来为数据库用户删除满足指定条件的相应数据,其删除语法形式如下所示:
DELETE[$var=]book.title.subtitleFROMdb.booksWHERE[$var=]book.title.subtitle=“Magic”。
其中,DELETE,FROM,WHERE为关键字,其中book.title.subtitle为所要删除数据所在的路径,其等同于关系数据库中所删除的目标列;db.books为所要删除数据的数据源,其等同于关系数据库中所删除目标列所在的表;book.title.subtitle=“Magic”为所删除数据需要满足的条件,只有满足该条件的数据才会被删除。其语法格式如下:
DELETEpathFROMsourceWHEREcondition。
同上,***接收到上述描述性删除语句后,首先对该语句进行词法检查,然后由第一生成模块生成删除语法树;第二生成模块根据删除语法树生成相应的查询计划;第二执行单元根据查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据,即从book.title.subtitle中删除Magic。
(4)数据修改操作
数据修改,其主要的作用是当源数据发生变化后,相应的更新数据库中的数据。其相应的更新语法格式如下所示:
UPDATEpath=valueFROMsourceWHEREcondition。
其中,UPDATE,FROM,WHERE为关键字,path为所要更新数据的路径,source为被更新数据所在的数据源,condition为被更新数据所需要满足的条件。例如:
Updatebook.title.subtitle={“subtitle3”,“MagicS”}FROMdb.booksWHEREbook.title.subtitle={“subtitle2”,“Magic”}
同上,***接收到上述描述性修改语句后,首先对该语句进行词法检查,然后由第一生成模块生成修改语法树;第二生成模块根据修改语法树生成相应的查询计划;第四执行单元根据查询计划,生成修改操作指令,从目标路径地址指向的集合中,依据删除条件删除所述待操作数据,即:首先从book.title.subtitle中查询出{“subtitle2”,“Magic”},然后将上述数据删除,并将{“subtitle3”,“MagicS”}***到book.title.subtitle中,完成此处的更新操作。
本发明实施例的数据处理方法,用描述性操作语言替代键值数据库中的函数语言,符合传统关系型数据库用户的使用习惯,减少键值数据库用户的使用负担,使得用户学习非关系型数据库的成本大大降低。
本发明实施例还提供了一种数据处理装置,如图3所示,包括:
创建模块,用于根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
第一生成模块,用于根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
第二生成模块,用于根据所述语法树,生成相应的查询计划;
执行模块,用于根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
本发明实施例的数据处理装置中,所述创建模块用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
本发明实施例的数据处理装置中,所述描述性操作语句包括:描述性查询语句、描述性删除语句、描述性增加语句以及描述性修改语句
本发明实施例的数据处理装置中,所述执行模块包括:
所述执行模块包括:
第一执行单元,用于当描述性操作语句为描述性查询语句时,根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据;
第二执行单元,用于当描述性操作语句为描述性删除语句时,根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据;
第三执行单元,用于当描述性操作语句为描述性增加语句时,根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中;
第四执行单元,用于当描述性操作语句为描述性修改语句时,根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
本发明实施例的数据处理装置中,所述第一生成模块包括:
生成单元,用于对所述描述性操作语句进行扫描,生成一语句对象;
解析单元,用于根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
链接单元,用于将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
优化单元,用于对所述原始语法树进行优化处理,生成相应的语法树。
本发明实施例的数据处理装置中,所述优化模块具体用于将所述原始语法树的操作语法树节点中的表达式替换为所述表达式对应的最终结果。
需要说明的是,该装置是与上述数据处理方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例的数据处理方法及装置,可以使用户保留关系型数据库的结构化查询语言习惯,同时可以更好地描述用户操作意图,并使得对于key-value数据库的查询优化成为可能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种数据处理方法,应用于键值形式的非关系型数据库,其特征在于,包括:
根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
根据所述语法树,生成相应的查询计划;
根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合的步骤具体为:
用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
3.根据权利要求1所述的数据处理方法,其特征在于,所述描述性操作语句包括:描述性查询语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据。
4.根据权利要求1所述的数据处理方法,其特征在于,所述描述性操作语句包括:描述性删除语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据。
5.根据权利要求1所述的数据处理方法,其特征在于,所述描述性操作语句包括:描述性增加语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中。
6.根据权利要求1所述的数据处理方法,其特征在于,所述描述性操作语句包括:描述性修改语句;
所述根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作的步骤包括:
根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
7.根据权利要求1所述的数据处理方法,其特征在于,所述根据用户输入的描述性操作语句,生成相应的语法树的步骤包括:
对所述描述性操作语句进行扫描,生成一语句对象;
根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
对所述原始语法树进行优化处理,生成相应的语法树。
8.根据权利要求7所述的数据处理方法,其特征在于,所述对所述原始语法树进行优化处理,生成相应的语法树的步骤具体为:
将所述操作语法树节点中的表达式替换为所述表达式对应的最终结果。
9.一种数据处理装置,应用于键值形式的非关系型数据库,其特征在于,包括:
创建模块,用于根据数据间的逻辑关系,创建所述非关系型数据库中的数据集合;
第一生成模块,用于根据用户输入的描述性操作语句,生成相应的语法树,其中,所述描述性操作语句包括:待操作数据的目标路径地址,所述目标路径地址指向所述待操作数据所在的集合;
第二生成模块,用于根据所述语法树,生成相应的查询计划;
执行模块,用于根据所述查询计划,生成操作指令,并对所述集合中的数据进行相应的操作。
10.根据权利要求9所述的数据处理装置,其特征在于,所述创建模块用Create语句,将逻辑上相同的数据,创建为所述非关系型数据库的一个数据集合。
11.根据权利要求9所述的数据处理装置,其特征在于,所述描述性操作语句包括:描述性查询语句、描述性删除语句、描述性增加语句以及描述性修改语句。
12.根据权利要求11所述的数据处理装置,其特征在于,所述执行模块包括:
第一执行单元,用于当描述性操作语句为描述性查询语句时,根据所述查询计划,生成查询操作指令,并从所述目标路径地址指向的集合中,依据查询条件获取相应的数据;
第二执行单元,用于当描述性操作语句为描述性删除语句时,根据所述查询计划,生成删除操作指令,并从所述目标路径地址指向的集合中,依据删除条件删除所述待操作数据;
第三执行单元,用于当描述性操作语句为描述性增加语句时,根据所述查询计划,生成增加操作指令,并将所述待操作数据,根据增加条件增加到所述目标路径地址指向的集合中;
第四执行单元,用于当描述性操作语句为描述性修改语句时,根据所述查询计划,生成修改操作指令,并根据所述修改操作指令和修改条件对所述目标路径地址指向的集合中的数据进行修改。
13.根据权利要求9所述的数据处理装置,其特征在于,所述第一生成模块包括:
生成单元,用于对所述描述性操作语句进行扫描,生成一语句对象;
解析单元,用于根据所述描述性操作语句中操作子语句的处理顺序,对每个操作子语句进行语义解析处理,得到操作语法树节点;
链接单元,用于将每个所述操作语法树节点链接到所述语句对象中,得到原始语法树;
优化单元,用于对所述原始语法树进行优化处理,生成相应的语法树。
14.根据权利要求13所述的数据处理装置,其特征在于,所述优化单元具体用于将所述操作语法树节点中的表达式替换为所述表达式对应的最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374753.9A CN105302842A (zh) | 2014-07-31 | 2014-07-31 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410374753.9A CN105302842A (zh) | 2014-07-31 | 2014-07-31 | 一种数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105302842A true CN105302842A (zh) | 2016-02-03 |
Family
ID=55200116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410374753.9A Pending CN105302842A (zh) | 2014-07-31 | 2014-07-31 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302842A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843809A (zh) * | 2015-01-13 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN107273504A (zh) * | 2017-06-19 | 2017-10-20 | 浪潮软件集团有限公司 | 一种基于Kudu的数据查询方法和装置 |
CN107729001A (zh) * | 2017-09-08 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种表达式处理方法和装置 |
CN110309196A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN110399388A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 数据查询方法、***和设备 |
CN110569628A (zh) * | 2019-09-09 | 2019-12-13 | 北京智游网安科技有限公司 | 一种代码的混淆方法以及装置、计算机设备、存储介质 |
CN113297181A (zh) * | 2021-06-11 | 2021-08-24 | 建信金融科技有限责任公司 | 配置项管理数据库、数据处理方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093486A1 (en) * | 2009-10-15 | 2011-04-21 | Institute For Information Industry | Data query method, data query system and computer readable and writable recording medium |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | ***通信集团公司 | Sql脚本解析方法、装置及*** |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN102982075A (zh) * | 2012-10-30 | 2013-03-20 | 北京京东世纪贸易有限公司 | 支持访问异构数据源的***和方法 |
CN103198133A (zh) * | 2013-04-12 | 2013-07-10 | 同方知网(北京)技术有限公司 | 一种将XPath查询转换为树形数据结构的查询优化方法 |
CN103365929A (zh) * | 2012-04-10 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种数据库连接的管理方法及*** |
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
-
2014
- 2014-07-31 CN CN201410374753.9A patent/CN105302842A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110093486A1 (en) * | 2009-10-15 | 2011-04-21 | Institute For Information Industry | Data query method, data query system and computer readable and writable recording medium |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | ***通信集团公司 | Sql脚本解析方法、装置及*** |
CN103365929A (zh) * | 2012-04-10 | 2013-10-23 | 阿里巴巴集团控股有限公司 | 一种数据库连接的管理方法及*** |
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件***中基于云计算的实时事件处理***及方法 |
CN102982075A (zh) * | 2012-10-30 | 2013-03-20 | 北京京东世纪贸易有限公司 | 支持访问异构数据源的***和方法 |
CN103198133A (zh) * | 2013-04-12 | 2013-07-10 | 同方知网(北京)技术有限公司 | 一种将XPath查询转换为树形数据结构的查询优化方法 |
Non-Patent Citations (2)
Title |
---|
姚林: "NoSQL的分布式存储与扩展解决方法", 《计算机工程》 * |
闫湖: "基于分布式键值对存储技术的EMS数据库平台", 《电网技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843809A (zh) * | 2015-01-13 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN105843809B (zh) * | 2015-01-13 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN107273504A (zh) * | 2017-06-19 | 2017-10-20 | 浪潮软件集团有限公司 | 一种基于Kudu的数据查询方法和装置 |
CN107729001A (zh) * | 2017-09-08 | 2018-02-23 | 北京京东尚科信息技术有限公司 | 一种表达式处理方法和装置 |
CN110309196A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN110399388A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 数据查询方法、***和设备 |
CN110569628A (zh) * | 2019-09-09 | 2019-12-13 | 北京智游网安科技有限公司 | 一种代码的混淆方法以及装置、计算机设备、存储介质 |
CN113297181A (zh) * | 2021-06-11 | 2021-08-24 | 建信金融科技有限责任公司 | 配置项管理数据库、数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chambers et al. | Spark: The definitive guide: Big data processing made simple | |
CN105302842A (zh) | 一种数据处理方法及装置 | |
CN105849726B (zh) | 用于高效地支持通过分层标记数据的即席查询的通用索引 | |
CN105868204B (zh) | 一种转换Oracle脚本语言SQL的方法及装置 | |
CN110837492B (zh) | 一种多源数据统一sql提供数据服务的方法 | |
CN102929878B (zh) | 一种数据库变更管理方法及装置 | |
Bagosi et al. | The ontop framework for ontology based data access | |
US20170357653A1 (en) | Unsupervised method for enriching rdf data sources from denormalized data | |
CN106934062A (zh) | 一种查询elasticsearch的实现方法及*** | |
US10162613B1 (en) | Re-usable rule parser for different runtime engines | |
Dodds et al. | Linked data patterns | |
US9805137B2 (en) | Virtualizing schema relations over a single database relation | |
US10042889B2 (en) | Pseudo columns for data retrieval | |
CN107515887A (zh) | 一种适用于多种大数据管理***的交互式查询方法 | |
US10929604B2 (en) | System and method for analyzing items and creating a data structure using lexicon analysis and filtering process | |
CN107491476B (zh) | 一种适用于多种大数据管理***的数据模型转换及查询分析方法 | |
US20180121501A1 (en) | Translating gql queries into sql queries | |
US20170017709A1 (en) | Multiple virtual data model deployment | |
US10776352B2 (en) | Generic query language for data stores | |
US9053207B2 (en) | Adaptive query expression builder for an on-demand data service | |
CN108228762B (zh) | 用于配置主数据库通用模板的方法和*** | |
Schreiner et al. | Bringing SQL databases to key-based NoSQL databases: a canonical approach | |
CN116795859A (zh) | 数据分析方法、装置、计算机设备和存储介质 | |
Kopp et al. | An Approach and Software Prototype for Translation of Natural Language Business Rules into Database Structure. | |
US10055450B1 (en) | Efficient management of temporal knowledge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160203 |
|
RJ01 | Rejection of invention patent application after publication |