大數據

大數據

Nexus协议,闲鱼一体化开发的幕后玩家

作者:海潴 Serverless是这几年兴起的一个概念,Serverless可以帮助开发者减轻甚至摆脱传统后端应用开发所需要的服务器设备的设置和运维工作,并以服务接口的方式为开发者提供所需要的功能。它希望开发者更加专注于应用逻辑本身,而不是被琐碎的基础设施细节所”绑架“。 而FaaS是Serverless的一种比较好的实践方式。自从亚马逊的AWS在14年推出Lambada之后,FaaS这种后端发开方式迅速被大家接受并应用。它拥有更加轻量、事件驱动的特点。 闲鱼选择使用Flutter + FaaS体系来实现云端一体化的开发模式也正是看中了Flutter和FaaS技术本身都是轻量的、面向应用的技术。与一体化本身希望开发者尽可能关注整体的业务逻辑非常契合。 Flutter + FaaS的云端一体化开发模式已经在闲鱼中被使用了一段时间。同事们之前也有过一些文章来介绍一体化开发在闲鱼演进和落地的过程。在这些文章中,都提到了Logic_engine、Nexus_Framework等字眼。它们一直默默得在业务开发同学的身后,支撑着一体化的落地和发展。 今天,我们就来介绍一下这个一体化的幕后推手— Nexus协议,以及基于它衍生出来的框架和库。 Nexus协议的由来 一开始说要做Flutter + FaaS一体化开发的时候,我们对”一体化“这三个字的认知相对比较模糊,只是知道端侧的同学可以用Dart这门语言来写FaaS函数,这样的语言上的一体化。对于FaaS所能做的事,也仅仅停留在前端实施已久的BFF层面。那个阶段,对于要做些什么,还是比较迷茫的。 阿里的同学经常说: 你不知道能做些什么,是因为想得还不够清楚 本着这样的想法,一体化小组经常聚在一起讨(liao)论(tian),不管Flutter + FaaS有没有一体化,反正我们小组先”一体化“了再说。 […]

大數據

MicroPython原理浅析

简介 MicroPython是 Python 3 语言 的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。 MicroPython包含了诸如交互式提示,任意精度整数,关闭,列表解析,生成器,异常处理等高级功能。 足够精简,适合运行在只有256k的代码空间和16k的RAM的芯片上。 MicroPython旨在尽可能与普通Python兼容,让您轻松将代码从桌面传输到微控制器或嵌入式系统。 应用展望 金融智能卡COS系统利用JavaCard虚拟机实现了APPLET的跨平台应用。但是JavaCard标准规范由Oracle公司定制,具有一定的License费用。国内COS厂商每年都需要花费几千万元来获取JavaCard标准的使用权。为了减少这笔开销,COS厂商开始寻找新的技术来取代JavaCard虚拟机,比如Native方案等,但这虽然可以在一定的程度上解决了虚拟机的作用,但对于跨平台的应用实现还是无法彻底解决。 物联网应用碎片化和安全性问题一直是阻碍其发展的主要原因,Micropython虚拟机技术理论上可以完全替代JAVACARD虚拟机,但缺少实用场景,并且其安全性也需要进一步证明论证。但从技术本身上看,Micropython虚拟机的确为物联网的应用开发提供了一种可能,如果有实际产品出现在市场上,经过物联网应用的进一步孵化,有可能会成为物联网领域的”JavaCard”。 平头哥作为物联网AIoT设备的基础设施提供者,于2015年就针对物联网领域推出MCU级别的TEE安全方案,我们认为Micropython技术应用在TEE里,有希望成为物联网安全应用技术的主要组成部分。基于Micropython虚拟机自身的移植性,很快速便捷的在平头哥基于CK802T安全处理器的Hobbit1-2上运行起来。基于物联网产品功能单一的特性,我们可以完全去除Micropython技术的一些无用特性,使之资源消耗达到最小,符合资源受限的物联网设备。 工作原理 Micropython技术是依赖Byte Code的执行,在编译阶段就将py文件先转换成mpy文件,在通过mpy-tool.py生成Byte Code,Byte Code在执行时会依赖Virtual Machine入口表,找到对应的Module入口,最终找到对应的Funcion

大數據

DataWorks数据保护伞功能开启商业化

感谢大家公测期间对于DataWorks数据保护伞功能的支持,数据保护伞将于2020年1月10日开启商业化,根据DataWorks目前增值版本的分级,数据保护伞也将提供不同的功能,您可以根据自身的业务场景,选择最合适的版本进行购买。 增值版本购买地址:https://common-buy.aliyun.com/?spm=a2c0j.8205274.1252641.124455.5712154d23aYu2&commodityCode=dide_pre#/buy 点击参与标准版首月99元活动 各版本功能说明: 版本 说明 适用场景 标准版 购买标准版,即可使用数据保护伞基础功能。 支持用户按照project名、表名、列名自定义配置敏感数据识别规则,帮助您按照命名规范识别您project中的敏感数据; 并支持展示敏感数据的访问记录,您可以看到谁在什么时间写了什么SQL访问了什么敏感数据。 适用于仅对数据安全做轻度管控的企业。 企业人数少,数据量小,数据安全要求较宽松,可基于标准版数据保护伞功能,维护企业资产大盘和访问大盘。 运营人员投入度要求:高。运营人员专业度要求:低。 专业版 基于DataWorks-数据保护伞标准版,增加内容扫描功能、脱敏功能和风险识别与审计功能。 内容识别功能:您可自定义正则或枚举值,据此定义敏感数据识别规则,帮助您发现您企业中哪些列存有这些敏感数据; 脱敏功能:您可以自定义掩盖和HASH脱敏规则;员工在Data Studio中访问数据时,会按照您配置的脱敏规则进行数据展示,员工无法看到明文数据。 风险识别与审计功能:您可以自定义风险识别规则,我们会按照您的规则、筛选出存在风险的数据访问,供您审计;同时支持风险数据的标记和展示。

大數據

2019 年这 6 场收购如何改变大数据和 AI 市场?

相比 2019 年初,即将进入 2020 年的大数据和 AI 市场看起来与之前不太一样。数据、数据管理、数据分析、商业智能、机器学习、人工智能,还有其他相关的技术,都炙手可热。几乎每一位 CIO 都在他们的组织里至少部署了其中的一项技术,或者想要这么做。 技术越高端,部署的难度就越高,而技术厂商在进行产品和服务数字化转型过程中发现了一些机会。 过去一年,与数据和数据分析相关的技术厂商之间发生了一些并购事件,见证了这个市场的波澜。大到提供数据、数据分析和 AI 平台服务的大型云厂商,小到只是往已有产品中添加新功能的小公司,它们之间发生的一系列并购事件让 2019 年的大数据和 AI 市场看起来与以往不同。 技术厂商们意识到数据和数据分析工作负载正在向云端迁移。在这些并购案中,流式处理和实时数据分析成了主要的关注点,AI 也是一个关键的领域。一些拥有机器学习和数据管理能力的厂商尝试在他们的服务和产品中加入商业智能。 Qlik

大數據

[ANNOUNCE] 每周社区更新-51(20191216-20191222)

作者:程鹤群(军长) Apache Flink 中文邮件列表中的 Flink Weekly 周报,计划每周一期,内容涵盖邮件列表中用户问题的解答、社区开发和提议的进展、社区新闻以及其他活动、博客文章等,欢迎持续关注~ 本期的主要内容由 Hequn Cheng 整理,包括:发布 Flink 1.10 和 Flink 1.9.2 的更新,关于将 Flink Docker image

大數據

LoRa协议学习总结

简介 LoRa是什么?LoRa是LongRange的简称,是应用在物联网的低功耗广域网的一种传输技术。具有远距离通讯、低功耗等特点,代价就是传输速率,速率越低,传输的距离就会越远。基于线性调频扩频技术,保持了FSK调制相同的低功耗特性,额外增加了通信距离。因此使用LoRa技术,能够以低的发射功率获得更远的传输距离。 1、应用举例 LoRa是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线技术。主要在全球免费频段运行,包括433/470/868/915MHz。由于LoRa技术具有远距离、低功耗、低成本、多节点的特性。多数应用在智能建筑、智慧城市等应用领域。 例如智能水表的应用就很好的利用了LoRa技术。 下面就来介绍一下智能水表的抄表,大致分为三个部分:水表、LoRa模块、网关。 水表的功能是正转流量统计、倒转流量统计、磁干扰检测、应急关阀和无线传输数据。LoRa模块通过与水表的对接将水表采集的数据进行转发。LoRa网关的主要工作是接收服务指令,对水表进行管理、数据采集以及上传,主要作用是用于读取水表数据,水表收到抄表指令后会将采集的数据返回到网关中,网关再将数据返回到服务器,从而实现无线抄表的流程。大致的通讯过程见下图(引用)。 2、工作频段 LoRa在中国部署的最佳免费频段有两个:CN779-787(最大发射功率仅10dBm)、CN470-510(最大发射功率可达17dBm)。 96路上行,470.3 MHz 每 200 kHz递增一个到 489.3 MHz,SF7~SF12 4/548路下行,500.3 MHz 每 200

大數據

【译】Apache Spark 数据建模之时间维度(一)

编译:诚历,阿里巴巴计算平台事业部 EMR 技术专家,Apache Sentry PMC,Apache Commons Committer,目前从事开源大数据存储和优化方面的工作。 原文链接 :http://blog.madhukaraphatak.com/data-modeling-spark-part-1/ 数据建模是数据分析重要的组成之一,正确的建立模型有助于用户更好地解答业务相关的问题。在过去几十年中,数据建模技术也一直是SQL数据仓库的基础。 Apache Spark作为新一代的数仓技术的代表,我们能够在 Spark 中使用早期的数据建模技术。这使得Spark data pineline 更加有效。 在本系列文章中,我将讨论spark中不同的数据建模。本系列的第一篇文章中将讨论如何使用日期维度。 数据分析中数据和时间的重要性 我们分析的大多数数据通常都包含日期或时间戳。例如,它可能是

大數據

【译】Apache Spark 数据建模之时间维度(二)

编译:诚历,阿里巴巴计算平台事业部 EMR 技术专家,Apache Sentry PMC,Apache Commons Committer,目前从事开源大数据存储和优化方面的工作。 原文链接 :http://blog.madhukaraphatak.com/data-modeling-spark-part-2/ 数据建模是数据分析重要的组成之一,正确的建立模型有助于用户更好地解答业务相关的问题。在过去几十年中,数据建模技术也一直是SQL数据仓库的基础。 Apache Spark作为新一代的数仓技术的代表,我们能够在 Spark 中使用早期的数据建模技术。这使得Spark data pineline 更加有效。 在本系列文章中,我将讨论spark中不同的数据建模。本系列的第二篇文章中将讨论如何处理多个日期。 多个日期列 在上一篇文章中,我们讨论了如何处理单个日期列的数据分析。单一日期列在许多数据集中很常见。因此,前面文章中讨论的策略是有效的。

大數據

IOT常用通信方式(有线、无线)

有线部分 RS232 通讯方式:全双工通讯(能同时发送和接受数据)通讯距离:标准值为50英尺,实际上也只能用在15米左右传输方式:异步传输传输速率:20Kbps说明:主流的串行通信接口之一,常用的有DB9和DB25两种,传送的数字量采用负逻辑,且与地对称(逻辑1:-3 ~-15V ,逻辑0:+3~+15V)。 只能用于点对点通讯。 RS485 通讯方式:半双工通讯(不能同时发送和接受数据)通讯距离:最远可以达到1200米左右,但是它的传输速率和传输距离是成反比的,只有在100Kb/s以下的传输速度,才能达到最大的通信距离,如果需要传输更远距离可以使用中继。最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到10.8公里传输方式:异步传输传输速率:10Mbps说明:主流的串行通信接口之一,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以。有极强的抗共模干扰的能力,逻辑“1”以两线间的电压差为+(2~6)V表示,逻辑“0”以两线间的电压差为-(2~6)V表示。支持多点数据通信,网络拓扑一般采用终端匹配的总线型结构即采用一条总线将各个节点串接起来,不支持环形或星型网络。最大支持32个节点。 RS422 通讯方式:全双工通讯(能同时发送和接受数据)通讯距离:1200米左右传输方式:异步传输传输速率:10Mbps说明:采用单独的发送和接收通道,因此不必控制数据方向。支持多点数据通信,最大支持10个节点。其他电气特性同RS485类似。 M-BUS 通讯方式:半双工通讯(主从式)通讯距离:最远3600米左右传输方式:异步传输传输速率:5kb/s左右说明:采用主叫/应答的方式通信,即只有处于中心地位的主站(Master)发出询问后,从站(Slave)才能向主站传输数据。总线型拓扑结构。主站向从站发送逻辑“1”时,总线电压Vmark≤42V,发送逻辑“0”时,电压下降10V以上,降到Vspace≥12V;从站向主站发送逻辑“1”时,从站所取电流为Imark≤1.5mA,发送逻辑“0”时,从站的会在Imark上加上脉冲电流11-20mA,形成Ispace。 PLC(电力载波) 通讯方式:全双工通讯通讯距离:不稳定传输方式:同步传输传输速率:根据不同方案差别较大说明:电力线载波通信是以高频载波信号通过高压或低压电力线传输信息的通信方式。电力线对载波信号造成高削减。当电力线上负荷很重时,线路阻抗可达1欧姆以下,造成对载波信号的高削减。实际应用中,当电力线空载时,点对点载波信号可传输到几公里。但当电力线上负荷很重时,只能传输几十米。 无线部分 Zigbee 通讯频段:免执照频段。使用工业科学医疗(ISM)频段,915MHz(美国), 868MHz(欧洲), 2. 4GHz(全球)

大數據

如何让 python 处理速度翻倍?内含代码

作者 | 墨辨 概念篇 在理解协程这个概念及其作用场景前,先要了解几个基本的关于操作系统的概念,主要是进程、线程、同步、异步、阻塞、非阻塞,了解这几个概念,不仅是对协程这个场景,诸如消息队列、缓存等,都有一定的帮助。接下来,编者就自己的理解和网上查询的材料,做一个总结。 进程 在面试的时候,我们都会记住一个概念,进程是系统资源分配的最小单位。是的,系统由一个个程序,也就是进程组成的,一般情况下,分为文本区域、数据区域和堆栈区域。 文本区域存储处理器执行的代码(机器码),通常来说,这是一个只读区域,防止运行的程序被意外修改。 数据区域存储所有的变量和动态分配的内存,又细分为初始化的数据区(所有初始化的全局、静态、常量,以及外部变量)和为初始化的数据区(初始化为0的全局变量和静态变量),初始化的变量最初保存在文本区,程序启动后被拷贝到初始化的数据区。 堆栈区域存储着活动过程调用的指令和本地变量,在地址空间里,栈区紧连着堆区,他们的增长方向相反,内存是线性的,所以我们代码放在低地址的地方,由低向高增长,栈区大小不可预测,随开随用,因此放在高地址的地方,由高向低增长。当堆和栈指针重合的时候,意味着内存耗尽,造成内存溢出。 进程的创建和销毁都是相对于系统资源,非常消耗资源,是一种比较昂贵的操作。进程为了自身能得到运行,必须要抢占式的争夺CPU。对于单核CPU来说,在同一时间只能执行一个进程的代码,所以在单核CPU上实现多进程,是通过CPU快速的切换不同进程,看上去就像是多个进程在同时进行。 由于进程间是隔离的,各自拥有自己的内存内存资源,相比于线程的共同共享内存来说,相对安全,不同进程之间的数据只能通过 IPC(Inter-Process Communication) 进行通信共享。 线程 线程是CPU调度的最小单位。如果进程是一个容器,线程就是运行在容器里面的程序,线程是属于进程的,同个进程的多个线程共享进程的内存地址空间。 线程间的通信可以直接通过全局变量进行通信,所以相对来说,线程间通信是不太安全的,因此引入了各种锁的场景,不在这里阐述。 当一个线程崩溃了,会导致整个进程也崩溃了,即其他线程也挂了, 但多进程而不会,一个进程挂了,另一个进程依然照样运行。

Scroll to Top