CN103268242A - 安装信息系统的方法及装置 - Google Patents
安装信息系统的方法及装置 Download PDFInfo
- Publication number
- CN103268242A CN103268242A CN2013102221305A CN201310222130A CN103268242A CN 103268242 A CN103268242 A CN 103268242A CN 2013102221305 A CN2013102221305 A CN 2013102221305A CN 201310222130 A CN201310222130 A CN 201310222130A CN 103268242 A CN103268242 A CN 103268242A
- Authority
- CN
- China
- Prior art keywords
- information
- deployment
- installation
- infosystem
- configuration file
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种安装信息系统的方法及装置。该方法包括:根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成映射类型;将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。应用本发明,可以提高信息系统的安装成功率。
Description
技术领域
本发明涉及计算机通信技术,尤其涉及一种安装信息系统的方法及装置。
背景技术
随着信息一体化在政府、机关、企业等单位的不断深化,有效地进行信息系统的安装部署,逐渐成为一个需要解决的技术问题。在信息一体化环境下,信息系统之间需要互相访问,因此,在安装部署信息系统时,需要获取访问的信息系统的部署信息,由于每个信息系统的部署信息互不相同,因而,需要安装技术人员掌握其他需要访问的信息系统的部署信息以及自身信息系统的部署信息,例如,信息系统安装的IP地址、需要访问的其他系统部署信息(例如,上级系统的部署信息)等,并在信息系统安装部署的过程中,依据安装过程中弹出的部署信息提示框,手动填写部署信息以完成该信息系统的安装。
由上述可见,现有安装信息系统的方法,由于与待安装的信息系统关联的部署信息数量较多,安装技术人员掌握部署信息较为困难,例如,由于需要记忆的部署信息量较多,容易遗忘某一部署信息,造成信息系统的安装部署不成功;进一步地,通过手动方式输入部署信息,也容易造成部署信息输入出错,导致信息系统安装失败。
发明内容
本发明的实施例提供一种安装信息系统的方法,提高信息系统的安装成功率。
本发明的实施例还提供一种安装信息系统的装置,提高信息系统的安装成功率。
为达到上述目的,本发明实施例提供的一种安装信息系统的方法,包括:
根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成映射类型;
将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
其中,采用可扩展标记语言XML生成基于脚本编写的所述安装配置文件模板。
其中,所述部署控件信息包括:安装点域名信息、信息系统标识信息、标签信息、标签属性信息以及内容信息。
其中,所述标签采用树形结构,树形结构的顶部为根标签。
其中,采用开源XML解析包技术解析所述安装配置文件模板;以及,利用开源XML解析包的XMLWriter类的write方法,将封装成映射类型的部署信息写入安装配置文件模板中。
其中,所述进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息包括:
采用开源XML解析包技术解析XML文件,获取文件对象;
调用document.getRootElement()方法,获取文件对象标签信息中的根节点信息;
从根节点开始,遍历整个XML文件,获取待安装的信息系统所属的安装点域名信息及系统标识属性信息;
根据获取的安装点域名信息及系统标识属性信息,从预先存储部署信息的数据库中获取该部署控件信息映射的部署信息。
其中,所述封装成映射类型的数据信息中,包含键值以及数值,键值为从数据库中查询得到的预先存储部署信息的表的列名,数值为数据库中该列对应的数值,该映射类型中的键值与安装配置文件模板标签内容信息中的预留占位符相对应。
其中,所述触发依据该生成的安装配置文件安装信息系统包括:
安装信息系统;
监测到安装过程中出现需要输入部署信息的提示框,获取该提示框携带的标签及标签属性;
根据携带的标签及标签属性,查询生成的安装配置文件,获取标签属性映射的部署信息;
将安装配置文件中获取的标签属性映射的部署信息自动写入提示框,触发下一步流程。
一种安装信息系统的装置,该装置包括:模板设计模块、解析模块、数据组织模块以及安装配置文件生成模块,其中,
模板设计模块,用于根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
解析模板,用于根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
数据组织模块,用于使用开放源代码的对象关系映射框架回调函数,将解析模块查询出来的部署信息封装成映射类型;
安装配置文件生成模块,用于将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
较佳地,所述模板设计模块采用可扩展标记语言XML生成所述安装配置文件模板;
解析模板采用开源XML解析包技术解析所述安装配置文件模板;以及,
安装配置文件生成模块利用开源XML解析包的XMLWriter类的write方法,将封装成映射类型的部署信息写入安装配置文件模板中。
由上述技术方案可见,本发明实施例提供的一种安装信息系统的方法及装置,根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成映射类型;将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。这样,预先设置对应信息系统的安装配置模板文件,通过解析安装配置模板,从数据库中获取部署控件映射的信息系统安装时所需的部署信息,填充至模板中,生成安装配置XML文件,在安装信息系统时,通过导入该安装配置XML文件进行解析,获取安装所需的部署信息,并将解析得到的部署信息写入,从而实现自动安装,避免手动填写错误导致的安装失败,提高了信息系统的安装成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1为本发明实施例预先设置的FreeMarker模板示意图。
图2为本发明实施例安装信息系统的装置结构示意图。
图3为本发明实施例安装配置文件模板中包含的信息片段示意图。
图4为本发明实施例安装配置文件模板及输出的安装配置文件示意图。
图5为本发明实施例基于图3生成的安装配置文件示意图。
图6为本发明实施例安装信息系统的方法流程示意图。
图7为本发明实施例输出IAM系统的安装配置文件的流程示意图。
图8为本发明实施例输出安装配置文件的具体流程示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
现有安装信息系统的方法,由于部署信息数量较多,安装技术人员掌握较为困难,容易遗忘某一部署信息,造成信息系统的安装部署不成功;进一步地,通过手动方式输入部署信息,也容易造成输入出错,导致信息系统安装失败。
脚本编写(FreeMarker)是一种基于模板引擎生成文本输出的通用工具,编译器速度快,使用纯Java编写,FreeMarker模板采用servlet提供的数据动态地生成文本,能够将数据与页面模板分离,根据指定的模板输出多种格式的文本,例如,超文本标记语言(HTML,Hyper Text Mark-up Language)、可扩展标记语言(XML,Extensible Markup Language)等格式。目前,在Web项目中,基于FreeMarker模板输出XML文件是文本输出最常用的一种方法。
由于FreeMarker技术在设计模板时不需要关心所需要的数据来源,只需预先在需要填充数据的位置处预留占位符。这样,在调用相应的模板引擎解析FreeMarker模板时,可以动态地加载数据,替换预留占位符的内容,并输出XML文件。
FreeMarker模板输出的XML文件与web容器无关,可以彻底地分离表现层和业务逻辑,同时也可以提高开发效率。但FreeMarker模板采用映射(Map)类型提供数据时,限定Map中键(key)值必须是字符串类型,其他数据类型无法操作,并在应用过程中,其FreeMarker模板中的变量必须要赋值,如果不赋值,就会抛出异常。现有技术中,为了避免不赋值导致的异常错误,采用if/elseif/else指令进行判断,但由于需要对每一变量进行判断,增加了编程的繁琐程度及工作量。
本发明实施例中,考虑采用预先设置的符号作为预留占位符的起始标识符,例如,采用“$”符号标识预留占位符的起始,$符号后面的字符串为预留占位符,这样,在进行数据替换时,一方面,可以根据预先设置的符号方便快速定位预留占位符,另一方面,可以将该预先设置的符号作为FreeMarker模板中的赋值变量,从而避免变量不赋值导致的异常错误。
基于上述分析及考虑,本发明实施例提出基于模板生成安装配置XML文件以进行信息系统安装的方法,该方法基于FreeMarker模板输出XML文件:首先在数据库中预先存储各信息系统安装所需的部署信息,并依据FreeMarker模板,根据各信息系统安装时需求的部署信息,预先设置对应信息系统的安装配置模板文件。较佳地,由于XML文件允许用户按照XML语法自定义标签,因而,设置安装配置XML模板文件,这样,能够灵活地根据各信息系统的安装需求设计相应的模板;然后,利用开源XML解析包(Dom4j)技术解析预先设置的安装配置XML模板,根据解析得到的部署控件信息,从数据库中进行相应的逻辑查询,得到部署控件对应的部署信息,将查询出的部署信息数据填充至模板中相应的预留占位符;最后,根据填充的安装配置文件模板生成并输出信息系统的安装配置XML文件。也就是说,预先搜集各信息系统的部署信息,并在数据库中维护搜集得到的部署信息,通过基于脚本编写(FreeMarker)流程生成安装配置文件模板,并在模板中设置包含链接部署信息的部署控件信息,解析安装配置文件模板,根据解析得到的部署控件信息,从数据库中获取部署控件映射的信息系统安装时所需的部署信息,填充至模板中,并生成用于信息系统安装的安装配置可扩展标记语言(XML,Extensible Markup Language)文件,在安装信息系统时,通过导入该安装配置XML文件进行解析,获取安装所需的部署信息,并在安装过程中,根据安装进程,自动将解析得到的部署信息写入,从而实现自动安装。这样,可以无需记忆部署信息以及手动填写部署信息,从而避免由于部署信息记忆错误、和/或,手动填写部署信息错误导致的安装失败,同时也节省了信息系统的安装部署时间。
图1为本发明实施例预先设置的FreeMarker模板示意图。参见图1,假设预先设置的FreeMarker模板中模板文件内容为:
<setupinfo>
部署节点${bsjd},已经完成安装
</setupinfo>
其中,${bsjd}为预留占位符,bsjd为预留占位符标识,如果在后台程序(数据库)中,设置动态加载的数据为:bsjd=“浙江”,其中,数据中的bsjd为部署信息标识,即部署控件信息标识与部署信息标识相一致,部署控件信息映射在数据库中的部署信息为“浙江”,则经过调用模板引擎(FreeMarker引擎),解析FreeMarker模板后,输出的XML文件中,包含的内容为:
<setupinfo>
部署节点浙江,已经完成安装
</setupinfo>
图2为本发明实施例安装信息系统的装置结构示意图。参见图2,该装置包括:模板设计模块、解析模块、数据组织模块以及安装配置文件生成模块,其中,
模板设计模块,用于根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
本发明实施例中,考虑到信息系统的更新及升级,在设置的安装配置文件模板中,设置部署控件信息,用以映射信息系统的部署信息。这样,在数据库存储的部署信息发生改变后,安装配置文件模板通过部署控件信息,可以获取发生改变的部署信息,从而无需更新安装配置文件模板。
在数据库中预先获取并存储部署信息,具体可参见相关技术文献,在此不再赘述。
较佳地,采用XML设计安装配置文件模板。
部署控件信息包括安装点域名信息、信息系统标识信息、标签信息、标签属性信息以及内容信息,即XML文件是由安装点域名信息、信息系统标识信息、标签信息、标签属性信息以及内容(部署信息)构成的文本文件,其中,安装点域名信息用于标识待安装信息系统的安装点;标签信息用于标识安装配置文件模板,包括根标签以及属于根标签的一个或多个子标签,可由用户自由定义,使得XML文件能够很好地体现数据的结构和含义,根标签的xtbs属性信息用于标识信息系统,与数据库中预先存储的信息系统标识相对应;内容信息用于设置部署信息的预留占位符。
XML的语法规则如下:
1、XML声明<?xml version="1.0"?>;
2、标签,每个标签由开始标签和结束标签构成;
3、根标签,XML文件有且仅有一个根标签,其它标签都必须封装在根标签中;
4、树形结构,所有标签必须形成树形结构,即任何两个标签不能出现交叉。
这样,基于XML的语法规则和信息系统安装时需求的部署信息,可以灵活地设计安装配置文件模板。
安装配置文件模板的内容信息中,在需要填充数据信息的地方预留占位符,本发明实施例中,采用的预留占位符不同于现有FreeMarker模板,预留占位符为一以$符号开头的字符串,$符号后面的字符串与数据组织模块Map中的Key值对应,这样,在进行数据信息替换时,可以方便快速定位。
图3为本发明实施例安装配置文件模板中包含的信息片段示意图。参见图3,以身份识别与访问管理(IAM,Identity and Access Management)系统的安装信息(部署信息)为例,信息片段包含的内容可以如下:
其中,IAMINFO标签为IAM系统安装配置文件模板的根节点,其中根节点标签的xtbs属性信息“pt.zhyw.iam”可以唯一地标识该IAM系统,下面的子标签,例如,DBPROFILE、DBTYPE等用于标识根节点下包含的子节点;子标签属性信息,例如,“数据库参数”、“数据库类型”等用于描述该子标签的含义;子节点内容信息中包含的预留占位符为该IAM系统安装时需要的部署信息。
对于IAM系统在安装时需要访问同级或者上级的其他系统部署信息的情况,例如,上述的信息片段中的OTHERINFO标签(根标签内的一个子标签)内的内容,该块内容描述了IAM系统安装时需要访问同级的服务管理系统的IP地址信息、根级的部署管理系统的端口号及上级的应用监控系统的IP地址信息,通过自定义三个子标签same、upper、root来标识,其中,same表示同级,upper表示上级,root表示根级。从而在实际应用中,可以依据设计的子标签及其子标签属性的含义,在数据库中进行相应的逻辑查询,将查询出的数据替换安装配置文件模板中的替换占位符。
由上可见,基于XML文件,自定义标签设计模板,具有很好的灵活性,同时也使安装配置文件能够很好地体现数据的结构及其含义。
解析模板,用于根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
本发明实施例中,安装配置文件模板采用的是XML文件,较佳地,由于DOM4J在解析大容量的XML文件时,程序逻辑比较简单,性能上比较占有优势,因而,采用DOM4J技术解析安装配置文件模板。
DOM4J解析XML文件后,返回一个文件(Document)对象,得到的Document对象可以表示整个XML文件,然后,可以用document.getRootElement()方法来获取根节点,并从根节点开始,遍历整个XML文件;在遍历过程中,依据安装配置文件模板中设计的标签及其标签属性的含义,进行相应的数据查询及程序逻辑处理。关于采用DOM4J解析XML文件的详细处理流程,具体可参见相关技术文献,在此不再赘述。
实际应用中,同一信息系统,如果在不同的安装点进行安装,数据库中存储的部署信息也会不同,因而,需要从数据库中获取不同安装点的部署信息。也就是说,根据安装信息系统时所在的安装点域名及信息系统标识信息,然后从数据库中获取该信息系统在不同安装点的部署信息。
例如,上述信息片段中,OTHERINFO标签用于标识IAM系统安装时需要访问的其他系统标识,OTHERINFO标签中的FWGL子标签的xtbs属性值为pt.fwglsame,用于标识IAM系统安装时,需要访问同级的服务管理系统的部署信息,其中,pt.fwgl唯一标识IAM系统访问的服务管理系统,same标识同级的系统部署信息,然后,依据这些子标签及其子标签属性的含义,查询数据库中预先存储的同级的服务管理系统的部署信息,可以获取子标签内容信息。
数据组织模块,用于使用开放源代码的对象关系映射框架(hibernate)回调函数,将解析模块查询出来的部署信息封装成Map类型;
本发明实施例中,封装成Map类型的数据信息中,key值为从数据库中查询得到的预先存储部署信息的表的列名,value为为数据库中该列对应的数值。
安装配置文件生成模块,用于利用DOM4J的XMLWriter类的write方法,将封装成Map类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
本发明实施例,安装配置文件生成模块利用DOM4J的XMLWriter类的write方法,将赋有具体数值的Document对象,即写入有数据信息的安装配置文件模板,进行格式化后,生成安装配置文件。
由于Map类型中的key值与安装配置文件模板中的预留占位符(标签内容信息)相对应,因此,可以利用key/value来定位并替换安装配置文件模板中的预留占位符,当Map类型中的value值为空时,预留占位符将被空字符串替换,因此不会抛异常。
例如,在上述信息片段中,以$符号开头的预留占位符,在解析到占位符时,判断$符号后面的字符串,例如,SJKFW_SJKLX是否与封装的Map中key值相等,如果相等,例如,该key值也为SJKFW_SJKLX,则将key值所对应的value值(Sqlserver)替换安装配置文件模板中的预留占位符($SJKFW_SJKLX)。
这样,在生成安装配置文件后,在安装信息系统的过程中,安装程序依据安装进度以及安装配置文件中的标签(子标签)、标签属性(子标签属性),将安装进度对应的标签内容(子标签内容)自动写入。
图4为本发明实施例安装配置文件模板及输出的安装配置文件示意图。参见图4,预先设置的安装配置文件模板中,包含的内容为:
如果采用DOM4J技术的模板引擎,解析安装配置文件模板后,数据组织模块封装生成的Map类型数据信息中,Key值为:
Element.setText(“sqlserver”)
则经过write方法,生成的安装文件中,包含的内容为:
图5为本发明实施例基于图3生成的安装配置文件示意图。参见图5,生成的IAM系统安装配置文件包含的内容为:
这样,可以将多个信息系统的安装信息(部署信息)集成在包含有多个安装配置文件模板的文件中,这样,可以依据安装点域名信息来输出安装配置文件,在每个安装点,通过导入同一个安装配置文件,从而完成在一个安装点的多个信息系统的安装,可以大大提高信息系统安装效率,简化安装过程。
图6为本发明实施例安装信息系统的方法流程示意图。参见图6,该流程包括:
步骤601,根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
本步骤中,安装配置文件模板采用XML。
部署控件信息包括:安装点域名信息、信息系统标识信息、标签信息、标签属性信息以及内容信息。其中,
安装点域名信息用于标识存储部署信息所在的数据库域名;
标签信息用于标识安装配置文件模板,包括根标签以及属于根标签的一个或多个子标签;
根标签的xtbs属性信息用于标识信息系统,与数据库中预先存储的信息系统标识相对应;
内容信息用于设置部署信息的预留占位符,预留占位符为一以$符号开头的字符串。
较佳地,标签采用树形结构,树形结构的顶部为根标签,根标签下包括:上级子标签、同级子标签以及根级子标签。
实际应用中,一个信息系统对应一个安装配置文件模板,多个安装配置文件模板可以封装在一个文件中。
步骤602,根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
本步骤中,采用DOM4J技术解析安装配置文件模板。
进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息包括:
采用开源XML解析包技术解析XML文件,获取文件对象;
调用document.getRootElement()方法,获取文件对象标签信息中的根节点信息;
从根节点开始,遍历整个XML文件,获取待安装的信息系统所属的安装点域名信息及系统标识(xtbs)属性信息;
根据获取的安装点域名信息及系统标识属性信息,从预先存储部署信息的数据库中获取该部署控件信息映射的部署信息。
本步骤中,在遍历过程中,依据安装配置文件模板中设计的标签及其标签属性的含义,进行相应的数据查询及程序逻辑处理,分别得到遍历得到的各标签属性信息映射的部署信息。
步骤603,使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成Map类型;
本步骤中,封装成Map类型的数据信息中,key值为从数据库中查询得到的预先存储部署信息的表的列名,value为数据库中该列对应的数值,该Map类型中的key值与安装配置文件模板中的预留占位符(标签内容信息)相对应。
步骤604,将封装成Map类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
本步骤中,利用DOM4J的XMLWriter(XML写)类的write(写)方法,将封装成Map类型的部署信息写入安装配置文件模板中,使得安装配置文件模板中的预留占位符被替换为Map类型的部署信息中的value数值。
触发依据该生成的安装配置文件安装信息系统包括:
安装信息系统;
监测到安装过程中出现需要输入部署信息的提示框,获取该提示框携带的标签及标签属性;
根据携带的标签及标签属性,查询生成的安装配置文件,获取标签属性映射的部署信息;
将安装配置文件中获取的标签属性映射的部署信息自动写入提示框,触发下一步流程。
图7为本发明实施例输出IAM系统的安装配置文件的流程示意图。参见图7,该方法包括:
步骤701,基于IAM系统安装时需求的部署信息,设计IAM系统安装配置文件模板;
步骤702,解析IAM系统安装配置文件模板,进行相应的数据查询;
本步骤中,解析设计的IAM系统安装配置文件模板,依据当前的安装点域名信息、IAM系统安装配置文件模板中根标签的系统标识(xtbs)属性的含义,在预先存储部署信息的数据库中,进行相应的数据(部署信息)查询以获取标签内容信息。
步骤703,将查询出的IAM系统部署数据封装成MAP类型,利用key/value定位并替换IAM系统安装配置文件模板中的预留占位符;
本步骤中,使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成Map类型,封装成Map类型的数据信息中,key值为从数据库中查询得到的预先存储部署信息的表的列名,value为为数据库中该列对应的数值,将value值替换IAM系统安装配置文件模板中的预留占位符。
步骤704,输出IAM系统安装配置文件。
本步骤中,在将value值替换IAM系统安装配置文件模板中的预留占位符后,生成XML的IAM系统安装配置文件,用于在安装时,根据安装进度,自动从IAM系统安装配置文件获取部署信息,并完成安装。
图8为为本发明实施例输出安装配置文件的具体流程示意图。参见图8,该流程包括:
步骤801,基于XML文件,依据信息系统安装时的需求信息,自定义标签设计安装配置文件模板;
本步骤中,设计的安装配置文件模板采用XML。
步骤802,采用DOM4J技术解析安装配置文件模板,依据安装配置文件模板中标签及其标签属性的含义进行相应的数据查询;
本步骤中,根据当前的安装点域名信息及获取的标签及标签属性信息,从预先存储部署信息的数据库中,获取标签属性信息映射的部署信息。
步骤803,将查询出的数据封装成Map类型,利用key/value定位和替换安装配置文件模板中的预留占位符;
步骤804,采用DOM4J技术输出目标安装配置文件。
由上述可见,通过基于XML文件,依据信息系统安装时的需求信息,自定义标签设计安装配置文件模板;通过采用DOM4J解析模板,依据模板中标签及其标签属性的含义进行相应的数据查询,将查询出的数据封装成MAP类型,利用key/value定位和替换模板中的预留占位符,最后输出目标安装配置文件。这样,通过导入安装配置XML文件,自动填充部署参数,完成信息系统安装,能够提高信息系统的安装成功率,有效避免复杂部署信息的手动填写,同时也节省系统安装时间;进一步地,依据信息系统安装时的需求信息,自定义标签设计的安装配置文件模板,能够很好地体现数据的结构和含义;而且,通过采用DOM4J解析模板,依据模板中标签及其标签属性的含义进行相应的数据查询,将查询出的数据封装成MAP类型,利用key/value定位和替换模板中的占位符,能够有效避免模板中的变量必须要赋值以及MAP中key值必须为字符串(String)类型的限制。
显然,本领域技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也包含这些改动和变型在内。
Claims (10)
1.一种安装信息系统的方法,包括:
根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
使用开放源代码的对象关系映射框架回调函数,将从数据库查询出来的部署信息封装成映射类型;
将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
2.根据权利要求1所述的方法,其中,采用可扩展标记语言XML生成基于脚本编写的所述安装配置文件模板。
3.根据权利要求2所述的方法,其中,所述部署控件信息包括:安装点域名信息、信息系统标识信息、标签信息、标签属性信息以及内容信息。
4.根据权利要求3所述的方法,其中,所述标签采用树形结构,树形结构的顶部为根标签。
5.根据权利要求4所述的方法,其中,采用开源XML解析包技术解析所述安装配置文件模板;以及,利用开源XML解析包的XMLWriter类的write方法,将封装成映射类型的部署信息写入安装配置文件模板中。
6.根据权利要求5所述的方法,其中,所述进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息包括:
采用开源XML解析包技术解析XML文件,获取文件对象;
调用document.getRootElement()方法,获取文件对象标签信息中的根节点信息;
从根节点开始,遍历整个XML文件,获取待安装的信息系统所属的安装点域名信息及系统标识属性信息;
根据获取的安装点域名信息及系统标识属性信息,从预先存储部署信息的数据库中获取该部署控件信息映射的部署信息。
7.根据权利要求1至6任一项所述的方法,其中,所述封装成映射类型的数据信息中,包含键值以及数值,键值为从数据库中查询得到的预先存储部署信息的表的列名,数值为数据库中该列对应的数值,该映射类型中的键值与安装配置文件模板标签内容信息中的预留占位符相对应。
8.根据权利要求7所述的方法,其中,所述触发依据该生成的安装配置文件安装信息系统包括:
安装信息系统;
监测到安装过程中出现需要输入部署信息的提示框,获取该提示框携带的标签及标签属性;
根据携带的标签及标签属性,查询生成的安装配置文件,获取标签属性映射的部署信息;
将安装配置文件中获取的标签属性映射的部署信息自动写入提示框,触发下一步流程。
9.一种安装信息系统的装置,其特征在于,该装置包括:模板设计模块、解析模块、数据组织模块以及安装配置文件生成模块,其中,
模板设计模块,用于根据数据库预先存储的部署信息,设置包含映射待安装信息系统部署信息的部署控件信息,形成安装配置文件模板并存储;
解析模板,用于根据待安装的信息系统,获取该待安装信息系统对应的安装配置文件模板,并进行解析,根据解析得到的部署控件信息,从数据库中获取该部署控件信息映射的部署信息;
数据组织模块,用于使用开放源代码的对象关系映射框架回调函数,将解析模块查询出来的部署信息封装成映射类型;
安装配置文件生成模块,用于将封装成映射类型的部署信息写入该待安装信息系统对应的安装配置文件模板中,生成安装配置文件,并触发依据该生成的安装配置文件安装信息系统。
10.根据权利要求9所述的装置,其特征在于,所述模板设计模块采用可扩展标记语言XML生成所述安装配置文件模板;
解析模板采用开源XML解析包技术解析所述安装配置文件模板;以及,
安装配置文件生成模块利用开源XML解析包的XMLWriter类的write方法,将封装成映射类型的部署信息写入安装配置文件模板中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102221305A CN103268242A (zh) | 2013-06-05 | 2013-06-05 | 安装信息系统的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102221305A CN103268242A (zh) | 2013-06-05 | 2013-06-05 | 安装信息系统的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103268242A true CN103268242A (zh) | 2013-08-28 |
Family
ID=49011875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102221305A Pending CN103268242A (zh) | 2013-06-05 | 2013-06-05 | 安装信息系统的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268242A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608681A (zh) * | 2017-09-14 | 2018-01-19 | 紫光华山信息技术有限公司 | 操作系统安装方法、装置和服务器 |
CN108008986A (zh) * | 2017-12-06 | 2018-05-08 | 成都初唐网络科技股份有限公司 | 数据自动化部署方法以及装置 |
CN108460002A (zh) * | 2017-12-29 | 2018-08-28 | 中国平安财产保险股份有限公司 | 合作伙伴自动对接方法、装置、设备及存储介质 |
CN108647035A (zh) * | 2018-04-23 | 2018-10-12 | 平安科技(深圳)有限公司 | Bi工具的安装配置方法、装置、计算机装置及存储介质 |
CN111342982A (zh) * | 2020-02-28 | 2020-06-26 | 海信集团有限公司 | 一种集成多种消息发送的方法及系统 |
CN113064607A (zh) * | 2021-06-02 | 2021-07-02 | 统信软件技术有限公司 | 一种操作系统的安装方法、计算设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188939A1 (en) * | 2001-06-11 | 2002-12-12 | Siemens Medical Solutions Health Services Corporation | System and user interface for generation and processing of software application installation instructions |
CN1464439A (zh) * | 2002-06-18 | 2003-12-31 | 国际商业机器公司 | 在web应用中产生定制商业报表的系统和方法 |
CN101052945A (zh) * | 2004-08-02 | 2007-10-10 | 佳思腾软件公司 | 在标记语言文档中创建标签或属性的方法 |
CN101493839A (zh) * | 2009-03-04 | 2009-07-29 | 北京航空航天大学 | 一种通用测试文档的生成方法 |
CN101626576A (zh) * | 2008-07-07 | 2010-01-13 | 中兴通讯股份有限公司 | 一种参数配置模板的生成方法及利用模板配置参数的方法 |
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN103019791A (zh) * | 2012-12-19 | 2013-04-03 | 中国电子科技集团公司第十五研究所 | 软件部署方法及软件部署系统 |
-
2013
- 2013-06-05 CN CN2013102221305A patent/CN103268242A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188939A1 (en) * | 2001-06-11 | 2002-12-12 | Siemens Medical Solutions Health Services Corporation | System and user interface for generation and processing of software application installation instructions |
CN1464439A (zh) * | 2002-06-18 | 2003-12-31 | 国际商业机器公司 | 在web应用中产生定制商业报表的系统和方法 |
CN101052945A (zh) * | 2004-08-02 | 2007-10-10 | 佳思腾软件公司 | 在标记语言文档中创建标签或属性的方法 |
CN101626576A (zh) * | 2008-07-07 | 2010-01-13 | 中兴通讯股份有限公司 | 一种参数配置模板的生成方法及利用模板配置参数的方法 |
CN101493839A (zh) * | 2009-03-04 | 2009-07-29 | 北京航空航天大学 | 一种通用测试文档的生成方法 |
CN102455915A (zh) * | 2010-10-18 | 2012-05-16 | 卓望数码技术(深圳)有限公司 | 一种分布式系统的自动化配置方法及服务器 |
CN103019791A (zh) * | 2012-12-19 | 2013-04-03 | 中国电子科技集团公司第十五研究所 | 软件部署方法及软件部署系统 |
Non-Patent Citations (9)
Title |
---|
于东超: "基于Struts2_Spring_省略_框架的通用Web框架的研究及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
余俊新: "J2EE 中对象关系映射的研究与实现", 《计算机技术与发展》 * |
刘正刚等: "《ERP制造系统原理》", 28 February 2014 * |
屈建明等: "FreeMarker模板引擎动态生成网页的应用研究", 《计算机与现代化》 * |
彭涛等: "《xml技术与应用》", 30 June 2012 * |
王伟平: "《Struts2完全学习手册》", 31 January 2012 * |
王庆喜等: "基于freemarker 和XML 技术的word 生成方案", 《电脑与信息技术 》 * |
耿晓君等: "Struts2下基于FreeMarker的XML数据输出与ExtJS的解析实现", 《江苏广播电视大学学报》 * |
鞠凤娟等: "FREEMARKER结合STRUTS2框架开发WEB插件研究", 《科技经济市场》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608681A (zh) * | 2017-09-14 | 2018-01-19 | 紫光华山信息技术有限公司 | 操作系统安装方法、装置和服务器 |
CN107608681B (zh) * | 2017-09-14 | 2021-12-07 | 新华三信息技术有限公司 | 操作系统安装方法、装置和服务器 |
CN108008986A (zh) * | 2017-12-06 | 2018-05-08 | 成都初唐网络科技股份有限公司 | 数据自动化部署方法以及装置 |
CN108460002A (zh) * | 2017-12-29 | 2018-08-28 | 中国平安财产保险股份有限公司 | 合作伙伴自动对接方法、装置、设备及存储介质 |
CN108647035A (zh) * | 2018-04-23 | 2018-10-12 | 平安科技(深圳)有限公司 | Bi工具的安装配置方法、装置、计算机装置及存储介质 |
WO2019205349A1 (zh) * | 2018-04-23 | 2019-10-31 | 平安科技(深圳)有限公司 | Bi工具的安装配置方法、装置、计算机装置及存储介质 |
CN111342982A (zh) * | 2020-02-28 | 2020-06-26 | 海信集团有限公司 | 一种集成多种消息发送的方法及系统 |
CN111342982B (zh) * | 2020-02-28 | 2021-12-28 | 海信集团有限公司 | 一种集成多种消息发送的方法及系统 |
CN113064607A (zh) * | 2021-06-02 | 2021-07-02 | 统信软件技术有限公司 | 一种操作系统的安装方法、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268242A (zh) | 安装信息系统的方法及装置 | |
CN101840334B (zh) | 一种软件构件服务化封装方法 | |
CN106528129A (zh) | 一种Web应用界面生成系统及方法 | |
CN108664239B (zh) | 一种基于微服务的跨技术栈web前端开发系统及方法 | |
CN101763255B (zh) | 一种专用界面工具的格式转换方法及装置 | |
CN105354037A (zh) | 模块化的软件开发方法及软件开发装置 | |
CN106371825A (zh) | 一种移动端应用界面表单动态生成方法及装置 | |
CN103605516A (zh) | 柔性Web展现框架模型架构设计方法 | |
CN104517181B (zh) | 一种核电站企业内容管理系统及方法 | |
CN103164333A (zh) | 嵌入式设备系统web调测方法及系统、web服务器 | |
CN106598620A (zh) | 代码生成方法及代码生成器 | |
CN104144215A (zh) | 一种物联网泛在设备资源模型的构建方法 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN102043622A (zh) | 一种电子控制器基础软件通用配置器 | |
CN105573774B (zh) | 应用程序参数管理及配置方法 | |
CN105278991A (zh) | 一种云应用部署配置模型的构造方法 | |
CN103197932A (zh) | 一种开发无模式文档型数据库应用的业务组件模型 | |
CN105049256A (zh) | 一种通用自定义接口报文实现方法及系统 | |
CN108073390A (zh) | 统一管理多个工程中配置文件的方法、装置及系统 | |
CN100449484C (zh) | 一种生成仿真设备面板的方法及系统 | |
CN103297554B (zh) | IPv4和IPv6兼容处理的方法及装置 | |
CN111061678A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN104283947A (zh) | Java script动态合并服务器及其工作过程 | |
CN109116828A (zh) | 一种控制器中模型代码配置方法和装置 | |
CN104461495A (zh) | 一种实现数据持久层分离的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130828 |