Rumah pangkalan data tutorial mysql 淘宝IP地址库设计

淘宝IP地址库设计

Jun 07, 2016 pm 03:59 PM
tidak untuk alamat Taobao reka bentuk pilih projek

当初选择做这么一个项目,不是为了拷贝一份库自己做服务,也不是为了其他目的,只是单纯的熟悉关于http和mysql方面的知识。 下面言归正传。 1、淘宝IP地址库简介 此地址库可以根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括

当初选择做这么一个项目,不是为了拷贝一份库自己做服务,也不是为了其他目的,只是单纯的熟悉关于http和mysql方面的知识。
下面言归正传。

1、淘宝IP地址库简介
此地址库可以根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
用户也可以主动提交信息来纠错。
主要优势表现为:
(1)地域
覆盖度:94.54% 精确到市级
准确度:96.5% 精确到市级
(2)运营商
覆盖度:93.8%
准确度:暂无统计数据
(3)查询速度
10qps
注:阿里同机房内网,实测速度为4qps左右。
(4)接口
符合REST规范,方便扩展;
使用JSON作为数据格式,方便使用;

2、基础数据
下面介绍一下,需要使用到的一些基础数据项,以及来源。
首先,我们来分析一下淘宝IP地址库的返回数据,
{
"code" : 0, // 请求成功/失败
"data" : {
"country" : "\u4e2d\u56fd", // 国家
"country_id" : "CN", // 国家代码
"area" : "\u534e\u5317", // 地区
"area_id" : "100000", // 地区代码
"region" : "\u5317\u4eac\u5e02", // 省(自治区、直辖市、特别行政区)
"region_id" : "110000", // 省代码
"city" : "\u5317\u4eac\u5e02", // 市(地区、自治州、盟及国家直辖市所属市辖区和县)
"city_id" : "110000", // 市代码
"county" : "", // 县(市辖区、县级市、旗)
"county_id" : "-1", // 县代码
"isp" : "\u4e2d\u56fd\u79d1\u6280\u7f51", // 运营商
"isp_id" : "1000114", // 运营商代码
"ip" : "210.75.225.254" // ipv4/ipv6
}
}
其中:
国家与国家代码,由联合国统计局统一制定。详见:http://zh.wikipedia.org/wiki/ISO_3166-1
地区、省、市、县以及相应的代码,由中华人民共和国国家统计局统一制定,详见:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.html
运营商与运营商代码,由国际电联电信标准化部门统一制定,不过已经很久没有维护,不可用。到目前为止,本人也没有找到一份完整的编码表,希望知晓者告知。暂且就以淘宝IP地址库中编码为准。
国家IP地址段,由互联网IP地址分配中心统一管理,在此附上中文版的地址段信息,详见程默的博客,在此表示感谢:http://ipblock.chacuo.net/

3、数据库设计
(1)数据项及命名
国家 country
地区 region
省(自治区、直辖市、特别行政区) province
市(地区、自治州、盟及国家直辖市所属市辖区和县) city
县(市辖区、县级市、旗) county
镇(乡、城镇) town
村(村庄) village
运营商 isp
IP ip

(2)IP表
国家代码 2个字节 CHAR(2)
县代码 6位整形 UINT(20)
村代码 12位整形 UINT(40)
运营商代码 7位整形 UINT(24)
IP地址 4个字节 UINT(32)

(3)国家表
二位字母 2个字节 CHAR(2)
三位字母 3个字节 CHAR(3)
三位数字 3位整形 UINT(10)
ISO英文用名 48个字节 CHAR(48)
中文用名 48个字节 CHAR(48)

(4)地区表
代码 1位整形 UINT(4)
名称 4个字节 CHAR(4)

(5)县(市辖区、县级市、旗)表
代码 6位整形 UINT(20)
名称 48个字节 CHAR(48)

(6)村(村庄)表
代码 12位整形 UINT(40)
名称 48个字节 CHAR(48)

(7)运营商表
代码 7位整形 UINT(24)
名称 48个字节 CHAR(48)

4、数据采集
IP运营商信息来源于各个运营商,IP所属地域信息来源于CNNIC,不过这些信息不太容易拿到完整的。
所以,此处就以淘宝IP地址库为来源。

5、实现方案
使用 nodejs + python 实现,nodejs主要实现网络交互集中的部分,python主要实现网页抓取。数据库使用常见的 mysql。
(1)国家代码抓取
使用 python 实现从 http://zh.wikipedia.org/wiki/ISO_3166-1 地址抓取代码信息,并保存文本country.txt。当然,也可以直接手动拷贝粘贴到文本中。
使用 nodejs 按行读取上一步抓取到的文本,做处理,使用 node-mysql 写入数据库。

(2)县代码抓取
使用 python 实现从 http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201401/t20140116_501070.html 地址抓取代码信息,并保存文本cncounty.txt。当然,也可以直接手动拷贝粘贴到文本中。
使用 nodejs 按行读取上一步抓取到的文本,做处理,使用 node-mysql 写入数据库。

(3)国内IP段抓取
使用 python 实现从 http://ipblock.chacuo.net/ 地址抓取IP段信息,并保存文本cnip.txt。当然,也可以直接手动拷贝粘贴到文本中。

(4)IP地址信息查询
使用 nodejs 读取 cnip.txt 文本,每次解析10000个IP,使用 http 模块从淘宝IP地址库查询结果,并使用 node-mysql 写入数据库。
由于在 nodejs 中 http 处理和 mysql 处理都是异步操作,所以,增加一个缓冲区,保存http请求结果。笔者使用了经典的生产者消费者模型来处理这个问题。

6、结果
为了保证请求的稳定,使用阿里云服务器运行此系统。
实际运行时,每秒可以稳定的请求到5个IP信息,中国目前(截止2014年1月)拥有3.3亿IP,完成全部请求大约需要2.98天。

完成全部存储,数据库大小为22.3GB。

转载请注明来自隐居士(石硕)的CSDN博客:blog.csdn.net/shishuo365 如有疑问请发邮件shishuo365#126.com(将#更换为@)

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendapatkan sampul merah percuma Taobao 2024 Bagaimana untuk mendapatkan sampul merah percuma Taobao 2024 May 09, 2024 pm 03:22 PM

Acara pesanan percuma Taobao 2024 akan diadakan tiga kali sehari Semua orang perlu membuat pesanan dan membayar jumlah barangan yang sepadan pada masa yang sama Jumlah pesanan percuma akan diedarkan dalam bentuk sampul merah dengan jumlah yang sama. Seterusnya, saya akan bawakan kepada anda cara menerima sampul merah tempahan percuma Taobao pada tahun 2024: dapatkannya Bagi pengguna yang percuma, kelayakan sampul merah akan dikeluarkan kepada kad dan pakej kupon, yang dalam keadaan pengaktifan; versi web Taobao pada masa ini tidak mempunyai kad dan pakej kupon, dan hanya memaparkan rekod kemenangan bagi acara pesanan percuma; Cara mendapatkan sampul merah percuma Taobao 20241. Bagi pengguna yang mendapatkan pesanan percuma, kelayakan sampul merah akan diedarkan kepada pakej kad dan kupon, yang sedang dalam keadaan menunggu pengaktifan 2. Versi web Taobao pada masa ini tidak mempunyai pakej kad dan kupon, dan hanya memaparkan rekod kemenangan bagi aktiviti pesanan percuma ;3.

Cara mematikan peringatan sampul merah di Taobao Cara mematikan peringatan sampul merah di Taobao Apr 01, 2024 pm 06:25 PM

Taobao ialah perisian membeli-belah dalam talian yang biasa digunakan untuk ramai rakan Anda biasanya membuat pesanan dan membeli banyak perkara daripada Taobao Ia menyediakan pengguna dengan fungsi peringatan sampul merah, jadi cepat dan semak bahasa Cina laman web. Senarai langkah untuk mematikan peringatan sampul merah pada Taobao 1. Buka pusat peribadi APP Taobao dan pilih butang [Tetapan] untuk memasuki halaman. 2. Cari pilihan [Pemberitahuan Mesej] Di sini anda boleh memilih suis tekan mesej Cari mesej sampul merah dan matikan suis. 3. Atau anda boleh mematikan kebenaran pemberitahuan APP Taobao melalui halaman tetapan telefon mudah alih anda, supaya semua mesej daripada Taobao tidak akan memasuki tekan dan hanya boleh dilihat selepas menghidupkannya. 4. Pengguna boleh menetapkan jenis mesej yang mereka ingin terima, yang menjadikannya lebih mudah untuk digunakan.

Bolehkah AI menakluki teorem terakhir Fermat? Ahli matematik melepaskan 5 tahun kerjayanya untuk mengubah 100 halaman bukti menjadi kod Bolehkah AI menakluki teorem terakhir Fermat? Ahli matematik melepaskan 5 tahun kerjayanya untuk mengubah 100 halaman bukti menjadi kod Apr 09, 2024 pm 03:20 PM

Teorem terakhir Fermat, akan ditakluki oleh AI? Dan bahagian yang paling bermakna dari keseluruhannya ialah Teorem Terakhir Fermat, yang akan diselesaikan oleh AI, dengan tepat untuk membuktikan bahawa AI tidak berguna. Suatu ketika dahulu, matematik tergolong dalam alam kecerdasan manusia yang tulen kini, wilayah ini dihuraikan dan diinjak oleh algoritma canggih. Imej Teorem Terakhir Fermat ialah teka-teki "terkenal" yang telah membingungkan ahli matematik selama berabad-abad. Ia telah terbukti pada tahun 1993, dan kini ahli matematik mempunyai rancangan besar: untuk mencipta semula bukti menggunakan komputer. Mereka berharap bahawa sebarang ralat logik dalam versi bukti ini boleh disemak oleh komputer. Alamat projek: https://github.com/riccardobrasca/flt

Cara menggunakan 'Taobao' 510 sampul merah percuma Cara menggunakan 'Taobao' 510 sampul merah percuma May 08, 2024 pm 10:00 PM

Bagaimana untuk menggunakan sampul merah percuma Taobao 510? Taobao baru-baru ini melancarkan acara tempahan percuma untuk meraikan ulang tahunnya yang ke-510 Acara ini membolehkan anda mendapat pesanan sampul merah secara percuma, dan saya percaya ramai rakan yang ingin menyertai acara ini , tetapi mereka tidak Jika anda tahu penggunaan khusus, mari kita lihat pengenalan yang berkaitan hari ini. Arahan untuk menggunakan Paket Merah Tempahan Percuma Ulang Tahun ke-510 Taobao: Pek merah pesanan percuma boleh digunakan selepas semua pesanan yang dibuat untuk soalan tekaan disahkan dan diterima. 1. Pengguna boleh mengeluarkan dan mendapatkan semula sampul merah percuma melalui versi web Taobao Pada masa ini, tiada kad dan pakej kupon, tetapi ia boleh dilihat di [APP Taobao-Sampul Merah Taobao Saya-Hak Saya]. Bagi pengguna yang merebut pesanan percuma, kelayakan sampul merah akan diedarkan kepada kad dan pakej kupon, yang dalam keadaan pengaktifan kad dan pakej kupon sedang berjalan untuk memenangi hadiah.

Trend retro! HMD dan Heineken bersama-sama melancarkan telefon selip: reka bentuk cangkerang telus Trend retro! HMD dan Heineken bersama-sama melancarkan telefon selip: reka bentuk cangkerang telus Apr 17, 2024 pm 06:50 PM

Menurut berita pada 17 April, HMD bekerjasama dengan jenama bir terkenal Heineken dan syarikat kreatif Bodega untuk melancarkan telefon selip yang unik - The Boring Phone. Telefon ini bukan sahaja penuh dengan inovasi dalam reka bentuk, tetapi juga kembali kepada alam semula jadi dari segi kefungsian, bertujuan untuk membawa orang ramai kembali kepada interaksi interpersonal yang sebenar dan menikmati masa yang murni untuk minum bersama rakan-rakan. Telefon mudah alih yang membosankan menggunakan reka bentuk flip lutsinar yang unik, menunjukkan estetika yang ringkas namun elegan. Ia dilengkapi dengan paparan QVGA 2.8 inci di dalam dan paparan 1.77 inci di luar, memberikan pengguna pengalaman interaksi visual asas. Dari segi fotografi, walaupun hanya dilengkapi dengan kamera 30 megapiksel, ia sudah cukup untuk mengendalikan tugasan harian yang mudah.

Adakah bayaran balik sampul merah percuma 'Taobao' akan dikembalikan? Adakah bayaran balik sampul merah percuma 'Taobao' akan dikembalikan? May 08, 2024 am 08:16 AM

Apabila membeli-belah di Taobao, kami sering menggunakan sampul merah percuma untuk menikmati diskaun. Tetapi jika kami memerlukan bayaran balik, adakah sampul merah percuma ini akan dikembalikan? Mari kita lihat jawapan kepada soalan ini. Adakah sampul merah percuma Taobao akan dikembalikan, bergantung pada situasi, apabila anda menerima sampul merah, sampul merah dalam keadaan pengaktifan belum selesai Sebelum menebus produk, sampul merah yang akan diaktifkan tidak diaktifkan dan tidak boleh digunakan buat sementara waktu. Anda akan menunggu sehingga penerimaan produk yang dibeli disahkan , sampul merah yang perlu diaktifkan boleh digunakan. Sekiranya terdapat masalah dengan produk selepas menggunakan sampul merah percuma dan ia perlu dipulangkan, maka pemulangan sampul merah tersebut perlu dinilai mengikut situasi sebenar: 1. Peraturan Bayaran Balik 11. Jika bayaran balik berlaku selepas sampul merah digunakan, sampul merah akan dikembalikan mengikut kadar. 2. Jika tidak tertunggak, tempoh penggunaan sampul merah yang dipulangkan adalah tempoh penggunaan asal Jika tertunggak, ia akan dikeluarkan dalam tempoh 7 hari.

ZTE 5G Wi-Fi U50S mudah alih dijual pada harga NT$899 pada harga awal: kelajuan rangkaian maksimum 500Mbps ZTE 5G Wi-Fi U50S mudah alih dijual pada harga NT$899 pada harga awal: kelajuan rangkaian maksimum 500Mbps Apr 26, 2024 pm 03:46 PM

Menurut berita pada 26 April, Wi-Fi U50S mudah alih 5G ZTE kini dijual secara rasmi, bermula pada 899 yuan. Dari segi reka bentuk penampilan, Wi-Fi Mudah Alih ZTE U50S adalah ringkas dan bergaya, mudah dipegang dan dibungkus. Saiznya ialah 159/73/18mm dan mudah dibawa, membolehkan anda menikmati rangkaian berkelajuan tinggi 5G pada bila-bila masa dan di mana-mana, mencapai pengalaman pejabat mudah alih dan hiburan tanpa halangan. Wi-Fi U50S mudah alih ZTE 5G menyokong protokol Wi-Fi 6 lanjutan dengan kadar puncak sehingga 1800Mbps Ia bergantung pada platform 5G berprestasi tinggi Snapdragon X55 untuk menyediakan pengalaman rangkaian yang sangat pantas. Ia bukan sahaja menyokong persekitaran rangkaian SA+NSA dwi-mod 5G dan jalur frekuensi Sub-6GHz, kelajuan rangkaian yang diukur malah boleh mencapai 500Mbps yang menakjubkan, yang mudah memuaskan.

Honor Magic V3 memperkenalkan teknologi perlindungan mata nyahfokus AI: berkesan mengurangkan perkembangan rabun Honor Magic V3 memperkenalkan teknologi perlindungan mata nyahfokus AI: berkesan mengurangkan perkembangan rabun Jul 18, 2024 am 09:27 AM

Menurut berita pada 12 Julai, siri Honor Magic V3 telah dikeluarkan secara rasmi hari ini, dilengkapi dengan skrin perlindungan mata Honor Vision Soothing Oasis yang baharu Walaupun skrin itu sendiri mempunyai spesifikasi tinggi dan kualiti tinggi, ia juga mempelopori pengenalan perlindungan mata aktif AI teknologi. Dilaporkan bahawa cara tradisional untuk mengurangkan rabun adalah "kaca mata rabun". Kuasa cermin mata rabun diagihkan secara sama rata untuk memastikan kawasan pusat penglihatan diimej pada retina, tetapi kawasan persisian digambarkan di belakang retina. Retina merasakan bahawa imej berada di belakang, menggalakkan arah paksi mata berkembang kemudian, dengan itu mendalamkan darjah. Pada masa ini, salah satu cara utama untuk mengurangkan perkembangan rabun adalah "kanta nyahfokus". Kawasan pusat mempunyai kuasa biasa, dan kawasan persisian diselaraskan melalui partition reka bentuk optik, supaya imej di kawasan persisian jatuh ke dalam. hadapan retina.

See all articles