增量更新

安卓解包方法

Deadly 提交于 2019-12-01 05:10:50
miui更换第三方recovery之后无法进行OTA升级,因为系统更新会对下载完成的增量包进行加密。 若要进行增量升级则需获得未经加密的增量包,然后再手动刷入。 找到 system.new.dat.br 然后解包转换为可用adb刷入的img文件 下载 Brotli 解压br文件 1 .brotli.exe -d system.new.dat.br -o system.new.dat 可以利用自带下载管理来下载,从而绕过系统更新对完成的zip进行加密的操作 系统更新点击下载 下载管理点击暂停再点击继续 使用 sdat2img 解包 dat 文件 1 sdat2img.py system.transfer.list system.new.dat system.img 进入twrp直接刷入system分区 ref https://forum.xda-developers.com/android/help/tut-how-to-convert-dat-br-to-dat-t3723926 https://github.com/xpirt/sdat2img/blob/master/sdat2img.py https://www.banxiayue.com/brotli.html 原文: 大专栏 安卓解包方法 来源: https://www.cnblogs.com/dajunjun/p

安卓解包方法

你说的曾经没有我的故事 提交于 2019-12-01 05:05:58
miui更换第三方recovery之后无法进行OTA升级,因为系统更新会对下载完成的增量包进行加密。 若要进行增量升级则需获得未经加密的增量包,然后再手动刷入。 找到 system.new.dat.br 然后解包转换为可用adb刷入的img文件 下载 Brotli 解压br文件 1 .brotli.exe -d system.new.dat.br -o system.new.dat 可以利用自带下载管理来下载,从而绕过系统更新对完成的zip进行加密的操作 系统更新点击下载 下载管理点击暂停再点击继续 使用 sdat2img 解包 dat 文件 1 sdat2img.py system.transfer.list system.new.dat system.img 进入twrp直接刷入system分区 ref https://forum.xda-developers.com/android/help/tut-how-to-convert-dat-br-to-dat-t3723926 https://github.com/xpirt/sdat2img/blob/master/sdat2img.py https://www.banxiayue.com/brotli.html 原文: 大专栏 安卓解包方法 来源: https://www.cnblogs.com/wangziqiang123

16-增量式爬虫

和自甴很熟 提交于 2019-12-01 02:18:20
增量式爬虫   增量式爬虫,顾名思义。就是当网站更新新的内容的时候,能够将新内容储存下来,而不是将原来的数据又储存下来。例如电影网站每隔一段时间就更新新的电影,小说网站每天更新新的小说。   因此增量式爬虫就是发送请求之前,判断这个url是否爬取过,解析出数据判断是否爬取过:           1、对爬取过的url进行储存           2、对爬取过的数据进行储存(数据进行哈希储存(节约资源))           3、判断储存的数据是否已经存在 去重方法:     1)将爬取中的url进行储存,储存在redis的set中。下次爬取数据时,首先对即将要发送请求的url对储存在url的set中做判断,如果存在,就不发送请求,否则继续发送请求。     2)爬取到的内容进行唯一身份的标识,然后讲这个唯一标识储存在redis的set中。当下次爬取到网页数据的时候,在进行持久化存储之前,首先可以判断该数据的身份标识是否存在在redis的set中。如果存在,就不储存。如果不存在,就储存身份标识以及数据。 1、url去重 spiders/Movie.py # -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import

希尔排序

ぃ、小莉子 提交于 2019-11-30 23:20:19
由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列 -----《图解数据结构》,主要使用动画来描述常见的数据结构和算法。本系列包括十大排序、堆、队列、树、并查集、图等等大概几十篇。 文章首发于公众号 五分钟学算法 ,欢迎关注获取更多排序内容。 推荐阅读 「算法与数据结构」从入门到进阶吐血整理推荐书单 希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 算法步骤 选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1; 按增量序列个数 k,对序列进行 k 趟排序; 每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1 时,整个序列作为一个表来处理,表长度即为整个序列的长度。 来源:https://github.com

mysql增量备份及恢复解决方案

那年仲夏 提交于 2019-11-30 17:27:59
前言 操作系统崩溃、电源故障、文件系统崩溃和硬件故障等异常状况都可能导致我们正在使用的数据库出现故障而产生数据库中数据不一致的情况。为了保证数据库使用安全,必须定期备份数据库;数据库备份可以分为:完全备份、日志备份、增量备份和文件备份。对于一个大型数据库,频繁执行完全备份可能会需要太多的时间,而且完全备份经常会多次备份一些没有更新过的数据,会造成资源浪费。现在最常用的数据库备份策略是在完全备份的基础上进行较频繁的增量备份。例如,我们可以在数据库使用较少的时段每周进行一次完全备份,然后每天进行一次增量备份,备份下这段时间中可能修改数据库内容的操作,以便在发生文件系统故障、硬件问题等问题导致数据库发生灾难性崩溃的时候利用备份数据进行数据库的恢复。 u 技术分析 MySQL数据库对上述几种导致数据库崩溃的故障都给出了很好的解决办法以保证数据的一致性。 对于操作系统崩溃和电源故障导致的MySQL数据库崩溃,使用MySQL提供的内置方法,在大多数情况下都可以非常有效的恢复:如果我们使用的是MyISAM数据库,可以使用 REPAIR TABLE 或者myisamchk –r 对可能损毁的数据库表进行修补;如果我们使用的是InnoDB,则InnoDB会自动找到挂起的提交了的或未提交的事务列表,并自动回滚未提交的事务和刷新已提交的事务。 如果我们使用前面的方面未能正确恢复被损害的数据

大数据总线平台架构

送分小仙女□ 提交于 2019-11-30 14:29:45
写在前面 研发团队,研发规模发展到一定阶段,各种平台化,中台化的方案就走上了日程。见多了业务架构的平台化方案,今天我们来拆解下数据总线平台的架构。 数据总线平台架构 数据平台的数据源主要来自于两个渠道: 关系数据库 日志数据 先看一张通用的数据总线平台架构图: 数据采集 关系数据库源数据采集,一般采用模拟mysql的slave方式接收binlog信息以实现数据抽取,同时需要对日志信息进行信息转换,转换后数据入kafka进行平滑流控传输,下游消费者进行数据消费,写入数据管理平台。 日志数据来自于各种中间件数据,比如redis日志,nginx日志,rpc日志,es日志,文件系统日志等,通过filebeat或者socket方式到服务器节点agent,通过agent采集并统一发往kafka系统,之后写入数据管理平台。 关系数据库采集 采集流程分为三个部分: 日志抽取模块 增量转换模块 全量拉取模块 日志抽取模块由两部分组成: canal server:负责从mysql拉取增量日志 mysql-extractor storm:负责将增量日志输出到kafka,过滤掉不需要的表数据,保证at least one和高可用 mysql主备是通过binlog实现的。binlog同步有三种模式: Row模式 Statement模式 Mixed模式 一般采用Row模式进行复制,可以读取全量日志。

离线sqoop

萝らか妹 提交于 2019-11-30 12:11:21
离线sqoop sqoop hadoop hive flume 01- Sqoop–软件介绍 sqoop专门用来做RDBMS数据和Hadoop数据相互迁移的一个工具。 Apache Sqoop 是在 Hadoop 生态体系和 RDBMS 体系之间传送数据的一种工具。来自于 Apache 软件基金会提供。sqoop.apache.org Sqoop 工作机制是将导入或导出命令翻译成 mapreduce 程序来实现。在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。 ​ Import:数据导入。RDBMS----->Hadoop Export:数据导出。Hadoop---->RDBMS 02- Sqoop–安装部署 查看服务器内存 free -h 查看磁盘大小 df -h 1.3G 200M 清理缓存 echo 1 >/proc/sys/vm/drop_caches 安装 sqoop 的前提是已经具备 java 和 hadoop 的环境。 最新稳定版: 1.4.6 配置文件修改: cd $SQOOP_HOME /conf mv sqoop-env-template.sh sqoop-env.sh vi sqoop-env.sh export HADOOP_COMMON_HOME = /export/servers/hadoop

Incremental On-line Learning:A Review and Comparison of State of the Art Algorithms

允我心安 提交于 2019-11-30 03:13:30
转自: https://blog.csdn.net/qq_33880788/article/details/80496385 翻译论文:Incremental On-line Learning:A Review and Comparison of State of the Art Algorithms 作者:Viktor Losing, Barbara Hammer, Heiko Wersing 发表在 2018 neurocomputing 摘要 最近,增量式和在线学习受到更多关注,特别是在大数据和从数据流中学习的背景下,与传统的完整数据可用性假设相冲突。尽管有各种不同的方法可供使用,但通常还不清楚哪些方法适用于特定的任务,以及它们如何相互比较。我们分析了代表不同算法类的八种流行增量方法的关键属性。因此,我们对他们的在线分类错误以及他们在极限情况下的行为进行评估。此外,我们讨论了每种方法专门针对超参数优化常常被忽视的问题,并且基于一小组示例来测试它可以如何强健地完成。我们对具有不同特性的数据集进行了广泛的评估,从而提供了有关精度,收敛速度和模型复杂性的性能概览,便于为给定应用选择最佳方法。 1 引言 如今,所有可以想象的信息中的大部分都以数字形式收集和存储,积累到巨大的日增量。 Google每天收到35亿次搜索查询; 近2亿活跃用户的Facebook共享45亿条内容;

VIM配置【增量更新】

安稳与你 提交于 2019-11-29 18:51:16
自己的vim配置 "HELP "key bindings: "<F1>: HELP vimdoc "<F2>: Toggle: NERDTreeToggle "<F4>: autoformat - yapf "<F7>: Toggle: linenumber "<F8> :Toggle: TagbarToggle "<F11>:Toggle: paste mode "================= ALL CONFIGURATION START =============================== set nocompatible filetype off call plug#begin('~/.vim/plugged') Plug 'junegunn/vim-easy-align' Plug 'w0rp/ale' Plug 'Chiel92/vim-autoformat' Plug 'Yggdroot/indentLine' Plug 'Valloric/YouCompleteMe' Plug 'scrooloose/nerdcommenter' Plug 'scrooloose/nerdtree' Plug 'tpope/vim-surround' Plug 'majutsushi/tagbar' Plug 'mhinz/vim-startify' Plug

Kettle增量同步数据

て烟熏妆下的殇ゞ 提交于 2019-11-29 18:14:05
Kettle有几年没用过了,昨天刚好开发找我,说同步ORACLE几张表的数据到MySQL,ORACLE的数据有可能更新,可以通过时间字段,但是全量同步,当天上生产由于数据量大不一定来得及,需要提前想个方案,问我做还是他来做,说他没有找到什么好办法,那就我来吧。就在这一瞬间,我脑子里浮现出来几个方案: 1. 用python写个程序读取ORACLE,通过ID判断,来增量插入到MySQL 2. 用JAVA写个程序读取ORACLE,通过ID判断,来增量插入到MySQL 3. 通过SPARK批量读取ORACLE,通过ID判断,来增量插入到MySQL 4. 通过ORACLE spool到文件,然后在MySQL load inpath 5. 通过kettle增量插入并更新 以上1-4都是增量插入,那么更新的数据怎么来处理,我想了一个办法,通过盗用ogg抓取ORACLE日志存放到KAFKA,写一个spark streaming实时更新这些数据到MySQL。 第一个想法通常会第一个实现,因此我打开Pycharm,安装oracle, MySQL的module, 一直提示gcc++错误,装不了,于是百度,浪费了我半个小时也没搞定,于是放弃了,反正我方案多的是。思来想去,还是用kettle吧,ETL工具不用太麻烦。 我习惯性的把问题肢解成2个步骤: 1. 增量插入 2. 处理更新的数据