买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:云南师范大学
摘要:本发明涉及一种基于特征向量的分布式自适应地铁乘客轨迹相似性搜索方法,属于轨迹相似性搜索领域。首先,从票卡记录抽取字段,转化为以OD序列表示的乘客轨迹。其次,构建OD‑分区‑存储节点的全局索引,在构建以空间和时间为基础的局部索引。接着,通过采样方式获取样本轨迹,计算轨迹分布特征,结合本地计算,网络换算等成本,计算出耗时最短搜索策略,形成特征向量到最优搜索策略的映射表。在轨迹相似性搜索过程中,一组交互规约指导参与者在分布式环境下完成任务调度,数据汇聚等功能。避免了传统搜索方法中汇聚节点存在的性能瓶颈。本发明能在大规模数据场景下执行轨迹相似性搜索,性能和处理能力明显优于现有方案。
主权项:1.一种基于特征向量的分布式自适应地铁轨迹乘客相似性搜索方法,其特征在于:包括如下步骤:Step1:收集所有轨道交通票卡采集系统产生的所有智能卡拍卡记录,智能卡拍卡记录是指乘客在地铁站进出闸机拍卡产生的票卡记录;Step2:将全部票卡记录按卡号进行分组,将每组内的票卡记录按时间排序,形成乘客轨迹,将乘客轨迹以OD序列形式保存,所有的乘客轨迹形成轨迹集合,OD,指的是乘客在地铁站内的一次行程;Step3:对所有乘客轨迹以OD为粒度进行划分,构建分布式二级索引中的全局索引,遍历每条轨迹,获取轨迹中的OD,所有轨迹中的OD构成OD集合;将OD集合划分为多个分区,每个分区内包含一个OD子集,每个分区被映射到唯一的存储节点;Step4:在每个存储节点上对分区中的OD子集构建局部索引,将每个OD拆分成O和D两个点,形成点集合,分别按照点集合中的地铁站名称,拍卡时间,进出站标记对点集合逐级进行更细粒度的划分;Step5:通过随机采样的方式获取一个轨迹子集合,分别计算轨迹子集合中每一条轨迹序列的特征向量,形成特征向量集合;Step6:针对每个特征向量,根据轨迹分布,综合考虑局部计算,数据汇聚,分布式同步的成本,计算耗时最短的最优搜索策略,形成特征向量映射到最优搜索策略的映射表;Step7:给定目标轨迹,计算目标轨迹及其对应的特征向量,根据目标轨迹对应的特征向量,在映射表中,查找并获取最优搜索策略;Step8:指定最优搜索策略、相似性度量函数、相似性阈值和过滤策略,调用轨迹相似性搜索接口;Step9:启动相似性搜索流程,分布式环境下各参与者按交互规约进行交互,执行最优搜索策略:调度器将最优搜索策略提交到分布式任务队列,分布式任务队列通知各节点获取最优搜索策略,各节点对最优搜索策略进行解析,获取涉及自身的任务清单;Step10:各节点根据任务清单,推断自己在网络数据流中的位置,连接后继节点,接受前驱节点的连接,节点之间的网络连接形成搜索策略对应的有向无环图,即DAG图;Step11:调度器按轮次执行最优搜索策略,每轮启动多个并行执行的任务,每个任务执行相同的功能,在每轮次的执行中,调度器协调各个参与者,执行数据汇聚,任务同步,中间结果汇聚,产生候选轨迹片段,上一轮产生的候选轨迹片段作为下一轮的输入;Step12:执行过滤策略:在最后一轮结束后,产生了一组候选轨迹集合,对候选轨迹集合执行过滤策略,删除不满足条件的轨迹,剩余的轨迹构成结果轨迹集合;Step13:返回Step12中的结果轨迹集合;Step6的映射表中,最优搜索策略的构建过程如下:每一种搜索策略中,凡是涉及到的节点,均会在本地执行局部计算,并将结果通过网络传输到下一个节点,每个第一次参与计算的节点到最后一个汇聚节点,都代表一个数据传输的路径,每个搜索策略的执行过程,包含多个数据传输路径,多个传输路径构成一个唯一的有向无环图,即每个搜索策略对应唯一的有向无环图;有向无环图的形式如:G=V,E1;公式1中,V为所有节点的集合,V=v1,v2,…,vp,p为节点的个数,E为所有边的集合,E=e1,e2,…,en,n为边的个数,每条边都是有向边,有向边的形式为e=vo,vd,其中vo为起始节点,vd为尾节点;在有向无环图中,一条路径代表了一系列边的集合,路径表示为:route=e1,e2,…,ek2;公式2代表一系列首尾相邻的边,边的条数为k;每个搜索策略,对应多个同时存在的路径,构成路径集合,路径集合表示为:routeSet=route1,route2,…,routeh3;公式3中,每个元素代表一条路径,路径的个数为h;每条路径的时间成本由两个公式决定,分别是节点内的数据汇聚,节点间的数据传输,节点内的数据合并成本由以下公式计算:cm=fmcostv,X4;公式4中,v代表某个节点,X代表数据量,记录的条数,该公式代表了在节点v对数据X执行汇聚需要的时间成本;节点间的数据传输和汇聚成本由以下公式计算:ct=ftcoste,X5;公式5中,e代表某条边,该公式代表了将数据X从节点e.vo传输到节点e.vd的时间成本;在公式4和5,cm和ct均为时间成本;对于任何给定的路径,其总时间成本由以下计算公式决定: 6;公式6中,route代表一个路径,ei和ek分别代表第i条边和第k条边,ek.vd代表ek这个边的尾节点,ei.vo代表ei这条边的首节点,公式分别遍历每条边,计算边的首节点处的合并成本,计算边代表的数据传输成本,加上最后一条边尾节点处的汇聚成本;一个搜索策略,包含多个并行执行的路径,搜索策略的时间成本由其耗时最长路径决定,耗时最长的路径不结束,搜索过程没有结束,耗时最长路径的计算公式形如: 7;公式7中,route*代表路径集合中耗时最长的路径,其使用公式6计算每条路径的耗时;对于每一个搜索请求,存在多个可能的策略strategy,全部可能的搜索策略构成策略集合strategySet={S1,S2,…,Sn},时间成本最低的搜索策略,称为最优搜索策略,最优搜索策略的计算公式形如: 8;公式8中,optStrategy是策略集合里面耗时最短的策略,也被称为最优搜索策略;Step6的映射表中,特征向量的计算过程如下:映射表中保存了很多元素,每个元素形如element=weightVector,L,optStrategy9;公式9中,weightVector代表轨迹的特征向量,L代表轨迹中OD的个数,optStrategy代表最优搜索策略;轨迹的特征向量由轨迹中不同的OD及其个数计算所得,其代表了轨迹片段在集群中的分布,轨迹的特征向量由以下公式:weightVector=W1,W2...,Wi,...,Wm10;公式10中,W代表权重,下标i代表第i个OD,m代表OD的个数;Wi对应物理意义是一个OD占比的权重,第i个OD的权重,是OD的个数与总OD个数的比值,具体计算公式如公式11所示:Wi=countLen11;公式11中,count代表第i个OD的个数,Len代表轨迹中全部OD的个数,Wi的取值在0~1之间,并且满足,全部节点的权重之和为1;特征向量的计算函数具体如下:resVector=getWeightVectorTR12;公式12式中,TR是一个以OD序列表示的轨迹,并且OD按时间顺序排列,TR的形式为TR=id,OD1,OD2,...,ODL;特征向量的计算接口具体实现如下:Step6.a.1:初始化一个键值对映射表kvMapkey,value,其中key为OD的编号,value为该OD出现的次数,初始化为0;初始化resVector,resVector为一个m维的向量,每个元素初始化为0;Step6.a.2:计算TR中OD的个数,OD的个数为TR.len;Step6.a.3:初始化变量i为1,遍历轨迹中的OD;Step6.a.4:判断i与TR.len的关系,若i小于TR.len,选取当前OD,currOD=TRi,TRi是轨迹TR中第i个OD;反之,转结束Step6.a.9;Step6.a.5:计算当前OD对应的编号index,index=HashOD%m;Step6.a.6:在键值对映射表kvMap中获取index对应的值count,count=kvMap.getValueindex;Step6.a.7:将count增加1,count=count+1;将count写回,kvMap.setValueindex,countStep6.a.8:i=i+1;转Step6.a.4;Step6.a.9:遍历kvMap中每个成员,分别计算每个key,value中value与L的比值,将m个比值保存在临时向量tempVector中,此处比值即为权重;Step6.a.10:对临时向量tempVector中权重按从大到小进行排序,生成新的向量sortedVector,新的向量中权重由大到小排列;Step6.a.11:将sortedVector赋值给resVector;resVector=sortedVector;Step6.a.12:返回特征向量resVector;Step6中映射表的构建过程如下:Step6.b.1:指定轨迹集合TRSet,采样率rate,初始化键值对映射表kvMapkey,value;此处TRSet代表全部乘客的轨迹,每个轨迹以OD序列方式保存;采样率rate指的是一个比值,按采样频率从全部轨迹中选出一个子集,子集作为样本集合;Step6.b.2:对轨迹集合TRSet按采样频率rate进行采样,生成轨迹样本集合sampledTRSet;Step6.b.3:初始化变量i为1,遍历样本集合sampledTRSet,sampledTRSet.len为集合中成员的个数;Step6.b.4:判断i与sampledTRSet.len的关系,若i小于sampledTRSet.len,获取第i个轨迹样本,currTR=sampledTRSeti,然后执行Step6.b.5;否则,转Step6.b.9;Step6.b.5:按公式12的方法计算该样本currTR的特征向量,调用函数wVector=getWeightVectorcurrTR;Step6.b.6:按公式7和8方式,计算轨迹currTR对应的最优策略optStrategy;Step6.b.7:将特征向量和最优策略插入映射结构,kvMap.insertwVector,optStrategy;Step6.b.8:取下一条轨迹样本,i=i+1,转Step6.b.4;Step6.b.9:结束,返回kvMap。
全文数据:
权利要求:
百度查询: 云南师范大学 一种基于特征向量的分布式自适应地铁乘客轨迹相似性搜索方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。