CN108268509B - 配置数据管理方法和装置 - Google Patents
配置数据管理方法和装置 Download PDFInfo
- Publication number
- CN108268509B CN108268509B CN201611262792.5A CN201611262792A CN108268509B CN 108268509 B CN108268509 B CN 108268509B CN 201611262792 A CN201611262792 A CN 201611262792A CN 108268509 B CN108268509 B CN 108268509B
- Authority
- CN
- China
- Prior art keywords
- data
- configuration
- handle
- request
- management
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供的配置数据管理方法和装置,用于嵌入式技术领域。所述方法包括:获取业务模块基于所述管理请求返回的配置句柄,其中,所述配置句柄为用于定位所述配置数据的句柄。根据所述配置句柄定位存储所述配置数据的配置对象,其中,所述配置对象存储有所述配置数据的关系数据,根据所述配置请求生成查询值。根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据,对所述实体数据执行所述管理请求对应的管理操作。通过与业务模块内连接的配置数据管理装置管理存储在所述业务模块内的实体数据,由业务模块为配置数据只分配一次存储内存,避免了配置数据在多空间重复存储造成了设备内存严重占用的技术问题。
Description
技术领域
本发明涉及嵌入式技术领域,具体而言,涉及配置数据管理方法和装置。
背景技术
在嵌入式设备领域,配置管理主要用于为用户提供两大功能:用户配置下发给业务模块和业务状态呈现给用户。不管是用户配置还是业务状态都是存储于业务模块内部,统称这两者为配置数据。用户读取配置数据主要通过不同配置管理工具,这些工具包括CLI、SNMP、WEB等等。每种工具都有自己特有的方式从业务模块获取配置数据。当前的配置数据管理方法和装置需要存储至少双份的配置数据,导致内存占用较高,影响设备的正常使用。
发明内容
本发明提供配置数据管理方法和装置,旨在改善上述问题。
本发明实施例提供的一种配置数据管理方法,用于根据管理请求管理业务模块的配置数据,所述配置数据包括关系数据和与所述关系数据对应的存储于所述业务模块内的实体数据。所述方法包括:获取业务模块基于所述管理请求返回的配置句柄,其中,所述配置句柄为用于定位所述配置数据的句柄。根据所述配置句柄定位存储所述配置数据的配置对象,其中,所述配置对象存储有所述配置数据的关系数据,根据所述管理请求生成查询值。根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据,对所述实体数据执行所述管理请求对应的管理操作。
本发明实施例提供的一种配置数据管理装置,用于根据管理请求管理业务模块的配置数据,所述配置数据包括关系数据和与所述关系数据对应的存储于所述业务模块内的实体数据。所述装置包括:配置句柄获取模块,用于获取业务模块基于所述管理请求返回的配置句柄,其中,所述配置句柄为用于定位所述配置数据的句柄。配置对象定位模块,用于根据所述配置句柄定位存储所述配置数据的配置对象,其中,所述配置对象存储有所述配置数据的关系数据。查询值生成模块,用于根据所述管理请求生成查询值。实体数据查找模块,用于根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据。管理操作执行模块,用于对所述实体数据执行所述管理请求对应的管理操作。
本发明实施例提供的配置数据管理方法和装置,用于根据管理请求管理业务模块的配置数据。在业务模块在接收到管理请求后,返回对应的配置句柄至所述配置数据管理装置,由所述装置根据所述配置句柄定位到存储所述配置数据的关系数据的配置对象。所述装置根据所述管理请求中的待配置数据生成查询值,并进一步根据查询值获取实体数据,对所述实体数据执行用户需求的管理操作。通过与业务模块内连接的配置数据管理装置管理存储在所述业务模块内的实体数据,由业务模块为配置数据只分配一次存储内存,避免了配置数据在多空间重复存储造成了设备内存严重占用的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的配置数据管理系统的交互图;
图2是本发明第一实施例提供的配置数据管理方法的步骤流程图;
图3是本发明第二实施例提供的配置数据管理方法的步骤流程图;
图4是本发明第三实施例提供的配置数据管理装置的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在嵌入式设备领域,配置管理主要用于为用户提供两大功能:用户配置下发给业务模块和业务状态呈现给用户。下发给业务模块的用户配置和呈现给用户的业务状态均存储于业务模块内,统称为配置数据。
请参见图1,为本发明实施例提供的配置数据管理方法和装置所应用的配置数据管理系统的交互示意图。所述配置数据管理系统包括:应用终端110、业务模块120和配置数据管理装置130,所述应用终端110与所述业务模块120连接,根据用户触发的需求向业务模块发送配置数据的管理请求。所述业务模块与所述配置数据管理装置130连接。
配置数据的类型包括:网络接口信息、地址、ACL等各种配置数据。考虑到配置数据的存储和管理过程,本实施例所述的配置数据包括:实体数据和关系数据,所述实体数据用于指代用户配置的数据本身,所述关系数据用于指代该配置的实体数据的用于表征存储方式或者关联的关系数据。所述配置数据的实体数据存储在所述业务模块的内存,所述配置数据管理装置仅存储所述配置数据的关系数据。通过所述配置数据管理装置内的关系数据实现对所述业务模块内的实体数据的查询、增加等管理操作,又避免了将实体数据存储于业务模块后,又重复存储在业务模块分配给配置数据管理装置的内存内,减少了内存占用,提高了设备的内存利用率和管理效率。
请参见图2,为本发明第一实施例提供的配置数据管理方法的步骤流程图。本实施例提供的配置数据管理方法用于根据管理请求管理业务模块的配置数据。下面将对图2所示的步骤进行具体解释。
步骤S201,获取业务模块基于所述管理请求返回的配置句柄。其中,所述配置句柄为用于定位所述配置数据的句柄。
用户通过应用终端向所述业务模块发送用于管理配置数据的请求,例如获取、修改、删除某些配置数据等的请求,所述管理请求可以包括获取请求、修改请求、增加请求、删除请求等。所述获取请求用于指示用户想要获取某些配置数据的请求,将用户希望通过所述获取请求获取的配置数据作为待配置数据。所述修改请求用于指示用户想要修改某些配置数据的请求,将用户希望通过所述修改请求修改的配置数据作为待修改数据。所述增加请求用于指示用户想要增加某些配置数据的请求,将用户希望通过所述增加请求增加的配置数据作为待增加数据,所述删除请求用于指示用户想要删除某些配置数据的请求,将用户希望通过所述删除请求删除的配置数据作为待删除数据。上述只是常用的配置数据的管理类型的举例说明,其它能表征用户需求的管理请求均可适用于本实施例,在此不做限定。
配置数据包括实体数据和关系数据,所述关系数据为表征所述实体数据的存储信息的数据,为减少内存占用和方便数据管理,所述配置数据的实体数据存储在业务模块的内存里,关系数据存储在配置数据管理装置的数据结构内。所述配置数据管理装置内设置有多个配置对象,所述配置对象为一类配置数据的集合,或者可以定义为存储一类配置数据的存储区域。业务模块为每一类配置数据分配一个配置对象,该配置对象内包含该类别下的所有配置数据,尤其地,包含该类别下的所有配置数据的关系数据。业务模块为每类配置数据分配配置对象时,生成用于定位该配置对象的配置句柄。业务模块在接收到应用终端的管理请求时,针对该管理请求所指向的配置数据,获取该配置数据对应的配置对象对应的配置句柄,将该配置句柄发送至配置数据管理装置。
步骤S202,根据所述配置句柄定位存储所述配置数据的配置对象。
依据上述步骤获取管理请求对应的配置句柄后,根据所述配置句柄定位到所对应的配置对象。
所述管理请求可以为对应待修改数据的修改请求,对应所述待修改数据的配置句柄为修改句柄。获取业务模块基于所述修改请求返回的修改句柄后,根据所述修改句柄定位所述待修改数据对应的配置对象。
所述管理请求可以为对应待删除数据的删除请求,对应待删除数据的配置句柄为删除句柄。获取业务模块基于所述删除请求返回的删除句柄后,根据所述删除句柄定位所述待删除数据对应的配置对象。
所述管理请求可以为对应待获取数据的获取请求,对应待获取数据的配置句柄为获取句柄。获取业务模块基于所述获取请求返回的获取句柄后,根据所述获取句柄定位所述待获取数据对应的配置对象。
步骤S203,根据所述管理请求生成查询值。
通过所述业务模块返回的配置句柄定位到所述配置对象后,获取所述配置请求中的待配置数据和请求类型,根据所获取的配置请求和计算规则生成查询值,所述查询值用于查找到所述配置数据。
业务模块为每一类配置数据分配配置对象时,为此类配置数据指定关键字获取函数,并将该类配置数据对应的关键字获取函数存储在所述配置对象内。获取所述配置对象内的配置数据后,根据所述配置请求和关键字获取函数生成关键字,并根据所生成的关键字生成对应不同数据结构的查询值。
在配置管理领域内,配置管理工具有至少三种(CLI/SNMP/WEB),并且还在继续产生新的配置管理工具。因此为满足已有多种以及未来可能增加的多种查询方式的需求,在所述配置数据管理装置内设置多种数据结构,每种数据结构可以满足一种查询方式的需求。在一种实施方式中,存储在所述装置内的配置数据的关系数据同时存储在多种数据结构中,以应对多种查询方式的查询需求。所述数据结构可以包括:对应线性数据查询和遍历的链表数据结构、对应基于散列值和关键字查询和遍历的散列表数据结构、对应基于索引查询和遍历的索引链表数据结构和对应预备配置管理工具查询方式的数据结构中的至少一种。
步骤S204,根据所述查询值和关系数据查找所述管理请求对应的配置数据内的实体数据。
依据上述步骤获取查询值后,根据所述查询值获取所述配置数据的关系数据,根据所述关系数据和所述查询值查找所述管理请求对应的配置数据内的实体数据。步骤S205,对所述实体数据执行所述管理请求对应的管理操作。
获取所述实体数据后,根据管理请求所指示的管理操作,对所获取的实体数据执行所述管理操作。
所述管理请求为对应待修改数据的修改请求时,根据所述配置对象内的关系数据生成查询值,根据所生成的查询值查找到所述待修改数据,将所述待修改数据发送至业务模块,以使所述业务模块修改所述待修改数据。也可以由所述业务模块直接将所述待修改数据对应的目标数据传递至所述配置数据管理装置,由所述装置更新所述数据结构内存储的待修改数据的关系数据为所述目标数据的关系数据,以达到配置数据修改的目的。
所述管理请求为对应待删除数据的删除请求时,根据所述查询值查找到所述待删除数据后,删除所述数据结构内存储的,该待删除数据对应的关系数据。为进一步删除所述配置数据,所述配置数据管理装置还可以发送内存释放指令至所述业务模块,由所述业务模块释放所述配置数据的实体数据所占用的内存。以减少不必要的内存占用,节省内存空间。
所述管理请求为对应待获取数据的获取请求时,根据所述查询值查找到所述待获取数据,将所述待获取数据发送至所述业务模块,以使所述业务模块将所述待获取数据发送至需求该待获取数据的应用终端。
上述本发明实施例提供的配置数据管理方法,将所需管理的配置数据的实体数据存储在业务模块的内存空间,对应所述实体数据的关系数据存储在所述配置数据管理装置内。所述业务模块在接收用户的管理请求时,通过配置数据管理装置的数据结构内存储的关系数据查找到所述实体数据,对所述实体数据执行对应的管理操作。由业务模块为配置数据只分配一次存储内存,避免了配置数据在多空间重复存储造成了设备内存严重占用的技术问题。配置数据管理装置内设置有用于存储配置数据的多种关系数据结构,以满足应用终端的多种查询方式的需求,增加了配置数据的可扩展性。
请参见图3,为本发明第二实施例提供的配置数据管理方法的步骤流程图。在步骤S201中对所述配置数据管理之前,向所述配置数据管理装置内新增配置数据,以便进行后续的配置数据的管理过程。下面将对图3所示的步骤进行具体解释。
步骤S301,获取业务模块基于所述增加请求返回的增加句柄。其中,所述增加句柄为与所述待增加数据对应的配置句柄。
用户通过应用终端发送增加配置数据的增加请求,所述业务模块根据所述待增加数据查找对应的配置句柄,即为所述增加句柄。所述业务模块将所述增加句柄发送至所述配置数据管理装置。
步骤S302,根据所述增加句柄定位所述配置数据对应的配置对象。
获取所述业务模块发送的增加句柄后,根据所述增加句柄定位到所述待增加数据对应的配置对象。
步骤S303,根据所述待增加数据的实体数据在所述业务模块的存储信息,生成所述待增加数据的关系数据。
所述业务模块的内存存储所述待增加数据的实体数据,根据所述实体数据的存储信息生成所述待增加数据的关系数据,以便在后续的配置管理过程中需要获取实体数据时,根据所述关系数据中的存储信息查找到所述实体数据。
步骤S304,根据所述增加请求生成查询值。
通过所述业务模块返回的配置句柄定位到所述配置对象后,根据所述增加请求中的待增加数据和预设的计算规则生成查询值,所述查询值用于查找到所述配置数据的关系数据。
步骤S305,根据所述查询值将所述关系数据挂接在所述配置对象的数据结构内。
定位到所述配置对象后,获取所述配置数据内的关键字获取函数和关键字比较函数。根据所述增加请求和关键字获取函数生成关键字,根据所述关键字和不同数据结构的查询值生成方式生成查询值,根据所述查询值遍历所有配置数据,查找到所对应的关系数据,根据所述查询值将所述关系数据存储在所述配置对象的数据结构内。
在一种实施方式中,所述数据结构为对应线性数据查询和遍历的数据结构,以关键字排序插入链表。所述数据结构为基于散列值和关键字查询和遍历的散列表,以关键字计算出的散列值和关键字插入散列表数据结构。所述数据结构为基于索引查询和遍历的链表数据结构,以关键字进行排序,并分配索引插入索引链表数据结构。对应预设置管理工具查询方式,以关键字加入数据结构。
上述本发明实施例提供的配置数据管理方法,在需要增加配置数据时,根据业务模块返回的增加句柄定位到配置对象,根据所述增加请求生成对应不同数据结构的查询值,存储到可以满足不同查询方式需求的查询方式,方便不同查询工具的查询访问和数据管理。
在上述实施例的基础上,对配置数据进行管理之前,需要增加配置数据的初始化过程。所述管理请求包括对应待配置数据的配置请求,所述方法还包括获取业务模块基于所述增加请求返回的增加句柄的步骤之前的配置数据的初始化过程。所述初始化过程可以包括:
为所述配置数据分配用于存储所述配置数据的配置对象,将用于定位所述配置对象的配置句柄返回至所述业务模块。获取所述业务模块为所述配置对象指定的关键字获取函数,为所述配置数据分配针对不同查询需求的数据结构。
在一种实施方式中,所述业务模块为嵌入式设备路由器的接口管理模块,接口管理模块是将路由器所有用于通信的网络接口管理起来的模块。网络接口通过接口名称进行唯一标示,例如eth0、br0等。接口管理模块以接口名称为关键字管理接口对应属性,包括:接口带宽、接口MTU、接口统计等等。路由器上通常存在几个到几百个网络接口。用户通过配置管理工具需要查看路由器上的网络接口信息,这些信息就是接口管理模块的配置数据。配置管理工具从接口管理模块获取配置数据之后返回给用户。
接口配置数据的初始化过程包括:接口管理模块创建配置对象,同时指定关键字获取函数。配置数据管理装置将所述关键字获取函数保存在所述配置对象内,并返回配置句柄给接口管理模块。其中,所述关键字获取函数用于返回接口名称和接口名称长度。所述接口管理管理模块还可以指定关键字比较函数,所述关键字比较函数输入接口名称和待查找接口名称,遍历存储于数据结构上的接口信息,比较两个接口名称的字符串是否相同,进而实现查找目的。配置数据管理装置初始化内部的对应不同查询需求的多种数据结构。
接口配置数据增加过程为:接口管理模块分配内存,创建网络接口A,并初始化接口A名称为eth0及其接口属性。将接口管理模块为接口A分配的内存作为配置数据的关系数据存储在所述配置数据管理装置内,所述配置数据管理装置无需为配置数据再分配内存。接口管理模块将配置句柄告知配置数据管理装置,由配置数据管理装置根据句柄内容,确定关键字获取函数和关键字比较函数。接口管理模块将网络接口A的关系数据传递给配置数据管理装置,由所述配置数据管理装置根据关键字获取函数获取到关键字eth0。由配置数据管理装置将所述关系数据挂接在不同的数据结构上。
将关系数据挂接在不同的数据结构上的方式包括:将网络接口A的关系数据增加到双向链表1数据结构,链表按接口名称排序;将网络接口A的关系数据增加到双向索引链表2数据结构,链表按接口名称和排序,并分配给网络接口A配置数据索引;将网络接口A配置数据增加到散列表3数据结构,按返回关键字和关键字长度生成散列值,并处理散列冲突的情况。
配置数据修改流程包括:接口管理模块需要修改接口配置数据,将配置数据按关键字br0和配置句柄传递给配置数据管理模块。所述配置数据管理模块根据配置句柄定位配置对象,获取所述配置对象内存储的关键字获取函数和关键字比较函数。所述配置数据管理装置根据关键字获取函数获取关键字br0,并生成散列值。所述配置数据管理装置使用基于散列值和关键字查询散列表数据结构查询配置数据。查询到配置数据之后,返回给接口管理模块,由所述接口管理模块将配置数据内容进行修改。
配置数据删除流程包括:接口管理模块将配置数据关键字br0和配置句柄传递给配置数据管理装置。配置数据管理装置根据配置句柄定位到配置对象,获取配置对象内保存的关键字获取函数和关键字比较函数。根据所述关键字获取函数获取关键字,生成散列值。使用基于散列值和关键字查询散列表数据结构查询配置数据。如果查询到配置数据,则将配置数据从各个数据结构中删除,并将查询到的配置数据返回给接口管理模块,由所述接口管理模块负责将所述待删除接口的配置数据占用的内存释放。
配置数据获取过程包括:根据不同的数据结构,设置不同的数据获取方式。其一,当使用CLI配置管理工具时,接口管理模块使用双向链表1遍历所有配置数据并返回给CLI。其二,当使用WEB配置管理工具时,接口管理模块使用双向索引链表2。首先根据WEB输入的索引在双向索引链表2中定位对应的配置数据,如果索引相同定位成功,然后根据WEB请求返回所需配置数据数量。其三,当使用SNMP配置管理工具时,接口管理模块使用HASH表3。首先根据SNMP输入的关键字在HASH表3中定位对应的配置数据,根据关键字生成HASH值,在HASH表3中根据HASH值和关键字进行匹配。如果匹配成功,根据SNMP请求返回所需配置数据数量。
如果配置数据管理装置能够查询到配置数据,则返回给接口管理模块对应配置数据,由所述接口管理模块将配置数据返回给配置管理工具,即为完成了配置数据获取操作。
请参见图4,为本发明第三实施例提供的配置数据管理装置130的功能模块图。所述配置数据管理装置130包括:配置句柄获取模块410、配置对象定位模块420、查询值生成模块430、实体数据查找模块440和管理操作执行模块450。
配置句柄获取模块410,用于获取业务模块基于所述管理请求返回的配置句柄。其中,所述配置句柄为用于定位所述配置数据的句柄。
配置对象定位模块420,用于根据所述配置句柄定位存储所述配置数据的配置对象。其中,所述配置对象存储有所述配置数据的关系数据。
查询值生成模块430,用于根据所述配置请求生成查询值。
实体数据查找模块440,用于根据所述查询值和关系数据查找所述管理请求对应的配置数据内的实体数据。
管理操作执行模块450,用于对所述实体数据执行所述管理请求对应的管理操作。
请继续参见图4,在上述实施例的基础上,所述管理请求包括对应待增加数据的增加请求。所述装置还包括数据增加模块460,所述数据增加模块460用于:
获取业务模块基于所述增加请求返回的增加句柄,其中,所述增加句柄为与所述待增加数据对应的配置句柄;
根据所述增加句柄定位所述配置数据对应的配置对象;
根据所述配置数据内的关系数据生成查询值;
将所述查询值存储在所述配置对象的数据结构内。
请继续参见图4,在上述实施例的基础上,所述管理请求包括对应待配置数据的配置请求。所述装置还包括数据配置模块470,所述数据配置模块470用于:
为所述配置数据分配用于存储所述配置数据的配置对象;
将用于定位所述配置对象的配置句柄返回至所述业务模块;
获取所述业务模块为所述配置对象指定的关键字获取函数;
为所述配置数据分配针对不同查询需求的数据结构。
请继续参见图4,所述管理请求包括对应待修改数据的修改请求,所述配置对象获取模块410用于:
获取所述业务模块基于所述修改请求返回的修改句柄,其中,所述修改句柄为与待修改数据对应的配置句柄;
根据所述修改句柄获取所述配置对象;
以及,所述管理操作执行模块450用于:
根据所述配置对象内的关系数据生成查询值;
根据所述查询值查找到所述待修改数据;
将所述待修改数据发送至业务模块,以使所述业务模块修改所述待修改数据。
在上述实施例的基础上,所述管理请求包括对应待删除数据的删除请求,所述配置对象获取模块410用于:
获取所述业务模块基于所述删除请求返回的删除句柄,其中,所述删除句柄为与待删除数据对应的配置句柄;
根据所述删除句柄获取所述配置对象;
以及,所述管理操作执行模块450用于:
根据所述查询值查找到所述待删除数据,删除所述待删除数据;
发送内存释放指令至所述业务模块,以使所述业务模块释放所述配置数据的实体数据所占用的内存。
在上述实施例的基础上,所述管理请求包括对应待获取数据的获取请求,所述配置对象获取模块410用于:
获取所述业务模块基于所述获取请求返回的获取句柄,其中,所述获取句柄为与所述待获取数据对应的配置数据句柄;
根据所述获取所述配置对象;
以及,所述管理操作执行模块450用于:
根据所述查询值查找到所述待获取数据;
将所述待获取数据发送至所述业务模块,以使所述业务模块将所述待获取数据发送至需求终端。
在上述实施例的基础上,所述查询值生成模块430用于:
根据所述关系数据和预设的关键字获取函数生成关键字;
根据所述关键字生成对应不同数据结构的查询值,其中,所述数据结构包括:对应线性数据查询和遍历的链表数据结构、对应基于散列值和关键字查询和遍历的散列表数据结构、对应基于索引查询和遍历的索引链表数据结构和对应预备配置管理工具查询方式的数据结构中的至少一种。
上述本发明实施例提供的配置数据管理装置,将所需管理的配置数据的实体数据存储在业务模块的内存空间,对应所述实体数据的关系数据存储在所述配置数据管理装置内。所述业务模块在接收用户的管理请求时,通过配置数据管理装置的数据结构内存储的关系数据查找到所述实体数据,对所述实体数据执行对应的管理操作。由业务模块为配置数据只分配一次存储内存,避免了配置数据在多空间重复存储造成了设备内存严重占用的技术问题。配置数据管理装置内设置有用于存储配置数据的多种关系数据结构,以满足应用终端的多种查询方式的需求,增加了配置数据的可扩展性。本发明实施例提供的配置数据管理装置的具体实施过程请参见上述配置数据管理方法的具体实施过程,在此不再一一赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种配置数据管理方法,其特征在于,用于根据管理请求管理业务模块的配置数据,所述配置数据包括存储于所述业务模块内的实体数据和用于表征所述实体数据存储信息的关系数据,所述方法包括:
获取业务模块基于所述管理请求返回的配置句柄,其中,所述配置句柄为用于定位所述配置数据的句柄;
根据所述配置句柄定位存储所述配置数据的配置对象,其中,所述配置对象存储有所述配置数据的关系数据;
根据所述管理请求生成查询值;
根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据;
对所述实体数据执行所述管理请求对应的管理操作;
其中,所述管理请求包括对应待增加数据的增加请求,所述获取业务模块基于所述管理请求返回的配置句柄之前,所述方法还包括:获取业务模块基于所述增加请求返回的增加句柄,其中,所述增加句柄为与所述待增加数据对应的配置句柄;根据所述增加句柄定位所述配置数据对应的配置对象;根据所述待增加数据的实体数据在所述业务模块的存储信息,生成所述待增加数据的关系数据;根据所述增加请求生成查询值;根据所述查询值将所述关系数据挂接在所述配置对象的数据结构内;
所述管理请求包括对应待配置数据的配置请求,所述获取业务模块基于所述增加请求返回的增加句柄的步骤之前,所述方法还包括:为所述配置数据分配用于存储所述配置数据的配置对象;将用于定位所述配置对象的配置句柄返回至所述业务模块;获取所述业务模块为所述配置对象指定的关键字获取函数;为所述配置数据分配针对不同查询需求的数据结构。
2.根据权利要求1所述的方法,其特征在于,所述管理请求包括对应待修改数据的修改请求,所述获取业务模块基于所述管理请求返回的配置句柄,根据所述配置句柄获取所述配置对象的步骤包括:
获取所述业务模块基于所述修改请求返回的修改句柄,其中,所述修改句柄为与待修改数据对应的配置句柄;
根据所述修改句柄获取所述配置对象;
根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据,对所述实体数据执行所述管理请求对应的管理操作的步骤包括:
根据所述修改请求中的待修改数据,生成查询值;
根据所述查询值查找到所述待修改数据;
将所述待修改数据发送至业务模块,以使所述业务模块修改所述待修改数据。
3.根据权利要求1所述的方法,其特征在于,所述管理请求包括对应待删除数据的删除请求,所述获取业务模块基于所述管理请求返回的配置句柄,根据所述配置句柄获取所述配置对象的步骤包括:
获取所述业务模块基于所述删除请求返回的删除句柄,其中,所述删除句柄为与待删除数据对应的配置句柄;
根据所述删除句柄获取所述配置对象;
根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据,对所述实体数据执行所述管理请求对应的管理操作的步骤包括:
根据所述查询值查找到所述待删除数据,删除所述待删除数据;
发送内存释放指令至所述业务模块,以使所述业务模块释放所述配置数据的实体数据所占用的内存。
4.根据权利要求1所述的方法,其特征在于,所述管理请求包括对应待获取数据的获取请求,获取业务模块基于所述管理请求返回的配置句柄,根据所述配置句柄获取所述配置对象的步骤包括:
获取所述业务模块基于所述获取请求返回的获取句柄,其中,所述获取句柄为与所述待获取数据对应的配置数据句柄;
根据所述获取所述配置对象;
根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据,对所述实体数据执行所述管理请求对应的管理操作的步骤包括:
根据所述查询值查找到所述待获取数据;
将所述待获取数据发送至所述业务模块,以使所述业务模块将所述待获取数据发送至需求终端。
5.根据权利要求1至4任一项所述的方法,其特征在于,根据所述管理请求生成查询值的步骤包括:
根据所述管理请求中的待配置数据和预设的关键字获取函数生成关键字;
根据所述关键字生成对应不同数据结构的查询值。
6.一种配置数据管理装置,其特征在于,用于根据管理请求管理业务模块的配置数据,所述配置数据包括关系数据和与所述关系数据对应的存储于所述业务模块内的实体数据,所述装置包括:
配置句柄获取模块,用于获取业务模块基于所述管理请求返回的配置句柄,其中,所述配置句柄为用于定位所述配置数据的句柄;
配置对象定位模块,用于根据所述配置句柄定位存储所述配置数据的配置对象,其中,所述配置对象存储有所述配置数据的关系数据;
查询值生成模块,用于根据所述管理请求生成查询值;
实体数据查找模块,用于根据所述查询值和所述关系数据查找所述管理请求对应的配置数据内的实体数据;
管理操作执行模块,用于对所述实体数据执行所述管理请求对应的管理操作;
其中,所述管理请求包括对应待增加数据的增加请求,所述装置还包括数据增加模块,所述数据增加模块用于:获取业务模块基于所述增加请求返回的增加句柄,其中,所述增加句柄为与所述待增加数据对应的配置句柄;根据所述增加句柄定位所述配置数据对应的配置对象;根据所述待增加数据的实体数据在所述业务模块的存储信息,生成所述待增加数据的关系数据;根据所述增加请求生成查询值;根据所述查询值将所述关系数据挂接在所述配置对象的数据结构内;
所述管理请求包括对应待配置数据的配置请求,所述装置还包括数据配置模块,所述数据配置模块用于:为所述配置数据分配用于存储所述配置数据的配置对象;将用于定位所述配置对象的配置句柄返回至所述业务模块;获取所述业务模块为所述配置对象指定的关键字获取函数;为所述配置数据分配针对不同查询需求的数据结构。
7.根据权利要求6所述的装置,其特征在于,所述管理请求包括对应待修改数据的修改请求,所述配置对象获取模块用于:
获取所述业务模块基于所述修改请求返回的修改句柄,其中,所述修改句柄为与待修改数据对应的配置句柄;
根据所述修改句柄获取所述配置对象;
以及,所述管理操作执行模块用于:
根据所述修改请求中的待修改数据,生成查询值;
根据所述查询值查找到所述待修改数据;
将所述待修改数据发送至业务模块,以使所述业务模块修改所述待修改数据。
8.根据权利要求6所述的装置,其特征在于,所述管理请求包括对应待删除数据的删除请求,所述配置对象获取模块用于:
获取所述业务模块基于所述删除请求返回的删除句柄,其中,所述删除句柄为与待删除数据对应的配置句柄;
根据所述删除句柄获取所述配置对象;
以及,所述管理操作执行模块用于:
根据所述查询值查找到所述待删除数据,删除所述待删除数据;
发送内存释放指令至所述业务模块,以使所述业务模块释放所述配置数据的实体数据所占用的内存。
9.根据权利要求6所述的装置,其特征在于,所述管理请求包括对应待获取数据的获取请求,所述配置对象获取模块用于:
获取所述业务模块基于所述获取请求返回的获取句柄,其中,所述获取句柄为与所述待获取数据对应的配置数据句柄;
根据所述获取所述配置对象;
以及,所述管理操作执行模块用于:
根据所述查询值查找到所述待获取数据;
将所述待获取数据发送至所述业务模块,以使所述业务模块将所述待获取数据发送至需求终端。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述查询值生成模块用于:
根据所述管理请求中的待配置数据和预设的关键字获取函数生成关键字;
根据所述关键字生成对应不同数据结构的查询值,其中,所述数据结构包括:对应线性数据查询和遍历的链表数据结构、对应基于散列值和关键字查询和遍历的散列表数据结构、对应基于索引查询和遍历的索引链表数据结构和对应预备配置管理工具查询方式的数据结构中的至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611262792.5A CN108268509B (zh) | 2016-12-30 | 2016-12-30 | 配置数据管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611262792.5A CN108268509B (zh) | 2016-12-30 | 2016-12-30 | 配置数据管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268509A CN108268509A (zh) | 2018-07-10 |
CN108268509B true CN108268509B (zh) | 2022-03-18 |
Family
ID=62753791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611262792.5A Active CN108268509B (zh) | 2016-12-30 | 2016-12-30 | 配置数据管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268509B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600823A (zh) * | 2020-12-09 | 2021-04-02 | 上海牙木通讯技术有限公司 | 句柄标识解析缓存方法、查询方法及句柄标识解析系统 |
CN115242816B (zh) * | 2022-07-20 | 2023-05-16 | 成都精灵云科技有限公司 | 基于fc设备的数据分发方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1985470A (zh) * | 2004-07-13 | 2007-06-20 | 诺基亚公司 | 用于动态主机配置协议框架的配置管理的系统、网络实体和计算机程序 |
CN101197754A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 分布式系统、分布式业务处理方法及相关装置 |
CN101631041A (zh) * | 2009-07-29 | 2010-01-20 | 中兴通讯股份有限公司 | 业务配置处理方法及配置关系管理模块 |
CN102654878A (zh) * | 2011-03-04 | 2012-09-05 | 迈普通信技术股份有限公司 | 嵌入式系统中分布式数据库的数据操作方法及板卡 |
CN103138978A (zh) * | 2011-11-30 | 2013-06-05 | 迈普通信技术股份有限公司 | 网络管理方法及系统 |
CN103561124A (zh) * | 2013-10-29 | 2014-02-05 | 上海华为技术有限公司 | 一种基站数据的配置方法及装置 |
-
2016
- 2016-12-30 CN CN201611262792.5A patent/CN108268509B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1985470A (zh) * | 2004-07-13 | 2007-06-20 | 诺基亚公司 | 用于动态主机配置协议框架的配置管理的系统、网络实体和计算机程序 |
CN101197754A (zh) * | 2007-12-27 | 2008-06-11 | 腾讯科技(深圳)有限公司 | 分布式系统、分布式业务处理方法及相关装置 |
CN101631041A (zh) * | 2009-07-29 | 2010-01-20 | 中兴通讯股份有限公司 | 业务配置处理方法及配置关系管理模块 |
CN102654878A (zh) * | 2011-03-04 | 2012-09-05 | 迈普通信技术股份有限公司 | 嵌入式系统中分布式数据库的数据操作方法及板卡 |
CN103138978A (zh) * | 2011-11-30 | 2013-06-05 | 迈普通信技术股份有限公司 | 网络管理方法及系统 |
CN103561124A (zh) * | 2013-10-29 | 2014-02-05 | 上海华为技术有限公司 | 一种基站数据的配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108268509A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11256746B2 (en) | Hash-based efficient secondary indexing for graph data stored in non-relational data stores | |
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与系统 | |
US9317536B2 (en) | System and methods for mapping and searching objects in multidimensional space | |
CN106294190B (zh) | 一种存储空间管理方法及装置 | |
WO2017167171A1 (zh) | 一种数据操作方法,服务器及存储系统 | |
CN105138571B (zh) | 分布式文件系统及其存储海量小文件的方法 | |
CN106294352B (zh) | 一种文件处理方法、装置和文件系统 | |
CN109299157B (zh) | 一种分布式大单表的数据导出方法及装置 | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
JP2005332220A5 (zh) | ||
US9229961B2 (en) | Database management delete efficiency | |
CN108052526B (zh) | 监控区域权限管理方法、装置及存储介质 | |
CN103067463A (zh) | 用户root权限集中管理系统和管理方法 | |
CN109542861B (zh) | 一种文件管理方法、装置和系统 | |
CN107515879B (zh) | 用于文档检索的方法和电子设备 | |
CN103942205A (zh) | 存储、读取目录索引的方法、装置及系统 | |
CN104516974A (zh) | 一种文件系统目录项的管理方法及装置 | |
CN103546380A (zh) | 一种基于策略路由的报文转发方法和装置 | |
CN103336782A (zh) | 一种关系型分布式数据库系统 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
WO2021017907A1 (zh) | 一种优化的微服务间通信的方法及装置 | |
CN108268509B (zh) | 配置数据管理方法和装置 | |
CN115905628A (zh) | 一种动态的资源目录构建方法、装置、设备和存储介质 | |
CN112685417B (zh) | 数据库操作方法、系统、装置、服务器及存储介质 | |
CN103905512A (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 |