首页> 中国专利> 查找IMSI数据的方法和装置

查找IMSI数据的方法和装置

摘要

本发明实施例公开了一种查找IMSI数据的方法,保存有TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息,该方法为:获取设定TMSI和设定时间;从所述对应关系中查找所述设定TMSI对应的、并且更新时间满足第一条件的IMSI,所述第一条件为:更新时间不晚于所述设定时间并距离所述设定时间最近;将查找到的IMSI确定为所述设定TMSI和所述设定时间对应的IMSI。本发明实施例还公开了一种查找IMSI数据的装置。采用本发明,能够获取到设定TMSI和设定时间对应的IMSI。

著录项

  • 公开/公告号CN101572884A

    专利类型发明专利

  • 公开/公告日2009-11-04

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200910203230.7

  • 发明设计人 唐春;朱晗;

    申请日2009-05-25

  • 分类号H04W8/26(20060101);H04W24/00(20090101);H04Q3/00(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人黄志华

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

  • 入库时间 2023-12-17 22:53:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-08

    未缴年费专利权终止 IPC(主分类):H04W8/26 授权公告日:20110302 终止日期:20170525 申请日:20090525

    专利权的终止

  • 2011-03-02

    授权

    授权

  • 2009-12-30

    实质审查的生效

    实质审查的生效

  • 2009-11-04

    公开

    公开

说明书

技术领域

本发明涉及信令监控领域,尤其涉及一种查找IMSI数据的方法和装置。

背景技术

在使用临时移动站标识码(TMSI)来标识用户的电信系统中,保存有TMSI与国际移动用户标识码(IMSI)的对应关系。信令监测系统要获得用户的IMSI标识,需要首先确定用户的TMSI,然后通过保存的对应关系来获取该TMSI对应的IMSI。

TMSI对应的IMSI会频繁发生变化,为了节省内存空间消耗,现有系统仅保存变化后最新的TMSI与IMSI的对应关系。

在实现本发明的方法中,本发明人发现现有技术中存在如下技术问题:

由于现有系统中仅保存距离当前时刻最近更新后的TMSI与IMSI的对应关系,因此无法获取到TMSI对应的IMSI历史数据。

发明内容

本发明实施例提供一种查找IMSI数据的方法和装置,用于解决现有技术中无法获取到给定TMSI对应的IMSI历史数据的问题。

本发明实施例提供一种查找IMSI数据的方法,保存有TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息,该方法包括:

获取设定TMSI和设定时间;

从所述对应关系中查找所述设定TMSI对应的、并且更新时间满足第一条件的IMSI,所述第一条件为:更新时间早于所述设定时间并距离所述设定时间最近,或者更新时间等于所述设定时间;

将查找到的IMSI确定为所述设定TMSI和所述设定时间对应的IMSI。

本发明实施例提供一种查找IMSI数据的装置,该装置包括:

关系存储单元,用于保存TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息;

第一获取单元,用于获取设定TMSI和设定时间;

第一查找单元,用于从所述对应关系中查找所述设定TMSI对应的、并且更新时间满足第一条件的IMSI,所述第一条件为:更新时间早于所述设定时间并距离所述设定时间最近,或者更新时间等于所述设定时间;

结果确定单元,用于将所述第一查找单元查找到的IMSI确定为所述设定TMSI和所述设定时间对应的IMSI。

本发明中,通过保存TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息,在获取设定TMSI和设定时间后,可以从保存的对应关系中查找设定TMSI对应的、并且更新时间早于设定时间并距离设定时间最近、或者更新时间等于设定时间的IMSI,从而查找到设定TMSI和设定时间对应的IMSI,满足了获取给定TMSI对应的IMSI历史数据的需求。

附图说明

图1为本发明实施例提供的方法流程示意图;

图2为本发明实施例提供的数据结构示意图;

图3A为本发明实施例中查找IMSI的流程示意图;

图3B为本发明实施例中更新数据结构的流程示意图;

图4为本发明实施例提供的装置结构示意图。

具体实施方式

为了能够获取到给定TMSI对应的IMSI历史数据,本发明实施例提供一种查找IMSI数据的方法,本方法中,保存有TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息,根据保存的信息获取给定TMSI和给定时间对对应的IMSI。

参见图1,本发明实施例提供的查找IMSI数据的方法,具体包括以下步骤:

步骤10:获取设定TMSI和设定时间;

步骤11:从保存的对应关系中查找设定TMSI对应的、并且更新时间满足第一条件的IMSI,该第一条件为:更新时间不晚于设定时间并距离设定时间最近;

步骤12:将查找到的IMSI确定为设定TMSI和设定时间对应的IMSI。

步骤10中,获取设定TMSI和设定时间的具体方式可以是,从接收到的输入信息中获取,或者,从存储设备中获取。

步骤11中,首先从保存的对应关系中查找到设定TMSI对应的、更新时间最晚的IMSI,判断该IMSI的更新时间是否早于或等于设定时间,若是,则将该IMSI确定为设定TMSI对应的、并且更新时间满足第一条件的IMSI;否则,从设定TMSI对应的、除更新时间最晚的IMSI中查找更新时间满足第一条件的IMSI。具体的,保存TMSI与IMSI的对应关系以及各IMSI的更新时间信息的数据结构如图2所示,该数据结构包括:

TMSI索引表,用于保存节点表的TMSI索引;

节点表,用于保存TMSI对应的一级节点;

一级节点,包含TMSI对应的至少一个IMSI中的最新IMSI以及该最新IMSI的更新时间、一个或多个二级节点;最新IMSI是指至少一个IMSI中更新时间最晚的IMSI;

二级节点,包含TMSI对应的至少一个IMSI中除最新IMSI之外的一个IMSI以及该IMSI的更新时间。

上述数据结构中的一级节点可以采用双向链表结构按照更新时间从早到晚的顺序进行连接,为此,各一级节点还包括前向指针和后向指针,前向指针用于指向本一级节点的上一个一级节点,后向指针用于指向本一级节点的下一个一级节点,上一个一级节点的更新时间早于本一级节点,下一个一级节点的更新时间晚于本一级节点。双向链表的第一个一级节点的前向指针和最后一个一级节点的后向指针为空。当然,双向链表中的一级节点也可以按照更新时间从晚到早的顺序进行连接。

属于同一个一级节点的二级节点也可以采用双向链表结构按照更新时间从晚到早的顺序进行连接,为此,各二级节点还包括前向指针和后向指针,前向指针用于指向本二级节点的上一个二级节点,后向指针用于指向本二级节点的下一个二级节点,上一个二级节点的更新时间晚于本一级节点,下一个二级节点的更新时间早于本二级节点。双向链表的第一个二级节点的前向指针和最后一个二级节点的后向指针为空。当然,双向链表中的二级节点也可以按照更新时间从早到晚的顺序进行连接。

需要说明的是,本发明中用于保存TMSI与IMSI对应关系的数据结构并不局限于上述数据结构,还可以采用其他任何能够保存两个数据对应关系的数据结构,仍能实现本发明发明目的。

参见图3A,基于上述数据结构,步骤11中,查找设定TMSI对应的、并且更新时间满足第一条件的IMSI的具体方式如下:

步骤S01:根据TMSI索引表中的TMSI索引在节点表中查找设定TMSI对应的一级节点;

步骤S02:,若是,则到步骤S03;否则,到步骤S09;

步骤S03:判断查找到一级节点中的更新时间是否早于或等于所述设定时间,若是,则到步骤S04;否则,到步骤S05;

步骤S04:将查找到一级节点中的IMSI确定为设定TMSI对应的、并且更新时间满足第一条件的IMSI,到步骤S08;

步骤S05:从查找到的一级节点包含的各二级节点中查找更新时间满足第一条件的二级节点;

这里,若一级节点中包含的各二级节点按照更新时间从晚到早的顺序连接构成二级节点链表,则具体查找方法为:从二级节点链表的第一个二级节点开始逐个遍历该二级节点链表中的二级节点,对于遍历到的二级节点,判断该二级节点中的更新时间是否早于或等于设定时间,若是,则将该二级节点确定为满足第一条件的二级节点,并结束查找;否则,遍历下一个二级节点。

若一级节点中包含的各二级节点按照更新时间从早到晚的顺序连接构成二级节点链表,则具体查找方法为:从二级节点链表的第一个二级节点开始逐个遍历该二级节点链表中的二级节点,对于遍历到的二级节点,判断该二级节点中的更新时间是否早于或等于设定时间,以及该二级节点的后向指针指向的二级节点的更新时间是否晚于设定时间,若是,则将该二级节点确定为满足第一条件的二级节点,并结束查找;否则,遍历下一个二级节点。

若一级节点中包含的各二级节点未采用二级节点链表结构,则需要遍历一级节点中包含的每个二级节点,从中找到更新时间早于设定时间并距离设定时间最近,或者更新时间等于设定时间的二级节点。

步骤S06:判断是否查找到二级节点,若是,则到步骤S07;否则,到步骤S09;

步骤S07:将查找到的二级节点中的IMSI确定为设定TMSI对应的、并且更新时间满足第一条件的IMSI;

步骤S08:将设定TMSI对应的、并且更新时间满足第一条件的IMSI返回,流程结束;

步骤S09:返回查找失败,流程结束。

在TMSI与IMSI的对应关系发生变化需要根据变化后的对应关系上述数据结构,或者需要将新的对应关系插入上述数据结构时,将变化后或需插入对应关系中的TMSI和IMSI分别称为待插入TMSI和待插入IMSI,如图3B所示,具体更新或插入流程如下:

步骤S11:获取待插入TMSI与待插入IMSI的对应关系;

步骤S12:根据TMSI索引表中的TMSI索引在节点表中查找待插入TMSI对应的一级节点;

步骤S13:判断是否查找到一级节点,若是,则到步骤S14;否则,到步骤S17;

步骤S14:判断查找到的一级节点中的IMSI与待插入IMSI是否相同,若是,则刀步骤S21;;否则,到步骤S15;

步骤S15:将包含查找到的一级节点中的IMSI和更新时间的二级节点保存在该一级节点中;

如图2所示的数据结构还可以包括空闲二级节点数组,该空闲二级节点数组的元素为未保存数据的二级节点即空闲二级节点,空闲二级节点数组的初始大小即初始包含空闲二级节点的可以根据系统的可用资源情况预先确定。当空闲二级节点数组中的一个空闲二级节点被用来保存二级节点数据时,空闲二级节点数组减少一个空闲二级节点,当已保存二级节点数据的一个二级节点被进行资源释放后,空闲二级节点数组增加一个空闲二级节点。基于此,本步骤的具体实现可以如下:

判断当前空闲二级节点数组中是否存在可用的空闲二级节点,若是,则将所述一级节点中的IMSI和更新时间保存在该空闲二级节点中,并将该空闲二级节点保存在该一级节点中,具体的,在一级节点包含的二级节点采用双向链表按照从晚到早的顺序连接时,将该空闲二级节点插入双向链表作为该双向链表的第一个节点;在一级节点包含的二级节点采用双向链表按照从早到晚的顺序连接时,将该空闲二级节点插入双向链表作为该双向链表的最后一个节点;否则,

选取所述一级节点保存的一个二级节点,将该二级节点中已保存数据删除,将所述一级节点中的IMSI和更新时间保存在该二级节点中,具体的,若一级节点包含的二级节点采用双向链表按照从晚到早的顺序连接,则选取双向链表的最后一个二级节点,将所述一级节点中的IMSI和更新时间保存在该二级节点中后,将该二级节点放在双向链表的第一个节点位置;若一级节点包含的二级节点采用双向链表按照从早到晚的顺序连接,则选取双向链表的第一个二级节点,将所述一级节点中的IMSI和更新时间保存在该二级节点中后,将该二级节点放在双向链表的最后一个节点位置。

步骤S16:将查找到的一级节点中的IMSI更新为待插入IMSI,将该一级节点中的更新时间更新为获取到待插入IMSI的时间,到步骤S18;

步骤S17:将包含待插入IMSI和获取到待插入IMSI的时间的一级节点保存在节点表中;

如图2所示的数据结构还可以包括空闲一级节点数组,该空闲一级节点数组的元素为未保存数据的一级节点即空闲一级节点,空闲一级节点数组的初始大小即初始包含空闲一级节点的可以根据系统的可用资源情况预先确定。当空闲一级节点数组中的一个空闲一级节点被用来保存一级节点数据时,空闲一级节点数组减少一个空闲一级节点,当已保存一级节点数据的一个一级节点被进行资源释放后,空闲一级节点数组增加一个空闲一级节点。基于此,本步骤的具体实现可以如下:

判断当前空闲一级节点数组中是否存在可用的空闲一级节点,若是,则将待插入IMSI和获取到该待插入IMSI的时间保存在该空闲一级节点中,并将该空闲一级节点保存在节点表中,具体的,在节点表中的一级节点采用双向链表按照从晚到早的顺序连接时,将该空闲一级节点插入双向链表作为该双向链表的第一个节点;在一级节点采用双向链表按照从早到晚的顺序连接时,将该空闲一级节点插入双向链表作为该双向链表的最后一个节点;否则,

选取节点表中的一个一级节点,将该一级节点中已保存数据删除,将待插入IMSI和获取到该待插入IMSI的时间保存在该一级节点中,具体的,若一级节点采用双向链表按照从晚到早的顺序连接,则选取双向链表的最后一个一级节点,将待插入IMSI和获取到该待插入IMSI的时间保存在该一级节点中后,将该一级节点放在双向链表的第一个节点位置;若一级节点采用双向链表按照从早到晚的顺序连接,则选取双向链表的第一个一级节点,将待插入IMSI和获取到该待插入IMSI的时间保存在该一级节点中后,将该一级节点放在双向链表的最后一个节点位置。

步骤S18:在节点表中查找包含待插入IMSI的一级节点;

步骤S19:判断是否查找到包含待插入IMSI的一级节点,若是,则到步骤S20;否则,到步骤S21;;

步骤S20:标记查找到的一级节点过期不可用;

本步骤中,如图2所示的数据结构还可以包括:IMSI索引表,用于保存节点表的IMSI索引;因此可以根据该IMSI索引在节点表中查找包含待插入IMSI的一级节点,并标记查找到的一级节点过期不可用。由于同一IMSI只能与一个TMSI对应,因此执行本步骤能够避免节点表中同一IMSI与多个TMSI相对应,从而保证IMSI数据查找的准确性和唯一性。

步骤S21:结束流程。

参见图4,本发明实施例还提供一种查找IMSI数据的装置,该装置包括:

关系存储单元40,用于保存TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息;

第一获取单元41,用于获取设定TMSI和设定时间;

第一查找单元42,用于从所述对应关系中查找所述设定TMSI对应的、并且更新时间满足第一条件的IMSI,所述第一条件为:更新时间早于所述设定时间并距离所述设定时间最近,或者更新时间等于所述设定时间;

结果确定单元43,用于将所述第一查找单元查找到的IMSI确定为所述设定TMSI和所述设定时间对应的IMSI。

所述第一查找单元42包括:

一级查找单元,用于从所述对应关系中查找所述设定TMSI对应的、更新时间最晚的IMSI;

第一判断单元,用于判断所述查找到的IMSI的更新时间是否早于或等于所述设定时间,若是,则将该IMSI确定为所述设定TMSI对应的、并且更新时间满足第一条件的IMSI;

二级查找单元,用于在所述第一判断单元判断为否时,从所述设定TMSI对应的、除所述更新时间最晚的IMSI中查找更新时间满足所述第一条件的IMSI。

所述关系存储单元40用于保存如下数据结构:

TMSI索引表,包含节点表的TMSI索引;

节点表,保存TMSI对应的一级节点;所述一级节点,包含所述TMSI对应的至少一个IMSI中的最新IMSI以及该最新IMSI的更新时间、一个或多个二级节点;所述二级节点,包含所述TMSI对应的至少一个IMSI中除最新IMSI之外的一个IMSI以及该IMSI的更新时间;

所述一级查找单元用于,根据所述TMSI索引在所述节点表中查找所述设定TMSI对应的一级节点;

所述第一判断单元用于,判断查找到的一级节点中的更新时间是否早于或等于所述设定时间,若是,则将该一级节点中的IMSI确定为所述设定TMSI对应的、并且更新时间满足第一条件的IMSI;

所述二级查找单元用于,在所述第一判断单元判断为否时,从所述一级节点中查找更新时间满足所述第一条件的二级节点,将该二级节点中的IMSI确定为所述设定TMSI对应的、并且更新时间满足第一条件的IMSI。

所述二级查找单元用于:

在所述一级节点中包含的各二级节点按照更新时间从晚到早的顺序连接构成二级节点链表时,从所述二级节点链表的第一个二级节点开始遍历该二级节点链表中的二级节点,对于遍历到的二级节点,判断该二级节点中的更新时间是否早于或等于所述设定时间,若是,则将该二级节点中的IMSI确定为所述设定TMSI对应的、并且更新时间满足第一条件的IMSI;否则,遍历下一个二级节点。

该装置进一步包括:

第二获取单元44,用于获取待插入TMSI与待插入IMSI的对应关系;

第二查找单元45,用于根据所述TMSI索引在所述节点表中查找所述待插入TMSI对应的一级节点;

第一更新单元46,用于在所述第二查找单元未查找到一级节点时,将包含所述待插入IMSI和获取到所述待插入IMSI的时间的一级节点保存在所述节点表中;

第二更新单元47,用于在所述第二查找单元查找到一级节点并且该一级节点中的IMSI与所述待插入IMSI不相同时,将包含该一级节点中的IMSI和更新时间的二级节点保存在该一级节点中,并将该一级节点中的IMSI更新为所述待插入IMSI,将该一级节点中的更新时间更新为获取到所述待插入IMSI的时间。

所述第一更新单元46包括:

第二判断单元,用于判断当前是否存在可用的空闲一级节点;

第一执行单元,用于在所述第二判断单元判断为是时,将所述待插入IMSI和获取到该待插入IMSI的时间保存在所述空闲一级节点中,并将该空闲一级节点保存在所述节点表中;

第二执行单元,用于在所述第二判断单元判断为否时,选取所述节点表中的一个一级节点,将该一级节点中已保存数据删除,将所述待插入IMSI和获取到该待插入IMSI的时间保存在该一级节点中。

所述第二更新单元47包括:

第三判断单元,用于判断当前是否存在可用的空闲二级节点;

第三执行单元,用于在所述第三判断单元判断为是时,将所述一级节点中的IMSI和更新时间保存在所述空闲二级节点中,并将该空闲二级节点保存在所述一级节点中;

第四执行单元,用于在所述第三判断单元判断为否时,选取所述一级节点保存的一个二级节点,将该二级节点中已保存数据删除,将所述一级节点中的IMSI和更新时间保存在该二级节点中。

所述关系存储单元40还保存:

IMSI索引表,用于保存IMSI索引;

该装置进一步包括:

过期标记单元48,用于根据所述IMSI索引在所述节点表中查找包含所述待插入IMSI的一级节点,并标记查找到的一级节点过期不可用。

综上,本发明的有益效果包括:

本发明实施例提供的方案中,通过保存TMSI与至少一个IMSI的对应关系、以及各IMSI的更新时间信息,在获取设定TMSI和设定时间后,可以从保存的对应关系中查找设定TMSI对应的、并且更新时间早于设定时间并距离设定时间最近、或者更新时间等于设定时间的IMSI,从而查找到设定TMSI和设定时间对应的IMSI,满足了获取给定TMSI对应的IMSI历史数据的需求。

同时,本发明实施例提供的如图2所示的数据结构中,由于使用TMSI索引表和IMSI索引表,能够在节点表中快速查找到需要的一级节点,由于二级节点采用链表的方式按照时间顺序连接,可以快速查找到满足条件的二级节点,因此,基于上述数据结构的查找方案能够保证时间上的高效率性。

并且,一级节点和二级节点均采用链表结构,通过设定空闲节点数组的方式使得系统可用节点资源固定,保证了本方案资源空间的可控性。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号