数据重传方法及系统与流程

文档序号:12691676阅读:235来源:国知局
数据重传方法及系统与流程
本发明涉及计算机数据传输
技术领域
,尤其涉及一种数据重传方法及系统。
背景技术
:在当前的云服务时代,分散在各个节点服务器或者容器内的日志需要统一的收集、归整、分析,然后汇总、保存。随着信息技术的高速发展,节点服务器所承载的业务量与日俱增,产生了海量日志数据;同时,随着网络的发展与运营商的多元化,服务提供商之间的相互竞争更加激烈,对服务质量的要求也越来越高,这就使得提供服务的节点服务器变得极其分散,再也不能只存在主流的运营商和少量的节点上。因此,收集和传输这些极其分散的海量日志数据更加困难。当前的日志数据接收端需要接收和处理海量数据,承担的压力和负载非常高,并且接收服务器的网络环境和性能稳定性也难以一直保持在理想状态。同时,在多元化的网络运营商与复杂的网络环境下,难以完全保障数据传输成功,这就使得,业务上要求高完整度地收集日志数据和网络传输的成功率之间形成了矛盾。当前的失败重传方案,只是在应用层以常规简单的方式进行不断地重传,这种方案在面对接收极其分散的海量日志数据的情况下,很难在最终结果上保障业务上对日志数据的完整性要求,同时还可能对数据接收端服务器和网络形成冲击,加大了接收端负载,使当前情况更加恶化,进而带来了不必要的网络带宽消耗,增加了成本。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种数据重传方法及系统。所述技术方案如下:一方面,提供了一种数据重传方法,包括如下步骤:发送端向接收端传输数据;所述发送端和所述接收端均统计数据传输结果,分别生成发送端数据传输结果和接收端数据传输结果;所述发送端根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数;所述发送端根据调整后的所述重传参数将数据重传至所述接收端。进一步的,所述重传参数至少包括重传周期、重传速率。进一步的,所述发送端和所述接收端均统计数据传输结果,分别生成发送端数据传输结果和接收端数据传输结果的步骤具体包括:所述发送端每隔第一设定时段对第一固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述发送端数据传输结果,所述发送端数据传输结果至少包括所述发送端在所述第一固定时段内其数据传输的失败状态码集合、总传输次数、成功率;所述接收端每隔第二设定时段对第二固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述接收端数据传输结果,所述接收端数据传输结果至少包括所述接收端在所述第二固定时段内其数据传输的失败状态码集合、总传输次数、成功率。进一步的,所述发送端根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数的步骤具体为:所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传周期,与设定失败状态码、设定传输次数、设定成功率、设定重传周期进行匹配,调整下一重传周期为当前重传周期的固定比例值;或者,所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传速率,与设定失败状态码、设定传输次数、设定成功率、设定重传速率进行匹配,调整下一重传速率为当前重传速率的固定比例值。进一步的,所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传周期,与设定失败状态码、设定传输次数、设定成功率、设定重传周期进行匹配,调整下一重传周期为当前重传周期的固定比例值的步骤具体包括:如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输连接数超限的失败状态码并且当前重传周期大于重传周期设定值,则当前重传周期的下一重传周期为当前重传周期的固定比例值;如果成功率小于成功率设定值或者存在传输连接数超限的失败状态码,并且当前重传周期小于重传周期设定值,则当前重传周期的下一重传周期为当前重传周期的固定比例值。进一步的,所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传速率,与设定失败状态码、设定传输次数、设定成功率、设定重传速率进行匹配,调整下一重传速率为当前重传速率的固定比例值的步骤具体包括:如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输带宽限制的失败状态码并且当前重传速率小于重传速率设定值,则当前重传速率的下一重传速率为当前重传速率的固定比例值;如果成功率小于成功率设定值或者存在传输带宽限制的失败状态码,并且当前重传速率大于重传速率设定值,则当前重传速率的下一重传速率为当前重传速率的固定比例值。进一步的,所述发送端根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数的步骤具体为:所述发送端向所述接收端获取接收端数据传输结果,如果获取成功,则所述发送端根据所述接收端数据传输结果调整重传参数;如果获取失败,则所述发送端根据所述发送端数据传输结果调整重传参数。另一方面,提供了一种数据重传系统,包括发送端和接收端,所述发送端包括发送模块、发送端统计模块以及重传模块,所述接收端包括接收模块和接收端统计模块;所述发送模块,用于向所述接收端传输数据;所述发送端统计模块,用于统计数据传输结果,生成发送端数据传输结果;所述接收模块,用于接收所述发送端传输的数据;所述接收端统计模块,用于统计数据传输结果,生成接收端数据传输结果;所述重传模块,用于根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端。进一步的,所述重传参数至少包括重传周期、重传速率。进一步的,所述发送端统计模块,还用于每隔第一设定时段对第一固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述发送端数据传输结果,所述发送端数据传输结果至少包括所述发送端在所述第一固定时段内其数据传输的失败状态码集合、总传输次数、成功率;进一步的,所述接收端统计模块,还用于每隔第二设定时段对第二固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述接收端数据传输结果,所述接收端数据传输结果至少包括所述接收端在所述第二固定时段内其数据传输的失败状态码集合、总传输次数、成功率。进一步的,所述重传模块还用于:将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传周期,与设定失败状态码、设定传输次数、设定成功率、设定重传周期进行匹配,调整下一重传周期为当前重传周期的固定比例值;或者,将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传速率,与设定失败状态码、设定传输次数、设定成功率、设定重传速率进行匹配,调整下一重传速率为当前重传速率的固定比例值。进一步的,所述重传模块还用于:如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输连接数超限的失败状态码并且当前重传周期大于重传周期设定值,调整当前重传周期的下一重传周期为当前重传周期的固定比例值;如果成功率小于成功率设定值或者存在传输连接数超限的失败状态码,并且当前重传周期小于重传周期设定值,调整当前重传周期的下一重传周期为当前重传周期的固定比例值。进一步的,所述重传模块还用于:如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输带宽限制的失败状态码并且当前重传速率小于重传速率设定值,调整当前重传速率的下一重传速率为当前重传速率的固定比例值;如果成功率小于成功率设定值或者存在传输带宽限制的失败状态码,并且当前重传速率大于重传速率设定值,调整当前重传速率的下一重传速率为当前重传速率的固定比例值。进一步的,所述重传模块还用于,向所述接收端获取接收端数据传输结果,如果获取成功,则根据所述接收端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端;如果获取失败,则根据所述发送端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端。本发明实施例提供的技术方案带来的有益效果是:根据数据传输结果调整数据重传参数如重传周期和重传速率,实现智能数据重传,能够对接收端起到一定的保护,并减少不必要的网络传输带宽消耗,最大限度地保障业务上对日志数据的完整性要求。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的一种数据重传方法流程图;图2是本发明实施例一提供的步骤S102的详细子步骤流程图;图3是本发明实施例一提供的另一种数据重传方法流程图;图4是本发明实施例二提供的一种数据重传系统示意图;图5是本发明实施例二提供的另一种数据重传系统示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例一参见图1,本发明实施例提供了一种数据重传方法,包括如下步骤:S101:发送端向接收端传输数据。在实际传输场景中,发送端的数量很多,并且分散在不同的地方,导致这些发送端的网络环境复杂且多元化。相对于发送端,接收端的数量很少,但是,这些发送端都向每一个接收端发送同样的数据,这就导致每一个接收端将接收海量的数据。在数据传输过程中,每一个发送端根据其数据传输请求向接收端传输数据,其中,数据传输请求包括数据传输的各种信息,例如数据接收目标、数据大小、传输协议。S102:所述发送端和所述接收端均统计数据传输结果,分别生成发送端数据传输结果和接收端数据传输结果。在本实施例中,数据传输结果是作为调整重传参数的数据基础,该数据传输结果能够反映接收端或发送端当前的网络环境,以及接收端或发送端服务器性能的稳定性。数据传输结果包括很多,例如失败状态码、数据传输次数、成功状态码。对于状态码,当数据传输失败时,数据传输结果包括本次传输失败的失败状态码,当数据传输成功时数据传输结果包括本次传输成功的状态码,在本实施例中,对失败状态码和数据传输次数进行统计,作为数据传输结果的数据来源。具体而言,失败状态码是作为数据传输失败原因的一种反馈标识,例如标识网络中断或者传输宽带限制导致的传输失败。参见表1,表1列出了部分失败状态码,当然,表1的内容还能够根据具体情况进行增减和编辑,在此不做限定。表1失败状态码状态码含义500目标网络不可达501传输场景标识不识别503数据输出到目标端口失败507目标服务器上数据输出目录写入失败509传输带宽限制510传输连接数超限参见图2,在本实施例中,所述发送端和所述接收端均统计数据传输结果,分别生成发送端数据传输结果和接收端数据传输结果的步骤具体包括S1021-S1022两个子步骤。S1021:所述发送端每隔第一设定时段对第一固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述发送端数据传输结果,所述发送端数据传输结果至少包括所述发送端在所述第一固定时段内其数据传输的失败状态码集合、总传输次数、成功率。例如,发送端每隔一分钟对其五分钟内数据传输的失败状态码和数据传输次数进行统计,生成发送端数据传输结果,其中,失败状态码集合包括五分钟内所有数据传输的失败状态码,总传输次数为五分钟内所有数据传输次数的总数,成功率为五分钟内所有数据传输成功的次数占总传输次数的百分比,数据传输成功的次数由总传输次数减去失败状态码总数得到。S1022:所述接收端每隔第二设定时段对第二固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述接收端数据传输结果,所述接收端数据传输结果至少包括所述接收端在所述第二固定时段内其数据传输的失败状态码集合、总传输次数、成功率。例如,接收端每隔一分钟对其五分钟内数据传输的失败状态码和数据传输次数进行统计,生成接收端数据传输结果。其中,失败状态码集合包括五分钟内所有数据传输的失败状态码,总传输次数为五分钟内所有数据传输次数的总数,成功率为五分钟内所有数据传输成功的次数占总传输次数的百分比,数据传输成功的次数由总传输次数减去失败状态码总数得到。需要说明的是,上述第一设定时段和第二设定时段可以是相同的也可以是不同的,第一固定时段和第二固定时段可以是相同的也可以是不同的,在此不做限定。在本实施例中,由于接收端接收大量不同发送端的数据传输,因而其生成的接收端数据传输结果,较单个发送端生成的发送端数据传输结果更加具有全局性和更加准确。数据传输结果是作为调整重传参数的数据基础,具体如何选用数据传输结果,有多种实施方式,可以优先采用接收端数据传输结果,也可以只采用发送端数据传输结果,还可以同时采用发送端数据传输结果和接收端数据传输结果。对于同时采用发送端数据传输结果和接收端数据传输结果的实施方式,此时,存在两套数据传输结果,优先选用接收端的接收端数据传输结果作为调整重传参数的数据基础;当发送端获取不到接收端数据传输结果时,再采用发送端自身的发送端数据传输结果作为调整重传参数的数据基础。在这种情况下,接收端数据传输结果和发送端数据传输结果互为备用,在其中一个数据传输结果无法采用时,采用另一个数据传输结果,进一步扩大并保证了调整重传参数的数据来源。S103:所述发送端根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数。在本实施例中,当数据传输失败时,发送端不是一味的进行传输尝试,而是根据数据传输结果调整重传参数,进行数据重传。在本实施例中,所述重传参数至少包括重传周期、重传速率。重传周期是指数据传输失败后,再次发起该数据传输的周期,例如当前接收端接收状况良好,通过将传输周期调小,尽快将传输失败的数据进行重传。重传速率是指数据传输失败后,重新传输数据的传输速率,例如当前接收端网络状况不佳,只能承受较低的连接数和传输带宽,通过调低传输速率,保证当前数据传输的稳定性和数据完整性。在本实施例中,所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传周期,与设定失败状态码、设定传输次数、设定成功率、设定重传周期进行匹配,调整下一重传周期为当前重传周期的固定比例值。上述匹配并调整重传周期的过程具体为,如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输连接数超限的失败状态码并且当前重传周期大于重传周期设定值,调整当前重传周期的下一重传周期为当前重传周期的固定比例值。例如,如果成功率大于等于80%并且总传输次数大于20并且不存在510状态码并且当前重传周期大于2s,则当前重传周期的下一重传周期为当前重传周期的50%,比如当前重传周期为3s,调整当前重传周期的下一重传周期为1.5s。如果成功率小于成功率设定值或者存在传输连接数超限的失败状态码,并且当前重传周期小于重传周期设定值,则当前重传周期的下一重传周期为当前重传周期的固定比例值。例如,如果成功率小于70%,或者,存在510状态码并且当前重传周期小于5s,则当前重传周期的下一重传周期为当前重传周期的120%。在本实施例中,所述发送端将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传速率,与设定失败状态码、设定传输次数、设定成功率、设定重传速率进行匹配,调整下一重传速率为当前重传速率的固定比例值。上述匹配并调整重传速率的过程具体为,如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输带宽限制的失败状态码并且当前重传速率小于重传速率设定值,则当前重传速率的下一重传速率为当前重传速率的固定比例值。例如,如果成功率大于等于80%并且请求数大于20并且不存在509状态码并且当前重传速率小于1MB/s,则当前重传速率的下一重传速率为当前重传速率的110%。如果成功率小于成功率设定值或者存在传输带宽限制的失败状态码,并且当前重传速率大于重传速率设定值,则当前重传速率的下一重传速率为当前重传速率的固定比例值。例如,如果成功率小于70%,或者,存在509状态码并且当前重传速率大于0.1MB/s,则当前重传速率的下一重传速率为当前重传速率的90%。根据数据传输结果调整数据重传参数如重传周期和重传速率,实现智能数据重传,能够对接收端起到一定的保护,并减少不必要的网络传输带宽消耗,最大限度地保障业务上对日志数据的完整性要求。进一步的,上述调整重传参数的过程还存在其他实施方式。例如,如果数据传输的目标临时网络中断,在这段时间内,数据传输成功率很低,发送端调整重传周期为最大值,中断不必要的失败重传尝试,同时直接累积失败重传任务,并且在网络恢复后,即成功率较高时,提升重传周期和重传速率,尽快地将网络中断期间所失败的传输任务重传完成,保证目标服务器上数据的完整性。另外,对于一些特别的状态码,比如表一中所列的501、503、507等非网络因素(应用层原因)造成的结果性失败,再多的尝试也没有意义,当比例超过一定的值,例如30%,除了为发送端的重传提供决策基础,还可以直接产生报警信息,以便维护人员及时排查具体原因并恢复,保障业务要求的数据完整性。S104:所述发送端根据调整后的所述重传参数将数据重传至所述接收端。在本实施例中,上述发送端按照调整后的重传周期和重传速率,将数据重传至接收端。参见图3,图3示出了本实施例的另一种实施方式,包括如下步骤:S301:发送端向接收端传输数据。S302:所述发送端和所述接收端均统计数据传输结果,分别生成发送端数据传输结果和接收端数据传输结果。S303:所述发送端向所述接收端获取接收端数据传输结果,如果获取成功,则所述发送端根据所述接收端数据传输结果调整重传参数;如果获取失败,则所述发送端根据所述发送端数据传输结果调整重传参数。S304:所述发送端根据调整后的所述重传参数将数据重传至所述接收端。在本实施方式中,由于存在两套数据传输结果,优先选用接收端的接收端数据传输结果作为调整重传参数的数据基础;当发送端获取不到接收端数据传输结果时,再采用发送端自身的发送端数据传输结果作为调整重传参数的数据基础,进一步扩大并保证了调整重传参数的数据来源。本实施例还存在其他的实施方式,例如发送端只根据接收端数据传输结果调整重传参数,或者发送端只根据发送端数据传输结果调整重传参数,也能够对接收端起到一定的保护,减少不必要的网络传输带宽消耗,保障业务上对日志数据的完整性要求。实施例二参见图4,本发明实施例提供了一种数据重传系统,可以执行实施例一中提供的数据重传方法,包括发送端40和接收端41,其中,所述发送端40包括发送模块401、发送端统计模块402以及重传模块403,所述接收端41包括接收模块411和接收端统计模块412;所述发送模块401,用于向所述接收端41传输数据;所述发送端统计模块402,用于统计数据传输结果,生成发送端数据传输结果;所述接收模块411,用于接收所述发送端40传输的数据;所述接收端统计模块412,用于统计数据传输结果,生成接收端数据传输结果;所述重传模块403,用于根据所述接收端数据传输结果或者所述发送端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端。在本实施例中,所述重传参数至少包括重传周期、重传速率。在本实施例中,所述发送端统计模块402,还用于每隔第一设定时段对第一固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述发送端数据传输结果,所述发送端数据传输结果至少包括所述发送端40在所述第一固定时段内其数据传输的失败状态码集合、总传输次数、成功率。在本实施例中,所述接收端统计模块412,还用于每隔第二设定时段对第二固定时段内其数据传输的失败状态码和数据传输次数进行统计,生成所述接收端数据传输结果,所述接收端数据传输结果至少包括所述接收端41在所述第二固定时段内其数据传输的失败状态码集合、总传输次数、成功率。在本实施例中,所述重传模块403还用于,将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传周期,与设定失败状态码、设定传输次数、设定成功率、设定重传周期进行匹配,调整下一重传周期为当前重传周期的固定比例值。具体地,如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输连接数超限的失败状态码并且当前重传周期大于重传周期设定值,重传模块403调整当前重传周期的下一重传周期为当前重传周期的固定比例值;如果成功率小于成功率设定值或者存在传输连接数超限的失败状态码,并且当前重传周期小于重传周期设定值,重传模块403调整当前重传周期的下一重传周期为当前重传周期的固定比例值。在本实施例中,所述重传模块403还用于,将所述接收端数据传输结果或者所述发送端数据传输结果中的失败状态码集合所包括的失败状态码、总传输次数、成功率和当前重传速率,与设定失败状态码、设定传输次数、设定成功率、设定重传速率进行匹配,调整下一重传速率为当前重传速率的固定比例值。具体地,如果成功率大于等于成功率设定值并且总传输次数大于传输次数设定值并且不存在传输带宽限制的失败状态码并且当前重传速率小于重传速率设定值,重传模块403调整当前重传速率的下一重传速率为当前重传速率的固定比例值;如果成功率小于成功率设定值或者存在传输带宽限制的失败状态码,并且当前重传速率大于重传速率设定值,重传模块403调整当前重传速率的下一重传速率为当前重传速率的固定比例值。参见图5,图5示出了本实施例的另一种实施方式,包括发送端50和接收端51,其中,所述发送端50包括发送模块501、发送端统计模块502以及重传模块503,所述接收端51包括接收模块511和接收端统计模块512;所述发送模块501,用于向所述接收端51传输数据;所述发送端统计模块502,用于统计数据传输结果,生成发送端数据传输结果;所述接收模块511,用于接收所述发送端50传输的数据;所述接收端统计模块512,用于统计数据传输结果,生成接收端数据传输结果;所述重传模块503,用于向所述接收端获取接收端数据传输结果,如果获取成功,则根据所述接收端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端;如果获取失败,则根据所述发送端数据传输结果调整重传参数,并根据调整后的所述重传参数将数据重传至所述接收端。根据数据传输结果调整数据重传参数如重传周期和重传速率,实现智能数据重传,能够对接收端起到一定的保护,并减少不必要的网络传输带宽消耗,最大限度地保障业务上对日志数据的完整性要求。在本实施方式中,存在两套数据传输结果,优先选用接收端51的接收端数据传输结果作为调整重传参数的数据基础;当发送端50获取不到接收端数据传输结果时,再采用发送端50自身的发送端数据传输结果作为调整重传参数的数据基础。在这种情况下,接收端数据传输结果和发送端数据传输结果互为备用,在其中一个数据传输结果无法采用时,采用另一个数据传输结果,进一步扩大并保证了调整重传参数的数据来源。本实施例还存在其他的实施方式,例如重传模块503只根据接收端数据传输结果调整重传参数,或者重传模块503只根据发送端数据传输结果调整重传参数,也能够对接收端51起到一定的保护,减少不必要的网络传输带宽消耗,保障业务上对日志数据的完整性要求。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1