CN113569368B - 基于协议的建模方法及装置 - Google Patents
基于协议的建模方法及装置 Download PDFInfo
- Publication number
- CN113569368B CN113569368B CN202111094757.8A CN202111094757A CN113569368B CN 113569368 B CN113569368 B CN 113569368B CN 202111094757 A CN202111094757 A CN 202111094757A CN 113569368 B CN113569368 B CN 113569368B
- Authority
- CN
- China
- Prior art keywords
- flow
- correction
- initial
- interaction
- protocol model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Abstract
本说明书一个或多个实施例提供一种基于协议的建模方法及装置,包括:通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据确定出的交互方、参数类型和交互时序构建初始协议模型;通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,以根据确定出的交互方、参数类型和交互时序对所述初始协议模型进行校正。
Description
技术领域
本说明书一个或多个实施例涉及网络通信领域,尤其涉及一种基于协议的建模方法及装置。
背景技术
网络中的流量均需要按照一定的协议模型进行传输,协议模型规定了各个交互方发送的报文的格式,以及各个交互方之间的交互逻辑,极大程度地影响了流量的安全性和传输速度。
在相关技术中,技术人员通常会优先获取针对协议设定的开发者文档,并基于开发者文档中的描述,来构建协议模型。具体的,开发者文档中可以规定有协议模型所需包含的参数、涉及的交互方类型等,以便技术人员根据自身需求和这些规定构建协议模型。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于协议的建模方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种基于协议的建模方法,包括:
通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据确定出的交互方、参数类型和交互时序构建初始协议模型;
通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,以根据确定出的交互方、参数类型和交互时序对所述初始协议模型进行校正。
根据本说明书一个或多个实施例的第二方面,提出了一种基于协议的建模装置,包括:
构建单元,通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据确定出的交互方、参数类型和交互时序构建初始协议模型;
校正单元,通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,以根据确定出的交互方、参数类型和交互时序对所述初始协议模型进行校正。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种基于协议的建模方法的流程图。
图2是一示例性实施例提供的一种构建初始协议模型的方法的流程图。
图3是一示例性实施例提供的一种对初始协议模型进行校正的方法的流程图。
图4是一示例性实施例提供的一种设备的结构示意图。
图5是一示例性实施例提供的一种基于协议的建模装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
对于网络中的流量,均需要按照一定的协议模型进行传输,协议模型规定了各个交互方发送的报文的格式,以及各个交互方之间的交互逻辑,极大程度地影响了流量的安全性和传输速度。
在相关技术中,技术人员在需要构建某一类型的协议模型时,通常会获取规定有该类型协议模型所需包含内容的开发者文档,以根据该开发者文档构建新的协议模型。然而,在实际应用中,各个协议类型所对应的开发者文档中记录的信息可能较少,且描述较为笼统,导致技术人员难以直接根据开发者文档构建完整且准确的协议模型。除此之外,该协议模型由开发人员基于自身的经验和知识构建,很可能存在无法适用于所处网络环境的问题。基于上述原因,各个交互方在采用该协议模型进行交互时,极易出现传输效率低下、安全性较差等问题。
有鉴于此,本说明书提出了一种基于协议的建模方法,能够基于网络中的真实流量构建协议模型,避免了相关技术中由于技术人员构建的协议模型不完整或不准确,而导致各交互方在基于构建的协议模型进行流量传输时传输效率低下、安全性较差等问题。
图1是一示例性实施例提供的一种基于协议的建模方法的流程图。如图1所示,该方法可以包括以下步骤:
步骤102,通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据确定出的交互方、参数类型和交互时序构建初始协议模型。
由上述介绍可知,相关技术中构建的协议模型之所以存在传输效率低下、安全性差等问题,是由于相关技术中的协议模型由技术人员根据开发者文档进行构建得到,导致构建的协议模型存在不完整、不准确,以及不适用于所处网络等问题。
有鉴于此,本说明书不再根据开发者文档构建协议模型,而是基于网络中的真实流量构建协议模型。具体的,本说明书可以从网络中获取基于目标协议产生的初始流量,并对该初始流量进行分析,以确定出该初始流量的各个交互方、该初始流量所涉及的参数类型、以及该初始流量的交互时序,进而根据确定的交互方、参数类型和交互时序构建初始协议类型。
应当理解的是,对于任一协议模型,只需规定了参与交互的交互方、各个交互方之间的交互时序、以及各个交互方发送的报文中的参数类型,相应的交互方即可根据该协议模型进行交互。可见,本说明书通过对获取到的初始流量进行分析的方式,能够构建包含完整协议要素的协议模型。
进一步的,本说明书为了保证协议的准确性和完整性,还获取了基于目标协议产生的校正流量,并通过对该校正流量进行分析,确定出了校正流量的各个交互方、该校正流量所涉及的参数类型、以及该校正流量的交互时序,进而根据确定的交互方、参数类型和交互时序对基于初始流量得到的初始协议模型进行校正。
应当理解的是,用于构建初始协议模型的初始流量所包含的报文数量可能较少,导致构建的初始协议模型很可能仍存在不准确和不完整的问题。针对该问题,本说明书进一步获取了校正流量,以根据从校正流量分析得到的交互方、参数类型、交互时序等协议要素,对初始协议模型进行校正。通过该方式,显然能够提高校正得到的协议模型的准确性和完整性。
在本说明书中,可以迭代执行上述“基于获取到的校正流量对构建的协议模型进行校正”的操作,以持续优化构建的协议模型。
步骤104,通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,以根据确定出的交互方、参数类型和交互时序对所述初始协议模型进行校正。
需要声明的是,上述初始流量和校正流量本质上均是从网络中获取的真实流量,两者的差别仅在于所参与的操作不同,其中,初始流量指的是用于构建初始协议模型的真实流量,而校正流量指的则是用于对构建的协议模型进行校正的真实流量。
在实际操作中,可以通过多种方式获取上述初始流量和校正流量。
在一实施例中,可以一次性从网络中获取大量的真实流量,并将其中一部分作为上述初始流量,而将获取的其他真实流量划分为若干份,以作为不同迭代次数对应的校正流量。
在另一实施例中,可以按照预设周期获取网络中的真实流量,并将第一个周期内获取到的流量作为上述初始流量,而将除第一个周期以外的其他周期内获取的流量均作为校正流量。在该实施例中,可以按照预设周期持续获取真实流量,以不断优化构建的协议模型。
在本说明书中,在构建初始协议模型之后,可以直接将该初始协议模型用于报文传输,并在该初始协议模型的使用过程中,持续根据获取到的真实流量对使用中的协议模型进行持续优化。换言之,上述校正迭代操作在协议模型的使用过程中持续进行。
在本说明书中,也可以预设一迭代停止条件,以在迭代得到的校正后协议模型满足该迭代停止条件时,停止上述迭代校正操作。例如,该迭代停止条件可以为:迭代次数达到预设次数;或者,校正得到的校正后协议模型达到预设的协议模型标准。该协议模型标准可以由本领域技术人员根据实际情况设定,本说明书对此不作限制,例如,该协议模型标准可以为“包含完整的交互时序”、“包含与所述目标协议对应的参数类型”等。
需要声明的是,在实际获取真实流量的过程中,需要对网络中的流量进行筛选,以得到基于目标协议产生的真实流量。应当理解的是,本说明书构建协议模型的方式实质上可以理解为一种还原网络中已采用的协议模型的方式,基于此,上述目标协议可以理解为:当前所要构建的属于目标类型的一种协议模型。在实际应用中,可以基于任一种方式获取从网络中的流量中识别出基于该目标类型的协议模型产生的真实流量,例如,可以基于上文所述的针对目标协议的开发者文档,识别出基于该目标类型的协议模型产生的真实流量。
在从网络中筛选出基于目标协议产生的真实流量后,还可以进一步对获取到的真实流量进行处理,以根据处理后的真实流量构建初始协议模型或对构建的协议模型进行校正。
例如,在获取到初始流量之后,可以确定出初始流量中包含的若干报文分别对应的交互方,以根据各个交互方对相应的报文进行分组,并将包含报文数量最多的组别用于构建上述初始协议模型。在实际应用中,可以将涉及同一交互方的多个报文划分为同一组,而相应组别的报文数量最多意味着该交互方参与的交互次数最多,显然,该交互方的交互过程在较大概率上最能反映目标协议所规定的交互方式。可见,基于报文数量最多的组别构建初始协议模型,能够提高构建的协议模型的准确度。
相应的,在获取到校正流量之后,也可以确定出校正流量中包含的若干报文分别对应的交互方,以根据各个交互方对相应的报文进行分组,并将包含报文数量最多的组别用于校正构建的协议模型。与初始流量同理,基于报文数量最多的组别对构建的协议模型进行校正,能够有效提高协议模型的准确度。
在相关技术中,枚举类型指的是有几种可能取值的变量参数。在协议模型中通常通过枚举类型的参数规定协议所需包含的参数信息。因此,在本说明书中,在获取到真实流量之后,可以识别出该真实流量中包含的枚举类型,以作为所需构建的协议包含的参数类型。具体的,在确定出初始流量包含的若干报文分别涉及的参数类型的情况下,将其中包含的枚举类型作为初始协议模型包含的参数类型;而在确定出校正流量包含的若干报文分别涉及的参数类型的情况下,也可以确定出其中包含的枚举类型,以根据确定出的枚举类型对初始协议模型或上一次迭代校正得到的协议模型包含的参数类型进行补充。
除了上述处理之外,本说明书在确定出初始流量包含的若干报文分别对应的交互方、以及这若干报文涉及的参数类型的情况下,还可以对确定出的交互方和参数类型进行去重处理,以基于去重得到的参数类型和交互方构建上述初始协议模型。具体的,在上述若干报文中存在涉及的交互方、参数类型均相同的多个报文时,可以仅保留这多个报文中的一个,以基于保留的报文的交互方和参数类型构建上述初始协议模型;相类似的,在确定出校正流量包含的若干报文分别对应的交互方、以及这若干报文涉及的参数类型的情况下,也可以对确定出的交互方和参数类型进行去重处理,以基于去重得到的参数类型和交互方对初始协议模型或上一次校正得到的协议模型进行校正。
在本说明书中,还需确定各个交互方之间的交互时序,以用于构建初始协议模型或对构建的协议模型进行校正。其中,在确定出初始流量包含的若干报文分别对应的交互方之后,可以获取这若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出初始流量的交互时序。相应的,在确定出校正流量包含的若干报文分别对应的交互方的情况下,也可以获取这若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出校正流量的交互时序。
在本说明书中,获取真实流量的操作和对协议模型进行校正的操作可以交替执行,以避免获取的流量被滞留而占用存储空间。具体的,可以在完成上述初始协议模型的构建之后,再获取用于下一次迭代校正操作的校正流量;而在完成上一次迭代校正操作之后,再获取用于下一次迭代校正的校正流量。
由上述技术方案可知,本说明书在需要构建目标类型的协议模型时,优先从网络中获取基于目标协议产生的初始流量,并对该初始流量进行分析,以得到该初始流量对应的交互方、该初始流量涉及的参数类型、以及该初始流量的交互时序,再基于确定出的交互方、参数类型和交互时序构建初始协议模型。在此基础上,本说明书还进一步获取了基于目标协议产生的校正流量,并基于校正流量对初始协议模型进行迭代校正,其中,每一次迭代校正均包含获取校正流量对应的交互方、校正流量涉及的参数类型、以及校正流量的交互时序,并根据获取的交互方、参数类型和交互时序对初始协议模型进行校正的操作。
应当理解的是,上述初始流量和校正流量均为网络中的真实流量,基于两者构建的协议模型必然能够适用于所处的网络,避免了相关技术中构建的协议模型不适用所处的网络环境的问题。其次,本说明书在基于初始流量构建得到初始协议模型之后,进一步获取了校正流量,并基于获取到的校正流量对初始协议模型进行迭代校正。显然,通过该不断迭代校正的方式能够不断提高构建的协议模型的准确性和完整性,例如,在构建的协议时序不全时,可以通过迭代校正的方式对协议模型的时序进行补全;在构建的协议模型涉及的参数类型不准确时,可以通过迭代校正的方式对协议模型涉及的参数类型进行校正。
进一步的,本说明书可以交替执行获取校正流量和基于校正流量对构建的协议模型进行校正的操作,避免了统一获取用于多次迭代校正的校正流量,而导致获取到的校正流量滞留,进而占用存储空间的问题。
下面,以由服务器执行“根据网络中的真实流量构建协议模型”为例,对本说明书的技术方案进行介绍。
图2是一示例性实施例提供的一种构建初始协议模型的方法的流程图,该方法应用于服务器,如图2所示,该方法可以包括以下步骤:
步骤201,获取初始流量。
在本实施例中,可以预设一时间周期,以按照该时间周期不断获取网络中的真实流量。其中,在第一个时间周期内获取的真实流量可以作为初始流量,以用于构建初始协议模型。
需要声明的是,本实施例应用于服务器,而对于服务器,通常仅关注自身与各个客户端之间的交互过程。因此,本实施例所需构建的协议模型可以为:服务器用于与各个客户端进行交互的协议模型。在该情况下,所需构建的协议模型中所包含的交互方即为服务器自身,以及与服务器进行交互的各个客户端。
步骤202,按照业务类型对初始流量进行分组并筛选。
在实际应用中,相同业务类型的流量通常通过同一协议模型进行传输,因此,在本实施例中,在获得初始流量之后,可以按照业务类型对初始流量中包含的报文进行分组,并取其中最为典型的一组用于构建初始协议模型。
举例而言,假设初始流量中包含30个报文,且这30个报文中,有15个报文与通讯业务相关、5个报文与网购业务相关、10个报文与视频业务相关。那么,即可将初始流量中的30个报文划分为三组,即通讯组、网购组和视频组。在此基础上,可以将报文数量最多的通讯组作用于构建初始协议模型。
步骤203,基于交互方进行进一步分组和筛选。
在本实施例中,在基于业务类型对初始流量中的报文进行分组和筛选后,还可以按照交互方对报文进一步进行分组。
承接上述举例,假设通讯组包含的15个报文中,报文a、报文b、报文c、报文d、报文e、报文f、报文g均在客户端A与服务器之间进行传输;报文h、报文i、报文j、报文k、报文l均在客户端B与服务器之间传输;而报文m、报文n、报文o均在客户端C与服务器之间传输。那么,即可将15个报文划分为A组、B组和C组。其中,由于A组包含的报文数量最多,因此,可将A组中的报文作为用于构建初始协议模型的报文。
步骤204,对筛选得到的报文进行去重处理。
在本实施例中,在筛选得到用于构建初始协议模型的报文组别之后,还可以进一步对该组别中的报文进行去重处理。
承接上述举例,在通过分组和筛选得到上述A组报文之后,即可对A组中的报文进行分析,以确定A组报文所涉及的参数类型,以及客户端A与服务器之间的传输方向。若报文a和报文b涉及的参数类型一致,且在客户端A和服务器之间的传输方向一致,那么,可以确定报文a和报文b为重复报文,进而仅保留报文a和报文b中的一者。对A组中的其他报文也是类似,可采用相似的方法对报文进行去重,例如,去重得到的报文可以包括:报文a、报文c、报文f。
步骤205,分析去重得到的报文,得到交互时序和参数类型。
在本实施例中,在完成去重处理后,即可对剩余的报文进行分析,以得到初始流量的交互时序和涉及的参数类型。
承接上述举例,假设报文a、报文c和报文f分别对应的传输方向、传输时刻,以及涉及的参数类型如下表所示:
报文 | 传输方向 | 传输时刻 | 参数类型 |
报文a | 客户端A→服务器 | 16:30 | X、Y、Z |
报文c | 服务器→客户端A | 16:31 | M、N |
报文f | 客户端A→服务器 | 16:32 | O、P、Q |
表1
应当理解的是,基于报文a、报文c和报文f的传输方向和传输时刻,组成了报文在客户端A与服务端之间的报文传输次序,基于该传输次序即可确定出初始协议模型的交互时序。具体的,由报文a、报文c和报文f的传输方向和传输时刻可以知晓的是:首先由客户端A向服务器发送报文a,再由服务器向客户端A发送报文c,最后由客户端A向服务器发送报文f。可见,基于初始流量确定出的交互时序为:客户端A→服务器→客户端A。
进一步的,还可以对报文a、报文c、报文f涉及的参数类型进行分析,以确定其中包含的枚举类型,并将枚举类型的参数类型确定为初始协议模型中包含的参数类型。假设报文a涉及的参数类型中,参数类型Y为枚举类型;报文c涉及的参数类型中,参数类型M为枚举类型;报文f涉及的参数类型中,参数类型Q为枚举类型。那么,即可将参数类型Y、参数类型M和参数类型Q作为初始协议模型中包含的参数类型。其中,参数类型Y为客户端A首次向服务器发送报文时涉及的参数类型;参数类型M为服务器向客户端A返回响应报文时涉及的参数类型;而参数类型Q则为客户端A再次向服务器发送报文时涉及的参数类型。
步骤206,基于得到的交互时序、参数类型构建初始协议模型。
在获得上述交互时序后即可构建初始协议模型。
承接上述举例,由于客户端A属于通讯业务类的客户端,因此,构建的初始协议模型中的内容可以如下表2所示:
时间顺序 | 交互时序 | 涉及参数类型 |
1 | 通讯客户端→服务器 | Y |
2 | 服务器→通讯客户端 | M |
3 | 通讯客户端→服务器 | Q |
表2
当然,若本实施例中的服务器与不同业务类型的客户端进行交互,均采用同一协议模型,那么,即可将表2所示的协议模型用于与所有客户端进行交互,而非仅限于通讯客户端。相对的,若本实施例中的服务器与不同业务类型的客户端进行交互,采用不同的协议模型,那么参照通讯客户端对应的初始协议模型的构建方式,可以进一步基于网购组中包含的报文,构建对应于网购客户端(即用于提供网购业务的客户端)的初始协议模型,以用于传输网购相关的报文;基于视频组中包含的报文构建对应于视频客户端(即用于提供视频业务的客户端)的初始协议模型,以用于传输视频相关的报文。
由上述技术方案可知,本实施例在获取到网络中的真实流量后,会对获取到的真实流量中包含的报文进行分析,以确定各报文所涉及的交互方和参数类型,并基于确定出的交互方和参数类型进一步确定各交互方之间的交互时序。在此基础上,基于协议模型的三要素,即交互方、参数类型和交互时序,即可构建相应的协议模型。
不难理解的是,由于本实施例是基于网络中的真实流量构建协议模型,因此,能够保证构建得到的协议模型能够适用所处网络,避免了相关技术中由技术人员根据开发者文档构建协议模型,而导致协议模型无法适用于网络的问题。
图3是一示例性实施例提供的一种对初始协议模型进行校正的方法的流程图,该方法应用于服务器,如图3所示,该方法可以包括以下步骤:
步骤301,获取校正流量。
本实施例承接上一实施例,对“对初始协议模型进行迭代校正”的过程进行介绍。在本实施例中,可以将后续多个时间周期内获取的真实流量均作为校正流量,以用于对构建的协议模型进行校正,例如,可以将第二个时间周期内获取到的真实流量作为用于首次校正的校正流量。
步骤302,按照业务类型对校正流量进行分组并筛选。
步骤303,基于交互方进行进一步分组和筛选。
步骤304,对筛选得到的报文进行去重处理。
步骤305,分析去重得到的报文,得到交互时序和参数类型。
上述步骤302-步骤305与上一实施例中的步骤202-本步骤205相类似,只不过将相应步骤中的“初始流量”替换为“校正流量”,因此,相应的操作,如流量分组和筛选等均可参照上一实施例的介绍,在本实施例中不再赘述。
步骤306,基于得到的交互时序、参数类型对初始协议模型进行校正。
承接上述举例,假设在经由步骤302-步骤305之后,得到的交互时序和参数类型如下表3所示:
报文 | 传输方向 | 传输时刻 | 参数类型 |
报文r | 客户端A→服务器 | 16:50 | X、Y、Z |
报文s | 服务器→客户端A | 16:51 | M、N |
报文t | 客户端A→服务器 | 16:52 | O、P、Q |
报文u | 服务器→客户端A | 16:53 | L、U |
表3
其中,参数类型Y、M、Q、L为枚举类型。那么,确定出的交互时序为:客户端A→服务器→客户端A→服务器。进一步的,可以将枚举类型确定为构建的协议模型包含的参数类型。具体的,在校正流量中,参数类型Y为客户端A首次向服务器发送报文时涉及的参数类型;参数类型M为服务器向客户端A返回响应报文时涉及的参数类型;参数类型Q为客户端A再次向服务器发送报文时涉及的参数类型;而参数类型L为服务器再次向客户端A返回相应报文时涉及的参数类型。
不难理解的是,报文r相当于上一实施例中的报文a、报文s相当于上一实施例中的报文c、报文t相当于上一实施例中的报文f。可见,在基于校正流量得到的交互时序中,“客户端A→服务器→客户端A”这一交互时序与上一实施例中得出的初始协议模型中交互时序一致,而由客户端A再次向服务器发送报文的传输过程则是初始协议模型的交互时序中不存在的。
因此,可以基于校正流量得到的交互时序对初始协议模型进行校正。具体的,校正后得到的协议模型中的内容可以如下表4所示:
时间顺序 | 交互时序 | 涉及参数类型 |
1 | 通讯客户端→服务器 | Y |
2 | 服务器→通讯客户端 | M |
3 | 通讯客户端→服务器 | Q |
4 | 服务器→通讯客户端 | L |
表4
将表4与表2对比可知,校正后的协议模型是在初始协议模型的基础上,补全了协议模型中包含的交互时序,以及对涉及的参数类型进行了校正。
需要强调的是,在实际应用中,协议模型中记录的每一次报文传输通常涉及多个参数类型,且不同次数的报文传输涉及的参数类型可能存在相同的情况,上述过程仅仅是以较为简单的情况进行介绍(即以每一次报文传输所涉及的参数类型仅为一个,且相互之间不同为例进行介绍),以便理解。
在对初始协议模型进行校正之后,可以继续获取第三个时间周期内接收到的真实流量,以作为第二次校正所需采用的校正流量,并迭代执行上述步骤,以对第一次校正得到的校正后协议模型继续进行校正,后续迭代校正的操作均可参照上述介绍,在此不再赘述。
由上述技术方案可知,本实施例在上一实施例的基础上,对上一实施例构建的初始协议模型进行了校正。具体的,可以继续获取网络中的真实流量,并对获取到的真实流量进行分析,以得到该部分真实流量涉及的交互方、交互时序、参数类型,进而对初始协议模型中包含的交互方、交互时序、参数类型进行校正。
应当理解的是,本实施例可以不断获取网络中的真实流量,以根据获取到的真实流量迭代执行对协议模型进行校正的操作。因此,本实施例能够不断优化构建的协议模型,避免了相关技术由技术人员根据开发者文档构建协议模型,而导致构建的协议模型不准确、不完整的问题。
图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图5,基于协议的建模装置可以应用于如图4所示的设备中,以实现本说明书的技术方案。其中,该基于协议的建模装置可以包括:
构建单元501,通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据确定出的交互方、参数类型和交互时序构建初始协议模型;
校正单元502,通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,以根据确定出的交互方、参数类型和交互时序对所述初始协议模型进行校正。
可选的,
构建单元501被进一步用于:在确定出所述初始流量包含的若干报文分别对应的交互方的情况下,获取所述若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出所述初始流量的交互时序;
校正单元502,被进一步用于:在确定出所述校正流量包含的若干报文分别对应的交互方的情况下,获取所述若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出所述校正流量的交互时序。
可选的,还包括:
分组单元503,根据所述初始流量包含的若干报文分别对应的交互方,对所述若干报文进行分组,并将包含的报文数量最多的组别用于构建所述初始协议模型;和/或,根据所述校正流量包含的若干报文分别对应的交互方,对所述若干报文进行分组,并将包含的报文数量最多的组别用于校正所述初始协议模型或上一次校正迭代得到的校正后协议模型。
可选的,还包括:
确定单元504,在确定出所述初始流量包含的若干报文分别涉及的参数类型的情况下,将其中包含的枚举类型确定为所述初始协议模型包含的参数类型;以及,在确定出所述校正流量包含的若干报文分别涉及的参数类型的情况下,确定出其中包含的枚举类型,以根据确定出的枚举类型对所述初始协议模型或上一次迭代校正得到的协议模型包含的参数类型进行补充。
可选的,还包括:
去重单元505,在确定出所述初始流量包含的若干报文分别对应的交互方、所述若干报文涉及的参数类型的情况下,对确定出的交互方和参数类型进行去重处理,以基于去重得到的交互方和参数类型构建所述初始协议模型;和/或,在确定出所述校正流量包含的若干报文分别对应的交互方、所述若干报文涉及的参数类型的情况下,对确定出的交互方和参数类型进行去重处理,以基于去重得到的交互方和参数类型对所述初始协议模型或上一次校正得到的校正后协议模型进行校正。
可选的,还包括:
获取单元506,按照预设时间周期获取流量,并将第一个时间周期内获得的流量作为所述初始流量、将在除第一个时间周期以外的其他周期内获取的流量作为所述校正流量。
可选的,校正单元502还被用于:
在迭代校正得到的校正后协议模型满足预设的迭代停止条件的情况下,停止所述迭代校正的操作;
其中,所述迭代停止条件为:迭代次数达到预设次数,或者迭代校正得到的协议模型符合达到预设的协议模型标准。
可选的,获取单元506还被用于:
在完成所述初始协议模型的构建之后,再获取用于下一次迭代校正的校正流量;以及,
在完成上一次迭代校正操作之后,再获取用于下一次迭代校正的校正流量。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种基于协议的建模方法,包括:
通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据所述初始流量包含的若干报文分别对应的交互方对所述若干报文进行分组,以根据包含的报文数量最多的组别所涉及的交互方、参数类型和交互时序构建初始协议模型;
通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,并根据所述校正流量包含的若干报文分别对应的交互方对所述若干报文进行分组,以根据包含的报文数量最多的组别所涉及的交互方、参数类型和交互时序对所述初始协议模型或上一次校正迭代得到的校正后协议模型进行校正。
2.根据权利要求1所述的方法,
所述确定出所述初始流量的交互时序,包括:在确定出所述初始流量包含的若干报文分别对应的交互方的情况下,获取所述若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出所述初始流量的交互时序;
所述确定出所述校正流量的交互时序,包括:在确定出所述校正流量包含的若干报文分别对应的交互方的情况下,获取所述若干报文在确定出的交互方之间的传输次序,以根据获取的传输次序确定出所述校正流量的交互时序。
3.根据权利要求1所述的方法,还包括:
在确定出所述初始流量包含的若干报文分别涉及的参数类型的情况下,将其中包含的枚举类型确定为所述初始协议模型包含的参数类型;
在确定出所述校正流量包含的若干报文分别涉及的参数类型的情况下,确定出其中包含的枚举类型,以根据确定出的枚举类型对所述初始协议模型或上一次迭代校正得到的协议模型包含的参数类型进行补充。
4.根据权利要求1所述的方法,还包括:
在确定出所述初始流量包含的若干报文分别对应的交互方、所述若干报文涉及的参数类型的情况下,对确定出的交互方和参数类型进行去重处理,以基于去重得到的交互方和参数类型构建所述初始协议模型;和/或,
在确定出所述校正流量包含的若干报文分别对应的交互方、所述若干报文涉及的参数类型的情况下,对确定出的交互方和参数类型进行去重处理,以基于去重得到的交互方和参数类型对所述初始协议模型或上一次校正得到的校正后协议模型进行校正。
5.根据权利要求1所述的方法,还包括:
按照预设时间周期获取流量,并将第一个时间周期内获得的流量作为所述初始流量、将在除第一个时间周期以外的其他周期内获取的流量作为所述校正流量。
6.根据权利要求1所述的方法,还包括:
在迭代校正得到的校正后协议模型满足预设的迭代停止条件的情况下,停止所述迭代校正的操作;
其中,所述迭代停止条件为:迭代次数达到预设次数,或者迭代校正得到的协议模型符合达到预设的协议模型标准。
7.根据权利要求6所述的方法,还包括:
在完成所述初始协议模型的构建之后,再获取用于下一次迭代校正的校正流量;以及,
在完成上一次迭代校正操作之后,再获取用于下一次迭代校正的校正流量。
8.一种基于协议的建模装置,包括:
构建单元,通过对基于目标协议产生的初始流量进行分析,确定出所述初始流量对应的交互方、所述初始流量涉及的参数类型、以及所述初始流量的交互时序,并根据所述初始流量包含的若干报文分别对应的交互方对所述若干报文进行分组,以根据包含的报文数量最多的组别所涉及的交互方、参数类型和交互时序构建初始协议模型;
校正单元,通过基于所述目标协议产生的校正流量对所述初始协议模型进行迭代校正,其中,每次迭代校正的过程包括:获取校正流量,并确定出所述校正流量对应的交互方、所述校正流量涉及的参数类型、以及所述校正流量的交互时序,并根据所述校正流量包含的若干报文分别对应的交互方对所述若干报文进行分组,以根据包含的报文数量最多的组别所涉及的交互方、参数类型和交互时序对所述初始协议模型或上一次校正迭代得到的校正后协议模型进行校正。
9.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111094757.8A CN113569368B (zh) | 2021-09-17 | 2021-09-17 | 基于协议的建模方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111094757.8A CN113569368B (zh) | 2021-09-17 | 2021-09-17 | 基于协议的建模方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113569368A CN113569368A (zh) | 2021-10-29 |
CN113569368B true CN113569368B (zh) | 2022-01-11 |
Family
ID=78173815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111094757.8A Active CN113569368B (zh) | 2021-09-17 | 2021-09-17 | 基于协议的建模方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569368B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923975A (zh) * | 2018-07-05 | 2018-11-30 | 中山大学 | 一种面向分布式网络的流量行为分析方法 |
CN109412900A (zh) * | 2018-12-04 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 一种网络状态识别的方法、模型训练的方法及装置 |
US10284318B1 (en) * | 2014-12-30 | 2019-05-07 | Juniper Networks, Inc. | Controller-based network device timing synchronization |
CN110098959A (zh) * | 2019-04-23 | 2019-08-06 | 广东技术师范大学 | 工控协议交互行为的建模方法、装置、系统及存储介质 |
CN110225001A (zh) * | 2019-05-21 | 2019-09-10 | 清华大学深圳研究生院 | 一种基于主题模型的动态自更新网络流量分类方法 |
AU2019226295A1 (en) * | 2018-09-10 | 2020-03-26 | Tata Consultancy Services Limited | System and method for enabling intelligent network services by cognitive sense-analyze-decide-respond framework |
CN111294399A (zh) * | 2020-02-04 | 2020-06-16 | 网宿科技股份有限公司 | 一种数据传输方法和装置 |
CN112367215A (zh) * | 2020-09-21 | 2021-02-12 | 杭州安恒信息安全技术有限公司 | 基于机器学习的网络流量协议识别方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408247A (zh) * | 2018-09-17 | 2019-03-01 | 天津龙拳风暴科技有限公司 | 交互数据处理方法及装置 |
-
2021
- 2021-09-17 CN CN202111094757.8A patent/CN113569368B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10284318B1 (en) * | 2014-12-30 | 2019-05-07 | Juniper Networks, Inc. | Controller-based network device timing synchronization |
CN108923975A (zh) * | 2018-07-05 | 2018-11-30 | 中山大学 | 一种面向分布式网络的流量行为分析方法 |
AU2019226295A1 (en) * | 2018-09-10 | 2020-03-26 | Tata Consultancy Services Limited | System and method for enabling intelligent network services by cognitive sense-analyze-decide-respond framework |
CN109412900A (zh) * | 2018-12-04 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 一种网络状态识别的方法、模型训练的方法及装置 |
CN110098959A (zh) * | 2019-04-23 | 2019-08-06 | 广东技术师范大学 | 工控协议交互行为的建模方法、装置、系统及存储介质 |
CN110225001A (zh) * | 2019-05-21 | 2019-09-10 | 清华大学深圳研究生院 | 一种基于主题模型的动态自更新网络流量分类方法 |
CN111294399A (zh) * | 2020-02-04 | 2020-06-16 | 网宿科技股份有限公司 | 一种数据传输方法和装置 |
CN112367215A (zh) * | 2020-09-21 | 2021-02-12 | 杭州安恒信息安全技术有限公司 | 基于机器学习的网络流量协议识别方法和装置 |
Non-Patent Citations (2)
Title |
---|
An iterative BEM/FVM protocol for steady-state multi-dimensional conjugate heat transfer in compressible flows;E.Divo 等;《Engineering Analysis with Boundary Elements》;20020531;第447-454页 * |
构建面向对象协议模型的方法研究;蒋中秋;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20031215;第1-75页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113569368A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6778699B2 (ja) | コメントに応答するためのシステム、方法及び機器 | |
CN111368013B (zh) | 基于多账户的统一标识方法、系统、设备和存储介质 | |
CN110874648A (zh) | 联邦模型的训练方法、系统和电子设备 | |
TW201740294A (zh) | 一種模型的訓練方法和裝置 | |
US11196633B2 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
CN117278434A (zh) | 流量回放方法、装置、电子设备 | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
CN111177433A (zh) | 用于并行处理信息的方法和装置 | |
CN113722055A (zh) | 数据处理方法、装置、电子设备和计算机可读介质 | |
CN113569368B (zh) | 基于协议的建模方法及装置 | |
CN107391541A (zh) | 一种实时数据合并方法和装置 | |
CN110555732B (zh) | 一种营销策略推送方法、装置及营销策略运营平台 | |
CN110347973B (zh) | 用于生成信息的方法和装置 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN113630476B (zh) | 应用于计算机集群的通信方法及通信装置 | |
US20090282367A1 (en) | Method and system for electronic communication management | |
CN105245380B (zh) | 一种消息的传播方式识别方法及装置 | |
CN114513469A (zh) | 分布式系统的流量整形方法、装置和存储介质 | |
CN110262856B (zh) | 一种应用程序数据采集方法、装置、终端及存储介质 | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 | |
CN107547601B (zh) | 用于消息发送的方法及路由设备、服务器、系统 | |
CN113111111A (zh) | 多数据源数据库接入方法 | |
CN111552715A (zh) | 用户查询方法和装置 | |
CN111143546A (zh) | 一种获得推荐语的方法、装置及电子设备 | |
CN111049988A (zh) | 移动设备的亲密度预测方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |