楼主: 〇〇

[有奖问答] 用过程语言实现group by cube的代码挑战赛

[复制链接]
论坛徽章:
223
2010新春纪念徽章
日期:2010-03-01 11:20:51ITPUB元老
日期:2019-04-25 13:46:07至尊黑钻
日期:2015-08-13 13:38:12至尊黑钻
日期:2015-02-15 09:47:472015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:20管理团队2007贡献徽章
日期:2015-01-19 09:48:272015中国数据库技术大会纪念徽章
日期:2015-05-15 14:08:23海蓝宝石
日期:2015-02-03 10:23:39红宝石
日期:2015-02-03 10:26:04会员2007贡献徽章
日期:2015-02-03 10:26:41
121#
发表于 2010-3-18 13:40 | 只看该作者
游戏结束了吗?

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
122#
 楼主| 发表于 2010-3-18 13:50 | 只看该作者
结束了,见2楼结果,但是代码优化在继续

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
123#
 楼主| 发表于 2010-3-18 14:17 | 只看该作者
ibm01:/tmp$g++ -O2 mapc6i5x.cpp -o mapx -I /u01/app/oracle/product/11.1.0/db/rdbms/public/
mapc6i5x.cpp:771:2: warning: no newline at end of file
ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ibm01:/tmp$./mapx
9,97,119,114,11843118
申请map内存139184ms
申请一层内存39961ms
新建一层hashmap节点1097763ms,recn=1950041,每毫秒读0行,每毫秒写1节点
申请后面内存39954ms,1950041
gid=1 found 28311 time
新建后面节点2444345ms,recn=3584098,每毫秒读0行key,每毫秒写0节点
释放所有动态内存0ms,3584098
释放所有map内存4424016ms,3584098
总时间8185223ms,3584098
3步(读入+运算+写出)总时间8195205ms

mapc6i5x.rar

4.98 KB, 下载次数: 12

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
124#
 楼主| 发表于 2010-3-18 14:24 | 只看该作者
原帖由 〇〇 于 2010-3-18 14:17 发表
ibm01:/tmp$g++ -O2 mapc6i5x.cpp -o mapx -I /u01/app/oracle/product/11.1.0/db/rdbms/public/
mapc6i5x.cpp:771:2: warning: no newline at end of file
ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ibm01:/tmp$./mapx
9,97,119,114,11843118
申请map内存139184ms
申请一层内存39961ms
新建一层hashmap节点1097763ms,recn=1950041,每毫秒读0行,每毫秒写1节点
申请后面内存39954ms,1950041
gid=1 found 28311 time
新建后面节点2444345ms,recn=3584098,每毫秒读0行key,每毫秒写0节点
释放所有动态内存0ms,3584098
释放所有map内存4424016ms,3584098
总时间8185223ms,3584098
3步(读入+运算+写出)总时间8195205ms

奇怪unix不出错,但windows xp和2008都出错
D:\tmp>mapc6i5
9,97,119,114,11843118
申请map内存62ms
申请一层内存16ms
新建一层hashmap节点718ms,recn=1950041,每毫秒读1392行,每毫秒写2715节点
申请后面内存16ms,1950041
gid=1 found 28311 time

D:\tmp>mapc6i4
9,97,119,114,11843118
申请map内存62ms
申请一层内存16ms
gid=0 found 0 time
新建一层节点890ms,recn=1950041,每毫秒读1123行,每毫秒写2191节点
新建一层hashmap节点703ms,recn=1950041,每毫秒读1422行,每毫秒写2773节点
申请后面内存16ms,1950041
gid=1 found 1742267 time
新建后面节点2094ms,recn=3584098,每毫秒读931行key,每毫秒写780节点
释放所有动态内存0ms,3584098
释放所有map内存281ms,3584098
总时间4062ms,3584098
3步(读入+运算+写出)总时间4218ms

使用道具 举报

回复
论坛徽章:
9
2010新春纪念徽章
日期:2010-03-01 11:08:29ERP板块每日发贴之星
日期:2010-06-30 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010广州亚运会纪念徽章:帆船
日期:2010-11-12 16:49:392010广州亚运会纪念徽章:现代五项
日期:2010-11-22 15:32:202010广州亚运会纪念徽章:曲棍球
日期:2010-12-06 10:59:282010广州亚运会纪念徽章:帆船
日期:2010-12-06 11:01:472011新春纪念徽章
日期:2011-01-04 10:35:172011新春纪念徽章
日期:2011-02-18 11:43:33
125#
发表于 2010-3-18 14:35 | 只看该作者
路过

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
126#
 楼主| 发表于 2010-3-18 15:47 | 只看该作者

回复 #124 〇〇 的帖子

对于hash map就无所谓顺序了,以数组的顺序或map的begin->end都是一样的时间
map的begin->end


for (lastiterh=iter2h=key_recnh.begin();iter2h != key_recnh.end(); iter2h++)
int key=(((*iter2h).first)&0xFFFFFF)+((0x80+15)<<24);//set c1 null ,gid=8

D:\app\instantclient10_1>..\mapc6i6
9,97,119,114,11843118
申请map内存78ms
申请一层内存62ms
新建一层hashmap节点796ms,recn=1950041,每毫秒读1256行,每毫秒写2449节点
申请后面内存31ms,1950041
gid=1 found 0 time


数组的顺序

for (i=0;i<c_2;i++)
int key=(k[ i]&0xFFFFFF)+((0x80+15)<<24);//set c1 null ,gid=8



D:\app\instantclient10_1>..\mapc6i6
9,97,119,114,11843118
申请map内存93ms
申请一层内存47ms
新建一层hashmap节点796ms,recn=1950041,每毫秒读1256行,每毫秒写2449节点
申请后面内存31ms,1950041
gid=1 found 0 time

对map优化了一圈,用hash map又回到原点,白费劲

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
127#
 楼主| 发表于 2010-3-18 16:41 | 只看该作者

回复 #124 〇〇 的帖子

把cl 的/O2参数去掉就不出错,难道优化速度优化坏了,没有优化对hash map的影响慢了1倍

D:\app\instantclient10_1>..\mapc6i6
9,97,119,114,11843118
申请map内存109ms
申请一层内存47ms
新建一层hashmap节点1544ms,recn=1950041,每毫秒读647行,每毫秒写1262节点
申请后面内存47ms,1950041
gid=1 found 0 time
新建后面节点[1],recn=3558108
新建后面节点[2],recn=3569166
新建后面节点[3],recn=3569273
新建后面节点[4],recn=3583865
新建后面节点[5],recn=3583984
新建后面节点[6],recn=3584098
新建后面节点4025ms,recn=3584098,每毫秒读484行key,每毫秒写405节点
释放所有动态内存0ms,3584098
释放所有map内存624ms,3584098
总时间6411ms,3584098
3步(读入+运算+写出)总时间6567ms

D:\app\instantclient10_1>..\mapc4bh LT/LT@10.6.132.43/orcl query="select c1,c2,c3,c4,v from t" file=NUL
0,1     1,1     2,1     3,1     4,4
       0 rows exported at 2010-03-18 16:38:01
recn=0
  500000 rows exported at 2010-03-18 16:38:02
recn=500000
1000000 rows exported at 2010-03-18 16:38:03
         output file  closed at 1000000 rows.

sum=1
sum(c1+c2+c3+v)=500111497488
sum(c4)=51690810
从数据库把表读入内存1965ms
4,5,67,114,152760
申请map内存0ms
申请一层内存31ms
新建一层hashmap节点718ms,recn=1000000,每毫秒读1392行,每毫秒写1392节点
申请后面内存16ms,1000000
realloc2000000
gid=1 found 0 time
新建后面节点[1],recn=2273610
新建后面节点[2],recn=2284668
新建后面节点[3],recn=2284775
新建后面节点[4],recn=2299367
新建后面节点[5],recn=2299486
新建后面节点[6],recn=2299600
新建后面节点2012ms,recn=2299600,每毫秒读497行key,每毫秒写645节点
释放所有动态内存16ms,2299600
释放所有map内存327ms,2299600
总时间3120ms,2299600
3步(读入+运算+写出)总时间5210ms

Exiting with SUCCESS status 0
/O2

100万行
新建一层hashmap节点327ms,recn=1000000,每毫秒读3058行,每毫秒写3058节点
申请后面内存16ms,1000000
gid=1 found 0 time
新建后面节点951ms,recn=2299486,每毫秒读1051行key,每毫秒写1366节点

200万行
D:\app>mapc6i4
9,97,119,114,11843118
申请map内存78ms
申请一层内存46ms
gid=0 found 0 time
新建一层节点983ms,recn=1950041,每毫秒读1017行,每毫秒写1983节点
新建一层hashmap节点765ms,recn=1950041,每毫秒读1307行,每毫秒写2549节点
申请后面内存46ms,1950041
gid=1 found 1742267 time
新建后面节点2044ms,recn=3584098,每毫秒读954行key,每毫秒写799节点
释放所有动态内存0ms,3584098
释放所有map内存328ms,3584098
总时间4290ms,3584098
3步(读入+运算+写出)总时间4446ms

[ 本帖最后由 〇〇 于 2010-3-18 16:48 编辑 ]

CL_O2_crash.rar

10.05 KB, 下载次数: 13

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
128#
 楼主| 发表于 2010-3-19 09:49 | 只看该作者
hash map O2版

D:\app>cl /O2 mapc4ch.cpp /o m4h.exe /link oci.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

mapc4ch.cpp
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/out:mapc4ch.exe
/out:m4h.exe
oci.lib
mapc4ch.obj

D:\app\instantclient10_1>..\m4h LT/LT@10.6.132.43/orcl query="select c1,c2,c3,c4,v from t" file=NUL
0,1     1,1     2,1     3,1     4,4
       0 rows exported at 2010-03-19 09:45:32
recn=0
  500000 rows exported at 2010-03-19 09:45:33
recn=500000
1000000 rows exported at 2010-03-19 09:45:33
         output file  closed at 1000000 rows.

sum=1
sum(c1+c2+c3+v)=500111497488
sum(c4)=51690810
从数据库把表读入内存1731ms
4,5,67,114,152760
申请map内存0ms
申请一层内存31ms
新建一层hashmap节点312ms,recn=1000000,每毫秒读3205行,每毫秒写3205节点
申请后面内存16ms,1000000
realloc2000000
gid=1 found 0 time
新建后面节点[1],recn=2273836
新建后面节点[2],recn=2284894
新建后面节点[3],recn=2284894
新建后面节点[4],recn=2299600
新建后面节点[5],recn=2299600
新建后面节点[6],recn=2299600
新建后面节点967ms,recn=2299600,每毫秒读1034行key,每毫秒写1343节点

Total number of rows to be inserted is 1000000
插入结果表time=3401

Total number of rows to be inserted is 1299600
插入结果表time=4649
释放所有动态内存0ms,2299600
释放所有map内存172ms,2299600
总时间9813ms,2299600
3步(读入+运算+写出)总时间11575ms

Exiting with SUCCESS status 0

mapc4ch.rar

9.34 KB, 下载次数: 9

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
129#
 楼主| 发表于 2010-3-21 12:48 | 只看该作者
hash map版本比map版本基本快30%,运行时间都随行数线性增长

1265        250        750                1704        406        1031                0.35         0.62         0.37
2250        610        1250                2984        782        1719                0.33         0.28         0.38
2875        765        1578                4172        1250        2343                0.45         0.63         0.48
4282        1344        2296                5344        1719        2891                0.25         0.28         0.26
4922        1546        2610                6437        2218        3328                0.31         0.43         0.28
5609        1750        2968                7672        2750        3875                0.37         0.57         0.31
7204        2750        3375                8937        3281        4469                0.24         0.19         0.32
7922        2953        3765                10219        3828        5078                0.29         0.30         0.35
8687        3156        4187                11265        4313        5531                0.30         0.37         0.32
9649        3375        4578                12719        5000        6109                0.32         0.48         0.33
10219        3593        4953                13766        5422        6578                0.35         0.51         0.33
10859        3812        5250                14875        5984        7016                0.37         0.57         0.34
11125        4015        5250                15234        6281        7031                0.37         0.56         0.34
11437        4234        5312                15781        6688        7140                0.38         0.58         0.34
11719        4453        5328                16172        7015        7156                0.38         0.58         0.34
110024        38606        53450                147281        56937        71295                0.34         0.47         0.33

[ 本帖最后由 〇〇 于 2010-3-21 12:52 编辑 ]

map_vs_hash.rar

5.53 KB, 下载次数: 11

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
130#
 楼主| 发表于 2010-3-25 15:28 | 只看该作者
不再改了,通过直接路径加载


D:\app\instantclient10_1>..\mapc4chd2 LT/LT@//10.6.132.43/orcl query="select * from t" file=NULL
0,1     1,1     2,1     3,1     4,4
       0 rows exported at 2010-03-25 16:04:40
recn=0
  500000 rows exported at 2010-03-25 16:04:40
recn=500000
1000000 rows exported at 2010-03-25 16:04:41
         output file  closed at 1000000 rows.

sum=1
sum(c1+c2+c3+v)=500111497488
sum(c4)=51690810
从数据库把表读入内存1840ms
4,5,67,114,152760
申请map内存0ms
申请一层内存16ms
新建一层hashmap节点343ms,recn=1000000,每毫秒读2915行,每毫秒写2915节点
申请后面内存16ms,1000000
realloc2000000
gid=1 found 0 time
新建后面节点[1],recn=2273836
新建后面节点[2],recn=2284894
新建后面节点[3],recn=2284894
新建后面节点[4],recn=2299600
新建后面节点[5],recn=2299600
新建后面节点[6],recn=2299600
新建后面节点936ms,recn=2299600,每毫秒读1068行key,每毫秒写1388节点

Initializing the environment..
Logged on as LT
col0:c1 3       1
col1:c2 3       1
col2:c3 3       1
col3:c4 3       1
col4:cv 3       4
col5:sv 1       14
col6:gid        3       1
time=344ms
col_ary_rows=4096,col_ary_cols=7
576all time=2840ms
插入结果表1000000行
col0:c1 3       1
col1:c2 3       1
col2:c3 3       1
col3:c4 3       1
col4:cv 3       4
col5:sv 1       14
col6:gid        3       1
time=452ms
col_ary_rows=4096,col_ary_cols=7
1168all time=7971ms
插入结果表1299600行
释放所有动态内存16ms,2299600
释放所有map内存171ms,2299600
总时间12324ms,2299600
3步(读入+运算+写出)总时间14180ms

Exiting with SUCCESS status 0

把表结构修改一下,提高了2秒
  1. CREATE TABLE "LT"."YOURCUBE"
  2.   (    "C1" NUMBER(3,0),
  3.        "C2" NUMBER(3,0),
  4.        "C3" NUMBER(3,0),
  5.        "C4" NUMBER(3,0),
  6.        "SV" NUMBER(30,0),
  7.        "CV" NUMBER(30,0),
  8.        "GID" NUMBER(3,0)
  9.   ) PCTFREE 0;
复制代码

D:\app\instantclient10_1>..\mapc4chd3 LT/LT@//10.6.132.43/orcl query="select * from t" file=NULL
0,1     1,1     2,1     3,1     4,4
       0 rows exported at 2010-03-25 16:23:15
recn=0
  500000 rows exported at 2010-03-25 16:23:15
recn=500000
1000000 rows exported at 2010-03-25 16:23:16
         output file  closed at 1000000 rows.

sum=1
sum(c1+c2+c3+v)=500111497488
sum(c4)=51690810
从数据库把表读入内存1794ms
4,5,67,114,152760
申请map内存0ms
申请一层内存31ms
新建一层hashmap节点327ms,recn=1000000,每毫秒读3058行,每毫秒写3058节点
申请后面内存16ms,1000000
realloc2000000
gid=1 found 0 time
新建后面节点[1],recn=2273836
新建后面节点[2],recn=2284894
新建后面节点[3],recn=2284894
新建后面节点[4],recn=2299600
新建后面节点[5],recn=2299600
新建后面节点[6],recn=2299600
新建后面节点936ms,recn=2299600,每毫秒读1068行key,每毫秒写1388节点

Initializing the environment..
Logged on as LT
col0:c1 3       1
col1:c2 3       1
col2:c3 3       1
col3:c4 3       1
col4:cv 3       4
col5:sv 1       14
col6:gid        3       1
time=312ms
col_ary_rows=4096,col_ary_cols=7
576all time=2745ms
插入结果表1000000行
col0:c1 3       1
col1:c2 3       1
col2:c3 3       1
col3:c4 3       1
col4:cv 3       4
col5:sv 1       14
col6:gid        3       1
time=437ms
col_ary_rows=4096,col_ary_cols=7
1168all time=6147ms
插入结果表1299600行
释放所有动态内存0ms,2299600
释放所有map内存172ms,2299600
总时间10405ms,2299600
3步(读入+运算+写出)总时间12214ms

Exiting with SUCCESS status 0

[ 本帖最后由 〇〇 于 2010-3-25 16:25 编辑 ]

mapc4chd2.rar

12.59 KB, 下载次数: 7

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表