CN106326170B - 一种设备索引号分配方法、装置及系统 - Google Patents

一种设备索引号分配方法、装置及系统 Download PDF

Info

Publication number
CN106326170B
CN106326170B CN201610693710.6A CN201610693710A CN106326170B CN 106326170 B CN106326170 B CN 106326170B CN 201610693710 A CN201610693710 A CN 201610693710A CN 106326170 B CN106326170 B CN 106326170B
Authority
CN
China
Prior art keywords
call number
equipment
identification information
allocation table
time period
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
Application number
CN201610693710.6A
Other languages
English (en)
Other versions
CN106326170A (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201610693710.6A priority Critical patent/CN106326170B/zh
Publication of CN106326170A publication Critical patent/CN106326170A/zh
Application granted granted Critical
Publication of CN106326170B publication Critical patent/CN106326170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例公开了一种设备索引号分配方法,包括:在第一时间段内,接收第一设备插入通知,第一设备插入通知携带第一插入设备的第一身份标识信息;判断第一身份标识信息是否已保存在分配表中;如果是,则为第一插入设备分配分配表中与第一身份标识信息对应的索引号;如果否,则在第二时间段内,为第一插入设备分配第一索引号,所述第一索引号为未在第一时间段内被分配的索引号;第二时间段的起始时间不早于第一时间段的结束时间。本发明实施例提供的设备索引号分配方法,能够在尽可能保证同一插入设备在两次插入时所分配的索引号不变的情况下,复用分配给不再使用的设备的索引号。

Description

一种设备索引号分配方法、装置及系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种设备索引号分配方法、装置及系统。
背景技术
设备热插拔技术使计算机能够在运行时动态改变其外围设备与拓扑关系,是一种热门的功能特性。目前许多设备和总线在硬件电路和驱动程序的设计中都加入了对热插拔技术的支持,如USB存储设备、网络适配器、显示输出设备等。支持热插拔技术的设备在计算机系统开机状态下插入或拔出系统时,系统需将设备携带的硬件参数加载至内存(易失性存储设备)中相应的存储区域中,并根据热插拔设备的硬件参数,调用保存在非易失性存储设备的对应区域中的用户预先对该设备设定的运行参数。系统运行时,从非易失性存储设备中加载该设备运行参数可指导系统做出正确处理的。
虽然,目前多数设备都具有全球唯一且硬烧入硬件芯片的硬件地址编码。但是,这些硬件地址对于单一计算机系统而言,编码十分稀疏。这对于许多系统,特别是嵌入式系统来说,由于计算机存储资源和计算能力的限制,使用全球唯一的地址编码对设备进行配置,例如用户使用网卡的全球唯一的地址对其IP地址设定时,系统需遍历内存中保存的设备硬件参数来确定对哪个设备进行参数配置,不仅处理过程复杂,还会造成计算时间过长、计算资源浪费等问题。因此,在热插拔设备插入系统时,为该设备分配索引号,并使用索引号替代设备的硬件地址编码,作为设备在系统中的引用代号,以便系统确认用户输入的配置参数所针对的主体,是必要的节约计算资源的手段。
现有的设备索引号分配方法可在配置文件中记录所有已知设备以及为其分配的索引号。每次遇到新的设备时,均会依配置文件的记录为已知设备分配配置文件中记录的索引号,并为未知设备分配未在配置文件中记录的索引号,并向配置文件添加相关记录。这种方式虽然不会引起同一设备索引号的变化,但缺乏有效的索引号释放机制,导致某些不再使用的设备引起索引号空置,造成资源浪费。
因此,本领域技术人员需要提供一种设备索引号分配方法、装置及系统,能够复用分配不再使用的设备的索引号。
发明内容
为了解决现有技术问题,本发明提供了一种设备索引号分配方法、装置及系统,能够复用分配给不再使用的设备的索引号。
本发明实施例提供的一种设备索引号分配方法,包括:
在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
判断所述第一身份标识信息是否已保存在分配表中;所述分配表用于保存身份标识信息与索引号的一一对应关系;
如果是,则为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
如果否,则在第二时间段内,执行后分配过程;所述后分配过程,包括:为所述第一插入设备分配第一索引号,所述第一索引号为未在所述第一时间段内被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间。
优选地,还包括:
若在所述第二时间段内接收到第二设备插入通知,则判断第二身份标识信息是否已保存在所述分配表中;所述第二设备插入通知携带第二插入设备的所述第二身份标识信息;
如果所述第二身份标识信息保存在所述分配表中,则为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
如果所述第二身份标识信息未保存在所述分配表中,则在所述第三时间段内,执行所述后分配过程;所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为未被分配给所述第一插入设备的索引号;
所述第三时间段的起始时间不早于所述第二时间段的结束时间。
优选地,所述若在所述第二时间段内接收到第二设备插入通知,具体包括:
在为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。
优选地,所述后分配过程,还包括:
将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;
将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
优选地,所述为所述第一插入设备分配第一索引号,之前还包括:
从第一预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第一索引号;
或,
将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
优选地,所述为所述第二插入设备分配第二索引号,之前还包括:
从第二预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第二索引号;
或,
将空置时间最长的索引号确定为所述第二索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
本发明实施例还提供了一种设备索引号分配装置,包括:通知接收模块、第一判断模块、第一索引号分配模块和第二索引号分配模块;
所述通知接收模块,用于在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
所述第一判断模块,用于判断所述第一身份标识信息是否已保存在分配表中;所述分配表用于保存身份标识信息与索引号的一一对应关系;
所述第一索引号分配模块,用于当所述第一判断模块判断所述第一身份标识信息保存在所述分配表中时,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述第二索引号分配模块,用于当所述第一判断模块判断所述第一身份标识信息没有保存在所述分配表中时,在第二时间段内,执行后分配过程;所述后分配过程,包括:为所述第一插入设备分配第一索引号,所述第一索引号为未在所述第一时间段内被分配的索引号;
所述第二时间段的开始时间不早于所述第一时间段的结束时间。
优选地,还包括:第二判断模块;
所述通知接收模块,还用于接收第二设备插入通知;所述第二设备插入通知携带第二插入设备的第二身份标识信息;
所述第二判断模块,用于当所述通知接收模块在所述第二时间段内接收到所述第二设备插入通知时,判断所述第二身份标识信息是否已保存在所述分配表中;
所述第一索引号分配模块,还用于当所述第二判断模块判断所述第二身份标识信息保存在所述分配表中时,为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
所述第二索引号分配模块,还用于当所述第二判断模块判断所述第二身份标识信息未保存在所述分配表中时,在所述第三时间内,执行所述后分配过程;
所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为未被分配给所述第一插入设备的索引号;所述第三时间段的起始时间不早于所述第二时间段的结束时间。
优选地,所述通接收模块,包括:通知检查子模块;
所述通知检查子模块,用于在所述第二索引号分配模块为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。
优选地,还包括:分配表更新模块;
所述分配表更新模块,用于将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;
所述分配表更新模块,还用于将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
优选地,所述第二索引号分配模块,包括:第一确定子模块或第二确定子模块;
所述第一确定子模块,包括:第一判断子模块和第一索引号确定子模块;
所述第一判断子模块,用于从第一预设索引号开始逐一判断每个索引号是否被分配;
所述第一索引号确定子模块,用于当所述第一判断子模块判断索引号未被分配时,将该索引号确定为所述第一索引号;
所述第二确定子模块,包括:第二索引号确定子模块;
所述第二索引号确定子模块,用于将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
优选地,所述第二索引号分配模块,还包括:第三确定子模块或第四确定子模块;
所述第三确定子模块,包括:第二判断子模块和第三索引号确定子模块;
所述第二判断子模块,用于从第二预设索引号开始逐一判断每个索引号是否被分配;
所述第三索引号确定子模块,用于当所述第二判断子模块判断索引号未被分配时,将该索引号确定为所述第二索引号;
所述第四确定子模块,包括:第四索引号确定子模块;
所述第四索引号确定子模块,用于将空置时间最长的索引号确定为所述第二索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
本发明实施例还提供了一种设备索引号分配系统,包括:身份标识信息获取单元和索引号分配单元;
所述身份标识信息获取单元,用于获取第一插入设备的第一身份标识信息,并将所述第一身份标识信息发送至所述索引号分配单元;
所述索引号分配单元,用于在第一时间段内,判断所述第一身份标识信息是否保存在分配表中;如果是,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;如果否,则在第二时间段内,为所述第一插入设备分配未在所述第一时间段内被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间;所述分配表用于保存身份标识信息与索引号的一一对应关系。
优选地,
所述身份标识信息获取单元,用于获取第二插入设备的第二身份标识信息,并将所述第二身份标识信息发送至所述索引号分配单元;
所述索引号分配单元,还用于在所述第二时间段内检查是否接收到所述第二身份标识信息;如果是,则判断第二身份标识信息是否已保存在所述分配表中;
所述索引号分配单元,还用于当所述第二身份标识信息保存在所述分配表中时,则为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
所述索引号分配单元,还用于当所述第二身份标识信息未保存在所述分配表中时,则在所述第三时间段内,为所述第二插入设备分配未被分配给所述第一插入设备的索引号;
所述第三时间段的起始时间不早于所述第二时间段的结束时间。
优选地,所述索引号分配单元,包括:存储器、预分配器、后分配器和互斥锁;
所述存储器,用于保存所述分配表;
所述预分配器,用于在获取所述互斥锁后,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述预分配器,还用于在获取所述互斥锁后,为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
所述后分配器,用于在获取所述互斥锁后,为所述第一插入设备分配未在所述第一时间段内被分配的索引号,并将所述第一身份标识信息与该索引号的对应关系保存在所述分配表中;
所述后分配器,还用于在获取所述互斥锁后,为所述第二插入设备分配未被分配给所述第一插入设备的索引号,并将所述第二身份标识信息与该索引号的对应关系保存在所述分配表中。
与现有技术相比,本发明至少具有以下优点:
本发明实施例提供的设备索引号分配方法,通过查询保存有已知插入设备的身份标识信息和索引号的一一对应关系的分配表,先为在第一时间段内加入到系统中的已知插入设备分配分配表中与其身份标识信息所对应的索引号。这样就能尽可能的保证同一插入设备在两次插入时所分配的索引号不变。而后,在第二时间段内,处理在第一时间段内加入到系统中的其余未知插入设备的索引号分配问题,逐一为未知插入设备分配在第一时间段内未被分配的索引号。此时,在第一时间段内未加入到系统的已知插入设备的索引号可被未知插入设备复用,避免了资源的浪费。由上述可知,本发明实施例提供的设备索引号分配方法,能够在尽可能保证同一插入设备在两次插入时所分配的索引号不变的情况下,复用分配给不再使用的设备的索引号。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的设备索引号分配方法实施例一的流程示意图;
图2为本发明提供的设备索引号分配方法实施例二的流程示意图;
图3为本发明提供的设备索引号分配装置实施例一的结构示意图;
图4为本发明提供的设备索引号分配装置实施例二的结构示意图;
图5为本发明提供的设备索引号分配系统实施例一的结构示意图;
图6为本发明提供的设备索引号分配系统实施例二的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例一:
参见图1,该图为本发明提供的设备索引号分配方法实施例一的流程图。
本实施例提供的设备索引号分配方法,包括:
S101:在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
当系统中加入了支持设备热插拔技术的插入设备时,生成设备插入通知。可以理解的是,在一段时间内,可能有多个设备加入该系统。例如,系统启动时,系统中的所有(某一类型的)设备会一并进入初始化程序。此时,系统中会生成到多个设备插入通知。
可以理解的是,插入设备的身份标识信息可以为其硬件地址、序列号等全球唯一的非易失性的硬件标识码。
当接收到设备插入通知时,则开始为插入设备分配索引号。本发明提供的设备索引号分配方法,可采用批量通知处理的方式,一方面避免了多个通知带来的性能开销问题,另一方面也能提高分配的准确性,降低已知设备的索引号被抢占等问题。
S102:判断所述第一身份标识信息是否已保存在分配表中;
如果是,则执行步骤S103;如果否,则执行步骤S104;所述分配表用于保存身份标识信息与索引号的一一对应关系;
所述分配表用于保存每个已知插入设备(即在系统中插入过的设备)的索引号分配记录。因此,需保存在非易失性存储器中,以便在系统重启后仍旧可以识别已知的插入设备,并根据之前分配的索引号为该设备分配索引号。对于服务器和工作站系统来说,可采用磁盘文件的形式来保存该分配表;对于嵌入式系统来说,可以使用可擦写ROM芯片来保存该分配表。索引号可使用0、1、2、……、N,N为正整数。
这里需要说明的是,索引号的编号方法不仅限于上述实例所述的方式,本领域技术人员可根据实际情况具体设定,实现方法与上述实例类似,在此不再一一列举。
此外,考虑到非易失性存储器的数据带宽通常较低,读写操作的耗时较长。可额外使用随机存储器(RAM)镜像分配表,并通过直接内存存取(DMA)等传输渠道实现与非易失性存储器中的分配表同步。此时,对索引号配置记录的查询与更新均针对RAM中的镜像分配表进行。
需要说明的是,在第一时间段中,通过迭代查询的机制保证为所有接收到的设备插入通知所代表的插入设备分配索引号,而在第一时间段后接收到的设备插入通知所代表的插入设备将暂时不被处理。
S103:为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
当分配表中保存有该插入设备的身份标识信息和与其一一对应的索引号时,可直接为该插入设备分配记录的索引号,保证该插入设备的数据在两次热插拔后的分配的索引号一致,以保证每次插入该插入设备时用户之前对其配置的一致性。
S104:在第二时间段内执行后分配过程;
所述后分配过程,包括为所述第一插入设备分配第一索引号,所述第一索引号为未在所述第一时间段内被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间。
可以理解的是,第一时间段可设定为执行步骤S102-S103步骤所需的时间。即,当一插入设备加入到系统中时,在查询分配表以及为已知插入设备分配索引号所用的时间。此时,先处理第一时间段内插入设备中已知插入设备的索引号分配,再为其中未知插入设备分配索引号。
当分配表中没有保存该插入设备的身份标识信息与索引号的一一对应关系(即该插入设备为未知插入设备)时,可暂时将该插入设备的句柄暂时存放至待分配设备队列中。在将已知插入设备(即分配表中保存有该插入设备的身份标识信息和与其对应的索引号)的数据保存至相应的存储区域后,再根据先进先出的处理规则逐一对未知插入设备进行处理,为其分配第一时间段内未被分配的索引号,降低之前为已知插入设备分配的索引号被占用的可能性。
这里需要说明的是,本领域技术人员还可根据实际情况使用其他技术方式实现先为已知插入设备分配索引号后,再处理剩余的未知插入设备的索引号分配的技术方案,上述将未知插入设备的句柄暂时存放在待分配设备队列中仅是举例说明,本发明并不对此做任何限定,其他实现方式在此不在一一列举。
另外,即使分配表中保存有未在第一时间段被占用的索引号以及与其对应的插入设备的身份标识信息,只要在第一时间段内与其对应的插入设备没有触发设备插入通知(未插入系统、未处理该设备的插入请求或该插入设备被拔出),则该索引号也可被本次设备插入通知中的未知设备占用。此时,尚未被占用的索引号可被复用,避免了存储资源的浪费。因此,本领域技术人员可根据实际情况设定第一时间段的时长,以尽可能的保证已知插入设备其索引号在两次热插拔中保持不变。
下面将具体分析本实施例提供的设备索引号分配方法在系统启动和系统运行时的工作过程,检验其效果。
启动时,系统中所有(某一类型的)设备会一并进入初始化程序,触发设备插入通知,并迭代处理全部设备。并按照分配表中的记录为已知插入设备分配与其对应的索引号,其它未知插入设备则进入待分配设备队列。而后,一次性的为这些待分配设备队列中的插入设备分配未被分配的索引号,并将身份标识信息与索引号的对应关系保存在分配表中。这样就会使得所有已知设备都能够分配到原有索引号,避免了某些在关机状态下新加设备先于原有设备进行初始化而导致的原有索引号被占用的风险。
运行时,新插入的设备会触发设备插入通知。此时,首先检查该插入设备是否为已知插入设备。如果是,已知插入设备则将按照分配表中的记录,为该插入设备分配与其对应的索引号。如果否,则将其身份标识信息保存至待分配设备队列;再从待分配设备队列中获取该插入设备的身份标识信息后,为其分配未分配的索引号,并将身份标识信息与索引号的对应关系保存在分配表中。
可见,无论是系统启动时还是系统运行时,本实施例提供的设备索引号分配方法都能正确进行索引号的分配与设备索引号分配,无需区分系统状态并进行特殊处理。
本实施例提供的设备索引号分配方法,通过查询保存有已知插入设备的身份标识信息和索引号的一一对应关系的分配表,先为在第一时间段内加入到系统中的已知插入设备分配分配表中与其身份标识信息所对应的索引号。这样就能尽可能的保证同一插入设备在两次插入时所分配的索引号不变。而后,在第二时间段内,处理在第一时间段内加入到系统中的其余未知插入设备的索引号分配问题,逐一为未知插入设备分配在第一时间段内未被分配的索引号。此时,在第一时间段内未加入到系统的已知插入设备的索引号可被未知插入设备复用,避免了资源的浪费。由上述可知,本实施例提供的设备索引号分配方法,能够在尽可能保证同一插入设备在两次插入时所分配的索引号不变的情况下,复用分配给不再使用的设备的索引号。
方法实施例二:
参见图2,该图为本发明提供的设备索引号分配方法实施例二的流程示意图。相较于图1,本实施例提供了一种更加具体的设备索引号分配方法。
本实施例中的步骤S201-S204分别于方法实施例一中的S101-S104相同,在此不再赘述。
为了进一步避免已知插入设备的索引号被占用,本实施例提供的设备索引号分配方法,还包括:
S205:若在所述第二时间段内接收到第二设备插入通知,则判断第二身份标识信息是否已保存在所述分配表中;所述第二设备插入通知携带第二插入设备的所述第二身份标识信息;如果所述第二身份标识信息保存在所述分配表中,则执行步骤S206;如果所述第二身份标识信息未保存在所述分配表中,则执行步骤S207;
S206:为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
S207:在所述第三时间段内,执行所述后分配过程。所述第三时间段的起始时间不早于所述第二时间段的结束时间。
所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为未被分配给所述第一插入设备的索引号;
本实施例提供的设备索引号分配方法,在处理多个插入设备的索引号分配问题时的具体流程如下所述:首先,为第一时间段加入到系统的插入设备中的已知插入设备分配索引号。为已知插入设备分配索引号的规则为为已知插入设备分配分配表中记录的与其身份标识信息对应的索引号。之后,在第二时间段内未第一时间段内加入到系统中的未知插入设备分配索引号。在为未知插入设备分配索引号的过程中,如果有新的插入设备加入到系统中,则查询分配表,判断该新插入设备是否为已知插入设备。如果是,则为新插入设备分配记录在分配表中与其身份标识信息对应的索引号;如果否,则将新插入设备的设备句柄添加至待分配设备队列,再按照预设的先进先出规则逐一为待分配设备队列中的插入设备分配索引号。
需要说明的是,可在为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。即每处理完一个未知插入设备的索引号分配问题后,判断是否有新插入的设备加入到系统。
综上所述,为方便理解,将查询分配表为已插入设备分配索引号并将未知插入设备的句柄保存在待处理设备队列中的过程称之为预分配过程,将为未知插入设备分配索引号的过程称之为后分配过程。预分配过程的优先级高于后分配过程的优先级。即当有多个设备在待分配池中时,后分配过程中每处理完一个未知插入设备的索引号分配问题后,需要检查是否有新的设备插入通知,如果有新的通知,则先执行预分配过程,在执行完预分配过程后且没有新加入系统的插入设备之后再重新执行后分配过程,为剩余未知设备分配索引号。
显而易见的是,上述后分配过程会改变插入设备的身份标识信息与索引号的对应关系。因此,需将新的索引号与插入设备的身份标识信息的对应关系保存在分配表中。可以理解的是,对索引号配置记录的更是针对RAM中的镜像分配表进行。再通过DMA等传输渠道同步ROM中的分配表,保证系统重启后,为已知插入设备分配的索引号不变。
因此,所述后分配过程,还包括:
将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
下面将对各时间段内的后分配过程中所用索引号分配规则,即确定将哪个索引号分配给未知插入设备的方法进行举例说明。需要说明的是,以下实例仅是对为未知插入设备分配索引号的方法进行举例说明,本发明并不对此进行限定,本领域技术人员还可根据实际情况具体设定,在此不再一一列举。
第一、在第一时间段内时,从第一预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第一索引号。
可以理解的是,在第二时间段内时,从第二预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第二索引号。
第一预设索引号和第二预设索引号可以为编号最小的索引号,也可是编号在上次所分配的索引号的下一个的索引号。
这里需要说明的是,对于使用访问速度不一致的存储设备而言,需要选用从最小的索引号(例如0)开始逐一判断每个索引号是否被分配这种策略来优化插入设备数据的存取性能。由于某些系统需要优化成本,可能需要采用存取速度不一致的不同类型的存取设备以降低成本。这就需要分配策略尽可能的选择更高速的存储区域(通常,可为索引号较小的设备配置速度较快的存储区域),因此需要更加有限选择这些索引号。
还需要说明的是,对于使用寿命有限的存储设备而言,需要选用这种策略来优化设备可靠性和寿命。例如固态硬盘(SSD)等存储设备,由于材料和技术等条件的限制,其寿命由读写次数所限制。因此需要尽量平衡各存储区域的存取次数,来避免由单一存储区域的过度读写带来的对存储设备可靠性的损害。从最近一次被分配的索引号的下一个索引号开始,逐一判断每个索引号是否被分配,可以使输入设备数据的存取尽可能的分散到不同存储区域,而优化存储设备可靠性和寿命。
可以理解的是,当系统中所用的索引号为0-7时,如上次分配的索引号为6,而索引号7已被分配。此时,可从索引号0重新开始,逐一判断每个索引号是否被分配。
第二,在第一时间段内时,将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
可以理解的是,在第二时间段内时,将空置时间最长的索引号确定为所述第二索引号。
可以理解的是,从未被分配的索引号,其空置时间的起始时间可设定为无穷小。
这里需要说明的是,对于频繁热插拔的插入设备而言,需要最大化保持原有插入设备的索引号。因此使用最久未使用策略可以最大化避免已分配的索引号被新设备覆盖。
另外,采用何种策略将为未知插入设备分配索引号,可以根据系统计算能力和系统资源紧张程度等情况进行灵活选择。部分情况可能某一种策略的优势会比较突出,而某些情况下则可以存在多种策略均可达到较好效果的情况。同样,某些情况下还可以组合不同的基本策略。例如,当频繁热插拔设备使用了访问速度不一致的存储设备时,可以组合小号码优先分配策略和最久未使用者优先分配策略,优先选择较高速的存储区域,然后在较高速存储区域部分对应的若干索引号范围内选择最久未使用者。
基于上述实施例提供的设备索引号分配方法,本发明还提供了一种设备索引号分配装置。
装置实施例一:
参见图3,该图为本发明提供的设备索引号分配装置实施例一的示意图。
本实施例提供的设备索引号分配装置,包括:通知接收模块100、第一判断模块201、第一索引号分配模块301和第二索引号分配模块302;
所述通知接收模块100,用于在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
所述第一判断模块201,用于判断所述第一身份标识信息是否已保存在分配表中;所述分配表用于保存身份标识信息与索引号的一一对应关系;
所述第一索引号分配模块301,用于当所述第一判断模块201判断所述第一身份标识信息保存在所述分配表中时,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述第二索引号分配模块302,用于当所述第一判断模块201判断所述第一身份标识信息没有保存在所述分配表中时,在第二时间段内,执行后分配过程;所述后分配过程,包括:为所述第一插入设备分配第一索引号,所述第一索引号为未在所述第一时间段内被分配的索引号;
所述第二时间段的开始时间不早于所述第一时间段的结束时间。
本实施例提供的设备索引号分配装置,通过第一判断模块判断插入设备是否已知设备,如果是,则经第一索引号分配模块查询保存有已知插入设备的身份标识信息和索引号的一一对应关系的分配表,先为在第一时间段内加入到系统中的已知插入设备分配分配表中与其身份标识信息所对应的索引号。这样就能尽可能的保证同一插入设备在两次插入时所分配的索引号不变。而后,第二索引号分配模块在第二时间段内,处理在第一时间段内加入到系统中的其余未知插入设备的索引号分配问题,逐一为未知插入设备分配在第一时间段内未被分配的索引号。此时,在第一时间段内未加入到系统的已知插入设备的索引号可被未知插入设备复用,避免了资源的浪费。由上述可知,本实施例提供的设备索引号分配装置,能够在尽可能保证同一插入设备在两次插入时所分配的索引号不变的情况下,复用分配给不再使用的设备的索引号。
装置实施例二:
参见图4,该图为本发明提供的设备索引号分配装置实施例二的示意图。相较于图3,本实施例提供了一种更加具体的设备索引号分配装置。
本实施例提供的的设备索引号分配装置,还包括:第二判断模块202;
所述通知接收模块100,还用于接收第二设备插入通知;所述第二设备插入通知携带第二插入设备的第二身份标识信息;
所述第二判断模块202,用于当所述通知接收模块100在所述第二时间段内接收到所述第二设备插入通知时,判断所述第二身份标识信息是否已保存在所述分配表中;
所述第一索引号分配模块301,还用于当所述第二判断模块202判断所述第二身份标识信息保存在所述分配表中时,为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
所述第二索引号分配模块302,还用于当所述第二判断模块202判断所述第二身份标识信息未保存在所述分配表中时,在所述第三时间内,执行所述后分配过程;
所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为未被分配给所述第一插入设备的索引号;所述第三时间段的起始时间不早于所述第二时间段的结束时间。
本实施例提供的设备索引号分配装置,所述通接收模块100,包括:通知检查子模块100a;
所述通知检查子模块100a,用于在所述第二索引号分配模块302为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。
本实施例提供的设备索引号分配装置,还包括:分配表更新模块400;
所述分配表更新模块400,用于将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;
所述分配表更新模块400,还用于将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
所述第二索引号分配模块302,包括:第一确定子模块或第二确定子模块(均未在图中示出);
所述第一确定子模块,包括:第一判断子模块和第一索引号确定子模块;
所述第一判断子模块,用于从第一预设索引号开始逐一判断每个索引号是否被分配;
所述第二确定子模块,包括:第二索引号确定子模块;
所述第二索引号确定子模块,用于将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
所述第二索引号分配模块302,还包括:第三确定子模块或第四确定子模块(均未在图中示出);
所述第三确定子模块,包括:第二判断子模块和第三索引号确定子模块;
所述第二判断子模块,用于从第二预设索引号开始逐一判断每个索引号是否被分配;
所述第三索引号确定子模块,用于当所述第二判断子模块判断索引号未被分配时,将该索引号确定为所述第二索引号;
所述第四确定子模块,包括:第四索引号确定子模块;
所述第四索引号确定子模块,用于将空置时间最长的索引号确定为所述第二索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
基于上述实施例提供的设备索引号分配方法和装置,本发明还提供了一种设备索引号分配系统。
系统实施例一:
参见图5,该图为本发明提供的设备索引号分配系统实施例一的示意图。
本实施例提供的设备索引号分配系统,包括:身份标识信息获取单元10和索引号分配单元20;
所述身份标识信息获取单元10,用于获取第一插入设备的第一身份标识信息,并将所述第一身份标识信息发送至所述索引号分配单元20;
所述索引号分配单元20,用于在第一时间段内,判断所述第一身份标识信息是否保存在分配表中;如果是,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;如果否,则在第二时间段内,为所述第一插入设备分配未在所述第一时间段内被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间;所述分配表用于保存身份标识信息与索引号的一一对应关系。
本实施例提供的设备索引号分配系统,通过查询保存有已知插入设备的身份标识信息和索引号的一一对应关系的分配表,先为在第一时间段内加入到系统中的已知插入设备分配分配表中与其身份标识信息所对应的索引号。这样就能尽可能的保证同一插入设备在两次插入时所分配的索引号不变。而后,在第二时间段内,处理在第一时间段内加入到系统中的其余未知插入设备的索引号分配问题,逐一为未知插入设备分配在第一时间段内未被分配的索引号。此时,在第一时间段内未加入到系统的已知插入设备的索引号可被未知插入设备复用,避免了资源的浪费。由上述可知,本实施例提供的设备索引号分配系统,能够在尽可能保证同一插入设备在两次插入时所分配的索引号不变的情况下,复用分配给不再使用的设备的索引号。
系统实施例二:
参见图6,该图为本发明提供的设备索引号分配系统实施例二的示意图。相较于图5,本实施例提供了一种更加具体的设备索引号分配系统。
所述身份标识信息获取单元,用于获取第二插入设备的第二身份标识信息,并将所述第二身份标识信息发送至所述索引号分配单元;
所述索引号分配单元20,还用于在所述第二时间段内检查是否接收到所述第二身份标识信息;如果是,则判断第二身份标识信息是否已保存在所述分配表中;
所述索引号分配单元20,还用于当所述第二身份标识信息保存在所述分配表中时,则为所述第二插入设备分配所述分配表中与所述第二插入设备的身份标识信息对应的索引号;
所述索引号分配单元20,还用于当所述第二身份标识信息未保存在所述分配表中时,则在所述第三时间段内,为所述第二插入设备分配未被分配给所述第一插入设备的索引号;
所述第三时间段的起始时间不早于所述第二时间段的结束时间。
所述索引号分配单元20,包括:存储器21、预分配器22、后分配器23和互斥锁24;
所述存储器21,用于保存所述分配表;
所述预分配器22,用于在获取所述互斥锁24后,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述预分配器22,还用于在获取所述互斥锁24后,为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
需要说明的是,预分配器22还可以用于判断第一身份标识信息和第一身份标识信息是否保存在分配表中。
所述后分配器23,用于在获取所述互斥锁24后,为所述第一插入设备分配未在所述第一时间段内被分配的索引号,并将所述第一身份标识信息与该索引号的对应关系保存在所述分配表中;
所述后分配器23,还用于在获取所述互斥锁24后,为所述第二插入设备分配未被分配给所述第一插入设备的索引号,并将所述第二身份标识信息与该索引号的对应关系保存在所述分配表中。
为方便理解,下面将结合方法实施例中所述的系统启动时为插入设备分配索引号的过程,说明本实施例提供的设备索引号分配系统的具体过程。
启动时,系统中所有(某一类型的)设备(设备A、设备B、设备C和设备D)会一并进入初始化程序,触发设备插入通知。可以理解的是,由于不同设备的处理速度不同,设备触发设备插入通知的速度也不同,如设备插入通知的顺序设备A-设备B-设备C-设备D。此时,预分配器22先获取互斥锁24,按照设备插入通知的顺序为已知插入设备(设备A和设备C)分配索引号(设备A的索引号为0,设备C的索引号为2),其它未知插入设备(设备B和设备D)则进入待分配设备队列。预分配器22在处理完设备A-C后,释放互斥锁24。
而后,后分配器23获取互斥锁24,首先处理设备B的索引号分配问题。根据预设规则为设备分配未被分配的索引号(索引号1和索引号3-7)B分配未被分配的索引号(索引号1和索引号3-7)。为尽可能的保证已知插入设备分配到原有的索引号,后分配器23在为设备B分配完索引号后,检测是否有新的设备插入;如果是,则暂停索引号分配工作;如果否,则继续为设备C分配索引号。之后,在为设备C分配完索引号后,再次检测是否有新的设备插入,其他过程类似,在此不再赘述。如在后分配器23的工作过程中设备E加入系统,则后分配器23释放互斥锁24。预分配器22获取互斥锁24,判断设备E是否为已知插入设备;如果是,则由预分配器22为设备E分配索引号;如果否,则将设备E加入到待处理设备队列,待后分配器23获取到互斥锁24后按照先进先出的规则为待处理设备队列中的插入设备分配索引号。
若在预分配器22的工作过程中由新插入设备加入,预分配器22再处理完所用插入设备后再释放互斥锁24,由后分配器24获取互斥锁24后为未插入设备分配索引号。
需要说明的是,第一时间段可为预分配器22的处理时长。即,在预分配器22的索引号分配过程中,如接收到新的设备插入通知,预分配器22会继续处理新插入设备的索引号分配过程,不会释放互斥锁24。在预分配器22处理完处理阶段接收的设备插入通知后,再释放互斥锁24,以使后分配器23获取互斥锁24来对待分配设备队列中的插入设备进行处理。
互斥锁24用于防止预分配器22和后分配器23的决策冲突。具体实施时,互斥锁24可以为读写锁中的“写锁”或高电平抑制信号等,技术人员可根据具体情况设定。
本实施例提供的设备索引号获取系统,能够尽可能的保证已插入过的设备会得到原有的索引号,未插入过的设备不会占有已插入过的但现在已拔出的设备的索引号。并且,采用两个分离的分配器可简化设计实施,方便对未插入过的设备索引号分配策略的更换。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (15)

1.一种设备索引号分配方法,其特征在于,包括:
在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
判断所述第一身份标识信息是否已保存在分配表中;所述分配表用于保存每个已知插入设备的身份标识信息与索引号的一一对应关系;
如果是,则为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
如果否,则在第二时间段内,执行后分配过程;所述后分配过程,包括:为所述第一插入设备分配第一索引号,所述第一索引号为在所述第一时间段内未被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间。
2.根据权利要求1所述的设备索引号分配方法,其特征在于,还包括:
若在所述第二时间段内接收到第二设备插入通知,则判断第二身份标识信息是否已保存在所述分配表中;所述第二设备插入通知携带第二插入设备的所述第二身份标识信息;
如果所述第二身份标识信息保存在所述分配表中,则为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
如果所述第二身份标识信息未保存在所述分配表中,则在第三时间段内,执行所述后分配过程;所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为所述分配表中未被分配的索引号;
所述第三时间段的起始时间不早于所述第二时间段的结束时间。
3.根据权利要求2所述的设备索引号分配方法,其特征在于,所述若在所述第二时间段内接收到第二设备插入通知,具体包括:
在为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。
4.根据权利要求2所述的设备索引号分配方法,其特征在于,所述后分配过程,还包括:
将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;
将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
5.根据权利要求1所述的设备索引号分配方法,其特征在于,所述为所述第一插入设备分配第一索引号,之前还包括:
从第一预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第一索引号;
或,
将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
6.根据权利要求2所述的设备索引号分配方法,其特征在于,所述为所述第二插入设备分配第二索引号,之前还包括:
从第二预设索引号开始逐一判断每个索引号是否被分配,如果否,则将该索引号确定为所述第二索引号;
或,
将空置时间最长的索引号确定为所述第二索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
7.一种设备索引号分配装置,其特征在于,包括:通知接收模块、第一判断模块、第一索引号分配模块和第二索引号分配模块;
所述通知接收模块,用于在第一时间段内,接收第一设备插入通知,所述第一设备插入通知携带第一插入设备的第一身份标识信息;
所述第一判断模块,用于判断所述第一身份标识信息是否已保存在分配表中;所述分配表用于保存每个已知插入设备的身份标识信息与索引号的一一对应关系;
所述第一索引号分配模块,用于当所述第一判断模块判断所述第一身份标识信息保存在所述分配表中时,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述第二索引号分配模块,用于当所述第一判断模块判断所述第一身份标识信息没有保存在所述分配表中时,在第二时间段内,执行后分配过程;所述后分配过程,包括:为所述第一插入设备分配第一索引号,所述第一索引号为在所述第一时间段内未被分配的索引号;
所述第二时间段的开始时间不早于所述第一时间段的结束时间。
8.根据权利要求7所述的设备索引号分配装置,其特征在于,还包括:第二判断模块;
所述通知接收模块,还用于接收第二设备插入通知;所述第二设备插入通知携带第二插入设备的第二身份标识信息;
所述第二判断模块,用于当所述通知接收模块在所述第二时间段内接收到所述第二设备插入通知时,判断所述第二身份标识信息是否已保存在所述分配表中;
所述第一索引号分配模块,还用于当所述第二判断模块判断所述第二身份标识信息保存在所述分配表中时,为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
所述第二索引号分配模块,还用于当所述第二判断模块判断所述第二身份标识信息未保存在所述分配表中时,在第三时间段内,执行所述后分配过程;
所述后分配过程,还包括:为所述第二插入设备分配第二索引号,所述第二索引号为所述分配表中未被分配的索引号;所述第三时间段的起始时间不早于所述第二时间段的结束时间。
9.根据权利要求8所述的设备索引号分配装置,其特征在于,所述通知接收模块,包括:通知检查子模块;
所述通知检查子模块,用于在所述第二索引号分配模块为所述第一插入设备分配所述第一索引号后,检查是否接收到所述第二设备插入通知。
10.根据权利要求8所述的设备索引号分配装置,其特征在于,还包括:分配表更新模块;
所述分配表更新模块,用于将所述第一索引号与所述第一插入设备的身份标识信息的一一对应关系保存在所述分配表中;
所述分配表更新模块,还用于将所述第二索引号与所述第二插入设备的身份标识信息的一一对应关系保存在所述分配表中。
11.根据权利要求7所述的设备索引号分配装置,其特征在于,所述第二索引号分配模块,包括:第一确定子模块或第二确定子模块;
所述第一确定子模块,包括:第一判断子模块和第一索引号确定子模块;
所述第一判断子模块,用于从第一预设索引号开始逐一判断每个索引号是否被分配;
所述第一索引号确定子模块,用于当所述第一判断子模块判断索引号未被分配时,将该索引号确定为所述第一索引号;
所述第二确定子模块,包括:第二索引号确定子模块;
所述第二索引号确定子模块,用于将空置时间最长的索引号确定为所述第一索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
12.根据权利要求8所述的设备索引号分配装置,其特征在于,所述第二索引号分配模块,还包括:第三确定子模块或第四确定子模块;
所述第三确定子模块,包括:第二判断子模块和第三索引号确定子模块;
所述第二判断子模块,用于从第二预设索引号开始逐一判断每个索引号是否被分配;
所述第三索引号确定子模块,用于当所述第二判断子模块判断索引号未被分配时,将该索引号确定为所述第二索引号;
所述第四确定子模块,包括:第四索引号确定子模块;
所述第四索引号确定子模块,用于将空置时间最长的索引号确定为所述第二索引号,所述空置时间的起始时间为该索引号未被占用的起始时间。
13.一种设备索引号分配系统,其特征在于,包括:身份标识信息获取单元和索引号分配单元;
所述身份标识信息获取单元,用于获取第一插入设备的第一身份标识信息,并将所述第一身份标识信息发送至所述索引号分配单元;
所述索引号分配单元,用于在第一时间段内,判断所述第一身份标识信息是否保存在分配表中;如果是,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;如果否,则在第二时间段内,为所述第一插入设备分配在所述第一时间段内未被分配的索引号;
所述第二时间段的起始时间不早于所述第一时间段的结束时间;所述分配表用于保存每个已知插入设备的身份标识信息与索引号的一一对应关系。
14.根据权利要求13所述的设备索引号分配系统,其特征在于,
所述身份标识信息获取单元,用于获取第二插入设备的第二身份标识信息,并将所述第二身份标识信息发送至所述索引号分配单元;
所述索引号分配单元,还用于在所述第二时间段内检查是否接收到所述第二身份标识信息;如果是,则判断第二身份标识信息是否已保存在所述分配表中;
所述索引号分配单元,还用于当所述第二身份标识信息保存在所述分配表中时,则为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
所述索引号分配单元,还用于当所述第二身份标识信息未保存在所述分配表中时,则在第三时间段内,为所述第二插入设备分配第二索引号,所述第二索引号为所述分配表中未被分配的索引号;
所述第三时间段的起始时间不早于所述第二时间段的结束时间。
15.根据权利要求14所述的设备索引号分配系统,其特征在于,所述索引号分配单元,包括:存储器、预分配器、后分配器和互斥锁;
所述存储器,用于保存所述分配表;
所述预分配器,用于在获取所述互斥锁后,为所述第一插入设备分配所述分配表中与所述第一身份标识信息对应的索引号;
所述预分配器,还用于在获取所述互斥锁后,为所述第二插入设备分配所述分配表中与所述第二身份标识信息对应的索引号;
所述后分配器,用于在获取所述互斥锁后,为所述第一插入设备分配未在所述第一时间段内被分配的索引号,并将所述第一身份标识信息与该索引号的对应关系保存在所述分配表中;
所述后分配器,还用于在获取所述互斥锁后,为所述第二插入设备分配未被分配给所述第一插入设备的索引号,并将所述第二身份标识信息与该索引号的对应关系保存在所述分配表中。
CN201610693710.6A 2016-08-19 2016-08-19 一种设备索引号分配方法、装置及系统 Active CN106326170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610693710.6A CN106326170B (zh) 2016-08-19 2016-08-19 一种设备索引号分配方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610693710.6A CN106326170B (zh) 2016-08-19 2016-08-19 一种设备索引号分配方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106326170A CN106326170A (zh) 2017-01-11
CN106326170B true CN106326170B (zh) 2019-05-17

Family

ID=57743905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610693710.6A Active CN106326170B (zh) 2016-08-19 2016-08-19 一种设备索引号分配方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106326170B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111034B (zh) * 2021-04-07 2023-08-04 山东英信计算机技术有限公司 一种索引预分配的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070069333A (ko) * 2005-12-28 2007-07-03 에스케이 텔레콤주식회사 다기능 usb 슬레이브 장치와 usb 호스트 장치 간의기능 변경 방법 및 이를 위한 다기능 usb 슬레이브 장치
CN101833559A (zh) * 2009-11-05 2010-09-15 北京炬力北方微电子有限公司 一种读取fat磁盘文件的方法和装置
CN102147779A (zh) * 2011-04-07 2011-08-10 广东金赋信息科技有限公司 一种usb外设处理装置及usb外设的处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861765B2 (ja) * 2005-08-04 2012-01-25 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070069333A (ko) * 2005-12-28 2007-07-03 에스케이 텔레콤주식회사 다기능 usb 슬레이브 장치와 usb 호스트 장치 간의기능 변경 방법 및 이를 위한 다기능 usb 슬레이브 장치
CN101833559A (zh) * 2009-11-05 2010-09-15 北京炬力北方微电子有限公司 一种读取fat磁盘文件的方法和装置
CN102147779A (zh) * 2011-04-07 2011-08-10 广东金赋信息科技有限公司 一种usb外设处理装置及usb外设的处理方法

Also Published As

Publication number Publication date
CN106326170A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106874031B (zh) 一种终端设备系统程序的启动方法及装置
US20060149915A1 (en) Memory management technique
CN107783812B (zh) 虚拟机内存管理方法及装置
CN109857548A (zh) 存储空间优化方法、装置、计算机设备及存储介质
CN110389843A (zh) 一种业务调度方法、装置、设备及可读存储介质
CN110727517A (zh) 一种基于分区设计的内存分配方法和装置
KR101591601B1 (ko) 메모리 최적화 방법 및 그 방법을 수행하는 사용자 단말
CN106326170B (zh) 一种设备索引号分配方法、装置及系统
WO2022135160A1 (zh) 缓存空间的释放方法、释放系统、电子设备及存储介质
CN111522659A (zh) 一种空间使用方法和装置
CN110795234A (zh) 一种资源调度方法及装置
US20060236065A1 (en) Method and system for variable dynamic memory management
EP3188026B1 (en) Memory resource management method and apparatus
CN111143063B (zh) 任务的资源预约方法及装置
CN105205409A (zh) 一种防止内存复用中数据泄露的方法及计算机系统
CN107066335A (zh) 一种云平台内存的优化方法和优化系统
CN111338981A (zh) 一种内存防碎片方法、系统及储存介质
US20060230246A1 (en) Memory allocation technique using memory resource groups
CN114157717A (zh) 一种微服务动态限流的系统及方法
KR20170037851A (ko) 매니코어 시스템을 작동하기 위한 방법 및 장치
US20060101469A1 (en) Method, controller, program product and services for managing resource element queues
CN112100017A (zh) 一种内存资源监控方法及装置
CN113127220B (zh) 一种数据下发方法、装置及电子设备
CN109284234A (zh) 一种存储地址分配方法及系统
CN113835862B (zh) 任务处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant