代码处理方法及装置与流程

文档序号:29851958发布日期:2022-04-30 08:07阅读:68来源:国知局
代码处理方法及装置与流程

1.本发明涉及测试领域,具体而言,涉及一种代码处理方法及装置。


背景技术:

2.在游戏测试中,服务器分支管理工具是必不可少的测试工具之一,主要功能是让服务器代码可以切换至不同的分支环境中,其工作效率对测试效率和测试质量起着重要作用。目前,对于常用的组内应用的服务器管理工具,当需要部署某个分支代码环境时,需要对各个ip端口的服务器和客户端分别手动操作部署,操作上费事费力,而且部署后仅能进行该分支内容的测试,测试其他分支内容测试时,需要重新部署环境,因此测试效率低,时间成本高;由于组内服务器数量有限,不能满足同时对多个分支的代码环境给不同的qa(quality assurance,质量保证)工程师进行测试,因此测试效率低,时间成本高。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种代码处理方法及装置,以至少解决相关技术中代码数据的测试效率低且成本高的技术问题。
5.根据本发明实施例的一个方面,提供了一种代码处理方法,包括:获取客户端上传的目标网络参数;基于目标网络参数确定多个服务器网络中的目标服务器网络,其中,不同服务器网络包含的服务器的网络参数不同,同一个服务器网络包含的服务器的网络参数相同;响应于代码同步指令,获取代码同步指令对应的目标代码数据;分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据,其中,目标服务器网络用于对目标代码数据进行测试。
6.可选的,在获取代码同步指令对应的目标代码数据之前,该方法还包括:在代码同步指令为第一指令的情况下,获取目标代码数据;在代码同步指令为第二指令的情况下,获取目标代码标识,并获取目标代码标识对应的目标代码数据。
7.可选的,在分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据之后,该方法还包括:响应于目标服务器网络中目标服务器对应的启动指令,启动目标服务器;通过启动后的目标服务器执行目标代码数据以对目标代码数据进行测试。
8.可选的,启动目标服务器包括:读取预设配置文件中的配置信息,其中,预设配置文件中存储有目标服务器对应的配置信息;基于读取到的配置信息,对目标服务器进行初始化。
9.可选的,在读取预设配置文件中的配置信息之前,该方法还包括:通过预设脚本确定目标网络参数对应的配置文件列表,其中,配置文件列表中存储有目标服务器网络包含的所有服务器的配置文件;通过预设脚本获取配置文件列表中,目标服务器对应的目标配置文件;通过预设脚本将目标配置文件中的配置信息存储至预设配置文件中。
10.可选的,在通过预设脚本确定目标网络参数对应的配置文件列表之前,该方法还
包括:获取预设网络参数;确定预设网络参数对应的多个服务器;基于预设网络参数对多个服务器进行配置,得到多个服务器的配置文件;将多个服务器的配置文件存储至预设网络参数对应的配置文件列表。
11.可选的,不同服务器网络包含的服务器相同。
12.根据本发明实施例的另一方面,还提供了一种代码处理装置,包括:参数获取模块,用于获取客户端上传的目标网络参数;网络确定模块,用于基于目标网络参数确定多个服务器网络中的目标服务器网络,其中,不同服务器网络包含的服务器的网络参数不同,同一个服务器网络包含的服务器的网络参数相同;数据获取模块,用于响应于代码同步指令,获取代码同步指令对应的目标代码数据;数据同步模块,用于分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据,其中,目标服务器网络用于对目标代码数据进行测试。
13.可选的,数据获取模块还用于在代码同步指令为第一指令的情况下,获取目标代码数据;在代码同步指令为第二指令的情况下,获取目标代码标识,并获取目标代码标识对应的目标代码数据。
14.可选的,该装置还包括:服务器启动模块,用于响应于目标服务器网络中目标服务器对应的启动指令,启动目标服务器;数据测试模块,用于通过启动后的目标服务器执行目标代码数据以对目标代码数据进行测试。
15.可选的,服务器启动模块包括:信息读取单元,用于读取预设配置文件中的配置信息,其中,预设配置文件中存储有目标服务器对应的配置信息;初始化单元,用于基于读取到的配置信息,对目标服务器进行初始化。
16.可选的,该装置还包括:列表确定模块,用于通过预设脚本确定目标网络参数对应的配置文件列表,其中,配置文件列表中存储有目标服务器网络包含的所有服务器的配置文件;文件获取模块,用于通过预设脚本获取配置文件列表中,目标服务器对应的目标配置文件;信息存储模块,用于通过预设脚本将目标配置文件中的配置信息存储至预设配置文件中。
17.可选的,该装置还包括:参数获取模块还用于获取预设网络参数;服务器确定模块,用于确定预设网络参数对应的多个服务器;服务器配置模块,用于基于预设网络参数对多个服务器进行配置,得到多个服务器的配置文件;文件存储模块,用于将多个服务器的配置文件存储至预设网络参数对应的配置文件列表。
18.可选的,不同服务器网络包含的服务器相同。
19.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的代码处理方法。
20.根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的代码处理方法。
21.在本发明实施例中,采用获取客户端上传的目标网络参数;基于目标网络参数确定多个服务器网络中的目标服务器网络;响应于代码同步指令,获取代码同步指令对应的目标代码数据;分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据的方式,通过获取客户端的目标网络参数,来确定目标服务器网络,达到了向对应的服务器网络
中的服务器和客户端同步代码的目的,从而实现了自动对服务器和客户端同时同步代码的技术效果,进而解决了相关技术中代码数据的测试效率低且成本高的技术问题。
附图说明
22.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
23.图1是根据本发明实施例的一种代码处理方法的流程图;
24.图2是根据本发明实施例的一种可选的服务器环境架构图;
25.图3是根据本发明实施例的一种可选的代码同步到服务器的流程示意图;
26.图4是根据本发明实施例的一种可选的启动服务器流程示意图;
27.图5是根据本发明实施例的一种代码处理装置的示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.根据本发明实施例,提供了一种代码处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
31.图1是根据本发明实施例的一种代码处理方法的流程图,如图1所示,该方法包括如下步骤:
32.步骤s102,获取客户端上传的目标网络参数。
33.上述步骤中的客户端可以是qa工程师所使用的客户端,qa工程师通过客户端可以对代码数据进行测试。目标网络参数可以是qa工程师使用的测试环境的网络参数,包括但不限于ip地址和网络端口,可以通过这些参数可以确定用于对代码数据进行测试的服务器。
34.在一种可选的实施例中,可以给每个qa工程师提供一个独立的完整的服务器网络,不同服务器网络通过配置不同的网络参数实现相互独立的目的,每个服务器网络都包含全部服务器,从而qa工程师可以不用考虑自己要测试的代码需要使用哪个服务器,可以
放心的去进行所有的测试,此时qa工程师输入的网络参数为分配给该qa工程的目标网络参数。
35.在另一种可选的实施例中,可以针对不同测试的目的构建独立的服务器网络,服务器网络包含有实现测试目的所必须的服务器,不同服务器网络通过配置不同的网络参数实现相互独立的目的。qa工程师可以根据测试目的确定需要使用的服务器网络,进而结合服务器网络与网络参数的对应关系,确定需要输入的网络参数,即上述的目标网络参数。
36.需要说明的是,为了方便qa工程师根据测试需求选择需要使用的测试环境,可以在客户端中提供交互界面,qa工程师可以输入需要使用的服务器网络的网络参数,从而客户端可以将目标网络参数上传。
37.步骤s104,基于目标网络参数确定多个服务器网络中的目标服务器网络,其中,不同服务器网络包含的服务器的网络参数不同,同一个服务器网络包含的服务器的网络参数相同。
38.上述步骤中的多个服务器网络可以是预先针对不同网络参数部署的服务器网络,使得不同服务器网络相互独立,不会相互影响,从而不同qa工程师可以使用不同的服务器网络进行代码测试。
39.可选的,为了简化部署难度,降低qa工程师的操作难度,不同服务器网络包含的服务器可以相同,均包含全部服务器。在一种可选的实施例中,对于不同的qa工程师,都为其分配了相同的服务器,分配的服务器包括服务器网络中所有的服务器。从而qa工程师在进行测试之前无需考虑服务器网络包含有哪些功能的服务器,直接使用服务器网络进行测试即可,同时,也保证了不同的qa工程师可以同时进行不同的测试。如图2所示,预先构建了n个服务器网络,分别为ip1,ip2,

,ipn环境下的服务器架构,不同服务器架构可以分配给不同qa工程师,所有服务器架构都一样,均包含世界服、公共服1、公共服2、游戏服1和游戏服2。
40.通过上述步骤可以从若干个服务器网络中确定所述客户端对应的目标服务器网络,即,通过上述步骤完成了对测试环境的配置。
41.在一种可选的实施例中,以游戏测试场景为例进行说明,先选定一个服务器ip端口,在指令目录中配置好各个功能服务器(世界服、公共服和游戏服)的config文件,其中config文件中包括各个功能服务器的配置信息,比如ip地址,端口,计费ip,计费端口,最高上限人数等。通过配置各个功能服务器的ip地址和端口,使得这些功能服务器相互连接,形成一个完整的服务器网络。
42.步骤s106,响应于代码同步指令,获取代码同步指令对应的目标代码数据;
43.上述步骤中的目标代码数据可以是需要在目标服务器网络中进行测试的代码数据,可以是主干功能对应的代码数据,也可以是分支功能对应的代码数据。
44.不同代码数据在进行测试之前,需要将不同代码数据部署到测试环境中,为了提升测试效率,在本发明实施例中,可以预先对所有代码数据进行整合,存储至svn(subversion,即,开放源代码的版本控制系统)代码仓库中,qa工程师可以通过对需要待测试的代码数据进行选择,生成相应的代码同步指令,从而客户端可以直接根据代码同步指令从svn代码仓库中获取到目标代码数据。
45.步骤s108,分别向目标服务器网络包含的所有服务器和客户端同步目标代码数
据,其中,目标服务器网络用于对目标代码数据进行测试。
46.通过上述步骤,向目标服务器网络包含的所有服务器和客户端同步目标代码数据,实现目标代码数据部署的目的,从而通过启动目标服务器网络中的服务器即可对目标代码数据进行测试。
47.在一种可选的实施例中,可以先配置服务器与客户端信息,包括服务器ip,端口信息,以及还有已完成checkout的客户端相关目录,其中,客户端相关目录包括客户端代码环境的配置,方便目标代码数据同步过来时有对应的代码目录进行切换。配置完成后,qa工程师可以选择要同步的代码数据,生成相应的代码同步指令,然后可以从svn代码仓库中映射到相应的目标代码数据,并分别向服务器和客户端进行同步。
48.在本发明实施例中,采用获取客户端上传的目标网络参数;基于目标网络参数确定多个服务器网络中的目标服务器网络;响应于代码同步指令,获取代码同步指令对应的目标代码数据;分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据的方式,达到了向对应的服务器网络中的服务器和客户端同步代码的目的。容易注意到的是,由于目标服务器网络是基于目标网络参数确定的,不同服务器网络相互独立,而且通过代码同步指令即可完成目标代码数据获取和同步的流程,无需qa工程师手动部署,且不同qa工程师的测试工作不会相互影响,实现了代码数据一键部署和独立部署,达到了降低测试成本,提高测试效率,避免测试工作出现阻塞的技术效果,进而解决了相关技术中代码数据的测试效率低且成本高的技术问题。
49.可选地,在获取代码同步指令对应的目标代码数据之前,该方法还包括:在代码同步指令为第一指令的情况下,获取目标代码数据;在代码同步指令为第二指令的情况下,获取目标代码标识,并获取目标代码标识对应的目标代码数据。
50.由于目标代码数据可以是指主干功能对应的代码数据,也可以是分支功能对应的代码数据,因此,上述中的第一指令可以是同步主干功能对应的代码的指令,由于实际测试中仅包含一个主干功能,因此,在接收到第一指令之后,可以直接获取相应的代码数据。第二指令可以是同步分支功能对应的代码的指令,由于实际测试中包含多个分支功能,因此,可以通过不同代码标识表征不同的分支功能对应的代码,此处的代码标识可以是指预先针对不同分支功能分配的分支编号,但不仅限于此。在接收到第二指令之后,可以获取qa工程师输入的目标代码标识,并获取目标代码标识对应的目标代码数据。
51.在一种可选的实施例中,如图3所示,服务器可以与客户端进行环境配置,当需要切换至某个分支的代码,也即需要同步某个分支的代码时,qa工程师可以在交互界面上选择切换分支功能并输入分支编号,随即svn代码仓库可以根据分支编号映射对应分支代码,并分别向服务器网络中的所有服务器和客户端同步更新对应分支的代码。当需要把代码返回至主干的状态,也即需要同步主干的代码时,qa工程师可以在交互界面上选择切换回到主干功能并直接点击按钮,svn代码仓库随即映射主干的主干代码,分别向服务器和客户端同步更新主干的代码。
52.可选的,在分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据之后,该方法还包括:响应于目标服务器网络中目标服务器对应的启动指令,启动目标服务器;通过启动后的目标服务器执行目标代码数据以对目标代码数据进行测试。
53.在目标服务器网络包含有全部服务器的情况下,由于不同测试需要使用的服务器
不同,因此,可以根据测试需要启动相应的服务器,此时,目标服务器可以是目标代码测试所使用的服务器;在目标服务器网络包含特定测试所使用的服务器的情况下,为了实现测试目的,需要启动所有服务器,此时,目标服务器可以是目标服务器网络中的所有服务器。
54.在一种可选的实施例中,为了实现目标代码数据的测试流程,在目标代码数据同步至目标服务器网络中的所有服务器之后,需要启动服务器运行目标代码数据。qa工程师可以通过点击目标服务器的方式,生成启动指令,从而可以根据启动指令确定需要启动的目标服务器并启动。进一步地,在目标服务器启动之后,目标服务器执行部署好的目标代码数据,达到对目标代码数据进行测试的目的。
55.可选的,启动目标服务器包括:读取预设配置文件中的配置信息,其中,预设配置文件中存储有目标服务器对应的配置信息;基于读取到的配置信息,对目标服务器进行初始化。
56.上述的配置信息可以包括:ip地址,端口,计费ip,计费端口,最高上限人数等,但不仅限于此。通过读取预设配置文件中的配置信息,并对目标服务器进行初始化的方式来确保服务器可以提供相应的功能。
57.在一种可选的实施例中,不同服务器可以提供的功能是基于配置信息进行初始化得到,因此,可以预先针对不同测试环境中需要使用的服务器的功能,配置不同的配置文件,从而在qa工程师选择启动目标服务器之后,可以读取目标服务器对应的配置信息,并利用配置信息对目标服务器进行初始化。目标服务器的初始化流程可以采用现有方案实现,在此不做赘述。
58.可选的,在读取预设配置文件中的配置信息之前,该方法还包括:通过预设脚本确定目标网络参数对应的配置文件列表,其中,配置文件列表中存储有目标服务器网络包含的所有服务器的配置文件;通过预设脚本获取配置文件列表中目标服务器对应的目标配置文件;通过预设脚本将目标配置文件中的配置信息存储至预设配置文件中。
59.上述的预设脚本可以是用于启动服务器的启服脚本。配置文件列表可以是ip端口目录,该目录中预先配置好了不同功能服务器的配置文件。
60.由于启服脚本在启动任何服务器时,无法确定当前启动的是哪个功能服务器,也即,无法从ip端口目录中确定需要读取的配置文件,因此,为了实现启服流程,可以将需要启动的服务器对应的配置信息拷贝至一个临时配置文件(即上述的预设配置文件)中。
61.在一种可选的实施例中,如图4所示,当启动某个功能服务器时,qa工程师可在工具上选择对应的功能服点击启动按钮,此时启服脚本会把ip端口目录中需要启动功能服务器config文件内容拷贝至一个临时配置文件中,接下来的启服过程中会读取临时配置文件中的参数实现不同功能服的初始化流程,启服脚本根据配置文件运行启动服务器流程。当继续需要启动其他功能服务器时,选择对应的功能服务器启动即可,由于在配置参数中会设置这些功能服务器相互连接,启动后的功能服务器形成完整的游戏服务器环境架构且与其他ip的服务器链接完全独立。
62.可选的,在通过预设脚本确定目标网络参数对应的配置文件列表之前,该方法还包括:获取预设网络参数;确定预设网络参数对应的多个服务器;基于预设网络参数对多个服务器进行配置,得到多个服务器的配置文件;将多个服务器的配置文件存储至预设网络参数对应的配置文件列表。
63.上述的预设网络参数可以是用于构建不同服务器网络所设定的不同的ip地址和端口,可以根据需要构建的服务器网络的数量,确定预设网络参数的数量。
64.在一种可选的实施例中,当需要构建多个相互独立的服务器网络时,可以根据预先设定的预设网络参数,确定每个服务器网络需要包含的服务器,可以是全部服务器,也可以是根据测试目的确定的部分服务器,并通过将上述服务器的网络参数配置为预设网络参数的方式,达到环境部署的目的。进一步地,为了方便后续服务器的启动流程,可以将上述服务器的配置文件存储到预设网络参数对应的配置文件列表,也即存储到ip端口目录中。
65.例如,如图2所示,针对ip1、ip2至ipn,可以确定每个服务器网络包含的服务器均相同,从而可以构建如图2所示的n个服务器架构。针对某个服务器架构,可以在ip端口目录中配置不同功能服务器的配置文件,也即,可以配置公共服配置、世界服配置和游戏服配置,不同功能服务器的服务器编号不同。
66.根据本发明实施例,提供了一种代码处理装置的实施例,需要说明的是本装置采用上述实施例中的代码处理方法,此处不再对其赘述。
67.图5是根据本发明实施例的一种代码处理装置的示意图,如图5所示,该装置包括:
68.参数获取模块52,用于获取客户端上传的目标网络参数;
69.网络确定模块54,用于基于目标网络参数确定多个服务器网络中的目标服务器网络,其中,不同服务器网络包含的服务器的网络参数不同,同一个服务器网络包含的服务器的网络参数相同;
70.数据获取模块56,用于响应于代码同步指令,获取代码同步指令对应的目标代码数据;
71.数据同步模块58,用于分别向目标服务器网络包含的所有服务器和客户端同步目标代码数据,其中,目标服务器网络用于对目标代码数据进行测试。
72.可选的,数据获取模块56还用于在代码同步指令为第一指令的情况下,获取目标代码数据;在代码同步指令为第二指令的情况下,获取目标代码标识,并获取目标代码标识对应的目标代码数据。
73.可选的,该装置还包括:服务器启动模块,用于响应于目标服务器网络中目标服务器对应的启动指令,启动目标服务器;数据测试模块,用于通过启动后的目标服务器执行目标代码数据以对目标代码数据进行测试。
74.可选的,服务器启动模块包括:信息读取单元,用于读取预设配置文件中的配置信息,其中,预设配置文件中存储有目标服务器对应的配置信息;初始化单元,用于基于读取到的配置信息,对目标服务器进行初始化。
75.可选的,该装置还包括:列表确定模块,用于通过预设脚本确定目标网络参数对应的配置文件列表,其中,配置文件列表中存储有目标服务器网络包含的所有服务器的配置文件;文件获取模块,用于通过预设脚本获取配置文件列表中,目标服务器对应的目标配置文件;信息存储模块,用于通过预设脚本将目标配置文件中的配置信息存储至预设配置文件中。
76.可选的,该装置还包括:参数获取模块还用于获取预设网络参数;服务器确定模块,用于确定预设网络参数对应的多个服务器;服务器配置模块,用于基于预设网络参数对多个服务器进行配置,得到多个服务器的配置文件;文件存储模块,用于将多个服务器的配
置文件存储至预设网络参数对应的配置文件列表。
77.可选的,不同服务器网络包含的服务器相同。
78.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的代码处理方法。
79.根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的代码处理方法。
80.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
81.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
82.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
83.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
84.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
85.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1