月度归档:2015年05月

MooseFS-管理优化

一、高级功能

1、副本

       副本,在MFS中也被称为目标(Goal),它是指文件被复制的份数,设定目标值后可以通过mfsgetgoal命令来证实,也可以通过mfssetgoal命令来改变设定。

[root@mfs-client ~]# cd /mfsdata/
[root@mfs-client mfsdata]# dd if=/dev/zero of=/mfsdata/test.file bs=1M count=200 
200+0 records in 
200+0 records out 
209715200 bytes (210 MB) copied, 9.1094 s, 23.0 MB/s 
[root@mfs-client mfsdata]# mfsgetgoal test.file 
test.file: 1 
[root@mfs-client mfsdata]# mfssetgoal 3 test.file 
test.file: 3 
[root@mfs-client mfsdata]# mfsgetgoal test.file 
test.file: 3 

补充:

用mfsgetgoal –r和mfssetgoal –r同样的操作可以对整个树形目录递归操作

[root@mfs-client mfsdata]# mkdir dir/dir1/dir2/dir3 -p 
[root@mfs-client mfsdata]# touch dir/file1 
[root@mfs-client mfsdata]# touch dir/dir1/file2 
[root@mfs-client mfsdata]# touch dir/dir1/dir2/file3
[root@mfs-client mfsdata]# mfsgetgoal -r dir 
dir: 
files with goal 1 : 3 
directories with goal 1 : 4
[root@mfs-client mfsdata]# mfssetgoal -r 3 dir 
dir: 
inodes with goal changed: 7 
inodes with goal not changed: 0 
inodes with permission denied: 0 

       实际的拷贝份数可以通过mfscheckfile 和 mfsfileinfo 命令来证实,例如:

[root@mfs-client mfsdata]# mfscheckfile test.file 
test.file: 
chunks with 1 copy: 4 
[root@mfs-client mfsdata]# mfsfileinfo test.file 
test.file: 
chunk 0: 00000000000000D2_00000001 / (id:210 ver:1) 
copy 1: 172.16.100.6:9422 
chunk 1: 00000000000000D3_00000001 / (id:211 ver:1) 
copy 1: 172.16.100.7:9422 
chunk 2: 00000000000000D4_00000001 / (id:212 ver:1) 
copy 1: 172.16.100.6:9422 
chunk 3: 00000000000000D5_00000001 / (id:213 ver:1) 
copy 1: 172.16.100.7:9422 

       需要注意的是,一个包含数据的零长度的文件,尽管没有设置为非零的目标(the non-zero goal),但是在使用命令查询时将返回一个空值

[root@mfs-client mfsdata]# touch a 
[root@mfs-client mfsdata]# mfscheckfile a 
a: 
[root@mfs-client mfsdata]# mfsfileinfo a 
a: 



2、回收

       一个删除文件能够存放在一个“垃圾箱”的时间就是一个隔离时间,这个时间可以用 mfsgettrashtime 命令来验证,也可以用 mfssettrashtime 命令来设置。例如:

[root@mfs-client mfsdata]# mfsgettrashtime test.file 
test.file: 86400
[root@mfs-client mfsdata]# mfssettrashtime 0 test.file 
test.file: 0
$ mfsgettrashtime /mnt/mfs-test/test1
/mnt/mfs-test/test1: 0 

这些工具也有个递归选项-r,可以对整个目录树操作,例如:


[root@mfs-client mfsdata]# mfsgettrashtime -r dir 
dir: 
files with trashtime 86400 : 3 
directories with trashtime 86400 : 4 
[root@mfs-client mfsdata]# mfssettrashtime -r 0 dir 
dir: 
inodes with trashtime changed: 7 
inodes with trashtime not changed: 0 
inodes with permission denied: 0 
[root@mfs-client mfsdata]# mfsgettrashtime -r dir 
dir: 
files with trashtime 0 : 3 
directories with trashtime 0 : 4 

       时间的单位是秒(有用的值有:1小时是3600秒,24 – 86400秒,1 – 604800秒)。就像文件被存储的份数一样, 为一个目录 设定存放时间是要被新创建的文件和目录所继承的。数字0意味着一个文件被删除后, 将立即被彻底删除,在想回收是不可能的

       删除文件可以通过一个单独安装 MFSMETA 文件系统。特别是它包含目录 / trash (包含任然可以被还原的被删除文件的信息)和 / trash/undel (用于获取文件)。只有管理员有权限访问MFSMETA(用户的uid 0,通常是root)。

       在开始mfsmount进程时,用一个-m或-o mfsmeta的选项,这样可以挂接一个辅助的文件系统MFSMETA,这么做的目的是对于意外的从MooseFS卷上删除文件或者是为了释放磁盘空间而移动的文件而又此文件又过去了垃圾文件存放期的恢复,例如:

mfsmount -m /mnt/mfsmeta 

需要注意的是,如果要决定挂载mfsmeta,那么一定要在 mfsmaster 的 mfsexports.cfg 文件中加入如下条目:

 *                       .       rw 

原文件中有此条目,只要将其前的#去掉就可以了。

否则,你再进行挂载mfsmeta的时候,会报如下错误:

mfsmaster register error: Permission denied 

下面将演示此操作:

$ mfssettrashtime 3600 /mnt/mfs-test/test1
/mnt/mfs-test/test1: 3600 

       从“垃圾箱”中删除文件结果是释放之前被它站用的空间(删除有延迟,数据被异步删除)。在这种被从“垃圾箱”删除的情况下,该文件是不可能恢复了。

       可以通过mfssetgoal工具来改变文件的拷贝数,也可以通过mfssettrashtime工具来改变存储在“垃圾箱”中的时间。

       在 MFSMETA 的目录里,除了trash和trash/undel两个目录外,还有第三个目录reserved,该目录内有已经删除的文件,但却有一直打开着。在用户关闭了这些被打开的文件后,reserved目录中的文件将被删除,文件的数据也将被立即删除。在reserved目录中文件的命名方法同trash目录中的一样,但是不能有其他功能的操作。



3、快照

       MooseFS系统的另一个特征是利用mfsmakesnapshot工具给文件或者是目录树做快照,例如:

$ mfsmakesnapshot source ... destination 

       Mfsmakesnapshot 是在一次执行中整合了一个或是一组文件的拷贝,而且任何修改这些文件的源文件都不会影响到源文件的快照, 就是说任何对源文件的操作,例如写入源文件,将不会修改副本(或反之亦然)。

       文件快照可以用mfsappendchunks,就像MooseFS1.5中的mfssnapshot一样,,作为选择,二者都可以用。例如:

$ mfsappendchunks destination-file source-file ... 

       当有多个源文件时,它们的快照被加入到同一个目标文件中(每个chunk的最大量是chunk)。五、额外的属性文件或目录的额外的属性(noowner, noattrcache, noentrycache),可以被mfsgeteattr,mfsseteattr,mfsdeleattr工具检查,设置,删除,其行为类似mfsgetgoal/mfssetgoal or或者是mfsgettrashtime/mfssettrashtime,详细可见命令手册。


二、综合测试

1、破坏性测试

 a、模拟MFS各角色宕机测试

 b、mfs 灾难与恢复各种场景测试


2、性能测试

       针对 MooseFS 的性能测试,我这边也没有详细去做。通过伟大的互联网,我找到了几位前辈,针对 MooseFS 所做的详细性能测试,这里我就贴出来展示一下。

1、基准测试情况:

随机读

点击查看原图

随机写

点击查看原图

顺序读

点击查看原图

顺序写

点击查看原图



小文件性能测试情况

点击查看原图

点击查看原图

点击查看原图

点击查看原图

点击查看原图

点击查看原图

        如果想看更多有关 MooseFS 性能方面的测试报告,可以去参考如下链接:

        http://blog.liuts.com/post/203/          MooseFS性能图表[原创]




三、监控

1、mfs内置的监控工具mfscgiserv

       针对 Moosefs 每个组件的监控,Moosefs自带了一个监控工具 mfscgiserv,它是一个 python 编写的 web 监控页面,监听端口为9425。该监控页面为我们提供了 Master Server、Metalogger Server、Chunk Servers以及所有Client挂载的状态信息及相关性能指标图示。

       在我们安装好 Master Server 时,它就已经默认安装上了,我们可以在/usr/local/mfs/share/mfscgi/  目录下看到这个监控页面的文件。

[root@mfs-master-1 mfs]# ll /usr/local/mfs/share/mfscgi/         # 这个 mfscgi 目录里面存放的是master图形监控界面的程序
total 136 
-rwxr-xr-x. 1 root root 1881 Dec 29 00:10 chart.cgi 
-rw-r--r--. 1 root root 270 Dec 29 00:10 err.gif 
-rw-r--r--. 1 root root 562 Dec 29 00:10 favicon.ico 
-rw-r--r--. 1 root root 510 Dec 29 00:10 index.html 
-rw-r--r--. 1 root root 3555 Dec 29 00:10 logomini.png 
-rwxr-xr-x. 1 root root 107456 Dec 29 00:10 mfs.cgi 
-rw-r--r--. 1 root root 5845 Dec 29 00:10 mfs.css 

       我们可以通过执行如下命令启动该监控程序。

/moosefs_install_path/sbin/mfscgiserv start 

       启动完毕之后,我们可以通过访问http://IP:9425来访问该监控页面。

       下面,我列出启动 mfscgiserv 监控工具的操作:

[root@mfs-master-1 mfs]# /usr/local/mfs/sbin/mfscgiserv start   # 启动mfs图形控制台 
lockfile created and locked 
starting simple cgi server (host: any , port: 9425 , rootpath: /usr/local/mfs-1.6.27/share/mfscgi)
[root@mfs-master-1 mfs]# netstat -lantup|grep 9425 
tcp 0 0 0.0.0.0:9425 0.0.0.0:* LISTEN 7940/python 
tcp 0 0 172.16.100.1:9425 172.16.100.100:50693 ESTABLISHED 7940/python 
tcp 0 0 172.16.100.1:9425 172.16.100.100:50692 ESTABLISHED 7940/python 
[root@mfs-master-1 mfs]# lsof -i tcp:9425 
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
python 7940 root 3u IPv4 27066 0t0 TCP *:9425 (LISTEN) 
python 7940 root 7u IPv4 27136 0t0 TCP 172.16.100.1:9425->172.16.100.100:50693 (ESTABLISHED) 
python 7940 root 8u IPv4 27124 0t0 TCP 172.16.100.1:9425->172.16.100.100:50692 (ESTABLISHED) 

下面是访问的页面:

spacer.gif点击查看原图


2、使用zabbix监控mfs

1、监控要点

        根据 MooseFS 中各个组件的特点,我们所需要监控的要点主要有如下几点:

        a、Master Server的9420、9421端口,Chunk Server 的9422端口

        b、Chunk Server 的磁盘空间

2、实施步骤

        通过在各个组件的对应服务器上部署好zabbix监控的代理端,然后分别添加端口监控和磁盘监控即可!


        操作过程略!



八、维护

1、常用管理命令

mfsgetgoal              # 获取mfs目录、文件的副本数
mfssetgoal              # 设置mfs目录、文件的副本数
mfscheckfile            # 查看副本数简单
mfsfileinfo             # 查看详细的副本数,chunks/分片
mfsdirinfo              # 以数量的方法显示mfsfileinfo
mfsgettrashtime         # 获取垃圾箱的定隔时间
mfssettrashtime         # 设置垃圾箱的定隔时间(和memcached类)
mfsmakesnapshot         # 快照 



2、可能存在的问题

A、mfscgiserv的访问安全问题

       mfscgiserv只是一个非常简单的HTTP服务器,只用来编写运行MooseFS CGI脚本。它不支持任何的附加功能,比如HTTP认证。如果公司出于对监控界面的安全访问需求,我们可以使用功能丰富的HTTP服务器,比如apache、nginx等。在使用这些更强大的HTTP服务器时,我们只需要将CGI和其它数据文件(index.html、mfs.cgi、chart.cgi、mfs.css、logomini.png、err.gif)存放到选择的站点根目录下。我们可以创建一个新的虚拟机,来设定特定的主机名和端口来进行访问。


B、Master Server 的单点问题

       Master server的单点问题,在前面介绍 MooseFS 的优缺点时已经提到过了。由于官方提供的解决方案,在恢复的时候还是需要一定时间的,因此我们建议使用第三方的高可用方案(heartbeat+drbd+moosefs)来解决 Master Server 的单点问题。


3、性能瓶颈的解决办法

       由于 MooseFS 的高可扩展性,因此我们可以很轻松的通过增加 Chunk Server 的磁盘容量或增加 Chunk Server 的数量来动态扩展整个文件系统的存储量和吞吐量,这些操作丝毫不会影响到在线业务。


4、安全开启/停止MFS集群

1、启动 MooseFS 集群

安全的启动 MooseFS 集群(避免任何读或写的错误数据或类似的问题)的步骤如下:

       1、启动 mfsmaster 进程

       2、启动所有的 mfschunkserver 进程

       3、启动 mfsmetalogger 进程(如果配置了mfsmetalogger)

       4、当所有的 chunkservers 连接到 MooseFS master 后,任何数目的客户端可以利用 mfsmount 去挂载被 export 的文件系统。(可以通过检查 master 的日志或是 CGI 监控页面来查看是否所有的chunkserver 被连接)。



2、停止 MooseFS 集群

安全的停止 MooseFS 集群的步骤如下:

       1、在所有的客户端卸载MooseFS 文件系统(用umount命令或者是其它等效的命令)

       2、用 mfschunkserver –s命令停止chunkserver进程

       3、用 mfsmetalogger –s命令停止metalogger进程

       4、用 mfsmaster –s命令停止master进程


5、增加块设备(会自动平均)

        针对增加块设备的情况,其实就是说针对chunk server 有变化(增加或减少)的情况。

        为了增加一个案例说明,这里就以 UC 在使用 MooseFS 中遇到的一个问题为案例,讲解新增加 chunk server 时,MooseFS集群发生的变化,其实也就是 Master Server 发生的变化。


        UC在使用 MooseFS 集群的过程中,有次一台 Chunk Server 挂了,于是就涉及到了后期的恢复问题。在问题Chunk Server修复之后,就从新加入到了集群当中。此时,新增加的 chunk server 启动之后会向 Master 汇报 Chunk 的信息,Master接收到 Chunk 信息之后会逐个检查 Chunk_id是否存在。如果不存在,就表示该chunk_id其实已经删除了(chunk_id过期),然后会调用chunk_new()创建该chunk,并设置lockedio属性为7天后。这些操作都是属于内存操作,并且Master是单线程的进程,并不存在全局锁,因此不会导致 Master 阻塞无响应。因此,针对增加chunk server的情况,是不会对MooseFS集群产生什么大的影响的。

        以上就是新增加 Chunk Server 后的,MooseFS 集群中 Master Server 的变化。而针对各个Chunk Server,Master Server会重新去调整块文件的磁盘空间,然后全部重新动态分配块文件。如果遇到空间不够的磁盘,Master Server会自动调整块文件的分布,从不够的磁盘里动态的把块服务移动到有大的磁盘块服务器里

        当然,如果按照上面的情况这次就不会是故障了,因此并不会对 MooseFS 集群产生什么大的影响。由于他们当时因为资源紧张,就把 Master Server 放到了虚拟机上,而虚拟机的磁盘是挂载的iscsi磁盘。并且他们的MooseFS使用的版本并不是最新的1.6.27,而是1.6.19。在1.6.19版本中,会把chunk的汇报过程写入磁盘,这样就导致了几十万条的磁盘写入,由于磁盘是前面提到的网络盘,就最终酿成了 Master Server 恢复时无响应几十分钟。

         因此,我们在生产环境中,针对Master Server的选型一定不能使用虚拟机,而是使用大内存量的物理机

 

允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1602616

MooseFS-介绍

一、简述

1、介绍

       MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本。对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样。从其对文件操作的情况看,MooseFS就相当于一个类UNIX文件系统:

       1、mfs是一个分层的目录树结构

       2、存储支持POSIX标准的文件属性(权限,最后访问和修改时间)

       3、支持特殊的文件,如:块设备,字符设备,管道和套接字,链接文件(符号链接和硬链接)

       4、支持基于IP地址和密码的方式访问文件系统


2、特性

       1、高可靠性,每一份数据可以设置多个副本(多份数据),并可以存储在不同的主机上

       2、高可扩展性,可以很轻松的通过增加主机磁盘容量或增加主机数量来动态扩展整个文件系统的存储量

       3、高可容错性,我们可以通过对mfs进行系统设置,实现当数据文件被删除后的一段时间内,依然存放于主机的回收站中,以备误删恢复数据

       4、高数据一致性,即便文件被写入/访问时,我们依然可以完成对文件的一致性快照



3、优缺点

优点:

       1、由于MFS是基于GPL发布的,因此完全免费,并且开发和社区都很活跃,资料也非常丰富

       2、轻量、易部署、易配置、易维护

       3、通用文件系统,不需要修改上层应用就可以使用(那些需要专门 API 的DFS确实有点麻烦)

       4、扩容成本低、支持在线扩容,不影响业务,体系架构可伸缩性极强(官方的case可以扩到70台了!)

       5、体系架构高可用,所有组件无单点故障

       6、文件对象高可用,可设置任意的文件冗余程度(提供比 Raid 10 更高的冗余级别)

       7、提供系统负载,将数据读写分配到所有的服务器上,加速读写性能

       8、提供诸多高级特性,比如类似Windows的回收站功能、类似JAVA语言的GC(垃圾回收)、快照功能等

       9、MooseFS 是 Google Filesystem 的一个 c 实现

       10、自带 Web Gui 的监控接口

       11、提高随机读或写效率和海量小文件的读写效率(有待进一步证明)

缺点:

       1、Master Server 本身的性能瓶颈。MFS的主备架构情况类似于MySQL的主从复制,从可以扩展,主却不容易扩展。短期的对策就是按照业务来做切分。

       2、随着MFS体系架构中存储文件的总数上升,Master Server对内存的需求量会不断增大(MFS把文件系统的结构缓存到 Maset Server 的内存中)。根据官方提供的数据,8g对应2500kw的文件数,2亿文件就得64GB内存。短期的对策也是按照业务来做切分。

       3、Master server的单点解决方案的健壮性。目前官方自带的是把数据信息从Master Server同步到Metalogger Server上,Master Server一旦出问题Metalogger Server可以恢复升级为Master Server,但是需要恢复时间。目前,也可以通过第三方的高可用方案(heartbeat+drbd+moosefs)来解决 Master Server 的单点问题。

       4、Metalogger Server 复制元数据的间隔时间较长(可调整)


4、应用场景

      谈及MooseFS的应用场景,其实就是去谈分布式文件系统的应用场景。

      1、大规模高并发的数据存储及访问(小文件、大文件),TFS适合小文件(<1M)

      2、大规模的数据处理,如日志分析


5、使用现状

       针对 MooseFS 在全球的使用情况,我在国内的一篇论文上挖了一张图。图片如下,在该图中标记为驯鹿的就是 Moosefs 的使用者所在区域。从图中可以看出,它在中国、欧洲以及北美都拥有了大量的用户,正是有了广泛的用户基础,才能使得mfs特性能够快速的迭代和进步。

点击查看原图

MooseFS官方的使用情况链接:http://www.moosefs.org/who-is-using-moosefs.html


二、组成

1、架构图


点击查看原图

       整个架构中,主要有四个组件,分别是管理服务器 Master Server、备份服务器Metalogger Server、数据存储服务器 Chunk Server 和 客户端 Client。其中,管理服务器 Master Server 负责所有数据存储服务器的数据存储管理,响应客户端文件的读写请求,收回文件空间以及恢复文件,多存储节点之间的文件复制;元数据日志服务器 Metalogger Server,对 Master Server  服务器的变化日志文件进行备份,changelog_ml.*.mfs 是备份文件的类型,当 Master Server 出现故障时替换其继续工作,避免 Master Server 的单点故障导致分布式文件系统的不能正常运行;数据存储服务器chunkserver,服从 Master Server 的安排,定期向 Master Server 发送自己的状态信息,除此之外,还能向客户提供数据存储空间,能够向客户传输数据;客户端 Client,通过 FUSE 内核接口挂载到数据存储服务器上,在客户端看来使用数据存储服务器上的文件系统和使用本地Unix文件系统是一样的。

       下面再针对这4个组件进行更详细的介绍!


2、四个组件

组件名称 组件作用

管理服务器

Managing Server

简称Master Server 

这个组件的角色是管理整个mfs文件系统的主服务器,除了分发用户请求外,还用来存储整个文件系统中的每个数据文件的metadata信息,metadata(元数据)信息包括文件(也可以是目录、socket、管道、设备等)的大小、属性、文件位置路径等,以及文件空间的回收和恢复,控制多chunk server节点的数据拷贝。很类似lvs负载均衡主服务器,不同的是lvs仅仅根据算法分发请求,而master根据内存里的metadata信息来分发请求。这个master只能有一台处于激活工作的状态。

元数据备份服务器

Metadata backup servers

简称metalogger Server

这个组件的作用是备份管理服务器master的变化的metadata信息日志文件,文件类型为changelog_ml.*.mfs,以便于在主服务器出现问题的时候,可以经过简单的操作即可让新主服务器进行工作。这很类似Mysql的主从同步,只不过他不像mysql从库那样在本地应用数据,而只是接收主服务器上文件写入时记录的文件相关的metadata信息。这个backup可以有一台或多台,它很类似于lvs从负载均衡器。

数据存储服务器组

Data Servers

简称Chunk Servers

这个组件就是真正存放数据文件实体的服务器了,这个角色可以有多台不同的物理服务器或不同的磁盘及分区来充当,当配置数据的副本多于一份时,剧写入到一个数据服务器后,会根据算法在其他数据服务器上进行同步备份。这个很像lvs集群的rs节点。

客户机服务器组

Client

这个组件就是挂载并使用mfs文件系统的客户端,当读写文件时,客户端首先连接主管理服务器获取数据的metadata信息,然后根据得到的metadata信息,访问数据服务器读取或写入文件实体。mfs客户端通过FUSE mechanism实现挂载MFS文件系统的。因此,只要系统支持FUSE,就可以作为客户端访问MFS整个文件系统。所谓的客户端并不是网站用户,而是前端访问文件系统的应用服务器,如web


三、原理

    MooseFS是一个文件系统,因此其最主要的工作就是文件的读写流程,即 MooseFS的主要的两大工作过程。

1、MooseFS的读文件流程:

       首先要了解的是它的读过程。如下图所示:

点击查看原图

       图中 Master Server用三角形表示,Chunk Server用圆形表示,Client 用方形表示。整个读过程有以下四个步骤:

        1、首先client客户端访问主服务器master,获取文件实体的位置等相关信息

        2、主服务器master查询缓存记录,把文件实体的位置等相关信息发给client客户端

        3、Client客户端根据拿到的信息去访问对应的存储实体数据的服务器(data servers或者 chunk servers)

        4、存储实体数据的服务器(data servers或者 chunk servers)把对应的数据返回给Client客户端

        从上图,我们还可以看出,当多个MFS客户端读数据的时候,master服务器充当路由为这些客户端分发指路的作用,而数据的返回时由不同的数据服务器直接返回给请求的客户端,这样的模式可以极大的减轻主服务器的系统及网络瓶颈,增加了整个系统的吞吐,很像LVS的DR模式的负载均衡的分发和数据传输的情况。



2、MooseFS的写文件流程:

           相对于读文件,MooseFS的写文件流程较为复杂,如图所示:

点击查看原图

         图中 Master Server用三角形表示,Chunk Server用圆形表示,Client 用方形表示。

         整个写过程要分为下面八个步骤:

        1、Client客户端访问主服务器master,请求写入数据

        2、主服务器master查询缓存记录,如果是新文件,则会联系后面的数据服务器创建对应的chunk对象准备存放文件。

        3、数据服务器返回创建对应的chunk对象成功给主服务器

        4、主服务器master把文件实体的位置等相关信息发给client客户端。

        5、Client客户端访问对应的数据服务器写数据

        6、数据服务器之间进行数据同步,互相确认成功

        7、数据服务器返回成功写入信息给Client客户端

        8、Client客户端回报给主服务器master写入结束

转载作品,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1600890

HDFS 基本概念

HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统。

一、HDFS的主要设计理念

1、存储超大文件

  这里的“超大文件”是指几百MB、GB甚至TB级别的文件。

2、最高效的访问模式是 一次写入、多次读取(流式数据访问)

  HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。

3、运行在普通廉价的服务器上

HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。

二、HDFS的忌讳

1、将HDFS用于对数据访问要求低延迟的场景

  由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。

2、存储大量小文件

  HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。

三、HDFS基本概念

数据块(block):大文件会被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份。

namenode:namenode负责管理文件目录、文件和block的对应关系以及block和datanode的对应关系。

datanode:datanode就负责存储了,当然大部分容错机制都是在datanode上实现的。

四、HDFS基本架构图 

点击查看原图

图中有几个概念需要介绍一下

Rack 是指机柜的意思,一个block的三个副本通常会保存到两个或者两个以上的机柜中(当然是机柜中的服务器),这样做的目的是做防灾容错,因为发生一个机柜掉电或者一个机柜的交换机挂了的概率还是蛮高的。

五、HDFS写文件流程 

点击查看原图

思考:

在datanode执行create file后,namenode采用什么策略给client分配datanode?

  顺序写入三个datanode,写入过程中有一个datanode挂掉了,如何容错?

  client往datanode写入数据时挂掉了,怎么容错?

六、HDFS读文件流程 

点击查看原图

思考:namenode挂掉了怎么办,这个时候HDFS是否有相应的容错方案。

系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

一.系统吞度量要素:

  一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。

系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间

        QPS(TPS):每秒钟request/事务 数量

        并发数: 系统同时处理的request/事务数

        响应时间:  一般取平均响应时间

(很多人经常会把并发数和TPS理解混淆)

理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间    或者   并发数 = QPS*平均响应时间
        一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。
QPS = 1000/(30*60) 事务/秒
平均响应时间为 = 5*60  秒
并发数= QPS*平均响应时间 = 1000/(30*60) *(5*60)=166.7

        一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

决定系统响应时间要素

我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。

系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间;

关键路径是有CPU运算、IO、外部系统响应等等组成。

二.系统吞吐量评估:

我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。

而通常境况下,我们面对需求,我们评估出来的出来QPS、并发数之外,还有另外一个维度:日PV。

通过观察系统的访问日志发现,在用户量很大的情况下,各个时间周期内的同一时间段的访问流量几乎一样。比如工作日的每天早上。只要能拿到日流量图和QPS我们就可以推算日流量。

通常的技术方法:

        1. 找出系统的最高TPS和日PV,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响之外)

        2. 通过压力测试或者经验预估,得出最高TPS,然后跟进1的关系,计算出系统最高的日吞吐量。B2B中文和淘宝面对的客户群不一样,这两个客户群的网络行为不应用,他们之间的TPS和PV关系比例也不一样。



A)淘宝

淘宝流量图:

点击查看原图

淘宝的TPS和PV之间的关系通常为  最高TPS:PV大约为 1 : 11*3600 (相当于按最高TPS访问11个小时,这个是商品详情的场景,不同的应用场景会有一些不同)

B) B2B中文站

B2B的TPS和PV之间的关系不同的系统不同的应用场景比例变化比较大,粗略估计在1 : 8个小时左右的关系(09年对offerdetail的流量分析数据)。旺铺和offerdetail这两个比例相差很大,可能是因为爬虫暂的比例较高的原因导致。

在淘宝环境下,假设我们压力测试出的TPS为100,那么这个系统的日吞吐量=100*11*3600=396万

这个是在简单(单一url)的情况下,有些页面,一个页面有多个request,系统的实际吞吐量还要小。

无论有无思考时间(T_think),测试所得的TPS值和并发虚拟用户数(U_concurrent)、Loadrunner读取的交易响应时间(T_response)之间有以下关系(稳定运行情况下):

TPS=U_concurrent / (T_response+T_think)。

并发数、QPS、平均响应时间三者之间关系

点击查看原图

   上图横坐标是并发用户数。绿线是CPU使用率;紫线是吞吐量,即QPS;蓝线是时延。
    开始,系统只有一个用户,CPU工作肯定是不饱合的。一方面该服务器可能有多个cpu,但是只处理单个进程,另一方面,在处理一个进程中,有些阶段可能是IO阶段,这个时候会造成CPU等待,但是有没有其他请 求进程可以被处理)。随着并发用户数的增加,CPU利用率上升,QPS相应也增加(公式为QPS=并发用户数/平均响应时间。)随着并发用户数的增加,平均响应时间也在增加,而且平均响应时间的增加是一个指数增加曲线。而当并发数增加到很大时,每秒钟都会有很多请求需要处理,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处 理的请求数反而变少,同时用户的请求等待时间也会变大,甚至超过用户的心理底线。

来源:http://www.cnblogs.com/jackei/

软件性能测试的基本概念和计算公式

一、软件性能的关注点

对一个软件做性能测试时需要关注那些性能呢?

我们想想在软件设计、部署、使用、维护中一共有哪些角色的参与,然后再考虑这些角色各自关注的性能点是什么,作为一个软件性能测试工程师,我们又该关注什么?

首先,开发软件的目的是为了让用户使用,我们先站在用户的角度分析一下,用户需要关注哪些性能。

对于用户来说,当点击一个按钮、链接或发出一条指令开始,到系统把结果已用户感知的形式展现出来为止,这个过程所消耗的时间是用户对这个软件性能的直观印象。也就是我们所说的响应时间,当相应时间较小时,用户体验是很好的,当然用户体验的响应时间包括个人主观因素和客观响应时间,在设计软件时,我们就需要考虑到如何更好地结合这两部分达到用户最佳的体验。如:用户在大数据量查询时,我们可以将先提取出来的数据展示给用户,在用户看的过程中继续进行数据检索,这时用户并不知道我们后台在做什么。

用户关注的是用户操作的相应时间。

其次,我们站在管理员的角度考虑需要关注的性能点。

1、 相应时间

2、 服务器资源使用情况是否合理

3、 应用服务器和数据库资源使用是否合理

4、 系统能否实现扩展

5、 系统最多支持多少用户访问、系统最大业务处理量是多少

6、 系统性能可能存在的瓶颈在哪里

7、 更换那些设备可以提高性能

8、 系统能否支持7×24小时的业务访问

再次,站在开发(设计)人员角度去考虑。

1、 架构设计是否合理

2、 数据库设计是否合理

3、 代码是否存在性能方面的问题

4、 系统中是否有不合理的内存使用方式

5、 系统中是否存在不合理的线程同步方式

6、 系统中是否存在不合理的资源竞争

那么站在性能测试工程师的角度,我们要关注什么呢?

一句话,我们要关注以上所有的性能点。

二、软件性能的几个主要术语

1、响应时间:对请求作出响应所需要的时间

网络传输时间:N1+N2+N3+N4

应用服务器处理时间:A1+A3

数据库服务器处理时间:A2

响应时间=N1+N2+N3+N4+A1+A3+A2

2、并发用户数的计算公式

系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是5000个,那么这个数量,就是系统用户数。

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量。

同时在线用户数=每秒请求数RPS(吞吐量)+并发连接数+平均用户思考时间

平均并发用户数的计算:C=nL / T

其中C是平均的并发用户数,n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算:C^约等于C + 3*根号C

其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。

3、吞吐量的计算公式

指单位时间内系统处理用户的请求数

从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

从网络角度看,吞吐量可以用:字节/秒来衡量

对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力

以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。

当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R /

其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间

4、性能计数器

是描述服务器或操作系统性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。

资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。

5、思考时间的计算公式

Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做新能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。

在吞吐量这个公式中F=VU * R / T说明吞吐量F是VU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS

下面给出一个计算思考时间的一般步骤:

A、首先计算出系统的并发用户数

C=nL / T F=R×C

B、统计出系统平均的吞吐量

F=VU * R / T R×C = VU * R / T

C、统计出平均每个用户发出的请求数量

R=u*C*T/VU

D、根据公式计算出思考时间

TS=T/R

 

转自 http://www.ha97.com/5095.html

首批“全国旅游价格信得过景区”名单

景区名称 等级
北京市
通州区大运河森林公园 4A
北京韩美林艺术馆 4A
小汤山现代农业科技示范园 4A
朝阳公园 4A
中华民族园 4A
紫檀博物馆 4A
石花洞 4A
云居寺 4A
周口店北京人遗址博物馆 4A
戒台寺景区 4A
八达岭水关长城 4A
北京野鸭湖国家湿地公园 4A
北京延庆松山森林旅游区 4A
日坛公园 3A
庆丰公园 3A
古塔公园 3A
黄芩仙谷 3A
北京顺鑫绿色度假村 3A
通州区运河公园 3A
中国民兵武器装备陈列馆 3A
爨柏景区 3A
十八潭景区 3A
桃源仙谷 3A
首云国家矿山公园 3A
青菁顶景区 3A
白龙潭 3A
北京古崖居风景名胜区 3A
万芳亭公园 2A
小龙门国家森林公园 2A
灵山景区 2A
八达岭世界葡萄博览中心 非A
天津市
天津古文化街旅游区(津门故里) 5A
天津盘山风景名胜区 5A
天津黄崖关长城风景游览区 4A
天津蓟县独乐寺 4A
天津热带植物观光园 4A
天津水上公园 4A
天津杨柳青博物馆(石家大院) 4A
仁爱团泊湖·国际休闲博览园 4A
天津滨海航母主题公园 4A
意大利风情旅游区 4A
宁园旅游景区 4A
天津海昌极地海洋世界景区 4A
天津周恩来邓颖超纪念馆景区 4A
天津凯旋王国主题游乐园景区 4A
精武门·中华武林园 4A
梨木台景区 4A
天津希乐少儿休闲旅游区 4A
天津欢乐谷 4A
天津五大道文化旅游区 4A
天津杨柳青庄园 4A
天津水高庄园 4A
天津东疆湾景区 4A
九龙山国家森林公园 3A
民俗博物馆(天后宫) 3A
天津市老城博物馆 3A
东丽湖温泉度假旅游区 3A
天津梁启超纪念馆 3A
天津利顺德大饭店 3A
应大皮衣博物馆 3A
滨海茶淀葡萄科技园 3A
杨柳青园艺科技博览园 3A
天津峰山药王古寺 3A
天津大港奥林匹克博物馆 3A
天津港博览馆 3A
北塘特色旅游区 3A
天津市世博华明馆 3A
天津凌奥创意产业园 3A
张家窝食用菌休闲园 3A
李叔同故居纪念馆 3A
曹家花园 3A
曹禺故居纪念馆(曹禺剧院) 3A
西双塘民俗风景区 3A
天津觉悟社纪念馆 3A
南普公园 3A
蓟州溶洞 3A
天津智利风情园 3A
平津战役天津前线指挥部旧址陈列馆 2A
天津一二·九抗日救亡运动纪念馆 2A
元古奇石林 2A
中山公园 2A
金汤桥会师公园 2A
杨柳青年画馆 2A
安家大院藏珍馆 2A
耳闸公园 2A
华明示范镇宅基地复垦设施农业园 2A
河北省
石家庄西柏坡景区 5A
秦皇岛市山海关景区 5A
保定市野三坡景区 5A
保定市安新白洋淀景区 5A
石家庄市天桂山景区 4A
石家庄市驼梁景区 4A
石家庄市黑山大峡谷景区 4A
石家庄市拦道石红色生态风景区 4A
石家庄市佛光山景区 4A
石家庄市紫云山景区 4A
石家庄市沕沕水景区 4A
石家庄市西苑温泉景区 4A
石家庄市藤龙山景区 4A
石家庄市东方巨龟苑景区 4A
石家庄市隆兴寺景区 4A
石家庄市荣国府景区 4A
石家庄市嶂石岩景区 4A
石家庄市国御温泉度假小镇 4A
石家庄市苍岩山景区 4A
石家庄市华北军区烈士陵园 4A
承德市丰宁京北第一草原景区 4A
承德市双塔山景区 4A
承德市隆化董存瑞纪念馆 4A
承德市兴隆溶洞景区 4A
秦皇岛市乐岛欢乐海洋公园 4A
秦皇岛市长寿山景区 4A
秦皇岛市角山景区 4A
秦皇岛市华夏庄园景区 4A
秦皇岛市旅游滑沙活动中心 4A
秦皇岛市祖山景区 4A
秦皇岛市新澳海底世界 4A
秦皇岛市南戴河国际娱乐中心 4A
唐山市清东陵 4A
唐山市乐亭李大钊纪念馆及故居 4A
唐山市迁安山叶口自然风景区 4A
唐山市曹妃甸湿地景区 4A
唐山市丰南唐津运河旅游区 4A
唐山市滦州古城 4A
唐山市开滦国家矿山公园 4A
唐山市菩提岛景区 4A
唐山市月坨岛景区 4A
唐山市景忠山旅游区 4A
唐山市万佛园景区 4A
唐山市青山关旅游区 4A
张家口市怀来黄龙山庄旅游区 4A
张家口市下花园鸡鸣山景区 4A
张家口市涿鹿黄帝城景区 4A
张家口市安家沟生态旅游区 4A
张家口市沽源塞外庄园 4A
张家口市沽源沽水福源景区 4A
廊坊市香河第一城景区 4A
廊坊市文化公园 4A
廊坊市自然公园 4A
廊坊市金丰农科园 4A
廊坊市香河金钥匙景区 4A
保定市鱼谷洞景区 4A
保定市晋察冀边区革命纪念馆 4A
保定市满城汉墓景区 4A
保定市冉庄地道战遗址 4A
保定市曲阳北岳庙景区 4A
保定市曲阳虎山风景区 4A
沧州市吴桥杂技大世界 4A
沧州市东光铁佛寺 4A
衡水市武强年画博物馆 4A
衡水湖景区 4A
邢台市崆山白云洞 4A
邢台市前南峪生态旅游区 4A
邢台市九龙峡景区 4A
邢台市天梯山景区 4A
邢台市天河山景区 4A
邢台市云梦山景区 4A
邢台市扁鹊庙 4A
邢台大峡谷景区 4A
邯郸市娲皇宫景区 4A
邯郸市太行五指山旅游区 4A
邯郸市129师司令部旧址 4A
邯郸市京娘湖风景区 4A
邯郸市东山文化博艺园 4A
邯郸市响堂山风景名胜区 4A
邯郸市赵苑公园 4A
邯郸市长寿村景区 4A
邯郸市古武当山景区 4A
邯郸市晋冀鲁豫革命纪念园 4A
邯郸市七步沟景区 4A
邯郸市广府古城旅游区 4A
辛集国际皮革城 4A
石家庄市仙台山景区 3A
石家庄市高远红木博览城 3A
承德市魁星楼景区 3A
承德市丰宁白云古洞景区 3A
承德市六里坪--九龙潭景区 3A
承德市奇石谷景区 3A
承德市辽河源国家森林公园 3A
承德市宽城蟠龙湖景区 3A
承德市平泉泽州园景区 3A
秦皇岛市碣石山景区 3A
秦皇岛市昌黎葡萄沟景区 3A
秦皇岛市王家大院景区 3A
唐山玉田县净觉寺 3A
迁西五虎山旅游区 3A
唐山市迁西县喜峰口旅游景区 3A
唐山市遵化禅林寺古银杏风景园 3A
唐山市青龙湖生态旅游度假景区 3A
蒙牛乳业(唐山)有限公司旅游景区 3A
唐山抗震纪念馆 3A
张家口市蔚县飞狐峪空中草原景区 3A
张家口市崇礼翠云山景区 3A
张家口市崇礼翠云山滑雪度假景区 3A
张家口市张北野狐岭要塞景区 3A
廊坊市华御温泉度假村 3A
廊坊市国际会展中心 3A
廊坊市霸州李少春纪念馆 3A
廊坊市霸州华夏民间收藏馆 3A
廊坊市霸州胜芳古镇 3A
廊坊市刘凌沧郭慕熙艺术馆 3A
廊坊市天圆山庄生态园景区 3A
保定市顺平腰山王氏庄园 3A
沧州市纪晓岚文化园 3A
沧州市肃宁中国裘皮城 3A
沧州市黄骅海盐博物馆景区 3A
沧州市河间府署景区 3A
衡水市绿岛空中戏水乐园 3A
邢台市清河县羊绒制品城 3A
邯郸市黄粱梦吕仙祠景区 3A
邯郸市元宝山风景区 3A
邯郸市铜雀三台遗址公园 3A
邯郸市邺令公园 3A
邯郸市盛名度假村 3A
邯郸市磁州窑博物馆 3A
定州市黄家葡萄酒庄 3A
石家庄市赵云庙景区 2A
承德市城隍庙景区 2A
承德市关帝庙景区 2A
承德市九龙松景区 2A
承德市丰宁千松坝森林公园 2A
承德市隆化县茅荆坝森林公园 2A
承德市宽城县都山景区 2A
承德市宽城县万塔黄崖景区 2A
承德市滦平县花溪梨园景区 2A
承德市围场县大清猎苑景区 2A
承德市宽城县菁润观光园景区 2A
承德市宽城县宝山休闲庄园景区 2A
承德市宽城县塞北江南景区 2A
秦皇岛市五峰山景区李大钊革命活动旧址景区 2A
秦皇岛市六峪山庄 2A
秦皇岛市鲍子沟景区 2A
秦皇岛市翡翠岛景区 2A
秦皇岛市天马山景区 2A
秦皇岛市天马湖景区 2A
唐山市滦县文峰塔 2A
唐山市遵化卧龙山自然风景区 2A
唐山市玉田县农福缘景区 2A
唐山市大城山公园 2A
唐山市潘家峪惨案纪念馆红色旅游景区 2A
唐山市遵化黄花山风景区 2A
唐山市遵化上关湖景区 2A
张家口市蔚县老君洞景区 2A
张家口市云松雾柳庄园 2A
张家口市怀来天漠旅游区 2A
张家口市塞北蒙古大营 2A
张家口市水云间假日会馆 2A
张家口市怀来容辰庄园 2A
廊坊市灵山寺景区 2A
廊坊市水一方休闲垂钓园 2A
廊坊市大城京作红木家具旅游基地 2A
廊坊市固安屈家营古音乐会堂 2A
廊坊市大厂北坞清真寺 2A
廊坊市香河新城广场 2A
廊坊市安次区绿岛庄园 2A
廊坊市天胜园农业生态观光园 2A
廊坊市永清县金华湖度假村 2A
廊坊市永清县观音禅寺 2A
安国市毛主席视察纪念馆 2A
安国中药文化博物馆 2A
沧州市泊头清真寺 2A
沧州市马本斋纪念馆 2A
沧州市盐山千童祠景区 2A
沧州市神然生态农业园 2A
沧州市青县司马庄蔬菜观光园 2A
沧州市献县小屯竹柳生态观光园 2A
沧州市王希鲁景区 2A
沧州市南大港湿地景区 2A
衡水市宝云寺 2A
冀州市灵秀山庄 2A
衡水市中国内画艺术之乡展览馆 2A
衡水老白干集团工业旅游区 2A
衡水市全国第一个农村党支部纪念馆 2A
衡水市深州蜜桃观光园 2A
衡水市田园棉文化园 2A
邢台市张果老山景区 2A
邢台市威县义和团纪念馆 2A
邢台市华夏张氏祖庭 2A
邯郸市峰峰磁州窑富田遗址 2A
邯郸市大名石刻博物馆 2A
邯郸市漳河旅游度假区 2A
邯郸市圣井岗景区 2A
定州市伊利工业园区 2A
定州市德胜农林科技园 2A
秦皇岛市总兵府景区 非A
秦皇岛市首山景区 非A
张家口市康保康巴诺尔庄园 非A
张家口市怀来县鸡鸣驿古城景区 非A
张家口市阳原县泥河湾博物馆 非A
张家口市宣化假日绿岛度假村 非A
张家口市宣化桑干河大峡谷 非A
沧州市青县广旺农庄 非A
邢台百泉湾温泉旅游度假区 非A
邢台市英谈村乡村旅游区 非A
邢台市白云山景区 非A
邯郸市十六沟景区 非A
山西省
太原蒙山大佛 4A
定襄河边民俗馆 4A
凤凰山植物园 4A
平遥古城 4A
平遥双林寺 4A
平遥镇国寺 4A
左权麻田八路军总部纪念馆 4A
昔阳县大寨景区 4A
八路军太行纪念馆 4A
运城关帝庙景区 4A
万荣李家大院景区 4A
垣曲历山 4A
舜帝陵景区 4A
永济普救寺 4A
永济鹳雀楼 4A
永济五老峰景区 4A
芮城永乐宫 4A
运城盐湖(中国死海)景区 4A
原平市天牙山风景区 3A
静乐天柱山景区 3A
晋冀鲁豫边区临时参议会旧址 3A
太行龙口景区 3A
原平大营温泉 A
太谷三多堂博物馆 非A
太谷美宝农业观光园 非A
山西太谷孔祥熙宅园 非A
沁源县菩提寺风景区 非A
辽宁省
大连金石滩国家旅游度假区 5A
大连老虎滩海洋公园 5A
沈阳故宫(微博)博物院 4A
沈阳森林动物园 4A
沈阳北陵公园 4A
沈阳九一八历史博物馆 4A
沈阳航空博览园 4A
沈阳五爱市场购物旅游区 4A
大连安波旅游度假区 4A
大连圣亚海洋世界 4A
大连紫云花汐旅游景区 4A
大连森林动物园 4A
大连铭湖国际温泉滑雪度假区 4A
鞍山玉佛苑景区 4A
抚顺雷锋纪念馆 4A
本溪水洞风景名胜区 4A
桓仁五女山景区 4A
凤城市大梨树生态农业观光旅游区 4A
参仙源参业股份有限公司天桥沟森林公园 4A
义县奉国寺景区 4A
营口白沙湾黄金海岸 4A
望儿山风景区 4A
辽阳市广佑寺景区 4A
朝阳凤凰山旅游景区 4A
盘锦鼎祥生态旅游区 4A
辽河口红海滩景区 4A
葫芦岛葫芦山庄 4A
葫芦岛灵山寺 4A
兴城市古城景区 4A
觉华岛旅游度假区 4A
沈阳朝阳山 3A
沈阳工业博物馆 3A
沈阳爱新觉罗祖家坊酒业 3A
沈阳财湖旅游度假区 3A
沈阳市城市规划展示馆 3A
大连观光塔 3A
长海县小水口森林公园 3A
东港市北井子镇獐岛风景区 3A
和睦国家森林公园 非A
沈阳卧龙谷 非A
三块石国家森林公园 非A
大石湖风景区 非A
桓仁枫林谷旅游景区 非A
凌海市萧军纪念馆 非A
义县宣州化石馆 非A
义县万佛堂景区 非A
建平天秀山旅游风景区 非A
盘锦江南风情园 非A
盘锦鸳鸯沟 非A
吉林省
伪满皇宫博物院 5A
长影世纪城 4A
长春市文庙博物馆 4A
吉林省酒文化博物馆 4A
长春关东文化园 4A
长春市动植物公园 4A
九台市碧水庄园度假村 4A
吉林省御龙温泉度假村 4A
东北师范大学东北民族民俗博物馆 4A
松花湖风景名胜区 4A
吉林市朱雀山国家森林公园 4A
吉林市圣鑫葡萄酒庄园 4A
伊通满族博物馆 4A
吉林省鴜鹭湖生态辽源度假区 4A
辽源市青少年平安教育馆 4A
辽源市道路交通体验公园 4A
通化白鸡峰森林公园 4A
集安市五女峰国家森林公园 4A
通化县振国壹号庄园景区 4A
白山市松江河国家森林公园 4A
松原市规划展览馆 4A
大安市嫩江湾国家湿地公园 4A
敦化市六鼎山文化旅游区 4A
黑龙江省
伊春汤旺河石林风景区 5A
黑龙江省凤凰山国家森林公园 4A
大海林林业局雪乡国家森林公园 4A
黑龙江省森工平山旅游区 4A
牡丹江柴河北国小九寨景区 4A
黑龙江凉水国家级自然保护区 4A
黑龙江省森工苇河林业局红豆杉景区 4A
双鸭山林业局青山国家森林公园 4A
齐齐哈尔扎龙自然保护区 4A
北大荒闫家岗温泉度假区 4A
齐齐哈尔泰来江桥抗战纪念地 4A
鸡西市密山北大荒书法长廊景区 4A
当壁镇兴凯湖旅游度假区 4A
鸡西市密山铁西森林公园景区 4A
虎头珍宝岛旅游风景区 4A
伊春嘉荫茅兰沟森林旅游区 4A
大庆连环湖景区 4A
大庆市林甸温泉欢乐谷旅游景区 4A
大庆北国温泉养生休闲旅游区 4A
黑河五大连池市山口湖旅游景区 4A
黑河市爱辉历史陈列馆 4A
方正林业局小龙山风景区 3A
方正林业局龙山公园风景区 3A
绥棱林业局生态文化旅游景区 3A
清河林区旅游风景区 3A
黑龙江省大沾河国家森林公园 3A
黑龙江桦南林业局七星峰国家森林公园景区 3A
黑龙江省红旗农场都市农业园 3A
齐齐哈尔泰湖国家湿地公园 3A
齐齐哈尔塔子城辽金文化旅游名镇 3A
齐齐哈尔中国(大兴)九八抗洪纪念馆 3A
鸡西鸡东县凤凰山风景区 3A
伊春市太平森林公园 3A
伊春兴安森林公园 3A
黑河北安市博物馆 3A
黑河市北安庆华军工遗址博物馆景区 3A
大庆色氏湿地人家景区 3A
双鸭山东湖旅游度假区 3A
双鸭山宝清县七星河湿地生态旅游区 3A
大兴安岭呼中白山旅游景区 3A
大兴安岭塔河栖霞山植物园景区 3A
大兴安岭万亩种子园景区 3A
伊春市朗乡玉兔仙潭风景区 2A
齐齐哈尔瑞盛食品制造有限公司 2A
大兴安岭呼玛县界江旅游度假区 1A
大兴安岭古里生态旅游区 1A
上海市
上海科技馆 5A
上海博物馆 4A
上海佘山国家森林公园 4A
上海城市规划展示馆 4A
东平国家森林公园 4A
上海大观园 4A
上海古猗园 4A
上海方塔园 4A
上海市青少年校外活动营地-东方绿舟 4A
枫泾古镇 4A
金山城市沙滩景区 4A
碧海金沙景区 4A
上海鲜花港 4A
上海月湖雕塑公园 4A
上海都市菜园景区 4A
前卫生态村 4A
上海海湾国家森林公园 4A
上海南翔景区 4A
上海明珠湖·西沙湿地景区 4A
上海宋庆龄故居纪念馆 4A
上海东林寺景区 4A
上海顾村公园景区 4A
上海辰山植物园 4A
上海江南三民文化村景区 4A
上海召稼楼景区 4A
中国农民画村 3A
黄兴公园 3A
上海玉穗绿苑 3A
瀛东生态村 3A
高家庄园乡村俱乐部 3A
上海联谊枇杷乐园 3A
上海M50创意园 3A
上海犹太难民纪念馆 3A
花米庄行景区 3A
上海南社纪念馆 3A
上海韩湘水博园 3A
上海老码头景区 3A
上海瑞华果园景区 3A
上海影视乐园 3A
上海醉白池公园 3A
上海音乐谷景区 3A
上海大宁灵石公园 3A
江苏省
南京夫子庙秦淮风光带 5A
苏州园林(拙政园) 5A
苏州园林(虎丘山风景区)
苏州市园林(留园)
苏州同里古镇游览区 5A
苏州市金鸡湖景区 5A
苏州太湖旅游区(旺山景区) 5A
苏州太湖旅游区(陆巷古村) 5A
苏州太湖旅游区(紫金庵)
苏州太湖旅游区(启园)
苏州太湖旅游区(东山雕花楼)
苏州太湖旅游区(穹窿山)
苏州市沙家浜·虞山尚湖旅游区(沙家浜景区) 5A
南通市濠河景区 5A
泰州姜堰溱湖旅游景区 5A
南京总统府景区 4A
南京高淳国际慢城 4A
无锡宜兴善卷风景区 4A
无锡市薛福成故居 4A
宜兴市竹海景区 4A
无锡市崇安寺景区 4A
无锡市东林书院 4A
宜兴市陶祖圣境景区 4A
中国吴文化博物馆·无锡市鸿山遗址博物馆 4A
无锡市南禅寺景区 4A
无锡市宜兴张公洞旅游景区 4A
无锡市清名桥古运河景区 4A
徐州淮海战役纪念塔 4A
徐州市云龙湖风景区 4A
徐州汉画像石艺术馆 4A
徐州市邳州艾山九龙景区 4A
徐州市博物馆 4A
徐州市潘安湖湿地公园 4A
沛县微山湖千岛湿地景区 4A
贾汪督公湖旅游区 4A
睢宁水月禅寺景区 4A
常州市红梅公园 4A
环球动漫嬉戏谷 4A
苏州甪直古镇游览区 4A
苏州盘门景区 4A
苏州西山景区 4A
苏州木渎古镇 4A
常熟方塔古迹名胜区 4A
常熟服装城购物旅游区 4A
苏州市重元寺 4A
苏州市七里山塘景区 4A
苏州市平江历史街区 4A
苏州市太湖国家湿地公园 4A
苏州市常熟蒋巷乡村旅游景区 4A
苏州中国刺绣艺术馆 4A
苏州市吴江震泽古镇景区 4A
苏州市吴中光福景区 4A
张家港永联旅游景区 4A
天池山景区 4A
昆山市周庄古镇景区 4A
昆山市锦溪古镇 4A
昆山市千灯古镇游览区 4A
南通博物 4A
中国南通珠算博物馆 4A
南通市如皋水绘园景区 4A
中国工农红军第十四军纪念馆 4A
海安江淮文化园景区 4A
连云港海上云台山景区 4A
连云港二郎神文化遗迹公园 4A
淮安市周恩来纪念馆 4A
淮安市周恩来故居 4A
淮安市博物馆 4A
淮安市清河新区古淮河文化生态景区 4A
淮安府署景区 4A
淮安市吴承恩故居景区 4A
盐城海盐历史文化风景区 4A
盐城市新四军纪念馆 4A
阜宁金沙湖旅游区 4A
盐城射阳息心寺景区 4A
大丰市上海知青纪念馆 4A
东台西溪旅游文化景区 4A
大丰港海洋世界景区 4A
扬州瘦西湖风景区 4A
扬州中国雕版印刷博物馆/扬州博物馆 4A
扬州京华城休闲旅游区 4A
扬州市东关历史文化旅游区 4A
中国镇江醋文化博物馆 4A
泰州市凤城河风景区 4A
泰州姜堰市溱潼古镇旅游区 4A
泰州天德湖景区 4A
宿迁市雪枫公园 4A
泗阳县中国杨树博物馆 4A
宿迁市湖滨公园景区 4A
宿迁市项王故里景区 4A
龙王庙行宫 4A
浙江省
淳安县千岛湖风景区 5A
千岛湖石林景区
西溪湿地·洪园 5A
溪口雪窦山风景名胜区 5A
滕头生态旅游区
温州市雁荡山风景名胜区 5A
嘉兴市南湖景区 5A
根宫佛国文化旅游景区 5A
杭州市超山风景名胜区 4A
杭州市运河.塘栖古镇 4A
杭州市良渚博物院 4A
杭州市东方文化园 4A
杭州市浙旅院国际教育旅游体验区 4A
杭州市京杭大运河·杭州 4A
杭州市天目山景区 4A
杭州市大明山景区 4A
杭州市浙西大峡谷 4A
杭州市河桥古镇 4A
杭州市柳溪江 4A
杭州市东天目山 4A
杭州市太湖源 4A
宁波市达蓬山旅游度假区 4A
宁波市前童古镇旅游区 4A
宁波市宁海森林温泉景区 4A
宁波市伍山石窟旅游区 4A
宁波松兰山旅游度假区 4A
宁波市象山石浦渔港古城 4A
宁波市石浦中国渔村有限公司 4A
宁波市慈城古县城 4A
宁波市天一阁博物馆 4A
宁波市天宫庄园 4A
宁波博物馆 4A
宁波市镇海区招宝山旅游风景区 4A
宁波帮博物馆 4A
宁波市凤凰山海港乐园 4A
宁波市九峰山网岙景区 4A
温州市铜铃山国家森林公园 4A
温州市文成龙麒源旅游景区 4A
瑞安市寨寮溪风景区 4A
南塘文化旅游区(印象南塘) 4A
温州市永嘉楠溪江风景旅游区 4A
温州市泰顺廊桥文化园景区 4A
金华市兰溪市诸葛八卦村 4A
金华市武义清水湾景区 4A
金华市浦江仙华山风景区 4A
金华市江南第一家景区 4A
金华市方岩风景区 4A
中国义乌国际商贸城购物旅游区 4A
嘉兴市梅花洲景区 4A
嘉兴市西塘古镇景区 4A
嘉兴市碧云花园-十里水乡景区 4A
嘉兴市海宁中国皮革城景区 4A
绍兴市大香林乡村休闲旅游区 4A
绍兴市西施故里旅游区 4A
绍兴市五泄旅游区 4A
绍兴市华东国际珠宝城 4A
绍兴市大佛寺景区 4A
湖州市莫干山景区 4A
湖州市长兴金钉子景区 4A
湖州市江南红村 4A
湖州市仙山湖景区 4A
湖州市中国扬子鳄村 4A
湖州市安吉竹博园 4A
湖州市中南百草原 4A
湖州市江南天池 4A
湖州市浙北大峡谷 4A
湖州市浪漫山川 4A
湖州市南浔古镇景区 4A
湖州菰城景区 4A
湖州市太湖旅游度假区 4A
衢州市桃源七里景区 4A
衢州市三衢石林景区 4A
衢州市江郎山风景区 4A
衢州市浮盖山景区 4A
衢州市廿八都景区 4A
衢州市江山清漾景区 4A
丽水市中国青田石雕文化旅游区 4A
丽水市龙泉山旅游区 4A
丽水市遂昌南尖岩景区 4A
丽水市遂昌神龙飞瀑景区 4A
丽水市遂昌千佛山景区 4A
丽水景宁云中大漈景区 4A
丽水市中国景宁畲乡之窗景区 4A
台州海洋世界景区 4A
临海江南长城景区 4A
温岭市长屿硐天旅游区 4A
温岭方山景区 4A
玉环县大鹿岛旅游景区 4A
玉环县漩门湾观光农业园 4A
台州市天台山旅游风景区 4A
台州市神仙居景区 4A
千岛湖森林氧吧景区 3A
杭州市九咆界景区 3A
杭州市江南水乡博物馆 3A
杭州市浙西大龙湾 3A
宁波市四明山国家森林公园 3A
宁波市四明山地质公园 3A
宁波市四明山抗日根据地旧址 3A
宁波市浙东小九寨沟景区 3A
五磊山风景区 3A
宁波市虞氏旧宅 3A
宁波市岩头古村景区 3A
宁波市许家山历史文化名村 3A
宁波市梁皇山旅游区 3A
宁波市白玉湾生态农业观光园 3A
宁波市安庆会馆 3A
宁波市小普陀景区 3A
温州动物园 3A
嘉善国际木雕文化园景区 3A
嘉兴市福严寺景区 3A
绍兴市十九峰景区 3A
绍兴市百丈飞瀑景区 3A
湖州首创奥特莱斯 3A
临海江南大峡谷景区 3A
台州市后岸村景区 3A
台州市南黄古道景区 3A
绍兴市王羲之故居 2A
杭州市龙川湾景区 非A
东钱湖南宋石刻公园 非A
嘉兴市东湖景区 非A
湖州市陈武帝故宫 非A
湖州市大唐贡茶 非A
丽水市大木山骑行茶园景区 非A
台州市花漾星球太空农场 非A
安徽省
六安天堂寨景区 5A
安庆天柱山景区 5A
池州九华山风景区 5A
宿州市皇藏峪景区 4A
宿州市奇石文化园 4A
宿州市现代农业博览园 4A
蚌埠禾泉农庄 4A
蚌埠龙子湖景区 4A
滁州狼巷迷谷风景区 4A
六安万佛湖景区 4A
六安(霍山)大别山主峰景区 4A
六安临淮岗景区 4A
马鞍山采石风景区 4A
芜湖丫山花海石林景区 4A
宣城查济景区 4A
宣城宣酒文化园 4A
宣城江村景区 4A
宣城桃花潭景区 4A
宣城太极洞景区 4A
池州九子岩景区 4A
安庆五千年文博园景区 4A
安庆浮山风景区 4A
安庆孔雀东南飞景区 4A
安庆赵朴初故居 4A
安庆妙道山景区 4A
安庆明堂山景区 4A
安庆石莲洞景区 4A
黄山新安江滨水旅游区 4A
黄山芙蓉谷景区 4A
黄山翡翠谷景区 4A
黄山徽州古城景区 4A
黄山新安江山水画廊景区 4A
黄山雄村景区 4A
黄山醉温泉景区 4A
黄山牌坊群鲍家花园 4A
蚌埠四方湖景区 3A
滁州令狐山风景区 3A
芜湖泊山洞景区 3A
宣城黄田景区 3A
宣城赤滩景区 3A
宣城江南第一漂景区 3A
池州佛缘谷漂流景区 3A
池州龙泉圣境景区 3A
池州齐春生态庄园 3A
池州神仙洞景区 3A
安庆小孤山风景区 3A
黄山凤凰源景区 非A
福建省
三明泰宁旅游区 5A
屏南白水洋·鸳鸯溪旅游区 5A
太姥山风景名胜区 5A
福建土楼(永定)景区 5A
福建土楼(南靖)旅游景区
厦门园林植物园 4A
厦门青礁慈济祖宫(免费) 4A
厦门天竺山景区 4A
厦门海沧大桥旅游区 4A
厦门翠丰温泉度假区 4A
三明建 宁闽江源旅游区 4A
三明将乐玉华洞景区 4A
三明梅列瑞云山景区 4A
三明清流天芳悦潭旅游区 4A
三明三元区格氏栲景区 4A
三明沙县小吃文化城 4A
三明泰宁明清园景区 4A
泉州市博物馆 4A
莆田九鲤湖旅游区 4A
莆田中国古典工艺博览城 4A
莆田工艺美术城 4A
莆田九龙谷景区 4A
南平顺昌华阳森林公园 4A
武夷山茶博园 4A
周宁鲤鱼溪·九龙漈旅游区 4A
福安白云山风景名胜区 4A
福建古田旅游区(免费) 4A
福建龙岩梅花山虎园景区 4A
漳平水上茶乡九鹏溪旅游区 4A
福建长汀红色旧址群(免费) 4A
三坊七巷历史文化街区 4A
福州国家森林公园(免费 ) 4A
于山风景区(免费) 4A
旗山森林温泉度假村 4A
贵安新天地休闲旅游度假区 4A
漳州花博园(免费) 4A
漳浦天福茶博园 4A
漳州滨海火山地质公园 4A
漳州市诏安九侯山景区 4A
东山马銮湾景区(免费) 4A
东山风动石景区(免费) 4A
福建土楼(华安景区) 4A
厦门南顺鳄鱼园 3A
泉州森林公园 3A
宁德市蕉城区金涵畲族乡上金贝畲族寨景区 3A
三都澳斗姆风景区 3A
宁德霍童古镇 3A
古田县翠屏湖景区 3A
柘荣县东狮山景区 3A
九龙井风景区 3A
牛郞岗海滨景区 3A
周宁陈峭景区 3A
龙岩东肖红色旧址群(免费) 3A
闽西革命历史博物馆(免费) 3A
龙岩永定金砂红色旧址群(免费) 3A
龙岩永定中川古村落 3A
龙岩才溪乡调查纪念馆(免费) 3A
龙岩武平文博园(免费) 3A
龙岩武平定光佛景区(免费) 3A
福安市溪塔葡萄沟景区 2A
霞浦县赤岸风景区 2A
江西省
三清山景区 5A
婺源江湾景区 5A
景德镇古窑民俗博览区 5A
井冈山景区 5A
鹰潭龙虎山景区 5A
庐山景区 5A
滕王阁景区 4A
南昌市梅岭竹海明珠景区 4A
三清山田园牧歌景区 4A
上饶德兴大茅山景区 4A
上饶集中营名胜区 4A
婺源李坑景区 4A
上饶市婺源汪口景区 4A
婺源思溪延村景区 4A
上饶市婺源严田景区 4A
婺源灵岩景区 4A
婺源大鄣山卧龙谷 4A
婺源文公山景区 4A
景德镇得雨生态园景区 4A
景德镇浮梁古县衙景区 4A
景德镇乐平怪石林景区 4A
景德镇洪岩仙境景区 4A
靖安三爪仑观音岩景区 4A
靖安三爪仑白水洞景区 4A
靖安中部梦幻城 4A
宜春明月山景区 4A
抚州名人雕塑园景区 4A
抚州梦湖景区 4A
赣州大余县丫山景区 4A
赣州上犹县陡水湖景区 4A
赣州宁都县翠微峰景区 4A
赣州安远县三百山景区 4A
赣州石城县通天寨景区 4A
赣州瑞金市共和国摇篮景区 4A
赣州兴国三僚景区 4A
吉安市钓源景区 4A
吉安市陂下古村景区 4A
安福武功山景区 4A
萍乡武功山景区 4A
萍乡市安源锦绣城 4A
新余仙女湖景区 4A
庐山西海景区 4A
庐山区南山景区 4A
九江武宁县西海湾景区 4A
九江县中华贤母园 4A
山东省
枣庄台儿庄古城景区 5A
烟台南山景区 5A
曲阜明故城(三孔)景区 5A
沂蒙山旅游区沂山景区 5A
沂蒙山旅游区龟蒙景区
沂蒙山旅游区云蒙景区
济南章丘百脉泉景区 4A
济南市朱家峪景区 4A
青岛天幕城 4A
青岛葡萄酒博物馆 4A
青岛极地海洋世界 4A
青岛石老人观光园 4A
青岛金沙滩景区 4A
青岛大珠山景区 4A
青岛琅琊台景区 4A
青岛珠山国家森林公园 4A
青岛野生动物世界 4A
青岛宝龙乐园 4A
青岛平度茶山风景区 4A
淄博原山国家森林公园 4A
淄博潭溪山旅游区 4A
淄博福王红木博物馆 4A
淄博周村古商城景区 4A
淄博临淄中国古车博物馆 4A
淄博国井酒文化生态博览园 4A
淄博沂源牛郎织女景区 4A
枣庄滕州微山湖湿地红荷风景区 4A
枣庄滕州盈泰生态温泉度假村 4A
枣庄抱犊崮国家森林公园景区 4A
枣庄熊耳山景区 4A
枣庄山亭汉诺庄园景区 4A
枣庄仙坛山旅游区 4A
枣庄冠世榴园景区 4A
东营广饶孙子文化旅游区 4A
烟台长岛旅游景区 4A
烟台招虎山国家森林公园 4A
烟台海阳旅游度假区 4A
烟台塔山旅游风景区 4A
烟台栖霞牟氏庄园 4A
烟台蓬莱中粮君顶酒庄 4A
烟台莱州大基山森林公园 4A
潍坊杨家埠民间艺术大观园 4A
潍坊青州泰和山风景区 4A
潍坊青州云驼风景区 4A
潍坊青州仰天山国家森林公园 4A
潍坊寿光林海生态博览园 4A
潍坊安丘青云山民俗游乐园 4A
曲阜孔子六艺城 4A
济宁曲阜尼山孔庙及书院景区 4A
济宁微山湖湿地公园 4A
济宁太白湖景区 4A
泰安市太阳部落 4A
泰安市泰山花样年华景区 4A
泰安新泰莲花山风景区 4A
威海大乳山滨海旅游度假区 4A
威海石岛赤山风景区 4A
日照市万平口海滨风景区 4A
莱芜市房干生态旅游区 4A
莱芜战役纪念馆 4A
山东雪野现代农业科技示范园(雪野农博园) 4A
临沂沂水县东方瑞海温泉旅游区度假村 4A
临沂莒南县八路军115师司令部旧址暨山东省政府成立纪念地旅游区 4A
德州夏津黄河故道森林公园 4A
聊城市东阿阿胶城 4A
聊城天沐江北水城温泉度假村 4A
滨州杜受田故居 4A
滨州鹤伴山旅游区 4A
滨州黄河三角洲生态文化旅游岛 4A
滨州沾化冬枣生态旅游区 4A
滨州秦皇河公园 4A
菏泽曹州牡丹园 4A
菏泽郓城水浒好汉城 4A
菏泽孙膑旅游城·亿城寺 4A
济南市平阴县圣母山景区 3A
济南百里黄河风景区 3A
青岛骆驼祥子博物馆 3A
青岛邮电博物馆 3A
青岛创意100文化产业园 3A
青岛市北区民俗馆 3A
青岛党史纪念馆 3A
青岛市万佳广场休闲旅游区 3A
青岛市北区城市记忆·老街巷 3A
青岛北涧天一顺生态园 3A
青岛万里江茶博园 3A
青岛二龙山生态旅游区 3A
青岛城市阳台景区 3A
青岛唐岛湾景区 3A
青岛四季春生态旅游景区 3A
青岛民超生态游乐园 3A
青岛即墨鹤山风景区 3A
青岛平度高氏庄园 3A
青岛莱西月湖公园 3A
青岛平度葡萄大观园 3A
青岛枯桃花艺生态园 3A
淄博临淄齐国故城遗址博物馆 3A
淄博高青温泉花乡景区 3A
淄博高青千乘湖生态文化园 3A
淄博博山樵岭前风景区 3A
淄博博山陶瓷琉璃艺术中心 3A
淄博博山陈仕红木休闲品鉴馆 3A
淄博姚家峪生态旅游度假区 3A
枣庄龟山风景区 3A
东营揽翠湖温泉旅游度假区 3A
东营万象游乐园 3A
东营华林庄园 3A
东营龙居黄河森林旅游区 3A
东营胜利油田科技展览中心 3A
东营利津县凤凰城滨河休闲旅游区 3A
东营黄河入海口生态农业观光园 3A
东营黄河华滩生态文化公园 3A
东营民丰湖休闲娱乐区 3A
东营园博园 3A
烟台海阳地雷战旅游区 3A
烟台莱州云峰山景区 3A
烟台蓬莱烽台胜境景区 3A
潍坊青州弥河文化旅游区 3A
潍坊高密文体公园 3A
潍坊昌邑博陆山生态旅游区 3A
潍坊峡山潍河水上乐园 3A
济宁曲阜颜庙景区 3A
济宁曲阜周公庙 3A
济宁曲阜寿丘少昊陵景区 3A
济宁九仙山风景区 3A
济宁梁山县水浒酒文化体验馆 3A
济宁兖州市博物馆 3A
泰安新泰市朝阳洞景区 3A
泰安新泰市新汶森林公园 3A
泰安新泰和圣园景区 3A
威海乳山福如东海文化园 3A
威海多福山景区 3A
威海毛泽东像章博物馆 3A
威海市青龙生态旅游度假区 3A
威海乳山金牛谷生态农业观光园 3A
日照龙门崮景区 3A
日照市东港区阳光海岸梦幻海滩公园 3A
日照五莲县大青山风景区 3A
日照凤凰山百果谷生态旅游区 3A
日照莒县浮来青旅游度假区 3A
临沂市银雀山汉墓竹简博物馆 3A
临沂市滨河景区 3A
临沂沂水县蒙山龙雾茶博园 3A
临沂沂水县东皋公园 3A
临沂莒南县天佛旅游区 3A
临沂莒南县天马岛旅游区 3A
临沂临沭县苍马山旅游区 3A
临沂临沭县冠山风景旅游区 3A
聊城东阿鱼山曹植墓景区 3A
滨州三河湖风景区 3A
菏泽冀鲁豫边区革命纪念馆 3A
菏泽定陶仿山旅游区 3A
菏泽单县牌坊古城景区 3A
济南星期8小镇 2A
济南黄金谷山水画廊景区 2A
济南(平阴)伊利乳业有限责任公司 2A
青岛古月山庄景区 2A
青岛铁橛山风景区 2A
青岛九九山观光园 2A
青岛绿泽画院 2A
青岛官庄生态乐园 2A
青岛莱西崔子范美术馆 2A
青岛莱西承兴寺 2A
东营东营区丽日锄禾景区 2A
东营黄河口古玩城 2A
东营胜利油田森林木屋 2A
东营郝家绿色生态观光园 2A
烟台蓬莱海源渔家民俗文化馆 2A
潍坊临朐黑松林景区 2A
泰安新泰市九顶皇山景区 2A
临沂莒南县白马河湿地公园旅游区 2A
临沂莒南县鸡龙河城市湿地公园旅游区 2A
聊城东昌府区堂邑民俗旅游区 2A
烟台蓬莱戚继光故里景区
河南省
焦作市云台山风景名胜区 5A
平顶山市尧山•中原大佛景区 5A
殷墟 5A
洛阳市龙潭大峡谷景区 5A
焦作市影视城景区 4A
驻马店市南海禅寺景区 4A
驻马店市老乐山景区 4A
濮阳市戚城文物景区 4A
巩义市康百万庄园景区 4A
济源市王屋山风景区 4A
济源市五龙口风景区 4A
漯河市南街村景区 4A
漯河市许慎文化园景区 4A
漯河市小商桥景区 4A
平顶山市二郎山景区 4A
平顶山市灯台架景区 4A
平顶山市画眉谷景区 4A
平顶山市三苏园景区 4A
洛阳市关林景区 4A
洛阳市栾川重渡沟风景名胜区 4A
洛阳伏牛山滑雪度假乐园 4A
许昌市鄢陵国家花木博览园 4A
驻马店市金顶山景区 3A
驻马店市铜山(湖)风景区 3A
濮阳市世锦园 3A
濮阳市清丰县冀鲁豫边区革命根据地旧址纪念馆 3A
濮阳市毛楼生态旅游区 3A
巩义市青龙山慈云寺景区 3A
巩义市石窟寺景区 3A
巩义市竹林景区 3A
平顶山市郏县知青园景区 3A
平顶山市舞钢祥龙谷景区 3A
平顶山市叶县县衙景区 3A
平顶山市鲁山秘洞景区 3A
平顶山市鲁山尧山大峡谷漂流 3A
平顶山市鲁山尧山滑雪乐园 3A
洛阳市汉光武帝原陵 3A
洛阳市龙马负图寺 3A
洛阳市王铎故居 3A
洛阳市周王城天子驾六博物馆 3A
洛阳市孟津中国牡丹画第一村 3A
洛阳市龙隐景区 3A
济源市济渎庙景区 2A
濮阳市科技馆 2A
濮阳市清丰县顿丘农庄 2A
濮阳市南乐县仓颉陵博物馆 2A
巩义市中华藏獒博览园 非A
巩义市张祜庄园 非A
巩义市五指山景区 非A
巩义市汇馨芳香世界 非A
洛阳市汝阳恐龙谷漂流 非A
湖北省
武汉市黄陂木兰生态文化旅游区 5A
宜昌市三峡人家风景区 5A
宜昌市高岚朝天吼漂流景区 4A
宜昌市鸣凤山景区 4A
宜昌市三峡竹海风景区 4A
宜昌市西陵峡风景区 4A
荆门市钟祥明显陵景区 4A
荆门市钟祥黄仙洞旅游区 4A
荆门市京山大洪山旅游区 4A
荆门市钟祥彭墩乡村世界旅游区 4A
黄石市阳新仙岛湖生态旅游区 4A
黄石市东方山风景区 4A
黄石市国家矿山公园 4A
黄石市大冶雷山风景区 4A
荆州市博物馆 4A
荆州市洪湖蓝田生态旅游区 4A
宜昌市长阳丹水漂流风景区 3A
宜昌市当阳关陵景区 3A
宜昌市潘家湾民俗文化博物馆 3A
宜昌市昭君村古汉文化旅游区 3A
宜昌市中华鲟园旅游区 3A
宜昌市宜都奥陶纪石林 3A
荆门市龙泉公园旅游区 3A
荆门市漳河旅游区 3A
荆门市仙居风景区 3A
荆门市太子山旅游区 3A
荆门市博物馆 3A
荆门市京山天河度假区 3A
荆门市纪山寺旅游区 3A
荆门市沙阳油菜博物馆 3A
黄石市西塞山风景区 3A
黄石市大冶龙凤山旅游区 3A
黄石市青龙山风景区 3A
荆州市湘鄂西苏区革命烈士陵园 3A
荆州市万寿宝塔景区 3A
荆州市监利县周老嘴红色旅游区 3A
荆州市石首市南岳山森林公园 3A
襄阳市宜城博物馆 3A
湖南省
岳麓山·橘子洲旅游区 5A
长沙市花明楼景区 5A
南岳衡山旅游区 5A
岳阳楼-君山岛旅游区 5A
张家界武陵源旅游区 5A
张家界天门山旅游区
韶山旅游区 5A
长沙天心阁 4A
长沙雷锋纪念馆 4A
长沙大围山国家森林公园 4A
长沙市杨开慧纪念馆 4A
长沙市靖港古镇景区 4A
长沙沩山密印景区 4A
长沙黑麋峰森林公园 4A
长沙市浏阳胡耀邦故里旅游区 4A
湘潭水府旅游区 4A
湘潭昭山景区 4A
湘潭市湘乡东山书院旅游区 4A
湘潭市茅浒水乡景区 4A
衡阳市罗荣桓故居-纪念馆 4A
岳阳市任弼时纪念馆 4A
岳阳市君山野生荷花世界旅游区 4A
邵阳新宁崀山旅游区 4A
资兴东江湖旅游区 4A
郴州市龙女景区 4A
郴州市九龙江国家森林公园 4A
郴州市宝山工矿旅游景区 4A
郴州汝城福泉山庄 4A
郴州王仙岭旅游区 4A
郴州安仁稻田公园 4A
娄底市湄江旅游区 4A
娄底梅山龙宫景区 4A
娄底市紫鹊界梯田景区 4A
娄底双峰曾国藩故里旅游区 4A
益阳市山乡巨变第一村旅游区 4A
永州九嶷山舜帝陵景区 4A
怀化市芷江抗战受降纪念旧址 4A
怀化市通道万佛山景区 4A
怀化市黔阳古城旅游区 4A
怀化洪江古商城 4A
张家界市张家界大峡谷景区 4A
张家界江垭温泉度假村 4A
张家界万福温泉旅游度假区 4A
凤凰古城旅游区 4A
湘西州吉首市乾州古城景区 4A
湘西州凤凰南华山神凤文化景区 4A
湘西州矮寨奇观旅游区 4A
湘西州红石林景区 4A
常德花岩溪森林公园 4A
常德市石门夹山旅游区 4A
常德柳叶湖旅游度假区 4A
常德市清水湖旅游区 4A
常德桃花源旅游区 4A
长沙市浏阳河婚庆文化园 3A
长沙千龙湖山庄 3A
长沙沙坪小镇 3A
望城新康戏乡景区 3A
株洲白龙洞景区 3A
湘潭曾国藩生平研究馆 3A
衡阳耒阳蔡伦纪念园 3A
衡阳回雁峰旅游区 3A
衡阳江口鸟洲景区 3A
衡南县岐山旅游区 3A
衡阳奇石文化博物馆 3A
岳阳五尖山森林公园 3A
岳阳华容县博物馆景区 3A
岳阳6501风景区 3A
湖南十三村三国“食”文化产业园 3A
邵阳新宁玉女岩景区 3A
邵阳城步南山牧场景区 3A
邵阳湘窖生态文化酿酒城 3A
郴州桂东县植物园 3A
郴州汝城濂溪书院 3A
郴州桂东三台山景区 3A
娄底蔡和森纪念馆 3A
娄底冷水江波月洞景区 3A
娄底中阳白鹭山庄景区 3A
娄底龙山飞水涯景区 3A
益阳厂窖惨案纪念馆 3A
益阳皇家湖生态旅游区 3A
永州新田县龙家大院旅游区 3A
永州宁远县文庙旅游区 3A
永州新田谈文溪古村 3A
永州舜帝庙考古遗址公园 3A
张家界绿色大地生态园 3A
麻阳滕代远纪念馆 3A
溆浦向警予纪念馆 3A
沅陵凤滩水力发电厂 3A
沅陵五强溪水力发电厂 3A
怀化通道皇都侗文化村 3A
怀化中方荆坪古村 3A
怀化通道龙底生态漂流景区 3A
怀化沅陵二酉山景区 3A
怀化靖州文峰塔景区 3A
怀化芷江三道坑原始生态旅游区 3A
靖州县地笋苗寨 3A
怀化南方葡萄沟旅游区 3A
怀化排牙山景区 3A
衡山农民运动红色旅游景区 2A
衡阳水口山工人运动陈列馆 2A
耒阳农耕文化博物馆 2A
耒阳市汤泉旅游度假村景区 2A
耒阳市党史陈列馆 2A
邵阳市新宁县夷江水上乐园 2A
娄底新化狮子山公园 2A
怀化沅陵龙兴讲寺 2A
通道独岩公园 2A
广东省
清远市连州地下河 5A
广州市中山市纪念堂 4A
广州市黄花岗烈士陵园 4A
广州市起义烈士陵园 4A
广州市十九路军淞沪抗日将士陵园 4A
广州市气象卫星地面站 4A
珠海市圆明新园 4A
珠海市外伶仃岛风景区 4A
珠海市罗西尼工业旅游区 4A
韶关市南岭国家森林公园 4A
韶关市珠玑古巷梅关古道景区 4A
韶关市新丰云天海温泉原始森林度假村景区 4A
韶关市银山户外运动养生景区 4A
河源市新丰江国家森林公园(万绿湖景区) 4A
惠州市西湖风景名胜区 4A
惠州市金海湾国际滨海旅游区(巽寮湾) 4A
惠州市叶挺将军纪念园景区 4A
汕尾市凤山祖庙旅游区 4A
东莞市科学技术博物馆 4A
东莞市展览馆 4A
江门市开平立园(开平碉楼景区) 4A
江门市锦江温泉 4A
江门市川岛旅游度假区 4A
江门市山泉湾旅游景区 4A
茂名市森林公园 4A
肇庆市德庆学宫景区 4A
清远市玄真古洞生态旅游区 4A
清远市广东第一峰旅游风景区 4A
清远市湟川三峡-龙潭文化生态旅游区 4A
清远市广东瑶族博物馆 4A
揭阳市阳美玉都旅游景区 4A
云浮市六祖故里旅游度假区 4A
韶关市乐昌三龙谷(龙王潭)生态旅游区 3A
韶关市新丰江源温泉度假山庄景区 3A
韶关市铜钟寨景区 3A
河源市霍山风景区 3A
东莞市中和堂博物馆 3A
江门市新会古典家具城 3A
茂名市天马山生态旅游区 3A
茂名市水东湾第一滩旅游度假区(滨海公园) 3A
清远市九州驿站英德天门沟景区 3A
清远市英德茶叶世界 3A
清远市金子山旅游景区 3A
清远市连州福山景区 3A
揭阳市普宁德安里旅游景区 3A
汕头市大自然休闲农庄 非A
汕头市塔山风景区 非A
河源市龙川县佗城景区 非A
江门市温泉乐园 非A
江门市恩平泉林度假区 非A
茂名市玉湖国家级水利风景区 非A
肇庆市怀集燕岩景区 非A
肇庆市怀集世外桃源 非A
肇庆市将军山景区 非A
肇庆市金钟山森林公园 非A
肇庆市大旺海鹰博览中心 非A
清远市古龙峡生态旅游度假区 非A
清远市万里山影度假村 非A
清远市英德洞天仙境汤泉旅游度假区 非A
清远市连州大东山温泉度假区 非A
清远市阳山水口鱼水旅游风景区 非A
揭阳市望天湖乡村休闲旅游区 非A
揭阳市普宁盘龙湾温泉度假村 非A
广西自治区
桂林独秀峰·王城景区 5A
桂林乐满地主题乐园 5A
南宁市动物园 4A
南宁大明山风景旅游区 4A
南宁九曲湾温泉度假村景区 4A
南宁嘉和城景区 4A
南宁乡村大世界 4A
南宁民歌湖景区 4A
柳州柳城知青城景区 4A
柳州市融水县贝江景区 4A
柳州市融水·元宝山龙女沟景区 4A
柳州市融安石门仙湖旅游景区 4A
桂林市芦笛景区 4A
桂林市象山景区 4A
桂林七星景区 4A
梧州骑楼城-龙母庙景 4A
藤县石表山休闲旅游景区 4A
北海涠洲岛鳄鱼山景区 4A
北海银滩景区 4A
北海老城历史文化旅游区 4A
防城港东兴市京岛风景名胜区 4A
东兴市屏峰雨林景区 4A
防城港市江山半岛白浪滩旅游景区 4A
上思十万大山国家森林公园景区 4A
防城港西湾旅游景区 4A
钦州三娘湾景区 4A
百色乐业大石围天坑景区 4A
百色市平果黎明通天河景区 4A
百色市德保县吉星岩景区 4A
百色市德保县红叶森林旅游景区 4A
贺州姑婆山国家森林公园 4A
贺州昭平黄姚古镇景区 4A
贺州市十八水原生态景区 4A
巴马水晶宫景区 4A
巴马百鸟岩景区 4A
东兰红色旅游景区 4A
凤山国家地质公园景区 4A
天峨龙滩大峡谷景区 4A
宜州刘三姐故里旅游区 4A
大新德天跨国瀑布景区 4A
凭祥红木文博城景区 4A
柳州市君武森林公园景区 3A
北海金海湾红树林生态旅游区 3A
北海涠洲岛圣堂景区 3A
东兴陈公馆景区 3A
东兴市意景园旅游景区 3A
东兴市百业东兴.红木社区旅游购物景区 3A
防城港市北仑河源头景区 3A
钦州坭兴陶艺术馆 3A
钦州灵山六峰山景区 3A
巴马仁寿源景区 3A
忻城莫土司衙署景区 3A
龙州起义纪念馆 3A
合山市奇石馆景区 2A
都安石头开花景区 2A
海南省
三亚大小洞天游览区 5A
海南分界洲岛旅游区 5A
海南呀诺达雨林文化旅游区 5A
海南文笔峰盘古文化旅游区 4A
三亚西岛海洋文化旅游区 4A
三亚天涯海角旅游区 4A
海南槟榔谷黎苗文化旅游区 4A
三亚亚龙湾热带天堂森林公园 4A
兴隆南国热带雨林游览区 4A
海口假日海滩旅游区 4A
定安黄竹万嘉热带植物园 3A
琼海春晖椰子加工观光基地 3A
三亚鹿回头旅游区 3A
海口白沙门公园 3A
海南塔岭热带飞行世界 2A
琼海多河文化古景区 2A
重庆市
重庆巫山小三峡——小小三峡 5A
重庆酉阳桃花源景区 5A
重庆奉节白帝城—瞿塘峡景区 4A
重庆江津聂荣臻元帅陈列馆 4A
重庆歌乐山国家森林公园 4A
重庆人民大礼堂及人民广场 4A
重庆红岩革命纪念馆 4A
重庆丰都雪玉洞 4A
重庆江津四面山景区 4A
重庆中国三峡博物馆 4A
重庆动物园 4A
重庆贝迪颐园温泉 4A
重庆潼南杨闇公故里景区 4A
重庆开县刘伯承同志纪念馆 4A
重庆綦江古剑山风景区 4A
重庆白鹤梁水下博物馆 4A
重庆彭水阿依河景区 4A
重庆合川钓鱼城古战场 4A
重庆奉节天坑地缝景区 4A
重庆铜梁安居古城景区 4A
重庆天赐温泉 3A
重庆市沙坪坝海石公园 3A
重庆涪陵武陵山国家森林公园 3A
重庆华生园金色蛋糕梦幻王国 3A
重庆大渡口区南海风情温泉娱乐园 3A
重庆融汇温泉 3A
重庆渝北区宝林博物馆 3A
重庆荣昌安陶博物馆 3A
重庆江津陈独秀旧居陈列馆 3A
重庆铜梁黄桷门奇彩梦园 3A
重庆铜梁博物馆 3A
重庆大渡口区九宫庙都市旅游区 3A
重庆铜梁桂花博览园 3A
重庆万州区万县“九五”惨案纪念馆 2A
重庆涪陵区大木花谷景区 2A
重庆铜梁邱少云烈士纪念馆 2A
重庆铜梁金梅印象景区 2A
四川省
青城山—都江堰旅游景区 5A
邓小平故里旅游区 5A
绵阳市北川羌城旅游区 5A
阿坝州汶川特别旅游区 5A
成都杜甫草堂博物馆 4A
武侯祠博物馆 4A
宝光桂湖文化旅游区 4A
崇州街子古镇 4A
宝山旅游景区 4A
成都金沙遗址博物馆 4A
彭州丹景山旅游景区 4A
彭州白鹿中法风情小镇旅游景区 4A
石象湖旅游区 4A
梓潼县七曲山风景区 4A
平武报恩寺 4A
江油李白纪念馆景区 4A
青川清溪古城旅游景区 4A
天曌山景区 4A
苍溪红军渡·西武当山 4A
剑门关景区 4A
千佛崖石刻艺术博物馆 4A
青川东河口地震遗址公园 4A
曾家山景区 4A
平乐旅游区 4A
鼓城山—七里峡景区 4A
龙门阁景区 4A
明月峡景区 4A
广汉三星堆博物馆 4A
乌木文化博览苑 4A
凌云山景区 4A
南部县升钟湖风景区 4A
蜀南竹海风景名胜区 4A
兴文石海洞乡景区 4A
武胜县白坪-飞龙旅游景区 4A
华蓥山旅游区 4A
神龙山巴人石头城景区 4A
黑龙滩旅游景区 4A
安岳石刻·圆觉洞景区 4A
理县桃坪羌寨-甘堡藏寨旅游景区 4A
卓克基官寨景区 4A
达古冰川景区 4A
金川县观音桥风景区 4A
康定情歌(木格措)风景区 4A
稻城亚丁景区 4A
崇州罨画池文化旅游区 3A
彭州市中华蝴蝶生态城旅游景区 3A
金鹰山庄景区 3A
华蓥山天意谷 4A
紫颐香薰山谷景区 非A
贵州省
安顺市黄果树风景名胜区 5A
安顺市龙宫风景名胜区 5A
贵阳市南江大峡谷景区 4A
贵阳市天河潭风景区 4A
贵阳市白马峪旅游景区 4A
贵阳市蓬莱仙界•白云休闲农业旅游景区 4A
贵阳市黔灵山公园景区 4A
贵阳市息烽集中营革命历史纪念馆景区 4A
贵阳市红枫湖旅游风景区 4A
贵阳市贵御温泉旅游景区 4A
遵义会议会址旅游景区 4A
遵义市赤水大瀑布景区 4A
遵义市赤水燕子岩国家森林公园 4A
遵义市赤水竹海旅游景区 4A
遵义市赤水佛光岩景区 4A
遵义市四渡赤水纪念馆 4A
遵义市中国丹霞谷旅游景区 4A
遵义市湄潭天下第一壶茶文化旅游景区 4A
遵义市汇川区娄山关景区 4A
遵义市余庆飞龙寨景区 4A
遵义市凤冈茶海之心景区 4A
遵义市务川仡佬文化旅游景区 4A
遵义市湄潭茶海生态园景区 4A
安顺市夜郎洞景区 4A
安顺市云峰八寨文化旅游区 4A
安顺市兴伟石博园 4A
六盘水市玉舍森林旅游景区 4A
铜仁市大明边城景区 4A
铜仁市梵净山旅游景区 4A
铜仁市江口县亚木沟生态旅游区 4A
铜仁市九龙洞旅游景区 4A
铜仁市石阡夜郎古泉旅游景区 4A
铜仁市思南石林旅游景区 4A
铜仁市松桃苗王城旅游景区 4A
铜仁市万山矿山公园旅游景区 4A
黔南州平塘掌布“藏字石”景区 4A
黔南州瓮安草塘千年古邑旅游区 4A
黔东南州雷山县西江千户苗寨景区 4A
黔东南州黎平肇兴侗文化旅游景区 4A
黔西南州万峰林景区 4A
黔西南州兴义市马岭河峡谷旅游景区 4A
贵阳市河滨公园 3A
遵义市汇川国际温泉旅游城 3A
遵义市枫香旅游景区 3A
遵义市遵义县乡韵庄园 3A
遵义市遵义县中华仡佬风情园 3A
遵义市乌江渡旅游景区 3A
遵义市绥阳县红果树生态旅游景区 3A
遵义市绥阳县水晶温泉 3A
遵义市桐梓县九坝镇上天池旅游景区 3A
遵义市汇川区光勋生态农业观光园 3A
毕节市泰丰农业生态植物观光园 3A
毕节市大方慕俄格古城 3A
铜仁市玉屏茶花泉旅游景区 3A
铜仁市江口寨沙侗寨旅游景区 3A
铜仁市印江县团龙旅游景区 3A
铜仁市沿河县南庄旅游景区 3A
铜仁市石阡县尧上旅游景区 3A
铜仁市石阡县楼上旅游景区 3A
铜仁市思南县郝家湾旅游景区 3A
黔东南州凯里苗侗风情园景区 3A
黔南州都匀西山公园 3A
黔南州都匀文峰园 3A
威宁草海生态旅游度假区 3A
遵义市绥阳博雅陈列馆 2A
遵义市凤冈县山宝景区 2A
遵义市绥阳县鸣泉谷生态旅游区 2A
遵义市遵义县板水沟 非A
遵义市遵义县苟坝红色旅游产业创新区 非A
遵义市遵义县龙坑八里 非A
遵义市遵义县黔北记忆文化产业园 非A
遵义市遵义县台湾邨 非A
遵义市赤水四洞沟 非A
安顺市紫云格凸河户外休闲旅游景区 非A
安顺市关岭化石群国家地质公园 非A
安顺市花江大峡谷景区 非A
安顺市贵州多彩万象旅游城 非A
六盘水市哒啦仙谷景区 非A
六盘水市妥乐古银杏 非A
六盘水市乌蒙大草原景区 非A
毕节市织金瀑布 非A
铜仁市江口佛教文化苑 非A
铜仁市江口云舍景区 非A
黔东南州镇远铁溪景区 非A
云南省
中国科学院西双版纳热带植物园 5A
大理崇圣寺三塔文化旅游区 5A
丽江玉龙雪山景区 5A
迪庆香格里拉普达措景区 5A
昭通水富西部大峡谷景区 4A
曲靖罗平九龙瀑布景区 4A
曲靖师宗凤凰谷生命文化主题公园 4A
玉溪汇龙生态园 4A
玉溪映月潭修闲文化中心 4A
玉溪通海秀山公园 4A
楚雄元谋土林景区 4A
楚雄武定狮子山景区 4A
红河建水文庙景区 4A
红河建水团山古村景区 4A
西双版纳热带花卉园 4A
西双版纳望天树景区 4A
西双版纳勐泐大佛寺景区 4A
大理南诏风情岛景区 4A
大理祥云水目山文化旅游区 4A
大理巍山古城—巍宝山旅游区 4A
丽江玉水寨景区 4A
丽江东巴谷景区 4A
迪庆香格里拉松赞林景区 4A
迪庆香格里拉蓝月山谷景区 4A
迪庆香格里拉大峡谷·巴拉格宗景区 4A
曲靖罗平多依河景区 3A
曲靖罗平鲁布革三峡风景区 3A
玉溪江川古滇国文化园 3A
楚雄紫溪山景区 3A
红河开远南洞—凤凰谷旅游区 3A
红河弥勒可邑旅游小镇景区 3A
丽江东巴万神园景区 3A
丽江金塔景区 3A
玉溪江川碧云寺公园 2A
玉溪峨山高香万亩生态茶文化旅游区 2A
保山北庙湖景区 2A
红河州红河县马帮古城景区 2A
红河州红河县撒玛坝梯田景区 2A
丽江玉柱擎天景区 2A
西双版纳雨林谷景区 1A
临沧凤庆凤山公园 1A
保山腾冲北海湿地景区 非A
保山腾冲樱花谷景区 非A
西双版纳勐远仙境景区 非A
丽江老君山景区 非A
西藏自治区
雅鲁藏布大峡谷旅游景区 4A
巴松措旅游景区 4A
南伊沟旅游景区 4A
鲁朗风景区 4A
尼洋阁藏东南文化博览园 3A
勒布沟景区 3A
神山圣湖景区 3A
科迦寺 3A
古如江寺景区 3A
加木红柳湿地公园 3A
扎西岗寺景区 3A
芝达布日寺景区 3A
班公湖 3A
皮央东嘎 3A
托林寺 3A
古格遗址景区 3A
扎日纳木措 3A
乃宁寺 2A
色吾寺 2A
热拉雍仲林寺 2A
甘旦曲果林寺 A
森都寺 A
孜东曲德松寺 A
艾玛景区 A
陕西省
宝鸡市法门寺佛文化景区 5A
渭南市华山景区 5A
西安市曲江楼观道文化景区 4A
西安市半坡博物馆 4A
西安市大明宫 4A
西安市汉城湖 4A
西安市世博园景区 4A
西安市太平森林公园 4A
宝鸡市太白山森林公园 4A
宝鸡市红河谷森林公园 4A
宝鸡市太白青峰峡森林公园 4A
咸阳市乾陵景区 4A
咸阳市昭陵博物馆 4A
铜川市照金香山景区 4A
铜川市照金景区 4A
铜川市玉华宫景区 4A
铜川市药王山景区 4A
渭南市少华山景区 4A
渭南市洽川景区 4A
渭南市陶艺村景区 4A
榆林市佳县白云山风景名胜区 4A
汉中市留坝县张良庙-紫柏山景区 4A
汉中市宁强县青木川古镇景区 4A
汉中市勉县武侯墓博物馆景区 4A
汉中市勉县武侯祠博物馆景区 4A
安康市汉江燕翔洞生态旅游景区 4A
安康市香溪洞风景名胜区 4A
安康市南宫山国家森林公园 4A
商洛市天竺山国家森林公园 4A
商洛市牛背梁国家森林公园 4A
杨凌农林博览园 4A
商洛市柞水溶洞景区 4A
宝鸡市秦皇生态园 3A
咸阳市崇文塔景区 3A
咸阳市泾阳县博物馆 3A
咸阳市昭陵景区 3A
铜川市福地湖景区 3A
铜川市陈炉古镇景区 3A
铜川市耀州区博物馆 3A
汉中市西乡县午子山景区 3A
安康市镇坪飞渡峡·黄安坝生态旅游度假区 3A
商洛市柞水县凤凰古镇 3A
商洛市塔云山景区 3A
商洛市丹凤丹江漂流景区 3A
铜川市宜君县南山(龙山)公园 2A
铜川市云梦山景区 2A
铜川市周陵现代农业观光园 2A
铜川市姜女祠景区 2A
安康双龙生态旅游景区 2A
安康擂鼓台景区 2A
安康市千层河风景区 非A
安康市天书峡景区 非A
西安市化女泉景区 非A
西安市延生观景区 非A
西安市终南山古楼观景区 非A
西安市财神文化区 非A
西安市玉山蓝河风景区 非A
西安市广仁寺 非A
宝鸡市西部兰花园 非A
甘肃省
崆峒山风景名胜区 5A
漳县贵清山/遮阳山 4A
大云寺—王母宫景区 4A
崇信县龙泉寺景区 4A
云崖寺景区 4A
武威沙漠公园 4A
雷台汉文化博物馆 4A
肃州区酒泉梦天堂景区 4A
肃州区西汉酒泉胜迹景区 4A
玉门市铁人王进喜纪念馆 4A
张掖大佛寺景区 4A
张掖国家湿地公园 4A
山丹大佛寺 4A
大湖湾景区 4A
高台红西路军纪念馆 4A
扁都口生态休闲旅游区 4A
成县西狭颂景区 4A
徽县金徽酒文化生态旅游景区 4A
西和县晚霞湖景区 4A
渭源县首阳山 3A
天祝三峡国家森林公园 3A
凉州白塔寺 3A
阿克塞县金山湖风景区 3A
阿克塞县名族风情园 3A
金塔县鸳鸯池水利旅游风景区 3A
瓜州县桥湾城旅游景区 3A
玉门市赤金峡景区 3A
海藏公园 2A
阿克塞县苏干湖旅游风景区 2A
成县杜公祠景区 2A
武都区朝阳洞景区 2A
阿克塞县赛马场 非A
肃北县透明梦柯冰川 非A
肃北县五个庙休闲独家园 非A
两当云屏景区 非A
青海省
塔尔寺景区 5A
海北州金银滩-原子城景区 4A
青海省藏文化馆 4A
大通老爷山风景名胜区 4A
西宁市青藏高原野生动物园 4A
湟源丹噶尔古城 4A
西宁乡趣农耕文化生态园 4A
神湖之源旅游风景区 3A
浦宁之珠(高原明珠)景区 3A
西宁市人民公园 3A
可鲁克湖-托素湖高原生态旅游景区 3A
宁夏自治区
港中旅(宁夏)沙坡头旅游景区 5A
西夏陵风景名胜区 4A
苏峪口国家森林公园 4A
水洞沟旅游区 4A
鸣翠湖国家湿地公园 4A
青铜峡黄河大峡谷▪中华黄河坛旅游区 4A
腾格里沙漠湿地▪金沙岛旅游区 4A
须弥山旅游区 4A
固原博物馆 4A
宁夏科学技术馆 4A
新疆自治区
新疆天山天池景区 5A
新疆喀纳斯景区 5A
吐鲁番葡萄沟景区 5A
新源县那拉提景区 5A
新疆可可托海风景区 5A
乌鲁木齐天山大峡谷景区 5A
巴楚县红海湾景区 4A
喀什噶尔老城景区 4A
乌鲁木齐市红光山旅游景区 4A
新疆天山野生动物园 4A
乌鲁木齐市红山公园 4A
乌鲁木齐市水磨沟公园 4A
乌鲁木齐县苜蓿台旅游景区 4A
新疆国际大巴扎景区 4A
库车县天山神秘大峡谷景区 4A
库车县王府景区 4A
阿瓦提县刀郎部落景区 4A
阿克陶县奥依塔克冰川公园 4A
哈密回王府景区 4A
巴里坤古城景区 4A
赛里木湖风景名胜区 4A
和田县乌鲁瓦提风景区 4A
哈巴河县白桦林景区 4A
布尔津县草原石人哈萨克民族文化园 4A
福海县乌伦古湖风景区 4A
和静县巴音布鲁克景区 4A
和静县巩乃斯景区 4A
和硕县金沙滩景区 4A
轮台县塔里木胡杨林公园 4A
伊宁市喀赞其民俗旅游区 4A
伊宁县托乎拉苏景区 4A
特克斯县喀拉峻国际生态旅游区 4A
尼勒克县湿地古杨景区 4A
昭苏县夏塔景区 4A
巩留县库尔德宁景区 4A
察布查尔县锡伯民俗风情园 4A
霍城县惠远古城景区 4A
霍尔果斯市国门景区 4A
克拉玛依河景区 4A
呼图壁县世纪园 4A
昌吉市杜氏旅游度假村 4A
奇台江布拉克景区 4A
喀什香妃墓景区 3A
麦盖提县刀郎乡里景区 3A
麦盖提县刀郎画乡景区 3A
叶城县核桃七仙园景区 3A
叶城县锡提亚迷城景区 3A
叶城县坡陇森林公园 3A
乌鲁木齐市儿童公园 3A
乌鲁木齐市人民公园 3A
新疆亚洲大陆地理中心 3A
新和县天籁 加依景区 3A
乌什县燕泉山景区 3A
乌什县沙棘林湿地公园景区 3A
阿图什市天门景区 3A
阿图什市怪柳林景区 3A
阿图什市阳光绿洲生态园 3A
哈密瓜园景区 3A
伊吾县伊水园景区 3A
伊吾县太阳历广场 3A
墨玉县其娜民俗风情园 3A
沙湾县温泉景区 3A
额敏县滨河公园 3A
焉耆县乡都酒堡 3A
新源县肖尔布拉克西域酒文化博物馆 3A
特克斯县科桑溶洞国家森林公园 3A
特克斯县八卦公园 3A
昭苏县圣佑庙景区 3A
霍尔果斯市可克达拉风情园 3A
克拉玛依黑油山景区 3A
克拉玛依乌尔禾区恐龙文化苑 3A
玛纳斯县黑梁湾山庄 3A
玛纳斯县火烧洼山庄 3A
昌吉华兴生态旅游景区 3A
昌吉市人民公园 3A
昌吉市滨湖河景区 3A
吉木萨尔县古海温泉 3A
吉木萨尔县北庭园景区 3A
吉木萨尔县天地园 3A
新疆第一窖古城酒业酒文化博物馆 3A
木垒鸣沙山—胡杨林景区 3A
新疆农业博览园景区 3A
伽师县天门神秘大峡谷 2A
伽师县森林旅游生态园 2A
泽普县梧桐天堂景区 2A
泽普县古勒巴格景区 2A
乌鲁木齐西尔丹辣椒文化观光园 2A
新疆诚和和田玉文化传播中心 2A
库车县龟兹水韵绿洲生态园 2A
喀拉库勒湖景区 2A
哈密西路军进疆纪念园 2A
哈密木卡姆传承中心 2A
巴里坤县怪石山景区 2A
玛纳斯凤鸣湖公园 2A
玛纳斯国家湿地公园 2A
乐土驿站历史文化陈列馆 2A
呼图壁县公园 2A
呼图壁县民俗食帛园 2A
昌吉市晋昌公园 2A
阜康市黄竹山庄 2A
阜康市梧桐沟沙漠景区 2A
吉木萨尔县车师古道旅游区 2A
奇台县博物馆 2A
奇台硅化木·恐龙国家地质公园 2A
新疆都市胡杨林景区 2A
玛纳斯县北公园 1A
木垒文博中心 1A
木垒县大南沟景区 1A

web.config machineKey

using System.Web.Configuration;
//打开web.config文件,写入新生成的machineKey
Configuration config = WebConfigurationManager.OpenWebConfiguration("/");
MachineKeySection configSection = (MachineKeySection)config.GetSection("system.web/machineKey");
configSection.ValidationKey = CreateKey(64);
configSection.DecryptionKey = CreateKey(24);
configSection.Validation = MachineKeyValidation.SHA1;
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Response.Write("写入成功!");
}
else
{
Response.Write("写入失败!段被锁定!");
}

 

--

 

using System.Security.Cryptography;
//生成随机Key 
public static string CreateKey(int numBytes)
{
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[numBytes];
rng.GetBytes(buff);
System.Text.StringBuilder hexString = new System.Text.StringBuilder(64);
for (int i = 0; i < buff.Length; i++)
{
hexString.Append(String.Format("{0:X2}", buff[i]));
}
return hexString.ToString();
}     

--

AES CFB/OFB/ECB/CBC/CTR

AES常见加密模式有CFB/OFB/ECB/CBC/CTR,本文概述这些算法特点,让大家更快的了解AES,当然天缘也不是专业做算法的,工作中也只是使用到才会学习一点,如有错误,欢迎指出。

一、Cipher feedback(CFB)

CFB算法优点:

同明文不同密文,分组密钥转换为流密码。

CFB算法缺点:

串行运算不利并行,传输错误可能导致后续传输块错误。

二、Output feedback(OFB)

OFB算法优点:

同明文不同密文,分组密钥转换为流密码。

OFB算法缺点:

串行运算不利并行,传输错误可能导致后续传输块错误。

三、Electronic codebook(ECB)

ECB算法优点:

简单、孤立,每个块单独运算。适合并行运算。传输错误一般只影响当前块。

ECB算法缺点:

同明文输出同密文,可能导致明文攻击。

四、Cipher-block chaining(CBC)

CBC算法优点:

串行化运算,相同明文不同密文

CBC算法缺点:

需要初始向量,不过这其实不算缺点,下文的CTR也是需要随机数的。如果出现传输错误,那么后续结果解密后可能全部错误。

此外,还有Propagating cipher-block chaining(PCBC)加密模式,

五、Counter mode(CTR)

CTR算法优点:

无填充,同明文不同密文,每个块单独运算,适合并行运算。

CTR算法缺点:

可能导致明文攻击。

补充:

关于Padding补位问题,上文加密模式中,比如CBC等对输入块是有要求的,必须是块的整数倍,对不是整块的数据,要求进行填充,填充的方法有很多种,常见的有PKCS5和PKCS7、ISO10126等。

例如按照16字节分组的话:

  • 对不足16字节部分(假设差n个满16字节),填充n个字节(n范围(1,15]),且每字节值均为n。
  • 对正好16字节部分,则填充一个block,也就是补16个字节,每字节值为16

参考1:PKCS #7: Cryptographic Message Syntax

参考2:PKCS #5: Password-Based Cryptography Specification

所以上述算法中,默认:

需要Padding的有:CBC(,PCBC也需要,本文未涉及该加密模式)、ECB。

不需要Padding的有:CFB、OFB、CTR。

参考资料:

http://zh.wikipedia.org/wiki/块密码的工作模式

strace ltrace 调试php

以分析 in_array 为例

shell$ time /usr/local/php/bin/php test.php

real 0m1.132s
user 0m1.118s
sys 0m0.015s

 

shell$ strace -ttt -o xxx /usr/local/php/bin/php test.php

shell$ less xxx

点击查看原图

看到这两次系统调用之间的延时非常大,却并不知道干了什么?一筹莫展了,幸好,Linux下的调试利器除了strace还有ltrace(当然还有dtrace,ptrace,不在本文讨论范围了,略去)。

引用:strace用来 跟踪一个进程的系统调用或信号产生的情况,而 ltrace用来 跟踪进程调用库函数的情况(via IBM developerworks)。

为了排除干扰因素,将$x直接赋值为array(“0″,”1″,”2″,……)的形式,避免过多的malloc调用影响结果。执行

shell$ ltrace -c /usr/local/php/bin/php test.php

点击查看原图

看到库函数__strtol_internal的调用非常之频繁,达到了94%,太夸张了,然后我又查了一下这个库函数__strtol_internal是干嘛的,原来是strtol的别名,简单的说就是把字符串转换成长整形,可以猜测PHP引擎已经检测到这是一个字符串型的数字,所以期望将他们转换成长整型来比较,这个转换过程中消耗了太多时间,我们再次执行:


shell$ ltrace -e "__strtol_internal" /usr/local/php/bin/php test.php


可以轻松抓到大量下图这样的调用,到此,问题找到了,in_array这种松比较,会将两个字符型数字串先转换为长整型再进行比较,却不知性能就耗在这上面了。

点击查看原图

知道了症结所在,我们解决的办法就很多了,最简单的就是为in_array加第三个参数为true,即变为严格比较,同时还要比较类型,这样避免了PHP自作聪明的转换类型,跑起来果然快多了,代码如下:

<?php
$y="1800";
$x = array();
for($j=0;$j<2000;$j++){
        $x[]= "{$j}";
}
 
for($i=0;$i<3000;$i++){
        if(in_array($y,$x,true)){
                continue;
        }
}
?>

 

shell$ time /usr/local/php/bin/php test.php

real 0m0.267s
user 0m0.247s
sys 0m0.020s

快了好多倍啊!!!可以看到sys耗时几乎没有太大变化。我们再次ltrace一把,还是要把$x直接赋值,排除malloc调用的干扰,因为我们实际应用中是从缓存里一次拉出来的,所以也不存在示例代码中这样的循环来申请内存的情况。
再次执行

shell$ ltrace -c /usr/local/php/bin/php test.php

如下图:

 点击查看原图