System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 抄表调度方法、装置、电子设备及存储介质制造方法及图纸_技高网

抄表调度方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40561596 阅读:9 留言:0更新日期:2024-03-05 19:24
本申请实施例提出一种抄表调度方法、装置、电子设备及存储介质,属于抄表技术领域,多个抄表协程的调度由同一个端口调度协程进行管理,每个抄表协程主动向所属的端口调度协程发送请求作业信号,且每个抄表协程均在接收到允许作业信号后,才组建抄表报表,能够抄表协程仅在被允许作业时才组建报文,无需提前组建抄表报文,杜绝无用功,能够极大地减少内存和CPU资源浪费。同时,抄表协程在达到作业周期就主动向端口调度协程发起作业请求,能够避免端口调度协程花费时间轮询抄表协程所导致的效率低的问题。

【技术实现步骤摘要】

本申请涉及抄表,具体而言,涉及一种抄表调度方法、装置、电子设备及存储介质


技术介绍

1、随着电力技术的发展和电力采集技术的广泛应用,目前的采集终端通常挂载几百个甚至上千个电表。这些电表的抄读,对采集终端的抄表效率、机制健壮有很高的要求。

2、现有的抄表方式中,每个任务每只电表启用一个抄表协程,如配置了10个任务,台区内有300个表,假设每个任务都包含所有的表,就会启用3000个协程。每个协程只负责任务的执行时间判断,即时间一到,就组抄表报文,端口层采用轮询的方式对各抄表协程进行调度。然而,这种抄表调度方法会存在大量的无用功,浪费大量的内存和cpu资源。


技术实现思路

1、有鉴于此,本申请的目的在于提供一种抄表调度方法、装置、电子设备及存储介质,其能够改善目前的抄表调度方法存在大量无用功导致浪费内存和cpu资源的问题。

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、本申请实施例提供的抄表调度方法、装置、电子设备及存储介质,采集终端的任一端口调度协程在初始化完成后,向自身管辖的多个抄表协程下发准备就绪信号。任一抄表协程接收到准备就绪信号后,每间隔一次自身的一次作业周期,向所属的端口调度协程发送一次请求作业信号。端口调度协程接收到请求作业信号时,在判定当前状态满足发送请求作业信号的抄表协程的作业开启条件时,向发送请求作业信号的抄表协程发送允许作业条件。任一抄表协程接收到允许作业信号后,组建并下发抄表报文至对应的电表,以指示该电表进行抄表。如此,多个抄表协程的调度由同一个端口调度协程进行管理,且每个抄表协程均在接收到允许作业信号后,才组建抄表报表,能够抄表协程仅在被允许作业时才组建报文,无需提前组建抄表报文,杜绝无用功,能够极大地减少内存和cpu资源浪费。同时,抄表协程在达到作业周期就主动向端口调度协程发起作业请求,能够避免端口调度协程花费时间轮询抄表协程所导致的效率低的问题。

33、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实本文档来自技高网...

【技术保护点】

1.一种抄表调度方法,其特征在于,应用于采集终端,所述采集终端与多个电表通信连接,所述采集终端包括端口调度协程和由端口调度协程管辖的多个抄表协程,每个抄表协程为所属的端口调度协程的一个抄表任务,所述方法包括:

2.根据权利要求1所述的抄表调度方法,其特征在于,所述判断当前状态是否满足发送所述请求作业信号的抄表协程的作业开启条件的步骤,包括:

3.根据权利要求2所述的抄表调度方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的抄表调度方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的抄表调度方法,其特征在于,在所述暂停所述正在工作的抄表协程的工作,并判定当前状态满足发送所述请求作业信号的抄表协程的作业开启条件的步骤之后,所述方法还包括:

6.根据权利要求2所述的抄表调度方法,其特征在于,所述暂停所述正在工作的抄表协程的工作的步骤,包括:

7.根据权利要求1至6中任一项所述的抄表调度方法,其特征在于,在所述将所述抄表报文下发至对应的电表的步骤之后,所述方法还包括:

8.一种抄表调度装置,其特征在于,应用于采集终端,所述采集终端与多个电表通信连接,所述采集终端包括端口调度协程和由端口调度协程管辖的多个抄表协程,每个抄表协程为所属的端口调度协程的一个抄表任务,所述抄表调度装置包括初始化模块、请求模块、作业调度模块和抄表模块;

9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如权利要求1至7中任一项所述的抄表调度方法。

10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的抄表调度方法。

...

【技术特征摘要】

1.一种抄表调度方法,其特征在于,应用于采集终端,所述采集终端与多个电表通信连接,所述采集终端包括端口调度协程和由端口调度协程管辖的多个抄表协程,每个抄表协程为所属的端口调度协程的一个抄表任务,所述方法包括:

2.根据权利要求1所述的抄表调度方法,其特征在于,所述判断当前状态是否满足发送所述请求作业信号的抄表协程的作业开启条件的步骤,包括:

3.根据权利要求2所述的抄表调度方法,其特征在于,所述方法还包括:

4.根据权利要求2所述的抄表调度方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的抄表调度方法,其特征在于,在所述暂停所述正在工作的抄表协程的工作,并判定当前状态满足发送所述请求作业信号的抄表协程的作业开启条件的步骤之后,所述方法还包括:

6.根据权利要求2所述的抄表调度方法,其特征在于,所述暂停所述正在工作...

【专利技术属性】
技术研发人员:苟孟生刘绪胜邹连明
申请(专利权)人:宁波三星智能电气有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1