CN110019287A - 执行结构化查询语言sql指令的方法和装置 - Google Patents

执行结构化查询语言sql指令的方法和装置 Download PDF

Info

Publication number
CN110019287A
CN110019287A CN201710598140.7A CN201710598140A CN110019287A CN 110019287 A CN110019287 A CN 110019287A CN 201710598140 A CN201710598140 A CN 201710598140A CN 110019287 A CN110019287 A CN 110019287A
Authority
CN
China
Prior art keywords
data
mark
attribute
pattern
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
Application number
CN201710598140.7A
Other languages
English (en)
Other versions
CN110019287B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710598140.7A priority Critical patent/CN110019287B/zh
Priority to PCT/CN2018/083411 priority patent/WO2019015364A1/zh
Publication of CN110019287A publication Critical patent/CN110019287A/zh
Application granted granted Critical
Publication of CN110019287B publication Critical patent/CN110019287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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/242Query formulation
    • G06F16/2433Query languages
    • 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/2452Query translation
    • 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/2452Query translation
    • G06F16/24526Internal representations for queries

Landscapes

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

Abstract

本申请公开了一种执行结构化查询语言SQL指令的方法和装置,涉及通信领域,用于支持标准SQL访问对象。该方法包括:接收一SQL指令,SQL指令用于从一对象的数据中查询对象的属性数据;解析SQL指令以得到对象的标识、对象的键值属性以及查询条件;根据对象的标识,以及对象的标识与对象模式之间的映射关系,得到对象对应的对象模式和关系型数据表;根据对象的键值属性以及对象模式中定义的用于生成索引值的属性,确定对象的数据对应的索引值;根据对象的数据对应的索引值获得对象的数据,并根据查询条件和对象的关系型数据表,从对象的数据中查询得到属性数据。本申请实施例应用于对象数据访问。

Description

执行结构化查询语言SQL指令的方法和装置
技术领域
本申请涉及通信领域,尤其涉及一种执行结构化查询语言(Structured QueryLanguage,SQL)指令的方法和装置。
背景技术
网络功能虚拟化(Network Function Virtualization,NFV)架构实现了业务数据与业务处理的分离,其中的业务数据采用分布式存储,而对象存储是分布式存储中主流的存储方式。
常用的对象访问方式包括类SQL语言操作方式和对象关系映射(Object RelationMapping,ORM)方式等。其中,类SQL语言也被称为对象查询语言(Object Query Language,OQL),其语句采用对象表达式的方式,并且功能上完全基于面向对象的实体查询。OQL由于是非标准SQL接口,使得基于标准SQL接口开发的应用无法使用,系统开放性不足。另外针对不同对象差别,需要开发不同OQL语言,难以实现功能迁移。并且在语法上,无法做到比SQL更简洁,无法实现复杂的查询。
发明内容
本申请的实施例提供一种执行SQL指令的方法和装置,用于支持标准SQL访问对象。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种执行结构化查询语言SQL指令的方法,该方法包括:接收一SQL指令,SQL指令用于从一对象的数据中查询对象的属性数据;解析SQL指令以得到对象的标识、对象的键值属性以及查询条件,对象的标识用于指示对象的类型,对象的键值属性用于生成索引值,索引值与对象的数据相对应,查询条件用于从对象的数据中查询属性数据;根据对象的标识,以及对象的标识与对象模式之间的映射关系,得到对象对应的对象模式和关系型数据表,对象模式用于定义一类对象的树形数据结构,树形数据结构包括至少一个第一节点,第一节点用于定义此类对象的属性中能够用于生成索引值的属性,关系型数据表是二维表,二维表按照对象模式中指示的节点关系存储对象的属性数据;根据对象的键值属性以及对象模式中定义的用于生成索引值的属性,确定对象的数据对应的索引值;根据对象的数据对应的索引值获得对象的数据,并根据查询条件和对象的关系型数据表,从对象的数据中查询得到属性数据。本申请实施例通过上述执行SQL指令的方法,解析SQL指令中的对象的标识用于获取对应的对象模式和关系型数据表,解析SQL指令中的对象的键值属性用于生成对象的数据对应的索引值,并根据索引值得到对象的数据,解析SQL指令中查询条件用于从对象的数据中查询得到对象的属性数据。上述SQL指令中的对象的标识、对象的键值属性以及查询条件均不是对象类数据,而是标准的SQL指令可传递的变量、标识等有效数据,通过对该SQL指令解析得到的上述有效数据映射对象的数据及对象的属性数据,实现了支持标准SQL访问对象。
在一种可能的设计中,在接收一SQL指令之前,该方法还包括:定义对象的对象模式以及关系型数据表;接收针对对象的写请求,写请求中包括对象的标识和属性;根据写请求中的对象的标识,以及对象的标识与对象模式之间的映射关系,得到对象的对象模式和关系型数据表;根据对象的对象模式将写请求中属性转换为具有完整存储结构的对象,并根据对象模式中定义的用于生成索引值的属性将写请求中的属性构建为索引值,其中,具有完整存储结构的对象指按照对象模式的所有属性分配的存储空间所存储的对象,写请求中的属性存储在存储空间中;根据对象的关系型数据表将具有完整存储结构的对象转换为对象的数据,并将对象的数据按照索引值进行存储。该设计提供了通过对象接口存储对象的数据的方法。
在一种可能的设计中,该方法还包括:接收针对对象的读请求,读请求中包括对象的标识和键值属性;根据读请求中的对象的标识,以及对象的标识与对象模式之间的映射关系,得到对应的对象模式;根据对象的键值属性以及对象模式中定义的能够用于生成索引值的属性,确定对象的数据对应的索引值;根据索引值查询得到对象的数据。该设计提供了通过对象接口读取对象的数据的方法。
在一种可能的设计中,对象的树形数据结构中包括至少一个父节点,父节点包括标识和域,其中,父节点的标识用于指示父节点对应对象所属种类,父节点的域用于包含子节点。该设计提供了一种对象的树形数据结构的构成方式。
在一种可能的设计中,关系型数据表的每个节点包括父表标识、根表标识和外键,父表标识用于指向子节点的父节点的二维表,根表标识用于指向树形数据结构的根节点的二维表,外键指向对象模式的主键。该设计提供了一种关系型数据表的构成方式。
第二方面,提供了一种执行结构化查询语言SQL指令的装置,该装置包括:SQL接口单元、关系型SQL访问处理单元、对象关系型转换单元、元数据管理单元、对象存储单元,其中,SQL接口单元,用于接收一SQL指令,SQL指令用于从一对象的数据中查询对象的属性数据;关系型SQL访问处理单元,用于解析SQL接口单元接收的SQL指令以得到对象的标识、对象的键值属性以及查询条件,对象的标识用于指示对象的类型,对象的键值属性用于生成索引值,索引值与对象的数据相对应,查询条件用于从对象的数据中查询属性数据;对象关系型转换单元,用于根据关系型SQL访问处理单元得到的对象的标识,以及元数据管理单元所存储的对象的标识与对象模式之间的映射关系,得到对象对应的对象模式和关系型数据表,对象模式用于定义一类对象的树形数据结构,树形数据结构包括至少一个第一节点,第一节点用于定义此类对象的属性中能够用于生成索引值的属性,关系型数据表是二维表,二维表按照对象模式中指示的节点关系存储对象的属性数据;对象关系型转换单元,还用于根据对象的键值属性以及对象模式中定义的用于生成索引值的属性,确定对象的数据对应的索引值;对象关系型转换单元,还用于根据对象的数据对应的索引值获得对象的数据,并根据查询条件和对象的关系型数据表,从对象存储单元中所存储的对象的数据中查询得到属性数据。基于同一发明构思,由于该装置解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见上述第一方面和第一方面的各可能的方法的实施方式,重复之处不再赘述。
第三方面,提供了一种执行结构化查询语言SQL指令的装置,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当其运行时,处理器执行存储器存储的计算机执行指令,以使其执行如第一方面及其任一种可能的设计的方法。
第四方面,提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计的方法。
第五方面,提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得该计算机执行如第一方面及其任一种可能的设计的方法。
需要说明的是,第三方面至第五方面所带来的技术效果可参见对应方法所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请的实施例提供的一种执行SQL指令的装置的结构示意图;
图2为本申请的实施例提供的通过对象接口单元写对象的方法的流程示意图;
图3为本申请的实施例提供的对象模式的示意图;
图4为本申请的实施例提供的对象存储结构的示意图;
图5为本申请的实施例提供的通过SQL接口单元执行SQL指令的方法的流程示意图;
图6为本申请的实施例提供的普通SQL查询操作需要进行结合操作的示意图;
图7为本申请的实施例提供的执行SQL指令的方法减少结合操作的示意图;
图8为本申请的实施例提供的通过对象接口单元读对象的方法的流程示意图;
图9为本申请的实施例提供的另一种执行SQL指令的装置的结构示意图;
图10为本申请的实施例提供的又一种执行SQL指令的装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例所述的一类对象是指具有共同数据结构以及属性数据的抽象描述。不同类对象的数据结构或属性数据是不同的,例如描述科学家对象、顾客对象的属性数据不同,对于科学家对象来说,可以描述其年龄、工龄、所属机构、等;而对于顾客对象来说,可以描述其年龄、联系方式、住址、采购历史记录等,因此科学家对象和顾客对象属于不同类的对象。属性数据是为方便区分不同对象而限定其属性的数据,可以从一类对象的角度来描述或者针对一具体对象的数据来描述。例如对于科学家这类对象来说,年龄、工龄、所属机构等即为其属性数据,而对于存储具体的一个科学家对象来说,年龄=30、工龄=5、所属机构=“中科院”即为其属性数据。本申请实施例以顾客为对象进行描述,可以理解其并不意在限定具体对象类型。
本申请实施例提供了一种执行SQL指令的装置,使得数据以对象为单位进行存储,支持高效的对象访问接口以及基于对象的分布式存储,同时,该装置也支持标准的SQL接口访问。参照图1中所示,该装置11包括:对象接口单元1101、对象访问处理单元1102、元数据管理单元1103、对象存储单元1104、对象关系型转换单元1105、关系型SQL访问处理单元1106、SQL接口单元1107。上述各单元可以采用相同或不同的进程或线程来执行对应功能,本申请实施例在此不作限定。
本申请实施例提供的各方法,可以通过存储器中的程序代码来实现,或者由路由器、服务器上的芯片来实现,或者由模拟器实现。还可以固化在芯片中得以实现,如现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理(DSP,DigitalSignal Processing)中实现,或者由软件在异构加速硬件如张量处理单元(TensorProcessing Unit,TPU)、图形处理器(Graphics Processing Unit,GPU)上实现,或者由软件在中央处理器(Central Processing Unit,CPU)上实现,或者由软件/硬件模拟器实现。
对象接口单元1101提供了应用场景中不同形式对象的收发功能。不同形式的对象包括但不限于Java脚本目标表示法(JavaScript Object Notation,JSON)表示的对象、可扩展标记语言(Extensible Mark-up Language,XML)表示的对象,其与应用场景的实际需求相关,是一套非标准的接口。对象接口单元1101同时具有预先定义对象模式(Schema)、关系型数据表(对象关系模式)的功能。本文所述的对象模式是对一类对象具有的共同数据结构以及属性数据的抽象描述,包括域(Field)节点和键值(Keys)节点,域(Field)节点描述对象的属性数据,键值(Keys)节点描述查找对象的索引,Keys节点中索引键中的属性必须来自域节点。关系型数据表描述了该类对象中不同节点间的关联关系以及约束条件等,这两种模式在本文可以统称为对象的模式。对象模式和关系型数据表同样能够用多种方式定义,如JSON、XML等。只有在对象接口单元1101中定义的对象的数据才能够被解析处理。本装置中具有完整结构的对象包括某一具体对象的数据和该类对象的模式(对象模式和关系型数据表),对象的数据是唯一的,对象的模式对于一类对象可以共享。
对象访问处理单元1102提供了非标准对象表示形式的标准化转换功能,使之成为系统可处理的对象,并通过元数据管理单元1103提供的对象模式和关系型数据表对对象信息加工处理,使对象的数据按照约定的方式存储在对象存储单元1104中。其中,对象模式用于匹配对象的属性数据,以及用于根据对象模式中键值Keys的定义以及对象的属性数据,得到相应的索引键。关系型数据表通过对父子节点的关联关系进行处理,既能指导对象的数据在对象存储单元1104中保存,也为关系型SQL操作提供支持和优化。
元数据管理单元1103管理着对象模式和关系型数据表。对象访问处理单元1102对对象的变换分解,依赖的就是元数据管理单元1103中的对象模式和关系型数据表。
对象存储单元1104提供了根据模式转换后的对象的数据,是对象的数据序列化后的结果。
对象关系型转换单元1105负责关系型数据与对象型数据之间的转换,依赖于元数据管理单元1103中的对象模式和关系型数据表。对象关系型转换单元1105是本装置提供标准SQL访问的枢纽。
关系型SQL访问处理单元1106负责解析优化SQL查询语言。
SQL接口单元1107提供了SQL查询语言的接受以及结果数据的返回。
参照图2中所示,通过对象接口单元1101写对象的方法包括:
S101、定义对象的对象模式以及关系型数据表。
可以通过调用对象接口单元1101的相应函数定义对象的对象模式以及关系型数据表。并将结果存储至元数据管理单元1103。
对象模式用于定义一类对象的树形数据结构,树形数据结构包括至少一个节点,该节点用于定义此类对象的属性中能够用于生成索引值的属性,关系型数据表是二维表,二维表按照对象模式中指示的节点关系存储对象的属性数据。
参照图3中所示,左图为消费者(Customers)对象的一种示例,右图为模式名称为“消费者”的JSON形式的对象模式的示例。
一个消费者可以没有下订单或者有多个订单,每一个订单至少包括一件商品,即消费者对象包含订单对象,订单对象包含商品对象。因此形成的树形的对象模式中,消费者对象为根节点,订单对象作为消费者对象的叶子节点,商品对象作为订单对象的叶子节点。在本申请实施例中,消费者、订单、商品不再是单独的对象,他们根据嵌套关系作为父子节点共同组成一个具有根节点的树形的对象模式。
在关系数据库中,索引是按照唯一的数值对数据库表中一列或多列的值进行排序的一种存储结构,其可以是表中一列或若干列数值的集合以及指向表中标识这些数值的页表的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。传统的基于键值对的数据库,键与值是一一对应的,这在一定程度上限制了对对象的数据进行多样化的查询,因此,我们通过对象模式为对象提供了多样化的键,增强数据的可操作性,为查询优化提供支撑。
对象模式是相互嵌套的节点构成的树形数据结构,相互关联的子对象对应于树形数据结构的各个节点,该树形数据结构包括至少一个父节点,在根节点里描述了对象模式的表示方式(即模式名称)。每一个节点都可以包括标识名称(name)、类型(type)、域(fields)三种属性,其中标识名称(name)和类型(type)为必要属性,标识名称用于指示该节点对应对象所属种类,例如消费者、商品订单号等;类型(type)用于指示该节点的数据类型,例如整型、记录等。域(fields)只在一对多的父子节点中的父节点里出现,类似于数组的形式,父节点的域(fields)用于包含子节点(即子节点嵌套在父节点的域(fields)中)。
树形数据结构的根节点中还包括键值(keys),键值中可以定义多个索引键,但有且仅有一个主键(primary key),该主键用于唯一地标识该对象,每个索引键可以由同一节点中的单个或多个域组成。主键指向对象的存储位置,非主键的索引键指向主键。
图3中的键值示例只包括一个主键,还可以根据业务的实际需要,建立其他的索引键,其功能类似于关系型数据库中的索引,合理数量的索引键对于查询优化是有益的。
当定义了对象的对象模式后,元数据管理单元1103会根据对象模式以及用户输入的相关信息自动生成关系型数据表。关系型数据表与对象模式是对应的,关系型数据表能够由对象模式自动推导得到。关系型数据表本质上是将对象模式中的每个对象节点分解为一个二维表,在子节点对应的二维表中包括父表标识、根表标识和外键,父表标识用于指向子节点的父节点的二维表,根表标识用于指向树形数据结构的根节点的二维表,外键指向对象模式的主键(primary key)。通过继承父表和根表的标识字段以及创建依赖关系(例如外键)来实现对象内节点的关系维护。关系型数据表示例如下:
每个节点消费者(customers)、订单(orders)、商品(items)都分解为一个二维表。根据键值(keys)中定义的,消费者(customers)中的ID(customers.id)是根表主键(primary key),也是其自身主键。订单(orders)是消费者(customers)的子节点,继承根表(root_field integer inherit)主键customers.id,继承父表(parent_field integerinherit)主键customers.id,外键依赖(FOREIGN KEY)customers.id。商品(items)是订单(orders)的子节点,继承根表主键customers.id,继承父表主键oders.id,同样外键依赖customers.id。其他内容是各个节点的属性。
从中可以看出,关系型数据表使得对象内每个节点生成一个表,节点间的关系通过子节点(表)继承父节点(表)和根节点(表)的标识字段体现,并创建依赖关系外键保证关系强依赖;对象模式键值里定义了索引键的属性,且支持一个对象拥有多个索引键。另外可以在关系型数据表中附加信息对查询访问做优化,提升查询性能。
定义完成后,可以在元数据管理单元1103中存储所有对象的对象模式和关系型数据表。
S102、接收针对对象的写请求,写请求中包括对象的标识和属性。
具体的,通过对象接口单元1101来接收。由于写请求中的数据表示方式可能是JSON格式也可能是XML格式等等,因此对象接口单元1101会解析对象obj的标识和键值属性为系统能够处理的统一形式,并发送给对象访问处理单元1102处理。
对象的标识用于指示该对象的类型。示例性的,参照图4中所示,(1)中的“消费者(customer)”为对象的标识,(1)中其他内容为对象的键值属性。
S103、根据写请求中的对象的标识,以及对象的标识与对象模式之间的映射关系,得到对象的对象模式和关系型数据表。
示例性的,对象访问处理单元1102根据图4中所示的模式名称“消费者(customer)”,从元数据管理单元1103中可以查询得到图2中所示的名称(name)为“消费者”的对象模式以及对应的关系型数据表。
S104、根据该对象的对象模式将写请求中属性转换为具有完整存储结构的对象,并根据对象模式中定义的用于生成索引值的属性将写请求中的属性构建为索引值,其中,具有完整存储结构的对象指按照对象模式的所有属性分配的存储空间中所存储的对象,写请求中的属性存储在存储空间中。
具体的,对象访问处理单元1102根据对象的对象模式将属性数据封装为对象模式的完整存储结构的对象,是指开辟的存储空间的大小为整个对象模式的大小,对于接收的对象的写请求中包括的属性数据则按照对象模式填入该存储空间中,对于接收的对象的写请求中不包括的属性数据则赋空值(NULL)。示例性的,参照图4中所示,(1)中接收的对象的属性数据中不包括生日(birthday),则在(2)中完整结构的对象中令生日(birthday)为空值(NULL)。
根据属性数据以及对象模式中的键值的定义构建索引值,是指图2中所示键值中的一个主键是消费者ID,因此,将图4中接收的对象的属性数据中的消费者ID(Customer.id)2计算哈希值作为索引值(第一键值)。这样进行查询时,根据第一键值即可以查询得到该对象。
需要说明的是,虽然图中仅列出一个键值,本申请实施例并不限定键值的数目和索引关系,例如可以是第一键值是主键,第二键值是间接键,通过第二键值可以索引第一键值等等。
S105、根据对象的关系型数据表将具有完整存储结构的对象转换为对象的数据,并将对象的数据按照所述索引值进行存储。
具体的,对象访问处理单元1102将上述数据存储至对象存储单元1104。
示例性的,参照图4中所示,(3)即是将(2)中具有完整存储结构的对象按照关系型数据表进行拆分后,得到的对象的数据,从中可以看出,各个节点单独存储,节点间父子关系通过一对双向指针Ptr来维护。
S106、反馈写入状态标识。
具体的,由对象存储单元1104通过对象访问处理单元1102向对象接口单元1101反馈写入状态标识,该标识用于指示是否写入成功。
参照图5中所示,通过SQL接口单元1107执行SQL指令的方法包括:
S201、接收一SQL指令,该SQL指令用于从一对象的数据中查询该对象的属性数据。
具体的,本步骤可以通过SQL接口单元1107接收针对对象的标准SQL操作。例如,该SQL操作可以为SQL查询操作,用于查询对应的对象中的属性数据。例如查询items.product_id=1的对象的SQL查询语句可以写成“select*from customers whereitems.product_id=1;”,其从SQL的结果集中获取到的是customers为根节点的符合查询条件的所有属性;或者也可以写成“select*from customers.items where product_id=1;”,其从SQL的结果集中获取到的是items为根节点的符合查询条件的所有属性。
S202、解析该SQL指令以得到待查询对象的标识、该对象的键值属性以及查询条件,对象的标识用于指示该对象的类型,对象的键值属性用于生成索引值,索引值与存储的该对象的数据相对应,查询条件用于从对象的数据中查询对应的属性数据。
对象的标识用于查询该对象的二维表信息,能够映射到唯一的对象模式。键值属性是指能够依据所映射到的对象模式中定义此类对象的属性中能够用于生成所述索引值的属性,通过哈希计算得到键值(索引值)的属性。例如,假设一个对象拥有名称为F0~F9的十个属性,在对象的对象模式里键值(Keys)中定义了Key1和Key2两个索引,其中Key1为主键,Key2为二级索引,Key2指向Key1的值。Key1由该对象的属性F0与F1的值计算哈希得到,Key2由该对象的属性F2与F3的值计算哈希得到。则F0、F1、F2、F3为该对象的键值属性,其他属性F4~F9为非键值属性。在读取对象的时候,可以依据对象模式里键值的定义,只要传入F0和F1的值就可以构造出Key1,或者只要传入F2和F3的值就可以构造出Key2,从而得到对象存储的位置。查询条件包括除键值属性之外的其他属性条件。
假设用户传入“select*from customers.items where product_id=1and price>30;”的SQL查询语句,SQL接口单元1107接收到该SQL查询操作后传递给关系型SQL查询访问处理单元1106。关系型SQL访问处理单元1106分析该SQL操作识别出关系算子select、from、where,并识别出除了关系算子以外的有效数据(节点信息customers.items、键值属性product_id=1以及查询条件price>30),将其发送给对象关系型转换单元1105。
S203、根据所述对象的标识,以及对象的标识与对象模式之间的映射关系,得到该对象对应的对象模式和关系型数据表,。
具体的,对象关系型转换单元1105根据对象的标识映射到模式名称customers,然后从元数据管理单元1103查找得到对应的对象模式和关系型数据表。
S204、根据对象的键值属性以及对象模式中定义的用于生成索引值的属性,确定对象的数据对应的索引值。
示例性的,对象关系型转换单元1105通过有效数据中的customers.items查找对象模式中的对应节点,将product_id作为该节点中的键值属性。
例如,键值的定义可以为对product_id进行某种哈希运算后得到索引值。
S205、根据对象的数据对应的索引值获得对象的数据,并根据查询条件和对象的关系型数据表,从对象的数据中查询得到属性数据。
对象关系型转换单元1105同时会根据SQL的操作,生成执行计划,如果键值属性包括的属性product_id是键值属性,并且能构造出索引值,则对象关系型转换单元1105可以直接通过该索引值从对象存储单元1104索引出相应的对象。
需要说明的是,如果product_id是非键值属性,对象关系型转换单元1105会遍历全部对象查询得到对应的对象。
通过SQL访问对象时,根据关系型数据表对对象的数据进行SQL解析和优化,当关系算子需要访问到对象时,对象关系型转换单元1105根据关系算子将优化后对象的数据转换为关系型数据并通过关系型SQL访问处理单元1106和SQL接口单元1107返回至请求发起的位置,关系算子无需修改即可进行处理。例如当SQL操作为SQL查询操作时,要查询购买了某个product_id的客户、订单id和订单时间,传统的SQL查询操作为:
Select customers.name,orders.id,orders.order_date from customers,orders,items where customers.id=orders.customer_id and orders.order_id=items.order_id and items.product_id in(x,y,z);其中,x,y,z指具体product_id取值。
该操作在对象内进行面向对象语言(Object-Oriented Language,OML)操作如图6所示。从中可以看出,依据查询条件,会在商品(items)表中通过Filter items_filterwhere items.product_id in(x,y,z)查询出items.product属于x,y,z的数据集;在订单(orders)表中通过Filter order_filter where orders_id=items.order_id查询出orders.id=items.order_id的数据集;在消费者(custormers)表中通过Filtercustomer_filter where customer.id=orders.customer_id查询出所有customer.id=orders.customer_id的数据集。然后会将这三组数据集按照SQL查询的顺序两两执行结合(join)操作,最后将符合条件的查询结果集返回给关系算子。
参照图7中所示,采用本申请的SQL访问对象方法,只在初始OML操作时,通过Filter items_filter where items.product_id in(x,y,z)查询出items.product属于x,y,z的数据集。然后就可以依赖其关系型数据表内继承的父节点的主键查询出父节点信息。按照这个方法递进,就可以将整个对象信息查询出来,大大减少了结合(join)操作的次数。
S206、以符合SQL标准的结果集形式返回SQL查询结果。
由对象存储单元1104通过关系型SQL访问处理单元1106返回给SQL接口单元1107。
本申请实施例通过上述执行SQL指令的方法,解析SQL指令中的对象的标识用于获取对应的对象模式和关系型数据表,解析SQL指令中的对象的键值属性用于生成对象的数据对应的索引值,并根据索引值得到对象的数据,解析SQL指令中查询条件用于从对象的数据中查询得到属性数据。上述SQL指令中的对象的标识、对象的键值属性以及查询条件均不是对象类数据,而是标准的SQL接口可传递和解析的变量、标识等有效数据,通过对SQL指令解析得到的上述有效数据映射对象的数据及对象的属性数据,实现了支持标准SQL访问对象。
参照图8中所示,通过对象接口单元1101读对象的方法包括:
S301、接收针对对象的读请求,读请求中包括对象的标识和键值属性。
该步骤与S202的区别在于,不需要去除SQL操作中的关系算子,读请求中显式地包括模式名称和键值属性。
与步骤S102类似的,由于读请求中的数据表示方式可能是JSON格式也可能是XML格式等等,因此对象接口单元1101会解析对象的模式名称和键值属性为系统能够处理的统一形式,并发送给对象访问处理单元1102处理。
S302、根据读请求中的对象的标识,以及对象的标识与对象模式之间的映射关系,得到对应的对象模式。
该步骤与步骤S203区别在于不必查询得到关系型数据表。
S303、根据对象的键值属性以及对象模式中定义的能够用于生成索引值的属性,确定对象的数据对应的索引值。
该步骤与步骤S204类似,在此不再赘述。
S304、根据索引值查询得到对象的数据。
该步骤与S205类似,区别在于,查询得到整个对象的数据,而不是对象的数据中的属性数据。
S305、返回查询得到的对象的数据。
对象存储单元1104通过对象访问处理单元1102将对象的数据返回给对象接口单元1101。
综上所述,本申请实施例提供的上述方法和装置,首先,解决了采用对象存储的系统无法提供标准关系SQL访问的问题;原因在于,本装置同时提供了对象接口和SQL接口,通过对象模式和关系型数据表能够让对象在装置里以关联关系存储,不仅让存储的数据具有键值的对象存储属性也具有关系型的关联属性,因此能够在对象存储的系统提供标准关系SQL访问。其次,通过自动转换,能够利用当前已经非常成熟的关系型SQL优化和执行相关技术;原因在于,关系型数据库有着非常多优秀的特性,不仅能保持数据的一致性,也由于以标准化为前提,数据更新的开销很小,且能进行结合(join)等复杂查询。在提供标准SQL接口的存储装置上,通过自动转换,能够充分利用这些技术。除此之外,对象模式定义本身就对SQL查询做了优化。再次,保留了系统的分布式特性,又提升系统的可编程性、可移植性,具有更广泛的使用前景;原因在于,本装置既能够用于单机环境中,也能部署在分布式的环境中。采用标准的SQL接口能够方便将本装置部署在已有的基于标准SQL的应用环境中,且多样化的接口增加了开发人员的编程选择。在大数据分布式的大趋势下,其具有广泛的使用前景。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的执行SQL指令的装置的一种可能的结构示意图。执行SQL指令的装置11包括:处理模块1122和通信模块1123。处理模块1122用于对执行SQL指令的装置11的动作进行控制管理,例如,处理模块1122用于支持执行SQL指令的装置11执行图2中的过程S101-S106,图5中的过程S201-S206,图8中的过程S301-S305。通信模块1123用于支持执行SQL指令的装置与其他实体的通信。执行SQL指令的装置11还可以包括存储模块1121,用于存储执行SQL指令的装置的程序代码和数据。
当处理模块1122为处理器,通信模块1123为网口,存储模块1121为存储器时,本申请实施例所涉及的执行SQL指令的装置可以为如下所述的执行SQL指令的装置。
参照图10所示,该执行SQL指令的装置11包括:处理器1132、网口1133、存储器1131、总线1134。其中,网口1133、处理器1132、存储器1131通过总线1134相互连接;总线1134可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种执行结构化查询语言SQL指令的方法,其特征在于,包括:
接收一SQL指令,所述SQL指令用于从一对象的数据中查询所述对象的属性数据;
解析所述SQL指令以得到所述对象的标识、所述对象的键值属性以及查询条件,所述对象的标识用于指示所述对象的类型,所述对象的键值属性用于生成索引值,所述索引值与所述对象的数据相对应,所述查询条件用于从所述对象的数据中查询所述属性数据;
根据所述对象的标识,以及对象的标识与对象模式之间的映射关系,得到所述对象对应的对象模式和关系型数据表,所述对象模式用于定义一类对象的树形数据结构,所述树形数据结构包括至少一个第一节点,所述第一节点用于定义此类对象的属性中能够用于生成所述索引值的属性,所述关系型数据表是二维表,所述二维表按照所述对象模式中指示的节点关系存储所述对象的属性数据;
根据所述对象的键值属性以及所述对象模式中定义的用于生成索引值的属性,确定所述对象的数据对应的索引值;
根据所述对象的数据对应的索引值获得所述对象的数据,并根据所述查询条件和所述对象的关系型数据表,从所述对象的数据中查询得到所述属性数据。
2.根据权利要求1所述的方法,其特征在于,在所述接收一SQL指令之前,所述方法还包括:
定义所述对象的对象模式以及关系型数据表;
接收针对所述对象的写请求,所述写请求中包括所述对象的标识和属性;
根据所述写请求中的所述对象的标识,以及对象的标识与对象模式之间的映射关系,得到所述对象的对象模式和关系型数据表;
根据所述对象的对象模式将所述写请求中属性转换为具有完整存储结构的对象,并根据所述对象模式中定义的用于生成索引值的属性将所述写请求中的属性构建为所述索引值,其中,所述具有完整存储结构的对象指按照对象模式的所有属性分配的存储空间所存储的对象,所述写请求中的属性存储在所述存储空间中;
根据所述对象的关系型数据表将所述具有完整存储结构的对象转换为所述对象的数据,并将所述对象的数据按照所述索引值进行存储。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对对象的读请求,所述读请求中包括所述对象的标识和键值属性;
根据所述读请求中的对象的标识,以及对象的标识与对象模式之间的映射关系,得到对应的对象模式;
根据所述对象的键值属性以及所述对象模式中定义的能够用于生成索引值的属性,确定所述对象的数据对应的索引值;
根据所述索引值查询得到所述对象的数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述对象的树形数据结构中包括至少一个父节点,所述父节点包括标识和域,其中,所述父节点的标识用于指示所述父节点对应对象所属种类,所述父节点的域用于包含子节点。
5.根据权利要求4所述的方法,其特征在于,所述关系型数据表的每个节点包括父表标识、根表标识和外键,所述父表标识用于指向所述子节点的父节点的二维表,所述根表标识用于指向所述树形数据结构的根节点的二维表,所述外键指向所述对象模式的主键。
6.一种执行结构化查询语言SQL指令的装置,其特征在于,包括:SQL接口单元、关系型SQL访问处理单元、对象关系型转换单元、元数据管理单元、对象存储单元,其中,
所述SQL接口单元,用于接收一SQL指令,所述SQL指令用于从一对象的数据中查询所述对象的属性数据;
所述关系型SQL访问处理单元,用于解析所述SQL接口单元接收的所述SQL指令以得到所述对象的标识、所述对象的键值属性以及查询条件,所述对象的标识用于指示所述对象的类型,所述对象的键值属性用于生成索引值,所述索引值与所述对象的数据相对应,所述查询条件用于从所述对象的数据中查询所述属性数据;
所述对象关系型转换单元,用于根据所述关系型SQL访问处理单元得到的所述对象的标识,以及所述元数据管理单元所存储的对象的标识与对象模式之间的映射关系,得到所述对象对应的对象模式和关系型数据表,所述对象模式用于定义一类对象的树形数据结构,所述树形数据结构包括至少一个第一节点,所述第一节点用于定义此类对象的属性中能够用于生成所述索引值的属性,所述关系型数据表是二维表,所述二维表按照所述对象模式中指示的节点关系存储所述对象的属性数据;
所述对象关系型转换单元,还用于根据所述对象的键值属性以及所述对象模式中定义的用于生成索引值的属性,确定所述对象的数据对应的索引值;
所述对象关系型转换单元,还用于根据所述对象的数据对应的索引值获得所述对象的数据,并根据所述查询条件和所述对象的关系型数据表,从所述对象存储单元中所存储的所述对象的数据中查询得到所述属性数据。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括对象接口单元、对象访问处理单元,
所述对象接口单元,用于在所述所述SQL接口单元接收一SQL指令之前,定义所述对象的对象模式以及关系型数据表;
所述对象接口单元,还用于接收针对所述对象的写请求,所述写请求中包括所述对象的标识和属性;
所述对象访问处理单元,用于根据所述写请求中的所述对象的标识,以及所述元数据管理单元所存储的对象的标识与对象模式之间的映射关系,得到所述对象的对象模式和关系型数据表;
所述对象访问处理单元,还用于根据所述对象的对象模式将所述写请求中属性转换为具有完整存储结构的对象,并根据所述对象模式中定义的用于生成索引值的属性将所述写请求中的属性构建为所述索引值,其中,所述具有完整存储结构的对象指按照对象模式的所有属性分配的存储空间所存储的对象,所述写请求中的属性存储在所述存储空间中;
所述对象访问处理单元,还用于根据所述对象的关系型数据表将所述具有完整存储结构的对象转换为所述对象的数据,并将所述对象的数据按照所述索引值进行存储至所述对象存储单元。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括对象接口单元、对象访问处理单元,
所述对象接口单元,用于接收针对对象的读请求,所述读请求中包括所述对象的标识和键值属性;
所述对象访问处理单元,用于根据所述读请求中的对象的标识,以及所述元数据管理单元中存储的对象的标识与对象模式之间的映射关系,得到对应的对象模式;
所述对象访问处理单元,还用于根据所述对象的键值属性以及所述对象模式中定义的能够用于生成索引值的属性,确定所述对象的数据对应的索引值;
所述对象访问处理单元,还用于根据所述索引值从所述对象存储单元查询得到所述对象的数据。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述对象的树形数据结构中包括至少一个父节点,所述父节点包括标识和域,其中,所述父节点的标识用于指示所述父节点对应对象所属种类,所述父节点的域用于包含子节点。
10.根据权利要求9所述的装置,其特征在于,所述关系型数据表的每个节点包括父表标识、根表标识和外键,所述父表标识用于指向所述子节点的父节点的二维表,所述根表标识用于指向所述树形数据结构的根节点的二维表,所述外键指向所述对象模式的主键。
11.一种执行结构化查询语言SQL指令的装置,其特征在于,包括:处理器、存储器、总线和通信接口;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述装置运行时,所述处理器执行所述存储器存储的计算机执行指令,以使所述装置执行如权利要求1-5任一项所述的方法。
12.一种计算机存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的方法。
CN201710598140.7A 2017-07-20 2017-07-20 执行结构化查询语言sql指令的方法和装置 Active CN110019287B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710598140.7A CN110019287B (zh) 2017-07-20 2017-07-20 执行结构化查询语言sql指令的方法和装置
PCT/CN2018/083411 WO2019015364A1 (zh) 2017-07-20 2018-04-17 执行结构化查询语言sql指令的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710598140.7A CN110019287B (zh) 2017-07-20 2017-07-20 执行结构化查询语言sql指令的方法和装置

Publications (2)

Publication Number Publication Date
CN110019287A true CN110019287A (zh) 2019-07-16
CN110019287B CN110019287B (zh) 2021-09-14

Family

ID=65015042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710598140.7A Active CN110019287B (zh) 2017-07-20 2017-07-20 执行结构化查询语言sql指令的方法和装置

Country Status (2)

Country Link
CN (1) CN110019287B (zh)
WO (1) WO2019015364A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399387A (zh) * 2019-07-26 2019-11-01 北京明略软件系统有限公司 基于表关联关系动态生成查询sql的方法及装置
CN111259003A (zh) * 2020-01-07 2020-06-09 广州虎牙科技有限公司 一种数据库建立方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647568B (zh) * 2019-09-16 2023-12-12 金色熊猫有限公司 一种图数据库数据转化为编程语言数据方法及装置
US20220197902A1 (en) * 2020-12-21 2022-06-23 Teradata Us, Inc. Range partitioned in-memory joins
CN113011117B (zh) * 2021-02-18 2022-10-28 中科驭数(北京)科技有限公司 硬件加速板卡模拟仿真方法、系统和装置
CN116680299B (zh) * 2023-06-05 2024-04-09 粤港澳大湾区(广东)国创中心 数据库查询方法、系统、存储介质以及设备
CN117194410B (zh) * 2023-07-13 2024-05-14 广州白码科技有限公司 一种人工智能语言模型生成业务报表的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
CN103412897A (zh) * 2013-07-25 2013-11-27 中国科学院软件研究所 一种基于分布式结构的并行数据处理方法
CN105205103A (zh) * 2015-08-25 2015-12-30 北京京东尚科信息技术有限公司 访问数据库的方法和装置
CN106372176A (zh) * 2016-08-30 2017-02-01 东华大学 一种支持对嵌套文档进行统一sql查询的方法
CN106372177A (zh) * 2016-08-30 2017-02-01 东华大学 支持混合数据类型的关联查询及模糊分组的查询扩展方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1632746A (zh) * 2003-12-24 2005-06-29 华为技术有限公司 一种数据库管理系统安全设置方法和装置
US8260764B1 (en) * 2004-03-05 2012-09-04 Open Text S.A. System and method to search and generate reports from semi-structured data
CN104850572B (zh) * 2014-11-18 2018-11-23 中兴通讯股份有限公司 HBase非主键索引构建与查询方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285997B1 (en) * 1998-11-16 2001-09-04 International Business Machines Corporation Query optimization with deferred update and autonomous sources
CN103412897A (zh) * 2013-07-25 2013-11-27 中国科学院软件研究所 一种基于分布式结构的并行数据处理方法
CN105205103A (zh) * 2015-08-25 2015-12-30 北京京东尚科信息技术有限公司 访问数据库的方法和装置
CN106372176A (zh) * 2016-08-30 2017-02-01 东华大学 一种支持对嵌套文档进行统一sql查询的方法
CN106372177A (zh) * 2016-08-30 2017-02-01 东华大学 支持混合数据类型的关联查询及模糊分组的查询扩展方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIE XU等: "ZQL: A Unified Middleware Bridging Both Relational and NoSQL Databases", 《2016 IEEE 14TH INTL CONF ON DEPENDABLE, AUTONOMIC AND SECURE COMPUTING》 *
郭旭东: "基于对象关系映射的对象持久化模型的分析与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399387A (zh) * 2019-07-26 2019-11-01 北京明略软件系统有限公司 基于表关联关系动态生成查询sql的方法及装置
CN111259003A (zh) * 2020-01-07 2020-06-09 广州虎牙科技有限公司 一种数据库建立方法及装置

Also Published As

Publication number Publication date
WO2019015364A1 (zh) 2019-01-24
CN110019287B (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN110019287A (zh) 执行结构化查询语言sql指令的方法和装置
TWI692230B (zh) 一種基於區塊鏈的跨鏈資料操作方法和裝置
TWI706259B (zh) 資料的查詢方法及查詢裝置
EP2652645B1 (en) Extensible rdf databases
CN107239479A (zh) 一种基于区块链的数据存储以及查询的方法及装置
CN109062952A (zh) 一种数据查询方法、装置及电子设备
US8402119B2 (en) Real-load tuning of database applications
CN109492053A (zh) 用于访问数据的方法和装置
US10645090B2 (en) Access control for objects having attributes defined against hierarchically organized domains containing fixed number of values
CN109033406A (zh) 用于搜索区块链数据的方法、装置及存储介质
CN109033403A (zh) 用于搜索区块链数据的方法、装置及存储介质
US20170322732A1 (en) Computer systems and methods for implementing in-memory data structures
CN106095698A (zh) 面向对象的缓存写入、读取方法及装置
US11726999B1 (en) Obtaining inferences to perform access requests at a non-relational database system
CN109101607A (zh) 用于搜索区块链数据的方法、装置及存储介质
CN112949269A (zh) 可视化数据分析报表的生成方法、系统、设备及存储介质
US11423025B2 (en) Direct data loading of middleware-generated records
JP2024505238A (ja) 論理データセットグループの操作を伴うデータ処理システム
KR20020066151A (ko) 개방형 gis 기반의 공간정보 유통시스템 및 방법
US11755620B1 (en) Invoking supported non-relational database operations to provide results consistent with commands specified in a relational query language
CN112069185B (zh) 索引构建方法、装置、电子设备和介质
US20220004531A1 (en) In-memory data structure for data access
Șimonca et al. Analytical Capabilities of Graphs in Oracle Multimodel Database
CN113779066A (zh) 一种数据提取方法、装置、存储介质及电子设备
Flowers Define and Implement an Indexing Strategy

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
GR01 Patent grant
GR01 Patent grant