一种基于有限状态机的意图分析方法和系统转让专利

申请号 : CN202310382301.4

文献号 : CN116107573B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 管哲朱伏生卢华段雪飞闵丛丛凌森邓永平

申请人 : 广东省新一代通信与网络创新研究院

摘要 :

本发明公开一种基于有限状态机的意图分析方法和系统,包括:获取用户意图信息;拆分用户意图信息成多个用户意图的元信息;对用户意图的元信息进行解析并存储;根据用户意图的元信息构建对应的状态及有限状态机模型。本发明方法对单一用户意图的元信息更改时,只需对元信息对应状态进行更改即可,无需更改整体代码,减少维护的难度。当需要对某一用户意图的元信息进行重验证时,可以在这一用户意图的元信息对应状态进行验证,无需对整个用户意图信息进行验证,提高意图验证的效率。

权利要求 :

1.一种基于有限状态机的意图分析方法,其特征在于,包括:

获取用户意图信息;

将所述用户意图信息拆分成多个用户意图的元信息;

根据所述用户意图信息对用户意图的元信息进行解析;

将根据所述用户意图的元信息对用户意图信息进行解析的流程置于对应的所述用户意图的元信息的状态之中,基于所述状态构建有限状态机模型;通过有限状态机模型进行逐步解析用户意图信息;逐步纠正用户意图信息直到完全获取到能够描述网络控制和感知的关键的用户意图信息;

将根据所述用户意图的元信息对用户意图信息进行解析的流程置于对应的所述用户意图的元信息的状态之中,基于所述状态构建有限状态机模型包括:根据所述用户意图信息设置主状态、与主状态对应的子状态、转移条件和停滞条件;根据所设置的主状态、与主状态对应的子状态、转移条件和停滞条件构建状态表;根据所述状态表构建状态迁移图;根据所述状态表和状态迁移图完成有限状态机模型的构建;

当所述用户意图的元信息满足转移条件时,迁移到下一主状态;如果没有满足转移条件,迁移至主状态对应的子状态,并进行检测是否满足停滞条件;如果满足停滞条件,则停滞在子状态,直至用户意图的元信息满足转移条件;

当对某一所述用户意图的元信息进行更改或重置或验证或重验证时,在该用户意图的元信息对应的状态中进行更改或重置或验证或重验证。

2.根据权利要求1所述的一种基于有限状态机的意图分析方法,其特征在于,还包括:对所述多个用户意图的元信息解析并形成多个策略;将所述多个策略整合成完整的策略;

根据所述完整的策略进行网络配置并存储。

3.一种基于有限状态机的意图分析系统,其特征在于,所述系统包括:意图元信息管理模块,部署于可编程控制面,用于获取用户意图信息,拆分所述用户意图信息成多个用户意图的元信息,对所述用户意图的元信息进行解析并存储;逐步纠正用户意图信息直到完全获取到能够描述网络控制和感知的关键的用户意图信息;

有限状态机管理模块,部署于可编程控制面,用于根据用户意图的元信息构建对应的状态及有限状态机模型;通过有限状态机模型进行逐步解析用户意图信息;

所述有限状态机管理模块还用于根据所述用户意图信息设置主状态、与主状态对应的子状态、转移条件和停滞条件;根据所设置的主状态、与主状态对应的子状态、转移条件和停滞条件构建状态表;根据所述状态表构建状态迁移图;根据所述状态表和状态迁移图完成有限状态机模型的构建;

所述有限状态机管理模块还用于当所述用户意图的元信息满足转移条件时,迁移到下一主状态;如果没有满足转移条件,迁移至主状态对应的子状态,并进行检测是否满足停滞条件;如果满足停滞条件,则停滞在子状态,直至用户意图的元信息满足转移条件;

还包括:

意图验证模块,部署于可编程控制面,用于对用户意图信息进行验证或重验证;

所述意图验证模块还用于当对某一所述用户意图的元信息进行更改或重置或验证或重验证时,在该用户意图的元信息对应的状态中进行更改或重置或验证或重验证。

4.根据权利要求3所述的一种基于有限状态机的意图分析系统,其特征在于,所述系统还包括:网络策略配置管理模块,部署于可编程控制面,用于对所述多个用户意图的元信息解析并形成多个策略,将所述多个策略整合成完整的策略,根据所述完整的策略进行网络配置并存储。

说明书 :

一种基于有限状态机的意图分析方法和系统

技术领域

[0001] 本发明涉及意图分析技术领域,具体涉及一种基于有限状态机的意图分析方法和系统。

背景技术

[0002] 随着软件定义网络(SDN,Software Defined Network)的发展,基于意图的网络(IBN,Intent based networking)应运而生。IBN通过分析用户意图,将意图转译为相应的网络策略,最终实现网络感知和控制策略的自动化部署。
[0003] 在基于意图的网络实施中,先将网络中的策略存储到策略数据库中,接着将整体意图转化为特定格式与策略数据库进行意图验证。而当进行一个循环,对意图中的每个元信息进行判断时,各种条件判断会导致以下几个问题:
[0004] 1、当分支增加时,意图验证代码会变得更加复杂;
[0005] 2、当需求变化时,某一处代码的改动会影响其他部分,代码之间的耦合性大,导致维护难度大;
[0006] 3、当某一用户意图的元信息出现错误,矫正之后,需要对整个用户意图信息进行再验证,降低意图验证的效率。

发明内容

[0007] 为解决上述问题的一个或多个,本发明提出了将用户意图信息拆分为若干用户意图的元信息,再进行分别解析,形成策略,以配置网络,多个元信息减少了代码的内聚性,降低了维护难度;当需要对某一用户意图的元信息进行重验证时,可以在这一用户意图的元信息对应状态进行验证,无需对整个用户意图信息进行验证,提高意图验证的效率。
[0008] 还提出了根据每个元信息的解析流程构建对应的状态及有限状态机模型,通过有限状态机模型进行逐步解析用户意图信息。
[0009] 根据本发明的一个方面,提供了一种基于有限状态机的意图分析方法,包括:
[0010] 获取用户意图信息;
[0011] 将所述用户意图信息拆分成多个用户意图的元信息;
[0012] 根据所述用户意图信息对用户意图的元信息进行解析;
[0013] 将根据所述用户意图的元信息对用户意图信息进行解析的流程置于对应的所述用户意图的元信息的状态之中,基于所述状态构建有限状态机模型。由此,有限状态机模型中的状态迁移结构是闭环的,有利于用户进行反复验证。
[0014] 在一些实施方式中,还包括:对所述多个用户意图的元信息解析并形成多个策略;将所述多个策略整合成完整的策略;根据所述完整的策略进行网络配置并存储。
[0015] 在一些实施方式中,将根据所述用户意图的元信息对用户意图信息进行解析的流程置于对应的所述用户意图的元信息的状态之中,基于所述状态构建有限状态机模型包括:
[0016] 根据所述用户意图信息设置主状态、与主状态对应的子状态、转移条件和停滞条件;根据所设置的主状态、与主状态对应的子状态、转移条件和停滞条件构建状态表;根据所述状态表构建状态迁移图;根据所述状态表和状态迁移图完成有限状态机模型的构建。
[0017] 在一些实施方式中,当对某一所述用户意图的元信息进行更改或重置或验证或重验证时,在该用户意图的元信息对应的状态中进行更改或重置或验证或重验证。由此,可以具有提高对意图验证的效率。
[0018] 在一些实施方式中,当所述用户意图的元信息满足转移条件时,迁移到下一主状态;如果没有满足转移条件,迁移至主状态对应的子状态,并进行检测是否满足停滞条件;如果满足停滞条件,则停滞在子状态,直至用户意图的元信息满足转移条件。
[0019] 根据本发明的一个方面,提供了一种基于有限状态机的意图分析系统,其特征在于,所述系统包括:
[0020] 意图元信息管理模块,部署于可编程控制面,用于获取用户意图信息,拆分所述用户意图信息成多个用户意图的元信息,对所述用户意图的元信息进行解析并存储;
[0021] 有限状态机管理模块,部署于可编程控制面,用于根据用户意图的元信息构建对应的状态及有限状态机模型。
[0022] 在一些实施方式中,所述系统还包括:
[0023] 网络策略配置管理模块,部署于可编程控制面,用于对所述多个用户意图的元信息解析并形成多个策略,将所述多个策略整合成完整的策略,根据所述完整的策略进行网络配置并存储。
[0024] 在一些实施方式中,所述有限状态机管理模块还用于根据所述用户意图信息设置主状态、与主状态对应的子状态、转移条件和停滞条件;根据所设置的主状态、与主状态对应的子状态、转移条件和停滞条件构建状态表;根据所述状态表构建状态迁移图;根据所述状态表和状态迁移图完成有限状态机模型的构建。
[0025] 在一些实施方式中,所述系统还包括:
[0026] 意图验证模块,部署于可编程控制面,用于对用户意图信息进行验证或重验证;
[0027] 所述意图验证模块还用于当对某一所述用户意图的元信息进行更改或重置或验证或重验证时,在该用户意图的元信息对应的状态中进行更改或重置或验证或重验证。
[0028] 在一些实施方式中,所述有限状态机管理模块还用于当所述用户意图的元信息满足转移条件时,迁移到下一主状态;如果没有满足转移条件,迁移至主状态对应的子状态,并进行检测是否满足停滞条件;如果满足停滞条件,则停滞在子状态,直至用户意图的元信息满足转移条件。由此,还可以具有反复验证的效果。
[0029] 有益效果:本发明方法将用户意图的元信息置于有限状态机模型中的状态中,可以让用户在用户意图的元信息对应的状态中进行验证或重验证,避免验证不通过需要对整个用户意图信息进行验证。同时,对单一用户意图的元信息更改时,只需对元信息对应状态进行更改即可,无需更改整体代码,减少维护的难度。

附图说明

[0030] 图1为现有的IBN实现流程示意图;
[0031] 图2为本发明一实施方式的IBN实现流程示意图;
[0032] 图3为本发明一实施方式的基于有限状态机的意图分析方法的流程示意图;
[0033] 图4为本发明一实施方式的基于有限状态机的意图分析系统架构图;
[0034] 图5为本发明一实施方式的策略形成的流程示意图;
[0035] 图6为本发明一实施方式的网络配置管理模块示意图;
[0036] 图7为本发明一实施方式的有限状态机模型中的状态迁移图;
[0037] 图8为本发明一实施方式的有限状态机管理模块结构示意图。

具体实施方式

[0038] 下面结合附图对本发明作进一步详细的说明。
[0039] 实施例1
[0040] 图1示意性地显示了现有的IBN实现流程。如图1所示,IBN实现流程包括以下步骤:
[0041] 获取用户意图信息;
[0042] 对用户意图信息进行解析,形成策略;
[0043] 对策略进行验证并反馈于获取的用户意图信息;
[0044] 将验证后的策略进行下发至相关的网络资源;
[0045] 对网络进行感知并反馈于用户意图信息的获取,以及对用户意图信息的获取进行优化。
[0046] 现有中的流程是一次性全部获取用户意图信息进行解析。该流程的代码内聚性大,维护难度大。若某一用户意图的元信息更改后,需对整体用户意图信息进行重验证,意图验证效率低。
[0047] 图2示意性地显示了根据本发明的IBN实现流程。如图2所示,该方法包括以下步骤:
[0048] 获取用户意图信息;
[0049] 对用户意图信息进行解构,也就是将用户意图信息拆分为若干用户意图的元信息,分别对元信息进行解析再形成网络策略;
[0050] 对策略进行验证并反馈于用户意图信息的解构;
[0051] 将策略下发至相关的网络资源;
[0052] 根据网络策略进行配置网络资源;
[0053] 同时根据当前网络状态对获取的用户意图信息进行验证网络策略的可行性,将通过验证的网络策略下发到实际网络中。优选的,实时监控网络状态以确保用户意图正确实现,并将监控结果反馈给用户。
[0054] 本发明将用户意图信息拆分为用户意图的元信息,降低元信息与元信息之间的代码耦合性。若某一用户意图的元信息更改后,无需对整体用户意图信息进行重验证,在相对应的状态中处理元信息,只对单一元信息进行重验证。
[0055] 图3为本发明本实施例的基于有限状态机的意图分析方法的流程示意图。示例性的,如图3所示,该流程包括:
[0056] 获取用户意图信息;
[0057] 拆分用户意图信息成多个用户意图的元信息;
[0058] 对用户意图的元信息分别进行解析并存储;
[0059] 根据用户意图的元信息构建对应的状态及有限状态机模型。
[0060] 具体地,定义多个用户意图的元信息,依据多个用户意图的元信息制定网络策略。
[0061] 如图5,分别对每个用户意图的元信息进行获取、解析和检索以形成网络策略。用户意图的元信息对应图5中的用户元意图。用户在进入IBN时,会选择所对应的区域。IBN可根据区域的不同提供不同内容和复杂度的配置指令。区域可简单划分为网络专业区域和非网络专业区域。网络专业区域配置更为具体且复杂的配置指令。非网络专业区域则配置相对简单的配置指令,例如测试区域。不同的区域对应不同的网络配置。本实施例采用的是任务对话的形式,因此完整的网络配置是按照用户意图的元信息逐一下发。该设置不会在未解析完当前元信息时意外跳转到其他阶段而造成乱序。解析后的用户意图信息与当前网络配置进行验证。对用户意图信息进行检索后将检索结果反馈于用户意图信息的获取,以确保获取的用户意图信息是关键的用户意图信息。
[0062] 优选地,逐步纠正用户意图信息直到完全获取到能够描述网络控制和感知的关键的用户意图信息。关键的用户意图信息可以根据用户的需求来进行自定义。若用户意图信息与当前网络配置相冲突,则将相关信息反馈于用户端,用户可根据该信息进行反复调整至用户意图信息与当前网络配置相匹配。该反复的纠正信息可附于用户意图信息以供用户参考。
[0063] 其中,将用户意图的元信息具象化为对应的状态每个元信息对应一个状态。状态分为主状态和与主状态对应的子状态。每个主状态和子状态都拥有转移动作、迁移的新状态和停滞条件。当处于主状态时发生了非法动作,则会转移至子状态,直至给出合法信息才会转移至下一主状态。
[0064] 构建有限状态机模型的步骤如下:
[0065] 根据状态构建状态表;
[0066] 根据状态迁移的触发条件和状态之间的迁移关系构建状态迁移图;
[0067] 当用户意图的元信息通过验证时,迁移到下一主状态。如果没有通过验证,迁移至主状态对应的子状态,并进行检测是否满足停滞条件。如果满足停滞条件,则停滞在子状态,直至用户意图的元信息通过验证。
[0068] 根据状态表和状态迁移图完成有限状态机模型的构建。
[0069] 有限状态机模型可以划分为五个部分:有限个状态的集合,起始状态的集合,终止状态的集合,状态转移条件的集合和状态转移动作的集合。模型中的状态数量是有限的。该模型是闭环的,有利于对用户意图信息进行反复交互。
[0070] 其中,构建有限状态机模型在可编程语言中可以按照以下方式来设计:
[0071] 首先,为状态定义对应的接口,同时定义每个与状态相关的行为为虚函数。将IntendState类作为所有状态的基类。而每个状态设置为子类。每个状态所需的特有信息也会存储在自身的子类中。定义每个状态的转移行为为update(),不同的子类会实现自己的状态转移流程。
[0072] 接着,定义状态机类,进行状态委托。其中,定义一个状态接口成员,用来调用状态接口的虚函数,这些虚函数就会动态地调用具体子状态的相应函数了。
[0073] 在状态机类中,有些状态拥有数据成员,有些状态没有数据成员,可以根据不同的状态存放不同的位置。对于一个没有任何数据成员的状态而言,它唯一的数据成员便是虚表指针。虚表指针为类初始化时初始化的。可以将这些没有数据成员的状态类简化为状态函数,将这些状态函数指针存放在状态机类中,无需额外消耗内存为没有数据成员的状态类构建类对象。
[0074] 其中,对于拥有数据成员的状态类,在每次切换状态时,动态地分配一个新状态,同时清理掉老的状态,可以节约运行内存。
[0075] 实施例2
[0076] 本实施提供了与实施例一对应的系统结构。图4是根据本申请的基于有限状态机的意图分析系统。如图4所示,该系统包括:
[0077] 意图元信息管理模块,部署于可编程控制面,用于获取用户意图信息,拆分用户意图信息成多个用户意图的元信息,提供对于用户意图的元信息的各类操作。用户意图的元信息用于生成相应的状态。
[0078] 有限状态机管理模块,部署于可编程控制面,用于根据用户意图的元信息构建对应的状态及有限状态机模型。
[0079] 有限状态机管理模块还用于当用户意图的元信息通过验证时,迁移到下一主状态;如果没有通过验证,迁移至主状态对应的子状态,并进行检测是否满足停滞条件;如果满足停滞条件,则停滞在子状态,直至用户意图的元信息通过验证。
[0080] 优选的,系统还包括:网络策略配置管理模块,部署于可编程控制面,用于对多个用户意图的元信息解析并形成多个策略,将多个策略整合成完整的策略,根据用户需求对完整的策略解析以进行网络配置,网络配置的数据存储于该模块。网络策略配置管理模块管理节点管理模块和领域管理模块。节点管理模块和领域管理模块分别用于节点元信息数据和其他元信息数据的管理和存储。如图6所示,预设的网络配置信息以Json格式通过网络配置器读取其中的网络配置信息,并将网路配置信息缓存于网络配置管理模块管理的领域管理模块和节点管理模块的缓存器中。同时,网络配置管理模块提供与外部交互的接口。可通过该接口与用户端进行逐步纠正用户意图。该数据缓存的实现可通过C++可编程语言中的unordered_map数据结构来存储,而该数据结构的底层结构为红黑树结构,该设置可以提供较高的查找效率。
[0081] 优选的,系统还包括:意图验证模块,部署于可编程控制面,用于对用户意图信息进行验证或重验证。可选的,意图验证模块以接口方式与有限状态机管理模块进行信息交互。例如:当需要对单个用户意图的元信息进行重验证时,意图验证模块获取有限状态机模块中对应元信息的状态信息进行重验证。
[0082] 本实施例中,意图元信息管理模块通过接口的方式为意图验证模块提供用户意图的元信息,网络策略配置管理模块通过接口的方式为意图验证模块提供网络策略。
[0083] 优选地,意图验证模块设有一特定单元,用于当对某一用户意图的元信息进行更改或重置或验证或重验证时,在该用户意图的元信息对应的状态中进行更改或重置或验证或重验证。
[0084] 上述模块均可部署于可编程交换机的可编程控制面。
[0085] 实施例3
[0086] 本实施例是基于实施例一和二的应用。实现本实施例应用的步骤如下:
[0087] 步骤101、获取用户意图信息,将用户意图信息拆分为若干用户意图的元信息。本实施例的用户意图的元信息为领域、源地址、目的地址、带宽、时延和时段。领域指的是用户所处的区域。源地址指的是区域对应网络的基本配置信息。根据元信息进行网络配置。实现方式可以在可编程语言中进行设置。格式如下:Domain‑>{bandwidth, link‑>{node, timer}}
[0088] 其中,domain表示领域,bandwidth表示该领域的带宽限制,link表示领域内的链路信息,链路信息包含了节点信息node和时间戳信息timer,链路的时延元信息和时段元信息则可以通过时间戳信息timer来计算得出。
[0089] 步骤102、对各用户意图的元信息进行解析,形成网络策略。
[0090] 步骤103、根据用户意图的元信息构建对应的状态及有限状态机模型。步骤1031、根据用户意图的元信息建立状态,根据状态构建对应的状态表。具体地,定义状态迁移的触发条件以及状态之间的迁移关系,再构建状态表。状态表如表1所示。
[0091] 表1 状态表
[0092]
[0093] 状态表包括主状态名称、转移动作、子状态、主状态说明和停滞条件。转移动作,也就是触发转移的条件。子状态对应主状态建立的。区域询问这一主状态伴随有区域错误提示和服务询问这两子状态。该主状态无停滞条件。处于区域询问主状态时,当区域非法时,迁移至区域错误提示子状态,当区域合法时,迁移至服务询问子状态。该主状态用于询问要访问的区域。
[0094] 步骤1032、根据状态表构建状态迁移图。如图7所示,当处于区域询问主状态区域合法时,迁移到下一服务询问主状态;如果区域非法,迁移至区域询问主状态对应的区域错误提示子状态,并进行检测是否满足停滞条件;区域询问主状态不停滞,待区域合法,进入服务询问主状态。
[0095] 步骤1033、根据状态表及状态迁移图构建有限状态机模型。如图8所示,有限状态机模型中的主状态均有主状态说明、转移条件、子状态等。构建有限状态机模型后,根据模型进行逐步分析用户意图。
[0096] 本发明提供了一种基于有限状态机的意图分析方法和系统,与现有的意图分析方法相比较,一方面提高了用户意图信息的重验证效率,本发明的有限状态机模型可以将用户意图的元信息分阶段进行验证,每个阶段互不干扰。另一方面,一定程度上降低了代码内聚性,减少了维护难度,相对传统的意图分析方法,基于状态机模式只需要对单个状态进行修改而不需要对整体结构进行修改便可以满足需求的变化。
[0097] 以上的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。