一种红绿灯配时的确定方法、装置、设备及存储介质转让专利

申请号 : CN202210468571.2

文献号 : CN114758515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李志鹏李戈朱莹莹段红军

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例公开了一种红绿灯配时的确定方法、装置、设备及存储介质,相关实施例可应用于智能交通或人工智能等各种场景,用于提高红绿灯配时的获取率。本申请实施例方法包括:获取目标红绿灯在目标方向上的发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,第一状态变化与第二状态变化为相反状态变化,根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长,若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。

权利要求 :

1.一种红绿灯配时的确定方法,其特征在于,包括;

获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,所述第一状态变化与所述第二状态变化为相反状态变化;

根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,所述第N时间间隔用于指示与所述第N‑1时间间隔相邻的下一个时间间隔,所述N为大于1的整数;

根据所述第二时间数据的第一时间戳以及所述第N‑1周期,确定绿灯持续时长;

若所述第N‑1周期与第N周期相同,则将所述绿灯持续时长以及所述第N‑1周期,确定为所述目标红绿灯在目标方向上的第一配时;

其中,所述获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,包括:基于众包设备收集所述目标红绿灯在所述目标方向上发生所述第一状态变化的多个时间戳,以及收集发生所述第二状态变化的多个时间戳;

针对于所述第一状态变化对应的多个时间戳中的每个时间戳,分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到所述第一时间数据;

将所述第二状态变化对应的多个时间戳作为所述第二时间数据;

其中,所述根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,包括:计算所述第N‑1时间间隔和所述第N时间间隔之间的最大公约数;

将所述最大公约数作为所述第N‑1周期;

其中,所述根据所述第二时间数据的第一时间戳以及所述第N‑1周期,确定绿灯持续时长,包括:按照所述第N‑1周期对所述第一时间戳进行取余计算,得到第N‑1余数;

将所述第N‑1余数作为所述绿灯持续时长。

2.根据权利要求1所述的方法,其特征在于,所述若所述第N‑1周期与第N周期相同,则将所述绿灯持续时长以及所述第N‑1周期,确定为所述目标红绿灯在目标方向上的第一配时之后,所述方法还包括:当接收到目标终端发送的沿所述目标方向通过所述目标红绿灯所在位置的信号,则根据所述信号获取所述目标终端的当前运动速度以及与所述目标红绿灯之间的当前距离;

根据所述第一配时、所述当前运动速度以及所述当前距离,确定提示场景;

根据所述提示场景向所述目标终端发送相应的场景提示信息。

3.根据权利要求2所述的方法,其特征在于,所述将所述第N‑1余数作为所述绿灯持续时长之后,所述方法还包括:按照所述第N‑1周期对所述第二时间数据的第二时间戳进行取余计算,得到第N余数,其中,所述第二时间戳是与所述第一时间戳相邻的下一个时间戳;

若所述第N余数与所述第N‑1余数不一致,则计算所述第N余数与所述第N‑1余数之间的第二差值;

若所述第N‑1周期被所述第二差值整除,则将所述第二差值作为第一更新周期;

将所述第一配时更新为所述绿灯持续时长和所述第一更新周期,得到所述目标红绿灯在目标方向上的第二配时;

所述根据所述第一配时、所述当前运动速度以及所述当前距离,确定提示场景,包括:根据所述第二配时、所述当前运动速度以及所述当前距离,确定所述提示场景。

4.根据权利要求3所述的方法,其特征在于,所述若所述第N余数与所述第N‑1余数不一致,则计算所述第N余数与所述第N‑1余数之间的第二差值之后,所述方法还包括:若所述第N‑1周期未被所述第二差值整除,则确定所述第N‑1周期为无效周期;

基于所述无效周期,将所述第一配时标记为无效配时。

5.根据权利要求2所述的方法,其特征在于,所述根据所述第二时间数据的第一时间戳以及所述第N‑1周期,确定绿灯持续时长之后,所述方法还包括:若第N+1周期与所述第N周期不同,且所述第N+1周期为所述第N周期的公因数,则将所述第N+1周期作为第二更新周期;

将所述第一配时更新为所述绿灯持续时长和所述第二更新周期,得到所述目标红绿灯在目标方向上的第三配时;

所述根据所述第一配时、所述当前运动速度以及所述当前距离,确定提示场景,包括:根据所述第三配时、所述当前运动速度以及所述当前距离,确定所述提示场景。

6.根据权利要求1所述的方法,其特征在于,所述根据所述第二时间数据的第一时间戳以及所述第N‑1周期,确定绿灯持续时长之后,所述方法还包括:若第N+1周期与第N周期不同,且所述第N+1周期不为所述第N周期的公因数,则将所述第N+1周期确定为新发现周期;

基于所述新发现周期,将所述绿灯持续时长进行重置,并将所述第一配时作为历史配时。

7.一种红绿灯配时的确定装置,其特征在于,包括:获取单元,用于获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,所述第一状态变化与所述第二状态变化为相反状态变化;

处理单元,用于根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,所述第N时间间隔用于指示与所述第N‑1时间间隔相邻的下一个时间间隔,所述N为大于1的整数;

所述处理单元,还用于根据所述第二时间数据的第一时间戳以及所述第N‑1周期,确定绿灯持续时长;

确定单元,用于若所述第N‑1周期与第N周期相同,则将所述绿灯持续时长以及所述第N‑1周期,确定为所述目标红绿灯在目标方向上的第一配时;

其中,所述获取单元具体用于:

基于众包设备收集目标红绿灯在目标方向上发生第一状态变化的多个时间戳,以及收集发生第二状态变化的多个时间戳;

针对于第一状态变化对应的多个时间戳中的每个时间戳,分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到第一时间数据;

将第二状态变化对应的多个时间戳作为第二时间数据;

其中,所述处理单元具体用于:

计算所述第N‑1时间间隔和所述第N时间间隔之间的最大公约数;

将所述最大公约数作为所述第N‑1周期;

其中,所述处理单元具体用于:

按照所述第N‑1周期对所述第一时间戳进行取余计算,得到第N‑1余数;

将所述第N‑1余数作为所述绿灯持续时长。

8.一种计算机设备,包括存储器、处理器以及总线系统,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤;

所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

说明书 :

一种红绿灯配时的确定方法、装置、设备及存储介质

技术领域

[0001] 本申请实施例涉及智能交通技术领域,尤其涉及一种红绿灯配时的确定方法、装置、设备及存储介质。

背景技术

[0002] 随着通信技术的发展,车对外界的信息交换(vehicle‑to‑everything,V2X)设备得到越来越广泛的应用。
[0003] 目前的车路协同或V2X产品中最大的一个痛点是路测基建的覆盖度问题,通常路测基建包括红绿灯以及摄像头等设备,其中,红绿灯是用户可以感知和体验的场景覆盖度是最广也是最频繁的设备。红绿灯配时指的是某一路口各方向红绿灯状态变化的时间点以及变化的周期。红绿灯配时在V2X场景下对于解决交通拥堵、减少事故等方面具有重要意义。
[0004] 但是,目前红绿灯联网率普遍不高,存在大量的未联网的红绿灯的配时无法获取的情形,或者,联网的红绿灯会因权限或安全原因的限制,导致获取配时的红绿灯受到限制,从而导致可以获取到的配时的红绿灯占比非常少,因此,如何尽可能多获取配时的红绿灯,是一个亟需解决的问题。

发明内容

[0005] 本申请实施例提供了一种红绿灯配时的确定方法、装置、设备及存储介质,用于通过记录到的目标红绿灯在目标方向上状态变化的时间数据,发现完整红绿灯周期,以及从发现的完整红绿灯周期中挖掘到绿灯持续时长,实现对目标红绿灯配时的快速获取,能够避免联网率、权限或安全原因的限制,提高获取目标红绿灯配时的效率,从而能够提高红绿灯配时的获取率。
[0006] 本申请实施例一方面提供了一种红绿灯配时的确定方法,包括:
[0007] 获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,第一状态变化与第二状态变化为相反状态变化;
[0008] 根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,N为大于1的整数;
[0009] 根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长;
[0010] 若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。
[0011] 本申请另一方面提供了一种红绿灯配时的确定装置,包括:
[0012] 获取单元,用于获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,第一状态变化与第二状态变化为相反状态变化;
[0013] 处理单元,用于根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,N为大于1的整数;
[0014] 处理单元,还用于根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长;
[0015] 确定单元,还用于若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。
[0016] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,获取单元具体可以用于:
[0017] 基于众包设备收集目标红绿灯在目标方向上发生第一状态变化的多个时间戳,以及收集发生第二状态变化的多个时间戳;
[0018] 针对于第一状态变化对应的多个时间戳中的每个时间戳,分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到第一时间数据;
[0019] 将第二状态变化对应的多个时间戳作为第二时间数据。
[0020] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
[0021] 获取单元,还用于当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离;
[0022] 确定单元,还用于根据第一配时、当前运动速度以及当前距离,确定提示场景;
[0023] 处理单元,还用于根据提示场景向目标终端发送相应的场景提示信息。
[0024] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,处理单元具体可以用于:
[0025] 按照第N‑1周期对第一时间戳进行取余计算,得到第N‑1余数;
[0026] 将第N‑1余数作为绿灯持续时长。
[0027] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
[0028] 处理单元,还用于按照第N‑1周期对第二时间数据的第二时间戳进行取余计算,得到第N余数,其中,第二时间戳是与第一时间戳相邻的下一个时间戳;
[0029] 处理单元,还用于若第N余数与第N‑1余数不一致,则计算第N余数与第N‑1余数之间的第二差值;
[0030] 确定单元,还用于若第N‑1周期被第二差值整除,则将第二差值作为第一更新周期;
[0031] 处理单元,还用于将第一配时更新为绿灯持续时长和第一更新周期,得到目标红绿灯在目标方向上的第二配时;
[0032] 确定单元具体可以用于:根据第二配时、当前运动速度以及当前距离,确定提示场景。
[0033] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
[0034] 确定单元,还用于若第N‑1周期未被第二差值整除,则确定第N‑1周期为无效周期;
[0035] 处理单元,还用于基于无效周期,将第一配时标记为无效配时。
[0036] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
[0037] 确定单元,还用于若第N+1周期与第N周期不同,且第N+1周期为第N周期的公因数,则将第N+1周期作为第二更新周期;
[0038] 处理单元,还用于将第一配时更新为绿灯持续时长和第二更新周期,得到目标红绿灯在目标方向上的第三配时;
[0039] 确定单元具体可以用于:根据第三配时、当前运动速度以及当前距离,确定提示场景。
[0040] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
[0041] 确定单元,还用于若第N+1周期与第N周期不同,且第N+1周期不为第N周期的公因数,则将第N+1周期确定为新发现周期;
[0042] 处理单元,还用于基于新发现周期,将绿灯持续时长进行重置,并将第一配时作为历史配时。
[0043] 在一种可能的设计中,本申请实施例另一方面的一种实现方式中,处理单元具体可以用于:
[0044] 计算第N‑1时间间隔和第N时间间隔之间的最大公约数;
[0045] 将最大公约数作为第N‑1周期。
[0046] 本申请另一方面提供了一种计算机设备,包括:存储器、处理器以及总线系统;
[0047] 其中,存储器用于存储程序;
[0048] 处理器用于执行存储器中的程序时实现如上述各方面的方法;
[0049] 总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
[0050] 本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
[0051] 从以上技术方案可以看出,本申请实施例具有以下有益效果:
[0052] 通过获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生与第一状态变化相反的第二状态变化所对应的第二时间数据,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,以获取到第N‑1周期,同时,可以根据第二时间数据的第一时间戳以及第N‑1周期,以获取到绿灯持续时长,如果当第N‑1周期与第N周期相同时,可以将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。通过上述方式,能够通过基于目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,发现完整红绿灯周期,并在发现完整红绿灯周期的基础上,结合目标红绿灯在目标方向上发生与第一状态变化相反的第二状态变化所对应的第二时间数据,可以从发现的完整红绿灯周期中挖掘其中的绿灯持续时长,实现对目标红绿灯在目标方向上的第一配时的快速获取,能够避免联网率、权限或安全原因的限制,提高获取目标红绿灯配时的效率,从而能够提高红绿灯配时的获取率。

附图说明

[0053] 图1是本申请实施例中配时控制系统的一个架构示意图;
[0054] 图2是本申请实施例中红绿灯配时的确定方法的一个实施例流程图;
[0055] 图3是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0056] 图4是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0057] 图5是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0058] 图6是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0059] 图7是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0060] 图8是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0061] 图9是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0062] 图10是本申请实施例中红绿灯配时的确定方法的另一个实施例流程图;
[0063] 图11是本申请实施例中红绿灯配时的确定方法的一个原理流程示意图;
[0064] 图12是本申请实施例中红绿灯配时的确定方法的另一个原理流程示意图;
[0065] 图13是本申请实施例中红绿灯配时的确定方法的一个获取时间数据的示意图;
[0066] 图14是本申请实施例中红绿灯配时的确定方法的一个触发场景提示的示意图;
[0067] 图15是本申请实施例中红绿灯配时的确定装置的一个实施例示意图;
[0068] 图16是本申请实施例中计算机设备的一个实施例示意图。

具体实施方式

[0069] 本申请实施例提供了一种红绿灯配时的确定方法、装置、设备及存储介质,用于通过记录到的目标红绿灯在目标方向上状态变化的时间数据,发现完整红绿灯周期,以及从发现的完整红绿灯周期中挖掘到绿灯持续时长,实现对目标红绿灯配时的快速获取,能够避免联网率、权限或安全原因的限制,提高获取目标红绿灯配时的效率,从而能够提高红绿灯配时的获取率。
[0070] 本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0071] 可以理解的是,在本申请的具体实施方式中,涉及到第一时间数据以及第二时间数据等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0072] 可以理解的是,如本申请所公开的红绿灯配时的确定方法,具体涉及智能车路协同系统(Intelligent Vehicle Infrastructure Cooperative Systems,IVICS),下面进一步地对智能车路协同系统进行介绍。智能车路协同系统简称车路协同系统,是智能交通系统(ITS)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
[0073] 可以理解的是,如本申请所公开的红绿灯配时的确定方法,还涉及云技术(Cloud technology),下面进一步地对云技术进行介绍。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
[0074] 而云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
[0075] 作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
[0076] 按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的事务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
[0077] 其次,云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
[0078] 其次,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和事务访问功能的一个存储系统。
[0079] 目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
[0080] 存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
[0081] 应理解的是,本申请提供的红绿灯配时的确定方法可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等,用于通过获取红绿灯配时完成交通安全提示等场景。作为示例,例如,通过获取红绿灯A在由南向北方向上的配时,在红绿灯A即将变绿灯时候,提前提醒驾驶员S1准备启动车辆。作为另一个示例,例如通过获取红绿灯B在由东向西方向上的配时,在红绿灯B即将变红灯时候,提前提醒驾驶员S2有闯红灯风险。在上述种种场景中,由于目前红绿灯联网率普遍不高,存在大量的未联网的红绿灯的配时无法获取的情形,或者,联网的红绿灯会因权限或安全原因的限制,导致获取配时的红绿灯受到限制,从而导致可以获取到的配时的红绿灯占比非常少。
[0082] 为了解决上述问题,本申请提出了一种红绿灯配时的确定方法,该方法应用于图1所示的配时控制系统,请参阅图1,图1为本申请实施例中配时控制系统的一个架构示意图,如图1所示,服务器通过获取众包设备收集到目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生与第一状态变化相反的第二状态变化所对应的第二时间数据,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,以获取到第N‑1周期,同时,可以根据第二时间数据的第一时间戳以及第N‑1周期,以获取到绿灯持续时长,如果当第N‑1周期与第N周期相同时,可以将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时,以基于目标红绿灯在目标方向上的第一配时为终端设备进行相应场景提示。通过上述方式,能够通过基于目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,发现完整红绿灯周期,并在发现完整红绿灯周期的基础上,结合目标红绿灯在目标方向上发生与第一状态变化相反的第二状态变化所对应的第二时间数据,可以从发现的完整红绿灯周期中挖掘其中的绿灯持续时长,实现对目标红绿灯在目标方向上的第一配时的快速获取,能够避免联网率、权限或安全原因的限制,提高获取目标红绿灯配时的效率,从而能够提高红绿灯配时的获取率。
[0083] 可以理解的是,图1中仅示出了一种终端设备,在实际场景中可以由更多种类的终端设备参与到数据处理的过程中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,具体数量和种类因实际场景而定,具体此处不做限定。另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,服务器的数量因实际场景而定,具体此处不做限定。另外,图1中仅示出了一种众包设备,在实际场景中可以由更多种类的众包设备参与到数据处理的过程中,众包设备包括但不限于车载终端、智能后视镜以及摄像机等,具体数量和种类因实际场景而定,具体此处不做限定。
[0084] 需要注意的是,本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,众包设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端设备、众包设备以及服务器可以连接组成区块链网络,本申请在此不做限制。
[0085] 下面将对本申请中红绿灯配时的确定方法进行介绍,请参阅图2,本申请实施例中红绿灯配时的确定方法一个实施例包括:
[0086] 在步骤S101中,获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,第一状态变化与第二状态变化为相反状态变化;
[0087] 在本实施例中,为了能够更好地发现目标红绿灯在目标方向上的配时,本实施例可以通过接收众包设备发送的目标红绿灯在目标方向上发生第一状态变化的多个时间点,以获取到第一时间数据,同理,也可以通过接收众包设备发送的目标红绿灯在目标方向上发生第一状态变化的多个时间点,以获取到第二时间数据,能够避免联网率、权限或安全原因的限制,快速的累积红绿灯状态变化数据,能够在一定程度上提高获取红绿灯配时的效率,从而提高红绿灯配时的获取率。
[0088] 其中,为了方便理解,在本实施例以及后续的实施例使用的目标红绿灯具体可以表现为常见的圆饼灯,有红绿两种变化状态。可以理解的是,如图13所示,观测路口的一个方向只有一个目标红绿灯。目标方向具体可以表现为由北向南方向、由南向北方向、由东向西方向或由西向东方向等方向,还可以表现为其他方向,此处不作具体限制,但是,为了方便理解,本实施例以及后续的实施例使用由北向南方向的目标方向进行说明。
[0089] 其中,第一状态变化以及第二状态变化均用于指示红绿两种变化状态。第一状态变化与第二状态变化为相反状态变化,例如,当第一状态变化表现为红转绿的状态变化时,对应的第二状态变化为绿转红的状态变化,同理,当第一状态变化表现为绿转红的状态变化时,对应的第二状态变化为红转绿的状态变化。
[0090] 具体地,如图12所示,获取目标红绿灯在目标方向上发生第一状态变化(如红转绿)的第一时间数据,具体可以是通过不同的端记录目标红绿灯在目标方向上发生第一状态变化(如红转绿)的不同的时间点,即基于多个众包设备收集目标红绿灯在目标方向上发生第一状态变化(如红转绿)的多个时间戳,然后,基于这些时间戳分别计算每两个相邻的时间戳之间的时间间隔,故由这些时间点、每个时间点对应的时间戳以及计算得到的时间间隔组成的集合即为第一时间数据。
[0091] 同理,如图12所示,获取目标红绿灯在目标方向上发生第二状态变化(如绿转红)的第二时间数据,具体可以是通过不同的端记录目标红绿灯在目标方向上发生第二状态变化(如绿转红)的不同的时间点,即基于多个众包设备收集目标红绿灯在目标方向上发生第二状态变化(如绿转红)的多个时间戳,故由这些时间点、每个时间点对应的时间戳组成的集合即为第二时间数据。
[0092] 在步骤S102中,根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,N为大于1的整数;
[0093] 在本实施例中,在获取到第一时间数据之后,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,来计算目标红绿灯由红转绿再到绿转红的完整状态转变的时间,或者是目标红绿灯由绿转红再到红转绿的完整状态转变的时间,即第N‑1周期。
[0094] 其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,N为大于1的整数。第N时间间隔以及第N‑1时间间隔分别用于指示两个相邻时间戳之间的间隔的时长,例如,如图13所示,假设当N等于2时,通过计算T2和T1两个时间戳之间的差值可以得到第N‑1时间间隔为第一时间间隔990秒,以及通过计算T3和T2两个时间戳之间的差值可以得到第N时间间隔为第二时间间隔2880秒。
[0095] 具体地,如图11所示,在获取到第一时间数据之后,目标红绿灯对应的服务状态机处于无类型周期(void‑period)状态,还未发现目标标红绿灯在目标方向上的配时,即目标红绿灯的完整周期为空(如period=null),以及绿灯持续时间为空(如greenlight=null),由于第一时间数据记录的是在多个不同的时间点目标红绿灯发生第一状态变化(如红转绿)的时间数据,因此,当第一状态变化为红转绿时,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,来计算出每个间隔完成目标红绿灯由红转绿再到绿转红的完整状态转变需要耗费多少时长,耗费的时长即可以作为可以完成目标红绿灯由红转绿再到绿转红的状态的周期,即第N‑1周期,或者,当第一状态变化为绿转红时,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,来计算出每个间隔完成目标红绿灯由绿转红再到红转绿的完整状态转变需要耗费多少时长,耗费的时长即可以作为可以完成目标红绿灯由绿转红再到红转绿的状态的周期,即第N‑1周期,则目标红绿灯对应的服务状态机从无类型周期(void‑period)状态转变或迁移为发现周期(find‑period)状态,即目标红绿灯的完整周期为第一周期(如period=find),以及绿灯持续时间为空(如greenlight=null)。
[0096] 可以理解的是,当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,也可以用于目标红绿灯由红转绿再到绿转红的多次完整状态转变的总时长,同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,也可以用于目标红绿灯由绿转红再到红转绿的多次完整状态转变的总时长。
[0097] 在步骤S103中,根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长;
[0098] 在本实施例中,在获取到第N‑1周期以及第二时间数据之后,由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次或多次完整状态转变的时长,故可以根据第二时间数据的第一时间戳以及第N‑1周期,来计算在完整的由红转绿再到绿转红的时长中绿灯存在的时间,即确定绿灯持续时长。同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次或多次完整状态转变的时长,故可以根据第二时间数据的第一时间戳以及第N‑1周期,来计算在完整的由绿转红再到红转绿的时长中绿灯存在的时间,即确定绿灯持续时长。
[0099] 其中,第二时间数据的第一时间戳用于指示第一次记录到目标红绿灯在目标方向上发生第二状态变化(如绿转红)的时间点对应的时间戳,例如,如图13所示,假设通过众包设备记录到一个路口的在目标方向上发生第二状态变化如绿转红的第一个时间点为T1,其中,T1对应的时间戳为1637197210,即为第一时间戳。
[0100] 具体地,如图11所示,在获取到第N‑1周期后,本实施例可以将服务设置为两个信号,如period和greenlight,用于控制当前可以给终端设备提供的功能,其中,初始值为null(空),即目标红绿灯对应的服务状态机处于发现周期(find‑period)状态,即目标红绿灯的完整周期为第一周期(如period=find),以及绿灯持续时间为空(如greenlight=null),由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次或多次完整状态转变的时长,故可以根据第一次记录到目标红绿灯在目标方向上由绿转红的时间戳,即第二时间数据的第一时间戳,来计算在目标红绿灯完成由红转绿再到绿转红的一次或多次完整状态转变的过程中绿灯可能存在的一个时间,同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次或多次完整状态转变的时长,故可以根据第一次记录到目标红绿灯在目标方向上由绿转红的时间戳,即第二时间数据的第一时间戳,来计算在目标红绿灯完成由绿转红再到红转绿的一次或多次完整状态转变的过程中绿灯可能存在的一个时间。
[0101] 进一步地,计算绿灯持续时长具体可以是按照获取到第N‑1周期对第一时间戳取余数,以获取到绿灯持续时长,则目标红绿灯对应的服务状态机从发现周期(find‑period)状态转变或迁移为发现绿灯持续时间(find‑greenlight)状态,即目标红绿灯的完整周期为第一周期(如period=find),以及绿灯持续时间不为空(如greenlight=find)。
[0102] 在步骤S104中,若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。
[0103] 在本实施例中,在获取到绿灯持续时长之后,如果第N‑1周期与第N周期相同,即周期稳定不变,则可以将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时实现对目标红绿灯在目标方向上的第一配时的快速获取,提高获取目标红绿灯配时的效率,从而能够在一定程度上提高红绿灯配时的获取率。
[0104] 具体地,如图11所示,在获取到绿灯持续时长之后,可以根据第一时间数据中的第N+1时间间隔和第N时间间隔,来计算第N周期,当第一状态变化为红转绿时,如果第N‑1周期与第N周期相同,则可以理解为目标红绿灯由红转绿再到绿转红的完整状态转变的时间未发生变化,即在一段时间内,目标红绿灯都是按照第N‑1周期来完成由红转绿再到绿转红的完整状态转变,同理,当第一状态变化为绿转红时,如果第N‑1周期与第N周期相同,则可以理解为目标红绿灯由绿转红再到红转绿的完整状态转变的时间未发生变化,即在一段时间内,目标红绿灯都是按照第N‑1周期来完成由绿转红再到红转绿的完整状态转变,故可以将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时,则目标红绿灯对应的服务状态机仍然维持发现周期(find‑period)状态。
[0105] 在本申请实施例中,提供了一种红绿灯配时的确定方法,通过上述方式,能够通过基于目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,发现完整红绿灯周期,并在发现完整红绿灯周期的基础上,结合目标红绿灯在目标方向上发生与第一状态变化相反的第二状态变化所对应的第二时间数据,可以从发现的完整红绿灯周期中挖掘其中的绿灯持续时长,实现对目标红绿灯在目标方向上的第一配时的快速获取,能够避免联网率、权限或安全原因的限制,提高获取目标红绿灯配时的效率,从而能够提高红绿灯配时的获取率。
[0106] 可选地,在上述图2对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图3所示,步骤S101获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,包括:
[0107] 在步骤S301中,基于众包设备收集目标红绿灯在目标方向上发生第一状态变化的多个时间戳,以及收集发生第二状态变化的多个时间戳;
[0108] 在步骤S302中,基针对于第一状态变化对应的多个时间戳中的每个时间戳,分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到第一时间数据;
[0109] 在步骤S303中,将第二状态变化对应的多个时间戳作为第二时间数据。
[0110] 在本实施例中,为了能够更好地发现目标红绿灯在目标方向上的配时,本实施例可以通过基于众包设备收集目标红绿灯在目标方向上发生第一状态变化(如红转绿)的多个时间戳,同理,也基于众包设备收集目标红绿灯在目标方向上发生与第一状态变化相反的第二状态变化(如绿转红)的多个时间戳。然后,可以分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到第一时间数据,同时,可以将第二状态变化的多个时间戳作为第二时间数据,能够避免联网率、权限或安全原因的限制,快速的累积红绿灯发生第一状态变化(如红转绿)的第一时间数据,以及快速的累积红绿灯发生第二状态变化(如绿转红)的第二时间数据,可以在一定程度上提高获取红绿灯配时的效率,从而提高红绿灯配时的获取率。
[0111] 其中,众包设备指的是带有视觉识别能力的众包设备,可以用于识别目标红绿灯转换的时间点,众包设备具体可以表现为智能后视镜,如带有前置摄像头的流媒体后视镜,或者可以表现为车载终端设备,如车机等,其中,车机指的是安装在汽车里面的车载信息娱乐产品的简称,即导航(如车辆上的AR导航),车机能够用于实现人与车,车与外界(车与车)的信息通讯,众包设备还可以表现为其他形式,此处不作具体限制。
[0112] 具体地,如图12所示,通过利用带视觉能力的多个众包设备(如众包端1、众包端2以及众包端3等)在目标方向上运动,来识别并收集目标红绿灯在目标方向上发生第一状态变化(如红转绿)的时间点,以及每个时间点对应的时间戳,例如,如图13所示,第一个时间点T1“2021‑11‑18,9:00:00”对应的时间戳为“1637197200”,以及第二个时间点T2“2021‑11‑18,9:16:30”对应的时间戳为“1637198190”,以及第三个时间点T3“2021‑11‑18,10:04:
30”对应的时间戳为“1637201070”等。
[0113] 进一步地,可以分别计算每两个相邻的时间戳之间的第一差值,例如,计算第一个时间点T1对应的时间戳“1637197200”与第二个时间点T2对应的时间戳“1637198190”之间的第一差值为990s,即第一时间间隔,同理,可以计算计算第二个时间点T2对应的时间戳“1637198190”与第三个时间点T3对应的时间戳“1637201070”之间的第一差值为2880s,即第二时间间隔,然后,可以将收集到的目标红绿灯在目标方向上发生第一状态变化(如红转绿)的时间点、每个时间点对应的时间戳以及若干个时间间隔的集合作为第一时间数据。
[0114] 进一步地,如图12所示,通过利用带视觉能力的多个众包设备(如众包端4以及众包端5等)在目标方向上运动,来识别并收集目标红绿灯在目标方向上发生第二状态变化(如绿转红)的时间点,以及每个时间点对应的时间戳,例如,如图13所示,第一个时间点T1“2021‑11‑18,9:00:10”对应的时间戳为“1637197210”,以及第二个时间点T2“2021‑11‑18,10:57:55”对应的时间戳为“1637204275”等,然后,可以将收集到的目标红绿灯在目标方向上发生第二状态变化(如绿转红)的多个时间点,以及每个时间点对应的时间戳的集合作为第二时间数据。
[0115] 可选地,在上述图2对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图4所示,在步骤S104若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时之后,该方法还包括:
[0116] 在步骤S401中,当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离;
[0117] 在步骤S402中,根据第一配时、当前运动速度以及当前距离,确定提示场景;
[0118] 在步骤S403中,根据提示场景向目标终端发送相应的场景提示信息。
[0119] 具体地,如图14所示,当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离,可以根据第一配时、当前运动速度以及当前距离,确定提示场景,并进行相应的场景提示信息。
[0120] 例如,绿灯提醒场景,当红灯马上要过去,即将变绿灯的时候,提前给使用终端设备的目标对象提醒,让目标对象可以提前准备启动车辆。
[0121] 或者,即将红灯场景,当即将变成绿灯,且目标对象的速度已经无法通过路口的时候,可以进行闯红灯风险提示,让目标对象避免闯红灯。
[0122] 或者,绿波车速场景,计算一个合适的速度,让目标在持续一段路上以一定速度通过该路口。例如,假设前方还有500米的路程,绿灯剩余时间还有50秒,则用户只需要大于10米/秒,大概36公里/小时就可以通过路口,连续驾驶速度,维持在30到60的区间是一个舒适的区间,那么当前情况下36公里/小时到60公里每小时都属于一个合适的速度,则可以推荐一个大于36的整数速度,比如40公里/小时,一方面增加了一定的缓冲,另一方面可以让目标对象更好感知。
[0123] 或者,等灯周期场景,计算目标对象可以等待多久通过路口。例如,假设目标对象距离红绿灯还有300米,已知目标红绿灯周期轮换一次为2分钟,每隔周期通过100米的车,则可知目标对象需要3个周期即6分钟才能通过该路口。
[0124] 可选地,在上述图4对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图5所示,步骤S103根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长,包括:
[0125] 在步骤S501中,按照第N‑1周期对第一时间戳进行取余计算,得到第N‑1余数;
[0126] 在步骤S502中,将第N‑1余数作为绿灯持续时长。
[0127] 在本实施例中,在获取到第N‑1周期以及第二时间数据之后,由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次或多次完整状态转变的时长,故可以按照第N‑1周期对第一时间戳进行取余,来计算在完整的由红转绿再到绿转红的时长中绿灯存在的时间,以获取到第N‑1余数,即绿灯持续时长。同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次或多次完整状态转变的时长,故可以按照第N‑1周期对第一时间戳进行取余,来计算在完整的由绿转红再到红转绿的时长中绿灯存在的时间,以获取到第N‑1余数,即绿灯持续时长。
[0128] 具体地,在获取到第N‑1周期以及第二时间数据之后,可以按照第N‑1周期对第一时间戳进行取余计算,具体可以是采用如下公式(1):
[0129] G=MOD(t,P)   (1);
[0130] 其中,G用于表示余数(如第N‑1余数),MOD表示取模,可以理解为是在取余的基础上的取绝对值的计算,t表示时间戳(如第一时间戳),P表示周期(如第N‑1周期)。
[0131] 然后,按照第N‑1周期的数值(如90s),对如图13所示意的第一个时间点T1“2021‑11‑18,9:00:10”对应的第一时间戳“1637197210”取余数,可以得到第N‑1余数为10,则可以理解为第N‑1余数10就是目标红绿灯的一个完整周期内绿灯持续的时间,即绿灯持续时长为10s。
[0132] 例如,如图13所示,目标红绿灯在目标方向上由一个红灯到另一个红灯间的周期为第N‑1周期(如90s),假设目标红绿灯的启始时间为T3“2021‑11‑18,10:04:30”,则在第N‑1周期内目标红绿灯由绿变红的时间为启始时间偏移10秒,即绿灯占据10秒,此时,目标红绿灯对应的服务状态机维持为发现绿灯持续时间(find‑greenlight)状态。
[0133] 可选地,在上述图5对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图6所示,步骤S502将第N‑1余数作为绿灯持续时长之后,该方法还包括:步骤S601至步骤S604;步骤S402包括:步骤S605;
[0134] 在步骤S601中,按照第N‑1周期对第二时间数据的第二时间戳进行取余计算,得到第N余数,其中,第二时间戳是与第一时间戳相邻的下一个时间戳;
[0135] 在步骤S602中,若第N余数与第N‑1余数不一致,则计算第N余数与第N‑1余数之间的第二差值;
[0136] 在步骤S603中,若第N‑1周期被第二差值整除,则将第二差值作为第一更新周期;
[0137] 在步骤S604中,将第一配时更新为绿灯持续时长和第一更新周期,得到目标红绿灯在目标方向上的第二配时;
[0138] 在步骤S605中,根据第二配时、当前运动速度以及当前距离,确定提示场景。
[0139] 在本实施例中,在确定目标红绿灯在目标方向上的第一配时之后,由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,也可以用于目标红绿灯由红转绿再到绿转红的多次完整状态转变的总时长,同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,也可以用于目标红绿灯由绿转红再到红转绿的多次完整状态转变的总时长,因此,本实施例可以先按照第N‑1周期对第二时间数据的第二时间戳进行取余计算,以获取到第N余数,然后,通过余数的差值整除来判断第N‑1周期中是否存在周期更短的小周期,即可以通过判断第N余数与第N‑1余数是否一致,如果第N余数与第N‑1余数不一致,则可以计算第N余数与第N‑1余数之间的第二差值,然后,利用第二差值对第N‑1周期进行整除,如果第N‑1周期被第二差值整除,则将第二差值作为第一更新周期,并将第一配时更新为绿灯持续时长和第一更新周期,以获取到目标红绿灯在目标方向上的第二配时,能够进一步确定第一周期中是否存在周期更短的小周期,以更加准确地获取到目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,或者,更加准确地获取到目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,能够在一定程度上提高获取目标红绿灯配时的准确率,从而提高红绿灯配时的获取率,使得后续可以基于第二配时更好地进行相应的场景提示。
[0140] 其中,第二时间戳是与第一时间戳相邻的下一个时间戳,例如,图13所示,与第一时间戳“1637197210”相邻的第二时间戳为“1637204275”等。
[0141] 具体地,在确定目标红绿灯在目标方向上的第一配时之后,可以按照第N‑1周期对第二时间数据的第二时间戳进行取余计算,具体可以是采用如下公式(1),按照第N‑1周期的数值(如90s),对如图13所示意的第二个时间点T2“2021‑11‑18,10:57:55”对应的第二时间戳“1637204275”取余数,可以得到第N余数为55。
[0142] 进一步地,判断第N‑1周期中是否存在周期更短的小周期,可以先将第N余数与第N‑1余数进行比较,可知55和10不一样,即第N余数与第N‑1余数不一致,则可以理解为第N‑1周期中可能存在周期更短的小周期,故计算第N余数与第N‑1余数之间的第二差值(如45),可以采用如下公式(2)来利用第二差值对第N‑1周期进行整除:
[0143] S=P/(第二差值)      (2);
[0144] 然后,如果第N‑1周期被第二差值整除,可以理解为第N‑1周期中存在周期更短的小周期,即小周期就是第二差值(如45),且绿灯持续时长依然为10s,则可以将第二差值作为第一更新周期(如45s),并将第一配时更新为绿灯持续时长和第一更新周期,以获取目标红绿灯在目标方向上的第二配时,则目标红绿灯对应的服务状态机从发现绿灯持续时间(find‑greenlight)状态转变或迁移为更新周期(update‑period)状态,即目标红绿灯的完整周期为第一更新周期(如period=find),以及绿灯持续时长维持不变(如greenlight=find)。
[0145] 进一步地,当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则可以根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离,并可以根据更新的第二配时、当前运动速度以及当前距离,确定提示场景,并进行相应的场景提示信息。
[0146] 可选地,在上述图6对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图7所示,步骤S602若第N余数与第N‑1余数不一致,则计算第N余数与第N‑1余数之间的第二差值之后,该方法还包括:
[0147] 在步骤S701中,若第N‑1周期未被第二差值整除,则确定第N‑1周期为无效周期;
[0148] 在步骤S702中,基于无效周期,将第一配时标记为无效配时。
[0149] 在本实施例中,在确定第N余数与第N‑1余数不一致,并计算第N余数与第N‑1余数之间的第二差值之后,可以利用第二差值对第N‑1周期进行整除,如果第N‑1周期不能被第二差值整除,则可以确定第N‑1周期为无效周期,然后,可以基于无效周期,将第一配时标记为无效配时,以避免无效配时引发的错误场景提高,从而可以在一定程度上提高交通安全性。
[0150] 具体地,假设第N余数与第N‑1余数不一致,则可以理解为第N‑1周期中可能存在周期更短的小周期,故计算第N余数与第N‑1余数之间的第二差值(如55),可以采用公式(2)来利用第二差值对第N‑1周期进行整除,如果第N‑1周期不能被第二差值整除,可以理解为整个周期发生了改变,即目标红绿灯的当前周期(如第N‑1周期)失效,则可以将第N‑1周期标记无效周期,然后,可以基于无效周期,将第一配时标记为无效配时,则目标红绿灯对应的服务状态机从发现绿灯持续时间(find‑greenlight)状态转变或迁移为无效周期(illegal‑period)状态,即目标红绿灯的完整周期为无效周期(如period=null),以及绿灯持续时长为无效时长(如greenlight=null)。
[0151] 可选地,在上述图4对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图8所示,步骤103根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长之后,该方法还包括:步骤S801至步骤S802,步骤S402包括:步骤S803;
[0152] 在步骤S801中,若第N+1周期与第N周期不同,且第N+1周期为第N周期的公因数,则将第N+1周期作为第二更新周期;
[0153] 在步骤S802中,将第一配时更新为绿灯持续时长和第二更新周期,得到目标红绿灯在目标方向上的第三配时;
[0154] 在步骤S803中,根据第三配时、当前运动速度以及当前距离,确定提示场景。
[0155] 在本实施例中,在确定目标红绿灯在目标方向上的第一配时之后,由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,也可以用于目标红绿灯由红转绿再到绿转红的多次完整状态转变的总时长,同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,也可以用于目标红绿灯由绿转红再到红转绿的多次完整状态转变的总时长,因此,本实施例可以判断是否存在比第N‑1周期更短的小周期,即可以先通过判断第N+1周期与第N周期是否一致,如果第N+1周期与第N周期不一致,且第N+1周期为第N周期的公因数,则将第N+1周期作为第二更新周期,并将第一配时更新为绿灯持续时长和第二更新周期,以获取到目标红绿灯在目标方向上的第三配时,能够进一步确定是否存在比第一周期更短的小周期,以更加准确地获取到目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,或者,更加准确地获取到目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,能够在一定程度上提高获取目标红绿灯配时的准确率,从而提高红绿灯配时的获取率。
[0156] 其中,第N+1周期是与第N周期相邻的下一个周期,具体可以是可以根据第一时间数据中的第N+2时间间隔和第N+1时间间隔来计算得到。
[0157] 具体地,在确定目标红绿灯在目标方向上的第一配时之后,随着不断记录新的时间,不断去计算间隔,继续取最近的两个周期,如果得到新的周期即第N+1周期,是已知的周期即第N周期的公因数(如30),可以理解为存在比第N‑1周期更短的小周期,则可以将公因数(如30)第N+1周期确定为第二更新周期,并将第一配时更新为绿灯持续时长和第二更新周期,以获取到目标红绿灯在目标方向上的第三配时,则目标红绿灯对应的服务状态机从发现绿灯持续时间(find‑greenlight)状态转变或迁移为更新周期(update‑period)状态,即目标红绿灯的完整周期为第二更新周期(如period=find),以及绿灯持续时长维持不变(如greenlight=find)。
[0158] 进一步地,当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则可以根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离,并可以根据更新的第三配时、当前运动速度以及当前距离,确定提示场景,并进行相应的场景提示信息。
[0159] 可选地,在上述图2对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图9所示,步骤S103根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长之后,该方法还包括:
[0160] 在步骤S901中,若第N+1周期与第N周期不同,且第N+1周期不为第N周期的公因数,则将第N+1周期确定为新发现周期;
[0161] 在步骤S902中,基于新发现周期,将绿灯持续时长进行重置,并将第一配时作为历史配时。
[0162] 在本实施例中,在确定目标红绿灯在目标方向上的第一配时之后,由于当第一状态变化为红转绿时,第N‑1周期可以用于指示目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,也可以用于目标红绿灯由红转绿再到绿转红的多次完整状态转变的总时长,同理,当第一状态变化为绿转红时,第N‑1周期可以用于指示目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,也可以用于目标红绿灯由绿转红再到红转绿的多次完整状态转变的总时长,因此,本实施例可以判断是否存在比第N‑1周期更短的小周期,即可以先通过判断第N+1周期与第N周期是否一致,如果第N+1周期与第N周期不一致,且第N+1周期不为第N周期的公因数,则将第N+1周期确定为新发现周期,并基于新发现周期,将绿灯持续时长进行重置,并将第一配时作为历史配时,能够更加准确地获取到目标红绿灯完成由红转绿再到绿转红的一次完整状态转变的时长,或者,更加准确地获取到目标红绿灯完成由绿转红再到红转绿的一次完整状态转变的时长,能够在一定程度上提高获取目标红绿灯配时的准确率,从而提高红绿灯配时的获取率。
[0163] 具体地,在确定目标红绿灯在目标方向上的第一配时之后,随着不断记录新的时间,不断去计算间隔,继续取最近的两个周期,如果得到新的周期即第N+1周期,不是已知的周期即第N周期的公因数,可以理解为不存在比第N‑1周期更短的小周期,则将第N+1周期确定为全新的周期,即新发现周期,并可以基于新发现周期,将绿灯持续时长进行重置,具体可以是与步骤S103根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长的方式相似,此处不再赘述,并将第一配时作为历史配时,则目标红绿灯对应的服务状态机从发现绿灯持续时间(find‑greenlight)状态转变或迁移为发现周期(new‑period)状态,即目标红绿灯的完整周期为新发现周期(如period=find),以及绿灯持续时长重置。
[0164] 可选地,在上述图2对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定方法另一个可选实施例中,如图10所示,步骤S102根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,包括:
[0165] 在步骤S1001中,计算第N‑1时间间隔和第N时间间隔之间的最大公约数;
[0166] 在步骤S1002中,将最大公约数作为第N‑1周期。
[0167] 在本实施例中,在获取到第一时间数据之后,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,计算第N‑1时间间隔和第N时间间隔之间的最大公约数,作为目标红绿灯由红转绿再到绿转红的完整状态转变的时间,即第N‑1周期。
[0168] 具体地,在获取到第一时间数据之后,可以根据第一时间数据中的第N‑1时间间隔和第N时间间隔,可以采用如下公式(3)计算第N‑1时间间隔和第N时间间隔之间的最大公约数:
[0169] P=GCD((T2‑T1),(T3‑T2))     (3)
[0170] 其中,(T2‑T1)表示第N‑1时间间隔,(T3‑T2)表示第N时间间隔,GCD表示最大公约数,P表示周期(如第N‑1周期)。
[0171] 下面对本申请中的红绿灯配时的确定装置进行详细描述,请参阅图15,图15为本申请实施例中红绿灯配时的确定装置的一个实施例示意图,红绿灯配时的确定装置20包括:
[0172] 获取单元201,用于获取目标红绿灯在目标方向上发生第一状态变化对应的第一时间数据,以及发生第二状态变化对应的第二时间数据,其中,第一状态变化与第二状态变化为相反状态变化;
[0173] 处理单元202,用于根据第一时间数据中的第N‑1时间间隔和第N时间间隔,确定第N‑1周期,其中,第N时间间隔用于指示与第N‑1时间间隔相邻的下一个时间间隔,N为大于1的整数;
[0174] 处理单元202,还用于根据第二时间数据的第一时间戳以及第N‑1周期,确定绿灯持续时长;
[0175] 确定单元203,还用于若第N‑1周期与第N周期相同,则将绿灯持续时长以及第N‑1周期,确定为目标红绿灯在目标方向上的第一配时。
[0176] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,获取单元201具体可以用于:
[0177] 基于众包设备收集目标红绿灯在目标方向上发生第一状态变化的多个时间戳,以及收集发生第二状态变化的多个时间戳;
[0178] 针对于第一状态变化对应的多个时间戳中的每个时间戳,分别计算每两个相邻的时间戳之间的第一差值作为时间间隔,以获取到第一时间数据;
[0179] 将第二状态变化对应的多个时间戳作为第二时间数据。
[0180] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,
[0181] 获取单元201,还用于当接收到目标终端发送的沿目标方向通过目标红绿灯所在位置的信号,则根据信号获取目标终端的当前运动速度以及与目标红绿灯之间的当前距离;
[0182] 确定单元203,还用于根据第一配时、当前运动速度以及当前距离,确定提示场景;
[0183] 处理单元202,还用于根据提示场景向目标终端发送相应的场景提示信息。
[0184] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,处理单元202具体可以用于:
[0185] 按照第N‑1周期对第一时间戳进行取余计算,得到第N‑1余数;
[0186] 将第N‑1余数作为绿灯持续时长。
[0187] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,
[0188] 处理单元202,还用于按照第N‑1周期对第二时间数据的第二时间戳进行取余计算,得到第N余数,其中,第二时间戳是与第一时间戳相邻的下一个时间戳;
[0189] 处理单元202,还用于若第N余数与第N‑1余数不一致,则计算第N余数与第N‑1余数之间的第二差值;
[0190] 确定单元201,还用于若第N‑1周期被第二差值整除,则将第二差值作为第一更新周期;
[0191] 处理单元202,还用于将第一配时更新为绿灯持续时长和第一更新周期,得到目标红绿灯在目标方向上的第二配时;
[0192] 确定单元203具体可以用于:根据第二配时、当前运动速度以及当前距离,确定提示场景。
[0193] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,
[0194] 确定单元203,还用于若第N‑1周期未被第二差值整除,则确定第N‑1周期为无效周期;
[0195] 处理单元202,还用于基于无效周期,将第一配时标记为无效配时。
[0196] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,
[0197] 确定单元203,还用于若第N+1周期与第N周期不同,且第N+1周期为第N周期的公因数,则将第N+1周期作为第二更新周期;
[0198] 处理单元202,还用于将第一配时更新为绿灯持续时长和第二更新周期,得到目标红绿灯在目标方向上的第三配时;
[0199] 确定单元203具体可以用于:根据第三配时、当前运动速度以及当前距离,确定提示场景。
[0200] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,
[0201] 确定单元203,还用于若第N+1周期与第N周期不同,且第N+1周期不为第N周期的公因数,则将第N+1周期确定为新发现周期;
[0202] 处理单元202,还用于基于新发现周期,将绿灯持续时长进行重置,并将第一配时作为历史配时。
[0203] 可选地,在上述图15对应的实施例的基础上,本申请实施例提供的红绿灯配时的确定装置的另一实施例中,处理单元202具体可以用于:
[0204] 计算第N‑1时间间隔和第N时间间隔之间的最大公约数;
[0205] 将最大公约数作为第N‑1周期。
[0206] 本申请另一方面提供了另一种计算机设备示意图,如图16所示,图16是本申请实施例提供的一种计算机设备结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序331或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备300中的一系列指令操作。更进一步地,中央处理器310可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。
[0207] 计算机设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统333,例TM TM TM TM TM如Windows Server ,Mac OS X ,Unix ,Linux ,FreeBSD 等等。
[0208] 上述计算机设备300还用于执行如图2至图10对应的实施例中的步骤。
[0209] 本申请的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如图2至图10所示实施例描述的方法中的步骤。
[0210] 本申请的另一方面提供了一种包含计算机程序的计算机程序产品,当计算机程序被处理器执行时实现如图2至图10所示实施例描述的方法中的步骤。
[0211] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0212] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0213] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0214] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0215] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。