阶段三:项目开发---搭建项目前后端系统基础架构:任务9:导入空管基础数据

news2024/12/28 13:03:41

任务描述

本阶段任务是导入项目的基础数据,包括空管基础数据和离线的实时飞行数据(已经脱敏)。

任务指导

本阶段任务需要导入两种数据:

1、在MySQL中导入空管基础数据

  • kongguan.sql空管基础数据表说明:
1告警信息表
2告警历史信息
3告警飞行历史信息
4用户和角色表
5用户表
6角色表
7权限表
8角色和权限表
9实时飞行变量表
10机场表
11航空公司表
12航空雷达表
13航空公司变量表
14扇形饱和度变量表
15值班变量表
16航空变量表
17机场变量表
18机场经纬度表
19航线变量表
  • 数据字典:

表1:告警信息表(warntp_number)

NameCodeCommentData TypeLength
主键idid int11
告警类型gj_type varchar100
告警唯一标识gj_id varchar50
告警的类型gj_msg_type varchar100
航迹号1gj_track_num1 varchar100
航迹号2gj_track_num2 varchar100
告警航班之间的距离gj_distinct varchar100
告警之间的夹角gj_radian varchar100
告警的名称gj_name varchar100
告警距离参数gj_distinct_bz varchar100
告警的城市gj_city varchar1000
告警的发生时间gj_date varchar100
航班号gj_acids varchar100
飞机1经度gj_num1_long varchar100
飞机1纬度gj_num1_lat varchar100
飞机2经度gj_num2_long varchar100
飞机2纬度gj_num2_lat varchar100
数量count int11

表2:告警历史信息表(warnsimilarhistory_number)

NameCodeCommentData TypeLength
主键idid int11
告警类型gj_type varchar100
告警唯一标识gj_id varchar50
告警的类型gj_msg_type varchar100
告警数量gj_num varchar100
航迹号gj_track_num varchar100
告警扇区号gj_sector varchar100
航班号gj_acid varchar100
状态gj_status varchar100
城市间gj_city varchar100
时间gj_date varchar100
数量count int11

表3:告警飞行历史信息(warnflighthistory_number)

NameCodeCommentData TypeLength
主键idid int11
告警类型gj_type varchar100
告警唯一标识gj_id varchar50
告警类型gj_msg_type varchar100
航迹号1gj_track_num1 varchar100
航迹号2gj_track_num2 varchar100
告警航班之间的距离gj_distinct varchar100
告警航班之间的夹角gj_radian varchar100
告警名称gj_name varchar100
告警距离参数gj_distinct_bz varchar100
告警的城市gj_city varchar100
告警发生时间gj_date varchar100
数量count int11
告警扇区号gj_sector varchar100

表4:用户和角色表(user_role)

NameCodeCommentData TypeLength
主键idid int10
用户iduser_id int11
角色idrole_id int11

表5:用户表(sys_user)

NameCodeCommentData TypeLength
主键idid int11
姓名name varchar50
账号account varchar50
密码password varchar100
类型type int11
用户类型iduser_type_id int11
是否删除is_del int11
创建时间create_time datetime0
创建角色create_user int11
修改时间update_time datetime0
修改用户update_user int11
是否启用is_enable int11
联系方式contact varchar11

表6:角色表(sys_role)

NameCodeCommentData TypeLength
主键idid int11
角色名role_name varchar100
是否删除is_del int11
创建用户create_user int11
创建时间create_time datetime0
修改的用户update_user int11
修改时间update_time datetime0
是否启用is_enable int11
角色编码role_code varchar50

表7:权限表(sys_auth)

NameCodeCommentData TypeLength
主键idid int11
权限名称auth_name varchar100
权限编码auth_code varchar100
删除状态(0,正常;1,删除)is_del int11
创建人create_user int11
创建时间create_time datetime0
更新人update_user int11
更新时间update_time datetime0
权限类型(0:按钮;1,菜单)type int11
菜单Urlmenu_url varchar255
父级idparent_id int11
菜单图标地址menu_icon varchar255
菜单顺序menu_order int11

表8:角色和权限表(role_auth)

NameCodeCommentData TypeLength
主键idid int10
角色idrole_id int11
权限idauth_id int11

表9:实时飞行变量表(multiradar_number)

NameCodeCommentData TypeLength
主键idid int11
轨迹编号TRACK_NUMBER varchar50
哪个地区的综合航迹AREA_SOURCE varchar100
发送时间utcSEND_RADAR_TIME varchar100
雷达种类RADAR_TYPE varchar100
航班号ACID varchar50
二次代码SSR_CODE varchar100
直角坐标xZHIJIAO_X varchar100
直角坐标YZHIJIAO_Y varchar100
小数形式的经度RADAR_LONGTITUDE varchar100
小数形式的纬度RADAR_LATITUDE varchar100
高度RADAR_HEIGHT varchar100
x分量速度SPEED_X varchar100
y分量速度SPEED_Y varchar100
速度RADAR_SPEED varchar100
航向DIRECTION varchar100
指令高度RADAR_CFL varchar100
飞行员报告高度FCU varchar100
时间戳TIME varchar100
飞行状态FLYSTATUS varchar100
爬升/下降速度CLIMBORDOWN_SPEED varchar100
扇区sectionvarchar100

表10:机场表(kg_airport)

NameCodeCommentData TypeLength
机场标识idID int11
机场四字码AIRPORT_CODE4 varchar4
机场三字码AIRPORT_CODE3 varchar10
机场中文全称AIRPORT_CNAME varchar50
机场英文全称AIRPORT_ENAME varchar50
机场坐标经度AIRPORT_LONGTITUDE varchar50
机场坐标纬度AIRPORT_LATITUDE varchar50
中文简称AIRPORT_SNAME varchar20
排序描述AIRPORT_DESCRIPTION varchar255
机场标高AIRPORT_HEIGHT varchar20
机场跑道磁项AIRPORT_RUNWAYCOURSE varchar20
机场跑道长度AIRPORT_RUNWAYLENGTH varchar20
机场跑道宽度AIRPORT_RUNWAYWIDTH varchar20

表11:航空公司表(kg_airlinecompany)

NameCodeCommentData TypeLength
主键idID int11
二字码AIRCOMPANY_CODE2 varchar4
三字码AIRCOMPANY_CODE3 varchar3
中文全称AIRCOMPANY_CNAME varchar50
中文简称AIRCOMPANY_SNAME varchar50
排序描述AIRCOMPANY_DESCRIPTION varchar50
英文名称AIRCOMPANY_ENAME varchar100

表12:航空雷达表(kg_aftn)

NameCodeCommentData TypeLength
主键idid int11
发送时间utcsend_time varchar255
地区资源area_source varchar255
计划资源plan_source varchar255
飞机idacid varchar255
起飞adep varchar255
降落ades varchar255
计划起飞的时间stod varchar255
计划落地的时间stoa varchar255
状态aftn_status varchar255
执行时间execute_date varchar255
编码ssr_code varchar255
飞行类型fly_type varchar255
飞机类型aircraft_type varchar255
尾速tail_flow varchar255
计划高度plan_height varchar255
计划速度plan_speed varchar255

表13:航空公司变量表(company_number)

NameCodeCommentData TypeLength
主键idid int11
飞机idacid varchar100
公司三字码company_code3 varchar100
公司名company_name varchar100
延误数delay_count int11

表14:扇形饱和度变量表(callsaturation_number)

NameCodeCommentData TypeLength
主键idid int11
消息发送时间SEND_TIME varchar100
数据区域AREA_SOURCE varchar100
计算时间THBH_TIME varchar100
计算的扇区THBH_SECT varchar100
计算后饱和度THBH_VALUE varchar100

表15:值班变量表(atcduty_number)

NameCodeCommentData TypeLength
主键idid int11
发送时间send_time varchar100
数据区域area_source varchar100
值班岗位atc_duty_position varchar100
值班人员atc_duty_person varchar100
值班人员管制扇区atc_duty_sector varchar100
数量count int11

表16:航空变量表(atc_number)

NameCodeCommentData TypeLength
主键idid int11
航班号ACID varchar100
航班时间ATC_TIME varchar100
执行日期EXECUTE_DATE varchar100
计划扇区名称PLAN_SECTOR_NAME varchar100

表17:机场变量表(airport_number)

NameCodeCommentData TypeLength
主键idid int11
飞行编码flightcode varchar20
机场名称cname varchar100
经常英文名ename varchar100
数量count int11

表18:机场经纬度表(airport_longlat)

NameCodeCommentData TypeLength
三字码code3 varchar255
城市city varchar255
纬度latitude varchar255
经度longitude varchar255
四字码code4 varchar255

表19:航线变量表(airline_number)

NameCodeCommentData TypeLength
主键idid int11
飞机idacid varchar50
起飞机场编码adepcode varchar50
目标机场编码adescode varchar50
 acids varchar500
机场名称adepname varchar100
机场名称adesname varchar100
机场经度adeplong varchar100
机场纬度adeplat varchar100
机场经度adeslong varchar100
机场纬度adeslat varchar100
数量count int11

2、将离线的实时飞行数据(data.tar.gz)导入到HBase中

  • HBase数据表说明:
1管制值班人员表
2ATFN报文数据
3综合航迹表
4计划数据
5相似航班号数据表
  • HBase数据字典:
kg_ATCDutyInfo    管制值班人员表   
NameCodeCommentData TypeLength
消息发送时间SEND_TIME string 
数据区域AREA_SOURCE string 
值班岗位名称ATC_DUTY_POSITION string 
值班人员ATC_DUTY_PERSON string 
值班人员管制扇区ATC_DUTY_SECTOR string 
Kg_AFTN  ATFN报文数据   
NameCodeCommentData TypeLength
发送者时间,UTC 时间SEND_TIME string 
数据区域AREA_SOURCE string 
消息类型PLAN_SOURCE string 
航班号ACID string 
起飞机场ADEP string 
目的机场ADES string 
计划起飞时间STOD string 
计划落地时间STOA string 
当前状态AFTN_STATUS string 
执行日期EXECUTE_DATE string 
二次代码SSR_CODE string 
飞行规则FLY_RULE string 
飞行类型FLY_TYPE string 
机型AIRCRAFT_TYPE string 
尾流TAILFLOW string 
注册号REGID string 
巡航高度(来源 FPL 报)PLAN_HEIGHT string 
巡航速度(来源 FPL 报)PLAN_SPEED string 
任务TASK string 
机载设备AFTN_EQUIPMENT string 
性能CAPABILITY string 
FPL 报预计起飞时间ETOT string 
FPL 报预计落地时间ELDT string 
实际起飞时间ATOT string 
实际落地时间ALDT string 
备降机场EVENING_PORT string 
入界点IBP string 
入界点时间IBP_TIME string 
出界点OBP string 
出界点时间OBP_TIME string 
飞行总时间FLY_TIME string 
Kg_MultiRadarData        综合航迹表   
NameCodeCommentData TypeLength
哪个地区的综合航迹AREA_SOURCE String 
发送时间(UTC 时间)SENDRADARTIME String 
雷达种类(综合航迹:MULTI,RADAR_TYPE String 
航班号ACID String 
航迹号TRACK_NUMBER Int 
二次代码SSR_CODE String 
直角坐标 X 分量(单位:km)ZHIJIAO_X double 
直角坐标 Y 分量(单位:km)ZHIJIAO_Y double 
小数形式的经度(单位:度)RADAR_LONGTITUDE double 
小数形式的纬度(单位:度RADAR_LATITUDE double 
高度RADAR_HEIGHT double 
X 分量速度SPEED_X double 
Y 分量速度SPEED_Y double 
速度RADAR_SPEED double 
航向DIRECTION double 
指令高度RADAR_CFL double 
飞行员报告高度FCU double 
时间戳TIME double 
飞行状态FLYSTATUS String 
爬升/下降速度CLIMBORDOWN_SPEED double 
Kg_PlanData    计划数据   
NameCodeCommentData TypeLength
消息发送时间,UTC 时间SEND_TIME string 
数据区域AREA_SOURCE string 
数据类型,来源于哪个系统PLAN_SOURCE string 
航班号ACID string 
起飞机场ADEP string 
落地机场ADES string 
计划起飞时间(次日计划时间)STOD string 
计划落地时间(次日计划时间)STOA string 
FPL 起飞时间ETOT string 
FPL 落地时间ELDT string 
机型AIRCRAFT_TYPE string 
注册号REGID string 
任务TASK string 
航班执行日期EXECUTE_DATE string 
Kg_WarnSimilarHistory相似航班号数据表   
NameCodeCommentData TypeLength
告警类型GJ_TYPE String 
告警的唯一标示编号GJ_ID String 
告警的类型GJ_MSG_TYPE String 
航迹号 1GJ_TRACK_NUM1 String 
航迹号 2GJ_TRACK_NUM2 String 
告警的扇区号GJ_SECTOR String 
告警航班之间的距离GJ_DISTINCT Double 
告警航班之间的夹角GJ_RADIAN Double 
告警的名称GJ_NAME String 
告警的距离参数GJ_DISTINCT_BZ String 
告警的城市GJ_CITY String 
告警发生的时间GJ_DATE String 
  • 其它表字段与mysql表字段相同

任务实现

【注意:当前任务的操作在node3节点上完成】

1、首先将data.tar.gz解压到自定义目录中

注意:由于数据文件的压缩包比较大,解压过程可能会持续3~5分钟,请耐心等待。

[root@node3 ~]# cd /opt/software/
[root@node3 software]# tar -xzf data.tar.gz -C /opt/

2、利用SQLyog或者其他数据库工具将保存在/opt/data目录中名为kongguan.sql的文件导入到MySQL数据库

  • 使用 【mysql -uroot -p】 登录到MySQL(输入密码登录123456)
  • 使用 show databases 命令,查看数据库列表

  • 创建数据库:
mysql> create database kongguan;
mysql> use kongguan;

  • 进入kongguan数据库,使用 source 命令执行kongguan.sql脚本导入数据(假设sql文件的位置:/opt/data/kongguan.sql)
mysql> use kongguan;
mysql> source /opt/data/kongguan.sql;

导入数据后,可使用 MySQL的show tables; 语句查看导入情况:

3、将HBase备份文件(空管数据及实时飞行数据)导入到集群的HBase数据库

  • 切换到node3节点,在控制台输入以下命令,在HDFS上创建如下目录
[root@node3 ~]# hadoop fs -mkdir /hbase/table/ 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_CallSaturation 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_ATC 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_PlanData 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_ATCDutyInfo 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_FlightState 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_WarnFlightHistory 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_AFTN 
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_WarnSimilarHistory
[root@node3 ~]# hadoop fs -mkdir /hbase/table/Kg_MultiRadarData

查看HDFS上目录的创建情况:

  • 把数据上传至hdfs

注意:由于数据量较大,上传数据的过程可能会持续3-5分钟的时间,请耐心等待。

[root@node3 ~]# hadoop fs -put /opt/data/Kg_CallSaturation /hbase/table/Kg_CallSaturation 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_ATC /hbase/table/Kg_ATC 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_PlanData /hbase/table/Kg_PlanData 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_ATCDutyInfo /hbase/table/Kg_ATCDutyInfo 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_FlightState /hbase/table/Kg_FlightState 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_WarnFlightHistory /hbase/table/Kg_WarnFlightHistory 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_AFTN /hbase/table/Kg_AFTN 
[root@node3 ~]# hadoop fs -put /opt/data/Kg_WarnSimilarHistory /hbase/table/Kg_WarnSimilarHistory
[root@node3 ~]# hadoop fs -put /opt/data/Kg_MultiRadarData /hbase/table/Kg_MultiRadarData
  • 进入HBase客户端运行【hbase shell】进入
[root@node3 software]# hbase shell
  • 创建HBase表
create 'Kg_CallSaturation','SaturationHome' 
create 'Kg_ATC','ATCHome' 
create 'Kg_PlanData','ReportHome' 
create 'Kg_ATCDutyInfo','ATCDutyHome' 
create 'Kg_FlightState','StateHome' 
create 'Kg_WarnFlightHistory','WarnFlightHome' 
create 'Kg_AFTN','AFTNHome' 
create 'Kg_WarnSimilarHistory','WarnSimilarHome'
create 'Kg_MultiRadarData','RadarHome'

  • 查看创建情况

  • 退出HBase客户端

  • 然后执行导入操作

注意:由于此过程要执行多个MapReduce操作,可能需要5-10分钟左右的时间,请耐心等待。

[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_CallSaturation /hbase/table/Kg_CallSaturation/Kg_CallSaturation
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_ATC /hbase/table/Kg_ATC/Kg_ATC
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_PlanData /hbase/table/Kg_PlanData/Kg_PlanData 
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_ATCDutyInfo /hbase/table/Kg_ATCDutyInfo/Kg_ATCDutyInfo
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_FlightState /hbase/table/Kg_FlightState/Kg_FlightState
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_WarnFlightHistory /hbase/table/Kg_WarnFlightHistory/Kg_WarnFlightHistory
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_AFTN /hbase/table/Kg_AFTN/Kg_AFTN 
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_WarnSimilarHistory /hbase/table/Kg_WarnSimilarHistory/Kg_WarnSimilarHistory
[root@node3 software]# hbase org.apache.hadoop.hbase.mapreduce.Import Kg_MultiRadarData /hbase/table/Kg_MultiRadarData/Kg_MultiRadarData

例如:

  • 查看数据导入情况

4、实时飞行数据说明

  • 解压data.tar.gz后的文件导入到集群的HBase数据库,所以直接读取HBase即可,但是由于真实的数据里实时飞行数据的时间间隔过短,在地图上不能感觉到飞机的实时运动状态,所以在项目中使用的实时飞行数据是从HBase中取出的真实飞行数据经过一定的处理后将时间间隔变大的数据,这样做可以在地图上明显感觉到飞机的运动状态。
  • 当前项目提供了已经处理好的实时飞行数据,即:part-00000 ~ part-00011。使用时需要根据当前位置修改后台读取的位置即可,如下图:

part-000xx文件的内容格式如下:

这些文件可以放到本地,也可以放到HDFS上,例如:如果要在【client节点机器上】上读取“实时飞行数据”,可以使用【scp】命令将该数据从node3节点复制到client节点上。

 [root@node3 ~]# scp -rq /opt/data client:/opt/

在后面阶段任务,读取时要根据自己的实际存放位置修改代码中的读取路径:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1905720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么牌子的头戴式蓝牙耳机好性价比高?

说起性价比高的头戴式蓝牙耳机,就不得不提倍思H1s,作为倍思最新推出的新款,在各项功能上都实现了不错的升级,二字开头的价格,配置却毫不含糊, 倍思H1s的音质表现堪称一流。它采用了40mm天然生物纤维振膜,这种振膜柔韧而有弹性,能够显著提升低音的量感。无论是深沉的低音还是清…

C语言 | Leetcode C语言题解之第221题最大正方形

题目&#xff1a; 题解&#xff1a; int maximalSquare(char** matrix, int matrixSize, int* matrixColSize){int dp[301][301]{0};int wid0;if(matrixSize0&&matrixColSize[0]0){return 0;}for(int i0;i<matrixSize;i){for(int j0;j<matrixColSize[0];j){if(m…

linux docker部署(离线.deb)非桌面版

目录 一.查看本机系统 二.下载deb包 三.安装 一.查看本机系统 uname -m二.下载deb包 下载官网&#xff1a;Index of linux/ubuntu/dists/focal/pool/stable/amd64/ (docker.com) 目录说明&#xff1a; 我是ubuntu20.04&#xff0c;选择focal&#xff1a; edge/&#xff…

R语言实战—圆形树状图

话不多说&#xff0c;先看最终效果&#xff1a; 圆形树状图是树状图的一个变型&#xff0c;其实都是层次聚类。 接下来看代码步骤&#xff1a; 首先要先安装两个包&#xff1a; install.packages("ggtree") install.packages("readxl") 咱就别问问什么…

群体优化算法----化学反应优化算法介绍,解决蛋白质-配体对接问题示例

介绍 化学反应优化算法&#xff08;Chemical Reaction Optimization, CRO&#xff09;是一种新兴的基于自然现象的元启发式算法&#xff0c;受化学反应过程中分子碰撞和反应机制的启发而设计。CRO算法模拟了分子在化学反应过程中通过能量转换和分子间相互作用来寻找稳定结构的…

C++ unique_ptr智能指针学习

unique_ptr是一种定义在<memory>中的智能指针(smart pointer)。它持有对对象的独有权——两个unique_ptr不能指向一个对象&#xff0c;不能进行复制操作只能进行移动操作。 如下图&#xff0c;定义p1为unique_ptr类型指针&#xff0c;如果把p1赋给p2&#xff0c;则编译出…

【题解】—— LeetCode一周小结27

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结26 2024.7 1.最大化一张图中的路径价值 题目链接&#xff1a;…

墨烯的C语言技术栈-C语言基础-008

八.转义字符(转变原来字符的意思) 假如我们要在屏幕上打印一个目录:C:\code\test.c 我们应该如何写代码 int main() { printf("abc\n") // \让n转变 换行作用 return 0; } imt main() { printf("abc\0def") // \0后就是结束了后面打不印了 return 0; }…

C语言指针,的声明、取地址、*解引用、设置值、偏移、自增 的问题举例

C语言指针,的声明、&取地址、※解引用、设置值、偏移、自增 的问题举例代码&#xff1a;int※a,d[]{1,2,4,8};char*f,e[]“Hellow…”;a&b; P1※a; ※a4; P1※(a);f&e[7]; &#xff08;备注&#xff1a;※代表*&#xff0c;转义问题&#xff0c;没显示&#xff09…

Spring Cloud: Nacos配置中心与注册中心的使用

一、配置中心(配置管理) 配置中心是一种集中化管理配置的服务。它的主要作用包括集中管理配置信息&#xff0c;将不同服务的配置信息集中存储和管理&#xff1b;支持动态更新配置&#xff0c;通过操作界面或 API 无需重启服务即可应用最新配置信息&#xff1b;实现配置信息共享…

通过AIS实现船舶追踪与照射

前些天突然接到个紧急的项目&#xff1a;某处需要实现对夜航船只进行追踪并用激光灯照射以保障夜航安全。这个项目紧急到什么程度呢&#xff1f;&#xff01;现场激光灯都安装好了&#xff0c;还有三个星期就要验收了&#xff0c;但上家没搞定就甩给我们了:( 从技术上看&#…

【Python】已解决:xml.parsers.expat.ExpatError: no element found: Line 1, column 0

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决&#xff1a;xml.parsers.expat.ExpatError: no element found: Line 1, column 0 一、分析问题背景 在使用Python的xml.parsers.expat模块解析XML文件时&#xff0c;有时会…

咬文嚼字:词元是当今生成式人工智能失败的一个重要原因

生成式人工智能模型处理文本的方式与人类不同。了解它们基于"标记"的内部环境可能有助于解释它们的一些奇怪行为和顽固的局限性。从 Gemma 这样的小型设备上模型到 OpenAI 业界领先的 GPT-4o 模型&#xff0c;大多数模型都建立在一种称为转换器的架构上。由于转换器在…

Java中读写文件内容乱码/BufferedReader读文件内容乱码/OutputStreamWriter设置编码集

1、问题概述&#xff1f; 在项目中我们经常会将例如日志信息放入到txt(任意后缀)文档中&#xff0c;然后在项目中通过弹框等形式查看直接的查看这些文档中的信息&#xff0c;然后有时候会出现乱码的情况。 这个时候我们就需要设置写入和写出时候的编码集情况。 2、解决方案 …

【PB案例学习笔记】-29制作一个调用帮助文档的小功能

写在前面 这是PB案例学习笔记系列文章的第29篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

Windows使用nxlog发送系统日志到Linux的rsyslog服务器

Windows使用nxlog发送系统日志到Linux的rsyslog服务器 前言一、IP地址规划及示意图二、在windows上安装及配置nxlog1.下载nxlog2.安装nxlog3.配置nxlog4.创建对应日志路径的文件夹 三、windows上启动nxlog服务四、在CentOS 7上配置日志存到指定位置文件1.编辑/etc/rsyslog.conf…

Python | Leetcode Python题解之第222题完全二叉树的节点个数

题目&#xff1a; 题解&#xff1a; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def countNodes(self,…

[C++][ProtoBuf][初识ProtoBuf]详细讲解

目录 1.序列化概念2.ProtoBuf是什么&#xff1f;3.ProtoBuf使用特点4.补充1.GOOGLE_PROTOBUF_VERIFY_VERSION 宏2.ShutdownProtobufLibrary()3.--decode 5.序列化能力对比验证6.总结 1.序列化概念 序列化&#xff1a;把对象转换为字节序列的过程&#xff0c;称为对象的序列化反…

Java中获取Class对象的三种方式

Java中获取Class对象的三种方式 1、对象调用getClass()方法2、类名.class的方式3、通过Class.forName()静态方法4、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;Class对象是一个非常重要的概念&#xff0c;它代…