CN102346747B - 在数据模型中查找参数的方法 - Google Patents
在数据模型中查找参数的方法 Download PDFInfo
- Publication number
- CN102346747B CN102346747B CN2010102450546A CN201010245054A CN102346747B CN 102346747 B CN102346747 B CN 102346747B CN 2010102450546 A CN2010102450546 A CN 2010102450546A CN 201010245054 A CN201010245054 A CN 201010245054A CN 102346747 B CN102346747 B CN 102346747B
- Authority
- CN
- China
- Prior art keywords
- hash table
- index value
- data model
- character
- character string
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种在数据模型中查找参数的方法。该方法接收用户输入的字符串并读取字符串中最后一个字符,在第一哈希表中查找与该最后一个字符对应的索引值。若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径。或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
Description
技术领域
本发明涉及一种数据库管理方法,尤其是关于一种在数据模型中查找参数的方法。
背景技术
TR-069全称为“CPE广域网管理协议”,其规定了家庭网关进行远程管理配置时的通用框架和协议。TR-098定义了通过TR-069管理的所有网络设备的数据模型(data model)。
TR-098定义的一个网络设备的数据模型包括各种类型的数据对象(data object)及配置参数(configuration parameters)。在TR-098中,所有的数据对象及配置参数都是以目录树(directory tree)的形式分等级命名的(例如A.D.F.L),每一等级由字符串(string)组成。
每个数据模型的根节点(root node)只有一个,而数据对象可以看做是数据模型中的一个群组,每个数据对象又可以包含其它数据对象或配置参数。配置参数必定是目录树中最末端的叶子节点,用户根据每个配置参数的数据路径可以找到其相对应的访问函数(access function)。
目前,在网络服务器中查找配置参数的方法是:接收用户输入的字符串,以字符串中的字符为关键字并依据出现的先后顺序在网络服务器中查找匹配的配置参数。由于数据模型中的许多配置参数的名称中包括相同的字符,当查找的配置参数的名称较长时,这种查找方法较为费时。
发明内容
鉴于以上内容,有必要提出一种在数据模型中查找参数的方法,可以节省查找时间,提高查找效率。
一种在数据模型中查找参数的方法,该方法包括以下步骤:
提供第一哈希表,用于储存数据模型中所有叶子节点处的配置参数名称的索引值;
提供第二哈希表,用于储存数据模型中重复配置参数的完整数据路径的索引值;
接收用户输入的字符串并读取字符串中最后一个字符;
在第一哈希表中查找与该最后一个字符对应的索引值;及
若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径,或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
相较于现有技术,本发明提供的在数据模型中查找参数的方法,根据叶子节点查找父节点的方式在数据模型中查找与用户输入的字符串匹配的配置参数的完整数据路径。对于重复的配置参数,则根据其不同的数据路径进行查找。由于每个叶子节点的每一级父节点都是唯一的,故该方法可以有效减少查找时间,提高查找效率。
附图说明
图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)。例如,在图2所示的数据模型中,配置参数包括B,G,I,J,K,M,N,O,其中静态参数包括B,G,I,J,K,动态参数包括M,N,O,重复的参数包括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,判断是否在第一哈希表中查找到与该最后一个字符对应的索引值。如果未在第一哈希表中查找到与该最后一个字符对应的索引值,则提示用户输入错误,流程结束。若在第一哈希表中查找到与该最后一个字符对应的索引值,则进入步骤S111。
步骤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,O,可以根据其在第一哈希表中的唯一索引值找到唯一的数据路径记录。例如,配置参数J在第一哈希表中的索引值4指向数据路径记录“Mo_A_D_F_J_Ptr”。
如果在步骤S111中,判断在第一哈希表中查找到重复的索引值,则流程进入步骤S119。如图5所示,重复的配置参数,例如G,K,M,由于其在第一哈希表中有重复的索引值,故根据该重复的索引值无法找到唯一的数据路径记录。例如,重复配置参数G在第一哈希表中的索引值2指向的数据路径记录为“NULL”。
步骤S119,在第二哈希表中查找该字符串对应的索引值。
步骤S121,判断是否从第二哈希表中查找该字符串对应的索引值。如果未从第二哈希表中查找该字符串对应的索引值,则提示用户输入错误,流程结束。如果从第二哈希表中查找该字符串对应的索引值,则进入步骤S117,根据第二哈希表中该字符串对应的索引值查找到与该字符串匹配的配置参数在数据模型中的完整数据路径。如图6所示,表示重复配置参数的完整数据路径的字符串可以根据其在第二哈希表中的索引值找到唯一的数据路径记录。例如字符串“A.C.G”在第二哈希表中的索引值1指向数据路径记录Mo_A_C_G_Ptr。
由于在TR-98的数据模型中,所有的元素,例如数据对象、配置参数都是已知的、固定的,所以本实施例给出的在数据模型中查找参数的方法可以应用在数据模型的编译阶段,从而优化后续的查找功能。
Claims (7)
1.一种在数据模型中查找参数的方法,其特征在于,该方法包括:
提供第一哈希表,用于储存数据模型中所有叶子节点处的配置参数名称的索引值;
提供第二哈希表,用于储存数据模型中重复配置参数的完整数据路径的索引值;
接收用户输入的字符串并读取字符串中最后一个字符;
在第一哈希表中查找与该最后一个字符对应的索引值;及
若在第一哈希表中查找到该字符有不重复的索引值,则将所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较,以查找与该字符串匹配的配置参数在数据模型中的完整数据路径,或者,若在第一哈希表中查找到该字符有重复的索引值,则在第二哈希表中查找所述字符串对应的索引值,根据该第二哈希表中该字符串对应的索引值查找与该字符串匹配的配置参数在数据模型中的完整数据路径。
2.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,所述第一哈希表储存在存储装置,该第一哈希表中每个配置参数名称的索引值映射到一个数据路径记录。
3.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,所述第二哈希表储存在存储装置,该第二哈希表中每个字符串的索引值映射到一个数据路径记录。
4.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括:
若在第一哈希表中未查找到该字符对应的索引值,则提示用户输入错误。
5.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括:当该字符在第一哈希表中有不重复的索引值时,若所述字符串中的余下字符依出现顺序自后向前与数据模型中对应的叶子节点的父节点自下向上逐级进行比较的结果不一一匹配,则提示用户输入错误。
6.如权利要求1所述的在数据模型中查找参数的方法,其特征在于,该方法还包括:若在第二哈希表中未查找到该字符串对应的索引值,则提示用户输入错误。
7.如权利要求2或3所述的在数据模型中查找参数的方法,其特征在于,所述存储装置为计算机内存或外部存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102450546A CN102346747B (zh) | 2010-08-04 | 2010-08-04 | 在数据模型中查找参数的方法 |
US12/894,159 US8280890B2 (en) | 2010-08-04 | 2010-09-30 | Computing device and method for searching for parameters in a data model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102450546A CN102346747B (zh) | 2010-08-04 | 2010-08-04 | 在数据模型中查找参数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102346747A CN102346747A (zh) | 2012-02-08 |
CN102346747B true CN102346747B (zh) | 2013-02-13 |
Family
ID=45545431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102450546A Expired - Fee Related CN102346747B (zh) | 2010-08-04 | 2010-08-04 | 在数据模型中查找参数的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8280890B2 (zh) |
CN (1) | CN102346747B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693317B (zh) * | 2012-05-29 | 2014-11-05 | 华为软件技术有限公司 | 数据挖掘流程生成方法及装置 |
US20150006514A1 (en) * | 2013-06-28 | 2015-01-01 | Jiun Hung | Method and Computer System for Searching Intended Path |
CN104504142B (zh) * | 2015-01-04 | 2018-02-02 | 华为技术有限公司 | 一种用于移动终端的文本查找方法和装置 |
US10262012B2 (en) | 2015-08-26 | 2019-04-16 | Oracle International Corporation | Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects |
US10467243B2 (en) | 2015-08-26 | 2019-11-05 | Oracle International Corporation | Efficient in-memory DB query processing over any semi-structured data formats |
CN107545047B (zh) * | 2017-08-17 | 2019-07-19 | 平安科技(深圳)有限公司 | 用户权限数据的查询方法及终端设备 |
US11675761B2 (en) | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
US11226955B2 (en) | 2018-06-28 | 2022-01-18 | Oracle International Corporation | Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
US11157478B2 (en) | 2018-12-28 | 2021-10-26 | Oracle International Corporation | Technique of comprehensively support autonomous JSON document object (AJD) cloud service |
CN110378144B (zh) * | 2019-06-04 | 2021-09-07 | 中国科学院信息工程研究所 | 数据即服务模式下支持范围查询的隐私保护方法和系统 |
US11423001B2 (en) | 2019-09-13 | 2022-08-23 | Oracle International Corporation | Technique of efficiently, comprehensively and autonomously support native JSON datatype in RDBMS for both OLTP and OLAP |
US11514697B2 (en) | 2020-07-15 | 2022-11-29 | Oracle International Corporation | Probabilistic text index for semi-structured data in columnar analytics storage formats |
US11640380B2 (en) | 2021-03-10 | 2023-05-02 | Oracle International Corporation | Technique of comprehensively supporting multi-value, multi-field, multilevel, multi-position functional index over stored aggregately stored data in RDBMS |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516320B1 (en) * | 1999-03-08 | 2003-02-04 | Pliant Technologies, Inc. | Tiered hashing for data access |
CN101082932A (zh) * | 2006-06-01 | 2007-12-05 | 国际商业机器公司 | 管理信息技术系统的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095549B2 (en) * | 2005-10-05 | 2012-01-10 | Intel Corporation | Searching for strings in messages |
-
2010
- 2010-08-04 CN CN2010102450546A patent/CN102346747B/zh not_active Expired - Fee Related
- 2010-09-30 US US12/894,159 patent/US8280890B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516320B1 (en) * | 1999-03-08 | 2003-02-04 | Pliant Technologies, Inc. | Tiered hashing for data access |
CN101082932A (zh) * | 2006-06-01 | 2007-12-05 | 国际商业机器公司 | 管理信息技术系统的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102346747A (zh) | 2012-02-08 |
US20120036133A1 (en) | 2012-02-09 |
US8280890B2 (en) | 2012-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102346747B (zh) | 在数据模型中查找参数的方法 | |
CN104866593B (zh) | 一种基于知识图谱的数据库搜索方法 | |
CN101266610B (zh) | 一种Web活跃用户网站访问模式的在线挖掘方法 | |
CN102768681B (zh) | 一种用于搜索输入的推荐系统及方法 | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN102999600A (zh) | 一种嵌入式数据库自动生成方法和系统 | |
CN104021123A (zh) | 用于数据迁移的方法和系统 | |
CN101222391B (zh) | 一种在服务器/客户端结构中构造拓扑树的方法 | |
CN103123650A (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN110147544A (zh) | 一种基于自然语言的指令生成方法、装置以及相关设备 | |
CN104199954B (zh) | 一种用于搜索输入的推荐系统及方法 | |
CN109933800A (zh) | 数据机构体系的创建方法、信息查询方法及装置 | |
CN106095961A (zh) | 表显示处理方法和装置 | |
CN103927168B (zh) | 一种面向对象的数据模型持久化的方法及装置 | |
CN104268176A (zh) | 一种基于搜索关键词的推荐方法及系统 | |
CN108984626B (zh) | 一种数据处理方法、装置及服务器 | |
CN101917282B (zh) | 一种告警屏蔽规则的处理方法、装置及系统 | |
CN104243565A (zh) | 获取配置数据的方法和装置 | |
CN106776136A (zh) | 数据库处理方法和装置 | |
CN104008205A (zh) | 一种内容路由的查询方法及系统 | |
CN101035307B (zh) | 一种交换机中模糊号码分析的实现方法 | |
TWI409650B (zh) | 在資料模型中查找參數的方法 | |
CN107807976A (zh) | Ip归属地查询方法和装置 | |
CN110334252B (zh) | 一种偏序域上的skyline查询方法 | |
CN103955519A (zh) | 一种台账查询记录系统及其查询记录方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20140804 |
|
EXPY | Termination of patent right or utility model |