数据库及其单向快速搜寻方法技术

技术编号:2835754 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭露一种数据库及其单向快速搜寻方法。第一表列中储存分割数据库所获得各区段首的记录的记录识别,第二表列中储存若干个具有连续位址的记录识别,其位址先前于最后搜寻记录的位址。本发明专利技术方法的步骤为:接收数据部分请求;确认现在请求记录的记录识别位址,是否先于最后搜寻记录的记录识别位址,如是,在第二表列中搜寻现在请求记录的记录识别;确认于第二表列中是否找到现在请求记录的记录识别,如否,则自位址最接近并小于现在请求记录的记录识别的区段首开始,单向搜寻现在请求记录的记录识别。

【技术实现步骤摘要】

本专利技术是有关于一种,尤指一种利用一平均分割数据库为若干个区段所获得的区段首表列来单向快速搜寻的方法。
技术介绍
早期,储存大量记录的数据库通常以静态串行(sequentialrepresentation)为其结构,例如阵列(Array)、堆叠(Stacks)或伫列(Queues)等方式。此种静态串行的数据库结构具有存取个别请求数据速度较快的优点。但其缺点为插入或删除数据的动作则须搬移该数据库中大量的数据。就一数据库而言,如须经常性地对其中插入或删除数据,则该数据库便不适合使用静态串行的结构。因此,动态串行(Linked List)的数据库结构便是为当今主流且广为采取的结构模型。当欲于其中插入或删除数据时,此类数据库结构仅须改变相关的链接(Linking)即可,无须搬移数据的位置。因此,近来发展的许多数据库结构中,动态串行确为演算式利用数据库结构的首选。具体而言,构成单向搜寻(one-way search)数据库的单向链接串行(singly linked lists)比双向链接串行(DoublyLinked Lists)或树状结构(Trees)用的多。虽然单向链接串行较双向链接串行或树状结构的数据库须要较多的执行(例如修改或搜寻多笔数据)时间,但对一电子电路或一大型数据库而言,具有仅须较少记忆空间的优点,例如从远程操控台存取数据的智能平台管理接口(IPMI)数据库。实际上,并无法撷取数据库内所有的记录及其数据部分到远程操控台后,再对该些记录及数据进行搜寻,而仅能撷取少量部分的记录,储存于远程操控台的记忆装置内,以进行数据的搜寻,当使用者有其它请求时,再撷取其它的记录。然而于此单向链接串行的数据库中的搜寻方法尚有一个缺点,即当沿数据库的搜寻方向,现在请求记录的位址先于最后搜寻记录的位址时,便必须自数据库的起始处开始方能沿搜寻方向找到现在请求的记录。如前述的网络(IPMI)数据库或其它相似情况下,搜寻单向链接串行数据库内的数据便较搜寻双向链接串行数据库内的记录要花费较长的时间。
技术实现思路
因此,确有发展一单向快速搜寻方法及其数据库的必要,以提供一种在单向链接串行数据库内搜寻的更有效率方法。为解决现有技术的缺点,本专利技术的目的在于提供一种。为完成前述目的,本专利技术提供一种使用于一数据库的单向快速搜寻方法,该数据库其包括若干个记录,每一记录包括至少一记录识别对应至一位址、一次记录识别对应至一次记录的一次位址、以及一数据部份,其中该数据库被分割为若干个区段,指定该些区段的第一个记录为一区段首,并储存该些区段首的记录识别于一第一表列,且储存部分的该些记录识别于一第二表列,其中,储存于该第二表列中的该些记录识别的位址是先前于一最后搜寻记录的记录识别位址。而本专利技术的单向快速搜寻方法包括下列步骤a.接收一数据部份请求;b.确认现在请求记录的记录识别位址包括数据部份,是否先于最后搜寻记录的记录识别位址,如是,则于第二表列中单向搜寻现在请求记录的记录识别;c.确认于第二表列中是否找到现在请求记录的记录识别,如是,通过找到的记录识别,传送现在请求记录的数据部份;以及d.于第二表列中,储存具有若干个对应位址的部分的该些记录识别,该些对应位址先于找到的记录识别位址。于步骤c中,如于第二表列中未找到现在请求记录的记录识别,则更进一步包括下列步骤c1.自第一表列的该些记录识别中,选择一区段首,所选择的区段首的位址是最接近并小于现在请求记录的记录识别位址;c2.自所选择的区段首开始,单向搜寻现在请求记录的记录识别,直到找到现在请求记录的记录识别;以及c3.透过找到的记录识别,传送现在请求记录的数据部份。而依据本专利技术能快速单向搜寻的数据库包括若干个记录以及一第一表列。每一记录包括至少一记录识别对应至一位址、一次记录识别对应至一次记录的一次位址、以及一数据部份,其中该数据库被分割为若干个区段,并指定该些区段的第一个记录为一区段首,该第一表列是用以储存该些区段首的记录识别。该数据库更包括一第二表列。该第二表列是用以储存若干个记录识别,储存于第二表列的纪录识别的数据部份具有较高的请求频率。或者,该第二表列也可用以储存若干个记录识别,储存于第二表列的纪录识别位址先前于一最后搜寻记录的记录识别位址。即如前述,于接收数据请求前初始化该数据库时,便会先行取得该数据库中所有位址的一总数。并且依据该总数,将该数据库平均分割为该些区段。与现有技术相比,本专利技术的单向快速搜寻方法,提供的第一表列储存该些区段的该些记录识别,即便现在请求记录的记录识别位址先于最后搜寻记录的记录识别位址,也无须自该数据库的起始处,才能开始搜寻、找到该现在请求记录。本专利技术的搜寻方法,是选择一区段首,该区段首的记录识别位址最接近并小于该现在请求记录的记录识别位址,并自其开始搜寻现在请求记录的记录识别,所以本专利技术的方法能于单向链接串行结构的数据库内更有效率地搜寻。附图说明图1是依据本专利技术能快速单向搜寻的数据库的结构图。图2是依据本专利技术的第一表列及第二表列的详细内容。图3是依据本专利技术数据库的结构图示,用以详细说明当现在请求记录的记录识别位址先于该最后搜寻记录的记录识别位址,且未在第二表列中的情形。图4是依据本专利技术第一实施例,单向快速搜寻方法的流程图。图5是依据本专利技术第二实施例,单向快速搜寻方法的流程图。具体实施例方式请参考图1,一并参考图2及图3。图1是依据本专利技术能快速单向搜寻的数据库的结构图。图2是依据本专利技术的第一表列及第二表列的详细内容。图3是依据本专利技术数据库的结构图示,用以详细说明当现在请求记录的记录识别位址先于最后搜寻记录的记录识别位址,且未在第二表列中的情形。依据本专利技术此实施例的数据库结构,包括100个记录、第一表列以及第二表列。记录102包括一记录识别(首记录识别)对应至位址0、一记录104的次记录识别对应至位址1、以及其数据部份。记录104包括一记录识别对应至位址1、一记录106的次记录识别对应至位址2、以及其数据部份。记录106包括一记录识别对应至位址2、一记录108的次记录识别对应至位址3、以及其数据部份,依此该数据库的单向链接串行持续延展。最后,记录110包括一记录识别对应至位址99、一末记录识别表示该数据库的结尾、以及其数据部份。于初始化数据库时,依据该数据库中所有位址的一总数,将数据库平均分割为若干个区段以取得第一表列。每一区段的第一个记录被指定为一区段首,第一表列便用以储存该些区段首的记录识别。并且,第二表列则用以储存若干个选自该数据库的记录识别。请参考图2中所显示的第一表列,该数据库中位址的总数即如前述为100,而第一表列中位址的总数为5。因此,平均分割该数据库后,该些区段首的记录识别,记录识别(0)、记录识别(20)、记录识别(40)、记录识别(60)、记录识别(80)以及该些记录识别对应的位址0、20、40、60、80被储存于第一表列中。并且,可预设储存该数据库的记录识别位址为0、1、2、3的记录识别于第二表列。之后,每次接收数据请求、搜寻、找到该记录识别、传送该数据部份后,如图3所示,均以具有位址先于该找到的记录识别位址的该些记录识别,更新第二表列。其情形为现在请求记录的记录识别位址40是先于该最后搜寻记录的记录识别位址60,因最后搜寻记录的记本文档来自技高网
...

【技术保护点】
一种单向搜寻的数据库,其特征在于:其包括若干个记录以及一第一表列,每一记录包括至少一记录识别对应至一位址、一次记录识别对应至一次记录的一次位址、以及一数据部份,其中该数据库被分割为若干个区段,指定该些区段的第一个记录为一区段首;第一表列储存该些区段首的该些记录识别。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:徐伟峰
申请(专利权)人:宏正自动科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1