大数据数据开放平台
2015年国务院印发的《促进大数据发展行动纲要》,要求“2018年底前建成国家政府数据统一开放平台,率先在信用、交通、医疗、卫生、就业、社保、地理、文化、教育、科技、资源、农业、环境、安监、金融、质量、统计、气象、海洋、企业登记监管等重要领域实现公共数据资源合理适度向社会开放”,截止2019年,已经有50多个地市开放了平台,开放了约15个领域数据,包括教育科技、民生服务、道路交通、健康卫生、资源环境、文化休闲、机构团体、公共安全、经济发展、农业农村、社会保障、劳动就业、企业服务、城市建设、地图服务。 同时,研究显示,中国开放政府数据实践存在六个方面的主 要问题:数据量少、价值低、可机读比例低,开放的多为静态数据,数据授权协议条款含糊,缺乏便捷的数据获取 渠道,缺乏高质量的数据应用,缺乏便捷、及时、有效、公开的互动交流。最后基于研究的评估结果,为中国开放政府数据的发展提出了政策建议。
参考论文:
- 中国开放政府数据平台研究:框架、现状与建议
- 贵阳市政府数据开放平台设计与实现
- 政府数据开放建设思路
- 知乎:哪一些网站提供中国的开放数据(open data)
- 使用政府开放数据和低代码方案构建应用
- PDF版本下载:政府开放数据平台汇总.pdf
关键词:
电子政务;开放政府;政府数据;政府数据开放;大数据数据开放平台。
四川省
成都市公共数据开放平台
已开放:602个数据集,60个部门,27301171条数据,39个API,12个应用
数据开放--四川省人民政府网站
http://www.scdata.net.cn/odweb/index.htm
达州市政府数据开放平台
雅安市人民政府数据开放栏目
http://www.yaan.gov.cn/shuju.html
北京市
北京市政务数据资源网
http://www.bjdata.gov.cn/jkfb/index.htm
56家单位、1147类数据集、7653万余条数据记录
上海市
上海市政府数据服务网
http://www.data.sh.gov.cn/home!toHomePage.action
开放数据项总量32312条 开放数据资源1958个 开放数据部门45个
天津市
天津市信息资源统一开放平台
21 个主题、39 个部门、384 个数据集、116 个数据接口
福建省
福建省公共信息资源统一开放平台
https://data.fujian.gov.cn/odweb/
697346300条数据; 698个数据资源; 37个部门;1318个API;3个应用
厦门市大数据开放平台
8896790条数据 、789个资源、327个API、39个部门
广东省
开放广东
2369个政府数据集,58个数据应用,超过1.39亿条政府数据
广东省金融数据开放平台
佛山市政府数据开放平台
提供部门(个):49主题分类(个):25数据集(个):1071数据总量(个):45078449
深圳市政府数据开放平台
数据目录1,260个 数据总量121,338,216条 数据接口1,002个 调用次数1,945,673次
广州市政府数据统一开放平台
68个部门,1307个数据集,100248678数据量,81693下载量
数据东莞
http://dataopen.dg.gov.cn/dataopen/
36797385条数据、69个部门、714类资源、12757个数据包、2100037次浏览、173422次下
惠州市政府数据开放平台
3141349条数据、348个数据集、5个部门
珠海市民生数据开放平台
#/ 已开放:195条数据;188个数据资源;74个部门
广东省政府数据统一开放平台-潮州市
http://gddata.gd.gov.cn/index.php/data/ls/Type/0/v/344.html
广东省政府数据统一开放平台-河源市
http://gddata.gd.gov.cn/index.php/data/ls/Type/0/v/339.html
江门市数据开放平台
提供:26个部门、12个主题分类.299个开放数据集、65.21万条数据、1994次下载量
中山市政府数据统一开放平台
http://zsdata.zs.gov.cn/web/index
数据集总数215,机构部门56,数据条数1736366,下载总数43801
肇庆市人民政府数据开放平台
http://www.zhaoqing.gov.cn/sjkf/
贵州省
贵阳市政府数据开放平台
已开放 6180610条数据, 2841个数据集 , 310个API, 52个市级部门 , 13个区县
遵义市政府数据开放平台
171开放数据集;219个开放文件;30个部门
铜仁市政府数据开放平台
累计提供310个数据资源,其中数据类型资源69个
海南省
海南省政府数据统一开放平台
14个已开放数据集; 969个已开放API;34个已开放部门
河南省
河南省公共数据开放平台
http://data.hnzwfw.gov.cn/odweb/
32个部分,20个领域,3497200数据量,709数据集,1418API,8个应用
江西省
江西省政府数据开放网站
9个部门 , 153192条数据; 72个数据目录; 1个接口
宁夏回族自治区
宁夏回族自治区数据开放平台
http://ningxiadata.gov.cn/odweb/index.htm
22个已开放部门;128个数据集类;343175条政府数据;13个应用;12个API;545544条访问量;456个下载量
石嘴山政府数据开放平台
已开放97个数据集,107个数据资源,32个部门
银川市城市数据开放平台
提供:32个部门数据;228个开放数据目录数量、7832个数据总条数、45个API数量
山东省
山东公共数据开放网
59部门,34216目录,7.35亿数据,70284API,41应用
济南市公共数据开放网
71个部门 2106个数据集 4300个接口 6506个文件
青岛公共数据开放网
2818个数据集、7260个API、25个领域、12个文件集
陕西省
陕西省公共数据开放平台
57个部门1300多个可开放目录,省级部门已开放121个目录1654万条数据
哈尔滨市政府数据开放平台"
http://data.harbin.gov.cn/ 54个部门; 1059个数据集; 5167696条数据; 5782个数据文件; 2284个API; 7个APP
浙江省
浙江政务服务网“数据开放”专题网站
68个省级单位提供的350项数据类目,包含100项可下载 的数据资源,137个数据接口和8个移动APP
宁波市政府数据服务网
http://www.datanb.gov.cn/nbdatafore/web/indexpage.action
20类主题、432个资源、3065883数据
安徽省
合肥市政府数据开放平台
"已开放79个部门,3个数据种类,211233条数据
蚌埠市信息资源开放平台
数据总量140条,112次下载次数、29次调用次数、2837次浏览总数
黄山市人民政府数据开放栏目
http://www.huangshan.gov.cn/DataDevelopment/showTopicContentList/8/page_1.html
湖北省
武汉市政务公开数据服务网
http://www.wuhandata.gov.cn/whData/
"开放数据部门101家,开放数据集2192类,开放数据总量118417条,4个API,54个应用
湖南省
长沙市政府门户网站数据开放平台
http://www.changsha.gov.cn/data/
40个部门,236个接口,6个app
江苏省
苏州市政府数据开放平台
http://www.suzhou.gov.cn/dataOpenWeb/data
常州市政府数据开放平台
http://opendata.changzhou.gov.cn/
390705条数据; 198个数据资源; 24个部门
黑龙江省
哈尔滨市政府数据开放平台
54个部门; 1059个数据集; 5167696条数据; 5782个数据文件; 2284个API; 7个APP
嫩江市政务公开统计数据
http://www.nenjiang.gov.cn/zwgk/tjsj/
新疆维吾尔自治区
新疆维吾尔自治区政务数据开放网
http://data.xinjiang.gov.cn/index.html
内蒙古自治区数据开放
http://gzw.nmg.gov.cn/zwgk/zdlyxxgk/sjkf/
台湾省
台湾
38745个资料集,18个分类,649个部门
国家相关部门统计信息网站汇总
中国人民银行
http://www.pbc.gov.cn/diaochatongjisi/116219/index.html
主要包括社会融资规模、金融统计数据、货币统计、金融机构信贷收支统计、金融市场统计、企业商品价格指数等等,数据权威且容易查找,实用性强。
中国银行业监督管理委员会
Http://Www.Cbrc.Gov.Cn/Chinese/Home/DocViewPage/110009.Html
主要包括银行业的数据统计,包括资产负债规模、主要监管数据等。
中国证券监督管理委员会
http://www.csrc.gov.cn/pub/newsite/sjtj/
主要包括证券市场、期货市场相关数据,每天更新快报,并有周报、月报等定期更新。
中国银保险监督管理委员会
http://www.cbirc.gov.cn/cn/index.html
对银行业和保险业机构的公司治理、风险管理、内部控制、资本充足状况、偿付能力、经营行为和信息披露
中国国家统计局
主要包括国家经济宏观数据,社会发展、民生相关重要数据及信息,非常全面,且定期发布统计出版刊物,实用性强。
国家数据
数据源来自国家统计局,但排版更清晰简洁,包括国计民生各个方面的月度数据、季度数据、年度数据、各地区数据、部门数据以及国际数据。
数据-中国政府网
主要包括CPI、GDP、PPI、工业生产增长指数、固定资产投资、社会消费品零售总额、粮食产量等的指数统计,只列出了主要数据,数据来源于国家统计局,点击会跳转至统计局的国家数据网站。查找起来比较简洁清晰,适合需要快速获取这些基础数据的人群。
中国经济数据库
https://www.ceicdata.com/zh-hans/products/china-economic-database
中国互联网信息中心
主要包括互联网发展相关基础数据,相对第三方机构的互联网数据而言,数据更宏观且权威。
香港 https://data.gov.hk/sc/
澳门 https://www.dsec.gov.mo/home_zhmo.aspx
深入理解 http 反向代理(nginx)
反向代理(reverse proxy)
明白了直接访问, 明白了所谓的正向代理, 下面就可以来说说反向代理是怎么回事了.
反向代理与正向代理的一个很大区别就是, 它不需要客户端(浏览器)去做什么配置, 并没有什么配置代理服务器的操作.
如果说正向代理是主动配置, 主动走代理, 那么反向代理则是"被代理", 从这点上看, 反向代理有时又称为"透明代理", 也即是浏览器都不知道自己被代理了, 浏览器以为发给它响应的就是最终的网页服务器, 其实不过是个"代理".
还是举购物的例子来比喻. 有时你在网上购物会看到有商家声称自己就是厂家, 东西都很便宜, 属于厂家直销, 于是你下单了. 过段时间, 你又发现有另一家店声称自己才是真正的厂家直销, 然后你仔细看了两家店铺的信息, 才发现前一个商家是假的, 它不是真的厂家.
但为啥这个假的厂家直销它还是这么便宜呢? 以至于价格跟真的厂家直销的没啥区别. 原因可能则是店家直接就是坐落在厂家旁边, 然后他可能与厂家有那么点关系, 认识里面一些人之类的, 这让他能以很便宜的价格从厂家拿到货, 又因为离得近, 几乎没有任何物流成本, 从某种层面看, 它声称厂家直销也不算怎么骗人. 当然严格来说, 它属于伪厂家直销, 他依然还是个代理商
它声称是李逵, 其实它是李鬼.
用一个图对比一下这两种情形:

那么这样的一种模式就有点 反向代理 的味道了, 你以为自己买到了直销, 其实你还是"被代理"了, 还是经过了中间商.
只是这个中间商对你来说不是那么明显, 甚至说对你是透明的, 把你蒙在了鼓里.
虽然都是"代理", 这跟线下店面购买还是很不同的, 在线下你去商店买时, 你很清楚自己经过了代理的中间商, 也即是商店本身, 但在远程线上这种声称自己是厂家直销的情形, 有时你还真不好判断自己是不是被代理了.
那么 http 的反向代理其实也是这样一个道理. 比如你访问我的网站 https://xiaogd.net, 然后你看下主页的请求里的服务器信息, 它告诉你响应这个主页请求的是一台 Nginx server, 如下图所示:

问题是 Nginx 是最终生成这个网页的 server 吗? 其实不是的! 如果你了解 Nginx, 就会知道它通常只是一个静态资源服务器, 而我的网站主页是一个动态生成的内容, 其实你要是认真看过我网站底部的一个声明, 如下图所示:

就会明白这个主页其实是 php 的一个叫 wordpress 的建站应用去生成的. 在我的云主机的内部, Nginx 其实是将主页的请求转发给一个所谓的 php-fpm 网关
这个 php-fpm 网关基本可以看作是个 php 的 web 服务器, 不过严格来说它用的协议不是 http, 而是一种内部简化的 fastcgi 协议.
如果你要较真的话, 这可以算是 反向代理 模式, 但整体不全是 http 反向代理, 但对外而言则确实是.
从它那里取得最终响应的内容, 并再次转发给浏览器, 整个情形见如下的示意图:

这是内部配置的一个情况:
location ~ .php$ {
root /ftp/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
请求被转发到内部一个在 9000 端口上监听的 php 应用服务器.
从外部浏览器的角度看, 请求直接发给了 Nginx server, 响应也从 Nginx server 里回来了, 中间没有任何的(正向)代理. 至于说你内部请求又被怎么转发了, 显然浏览器是无从知道也不需要去知道的.
站在整个体系设计者的角度去看, 当然但很多请求 Nginx 其实是没有能力去响应的, 它只不过在内部把它代理给了另一个内部的 php 应用服务器, 内部的 php 应用服务器才是最终的响应生成者.
在整个体系里面, Nginx 的角色就是一个"反向代理"服务器, 浏览器被代理了, 但它无从知道自己是否被代理了, 这一切对它而言是透明的, 反正它自己是没有主动走(正向)代理的.
当然了, 你现在知道了我内部的配置, 如果直接访问 http://xiaogd.net:9000, 那就是真正的"直接访问"了, 那就绕过了 Nginx.
不过需要说明的一点是, 直接访问是访问不通的, 因为 9000 端口并没有对外放开. 但是在内部是可以访问到的, 比如这样尝试用 wget 去访问:
wget localhost:9000这样就是真正的"直接访问"了, 没有任何的代理, 既没有正向代理, 也没有反向代理.
需要说明的一点是, 用 wget 这样去获取响应还是会报错, 因为 wget 使用的是 http 协议, php 的 cgi 网关实际使用的是 fastcgi 协议, 是一个比 http 更为简化的协议, 作为内部通讯更加高效, 不过 wget 不支持这个协议, 但 Nginx 能理解这个协议, 整个过程是这样的:
browser -- [http] --> Nginx -- [fastcgi] --> php-fpm
严格来说, 不完全是 http 代理, 内部的反向代理实际用的是 fastcgi 网关协议, 不过这个原理还是一样的, 如果内部用一个比如 tomcat 来响应, 那么全程就都可以是 http 协议.
browser -- [http] --> Nginx -- [http] --> tomcat
而如果在内部发请求 80, 比如wget localhost
那就还是被反向代理, 请求先到在 80 端口监听的 Nginx, Nginx 再转给 php-fpm.
另: 关于端口及缺省端口相关知识, 可以参考这篇深入理解端口.
为什么要使用反向代理?
那么到了这一步我们又面临一个新的问题, 那就是为啥要整这个反向代理呢? 类似于碰到正向代理时的诘问那样, 直接访问不香吗? 为啥还要走这个反向代理? 关于正向代理前面已经解释了一些原因, 而反向代理的出现, 正像这个世界上没有无缘无故的爱与恨一样, 自然也有它存在的原因.
一个很直接的原因就是利用反向代理可以作为内部 负载均衡(load balance) 的手段.
举个例子来说, 假如我现在开发了一个 java web 的应用作为我的网站后台, 我直接部署它到 tomcat 服务器上, 让 tomcat 监听 80 端口, 直接对外服务. 一开始访问量也不大, 所以这样也是没有问题的, 如下图所示:

注: 因为 http 协议的缺省端口就是 80, 所以用户输入地址时可以省略这个端口号, 也即只需这样: http://xiaogd.net, 而不是繁琐的像这样: http://xiaogd.net:80, 关于缺省端口的话题, 还是可以参考前面所提的 深入理解端口.
但过一段时间之后, 访问量可能上来了, 一个 tomcat 进程处理不过来, 那怎么办呢? 于是我打算再起一个新的 tomcat 进程, 但这样就面临一个问题, 只有一个 80 端口, 它已经被第一个 tomcat 进程占用, 如果还要再起另外一个, 则只能选用其它的端口, 比如 8080.
当使用另外一个端口时, 确实可以启动两个 tomcat 的进程, 但用户想访问到第二个 tomcat 进程的服务, 却要这样去访问: http://xiaogd.net:8080. 显然, 这样的方案是有问题的, 用户根本不知道 8080 端口上服务的存在, 就算你有办法告诉用户, 用户也可能不太理解, 用户同时也很怕麻烦的, 为啥要我输入一个冒号加 8080 呢?
此外, 就算有些用户愿意如你所说转向访问 8080 端口, 你还是不能很好的控制把访问量平均地分配在两个 tomcat 上, 毕竟这是用户随机决定的, 也许很多用户又突然涌过来了 8080 端口的应用上, 造成了这边的拥挤.
又或者只有很少的用户愿意听从你的劝告转到新的 8080 端口上, 访问还是集中在旧的 80 端口上的, 这样旧的应用上响应还是很缓慢, 而新的应用却因为没几个用户访问而显得空闲, 没有得到充分的使用.
那么, 在这种情况下, 反向代理的好处就体现出来了, 具体的操作是这样的, 让 Nginx 作为一个前置的反向代理, 监听在 80 端口上; 而第一个 tomcat 则躲到幕后, 同时它也不再监听 80 端口(需要让给 Nginx), 而改为监听一个其它没有被使用的端口, 比如 8081, 然后让 Nginx 转发请求给它处理.
当然了, 如果只有一个 tomcat, 配置大概是这样的:
location / {
proxy_pass http://127.0.0.1:8080;
}
请求处理的流程是这样的:
请求: browser -- [http] --> Nginx -- [http] --> tomcat
响应: browser自然, 这种情形下反向代理似乎不太必要, 还加多了一个环节, 响应速度反而慢了.
但如果有两个 tomcat, 情况就不一样了, 此时就可以在 Nginx 这个反向代理的层面, 启用负载均衡的策略, 大概的配置如下:
http { upstream myapp1 { server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; location / { proxy_pass http://myapp1; } } }
此时, 如果同时涌入了很多请求, Nginx 会把一半的请求交给 8080 端口上的 tomcat, 另一半的请求交给 8081 端口上的 tomcat, 如下图所示:
对外来看, 所有请求还是 Nginx 来处理, 用户不需要去做选择, 也不需要知道什么 8080, 8081 端口上应用的存在, 他们还是继续访问原来的网址 http://xiaogd.net 即可, 无需做任何改变.
如果你在云上有好几台主机, 甚至还可以将其组成一个内网, 然后将 tomcat 部署在不同的主机上. 比如有三台主机的话, 一台运行 Nginx 监听 80 端口, 其余两台运行 tomcat, 分别监听 8080 和 8081 端口, 同时接受并处理 Nginx 反向代理过来的请求, 如下图所示:
如果两台 tomcat 主机的配置不同, 比如一台的性能更强劲些, 还可以调整负载的比例(即权重, weight), 让性能更强的一台承担更多的请求:
http { upstream myapp1 { server 192.168.0.20:8080 weight=3; server 192.168.0.21:8080 weight=2; } server { listen 80; location / { proxy_pass http://myapp1; } } }
如上配置 3:2 的权重比, 让其中一台承担 60% 的请求, 而另一台性能较差的则承担 40%, 也即每 5 个请求, 3 个会被转到 ip 为 20 的主机上, 2 个会转到 ip 为 21 的主机上.
自然, 有人可能还会有疑问, 所有请求都还是要经过 Nginx, 它能处理得过来吗? 答案是可以的, 因为它的功能仅仅是转发, 这就有点像美团外卖, 虽然它每天接受成千上万的人的点餐, 但它自己不需要去买菜, 洗菜, 切菜, 炒菜等, 它仅仅需要把订单交给饭店餐馆, 然后把它们做好的饭菜配送出去, 也即那些耗时的做饭过程都交给了饭店餐馆处理.
在这种反向代理的模式中, 同样的, 生成网页这个重任交到了隐藏在背后的 tomcat, 生成一个复杂的动态网页可能需要经过一些复杂的计算, 要查询数据库, 要拼凑各个页面组件, 可能会比较耗时, 但这些请求被两个 tomcat 应用并发地处理了, 因此响应的速度还是得到了保证, 而这些就是反向代理能给我们带来的好处.
总结
至此, 关于直接访问, (正向)代理以及反向代理就介绍完了, 最后总结下三种情形及与购物例子的比喻.
在直接访问的情形中, 浏览器直接访问了最终生成响应的服务器, 类似我们以厂家直销的方式从厂商购物, 如下图所示:
在(正向)代理的情形中, 浏览器主动访问代理服务器, 通过它间接获取最终响应, 类似我们从商店购物, 而商店的物品又是从厂家购来的, 如下图所示:
在反向代理的情形中, 从浏览器的角度看还是类似于直接访问, 但它的请求在服务端被透明的代理了. 类似于我们在网上从一个声称是厂家直销的"伪厂家"那里购物, 这个伪厂家实际还是把我们的订单转给了真正的厂家, 并从中拿了货给我们, 只是我们无从知道这一切幕后的交易, 如下图所示:
在一个复杂的网络中, 浏览器的请求还可能先被正向代理了, 然后又被反向代理了, 如下图所示::
关于 http 正向代理和反向代理就讲到这里.