CN103186378A - 配置方法及配置系统 - Google Patents
配置方法及配置系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013468 resource allocation Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 19
- 238000011161 development Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013517 stratification Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000010429 evolutionary process Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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所述的配置系统,其特征在于,所述系统级或所述扩充级可以再划分至少一层次。
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)
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)
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操作系统的定制方法及系统 |
-
2011
- 2011-12-31 CN CN2011104577048A patent/CN103186378A/zh active Pending
-
2012
- 2012-06-27 TW TW101123084A patent/TWI530873B/zh active
Patent Citations (3)
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)
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 |