Skip to content

zhaozhaocheng147/test526backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目名称

碳觅后端项目 TanMi-API

运行条件

列出运行该项目所必须的条件和相关依赖

  • 服务器端 JAVA 版本必须小于或等于 1.8.0_202 ,否则会导致依赖问题

运行说明

说明如何运行和使用你的项目,建议给出具体的步骤说明

  • 开发端/本机
    • 项目根目录下执行 mvn package
    • 将 target 文件夹下生成的 jar 包上传至服务器
  • 服务器
    • 执行nohup java -jar $JAR_FOLDER > ./log.txt 2>&1 &,其中JAR_FOLDER为jar包绝对/相对目录
    • 检查IP:8080是否可以访问项目

测试说明

如果有测试相关内容需要说明,请填写在这里

  • 测试相关请将程序运行后参照 SpringDoc 文档 ./doc.html

技术架构

使用的技术框架或系统架构图等相关说明,请填写在这里
介绍来源:IPFS 白皮书( https://ipfs.netlify.app/tutorial/whitepaperipfs.html ) 其他来源:深入浅出IPFS ( https://blog.csdn.net/shyflea/article/details/120612376

  • SpringBoot
    • 创建可以运行的独立的、基于Spring的生产级应用程序。为所有的Spring开发提供一个根本性的更快、更广泛的入门体验。
    • 开箱即用,提供一系列大类项目常见的非功能特性(如嵌入式服务器、安全、度量、健康检查和外部化配置)。
  • IPFS
    • 星际文件系统 Interplanetary File System(IPFS)
      • 一种点对点的分布式文件系统,旨在连接所有有相同的文件系统的计算机设备。在某些方面,IPFS 类似于 Web,但 Web 是中心化的,而 IPFS 是一个单一的 Bittorrent 群集,用 Git 仓库分布式存储。换句话说,IPFS 提供了高吞吐量的内容寻址块存储模型,具有内容寻址的超链接。这形成了一个广义的 Merkle DAG(默克尔有向无环图)数据结构,可以用这个数据结构构建版本文件系统,区块链,甚至是永久性网站。IPFS 结合了分布式哈希表,带有激励机制的块交换和自我认证命名空间。IPFS 没有单故障点,节点不需要相互信任。
    • 分布式哈希表 DHT
      • 分布式散列表(DHT)被广泛用于协调和维护关于对等系统的元数据。比如,MainlineDHT 是一个去中心化哈希表,他可追踪查找所有的对等节点。
    • 块交换 BitTorrent
      • BitTorrent 是一个广泛成功应用的点对点共享文件系统,它可以在存在不信任的对等节点(群集)的协作网络中分发各自的文件数据片。从 BitTorrent 和它的生态系统的关键特征,IPFS 得到启示如下:
        1. BitTorrent 的数据交换协议使用了一种 bit-for-tat 的激励策略,可以奖励对其他方面做贡献的节点,惩罚只榨取对方资源的节点。
        2. BitTorrent 对等体跟踪文件的可用性,优先发送稀有片段。这减轻了 seeds 节点的负担,让 non-seeds 节点有能力互相交易。
        3. 对于一些剥削带宽共享策略,BitTorrent 的标准 tit-for-tat 策略是非常脆弱的。然而,PropShare 是一种不同的对等带宽分配策略,可以更好的抵制剥削战略,提高群集的表现。
    • 版本控制系统 Git
      • 版本控制系统提供了对随时间变化的文件进行建模的设施,并有效地分发不同的版本。流行版本控制系统 Git 提供了强大的 Merkle DAG 对象模型,以分布式友好的方式捕获对文件系统树的更改。
        1. 不可更改的对象表示文件(blob),目录(树)和更改(提交)。
        2. 通过加密hash对象的内容,让对象可寻址。
        3. 链接到其他对象是嵌入的,形成一个 Merkle DAG。这提供了很多有用的完整和 work-flow 属性。
        4. 很多版本元数据(分支,标示等等)都只是指针引用,因此创建和更新的代价都小。
        5. 版本改变只是更新引用或者添加对象。
        6. 分布式版本改变对其他用户而言只是转移对象和更新远程引用。
    • 自我认证认文件系统 SFS
      • SFS 提出了两个引人注目的实现(a)分布式信任链,和(b)平等共享的全局命名空间。SFS 引入了一种自我建构技术—注册文件,因此 SFS 文件系统的名字认证了它的服务,用户可以通过服务提供的公钥来验证,协商一个共享的私钥,保证所有的通信。所有的 SFS 实例都共享了一个全局的命名空间,这个命名空间的名称分配是加密的,不被任何中心化的 body 控制。

协作者

高效的协作会激发无尽的创造力,将他们的名字记录在这里吧

  • 郑欣荣 Xinrong Zheng
  • 赵天成 Tiancheng Zhao

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published