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

数据表处理方法、装置、电子设备及存储介质与流程

2022-12-13 21:58:49 来源:中国专利 TAG:


1.本公开涉及互联网技术领域,特别涉及一种数据表处理方法、装置、电子设备及存储介质。


背景技术:

2.在互联网技术领域,因业务需求,需要获取数据表中同一个指标在周、月、年等不同时间粒度下的计算结果。通常来说,同一指标在不同时间粒度下的计算逻辑是相同的。在实际应用中,同一指标在不同时间粒度下的计算,通常会获取该指标在某一时间粒度下的sql文件,该sql文件包括至少一个sql语句,然后基于当前时间粒度下的时间,由技术人员手动对该sql文件中每个sql语句进行修改,得到修改后的sql文件,进而基于修改后的sql文件中每个sql语句,对数据表中该指标进行计算,得到处理后的数据表。
3.然而,上述方式容易存在修改不一致问题,导致处理后的数据表准确度较低。


技术实现要素:

4.本公开实施例提供了一种数据表处理方法、装置、电子设备及存储介质,能够提高处理后的数据表的准确性。所述技术方案如下:
5.第一方面,提供了一种数据表处理方法,所述方法包括:
6.接收针对目标数据表中目标指标的处理请求,所述处理请求包括时间维度类型和时间段;
7.根据所述时间维度类型和所述时间段,生成时间参数;
8.获取第一sql文件,所述第一sql文件用于执行所述处理请求,所述第一sql文件由多条sql语句拼接而成,所述sql语句中用于表征时间的代码采用时间变量表示;
9.将所述第一sql文件包括的每条所述sql语句的时间变量替换为所述时间参数,得到第二sql文件;
10.将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中。
11.在本公开的另一个实施例中,所述将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中之前,还包括
12.对所述第二sql文件包括的sql语句进行切分,得到多条时间替换后的sql语句;
13.执行每条所述时间替换后的sql语句,得到每条所述时间替换后的sql语句对应的处理结果;
14.所述将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中,包括:
15.根据每条所述时间替换后的sql语句的类型,将相应的处理结果写入到所述目标数据库中。
16.在本公开的另一个实施例中,所述根据每条所述时间替换后的sql语句的类型,将
相应的处理结果写入到所述目标数据库中,包括:
17.当所述时间替换后的sql语句的类型为写入类型,则将所述时间替换后的sql语句对应的处理结果写入到所述目标数据库中。
18.在本公开的另一个实施例中,所述根据每条所述时间替换后的sql语句的类型,将相应的处理结果写入到所述目标数据库中,包括:
19.当所述时间替换后的sql语句的类型为视图类型,则基于所述时间替换后的sql语句对应的处理结果生成临时视图;
20.当其他时间替换后的sql语句读取所述临时视图中的数据生成所述其他时间替换后的sql语句对应的处理结果,将所述其他时间替换后的sql语句对应的处理结果写入到所述目标数据库中。
21.在本公开的另一个实施例中,所述目标数据表中每个指标对应两个时间字段,所述两个时间字段包括时间维度类型字段和时间段字段,所述将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中之前,还包括:
22.将所述目标指标对应的时间维度类型字段修改为所述时间维度类型,并将所述时间段字段修改为所述时间段;
23.在所述目标指标对应的两个时间字段修改完成的情况下,执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中的操作。
24.第二方面,提供了一种数据表处理装置,所述装置包括:
25.接收模块,用于接收针对目标数据表中目标指标的处理请求,所述处理请求包括时间维度类型和时间段;
26.生成模块,用于根据所述时间维度类型和所述时间段,生成时间参数;
27.获取模块,用于获取第一sql文件,所述第一sql文件用于执行所述处理请求,所述第一sql文件由多条sql语句拼接而成,所述sql语句中用于表征时间的代码采用时间变量表示;
28.替换模块,用于将所述第一sql文件包括的每条所述sql语句的时间变量替换为所述时间参数,得到第二sql文件;
29.写入模块,用于将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中。
30.在本公开的另一个实施例中,所述装置还包括
31.切分模块,用于对所述第二sql文件包括的sql语句进行切分,得到多条时间替换后的sql语句;
32.执行模块,用于执行每条所述时间替换后的sql语句,得到每条所述时间替换后的sql语句对应的处理结果;
33.所述写入模块,用于根据每条所述时间替换后的sql语句的类型,将相应的处理结果写入到所述目标数据库中。
34.在本公开的另一个实施例中,所述根据每条所述时间替换后的sql语句的类型,将相应的处理结果写入到所述目标数据库中,包括:
35.当所述时间替换后的sql语句的类型为写入类型,则将所述时间替换后的sql语句对应的处理结果写入到所述目标数据库中。
36.在本公开的另一个实施例中,所述根据每条所述时间替换后的sql语句的类型,将相应的处理结果写入到所述目标数据库中,包括:
37.当所述时间替换后的sql语句的类型为视图类型,则基于所述时间替换后的sql语句对应的处理结果生成临时视图;
38.当其他时间替换后的sql语句读取所述临时视图中的数据生成所述其他时间替换后的sql语句对应的处理结果,将所述其他时间替换后的sql语句对应的处理结果写入到所述目标数据库中。
39.在本公开的另一个实施例中,所述目标数据表中每个指标对应两个时间字段,所述两个时间字段包括时间维度类型字段和时间段字段,所述将执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中之前,还包括:
40.将所述目标指标对应的时间维度类型字段修改为所述时间维度类型,并将所述时间段字段修改为所述时间段;
41.在所述目标指标对应的两个时间字段修改完成的情况下,执行所述第二sql文件生成的针对所述目标指标的处理结果写入到所述目标数据表中的操作。
42.第三方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如第一方面所述的数据表处理方法。
43.第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如第一方面所述的数据表处理方法。
44.第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述电子设备执行如第一方面所述的数据表处理方法。
45.本公开实施例提供的技术方案带来的有益效果是:
46.将需要处理的目标指标写入到目标数据表中,将用于执行同一处理请求的sql语句写入同一sql文件中,当需要对获取某一时间维度类型下某一时间段内目标指标的处理结果时,对sql文件中各个sql语句的时间变量进行统一替换,克服了各个sql语句中时间变量修改不统一的问题,提高了处理后数据表的准确性。
附图说明
47.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本公开实施例提供的一种数据表处理方法的流程图;
49.图2是本公开实施例提供的另一种数据表处理方法流程图;
50.图3是本公开实施例提供的另一种数据表处理方法流程图;
51.图4是本公开实施例提供的一种数据表处理装置的结构示意图;
52.图5示出了本公开一个示例性实施例提供的一种电子设备的结构框图。
具体实施方式
53.为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
54.可以理解,本公开实施例所使用的术语“每个”、“多个”及“任一”等,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指对应的多个中的任意一个。举例来说,多个词语包括10个词语,而每个词语是指这10个词语中的每一个词语,任一词语是指10个词语中的任意一个词语。
55.本公开所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
56.本公开实施例提供了一种数据表处理方法,以电子设备执行本公开实施例为例,该电子设备具有较强的计算能力,该电子设备可以为终端,例如,笔记本电脑、台式电脑等,该电子设备还可以为服务器,例如,单独的物理服务器、多个物理服务器组成的集群或分布式系统等。参见图1,本公开实施例提供的方法流程包括:
57.101.接收针对目标数据表中目标指标的处理请求。
58.在本公开实施例中,当因业务需求,需要获取目标数据表中目标指标的处理结果时,用户可向电子设备发送针对目标数据表中目标指标的处理请求。其中,目标数据表为承载目标指标及目标指标的处理结果的数据表。目标数据表中包括多个指标,该指标是指目标数据表中某一字段的字段名称,该指标可以为性别、年龄、薪水等等。处理请求用于请求电子设备按照时间维度类型对该时间段内目标数据库中目标指标相关的数据进行处理,该处理请求包括时间维度类型和时间段等,该时间维度类型包括年、月、周、日等类型。
59.102.根据时间维度类型和时间段,生成时间参数。
60.本公开实施例中电子设备接收到的处理请求实际上是一个sql语句,而该sql语句需要调度程序才能执行,该调度程序为用于执行sql文件的程序。响应于接收到的针对目标数据表中目标指标的处理请求,电子设备调用调度程序,进而根据时间维度类型和时间段,生成时间参数。
61.具体地,电子设备根据时间维度类型,对时间段进行划分,得到该时间段在该时间维度类型下的时间参数。例如,时间维度类型是周,时间段为1月1号~1月21号,则电子设备按照周,对1月1号~1月21号的时间段进行划分,得到时间参数为:1月1号~1月7号、1月8号~1月14号、1月14号~1月21号。
62.103.获取第一sql文件。
63.在本公开实施例中,根据不同的业务类型,电子设备预先会将处理同一业务的sql语句进行拼接,并将拼接后的sql语句放在一个sql文件中。通常这些sql文件存储在硬盘中,当接收到针对目标数据表中目标指标的处理请求,响应于该处理请求,电子设备从硬盘中获取该业务类型对应的第一sql文件,进而将该第一sql文件写入到内存中,从而便于后续对该第一sql文件进行处理。该第一sql文件用于执行针对目标数据表中目标指标的处理
请求,且该第一sql文件由多条sql语句拼接而成。
64.在本公开实施例中,sql文件包括的sql语句中表征时间的代码采用时间变量表示。通常不同时间维度类型的时间变量名称一致,一般情况下,只需几个时间变量即可,对于特殊时间,可用时间函数表示。由于第一sql文件包括的每条sql语句中用于表征时间的代码采用时间变量表示,并没有确切的执行时间,因而电子设备无法执行该第一sql文件,需要将第一sql文件中的时间变量修改为时间常量。
65.104.将第一sql文件包括的每条sql语句的时间变量替换为时间参数,得到第二sql文件。
66.基于所获取到的时间变量,电子设备识别出第一sql文件中每条sql语句中的时间变量,进而将该每条sql语句的时间变量统一替换为该时间参数,得到第二sql文件。由于该第二sql文件中每条sql语句中表征时间的代码由时间变量变为时间常量,因而电子设备能够执行第二sql文件。通过执行该第二sql文件,可获取到目标指标的处理结果。
67.105.将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中。
68.在本公开实施例中,在将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中之前,电子设备将执行以下操作:
69.第一步,电子设备对第二sql文件包括的sql语句进行切分,得到多条时间替换后的sql语句。
70.本公开实施例中,由于第二sql文件中的sql语句被拼接在一起,而不同的sql语句所执行的操作并不相同,因此,为便于基于不同的sql语句执行不同的操作,电子设备需要对第二sql文件包括的sql语句进行切分。电子设备在对第二sql文件进行切分时,可以预设符号(例如英文逗号)为切分点,对第二sql文件进行切分。通过对第二sql文件进行切分,可得到多条时间替换后的sql语句,该多条时间替换后的sql语句彼此独立,能够单独执行。
71.第二步,电子设备执行每条时间替换后的sql语句,得到每条时间替换后的sql语句对应的处理结果。
72.基于每条时间替换后的sql语句,电子设备通过执行每条时间替换后的sql语句,可以得到每条时间替换后的sql语句对应的处理结果,进而将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中。
73.在本公开实施例中,sql语句具有不同的类型,包括写入类型和视图类型。一般来说,写入类型的sql语句是以insert开头的,视图类型的sql语句是以@开头的。因此,根据不同类型的sql语句的开头字符,可以区分出不同类型的sql语句。例如,对于任一sql语句,@v_org select org_id,org_name form i_org where dt=’2022-02-22’,根据该sql语句的开头字符,可以识别出该sql语句的类型为视图类型。
74.由于不同类型的sql语句执行的操作并不相同,得到的处理结果的形式也并不相同,针对不同形式的处理结果,电子设备的处理方式也不同,因此,根据每条时间替换后的sql语句的类型,电子设备可采用不同的方式,将相应的处理结果写入到目标数据库中。
75.在一种可能的实现方式中,当时间替换后的sql语句的类型为写入类型,则电子设备可直接将时间替换后的sql语句对应的处理结果写入到目标数据库中。
76.在另一种可能的实现方式中,当时间替换后的sql语句的类型为视图类型,该时间替换后的sql语句对应的处理结果一般是中间处理结果,其他时间替换后的sql语句往往需
要读取该中间处理结果,生成其他时间变换后的sql语句对应的处理结果,因此,电子设备不会直接将该时间替换后的sql语句对应的处理结果写入到目标数据表中,而是基于时间替换后的sql语句对应的处理结果生成临时视图。该临时视图中的数据为时间替换后的sql语句的执行结果,例如,时间替换后的sql语句为“select org_id,org_name from i_org where dt='2022-02-22'”,则临时视图中的数据为“select org_id,org_name from i_org where dt='2022-02-22'”的执行结果。由于该临时视图存储在内存中,不需要显示和创建,因而节省了后续的建表和维护工作,提高了数据表的处理效率。
77.进一步地,当其他时间替换后的sql语句读取临时视图中的数据生成其他时间替换后的sql语句对应的处理结果,电子设备将其他时间替换后的sql语句对应的处理结果写入到目标数据库中。
78.在本公开的另一个实施例中,目标数据表中每个指标对应两个时间字段,两个时间字段包括时间维度类型字段和时间段字段,该时间维度类型字段用于区分不同的时间粒度,可采用tinyint类型;该时间段字段可采用date类型,方便不同的数据库进行分区。
79.在本公开的另一个实施例中,为避免目标指标对应的不同时间粒度的处理结果混淆,电子设备在将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中之前,还将目标指标对应的时间维度类型字段修改为时间维度类型,并将时间段字段修改为时间段,从而在目标指标对应的两个时间字段修改完成的情况下,执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中的操作。
80.在本公开的另一个实施例中,电子设备响应于针对目标数据表中目标指标的处理请求,执行对目标指标的处理过程中,会将该处理过程所涉及的操作写入到目标数据表对应的日志中。当识别出异常记录日志,电子设备还将异常内容及上下文发送给技术人员,以便于技术人员对该处理过程进行追溯。电子设备将异常内容发送给技术人员时,可采用网络、邮件、即时通讯工具等进行发送,本公开实施例不对异常内容的发送方式进行限定。
81.采用本公开实施例提供的方法可以用用一套sql代码,可实现日周月年等多时间粒度相同指标的计算,与相关技术需要手动逐一修改sql语句中时间代码的方式相比,调试更方便,尤其是在修复bug或者业务变更时,更改更方便。另外,生成的临时视图不需要显示和维护,无论对于开发,还是执行都十分友好。
82.图2示出了本公开实施例提供的数据表处理方法的整体流程,参见图3,该处理流程包括以下步骤:
83.1、当接收到针对目标数据表中目标指标的处理请求,电子设备调用调度程序,该调度程序生成时间变量对应的时间;
84.2、调度程度读取sql文件;
85.3、调度程序采用具体时间替换sql文件中的各个sql语句的时间变量;
86.4、将处理后的sql文件切分为单个sql语句,并按照不同类型解析和重组sql语句;
87.5、通过执行拆分后的sql语句,将处理结果写入到目标数据表中。
88.图3示出了基于不同类型的sql语句的不同处理过程,参见图3,电子设备根据sql语句开头的符号,确定sql语句的类型。当sql语句的类型为写入类型,则将该sql语句的处理结果写入到目标数据表中;当sql语句的类型为视图类型,则生成spark临时视图,进而将其他sql语句基于该临时视图的处理结果写入到目标数据表中。
89.本公开实施例提供的方法,将需要处理的目标指标写入到目标数据表中,将用于执行同一处理请求的sql语句写入同一sql文件中,当需要对获取某一时间维度类型下某一时间段内目标指标的处理结果时,对sql文件中各个sql语句的时间变量进行统一替换,克服了各个sql语句中时间变量修改不统一的问题,提高了处理后数据表的准确性。
90.参见图4,本公开实施例提供了一种数据表处理装置,该装置包括:
91.接收模块401,用于接收针对目标数据表中目标指标的处理请求,处理请求包括时间维度类型和时间段;
92.生成模块402,用于根据时间维度类型和时间段,生成时间参数;
93.获取模块403,用于获取第一sql文件,第一sql文件用于执行处理请求,第一sql文件由多条sql语句拼接而成,sql语句中用于表征时间的代码采用时间变量表示;
94.替换模块404,用于将第一sql文件包括的每条sql语句的时间变量替换为时间参数,得到第二sql文件;
95.写入模块405,用于将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中。
96.在本公开的另一个实施例中,装置还包括
97.切分模块,用于对第二sql文件包括的sql语句进行切分,得到多条时间替换后的sql语句;
98.执行模块,用于执行每条时间替换后的sql语句,得到每条时间替换后的sql语句对应的处理结果;
99.写入模块,用于根据每条时间替换后的sql语句的类型,将相应的处理结果写入到目标数据库中。
100.在本公开的另一个实施例中,根据每条时间替换后的sql语句的类型,将相应的处理结果写入到目标数据库中,包括:
101.当时间替换后的sql语句的类型为写入类型,则将时间替换后的sql语句对应的处理结果写入到目标数据库中。
102.在本公开的另一个实施例中,根据每条时间替换后的sql语句的类型,将相应的处理结果写入到目标数据库中,包括:
103.当时间替换后的sql语句的类型为视图类型,则基于时间替换后的sql语句对应的处理结果生成临时视图;
104.当其他时间替换后的sql语句读取临时视图中的数据生成其他时间替换后的sql语句对应的处理结果,将其他时间替换后的sql语句对应的处理结果写入到目标数据库中。
105.在本公开的另一个实施例中,目标数据表中每个指标对应两个时间字段,两个时间字段包括时间维度类型字段和时间段字段,将执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中之前,还包括:
106.将目标指标对应的时间维度类型字段修改为时间维度类型,并将时间段字段修改为时间段;
107.在目标指标对应的两个时间字段修改完成的情况下,执行第二sql文件生成的针对目标指标的处理结果写入到目标数据表中的操作。
108.综上所述,本公开实施例提供的装置,将需要处理的目标指标写入到目标数据表
中,将用于执行同一处理请求的sql语句写入同一sql文件中,当需要对获取某一时间维度类型下某一时间段内目标指标的处理结果时,对sql文件中各个sql语句的时间变量进行统一替换,克服了各个sql语句中时间变量修改不统一的问题,提高了处理后数据表的准确性。
109.图5示出了本公开一个示例性实施例提供的一种电子设备500的结构框图。通常,电子设备500包括有:处理器501和存储器502。
110.处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
111.存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本公开中方法实施例提供的数据库处理方法。
112.在一些实施例中,电子设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:电源504。
113.外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
114.电源504用于为电子设备500中的各个组件进行供电。电源504可以是交流电、直流电、一次性电池或可充电电池。当电源504包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
115.本领域技术人员可以理解,图5中示出的结构并不构成对电子设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
116.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备500的处理器执行以完成上述数据库处理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介
质可以是cd-rom(compact disc read-only memory,只读光盘)、rom、ram(random access memory,随机存取存储器)、磁带、软盘和光数据存储设备等。
117.本公开实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述数据表处理方法。
118.本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述电子设备执行上述数据表处理方法。
119.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
120.以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献