发布信息

树形表的建立方法、装置和存储介质及电子设备与流程 专利技术说明

作者:admin      2023-07-26 11:29:55     774



电子通信装置的制造及其应用技术1.本技术涉及智慧家庭技术领域,具体而言,涉及一种树形表的建立方法、装置和存储介质及电子设备。背景技术:2.很多物联网智能终端支持多种连接方式,例如wifi,蓝牙,zigbee等,不同的连接上运行了不同的协议。例如,wifi连接通信一般运行ip、tcp、udp、ssl、mqtt、coap、http/https以及部分用户自定义的协议,如图2所示。而蓝牙协议有l2cap,gatt,gap,rfcomm,serialport等协议,如图3所示。3.协议之间是分层和嵌套的。例如在wifi通信协议栈上传输https数据,应用层关注的是https协议的数据,但是连接管理组件(此文“组件”指具有一定功能的软件模块)需要管理的数据最外层封装的是ip协议(这里不关系介质访问控制层和物理层协议),其次是tcp层或udp层协议,然后依次是ssl和http协议。4.系统运行时,数据传输有接收数据和发送数据两个方向。连接管理组件从远程接收数据包,通过分析数据内容进行逐层协议解析(即解包,去掉底层的协议头),同时记录协议的嵌套关系,以备构造发送方向的数据(逐层添加协议头)。发送方向的数据包如果封装了错误的协议,少封装了协议,多封装了协议,协议封装顺序错误都将导致通信失败。5.通常用栈的方式协议记录嵌套关系,用来记录的数据结构一般是先进先出(fifo)队列或一个线性数组。完成记录后会生成一个能够找到该记录的标签,标签一般是栈对象的指针或引用。6.在系统运行过程中,一个应用层程序可能会用到不同层次的多个协议,因此连接管理组件在发给应用层程序每个数据包的同时要传给该应用一个和该数据包对应的标签。当应用层程序需要回复数据包(即发送数据)时,需要将标签一并发给连接管理组件,连接管理组件可以通过该标签找到回复数据时封装数据包用到的协议嵌套关系(栈)从而完成发送数据的封装。7.相关技术中系统对数据的封装和解封装至少存在如下问题:8.1、在系统运行过程中,不断有数据报文被接收,新的协议记录栈也不断被创建出来,由于没有统一的管理手段,部分协议记录栈重复被记录。9.2、由于底层协议基本都是一样的,如果每个协议记录栈都保存完整的协议嵌套关系,底层协议会被多个协议记录栈重复保存,这样会浪费比较多的内存空间。10.3、当某个端口或某层协议链接出现错误时,如果要通知应用层程序断开的事件或重新建立连接,需要找到所有与该错误相关的协议记录栈,需要花费比较多的时间去遍历或查询这些协议记录栈。11.针对相关技术中,部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题,尚未提出有效的解决方案。技术实现要素:12.本技术实施例提供了一种树形表的建立方法、装置和存储介质及电子设备,以至少解决相关技术中,部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题。13.根据本技术实施例的一个实施例,提供了一种树形表的建立方法,包括:14.解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。15.在一个示例性实施例中,根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系之前,所述方法还包括:确定用于传输所述第一数据的第一端口;将所述第一端口和所述第一端口对应的第一协议抽象为通道对象,以及将除所述第一端口对应的第一协议之外的其他第一协议抽象为通道对象;根据多个通道对象确定所述树形表的新的分支中的多个第一子节点。16.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,所述方法还包括:确定每一个第一子节点在所述树形表中对应的层级;确定每一个层级对应的段数据,其中,将预设长度的整数进行分段,以得到多个段数据,每一个段数据用于标识所述树形表的一个层级;根据每一个层级对应的段数据确定所述每一个第一子节点的第一索引值。17.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,所述方法还包括:确定用于封装所述第一数据的最内层协议,其中,所述多个第一协议包括:所述最内层协议;从所述多个第一子节点中确定所述最内层协议对应的第三子节点;将解析后的第一数据和所述第三子节点对应的第二索引值发送至所述应用程序。18.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,所述方法还包括:获取所述应用程序待发送的第二数据,以及获取用于指示树形表中的第四子节点的第三索引值;根据所述第三索引值对应的第四子节点和所述树形表确定用于封装所述第二数据的多个第二协议,以及所述多个第二协议的第二协议嵌套关系;基于所述多个第二协议和所述多个第二协议的第二协议嵌套关系封装所述第二数据。19.在一个示例性实施例中,根据所述第三索引值对应的第四子节点和所述树形表确定用于封装所述第二数据的多个第二协议,以及所述多个第二协议的第二协议嵌套关系,包括:确定所述第四子节点到所述树形表的根节点的路径;确定所述路径对应的多个第五子节点,其中,所述多个第五子节点包括:所述第四子节点;根据所述多个第五子节点确定用于封装所述第二数据的多个第二协议,以及根据所述第五子节点的连接关系确定所述多个第二协议的第二协议嵌套关系。20.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,所述方法还包括:确定第二端口存在错误事件或第三协议对应的连接关系存在错误事件的情况下,在所述树形表中确定所述第二端口或者所述第三协议对应的第六子节点;删除所述树形表中的第六子节点,以及所述第六子节点对应的子节点。21.根据本技术实施例的另一个实施例,还提供了一种树形表的建立装置,包括:解析模块,用于解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;确定模块,用于根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;建立模块,用于在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。22.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述树形表的建立方法。23.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的树形表的建立方法。24.在本技术实施例中,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支;本发明实施例中,采用树形结构表管理不同端口及协议之间的嵌关系,通过父节点和子节点之间关系记录协议嵌套关系,采用上述技术方案,解决了部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题,进而节省了系统的内存空间。附图说明25.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。26.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。27.图1是本技术实施例的一种树形表的建立方法的硬件环境示意图;28.图2是现有技术中的wifi协议示意图;29.图3是现有技术中的蓝牙协议示意图;30.图4是根据本技术实施例的树形表的建立方法的流程图;31.图5是根据本技术实施例的树形表的建立方法的示意图;32.图6是根据本技术实施例的树形表的示意图;33.图7是根据本技术实施例的一种树形表的建立装置的结构框图。具体实施方式34.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。35.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。36.根据本技术实施例的一个方面,提供了一种树形表的建立方法。该树形表的建立方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述树形表的建立方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。37.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。38.在本实施例中提供了一种树形表的建立方法,应用于终端设备,图4是根据本技术实施例的树形表的建立方法的流程图,该流程包括如下步骤:39.步骤s402,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;40.步骤s404,根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;41.步骤s406,在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。42.需要说明的是,上述树形表中的任一分支存在预设生命时长,在所述树形表中的任一分支的时长达到所述预设生命时长的情况下,删除所述任一分支。43.通过上述步骤,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支,本发明实施例中,采用树形结构表管理不同端口及协议之间的嵌关系,通过父节点和子节点之间关系记录协议嵌套关系,解决了相关技术中,部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题,进而节省了系统的内存空间。44.在一个示例性实施例中,根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系之前,还需要执行以下步骤:确定用于传输所述第一数据的第一端口;将所述第一端口和所述第一端口对应的第一协议抽象为通道对象,以及将除所述第一端口对应的第一协议之外的其他第一协议抽象为通道对象;根据多个通道对象确定所述树形表的新的分支中的多个第一子节点。45.需要说明的是,本发明实施例将物理端口和逻辑端口,以及端口对应的协议进行统一抽象,都抽象为通道对象,每个通道对象都有接收数据、发送数据的功能。通道之间是可以嵌套的,也就是说,内层通道的数据可以通过外层通道传输,即内层协议数据将被封装到外层协议内传输。通过上述实施例,通过通道抽象,使端口和不同的通信协议管理实现了统一,简化了管理逻辑,方便维护属性表。46.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,还需要执行以下步骤:确定每一个第一子节点在所述树形表中对应的层级;确定每一个层级对应的段数据,其中,将预设长度的整数进行分段,以得到多个段数据,每一个段数据用于标识所述树形表的一个层级;根据每一个层级对应的段数据确定所述每一个第一子节点的第一索引值。47.本发明实施例,对树形表中的每个节点进行编码,该编码可以准确的描述节点在树中的位置。以采用16bit长度为例,分为4段,每段4bit,一个段对应图中的一个层次,每段的值为节点在该层次中自左向右的次序。4个段自上向下依次对应层次1~层次4。根节点地址固定为0。具体的,“0x1000”、“0x2000”、“0x3000”、……、“0xf000”用于标识层次1中节点的编码;“0x1100”、“0x1200”、“0x1300”、……、“0x1f00”用于标识层次2中“0x1000”对应的节点下的子节点的编码;“0x2200”、“0x2200”、“0x2300”、……、“0x2f00”用于标识层次2中“0x2000”对应的节点下的子节点的编码;“0x3300”、“0x3200”、“0x3300”、……、“0x3f00”用于标识层次2中“0x3000”对应的节点下的子节点的编码;“0xff00”、“0xf200”、“0xf300”、……、“0xff00”用于标识层次2中“0xf000”对应的节点下的子节点的编码;“0x1110”、“0x1120”、“0x1130”、……、“0x11f0”用于标识层次3中“0x1100”对应的节点下的子节点的编码;“0x1210”、“0x1220”、“0x1230”、……、“0x12f0”用于标识层次3中“0x1200”对应的节点下的子节点的编码;“0x1310”、“0x1320”、“0x1330”、……、“0x13f0”用于标识层次3中“0x1300”对应的节点下的子节点的编码;“0xff10”、“0xff20”、“0xff30”、……、“0xfff0”用于标识层次3中“0xff00”对应的节点下的子节点的编码,以此类推。48.需要说明的是,实际使用中根据实际情况,可以采用不同的bit数量编码,而且各段的bit数可以不相同,本发明实施例对此不作限定。49.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,还需要执行以下操作:确定用于封装所述第一数据的最内层协议,其中,所述多个第一协议包括:所述最内层协议;从所述多个第一子节点中确定所述最内层协议对应的第三子节点;将解析后的第一数据和所述第三子节点对应的第二索引值发送至所述应用程序。50.需要说明的是,连接管理组件收到第一数据报文之后,按照封装所述第一数据的协议顺次解析所述第一数据,相当于从根节点沿着某条路径向下逐层前进,当所有的协议都解析完成时到达某层的某个节点(不一定是叶子节点),该节点即为第一数据的终结点,将解析后的第一数据和所述第三子节点对应的第二索引值发送至所述应用程序,以使应用程序处理并生成响应数据,进而应用程序把业务数据和第三子节点对应的第二索引值发送给连接管理组件,连接管理组件根据第二索引值找到对应的第三子节点,然后沿着该第三子节点向根节点的方向顺次进行协议封装,到达根节点即封装完成。51.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,获取所述应用程序待发送的第二数据,以及获取用于指示树形表中的第四子节点的第三索引值;根据所述第三索引值对应的第四子节点和所述树形表确定用于封装所述第二数据的多个第二协议,以及所述多个第二协议的第二协议嵌套关系;基于所述多个第二协议和所述多个第二协议的第二协议嵌套关系封装所述第二数据。52.需要说明的是,在应用程序对其他业务模块发送第二数据的情况下,接收应用程序先连接管理组件发送的第二数据和用于指示树形表中的第四子节点的第三索引值;连接管理组件根据第三索引值找到对应的第四子节点,然后沿着该第四子节点向根节点的方向顺次进行协议封装,到达根节点即封装完成。通过上述实施例,不需要为接收方向的数据报文建立协议记录栈,采用树形结构表管理不同端口及协议之间的嵌关系,通过父节点和子节点之间关系记录协议嵌套关系,解决了相关技术中,部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题,进而节省了系统的内存空间。53.具体地,通过下述方式确定多个第二协议,以及多个第二协议的第二协议嵌套关系:确定所述第四子节点到所述树形表的根节点的路径;确定所述路径对应的多个第五子节点,其中,所述多个第五子节点包括:所述第四子节点;根据所述多个第五子节点确定用于封装所述第二数据的多个第二协议,以及根据所述第五子节点的连接关系确定所述多个第二协议的第二协议嵌套关系。54.在一个示例性实施例中,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支之后,还包括:确定第二端口存在错误事件或第三协议对应的连接关系存在错误事件的情况下,在所述树形表中确定所述第二端口或者所述第三协议对应的第六子节点;删除所述树形表中的第六子节点,以及所述第六子节点对应的子节点。55.本发明实施例中的,某个连接或某层的协议会话出现故障时,确定故障点对应的第六子节点,以及所述节点以下的子节点,由于某个物理连接或某层的协议会话出现故障时,所述第六子节点以及所述第六子节点对应的子节点的通信都受收到影响,因此删除树形表中的第六子节点,以及所述第六子节点对应的子节点,通过上述实施例,准确且快速定位影响范围。解决了相关技术中,当某个端口或某层协议链接出现错误时,如果要通知应用层程序断开的事件或重新建立连接,需要找到所有与该错误相关的协议记录栈,需要花费比较多的时间去遍历或查询协议记录栈。56.为了更好的理解上述树形表的建立方法的过程,以下再结合可选实施例对上述树形表的建立的实现方法流程进行说明,但不用于限定本技术实施例的技术方案。57.在本实施例中提供了一种树形表的建立方法,图5是根据本技术实施例的树形表的建立方法的示意图,具体如下步骤:58.步骤s501:将物理端口、逻辑端口和协议进行统一抽象,抽象为通道对象;59.需要说明的是,每个通道对象都有接收数据、发送数据的功能。通道之间是可以嵌套的,嵌套意为内层通道的数据将通过外层通道传输,即内层协议数据将被封装到外层协议内传输。60.步骤s502:采用树结构来记录协议之间的嵌套关系;61.具体的:采用如图6所示的树结构来记录协议之间的嵌套关系。图6是根据本技术实施例的树形表的示意图,图中靠近根节点的为底层协议,根节点向下按照协议嵌套关系延伸。树形结构中的父节点和子节点之间的关系反映了协议的嵌套关系,具体的:父节点为外层协议,子节点为内层协议。本发明实施例中的,相同协议绑定不同的通道视为不同的节点。如图6所示,连接相同ip地址不同的tcp端口(port1和port2)视为不同的节点。62.步骤s503:对树形结构的每个节点进行编码;63.需要说明的是,上述编码可以准确的描述节点在树中的位置。为了方便,本示意采用16bit长度,分为4段,每段4bit,一个段对应图中的一个层次,每段的值为节点在该层次中自左向右的次序。本例中4个段自上向下依次对应层次1~层次4,根节点地址固定为0。需要说明的是,实际使用中根据实际情况,可以采用不同的bit数量编码,而且各段的bit数可以不相同。64.步骤s504:连接管理组件收到数据报文后,按照用于封装数据报文的协议顺次解析所述数据报文;65.具体的:连接管理组件收到数据报文之后,从树形结构表中的根节点沿着某条路径向下逐层前进,当所有的协议都解析完成时到达某层的某个节点(不一定是叶子节点),该节点即为该数据报文的终结点(相当于上述实施例中的第三子节点),该节点的编码即为ta(相当于上述实施例中的第二索引值)。66.步骤s505:将ta和去掉底层协议报文头的数据发送给应用侧;67.步骤s506:应用侧完成处理并生成响应数据,应用侧将响应数据和ta发给连接管理组件;68.步骤s507:连接管理组件根据ta找到对应的节点,然后沿着该节点向树结构的根方向顺次进行协议封装,到达根节点即对响应数据封装完成。69.通过上述实施例,不需要为接收方向的数据报文建立协议封装记录栈;当某个物理连接或某层的协议会话出现故障时,故障点对应的节点以下的通信都收到影响,容易定位影响范围。树形结构的存储及节点查找定位优化:为了更快速的访问各节点,建议在内存中采用如下方式存储树形结构,以上文采用的16bit 4段编码为例,用4个可以通过索引寻址的数组分别保存4个段,每个数组长度为15,依次对应每层对最多15个节点(本例编码从1开始,对应1~15),进而每段的编码值即为该节点在数组中位置的索引值,可以通过索引值直接访问节点数据,无需遍历或查找。70.进一步的,本方案不需要为接收方向的数据报文建立协议封装记录栈,节省了存储空间,也不存在维护记录栈的生命周期的问题;某个物理连接或某层的协议会话出现故障时,故障点对应的节点以下子节点的通信都受收到影响,很容易定位影响范围。通过通道抽象,使端口和不同的通信协议管理实现了统一,简化了管理逻辑,方便维护。71.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。72.图7是根据本技术实施例的一种树形表的建立装置的结构框图;如图7所示,包括:73.解析模块72,用于解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;74.确定模块74,用于根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;75.建立模块76,用于在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。76.通过上述装置,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支,解决了相关技术中,部分协议记录栈会被重复记录,进而浪费系统的内存空间等问题,进而节省了系统的内存空间。77.在一个示例性实施例中,确定模块74,用于确定用于传输所述第一数据的第一端口;将所述第一端口和所述第一端口对应的第一协议抽象为通道对象,以及将除所述第一端口对应的第一协议之外的其他第一协议抽象为通道对象;根据多个通道对象确定所述树形表的新的分支中的多个第一子节点。78.在一个示例性实施例中,确定模块74,用于确定每一个第一子节点在所述树形表中对应的层级;确定每一个层级对应的段数据,其中,将预设长度的整数进行分段,以得到多个段数据,每一个段数据用于标识所述树形表的一个层级;根据每一个层级对应的段数据确定所述每一个第一子节点的第一索引值。79.在一个示例性实施例中,确定模块74,用于确定用于封装所述第一数据的最内层协议,其中,所述多个第一协议包括:所述最内层协议;从所述多个第一子节点中确定所述最内层协议对应的第三子节点;发送模块,用于将解析后的第一数据和所述第三子节点对应的第二索引值发送至所述应用程序。80.在一个示例性实施例中,上述装置还包括:封装模块,用于获取所述应用程序待发送的第二数据,以及获取用于指示树形表中的第四子节点的第三索引值;根据所述第三索引值对应的第四子节点和所述树形表确定用于封装所述第二数据的多个第二协议,以及所述多个第二协议的第二协议嵌套关系;基于所述多个第二协议和所述多个第二协议的第二协议嵌套关系封装所述第二数据。81.在一个示例性实施例中,封装模块,用于确定所述第四子节点到所述树形表的根节点的路径;确定所述路径对应的多个第五子节点,其中,所述多个第五子节点包括:所述第四子节点;根据所述多个第五子节点确定用于封装所述第二数据的多个第二协议,以及根据所述第五子节点的连接关系确定所述多个第二协议的第二协议嵌套关系。82.在一个示例性实施例中,建立模块76,用于确定第二端口存在错误事件或第三协议对应的连接关系存在错误事件的情况下,在所述树形表中确定所述第二端口或者所述第三协议对应的第六子节点;删除所述树形表中的第六子节点,以及所述第六子节点对应的子节点。83.本技术的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。84.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:85.s1,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;86.s2,根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;87.s3,在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。88.本技术的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。89.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。90.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:91.s1,解析待发送至应用程序的第一数据,以确定用于封装所述第一数据的多个第一协议和所述多个第一协议的第一协议嵌套关系;92.s2,根据所述第一协议嵌套关系确定与所述多个第一协议分别对应的第一子节点之间的连接关系,并确定树形表中是否存在第二子节点,其中,多个所述第二子节点之间的连接关系与多个第一子节点之间的连接关系相同;93.s3,在所述树形表中不存在所述第二子节点的情况下,根据所述多个第一子节点和所述多个第一子节点的连接关系在所述树形表中建立新的分支。94.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。95.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。96.显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。97.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部