[发明专利]树形原子状态机及其控制逻辑接口的实现方法及装置有效
申请号: | 201710129216.1 | 申请日: | 2017-03-06 |
公开(公告)号: | CN106990994B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 王铭鑫 | 申请(专利权)人: | 王铭鑫 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 任媛 |
地址: | 401120 重庆市渝*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 树形 原子 状态机 及其 控制 逻辑 接口 实现 方法 装置 | ||
本发明提供了树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置,对Phaser Accumulator的分治思想进行了改进,所述树形原子状态机通过拆分访问点的方式在一定程度上可以降低修改的复杂度,例如在使用的并发调用方法不需要原子状态机实时的精确状态时,只需要判断每一次的向后转移操作是否成功即可,所以无需引入Phaser Accumulator的读取复杂度。使用该树形原子状态机可以在控制对于原子状态机实体的局部读写的并发上限的同时降低修改操作的复杂度,从而提高修改效率。
技术领域
本发明涉及并发程序设计方法,尤其涉及树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置。
背景技术
控制原子状态机实体的局部读写的并发上限是当前并发程序设计中受到广泛关注的问题。在控制原子状态机实体的局部读写的并发上限上,Phaser Accumulator采用了分治的思想,将一个整数拆分成多个单元,从而增加了对整数增加的“带宽”,但对于读取的复杂度却增加了,因为读取操作需要遍历所有的单元。
发明内容
本发明的目的是提供树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置,旨在解决控制原子状态机实体的局部读写的并发上限的同时降低读取的复杂度的问题。
本发明解决其技术问题所采用的技术方案是:
一种树形原子状态机,每个树形原子状态机实体包括若干个节点实体,每个节点实体维护一个原子状态机实体和一个节点实体的引用;
所述原子状态机实体存在n种状态可以一一映射到小于n的全部非负整数,n为正整数;
所述节点实体的引用用于提供节点实体的寻址方式。
在上述实施例的基础上,进一步地,所述节点实体的引用由编程语言确定。
在上述实施例的基础上,进一步地,当编程语言为C++时,所述节点实体的引用是指针或引用;当编程语言为Java时,所述节点实体的引用是引用或特定标识符。
在上述任意实施例的基础上,进一步地,每个节点实体维护的原子状态机实体存在MAX_N种状态可以一一映射到小于MAX_N的全部非负整数,MAX_N为正整数。
在上述任意实施例的基础上,进一步地,当一个节点实体维护的节点实体的引用有效,且该节点实体无效时,对应该节点实体的权值为1;
所述树形原子状态机实体表示的状态到整数的映射值等于其全部节点表示的状态到整数的映射值之和。
一种上述任一项实施例中树形原子状态机控制逻辑接口的实现方法,包括:
语义需求文档获取步骤:
接收用户对编程语言的选择指令,确定编程语言;
查询与编程语言相应的语义需求文档,所述语义需求文档包括逻辑接口和与逻辑接口相应的语义需求;所述逻辑接口包括线性缓冲区逻辑接口、树形原子状态机初始化器逻辑接口、树形原子状态转移器逻辑接口中的一种或多种;
代码获取步骤:
获取数据结构;所述数据结构包括可堆叠线性缓冲区数据结构和树形原子状态机节点数据结构;
获取树形原子状态机过程;所述树形原子状态机过程包括可堆叠线性缓冲区-取出过程、可堆叠线性缓冲区-加入过程、树形原子状态机-节点-初始化过程、树形原子状态机-初始化器-初始化过程、树形原子状态机-转移器-增加过程、树形原子状态机-转移器-条件减少过程;
查询数据结构的代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于王铭鑫,未经王铭鑫许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710129216.1/2.html,转载请声明来源钻瓜专利网。