阿里又在搞事,推出跨库高效数据同步神器,操作简单又牛X!|环球信息
程序猿阿嘴 2023-02-03 10:28:34

有个项目的数据量高达五千万,但是因为报表那块数据不太准确,业务库和报表库又是跨库操作,所以并不能使用 SQL 来进行同步。当时的打算是通过 mysqldump 或者存储的方式来进行同步,但是尝试后发现这些方案都不切实际:


(资料图)

mysqldump :不仅备份需要时间,同步也需要时间,而且在备份的过程,可能还会有数据产出(也就是说同步等于没同步)

存储方式:这个效率太慢了,要是数据量少还好,我们使用这个方式的时候,三个小时才同步两千条数据…

常见数据异构的几款中间件的区别如下:

今天介绍一款不错的中间件: DataX

DataX 简介

DataX 是阿里云 DataWorks 数据集成 的开源版本, 主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源(即不同的数据库) 间稳定高效的数据同步功能。

为了 解决异构数据源同步问题,DataX 将复杂的网状同步链路变成了星型数据链路 ,DataX 作为中间传输载体负责连接各种数据源;

当需要接入一个新的数据源时,只需要将此数据源对接到 DataX,便能跟已有的数据源作为无缝数据同步。

DataX3.0 框架设计

DataX 采用 Framework + Plugin 架构,将数据源读取和写入抽象称为 Reader/Writer 插件,纳入到整个同步框架中。

角色作用 Reader(采集模块)负责采集数据源的数据,将数据发送给Framework。 Writer(写入模块)负责不断向Framework中取数据,并将数据写入到目的端。 Framework(中间商)负责连接Reader和Writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

DataX3.0 核心架构

DataX 完成单个数据同步的作业,我们称为 Job,DataX 接收到一个 Job 后,将启动一个进程来完成整个作业同步过程。关DataX Job 模块是单个作业的中枢管理节点,承担了数据清理、子任务切分、TaskGroup 管理等功能。

DataX Job 启动后,会根据不同源端的切分策略,将 Job 切分成多个小的 Task (子任务),以便于并发执行。 接着 DataX Job 会调用 Scheduler 模块,根据配置的并发数量,将拆分成的 Task 重新组合,组装成 TaskGroup(任务组) 每一个 Task 都由 TaskGroup 负责启动,Task 启动后,会固定启动 Reader -->Channel -->Writer 线程来完成任务同步工作。 DataX 作业运行启动后,Job 会对 TaskGroup 进行监控操作,等待所有 TaskGroup 完成后,Job 便会成功退出(异常退出时 值非 0

DataX 调度过程:

首先 DataX Job 模块会根据分库分表切分成若干个 Task,然后根据用户配置并发数,来计算需要分配多少个 TaskGroup; 计算过程: Task / Channel = TaskGroup ,最后由 TaskGroup 根据分配好的并发数来运行 Task(任务)

使用 DataX 实现数据同步

准备工作:

JDK(1.8 以上,推荐 1.8) Python(2,3 版本都可以) Apache Maven 3.x(Compile DataX)(手动打包使用,使用 tar 包方式不需要安装)

主机名操作系统IP 地址软件包 MySQL-1CentOS 7.4192.168.1.1jdk-8u181-linux-x64.tar.gzdatax.tar.gz MySQL-2CentOS 7.4192.168.1.2

安装 JDK:

下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html(需要创建 Oracle 账号)

[root@MySQL-1 ~]# lsanaconda-ks.cfg  jdk-8u181-linux-x64.tar.gz[root@MySQL-1 ~]# tar zxf jdk-8u181-linux-x64.tar.gz [root@DataX ~]# lsanaconda-ks.cfg  jdk1.8.0_181  jdk-8u181-linux-x64.tar.gz[root@MySQL-1 ~]# mv jdk1.8.0_181 /usr/local/java[root@MySQL-1 ~]# cat <>/etc/profileexport JAVA_HOME=/usr/local/javaexport PATH=$PATH:\"$JAVA_HOME/bin\"END[root@MySQL-1 ~]# source /etc/profile[root@MySQL-1 ~]# java -version
因为 CentOS 7 上自带 Python 2.7 的软件包,所以不需要进行安装。

Linux 上安装 DataX 软件

[root@MySQL-1 ~]# wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz[root@MySQL-1 ~]# tar zxf datax.tar.gz -C /usr/local/[root@MySQL-1 ~]# rm -rf /usr/local/datax/plugin/*/._*      # 需要删除隐藏文件 (重要)
当未删除时,可能会输出: [/usr/local/datax/plugin/reader/._drdsreader/plugin.json] 不存在. 请检查您的配置文件.

验证:

[root@MySQL-1 ~]# cd /usr/local/datax/bin[root@MySQL-1 ~]# python datax.py ../job/job.json       # 用来验证是否安装成功

输出:

2021-12-13 19:26:28.828 [job-0] INFO  JobContainer - PerfTrace not enable!2021-12-13 19:26:28.829 [job-0] INFO  StandAloneJobContainerCommunicator - Total 100000 records, 2600000 bytes | Speed 253.91KB/s, 10000 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.060s |  All Task WaitReaderTime 0.068s | Percentage 100.00%2021-12-13 19:26:28.829 [job-0] INFO  JobContainer - 任务启动时刻                    : 2021-12-13 19:26:18任务结束时刻                    : 2021-12-13 19:26:28任务总计耗时                    :                 10s任务平均流量                    :          253.91KB/s记录写入速度                    :          10000rec/s读出记录总数                    :              100000读写失败总数                    :                   0

DataX 基本使用

查看 streamreader \-->streamwriter 的模板:

[root@MySQL-1 ~]# python /usr/local/datax/bin/datax.py -r streamreader -w streamwriter

输出:

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.Please refer to the streamreader document:     https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md Please refer to the streamwriter document:     https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md  Please save the following configuration as a json file and  use     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json to run the job.{    \"job\": {        \"content\": [            {                \"reader\": {                    \"name\": \"streamreader\",                     \"parameter\": {                        \"column\": [],                         \"sliceRecordCount\": \"\"                    }                },                 \"writer\": {                    \"name\": \"streamwriter\",                     \"parameter\": {                        \"encoding\": \"\",                         \"print\": true                    }                }            }        ],         \"setting\": {            \"speed\": {                \"channel\": \"\"            }        }    }}

根据模板编写 json 文件

[root@MySQL-1 ~]# cat <test.json{    \"job\": {        \"content\": [            {                \"reader\": {                    \"name\": \"streamreader\",                     \"parameter\": {                        \"column\": [        # 同步的列名 (* 表示所有)       {           \"type\":\"string\",    \"value\":\"Hello.\"       },       {           \"type\":\"string\",    \"value\":\"河北彭于晏\"       },   ],                         \"sliceRecordCount\": \"3\"     # 打印数量                    }                },                 \"writer\": {                    \"name\": \"streamwriter\",                     \"parameter\": {                        \"encoding\": \"utf-8\",     # 编码                        \"print\": true                    }                }            }        ],         \"setting\": {            \"speed\": {                \"channel\": \"2\"         # 并发 (即 sliceRecordCount * channel = 结果)            }        }    }}

输出:(要是复制我上面的话,需要把 # 带的内容去掉)

安装 MySQL 数据库

分别在两台主机上安装:

[root@MySQL-1 ~]# yum -y install mariadb mariadb-server mariadb-libs mariadb-devel   [root@MySQL-1 ~]# systemctl start mariadb            # 安装 MariaDB 数据库[root@MySQL-1 ~]# mysql_secure_installation            # 初始化 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!Enter current password for root (enter for none):       # 直接回车OK, successfully used password, moving on...Set root password? [Y/n] y                            # 配置 root 密码New password: Re-enter new password: Password updated successfully!Reloading privilege tables.. ... Success!Remove anonymous users? [Y/n] y                     # 移除匿名用户 ... skipping.Disallow root login remotely? [Y/n] n                # 允许 root 远程登录 ... skipping.Remove test database and access to it? [Y/n] y         # 移除测试数据库 ... skipping.Reload privilege tables now? [Y/n] y                    # 重新加载表 ... Success!

1)准备同步数据(要同步的两台主机都要有这个表)

MariaDB [(none)]>create database `course-study`;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]>create table `course-study`.t_member(ID int,Name varchar(20),Email varchar(30));Query OK, 0 rows affected (0.00 sec)

因为是使用 DataX 程序进行同步的,所以需要在双方的数据库上开放权限:

grant all privileges on *.* to root@"%" identified by "123123";flush privileges;

2)创建存储过程:

DELIMITER $CREATE PROCEDURE test()BEGINdeclare A int default 1;while (A < 3000000)doinsert into `course-study`.t_member values(A,concat(\"LiSa\",A),concat(\"LiSa\",A,\"@163.com\"));set A = A + 1;END while;END $DELIMITER ;

图片

3)调用存储过程(在数据源配置,验证同步使用):

call test();

通过 DataX 实 MySQL 数据同步

1)生成 MySQL 到 MySQL 同步的模板:

[root@MySQL-1 ~]# python /usr/local/datax/bin/datax.py -r mysqlreader -w mysqlwriter{    \"job\": {        \"content\": [            {                \"reader\": {                    \"name\": \"mysqlreader\",       # 读取端                    \"parameter\": {                        \"column\": [],         # 需要同步的列 (* 表示所有的列)                        \"connection\": [                            {                                \"jdbcUrl\": [],       # 连接信息                                \"table\": []       # 连接表                            }                        ],                         \"password\": \"\",        # 连接用户                        \"username\": \"\",        # 连接密码                        \"where\": \"\"         # 描述筛选条件                    }                },                 \"writer\": {                    \"name\": \"mysqlwriter\",       # 写入端                    \"parameter\": {                        \"column\": [],         # 需要同步的列                        \"connection\": [                            {                                \"jdbcUrl\": \"\",       # 连接信息                                \"table\": []       # 连接表                            }                        ],                         \"password\": \"\",        # 连接密码                        \"preSql\": [],         # 同步前. 要做的事                        \"session\": [],                         \"username\": \"\",        # 连接用户                         \"writeMode\": \"\"        # 操作类型                    }                }            }        ],         \"setting\": {            \"speed\": {                \"channel\": \"\"          # 指定并发数            }        }    }}

2)编写 json 文件:

[root@MySQL-1 ~]# vim install.json{    \"job\": {        \"content\": [            {                \"reader\": {                    \"name\": \"mysqlreader\",                     \"parameter\": {                        \"username\": \"root\",                        \"password\": \"123123\",                        \"column\": [\"*\"],                        \"splitPk\": \"ID\",                        \"connection\": [                            {                                \"jdbcUrl\": [                                    \"jdbc:mysql://192.168.1.1:3306/course-study?useUnicode=true&characterEncoding=utf8\"                                ],                                 \"table\": [\"t_member\"]                            }                        ]                    }                },                 \"writer\": {                    \"name\": \"mysqlwriter\",                     \"parameter\": {                        \"column\": [\"*\"],                         \"connection\": [                            {                                \"jdbcUrl\": \"jdbc:mysql://192.168.1.2:3306/course-study?useUnicode=true&characterEncoding=utf8\",                                \"table\": [\"t_member\"]                            }                        ],                         \"password\": \"123123\",                        \"preSql\": [                            \"truncate t_member\"                        ],                         \"session\": [                            \"set session sql_mode="ANSI"\"                        ],                         \"username\": \"root\",                         \"writeMode\": \"insert\"                    }                }            }        ],         \"setting\": {            \"speed\": {                \"channel\": \"5\"            }        }    }}

3)验证

[root@MySQL-1 ~]# python /usr/local/datax/bin/datax.py install.json

输出:

2021-12-15 16:45:15.120 [job-0] INFO  JobContainer - PerfTrace not enable!2021-12-15 16:45:15.120 [job-0] INFO  StandAloneJobContainerCommunicator - Total 2999999 records, 107666651 bytes | Speed 2.57MB/s, 74999 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 82.173s |  All Task WaitReaderTime 75.722s | Percentage 100.00%2021-12-15 16:45:15.124 [job-0] INFO  JobContainer - 任务启动时刻                    : 2021-12-15 16:44:32任务结束时刻                    : 2021-12-15 16:45:15任务总计耗时                    :                 42s任务平均流量                    :            2.57MB/s记录写入速度                    :          74999rec/s读出记录总数                    :             2999999读写失败总数                    :                   0

你们可以在目的数据库进行查看,是否同步完成。

上面的方式相当于是完全同步,但是当数据量较大时,同步的时候被中断,是件很痛苦的事情; 所以在有些情况下,增量同步还是蛮重要的。

使用 DataX 进行增量同步

使用 DataX 进行全量同步和增量同步的唯一区别就是: 增量同步需要使用 where 进行条件筛选。 (即,同步筛选后的 SQL)

1)编写 json 文件:

[root@MySQL-1 ~]# vim where.json{    \"job\": {        \"content\": [            {                \"reader\": {                    \"name\": \"mysqlreader\",                     \"parameter\": {                        \"username\": \"root\",                        \"password\": \"123123\",                        \"column\": [\"*\"],                        \"splitPk\": \"ID\",                        \"where\": \"ID <= 1888\",                        \"connection\": [                            {                                \"jdbcUrl\": [                                    \"jdbc:mysql://192.168.1.1:3306/course-study?useUnicode=true&characterEncoding=utf8\"                                ],                                 \"table\": [\"t_member\"]                            }                        ]                    }                },                 \"writer\": {                    \"name\": \"mysqlwriter\",                     \"parameter\": {                        \"column\": [\"*\"],                         \"connection\": [                            {                                \"jdbcUrl\": \"jdbc:mysql://192.168.1.2:3306/course-study?useUnicode=true&characterEncoding=utf8\",                                \"table\": [\"t_member\"]                            }                        ],                         \"password\": \"123123\",                        \"preSql\": [                            \"truncate t_member\"                        ],                         \"session\": [                            \"set session sql_mode="ANSI"\"                        ],                         \"username\": \"root\",                         \"writeMode\": \"insert\"                    }                }            }        ],         \"setting\": {            \"speed\": {                \"channel\": \"5\"            }        }    }}
需要注意的部分就是: where (条件筛选) 和 preSql (同步前,要做的事) 参数。

2)验证:

[root@MySQL-1 ~]# python /usr/local/data/bin/data.py where.json

输出:

2021-12-16 17:34:38.534 [job-0] INFO  JobContainer - PerfTrace not enable!2021-12-16 17:34:38.534 [job-0] INFO  StandAloneJobContainerCommunicator - Total 1888 records, 49543 bytes | Speed 1.61KB/s, 62 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.002s |  All Task WaitReaderTime 100.570s | Percentage 100.00%2021-12-16 17:34:38.537 [job-0] INFO  JobContainer - 任务启动时刻                    : 2021-12-16 17:34:06任务结束时刻                    : 2021-12-16 17:34:38任务总计耗时                    :                 32s任务平均流量                    :            1.61KB/s记录写入速度                    :             62rec/s读出记录总数                    :                1888读写失败总数                    :                   0

目标数据库上查看:

3)基于上面数据,再次进行增量同步:

主要是 where 配置:\"where\": \"ID >1888 AND ID <= 2888\"      # 通过条件筛选来进行增量同步同时需要将我上面的 preSql 删除(因为我上面做的操作时 truncate 表)

来源:一行java(id:mbb2048)

阿里又在搞事,推出跨库高效数据同步神器,操作简单又牛X!|环球信息

2023-02-03 10:28:34

东陵玉|当前简讯

2023-02-03 08:52:33

热点在线丨厦门理工学院教务系统官网入口_厦门理工学院教务系统

2023-02-03 06:00:53

bv阳性是什么妇科疾病_bv阳性是什么意思-独家焦点

2023-02-03 02:10:24

环球微动态丨头发进入休止期 需注意饮食和休息

2023-02-02 23:01:22

河源世客会_关于河源世客会的基本详情介绍|天天播资讯

2023-02-02 20:07:13

【时快讯】photoshop9 0

2023-02-02 18:10:15

0113买家秀

2023-02-02 16:17:51

福州五城区28个销售点将在节后有序撤点 烟花爆竹降价迎元宵

2023-02-02 14:07:30

新筑股份:公司将在2023年3月30日披露2022年度报告 全球热门

2023-02-02 11:34:45

港股异动 | 纷美包装(00468)跌17% 公司指部分客户对新巨丰(301296.SZ)收购产生疑虑

2023-02-02 09:56:41

多地公布2023民生清单 这些事被重点关注! 焦点观察

2023-02-02 07:35:07

环球关注:在无处可去的地方只用手机写博客第一天

2023-02-02 03:12:27

科技快讯:官宣:腾讯红魔游戏手机6将于3月4日发布 环球新消息

2023-02-01 22:10:45

雅马哈NVX155要来了,NMAX同平台纯进口的弯梁你买吗?

2023-02-01 19:21:00

视焦点讯!男朋友脾气很不好应该分手吗_男朋友脾气很不好怎么办

2023-02-01 17:05:24

当前焦点!山西运城:开足马力抓生产 保障春耕物资

2023-02-01 15:28:08

全球速递!Gartner预估 2023 年全球 PC出货量下滑7%

2023-02-01 13:02:11

博汇股份2月1日盘中涨幅达5%

2023-02-01 10:19:11

活动预告丨元宵佳节,来淮南1952街区猜灯谜、看舞龙舞狮民俗展演,赏传统推剧· 天天快播

2023-02-01 08:05:25

今日热议:2523网址导航_2456网址导航

2023-02-01 01:20:19

开年上海机场客流高峰重现,1月出港航班已恢复至2019年同期七成水平

2023-01-31 20:34:03

吕梁市天气预报

2023-01-31 17:39:37

acca各科都是机考吗?考试是怎么安排的?-视焦点讯

2023-01-31 14:51:41

湖南存款同比增长11.5% 五年来首次实现两位数增长 最新资讯

2023-01-31 11:40:33

铁流股份:商用车产销量大幅下滑导制营收大幅下降 世界要闻

2023-01-31 09:54:41

室内降温的最好方法_室内降温的最好方法-天天最新

2023-01-31 04:53:08

全球热文:小学生连夜补寒假作业,家长拍下视频发到网上火了,被班主任看到

2023-01-30 20:38:11

我是怎样一步一步被骗的? 当前短讯

2023-01-30 17:34:05

兴亿国际影城祝大家新春快乐,兔年大发!!!

2023-01-30 15:07:38

1车5人,全部救回!

2023-01-30 11:44:49

雅虎记者:猛龙球员小特伦特是湖人在截止日前关注的球员之一|当前滚动

2023-01-30 09:45:39

小米电视怎么投屏图片教程_小米电视怎么投屏|环球精选

2023-01-30 04:00:01

浙江椒江:跨省专车接返节后第一批员工复工 环球聚看点

2023-01-29 19:48:16

乐事薯片推出迷你洗手指机配备Type-C接口可以反复充电 限量5台只送不卖

2022-08-15 15:52:04

充错话费被充到了别人手机上 该“维权”怎么办?

2022-07-07 11:43:53

Redmi Note 11T系列将采用LCD旗舰直屏 重振LCD荣光

2022-05-20 16:21:48

工信部:支持制造业优质企业成长壮大 加快推进电子证照

2022-03-19 13:35:15

中国电信2021年实现净利润259.5亿元

2022-03-19 13:31:00

荣耀赵明:未来几年都不会进入汽车领域

2022-03-19 13:30:00

IDC:2021年中国IT安全硬件市场规模达到37.7亿美元

2022-03-19 13:23:30

字节跳动全资入股长顺新声科技 涉及企业管理咨询

2022-03-19 13:22:34

阅读过大年 商务印书馆发布1月十大好书

2022-01-11 09:57:40

如何推动普通高中高质量发展?教育部详解

2022-01-11 09:57:40

教育部印发《普通高中学校办学质量评价指南》 含18项关键指标

2022-01-11 09:57:38

交通银行试点长三角区域抵押登记“跨省通办”

2022-01-11 09:57:38

2022年“文化进万家——视频直播家乡年”活动正式启动

2022-01-11 09:57:37

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

国家发改委:春节和北京冬奥会期间重要民生商品价格将保持平稳运行

2022-01-11 09:57:33

2022-01-29 14:26:59

国家发改委:西安重点生活物资配送“最后一米”问题正加快解决

2022-01-11 09:57:31

人民热评:刘鑫被依法惩处,正义没有缺席!

2022-01-11 09:57:31

专访:RCEP将有力促进区域经济疫后复苏——访泰国商业部贸易谈判司司长奥拉蒙

2022-01-11 09:57:29

综述:英国累计新冠死亡病例超15万例 未来面临“艰难几周”

2022-01-11 09:57:29

如何实现工业废水高效循环利用?专家:聚焦重点分类施策

2022-01-11 09:57:28

2022-01-29 14:26:59

2022-01-29 14:26:59

2022-01-29 14:26:59

2022-01-29 14:26:46

杨国豪当选福建省厦门市人大常委会主任 黄文辉当选福建省厦门市市长

2022-01-11 09:57:25

2022-01-29 14:26:46

交通运输部:支持浙江建设共同富裕示范区 探索加快建设交通强国省域范例

2022-01-11 09:57:24

2021年我国民航完成固定资产投资1150亿元 超额完成年度投资目标

2022-01-11 09:57:23

比利时多位人士表达对北京冬奥会的支持

2022-01-11 09:57:23

2021年我国民航行业出台一揽子促发展措施 全年降成本近100亿元

2022-01-11 09:57:21

于学利当选辽宁省沈阳市政协主席

2022-01-11 09:57:21

2022-01-29 14:26:46

2021年我国民航运输航空实现持续安全飞行9876万小时

2022-01-11 09:57:20

推动创新创业向纵深发展 国家发改委打算这样干

2022-01-11 09:57:19

2022-01-29 14:26:32

西安群众如何就医?记者带你去看看

2022-01-11 09:57:17

民航局对国航、厦航、南航等八个入境航班发出熔断指令

2022-01-11 09:57:17

天津:划定封控区 全市开展全员核酸检测

2022-01-11 09:57:16

积极落实防控措施 多地全力抗击疫情

2022-01-11 09:57:16

工信部:鼓励新能源与智能网联汽车等领域建设产品质量大数据公共服务平台

2022-01-11 09:57:14

2022-01-29 14:26:32

工信部:针对年轻及国外消费群体发展低度化白酒产品

2022-01-11 09:57:13

民航局:2022年力争完成旅客运输量5.7亿人次 实现行业整体扭亏增盈

2022-01-11 09:57:13

北航举行2021-2022学年研究生毕业典礼暨学位授予仪式

2022-01-11 09:57:12

斯里兰卡总统戈塔巴雅会见王毅

2022-01-11 09:57:12

文旅部公示首批国家级旅游休闲街区名单

2022-01-11 09:57:11

2022年国家公务员考试 明起可申请调剂

2022-01-11 09:57:11

2021年“扫黄打非”十大数据公布

2022-01-11 09:57:08

2021年“扫黄打非”十大案件公布

2022-01-11 09:57:08

2021年“扫黄打非”工作综述:举旗亮剑 激浊扬清

2022-01-11 09:57:06

交通运输部:将引导19.61亿元社会资金投入交通运输科技研发

2022-01-11 09:57:06

浦银理财有限责任公司获批开业

2022-01-11 09:57:05

家庭服务需求迎旺季 58到家推出“不打烊”春节保姆服务

2022-01-11 09:57:05

北京倡导市民群众在京过年非必要不出京

2022-01-11 09:57:04

2022-01-29 14:25:55

英雄联盟手游城市赛总决赛落幕

2022-01-11 09:57:00

巨型雪人亮相哈尔滨松花江畔

2022-01-11 09:57:00

深圳:疫情阻击进行时

2022-01-11 09:56:58

2022-01-29 14:25:55

2022年国家公务员考试笔试成绩和合格分数线公布

2022-01-11 09:56:56

21部门:推动形成“15分钟”养老服务圈

2022-01-11 09:56:56

增强供应链合作 电子烟产业布局海外

2022-01-11 09:56:55

2022-01-29 14:25:55

一所群育学校的爱与希望

2022-01-11 09:56:53

彭京堂少将任驻香港部队司令员

2022-01-11 09:56:53

人民网评:金色的盾牌,无悔的坚守

2022-01-11 09:56:51

数字政通:步入无人驾驶新赛道 与主线科技签署战略合作协议

2022-01-11 09:56:49

珠海高新区新政揽才 最高600万元住房补

2022-01-11 09:56:49

台胞在西安:“抗击疫情需要我们每一个人的力量”

2022-01-11 09:56:47

在京台生体验冰雪乐趣

2022-01-11 09:56:47

澳门未来发展有了新的时间表

2022-01-11 09:56:45

最高检:法治副校长应指导学校落实未成年人保护责任

2022-01-11 09:56:45

检察官担任法治副校长有了“指挥棒”

2022-01-11 09:56:44

全国首份《家庭教育令》来了!督促家长“依法带娃”

2022-01-11 09:56:44

俄军装甲车辆将具备隐身能力

2022-01-11 09:56:42

俄美双边对话 欧盟处境尴尬

2022-01-11 09:56:42

国资委:决战决胜国企改革三年行动 更好发挥国有经济战略支撑作用

2022-01-11 09:56:40

美海岸警卫队盯上濒海战斗舰

2022-01-11 09:56:40

证监会发布标准:统一金融行业对移动互联网应用程序的安全要求

2022-01-11 09:56:38

日本声称以电磁炮加强防御

2022-01-11 09:56:38

2022-01-29 14:25:17

江苏南京:上万块显示屏支撑征兵宣传

2022-01-11 09:56:36

2022-01-29 14:24:59

广东省汕头市组织军地海上联合搜救演练

2022-01-11 09:56:35

2022-01-29 14:24:59

山东省枣庄军分区组织两级首长机关野营拉练

2022-01-11 09:56:33

2022-01-29 14:24:59

83年后,“故乡土”撒在烈士墓前

2022-01-11 09:56:32

岛与岸的守望:你的岛,我的岸

2022-01-11 09:56:30

2022-01-29 14:24:59

愿你们也平平安安!这支MV献给人民警察

2022-01-11 09:56:29

集安组织将就哈局势举行视频峰会

2022-01-11 09:56:29

美俄新一轮战略稳定对话前景不容乐观

2022-01-11 09:56:27

我第12批赴南苏丹(瓦乌)维和医疗分队开展紧急救援演练

2022-01-11 09:56:27

第二轮第五批中央生态环境保护督察全面完成督察进驻工作 已受理有效举报9656件

2022-01-11 09:56:25

空军某旅组织实弹打靶训练

2022-01-11 09:56:25

江秋莲诉刘暖曦生命权纠纷案一审宣判

2022-01-11 09:56:22

2022-01-29 14:24:44

新疆军区某团侦察连官兵边关巡逻

2022-01-11 09:56:19

第78集团军某旅实战化演练设强对手设难情况

2022-01-11 09:56:19

军队医疗待遇保障新规定如期落地有序施行

2022-01-11 09:56:17

2022-01-29 14:24:44

2022-01-29 14:24:07

荣盛发展:2021年签约金额1345.58亿元 同比增长5.87%

2022-01-11 09:56:15

2022-01-29 14:24:07

2022-01-29 14:24:07

证监会发布《关于北京证券交易所上市公司转板的指导意见》

2022-01-11 09:56:12

2022-01-29 14:24:07

2022-01-29 14:24:07

奥密克戎高速传播 美国医疗物资供应无法满足病毒检测需求

2022-01-11 09:56:10

原住民控诉美政府在其家园进行“900次核试验”:这是种族清洗!

2022-01-11 09:56:09

2022-01-29 14:24:07

2022-01-29 14:23:52

2022-01-29 14:23:52

奥密克戎肆虐 美国公共服务受重创

2022-01-11 09:56:06

公安部1月10日举行新闻发布会

2022-01-11 09:56:06

詹姆斯·韦伯太空望远镜顺利“完全部署”

2022-01-11 09:56:04

日美联合委员会发布声明:驻日美军离开基地将仅限于必要活动

2022-01-11 09:56:04

致敬·选择

2022-01-11 09:56:03

《我们北京见》 来自55位世界冠军的邀约

2022-01-11 09:56:03

世界冠军进校园 小小少年感受运动乐趣

2022-01-11 09:56:00

2022-01-29 14:23:52

时政Vlog丨带你体验冬奥运动员的备战日常

2022-01-11 09:55:58

伊朗制裁51名参与暗杀高级将领苏莱曼尼的美国人

2022-01-11 09:55:58

今年要有序推动绿色低碳发展

2022-01-11 09:55:51

加强同乡村振兴有效衔接

2022-01-11 09:55:51

加强绿色合作 助力共同发展

2022-01-11 09:55:49

电力碳减排要开好局(点睛)

2022-01-11 09:55:49

风光互补 绿能满满

2022-01-11 09:55:47

推动能源转型 赋能绿色发展(经济聚焦·关注碳达峰碳中和)

2022-01-11 09:55:47

今日腊八:两乡侈各健,一粥喜遥同

2022-01-11 09:55:44

2021年生态环境领域8项约束性指标顺利完成

2022-01-11 09:55:44

欧盟推进塑料回收再利用

2022-01-11 09:55:42

国家植物园 让保护体系更完整(美丽中国)

2022-01-11 09:55:42

2022-01-29 14:23:20

借力外脑,河南打出农业工程技术创新“组合拳”

2022-01-11 09:55:39

2022-01-29 14:23:20

国家速滑馆“冰丝带”“超级大脑”上线

2022-01-11 09:55:37

2022-01-29 14:23:20

农田被淹、住宅停电、出行受阻……美国多地遭遇持续恶劣天气

2022-01-11 09:55:35

自动驾驶已“接单” 下一站开往大规模商业化

2022-01-11 09:55:34

2022-01-29 14:23:20

第四集《精兵作战 精兵制胜》

2022-01-11 09:55:31

科普专项行动让老年人跨越数字鸿沟

2022-01-11 09:55:31

令人身临其境 8K服务让北京冬奥会更精彩

2022-01-11 09:55:29

嫦娥五号探测数据显示:采样区一吨月壤约含一百二十克水

2022-01-11 09:55:29

太曲折!交给美军后丢失的男婴 找到了

2022-01-11 09:55:27

科技创新助力 渤海油田成为我国第一大原油生产基地

2022-01-11 09:55:27

全球新纪录!本体热效率达51.09%柴油机诞生

2022-01-11 09:55:26

2022-01-29 14:22:53

2022-01-29 14:22:53

山西古稀老人不灭的“花灯情”:让古老花灯焕发新魅力

2022-01-11 09:55:25

数字人民币越来越“香”

2022-01-11 09:55:24

PPP成稳增长重要抓手

2022-01-11 09:55:24

基金投顾需“投”“顾”齐发力

2022-01-11 09:55:19

保险业风险保障功能持续增强

2022-01-11 09:55:19

实体经济是产业互联网主角

2022-01-11 09:55:17

“云上奥运”更精彩

2022-01-11 09:55:17

“万物皆可盲盒”是伪命题

2022-01-11 09:55:15

喝腊八粥、泡腊八蒜…腊八节的打开方式有哪些?

2022-01-11 09:55:15