MQSeries

通信系统

MQSeries 是个通信系统,他在各种广泛的硬件和软件平台之间提供确保的、异步的、一次性数据发送。这些特性使得 MQSeries 成为应用程式间通信的最佳基础结构,并成为一个正确的解决方案,不论这些应用程式是在同一台机器上运行还是在由一个或多个网络分隔的不同机器上运行。 MQSeries 支持所有重要的通信协议,另外还提供在使用不同协议的网络之间的路由。仅需非常少的编程或不必编程,MQSeries 网桥和网关产品就能允许便捷地访问许多现有的系统和应用程式环境。

基本介绍
MQSeries 是个通信系统,他在各种广泛的硬件和软件平台之间提供确保的、异步的、一次性数据发送。
这些特性使得 MQSeries 成为应用程式间通信的最佳基础结构,并成为一个正确的解决方案,不论这些应用程式是在同一台机器上运行还是在由一个或多个网络分隔的不同机器上运行。
MQSeries 支持所有重要的通信协议,另外还提供在使用不同协议的网络之间的路由。仅需非常少的编程或不必编程,MQSeries 网桥和网关产品就能允许便捷地访问许多现有的系统和应用程式环境,例如 Lotus Notes、Web 浏览器、Java 小应用程式和许多其他产品。
确保的传递能力反映为许多在 MQSeries 中内建的功能能确保不会因为基本系统或网络结构故障而丢失数据。确保的传递能力使得 MQSeries 形成了关键通信系统的主干,并被受托传递重要数据。在某些适当的场合也可提供你选择健壮性稍低的服务质量。例如,可能在一些环境中,你会需要更快速的传递,而对可信传递方面强调较少。
MQSeries 中的异步处理支持是指在发送和接收应用程式之间的数据交换是和时间无关的。这允许发送和接收应用程式相互分离,这样发送方就能继续处理,而不必等待接收方确认其已接收到数据。实际上,在发送数据时目标应用程式甚至不必运行。同样,在传送数据时,能不使用发送方和接收方之间的网络路径。
一次性传递数据是个重要的考虑因素,特别是在金融和商业应用程式中,你肯定不希望从一个帐户中移动大量钱款至另一帐户的请求重复发生。
三个基本概念
消息
消息就是对使用他的应用程式有意义的字节串。消息是用来从一个应用程式传送数据至另一个应用程式(或相同应用程式中的不同部分)。应用程式能在同一个平台或不同的平台上运行。
MQSeries 消息有两部分;应用程式数据和消息描述符。应用程式数据的内容和结构由使用数据的应用程式来定义。消息描述符标识了该消息,并包含其他控制信息,如消息类型及由发送应用程式为消息指定的优先级。
队列
队列是存储消息的数据结构。由应用程式或队列管理器将消息放入队列或从队列中取出,是他的一些常规操作。
队列对于使用他们的应用程式来说是独立存在的。队列可存在于主存储器(如果他是临时的),磁盘或相似的辅助存储器(如果必须保留以备恢复的话),或同时在这两处(如果他正在使用,且必须保留以备恢复)。每个队列都属于一个队列管理器,他负责维护队列。队列管理器将接收到的消息放入合适的队列中。
队列能在本地系统上存在,这种情况下他们称为本地队列,也能在另一个队列管理器上存在,这种情况下他们称为远程队列。
应用程式发送消息至队列,或从队列中接收消息。例如,一个应用程式能将消息放入队列,而另一个应用程式能从相同队列中取出消息。
每个队列都有一些队列属性,他们确定了在应用程式引用队列时将执行的操作。属性表明:
应用程式是否能从队列中检索消息(允许取出)。
应用程式是否能将消息放入队列中(允许放入)。
访问队列是由一个应用程式独占还是在应用程式间共享的。
可同时在队列上存储的最大消息数(最大队列深度)。
可放入队列的消息的最大大小(最大消息大小)。
队列管理器
队列管理器为应用程式提供了排队服务,并管理属于他的队列。他确保:
根据接收到的细节更改对象属性。
当发生特别情况时,产生特别事件(例如设备事件或触发器事件)。
按照应用程式的请求将消息放入正确队列。如果不能完成,则将通知应用程式并给出适当的原因码。
每个队列都属于一个单一队列管理器,对于那个队列管理器来说他是本地队列。和应用程式连接的队列管理器被认为是该应用程式的本地队列管理器。对于该应用程式,属于本地管理器的队列是本地队列。 远程队列是属于另一个队列管理器的队列。远程队列管理器是非本地队列管理器的所有其他队列管理器。远程队列管理器可存在于网上的一个远程机器上,或存在于和本地队列管理器相同的机器上。MQSeries 支持同一台机器上的多个队列管理器。
设置
最简单的设置是 MQSeries 安装在一台机器上并创建了一个队列管理器。该队列管理器允许定义队列。这样本地应用程式就能使用这些队列交换消息。
通过应用程式和另一个队列管理器管理的队列之间进行通信需要定义消息通道。不必定义直接到目标队列管理器的通道,适当的做法通常是仅定义下一个转接点(即中间队列管理器)。对该队列管理器可用的消息通道将被用于传递消息至目标队列管理器(或至下一个转接点)。
使用客户机/服务器结构能创建更复杂的设置。MQSeries 产品能作为和 MQSeries 客户机连接的 MQSeries 服务器使用。客户机和服务器不必在相同平台上。MQSeries 支持广泛的各种客户机平台。MQSeries 产品通常会包含各种平台的客户机。附加的 MQSeries 客户机可从 MQSeries Web 站点获得。
在客户机/服务器设置中,MQSeries 服务器为客户机及所有本地应用程式提供消息传递和排队服务。客户机通过客户机的专用通道(也叫做客户机通道)连接到服务器。这是个符合成本效益的部署方法,因为仅使用一个 MQSeries 服务器产品副本,服务器就可支持几百个客户机。不过无论何时运行客户机上的 MQSeries 应用程式,客户机通道都必须持续可用。这和某些消息通道不必持续可用就可支持在服务器上运行的 MQSeries 应用程式相反。
MQSeries 还支持群集概念以简化设置和操作。群集是个命名的队列管理器集合,并且所有一个队列管理器都能不属于群集、或属于一个或多个这样的群集。群集中的队列管理器能存在于相同或不同机器上。
如果没有已定义的队列管理器,由 MQSeries 视窗系统 NT 和 视窗系统 2000 版安装进程提供的缺省设置能设置一个队列管理器加入到本地缺省群集中。队列管理器的名称是基于机器的 TCP/IP 域。
使用群集有两个主要的好处:
在一个群集中的成员之间进行通信是非常简单的,特别是因为交换消息所需的通道是根据需要自动定义和创建的。
参和队列管理器中的一些或全部队列可被定义为群集队列,这样能使得他们自动被群集中的所有其他队列管理器知晓并使用。
通道
通道为队列管理器提供了通信路径。有两种类型的通道:消息通道和 MQI 通道。
消息通道提供了在相同平台或不同平台上两个队列管理器之间的通信路径。消息通道是用于从一个队列管理器至另一个队列管理器发送消息,同时使得应用程式避免了基本网络协议的复杂性。消息通道只可单向发送消息。如果在两个队列管理器间需要双向通信,则需要两个消息通道。
客户机通道(也称为 MQI 通道)将 MQSeries 客户机连接到服务器机器上的队列管理器,并且是双向的。
如果要阅读有关通道的更多信息,及 MQSeries 怎么使用他们在网络中跨越各种系统进行通信,请参阅 MQSeries Intercommunication一书。
客户机服务器设置
MQSeries 支持 MQSeries 应用程式的客户机/服务器设置。
MQSeries 客户机是 MQSeries 产品的一部分,他安装在机器上,接受来自应用程式的 MQSeries 调用并将他们传递给 MQSeries 服务器 机器。在那里他们由队列管理器处理。典型地,客户机和服务器驻留在不同机器上,但他们能同处在一台机器上。
MQSeries 服务器是为一个或多个客户机提供排队服务的队列管理器。所有 MQSeries 对象(例如队列)都仅存在于队列管理器机器上(即 MQSeries 服务器机器上)。服务器也能支持本地 MQSeries 应用程式。
MQSeries 服务器和普通的队列管理器之间的差别在于 MQSeries 服务器可支持 MQSeries 客户机,并且每个 MQSeries 客户机应用程式和 MQSeries 服务器之间都有一个专用的通信链路。
有关客户机支持的更多信息,请参阅 MQSeries 客户机一书。
群集
群集是个命名的队列管理器集合。
群集需要群集内的至少一个队列管理器被定义为资源库 (即存放共享群集信息的地方)。更典型的做法是,通常指定两个或更多个资源库以提供在系统出现故障时的持续可用性。MQSeries 确保资源库中的信息保持同步。
队列被定义为群集队列时,他可被认为是公用队列,可被群集中的其他队列管理器自由使用。这和非群集队列不同,非群集队列仅当他们的本地定义可用时,才可访问。因此,非群集队列具有专用队列的特性,仅可由那些已设置为知道他们的队列管理器来访问。
在相同群集中具有相同名称的公用队列被认为是等价的。如果消息被发送至该队列名称,MQSeries(缺省情况下)将使用一个负载均衡算法将他发送到其中的所有一个。如果你不希望发生这一情况,能在地址中使用队列管理器和队列名称,这就迫使消息被发送到特定的队列管理器。或,可使用另一种实现方法来替换负载均衡例程。这就是典型的 MQSeries 行为,其中有许多示例表明标准行为能更改,方法是在为该目的设计的出口中实现用户代码。
能力
MQSeries 可用来创建许多不同类型的解决方案。其中一些采用了平台支持或网桥和网关能力,用一种集成方法连接至现存的系统,或允许新建应用程式从现存的系统中抽取信息,或和现存系统交换信息。其他一些解决方案支持商业应用程式服务器,在其上 MQSeries 应用程式的中心池能跨网络管理发送的工作。能支持工作流方案的复杂的信息路由选择。 “发布/订阅”或“发送即忘”是使用不同消息流的其他应用程式方案。能使用 MQSeries 的能力和灵活性建立负载均衡和热备用系统,MQSeries 包括了许多支持这些不同方案的特定功能。
请参阅 MQSeries 应用程式设计指南获得有关编写 MQSeries 应用程式的更多信息。
事务性支持
应用程式可能需要将一组更新组合成一个工作单元。这些更新通常是逻辑相关的,并且都必须成功以保持数据完整性。如果在组中的一个更新成功而另一个失败,那么数据完整性可能会丢失。MQSeries 支持事务性的消息传递。
工作单元成功完成后就提交。此时,所有在工作单元内所做的更新都将变成永久的并且是不可逆的。或,如果工作单元失败了,所有更新都被逆序恢复。同步点协调是工作单元用来提交或逆序恢复完整性的进程。
本地工作单元上唯一更新的那些资源是 MQSeries 队列管理器的资源。这里同步点协调是由队列管理器自身使用单阶段提交进程提供的。
全局工作单元上属于其他资源管理器的资源,例如符合 XA 的数据库,也同时被更新。这里,必须使用两阶段提交过程,并且工作单元可由队列管理器自身协调,或由其他符合 XA 的事务管理器(例如 IBM CICS、IBM Transaction Server、IBM TXSeries、Transarc Encina 或 BEA Tuxedo)外部协调。
当队列管理器自己协调全局工作单元时,就有可能在 MQSeries 工作单元内集成数据库更新。就是说,能编写混合的 MQSeries 和 SQL 应用程式,并且能使用命令来一起提交或逆序恢复对队列和数据库的更改。
队列管理器使用两阶段提交协议来完成他。当实施一个工作单元时,队列管理器将首先询问每个参和的数据库管理器是否准备提交更新。只有当所有的参和者,包括队列管理器自己,都准备提交时,所有队列和数据库更新才提交。如果所有参和者不能准备他的更新时,则逆序恢复工作单元来代替提交工作单元。
如果队列管理器在提交协议期间失去和所有数据库管理器的联系,则将提供完全恢复支持。如果数据库管理器因处于未确定状态而变为不可用(就是说,已调用他作准备,但还要接收提交或逆序恢复决定),则队列管理器将记住工作单元的结果,直到他被成功传递为止。同样地,如果队列管理器终止时有未完成的提交操作,那么队列管理器重新启动时他们将被记住。
设备事件
能使用 MQSeries 设备事件来监视队列管理器的操作。
设备事件能在队列管理器检测到一组预定义的情况发生时生成称为事件消息的特别消息。例如,在以下情况时将生成队列满事件消息:对于指定队列启用了“队列满”事件;应用程式发出 MQPUT 调用在队列中放入消息;并且由于队列已满引起调用失败。
其他条件也能引起设备事件,包括:
达到队列中消息数的预定义极限。
在指定时间内队列没获得服务。
启动或停止的通道实例。
如果将事件队列定义为远程队列,则可将所有事件队列放入单个队列管理器中(对于那些支持设备事件的节点)。然后,能从单个节点使用生成的事件监视队列管理器的网络。
MQSeries 设备事件分为下列几种:
队列管理器事件
这些事件和队列管理器中的资源定义有关。例如,如果应用程式尝试打开队列,但关联的用户标识没有经过授权执行该操作,将生成队列管理器事件。
性能事件
这些是在资源达到阈值条件时将产生的通知。例如,达到队列深度极限,或按照 MQGET 请求,在预先定义的时间内未对队列进行服务。能使用 视窗系统 NT 性能监视器来检查和控制队列的某些方面(例如,队列深度、队列深度百分率、及有多少消息已入队和出队)。
通道事件
这些事件是由通道报告的,作为操作期间检测条件的结果。例如,在通道实例停止时产生一个通道事件。
消息驱动处理
当消息到达队列后,他们能使用一种称为触发的机制来自动启动应用程式。如果必要的话,应用程式可在处理完消息后停止。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市