CN109976799B - 一种基于树形结构软件配置模型的实现方法及装置 - Google Patents
一种基于树形结构软件配置模型的实现方法及装置 Download PDFInfo
- Publication number
- CN109976799B CN109976799B CN201910123673.9A CN201910123673A CN109976799B CN 109976799 B CN109976799 B CN 109976799B CN 201910123673 A CN201910123673 A CN 201910123673A CN 109976799 B CN109976799 B CN 109976799B
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration item
- item
- access
- items
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明适用于计算机软件技术领域,提供一种基于树形结构软件配置模型的实现方法及装置,所述方法包括:建立软件配置模型;当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;根据要求对配置项值进行设置或者读取。本发明通过父子关系关联形成树形的配置,可以将大量的配置项组成为任意复杂度的配置;另外通过定义统一的配置项数据结构来描述各种类型的配置数据,设计两种访问接口来实现配置项的获取,两种访问接口在具体访问配置项时又具有其他的设计,从而极大地改善了用户使用配置的体验。最后,任何情况下获取配置值都需要传入一个相应类型的缺省值,缺省值的设计能够极大程度的提高配置系统的容错能力。
Description
技术领域
本发明属于计算机软件技术领域,尤其涉及一种基于树形结构软件配置模型的实现方法及装置。
背景技术
计算机软件是计算机上运行用于解决各种应用需求而编写的程序软件,计算机软件本质上只是写死的一些程序,仅仅通过写死的程序来满足千变万化的计算机应用需求是非常困难的。配置一般是计算机程序的一个组成部分,配置通常不是程序,但是配置会和程序一起运行,程序通过配置读取灵活变化的数据从而使程序具有不同的能力满足不同的应用需求。
配置通过将各种程序软件中不确定的部分置于程序外部这样就大大提高了程序软件对各种需求的适应能力以及降低了程序软件的重复开发成本。总体来说配置是IT技术发展过程中非常重要的一个因素。
配置总是伴随着程序软件而存在,不同的程序软件具有不同的配置方法。最常见的配置文件如INI文件就是Windows操作系统上一种非常常见的配置方式,主要以节(section)和键(Key)构成。一些与Web技术相关的软件会采用JSON式样的配置文件模式。一些程序软件也使用XML格式的配置文件模式。微软公司Windows操作系统的注册表可以认为是整个Windows操作系统的配置,Windows注册表是一个庞大而复杂的配置模型。
现有的配置方式虽然能够满足一些业务的配置需求,但或多或少都存在一些缺陷:
(1)INI配置只具有两个层级的配置级别,因此并不能满足需要多个级别的复杂系统的配置要求。同时INI文件的配置项没有数据类型的定义,因此会造成使用配置的时候存在类型不安全或者类型不明确的情况。
(2)JSON或者XML类型的配置文件能够满足足够复杂的配置要求,但是需要针对配置项目设计专有的程序读取和写入配置项目,这样既会造成配置使用的难度和工作量较大,同时也降低了配置的灵活程度。
(3)Windows注册表不足之处是该配置必须在Windows平台中使用,无法被轻易的复制,本质上来说Windows注册表中的配置数据是独立存储的,当程序软件拷贝到其他计算机时,Windows注册表中的配置将无法轻易跟随软件拷贝到其他计算机,必须通过特殊的手段才能拷贝这些配置。Windows注册表配置在单个Windows操作系统上只能有单一的实例,虽然Windows注册表能够定义足够复杂的配置,但是多个软件之间或者同一个软件在不同的地方运行的时候都可能产生配置上的冲突。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于树形结构软件配置模型的实现方法及装置,旨在解决现有配置使用的难度以及工作量都比较大,配置的灵活程度不高的技术问题。
本发明采用如下技术方案:
一方面,所述基于树形结构软件配置模型的实现方法包括下述步骤:
步骤S1、建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构;
步骤S2、当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;
步骤S3、获取到配置项后,根据要求对配置项值进行设置或者读取。
进一步的,步骤S1中,每个配置项的数据结构包括配置项名称、配置项数据类型、配置项描述、配置项值。
进一步的,步骤S2中,当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问;当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问。
进一步的,步骤S2中,对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。
进一步的,步骤S3中,任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,以防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。
另一方面,所述基于树形结构软件配置模型的实现装置,包括:
模型建立单元,用于建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构;
配置项访问单元,用于当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;
设置读取单元,用于获取到配置项后,根据要求对配置项值进行设置或者读取。
进一步的,所述配置项访问单元包括:
单级访问模块,用于当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问;
多级访问模块,用于当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问。
进一步的,所述配置项访问单元还包括:
创建模块,用于对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。
进一步的,所述设置读取单元中,任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,以防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。
本发明的有益效果是:
1、本发明多项配置项形成树形结构,能够实现比INI配置文件更加复杂的配置,因此相比INI配置能够适应大型、复杂的软件配置要求。
2、本发明各配置项具有统一的结构,访问配置文件的程序无需专有设计,使用通用的访问API即可实现对各种配置项的访问,在访问多级配置项时,用户既可以通过直接指定路径来访问子配置,也可以通过级连的方式分多级来访问配置项,兼顾灵活性和效率。
3、通过重载操作符的方式访问配置项时,如果跟随路径找不到配置项,将返回一个空对象,不会创建配置项;而通过Child函数调用访问配置项,在找不到配置项时,则会创建该配置项返回,原始配置数据发生变化;这两种访问机制针对创建配置项不同的设计,方便用户按照自身对配置的需求选择合适的访问方式。
4、任何情况下获取某个类型的配置值需要传入一个相应类型的缺省值,缺省值的设计能够极大程度的提高配置系统的容错能力。
5、本发明功能不依赖Windows的环境,配置数据可以跟随计算机软件存储,配置数据比Windows注册表要容易拷贝复制,从而满足跨平台的需求。
附图说明
图1是本发明第一实施例提供的基于树形结构软件配置模型的实现方法的流程图;
图2是本发明第二实施例提供的基于树形结构软件配置模型的实现装置的结构方框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于各种类型计算机软件的配置通常非常多样化,通常使用XML以及JSON类型的配置文件,还需要针对配置项目设计专有的程序读取和写入配置项目。总体而言,配置使用的难度以及工作量都比较大,配置的灵活程度不高。本发明通过定义统一的配置项数据结构来描述各种类型的配置数据,本发明的配置对象通过设计多种访问接口来实现配置项的获取,能够满足不同业务场景对配置项访问的需求,极大地改善了用户对于配置使用的体验。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例提供的基于树形结构软件配置模型的实现方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的基于树形结构软件配置模型的实现方法包括下述步骤:
步骤S1、建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构。
本步骤中,通过定义统一的配置项数据结构来描述各种类型的配置数据,配置项通过父子关系关联形成树形的配置,可以将大量的配置项组成为任意复杂度的配置。其中每个配置项的数据结构包括配置项名称、配置项数据类型、配置项描述和配置项值。作为一种实例列举,配置项的数据结构基本定义如下:
其中Name标示配置项名称,以字符串类型存储。
Type标示配置项数据类型,以字符串类型存储。如何定义数据类型的描述不在本发明中定义,实现者可以根据具体实现的语言或整体环境来选择以何种方式定义数据类型描述。比如在微软的.Net开发环境中可以使用“System.Int32”字符串来描述4字节整数数据。
Description标示配置项描述,以字符串的类型存储。配置项描述并非配置项的必要内容,描述主要用于记录配置项的说明,用于提高配置的可读性。
Value用于存储配置项的具体值,即配置项值,Value的存储类型取决于配置项的具体存储介质,例如使用XML或者JSON格式来存储配置项值,那么所有的值实际上都转换成字符串进行存储;如果在数据库表中一条记录来存储一个配置项,那么Value的值类型可以以Blob的形式存储原始的内容。因此Value的值类型取决于具体实现者所使用的存储介质。
配置项通过父子关系关联形成树形的配置,用于满足任意复杂度的配置需求。配置项的父子关联方式决定于配置项存储的介质。
下面列举几个不同存储格式建立树形结构的配置模块的实例。
(1)以XML存储格式为例通过配置项XML节点的嵌套即可实现树形的配置结构。
(2)JSON存储格式则需要增加特殊的数据结构实现对子配置项的引用。
(3)对于关系数据库存储介质可以采用外键的方式由子配置项关联父配置项形成树形配置结构。具体关系如下所示。
步骤S2、当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项。
由于配置项为树形组织结构,因此需要一定的方式可以访问到树形结构上的每个配置项,本实施例通过设计两种访问API接口来实现配置项的访问,即通过重载操作符以及Child函数来访问配置项。但这两种方式又不仅局限于访问配置项,本发明实施例中,针对配置项访问设计的核心是:针对重载操作符以及Child函数来访问配置项这两种访问接口,在实现上具有多种访问方式,用于满足用户在不同使用场景下的需求,下面从访问存在的配置项和不存的配置项这两方面进行详细说明。
(1)访问存在的配置项
当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问。使用示例如下:
Config Child=RootConfig["SubConfig"];
Config Child=RootConfig.Child("SubConfig");
当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问。两者使用示例如下:
①通过重载操作符的访问示例:
重载操作符直接指定路径访问:
Config Child=RootConfig["SubConfig\\ChildConfig"];
重载操作符通过级连访问:
Config Child=RootConfig["SubConfig"]["ChildConfig"];
②通过Child函数访问示例:
Child函数直接指定路径访问:
Config Child=RootConfig.Child("SubConfig\\ChildConfig");
Child函数通过级连访问:
Config Child=RootConfig.Child("SubConfig").Child
("ChildConfig");
本实施例中,可通过直接指定路径或通过级连的方式多级访问配置项,这这两种访问方式具有不同的性能,用户在使用配置时,可以兼顾灵活性和效率,根据自己的需求选择最为合适的访问方式。以下就使用Child函数访问为例,针对直接指定路径访问,以及通过级连的方式分多级访问这两种访问方式,对两者的效率进行比较:
定义Fun函数用来获取配置项c中,子配置名为childname的string类型的值,并定义了两个string类型的变量value1、value2。
伪代码示例:
通过直接指定路径访问配置项child1、child2,并获取配置项值:
value1=RootConfig.Child("SubConfig\\child1").stringvalue();
value2=RootConfig.Child("SubConfig\\child2").stringvalue();
通过Child函数分多级访问配置项child1,child2,并获取配置项的值:
Config SubConfig=RootConfig.Child("sub");
value1=Fun(SubConfig,"child1");
value2=Fun(SubConfig,"child2");
上述两种访问方式中:
通过直接指定路径访问配置项时:获取value1时,需要从当前配置搜索SubConfig的路径,再由SubConfig寻找下一级配置项child1。获取value2时,需要从当前配置搜索SubConfig的路径,再由SubConfig寻找下一级配置项child2。其中重复搜索了SubConfig的配置路径,共记4次路径搜索。
而通过Child函数分多级访问配置项时:首先需要从当前配置搜索SubConfig的路径,再由SubConfig分别寻找下一级节点child1,child2,共记3次路径搜索。
可以看出,当配置数据的配置项的层级越多,通过直接指定路径访问最终配置项,重复搜索其上层配置项路径的次数就越多,所需要的时间也就越多。这里配置数据则是多个配置项组成的数据,不是单一的配置项,即配置数据是多个配置项按照树形结构组织的数据。
虽然在代码风格上,通过直接给定路径搜索配置项的访问方式更为简洁,但在对同一级路径的多个配置项进行操作时,通过Child函数访问配置项具有更高的性能。
因此,在程序对性能有追求时,显然通过Child函数访问配置项更为高效;在程序对性能没有要求时,可以通过指定路径访问配置项一步到位。
(2)访问不存在的配置项
通过重载操作符和Child函数访问配置项时,在找不到配置项时,针对配置项的创建与否具有不同的设计。对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。示例如下:
由上述的配置数据,构造一个配置项RootConfig,通过重载操作符访问名为Height的配置项:
Config Child=RootConfig["Height"];
将发现找不到该配置项,返回的Child为一个空对象,上述配置数据无变化。
通过Child函数访问配置项:
Config Child=RootConfig.Child("Height");
发现找不到该配置项时,则返回的Child是一个新创建的名为Height的配置项,上述配置数据则发生变化,在Root根配置目录下增加了一个Height配置项,如下所示:
步骤S3、获取到配置项后,根据要求对配置项值进行设置或者读取。
在读取到配置项后,可以读取配置项的值或者设置配置项的值。
对于配置项值设置,通常使用SetValue或者PutValue的方法或者Value属性对配置项的值设置。根据编程语言的不同实现配置项值设置的方法可以实现多个值设置的方法或属性以支持不同的数据类型或者调用方法。
对于配置项值获取,配置的核心功能是从配置项中获取配置的数据,Config配置项需要实现若干种数据获取方法来支持不同数据类型的获取或者支持不同的调用方法。本实施例对对于不同数据类型的数据获取方法需要支持任何数据类型的缺省值机制。以整数为例,整数配置类型的读取函数原型如下:
int Config.IntValue(int nDefault=0);
任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,采用缺省值的目的是防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。对于浮点、字符串、布尔、枚举等数据类型均采用和整数类似的值获取机制。Config配置项具体支持多少种类型的配置可以根据编程语言和应用的需要来定。高级开发语言中常常具有反射的能力,通过读取配置项的类型,可以方便地实现对象的动态创建,继而获取配置项的值进行字段和属性的接入,从而允许程序创建和控制任何类的对象,无需提前硬编码目标类。
配置值获取的缺省值机制可以极大程度的提高配置系统的容错能力,在配置文件损坏或者配置错误的情况下仍然能够保证应用系统的正常运行。
综上,本发明实施例中,配置项通过父子关系关联形成树形的配置,可以将大量的配置项组成为任意复杂度的配置;另外通过定义统一的配置项数据结构来描述各种类型的配置数据,设计两种访问接口来实现配置项的获取,能够满足不同业务场景对配置项访问的需求,极大地改善了用户对于配置使用的体验;最后任何情况下获取某个类型的配置值需要传入一个相应类型的缺省值。缺省值的设计能够极大程度的提高配置系统的容错能力。
实施例二:
图2示出了本发明实施例提供的基于树形结构软件配置模型的实现装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的基于树形结构软件配置模型的实现装置包括:
模型建立单元1,用于建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构;
配置项访问单元2,用于当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;
设置读取单元3,用于获取到配置项后,根据要求对配置项值进行设置或者读取。
其中,所述配置项访问单1元包括:
单级访问模块11,用于当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问;
多级访问模块12,用于当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问。
创建模块13,用于对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。
所述设置读取单元3中,任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,以防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。
本发明实施例装置的各种功能单元1-3对应实现了实施例一中的步骤S1-S3,通过模型建立单元建立软件配置模型,当接收到配置项访问指令后,通过配置项访问单元实现使用重载操作符或者Child函数两种访问接口来访问配置项;最后根据需求通过设置读取单元对配置项值进行设置或者读取。具体实现过程可以参照实施例一中相应描述,这里不赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于树形结构软件配置模型的实现方法,其特征在于,所述方法包括下述步骤:
步骤S1、建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构;
步骤S2、当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;
步骤S3、获取到配置项后,根据要求对配置项值进行设置或者读取;
其中步骤S1中,每个配置项的数据结构包括配置项名称、配置项数据类型、配置项描述、配置项值;
步骤S2中,当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问;当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问;
步骤S2中,对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。
2.如权利要求1所述基于树形结构软件配置模型的实现方法,其特征在于,步骤S3中,任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,以防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。
3.一种基于树形结构软件配置模型的实现装置,其特征在于,所述装置包括:
模型建立单元,用于建立软件配置模型,所述软件配置模型由多项配置项通过父子关系关联形成树形结构;每个配置项的数据结构包括配置项名称、配置项数据类型、配置项描述、配置项值;
配置项访问单元,用于当接收到配置项访问指令后,通过重载操作符或者Child函数两种访问接口来访问配置项;
设置读取单元,用于获取到配置项后,根据要求对配置项值进行设置或者读取;
其中所述配置项访问单元包括:
单级访问模块,用于当仅需单级访问配置项,即访问当前配置项的下一级配置项时,则只需要设置下一级配置项的名称作为形参,使用重载操作符或者Child函数进行访问;
多级访问模块,用于当需要多级访问配置项,即子配置项距当前配置项具有一定的深度时,通过直接指定路径或通过级连的方式多级访问配置项,这两种多级访问方式均可通过使用重载操作符或Child函数进行访问;
其中所述配置项访问单元还包括:
创建模块,用于对于使用重载操作符的方式访问配置项,如果跟随路径找不到配置项,则不会创建配置项,原始配置数据不发生变化;对于使用Child函数调用访问配置项,在找不到配置项时,则会创建该配置项,原始配置数据发生更改。
4.如权利要求3所述基于树形结构软件配置模型的实现装置,其特征在于,所述设置读取单元中,任何情况下获取某个类型的配置项值需要传入一个相应类型的缺省值,以防止该配置项本身并不存在或者该配置项存储的是其他类型的数据且无法正确的转换为需要的类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123673.9A CN109976799B (zh) | 2019-02-19 | 2019-02-19 | 一种基于树形结构软件配置模型的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910123673.9A CN109976799B (zh) | 2019-02-19 | 2019-02-19 | 一种基于树形结构软件配置模型的实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976799A CN109976799A (zh) | 2019-07-05 |
CN109976799B true CN109976799B (zh) | 2022-07-08 |
Family
ID=67077118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910123673.9A Active CN109976799B (zh) | 2019-02-19 | 2019-02-19 | 一种基于树形结构软件配置模型的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976799B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221556A (zh) * | 2008-02-01 | 2008-07-16 | 中国建设银行股份有限公司 | 一种xml文件解析的方法及装置 |
CN105446724A (zh) * | 2014-09-11 | 2016-03-30 | 中兴通讯股份有限公司 | 软件参数的管理方法及装置 |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
CN108365974A (zh) * | 2018-01-17 | 2018-08-03 | 南京邮电大学 | 一种针对网元设备多业务自动化脚本配置的方法 |
-
2019
- 2019-02-19 CN CN201910123673.9A patent/CN109976799B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221556A (zh) * | 2008-02-01 | 2008-07-16 | 中国建设银行股份有限公司 | 一种xml文件解析的方法及装置 |
CN105446724A (zh) * | 2014-09-11 | 2016-03-30 | 中兴通讯股份有限公司 | 软件参数的管理方法及装置 |
JP2017045446A (ja) * | 2015-08-25 | 2017-03-02 | 富士通株式会社 | ソフトウェアプログラムを修復する方法、記憶媒体及びシステム |
CN108365974A (zh) * | 2018-01-17 | 2018-08-03 | 南京邮电大学 | 一种针对网元设备多业务自动化脚本配置的方法 |
Non-Patent Citations (1)
Title |
---|
通过关系找节点、创建节点,插入节点,设置节点属性;CoolTomato_;《CSDN,https://blog.csdn.net/qq_34944851/article/details/53141473》;20161112;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109976799A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230084389A1 (en) | System and method for providing bottom-up aggregation in a multidimensional database environment | |
US11354284B2 (en) | System and method for migration of a legacy datastore | |
JP5833406B2 (ja) | 参照を使用してジェネリック・データ・アイテムに関連するデータ管理アーキテクチャ | |
US5937409A (en) | Integrating relational databases in an object oriented environment | |
US7308460B2 (en) | System and method for providing user defined types in a database system | |
US8352443B1 (en) | Representing scene description in databases | |
US9519701B2 (en) | Generating information models in an in-memory database system | |
US8819046B2 (en) | Data query translating into mixed language data queries | |
US20100153349A1 (en) | Continuous, automated database-table partitioning and database-schema evolution | |
US7162502B2 (en) | Systems and methods that synchronize data with representations of the data | |
CA2519001A1 (en) | System and method of data agnostic business intelligence query | |
KR20060045622A (ko) | 컴퓨터화된 재무 시스템의 추출, 변환 및 로딩 설계자 모듈 | |
US10437564B1 (en) | Object mapping and conversion system | |
CN107766526A (zh) | 数据库访问方法、装置及系统 | |
US20100030726A1 (en) | Mechanism For Deferred Rewrite Of Multiple Xpath Evaluations Over Binary XML | |
US10108682B2 (en) | Query-level access to external petabyte-scale distributed file systems | |
US20040267766A1 (en) | Defining user-defined data types and/or user-defined methods using an interpreted programming language | |
CN116627448A (zh) | 一种创建微服务的方法及相关设备 | |
EP3293645A1 (en) | Iterative evaluation of data through simd processor registers | |
US7831629B2 (en) | Method for building data encapsulation layers for highly variable schema | |
CN117648376A (zh) | 一种基于Fabric的SQL合约实现方法 | |
CN109976799B (zh) | 一种基于树形结构软件配置模型的实现方法及装置 | |
US20060282437A1 (en) | Apparatus, system, and method for ordered processing of a hierarchical data structure according to a data source | |
US20100023542A1 (en) | Converting physical aspects of common warehouse model to elements of relational database | |
US7958165B1 (en) | Converting logical aspects of common warehouse model to design elements for relational database |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co., Ltd. Address before: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |