CN111143351A - Imsi数据管理方法及设备 - Google Patents
Imsi数据管理方法及设备 Download PDFInfo
- Publication number
- CN111143351A CN111143351A CN201911184098.XA CN201911184098A CN111143351A CN 111143351 A CN111143351 A CN 111143351A CN 201911184098 A CN201911184098 A CN 201911184098A CN 111143351 A CN111143351 A CN 111143351A
- Authority
- CN
- China
- Prior art keywords
- imsi
- data
- cache
- list
- instantiation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013523 data management Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 10
- 230000004044 response Effects 0.000 abstract description 7
- 230000008447 perception Effects 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种IMSI数据管理方法及设备,该方法通过确定目标业务号码对应的HSS关系表,遍历该HSS关系表中的起始终止IMSI列表,在起始终止IMSI列表查找相应的IMSI实例,并判断该IMSI实例是否在缓存中,如果不在,则进行IMSI实例化,其中,IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,IMSI活跃数据表中数据的状态为空闲状态;然后从缓存中获取相应的IMSI段列表数据,根据该IMSI段列表数据返回上述目标业务号码对应的IMSI。即在获取IMSI的过程中,把数据加入缓存中减少数据库的读取操作,通过空间(内存)换时间的方式来提高效率,从而降低响应时间,提升用户感知。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种国际移动用户识别码(International Mobile Subscriber Identity,简称IMSI)数据管理方法及设备。
背景技术
随着经济的不断发展,通信技术得到了快速发展,越来越多的人开始使用通讯运营商的通信系统进行通信。
目前通讯运营商通信系统中IMSI管理部分主要依靠Oracle数据库,其中,Oracle数据库由于系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
然而,Oracle数据库在亿级数据量下的增删改查效率极低,响应时间长,难以满足用户日益增长的需求。
发明内容
本申请实施例提供一种IMSI数据管理方法及设备,以克服上述至少一个问题。
第一方面,本申请实施例提供一种IMSI数据管理方法,包括:
确定目标业务号码对应的归属签约用户服务器(Home Subscriber Server,简称HSS)关系表;
遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中;
若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态;
从所述缓存中获取相应的IMSI段列表数据;
根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
在一种可能的设计中,在所述从所述缓存中获取相应的IMSI段列表数据之后,还包括:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
在一种可能的设计中,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
在一种可能的设计中,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
在一种可能的设计中,在所述确定目标业务号码对应的HSS关系表之后,还包括:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
在一种可能的设计中,所述进行IMSI实例化,包括:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
第二方面,本申请实施例提供一种IMSI数据管理设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
确定目标业务号码对应的HSS关系表;
遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中;
若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态;
从所述缓存中获取相应的IMSI段列表数据;
根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
在一种可能的设计中,在所述从所述缓存中获取相应的IMSI段列表数据之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
在一种可能的设计中,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
在一种可能的设计中,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
在一种可能的设计中,在所述确定目标业务号码对应的HSS关系表之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
在一种可能的设计中,所述进行IMSI实例化,包括:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的IMSI数据管理方法。
本申请实施例提供的IMSI数据管理方法及设备,该方法通过确定目标业务号码对应的HSS关系表,遍历该HSS关系表中的起始终止IMSI列表,在起始终止IMSI列表查找相应的IMSI实例,并判断该IMSI实例是否在缓存中,如果不在,则进行IMSI实例化,其中,IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,IMSI活跃数据表中数据的状态为空闲状态;然后从缓存中获取相应的IMSI段列表数据,根据该IMSI段列表数据返回上述目标业务号码对应的IMSI。即在获取IMSI的过程中,把数据加入缓存中减少数据库的读取操作,通过空间(内存)换时间的方式来提高效率,从而降低响应时间,提升用户感知。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种IMSI数据管理系统架构示意图;
图2为本申请实施例提供的一种IMSI数据管理方法的流程示意图;
图3为本申请实施例提供的另一种IMSI数据管理方法的流程示意图;
图4为本申请实施例提供的一种IMSI数据管理装置的结构示意图;
图5为本申请实施例提供的IMSI数据管理设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前通讯运营商通信系统中IMSI管理部分主要依靠Oracle数据库,其中,Oracle数据库由于系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。然而,Oracle数据库在亿级数据量下的增删改查效率极低,响应时间长,难以满足用户日益增长的需求
因此,考虑到上述问题,本申请提供一种IMSI数据管理方法,在用户获取IMSI的过程中,把数据加入缓存中减少数据库的读取操作,通过空间(内存)换时间的方式来提高效率,从而降低响应时间,提升用户感知。
本申请提供的一种IMSI数据管理方法,可以适用于图1所示的IMSI数据管理系统架构示意图,如图1所示,该系统包括终端10,终端10可以包括接收装置101、处理器102和显示装置103中至少一种。
在具体实现过程中,接收装置101可以是输入/输出接口,也可以是通信接口,可以用于输入目标业务号码、输出IMSI等信息。
处理器102可以确定目标业务号码对应的HSS关系表,可以遍历该HSS关系表中的起始终止IMSI列表,在该起始终止IMSI列表查找相应的IMSI实例,并判断该IMSI实例是否在缓存中,如果不在缓存中,则进行IMSI实例化,其中,IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,该IMSI活跃数据表中数据的状态为空闲状态;然后可以从缓存中获取相应的IMSI段列表数据,根据该IMSI段列表数据返回所述目标业务号码对应的IMSI。
显示装置103可以用于对上述目标业务号码、IMSI段列表数据等进行显示。
显示装置还可以是触摸显示屏,用于在显示的上述信息的同时接收用户指令,以实现与用户的交互。
应理解,上述处理器可以通过处理器读取存储器中的指令并执行指令的方式实现,也可以通过芯片电路实现。
上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种IMSI数据管理方法的流程示意图,本申请实施例的执行主体可以为图1所示实施例中的处理器。如图2所示,该方法可以包括:
S201:确定目标业务号码对应的HSS关系表。
这里,目标业务号码可以为任意一个或多个业务号码,具体的,目标业务号码可以通过获取用户开户时所选择的手机号码确定。
可选地,处理器预先存储业务号码与HSS关系表的对应关系,其中,HSS关系表中包括起始终止IMSI列表。这里,HSS可称为归属签约用户服务器,支持更多接口,可以处理更多的用户信息。
S202:遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中。
可选地,在所述确定目标业务号码对应的HSS关系表之后,还包括:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
若所述起始终止IMSI列表为空,则可以生成相应提示,以便后续根据该提示进行相应处理。
具体的,遍历上述HSS关系表中的起始终止IMSI列表,然后据此起始终止IMSI列表查询IMSI段表中空闲的IMSI段列表,查找相应的IMSI实例,并判断该IMSI实例是否在缓存中。
S203:若所述IMSI实例不在缓存中,则进行IMSI实例化,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态。
如果上述IMSI实例不在缓存中,则进行IMSI实例化。具体的,获得相应的IMSI段列表对应的队列长度;若所述队列长度为0,则实时加载IMSI实例化;若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
示例性的,缓存用的Redis相关的队列操作,通过Redis中llen命令获取队列长度,如果上述队列长度为0,则实时加载IMSI实例化,如果上述长度不为0,且小于阈值,则异步加载IMSI实例化。其中,因为不同段IMSI使用量不尽相同,队列中存在用尽或者即将用尽的情况,如果用尽,则立即从段表中计算实例化至活跃表并加载至缓存(实时加载IMSI实例化),如果即将用尽,异步操作补充数据(异步加载IMSI实例化)。
在本申请实施例中,IMSI实例化指的是IMSI从段表至IMSI活跃数据表以及缓存的过程,段表记录起始、终止IMSI,以及当前指针,通过更新指针位置同时插入指针之前的IMSI进行实例化。比如当前指针是2,则表示IMSI值0、1、2都已经实例化,实例化数据的同时把这一组数据加载到Redis队列中(空间换时间,不需每次请求都直接查询数据库,目前系统设置的缓存队列长度为500,可以理解成每500次请求仅直接查询一次数据库)。
可选地,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
具体的,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
这里,获得锁的背景是同一号段可能被不同的多个用户选中不同的号码,比如同时有两个用户分别选择18604510001、18604510002号码,这时需要控制IMSI段对应Redis队列中不加载重复,如果没有锁机制控制,就会出现同一个IMSI加载入队两次的情况。
示例性的,锁超时时间timeout,初始值可以为1000毫秒,防止线程在入锁以后,无限的执行等待,此时间变量随着抢占锁的过程中(多次抢占锁)逐渐减少,减少时伴随着线程睡眠操作Thread.sleep,当时间小于0的时候,抢占锁失败,返回;当时间大于或等于0的时候,进行抢占锁操作:如果当时没有任何人抢占锁,通过redis中setnx(lockKey,expiresStr锁到期时间=当前时间+10000毫秒+1)成功操作表示锁已经获取到,返回。如果setnx不成功,表示lockKey存在对应的值,此锁可能已经过期或者被其他人抢占,取出lockKey对应的当前值currentValueStr,判断当前值currentValueStr不为空并且当前值小于锁到期时间(系统当前时间+10000毫秒),进行Redis中getSet(lockKey,expiresStr)操作,根据getSet的返回值getSetString判断其不为空且其值和currentValueStr相等,表明锁已经抢到,返回。
另外,如果上述IMSI实例在缓存中,则直接获取上述IMSI实例,例如POP上述IMSI段列表数据,根据该IMSI段列表数据返回上述目标业务号码对应的IMSI。
S204:从所述缓存中获取相应的IMSI段列表数据。
可选地,在所述从所述缓存中获取相应的IMSI段列表数据之后,还包括:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,所述IMSI使用表中数据的状态为预占、占用或冷冻。
具体的,在将上述数据加载到Redis队列中后,当从队列中取出使用数据后,变更此IMSI状态由空闲变成预占。
这里,IMSI不同状态分别存储在不同表中(主要目的是提高写卡效率,活跃数据表数据量少,操作频繁,从而提升效率。
示例性的,在本申请实施例中,对大量数据时进行拆分,按照IMSI状态分成:IMSI活跃数据表(空闲状态);IMSI使用表(预占、占用、冷冻);IMSI可利用数据表(回收空闲、解锁空闲、锁定)等,活跃经常变更的数据与沉淀数据分别存储来提高数据库的读写效率。
S205:根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
在本申请实施例中,可以根据相应的业务号码,从HSS处获取起始终止IMSI段数组,遍历数组查询出满足条件的IMSI段,IMSI段经过指针计算实例化进入IMSI活跃数据表并入队(如果该队列中有数据,则不进行加载,直接取出队列头元素),取出队列头元素,把此单个IMSI状态由空闲变成预占(IMSI由活跃数据表搬迁至IMSI使用表),返回此IMSI供写卡使用。
从上述描述可知,本申请实施例通过确定目标业务号码对应的HSS关系表,遍历该HSS关系表中的起始终止IMSI列表,在起始终止IMSI列表查找相应的IMSI实例,并判断该IMSI实例是否在缓存中,如果不在,则进行IMSI实例化,其中,IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,IMSI活跃数据表中数据的状态为空闲状态;然后从缓存中获取相应的IMSI段列表数据,根据该IMSI段列表数据返回上述目标业务号码对应的IMSI。
由于对大量数据时进行拆分,按照IMSI状态分成:IMSI活跃数据表(空闲状态);IMSI使用表(预占、占用、冷冻);IMSI可利用数据表(回收空闲、解锁空闲、锁定)等,活跃经常变更的数据与沉淀数据分别存储来提高数据库的读写效率。且在获取IMSI的过程中,通过缓存等技术,加锁、队列等原子操作把数据加入缓存中减少数据库的读取操作,通过空间(内存)换时间的方式来提高效率。从而降低响应时间,提升用户感知。
图3为本申请实施例提供的另一种IMSI数据管理方法的流程示意图,本申请实施例的执行主体可以为图1所示实施例中的处理器。如图3所示,该方法包括:
S301:确定目标业务号码对应的HSS关系表。
S302:判断上述HSS关系表中的起始终止IMSI列表是否为空。
S303:若上述起始终止IMSI列表不为空,则遍历该起始终止IMSI列表,在该起始终止IMSI列表查找相应的IMSI实例,并判断该IMSI实例是否在缓存中。
S304:若上述IMSI实例不在缓存中,则进行IMSI实例化,其中,IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,该IMSI活跃数据表中数据的状态为空闲状态。
S305:从上述缓存中获取相应的IMSI段列表数据。
S306:变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,该IMSI使用表中数据的状态为预占、占用或冷冻。
S307:根据上述IMSI段列表数据返回上述目标业务号码对应的IMSI。
这里,上述步骤之间的顺序可以根据实际情况调整,例如上述步骤S306和S307可以对调,满足多种应用需要。
本申请实施例提供的IMSI数据管理方法,对大量数据时进行拆分,按照IMSI状态分成:IMSI活跃数据表(空闲状态);IMSI使用表(预占、占用、冷冻)等,活跃经常变更的数据与沉淀数据分别存储来提高数据库的读写效率。且在获取IMSI的过程中,把数据加入缓存中减少数据库的读取操作,通过空间(内存)换时间的方式来提高效率。从而降低响应时间,提升用户感知。
对应于上文实施例的IMSI数据管理方法,图4为本申请实施例提供的一种IMSI数据管理装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图4为本申请实施例提供的一种IMSI数据管理装置的结构示意图。如图4所示,该IMSI数据管理装置40包括:确定模块401、判断模块402、实例化模块403、获取模块404以及返回模块405。
其中,确定模块401,用于确定目标业务号码对应的HSS关系表。
判断模块402,用于遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中。
实例化模块403,用于若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态。
获取模块404,用于从所述缓存中获取相应的IMSI段列表数据。
返回模块405,用于根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
在一种可能的设计中,还包括变更模块406。
其中,变更模块406,用于在所述获取模块404从所述缓存中获取相应的IMSI段列表数据之后,变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
在一种可能的设计中,所述实例化模块403,具体用于:
基于锁机制进行IMSI实例化。
在一种可能的设计中,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
在一种可能的设计中,所述判断模块402,还用于在所述确定模块401确定目标业务号码对应的HSS关系表之后,判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
在一种可能的设计中,所述实例化模块403,具体用于:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
图5为本发明实施例提供的IMSI数据管理设备的硬件结构示意图。如图5所示,本实施例的IMSI数据管理设备50包括:处理器501以及存储器502;其中
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现如下步骤:
确定目标业务号码对应的HSS关系表;
遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中;
若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态;
从所述缓存中获取相应的IMSI段列表数据;
根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
在一种可能的设计中,在所述从所述缓存中获取相应的IMSI段列表数据之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
在一种可能的设计中,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
在一种可能的设计中,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
在一种可能的设计中,在所述确定目标业务号码对应的HSS关系表之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
在一种可能的设计中,所述进行IMSI实例化,包括:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该IMSI数据管理设备还包括总线503,用于连接所述存储器502和处理器501。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的IMSI数据管理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种IMSI数据管理方法,其特征在于,包括:
确定目标业务号码对应的归属签约用户服务器HSS关系表;
遍历所述HSS关系表中的起始终止国际移动用户识别码IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中;
若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态;
从所述缓存中获取相应的IMSI段列表数据;
根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
2.根据权利要求1所述的方法,其特征在于,在所述从所述缓存中获取相应的IMSI段列表数据之后,还包括:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
3.根据权利要求1所述的方法,其特征在于,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
4.根据权利要求3所述的方法,其特征在于,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
5.根据权利要求1所述的方法,其特征在于,在所述确定目标业务号码对应的HSS关系表之后,还包括:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
6.根据权利要求1所述的方法,其特征在于,所述进行IMSI实例化,包括:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
7.一种IMSI数据管理设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
确定目标业务号码对应的HSS关系表;
遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例,并判断所述IMSI实例是否在缓存中;
若所述IMSI实例不在缓存中,则进行IMSI实例化,其中,所述IMSI实例化包括将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中,所述IMSI活跃数据表中数据的状态为空闲状态;
从所述缓存中获取相应的IMSI段列表数据;
根据所述IMSI段列表数据返回所述目标业务号码对应的IMSI。
8.根据权利要求7所述的设备,其特征在于,在所述从所述缓存中获取相应的IMSI段列表数据之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
变更相应的IMSI状态由空闲变成预占,将相应的IMSI段列表数据加载至IMSI使用表,其中,所述IMSI使用表中数据的状态为预占、占用或冷冻。
9.根据权利要求7所述的设备,其特征在于,所述进行IMSI实例化,包括:
基于锁机制进行IMSI实例化。
10.根据权利要求9所述的设备,其特征在于,所述基于锁机制进行IMSI实例化,包括:
获得锁的到期时间,并根据所述到期时间和当前时间确定超时时间;
若所述超时时间大于或等于0,则通过setnx获取锁;
若setnx操作失败,则进行多线程抢锁,获得键锁,并判断所述键锁对应的当前值是否不为空且不超时;
若所述当前值不为空且不超时,则进行getset操作更新过期锁;
在成功取到锁后,将相应的IMSI段列表数据经过指针计算加载至IMSI活跃数据表以及缓存中。
11.根据权利要求7所述的设备,其特征在于,在所述确定目标业务号码对应的HSS关系表之后,所述处理器执行所述计算机执行指令时还实现如下步骤:
判断所述起始终止IMSI列表是否为空;
若所述起始终止IMSI列表不为空,则执行所述遍历所述HSS关系表中的起始终止IMSI列表,在所述起始终止IMSI列表查找相应的IMSI实例的步骤。
12.根据权利要求7所述的设备,其特征在于,所述进行IMSI实例化,包括:
获得相应的IMSI段列表对应的队列长度;
若所述队列长度为0,则实时加载IMSI实例化;
若所述队列长度不为0,且所述队列长度小于预设阈值,则异步加载IMSI实例化。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的IMSI数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184098.XA CN111143351B (zh) | 2019-11-27 | 2019-11-27 | Imsi数据管理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184098.XA CN111143351B (zh) | 2019-11-27 | 2019-11-27 | Imsi数据管理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143351A true CN111143351A (zh) | 2020-05-12 |
CN111143351B CN111143351B (zh) | 2023-03-21 |
Family
ID=70517288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911184098.XA Active CN111143351B (zh) | 2019-11-27 | 2019-11-27 | Imsi数据管理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143351B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085237A (zh) * | 2020-09-04 | 2020-12-15 | 徐州徐工挖掘机械有限公司 | 一种基于物料信息的卸货码头自动调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771992A (zh) * | 2009-01-04 | 2010-07-07 | 中国移动通信集团公司 | 国际移动用户标识符imsi机密性保护的方法、设备及系统 |
CN102918878A (zh) * | 2011-05-31 | 2013-02-06 | 华为技术有限公司 | 报文发送方法和装置 |
CN103686682A (zh) * | 2012-09-14 | 2014-03-26 | 成都鼎桥通信技术有限公司 | 用户开户配置方法、用户数据管理装置和用户设备 |
WO2014105995A1 (en) * | 2012-12-27 | 2014-07-03 | Jasper Wireless, Inc. | A system and method for responding to aggressive behavior associated with wireless devices |
US20150148032A1 (en) * | 2013-11-25 | 2015-05-28 | At&T Intellectual Property I, Lp | Method and apparatus for managing international mobile subscriber identity |
-
2019
- 2019-11-27 CN CN201911184098.XA patent/CN111143351B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771992A (zh) * | 2009-01-04 | 2010-07-07 | 中国移动通信集团公司 | 国际移动用户标识符imsi机密性保护的方法、设备及系统 |
CN102918878A (zh) * | 2011-05-31 | 2013-02-06 | 华为技术有限公司 | 报文发送方法和装置 |
CN103686682A (zh) * | 2012-09-14 | 2014-03-26 | 成都鼎桥通信技术有限公司 | 用户开户配置方法、用户数据管理装置和用户设备 |
WO2014105995A1 (en) * | 2012-12-27 | 2014-07-03 | Jasper Wireless, Inc. | A system and method for responding to aggressive behavior associated with wireless devices |
US20150148032A1 (en) * | 2013-11-25 | 2015-05-28 | At&T Intellectual Property I, Lp | Method and apparatus for managing international mobile subscriber identity |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085237A (zh) * | 2020-09-04 | 2020-12-15 | 徐州徐工挖掘机械有限公司 | 一种基于物料信息的卸货码头自动调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111143351B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10049034B2 (en) | Information processing apparatus | |
CN110837480A (zh) | 缓存数据的处理方法及装置、计算机存储介质、电子设备 | |
CN112395322B (zh) | 一种基于分级缓存的列表数据显示方法、装置及终端设备 | |
CN113625973B (zh) | 数据写入方法、装置、电子设备及计算机可读存储介质 | |
CN111857574A (zh) | 一种写请求数据压缩方法、系统、终端及存储介质 | |
CN114138840A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN111143351B (zh) | Imsi数据管理方法及设备 | |
CN113918216A (zh) | 数据读/写处理方法、装置及计算机可读存储介质 | |
CN109358927B (zh) | 应用程序显示的方法、装置及终端设备 | |
CN111414207A (zh) | 一种页面搭建方法、装置和设备 | |
CN110675133A (zh) | 一种抢红包的方法、装置、电子设备及可读存储介质 | |
CN115617255A (zh) | 缓存文件的管理方法和管理装置 | |
CN110750498A (zh) | 对象访问方法、装置及存储介质 | |
CN112306980A (zh) | 日志处理方法及终端设备 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN107016296B (zh) | 一种数据索引构建、数据读取的方法、装置及电子设备 | |
CN113342270A (zh) | 卷卸载方法、装置和电子设备 | |
WO2020140623A1 (zh) | 电子装置、元数据处理方法和计算机可读存储介质 | |
CN112231090A (zh) | 应用进程管理方法、装置及终端设备 | |
CN113934692A (zh) | 文件清理方法、装置、存储介质及设备 | |
CN111625500A (zh) | 文件快照方法及装置、电子设备和存储介质 | |
CN110874246A (zh) | 一种模块加载方法、系统及设备 | |
CN113806249B (zh) | 一种对象存储有序列举方法、装置、终端及存储介质 | |
CN112612415B (zh) | 一种数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |