当前位置: 首页 > 软件库 > 服务器软件 > 存储系统 >

UDS

无限的驱动器存储
授权协议 AGPLv3
开发语言 Python
所属分类 服务器软件、 存储系统
软件类型 开源软件
地区 不详
投 递 者 璩正志
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

UDS 可以将文件存储到 Google Docs 而不用考虑配额的问题。

特性

  • 上传文件到 Google Drive 而且并不占用存储空间
  • 下载存储的文件到本地

逻辑

  • Google Docs 不会占用你的 Google Drive 的存储空间
  • 使用 Base64 编码将二进制文件拆开存放到 Google Docs
  • 编码后的文件一般比原始文件大,Base64 和二进制文件的体积比例大概为 4:3.
  • 单一 Google 文档可以存储大约 100 万个字符,差不多是 710kb 的 Base64 编码数据
  • 多线程上传,但没有显著的性能提升

Authentication

  1. Head to Google's API page and enable the Drive API
  2. Download the configuration file as 'client_secret.json' to the UDS directory
  3. run  python uds.py  for initial set up

UDS Core

Upload

> python uds.py push Ubuntu.Desktop.16.04.iso
Ubuntu.Desktop.16.04.iso will required 543 Docs to store.
Created parent folder with ID 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
Successfully Uploaded Ubuntu.Desktop.16.04.iso: [██████████████████████████████] 100%
[Layout]
python uds.py push argument
argument: Path_to_file+file_name

List

> python uds.py list
Name                      Size   Encoded    ID
------------------------  -----  ---------  ---------------------------------  
Ubuntu.Desktop.16.04.iso  810 MB  1.1 GB    1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
Ubuntu.Desktop.18.10.iso  1.1 GB  1.3 GB    1RzzVfN9goHMTkM1Hf1FUWUVS_2R3GK7D
Also supports searching with a query!
> python uds.py list "18"
Name                      Size   Encoded    ID
------------------------  -----  ---------  ---------------------------------  
Ubuntu.Desktop.18.10.iso  1.1 GB  1.3 GB    1RzzVfN9goHMTkM1Hf1FUWUVS_2R3GK7D
[Layout]
python uds.py list
arguments: query

Download

> python uds.py pull 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
Downloaded Ubuntu.Desktop.16.04.iso: [██████████████████████████████] 100%
[Layout]
python uds.py pull argument
argument: id_of_file

Delete

> python uds.py delete 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
Deleted 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8
[Layout]
python uds.py delete argument
argument: id_of_file

Alpha Extensions

Grab

> python uds.py grab test.7z
Update Successful!
Downloaded test.7z: [██████████████████████████████] 100%
[Layout]
python uds.py grab argument
argument: name_of_file

Erase

>python uds.py erase test2.7z
Update Successful!
Deleted test2.7z
[Layout]
python uds.py erase argument
argument: name_of_file

Update

> python uds.py update
Name       Encoded   Size 
---------  --------  -----
file_name  1.1 GB    810 MB 
"User.txt"
Name       Encoded   Size 
---------  --------  -----
file_name  1.1 GB    810 MB 
"data.txt"
{
"file0": "1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms8"
"file2": "1fc6JGpX6vUWiwflL1jBxM1YpuMHFAms9"
}
[Layout]
python uds.py update
arguments: None

Bulk Extensions

Bunch

> python uds.py bunch test
test.7z.1 will require 1337 Docs to store.
Created parent folder with ID 1fc6JGpX6vUWiwflL1jBxM1YpuMHFAm12
Successfully Uploaded test.7z.1: [██████████████████████████████] 100%
test.7z.2 will require 1337 Docs to store.
Created parent folder with ID 1fc6JGpX6vUWiwflL1jBxM1YpuQQFAm12
Successfully Uploaded test.7z.2: [██████████████████████████████] 100%
test.7z.3 will require 600 Docs to store.
Created parent folder with ID 1fc6JGpX6vTOiwflL1jBxM1YpuQQFAm12
Successfully Uploaded test.7z.3: [██████████████████████████████] 100%
[Layout]
python uds.py bunch argument[1] argument[2]
argument[1]: name_in_files, or wildcard "?" without quotes
argument[2]: directory, defualt is current directory of UDS

Batch

> python uds.py batch file_name
Update Successful!
Downloaded file_name.7z.1: [██████████████████████████████] 100%
Downloaded file_name.7z.2: [██████████████████████████████] 100%
Downloaded file_name.7z.3: [██████████████████████████████] 100%
[Layout]
python uds.py batch argument
arguments: name_in_files, or wildcard "?" without quotes

Wipe

>python uds.py wipe file
Update Successful!
Deleted file.7z.1
Deleted file.7z.2
Deleted file.7z.3
[Layout]
python uds.py wipe argument
arguments: name_in_files, or wildcard "?" without quotes

兼容 Python 3.

  • 总目录 欢迎大家来到《UDS系列讲解》。这个专栏是博主自己的一个学习记录,和大家一起分享,后面会不定时更新。整个内容分为四个模块,第一个模块介绍UDS的一些入门知识,第二个模块会放一些相关资料,第三个模块是常用服务的介绍,第四个模块是整理的一些归纳笔记。 一、UDS入门篇 UDS入门 怎样学习ISO 14229和ISO 15765? 二、UDS相关下载资料 ISO14229 UDS中文版 三、UD

  • UDS (Unified Diagnostic Services) 是一种用于在汽车电子控制单元(ECU)之间进行诊断和通信的标准协议。它是一种底层协议,主要用于诊断和编程各种汽车系统,例如发动机、变速器、刹车和安全气囊等。 本文将详细介绍UDS协议的概念、特点、应用和实现过程。内容主要包括以下几个部分: 1、UDS协议概述 2、UDS协议的特点 3、UDS协议的应用 4、UDS协议的实现 一、U

  • UDS诊断服务资料: 1.统一诊断服务 (Unified diagnostic services , UDS) (一) 2.统一诊断服务 (Unified diagnostic services , UDS) (二) 3.统一诊断服务 (Unified diagnostic services , UDS) (三) 4.统一诊断服务 (Unified diagnostic services , UD

  • 诊断协议那些事儿 本文为诊断协议那些事儿专栏文章,旨在介绍诊断的应用场景,其本质就是一个用于汽车行业通信的需求规范,用于诊断功能数据的解析!让读者对诊断有一个深入的认识。 关联文章:UDS协议发展历史 一、诊断功能 诊断:通过通信媒介(CAN、LIN、以太网等)连接车辆,获取车辆状态信息,为了能够快速准确的判断车辆或者某个控制器的故障以及故障原因,从而在不拆解整车的情况下为维修提供可靠的依据。当汽

  • 昨天写到ECU Reset服务,今天继续看了UDS模块的代码实现, 1.CC服务,即communication control; 主要实现对服务器通信api的控制。 设计有三个参数分别是 subfunciton, communication Type, control_flag,  subfunction指示对通信方式的控制类型:使能TX和RX,禁止TX和RX,禁止TX使能RX,禁止RX使能TX。

  • UDS和14229的关系 UDS是干什么的? UDS全称是Unified Diagnostic Services,即统一诊断服务。其最重要的作用就是用来诊断汽车的故障的,当然不仅仅是这个用处,它还可以用来进行汽车的下线检测,比如一般车辆会把VIN码写入汽车中的各个零部件中(ECU),比如可以矫正角度,比如可以记录一些和产线相关的信息等等。 那么UDS是如何去诊断故障的呢?这里包含两种方式,一种为在

  • 诊断协议那些事儿 诊断协议那些事儿专栏系列文章,在不拆卸车辆的情况下,UDS协议诊断主要采用CS模式,即诊断仪向车辆指定的ECU发送Request,指定的ECU做出相应的Response,并将响应报文反馈至诊断仪。本文将介绍UDS六大类服务(具体26项服务)。 关联文章: UDS协议发展历史 UDS应用场景 NRC定义(Negative Response Code)

 相关资料
  • 我们还需要能够生成直接链接到他们的照片,视频等。 我们已经成功地以这种方式与Dropbox集成,并希望提供谷歌驱动器作为替代方案。这些场景在Google Drive上可能吗?

  • CodeIgniter 提供了几种最常用的快速缓存的封装,除了基于文件的缓存, 其他的缓存都需要对服务器进行特殊的配置,如果配置不正确,将会抛出 一个致命错误异常(Fatal Exception)。 使用示例 类参考 驱动器 可选 PHP 缓存(APC) 基于文件的缓存 Memcached 缓存 WinCache 缓存 Redis 缓存 虚拟缓存(Dummy Cache) 使用示例 下面的示例代码

  • 谷歌应用程序管理服务帐户的“无限”帐户存储配额 你能帮忙吗?

  • 我有一个要求,我需要展示一张长桌。它不需要一次全部显示,所以ajax加载它(加载前50条记录,然后每次用户滚动到/超过最后一行的第十行时再获取50行)。 但我不确定分页和无限滚动这两种方式中哪一种更好。我希望用户在返回页面时能够跳转到最后一个滚动到的点(通过后退按钮,当然;如果无论用户何时访问页面,我都可以这样做,那就更好了!)前面的行也可见。同时,为了提高性能,我希望将ajax调用的数量限制在尽

  • 问题内容: 我正在尝试使用angularjs无限滚动 它似乎仅在滚动相对于浏览器窗口有效。 我想在内部DIV中进行无限滚动,即我有一个带有通用包装和内部div的页面,用于显示实际内容。 包装页面设置为经过整个窗口,因此它永远不会滚动。但是包含内容的内部div具有自己的滚动条。 如何使无限滚动相对于内部内容div滚动条起作用? 问题答案: 万一有人搜索相同内容并来到这里-这里是有用的链接: http

  • 返回正确的标识符。当我使用服务帐户复制文件时,我可以全天在团队驱动器中复制。当我将它复制到用户的驱动器时,我得到的是“File not found:$UserRootid”。 我假设这是由于服务帐户无法访问用户的“我的驱动器”。我怎样才能让这个手术奏效?有人尝试过吗?