CN108614734B - 安全参数索引管理方法及装置 - Google Patents
安全参数索引管理方法及装置 Download PDFInfo
- Publication number
- CN108614734B CN108614734B CN201611148857.3A CN201611148857A CN108614734B CN 108614734 B CN108614734 B CN 108614734B CN 201611148857 A CN201611148857 A CN 201611148857A CN 108614734 B CN108614734 B CN 108614734B
- Authority
- CN
- China
- Prior art keywords
- array
- index
- idle
- array element
- security parameter
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种安全参数索引管理方法及装置,应用于通信设备,其特征在于,所述通信设备中包括一个索引数组,所述索引数组包括未用于生成安全参数索引的空闲数组元素;所述方法包括:选取一个所述空闲数组元素作为第一目标数组元素;基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。本发明通过数组形式对安全参数索引进行分配,基于空闲数组元素的数组下标生成安全参数索引,保证了生成的安全参数索引必定是未被使用的,避免了安全参数索引分配冲突的问题。且本发明采用数组组织安全参数索引,相对现有技术使用HASH表的方式,占用内存更少,查找效率更高。
Description
技术领域
本发明涉及通信安全领域,具体而言,涉及一种安全参数索引管理方法及装置。
背景技术
通信设备间在通信时需要通过安全关联(Security Association,SA)进行安全验证,在验证过程中需要根据报文的目的地址、协议及安全参数索引来查找解封报文需要使用的SA。
现有技术中,通过以哈希(HASH)表形式组织SA,在通过目的地址、协议及安全参数索引生成HASH值来查找对应的SA,HASH冲突(不同的输入HASH的结果相同)的SA以链表形式组织在一起挂在同一个HASH节点上。在查找SA时,先根据HASH值定位到HASH节点,然后遍历链表比较目的地址、协议、SPI来确定具体的SA。
现有方式内入报文处理时通过查HASH表确定所需的SA,为新SA分配SPI时也通过查HASH表确定是否存在冲突。为提高查找效率需要扩大HASH表大小以减少HASH冲突,造成了内存资源的浪费。且即使采用扩大HASH表的方式,也无法完全避免HASH冲突导致的查找效率低下。
发明内容
本发明实施例提供一种安全参数索引管理方法及装置,以解决现有技术中HASH冲突导致的查找效率低下的问题。
本发明的一个目的在于提供一种安全参数索引管理方法,应用于通信设备,所述通信设备中包括一索引数组,所述索引数组包括未用于生成安全参数索引的空闲数组元素;所述方法包括:
选取一所述空闲数组元素作为第一目标数组元素;
基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
本发明的另一个目的在于提供一种安全参数索引管理装置,应用于通信设备,所述通信设备中包括一个索引数组,所述索引数组包括未用于生成安全参数索引的空闲数组元素;所述装置包括:
选取模块,用于选取一个所述空闲数组元素作为第一目标数组元素;
生成模块,用于基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
本发明的另一个目的在于提供一种安全参数索引管理方法,应用于通信设备,所述通信设备中包括空闲标识数组及至少一个索引数组;所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链;所述空闲标识数组的数组元素指向所述索引数组中的元素;所述方法包括:
选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素;
基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素;
接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
本发明的另一个目的在于提供一种安全参数索引管理装置,应用于通信设备,所述通信设备中包括空闲标识数组及至少一个索引数组;所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链;所述空闲标识数组的数组元素指向所述索引数组中的元素;所述装置包括:
选取模块,用于选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素;
生成模块,用于基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素;
匹配模块,用于接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供的安全参数索引管理方法及装置,通过数组形式对安全参数索引进行分配,基于空闲数组元素的数组下标生成安全参数索引,保证了生成的安全参数索引必定是未被使用的,避免了安全参数索引分配冲突的问题。且不需要使用HASH表,减少了内存占用,查找效率更高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的通信设备示意框图;
图2为本发明第一实施例提供的安全参数索引管理方法流程示意图之一;
图3为本发明第一实施例提供的索引数组示意图之一;
图4为图2所示步骤S110的子步骤流程示意图;
图5为本发明第一实施例提供的索引数组示意图之二;
图6为图2所示步骤S120的子步骤流程示意图;
图7为本发明第一实施例提供的索引数组示意图之三;
图8为本发明第一实施例提供的索引数组示意图之四;
图9为本发明第一实施例提供的安全参数索引管理方法流程示意图之二;
图10为本发明第一实施例提供的安全参数索引管理方法流程示意图之三;
图11为本发明第一实施例提供的索引数组示意图之五;
图12为本发明第一实施例提供的索引数组示意图之六;
图13为本发明第一实施例提供的安全参数索引管理装置示意图之一;
图14为本发明第一实施例提供的安全参数索引管理装置示意图之二;
图15为本发明第二实施例提供的安全参数索引管理方法流程示意图;
图16为本发明第二实施例提供的索引数组及空闲标识数组示意图之一;
图17为本发明第二实施例提供的索引数组及空闲标识数组示意图之二;
图18为本发明第二实施例提供的安全参数索引管理装置示意图。
图标:100-通信设备;110(210)-安全参数索引管理装置;111(211)-选取模块;112(212)-生成模块;113-判断模块;114(213)-查找匹配模;115-释放模块;块;120-存储器;130-处理器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
请参照图1,图1为本实施例提供的一种通信设备100的方框示意图。所述通信设备100包括安全参数索引管理装置110(210)、存储器120及处理器130。
所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述安全参数索引管理装置110(210)包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述通信设备100的操作***(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述安全参数索引管理装置110(210)所包括的软件功能模块及计算机程序等。
其中,所述存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。
第一实施例
本实施例提供的安全参数索引管理方法应用与于图1所示的通信设备100。所述通信设备100中包括一个索引数组,所述索引数组中未存储安全参数索引的数组元素为空闲数组元素。
在本实施例中,基于索引数组中相关数组元素的数组下标生成所述安全参数索引分配给安全关联,并将指向安全关联的地址指针存储至该数组元素中。
依此,所述通信设备100在进行数组元素分配时,请参照图2,所述方法包括以下步骤。
步骤S110,选取一个所述空闲数组元素作为第一目标数组元素。
具体地,在本实施例中,***初始化时所述索引数组中的数组元素均为空闲数组元素,所述空闲数组元素依次指向另一个空闲数组元素形成空闲元素链,所述空闲元素链中的第一个空闲数组元素为该空闲元素链的链头。
在本实施例中,所述空闲元素链中存储有下一个空闲数组元素的数组下标,多个所述空闲数组元素形成所述空闲元素链。将所述索引数组记为saArray,在***初始化时,如图3所示,saArray[0]中保存saArray[1]的数组下标,saArray[1]中保存saArray[2]的数组下标,以此类推。
在本实施例中,所述通信设备100还包括一个空闲索引变量,记为firstFreeIdx,firstFreeIdx的值指向所述空闲元素链的链头。请参照图4,步骤S110可以通过以下子步骤选取所述第一目标数组元素。
子步骤S111,获取所述空闲索引变量指向的数组元素,将该数组元素作为第一目标数组元素。
以上述情形为例,请再次参照图3,***初始化时,saArray[0]为所述空闲元素链的链头,故firstFreeIdx指向saArray[0]。在本实施例中,firstFreeIdx中的存储有所述空闲元素链的链头的数组下标。
子步骤S112,将所述第一目标数组元素的值赋给所述空闲索引变量,使所述空闲索引变量的值指向所述空闲元素链中新的链头。
在选中所述第一目标数组元素后,该第一目标数组元素被用于生成安全参数索引并存储安全关联的地址指针,即该第一目标数组元素不再是空闲数组元素,故所述通信设备100将该第一目标数组元素的值赋给firstFreeIdx,以使firstFreeIdx指向新的链头。
以上述情形为例,请参照图5,当选中原链头saArray[0]作为所述第一目标数组元素后,saArray[0]被用于生成所述安全参数索引并存储安全关联的地址指针,saArray[1]将被作为新的链头。故所述通信设备100将当前saArray[0]的值赋给firstFreeIdx,使firstFreeIdx指向新的链头saArray[1]。
步骤S120,基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
具体地,请参照图6,步骤S120可通过以下子步骤生成所述安全参数索引。
子步骤S121,基于所述第一目标数组元素的数组下标生成所述安全参数索引中的预设数据位,并根据预设规则生成该安全参数索引的其他数据位。
请参照图7,当选中saArray[0]作为所述第一目标数组元素后,所述通信设备100将saArray[0]的数组下标赋值给所述安全参数索引中的预设数据位,并根据预设规则生成该安全参数索引的其他数据位。
在本实施例中,所述安全参数索引的其他数据位可以随机产生,以保证该安全参数索引在通信协议中的安全性;也可以将所述安全参数索引的其他数据位简单设置为固定值,如全设置为0;另一种方式可以是将所述安全参数索引的其他数据位设置为一个初始值为0,每新生成一个安全参数索引其值加1的计数器的值。
值得说明的时,所述安全参数索引的预设数据位可以是该安全参数索引中的任意数据位,为方便数据的提取,在本实施例中,根据所述索引数组中数组元素的个数,所述预设数据位可以设置为该安全参数索引的最低位起的多个数据位。
子步骤S122,将所述安全参数索引分配给安全关联,并将指向该安全关联的地址指针作赋值给所述第一目标数组元素。
所述通信设备100将在子步骤S121中生成的安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给所述第一目标数组元素。
值得说明的是,由于不同的***具有不同位数的地址指针(如32位***具有32个数据位的地址指针,64位的***具有64个数据位的地址指针),故在本实施例中,不限定所述索引数组中数组元素的具体数据位数,在本实施例文字描述及附图中对所述素组元素数据位的说明,仅为针对其中对本方案实施方式具有贡献的特定数据位的举例说明。
特别地,若所述第一目标数组元素已用于生成安全参数索引,但尚未挂接安全关联时,则该第一目标数组元素中存储一个空指针;若所述第一目标数组元素挂接安全关联时,则该第一目标数组元素中存储指向所述安全关联数据结构的指针。
进一步地,所述空闲元素链中最后一个数组元素中的值为预设结尾标志值,在本实施例中,所述预设结尾标志值为所有数据位全为1。
所述获取所述空闲索引变量指向的数组元素的步骤之前,所述方法还包括:
判断所述空闲索引变量的值是否为所述预设结尾标志值,当所述空闲索引变量的值为所述预设结尾标志值时,停止进行所述安全参数索引的分配。
具体地,请参照图8,以saArray为包括4个数组元素为例,saArray[3]为所述空闲元素链中最后一个数组元素,其所有数据位的值全为1。
在子步骤S111之前,所述通信设备100先判断firstFreeIdx的值是否为所述预设结尾标志值,在上述情形中,当saArray[3]被作为所述第一数组元素后,所述通信设备100会将saArray[3]的值赋给firstFreeIdx,即此时firstFreeIdx中所有数据位的值均为1,表示所述索引数组中的所有数组元素均已分配。在下一次需要分配安全参数索引时,由于firstFreeIdx的值为全1时,所述通信设备100获知所述索引数组中的数组元素均已储存有安全参数索引,则停止所述安全参数索引的分配。
进一步地,由于常见***的内存分配至少为2字节对齐的,作为地址指针的数据最低位为0,即在本实施例中生成的安全关联的数据结构的地址的最低位为0。故在本实施例中,所述数组元素包括分配标识数据位,所述分配标识数据位为所述数组元素的最低位。所述分配标识数据位为1时,表征该数组元素为空闲数组元素,所述分配标识数据位为0时,表征该数组元素已存有地址指针。
在本实施例中,请再次参照图8,以saArray为包括4个数组元素为例,所述分配标识数据位可以为所述数组元素的最低位,在所述空闲数组元素中,存储下一个空闲数组元素数组下标的数据位可以为从最低位起的第二位及第三位。***初始化时,saArray中所有成员都是空闲的故所有数组元素的分配标识数据位均为1。当所述空闲数组元素被分配安全关联的地址指针后,其分配标识数据位为0。
基于上述设计,所述通信设备100在分配所述数组元素并生成所述安全参数索引时,必定选取的是空闲数组元素,由于所述索引数组中每个数组元素的数组下标是唯一的,即可以保证生成的所述安全参数索引必然是唯一的。如此,所述通信设备100在分配安全参数索引时不需要判定所述安全参数索引是否冲突,提高了分配效率,且解决了安全参数索引分配会冲突的问题。
所述通信设备100在获得输入报文时,会根据输入报文的安全参数索引查找用于解封该报文的安全关联。基于上述设计,在本实施例中,请参照图9,所述通信设备100查找与输入报文对应的安全关联时,所述方法包括以下步骤:
步骤S210,接收输入报文的安全参数索引,提取所述安全参数索引中的所述预设数据位的值作为查找标签值。
步骤S220,在所述索引数组中查找数组下标与所述查找标签值相等的数组元素。
具体地,假设输入报文中所述安全参数索引中的所述预设数据位的值为01,则其对应的数组元素为saArray[1]。
步骤S230,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
具体地,以步骤S220中情形为例,所述通信设备100获取saArray[1]的值,将saArray[1]中的地址指针指向的安全关联作为解封所述输入报文所需的安全关联。
基于上述设计,与现有技术在查找安全关联时需要查找HASH表相比,直接通过数组下标查找安全关联的方式具有更高的运行效率及查找精度。
所述通信设备100在安全关联不再使用或需要更新时,会释放与之关联的安全参数索引。基于上述分配步骤的设计,在本实施例中,所述通信设备100在释放已分配的数组元素时,选取待释放安全参数索引对应的数组元素作为第二目标数组元素,将所述第二目标数组元素置为空闲数组元素,并将该第二目标数组元素作为所述空闲元素链的链头。
具体地,请参照图10,所述通信设备100在释放已分配的数组元素时,所述方法包括以下步骤。
步骤S310,获取待释放安全参数索引中所述预设数据位的值。
步骤S320,将所述预设数据位的值作为查找标签,在所述索引数组中查找数组下标与所述查找标签相同的数组元素,将该数组元素作为第二目标数组元素。
请参照图11,在释放所述数组元素前,假设saArray包括8个数组元素,其中,saArray[0]、saArray[1]、saArray[2]、saArray[3]已被分配;saArray[4]、saArray[5]、saArray[6]、saArray[7]为空闲数组元素,组成空闲元素链,firstFreeIdx指向所述空闲元素链的链头,即指向saArray[4]。并记获取的释放安全参数索引中所述预设数据位的值为newFreeIdx。
若步骤S310中获取的待释放的安全参数索引中所述预设数据位的值为01,则表示该安全参数索引对应的数组元素为saArray[1],将saArray[1]作为所述第二目标数组元素。
步骤S330,将所述空闲索引变量的值赋给所述第二目标数组元素。
在选中所述第二目标数组元素后,该第二目标数组元素将被释放,即所述第二目标数组元素被置为空闲数组元素。故在本实施例中,所述通信设备100将当前firstFreeIdx中的值赋给所述第二目标数组元素,使所述第二目标数组元素指向原空闲元素链的链头,即将释放后的所述第二目标数组元素作为所述空闲元素链的链头。
请参照图12,以步骤S320中情形为例,在选中saArray[1]作为第二目标数组元素后,saArray[1]成为空闲数组元素,所述通信设备100将当前firstFreeIdx中的值赋给saArray[1],使saArray[1]指向saArray[4],saArray[1]成为所述空闲元素链的新链头。
步骤S340,将所述待释放的安全参数索引中所述预设数据位的值赋给所述空闲索引变量,使所述空闲索引变量指向新的链头。
请再次参照图12,以步骤S330中情形为例,saArray[1]成为所述空闲元素链新的链头后,所述通信设备100将newFreeIdx的值(即saArray[1]的数组下标)赋给firstFreeIdx,使firstFreeIdx指向新的链头saArray[1]。
基于上述设计,由于每次数组元素释放后,释放的数组元素成为所述空闲元素链的新的链头,故在所述通信设备100在再次进行数组元素分配时,采用步骤S110及步骤S120所述流程进行,仍然可以实现所述数组元素的无冲突分配。
以步骤S340中情形为例,在saArray[1]成为所述空闲元素链的新的链头后,在下一次进行数组元素分配时,按照步骤S110及步骤S120,所述通信设备100会选取saArray[1]作为所述第一目标数组元素进行分配,并将所述空闲元素链的链头更新为saArray[1]指向的数组元素(即saArray[4])。
请参照图13,本实施例还提供一种安全参数索引管理装置110,所述安全参数索引管理装置110应用于图1所示的通信设备100,所述安全参数索引管理装置110包括选取模块111及生成模块112。
所述选取模块111用于选取一个所述空闲数组元素作为第一目标数组元素。
具体地,在本实施例中,所述索引数组中的空闲数组元素依次指向另一个空闲数组元素形成空闲元素链,所述空闲元素链中的第一个空闲数组元素为该空闲元素链的链头;所述通信设备100还包括一个空闲索引变量,所述空闲索引变量的值指向所述空闲元素链的链头。
所述选取模块111选取第一目标数组元素的方式,包括:
获取所述空闲索引变量指向的数组元素,将该数组元素作为第一目标数组元素;
将所述第一目标数组元素的值赋给所述空闲索引变量,使所述空闲索引变量的值指向所述空闲元素链中新的链头。
所述生成模块112用于基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
具体地,在本实施例中,所述生成模块112生成安全参数索引的方式,包括:
基于所述第一目标数组元素的数组下标生成所述安全参数索引中的预设数据位,并根据预设规则生成该安全参数索引的其他数据位;
将所述安全参数索引分配给安全关联,并将指向该安全关联的地址指针作赋值给所述第一目标数组元素。
进一步地,请参照图14,在本实施例中所述空闲元素链中最后一个数组元素中的值为预设结尾标志值。所述安全参数索引管理装置110还包括判断模块113。
所述判断模块113用于判断所述空闲索引变量的值是否为所述预设结尾标志值,当所述空闲索引变量的值为所述预设结尾标志值时,停止进行所述数组元素的分配。
进一步地,在本实施例中,所述数组元素还包括分配标识数据位,所述分配标识数据位为1时,表征该数组元素为空闲数组元素,所述分配标识数据位为0时,表征该数组元素已存有指向安全关联的地址指针。
请再次参照图14,在本实施例中,所述安全参数索引管理装置110还包括查找匹配模块114,所述查找匹配模块114用于:
接收输入报文的安全参数索引,提取所述安全参数索引中的所述第一预设数据位的值作为查找标签值;
在所述索引数组中查找数组下标与所述查找标签值相等的数组元素;
将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
请再次参照图14,在本实施例中,所述安全参数索引管理装置110还包括释放模块115。
所示释放模块115用于选取与待释放安全参数索引对应的数组元素作为第二目标数组元素,将所述第二目标数组元素置为空闲数组元素,并将该第二目标数组元素作为所述空闲元素链的链头。
具体地,所述释放模块115释放所述第二目标数组元素的方式,包括:
获取待释放安全参数索引中所述预设数据位的值;
将所述预设数据位的值作为查找标签,在所述索引数组中查找数组下标与所述查找标签相同的数组元素,将该数组元素作为第二目标数组元素;
将所述空闲索引变量的值赋给所述第二目标数组元素;
将所述待释放的安全参数索引中所述预设数据位的值赋给所述空闲索引变量,使所述空闲索引变量指向新的链头。
第二实施例
本实施例提供一种安全参数索引管理方法,应用于通信设备100,所述通信设备100中包括空闲标识数组及至少一个索引数组。所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链。所述空闲标识数组的数组元素指向所述索引数组中的元素。
本实施例与第一实施例不同之处在于,本实施例中根据分配的所述索引数组及所述空闲标识数组相关数组元素的数组下标生成所述安全参数索引分配给安全关联,并将并将指向安全关联的地址指针存储至该数组元素中。
请参照图15,所述方法包括以下步骤。
步骤S410,选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素。
具体地,假设安全关联最大数目为8,所述空闲标识数组包括2个数组元素,所述索引数组包括4个数组元素。
***初始化时,请参照图16,所述通信设备100将所述空闲标识数组初始化。
开始分配安全参数索引时,创建所述索引数组,所述索引数组的具体设置方式请参照本发明第一实施例步骤S110中索引数组的设置方式,再此不再赘述。
请再次参照图16,所述空闲标识数组的数组元素指向所述索引数组中所述空闲元素链的链头,其作用与本发明第一实施例中所述空闲索引变量相同。其中,所述空闲标识数组中包括指针数据位及下标数据位,所述指针数据位的值为指向所述索引数组地址的地址指针,所述下标数据位的值为所述索引数组中空闲元素链的链头的数组下标。
步骤S420,基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素。
具体地,在生成所述安全参数索引时,所述安全参数索引时中部分数据位用于保存对应的空闲标识数组的下标,部分数据位用于保存对应的所索引数组下标。如此,使得生成所述安全参数索引时必定是唯一的。在本实施例中,以步骤S410所述情形为例,可以设置所述安全参数索引最低两位为对应索引数组的数组元素下标,低第三位对应空闲标识数组的数组元素下标。
请参照图17,在所述空闲标识数组的第一个数组元素指向的索引数组已经全部分配完,并需要继续生成安全参数索引时,所述通信设备100创建另一索引数组,并使所述空闲标识数组的第二个数组元素指向新创建的索引数组的空闲元素链的链头。如此,所述索引数组仅在需要时才分配内存,有效减少的内存占用。
步骤S430,接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
具体地,所述通信设备100在接收到输入报文后,提取输入报文的安全参数索引中提取所述空闲标识数组的第一数组下标,根据该第一数组下标查找到对应的空闲标识数组的第一数组元素,查找到该数组元素指向的索引数组作为目标索引数组。
并提取所述安全参数索引中包含的索引数组的第二数组下标,根据该第二数组下标找到对应的所述目标索引数组的第二数组元素,将该第二数组元素指向的安全关联作为与输入报文对应的安全关联。
请参照图18,本实施例还提供一种安全参数索引管理装置210,应用于通信设备100,所述通信设备100中包括空闲标识数组及至少一个索引数组;所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链;所述空闲标识数组的数组元素指向所述索引数组中的元素;所述装置包括选取模块211、生成模块212及查找匹配模块213。
所述选取模块211用于选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素;
所述生成模块212用于基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素。
所述查找匹配模块213用于接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
综上所述,本发明提供的安全参数索引的方法及装置,通过数组形式对安全参数索引进行分配,基于空闲数组元素的数组下标生成安全参数索引,保证了生成的安全参数索引必定是未被使用的,避免了安全参数索引分配冲突的问题。同时,采用数组组织安全参数索引在进行查找时不需要查找HASH表,查找效率和精度更高,且占用内存少。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明也可用于类似于安全参数索引的其它资源的管理,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种安全参数索引管理方法,应用于通信设备,其特征在于,所述通信设备中包括一个索引数组,所述索引数组包括未用于生成安全参数索引的空闲数组元素;所述方法包括:
选取一个所述空闲数组元素作为第一目标数组元素;
基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
2.根据权利要求1所述的方法,其特征在于,所述索引数组中的空闲数组元素依次指向另一个空闲数组元素形成空闲元素链,所述空闲元素链中的第一个空闲数组元素为该空闲元素链的链头;所述通信设备还包括一个空闲索引变量,所述空闲索引变量的值指向所述空闲元素链的链头;
所述选取一个所述空闲数组元素作为第一目标数组元素的步骤,包括:
获取所述空闲索引变量指向的数组元素,将该数组元素作为第一目标数组元素;
将所述第一目标数组元素的值赋给所述空闲索引变量,使所述空闲索引变量的值指向所述空闲元素链中新的链头。
3.根据权利要求2所述的方法,其特征在于,所述空闲元素链中最后一个数组元素中的值为预设结尾标志值;
所述获取所述空闲索引变量指向的数组元素的步骤之前,所述方法还包括:
判断所述空闲索引变量的值是否为所述预设结尾标志值,当所述空闲索引变量的值为所述预设结尾标志值时,停止进行所述安全参数索引的分配。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素的步骤,包括:
基于所述第一目标数组元素的数组下标生成所述安全参数索引中的预设数据位,并根据预设规则生成该安全参数索引的其他数据位;
将所述安全参数索引分配给安全关联,并将指向该安全关联的地址指针作赋值给所述第一目标数组元素。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收输入报文的安全参数索引,提取所述安全参数索引中的所述预设数据位的值作为查找标签值;
在所述索引数组中查找数组下标与所述查找标签值相等的数组元素;
将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
6.根据权利要求4中所述的方法,其特征在于,所述方法还包括:
选取待释放安全参数索引对应的数组元素作为第二目标数组元素,将所述第二目标数组元素置为空闲数组元素,并将该第二目标数组元素作为空闲元素链的链头。
7.根据权利要求6所述的方法,其特征在于,所述选取待释放安全参数索引对应的数组元素作为第二目标数组元素,将所述第二目标数组元素置为空闲数组元素,并将该第二目标数组元素作为所述空闲元素链的链头的步骤,包括:
获取待释放安全参数索引中所述预设数据位的值;
将所述预设数据位的值作为查找标签,在所述索引数组中查找数组下标与所述查找标签相同的数组元素,将该数组元素作为第二目标数组元素;
将空闲索引变量的值赋给所述第二目标数组元素;
将所述待释放的安全参数索引中所述预设数据位的值赋给所述空闲索引变量,使所述空闲索引变量指向新的链头。
8.一种安全参数索引管理装置,应用于通信设备,其特征在于,所述通信设备中包括一个索引数组,所述索引数组包括未用于生成安全参数索引的空闲数组元素;所述装置包括:
选取模块,用于选取一个所述空闲数组元素作为第一目标数组元素;
生成模块,用于基于该第一目标数组元素的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该第一目标数组元素。
9.根据权利要求8所述的装置,其特征在于,所述索引数组中的空闲数组元素依次指向另一个空闲数组元素形成空闲元素链,所述空闲元素链中的第一个空闲数组元素为该空闲元素链的链头;所述通信设备还包括一个空闲索引变量,所述空闲索引变量的值指向所述空闲元素链的链头;
所述选取模块选取第一目标数组元素的方式,包括:
获取所述空闲索引变量指向的数组元素,将该数组元素作为第一目标数组元素;
将所述第一目标数组元素的值赋给所述空闲索引变量,使所述空闲索引变量的值指向所述空闲元素链中新的链头。
10.根据权利要求9所述的装置,其特征在于,所述空闲元素链中最后一个数组元素中的值为预设结尾标志值;
所述装置还包括:
判断模块,用于判断所述空闲索引变量的值是否为所述预设结尾标志值,当所述空闲索引变量的值为所述预设结尾标志值时,停止进行所述安全参数索引的分配。
11.根据权利要求8-10任意一项所述的装置,其特征在于,所述生成模块生成安全参数索引的方式,包括:
基于所述第一目标数组元素的数组下标生成所述安全参数索引中的预设数据位,并根据预设规则生成该安全参数索引的其他数据位;
将所述安全参数索引分配给安全关联,并将指向该安全关联的地址指针作赋值给所述第一目标数组元素。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括查找匹配模块,所述查找匹配模块用于:
接收输入报文的安全参数索引,提取所述安全参数索引中的所述预设数据位的值作为查找标签值;
在所述索引数组中查找数组下标与所述查找标签值相等的数组元素;
将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
13.根据权利要求11中所述的装置,其特征在于,所述装置还包括:
释放模块,用于选取待释放安全参数索引对应的数组元素作为第二目标数组元素,将所述第二目标数组元素置为空闲数组元素,并将该第二目标数组元素作为空闲元素链的链头。
14.根据权利要求13所述的装置,其特征在于,所述释放模块释放所述第二目标数组元素的方式,包括:
获取待释放安全参数索引中所述预设数据位的值;
将所述预设数据位的值作为查找标签,在所述索引数组中查找数组下标与所述查找标签相同的数组元素,将该数组元素作为第二目标数组元素;
将空闲索引变量的值赋给所述第二目标数组元素;
将所述待释放的安全参数索引中所述预设数据位的值赋给所述空闲索引变量,使所述空闲索引变量指向新的链头。
15.一种安全参数索引管理方法,应用于通信设备,其特征在于,所述通信设备中包括空闲标识数组及至少一个索引数组;所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链;所述空闲标识数组的数组元素指向所述索引数组中的元素;所述方法包括:
选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素;
基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素;
接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
16.一种安全参数索引管理装置,应用于通信设备,其特征在于,所述通信设备中包括空闲标识数组及至少一个索引数组;所述索引数组包括未用于生成安全参数索引的空闲数组元素,所述空闲数组元素形成空闲元素链;所述空闲标识数组的数组元素指向所述索引数组中的元素;所述装置包括:
选取模块,用于选取所述空闲标识数组的数组元素指向的空闲数组元素作为目标数组元素;
生成模块,用于基于所述空闲标识数组中指向该目标数组元素所属索引数组的数组元素的数组下标,及该目标数组元素在所述索引数组中的数组下标生成安全参数索引分配给安全关联,并将指向该安全关联的地址指针赋值给该目标数组元素;
查找匹配模块,用于接收输入报文的安全参数索引,提取所述安全参数索引中包含的所述空闲标识数组的第一数组下标及所述索引数组的第二数组下标,查找与所述第一数组下标及第二数组下标匹配的数组元素,将查找到的数组元素指向的安全关联作为与所述输入报文对应的安全关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148857.3A CN108614734B (zh) | 2016-12-13 | 2016-12-13 | 安全参数索引管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148857.3A CN108614734B (zh) | 2016-12-13 | 2016-12-13 | 安全参数索引管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614734A CN108614734A (zh) | 2018-10-02 |
CN108614734B true CN108614734B (zh) | 2022-08-12 |
Family
ID=63658183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611148857.3A Active CN108614734B (zh) | 2016-12-13 | 2016-12-13 | 安全参数索引管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614734B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611238B (zh) * | 2020-04-08 | 2021-08-31 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
CN111597392B (zh) * | 2020-04-10 | 2023-04-18 | 北京百卓网络技术有限公司 | 一种索引处理方法、装置、设备及存储介质 |
CN112667637B (zh) * | 2020-12-31 | 2023-09-19 | 中移(杭州)信息技术有限公司 | 数据管理方法、装置及计算机可读存储介质 |
CN114968752A (zh) * | 2021-02-25 | 2022-08-30 | 北京嘀嘀无限科技发展有限公司 | 赋值元素的确定方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008037201A1 (fr) * | 2006-09-29 | 2008-04-03 | Huawei Technologies Co., Ltd. | Procédé et appareil permettant de résoudre une collision de hachage |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217364B (zh) * | 2007-12-28 | 2012-03-21 | 中国科学院计算技术研究所 | 媒体接入控制***中安全上下文的组织结构和维护方法 |
WO2013044502A1 (zh) * | 2011-09-30 | 2013-04-04 | 华为技术有限公司 | 数据管理的方法及装置 |
CN103178981B (zh) * | 2011-12-24 | 2016-03-02 | 腾讯科技(深圳)有限公司 | 连接管理方法和*** |
CN102411634B (zh) * | 2011-12-27 | 2016-01-13 | 北京人大金仓信息技术股份有限公司 | 一种提升嵌入式数据库实时性的数据存储方法 |
CN103617216B (zh) * | 2013-11-21 | 2017-02-08 | 珠海金山网络游戏科技有限公司 | 一种通过哈希值表实现数据快速检索的方法和*** |
-
2016
- 2016-12-13 CN CN201611148857.3A patent/CN108614734B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008037201A1 (fr) * | 2006-09-29 | 2008-04-03 | Huawei Technologies Co., Ltd. | Procédé et appareil permettant de résoudre une collision de hachage |
Also Published As
Publication number | Publication date |
---|---|
CN108614734A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614734B (zh) | 安全参数索引管理方法及装置 | |
CN110716796B (zh) | 智能任务调度方法及装置、存储介质、电子设备 | |
US9699028B2 (en) | Method and device for updating client | |
CN110784557B (zh) | 检测计算机网络中的硬件地址冲突 | |
US11568092B2 (en) | Method of dynamically configuring FPGA and network security device | |
CN106886429B (zh) | 一种加载驱动程序的方法和服务器 | |
US20180188990A1 (en) | Method, apparatus and system for inserting disk | |
CN106708573B (zh) | 一种用于Hadoop集群自动安装的***及方法 | |
KR102387922B1 (ko) | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 | |
US20220129458A1 (en) | Method for generating identification id, and apparatus implementing the same method | |
CN111163186B (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN110769075A (zh) | 容器的通信方法、***、控制器和计算机可读存储介质 | |
CN113361913A (zh) | 一种通信业务编排方法、装置、计算机设备及存储介质 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN108228197B (zh) | 一种在集群中安装软件的方法和装置 | |
CN112367256B (zh) | 创建方法、设备及存储介质 | |
EP3149625A1 (en) | Data uniqueness control and information storage | |
US20240107647A1 (en) | Control method, control device and lighting system | |
CN115994036B (zh) | 云平台租户隔离方法、装置、设备及存储介质 | |
US11431795B2 (en) | Method, apparatus and storage medium for resource configuration | |
CN112052144A (zh) | 信息管理方法、装置、电子设备及存储介质 | |
CN110554905A (zh) | 一种容器的启动方法及装置 | |
CN115454896A (zh) | 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质 | |
CN108965169B (zh) | 一种报文传输方法、网卡控制器、网卡及电子设备 | |
US11398904B1 (en) | Key management for remote device access |
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 |