一种数据抄读方法、装置、设备及存储介质与流程

摘要: 本技术涉及电力数据采集领域,尤其涉及一种数据抄读方法、装置、设备、存储介质及计算机程序产品。背景技术:1、在电力终端设备中,主控微控制单元通过单一串行通道连接外...
一种数据抄读方法、装置、设备及存储介质与流程

本技术涉及电力数据采集领域,尤其涉及一种数据抄读方法、装置、设备、存储介质及计算机程序产品。

背景技术:

1、在电力终端设备中,主控微控制单元通过单一串行通道连接外设,需同时承担周期性定时采集与随机突发转发两类任务。分时复用模式下,定时任务独占通道致使实时请求长时间排队;优先级抢占模式下,实时任务强行打断正在进行的长帧抄读,易引发通信协议紊乱、帧错位甚至通道死锁,反而导致定时任务失败;全时段最小帧策略虽缩短单次交互时长,却因碎片化使交互频次陡增,整体抄读效率下降。然而在单一串行通道共享条件下,定时任务的刚性准时需求与实时任务的动态低延迟响应之间仍存在固有冲突,现有各类调度策略均难以兼顾。

技术实现思路

1、本技术的主要目的在于提供一种数据抄读方法、装置、设备、存储介质及计算机程序产品,旨在解决在单一串行通道共享条件下,定时任务的刚性准时需求与实时任务的动态低延迟响应之间仍存在固有冲突,现有各类调度策略均难以兼顾的技术问题。

2、为实现上述目的,本技术提供一种数据抄读方法,所述数据抄读方法包括:

3、基于电力终端设备信息,在第一类抄读任务对应的预设固定触发时刻之前建立时间保护区,所述第一类抄读任务为具有预设固定触发时刻的数据抄读任务;

4、判断当前系统时刻是否处于时间保护区;

5、在当前系统时刻处于非时间保护区的情况下,基于当前系统时刻,动态调整第二类抄读任务对应的数据帧,得到调整后的第二类抄读任务,执行所述调整后的第二类抄读任务,所述第二类抄读任务为随机触发的数据抄读任务;

6、在当前系统时刻处于所述时间保护区的情况下,基于所述当前系统时刻对所述调整后的第二类抄读任务进行控制,并在所述预设固定触发时刻到达时执行对应的第一类抄读任务;

7、在所述第一类抄读任务执行完毕后,继续执行所述调整后的第二类抄读任务。

8、可选地,所述在当前系统时刻处于非时间保护区的情况下,基于当前系统时刻,动态调整第二类抄读任务对应的数据帧的步骤,包括:

9、在当前系统时刻处于非时间保护区的情况下,获取下一预设固定触发时刻与当前系统时刻之间的时间间隔;

10、在所述时间间隔大于第一阈值的情况下,将所述第二类抄读任务中的多个数据帧合并成同一数据帧;

11、在所述时间间隔小于或等于所述第一阈值的情况下,将所述第二类抄读任务拆分成多个数据帧,所述数据帧离所述下一预设固定触发时刻的时间间隔越短所述数据帧携带的数据项数量越少,直至得到只携带一个数据项的最小数据帧。

12、可选地,所述在当前系统时刻处于所述时间保护区的情况下,基于所述当前系统时刻对所述调整后的第二类抄读任务进行控制,并在所述预设固定触发时刻到达时执行对应的第一类抄读任务的步骤,包括:

13、在当前系统时刻处于所述时间保护区的情况下,获取当前系统时刻与所述预设固定触发时刻之间的时间间隔;

14、在所述时间间隔大于或等于所述最小数据帧的完整抄读周期的情况下,执行所述最小数据帧的抄读任务,并在所述抄读任务执行完成,且所述预设固定触发时刻到达时,执行对应的第一类抄读任务;

15、在所述时间间隔小于所述最小数据帧的完整抄读周期的情况下,暂停执行所述最小数据帧的抄读任务,并在所述预设固定触发时刻到达时,执行对应的第一类抄读任务。

16、可选地,所述在所述第一类抄读任务执行完毕后,继续执行所述调整后的第二类抄读任务的步骤之后,还包括:

17、建立数据缓存区,并获取所述第一类抄读任务的抄读结果;

18、将所述第一类抄读任务的抄读结果存入所述数据缓存区。

19、可选地,所述将所述第一类抄读任务的抄读结果存入所述数据缓存区的步骤之后,还包括:

20、响应于下一抄读任务,在所述数据缓存区中查询是否存在与下一抄读任务匹配的抄读结果,所述下一抄读任务为所述第二类抄读任务;

21、若存在与下一抄读任务匹配的抄读结果,则将匹配的抄读结果作为所述下一抄读任务的抄读结果。

22、可选地,所述响应于下一抄读任务,在所述数据缓存区中查询是否存在与下一抄读任务匹配的抄读结果的步骤之后,还包括:

23、若不存在与下一抄读任务匹配的抄读结果,则获取当前系统时刻,并返回判断当前系统时刻是否处于时间保护区的步骤,直至所述下一抄读任务执行完成。

24、可选地,所述响应于下一抄读任务,在所述数据缓存区中查询是否存在与下一抄读任务匹配的抄读结果的步骤,包括:

25、响应于下一抄读任务,获取所述数据缓存区中所述缓存数据对应的时间戳;

26、在所述时间戳位于所述当前系统时刻前预设时长区间内的情况下,查询所述数据缓存区中是否存在与所述下一抄读任务匹配的抄读结果。

27、此外,为实现上述目的,本技术还提出一种数据抄读装置,所述数据抄读装置包括:

28、保护区建立模块,用于基于电力终端设备信息,在第一类抄读任务对应的预设固定触发时刻之前建立时间保护区,所述第一类抄读任务为具有预设固定触发时刻的数据抄读任务;

29、动态调整模块,用于在当前系统时刻处于非时间保护区的情况下,基于当前系统时刻,动态调整第二类抄读任务对应的数据帧,得到调整后的第二类抄读任务,执行所述调整后的第二类抄读任务,所述第二类抄读任务为随机触发的数据抄读任务;

30、保护区调度模块,用于在当前系统时刻处于所述时间保护区的情况下,基于所述当前系统时刻对所述调整后的第二类抄读任务进行控制,并在所述预设固定触发时刻到达时执行对应的第一类抄读任务;

31、任务恢复模块,用于在所述第一类抄读任务执行完毕后,继续执行所述调整后的第二类抄读任务。

32、此外,为实现上述目的,本技术还提出一种数据抄读设备,所述数据抄读设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据抄读程序,所述数据抄读程序配置为实现如上文所述的数据抄读方法。

33、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质上存储有数据抄读程序,所述数据抄读程序被处理器执行时实现如上文所述的数据抄读方法。

34、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括数据抄读程序,所述数据抄读程序被处理器执行时实现如上文所述的数据抄读方法。

35、本技术提出的一个或多个技术方案,至少具有以下技术效果:

36、在本技术中,公开了基于电力终端设备信息,在第一类抄读任务对应的预设固定触发时刻之前建立时间保护区;判断当前系统时刻是否处于时间保护区;在当前系统时刻处于非时间保护区的情况下,基于当前系统时刻,在执行的过程中,动态调整第二类抄读任务对应的数据帧;在当前系统时刻处于时间保护区的情况下,基于当前系统时刻控制调整后的第二类抄读任务,并在预设固定触发时刻到达时执行对应的第一类抄读任务;在第一类抄读任务执行完毕后,继续执行调整后的第二类抄读任务;由于本技术通过构建时间保护区保障定时任务准时启动,并在非保护区动态适配实时任务帧长,在共享通道兼顾采集准时性、响应实时性与通信稳定性,提升抄读效率。