• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

理解“轻量级”

武飞扬头像
挽 阳
帮助1

        日常我们接触过各种“轻量级xxx”的词组,比如轻量级框架、轻量级网络、轻量级密码等,在论文里更是常见到各种“…… 轻量级 ……”(“… lightweight …”)的题目。

        可能很多人会主观的认为轻量级就是体积小、占用少、执行快。那么到底何谓轻量级呢?其实轻量级是相对于重量级(或者既往)的一种评判标准。我们可以这么认为,轻量级包含两层含义。

轻量级

1

开发期间的轻量级

指开发过程的敏捷以及快速响应能力

2

运行期间的轻量级

在完成相同的运算任务下消耗最少的系统资源

下面我们就具体事例展开理解。

        在Python的Web开发里,有两款主流的框架——Flask和Django。前者是轻量级框架,后者是常规的或者说是重的。Flask 的目标是保持核心简单而又可扩展。 Flask 不会替开发者做出许多决定,比如选用何种数据库。 类似的,使用何种模板引擎,是非常容易改变的。所以Flask可以是你需要的一切,而不是你没有的东西。缺省情况下, Flask 不包含数据库抽象层、表单验证或者其他已有的库可以处理的东西。 相反, Flask 通过扩展为你的应用添加这些功能,就如同这些功能是 Flask 原生的一样。 有大量的扩展可以支持数据库集成、表单验证、上传处理和各种开放验证等等。Flask 可能是 “微小”的,但它已经为满足您的各种生产需要做出了充足的准备。而Django则与之相反,Django的功能是全面的,比如Django自带了ORM机制等。

        同样,在物联网中,网络拓扑的边缘节点,受限于边缘设备的计算、存储、能耗,为满足一定的数据处理(传输、安全等)能力,很多轻量级密码和轻量级方案涌现而出,他们在运算上或者存储上,较之于通用的,这些安全性适中、吞吐量较低、性能较高。以轻量级密码为例,为了提高性能和降低吞吐量。在设计上,很多轻量级分组密码的分组长度会更小,其采用64比特或80比特的分组长度,小于AES的128位分组长度;为了提高性能,一些轻量级分组密码算法采用小于96比特的密钥长度,例如80比特的PRESENT算法;传统的哈希函数可支持较大的输入长度(约264比特),而在轻量级哈希函数的主要应用场景中,输入长度通常较小(约256比特);而且,轻量级密码算法大多适合采用硬件实现,其目标是在保证一定安全性的前提下尽可能减少存储空间并提高运行效率。       

        广而化之,在日常,我们可以有轻量级应用、轻量级方案引申说法,这都是对相对于常规而言,没有比较就没有轻重。比如同样写Python,PyCharm 和 VS Code,Code就是轻量级的。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfifbb
系列文章
更多 icon
同类精品
更多 icon
继续加载