一种实现用户匹配的方法及装置与流程

文档序号:12617124阅读:223来源:国知局
本发明涉及互联网
技术领域
:,具体涉及一种实现用户匹配的方法及装置。
背景技术
::在一些应用程序中需要将不同的用户匹配到同一分组中,例如在多人对局类游戏应用程序中,首先需要将不同用户按照某种策略匹配到一起进行对战。在现有技术中,每一个需要匹配过程的应用程序都需要独立开发匹配流程,但是,现有技术的方案针对拥有不同类型应用程序的平台来说,对不同应用程序分别做一套匹配系统,通用性较差,造成实现成本较高;如果平台中应用程序发生改变,例如游戏平台中游戏应用程序中增加新的玩法,需要适应性修改该应用程序的匹配系统,扩展性存在不足。技术实现要素:有鉴于此,本发明提供一种实现用户匹配的方法及装置,以解决现有技术中实现用户匹配存在通用性较差、扩展性不足且实现成本较高的技术问题。为解决上述问题,本发明提供的技术方案如下:一种实现用户匹配的方法,所述方法包括:接收客户端发送的匹配请求;当根据所述匹配请求中的应用标识确定匹配模式为异步匹配时,从所述匹配请求中获取匹配队列标识,将所述匹配请求中的用户标识加入所述匹配队列标识对应的匹配队列;轮询所述匹配队列,从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,所述匹配结果包括匹配分组的标识以及所述匹配分组中的用户标识;将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,所述从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,包括:获取所述匹配队列中用户标识对应的用户信息;将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从所述候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。相应的,所述方法还包括:当超过预设时间未产生匹配结果,在所述匹配队列标识对应的匹配队列中加入虚拟用户的用户标识,执行轮询所述匹配队列,从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果。相应的,所述将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端,包括:在生成匹配结果后,主动将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端;或者,当接收到所述匹配分组中的用户标识对应的客户端发送的结果查询请求时,将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,所述方法还包括:当根据所述匹配请求中的应用标识确定匹配模式为同步匹配时,获取分组标识,将所述分组标识发送给所述客户端。一种实现用户匹配的装置,所述装置包括:接收单元,用于接收客户端发送的匹配请求;第一加入单元,用于当根据所述匹配请求中的应用标识确定匹配模式为异步匹配时,从所述匹配请求中获取匹配队列标识,将所述匹配请求中的用户标识加入所述匹配队列标识对应的匹配队列;筛选单元,用于轮询所述匹配队列,从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,所述匹配结果包括匹配分组的标识以及所述匹配分组中的用户标识;发送单元,用于将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,所述筛选单元包括:轮询子单元,用于轮询所述匹配队列;获取子单元,用于获取所述匹配队列中用户标识对应的用户信息;选择子单元,用于将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从所述候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。相应的,所述装置还包括:第二加入单元,用于当超过预设时间未产生匹配结果,在所述匹配队列标识对应的匹配队列中加入虚拟用户的用户标识。相应的,所述发送单元包括:第一发送子单元或者第二发送子单元;所述第一发送子单元,用于在生成匹配结果后,主动将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端;第二发送子单元,用于当接收到所述匹配分组中的用户标识对应的客户端发送的结果查询请求时,将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,所述装置还包括:获取单元,用于当根据所述匹配请求中的应用标识确定匹配模式为同步匹配时,获取分组标识,将所述分组标识发送给所述客户端。由此可见,本发明实施例具有如下有益效果:本发明实施例中根据实际情况可以为每个应用程序设定一个或多个匹配队列,用户可以选择所希望加入的匹配队列,在接收到用户输入的匹配请求后,可以根据匹配请求中的匹配队列标识将该用户的用户标识加入所选择的匹配队列中,通过轮询匹配队列,在该匹配队列中筛选出预设数量的用户进行匹配生成匹配结果,这样为不同应用程序提供了统一的匹配方式和流程,在应用程序平台内可以通过增加匹配队列的方式扩展新的应用程序和应用程序中新的使用模式,例如在游戏应用程序平台内增加新的游戏应用程序或在游戏应用程序中增加新的玩法,从而使实现用户匹配具有较好的通用性和扩展性,降低了实现成本。附图说明图1为本发明实施例中的应用场景示意图;图2为本发明实施例中提供的实现用户匹配的方法实施例的流程图;图3为本发明实施例中匹配队列的示意图;图4为本发明实施例中异步匹配的示意图;图5为本发明实施例中异步匹配的示意图;图6为本发明实施例中异步匹配的示意图;图7为本发明实施例中同步匹配的示意图;图8为本发明实施例中同步匹配的示意图;图9为本发明实施例中提供的实现用户匹配的装置实施例的示意图;图10为本发明实施例中一种服务器的示意图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。在一些应用程序中需要将不同的用户匹配到同一分组中,例如在多人对局类游戏应用程序中,首先需要将不同用户按照某种策略匹配到一起进行对战。在现有技术中,因为不同游戏的匹配流程和匹配策略的不一致性,在设计上需要针对不同的游戏设计及实现不同的匹配方案,这对于有多种不同类型的游戏平台做统一的匹配流程提出了较高的挑战。为此,本发明实施例中提供了一种实现用户匹配的方法及装置,提供了一种兼容不同游戏类型的通用统一匹配方案,该方案能同时支持同步匹配和异步匹配的匹配流程,对于棋牌类、休闲类、对战类游戏应用程序提供了通用的匹配方式和流程,具备较好的通用性和扩展性。首先参见图1所示,图1是本发明实施方式的一个示例性应用场景示意图。其中,用户通过用户设备上的客户端102与提供网络应用服务的服务器101进行交互。本领域技术人员可以理解,图1所示的示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。需要注意的是,此处的用户设备可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)实现其上客户端102与服务器101交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。还需要注意的是,此处的服务器101仅是现有的、正在研发的或将来研发的、能够向用户提供应用服务的设备的一个示例。本发明的实施方式在此方面不受任何限制。参见图2所示,示出了本发明实施例中提供的实现用户匹配的方法实施例的流程图,本实施例将从实现用户匹配的装置角度进行描述,该实现用户匹配的装置可以装载在服务器中,本实施例可以包括以下步骤:步骤201:接收客户端发送的匹配请求。用户在应用程序启动时,如需要进行用户匹配,则首先使用客户端将匹配请求发送到服务器。根据应用程序的类型不同,本发明实施例中匹配过程可以分为同步匹配以及异步匹配,异步匹配对用户来说会存在等待匹配的过程,会等待新的用户加入应用程序,将多个用户匹配在一起进入应用程序,例如多人对战类游戏应用程序为异步匹配,需要根据预设规则将用户匹配在成一组加入游戏,在本实施例中首先对异步匹配模式进行说明。而同步匹配对用户来说没有匹配的等待过程,用户会立即进入应用程序,例如应用程序为用户与庄家(游戏系统)之间进行对战的游戏应用程序则为同步匹配,用户在发送匹配请求后立即加入游戏,同步匹配模式将在后续实施例中进行说明。步骤202:当根据匹配请求中的应用标识确定匹配模式为异步匹配时,从匹配请求中获取匹配队列标识,将匹配请求中的用户标识加入匹配队列标识对应的匹配队列。根据上述说明,匹配请求中可以包括应用标识,根据应用标识则可以确定匹配模式为异步匹配还是同步匹配。在本实施例中,为匹配模式为异步匹配的应用程序设置了匹配队列,根据实际匹配需要为每个应用程序设置一个或多个匹配队列,每个匹配队列具有匹配队列标识。参见图3所示,示出了匹配队列的示意图,例如应用程序A,设置有匹配队列A1、匹配队列A2,应用程序B,设置有匹配队列B1、匹配队列B2,在实际应用中,应用程序A、应用程序B可以为对战类游戏应用程序,匹配队列A1、匹配队列B1可以为1对1玩法的匹配队列,匹配队列A2、匹配队列B2可以为2对2玩法的匹配队列,可以理解的是,对于1对1玩法则需要从相应的匹配队列中选取2个用户进行匹配,对于2对2玩法则需要相应的匹配队列中选取4个用户进行匹配。需要注意的是,匹配队列可以根据实际情况进行设定,本发明对匹配队列的形式不进行限定。当匹配模式为异步匹配时,用户可以选择游戏应用程序中的某种玩法,该游戏应用程序中的该玩法对应有一个匹配队列,该匹配队列具有匹配队列标识,则匹配请求中可以携带有该匹配队列标识,从匹配请求中获取匹配队列标识后,将可以将匹配请求中的用户标识加入匹配队列标识对应的匹配队列,即发送匹配请求的用户所使用的用户标识被加入所选择的匹配队列中,等待与其他用户进行匹配。步骤203:轮询匹配队列,从匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,匹配结果包括匹配分组的标识以及匹配分组中的用户标识。在用户发送匹配请求后用户标识会加入相应的匹配队列,同时用户也可以在匹配完成之前取消匹配,则用户可以向服务器发送取消匹配请求,服务器可以将取消匹配请求中的用户标识从匹配队列中删除,即匹配队列中的用户标识是实时变化的。在本实施例中可以通过轮询匹配队列的方式,从匹配队列中筛选出预设数量的用户标识进行匹配。在一种可能的实现方式中,可以仅考虑预设数量,预设数量和匹配队列相关,例如2对2玩法的匹配队列需要4个用户进行匹配,在轮询得到匹配队列中存在预设数量的用户标识后将这些用户标识匹配到同一匹配分组中,生成匹配结果,这样可以加快匹配速度。在另一种可能的实现方式中,从匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果的具体实现可以包括:获取匹配队列中用户标识对应的用户信息;将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。也即在考虑预设数量的同时,还需要结合用户信息进行匹配,例如将用户等级达到预设条件的用户标识分入同一匹配分组中,从而根据用户信息选择预设数量的用户标识进行匹配,生成匹配结果,这样可以将类似的用户分入同一匹配分组,使用户之间可以更好地互动。在本发明一些可能的实现方式中,还可以包括:当超过预设时间未产生匹配结果,在匹配队列标识对应的匹配队列中加入虚拟用户的用户标识,执行轮询匹配队列,从匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果。当超过预设时间未产生匹配结果,也即在匹配队列中等待时间最长的用户所等待的时间超过预设时间时,可以在匹配队列中加入AI(ArtificialIntelligence)用户,即在匹配队列中加入虚拟用户的用户标识,返回执行轮询匹配队列,从匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,此时匹配分组中的用户标识可以包括虚拟用户的用户标识,以减少用户的等待时间。步骤204:将匹配结果发送给匹配分组中的用户标识对应的客户端。在本发明一些可能的实现方式中,将匹配结果发送给匹配分组中的用户标识对应的客户端的具体实现可以包括:在生成匹配结果后,主动将匹配结果发送给匹配分组中的用户标识对应的客户端;或者,当接收到匹配分组中的用户标识对应的客户端发送的结果查询请求时,将匹配结果发送给匹配分组中的用户标识对应的客户端。在实际应用中,可以主动下发匹配结果,也可以客户端通过轮询获取匹配结果,客户端根据匹配结果加入应用程序中的匹配分组。这样,本发明实施例中根据实际情况可以为每个应用程序设定一个或多个匹配队列,用户可以选择所希望加入的匹配队列,在接收到用户输入的匹配请求后,可以根据匹配请求中的匹配队列标识将该用户的用户标识加入所选择的匹配队列中,通过轮询匹配队列,在该匹配队列中筛选出预设数量的用户进行匹配生成匹配结果,这样为不同应用程序提供了统一的匹配方式和流程,在应用程序平台内可以通过增加匹配队列的方式扩展新的应用程序和应用程序中新的使用模式,例如在游戏应用程序平台内增加新的游戏应用程序或在游戏应用程序中增加新的玩法,从而使实现用户匹配具有较好的通用性和扩展性,降低了实现成本。参见图4-6,以应用程序为游戏类应用程序为例,再对本发明实施例中提供的实现用户匹配的方法中的异步匹配模式进行说明。用户即游戏玩家使用客户端在进入游戏时可以选择游戏玩法,即触发向服务器发送匹配请求,匹配请求中携带有应用标识、用户标识以及匹配队列标识,服务器将该用户标识加入相应的匹配队列中,客户端在发送匹配请求后立即返回,服务器利用匹配线程定时轮询匹配队列,按一定规则(例如玩家等待时间、玩家游戏等级等)在匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,例如用户加入的是1对1玩法的队列,则每两个用户标识被分入同一个匹配分组,每个匹配分组具有不同的匹配分组标识。服务器在完成用户匹配后触发游戏服务器开始游戏初始化,将匹配结果发送给游戏服务器,以使游戏服务器建立匹配分组,同时获知该匹配分组中的用户标识,完成服务器从后台加入游戏。客户端通过轮询或服务器主动下发匹配结果以获得匹配结果,根据匹配结果中的匹配分组标识与游戏服务器建立连接,加入相应的匹配分组,进入游戏界面开始游戏。另外,如果玩家数量有限,无法在预设时间内完成用户匹配,还可以通过AI添加器在匹配队列中加入AI用户,以尽快完成用户之间的匹配减少用户匹配等待时间。这样游戏平台内可以通过增加匹配队列的方式扩展新的游戏应用程序以及游戏应用程序中新的玩法,使实现用户匹配具有通用性、易于扩展,从而降低了实现成本。同时,本发明实施例中提供的实现用户匹配的方法还提供同步匹配模式的用户匹配过程,即当根据匹配请求中的应用标识确定匹配模式为同步匹配时,获取分组标识,将分组标识发送给客户端。参见图7-8,以应用程序为游戏类应用程序为例,对本发明实施例中提供的实现用户匹配的方法中的同步匹配模式进行说明。用户即游戏玩家使用客户端在进入游戏时可以直接触发向服务器发送匹配请求,匹配请求中携带有应用标识以及用户标识,服务器根据应用标识确定匹配模式为同步匹配,服务器在确定为同步匹配后从请求从游戏服务器中获取游戏table(桌子)信息,table信息可以理解为分组标识,即在同步匹配的游戏中一个或多个用户可以使用同一table同时与庄家进行游戏,在游戏中也可以有多个table同时在进行游戏,服务器在获取table信息(即分组标识)后,触发游戏服务器开始游戏初始化,同时将用户标识以及table信息(即分组标识)发送给游戏服务器,完成服务器从后台加入游戏。服务器在加入游戏后将分组标识发送给客户端,以使客户端加入相应的table,进入游戏界面开始游戏。从而使用户无需等待匹配过程,直接进入游戏界面,完成同步匹配流程。参见图9所示,在本发明实施例中还提供一种实现用户匹配的装置实施例,可以包括:接收单元901,用于接收客户端发送的匹配请求。第一加入单元902,用于当根据匹配请求中的应用标识确定匹配模式为异步匹配时,从匹配请求中获取匹配队列标识,将匹配请求中的用户标识加入匹配队列标识对应的匹配队列。筛选单元903,用于轮询匹配队列,从匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,匹配结果包括匹配分组的标识以及匹配分组中的用户标识。在本发明一些可能的实现方式中,筛选单元可以包括:轮询子单元,用于轮询匹配队列;获取子单元,用于获取匹配队列中用户标识对应的用户信息;选择子单元,用于将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。也即筛选单元可以具体用于轮询匹配队列,获取匹配队列中用户标识对应的用户信息;将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。发送单元904,用于将匹配结果发送给匹配分组中的用户标识对应的客户端。在本发明一些可能的实现方式中,发送单元可以包括:第一发送子单元或者第二发送子单元;其中,第一发送子单元,可以用于在生成匹配结果后,主动将匹配结果发送给匹配分组中的用户标识对应的客户端;第二发送子单元,可以用于当接收到匹配分组中的用户标识对应的客户端发送的结果查询请求时,将匹配结果发送给匹配分组中的用户标识对应的客户端。在本发明一些可能的实现方式中,本发明实施例中提供的实现用户匹配的装置还可以包括:第二加入单元,用于当超过预设时间未产生匹配结果,在匹配队列标识对应的匹配队列中加入虚拟用户的用户标识。在本发明一些可能的实现方式中,本发明实施例中提供的实现用户匹配的装置还可以包括:获取单元,用于当根据匹配请求中的应用标识确定匹配模式为同步匹配时,获取分组标识,将分组标识发送给客户端。这样,本发明实施例中根据实际情况可以为每个应用程序设定一个或多个匹配队列,用户可以选择所希望加入的匹配队列,在接收到用户输入的匹配请求后,可以根据匹配请求中的匹配队列标识将该用户的用户标识加入所选择的匹配队列中,通过轮询匹配队列,在该匹配队列中筛选出预设数量的用户进行匹配生成匹配结果,这样为不同应用程序提供了统一的匹配方式和流程,在应用程序平台内可以通过增加匹配队列的方式扩展新的应用程序和应用程序中新的使用模式,例如在游戏应用程序平台内增加新的游戏应用程序或在游戏应用程序中增加新的玩法,从而使实现用户匹配具有较好的通用性和扩展性,降低了实现成本。相应的,本发明实施例还提供一种服务器,参见图10所示,可以包括:处理器1001、存储器1002、输入装置1003和输出装置1004。用户匹配服务器中的处理器1001的数量可以一个或多个,图10中以一个处理器为例。在本发明的一些实施例中,处理器1001、存储器1002、输入装置1003和输出装置1004可通过总线或其它方式连接,其中,图10中以通过总线连接为例。存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行用户匹配服务器的各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置1003可用于接收输入的数字或字符信息,以及产生与用户匹配服务器的用户设置以及功能控制有关的键信号输入。具体在本实施例中,处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现各种功能:接收客户端发送的匹配请求;当根据所述匹配请求中的应用标识确定匹配模式为异步匹配时,从所述匹配请求中获取匹配队列标识,将所述匹配请求中的用户标识加入所述匹配队列标识对应的匹配队列;轮询所述匹配队列,从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,所述匹配结果包括匹配分组的标识以及所述匹配分组中的用户标识;将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,所述从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果,包括:获取所述匹配队列中用户标识对应的用户信息;将符合预设条件的用户信息对应的用户标识作为候选用户标识组,从所述候选用户标识组中选择预设数量的用户标识进行匹配,生成匹配结果。相应的,还包括:当超过预设时间未产生匹配结果,在所述匹配队列标识对应的匹配队列中加入虚拟用户的用户标识,执行轮询所述匹配队列,从所述匹配队列中筛选出预设数量的用户标识进行匹配,生成匹配结果。相应的,所述将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端,包括:在生成匹配结果后,主动将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端;或者,当接收到所述匹配分组中的用户标识对应的客户端发送的结果查询请求时,将所述匹配结果发送给所述匹配分组中的用户标识对应的客户端。相应的,还包括:当根据所述匹配请求中的应用标识确定匹配模式为同步匹配时,获取分组标识,将所述分组标识发送给所述客户端。这样,本发明实施例中根据实际情况可以为每个应用程序设定一个或多个匹配队列,用户可以选择所希望加入的匹配队列,在接收到用户输入的匹配请求后,可以根据匹配请求中的匹配队列标识将该用户的用户标识加入所选择的匹配队列中,通过轮询匹配队列,在该匹配队列中筛选出预设数量的用户进行匹配生成匹配结果,这样为不同应用程序提供了统一的匹配方式和流程,在应用程序平台内可以通过增加匹配队列的方式扩展新的应用程序和应用程序中新的使用模式,例如在游戏应用程序平台内增加新的游戏应用程序或在游戏应用程序中增加新的玩法,从而使实现用户匹配具有较好的通用性和扩展性,降低了实现成本。需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
:内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1