CN108509535B - 基于区间的资源id管理***及方法 - Google Patents

基于区间的资源id管理***及方法 Download PDF

Info

Publication number
CN108509535B
CN108509535B CN201810215053.3A CN201810215053A CN108509535B CN 108509535 B CN108509535 B CN 108509535B CN 201810215053 A CN201810215053 A CN 201810215053A CN 108509535 B CN108509535 B CN 108509535B
Authority
CN
China
Prior art keywords
resource
interval
value
manager
ending
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
CN201810215053.3A
Other languages
English (en)
Other versions
CN108509535A (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201810215053.3A priority Critical patent/CN108509535B/zh
Priority to PCT/CN2018/103165 priority patent/WO2019174196A1/zh
Publication of CN108509535A publication Critical patent/CN108509535A/zh
Application granted granted Critical
Publication of CN108509535B publication Critical patent/CN108509535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于区间的资源ID管理***及方法,涉及电信传输网管理领域。该***包括资源ID管理器、数据库、规格定义单元、资源ID管理器初始化单元、资源ID管理单元。该方法包括以下步骤:使用XML文件定义资源ID管理器的规格;根据XML文件及数据库中的区间数据,初始化资源ID管理器;使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID。本发明能有效节省资源ID的存储空间,减少资源ID的分配时间。

Description

基于区间的资源ID管理***及方法
技术领域
本发明涉及电信传输网管理领域,具体是涉及一种基于区间的资源ID管理***及方法。
背景技术
在电信传输网管理中,电信业务在经过的每个网元上都需要占用一定的资源;不同的电信业务在同一个网元上占用的资源不能互相冲突。为满足上述需求,网元上需要对资源进行管理,分配资源ID:一个网元支持多种不同类型的资源;不同类型资源ID在一个网元上可以重复;同类型资源ID在一个网元上不可重复。网元上记录每条电信业务所占用的资源ID,这样一来,不同的电信业务在同一个网元上占用的资源ID不同,就不会产生冲突;网元也可以根据资源ID区分不同的电信业务。
现有的ID管理方法在分配某类型的资源ID时,为保证与被电信业务占用的此类型的资源ID都不冲突,需要遍历网元上记录的所有此类型的资源ID。当网元上此类型的资源ID数目十分巨大时,存储资源ID的空间随之增加,分配资源ID所消耗的时间也随之增长,与资源ID数目成正比关系。在如此情况下,设计一种新的ID管理方法,满足巨大数目的资源ID存储和分配的效率,就显得异常重要了。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于区间的资源ID管理***及方法,能够有效节省资源ID的存储空间,减少资源ID的分配时间。
本发明提供一种基于区间的资源ID管理***,该***包括规格定义单元、资源ID管理器初始化单元、资源ID管理单元,其中:
规格定义单元用于:使用可扩展标记语言XML文件定义资源ID管理器的规格:XML文件定义多种网元类型,每种网元类型包含多种资源类型,每种资源类型都定义了资源ID的最小值和最大值;
数据库保存资源ID管理器的区间数据,区间表示已使用的资源ID的范围,区间由起始值和结束值组成;资源ID管理器包含各区间列表,按照起始值和结束值由小到大的顺序将各区间首尾相连;
资源ID管理器初始化单元用于:根据XML文件及数据库中的区间数据,初始化资源ID管理器;
资源ID管理单元用于:使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID。
在上述技术方案的基础上,所述初始化资源ID管理器是指:从数据库中读取网元数据,初始化每个网元的资源ID管理器,其具体步骤如下:
B1、遍历数据库中的所有网元,转到步骤B2;
B2、判断当前网元的类型是否在XML文件中定义,如果是,则转到步骤B3,否则返回步骤B1;
B3、从XML文件中获取当前网元的类型对应的多个资源ID管理器的规格,转到步骤B4;
B4、根据资源ID管理器规格初始化资源ID的最小值和最大值,转到步骤B5;
B5、从数据库中读取资源ID管理器的区间数据,转到步骤B6;
B6、如果区间的起始值小于资源ID的最小值,或区间的结束值大于资源ID的最大值,转到步骤B7,否则转到步骤B8;
B7、调整区间的起始值为资源ID的最小值,或调整区间的结束值为资源ID的最大值,转到步骤B8;
B8、将此区间加入到资源ID管理器中,返回到步骤B5。
在上述技术方案的基础上,所述获取空闲的资源ID是指:从给定的资源ID起始值开始,从小到大找到指定数目的空闲的资源ID,其具体步骤如下:
C11、如果给定的资源ID起始值<资源ID最小值,则设置给定的资源ID起始值为资源ID最小值,转到步骤C12;
C12、如果给定的资源ID起始值大于>资源ID最大值,则报错,转到步骤C13;
C13、遍历资源ID管理器的区间列表是否为空,如果为空,转到步骤C18;如果不为空,转到步骤C14;
C14、如果给定的资源ID起始值<区间的起始值,转到步骤C15,否则转到步骤C17;
C15、将给定的资源ID起始值与区间的起始值之间的ID加入到空闲的资源ID列表中,转到步骤C16;
C16、判断空闲的资源ID列表中ID数目是否大于指定数目,如果是,则结束,否则转到步骤C17;
C17、区间的结束值比给定的资源ID起始值大1,则设置给定的资源ID起始值为区间的结束值加1,返回步骤C13;
C18、计算指定数目与空闲的资源ID列表中ID数目的差值,如果大于零且小于指定数目,转到步骤C19,否则转到步骤C110;
C19、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取C18中差值数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C110、判断资源ID管理器的区间列表是否为空,如果资源ID管理器的区间列表为空,转到步骤C112;不为空,则转到步骤C111;
C111、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C112、在资源ID最小值和最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束。
在上述技术方案的基础上,所述分配资源ID是指:分配给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,具体步骤为:
C21、遍历资源ID管理器的区间列表,是否存在当前区间和下一个区间,如果两者都存在,则转到步骤C22,否则转到步骤C25;
C22、如果当前区间的结束值<给定的资源ID<下一个区间的起始值,转到步骤C23,否则转到步骤C24;
C23、对当前区间、下一个区间和给定的资源ID进行区间合并,结束;
C24、设置下一个区间为当前区间,返回步骤C21;
C25、如果资源ID管理器的区间列表为空,转到步骤C26,否则转到步骤C27;
C26、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,结束;
C27、如果资源ID管理器的区间列表的第一个区间的起始值>给定的资源ID,转到步骤C28,否则转到步骤C29;
C28、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最前面,结束;
C29、如果资源ID管理器的区间列表的最后一个区间的结束值<给定的资源ID,转到步骤C210,否则结束;
C210、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最后面,结束。
在上述技术方案的基础上,步骤C23中的区间合并具体包括以下步骤:
C231、如果当前区间的结束值+1=给定的资源ID<下一个区间的起始值-1,转到步骤C232,否则转到步骤C233;
C232、将当前区间的结束值设置为给定的资源ID,结束;
C233、如果当前区间的结束值+1<给定的资源ID=下一个区间的起始值-1,转到步骤C234,否则转到步骤C235;
C234、将下一个区间的起始值设置为给定的资源ID,结束;
C235、如果当前区间的结束值+1=给定的资源ID=下一个区间的起始值-1,转到步骤C236,否则转到步骤C237;
C236、将当前区间的结束值设置为下一个区间的结束值,从资源ID管理器的区间列表中移除下一个区间,结束;
C237、如果当前区间的结束值+1<给定的资源ID<下一个区间的起始值-1,转到步骤C238,否则结束;
C238、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,在当前区间和下一个区间之间,结束。
在上述技术方案的基础上,所述释放资源ID是指:释放给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,其具体步骤如下:
C31、遍历资源ID管理器的区间列表,取当前区间,转到步骤C32;
C32、如果当前区间的起始值≤给定的资源ID≤当前区间的结束值,转到步骤C33,否则返回步骤C31;
C33、如果当前区间的起始值=给定的资源ID<当前区间的结束值,转到步骤C34,否则转到步骤C35;
C34、将当前区间的起始值加1,结束;
C35、如果当前区间的起始值<给定的资源ID=当前区间的结束值,转到步骤C36,否则转到步骤C37;
C36、将当前区间的结束值减1,结束;
C37、如果当前区间的起始值=给定的资源ID=当前区间的结束值,转到步骤C38,否则转到步骤C39;
C38、从资源ID管理器的区间列表中移除当前区间,结束;
C39、如果当前区间的起始值<给定的资源ID<当前区间的结束值,转到步骤C310,否则结束;
C310、创建区间,起始值为给定的资源ID+1,结束值为当前区间的结束值,加入到资源ID管理器的区间列表中当前区间之后,转到步骤C311;
C311、将当前区间的结束值设置为给定的资源ID-1,结束。
本发明还提供一种基于区间的资源ID管理方法,包括以下步骤:
A、使用可扩展标记语言XML文件定义资源ID管理器的规格:XML文件定义多种网元类型,每种网元类型包含多种资源类型,每种资源类型都定义了资源ID的最小值和最大值;
B、数据库保存资源ID管理器的区间数据,区间表示已使用的资源ID的范围,区间由起始值和结束值组成,资源ID管理器包含各区间列表,按照起始值和结束值由小到大的顺序将各区间首尾相连;根据XML文件及数据库中的区间数据,初始化资源ID管理器;
C、使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID。
在上述技术方案的基础上,步骤B中的初始化资源ID管理器是指:从数据库中读取网元数据,初始化每个网元的资源ID管理器,其具体步骤如下:
B1、遍历数据库中的所有网元,转到步骤B2;
B2、判断当前网元的类型是否在XML文件中定义,如果是,则转到步骤B3,否则返回步骤B1;
B3、从XML文件中获取当前网元的类型对应的多个资源ID管理器的规格,转到步骤B4;
B4、根据资源ID管理器规格初始化资源ID的最小值和最大值,转到步骤B5;
B5、从数据库中读取资源ID管理器的区间数据,转到步骤B6;
B6、如果区间的起始值小于资源ID的最小值,或区间的结束值大于资源ID的最大值,转到步骤B7,否则转到步骤B8;
B7、调整区间的起始值为资源ID的最小值,或调整区间的结束值为资源ID的最大值,转到步骤B8;
B8、将此区间加入到资源ID管理器中,返回到步骤B5。
在上述技术方案的基础上,步骤C中获取空闲的资源ID是指:从给定的资源ID起始值开始,从小到大找到指定数目的空闲的资源ID,其具体步骤如下:
C11、如果给定的资源ID起始值<资源ID最小值,则设置给定的资源ID起始值为资源ID最小值,转到步骤C12;
C12、如果给定的资源ID起始值大于>资源ID最大值,则报错,转到步骤C13;
C13、遍历资源ID管理器的区间列表是否为空,如果为空,转到步骤C18;如果不为空,转到步骤C14;
C14、如果给定的资源ID起始值<区间的起始值,转到步骤C15,否则转到步骤C17;
C15、将给定的资源ID起始值与区间的起始值之间的ID加入到空闲的资源ID列表中,转到步骤C16;
C16、判断空闲的资源ID列表中ID数目是否大于指定数目,如果是,则结束,否则转到步骤C17;
C17、区间的结束值比给定的资源ID起始值大1,则设置给定的资源ID起始值为区间的结束值加1,返回步骤C13;
C18、计算指定数目与空闲的资源ID列表中ID数目的差值,如果大于零且小于指定数目,转到步骤C19,否则转到步骤C110;
C19、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取C18中差值数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C110、判断资源ID管理器的区间列表是否为空,如果资源ID管理器的区间列表为空,转到步骤C112;不为空,则转到步骤C111;
C111、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C112、在资源ID最小值和最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束。
在上述技术方案的基础上,步骤C中的分配资源ID是指:分配给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,具体步骤为:
C21、遍历资源ID管理器的区间列表,是否存在当前区间和下一个区间,如果两者都存在,则转到步骤C22,否则转到步骤C25;
C22、如果当前区间的结束值<给定的资源ID<下一个区间的起始值,转到步骤C23,否则转到步骤C24;
C23、对当前区间、下一个区间和给定的资源ID进行区间合并,结束;
C24、设置下一个区间为当前区间,返回步骤C21;
C25、如果资源ID管理器的区间列表为空,转到步骤C26,否则转到步骤C27;
C26、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,结束;
C27、如果资源ID管理器的区间列表的第一个区间的起始值>给定的资源ID,转到步骤C28,否则转到步骤C29;
C28、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最前面,结束;
C29、如果资源ID管理器的区间列表的最后一个区间的结束值<给定的资源ID,转到步骤C210,否则结束;
C210、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最后面,结束。
在上述技术方案的基础上,步骤C23中的区间合并具体包括以下步骤:
C231、如果当前区间的结束值+1=给定的资源ID<下一个区间的起始值-1,转到步骤C232,否则转到步骤C233;
C232、将当前区间的结束值设置为给定的资源ID,结束;
C233、如果当前区间的结束值+1<给定的资源ID=下一个区间的起始值-1,转到步骤C234,否则转到步骤C235;
C234、将下一个区间的起始值设置为给定的资源ID,结束;
C235、如果当前区间的结束值+1=给定的资源ID=下一个区间的起始值-1,转到步骤C236,否则转到步骤C237;
C236、将当前区间的结束值设置为下一个区间的结束值,从资源ID管理器的区间列表中移除下一个区间,结束;
C237、如果当前区间的结束值+1<给定的资源ID<下一个区间的起始值-1,转到步骤C238,否则结束;
C238、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,在当前区间和下一个区间之间,结束。
在上述技术方案的基础上,步骤C中的释放资源ID是指:释放给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,其具体步骤如下:
C31、遍历资源ID管理器的区间列表,取当前区间,转到步骤C32;
C32、如果当前区间的起始值≤给定的资源ID≤当前区间的结束值,转到步骤C33,否则返回步骤C31;
C33、如果当前区间的起始值=给定的资源ID<当前区间的结束值,转到步骤C34,否则转到步骤C35;
C34、将当前区间的起始值加1,结束;
C35、如果当前区间的起始值<给定的资源ID=当前区间的结束值,转到步骤C36,否则转到步骤C37;
C36、将当前区间的结束值减1,结束;
C37、如果当前区间的起始值=给定的资源ID=当前区间的结束值,转到步骤C38,否则转到步骤C39;
C38、从资源ID管理器的区间列表中移除当前区间,结束;
C39、如果当前区间的起始值<给定的资源ID<当前区间的结束值,转到步骤C310,否则结束;
C310、创建区间,起始值为给定的资源ID+1,结束值为当前区间的结束值,加入到资源ID管理器的区间列表中当前区间之后,转到步骤C311;
C311、将当前区间的结束值设置为给定的资源ID-1,结束。
与现有技术相比,本发明的优点如下:
(1)本发明采用区间的方式存储某个范围的资源ID,能够有效节省资源ID的存储空间。
(2)本发明分配新的资源ID时,只需要遍历区间,能够有效减少资源ID的分配时间。
(3)本发明在资源ID数量巨大时,区间的数目保持较小的数量级,能够显著提升获取空闲资源ID、分配资源ID和释放资源ID的效率。
(4)本发明使用XML文件定义资源ID分配器的规格,使得用户更加容易扩展。
附图说明
图1是本发明实施例中基于区间的资源ID管理方法的流程图。
图2为本发明实施例中的区间数据结构图。
图3为本发明实施例中步骤B的流程图。
图4为本发明实施例中步骤C1的流程图。
图5为本发明实施例中步骤C2的流程图。
图6为本发明实施例中步骤C23的流程图。
图7为本发明实施例中步骤C3的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
实施例1
本发明实施例1提供一种基于区间的资源ID管理***,该***包括规格定义单元、资源ID管理器初始化单元、资源ID管理单元,其中:
规格定义单元用于:使用XML(Extensible Markup Language,可扩展标记语言)文件定义资源ID管理器的规格;
资源ID管理器初始化单元用于:根据XML文件及数据库中的区间数据,初始化资源ID管理器;
资源ID管理单元用于:使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID。
规格定义单元使用XML文件定义的具体规格包括网元类型、资源类型和资源ID的最小值、最大值四个字段。XML文件可定义多种网元类型;每种网元类型包含多种资源类型;每种资源类型都定义了资源ID的最小值和最大值。
数据库中保存了资源ID管理器的区间数据,区间表示已使用的资源ID的范围。区间是由起始值和结束值组成,资源ID管理器中包含一各区间列表,按照起始值和结束值由小到大的顺序将区间首尾相连。
实施例2
参见图1所示,本发明实施例2提供一种基于区间的资源ID管理方法,包括以下步骤:
A、使用XML文件定义资源ID管理器的规格。
B、根据XML文件以及数据库中的数据,初始化资源ID管理器。
C、使用资源ID管理器对网元的资源ID进行管理,包括空闲资源ID获取、资源ID分配和资源ID释放。
具体的XML文件定义如下:
Figure BDA0001598363290000131
Figure BDA0001598363290000141
Figure BDA0001598363290000151
使用XML文件定义的具体规格包括网元类型、资源类型和资源ID的最小值、最大值四个字段。如上所示,XML文件的开始处定义了<element-list>元素,其中的<element>子元素代表这四个规格字段。
XML文件可定义多种网元类型;每种网元类型包含多种资源类型;每种资源类型都定义了资源ID的最小值和最大值。如上文所示,XML文件定义了<data>元素,其中的子元素<row>表示一条资源规格;<row>中的四个子元素<col>分别表示网元类型、资源类型和资源ID的最小值、最大值四个字段的具体取值,如In Label资源,它的规格在网元类型1上是(123,1,301,1048575),在网元类型2上是(255,1,301,786432);如果两个<row>的第一个<col>相同,则表示同一种网元类型的上有两种不同的资源规格;如果两个<row>的第一个<col>不同,则表示是不同网元类型上的资源规格。
数据库中存储区间的表格结构如下:
表1、数据库中存储区间的表格结构
网元类型 分配器类型 区间起始值 区间结束值
123 1 301 310
123 2 301 310
123 1 321 330
123 2 321 330
255 1 301 310
255 2 301 310
255 1 321 330
255 2 321 330
数据库中保存了资源ID管理器的区间数据,区间表示已使用的资源ID的范围。参见图2所示,区间是由起始值和结束值组成,资源ID管理器中包含一各区间列表,按照起始值和结束值由小到大的顺序将区间首尾相连。如表1所示,两种网元类型123和255,每种网元类型都支持1和2两种分配器类型,每种分配器类型有两个区间[301,310]和[321,330]。区间的数目可以有多个,并且起始值和结束值都不相同,表1做了简化。
实施例3
在实施例2的基础上,步骤B中的初始化资源ID管理器是指:从数据库中读取网元数据,初始化每个网元的资源ID管理器,参见图3所示,其具体步骤如下:
B1、遍历数据库中的所有网元,转到步骤B2;
数据库中存在网元的表格如下:
表2、数据库中存在网元的表格
网元ID 网元类型
1 123
2 255
3 123
4 255
如表2所示,根据网元表格获得每个网元的网元类型。不同网元的网元类型可以是相同的。
B2、判断当前网元的类型是否在XML文件中定义,如果是,则转到步骤B3,否则返回步骤B1;
在XML文件中查找<row>子元素,判断其第一个<col>是否为当前网元类型。
B3、从XML文件中获取当前网元的类型对应的多个资源ID管理器的规格,转到步骤B4;
在XML文件中查找<row>子元素,获取所有第一个<col>为当前网元类型的<row>。
B4、根据资源ID管理器规格初始化资源ID的最小值和最大值,转到步骤B5;
根据<row>中的第三个和第四个<col>的数据初始化资源ID的最大值和最小值。
B5、从数据库中读取资源ID管理器的区间数据,转到步骤B6;
根据<row>中的第一个和第二个<col>的数据从数据库读取所有区间数据。
B6、如果区间的起始值小于资源ID的最小值,或区间的结束值大于资源ID的最大值,转到步骤B7,否则转到步骤B8;
B7、调整区间的起始值为资源ID的最小值,或调整区间的结束值为资源ID的最大值,转到步骤B8;即表1中的第三列和第四列与XML文件<row>中的第三个和第四个<col>的数据比较大小。此步骤是为了防止区间值超过XML文件定义的最小和最大限制。
B8、将此区间加入到资源ID管理器中,返回到步骤B5。即将区间加入到资源ID管理器的区间列表中。资源ID管理器的区间列表如图2所示,可以包含n个区间,其中各个区间的起始值和结束值满足关系:起始值1≤结束值1≤起始值2≤结束值2≤……≤起始值n≤结束值n。
实施例4
在实施例2的基础上,步骤C中获取空闲的资源ID是指:从给定的资源ID起始值开始,从小到大找到指定数目的空闲的资源ID,参见图4所示,其具体步骤如下:
C11、如果给定的资源ID起始值<资源ID最小值,则设置给定的资源ID起始值为资源ID最小值,转到步骤C12;
C12、如果给定的资源ID起始值大于>资源ID最大值,则报错,转到步骤C13;
C11和C12保证合法的资源ID起始值。例如XML文件中的网元类型为123的In Label资源ID,其最小值和最大值分别为301和1048575;获取空闲的In Label资源ID时,可以指定资源ID起始值,从它开始向后寻找,但是其范围在301和1048575之间。
C13、遍历资源ID管理器的区间列表是否为空,如果为空,转到步骤C18;如果不为空,转到步骤C14;
C14、如果给定的资源ID起始值<区间的起始值,转到步骤C15,否则转到步骤C17;
C15、将给定的资源ID起始值与区间的起始值之间的ID加入到空闲的资源ID列表中,转到步骤C16;
C16、判断空闲的资源ID列表中ID数目是否大于指定数目,如果是,则结束,否则转到步骤C17;
C17、区间的结束值比给定的资源ID起始值大1,则设置给定的资源ID起始值为区间的结束值加1,返回步骤C13;
C13到C17处理资源ID管理器中区间列表不为空的情况。如上文所述,假设网元类型为123的In Label资源ID,有区间[301,310]和[321,330],给定的资源ID起始值是302,指定数目是11;C13取区间[301,310];那么C14判断302大于301,转C17;资源ID起始值设置为区间[301,310]的结束值加一,即311,转C13;此时当前区间为[321,330],那么C14判断311小于321,转C15;则将311与321之间的ID都加入到空闲的资源ID列表中,当然数目要符合指定的数目11,现在311与321之间只有10个资源ID,因此还差一个,需要进入C18做进一步计算。
C18、计算指定数目与空闲的资源ID列表中ID数目的差值,如果差值大于零且小于指定数目,转到步骤C19,否则转到步骤C110;
C19、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取C18中差值数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C110、判断资源ID管理器的区间列表是否为空,如果资源ID管理器的区间列表为空,转到步骤C112;不为空,则转到步骤C111;
C111、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C112、在资源ID最小值和最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束。
步骤C18处理如下几种情况,第一种情况,步骤C13到步骤C17中资源ID管理器中区间列表不为空,但是获取的空闲资源ID的数目还不够指定数目。如上文所述,网元类型为123的In Label资源ID,有区间[301,310]和[321,330],给定的资源ID起始值是301,指定数目是11;步骤C13到C17已经获取了10个空闲资源ID,因此C18计算的差值是1,转到步骤C19;当前区间是[321,330],因此取330和1048575之间的1个ID,即331,加入空闲的资源ID列表,结束。
第二种情况,步骤C13中判断资源ID管理器的区间列表为空,即上述区间[301,310]和[321,330]不存在,转到步骤C18;步骤C18计算的差值是11,等于指定数目,转到步骤C110;资源ID管理器的区间列表为空,转到步骤C112,在302和1048575之间取11个资源ID。
第三种情况,步骤C13中判断资源ID管理器的区间列表不为空,有区间[301,310]和[321,330],给定的资源ID起始值是301,指定数目是10,C13到C17已经获取了足够的资源ID,这时步骤C18计算的差值是0,转到步骤C110;资源ID管理器的区间列表不是空的,转到步骤C111;由于指定的数目此时是步骤C18计算的差值0,无需获取资源ID,结束。
实施例5
在实施例2的基础上,步骤C中的分配资源ID是指:分配给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,参见图5所示,具体步骤为:
C21、遍历资源ID管理器的区间列表,是否存在当前区间和下一个区间,如果两者都存在,则转到步骤C22,否则转到步骤C25;
C22、如果当前区间的结束值<给定的资源ID<下一个区间的起始值,转到步骤C23,否则转到步骤C24;
C23、对当前区间、下一个区间和给定的资源ID进行区间合并,结束;
C24、设置下一个区间为当前区间,返回步骤C21;
步骤C21到C24是在区间列表中查找,看是否给定的资源ID在前、后两个区间之间。例如,区间列表是[301,310]、[321,330],如果给定的资源ID是311,则C22中311在两个区间之间,转到步骤C23,进入合并区间的步骤;如果给定的资源ID是331,那么C22中331大于区间[301,310]的结束值,转到步骤C24;C24中设置当前区间为[321,330],转到步骤C21;C21中判断没有下一个区间,则转到步骤C25。
C25、如果资源ID管理器的区间列表为空,转到步骤C26,否则转到步骤C27;
C26、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,结束;
初始创建的区间仅有一个值,之后ID分配会增加区间的大小。
C27、如果资源ID管理器的区间列表的第一个区间的起始值>给定的资源ID,转到步骤C28,否则转到步骤C29;
C28、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最前面,结束;
C29、如果资源ID管理器的区间列表的最后一个区间的结束值<给定的资源ID,转到步骤C210,否则结束;
C210、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最后面,结束。
步骤C25到C210处理的情况是给定的资源ID不在两个区间之间的情况。例如,如果区间列表为空,给定的资源ID是301,那么步骤C25转到步骤C26,区间列表修改为[301,301];如果区间列表为[321,330],且给定的资源ID是301,那么步骤C27转到步骤C28,区间列表修改为[301,301]、[321,330];如果区间列表为[321,330],且给定的资源ID是331,那么步骤C29转到步骤C210,区间列表修改为[321,330]、[331,331]。
实施例6
在实施例5的基础上,步骤C23中的区间合并具体包括以下步骤,参见图6所示:
C231、如果当前区间的结束值+1=给定的资源ID<下一个区间的起始值-1,转到步骤C232,否则转到步骤C233;
C232、将当前区间的结束值设置为给定的资源ID,结束;
C233、如果当前区间的结束值+1<给定的资源ID=下一个区间的起始值-1,转到步骤C234,否则转到步骤C235;
C234、将下一个区间的起始值设置为给定的资源ID,结束;
C235、如果当前区间的结束值+1=给定的资源ID=下一个区间的起始值-1,转到步骤C236,否则转到步骤C237;
C236、将当前区间的结束值设置为下一个区间的结束值,从资源ID管理器的区间列表中移除下一个区间,结束;
C237、如果当前区间的结束值+1<给定的资源ID<下一个区间的起始值-1,转到步骤C238,否则结束;
C238、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,在当前区间和下一个区间之间,结束。
上述步骤C23的合并区间,考虑的是给定的资源ID在两个区间之间的情况。例如,区间列表是[301,310]、[321,330],如果给定的资源ID是311,那么C231转C232,区间列表修改为[301,311]、[321,330];如果给定的资源ID是320,那么步骤C233转到步骤C234,区间列表修改为[301,310]、[320,330];如果给定的资源ID是312,那么步骤C237转到步骤C238,区间修改为[301,310]、[312,312]、[321,330]。
另有一种情况,区间列表是[301,310]、[312,330],给定的资源ID是311,那么步骤C235转到步骤C236,区间列表修改为[301,330]。
实施例7
在实施例2的基础上,步骤C中的释放资源ID是指:释放给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,参见图7所示,其具体步骤如下:
C31、遍历资源ID管理器的区间列表,取当前区间,转到步骤C32;
C32、如果当前区间的起始值≤给定的资源ID≤当前区间的结束值,转到步骤C33,否则返回步骤C31;
步骤C31到C32,是在区间列表中找给定的资源ID所在区间。例如,区间列表为[301,310]、[321,330],如果给定的资源ID是305,则找到其所在区间是[301,310],转到步骤C33;如果给定的资源ID是331,则找不到这样的区间,无需释放此资源ID。
C33、如果当前区间的起始值=给定的资源ID<当前区间的结束值,转到步骤C34,否则转到步骤C35;
C34、将当前区间的起始值加1,结束;
C35、如果当前区间的起始值<给定的资源ID=当前区间的结束值,转到步骤C36,否则转到步骤C37;
C36、将当前区间的结束值减1,结束;
C37、如果当前区间的起始值=给定的资源ID=当前区间的结束值,转到步骤C38,否则转到步骤C39;
C38、从资源ID管理器的区间列表中移除当前区间,结束;
C39、如果当前区间的起始值<给定的资源ID<当前区间的结束值,转到步骤C310,否则结束;
C310、创建区间,起始值为给定的资源ID+1,结束值为当前区间的结束值,加入到资源ID管理器的区间列表中当前区间之后,转到步骤C311;
C311、将当前区间的结束值设置为给定的资源ID-1,结束。
步骤C33到步骤C311,是考虑找到一个区间包含了要释放的资源ID的情况,例如上述给定的资源ID是305,位于区间[301,310]中。如果区间是[301,310]、[321,330],当前区间是[301,310],可能的情况有如下几种:给定的资源ID是301,则步骤C33转到步骤C34,区间列表修改为[302,310]、[321,330];给定的资源ID是310,则步骤C35转到步骤C36,区间列表修改为[301,309]、[321,330];给定的资源ID是302到309中任意一个,如305,则步骤C39转到步骤C310,再转到步骤C311,区间[301,310]从305处分解成两个区间[301,304],[306,310],则区间列表修改为[301,304]、[306,310]、[321,330]。
另有一种特殊情况,例如,区间列表是[301,301]、[321,330],给定的资源ID是301,那么步骤C37转到步骤C38,区间列表修改为[321,330]。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。

Claims (10)

1.一种基于区间的资源ID管理***,其特征在于:该***包括规格定义单元、资源ID管理器初始化单元、资源ID管理单元,其中:
规格定义单元用于:使用可扩展标记语言XML文件定义资源ID管理器的规格:XML文件定义多种网元类型,每种网元类型包含多种资源类型,每种资源类型都定义了资源ID的最小值和最大值;
数据库保存资源ID管理器的区间数据,区间表示已使用的资源ID的范围,区间由起始值和结束值组成;资源ID管理器包含各区间列表,按照起始值和结束值由小到大的顺序将各区间首尾相连;
资源ID管理器初始化单元用于:根据XML文件及数据库中的区间数据,初始化资源ID管理器;
资源ID管理单元用于:使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID;
所述初始化资源ID管理器是指:从数据库中读取网元数据,初始化每个网元的资源ID管理器,其具体步骤如下:
B1、遍历数据库中的所有网元,转到步骤B2;
B2、判断当前网元的类型是否在XML文件中定义,如果是,则转到步骤B3,否则返回步骤B1;
B3、从XML文件中获取当前网元的类型对应的多个资源ID管理器的规格,转到步骤B4;
B4、根据资源ID管理器规格初始化资源ID的最小值和最大值,转到步骤B5;
B5、从数据库中读取资源ID管理器的区间数据,转到步骤B6;
B6、如果区间的起始值小于资源ID的最小值,或区间的结束值大于资源ID的最大值,转到步骤B7,否则转到步骤B8;
B7、调整区间的起始值为资源ID的最小值,或调整区间的结束值为资源ID的最大值,转到步骤B8;
B8、将此区间加入到资源ID管理器中,返回到步骤B5。
2.如权利要求1所述的基于区间的资源ID管理***,其特征在于:所述获取空闲的资源ID是指:从给定的资源ID起始值开始,从小到大找到指定数目的空闲的资源ID,其具体步骤如下:
C11、如果给定的资源ID起始值<资源ID最小值,则设置给定的资源ID起始值为资源ID最小值,转到步骤C12;
C12、如果给定的资源ID起始值大于>资源ID最大值,则报错,转到步骤C13;
C13、遍历资源ID管理器的区间列表是否为空,如果为空,转到步骤C18;如果不为空,转到步骤C14;
C14、如果给定的资源ID起始值<区间的起始值,转到步骤C15,否则转到步骤C17;
C15、将给定的资源ID起始值与区间的起始值之间的ID加入到空闲的资源ID列表中,转到步骤C16;
C16、判断空闲的资源ID列表中ID数目是否大于指定数目,如果是,则结束,否则转到步骤C17;
C17、区间的结束值比给定的资源ID起始值大1,则设置给定的资源ID起始值为区间的结束值加1,返回步骤C13;
C18、计算指定数目与空闲的资源ID列表中ID数目的差值,如果大于零且小于指定数目,转到步骤C19,否则转到步骤C110;
C19、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取C18中差值数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C110、判断资源ID管理器的区间列表是否为空,如果资源ID管理器的区间列表为空,转到步骤C112;不为空,则转到步骤C111;
C111、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C112、在资源ID最小值和最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束。
3.如权利要求1所述的基于区间的资源ID管理***,其特征在于:所述分配资源ID是指:分配给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,具体步骤为:
C21、遍历资源ID管理器的区间列表,是否存在当前区间和下一个区间,如果两者都存在,则转到步骤C22,否则转到步骤C25;
C22、如果当前区间的结束值<给定的资源ID<下一个区间的起始值,转到步骤C23,否则转到步骤C24;
C23、对当前区间、下一个区间和给定的资源ID进行区间合并,结束;
C24、设置下一个区间为当前区间,返回步骤C21;
C25、如果资源ID管理器的区间列表为空,转到步骤C26,否则转到步骤C27;
C26、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,结束;
C27、如果资源ID管理器的区间列表的第一个区间的起始值>给定的资源ID,转到步骤C28,否则转到步骤C29;
C28、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最前面,结束;
C29、如果资源ID管理器的区间列表的最后一个区间的结束值<给定的资源ID,转到步骤C210,否则结束;
C210、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最后面,结束。
4.如权利要求3所述的基于区间的资源ID管理***,其特征在于:步骤C23中的区间合并具体包括以下步骤:
C231、如果当前区间的结束值+1=给定的资源ID<下一个区间的起始值-1,转到步骤C232,否则转到步骤C233;
C232、将当前区间的结束值设置为给定的资源ID,结束;
C233、如果当前区间的结束值+1<给定的资源ID=下一个区间的起始值-1,转到步骤C234,否则转到步骤C235;
C234、将下一个区间的起始值设置为给定的资源ID,结束;
C235、如果当前区间的结束值+1=给定的资源ID=下一个区间的起始值-1,转到步骤C236,否则转到步骤C237;
C236、将当前区间的结束值设置为下一个区间的结束值,从资源ID管理器的区间列表中移除下一个区间,结束;
C237、如果当前区间的结束值+1<给定的资源ID<下一个区间的起始值-1,转到步骤C238,否则结束;
C238、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,在当前区间和下一个区间之间,结束。
5.如权利要求1所述的基于区间的资源ID管理***,其特征在于:所述释放资源ID是指:释放给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,其具体步骤如下:
C31、遍历资源ID管理器的区间列表,取当前区间,转到步骤C32;
C32、如果当前区间的起始值≤给定的资源ID≤当前区间的结束值,转到步骤C33,否则返回步骤C31;
C33、如果当前区间的起始值=给定的资源ID<当前区间的结束值,转到步骤C34,否则转到步骤C35;
C34、将当前区间的起始值加1,结束;
C35、如果当前区间的起始值<给定的资源ID=当前区间的结束值,转到步骤C36,否则转到步骤C37;
C36、将当前区间的结束值减1,结束;
C37、如果当前区间的起始值=给定的资源ID=当前区间的结束值,转到步骤C38,否则转到步骤C39;
C38、从资源ID管理器的区间列表中移除当前区间,结束;
C39、如果当前区间的起始值<给定的资源ID<当前区间的结束值,转到步骤C310,否则结束;
C310、创建区间,起始值为给定的资源ID+1,结束值为当前区间的结束值,加入到资源ID管理器的区间列表中当前区间之后,转到步骤C311;
C311、将当前区间的结束值设置为给定的资源ID-1,结束。
6.一种基于区间的资源ID管理方法,其特征在于,包括以下步骤:
A、使用可扩展标记语言XML文件定义资源ID管理器的规格:XML文件定义多种网元类型,每种网元类型包含多种资源类型,每种资源类型都定义了资源ID的最小值和最大值;
B、数据库保存资源ID管理器的区间数据,区间表示已使用的资源ID的范围,区间由起始值和结束值组成,资源ID管理器包含各区间列表,按照起始值和结束值由小到大的顺序将各区间首尾相连;根据XML文件及数据库中的区间数据,初始化资源ID管理器;
C、使用资源ID管理器对网元的资源ID进行管理,包括获取空闲的资源ID、分配资源ID、释放资源ID;
步骤B中的初始化资源ID管理器是指:从数据库中读取网元数据,初始化每个网元的资源ID管理器,其具体步骤如下:
B1、遍历数据库中的所有网元,转到步骤B2;
B2、判断当前网元的类型是否在XML文件中定义,如果是,则转到步骤B3,否则返回步骤B1;
B3、从XML文件中获取当前网元的类型对应的多个资源ID管理器的规格,转到步骤B4;
B4、根据资源ID管理器规格初始化资源ID的最小值和最大值,转到步骤B5;
B5、从数据库中读取资源ID管理器的区间数据,转到步骤B6;
B6、如果区间的起始值小于资源ID的最小值,或区间的结束值大于资源ID的最大值,转到步骤B7,否则转到步骤B8;
B7、调整区间的起始值为资源ID的最小值,或调整区间的结束值为资源ID的最大值,转到步骤B8;
B8、将此区间加入到资源ID管理器中,返回到步骤B5。
7.如权利要求6所述的基于区间的资源ID管理方法,其特征在于:步骤C中获取空闲的资源ID是指:从给定的资源ID起始值开始,从小到大找到指定数目的空闲的资源ID,其具体步骤如下:
C11、如果给定的资源ID起始值<资源ID最小值,则设置给定的资源ID起始值为资源ID最小值,转到步骤C12;
C12、如果给定的资源ID起始值大于>资源ID最大值,则报错,转到步骤C13;
C13、遍历资源ID管理器的区间列表是否为空,如果为空,转到步骤C18;如果不为空,转到步骤C14;
C14、如果给定的资源ID起始值<区间的起始值,转到步骤C15,否则转到步骤C17;
C15、将给定的资源ID起始值与区间的起始值之间的ID加入到空闲的资源ID列表中,转到步骤C16;
C16、判断空闲的资源ID列表中ID数目是否大于指定数目,如果是,则结束,否则转到步骤C17;
C17、区间的结束值比给定的资源ID起始值大1,则设置给定的资源ID起始值为区间的结束值加1,返回步骤C13;
C18、计算指定数目与空闲的资源ID列表中ID数目的差值,如果大于零且小于指定数目,转到步骤C19,否则转到步骤C110;
C19、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取C18中差值数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C110、判断资源ID管理器的区间列表是否为空,如果资源ID管理器的区间列表为空,转到步骤C112;不为空,则转到步骤C111;
C111、在资源ID管理器的区间列表中最后一个区间的结束值与资源ID的最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束;
C112、在资源ID最小值和最大值之间,取指定数目的资源ID,加入到空闲的资源ID列表中,然后结束。
8.如权利要求6所述的基于区间的资源ID管理方法,其特征在于:步骤C中的分配资源ID是指:分配给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,具体步骤为:
C21、遍历资源ID管理器的区间列表,是否存在当前区间和下一个区间,如果两者都存在,则转到步骤C22,否则转到步骤C25;
C22、如果当前区间的结束值<给定的资源ID<下一个区间的起始值,转到步骤C23,否则转到步骤C24;
C23、对当前区间、下一个区间和给定的资源ID进行区间合并,结束;
C24、设置下一个区间为当前区间,返回步骤C21;
C25、如果资源ID管理器的区间列表为空,转到步骤C26,否则转到步骤C27;
C26、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,结束;
C27、如果资源ID管理器的区间列表的第一个区间的起始值>给定的资源ID,转到步骤C28,否则转到步骤C29;
C28、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最前面,结束;
C29、如果资源ID管理器的区间列表的最后一个区间的结束值<给定的资源ID,转到步骤C210,否则结束;
C210、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表最后面,结束。
9.如权利要求8所述的基于区间的资源ID管理方法,其特征在于:步骤C23中的区间合并具体包括以下步骤:
C231、如果当前区间的结束值+1=给定的资源ID<下一个区间的起始值-1,转到步骤C232,否则转到步骤C233;
C232、将当前区间的结束值设置为给定的资源ID,结束;
C233、如果当前区间的结束值+1<给定的资源ID=下一个区间的起始值-1,转到步骤C234,否则转到步骤C235;
C234、将下一个区间的起始值设置为给定的资源ID,结束;
C235、如果当前区间的结束值+1=给定的资源ID=下一个区间的起始值-1,转到步骤C236,否则转到步骤C237;
C236、将当前区间的结束值设置为下一个区间的结束值,从资源ID管理器的区间列表中移除下一个区间,结束;
C237、如果当前区间的结束值+1<给定的资源ID<下一个区间的起始值-1,转到步骤C238,否则结束;
C238、创建区间,起始值和结束值都是给定的资源ID,加入到资源ID管理器的区间列表中,在当前区间和下一个区间之间,结束。
10.如权利要求6所述的基于区间的资源ID管理方法,其特征在于:步骤C中的释放资源ID是指:释放给定的资源ID,在资源ID管理器中找到ID所处位置,创建或修改ID所属区间,其具体步骤如下:
C31、遍历资源ID管理器的区间列表,取当前区间,转到步骤C32;
C32、如果当前区间的起始值≤给定的资源ID≤当前区间的结束值,转到步骤C33,否则返回步骤C31;
C33、如果当前区间的起始值=给定的资源ID<当前区间的结束值,转到步骤C34,否则转到步骤C35;
C34、将当前区间的起始值加1,结束;
C35、如果当前区间的起始值<给定的资源ID=当前区间的结束值,转到步骤C36,否则转到步骤C37;
C36、将当前区间的结束值减1,结束;
C37、如果当前区间的起始值=给定的资源ID=当前区间的结束值,转到步骤C38,否则转到步骤C39;
C38、从资源ID管理器的区间列表中移除当前区间,结束;
C39、如果当前区间的起始值<给定的资源ID<当前区间的结束值,转到步骤C310,否则结束;
C310、创建区间,起始值为给定的资源ID+1,结束值为当前区间的结束值,加入到资源ID管理器的区间列表中当前区间之后,转到步骤C311;
C311、将当前区间的结束值设置为给定的资源ID-1,结束。
CN201810215053.3A 2018-03-15 2018-03-15 基于区间的资源id管理***及方法 Active CN108509535B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810215053.3A CN108509535B (zh) 2018-03-15 2018-03-15 基于区间的资源id管理***及方法
PCT/CN2018/103165 WO2019174196A1 (zh) 2018-03-15 2018-08-30 基于区间的资源id管理***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810215053.3A CN108509535B (zh) 2018-03-15 2018-03-15 基于区间的资源id管理***及方法

Publications (2)

Publication Number Publication Date
CN108509535A CN108509535A (zh) 2018-09-07
CN108509535B true CN108509535B (zh) 2020-12-01

Family

ID=63377643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810215053.3A Active CN108509535B (zh) 2018-03-15 2018-03-15 基于区间的资源id管理***及方法

Country Status (2)

Country Link
CN (1) CN108509535B (zh)
WO (1) WO2019174196A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291340B (zh) * 2020-10-28 2022-06-03 武汉绿色网络信息服务有限责任公司 服务分配方法、控制器及虚拟网元

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102694878A (zh) * 2012-05-16 2012-09-26 烽火通信科技股份有限公司 一种分段式id分配方法
CN103139255A (zh) * 2011-11-30 2013-06-05 腾讯科技(深圳)有限公司 分配资源标识和标识段的方法
CN103873389A (zh) * 2012-12-12 2014-06-18 北京百度网讯科技有限公司 一种标识资源分配方法及***
CN105610593A (zh) * 2014-11-05 2016-05-25 中兴通讯股份有限公司 网管***中资源标识分配的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640613B (zh) * 2009-09-11 2012-01-25 中兴通讯股份有限公司 一种网络资源关联管理的方法及装置
CN102547818B (zh) * 2012-01-04 2016-06-15 大唐移动通信设备有限公司 资源标识分配方法和设备
CN104376025B (zh) * 2013-08-16 2017-10-10 华为技术有限公司 分布式数据库的数据存储方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139255A (zh) * 2011-11-30 2013-06-05 腾讯科技(深圳)有限公司 分配资源标识和标识段的方法
CN102694878A (zh) * 2012-05-16 2012-09-26 烽火通信科技股份有限公司 一种分段式id分配方法
CN103873389A (zh) * 2012-12-12 2014-06-18 北京百度网讯科技有限公司 一种标识资源分配方法及***
CN105610593A (zh) * 2014-11-05 2016-05-25 中兴通讯股份有限公司 网管***中资源标识分配的方法及装置

Also Published As

Publication number Publication date
WO2019174196A1 (zh) 2019-09-19
CN108509535A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
KR101994021B1 (ko) 파일 조작 방법 및 장치
US10154089B2 (en) Distributed system and data operation method thereof
WO2021227999A1 (zh) 云计算服务***和方法
CN109194707A (zh) 分布式图嵌入的方法及装置
CN101227465A (zh) 一种ip地址管理方法和***
CN105094997A (zh) 一种云计算主机节点间物理内存共享方法和***
WO2019170011A1 (zh) 任务分配方法及装置、分布式存储***
CN113094183B (zh) Ai训练平台的训练任务创建方法、装置、***及介质
CN108509535B (zh) 基于区间的资源id管理***及方法
CN104572809A (zh) 一种分布式关系数据库自由扩展方法
US8443369B1 (en) Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
WO2019217105A1 (en) Distributed data storage system with automatic snapshots, user snapshots and soft delete
CN111309259A (zh) 一种数据迁移方法、***、存储介质和数据迁移终端
CN106502589A (zh) 基于云计算实现缓存的加载或持久化的***及方法
US11757716B2 (en) Network management apparatus, method, and program
CN110162395A (zh) 一种内存分配的方法及装置
CN111124883B (zh) 一种基于树形表格的测试用例库引入方法、***及设备
JP3844933B2 (ja) データベースサーバ処理方法
CN107276833A (zh) 一种节点信息管理方法及装置
CN115686497A (zh) 业务开发数据管理方法、开发引擎、电子设备和存储介质
CN104735149A (zh) 一种云计算资源管理***及方法
CN112884382B (zh) 云平台的资源配额管理方法、装置、设备以及存储介质
CN114896073A (zh) 一种数据分摊处理方法、装置及***
CN114090969A (zh) 多级多租户交叉授权管理方法
CN110019057A (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