# 【升级】dtns.network德塔世界:新发布了fastdown文件下载器工具,可构建FCDN

# 【升级】dtns.connector新升级更新了fastdown文件下载器功能

dtns.network是一款主要由JavaScript编写的智体世界引擎(基于WebRTC通讯技术的分布式开源软件组件),可以在浏览器和node.js、deno、electron上运行,它是一个跨平台的软件,支持多个操作系统使用!

# dtns.network于2024-4-28正式发布了新款的多进程、多文件高速下载器fastdown工具

1、支持dtns协议下载远程文件(一般来说保存于dtns.network智体世界的ib3.hub智体节点上)

2、支持通过dtns.connector德塔世界连接器内置的指令fd、fastdown指令,快速打开iframe多进程文件下载器fastdown工具

3、支持显示文件名、文件大小、下载进度、下载速率显示,方便地查看正在下载的进程进度

4、单节点、单进程支持可达10MB/s级别的网络文件下载(远超普通的云服务器提供的下载源的速度速度)

5、多进程、多节点下载,可支持超1000Mbit/s的宽带下载,甚至是达万M级别的下载速率(超过5G的下载速率,达到6G以上)。

# 以下是体验fastdown下载器工具的官方教程

# 第一步:打开dtns.connector,找到一个xverse轻应用(也是基于ib3.hub智体节点的分布式网络文件存储技术)

0.png

# 第二步:点击右上角的...,打开xverse轻应用的头榜内容编辑器,复制dtns-url

1.png

复制上图中的dtns-url,以便在下载器fastdown工具中使用。

# 第三步:通过智体IB,输入fd(或fastdown)跳转fastdown下载器工具,输入刚才复制的dtns协议的URL,点击download下载

2.png

跳转到pop-fastdown下载器工具如下图所示:

3.png

我们看到,大概800多KB的文件,不超过1秒即完成下载。

# 第四步:复制更多的文件dtns-url过来,测试下载速率

4.png

上图中的文件,有docx、mp4、md、xverse.json文件,均支持使用fastdown下载(通过dtns://协议下载)

# 第五步:一些高速率的文件下载截图如下

6.png

从上图可以看到,下载链接为dtns://web3:jobs3d/file?filename=obj_filefileBWPRp7AB的网络文件,有获得超过10MB/s的下载速率。

# 为何获得如此优秀的下载速度,我们查看一下fastdown下载器的源码


let down_url = document.getElementById('down_url').value

            console.log('down_url:',down_url)

            if(!down_url || down_url.trim().length==0){

                return alert('URL不能为空')

            }

            down_url = down_url.trim()

            // let ret = await g_dtnsManager.run(down_url)

            // console.log('g_dtnsManager-run-ret:',ret)

            // if(ret && ret.fileInfo && ret.data)

            // {

            //     console.log('download success:',ret.fileInfo.filename,ret.data.length)

            //     let client = await g_dtnsManager.connect(down_url)

            //     client.downloadFileByBinary(ret.fileInfo.filename,ret.data)

            // }

            let client = await g_dtnsManager.connect(down_url)

            while(!client.pingpong_flag) await client.sleep(300)

            let beginTime = Date.now()

            g_downManager.download(down_url,{user_id:localStorage.user_id,s_id:localStorage.s_id,file_kind:'file'},

                async function(data){

              console.log('g_downManager.download-file-data:',data,data.data,data.data.buffer)

              if(data && data.data){

                console.log('download----data-len:'+data.data.length)

                let statusEle = document.getElementById('status')

                let tips = data.fileInfo.filename+'('+

                        showSize(  data.fileInfo.size )+')'

                setTimeout(()=>statusEle.innerHTML =tips+ '[下载完成] 100%  用时:'+ parseInt((Date.now()-beginTime)/1000)+'秒' ,1500)

                // This.tips = '100%'

                console.log('download success:',data.fileInfo.filename,data.data.length)

                client.downloadFileByBinary(data.fileInfo.filename,data.data)

              }

            })

我们看到最开始使用的是 let ret = await g_dtnsManager.run(down_url)来实现fastdown下载器,后面使用了g_downManager.download来实现下载器工具,g_downManager是DownloadManager类全局实例,是对基于WebRTC网络通讯工具dtns.rpc-client的封装。实现了丰富的下载器功能(例如下载速率统计、下载进度统计、单文件单实例下载功能等)。   至于为何基于WebRTC的实时通讯技术,为何能实现如此高效的下载速率,原因就在于p2p打洞技术——无须使用相对中心化的CDN服务,使用分布式的p2p边缘存储节点,即可实现高效的文件下载。当前很多【升级版】的CDN(例如PCDN等)均是通过类似的技术实现了CDN技术的升级。

可以把dtns协议指向的文件,比喻成边缘存储的分布式文件系统,通过DTNSManager(类似DNS域名系统),即可对智体世界的ib3.hub智体节点上保存的网络文件,实现高效的访问和下载,这即是fastdown下载器工具快的本质!

# 未来的CDN技术:PCDN 或 FCDN?

PCDN是利用家庭或闲置的带宽资源,实现了边缘的CDN网络节点的文件访问。

那FCDN又是什么呢?

FCDN是基于POP-fastdown工具,实现的对dtns.network智体世界的ib3.hub智体节点上存储的有产权、版权、或开源开放的数据文件的下载。FCDN即fast-CDN,超越PCDN和传统的CDN。

当然,目前fastdown下载器工具初次发布,离FCDN盛行于世还有一段距离。但作为领先的科技,FCDN未来一定会占据一席之地的!

注:dtns.network德塔世界(开源的智体世界引擎)是在github和gitee上开源的项目!

# 开源地址:

github地址:https://github.com/dtnsman/dtns (opens new window)

Gitee地址:https://github.com/dtnsman/dtns (opens new window)

官方文档:https://dtns.network.yunapi.org (opens new window)

加入QQ群:279931001

加入微信群:

wechat-qr (2).png