CN101136765A - 一种快速访问信息模型的方法 - Google Patents
一种快速访问信息模型的方法 Download PDFInfo
- Publication number
- CN101136765A CN101136765A CNA2006101128027A CN200610112802A CN101136765A CN 101136765 A CN101136765 A CN 101136765A CN A2006101128027 A CNA2006101128027 A CN A2006101128027A CN 200610112802 A CN200610112802 A CN 200610112802A CN 101136765 A CN101136765 A CN 101136765A
- Authority
- CN
- China
- Prior art keywords
- concordance list
- managed object
- information model
- information
- basic
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种快速访问信息模型的方法,其特点在于,电信网络管理系统将经常访问的信息模型作为热点信息模型,并将所述热点信息模型缓存到内存中,并通过索引表访问所述热点信息模型,从而不但提高了信息模型的访问速度并且避免了内存的大量占用。本发明通过在内存中缓存信息模型的热点来高效实时地访问相应信息模型,这样将节约内存,并提高大部分信息模型的访问速度。
Description
技术领域
本发明涉及电信网络管理领域中的信息模型的访问技术,特别是涉及一种快速访问信息模型的方法,
背景技术
一般在TMN(Telecommunications Management Network)电信网络管理领域Q3体系中,一般网管的架构都以管理者/代理者模式组成的。在管理者一段,一般都是功能模块,如配置模块,告警模块和性能模块等;而在代理者一端,主要是信息模型架构,即组织被管对象MO(managed object,MO),持久化MO集合,即持久化信息模型,并提供公共信息模型服务CMIS(通用管理信息服务)接口供管理者访问信息模型,即访问MO的信息。
首先看CMIS接口的原语描述,以获取指定MO信息为例:
Result m_get(MO,scope,filter,attr);
MO就是被选基对象,一般称作基MO;
scope是基本定位范围,如基MO下面的整个子树,或者基MO的下面第几层;
filter是过滤器,最后精确定位;
attr表示要获取这个MO的哪些属性:
返回结果保存到Result中。
注意真正被访问的MO不一定是传入的参数MO,它只是一个基对象,需要通过被选基MO关联scope和filter来一起获得真正要访问的MO集合,这个集合可能只有一个MO,也可能有多个MO,这个过程也比较复杂,本文档并不对此阐述,只是说明这个操作也是比较耗时的。
再看MO是如何保存的:
1.所有MO必须被持久化,要么到数据库中,要么到文件中,一般都是到数据库中;
2.由于数据库访问比较耗时,所以很多网管又把这些MO缓存到内存中,数据库中数据变化要反映到内存中,即数据库和内存始终保持同步,一些商用网管系统如“vertel”和HP(惠普公司)的“openview”,就是把数据放到内存中,这也是业界的一种通用方法;
3.如果MO数量巨大,那么缓存到内存中后,内存吃紧,反而将导致整个系统运行缓慢,违背了放到内存是为提供访问速度的初衷,一些商用网管如HP的“openview”就是通过配置文件来决定是否需要内存中缓存;
再看看MO是如何被访问的:
1.应用调用CMIS原因访问信息模型,输入基MO和scope/filter;
2.根据输入的基MO和scope到内存中或者数据库中粗选大致范围;
3.再在这个大致范围中,根据filter到内存中或者数据库中精确定位获取取最终要访问的MO集合;
4.把最终要访问的MO集合和其属性值放到result返回。
从上面来看,如果信息模型保存只保存到数据库,访问肯定比较慢,如果全部缓存到内存中,又非常容易导致内存吃紧,基于目前这些缺陷,我们提出热点缓存来解决速度和内存共存的问题。
发明内容
本发明所要解决的技术问题是提供一种快速访问信息模型的方法,解决现有技术无法兼顾信息模型的快速访问和防止内存吃紧的技术问题。
为达到上述目的,本发明提供了一种快速访问信息模型的方法,其特征在于,电信网络管理系统启动后实时统计信息模型的访问次数,将访问次数达到预定值的信息模型作为热点信息模型,并将所述热点信息模型缓存到内存中,并通过索引表访问所述热点信息模型。
上述方法,其特征在于,进一步包括以下步骤:
步骤一,将所述热点信息模型的信息以及关联的定位范围和过滤器都缓存到内存中,把基被管对象和关联的所述定位范围和所述过滤器放到内存的索引表中,返回结果放到所述索引表指向的相关内容中;
步骤二,在通用管理信息服务接口访问时,根据所述基被管对象、所述定位范围和所述过滤器到索引表中查找得到所述相关内容,如果所述相关内容中的信息是次数,则该次数累加,然后到数据库里面去查询获取最终返回结果;如果所述相关内容中的信息不是次数,则表示被访问的信息模型已经是热点信息模型了,则将所述相关内容中的信息当作返回结果直接返回。
上述方法,其特征在于,在所述步骤一中,所述索引表为两个,所述基被管对象保存在第一索引表中,所述定位范围和所述过滤器保存在第二索引表中,通过所述第一索引表来对应查找所述第二索引表,通过所述第二索引表来对应查找所述相关内容。
上述方法,其特征在于,在所述步骤二中,如果所述相关内容中的信息是次数,并且所述次数累加后达到所述预定值,则将所述最终返回结果取代所述次数存入所述相关内容中。
上述方法,其特征在于,进一步包括步骤三:如果被管对象的信息模型发生改变,判断所述被管对象是否在所述第一索引表中,是则说明所述被管对象为基被管对象,对应修改所述索引表;否则所述被管对象为准被管对象,查找所述准被管对象的所有相关被管对象,判断所述相关被管对象中是否有基被管对象,是则对应修改所述索引表,否则说明所述准被管对象与热点无关,直接返回。
上述方法,其特征在于,对应修改所述索引表包括:根据所述第一索引表中的基被管对象对应查找第二索引表中的基本定位范围,并根据所述基本定位范围查找到所述索引表对应的所述相关内容中的返回结果并相应修改所述返回结果。
本发明的技术效果在于:由于本发明方法缓存了热点信息,查询速度将大大提高;由于只缓存了热点信息,那么并不过分消耗内存,所以整个系统不会过多消耗资源;一般CMIS操作都是查询操作,所以热点信息同步情况较少,不会影响整个系统;应用调用接口不变:本发明方法实现起来容易,代价低廉。
附图说明
图1是本发明方法中的热点缓存流程图;
图2是本发明方法中的热点区同步流程图。
具体实施方式
下面结合附图进一步详细说明本发明的具体实施例。
本发明主要是在内存中缓存信息模型的热点来高效实时地相应信息模型访问,这样将节约内存,并提高大部分信息模型的访问速度。
本发明的基本设计思想就是一般信息模型的大部分访问都获取MO的信息,而且大部分都集中在部分MO,而且在CMIS访问中它们的scope和filter都相同,那么我们把整个操作称之为MO关联的热点访问。系统启动后实时统计信息模型的访问热点,并只将热点的信息以及关联scope和filter都缓存到内存中,把基MO和关联scope和filter放到内存的索引表中,返回信息result放到索引指向的内容中;在后续访问时,根据传入的基MO和关联的scope、filter,然后从索引表快速找到result并返回,这样不用再去执行scope粗选范围和用filter精确定位,也不用再到数据库中查询,执行速度将大大提高;由于内存中只有热点的信息,所以也非常节约内存。当然非热点的MO的信息仍然要到数据库中得到,但由于非热点,那么操作就相对少,所以并不影响整个系统的效率。
本发明方法实现的详细步骤如下:
第一步:统计热点。当一次CMIS访问时,系统通过基MO/scope/filter,到数据库里面查询得到相关信息,并在热点集合中记录基MO和scope/filter,先记录次数,并不记录结果,再一次访问时,次数累加到一定数字后,缓存热点。
第二步:缓存热点,把热点信息保存到热点区中,热点区就是以基MO和scope/filter为索引,相关结果保存到内存散列表中。具体过程参见图1热点缓存流程图。
第三步:响应CMIS访问,CMIS访问时,内核将根据基MO和scope/filter到索引表中查找得到相关内容,如果内容是次数,则累加次数,然后到数据库里面去查询获取最终结果返回;如果不是次数,表示已经是热点了,则将内容当作结果直接返回即可。具体过程参见图1热点缓存流程图。
第四步:热点区信息同步,当信息模型改变的时候,需要同步热点区,一个MO的信息被改变,将先反推其父MO以及父MO的MO,用这些MO到热点区去查询找到被改变的MO,然后改变相关信息。为什么要找其父MO系列,主要是热点区的索引MO都是基MO,很多查询都是用基MO和scope/filter来查询的,而返回结果可能就包含基MO的子MO或孙子MO等。具体过程参见图2热点区同步流程图。
下面再结合附图,详细描述部分关键技术细节:
1、热点缓存流程。
有两种方式可以缓存热点,一种一级缓存,一种是二级缓存。
一级缓存就是是把基MO和关联scope/filter一起当作索引,返回结果当作内容缓存,这种是一级缓存;还有一种方式是二级缓存,即以基MO作为第一索引,以scope/filter当作第二索引,第二索引表的内容才是返回结果或者热点累加次数。
二者原理差不多,都是有索引表,只是一级缓存的只有一个索引表,这个索引非常大,查找速度有一定影响,而二级缓存建立了两层索引表,相对来说速度快,下面以二级缓存作说明,相关流程图图1也是二级缓存方式。
图1是本发明方法中的热点缓存流程图,如图所示,具体包括如下步骤:
步骤101,应用调用CMIS接口的函数m_get(MO,scope,filter,attr)来获取指定MO的信息,并输入基MO,MOC,scope/filter,attr;
步骤102,基MO被访问,进入第一索引表;
步骤103,进入第二索引表,找scope/filter,查看内容;
步骤104,判断第二索引表内容是否为计数,是则执行步骤105,否则执行步骤108;
步骤105,是计数,表示操作还不是热点,根据输入到数据库中计算返回结果,并累加计数;
步骤106,判断计数是否达到临界值,是则执行步骤107,否则执行步骤109;
步骤107,将返回结果保存到第二索引表相应位置,转步骤109;
步骤108,直接将内容填充到返回结果中;
步骤109,返回结果。
由以上图1中的各步骤可知,当应用调用CMIS接口m_get(MO,scope,filter,attr)来获取指定MO的信息的时候,系统将到第一索引表查找有无相关基MO,如果有,再根据scope/filter到第二索引表找相关操作是否是热点。
如何判断是否是热点,即根据第二索引表里面scope/filter指针指向的内容是否是计数,是计数,表示操作还不是热点,那么就先用基MO/scope/filter把真正要查询的集合找到,再到数据库里面得到需要返回的MO的信息,作为返回结果。
返回之前,看第二索引表相关计数是否达到临界值,如果没有达到,则还不是热点,只增加计数即可,如果达到了,则用返回结果取代计数放到指针指向的内容中,再返回结果。
2、热点区同步流程
当一个MO的信息模型发生改变的时候,如被删除或者信息被修改,那么它关联的热点区也应该同步。图2是本发明方法中的热点区同步流程图,
具体包括如下步骤:
步骤201,某个MO信息模型发生改变,这个MO叫准MO;
步骤202,以准MO计算祖先MO以及相关scope:
步骤203,准MO和其祖先系列MO归类为一个系列;
步骤204,以此系列MO到第一索引表找是否有相关基MO,是则执行步骤205,否则执行步骤207;
步骤205,遍历第二索引表,看scope/filter是否有相关准MO,是则执行步骤206,否则执行步骤207;;
步骤206,用准MO内容同步具体热点相关信息,转到步骤208;
步骤207,表示准MO非热点相关;
步骤208,返回。
由以上图2中的各步骤可知,之所以说是关联的热点区,是因为这MO不一定在第一索引表中,我们先称之为准MO。一般查询都是以基MO加上scope/filter来查询,如果某个热点操作是基MO,scope为基MO的下面第一层,这个基MO的一个叶子节点正好是准MO,当filter满足时,准MO就会放置在第二索引表中scope/filter指向的相关内容中。当准MO发生改变时,我们应该修改这个scope/filter指向的相关内容。
那么当准MO发生变化时,首先获取准MO的父MO以及父MO的父MO,即祖先MO,并计算祖先MO和准MO的scope关系,然后把它们归并到一个集合中。
轮询这个集合,看第一索引表是否有相关MO。
如果没有,那准MO与热点区无关,可以直接返回。
如果有,则再用相关scope找第二索引表,注意,这个时候不用filter。如果有相关scope,再从内容里面找准MO,如果找到,则修改内容,没有找到,继续,直至集合循环完毕。
由上可知,本发明能带来以下有益效果:由于缓存了热点信息,查询速度将大大提高:由于只缓存了热点信息,那么并不过分消耗内存,所以整个系统不会过多消耗资源;一般CMIS操作都是查询操作,所以热点信息同步情况较少,不会影响整个系统;应用调用接口不变。这种方法实现起来容易,代价低廉。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被本发明的专利范围所涵盖。
Claims (6)
1.一种快速访问信息模型的方法,其特征在于,电信网络管理系统启动后实时统计信息模型的访问次数,将访问次数达到预定值的信息模型作为热点信息模型,并将所述热点信息模型缓存到内存中,并通过索引表访问所述热点信息模型。
2.根据权利要求1所述的方法,其特征在于,进一步包括以下步骤:
步骤一,将所述热点信息模型的信息以及关联的定位范围和过滤器都缓存到内存中,把基被管对象和关联的所述定位范围和所述过滤器放到内存的索引表中,返回结果放到所述索引表指向的相关内容中;
步骤二,在通用管理信息服务接口访问时,根据所述基被管对象、所述定位范围和所述过滤器到索引表中查找得到所述相关内容,如果所述相关内容中的信息是次数,则该次数累加,然后到数据库里面去查询获取最终返回结果;如果所述相关内容中的信息不是次数,则表示被访问的信息模型已经是热点信息模型了,则将所述相关内容中的信息当作返回结果直接返回。
3.根据权利要求2所述的方法,其特征在于,在所述步骤一中,所述索引表为两个,所述基被管对象保存在第一索引表中,所述定位范围和所述过滤器保存在第二索引表中,通过所述第一索引表来对应查找所述第二索引表,通过所述第二索引表来对应查找所述相关内容。
4.根据权利要求2所述的方法,其特征在于,在所述步骤二中,如果所述相关内容中的信息是次数,并且所述次数累加后达到所述预定值,则将所述最终返回结果取代所述次数存入所述相关内容中。
5.根据权利要求2所述的方法,其特征在于,进一步包括步骤三:如果被管对象的信息模型发生改变,判断所述被管对象是否在所述第一索引表中,是则说明所述被管对象为基被管对象,对应修改所述索引表;否则所述被管对象为准被管对象,查找所述准被管对象的所有相关被管对象,判断所述相关被管对象中是否有基被管对象,是则对应修改所述索引表,否则说明所述准被管对象与热点无关,直接返回。
6.根据权利要求5所述的方法,其特征在于,对应修改所述索引表包括:根据所述第一索引表中的基被管对象对应查找第二索引表中的基本定位范围,并根据所述基本定位范围查找到所述索引表对应的所述相关内容中的返回结果并相应修改所述返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101128027A CN101136765A (zh) | 2006-09-01 | 2006-09-01 | 一种快速访问信息模型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101128027A CN101136765A (zh) | 2006-09-01 | 2006-09-01 | 一种快速访问信息模型的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101136765A true CN101136765A (zh) | 2008-03-05 |
Family
ID=39160623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101128027A Pending CN101136765A (zh) | 2006-09-01 | 2006-09-01 | 一种快速访问信息模型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101136765A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439577A (zh) * | 2011-10-31 | 2012-05-02 | 华为技术有限公司 | 一种构建内存访问模型的方法及装置 |
CN102609425A (zh) * | 2010-10-20 | 2012-07-25 | 微软公司 | 用于显示数据的模板 |
CN102902741A (zh) * | 2012-09-13 | 2013-01-30 | 国网电力科学研究院 | 一种通信网络资源数据高速缓存与状态级联更新的方法 |
CN102945251A (zh) * | 2012-10-12 | 2013-02-27 | 浪潮电子信息产业股份有限公司 | 一种利用内存数据库技术优化磁盘数据库性能的方法 |
CN103338249A (zh) * | 2013-06-26 | 2013-10-02 | 优视科技有限公司 | 缓存方法及装置 |
CN111324809A (zh) * | 2020-02-04 | 2020-06-23 | 京东数字科技控股有限公司 | 一种热点信息监测方法、装置及系统 |
-
2006
- 2006-09-01 CN CNA2006101128027A patent/CN101136765A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135358B2 (en) | 2010-10-20 | 2015-09-15 | Microsoft Technology Licensing, Llc | Result types for conditional data display |
CN102609425A (zh) * | 2010-10-20 | 2012-07-25 | 微软公司 | 用于显示数据的模板 |
US10817516B2 (en) | 2010-10-20 | 2020-10-27 | Microsoft Technology Licensing, Llc | Result types for conditional data display |
US10210260B2 (en) | 2010-10-20 | 2019-02-19 | Microsoft Technology Licensing, Llc | Templates for displaying data |
US9652545B2 (en) | 2010-10-20 | 2017-05-16 | Microsoft Technology Licensing, Llc | Result types for conditional data display |
US9471495B2 (en) | 2011-10-31 | 2016-10-18 | Huawei Technologies Co., Ltd. | Method and apparatus for constructing memory access model |
CN102439577B (zh) * | 2011-10-31 | 2014-01-22 | 华为技术有限公司 | 一种构建内存访问模型的方法及装置 |
CN102439577A (zh) * | 2011-10-31 | 2012-05-02 | 华为技术有限公司 | 一种构建内存访问模型的方法及装置 |
WO2012167533A1 (zh) * | 2011-10-31 | 2012-12-13 | 华为技术有限公司 | 一种构建内存访问模型的方法及装置 |
CN102902741B (zh) * | 2012-09-13 | 2015-10-28 | 国网电力科学研究院 | 一种通信网络资源数据高速缓存与状态级联更新的方法 |
CN102902741A (zh) * | 2012-09-13 | 2013-01-30 | 国网电力科学研究院 | 一种通信网络资源数据高速缓存与状态级联更新的方法 |
CN102945251A (zh) * | 2012-10-12 | 2013-02-27 | 浪潮电子信息产业股份有限公司 | 一种利用内存数据库技术优化磁盘数据库性能的方法 |
CN103338249A (zh) * | 2013-06-26 | 2013-10-02 | 优视科技有限公司 | 缓存方法及装置 |
CN111324809A (zh) * | 2020-02-04 | 2020-06-23 | 京东数字科技控股有限公司 | 一种热点信息监测方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874971B (zh) | 一种应用于海量标签化实体数据存储的工具和方法 | |
CN1755677B (zh) | 使用索引关键词的范围搜索系统和方法 | |
CN109271355B (zh) | 一种清理日志文件缓存的方法及装置 | |
CN100543750C (zh) | 一种基于web应用的矩阵式数据缓存方法及装置 | |
US20200019552A1 (en) | Query optimization method and related apparatus | |
EP1890241A1 (en) | Business object search using multi-join indexes and extended join indexes | |
CN101901242A (zh) | 联合的配置数据管理 | |
CN106407303A (zh) | 数据存储、查询方法及装置 | |
CN101510209A (zh) | 实现实时检索的方法、系统和服务器 | |
CN101136765A (zh) | 一种快速访问信息模型的方法 | |
CN103782295A (zh) | 分布式数据管理系统中的查询说明计划 | |
CN106294772A (zh) | 分布式内存列式数据库的缓存管理方法 | |
WO2012044214A1 (en) | Method and arrangement for processing data | |
CN107220287A (zh) | 用于日志查询的索引管理方法、装置、存储介质及设备 | |
CN110647542B (zh) | 一种数据获取方法和装置 | |
CN111258978A (zh) | 一种数据存储的方法 | |
Naumann | From Databases to Information Systems-Information Quality Makes the Difference. | |
CN112749198A (zh) | 一种基于版本号的多级数据缓存方法及装置 | |
WO2021189195A1 (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN108241709A (zh) | 一种数据集成方法、装置和系统 | |
CN110134698A (zh) | 数据管理方法及相关产品 | |
CN113934713A (zh) | 一种订单数据索引方法、系统、计算机设备以及存储介质 | |
CN102724301A (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN111522918A (zh) | 数据汇聚方法、装置、电子设备及计算机可读存储介质 | |
KR20190129474A (ko) | 데이터 검색 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080305 |