一种基于状态机的协议构造方法,通过分析协议的语法、语义和时序,将协议抽象为一组服务和状态,每一种服务对应一个基本的网络功能单元,每一种状态对应协议逻辑运行所处的阶段,通过状态机模型对协议的逻辑过程进行描述,生成状态转移表,根据生成的状态转移表,控制各个服务的运行,由此动态地构造协议实例并控制其运行。相对于传统的协议构成方法,可以降低协议部署、维护的复杂性和成本,提高其灵活性和扩展性,使协议发展可以动态地适应应用需求的变化。
【技术实现步骤摘要】
本专利技术属于计算机网络
,为动态地生成网络通信协议提供方法,为。
技术介绍
网络协议定义为计算机网络中进行数据交换而建立的规则、标准或约定的集合。网络协议的构造是基于具体应用的需求和网络的条件。目前广泛应用的协议是TCP/IP协议族,其中协议的构造方法主要是根据需求手工设计并实现协议,采用静态部署方式。这种方法针对某种特定的网络和应用,可以设计出高性能的协议,但是开发周期长、费用高、部署复杂,而且维护的费用也很昂贵。当应用需求发生变化时,协议无法动态地调整以适应需求的扩展。
技术实现思路
为了克服传统协议构造方法开发周期长、维护难度大的不足,本专利技术提供,该方法不仅简化协议的构造过程,而且提供一种通用的协议构造及动态部署方法,可以让协议动态地适应应用需求的变化。本专利技术的技术方案为,分析协议的语法、语义和时序,所述语法指数据与控制信息的结构或格式,语义指需要发出何种控制信息,完成何种动作以及做出何种响应,时序指事件实现顺序的详细说明;将协议抽象为一组服务和状态,每一种服务对应一个基本的网络功能单元,每一种状态对应一个协议逻辑运行所处的阶段,抽象出服务和状态后,对协议的状态变迁情况进行分析,得到状态变迁条件,并将状态变迁条件抽象为信号,运用状态机模型对协议进行形式化描述,对于无状态变迁的协议,使用一个统一的状态机描述;对于存在状态变化的协议,根据其规范标准进行描述;对于构造的新协议,根据其需求分析并构建该协议所使用的基本数据和信息的结构,定义各个信息所需要完成的动作、做出的响应,以及各个状态间的基本时序,从而对该协议进行形式化描述;最后,根据描述的状态机模型动态地构造协议实例并控制其运行将协议的状态机模型转换为状态转移表。状态转移表包含四个属性,分别为当前状态、输入信号、跳转状态和执行的服务,每一个状态转移对应一组四个属性,所述属性的内容为上述抽象得到的服务、状态和信号,属性的对应关系根据逻辑过程和状态变迁条件确定;构造协议过程中,当协议处于状态转移表中的当前状态并收到对应的输入信号,则改变自己的当前状态为对应的跳转状态,同时调用对应执行的服务,即协议的下一状态和所调用的服务取决于当前状态和输入信号,由此动态构造协议实例,并控制其运行。状态机模型的形式化描述如下,其中Q代表抽象出来的状态的有限集合、S代表抽象出来的服务的有限集合、2代表抽象出的信号的有限集合、T代表状态转移的对应函数、S代表服务执行的对应函数Q= {q0, q” q2, qn}是有限状态集合;Σ = { σ 1; σ 2,σ 3,…,σ J是有限输入信号集合;S=Is1, s2, S3, , sr}是有限服务集合;T :QX 2->2Q是状态转移函数;F :QX 2->S是执行服务函数;q(leQ是初始状态; T(q, o)=a表示当进入状态q,并得到输入信号为σ时则进入下一状态a;F(q, σ)=8表示当进入状态q,并得到输入信号为σ时则执行服务s ;当输入串为{ σ工,O2,O3,..., O J 时,设 T(q。,O ^=Q1, T (q1; σ 2)=q2, ...,T(q「l, σ ^qi,…,T (Qlri, σ η) =qn,这时的执行服务序列为 F (q0, σ J,F (q” σ 2),· · ·,F (q^, σ ),· · ·,F (qn_1; σ η)。对于状态变迁需要执行多个服务的情况,将抽象出的服务保存于一个服务队列中,对服务队列中的每个服务设置其优先等级,当状态变迁时根据优先级依次执行服务,具有最高优先级的服务最先执行。本专利技术的有益效果是,简化协议的构造过程,降低协议部署、维护的复杂性,可以让协议动态地适应应用需求的变化。传统的协议构造方法建立在层次型网络的基础上,是针对某种特定的网络或应用,经过专门的标准化组织讨论制定标准,再通过编码实现,最后部署到实际网络环境中。传统的协议构造方法开发周期比较长,费用比较高。随着新增技术和网络需求层出不穷,新增的功能不能安装在特定的层次上,需要不同层次通过复杂机制协调完成,甚至需要增加层次,这就给新协议的部署带来了很大的困难,而且很难避免功能上的冗余。当对协议进行维护时,需要对相关联的协议同步维护,复杂性较高。本专利技术基于状态机的构造方法,首先将网络中的基本功能抽象成服务,避免以后功能上的冗余,并且隐藏了实现的技术细节。再根据协议的语法、语义、时序,建立相应的状态机模型,构造协议的过程即建立状态机模型的过程,开发周期短,费用低。网络环境中协议总是根据状态机模型动态地运行。当应用需求发生变化时,只需要对相应的状态机模型进行修改,而不需要对网络环境中的具体实现部分进行修改,降低了协议部署、维护的复杂性。附图说明图I是本专利技术无状态变迁协议的状态机模型示意图。图2是本专利技术建立连接的状态机模型示意图。图3是本专利技术协议构造的流程图。具体实施例方式如图3所示,本专利技术方法首先将协议的逻辑过程进行抽象,生成不同的服务和状态,抽象协议逻辑过程是指分析协议的语法、语义和时序,所述语法指数据与控制信息的结构或格式,语义指需要发出何种控制信息,完成何种动作以及做出何种响应,时序指事件实现顺序的详细说明。将协议抽象为一组服务和状态,每一种服务对应一个基本的网络功能单元,例如分片、加密、流量控制等;每一种状态对应协议逻辑运行所处的阶段。抽象出服务和状态后,对协议的状态变迁情况进行分析,得到状态变迁条件并进一步抽象为信号。根据这些抽象出的元素,运用状态机模型,对协议的逻辑过程进行描述。状态机模型的形式化描述如下Q= {q0, q” q2, · · · qn}是有限状态集合;Σ = { σ 1; σ 2,σ 3,…,σ J是有限输入状态集合;S=Is1, S2, S3, , sr}是有限服务集合;T :QX 2->2Q是状态转移函数;F :QX 2->S是执行服务函数;q(leQ是初始状态。其中Q代表抽象出来的状态的有限集合、S代表抽象出来的服务的有限集合、Σ代表抽象出的信号的有限集合、T代表状态转移的对应函数、S代表服务执行的对应函数,T(q, σ )=a表示当进入状态q,并得到输入信号为σ时则进入下一状态a。F (q, σ ) =s表示当进入状态q,并得到输入信号为σ时则执行服务S。当输入串为{0ι,σ 2) σ 3, . . . , σ J时,设 T(q0, ο ^=Q1, T (q1; σ 2) =q2, ..., , σ ^=Qi,,T(qn_1, on)=qn。这时的执行服务序列为 F (Qo> ο I),F (Qd ο 2),· · ·,F (Qi-d o i),· · ·,F (qn_i,o n)。在形式化描述的基础上,生成状态转移表。状态转移表包含四个属性,分别为当前状态、输入信号、跳转状态、所执行的服务。运行过程中当协议处于状态转移表中的当前状态并收到对应的输入信号,便改变自己的当前状态为跳转状态,同时调用对应服务。协议的下一状态和所调用的服务取决于当前状态和输入信号。对于某个状态需要执行多个服务的情况,使用一个服务列表保存需要执行的服务。状态发生改变时依次执行每个服务。根据生成的状态转移表,控制各个服务的运行,由此动态构造协议实例,并本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于状态机的协议构造方法,其特征是分析协议的语法、语义和时序,所述语法指数据与控制信息的结构或格式,语义指需要发出何种控制信息,完成何种动作以及做出何种响应,时序指事件实现顺序的详细说明;将协议抽象为一组服务和状态,每一种服务对应一个基本的网络功能单元,每一种状态对应一个协议逻辑运行所处的阶段,抽象出服务和状态后,对协议的状态变迁情况进行分析,得到状态变迁条件,并将状态变迁条件抽象为信号,运用状态机模型对协议进行形式化描述,对于无状态变迁的协议,使用一个统一的状态机描述;对于存在状态变化的协议,根据其规范标准进行描述;对于构造的新协议,根据其需求分析并构建该协议所使用的基本数据和信息的结构,定义各个信息所需要完成的动作、做出的响应,以及各个状态间的基本时序,从而对该协议进行形式化描述;最后,根据描述的状态机模型动态地构造协议实例并控制其运行 将协议的状态机模型转换为状态转移表。状态转移表包含四个属性,分别为当前状态、输入信号、跳转状态和执行的服务,每一个状态转移对应一组四个属性,所述属性的内容为上述抽象得到的服务、状态和信号,属性的对应关系根据逻辑过程和状态变迁条件确定;构造协议过程中,当协议处于状态转移表中的当前状态并收到对应的输入信号,则改变自己的当前状态为对应的跳转状态,同时调用对应执行的服务,即协议的下一状态和所调用的服务取决于当前状态和输入信号,由此动态构造协议实例,并控制其运行。2.根据权利要...
【专利技术属性】
技术研发人员:沈军,范文,彭殷路,韩涛,
申请(专利权)人:东南大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。