爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

      首页 知识中心 云端实践 文章详情页

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

      2024-12-06 06:37:29 阅读次数:22

      数据

      前言

              在面向空间的矢量数据处理过程当中,虽然shapefile等文件是常用矢量文件的载体。也是大多数应用用来支持矢量文件存储的对象。其实除了shagefile这种格式,还有很多种格式。今天介绍一种在webgis比较常见的数据格式,它就是GeoJSON。

              GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面这几种几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。

              一个完整的GeoJSON数据结构总是一个(JSON术语里的)对象。在GeoJSON里,对象由名/值对--也称作成员的集合组成。对每个成员来说,名字总是字符串。成员的值要么是字符串、数字、对象、数组,要么是下面文本常量中的一个:"true","false"和"null"。数组的值是上面所说的元素组成。

              GeoJSON的格式

      GeoJSON总是由一个单独的对象组成。这个对象(指的是下面的GeoJSON对象)表示几何、特征或者特征集合。

      • GeoJSON对象可能有任何数目成员(名/值对)。
      • GeoJSON对象必须有一个名字为"type"的成员。这个成员的值是由GeoJSON对象的类型所确定的字符串。
      • type成员的值必须是下面之一:"Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "GeometryCollection", "Feature", 或者 "FeatureCollection"。这些值分别对应:点、多点、线、多线、面、多面、几何集合、特征、特征集合。
      • GeoJSON对象可能有一个可选的"crs"成员,它的值必须是一个坐标参考系统的对象。
      • GeoJSON对象可能有一个"bbox"成员,它的值必须是边界框数组。
      {
          "type": "FeatureCollection",
          "features": [{
                  "type": "Feature",
                  "geometry": {
                      "type": "Point",
                      "coordinates": [102.0, 0.5]
                  },
                  "properties": {
                      "prop0": "value0"
                  }
              }, {
                  "type": "Feature",
                  "geometry": {
                      "type": "LineString",
                      "coordinates": [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]
                  },
                  "properties": {
                      "prop0": "value0",
                      "prop1": 0.0
                  }
              }, {
                  "type": "Feature",
                  "geometry": {
                      "type": "Polygon",
                      "coordinates": [[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]
                  },
                  "properties": {
                      "prop0": "value0",
                      "prop1": {
                          "this": "that"
                      }
                  }
              }
          ]
      }

              本文将重点讲解在Java中如何调用GDAL进行GeoJSON矢量数据处理,首先使用QGIS工具展示待处理的地名GeoJSON数据,然后介绍在PostGIS空间数据库中创建空间表,最后介绍基于Java语言调用GDAL将GeoJSON进行空间数据入库。如果当前您也有GeoJSON数据的处理,不妨来博客指导一二。

      一、基础数据介绍

              今天要处理的示例数据是地名数据,原始数据由GISer last 分享,大家有兴趣的可以在他的个人公众号下回复消息,及时获取信息。时间大概是2015年左右的全国分级数据,有省会城市地名、地级市地名、县级市地名、区县地名等,都是以GeoJSON形式的保存的。       

              本小节以Qgis为例,对下载下来的GeoJSON数据进行处理。包括空间可视化、属性数据展示、地图标注等。GeoJSON其实也是一种json,只是在普通的json上面增加了空间数据的属性和规范。所以我们可以直接使用文本的形式来进行数据的编辑与展示。

      1、 数据格式

              地名数据主要是一些点位数据,除了在乡镇一级数据条数多一点之外,其它都还可以都没有超过MB。下面使用Qgis对这些数据打开来看一下。

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

              将GeoJSON数据加载到Qgis当中去之后,查看这些空间数据的属性。比如投影信息、属性信息等等。为了方便数据的展示,辅助添加了省级行政区划矢量数据。打开相关标注后,可以看到x效果如下:

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

       省会地名数据示意图

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

       地级市地名示意图

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

       县级市地名示意图

      2、数据参数

              在qgis中查看数据的属性信息,可以看到如下信息。

      序号

      参数

      说明

      1

      存储类型

      GeoJSON

      2

      编码

      UTF-8

      3

      几何图形

      Point (Point)

      4

      坐标参考系

      EPSG:4326 - WGS 84 - 地理的

      5

      范围

      87.6149638000000550,20.0500348290000261 : 126.5286520170000131,45.8019539320000604

      6

      单位

      度

              数据属性信息如下:

      序号

      属性名

      数据类型

      说明

      1

      NAME

      String

      地名

      2

      PIINYIN

      String

      地名拼音

      3

      CLASS

      String

      类型

      4

      BZ

      String

      备注

      5

      SLX

      String

      应该是标记,暂无特殊含义

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

      序号

      数据名称

      数据条数

      1

      省会城市地名

      29

      2

      地级市地名

      283

      3

      县级市地名

      339

      4

      区县地名

      2567

       有了上面的数据参数基础和属性数据基础之后。下面我们介绍如何进行空间数据库表的设计。

      二、空间数据库设计

              为了将GeoJSON数据保存到空间数据,我们需要设计对应的数据库表。这里我们采用PostGIS数据库,数据表采用PostGIS中的空间表。本小节将重点讲解讲解空间表的设计。

      1、主体表模型

              为了实现数据对象到数据库物理模型的对应。针对上述业务,我们建立1对1的映射。保留原有空间属性的独立性,同时增加表主键以及关键的空间信息字段geom。为了后续我们方便的对空间数据进行空间索引查询,在geom列上,我们构建了关键的GIST空间索引。

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

      2、DDL语句与空间索引

              请注意,空间索引必须要创建,否则在进行空间查询时性能很慢。提前新建好索引,对后续的性能提升有很大的帮助。

      CREATE TABLE "public"."biz_geographic_name" (
        "pk_id" int8 NOT NULL,
        "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
        "pinyin" varchar(255) COLLATE "pg_catalog"."default",
        "classz" varchar(4) COLLATE "pg_catalog"."default",
        "bz" varchar(100) COLLATE "pg_catalog"."default",
        "slx" varchar(20) COLLATE "pg_catalog"."default",
        "geom" "public"."geometry" NOT NULL,
        CONSTRAINT "pk_biz_geographic_name" PRIMARY KEY ("pk_id")
      )
      ;
      
      ALTER TABLE "public"."biz_geographic_name" 
        OWNER TO "ghy01";
      
      CREATE INDEX "idex_biz_geographic_name_classz" ON "public"."biz_geographic_name" USING btree (
        "classz" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
      );
      
      CREATE INDEX "idx_biz_geographic_name_geom" ON "public"."biz_geographic_name" USING gist (
        "geom" "public"."gist_geometry_ops_2d"
      );
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."pk_id" IS '主键id';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."name" IS '地名';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."pinyin" IS '汉语拼音';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."classz" IS 'classz';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."bz" IS '备注';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."slx" IS 'slx';
      
      COMMENT ON COLUMN "public"."biz_geographic_name"."geom" IS '空间对象';
      
      COMMENT ON TABLE "public"."biz_geographic_name" IS '地名基础信息表,用于存储中国范围内的地名信息';

              至此,我们完成了地名表的空间数据库表的设计,同时根据业务需要,创建了数据索引。 

      三、GDAL解析及入库

              本节主要讲解如何利用GDAL来进行数据的解析,使用详细的代码讲解如何解析GeoJSON数据,最后调用MP框架实现将GeoJSON数据保存到空间数据库。

      1、GDAL中GeoJSON驱动

              在Gdal中,针对不同的数据格式,使用不同的驱动包来解析支持。与解析shapefile的方式一致。解析GeoJSON使用GeoJSON驱动。此驱动程序实现对访问编码在中的功能的读/写支持 GeoJSON 格式。GeoJSON是一种基于 JavaScript Object Notation
      (JSON) . JSON是一种用于数据交换的轻量级纯文本格式,GeoJSON只不过是它对地理内容的专门化。

      • FLATTEN_NESTED_ATTRIBUTES =是/否:是否递归地探索嵌套对象并生成扁平OGR属性。默认为否。
      • NESTED_ATTRIBUTE_SEPARATOR =字符:嵌套属性组件之间的分隔符。默认为“
      • FEATURE_SERVER_PAGING =是/否:是否使用ArcGIS功能服务终结点自动滚动结果。
      • NATIVE_DATA =是/否:(GDAL>=2.1)是否在FeatureCollection和Feature级别存储本机JSon表示。默认为否。此选项可用于通过保留一些额外的JSon对象来改进从GeoJSON到GeoJSON的往返,否则OGR抽象将忽略这些额外的JSon对象。请注意,ogr2ogr在默认情况下启用此选项,除非指定其-noNativeData开关。
      • ARRAY_AS_STRING =YES/NO:(GDAL>=2.1)是否将字符串、整数或实数的JSon数组作为OGR字符串公开。默认为“否”。也可以使用 OGR_GEOJSON_ARRAY_AS_STRING 配置选项。
      • DATE_AS_STRING =YES/NO:(GDAL>=3.0.3)是使用专用的OGR日期/时间/日期时间类型还是作为OGR字符串公开日期/时间/日期时间内容。默认值为NO(即检测到日期/时间/日期-时间)。也可以用 OGR_GEOJSON_DATE_AS_STRING 配置选项。

      2、解析GeoJSON

              在Java中解析GeoJSON的关键代码如下:

      @Test
      public void readDjsGeoJSON() {
      	// 指定文件的名字和路径
      	String strVectorFile = "path/2015省市区县乡镇地名数据/地名点_地级市.geojson";
      	// 注册所有的驱动
      	ogr.RegisterAll();
      	gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
      	gdal.SetConfigOption("SHAPE_ENCODING", "UTF-8");
      	String strDriverName = "GeoJSON";
      	org.gdal.ogr.Driver oDriver = ogr.GetDriverByName(strDriverName);
      	if (oDriver == null) {
      		System.out.println(strDriverName + " 驱动不可用!\n");
      		return;
      	}
      	DataSource dataSource = oDriver.Open(strVectorFile);
      	Layer layer = dataSource.GetLayer(0);
      	SpatialReference spatialReference = layer.GetSpatialRef();
      	String srid = spatialReference.GetAttrValue("AUTHORITY", 1);
      	long featureCount = layer.GetFeatureCount();
      	List<GeographicName> list = new ArrayList<GeographicName>();
      	for (int i = 0; i < featureCount; i++) {
      		Feature feature = layer.GetFeature(i);
      		String name = feature.GetFieldAsString("NAME");
      		String pinyin = feature.GetFieldAsString("PINYIN");
      		String classz = feature.GetFieldAsString("CLASS");
      		String bz = feature.GetFieldAsString("BZ");
      		String slx = feature.GetFieldAsString("SLX");
      		Geometry geom = feature.GetGeometryRef();
      		//step 1、生成原始wkt
      		String wkt = geom.ExportToWkt();
      		wkt = "SRID=" + srid +";" + wkt;//拼接srid,实现动态写入
      		list.add(new GeographicName(name, pinyin, classz, bz, slx, wkt));
      		System.out.println("name=" + name + "\tclassz=" + classz+ "\twkt="+ wkt);
      	}
      	geographicNameService.saveBatch(list,300);
      	dataSource.delete();
      	gdal.GDALDestroyDriverManager();
      }

      3、Java模型

              下面提供基础的Java实体模型,其它比如Mapper和Service对象,不进行代码说明。

      package com.yelang.project.extend.earthquake.domain;
      import java.io.Serializable;
      import com.baomidou.mybatisplus.annotation.TableField;
      import com.baomidou.mybatisplus.annotation.TableId;
      import com.baomidou.mybatisplus.annotation.TableName;
      import com.yelang.framework.handler.PgGeometryTypeHandler;
      import lombok.AllArgsConstructor;
      import lombok.Data;
      import lombok.NoArgsConstructor;
      import lombok.ToString;
      
      @Data
      @ToString
      @AllArgsConstructor
      @NoArgsConstructor
      @TableName(value ="biz_geographic_name",autoResultMap = true)
      public class GeographicName implements Serializable{
      	private static final long serialVersionUID = -3694849578429480952L;
      	@TableId(value = "pk_id")
      	private Long pkId;
      	private String name;
      	private String pinyin;
      	private String classz;
      	private String bz;
      	private String slx;
      	public GeographicName(String name, String pinyin, String classz, String bz, String slx, String geom) {
      		super();
      		 = name;
      		this.pinyin = pinyin;
      		this.classz = classz;
      		this.bz = bz;
      		this.slx = slx;
      		this.geom = geom;
      	}
      	@TableField(typeHandler = PgGeometryTypeHandler.class)
      	private String geom;
      	@TableField(exist=false)
      	private String geomJson;  
      }

      4、数据入库

              使用junit进行代码测试,将数据批量插入到数据库中。

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

              在程序的控制台中可以看到以下的输出,表名在执行数据库的插入操作:

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

              最后来数据库中是否有批量插入的地名信息,使用以下查询语句:

      select * from biz_geographic_name;

      基于Java和GDAL实现的GeoJSON数据读取与入库实践

              使用navicat可以连接数据库,看到在数据库中已经成功的将地级市的地名数据插入到空间数据中。 

      总结

              以上就是本文的主要内容,本文将重点讲解在Java中如何调用GDAL进行GeoJSON矢量数据处理,首先使用QGIS工具展示待处理的地名GeoJSON数据,然后介绍在PostGIS空间数据库中创建空间表,最后介绍基于Java语言调用GDAL将GeoJSON进行空间数据入库。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/yelangking/11006361,作者:夜郎king,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:Java集合框架的核心数据结构及其使用场景

      下一篇:《深入理解Nginx》阅读与实践(四):简单的HTTP过滤模块

      相关文章

      2025-05-19 09:04:53

      【NetApp数据恢复】误操作导致NetApp存储的卷丢失,卷内虚拟机无法访问的数据恢复案例

      【NetApp数据恢复】误操作导致NetApp存储的卷丢失,卷内虚拟机无法访问的数据恢复案例

      2025-05-19 09:04:53
      存储 , 数据 , 数据恢复 , 解压
      2025-05-16 09:15:10

      画图时使用的函数和一些错误处理

      画图时使用的函数和一些错误处理

      2025-05-16 09:15:10
      数据
      2025-05-14 10:33:25

      超级好用的C++实用库之国密sm4算法

      国密SM4算法,全称为国家密码管理局制定的SM4分组密码算法,是中国自主设计的商用密码算法标准之一,用于数据的对称加密。

      2025-05-14 10:33:25
      加密 , 参数 , 数据 , 模式 , 解密
      2025-05-14 10:07:38

      30天拿下Rust之引用

      在Rust语言中,引用机制是其所有权系统的重要组成部分,它为开发者提供了一种既高效又安全的方式来访问和共享数据。引用可以被视为一个指向内存地址的指针,它允许我们间接地访问和操作存储在内存中的数据。

      2025-05-14 10:07:38
      Rust , text , 可变 , 引用 , 数据
      2025-05-14 10:07:38

      30天拿下Rust之所有权

      在编程语言的世界中,Rust凭借其独特的所有权机制脱颖而出,为开发者提供了一种新颖而强大的工具来防止内存错误。这一特性不仅确保了代码的安全性,还极大地提升了程序的性能。

      2025-05-14 10:07:38
      data , Rust , 内存 , 函数 , 变量 , 数据
      2025-05-14 10:03:13

      超级好用的C++实用库之Base64编解码

      Base64是一种编码方式,用于将二进制数据转换为可打印的ASCII字符。这种编码方式常用于在HTTP协议等应用中传输二进制数据,比如:图片、音频、视频等。

      2025-05-14 10:03:13
      Base64 , 字符串 , 数据 , 编码 , 长度
      2025-05-14 10:03:13

      【MySQL】-数据库优化(索引)

      索引(index)是帮助数据库高效获取数据的数据结构

      2025-05-14 10:03:13
      index , Tree , 二叉 , 搜索 , 数据 , 索引 , 节点
      2025-05-14 10:02:58

      超级好用的C++实用库之字节流解析器

      字节流解析器是一种软件组件,它负责将接收到的原始二进制数据(字节流)转换为有意义的信息结构或格式。在计算机网络、文件处理和数据通信中,字节流是最基本的数据传输形式,但这些原始字节对于应用程序通常是没有直接意义的,需要通过特定的解析规则来解读。

      2025-05-14 10:02:58
      true , 参数 , 字节 , 数据 , 获取 , 解析器 , 返回值
      2025-05-14 10:02:58

      java项目多端数据同步解决方案

      多端数据同步是指在多个设备(例如桌面应用、移动应用、Web应用)之间保持数据的一致性。

      2025-05-14 10:02:58
      java , Spring , WebSocket , 同步 , 数据 , 版本号
      2025-05-13 09:49:27

      变量基础_变量场景

      变量基础_变量场景

      2025-05-13 09:49:27
      变量 , 场景 , 存储 , 学习 , 数据 , 编程语言
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5240112

      查看更多

      最新文章

      基于数据分析与PyTorch框架实现天气未来温度预测

      2025-04-01 10:28:16

      使用 Java 与 Spring Boot 实现高效 GraphQL API 开发

      2025-03-21 06:56:46

      探索Jooby:一个轻量级 Java Web 框架的精致世界

      2025-03-11 09:36:54

      导购电商平台中的数据一致性问题:基于Java的最终一致性方案与实践*

      2024-12-02 09:45:53

      大数据治理:挑战与实践

      2024-11-26 09:46:16

      写入缓存策略的理论与实践:提高系统性能

      2024-11-14 08:12:01

      查看更多

      热门文章

      Python: PonyORM设计精巧的ORM框架

      2022-11-09 02:01:06

      算法实践-最优搜索树-动态规划

      2023-02-15 08:38:24

      MySQL数据库(6):字符集 character

      2023-02-22 07:27:36

      Response笔记

      2023-02-15 08:25:21

      不使用flink这类框架,如何自己实现分布式流数据处理

      2024-06-05 08:24:41

      使用 Java 与 Spring Boot 实现高效 GraphQL API 开发

      2025-03-21 06:56:46

      查看更多

      热门标签

      客户端 实践 基础知识 Java 服务器 java 数据库 框架 python 服务端 学习 代码 简单 javascript 编程
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      大数据治理:挑战与实践

      MySQL数据库(6):字符集 character

      写入缓存策略的理论与实践:提高系统性能

      使用 Java 与 Spring Boot 实现高效 GraphQL API 开发

      探索Jooby:一个轻量级 Java Web 框架的精致世界

      不使用flink这类框架,如何自己实现分布式流数据处理

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号