資安

資安

基於ECS快速搭建Docker環境

一、安裝Docker CE 1.安裝Docker的依賴庫。任何軟件運行都需要自己的依賴庫 yum install -y yum-utils device-mapper-persistent-data lvm2 ![L2LW%]KE@8L%R3_JL$DS753.jpg](https://ucc.alicdn.com/pic/developer-ecology/2781c9878afc4d49bf8d3f2cc9b07ac9.jpg) 2.添加Docker CE的軟件源信息。 yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3.安裝Docker CE。 yum makecache fast […]

資安

Day3 – ECS+SLB負載均衡實踐筆記

創建資源 1 請點擊頁面左側的 雲產品資源,在下拉欄中,查看本次實驗資源信息; 2 在資源下拉欄點擊 免費開通 按鈕,開始創建實驗資源。 說明:資源創建過程需要1-3分鐘。完成實驗資源的創建後,用戶可以通過 雲產品資源 查看實驗中所需的資源信息,例如:IP地址、用戶名、密碼等。 雲服務器狀態確認 1 點擊左側導航欄處的 雲產品資源,查看 雲服務器ECS-1 和 雲服務器ECS-2 的相關信息。 2

資安

Elasticsearch, 你值得擁有!—— 雲棲大會 Elasticsearch 場景化應用全景回顧

原創作者:銘毅天下 — Elastic認證工程師、Elastic中文社區2018傑出貢獻者、Elastic中文社區日報責任編輯、阿里雲MVP、elastic.blog.csdn.net 博主專家、銘毅天下 公眾號作者 為什麼要參加雲棲大會? 今年是線上的方式,參加大會實際就是看直播或者回放視頻。 我在多種場合提及我的偶像是俞敏洪,多年前他在高校的演講有這麼一段:“我和馬雲的聊天,你們想不想聽?當然想聽,因為我們聊的內容都是書本上看不到的內容”。 是的,雲棲大會大咖雲集,作為Elastic愛好者,參加大會就是想看平時看不到、學不到的內容。 認知的四個維度中“不知道自己不知道”最為可怕。 之前微信群中有這麼一段討論: [其實能做得很多 es本身一開始更多的是文本相關性的搜索。但是其實現在信息已經更多是圖像化、視頻化、其他媒體類型。其實很重要得一點。就是原始數據進行embeding生成向量,存儲向量,進行相似性檢索。Elasticsearch 在這方面需要做的東西還是有很大空間] 引發了大家關於 Elasticsearch 未來發展方向的討論。 本次雲棲大會Elasticsearch 場景化應用給出了答案。 我們從:Elastic

資安

操作日誌查詢-誰動了我的 NAT

起因 先介紹一下筆者所在的工作環境。我們是一個小的團隊,申請了一個主賬號作為服務賬號,同時在該主賬號下創建了多個子賬號給不同的同學使用,由於不同的同學有很多不同的需求,因此在使用時沒有嚴格限制不同子賬戶之間的權限,而是都給了管理員權限,而這也導致了這個事情的發生。 資源被操作了 某天,當我查看我的 NAT 網關時,突然發現某個網關上被多綁上了一個 EIP,如下圖所示: 頓時心生疑慮,這個 NAT 我清楚的記得是前段時間處理 VPC 接入公網流量時部署的,接入的時候也只是加上了第一個 EIP,但是今天卻突然發現綁了兩個 EIP。那另外一個是誰綁的呢?難道是我自己在當初綁定時就綁了兩個 EIP?還是說有別的同學錯誤的把 EIP 綁到了我的 NAT 上?還是說這個同學是基於某個需求需要這樣做呢?在努力回憶確定不是自己做的後,當務之急應該首先要把綁定的操作者確定下來,向他當面問清楚這樣做的原因。但是由於我們團隊為每個子賬戶都授予了權限,因此每個人都有可能操作過。幸虧我們團隊人不多,我向每個同學都問了一遍,但是沒一個人說是自己做的。既然都記不住是誰操作的,是不是有產品能記錄這些操作呢?抱著懷疑的心情,我搜索了下阿里雲搜索文檔下的產品,還真的有一個叫作 操作審計

資安

java安全編碼指南之:可見性和原子性

簡介 java類中會定義很多變量,有類變量也有實例變量,這些變量在訪問的過程中,會遇到一些可見性和原子性的問題。這裡我們來詳細瞭解一下怎麼避免這些問題。 不可變對象的可見性 不可變對象就是初始化之後不能夠被修改的對象,那麼是不是類中引入了不可變對象,所有對不可變對象的修改都立馬對所有線程可見呢? 實際上,不可變對象只能保證在多線程環境中,對象使用的安全性,並不能夠保證對象的可見性。 先來討論一下可變性,我們考慮下面的一個例子: public final class ImmutableObject { private final int age; public ImmutableObject(int age){ this.age=age; }

資安

雲效助力「人力家」持續降本提效

企業背景人力家成立於18年年底,是由阿里釘釘和人力窩共同投資成立的互聯網人力資源服務平臺,主要提供包括人事管理、薪酬管理、社保管理、增值服務在內的人力資源SaaS服務,加速對人力資源領域賦能,實現人力資源新工作方式。人力家公司規模約60人左右,主要負責人力資源SaaS系統開發,開發語言以JavaScript、Java為主。公司主要產品包括智能薪酬、智能工資條、智能社保、智能背調等等,目前已服務電子商務、零售服務等領域的多家客戶。曾經面臨的效率問題與痛點人力家是一家典型的創業公司,處在一個競爭激烈的市場環境中,對團隊最大的要求是快、快、快,既要快速滿足客戶需求,又要快速響應市場變化。目前產研團隊30人左右,4、5條項目線同時進行是常態,團隊採用業務線+職能線的矩陣式結構,具有很強的業務結果導向。在業務線越來越多,客戶量越來越大的情況下,產研團隊遇到了以下挑戰:1)需求緊急且變化快,溝通成本上升公司在快速成長,客戶需求複雜多樣、變化頻繁。在市場壓力下,團隊很容易迷失在大量的緊急需求中,失去目標和方向感;同時溝通成本和協作成本快速上升,常常由於溝通不到位而產生重複性的工作。2)團隊交付能力呈現下降趨勢隨著項目線增多,業務場景越來越複雜,研發同學常常因為環境問題、協作規範問題、和其他人為因素導致資源浪費,將寶貴的時間花費在一些原本可以標準化,自動化完成的工作中,團隊整體交付能力呈現出下降趨勢。3)協作過程不透明,好的經驗難複製項目協作過程中缺少可視化的數據支撐,業務線各自發展,交付質量參差不齊。到最終總結時好的項目到底優秀在哪裡?差的項目到底哪裡出了問題?好的經驗難以複製,壞的問題也無法二次避免。人力家提效成果在需求管理方面,引入雲效之前,產研團隊通過定期的需求排期會溝通迭代目標和規劃,通過早會溝通每日任務。所有會議要求大家時間同步,難免會有部分同學因為請假、時間衝突等原因不能準時參會,導致信息不能準確清晰地傳遞。引入雲效之後,所有的迭代、需求、任務、缺陷,包括已排期的、未排期的都在一個工具中呈現;缺陷解決、代碼評審、流水線發佈狀態一目瞭然。所有項目組成員只要登錄系統就可以對自己手上任務,或者下一期迭代規劃看的清清楚楚,減少了線下溝通成本。在質量管理方面,引入雲效之前,所有的代碼規約掃描、安全掃描、測試腳本執行、代碼評審都靠團隊成員的自覺意識,很容易出現疏忽和遺漏。引入雲效之後,我們把這些都集成在代碼服務和流水線中,並通過插件,把執行結果實時同步到釘釘群,減少由於人的因素產生的低級問題。在數據統計方面,產研團隊需要定期統計每個迭代的關鍵過程數據,以便持續改進。引入雲效之前,數據由PM手工收集整理,這些數據包括:每個需求的記分卡、完成情況、工時,代碼評審問題記錄,線下缺陷,線上故障,安全問題等。這些記錄散落在各個地方,有的在審批單裡,有的在Excel表裡,收集起來費時費力。引入雲效後,所有記錄都統一記錄在雲效中,每個成員只要隨時更新與自己相關的記錄即可,數據統計省時省力,項目過程數據隨時可查。以下是對各改進項目的對比和效能提升結果: 雲效&人力家解決方案結合雲效的工具能力和人力家研發管理流程,我們採用瞭如下解決方案:https://tcs-devops.aliyuncs.com/storage/111wf3926ad917c4d4b9c28fc9b1f772d47e?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdmMzkyNmFkOTE3YzRkNGI5YzI4ZmM5YjFmNzcyZDQ3ZSJ9.Ivb5eRdD__PtdQ7OrJuowLDvcpzCmyww9pZAzzlBlog 用雲效統一每個敏捷團隊的協作工具,讓所有成員都能快速找到自己的關鍵任務,並清晰地瞭解任務的優先級、交付時間,減少溝通成本,支持異步協作。1)迭代和需求管理迭代規劃、進行、完成、逾期一張圖可見,團隊成員可以隨時瞭解項目進度和麵臨的風險:https://tcs-devops.aliyuncs.com/storage/111wf12cba052bba514d96088f4fbfdc0880?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdmMTJjYmEwNTJiYmE1MTRkOTYwODhmNGZiZmRjMDg4MCJ9.SERZRXItKa8VJfao0jU3XT4vriCxi5EH6o2KGnR8OkQ 基於看版各個角色可以實時同步狀態,由原來同步組織線下會議轉化為線上異步合作,提高協作效率:https://tcs-devops.aliyuncs.com/storage/111wb4afa1aad9f81a27aa6628c21e7c2468?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdiNGFmYTFhYWQ5ZjgxYTI3YWE2NjI4YzIxZTdjMjQ2OCJ9.MsHYLhTrJ38f5exuE_iOnOupwTvv1UHmLChyMUlSLeo 2)代碼質量管理開發人員提交代碼後將自動觸發代碼的掃描,如代碼規約掃描及代碼安全敏感信息掃描等,並快速反饋給開發者,儘快排查修復:https://tcs-devops.aliyuncs.com/storage/111wee15a74e0c5a7e002494210ebc0e1997?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdlZTE1YTc0ZTBjNWE3ZTAwMjQ5NDIxMGViYzBlMTk5NyJ9.rBD-oXEnjer9ooQsNFxuUhCU2-fzOFX_lTX9l4CL1lg 預發環境分支採用publish/分支,並設置分支保護模式;開發通過merge request提交測試通過後分支到publish/分支;靈活的codereview支持,有問題的地方直接備註,實時反饋給開發者:https://tcs-devops.aliyuncs.com/storage/111w7994b73b28e48286c24ac6118991524e?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc3OTk0YjczYjI4ZTQ4Mjg2YzI0YWM2MTE4OTkxNTI0ZSJ9.JYOfc1LNMkNrAmyVisp9C7aDRxaXJJDkEEIFeANjXUAhttps://tcs-devops.aliyuncs.com/storage/111w14cfa5e7f54e7aa7e22b8dc58a845b34?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXcxNGNmYTVlN2Y1NGU3YWE3ZTIyYjhkYzU4YTg0NWIzNCJ9.sqw2Www72zTehhe0R8ZZ-xgUzUNhsvMdVnpI4a553yM 3)流水線自動部署將構建、測試、發佈用一條流水線串聯起來,發佈狀態可見。流水線中集成了代碼掃描、單元測試以保障產品發佈質量,執行結果實時同步到釘釘。事務性工作自動化,讓研發人員精力集中在高質量、高效率交付的核心事件上:https://tcs-devops.aliyuncs.com/storage/111w4bbe55eac7f7cf7ff241d9b556cee7cc?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc0YmJlNTVlYWM3ZjdjZjdmZjI0MWQ5YjU1NmNlZTdjYyJ9.phtLdVltoAfs5X8nNU9Ys2gFO2KaihRFeVmPqq0K47whttps://tcs-devops.aliyuncs.com/storage/111w5b20b25005aeef7bbbcd686849ee4d22?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc1YjIwYjI1MDA1YWVlZjdiYmJjZDY4Njg0OWVlNGQyMiJ9.UrKZiY9hFHXuqCEQX7aEvLDaGlcFPR8oCOv_wVfvDB8https://tcs-devops.aliyuncs.com/storage/111wd1794aad19192706d27ab61602769119?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdkMTc5NGFhZDE5MTkyNzA2ZDI3YWI2MTYwMjc2OTExOSJ9.Jn-XKKvTLsjapyPQoetwP7_C1rbTnkYp8LV0sPxpvI0 通過在流水線中增加人工卡點,滿足發佈流程對產品上線前需執行人工審核的要求:https://tcs-devops.aliyuncs.com/storage/111w2f61e24996242f43a84764316173a3d1?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXcyZjYxZTI0OTk2MjQyZjQzYTg0NzY0MzE2MTczYTNkMSJ9.9VFOXOqdTIx3RArv6KiSiPl7jh8HMfK2DoSOOJzkaWk 一致的開發、測試、預發、生產環境,避免了因環境差異帶來不可預期的結果。四種環境和用途如下:日常環境:供開發者使用,用於自測、聯調測試環境:供測試人員使用,運行自動化腳本預發環境:產品上線前視覺驗收、功能確認、執行代碼掃描、安全掃描生產環境:正式對外提供服務如下圖所示:https://tcs-devops.aliyuncs.com/storage/111w896663c3501f4307d26bcb5f7200b162?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc4OTY2NjNjMzUwMWY0MzA3ZDI2YmNiNWY3MjAwYjE2MiJ9.IdFkErzyr2peQHf60j0jpUfuT1P2L5lUUpdsjuXmP24 4)數據可視化項目中所有過程關鍵數據沉澱在任務中,方便統計分析:https://tcs-devops.aliyuncs.com/storage/111wabde20a2989831e5e15755b311eabbea?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdhYmRlMjBhMjk4OTgzMWU1ZTE1NzU1YjMxMWVhYmJlYSJ9.kvmjZn4DZyI80PGBZqFoTyArpbWygmdZhZQ1wBx26jQ項目數據總覽,方便及時發現問題,合理配置資源。在項目盤點時,也可以通過歷史數據發現項目執行過程中的優缺點,有針對性地進行改進:https://tcs-devops.aliyuncs.com/storage/111w82bfe96a68818d5937f1372624b82fad?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXc4MmJmZTk2YTY4ODE4ZDU5MzdmMTM3MjYyNGI4MmZhZCJ9.qJ1a4YOTxkDWObstzLz5B1I6ZuUL81ZVAMAkvqWvxy4https://tcs-devops.aliyuncs.com/storage/111wb482326275fa5580206930028a091668?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9hcHBJZCI6IjVlNzQ4MmQ2MjE1MjJiZDVjN2Y5YjMzNSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYwMTQ1NDMzOSwiaWF0IjoxNjAwODQ5NTM5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzExMXdiNDgyMzI2Mjc1ZmE1NTgwMjA2OTMwMDI4YTA5MTY2OCJ9.OnXBajjntn8CgX6pizjV1IlBg7ql0wCmkoQ9vVjkVx0 結語雲效是一個非常適合於產研團隊進行敏捷協作的工具,特別是其中代碼管理與流水線進行了無縫集成,完全可以滿足中小型團隊對代碼託管、評審、發佈的一系列需求。相對於自己維護一條“萬國牌”發佈工具鏈,其成本優勢也是非常明顯的。作為一家創業型企業,把有限的資源投入到產生業務價值的活動中,跑贏市場和競爭對手是最重要的,把專業的事交給專業的人做,希望雲效越來越好,能給我們帶來更多的驚喜。作者(合作者)介紹葛志剛,十多年互聯網研發,豐富的架構經驗。目前在人力家負責研發團隊的管理,架構工作。負責過多個核心產品架構,包括智能薪酬,智能工資條,智能社保等。在團隊內推動敏捷協作,安全體系建設,穩定性保障和治理工作。張莉,阿里巴巴雲效解決方案架構師,擁有多年敏捷與持續集成工作經驗,經歷過通信及互聯網多個行業,曾負責大麥持續交付流程建設,成功幫助飛豬、餓了麼研發流程與阿里巴巴集團融合,對項目管理、持續交付過程中的痛點有深刻認識,專注於幫助中小企業提升研發效能,完成DevOps轉型。 瞭解雲效更多信息

資安

結構與算法(05):二叉樹與多叉樹

一、樹狀結構 1、數組與鏈表 數組結構 數組存儲是通過下標方式訪問元素,查詢速度快,如果數組元素是有序的,還可使用二分查找提高檢索速度;如果添加新元素可能會導致多個下標移動,效率較低; 鏈表結構 鏈表存儲元素,對於元素添加和刪除效率高,但是遍歷元素每次都需要從頭結點開始,效率特別低; 樹形結構能同時相對提高數據存儲和讀取的效率。 2、樹結構概念 根節點:樹的根源,沒有父節點的節點,如上圖A節點; 兄弟節點:擁有同一父節點的子節點。如圖B與C點; 葉子節點:沒有子節點的節點。如圖DEFG節點; 樹的高度:最大層數,如圖為3層; 路徑:從root根節點找到指定節點的路線; 樹形結構是一層次的嵌套結構。一個樹形結構的外層和內層有相似的結構,所以這種結構多可以遞歸的表示。經典數據結構中的各種樹狀圖是一種典型的樹形結構:一顆樹可以簡單的表示為根, 左子樹, 右子樹。 左子樹和右子樹又有自己的子樹。 二、二叉樹模型 樹的種類有很多,二叉樹(BinaryTree)是樹形結構的一個重要類型,每個節點最多只能有兩個子節點的一種形式稱為二叉樹,二叉樹的子節點分為左節點和右節點,許多實際問題抽象出來的數據結構往往是二叉樹形式。 完全二叉樹

資安

人工智能的研究熱點:自然語言處理

人工智能(Artificial Intelligence,簡稱AI)作為新一輪科技革命和產業變革的重要驅動力量,正在深刻地影響世界、改變世界。而自然語言處理(Natural Language Processing,簡稱NLP)已成為AI領域的研究熱點,它推動著語言智能的持續發展和突破,並越來越多地應用於各個行業。正如國際知名學者周海中先生曾經所言:“自然語言處理是極有吸引力的研究領域,它具有重大的理論意義和實用價值。” NLP主要研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。而用自然語言與計算機進行通信,有著十分重要的實際應用意義,也有著革命性的理論意義。實現人機間自然語言通信意味著要使計算機既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等;前者稱為自然語言理解(Natural Language Understanding,簡稱NLU),後者稱為自然語言生成(Natural Language Generation,簡稱NLG)。因此,NLP大體包括了NLU和NLG兩個部分。因為處理自然語言的關鍵是要讓計算機”理解“自然語言,所以通常把NLU視為NLP,也稱為計算語言學。 NLP融計算機科學、語言學、自動化、數學等為一體,是一門綜合性的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯繫,但又有重要的區別。NLP並不是一般地研究自然語言,而是研製能有效地實現自然語言通信的計算機系統,特別是其中的軟件系統;因而它是計算機科學的一部分。可以說,NLP是計算機科學、語言學、AI等關注計算機和自然語言之間的相互作用的領域。目前,人們對AI的需求也從計算智能、感知智能到了以NLP為代表的認知智能的層面。沒有成功的NLP,就不會有真正的認知智能。因此,NLP被視為AI極具吸引力的研究領域以及AI必須優先解決的核心問題之一,也被喻為AI皇冠上的明珠。 由於AI包括感知智能(比如圖像識別、語言識別和手勢識別等)和認知智能(主要是語言理解知識和推理),而語言在認知智能起到最核心的作用。如果能把語言問題解決了,AI最難的部分也就基本解決了。美國微軟公司創始人比爾·蓋茨先生曾經表示,”語言理解是人工智能領域皇冠上的明珠“。前微軟公司全球執行副總裁沈向洋先生也在公開演講時說:“懂語言者得天下……下一個十年,人工智能的突破在自然語言的理解……人工智能對人類影響最為深刻的就是自然語言方面”。由於理解自然語言需要關於外在世界的廣泛知識以及運用操作這些知識的能力,所以NLP也被視為解決AI完備(AI-complete)的核心問題之一。可以說,NLP目前是AI領域的關鍵核心技術,對它的研究也是充滿魅力和挑戰的。 NLP涉及的領域較多,主要包括機器翻譯、語義理解和對話系統等。它目前面臨四大挑戰:一是在詞法、句法、語義、語用和語音等不同層面存在不確定性;二是新的詞彙、術語、語義和語法導致未知語言現象的不可預測性;三是數據資源的不充分使其難以覆蓋複雜的語言現象;四是語義知識的模糊性和錯綜複雜的關聯性難以用簡單的數學模型描述,語義計算需要參數龐大的非線性計算。例如在對話系統中,深度學習目前已成為對話系統的一項基本技術;神經網絡被應用於傳統任務導向型對話系統的不同組成部分。近年來,端到端的框架不僅在非面向任務的聊天對話系統中流行,在面向任務的對話系統中也逐步流行起來,但是仍遠非完美。又如在語義識別方面,需要對句法進行剖析,因此剖析在對話系統、信息抽取、語法檢查中都起著非常重要的作用。 最早的NLP研究工作是機器翻譯。1949年,美國知名科學家沃倫·韋弗先生首先提出了機器翻譯設計方案。1954年,基於韋弗“翻譯即解碼”的機譯思想,喬治敦大學進行了著名的“喬治敦實驗”——利用IBM-701型計算機首次完成了英俄文本的自動翻譯;這一實驗的成功標誌著機器翻譯正式登上歷史舞臺。20世紀60年代,許多科學家對機器翻譯曾有大規模的研究工作,耗費了鉅額費用;但他們顯然是低估了自然語言的複雜性,語言處理的理論和技術均不成熟,所以進展不大。當時的主要做法是存儲兩種語言的單詞、短語對應譯法的大辭典,翻譯時一一對應,技術上只是調整語言的同條順序。但日常生活中語言的翻譯遠不是如此簡單,很多時候還要參考某句話前後的意思,需要上下文聯繫起來才能正確翻譯——這就是機譯技術難度高之所在。 大約20世紀90年代開始,NLP領域發生了巨大的變化。這種變化有兩個明顯的特徵:(1)對系統的輸入,要求研製的NLP系統能處理大規模的真實文本,而不是如以前的研究性系統那樣,只能處理很少的詞條和典型句子。只有這樣,研製的系統才有真正的實用價值。(2)對系統的輸出,鑑於真實地理解自然語言是十分困難的,對系統並不要求能對自然語言文本進行深層的理解,但要能從中抽取有用的信息。同時,由於強調了“大規模”和“真實文本”,所以下面兩方面的基礎性工作也得到了重視和加強:(1)大規模真實語料庫的研製。大規模的經過不同深度加工的真實文本的語料庫,是研究自然語言統計性質的基礎;如果沒有這樣的語料庫,統計方法只能是無源之水。(2)大規模、信息豐富的詞典的編制工作。因此規模為幾萬,十幾萬,甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的計算機可用詞典對NLP的重要性是很明顯的。 系統的輸入與輸出這兩個特徵在NLP的諸多領域都有所體現,其發展直接促進了計算機自動檢索技術的出現和興起。實際上,隨著計算機技術的不斷髮展,以海量計算為基礎的機器學習、數據挖掘、數據建模等技術的表現也愈發優異。NLP之所以能夠度過“寒冬”,再次發展,也是因為計算機科學與統計科學的不斷結合,才讓人類甚至機器能夠不斷從大量數據中發現“特徵”並加以學習。不過要實現對自然語言真正意義上的理解,僅僅從原始文本中進行學習是不夠的,我們還需要新的方法和模型。 目前存在的問題主要有兩個方面:一方面,迄今為止的語法都限於分析一個孤立的句子,上下文關係和談話環境對本句的約束和影響還缺乏系統的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規律可循,需要加強語義學和語用學的研究才能逐步解決。另一方面,人理解一個句子不是單憑語法,還運用了大量的有關知識,包括生活知識和專門知識,這些知識無法全部貯存在計算機裡。因此一個書面理解系統只能建立在有限的詞彙、句型和特定的主題範圍內;計算機的貯存量和運轉速度大大提高之後,才有可能適當擴大範圍。 由於語言工程、認知科學等主要侷限於實驗室,目前來看數據處理可能是NLP應用場景最多的一個發展方向。實際上,自從進入大數據時代,各大平臺就沒有停止過對用戶數據的深度挖掘。要想提取出有用的信息,僅提取關鍵詞、統計詞頻等是遠遠不夠的,必須對用戶數據(尤其是發言、評論等)進行語義上的理解。另外,利用離線大數據統計分析的方法進行NLP任務的研究是目前非常有潛力的一種研究範式,尤其是谷歌、推特、百度等大公司在這類應用上的成功經驗,引領了目前大數據研究的浪潮。 NLP是為各類企業及開發者提供的用於文本分析及挖掘的核心工具,已經廣泛應用在電商、金融、物流、醫療、文化娛樂等行業客戶的多項業務中。它可幫助用戶搭建內容搜索、內容推薦、輿情識別及分析、文本結構化、對話機器人等智能產品,也能夠通過合作,定製個性化的解決方案。由於理解自然語言,需要關於外在世界的廣泛知識以及運用操作這些知識的能力,所以NLP也被視為解決強AI的核心問題之一,其未來一般也因此密切結合AI發展,尤其是設計一個模仿人腦的神經網絡。 訓練NLP文本解析AI系統需要採集大量多源頭數據集,對科學家來說是一項持續的挑戰:需要使用最新的深度學習模型,模仿人類大腦中神經元的行為,在數百萬甚至數十億的註釋示例中進行訓練來持續改進。當下一種流行的NLP解決方案是預訓練,它改進了對未標記文本進行訓練的通用語言模型,以執行特定任務;它的思想就是,該模型的參數不再是隨機初始化,而是先有一個任務進行訓練得到一套模型參數,然後用這套參數對模型進行初始化,再進行訓練,以獲得更好的預測性見解。 我們目前已進入一個以互聯網為主要標誌的海量信息時代,而這些海量信息大部分是以自然語言表示的。一方面,有關的海量信息可為計算機學習自然語言提供更多的“素材”;另一方面,這也為NLP提供更加寬廣的應用舞臺。例如,作為NLP的重要應用,搜索引擎逐漸成為人們獲取信息的重要工具,出現了以谷歌、百度等為代表的搜索引擎巨頭;機器翻譯也從實驗室走入尋常百姓家;基於自然語言處理的中文輸入法(如搜狗、微軟、谷歌等輸入法)成為計算機用戶的必備工具;帶有語音識別的計算機和手機也正大行其道,協助用戶更有效地生活、工作和學習。

資安

虛擬機系列 | JVM類加載機制

一、類加載簡介 類的加載機制是指把編譯後的.class類文件的二進制數據讀取到內存中,併為之創建一個java.lang.Class對象,用來封裝類在元數據空間的數據結構。 類在JVM中的生命週期為:加載,連接,初始化,使用,卸載。不過這裡只重點描述加載,連接,初始化這三個過程。 二、加載過程 基於一張圖看類加載子系統的細節流程: 1、加載階段 過程描述 加載階段需要完成以下三個過程: 通過類的全限定名來獲取其定義的二進制字節流; 將字節流所代表的靜態存儲結構轉化為雲數據空間的運行時數據結構; 在堆Heap中生成一個代表這個類的java.lang.Class對象,作為對元數據空間中這些數據的訪問入口; 類加載器 引導類加載器 Bootstrap-ClassLoader基於C/C++實現,負責加載Java的核心類庫JAVA_HOMEjrelibrt.jar,該加載器不繼承自ClassLoader抽象類,並且只加載包名為java、javax、sun等開頭類,一次保證對核心源碼的保護。 擴展類加載器 Extension-ClassLoader,基於Java語言,由sun.misc.Launcher$ExtClassLoader實現,派生於ClassLoader抽象類,從java.ext.dirs系統變量指定的路徑中的加載類庫,或者JDK安裝目錄jrelibext目錄下加載。 系統類加載器 Application-ClassLoader,基於Java語言,由sun.misc.Launcher$ExtClassLoader實現,它負責加載環境變量ClassPath指定的類庫,如果在應用程序中沒有自定義類加載器,一般情況下作為程序中默認的類加載器。 2、連接階段 驗證

資安

金融行業災備壓力大?看中和農信如何從容應對

金融市場是經濟運行狀態的“晴雨表”,前沿科技在信息獲取、傳遞、處理和存儲等方面所顯示出的強大實力,為革新傳統金融體系提供了堅實基礎。目前,我國金融體系正在不斷健全,服務覆蓋面明顯擴大,可持續發展能力顯著增強。 中和農信項目管理有限公司(以下簡稱“中和農信”)作為中國最大的專注農村草根金融服務的社會企業,致力於傳統金融機構所不能及的“最後一百米”,為農村中低收入群體提供方便快捷、經濟實惠的小微金融服務,促進“三農”發展和農民收入增長。 一、因勢利導,彌補城鄉經濟鴻溝 金融行業對於數據災備具有極高的行業以及政策要求。如何充分利用雲計算能力為業務負能,成為每一家金融企業需要考慮的問題。發展普惠金融,關鍵要發展農村金融。不忘“服務農村中低收入群體”之初心的中和農信,正是針對普惠金融發展的痛點,將金融服務與產業興旺、鄉村治理相結合,著力破除用戶端瓶頸,積極利用雲計算的經濟和便利性為自身業務不斷賦能,推進機構轉型與服務轉型。 二、有備無患,給數據安全“上鎖” 新時期以來,金融交易結構複雜程度日漸增加,創新實踐對於農村金融服務供給的增加尤為重要,保證金融行業信息系統的安全穩定運行更是頭等大事。其中,數據庫服務本身的高可用,是實現整個對外數據服務連續性的最重要的基石。 金融業是數據密集型行業,中和農信高度重視應用系統的數據庫中大量數據的安全問題、敏感數據的防竊取和防篡改問題,為有效保證數據庫系統的安全,實現數據的保密性、完整性和有效性,採用了阿里雲混合雲備份HBR解決方案(簡稱HBR),為農村小微金融的騰飛再添助力。 ▲方案架構 首先,備份場景多樣,集中管控。HBR良好的解決了中和農信應用服務器、SQL Server以及Oracle數據庫的數據備份問題,實現了多臺雲主機的集中配置管控。 其次,簡單易用,全自動運維。通過HBR,中和農信只需將備份數據託管到雲上備份倉庫,無需擔心硬件預置、配置、集群擴展等問題。阿里雲混合雲備份HBR控制檯可自動推送備份代理,無需手動安裝,實現全自動運維。 第三,高重刪壓縮比,節省成本。混合雲備份服務採用阿里雲自研的重刪、壓縮技術,重刪壓縮比可達30:1,可有效降低備端存儲空間,減少成本投入。 最後,備份數據安全可用。HBR支持全量、增量以及日誌備份,備份數據可實現快速恢復,RPO大大降低,同時憑藉全自動數據加密校驗等優勢,讓備份數據更加安全。 三、趁勢而上,加速業務創新 在談到項目的具體收益時,中和農信運維負責人劉勁表示,通過使用阿里雲混合雲備份HBR實現了阿里雲主機ECS上自建數據庫的統一備份策略,進而讓自建的數據庫也有了和原生數據庫同樣的數據備份體驗,備份和恢復都更加方便的進行管理,無需再擔心ECS的本地存儲空間問題。同時,中和農信還使用HBR產品對ECS上的關鍵文件進行了細粒度的備份,提升了關鍵文件恢復的靈活性和便捷性。 隨著信息系統的不斷髮展,IT架構日趨複雜,全面提升系統災難抵禦能力和數據保護水平,是保障眾多業務系統運行連續性的基礎。金融平臺數據龐大、系統複雜、業務繁忙,有效管理核心數據日益成為保障業務安全平穩運行的關鍵環節,阿里雲作為雲災備行業的引領者,將持續為金融客戶提供混合雲備份產品,為數據安全保駕護航。

Scroll to Top