连接管理方法、系统、计算机设备和存储介质与流程

文档序号:32221797发布日期:2022-11-16 10:03阅读:41来源:国知局
1.本技术涉及通信
技术领域
:,特别是涉及一种连接管理方法、系统、计算机设备和存储介质。
背景技术
::2.网络传输技术充分利用不同信道的传输能力构成一个完整的传输系统,使信息得以可靠传输。连接管理(connectionmanagement,cm),是网络传输系统中的重要组成部分,用以提供建立连接过程中的一些事件,用户在建立连接过程中依靠这些事件可以知道当前连接处于什么阶段以便后续做相应处理。3.在如今复杂的网络环境下,连接情景复杂,连接数量众多,也有随时面对网络异常以及取消连接的可能,例如在非易失性内存主机控制器接口规范(non-volatilememoryexpress,简称nvme)中,连接过程就包括对管理队列和输入输出队列(io队列)的建立,其在创建连接过程中,面临的场景复杂,每一个步骤都有可能发生错误需要做相应错误处理,而cm只是单纯提供了连接所处阶段一些事件,并不能把整个建立连接的过程串起来,所以要实现对连接过程各种突发情况的应对是一个复杂的任务。技术实现要素:4.基于此,提供一种方便实现及维护的连接管理方法、系统、计算机设备和存储介质。5.一方面,提供一种连接管理方法,包括:6.获取管理队列的激励参数;7.根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令;8.执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为第二管理队列状态;9.获取输入输出队列的激励参数;10.根据所述输入输出队列的激励参数以及状态机的第一输入输出队列状态,从所述状态转换表中确定对应的第二输入输出队列状态以及输入输出队列操作指令;11.执行所述输入输出队列操作指令,以将输入输出队列绑定在创建完成的管理队列下,并将所述状态机的第一输入输出队列状态转换为对应的第二输入输出队列状态。12.在其中一个实施例中,所述状态机包括一级状态机;13.所述根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令,包括:14.根据所述管理队列的激励参数以及所述一级状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令。15.在其中一个实施例中,所述状态机还包括二级状态机;16.所述根据所述输入输出队列的激励参数以及状态机的第一输入输出队列状态,从所述状态转换表中确定对应的第二输入输出队列状态以及输入输出队列操作指令,包括:17.根据所述管理队列的激励参数以及所述二级状态机的第一输入输出队列状态,从所述状态转换表中确定对应的第二输入输出队列状态以及输入输出队列操作指令。18.在其中一个实施例中,在获取管理队列的激励参数之前,还包括:19.获取管理建立的激励参数;20.根据所述管理建立的激励参数以及状态机的第一管理建立状态,从预设的状态转换表中确定对应的第二管理建立状态以及管理建立操作指令;21.执行所述管理建立操作指令,以实现连接管理的建立,并将所述状态机的第一管理建立状态转换为第二管理建立状态。22.在其中一个实施例中,所述根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令,以及根据所述输入输出队列的激励参数以及状态机的第一输入输出队列状态,从所述状态转换表中确定对应的第二输入输出队列状态以及输入输出队列操作指令,还包括:23.判断所述管理队列的激励参数或所述输入输出队列的激励参数是否成立;若成立,则确定出对应的第二管理队列状态以及管理队列操作指令,或对应的第二输入输出队列状态以及输入输出队列操作指令。24.在其中一个实施例中,所述根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令,以及根据所述输入输出队列的激励参数以及状态机的第一输入输出队列状态,从所述状态转换表中确定对应的第二输入输出队列状态以及输入输出队列操作指令,还包括:25.判断所述管理队列的激励参数或所述输入输出队列的激励参数是否为异常类型;若是,则确定出对应的第二管理队列状态或对应的第二输入输出队列状态为特定状态,对应的管理队列操作指令或输入输出队列操作指令为特定操作指令。26.在其中一个实施例中,在输入输出队列绑定在创建完成的管理队列下之后,还包括:27.获取断开连接的激励参数;28.根据所述断开连接的激励参数,从预设的状态转换表中确定对应的第三管理队列状态以及断开连接指令;29.执行所述断开连接指令,并将所述状态机的第二管理队列状态转换为第三管理队列状态。30.另一方面,提供一种连接管理系统,所述系统包括:31.激励参数获取模块,用于获取激励参数,所述激励参数包括管理队列的激励参数或输入输出队列的激励参数;32.状态机模块,用于根据所述激励参数以及状态机的当前状态,从预设的状态转换表中确定对应的操作指令以及第二状态,所述操作指令包括管理队列操作指令或输入输出队列操作指令,所述第二状态包括第二管理队列状态或第二输入输出队列状态;33.执行模块,用于执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为对应的第二管理队列状态,或,执行所述输入输出队列操作指令,以将输入输出队列绑定在创建完成的管理队列下,并将所述状态机的第一输入输出队列状态转换为对应的第二输入输出队列状态。34.再一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。35.还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法的步骤。36.上述连接管理方法、装置、计算机设备和存储介质,通过状态机的状态转换表分别建立在连接过程中的管理队列创建以及输入输出队列创建所面临的各种状况及应对方案,简化了连接过程的实现以及对复杂事件的应对过程。附图说明37.图1为一个实施例中连接管理方法的应用环境图;38.图2为一个实施例中连接管理方法的流程示意图;39.图3为一个实施例中状态转换表示意图;40.图4为一个实施例中cm建立阶段的流程示意图;41.图5为一个实施例中协议层建立阶段开始的流程示意图;42.图6为一个实施例中协议层建立阶段的流程示意图;43.图7为一个实施例中连接管理系统的模块示意图;44.图8为一个实施例中计算机设备的内部结构图。具体实施方式45.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。46.本技术提供的连接管理方法,可以应用于如图1所示的应用环境中。其中,请求端102通过网络与目标端104通过网络进行通信。且在发送数据前,相互通信的双方需要建立一条连接,在发送数据后,通信双方需要断开连接,因此连接管理是实现双方可靠传输的保证。47.请求端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,目标端104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。48.cm在传输技术建立连接的过程中有着举足轻重的地位,它在驱动侧实现了一些事件,用户在建立连接过程中依靠这些事件可以知道当前连接处于什么阶段以便后续做相应处理,所述的传输技术包括rdma(remote-directmemoryaccess,远程内存直接访问)。49.rdma技术作为一种新兴网络传输技术的优势,基本原理与传统的tcp技术(transmissioncontrolprotocol传输控制协议)类似,也有建立连接的过程。50.rdma技术允许从一个主机的内存直接访问另一个主机的内存,其建立连接的过程相比于传统传输技术有较大区别,除连接建立阶段外,还存在协议层建立阶段,其在创建连接过程中,面临的场景复杂,每一个步骤都有可能发生错误需要做相应错误处理。51.在一个实施例中,如图2所示,提供了一种连接管理方法,包括以下步骤:52.步骤201,连接管理器获取管理队列的激励参数。53.其中,管理队列的激励参数可看作管理队列创建过程中的事件,不同的事件代表不同管理队列的激励参数。54.示例性地说明,在对端网络异常或者掉电的事件发生时,可以视为获取conn_disconnect这一激励参数。55.步骤202,根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令。56.其中,所述状态转换表封装有为状态机定义的状态,激励参数以及操作指令(或者处理函数),状态转换表为一个二维数组表,如图3,行元素代表可能存在的管理队列状态,在某一时刻,状态机处于其中的一种管理队列状态下,该管理队列状态即为第一管理队列状态,列元素表示管理队列创建中发生的不同情景(即获取的不同的管理队列的激励参数),由行元素、列元素共同确定某一结构体数组,该结构体数组的元素包括:要跳转的下一个状态(即第二管理队列状态)及管理队列操作指令。57.其中,所述管理队列操作指令是完成该状态转换所需的必要操作指令的集合,由传输技术本身所决定。58.步骤203,连接管理器执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为第二管理队列状态。59.示例性地说明,在第一管理队列状态为“初始状态”时,获取到“创建管理队列的请求”这一管理队列的激励参数,确定出管理队列操作指令为“准备资源,通知请求端已收到连接请求,创建管理队列”、第二管理队列状态为“创建完成”,则执行该管理队列操作指令,并将状态机的第一管理队列状态“初始状态”转换为第二管理队列状态“创建完成”。60.步骤204,连接管理器获取io队列的激励参数。61.其中,io队列(即io队列)的激励参数可看作io队列创建过程中的事件,不同的事件代表不同io队列的激励参数。62.步骤205,根据所述io队列的激励参数以及状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令。63.可以理解的是,在状态转换表中,行元素还具有代表可能所处的io队列状态的元素,在某一时刻,状态机处于某一io队列状态下,该io队列状态即为第一io队列状态,列元素还具有代表io队列创建中发生的不同情景(即可视为获取的不同的io队列的激励参数)的元素,行元素、列元素共同确定某一结构体数组,该结构体数组的元素包括:要跳转的下一个状态(即第二io队列状态)以及为实现这个状态跳转所需要的一些操作(即io队列状态操作指令)。64.步骤206,连接管理器执行所述io队列操作指令,以将io队列绑定在创建完成的管理队列下,并将所述状态机的第一io队列状态转换为对应的第二io队列状态。65.上述连接管理方法中,针对协议层建立过程的管理队列创建以及io队列创建,采用状态机实现整个过程的状态跳转,将协议层建立过程中的相关情景以及状态封装在状态转换表中,相比于传统代码编写方式来说,简化了程序的实现方式,代码数量减少,逻辑更清晰;后期只需维护二维数组中的内容就可以实现对新场景任务的添加。66.应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。67.在实际连接过程中,所面临的情景更为复杂,示例性地说明,第一管理队列状态与第二管理队列状态具有继承关系,在一个实施例中,具有三个管理队列状态:68.状态1:空闲‘断开’;69.状态2:建立连接中;70.状态3:已连接。71.同时,存在三种可能出现的事件(即管理队列的激励参数):72.激励参数1:建立连接请求;73.激励参数2:连接建立完成;74.激励参数3:断开链接请求。75.状态机在初始时刻以状态1:空闲‘断开’为第一管理队列状态,获取到激励参数1:建立连接请求,执行相应的管理队列操作指令1“准备资源,通知请求端已收到连接请求”,并将第一管理队列状态转换为第二管理状态,即,将状态1:空闲‘断开’转换为状态2:建立连接中;76.之后,“状态2:建立连接中”作为新的第一管理队列状态,在获取到激励参数2:连接建立完成时,执行对应的管理队列操作指令2“通知用户可以传输命令,准备发命令的资源”;并将新的第一管理队列状态转换为新的第二管理队列状态“状态3:已连接”。77.同上,在获取到激励参数3:断开链接请求后,执行管理队列操作指令3“断开连接,销毁资源”,状态机的第一管理队列状态“状态3:已连接”转换为“状态1:空闲‘断开’”。78.在一个实施例中,所述状态机为多级状态机,其包括一级状态机,所述一级状态机用于指示管理队列状态跳转以及提供为实现状态转换的操作指令;79.所述根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令,包括:80.根据所述管理队列的激励参数以及所述一级状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令。81.采用一级状态机,单独实现管理队列创建过程的状态转换以及记录管理队列创建过程的当前状态。82.在一个实施例中,所述状态机还包括二级状态机;83.所述根据所述io队列的激励参数以及状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令,包括:84.根据所述管理队列的激励参数以及所述二级状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令。85.采用二级状态机,单独实现io队列创建过程中的状态转换以及记录io队列创建过程中的当前状态。86.在上述实施例中,采用多级状态机的设置分别记录管理队列创建的当前状态以及io队列创建的当前状态,一级状态机和二级状态机采用同一状态转换表,实现方式简单,在后期的维护中,仅需对一个状态转换表进行元素增加,即可实现新场景的应用。87.在rdma传输技术中,建立连接有两个阶段,包括协议层建立阶段,以及协议层建立阶段之前进行的cm建立阶段,所述cm建立阶段作用在于解析ip、路由以及发起连接请求等,据此建立rdma传输,现有实现cm建立阶段是采用传统的代码编写实现。88.在一个实施例中,采用状态机实现cm建立阶段的状态转换。89.在获取管理队列的激励参数之前,还包括:90.获取管理建立的激励参数;91.根据所述管理建立的激励参数以及状态机的第一管理建立状态,从预设的状态转换表中确定对应的第二管理建立状态以及管理建立操作指令;92.执行所述管理建立操作指令,以实现管理建立,并将所述状态机的第一管理建立状态转换为第二管理建立状态。93.在上述实施例中,状态机所具有的状态转换表还包括代表当前所处管理建立状态的行元素以及代表管理建立阶段发生的不同情景(即获取的不同的管理建立的激励参数),由行列共同确定结构体数组,该结构体数组的元素包括:要跳转的下一管理建立状态(即第二管理建立状态)以及为实现状态跳转所需要进行的管理建立操作指令。94.在上述的实施例中,由状态机完成cm建立阶段的状态转换,可以实现对连接复杂场景的有效把控。95.在一个实施例中,状态机包括一级状态机和二级状态机,所述一级状态机和二级状态机分别用于管理队列的创建以及io队列的创建,且一级状态机和二级状态机同时进行cm建立阶段的状态转换,在管理队列以及io队列创建之前均进行解析ip、路由以及发起连接请求等管理建立操作以建立rdma传输。96.如图4,在一个实施例中,cm建立阶段由初始状态(conn_free)转换至建立完成(established)状态,需执行多个管理建立操作指令,完成多个状态转换。97.示例性地说明,图4中,在初始状态(conn_free)状态下,获取到激励参数(resolve_addr,解析目标ip请求),则连接管理器执行相应的操作,解析目标ip,看网络是否畅通,并跳转至下一管理建立状态:地址已解析(addr_resolved)。98.将addr_resolved状态作为新的第一管理建立状态,在获取到新的激励参数resolve_route(解析路由请求),则连接管理器执行相应的操作,解析路由,看路由有无问题,并跳转至下一管理建立状态:route_resolved(路由已解析)。99.按照上述流程,状态机依次获取激励参数connect(请求连接)、conn_established(连接成立),依次跳转connecting(连接中)状态、connected(已连接)状态。100.值得一提的是,在收到conn_established激励参数时,代表cm建立阶段完成,准备后续发命令。101.如图5,在一个实施例中,状态机(包括一级状态机和二级状态机)经过一些前置准备状态,进入transportable状态表示可以开始协议层建立,一些实施例中,所述前置准备状态可以由cm建立阶段的state_connected状态跳转进入,在transportable状态下,状态机获取到set_conn_type激励参数时,根据消息队列标识为1,判断为管理队列,开始进行管理队列创建,例如在report_login激励参数下,转换至admin_login状态,该过程由一级状态机记录管理队列创建的当前状态,在管理队列创建完成后,二级状态机根据获取到的消息队列标识为0的set_conn_type激励参数时,开始运行io队列创建流程,例如在bind_io_conn激励参数下,转换至io_conn_bound状态。102.其中,一级状态机进入到nvmf_admin_conn状态时,表明管理队列创建完成,nvmf_admin_conn状态为一级状态机正常连接状态下的最后一个状态;103.二级状态机进入到nvmf_io_conn状态时,表明io队列创建并绑定完成nvmf_io_conn状态为二级状态机正常连接下的最后一个状态。104.在一个实施例中,所述根据激励参数以及当前状态从预设的状态转换表中确定对应的下一状态以及为实现向下一状态转换而进行的操作指令,还包括判断获取的激励参数是否成立,若成立,则确定出对应的第二状态以及操作指令,并完成状态机的状态转换以及执行操作指令。105.可以理解的是,状态机通过判断条件是否成立来确定是否要进行状态跳转。106.示例性地说明,在cm建立阶段中,处于conn_free状态时,若获取的激励参数不是resolve_addr,则该激励参数不成立,状态机仍保持状态。107.在协议层建立阶段,处于transportable状态的一级状态机不会因获取到set_conn_type(false)激励参数而转换到admin_conn状态,而是保持当前状态。同理,处于transportable状态的二级状态机不会因获取到set_conn_type(true)激励参数而转换到io_conn状态。108.在一个实施例中,109.所述根据激励参数以及当前状态从预设的状态转换表中确定对应的下一状态以及为实现向下一状态转换而进行的操作指令,还包括:判断激励参数是否是异常类型;若是,则确定出对应的下一状态为特定状态,对应的所要执行的操作指令为特定操作指令。110.示例性地说明,在图4-图6中,每当对端网络异常或者掉电的事件发生时,即可视作获取到该异常类型的激励参数conn_disconnect,连接管理器执行统一操作:断开连接并销毁资源,状态机转换至特定状态:disconnected。其中,在上述实施例中,激励参数conn_disconnect可以是被动发生,不受人为控制。111.在一个实施例中,状态转换表封装的操作指令还可以包括记录状态转换日志,方便管理人员维护。112.示例性地说明,在一个实施例中,连接管理器通过获取到的断开连接的激励参数,开始运行断开程序。113.示例性地说明,包括:114.获取断开连接的激励参数;115.根据所述断开连接的激励参数,从预设的状态转换表中确定对应的第三管理队列状态以及断开连接指令;116.执行所述断开连接指令,以完成断开操作,并将所述状态机的第二管理队列状态转换为第三管理队列状态。117.如图6,其中,断开连接的激励参数可以视作主动的激励参数conn_disconnect,由管理人员操作产生,一级状态机在nvmf_admin_conn状态下获取该激励参数conn_disconnect,转换为admin_conn_disc_pending状态,所述执行所述断开连接指令包括将管理队列搁置,等待io队列断开完成再销毁管理队列资源。二级状态机在nvmf_io_conn状态下获取该激励参数conn_disconnect,则断开连接并销毁资源,并通知管理队列取消绑定关系。118.可以理解的是,在上述实施例中,激励参数可以是来自请求端,也可以是来自目的端,即,事件可以发生在请求端或目的端。119.在一个实施例中,如图7所示,提供了一种连接管理系统,包括:激励参数获取模块701、状态机模块702和执行模块703,其中:120.激励参数获取模块701,用于获取激励参数,所述激励参数包括管理队列的激励参数或io队列的激励参数。121.状态机模块702,用于根据所述激励参数以及状态机的当前状态,从预设的状态转换表中确定对应的操作指令以及第二状态,所述操作指令包括管理队列操作指令或io队列操作指令,所述第二状态包括第二管理队列状态或第二io队列状态。122.执行模块703,用于执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为对应的第二管理队列状态,或,执行所述io队列操作指令,以将io队列绑定在创建完成的管理队列下,并将所述状态机的第一io队列状态转换为对应的第二io队列状态。123.在上述的连接管理系统中,针对协议层建立过程的管理队列创建以及io队列创建,采用状态机实现整个过程的状态跳转,将协议层建立过程中的相关情景以及状态封装在状态转换表中,有效在面对协议层建立连接过程中场景复杂的情况下,实现代码简洁的特点,以及可读性强的特点,方便代码维护。124.在一个实施例中,所述状态机模块702包括一级状态机和二级状态机,所述一级状态机用于根据所述管理队列的激励参数以及所述一级状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令。125.所述二级状态机用于根据所述管理队列的激励参数以及所述二级状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令。126.在上述实施例中,采用多级状态机,分别记录管理队列创建过程的不同状态以及io队列创建过程中的不同状态,且两级状态机共用同一状态转换表,后期仅需对状态转换表进行维护,以及调用操作指令就可以实现对新场景任务的添加。127.在一个实施例中,所述激励参数还包括用于代表cm建立阶段的管理建立的激励参数,所述状态机模块702根据所述管理建立的激励参数以及状态机的第一管理建立状态,从预设的状态转换表中确定对应的第二管理建立状态以及管理建立操作指令;所述执行模块703用于执行所述管理建立操作指令,以实现连接管理的建立,并将所述状态机的第一管理建立状态转换为第二管理建立状态。128.在一个实施例中,所述状态机模块702还用于判断激励参数是否成立,若成立,则确定出对应的第二状态以及操作指令。129.示例性地说明,在一级状态机当前状态为state_a,状态转换表中封装有在state_a向第二管理队列状态state_b转换的条件,在所获得的激励参数不满足该条件时,一级状态机保持当前状态。130.在一个实施例中,所述激励参数还包括断开连接的激励参数,所述状态机模块702根据所述断开连接的激励参数,从预设的状态转换表中确定对应的第三管理队列状态以及断开连接指令,所述执行模块703执行所述断开连接指令,并将所述状态机的第二管理队列状态转换为第三管理队列状态。131.上述连接管理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。132.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种连接管理方法。133.本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。134.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:135.步骤a,获取管理队列的激励参数;136.步骤b,根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令;137.步骤c,执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为第二管理队列状态;138.步骤d,获取io队列的激励参数;139.步骤e,根据所述io队列的激励参数以及状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令;140.步骤f连接管理器执行所述io队列操作指令,以将io队列绑定在创建完成的管理队列下,并将所述状态机的第一io队列状态转换为对应的第二io队列状态。141.上述连接管理方法中,针对协议层建立阶段的管理队列创建以及io队列创建,采用状态机实现整个过程的状态跳转,将协议层建立过程中的相关情景以及状态封装在状态转换表中,相比于传统代码编写方式来说,简化了程序的实现方式,代码数量减少,逻辑更清晰;后期只需维护二维数组中的内容就可以实现对新场景任务的添加。142.在一个实施例中,提供了一种计算机设备,其处理器执行计算机程序时还实现以下步骤:143.根据所述管理队列的激励参数以及所述一级状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令。144.根据所述管理队列的激励参数以及所述二级状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令。145.在上述实施例中,采用多级状态机分别记录管理队列和io队列的创建状态,两级状态机共用同一状态转换表,为代码调试提供了便利。146.在一个实施例中,所述计算机设备通过状态机完成cm建立阶段。147.示例性地说明,其处理器执行计算机程序时还实现以下步骤:148.获取管理建立的激励参数;149.根据所述管理建立的激励参数以及状态机的第一管理建立状态,从预设的状态转换表中确定对应的第二管理建立状态以及管理建立操作指令;150.执行所述管理建立操作指令,以实现连接管理的建立,并将所述状态机的第一管理建立状态转换为第二管理建立状态151.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述连接管理方法,包括以下步骤:152.步骤a,获取管理队列的激励参数;153.步骤b,根据所述管理队列的激励参数以及状态机的第一管理队列状态,从预设的状态转换表中确定对应的第二管理队列状态以及管理队列操作指令;154.步骤c,执行所述管理队列操作指令,以创建管理队列,并将所述状态机的第一管理队列状态转换为第二管理队列状态;155.步骤d,获取io队列的激励参数;156.步骤e,根据所述io队列的激励参数以及状态机的第一io队列状态,从所述状态转换表中确定对应的第二io队列状态以及io队列操作指令;157.步骤f连接管理器执行所述io队列操作指令,以将io队列绑定在创建完成的管理队列下,并将所述状态机的第一io队列状态转换为对应的第二io队列状态。158.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。159.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。160.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1