操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    目說明:

    • 該項目主要分析深圳通刷卡數據,通過大數據技術角度來研究深圳地鐵客運能力,探索深圳地鐵優化服務的方向;
    • ? 強調學以致用,本項目的原則是盡可能使用較多的常用技術框架,加深對各技術棧的理解和運用,在使用過程中體驗各框架的差異和優劣,為以后的項目開發技術選型做基礎;
    • 解決同一個問題,可能有多種技術實現,實際的企業開發應當遵守最佳實踐原則;
    • 學習過程優先選擇較新的軟件版本,因為新版踩坑一定比老版更多,坑踩的多了,技能也就提高了,遇到新問題可以見招拆招、對癥下藥;
    • ...

    第一期架構圖

    原圖 .file/.doc/SZT-bigdata-2.png

    數字標記不分先后順序,對應代碼:
    1-cn.java666.sztcommon.util.SZTData
    2-cn.java666.etlflink.app.Jsons2Redis
    3-cn.java666.etlspringboot.controller.RedisController#get
    4-cn.java666.etlflink.app.Redis2ES
    5-cn.java666.etlflink.app.Redis2Csv
    6-Hive sql 腳本(開發維護成本最低)
    7-Saprk 程序(開發維護成本最高,但是功能更強)
    8-HUE 方便查詢和展示 Hive 數據
    9-cn.java666.etlflink.app.Redis2HBase
    10、14-cn.java666.szthbase.controller.KafkaListen#sink2Hbase
    11-cn.java666.etlflink.app.Redis2HBase
    12-CDH HDFS+HUE+Hbase+Hive 一站式查詢
    13-cn.java666.etlflink.app.Redis2Kafka
    15-cn.java666.sztflink.realtime.Kafka2MyCH
    16-cn.java666.sztflink.realtime.sink.MyClickhouseSinkFun
    

    下一步,計劃開發數據湖中臺解決方案


    核心技術棧 + 版本選擇 + 點評 (持續更新)?:

    • Java-1.8/Scala-2.11,生態豐富,輪子夠多;
    • Flink-1.10,流式業務、ETL 首選。發展勢頭如日中天,阿里巴巴背書,輕快靈活、健步如飛;就問你信不信馬云???
    • Redis-3.2,天然去重,自動排序,除了快還是快。廉價版硬盤實現同類產品 SSDB。Win10|CentOS7|Docker Redis-3.2 三選一,CentOS REPL yum 安裝默認使用3.2版本;
    • Kafka-2.1,消息隊列業務解耦、流量消峰、訂閱發布場景首選。最佳 CP:kafka-eagle-1.4.5,集生產、消費、Ksql、大屏、監控、報警于一身,同時監控 zk。其他我用過的 Kafka 監控組件最后都放棄了: KafkaOffsetMonitor 問題太多,丑拒; Kafka Manager,已更名為 CMAK,老外寫的軟件用起來就覺得很別扭,而且最高只兼容 Kafka 0.11,但是 Kafka 官方已經升級到 2.4 了啊喂; 其他各種開源的 Kafka 監控基本都試過,一個能打的都沒有。
    • Zookeeper-3.4.5,集群基礎依賴,選舉時 ID 越大越優勢,通過會話機制維護各組件在線狀態;
    • CDH-6.2,解決了程序員最難搞的軟件兼容性問題,全家桶服務一鍵安裝;
    • Docker-19,最快速度部署一款新軟件,無侵入、無污染、快速擴容、服務打包。如果當前沒有合適的運行環境,那么 docker 一定是首選;
    • SpringBoot-2.13,通用 JAVA 生態,敏捷開發必備;
    • knife4j-2.0,前身為 swagger-bootstrap-ui,REST API 項目調試簡直不要太方便,秒殺原版絲襪哥十個數量級;
    • Elasticsearch-7,全文檢索領域唯一靠譜的數據庫,搜索引擎核心服務,億級數據毫秒響應,真實時,坑也多;
    • Kibana-7.4,ELK 全家桶成員,前端可視化,小白也不怕;
    • ClickHouse,家喻戶曉的 nginx 服務器就是俄羅斯的代表作,接下來大紅大紫的 clickhouse 同樣身輕如燕,但是性能遠超目前市面所有同類數據庫,存儲容量可達PB級別。目前資料還不多,正在學習中;
    • MongoDB-4.0,文檔數據庫,對 Json 數據比較友好,主要用于爬蟲數據庫;
    • Spark-2.3,目前國內大數據框架實時微批處理、離線批處理主流方案。這個組件太吃資源了,曾經在我開發時,把我的筆記本搞到藍屏,于是我直接遠程提交到 spark 集群了。接下來預計 Flink 開始表演了,真的用了更快的框架就愛上了;
    • Hive-2.1,Hadoop 生態數倉必備,大數據離線處理 OLAP 結構化數據庫,準確來說是個 HQL 解析器,查詢語法接近 Mysql,就是窗口函數比較復雜;
    • Impala-3.2,像羚羊一樣輕快矯健,同樣的 hive sql 復雜查詢,impala 毫秒級返回,hive 卻需要80秒左右甚至更多;
    • HBase-2.1 + Phoenix,Hadoop 生態下的非結構化數據庫,HBase 的靈魂設計就是 rowkey 和多版本控制,鳳凰嫁接 hbase 可以實現更復雜的業務;
    • Kylin-2.5,麒麟多維預分析系統,依賴內存快速計算,但是局限性有點多啊,適用于業務特別穩定,緯度固定少變的場景,渣渣機器就別試了,內存太小帶不起;
    • HUE-4.3,CDH 全家桶贈送的,強調用戶體驗,操作數倉很方便,權限控制、hive + impala 查詢、hdfs 文件管理、oozie 任務調度腳本編寫全靠他了;
    • 阿里巴巴 DataX,異構數據源同步工具,主持大部分主流數據庫,甚至可以自己開發插件,馬云家的東西,我選你!!!如果你覺得這還滿足不了你的特殊業務需求,那么推薦你用 FlinkX,基于 Flink 的分布式數據同步工具。理論上你也可以自己開發插件;
    • Oozie-5.1,本身 UI 奇丑,但是配合 HUE 使用尚可接受,主要用來編寫和運行任務調度腳本;
    • Sqoop-1.4,主要用來從 Mysql 導出業務數據到 HDFS 數倉,反過來也行;
    • Mysql-5.7,程序員都要用的吧,如果說全世界程序員都會用的語言,那一定是 SQL。Mysql 8.0 普及率不夠高,MariaDB 暫不推薦,復雜的函數不兼容 Mysql,數據庫這么基礎的依賴組件出了問題你就哭吧;
    • Hadoop3.0(HDFS+Yarn),HDFS 是目前大數據領域最主流的分布式海量數據存儲系統,這里的 Yarn 特指 hadoop 生態,主要用來分配集群資源,自帶執行引擎 MR;
    • 阿里巴巴 DataV 可視化展示;
    • ...

    我發現越來越多的國產開源軟件用戶體驗值得肯定。。。


    準備工作:

    以下是我的開發環境,僅作參考:

    • Win10 IDEA 2019.3 旗艦版,JAVA|Scala 開發必備,集萬般功能于一身;
    • Win10 DBeaver 企業版 6.3,秒殺全宇宙所有數據庫客戶端,幾乎一切常用數據庫都可以連,選好驅動是關鍵;
    • Win10 Sublime Text3,地表最強輕量級編輯器,光速啟動,無限量插件,主要用來編輯零散文件、markdown 實時預覽、寫前端特別友好(雖然我不擅長),速度快到完全不用擔心軟件跟不上你的手速;
    • 其他一些實用工具參考我的博客:https://java666.cn/#/AboutMe
    • CentOS7 CDH-6.2 集群,包含如下組件,對應的主機角色和配置如圖,集群至少需要40 GB 總內存,才可以滿足基本使用,不差錢的前提下,RAM 當然是合理范圍內越大越好啦,魯迅都說“天下武功唯快不破”;我們的追求是越快越好;

    如果你選用原版 Apache 組件搭建大數據集群,那么你會有踩不完的坑。我的頭發不夠掉了,所以我選 CDH!!!?

    物理機配置:

    • 以上軟件分開部署在我的三臺電腦上,Win10 筆記本 VMware + Win10 臺式機 VMware + 古董筆記本 CentOS7。物理機全部配置 SSD + 千兆以太網卡,HDFS 需要最快的網卡。好馬配好鞍,當然你得有個千兆交換機配合千兆網線,木桶原理警告!!!
    • 有個機架當然再好不過了,哈哈哈。。。
    • 如果你想避免網線牽來牽去,可以采用電力貓實現分布式家庭組網方案;

    數據源:

    • 深圳市政府數據開放平臺,深圳通刷卡數據 133.7 萬條【離線數據】貌似已經停止服務:
      https://opendata.sz.gov.cn/data/api/toApiDetails/29200_00403601
    • 備用數據源(之前上傳的一批 jsons 數據有些紕漏,于是重新整理壓縮后放到本倉庫中,速度慢的同學可以嘗試碼云 https://gitee.com/geekyouth/SZT-bigdata ):
      .file/2018record3.zip

    理論上可以當作實時數據,但是這個接口響應太慢了,如果采用 kafka 隊列方式,也可以模擬出實時效果。

    本項目采用離線 + 實時思路 多種方案處理。


    開發進度:

    準備好 java、scala、大數據開發常用的環境,比如 IDEA、VMware 虛擬機、CDH等,然后手機靜音蓋上,跟我一起左手畫個龍,右手劃一道彩虹,開始表演吧


    1- 獲取數據源的 appKey:

    https://opendata.sz.gov.cn/data/api/toApiDetails/29200_00403601

    2- 代碼開發:

    2.1- 調用 cn.java666.etlspringboot.source.SZTData#saveData 獲取原始數據存盤 /tmp/szt-data/szt-data-page.jsons,核對數據量 1337,注意這里每條數據包含1000條的數據;


    2.2- 調用 cn.java666.etlflink.sink.RedisSinkPageJson#main 實現 etl 清洗,去除重復數據,redis 天然去重排序,保證數據干凈有序,跑完后核對 redis 數據量 1337。


    2.3- redis 查詢,redis-cli 登錄后執行 hget szt:pageJson 1

    或者 dbeaver 可視化查詢:


    2.4- cn.java666.etlspringboot.EtlSApp#main 啟動后,也可以用 knife4j 在線調試 REST API:


    2.5- cn.java666.etlflink.source.MyRedisSourceFun#run 清洗數據發現 133.7 萬數據中,有小部分源數據字段數為9,缺少兩個字段:station、car_no;丟棄臟數據。

    合格源數據示例:

    {
    	"deal_date": "2018-08-31 21:15:55",
    	"close_date": "2018-09-01 00:00:00",
    	"card_no": "CBHGDEEJB",
    	"deal_value": "0",
    	"deal_type": "地鐵入站",
    	"company_name": "地鐵五號線",
    	"car_no": "IGT-104",
    	"station": "布吉",
    	"conn_mark": "0",
    	"deal_money": "0",
    	"equ_no": "263032104"
    }

    不合格的源數據示例:

    {
    	"deal_date": "2018-09-01 05:24:22",
    	"close_date": "2018-09-01 00:00:00",
    	"card_no": "HHAAABGEH",
    	"deal_value": "0",
    	"deal_type": "地鐵入站",
    	"company_name": "地鐵一號線",
    	"conn_mark": "0",
    	"deal_money": "0",
    	"equ_no": "268005140"
    }

    2.6- cn.java666.etlflink.app.Redis2Kafka#main 根據需求推送滿足業務要求的源數據到 kafka,topic-flink-szt-all 保留了所有源數據 1337000 條, topic-flink-szt 僅包含清洗合格的源數據 1266039 條。


    2.7- kafka-eagle 監控查看 topic,基于原版去掉了背景圖,漂亮多了:

    ksql 命令查詢: select * from "topic-flink-szt" where "partition" in (0) limit 1000


    2.8- cn.java666.etlflink.app.Redis2Csv#main 實現了 flink sink csv 格式文件,并且支持按天分塊保存。


    2.9- cn.java666.etlflink.app.Redis2ES#main 實現了 ES 存儲源數據。實現實時全文檢索,實時跟蹤深圳通刷卡數據。

    這個模塊涉及技術細節比較多,如果沒有 ES 使用經驗,可以先做下功課,不然的話會很懵。

    我之前在處理 ES 各種問題踩了不少坑,熬了不少通宵,掉了很多頭發。

    遇到問題心態要穩,因為你今天處理了一個問題,明天接觸新的版本新的框架大概率又會出現新的問題。。

    所以最佳實踐很重要!!!

    這部分內容有更新:修正了上一個版本時區問題。

    接下來,讓我們時光倒流,回到 2018-09-01這一天,調整 kibana 面板時間范圍 2018-09-01 00:00:00.000~2018-09-01 23:59:59.999,看看當天深圳通刷卡記錄的統計圖曲線走向是否科學,間接驗證數據源的完整性。

    修正時區后統計數量,字段完整的合格源數據 1266039 條,2018-09-01全天 1229180 條。

    圖中可以看出 2018-09-01 這一天刷卡記錄集中在上午6點~12點之間,早高峰數據比較吻合,雖然這一天是周六,高峰期不是特別明顯。我們繼續縮放 kibana 時間軸看看更詳細的曲線:

    回顧一下本項目 ETL 處理流程:

    1337000 條源數據清洗去除字段不全的臟數據,剩余的合格數據條數 1266039 已經進入 ES 索引 szt-data

    在 1266039 條合格數據中,有 1227234 條數據集中在 2018-09-01 這一天的上午時段;

    我們暫且相信上午時段的數據是真實的,那么是否說明官方提供的數據并不是全部的當天完整刷卡數據???

    如果按照上午的刷卡量來估測全天的刷卡量,考慮到是周六,那么深圳通全天的刷卡記錄數據應該在 122萬 X 2 左右,當然這么武斷的判斷方式不是程序員的風格,接下來我們用科學的大數據分析方式來研究這些數據背后的意義。

    注意,ES 大坑:

    • ES 存數據時,帶有時間字段的數據如何實時展示到 kibana 的圖表面板上?
      需要在存入 index 之前設置字段映射。參考格式,不要照抄!!!
    {
      "properties": {
    	"deal_date": {
    	  "format": "yyyy-MM-dd HH:mm:ss",
    	  "type": "date"
    	}
      }
    }  

    這里并沒有指定時區信息,但是 ES 默認使用 0 時區,這個軟件很坑,無法設置全局默認時區。但是很多軟件產生的數據都是默認機器所在時區,國內就是東八區。因為我們的源始數據本身也沒有包含時區信息,這里我不想改源數據,那就假裝自己在 ES 的 0 時區。同時需要修改 kibana 默認時區為 UTC,才可以保證 kibana 索引圖表時間軸正確對位。不過這并不是一個科學的解決方案。

    如果是企業項目,必須要用數據質量監控軟件!!!要不然得有多少背鍋俠要殺去祭天,數據可以沒有但是千萬不能錯。

    • ES 存數據時,需要使用 json 格式包裝數據,不符合json 語法的純字符無法保存;
    • ES 序列化復雜的 bean 對象時,如果 fastjson 報錯,推薦使用 Gson,很強!

    TIPS:

    • Gson 相比 fastjson:Gson 序列化能力更強,但是 反序列化時,fastjson 速度更快。

    2.10- 查看 ES 數據庫卡號,對比自己的深圳通地鐵卡,逐漸發現了一些脫敏規律。

    日志當中卡號脫敏字段密文反解猜想:
    由脫敏的密文卡號反推真實卡號,因為所有卡號密文當中沒有J開頭的數據, 但是有A開頭的數據,A !=0,而且出現了 BCDEFGHIJ 沒有 K,所以猜想卡號映射關系如圖!!!


    類似摩斯電碼解密。。。我現在還不確定這個解密方式是否正確


    2.11- cn.java666.sztcommon.util.ParseCardNo#parse 實現了支持自動識別卡號明文和密文、一鍵互轉功能。 cn.java666.etlspringboot.controller.CardController#get 實現了卡號明文和密文互轉 REST API。


    3- 搭建數倉:深圳地鐵數倉建模

    3.1- 第一步,分析業務

    確定業務流程 ---> 聲明粒度 ---> 確定維度 ---> 確定事實

    3.2- 第二步,規劃數倉結構

    參考行業通用的數倉分層模式:ODS、DWD、DWS、ADS,雖然原始數據很簡單,但是我們依然使用規范的流程設計數據倉庫。

    • 第一層:ODS 原始數據層
    ods/ods_szt_data/day=2018-09-01/   
    # szt_szt_page/day=2018-09-01/  
    • 第二層:DWD 清洗降維層
      區分維表 dim_ 和事實表 fact_,為了使粒度更加細化,我們把進站和出站記錄分開,巴士數據暫不考慮。
    dwd_fact_szt_in_detail      進站事實詳情表
    dwd_fact_szt_out_detail     出站事實詳情表
    dwd_fact_szt_in_out_detail  地鐵進出站總表
    • 第三層:DWS 寬表層
    dws_card_record_day_wide  每卡每日行程記錄寬表【單卡單日所有出行記錄】
    • 第四層:ADS 業務指標層【待補充】
    【體現進站壓力】 每站進站人次排行榜      
    	ads_in_station_day_top
    【體現出站壓力】 每站出站人次排行榜      
    	ads_out_station_day_top
    【體現進出站壓力】 每站進出站人次排行榜      
    	ads_in_out_station_day_top
    【體現通勤車費最多】 每卡日消費排行      
    	ads_card_deal_day_top  
    【體現線路運輸貢獻度】 每線路單日運輸乘客總次數排行榜,進站算一次,出站并且聯程算一次     
    	ads_line_send_passengers_day_top  
    【體現利用率最高的車站區間】 每日運輸乘客最多的車站區間排行榜       
    	ads_stations_send_passengers_day_top
    【體現線路的平均通勤時間,運輸效率】 每條線路單程直達乘客耗時平均值排行榜     
    	ads_line_single_ride_average_time_day_top
    【體現深圳地鐵全市乘客平均通勤時間】 所有乘客從上車到下車間隔時間平均值    
    	ads_all_passengers_single_ride_spend_time_average
    【體現通勤時間最長的乘客】 單日從上車到下車間隔時間排行榜     
    	ads_passenger_spend_time_day_top
    【體現車站配置】 每個站點進出站閘機數量排行榜
    	每個站點入站閘機數量  		ads_station_in_equ_num_top
    	每個站點出站閘機數量    		ads_station_out_equ_num_top
    【體現各線路綜合服務水平】 各線路進出站閘機數排行榜
    	各線路進站閘機數排行榜 		ads_line_in_equ_num_top.png
    	各線路出站閘機數排行榜 		ads_line_out_equ_num_top
    【體現收入最多的車站】 出站交易收入排行榜   
    	ads_station_deal_day_top
    【體現收入最多的線路】 出站交易所在線路收入排行榜   
    	ads_line_deal_day_top
    【體現換乘比例、乘車體驗】 每天每線路換乘出站乘客百分比排行榜  
    	ads_conn_ratio_day_top
    【體現每條線的深圳通乘車卡普及程度 9.5 折優惠】 出站交易優惠人數百分比排行榜     
    	ads_line_sale_ratio_top
    【體現換乘的心酸】 換乘耗時最久的乘客排行榜	
    	ads_conn_spend_time_top
    【體現線路擁擠程度】 上車以后還沒下車,每分鐘、小時每條線在線人數   
    	ads_on_line_min_top

    3.3- 第三步:建庫建表計算指標

    hdfs 關閉權限檢查。hive 設置保存目錄 /warehouse;
    hue 創建 hue 用戶,賦予超級組。hue 切換到 hue 用戶,執行 hive sql 建庫 szt;
    庫下面建目錄 ods dwd dws ads;

    上傳原始數據到 /warehouse/szt.db/ods/
    szt-etl-data.csv szt-etl-data_2018-09-01.csv szt-page.jsons

    查看: hdfs dfs -ls -h hdfs://cdh231:8020/warehouse/szt.db/ods/

    接下來使用 HUE 按照 sql/hive.sql 依次執行 HQL 語句.....

    也可以使用 IDEA Database 工具欄操作,附送idea cdh hive 完美驅動 https://github.com/timveil/hive-jdbc-uber-jar/releases:

    也可以使用 DBeaver (我只想說, 上古產品 Sqlyog、navicat、heidisql、workbench 全都是戰五渣),因為有時候復雜的查詢可以一邊執行一邊在另一個客戶端工具查看結果,這對于復雜的嵌套查詢 debug 非常有助于分析和跟蹤問題。DBeaver 客戶端自帶圖表,不過沒有 HUE 好看:


    已經完成的指標分析:


    3.3.1 - 深圳地鐵進站人次排行榜:

    2018-09-01,當天依次為:五和、布吉、丹竹頭,數據說明當天這幾個站點進站人數最多。


    3.3.2 - 深圳地鐵出站人次排行榜:

    2018-09-01,當天出站乘客主要去向分別為:深圳北高鐵站、羅湖火車站、福田口岸。


    3.3.3- 深圳地鐵進出站總人次排行榜:

    2018-09-01,當天車站吞吐量排行榜:
    五和站???、布吉站(深圳東火車站)、羅湖站(深圳火車站)、深圳北(深圳北高鐵站)。。。
    五和站為什么這么秀???


    3.3.4- 深圳地鐵乘客車費排行榜:

    2018-09-01,當天車費最高的乘客花了 48 元人民幣
    說明:深圳通地鐵卡不記名,未涉及個人隱私!!!


    3.3.5- 深圳地鐵各線路單日發送旅客排行榜:

    2018-09-01,當天五號線客運量遙遙領先,龍崗線碾壓一號線,心疼龍崗人民!


    3.3.6- 深圳地鐵每日運輸乘客最多的區間排行榜:

    2018-09-01當天前三名分別是:赤尾>華強北,福民>福田口岸,五和>深圳北


    3.3.7- 深圳地鐵每條線路單程直達乘客耗時平均值排行榜:

    2018-09-01,當天五號線單程直達乘客平均耗時1500s,約合25分鐘,平均值最長的是 11號線,平均耗時 40 分鐘


    3.3.8- 深圳地鐵所有乘客通勤時間平均值:

    2018-09-01,當天所有乘客通勤時間平均值 1791 s,約合 30 分鐘


    3.3.9- 深圳地鐵所有乘客通勤時間排行榜:

    2018-09-01,當天所有乘客通勤時間排行榜,站內滯留最久的乘客間隔 17123 秒,約合 4.75 小時,實際情況只需要 20 分鐘車程,難道是進站搞事情???


    3.3.10- 深圳地鐵每個站點進出站閘機數量排行榜:

    2018-09-01,當天福田站雙項第一


    3.3.11- 深圳地鐵各線路進出站閘機數量排行榜:

    2018-09-01,當天深圳地鐵一號線長臉了@_@,兩個指標都是第一,港鐵四號線全部墊底,后媽養的???


    3.3.12- 深圳地鐵各站收入排行榜:

    2018-09-01,當天上午深圳北站收入 4 萬元人民幣,排名第一


    3.3.12- 深圳地鐵各線路收入排行榜:

    2018-09-01,數據顯示一號線依然是深圳地鐵最多收入的線路,1號線上午收入 30 萬元人民幣,其次是五號線緊隨其后


    3.3.13- 深圳地鐵各線路換乘出站乘客百分比排行榜:

    換乘后從五號線出來的乘客是占比最高的 15.6%,從九號線出站的乘客,換乘比例最低,僅 9.42%


    3.3.14- 深圳地鐵各線路直達乘客優惠人次百分比排行榜:

    目前可以確定的是,持有深圳通地鐵卡可以享受9.5折優惠乘坐地鐵,從統計結果看,2018-09-01當天,七號線使用地鐵卡優惠的乘客人次占比最高,達到 90.36%,排名最低的是五號線,占比 84.3%


    3.3.15- 深圳地鐵換乘時間最久的乘客排行榜:

    統計過程發現難以理解的現象,有幾個乘客進站以后,沒有刷卡出站就換乘了公交車,于是出現了同一個地鐵站進出站,但是標記為聯程的記錄


    4- 新增模塊:SZT-kafka-hbase

    SZT-kafka-hbase project for Spring Boot2
    看過開源的 spring-boot-starter-hbase、spring-data-hadoop-hbase,基礎依賴過于老舊,長期不更新;引入過程繁瑣,而且 API 粒度受限;數據庫連接沒有復用,導致數據庫服務讀寫成本太高。

    于是自己實現了 hbase-2.1 + springboot-2.1.13 + kafka-2.0 的集成,一個長會話完成 hbase 連續的增刪改查,降低服務器資源的開銷。

    主要特色:

    • knife4j 在線調試,點擊鼠標即可完成 hbase 寫入和查詢,再也不用記住繁瑣的命令。
    • hbase 列族版本歷史設置為 10,支持配置文件級別的修改。可以查詢某卡號最近 10 次交易記錄。
    • hbase rowkey 設計為卡號反轉,使得字典排序過程消耗的服務器算力在分布式環境更加均衡。
    • 全自動的建庫建表【本項目的 hbase 命名空間為 szt】,實現冪等操作,無需擔心 hbase 數據庫的污染。

    效果展示:

    • 準備部署完成的 hbase,適當修改本項目配置文件,運行 SZT-kafka-hbase 項目,效果如下:

    啟動:

    api-debug,隨便寫點東西進去,狂點發送。能寫多快就考驗你的手速了:

    hue-hbase 查表:

    hue-hbase 查看歷史版本:

    hbase-shell 命令:
    全表掃描,返回十個版本格式化為字符串顯示,壓榨服務器性能的時候到啦!!!
    scan 'szt:data', {FORMATTER=> 'toString',VERSIONS=>10}


    • 接下來接入 kafka
      啟動 cn.java666.etlflink.app.Redis2Kafka,生產消息,適當調慢生產速度,以免機器崩潰。
      不出意外的話,你會看到 SZT-kafka-hbase 項目的控制臺打印了日志:

    如果 hbase 崩潰了,看看內存夠不夠,我就直接懟上 2GB X 3 個節點:

    5- SZT-flink 模塊新增 cn.java666.etlflink.app.Json2HBase

    實現了從 redis 或者其他數據源取出 json 串,保存到 hbase 表。本項目中從 redis 獲取 json(當然更推薦 kafka),通過 flink 清洗存到 hbase flink:flink2hbase 表中。用于實時保存深圳通刷卡記錄,通過卡號查詢可以獲取卡號最近10次(如果有10次)交易記錄。

    簡化了上一版 hbase 寫入 bean 的方式,JSON 再一次贏得掌聲。

    val keys=jsonObj.keySet().toList
    val size=keys.size()
    
    for (i <- 0 until size) {
    	val key=keys.get(i)
    	val value=jsonObj.getStr(key)
    	putCell(card_no_re, cf, key, value)
    }

    6- 新增實時處理模塊 SZT-flink

    完成 flink 讀取 kafka,存到 clickhouse 功能。


    前言:筆者10年前曾搭建過一個軟件技術論壇,論壇90%的軟件漢化美化綠化精簡都由我親自操刀修改發布。在工作生活中也常給周圍人推薦最佳的系統與軟件組合解決方案。最近看到的一些系統優化和軟件推薦文章都很水,是時候站出來發一篇值得參考收藏的系統與軟件優選原創。原本可以分為一個系列文章,考慮再三還是全部整合成一篇萬字長文,可以一鍵三連后慢慢看。

    其實能有這篇長文還需要從一只蝙蝠說起,前段時間由于眾所周知的原因我和大家全天候宅家,瞄上了家里的幾臺電腦,把它們都重裝了系統并精簡服務組件和文件。原本以為家里已經沒有多于電腦了,直到我翻出了臺多年前的8寸酷比魔方iWork8平板,搭載的是英特爾14nm的Atom Z8300處理器、2GB內存、32G存儲。還是神奇的Android+Windows的雙系統旗艦版,為了能賦予它更多生產力的空間,早前已經刪掉了安卓分區。但是,預裝的Win10家庭版系統頻繁的更新和冗余的組件都讓寨板存儲捉襟見肘。話不多說,直接開整,分別從系統和軟件選擇以及優化設置入手,看我如何讓這臺僅有2GB+32G的Atom處理器平板的生產力場景成為可能!(PS:正文系統和軟件介紹也都提供入門和進階兩套易用優選方案,涵蓋諸多知識點,照顧各階層用戶,各種新老硬件機器均可參考)


    |準備工作

    由于這個板子僅有一個MicroUSB的充電和外接二合一口,裝系統時候需要用來外接鍵盤鼠標和U盤,所以開整前需要先給板子充滿電,然后準備一個合適的USB分線器,我翻出了3個分線器才找到一個能用的,就是最右邊那個騰訊微博贈品。推測是這板子在OTG時的供電策略導致的挑設備。然后接上鼠標鍵盤和U盤,再接到這板子標配OTG線上。其實也有一個無需分線器的辦法重裝系統,那就是使用帶觸屏的PE系統方式安裝。


    |系統選擇

    工欲善其事,必先利其器。系統選擇首當其沖,板子里預裝的是Win10家庭版,也應該算是正版,在幾年前,微軟曾針對9英屏幕以下的設備推出了免授權費的政策,包含Windows和Office。也促進了一波8寸Windows平板的面世,其中也包含我這臺iWork8。各位手頭不管是這個還是其它牌子的都可以參照我的過程來優化。由于2+32G的搭硬件配組合,經過了8次重裝,最終從選擇了一個WIN10_LTSB_x64的精簡版(版本1607)。選擇WIN10是主流,1607版本相對流暢且默認帶有內存壓縮,小內存福音;選擇LTSB(企業長期服務版)是因為它算是微軟官方精簡版本;選擇64位版是為了考慮以后的軟件使用生態,即便自己寨板內存才2G。這個twm000精簡的esd包為1.41GB,精簡了Cortana、 Defender磁貼應用等組件,屏蔽更新,整合最新更新和運行庫,保留了屏幕鍵盤、通知中心和藍牙打印等組件。是我目前用下來比較均衡的版本,如果要玩極致,網上都有出一個0.6G的三杰WIN10包,但裝在我的寨板上無法適配重力感應,不完美。老臺式機倒是可以考慮。PS:很多第三方系統修改IE主頁和搜索項增加tn后綴已經成為潛規則,通常不會鎖定,用戶記得改掉。


    |備份驅動

    重裝系統前除了保存自己的個人資料外,就是備份內置驅動,不像主流的筆記本和臺式機,這種平板驅動通常很難單獨找到下載,強烈建議在原平板出廠系統里提取備份。這里有很多方法,比如用常見360驅動大師或者驅動精靈之類的第三方驅動安裝工具來備份當前系統已安裝的驅動。我這里比較推薦使用Dism++來提取已安裝的驅動,然后備份到U盤或者其它地方先 (也可在C盤建個文件夾命名為1,然后管理員身份運行cmd或PowerShell,輸入dism /online /export-driver /destination:C:即可導出驅動到C:文件夾) 。另外有iWork8旗艦版的用戶提出在C:\Windows\System32\drivers\SileadTouch.fw的出廠預裝觸屏校正文件也需要備份,但我這邊重裝后沒恢復它也沒發現觸控漂移,估計版本不同,旗艦版也出過很多批次。類似機型用戶為了穩妥也可以先備份下這個文件再做打算。后序進階操作的篇幅也會教大家如何使用Dism++來提取廠家定制鏡像文件里的出廠驅動并整合進自己需要安裝的Win10安裝包方法。


    |傻瓜安裝

    準備開始安裝,首先來個傻瓜版方案,因為我知道小白們對MBR、GPT、UEFI之類的字眼很頭大,也不用PE系統,前一次的安裝我選擇這個方法就是圖方便,因為之前給筆記本重裝,手頭正好有個U盤本身就有寫入了一個WIN10家庭版的鏡像。具體方法就先隨意找一個Win10安裝包(家庭版專業版都行)寫入U盤,不會用UltraISO的可以百度“UltraISO寫入系統鏡像”結果第一條應該就是,這邊不再復述。或者你可以直接下載微軟官方提供的Media Creation Tool,它可以自動下載對應當前設備版本的最新版本WIN10,雙擊打開,接受協議之后,選擇“為另一臺電腦創建安裝介質”然后就會下載最新版本的WIN10鏡像到U盤上。然后重點來了,確定在你寫入鏡像的U盤sources目錄下有install.esd的話,然后就可以將自己另外下載解壓的來的esd格式精簡安裝包重命名為install.esd,替換此目錄即可,這才是真正的核心安裝包文件。U盤其它內容用于存放啟動信息和磁盤分區支持等組件。如果你找的精簡系統本身就是iso鏡像格式,那可以直接寫入U盤即可。

    然后就是重啟,在電腦關機之后就馬上用外接的鍵盤開始點按F7(不同機器快捷鍵可能不同),會出現啟動項選擇,找到你品牌型號或者芯片型號的U盤,這里的支持觸屏,可以用觸屏、鼠標、鍵盤選擇即可。

    然后就是你熟悉的畫面,一般看到這里,安裝基本不會出問題,點擊下一步即可。就是默認豎屏的顯示有些不習慣。

    然后這邊沒有密鑰就可以選擇跳過,有的修改版系統還有提供多版本,我是選擇內置管理員賬戶登錄,后面一步就注意了,千萬不要選擇升級安裝,選擇下面的“自定義:僅安裝windows”。避免保留了一堆無用的老數據。

    緊接著就是最重要的步驟,當出現“你想將Windows安裝在哪里”的窗口,把里面各種分區全部刪除,如果你之前還有安卓分區,可能會有很多個盤,放心,全部刪掉后就成為了一個未分配的空間,然后點擊新建/應用,會跳出提示給Windows創建額外的必要輔助分區,點擊確定之后,會自動分出4個盤(這也是我推薦不了解分區原理的用戶用這個方式安裝的原因),點擊最大那個分區,然后下一步,就開始安逸的安裝環節。也不用糾結自動創建的500M多的恢復分區占用了緊張的32G存儲,后面拓展篇幅會教大家繞過中間的幾個保留分區無損并入C盤的方法。

    經過一些安裝結尾的選項設置之后(部分修改版設置了無人值守的自動應答方案,安裝一步直達桌面),就能看到這些熟悉的話,說明馬上就完成安裝了。至此這個傻瓜化的流程已經結束了。

    至于iWork8上的開機的安卓和Windows雙系統選擇依然存在,這部分是BIOS決定,除非刷單系統引導的BIOS固件,但我目前沒找到官方有提供64位的單Windows的BIOS,所以就留著吧,不去選擇系統,也會自動進Windows的。

    后續就是常規的系統激活和驅動安裝。支持正版,這里我也不提供數字激活和KMS38激活的具體方法和軟件了,但提醒一下,KMS方案可能會造成部分設置受限。恢復驅動就比較簡單了,如果你備份出來的驅動不是exe安裝包,那就按照我上圖的方案,右鍵點擊此電腦,選擇管理,打開計算器管理,點擊左邊的設備管理器,寨右邊帶感嘆號的設備右鍵點擊更新驅動程序軟件,選擇瀏覽計算器以查找驅動程序,指定自己備份的路徑,挨個恢復即可。如果還有部分程序沒匹配上,就用360驅動大師或者驅動精靈來匹配安裝即可。


    |進階安裝

    上面這種傻瓜化的安裝方式雖然理解簡單,但不符合搞機精神,安裝流程略多。現在再講解一個整合入驅動的進階版快速安裝法。依然是使用這款優秀的Dism++,點擊文件/掛載映像,輸入你的install.wim格式包路徑,并指定一個目錄,為掛載映像的臨時解壓目錄。如果你是iso格式的安裝包,直接7z之類的壓縮軟件先解壓出來,install.wim文件是在sources目錄下。

    如果你和我一樣下載的是壓縮效率更高的esd格式win10安裝包,或者iso鏡像解包出來的sources目錄里是install.esd導致沒法加載,沒有關系。點擊Dism++軟件左側的工具箱,選擇WIM/ESD互轉,把ESD先轉換為WIM格式,然后再掛載這個WIM映像。

    看到我這邊Dism++的頂部又多出了一個LTSB版本的系統標簽,在這個標簽下,我們點擊左側的驅動管理,然后選擇添加驅動,可以導入先前用Dism++提取備份的驅動,然后選擇文件/另存為映像即可,注意,默認保存出來的wim鏡像,也可以選擇保存為esd格式。同理,這個工具也可以打開一些PC廠家定制的WIN10鏡像包,選擇從里面的install文件里提取出廠驅動,導入到自己需要裝的精簡版系統包里。其實這Dism++非常強大,再左側的程序和功能等選項里還能再自定義精簡系統功能,你甚至可以提取一些出廠觸屏等驅動整合入一些同樣基于WIM包核心的WIN10PE系統,并去掉一些第三方定制系統的流氓文件等來定制屬于自己的干凈好用的PE和系統,甚至直接用它來安裝系統,這些高階玩法請自行發掘。如果這邊文章反饋好,大家對定制系統期望高,我再發一篇如何用更專業的方法做精簡版系統安裝包。

    接著就是選擇一個合適的PE寫入U盤,并把前面整合入驅動的wim或者esd文件也放進這U盤。在開機時選擇對應啟動U盤進入PE系統(微軟的預安裝環境)。注意別用什么大白菜和老毛桃等一些存在流氓行為的PE修改版,如果不知如何選擇,這里推薦一個“微PE v2.0 Win10x64維護盤增強版”,原版早已于17年停更,這版由027sun基于kcyou維護版在繼續維護更新,推薦搜索下載。他更新的是ISO格式,用UltraISO或UD寫入U盤。支持BIOS及UEFI兼容啟動。

    在iWork8上運行如上圖,可以調整屏幕方向為橫屏。不像有些PE在iWork8以及其它windows平板上運行,默認就是豎版,且不支持旋轉方向。另外,這款基于WIN10內核的PE在我家里另一臺2K屏的筆記本上也能支持正確的屏幕縮放,畫面顯示細膩。里面的維護軟件選擇也相當經典,完全滿足PE環境下的各種操作,是一款注重視覺與體驗細節的PE。

    然后直接用CGI-Plus或者WinNTSetup來安裝你保存在U盤的那個整合驅動的的WIM或者ESD文件,我比較推薦WinNTSetup,就是PE里的Windows安裝器,因為之前用前面第一種傻瓜版裝過一次才600M的極限精簡版WIN10,所以分區都已經調整好了,沒有多余的安卓分區,就直接格式化C盤先。如果沒有格式化,新手推薦用這PE里的分區助手,除了選擇分區數量和大小,其他按照默認分區即可。在PE環境下需要注意,WIN10系統盤符可能不是C,自己根據盤符容量判斷,我這邊就是E盤了,用WinNTSetup選擇U盤里的WIN/ESD安裝文件,然后在下面的選擇引導驅動器和安裝驅動器都選擇PE環境下剛格式化的那個存儲盤。在點擊部署安裝前,推薦勾選優化調整,把一些自己要調整的都構選了,比如刪除新建快捷方式的快捷方式字樣、禁止下載文件的安全警告、啟動直接到桌面(跳過登錄后的Metro UI畫面)、禁用系統還原、禁用用戶賬戶控制、禁用休眠等。大家可以按需選擇。

    前面也提到過Dism++也能夠裝系統,如上,在PE環境下,打開Dism++,選擇恢復功能/系統還原,選擇存放在U盤里的esd或者wim安裝文件,下面地址欄選擇需要安裝的目標盤符(我的C盤在PE下是E,那就勾選E,你們也要注意盤符),最下面的Compact(磁盤壓縮,后面講)、添加引導、格式化,都打上勾。WIMBoot功能也是另一種系統占用壓縮方式,安裝部分版本系統不支持勾選,即便支持勾選,也請注意,如果你的磁盤不是固態,U也不行,那別勾選,壓縮讀取的過程會影響體驗。

    這種PE下的安裝方式,系統還整合了自動應答等流程,點擊安裝重啟沒幾分鐘就進入了正常的系統,看下系統關于信息,嗯,沒錯。想要的系統裝好了。也有一定概率出現部分驅動仍未匹配,單獨用驅動精靈之類的軟件查找打回去就行。


    |跨盤符合并分區

    在對系統做進一步優化和軟件選裝前,我還需要填個坑。為了選擇更合適的精簡版系統,裝了多次系統,上次安裝是讓windows安裝程序自動分區,多了一個500M的恢復分區,在磁盤管理是可以看到。對于寸土寸金的32G平板來說,肯定要合并入C盤。但尷尬的是這個Windows默認分區方案里的恢復分區和C盤之間還間隔了ESP和MSR這2個分區,非臨近通常不太方便合并。OK,開始跨區合并,我們重回PE下,打開里面預裝的分區助手,首先刪除那529MB的恢復分區,形成了未分區空間,然后右鍵選擇合并分區,勾選第一個未分區空間和最后那個系統盤(不用看盤符,PE下的原系統盤不一定是C盤),確定,最后在頂部提交修改,經過一段時間后,成功合并入系統盤。其原理可以理解為后臺把中間的ESP和MSR這2個分區向前平移529M的空間,529M的未分配空間就放到了和系統盤臨近,然后執行擴展合并。由于我存儲盤才32G,且文件不多,所以整個數據遷移時間不長。


    |多個Windows Boot Manager啟動項清除

    通常BIOS啟動項會有一個Windows Boot Manager是正常。但有些用戶可能因為些誤操作導致BIOS啟動項里出現多個Windows Boot Manager,雖然不影響使用,但強迫癥看到會有些不適。這個也不難解決,依然進入之前那個PE系統,在里面的開始菜單里有引導修復目錄,里面提供了多個引導修復工具。

    這里選擇一個簡單圖形化的軟件用BOOTICE,切換到UEFI選項,點擊修改啟動順序,刪掉里面多余的Windows Boot Manager,保存即可,關機后再啟動看看是不是沒有多余的啟動項了?也不用怕刪錯進不了系統,只要BIOS沒問題,還是能進PE選擇其它引導修復工具。另外還有種可能是使用了一些激活軟件導致出現兩個WBM啟動項,這個情況可以在PE下,進入EFI分區里看看有沒有WINSLIC文件夾,刪除再試試。


    |系統備份

    平板裝系統不易,裝好系統,激活完畢,驅動都打全的話,建議先備份個系統,這樣即便后續看到新的精簡版系統,可以繼續安裝測試(除了開始介紹過的,另外還有一個頑石的神州精簡版,1.2G文件那個也還不錯,這兩個版本在我板子上都完美),不滿意就通過備份還原系統(這里可以給大家一個無腦選擇的玄學,但凡看到第三方系統介紹的預覽圖里默認壁紙甚至圖標都改掉,且描述自己終極優化巴拉巴拉,基本可以PASS,系統改得好的一般也有一定口碑,可以自己了解)。這里依然推薦PE里附帶的這個Snapshot備份還原工具,體積極其小巧,除了PE下,也能在標準的Wndows下運行,支持熱備份。速度和壓縮率都勝過GHOST。我是選擇包含隱藏分區在內的全盤3個分區都備份,這樣需要恢復時候選擇還原硬盤,恢復的更徹底。反正這Win板子就一個32G的使用盤。


    |階段性知識點總結

    備份提取整合驅動到系統安裝包用Dism++,穩定精簡的系統優先從Win10 LTSB版里找,安裝維護系統的PE推薦用WePE v2.0 Win10x64維護盤增強版,不動分區下快捷安裝系統推薦在PE下用CGI-Plus或者WinNTSetup,跨區合并空間推薦使用傲梅分區助手,多個Windows Boot Manager啟動項清除推薦在PE下使用BOOTICE,備份還原工具推薦小巧方便的Snapshot。


    |軟件優化

    系統選擇和安裝環節結束,現在開始優化系統階段,全稱均在平板上操作。等一下,這個第三方修改的精簡版系統我選擇默認以內置管理員賬號登錄,所以桌面的個人文件夾顯示的是Administrator,文字太長導致顯示不全,作為擁有強迫癥的我來說,肯定不能接受,右鍵點擊此電腦選擇管理,在計算機管理-本地用戶和組-用戶,在右邊右擊Administrator,重命名,完事后記得重登錄下即可刷新桌面的個人文件夾名字。

    裝完系統開始優化前必經的第一步就是安裝壓縮軟件,以后各種軟件包解壓等都需要,這里我選擇開源壓縮軟件7-zip。其7z壓縮格式遠超rar和zip,自己很多軟件的RAR壓縮包在40M左右,改成7z固實壓縮僅有30M,壓縮率毋庸置疑,唯一吐槽的官方版本界面丑問題,換這個Muou美化版就搞定。我用的版本是7-Zip_v18.05_x86_x64_2n1_Muou.exe,安裝包大小2.58MB。

    接著繼續用自帶的IE打開Dism++官網下載回Dism++解壓運行,執行空間回收,首次安裝系統后,除了那種精簡到骨頭的安裝包外,主流Win10安裝好后至少能清理出幾百MB甚至近1GB的無用文件。

    擁有了一個初步滿意的系統后,就要開始生產力和輕娛樂軟件的選擇。正如我文首所所,作為某軟件技術論壇自產自銷的管理員,對軟件漢化美化綠化精簡方面頗有心得,直接附上一個經過我多次篩選和親自定制的一些軟件推薦選擇表。里面的一些關鍵工具還提供了精簡入門和適度進階的雙選擇方案。新老機型均適用,尤其是老機器。

    首先說說瀏覽器,我這個精簡版的系統也沒內置EDGE,常規選擇只有自帶的IE11瀏覽器,,并且使用上其實也還可以,搭配一個阿呆喵廣告過濾軟件,也能去除絕大部分廣告,帶來還不錯的瀏覽體驗。我這里打開我的頭條主頁和微博主頁后,IE11內存占用159.4MB。

    然后就是進階方案,有些時候我會不滿足IE11的渲染加載以及瀏覽體驗細節,所以加裝了個前面提到過的Chrome,選的是最經典的V49綠色定制版,壓縮包37.8 MB。我也嘗試過后面50版本以及最新的80版本,內存占用太大,不合適我這2G內存。Chrome V49同樣打開我的頭條主頁和微博主頁后,其內存占用總計125.8MB,比IE11還少。而且也不需要裝去廣告插件,前面安裝的阿呆喵去廣告軟件(官網最后更新的綠色版文ADM_v3.6.6.226)同樣能夠去除Chrome里的網頁廣告,減少內存占用。

    PS:如果你使用Chrome安裝第三方渠道導入的插件,每次打開會提示“請停用以開發者模式運行的擴展程序”,不用煩,根據不同的Chrome版本,都有不同的解決辦法,有需要自行百度。我這邊另辟蹊徑提供一個思路,之所以我們安裝第三方插件,很大一部分原因是無法訪問Chrome應用商店,那就去網上找谷歌訪問助手之類第Chrome插件,激活插件,訪問Chrome應用商店,通過標準方式下載完你需要的瀏覽器插件,再停用這個訪問插件即可,這類彎道訪問解決問題的小插件有很多,不細說,可自行百度。

    本地播放器方面,我的精簡版沒有了磁貼版的“電視和電影”播放器。但通常精簡版和增強版的系統都會保留內置的Windows Media Player,很少用這類本地播放器用戶,普通視頻和音樂播放直接這個就行。但很多時候,我們為了能有更好的兼容性和多格式的要求,我加裝了自己綠化精簡的MPC-BE1.5.3。壓縮包11.6 MB,足夠應付目前的各類視頻播放。如果希望能夠有更好的觸屏操作支持,那推薦Potplay,但始終覺得它的功能梳理沒有MPC來的清爽。

    緊接著就是無論生產力需求還是日常操作都有可能用到的辦公軟件,我準備了三套方案,一開始我先裝了MS Office 2010四合一精簡版,由xb21cn制作,關鍵更新及安全更新至2019年12月。綠色版的壓縮包才76.0 MB,這體積應該是全網最小的Office2010了吧。但目前我又換套WPS2013的第三方綠色極簡版,除了更小的體積誘惑外,還因為這個版本的圖標算是WPS前后版本里最好看的,如此照顧視覺和磁盤空間的WPS Office軟件自然成為了我的常駐,但如果你不像我僅僅做簡單格式的圖文Word與PPT,需要日常處理繁雜格式、公式、樣式的文件,那么還是推薦前面一個了MS Office 2010,畢竟是微軟自家的,能夠保證文件樣式輸出在各平臺的準確還原。

    不知你們是否聽過一個梗,我們大眾使用Office也才用到了不到1%的功能。WPS其實也差不多。很多時候,你的定位只是需要能有個建檔的圖文記錄文檔輕度功能,那么我還有個更合適的推薦,這第三個推薦就是Windows自帶的寫字板,功能不多,但個個實用。這個容易被忽略的自帶軟件在很多精簡版系統都有保留。還有點很重要,它可以打開和創建docx格式的文件!對于我日常發文前的本地撰寫需求,同樣能夠滿足。并且里面的插入對象功能相當強大,支持很多格式的圖文項目內預覽和跳轉編輯,也可以插入包含exe和壓縮包在內各種格式文件。真的值得一試。

    我除了日常搞搞DOC文檔和PPT外,PS是我另一個生產力常駐工具,其實我在出廠系統就裝過Photoshop,還是比較新的CC系列的一個綠色精簡版,但還是要考慮才2G運存的現實情況,能打開看看簡單裁圖和能穩定的處理大文件是兩個完全不同的量級要求。經過數個版本的篩選之后,我從早前的移動硬盤里翻出這個Photoshop CS3,壓縮包才27.2M,還附帶了一些增強工具,這體積很多CS2甚至PS 7.0都難以精簡到,堪稱經典。上圖是我在這WIN10平板上使用PS CS3修我拍的這篇文章的6000x4000大圖時的內存占用也才316M,系統總體內存占用60%。已經很滿意了。

    如果你對圖片處理要求不高,其實內置的畫圖程序足夠滿足日常的裁剪編輯,在十多年前我還沒有接觸PS時候,就已經用畫圖程序來做修圖甚至去水印等騷操作。Windows畫圖是一個值得你發掘潛力的軟件。

    壓縮解壓、網絡瀏覽、本地播放、文字辦公、圖片處理都有了合適不錯的選擇方案之后,最后就該即時通訊軟件登場。雖然手機QQ和微信常駐運行,但有些時候還是需要通過電腦發送文件給好友和遠程協助操作,同樣為了在內存和存儲都捉襟見肘的平板上能夠較好的運行,我定制了這款QQLite6.7綠色精簡版,壓縮包才36.9 MB。通過插件修改去除了QQProtect.exe服務進程依賴,甚至還能顯示對方IP。登錄我的一個QQ后,實際內存占用才不到20M,遠小于目前版本的QQ。截稿目前這個發布于2015年的輕聊版無需修改版本號依然能夠正常登錄,并且還有發送文件到自己的手機QQ功能,這是我選擇常駐它的原因。

    同樣,只有你想不到,沒有我做不到。還有這么個神奇的QQ版本更為精簡和純粹,也值得推薦。那就是TM2013,這個綠色版的壓縮包體積才23.4 MB,主程序圖標也更漂亮。通過插件修改版本號之后依然可以登錄使用,語音視頻和遠程協助依然能夠正常使用,登陸同一個QQ,其主程序后臺進程內存占用才幾MB。在這里也作為更極致精簡向體驗的一個選擇。

    OK,我們基礎軟件選擇推薦就到這里,把這些綠色軟件圖標整齊的發送到桌面排列好。接下來就是細節優化調整,這時候才發現我這臺iWork8無法讀取到SD卡,百度了下也有人遇到,在BIOS里設置了下就成功恢復。

    具體辦法,外接鍵盤。開機按Esc進入BIOS(或者按住音量上鍵,再按電源鍵開機,其他設備進入BIOS的快捷鍵不同,請自行查找),選擇Advanced/System Component/MS Custom sdbus Driver,將這個選項改為Enabled。保存退出BIOS,重啟之后即可恢復這個SD卡讀取功能。

    我這邊的精簡系統把我的電腦里本地磁盤上方的的6個快捷訪問文件夾入口給精簡掉了,又引起了我的不適應,因為電腦本身就沒幾個磁盤,加TF卡也就兩個存儲盤,每次打開我的電腦總感覺空蕩蕩的,于是乎想辦法給恢復了回去。

    方法依然是請出Dism++這個神器,在左側里選擇系統優化,然后在右邊展開Explorer,里面就能找到在此電腦里顯示幾個文件夾功能的快捷開關,這邊也有提供隱藏程序的管理員權限小盾牌圖標等實用小設置開關。大家也可以有選擇的調整。

    這個定制系統精簡了內置相機磁貼應用,雖然沒指望這個渣渣攝像頭來拍照,但還是希望能在不開QQ視頻下查看前后攝像頭的狀態,所以用了一個軟件來恢復自帶攝像頭查看入口。這年頭Windows單機攝像頭軟件反而難找了,XP年代那個AMCap在這里無法成功獲取到攝像頭畫面,最后找打了這個僅有234 KB的Win7攝像頭軟件Eacp便攜安裝/卸載工具,裝完后就能在不開QQ視頻下查看攝像頭。

    手頭用了兩個精簡版WIN10都精簡Cortana,連帶任務欄的搜索圖標都點擊無效,如果和我一樣用這類精簡版WIN10又不滿足資源管理器里右上角那小小的搜索欄功能和效率,那么我推薦一個比系統搜索更強大數倍的軟件——Everything。綠色版壓縮包才1MB多大小,超小體積,超快速度,即便在機械硬盤檢索全盤也才幾秒,堪稱神器。需要進階玩法可以搭配Wox耍,這里不再拓展。

    差點忘記最后還要推薦的軟件,準確來說是游戲,因為我始終覺得這臺Windows少了點經典內味,因為它精簡了內置游戲。在我看來,沒紙牌和掃雷的Windows是木有靈魂的。那就恢復回來,版本選擇了最經典的XP紙牌與掃雷游戲,排除了一個不支持純觸屏點擊的三維彈球外,這些游戲壓縮打包才477 KB,解壓后也才1.19 MB。這個版本體積小巧外,紙牌觸摸拖拽操作也都支持,體驗完美。

    關于系統縮放,就是在設置/顯示里的“更改文本、應用和其他項目的大小”。其實標準來說,這個8寸1280X800的Windows平板為了觸摸操作方便,是推薦用125%的縮放。但我為了軟件使用能有更多的內容顯示,還是換回了100%。至于有人說WIN10的平板模式,我這個LTSB版也是有保留,但這個模式操作缺少了PC內味,我還是關掉了。另外,這里也對一些小白用戶一些提醒,不能看到別人用什么縮放比,自己也跟著換,因為你和對方的屏幕尺寸與分辨率可能是不一樣,就比如前段時間很火的小新Pro13,13寸屏幕+2k屏幕,很多小白用戶居然按照小新14等其他14寸+1080P分辨率的屏幕機子推薦的縮放比設置,這樣反而導致瞎眼,你也可以不用找最佳縮放比,自己挨個試試,合適自己的就是最佳縮放比。

    關于C盤空間的選擇,除了前面選擇體積更少的精簡綠色版軟件外,還有一個更加激進的方案,那可以通過一行命令“powercfg -h off”停用Windows休眠,在我這機器上能換來C盤幾百兆甚至上GB的空間。但與此同時也導致“電源選項-選擇電源按鈕的功能”里面的“啟用快速啟動”功能缺失,開機時間可能需要20~30秒。究其原理是系統休眠時會將內存中的所有信息保存C盤根目錄下的hiberfil.sys(隱藏文件)文件中,根據你的內存大小,這個文件在一些電腦上甚至會占用數GB左右。當然,由于我這寨本的實際內存和虛擬內存就不大,用命令“powercfg -h on”啟用回Windows休眠,用幾百MB的hiberfil.sys文件磁盤占用,能換來只需要幾秒的開機,還是比較劃算。所以這里你們可以按需選擇,如果是機械硬盤,那肯定推薦是保留開啟Windows休眠,這樣默認的快速啟動功能也會激活。其他C盤存儲空間實在捉急的固態等存儲用戶,可以自己決定是否用開機耗時換回磁盤空間。

    另一個C盤空間清理方案是系統文件壓縮,這里我并不是說右鍵點擊磁盤屬性頁里那個傳統NTFS格式專用的“壓縮此驅動器以節約磁盤空間”功能。而是通過Compact命令來對系統文件進行壓縮。用管理員權限運行命令提示符輸入compact /compactos:always回車即可。我這邊的安裝系統時直接啟用Compact壓縮的,所以再次運行,僅有部分變更文件的進一步壓縮,通常來說常規安裝好執行壓縮,會騰出幾個G的空間,并且壓縮后不會影響壓縮后的實際運行,堪稱Win10黑科技。這也是早期微軟照顧Windows平板與磁盤空間吃緊用戶推出的一個減少系統資源磁盤占用的方式。除機械硬盤外的其它電腦用戶覺得C盤空間不夠也可以嘗試,反正覺得不合適隨時可以用命令compact /compactos:never取消Compact壓縮。

    折騰完存儲空間后,就開始進一步優化內存占用和運行速度。在裝完軟件后可以用Dism++或者直接用任務管理器(堅決不用管家衛士之流的軟件)看看有沒有多余的啟動項。我這邊軟件都是綠色精簡,都沒多余啟動項,除了禁用掉多出的Intel核顯功能組件啟動項,就只有一個資源占用較低的去廣告工具。盡可能的保證開機啟動的順暢。

    [禁用]Background Intelligent Transfer Service - 更新相關,我不要更新

    [停用]CDPUserSvc_215f9(隨機碼) - 平臺數據同步

    [停用]Contact Data_215f9(隨機碼) - 平臺數據同步

    [禁用]Delivery Optimization - 更新相關

    [禁用]DNS Client - 緩存DNS

    [禁用]IKE and AuthIP IPsec Keying Modules - 無\/PN需求就禁用

    [禁用]Intel(R) Content Protection HECI Service - 核顯關于DRM保護組件

    [禁用]Intel(R) HD Graphics Control Panel Service - 核顯設置相關組件

    [禁用]IP Helper - IPV6相關,這機子上沒需求

    [停用]MessagingService_215f9(隨機碼) - 平臺數據同步

    [禁用]Microsoft App-V Client - 應用程序虛擬化技術

    [禁用]Net.Tcp Port Sharing Service - 端口共享,非開發用不到

    [禁用]Network Connection Broker - 不用磁貼應用可禁用

    [禁用]Print Spooler - 打印機相關服務,無需求可暫時禁用

    [禁用]Program Compatibility Assistant Service - 程序兼容性助手

    [禁用]Remote Registry - 遠程修改注冊表

    [禁用]Shared PC Account Manager - 共享PC帳戶管理器

    [禁用]Shell Hardware Detection - 自動播放時間通知

    [停用]User Data Access_215f9(隨機碼) - 平臺數據同步

    [停用]User Data Storage_215f9(隨機碼) - 平臺數據同步

    [禁用]User Experience Virtualization Service - 用戶體驗虛擬化服務

    [禁用]Windows Biometric Service - 生物識別,無人臉和指紋登錄可禁用

    [禁用]Windows Image Acquisition (WIA) - 描儀和照相機提供圖像采集服務

    [禁用]Windows Update - 自動更新服務

    [禁用]Windows 推送通知系統服務

    [禁用]Windows 推送通知用戶服務_215f9(隨機碼) - 平臺數據同步

    [禁用]Windows 預覽體驗服務

    [禁用]WinHTTP Web Proxy Auto-Discovery Service - HTTP開發相關

    [停用]同步主機_215f9(隨機碼) - 平臺數據同步

    [禁用]自動時區更新程序

    然后我們開始繼續優化系統服務環節,上面是我自用禁用列表,部分版本Win10名稱會略有不同,參考描述即可。我的使用場景:LTSB版使用本地賬戶,不要系統更新,設置了自定義DNS,需要保留局域網共享相關功能。主要操作正在運行的服務項目,其它本來就是設置為手動,且未啟動運行的基本不作干預。其實我本可做個批處理一鍵優化給大家,但考慮了下,還是讓大家參考禁用前認真看服務里的詳細描述后,自行決定是否跟進禁用。里面有幾個無法直接禁用(多為帶隨機數的設備平臺服務數據同步相關的),我標注為停用的,其實可以通過修改注冊表鍵值停止他們再次啟動。運行regedit打開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\將下面子項屬性修改CDPSvc、CDPUserSvc、CDPUserSvc_xxxxx、OneSyncSvc、OneSyncSvc_xxxxx、UserDataSvc、UserDataSvc_xxxxx里面start屬性都修改為3即可。

    如果使用部分軟件未正確卸載等原因造成文件已刪,卻還有服務信息殘留,同樣也直接打開注冊表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\里面刪掉已經無效的服務即可。

    然后就是內存壓縮服務,其實Win10默認是提供的,但有些第三方系統或者優化軟件可能會關掉它。如果內存大于4G等高配機子,那么關掉內存壓縮的確可以釋放性能。但如果內存才2~4G,那么這個內存壓縮功能真的是必備,尤其合適我臺小寨板。我們可以使用管理員權限打開Powershell,輸入Get-MMAgent命令查看當前是否開啟了這個功能。關閉內存壓縮輸入Disable-MMAgent -mc,開啟內存壓縮輸入Enable-MMAgent -mc,重啟生效。其他命令參數看上圖。PS:系統服務里的Superfetch(后面改名叫SysMain)的預讀服務如果被關掉,也會導致內存壓縮失效。

    我不喜歡以剛安裝好的系統的磁盤與內存占用來衡量最終體驗,而是以必要軟件安裝完畢后的使用場景下再看磁盤占用和內存占用,通過上圖可以看到,安裝完全部軟件日常工具軟件后的C盤空間累計使用7.93G(前面推薦另一個神州精簡版的裝完軟件和運行庫是在7G多點,占用更少,但進程多了20幾個),作為要求苛刻的32G存儲小平板設備來說,其總體占用控制到位。日常使用的其它資料存檔可以放到TF卡,這樣作為備用場景使用問題不大。

    在開啟虛擬內存和內存壓縮的情況下,這2G內存在空載下顯示占用為0.7G。Windows后臺進程總計34個。原版系統可無法做到這樣的內存占用。

    繼續看內存頁面,實際使用684MB(壓縮1.4MB),這頓操作下來,2G內存日常使用完全不擔心。

    另外,有iWork8用戶偶到電量充足卻無法開機的問題,可以嘗試“電源鍵 +音量加鍵”試試,可以強制雙系統選擇界面出來。


    |篇末總結

    相比于手機,我更希望能有臺便攜的Windows設備能在身邊隨時stand by,它能讓我擁有更多安全感。所以本篇優化文選擇了這臺能夠放進上衣內口袋的8寸Windows平板進行深度動刀。全文的目的就是在低內存和存儲的設備上盡其所能創造輕度生產力和娛樂的可能!經過了全篇的優化選擇之后,已經達到了我的預期。本篇文字撰寫、照片處理、平板A面外殼效果圖繪制均在這臺8寸板子上使用Win寫字板和PS完成。這也正是生產力的體驗。本文的操作過程同樣也適用于其它低配的Win平板和筆記本電腦。

    另外,如果你用的還是2G內存的老臺式機或者筆記本,除了我這邊系統和軟件層面的優化選擇外,也推薦花個10~20塊包郵買塊同規格的2G拆機內存,這樣就變成了雙通道4G。也是最小的付出獲得實質的提升方法,我老房子有臺2G內存的舊筆記本就是這么軟硬兼施的提升體驗。嗯,就到這里吧,當你們看到并收藏這篇由平板撰寫出的文章,也就是對我這次折騰的最大肯定:)

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有