一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单元测试方法、服务端、客户端及存储介质与流程

2022-04-30 18:05:53 来源:中国专利 TAG:


1.本发明涉及计算机视觉领域,尤其涉及一种单元测试方法、服务端、客户端及存储介质。


背景技术:

2.代码覆盖率,是指测试代码的覆盖程度。在做单元测试时,代码覆盖率通常作为衡量测试好坏的指标。
3.随着微服务架构开发技术的广泛应用,一个项目往往包含多个模块进行分解管理和开发。通常源代码放在一个模块目录下,而单元测试代码放在另外一个模块目录下,这样只能统计到当前模块目录下的单元测试代码覆盖率情况,而需要统计的是单元测试的代码对所有涉及到当前模块功能的源代码的覆盖率情况。因此,这种模块隔离会导致代码覆盖率测试不准确。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明第一方面提出一种单元测试方法,应用于服务端,所述方法包括:
5.响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;
6.接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;
7.响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;
8.对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;
9.将所述代码覆盖率发送给所述客户端。
10.可选的,所述响应于所述单元测试请求,对所述待测试子模块运行单元测试,包括:
11.响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;
12.从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;
13.拉取所述待测试子模块的开发代码;
14.利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;
15.获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。
16.可选的,所述拉取所述待测试子模块的开发代码,包括:
17.获取预先配置的、所述待测试子模块的开发代码对应的git服务器地址;
18.从所述git服务器地址拉取所述待测试子模块的开发代码到本地服务器。
19.本发明第二方面提出一种单元测试方法,应用于客户端,所述方法包括:
20.接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;
21.将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;
22.响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;
23.接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
24.可选的,在响应于针对待测试子模块的单元测试请求操作,生成测试请求之前,还包括:
25.响应于针对所述子模块的选择操作,确定待测试子模块。
26.可选的,在响应于针对所述子模块的选择操作,确定待测试子模块之前,还包括:
27.接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的git服务器地址的配置操作。
28.本发明第三方面提出一种服务端,所述服务端包括:
29.依赖建立模块,用于响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;
30.请求接收模块,用于接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;
31.代码确定模块,用于响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;
32.测试模块,用于对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;
33.发送模块,用于将所述代码覆盖率发送给所述客户端。
34.可选的,所述测试模块具体用于:
35.响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;
36.从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;
37.拉取所述待测试子模块的开发代码;
38.利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;
39.获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。
40.可选的,所述测试模块具体用于:
41.获取预先配置的、所述待测试子模块的开发代码对应的git服务器地址;
42.从所述git服务器地址拉取所述待测试子模块的开发代码到本地服务器。
43.本发明第四方面提出一种客户端,所述客户端包括:
44.操作接收模块,用于接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;
45.指令发送模块,用于将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;
46.请求发送模块,用于响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;
47.数据接收模块,用于接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
48.可选的,所述客户端还包括:
49.子模块确定模块,用于响应于针对所述子模块的选择操作,确定待测试子模块。
50.可选的,所述客户端还包括:
51.配置操作接收模块,用于接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的git服务器地址的配置操作。
52.本发明第五方面提出一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面和/或第二方面所述的单元测试方法。
53.根据本发明提供的具体实施例,本发明具有以下技术效果:
54.本发明实施例提供的单元测试方法,响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立多个子模块与父模块的依赖关系;接收客户端发送的、针对待测试子模块的单元测试请求;待测试子模块为多个子模块中的至少一个子模块;响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;将代码覆盖率发送给客户端。本方案中多个子模块与父模块建立了依赖关系,可以根据依赖关系确定父模块下的、与待测试子模块有调用关系的关联开发代码,进而得到的代码覆盖率为所有涉及到待测试子模块功能的源代码的覆盖情况,提高了代码覆盖率测试的准确度。
55.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
56.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要
使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其它附图。
57.图1为本发明实施例提供的一种单元测试方法的步骤流程图;
58.图2为本发明实施例提供的另一种单元测试方法的步骤流程图;
59.图3为本发明实施例提供的一种服务端的结构框图;
60.图4为本发明实施例提供的一种客户端的结构框图。
具体实施方式
61.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
62.本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或无创造性的劳动可以包括更多或者更少的操作步骤。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
63.图1为本发明实施例提供的一种单元测试方法的步骤流程图。该方法可以应用于服务端,包括如下步骤:
64.步骤101、响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系。
65.在本发明实施例中,建立了代码覆盖率测试平台,在该平台的网页客户端中,可以输入父模块名称,并配置父模块下对应的多个子模块,通过相应控件生成依赖配置指令,由客户端发送给服务端。服务端接收到依赖配置指令后,建立多个子模块与父模块的依赖关系。
66.步骤102、接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块。
67.待测试子模块是用户在客户端从多个子模块中选择的,在客户端选定待测试子模块后,点击生成单元测试报告,即可对服务端发送针对待测试子模块的单元测试请求。
68.此处可以选择至少一个子模块或全部子模块组合进行单元测试,从而避免不能选择子模块使得全部测试运行,导致运行工作量大等问题,提高了测试效率,避免了不必要的计算资源浪费。
69.步骤103、响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
70.服务端在接收到单元测试请求后,确定与待测试子模块对应的关联开发代码。关联开发代码为父模块下的多个子模块中与待测试子模块有调用关系的开发代码。
71.多个子模块均与父模块有依赖关系,因此可以通过该依赖关系确定与待测试子模块的功能有关联的关联子模块,进而从关联子模块中确定关联开发代码。
72.例如,父模块为租车,子模块为登录、注册、下单、叫车、结算、支付、购买会员等模
块,各个子模块均为父模块下面的功能模块。若待测试子模块为结算子模块,则与待测试子模块关联的有登录、下单、支付等子模块,从关联子模块中获取与结算子模块关联的开发代码,得到关联开发代码。
73.可选的,所述响应于所述单元测试请求,对所述待测试子模块运行单元测试,包括以下步骤a1-a5:
74.a1、响应于所述单元测试请求,从所述多个子模块中确定与所述待测试子模块有调用关系的子模块,得到关联子模块;
75.a2、从所述关联子模块中获取与所述待测试子模块有调用关系的开发代码,得到关联开发代码;
76.a3、拉取所述待测试子模块的开发代码;
77.a4、利用所述待测试子模块的单元测试代码,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试;
78.a5、获取所述单元测试代码相对于所述待测试子模块的开发代码、所述关联开发代码的覆盖率,得到代码覆盖率。
79.在步骤a1-a5中,代码覆盖率描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。此处将单元测试代码对于待测试子模块的开发代码、关联开发代码的覆盖比例,作为代码覆盖率。
80.具体地,在测试运行结束后,可以通过执行jacoco插件获取单元测试的覆盖率数据。jacoco(java code coverage,java代码覆盖率)是一个被广泛使用的java覆盖率测试工具,它利用asm(字节码引擎)库,通过注入字节码的方式来修改和生成java字节码,从而记录程序的执行数据,它不会改变原有代码的行为。
81.可选的,所述拉取所述待测试子模块的开发代码,包括以下步骤a31-a32:
82.a31、获取预先配置的、所述待测试子模块的开发代码对应的git服务器地址;
83.a32、从所述git服务器地址拉取所述待测试子模块的开发代码到本地服务器。
84.在步骤a31-a32中,用户在客户端预先配置了待测试子模块的开发代码所对应的git服务器地址,在运行测试时,首先从该地址拉取待测试子模块的开发代码到本地服务器,方可在本地服务器运行测试用例和开发代码。
85.此外,测试代码也可以保管在git服务器,同样可以从git服务器地址拉取测试代码,以运行测试用例。
86.步骤104、对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率。
87.单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试可以用来保证当前代码的正确性,用来保证代码修复、改进或重构以后的正确性。覆盖率是指代码的覆盖程度,常见的度量方式为语句覆盖,用来度量被测代码中每个可执行语句是否被执行到了,还包括分支覆盖,用来度量程序中每一个判定的分支是否都被测试到了,还包括条件覆盖,度量判定中的每个子表达式结果是否被测试到了,还包括函数覆盖,用来度量定义的函数有多少被调用了。
88.本发明实施例中的代码覆盖率可以表示以上几种覆盖率中的至少一种。
89.在运行单元测试时,不仅对待测试子模块的开发代码进行测试,也对关联开发代
码进行测试,这样得到的代码覆盖率为单元测试代码相对于待测试子模块的开发代码和关联开发代码的覆盖率。
90.可选的,对所述待测试子模块的开发代码和所述关联开发代码运行单元测试,包括:
91.在所述本地服务器中通过moven对所述待测试子模块的开发代码和所述关联开发代码执行测试用例。
92.具体地,采用测试运行器maven-surefire-plugin插件来运行测试用例,在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径下所有符合一组命名模式的测试类。
93.步骤105、将所述代码覆盖率发送给所述客户端。
94.maven通过cobertura-maven-plugin与开源测试覆盖率测试工具cobertura集成,可以使用简单的命令为maven项目生成代码覆盖率报告。
95.在本发明实施例中,当用户点击客户端相应选项运行单元测试后,服务端接收到测试指令,自动执行预先编写的测试用例,并自动生成代码覆盖率报告。
96.服务端将代码覆盖率报告发送给客户端,以供用户查看和使用。
97.此外,可以在测试代码中自动编写邮件发送类,这样可自动发送邮件给对应人员直观查看代码覆盖率报告。
98.在本发明实施例中,单元测试多模块覆盖率测试结合开发单元测试代码和待测试模块开发代码与关联开发代码对比,减少了人工校验步骤,去除冗余的工作,提升测试工作效率,实现单元测试覆盖率的比对;并且,本发明可以有效统计单元测试中功能代码的行覆盖率,代码方法中的函数覆盖率,代码分支覆盖率和代码语句覆盖率,来量化说明测试的充分度。此外,通过在各业务线测试中运行单元测试代码,在详情报告中可以有效查看测试涉及到代码覆盖率是否覆盖,核心场景是否覆盖,用来保证当前代码的正确性,代码修复、改进或重构以后的正确性。
99.综上,本发明实施例提供的单元测试方法,响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立多个子模块与父模块的依赖关系;接收客户端发送的、针对待测试子模块的单元测试请求;待测试子模块为多个子模块中的至少一个子模块;响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;将代码覆盖率发送给客户端。本方案中多个子模块与父模块建立了依赖关系,可以根据依赖关系确定父模块下的、与待测试子模块有调用关系的关联开发代码,进而得到的代码覆盖率为所有涉及到待测试子模块功能的源代码的覆盖情况,提高了代码覆盖率测试的准确度。
100.图2为本发明实施例提供的一种单元测试方法的步骤流程图。该方法可以应用于客户端,包括如下步骤:
101.步骤201、接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令。
102.在代码覆盖率测试平台中的客户端中,可以输入父模块名称,并配置父模块下对应的多个子模块,通过相应控件生成依赖配置指令,由客户端发送给服务端。
103.步骤202、将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系。
104.服务端接收到依赖配置指令后,建立多个子模块与父模块的依赖关系。具体地,在开发代码对应的父pom文件和子pom文件下配置覆盖率依赖。
105.步骤203、响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块。
106.待测试子模块是用户在客户端从多个子模块中选择的,在客户端选定待测试子模块后,点击生成单元测试报告选项,即可对服务端发送针对待测试子模块的单元测试请求。
107.步骤204、接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
108.在本发明实施例中,当用户点击客户端相应选项运行单元测试后,服务端接收到测试指令,自动执行预先编写的测试用例,并自动生成代码覆盖率报告。
109.服务端将代码覆盖率报告发送给客户端,以供用户查看和使用。
110.通过报告不仅能直观地查看子模块各自的单元测试覆盖率数据,还能查到全部子模块的单元测试总覆盖率数据。同时,单元测试覆盖率数据可以作为冒烟测试提测的准入门槛,集成在自动化构建平台,形成自动化的质量管控体系。从报告的详细数据中也可以针对未覆盖代码进行查漏补缺,从而实现测试场景的充分覆盖和代码覆盖率的提升。统计和查看多模块下代码的单元测试覆盖率数据是整个发明方案的核心价值体现。
111.首先,直观查看多模块下单元测试覆盖代码率。通过集成统计报告直观的看到开发编写的单元测试代码和开发功能代码是否完全覆盖,是否有遗漏点,从而有效的提高代码测试覆盖率。
112.其次,直观有效查看单元测试代码与对应的接口的开发代码是否完全覆盖。通过多模块代码覆盖率实现单元测试代码和开发代码覆盖范围进行对比,覆盖全业务线流程,有效代替冒烟测试中的手工测试,提高测试效率,提高测试质量,从而直观看业务遗漏代码,进而保证产品质量。
113.再次,直观有效查看单元测试代码与新增代码是否完全覆盖。通过单元测试多模块覆盖代码率实现单元测试代码和开发新增代码覆盖范围进行对比,覆盖开发新增代码对比,避免测试过程中有新增代码遗漏。
114.可选的,在响应于针对待测试子模块的单元测试请求操作,生成测试请求之前,还包括:
115.响应于针对所述子模块的选择操作,确定待测试子模块。
116.在本发明实施例中,可以在客户端页面中选择至少一个子模块或全部子模块组合作为待测试子模块,从而避免不能选择子模块使得全部测试运行,导致运行工作量大等问题,提高了测试效率,避免了不必要的计算资源浪费。
117.可选的,在响应于针对所述子模块的选择操作,确定待测试子模块之前,还包括:
118.接收针对所述多个子模块的测试服务配置操作;所述测试服务配置操作包括针对测试环境、代码类型、监听端口、开发代码对应的git服务器地址的配置操作。
119.在本发明实施例中,可以在客户端页面中对每个子模块的测试服务进行配置操
作,包括对测试环境、代码类型、监听端口、开发代码对应的git服务器地址的配置操作。
120.具体地,测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称;代码类型是指开发代码的类型;监听端口是指开发服务所部署的服务器对应的端口。
121.综上,在本发明实施例中,接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;将依赖配置指令发送给服务端,以使服务端建立多个子模块与父模块的依赖关系;响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将测试请求发送给服务端;待测试子模块为多个子模块中的至少一个子模块;接收服务端发送的代码覆盖率数据;代码覆盖率为单元测试代码相对于待测试子模块的开发代码和关联开发代码的覆盖率;关联开发代码为多个子模块中与待测试子模块有调用关系的开发代码。本方案中多个子模块与父模块建立了依赖关系,可以根据依赖关系确定父模块下的、与待测试子模块有调用关系的关联开发代码,进而得到的代码覆盖率为所有涉及到待测试子模块功能的源代码的覆盖情况,提高了代码覆盖率测试的准确度。
122.图3为本发明实施例提供的一种服务端的结构框图。
123.该服务端300包括:
124.依赖建立模块301,用于响应于客户端发送的针对多个子模块与父模块的依赖配置指令,建立所述多个子模块与所述父模块的依赖关系;
125.请求接收模块302,用于接收所述客户端发送的、针对待测试子模块的单元测试请求;所述待测试子模块为所述多个子模块中的至少一个子模块;
126.代码确定模块303,用于响应于所述单元测试请求,根据所述依赖关系确定关联开发代码;所述关联开发代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码;
127.测试模块304,用于对所述待测试子模块运行单元测试,得到代码覆盖率;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和所述关联开发代码的覆盖率;
128.发送模块305,用于将所述代码覆盖率发送给所述客户端。
129.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
130.图4为本发明实施例提供的一种客户端的结构框图。
131.该客户端400包括:
132.操作接收模块401,用于接收针对多个子模块与父模块的依赖配置操作,生成依赖配置指令;
133.指令发送模块402,用于将所述依赖配置指令发送给服务端,以使所述服务端建立所述多个子模块与所述父模块的依赖关系;
134.请求发送模块403,用于响应于针对待测试子模块的单元测试请求操作,生成测试请求,并将所述测试请求发送给服务端;所述待测试子模块为所述多个子模块中的至少一个子模块;
135.数据接收模块404,用于接收服务端发送的代码覆盖率数据;所述代码覆盖率为单元测试代码相对于所述待测试子模块的开发代码和关联开发代码的覆盖率;所述关联开发
代码为所述多个子模块中与所述待测试子模块有调用关系的开发代码。
136.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
137.在本发明提供的又一实施例中,还提供了一种设备,所述设备包括处理器和存储器,所述存储器种存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现本发明实施例中所述的单元测试方法。
138.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现本发明实施例中所述的单元测试方法。
139.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
140.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
141.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
142.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献