具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和机构的描述。
图1是根据本公开第一实施例的示意图。如图1所示,本实施例的信号机的报警方法,具体可以包括如下步骤:
S101、获取信号机的灯态数据流,所述灯态数据流中包含按时间顺序排列的多个灯态数据帧;
S102、根据所述灯态数据流,确定对应当前时刻的目标灯态数据帧;
S103、获取所述信号机在所述当前时刻的配时方案;
S104、从所述目标灯态数据帧中提取目标相位的目标灯态信息,所述目标灯态信息中包含所述目标相位的目标灯色状态、目标灯色倒计时与目标周期倒计时;
S105、根据所述配时方案、所述目标灯色状态与所述目标周期倒计时得到计算倒计时,在确定所述计算倒计时与所述目标灯色倒计时不一致的情况下,发出报警信息。
本实施例的信号机的报警方法,在根据信号机的灯态数据流确定对应当前时刻的目标灯态数据帧之后,结合信号机在当前时刻的配时方案,与从目标灯态数据帧中提取的目标灯态信息来得到计算倒计时,在确定计算倒计时与目标灯色倒计时不一致的情况下发出报警信息,实现了对所获取的配时方案与信号机中实际运行的配时方案是否一致进行检测的目的,确保了在检测到两者不一致之后能够进行及时地报警。
可以理解的是,本实施例的信号机的报警方法的执行主体可以为信号机本身;也可以为服务器端,该服务器端用于接收由信号机所发送的各时刻的灯态数据帧。
本实施例中的信号机为用于显示信号的机具;具体地,本实施例中的信号机可以为位于道路路口的交通信号灯,该交通信号灯对应于多个相位,例如对应于北直、北左、南直、南左、西直、西左、东直与东左这8个相位,用于控制道路路口的交通。
本实施例执行S101获取的灯态数据流中,包含按时间顺序排列的多个灯态数据帧;每个灯态数据帧中包含在对应时刻下该信号机全部相位的灯态信息;每个相位的灯态信息中包含在对应时刻下该相位的灯色状态、灯色倒计时与周期倒计时等信息。
本实施例在执行S101获取了灯态数据流之后,执行S102根据所获取的灯态数据流,确定对应当前时刻的目标灯态数据帧。
由于本实施例执行S101获取的灯态数据流中,可能存在错误的灯态数据帧,例如某一时刻的灯态数据帧是通过复制前一时刻的灯态数据帧所得到的,因此本实施例在执行S102确定目标灯态数据帧时,即为从所获取的灯态数据流中找到对应当前时刻的正确灯态数据帧。
具体地,本实施例在执行S102根据所获取的灯态数据流,确定对应当前时刻的目标灯态数据帧时,可以采用的可选实现方式为:从所获取的灯态数据流中选取当前时刻的灯态数据帧,作为第一灯态数据帧;选取位于第一灯态数据帧的前一时刻的灯态数据帧,作为第二灯态数据帧;将第一灯态数据帧与第二灯态数据帧进行比较;在确定比较结果不一致的情况下,将第一灯态数据帧作为对应当前时刻的目标灯态数据帧。
若本实施例执行S102确定第一灯态数据帧与第二灯态数据帧之间的比较结果一致,表明当前时刻的灯态数据帧为错误的灯态数据帧,则可以根据时间顺序将下一时刻作为当前时刻,将第一灯态数据帧作为第二灯态数据帧、将下一时刻的灯态数据帧作为第一灯态数据帧来进行比较。
本实施例在执行S102确定对应当前时刻的目标灯态数据帧之后,执行S103获取信号机在当前时刻的配时方案;其中,本实施例中获取配时方案时的当前时刻与确定目标灯态数据帧时的当前时刻一致。
本实施例执行S103所获取的信号机在当前时刻的配时方案,用于信号机在当前时刻对各相位的灯色与灯色倒计时进行控制;所获取的配时方案中包含对应不同相位的配时信息,每个相位的配时信息中包含该相位的预设灯色序列与各灯色的预设时长等信息。
实际场景中道路路口的交通情况瞬息万变,为了能够更好地控制道路路口的交通情况,通常会采用自适应、感应控制、手动控制等方式来实时地对配时方案进行调整。但是由于网络传输、服务器校时、接口服务稳定性等因素,会导致调整之后的配时方案无法及时地通知下游应用或者下游服务的问题。
也就是说,本实施例执行S103所获取的信号机在当前时刻的配时方案,可能并不是信号机在当前时刻实际运行的配时方案,因此需要结合所确定的目标灯态数据帧中包含的灯态信息,来确定所获取的配时方案是否为信号机在当前时刻实际运行的配时方案。
本实施例在执行S103获取了信号机在当前时刻的配时方案之后,执行S104从所确定的目标灯态数据帧中提取目标相位的目标灯态信息,所提取的目标灯态信息中包含目标相位的目标灯色状态、目标灯色倒计时与目标周期倒计时。
具体地,本实施例在执行S104从所确定的目标灯态数据帧中提取目标相位的目标灯态信息时,可以采用的可选实现方式为:获取当前时刻对应各相位的交通数据,所获取的交通数据可以为当前时刻通过各相位所对应的通行方向的车辆数量、行人数量等;将交通数据满足预设要求的相位作为目标相位,例如将车辆数量最多的相位作为目标相位;从所确定的目标灯态数据帧中提取目标相位的灯态信息,作为目标灯态信息。
也就是说,本实施例通过对应各相位的交通数据来确定目标相位,进而从目标灯态数据帧中提取目标相位的目标灯态信息,能够进一步提升所提取得到的目标灯态信息的准确性。
另外,本实施例在执行S104时也可以将预设相位作为目标相位,还可以将随机选取的相位作为目标相位。
本实施例执行S104提取的目标灯态信息中,目标灯色状态为目标相位在当前时刻的灯色,目标灯色倒计时为目标相位在当前时刻的灯色倒计时;目标周期倒计时为目标相位在当前时刻已经经过的路口周期时间,在路口周期开始时为0,在路口周期结束时为整个路口周期时长。
举例来说,若目标相位为北直相位,若信号机在当前时刻实际运行的配时方案中,对应北直相位的配时信息为“第一红灯R1,20s;绿灯G,15s;黄灯Y,5s;第二红灯R2,10s”,路口周期时长为50s;若北直相位在当前时刻的目标灯色状态为第一红灯、目标灯色倒计时为15s,则北直相位在当前时刻的目标周期倒计时为5s;若北直相位在当前时刻的目标灯色状态为绿灯、目标灯色倒计时为10s,则北直相位在当前时刻的目标周期倒计时为25s。
本实施例在执行S104提取了目标灯态信息之后,执行S105根据所获取的配时方案、目标灯色状态与目标周期倒计时得到计算倒计时,并在确定计算倒计时与目标灯色倒计时不一致的情况下,发出报警信息。
由于从目标灯态数据帧中提取的目标灯态信息对应于信号机在当前时刻实际运行的配时方案,即目标灯态信息中包含的目标灯色状态、目标灯色倒计时与目标周期倒计时是准确的,因此本实施例将通过配时方案、目标灯色状态与目标周期倒计时所得到的计算倒计时与目标灯色倒计时进行比较,根据比较结果便可确定所获取的配时方案与信号机实际运行的配时方案是否一致。
具体地,本实施例在执行S105根据所获取的配时方案、目标灯色状态与目标周期倒计时得到计算倒计时时,可以采用的可选实现方式为:获取与目标相位对应的至少一个计算公式,该目标相位可以根据目标灯态信息进行确定;从所获取的至少一个计算公式中选取与目标灯色状态对应的计算公式,作为目标计算公式;使用该目标计算公式,根据配时方案中对应目标相位的配时信息与目标周期倒计时,得到计算倒计时。
其中,本实施例可以预先设置对应不同相位的多个计算公式,每个计算公式对应于该相位的不同灯色状态。
举例来说,若目标相位为北直相位,若对应北直相位的计算公式中包含公式1、公式2、公式3与公式4,若公式1对应北直相位的第一红灯、公式2对应北直相位的绿灯、公式3对应北直相位的黄灯、公式4对应北直相位的第二红灯,若北直相位的目标灯色状态为第一红灯,则本实施例使用公式1来得到计算倒计时。
举例来说,若本实施例中的公式1为“i1=(E-G-Y-R2)-i”、公式2为“i2=G-(i-R1)”、公式3为“i3=Y-(i-R1-G)”、公式4为“i4=R2-(i-R1-G-Y)”;在公式中:E为路口周期时长,其为第一红灯时长、绿灯时长、黄灯时长与第二红灯时长之间的和;R1为第一红灯时长;G为绿灯时长;Y为黄灯时长;R2为第二红灯时长;i为目标周期倒计时;i1、i2、i3与i4分别为对应不同灯色状态的计算倒计时。
举例来说,若本实施例获取的配时方案中对应北直相位的配时信息为“第一红灯R1,20s;绿灯G,15s;黄灯Y,5s;第二红灯R2,10s”;若北直相位在当前时刻的目标灯色状态为第一红灯、目标灯色倒计时为15s、目标周期倒计时为5s,则根据公式1所得到的计算倒计时i1=(50s-15s-5s-10s)-5s=15s;若北直相位在当前时刻的目标灯色状态为黄灯、目标灯色倒计时为3s、目标周期倒计时为37s,则根据公式3所得到的计算倒计时i3=5s-(37s-20s-15s)=3s。
由上述例子可知,本实施例执行S105所得到的计算倒计时与所获取的目标灯色倒计时一致,表明本实施例所获取的信号机在当前时刻的配时方案与信号机在当前时刻实际运行的配时方案一致。
举例来说,若本实施例获取的配时方案中对应北直相位的配时信息为“第一红灯R1,15s;绿灯G,10s;黄灯Y,5s;第二红灯R2,10s”;若北直相位在当前时刻的目标灯色状态为第一红灯、目标灯色倒计时为15s、目标周期倒计时为5s,则根据公式1所得到的计算倒计时i1=(40s-10s-5s-10s)-5s=10s,所得到的计算倒计时与目标灯色倒计时不一致,表明本实施例所获取的信号机在当前时刻的配时方案与信号机在当前时刻实际运行的配时方案不一致。
本实施例在执行S105得到计算倒计时之后,即可将目标灯色倒计时与所得到的该计算倒计时进行比较,并在确定比较结果不一致的情况下发出报警信息,即本实施例在确定所获取的的配时方案与信号机在当前时刻实际运行的配时方案不一致之后发出报警信息,从而提示下游应用或者下游服务,信号机所运行的配时方案已实时进行更新。
通过上述方法,本实施例根据由信号机的灯态数据流所得到的目标灯态信息与所获取的配时方案,能够检测所获取的配时方案是否与信号机在当前时刻实际运行的配时方案是否一致,并且在确定不一致的情况下发出报警信息,从而实现向下游应用或者下游服务进行及时报警的目的。
图2是根据本公开第二实施例的示意图。如图2所示,本实施例的信号机的报警装置200,包括:
第一获取单元201、用于获取信号机的灯态数据流,所述灯态数据流中包含按时间顺序排列的多个灯态数据帧;
确定单元202、用于根据所述灯态数据流,确定对应当前时刻的目标灯态数据帧;
第二获取单元203、用于获取所述信号机在所述当前时刻的配时方案;
提取单元204、用于从所述目标灯态数据帧中提取目标相位的目标灯态信息,所述目标灯态信息中包含所述目标相位的目标灯色状态、目标灯色倒计时与目标周期倒计时;
报警单元205、用于根据所述配时方案、所述目标灯色状态与所述目标周期倒计时得到计算倒计时,在确定所述计算倒计时与所述目标灯色倒计时不一致的情况下,发出报警信息。
可以理解的是,本实施例的信号机的报警装置可以位于信号机;也可以位于服务器端,该服务器端用于接收由信号机所发送的各时刻的灯态数据帧。
第一获取单元201获取的灯态数据流中,包含按时间顺序排列的多个灯态数据帧;每个灯态数据帧中包含在对应时刻下该信号机全部相位的灯态信息;每个相位的灯态信息中包含在对应时刻下该相位的灯色状态、灯色倒计时与周期倒计时等信息。
本实施例在由第一获取单元201获取了灯态数据流之后,由确定单元202根据所获取的灯态数据流,确定对应当前时刻的目标灯态数据帧。
由于第一获取单元201获取的灯态数据流中,可能存在错误的灯态数据帧,因此确定单元202在确定目标灯态数据帧时,即为从所获取的灯态数据流中找到对应当前时刻的正确灯态数据帧。
具体地,确定单元202在根据所获取的灯态数据流,确定对应当前时刻的目标灯态数据帧时,可以采用的可选实现方式为:从所获取的灯态数据流中选取当前时刻的灯态数据帧,作为第一灯态数据帧;选取位于第一灯态数据帧的前一时刻的灯态数据帧,作为第二灯态数据帧;将第一灯态数据帧与第二灯态数据帧进行比较;在确定比较结果不一致的情况下,将第一灯态数据帧作为对应当前时刻的目标灯态数据帧。
若确定单元202确定第一灯态数据帧与第二灯态数据帧之间的比较结果一致,表明当前时刻的灯态数据帧为错误的灯态数据帧,则可以根据时间顺序将下一时刻作为当前时刻,将第一灯态数据帧作为第二灯态数据帧、将下一时刻的灯态数据帧作为第一灯态数据帧来进行比较。
本实施例在由确定单元202确定对应当前时刻的目标灯态数据帧之后,由第二获取单元203获取信号机在当前时刻的配时方案;其中,第二获取单元203获取配时方案时的当前时刻与确定单元202确定目标灯态数据帧时的当前时刻一致。
第二获取单元203所获取的信号机在当前时刻的配时方案,用于信号机在当前时刻对各相位的灯色与灯色倒计时进行控制;所获取的配时方案中包含对应不同相位的配时信息,每个相位的配时信息中包含该相位的预设灯色序列与各灯色的预设时长等信息。
实际场景中道路路口的交通情况瞬息万变,为了能够更好地控制道路路口的交通情况,通常会采用自适应、感应控制、手动控制等方式来实时地对配时方案进行调整。但是由于网络传输、服务器校时、接口服务稳定性等因素,会导致调整之后的配时方案无法及时地通知下游应用或者下游服务的问题。
也就是说,第二获取单元203所获取的信号机在当前时刻的配时方案,可能并不是信号机在当前时刻实际运行的配时方案,因此需要结合所确定的目标灯态数据帧中包含的灯态信息,来确定所获取的配时方案是否为信号机在当前时刻实际运行的配时方案。
本实施例在由第二获取单元203获取了信号机在当前时刻的配时方案之后,由提取单元204从所确定的目标灯态数据帧中提取目标相位的目标灯态信息,所提取的目标灯态信息中包含目标相位的目标灯色状态、目标灯色倒计时与目标周期倒计时。
具体地,提取单元204在从所确定的目标灯态数据帧中提取目标相位的目标灯态信息时,可以采用的可选实现方式为:获取当前时刻对应各相位的交通数据;将交通数据满足预设要求的相位作为目标相位;从所确定的目标灯态数据帧中提取目标相位的灯态信息,作为目标灯态信息。
也就是说,提取单元204通过对应各相位的交通数据来确定目标相位,进而从目标灯态数据帧中提取目标相位的目标灯态信息,能够进一步提升所提取得到的目标灯态信息的准确性。
另外,本提取单元204也可以将预设相位作为目标相位,还可以将随机选取的相位作为目标相位。
提取单元204提取的目标灯态信息中,目标灯色状态为目标相位在当前时刻的灯色,目标灯色倒计时为目标相位在当前时刻的灯色倒计时;目标周期倒计时为目标相位在当前时刻已经经过的路口周期时间,在路口周期开始时为0,在路口周期结束时为整个路口周期时长。
本实施例在由提取单元204提取了目标灯态信息之后,由报警单元205根据所获取的配时方案、目标灯色状态与目标周期倒计时得到计算倒计时,并在确定计算倒计时与目标灯色倒计时不一致的情况下,发出报警信息。
具体地,报警单元205在根据所获取的配时方案、目标灯色状态与目标周期倒计时得到计算倒计时时,可以采用的可选实现方式为:获取与目标相位对应的至少一个计算公式;从所获取的至少一个计算公式中选取与目标灯色状态对应的计算公式,作为目标计算公式;使用该目标计算公式,根据配时方案中对应目标相位的配时信息与目标周期倒计时,得到计算倒计时。
其中,本实施例可以预先设置对应不同相位的多个计算公式,每个计算公式对应于该相位的不同灯色状态。
报警单元205在得到计算倒计时之后,即可将目标灯色倒计时与所得到的该计算倒计时进行比较,并在确定比较结果不一致的情况下发出报警信息,即报警单元205在确定所获取的的配时方案与信号机在当前时刻实际运行的配时方案不一致之后发出报警信息,从而提示下游应用或者下游服务,信号机所运行的配时方案已实时进行更新。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图3所示,是根据本公开实施例的信号机的报警方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图3所示,设备300包括计算单元301,其可以根据存储在只读存储器(ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(RAM)303中的计算机程序,来执行各种适当的动作和处理。在RAM303中,还可存储设备300操作所需的各种程序和数据。计算单元301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如信号机的报警方法。例如,在一些实施例中,信号机的报警方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。
在一些实施例中,计算机程序的部分或者全部可以经由ROM302和/或通信单元309而被载入和/或安装到设备300上。当计算机程序加载到RAM 303并由计算单元301执行时,可以执行上文描述的信号机的报警方法的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行信号机的报警方法。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程信号机的报警装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。