CN1320455C - 供软件之用的自动版本管理系统和方法 - Google Patents

供软件之用的自动版本管理系统和方法 Download PDF

Info

Publication number
CN1320455C
CN1320455C CNB2005100061260A CN200510006126A CN1320455C CN 1320455 C CN1320455 C CN 1320455C CN B2005100061260 A CNB2005100061260 A CN B2005100061260A CN 200510006126 A CN200510006126 A CN 200510006126A CN 1320455 C CN1320455 C CN 1320455C
Authority
CN
China
Prior art keywords
file
software
verification
version
folder
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.)
Expired - Fee Related
Application number
CNB2005100061260A
Other languages
English (en)
Other versions
CN1648857A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1648857A publication Critical patent/CN1648857A/zh
Application granted granted Critical
Publication of CN1320455C publication Critical patent/CN1320455C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

一种供一软件用的自动版本管理系统,包括:搜索模块,用于搜索该软件中的至少一个文件夹和文件结构,并且对该文件夹和文件进行索引;版本管理数据库(DB),用于存储包括有软件版本、文件特性、校验和、以及版本历史的至少一个的软件版本信息;以及校验和计算部分,用于计算文件夹和文件的校验和。所述系统进一步包括校验和比较部分,用于对存储在版本管理DB中的旧版本软件的校验和与升级软件的校验和进行比较,然后提取已变化文件夹和文件之一。所述系统还进一步包括DB产生部分,用于将与所提取文件夹或文件有关的信息存储在版本管理DB中,以便随后可自动产生软件版本历史的DB。

Description

供软件之用的自动版本管理系统和方法
技术领域
本发明涉及一种供软件之用的自动版本管理系统和方法,更具体地,本发明涉及一种能更方便地管理软件系统的版本历史的自动版本管理系统和方法。
背景技术
近年来信息技术的快速发展和进步使信息处理设备的性能发生惊人的变化。根据摩尔定律(所述定律陈述了集成电路或者微芯片的复杂性每隔18个月加倍),以计算机行业当前的技术发展和进步速率,计算机的数据处理性能和存储容量每隔18个月而加倍。在计算机性能已有所进步并且半导体芯片上的部件已多样化的同时,其成本降低了。因此,用户势必连续的对计算机硬件进行升级(或者使版本升高)以保持计算机最好且最稳定的性能。
此外还观测到计算机软件方面的技术发展和进步。例如,将新的功能添加到软件上,或者进行版本升级以删除在旧版本中所观测到的隐错。通常,软件制造商低价提供升级软件。用户通常验证他们是旧版本的授权用户,或者用户具有安装在其计算机上的旧软件。
根据相同软件的产品发展处理阶段,版本通常被顺次地编号,并且有时用于对一软件进行更有效的管理。通常,存在α版本和β版本以及完全授权版本,所述α版本和β版本是其具有易受到变化影响的实验特性的预发布版本。完全授权版本的版本号包括两个部分,即位于小数点之前的主要版本号以及位于小数点之后的次要版本号。如果软件的功能和内容已极大改变,那么改变主要版本号(诸如2.0或3.0)。如果只是涉及调试或排除故障的很小改变,那么改变次要版本号(诸如1.1或1.2)。然而,版本号不必总是两位数字号码。例如,根据上述规则系统,旧的MS Windows被编号。但是在MS-Window 3.1之后,制造年份用作新产品版本名称,即Windows 95、Windows 98、以及Windows 2000。后来,微软公司再次将版本命名方案改变为WindowME、Windows XP等等。
因为必须对软件连续更新以满足诸如硬件技术快速进步以及顾客各种各样的请求这样的外部或者内部需要,因此软件制造商开始考虑对所升级的内容进行更加系统的管理以及对每个软件的历史进行升级的方法。
过去,软件制造商(或程序员)通过与旧版本进行比较而亲自对软件的版本历史(即版本变化)进行管理,并且追踪文件夹及文件内容的变化。虽然存在其可对旧版本的二进制文件与后来(或最新)版本的二进制文件进行比较并且找到已变化文件的工具,但是软件制造商(或程序员)仍必须人工的将与已改变文件有关的信息、其功能已升级的升级理由等等集合在一起。该工作对于多数人来说是很乏味且繁重的,因为软件的大小是数十兆字节(MB)及至若干千兆字节(GB),并且软件通常具有至少一个具有大量子文件或较低级文件的文件夹。
图1给出了支持MFP的MFP驱动器中的部分已打开的文件夹目录。参考图1,该MFP驱动器包括多个文件夹,并且它们当中的驱动器文件夹具有被标记有CF-555P和SF-555P的低层文件夹。通过连续地打开该文件夹,任何人可了解驱动器文件夹最终包括5个层的子文件夹。当用户例如单击标记有Win2K的最低文件夹时,如视窗右侧所示他或她可看得见该文件夹之下的数十个文件。换句话说,一个软件可具有数十个或数百个多层的子文件夹以及处于该文件夹之下的无数文件。
因此,需要花费很多时间、努力、以及成本来人工地逐个比较如此多的文件及文件夹以对升级软件的版本历史进行管理。此外,在人工工作过程中,虽然不是故意的,但是软件制造商或程序员总是会出错,并且改变错误文件和/或文件夹。当此发生时,软件的产品质量不可避免的降低了。
利用用于对二进制文件进行比较的一文件比较工具具有这样的优点:即制造商提供比较工具以解决人工执行任务所需时间和努力。然而,该工具对每个文件夹之下的每个最低层文件与旧版本文件进行比较以便发现二进制文件的变化。因此,该方法也要花费很多时间和成本来对无数文件彼此进行比较。另一问题就是该工具根据包括有文件特性、大小、更新日期、以及文件版本的有限信息来对二进制文件进行比较。例如,当文件大小和更新日期相同时,该工具通常不能检测到二进制文件中的变化,尽管二进制文件实际上已变化了。因此,基于有限信息的二进制文件比较不是用于对版本历史进行更精确管理的有效方法。
因此,必须开发出可方便的对软件系统的版本历史进行管理的自动版本管理系统和方法。按照这种方式,在对软件的版本历史进行管理的过程中可节省大量时间、努力、以及成本。
发明内容
因此,本发明的一方面就是提供一种供软件之用的自动版本管理系统和方法,该系统和方法可对软件版本历史进行更有效的管理,并且由此,可节省大量时间和成本。该系统分别计算升级软件的文件夹、子文件夹、以及文件的校验和;并且对校验和计算结果与旧版本软件中的文件夹、子文件夹、以及文件的校验和进行比较,以便识别和选择已变化的文件夹、子文件夹、以及文件;将与已变化的文件夹、子文件夹、以及文件有关的信息存储在版本管理数据库(DB)中。然后系统可以产生软件版本的历史。
为了实现上述方面和优点,提供了一种供加载到一终端中的软件之用的、用于对软件的版本历史进行管理的自动版本管理系统。该系统包括:一搜索模块,该搜索模块用于搜索该软件中的至少一个文件夹和文件结构,并且对该文件夹和文件进行索引;一版本管理DB,该版本管理DB用于存储包括有软件版本、文件特性、校验和、以及版本历史的至少一个的软件版本信息;一校验和计算部分,该校验和计算部分用于分别计算软件中的文件夹和文件的校验和;一校验和比较部分,该校验和比较部分用于对存储在版本管理DB中的旧版本软件的校验和与升级软件的校验和进行比较,并且识别和提取已变化文件夹和文件之一。该系统进一步包括一DB产生部分,该DB产生部分用于将校验和比较部分所提供的与所提取文件夹或文件有关的信息存储在版本管理DB中。
最好是,该软件包括加载在终端上的O/S、应用程序、以及设备驱动程序中的任何一个。
在示例性实施例中,校验和计算部分分别计算升级软件中的文件夹、子文件夹、以及文件的校验和,并且校验和比较部分顺序的对文件夹、子文件夹、以及文件的校验和进行比较以识别和提取已变化的文件夹、子文件夹、以及文件。
在示例性实施例中,DB产生部分根据该软件的版本系统来对下述信息进行分类,所述信息包括有校验和比较部分所提取的已变化文件夹、子文件夹、以及文件的版本历史,并且将该信息存储在版本管理DB中。
本发明的另一方面提供了一种供加载到一终端中的软件之用的、用于对升级软件的版本历史进行有效管理的自动版本管理方法。该方法包括步骤:搜索该软件中的至少一个文件夹和文件结构,并且对该文件夹和文件进行索引,分别计算升级软件(或版本升高软件)中的每个文件夹和文件的校验和,对旧版本软件的校验和与已升级软件的校验和进行比较,识别和提取已变化文件夹和文件之一,以及产生包含与软件的版本历史有关的、包括有所提取文件夹或文件的版本、文件特性、校验和、版本历史的信息的DB。
最好是,在计算校验和的步骤中,分别计算升级软件中的文件夹、子文件夹、以及文件的校验和,并且在用于提取已变化文件夹或文件的步骤中,顺序地对文件夹、子文件夹、以及文件的校验和进行比较以依次识别和提取已变化的文件夹、子文件夹、以及文件。
最好是,在用于产生DB的步骤中,根据软件的版本系统来对下述信息进行分类,所述信息包括有校验和比较部分所提取的已变化文件夹、子文件夹、以及文件的版本历史,并且将该信息存储在DB中。
附图说明
通过参考附图描述本发明某些实施例,本发明的上述方面和特征将变得更明显,在附图中:
图1给出了现有软件的文件夹和文件结构的一视窗;
图2是根据本发明一实施例的供一软件之用的自动版本管理系统的方框图;
图3是说明根据本发明的实施例通过图2的自动版本管理系统所构造的版本管理DB的结构的方框图;
图4给出了显示软件文件夹的特性的一视窗;
图5给出了显示软件文件的特性的一视窗;以及
图6是描述由根据本发明一实施例的自动版本管理系统具体体现的自动版本管理方法的流程图。
在附图中,相同的附图标记将指示相同的部分、部件和结构。
具体实施方式
下面参考附图对本发明的示例性实施例进行描述。
在本发明中,假定一软件包括诸如O/S、应用程序、设备驱动程序等等这样的加载在一计算机中的各种程序。该O/S程序包括CP/M和MS-DOS、被开发为PC操作系统的Windows、被开发为供超小型计算机和工作站之用的UNIX系统,以及近来所开发的VMS或OS/2。应用程序包括文字处理器(诸如MS Word和Word Perfect)、例如供帐目计算之用的excel、用于创建画面的Photoshop、用于写入HTML文档或者察看可用HTML源代码的记事本、以及Internet Explorer或Navigator网页浏览器。设备驱动程序是连接设备和计算机的软件程序。该设备驱动程序的例子有:打印机驱动程序、声卡驱动程序、图形卡驱动程序、监控器驱动程序、CD-ROM驱动程序、以及USB驱动程序。当设备与一计算机相连时,最好安装该设备驱动程序。近年来,兼容设备的驱动程序可以由操作系统直接提供。
图2是用于构造一软件版本历史的自动版本管理系统的示意性方框图。根据本发明一实施例的自动版本管理系统包括:一搜索模块10、一版本管理DB 30、一校验和计算部分15、一校验和比较部分20、一DB产生部分25、以及一格式器23。
当通过CD、盘片、或者网络而提供了一升级软件(或者版本升高的软件)时,搜索模块10读取所输入的升级软件以确定该软件中的文件夹和文件结构,并且对该文件和文件夹进行索引。也就是说,搜索模块10根据图1所示的文件的类型、层次顺序、主题(subject)、程序员和日期来对已升级软件中的文件夹、多级子文件夹、以及文件的目录进行索引。该索引便于校验和比较部分20所执行的对文件夹、子文件夹和文件的校验和进行比较,这将在随后进行描述。因此,校验和比较部分20可更准确且更方便地分别提取已升级软件和旧版本软件中的将要比较的对象。
校验和计算部分15对该软件的文件夹、子文件夹、以及文件的位数进行计数,并且分别计算文件夹、子文件夹、以及文件的校验和。校验和对于确定数字文件已经被准确地接收是有用的。通常,校验和用于接收机以检查是否已准确地接收到一文件的数据,并且因此将该校验和与一信息包一起经由数据传送部分(未示出)进行传送。在接收方计算机中,对包含在所传送信息包之中的校验和与接收方计算机中最新计算的校验和进行比较。如果两个校验和相同,那么接收机确定已准确接收到数据。校验和计算部分15所计算的校验和值用于识别和提取在升级或者版本升高的软件与旧版本软件之间已变化的文件夹或文件。即,校验和计算部分15分别计算升级软件中的文件夹、子文件夹、以及文件的校验和。
校验和比较部分20分别对存储在版本管理DB 30中的旧版本软件中的文件夹、子文件夹、以及文件的校验和与升级软件中的文件夹、子文件夹、以及文件的校验和进行比较,以识别并且随后提取已变化的文件夹、子文件夹、以及文件。按照首先文件夹、然后子文件夹、随后文件的次序来执行对升级软件与旧版本软件的校验和的比较。也就是说,校验和比较部分20首先对旧版本软件中的最高层文件夹的校验和与升级软件中的最高层文件夹的校验和进行比较。此时,根据软件的结构或大小,最高层文件夹可以是一个或多个文件夹。如果校验和比较部分20发现比较的软件中最高层文件夹具有不同校验和,那么可以断定升级软件中的相应文件夹已变化或已修改了。
因此,当在升级软件中发现了已变化的文件夹时,校验和比较部分20分别取得处于升级版本和旧版本软件的已变化文件夹之下的子文件夹的校验和。如图1所示,在单个软件中存在多层子文件夹。因此,校验和比较部分20顺序地对升级软件与旧版本软件中的子文件夹的校验和进行比较。例如,校验和比较部分20对第一级的升级软件与旧版本软件的每个子文件夹(诸如图1中的CF-555P和SF-555P)的校验和进行比较。如果升级软件与旧版本软件中的SF-555P文件夹的校验和彼此不同,那么校验和比较部分20选择SF-555P文件夹。接下来,校验和比较部分20取得SF-555P文件夹的子文件夹(也就是汉语文件夹、英语文件夹、法语文件夹、以及韩语文件夹)的校验和。通过反复对处于已改变文件夹之下的子文件夹执行该校验和比较过程,校验和比较部分20最终识别和提取至少一个已变化文件。
因此,校验和比较部分20根据文件夹、子文件夹、以及文件的层次而逐步地对升级软件与旧版本软件的校验和进行比较。此时,校验和比较部分20不对具有相同校验和的较低层的文件夹、子文件夹、以及文件进行比较。换句话说,在对升级软件与旧版本软件中的文件夹、子文件夹、以及文件进行比较之后,校验和比较部分20仅选择已变化文件夹的子文件夹以及已变化子文件夹的文件作为校验和比较过程的对象。与对每个文件的二进制文件进行比较的相关技术方法不同,在本发明的示例实施例中,受到校验和比较的对象数目极大的减少了。例如,如果在旧的和新的软件版本中的最高层文件夹的校验和相同,则可以避免最高层文件夹内所有子文件夹和文件的进一步版本校验。
版本管理DB 30存储早期的软件发布版本(诸如1.0)以及已开发的用于改进性能或者进行调试的每个版本的软件。此外,版本管理DB 30存储每个版本的历史。
如图3所示,版本管理DB 30将软件的每个版本的文件夹、子文件夹、以及文件设置为记录。由文件夹和子文件夹形成的记录中的每个字段包括文件夹索引ID、文件夹名、文件夹特性、记录日期、校验和、以及与相应文件夹相连的子文件夹索引。如图4中所说明的,文件夹特性包括文件夹类型、文件夹位置、文件夹大小、表示处于主体文件夹之下的子文件夹和文件数目的文件夹内容、创建日期、以及与文件夹有关的表示该文件夹是只读或隐藏的属性信息。
在文件记录的每个字段中,最低层包括文件索引ID、文件名、文件特性、记录日期、文件类型、校验和、版本信息结构、以及所链接的上级文件夹ID。如图5中所说明的,文件特性包括基于文件扩展名——诸如*.exe、*com、*.dll、*.dat、*.bmp、以及*inf——的文件格式、用于驱动文件的passthru、文件大小、所分配的文件大小、创建日期、最后修改日期、最后存取日期、以及与表示该文件是否是只读或隐藏有关的信息。形成了文件记录的版本信息结构进一步表示能够在视窗上执行的文件的版本以及其他信息。在本发明的一实施例中,版本信息结构可用作如下的一基准,该基准用于判别是否没有观察到版本命名模式、版本是否没有变化、或者文件修改是否是所不希望的。版本信息结构尤其比较存储在版本管理DB 30中的版本信息、校验和、时间、以及特性是有利的。
如上所述,版本管理DB 30还存储软件版本的历史,尤其是,存储由通过对升级软件与旧版本软件进行比较所提取的与已变化文件夹、子文件夹、以及文件有关的信息。更具体地说,版本管理DB 30存储由校验和比较部分20所识别和提取的升级软件中的已变化文件夹、子文件夹、以及文件有关的信息,其中与已变化的文件夹、子文件夹、以及文件有关的信息包括升级软件中的特性、校验和、大小、程序员、属性、以及格式。此外,如果已经确定软件已升级以用于调试,那么版本管理DB 30可进一步存储表明在哪一个文件夹或文件中产生了隐错并且怎样进行调试的信息。程序员可以亲自输入这种信息。
DB产生部分25根据软件版本命名模式来确定存储校验和比较部分20所提取与已变化文件夹、子文件夹、以及文件有关的信息的顺序。通常,根据版本命名模式的软件的版本号包括两个部分,即位于小数点之前的主要版本号以及位于小数点之后的次要版本号。如果软件的功能和内容已极大变化了,那么改变诸如2.0或3.0这样的主要版本号。另一方面,如果其只是涉及调试或排除故障的很小改变,那么改变诸如1.1或1.2这样的次要版本号。因此,DB产生部分25按照首先放置最小版本号这样的号码顺序对软件版本进行排列,并且只要在对其与旧版本的每个进行比较之后文件夹、子文件夹、以及文件中存在变化,那么将与已变化的文件夹、子文件夹、以及文件有关的信息存储在每个升级版本中。然后DB产生部分25检查版本信息结构。如果确定没有观察到版本命名模式、版本没有变化、或者文件修改是所不希望的,那么DB产生部分25将该信息提供给格式器23以通过诸如监控器或打印机这样的输出设备而向用户显示一错误消息。
格式器23是这样的一模块,该模块将校验和比较部分20的比较结果显示在监控器上,或者例如应DB产生部分25的请求而通过打印机来打印该比较结果。格式器23按照变化报告的形式来对校验和比较部分20所提供的比较结果进行格式化,并且将该报告输出到监控器或打印机。该变化报告根据对升级软件与旧版本软件的比较而包括有与已变化的文件夹、子文件夹、以及文件有关的信息。
参考图6,下面对用于自动产生一软件的版本历史信息的方法进行详细描述,该方法具体体现于根据本发明一实施例的上述自动版本管理系统。
在步骤(S710),当通过CD、盘片、或者网络而将升级软件(或者版本升高软件)提供给自动版本管理系统时,在步骤(S720),搜索模块10读取升级软件以确定该软件中的文件夹及文件结构,并且对其中的文件和文件夹进行索引。在步骤(S730),当按顺序对文件夹及文件结构进行索引时,校验和计算部分15分别计算所索引的软件的文件夹、子文件夹、以及文件的校验和,并且将该校验和计算结果提供给校验和比较部分20。
校验和比较部分20从版本管理DB 30中取得与旧版本软件中的每个文件夹、子文件夹、以及文件的校验和有关的信息,并且从校验和计算部分15接收升级软件中的每个文件夹、子文件夹、以及文件的校验和计算结果。此后在步骤(S740),校验和比较部分20对旧版本软件中的最高层文件夹的校验和与升级软件中的最高层文件夹的校验和进行比较。在步骤(S750)如果存在具有不同校验和的最高层的文件夹,那么在步骤(S760)校验和比较部分20从升级软件中提取具有不同校验和的最高层文件夹,并且将与所提取的最高层文件夹有关的信息提供给DB产生部分25。如果在步骤(S770)存在所提取文件夹之下的诸如子文件夹的剩余区域,则所述方法返回步骤(S740)。
在对具有不同校验和的最高层文件夹进行提取之后,在步骤(S740)校验和比较部分20分别对升级软件与旧版本软件中的处于所提取最高层文件夹之下的子文件夹的校验和进行比较。比较的结果是,在步骤(S750),如果存在具有与旧软件不同校验和的一子文件夹(或多个子文件夹),那么在步骤(S760)校验和比较部分20将与相应子文件夹有关的信息传送到DB产生部分25。
校验和比较部分20进一步确定处于所述子文件夹之下的子文件夹或文件的校验和是否与旧版本软件中的所述校验和不同。在步骤(S750),如果确定在升级软件中存在其具有与旧版本软件中不同校验和的子文件夹或文件,那么在步骤(S760)校验和比较部分20再次提取与相应子文件夹或文件有关的信息,并且将该信息提供给DB产生部分25。在步骤(S770),校验和比较部分20确定用于进行校验和比较的一字段是否是最后字段或文件,并且如果是这样的话,那么结束校验和比较处理。
当顺序地对升级软件与旧版本软件中的最高层文件夹至最低层文件进行比较时,校验和比较部分20产生这样的信息,该信息表示哪一个文件夹或子文件夹受到校验和比较并且所比较的文件夹或子文件夹的是否不同于旧版本软件中的所述校验和。实际上,该信息用于下一步中以选择用于校验和比较的子文件夹或文件。如果必要时,将该信息存储在版本管理DB 30中。
因此,校验和比较部分20在顺序地对仅需要进行比较的最高层的文件夹至最低层文件的校验和进行比较。即,校验和比较部分20仅对具有与旧版本不同校验和的文件夹的校验和或者低级别层的子文件夹进行比较。按照这种方式,除了可能被升级的部分文件夹、子文件夹、以及文件受到校验和比较以外,该软件中的每个文件不受到校验和比较。
将所提取的与已变化的文件夹、子文件夹、以及文件有关的信息以实时模式传送到DB产生部分25。DB产生部分25根据相应软件的版本系统而将与所升级的或所变化的文件夹、子文件夹、以及文件有关的信息存储在版本管理DB 30中,并且产生软件的最终版本历史。
如上所述,供一软件之用的自动版本管理系统读取升级软件中的文件夹及文件结构,对该文件夹以及文件进行索引,并且计算所需的每个文件夹、子文件夹、以及文件的校验和。此后,该系统对升级软件中的文件夹、子文件夹、以及文件的校验和与旧版本软件中的文件夹、子文件夹、以及文件的校验和进行比较,以便选择已变化的文件夹、子文件夹、以及文件。此时,将具有与旧版本软件不同校验和的文件夹、子文件夹、以及文件视为已修改的或已变化的。然后,根据版本系统而将与已变化的文件夹、子文件夹、以及文件有关的信息存储在版本管理DB 30中,并且按照这种方式产生软件版本的历史。
因此,供一软件之用的自动版本管理系统可有利地用于对升级软件中的已变化文件夹、子文件夹、以及文件进行方便且快速地检查,并且可自动地构造软件版本历史的数据库。还可在数据库中追溯版本历史。因此,因为节省了在传统版本管理系统中所耗费的大量时间、努力、以及成本(诸如手动执行的比较或者使用文件比较工具),因此生产率提高了。此外,与程序员或者他人会出错的传统版本管理系统不同,本发明的系统很少出错,因此可防止产品质量的降低。
上述实施例和优点仅是示例性的并不能看作是对本发明进行限制。本教导很容易施加到其他类型的设备。此外,对本发明实施例的描述是说明性的,而不是对权利要求范围进行限制,并且对于本领域普通技术人员来说很容易对其进行多种替换、修改、以及变化。

Claims (10)

1、一种用于对软件的版本历史进行管理的自动版本管理系统,该系统包括:
一搜索模块,用于搜索该软件中的至少一个文件夹和文件结构,并且对该文件夹和文件结构进行索引;
一版本管理数据库,用于存储包括有软件版本、文件特性、校验和、以及版本历史的至少一个的软件版本信息;
一校验和计算部分,用于计算软件中的至少一个文件夹或至少一个文件的校验和;
一校验和比较部分,用于对存储在版本管理数据库中的旧软件版本的校验和与升级软件的校验和进行比较以识别变化的文件夹或变化的文件,并且用于提取已变化文件夹和文件的至少一个;以及
一数据库产生部分,用于将与所提取文件夹或所提取文件有关的信息存储在版本管理数据库中。
2、根据权利要求1的系统,其中该软件包括操作系统、应用程序、以及设备驱动程序中的至少一个。
3、根据权利要求1的系统,其中配置校验和计算部分以计算升级软件中的多个文件夹、子文件夹、以及文件的至少一个的校验和;并且
其中进一步配置校验和比较部分以顺序地对文件夹、子文件夹、以及文件的校验和进行比较,以识别变化的文件夹或者文件并提取已变化的文件夹、子文件夹、以及文件的至少一个。
4、根据权利要求1的系统,其中配置数据库产生部分以根据软件的版本系统来对包括所提取的已变化文件夹、子文件夹、以及文件的版本历史的信息进行分类,并且将该信息存储在版本管理数据库中。
5、一种用于对升级软件的版本历史进行管理的自动版本管理方法,该方法包括步骤:
搜索软件中的至少一个文件夹和文件结构,并且对该文件夹和文件结构进行索引;
计算升级软件中的至少一个文件夹或至少一个文件的校验和;
对旧软件版本的校验和与已升级软件的校验和进行比较以识别变化的文件夹或文件,并且提取已变化文件夹和文件之一;以及
产生包含与软件的版本历史有关的信息的数据库。
6、根据权利要求5的方法,其中有关版本历史的信息的数据库包括:提取的文件夹的版本、提取的文件的版本、文件特性、校验和、以及版本历史的至少一个。
7、根据权利要求5的方法,其中用于计算校验和的步骤进一步包括步骤:
计算已升级软件中的多个文件夹、子文件夹、以及文件的至少一个的校验和。
8、根据权利要求7的方法,其中用于提取已变化文件夹或文件的步骤进一步包括步骤:
顺序地对文件夹、子文件夹、以及文件的校验和进行比较以提取已变化的文件夹、子文件夹、以及文件的至少一个。
9、根据权利要求8的方法,其中用于产生数据库的步骤进一步包括步骤:
根据软件的版本系统来对包括有所提取的已变化文件夹、子文件夹、以及文件的版本历史的信息进行分类。
10、根据权利要求9的方法,其中用于产生数据库的步骤进一步包括步骤:将所述信息存储在数据库中。
CNB2005100061260A 2004-01-28 2005-01-28 供软件之用的自动版本管理系统和方法 Expired - Fee Related CN1320455C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR5288/2004 2004-01-28
KR1020040005288A KR100582896B1 (ko) 2004-01-28 2004-01-28 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
KR5288/04 2004-01-28

Publications (2)

Publication Number Publication Date
CN1648857A CN1648857A (zh) 2005-08-03
CN1320455C true CN1320455C (zh) 2007-06-06

Family

ID=34793344

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100061260A Expired - Fee Related CN1320455C (zh) 2004-01-28 2005-01-28 供软件之用的自动版本管理系统和方法

Country Status (3)

Country Link
US (1) US20050165760A1 (zh)
KR (1) KR100582896B1 (zh)
CN (1) CN1320455C (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454302C (zh) * 2005-10-24 2009-01-21 中兴通讯股份有限公司 一种文件管理系统及管理方法
TWI287385B (en) * 2005-11-03 2007-09-21 Asustek Comp Inc Method for synchronizing two contact data of two storage media in a communications system
US7913250B2 (en) * 2005-11-16 2011-03-22 Microsoft Corporation Automated state migration while deploying an operating system
US7716649B2 (en) * 2005-12-15 2010-05-11 International Business Machines Corporation Activity-based software traceability management method and apparatus
CN101110788B (zh) * 2006-07-20 2010-09-08 阿里巴巴集团控股有限公司 升级客户端软件的方法及系统
DE102008016302B4 (de) * 2008-03-28 2013-06-13 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum Datenaustausch zwischen Teilnehmern eines Systems entsprechend einer kompatiblen Version und System
JP5190796B2 (ja) * 2008-11-11 2013-04-24 横河電機株式会社 フィールド機器およびこれを用いたフィールド機器ソフトウェア更新システム
US9223793B1 (en) * 2009-06-03 2015-12-29 American Megatrends, Inc. De-duplication of files for continuous data protection with remote storage
WO2011025416A1 (en) * 2009-08-28 2011-03-03 Volvo Lastvagnar Ab Tampering detection method
JP5397162B2 (ja) * 2009-10-29 2014-01-22 セイコーエプソン株式会社 プリンタードライバー、及び、posプリンターの制御方法
US8151021B1 (en) * 2010-03-31 2012-04-03 Emc Corporation Upgrading software on a cluster of computerized devices
JP5644202B2 (ja) * 2010-06-17 2014-12-24 富士通株式会社 制御装置、制御方法およびストレージシステム
CN102012978B (zh) * 2010-06-29 2012-10-03 飞天诚信科技股份有限公司 Iso文件安全升级的方法及系统
US20120130725A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Automatic upgrade scheduling
US8868502B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Organizing versioning according to permissions
US20130002796A1 (en) * 2011-06-29 2013-01-03 William Everett Hiller System and Method For Incorporating Content In A Videoconferencing Environment Without A Personal Computer
CN102750296B (zh) * 2011-10-19 2018-05-04 新奥特(北京)视频技术有限公司 一种基于可扩展标记语言的高效存盘方法及系统
US9697016B2 (en) * 2011-11-15 2017-07-04 Microsoft Technology Licensing, Llc Search augmented menu and configuration for computer applications
US11487707B2 (en) 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
CN102902555B (zh) * 2012-09-06 2016-09-21 华为终端有限公司 一种升级方法、装置及升级设备
US8938424B2 (en) * 2012-10-31 2015-01-20 Ca, Inc. System and method of assessing the state of a database product for installation consistency
US8914356B2 (en) 2012-11-01 2014-12-16 International Business Machines Corporation Optimized queries for file path indexing in a content repository
US9323761B2 (en) 2012-12-07 2016-04-26 International Business Machines Corporation Optimized query ordering for file path indexing in a content repository
US9053085B2 (en) * 2012-12-10 2015-06-09 International Business Machines Corporation Electronic document source ingestion for natural language processing systems
US9298449B2 (en) * 2013-03-14 2016-03-29 Red Hat Israel, Ltd. Composite program history
CN104424188B (zh) * 2013-08-19 2018-07-20 上海携程商务有限公司 对获取的网页数据进行更新的系统及方法
CN104679782A (zh) * 2013-11-30 2015-06-03 鸿富锦精密工业(深圳)有限公司 文件版本控制系统及方法
CN103810011B (zh) * 2014-02-25 2017-09-12 广州视源电子科技股份有限公司 通过文件服务器实现ota升级的方法
US10140110B2 (en) * 2014-04-02 2018-11-27 Ford Global Technologies, Llc Multiple chunk software updates
CN104111879B (zh) * 2014-07-03 2018-04-03 北京思特奇信息技术股份有限公司 一种程序文件自动上线方法及系统
JP2016186695A (ja) * 2015-03-27 2016-10-27 株式会社日立ソリューションズ ファイル管理装置
US10289532B2 (en) * 2015-04-08 2019-05-14 Opshub, Inc. Method and system for providing delta code coverage information
CN106095462A (zh) * 2016-06-22 2016-11-09 南京南瑞继保电气有限公司 一种嵌入式分布式系统程序配置版本管理方法
CN106202157A (zh) * 2016-06-23 2016-12-07 深圳市华域无线技术股份有限公司 基于时间流的视频快速检索方法
CN106250726A (zh) * 2016-08-10 2016-12-21 深圳金澜汉源科技有限公司 软件版本状态管控方法
CN108196910B (zh) * 2018-01-02 2021-03-30 中国工商银行股份有限公司 一种软件版本的切换方法、设备以及系统
EP3785190A4 (en) * 2018-04-24 2022-01-19 Edifecs, Inc. QUICKLY RECONCILIATE ERRORS AND BOTTLENECKS IN DATA-DRIVEN WORKFLOWS
CN110069273A (zh) * 2019-04-30 2019-07-30 四川长虹教育科技有限公司 软件升级包的批量打包方法及装置
CN111949287A (zh) * 2019-05-16 2020-11-17 北京京东尚科信息技术有限公司 软件升级方法和装置
KR20210016944A (ko) * 2019-08-06 2021-02-17 삼성전자주식회사 미디어 스캔을 수행하는 전자 장치 및 그 미디어 스캔 방법
US11645245B2 (en) * 2019-09-26 2023-05-09 International Business Machines Corporation Container software discovery and cataloging
KR102176320B1 (ko) * 2020-03-02 2020-11-10 주식회사 이글루시큐리티 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339901B1 (en) * 1988-04-26 1996-02-28 Tandem Computers Incorporated Improved version management tool
EP1195675A1 (en) * 2000-07-14 2002-04-10 Sun Microsystems, Inc. Comment driven processing
JP2002323964A (ja) * 2001-04-26 2002-11-08 Canon Inc プリンタドライバ配信システム、プリンタドライバ配信方法及びプリンタドライバ配信サーバ装置
US20030182320A1 (en) * 2002-03-22 2003-09-25 Mu-Hsuan Lai Method for version recording and tracking

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5884298A (en) * 1996-03-29 1999-03-16 Cygnet Storage Solutions, Inc. Method for accessing and updating a library of optical discs
CA2276840A1 (en) * 1999-07-05 2001-01-05 Telefonaktiebolaget Lm Ericsson Method and apparatus for synchronizing a database in portable communication devices
US6542884B1 (en) * 2000-03-14 2003-04-01 Microsoft Corporation Methods and systems for updating an inheritance tree with minimal increase in memory usage
US6581074B1 (en) * 2000-10-06 2003-06-17 Microsoft Corporation Directory synchronization
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
DE60211524T2 (de) * 2001-08-04 2006-12-14 Kontiki, Inc., Sunnyvale Verfahren und vorrichtung zur verteilten lieferung von inhalten innerhalb eines computernetzwerkes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339901B1 (en) * 1988-04-26 1996-02-28 Tandem Computers Incorporated Improved version management tool
EP1195675A1 (en) * 2000-07-14 2002-04-10 Sun Microsystems, Inc. Comment driven processing
JP2002323964A (ja) * 2001-04-26 2002-11-08 Canon Inc プリンタドライバ配信システム、プリンタドライバ配信方法及びプリンタドライバ配信サーバ装置
US20030182320A1 (en) * 2002-03-22 2003-09-25 Mu-Hsuan Lai Method for version recording and tracking

Also Published As

Publication number Publication date
KR20050077422A (ko) 2005-08-02
CN1648857A (zh) 2005-08-03
KR100582896B1 (ko) 2006-05-24
US20050165760A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
CN1320455C (zh) 供软件之用的自动版本管理系统和方法
US9971590B2 (en) Package design and generation
US8286127B2 (en) Mirrored file system
US8484638B2 (en) Infrastructure for the automation of the assembly of schema maintenance scripts
US7984088B2 (en) Method for supporting multiple filesystem implementations
US8365164B1 (en) Portable software applications
US6182245B1 (en) Software test case client/server system and method
US9213707B2 (en) Ordered access of interrelated data files
US20070245332A1 (en) Method and apparatus to perform an application software migration
CN109358841B (zh) 网页应用开发编译方法、装置及存储设备、计算机设备
US20070226273A1 (en) Updating a local version of a file based on a rule
CN1940927A (zh) 捕获和传送文件系统的密集诊断数据的方法和装置
US10169352B2 (en) System for performing parallel forensic analysis of electronic data and method therefor
US20050283458A1 (en) Automatic detection of frequently used query patterns in a query workload
US8667035B2 (en) Method of converting a filesystem while the filesystem remains in an active state
US20100058277A1 (en) Method and system for organizing data generated by electronic design automation tools
CN1976320A (zh) 数据访问控制方法及系统
US20040153748A1 (en) Method for configuring a data processing system for fault tolerance
CN1975728A (zh) 使用最少的日志条目将数据库更改记入日志的设备和方法
CN1848083A (zh) 一般软件要求分析器
CN115438026A (zh) 一种数据库扫描方法、装置、设备、存储介质及产品
US7996366B1 (en) Method and system for identifying stale directories
US7669200B2 (en) Resizing an install image
US8615736B2 (en) Module facility for JAVASCRIPT language
CN117724946A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070606

Termination date: 20150128

EXPY Termination of patent right or utility model