查询方法及装置的制作方法

上传人:ting****789 文档编号:310007150 上传时间:2022-06-14 格式:DOCX 页数:4 大小:19.07KB
返回 下载 相关 举报
查询方法及装置的制作方法_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《查询方法及装置的制作方法》由会员分享,可在线阅读,更多相关《查询方法及装置的制作方法(4页珍藏版)》请在金锄头文库上搜索。

1、查询方法及装置的制作方法专利名称:查询方法及装置的制作方法技术领域:本发明涉及通信领域,具体而言,涉及一种查询方法及装置。背景技术:目前,网络规模越来越大,网管中管理的网元数目越来越多,数据量也越来越大。 用户在操作时,通常都习惯选择一批网元,去查询分析业务数据。但是,由于选择的网元较多,会产生数据库查询语句超长错误。例如SQL语句为Select from A Table where neoid in (1,2,3,4.),当有 Ik个网元时,语句一定超过业,这将超过某些Oracle SQL语句长度的限制,从而出现语句超长错误,进而导致查询失败。发明内容针对相关技术中的大批量网元查询会导致查询

2、失败的问题而提出本发明,为此, 本发明的主要目的在于提供一种查询方法及装置,以解决上述问题。为了实现上述目的,根据本发明的一个方面,提供了一种查询方法。根据本发明的查询方法包括获取待查询网元的网元标识,其中待查询网元与网元标识一一对应;划分网元标识;使用划分后的网元标识进行查询。进一步地,划分网元标识包括确定网元标识的分段的起点,其中网元标识的分段是划分网元标识得到的;确定网元标识的分段的终点。进一步地,确定网元标识的分段的起点包括按照网元标识从小到大的顺序,排列网元标识;确定第一网元标识是排列后的网元标识中的最小的网元标识;按照所有网元标识从小到大的顺序,排列所有网元标识,其中所有网元标识与

3、所有网元一一对应,待查询网元是所有网元的子集;确定第二网元标识是排列后的所有网元标识中的最小的网元标识; 判断第一网元标识是否等于第二网元标识;如果第一网元标识等于第二网元标识,则确定第一网元标识是网元标识的分段的起点。进一步地,确定网元标识的分段的起点还包括如果第一网元标识不等于第二网元标识,则在排列后的所有网元标识中,确定第三网元标识是排列在第二网元标识之后的网元标识;判断第一网元标识是否等于第三网元标识;如果第一网元标识等于第三网元标识,则确定第一网元标识是网元标识的分段的起点。进一步地,确定网元标识的分段的终点包括在排列后的网元标识中,确定第四网元标识是排列在第一网元标识之后的网元标识

4、;在排列后的所有网元标识中,确定第五网元标识是排列在网元标识的分段的起点所对应的网元标识之后的网元标识;判断第四网元标识是否等于第五网元标识;如果第四网元标识不等于第五网元标识,则确定第一网元标识是网元标识的分段的终点。进一步地,确定网元标识的分段的终点还包括如果第四网元标识等于第五网元标识,则在排列后的网元标识中,确定第六网元标识是排列在第四网元标识之后的网元标识;在排列后的所有网元标识中,确定第七网元标识是排列在第六网元标识之后的网元标识;判断第六网元标识是否等于第七网元标识;如果第六网元标识不等于第七网元标识, 则确定第四网元标识是网元标识的分段的终点。进一步地,在确定第四网元标识是网元

5、标识的分段的终点之后,上述方法还包括 确定第六网元标识是网元标识的分段的下一个分段的起点。进一步地,如果在排列后的网元标识中不存在排列在第四网元标识之后的网元标识,或者在排列后的所有网元标识中不存在排列在第六网元标识之后的网元标识,则确定第四网元标识是网元标识的分段的终点。为了实现上述目的,根据本发明的另一个方面,提供了一种查询装置。根据本发明的查询装置包括获取模块,用于获取待查询网元的网元标识,其中待查询网元与网元标识一一对应;划分模块,用于划分网元标识;查询模块,用于使用划分后的网元标识进行查询。进一步地,划分模块包括第一确定子模块,用于确定网元标识的分段的起点,其中网元标识的分段是划分网

6、元标识得到的;第二确定子模块,用于确定网元标识的分段的终点。本发明通过对待查询网元的网元标识进行划分,可以对相关的网元标识进行归类,从而提高查询效率,保证查询成功。此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的查询方法的流程图;图2是根据本发明优选实施例的查询方法的流程图;图3是根据本发明实施例的查询装置的结构框图。具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。本发明提供了一种查询方

7、法。图1是根据本发明实施例的查询方法的流程图,如图1所示,包括如下的步骤S102至步骤S106。步骤S102,获取待查询网元的网元标识,其中待查询网元与网元标识一一对应。步骤S104,划分网元标识。步骤S106,使用划分后的网元标识进行查询。相关技术中,大批量网元查询会导致查询失败。本发明实施例中,通过对待查询网元的网元标识进行划分,可以对相关的网元标识进行归类,从而提高查询效率,保证查询成功。优选地,划分网元标识包括确定网元标识的分段的起点,其中网元标识的分段是划分网元标识得到的;确定网元标识的分段的终点。优选地,确定网元标识的分段的起点包括按照网元标识从小到大的顺序,排列网元标识;确定第一

8、网元标识是排列后的网元标识中的最小的网元标识;按照所有网元标识从小到大的顺序,排列所有网元标识,其中所有网元标识与所有网元一一对应,待查询网元是所有网元的子集;确定第二网元标识是排列后的所有网元标识中的最小的网元标识;判断第一网元标识是否等于第二网元标识;如果第一网元标识等于第二网元标识,则确定第一网元标识是网元标识的分段的起点。优选地,确定网元标识的分段的起点还包括如果第一网元标识不等于第二网元标识,则在排列后的所有网元标识中,确定第三网元标识是排列在第二网元标识之后的网元标识;判断第一网元标识是否等于第三网元标识;如果第一网元标识等于第三网元标识,则确定第一网元标识是网元标识的分段的起点。

9、优选地,确定网元标识的分段的终点包括在排列后的网元标识中,确定第四网元标识是排列在第一网元标识之后的网元标识;在排列后的所有网元标识中,确定第五网元标识是排列在网元标识的分段的起点所对应的网元标识之后的网元标识;判断第四网元标识是否等于第五网元标识;如果第四网元标识不等于第五网元标识,则确定第一网元标识是网元标识的分段的终点。优选地,确定网元标识的分段的终点还包括如果第四网元标识等于第五网元标识,则在排列后的网元标识中,确定第六网元标识是排列在第四网元标识之后的网元标识; 在排列后的所有网元标识中,确定第七网元标识是排列在第六网元标识之后的网元标识; 判断第六网元标识是否等于第七网元标识;如果

10、第六网元标识不等于第七网元标识,则确定第四网元标识是网元标识的分段的终点。优选地,在确定第四网元标识是网元标识的分段的终点之后,上述方法还包括确定第六网元标识是网元标识的分段的下一个分段的起点。优选地,如果在排列后的网元标识中不存在排列在第四网元标识之后的网元标识,或者在排列后的所有网元标识中不存在排列在第六网元标识之后的网元标识,则确定第四网元标识是网元标识的分段的终点。优选地,使用划分后的网元标识进行查询包括在网元标识的分段的起点和网元标识的分段的终点之间采用betWeerrand语句;在各个网元标识的分段之间采用or语句。下面将结合实例对本发明实施例的实现过程进行详细描述。首先描述本发明

11、实施例的应用环境进行分析。考虑到网管的使用环境及用户的操作习惯,网管中网元的ID是根据网元的创建时间来生成的。一般来说,同一分组下的网元,都是在相邻时间内创建的,或在相近时间被自动发现出来的,即同一分组下网元在网元标识的层面是连续的。同时,若选择的网元数大于50,用户很少一个个选择,基本是选择分组下所有网元或一批网元。所以可以认为,绝大部分的用户操作,用户选择的网元都是基本连续的。其次描述在本发明实施例的查询前可以进行的准备工作。1、建立一个网元数据的全集维护模块,存储网管中的所有网元标识。本模块可以是缓存或数据库中的一张表,当有网元增加或删除时,本模块能及时更新自身信息,以保持本模块的数据随

12、时和网管中的一致。2、业务表在存储和网元有关联的数据时,采用一列存放网元的ID。下面描述本发明实施例的查询流程。图2是根据本发明优选实施例的查询方法的流程图,其描述了将查询条件中的多个网元标识在全部的网元标识中分段,即网元标识连续的分段就只记录头尾节点。步骤SlOO和步骤Sl 10,按照递增顺序排序用户选择ID的列表和所有ID的列表。步骤S200和步骤S210,分别取选择ID的列表和所有的ID列表的下一个值(分别取名为S、A)(开始时是选第一个)。若两个列表其中有一个已取到最后一个值,则进行 S900。步骤S300,查看是否已经找到一次的起点。若为否,则进行S400 ;若为是,则进行 S600

13、。步骤S400,S A ?若为是,则表明还没有匹配到起始节点,A取下一个值(更大的值),进行步骤S210。若为否,表示S A,S不变,A递增,所以这里S 定等于A,进行步骤S500。需要说明的是,作为本发明的另一种实施方式,当步骤SlOO和步骤SllO为按照递减顺序排序用户选择ID的列表和所有ID的列表时,步骤S400中可以判断S A(I)的含义是将所有列表中的值为0的网元标识变更为值为1的网元标识。步骤1,判断 S(I) A(O)步骤 S200、步骤 S210、步骤 S300、步骤 S400。步骤2,六(0)六(1):步骤5210。步骤3,判断S(I) =A(I)步骤S300、步骤S400、

14、步骤S500(即确定1是第一分段的起点)。步骤4,S(l)SQ),A(l)AQ)步骤 S610、步骤 S200、步骤 S210。步骤5,判断 S(2) = A(2)步骤 S300、步骤 S600。步骤6,S (2)S (3),A (2)A (3)步骤 S610、步骤 S200、步骤 S210。步骤7,判断 S(3) = A(3)步骤 S300、步骤 S600。步骤8,S (3)S (7),A (3)A (5)步骤 S610、步骤 S200、步骤 S210。步骤9,判断S (7) A(5)步骤S300、步骤S600、步骤S620 (即确定3是第一分段的终点,7是新的第二分段的起点)。步骤10,A

15、 (5)A (7)步骤 S210。步骤11,判断 A(7) = A(7)步骤 S300、步骤 S600、步骤 S610。步骤12,选择列表为空,结束步骤S200、步骤S900。通过上述的步骤1至步骤12可以确定选择列表的两个分段1 3,7 7。在上述分段之后,可以在网元标识的分段的起点和网元标识的分段的终点之间采用betweenand语句,并且在各个网元标识的分段之间采用or语句,则上述两个分段就变成了 between land 3or between 7and 7。然后,使用该语句 between land 3or between 7and 7进行查询即可。需要说明的是,在上述分段之后,可以

16、不限于采用betweenand语句和or语句, 任何能够实现相同功能的语句都可以纳入本发明的保护范围。下述对本发明的有益效果进行描述。本发明的方法适合较为连续的数据查询,即在使用本专利的应用场景里,网元标识分段越少,本方法所能提高的效率就越大。在实际测试中,在数据很多时(百万数据,1千个网元),本方法带来的效率提高能达到300倍。即使在最坏情况下,即用户选择的所有网元都是独立的时候(基本不会出现),查询效率也等同于in语句。对于语句超长问题,本发明的方法已自动解决。其原因是,数据少时(假设以100 为分界),分段可能较独立,但语句不会超长,数据多时,都是批量选择,分段自然就变少了, 语句也不会超长。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明实施例提供了一种查询装置,该查询装置可以用于实现上述查询方法。图 3是根据本发明实施例的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号