在数据模型中查找参数的方法

文档序号:6607224阅读:260来源:国知局
专利名称:在数据模型中查找参数的方法
技术领域
本发明涉及一种数据库管理方法,尤其是关于一种在数据模型中查找参数的方法。
背景技术
TR-069全称为“CPE广域网管理协议”,其规定了家庭网关进行远程管理配置时的通用框架和协议。TR-098定义了通过TR-069管理的所有网络设备的数据模型(data model)0TR-098定义的一个网络设备的数据模型包括各种类型的数据对象(data object) 及配置参数(configuration parameters)。在TR-098中,所有的数据对象及配置参数都是以目录树(directory tree)的形式分等级命名的(例如A. D. F. L),每一等级由字符串 (string)组成。每个数据模型的根节点(root node)只有一个,而数据对象可以看做是数据模型中的一个群组,每个数据对象又可以包含其它数据对象或配置参数。配置参数必定是目录树中最末端的叶子节点,用户根据每个配置参数的数据路径可以找到其相对应的访问函数 (access function)0目前,在网络服务器中查找配置参数的方法是接收用户输入的字符串,以字符串中的字符为关键字并依据出现的先后顺序在网络服务器中查找匹配的配置参数。由于数据模型中的许多配置参数的名称中包括相同的字符,当查找的配置参数的名称较长时,这种查找方法较为费时。

发明内容
鉴于以上内容,有必要提出一种在数据模型中查找参数的方法,可以节省查找时间,提高查找效率。—种在数据模型中查找参数的方法,该方法包括以下步骤提供第一哈希表,用于储存数据模型中所有叶子节点处的配置参数名称的索引值;提供第二哈希表,用于储存数据模型中重复配置参数的完整数据路径的索引值;接收用户输入的字符串并读取字符串中最后一个字符;在第一哈希表中查找与该最后一个字符对应的索引值;及若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径,或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
相较于现有技术,本发明提供的在数据模型中查找参数的方法,根据叶子节点查找父节点的方式在数据模型中查找与用户输入的字符串匹配的配置参数的完整数据路径。 对于重复的配置参数,则根据其不同的数据路径进行查找。由于每个叶子节点的每一级父节点都是唯一的,故该方法可以有效减少查找时间,提高查找效率。


图1是本发明在数据模型中查找参数的方法较佳实施例的流程图。图2是一个数据模型的树状结构图。图3是第一哈希表的示意图。图4是第二哈希表的示意图。图5是在第一哈希表中查找配置参数的结果示意图。图6是在第二哈希表中查找重复配置参数的完整数据路径的结果示意图。
具体实施例方式参阅图1所示,是本发明在数据模型中查找参数的方法较佳实施例的流程图。该方法可以应用在类似于TR-98的数据模型中。步骤S101,提供第一哈希表,用于储存数据模型中所有叶子节点处的配置参数名称的索引值。该第一哈希表储存在存储装置,例如内存或外部存储器。在该第一哈希表中, 代表配置参数名称的字符为关键字,每个关键字映射到一个索引值,每个索引值映射到一个数据路径记录。在TR-098数据模型中,数据路径由字符和数字构成。参阅图2所示,是一个参数模型(data model)的树状结构图。其中,圆形代表该参数模型中的数据对象(data object),方形代表该参数模型中的配置参数(configuration parameter),三角形代表名称相同的数据对象的编号(instance)。在数据模型中,具有唯一性的数据对象称作静态对象(static object),同一数据路径下具有不同编号相同名称的数据对象是根据用户需要动态产生的,故称做动态对象(dynamicobject)。相应地,静态对象的配置参数称作静态参数(staticparameter),动态对象的配置参数称作动态参数 (dynamic object) 0例如,在图2所示的数据模型中,配置参数包括B,G,I,J,K,M,N,0,其中静态参数包括B,G,I,J,K,动态参数包括M,N, 0,重复的参数包括G,K,M ;数据对象包括 A,C,D,E,H,F,L,静态对象包括A,C,D,E,F,动态对象包括H,L,重复的对象包括F,H。参阅图3所示,是对图2中所示参数模型的所有叶子节点处的配置参数构建的第一哈希表的示意图。步骤S103,提供第二哈希表,用于储存数据模型中重复配置参数的完整数据路径的索引值。该第二哈希表储存在存储装置。在该第二哈希表中,代表配置参数完整数据路径的字符串为关键字,每个关键字映射到一个索引值,每个索引值映射到一个数据路径记录。由于参数模型中存在重复的配置参数,所以在第一哈希表中存在相同的索引值。 例如图2中所示的数据模型包括重复的参数G,K,M,则在图3所示的第一哈希表中存在重复的索引值2,5,6。故当用户输入这些重复的参数时,无法从第一哈希表查找到唯一的索引值,进而无法从存储装置中找到唯一的数据路径记录。然而,这些重复参数在数据模型中的数据路径是不相同的,例如,重复参数G在图2所示的数据模型中有两个不同的数据路径A. C. G及A. D. G,重复参数K有两个不同的数据路径A. C. F. K及A. D. F. K。参阅图3所示,是对图2中所示数据模型的重复配置参数的完整数据路径构建的第二哈希表的示意图。步骤S105,接收用户输入的字符串并读取字符串中最后一个字符。例如,用户输入字符串“A. D. F. J”,则读取最后一个字符J ;若用户输入字符串“A. C. G”,则读取最后一个字符G。步骤S107,在第一哈希表中查找与该最后一个字符对应的索引值。步骤S109,判断是否在第一哈希表中查找到与该最后一个字符对应的索引值。如果未在第一哈希表中查找到与该最后一个字符对应的索引值,则提示用户输入错误,流程结束。若在第一哈希表中查找到与该最后一个字符对应的索引值,则进入步骤sill。步骤S111,判断是否在第一哈希表中查找到重复的索引值。如果未在第一哈希表中查找到重复的索引值,例如字符J在第一哈希表中有唯一的索引值4,则流程进入步骤 S113。步骤S113,将字符串中的余下字符依出现顺序自后向前与第一哈希表中该索引值对应的数据模型中的叶子节点的父节点逐级进行比较。例如,将字符串中“A. D. F. J”的余下字符A,D,F按照自后向前的顺序F,D,A与图2所示的数据模型中叶子节点J自下向上的父节点F,D,A分别进行比较。步骤S115,判断该字符串中的余下字符自后向前是否分别与该叶子节点自下向上的父节点一一匹配。若不一一匹配,则提示用户输入错误,流程结束。若一一匹配,则进入步骤S117,判断查找到与该字符串匹配的配置参数在数据模型中的完整数据路径。如图5 所示,所有非重复的配置参数,例如B,I,J,N, 0,可以根据其在第一哈希表中的唯一索引值找到唯一的数据路径记录。例如,配置参数J在第一哈希表中的索引值4指向数据路径记录 “Mo_A_D_F_J_Ptr,,。如果在步骤Slll中,判断在第一哈希表中查找到重复的索引值,则流程进入步骤 S119。如图5所示,重复的配置参数,例如G,K,M,由于其在第一哈希表中有重复的索引值, 故根据该重复的索引值无法找到唯一的数据路径记录。例如,重复配置参数G在第一哈希表中的索引值2指向的数据路径记录为“NULL”。步骤S119,在第二哈希表中查找该字符串对应的索引值。步骤S121,判断是否从第二哈希表中查找该字符串对应的索引值。如果未从第二哈希表中查找该字符串对应的索引值,则提示用户输入错误,流程结束。如果从第二哈希表中查找该字符串对应的索引值,则进入步骤S117,根据第二哈希表中该字符串对应的索引值查找到与该字符串匹配的配置参数在数据模型中的完整数据路径。如图6所示,表示重复配置参数的完整数据路径的字符串可以根据其在第二哈希表中的索引值找到唯一的数据路径记录。例如字符串“A. C. G”在第二哈希表中的索引值1指向数据路径记录Mo_A_C_ G_Ptr。由于在TR-98的数据模型中,所有的元素,例如数据对象、配置参数都是已知的、 固定的,所以本实施例给出的在数据模型中查找参数的方法可以应用在数据模型的编译阶段,从而优化后续的查找功能。
权利要求
1.一种在数据模型中查找参数的方法,其特征在于,该方法包括提供第一哈希表,用于储存数据模型中所有叶子节点处的配置参数名称的索引值;提供第二哈希表,用于储存数据模型中重复配置参数的完整数据路径的索引值;接收用户输入的字符串并读取字符串中最后一个字符;在第一哈希表中查找与该最后一个字符对应的索引值;及若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径,或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
2.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,所述第一哈希表储存在存储装置,该第一哈希表中每个配置参数名称的索引值映射到一个数据路径记录。
3.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,所述第二哈希表储存在存储装置,该第二哈希表中每个字符串的索引值映射到一个数据路径记录。
4.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括若在第一哈希表中未查找到该字符对应的索引值,则提示用户输入错误。
5.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括当该字符在第一哈希表中有不重复的索引值时,若所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较的结果不一一匹配,则提示用户输入错误。
6.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括若在第二哈希表中未查找到该字符串对应的索引值,则提示用户输入错误。
7.如权利要求2或3所述的在数据模型中查找参数的方法,其特征在于,所述存储装置为计算机内存或外部存储器。
全文摘要
本发明提供一种在数据模型中查找参数的方法。该方法接收用户输入的字符串并读取字符串中最后一个字符,在第一哈希表中查找与该最后一个字符对应的索引值。若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径。或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
文档编号G06F17/30GK102346747SQ20101024505
公开日2012年2月8日 申请日期2010年8月4日 优先权日2010年8月4日
发明者陈炳荣, 黄智源 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1