一种密钥表项的处理方法和设备转让专利

申请号 : CN201010547905.2

文献号 : CN101977381B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高志强

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种密钥表项的处理方法和设备,该方法包括:根据密钥的分配策略判断当前密钥表是否可存储所述密钥;如果是,则根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,并将所述密钥存储到所述密钥值转移前所对应的密钥表项中。本发明中,可以使得更多的TKIP用户上线,并为TKIP用户提供无线接入服务。

权利要求 :

1.一种密钥表项的处理方法,其特征在于,如果芯片的当前密钥表中无法存储需占用至少两个密钥表项的TKIP密钥时,该方法包括以下步骤:根据所述TKIP密钥的分配策略判断所述当前密钥表是否可存储所述TKIP密钥;

如果是,则根据所述TKIP密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,并根据所述TKIP密钥的分配特点整理所述密钥表的空闲密钥表项,以使所述密钥表满足所述TKIP密钥的分配要求,在整理后将所述TKIP密钥存储到所述密钥值转移前所对应的密钥表项中。

2.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;

根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥,具体包括:判断所述当前密钥表中是否有所述预设第一数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP单播密钥;否则,确定所述当前密钥表不可存储所述TKIP单播密钥。

3.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;

根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:从所述当前密钥表中选择整行的密钥表项,将所述整行的密钥表项中存在的密钥值复制到所述当前密钥表中所述整行的密钥表项之外的空闲密钥表项中;并删除所述整行的密钥表项中存在的密钥值。

4.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;

根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:步骤a、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行i;如果是,执行步骤b;否则,执行步骤g;

步骤b、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行j;如果是,执行步骤c;否则,执行步骤d;

步骤c、将行i中被占用的密钥表项中的密钥值拷贝到行j中空闲的密钥表项中,并清空行i中被占用的密钥表项;

步骤d、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤c;否则,执行步骤e;

步骤e、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行j;如果是,执行步骤f;步骤f、将行i中被占用的密钥表项中的密钥值拷贝到行j中与被占用的密钥表项相隔一个密钥表项的位置,并清空行i中被占用的密钥表项;

步骤g、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤h;否则,执行步骤n;

步骤h、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤i;否则,执行步骤j;

步骤i、获取行i被占用的密钥表项的类型和行j被占用的密钥表项的类型,并根据获取结果将行i中被占用的密钥表项中的密钥值和行j中被占用的密钥表项中的密钥值合并成一行;

步骤j、在所述当前密钥表的各行中查找两个使用了三个密钥表项的行j和行k;

步骤k、判断行i被占用的密钥表项的类型是否为TKIP组播密钥类型;如果是,执行步骤1;否则,执行步骤m;

步骤1、将行j被占用的三个密钥表项中的密钥值拷贝两个到行i空闲的密钥表项中,并拷贝一个到行k空闲的密钥表项中;或者,将行j中与空闲密钥表项相隔一个的密钥值拷贝到行k,并将行i中的两个密钥值拷贝到行j空闲的密钥表项中;

步骤m、将行i中的两个密钥值分别拷贝到行j和行k的空闲的密钥表项中;

步骤n、在所述当前密钥表的各行中查找四个使用了三个密钥表项的行,并将其中一行中的三个密钥值拷贝到其他行空闲的密钥表项中。

5.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;

根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥,具体包括:判断所述当前密钥表中是否有所述预设第二数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP组播密钥;否则,确定所述当前密钥表不可存储所述TKIP组播密钥。

6.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;

根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:从所述当前密钥表中选择一行中相隔一个密钥表项的密钥表项组,将所述密钥表项组中存在的密钥值复制到所述当前密钥表中所述密钥表项组之外的空闲密钥表项中;并删除所述密钥表项组中存在的密钥值。

7.如权利要求1所述的方法,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;

根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:步骤A、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤B,否则,执行步骤C;

步骤B、将行i的两个密钥值移动成相隔一个密钥表项的两个密钥值;

步骤C、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行i和j;

如果是,执行步骤D;

步骤D、根据行i中空闲的密钥表项将与其相隔一个密钥表项的密钥值拷贝到行j空闲的密钥表项。

8.一种密钥表项的处理设备,其特征在于,如果芯片的当前密钥表中无法存储需占用至少两个密钥表项的TKIP密钥时,该设备包括:判断模块,用于根据所述TKIP密钥的分配策略判断所述当前密钥表是否可存储所述TKIP密钥;

转移模块,用于当判断结果为是时,根据所述TKIP密钥的分配策略对所述当前密钥表中保存的密钥值进行转移;并在所述转移模块转移后,由所述处理设备根据所述TKIP密钥的分配特点整理所述密钥表的空闲密钥表项,以使所述密钥表满足所述TKIP密钥的分配要求;

存储模块,用于在所述处理设备整理后将所述TKIP密钥存储到所述密钥值转移前所对应的密钥表项中。

9.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;

所述判断模块,具体用于判断所述当前密钥表中是否有所述预设第一数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP单播密钥;否则,确定所述当前密钥表不可存储所述TKIP单播密钥。

10.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;

所述转移模块,具体用于从所述当前密钥表中选择整行的密钥表项,将所述整行的密钥表项中存在的密钥值复制到所述当前密钥表中所述整行的密钥表项之外的空闲密钥表项中;并删除所述整行的密钥表项中存在的密钥值。

11.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;所述转移模块,具体用于执行以下步骤:步骤a、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行i;如果是,执行步骤b;否则,执行步骤g;

步骤b、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行j;如果是,执行步骤c;否则,执行步骤d;

步骤c、将行i中被占用的密钥表项中的密钥值拷贝到行j中空闲的密钥表项中,并清空行i中被占用的密钥表项;

步骤d、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤c;否则,执行步骤e;

步骤e、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行j;如果是,执行步骤f;

步骤f、将行i中被占用的密钥表项中的密钥值拷贝到行j中与被占用的密钥表项相隔一个密钥表项的位置,并清空行i中被占用的密钥表项;

步骤g、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤h;否则,执行步骤n;

步骤h、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤i;否则,执行步骤j;

步骤i、获取行i被占用的密钥表项的类型和行j被占用的密钥表项的类型,并根据获取结果将行i中被占用的密钥表项中的密钥值和行j中被占用的密钥表项中的密钥值合并成一行;

步骤j、在所述当前密钥表的各行中查找两个使用了三个密钥表项的行j和行k;

步骤k、判断行i被占用的密钥表项的类型是否为TKIP组播密钥类型;如果是,执行步骤1;否则,执行步骤m;

步骤1、将行j被占用的三个密钥表项中的密钥值拷贝两个到行i空闲的密钥表项中,并拷贝一个到行k空闲的密钥表项中;或者,将行j中与空闲密钥表项相隔一个的密钥值拷贝到行k,并将行i中的两个密钥值拷贝到行j空闲的密钥表项中;

步骤m、将行i中的两个密钥值分别拷贝到行j和行k的空闲的密钥表项中;

步骤n、在所述当前密钥表的各行中查找四个使用了三个密钥表项的行,并将其中一行中的三个密钥值拷贝到其他行空闲的密钥表项中。

12.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;

所述判断模块,具体用于判断所述当前密钥表中是否有所述预设第二数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP组播密钥;否则,确定所述当前密钥表不可存储所述TKIP组播密钥。

13.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;

所述转移模块,具体用于从所述当前密钥表中选择一行中相隔一个密钥表项的密钥表项组,将所述密钥表项组中存在的密钥值复制到所述当前密钥表中所述密钥表项组之外的空闲密钥表项中;并删除所述密钥表项组中存在的密钥值。

14.如权利要求8所述的设备,其特征在于,所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;所述转移模块,具体用于执行以下步骤:步骤A、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤B,否则,执行步骤C;

步骤B、将行i的两个密钥值移动成相隔一个密钥表项的两个密钥值;

步骤C、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行i和j;

如果是,执行步骤D;

步骤D、根据行i中空闲的密钥表项将与其相隔一个密钥表项的密钥值拷贝到行j空闲的密钥表项。

说明书 :

一种密钥表项的处理方法和设备

技术领域

[0001] 本发明涉及通信技术领域,特别是涉及一种密钥表项的处理方法和设备。

背景技术

[0002] 在WLAN(Wireless Local Area Networks,无线局域网)接入服务中,每个用户上线之后,AP(Access Point,无线接入点)需要为其生成一个单播密钥,且AP将使用该单播密钥对该用户发送、接收的单播报文进行加、解密处理。对于每个有加密用户接入的BSS(Basic Service Set,基本服务集),AP需要为其生成一个组播密钥,该组播密钥用于向接入该加密BSS的所有用户发送组播报文。在WMAC(Wireless Media Access Control,无线介质接入控制)芯片上,有若干个硬件密钥表项(key entry),该硬件密钥表项用于存储单播和组播密钥。当WMAC芯片收发无线报文时,通过查询硬件密钥表项,则可使用硬件密钥表项中保存的密钥来对无线报文进行硬件的解密和加密处理;当用户下线或BSS被删除时,通过删除其对应的密钥,则可释放硬件密钥表项中占用的密钥表项资源。
[0003] 现有技术中,如图1所示的WMAC芯片的密钥表项及使用情况示意图,WMAC芯片上的硬件密钥表有128个密钥表项,排列成32行(0~31),4列(I~IV)。其中,密钥表项的分配会由于接入服务的加密类型不同而占用不同个数的密钥表项,且当密钥占用超过一个表项时会有一定的分布规则。
[0004] 具体的,WMAC芯片目前支持的加密类型有:明文、WEP(Wired Equivalent Privacy,有线等效保密)、TKIP(Temporal Key Integrity Protocol,暂时密钥集成协议)和CCMP(Counter Mode CBC-MAC Protocol,计数器模式密码块链消息完整码协议),各种加密类型的密钥分配规则为:(1)明文,即不加密,每个上线用户的单播密钥占用一个密钥表项,不分配组播密钥表项。(2)WEP加密,每个用户的单播密钥占用一个密钥表项,为每个BSS分配一个组播密钥且占用一个表项。(3)CCMP加密,与WEP加密类似,每个单播密钥和组播密钥都占用一个表项。(4)TKIP加密,每个用户的单播密钥需要占用4个密钥表项,且4个表项在同一行;BSS的组播密钥需占用2个密钥表项,且2个表项是同一行中相隔一个表项的一对。例如,如图1所示,行31被以TKIP加密上线的用户S 0001的单播密钥占用,行0中的列II和IV,被以TKIP加密的BSS 01的组播密钥占用。
[0005] 在实现本发明的过程中,发明人发现现有技术中至少存在以下问题:
[0006] 在WMAC芯片上同时使能多种加密上线方式时,各种加密类型均将按照自身的分配方法来占用WMAC芯片上的密钥表项资源。但是,当用户和创建的BSS较多,且用户频繁上、下线,BSS频繁被创建、删除时,则WMAC芯片密钥表项中会出现一些“空洞”。如果这时再有TKIP用户要上线或创建TKIP加密类型的BSS时,虽然空闲的密钥表项个数超过4或2,但由于密钥表项的分布不满足TKIP单播或组播密钥的要求而导致分配失败,继而导致TKIP类型的用户不能上线或TKIP类型的BSS创建失败。

发明内容

[0007] 本发明提供一种密钥表项的处理方法和设备,以合理利用密钥表项资源,使更多的TKIP用户上线,并为其提供无线接入服务。
[0008] 为了达到上述目的,本发明提供一种密钥表项的处理方法,如果芯片的当前密钥表中无法存储需占用至少两个密钥表项的密钥时,该方法包括以下步骤:
[0009] 根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥;
[0010] 如果是,则根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,并将所述密钥存储到所述密钥值转移前所对应的密钥表项中。
[0011] 所述需占用至少两个密钥表项的密钥包括:TKIP密钥。
[0012] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0013] 根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥,具体包括:判断所述当前密钥表中是否有所述预设第一数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP单播密钥;否则,确定所述当前密钥表不可存储所述TKIP单播密钥。
[0014] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0015] 根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:从所述当前密钥表中选择整行的密钥表项,将所述整行的密钥表项中存在的密钥值复制到所述当前密钥表中所述整行的密钥表项之外的空闲密钥表项中;并删除所述整行的密钥表项中存在的密钥值。
[0016] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0017] 根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:
[0018] 步骤a、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行i;如果是,执行步骤b;否则,执行步骤g;
[0019] 步骤b、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行j;如果是,执行步骤c;否则,执行步骤d;
[0020] 步骤c、将行i中被占用的密钥表项中的密钥值拷贝到行j中空闲的密钥表项中,并清空行i中被占用的密钥表项;
[0021] 步骤d、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤c;否则,执行步骤e;
[0022] 步骤e、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行j;如果是,执行步骤f;
[0023] 步骤f、将行i中被占用的密钥表项中的密钥值拷贝到行j中与被占用的密钥表项相隔一个密钥表项的位置,并清空行i中被占用的密钥表项;
[0024] 步骤g、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤h;否则,执行步骤n;
[0025] 步骤h、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤i;否则,执行步骤j;
[0026] 步骤i、获取行i被占用的密钥表项的类型和行j被占用的密钥表项的类型,并根据获取结果将行i中被占用的密钥表项中的密钥值和行j中被占用的密钥表项中的密钥值合并成一行;
[0027] 步骤j、在所述当前密钥表的各行中查找两个使用了三个密钥表项的行j和行k;
[0028] 步骤k、判断行i被占用的密钥表项的类型是否为TKIP组播密钥类型;如果是,执行步骤l;否则,执行步骤m;
[0029] 步骤l、将行j被占用的三个密钥表项中的密钥值拷贝两个到行i空闲的密钥表项中,并拷贝一个到行k空闲的密钥表项中;或者,
[0030] 将行j中与空闲密钥表项相隔一个的密钥值拷贝到行k,并将行i中的两个密钥值拷贝到行j空闲的密钥表项中;
[0031] 步骤m、将行i中的两个密钥值分别拷贝到行j和行k的空闲的密钥表项中;
[0032] 步骤n、在所述当前密钥表的各行中查找四个使用了三个密钥表项的行,并将其中一行中的三个密钥值拷贝到其他行空闲的密钥表项中。
[0033] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0034] 根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥,具体包括:判断所述当前密钥表中是否有所述预设第二数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP组播密钥;否则,确定所述当前密钥表不可存储所述TKIP组播密钥。
[0035] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0036] 根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:从所述当前密钥表中选择一行中相隔一个密钥表项的密钥表项组,将所述密钥表项组中存在的密钥值复制到所述当前密钥表中所述密钥表项组之外的空闲密钥表项中;并删除所述密钥表项组中存在的密钥值。
[0037] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0038] 根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移,具体包括:
[0039] 步骤A、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤B,否则,执行步骤C;
[0040] 步骤B、将行i的两密钥值移动成相隔一个密钥表项的两个密钥值;
[0041] 步骤C、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行i和j;如果是,执行步骤D;
[0042] 步骤D、根据行i中空闲的密钥表项将与其相隔一个密钥表项的密钥值拷贝到行j空闲的密钥表项。
[0043] 本发明提供一种密钥表项的处理设备,如果芯片的当前密钥表中无法存储需占用至少两个密钥表项的密钥时,该设备包括:
[0044] 判断模块,用于根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥;
[0045] 转移模块,用于当判断结果为是时,根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移;
[0046] 存储模块,用于将所述密钥存储到所述密钥值转移前所对应的密钥表项中。
[0047] 所述需占用至少两个密钥表项的密钥包括:TKIP密钥。
[0048] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0049] 所述判断模块,具体用于判断所述当前密钥表中是否有所述预设第一数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP单播密钥;否则,确定所述当前密钥表不可存储所述TKIP单播密钥。
[0050] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0051] 所述转移模块,具体用于从所述当前密钥表中选择整行的密钥表项,将所述整行的密钥表项中存在的密钥值复制到所述当前密钥表中所述整行的密钥表项之外的空闲密钥表项中;并删除所述整行的密钥表项中存在的密钥值。
[0052] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;所述转移模块,具体用于执行以下步骤:
[0053] 步骤a、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行i;如果是,执行步骤b;否则,执行步骤g;
[0054] 步骤b、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行j;如果是,执行步骤c;否则,执行步骤d;
[0055] 步骤c、将行i中被占用的密钥表项中的密钥值拷贝到行j中空闲的密钥表项中,并清空行i中被占用的密钥表项;
[0056] 步骤d、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤c;否则,执行步骤e;
[0057] 步骤e、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行j;如果是,执行步骤f;
[0058] 步骤f、将行i中被占用的密钥表项中的密钥值拷贝到行j中与被占用的密钥表项相隔一个密钥表项的位置,并清空行i中被占用的密钥表项;
[0059] 步骤g、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤h;否则,执行步骤n;
[0060] 步骤h、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤i;否则,执行步骤j;
[0061] 步骤i、获取行i被占用的密钥表项的类型和行j被占用的密钥表项的类型,并根据获取结果将行i中被占用的密钥表项中的密钥值和行j中被占用的密钥表项中的密钥值合并成一行;
[0062] 步骤j、在所述当前密钥表的各行中查找两个使用了三个密钥表项的行j和行k;
[0063] 步骤k、判断行i被占用的密钥表项的类型是否为TKIP组播密钥类型;如果是,执行步骤l;否则,执行步骤m;
[0064] 步骤l、将行j被占用的三个密钥表项中的密钥值拷贝两个到行i空闲的密钥表项中,并拷贝一个到行k空闲的密钥表项中;或者,
[0065] 将行j中与空闲密钥表项相隔一个的密钥值拷贝到行k,并将行i中的两个密钥值拷贝到行j空闲的密钥表项中;
[0066] 步骤m、将行i中的两个密钥值分别拷贝到行j和行k的空闲的密钥表项中;
[0067] 步骤n、在所述当前密钥表的各行中查找四个使用了三个密钥表项的行,并将其中一行中的三个密钥值拷贝到其他行空闲的密钥表项中。
[0068] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0069] 所述判断模块,具体用于判断所述当前密钥表中是否有所述预设第二数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP组播密钥;否则,确定所述当前密钥表不可存储所述TKIP组播密钥。
[0070] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0071] 所述转移模块,具体用于从所述当前密钥表中选择一行中相隔一个密钥表项的密钥表项组,将所述密钥表项组中存在的密钥值复制到所述当前密钥表中所述密钥表项组之外的空闲密钥表项中;并删除所述密钥表项组中存在的密钥值。
[0072] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0073] 所述转移模块,具体用于执行以下步骤:
[0074] 步骤A、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤B,否则,执行步骤C;
[0075] 步骤B、将行i的两个密钥值移动成相隔一个密钥表项的两个密钥值;
[0076] 步骤C、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行i和j;如果是,执行步骤D;
[0077] 步骤D、根据行i中空闲的密钥表项将与其相隔一个密钥表项的密钥值拷贝到行j空闲的密钥表项。
[0078] 与现有技术相比,本发明至少具有以下优点:
[0079] 通过将空闲的密钥表项整理成满足TKIP单播或TKIP组播密钥的分配要求,从而可以使得更多的TKIP用户上线,并为TKIP用户提供无线接入服务。

附图说明

[0080] 图1是现有技术中WMAC芯片的密钥表项及使用情况示意图;
[0081] 图2是本发明提供的一种应用场景示意图;
[0082] 图3是本发明提供的一种密钥表项的处理方法流程图;
[0083] 图4是本发明提供的一种针对TKIP单播密钥的密钥表项的处理方法流程图;
[0084] 图5是本发明提供的一种针对TKIP组播密钥的密钥表项的处理方法流程图;
[0085] 图6是本发明提出的一种密钥表项的处理设备结构图。

具体实施方式

[0086] 当在无线服务上配置多种加密接入方式,且上线的用户和创建的BSS较多,用户频繁上下线、BSS频繁被创建、删除时,WMAC芯片的硬件密钥表项中会产生一些空闲密钥“空洞”,从而导致虽然总的空闲密钥表项个数足够,但由于空闲密钥表项的分布不满足TKIP单播或TKIP组播密钥的使用要求而不能被TKIP单播和组播密钥使用。
[0087] 针对上述问题,本发明提供一种密钥表项的处理方法和设备,以根据TKIP单播或组播密钥的分配特点,通过移动密钥表项将空闲的密钥表项整理成满足TKIP单播或TKIP组播密钥的分配要求,从而可以使得更多的TKIP用户上线,并为TKIP用户提供无线接入服务。
[0088] 下面结合附图对本发明实施例进行详细描述。
[0089] 如图2所示的本发明应用场景示意图,实现本发明的设备的位置在802.11MAC(Media Access Control,介质访问控制)层,当802.11LLC(Logical Link Control,逻辑链路控制)层的应用程序要创建加密的BSS或响应用户的上线请求时,可以将生成的BSS的组播密钥或用户的单播密钥下发给802.11MAC层,由802.11MAC层软件为BSS或用户分配硬件密钥表项来保存其密钥值。本发明提供的设备可以基于已有的
802.11MAC层密钥表项分配的模块,当密钥表项分配失败时则可调用到本设备,并在进行密钥表项的处理后再重新分配密钥表项,将分配成功或失败的结果反馈给802.11LLC层,而如果分配失败时,则用户将不能上线。
[0090] 基于上述应用场景,本发明提出一种密钥表项的处理方法,本发明中,对于WMAC芯片(实际应用中还可以为其他类型的芯片,只要具有类似的特征即可)来说,各种加密类型的密钥分配规则中,TKIP单播密钥(即用户的单播密钥)和TKIP组播密钥(即BSS的组播密钥)是分配规则最特别的两种密钥,TKIP单播密钥需要占用一整行密钥表项,TKIP组播密钥需要使用一行中相隔一个密钥表项的一对密钥表项;而其它类型的单播密钥或组播密钥均占用一个密钥表项。因此,在分配TKIP单播密钥或TKIP组播密钥时,如果对密钥表项查找一遍后没有找到能够满足分配规则的表项(即如果芯片的当前密钥表中无法存储TKIP密钥),则可以使用本发明提供的技术方案。如图3所示,该方法包括以下步骤:
[0091] 步骤301,根据TKIP密钥的分配策略判断当前密钥表是否可存储TKIP密钥,如果是,转到步骤302,否则,结束流程。其中,图1所示的WMAC芯片的所有密钥表项为密钥表。
[0092] 具体的,该TKIP密钥包括但不限于TKIP单播密钥和TKIP组播密钥,当TKIP密钥为TKIP单播密钥时,则相应的分配策略为TKIP单播密钥占用整行预设第一数值的密钥表项(即TKIP单播密钥占用整行4个密钥表项);当TKIP密钥为TKIP组播密钥时,则相应的分配策略为TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项(即TKIP组播密钥占用一行中相隔一个密钥表项的2个密钥表项)。
[0093] 本步骤中,对于TKIP单播密钥来说,需要判断当前密钥表中是否有预设第一数值的密钥表项为空闲(即判断当前密钥表中是否有4个密钥表项为空闲),如果有,则确定当前密钥表可存储该TKIP单播密钥;否则,确定当前密钥表不可存储该TKIP单播密钥。
[0094] 对于TKIP组播密钥来说,需要判断当前密钥表中是否有预设第二数值的密钥表项为空闲(即判断当前密钥表中是否有2个密钥表项为空闲),如果有,则确定当前密钥表可存储该TKIP组播密钥;否则,确定当前密钥表不可存储该TKIP组播密钥。
[0095] 步骤302,根据TKIP密钥的分配策略对当前密钥表中保存的密钥值进行转移。
[0096] 具体的,对于TKIP单播密钥来说,需要从当前密钥表中选择整行的密钥表项(可根据实际需要任意选择),将整行的密钥表项中存在的密钥值复制到当前密钥表中整行的密钥表项之外的空闲密钥表项中;并删除该整行的密钥表项中存在的密钥值。例如,在WMAC芯片的密钥表中,可选择第3行(该第3行可以为有3个空闲密钥表项的行、有2个空闲密钥表项的行、有1个空闲密钥表项的行、或没有空闲密钥表项的非TKIP密钥的行)作为整行的密钥表项,并将第3行中存在的密钥值复制到当前密钥表中第3行之外的任意空闲密钥表项中,并删除第3行的密钥表项中存在的密钥值。
[0097] 对于TKIP组播密钥来说,需要从当前密钥表中选择一行中相隔一个密钥表项的密钥表项组(即相隔一个密钥表项的2个密钥表项),将密钥表项组中存在的密钥值复制到当前密钥表中密钥表项组之外的空闲密钥表项中;并删除密钥表项组中存在的密钥值。例如,在WMAC芯片的密钥表中,可选择第3行的第一列和第三列作为该密钥表项组(或者选择第3行的第二列和第四列作为该密钥表项组),将第3行第一列和第三列中存在的密钥值复制到当前密钥表中第3行第一列和第三列之外的任意空闲密钥表项中,并删除第3行第一列和第三列的密钥表项中存在的密钥值。
[0098] 步骤303,将TKIP密钥存储到密钥值转移前所对应的密钥表项中。例如,对于步骤302的转移方式,则对于TKIP单播密钥来说,可将4个TKIP单播密钥存储到密钥值转移前的第3行密钥表项中;对于TKIP组播密钥来说,可将2个TKIP组播密钥存储到密钥值转移前的第3行的第一列和第三列密钥表项中。
[0099] 需要注意的是,本发明中并不局限于上述TKIP单播密钥和TKIP组播密钥的相关特征,所有需占用至少两个密钥表项的密钥均可以使用本发明提供的技术方案。例如,某密钥的分配策略为需要占用当前密钥表中一行的前3个密钥表项时,当判断出当前密钥表无法存储该密钥时,在步骤301中,需要根据该密钥的分配策略判断当前密钥表是否可存储该密钥,即判断当前密钥表中是否有3个密钥表项为空闲;如果有,则步骤302中,需要根据TKIP密钥的分配策略对当前密钥表中的密钥值进行转移,即将一行中前3个密钥表项存在的密钥值转移到其他空闲的密钥表项中,并将需要存储的密钥存储在该行中的前3个密钥表项即可。对于其他密钥的处理方式,本发明中不再详加赘述。
[0100] 为了更加清楚的阐述本发明提供的技术方案,以下结合图4的处理流程对TKIP单播密钥的处理过程进行进一步的说明。在图4中,已被占用的密钥表项用“key”来表示;TKIP组播密钥占用相隔一个密钥表项的一对表项,用TWO_ENTRY表示;非TKIP加密类型的单播和组播密钥占用一个密钥表项,用ONE_ENTRY表示。如图4所示的密钥表项的处理方法,包括以下步骤:
[0101] 步骤401,对密钥表按行统计使用个数和key的类型。
[0102] 具体的,首先对WMAC芯片上的密钥表逐行统计密钥表项的使用个数,然后对有空闲表项的各行中已被使用的密钥表项中保存的密钥类型进行分析,获知密钥表项中保存的是TWO_ENTRY(TKIP组播密钥),还是ONE_ENTRY的密钥(其它密钥)。
[0103] 步骤402,判断空闲的密钥表项总数是否小于4。如果空闲的密钥表项总数小于4时,则确定不能整理出整行的空闲密钥表项,直接返回失败,结束流程;如果空闲的密钥表项总数大于或等于4,则确定可以整理出整行的空闲密钥表项,执行步骤403。
[0104] 步骤403,判断在各行中是否可查找到使用了一个key的行i。如果是,执行步骤404,否则,执行步骤409。
[0105] 步骤404,判断在各行中是否可查找到使用了三个key的行j。如果是,执行步骤405,否则,执行步骤406。
[0106] 步骤405,将行i中被占用的key中的密钥内容拷贝到行j中空闲的密钥表项中,并清空行i中被占用的key。此时,行i为整行空闲,可以分配给TKIP单播密钥使用,返回成功。
[0107] 步骤406,判断在各行中是否可查找到使用了两个key的行j。如果是,执行步骤405,否则,执行步骤407。
[0108] 步骤407,判断在各行中是否可查找到使用了一个key的行j。如果是,执行步骤408,否则,使用“断言”结束流程。其中,由于密钥表中空闲密钥表项总数是大于或等于4的,因此只有一个只用了一个密钥表项的行而没有其他空闲表项的行的情况是不存在的,以一个“断言”框表示。
[0109] 步骤408,将行i中被占用的key中的密钥内容拷贝到与行j中已使用的key相隔一个的位置,并清空行i中被占用的key。此时,行i为整行空闲,可以分配给TKIP单播密钥使用,返回成功。
[0110] 步骤409,判断在各行中是否可查找到使用了两个key的行i。如果是,执行步骤410,否则,执行步骤416。
[0111] 步骤410,判断在各行中是否可查找到使用了两个key的行j。如果是,执行步骤411,否则,执行步骤412。
[0112] 步骤411,获取行i的key类型和行j的key类型,并根据获取结果将行i和行j合并成一行,返回成功。其中,本步骤中可分为以下几种情况:
[0113] (1)行i是TWO_ENTRY类型、行j是TWO_ENTRY类型,此时由于行i和行j均为TWO_ENTRY类型,则可以直接将行i和行j合并成一行,即可以将行i的两个TWO_ENTRY合并到行j中,也可以将行j的两个TWO_ENTRY合并到行i中。
[0114] (2)行i是TWO_ENTRY类型、行j是两个ONE_ENTRY类型,此时,可以将行j的两个ONE_ENTRY合并到行i中;当然,实际应用中,也可以将行j的两个ONE_ENTRY移动为相隔一个密钥表项的两个ONE_ENTRY,并可以将行i的TWO_ENTRY合并到行j中。
[0115] (3)行i是两个ONE_ENTRY类型,行j是TWO_ENTRY类型,此时,可以将行i的两个ONE_ENTRY合并到行j中;当然,实际应用中,也可以将行i的两个ONE_ENTRY移动为相隔一个密钥表项的两个ONE_ENTRY,并可以将行j的TWO_ENTRY合并到行j中。
[0116] (4)行i是两个ONE_ENTRY类型,行j是两个ONE_ENTRY类型,此时可以直接将行i和行j合并成一行,即可以将行i的两个ONE_ENTRY合并到行j中,也可以将行j的两个ONE_ENTRY合并到行i中。
[0117] 步骤412,查找两个使用了三个key的行j和k。
[0118] 步骤413,判断行i是否为TWO_ENTRY类型,如果是,执行步骤414,否则,执行步骤415。
[0119] 步骤414,将行j的三个key向行i拷贝两个,并向行k拷贝一个。此时,行j是整行空闲,返回成功。或者,将行j中与空闲密钥表项相隔一个的密钥拷贝到行k,然后将行i中的TWO_ENTRY表项拷贝到行j,此时,行i是整行空闲,返回成功。当然,实际应用中,还可以对行k进行处理,行k的处理过程与行j的处理方式相同,本发明中不再赘述。
[0120] 步骤415,将行i的两个key分别拷贝到行j和行k的空闲表项中,返回成功。
[0121] 步骤416,查找到四个用了三个key的行(如行1、行2、行3和行4),如果存在没有TWO_ENTRY类型的行,则可将该行的3个key拷贝到其它三行的空闲表项中,返回成功;如果不存在没有TWO_ENTRY类型的行(即四行中均为1个TWO_ENTRY和1个ONE_ENTRY),则可以将行1中的ONE_ENTRY拷贝到行2,并将行4中的ONE_ENTRY拷贝到行3,将行4中的TWO_ENTRY拷贝到行1,此时行4整行空闲,返回成功。当然还可以使用其他的转移方式,在此不再赘述。
[0122] 需要注意的是,本发明中并不局限于上述处理方式,只要可以空闲出一个整行4个密钥表项即可,对于其他的处理方式,本发明中不再赘述。
[0123] 当然,在实际应用中,上述步骤之间的顺序还可以根据实际需要进行调整,本发明中并不局限于上述步骤的顺序关系。
[0124] 以下结合图5的处理流程对TKIP组播密钥的处理过程进行进一步的说明。在图5中,已被占用的密钥表项用“key”来表示;TKIP组播密钥占用相隔一个密钥表项的一对表项,用TWO_ENTRY表示;非TKIP加密类型的单播和组播密钥占用一个密钥表项,用ONE_ENTRY表示。
[0125] 具体的,针对TKIP组播密钥,如果查找满足TKIP组播密钥分配条件的密钥表项失败,且密钥表中有只用了两个密钥表项的行,则该行中有两个ONE_ENTRY的已用密钥表项,且两个密钥表项的位置为相邻或相隔两个空闲密钥表项,此时只要移动这两个密钥表项的位置,使之相隔一个空闲密钥表项即可。如果没有空闲两个密钥表项的行,则需要查找到两个用了三个key的行i和j,然后将其中一行中与空闲密钥表项相隔一个密钥表项的已用密钥表项移动到另一行的空闲位置即可。
[0126] 如图5所示的密钥表项的处理方法,包括以下步骤:
[0127] 步骤501,对密钥表按行统计使用个数和key的类型。
[0128] 步骤502,判断空闲的密钥表项总数是否小于2。如果空闲的密钥表项总数小于2时,则确定不能整理出2个空闲密钥表项,直接返回失败,结束流程;如果空闲的密钥表项总数大于或等于2,则确定可以整理出2个空闲密钥表项,执行步骤503。
[0129] 步骤503,判断在各行中是否可查找到使用了两个key的行i。如果是,执行步骤504,否则,执行步骤505。
[0130] 步骤504,将行i的两个ONE_ENTRY的key移动成满足相隔一个密钥表项的条件,返回成功。
[0131] 步骤505,判断在各行中是否可查找到使用了三个key的行i和j。如果是,执行步骤506,否则,使用“断言”结束流程。
[0132] 步骤506,根据行i中空闲的密钥表项将与其相隔一个密钥表项的key拷贝到行j的空闲位置,返回成功。
[0133] 当然,在实际应用中,上述步骤之间的顺序还可以根据实际需要进行调整,本发明中并不局限于上述步骤的顺序关系。
[0134] 基于与上述方法同样的发明构思,本发明还提出了一种密钥表项的处理设备,如果芯片的当前密钥表中无法存储需占用至少两个密钥表项的密钥时,如图6所示,该设备包括:包括:
[0135] 判断模块11,用于根据所述密钥的分配策略判断所述当前密钥表是否可存储所述密钥;;
[0136] 转移模块12,用于当判断结果为是时,根据所述密钥的分配策略对所述当前密钥表中保存的密钥值进行转移;
[0137] 存储模块13,用于将所述密钥存储到所述密钥值转移前所对应的密钥表项中。
[0138] 本发明中,所述需占用至少两个密钥表项的密钥包括:TKIP密钥。
[0139] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0140] 所述判断模块11,具体用于判断所述当前密钥表中是否有所述预设第一数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP单播密钥;否则,确定所述当前密钥表不可存储所述TKIP单播密钥。
[0141] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0142] 所述转移模块12,具体用于从所述当前密钥表中选择整行的密钥表项,将所述整行的密钥表项中存在的密钥值复制到所述当前密钥表中所述整行的密钥表项之外的空闲密钥表项中;并删除所述整行的密钥表项中存在的密钥值。
[0143] 所述TKIP密钥为TKIP单播密钥时,所述TKIP密钥的分配策略包括所述TKIP单播密钥占用整行预设第一数值的密钥表项;
[0144] 所述转移模块12,具体用于执行以下步骤:
[0145] 步骤a、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行i;如果是,执行步骤b;否则,执行步骤g;
[0146] 步骤b、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行j;如果是,执行步骤c;否则,执行步骤d;
[0147] 步骤c、将行i中被占用的密钥表项中的密钥值拷贝到行j中空闲的密钥表项中,并清空行i中被占用的密钥表项;
[0148] 步骤d、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤c;否则,执行步骤e;
[0149] 步骤e、判断所述当前密钥表的各行中是否可查找到使用了一个密钥表项的行j;如果是,执行步骤f;
[0150] 步骤f、将行i中被占用的密钥表项中的密钥值拷贝到行j中与被占用的密钥表项相隔一个密钥表项的位置,并清空行i中被占用的密钥表项;
[0151] 步骤g、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤h;否则,执行步骤n;
[0152] 步骤h、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行j;如果是,执行步骤i;否则,执行步骤j;
[0153] 步骤i、获取行i被占用的密钥表项的类型和行j被占用的密钥表项的类型,并根据获取结果将行i中被占用的密钥表项中的密钥值和行j中被占用的密钥表项中的密钥值合并成一行;
[0154] 步骤j、在所述当前密钥表的各行中查找两个使用了三个密钥表项的行j和行k;
[0155] 步骤k、判断行i被占用的密钥表项的类型是否为TKIP组播密钥类型;如果是,执行步骤l;否则,执行步骤m;
[0156] 步骤l、将行j被占用的三个密钥表项中的密钥值拷贝两个到行i空闲的密钥表项中,并拷贝一个到行k空闲的密钥表项中;或者,
[0157] 将行j中与空闲密钥表项相隔一个的密钥值拷贝到行k,并将行i中的两个密钥值拷贝到行j空闲的密钥表项中;
[0158] 步骤m、将行i中的两个密钥值分别拷贝到行j和行k的空闲的密钥表项中;
[0159] 步骤n、在所述当前密钥表的各行中查找四个使用了三个密钥表项的行,并将其中一行中的三个密钥值拷贝到其他行空闲的密钥表项中。
[0160] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0161] 所述判断模块11,具体用于判断所述当前密钥表中是否有所述预设第二数值的密钥表项为空闲,如果有,则确定所述当前密钥表可存储所述TKIP组播密钥;否则,确定所述当前密钥表不可存储所述TKIP组播密钥。
[0162] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0163] 所述转移模块12,具体用于从所述当前密钥表中选择一行中相隔一个密钥表项的密钥表项组,将所述密钥表项组中存在的密钥值复制到所述当前密钥表中所述密钥表项组之外的空闲密钥表项中;并删除所述密钥表项组中存在的密钥值。
[0164] 所述TKIP密钥为TKIP组播密钥时,所述TKIP密钥的分配策略包括所述TKIP组播密钥占用一行中相隔一个密钥表项的预设第二数值的密钥表项;
[0165] 所述转移模块12,具体用于执行以下步骤:
[0166] 步骤A、判断所述当前密钥表的各行中是否可查找到使用了两个密钥表项的行i;如果是,执行步骤B,否则,执行步骤C;
[0167] 步骤B、将行i的两个密钥值移动成相隔一个密钥表项的两个密钥值;
[0168] 步骤C、判断所述当前密钥表的各行中是否可查找到使用了三个密钥表项的行i和j;如果是,执行步骤D;
[0169] 步骤D、根据行i中空闲的密钥表项将与其相隔一个密钥表项的密钥值拷贝到行j空闲的密钥表项。
[0170] 其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0171] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0172] 本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0173] 本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0174] 上述本发明序号仅仅为了描述,不代表实施例的优劣。
[0175] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。