CN101477473B - 硬件支持的数据库指令解释执行方法 - Google Patents

硬件支持的数据库指令解释执行方法 Download PDF

Info

Publication number
CN101477473B
CN101477473B CN2009100955952A CN200910095595A CN101477473B CN 101477473 B CN101477473 B CN 101477473B CN 2009100955952 A CN2009100955952 A CN 2009100955952A CN 200910095595 A CN200910095595 A CN 200910095595A CN 101477473 B CN101477473 B CN 101477473B
Authority
CN
China
Prior art keywords
database
instruction
hardware
database instruction
address
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.)
Expired - Fee Related
Application number
CN2009100955952A
Other languages
English (en)
Other versions
CN101477473A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009100955952A priority Critical patent/CN101477473B/zh
Publication of CN101477473A publication Critical patent/CN101477473A/zh
Application granted granted Critical
Publication of CN101477473B publication Critical patent/CN101477473B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种硬件支持的数据库指令解释执行方法。该方法是通过定义一组二进制的数据库指令,可以通过硬件解释器直接解释执行该数据库指令。传统的数据库管理语言被静态的预先翻译成能被硬件指令解释器解释执行的数据库指令,数据库指令经解释后系统加载执行相应的查询处理过程进行查询。通过硬件解释器直接对数据库指令进行解释执行,从而降低了数据库查询过程中数据库管理语言的解释代价,提高了嵌入式数据库系统的执行性能,对于操作较简单的嵌入式数据库查询操作更具有明显效果。

Description

硬件支持的数据库指令解释执行方法
技术领域
本发明涉及嵌入式数据库、软硬件协同设计方法,尤其是涉及一种硬件支持的数据库指令解释执行方法。
背景技术
随着智能手机、PDA等移动嵌入式设备的发展和普及,以及基于这些移动嵌入式平台的新应用的不断出现,嵌入式数据库技术的需求也随之增长。目前比较普遍的嵌入式数据库系统是以Berkeley DB等软件嵌入式数据库。由于传统的嵌入式计算机体系并不是为数据库管理而设计的,所以随着嵌入式数据库管理软件的复杂性的增加,其运行的性能受到体系结构的限制。因此在嵌入式系统体系结构上支持数据库管理软件将有利于数据库查询性能的提升,以满足日益增长的嵌入式计算需求。
与此同时,近40年来半导体技术一直遵循着摩尔定律继续发展,到2008上半年,英特尔公司已经发布32nm制程工艺。半导体技术的进步允许越来越多的晶体管被集成在单一芯片中,使得单一芯片上集成复杂系统的SoC(System-on-Chip)成为现实。通过重用自行设计或第三方提供的IP(IntellectualProperty)核和组件,SoC技术提供了日益复杂的大规模芯片的设计方法。SoC技术可以集成包括嵌入式处理器,内存模块,接口模块,应用定制的处理功能和相应的软件功能的复杂嵌入式系统,同时这种集成方式极大的提高了嵌入式系统的复杂度和设计效率。
硬件数据库方面,20世纪70年代开始的数据库机是一种专门定制的后端计算机,是被设计来代替软件数据库管理系统的一种硬件高性能解决方案,在数据库机中,几乎所有的数据管理功能都有专门定制的硬件来加速甚至完全实现。基于智能卡的数据库管理系统是目前在一些领域有较多应用的硬件嵌入式数据库,但是,由于智能卡在计算能力和存储容量等方面存在众多限制,其应用领域仅限于考勤、收费系统等,难以应用到较大规模的嵌入式计算设备中。
基于以上技术发展和现有不足,基于SoC的片上数据库系统成为未来可能的一种高性能数据库系统。因此,有必要为片上数据库系统设计一种可由硬件直接解释执行的精简的二进制数据库操作语言指令,当查询请求被发送时,硬件解释器直接解释该指令,以降低数据库管理语言的解释代价。
发明内容
为了降低数据库查询过程中数据库管理语言的解释代价,提高嵌入式数据库系统的执行性能,本发明的目的在于提供一种硬件支持的数据库指令解释执行方法。
本发明解决技术问题所采用的技术方案是:
1、一种硬件支持的数据库指令解释执行方法,其特征在于:
1)定义了五条基本二进制的数据库指令:
五条数据库指令包含了最基本的数据库操作,包括建表指令,插入记录指令,删除记录指令,选取记录指令和删除表指令;
数据库指令使用统一的输入格式,包括4位的操作码和32位的指向指令参数列表的首地址;
此外还定义了五条数据库指令的参数格式;
2)使用硬件解释器对数据库指令进行解释:
硬件解释器是一个硬件单元,用于解释输入的数据库指令:
①硬件解释器接受36位输入,每次解释一条数据库指令;
②硬件解释器维护着一张数据库指令和对应的查询过程地址的映射表;映射表的每个表项包括1位的有效标识位和32位的查询过程入口地址;
③硬件解释器输出为32位的查询过程入口地址,并以此输出设置处理器的PC;
3)数据库指令的执行:
数据库指令的执行包括如下步骤:
①硬件解释器接受二进制的数据库指令输入;
②硬件解释器解释输出指令对应的32位查询过程入口地址,32位的参数列表首地址和1位的有效位;32位查询过程入口地址赋予处理器的PC;32位的参数列表首地址指向对象数据库指令的参数存储空间;1位有效位标识该数据库指令是否存在;
③系统加载输入数据库指令的参数列表到参数存储空间;处理器从入口地址开始加载查询过程执行。
本发明具有的有益效果是:
本发明是硬件支持的数据库指令解释执行方法,其首先定义了基本的二进制数据库指令及其参数格式,并设计了硬件解释器,直接对数据库指令进行解释执行,从而降低了数据库查询过程中数据库管理语言的解释代价,提高了嵌入式数据库系统的执行性能,对于操作较简单的嵌入式数据库查询操作更具有明显效果。
附图说明
图1是本发明的总体流程图。
图2是硬件解释器的结构示意图。
具体实施方式
一种硬件支持的数据库指令解释执行方法:
1)定义了五条基本的二进制数据库指令:
五条指令包含了最基本的数据库操作,包括建表指令(create table),插入记录指令(insert),删除记录指令(delete),选取记录指令(select)和删除表指令(droptable);
数据库指令使用统一的输入格式,包括4位的操作码和32位的指向指令参数的地址;
  操作码   地址
  4位   32位
五条基本指令的操作码分别为:
  指令   操作码
  create table   0000
  drop table   0001
  insert   0010
  select   0011
  delete   0100
此外还定义了五条基本数据库指令的参数格式,分别如下所示:
create table指令,参数包括:表名Table-name(限制3字节),最多5个域的域名field-name(限制2字节)、域类型(限制2位)、长度(限制6位):
 Table-name(3B)
 Field1-name(2B)
 Type(2b)+length(6b)
 Field2-name(2B)
 Type(2b)+length(6b)
 Field3-name(2B)
 Type(2b)+length(6b)
 Field4-name(2B)
 Type(2b)+length(6b)
 Field5-name(2B)
 Type(2b)+length(6b)
drop table指令,参数包括3Bytes长度内存空间,其中保存需要删除的表ID:
  Table-id(3B)
Insert指令,参数包括:进行插入操作的表ID,以及插入的5个域的值:
  Table-id(3B)
  Value1(64B)
  Value2(64B)
  Value3(64B)
  Value4(64B)
  Value5(64B)
select指令,参数包括:需要操作的表ID、查询匹配的域名和域的值:
  Table-id(3B)
  Field-name(2B)
  Value(64B)
delete指令,参数包括:需要操作的表ID、查询匹配的域名和域的值:
  Table-id(3B)
  Field-name(2B)
  Value(64B)
2)使用硬件解释器对数据库指令进行解释:
数据库指令硬件解释器是一个硬件单元,用于解释输入的数据库指令,并通过设置处理器的PC来调用对应的查询过程。硬件解释器的示意框图如图2所示。数据库指令硬件解释器维护着一张数据库指令的操作码和对应的查询过程入口地址之间的映射表。表中的每一条记录将数据库指令的操作码和对应查询过程的入口地址一一对应,并有一个1位的Valid标识位,标识操作码所对应的数据库指令是否有效。
硬件解释器的工作过程如下,如图1所示:
①硬件解释器接受36位输入,每次解释一条数据库指令;其中,4位长的数据库指令操作码使系统最多可支持16种数据库指令。
②硬件解释器以4位的操作码为索引,选择一个表项:
如果该表项的Valid标志位为1,则选择映射表中的该表项作为输出,有效位置为高电平,输出32位的查询过程入口地址,32位的参数列表首地址。
如果该表项的Valid标志位为0,则说明系统不支持该数据库指令,有效位置为低电平。
③32位的查询过程入口地址赋值给处理器的PC寄存器,32位参数列表首地址被分离赋给专用的参数首地址寄存器。
3)数据库指令的执行:
数据库指令的执行包括如下步骤:
①硬件解释器接受二进制的数据库指令输入;
②硬件解释器解释输出指令对应的32位查询过程入口地址,32位的参数列表首地址和1位的有效位;32位查询过程入口地址赋予处理器的PC;32位的参数列表首地址指向对象数据库指令的参数存储空间;1位有效位标识该数据库指令是否存在;
③系统加载输入数据库指令的参数列表到参数存储空间;处理器从入口地址开始加载查询过程执行。

Claims (1)

1.一种硬件支持的数据库指令解释执行方法,其特征在于:
1)定义了五条基本二进制的数据库指令:
五条数据库指令包含了最基本的数据库操作,包括建表指令,插入记录指令,删除记录指令,选取记录指令和删除表指令;
数据库指令使用统一的输入格式,包括4位的操作码和32位的指向指令参数列表的首地址;
此外还定义了五条数据库指令的参数格式;
2)使用硬件解释器对数据库指令进行解释:
硬件解释器是一个硬件单元,用于解释输入的数据库指令:
①硬件解释器接受36位输入,每次解释一条数据库指令;
②硬件解释器维护着一张数据库指令和对应的查询过程地址的映射表;映射表的每个表项包括1位的有效标识位和32位的查询过程入口地址;
③硬件解释器输出为32位的查询过程入口地址,赋值给处理器的PC寄存器;
3)数据库指令的执行:
数据库指令的执行包括如下步骤:
①硬件解释器接受二进制的数据库指令输入;
②硬件解释器解释输出指令对应的32位查询过程入口地址,32位的参数列表首地址和1位的有效位;32位查询过程入口地址赋予处理器的PC寄存器;32位的参数列表首地址指向对象数据库指令的参数存储空间;1位有效位标识该数据库指令是否存在;
③系统加载输入数据库指令的参数列表到参数存储空间;处理器从入口地址开始加载查询过程并执行。
CN2009100955952A 2009-01-22 2009-01-22 硬件支持的数据库指令解释执行方法 Expired - Fee Related CN101477473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100955952A CN101477473B (zh) 2009-01-22 2009-01-22 硬件支持的数据库指令解释执行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100955952A CN101477473B (zh) 2009-01-22 2009-01-22 硬件支持的数据库指令解释执行方法

Publications (2)

Publication Number Publication Date
CN101477473A CN101477473A (zh) 2009-07-08
CN101477473B true CN101477473B (zh) 2011-01-19

Family

ID=40838195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100955952A Expired - Fee Related CN101477473B (zh) 2009-01-22 2009-01-22 硬件支持的数据库指令解释执行方法

Country Status (1)

Country Link
CN (1) CN101477473B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872356B (zh) * 2010-05-31 2013-08-07 中兴通讯股份有限公司 一种内存数据库处理性能的方法与系统
CN111046041B (zh) * 2019-12-09 2024-02-27 珠海格力电器股份有限公司 数据处理方法和装置、存储介质及处理器
CN113468169B (zh) * 2021-06-02 2022-09-09 中科驭数(北京)科技有限公司 硬件数据库查询方法、数据库系统查询方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065503A1 (en) * 2001-09-28 2003-04-03 Philips Electronics North America Corp. Multi-lingual transcription system
CN1564104A (zh) * 2004-03-31 2005-01-12 李明 一种基于软硬件协同管理的电源管理系统及管理方法
CN101110155A (zh) * 2007-08-27 2008-01-23 北京交通大学 基于数据融合模式识别的嵌入式故障智能诊断装置及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065503A1 (en) * 2001-09-28 2003-04-03 Philips Electronics North America Corp. Multi-lingual transcription system
CN1564104A (zh) * 2004-03-31 2005-01-12 李明 一种基于软硬件协同管理的电源管理系统及管理方法
CN101110155A (zh) * 2007-08-27 2008-01-23 北京交通大学 基于数据融合模式识别的嵌入式故障智能诊断装置及方法

Also Published As

Publication number Publication date
CN101477473A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
CN102004766A (zh) 基于信息系统的可配置信息查询方法及系统
CN102902750A (zh) 一种通用的数据抽取转换方法
CN108073688B (zh) 一种数据迁移的方法及装置
CN102567297A (zh) 数据转换装置和数据转换方法
CN101110074A (zh) 基于文件系统缓存的数据加速查询方法
CN104933160A (zh) 一种面向安全监测业务分析的etl框架设计方法
CN101520797B (zh) 电力系统跨平台大数据文件高速并发存取方法
CN105164674A (zh) 涉及多个数据库和执行引擎的查询
CN103729453A (zh) 一种HBase表联合查询优化的方法
CN102819589B (zh) 一种基于etl的数据优化方法及设备
JP7047228B2 (ja) データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム
CN104834860A (zh) 一种安全事件动态入库方法
CN102129425A (zh) 数据仓库中大对象集合表的访问方法及装置
CN100517229C (zh) 数据版本升级方法
CN109471893B (zh) 网络数据的查询方法、设备及计算机可读存储介质
CN101477473B (zh) 硬件支持的数据库指令解释执行方法
CN104881461A (zh) 一种快速数据保存方法
CN110597851B (zh) 一种基于大数据的数据处理及报表展示方法
Zou et al. From a stream of relational queries to distributed stream processing
CN101770461B (zh) 数据处理方法及处理系统
CN104035522A (zh) 大数据库一体机
CN113407565A (zh) 跨库数据查询方法、装置和设备
CN112508720A (zh) 保险客户身份属性的筛选方法、筛选装置及电子设备
WO2008085340A1 (en) Accelerating queries using secondary semantic column enumeration
US9305080B2 (en) Accelerating queries using delayed value projection of enumerated storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110119

Termination date: 20120122