CN115964408B - 时长校正方法、装置、电子设备和存储介质 - Google Patents
时长校正方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115964408B CN115964408B CN202211439578.8A CN202211439578A CN115964408B CN 115964408 B CN115964408 B CN 115964408B CN 202211439578 A CN202211439578 A CN 202211439578A CN 115964408 B CN115964408 B CN 115964408B
- Authority
- CN
- China
- Prior art keywords
- state
- driver
- time node
- driver state
- data set
- 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 65
- 238000012937 correction Methods 0.000 title claims abstract description 34
- 238000005070 sampling Methods 0.000 claims abstract description 77
- 239000012634 fragment Substances 0.000 claims abstract description 35
- 230000008859 change Effects 0.000 claims abstract description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 11
- 238000013467 fragmentation Methods 0.000 claims description 5
- 238000006062 fragmentation reaction Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 15
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Traffic Control Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种时长校正方法、装置、电子设备和存储介质,所述方法包括:读取状态数据集合和分片时长状态数据集合;所述状态数据集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态及其变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态;若状态数据集合中相邻的第二司机状态对应的时间节点早于第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息。本发明提供的技术方案,能在一定程度上能够减少分片时长校正所需要的算力成本。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种时长校正方法、装置、电子设备和存储介质。
背景技术
在基于Flink实时计算司机分片时长的方法和系统中,因实时场景数据流转的复杂性可能会导致数据乱序、数据迟到问题,与之会带来丢失时长数据计算精度的问题。现有技术中,对于实时时长计算过程中出现数据迟到、延迟问题,主要采用基于离线数据来覆盖实时数据的策略来保证离线和实时数据的一致性。然而,这种计算方式需要对于离线的计算方式开发等同于实时计算的一套时长计算系统,需要消耗更多的计算成本。
发明内容
有鉴于此,本发明实施方式提供了一种时长校正方法、装置、电子设备和存储介质,在一定程度上能够减少分片时长校正所需要的算力成本。
本发明一方面提供了一种时长校正方法,所述方法包括:读取状态数据集合和分片时长状态数据集合;其中,所述状态数据集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态;针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点;更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息。
在一个实施方式中,时长校正方法还包括:若所述第二司机状态对应的时间节点和所述第一司机状态对应的时间的时差大于预设时差,则将所述第二司机状态从所述状态数据集合中删除。
在一个实施方式中,更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息包括:若第二司机状态对应的时间节点属于采样时间节点,将所述第二司机状态对应的时间节点作为初始时间节点,按照设定的时间间隔依次生成司机动作信息;所述司机动作信息包括当前采样的时间节点和所述当前采样的时间节点对应的司机状态;若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
在一个实施方式中,时长校正方法还包括:若所述当前采样的时间节点晚于所述第四司机状态对应的时间节点,将所述当前采样的时间节点的上一个时间节点至所述第四司机状态对应的时间节点作为记录时段,并将所述记录时段和第二司机状态更新至分片时长状态数据集合中。
在一个实施方式中,时长校正方法还包括:若第二司机状态对应的时间节点不属于采样时间节点,在所述状态数据集合中读取位于所述第二司机状态对应的时间节点所在的时间间隔内的一个或多个目标时间节点;基于所述目标时间节点将所述采样时段划分为多个记录时段,并存储各个所述记录时段的状态信息,所述记录时段的状态信息用于表征记录时段内的司机状态和状态持续时长;相应的,若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
在一个实施方式中,时长校正方法还包括:对比当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中与所述当前采样的时间节点所在的采样时间间隔内对应的司机状态;若对比结果表征所述当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中的司机状态相同,则停止生成司机动作信息。
在一个实施方式中,所述状态数据集合和分片时长状态数据集合存储在消息中间件中,时长校正方法还包括:从所述消息中间件中将所述状态数据集合和分片时长状态数据集合下载至Flink集群。
本发明另一方面还提供了一种时长校正装置,所述时长校正装置包括:数据读取单元,用于读取状态数据集合和分片时长状态数据集合;其中,所述状态数据集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态;状态调整单元,用于针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点;分片时长状态数据集合更新单元,用于更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息。
本发明另一方面还提供了一种电子设备,所述电子设备装置包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的时长校正方法。
本发明另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的时长校正方法。
通过将由于实时计算场景中出现的乱序、迟到的司机状态数据按照时间节点的先后顺序调整至相应的位置,然后在将该司机状态数据对应的时间节点和该司机状态数据的下一条司机状态数据对应的时间节点之间的分片时长信息按照设定的采样时间间隔进行调整,并更新至分片时长状态数据集合中,从而减少分片时长校正所需要的算力成本。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明一个实施方式中时长校正方法的流程示意图;
图2示出了本发明一个实施方式中时长校正装置示意图;
图3示出了本发明一个实施方式中电子设备的结构示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
在网约车/出租车的打车业务的营运过程中,需要掌握司机的在时间维度上的时长指标从而更好的推进相关业务的发展。例如,需要统计所有的司机在早高峰期间的累计出车时长。然而,由于实时场景数据流转的复杂性可能会导致获取司机状态数据时出现乱序、数据迟到等问题,从而导致在实时的时长处理过程中带来的错误。现有技术中,主要是通过离线数据去覆盖实时数据的策略解决离线数据和实时处理过程中数据不一致的问题,然而这相当于需要将离线数据通过实时处理的方法重新计算一次,需要耗费大量的计算成本。因此,需要开发一套能够在耗费的计算成本较少的情况下,实现对实时处理过程中得到的实时数据的校正。
请参阅图1,本申请一个实施方式提供的时长校正方法,该方法可以包括以下多个步骤。
S110:读取状态数据集合和分片时长状态数据集合;其中,所述数据状态集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态。
在本实施方式中,需要对分片时长实时处理过程中的错误进行纠正,首先需要获取司机状态变化的数据集合和记录司机每个分片时长的状态数据的分片时长状态数据集合。具体的,例如,所述状态数据集合中存储有司机的多个状态变化信息,如{出车,6:00:00;收车,9:45:10;出车:10:30:20,出车;14:30:45,收车}。所述分片时长状态数据集合中记录有司机在每个分片时长上的状态信息,如{6:00:00~6:01:00,出车;6:01:00~6:02:00,出车;6:02:00~6:03:00,出车;6:03:00~6:04:00,出车;……;14:30:00~14:30:45,出车;14:30:45~14:31:00,收车}。
S120:针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点。
在本实施方式中,在一些情况下,由于数据传输过程中网络的延迟,导致司机状态数据在实时计算过程中出现迟到、乱序的现象,从而导致时长实时处理过程中出现错误。如果发现状态数据集合中的司机状态数据的顺序发生错误,则需要对其进行纠正。具体的,例如,所述状态数据集合为{出车,6:00:00;收车,9:45:10;收车,10:32:10;出车,10:30:20;出车,14:30:45},可以看出第一司机状态对应的时间节点为10:32:10,第二司机状态对应的时间节点为10:30:20,由于第二司机状态对应的时间节点早于第一司机状态对应的时间节点,因此需要将其移动至第三司机状态(收车,9:45:10)和第四司机状态(收车,10:32:10)之间,在此基础上对其进行相应的分片时长处理。
S130:更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息。
在本实施方式中,由于司机状态数据顺序的错误,从而,对于分片时长状态数据集合中第二司机状态对应的时间节点至第四司机状态对应的时间节点形成的时间段内的数据也为错误的数据记录,因此需要对其进行更正。在本实施方式中,可以认为在第二司机状态对应的时间节点至第四司机状态对应的时间节点形成的时间段内的司机状态均为第二司机状态,因此,可以按照设定的采样时段对第二司机状态对应的时间节点至第四司机状态对应的时间节点进行划分,并将其更新至分片时长状态数据集合中。具体的,例如,第二司机状态(出车状态)对应的时间节点为13:00:00,第四司机状态(收车状态)对应的时间节点为13:03:00,那么可以将其划分为<13:00:00~13:01:00,出车>、<13:01:00~13:02:00,出车>和<13:02:00~13:03:00,出车>这三条数据记录,并将其更新到分片时长状态数据集合中。
在一个实施方式中,时长校正方法还可以包括:若所述第二司机状态对应的时间节点和所述第一司机状态对应的时间的时差大于预设时差,则将所述第二司机状态从所述状态数据集合中删除。
在本实施方式中,对于因时间延迟等原因迟到的数据,其迟到的时间过长,则可能该条数据本身不属于计算范畴,可以忽略不计。因此,对于这种数据需要将其删除。具体的,例如,在本实施方式中,预设时差设置为7天,若第一司机状态对应的时间节点为2021年11月10日17:55:20,第二司机状态对应的时间节点为2021年11月2日13:00:23,那么第一司机状态对应的时间节点和第二司机状态时间节点之间的时差大于7天,那么就需要第二司机状态这条数据记录从状态数据集合中删除。
在一个实施方式中,更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息包括:
若第二司机状态对应的时间节点属于采样时间节点,将所述第二司机状态对应的时间节点作为初始时间节点,按照设定的时间间隔依次生成司机动作信息;所述司机动作信息包括当前采样的时间节点和所述当前采样的时间节点对应的司机状态;
若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
在本实施方式中,若第二司机状态对应的时间节点属于采样时间节点,则生成一个或者多个分片时长的方法可以是将第二司机状态对应的作为初始时间节点,然后在设定的时间间隔内获取一次在该时间节点状态数据集合中的状态数据是否发生改变,若没有发生改变,则将该时间间隔作为一个记录时段,将第二司机状态作为该时间间隔内的司机状态更新至分片时长状态数据集合中。重复上述步骤,直至当前采样的时间节点等于或者晚于第四司机状态对应的时间。具体的,例如,采样时间节点为{6:00:00,6:01:00,6:02:00,……},若第二司机状态对应的时间节点为6:01:00,则可以从第二时间节点开始直接对其进行计算即可。例如,一个状态数据集合为{6:01:00,出车;6:04:00,出车;6:06:00,收车;6:02:00,收车},那么第二司机状态为6:02:00,需要将其放置到<6:01:00,出车>和<6:04:00,出车>这两条数据记录之间,然后需要对6:02:00~6:04:00这个时间段内的司机状态进行校正。由于6:02:00属于采样时间节点,可以将6:02:00对应的时间节点和司机状态作为初始状态,得到{6:02:00~6:03:00,收车;6:03:00~6:04:00,收车}这两个数据记录并更新至分片时长状态数据集合中。
在一个实施方式中,时长校正方法还可以包括:若所述当前采样的时间节点晚于所述第四司机状态对应的时间节点,将所述当前采样的时间节点的上一个时间节点至所述第四司机状态对应的时间节点作为采样时段,并将所述采样时段和第二司机状态更新至分片时长状态数据集合中。
在本实施方式中,若所述当前采样的时间节点晚于所述第四司机状态对应的时间节点,则说明当前采样时间间隔内司机的状态信息发生了变化,如果不对其进行更正,则对于第二司机状态持续时间的计算就会出现错误,因此需要对其进行更正。具体的,例如,当前采样的时间节点14:03:00,当前采样的时间节点的上一个时间节点为14:02:00,第四司机状态对应的时间节点为14:02:34,由于14:03:00晚于14:02:34,那么需要改采样时段进行更正,将14:02:00~14:02:34这个时段的作为记录时段,其对应的司机状态为第二司机状态,然后将其更新到分片时长状态数据集合中。
在一个实施方式中,时长校正方法还可以包括:若第二司机状态对应的时间节点不属于采样时间节点,在所述状态数据集合中读取位于所述第二司机状态对应的时间节点所在的时间间隔内的一个或多个目标时间节点;基于所述目标时间节点将所述采样时段划分为多个记录时段,并存储各个所述记录时段的状态信息,所述记录时段的状态信息用于表征记录时段内的司机状态和状态持续时长;相应的,若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
在本实施方式中,采样时间节点为{6:00:00,6:01:00,6:02:00,……},若第二司机状态对应的时间节点为6:01:30,则对于6:01:00~6:02:00这个时间分片上的司机状态一定发生了变化,因此,对于6:01:00~6:02:00这个时间分片上确定多个目标时间节点,然后基于目标时间节点将其划分为多个记录时段,并存储多个记录时段内的司机状态。具体的,例如,一个状态数据集合为{6:01:00,出车;6:04:00,出车;6:06:00,收车;6:01:30,收车},那么第二司机状态为6:01:30,需要将其放置到<6:01:00,出车>和<6:04:00,出车>这两条数据记录之间,然后需要对6:01:30~6:04:00这个时间段内的司机状态进行校正。由于6:01:30不属于采样时间节点,那么需要对6:01:30所属的6:01:00~6:02:00这个采样时间间隔也需要进行重算。因此,可以将6:01:30作为一个目标时间节点,将6:01:00~6:01:30这个记录时段的司机状态记为出车,并且将6:01:30~6:02:00这个记录时段的司机状态记为收车,最后再记录6:02:00~6:03:00这个记录时段为收车,6:03:00~6:04:00这个记录时段为收车,则表明对6:01:30~6:04:00这个时段内的司机状态校正完毕。
在一个实施方式中,时长校正方法还可以包括:对比当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中与所述当前采样的时间节点所在的采样时间间隔内对应的司机状态;若对比结果表征所述当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中的司机状态相同,则停止生成司机动作信息。
在本实施方式中,若当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中与所述当前采样的时间节点所在的采样时间间隔内对应的司机状态,则说明在分片时长状态数据集合中第二司机状态对应的时间节点至第四司机状态对应的时间节点这个时间段的分片时长的计算结果是正确了,为了节省算力,可以不对其进行计算。
在一个实施方式中,所述状态数据集合和分片时长状态数据集合存储在消息中间件中,时长校正方法还可以包括:从所述消息中间件中将所述状态数据集合和分片时长状态数据集合下载至Flink集群。
在本实施方式中,消息中间件是基于队列与消息传递技术,提高了在网络环境中为本说明书实施方式中基于所述时长校正方法的时长校正系统的数据传输的可靠性。Flink的流处理的特点是无界、实时,无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,适用于本方案中所述的时长校正方法。通过将时长分片校正机制融入Flink实时计算司机分片时长的方法和系统,不必依赖其它外部补偿策略即可实现迟到、乱序数据的时长自动校正,维护成本较低。
请参阅图2,本申请一个实施方式还提供一种时长校正装置,所述时长校正装置可以包括:数据读取单元、状态调整单元、分片时长状态数据集合更新单元。
数据读取单元,用于读取状态数据集合和分片时长状态数据集合;其中,所述数据状态集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态。
状态调整单元,用于针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点。
分片时长状态数据集合更新单元,用于更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息。
关于时长校正装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述目标识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图3,本申请一个实施方式还提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的时长校正方法。
其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请一个实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的时长校正方法。
本领域普通技术人员可以理解实现所述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如所述各方法的实施方式的流程。其中,本说明书所提供的各实施方式中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本说明书多个实施方式之间,采用递进的方式进行描述。不同的实施方式着重于描述相较于其它实施方式不相同的部分。所属领域技术人员在阅读本说明书之后,可以获知本说明书中的多个实施方式,以及实施方式揭示的多个技术特征,可以进行更多种的组合,为使描述简洁,未对所述实施方式中的各个技术特征所有可能的组合都进行描述。然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的多个实施方式本身均着重于强调与其他实施方式不同的部分,各实施方式之间可以相互对照解释。所属领域技术人员基于一般的技术常识对本说明书中的多个实施方式的任意组合均涵盖于本说明书的揭示范围内。
以上所述仅为本案的实施方式而已,并不用以限制本案的权利要求保护范围。对于本领域技术人员来说,本案可以有各种更改和变化。凡在本案的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本案的权利要求范围之内。
Claims (9)
1.一种时长校正方法,其特征在于,所述方法包括:
读取状态数据集合和分片时长状态数据集合;其中,所述状态数据集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态;
针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点;
更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息;
更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息包括:
若第二司机状态对应的时间节点属于采样时间节点,将所述第二司机状态对应的时间节点作为初始时间节点,按照设定的时间间隔依次生成司机动作信息;所述司机动作信息包括当前采样的时间节点和所述当前采样的时间节点对应的司机状态;
若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二司机状态对应的时间节点和所述第一司机状态对应的时间的时差大于预设时差,则将所述第二司机状态从所述状态数据集合中删除。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述当前采样的时间节点晚于所述第四司机状态对应的时间节点,将所述当前采样的时间节点的上一个时间节点至所述第四司机状态对应的时间节点作为记录时段,并将所述记录时段和第二司机状态更新至分片时长状态数据集合中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若第二司机状态对应的时间节点不属于采样时间节点,在所述状态数据集合中读取位于所述第二司机状态对应的时间节点所在的时间间隔内的一个或多个目标时间节点;
基于所述目标时间节点将所述采样时段划分为多个记录时段,并存储各个所述记录时段的状态信息,所述记录时段的状态信息用于表征记录时段内的司机状态和状态持续时长;
相应的,若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对比当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中与所述当前采样的时间节点所在的采样时间间隔内对应的司机状态;
若对比结果表征所述当前采样的时间节点对应的司机状态和所述分片时长状态数据集合中的司机状态相同,则停止生成司机动作信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述状态数据集合和分片时长状态数据集合存储在消息中间件中,所述方法还包括:
从所述消息中间件中将所述状态数据集合和分片时长状态数据集合下载至Flink集群。
7.一种时长实时计算装置,其特征在于,所述时长实时计算装置包括:
数据读取单元,用于读取状态数据集合和分片时长状态数据集合;其中,所述状态数据集合用于记录司机状态变化信息;所述司机状态变化信息包括司机状态和司机状态发生变化的时间节点;所述分片时长状态数据集合用于记录在设定的采样时间间隔内的司机状态;
状态调整单元,用于针对所述状态数据集合中相邻的第一司机状态和第二司机状态,若所述第二司机状态对应的时间节点早于所述第一司机状态对应的时间节点;将所述第二司机状态移动至相邻的第三司机状态和第四司机状态之间;所述第二司机状态位于所述第一司机状态之后;所述第三司机状态对应的时间节点早于所述第二司机状态对应的时间节点;所述第四司机状态对应的时间节点晚于所述第二司机状态对应的时间节点;
分片时长状态数据集合更新单元,用于更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息;
更新所述分片时长状态数据集合中位于所述第二司机状态对应的时间节点和第四司机状态对应的时间节点之间的司机状态信息包括:
若第二司机状态对应的时间节点属于采样时间节点,将所述第二司机状态对应的时间节点作为初始时间节点,按照设定的时间间隔依次生成司机动作信息;所述司机动作信息包括当前采样的时间节点和所述当前采样的时间节点对应的司机状态;
若所述当前采样的时间节点早于所述第四司机状态对应的时间节点,将所述当前采样时段和当前采样的时间节点对应的司机状态更新至分片时长状态数据集合中。
8.一种电子设备,其特征在于,所述电子设备装置包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至6中任一所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211439578.8A CN115964408B (zh) | 2022-11-17 | 2022-11-17 | 时长校正方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211439578.8A CN115964408B (zh) | 2022-11-17 | 2022-11-17 | 时长校正方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115964408A CN115964408A (zh) | 2023-04-14 |
CN115964408B true CN115964408B (zh) | 2024-04-16 |
Family
ID=87351816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211439578.8A Active CN115964408B (zh) | 2022-11-17 | 2022-11-17 | 时长校正方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964408B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322159A (zh) * | 2019-07-10 | 2019-10-11 | 金瓜子科技发展(北京)有限公司 | 一种数据处理方法和装置 |
CN111860561A (zh) * | 2019-12-31 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 网约车的异常停留行为识别方法、装置、设备及存储介质 |
CN112164210A (zh) * | 2020-09-16 | 2021-01-01 | 南京领行科技股份有限公司 | 一种基于对象的预警方法、装置、存储介质及电子设备 |
CN112668974A (zh) * | 2020-12-31 | 2021-04-16 | 车主邦(北京)科技有限公司 | 一种车况信息获取方法和装置 |
CN112751910A (zh) * | 2020-12-14 | 2021-05-04 | 北京小马慧行科技有限公司 | 一种信息收集方法和装置 |
CN113127472A (zh) * | 2021-05-11 | 2021-07-16 | 广州宸祺出行科技有限公司 | 一种针对大上报量的司机数量实时去重统计的方法及系统 |
CN114821968A (zh) * | 2022-05-09 | 2022-07-29 | 西南交通大学 | 动车司机疲劳驾驶干预方法、装置、设备及可读存储介质 |
-
2022
- 2022-11-17 CN CN202211439578.8A patent/CN115964408B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322159A (zh) * | 2019-07-10 | 2019-10-11 | 金瓜子科技发展(北京)有限公司 | 一种数据处理方法和装置 |
CN111860561A (zh) * | 2019-12-31 | 2020-10-30 | 北京嘀嘀无限科技发展有限公司 | 网约车的异常停留行为识别方法、装置、设备及存储介质 |
CN112164210A (zh) * | 2020-09-16 | 2021-01-01 | 南京领行科技股份有限公司 | 一种基于对象的预警方法、装置、存储介质及电子设备 |
CN112751910A (zh) * | 2020-12-14 | 2021-05-04 | 北京小马慧行科技有限公司 | 一种信息收集方法和装置 |
CN112668974A (zh) * | 2020-12-31 | 2021-04-16 | 车主邦(北京)科技有限公司 | 一种车况信息获取方法和装置 |
CN113127472A (zh) * | 2021-05-11 | 2021-07-16 | 广州宸祺出行科技有限公司 | 一种针对大上报量的司机数量实时去重统计的方法及系统 |
CN114821968A (zh) * | 2022-05-09 | 2022-07-29 | 西南交通大学 | 动车司机疲劳驾驶干预方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115964408A (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966729B (zh) | 一种车辆轨迹数据处理方法、装置、设备及存储介质 | |
CN110413650B (zh) | 一种业务数据的处理方法、装置、设备和存储介质 | |
CN106295849A (zh) | 快速交通参数估算 | |
CN105138410A (zh) | 一种基于磁盘缓存的消息队列的实现方法及装置 | |
CN113206757B (zh) | 流式同步网管配置全量数据和增量数据的方法及电子设备 | |
CN113127774A (zh) | 移动应用的内容预缓存方法及装置 | |
CN107491458B (zh) | 一种存储时间序列数据的方法和装置以及系统 | |
CN112905638A (zh) | 一种基于喇叭状的时间切片处理方法 | |
CN115964408B (zh) | 时长校正方法、装置、电子设备和存储介质 | |
CN112069195A (zh) | 基于数据库的消息传输方法、装置、电子设备及存储介质 | |
CN114579683A (zh) | 一种地图路网的更新方法、装置、计算机设备及存储介质 | |
CN116698075B (zh) | 路网数据处理方法、装置、电子设备及存储介质 | |
CN111813901B (zh) | 会话内容生成和处理方法、对话机器人的诊断方法及装置 | |
CN116166709B (zh) | 时长校正方法、装置、电子设备和存储介质 | |
CN114419875B (zh) | 车辆行程切分方法、装置及存储介质 | |
CN116166710B (zh) | 时长处理方法、装置、电子设备和存储介质 | |
CN115052267A (zh) | 微观仿真车路协同数据交互系统 | |
CN115391355A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114064697A (zh) | 日志自动搜索方法及系统 | |
CN115640469B (zh) | 活动时长计算方法、装置、电子设备和存储介质 | |
CN111475474A (zh) | 一种视频文件缓存处理模块及处理方法 | |
CN113923602B (zh) | 信令漂移数据的过滤方法及装置 | |
CN112365735B (zh) | 一种定位数据失效后公交进站报站方法、系统及存储介质 | |
CN114356490B (zh) | 基于大数据的财务信息可视化处理方法及系统 | |
CN114248710B (zh) | 车辆控制方法、车辆终端及电子设备 |
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 |