轨迹模拟方法、装置、计算机设备和存储介质与流程

文档序号:32909697发布日期:2023-01-13 03:51阅读:27来源:国知局
轨迹模拟方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机领域,特别是涉及一种轨迹模拟方法、装置、计算机设备和存储介质。


背景技术:

2.随着移动互联网应用在生活中的逐步渗透,大量app(application,应用程序)引入了位置服务能力,其中的导航、定位等功能更是给人们的工作生活带来了极大地便利。例如地图导航、网约车司乘同显等功能可以帮助人们通过手机解决出行过程中的问题。
3.为了给用户提供更准确,更高效的位置服务,在产品迭代的过程中对app的导航定位功能进行专项测试成为了必要的关键环节。
4.现有技术中,测试人员会通过两种方式进行功能验证。

效仿用户实际使用方式进行实际路测,这种方式能够更直观的看到产品工作表现,但效率低,测试覆盖度也不够充分;

通过市面上常用的位置模拟工具进行单点位置模拟和路线位置模拟,尽管这种方式可以一定程度的提升测试效率,但是自动生成的点位信息与真实情况差距较大,测试的覆盖度会受到很大影响。因而,如果提高测试效率以及测试覆盖率成为亟需解决的问题。


技术实现要素:

5.本技术针对上述不足或缺点,提供了一种轨迹模拟方法、装置、计算机设备和存储介质,本技术实施例能够提高测试效率以及测试覆盖率。
6.本技术根据第一方面提供了一种轨迹模拟方法,在一个实施例中,该方法应用于包括模拟客户端和模拟服务器的轨迹模拟系统;上述方法包括:
7.模拟客户端响应于轨迹获取指令,向模拟服务器发送携带轨迹标识的获取轨迹信息的请求;
8.模拟服务器响应于请求,根据轨迹标识从预存的多条真实轨迹中确定目标轨迹,以及将构成目标轨迹的每一点串的点串信息发送至模拟客户端;
9.模拟客户端根据每一点串的点串信息在应用界面显示包含每一点串对应的可视化元素的地图;
10.模拟客户端响应于轨迹模拟指令,根据每一点串的点串信息模拟目标轨迹。
11.在一个实施例中,模拟客户端响应于轨迹获取指令之前,上述方法还包括:
12.模拟客户端向模拟服务器请求获取轨迹列表信息,以及根据模拟服务器提供的轨迹列表信息在应用界面上显示包含目标轨迹的轨迹列表;轨迹列表包含多条轨迹以及每一轨迹的起终点信息;
13.模拟客户端接收由用户对轨迹列表中目标轨迹进行选择操作所触发的轨迹获取指令。
14.在一个实施例中,每一点串的点串信息包括该点串的经纬度信息、速度信息、方向信息、生成时间、定位精度信息以及海拔信息;
15.模拟客户端根据每一点串的点串信息模拟目标轨迹,包括:
16.模拟客户端按生成时间从早到晚依次根据各点串的点串信息调用安卓系统提供的location接口以模拟目标轨迹。
17.在一个实施例中,模拟客户端根据任一点串的点串信息调用安卓系统提供的locationmanager接口时,包括:
18.模拟客户端将该任一点串的点串信息传入locationmanager接口;或,
19.模拟客户端根据预设倍速系数修改该任一点串的点串信息中的速度信息,得到该任一点串的新的点串信息,将该任一点串的新的点串信息传入locationmanager接口;预设倍速系数是模拟客户端在模拟目标轨迹之前或模拟目标轨迹的过程中,根据用户触发的模拟速度设置指令进行确定。
20.在一个实施例中,上述方法还包括:
21.模拟服务器对预先采集的真实轨迹数据进行格式化处理,得到多条真实轨迹以及每一真实轨迹的轨迹信息,以及将多条真实轨迹以及每一真实轨迹的全部点串信息进行持久化;真实轨迹数据是模拟服务器采集自业务系统和/或各用户客户端;任一真实轨迹的轨迹信息包括构成该任一真实轨迹的每一点串的点串信息。
22.在一个实施例中,上述方法还包括:
23.模拟服务器生成用于对多条真实轨迹的轨迹信息进行数据操作的操作接口;
24.模拟服务器通过操作接口接收针对任一真实轨迹的轨迹信息进行数据操作的入参,根据入参对该任一真实轨迹的轨迹信息进行数据操作;数据操作包括增、删、查和改中的一项或多项。
25.在一个实施例中,模拟客户端根据每一点串的点串信息模拟目标轨迹时,上述方法还包括:
26.模拟客户端在应用界面上通过悬浮控件显示目标轨迹的模拟进度信息。
27.本技术根据第二方面提供了一种轨迹模拟系统,在一个实施例中,该系统包括模拟客户端和模拟服务器;其中,
28.模拟客户端,用于响应于轨迹获取指令,向模拟服务器发送携带轨迹标识的获取轨迹信息的请求;
29.模拟服务器,用于响应于请求,根据轨迹标识从预存的多条真实轨迹中确定目标轨迹,以及将构成目标轨迹的每一点串的点串信息发送至模拟客户端;
30.模拟客户端,用于根据每一点串的点串信息在应用界面显示包含每一点串对应的可视化元素的地图,以及响应于轨迹模拟指令,根据每一点串的点串信息模拟目标轨迹。
31.本技术根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
32.本技术根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
33.在本技术实施例中,将使用者(如货运司机)实际走过的轨迹保存下来,进过一系列处理而得到各条上述的真实轨迹。可以提高测试覆盖度,让测试人员更容易复现应用程序的使用者在使用地图相关功能时所遇到的问题,从而可以更快解决问题,提高了测试效
率,为使用者提供更好的使用体验。
34.在使用真实轨迹的基础上,还通过丰富点串的点串信息来提高轨迹模拟的真实度,使得测试人员可以更快定位出问题以及进一步提高测试效率。
附图说明
35.图1为一个实施例中一种轨迹模拟方法的应用环境图;
36.图2为一个实施例中一种轨迹模拟方法的流程示意图;
37.图3为一个实施例中显示轨迹列表的流程示意图;
38.图4-1为一个实施例中轨迹列表的显示效果示意图;
39.图4-2为另一个实施例中轨迹列表的显示效果示意图;
40.图5为一个实施例中一种轨迹模拟装置的结构框图;
41.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
43.本技术提供了一种轨迹模拟方法。在一个实施例中,该轨迹模拟方法可以应用于如图1所示的应用环境中。其中,图1所示的10为模拟客户端,20为模拟服务器,模拟客户端可以包括但不限于是各种移动设备,如笔记本电脑、智能手机、平板电脑等,模拟服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
44.下面以该方法应用于轨迹模拟系统为例进行说明,该轨迹模拟系统包括图1所示的模拟客户端和模拟服务器。本技术实施例提供的一种轨迹模拟方法包括如图2所示的步骤,即:
45.s110:模拟客户端响应于轨迹获取指令,向模拟服务器发送携带轨迹标识的获取轨迹信息的请求。
46.模拟客户端上安装有应用程序,用户(如测试人员)通过操作应用程序来使模拟客户端与模拟服务器进行交互,以实现本技术实施例提供的轨迹模拟方法。
47.其中,应用程序可以向用户展示多个轨迹,用户可以根据需求从中选择目标轨迹(可以是任一条轨迹)来进行模拟,其中,用户对目标轨迹进行选定操作即可触发轨迹获取指令,该轨迹获取指令与目标轨迹的轨迹标识(如轨迹id)关联。本实施例不对上述选定操作进行限定,例如可以是用户对页面上目标轨迹进行的触摸、点击操作等等。模拟客户端会响应于用户针对目标轨迹触发的轨迹获取指令,向模拟服务器发送用于获取目标轨迹的轨迹信息的请求,该请求中携带有目标轨迹的轨迹标识。
48.具体地,在一些实施例中,如图3所示,模拟客户端响应于轨迹获取指令之前,上述方法还可以包括:
49.s210:模拟客户端向模拟服务器请求获取轨迹列表信息,以及根据模拟服务器提供的轨迹列表信息在应用界面上显示包含目标轨迹的轨迹列表;轨迹列表包含多条轨迹以及每一轨迹的起终点信息;
50.s220:模拟客户端接收由用户对轨迹列表中目标轨迹进行选择操作所触发的轨迹获取指令。
51.示例性地,模拟客户端在应用界面提供的轨迹列表可以参见图4-1所示,图4-1中示出了6条轨迹,用户点击某一轨迹以选中该轨迹为目标轨迹,即可触发轨迹获取指令(选中的显示效果可参见图4-2),每条轨迹均包含起终点信息,例如最上面一条轨迹的起终点信息是“昌平区政府”(起点)和“天安门广场”(终点),除了起终点信息,还包括轨迹id,如1650529752845。
52.s120:模拟服务器响应于请求,根据轨迹标识从预存的多条真实轨迹中确定目标轨迹,以及将构成目标轨迹的每一点串的点串信息发送至模拟客户端。
53.模拟服务器存有多条真实轨迹以及每一真实轨迹的轨迹信息,每条真实轨迹均分配了唯一标识,每一真实轨迹的轨迹信息包括构成该真实轨迹的每一点串的点串信息。点串可以是gps(global positioning system,全球定位系统)的位置点。
54.模拟服务器接收到获取轨迹信息的请求后,将请求中携带的轨迹标识对应的真实轨迹确定为目标轨迹,然后将目标轨迹的轨迹信息发送给模拟客户端,以便模拟客户端进行后续操作。
55.现有技术进行轨迹模拟时,点串信息通常只是经纬度信息,然而,考虑到在真实使用场景中,轨迹上的每一点串的点串信息还有其他信息,如速度、方向等信息,因而,为了能够更真实地进行轨迹模拟,本技术实施例中,每一点串的点串信息除了包含该点串的经纬度信息,还包括速度信息、方向信息、生成时间、定位精度信息以及海拔信息。现有的位置模拟工具所提供的轨迹(或称为路线),是通过调用地图提供商的接口实时计算出来的,实时计算出来的轨迹与真实情况符合程度不高,因而在本技术实施例中,将使用者(如货运司机)实际走过的轨迹保存下来,进过一系列处理而得到各条上述的真实轨迹。通过丰富点串的点串信息以及利用使用者实际走过的轨迹来进行测试,可以让测试人员更容易复现应用程序的使用者在使用地图相关功能时所遇到的问题,从而可以更快解决问题,为使用者提供更好的使用体验。
56.以下对真实轨迹的生成过程进行介绍。
57.在一个实施例中,模拟服务器对预先采集的真实轨迹数据进行格式化处理,得到多条真实轨迹以及每一真实轨迹的轨迹信息,以及将多条真实轨迹以及每一真实轨迹的全部点串信息进行持久化;真实轨迹数据是模拟服务器采集自业务系统和/或各用户客户端;任一真实轨迹的轨迹信息包括构成该任一真实轨迹的每一点串的点串信息。
58.使用者实际走过的轨迹相关信息可以从业务系统中导出,或者由用户客户端(安装应用程序的用户终端)主动保存使用者走过的轨迹相关信息然后上报至模拟服务器。
59.模拟服务器会对采集到的每一轨迹的轨迹相关信息进行格式化,得到每一轨迹的轨迹信息。
60.进一步地,在一个实施例中,为了便于对生成的真实轨迹进行管理,模拟服务器生成用于对多条真实轨迹的轨迹信息进行数据操作的操作接口;数据操作包括增、删、查和改中的一项或多项。模拟服务器通过操作接口接收针对任一真实轨迹的轨迹信息进行数据操作的入参,根据入参对该任一真实轨迹的轨迹信息进行数据操作。
61.本实施例中,模拟服务器通过提供给相关使用者(如测试人员、开发人员)增、删、
改、查等操作入口,以便在后续的轨迹模拟中达到更高的效率和更精准的目的。
62.s130:模拟客户端根据每一点串的点串信息在应用界面显示包含每一点串对应的可视化元素的地图。
63.示例性地,模拟客户端在应用界面显示每一点串对应的可视化元素可参见图4-2所示,其中显示了轨迹的起点和终点,以及经过的路线。
64.s140:模拟客户端响应于轨迹模拟指令,根据每一点串的点串信息模拟目标轨迹。
65.示例性地,如图4-1或图4-2所示,轨迹列表中的每条轨迹均对应一个按钮“开始模拟”,用户点击“开始模拟”即可触发轨迹模拟指令,模拟客户端会响应于轨迹模拟指令开始轨迹模拟。
66.本技术上述实施例能够提高测试效率以及测试覆盖率。
67.为了方便用户了解轨迹模拟情况,在一些实施例中,模拟客户端根据每一点串的点串信息模拟目标轨迹时,上述方法还包括:模拟客户端在应用界面上通过悬浮控件显示目标轨迹的模拟进度信息。模拟进度信息可以包括模拟进度的百分比。进一步地,悬浮控件还可以显示当前模拟到的点串的点串信息。
68.在一个实施例中,模拟客户端根据每一点串的点串信息模拟目标轨迹,包括:模拟客户端按生成时间从早到晚依次根据各点串的点串信息调用安卓系统提供的location接口以模拟目标轨迹。
69.以图4-1和图4-2为例,当测试人员点击“开始模拟”按钮之后,模拟客户端就会创建一个服务,该服务会依次读取目标轨迹的点串的点串信息,并将这些信息作为参数传给安卓系统(android)的locationmanager接口,实现轨迹模拟。
70.具体地,模拟客户端根据任一点串的点串信息调用安卓系统提供的locationmanager接口时,包括:
71.模拟客户端将该任一点串的点串信息传入locationmanager接口;或,
72.模拟客户端根据预设倍速系数修改该任一点串的点串信息中的速度信息,得到该任一点串的新的点串信息,将该任一点串的新的点串信息传入locationmanager接口;预设倍速系数是模拟客户端在模拟目标轨迹之前或模拟目标轨迹的过程中,根据用户触发的模拟速度设置指令进行确定。
73.轨迹模拟提供两种方式,一种以真实轨迹原本的速度进行复现,为了提高测试效率,本实施例还提供了倍速模拟的方案,即模拟客户端在将点串信息的速度信息传给locationmanager接口之前,先将该速度信息乘以预设的倍速系数后再传递给locationmanager接口,从而实现倍速回放。例如,原本的速度信息是60千米/小时,乘以预设倍速系数1.5即可得到新的速度信息为90千米/小时。
74.图2-3为一个实施例中轨迹模拟方法的流程示意图。应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
75.基于相同的发明构思,本技术还提供了一种轨迹模拟系统。在一个实施例中,如图5所示,该轨迹模拟系统包括模拟客户端(即图4所示的模拟客户端110)和模拟服务器(即图4所示的模拟服务器120)。
76.其中,模拟客户端,用于响应于轨迹获取指令,向模拟服务器发送携带轨迹标识的获取轨迹信息的请求;
77.模拟服务器,用于响应于请求,根据轨迹标识从预存的多条真实轨迹中确定目标轨迹,以及将构成目标轨迹的每一点串的点串信息发送至模拟客户端;
78.模拟客户端,用于根据每一点串的点串信息在应用界面显示包含每一点串对应的可视化元素的地图,以及响应于轨迹模拟指令,根据每一点串的点串信息模拟目标轨迹。
79.在一个实施例中,模拟客户端响应于轨迹获取指令之前,还用于向模拟服务器请求获取轨迹列表信息,以及根据模拟服务器提供的轨迹列表信息在应用界面上显示包含目标轨迹的轨迹列表;轨迹列表包含多条轨迹以及每一轨迹的起终点信息;
80.本实施例中,模拟客户端,还用于接收由用户对轨迹列表中目标轨迹进行选择操作所触发的轨迹获取指令。
81.在一个实施例中,每一点串的点串信息包括该点串的经纬度信息、速度信息、方向信息、生成时间、定位精度信息以及海拔信息。
82.在一个实施例中,模拟客户端根据每一点串的点串信息模拟目标轨迹时,具体用于模拟客户端按生成时间从早到晚依次根据各点串的点串信息调用安卓系统提供的location接口以模拟目标轨迹。
83.在一个实施例中,模拟客户端根据任一点串的点串信息调用安卓系统提供的locationmanager接口时,具体用于模拟客户端将该任一点串的点串信息传入locationmanager接口;或,模拟客户端根据预设倍速系数修改该任一点串的点串信息中的速度信息,得到该任一点串的新的点串信息,将该任一点串的新的点串信息传入locationmanager接口;预设倍速系数是模拟客户端在模拟目标轨迹之前或模拟目标轨迹的过程中,根据用户触发的模拟速度设置指令进行确定。
84.在一个实施例中,模拟服务器,还用于对预先采集的真实轨迹数据进行格式化处理,得到多条真实轨迹以及每一真实轨迹的轨迹信息,以及将多条真实轨迹以及每一真实轨迹的全部点串信息进行持久化;真实轨迹数据是模拟服务器采集自业务系统和/或各用户客户端;任一真实轨迹的轨迹信息包括构成该任一真实轨迹的每一点串的点串信息。
85.在一个实施例中,模拟服务器,还用于生成用于对多条真实轨迹的轨迹信息进行数据操作的操作接口;以及通过操作接口接收针对任一真实轨迹的轨迹信息进行数据操作的入参,根据入参对该任一真实轨迹的轨迹信息进行数据操作;数据操作包括增、删、查和改中的一项或多项。
86.在一个实施例中,模拟客户端根据每一点串的点串信息模拟目标轨迹时,还用于在应用界面上通过悬浮控件显示目标轨迹的模拟进度信息。
87.关于轨迹模拟系统的具体限定可以参见上文中对于轨迹模拟方法的限定,在此不再赘述。上述轨迹模拟系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
88.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储轨迹信息等数据,具体存储的数据还可以参见上述方法实施例中的限定。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种轨迹模拟方法。
89.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
90.本实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一方法实施例中提供的方法中的步骤。
91.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一方法实施例中提供的方法中的步骤。
92.本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
93.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
94.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1