CN103793217B - 用于软件快速配置的方法和系统 - Google Patents

用于软件快速配置的方法和系统 Download PDF

Info

Publication number
CN103793217B
CN103793217B CN201210428865.9A CN201210428865A CN103793217B CN 103793217 B CN103793217 B CN 103793217B CN 201210428865 A CN201210428865 A CN 201210428865A CN 103793217 B CN103793217 B CN 103793217B
Authority
CN
China
Prior art keywords
software
equipment
special information
mark
information
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
Application number
CN201210428865.9A
Other languages
English (en)
Other versions
CN103793217A (zh
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201210428865.9A priority Critical patent/CN103793217B/zh
Priority to US14/068,120 priority patent/US9710289B2/en
Publication of CN103793217A publication Critical patent/CN103793217A/zh
Application granted granted Critical
Publication of CN103793217B publication Critical patent/CN103793217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本发明涉及软件配置技术领域,具体地,涉及用于软件快速配置的方法和系统。更具体地,本发明尤其涉及通过确定设备特别信息与记录该信息的具体配置文件位置间的对应关系,快速进行软件迁移、配置的技术。根据本发明的一个方面,提供了一种用于软件快速配置的方法,包括:获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;为所述与设备特别信息相关的方法所获取的设备特别信息添加标识;以及依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系。根据本发明的技术方案,可以自动记录配置文件中的记录位置与设备特别信息之间的对应关系,或者/并且可以用于快速进行软件配置。

Description

用于软件快速配置的方法和系统
技术领域
本发明涉及软件配置技术领域。更具体地,本发明尤其涉及通过确定设备特别信息与记录该信息的具体配置文件位置间的对应关系,快速进行软件迁移、配置的技术。
背景技术
目前,随着虚拟化及云计算技术的迅速发展,软件的快速配置显得越来越重要。软件配置在软件迁移的场景下尤为重要。所谓软件迁移,指的是将软件由一台机器迁移到另一台机器上运行,通常,这里的“机器”是指虚拟机。例如,在一个云平台中,将软件由一台虚拟机迁移至另一台虚拟机。软件在运行过程中需要依赖于安装时所产生的软件配置文件,软件配置文件中记录了很多重要参数信息,或者称作“设备特别信息”(Device SpecificInformation)。同一软件在不同的虚拟机或物理机上运行时所依赖的具体设备参数信息是不同的,这也导致软件迁移过程中会产生的一个主要问题:如何在保证软件迁移配置文件正确的基础上尽量提高软件迁移的速度和效率?
现有技术中存在若干种解决软件迁移过程中的软件配置的技术方案。其一,为每个不同的软件编写特定的脚本程序(scripts),然后利用所编写的脚本程序实现该软件在不同虚拟机间迁移。该种技术方案的缺点在于,编写脚本程序需要对软件本身有较深入的了解,需要耗费大量的人力。并且,每个脚本程序仅适用于特定软件,不具有通用性。
其二,当需要新启动一个虚拟机时,重新安装并配置该软件。这种技术方案的显著缺点是耗时太长。对于很多大型商用软件而言,重新安装并配置需要耗费数个小时。
其三,对软件的部署环境进行限制,也就是限制只能在具有相同设备特别信息的运行环境间进行迁移。这种限制实际上与云计算的开放性平台的技术发展趋势相悖,没有实现真正意义上的软件迁移。
综上所述,现有技术中存在的主要问题由于无法获取设备特别信息在软件配置文件中的记录位置,因此无法在软件迁移过程中重用已有的软件配置文件,而导致软件配置的效率低下。
发明内容
考虑到上述存在的问题,本发明的目的之一在于提供一种用于快速进行软件配置的技术方案,或者说提供一种用于在软件迁移时快速且正确地进行软件配置的技术方案。本发明的又一目的在于提供一种用于自动记录配置文件中的记录位置与设备特别信息之间的对应关系的技术方案。上述发明目的可以单独成立,并非需要同时满足所有提及的发明目的。
根据本发明的一个方面,提供了一种用于软件快速配置的方法,包括:获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;为所述与设备特别信息相关的方法所获取的设备特别信息的字符串值添加标识;以及依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系。
根据本发明的另一方面,提供了一种用于软件快速配置的系统,包括:识别装置,被配置为获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;标识添加装置,被配置为为所述与设备特别信息相关的方法所获取的设备特别信息的字符串值添加标识;以及对应关系确定装置,被配置为依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系。
根据本发明所提供的方法或系统,可以自动记录配置文件中的记录位置与设备特别信息之间的对应关系,或者/并且可以用于快速进行软件配置。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的标号表示相同或相似的部件。在附图中,
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图;
图2示出了根据本发明一实施例的用于软件快速配置的方法的流程图;
图3示出了根据本发明另一实施例的用于软件快速配置的方法的流程图;
图4示出了根据本发明一实施例的两次代码注入操作之前和之后的代码示例;
图5示出了根据本发明一实施例的所记录的对应关系的实例;
图6示出了根据本发明一实施例的用于软件快速配置的系统的框图。
具体实施方式
在下文中,将参考附图通过实施方式对本发明提供的用于软件快速配置的方法和系统进行详细地描述。
所属技术领域的技术人员知道,本发明的多个方面可以体现为系统、方法或计算机程序产品。因此,本发明的多个方面可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明的多个方面还可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序码。
可以使用一个或多个计算机可读的介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或任何以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任何合适的组合。在本文件的语境中,计算机可读存储介质可以是任何包含或存储程序的有形的介质,该程序被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可包括在基带中或者作为载波一部分传播的、其中体现计算机可读的程序码的传播的数据信号。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或任何以上合适的组合。计算机可读的信号介质可以是并非为计算机可读存储介质、但是能发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序的任何计算机可读介质。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者任何合适的上述组合。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如“C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络——包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的多个方面。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
下面参看图1。图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和显示器114。在这些设备中,与系统总线104耦合的有CPU101、RAM102、ROM103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及显示器114与显示控制器109耦合。应当理解,图1所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
接下来介绍图2。图2示出了根据本发明一实施例的用于软件快速配置的方法的流程图。图2所示的方法从步骤201开始,在步骤201中,获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法。这里的“方法”可以理解为程序中的某个功能或函数。“软件配置程序”不同于软件程序本身,其是指在安装过程中需要执行的程序,例如installer程序等。根据本发明的一个实施例,设备特别信息包括至少下列之一:主机名、IP地址、Mac地址、文件路径。相应地,与设备特别信息相关的方法可以是getHostName()(“主机名”),getHostAddress()(“IP地址”),getWindowsMACAddressC)(“Mac地址”),getAbsolutePath()(“文件路径”)。这些与设备特别信息相关的方法可以获取相应的字符串值,如HostName的值为“apple”。在配置程序运行的过程中,这些所获取的字符串值会被写入至软件的配置文件中。本领域技术人员应当理解,设备特别信息还可能包含其它多种,相应地软件配置程序中的与设备特别信息相关的方法也可能有多种。还需要指出的是,可以利用现有技术手段对程序的代码进行分析,以识别出特定类型的方法,在此不再赘述。
接下来,图2所示的方法进行至步骤202,为所述与设备特别信息相关的方法所获取的设备特别信息添加标识。添加标识的目的是为了能够追踪这些与设备特别信息相关的方法所读取/获取的具体的设备特别信息的字符串值,以便在随后的将这些字符串写入至配置文件的过程中定位写入的文件位置。因此,所添加的标识也可以理解为是“追踪设备特别信息字符串值的ID”。根据本发明的一个实施例,其中为所识别的与设备特别信息相关的方法添加标识包括:通过代码注入,将所识别的与设备特别信息相关的方法替换为具有所述标识的新方法,所述标识用于区分不同的设备特别信息。本领域技术人员应当理解,代码注入技术是现有技术手段,可以通过字节码的代码注入对程序的目标代码进行修改,而无需取得程序的源代码。可以利用目标代码级别的代码注入的程序语言包括例如:Java,Ruby,PHP,C#等。关于代码注入的实现细节,在此不再赘述。根据此实施例,虽然添加标识的对象是具体的设备特别信息的值,但是可以在配置程序读取到具体的设备特别信息的值之前,就在配置程序的方法中进行代码注入操作,从而将来一旦执行配置程序而读取到了设备特别信息的值时就可以自动为其添加标识。图4A和4B分别示出了代码注入前的与设备特别信息相关的方法以及代码注入后的新方法。由图4A可以看出,软件配置程序中原有的与设备特别信息相关的方法为getHostName(),而经过代码注入后如图4B所示,原有的getHostName()被重命名并且设置为private方法,在本例子中就是把getHostname()修改为getHostnameImpl(),而新的getHostname()方法首先调用getHostnameImpl获得真实的hostname,并且为与设备特别信息相关的方法分配了标识(追踪ID),即通过ConfigurationAnalyzer.getTrackID来生成具体的标识,同时创建创建一个追踪列表来跟踪设备特别信息,该追踪列表以追踪设备特别信息字符串值的ID为关键字,以原始值为值。本领域技术人员应当理解,标识的组成方式可以有多种,例如可以将添加的标识定义为“数据类型+DSC+原始值”,那么假设通过原有方法获得的HostName的值为“apple”,则将原始方法读取的值“apple”添加标识后成为“Hostname-DSC-apple”。这里只是给出了一个具体的标识的生成方式,本领域技术人员完全可以采用多种其它方式定义标识的生成规则。假设图4A的未经注入的软件配置程序在执行过程中所获取的HostName的字符串值为“apple”,则图4B经注入后的软件配置程序在执行过程中所获取的HostName的字符串值就自动变成“Hostname-DSC-apple”。
接下来,在步骤203中,依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系。首先需要指出的是,软件配置程序的执行可以大概分为两个阶段。在第一个阶段,配置程序执行与设备特别信息相关的方法,以获取适应于特定运行环境的设备特别信息的值(字符串值),然后在第二个阶段,这些所获取的设备特别信息的字符串值会被写入到软件的配置文件中。步骤203可以理解为是在上述第二阶段写入配置文件过程中被执行。由于在步骤202中已经为读取到的设备特别信息的字符串值添加了标识,因此在步骤203中可以通过所添加的标识来追踪并记录该特定字符串被写入到的配置文件的路径,以及被写入到配置文件中的哪一行、哪一列的信息,从而可以确定设备特别信息与其在软件配置文件中的记录位置间的对应关系。
由上所述,一旦获取了设备特别信息与其在软件配置文件中的记录位置间的对应关系,就可以在以后软件重新配置或者软件迁移后的配置过程中,只需要获取新环境下的设备特别信息的字符串值,就可以直接利用这种对应关系将新的字符串值替换至相应的配置文件中的对应位置的旧字符串,即可完成软件的配置。而无需重新进行耗时的软件重新安装、手动配置的工作,也无需为每个软件编写特定的配置脚本,并且具有极强的通用性。
图3示出了根据本发明另一实施例的用于软件快速配置的方法的流程图。在步骤301中,获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法。在步骤302中,通过代码注入,将所识别的与设备特别信息相关的方法替换为具有所述标识的新方法,所述标识用于区分不同的设备特别信息。步骤301可以理解为对应于图2中的步骤201,并且步骤302作为上述一个具体实施例,在图2的描述中也已经详细介绍,在此不再赘述。
在步骤303中,通过代码注入,将所述软件配置程序中的字符串写入方法替换为用于检测待写入软件配置文件的字符串是否具有所添加标识的方法。软件配置程序通过执行写入操作来生成配置文件,但是并非所有写入的字符串都是设备特别信息。对于那些非设备特别信息的字符串,无需在软件迁移或重新配置的过程中进行更改。图4C和4D示出了根据本发明一实施例的代码注入前的写入方法和代码注入后的写入方法。图4C中的写入方法write()重命名并且设置为private方法,在本例子中就是把write()修改为writeImpl(),而新的write()方法用于检测待写入软件配置文件的字符串是否具有所添加的标识。由图4D所示的经注入后的新方法的代码还可以看出,在代码段的最后恢复成原始的字符串值,也就是说,最终被写入到配置文件中的设备特别信息的字符串值仍然是“apple”,而并非添加标识后的“Hostname-DSC-apple”。这样就保证了当前配置文件信息的正确性。
接下来在步骤304中,判断需要被写入软件配置文件的字符串是否具有所添加的标识。由于之前添加过的标识已经被记录并且其与原始字符串之间的对应关系已经被记录在追踪列表,当软件配置程序执行到写入方法时,如果判断得知马上要被写入软件配置文件的字符串具有之前添加过的标识,则进行至步骤305,获取所述字符串被写入所述软件配置文件中的具体位置信息。如果判断得知马上要被写入软件配置文件的字符串不具有之前添加过的标识,则说明该字符串并非设备特别信息,无需追踪其在配置文件中的写入位置,因此不获取所述字符串被写入所述软件配置文件中的具体位置信息。
针对步骤305,根据本发明的一个实施例,响应于判断结果为是,获取所述字符串被写入所述软件配置文件中的具体位置信息包括:响应于判断结果为是,获取待写入的字符串要被写至的软件配置文件路径;以及获取待写入的字符串在被写至的软件配置文件中的行、列信息。由于一个软件的软件配置信息可能记录于多个具有不同的文件路径的配置文件中,因此特定字符串被写入的具体文件路径信息需要获取。此外,根据本发明的一个实施例,为了更精确地在配置文件中定位被写入的设备特别信息的字符串,还可以进一步获取字符串在被写至的软件配置文件中的行、列信息。本领域技术人员应当理解,如何获取字符串被写入到文件中的第几行、第几列属于现有技术手段,例如可以通过换行符的数量来计算字符串的起始位置并分析字符串的长度来分析具体的行、列信息,在此不再赘述。
需要指出的是,步骤304的判断是针对配置程序中每个写入方法重复进行的,直至所有的写入方法执行完毕。为了简洁起见,并未在图3中示出循环执行的示意图。
接下来,图3所示的方法进行至步骤306,记录所述设备特别信息与所述具体位置信息间的对应关系。本领域技术人员应当理解,对应关系的记录可以以文件的形式体现,也可以通过其它任意数据存储方式体现。图5示例性地示出了根据本发明一个实施例而得到的设备特别信息与所述具体位置信息间的对应关系的记录。如图5所示,对于HostName这个设备特别信息,其当前运行环境下的值“apple”在软件配置过程中被写入到三个不同的配置文件中的四个不同的位置(不同的行、列值)。
有了这样的对应关系记录,一旦这个软件将来需要在另一个运行环境(例如虚拟机)上被部署,则可以执行步骤307,获取所述软件在新运行环境下的新的设备特别信息,以及步骤308,利用所述对应关系,将软件配置文件中的原有设备特别信息替换为所述新的设备特别信息,以实现软件快速配置。例如,通过步骤307得知这个软件在新的运行环境下的HostName的值为“pear”,则在步骤308中按照图5示出的对应关系的记录,在原有的配置文件中的相应位置用“pear”这个字符串替换“apple”这个字符串即可快速完成软件的配置,无需重新安装软件。
还需要指出的是,步骤307和308位于图3中的框内,目的在于强调这两个步骤并非实现本发明目的的必需步骤或必备手段。只要获得了例如图5所示的对应关系记录,就已经实现了本发明的目的,因为该对应关系足以用于快速完成软件的配置。至于具体如何利用这个对应关系记录去实际完成软件的配置任务,不影响本发明的目的的实现。例如,即使由人工依据对应关系记录手动修改相应的配置文件中的字符串,同样可以大大提升软件配置的速度和效率。
本领域技术人员应当理解,上文中以源代码的形式给出了关于代码注入的示意性的例子,这只是为了使得示例更容易理解。在实际的代码注入操作过程中,代码的修改、替换可以直接在目标代码层面进行,无需获取配置程序的源代码。
图6示出了根据本发明一实施例的用于软件快速配置的系统的框图。图6所示的系统在整体上由系统600表示,具体地,系统600包括识别装置601,被配置为获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;标识添加装置602,被配置为为所述与设备特别信息相关的方法所获取的设备特别信息的字符串值添加标识;以及对应关系确定装置603,被配置为依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系。系统600中的装置601-603可以理解为分别对应于图2所示的方法中的步骤201-203,在此不再赘述。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然以上结合具体实例,对本发明的利用远程应用处理本地文件的系统及方法进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围。应该理解,所有这样的变化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。

Claims (10)

1.一种用于软件快速配置的方法,包括:
获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;
为所述与设备特别信息相关的方法所获取的设备特别信息添加标识;
依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系,
其中依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系包括:
判断需要被写入软件配置文件的字符串是否具有所添加的标识;
响应于判断结果为是,获取所述字符串被写入所述软件配置文件中的具体位置信息;以及
记录所述设备特别信息与所述具体位置信息间的对应关系,
其中响应于判断结果为是,获取所述字符串被写入所述软件配置文件中的具体位置信息包括:
响应于判断结果为是,
获取待写入的字符串要被写至的软件配置文件路径;以及
获取待写入的字符串在被写至的软件配置文件中的行、列信息。
2.如权利要求1所述的方法,其中设备特别信息包括至少下列之一:
主机名、IP地址、Mac地址、文件路径。
3.如权利要求1所述的方法,其中为所述与设备特别信息相关的方法所获取的设备特别信息添加标识包括:
通过代码注入,将所识别的与设备特别信息相关的方法替换为具有所述标识的新方法,所述标识用于区分不同的设备特别信息。
4.如权利要求1所述的方法,进一步包括:
通过代码注入,将所述软件配置程序中的字符串写入方法替换为用于检测待写入软件配置文件的字符串是否具有所添加标识的方法。
5.如权利要求1所述的方法,进一步包括:
获取所述软件在新运行环境下的新的设备特别信息;以及
利用所述对应关系,将软件配置文件中的原有设备特别信息替换为所述新的设备特别信息,以实现软件快速配置。
6.一种用于软件快速配置的系统,包括:
识别装置,被配置为获取并分析软件配置程序,以识别所述软件配置程序中与设备特别信息相关的方法;
标识添加装置,被配置为为所述与设备特别信息相关的方法所获取的设备特别信息添加标识;
对应关系确定装置,被配置为依据所添加的标识,确定所述设备特别信息与其在软件配置文件中的记录位置间的对应关系,
其中对应关系确定装置被配置为:
判断需要被写入软件配置文件的字符串是否具有所添加的标识;
响应于判断结果为是,获取所述字符串被写入所述软件配置文件中的具体位置信息;以及
记录所述设备特别信息与所述具体位置信息间的对应关系,
其中对应关系确定装置被进一步配置为:
响应于判断结果为是,
获取待写入的字符串要被写至的软件配置文件路径;以及
获取待写入的字符串在被写至的软件配置文件中的行、列信息。
7.如权利要求6所述的系统,其中设备特别信息包括至少下列之一:
主机名、IP地址、Mac地址、文件路径。
8.如权利要求6所述的系统,其中标识添加装置被配置为:
通过代码注入,将所识别的与设备特别信息相关的方法替换为具有所述标识的新方法,所述标识用于区分不同的设备特别信息。
9.如权利要求6所述的系统,进一步包括:
写入替换装置,被配置为通过代码注入,将所述软件配置程序中的字符串写入方法替换为用于检测待写入软件配置文件的字符串是否具有所添加标识的方法。
10.如权利要求6所述的系统,进一步包括:
软件配置装置,被配置为:
获取所述软件在新运行环境下的新的设备特别信息;以及
利用所述对应关系,将软件配置文件中的原有设备特别信息替换为所述新的设备特别信息,以实现软件快速配置。
CN201210428865.9A 2012-10-31 2012-10-31 用于软件快速配置的方法和系统 Active CN103793217B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210428865.9A CN103793217B (zh) 2012-10-31 2012-10-31 用于软件快速配置的方法和系统
US14/068,120 US9710289B2 (en) 2012-10-31 2013-10-31 Rapid configuration of software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210428865.9A CN103793217B (zh) 2012-10-31 2012-10-31 用于软件快速配置的方法和系统

Publications (2)

Publication Number Publication Date
CN103793217A CN103793217A (zh) 2014-05-14
CN103793217B true CN103793217B (zh) 2017-03-01

Family

ID=50668936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210428865.9A Active CN103793217B (zh) 2012-10-31 2012-10-31 用于软件快速配置的方法和系统

Country Status (2)

Country Link
US (1) US9710289B2 (zh)
CN (1) CN103793217B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3379591A1 (en) 1999-12-01 2018-09-26 The Trustees of Princeton University Complexes of form l2mx
US9430268B2 (en) * 2014-05-02 2016-08-30 Cavium, Inc. Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers
CN105373401B (zh) * 2015-10-27 2018-09-07 上海找钢网信息科技股份有限公司 软件包自动发布方法和系统
CN112948013B (zh) * 2019-12-24 2023-10-10 深圳市明源云科技有限公司 一种应用探针配置方法、装置、终端设备及存储介质
CN111652122A (zh) * 2020-06-01 2020-09-11 珠海格力智能装备有限公司 视觉系统的配置方法及装置
CN111882293B (zh) * 2020-07-06 2024-06-07 珠海格力电器股份有限公司 应用软件签审方法、装置、计算机设备和存储介质
CN113076129B (zh) * 2021-03-23 2023-11-28 成都安恒信息技术有限公司 一种复杂配置依赖关系自动检查处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006301A (zh) * 2010-12-01 2011-04-06 南京邮电大学 一种多终端之间流控传输协议偶联的移动控制方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453346B1 (en) * 1998-07-17 2002-09-17 Proactivenet, Inc. Method and apparatus for intelligent storage and reduction of network information
US6735691B1 (en) * 2000-01-27 2004-05-11 Microsoft Corporation System and method for the automated migration of configuration information
US6854112B2 (en) 2001-08-29 2005-02-08 International Business Machines Corporation System and method for the automatic installation and configuration of an operating system
US7337435B2 (en) * 2002-01-09 2008-02-26 International Business Machines Corporation Efficient configuration data migration technique
US7353501B2 (en) * 2002-11-18 2008-04-01 Microsoft Corporation Generic wrapper scheme
US7117482B2 (en) * 2003-03-26 2006-10-03 Sony Corporation Migration of configuration data from one software installation through an upgrade
US20040250247A1 (en) 2003-06-09 2004-12-09 Sun Microsystems, Inc. Extensible software installation and configuration framework
US7805721B2 (en) * 2004-06-14 2010-09-28 Likewise Software, Inc. System and method for automated migration from Windows to Linux
US20050289536A1 (en) 2004-06-23 2005-12-29 International Business Machines Coporation Automated deployment of an application
US7864709B2 (en) * 2004-06-25 2011-01-04 Apple Inc. Method and apparatus for looking up configuration information for a network node
US7865707B2 (en) * 2006-03-16 2011-01-04 International Business Machines Corporation Gathering configuration settings from a source system to apply to a target system
US7552125B1 (en) * 2006-03-22 2009-06-23 Emc Corporation Synergistic data structures
US8397227B2 (en) 2007-12-04 2013-03-12 International Business Machines Corporation Automatic deployment of Java classes using byte code instrumentation
US8548956B2 (en) 2008-02-28 2013-10-01 Mcafee, Inc. Automated computing appliance cloning or migration
CN101819525B (zh) 2009-02-27 2013-11-27 国际商业机器公司 用于查找系统中应用的配置文件的方法和设备
US20100325624A1 (en) 2009-06-22 2010-12-23 Stephen John Bartolo Method and System for Application Portability
US8850423B2 (en) * 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
CN102207859A (zh) 2010-03-31 2011-10-05 国际商业机器公司 解决方案部署方法、设备和系统
US8627426B2 (en) 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US9448790B2 (en) 2010-04-26 2016-09-20 Pivotal Software, Inc. Rapid updating of cloud applications
US8645672B2 (en) 2010-07-02 2014-02-04 International Business Machines Corporation Configuring a computer system for a software package installation
US8578376B2 (en) 2011-01-04 2013-11-05 International Business Machines Corporation Automatically and securely configuring and updating virtual machines
US9372827B2 (en) * 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006301A (zh) * 2010-12-01 2011-04-06 南京邮电大学 一种多终端之间流控传输协议偶联的移动控制方法

Also Published As

Publication number Publication date
CN103793217A (zh) 2014-05-14
US9710289B2 (en) 2017-07-18
US20140137099A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
CN103793217B (zh) 用于软件快速配置的方法和系统
US9501594B2 (en) Graphical design verification environment generator
US10108536B2 (en) Integrated automated test case generation for safety-critical software
EP3367234B1 (en) Systems and methods for arbitrary software logic modeling
CN110494843A (zh) 混合模式编程
US8904321B1 (en) System and method for automatically generating coverage constructs and constraint solver distributions
US9921836B2 (en) Branch synthetic generation across multiple microarchitecture generations
Orellana et al. Human system integration ontology: enhancing model based systems engineering to evaluate human-system performance
CN104252408A (zh) 提供测试用例的方法和装置
CN103678110A (zh) 提供修改相关信息的方法和装置
CN109002474A (zh) 一种数据迁移方法及装置
CN108197026A (zh) 风力发电机组仿真软件测试方法、装置、设备及存储介质
US10585771B1 (en) Pluggable hardware simulation test execution system
CN105446725A (zh) 用于模型驱动开发的方法和系统
CN103955429B (zh) 确定回归测试范围的方法及装置
CN106469143A (zh) 文档结构的估计
CN106776275B (zh) 一种基于分组复用的测试流程自动生成方法
CN108959391A (zh) 展现数据库集群架构图的设备、系统、方法、存储介质
JP5718166B2 (ja) 設計検証方法及びプログラム
CN107885527A (zh) 一种测试系统的代码修改方法及装置
CN110362471A (zh) 测试用例处理方法、系统、终端及存储介质
US20220100640A1 (en) Generating test input values for functional components based on test coverage analysis
Průcha Aspect optimalization of robotic process automation
CN109117176A (zh) 一种基于主机的版本自动部署方法及系统
CN103970652B (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
GR01 Patent grant
GR01 Patent grant