本发明专利技术提供了一种用于单版本软件的版本处理方法,包括:将各个版本的单版本软件所需运行的文件分别保存到不同的目录;拦截单版本软件的文件访问请求;将文件访问请求重定向到期望版本所对应的目录。本发明专利技术提供了一种用于单版本软件的版本处理装置,包括:保存模块,用于将各个版本的单版本软件所需运行的文件分别保存到不同的目录;拦截模块,用于拦截单版本软件的文件访问请求;重定向模块,用于将文件访问请求重定向到期望版本所对应的目录。本发明专利技术提高了信息系统的兼容性。
【技术实现步骤摘要】
本专利技术涉及信息
,具体而言,涉及ー种用于单版本软件的版本处理方法和装置。
技术介绍
Windows操作系统上的很多软件采用了 Windows操作系统的COM技术,比如Windows操作系统上的Windows Media Format Runtime。根据COM技术,应用程序在调用Windows Media Format Runtime时,首先查找Windows操作系统的注册■表,在注册■表中找到Windows Media Format Runtime的安装目录,然后在该安装目录中启动Windows MediaFormat Runtime。专利技术人发现,采用了 COM技术的软件在安装吋,对软件本身的文件版本都做了比 较严格的控制和校验,往往版本升级时会覆盖旧版本的软件,而且在注册表中仅记录新版本的安装目录,导致这类软件在Windows操作系统上只能够安装ー个版本,不可以多个版本共存。在本专利技术中,称这类软件为单版本软件。然而,在特定的情况下,某些应用程序需要同时使用两个版本以上的单版本软件。按照常规的做法,这样的需求是无法实现的。
技术实现思路
本专利技术的目的是针对单版本软件的局限性,提出能够在ー个操作系统上同时使用多个版本的单版本软件的版本处理方法和装置。在本专利技术的实施例中,提供了ー种用于单版本软件的版本处理方法,包括将各个版本的单版本软件所需运行的文件分别保存到不同的目录;拦截单版本软件的文件访问请求;将文件访问请求重定向到期望版本所对应的目录。在本专利技术的实施例中,提供了ー种用于单版本软件的版本处理装置,包括保存模块,用于将各个版本的单版本软件所需运行的文件分别保存到不同的目录;拦截模块,用于拦截单版本软件的文件访问请求;重定向模块,用于将文件访问请求重定向到期望版本所对应的目录。本专利技术上述实施例的版本处理方法和装置因为将文件访问请求重定向到期望的版本,所以克服了现有技术的单版本软件不可以多版本共存的问题,从而提高了信息系统的兼容性。附图说明此处所说明的附图用来提供对本专利技术的进ー步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图I示出了根据本专利技术实施例的版本处理方法的流程图;图2示出了根据本专利技术实施例的系统架构示意图3示出了根据本专利技术实施例的版本处理装置的示意图。具体实施例方式下面将參考附图并结合实施例,来详细说明本专利技术。图I示出了根据本专利技术实施例的版本处理方法的流程图,包括步骤S10,将各个版本的单版本软件所需运行的文件分别保存到不同的目录;步骤S20,拦截单版本软件的文件访问请求;步骤S30,将文件访问请求重定向到期望版本所对应的目录。本实施例的版本处理方法因为将文件访问请求重定向到期望的版本,所以克服了 现有技术的单版本软件不可以多版本共存的问题,从而提高了信息系统的兼容性。图2示出了根据本专利技术实施例的系统架构示意图。如图所示,步骤SlO包括设置各个目录的名称为其对应的版本的版本号,例如有三个版本分别为I. 0,2. 0,3. 0,则命名三个目录分别为I. 0,2. 0,3. 0,将版本I. O运行需要的文件A、B、C保存到目录I. O下,将版本2. O运行需要的文件A、B、C保存到目录2. O下,将版本3. O运行需要的文件A、B、C保存到目录3. O下。本实施例的方法简单易行,可以很容易地区分不同版本的单版本软件。优选地,步骤SlO包括在升级单版本软件时,将新版本的单版本软件所需运行的文件保存到一个目录中,将旧版本的单版本软件所需运行的文件保存到另ー个目录中。优选地,在安装用于调用单版本软件的应用程序吋,将各个版本的单版本软件所需运行的文件分别保存到不同的目录。前一个优选实施例的方法要求用户在升级单版本软件时备份各个版本的单版本软件,这样可以减少安装应用程序的工作量,即减少了应用程序发行商的负担,但是加重了用户的负担。后一个优选实施例的方法可以减轻用户的备份负担(事实上,用户也通常做不到这一点)。优选地,如图2所示,步骤S20包括在安装用于调用单版本软件的应用程序吋,注册系统级别的钩子;在运行应用程序以调用单版本软件时,钩子拦截文件访问请求。在Windows操作系统中,钩子钩住ntdll. dll中的NTCreateFile函数即可。本优选实施例简单而容易实现。优选地,步骤S30包括应用程序通过控件接受用户对版本的选择;将所选择的版本传送给钩子。例如,应用程序可以提供三个按键,分别是I. 0,2. 0,3. O,当用户按下I. O的按键时,则将用户期望调用I. O的单版本软件的版本号传“I. O”传送给钩子。优选地,步骤S30还包括钩子将文件访问请求重定向到版本对应的目录下的同名文件。例如,钩子将该单版本软件所有的文件访问请求重定向到目录1.0,从而应用程序调用的单版本软件的版本变成了 1.0,而不是操作系统的注册表所默认的版本。图3示出了根据本专利技术实施例的版本处理装置的示意图,包括保存模块10,用于将各个版本的单版本软件所需运行的文件分别保存到不同的目求;拦截模块20,用于拦截单版本软件的文件访问请求;重定向模块30,用于将文件访问请求重定向到期望版本所对应的目录。本实施例的版本处理装置克服了现有技术的单版本软件不可以多版本共存的问题,从而提高了信息系统的兼容性。优选地,拦截模块20包括注册模块,用于在安装用于调用单版本软件的应用程序时,注册系统级别的钩子;钩子,用于在运行应用程序以调用单版本软件时,拦截文件访问请求。从以上的描述中可以看出,本专利技术上述的实施例将单版本软件每ー个版本包含的文件都记录下来,并将这些文件放置到ー个以版本号命名的目录下。当某个应用程序需要调用特定版本的软件时,在应用程序启动时,注册ー个系统级别的钩子,截获操作系统所有的文件访问请求。当应用程序调用了单版本软件的ー个接ロ时,通过钩子,能够截获单版本软件加载其他文件的请求,根据应用程序对软件版本的需要,将该文件访问请求重定位到指定版本目录下的文件,让单版本软件在不改变自身代码的状况下,实现多个版本访问控制。显然,本领域的技术人员应该明白,上述的本专利技术的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本专利技术不限制于任何特定的硬件和软件结合。以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,对于本领域的技术人员来说,本专利技术可以有各种更改和变化。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。权利要求1.ー种用于单版本软件的版本处理方法,其特征在于,包括 将各个版本的所述单版本软件所需运行的文件分别保存到不同的目录; 拦截所述单版本软件的文件访问请求; 将所述文件访问请求重定向到期望版本所对应的目录。2.根据权利要求I所述的方法,其特征在干,将各个版本的所述单版本软件所需运行的文件分别保存到不同的目录包括 设置各个所述目录的名称为其本文档来自技高网...
【技术保护点】
一种用于单版本软件的版本处理方法,其特征在于,包括:将各个版本的所述单版本软件所需运行的文件分别保存到不同的目录;拦截所述单版本软件的文件访问请求;将所述文件访问请求重定向到期望版本所对应的目录。
【技术特征摘要】
【专利技术属性】
技术研发人员:周铭慧,刘百川,杨乐,高上,杨万岭,刘祥臻,刘岩,闫俊海,
申请(专利权)人:北大方正集团有限公司,北京北大方正电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。