CN116028726B - 社交推荐方法 - Google Patents
社交推荐方法 Download PDFInfo
- Publication number
- CN116028726B CN116028726B CN202310187879.4A CN202310187879A CN116028726B CN 116028726 B CN116028726 B CN 116028726B CN 202310187879 A CN202310187879 A CN 202310187879A CN 116028726 B CN116028726 B CN 116028726B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- recommended
- area
- vehicles
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 description 85
- 101100112673 Rattus norvegicus Ccnd2 gene Proteins 0.000 description 27
- 238000004891 communication Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Landscapes
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
本发明实施例涉及社交推荐技术领域,公开了一种社交推荐方法,该方法包括:确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;向第一车辆发送目标推荐车辆的社交信息。应用本发明的技术方案,能够提高推荐的准确性和精度,提升用户体验。再者,不需要借助地图服务商,不会受到地图服务商的接口能力的制约。
Description
技术领域
本发明实施例涉及社交推荐技术领域,具体涉及一种社交推荐方法。
背景技术
目前,为了满足驾驶者之间的社交需求,基于智能汽车的地理位置的社交服务应用越来越来越广泛。
相关技术中,在基于智能汽车的地理位置进行社交推荐时,实时采集智能汽车的位置数据,通过地图服务商获取位置数据对应的道路信息,以比较该智能汽车与其他汽车的道路信息和经过时间,进而确定在相近时间点经过同一路段的其他汽车并进行推荐。但是,这种推荐方式完全依赖于地图服务商的接口能力,地图服务商的接口的响应速度、响应效率、使用费用均会制约推荐服务的质量。并且,这种推荐方式通常在车辆结束行程后进行推荐,计算量较大,受限于地图服务商的接口能力推荐的时效性较差。
发明内容
鉴于上述问题,本发明实施例提供了一种社交推荐方法,用于解决现有的推荐方式完全依赖于地图服务商的接口能力,推荐服务质量受限的问题。
根据本申请实施例的第一方面,提供了一种社交推荐方法,该方法包括:确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;向第一车辆发送目标推荐车辆的社交信息。
在一种可选的方式中,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,包括:根据预设周期和每个待推荐车辆的数量,确定每个待推荐车辆与第一车辆的同行时长,其中,预设周期为多个第一区域的确定周期;根据每个待推荐车辆与第一车辆的同行时长和第一车辆的行驶时长,确定每个待推荐车辆对应的行程占比;若待推荐车辆对应的行程占比大于或等于预设占比,则将待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,基于所述多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,包括:按照每个待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排列;将排列序号低于预设序号的待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,包括:若待推荐车辆的数量大于或等于预设数量,则将待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,每个第一区域对应的待推荐车辆集合包括第一区域内除第一车辆以外的第二车辆,以及与第一区域相邻的至少一个第二区域内的第三车辆。
在一种可选的方式中,在确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量之前,该方法还包括:在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息;根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
在一种可选的方式中,在根据第一地理位置,确定第一地理位置对应第一区域的区域信息之后,该方法还包括:若第一区域的区域信息与第三区域的区域信息不同,则执行根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合的步骤;其中,第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。
在一种可选的方式中,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合,包括:根据第一区域的区域信息,获取第一区域对应的第一推荐列表和至少一个第二区域的第二推荐列表;若第一推荐列表包括第二车辆的第二标识信息,且与至少一个第二区域的第二推荐列表中包括第三车辆的第三标识信息,则根据第二标识信息和第三标识信息,确定第一区域对应的待推荐车辆集合。
在一种可选的方式中,在根据第一区域的区域信息,获取第一区域对应的第一推荐列表之后,该方法还包括:在第一推荐列表中添加第一车辆的第一标识信息;向第一车辆发送目标推荐车辆的社交信息,包括:基于第一标识信息,向第一车辆发送目标推荐车辆的社交信息。
在一种可选的方式中,在第一推荐列表中添加第一车辆的第一标识信息之后,该方法还包括:若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在第一推荐列表中删除第一标识信息;或者,若第一车辆结束行驶,则在第一推荐列表中删除第一标识信息;或者,若预设时长内未获取到第一车辆的新的地理位置,则在第一推荐列表中删除第一标识信息。
根据本申请实施例的第二方面,提供了一种社交推荐装置,包括:第一确定模块,用于确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;第二确定模块,用于基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;发送模块,用于向第一车辆发送目标推荐车辆的社交信息。
在一种可选的方式中,第二确定模块包括:第一确定单元,用于根据预设周期和每个待推荐车辆的数量,确定每个待推荐车辆与第一车辆的同行时长,其中,预设周期为多个第一区域的确定周期;第二确定单元,用于根据每个待推荐车辆与第一车辆的同行时长和第一车辆的行驶时长,确定每个待推荐车辆对应的行程占比;第三确定单元,用于若待推荐车辆对应的行程占比大于或等于预设占比,则将待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,第二确定模块包括:排序单元,用于按照每个待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排列;第四确定单元,用于将排列序号低于预设序号的待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,第二确定模块具体用于:若待推荐车辆的数量大于或等于预设数量,则将待推荐车辆确定为目标推荐车辆。
在一种可选的方式中,每个第一区域对应的待推荐车辆集合包括第一区域内除第一车辆以外的第二车辆,以及与第一区域相邻的至少一个第二区域内的第三车辆。
在一种可选的方式中,该装置还包括:第三确定模块,用于在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息;第四确定模块,用于根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
在一种可选的方式中,该装置还包括:第五确定模块,用于若第一区域的区域信息与第三区域的区域信息不同,则根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合;其中,第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。
在一种可选的方式中,第四确定模块,包括:列表获取单元,用于根据第一区域的区域信息,获取第一区域对应的第一推荐列表和至少一个第二区域的第二推荐列表;第五确定单元,用于若第一推荐列表包括第二车辆的第二标识信息,且与至少一个第二区域的第二推荐列表中包括第三车辆的第三标识信息,则根据第二标识信息和第三标识信息,确定第一区域对应的待推荐车辆集合。
在一种可选的方式中,该装置还包括:添加模块,用于;在第一推荐列表中添加第一车辆的第一标识信息;发送模块具体用于基于第一标识信息,向第一车辆发送目标推荐车辆的社交信息。
在一种可选的方式中,该装置还包括:删除模块,用于:若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在第一推荐列表中删除第一标识信息;或者,若第一车辆结束行驶,则在第一推荐列表中删除第一标识信息;或者,若预设时长内未获取到第一车辆的新的地理位置,则在第一推荐列表中删除第一标识信息。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行如上述第一方面中任一项所述的社交推荐方法的操作。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,可执行指令在电子设备/社交推荐装置上运行时,使得电子设备/社交推荐装置执行如上述第一方面中任一项所述的社交推荐方法的操作。
根据本申请实施例的第五方面,提供了一种计算机程序产品,该计算机程序产品中存储有至少一可执行指令,该可执行指令使电子设备/社交推荐装置执行如上述第一方面中任一项所述的社交推荐方法的操作。
根据本申请实施例,在第一车辆执行目标行程的过程中,可以根据第一车辆所经过的区域的变化,确定出现在第一车辆附近的待推荐车辆集合,并基于多个待推荐车辆集合中每个待推荐车辆的数量,确定待推荐车辆是否与第一车辆同行,以将与第一车辆同行待推荐车辆确定为目标推荐车辆,可以提高推荐的准确性和精度,提升用户体验。再者,基于第一车辆所在的区域进行社交推荐,以及多个待推荐车辆集合中每个待推荐车辆的数量确定目标推荐车辆,可以减小数据量,提高推荐的时效性,提升推荐效率。以及,本实施例基于第一车辆经过的区域,可以实现社交推荐功能,不需要借助第三方地图服务商的接口能力,推荐质量不会受到第三方地图服务商的接口的响应速度、响应效率和使用费用的制约,更有利于推荐服务的实现和推广。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种社交推荐方法的实施环境示意图;
图2示出了本申请实施例提供的一种社交推荐方法的流程示意图;
图3示出了本申请实施例提供的一种区域编码的示意图;
图4示出了本申请实施例提供的另一种社交推荐方法的流程示意图;
图5示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图6示出了本申请实施例提供的另一种区域编码的示意图;
图7示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图8示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图9示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图10示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图11示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图12示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图13示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图14示出了本申请实施例提供的又一种社交推荐方法的流程示意图;
图15示出了本申请实施例提供的一种社交推荐装置的硬件结构示意图;
图16示出了本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。
为了满足车辆驾驶者之间的社交需求,提供了多种基于车辆的地理位置的社交服务的实施例。
在一些实施例中,实时采集目标车辆的位置数据,调用地图服务商的位置纠偏接口对目标车辆的位置数据进行纠偏,得到目标车辆所处的路上位置,以及,调用地图服务商的轨迹道路查询接口,确定目标车辆所处的路上位置对应的道路信息。基于此,将目标车辆所经过的道路和经过时间与其他车辆所经过的道路和经过时间进行对比,确定在相近时间与目标车辆经过同一道路的其他车辆,以将在相近时间与目标车辆经过同一道路的其他车辆作为推荐车辆,将推荐车辆的车主推荐给目标车辆的车主。但是,这种实施方式完全依赖于地图服务商的接口能力,地图服务商的接口的响应速度、响应效率、使用费用均会制约推荐服务的质量。并且,这种实施方式通常在车辆结束行程后进行推荐,计算量较大,受限于地图服务商的接口能力推荐的时效性较差。
在一些实施例中,确定在相近时间与目标车辆经过同一道路的其他车辆之后,进一步可以计算其他车辆与目标车辆的同行路段占目标车辆的总行程的比例,进而基于其他车辆与目标车辆的同行路段占目标车辆的总行程的比例,确定推荐车辆,这样,可以提升推荐的准确性。但是,这种实施方式需要额外的资源计算其他车辆与目标车辆的同行路段、以及同行路段占目标车辆的总行程的比例,导致计算量进一步增大,影响推荐的时效性和效率。
针对上述技术问题,本申请实施例提供了一种社交推荐方法,在第一车辆的行驶过程中,根据第一车辆当前所处的地理位置确定第一车辆经过的第一区域,并确定第一区域对应的待推荐车辆集合,其中,待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆,这样,在第一车辆结束行驶时,可以得到第一车辆经过的多个第一区域对应的多个待推荐车辆集合;之后,确定多个待推荐车辆集合中每个待推荐车辆的数量,并基于每个待推荐车辆的数量确定目标推荐车辆,以向第一车辆发送目标推荐车辆的社交信息。这样,基于车辆的行驶路线,根据车辆的地理位置的变化确定出现在该车辆附近的其他车辆,并根据出现在该车辆附近的其他车辆的频次确定目标推荐车辆,可以降低误差,提高推荐精度,提升用户体验。再者,本实施例基于车辆的地理位置即可以进行社交推荐,不需要借助第三方地图服务商,不会受到第三方地图服务商的接口能力的制约。此外,也不需要额外的资源计算其他车辆的行驶路段占该车辆的行程的比例,使得计算量减小,能够保证推荐时效性,提升推荐效率。
下面将结合附图对本申请实施例的社交推荐方法进行详细描述。
在介绍本公开实施例提供了一种社交推荐方法之前,首先对该社交推荐方法的实施环境进行介绍。
请参见图1,其示出了本申请实施例提供的一种社交推荐方法所涉及的实施环境示意图。如图1所示,该实施环境可以包括车辆100和服务器200。
车辆100可以包括车载定位系统101、动力系统控制单元102和车载通信系统103。其中,车载定位系统101用于采集车辆的地理位置。示例性地,车载定位系统101可以是全球定位系统(Global Positioning System,GPS)、北斗卫星导航系统。动力系统控制单元102用于采集车辆的行驶状态,车辆的行驶状态可以包括开始行驶、行驶中和结束行驶。示例性地,动力系统控制单元102可以是发动机电子控制单元(Electronic Control Unit,ECU),也可以是电动机电子控制单元(Electronic Control Unit,ECU)。车载通信系统103可以基于各种通信协议类型与外部设备(例如,服务器200)进行通信。示例性地,车载通信系统103可以包括无线网络通信技术Wi-Fi模块,蓝牙模块,以太网模块等等。例如,车载通信系统103可以是远程控制模块(Telematics Box,T-Box)。
这里可以理解的是,车辆100还可以包括其他模块,例如,主机模块、摄像头、麦克风、接口模块、音频模块、语音交互模块、空调系统等,本申请实施例对此不作限定。
服务器200可以与车辆100通信,用于为车辆100提供信息处理、信息存储等功能。示例性地,服务器200可以是车联网核心平台(Telematics Service Provider,TSP)。
结合图1所示的社交推荐方法所涉及的实施环境,介绍本申请实施例提供的社交推荐方法。
服务器200接收车辆100发送的车辆位置和车辆100的行驶状态,在车辆100开始行驶时获取车辆100的多个地理位置,确定各地理位置对应的第一区域的区域信息,基于第一区域的区域信息确定待推荐车辆,并在车辆100结束行驶时,基于待推荐车辆在车辆100的行驶时长内出现的频次,确定车辆100对应的目标推荐车辆,并向车辆100发送目标推荐车辆的社交信息。这样,基于车辆的行驶路线,根据车辆的地理位置的变化确定与该车辆同行的其他车辆,并根据其他车辆与该车辆同行的频次确定目标推荐车辆,可以降低误差,提高推荐精度,提升用户体验。再者,本实施例基于车辆的地理位置即可以进行社交推荐,不需要借助第三方地图服务商,不会受到第三方地图服务商的接口能力的制约。此外,也不需要额外的资源计算其他车辆的行驶路段占该车辆的行程的比例,使得计算量减小,能够保证推荐时效性,提升推荐效率。
请参见图2,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图2所示,该方法可以包括步骤210~步骤230。
步骤210,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
在本实施例中,第一车辆可以是所要为其推荐其他车辆的社交信息的车辆。具体地,第一车辆可以是用户开启社交推荐功能的车辆。
第一区域为第一车辆在行驶过程中经过的区域。也就是说,第一区域可以是第一车辆在行驶过程中经过的地理位置所对应的区域。多个第一区域可以表示第一车辆在执行目标行程的过程中车辆所处的地理位置的变化情况。
一个第一区域对应一个待推荐车辆集合。第一区域对应的待推荐车辆集合可以包括第一车辆位于该第一区域时第一车辆附近的至少一个待推荐车辆。也就是说,第一区域对应的待推荐车辆集合可以包括在第一车辆行驶经过该第一区域时位于第一车辆附近的车辆。
在一些实施例中,第一区域对应的待推荐车辆集合可以包括第一区域内除第一车辆以外的第二车辆。也就是说,第二车辆可以是与第一车辆同时处于第一区域的车辆。这里可以理解的是,与第一车辆同时处于第一区域的车辆,可以是在预设时间段内处于第一区域内的车辆。第一区域对应的待推荐车辆集合也可以包括与第一区域相邻的至少一个第二区域内的第三车辆。也就是说,第三车辆可以是在第一车辆处于第一区域时,处于与第一区域相邻的至少一个第二区域的车辆。这里可以理解的是,在第一车辆处于第一区域时处于与第一区域相邻的至少一个第二区域的车辆,可以是在预设时间段内处于与第一区域相邻的至少一个第二区域的车辆。其中,预设时间段可以是覆盖第一车辆的第一地理位置的产生时间的时间段。
其中,第二区域可以是与第一区域相邻的区域。例如,第一区域为图3示出的区域A1,第二区域为图3示出的区域A11、区域A12、区域A13、区域A14、区域A15、区域A16、区域A17和区域A18。
例如,请继续参见图3,以第一车辆V1位于第一区域(即,区域A1)为例,第二车辆可以包括第一区域内除第一车辆V1以外的其他车辆,即,车辆V2、车辆V3、车辆V4。第三车辆可以包括位于区域A11内的车辆V5、位于区域A13内的车辆V6、位于区域A14内的车辆V7、和位于区域A17内的车辆V8。
在本实施例中,基于第一车辆所在的第一区域,确定第一区域对应的待推荐车辆集合,可以减小数据量,提升处理效率。并且,根据与第一车辆处于同一区域的其他车辆和位于第一车辆所在区域的相邻区域的车辆,确定第一区域对应的待推荐车辆集合,可以避免出现漏处理,提高推荐的准确性。
下面对第一区域对应的待推荐车辆集合的确定过程进行说明。
具体地,在第一车辆执行目标行程的过程中,基于预设周期获取第一车辆的第一地理位置,在获取到第一车辆的第一地理位置时,确定第一地理位置对应的第一区域,并确定第一区域对应的待推荐车辆集合,即,得到在第一车辆执行目标行程的过程中经过的多个第一区域对应的多个待推荐车辆集合。其中,第一地理位置为第一车辆执行目标行程的过程中经过的任意一个地理位置。
更具体地,服务器可以获取第一车辆的行驶状态,并基于第一车辆的行驶状态,执行确定第一区域对应的待推荐车辆集合的步骤。
其中,行驶状态可以包括开始行驶、保持行驶和结束行驶。示例性地,对于电动车辆,第一车辆的行驶状态可以是电动机状态。具体地,电动机状态为第一值(例如,1),表示电动机上电,即,表示第一车辆开始行驶;电动机状态为第二值(例如,2),表示电动机处于工作状态,即,表示第一车辆处于持续行驶状态;电动机状态为第三值(例如,0),表示电动机下电,即,表示第一车辆停止行驶。示例性地,对于传统的燃油车辆,第一车辆的行驶状态可以是发动机状态。具体地,发动机状态为第一值(例如,1),表示发动机点火,即,表示第一车辆开始行驶;发动机状态为第二值(例如,2),表示发动机处于工作状态,即,表示第一车辆处于持续行驶状态;发动机状态为第三值(例如,0),表示发动机熄火,即,表示第一车辆停止行驶。
在具体实施时,服务器在检测到第一车辆开始行驶时(第一车辆的行驶状态为第一值),生成开始统计通知,响应于开始统计通知,按照预设周期获取第一车辆的第一地理位置;在获取到第一地理位置时,确定第一地理位置对应的第一区域的区域信息,并根据第一区域的区域信息,确定在第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆,即得到第一区域对应的待推荐车辆集合;在获取到第一车辆的下一第一地理位置时,重复前述过程,即得到下一第一地理位置所在的第一区域的待推荐车辆集合,直至第一车辆结束行驶,即得到多个第一区域对应的多个待推荐车辆集合。
在确定待推荐车辆集合之后,进一步确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量。具体地,在检测到第一车辆结束行驶时,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量。
其中,所有待推荐车辆集合中任一待推荐车辆的数量可以反映在第一车辆的行驶过程中,随着第一车辆的地理位置的变化,该待推荐车辆出现在第一车辆附近的次数。也就是说,所有待推荐车辆集合中任一待推荐车辆的数量可以反映,在第一车辆执行目标行程的过程中,该待推荐车辆与第一车辆的同行时长。
在具体实施时,在确定各待推荐车辆集合时,对于待推荐车辆集合种的任意一个待推荐车辆,如果该待推荐车辆第一次出现在第一车辆附近,也就是第一次基于第一车辆所在的第一区域确定出该待推荐车辆,则将该待推荐车辆的数量标记为1;之后,如果该待推荐车辆再次出现在第一车辆附近,也就是再次基于第一车辆所在的第一区域确定出该待推荐车辆,则将该待推荐车辆的数量增加1,直至第一车辆结束行驶,即确定多个待推荐车辆集合中每个待推荐车辆的数量。
在步骤210之后,执行步骤220,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
其中,目标推荐车辆可以是多个待推荐车辆集合中与第一车辆的同行时间较长的待推荐车辆。也就是说,目标推荐车辆可以是多个待推荐车辆集合中出现数量较多的待推荐车辆。
在本实施例中,目标推荐车辆可以包括一辆,也可以包括多辆。待推荐车辆可以是一辆,也可以是多辆。在确定出一辆待推荐车辆的情况下,将该待推荐车辆确定为目标推荐车辆。在确定出多辆待推荐车辆的情况下,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
在一些实施例中,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,可以为:按照每个所述待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排序,将排序靠前的预设数量的待推荐车辆确定为目标推荐车辆。
在一些实施例中,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,可以为:将多个待推荐车辆集合中数量大于或等于预设数量的待推荐车辆,确定为目标推荐车辆。
在一些实施例中,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,可以为:基于待推荐车辆的数量,计算待推荐车辆与目标车辆的同行时长,并计算同行时长与第一车辆的行驶时长的行程占比,将待推荐车辆中行程占比大于或等于预设占比的车辆,确定为目标推荐车辆。
步骤230,向第一车辆发送目标推荐车辆的社交信息。
其中,社交信息可以是与目标推荐车辆相关的、具有社交属性的信息。社交信息可以包括目标推荐车辆的相关信息,也可以包括目标推荐车辆的用户的相关信息。其中,目标推荐车辆的用户可以是目标推荐车辆的车主。
示例性地,社交信息可以包括目标推荐车辆的用户信息,即,目标推荐车辆的车主信息。该用户信息例如可以包括用户姓名、用户昵称、用户的社交平台的账号信息中的至少一项。这样,基于目标推荐车辆的社交信息,第一车辆的用户可以与目标推荐车辆的用户建立社交关系,实现基于车辆的社交推荐功能。
示例性地,社交信息还可以包括目标推荐车辆的用户的性别、目标推荐车辆的用户的驾龄、目标推荐车辆的用户的联系方式、目标推荐车辆的用户的兴趣爱好、目标推荐车辆的用户的职业等。
示例性地,社交信息还可以包括目标推荐车辆的品牌名称、目标推荐车辆的驾驶里程数、目标推荐车辆的经常行驶的路线。这样,基于目标推荐车辆的社交信息,第一车辆的用户可以了解目标推荐车辆以及目标推荐车辆的用户,以选择是否添加目标推荐车辆的用户为好友。
可以理解的是,社交信息可以是用户预先设置的,社交信息也可以包括目标推荐车辆的其他信息和目标推荐车辆的用户的其他信息,本申请实施例对此不作具体限定。
根据本申请实施例,在第一车辆执行目标行程的过程中,可以根据第一车辆所经过的区域的变化,确定出现在第一车辆附近的待推荐车辆集合,并基于多个待推荐车辆集合中每个待推荐车辆的数量,确定待推荐车辆是否与第一车辆同行,以将与第一车辆同行待推荐车辆确定为目标推荐车辆,可以提高推荐的准确性和精度,提升用户体验。再者,基于第一车辆所在的区域进行社交推荐,以及多个待推荐车辆集合中每个待推荐车辆的数量确定目标推荐车辆,可以减小数据量,提高推荐的时效性,提升推荐效率。以及,本实施例基于第一车辆经过的区域,可以实现社交推荐功能,不需要借助第三方地图服务商的接口能力,推荐质量不会受到第三方地图服务商的接口的响应速度、响应效率和使用费用的制约,更有利于推荐服务的实现和推广。
在本实施例中,在确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量之前,需要确定多个第一区域中各第一区域对应的待推荐车辆集合。下面以一个具体的实施例对确定各第一区域对应的待推荐车辆集合的过程进行说明。
请参见图4,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图4所示,该方法可以包括步骤410~步骤450。
步骤410,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
其中,第一地理位置可以是第一车辆在行驶过程中第一车辆当前所处的地理位置。示例性地,第一地理位置可以是第一车辆的经纬度数据。多个第一地理位置可以是在第一车辆的行驶过程中,按照预设周期获取的第一车辆的多个经纬度数据。也就是说,多个第一地理位置可以反映第一车辆在行驶过程中车辆位置的变化情况。其中,预设周期例如可以是30秒,即,服务器每30秒获取一次第一车辆的地理位置。
需要说明的是,这里的预设周期是指服务器获取第一车辆的地理位置的周期,即,第一车辆向服务器发送地理位置的周期。该预设周期可以与第一车辆的车载定位系统的工作周期不同,车载定位系统的工作周期可以是采集第一车辆的地理位置的周期。例如,车载定位系统的工作周期为1秒,即车载定位系统每秒采集一次第一车辆的地理位置。
其中,第一区域可以是第一地理位置所在区域。第一区域的区域信息可以代表第一区域内所有地理位置。
可选地,第一区域的区域信息可以是第一区域的编码信息,即字符串。示例性地,第一区域的区域信息为GeoHash编码。
以GeoHash编码为例,可以将预设地图划分为多个区域,其中,一个区域对应一个编码值,一个区域对应的编码值可以代表该区域内的所有地理位置。例如,如图3所示,预设地图中包括八个区域,即,区域A1(编码值为:wtw3gcf)、区域A11(编码值为:wtw3gf1)、区域A12(编码值为:wtw3gf4)、区域A13(编码值为:wtw3gf5)、区域A14(编码值为:wtw3gcc)、区域A15(编码值为:wtw3gcg)、区域A16(编码值为:wtw3gc9)、区域A17(编码值为:wtw3gcd)、区域A18(编码值为:wtw3gce)。
这里需要说明的是,划分后的区域可以是矩形区域,其中,编码值的编码位数越多,所对应的区域越小,即,矩形区域的边长越小,进而推荐的精度越高。对此,可以根据实际需要设置编码值的位数,本申请实施例对此不作具体限定。还需要说明的是,预设地图可以是某一国家、某一城市、某一地区的地图,也可以是根据第一车辆经常行驶的路线确定的地图。
示例性地,根据第一地理位置,确定第一地理位置对应第一区域的区域信息的步骤可以为:基于预设的编码规则,对第一地理位置进行编码,得到第一地理位置对应的第一区域的区域信息。其中,预设的编码规则例如为GeoHash编码规则。
步骤420,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
在具体实施时,服务器在检测到第一车辆开始行驶时(第一车辆的行驶状态为第一值),生成开始统计通知,响应于开始统计通知,按照预设周期(例如,每30秒一次)获取第一车辆的第一地理位置;在获取到第一地理位置时,确定第一地理位置对应的第一区域的区域信息,并根据第一区域的区域信息,确定在第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆,即得到第一区域对应的待推荐车辆集合;在获取到第一车辆的下一第一地理位置时,重复前述过程,即得到下一第一地理位置所在的第一区域的待推荐车辆集合,直至第一车辆结束行驶,即得到多个第一区域对应的多个待推荐车辆集合。
示例性地,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合的步骤可以为:基于第一区域的区域信息,根据第一区域内除第一车辆以外的第二车辆和与第一区域相邻的至少一个第二区域内的第三车辆,确定第一区域对应的待推荐车辆集合。
示例性地,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合的步骤可以包括:在第一地理位置对应的第一区域对应的区域信息与第三区域的区域信息不同,且第一车辆处于持续行驶状态的情况下,基于第一区域的区域信息,确定第一区域对应的待推荐车辆集合。其中,第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。更具体地,第一区域可以是当前获取的第一车辆的第一地理位置所对应的区域,第三区域可以是上一次获取的第一车辆的地理位置所对应的区域。
示例性地,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合的步骤可以包括:在获取到第一车辆的第一地理位置时,判断之前是否获取到第一车辆的历史地理位置,如果未获取到第一车辆的历史地理位置,则判断第一车辆是否处于持续行驶状态,如果第一车辆处于持续行驶状态,则确定第一地理位置对应的第一区域的区域信息,并根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
步骤430,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
步骤440,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
步骤450,向第一车辆发送目标推荐车辆的社交信息。
需要说明的是,步骤430~步骤450的具体实现方式可以参见前述实施中步骤210~步骤230的具体实现方式,为避免重复,这里不再赘述。
在本实施例中,在第一车辆的行驶过程中,获取第一车辆的第一地理位置,在获取到第一车辆的第一地理位置时,根据第一地理位置确定第一地理位置对应第一区域的区域信息,并根据第一区域的区域信息确定第一区域对应的待推荐车辆集合,进而,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,以向第一车辆发送目标推荐车辆的社交信息。这样,基于第一车辆所在的区域确定待推荐车辆集合,基于多个待推荐车辆集合中每个待推荐车辆的数量,可以确定与第一车辆同行的目标推荐车辆,进而基于与第一车辆同行的车辆进行社交推荐,可以提高推荐精度,以及减小数据量,提高推荐的时效性,提升推荐效率。
请参见图5,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图5所示,该方法可以包括步骤510~步骤550。
步骤510,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
步骤520,若第一区域的区域信息与第三区域的区域信息不同,则根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
第一区域对应的待推荐车辆集合可以包括第一区域内除第一车辆以外的第二车辆,也可以包括与第一区域相邻的至少一个第二区域内的第三车辆。
第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。更具体地,第一区域可以是当前获取的第一车辆的第一地理位置所对应的区域,第三区域可以是上一次获取的第一车辆的地理位置所对应的区域。
第三区域的区域信息可以代表第三区域内的所有地理位置。示例性地,第三区域的区域信息可以是第三区域的编码信息,例如,GeoHash编码的编码值。
在具体实施时,可以获取第一车辆的第一标识信息,以根据第一车辆的第一标识信息查找在第一地理位置之前获取到的第一车辆的历史地理位置,并将该历史地理位置进行编码处理,得到第三区域的GeoHash编码的编码值。比较第三区域的GeoHash编码的编码值与第一地理位置所在第一区域的GeoHash编码的编码值是否相同,以确定第一区域的区域信息与第三区域的区域信息是否相同,并在第一区域的区域信息与第三区域的区域信息不同的情况下,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
示例性地,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合的步骤可以包括:在第一地理位置对应的第一区域对应的区域信息与第三区域的区域信息不同,且第一车辆处于持续行驶状态的情况下,基于第一区域的区域信息,确定第一区域对应的待推荐车辆集合。其中,第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。
下面以图6为例对确定第一车辆对应的待推荐车辆的过程进行说明。
第一车辆V1在北京时间2022年10月08日16点27分14秒位于东经121.45729、北纬31.25542这一位置(即,在第一地理位置之前获取到的第一车辆的历史地理位置),而第一车辆V1在北京时间2022年10月08日16点27分24秒位于东经121.46415、北纬31.25816这一位置(即,第一地理位置),其中,在第一地理位置之前获取到的第一车辆的历史地理位置的GeoHash编码的编码值为wtw3gcf,第一地理位置的GeoHash编码的编码值为wtw3gcy。也就是说,第一车辆的前一历史地理位置对应第三区域(区域A1)的区域信息(编码值)与第一地理位置对应的第一区域(区域B1)的区域信息(编码值)不同,此时,基于第一地理位置对应的第一区域(区域B1)的区域信息,根据第一区域(区域B1)除第一车辆V1以外的其他车辆和与第一区域(区域B1)相邻的第二区域(例如,区域B11、区域B12、区域B13、区域B14、区域B15、区域B16、区域B17、区域B18)内的车辆,确定为第一车辆位于第一区域时第一车辆附近的待推荐车辆,即得到第一区域对应的待推荐车辆集合。
在一些实施例中,在第一区域的区域信息与第三区域的区域信息不同,且第一车辆处于持续行驶状态的情况下,根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
在一些实施例中,在获取到第一车辆的第一地理位置时,判断之前是否获取到第一车辆的历史地理位置,如果未获取到第一车辆的历史地理位置,则判断第一车辆是否处于持续行驶状态,如果第一车辆处于持续行驶状态,则根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
步骤530,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
步骤540,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
步骤550,向第一车辆发送目标推荐车辆的社交信息。
需要说明的是,步骤530~步骤550的具体实现方式可以参见前述实施中步骤210~步骤230的具体实现方式,为避免重复,这里不再赘述。
在本实施例中,在确定各第一区域对应的待推荐车辆集合时,可以比较第一区域的区域信息与之前获取到的第一车辆的历史地理位置对应的区域的区域信息,并在第一区域的区域信息与之前获取到的第一车辆的历史地理位置对应的区域的区域信息不同的情况下,根据第一区域的区域信息确定第一区域对应的待推荐车辆集合,进而基于多个第一区域对应的多个待推荐车辆集合确定目标推荐车辆,这样,可以在第一车辆的地理位置发生变化时,确定目标推荐车辆并进行社交推荐,不需要用户触发,不会对干扰用户驾驶车辆,可以保证驾驶的安全性。
请参见图7,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图7所示,该方法可以包括步骤710~步骤770。
步骤710,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
需要说明的是,步骤710的具体实现方式可以参见前述实施中步骤410的具体实现方式,为避免重复,这里不再赘述。
步骤720,根据第一区域的区域信息,获取第一区域对应的第一推荐列表和至少一个第二区域的第二推荐列表。
其中,第一推荐列表可以用于指示第一区域内的所有车辆。第一推荐列表可以包括第一区域内的车辆的标识信息。例如,如图3所示,第一推荐列表可以包括车辆V1、车辆V2、车辆V3、车辆V4的标识信息。
在一些实施例中,在第一地理位置对应的第一区域对应的区域信息与第三区域的区域信息不同,且第一车辆处于持续行驶状态的情况下,根据第一区域的区域信息,获取第一区域对应的第一推荐列表。
在一些实施例中,在获取到第一车辆的第一地理位置时,判断之前是否获取到第一车辆的历史地理位置,如果未获取到第一车辆的历史地理位置,则判断第一车辆是否处于持续行驶状态,如果第一车辆处于持续行驶状态,则确定第一地理位置对应的第一区域的区域信息,并根据第一区域的区域信息,获取第一区域对应的第一推荐列表。
步骤730,在第一推荐列表中添加第一车辆的第一标识信息。
其中,第一标识信息用于唯一标识第一车辆。例如,第一标识信息可以是第一车辆的车辆识别码(Vehicle Identification Number,VIN)。还例如,第一标识信息可以是第一车辆的车牌号。还例如,第一标识信息可以是用户对第一车辆设置的名称。还例如,第一标识信息可以是第一车辆的用户的昵称。还例如,第一标识信息可以是第一车辆的用户的社交账号信息。
需要说明的是,第一推荐列表所包括的车辆的标识信息是根据车辆的地理位置动态调整的。也就是说,在车辆驶入第一区域时,在第一区域对应的第一推荐列表中添加车辆的标识信息。在车辆驶离第一区域时,在第一推荐列表中删除该车辆的标识信息;或者,在车辆驶入第一区域之后,在预设时长内未接收到车辆的地理位置时,在第一推荐列表中删除该车辆的车辆标识信息;或者,在车辆驶入第一区域之后,车辆结束行驶时,在第一推荐列表中删除该车辆的车辆标识信息。
步骤740,若第一推荐列表包括第二车辆的第二标识信息,且与至少一个第二区域的第二推荐列表中包括第三车辆的第三标识信息,则根据第二标识信息和第三标识信息,确定第一区域对应的待推荐车辆集合。
第二标识信息用于唯一标识第二车辆。例如,第二标识信息可以是第二车辆的车辆识别码(VIN码)。还例如,第二标识信息可以是第二车辆的车牌号。还例如,第二标识信息可以是用户对第二车辆设置的名称。还例如,第二标识信息可以是第二车辆的用户的昵称。还例如,第二标识信息可以是第二车辆的用户的社交账号信息。
第二推荐列表用于指示第二区域内的所有车辆。第二推荐列表可以包括第二区域内的车辆的标识信息。可选地,至少一个第二区域一一对应一个第二推荐列表。例如,如图3所示,区域A1相邻的八个区域分别一一对应有一个第二推荐列表。其中,区域A11对应的第二推荐列表包括车辆V5的标识信息,区域A13对应的第二推荐列表包括车辆V6的标识信息,区域A14对应的第二推荐列表包括车辆V7的标识信息,区域A17对应的第二推荐列表包括车辆V8的标识信息。
第三标识信息用于唯一标识第三车辆。例如,第三标识信息可以是第三车辆的车辆识别码(VIN码)。还例如,第三标识信息可以是第三车辆的车牌号。还例如,第三标识信息可以是用户对第三车辆设置的名称。还例如,第三标识信息可以是第三车辆的用户的昵称。还例如,第三标识信息可以是第三车辆的用户的社交账号信息。
在一些实施例中,在步骤730之后,该方法还包括:若第一推荐列表中包括第二车辆的第二标识信息,且与第一区域相邻的至少一个第二区域对应的第二推荐列表中不包括第三车辆的第三标识信息,则根据第二标识信息,确定第一区域对应的待推荐车辆集合。
在一些实施例中,在步骤730之后,该方法还包括:若第一推荐列表中不包括第二车辆的第二标识信息,且与第一区域相邻的至少一个第二区域对应的第二推荐列表中包括第三车辆的第三标识信息,则根据第三标识信息,确定第一区域对应的待推荐车辆集合。
在一些实施例中,在步骤730之后,该方法还包括:若第一推荐列表中不包括第二车辆的第二标识信息,且与第一区域相邻的至少一个第二区域对应的第二推荐列表中均不包括第三车辆的第三标识信息,确定在第一车辆处于当前的第一地理位置时,没有与第一车辆同行的其他车辆,即不生成该第一区域对应的待推荐车辆集合。
步骤750,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
步骤760,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
需要说明的是,步骤750和步骤760的具体实现方式可以参见前述实施中步骤210和步骤220的具体实现方式,为避免重复,这里不再赘述。
步骤770,基于第一标识信息,向第一车辆发送目标推荐车辆的社交信息。
在具体实施时,服务器获取第一车辆的第一标识信息,并基于第一标识信息,向第一车辆发送目标推荐车辆的社交信息。
在本实施例中,在确定各第一区域对应的待推荐车辆集合时,确定第一地理位置对应的第一区域的区域信息,获取第一区域对应的第一推荐列表,并在第一推荐列表中添加第一车辆的第一标识信息,以基于第一推荐列表确定与第一车辆同行的待推荐车辆。同时,基于与第一区域相邻的至少一个第二区域的第二推荐列表,也可以确定与第一车辆同行的待推荐车辆。进而,结合后续步骤,基于多个待推荐车辆集合中的待推荐车辆的数量选出目标推荐车辆,以向第一车辆发送目标推荐车辆的社交信息。这样,可以根据车辆的位置变化,实时更新第一推荐列表和第二推荐列表,进而根据第一车辆的地理位置的变化,可以实时在第一车辆的行驶过程中出现在第一车辆附近的待推荐车辆,进一步可以根据待推荐车辆确定出与第一车辆同行的目标推荐车辆,进而可以提高推荐的准确性。再者,基于第一推荐列表和第二推荐列表确定待推荐车辆集合,可以减少计算量,提高推荐效率。
请参见图8,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图8所示,该方法可以包括步骤810~步骤830。
步骤810,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
需要说明的是,步骤810的具体实现方式可以参见前述实施中步骤410的具体实现方式,为避免重复,这里不再赘述。
步骤820,根据第一区域的区域信息,获取第一区域对应的第一推荐列表。
步骤830,若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在第一推荐列表中删除第一标识信息。
在具体实施时,在获取第一地理位置之后,如果获取到第一车辆的新的地理位置,确定新的地理位置对应区域的区域信息,并比较新的地理位置对应区域的区域信息与第一地理位置对应的第一区域的区域信息,以在新的地理位置对应区域的区域信息与第一区域的区域信息不同的情况下,在第一推荐列表中删除第一车辆的第一标识信息。
在一些实施例中,若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在新的地理位置对应区域的推荐列表添加第一车辆的第一标识信息。
请继续参见图6,第一车辆V1在北京时间2022年10月08日16点27分14秒位于东经121.45729、北纬31.25542这一位置(即,第一地理位置),而第一车辆V1在北京时间2022年10月08日16点27分24秒位于东经121.46415、北纬31.25816这一位置(即,第一车辆的新的地理位置),其中,第一地理位置的GeoHash编码的编码值为wtw3gcf,第一车辆的新的地理位置的GeoHash编码的编码值为wtw3gcy。也就是说,新的地理位置对应区域的区域信息(编码值)与第一地理位置对应的第一区域的区域信息(编码值)不同,此时,在第一区域的第一推荐列表中删除第一车辆的第一标识信息,并在新的地理位置对应区域的推荐列表中添加第一车辆的第一标识信息。
在步骤830之后,可以基于更新后的第一推荐列表进行社交推荐,也就是说,基于更新后的第一推荐列表,向位于第一区域的车辆进行社交推荐。
在一些实施例中,若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息相同,则将第一推荐列表中第一车辆的地理位置更新为新的地理位置,以及存储新的地理位置的产生时间。这样,在之后在获取到第一车辆的地理位置时,可以基于之前更新后的地理位置判断再次获取的第一车辆的地理位置是否发生变化,进而,在第一车辆的地理位置发生变化时再次进行社交推荐。以及,可以基于更新后的地理位置的产生时间,判断更新后的地理位置是否失效,以在更新后的地理位置失效时,更新第一推荐列表。在本实施例中,在第一推荐列表添加第一车辆的车辆标识信息之后,获取第一车辆的新的地理位置,若确定新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在第一推荐列表中删除第一车辆的车辆标识信息,也就是说,在第一车辆驶离第一地理位置对应的第一区域时,在第一推荐列表中删除第一车辆的车辆标识信息。这样,可以根据第一车辆的行驶情况,更新第一推荐列表,进而,基于更新后的第一推荐列表进行社交推荐,能够保证推荐的时效性。
请参见图9,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图9所示,该方法可以包括步骤910~步骤930。
步骤910,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
需要说明的是,步骤910的具体实现方式可以参见前述实施中步骤410的具体实现方式,为避免重复,这里不再赘述。
步骤920,根据第一区域的区域信息,获取第一区域对应的第一推荐列表。
步骤930,若第一车辆结束行驶,则在第一推荐列表中删除第一标识信息。
也就是说,如果之前接收到第一车辆的地理位置,且第一车辆的行驶状态为结束行驶时,则在第一推荐列表中删除第一标识信息。
在本实施例中,在第一车辆结束行驶时,及时删除第一推荐列表中第一车辆的第一标识信息,可以保证推荐时效性。
请参见图10,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图10所示,该方法可以包括步骤1010~步骤1030。
步骤1010,在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息。
需要说明的是,步骤1010的具体实现方式可以参见前述实施中步骤410的具体实现方式,为避免重复,这里不再赘述。
步骤1020,根据第一区域的区域信息,获取第一区域对应的第一推荐列表。
步骤1030,若预设时长内未获取到第一车辆的新的地理位置,则在第一推荐列表中删除第一标识信息。
也就是说,如果预设时长未接收到第一车辆的新的地理位置,认为第一车辆结束行驶,此时在第一推荐列表中删除第一标识信息。这样,可以根据第一车辆的情况,更新第一推荐列表,进而,基于更新后的第一推荐列表进行社交推荐,能够保证推荐的时效性。
请参见图11,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图11所示,该方法可以包括步骤1110~步骤1140。
步骤1110,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
需要说明的是,步骤1110的具体实现方式可以参见前述实施中步骤210的具体实现方式,为避免重复,这里不再赘述。
步骤1120,按照每个待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排列。
步骤1130,将排列序号低于预设序号的待推荐车辆确定为目标推荐车辆。
也就是说,将待推荐车辆在第一车辆的行驶时长内出现的频次较多的预设数量的待推荐车辆,确定为目标推荐车辆。其中,排列序号(预设数量)例如可以是5。
例如,待推荐车辆V11的数量为80(出现的频次为80次)、待推荐车辆V12的数量为20(出现的频次为20次)、待推荐车辆V13的数量为60(出现的频次为60次)、待推荐车辆V14的数量为30(出现的频次为30次)、待推荐车辆V15的数量为5(出现的频次为5次)、待推荐车辆V16的数量为76(出现的频次为76次)。按照由高至低的顺序,即,V11-V16-V13-V14-V12-V15,可以将排在前三的待推荐车辆确定为目标推荐车辆,即将V11、V16和V13确定为目标推荐车辆。
可以理解的是,也可以按照由低至高的顺序对待推荐车辆进行排列,数量较多的待推荐车辆,确定为目标推荐车辆。继续以上述例子进行说,按照由高至低的顺序,即,V15-V12-V14-V13-V16-V11,可以将排在后三的待推荐车辆确定为目标推荐车辆,即将V11、V16和V13确定为目标推荐车辆。
步骤1140,向第一车辆发送目标推荐车辆的社交信息。
需要说明的是,步骤1140的具体实现方式可以参见前述实施中步骤230的具体实现方式,为避免重复,这里不再赘述。
在本实施例中,根据多个待推荐车辆集合中每个待推荐车辆的数量,按照每个待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排列,将排列序号低于预设序号的待推荐车辆确定为目标推荐车辆,可以进一步提高推荐的准确性。再者,运算量小,可以提高推荐的效率。
请参见图12,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图12所示,该方法可以包括步骤1210~步骤1230。
步骤1210,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
需要说明的是,步骤1210的具体实现方式可以参见前述实施中步骤210的具体实现方式,为避免重复,这里不再赘述。
步骤1220,若待推荐车辆的数量大于或等于预设数量,则将待推荐车辆确定为目标推荐车辆。
在待推荐车辆的数量大于或等于预设数量的情况下,认为待推荐车辆在第一车辆的行驶时长内出现的频次较多,说明在第一车辆执行目标行程的过程中,待推荐车辆基本与第一车辆完全同行,此时,可以将待推荐车辆确定为目标推荐车辆。在待推荐车辆的数量小于预设数量的情况下,认为待推荐车辆在第一车辆的行驶时长内出现的频次较少,说明在第一车辆执行目标行程的过程中,待推荐车辆可能路过第一车辆所经的行驶路线,此时,不向第一车辆发送待推荐车辆的社交信息。
示例性地,预设数量可以根据第一车辆的行驶时长和获取第一车辆的地理位置的预设周期进行设置。例如,预设数量可以是200。本申请实施例对预设频次的具体数值不作限定。
步骤1230,向第一车辆发送目标推荐车辆的社交信息。
需要说明的是,步骤1230的具体实现方式可以参见前述实施中步骤230的具体实现方式,为避免重复,这里不再赘述。
在本实施例中,根据多个待推荐车辆集合中每个待推荐车辆的数量,在待推荐车辆的数量大于或等于预设数量的情况下,将待推荐车辆确定为目标推荐车辆,可以进一步提高推荐的准确性。再者,运算量小,可以提高推荐的效率。
请参见图13,其示出了本申请实施例提供的一种社交推荐方法的流程示意图。该方法可以由车辆执行,也可以由服务器执行,该服务器可以是如图1所示的服务器200。如图13所示,该方法可以包括步骤1310~步骤1350。
步骤1310,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆。
需要说明的是,步骤1310的具体实现方式可以参见前述实施中步骤210的具体实现方式,为避免重复,这里不再赘述。
步骤1320,根据预设周期和每个待推荐车辆的数量,确定每个待推荐车辆与第一车辆的同行时长,其中,预设周期为多个第一区域的确定周期。
在本实施例中,预设周期为多个第一区域的确定周期,也就是说,预设周期为第一地理位置的采集周期。例如,预设周期可以是30秒,即,服务器每30秒获取一次第一车辆的第一地理位置。
可以理解的是,预设周期可以反映相邻两次获取第一车辆的第一地理位置的间隔时间,也就是说,相邻两次确定第一区域的待推荐车辆集合的的间隔时间,也就是说,相邻两次确定位于第一车辆附近的待推荐车辆的间隔时间。基于此,根据预设周期和每个待推荐车辆的数量,可以确定该待推荐车辆与第一车辆的同行时长。
待推荐车辆和第一车辆的同行时长可以是,在第一车辆的行驶过程中,待推荐车辆出现在第一车辆的附近的时长。示例性地,可以根据预设周期和待推荐车辆的数量,也就是根据预设周期和待推荐车辆在第一车辆的行驶时长内出现的频次的乘积,确定待推荐车辆和第一车辆的同行时长。例如,多个待推荐车辆集合中待推荐车辆的数量为20,预设周期可以是30秒,则待推荐车辆和第一车辆的同行时长为20×30=600秒。
步骤1330,根据每个待推荐车辆与第一车辆的同行时长和第一车辆的行驶时长,确定每个待推荐车辆对应的行程占比。
第一车辆的行驶时长可以是第一车辆执行目标行程所用的时长。其中,第一车辆的行驶时长可以根据第一车辆的行驶开始时间和行驶结束时间确定。具体地,在检测到第一车辆开始行驶时,生成开始统计通知并记录行驶开始时间;在第一车辆结束行驶时,生成结束统计通知并记录行驶结束时间;根据行驶开始时间和行驶结束时间,确定第一车辆的行驶时长。
行程占比可以反映待推荐车辆与第一车辆的同行时长占第一车辆的行驶时长的比例。示例性地,可以将待推荐车辆与第一车辆的同行时长与第一车辆的行驶时长的比值,作为待推荐车辆对应的行程占比。例如,待推荐车辆和第一车辆的同行时长为10min,第一车辆的行驶时长为15min,则待推荐车辆对应的行程占比为66.7%。
步骤1340,若待推荐车辆对应的行程占比大于或等于预设占比,则将待推荐车辆确定为目标推荐车辆。
在待推荐车辆的行程占比大于或等于预设占比的情况下,说明在第一车辆执行目标行程的过程中,待推荐车辆基本与第一车辆完全同行,此时,可以将待推荐车辆确定为目标推荐车辆。在待推荐车辆的行程占比小于预设占比的情况下,说明在第一车辆执行目标行程的过程中,待推荐车辆可能路过第一车辆所经的行驶路线,此时,不向第一车辆发送待推荐车辆的社交信息。
例如,预设占比可以是60%,也可以是90%。需要说明的是,预设占比可以根据实际需要进行设置,本申请实施例对此不作限定。
步骤1350,向第一车辆发送目标推荐车辆的社交信息。
需要说明的是,步骤1350的具体实现方式可以参见前述实施中步骤230的具体实现方式,为避免重复,这里不再赘述。
在本实施例中,根据预设周期和每个待推荐车辆的数量,确定每个待推荐车辆与第一车辆的同行时长,进而,根据同行时长和第一车辆的行驶时长,确定待推荐车辆对应的行程占比,并基于行程占比确定目标推荐车辆,可以进一步提高推荐精度。再者,与现有技术相比,本实施例不需要根据车辆的地理位置确定路段,再基于路段确定待推荐车辆与第一车辆的行程占比,可以减少计算量,保证推荐的时效性,以及,不需要借助第三方地图服务商,也不需要增加额外的计算资源,可以降低成本。
在一些实施例中,在基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆之后,该方法还可以包括:向目标推荐车辆发送第一车辆的社交信息。
其中,社交信息可以是与第一车辆相关的、具有社交属性的信息。社交信息可以包括第一车辆的相关信息,也可以包括第一车辆的用户的相关信息。其中,第一车辆的用户可以是第一车辆的车主。
示例性地,社交信息可以包括第一车辆的用户信息,即,第一车辆的车主信息。该用户信息例如可以包括用户姓名、用户昵称、用户的社交平台的账号信息中的至少一项。这样,基于第一车辆的社交信息,目标推荐车辆可以与第一车辆的用户建立社交关系,实现基于车辆的社交推荐功能。
示例性地,社交信息还可以包括第一车辆的用户的性别、第一车辆的用户的驾龄、第一车辆的用户的联系方式、第一车辆的用户的兴趣爱好、第一车辆的用户的职业等。
示例性地,社交信息还可以包括第一车辆的品牌名称、第一车辆的驾驶里程数、第一车辆的经常行驶的路线。这样,基于第一车辆的社交信息,目标推荐车辆的用户可以了解第一车辆以及第一车辆的用户,以选择是否添加第一车辆的用户为好友。
可以理解的是,社交信息可以是用户预先设置的,社交信息也可以包括第一车辆的其他信息和第一车辆的用户的其他信息,本申请实施例对此不作具体限定。
在另一些实施例中,在基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆之后,该方法还可以包括:确定目标推荐车辆所对应的多个待推荐车辆集合,若多个待推荐车辆集合满足预设条件的车辆包括第一车辆,则向目标推荐车辆发送第一车辆的社交信息。
其中,多个待推荐车辆集合满足预设条件的车辆可以是,多个待推荐车辆集合中数量大于预设值的车辆。
需要说明的是,目标推荐车辆所对应的多个待推荐车辆集合的具体实现方式,可以参数前述任一实施例中确定第一车辆的多个第一区域对应的多个待推荐车辆集合,为避免重复,在此不再赘述。
在本实施例中,在第一车辆的行驶过程中,确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆,以向第一车辆发送目标推荐车辆的社交信息。同时,也可以向目标推荐车辆发送第一车辆的社交信息。这样,可以基于第一车辆在行驶过程中地理位置的变化确定目标推荐车辆,以及可以在第一车辆与目标推荐车辆之间进行好友相互推荐,用户体验更好。
下面以一个具体的例子,对本申请实施例提供的社交推荐方法进行说明。如图14所示,该社交推荐方法包括如下步骤。
步骤1401,服务器接收第一车辆的行驶状态。
其中,行驶状态可以包括开始行驶、保持行驶和结束行驶。具体地,行驶状态为第一值(即,EngineState=1),表示第一车辆开始行驶;行驶状态为第二值(即,EngineState=2),表示第一车辆处于持续行驶状态;行驶状态为第三值(即,EngineState=0),表示第一车辆停止行驶。
步骤1402,服务器在第一车辆的行驶状态为开始行驶时,生成开始统计通知。
例如,开始统计通知包括:第一车辆的第一标识信息(例如,VIN码)、通知类型(即,Type:“Collect Start”)、行驶开始时间。其中,行驶开始时间可以是第一车辆产生的第一组发动机/电动机信号的时间戳。
步骤1403,服务器响应于开始统计通知,按照预设周期获取第一车辆的多个第一地理位置,并接收第一车辆持续上传的行驶状态。
步骤1404,针对各第一地理位置,服务器对第一地理位置进行编码,得到第一地理位置对应的第一区域的区域信息。
步骤1405,服务器将第一车辆的第一标识信息、第一区域的区域信息、第一车辆的行驶状态、第一地理位置的时间戳,生成第一车辆的车辆信息(消息体)。
例如,VIN值为”VIN123”的第一车辆,在北京时间2022-10-08 16:27:14位于东经121.464558,北纬31.259322这一位置,处于行驶中,得到的消息体为:{"vin":"vin123","timestamp":"1665217634567","code":"wtw3gc","EngineState":"2"},其中,vin表示车辆标识信息,timestamp表示地理位置的产生时间,code表示GeoHash编码的编码值(即,第一地理位置对应的区域的区域信息),EngineState表示第一车辆当前的行驶状态。
步骤1406,服务器判断第一车辆的行驶状态是否为行驶中,如果是,执行步骤1407,否则,执行步骤1414。
步骤1407,服务器判断是否存储有第一车辆的上一地理位置(在第一地理位置之前获取到的历史地理位置),如果是,执行步骤1408,否则,执行步骤1409。
步骤1408,判断第一地理位置所在的第一区域的区域信息与上一地理位置对应的第三区域的区域信息是否不同,如果是,执行步骤1410,否则,步骤1411。
步骤1409,生成第一地理位置对应的第一变动通知。
第一变动通知可以包括车辆的标识信息、区域信息(GeoHash编码)、变动通知的产生时间、行驶状态和通知类型中的至少一项。
通知类型可以包括四种,即,Center In、Center Out、Around In、Around Out四种类型。其中,变动通知的类型为Center In,则车辆驶入该变动通知的区域信息(GeoHash编码)对应的区域;变动通知的类型为Center Out,则车辆驶离该变动通知的区域信息(GeoHash编码)对应的区域;变动通知的类型为Around In,则车辆驶入该变动通知的区域信息(GeoHash编码)对应的区域的临近区域;变动通知的类型为Around Out,则车辆驶离该变动通知的区域信息(GeoHash编码)对应的区域的临近区域。
以图3示出的第一车辆V1为例,第一车辆V1在北京时间2022年10月08日16点27分14秒位于东经121.464558、北纬31.259322这一位置,也就是说,第一车辆V1驶入区域A1,第一车辆V1驶入区域A11、区域A12、区域A13、区域A14、区域A15、区域A16、区域A17、区域A18的附近。则此时,产生的变动通知包括:
针对区域A1的变动通知1:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gcf","Type":"Center In","EngineState":"2"};
针对区域A11的变动通知2:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gf1","Type":"Around In"};
针对区域A12的变动通知3:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gf4","Type":"Around In"};
针对区域A13的变动通知4:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gf5","Type":"Around In"};
针对区域A14的变动通知5:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gcc","Type":"Around In"};
针对区域A15的变动通知6:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gcg","Type":"Around In"};
针对区域A16的变动通知7:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gc9","Type":"Around In"};
针对区域A17的变动通知8:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gcd","Type":"Around In"};
针对区域A18的变动通知9:{"vin":"vin1","timestamp":"1665217634567","GeoHash":"wtw3gce","Type":"Around In"};
其中,vin表示车辆标识信息,timestamp表示地理位置的产生时间,GeoHash表示该变动通知对应的区域的GeoHash编码的编码值,Type表示变动通知的类型,EngineState表示第一车辆的当前的行驶状态。
步骤1410,生成第一地理位置对应的第二变动通知。
第二变动通知可以包括车辆的标识信息、区域信息(GeoHash编码)、变动通知的产生时间、行驶状态和通知类型中的至少一项。
通知类型可以包括四种,即,Center In、Center Out、Around In、Around Out四种类型。其中,变动通知的类型为Center In,则车辆驶入该变动通知的区域信息(GeoHash编码)对应的区域;变动通知的类型为Center Out,则车辆驶离该变动通知的区域信息(GeoHash编码)对应的区域;变动通知的类型为Around In,则车辆驶入该变动通知的区域信息(GeoHash编码)对应的区域的临近区域;变动通知的类型为Around Out,则车辆驶离该变动通知的区域信息(GeoHash编码)对应的区域的临近区域。
以图6示出的第一车辆V1为例,第一车辆V1在北京时间2022年10月08日16点27分14秒位于东经121.45729、北纬31.25542这一位置(即,上一地理位置),而第一车辆V1在北京时间2022年10月08日16点27分24秒位于东经121.46415、北纬31.25816这一位置(即,第一地理位置),也就是说,第一车辆V1驶离区域A1,第一车辆V1驶离区域A11、区域A12、区域A13、区域A14、区域A15、区域A16、区域A17、区域A18的附近,第一车辆V1驶入区域B1,第一车辆V1驶入区域B11、区域B12、区域B13、区域B14、区域B15、区域B16、区域B17、区域B18的附近。则此时,产生的变动通知包括:
针对驶离的区域,包括:
针对区域A1的变动通知1:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcf","Type":"Center Out","EngineState":"2"};
针对区域A11的变动通知2:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gf1","Type":"Around Out"};
针对区域A12的变动通知3:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gf4","Type":"Around Out"};
针对区域A13的变动通知4:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gf5","Type":"Around Out"};
针对区域A14的变动通知5:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcc","Type":"Around Out"};
针对区域A15的变动通知6:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcg","Type":"Around Out"};
针对区域A16的变动通知7:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gc9","Type":"Around Out"};
针对区域A17的变动通知8:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcd","Type":"Around Out"};
针对区域A18的变动通知9:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gce","Type":"Around Out"};
针对驶入的区域,包括:
针对区域B1的变动通知1:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcy","Type":"Center In","EngineState":"2"};
针对区域B11的变动通知2:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gfj","Type":"Around In"};
针对区域B12的变动通知3:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gfn","Type":"Around In"};
针对区域B13的变动通知4:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gfp","Type":"Around In"};
针对区域B14的变动通知5:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcv","Type":"Around In"};
针对区域B15的变动通知6:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcz","Type":"Around In"};
针对区域B16的变动通知7:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gct","Type":"Around In"};
针对区域B17的变动通知8:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcw","Type":"Around In"};
针对区域B18的变动通知9:{"vin":"vin1","timestamp":"1665217644000","GeoHash":"wtw3gcx","Type":"Around In"};
其中,vin表示车辆标识信息,timestamp表示地理位置的产生时间,GeoHash表示该变动通知对应的区域的GeoHash编码的编码值,Type表示变动通知的类型,EngineState表示第一车辆的当前的行驶状态。
步骤1411,更新之前生成的变动通知中的地理位置对应的时间戳。
步骤1412,根据变动通知,确定多个第一区域对应的多个待推荐车辆集合。
其中,变动通知可以包括第一变动通知和第二变动通知。
示例性地,对应变动通知的类型为Center In,在该变动通知对应的区域的推荐列表(Center池)中添加第一车辆的车辆标识信息,判断该变动通知对应的区域的推荐列表(Center池)是否有除第一车辆之外的其他车辆(第二车辆),若在该变动通知对应的区域的推荐列表(Center池)有除第一车辆之外的其他车辆(第二车辆),则将第二车辆确定为待推荐车辆,即根据第二车辆的第二标识信息,确定第一区域对应的待推荐车辆集合。
示例性地,对应变动通知的类型为Center Out,在该变动通知对应的区域的推荐列表(Center池)中删除第一车辆的第一标识信息。
示例性地,对应变动通知的类型为Around In,该变动通知对应的区域的推荐列表(Around池)中添加第一车辆的车辆标识信息,判断该变动通知对应的区域的推荐列表(Around池)是否有其他车辆(第三车辆),若该变动通知对应的区域的推荐列表(Around池)有其他车辆(第三车辆),则将第三车辆确定为待推荐车辆,即根据第三车辆的第三标识信息,确定第一区域对应的待推荐车辆集合。
步骤1413,服务器判断第一车辆是否结束行驶,如果是,执行步骤1414,否则,执行步骤1404。
步骤1414,服务器生成结束统计通知。
例如,结束统计通知包括:第一车辆的第一标识信息(例如,VIN码)、通知类型(即,Type:“Collect End”)、行驶结束时间。其中,行驶结束时间可以是第一车辆产生的最后一组发动机/电动机信号的时间戳。
步骤1415,服务器确定多个待推荐车辆集合中每个待推荐车辆的数量。
这里需要说的是,在确定待推荐车辆时,更新变动通知。示例性地,在变动通知中新增表示待推荐车辆的信息的字段。
示例性地,待推荐车辆的信息的字段为:
NearByMap:Key,Value;其中,Key表示待推荐车辆的标识信息(例如,VIN);Value表示待推荐车辆的数量,即表示待推荐车辆在第一车辆的行驶时长内出现的频次,例如,如果第一次确定得到待推荐车辆,也就是待推荐车辆第一次出现在第一车辆的附近,则Value值记为1。如果不是第一次确定得到待推荐车辆,也就是待推荐车辆再次出现在第一车辆的附近,则Value值加1。基于此,变动通知中新增表示待推荐车辆的信息的字段,可以确定待推荐车辆在第一车辆的行驶时长内出现的频次,即多个待推荐车辆集合中每个待推荐车辆的数量。
步骤1416,服务器基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆。
步骤1417,服务器向第一车辆发送目标推荐车辆的社交信息,以及向目标推荐车辆发送第一车辆的社交信息。
在该例子中,在第一车辆进行一段行驶路段的过程中,可以根据第一车辆的地理位置的变化,确定出现在第一车辆附近的待推荐车辆,进而根据待推荐车辆出现在第一车辆附近的频次,确定目标推荐车辆,可以提高推荐的准确性和精度,提升用户体验。再者,本实施例基于第一车辆行驶过程中的多个地理位置,即可以实现社交推荐功能,不需要借助第三方地图服务商的接口能力,推荐质量不会受到第三方地图服务商的接口的响应速度、响应效率和使用费用的制约,更有利于推荐服务的实现和推广。以及,基于第一车辆所在的区域进行社交推荐,以及待推荐车辆在第一车辆的行驶时长内出现的频次确定目标推荐车辆,可以减小数据量,提高推荐的时效性,提升推荐效率。此外,本实施例可以在第一车辆的行驶结束时进行社交推荐,不需要用户触发,不会对干扰用户驾驶车辆,可以保证驾驶的安全性。
请参见图15,本申请实施例还提供了一种社交推荐装置1500,如图15所示,该社交推荐装置1500包括:第一确定模块1501、第二确定模块1502和发送模块1503。
其中,该第一确定模块1501用于确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;该第二确定模块1502用于基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;该发送模块1503用于向第一车辆发送目标推荐车辆的社交信息。
在一些实施例中,第二确定模块1502包括:第一确定单元,用于根据预设周期和每个待推荐车辆的数量,确定每个待推荐车辆与第一车辆的同行时长,其中,预设周期为多个第一区域的确定周期;第二确定单元,用于根据每个待推荐车辆与第一车辆的同行时长和第一车辆的行驶时长,确定每个待推荐车辆对应的行程占比;第三确定单元,用于若待推荐车辆对应的行程占比大于或等于预设占比,则将待推荐车辆确定为目标推荐车辆。
在一些实施例中,第二确定模块1502包括:排序单元,用于按照每个待推荐车辆的数量由高至低的顺序,对多个待推荐车辆集合中的所有待推荐车辆进行排列;第四确定单元,用于将排列序号低于预设序号的待推荐车辆确定为目标推荐车辆。
在一些实施例中,第二确定模块具体用于若待推荐车辆的数量大于或等于预设数量,则将待推荐车辆确定为目标推荐车辆。
在一些实施例中,每个第一区域对应的待推荐车辆集合包括第一区域内除第一车辆以外的第二车辆,以及与第一区域相邻的至少一个第二区域内的第三车辆。
在一些实施例中,该社交推荐装置1500还包括:第三确定模块,用于在获取到第一车辆的第一地理位置时,根据第一地理位置,确定第一地理位置对应第一区域的区域信息;第四确定模块,用于根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合。
在一些实施例中,该社交推荐装置1500还包括:第五确定模块,用于若第一区域的区域信息与第三区域的区域信息不同,则根据第一区域的区域信息,确定第一区域对应的待推荐车辆集合;其中,第三区域为在第一地理位置之前获取到的第一车辆的历史地理位置对应的区域。
在一些实施例中,第四确定模块,包括:列表获取单元,用于根据第一区域的区域信息,获取第一区域对应的第一推荐列表和至少一个第二区域的第二推荐列表;第五确定单元,用于若第一推荐列表包括第二车辆的第二标识信息,且与至少一个第二区域的第二推荐列表中包括第三车辆的第三标识信息,则根据第二标识信息和第三标识信息,确定第一区域对应的待推荐车辆集合。
在一些实施例中,该社交推荐装置1500还包括:添加模块,用于;在第一推荐列表中添加第一车辆的第一标识信息;发送模块具体用于基于第一标识信息,向第一车辆发送目标推荐车辆的社交信息。
在一些实施例中,该社交推荐装置1500还包括:删除模块,用于:若获取到第一车辆的新的地理位置,且第一车辆的新的地理位置对应区域的区域信息与第一区域的区域信息不同,则在第一推荐列表中删除第一标识信息;或者,若第一车辆结束行驶,则在第一推荐列表中删除第一标识信息;或者,若预设时长内未获取到第一车辆的新的地理位置,则在第一推荐列表中删除第一标识信息。
根据本申请实施例,在第一车辆执行目标行程的过程中,可以根据第一车辆所经过的区域的变化,确定出现在第一车辆附近的待推荐车辆集合,并基于多个待推荐车辆集合中每个待推荐车辆的数量,确定待推荐车辆是否与第一车辆同行,以将与第一车辆同行待推荐车辆确定为目标推荐车辆,可以提高推荐的准确性和精度,提升用户体验。再者,基于第一车辆所在的区域进行社交推荐,以及多个待推荐车辆集合中每个待推荐车辆的数量确定目标推荐车辆,可以减小数据量,提高推荐的时效性,提升推荐效率。以及,本实施例基于第一车辆经过的区域,可以实现社交推荐功能,不需要借助第三方地图服务商的接口能力,推荐质量不会受到第三方地图服务商的接口的响应速度、响应效率和使用费用的制约,更有利于推荐服务的实现和推广。
请参见图16,本申请实施例还提供了一种电子设备,包括:处理器1601、存储器1602、通信接口1603和通信总线1604,处理器1601、存储器1602和通信接口1603通过通信总线1604完成相互间的通信;存储器1602用于存放至少一可执行指令,可执行指令使处理器1601执行如上述的社交推荐方法的相关步骤。
其中,处理器1601可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器1602用于存放程序1605。程序1605可以包括程序代码,该程序代码包括可执行指令。存储器1603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序1605具体可以被处理器1601调用使电子设备执行以下操作:
确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;向第一车辆发送目标推荐车辆的社交信息。
在一些实施例中,该电子设备可以是服务器。
本申请实施例还提供了一种电子设备,该电子设备包括如上述实施例所述的社交推荐装置。
本申请实施例还提供了一种车辆,该车辆处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存放至少一可执行指令,可执行指令使处理器执行如前述实施例的社交推荐方法的操作。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在电子设备/车辆上运行时,使得电子设备/车辆执行如上述社交推荐方法的操作。
可执行指令具体可以用于使得电子设备/车辆执行以下操作:
确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,第一区域为第一车辆在行驶过程中经过的区域,第一区域对应的待推荐车辆集合包括第一车辆位于第一区域时第一车辆附近的至少一个待推荐车辆;基于多个待推荐车辆集合中每个待推荐车辆的数量,确定第一车辆对应的目标推荐车辆;向第一车辆发送目标推荐车辆的社交信息。
根据本申请实施例,在第一车辆执行目标行程的过程中,可以根据第一车辆所经过的区域的变化,确定出现在第一车辆附近的待推荐车辆集合,并基于多个待推荐车辆集合中每个待推荐车辆的数量,确定待推荐车辆是否与第一车辆同行,以将与第一车辆同行待推荐车辆确定为目标推荐车辆,可以提高推荐的准确性和精度,提升用户体验。再者,基于第一车辆所在的区域进行社交推荐,以及多个待推荐车辆集合中每个待推荐车辆的数量确定目标推荐车辆,可以减小数据量,提高推荐的时效性,提升推荐效率。以及,本实施例基于第一车辆经过的区域,可以实现社交推荐功能,不需要借助第三方地图服务商的接口能力,推荐质量不会受到第三方地图服务商的接口的响应速度、响应效率和使用费用的制约,更有利于推荐服务的实现和推广。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。此外,本申请实施例也不针对任何特定编程语言。
在此处所提供的说明书中,说明了大量具体细节。然而能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。类似地,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。其中,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (3)
1.一种社交推荐方法,其特征在于,所述方法包括:
在获取到第一车辆的第一地理位置时,根据所述第一地理位置,确定所述第一地理位置对应第一区域的区域信息;
若所述第一区域的区域信息与第三区域的区域信息不同,则根据所述第一区域的区域信息,确定所述第一区域对应的待推荐车辆集合,其中,所述第三区域为在所述第一地理位置之前获取到的所述第一车辆的历史地理位置对应的区域;
在第一车辆结束行驶时,得到第一车辆经过的多个第一区域对应的多个待推荐车辆集合,并确定多个第一区域对应的多个待推荐车辆集合中每个待推荐车辆的数量,其中,所述第一区域为第一车辆在行驶过程中经过的区域,每个所述第一区域对应的待推荐车辆集合包括第一车辆位于所述第一区域时,第一区域内除所述第一车辆以外的第二车辆,以及与所述第一区域相邻的至少一个第二区域内的第三车辆;所述根据所述第一区域的区域信息,确定所述第一区域对应的待推荐车辆集合,包括:根据所述第一区域的区域信息,获取所述第一区域对应的第一推荐列表和所述至少一个第二区域的第二推荐列表;若所述第一推荐列表包括所述第二车辆的第二标识信息,且所述至少一个第二区域的第二推荐列表中包括所述第三车辆的第三标识信息,则根据所述第二标识信息和所述第三标识信息,确定所述第一区域对应的待推荐车辆集合;
基于所述多个待推荐车辆集合中每个所述待推荐车辆的数量,确定所述第一车辆对应的目标推荐车辆;
向所述第一车辆发送所述目标推荐车辆的社交信息;
其中,所述基于所述多个待推荐车辆集合中每个所述待推荐车辆的数量,确定所述第一车辆对应的目标推荐车辆,包括:
若所述待推荐车辆的数量大于或等于预设数量,则将所述待推荐车辆确定为所述目标推荐车辆;或者,
根据预设周期和所述每个所述待推荐车辆的数量,确定每个所述待推荐车辆与所述第一车辆的同行时长,其中,所述预设周期为第一地理位置的采集周期;根据每个所述待推荐车辆与所述第一车辆的同行时长和所述第一车辆的行驶时长,确定每个所述待推荐车辆对应的行程占比;若所述待推荐车辆对应的行程占比大于或等于预设占比,则将所述待推荐车辆确定为所述目标推荐车辆;或者,
按照每个所述待推荐车辆的数量由高至低的顺序,对所述多个待推荐车辆集合中的所有所述待推荐车辆进行排列;将排列序号低于预设序号的所述待推荐车辆确定为所述目标推荐车辆。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述第一区域的区域信息,获取所述第一区域对应的第一推荐列表之后,所述方法还包括:
在所述第一推荐列表中添加所述第一车辆的第一标识信息;
所述向所述第一车辆发送所述目标推荐车辆的社交信息,包括:
基于所述第一标识信息,向所述第一车辆发送所述目标推荐车辆的社交信息。
3.根据权利要求2所述的方法,其特征在于,在所述第一推荐列表中添加所述第一车辆的第一标识信息之后,所述方法还包括:
若获取到所述第一车辆的新的地理位置,且所述第一车辆的新的地理位置对应区域的区域信息与所述第一区域的区域信息不同,则在所述第一推荐列表中删除所述第一标识信息;或者,
若所述第一车辆结束行驶,则在所述第一推荐列表中删除所述第一标识信息;或者,
若预设时长内未获取到所述第一车辆的新的地理位置,则在所述第一推荐列表中删除所述第一标识信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310187879.4A CN116028726B (zh) | 2023-03-01 | 2023-03-01 | 社交推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310187879.4A CN116028726B (zh) | 2023-03-01 | 2023-03-01 | 社交推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116028726A CN116028726A (zh) | 2023-04-28 |
CN116028726B true CN116028726B (zh) | 2024-04-16 |
Family
ID=86074178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310187879.4A Active CN116028726B (zh) | 2023-03-01 | 2023-03-01 | 社交推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028726B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165547A1 (zh) * | 2015-04-14 | 2016-10-20 | 蔡宏铭 | 实现同行人即时通讯、同行信息共享及内容推荐的方法和系统 |
KR102021757B1 (ko) * | 2018-12-28 | 2019-09-18 | 강릉원주대학교산학협력단 | 모바일 디바이스 기반 음영지역에서의 커넥티드 카 서비스 지원 방법 |
CN110309190A (zh) * | 2018-03-13 | 2019-10-08 | 上海博泰悦臻电子设备制造有限公司 | 一种基于车载终端的车友推荐方法及系统、车载终端 |
CN112541797A (zh) * | 2019-09-23 | 2021-03-23 | 北京轻享科技有限公司 | 一种车辆推送信息的生成方法及服务器 |
-
2023
- 2023-03-01 CN CN202310187879.4A patent/CN116028726B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016165547A1 (zh) * | 2015-04-14 | 2016-10-20 | 蔡宏铭 | 实现同行人即时通讯、同行信息共享及内容推荐的方法和系统 |
CN107615733A (zh) * | 2015-04-14 | 2018-01-19 | 蔡宏铭 | 实现同行人即时通讯、同行信息共享及内容推荐的方法和系统 |
CN110309190A (zh) * | 2018-03-13 | 2019-10-08 | 上海博泰悦臻电子设备制造有限公司 | 一种基于车载终端的车友推荐方法及系统、车载终端 |
KR102021757B1 (ko) * | 2018-12-28 | 2019-09-18 | 강릉원주대학교산학협력단 | 모바일 디바이스 기반 음영지역에서의 커넥티드 카 서비스 지원 방법 |
CN112541797A (zh) * | 2019-09-23 | 2021-03-23 | 北京轻享科技有限公司 | 一种车辆推送信息的生成方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN116028726A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106092113B (zh) | 预行驶道路预估系统、方法、导航客户端及服务器 | |
CN111966729A (zh) | 一种车辆轨迹数据处理方法、装置、设备及存储介质 | |
CN111105053B (zh) | 待载客车辆的路线推荐方法及上车点推荐方法 | |
CN107422350B (zh) | 基于车载设备的车辆行程计算方法、装置和可读存储介质 | |
CN108230725A (zh) | 停车推荐方法和装置 | |
DE102014114438A1 (de) | Verfahren zum Bereitstellen von Kraftstoffkaufoptionen für ein Fahrzeug | |
DE102019134995A1 (de) | Systeme und verfahren für fahrzeugbasierte touren | |
US11763268B2 (en) | Method and system to improve driver information and vehicle maintenance | |
CN104634353A (zh) | 用于车队的导航方法、系统、服务器和导航终端 | |
US20150142485A1 (en) | Probe information management device, probe information management system, and probe information management method | |
CN110798807B (zh) | 用于记录车辆轨迹的方法、装置、计算机设备和介质 | |
CN112749740B (zh) | 确定车辆目的地的方法、装置、电子设备及介质 | |
CN105096099A (zh) | 共享车辆系统和方法 | |
CN113888857A (zh) | 基于车联网的公共交通管理系统、装置及方法 | |
CN115655301A (zh) | 车辆导航路线的选取方法、装置、电子设备及介质 | |
CN110087187B (zh) | 一种业务执行方法及装置 | |
CN116028726B (zh) | 社交推荐方法 | |
US11776398B2 (en) | Apparatus, system and method for merging and applying intersection data for a vehicle | |
CN103546591A (zh) | 在无线环境中解析ip地址 | |
CN111738811A (zh) | 一种乘车接送方法、装置、设备及系统 | |
CN113793078B (zh) | 节假日氢能源需求量确定方法、装置和存储介质 | |
GB2527659A (en) | Shared vehicle systems and methods | |
CN111798591B (zh) | 车辆总里程数的确定方法、装置、计算机设备和存储介质 | |
DE102018104971A1 (de) | Ein system und verfahren zum optimieren eines fahrzeugfuhrparks | |
DE102017217202A1 (de) | Persönlicher intelligenter Tankassistent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |