[发明专利]一种基于双环队列的无锁多协处理线程并发抄表方法有效
申请号: | 202110643614.1 | 申请日: | 2021-06-09 |
公开(公告)号: | CN113242059B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 程前;周畅;尚驰祥;谈威 | 申请(专利权)人: | 武汉中原电子信息有限公司 |
主分类号: | H04B3/54 | 分类号: | H04B3/54;G06F9/48 |
代理公司: | 武汉红观专利代理事务所(普通合伙) 42247 | 代理人: | 陈凯 |
地址: | 430000 湖北省武汉市*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 队列 无锁多协 处理 线程 并发 方法 | ||
1.一种基于双环队列的无锁多协处理线程并发抄表方法,其特征在于:包括如下步骤:
S100:建立基于供电区域的集中器、路由器及入户电表的本地载波模块、轮询线程模块、若干协处理线程模块和主线程模块;
S200:一个抄表周期内,集中器的I/O端口并行的连续发出若干个抄表任务;当集中器的I/O端口达到并发的抄表任务上限以后,集中器停止发出抄表任务;
S300;本地载波模块用于构建环形任务队列和环形索引队列,环形任务队列中的各任务位置分别对应集中器的I/O口发出的一个待处理的抄表任务;环形索引队列的各索引位置对应一个线程索引;环形任务队列的长度与环形索引队列的长度相同,且环形任务队列中的任务位置与环形索引队列中的索引位置一一对应设置;当环形任务队列排满或者环形索引队列排满以后,本地载波模块向集中器发出队列已满信号,集中器接收到该队列已满信号后停止发出抄表任务;每个线程索引与一个当前空闲状态的协处理线程模块相关联;
S400:主线程对集中器的I/O口进行定期的抄表任务读取,读取到合法的若干个抄表任务时,主线程模块将抄表任务存入环形任务队列后端的空余队列位置;轮询线程模块轮询各协处理线程模块,当存在空闲状态的协处理线程模块时,轮询线程模块选择若干个空闲状态的协处理线程模块并在环形索引队列上的相应的索引位置做关联标记,由该协处理线程模块执行该抄表任务;
S500:入户电表接收到抄表任务后,生成一次确认信息发送至集中器并进行抄表,由入户电表生成数据上传任务;入户电表将一次确认信息返回到集中器的I/O口后,集中器确认入户电表接收到该抄表任务,协处理线程模块通知本地载波模块释放该抄表任务对应的环形任务队列的任务位置及环形索引队列的索引位置,解除执行抄表任务的协处理线程模块与该索引位置的关联关系,使该执行抄表任务的协处理线程模块处于空闲状态;
S600:主线程对入户电表的I/O口进行定期的读取,读取到合法的数据上传任务时,主线程模块将数据上传任务存入环形任务队列后端的空余队列位置;轮询线程模块轮询各协处理线程模块,当存在当前空闲状态的协处理线程模块时,轮询线程模块选择空闲状态的协处理线程模块并在环形索引队列上的相应的索引位置做关联标记,由该空闲的协处理线程模块执行该数据上传任务;
S700:数据上传任务执行后,集中器的I/O口接收到包含一次确认信息在内的抄表上传数据,并生产二次确认信息;当一次确认信息与二次确认信息均符合要求时,表示抄表任务和数据上传任务均成功,协处理线程模块通知本地载波模块释放该数据上传任务对应的环形任务队列的任务位置及环形索引队列的索引位置,解除执行数据上传任务的协处理线程模块与环形索引队列的索引位置的关联关系,使该执行数据上传任务的协处理线程模块处于空闲状态,本抄表周期内不再执行对应入户电表的抄表任务或者数据上传任务;如果一次确认信息或者二次确认信息不符合要求,表示抄表任务或者数据上传任务不成功,经过一个或者若干个固定时间延迟后重新执行步骤S400—S700,且根据不成功的抄表任务或者数据上传任务的环形索引队列的索引位置做出的关联标记,选用不同的协处理线程模块或者路由器再次执行抄表任务和数据上传任务,直到一次确认信息和二次确认信息完全相同、达到重新尝试次数上限终止或者到达抄表任务的给定截止期限终止。
2.根据权利要求1所述的一种基于双环队列的无锁多协处理线程并发抄表方法,其特征在于:所述环形任务队列是设定固定地址空间长度为MAXSIZE的任务队列,每个环形任务队列的地址空间即任务位置对应一个抄表任务或者数据上传任务,其对应的可执行抄表任务或者数据上传任务的总数也为MAXSIZE,任务位置对应的取值范围为(0,MAXSIZE—1);先加入环形任务队列的任务会按任务位置的取值由小到大从环形队列的队首依次排列,直至到达可执行任务的最大值MAXSIZE,环形任务队列按滚动更新方式更新,环形任务队列末尾已满时,新加入的抄表任务或者数据上传任务会填充到环形任务队列的首端。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉中原电子信息有限公司,未经武汉中原电子信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110643614.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种畜禽养殖污水处理系统
- 下一篇:井下筛管液压成形补贴工具及方法