CN103186378A - 配置方法及配置系统 - Google Patents

配置方法及配置系统 Download PDF

Info

Publication number
CN103186378A
CN103186378A CN2011104577048A CN201110457704A CN103186378A CN 103186378 A CN103186378 A CN 103186378A CN 2011104577048 A CN2011104577048 A CN 2011104577048A CN 201110457704 A CN201110457704 A CN 201110457704A CN 103186378 A CN103186378 A CN 103186378A
Authority
CN
China
Prior art keywords
level
configuration
software systems
expansion
collocation method
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.)
Pending
Application number
CN2011104577048A
Other languages
English (en)
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.)
Digiwin Software Co Ltd
Original Assignee
Digiwin Software 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 Digiwin Software Co Ltd filed Critical Digiwin Software Co Ltd
Priority to CN2011104577048A priority Critical patent/CN103186378A/zh
Priority to TW101123084A priority patent/TWI530873B/zh
Publication of CN103186378A publication Critical patent/CN103186378A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明提出了一种配置方法及配置系统,用于一软件系统中,且于执行软件系统时参照一配置系统,包括以下步骤:分析软件系统的演化;以及根据分析的结果对配置系统进行层次划分,划分后的层次至少包括一系统级以及一扩充级,其中系统级对应配置软件系统的原生系统,扩充级对应配置软件系统的扩充。本发明所提出的配置方法及配置系统,将配置系统进行层次划分,各层次间独立配置其配置资源予软件系统,即各层次保持了其独立性,这将便于管理和维护。

Description

配置方法及配置系统
技术领域
本发明是有关于软件系统,且特别是有关于软件系统的配置方法及配置系统
背景技术
在复杂的软件系统中,通常都有两个以上的对象相互作用来完成软件功能,每个对象都要自己获得能够让本身工作的数据或对象,这些数据或对象就是依赖项。这样就导致软件系统耦合度非常高,而且难以维护,为此提出了依赖注射(Dependency Injection,DI)的概念,其通过外部定义的方式避免对象和对象之间的过度耦合。此外,通常采用配置的方式来提高软件系统的灵活性,以文件方式定义外部数据或对象结构。
但是,现有的配置系统一般是单层的结构,由于软件系统的升级和演化,会产生不同的分支,单层结构在产品不断演化的过程中,无论何种演化方式,都会只对同一配置文件或单元进行修改,这将造成配置系统无法保持相对稳定,从而造成配置系统在管理、维护和应用方面的不便。并且,单层结构中,配置文件的载体单一及储存位置单一,这分别影响其兼容性与扩展性。
有鉴于此,如何设计一种配置方法及配置系统,以使配置系统便于管理、维护,及提高其扩展性与兼容性,是业内相关技术人员亟待解决的一技术问题。
发明内容
为了解决上述技术问题,本发明一方面提出了一种配置方法,用于一软件系统中,且于执行所述软件系统时参照一配置系统,包括以下步骤:分析所述软件系统的演化;以及根据分析的结果对所述配置系统进行层次划分,划分后的层次至少包括一系统级以及一扩充级,其中所述系统级对应配置所述软件系统的原生系统,所述扩充级对应配置所述软件系统的扩充。
在本发明的一实施方式中,所述系统级或所述扩充级可以再划分至少一层次。
在本发明的一实施方式中,所述扩充级包括一增强级,所述增强级对应所述软件系统的二次开发或行业别。
在本发明的一实施方式中,所述扩充级包括一全局级,所述全局级对应所述软件系统的共通功能或共通数据。
在本发明的一实施方式中,所述扩充包括一帐套级,所述帐套级对应所述软件系统的用户群。
在本发明的一实施方式中,所述用户级对应所述软件系统的用户。
在本发明的一实施方式中,所述演化是所述软件系统的版本变化。
在本发明的一实施方式中,所述演化是所述软件系统因业务功能或用户需求改变所产生的变化。
在本发明的一实施方式中,所述配置系统具有与所述系统级、所述扩充级分别对应的配置资源,各所述配置资源提供给所述软件系统所需配置的功能或数据。
在本发明的一实施方式中,各所述配置资源为文件、内存中的对象、数据库中的数据及动态链结库其中之一或其组合。
在本发明的一实施方式中,当所述配置资源为文件时,则对其目录结构进行与所述配置系统的层次划分相对应的划分。
本发明的另一方面提出了一种配置系统,用于一软件系统中,且于执行所述软件系统时参照所述配置系统,所述配置系统包括:一系统级及一扩充级,其中所述系统级对应配置所述软件系统的原生系统,所述扩充级对应配置所述软件系统的扩充。
在本发明的一实施方式中,所述系统级或所述扩充级可以再划分至少一层次。
综上,本发明所提出的配置方法及配置系统,将配置系统进行层次划分,各层次间独立配置其配置资源予软件系统,即各层次保持了其独立性,这将便于管理和维护。此外,各层次需要变更时,只需对变更层次进行变更,而不是现有技术中的全部变更。以及,由于配置系统进行层次划分,可使其配置资源的承载方式及储存位置不限制,提高了其兼容性与扩展性。
附图说明
图1绘示了本发明一实施方式的配置系统的框图;
图2绘示了图1中的配置系统100的一优选实施例的框图;
图3绘示了本发明的另一实施方式的配置方法的流程图;以及
图4绘示了本发明又一实施方式的配置资源的目录结构的示意图。
具体实施方式
为了使本领域相关技术人员更好地理解本发明的技术方案,下面将结合本发明实施方式的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。
请参照图1,图1绘示了本发明一实施方式的配置系统的框图。
如图1所示,配置系统100包括一系统级110及一扩充级120。
在本实施方式中,配置系统100,用于一软件系统中,此软件系统可以是,比如企业资源计划(Enterprise Resource Planning,ERP)系统,但不以此为限,也可以是其它软件系统。当软件系统执行时,其参照配置系统100,具体而言,当软件系统执行时,配置系统100将配置资源中的功能或数据参数配置予软件系统,以使软件系统正常运行并实现相应功能。
通常,软件系统都是从其最初成型的原生系统不断演化发展的,即处于不断扩充中,如软件系统的版本变化、软件系统业务功能及用户需求改变都属于软件系统的演化范畴,由于软件系统的演化发展,需要不断对其更新以实现新的功能,这往往需要对其的配置资源进行同步更新。
而本实施方式中,配置系统100采用层次化设计,将其划分为系统级110与扩充级120;其中,系统级110对应配置软件系统的原生系统,即系统级110用来对软件系统的原生系统进行配置;扩充级120对应配置软件系统的扩充,即扩充级120对软件系统的扩充进行配置,比如软件系统需要扩充新的功能,则可以透过扩充级120将此新的功能所对应的配置资源配置予软件系统,从而使软件系统实现此新的功能。
在本实施方式中,系统级110与扩充级120,两者都可以再划分至少一层次。具体可参照下文。
再请参照图2,图2绘示了图1中的配置系统100的一优选实施例的框图。
如图2所示,配置系统100包括系统级110与扩充级120,其中,扩充级120包括增强级121、全局级122、帐套级123及用户级124,此时配置系统100为多层次结构,各级所在层次分别对应配置所对应软件系统中各级的配置参数。
系统级110,对应的是软件系统供应商开发的原生版本,是所有其它层次工作的基础级,通常,系统级110做成嵌入式资源,放在运行库里面,但不以此为限,比如,也可以是密文或明文形式的文件。
增强级121,对应的是软件系统的二次开发或行业别,但不以此为限,可以根据软件系统的功能需求灵活设定。
全局级122,对应的是软件系统的共通功能或共通数据,具体而言,对应的是多个帐套层123的共性。
帐套级123,对应的是软件系统的用户群,相对于全局级122来说,其对应的是每个帐套的特性,比如当全局级对应的是集团,那么帐套级对应的是集团下的公司。
用户级124,对应的是软件系统的用户(使用者)。
在本优选实施例中,执行配置的优先顺序为系统级110、增强级121、全局级122、帐套级123及用户级124,即优先配置系统级110,最后配置用户级124。
需说明的是,在本优选实施例中,将扩充级120划分为增强级121、全局级122、帐套级123及用户级124,但是在其它一些实施例中,扩充级120可以仅仅是增强级121,也可以仅仅是全局级122,还可以是增强级121与全局级122的组合,当然,也可以是增强级121、全局级122、帐套级123的组合,而没有用户级124,还可以是多于增强级121、全局级122、帐套级123及用户级124的组合。总之,扩充级120可以根据软件系统演化过程中灵活划分。
请参照图3,图3绘示了本发明的另一实施方式的配置方法的流程图。
下面结合图1、图2及图3对配置方法进行说明。
首先,在步骤310中,分析软件系统的演化。在本实施方式中,演化可以是软件系统的版本变化,也可以是软件系统因业务功能或用户需求改变所产生的变化。
然后,在步骤320中,根据分析的结果对配置系统100进行层次划分,划分后的层次至少包括一系统级110以及一扩充级120,其中,系统级110对应配置软件系统的原生系统,扩充级120对应配置软件系统的扩充。举例之,当软件系统因二次开发而使软件系统的业务功能改变,那么此时可以将扩充级120定义为增强级121,当然,也可以定义为其它级,根据实际需求而定。
在本实施方式中,系统级110或扩充级120可以再划分至少一层次,比如可以将扩充级120划分为增强级121、全局级122、帐套级123及用户级124,各级所在层次分别对应配置所对应软件系统中各级的配置参数。
由上可知,在上述各实施方式中,由于将配置系统100划分为多级层次,当各层次提供的数据或功能发生改变时,仅影响本层次,有效的保留了各层的开发和设计成果,便于管理与维护。此外,不限制层次的个数,各层次内仍可分层,扩展性强。以及,由现有的需要部署全部配置,变化为仅需部署变更层次的配置,发布的粒度更小,成本更低。
在上述各实施方式中,配置系统100进行层次化划分后,各级层次都具有相对应的配置资源,比如,具有与系统级110、扩充级120分别对应的配置资源,各配置资源提供给软件系统所需配置的功能或数据参数。
上述之各配置资源可以是为文件,比如XML文件,也可以是内存中的对象,还可以是数据库中的数据及动态链结库(Dynamic LinkLibrary,DLL),当然也可以是它们的任意组合,比如一层次的配置资源为文件,另一层次的配置资源为内存中的对象。总之,配置资源的承载方式可以有多种选择,藉此,可提高兼容性。并且,其可以储存在不同的物理位置,扩展性强。
并且,当配置资源文件时,由于配置系统100进行层次化划分,相应地,可以对其配置资源的目录结构进行层次设计。具体可参照下文。
再请参照图4,图4绘示了本发明又一实施方式的配置资源的目录结构的示意图。
下面结合图2与图4对配置资源的目录结构及读取作详细的说明。
如图4所示,根目录(Root)下面具有管理各领域对象目录(Domain Objects)、行业别目录(Industry)及二次开发目录(Customization)。Domain Objects目录,承载系统级110相应的配置资源,其下具有多个子目录,如雇员目录(Employee)、订单目录(SalesOrder),当然还具有其它省略绘示的子目录。Employee目录还具有A语言包存放目录(Culture A)、B语言包存放目录(Culture B)、Layout.bin配置资源及Layout.subName.bin配置资源(其中.bin为文件后缀名,但并不仅限于此),对于Culture A目录及Culture B目录,其下面也还可以具有子目录或配置资源,但为了叙述简要,未绘示出。配置系统按照分层的先后顺序读取配置资源。同一层次上,又可按目录的层次分解,目录越深,代表层次越高,优先性就越低。同一层目录又可依英文点号“.”和基础名称分解出的名称越长,代表层次越高,优先性就越低,比如,对于Layout.bin配置资源及Layout.subName.bin配置资源,两者按照目录层次,则在同一层次上,且因为其基础名称都为Layout.bin,则按照依英文点号“.”和基础名称分解可知,Layout.subName.bin长于Layout.bin,因此,Layout.subName.bin配置资源相对于Layout.bin配置资源,层次较高,而优先性较低。而Industry目录及Customization目录,对应于增强级121(如图2),两者也可以分别具有子目录或配置资源,但为了叙述简要,未完整绘示出。需说明的是,这里仅仅示意性绘示了一目录结构,但并不以此目录结构为限,目录结构也可以是其它结构,其可以根据配置系统100的层次划分灵活设置。
并且,配置系统100可以根据配置资源的关键标识(ConfigurationId)来决定读哪一个配置资源,此关键标识可以包含:领域对象标识(如Employee)、配置对象标识(如Layout)、语言包信息(如Culture A)和资源扩展名(如subName)。
而当配置资源标识指定要读取Employee领域标识下的Layout配置资源,且要求是CultureA语言时,则配置系统100会按照层次顺序先读取Layout.bin,再读取Layout.subName.bin,然后再读取CultureA目录下的配置资源。若在Industry或Customiaztion中也有关于Employee的Layout配置信息定义时,系统会再依次读取Industry及Customization符合此标识的配置资源。
较佳地,在本实施方式中,配置系统100可以根据关键标识,通过切片先收集所有相关配置资源,加入到资源容器中并做适当缓存,开启文件监视器监视磁盘目录的文件变化,提高性能。另,配置系统100还可以根据关键标识和运行环境,检查兼容性,过滤掉不符合条件的配置资源。再,配置系统还可以根据预先定义的配置对象,将符合条件的配置资源按顺序读取、合并生成一配置对象
综上,本发明所提出的配置方法及配置系统,将配置系统进行层次划分,各层次间独立配置其配置资源予软件系统,即各层次保持了其独立性,这将便于管理和维护。此外,各层次需要变更时,只需对变更层次进行变更,而不是现有技术中的全部变更。以及,由于配置系统进行层次划分,可使其配置资源的承载方式及储存位置不限制,提高了其兼容性与扩展性。
上文中,参照附图描述了本发明的具体实施方式。但是,本领域中的普通技术人员能够理解,在不偏离本发明的精神和范围的情况下,还可以对本发明的具体实施方式作各种变更和替换。这些变更和替换都落在本发明的保护范围之内。

Claims (13)

1.一种配置方法,用于一软件系统中,且于执行所述软件系统时参照一配置系统,其特征在于,包括以下步骤:
分析所述软件系统的演化;以及
根据分析的结果对所述配置系统进行层次划分,划分后的层次至少包括一系统级以及一扩充级,其中所述系统级对应配置所述软件系统的原生系统,所述扩充级对应配置所述软件系统的扩充。
2.根据权利要求1所述的配置方法,其特征在于,所述系统级或所述扩充级可以再划分至少一层次。
3.根据权利要求1所述的配置方法,其特征在于,所述扩充级包括一增强级,所述增强级对应所述软件系统的二次开发或行业别。
4.根据权利要求1所述的配置方法,其特征在于,所述扩充级包括一全局级,所述全局级对应所述软件系统的共通功能或共通数据。
5.根据权利要求1或4所述的配置方法,其特征在于,所述扩充包括一帐套级,所述帐套级对应所述软件系统的用户群。
6.根据权利要求5所述的配置方法,其特征在于,所述用户级对应所述软件系统的用户。
7.根据权利要求1所述的配置方法,其特征在于,所述演化是所述软件系统的版本变化。
8.根据权利要求1所述的配置方法,其特征在于,所述演化是所述软件系统因业务功能或用户需求改变所产生的变化。
9.根据权利要求1所述的配置方法,其特征在于,所述配置系统具有与所述系统级、所述扩充级分别对应的配置资源,各所述配置资源提供给所述软件系统所需配置的功能或数据。
10.根据权利要求9所述的配置方法,其特征在于,各所述配置资源为文件、内存中的对象、数据库中的数据及动态链结库其中之一或其组合。
11.根据权利要求10所述的配置方法,其特征在于,当所述配置资源为文件时,则对其目录结构进行与所述配置系统的层次划分相对应的划分。
12.一种配置系统,用于一软件系统中,且于执行所述软件系统时参照所述配置系统,其特征在于,所述配置系统包括:
一系统级及一扩充级,其中所述系统级对应配置所述软件系统的原生系统,所述扩充级对应配置所述软件系统的扩充。
13.根据权利要求12所述的配置系统,其特征在于,所述系统级或所述扩充级可以再划分至少一层次。
CN2011104577048A 2011-12-31 2011-12-31 配置方法及配置系统 Pending CN103186378A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011104577048A CN103186378A (zh) 2011-12-31 2011-12-31 配置方法及配置系统
TW101123084A TWI530873B (zh) 2011-12-31 2012-06-27 一種配置方法及配置系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104577048A CN103186378A (zh) 2011-12-31 2011-12-31 配置方法及配置系统

Publications (1)

Publication Number Publication Date
CN103186378A true CN103186378A (zh) 2013-07-03

Family

ID=48677557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104577048A Pending CN103186378A (zh) 2011-12-31 2011-12-31 配置方法及配置系统

Country Status (2)

Country Link
CN (1) CN103186378A (zh)
TW (1) TWI530873B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351790A (zh) * 2015-11-02 2018-07-31 微软技术许可有限责任公司 用于期望状态配置的非单调最终收敛
CN112099841A (zh) * 2020-08-28 2020-12-18 北京同邦卓益科技有限公司 一种生成配置文件的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866252A (zh) * 2006-02-20 2006-11-22 华为技术有限公司 不同版本的配置数据间进行转换的方法和系统
US20070276779A1 (en) * 2006-05-23 2007-11-29 International Business Machines Corporation Method for avoiding orphan entries in cascade delete in a configuration management database
CN102053831A (zh) * 2010-12-10 2011-05-11 浪潮(北京)电子信息产业有限公司 一种Linux操作系统的定制方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866252A (zh) * 2006-02-20 2006-11-22 华为技术有限公司 不同版本的配置数据间进行转换的方法和系统
US20070276779A1 (en) * 2006-05-23 2007-11-29 International Business Machines Corporation Method for avoiding orphan entries in cascade delete in a configuration management database
CN102053831A (zh) * 2010-12-10 2011-05-11 浪潮(北京)电子信息产业有限公司 一种Linux操作系统的定制方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351790A (zh) * 2015-11-02 2018-07-31 微软技术许可有限责任公司 用于期望状态配置的非单调最终收敛
US10896109B2 (en) 2015-11-02 2021-01-19 Microsoft Technology Licensing, Llc Non-monotonic eventual convergence for desired state configuration
CN108351790B (zh) * 2015-11-02 2021-07-16 微软技术许可有限责任公司 用于期望状态配置的非单调最终收敛的设备、方法和介质
CN112099841A (zh) * 2020-08-28 2020-12-18 北京同邦卓益科技有限公司 一种生成配置文件的方法和系统

Also Published As

Publication number Publication date
TW201327395A (zh) 2013-07-01
TWI530873B (zh) 2016-04-21

Similar Documents

Publication Publication Date Title
US10540335B2 (en) Solution to generate a scriptset for an automated database migration
CN101794226B (zh) 一种适应多业务抽象层次的服务化软件构造方法和系统
CN100492989C (zh) 使用插件进行业务扩展的系统及其方法
CN102999537B (zh) 一种数据迁移系统和方法
CN101617292B (zh) 面向生成器图的编程和执行
US20220171606A1 (en) Microprocessor Including a Model of an Enterprise
US7917344B2 (en) Enterprise multi-program process development and integration process
US20090012981A1 (en) Method and System for System Migration
CN104133772A (zh) 一种自动生成测试数据的方法
CN101221504B (zh) 测试脚本的调度执行系统
CN108229799B (zh) 一种多源异构电网运行实时数据接入系统及方法
CN103744647A (zh) 一种基于工作流GPD的Java工作流开发系统及其方法
CN102222278A (zh) 一种运维流程定制的方法及装置
CN109815242A (zh) 一种数据处理方法及系统
CN101753619B (zh) 用于扩展服务模型的方法和系统
CN101017432A (zh) 一种构件库管理方法
CN103186378A (zh) 配置方法及配置系统
CN102323956B (zh) 数据管理装置和数据管理方法
US20150046286A1 (en) Product content lifecycle and product features
CN104166739A (zh) 分析数据库的指标文件处理方法及装置
KR20090028451A (ko) 소프트웨어 개발 시스템
Cordier et al. From EGEE operations portal towards EGI operations portal
CN102609420A (zh) 一种信息控制系统和方法
Schwanninger et al. Variability modelling throughout the product line lifecycle
Costa et al. Applying software engineering techniques in the development and management of linear and integer programming applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130703