其實 AirPods Max 閒置 5 分鐘就會進入 Smart Case 低耗電模式,還有個超低耗電模式等著呢_貨運

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

儘管 AirPods Max 已經是蘋果主動降噪無線耳機中續航最長,可達 20 小時連續聆聽時間的存在。然而,許多人似乎對於將這台美型耳機塞回具備 Smart Case 聰穎耳機套感到有些抗拒(?)。但仍會擔心假如無法藉由它啟動低耗電 AirPods Max 是否就會續航不足?好在,蘋果最近釋出了支援文件,分別提到了有無放在耳機套中,低功耗功能啟動的時機點。繼續閱讀其實 AirPods Max 閒置 5 分鐘就會進入 Smart Case 低耗電模式,還有個超低耗電模式等著呢報導內文。

【 AirPods Max 官網購買頁面 】


▲圖片來源:Apple

其實 AirPods Max 閒置 5 分鐘就會進入 Smart Case 低耗電模式,還有個超低耗電模式等著呢

▲圖片來源:Apple

雖然 AirPods Max 支援充電 5 分鐘即可獲得 1.5 小時聆聽時間的快充功能,不過無線耳機的重點想必就是「無線」這兩個字,所以大多數人應該都會希望在使用過程中盡量不需要插線使用吧!好在,這次的蘋果耳罩式主動降噪無線耳機 AirPods Max 支援最高 20 小時的聆聽時間,理論上來講應該能夠支援大多數人整天甚至多天的使用。

但很多人也會對於搭配聰穎耳機套來盡量省電的必要性有所疑問。現在,透過官方的說明文件,我們終於知道 AirPods Max「各種」低功耗模式的觸發時間點,在有無搭配聰穎耳機套的正確資訊。

▲圖片來源:Apple

簡單的講,AirPods Max 分為幾個「狀態」:

· 透過光感應確認耳機離開耳朵的暫停狀態,類似暫停。
· 靜置超過一定時間或收納到 Smart Case 聰穎耳機套內進入省電模式,類似待機。

上述兩者再維持更長時間後,則是會進入類似休眠的「超低耗電模式」。將會關閉藍牙與 Find My 尋機功能。

▲圖片來源:Apple

以上,其實大多數人關心的是耳機如果不搭配聰穎耳機套的話,是否就會一直處於暫停狀態造成續航損耗過多。而根據官方的說法,雖然想省電還是將 AirPods Max 放入聰穎耳機套最快,會立即啟動低耗電模式。不過其實這款耳機只要靜止閒置 5 分鐘的時間也就會進入放入聰穎耳機套的狀態。

沒錯,兩者就只差 5 分鐘而已。沒先前傳出的 18 小時那樣久。

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

至於更低功耗的 Ultra-low power 超低耗電模式則是需要再等 18 小時(Smart Case)/ 72 小時(靜置)才會啟動。

▲圖:說明文件提到,AirPods Max 耳機上也會有類似以往 AirPods 充電盒顯示有無低於 15% 電量的狀態燈號。

是說,除了超低耗電模式到底能讓 AirPods 續航延長到多少,該如何喚醒,還有包括「靜置(stationary)」的定義也蠻讓人好奇的 — 是代表儘管是塞在包包裡,只要有偵測到動態就會恢復一般的暫停狀態嗎?

假若如此,這應該代表 AirPods Max 放在固定場地使用的話,是不太需要塞回聰穎耳機套中。不過如果想保證通勤移動過程中攜帶時的低耗電狀態,最有效延長外出時的續航時間,也許原廠的耳機套(或類似功能的專用攜行盒)都還是要裝回比較好囉。

【 AirPods Max 官網購買頁面 】

本篇圖片 / 引用來源

延伸閱讀:

HomePod mini 開箱體驗:一顆就能敲開蘋果智慧家門,兩顆更是不嫌多

AirPods Max 過保電池維修價格公佈,這算… 便宜?

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

圖解大頂堆的構建、排序過程_貨運

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

這两天在複習大頂堆和小頂堆,比起兩年前的懵懵懂懂,這次理解起來就容易了一些。又翻看了一下自己之前的筆記數據結構與算法之PHP排序算法(堆排序),發現自己這次查閱資料,和之前的思路不太一樣,遂寫下這篇筆記,算是和以前的筆記做一個對照。

一、什麼是堆

堆是一種非線性結構,可以把堆看作一棵二叉樹,也可以看作一個數組,即:堆就是利用完全二叉樹的結構來維護的一維數組

堆可以分為大頂堆和小頂堆。
大頂堆:每個結點的值都大於或等於其左右孩子結點的值。
小頂堆:每個結點的值都小於或等於其左右孩子結點的值。

如果是排序,求升序用大頂堆,求降序用小頂堆。

一般我們說 topK 問題,就可以用大頂堆或小頂堆來實現,
最大的 K 個:小頂堆
最小的 K 個:大頂堆

二、大頂堆的構建過程

大頂堆的構建過程就是從最後一個非恭弘=叶 恭弘子結點開始從下往上調整。

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

最後一個非恭弘=叶 恭弘子節點怎麼找?這裏我們用數組表示待排序序列,則最後一個非恭弘=叶 恭弘子結點的位置是:數組長度/2-1。假如數組長度為9,則最後一個非恭弘=叶 恭弘子結點位置是 9/2-1=3。

比較當前結點的值和左子樹的值,如果當前節點小於左子樹的值,就交換當前節點和左子樹;
交換完后要檢查左子樹是否滿足大頂堆的性質,不滿足則重新調整子樹結構;

再比較當前結點的值和右子樹的值,如果當前節點小於右子樹的值,就交換當前節點和右子樹;
交換完后要檢查右子樹是否滿足大頂堆的性質,不滿足則重新調整子樹結構;

無需交換調整的時候,則大頂堆構建完成。

畫個圖理解下,以 [3, 7, 16, 10, 21, 23] 為例:

代碼如下:

<?php
/**
 * 構建大頂堆
 * 大頂堆的性質:每個結點的值都大於或等於其左右子結點的值。
 */
function buildBigHeap(&$arr, $len) {
    for ($i = floor($len/2) - 1; $i >= 0; $i--) {
        //根節點小於左子樹
        if (2 * $i + 1 < $len && $arr[$i] < $arr[2 * $i + 1]) {
            //交換根節點和左子樹的值
            swap($arr, $i, 2 * $i + 1);
            // $temp = $arr[$i];
            // $arr[$i] = $arr[2 * $i + 1];
            // $arr[2 * $i + 1] = $temp;
            //檢查左子樹是否滿足大頂堆的性質,如果不滿足,則重新調整
            if ((2 * (2 * $i + 1) + 1 < $len && $arr[2 * $i + 1] < $arr[2 * (2 * $i + 1) + 1])
            || (2 * (2 * $i + 1) + 2 < $len && $arr[2 * $i + 1] < $arr[2 * (2 * $i + 1) + 2])) {
                buildBigHeap($arr, $len);
            }
        }
        //根節點小於右子樹
        if (2 * $i + 2 < $len && $arr[$i] < $arr[2 * $i + 2]) {
            //交換根節點和右子樹的值
            swap($arr, $i, 2 * $i + 2);
            // $temp = $arr[$i];
            // $arr[$i] = $arr[2 * $i + 2];
            // $arr[2 * $i + 2] = $temp;
            //檢查右子樹是否滿足大頂堆的性質,如果不滿足,則重新調整
            if ((2 * (2 * $i + 2) + 1 < $len && $arr[2 * $i + 2] < $arr[2 * (2 * $i + 2) + 1])
            || (2 * (2 * $i + 2) + 2 < $len && $arr[2 * $i + 2] < $arr[2 * (2 * $i + 2) + 2])) {
                buildBigHeap($arr, $len);
            }
        }
    }
}

/**
 * 交換兩個值
 * m n 為數組的下標
 */
function swap(&$arr, $m, $n) {
    $temp = $arr[$m];
    $arr[$m] = $arr[$n];
    $arr[$n] = $temp;
}

三、大頂堆的排序過程

將待排序序列構造成一個大頂堆,此時,整個序列的最大值就是堆頂的根節點。將其與末尾元素進行交換,此時末尾就為最大值。然後將剩餘n-1個元素重新構造成一個堆,這樣會得到n個元素的次小值,如此反覆執行,便能得到一個有序序列了。

是不是對上面這一大段文字很頭疼?其實排序過程用下面 4 步就能概括:
第 1 步:先 n 個元素的無序序列,構建成大頂堆
第 2 步:將根節點與最後一個元素交換位置,(將最大元素”沉”到數組末端)
第 3 步:交換過後可能不再滿足大頂堆的條件,所以需要將剩下的 n-1 個元素重新構建成大頂堆
第 4 步:重複第 2 步、第 3 步直到整個數組排序完成。

/**
 * 交換交換根節點和數組末尾元素的值
 */
function adjustHeap(&$heap, $len) {
    $temp = $heap[0];
    $heap[0] = $heap[$len - 1];
    $heap[$len - 1] = $temp;
}
/**
 * 堆排序
 */
function heapSort(&$arr) {
    $len = count($arr);
    for ($i = $len; $i > 0; $i--) {
        buildBigHeap($arr, $i);
        adjustHeap($arr, $i);
    }
}

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

基於RBAC的權限控制淺析(結合Spring Security)_網頁設計公司

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

節能減碳愛地球是景泰電動車的理念,是創立景泰電動車行的初衷,滿意態度更是服務客戶的最高品質,我們的成長來自於你的推薦。

 

嗯,昨天面試讓講我的項目,讓我講講項目里權限控制那一塊的,講的很爛。所以整理一下。

按照面試官的提問流程來講:

一、RBAC是個啥東西了?

RBACRole-Based Access Control ),即基於角色的訪問控制模型,我的項目是基於RBAC0模型.由於之相對應的數據實體構成.由用戶表,角色映射表,角色表,權限表,權限映射表構成.

 

 

1 RBAC0模型圖

二、你可以講講權限控制大概執行流程嗎?

 用戶登錄之後首先進行身份驗證,成功之後獲取當前用戶的所有角色,之後根據角色加載對應的權限菜單,這裏默認不加載沒有權限的菜單,當存在直接輸入URL路徑的情況時,對於登錄用戶的每一個請求,都會通過鑒權處理,分析角色.最後通過權限的判斷分析是否可以訪問菜單資源.

在 spring Security,對用登錄的請先通過FilterInvocationSecurityMetadataSource的實現類獲取當前請求,分析需要的角色,該類的主要功能就是通過當前的請求地址,獲取該地址需要的用戶角色。

1、獲取當前訪問路徑的URL路徑

2、獲取所有資源URL,即所有的菜單URL路徑

3、當前的訪問URL和返回的每個URL基於Ant風格比較,如果相等,獲取當前訪問URL的所有角色。如果沒有相等的,定義資源為公告資源,並且給予一個公告資源的角色。

4、當為公共資源時,判斷用戶是否登錄。登錄放行。返回資源

5、當為角色資源時,登錄用戶的角色列表和該資源的角色列表進行比較,如果有相同角色,放行,返回資源

6、當即不是公共資源也沒有相匹配的角色的時候。拋異常,沒有權限

圖2 系統訪問控制流程圖

 代碼:

鑒權:

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

透過選單樣式的調整、圖片的縮放比例、文字的放大及段落的排版對應來給使用者最佳的瀏覽體驗,所以不用擔心有手機版網站兩個後台的問題,而視覺效果也是透過我們前端設計師優秀的空間比例設計,不會因為畫面變大變小而影響到整體視覺的美感。

@Component
public class CustomFilterInvocationSecurityMetadataSource implements FilterInvocationSecurityMetadataSource {
    @Autowired
    MenuService menuService;
    //路徑比較工具
    AntPathMatcher antPathMatcher = new AntPathMatcher();
    Logger logger = Logger.getLogger("com.liruilong.hros.config.ustomFilterInvocationSecurityMetadataSource");
    /**
     * @return java.util.Collection<org.springframework.security.access.ConfigAttribute> * 返回值是 Collection<ConfigAttribute>,表示當前請求 URL 所需的角色。
     * @Author Liruilong
     * @Description 當前請求需要的角色,該方法的參數是一個 FilterInvocation, 開發者可以從 Filterlnvocation 中提取出當前請求的 URL,
     * @Date 18:13 2019/12/24
     * @Param [object]
     **/
    @Override
    public Collection<ConfigAttribute> getAttributes(Object object) throws IllegalArgumentException {
        //獲取當前請求路徑
        String requestUrl = ((FilterInvocation) object).getRequestUrl();
        logger.warning(requestUrl);
        //獲取所有的菜單url路徑
        List<Menu> menus = menuService.getAllMenusWithRole();
        // AntPathMatcher,主要用來實現 ant 風格的 URL 匹配。
         for (Menu menu : menus) {
            if (antPathMatcher.match(menu.getUrl(), requestUrl)) {
                //擁有當前菜單權限的角色
                List<Role> roles = menu.getRoles();
                String[] strings = new String[roles.size()];
                for (int i = 0; i < roles.size(); i++) {
                    strings[i] = roles.get(i).getName();
                }
                return SecurityConfig.createList(strings);
            }
        }
        // 沒匹配上的資源都是登錄,或者為公共資源
        return SecurityConfig.createList("ROLE_LOGIN");
    }

 

 @Override
    public void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes)
            throws AccessDeniedException, InsufficientAuthenticationException {
        for (ConfigAttribute configAttribute : configAttributes) {
            String needRole = configAttribute.getAttribute();
            if ("ROLE_LOGIN".equals(needRole)) {
                if (authentication instanceof AnonymousAuthenticationToken) {
                    throw new AccessDeniedException("尚未登錄,請登錄!");
                } else {
                    return;
                }
            }
            Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
            for (GrantedAuthority authority : authorities) {
                if (authority.getAuthority().equals(needRole)) {
                    return;
                }
            }
        }
        throw new AccessDeniedException("權限不足,請聯繫管理員!");
    }

 

 

 

三、你可以把對應的SQL和表結構寫一下嗎?

 

加載所有的菜單資源;返回所有的菜單資源和對應的角色集合,Service端和訪問的URL的比較,存在判斷角色。(鑒權)


select m.*,r.`id` as rid,r.`name` as rname,r.`namezh` as rnamezh
from menu m,menu_role mr,role r
where m.`id`=mr.`mid` and mr.`rid`=r.`id` order by m.`id`
根據用戶ID返回當前用戶的全部菜單資源(授權)
   select m1.`id`,m1.url,m1.`path`,m1.`component`,m1.`iconCls`,m1.`name`,m1.`requireAuth`,m1.keepAlive,m1.enabled,
       m2.id as id2,m2.url as url2,m2.name as name2,m2.`component` as component2,m2.`iconCls` as iconCls2,m2.`keepAlive` as keepAlive2,m2.`path` as path2,m2.`requireAuth` as requireAuth2,m2.enabled as enabled2,m2.parentId as parentId2
       from menu m1,menu m2
       where m1.`id`=m2.`parentId` and m1.`id`!=1 and m2.`id`
       in(select mr.`mid` from hr_role h_r,menu_role mr where h_r.`rid`=mr.`rid` and h_r.`hrid`=#{hrId})
       and m2.`enabled`=true order by m1.`id`,m2.`id`

 

2 ERBAC數據實體關係圖

用戶登錄之後首先進行身份驗證,成功之後獲取當前用戶的所有角色,之後根據角色加載對應的權限菜單,這裏默認不加載沒有權限的菜單,當存在直接輸入URL路徑的情況時,對於登錄用戶的每一個請求,都會通過鑒權處理,分析角色.最後通過權限的判斷分析是否可以訪問菜單資源.

用戶表:

 

 角色表:

 

用戶角色映射表:

 

權資源表:

 

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

搬家費用:依消費者運送距離、搬運樓層、有無電梯、步行距離、特殊地形、超重物品等計價因素後,評估每車次單

台灣之星推出網路限定「用多少付多少」升級版,享受 5G 高速網路就是這麼輕鬆_貨運

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

各家業者都在推 5G 行動網路,手機廠商也因應潮流陸續推出各種 5G 機型,5G 又快、又順真是非常誘人,只不過目前的 5G 資費價格還是偏高,且基站覆蓋率還須努力,要我立刻拋下 4G 轉身迎向 5G,皇上,臣妾真是做不到啊!好險世道還有公平正義,台灣之星從開台就主打「用到 5G 才付錢」的精神,將入手 5G 的門檻降到 399 元,每月有 20GB 上網量可以用;另外還有 4G 不限速吃到飽 799 起,5G 上網另外收費,最高只要加 200 元就可享 4G+5G 吃到飽,所以如果沒有用到 5G 訊號,就只要付 4G 吃到飽的錢就好。

這回台灣之星 So Sweet,特別為超想試試 5G 快感又步步驚心的你推出了「用多少,付多少」5G 版,讓你的每一分錢都用在刀口上,硬是把5G月租降到$0起,入主 5G 就是這麼輕鬆。

0 元起享受台灣之星 5G 飆速快感,立刻申辦點這裡

台灣之星推出網路限定「用多少付多少」升級版,享受 5G 高速網路就是這麼輕鬆

「4G 上網吃到飽」方案是許多人用以滿足生活、工作等網路需求的選擇,每個月只需繳交固定的金額就能滿足所需的無限網路流量,用起來心裡完全無負擔。雖說最新的高速 5G 網路相當吸引人,又很想試試,但是又不知道各家的訊號覆蓋怎麼樣,而目光所見所有的 5G 吃到飽方案低消都得要負擔制少 1399 元的高額月租,先不說這個金額對於一般人來說有多沉重,即便你每日出沒區域還是 4G 網路居多,用到 5G 的機會少之又少,還是免不了要繳交一樣的費用。對於薪水不漲、精打細算的現代人來說,這完全不符合經濟效益,難道要把血汗錢這麼揮霍?

0 元起享受台灣之星 5G 飆速快感,立刻申辦點這裡

台灣之星「用多少付多少」,5G 也可以輕鬆繳

好想用用時下最有話題的 5G 高速網路喔!可是月租拿~摸貴,訊號覆蓋又不夠普及,如果有平價 5G 那該有多好!
吃到飽餐廳裡明明都是付一樣的錢,卻可能因為食量小才吃一點點,對海鮮過敏只能吃肉,眼看著餐檯上滿滿的美食卻真得只能看而已,這根本不是真正的價格公道。噹啷!一向對電信資費方案最有創意的神燈精靈、正義使者 — 台灣之星將實現你的願望!在過去,台灣之星針對了輕量型 4G 行動上網用戶推出大受好評的「用多少付多少」方案,這次全新推出 5G 版「用多少付多少」。資費表先奉上:

◎設定費 300 元為單次費用,將在合約生效後的次月帳單中收取。

這個條件超優渥的資費方案可是【網路門市限定】,要怎麼辦理?必須符合哪些資格?

  • 新申裝與攜碼用戶皆可在網路門市申辦
  • 準備好身分證、第二證件(駕照或健保卡)就可申辦

0 元起享受台灣之星 5G 飆速快感,立刻申辦點這裡

台灣之星「用多少付多少」5G 版有什麼優勢?

為什麼筆者會如此推崇這回台灣之星的 5G 用多少付多少方案呢?先說說我的結論:夠厚道。怎麼說呢?筆者把台灣之星這項升級版方案的優勢與特色列了下來。

  • 4G 與 5G 分開計費,沒用到不用錢
    因為現在的 5G 基站還在進行中,除非你居住、工作與出沒地都在六都蛋黃區或是夠熱鬧的商圈,否則很多時候你用到的並不是 5G 網路,而是系統為了讓你能繼續上網而跳轉到 4G 網路。如果是其他電信業者的計費方式來看,不管你是用 4G 還是 5G 網路,通通得繳一樣的費用,就是一開始你所辦理,平均定價為 1,399 元的所謂「5G 吃到飽」(明明大多數時候可能吃的還是 4G)。台灣之星的計價方式清楚透明,將 4G 與 5G 用量分開計算,怎麼用就怎麼繳,有用到才收費,沒用到不坑錢,不敷衍、不含糊。
    舉例來說:
    這個月只有用到 4G,所用的網路計費就以資費表中的 4G 收費方式來算,每 GB 只要 30 元
    這個月只有用到 5G,所用的網路計費就以資費表中的 5G 收費方式來算,每 GB 只要 60 元
    兩個都有用到,那就看你用幾 GB 的 4G 網路、幾 GB 的 5G 網路,分開計算後再合計費用

    ※回頭車貨運收費標準

    宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

  • 設置計費天花板,不怕帳單爆天價
    以量計價的收費方式,很多人都會擔心是否在無聲無息之間用得太多使得下個月收到天價帳單而用得戰戰競競。台灣之星設置了收費天花板,4G 網路吃到飽最高收到 499 元,5G 網路最高收到 899 元,就算是有時 4G 有時 5G 的使用,最多也是只收到 899 元,有效幫你控制最高支出,讓你安心暢快飆網衝浪。
    舉例來說:
    5G 網路收費 60 元/GB,這個月用了 30GB;4G 網路收費 30 元/GB,這個月用了 20GB
    原本應該支付 60 元 x 30GB + 30 元 x 20GB = 2,400 元
    台灣之星優惠只需支付最高 899 元  為你省下 1,501 元

  • 帳單 0 元起,無低消限制
    最常看到的資費方案,就算你很少用到,還是要支付一筆最低消費,是說花錢買沒用到的東西再便宜都是浪費。台灣之星「用多少付多少」方案最大的特點(與優良傳統)就是終身 0 月租,如果這個月完全沒用到,你就完全不需要付費,讓你的每一分錢都發光發熱,不造成額外的浪費。
    舉例來說:
    我出國去玩個一個月,本月手機根本沒有用到,那我這個月就完全不需要繳錢。

0 元起享受台灣之星 5G 飆速快感,立刻申辦點這裡

沒用到,幹嘛繳?台灣之星「用多少付多少」收費最實在

筆者自己一直很猶豫到底要不要搶在首波加入 5G 的行列,但想想目前 5G 訊號覆蓋不如 4G 網路來得全面又穩定,看著各家業者動不動就上千元的 5G 吃到飽費率,我也產生了許多疑慮,因為居住地、出沒地的不同,似乎也很難確保真得能否暢享 5G 吃得飽,往往變成繳了 5G 吃到飽費用卻一直在用 4G。台灣之星「用多少付多少」升級版不僅有 4G,這回更把 5G 也納入其中,也就是說你用了多少 4G,用了多少 5G ,費用明明白白、清清楚楚,你沒有用到的就完全不需要付費,這點對於大眾來說是最實惠的計價方式。以實際用量為準,免除其他業者一刀切資費方案下可能白花的錢,最適合精打細算又對 5G 躍躍欲試的你。

 

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

節約與風尚_貨運

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

  攝影:楊 敏(影像中國)

  初冬的周末,邀兩位摯友吃茶,隔着茶館玻璃,看到飄灑落恭弘=叶 恭弘的銀杏林,在夕陽照射下,恍如一片金色的世界。朋友們從眼前的景色,談到春夏秋冬四季變幻的顏色,一直談到生活中節約與浪費的故事。

  在某科技公司就職的凱哥向來直言直語,他說,我們公司給來得早的員工提供早餐,每天大概七點開飯。每頓早餐,總有那麼幾個人,手拿兩個雞蛋,把蛋白吃了,把蛋黃丟掉。而送餐公司是按吃早餐的人數帶雞蛋,一人一個,略有盈餘;若一人拿兩個,有的人就吃不到了。他們倒好,一人拿兩個,吃一半,扔一半。據說這些人是怕膽固醇增高,要我說,怕膽固醇高,不吃不就得了!凱哥說著便有些來氣,把眼鏡摘下來往茶几上一扔。

  在機關上班的王兄,慢條斯理地說,我們機關食堂牆上,醒目地貼着“節約糧食”“吃多少拿多少”的提示性標語,誰都能看見。可是每天中午打飯時,還是有那麼幾個人,在排着長隊的一大隊人前面,用勺子攪來攪去,精挑細選,可勁兒往自己盤子里堆;可他們又多是眼大肚子小,挑挑揀揀吃上幾口,就扯幾張餐巾紙遮蓋一下,把剩下的飯菜統統倒進垃圾桶里去了……王兄搖着頭,深深的惋惜與憂慮,溢於言表。

  我說,是不是單位里個別年輕人,沒過過苦日子,不了解“汗滴禾下土”的辛勞,所以不懂得珍惜糧食。

  凱哥道,也不是,有的年輕人很懂得節約,也有一大把年紀的人天天浪費。

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

  王兄語氣沉重地說,在某些人的潛意識里,不認為這是浪費,覺得丟掉兩個蛋黃、半盒飯菜,多大一丁點兒事啊,值得大驚小怪嗎?他們是習慣成自然,這才是問題的嚴重性所在。勤儉節約與奢靡浪費,看似是細小的生活問題,實質上是個大是大非問題。

  王兄呷口茶,瞥一眼窗外,繼續說,改革開放四十多年來,我們富起來了,但不能因此就不注重節儉了,就開始鋪張浪費了。其實,中華傳統文化向來崇尚節約。我們今天仍然可以從兩千多年前先哲們創立的哲學範疇中,汲取對建設現代社會有益的因子。譬如《易經·節卦》就是講“度”的問題,其中就包含節約的合度性,既講求節儉、節約,更講究節制、調節。《節卦》所謂“節以制度,不傷財,不害民”,不正與我們今天所倡導的節約資源、保護環境、構建生態文明制度體系相契合嗎?《節卦》所講的“君子以制數度,議德行”,不就是講節約其實也是一個操行問題、品格問題嗎?種種浪費現象,其實也關乎一個人的操行與品格。

  王兄接着說,咱打小在農村長大,從父輩身上不僅看到了勤勞儉樸的良好品質,同時也親身感受到他們年年月月日日時時都在奉行着尊崇自然、保護自然的美好理念。比如,我的父親從不讓我們兄弟姐妹乃至孫輩兒們,把用過洗衣粉、洗髮水的髒水倒進菜園子里。老人家說,摻和“化學水”的肥料“有毒”,澆了“化學水”土地會板結,以後打不下好糧食。老人家要求兒女和孫輩們,把洗髮、洗臉、洗衣的水,潑在磚砌的路面上,風吹日晒就能風乾,不要糟害了土地和莊稼。老輩人常說,“但留方寸地,留與子孫耕”,作為一輩子跟土地打交道的莊戶人,他們的感受最為深切。所以,他們是在用自己樸素的理念和實實在在的具體行動,保護生態資產,呵護生態文明,踐行可持續發展。

  我說,是啊!古人說得好,“歷覽前賢國與家,成由勤儉敗由奢”,俗話也說,“習慣之初如蛛絲,習慣之成如繩索”。決不能讓鋪張浪費的行為,形成一種不良的社會風氣。講節約,就是為了保護生態、愛護資源,促使人們養成良好習慣。所以當務之急,就是要讓節約優先、綠色發展和生態文明建設的理念,成為一種普遍的公民共識,形成一種良好的社會風尚。

  凱哥贊成說,我們在日常生活中,不丟棄一個蛋黃、半碗米飯;把自家廚餘垃圾、有害垃圾和可回收垃圾,分類投放到垃圾桶里;每天在單位喝多少水打多少水,避免次日早晨大量傾倒;盡量少開車出行,條件允許騎自行車上班;孩子在學校讀書,要叮囑其養成勤儉節約的好習慣……凡此種種節約理念、環保理念、綠色理念,往長遠去想,往大處去講,都是在為子孫後代永續發展的千年大計,盡一份自己的責任和義務。

  茶上三壺,高談轉清。我起身以茶代酒,舉杯相碰。我說,今兒個聊得開心!今晚恭聆二兄之高論,更知一個“節”字,意蘊如此深遠。

本站聲明:網站內容來http://www.societynews.cn/html/wh/fq/,如有侵權,請聯繫我們,我們將及時處理

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

史上參与人數最多最大福字在福建德化誕生_貨運

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

中國社會新聞網訊(姚逸寧 陳為德 庄芷萱)為积極響應中共中央辦公廳、國務院辦公廳《關於實施中華優秀傳統文化傳承發展工程的意見》精神,1月19日,由福建德化仙峰寺和泉州市禮儀協會等多個部門聯合舉辦福建省首屆”千福千聯”迎新賜福大型文化活動,在九仙山仙峰寺隆重舉行。期間,創造了史上參与書寫人數最多而且宣紙面積最大的福字,藉此共同祝福祖國繁榮昌盛,祈禱世界永久和平。並且,開展了群眾喜聞樂見的系列文化活動,受到人們的熱烈歡迎和由衷喝彩。

圖:福建省首屆千福千聯迎新賜福大型文化活動現場

在海拔1658米的九仙山上,天寒地凍,雲霧迷濛,但是來自全國各地的書法愛好者和群眾們,熱情高漲,喜笑顏開。活動總策劃庄金泉說,本次活動的目的是堅守中華文化立場、傳承中華文化基因,汲取中國智慧、弘揚中國精神、傳播中國價值,讓具有中國特色、中國風格、中國氣派的文化產品更加豐富,讓人們享有健康豐富的精神文化生活。

圖:參會人員集體向全市與全國人民祝福

“福”,自古以來就是中國人祝吉道福的絕妙佳詞,也是中國人共同追求的人生目標之一。在中國傳統文化里,”福”字寓意美好,既是古代人民對美好生活的嚮往,也是當代中華民族最基本的精神追求。所以,對福字藝術的傳承與創新,一直是藝術家們孜孜不倦的追求與樂在其中的探索。

圖:史上參与人數最多、宣紙面積最大的福字作品

此次,來自全國各地組成的13位書法愛好者,齊心協力共同完成的史上參与人數最多、宣紙面積最大的”福”字作品,堪稱世界一絕。該作品使用的萬年紅宣紙尺寸為長5米、寬5米,總面積25平方米。使用的特大毛筆總長1.8米,毛長35厘米,毛直徑12.5厘米,筆桿直徑4.5厘米,浸泡墨汁后毛筆總重約15公斤。值得一提的是,25平方米的特大宣紙和1.8米長的毛筆均為德化藝峰文化傳播有限公司周小平免費提供。

在悠揚的空靈鼓聲中,伴隨着王韻雅的禪舞表演,每位書法愛好者使用了同一根特大毛筆,採用正楷的書寫方式,一人一筆,歷時近一個小時完成。書法愛好者書寫順序分別為:褚子良、方長溪、何子軒、羅美花、陳能倡、吳明君、蘇和平、陳棟、賴開派、張金水、王文聯、庄金泉、朱雅宣。

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

圖:老中青書法家在現場為人們寫福

接着,圍繞這個特大的”福”字四周,還有幾百位來自香港、澳門、廈門、漳州和其它各省趕來的遊客與當地群眾等人組成的”書畫團”,在”福”字上面簽上了自己和家人的姓名,藉此抒發了對美好生活的嚮往和追求。

在活動中,擅長空心字的洪志鵬一氣呵成,一以貫之,毫不停歇,書寫了一幅16平方米的特大的空心福字,作為參加本次活動的獻禮。令人鼓舞的是,來自廈門的畫家曹夢海和丈夫王少武,一起把聯合創作的100幅牡丹作品獻給寺廟,與大眾結緣。

中國眾星書畫院院長王強、文化部國禮畫家曾鎮溪等國際著名書畫家,專程為活動送來墨寶福字。中國國際藝術研究會常務副會長潘贊盛、齊白石畫院常務副院長何子軒、光林寺禪畫院天石大師與天星大師等國內實力派書畫家,專程趕赴現場揮毫潑墨,助力為民造福文化活動。

圖:放假的學生在現場求福

據了解,本次活動由德化縣九仙山仙峰寺、德化九仙山旅遊度假風景區、泉州市禮儀協會大力主辦;由德化九仙山氣象站、九仙山靈鷲岩、九仙山永安岩、中國翰林院書畫家協會、德化縣書法家協會、德化穎達瓷藝研究所、德化縣航宇陶瓷有限公司、德化藝峰文化傳播有限公司、九仙山華裕飯店、晉江市海豐國際酒店、晉江五店市片仔癀體驗店、廈門大學附屬廈門眼科中心、健清堂企業總部管理有限公司、福建僑豐企業有限公司、廈門恆達昌投資集團、廈門沅舟綠文化傳播有限公司、泉州翰墨緣文化傳媒有限公司、泉州天強農林科技有限公司、泉州合世加陶瓷有限公司、三明市大田縣草木緣茶業有限公司等單位聯合協辦;由泉州市咱厝閩南文化研究中心、泉州市助學幫扶協會傾情承辦。

圖:少年書法愛好者在現場寫福

當日,主辦方還邀請了廈門大學附屬廈門眼科中心醫生、晉江五店市片仔癀體驗店到現場為群眾和遊客提供免費的眼科義診和健康知識普及等專項服務。晉江五店市片仔癀體驗店總經理張文波說,在此新春佳節來臨之際,能夠參加這種祈福送福活動,他感到很高興,也很振奮。在現場,他榮幸”請”到了幾張大師們即興書寫的”福”字。

福建省級工藝美術大師連德理,聞訊积極捐獻陶瓷作品,用於慈善義賣。據連德理介紹,他的德化穎達瓷藝研究所是一家集陶瓷產品自主研發、生產和銷售為一體的陶瓷文化研究機構,以德化傳統雕塑中國白瓷為研究方向,用非物質文化傳承技藝和獨特的藝術風格,創作出富有藝術和經濟價值的陶瓷系列精品,作品多次榮獲國家、省、市級金獎。在現場,連德理祝福活動圓滿成功,恭祝全市與全國人民新年快樂,福滿人間。

世界文化使者、國禮書法師、著名國際毛體書法家方長溪,在百忙之中專程趕赴寒冷的九仙山,熱情地參与盛會。方長溪在現場也獨立寫了一幅16平方米的特大福字。用原創精神舉辦這種特殊方式的大型文化活動,祝福祖國繁榮富強、人民安居樂業、世界永久和平,具有非常寶貴的社會意義。方長溪說,這對於弘揚中華傳統文化,發揚社會正能量,講好中國故事,激發人們”惜福”、”愛福”情懷,都具有积極昂揚的意義。

本站聲明:網站內容來http://www.societynews.cn/html/wh/fq/,如有侵權,請聯繫我們,我們將及時處理

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

HotRing: A Hotspot-Aware In-Memory Key-Value Store(FAST ’20)_貨運

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

  本文主要解決的是基於內存的K-V存儲引擎在實際應用中出現的熱點問題,設計了一個熱點可感知的KV存儲引擎,極大的提升了KV存儲引擎對於熱點數據訪問的承載能力。

Introduction

  熱點問題,可以理解為在一個嚴重傾斜的工作負載下,頻繁的訪問和操作某一小部分數據。

  如圖,是阿里的不同業務中數據訪問分佈情況,大量的數據訪問只集中在少部分的熱點數據中。在平常的情況下,百分之五十的用戶訪問請求只是針對其中百分之一的數據,在一些極端的情況下,當新產品發售後,大量的粉絲瘋狂進行搶購下單,業務的訪問量基本都聚集在某一小部分數據上,會出現百分之九十的用戶請求針對其中百分之一的數據。

   目前有一些方法來解決熱點數據問題:

  •      使用一致性哈希算法將數據分片,分佈到多個節點上,分攤熱點訪問。(Scale out using consistent hashing
  •      將熱點數據備份到多個節點上,分攤熱點訪問。 (Replication in multi-node
  •      客戶端緩存:通過預先標記熱點,設置客戶端層面的緩存。減小鍵值存儲系統的負載壓力。(Front-end cache

     第一種和第二種方法中因為節點的添加,會使得系統的成本會大大增加。第三種方法,如果用戶請求中涉及到很多數據更新的請求,對客戶端層面的緩存的數據需要維護,這個過程實現會變得很複雜。

 本篇論文則是從提升單個點對熱點數據的處理能力出發(Improve Single node’s ability to handle hotspots),設計了一種熱點可感知的鍵值數據結構,實現在嚴重傾斜的工作負載下,快速的完成用戶的訪問請求。

Prior work 

  現有很多基於內存的鍵值存儲引擎通常採用鏈式哈希作為索引,這種索引結構對熱數據是無法感應到,數據項被隨機的分佈在鏈表上。如果圖中item3是一個熱數據項,他處在某一鏈表的尾部,需要經過多次內存訪問才可以將item3的數據取出來。如果高度傾斜的工作負載下,要通過多次內存訪問才可以的得到item3,會使得系統的性能就會很低下。如果可以將熱點數據放置在衝突鏈頭部,那麼系統對於熱點數據的訪問將會有更快的響應速度。

 

Challenges 

  設計一個熱點可感知的索引結構需要解決兩個問題:

  • 數據的熱度是動態變化的,必須實現動態的熱點感知,保證熱點時效性。
  • 無鎖化處理,基於內存的鍵值存儲引擎性能是很敏感的,要保證高性能就必須支持無鎖的併發讀/寫操作

Design of HotRing   

  論文提出的索引結構被稱作hotring,與傳統的哈希結構不同的是,將哈希表中的鏈式結構改成了環,哈希表中存儲的頭指針可以指向環中的任意數據項。當鏈表變成環的時候,以頭指針所指的數據項為起點,查找要訪問的元素,如果元素不存在,就會一直循環查找下去,因此,作者將該還設計成一個有序環。

      在變成有序環的時候,因為表示key大小所用的字節數一般不會少(通常為10-100字節大小),只是簡單的對key進行排序,比較會帶來巨大的開銷。我們構建字典序:order = (tag, key)。先根據tag進行排序,tag相同再根據key進行排序:以itemB舉例,鏈式哈希需要遍歷所有數據才能返回read miss。而HotRing在訪問itemA與C后,即可確認B read miss。

Hotspot Shift Identification

  每段時間用戶的訪問需求在不斷變化,數據的熱度是動態變化的,HotRing實現了兩種策略來實現周期性的動態識別熱點並調整頭指針指向。

  1. 隨機移動策略
  2. 採樣分析策略

   隨機移動策略

   每個線程維護一個變量,記錄執行了多少次請求,每R次訪問,移動頭指針指向第R次訪問的數據項。若指針已經指向該數據項,則頭指針不移動。該策略的優勢是, 不需要額外的元數據開銷,實現簡單,響應速度快。

   缺點:

  • 若R小,找到熱點的時間會很短,但是可能造成頻繁的頭指針移動。
  • 若用戶的訪問負載傾斜程度小,頭指針移動的頻率會變高,效率就會降低。
  • 難以處理環中多個熱點數據。

  採樣分析策略

       使用該策略時,同樣的,在R次訪問后,若第R次訪問的item已經是頭指針指向的item,則不啟動採樣,否則,嘗試啟動對應衝突環的進行採樣。

在介紹採樣策略之前,先介紹一下頭指針和數據項對應的數據結構。頭指針head包括:

  • active:1 bit,作為控制採樣分析的標識。
  • total_counter:15 bits,當前環總共的訪問次數。
  • address:48 bits,環的頭地址(x86-64上目前只使用了48位)。

而環上每一項的next包括(因為現代操作系統所使用的內存地址空間使用64bit,而環中下一項的地址實際只需要48bit即可表示,其餘的16bit來控制併發,訪問次數等信息):

  • rehash:1 bit,作為控制rehash的標識。
  • occupied:1 bit,用於併發控制,保證併發訪問的正確性。
  • counter:14 bits,該項的訪問次數。
  • address:48 bits,下一項的地址。

  現在開始介紹採樣分析策略,如果第R次訪問數據項並不是頭指針指向的數據項,說明熱點數據已經發生了變化,這個時候會對衝突環進行採樣。採樣的過程如下:

  1. 打開head.active(CAS)
  2. 後續的請求的訪問記錄會被記錄到頭指針的total_count和對應item的的next.count(CAS)採樣個數也是R
  3. 採樣結束后,將頭指針的採樣標記恢復過來。

     CAS(Compare And Swap):當要操作內存中某一個變量的時候,會記錄下變量中的舊值,通過對舊值進行一系列的操作后得到新值,然後將舊值會與內存中的變量做比較,如果不相同,則說明內存中的值在這期間內被修改過,這時CAS操作將會失敗,新值將不會被寫入內存。如果相同,使內存中的變量變為新值。

     對數據採樣結束后,利用已有的信息可以進行判斷將哪一個數據項作為頭節點。具體過程如下:

  1. 遍歷環,計算每一項的訪問頻率。(第k項的訪問次數nk,環中所有項的訪問次數為N,則第k項的訪問頻率為nk/N)。
  2. 計算每個節點的收益W,取最小的收益的數據項作為新的熱數據項。每一項的受益值的計算公式如下,假設現在求第k項的收益,即計算所有項到該項的距離乘以該項的訪問頻率,求得每一項的期望值,選擇最小的期望值作為新的頭節點:

    3. 使用CAS原子操作將新的頭指針指向數據項。

    4. 重置頭指針和數據項的計數器。

 Write-Intensive Hotspot with RCU 

  在一般情況下,對於更新操作,HotRing可以對不超過8字節的數據進行update-in-place原子更新操作,這種情況下,讀取和更新被視作一樣的操作。但對於超過8個字節的大數據進行更新,hotring則會使用read-copy-update協議,RCU——更新數據的時候,首先拷貝一個副本,然後對副本進行修改,最後使用一個回調(callback)機制在適當的時機把指向原來數據的指針重新指向新的被修改的數據,這個期間數據都是可以隨意讀的。

  當更新的數據項是頭指針指向的熱數據項時,因為要修改前一個數據項的next指針,需要遍歷整個環來獲取頭節點的前一項。如圖,遍歷得到熱數據的前一項需要花費大量的內存訪問開銷。論文在這種情況下,更新的只是前一項的計數器,其他項的計數器不變,這樣可以使得頭指針可以在後面的策略調整中直接指向熱數據的前一項,使得對熱數據的更新需要的內存訪問操作就會減少。

 

 

Concurrent Operations

  1.Read操作

   Hotringd的讀取不需要任何的操作,操作完全無鎖。

  2.Insert操作

  當兩個線程都在B、D之間插入時,對原來結構的修改,只涉及到B項的next項,修改B項的next項的競爭衝突可以通過CAS保證線程安全。若前一項next字段發生競爭,CAS會失敗,此時操作需要重試。

 

3.Update操作

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

  當更新的數據不超過8字節:使用in-place update方法去更新即可,不需要其它操作,線程安全可以通過CAS保證。當更新的數據超過8字節:使用RCU更新,因為採用RCU方法,這時候需要分3種情況:

   ①RCU-update & Insert

  2個線程分別更新B和插入C,兩個線程對原來結構的影響分別是修改A的next指針和修改B的next指針,即便存在CAS操作,但兩者之間不存在衝突,所以兩個操作都會成功,但結果肯定不是我們所希望的。

 

 

   解決辦法:RCU-update前,嘗試CAS修改B.next值,置B.next.occupy = 1。另外一個線程的在完成插入操作時,使用CAS原子操作訪問前一個節點B的next字段,發現該字段的occupy位為1,操作會失敗,重試。操作完成后,新版本項的occupy為0。

  ②RCU-update & RCU-update

  2個線程分別更新B和更新D,兩個線程對原來結構的影響分別是修改A的next指針和修改B的next指針,即便存在CAS操作,但兩者之間不存在衝突,所以兩個操作都會成功,但結果肯定不是我們所希望的。

   解決辦法:更新B的時候,創建一個新的數據項B’,使用CAS操作修改B的,置B.next.occupy = 1,當另一個線程修改D節點后,使用CAS連接前一個節點B的時候,發現B.next.occupy = 1,操作會失敗,重試。

  ③RCU-update & Delete 

  2個線程分別刪除B和更新D,會出現和上述一樣的問題。此處不再贅述。

 4.頭指針在併發下的移動操作

  • 當要移動頭指針時,為了避免新的頭節點在這個過程中出現更新或者刪除的情況,導致頭指針可能指向無效的數據項,我們會通過CAS設置新的頭節點的occupy為1,保證不被被其他操作更新/刪除。
  • 當頭節點被更新時:更新時會設置新版本的頭節點occupy為1,使得其他操作無法對新節點造成影響。將頭指針指向新的頭節點,將新版本的occupy標記為0
  • 當頭節點被刪除時:除了設置當前被刪除的頭節點occupy為1,還得設置下一項的occupy為1,因為下一項是新的頭節點,需要保證其不被更新/刪除

 Lock-free Rehash

     當衝突環上存在多個熱點數據時,鍵值對存儲引擎的性能就會大大降低。因此HotRing設計了無鎖rehash策略來解決這一問題。和普通的哈希表不同的是使用負載因子來觸發rehash不同,HotRing使用訪問開銷(即操作平均內存訪問次數)來觸發rehash,文中設置平均內存訪問次數超過2的時候,就會自動觸發。HotRing rehash分為3步:

  1. 初始化 ——首先創建線程來專門處理rehash操作,初始化一個2倍大小的散列表,復用tag的最高一位來進行索引,將原先的一個環拆分成了兩個環。根據tag範圍對數據項進行劃分。假設tag最大值為T,tag範圍為[0,T),則兩個新的頭指針對應tag範圍為[0,T/2)和[T/2,T)。然後該線程創建一個rehash node,裡面包含2個rehash child item,作為2個新環的頭,它的格式和data item一樣,但是tag值分別是0和T/2。

                                                                                               

  2. 分割——接下來需要分割原有的環到2個新的環。如圖,因為itemB和E是tag的範圍邊界,所以線程會將兩個rehash item節點分別插入到itemB和E之前。到目前為止,已經在邏輯上將衝突環一分為二。

 

 

 

 

  3. 刪除——最後一步,將每一個環中首尾兩部分連接在一起。此外,還有一些收尾工作,包括舊哈希表的回收、以及rehash節點的刪除回收等。需要注意的是,在完成刪除操作之前,要確保所有對舊哈希表的訪問已經結束。只有rehash線程會阻塞一段時間。

 

 Evaluation

Experimental Setting

  在一台內存容量為32GB的服務器上測試的,測試的時候使用YCSB提供5種工作負載,默認情況下,使用64個線程在兩億五千萬個鍵值對測試負載B,在測試負載中,有百分之97.8的操作是針對其中百分只1的數據,百分之99.8的操作是針對10%的數據,

Deployment

  •   HotRing-r (random movement strategy)
  •   HotRing-s (sampling statistics strategy)

Baselines

  • Chaining Hash(a lock-free chain-based hash index that is modified from the hash structure in Memcached.)
  • FASTER(SIGMOD 2019)
  • Masstree
  • Memcached

在單線程和多線程情況下,對這幾種數據結構的性能進行了測試。Hotring在大量讀操作的情況下,可以實現一個很高的性能。

  下圖中,左圖表明,鏈或者環中數據項的個數即便很多,hotring也可以保持一個很好的性能。右圖表明hotring在數據訪問呈現嚴重傾斜的情況下,也能保持非常好的性能。(θ是齊夫分佈的參數,YCSB生成工作負載時, θ的值越高,表明測試的所使用負載的傾斜程度就越嚴重。)

   在下圖中,左圖表明hotring在read miss的情況下的性能比chaining hash的性能要好。這是因為hotring中每一個桶的環是有序的,判斷元素不存在不需要遍歷桶中的所有元素。右圖熱點切換時,不同的熱點選擇策略穩定下來需要的時間,hotring-r在兩秒內就可以達到一種穩定的狀態了。

   在分裂前,為了保證從舊哈希表進入的訪問均已經返回,rehash的過程被阻塞一段時間,隨着數據容量的不斷增長,rehash操作可以維持這個穩定的性能。如下圖所示:

 

參考資料:

1.Jiqiang Chen, Liang Chen, Sheng Wang, Guoyun Zhu, Yuanyuan Sun, Huan Liu, Feifei Li:HotRing: A Hotspot-Aware In-Memory Key-Value Store. FAST 2020: 239-252

2. 最快KV引擎!存儲頂會FAST’20論文揭秘Tair創新性引擎

3.Presentation Video 

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

古堡里的中國年_貨運

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

  皇城相府內的民俗表演。
  資料圖片

  冬雪至,年味濃。位於山西省晉城市的皇城相府中,雪花從紫雲山前山河樓旁飄下,落在這座有600年歷史的明清古堡。

  皇城相府是沁河流域數千座古堡之一。明末清初,沁河流域修建起大大小小的城堡,城牆、護城河、瞭望樓、磨坊、水井一應俱全,更以內外雙城聞名於世。這裡有大型院落16座,房屋640餘間。御書樓金碧輝煌,中道庄巍峨壯觀,斗築居府院連綿,河山樓雄偉險峻,是一處罕見的明清城堡式住宅建築群,雖經歷代戰火,仍保存完好。

  明崇禎六年,陳廷敬伯父陳昌言為避戰亂始建皇城相府的內城“斗築居”。清康熙年間,陳廷敬又修建了外城。康熙皇帝曾兩次來到皇城相府,且御筆親書“午亭山村”,成為一塊金字招牌。

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

  2020年新春,皇城相府特別推出“玩文化‘潮’年,‘趣’皇城相府”主題系列新春廟會。融合創意互動、線上打卡、線下體驗、非遺表演、非遺市集、特色美食、花車巡遊等精彩內容,奉上一場精彩絕倫的文化大餐。

  春節期間,在皇城相府走走,你可以真真切切地觸摸歷史。

  行走在古樸厚重的街巷,掀開珠簾,跨步入室,你會不禁感嘆歷史在這裏靜止;夜宿郭峪古城,每晚的打鐵花表演會擦亮古城的夜空;逛逛廟會,你可以走進非遺文化展,近距離欣賞本土和網紅非遺文化;跟着“花車巡遊”,你可以快速地融入到這一片歡樂祥和的年節氛圍中;除了遊客熟悉的表演外,浸入式、行進式的實景劇《再回相府》再次登場,帶你了解一代名相陳廷敬的故事。

  有文化、有故事,皇城相府帶你過個熱鬧的中國年。

本站聲明:網站內容來http://www.societynews.cn/html/wh/fq/,如有侵權,請聯繫我們,我們將及時處理

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

七個生產案例告訴你BATJ為何選擇ElasticSearch!應用場景和優勢!_貨運

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。

本文來源於公眾號【胖滾豬學編程】,轉載請註明出處。

從今天開始,想和你一起死磕ElasticSearch,學習分佈式搜索引擎,跟着胖滾豬就對了!

既然是ES的第一課,那麼最重要的是讓你愛上它!不想說那些單純的優勢、概念了,直接上大廠的生產案例,才是最能吸引你的!跟着大廠走,沒問題的!

為啥選擇ES?

一個技術服務組件,首先需要了解全面它的使用場景,才能更針對性的去研究及推廣。因此第一要務是搞懂為什麼要學習ElasticSearch,開頭po先一張排行圖,大哥的地位可不是瞎搞來的,沒點實力能上位?憑這排名就是你要學習它的理由!

憑啥排這麼前呢?不就是個搜索引擎嗎。額,也許提到Elasticseach,你第一反應就是”搜索引擎”。類似百度搜索、淘寶搜索那種。而我寫這篇文章就是為了糾正你這個”錯誤”的觀點。

Elasticseach 確實是做搜索引擎出家的,但是到現在已經進化成了一個全能型的數據產品。因此你的思維決不能限制在搜索引擎上。

本文通過一線大廠的八個案例,全方位讓你了解ElasticSearch的應用場景和優勢,包括:

  • 日誌實時分析
  • 搜索服務
  • 數據分析
  • 數據監控
  • 查詢服務
  • 後端存儲

ElasticSearch在騰訊的應用

ElasticSearch在騰訊的應用非常廣泛,主要有三:日誌實時分析場景、搜索服務、時序數據分析。

  • 搜索服務: 例如像騰訊文檔基於 ES 做全文檢索,電商客戶拼多多、蘑菇街等大量的商品搜索都是基於 ES。
  • 日誌分析: 這個是 ES 應用最廣泛的領域,支持全棧的日誌分析,包括各種應用日誌、數據庫日誌、用戶行為日誌、網絡數據、安全數據等等。ES 擁有一套完整的日誌解決方案,可以秒級實現從採集到展示。
  • 時序分析: 典型的場景是監控數據分析,比如雲監控,整個騰訊雲的監控都是基於 ES 的。此外還包括物聯網場景,也有大量的時序數據。時序數據的特點是寫入吞吐量特別高,ES 支持的同時也提供了豐富的多維統計分析算子。

日誌實時分析

典型日誌如下:

  • 運營日誌,比如慢日誌、異常日誌,用來定位業務問題;
  • 業務日誌,比如用戶的點擊、訪問日誌,可以用來分析用戶行為;
  • 審計日誌,可以用於安全分析。ES 很完美的解決了日誌實時分析的需求,它具有如下特點:

Elastic 生態提供了完整的日誌解決方案,任何一個開發、運維同學使用成熟組件,通過簡單部署,即可搭建起一個完整的日誌實時分析服務。

  • 在 Elastic 生態中,日誌從產生到可訪問一般在 10s 級。相比於傳統大數據解決方案的幾十分鐘、小時級,時效性非常高。ES 擁有一套完整的日誌解決方案(ELK),可以秒級實現從採集到展示。

  • 由於支持倒排索引、列存儲等數據結構,ES 提供非常靈活的搜索分析能力。

  • 支持交互式分析,即使在萬億級日誌的情況下,ES 搜索響應時間也是秒級。

日誌是互聯網行業最基礎、最廣泛的數據形式,ES 非常完美的解決了日誌實時分析場景,這也是近幾年 ES 快速發展的一個重要原因

搜索服務

搜索服務,典型場景包含:商品搜索,類似京東、淘寶、拼多多中的商品搜索;APP 搜索,支持應用商店裡的應用搜索;站內搜索,支持論壇、在線文檔等搜索功能。我們支持了大量搜索服務,它們主要有以下特點:

  • 高性能:單個服務最大達到 10w+ QPS,平響 20ms~,P95 延時小於 100ms。
  • 強相關:搜索體驗主要取決於搜索結果是否高度匹配用戶意圖,需要通過正確率、召回率等指標進行評估。
  • 高可用:搜索場景通常要求高可用性,支持單機房故障容災。任何一個電商服務,如淘寶、京東、拼多多,只要故障一個小時就可以上頭條。

時序數據分析

時序數據分析,典型的時序數據包含:Metrics,即傳統的服務器監控;整個騰訊雲的監控都是基於 ES 的。APM,應用性能監控;物聯網數據,智能硬件、工業物聯網等產生的傳感器數據。時序數據的特點是寫入吞吐量特別高,ES 支持的同時也提供了豐富的多維統計分析算子。這類場景具有以下特點:

  • 高併發寫入:線上單集群最大規模達到 600+節點、1000w/s 的寫入吞吐。

  • 高查詢性能:要求單條曲線 或者單個時間線的查詢延時在 10ms~。

  • 多維分析:要求靈活、多維度的統計分析能力,比如我們在查看監控的時候,可以按照地域、業務模塊等靈活的進行統計分析。

上面通過騰訊的案例我們了解了三大應用場景,

  • 日誌實時分析場景

  • 搜索服務

  • 時序數據分析

另外從這三大應用場景我們也可以歸納出ES的幾大優勢:

1、具有高可用性、高擴展性;

2、查詢速度快,性能佳;

3、搜索功能強大,高度匹配用戶意圖。

因此,可以看出,ES在日誌實時分析和搜索方面的應用優勢簡直是無敵的!起碼目前,在這兩方面,還沒有強勁的對手!

ElasticSearch在京東的應用

通過京東的案例,聊一聊ES在查詢、檢索、數據分析方面的應用場景

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

由於較高的性能和較低的使用門檻,京東內部有很多的場景都在使用 Elasticsearch。覆蓋了京東多條業務線,同時也覆蓋了很多應用場景:

補充關係型數據庫的結構化數據查詢

主要應用的業務是商品、促銷、優惠券、訂單、收銀台、物流、對賬、評論等大數據量查詢。此場景的核心訴求是高性能、穩定性和高可用性,部分場景會有檢索要求,通常用於加速關係型數據庫,業務系統通過 binlog 同步或業務雙寫完成數據同步。

全文檢索功能

主要的應用場景是應用、安全、風控、交易等操作日誌,以及京東部分品類商品搜索。此類日誌化場景對寫要求很高,查詢性能及高可用等要求相對較低,大的業務寫會達到數千萬 / 秒,存儲以 PB 為單位來計算。
這些場景對磁盤、內存有比較高的要求,因此,京東也做了相應優化,用於減少內存消耗,提升磁盤整體使用率,使用更廉價的磁盤來降低成本等等。

實時數據分析引擎,形成統計報表

主要應用的業務是物流單的各種分析、訂單數據分析、用戶畫像等。因為業務數據分析緯度較多,flink、storm 等流式分析對於某些報表場景不太適用,批處理實時性又成為問題,所以近實時分析的 Elasticsearch 就成為了這些業務的選擇。

從京東的案例中,我們似乎看到了,可以利用ES在某些場景下代替關係型數據庫哦!不僅如此,ES在實時數據分析領域,居然也有一席之地!

ElasticSearch在去哪兒的應用

通過去哪兒的案例,聊一聊ES在查詢方面的應用場景,可以簡單的理解為”代替”mysql。注意代替加了引號,閉着眼睛想都不可能完全代替。比如事務性。

15年去哪兒網酒店日均訂單量達到30w+,隨着多平台訂單的聚合日均訂單能達到100w左右。

原來採用的熱表分庫方式,即將最近6個月的訂單的放置在一張表中,將歷史訂單放在在history表中。history表存儲全量的數據,當用戶查詢的下單時間跨度超過6個月即查詢歷史訂單表,此分表方式熱表的數據量為4000w左右,當時能解決的問題。但是顯然不能滿足攜程藝龍訂單接入的需求。

如果繼續按照熱表方式,數據量將超過1億條。全量數據表保存2年的可能就超過4億的數據量。所以尋找有效途徑解決此問題迫在眉睫。由於對這預計4億的數據量還需按照預定日期、入住日期、離店日期、訂單號、聯繫人姓名、電話、酒店名稱、訂單狀態……等多個條件查詢。所以簡單按照某一個維度進行分表操作沒有意義。

顯然只通過DB來支撐大量的查詢是不可取的,同時對於一些複雜的查詢,Mysql支持得不夠友好,所以Elasticsearch分佈式搜索儲存集群的引入,就是為了解決訂單數據的存儲與搜索的問題。

對訂單模型進行抽象和分類,將常用搜索字段和基礎屬性字段剝離。DB做分庫分表,存儲訂單詳情;Elasticsearch存儲搜素字段。

訂單複雜查詢直接走Elasticsearch,基於OrderNo的簡單查詢走DB,如下圖所示。

從去哪兒的案例中,我們似乎看到了,關係型數據庫撐不起的複雜查詢,ES可以勝任

總結

什麼時候應該用ElasticSearch?

1、典型搜索場景:閉着眼用它!

2、典型日誌分析場景:閉着眼用它!

3、關係型數據庫查詢有瓶頸:考慮下用它!為啥是考慮?ES的優點在於查詢,然而實踐證明,在被作為數據庫來使用,即寫完馬上查詢會有延遲。

4、數據分析場景:考慮下用它!為啥是考慮?簡單通用的場景需求可以大規模使用,但在特定業務場景領域,還是要選擇更加專業的數據產品,如複雜聚合,ClickHouse相比 Elasticserach 做億級別數據深度聚合需求會更加合適。

ElasticSearch有什麼優勢呢?

1、很簡便的橫向擴容,分佈式的架構,可以輕鬆地對資源進行橫向縱向擴縮容,可以滿足不同數據量級及查詢場景對硬件資源的需求。能由數百台到萬台機器搭建滿足PB級的快速搜索,也能搭建單機版服務小公司。

2、查詢速度快:ES底層採用Lucene作為搜索引擎,並在此之上做了多重優化,保證了用戶對數據查詢數據的需求。可”代替”傳統關係型數據庫,也可用於複雜數據分析,海量數據的近實時處理等。

3、相關性高:ES內部提供了完善的評分機制,會根據分詞出現的頻次等信息對文檔進行相關性排序,保證相關性越高的文檔排序越靠前。另外還提供了包括模糊查詢,前綴查詢,通配符查詢等在內的多種查詢手段,幫助用戶快速高效地進行檢索。

4、功能點多但使用比較簡便,開箱即用,性能優化比較簡單

5、生態圈豐富,社區活躍,適配多種工具。如下圖,處理日誌和輸出到Elasticsearch,您可以使用日誌記錄工具,如Logstash(www.elastic.co/products/logstash),搜索和可視化界面分析這些日誌,你可以使用Kibana(www.elastic.co/產品/ kibana),即傳說中的ELK技術棧。另外當前主流的大數據框架也幾乎都支持ES,比如Flink和ES就是個完美搭檔。

本文參考:

騰訊萬億級 Elasticsearch 技術解密

搜索引擎怎麼選?攜程酒店訂單Elasticsearch實戰

Elasticsearch在京東的使用場景

本文來源於公眾號:【胖滾豬學編程】。一枚集顏值與才華於一身,不算聰明卻足夠努力的女程序媛。用漫畫形式讓編程so easy and interesting!求關注!

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

小米 POCO 官方 Facebook 粉專成立、官網上線,即將以 POCO 品牌「重返」台灣市場_貨運

※評比南投搬家公司費用收費行情懶人包大公開

搬家價格與搬家費用透明合理,不亂收費。本公司提供下列三種搬家計費方案,由資深專業組長到府估價,替客戶量身規劃選擇最經濟節省的計費方式

 之所以說 POCO 即將「重返」台灣市場,也是因為這已經不是 POCO 第一次有產品在台灣推出。回顧 2018 年,當時還是小米旗下品牌的 POCOPHONE(POCO)在台灣推出萬元價位的旗艦手機 POCOPHONE F1 ,不僅當年成為許多追求性價比旗艦手機的消費者的首選之一,該款手機也獲得 MKBHD 評選為 2018 年最佳平價手機。然而,即便在那之後 POCO 仍有在印度推出新機,不過在台灣就沒有再推出新產品。

▲圖片來源:POCO Taiwan(Facebook)

小米 POCO 官方 Facebook 粉專成立、官網上線,即將以 POCO 品牌「重返」台灣市場

2020 年初, POCO 在印度與小米拆分、成為獨立的品牌後,在去年 11 月底也宣布 POCO 全球成為獨立品牌並成為 POCO Global 。稍早小米台灣 Xiaomi Taiwan 粉絲專頁分享了 POCO Taiwan 的粉絲專頁開張,暗示著 POCO 即將「重返」台灣市場。

POCO Taiwan 粉絲專頁在近期才剛成立:

▲圖片來源:POCO Taiwan(Facebook)

今(4)日稍早, POCO Taiwan 也張貼第一則貼文:

▲圖片來源:POCO Taiwan(Facebook)

檢視 POCO Taiwan 粉絲專頁是在 2020 年 12 月 24 日成立,並於 12 月 30 日與全球 POCO 全球的粉絲專頁進行合併:

▲圖片來源:POCO Taiwan(Facebook)

除了 Facebook 粉絲專頁,筆者稍早也查到了 POCO Taiwan 獨立的官方網站也已經悄悄上線,不再像當年 POCOPHONE F1 是小米台灣官網內的一款機型。
雖然,目前尚未公開任何關於 POCO 的消息、銷售的產品、會員制度也尚未開放註冊,不過種種跡象也很明顯代表接下來 POCO 將會以獨立品牌的方式回歸台灣市場。

▲圖片來源:POCO Taiwan (官網)

在購買管道部分,從 POCO Taiwan 官網可以看到線上官方線上合作通路有小米台灣,而其他通路則有小米之家、小米專賣店、PChome24h 購物以及聯強國際。

▲圖片來源:POCO Taiwan (官網)

※回頭車貨運收費標準

宇安交通關係企業,自成立迄今,即秉持著「以誠待人」、「以實處事」的企業信念

自從 POCO 成為獨立品牌至今陸續推出包括 POCO F2 Pro、 POCO X2、POCO X3 NFC 、 POCO M2 Pro 以及 POCO M3 等多款手機。
想必大家最關心的還是回歸台灣市場的 POCO 手機會是哪一款?日前有消息指出 POCO M3 可能會最快在台灣上市,這款擁有 6000mAh 大電量中階手機搭載高通 Snapdragon 662 處理器、配備 6.53 吋 FHD+ 水滴全螢幕、 4800 萬像素三鏡頭主相機,傳聞預計將引進 4GB+64GB 與 4GB+128GB 兩個版本,至於確切的消息還是得靜候台灣官方公佈為準。

▲圖片來源:POCO Global (官網)

去年 POCO 推出搭載高通 Snapdragon 865 處理器的 F2 Pro 旗艦手機,其實就是 Redmi K30 Pro 針對國際市場的更名版本機型。日前,我們也曾報導過 POCO 印度預告將在近期推出更平價的 POCO F2 ,從目前洩漏的消息傳聞 POCO F2 搭載和 POCO X3 NFC 相同的高通 S732G 處理器、120Hz 更新率 AMOLED 顯示螢幕、四鏡頭主相機,不過電池容量較小僅有 4250mAh 電池容量,確切規格仍得等待 POCO 官方正式發佈為準。

POCO Taiwan:
Facebook 粉絲專頁(點我前往)|官方網站(點我前往)

延伸閱讀:
realme V15 真機曝光:6400 萬像素三鏡頭主相機長續航中階新機,將於 1 月 7 日發表

小米有品推出 Lydsto 手持吸塵打氣機,眾籌價約 860 元

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※智慧手機時代的來臨,RWD網頁設計為架站首選

網動結合了許多網際網路業界的菁英共同研發簡單易操作的架站工具,及時性的更新,為客戶創造出更多的網路商機。