Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >安全运维 | RDP登录日志取证和清除

安全运维 | RDP登录日志取证和清除

作者头像
安全小王子
发布于 2023-02-25 06:49:36
发布于 2023-02-25 06:49:36
2.5K00
代码可运行
举报
文章被收录于专栏:betasecbetasec
运行总次数:0
代码可运行

PostgreSQL是最像Oracle的开源数据库,我们可以拿Oracle来比较学习它的体系结构,比较容易理解。PostgreSQL的主要结构如下:

视频讲解如下:

一、存储结构

PG数据存储结构分为:逻辑存储结构和物理存储存储。其中:逻辑存储结构是内部的组织和管理数据的方式;物理存储结构是操作系统中组织和管理数据的方式。

1、逻辑存储结构

所有数据库对象都有各自的oid(object identifiers),oid是一个无符号的四字节整数,相关对象的oid都存放在相关的system catalog表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。

在逻辑存储结构中有几个术语需要解释:

  • 数据库集群-Database cluster

也叫数据库集簇。它是指有单个PostgreSQL服务器实例管理的数据库集合,组成数据库集群的这些数据库使用相同的全局配置文件和监听端口、共用进程和内存结构。一个DataBase Cluster可以包括:多个DataBase、多个User、以及Database中的所有对象。如上图所示。

  • 数据库-Database

在PostgreSQL中,数据库本身也是数据库对象,并且在逻辑上彼此分离,除数据库之外的其他数据库对象(例如:表、索引等等)都属于他们各自的数据库。

  • 表空间-tablespace

数据库在逻辑上分成多个存储单元,称作表空间。表空间用作把逻辑上相关的结构放在一起。数据库逻辑上是由一个或多个表空间组成。初始化的时候,会自动创建pg_default和pg_global两个表空间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\db

其中:
pg_global:用于存放系统表。
pg_default:该表空间的物理文件存储在数据目录中的base目录中。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
创建自己的表空间,并在该表空间上创建表
create tablespace mydemotbs location '/home/postgres/training/pgsql/data/mydemotbs';
create table testtable1(tid int primary key,tname text) tablespace mydemotbs;
  • 模式-Schema

当创建一个数据库时,会为其创建一个名为public的默认Schema。Schema是数据库中的命名空间,在数据库中创建的所有对象都是在Schema中创建,一个用户可以从同一个客户端连接中访问不同的Schema。而不同的Schema中可以有多个同名的Table、Index、View、Sequence、Function等等数据库对象。可以通过下面的方式来查看当前数据库的Schema

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\dn
  • 段-segment

一个段是分配给一个逻辑结构(一个表、一个索引或其他对象)的一组区,是数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

  • 区-extent

区是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。第一个段是由一个或多个盘区组成。当一段中间所有空间已完全使用,PostgreSQL为该段分配一个新的范围。

  • 块-block(Page)

数据块是PostgreSQL 管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,是最小的逻辑部件。默认值8K。

  • 数据库对象-Database object

如:表、视图、索引、序列、函数等等。在PostgreSQL中的所有数据库对象都由各自的对象标识符(OID)进行内部的管理。例如,数据库的OID存储在pg_database系统表中,可以通过下面的语句进行查询。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select oid,datname from pg_database;

而数据库中的表、索引、序列等数据库对象的OID则存在了pg_class系统表中,例如可以通过下面的语句查询前面创建的testtable1表的OID。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select oid,relname,relkind,relfilenode from pg_class where relname ='testtable1';

2、物理存储结构

在执行initdb的时候会初始化一个目录,通常我们都会在系统配置相关的环境变量$PGDATA来表示,初始化完成后,会再这个目录生成相关的子目录以及一些文件。在postgresql中,表空间的概念并不同于其他关系型数据库,这里一个Tablespace对应的都是一个目录。如下图就是PG的物理结构:

每个目录的功能与作用如下所示:

而PostgreSQL的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、redo日志(WAL)。下面分别进行介绍。

  • 数据文件(表文件)

顾名思义,数据文件用于存储数据。文件名以OID命名,对于超出1G的表数据文件,PostgreSQL会自动将其拆分为多个文件来存储,而拆分的文件名将由pg_class中的relfilenode字段来决定。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select oid,relname,relkind,relfilenode from pg_class where relname ='testtable1';

查看目录表空间mydemotbs的目录(其中:13578是数据库OID,16385是表的OID)

在PostgreSQL中,将保存在磁盘中的块(Block)称为Page。数据的读写是以Page为最小单位,每个Page默认的大小是8K。在编译PostgreSQL时指定BLCKSZ大小将决定Page的大小。每个表文件由逗哥BLCKSZ字节大小的Page组成。在分析型数据库中,适当增加BLCKSZ大小可以小幅度提升数据库的性能。

  • 日志文件

PostgreSQL日志文件的类型,分为以下几种:

① 运行日志(pg_log)

默认没有开启,开启后会自动生成。查看postgresql.conf文件的配置可以看到相关的参数设置。这个日志一般是记录服务器与DB的状态,比如各种Error信息,定位慢查询SQL,数据库的启动关闭信息,发生checkpoint过于频繁等的告警信息,诸如此类。该日志有.csv格式和.log。建议使用.csv格式,因为它一般会按大小和时间自动切割。pg_log是可以被清理删除,压缩打包或者转移,同时并不影响DB的正常运行。当我们有遇到DB无法启动或者更改参数没有生效时,第一个想到的就是查看这个日志。

② 重做日志(pg_xlog)

pg\_xlog 这个日志是记录的Postgresql的WAL信息,默认存储在目录$PGDATA/pg\_wal/,是一些事务日志信息(transaction log)。默认单个大小是16M,源码安装的时候可以更改其大小(./configure --with-wal-segsize=target_value 参数,即可设置)这些日志会在定时回滚恢复(PITR), 流复制(Replication Stream)以及归档时能被用到,这些日志是非常重要的,记录着数据库发生的各种事务信息,不得随意删除或者移动这类日志文件,不然你的数据库会有无法恢复的风险。

③ 事务日志(pg_xact)

pg_xact是事务提交日志,记录了事务的元数据。默认开启。内容一般不能直接读。默认存储在目录$PGDATA/pg_xact/。

④ 服务器日志

如果用pg_ctl启动的时候没有指定-l参数来指定服务器日志,错误可能会输出到cmd前台。服务器日志记录了数据库的重要信息。

参数文件

主要包括postgresql.conf、pg_hba.conf和pg_ident.conf这三个参数文件。下面分别进行介绍:

① postgresql.conf

PostgreSQL的主要参数文件,有很详细的说明和注释,和Oracle的pfile,MySQL的my.cnf类似。默认在$PGDATA下。很多参数修改后都需要重启。9.6之后支持了alter system来修改,修改后的会存在$PGDATA/postgresql.auto.conf下,可以reload或者 restart来使之生效。

② pg_hba.conf

这个是黑白名单的设置。文件里有详细的参数说明,默认参数如下:

③ pg_ident.conf

pg\_ident.conf是用户映射配置文件,用来配置哪些操作系统用户可以映射为数据库用户。结合pg\_hba.conf中,method为ident可以用特定的操作系统用户和指定的数据库用户登录数据库。

  • 控制文件

控制文件记录了数据库运行的一些信息,比如数据库id,是否open,wal的位置,checkpoint的位置等等。controlfile是很重要的文件。

控制文件的位置:$PGDATA/global/pg_control,可以使用命令bin/pg_controldata查看控制文件的内容,如下:

  • redo日志(WAL)

默认保存在$PGDATA/pg_wal目录下,如下所示:

文件名称为16进制的24个字符组成,每8个字符一组,每组的意义如下:

00000001 00000000 00000001

时间线 逻辑ID 物理ID

通过下面的语句进行WAL的手动切换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select pg_switch_wal();

再次查看pg_wal目录,如下所示:

二、进程结构

执行下面的命令列出所有的PostgreSQL的进程。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ps -ef | grep postgres

① Postmaster进程

主进程Postmaster是整个数据库实例的总控制进程,负责启动和关闭数据库实例。用户可以运行postmaster,postgres命令加上合适的参数启动数据库。实际上,postmaster命令是一个指向postgres的链接,如下图所示。

更多时候我们使用pg_ctl启动数据库,pg_ctl也是通过运行postgres来启动数据库,它只是做了一些包装,让我们更容易启动数据库,所以,主进程Postmaster实际是第一个postgres进程,此进程会fork一些与数据库实例相关的辅助子进程,并管理他们。

当用户与PostgreSQL数据库建立连接时,实际上是先与Postmaster进程建立连接。此时,客户端程序会发出身份证验证的消息给Postmaster进程,Postmaster主进程根据消息中的信息进行客户端身份验证。如果验证通过,它会fork一个子进程postgres为这个连接服务,fork出来的进程被称为服务进程,查询pg_stat_activity表可以看到的pid,就是这些服务进程的pid。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select pid from pg_stat_activity;

② SysLogger进程

在postgresql.conf里启用 运行日志(pg_log)后,会有SysLogger进程。SysLogger会在日志文件达到指定的大小时关闭当前日志文件,产生新的日志文件。相关配置参数如下:

③ BgWriter后台写进程

BgWriter是PostgreSQL中在后台将脏页写出到磁盘的辅助进程,引入该进程主要为达到如下两个目的:

  • 首先,数据库在进行查询处理时若发现要读取的数据不在缓冲区中时要先从磁盘中读入要读取的数据所在的页面,此时如果缓冲区已满,则需要先选择部分缓冲区中的页面替换出去。如果被替换的页面没有被修改过,那么可以直接丢弃;但如果要被替换的页已被修改,则必需先将这页写出到磁盘中后才能替换,这样数据库的查询处理就会被阻塞。通过使用BgWriter定期写出缓冲区中的部分脏页到磁盘中,为缓冲区腾出空间,就可以降低查询处理被阻塞的可能性。
  • 其次,PostgreSQL在定期作检查点时需要把所有脏页写出到磁盘,通过BgWriter预先写出一些脏页,可以减少设置检查点时要进行的IO操作,使系统的IO负载趋向平稳。通过BgWriter对共享缓冲区写操作的统一管理,避免了其他服务进程在需要读入新的页面到共享缓冲区时,不得不将之前修改过的页面写出到磁盘的操作。

④ WalWriter预写日志写进程

该进程用于保存WAL预写日志。预写式日志WAL(Write Ahead Log,也称为Xlog)的中心思想是对数据文件的修改必须是只能发生在这些修改已经记录到日志之后,也就是先写日志后写数据。如果遵循这个过程,那么就不需要在每次事务提交的时候都把数据块刷回到磁盘,这一点与Oracle数据库是完全一致的。postgresql.conf文件中与WalWriter进程相关的参数如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------
#wal_level = minimal                    # minimal, replica, or logical
                                        # (change requires restart)
#fsync = on                             # flush data to disk for crash safety
                                        # (turning this off can cause
                                        # unrecoverable data corruption)
#synchronous_commit = on                # synchronization level;
                                        # off, local, remote_write, remote_apply, or on
#wal_sync_method = fsync                # the default is the first option
                                        # supported by the operating system:
                                        #   open_datasync
                                        #   fdatasync (default on Linux)
                                        #   fsync
                                        #   fsync_writethrough
                                        #   open_sync
#full_page_writes = on                  # recover from partial page writes
#wal_compression = off                  # enable compression of full-page writes
#wal_log_hints = off                    # also do full page writes of non-critical updates
                                        # (change requires restart)
#wal_buffers = -1                       # min 32kB, -1 sets based on shared_buffers
                                        # (change requires restart)
#wal_writer_delay = 200ms               # 1-10000 milliseconds
#wal_writer_flush_after = 1MB           # measured in pages, 0 disables
#commit_delay = 0                       # range 0-100000, in microseconds
#commit_siblings = 5                    # range 1-1000

⑤ PgArch归档进程

从PostgreSQL 8.x开始,有了PITR(Point-In-Time-Recovery)技术,该技术支持将数据库恢复到其运行历史中任意一个有记录的时间点;PITR的另一个重要的基础就是对WAL文件的归档功能。PgArch辅助进程的目标就是对WAL日志在磁盘上的存储形式进行归档备份。但在默认情况下,PostgreSQL是非归档模式,因此看不到PgArch进程。PgArch进程通过postgresql.conf文件中的如下参数进行配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# - Archiving -
#archive_mode = off             # enables archiving; off, on, or always
                                # (change requires restart)
#archive_command = ''           # command to use to archive a logfile segment
                                # placeholders: %p = path of file to archive
                                #               %f = file name only
                                # e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0            # force a logfile segment switch after this
                                # number of seconds; 0 disables

⑥ AutoVacuum自动清理进程

在PG数据库中,对数据进行UPDATE或者DELETE操作后,数据库不会立即删除旧版本的数据,而是标记为删除状态。这是因为PG数据库具有多版本的机制,如果这些旧版本的数据正在被另外的事务打开,那么暂时保留他们是很有必要的。当事务提交后,旧版本的数据已经没有价值了,数据库需要清理垃圾数据腾出空间,而清理工作就是AutoVacuum进程进行的。postgresql.conf文件中与AutoVacuum进程相关的参数有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#------------------------------------------------------------------------------
# AUTOVACUUM
#------------------------------------------------------------------------------
#autovacuum = on                        # Enable autovacuum subprocess?  'on'
                                        # requires track_counts to also be on.
#log_autovacuum_min_duration = -1       # -1 disables, 0 logs all actions and
                                        # their durations, > 0 logs only
                                        # actions running at least this number
                                        # of milliseconds.
#autovacuum_max_workers = 3             # max number of autovacuum subprocesses
                                        # (change requires restart)
#autovacuum_naptime = 1min              # time between autovacuum runs
#autovacuum_vacuum_threshold = 50       # min number of row updates before
                                        # vacuum
#autovacuum_vacuum_insert_threshold = 1000      # min number of row inserts
                                        # before vacuum; -1 disables insert
                                        # vacuums
#autovacuum_analyze_threshold = 50      # min number of row updates before
                                        # analyze
#autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before vacuum
#autovacuum_vacuum_insert_scale_factor = 0.2    # fraction of inserts over table
                                        # size before insert vacuum
#autovacuum_analyze_scale_factor = 0.1  # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum
                                        # (change requires restart)
#autovacuum_multixact_freeze_max_age = 400000000        # maximum multixact age
                                        # before forced vacuum
                                        # (change requires restart)
#autovacuum_vacuum_cost_delay = 2ms     # default vacuum cost delay for
                                        # autovacuum, in milliseconds;
                                        # -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for
                                        # autovacuum, -1 means use
                                        # vacuum_cost_limit

⑦ PgStat统计信息收集进程

PgStat进程是PostgreSQL数据库的统计信息收集器,用来收集数据库运行期间的统计信息,如表的增删改次数,数据块的个数,索引的变化等等。收集统计信息主要是为了让优化器做出正确的判断,选择最佳的执行计划。postgresql.conf文件中与PgStat进程相关的参数,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------
# - Query/Index Statistics Collector -
#track_activities = on
#track_counts = on
#track_io_timing = off
#track_functions = none                 # none, pl, all
#track_activity_query_size = 1024       # (change requires restart)
#stats_temp_directory = 'pg_stat_tmp'

⑧ CheckPoint检查点进程

检查点是系统设置的事务序列点,设置检查点保证检查点前的日志信息刷到磁盘中。postgresql.conf文件中与之相关的参数有:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# - Checkpoints -
#checkpoint_timeout = 5min              # range 30s-1d
#max_wal_size = 1GB
#min_wal_size = 80MB
#checkpoint_completion_target = 0.5     # checkpoint target duration, 0.0 - 1.0
#checkpoint_flush_after = 256kB         # measured in pages, 0 disables
#checkpoint_warning = 30s               # 0 disables

三、内存结构

PostgreSQL的内存结构,分为:本地内存和共享内存。它们的关系如下图所示:

① 本地内存:每个后端进程(backend process)自己使用的

② 共享内存:所有进程共同使用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 betasec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何看待区块链项目——CRBC文博链?
风靡已久的比特币想必无人不知无人不晓,比特币是基于区块链基础上的革命创新,比特币之后大大小小各种数字货币如雨后春笋搬冒出,那么,同样是基于区块链项目的CRBC,它与其他的数字货币又有什么不同呢?它最大的特点又是什么呢?构成它的技术原理又是什么呢?笔者将在这里为大家一一解惑。
CRBC文博链
2018/05/08
2.4K2
如何看待区块链项目——CRBC文博链?
文物活起来,CRBC使文物数据化
随着科学技术的进步与发展,区块链技术在金融行业的应用越来越广泛,区块链技术应用有效实现了交易及信息的安全性,推动着金融行业的前进发展。从本质上来说,区块链是一个去中心化的数据库,是一串使用密码学方法产生相关联的数据块,每一个数据块中包含了一段时间内全网交易的信息,用于验证其信息的有效性和生成下一个区块。因而,区块链是以去中心化和去信任化的方式,来集体维护一个可靠数据库的技术方案。
CRBC文博链
2018/05/09
9925
文物活起来,CRBC使文物数据化
CRBC:基于区块链的文物数字链
区块链除了比特币和以太坊,除了最契合的金融领域之外,还有其他的领域也逐步卷入进来,之前说software is eating the world,现在是blockchain is eating the world,虽然区块链现在能量小,胃口也小,但未来它的胃口要远超互联网,会把人类社会的方方面面都卷入进来。
CRBC文博链
2018/05/16
2.7K9
CRBC:基于区块链的文物数字链
国内数字藏品平台激增,海外NFT缩水万倍!都在发行什么?
2022年,在“5·18国际博物馆日”,各地文博单位纷纷发布以文物为主题的数字藏品。随后,在“5·19中国旅游日”,各地景区也发布了以古建筑为主题的数字藏品。到了5月20日,以爱情为主题发行的“520”数字藏品更是覆盖各行业领域。
科技旋涡
2022/08/30
5920
国内数字藏品平台激增,海外NFT缩水万倍!都在发行什么?
数字周报87期 |​腾讯文旅发布六大维度升级;腾讯首次公布智慧农业战略
行业动态 腾讯文旅发布六大维度升级,全面助力行业迈向数实融合新阶段 11月30日,2022腾讯全球数字生态大会智慧文旅专场在线上圆满举行。此次专场上,腾讯文旅发布了六大维度的全面升级,涵盖技术、行业、场景、产业、服务、生态方向上的深化成果,以及文旅四大赛道的丰富实践和前沿解决方案。同时面向行业新要求新变化新趋势,推出了更加开放的生态圈和更具价值的“朋友圈共创计划”,通过提供一站式综合化的数字文旅服务体系,助力产业开新局,迈向数实融合新阶段。(相关链接:一图读懂 | 2022腾讯全球数字生态大会智慧文旅专场
腾讯文旅
2022/12/06
5020
数字周报87期 |​腾讯文旅发布六大维度升级;腾讯首次公布智慧农业战略
让数字藏品回归收藏本质
  刚开售即被抢空!原本只是几十块的数字藏品,竟然溢价数十倍甚至上百倍!近期,博物馆数字藏品正成为收藏和文创的新趋势。但是,数字藏品走红的背后,是无数的暗流涌动。那些吹捧“十万进场百万收场”“一局赚到房子首付”的言论,恰恰也流露出这一行业正处于野蛮无序生长中,亟待规范整治。
科技旋涡
2022/04/28
2160
带你了解CRBC项目情况
CRBC即国际文博链,全称Cultural-relics Bank Chain,CRBC也是依托了区块链技术整合了区块链和非区块链领域的分布式账本系统,下面一起来了解一下CRBC的项目进程。
CRBC文博链
2018/05/14
9642
带你了解CRBC项目情况
什么是CRBC文博链?
CRBC,全称Cultural-relics Bank Chain国际文博链,由皇家珍宝馆,中国艺术节基金会中宝基金,华登国际投资共同开发的一个通过艺术珍藏品作为抵押和信用担保数字链。它是基于区块链ERC2.0作为底层技术开发的数字资产,运用智能合约进行共识机制搭建,打造一个可溯源去中心化的古文化艺术品交易所或银行。通过CRBC区块确认以及区块链分布式记账的属性,来构建一个聚合SDK数据库,运用RFID 无线射频识别技术,构建CRBC 古文化艺术品交易所的交易生态体系。
CRBC文博链
2018/05/08
1.8K6
什么是CRBC文博链?
【区块链技术工坊31期】许向:艺术品领域区块链探索实践
1)题目: 【区块链技术工坊31期】艺术品领域区块链探索实践 2)议题: 正所谓古语有云,盛世兴古董,乱世重黄金。 刚巧我们正处于一个盛世中,各种古玩、古董、名贵字画等艺术品都非常有市场,动辄可能会拍出超级天价。 然而这里面也产生了一些问题,那就是在古董的拍卖流转过程中,始终存在着不不开不透明等弊端。并且不同地点的拍卖活动,会受到种种制约 同时还有一个较为严重的弊病,那就是一些古董或者艺术品的超级高价,往往将人群割裂开来,艺术品成为富人“继续致富”的工具,普通民众则无法通过艺术品增加财富。 艺术品实体资产怎么与虚拟资产绑定?艺术品如何拆分份额化?怎么才能产生不可篡改的艺术品流转记录并与实体资产绑定?
辉哥
2019/01/28
1.3K0
【区块链技术工坊31期】许向:艺术品领域区块链探索实践
金融数字资产区块链技术开发的数字资产系统开发的的核心特征
近年来,数字资产区块链技术的运用和发展在全球范围内掀起热潮,而以数字资产区块链作为底层技术的数字货币更是如雨后春笋。
小威互联说
2018/04/20
8790
金融数字资产区块链技术开发的数字资产系统开发的的核心特征
CRBC:打造文物数字化最大应用
中国是个拥有几千年历史的文明古国,在历史的时光里,文物记述承载着各种文明的盛起与衰亡,历史的车轮滚滚向前,文物已经不止是仅供学者研究,摆在橱窗里任人观赏的冷冰冰的器物,数字化时代,数字化文物,世人对文物的应用也要与时俱进不能固步自封停滞不前。
CRBC文博链
2018/05/18
9191
CRBC:打造文物数字化最大应用
热点关注丨博物馆IP开发 未来路在何方
近日,成都杜甫草堂和肯德基跨界合作推出了首家天府锦绣主题餐厅,杜甫诗作、草堂景观及书画等相关文化元素强势进驻,让人眼前一亮。 餐厅内营造出杜甫诗意氛围,墙上描绘着唐朝人的生活场景图案,桌面、墙壁上处处是杜甫的经典诗歌及其相关的书画作品,这是在新时代下对草堂和杜诗的创意表达。 <<  滑动查看下一张图片  >> 取餐台旁的3D全息投影利用科技立体化还原了杜甫故居草堂的春夏秋冬,同时还伴有杜甫描写春夏秋冬的诗歌。 餐厅揭幕后,有顾客对这种完全不同以往的主题大加赞赏,表示餐厅因此而增加了
腾讯文旅
2020/06/17
6320
区块链:传统投资人的焦虑与治愈
区块链:传统投资人的焦虑与治愈
数据猿
2018/04/25
1K0
区块链:传统投资人的焦虑与治愈
向文物原型NFT说“不” ,野蛮生长的市场该监管了么?
与会专家认为,近年来,文物数字化新技术、新方法、新业态不断涌现,文博单位应积极推进文物信息资源开放共享,满足人民群众日益增长的文化需求。
科技旋涡
2022/04/28
4420
向文物原型NFT说“不” ,野蛮生长的市场该监管了么?
CRBC——探索艺术金融+互联网发展新趋势
在完全市场化的文化政策驱使下,艺术成为消费资源,使得艺术消费成为艺术现代性的文化表征和社会认同。经过艺术消费,文化艺术作品依然存在,其边际效益不遵循经济学中的边际递减规律。艺术消费具有公共产品性质,且一般不具有排他性,消费群体越多越具有规模效应。艺术消费是文化消费的重要组成部分。文化消费满足了消费主体的精神需要,使主体感到愉悦、满足,其满足主体需要的对象主要是精神文化产品或精神文化活动,如感人的艺术品等。根据马斯洛的人类需求层次理论,以人们通过大脑思维、科学概念和艺术形象创造出来的精神产品为消费对象的精神消费越来越受到人们的重视。对精神产品的消费,不仅要求消费者具备经济上的消费能力,还要求消费者具备必要的艺术鉴赏等文化修养和素质方面的能力。
CRBC文博链
2018/05/29
8612
CRBC——探索艺术金融+互联网发展新趋势
腾讯区块链-【画说梦想】小程序应用NFT数字交易应用案例分析
近日,腾讯SSV发布基于至信链的区块链公益项目平台应用-“画说梦想”,是通过AI语音和文字填写两种输入方式,采集用户的梦想数据,然后随机匹配公益画作,发布于NFT数字交易平台上,主要实现腾讯云公益平台上的45个公益项目,用户捐赠随机匹配支持,打造可持续美好的公益新模式。
TCS-F
2022/01/24
2.4K0
腾讯区块链-【画说梦想】小程序应用NFT数字交易应用案例分析
元宇宙一周报:鱿物数字藏品平台上线,鲸探、百度智能云、支付宝将元宇宙搬进文博领域
  本周,优酷上线鱿物数字藏品平台,字节头戴式VR设备外观专利获授权,鲸探、百度智能云、支付宝等将带元宇宙走进文博领域,接下来,和速途元宇宙研究院一起来回顾下本周的元宇宙最新动态吧。
科技旋涡
2022/08/30
9220
元宇宙一周报:鱿物数字藏品平台上线,鲸探、百度智能云、支付宝将元宇宙搬进文博领域
NFT数字藏品系统 数字藏品系统开发详解案例 数字藏品现成源码成品说明开发
物以稀为贵。当数字藏品具有了唯一性、可证明的稀缺性、不可分割性等三个属性之后,本身就具备了价值。而这价值,首先体现在数字藏品背后承载的现实实物或虚拟物品本身就具有收藏价值;其次,是源自于数字藏品共识价值的形成,如时间价值、艺术价值、版权价值、稀缺价值等。
DD_MrsFu123
2022/06/26
5840
区块链 : 历史、现在与未来
就区块链而言,问不同的人,你会得到不同的答案。有人说,区块链是自互联网以来最重要的技术创新。也有人说,区块链不过是问题的解决方案而已。 最初的区块链,是数字货币比特币背后的去中心化的分类帐。这个分类账由被称为“块”的交易批次(即区块链)组成,并且在组成比特币网络的大约20万台计算机中每一台上,都储存了相同的副本。每一次对分类帐的更改都是通过密码签名来证明的,以证明转让虚拟硬币的人是这些硬币的实际所有人。 没用人可以把他们的硬币花掉两次,因为一旦交易被记录在账本上,网络中的每个节点都会知道。 谁为区块链铺平
刀刀老高
2018/04/10
1.4K0
NFT数字藏品系统 | 数字藏品系统开发详解案例 | 数字藏品现成源码
物以稀为贵。当数字藏品具有了唯一性、可证明的稀缺性、不可分割性等三个属性之后,本身就具备了价值。而这价值,首先体现在数字藏品背后承载的现实实物或虚拟物品本身就具有收藏价值;其次,是源自于数字藏品共识价值的形成,如时间价值、艺术价值、版权价值、稀缺价值等。
vx-ccy981112
2022/06/27
4280
NFT数字藏品系统 | 数字藏品系统开发详解案例 | 数字藏品现成源码
推荐阅读
相关推荐
如何看待区块链项目——CRBC文博链?
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验