CN108108236A - 一种用于电力采集终端的高效抄表方法 - Google Patents
一种用于电力采集终端的高效抄表方法 Download PDFInfo
- Publication number
- CN108108236A CN108108236A CN201711380887.1A CN201711380887A CN108108236A CN 108108236 A CN108108236 A CN 108108236A CN 201711380887 A CN201711380887 A CN 201711380887A CN 108108236 A CN108108236 A CN 108108236A
- Authority
- CN
- China
- Prior art keywords
- business
- meter reading
- current
- priority
- acquisition terminal
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种用于电力采集终端的高效抄表方法,所述方法包括,S1、将抄表业务加入就绪态链表中,并按照优先级高低对就绪态链表中的抄表业务进行排序;S2、从所述就绪态链表中取出最高优先级的抄表业务;S3、检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较;S4、优先执行优先级高的业务。相对于现有技术,本发明提供的用于电力采集终端的抄表方法能保证重点数据采集率,对电表进行实时抄读,使得采集中添加任务配置更具灵活性。
Description
技术领域
本发明涉及电力采集终端技术领域,尤其涉及一种用于电力采集终端的高效抄表方法。
背景技术
随着电力采集技术的广泛应用,现有的采集终端下需要挂载几百个甚至上千个电表。当将这些电表的要求数据抄读回来时,对采集终端的抄表效率、机制健壮有很高的要求。
然而现有的抄表中,每个表档案有不同的采集任务,目前的任务调度机制是先执行完一个任务,才去执行下个任务,该种任务调度机制无法区分重点,显得非常不灵活,无法适应爆发的数据增长需求。
发明内容
鉴于上述问题,本发明的目的在于提供一种能根据任务优先级,优先处理重点数据采集,抄表方式灵活高效的方法。
为了实现上述目的,本发明采用的技术方案为:一种用于电力采集终端的高效抄表方法,其特征在于:所述方法包括,
S1、将抄表业务加入就绪态链表中,并按照优先级高低对就绪态链表中的抄表业务进行排序;
S2、从所述就绪态链表中取出最高优先级的抄表业务;
S3、检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较;
S4、优先执行优先级高的业务。
进一步的,所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,包括:
A1、检测到当前通道的当前业务为空,且接收缓存区没有数据,则以取出的抄表业务接管当前通道,执行取出的抄表业务。
进一步的,所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括:
B1、检测到当前通道的当前业务为空,且接收缓存区有数据,则调用主动上报处理模块进行数据上报。
进一步的,所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括:
C1、检测到当前业务为非空,且当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,优先执行取出的抄表业务。
进一步的,所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括:
D1、检测到当前业务为非空,且当前业务优先级高于取出的抄表业务,则优先执行当前业务。
进一步的,所述C1中的当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,包括:
检测到当前业务优先级低于取出的抄表业务,且接收缓存区没有数据,则先调用当前业务处理模块处理终止事宜,再执行以取出的抄表业务接管当前通道。
进一步的,所述C1中的当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,还包括:
检测到当前业务优先级低于取出的抄表业务,且接收缓存区有数据,则先调用当前业务处理模块处理接收事宜,再执行调用当前业务处理模块处理终止事宜,然后执行以取出的抄表业务接管当前通道。
进一步的,所述D1中的当前业务优先级高于取出的抄表业务,则优先执行当前业务,包括:
检测到当前业务优先级高于取出的抄表业务,则调用当前业务处理模块处理接收事宜,并判断接收的数据能否处理,若能处理,则继续当前业务的处理,反之,则调用主动上报处理模块进行数据上报。
进一步的,所述判断接收的数据能否处理,若能处理,则继续当前业务的处理,包括:
若判断接收的数据能处理,则继续判断当前业务是否处理完毕,若还未处理完毕,则当前业务继续接管当前通道,并调用业务处理模块处理发送事宜,反之,则调用当前业务处理模块处理完成事宜。
进一步的,在执行S3中的检测当前通道的当前业务之前,调用端口接收模块接收采集终端采集的电表数据到接收缓存区。
进一步的,在执行S1中的将抄表业务加入就绪态链表前,还执行了下列操作:
E1、初始化四个运行状态链表;
E2、调用业务初始化模块,初始化抄表业务的运行时段、有限级、抄表进度状态;
E3、将抄表业务加入到挂起态链表;
E4、检测挂起态链表中抄表业务的执行时段是否到来;
E5、若是,则将抄表业务加入就绪态链表中;
E6、若不是,则直接调用端口接收模块接收采集终端采集的电表数据到接收缓存区。
进一步的,所述A1中的以取出的抄表业务接管当前通道,执行取出的抄表业务,具体为:
以取出的抄表业务接管当前通道后,调用业务处理模块处理发送事宜,判断是否要发送数据,若是,则先调用端口发送模块发送缓存区中的数据,再执行E4,反之,则直接执行E4。
进一步的,在调用主动上报处理模块进行数据上报、调用当前业务处理模块处理完成事宜后,均转而执行E4。
与现有技术相比,本发明的优点在于:本发明的任务调度机制为根据任务优先级实时抢占式调度,当高优先级的任务在执行时,低优先级的任务将被挂起,等待高优先级的任务执行完,才能执行低优先级的;当低优先级的任务正在执行,高优先级的任务满足条件进入就绪态,高优先级抢占低优先级的任务,这样能保证重点数据采集率,对电表进行实时抄读,使得采集中添加任务配置更具灵活性。
附图说明
图1为本发明用于电力采集终端的高效抄表方法路程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
如图1所示的高效抄表流程图,系统开始工作,首先初始化四个运行状态链表,调用业务初始化模块,初始化抄表业务的运行时段、优先级、抄表进度状态等信息,然后将抄表业务加入到挂起态链表,检测挂起态链表中抄表业务的执行时段是否到来,若执行时段到来,则将抄表业务加入就绪态链表中,反之则直接调用端口接收函数接收采集终端采集的电表数据到接收缓存区。
将业务加入ready链表,ready链表按照优先级高低对其中的抄表业务进行排序,并从中取出最高优先级的抄表业务,调用端口接收函数接收采集终端采集的电表数据到接收缓存区,检测当前通道是否有业务执行。
若检测到当前通道没有业务,则判断接收缓存区是否有数据,若接收缓存区中没有数据,则以取出的抄表业务接管当前通道,并调用业务处理函数处理发送事宜,判断是否要发送数据,若是,则调用端口发送函数发送缓存区中的数据,再跳转至检测挂起态链表中抄表业务的执行时段这一步骤,继续依照前面顺序进行操作,若没有数据要发送,则直接跳转至检测挂起态链表中抄表业务的执行时段这一步骤;若检测到接收缓存区有数据,则调用主动上报处理函数进行数据上报,然后跳转至检测挂起态链表中抄表业务的执行时段这一步骤。
若检测到当前通道有业务,则比较当前业务与取出的抄表业务的优先级。若当前业务优先级小于取出的抄表业务,则判断接收缓存区是否有数据,若没有数据,则先调用当前业务处理函数终止事宜,再执行以取出的抄表业务接管当前通道;若有数据,则先调用当前业务处理函数处理接收事宜,再执行调用当前业务处理函数处理终止事宜,然后执行以取出的抄表业务接管当前通道。不论接收缓存区是否有数据,最终都是以取出的抄表业务接管当前通道,并后续执行调用业务处理函数处理发送事宜、判断是否要发送数据,若是,则调用端口发送函数发送缓存区中的数据,然后转至检测挂起态链表中抄表业务的执行时段,若没有数据要发送,则转至检测挂起态链表中抄表业务的执行时段等步骤。
若检测到当前通道有业务,且当前业务优先级大于取出的抄表业务,则调用当前业务处理函数处理接收事宜,并判断接收的数据能否处理,若能处理,则继续判断当前业务是否处理完毕,若还未处理完毕,则当前业务继续接管当前通道,并调用业务处理函数处理发送事宜,判断是否要发送数据,若是,则调用端口发送函数发送缓存区中的数据,再跳转至检测挂起态链表中抄表业务的执行时段,若没有数据要发送,则直接跳转至检测挂起态链表中抄表业务的执行时段;若判断当前业务处理完毕,则调用当前业务处理函数处理完成事宜,然后跳转至检测挂起态链表中抄表业务的执行时段这一步骤。
若当前业务优先级大于取出的抄表业务,调用当前业务处理函数处理接收事宜,并判断接收的数据不能处理时,则调用主动上报处理函数进行数据上报,然后跳转至检测挂起态链表中抄表业务的执行时段这一步骤。
本发明的任务调度机制为根据任务优先级实时抢占式调度,当高优先级的任务在执行时,低优先级的任务将被挂起,等待高优先级的任务执行完,才能执行低优先级的;当低优先级的任务正在执行,高优先级的任务满足条件进入就绪态,高优先级抢占低优先级的任务,这样能保证重点数据采集率,对电表进行实时抄读,使得采集中添加任务配置更具灵活性。
除了上述改进外,其他相类似的改进也包含在本发明的改进范围内,此处就不在赘述。尽管已经示出和描述了本发明的实施例,本领域技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变形。
Claims (13)
1.一种用于电力采集终端的高效抄表方法,其特征在于:所述方法包括,
S1、将抄表业务加入就绪态链表中,并按照优先级高低对就绪态链表中的抄表业务进行排序;
S2、从所述就绪态链表中取出最高优先级的抄表业务;
S3、检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较;
S4、优先执行优先级高的业务。
2.根据权利要求1所述的用于电力采集终端的高效抄表方法,其特征在于:所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,包括,
A1、检测到当前通道的当前业务为空,且接收缓存区没有数据,则以取出的抄表业务接管当前通道,执行取出的抄表业务。
3.根据权利要求2所述的用于电力采集终端的高效抄表方法,其特征在于:所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括,
B1、检测到当前通道的当前业务为空,且接收缓存区有数据,则调用主动上报处理模块进行数据上报。
4.根据权利要求1所述的用于电力采集终端的高效抄表方法,其特征在于:所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括,
C1、检测到当前业务为非空,且当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,优先执行取出的抄表业务。
5.根据权利要求1所述的用于电力采集终端的高效抄表方法,其特征在于:所述S3中的检测当前通道的当前业务,并将当前业务与取出的抄表业务进行优先级比较,还包括,
D1、检测到当前业务为非空,且当前业务优先级高于取出的抄表业务,则优先执行当前业务。
6.根据权利要求4所述的用于电力采集终端的高效抄表方法,其特征在于:所述C1中的当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,包括,
检测到当前业务优先级低于取出的抄表业务,且接收缓存区没有数据,则先调用当前业务处理模块处理终止事宜,再执行以取出的抄表业务接管当前通道。
7.根据权利要求6所述的用于电力采集终端的高效抄表方法,其特征在于:所述C1中的当前业务优先级低于取出的抄表业务,则以取出的抄表业务接管当前通道,还包括,
检测到当前业务优先级低于取出的抄表业务,且接收缓存区有数据,则先调用当前业务处理模块处理接收事宜,再执行调用当前业务处理模块处理终止事宜,然后执行以取出的抄表业务接管当前通道。
8.根据权利要求5所述的用于电力采集终端的高效抄表方法,其特征在于:所述D1中的当前业务优先级高于取出的抄表业务,则优先执行当前业务,包括,
检测到当前业务优先级高于取出的抄表业务,则调用当前业务处理模块处理接收事宜,并判断接收的数据能否处理,若能处理,则继续当前业务的处理,反之,则调用主动上报处理模块进行数据上报。
9.根据权利要求8所述的用于电力采集终端的高效抄表方法,其特征在于:所述判断接收的数据能否处理,若能处理,则继续当前业务的处理,包括,
若判断接收的数据能处理,则继续判断当前业务是否处理完毕,若还未处理完毕,则当前业务继续接管当前通道,并调用业务处理模块处理发送事宜,反之,则调用当前业务处理模块处理完成事宜。
10.根据权利要求2-9中任一项所述的用于电力采集终端的高效抄表方法,其特征在于:在执行S3中的检测当前通道的当前业务之前,调用端口接收模块接收采集终端采集的电表数据到接收缓存区。
11.根据权利要求10所述的用于电力采集终端的高效抄表方法,其特征在于:在执行S1中的将抄表业务加入就绪态链表前,还执行了下列操作,
E1、初始化四个运行状态链表;
E2、调用业务初始化模块,初始化抄表业务的运行时段、优先级、抄表进度状态;
E3、将抄表业务加入到挂起态链表;
E4、检测挂起态链表中抄表业务的执行时段是否到来;
E5、若是,则将抄表业务加入就绪态链表中;
E6、若不是,则直接调用端口接收模块接收采集终端采集的电表数据到接收缓存区。
12.根据权利要求11所述的用于电力采集终端的高效抄表方法,其特征在于:所述A1中的以取出的抄表业务接管当前通道,执行取出的抄表业务,具体为,
以取出的抄表业务接管当前通道后,调用业务处理模块处理发送事宜,判断是否要发送数据,若是,则先调用端口发送模块发送缓存区中的数据,再执行E4,反之,则直接执行E4。
13.根据权利要求3或8或9所述的用于电力采集终端的高效抄表方法,其特征在于:在调用主动上报处理模块进行数据上报、调用当前业务处理模块处理完成事宜后,均转而执行E4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711380887.1A CN108108236A (zh) | 2017-12-19 | 2017-12-19 | 一种用于电力采集终端的高效抄表方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711380887.1A CN108108236A (zh) | 2017-12-19 | 2017-12-19 | 一种用于电力采集终端的高效抄表方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108108236A true CN108108236A (zh) | 2018-06-01 |
Family
ID=62210427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711380887.1A Pending CN108108236A (zh) | 2017-12-19 | 2017-12-19 | 一种用于电力采集终端的高效抄表方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108108236A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109741592A (zh) * | 2019-01-10 | 2019-05-10 | 国网陕西省电力公司 | 厂站电能量采集终端的数据自动采集实现方法 |
CN111767292A (zh) * | 2020-05-26 | 2020-10-13 | 宁波三星医疗电气股份有限公司 | 一种电表通信模块档案容错方法 |
CN113596620A (zh) * | 2021-06-30 | 2021-11-02 | 宁波三星医疗电气股份有限公司 | 一种智能用电终端抄表失败的快速判断方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103293967A (zh) * | 2012-02-29 | 2013-09-11 | 陕西省地方电力(集团)有限公司 | 一种用于智能抄表终端的多任务控制方法 |
EP2894872A1 (fr) * | 2014-01-10 | 2015-07-15 | Sagemcom Energy & Telecom Sas | Procédé d'ordonnancement de tâches dans un réseau à courants porteurs en ligne |
CN107146395A (zh) * | 2017-06-13 | 2017-09-08 | 珠海慧信微电子有限公司 | 基于宽带载波通信的抄表系统及抄表方法 |
CN107404674A (zh) * | 2017-06-05 | 2017-11-28 | 国网浙江省电力公司电力科学研究院 | 一种用电信息采集终端采集任务优先级调度控制方法 |
-
2017
- 2017-12-19 CN CN201711380887.1A patent/CN108108236A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103293967A (zh) * | 2012-02-29 | 2013-09-11 | 陕西省地方电力(集团)有限公司 | 一种用于智能抄表终端的多任务控制方法 |
EP2894872A1 (fr) * | 2014-01-10 | 2015-07-15 | Sagemcom Energy & Telecom Sas | Procédé d'ordonnancement de tâches dans un réseau à courants porteurs en ligne |
CN107404674A (zh) * | 2017-06-05 | 2017-11-28 | 国网浙江省电力公司电力科学研究院 | 一种用电信息采集终端采集任务优先级调度控制方法 |
CN107146395A (zh) * | 2017-06-13 | 2017-09-08 | 珠海慧信微电子有限公司 | 基于宽带载波通信的抄表系统及抄表方法 |
Non-Patent Citations (4)
Title |
---|
MARY CHERIAN: "Multipath Routing With Novel Packet Scheduling", 《INTERNATIONAL JOURNAL OF COMPUTER THEORY AND ENGINEERING》 * |
罗蕾: "《嵌入式实时操作系统及应用开发 第2版》", 31 March 2007, 北京航空航天大学出版社 * |
马力克: "《宁夏电力公司营销业务应用系统培训教程 下》", 28 February 2009 * |
黄国兵: "基于现场适应性策略的自动抄表任务调度算法", 《计算机与现代化》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109741592A (zh) * | 2019-01-10 | 2019-05-10 | 国网陕西省电力公司 | 厂站电能量采集终端的数据自动采集实现方法 |
CN109741592B (zh) * | 2019-01-10 | 2020-12-08 | 国网陕西省电力公司 | 厂站电能量采集终端的数据自动采集实现方法 |
CN111767292A (zh) * | 2020-05-26 | 2020-10-13 | 宁波三星医疗电气股份有限公司 | 一种电表通信模块档案容错方法 |
CN113596620A (zh) * | 2021-06-30 | 2021-11-02 | 宁波三星医疗电气股份有限公司 | 一种智能用电终端抄表失败的快速判断方法 |
CN113596620B (zh) * | 2021-06-30 | 2023-05-23 | 宁波三星医疗电气股份有限公司 | 一种智能用电终端抄表失败的快速判断方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108236A (zh) | 一种用于电力采集终端的高效抄表方法 | |
CA2025711C (en) | Apparatus and method for asynchronously delivering control elements with a pipe interface | |
CN111392402B (zh) | 一种自动化抓取方法、装置、设备和存储介质 | |
CN103853620B (zh) | 一种众核处理器进程间相互通信的方法、装置及系统 | |
US8719479B2 (en) | Network adaptor optimization and interrupt reduction | |
RU2009128685A (ru) | Согласование времени передачи и приема в сотовых системах с пакетной коммутацией | |
CN104601523B (zh) | 一种传输数据的方法及装置 | |
CN108924008A (zh) | 一种双控制器数据通信方法、装置、设备及可读存储介质 | |
CN104836743A (zh) | 一种拥塞控制方法及装置 | |
CN106293920A (zh) | 任务调度方法及装置 | |
CN106095064B (zh) | 一种移动终端禁止应用接收特定广播的方法及系统 | |
CN105302759A (zh) | 485通信芯片收发数据自动切换电路装置及方法 | |
CN104615558B (zh) | 一种数据传送方法及电子装置 | |
JP2012154758A (ja) | 検体搬送システムおよびその制御方法 | |
CN109840725A (zh) | 货物拣选方法、装置、电子装置及计算机可读存储介质 | |
CN101493808B (zh) | 串口的使用方法及多核处理器 | |
EP1569262A3 (en) | Methods and apparatus for enhanced operation of substrate carrier handlers | |
CN106354573A (zh) | 一种基于优先级队列的进程间通信方法及装置 | |
CN106933681A (zh) | 一种多对象阻塞方法及其系统 | |
CN101982817A (zh) | 一种通过单个总线接口传输多路数据流的电路系统 | |
CN109587087A (zh) | 一种报文处理方法及系统 | |
US20090116491A1 (en) | Communication system, communication device, and method for controlling transport resource thereof | |
CN111078431A (zh) | 一种基于蓝牙交互的流程管理方法 | |
JP5972222B2 (ja) | 停止原因特定システム、停止原因特定装置、停止原因特定方法およびプログラム | |
CN116185668B (zh) | 一种基于grpc的高效多模型选配部署方法 |
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 |