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

系统流量分配方法、装置、设备以及计算机可读存储介质与流程

2022-07-30 13:07:43 来源:中国专利 TAG:


1.本发明涉及互联网通信技术领域,尤其涉及一种系统流量分配方法、装置、设备以及计算机可读存储介质。


背景技术:

2.一般大型系统会做异地多活配置,在多个不同的地方,搭建多套系统,多套系统可以同时承载业务流量,当一个站点发生故障(硬件问题、机房断电或其他自然灾害地震等)时,可以快速(分钟级)切换到其他的异地站点,由此来保证系统的正常运行。
3.做异地多活时,需要考虑正常业务状态下的流量分配问题,相当于系统分为多个节点,每个节点的处理性能只有总性能的一部分,如果流量分配不均,则会导致其他节点业务量增加,单个节点系统压力增大,可能会影响到业务的正常处理。通常的处理方案是根据请求位置到系统节点的距离或者按请求的区域划分,直接分配到就进的节点进行业务处理。但用户请求来源具有不确定性,例如在某地做业务推广,有可能出现用户和请求突增的情况,或者是其他导致系统访问量和用户数激增的情况,按照上述方式来分配流量,可能导致某节点请求量过高、处理时延变长、业务积压,甚至是节点宕机的问题。


技术实现要素:

4.本发明的主要目的在于提供一种系统流量分配方法、装置、设备以及计算机可读存储介质,旨在提高系统流量分配的准确性。
5.为实现上述目的,本发明提供的一种系统流量分配方法,所述系统流量分配方法包括以下步骤:
6.确定各系统的并发数阈值超过预设并发数阈值的可能性;
7.确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;
8.根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
9.可选地,所述确定各系统的并发数阈值超过预设并发数阈值的可能性的步骤,包括:
10.获取各所述系统的最大并发数、以及所述系统在预设周期中以预设采集间隔获取到的并发数的集合;
11.根据所述最大并发数、所述预设周期、以及所述集合确定各所述系统的并发数阈值超过预设并发数阈值的可能性。
12.可选地,所述根据所述最大并发数、所述预设周期、以及所述集合各系统的并发数阈值超过预设并发数阈值的可能性的步骤,包括:
13.根据所述最大并发数得到各系统在预设采集间隔的系统可容忍并发数;
14.根据系统可容忍并发数以及所述并发数的集合,得到所述预设周期内各系统的剩余并发数;
15.确定各所述剩余并发数,与各所述系统可容忍并发数、预设周期以及最大并发数的比值为所述各系统的并发数阈值超过预设并发数阈值的可能性。
16.可选地,所述确定各系统的系统稳定系数的步骤,包括:
17.获取各系统在预设周期内处理每一请求的处理时间的集合;
18.获取所述各系统的平均响应时间、以及响应时间方差;
19.根据所述平均响应时间、以及响应时间方差以及所述集合确定所述系统稳定系数。
20.可选地,根据所述系统稳定系数设置对应的风险等级的步骤,包括:
21.在所述各系统的稳定性系数差值大于预设值时,根据各系统的资源信息设置对应的风险等级。
22.可选地,执行所述根据各系统的资源信息设置对应的风险等级的同时,还执行:
23.根据各系统的目标任务距离上一次更新的时间间隔,确定所述风险等级的可信度;
24.在所述风险等级的可信度低于预设值时,重新启动所述目标任务。
25.可选地,所述根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统的步骤,包括:
26.根据所述可信度确定目标任务当前所处的周期;
27.根据所述风险等级、所述可能性以及所述周期确定各所述系统对应的分流指数;
28.根据所述分流指数确定将接收到的系统流量分配至对应的系统。
29.为实现上述目的,本发明还提供一种系统流量分配装置,所述系统流量分配装置包括:
30.接收模块,用于确定各系统的并发数阈值超过预设并发数阈值的可能性;
31.第一确定模块,用于确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;
32.第二确定模块,用于根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
33.为实现上述目的,本发明还提供一种系统流量分配设备,所述系统流量分配设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的系统流量分配程序,所述系统流量分配程序被所述处理器执行时实现如上所述的系统流量分配方法的各个步骤。
34.为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有系统流量分配程序,所述系统流量分配程序被处理器执行时实现如上所述的系统流量分配方法的各个步骤。
35.本发明提供的一种系统流量分配方法、装置、设备以及计算机可读存储介质,确定各系统的并发数阈值超过预设并发数阈值的可能性,以及确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级,根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统
流量分配至对应的系统。通过分析各系统的分流指数,提高了分配系统流量的准确性。
附图说明
36.图1为本发明实施例涉及的系统流量分配设备的硬件结构示意图;
37.图2为本发明系统流量分配方法的一实施例的流程示意图;
38.图3为本发明系统流量分配方法的另一实施例的步骤s20的细化流程示意图;
39.图4为本发明系统流量分配方法的流程示意图;
40.图5为本发明系统流量分配方法的模块示意图。
41.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.本发明实施例的主要解决方案是:确定各系统的并发数阈值超过预设并发数阈值的可能性;确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
44.作为一种实现方案,系统流量分配设备可以如图1所示。
45.本发明实施例方案涉及的是系统流量分配设备,系统流量分配设备包括:处理器101,例如cpu,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。
46.存储器102可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机可读存储介质的存储器102中可以包括系统流量分配程序;而处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
47.确定各系统的并发数阈值超过预设并发数阈值的可能性;
48.确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;
49.根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
50.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
51.获取各所述系统的最大并发数、以及所述系统在预设周期中以预设采集间隔获取到的并发数的集合;
52.根据所述最大并发数、所述预设周期、以及所述集合确定各所述系统的并发数阈值超过预设并发数阈值的可能性。
53.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
54.根据所述最大并发数得到各系统在预设采集间隔的系统可容忍并发数;
55.根据系统可容忍并发数以及所述并发数的集合,得到所述预设周期内各系统的剩余并发数;
56.确定各所述剩余并发数,与各所述系统可容忍并发数、预设周期以及最大并发数的比值为所述各系统的并发数阈值超过预设并发数阈值的可能性。
57.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
58.获取各系统在预设周期内处理每一请求的处理时间的集合;
59.获取所述各系统的平均响应时间、以及响应时间方差;
60.根据所述平均响应时间、以及响应时间方差以及所述集合确定所述系统稳定系数。
61.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
62.在所述各系统的稳定性系数差值大于预设值时,根据各系统的资源信息设置对应的风险等级。
63.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
64.根据各系统的目标任务距离上一次更新的时间间隔,确定所述风险等级的可信度;
65.在所述风险等级的可信度低于预设值时,重新启动所述目标任务。
66.在一实施例中,处理器101可以用于调用存储器102中存储的系统流量分配程序,并执行以下操作:
67.根据所述可信度确定目标任务当前所处的周期;
68.根据所述风险等级、所述可能性以及所述周期确定各所述系统对应的分流指数;
69.根据所述分流指数确定将接收到的系统流量分配至对应的系统。
70.一般大型系统会做异地多活配置,在多个不同的地方,搭建多套系统,多套系统可以同时承载业务流量,当一个站点发生故障(硬件问题、机房断电或其他自然灾害地震等)时,可以快速(分钟级)切换到其他的异地站点,由此来保证系统的正常运行。
71.做异地多活时,需要考虑正常业务状态下的流量分配问题,相当于系统分为多个节点,每个节点的处理性能只有总性能的一部分,如果流量分配不均,则会导致其他节点业务量增加,单个节点系统压力增大,可能会影响到业务的正常处理。通常的处理方案是根据请求位置到系统节点的距离或者按请求的区域划分,直接分配到就进的节点进行业务处理。但用户请求来源具有不确定性,例如在某地做业务推广,有可能出现用户和请求突增的情况,或者是其他导致系统访问量和用户数激增的情况,按照上述方式来分配流量,可能导致某节点请求量过高、处理时延变长、业务积压,甚至是节点宕机的问题。
72.提出本发明系统流量分配方法的实施例。
73.参照图2,图2为本发明系统流量分配方法的一实施例,所述系统流量分配方法包括以下步骤:
74.步骤s10,确定各系统的并发数阈值超过预设并发数阈值的可能性;
75.在本实施例的执行主体为系统流量分配装置。在本技术中,系统流量分配装置可以控制多个系统。可选地,在本技术中,以两个系统为例进行说明。
76.可选地,在本实施例中,获取各系统的最大并发数、以及系统在预设周期中以预设
采集间隔获取到的并发数的集合,根据最大并发数、预设周期、以及集合确定各系统的并发数阈值超过预设并发数阈值的可能性。
77.各系统的最大并发数对各个系统进行性能测试,得到各个系统的最大并发数cm。
78.预设周期为t,预设采集间隔为在周期t中获取各个系统的并发数的时间间隔,进而得到系统在周期t的时间内以预设采集间隔采集到的并发数的集合c
t
(1≤t≤t)。
79.示例性地,在本实施例中在两个系统后台部署并启动定时任务(get_concurrency_task)获取系统每分钟的并发数,每分钟运行一次。
80.可选地,在本实施例中,当系统的内存使用率低于50%的时候,开始探测系统当前实际每分钟并发数得到集合。
81.可选地,可设置系统可容忍的每分钟并发数阀值,例如,设置其为其中设置为80%cm,即系统可容忍的每分钟并发数阀值为cm的80%。可以理解的是,该百分比可以随系统的实际运行情况进行设置。
82.每一时间周期计算一次系统并发数阀值超过系统预设的并发数阀值的可能性,根据公式:
[0083][0084]
首先系统最大并发数与系统可容忍的每分钟并发数阀值(一般设为常量80%)的乘积,得到结果为系统可容忍的每分钟并发数,接着减去第t分钟的并发数,为剩余的并发数。然后累加表示这个周期内所有剩余可产生的并发数。例如最大是1000,已经产生900,剩余100就是剩余可容忍的并发数。最后除以“系统最大并发数与系统可容忍的每分钟并发数阀值(一般设为常量80%)的乘积”和“周期数”乘积,最终得到的结果就认为是系统并发数阀值超过系统预设的并发数阀值的可能性。
[0085]
两个异地系统在系统初始化部署时,就在后台部署并启动定时任务(get_over_threshold_task),计算系统超过最大并发数的可能性,以预设周期每5分钟执行一次,则将t=5带入上述公式计算得出系统并发数阀值超过系统预设的并发数阀值的可能性pc,并将两个系统得到的p
ca
、p
cb
作为系统全局变量保存。通过确定各所述剩余并发数,与各所述系统可容忍并发数、预设周期以及最大并发数的比值为所述各系统的并发数阈值超过预设并发数阈值的可能性,为确定将当前接收到的系统流量分配至对应的系统提供基础。
[0086]
步骤s20,确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;
[0087]
可选地,获取各系统在预设周期内处理每一请求的处理时间的集合,获取各系统的平均响应时间、以及响应时间方差,根据平均响应时间、以及响应时间方差以及集合确定系统稳定系数。
[0088]
在检测到用户终端发起请求后,确定各系统并发数阀值超过系统预设的并发数阀值的可能性p
ca
、p
cb
,将当前的请求发送至可能性较小的值对应的系统。例如系统a,系统处理完请求后,记录响应时间,汇总得到集合rta。
[0089]
可选地,在本实施例中,可以通过设置采集率的值,避免在系统繁忙时并发处理接收到的请求。
[0090]
假设采集率的值为80%,那么意味着系统收到10条请求,其中有8条会启动同步任务。而同步任务就是系统将请求转发给pc值较小的系统同时会向另一个系统发送一条一样的请求,并且同样记录响应时间,即向系统a查询用户系统,并返回给用户的同时,向系统b也发送一条同样的请求,获取到请求响应的时候记录下响应时间rtb,汇总集合为rtb。例如采集率设置为80%,则系统收到10条请求,其中有8条会启动同步任务,会采集到这8条请求的响应时间。由此得到预设周期内两个系统的处理时间集合和
[0091]
在系统初始化部署时,后台部署并启动流量分配修正的定时任务(get_response_time_task)获取系统的响应时间集合,用以计算最终的系统稳定系数。
[0092]
例如,可以以每m小时收集响应时间集合数据,假设m=1。可选地,前期系统业务量小,数据量小,可以将任务周期m设置大一些,保证一个周期内的数据量足够大。后期业务量上大,可以调小周期m,让任务周期短些,便于系统灵活调节,即一个小时内的响应时间数据为一个rt集合。最终任务得到集合g
rt
={rt1,rt2,...,rtm},则系统a在1小时内的rt集合为:
[0093][0094]
根据如下公式计算得到系统a的稳定系数:
[0095][0096]
其中,表示get_response_time_task任务一个周期内得到的系统响应时间差值平方的平均值,值越小说明该周期内系统响应时间差距越小,该周期的系统越稳定。表示m个周期的“系统响应时间差值平方的平均值”与rta的系统响应时间差值平方的平均值的差值的平均值。通过计算得到的响应时间与平均响应时间差距平方的平均值。最终公式结果得到的值越小说明系统运行越平稳,以此来作为系统的稳定系数。得到最终结果表示a系统的响应时间维度体现的系统稳定系数,再将g
rtb
带入公式,得到系统b的响应时间维度体现的系统稳定系数。
[0097]
将a、b两个系统的系统稳定系数进行比较,如果两个值差别不大,说明两个系统较为稳定,流量分配方式继续运行。如果a、b两地的稳定系数两者明显存在较大差距,那么可
以根据具体的系统资源情况设置对应的风险等级rl,默认为0。目标任务(get_response_time_task)的识别结果出来后,按0-1来更新风险标识rl,rl=0.1表示风险提醒,rl=1表示严重告警。
[0098]
步骤s30,根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
[0099]
系统分流指数计算公式为:
[0100]
pc×
0.084i rl
×
(1-0.084i)
ꢀꢀ
(公式3);
[0101]
将所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,可选地,在本实施例中可确定将当前接收到的系统流量分配至分流指数最小的系统,或者分流指数满足预设阈值的系统,其中,预设阈值可根据实际情况进行设置。例如,在存在两个系统时,将当前接收到的系统流量分配至最分流指数最小的系统;在存在三个或三个以上的系统时,将当前获取到的系统流量随机分配至分流指数满足预设阈值的系统,其中,进一步确定分流指数满足预设阈值的系统存在两个或两个以上时,可随机选择其中任意一个系统,将当前接收到的系统流量分配至所述系统。
[0102]
在本实施例中,确定各系统的并发数阈值超过预设并发数阈值的可能性,确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级,根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据分流指数确定将接收到的系统流量分配至对应的系统。通过分析各系统的分流指数,提高了分配系统流量的准确性。
[0103]
参照图3,图3为本发明系统流量分配方法的另一实施例,基于第一实施例,所述步骤s20包括:
[0104]
步骤s21,在所述各系统的稳定性系数差值大于预设值时,根据各系统的资源信息设置对应的风险等级。
[0105]
可以理解的是,在本实施例中,当get_response_time_task和get_over_threshold_task刚启动完成时,结果为系统当前最新状态,此时rl的可信度为100%,由于get_over_threshold_task执行一次,代表get_response_time_tas(目标任务)的结果是5分钟前的,get_over_threshold_task执行第二次,代表get_response_time_task的结果是10分钟前的。即,随着时间的增大而get_response_time_task的周期是一个小时,所以间隔时间越长,系统可能变化越多,因此可信度在不断降低。而get_over_threshold_task周期是5分钟,get_response_time_task周期是1小时,即60分钟。此处认为到get_over_threshold_task的第12个周期的时候,可信度为0,则get_over_threshold_task每执行一次,可信度降低100/12约等于8.4,即此后get_over_threshold_task每执行一次,rl的可信度就降低8.4%。而get_response_time_task重新运行,结果可反映系统最新状态,此处就认为可信度最高,即get_response_time_task每运行一次rl的可信度就重置一次,重置为100%。
[0106]
可选地,在本实施例中,通过在get_response_time_tas的可信度小于预设值时,表示当前计算得到的风险等级可信度较低,重新启动接收目标任务,提高确定风险等级的准确性。
[0107]
参照图4,图4为本技术过的流程示意图,本技术提出了三个任务,分别是get_
concurrency_task:获取系统每分钟的并发数、get_over_threshold_task:计算系统超过最大并发数的可能性、get_response_time_task:得到最终的系统稳定系数。从系统启动开始,这三个任务就可以启动了,每个任务的统计周期可能不一样:get_concurrency_task一分钟统计一次,得到系统每分钟的并发数作为get_over_threshold_task计算时的输入条件;get_over_threshold_task的周期大于或等于一分钟,每执行一次,就是根据get_concurrency_task任务得到的并发数数据计算得到超过最大并发数的可能性;get_response_time_task是获取系统的响应时间集合,用以计算最终的系统稳定系数。
[0108]
系统启动时,三个任务同时启动,按各自周期执行。用户对系统每发出一条请求,就按照流程所示步骤进行即可。当没有系统风险时,请求走到“系统流量转发到金额能行较小的系统”这一步就是结束。后面流程是为收集数据,计算系统风险等级的。当系统风等级大于0时,根据三个任务的结果,最终请求会转发到分流指数较小的系统。所有请求按如此流程转发。
[0109]
本发明还提供一种系统流量分配装置,所述系统流量分配装置包括:
[0110]
接收模块10,用于确定各系统的并发数阈值超过预设并发数阈值的可能性;
[0111]
第一确定模块20,用于确定各系统的系统稳定系数,并根据所述系统稳定系数设置对应的风险等级;
[0112]
第二确定模块30,用于根据所述风险等级、所述可能性以及所述风险等级的可信度确定各所述系统对应的分流指数,根据所述分流指数确定将接收到的系统流量分配至对应的系统。
[0113]
在一实施例中,在确定各系统的并发数阈值超过预设并发数阈值的可能性方面,接收模块10具体用于:
[0114]
获取各所述系统的最大并发数、以及所述系统在预设周期中以预设采集间隔获取到的并发数的集合;
[0115]
根据所述最大并发数、所述预设周期、以及所述集合确定各所述系统的并发数阈值超过预设并发数阈值的可能性。
[0116]
在一实施例中,在根据所述最大并发数、所述预设周期、以及所述集合各系统的并发数阈值超过预设并发数阈值的可能性方面,接收模块10具体用于:
[0117]
根据所述最大并发数得到各系统在预设采集间隔的系统可容忍并发数;
[0118]
根据系统可容忍并发数以及所述并发数的集合,得到所述预设周期内各系统的剩余并发数;
[0119]
确定各所述剩余并发数,与各所述系统可容忍并发数、预设周期以及最大并发数的比值为所述各系统的并发数阈值超过预设并发数阈值的可能性。
[0120]
在一实施例中,在根据所述最大并发数、所述预设周期、以及所述集合各系统的并发数阈值超过预设并发数阈值的可能性方面,第一确定模块20具体用于:
[0121]
获取各系统在预设周期内处理每一请求的处理时间的集合;
[0122]
获取所述各系统的平均响应时间、以及响应时间方差;
[0123]
根据所述平均响应时间、以及响应时间方差以及所述集合确定所述系统稳定系数。
[0124]
在一实施例中,在根据所述系统稳定系数确定对应的风险等级方面,第一确定模
块20具体用于:
[0125]
在所述各系统的稳定性系数差值大于预设值时,根据各系统的资源信息设置对应的风险等级。
[0126]
在一实施例中,在根据各系统的资源信息设置对应的风险等级方面,第二确定模块30具体用于:
[0127]
根据各系统的目标任务距离上一次更新的时间间隔,确定所述风险等级的可信度;
[0128]
在所述风险等级的可信度低于预设值时,重新启动所述目标任务。根据所述可信度确定目标任务当前所处的周期;
[0129]
根据所述风险等级、所述可能性以及所述周期确定各所述系统对应的分流指数;
[0130]
根据所述分流指数确定将接收到的系统流量分配至对应的系统。
[0131]
本发明还提供一种系统流量分配设备,所述系统流量分配设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的系统流量分配程序,所述系统流量分配程序被所述处理器执行时实现如上实施例所述的系统流量分配方法的各个步骤。
[0132]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有系统流量分配程序,所述系统流量分配程序被处理器执行时实现如上实施例所述的系统流量分配方法的各个步骤。
[0133]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0134]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、系统、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、系统、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、系统、物品或者装置中还存在另外的相同要素。
[0135]
通过以上的实施方式的描述,本邻域的技术人员可以清楚地了解到上述实施例系统可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,停车管理设备,空调器,或者网络设备等)执行本发明各个实施例所述的系统。
[0136]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术邻域,均同理包括在本发明的专利保护范围内。
再多了解一些

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

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

相关文献