一种匹配算法性能测试方法、装置、设备、系统及介质转让专利
申请号 : CN201911070954.9
文献号 : CN110825636B
文献日 : 2021-03-30
发明人 : 汤涛 , 吴建伟 , 肖磊 , 陈瑞坤 , 王常红
申请人 : 腾讯科技(深圳)有限公司
摘要 :
权利要求 :
1.一种匹配算法性能测试方法,其特征在于,所述方法包括:采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;
在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;
根据所述测试日志和所述应用日志确定所述待测试的匹配算法的性能;
其中,所述将所述应用运行数据转化成用户应用行为数据,包括:从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日志;
根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;
根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数据,作为所述用户应用行为数据。
2.根据权利要求1所述的方法,其特征在于,所述在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志,包括:
在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求,所述匹配请求中携带所述用户应用行为数据;
获取所述匹配服务器响应于所述匹配请求过程中产生的测试日志。
3.根据权利要求1所述的方法,其特征在于,根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能,包括:确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;
根据所述应用日志中的匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变化;
当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确定所述待测试的匹配算法的性能合格。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个所述测试日志,不同的所述测试日志是基于不同的目标区域的应用运行数据对同一所述待测试的匹配算法分别进行测试得到的;
根据多个所述测试日志和所述应用日志,确定所述待测试的匹配算法在不同目标区域上的性能差异。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取多个所述测试日志,不同的所述测试日志是基于同一目标区域的应用运行数据对不同的待测试的匹配算法分别进行测试得到的;
根据多个所述测试日志和所述应用日志,确定不同的待测试的匹配算法在同一目标区域上的性能差异。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:当测试出所述待测试的匹配算法的性能合格时,将所述待测试的匹配算法发布至所述目标区域进行匹配算法更新。
7.一种匹配算法性能测试装置,其特征在于,所述装置包括:采集模块,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
数据转换模块,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据;
测试模块,用于在配置有待测试的匹配算法的测试环境下,根据所述用户应用行为数据进行用户行为回放,并收集所述测试环境下产生的测试日志;
性能评估模块,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能;
其中,所述数据转换模块,包括:第一查找子模块,用于从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述应用运行数据中时间最匹配的匹配成功日志;
第二查找子模块,用于根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;
数据转换子模块,用于根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息和与匹配请求时间相对应的网络质量数据,作为所述用户应用行为数据。
8.根据权利要求7所述的装置,其特征在于,所述测试模块,用于包括:模拟请求子模块,用于在配置有待测试的匹配算法的测试环境下,根据所述用户行为应用数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求,通过所述测试环境下的匹配服务器响应所述匹配请求,所述匹配请求中携带所述用户应用行为数据;
测试结果获取子模块,用于获取所述匹配服务器响应于所述匹配请求时产生的测试日志。
9.根据权利要求7所述的装置,其特征在于,所述性能评估模块,包括:第一评估子模块,用于确定所述应用日志中的匹配时长和所述测试日志中的匹配时长的时长差值,作为所述待测试的匹配算法对应的匹配时长变化;
第二评估子模块,用于根据所述应用日志中的匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变化;
确定子模块,用于当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确定所述待测试的匹配算法的性能合格。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:测试结果汇总模块,用于获取多个所述测试日志,不同的所述测试日志是基于不同的目标区域的应用运行数据对同一所述待测试的匹配算法分别进行测试得到的;
第一多维度性能比对模块,用于根据多个所述测试日志和所述应用日志,确定所述待测试的匹配算法在不同目标区域上的性能差异。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:测试结果汇总模块,用于获取多个所述测试日志,不同的所述测试日志是基于同一目标区域的应用运行数据对不同的待测试的匹配算法分别进行测试得到的;
第二多维度性能比对模块,用于根据多个所述测试日志和所述应用日志,确定不同的待测试的匹配算法在同一目标区域上的性能差异。
12.一种匹配算法性能测试系统,其特征在于,所述系统包括:数据采集服务器,用于采集目标区域的应用运行数据,所述应用运行数据包括在应用环境下产生的应用日志;
数据转换服务器,用于将所述应用运行数据转化成用户应用行为数据,所述用户应用行为数据用于表征用户在操作应用过程中所对应的影响用户对战性能的属性数据,其中包括:从所述应用运行数据中获取单局结算日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日志;根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹配的匹配请求日志;根据查找到的所述匹配请求日志,确定用户个人属性信息和用户所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数据,作为所述用户应用行为数据;
测试环境下的匹配请求发起服务器,用于基于所述用户应用行为数据模拟用户行为向所述测试环境下的匹配服务器发送匹配请求;
所述匹配服务器,用于通过预配置的待测试的匹配算法,响应所述匹配请求并将产生的日志数据作为测试日志发送给性能评估设备;
所述性能评估设备,用于根据所述应用日志和所述测试日志确定所述待测试的匹配算法的性能。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至6任一项所述的方法。
说明书 :
一种匹配算法性能测试方法、装置、设备、系统及介质
技术领域
背景技术
Personal Shooting Game,FPS)类游戏等,大都支持多个玩家之间的对战,而支持玩家对战
就需要依赖匹配算法从众多玩家中匹配出对战队伍,使得两队队伍的对战能力均衡,使得
游戏的对抗性较好,平衡性较强。
家请求为玩家实时匹配出对战队伍的算法,而匹配算法的性能主要表现为匹配效率和匹配
质量,而在匹配算法的优化过程中就需要采用匹配算法的性能测试方案来测试匹配算法的
性能,进而决定性能是否优秀,是否能够直接投入应用。
终的性能评估结果也不太可靠。
发明内容
区域内的性能测试,如此测试方法能够较好提高测试结果的有效性。
试环境下的匹配请求发起服务器,用于将基于所述用户应用行为数据模拟用户行为向所述
测试环境下的匹配服务器发送匹配请求;
法。
测试方法。
所述目标区域实施目标行为时所对应的属性特征数据;如此,就能够收集到用户在目标区
域内操作应用时的历史行为数据,后续将该用户应用行为数据用于后续测试过程,在配置
有待测试的匹配算法的测试环境下,根据该用户应用行为数据进行用户行为回放,并收集
所述测试环境下产生的测试日志,最后,根据在历史真实环境下产生的上述应用日志和测
试环境下产生的测试日志,确定所述待测试的匹配算法的性能。由于该方法中是通过收集
目标区域内真实的用户应用行为数据,利用这些真实的用户应用行为数据在测试环境下模
拟用户行为,以实现对匹配算法的性能测试,如此就相当于将匹配算法投入了贴近真实应
用环境下完成整个测试,通过该方法测试所得结果的可靠性就较高,如此能够有效推进新
的匹配算法的运营,同时能够有效避免运营风险。
附图说明
具体实施方式
申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在
没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
些过程、方法、产品或设备固有的其它步骤或单元。
果可靠性不稳定,针对这一问题,本申请提供了一种匹配算法性能测试方法,该方法通过收
集目标区域的运行数据,根据运行数据反推出用户应用行为数据,如此就能够获得用户在
目标区域内实施操作时真实状态,基于此,在测试环境下模拟用户真实行为以对匹配算法
进行测试,如此就相当于在真实环境下运行该匹配算法一样,测试结果的可靠性就非常高。
于独立的服务器上,也可以应用于集群服务器场景。为了方便描述下文仅以应用于独立服
务器为例进行解释说明,而应用于集群服务器或者应用于终端设备上的处理逻辑类似,不
再重复说明。
试,以根据测试结果来确定是否直接投入应用,如果测试结果表征该匹配算法的性能良好
满足需求,此时就可以直接投入应用,而如果测试记过表征该匹配算法的性能还不够满足
需求,此时就需要调整匹配算法,进而对调整后的匹配算法再进行测试。
101从数据库102中获取目标区域的应用运行数据,例如,该应用运行数据是游戏在实际应
用中产生的运行数据包括游戏应用环境下的匹配服务器记录的第一匹配服务器日志以及
对应的网络质量数据。通过数据转换将应用运行数据转换成用户应用行为数据,该用户应
用行为数据是指目标区域的用户在实际游戏应用过程中对应的属性特征数据,例如用户个
人属性特征数据,用户所属队伍的队伍属性数据,用户所属的网络环境数据等;转换得到用
户应用行为数据相当于获得了用户在真实应用中的真实行为,因此,基于该用户应用行为
数据就能够模拟用户的真实行为在测试环境下针对待测试的匹配算法进行性能测试,根据
当前测试到的测试日志和应用在真实环境下产生的应用日志,就能够测试出该匹配算法的
性能。
代更新速率。
则,将整个大的游戏应用投放区域划分成多个小区域,例如,一个游戏应用要在中国投放,
则可以将整个大的投放区域划分成“华中”、“华东”、“华北”等小区域,针对每个小区域都设
置有对应的匹配算法,以支持游戏玩家对战服务,如此,当某个小区域对应的匹配算法需要
被测试时,则将该小区域作为目标区域,以获取对应目标区域的应用运行数据。
境、玩家水平分布等因素会存在较大差异,因此在实际部署时开发人员会为不同的小区域
配置不同的匹配算法,而在匹配算法投入应用之前就需要先对性能进行测试,以确定其性
能是否满足业务需求;或者,在游戏应用运行过程中,如果监测到某个区域的当前匹配算法
性能不够好,此时研发人员就需要为该区域提供新的匹配算法,如此就需要先对该新的匹
配算法进行性能测试,一旦性能达到需求,就可以将该新的匹配算法投入该区域进行使用,
而该区域就作为目标区域。
多个区域需要测试同一匹配算法分别在这多个区域的性能表现时,就将这多个区域分别作
为目标区域,以进一步获取每个目标区域各自的应用运行数据。
日志,记为应用日志,其中,所谓应用日志可以包括:匹配请求日志、匹配成功日志以及单局
结算日志以及网络质量日志,等等。
单局结算日志用于记录基于队伍匹配结果进行对战后的游戏时长和游戏结束时间等信息。
日志服务器中,然后,针对日志服务器中的日志按照日志类型和区域分表,将日志批量存入
数据仓库,最后当需要对某个区域对应的匹配算法进行测试时,可以通过TDW的IDE工具或
者洛子系统导入到测试环境下以进行匹配算法的性能测试。
试,会给参与测试的服务器造成较大数据压力,同时,会导致测试效率较低,因此,在平衡测
试效率和测试质量两方面性能,可选的,可以从目标区域内的应用运行数据中筛选出对测
试过程价值较高的部分数据,例如,可以采集体现用户行为能力最强的一些数据,具体的,
可以仅采集每天最高在线和最低在线这两个时间段的应用运行数据,或者,可以从所有应
用运行数据中按照用户等级比例或者按照用户登录时间点,阶段式随机抽取一些数据参与
后续测试,如此在保证测试性能的同时提高测试效率。
挥价值的数据链,而能够体现匹配算法发挥价值的操作行为数据链包括用户发起匹配请求
→服务器响应匹配请求→匹配成功→基于匹配结果进行单局游戏→单局结算这一过程中
产生的数据。
数据,基于此,通过逆向思维方式从数据链的终点开始,反向查找数据,即从“单局结算日志
→成功匹配日志→匹配请求日志”这一反向查找路线,查找出一条条数据链。
对应的影响用户对战性能的属性数据;具体的,首先从所述应用运行数据中获取单局结算
日志,根据所述单局结算日志和单局时长,查找所述运行数据中时间最匹配的匹配成功日
志;然后,根据查找的所述匹配成功日志和匹配时长,从所述应用运行数据中查找时间最匹
配的匹配请求日志;最后,根据查找到的所述匹配请求日志,确定用户个人属性信息和用户
所在队伍的队伍属性信息以及与匹配请求时间相对应的网络质量日志记录的网络质量数
据,作为所述用户应用行为数据。
表征用户在游戏中操作能力的相关数据。具体的,用户应用行为数据可以包括用户个人属
性信息、队伍属性信息、网络质量,例如用户游戏等级(玩家段位)等级、开始匹配时间、队伍
人数、队伍等级、玩家MMR值(比赛匹配分级)、网络质量等。
“玩家A、对战ID为1、单局时长为900秒即15分钟、结算时间为2018年1月23日18:15:00”为例
进行说明。基于结算时间减去单局时长计算出参考匹配成功时间,即18:15:00减去15:00得
到这一局游戏对应的最可能的匹配成功时间作为参考匹配成功时间为18:00:00,以此为基
础,在从匹配成功日志中查找与结算日志中第一条记录相关的上述参考匹配时间最接近的
匹配成功时间,例如查找到匹配成功日志中的第一条记录“对战ID为1、玩家A、匹配成功时
间2018年1月23日17:57:00、队伍编号为1、匹配时长为10秒”;所谓最接近的匹配成功时间,
是指距离最相近且不晚于上述参考匹配成功时间的匹配成功时间。
到17:56:50,作为参考匹配请求时间,然后从匹配请求日志中查找出于上述匹配成功日志
中的第一条记录相关的且与所述参考匹配请求时间最相近的匹配请求时间,进而基于相同
匹配请求时间的处于同一队伍的玩家的个数属性信息确定队伍属性信息,例如,以个人MMR
值计算队伍MMR值,而且用户应用行为数据中还包括玩家到每个机房的测速数据,即网络质
量,如此,匹配算法才能为玩家匹配出最合适的对手。最终,以队伍为分组,确定出用户应用
行为数据,将用户应用行为数据按照匹配协议规定存放,以便后续测试使用。
用户应用行为数据中用户个人属性信息和队伍属性信息以及网络质量信息,按照对应的匹
配请求时间发起匹配请求,如此进行用户行为回放,将服务器响应用户行为回放过程的匹
配请求的整个过程中记录的日志作为测试日志。
行的用户行为回放和目标区域玩家的真实匹配习惯具有一致性,就相当于目标区域玩家的
真实操作一样,如此使得测试过程跟真实用户操作过程相匹配,以提高测试结果的可靠性。
配服务器、房间服务器等多个服务器。在这种情况下,就是将游戏应用实际应用环境作为测
试环境来完成针对匹配算法的测试,如此,就不需要额外搭建环境,只需要借助已有的实际
应用环境中部署的各个服务器来进行测试即可。
成匹配算法的测试即可,因此不需要完全实现整个应用的所有业务逻辑,如此,可以简化环
境部署,可以以实际应用环境的硬件架构为基础,对实际应用环境进行裁剪,裁剪出一些不
必要部分,以得到一个简化的硬件架构作为测试环境,如图5所示,删除接入服务器,并采用
SSTOOL发包工具代替大厅服务器,同时采用类似Mock Svr代替房间服务器,如此,既能够节
约成本又能够加速测试。
应匹配时长的差值,通过匹配时长的差值能够衡量出当前测试的匹配算法的性能,例如,当
测试日志中的匹配时长小于应用日志中的匹配时长时,确定当前测试的匹配算法的性能良
好,这是因为匹配时长越短,说明匹配算法的匹配效率越好,即性能越好。除了基于匹配时
长进行性能评估之外,还可以比较测试日志和应用日志反应出的针对相同匹配请求的匹配
结果,通过两对匹配结果来衡量当前测试的匹配算法的匹配质量,一般情况下,为玩家匹配
的两队的对战能力越均衡,说明匹配质量越好,例如,可以用游戏双方(或多方)的平均MMR
越接近,说明匹配算法性能越好。当测试日志反应出的匹配质量高于应用日志反应出的匹
配质量时,确定当前测试的匹配算法的性能良好。
受时间影响的目标区域,还可以比较在不同应用时段下,应用日志和测试日志中匹配时长
的之间的差值,得到待测试匹配算法对不同应用时段的匹配时长,如此仅仅关注一些重要
应用时间段内匹配算法的性能。
算法的性能良好,否则,认为当前测试的匹配算法性能还不够好,不足以投入使用。
匹配结果和所述测试日志中的匹配结果,确定所述待测试的匹配算法对应的匹配质量变
化;当所述待测试的匹配算法对应的匹配时长变化和匹配质量变化均满足预设条件时,确
定所述待测试的匹配算法的性能合格。
得到多个报表数据,再根据这些报表数据对匹配算法的性能进行综合评价。最后,当测试得
到的匹配算法的性能为不合格时,可以针对匹配算法做二次优化,当测试结果为合格时,可
以将合格的匹配算法发布至目标区域进行匹配算法更新,用新的匹配算法代替原始的匹配
算法进行匹配。
际运行时产生的,根据目标区域实际运行产生的运营数据转化得到的用户行为数据和用户
的真实行为一致。如此,利用用户行为数据对匹配算法进行测试相当于将匹配算法直接配
置在目标区域进行运营,如此测试所得的结果就非常可靠。
配算法在目标区域A、目标区域B和目标区域C三个地区中的匹配性能时,可以采集这三个区
域的运行数据,然后将运行数据转化为三个区域对应的用户应用行为数据进行用户行为回
放,再比较各个地区对应测试日志和回放日志中的匹配时长,最后再横向比较三个地区匹
配时长的变化趋势,得到图7所示的柱状图。通过图7的数据可以看出,该新的匹配算法在地
区A、B、C三个目标区域的性能表现,与原始匹配算法相比,匹配时长更长,即该新的匹配算
法的性能较差,不够好,因此该新的匹配算法还不能投入使用。
所示,当需要比较两个待测试匹配算法在目标区域的匹配性能差异时,可以采用一组用户
应用行为数据对两个待测试匹配算法进行用户行为回放并采集测试日志。
在目标区域上性能最好的匹配算法。
测试匹配算法1进行匹配,得到的匹配结果中对战双方水平差距较小。通过横向对比原始匹
配算法和待测试匹配算法1在各个平均MMR差值区间的分布情况可以看到,使用待测试匹配
算法1进行匹配得到的MMR差值主要分布在0‑40区间,而原始匹配算法的分布较为平均。这
说明和原始匹配算法相比,使用待测试匹配算法1进行匹配,得到的匹配结果中对战双方水
平差距更小,匹配质量更好。
境,该实际运行环境包括N个配置有游戏客户端的终端910和运行服务器920;而测试环境则
是为了测试新的匹配算法在目标区域的性能表现的环境,该测试环境950可以为上文所述
的裁剪后的环境,包括发包工具SSTTOOL951、转发服务器952、匹配服务器953和接收服务器
954。在具体实现时,上述应用环境和上述测试环境彼此不影响,仅是将应用环境下产生的
应用运行数据存储起来,以备后续测试匹配算法时所需,而只有在需要针对某个匹配算法
进行测试时才会获取目标区域产生的应用运行数据,并将其转换成用户应用行为数据,进
而在基于该测试环境,在该测试环境下利用该用户应用行为数据回放用户行为,以实现对
匹配算法的测试。
中,可以将应用服务器920产生的各种数据记录在数据库930中。在需要对匹配算法进行性
能测试时,转化服务器940可以先从数据库930中获取目标区域的应用运行数据,然后将应
用运行数据转化为用户应用行为数据输入到测试环境950中。
952再将匹配请求转发至匹配服务器953,接着匹配服务器953根据预先配置好的待测试匹
配算法对匹配请求进行处理,得到匹配结果并返回给转发服务器952。最后,转发服务器952
将接受到的匹配结果发送至接收服务器954,完成模拟的匹配过程并记录测试过程中产生
的数据作为测试日志。这些测试结果能够提供给研发人员作为基础素材,以方便研发人员
可以对测试日志和应用日志进行综合分析,得到待测试匹配算法性能测试的结果。
装置进行介绍。
用户应用行为数据。
测试环境下的匹配服务器响应所述匹配请求,所述匹配请求中携带所述用户应用行为数
据;
设备进行介绍。
中央处理器(central processing units,CPU)1622(例如,一个或一个以上处理器)和存储
器1632,一个或一个以上存储应用程序1642或数据1644的存储介质1643(例如一个或一个
以上海量存储设备)。其中,存储器1632和存储介质1643可以是短暂存储或持久存储。存储
在存储介质1643的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对
服务器中的一系列指令操作。更进一步地,中央处理器1622可以设置为与存储介质1643通
信,在服务器1600上执行存储介质1643中的一系列指令操作。
如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
据;
该程序代码用于执行前述各个实施例所述的一种匹配算法性能测试方法中的任意一种实
施方式。
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全
部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read‑Only
Memory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:
RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。