CN113101670B - 一种版本切换方法及装置 - Google Patents

一种版本切换方法及装置 Download PDF

Info

Publication number
CN113101670B
CN113101670B CN202110407100.6A CN202110407100A CN113101670B CN 113101670 B CN113101670 B CN 113101670B CN 202110407100 A CN202110407100 A CN 202110407100A CN 113101670 B CN113101670 B CN 113101670B
Authority
CN
China
Prior art keywords
version
target
resource
resource file
application
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
CN202110407100.6A
Other languages
English (en)
Other versions
CN113101670A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110407100.6A priority Critical patent/CN113101670B/zh
Publication of CN113101670A publication Critical patent/CN113101670A/zh
Application granted granted Critical
Publication of CN113101670B publication Critical patent/CN113101670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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
    • G06F9/4451User profiles; Roaming
    • 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/44536Selecting among different versions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供了一种版本切换方法及装置,其中,所述的方法包括:在多版本应用的登录界面上显示版本切换控件;响应针对所述版本切换控件的选择指令,确定目标版本;确定与所述目标版本对应的目标系统路径;根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源。使得多版本应用可以支持在多个版本之间进行切换,从而可以实现根据玩家选择的版本正确启动多版本应用加载并资源,可用于移动平台上的多版本应用,支持多个版本自由切换。

Description

一种版本切换方法及装置
技术领域
本发明涉及软件应用技术领域,特别是涉及一种版本切换方法,以及一种版本切换装置。
背景技术
由于游戏运营的需要,需要在当前已有的普通版游戏基础上,推出一个全新的特色版游戏,并且希望玩家可以自由切换这两个版本,这就要求在同一个游戏包体中同时包含两个版本的游戏资源。
实现双版本游戏切换主要包括以下三个方面:
①通过合理的文件目录布局,确保每个版本的游戏资源都已放入游戏包体中。②在游戏启动时,可以支持根据玩家的选择来进入不同的游戏版本。③分别进入不同的游戏版本后,游戏客户端都可以正常运行对应版本的游戏内容。
目前,移动端的游戏基本没有支持双版本的方案,PC端的游戏实现双版本的方案一般是:直接在游戏包体中平行放置两套游戏资源,然后增加一个launcher游戏启动器,提供双版本游戏的入口选项给玩家选择,例如,包括A和B两个版本,选择A版本则启动A版本的游戏客户端,选择B版本则启动B版本的游戏客户端,之后正常进入游戏。游戏包体结构一般如下图1所示。其中,launcher.exe表示游戏启动器。game_client_A表示A版本的游戏资源,engine_A,res_A和script_A为A版本的游戏资源的子资源。game_client_B表示B版本的游戏资源,engine_B,res_B和script_B为B版本的游戏资源的子资源。可见,A和B两个版本的游戏资源相互独立。在启动游戏后,玩家选择版本的流程如图2所示。
上述的方案存在以下两个缺点:
1、多个版本的游戏资源无法复用,导致游戏包体较大。
2、目前只适用于PC平台,没有手机设备等移动平台的解决方案。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种版本切换方法和相应的一种版本切换装置。
第一方面,本发明实施例公开了一种版本切换方法,包括:
在多版本应用的登录界面上显示版本切换控件;
响应针对所述版本切换控件的选择指令,确定目标版本;
确定与所述目标版本对应的目标系统路径;
根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源。
可选地,所述确定与所述目标版本对应的目标系统路径,包括:
根据所述目标版本调整预置配置文件的版本属性;
根据所述版本属性,确定与所述目标版本对应的目标系统路径。
可选地,所述确定与所述目标版本对应的目标系统路径,包括:
确定与所述目标版本对应的脚本路径;
将所述脚本路径加入预设系统路径得到目标系统路径。
可选地,所述根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源,包括:
根据所述目标系统路径,从所述多版本应用对应的资源文件中启动与所述目标版本对应的脚本,并根据所述系统路径确定查找资源的路径和加载资源的路径;
按照所述查找资源的路径和加载资源的路径加载与所述目标版本对应的资源。
可选地,所述响应针对所述版本切换控件的选择指令,确定目标版本,包括:
响应针对所述版本切换控件的选择指令,获取历史版本,并根据所述历史版本确定目标版本;其中,所述历史版本为上一次使用的版本,所述目标版本与所述历史版本不同。
可选地,所述所述多版本应用对应的资源文件通过如下方式生成:
获取第一版本应用对应的第一资源文件,和第二版本应用对应的第二资源文件;
整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件。
可选地,所述整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件,包括:
获取所述第一资源文件的第一目录结构,和所述第一资源文件的第二目录结构;
整合所述第一目标结构和第二目录结构得到目标目标结构;
调整所述第一资源文件或所述第二资源文件中针对所述目标目录结构中资源的调用逻辑,得到所述多版本应用对应的资源文件。
可选地,所述整合所述第一目标结构和第二目录结构得到目标目标结构,包括:
对比判断所述第一目录结构和第二目录结构中的资源,确定具有不同资源的目录和具有相同资源的目录;
保留所述具有不同资源的目录以及合并所述具有相同资源的目录,得到目标目录结构。
第二方面,本发明实施例还公开了一种版本切换装置,包括:
控件显示模块,用于在多版本应用的登录界面上显示版本切换控件;
目标版本确定模块,用于响应针对所述版本切换控件的选择指令,确定目标版本;
系统路径确定模块,用于确定与所述目标版本对应的目标系统路径;
资源加载模块,用于根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源。
第三方面,本发明实施例还公开了一种电子设备,包括:
处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如本发明实施例任一项所述的方法。
第四方面,本发明实施例还公开了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如本发明实施例任一项所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,通过在多版本应用的登录界面上显示版本切换控件,响应针对版本切换控件的选择指令确定目标版本,并确定与目标版本对应的目标系统路径,根据目标系统路径从多版本应用对应的资源文件中加载与目标版本对应的脚本和资源,使得多版本应用可以支持在多个版本之间进行切换,从而可以实现根据玩家选择的版本正确启动多版本应用,并加载资源,可用于移动平台上的多版本应用,支持多个版本自由切换。
附图说明
图1是一种游戏包体结构的示意图;
图2是一种玩家选择版本的流程图;
图3是本发明的一种版本切换方法实施例的步骤流程图;
图4A是本发明的一种经典版对应的第一目录结构的示意图;
图4B是本发明的一种热血版对应的第二目录结构的示意图;
图4C是本发明的一种对图4A和图4B中的目录结构进行整合之后生成的目标目录结构的示意图;
图5是本发明的一种登录界面的示意图;
图6是本发明的一种游戏应用的运行流程图;
图7是本发明的一种版本切换装置实施例的结构框图;
图8是本发明的一种电子设备的结构框图;
图9是本发明的一种存储介质的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在本发明其中一种实施例中的版本切换方法可以运行于终端设备或者是服务器。其中,终端设备可以为本地终端设备。当版本切换方法运行于服务器时,该版本切换方法则可以基于云交互系统来实现与执行,其中,云交互系统包括服务器和客户端设备。
在一可选的实施方式中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,版本切换方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,第一终端设备、电视机、计算机、掌上电脑等;但是进行版本切换方法的终端设备为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
参照图3,示出了本发明的一种版本切换方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,在多版本应用的登录界面上显示版本切换控件;
其中,多版本应用可以为集成了多个不同版本的应用程序,例如,多版本应用是一款包含经典版和热血版两个版本的游戏应用。
通过在终端设备上运行多版本应用,并在终端设备的显示屏上渲染得到一登录界面,用户可以在该登录界面中输入用于连接到多版本应用对应的服务器的信息,从而登录到多版本应用并正常使用该多版本应用。
在本发明实施例中,登录界面上可以包含版本切换控件,该版本切换控件用于切换所启动的应用版本。在具体实现中,版本切换控件可以显示在登录界面的预设位置,该预设位置是预先设定的位置,例如,左上角或右上角等,本发明实施例对此不作限制。
步骤302,响应针对所述版本切换控件的选择指令,确定目标版本;
具体的,多版本应用在刚启动时,具有默认的启动版本,该默认的启动版本可以是上一次使用时的版本。当玩家本次需要启动的版本与默认的启动版本不一样时,玩家可以通过针对版本切换控件的选择指令,来选择所需要启动的版本,具体的,玩家可以针对版本切换控件进行点击操作,双击操作或长按操作等,此时,当多版本应用作用于版本切换控件的点击操作,双击操作或长按操作等操作之后,相当于接收到了一个针对版本切换控件的选择指令,多版本应用可以对该选择指令进行响应,确定目标版本。
作为一种示例,多版本应用为包含经典版和热血版两个版本的游戏应用,游戏应用的当前默认启动的版本为经典版,当接收到针对版本切换控件的选择指令之后,则可以确定目标版本为热血版;或,游戏应用的当前默认启动的版本为热血版,当接收到针对版本切换控件的选择指令之后,则可以确定目标版本为经典版。
需要说明的是,若多版本应用具有三个以上的版本,则可以设置这三个版本应用具有顺序关系,每次接收到针对版本切换控件的选择指令时,按照顺序关系确定当前默认启动的版本的下一个版本为目标版本。或者,版本切换控件包含对个子控件,每个子控件分别对应一个版本,可以确定被触发的子控件对应的版本为目标版本。
步骤303,确定与所述目标版本对应的目标系统路径;
其中,系统路径可以为用于运行脚本程序的系统对应的路径,目标系统路径为用于运行目标版本的多版本应用的路径。
在本发明实施例中,在确定目标版本之后,可以进一步确定与目标版本对应的目标系统路径。具体的,多版本应用可以具有对应的配置文件,该配置文件具有对应版本属性,在确定目标版本之后,根据目标版本对配置文件的版本属性继续赋值,在需要确定目标系统路径时,通过提取配置文件中的版本属性,按照版本属性确定目标系统路径。
步骤304,根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源。
在本发明实施例中,可以根据目标系统路径,从多版本应用对应的资源文件中启动与目标版本对应的脚本,并通过该脚本加载与目标版本对应的资源,从而完成启动目标版本的多版本应用。
在本发明的一种优选实施例中,所述确定与所述目标版本对应的目标系统路径,包括:
根据所述目标版本调整预置配置文件的版本属性;根据所述版本属性,确定与所述目标版本对应的目标系统路径。
其中,预置配置文件可以指预先制作的用于进行切换版本的文件。预置配置文件具有对于的版本属性,该版本属性用于设置多版本应用需要启动的版本。
在本发明发明实施例中,可以根据目标版本调整预置配置文件的版本属性,并进一步根据版本属性确定与目标版本对应的目标系统路径。
作为一种示例,对于包含经典版和热血版两个版本的游戏应用,版本配置文件Edition的版本属性包含2个值,分别为“rxroot”和“.”。当属性值为“rxroot”时,则表示需要启动热血版,则目标系统路径为“script/rxroot”,当属性值为“.”时,则表示需要启动经典版,则目标系统路径为“script”。
在本发明的一种优选实施例中,所述的步骤303,具体可以包括以下步骤:
确定与所述目标版本对应的脚本路径;将所述脚本路径加入预设系统路径得到目标系统路径。
其中,预设系统路径sys.path可以是预先设定的运行脚本程序的系统对应的路径。在本发明实施例中,可以首先确定与目标版本对应的脚本路径,然后将脚本路径加入预设系统路径得到目标系统路径。
在本发明的一种优选实施例中,所述步骤304具体包括如下步骤:
所述根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源,包括:
根据所述目标系统路径,从所述多版本应用对应的资源文件中启动与所述目标版本对应的脚本,并根据所述系统路径确定查找资源的路径和加载资源的路径;按照所述查找资源的路径和加载资源的路径加载与所述目标版本对应的资源。
由于不通版本的应用需要加载的资源可能不同,因此,在加载资源时,需要根据系统路径确定查找资源的路径和加载资源的路径,从而按照所确定的查找资源的路径和加载资源的路径进行加载资源。在本发明实施例中,可以根据目标系统路径,从多版本应用对应的资源文件中启动与目标版本对应的脚本,并根据系统路径确定查找资源的路径和加载资源的路径,通过启动的脚本来按照查找资源的路径和加载资源的路径加载与目标版本对应的资源。
作为一种示例,对于包含经典版和热血版两个版本的游戏应用,如果是在热血版中需要查找PanelStart.py模块的资源,则对应的查找资源的路径为script/rxroot/ui/PanelStart.py;如果是在经典版中需要查找同样的PanelStart.py模块的资源,则对应的查找资源的路径为script/ui/PanelStart.py。如果在热血版中需要加载PanelStart.py模块的资源,则对应的加载资源的路径为script/rxroot/ui/PanelStart.py;如果是经典版中需要加载同样的PanelStart.py模块的资源,则对应的加载资源的路径为script/ui/PanelStart.py。
在本发明的一种优选实施例中,所述响应针对所述版本切换控件的选择指令,确定目标版本,包括:
响应针对所述版本切换控件的选择指令,获取历史版本,并根据所述历史版本确定目标版本;其中,所述历史版本为上一次使用的版本,所述目标版本与所述历史版本不同。
在本发明实施例中,响应针对版本切换控件的选择指令,获取历史版本,并根据历史版本确定目标版本;其中,所述历史版本为上一次使用的版本,所述目标版本与所述历史版本不同。例如,对于包含经典版和热血版两个版本的游戏应用,假设游戏应用的历史版本为经典版,当接收到针对版本切换控件的选择指令之后,则可以确定目标版本为热血版;或,假设游戏应用的历史版本为热血版,当接收到针对版本切换控件的选择指令之后,则可以确定目标版本为经典版。
在本发明的一种优选实施例中,所述所述多版本应用对应的资源文件通过如下方式生成:
获取第一版本应用对应的第一资源文件,和第二版本应用对应的第二资源文件;整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件。
第一版本应用可以是多版本应用中包含的其中一个版本,第二版本应用多版本应用中除第一版本应用之外的一个或多个版本。每个版本应用具有一一对应的资源文件,该资源文件中包含对应的版本应用的逻辑程序和各种资源。
为了能够支持多版本切换,且能够减少包含多个版本的应用的资源包体大小,在本发明实施例中,通过获取第一版本应用对应的第一资源文件,和第二版本应用对应的第二资源文件,整合第一资源文件和所述第二资源文件,得到多版本应用对应的资源文件,实现资源复用。
在本发明的一种优选实施例中,所述整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件,包括:
获取所述第一资源文件的第一目录结构,和所述第一资源文件的第二目录结构;整合所述第一目标结构和第二目录结构得到目标目标结构;调整所述第一资源文件或所述第二资源文件中针对所述目标目录结构中资源的调用逻辑,得到所述多版本应用对应的资源文件。
在本发明实施例中,通过获取第一资源文件的第一目录结构和第一资源文件的第二目录结构,并整合第一目标结构和第二目录结构得到目标目标结构。具体的,在多版本的应用场景下,一部分资源在各个版本的应用中是相同的,而另一部分资源在各个版本的应用中则不相同。在整合构建目录结构时,对于在各个版本的应用中相同的资源,可以合并其对应的目录结构,只保留一份,每个版本的应用都从保留的一份目录结构中获取资源,从而实现资源复用,可以有效减小资源包体的大小。而对于各个版本的应用中不相同的资源,则保留各个版本的目录结构,每个版本的应用各自从其对应的目录结构中获取资源。
多版本应用具有针对资源的调用逻辑,该调用逻辑用于在多版本应用运行时调用资源进行加载。由于在对资源的目录结构进行重新构建之后,资源对应的路径发生改变,因此需要在使用目标目录结构中的资源的调用逻辑进行对应的调整。在本发明实施例中,可以调整针对目标目录结构中资源的调用逻辑,得到所述多版本应用对应的资源文件。具体的,对于在目标目录结构中路径发生改变的资源,则调整针对该资源的调用逻辑,而对于在目标目录结构中路径未发生改变的资源,则不需要调整针对该资源的调用逻辑。
在本发明的一种优选实施例中,所述整合所述第一目标结构和第二目录结构得到目标目标结构,包括:
对比判断所述第一目录结构和第二目录结构中的资源,确定具有不同资源的目录和具有相同资源的目录;保留所述具有不同资源的目录以及合并所述具有相同资源的目录,得到目标目录结构。
在本发明实施例中,在整合目录结构时,可以通过对比判断第一目录结构和第二目录结构中的资源,确定第一目录结构和第二目录结构中,具有不同资源的目录和具有相同资源的目录。然后可以保留第一目录结构和第二目录结构中具有不同资源的目录,以及合并第一目录结构和第二目录结构中具有相同资源的目录,得到最终需要的目标目录结构。
作为一种示例,对于包含经典版和热血版两个版本的游戏应用,其中,经典版对应的第一目录结构如图4A所示,热血版对应的第二目录结构如图4B所示,通过对比判断图4A和图4B中的资源之后,确定script目录和res/cocosui目录中具有不同资源,而其他目录相同资源。如图4C是对图4A和图4B中的目录结构进行重新构建之后生成的目标目录结构的示意图,其中,将原trunk目录下的script全部复制到multi_trunk下的script目录,将原rx_trunk目录下的script全部复制到multi_trunk下的script/rxroot目录中;将原trunk目录下的res/cocosui全部复制到multi_trunk下的res/cocosui目录,将原rx_trunk目录下的res/cocosui全部复制到multi_trunk下的res/cocosui/rexue/目录中,并调整后缀,添加特殊的“_rexue”标记;其它目录由于两个版本中资源一致,直接对应复制一份到multi_trunk中。在整合目录结构之后,原cocosui目录的中的资源文件panelstart.csb,在热血版中需要使用该资源文件时,应该采用的路径为cocosui/rexue/panelstart_rexue.csb,而在经典版中使用该资源文件时,应该采用的路径为cocosui/panelstart.csb。
为了更好的对本发明实施例进行说明,假设多版本应用为包含经典版和热血版两个版本的游戏应用,如图5是一种登录界面的示意图,在运行游戏应用之后,在终端设备的显示屏上提供登录界面,版本切换控件展示在登录界面的左上角,登录界面中还包含设置控件、选择区服控件和开始游戏控件,此外,登录界面还可以包含其他的控件,本发明实施例对此并不限制。在具体实现中,预置配置文件的版本属性的默认值可以为“rxroot”,启动游戏后可以进入热血版,玩家通过版本切换控件选择“前往经典版”后,可以调整版本属性的属性值为“.”,重启游戏后将进入经典版。同样的,在进入经典版后,如果玩家通过版本切换控件选择“前往热血版”,则重新调整版本属性的属性值为“rxroot”,重启游戏后进入热血版。
在启动多版本应用时,可以按照所需要启动的版本加载脚本和资源进行运行。在本示例中,以多版本应用为游戏应用进行说明,在启动游戏应用之后,游戏应用的运行流程如图6所示,主要步骤包括初始化引擎,初始化脚本init.py,获取游戏脚本路径加入sys.path,开始加载各个模块,准备加载A模块,查找A是否存在find_module,存在则加载模块A load_module,在加载完成后继续加载下一个模块;不存在则继续加载下一个模块。在运行流程中,存在一些步骤需要获取所需要加载的资源的路径,如,步骤获取游戏脚本路径加入sys.path,查找A是否存在find_module,以及加载模块Aload_module,因此,需要调整加载这些资源对应的调用逻辑,以正确加载脚本和资源进行运行。
在本发明实施例中,多版本应用可以支持在多个版本之间进行切换,从而可以实现根据玩家选择的版本正确启动多版本应用加载资源,可用于移动平台上,支持多个版本自由切换,而且,在对目录结构进行重新构建之后,支持多版本游戏资源的大量复用,可以减小资源包体的大小,避免冗余。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明的一种版本切换装置实施例的结构框图,具体可以包括如下模块:
控件显示模块701,用于在多版本应用的登录界面上显示版本切换控件;
目标版本确定模块702,用于响应针对所述版本切换控件的选择指令,确定目标版本;
系统路径确定模块703,用于确定与所述目标版本对应的目标系统路径;
资源加载模块704,用于根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源。
在本发明的一种优选实施例中,所述系统路径确定模块703,包括:
版本属性调整子模块,用于根据所述目标版本调整预置配置文件的版本属性;
第一系统路径确定子模块,用于根据所述版本属性,确定与所述目标版本对应的目标系统路径。
在本发明的一种优选实施例中,所述系统路径确定模块703,包括:
脚本路径确定子模块,用于确定与所述目标版本对应的脚本路径;
第二系统路径确定子模块,用于将所述脚本路径加入预设系统路径得到目标系统路径。
在本发明的一种优选实施例中,所述资源加载模块704,包括:
脚本启动子模块,用于根据所述目标系统路径,从所述多版本应用对应的资源文件中启动与所述目标版本对应的脚本,并根据所述系统路径确定查找资源的路径和加载资源的路径;
资源加载子模块,用于按照所述查找资源的路径和加载资源的路径加载与所述目标版本对应的资源。
在本发明的一种优选实施例中,所述目标版本确定模块702,包括:
目标版本确定子模块,用于响应针对所述版本切换控件的选择指令,获取历史版本,并根据所述历史版本确定目标版本;其中,所述历史版本为上一次使用的版本,所述目标版本与所述历史版本不同。
在本发明的一种优选实施例中,所述所述多版本应用对应的资源文件通过如下模块生成:
资源文件获取模块,用于获取第一版本应用对应的第一资源文件,和第二版本应用对应的第二资源文件;
资源文件整合模块,用于整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件。
在本发明的一种优选实施例中,所述资源文件整合模块,包括:
目录结构获取子模块,用于获取所述第一资源文件的第一目录结构,和所述第一资源文件的第二目录结构;
目标结构整合子模块,用于整合所述第一目标结构和第二目录结构得到目标目标结构;
调用逻辑调整子模块,用于调整所述第一资源文件或所述第二资源文件中针对所述目标目录结构中资源的调用逻辑,得到所述多版本应用对应的资源文件。
在本发明的一种优选实施例中,所述目标结构整合子模块,包括:
资源确定单元,用于对比判断所述第一目录结构和第二目录结构中的资源,确定具有不同资源的目录和具有相同资源的目录;
目录结构整合单元,用于保留所述具有不同资源的目录以及合并所述具有相同资源的目录,得到目标目录结构。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
如图8所示,本发明实施例还提供了一种电子设备,包括:
处理器801、存储介质802和总线803,所述存储介质802存储有所述处理器801可执行的机器可读指令,当电子设备运行时,所述处理器801与所述存储介质802之间通过总线803通信,所述处理器801执行所述机器可读指令,以执行如本发明实施例任一项所述的方法。具体实现方式和技术效果类似,这里不再赘述。
如图9所示,本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序901,所述计算机程序901被处理器运行时执行如本发明实施例任一项所述的方法。具体实现方式和技术效果类似,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和调整。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和调整。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种版本切换方法和一种版本切换装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种版本切换方法,其特征在于,包括:
在多版本应用的登录界面上显示版本切换控件;
响应针对所述版本切换控件的选择指令,确定目标版本;
确定与所述目标版本对应的目标系统路径;
根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源;
其中,所述确定与所述目标版本对应的目标系统路径,包括:
根据所述目标版本调整预置配置文件的版本属性;
根据所述版本属性,确定与所述目标版本对应的目标系统路径。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述目标版本对应的目标系统路径,包括:
确定与所述目标版本对应的脚本路径;
将所述脚本路径加入预设系统路径得到目标系统路径。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源,包括:
根据所述目标系统路径,从所述多版本应用对应的资源文件中启动与所述目标版本对应的脚本,并根据所述系统路径确定查找资源的路径和加载资源的路径;
按照所述查找资源的路径和加载资源的路径加载与所述目标版本对应的资源。
4.根据权利要求1所述的方法,其特征在于,所述响应针对所述版本切换控件的选择指令,确定目标版本,包括:
响应针对所述版本切换控件的选择指令,获取历史版本,并根据所述历史版本确定目标版本;其中,所述历史版本为上一次使用的版本,所述目标版本与所述历史版本不同。
5.根据权利要求1所述的方法,其特征在于,所述所述多版本应用对应的资源文件通过如下方式生成:
获取第一版本应用对应的第一资源文件,和第二版本应用对应的第二资源文件;
整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件。
6.根据权利要求5所述的方法,其特征在于,所述整合所述第一资源文件和所述第二资源文件,得到所述多版本应用对应的资源文件,包括:
获取所述第一资源文件的第一目录结构,和所述第二资源文件的第二目录结构;
整合所述第一目录结构和第二目录结构得到目标目录结构;
调整所述第一资源文件或所述第二资源文件中针对所述目标目录结构中资源的调用逻辑,得到所述多版本应用对应的资源文件。
7.根据权利要求6所述的方法,其特征在于,所述整合所述第一目录结构和第二目录结构得到目标目录结构,包括:
对比判断所述第一目录结构和第二目录结构中的资源,确定具有不同资源的目录和具有相同资源的目录;
保留所述具有不同资源的目录以及合并所述具有相同资源的目录,得到目标目录结构。
8.一种版本切换装置,其特征在于,包括:
控件显示模块,用于在多版本应用的登录界面上显示版本切换控件;
目标版本确定模块,用于响应针对所述版本切换控件的选择指令,确定目标版本;
系统路径确定模块,用于确定与所述目标版本对应的目标系统路径;
资源加载模块,用于根据所述目标系统路径,从所述多版本应用对应的资源文件中加载与所述目标版本对应的脚本和资源;
其中,所述系统路径确定模块,包括:
版本属性调整子模块,用于根据所述目标版本调整预置配置文件的版本属性;
第一系统路径确定子模块,用于根据所述版本属性,确定与所述目标版本对应的目标系统路径。
9.一种电子设备,其特征在于,包括:
处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一项所述的方法。
CN202110407100.6A 2021-04-15 2021-04-15 一种版本切换方法及装置 Active CN113101670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110407100.6A CN113101670B (zh) 2021-04-15 2021-04-15 一种版本切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110407100.6A CN113101670B (zh) 2021-04-15 2021-04-15 一种版本切换方法及装置

Publications (2)

Publication Number Publication Date
CN113101670A CN113101670A (zh) 2021-07-13
CN113101670B true CN113101670B (zh) 2024-04-26

Family

ID=76717410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110407100.6A Active CN113101670B (zh) 2021-04-15 2021-04-15 一种版本切换方法及装置

Country Status (1)

Country Link
CN (1) CN113101670B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961269A (zh) * 2021-10-22 2022-01-21 深圳依时货拉拉科技有限公司 应用程序的运行控制方法及装置、计算机设备及存储介质
CN114826886B (zh) * 2022-03-17 2024-03-15 阿里巴巴(中国)有限公司 一种应用软件容灾方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038520A (zh) * 2013-03-05 2014-09-10 北京畅游天下网络技术有限公司 一种多版本分布式资源管理方法和系统
CN107526611A (zh) * 2017-08-10 2017-12-29 佛山市三水区彦海通信工程有限公司 一种支持双版本应用切换方法
CN108628642A (zh) * 2017-03-20 2018-10-09 北京京东尚科信息技术有限公司 切换系统的版本的方法和装置以及存储介质
CN111544894A (zh) * 2020-05-07 2020-08-18 网易(杭州)网络有限公司 小游戏客户端的服务器登录方法和装置
CN112190953A (zh) * 2020-10-23 2021-01-08 网易(杭州)网络有限公司 游戏排行榜生成方法、装置、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595715B2 (en) * 2010-12-31 2013-11-26 International Business Machines Corporation Dynamic software version selection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038520A (zh) * 2013-03-05 2014-09-10 北京畅游天下网络技术有限公司 一种多版本分布式资源管理方法和系统
CN108628642A (zh) * 2017-03-20 2018-10-09 北京京东尚科信息技术有限公司 切换系统的版本的方法和装置以及存储介质
CN107526611A (zh) * 2017-08-10 2017-12-29 佛山市三水区彦海通信工程有限公司 一种支持双版本应用切换方法
CN111544894A (zh) * 2020-05-07 2020-08-18 网易(杭州)网络有限公司 小游戏客户端的服务器登录方法和装置
CN112190953A (zh) * 2020-10-23 2021-01-08 网易(杭州)网络有限公司 游戏排行榜生成方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113101670A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113312037B (zh) 应用于微服务的数据处理方法、装置、设备和存储介质
US20220362666A1 (en) Interaction scene starting method and apparatus, storage medium, client, and server
US10397511B2 (en) Method for television remote keypress response based on android operating system and television thereof
CN113101670B (zh) 一种版本切换方法及装置
CN110968331B (zh) 应用程序运行的方法和装置
US10795633B2 (en) Desktop sharing method and mobile terminal
US20210271491A1 (en) Application processing method, device, electronic device and storage medium
CN101490645A (zh) 用以设备虚拟化的方法及设备
CN113253880B (zh) 互动场景的页面的处理方法、装置及存储介质
CN103778211A (zh) 移动终端游戏软件的语言切换方法及装置
CN110764805B (zh) 客户端无感升级的方法、装置、终端及存储介质
CN114237840A (zh) 资源交互方法、装置、终端及存储介质
US20170171266A1 (en) Method and electronic device based on android platform for multimedia resource play
CN108874495B (zh) 一种主题资源转换方法、装置及电子设备
CN111314330B (zh) 一种网络应用的运行方法和装置
CN103917951B (zh) 应用调用的方法及操作系统、浏览器
CN111741350A (zh) 文件展示方法、装置、电子设备及计算机可读存储介质
CN108363582A (zh) 一种智能终端主页升级的方法和装置
CN105138380B (zh) 一种Linux系统的启动方法及装置
CN113144606B (zh) 虚拟对象的技能触发方法及相关设备
CN107301089B (zh) 一种app部署及调用方法和终端
CN114222014A (zh) 一种云手机切换rom系统的方法及装置
CN111045674B (zh) 一种播放器的交互方法和装置
CN113709406A (zh) 鸿蒙会议一体机的软件协同方法、系统和存储介质
CN111818357A (zh) 一种网络直播控制方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant