99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀大數(shù)據(jù)流式計算的應用特征和技術挑戰(zhàn)
大數(shù)據(jù)流式計算的應用特征和技術挑戰(zhàn)
2016-01-16
收藏

大數(shù)據(jù)流式計算的應用特征和技術挑戰(zhàn)

在大數(shù)據(jù)時代,數(shù)據(jù)的時效性日益突出,數(shù)據(jù)(數(shù)據(jù)分析師認證)的流式特征更加明顯,越來越多的應用場景需要部署在流式計算平臺中。大數(shù)據(jù)流式計算作為大數(shù)據(jù)計算的一種形態(tài),其重要性也不斷提升。針對大數(shù)據(jù)環(huán)境中流式計算應用所呈現(xiàn)出的諸多鮮明特征進行了系統(tǒng)化的分析,并從系統(tǒng)架構的角度,給出了大數(shù)據(jù)流式計算系統(tǒng)構建的原則性策略。結合當前比較典型的流式計算平臺,重點研究了當前大數(shù)據(jù)流式計算在在線環(huán)境下的資源調(diào)度和節(jié)點依賴環(huán)境下的容錯策略等方面的技術挑戰(zhàn)。

1 引言

云計算、物聯(lián)網(wǎng)等新興信息技術和應用模式的快速發(fā)展,推動人類社會邁入大數(shù)據(jù)新時代[1~3]。一般意義上,大數(shù)據(jù)(數(shù)據(jù)分析師)是指利用現(xiàn)有理論、方法、技術和工具難以在可接受的時間內(nèi)完成分析計算、整體呈現(xiàn)高價值的海量復雜數(shù)據(jù)集合。大數(shù)據(jù)蘊含大信息,大信息提煉大知識,大知識將在更高的層面、以更廣的視角、在更大的范圍內(nèi)幫助用戶提高洞察力、提升決策力,為人類社會創(chuàng)造前所未有的大價值。但與此同時,這些總量極大的價值往往隱藏在大數(shù)據(jù)中,表現(xiàn)出了價值密度極低、分布極其不規(guī)律、信息隱藏程度極深、發(fā)現(xiàn)有用價值極其困難等鮮明特性,這些特征必然為大數(shù)據(jù)的計算帶來前所未有的挑戰(zhàn)和機遇。

大數(shù)據(jù)的計算模式[2~5]主要分為批量計算(batch computing)、流式計算(stream computing)、交互計算(interactive computing)、圖計算(graph computing)等。其中,流式計算和批量計算是兩種主要的大數(shù)據(jù)計算模式,分別適用于不同的大數(shù)據(jù)應用場景。對于先存儲后計算,實時性要求不高,同時數(shù)據(jù)的準確性、全面性更為重要的應用場景,批量計算更加適合;對于無需先存儲,可以直接進行數(shù)據(jù)計算,實時性要求很嚴格,但數(shù)據(jù)的精確度往往不太苛刻的應用場景,流式計算具有明顯優(yōu)勢。流式計算中,數(shù)據(jù)往往是最近一個時間窗口內(nèi)的增量數(shù)據(jù),因此數(shù)據(jù)時延往往較短,實時性較強,但數(shù)據(jù)的信息量往往相對較少,只限于一個時間窗口內(nèi)的信息,不具有全量信息。流式計算和批量計算具有明顯的優(yōu)劣互補特征,在多種應用場合下可以將兩者結合起來使用,通過發(fā)揮流式計算的實時性優(yōu)勢和批量計算的計算精度優(yōu)勢,滿足多種應用場景在不同階段的數(shù)據(jù)計算要求。

在大數(shù)據(jù)時代,數(shù)據(jù)的時效性日益突出,數(shù)據(jù)的流式特征更加明顯,越來越多的應用場景需要部署在流式計算平臺中。大數(shù)據(jù)流式計算作為大數(shù)據(jù)計算的一種形態(tài),其重要性也在不斷提升。大數(shù)據(jù)時代的流式計算呈現(xiàn)出了鮮明的高帶寬、低時延的應用需求,傳統(tǒng)的流式計算平臺的構建往往是以數(shù)據(jù)庫為基礎,且數(shù)據(jù)規(guī)模較小,數(shù)據(jù)對象較單一,無法滿足大數(shù)據(jù)流式計算需求。如何構建低時延、高帶寬、持續(xù)可靠、長期運行的大數(shù)據(jù)流式計算系統(tǒng)是當前亟待解決的問題。本文針對大數(shù)據(jù)環(huán)境中,流式計算應用所呈現(xiàn)出的諸多鮮明特征進行了系統(tǒng)化的分析,并從系統(tǒng)架構的角度,給出了大數(shù)據(jù)流式計算系統(tǒng)構建的原則性策略。結合當前比較典型的流式計算平臺,重點研究了當前大數(shù)據(jù)流式計算在在線環(huán)境下的資源調(diào)度和節(jié)點依賴環(huán)境下的容錯策略等方面的技術挑戰(zhàn)。

2 流式應用分析

大數(shù)據(jù)流式計算有著悠久的應用歷史,早在20世紀80年代就有部署和應用,在今天的大數(shù)據(jù)時代,其應用的領域和范圍在不斷地擴大,也呈現(xiàn)出了諸多新的特征和要求[6~9]。本節(jié)將從大數(shù)據(jù)流式計算的典型應用場景出發(fā),系統(tǒng)地分析大數(shù)據(jù)環(huán)境中流式應用所呈現(xiàn)出來的諸多鮮明特征,并從系統(tǒng)架構的角度,給出大數(shù)據(jù)流式計算系統(tǒng)建設的原則性策略。

2.1 應用及特征

大數(shù)據(jù)流式計算可以廣泛應用于金融銀行、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等諸多領域,如股市實時分析、插入式廣告投放、交通流量實時預警等場景,主要是為了滿足該場景下的實時應用需求。數(shù)據(jù)往往以數(shù)據(jù)流的形式持續(xù)到達數(shù)據(jù)計算系統(tǒng),計算功能的實現(xiàn)是通過有向任務圖的形式進行描述,數(shù)據(jù)流在有向任務圖中流過后,會實時產(chǎn)生相應的計算結果。整個數(shù)據(jù)流的處理過程往往是在毫秒級的時間內(nèi)完成的。

通常情況下,大數(shù)據(jù)流式計算場景具有以下鮮明特征

  • 在流式計算環(huán)境中,數(shù)據(jù)是以元組為單位,以連續(xù)數(shù)據(jù)流的形態(tài),持續(xù)地到達大數(shù)據(jù)流式計算平臺。數(shù)據(jù)并不是一次全部可用,不能夠一次得到全量數(shù)據(jù),只能在不同的時間點,以增量的方式,逐步得到相應數(shù)據(jù)。
  • 數(shù)據(jù)源往往是多個,在進行數(shù)據(jù)流重放的過程中,數(shù)據(jù)流中各個元組間的相對順序是不能控制的。也就是說,在數(shù)據(jù)流重放過程中,得到完全相同的數(shù)據(jù)流(相同的數(shù)據(jù)元組和相同的元組順序)是很困難的,甚至是不可能的。
  • 數(shù)據(jù)流的流速是高速的,且隨著時間在不斷動態(tài)變化。這種變化主要體現(xiàn)在兩個方面,一個方面是數(shù)據(jù)流流速大小在不同時間點的變化,這就需要系統(tǒng)可以彈性、動態(tài)地適應數(shù)據(jù)流的變化,實現(xiàn)系統(tǒng)中資源、能耗的高效利用;另一方面是數(shù)據(jù)流中各個元組內(nèi)容(語義)在不同時間點的變化,即概念漂移,這就需要處理數(shù)據(jù)流的有向任務圖可以及時識別、動態(tài)更新和有效適應這種語義層面上的變化。
  • 實時分析和處理數(shù)據(jù)流是至關重要的,在數(shù)據(jù)流中,其生命周期的時效性往往很短,數(shù)據(jù)的時間價值也更加重要。所有數(shù)據(jù)流到來后,均需要實時處理,并實時產(chǎn)生相應結果,進行反饋,所有的數(shù)據(jù)元組也僅會被處理一次。雖然部分數(shù)據(jù)可能以批量的形式被存儲下來,但也只是為了滿足后續(xù)其他場景下的應用需求。
  • 數(shù)據(jù)流是無窮無盡的,只要有數(shù)據(jù)源在不斷產(chǎn)生數(shù)據(jù),數(shù)據(jù)流就會持續(xù)不斷地到來。這也就需要流式計算系統(tǒng)永遠在線運行,時刻準備接收和處理到來的數(shù)據(jù)流。在線運行是流式計算系統(tǒng)的一個常態(tài),一旦系統(tǒng)上線后,所有對該系統(tǒng)的調(diào)整和優(yōu)化也將在在線環(huán)境中開展和完成。
  • 多個不同應用會通過各自的有向任務圖進行表示,并將被部署在一個大數(shù)據(jù)計算平臺中,如圖1所示,這就需要整個計算平臺可以有效地為各個有向任務圖分配合理資源,并保證滿足用戶服務級目標。同時各個資源間需要公平地競爭資源、合理地共享資源,特別是要滿足不同時間點各應用間系統(tǒng)資源的公平使用。

4a0002d74f1adeb7d

圖 1 大數(shù)據(jù)流式應用部署

2.2 流式計算系統(tǒng)構建原則

在大數(shù)據(jù)流式計算系統(tǒng)架構方面,由于大數(shù)據(jù)流式計算、批量計算、圖計算等模式間存在顯著不同,在一個計算平臺中,試圖將大數(shù)據(jù)批量計算、流式計算、圖計算等多種不同計算形態(tài)集成起來,往往是很困難的。其中,也有些平臺試圖做這樣的工作,如在大數(shù)據(jù)批量計算平臺Spark中,加入了流式計算功能,形成了Spark Streaming子系統(tǒng),其實現(xiàn)的關鍵是將Spark中任務處理步長盡可能地縮短,從而降低數(shù)據(jù)處理的時延。但Spark Streaming也只能達到亞秒級的用戶響應,并不能真正滿足流式計算需要。此外, YARN等平臺也試圖對不同的計算形態(tài)進行集成,由于這些計算形態(tài)差異很大,應用場景截然不同,需要提供的體系結構、資源管理等各方面也不完全一樣,所以必須針對具體的計算場景,開展針對性的計算平臺的研究,才能更好地適應實際需要。

大數(shù)據(jù)流式計算系統(tǒng)的體系結構需要重點考慮以下因素。

(1)分布式體系結構

集中式體系結構對于大數(shù)據(jù)流式計算系統(tǒng)往往很難滿足其可擴展性的需要,人們往往會優(yōu)先采用分布式體系結構來構建流式計算系統(tǒng),這樣可以可擴展地適應數(shù)據(jù)流壓力的動態(tài)變化,靈活地進行系統(tǒng)的伸展和收縮,實現(xiàn)對相關資源和任務在在線環(huán)境中的調(diào)整和優(yōu)化。

(2)內(nèi)存計算是首要考慮因素

當一個有向任務圖被提交到系統(tǒng)中后,該有向任務圖將常駐內(nèi)存,并將永遠在線運行(除非被顯示終止或系統(tǒng)崩潰),所有數(shù)據(jù)流到達系統(tǒng)后,也將直接在內(nèi)存中完成相關計算,并實時產(chǎn)生和輸出計算結果。部分數(shù)據(jù)可能會被選擇性地存儲在外存介質(zhì)上,顯然內(nèi)存成為這個數(shù)據(jù)計算過程中的主要場所和重要位置。因此,在系統(tǒng)結構的設計過程中,需要合理、高效地利用內(nèi)存資源。

(3)時效性是系統(tǒng)設計的首要目標

大數(shù)據(jù)流式計算環(huán)境中,數(shù)據(jù)的時間價值是首要的,當數(shù)據(jù)流到來后,必須在毫秒級的時間內(nèi)完成對數(shù)據(jù)流中相應知識的發(fā)現(xiàn),這個過程中時效性是首要的,準確性是次要的,部分、及時、相對準確的計算結果是好于全面、延遲、精確的計算結果的。根據(jù)具體場景的需要,數(shù)據(jù)流可以被選擇性地存儲起來,后續(xù)可以進行批量計算,更為準確、全面地發(fā)現(xiàn)其中的知識,實現(xiàn)大數(shù)據(jù)流式計算和批量計算間的優(yōu)勢互補。

(4)在線運行環(huán)境將是系統(tǒng)的常態(tài)

所有關于系統(tǒng)的調(diào)整和優(yōu)化將會在在線環(huán)境中開展,這種情況下,需要將系統(tǒng)的優(yōu)化性能、穩(wěn)定性、波動等因素綜合考慮進來,最優(yōu)的方案在在線環(huán)境中進行調(diào)整未必是最合理的,當前這一時刻對于系統(tǒng)而言,可能是最優(yōu)的,但是要達到這種最優(yōu)狀態(tài)需要調(diào)整過多的系統(tǒng)資源,可能會對系統(tǒng)的穩(wěn)定性產(chǎn)生影響。而且,在下一時刻,數(shù)據(jù)流壓力發(fā)生變化后,這種當前的最優(yōu)方案可能又變?yōu)榉亲顑?yōu)狀態(tài)了。因此,對系統(tǒng)性能有所改善的方案可能會達到更佳效果,要綜合權衡系統(tǒng)性能、穩(wěn)定性、動態(tài)在線變化等多個方面的因素。

3 技術挑戰(zhàn)

大數(shù)據(jù)流式計算系統(tǒng)存在諸多挑戰(zhàn)[9~13],如資源調(diào)度、系統(tǒng)容錯、動態(tài)時間窗口、高效索引策略等諸多方面。本節(jié)將從大數(shù)據(jù)流式計算系統(tǒng)架構的角度,針對當前大數(shù)據(jù)流式計算環(huán)境中存在的兩個方面的典型問題進行系統(tǒng)化的分析,即在線環(huán)境下的資源調(diào)度問題和節(jié)點依賴環(huán)境下的容錯策略問題,并原則性地分別給出了兩類問題的解決策略。

3.1 在線環(huán)境下的資源調(diào)度

資源調(diào)度是分布式系統(tǒng)中資源管理的關鍵與核心,也是NP難問題,制約著整個系統(tǒng)的高效運行。在大數(shù)據(jù)流式計算環(huán)境中,在線環(huán)境中的資源調(diào)度又更加困難,任何一個資源或要素的調(diào)整,都會對運行著的系統(tǒng)產(chǎn)生實時影響,也會對整個系統(tǒng)的穩(wěn)定性帶來一定程度上的波動。Storm系統(tǒng)作為業(yè)界最具影響力的大數(shù)據(jù)流式計算系統(tǒng),目前其所選用的資源調(diào)度策略為輪詢方式,只是簡單地將有向任務圖中各個節(jié)點按照一定的拓撲序列放置到各個物理機器上去,這個調(diào)度策略沒有考慮物理機器的性能以及物理機器間的拓撲結構,沒有考慮有向任務圖中各個節(jié)點的計算壓力和節(jié)點間的通信壓力。在在線調(diào)整過程中,這個調(diào)度策略沒有考慮當前各個節(jié)點的資源分配情況,也就是說在實現(xiàn)對新的環(huán)境優(yōu)化和適應的過程中,沒有考慮盡可能地減少系統(tǒng)中節(jié)點的變動,提升系統(tǒng)的穩(wěn)定性。這些因素的缺失,對于Storm系統(tǒng)的性能必然帶來一定程度上的損傷。

在資源調(diào)度方面,針對大數(shù)據(jù)流式計算環(huán)境中,應用均是通過有向任務圖進行描述的客觀事實,需要構建一個彈性、自適應的在線調(diào)度策略,滿足大數(shù)據(jù)流式應用一旦開啟將永遠運行下去的在線場景下的資源調(diào)度需要,即一方面要有效地適應數(shù)據(jù)流、資源等各方面的動態(tài)變化,另一方面也要保持系統(tǒng)的穩(wěn)定性,避免因調(diào)整導致的系統(tǒng)大幅度波動,影響系統(tǒng)的穩(wěn)定性。具體包括以下內(nèi)容:在有向任務圖節(jié)點計算量和節(jié)點通信量的量化方面,節(jié)點處理時延影響因素有邏輯節(jié)點的功能、數(shù)據(jù)處理功能、數(shù)據(jù)流流速大小等;節(jié)點間傳輸時延影響因素有節(jié)點間傳輸數(shù)據(jù)流大小、網(wǎng)絡帶寬,物理距離等。整個有向任務圖在任何一個時刻都會存在一條關鍵路徑,其時延也是由該圖的當前關鍵路徑?jīng)Q定的,關鍵路徑將是整個有向任務圖的核心和瓶頸,明確了當前的關鍵路徑,就可以找到改善系統(tǒng)性能的要害。同時隨著不同數(shù)據(jù)流壓力的變化,各個節(jié)點的計算時延和傳輸時延也會發(fā)生變化,這樣不同數(shù)據(jù)流壓力情況下的有向任務圖的關鍵路徑也會動態(tài)變化。在有向任務圖到系統(tǒng)資源的放置策略以及在線調(diào)整方面,對于一個經(jīng)過優(yōu)化和調(diào)整后的任務拓撲結構的實例圖,隨著數(shù)據(jù)流和系統(tǒng)環(huán)境的在線和實時變化,以關鍵路徑為核心,動態(tài)地調(diào)整任務拓撲圖中各節(jié)點實例在各臺物理機器間的分配策略(如圖2所示),可以實現(xiàn)對系統(tǒng)響應時間的顯著改善。同時,當數(shù)據(jù)流壓力發(fā)生變化后,只需要調(diào)整關鍵路徑上的部分節(jié)點,就可以實現(xiàn)對系統(tǒng)性能的改善,這樣就可以在盡可能地保持系統(tǒng)穩(wěn)定性的前提下,最大程度地改善系統(tǒng)性能,在動態(tài)調(diào)整和優(yōu)化過程中,實現(xiàn)對歷史成量信息的最大利用。在多個有向任務圖分別被提交到系統(tǒng)中后,需要保證在不同時間點提交的各個有向任務圖可以公平地使用系統(tǒng)資源,這就需要明確各物理機器的計算壓力和拓撲結構、各個有向任務圖中節(jié)點的計算壓力和傳輸壓力,并通過一定的分配策略,實現(xiàn)資源的合理利用以及各有向任務圖間的資源公平占有和動態(tài)調(diào)整。

390010bcf09218c23

圖 2 資源分配和動態(tài)調(diào)整

3.2 節(jié)點依賴環(huán)境下的容錯策略

系統(tǒng)容錯是分布式系統(tǒng)必不可少的一部分,特別是對于大數(shù)據(jù)流式計算系統(tǒng)而言,容錯的價值顯得尤為突出。在大數(shù)據(jù)流式計算環(huán)境中,數(shù)據(jù)流到來后往往只有一次處理的機會,重放數(shù)據(jù)流是很困難的,甚至是不可能的。這僅有的一次機會給容錯帶來了更高的挑戰(zhàn)。另外,系統(tǒng)的實時性是大數(shù)據(jù)流式計算系統(tǒng)的首要目標,這也為容錯策略提出了更高的要求,當高效的容錯策略需要過長的時延時,會導致容錯變得沒有意義。Storm系統(tǒng)通過系統(tǒng)級組件Acker實現(xiàn)對數(shù)據(jù)流的全局計算路徑的跟蹤,并保證該數(shù)據(jù)流被完全執(zhí)行。錯誤的檢查是通過超時機制實現(xiàn)的,默認的超時時間為30 s。很顯然,這么長的時延在流式應用中顯得毫無意義了。

在系統(tǒng)容錯方面,針對大數(shù)據(jù)流式計算環(huán)境中數(shù)據(jù)到來后立即進行處理,重現(xiàn)數(shù)據(jù)往往很困難的客觀事實,需要構建一個輕量級、快速的系統(tǒng)容錯策略,滿足大數(shù)據(jù)流式計算環(huán)境中對系統(tǒng)容錯的要求。具體研究內(nèi)容包括:研究在不同應用場景下的系統(tǒng)容錯精度方案,并對具體案例進行分析方面,主要是考慮用戶的具體應用場景對容錯精度的需求,進行相應容錯精度方案的設計;在建立有向任務圖故障節(jié)點最小依賴集合的容錯策略方面,當各個節(jié)點都進行了中間狀態(tài)存儲、檢查點等信息的存儲后,在具體的故障恢復過程中,可以選用更加高效的故障節(jié)點、最小依賴集合的容錯策略,將容錯的范圍縮小到最小的節(jié)點集合中,如圖3所示。根據(jù)有向任務圖中各個節(jié)點及節(jié)點間上下游的關系以及每個節(jié)點所在的物理機器性能特征等多方面因素,為不同的節(jié)點設置有區(qū)分的、有差異的檢查點頻率以及不同的全量和增量式容錯策略。

390010bcf660fcf23

圖 3 故障節(jié)點最小依賴集合的容錯策略

4 結束語

在大數(shù)據(jù)時代,隨著越來越多的應用場景對時效性的要求不斷增強,大數(shù)據(jù)流式計算作為大數(shù)據(jù)計算的一種形態(tài),其重要性也在不斷增強。本文針對大數(shù)據(jù)環(huán)境中流式計算應用所呈現(xiàn)出的諸多鮮明特征進行了系統(tǒng)化的分析,并從系統(tǒng)架構的角度,給出了大數(shù)據(jù)流式計算系統(tǒng)構建的原則性策略。結合當前比較典型的流式計算平臺,重點研究了當前大數(shù)據(jù)流式計算在在線環(huán)境下的資源調(diào)度和節(jié)點依賴環(huán)境下的容錯策略等方面的技術挑戰(zhàn)。在未來的工作中,將結合應用場景的需求,開展系統(tǒng)架構的優(yōu)化,改善整個系統(tǒng)的可擴展性、穩(wěn)定性等多方面的特征。同時,針對應用的要求,開展上層應用同系統(tǒng)架構、數(shù)據(jù)流之間的動態(tài)、彈性自適應性的優(yōu)化。數(shù)據(jù)分析師培訓

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }