轨迹还原方法、装置、计算机设备及存储介质与流程
未命名
09-09
阅读:81
评论:0

1.本技术涉及通信技术领域,具体涉及一种轨迹还原方法、装置、计算机设备及存储介质。
背景技术:
2.随着交通信息采集设备自动化、智能化水平的不断提升,车辆轨迹还原技术也在不断进步,车辆轨迹还原可用于获得车辆在道路上的运行轨迹,从而对交通数据进行感知和分析。
3.在车辆轨迹还原过程中,采集设备会高频的采集大量实时车辆轨迹和车型信息,并将采集到的海量的车辆轨迹和车型数据存储于数据库,网络(web)端会基于数据库存储的海量的车辆轨迹和车型数据进行轨迹还原。
4.然而,上述轨迹还原方法无法在低时延的基础上,对海量数据进行精准筛选,实现轨迹还原。
技术实现要素:
5.本技术实施例提供一种轨迹还原方法、装置、计算机设备及存储介质,能够在低时延的基础上,对海量数据进行精准筛选,实现轨迹还原
6.一方面,本技术提供一种轨迹还原方法,所述轨迹还原方法包括:获取车辆的待还原轨迹所在的时间和空间;在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。
7.在本技术一些实施方案中,查询与所述时间和空间条件匹配的目标车辆轨迹点数据之后,所述方法还包括:将查询到的所述目标车辆轨迹点数据进行分组,得到分组后的目标车辆轨迹数据;其中,每组目标车辆轨迹数据分别与所述轨迹还原画面中的帧具有对应关系;所述通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,包括:通过所述预先建立的长连接,将所述分组后的目标车辆轨迹数据传输至所述显示设备。由于分组后的目标车辆轨迹点数据与轨迹还原画面的帧具有对应关系,因此,本实施方案中的显示设备更易于得到轨迹还原画面的帧,从而显示轨迹还原画面。
8.在本技术一些实施方案中,在存储的车辆轨迹点数据中,查询与所述时间和空间条件匹配的目标车辆轨迹点数据之前,所述方法还包括:获取预设消息系统中与所述车辆轨迹点数据对应的消息主题;其中,所述消息主题中包括多个存储有车辆轨迹点数据的分区;从多个所述分区中的目标分区拉取车辆轨迹点数据;存储所述拉取的车辆轨迹点数据。本实施方案中通过预设消息系统中多个存储有车辆轨迹点数据的分区,实现车辆轨迹点数据的接收,从而易于实现车辆轨迹点数据的并发接收,进而降低车辆轨迹点数据接收时的时延,进一步提高实时性。
9.在本技术一些实施方案中,存储所述车辆轨迹点数据之前,所述方法还包括:从所
述车辆轨迹点数据中解析出车辆轨迹点数据的采集设备标识、采集时间、车辆轨迹点位置信息、车辆标识,和车辆轨迹点时间信息;所述存储所述车辆轨迹点数据,包括:通过远程字典服务中设置的第一键值存储结构中的键存储所述采集设备标识和所述采集时间,所述第一键值存储结构中的值存储所述车辆轨迹点位置信息和车辆标识;通过远程字典服务中设置的第二键值存储结构中的键存储车辆标识,所述第二键值存储结构中的值存储车辆轨迹点时间信息。本实施方案中通过远程字典服务(remote dictionary server,redis)存储车辆轨迹点数据,由于redis数据具有高效缓存性能,能够降低车辆轨迹点数据缓存时延,进一步提高车辆轨迹还原实时性;另外,本实施例中将预设消息系统和redis结合使用,两者互补,弥补了redis消息队列能力的不足、以及kafka缓存能力的不足,实现高效的车辆轨迹点数据的接收缓存机制,提升了轨迹点还原的整体执行效率,而且,本实施例中的设置的第一存储结构和第二存储结构贴合于redis键值存储的数据特点,也更利于海量数据的筛选过滤。
10.在本技术一些实施方案中,在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据,包括:在所述存储的车辆轨迹点数据对应的车辆中,查找处于所述空间范围内的车辆;在所述处于空间范围内的车辆中,查找处于所述时间范围内的目标车辆;通过所述目标车辆得到目标车辆轨迹点数据。
11.另一方面,本技术提供一种轨迹还原方法,所述轨迹还原方法包括:通过预先建立的长连接,接收目标车辆轨迹点数据;其中,所述目标车辆轨迹点数据与待还原轨迹所在的时间和空间匹配;根据所述目标车辆轨迹点数据进行轨迹还原。
12.在本技术一些实施方案中,接收目标车辆轨迹点数据,包括:接收分组后的目标车辆轨迹点数据;其中,每组目标车辆轨迹点数据分别与轨迹还原画面中的帧具有对应关系;所述根据所述目标车辆轨迹点数据进行轨迹还原,包括:通过所述每组目标车辆轨迹数据得到所述轨迹还原画面中的帧;通过所述轨迹还原画面中的帧显示所述轨迹还原画面。
13.另一方面,本技术提供一种轨迹还原装置,所述轨迹还原装置包括:获取模块,用于获取车辆的待还原轨迹所在的时间和空间;查询模块,用于在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;发送模块,用于通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。
14.另一方面,本技术还提供一种计算机设备,所述计算机设备包括:
15.一个或多个处理器;
16.存储器;以及
17.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现上述的轨迹还原方法。
18.第四方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行上述的轨迹还原方法中的步骤。
19.本技术实施例获取时间和空间条件,在存储的车辆轨迹点数据中,查询与时间和空间条件匹配的目标车辆轨迹点数据,从而能够通过时间和空间维度对车辆轨迹点数据进行精准的查询过滤,提高客户体验感,而且,通过建立长连接,传输目标车辆轨迹点数据,能够降低目标车辆轨迹点数据传输时的时延,从而降低轨迹还原时延,提高实时性,进一步提
高客户体验感。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术实施例提供的轨迹还原方法的流程图;
22.图2是本技术实施例中提供通过kafka传输数据的示意图;
23.图3是本技术实施例中第一键值存储结构的示意图;
24.图4是本技术实施例中第二键值存储结构的示意图;
25.图5是本技术实施例中应用于显示设备的轨迹还原方法的流程图;
26.图6是本技术实施例中轨迹还原画面的示意图;
27.图7是本技术实施例中提供的轨迹还原装置的一个实施例结构示意图;
28.图8是本技术实施例中提供的另一轨迹还原装置的一个实施例结构示意图;
29.图9是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
32.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
33.需要说明的是,本技术实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实
施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
34.本技术实施例提供一种轨迹还原方法、装置、计算机设备及存储介质,以下分别进行详细说明。
35.本技术实施例中提供一种轨迹还原方法,该轨迹还原方法的执行主体为轨迹还原装置,该轨迹还原装置应用于计算机设备,如服务器等,该轨迹还原方法包括:
36.获取车辆的待还原轨迹所在的时间和空间;
37.在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;
38.通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。
39.本技术实施例获取时间和空间条件,在存储的车辆轨迹点数据中,查询与时间和空间条件匹配的目标车辆轨迹点数据,从而能够通过时间和空间维度对车辆轨迹点数据进行查询过滤,提高客户体验感,而且,通过建立长连接,传输目标车辆轨迹点数据,能够降低目标车辆轨迹点数据传输时的时延,从而降低轨迹还原时延,提高实时性,进一步提高客户体验感。
40.如图1所示,为本技术实施例中轨迹还原方法的一个实施例流程示意图,该轨迹还原方法包括:
41.步骤101,获取车辆的待还原轨迹所在的时间和空间。
42.例如,用户可以在提供的前端可视化界面上输入时间和空间,计算机设备,如服务器s可以接收前端可视化界面的时间和空间。
43.又例如,时间和空间预先设置在计算机设备中,或者与该计算机设备通信连接的其他设备中,计算机设备可以获取到该时间和空间,而无需用户设置。
44.上述的获取待还原轨迹的时间和空间的方式仅仅是示例,在实际应用过程中,可以根据需求变化,本实施例不对此进行限定。
45.步骤102,在存储的车辆轨迹点数据中,查询与时间和空间匹配的目标车辆轨迹点数据。
46.其中,车辆轨迹点数据能够反映车辆在某位置的准确的时间信息,例如,车辆标识,车辆轨迹点位置信息、车辆在该轨迹点对应的车辆轨迹点时间信息。车辆标识可以为车辆编号,如车牌号,车辆轨迹点位置信息可以为车辆坐标,如经纬度等,车辆轨迹点时间信息可以为时间戳。
47.另外,为了使得轨迹还原画面显示的信息更加丰富,车辆轨迹点数据还可以包括:车辆类型,车辆颜色等,本实施例不对此进行限定。
48.在查询过程中,若车辆轨迹点数据表征的车辆轨迹点位置信息处于获取的空间范围内,且,该车辆轨迹点数据表征的车辆轨迹点时间信息处于获取的时间范围内,则表明该车辆轨迹点数据与时间和空间匹配,即,该车辆轨迹点数据为目标车辆轨迹点数据。
49.值得一提的是,在执行步骤102之前,需要先采集、接收、存储车辆轨迹点数据。
50.具体地,在采集过程中,可以使用采集设备采集车辆轨迹点数据。其中,采集设备可以为路测设备。示例性的,路测设备以12,即1秒12次的采集频率采集车辆轨迹点数据。
51.以本实施例的执行主体为服务器s为例,在一些实施例,采集到车辆轨迹点数据之后,服务器s可以通过预设消息系统接收实时采集到的车辆轨迹点数据。其中,预设消息系统可以为分布式发布订阅消息系统(kafka)。本实施例中通过kafka进行车辆轨迹点数据的传输,实现了采集设备至服务器s的点对点的数据传输,充分利用了kafka消息队列的高并发和流处理的特点,减少了车辆轨迹点数据的延时,提高了轨迹还原的实时性。
52.在一些实施例中,可以通过远程字典服务(remote dictionary server,redis)存储接收到的车辆轨迹点数据。redis数据具有高效缓存性能,因此,通过redis存储数据能够降低车辆轨迹点数据缓存时延,进一步提高实时性。
53.在一些实施例中,可将kafka和redis结合使用,即,接收通过kafka消息队列传输的车辆轨迹点数据,并通过redis存储车辆轨迹点数据。本实施例将kafka和redis结合使用,弥补了redis消息队列能力的不足、以及kafka缓存能力的不足,实现高效的车辆轨迹点数据的接收缓存机制,提升了轨迹点还原的整体执行效率。
54.示例性的,以下结合图2中简要阐述使用kafka消息队列传输采集到的车辆轨迹点数据,并通过redis存储传输到的车辆轨迹点数据的过程。
55.图2中的生产者与采集设备对应,采集设备采集到车辆轨迹点数据后,向kafaka集群发送消息,发送的该消息包括车辆轨迹点数据。
56.kafka集群中设置有与车辆轨迹点数据对应的消息主题,即用于写入各车辆轨迹点数据的消息主题(topic),该消息主题可包括多个存储有车辆轨迹点数据的分区(partition),每个车辆轨迹点数据分区可以有多个副本,多个副本可以存储在不同的kafka节点中,多个副本中包括:一个领导分区(leader),以及除leader之外的从属分区(follower),其中,领导分区是当前负责车辆轨迹点数据读写的分区,从属分区跟随领导分区,follower与leader保持数据同步,如果leader失效,则从follower中选举出一个新的leader。当follower与leader挂掉、卡住或者同步太慢,leader会把这个follower从同步副本列表(in sync replica,isr)中删除,并重新创建一个follower。
57.例如,参照图2所示,主题a为专门负责各车辆轨迹点数据写入操作的消息主题,主题a包括多个存储有车辆轨迹点数据的分区,如主题a-轨迹p0、主题a-轨迹p1和主题a-轨迹p2,其中,主题a-轨迹p0有三个副本,在三个副本中,一个为领导主题a-轨迹p0,另外两个均为从属主题a-轨迹p0,三个副本可以存储在不同的kafka节点中,使得在一个kafka节点发生故障时,也可以通过访问其他kafka节点的分区得到数据,提高健壮性。同理,主题a-轨迹p1和主题a-轨迹p2也是如此,另外,可在不同kafka节点均衡设置领导分区,例如,在第一个kafka节点将领导分区设置为主题a-轨迹p0,在第二个kafka节点将领导分区设置为主题a-轨迹p1,在第三个kafka节点将领导分区设置为主题a-轨迹p2,以实现数据访问的负载均衡。
58.生产者可向kafka节点发送消息,该消息包括采集到的车辆轨迹点数据,kafka节点可将车辆轨迹点数据存储至领导分区,例如图2中的领导主题a-轨迹p0,存储完成之后,领导主题a-轨迹p0与另外两个从属主题a-轨迹p0保持数据同步,kafka节点向生产者发送应答消息,表征车辆轨迹点数据成功接收。
59.服务器s可以创建kafka消费者,以拉取消费数据,即接收通过kafka消息队列传输的车辆轨迹点数据。
60.在一些实施例中,服务器s获取预设消息系统中与所述车辆轨迹点数据对应的消息主题;其中,消息主题中包括多个存储有车辆轨迹点数据的分区;从多个分区中的目标分区中拉取车辆轨迹点数据;存储所述拉取的车辆轨迹点数据。也就是说,服务器s可以创建kafka消费者,通过kafka消费者,在kafka的消息主题中,获取与车辆轨迹点数据对应的主题。其中,消费者所访问的目标分区可根据预先制定的消费者分配策略决定。
61.本实施例中车辆轨迹点数据分布在kafka集群的多个存储有车辆轨迹点数据的分区中,使得车辆轨迹点数据接收时可以做到10毫秒内的延时,大幅度减少了接收时延。
62.例如,如图2所示,服务器s创建消费者1、消费者2、消费者3,上述创建的消费者属于同一消费组,该消费者中的所有消费者都订阅与车辆轨迹点数据对应的主题,即,订阅图2中用于写入车辆轨迹点数据的主题a,消费者分配策略中规定消费者1的目标分区为主题a-轨迹p0,消费者2的目标分区为主题a-轨迹p1,消费者3的目标分区为主题a-轨迹p2中,各消费者从其对应的目标分区拉取消费数据,即获取车辆轨迹点数据,然后存储拉取的车辆轨迹点数据。
63.在一些实施例,服务器s获取到车辆轨迹点数之后,可对车辆轨迹点数据进行拆分,从车辆轨迹点数据中解析出车辆轨迹点数据的采集设备标识、采集时间、车辆轨迹点位置信息、车辆标识,和车辆轨迹点时间信息。
64.本技术实施例中的车辆轨迹点数据除了车辆标识、车辆轨迹点时间信息、车辆轨迹点位置信息,还包括:采集设备标识、采集时间,一方面,是贴合于实际采集过程中,采集设备的采集场景,另一方面,车辆轨迹点时间信息在采集时间范围之内,例如采集时间以分钟为维度记载,车辆轨迹点时间以毫秒为时间记载,可以先通过待还原轨迹的时间匹配采集时间,实现较大时间范围的匹配,即,筛选出部分车辆轨迹点时间信息,再通过待还原轨迹的时间匹配筛选出的部分车辆轨迹点时间信息,进行小时间范围内的匹配,即,本实施例可以通过采集时间可以减少时间上的匹配轮数,提高查询效率,以提高轨迹还原的实时性。
65.值得一提的是,采集设备的采集范围是有限的,在实际应用过程,采集设备标识可能会与采集范围有对应关系,先通过待还原轨迹的空间匹配采集设备的采集范围,筛选出部分车辆轨迹点空间信息,实现较大空间范围的匹配,再通过待还原轨迹的空间与筛选出的部分车辆轨迹点空间信息匹配,即进行小空间范围内的匹配,本实施例通过采集设备标识可以减少空间上的匹配轮数,以提高查询效率。
66.在一些实施例中,从车辆轨迹点数据中解析出车辆轨迹点数据的采集设备标识、采集时间、车辆轨迹点位置信息、车辆标识,和车辆轨迹点时间信息之后,通过远程字典服务中设置的第一键值存储结构中的键存储所述采集设备标识和所述采集时间,所述第一键值存储结构中的值存储所述车辆轨迹点位置信息和车辆标识;通过远程字典服务中设置的第二键值存储结构中的键存储车辆标识,所述第二键值存储结构中的值存储车辆轨迹点时间信息。
67.例如,可参见图3所示,图3为第一键值存储结构的示意图,可以通过redis中geo结构存储车辆轨迹点位置信息,第一存储结构表征每个采集设备,如路测设备每分钟接收的所有车辆标识及车辆轨迹点位置。值得一提的是,在存储时还可以存储车辆的其他相关信息,参见如下所示:
68.geo:
69.cache_geo_location_its800_202109170924
70.value:
71.表1
[0072][0073][0074]
其中,上述的“its800”为采集设备标识,“202109170924”为采集时间,值(value)中的第一列为索引,第二列为通过geo标识的轨迹点位置信息,第三列为“车辆标识_时间戳_采集设备”。
[0075]
参见图4所示,为第二存储结构的示意图,可以使用redis的zset结构,存储每个车辆轨迹点时间信息,如时间戳,在第二存储结构中,除了存储图4所示的信息,也可以将车辆轨迹相关信息均存储进去,例如采集设备标识、车辆类型、车辆颜色等信息,以此,通过第二存储结构表征每辆车的轨迹,具体存储的数据在实际应用中可根据需求设置,例如,如下所示:
[0076]
zset:
[0077]
key:
[0078]
zset_imei_location_time_its800_car_its800_浙f6mw78
[0079]
value:
[0080]
表二
[0081]
11626405863492"{\
″
mode\
″
:\
″
轿车\
″
,\
″
its800uuid\":\
″
60643039530a3e422942d7ff_202107092040\
″
,
\
"ln...21626405863412"{\
″
mode\":\
″
轿车\
″
,\
″
its800uuid\
″
:\
″
60643039530a3e422942d7ff_202107092040\
″
,\"ln
…
31626405863333"{\
″
mode\
″
:\
″
轿车\
″
,\
″
its800uuld\":\
″
60643039530a3e422942d7ff_202107092040\
″
,\"ln...41626405863252"{\
″
mode\":\"轿车\
″
,\
″
its800uuld\":\
″
60643039530a3e422942d7ff_202107092040\
″
,\
″
ln...51626405863173"{\
″
mode\":
\
″
轿车\
″
,\"its800uu1d\
″
:\
″
60643039530a3e422942d7ff_ 202107092040\",\
″
ln
…
61626405863093
″
{\
″
mode\
″
:\
″
较车\",\"its800uuid\
″
:\"60643039530a3e422942d7ff_202107092040\",\"ln...71626405863013"{\
″
mode\":\
″
轿车\
″
,\
″
its800uuld\":\
″
60643039530a3e422942d7ff_202107092040\
″
,\"lh...81626405862933
″
{\
″
mode\
″
:\"轿车\",\
″
its800uuid\":\"60643039530a3e422942d7ff_202107092040\
″
,\"ln...91626405862853"{\
″
mode\
″
:\
″
轿车\
″
,\
″
its800uuld\
″
:\
″
60643039530a3e422942d7ff_202107092040\
″
,\
″
ln...101626405862773"{\
″
mode\
″
:\"轿车\
″
,\
″
its800uuld\
″
:\
″
60643039530a3e422942d7ff_202107092040\
″
,\
″
ln...
[0082]
上表中的值中第一列为索引,第二列为车辆轨迹点时间信息,第三列为其他车辆轨迹相关信息,如采集设备标识、车辆类型等等。
[0083]
基于上述存储结构,可以在存储的车辆轨迹点数据对应的车辆中,通过表1中第二列数据查找处于所述空间范围内的车辆;在处于空间范围内的车辆中,通过表2中的第二列查找处于时间范围内的目标车辆,通过目标车辆得到目标车辆轨迹点数据。
[0084]
本实施例中使用第一键值存储结构和第二键值存储结构,便于通过空间、时间、车
辆标识三个维度对轨迹数据进行快速的查询和分析,而且,经实验表明,通过上述存储结构存储的车辆轨迹数据进行查询,查询响应速度在50毫秒以内。
[0085]
在一些实施例中,查询到目标轨迹点数据之后,可直接执行步骤103。
[0086]
步骤103,通过预先建立的长连接,将目标车辆轨迹点数据发送至显示设备。显示设备可以根据所述目标车辆轨迹点显示轨迹还原画面。
[0087]
具体地,可以通过websocket建立长连接。
[0088]
在一些实施例中,查询到目标轨迹点数据之后,将查询到的目标车辆轨迹点数据进行分组,得到分组后的目标车辆轨迹数据;其中,每组目标车辆轨迹数据分别与所述轨迹还原画面中的帧具有对应关系;通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,进一步包括:通过建立的所述长连接,将所述分组后的目标车辆轨迹数据传输至所述显示设备。
[0089]
示例性的,将目标车辆轨迹点数据分成一帧一帧的目标车辆轨迹点数据组,每组车辆轨迹点数据包括本帧画面内所有的车辆位置以及该车辆的相关信息,如车型、颜色等然后,分组后的目标车辆轨迹点数据如下所示:
[0090]
[0091]
[0092]
[0093][0094]
上述timestamp为时间戳,trackpointsourcelist为本帧内所有的车辆轨迹点数据,上述代码只是目标车辆轨迹点数据组的示意,在实际应用过程中,定义的字段等可以根据需求设置。
[0095]
分组之后,利用websocket长连接的特性,将分组好的轨迹数据按时间顺序一组一组的传输到显示设备,以供显示设备基于传输的车辆轨迹数据进行还原,
[0096]
本技术实施例获取时间和空间条件,在存储的车辆轨迹点数据中,查询与时间和空间条件匹配的目标车辆轨迹点数据,从而能够通过时间和空间维度对车辆轨迹点数据进行查询过滤,提高客户体验感,而且,通过建立长连接,传输目标车辆轨迹点数据,能够降低目标车辆轨迹点数据传输时的时延,从而降低轨迹还原时延,提高实时性,另外,利用kafka消息队列的高并发和流处理的特点,接收实时车辆轨迹点数据,能够提高数据计算机设备接收数据的实时性,利用redis的高效缓存性能,提高缓存的实时性,从而进一步提高客户体验感。
[0097]
本技术实施例还提供一种轨迹还原方法,本实施例的轨迹还原方法可以应用于具有显示功能的计算机设备,本技术实施例的轨迹换方法包括:
[0098]
通过预先建立的长连接,接收目标车辆轨迹点数据;其中,所述目标车辆轨迹点数据与待还原轨迹所在的时间和空间匹配;
[0099]
根据所述目标车辆轨迹点数据进行轨迹还原。
[0100]
本技术实施例获取时间和空间条件,在存储的车辆轨迹点数据中,查询与时间和空间条件匹配的目标车辆轨迹点数据,从而能够通过时间和空间维度对车辆轨迹点数据进行查询过滤,提高客户体验感,而且,通过建立长连接,传输目标车辆轨迹点数据,能够降低目标车辆轨迹点数据传输时的时延,从而降低轨迹还原时延,提高实时性,进一步提高客户
体验感。
[0101]
如图5所示,为本实施中轨迹还原方法的一个实施例流程示意图,该轨迹还原方法包括:
[0102]
步骤501,通过预先建立的长连接,接收目标车辆轨迹点数据。
[0103]
其中,目标车辆轨迹点数据与待还原轨迹所在的时间和空间匹配。
[0104]
在一些实施例,接收的目标轨迹点数据具体为分组后的目标轨迹点数据,其中,每组目标车辆轨迹点数据分别与轨迹还原画面中的帧具有对应关系。
[0105]
步骤502,根据目标车辆轨迹点数据进行轨迹还原。
[0106]
在一些实施例中,通过每组目标车辆轨迹数据得到轨迹还原画面中的帧;通过所述轨迹还原画面中的帧显示所述轨迹还原画面。
[0107]
示例性的,显示设备接收到每帧画面所需要的目标车辆轨迹点数据后,基于cesium三维引擎显示轨迹还原画面,轨迹还原画面示意图可参照图6所示。
[0108]
本技术实施例能实现全息的轨迹还原,经实验证明,本技术实施例的轨迹还原最大时延可以控制在200ms内,能保证与现场监控摄像头的画面同步;另外,还支持时间、空间、车辆标识三个维度,对轨迹数据进行查询过滤。
[0109]
也就是说,本技术实施例在低时延的基础上,对海量数据进行精准筛选,实现轨迹还原,而且,由于分组后的目标车辆轨迹点数据与轨迹还原画面的帧具有对应关系,使得显示设备更易于得到轨迹还原画面的帧。
[0110]
本技术实施例还提供一种车辆轨迹还原装置,其可以应用于计算机设备,如服务器等,本实施例的车辆轨迹还原装置包括:获取模块701,用于获取车辆的待还原轨迹所在的时间和空间;查询模块702,用于在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;发送模块703,用于通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。
[0111]
在本技术一些实施方案中,查询模块702进一步用于查询与所述时间和空间条件匹配的目标车辆轨迹点数据之后,将查询到的所述目标车辆轨迹点数据进行分组,得到分组后的目标车辆轨迹数据;其中,每组目标车辆轨迹数据分别与所述轨迹还原画面中的帧具有对应关系;所述通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,包括:通过所述预先建立的长连接,将所述分组后的目标车辆轨迹数据传输至所述显示设备。
[0112]
在一些实施方案中,查询模块702进一步用于在存储的车辆轨迹点数据中,查询与所述时间和空间条件匹配的目标车辆轨迹点数据之前,获取预设消息系统中与所述车辆轨迹点数据对应的消息主题;其中,所述消息主题中包括多个存储有车辆轨迹点数据的分区;从所述多个分区的目标分区中拉取车辆轨迹点数据;存储所述拉取的车辆轨迹点数据。
[0113]
在一些实施方案中,查询模块702进一步用于从所述车辆轨迹点数据中解析出车辆轨迹点数据的采集设备标识、采集时间、车辆轨迹点位置信息、车辆标识,和车辆轨迹点时间信息;通过远程字典服务中设置的第一键值存储结构中的键存储所述采集设备标识和所述采集时间,所述第一键值存储结构中的值存储所述车辆轨迹点位置信息和车辆标识;通过远程字典服务中设置的第二键值存储结构中的键存储车辆标识,所述第二键值存储结
构中的值存储车辆轨迹点时间信息。
[0114]
在一些实施方案中,查询模块702进一步用于在所述存储的车辆轨迹点数据对应的车辆中,查找处于所述空间范围内的车辆;在所述处于空间范围内的车辆中,查找处于所述时间范围内的目标车辆;通过所述目标车辆得到目标车辆轨迹点数据。
[0115]
本技术实施例还提供一种车辆轨迹还原装置,其可以应用于计算机设备,该计算机设备具有画面显示功能,本实施例的车辆轨迹还原装置包括:接收模块801,用于通过预先建立的长连接,接收目标车辆轨迹点数据;其中,所述目标车辆轨迹点数据与待还原轨迹所在的时间和空间匹配;还原模块802,用于根据所述目标车辆轨迹点数据进行轨迹还原。
[0116]
在一些实施方案中,接收模块801进一步用于接收分组后的目标车辆轨迹点数据;其中,每组目标车辆轨迹点数据分别与轨迹还原画面中的帧具有对应关系;还原模块802进一步用于通过所述每组目标车辆轨迹数据得到所述轨迹还原画面中的帧;通过所述轨迹还原画面中的帧显示所述轨迹还原画面。
[0117]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种轨迹还原装置,所述计算机设备包括:
[0118]
一个或多个处理器;
[0119]
存储器;以及
[0120]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述轨迹还原方法实施例中任一实施例中所述的轨迹还原方法中的步骤。
[0121]
本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种轨迹还原装置。如图9所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:
[0122]
该计算机设备可以包括一个或者一个以上处理核心的处理器901、一个或一个以上计算机可读存储介质的存储器902、电源903和输入单元904等部件。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0123]
处理器901是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器901可包括一个或多个处理核心;优选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。
[0124]
存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以
包括存储器控制器,以提供处理器901对存储器902的访问。
[0125]
计算机设备还包括给各个部件供电的电源903,优选的,电源903可以通过电源管理系统与处理器901逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源903还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0126]
该计算机设备还可包括输入单元904,该输入单元904可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0127]
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现上述实施例的轨迹还原方法。
[0128]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0129]
为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种轨迹还原方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
[0130]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0131]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0132]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0133]
以上对本技术实施例所提供的一种轨迹还原方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种轨迹还原方法,其特征在于,所述轨迹还原方法包括:获取车辆的待还原轨迹所在的时间和空间;在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。2.根据权利要求1所述的轨迹还原方法,其特征在于,所述查询与所述时间和空间条件匹配的目标车辆轨迹点数据之后,所述方法还包括:将查询到的所述目标车辆轨迹点数据进行分组,得到分组后的目标车辆轨迹数据;其中,每组目标车辆轨迹数据分别与所述轨迹还原画面中的帧具有对应关系;所述通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,包括:通过所述预先建立的长连接,将所述分组后的目标车辆轨迹数据传输至所述显示设备。3.根据权利要求1所述的轨迹还原方法,其特征在于,所述在存储的车辆轨迹点数据中,查询与所述时间和空间条件匹配的目标车辆轨迹点数据之前,所述方法还包括:获取预设消息系统中与车辆轨迹点数据对应的消息主题;其中,所述消息主题中包括多个存储有车辆轨迹点数据的分区;从多个所述分区中的目标分区,拉取车辆轨迹点数据;存储所述拉取的车辆轨迹点数据。4.根据权利要求3所述的轨迹还原方法,其特征在于,所述存储所述车辆轨迹点数据之前,所述方法还包括:从所述车辆轨迹点数据中解析出车辆轨迹点数据的采集设备标识、采集时间、车辆轨迹点位置信息、车辆标识,和车辆轨迹点时间信息;所述存储所述车辆轨迹点数据,包括:通过远程字典服务中设置的第一键值存储结构中的键存储所述采集设备标识和所述采集时间,所述第一键值存储结构中的值存储所述车辆轨迹点位置信息和车辆标识;通过远程字典服务中设置的第二键值存储结构中的键存储车辆标识,所述第二键值存储结构中的值存储车辆轨迹点时间信息。5.根据权利要求1至4中任一项所述的轨迹还原方法,其特征在于,所述在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据,包括:在所述存储的车辆轨迹点数据对应的车辆中,查找处于所述空间范围内的车辆;在所述处于空间范围内的车辆中,查找处于所述时间范围内的目标车辆;通过所述目标车辆得到目标车辆轨迹点数据。6.一种轨迹还原方法,其特征在于,所述轨迹还原方法包括:通过预先建立的长连接,接收目标车辆轨迹点数据;其中,所述目标车辆轨迹点数据与待还原轨迹所在的时间和空间匹配;根据所述目标车辆轨迹点数据进行轨迹还原。7.根据权利要求6所述的轨迹还原方法,其特征在于,所述接收目标车辆轨迹点数据,包括:接收分组后的目标车辆轨迹点数据;其中,每组目标车辆轨迹点数据分别与轨迹还原
画面中的帧具有对应关系;所述根据所述目标车辆轨迹点数据进行轨迹还原,包括:通过所述每组目标车辆轨迹数据得到所述轨迹还原画面中的帧;通过所述轨迹还原画面中的帧显示所述轨迹还原画面。8.一种轨迹还原装置,其特征在于,包括:获取模块,用于获取车辆的待还原轨迹所在的时间和空间;查询模块,用于在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;发送模块,用于通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。9.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至6中任一项所述的轨迹还原方法,或者,以实现权利要求6或7所述的轨迹还原方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至5中任一项所述的轨迹还原方法,或者,权利要求6或7所述的轨迹还原方法中的步骤。
技术总结
本申请公开了一种轨迹还原方法、装置、计算机设备及存储介质,该轨迹还原方法包括:获取车辆的待还原轨迹所在的时间和空间;在存储的车辆轨迹点数据中,查询与所述时间和空间匹配的目标车辆轨迹点数据;通过预先建立的长连接,将所述目标车辆轨迹点数据发送至所述显示设备,以使得所述显示设备根据所述目标车辆轨迹点显示轨迹还原画面。本申请实施例的轨迹还原方法能够在低时延的基础上,对海量数据进行精准筛选,实现轨迹还原。实现轨迹还原。实现轨迹还原。
技术研发人员:余孟超 王磊
受保护的技术使用者:丰图科技(深圳)有限公司
技术研发日:2022.02.24
技术公布日:2023/9/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/