一种可实现重复单词列表的电子词典三级存储架构的制作方法

文档序号:6458846阅读:149来源:国知局

专利名称::一种可实现重复单词列表的电子词典三级存储架构的制作方法
技术领域
:本发明涉及一种电子词典的词库的设计,特别是涉及到一种嵌入式环境下的词典类数据的结构设计。
背景技术
:电子词典要有迅速检索到所需单词的能力,因此必须使用索引。无索引词典很少使用,因为没有索引就必须要求词库是有序的,并且为了访问方便,一般要求每个记录是定长的。目前电子词典存储一般分成两个部分一个是索引文件,一个是数据文件。索引文件一般可分为一级索引,二级索引和多级索引。使用的索引结构有很多,但是其存储的架构却一般为二级架构。第一级是到单词的索引,第二级是单词的解释信息。如图1所示。索引方式可以有各式各样。一种是每个词头作为一个索引关键字,可以包括或者不包括重复词头;还有一种是以词头的前一个或几个字母作为关键字的索引。一级索引和二级索引在电子词典中比较常见,而多级索引只应用于特殊处理,一般很少使用。单词的解释信息根据具体的词典的要求可有不同的表现形式。一般包括了单词名,音标,解释和例句等一般信息,一些特殊的字典还有其特别的语法,如单词语法,文化注释,历史故事,附录(包括languagenote,数量词等)。电子词典的功能就是通过索引迅速的找到该单词的解释信息,并把该单词的详细解释显示到屏幕上,供用户浏览。
发明内容针对目前的电子词典的结构设计的简单性和单词列表的固定性,本发明的目的就是提出一种可以使用户自定义单词列表显示的电子词典的三级存储架构,并在该架构下设计出相应的数据结构和表示方法。为实现上述目的,本词典结构设计采用的技术方案如下词库由索引层、词头层、数据层三层结构组成。由于电子词典的词库是基于三级存储架构的,为了查询一个单词,需要使用到索引层,词头层和数据层的相互调用。这三层的数据的索引都是基于该层开始位置的偏移位移。基于三级存储格式下的单词查询如图2所示。(1)索引层可以选择索引策略,完成到词头层的索引。根据需求可以使用不同的索引策略,如树索引,Hash索引。在本发明采用了折半査找的方式,基于折半查找的索引方式,搜索方式简单,搜索速度快,并且由于只保存了到词头层的索引,因此需要的存储空间很小。(2)词头层根据具体需要而进行单词的排列,并支持单词的重复出现。在词典中,单词的出现顺序总是有序的,一般情况下是根据单词名称或者音标的有序排序。本发明采用的词头层可以支持单词的重复出现,例如同音字的在词典中重复出现。并且由于词头层的设计支持单词的无序显示,因此用户可以自定义需要显示的单词列表。(3)数据层数据层保存不同的数据属性。从词头层中的节点获得数据层偏移位移,并进入该单词响应的数据层结点。获得该单词的详细信息。由于数据层中保存了词库中单词信息的属性,因此根据系统的具体显示要求进行相应的视图显示。如例句,文法,附录,解释。其中词头层包含了前一个词头层结点的长度,通过本结点的偏移位移减去前一个词头层结点的长度,可得前一个词头层结点的指针,并由此可以实现在词头层中的遍历,如在单词的显示列表中的翻行或者翻屏幕操作。在词头层中,同一个单词的重复词头层结点只有第一个重复词头层结点与索引层结点相映射,并且同一个单词的所有重复词头层结点都对应同一个数据层结点。这样的映射方式可以减少数据的冗余,更有效的利用存储空间。本发明的有益效果-本发明结合了目前的电子词典的存储架构和检索技术,提出了一种基于三级存储架构的嵌入式电子词典的结构。基于该架构下的电子词典存储结构分为索引层,词头层和数据层索引层可以选择索引策略;词头层可以根据具体需要而进行单词的排列,并支持单词的重复出现;数据层保存数据的解释信息。在本发明中采用了折半查找的索引方式,不仅能更快速的査找到输入的单词而且存储的数据更小,而且如果词头层中的单词列表是已经排序,还可以进一步使用稀疏索引的方式,使索引层所占空间更小。用户可以自定义单词的列表,同一个单词的重复词头层结点只有第一个重复词头层结点与索引层结点相映射,并且同一个单词的所有重复词头层结点都对应同一个数据层结点。这样的映射方式可以减少数据的冗余,更有效的利用存储空间。图1为基于二级存储的一次索引结构。图2为^^#^格式的单词^^呈图即^^#^格式6<]^图。图3为索引层与词头层数据表示。图4为基于稀疏索引的索引层数据表示。图5为重复词头层结点结构图。图6为词头层与数据层数据表示。图7为数据层数据结构。具体实施例方式下面结合附图对本发明进行进一步阐述(1)索引层设计索引层是电子词典三级存储架构的第一层。根据用户输入的单词,利用索引层更快速的査找到该单词在词头层中的位置,并把该单词的单词名和拼音显示出来。在索引层中,采用了基于窗口过程的响应方式,当用户每输入一个字符时,用户无需按确定键,系统将自动进行单词的索引检索,并将屏幕的一屏单词列表更新,显示新的单词列表信息。如果词头层中存在重复出现的单词,如多音字。则该多个单词只使用一个索引结点,该索引结点指向词头层第一次出现的结点。如图3所不o电子词典的索引层是一种基于折半查找的快速索引区,根据单词在第二层中的单词名为关键字进行了升序排列。索引层的每一个结点为4个字节,该结点记录了该单词在词头层中的偏移位移。索引层的数据结构如下表所示。表l索引层的数据结构表<table>tableseeoriginaldocumentpage8</column></row><table>如果在词头层中的节点是已经排序,则可以使用稀疏索引的方式。使用稀疏索引的方式,占用的空间较少。如图4所示。(2)词头层设计词头层是连接索引层和数据层的中间层,起着数据衔接的作用。索引层中的信息包括了该单词的单词名称,音标以及指向数据层中的指针。通过在词头层的操作,可以实现翻行和翻页的功能。通过指向数据层的指针,用户可以通过按确定键进入查看该单词的详细解释信息。当用户进行单词查找时,显示屏幕上的一组单词列表。有的词典只需显示单词的名称,有的则需要把单词的音标也显示出来。因此,我们词头层中的数据包括了单词的名称和单词的音标。在单词列表中,词典的设计还应该支持用户的翻页功能,用户可以通过翻页键査看上一页或者下一页的单词列表。由于在单词列表中存在重复单词的状况。为此,我们设计了两种词头层结点的数据类型,分别是普通词头层结点和重复词头层结点。在嵌入式环境下,为节省存储空间,我们为两种不同的结点类型设置了相同的前缀,根据结点的第1个字节可以判断该结点具体是属于哪种类型,如果该字节为0,则为重复结点,使用重复词头层结点进行读入,否则属于普通词头层结点。重复词头层结点的信息包含了普通词头层结点的信息,并且还要一个指针的双向链表,分别指向了上一个和下一个该单词重复出现的结点的偏移位移。重复词头层结点和普通词头层结点关系如图5所示。使用了重复单词的词头层和数据层关系如图6所示。普通词头层结点的信息包含了单词名称,音标和指向数据层的指针。由于需要实现上下翻行翻页功能,因此词头层还有着上一个词头层结点的结点总长度,可以方便地跳到上一个单词的词头层结点。普通词头层结点数据结构如下表所示。表2普通词头层结点数据结构表<table>tableseeoriginaldocumentpage9</column></row><table>__I结点信息)_当词头层结点是一个重复词头结点时,使用重复词头结点的数据结构。重复词头层结点不仅包含了普通词头层结点的全部信息,还有一个指向该单词的上一个和下一个重复出现的重复词头层结点的指针,让用户可以方便査找出该重复单词的需要出现的正确位置。重复词头层结点数据结构如下表所示。表3重复词头层结点数据结构<table>tableseeoriginaldocumentpage10</column></row><table>(3)数据层设计数据层存储着单词的详细解释信息,包括单词的文法信息,解释信息,解释下的例句等。数据层结构由显示数据块总数和显示数据块的信息构成。一个单词的信息由构成该单词的属性组成,一个属性便是一个显示数据块。如果存在一些嵌套的属性表示,则根据实践的系统需要,将嵌套属性分割成若干个显示数据块。数据层中的结构包括了显示数据块的总数和每一个显示数据块。显示数据块是变长的数据流结构。词头层总体数据结构如图7所示。显示数据块的数据结构如下表所示。表4单词显示数据块数据结构<table>tableseeoriginaldocumentpage11</column></row><table>权利要求1、一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,包括索引层,词头层和数据层;索引层包含到词头层节点的索引,词头层包含单词的名称和音标信息,数据层包含了单词的详细解释信息。2、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,索引层包含了到词头层结点的索引,索引层可以根据不同的词库特征设计出最优的检索方式。3、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,在本发明中采用了折半查找的索引方式,不仅能更快速的查找到输入的单词而且由于存储的数据只有对词头层结点的指针,使得索引文件所占的空间达到最小。4、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,词头层中的单词列表己经排序,还可以进一步使用稀疏索引的方式,使索引层所占空间更小。5、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,词头层结点包含了前一个词头层结点的长度,单词名称,单词音标以及到对应的数据层结点的指针。6、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,词头层结点可以用户自定义,也可以实现单词的重复显示。7、根据权利要求6所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,词头层结点由普通词头层结点和重复词头层结点构成,可以根据词头层结点的第1个字节进行判断该结点属于那种结点结构,某单词的重复词头层结点不仅有普通词头层结点的数据结构还包括了该单词的前一个和后一个重复词头层结点的指针。8、根据权利要求7所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,词头层的同一个单词的重复词头层结点只有第一个重复词头层结点与索引层相对应。9、根据权利要求1所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,数据层中包含了显示数据块的总数和每一个显示数据块;单词的每个显示块都是变长的数据流结构,并且用数字定义了显示块内数据信息的属性。10、根据权利要求9所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,同一个单词所对应的所有重复词头层结点都只对应一个数据层结点。11、根据权利要求9所述的一种可实现重复单词列表的电子词典的三级存储架构,其特征在于,在表示单词长度的数字可以用变长的数字表示,当一个数字小于255时,可以用一个字符的ASCII码表示,当大于255时,可以将第一个字符变成0xFF,然后用后两个字符表示。全文摘要本发明公开了一种可实现重复单词列表的电子词典的三级存储架构。基于该架构下的电子词典存储结构分为索引层,词头层和数据层索引层可以选择索引策略;词头层可以根据具体需要而进行单词的排列,并支持单词的重复出现;数据层保存数据的解释信息。在本发明中采用折半查找的索引方式,不仅能快速的查找单词而且存储的数据量更小,如果词头层中的单词列表是已经排序,还可以使用稀疏索引的方式。词头层结点由普通词头层结点和重复词头层结点构成,同一个单词的重复词头层结点中只有第一个重复词头层结点与索引层结点相映射,并且同一个单词的所有重复词头层结点都对应同一个数据层结点,这样的映射方式可以减少数据的冗余,从而更有效的利用存储空间。文档编号G06F17/30GK101419605SQ20081002779公开日2009年4月29日申请日期2008年4月30日优先权日2008年4月30日发明者王建民,罗笑南,陈佳鹏,麦灿章,黄达尧申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1