一种软件升级方法及装置的制造方法_3

文档序号:9631412阅读:来源:国知局
rops,最终每个dll对应的资源的各个版本会以版本号为文件夹名在各dll资源目录中创建文件夹名以存储对应的资源,比如props模块最旧的版本的资源对应的目录为dir/props/l,其后的资源版本目录是dir/prop/2等依此类推。
[0066]例如因为软件更新及业务需要,dll对应的资源文件会不断更新,每次更新都对应一个新的唯一版本号,版本号从1开始每个新版本的版本号加l)dll资源版本信息指的即是特定模块所使用的资源最新版本号,及版本号对应的资源下载url。比如在获取到礼物模块的最新版本号η及资源下载地址Α之后,会在礼物资源目录下寻找是否已经存在以η为名字的文件夹,即dir/props/n,如果存在则资源已经就绪,继续运行其他,否则,会以η为名字创建文件夹dir/props/n,并从地址A将资源文件(是一个压缩文件,里面包含多个图片及文本文件)下载下来并解压到目录dir/props/n中。
[0067]206、运行本地预存的与dll最新资源版本相对应的文件夹中的dll资源文件。
[0068]当对资源列表包的所有资源版本信息依次与相对应的客户端软件在本地的预置的功能模块文件夹下的所有dll资源版本进行比对,为存在dll最新资源版本,则运行本地预存的与dll最新资源版本相对应的文件夹中的dll资源文件。
[0069]例如如果对应dll的资源未就绪,即本地没有特定dll的资源文件,比如props对应的最新资源版本为16,而本地没有dir/props/16目录,则会使用下载url去下载第16个版本的资源,在下载完之后,则props对应的资源已经就绪,此时会马上加载props的dll,否则不会加载此dll。
[0070]客户端在收到服务器发送过来的列表之后,即会按顺序检查各dll的资源是否就绪,对于资源已经就绪的dll,会马上加载对应的dll,对于资源未就绪的dll,会马上启动其资源下载,并在资源就绪后加载对应的dll。
[0071]必须说明的是,各dll的资源版本信息与对应的dll有一定的耦合关系,因为dll中会引用到对应的资源目录中的文件,比如新的客户端版本的props模块会使用到图片a.png,此时,需要当前使用的资源版本η中包含a.png,即本地存在文件dir/props/n/a.png,而由于旧的客户端props模块中并没有使用a.png,所以旧的资源包中并没有
a.png,如果新的客户端的dll去旧的资源包中寻找a.png必然是找不到的,所以新的客户端版本的props模块需要使用新版本的资源包,而一旦新旧资源包中各文件名都相同,而只是各文件的内容不同,则使用新旧资源包原则上来说都没有问题,因为使用到的图片在新旧资源包中都可以找到。
[0072]本实施例中,通过先对获取到的所有dll最新资源版本与客户端软件在本地的dll资源版本进行比对,当不存在dll最新资源版本,再通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源,并加载dll,实现了无需全部下载dll资源文件,只对需要更新的dll进行对应的资源文件的下载,解决了目前的客户端软件,由于只有通过网络下载并安装后才能为用户所使用,而造成的客户端软件升级更新的效率低下的技术问题。
[0073]进一步,减小了客户端安装包的大小,同时使得可以不用发布新版本即可更新客户端中的图片等资源,选择将图片和文件等资源从安装包中移除并让客户端的运行过程中动态下载所使用到的资源。
[0074]请参阅图3,本发明实施例中提供的一种软件升级装置的另一个实施例包括:
[0075]获取单元301,用于发送客户端软件的资源信息请求给服务器,并获取服务器返回与资源信息请求相对应的所有dll最新资源版本及相关联的资源链接;
[0076]比对单元302,用于将获取到的所有dll最新资源版本与客户端软件在本地的dll资源版本进行比对,若不存在dll最新资源版本,则触发新版本加载单元;
[0077]新版本加载单元303,用于通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源,并加载dll。
[0078]本实施例中,通过比对单元302先对获取到的所有dll最新资源版本与客户端软件在本地的dll资源版本进行比对,当不存在dll最新资源版本,新版本加载单元303再通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源,并加载dll,实现了无需全部下载dll资源文件,新版本加载单元303只对需要更新的dll进行对应的资源文件的下载,解决了目前的客户端软件,由于只有通过网络下载并安装后才能为用户所使用,而造成的客户端软件升级更新的效率低下的技术问题。
[0079]上面是对软件升级装置的各单元进行详细的描述,下面将对各子单元和附加单元进行详细的描述,请参阅图4,本发明实施例中提供的一种软件升级装置的另一个实施例包括:
[0080]获取单元401,用于发送客户端软件的资源信息请求给服务器,并获取服务器返回与资源信息请求相对应的所有dll最新资源版本及相关联的资源链接;[0081 ] 获取单元401具体包括:
[0082]请求发送子单元4011,用于当客户端软件启动时,客户端通过采用socket消息向服务器发送资源信息请求;
[0083]获取子单元4012,用于获取到服务器返回与资源信息请求相对应的资源列表包,资源列表包包括以列表形式设置的所有dll最新资源版本信息及相关联的资源链接url。
[0084]比对单元402,用于将获取到的所有dll最新资源版本与客户端软件在本地的dll资源版本进行比对,若不存在dll最新资源版本,则触发新版本加载单元403,比对单元402,具体用于对资源列表包的所有资源版本信息依次与相对应的客户端软件在本地的预置的功能模块文件夹下的所有dll资源版本进行比对,若不存在dll最新资源版本,则触发新版本加载单元,若存在dll最新资源版本,则触发预存版本加载单元404。
[0085]新版本加载单元403,用于通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源,并加载dll。
[0086]新版本加载单元403具体包括:
[0087]新文件夹建立子单元4031,用于根据dll最新资源版本信息建立新文件夹;
[0088]新版本加载子单元4032,用于通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源包括的图片文件和文本文件至新文件夹。
[0089]预存版本加载单元404,用于运行本地预存的与dll最新资源版本相对应的文件夹中的dll资源文件。
[0090]本实施例中,通过比对单元402先对获取到的所有dll最新资源版本与客户端软件在本地的dll资源版本进行比对,当不存在dll最新资源版本,新版本加载单元403再通过与dll最新资源版本相关联的资源链接下载dll对应的最新资源,并加载dll,实现了无需全部下载dll资源文件,新版本加载单元403只对需要更新的dll进行对应的资源文件的下载,解决了目前的客户端软件,由于只有通过网络下载并安装后才能为用户所使用,而造成的客户端软件升级更新的效率低下的技术问题。
[0091]减小客户端安装包的大小,同时使得可以不用发布新版本即
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1