终端时空移动预测方法和装置制造方法

文档序号:7988666阅读:198来源:国知局
终端时空移动预测方法和装置制造方法
【专利摘要】本发明实施例提供一种终端时空移动预测方法和装置,所述方法包括:获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间;根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。本发明实施例用以优化对用户终端随时间变化的移动路径的预测方法。
【专利说明】终端时空移动预测方法和装置
【技术领域】
[0001]本发明实施例涉及通信【技术领域】,尤其涉及一种终端时空移动预测方法和装置。【背景技术】
[0002]随着无线通信技术的发展,可以使无线网络用户终端在世界的任何一个位置自由通信、在移动过程中自由联络,而且可以通过跟踪用户终端的活跃小区来近似定位用户终端的地理坐标,因为每个小区都有其明确的地理位置。目前为止已经有一些可以获取用户终端位置信息的方法,比如利用小区编号作为用户终端的地理位置,一系列的位置感知应用(Location Aware Applications,LAA)可利用用户终端的地理位置信息提供一些相关的服务。例如,基于用户终端位置的服务、搜索引擎和个性化引擎(intent engine)等领域都已经有广泛应用。
[0003]目前大多数的位置感知应用只是利用用户终端当前的位置,因此,当前的位置感知排序服务只是利用目标事物与用户终端当前位置的距离进行排序。然而,一种更好的排序方案却并不是利用目标事物与用户终端当前位置的距离,而是根据用户终端未来行程的距离进行排序,这就需要基于用户终端的历史移动数据,设计一种有效的方法,来及时的预测用户终端未来移动的方法。
[0004]然而现有技术中,预测用户终端未来移动的方法,一种方案,只是对下一个小区或者后续的小区序列进行预测,而没有预测用户终端移动随时间的变化;另一种方案,虽然也提取用户终端移动随时间的变化的信息,将小区内用户终端的移动按照时间间隔拆分成很多日志记录,但后一方法当时间序列中有一个持续时间长的记录以规则时间提取过程中被划分为多个日志记录时,要进行这个提取过程既要耗费很多内存,又让记忆力短的预测算法在预测时重复产生相同的小区,即采用该方法有自繁殖性的缺点。因此以上现有技术的方法均无法对用户终端未来的移动进行准确的预测。

【发明内容】

[0005]本发明实施例提供一种终端时空移动预测方法和装置,以优化对用户终端随时间变化的移动路径的预测方法。
[0006]本发明实施例第一方面是提供一种终端时空移动预测方法,包括:
[0007]获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间;
[0008]根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;
[0009]在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。
[0010]在第一种可能的实现方式中,根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合包括:[0011]将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列;
[0012]以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
[0013]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在以所述历史移动序列更新至增长逆向前缀树中之前,还包括:
[0014]按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
[0015]结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,将所述历史移动序列添加至增长逆向前缀树中包括:
[0016]在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
[0017]结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,根据该历史移动序列更新该节点序列中各节点的节点信息包括:
[0018]将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
[0019]结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息包括:
[0020]以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中;
[0021]将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息;
[0022]判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤:
[0023]根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区;
[0024]基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间;
[0025]将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。
[0026]结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间包括:
[0027]以所述待预测时点t0作为当前预测时点;
[0028]在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同;
[0029]在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、......和dn,以及对应的小区切换时间tl、t2、......和tn ;
[0030]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,I≤i ^ η ;
[0031]按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
[0032]结合第一方面的第五种可能的实现方式,在第七种可能的实现方式中,基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间包括:
[0033]在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点;
[0034]在查找到的节点中获取J个后继小区vl、v2、……和vj,并获得每个后继小区Vj的M个切换时间tl、t2、……和tM,其中,I≤j ( J,所述M个切换时间为与当前预测时点最近的M个切换时间;
[0035]根据所述当前预测时点tf按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中 I < m < M ;
[0036]计算每个后继小区的相似度总和r j=rl+r2+......+rM ;
[0037]将相似度总和最闻的后继小区选择为待切换小区;
[0038]在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间tl、t2、......、tn ;
[0039]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,I≤i ^ η ;
[0040]按照如下公式计算所述待切换小区的停留持续时间de=f (di,wi)0
[0041]结合第一方面及其任一种可能的实现方式,在第八种可能的实现方式中,在根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合之前,还包括:
[0042]判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
[0043]本发明实施例第二方面是提供一种终端时空移动预测装置,包括:
[0044]获取模块,用于获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间;
[0045]更新模块,用于根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;
[0046]预测模块,用于在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信肩、O
[0047]在第一种可能的实现方式中,所述更新模块具体用于:
[0048]将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列;
[0049]以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
[0050]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
[0051]预处理模块,用于按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
[0052]结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述更新模块具体用于:
[0053]在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
[0054]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述更新模块具体还用于:
[0055]将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
[0056]结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述预测模块包括:
[0057]叠加单元,用于以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中;
[0058]添加信息单元,用于将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息;
[0059]判断单元,用于判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤:
[0060]计算更新单元,用于根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区;
[0061]计算预测单元,用于基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间;
[0062]所述叠加单元,还用于将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。[0063]结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述计算预测单元,具体用于:
[0064]以所述待预测时点t0作为当前预测时点;
[0065]在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同;
[0066]在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、......和dn,以及对应的小区切换时间tl、t2、......和tn ;
[0067]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,1≤i≤ η ;
[0068]按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
[0069]结合第一方面的第五种可能的实现方式,在第七种可能的实现方式中,所述计算预测单元,具体还用于:
[0070]在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点;
[0071]在查找到的节点中获取J个后继小区vl、v2、……和vJ,并获得每个后继小区Vj的M个切换时间tl、t2、……和tM,其中,1≤j ≤ J,所述M个切换时间为与当前预测时点最近的M个切换时间;
[0072]根据所述当前预测时点tf按照如下公式计算每个后继小区vj的各切换时间相似度:rm=r (tf-tm),其中 1 ≤ m≤ M ;
[0073]计算每个后继小区的相似度总和rj=rl+r2+......+rM ;
[0074]将相似度总和最闻的后继小区选择为待切换小区;
[0075]在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间tl、t2、......、tn ;
[0076]按照如下公式计算各小区持续时间的加权值:wi=w(t_ti I),其中,w(dt)为非递增函数,1≤i ≤ η ;
[0077]按照如下公式计算所述待切换小区的停留持续时间de=f (di, wi)。
[0078]结合第二方面及其任一种可能的实现方式,在第八种可能的实现方式中,还包括:
[0079]触发模块,用于判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
[0080]本发明实施例提供的终端时空移动预测方法和装置,通过获取终端的移动信息,可以由该移动信息中包含的切换的小区、切换至该小区的切换时间和在该小区停留的持续时间产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;可以实现根据所述历史移动序列集合中对应的当前小区及其切换时间和持续时间,预测得到所述终端的后继移动信息。本发明实施例对用户终端随时间变化的移动路径的预测方法进行了优化,对终端未来时空移动预测准确,预测时间短。
【专利附图】

【附图说明】[0081]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0082]图1为本发明终端时空移动预测方法实施例一的流程图;
[0083]图2为本发明终端时空移动预测方法实施例二的流程图;
[0084]图3为本发明实施例终端时空移动预测方法中预处理阶段的示意图;
[0085]图4为本发明实施例所采用的增长逆向前缀树的示意图;
[0086]图5为本发明实施例与现有技术仿真实验结果比较示意图;
[0087]图6为本发明终端时空移动预测装置实施例一的结构示意图;
[0088]图7为本发明终端时空移动预测装置实施例二的结构示意图。
【具体实施方式】
[0089]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0090]图1为本发明终端时空移动预测方法实施例一的流程图,如图1所示,本发明实施例的终端时空移动预测方法,用以优化对用户终端随时间变化的移动路径的预测方法,该方法可以由终端时空移动预测装置来执行,该预测装置可以通过硬件和/或软件的方式实现,集成在终端或网络侧网元中,例如基站、基站控制器等网元中。该方法包括:
[0091]S101、获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间;
[0092]具体的,本实施例的方法在预测时需要获取终端的移动信息,该移动信息包括位置信息和时间信息,位置信息可以包括终端移动过程中切换的小区,如小区编号,时间信息可以包括切换至该小区的切换时间,即到达当前小区的时间点和在该小区停留的持续时间,将这些位置信息和时间信息,作为获取到的终端的移动信息。
[0093]S102、根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;
[0094]具体的,本实施例的方法根据上述获取终端的移动信息的方法可以获取该终端每个设定更新周期内的移动信息,或者可以获取切换了设定次数的移动信息,其中该设定更新周期例如可用一天作为一个周期,将每天移动信息记录下来,就得到该终端每天的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合,所述历史移动序列集合可以包含当前时间点之前许多天的历史移动序列,例如是I个月的历史移动序列。优选将这些历史移动序列存储为前缀树的形式,该树被称作增长逆向前缀树(AugmentedReverse Prefix Tree,ARPT),增长逆向前缀树是一个逆向前缀树数据结构,存储字符串的逆向子序列,表示了移动小区序列。增长逆向前缀树便于预测时可快速的信息提取。
[0095]上述增长逆向前缀树存储终端的各个历史移动序列,形成树的路径。该增长逆向前缀树包含许多节点,每个节点对应一个小区,例如以小区编号进行标识。每个节点又存储了该小区的前序小区信息和后继小区信息,进而在前缀树中形成了代表所有历史移动序列的路径。
[0096]S103、在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。
[0097]具体的,终端待预测时点表示终端当前所在小区的当前时点,根据上述增长逆向前缀树中的历史移动序列集合,获取对应的小区及其切换时间和持续时间,就可以根据这些信息,通过计算,预测到所述终端的后继移动信息。
[0098]本发明实施例提供的终端时空移动预测方法,通过获取终端的移动信息,可以由该移动信息中包含的切换的小区、切换至该小区的切换时间和在该小区停留的持续时间产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;可以实现根据所述历史移动序列集合中对应的当前小区及其切换时间和持续时间,预测得到所述终端的后继移动信息。本发明实施例对用户终端随时间变化的移动路径的预测方法进行了优化,对终端未来时空移动预测准确,预测时间短。
[0099]图2为本发明终端时空移动预测方法实施例二的流程图,图3为本发明实施例终端时空移动预测方法中预处理阶段的示意图,图4为本发明实施例所采用的增长逆向前缀树的示意图,如图2-4所示,上述实施例的方法中,根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合,可以包括如下步骤:
[0100]S210、将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列;
[0101]S220、以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
[0102]具体的,本步骤目的是根据获取到的终端的新的移动信息,来更新增长逆向前缀树中包含的原有信息。
[0103]在以所述历史移动序列更新至增长逆向前缀树中之前,还可以进行预处理,即按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
[0104]该预处理过程得到经合并去重复的历史移动序列,以便可以依据该处理后的历史移动序列来更新增长逆向前缀树。
[0105]举例来说,如图3所示,图中的坐标轴表示终端一个周期如一天的移动信息,横轴为移动时间(小时),纵轴表示小区编号,代表小区的标识,单横线代表以终端以较小的时间间隔t表示的原移动序列,双框横线代表经预处理去重复后的移动序列。
[0106]对获取到的终端的移动信息中包含的移动序列进行预处理,具体是引入规则的时间网格,将横轴上的小时间间隔t合并得到等长度的大时间间隔T,如图3中小时间间隔为I小时,第一个小时间间隔代表ο-l小时的间隔,大时间间隔为2小时,第二个大时间间隔代表2-4小时的间隔,即用长度为2小时的时间间隔把时间间隔为I小时的时间轴合并。在每一个合并后得到的大时间间隔T中,按照设定的时间间隔T,用在该时间段出现频率最高的小区编号cell_id替换掉其它小区编号cell_id,即将终端在每个时段内停留时间最长的小区作为该时段的停留小区。比如图3中的第二个时间段中,用cell-1d=l替换掉cell-1d=7和cell_id=8。如果时间轴上两个相邻时间间隔T中的cell_id相同,把这两个时间间隔合并为一个时间间隔,即将相邻时段内停留小区相同的时段合并,如相邻时间段的小区编号相同,则合并为一个小区,获取到去重复后移动序列,该去重复后移动序列即作为待更新至增长逆向前缀树的历史移动序列。预处理后获得一个周期内的一个历史移动序列;图3中历史移动序列,表示为多个顺序的(Cell-1d,切换至时间-切换出时间)的形式,即(1,0-4)、(7,4-14)、(6、14-16)、(9,16-20)和(8,20-22),每一个小区即为上述增长逆向前缀树中的一个节点。或者也可以表示为(Cell-1d,切换时间,持续时间),例如,(1,0,4)、(7,4,10)、(6、14,2)、(9,16,4)和(8,20,2)。此外,该切换时间和持续时间可以用预处理后的时间表示,也可以用原始时间信息表示。例如,对于6小区,其实际的切换时间稍晚于14时,则记录其实际的切换时间。
[0107]经过上述预处理,接下来更新的过程就包括对获取到的移动信息进行学习,学习阶段的目的是将预处理后的历史移动序列中的信息以一定的方式添加到增长逆向前缀树中。具体是将所述历史移动序列添加至增长逆向前缀树中,可以包括:
[0108]在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息;
[0109]具体的,先在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,如果已经有了该节点序列,就用获取的历史移动序列中的信息来更新该节点序列。如果还没有该节点序列,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
[0110]其中,所述历史移动序列要满足可预测的目的,采集此历史移动序列的预测周期不能超过预先设定的最长预测周期。该周期限定了 ARPT树中可预测的最长路径长度,也可用合并后的小区数量来限定,若最长预测周期为一天,其对应切换了 3个小区,即自当前时点最远可预测合并后3个小区内的移动信息。
[0111]上述过程中,根据该历史移动序列更新该节点序列中各节点的节点信息,可以包括:
[0112]将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
[0113]比如图3中对于上述历史移动序列(1,0-4)、(7,4-14)、(6、14-16)、(9,16-20)和(8,20-22),添加该历史移动序列时,即是将对应小区编号表示的1、7、6、9、8各个节点的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,即历史移动序列中的信息分别添加至增长逆向前缀树的相应节点中,例如对于节点9,其小区信息为小区切换时间和小区持续时间,即16和4。节点9的前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,即6、14和2。节点9的后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间,即8,20和2。其中,切换时间和持续时间可以为预处理后的时间信息也可以是原始的时间信息。
[0114]按照以上添加方式,对每一个节点将所述历史移动序列中对应的信息分别添加至增长逆向前缀树的相应节点中,这样得到的所述增长逆向前缀树可作为所有节点的历史移动序列集合。该历史移动序列集合可用图4加以说明。由于每个节点都记录了前序小区和后继小区信息,所以顺序连接成一个历史移动序列所表示的路径。
[0115]如图4所示,本发明实施例通过上述方式的学习可以更新所采用的增长逆向前缀树的信息。图4中L1、L2、L3、L4为路径,例如可以分别与终端第一天、第二天、第三天、第四天的历史移动序列对应。其中LI的路径与图3所示的历史移动序列对应,包括经过的小区有 1、7、6、9、8。
[0116]对于节点9来说,图4中节点6、3、11、12构成节点9的前序节点集合401,节点8、
10、2、5构成节点9的后继节点集合402,各路径下面的虚线表示与节点9连接的再前一个其他前序节点的路径。由于节点9可能属于多个历史移动序列,所以其可以有多个前序节点和多个后继节点,也就在节点9上记录的小区信息、前序小区信息和后继小区信息都为
数组记录,例如小区信息为(tl、t2、......、tn ; Δ dl、Δ d2、......、Δ dn),节点9的前序小区信
息为(tfl、tf2、......、tfn ; Adfl、Adf2、......、Λ dfn),后继小区信息为(tbl、tb2、......、
tbn ; Δ dbl、Δ db2、......、Δ dbn),n表示节点9所在的多个历史移动序列。一般选择设定
数量的历史移动序列,可随着时间而老化掉较早的历史移动序列对应信息。
[0117]在添加信息之前,在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若否,则先创建该路径及路径中的节点。例如若增长逆向前缀树中还没有某个节点,以下面的方式增加新的节点:
[0118]在增长逆向前缀树中搜索可以表示某历史移动序列的逆向序列的节点,如果这个节点不存在,创建此节点。然后以上述同样的添加序列的方式把小区编号、后续移动序列、切换时间和终端在此节点小区持续的时间添加到此节点上。
[0119]通过上述方式可以更新增长逆向前缀树,如增加路径、增加节点,添加节点信息
坐寸ο
[0120]如图4所示,经过上述过程路径LI各节点新的移动信息增加到本实施例所采用的增长逆向前缀树中相应节点中。以上节点信息构成节点的内容,一个节点的内容可以包括:
[0121]节点值一用整数表示的小区编号,也是节点的标识;
[0122]前序节点数组(Predecessors) —多个历史移动序列中当前节点的前序节点标识数组;
[0123]后继节点数组(FoI lowers ) 一多个历史移动序列中当前节点的后继节点标识数组;
[0124]后继切换时间数组(FollowerTimes) —时间向量组成的数组,其中的每个元素FollowerTimes {i}是:所有后继小区编号=Followers [i]的小区切换时间组成的向量;
[0125]后继持续时间数组(Fo 11 owerDurat ions) 一时间向量组成的数组,其中的每个元素FollowerDurations {i}是:所有后继小区编号=Followers [i]的小区持续时间组成的向量;[0126]节点内容中还包含层的概念,如对图4中的节点9来说,其前序节点6、7分别为9的第一层和第二层祖先节点;每一个节点N(若处于前缀树的第L层)指定了它自己的内容。如果vl、v2、…vL分别是节点N在第I层,第二层……第L层的祖先节点,那么节点N所在的历史移动序列就是(v0、vl、v2、…vL),从vl节点开始,节点N的前缀长度即为L。
[0127]综上,学习阶段包括根据获取的历史移动序列,在增长逆向前缀树查找是否存在相应的路径和路径中的节点,若没有,则以历史移动序列的逆序(也称作前缀)向树中添加节点,并在节点中添加如下相关信息:历史移动序列的前序小区、前序小区的持续时间、切换到前序小区的时间、后继小区、后继小区的持续时间、切换到后继小区的时间,这些信息即形成增长逆向前缀树,它是一棵随着切换时间和持续时间信息增长的前缀树,小区序列以倒序的方式形成了前缀,前缀又形成了前缀树的路径。
[0128]前述方案中,在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息,可以包括如下步骤:
[0129]以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中;
[0130]将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息;
[0131] 判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤:
[0132]根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区;
[0133]基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间;
[0134]将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。
[0135]上述方案可用下述步骤详细说明其原理。
[0136]以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,可以包括:
[0137]以所述待预测时点tO作为当前预测时点;该待预测时点是终端最后移动停止的时间。
[0138]在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同;
[0139]在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、......和dn,以及对应的小区切换时间tl、t2、......和tn ;
[0140]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,1≤i≤η ;
[0141]按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
[0142]具体的,本步骤就是在ARPT树中查找与当前所在小区V对应且具有设定前缀长度K的节点,例如,若设定前缀长度K设定为3,且从终端当前所在小区9开始,前面是从小区7移动至小区6又移动至小区9,则其移动序列为7-6-9。在前缀树中要查找节点9,且该节点9也需要具有7-6-9的前缀序列。由于前缀树是逆序的,所以查找方式是从最前面的小区逆序查找。例如,先查找到小区7的节点7,再查找到节点7是否有后继节点6,再查找节点6是否有后继节点9,若有,则查找到与当前所在小区V对应且具有设定前缀长度3的节点。若否,则查找失败,无法预测。
[0143]由查找到的节点中获取当前小区的切换时间和持续时间,通过将当前小区本次已持续时间延长到从ARPT中得到的持续时间而实现对当前小区持续时间的预测。其中设定前缀长度K设置为不超过最长预测周期参数(MaxPrefixPeriod)的最大可能值,这是由于需要在ARPT中存在相关的前后节点信息,可以得到节点中关于当前小区对应节点的超过d的持续时间。
[0144]举例来说,由图3可知,当前所在小区v=8,当前小区切换时间t=20点待预测时点t0=22点,已持续时间d=2小时。
[0145]本步骤要在所述增长逆向前缀树中预测终端在当前所在小区8的停留持续时间,就是在ARPT树中找到具有设定前缀长度的节点8。
[0146]具体的,在节点8中找到关于小区8的大于d的持续时间dl,d2..dn,即在节点8中找到关于小区8的持续时间大于2小时的各次历史移动序列中小区8的持续时间,即在数组FollowerDurations中对应follower8的元素,以及到达小区8的切换时间tl, t2,…tn,即在数组FollowerTimes中对应follower8的元素。给这些持续时间分别加权值wl, w2,…wn,其中某次权值wi=w(| t-ti I),w(dt)是非递增函数,使得与2小时越接近的持续时间权值越大。
[0147]计算当前所在小区8的期望持续时间,即当前所在小区的停留持续时间de=f(di,wi),具体为de=f ({dl, d2..dn},{wl, w2,…wn}),f可以是取平均函数、取中位数函数等,对此并不限制。
[0148]延长当前所在小区的停留持续时间到de,就是说在当前所在小区的已持续时间d的基础上延长(de-d)时间。
[0149]因此,预测当前所在小区的停留持续时间实际就是计算待预测时间ForecastingPeriod=de-d.[0150]经过上述后先要检查预测过程是否完成,即检查是否有待预测时间ForecastedPeriod>=MaxForecastingPeriod,该 MaxForecastingPeriod 为最大预测时间,为提前设置好的参数,例如可设置MaxForecastingPeriod=24小时。检测结果是否到24点,如果为是,说明预测序列已经达到了要求的时间,预测时间范围为[tO, tO+MaxForecastingPeriod]。如果否,则通过下面过程预测当前预测时点的待切换小区和对应的停留持续时间。
[0151]基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间,可以包括:
[0152]在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点;
[0153]在查找到的节点中获取J个后继小区vl、v2、……和vj,并获得每个后继小区Vj的M个切换时间tl、t2、……和tM,其中,I≤j ≤ J,所述M个切换时间为与当前预测时点最近的M个切换时间;
[0154]根据所述当前预测时点tf按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中I < m < M ;r j为可以用相关度函数来计算,该函数并不做限制。
[0155]计算每个后继小区的相似度总和rj=rl+r2+......+rM ;
[0156]将相似度总和最高的后继小区选择为待切换小区,设为followern ;
[0157]在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间tl、t2、......、tn ;
[0158]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,1≤i≤n;n可以取与M相同的数值,也可不同。
[0159]按照如下公式计算所述待切换小区的停留持续时间de=f (di,wi)。
[0160]具体的,本步骤是通过上述例子,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间后,进一步预测当前小区的待切换小区和对应的停留持续时间,上述过程是首先在ARPT中找到与所述最后驻留小区vlast对应且具有设定前缀长度K的节点,在该节点的后继节点信息中计算与其相关度最大的小区,得到待切换小区,然后计算该小区持续时间。其中设定前缀长度K含义与上述例子中相同。 [0161]在ARPT中得到待切换小区是通过计算相似度之和来获取,首先在ARPT中查找到的该节点的后继小区信息中获取时间最近的M个小区的切换时间,M是不超过MaxPrefixPeriod最长预测周期的参数,M〈MaxPref ixPeriod,是为了保证所搜索的前缀在ARPT中存在。即在该节点的所有可能的后继小区中选择与当前切换时间最为接近的一个后继小区,作为待切换小区。
[0162]以图3和图4为例,举另一场景加以描述。
[0163]例如,以图3中小区9为最后驻留小区vlast,设置当前预测时点tf为移动序列的终止时间,也是预测的开始时间,这时就要预测小区9的待切换小区和对应的停留持续时间,如图4所示,小区9的后继小区有可能是8、10、2、5中的一个,通过下面计算要得到待切
换小区。
[0164]对于节点9的J个后继节点中的每一个后继小区V j,其保存在Followers数组中,从中可得到M个最近的到达该小区时间tl,t2,的切换时间,然后采用下面的方法,计算其中哪一个是小区9即将切换的小区。
[0165]根据所述当前预测时点tf,按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中I < m < M ;计算每个后继小区的相似度总和rj=rl+r2+......+rM ;
[0166]通过上述计算获取到相似度总和最高的后继小区例如为小区8,即选择为待切换小区。
[0167]其次,就是计算待切换小区的持续时间,则可重复上述例子中的步骤,即可按照上述步骤从小区8的大于d的持续时间dl,d2..dn,即从ARPT中得到节点8上所有关于小区8的持续时间dl, d2..dn,即在数组FollowerDurations中对应follower8的元素,以及到达时间tl, t2,…tn,即在数组FollowerTimes中对应follower8的元素。给这些持续时间分别加权值wl, w2,…wn, wi=w(|t-ti |),w(dt)是非递增函数。
[0168]计算期望持续时间de=f ({dl, d2..dn}, {wl, w2,…wn}),f可以是取平均函数、取
中位数函数等。[0169]设置ForecastedPeriod=ForecastedPeriod+de。
[0170]返回上述检查预测过程是否完成,如果没完成则重复上述步骤,直到用户移动序列的时间满足要求,提取移动序列的预测部分,即本发明实施例的预测结果,可以作为输出,加以应用。
[0171]通过上述整个过程,可以获取到待切换小区及其持续时间,即得到图3中的待切换小区8和持续时间de。
[0172]上述例子中,具体是把预测得到的待切换小区8和持续时间de的组合(8,de)加入到用户移动序列。
[0173]进一步的,上述各实施例中,在根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合之前,还包括:
[0174]判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
[0175]本发明实施例的预测效果可用下述的仿真实验进行说明。
[0176]图5为本发明实施例与现有技术仿真实验结果比较示意图,如图5所示,其中,图5中a坐标图表示学习时间比较示意图,图5中b坐标图表示预测时间比较示意图,图5中c坐标图表示预测准确度比较示意图。图5中a坐标图和b坐标图中横坐标表示方法编号,方法编号I为前缀长度为I的马尔科夫链方法,方法编号2为前缀长度为2的马尔科夫链方法,方法编号3为本发明实施例提出的方法,纵坐标分别表示学习时间(秒)和预测时间(秒)。图5中c坐标图表示随预测时间变化的预测准确度,横坐标表示预测时间(小时),纵坐标表示预测准确度,501表示现有技术采用的马尔科夫链方法的预测准确度,502表示本发明实施例提出的方法的预测准确度。
[0177]仿真实验用的是来自麻省理工学院(Massachusettes Institute ofTechnology,MIT)的Reality Mining Project数据集,这是一个真实的终端小区移动数据集。数据集含有超过350,000小时(大约40年)的用户移动数据。由于数据有微弱的季节性,所以只考虑工作周期。
[0178]在现有技术中预测方法中另一种方案的小区间预测移动算法,其采用可回溯的前缀长度为I和2的马尔科夫链方法是性能最好的一个,将本发明实施例的方法与其采用的马尔科夫链方法作算法运行速度比较,可见,在相同的时间粒度下,本发明实施例的方法比马尔科夫链方法的运行速度更快,包括学习时间比较更快和预测时间更快。本发明实施例提出的方法在学习阶段和预测阶段分别比马尔科夫链方法快100%和700%。
[0179]本发明实施例上述中的方法之所以比马尔科夫链方法的预测速度更快,是因为本发明实施例一次预测一个小区,而马尔科夫链方法一次预测一个样本间隔,而样本间隔时间比小区持续时间要小的多,所以在相同的时间里,马尔科夫链方法会做更多的预测操作。
[0180]马尔科夫链预测方法中,前缀长度大于2时比前缀长度为1、2时要花费更多的时间,所以这里只比较了前缀长度为1、2的情形。
[0181]本发明实施例中预处理阶段的时间间隔设置为10分钟。
[0182]两种方法都是在Matlab环境中运行,硬件配置为Intel Xeon2.4GHz CPU, 16GB ofRAM。
[0183]本发明实施例方法跟马尔科夫链方法做了预测的准确度比较。由图5中c坐标图可见在4.5 小时之前,它略微差于马尔科夫链方法,在4.5小时之后,它略微好于马尔科夫链方法。该4.5小时时间点会在预测条件变化时有变化,但能说明本发明实施例在较长时间以后预测更为准确。
[0184]预测准确度是一个依赖于时间h的函数:精确度Accuracy (h),该函数是根据预测期间内(h时间),预测正确的小区编号所占全部小区编号的比例而计算精确度结果。
[0185]马尔科夫链方法的预测精度不会明显依赖于前缀长度。因此上述前缀长度为1、2的实验结果就可以用来代表其方法其他前缀长度的预测效果。
[0186]由此比较可见,本发明实施例的方法既可以预测终端移动的空间,又可以预测时间,并且本发明实施例对用户终端随时间变化的移动路径的预测方法进行了优化,较之前的对终端未来时空移动预测方法预测时间短,预测准确。
[0187]另一方面,本发明实施例的方法解决了现有技术中预测方法中另一种方案由于预测时重复产生相同的小区而产生的自繁殖性的问题,比如现有技术原始时间序列是:
[0188]〈1,7:00〉,〈2,9:00〉,〈3,9:15〉,〈4,9.30>,〈5,9.45>,〈6,10:00〉,〈7,13:30〉,....[0189]这个算法只会考虑观察小区序列中最后的几个小区,比如在9点钟做预测时将会重复生成小区1,在13点30做预测时将会重复生成小区6。
[0190]而本发明实施例由于在预处理时进行了合并去重复的处理,解决了自繁殖性的问题,因此本发明实施例的方法预测更加准确。
[0191]图6为本发明终端时空移动预测装置实施例一的结构示意图,如图6所示,本实施例的装置,可以包括:
[0192]获取模块61,用于获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间;
[0193]更新模块62,用于根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;
[0194]预测模块63,用于在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。
[0195]本发明实施例的装置,用于执行上述图1所示实施例的方法的技术方案并具备相应的功能模块,其实现原理类似,在此不再赘述。
[0196]本发明实施例提供的终端时空移动预测装置,通过获取模块61获取终端的移动信息,可以由该移动信息中包含的切换的小区、切换至该小区的切换时间和在该小区停留的持续时间产生终端的历史移动序列,更新模块62根据所述历史移动序列更新所述终端的历史移动序列集合;预测模块63可以实现根据所述历史移动序列集合中对应的当前小区及其切换时间和持续时间,预测得到所述终端的后继移动信息。本发明实施例对用户终端随时间变化的移动路径的预测方法进行了优化,预测准确,预测时间短。
[0197]图7为本发明终端时空移动预测装置实施例二的结构示意图,如图7所示,本实施例的装置是在上述图6所示实施例的基础上,进一步的,所述更新模块62具体用于:
[0198]将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列;[0199]以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
[0200]具体的,所述更新模块62用于更新增长逆向前缀树ARPT的信息,该ARPT可存储在存储器66中。
[0201 ] 本实施例的装置还可以包括:
[0202]预处理模块64,用于按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
[0203]所述更新模块62具体用于:
[0204]在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
[0205]所述更新模块62具体还用于:
[0206]将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
[0207]所述预测模块63包括:
[0208]叠加单元631,用于以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中;
[0209]添加信息单元632,用于将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息;
[0210]判断单元633,用于判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤:
[0211]计算更新单元634,用于根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区;
[0212]计算预测单元635,用于基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间;
[0213]所述叠加单元631,还用于将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。
[0214]所述计算预测单元635,具体用于:
[0215]以所述待预测时点t0作为当前预测时点;
[0216]在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同;
[0217]在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、......和dn,以及对应的小区切换时间tl、t2、......和tn ;
[0218]按照如下公式计算各小区持续时间的加权值:wi=w(t_ti I),其中,w(dt)为非递增函数,1≤i≤n ;
[0219]按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
[0220]所述计算预测单元635,具体还用于:
[0221]在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点;
[0222]在查找到的节点中获取J个后继小区vl、v2、……和vJ,并获得每个后继小区Vj的M个切换时间tl、t2、……和tM,其中,1≤j ≤J,所述M个切换时间为与当前预测时点最近的M个切换时间;
[0223]根据所述当前预测时点tf按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中 1 ≤ m ≤ M ;
[0224]计算每个后继小区的相似度总和r j=rl+r2+......+rM ;
[0225]将相似度总和最闻的后继小区选择为待切换小区;
[0226]在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间tl、t2、......、tn ;
[0227]按照如下公式计算各小区持续时间的加权值:wi=w(|t_ti I),其中,w(dt)为非递增函数,1≤i≤η ;
[0228]按照如下公式计算所述待切换小区的停留持续时间de=f (di,wi)。
[0229]进一步的,上述实施例的装置还可以包括:
[0230]触发模块65,用于判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
[0231]本发明实施例的装置可以被部署在客户端上,比如移动终端、智能终端和笔记本等,也可以部署在无线网络系统的服务器或者应用服务器,比如基站、基站控制器等网元中。
[0232]本实施例的装置,用于执行上述图2所示实施例的方法的技术方案并具备相应的功能模块,其实现原理和技术效果类似,在此不再赘述。
[0233]本发明实施例提供的终端时空移动预测方法和装置,通过获取终端的移动信息,可以由该移动信息中包含的切换的小区、切换至该小区的切换时间和在该小区停留的持续时间产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合;可以实现根据所述历史移动序列集合中对应的当前小区及其切换时间和持续时间,预测得到所述终端的后继移动信息。本发明实施例对用户终端随时间变化的移动路径的预测方法进行了优化,对终端未来时空移动预测准确,预测时间短。
[0234]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0235]最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
【权利要求】
1.一种终端时空移动预测方法,其特征在于,包括: 获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间; 根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合; 在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。
2.根据权利要求1所述的方法,其特征在于,根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合包括: 将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列; 以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
3.根据权利要求2所述的方法,其特征在于,在以所述历史移动序列更新至增长逆向前缀树中之前,还包括: 按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
4.根据权利要求2所述的方法,其特征在于,将所述历史移动序列添加至增长逆向前缀树中包括: 在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
5.根据权利要求4所述的方法,其特征在于,根据该历史移动序列更新该节点序列中各节点的节点信息包括: 将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
6.根据权利要求5所述的方法,其特征在于,在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息包括: 以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中; 将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息; 判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤:根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区; 基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间; 将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。
7.根据权利要求6所述的方法,其特征在于,以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间包括: 以所述待预测时点to作为当前预测时点; 在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同; 在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、……和dn,以及对应的小区切换时间tl、t2、......和tn ; 按照如下公式计算各小区持续时间的加权值:wi=w(|t-ti I),其中,w(dt)为非递增函数,1≤i ≤η ; 按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
8.根据权利要求6所述的方法,其特征在于,基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间包括: 在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点; 在查找到的节点中获取J个后继小区vl、v2、……和vj,并获得每个后继小区vj的M个切换时间tl、t2、……和tM,其中,1≤ j ≤J,所述M个切换时间为与当前预测时点最近的M个切换时间; 根据所述当前预测时点tf按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中 1≤ m ≤ M ; 计算每个后继小区的相似度总和rj=rl+r2+......+rM ; 将相似度总和最高的后继小区选择为待切换小区; 在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间 tl、t2>......、tn ; 按照如下公式计算各小区持续时间的加权值:wi=w(|t-ti I),其中,w(dt)为非递增函数,1≤ i ≤η ; 按照如下公式计算所述待切换小区的停留持续时间de=f (di,wi)。
9.根据权利要求1-8任一所述的方法,其特征在于,在根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合之前,还包括: 判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
10.一种终端时空移动预测装置,其特征在于,包括:获取模块,用于获取终端的移动信息,所述移动信息包括终端移动过程中切换的小区、切换至该小区的切换时间和在该小区停留的持续时间; 更新模块,用于根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合; 预测模块,用于在待预测时点,基于所述终端的当前所在小区和当前时点,根据所述历史移动序列集合中对应的小区及其切换时间和持续时间,预测所述终端的后继移动信息。
11.根据权利要求10所述的装置,其特征在于,所述更新模块具体用于: 将设定更新周期内获取到的终端的移动信息作为终端的一个历史移动序列,或,从获取到的终端的移动信息中,将切换了设定次数的移动信息作为终端的一个历史移动序列; 以所述历史移动序列更新至增长逆向前缀树中,其中,所述增长逆向前缀树作为所述终端的历史移动序列集合。
12.根据权利要求11所述的装置,其特征在于,还包括: 预处理模块,用于按照设定的时段间隔,将终端在每个时段内停留时间最长的小区作为该时段的停留小区,且将相邻时段内停留小区相同的时段合并。
13.根据权利要求11所述的装置,其特征在于,所述更新模块具体用于: 在所述增长逆向前缀树中查找是否有与所述历史移动序列具有相同路径的节点序列,若是,则根据该历史移动 序列更新该节点序列中各节点的节点信息,若否,则在所述增长逆向前缀树中创建与所述历史移动序列对应的节点序列,并根据该历史移动序列更新该节点序列中各节点的节点信息。
14.根据权利要求13所述的装置,其特征在于,所述更新模块具体还用于: 将所述历史移动序列中的每个小区的小区信息、前序小区信息和后继小区信息添加至该节点序列中与该小区具有相同小区标识的节点中,其中,所述小区信息包括小区切换时间和小区持续时间,每个所述前序小区信息包括前序小区标识、前序小区切换时间和前序小区持续时间,每个所述后继小区信息包括后继小区标识、后继小区切换时间和后继小区持续时间。
15.根据权利要求14所述的装置,其特征在于,所述预测模块包括: 叠加单元,用于以所述待预测时点作为当前预测时点,在所述增长逆向前缀树中预测终端在当前所在小区的停留持续时间,将所述当前所在小区确定为待切换小区,将所述停留持续时间叠加至预测时长中; 添加信息单元,用于将所述待切换小区和对应的停留持续时间添加为所述终端的后继移动信息; 判断单元,用于判断所述预测时长是否达到最长预测周期,若是,则结束预测,若否,则执行下述步骤: 计算更新单元,用于根据所述当前预测时点和当前待切换小区对应的停留持续时间计算下一个预测起始点,更新为当前预测时点,将所述待切换小区更新为最后驻留小区; 计算预测单元,用于基于所述当前预测时点和最后驻留小区,在所述增长逆向前缀树中预测当前预测时点的待切换小区和对应的停留持续时间; 所述叠加单元,还用于将预测的待切换小区对应的停留持续时间叠加至所述预测时长中,并返回执行后继移动信息添加步骤。
16.根据权利要求15所述的装置,其特征在于,所述计算预测单元,具体用于: 以所述待预测时点to作为当前预测时点; 在所述增长逆向前缀树中查找与所述当前所在小区V对应且具有设定前缀长度K的节点,其中,所述具有设定前缀长度的节点为查找到的节点具有设定数量和设定顺序的各前序节点,所述设定顺序与所述当前所在小区在切换过程中的前序小区顺序相同; 在查找到的节点中获取大于当前所在小区已持续时间d的小区持续时间dl、d2、……和dn,以及对应的小区切换时间tl、t2、......和tn ; 按照如下公式计算各小区持续时间的加权值:wi=w(|t-ti I),其中,w(dt)为非递增函数,1≤ i ≤η ; 按照如下公式计算当前所在小区的停留持续时间:de=f (di,wi)。
17.根据权利要求15所述的装置,其特征在于,所述计算预测单元,具体还用于: 在所述增长逆向前缀树中查找与所述最后驻留小区vlast对应且具有设定前缀长度K的节点; 在查找到的节点中获取J个后继小区vl、v2、……和vj,并获得每个后继小区vj的M个切换时间tl、t2、……和tM,其中,1≤j ≤ J,所述M个切换时间为与当前预测时点最近的M个切换时间; 根据所述当前预测时点tf按照如下公式计算每个后继小区Vj的各切换时间相似度:rm=r (tf-tm),其中 1 ≤ m ≤ M ; 计算每个后继小区的相似度总和rj=rl+r2+......+rM ; 将相似度总和最高的后继小区选择为待切换小区; 在查找到的节点中获取待切换小区的η个持续时间dl、d2……、dn,以及对应的小区切换时间 tl、t2>......、tn ; 按照如下公式计算各小区持续时间的加权值:wi=w(|t-ti I),其中,w(dt)为非递增函数,1 ≤i ≤η ; 按照如下公式计算所述待切换小区的停留持续时间de=f (di,wi)。
18.根据权利要求10-17任一所述的装置,其特征在于,在根据获取到的终端的移动信息产生终端的历史移动序列,并根据所述历史移动序列更新所述终端的历史移动序列集合之前,还包括: 判断当前时间点是否为设定更新周期的结束时间,若是,则触发后续的历史移动序列集合更新操作。
【文档编号】H04W24/02GK103916885SQ201210591809
【公开日】2014年7月9日 申请日期:2012年12月31日 优先权日:2012年12月31日
【发明者】曹国祥, 基托夫·维克多 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1