CN112235149A - 一种网络功能单元仿真建模的方法及系统、网络功能单元 - Google Patents

一种网络功能单元仿真建模的方法及系统、网络功能单元 Download PDF

Info

Publication number
CN112235149A
CN112235149A CN202011470088.5A CN202011470088A CN112235149A CN 112235149 A CN112235149 A CN 112235149A CN 202011470088 A CN202011470088 A CN 202011470088A CN 112235149 A CN112235149 A CN 112235149A
Authority
CN
China
Prior art keywords
module
network
modeling
statement
functional unit
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.)
Granted
Application number
CN202011470088.5A
Other languages
English (en)
Other versions
CN112235149B (zh
Inventor
游侃民
黄宏钦
欧阳建生
王雨
曹建业
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Communications and Networks Institute
Original Assignee
Guangdong Communications and Networks Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Communications and Networks Institute filed Critical Guangdong Communications and Networks Institute
Priority to CN202011470088.5A priority Critical patent/CN112235149B/zh
Publication of CN112235149A publication Critical patent/CN112235149A/zh
Application granted granted Critical
Publication of CN112235149B publication Critical patent/CN112235149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种网络功能单元仿真建模的方法,该方法包括:根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能;对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件;对源文件进行预处理生成一维数组列表;对一维数组列表进行解析生成解析结果,判断解析结构的语法是否正确,若解析结果正确则生成语法树并保存由解析结果组成的输入文件;根据语法树和输入文件对网络功能单元进行实例化操作。还公开了一种网络功能单元仿真建模的系统,由此能够对网络功能单元进行抽象和形式化的建模。

Description

一种网络功能单元仿真建模的方法及系统、网络功能单元
技术领域
本发明网络仿真技术领域,尤其涉及一种网络功能单元仿真建模的方法及系统、网络功能单元。
背景技术
随着网络技术的迅猛发展,网络规模越来越大,新的网络功能单元不断涌现,如新设备、新协议、新应用。网络仿真是通过在计算机中运行网络的模型,并且分析运行的输出结果,从而获得真实网络系统的某些性能预测,是计算机辅助网络总体设计和性能评价的重要手段,是对新型网络、新型网元、新型网络协议、新型网络应用进行研究和开发的有效工具。其中,网络功能单元模型在网络仿真中占据重要地位,它们是对现有网络功能的具体描述,通过模型可实例化为不同的网络设备、协议或应用,如交换机、路由器、TCP/IP协议、WEB服务等
但是,现有的网络仿真是从预置单元库中直接选取已存在的网络功能单元模型,其例化后的网络功能与运行的协议固定,用户无法自定义,新网络、新设备、新协议往往需要进行定制化开发和设计,不能对新网络、新设备、新协议进行快速有效仿真,难以满足用户对新增功能与协议支持需求。
发明内容
本发明所要解决的技术问题在于,提供一种网络功能单元仿真建模的方法,能够实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。
为了解决上述技术问题,本发明第一方面公开了一种网络功能单元仿真建模的方法,所述方法包括:根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能;对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件;对所述源文件进行预处理生成一维数组列表;对所述一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树并保存由解析结果组成的输入文件;根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作。
在一些实施方式中,多维度描述至少包括接口维度、属性维度和能力维度,所述根据自定义建模语句对网络功能单元进行抽象化描述,包括:从接口维度描述组成所述网络功能单元的不同构件之间的数据流关系;从属性维度描述组成所述网络功能单元的不同构件用于外部配置和查询的特征;从能力维度描述组成所述网络功能单元的不同构件用于外部查询和调用的功能。
在一些实施方式中,对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件,包括:通过自定义建模语句的关键字interface及语句块描述,划分出所述网络功能单元的用于表示所述网络功能单元与其它构件间连接关系的输入输出模块;通过自定义建模语句的关键字method及语句块描述,划分出所述网络功能单元的用于表示所述网络功能单元与其它构件间处理流程的报文解析模块、报文处理模块和报文重组模块;自定义建模语句关键字method及语句块描述,划分出所述网络功能单元的用于改变所述网络功能单元与其它构件间处理流程的状态机模块;其中,所述报文解析模块、报文处理模块和报文重组模块还用于改变所述状态机模块的当前状态。
在一些实施方式中,对所述源文件进行预处理生成一维数组列表,包括:将所述源文件的字符根据从左到右的次序依次扫描生成扫描文件;去除所述扫描文件中每一语句的多余字符生成单词序列;根据所述单词序列生成一维数组列表。
在一些实施方式中,对一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树,包括:将所述一维数组列表的单词符号序列根据语法类别分解为各类语法短语;判断所述语法短语的每个算符是否为具有建模语言规范允许的运算对象;若所述每个算符为具有建模语言规范允许的运算对象,生成语法树。
在一些实施方式中,构件包括基础构件和自定义构件,若所述每个算符为具有建模语言规范允许的运算对象,生成语法树,包括:对所述一维数组列表进行扫描;当扫描到基础构件的关键字时,则设置为预置构件库中的构件索引值;当扫描到自定义构件的关键字时,则设置为预置构件库的节点类功能构件与进程类功能构件建索引值对;根据所述构件索引值和所述节点类功能构件与进程类功能构件建索引值对生成语法树。
在一些实施方式中,对所述一维数组列表进行扫描,之后包括:当扫描到接口维度的关键字及语句块时,则根据接口语句块的描述生成构件间连接的关联关系;当扫描到属性维度和能力维度的关键字及语句块时,则初始化与所述属性维度和所述能力维度对应的数据结构。
在一些实施方式中,根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作,包括:根据所述输入文件中的属性描述数据结构作为初始参数生成实例主线程;根据所述语法树包含的构件索引值从预置的构件库中确定对应的构件模板;根据所述输入文件中的能力描述数据结构作为初始参数在内存中建立构件实例线程池;根据所述输入文件中的各构件之间连接关系、实例主线程映射构件实例池中构件之间的连接关系。
根据本发明的第二个方面,提供了一种网络功能单元仿真建模的系统,所述系统包括:
自定义模块,用于根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能;
划分模块,用于对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件;预处理模块,用于对所述源文件进行预处理生成一维数组列表;语法树,用于对所述一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树并保存由解析结果组成的输入文件;实例化模块,用于根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作。
根据本发明的第三个方面,提供了一种网络功能单元,所述网络功能单元包括:用于表示所述网络功能单元与其它构件间连接关系的输入输出模块; 用于表示所述网络功能单元与其它构件间处理流程的报文解析模块、报文处理模块和报文重组模块;用于改变所述网络功能单元与其它构件间处理流程的状态机模块;其中,所述报文解析模块、报文处理模块和报文重组模块还用于改变所述状态机模块的当前状态
与现有技术相比,本发明的有益效果在于:
实施本发明能够对网络功能单元进行抽象和形式化的建模,将网络功能分解为基础功能构件,并且建立网络功能构件池,通过构件的灵活适配实现网络功能自定义、扩展和重构,进而实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。相对于网络仿真建模技术,易于对新的协议支持与功能扩展,提高网络协议与架构开发效率。
附图说明
图1为本发明实施例公开的一种网络功能单元仿真建模的方法的流程示意图;
图2为本发明实施例公开的一种网络功能单元仿真建模系统示意图;
图3为本发明实施例公开的一种网络功能单元示意图;
图4为本发明实施例公开的一种的网络功能单元仿真建模交互装置结构示意图。
具体实施方式
为了更好地理解和实施,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本发明实施例公开了一种网络功能单元仿真建模的方法及系统,能够对网络功能单元进行抽象和形式化的建模,将网络功能分解为基础功能构件,并且建立网络功能构件池,通过构件的灵活适配实现网络功能自定义、扩展和重构,进而实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。相对于网络仿真建模技术,易于对新的协议支持与功能扩展,提高网络协议与架构开发效率。
实施例一
请参阅图1,图1为本发明实施例公开的一种网络功能单元仿真建模的方法的流程示意图。其中,该网络功能单元仿真建模的方法可以应用在网络仿真建模系统,对于该仿真网络建模系统的类别本发明实施例不做限制。如图1所示,该网络功能单元仿真建模的方法可以包括以下操作:
101、根据自定义建模语句对网络功能单元进行抽象化描述。其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能。
该步骤主要是为了实现对网络功能单元进行抽象,即使用自定义建模的语句,以正确的语法格式,对构建的网络功能进行形式化描述,并将描述通过文件的形式存储。其中,自定义建模语句描述的网络功能可由多种不同类型的构件混合组成,组成的构件可以是预置构件库中已有基础构件,也可以根据用户需求自定义描述的构件,其中,为了方便调用和多次使用等功能,自定义构件可选择地存入到预置的构件库。
进一步地的,多维度描述可以包括接口维度、属性维度和能力维度这三个维度,使用自定义的建模语句进行描述。其中,接口维度体现了各个构件之间的数据流关系,即输入输出特性,具体地,输入可以是原始外部数据,也可以是另一构件的数据输出。输出则是构件对输入数据进行功能化处理后地体现,可以作为另一构件的数据输入。属性维度反映了构件的所具有的特性,该特性实现为可供外部配置和查询的功能。能力维度反映了构件所具备功能,表示为只供外部查询与调用的功能。
102、对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件。
通过接口、属性、能力三个维度对网络功能单元进行具体抽象描述实例化后,就将网络功能单元根据功能上划分,一般由输入接口、输出接口、报文解析模块、报文处理模块、状态机模块、报文重组模块组成,示例性地,通过自定义建模语句的关键字interface及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间连接关系的输入接口和输出接口;通过自定义建模语句的关键字method及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间处理流程的报文解析模块、报文处理模块和报文重组模块;自定义建模语句关键字method及语句块描述,划分出网络功能单元的用于改变网络功能单元与其它构件间处理流程的状态机模块。对于状态机当前状态可影响method所描述的方法处理流程,反之,报文解析模块、报文处理模块,报文重组模块的运行结果,可改变状态机的当前状态。
进一步地,还通过由自定义建模语句关键字attribute及语句块描述,定义网络功能单元或构件控制面对外接口,表示网络功能单元或构件所具有的特性,为控制内部模块或获取内部模块状态提供接口。
103、对源文件进行预处理生成一维数组列表。
对上述步骤所生成的源文件文件进行预处理操作。其中,预处理操作包括:从接收的源文件的左到右次序,一个字符一个字符地读入建模语句,即对输入源文件中的字符流进行扫描,去除语句中多余字符,多余字符在本实施例中可以为分割符、注释等,从而识别出每个符号,在这个过程中,会将源文件变成由标识符、保留字、算符、界符等单词组成的单词序列,进一步地,整个代码中的语句仅分割进了一个一维数组列表,并且以文件的形式存储。
104、对一维数组列表进行解析生成解析结果,判断解析结构的语法是否正确。
具体实现为:将一维数组列表的单词符号序列根据语法类别分解为各类语法短语,判断方式为根据语法短语的每个算符是否为具有建模语言规范允许的运算对象,若所述每个算符为具有建模语言规范允许的运算对象,生成语法树。
进一步地, 语法如果有错,即不符合语言规范时,停止解析并报告错误返回初始的步骤101。
105、若解析结果正确则生成语法树并保存由解析结果组成的输入文件。
其中,根据解析结果生成语法树的方式实现为:对一维数组列表进行扫描;当扫描到基础构件的关键字时,则设置为预置构件库中的构件索引值;当扫描到自定义构件的关键字时,则设置为预置构件库的节点类功能构件与进程类功能构件建索引值对;根据所述构件索引值和所述节点类功能构件与进程类功能构件建索引值对生成语法树。当扫描到接口维度的关键字及语句块时,则根据接口语句块的描述生成构件间连接的关联关系;当扫描到属性维度和能力维度的关键字及语句块时,则初始化与所述属性维度和所述能力维度对应的数据结构。
106、根据语法树和输入文件对网络功能单元进行实例化操作。
首先以输入文件中属性描述数据结构作为初始参数,生成实例主线程,并以主线程ID值作为实例ID值。然后扫描输入文件中的语法树,根据语法树中的构件索引值从预置构件库中找到对应构件模板,并以该构件模板为蓝本,以输入文件中的能力描述数据结构作为初始参数,在内存中建立构件实例线程池,并以生成线程ID值作为此构件实例池各功能单元的唯一标识。最后,根据输入文件中描述各构件之间连接关系,以及主线程和线程间通信方式,映射所有构件实例之间连接关系完成实例化的操作。
示例性地,作为本实施方式中的一种具体实施方式,以构建一个4输入接口和4输出节口,以协议端口作为转发规则的网络功能单元为例进行描述。为了方便表述,对网络功能单元进行建模语句描述部分,只摘要关键部分,但足以对本具体实施例的方法与流程的理解。
步骤1:首先,使用正确的语法格式的建模语句,对待构建网元进行抽象描述。下面建模语句描述一个4输入接口和4输出接口,基于协议端口转发的网络功能单元:
model 4portDevice
{
interface i1
{
inout :metadata;
attribute
{
speed : 1000Mbps;
mode: full-duplex;
}
}
interface i2
{
}
interface i3
{
}
interfaee i4
{
}
attribute a1
{
id:product_id;
mac:mac_address1,mac_address2,mac_address3,mac_address4
}
method m1
{
ComputeChecksum();
Forward();
VerifyChecksum();
}
method m2
{
}
}
其中,model关键字及语句块用于定义构件,4portDevice为指定的构件名;interface关键字及语句块定义构件具有4个接口,分别为i1、i2、i3、i4,其中i1接口数据存于metadata中,并指定其接口速率为1000Mbps,工作模式为全双工等。
attribute关键字及语句块描述构件具有属性a1,构建id值存于product_id中,4个端口的mac地址分别存于mac_address1、mac_address2、mac_address3、mac_address4中。
method关键字及语句块描述构建具有方法m1与m2,其中m1方法包括计算校验和、验证校验和数据包转发三个功能。
步骤2:之后,读取步骤1的源代码文件,从左到右一个字符一个字符地读入建模语句源文件,消除多余字符,识别出model、4portDevice、{、interface、i1、{、inout 、:、metadata、;、attribute、{、speed 、: 、1000Mbps、;、mode、:、 full-duplex、;、}、}等组成的一个个单词序列,最后将整个代码中的语句分割进一个一维数组列表:[ {value :4portDevice, type : model}, {value : i1, type :interface}, {value : metadata,type : inout }, {value:1000Mbps, type :speed }, ...... ],以文件形式存储。
步骤3:对步骤2生成的一维数组列表进行解析,同时验证语法,生成语法树。在生成语法树审查过程中,发现“interfaece” 不是建模语句中的关键字,抛出语法错误,返回初始步骤1。在步骤1中,修改建模语句中interfaee i4 {}中错误拼写,修改为interfacei4 {},之后重复步骤2,再次进入步骤3,在审查过程中的判断结果无误,则生成语法树。然后扫描生成的语法树,扫描到model 构件关键字,则替换为预置构件库中节点类功能构件索引值;扫描到interface 接口关键字及语句块,根据接口语句块中的描述生成构件间的关系图;扫描到attribute属性与method能力关键字及语句块,以语句块中的内容作为初始数据,生成对应数据结构。
步骤4:以步骤3的输入文件作为输入蓝本,对网络功能单元进行实例化。首先以输入文件中attribute属性数据结构作为初始参数,生成主线程main_thread,返回主线程ID值,作为网络功能单元的ID值;然后根据语法树中构件索引值从预置构件库中找到相应构件模板,以method能力数据结构中的内容为初始参数,生成method_A_thread与method_B_thread线程,其中method_A_thread线程对应报文解析、处理、重组模块,而method_B_thread线程对应状态机模块;最后根据输入文件中描述各构件之间连接关系,main_thread以线程间通信方式,映射所有已产生构建实例线程之间连接关系,最终生成一个4接口基于协议端口转发的网络功能单元。
根据本实施例提供的网络功能单元仿真建模的方法,能够对网络功能单元进行抽象和形式化的建模,将网络功能分解为基础功能构件,并且建立网络功能构件池,通过构件的灵活适配实现网络功能自定义、扩展和重构,进而实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。
实施例二
请参阅图2,图2是本发明实施例公开的一种网络功能单元仿真建模系统示意图。如图2所示,该网络功能单元仿真建模系统可以包括:
自定义模块1,用于根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能。
该模块主要是为了实现对网络功能单元进行抽象,即使用自定义建模的语句,以正确的语法格式,对构建的网络功能进行形式化描述,并将描述通过文件的形式存储。其中,自定义建模语句描述的网络功能可由多种不同类型的构件混合组成,组成的构件可以是预置构件库中已有基础构件,也可以根据用户需求自定义描述的构件,其中,为了方便调用和多次使用等功能,自定义构件可选择地存入到预置的构件库。
进一步地的,多维度描述可以包括接口维度、属性维度和能力维度这三个维度,使用自定义的建模语句进行描述。其中,接口维度体现了各个构件之间的数据流关系,即输入输出特性,具体地,输入可以是原始外部数据,也可以是另一构件的数据输出。输出则是构件对输入数据进行功能化处理后地体现,可以作为另一构件的数据输入。属性维度反映了构件的所具有的特性,该特性实现为可供外部配置和查询的功能。能力维度反映了构件所具备功能,表示为只供外部查询与调用的功能。
划分模块2,用于对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件。
通过接口、属性、能力三个维度对网络功能单元进行具体抽象描述实例化后,就将网络功能单元根据功能上划分,一般由输入接口、输出接口、报文解析模块、报文处理模块、状态机模块、报文重组模块组成,示例性地,通过自定义建模语句的关键字interface及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间连接关系的输入接口和输出接口;通过自定义建模语句的关键字method及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间处理流程的报文解析模块、报文处理模块和报文重组模块;自定义建模语句关键字method及语句块描述,划分出网络功能单元的用于改变网络功能单元与其它构件间处理流程的状态机模块。对于状态机当前状态可影响method所描述的方法处理流程,反之,报文解析模块、报文处理模块,报文重组模块的运行结果,可改变状态机的当前状态。
进一步地,还通过由自定义建模语句关键字attribute及语句块描述,定义网络功能单元或构件控制面对外接口,表示网络功能单元或构件所具有的特性,为控制内部模块或获取内部模块状态提供接口。
预处理模块3,用于对源文件进行预处理生成一维数组列表。
其中,预处理操作包括:从接收的源文件的左到右次序,一个字符一个字符地读入建模语句,即对输入源文件中的字符流进行扫描,去除语句中多余字符,多余字符在本实施例中可以为分割符、注释等,从而识别出每个符号,在这个过程中,会将源文件变成由标识符、保留字、算符、界符等单词组成的单词序列,进一步地,整个代码中的语句仅分割进了一个一维数组列表,并且以文件的形式存储。
语法树4,用于对一维数组列表进行解析生成解析结果,判断解析结构的语法是否正确,若解析结果正确则生成语法树并保存由解析结果组成的输入文件。
语法树的构件可以参见上述关于方法的具体实施方式,在此不进行赘述。将一维数组列表的单词符号序列根据语法类别分解为各类语法短语,判断方式为根据语法短语的每个算符是否为具有建模语言规范允许的运算对象,若所述每个算符为具有建模语言规范允许的运算对象,生成语法树。
进一步地,语法如果有错,即不符合语言规范时,停止解析并报告错误返回自定义模块1。
实例化模块5,用于根据语法树和所述输入文件对网络功能单元进行实例化操作。
首先以输入文件中属性描述数据结构作为初始参数,生成实例主线程,并以主线程ID值作为实例ID值。然后扫描输入文件中的语法树,根据语法树中的构件索引值从预置构件库中找到对应构件模板,并以该构件模板为蓝本,以输入文件中的能力描述数据结构作为初始参数,在内存中建立构件实例线程池,并以生成线程ID值作为此构件实例池各功能单元的唯一标识。最后,根据输入文件中描述各构件之间连接关系,以及主线程和线程间通信方式,映射所有构件实例之间连接关系完成实例化的操作。
根据本实施例提供的网络功能单元仿真建模系统,能够对网络功能单元进行抽象和形式化的建模,将网络功能分解为基础功能构件,并且建立网络功能构件池,通过构件的灵活适配实现网络功能自定义、扩展和重构,进而实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。
实施例三
请参阅图3,图3是本发明实施例公开的一种网络功能单元示意图。如图3所示,该网络功能单元可以包括:
用于表示网络功能单元与其它构件间连接关系的输入接口311和输出接口312;
用于表示网络功能单元与其它构件间处理流程的报文解析模块32、报文处理模块33和报文重组模块34;
用于改变网络功能单元与其它构件间处理流程的状态机模块35。
其中,报文解析模块32、报文处理模块33和报文重组模块34还用于改变状态机模块35的当前状态。
首先使用自定义建模的语句,以正确的语法格式,对构建的网络功能单元的网络功能进行形式化描述,并将描述通过文件的形式存储。其中,自定义建模语句描述的网络功能可由多种不同类型的构件混合组成,组成的构件可以是预置构件库中已有基础构件,也可以根据用户需求自定义描述的构件,其中,为了方便调用和多次使用等功能,自定义构件可选择地存入到预置的构件库。
进一步地的,多维度描述可以包括接口维度、属性维度和能力维度这三个维度,使用自定义的建模语句进行描述。其中,接口维度体现了各个构件之间的数据流关系,即输入输出特性,具体地,输入可以是原始外部数据,也可以是另一构件的数据输出。输出则是构件对输入数据进行功能化处理后地体现,可以作为另一构件的数据输入。属性维度反映了构件的所具有的特性,该特性实现为可供外部配置和查询的功能。能力维度反映了构件所具备功能,表示为只供外部查询与调用的功能。
通过接口、属性、能力三个维度对网络功能单元进行具体抽象描述实例化后,就将网络功能单元根据功能上划分。其中,通过自定义建模语句的关键字interface及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间连接关系的输入接口311和输出接口312;通过自定义建模语句的关键字method及语句块描述,划分出网络功能单元的用于表示网络功能单元与其它构件间处理流程的报文解析模块32、报文处理模块33和报文重组模块34;自定义建模语句关键字method及语句块描述,划分出网络功能单元的用于改变网络功能单元与其它构件间处理流程的状态机模块35。对于状态机当前状态可影响method所描述的方法处理流程,反之,报文解析模块32、报文处理模块33,报文重组模块34的运行结果,可改变状态机的当前状态。
进一步地,还通过由自定义建模语句关键字attribute及语句块描述,定义网络功能单元或构件控制面对外接口,表示网络功能单元或构件所具有的特性,为控制内部模块或获取内部模块状态提供接口。
根据本实施例提供的网络功能单元,实现为抽象和形式化的建模,将网络功能分解为基础功能构件,有利于为通过构件的灵活适配实现网络功能自定义、扩展和重构提供了便捷性,进而实现对新网络、新设备、新协议进行快速高效建模和仿真,满足日益增加的网络新需求。
实施例四
请参阅图4,图4是本发明实施例公开的一种网络功能单元仿真建模交互装置的结构示意图。如图4所示,该装置可以包括:
存储有可执行程序代码的存储器601;
与存储器601耦合的处理器602;
处理器602调用存储器601中存储的可执行程序代码,用于执行实施例一所描述的网络功能单元仿真建模的方法。
实施例五
本发明实施例公开了一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一所描述的网络功能单元仿真建模的方法。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一中所描述的网络功能单元仿真建模方法。
以上所描述的实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种网络功能单元仿真建模方法及系统装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。

Claims (9)

1.一种网络功能单元仿真建模的方法,其特征在于,所述方法包括:
根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能;
对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件;
对所述源文件进行预处理生成一维数组列表;
对所述一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树并保存由解析结果组成的输入文件;
根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作。
2.根据权利要求1所述的网络功能单元仿真建模的方法,其特征在于,所述多维度描述至少包括接口维度、属性维度和能力维度,所述根据自定义建模语句对网络功能单元进行抽象化描述,包括:
从接口维度描述组成所述网络功能单元的不同构件之间的数据流关系;
从属性维度描述组成所述网络功能单元的不同构件用于外部配置和查询的特征;
从能力维度描述组成所述网络功能单元的不同构件用于外部查询和调用的功能。
3.根据权利要求2所述的网络功能单元仿真建模的方法,其特征在于,所述对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件,包括:
通过自定义建模语句的关键字interface及语句块描述,划分出所述网络功能单元的用于表示所述网络功能单元与其它构件间连接关系的输入输出模块;
通过自定义建模语句的关键字method及语句块描述,划分出所述网络功能单元的用于表示所述网络功能单元与其它构件间处理流程的报文解析模块、报文处理模块和报文重组模块;
自定义建模语句关键字method及语句块描述,划分出所述网络功能单元的用于改变所述网络功能单元与其它构件间处理流程的状态机模块;
其中,所述报文解析模块、报文处理模块和报文重组模块还用于改变所述状态机模块的当前状态。
4.根据权利要求3所述的网络功能单元仿真建模的方法,其特征在于,所述对所述源文件进行预处理生成一维数组列表,包括:
将所述源文件的字符根据从左到右的次序依次扫描生成扫描文件;
去除所述扫描文件中每一语句的多余字符生成单词序列;
根据所述单词序列生成一维数组列表。
5.根据权利要求4所述的网络功能单元仿真建模的方法,其特征在于,对所述一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树,包括:
将所述一维数组列表的单词符号序列根据语法类别分解为各类语法短语;
判断所述语法短语的每个算符是否为具有建模语言规范允许的运算对象;
若所述每个算符为具有建模语言规范允许的运算对象,生成语法树。
6.根据权利要求5所述的网络功能单元仿真建模的方法,其特征在于,所述构件包括基础构件和自定义构件,若所述每个算符为具有建模语言规范允许的运算对象,生成语法树,包括:
对所述一维数组列表进行扫描;
当扫描到基础构件的关键字时,则设置为预置构件库中的构件索引值;
当扫描到自定义构件的关键字时,则设置为预置构件库的节点类功能构件与进程类功能构件建索引值对;
根据所述构件索引值和所述节点类功能构件与进程类功能构件建索引值对生成语法树。
7.根据权利要求6所述的网络功能单元仿真建模的方法,其特征在于,所述对所述一维数组列表进行扫描,之后包括:
当扫描到接口维度的关键字及语句块时,则根据接口语句块的描述生成构件间连接的关联关系;
当扫描到属性维度和能力维度的关键字及语句块时,则初始化与所述属性维度和所述能力维度对应的数据结构。
8.根据权利要求6或7所述的网络功能单元仿真建模的方法,其特征在于,所述根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作,包括:
根据所述输入文件中的属性描述数据结构作为初始参数生成实例主线程;
根据所述语法树包含的构件索引值从预置的构件库中确定对应的构件模板;
根据所述输入文件中的能力描述数据结构作为初始参数在内存中建立构件实例线程池;
根据所述输入文件中的各构件之间连接关系、实例主线程映射构件实例池中构件之间的连接关系。
9.一种网络功能单元仿真建模的系统,其特征在于,所述系统包括:
自定义模块,用于根据自定义建模语句对网络功能单元进行抽象化描述,其中,自定义建模语句用于从多维度描述不同类型的构件组成的网络功能;
划分模块,用于对抽象化描述后的网络功能单元根据模块功能进行划分生成至少包括输入输出模块、报文解析模块、报文处理模块、状态机模块和报文重组模块的源文件;
预处理模块,用于对所述源文件进行预处理生成一维数组列表;
语法树,用于对所述一维数组列表进行解析生成解析结果,判断所述解析结构的语法是否正确,若所述解析结果正确则生成语法树并保存由解析结果组成的输入文件;
实例化模块,用于根据所述语法树和所述输入文件对所述网络功能单元进行实例化操作。
CN202011470088.5A 2020-12-15 2020-12-15 一种网络功能单元仿真建模的方法及系统、网络功能单元 Active CN112235149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011470088.5A CN112235149B (zh) 2020-12-15 2020-12-15 一种网络功能单元仿真建模的方法及系统、网络功能单元

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011470088.5A CN112235149B (zh) 2020-12-15 2020-12-15 一种网络功能单元仿真建模的方法及系统、网络功能单元

Publications (2)

Publication Number Publication Date
CN112235149A true CN112235149A (zh) 2021-01-15
CN112235149B CN112235149B (zh) 2021-03-02

Family

ID=74124019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011470088.5A Active CN112235149B (zh) 2020-12-15 2020-12-15 一种网络功能单元仿真建模的方法及系统、网络功能单元

Country Status (1)

Country Link
CN (1) CN112235149B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810992A (zh) * 2017-05-02 2018-11-13 大唐移动通信设备有限公司 一种网络切片的资源控制方法和装置
US20190182128A1 (en) * 2017-04-12 2019-06-13 Cisco Technology, Inc. Virtualized network functions and service chaining in serverless computing infrastructure
CN110336689A (zh) * 2019-05-17 2019-10-15 清华大学 网络功能服务组链的处理方法、装置及电子设备
CN110351152A (zh) * 2019-08-16 2019-10-18 中国银行股份有限公司 消息报文处理装置及方法
CN110381051A (zh) * 2019-07-12 2019-10-25 苏州浪潮智能科技有限公司 一种报文解析的方法、系统、设备及计算机可读存储介质
CN110557693A (zh) * 2019-09-26 2019-12-10 上海欣诺通信技术股份有限公司 光网络协议分析仪
CN111709026A (zh) * 2020-06-10 2020-09-25 Xc5香港有限公司 静态安全检测方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190182128A1 (en) * 2017-04-12 2019-06-13 Cisco Technology, Inc. Virtualized network functions and service chaining in serverless computing infrastructure
CN108810992A (zh) * 2017-05-02 2018-11-13 大唐移动通信设备有限公司 一种网络切片的资源控制方法和装置
CN110336689A (zh) * 2019-05-17 2019-10-15 清华大学 网络功能服务组链的处理方法、装置及电子设备
CN110381051A (zh) * 2019-07-12 2019-10-25 苏州浪潮智能科技有限公司 一种报文解析的方法、系统、设备及计算机可读存储介质
CN110351152A (zh) * 2019-08-16 2019-10-18 中国银行股份有限公司 消息报文处理装置及方法
CN110557693A (zh) * 2019-09-26 2019-12-10 上海欣诺通信技术股份有限公司 光网络协议分析仪
CN111709026A (zh) * 2020-06-10 2020-09-25 Xc5香港有限公司 静态安全检测方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李源灏 等: "网络服务功能链技术研究与建模", 《计算机应用研究》 *

Also Published As

Publication number Publication date
CN112235149B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
Wermelinger Specification of software architecture reconfiguration
US6286035B1 (en) Validating and parsing engine for system configuration and support command messages
CN110427188B (zh) 单测断言程序的配置方法、装置、设备及存储介质
CN112882974A (zh) 一种json数据转换方法、装置、计算机设备和存储介质
CN115794213B (zh) 基于嵌入式系统的可配置对象管理方法、装置和设备
CN109857757A (zh) 数据库间的语句转换方法、系统和终端
CN113986241A (zh) 一种基于知识图谱的业务规则的配置方法以及装置
CN113901083A (zh) 基于多解析器的异构数据源操作资源解析定位方法和设备
CN113157904B (zh) 基于dfa算法的敏感词过滤方法及系统
CN112235149B (zh) 一种网络功能单元仿真建模的方法及系统、网络功能单元
CN117278661B (zh) 一种工业物联网多协议解析方法及系统
CN114489594A (zh) 一种命令解析器的构建方法、命令解析处理方法及装置
CN114172793B (zh) 一种网络配置知识图谱构建方法及装置
CN109063059A (zh) 行为日志处理方法、装置及电子设备
US20240004778A1 (en) Method for processing command, device for processing command, and electronic device
CN112883088B (zh) 一种数据处理方法、装置、设备及存储介质
WO2021259367A1 (zh) 统一sql的方法、系统、设备及介质
CN114281842A (zh) 一种数据库分表查询的方法及设备
CN113886422A (zh) 一种数据提取方法、装置、设备及存储介质
CN114385864A (zh) 一种图搜索方法、装置、设备及存储介质
CN113904946A (zh) 通信仿真中断控制方法及系统
CN114489682B (zh) nginx配置文件的操作方法、装置和设备
CN115168365B (zh) 数据存储方法、装置、电子设备及存储介质
CN115378824B (zh) 模型相似度确定方法、装置、设备及存储介质
CN116561106B (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