【技术实现步骤摘要】
一种用户信息快速关联回填的方法、装置及存储介质
[0001]本专利技术涉及通信
,具体涉及一种用户信息快速关联回填的方法、装置及存储介质。
技术介绍
[0002]无线网络通信过程中,无线网侧数据(CDR、MR)的用户信息一般因为安全需要,都会用一个临时的号牌(TMSI或MMEUeS1apid)形式存在、随着时间和网络环境变化,这个号码会不断切换变化。所以无线侧的用户业务数据,无法持续追踪到真实用户的业务数据。在网络优化和保障工作中,如需要分析指定用户的网络环境投诉、网络热点、用户轨迹等,都需要无线网业务数据能从核心网或S1mme接口中实时关联到真实的用户身份。因为用户的Tmsi、MmeUeS1apid临时号牌会在不断发生变化的特性,所以从核心网侧的数据回填到无线网不是一对一的,需要找到临时号牌完全相符合、两侧数据时差在允许范围内且最小的一条才正确。
[0003]同时,无线网侧和核心网侧数据非常巨大,通常每天都会产生近千亿条之巨。传统的将核心侧用户信息回填到无线网方法,必须要将两类数据全部入到Hadoop大数据集群中,再利用集群分布式运算资源进行匹配。由于Hdfs文件不支持内容修改的特性,无线网CDR、MR匹配前和匹配后必须生成两份冗余数据,同时会极大消耗集群整体IO性能、需要持续浪费几个TB以上的巨大内存损耗。极大影响集群其它业务程序的正常执行,并且由于匹配必须在数据完整后,才能进行,导致无线网数据CDR、MR在业务平台上的展现一般会延时一小时以上。
技术实现思路
[0004]针对现有技 ...
【技术保护点】
【技术特征摘要】
1.一种用户信息快速关联回填的方法,其特征在于,所述方法包括:通过文件扫描线程,以预设的第一时间间隔,获取核心网侧的待采集数据源文件;将所述待采集数据源文件按时间顺序,以预设的第二时间为一个时间采集单元,并在每个单元中划分多个JOB分组,每个JOB分组按预设的数据总尺寸为单位,分成一组并生成多个JOB任务;记录每个所述时间采集单元生成的JOB数量;通过采集线程池的每个子线程,不间断地按时间顺序领取生成的所述JOB任务,并开始采集JOB对应的所有文件,逐条提取文件中的有效用户身份信息,分别生成包含Tmsi、MmeUeS1apid两种组合查询方式的Key主键到两个Map映射表;其中,所述Map映射表包括tmsiMap和s1apMap;并根据记录中的用户身份信息,生成Map映射表Key对应的预定义数据结构UserInfo进行采集;每个线程采集完成后,将已经生成的两个Map再缓存持久化到磁盘Cache目录中,并记录当前JOB对应的采集单元时间;当文件持久化完成,更新当前采集单元对应已完成Job数量值;通过缓存合并线程定时扫描所述磁盘Cache目录中,并判断最新出现的数据时间的上一个时间采集单元是否全部完成;若完成,则进行二级合并操作,生成该时间采集单元周期最终的tmsiMap和s1apMap;当合并线程每合并好一个时间采集单元的数据单元后,将已合并的内存单元提交加入到内存组中,当内存组中的存储单元超限时,则释放时间最早的内存单元;并从释放的内存单元中所引的用户信息UserInfo对象整体回收到对象池中;通过TCP连接获取无线网侧CDR、MR的批量关联请求;解析每条需要关联数据的参数;然后在关联的内存组中,分别在预设时间段范围内的多个连续时间采集单元所对应的内存单元中,找到Key值相同,时差最小的用户信息批量返回,将其作为匹配的最优用户信息结果,实现批量关联回填;如果不在时间段范围内或未找到,则返回未找到标识。2.根据权利要求1所述的一种用户信息快速关联回填的方法,其特征在于两个Map对应的Key分别由tmsi+mmeGroupID+mmeCode和mmeUeS1apid+mmeGroupID+mmeCode组成,Key采用字节合并位压缩算法将三个字段的值压缩合并到一个64位的长整形变量中;其中,合并方式为:Tmsi或mmeUeS1apid通过去除符号位后并位左移32位放到32
‑
63位,mmeGroupID通过左移8位存放到8
‑
31位,mmeCode存放在低0
‑
7位;Map对应的Value存储的是自定义的UserInfo单向链表对象,并将UserInfo单向链表作为所述用户信息数据结构,包含当前Key对应的所有用户信息;其中,UserInfo对象采用对象池方式,当采集下一批文件时,可以重复利用,而不必重复申请和释放;UserInfo数据结构的实现采用了一个包含NextUserInfo字段指向下一个相同Key的另一个用户UserInfo对象的引用,不使用List容器就可以实现单向链表能力,达到更节省内存目的;如果循环迭代查询到NextUserInfo引用的对象为空时,则代表当前Key下的所有用户遍历完成。3.根据权利要求2所述的一种用户信息快速关联回填的方法,其特征在于,所述判断最
新出现的数据时间的上一个时间采集单元是否全部完成的判断依据是:根据记录生成的JOB数量和记录的已完成JOB数量,如果相等,则代表上一个时间采集单元周期的文件已全部采集处理完成;其中,JOB数量,使用一个预定义288个volatile类型二维数组变量,用于分别循环记录一天内每个5分钟单元Job任务生成数量和已完成的Job数量;对变量的读写和判断是否相等采用原子变量操作方法代替线程同步锁,以避免读写线程休眠而达到更高的读写效率。4.根据权利要求3所述的一种用户信息快速关联回填的方法,其特征在于,所述合并时,所采用的合并方式为:扫描所有该合并周期的缓存文件,将第二个到最后一个缓存块的内容合并到第一个缓存块中,如果被合并的缓存块Map中有不同的key,则在第一个缓存块对应的Map中插入新的Key主键和UserInfo值,如果有相同的key,则只需要更新一下当前Key对应UserInfo的StartTime和EndTime即可;更新后的StartTime取合并记录和被合并的记录的时间的最小值,EndTime取合并记录和被合并的记录的时间的最大值,用一个UserInfo对象的两个起始时间字段分别标记该用户核心网侧出现的时间范围,达到同用户的多条数据reduce去重节省内存目的。5.根据权利要求1至4中任一所述的一种用户信息快速关联回填的方法,其特征在于,所述方法还包括:启动一个TCP监听服务,无线网侧MR、CDR采集入库时,每个采集任务建一个异步TCP连接,通过异步采集和批量回填方式,实现入库前回填好用户信息再入库,实现入库前就关联完成,以节约展现的时间。6.一种用户信息快速关联回填的装置,其特征在于,包括文件扫描模块、采集模块、合并模块和用户关联模块;文件扫描模块,用于:通过文件扫描线程,以预设的第一时间间隔,获取核心网侧的待采集数据源文件;将所述待采集数据源文...
【专利技术属性】
技术研发人员:赵文博,石刚,
申请(专利权)人:深圳市优网科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。