一种基于树状结构的新型***

分享到:
219
下一篇 >

摘要:介绍了一种***;数据包;树状结构;C++;JAVA

0 引言

    计算机其中A p、B p和C p处于同一层,root为根结构体,包含了A p、B p和C p结构体。基本数据类型包括整形、字符型、位域等,为叶子结点,非基本类型数据包括结构体数组、联合等,为非叶子结点。在此,这条消息可由树状结构来表示,如图3所示,root根结点表示为0000 0000,A结点表示为0000 0001,a1表示为0001 0001;B结点表示为0000 0010,b1表示为0001 0010,b2表示为0010 0010;C[0]表示为00000 100,c1表示为0001 0100,c2表示为0010 0100,c3表示为0100 0100;C表示为0000 1000,c4表示为0001 1000,c5表示为0010 1000,c6表示为01001000。可见root、A、B、C[0]、C[1]为非叶子结点,是非基本数据类型,其余是叶子结点,是基本数据类型。我们称root为A、B、C[0]和C[1]的父结点,A是a1的父结点,B是b1和b2的父结点,以此类推。注意到,每个父结点和其子结点位与(&)的结果值都为父结点,例如:root(0000 0000)&A(0000 0001)=root(0000 0000),A(0000 0001)&a1(0001 0001)=A(0000 0001),B(0000 0010)&b2(0010 0010)=B(00 00 0010)。由此,若要取KPI b2和c4的值,那么传入的目标值为m=b2 消息名称、C头文件路径、逻辑表路径、***输出路径、端类型等。

    XSD转换模块主要进行C头文件定义的结构体的解析,并生成XSD文件。

    XSD解析模块将XSD文件解析成XSD素对象。这里采用DOM方式进行解析XSD文件,DOM(文档对象模型)定义了层次化模型来表示XSD文档,对应XSD中的每一个元素定义一个相应的类与其一一映射。解析时读入整个XSD文件,然后在内存构建一个树状结构,每遇到一个元素就实例化一个元素对象。XSD元素对象分为根元素、结构体元素和叶子元素。根元素为整个XSD文件,如图3中的root,结构体元素为XSD文件的非叶子结点,如图3中的A、C[0]等,叶子元素为XSD文件的叶子结点,其存储了具体的KPI的值,如图3中的a1等。

    XSD访问模块的功能是在XSD对象中查询逻辑表中的数据,并生成***。

    逻辑表主要是用来表示在C头文件中不能表示的逻辑情况,在此有三类常见的逻辑。通常在一个union里面有多个元素,在解码原始数据流时要选择正确的元素,那么,就必须有一个指引元素,其指明了哪一个元素是被选择的。如果这个指引元素是在union外,那么就称其为key out union,相反则称其为key in union。如果我们要解码的KPI是一个变长数组,那么显然在C头文件中是没有办法描述的,在此我们定义一个变量专门用来定义变长数组的长度,称其为variable length array。在某种条件下在数据流中有的数据是没有意义的,那么就需要我们定义一个变量来决定其是否有意义,我们称这样的变量为optional。

4 结束语

    针对数据包中的大量数据,***利用树状结构的编码规则可以快速找到期望的KPI的值,这种对信息提取的高效性,可以大大提高工作效率,增加效益。此***不仅可以单独用来对数据包里面的数据进行提取,也可以和其它软件一起构成一个小型测试系统等。

你可能感兴趣: 设计应用 图片 *** 内存 存储
无觅相关文章插件,快速提升流量