赛段匹配系统、方法及计算机可读存储介质与流程

摘要: 本发明涉及智能穿戴设备,特指一种赛段匹配系统、方法及计算机可读存储介质。背景技术:1、当前,基于手机或其他gnss设备记录户外运动轨迹(如骑行、跑步等)已成为运...
赛段匹配系统、方法及计算机可读存储介质与流程

本发明涉及智能穿戴设备,特指一种赛段匹配系统、方法及计算机可读存储介质。

背景技术:

1、当前,基于手机或其他gnss设备记录户外运动轨迹(如骑行、跑步等)已成为运动爱好者的常用方式;运动轨迹数据通常包括时间戳、经纬度、海拔、速度等信息,部分设备还可记录心率、踏频、功率等运动生理数据;通过将这些数据同步至云端,可以为用户提供运动轨迹的数据分析、分享及训练指导等服务。

2、然而,随着用户数量及赛段数量的不断增长,云端需要在大规模数据下实现用户轨迹与海量赛段的实时匹配,这对系统的处理效率提出了较高要求;现有方案通常采用全量遍历的方式进行匹配计算,即逐条将用户轨迹与数据库中所有赛段进行比对,当赛段数量达到万级甚至十万级以上时,匹配耗时会急剧增加,难以满足实时性需求。

技术实现思路

1、本发明的目的在于克服现有技术的缺陷,提供一种赛段匹配系统、方法及计算机可读存储介质,解决现有技术中现有赛段匹配系统在大规模数据下匹配效率低的问题。

2、为实现上述目的,本发明提供一种赛段匹配系统,包括客户端和云端;所述客户端包括数据收集模块和数据传输模块;其中,

3、所述数据收集模块用于收集用户的运动数据并输送给数据传输模块;

4、所述数据传输模块用于将运动数据和路书传输给云端;

5、所述云端包括数据存储模块、空间索引模块、数据匹配模块和数据推送模块;其中,

6、所述数据存储模块用于存储运动数据和路书;

7、所述空间索引模块用于获取数据存储模块中存储的至少一个路书的地理位置信息,根据所述地理位置信息构建空间索引,以及根据所述运动数据的地理位置信息在空间索引中进行搜索,得到候选路书集合;

8、所述数据匹配模块用于对候选路书集合中的路书与运动数据进行匹配,以确定与所述运动数据相匹配的目标路书;

9、所述数据推送模块用于将目标路书的匹配结果推送给客户端。

10、通过采用这种技术方案,通过空间索引模块对路书的地理位置信息构建空间索引,并根据运动数据的地理位置信息在空间索引中进行搜索得到候选路书集合,使数据匹配模块仅需对候选路书集合中的少量路书进行匹配计算,避免了全量路书的遍历匹配,大幅提升了大规模赛段场景下的匹配效率,解决现有技术无法兼顾匹配实时性与数据规模的技术问题。

11、进一步的,所述云端还包括数据处理模块和数据优化模块;其中,

12、所述数据处理模块用于对路书进行去除异常数据及均匀化处理,并生成赛段数据;

13、所述数据优化模块用于对与赛段数据存在位置重合的运动数据进行数据清洗及均匀化处理,并将处理后的所述运动数据输送给数据匹配模块。

14、通过采用这种技术方案,通过数据处理模块对路书进行去除异常数据及均匀化处理生成赛段数据,并通过数据优化模块对运动数据进行数据清洗及均匀化处理,保证了路书和运动数据的数据质量,为后续精确匹配提供了标准的数据基础,从而提高匹配的准确率。

15、进一步的,所述空间索引模块根据路书的地理包围盒构建rtree空间索引;

16、所述空间索引模块以运动数据的地理包围盒为查询条件在rtree空间索引中进行范围搜索,得到所述候选路书集合。

17、通过采用这种技术方案,通过rtree空间索引结构以路书的地理包围盒为空间键构建索引,以运动数据的地理包围盒为查询条件进行范围搜索,实现了高效的空间范围查询;rtree索引的时间复杂度为对数级别,能够支持十万级赛段规模的实时在线匹配,显著优于全量遍历的线性复杂度。

18、进一步的,所述数据匹配模块采用序列匹配算法对候选路书集合中的路书与运动数据进行匹配,具体包括:

19、获取所述运动数据中的多个运动轨迹点及候选路书集合中路书的多个路书轨迹点,分别构建运动轨迹点序列和路书轨迹点序列;

20、通过距离矩阵计算所述运动轨迹点序列中各点与路书轨迹点序列中各点之间的距离,当所述距离小于预设阈值时标记为匹配点;

21、根据连续所述匹配点的数量确定运动数据与路书是否匹配成功。

22、通过采用这种技术方案,通过距离矩阵计算运动轨迹点序列与路书轨迹点序列中各点之间的距离,以连续匹配点的数量判断是否匹配成功,实现了轨迹与路书的精确匹配;距离矩阵匹配算法执行效率高,针对数以万计的赛段和轨迹的实时匹配,可以做到秒级的数据匹配。

23、进一步的,所述数据匹配模块还用于当运动数据包含同一路线的多圈骑行数据时,执行绕圈匹配:

24、以步进方式依次选取所述运动轨迹点序列中的多个起点,从每个起点开始分别与所述路书轨迹点序列进行匹配,得到多个候选匹配段;

25、对各所述候选匹配段分别计算匹配率,将所述匹配率超过预设阈值的候选匹配段确定为有效匹配段;

26、为每个所述有效匹配段分配独立的圈次编号。

27、通过采用这种技术方案,在基础匹配之上提供绕圈匹配功能,当用户在同一路线上进行多圈骑行时,通过步进扫描方式自动识别每一圈的运动数据并分配独立的圈次编号,无需用户手动标记圈次,解决了多圈骑行无法精细化分析的技术问题,使用户可以查看逐圈的数据对比,直观了解每圈的表现变化。

28、进一步的,所述数据匹配模块还用于识别运动数据相对于路书的运动方向,当识别结果为反方向匹配时,将相邻的反方向匹配段进行合并。

29、通过采用这种技术方案,通过识别运动数据相对于路书的运动方向,在反方向匹配时自动合并相邻反方向匹配段,支持正反双向匹配,避免重复计数,确保匹配数据的准确性,进一步提高了绕圈匹配的可靠性。

30、本发明还提供一种赛段匹配方法,包括:

31、获取用户的运动数据和至少一个路书;

32、根据各所述路书的地理位置信息构建空间索引;

33、根据所述运动数据的地理位置信息在空间索引中进行搜索,得到候选路书集合;

34、对所述候选路书集合中的路书与运动数据进行匹配,确定与所述运动数据相匹配的目标路书;

35、将所述目标路书的匹配结果推送给用户。

36、进一步的,根据各所述路书的地理位置信息构建空间索引包括:

37、对各所述路书的轨迹点进行等距均匀化插值处理;

38、计算各所述路书的地理包围盒;

39、以各所述地理包围盒为空间键构建rtree空间索引。

40、进一步的,对所述候选路书集合中的路书与运动数据进行匹配包括:

41、获取所述运动数据中的多个运动轨迹点及候选路书集合中路书的多个路书轨迹点;

42、通过滑动窗口算法对所述运动轨迹点序列进行逐段扫描,将每个扫描段与所述路书轨迹点序列进行匹配,得到至少一个候选匹配段,并计算各所述候选匹配段的匹配率,将所述匹配率超过预设阈值的候选匹配段确定为有效匹配段;

43、将所述有效匹配段为多个时,为各所述有效匹配段分别分配圈次编号,并分别提取各所述有效匹配段对应的运动数据,根据各所述有效匹配段对应的运动数据计算各圈次的运动参数;

44、所述运动参数包括运动时间、平均速度、最大速度、平均心率、最大心率、平均踏频、最大踏频、平均功率、最大功率中的至少一项。

45、进一步的,将每个扫描段与路书轨迹点序列进行匹配包括:

46、采用双指针法分别遍历所述扫描段中的运动轨迹点和路书轨迹点序列中的路书轨迹点,计算两两之间的距离,当所述距离小于预设匹配阈值时标记为匹配点;

47、累计匹配点数量,根据所述匹配点数量计算扫描段与路书的匹配率。

48、进一步的,还包括:

49、根据所述运动轨迹点序列与路书轨迹点序列的匹配顺序识别运动方向;

50、当识别结果为反方向匹配时,将相邻的反方向有效匹配段进行合并。

51、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有赛段匹配程序,所述赛段匹配程序被处理器执行时实现所述的赛段匹配方法。

52、本发明与现有技术相比,具有以下有益效果:

53、1、通过空间索引模块对路书的地理位置信息构建rtree空间索引,在进行赛段匹配前先以运动数据的地理包围盒为查询条件在索引中进行范围搜索,快速筛选出候选路书集合,使后续精细匹配仅需对候选路书集合中的少量路书进行计算,避免了全量路书的遍历匹配,将匹配效率提升数个数量级,支持十万级赛段规模的实时在线匹配。

54、2、在基础匹配算法之上进一步提供了绕圈匹配模式;当用户在同一路线上进行多圈重复骑行时,系统通过滑动窗口算法对轨迹数据进行逐段扫描,配合双指针距离匹配,能够自动识别每一圈的运动数据,无需用户手动标记圈次;每个有效匹配段被分配独立的圈次编号,每一圈的运动数据独立记录并入库保存,用户可以查看逐圈的数据对比和分析,包括每圈的用时、平均速度、最大速度、心率区间、功率输出等运动参数,直观了解多圈训练中每一圈的表现变化。

55、3、支持正方向骑行和反方向骑行的自动识别,根据轨迹点序列与路书点序列的匹配顺序自动判断运动方向;当检测到反方向匹配时,算法自动合并相邻反向绕圈段,避免重复计数,确保匹配数据的准确性。