本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種大數(shù)據(jù)計算的方法及系統(tǒng)。
背景技術(shù):
以Google為首的大數(shù)據(jù)技術(shù)已經(jīng)風(fēng)靡全球,以Hadoop為基礎(chǔ)的各個應(yīng)用也呈現(xiàn)百花齊放的局面。大數(shù)據(jù)應(yīng)用的影響日益擴(kuò)大。根據(jù)機(jī)構(gòu)測算,全世界數(shù)據(jù)總量以每兩年翻一番的速度遞增。換句話說,最近兩年產(chǎn)生的數(shù)據(jù)總量相當(dāng)于人類有史以來所有數(shù)據(jù)量的總和。在這個背景下,從公司戰(zhàn)略到產(chǎn)業(yè)生態(tài),從學(xué)術(shù)研究到生產(chǎn)實(shí)踐,從城鎮(zhèn)管理乃至國家治理,都將發(fā)生本質(zhì)的變化。
大數(shù)據(jù)指的是大小超出常規(guī)的數(shù)據(jù)工具獲取、存儲、管理和分析能力的數(shù)據(jù)集,并不是說一定要超過特定TB值得數(shù)據(jù)集才能算是大數(shù)據(jù)。國際數(shù)據(jù)公司(IDC)從四個特征定義大數(shù)據(jù),即海量的數(shù)據(jù)規(guī)模(Volume)、快速的數(shù)據(jù)流轉(zhuǎn)和動態(tài)的數(shù)據(jù)體系(Velocity)、多樣的數(shù)據(jù)類型(Variety)和巨大的數(shù)據(jù)價值(Value)。
由于需要支持大規(guī)模數(shù)據(jù)的存儲計算,大數(shù)據(jù)處理通常需要使用基于集群的分布式存儲與并行計算體系結(jié)構(gòu)和硬件平臺。針對如上問題,開源社區(qū)和國內(nèi)外廠商都在進(jìn)行相應(yīng)的嘗試和努力。大數(shù)據(jù)查詢分析的典型系統(tǒng)包括Hadoop下的HBase和Hive,F(xiàn)acebook開發(fā)的Cassandra,Google公司的Dremel,Cloudera公司的Impala;此外為了實(shí)現(xiàn)更高性能的數(shù)據(jù)查詢分析,還出現(xiàn)了不少基于內(nèi)存的分布式數(shù)據(jù)存儲管理和查詢系統(tǒng),如UC Berkeley AMPLab的基于內(nèi)存計算引擎Spark的數(shù)據(jù)倉庫Shark。還有MPP(massively parallel processing)數(shù)據(jù)庫,比如EMC的GreenPlum,HP的Vertica。最適合于大數(shù)據(jù)批處理的計算模式是MapReduce。MapReduce是一個單輸入、兩階段(Map和Reduce)的數(shù)據(jù)處理過程。MapReduce的簡單易用性使其成為目前大數(shù)據(jù)處理最為成功、最廣為接受使用的主流并行計算模式。在開源社區(qū)的努力下,Hadoop系統(tǒng)目前已發(fā)展成為較為成熟的大數(shù)據(jù)處理平臺,并已發(fā)展成一個包含眾多數(shù)據(jù)處理工具和環(huán)境的完整的生態(tài)系統(tǒng)。Spark也是一個批處理系統(tǒng),在性能方面比Hadoop MapReduce有很大提升,但是其易用性及穩(wěn)定性方面目前仍不如Hadoop MapReduce。
但是這些框架、應(yīng)用、算法都是以計算出最終結(jié)果供決策者決策,從而忽略了一些非常有用的階段性結(jié)果,即不完全計算結(jié)果。目前這些框架的做法都是計算任務(wù)提交前,必須嚴(yán)格定義任務(wù)所有方面;一旦提交任務(wù)后,任務(wù)將按照原先設(shè)定的規(guī)則進(jìn)行運(yùn)行直到任務(wù)全部完成才能夠給出有價值的結(jié)果。在大數(shù)量下(TB、PB、EB級……)以及長時間運(yùn)算(十幾小時乃至幾十小時)的背景下,階段性運(yùn)算出的結(jié)果亦可共決策者分析、 決策。如運(yùn)算了10T、20T、30T……或者運(yùn)算了1h、2h、3h……(維度可定義)得到的結(jié)果應(yīng)該是趨向最終的、正確的結(jié)果,在這過程中的結(jié)果是可以供決策者分析、決策的。
一些任務(wù)如法律調(diào)查、失蹤人口尋找、肇事車輛逃逸、特性商品篩選等海量數(shù)據(jù)分析類需要時限內(nèi)解決的問題,在通常的大數(shù)據(jù)系統(tǒng)架構(gòu)中都是需要任務(wù)全部計算完成才能夠提供結(jié)果的。從而會錯失良機(jī)。其他一些商業(yè)方面的任務(wù),如金融調(diào)查、石油勘探方面,由于數(shù)據(jù)量過于龐大,而在金融業(yè)務(wù)、石油業(yè)務(wù)這些方面又沒有足夠的時間進(jìn)行全面分析的情況下,那么階段性,甚至是樣本統(tǒng)計性的結(jié)果都能夠?qū)@些商業(yè)決策起到關(guān)鍵的效果。
針對相關(guān)技術(shù)中,在大數(shù)據(jù)系統(tǒng)架構(gòu)中都是需要任務(wù)全部計算完成才能夠提供結(jié)果所導(dǎo)致的問題,還未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種大數(shù)據(jù)計算的方法及裝置,以至少解決相關(guān)技術(shù)中在大數(shù)據(jù)系統(tǒng)架構(gòu)中都是需要任務(wù)全部計算完成才能夠提供結(jié)果所導(dǎo)致的問題。
根據(jù)本發(fā)明的一個方面,提供了一種大數(shù)據(jù)計算的方法,包括:獲取對大數(shù)據(jù)進(jìn)行計算的指示信息;根據(jù)所述指示信息對所述大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,輸出計算結(jié)果。
進(jìn)一步地,所述指示信息包括以下至少之一的信息:所述計算結(jié)果為指定類型、在預(yù)定時間段內(nèi)對所述數(shù)據(jù)進(jìn)行計算的信息、對所述大數(shù)據(jù)中的指定數(shù)據(jù)進(jìn)行計算的信息、預(yù)先設(shè)置的數(shù)據(jù)篩選條件。
進(jìn)一步地,根據(jù)所述指示信息對所述大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,輸出計算結(jié)果包括:在所述計算結(jié)果為指定類型的情況下,終止對所述大數(shù)據(jù)進(jìn)行計算;和/或,在當(dāng)前時間為超出所述預(yù)定時間段之后的時間時,終止對所述大數(shù)據(jù)進(jìn)行計算;和/或,對所述指定數(shù)據(jù)計算完成之后,終止對所述大數(shù)據(jù)進(jìn)行計算。
進(jìn)一步地,所述數(shù)據(jù)篩選條件包括:所述大數(shù)據(jù)中各個數(shù)據(jù)或各類數(shù)據(jù)的優(yōu)先級。
進(jìn)一步地,根據(jù)所述指示信息對所述大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算包括:根據(jù)所述指示信息查找與所述指示信息匹配的第一案例;調(diào)用算法庫中與所述第一案例對應(yīng)的第一指定算法對所述大數(shù)據(jù)進(jìn)行計算;或者,根據(jù)所述指示信息查找第二案例,將所述第二案例與算法庫中的第二指定算法進(jìn)行綜合決策,得到第三指定算法,根據(jù)所述第三指定算法對所述大數(shù)據(jù)進(jìn)行計算。
進(jìn)一步地,調(diào)用算法庫中與所述第一案例對應(yīng)的第一指定算法對所述大數(shù)據(jù)進(jìn)行計算之前包括:在與所述指示信息匹配的所述第一案例有多個的情況下,選擇優(yōu)選級最高 的案例作為與所述指示信息匹配的第一案例。
進(jìn)一步地,所述方法還包括:在所述計算結(jié)果不滿足預(yù)設(shè)要求時,對所述大數(shù)據(jù)中除所述部分?jǐn)?shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行計算。
進(jìn)一步地,獲取對大數(shù)據(jù)進(jìn)行計算的指示信息的方式包括以下至少之一:從系統(tǒng)已經(jīng)定義的內(nèi)容中獲取所述指示信息、接收輸入的所述指示信息、對已有的指示信息進(jìn)行修改獲取所述指示信息。
根據(jù)本發(fā)明的另一個方面,還提供了一種大數(shù)據(jù)計算的系統(tǒng),所述系統(tǒng)包括:交互組件,用于接收對大數(shù)據(jù)進(jìn)行計算的指示信息;核心控制組件,安裝于分布式節(jié)點(diǎn),與所述交互組件連接,用于接收所述指示信息,并根據(jù)所述指示信息對所述大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,輸出計算結(jié)果。
進(jìn)一步地,所述指示信息包括以下至少之一的信息:所述計算結(jié)果為指定類型、在預(yù)定時間段內(nèi)對所述數(shù)據(jù)進(jìn)行計算的信息、對所述大數(shù)據(jù)中的指定數(shù)據(jù)進(jìn)行計算的信息、預(yù)先設(shè)置的數(shù)據(jù)篩選條件。
進(jìn)一步地,所述核心控制組件還用于:在所述計算結(jié)果為指定類型的情況下,終止對所述大數(shù)據(jù)進(jìn)行計算;和/或,在當(dāng)前時間為超出所述預(yù)定時間段之后的時間時,終止對所述大數(shù)據(jù)進(jìn)行計算;和/或,對所述指定數(shù)據(jù)計算完成之后,終止對所述大數(shù)據(jù)進(jìn)行計算。
進(jìn)一步地,所述數(shù)據(jù)篩選條件包括:所述大數(shù)據(jù)中各個數(shù)據(jù)或各類數(shù)據(jù)的優(yōu)先級。
進(jìn)一步地,所述系統(tǒng)還包括:過往案例庫和算法庫;或者,過往案例庫、算法庫和執(zhí)行方案組件,所述核心控制組件根據(jù)所述指示信息從所述過往案例庫中查找與所述指示信息匹配的第一案例;調(diào)用所述算法庫中與所述第一案例對應(yīng)的第一指定算法對所述大數(shù)據(jù)進(jìn)行計算;或者,所述核心控制組件根據(jù)第三指定算法對所述大數(shù)據(jù)進(jìn)行計算,其中,所述第三指定算法為所述執(zhí)行方案組件根據(jù)從所述核心控制組件接收到的所述指示信息,從所述過往案例庫中調(diào)用的第二案例與從所述算法庫中調(diào)用的第二指定算法進(jìn)行綜合決策得到的。
進(jìn)一步地,所述核心控制組件還用于在與所述指示信息匹配的所述第一案例有多個的情況下,選擇優(yōu)選級最高的案例作為與所述指示信息匹配的第一案例。
進(jìn)一步地,所述核心控制組件還用于在所述計算結(jié)果不滿足預(yù)設(shè)要求時,對所述大數(shù)據(jù)中除所述部分?jǐn)?shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行計算。
進(jìn)一步地,所述交互組件還用于通過以下至少之一的方式獲取所述指示信息:
從系統(tǒng)已經(jīng)定義的內(nèi)容中獲取所述指示信息、接收輸入的所述指示信息、對已有的指示信息進(jìn)行修改獲取所述指示信息。通過本發(fā)明,采用獲取對大數(shù)據(jù)進(jìn)行計算的指示 信息;根據(jù)指示信息對大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,輸出計算結(jié)果。解決了相關(guān)技術(shù)中在大數(shù)據(jù)系統(tǒng)架構(gòu)中都是需要任務(wù)全部計算完成才能夠提供結(jié)果所導(dǎo)致的問題,進(jìn)而達(dá)到了在限制條件內(nèi)以最大的可能對決策進(jìn)行幫助的效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算系統(tǒng)的結(jié)構(gòu)框圖;
圖3是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算系統(tǒng)的結(jié)構(gòu)框圖(一);
圖4是根據(jù)本發(fā)明實(shí)施例的單個流程的任務(wù)執(zhí)行流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)不完全計算的框架組件圖;
圖6是根據(jù)本發(fā)明實(shí)施例的運(yùn)行調(diào)度流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的搜索排除的例圖;
圖8是根據(jù)本發(fā)明實(shí)施例的范圍精確的例圖;
圖9是根據(jù)本發(fā)明實(shí)施例的分類計算的例圖;
圖10是根據(jù)本發(fā)明實(shí)施例的先易后難計算的例圖。
具體實(shí)施方式
下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
在本實(shí)施例中提供了一種大數(shù)據(jù)計算的方法,圖1是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,獲取對大數(shù)據(jù)進(jìn)行計算的指示信息;
步驟S104,根據(jù)指示信息對大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,輸出計算結(jié)果。
通過上述步驟,根據(jù)指示信息對大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算而不是對任務(wù)進(jìn)行全部計算,相比于相關(guān)技術(shù)中需要任務(wù)全部計算完成才能夠提供計算結(jié)果,上述步驟解決了相關(guān)技術(shù)中在大數(shù)據(jù)系統(tǒng)架構(gòu)中都是需要任務(wù)全部計算完成才能夠提供結(jié)果所導(dǎo)致的問題,進(jìn)而達(dá)到了在限制條件內(nèi)以最大的可能對決策進(jìn)行幫助的效果。
上述的指示信息可以包括多種信息,下面對此進(jìn)行舉例說明。在一個可選實(shí)施例中, 指示信息可以為以下的一種或者多種信息:計算結(jié)果為指定類型、在預(yù)定時間段內(nèi)對數(shù)據(jù)進(jìn)行計算的信息、對大數(shù)據(jù)中的指定數(shù)據(jù)進(jìn)行計算的信息、預(yù)先設(shè)置的數(shù)據(jù)篩選條件。其中,在對大數(shù)據(jù)進(jìn)行計算的過程中,在輸出的計算結(jié)果為指定類型時,停止對大數(shù)據(jù)的計算;在對大數(shù)據(jù)進(jìn)行計算的過程中,規(guī)定對大數(shù)據(jù)進(jìn)行計算的時間,在規(guī)定的時間內(nèi)對大數(shù)據(jù)進(jìn)行計算輸出計算結(jié)果;在對大數(shù)據(jù)進(jìn)行計算的過程中,規(guī)定僅對大數(shù)據(jù)包括的指定數(shù)據(jù)進(jìn)行計算,并輸出計算結(jié)果。也就是說,在計算結(jié)果為指定類型的情況下,終止對該大數(shù)據(jù)進(jìn)行計算;在當(dāng)前時間為超出預(yù)定時間段之后的時間時,終止對大數(shù)據(jù)進(jìn)行計算;對指定數(shù)據(jù)計算完成之后,終止對大數(shù)據(jù)進(jìn)行計算。因此,通過設(shè)定指示信息對大數(shù)據(jù)的計算進(jìn)行限制,實(shí)現(xiàn)了對大數(shù)據(jù)進(jìn)行不完全計算的效果。
在一個可選實(shí)施例中,上述的數(shù)據(jù)篩選條件可以是大數(shù)據(jù)中各個數(shù)據(jù)或各類數(shù)據(jù)的優(yōu)先級。例如,各個數(shù)據(jù)或各類數(shù)據(jù)的優(yōu)先級可以是各個數(shù)據(jù)或者各類數(shù)據(jù)的重要程度或者獲取的難易程度。
上述步驟S104中涉及到根據(jù)指示信息對大數(shù)據(jù)中的部分?jǐn)?shù)據(jù)進(jìn)行計算,在一個可選實(shí)施例中,可以根據(jù)指示信息查找與指示信息匹配的第一案例,調(diào)用算法庫中與該第一案例對應(yīng)的第一指定算法對該大數(shù)據(jù)進(jìn)行計算,也可以根據(jù)該指示信息查找第二案例,將該第二案例與算法庫中的第二指定算法進(jìn)行綜合決策,得到第三指定算法,根據(jù)第三指定算法對大數(shù)據(jù)進(jìn)行計算。通過歷史方案的復(fù)用減少方案及算法方面的開發(fā)成本。下面對依據(jù)預(yù)先存儲的案例與算法庫中的第二指定算法進(jìn)行綜合決策的進(jìn)行舉例,例如:用戶一般可定義的輸入為:結(jié)果內(nèi)容;計算維度;篩選條件。方案庫歷史案例(尋找嫌疑人):目標(biāo)方位;時間;男,大于40歲,身高170-180。那么如果再次執(zhí)行時用戶輸入:目標(biāo)方位;時間;女,小于20歲,身高150-160。方案庫將會對比輸入和歷史庫發(fā)現(xiàn)上面的歷史方案可以部分復(fù)用,先取得方案,在方案的配置當(dāng)中對不同部分進(jìn)行修改,生成新的方案,然后交予核心系統(tǒng)執(zhí)行。
調(diào)用算法庫中與該第一案例對應(yīng)的第一指定算法對大數(shù)據(jù)進(jìn)行計算之前,在一個可選實(shí)施例中,在與指示信息匹配的案例有多個的情況下,選擇優(yōu)選級最高的案例作為與該指示信息匹配的第一案例。其中,案例的優(yōu)先級是由決策人員的評價記錄生成的。
在一個可選實(shí)施例中,在計算結(jié)果不滿足預(yù)設(shè)要求時,對大數(shù)據(jù)中對除已經(jīng)計算的上述部分?jǐn)?shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行計算。
上述步驟S102中涉及到獲取對大數(shù)據(jù)進(jìn)行計算的指示信息,在一個可選實(shí)施例中,獲取指示信息的方式可以包括:從系統(tǒng)已經(jīng)定義的內(nèi)容中獲取指示信息、接收輸入的指示信息或者對已有的指示信息進(jìn)行修改獲取該指示信息。
圖2是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算系統(tǒng)的結(jié)構(gòu)框圖,如圖2所示,該系統(tǒng)包括:交互組件22,用于接收對大數(shù)據(jù)進(jìn)行計算的指示信息;核心控制組件24,安裝于分布式節(jié)點(diǎn),與該交互組件連接,用于接收指示信息,并根據(jù)指示信息對該大數(shù)據(jù)中的部分 數(shù)據(jù)進(jìn)行計算,輸出計算結(jié)果。
可選地,指示信息包括以下至少之一的信息:計算結(jié)果為指定類型、在預(yù)定時間段內(nèi)對該數(shù)據(jù)進(jìn)行計算的信息、對大數(shù)據(jù)中的指定數(shù)據(jù)進(jìn)行計算的信息、預(yù)先設(shè)置的數(shù)據(jù)篩選條件。
可選地,核心控制組件24還用于:在計算結(jié)果為指定類型的情況下,終止對大數(shù)據(jù)進(jìn)行計算;和/或,在當(dāng)前時間為超出預(yù)定時間段之后的時間時,終止對大數(shù)據(jù)進(jìn)行計算;和/或,對指定數(shù)據(jù)計算完成之后,終止對大數(shù)據(jù)進(jìn)行計算。
可選地,數(shù)據(jù)篩選條件包括:大數(shù)據(jù)中各個數(shù)據(jù)或各類數(shù)據(jù)的優(yōu)先級。
圖3是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)計算系統(tǒng)的結(jié)構(gòu)框圖(一);如圖3所示,該系統(tǒng)還包括:過往案例庫32和算法庫34;或者,過往案例庫32、算法庫34和執(zhí)行方案組件36,核心控制組件24根據(jù)指示信息從過往案例庫32中查找與指示信息匹配的第一案例;調(diào)用算法庫34中與第一案例對應(yīng)的第一指定算法對大數(shù)據(jù)進(jìn)行計算;或者,核心控制組件22根據(jù)第三指定算法對大數(shù)據(jù)進(jìn)行計算,其中,第三指定算法為執(zhí)行方案組件36根據(jù)從核心控制組件24接收到的指示信息,從過往案例庫32中調(diào)用的第二案例與從算法庫34中調(diào)用的第二指定算法進(jìn)行綜合決策得到的。
可選地,核心控制組件24還用于在與該指示信息匹配的該第一案例有多個的情況下,選擇優(yōu)選級最高的案例作為與該指示信息匹配的第一案例。
可選地,核心控制組件24還用于在計算結(jié)果不滿足預(yù)設(shè)要求時,對大數(shù)據(jù)中除該部分?jǐn)?shù)據(jù)之外的其余數(shù)據(jù)進(jìn)行計算。
可選地,交互組件22還用于通過以下至少之一的方式獲取該指示信息:
從系統(tǒng)已經(jīng)定義的內(nèi)容中獲取該指示信息、接收輸入的該指示信息、對已有的指示信息進(jìn)行修改獲取該指示信息。需要說明的是,上述交互組件22、核心控制組件24、過往案例庫32、算法庫34和執(zhí)行方案組件36是可以通過軟件或硬件來實(shí)現(xiàn)的,對于后者,可以通過以下方式實(shí)現(xiàn),但不限于此:交互組件22、核心控制組件24、過往案例庫32、算法庫34和執(zhí)行方案組件36均位于同一處理器中;或者,交互組件22、核心控制組件24、過往案例庫32、算法庫34和執(zhí)行方案組件36分別位于第一處理器和第二處理器…中。
針對相關(guān)技術(shù)中存在的上述問題,下面結(jié)合具體的可選實(shí)施例進(jìn)行說明,在下述的可選實(shí)施例中結(jié)合了上述可選實(shí)施例及其可選實(shí)施方式。
針對一定限制情況(維度有:時間、數(shù)據(jù)規(guī)模、精度、經(jīng)濟(jì)成本)內(nèi)需要做出的決策,通過大數(shù)據(jù)或分布式計算手段進(jìn)行計算,給出不同階段性的數(shù)據(jù)支撐,以供決策者分析使用。
本可選實(shí)施例的技術(shù)方案為:
核心流程:
1定義決策目標(biāo),輸入框架系統(tǒng)。
2框架系統(tǒng)自動分析出可能的階段目標(biāo),適用算法。
3系統(tǒng)內(nèi)部根據(jù)目標(biāo)設(shè)定計算方案,啟動算法執(zhí)行。
4系統(tǒng)觸發(fā)計算終止設(shè)定條件,給出結(jié)果。
此處對技術(shù)方案進(jìn)行描述:
3-1定義決策目標(biāo)——由(需要協(xié)助的)決策人員通過UI系統(tǒng)(框架交互組件)輸入。輸入的內(nèi)容包括:計算最終目標(biāo)結(jié)果的樣式,終止計算觸發(fā)條件,已知的可以用于篩選的條件。上述3項內(nèi)容可以通過UI進(jìn)行選擇,選擇系統(tǒng)已定義的內(nèi)容;也可以通過手工添加新的內(nèi)容;或者修改舊有的內(nèi)容。
其中:終止計算觸發(fā)條件——又稱為計算維度,系統(tǒng)是根據(jù)這個維度來對階段目標(biāo)進(jìn)行定位的。維度是時間時,系統(tǒng)就會在限定時間內(nèi)完成計算。維度是數(shù)據(jù)量時,系統(tǒng)就會計算限定的數(shù)據(jù)量后完成計算。其他維度可以根據(jù)二次開發(fā)的方案進(jìn)行人工添加。
如果觸發(fā)條件是一個序列,那么核心流程的2到4步驟將根據(jù)序列循環(huán)執(zhí)行,直到序列的觸發(fā)條件執(zhí)行完畢。
3-2輸入框架系統(tǒng)——由框架交互組件將用戶(決策人員)輸入的內(nèi)容,提交給框架核心控制組件。
3-3框架系統(tǒng)自動分析階段目標(biāo)——該動作的內(nèi)部流程是根據(jù)用戶輸入內(nèi)容對比“過往案例集成和外部成功案例導(dǎo)入庫”來確定最近的目標(biāo)。
如果對比內(nèi)容3項能夠找到完全符合的案例,那么系統(tǒng)就根據(jù)案例的方案來執(zhí)行。如果對比內(nèi)容的3項中前兩項匹配,第三項不匹配,那么計算時先去除篩選算法,等到觸發(fā)結(jié)果時再進(jìn)行特別操作。如果前兩項中只有一項找到對應(yīng)案例,另一項完全沒有對應(yīng)案例,那么按照有對應(yīng)案例的那項內(nèi)容為根據(jù)進(jìn)行計算。所有內(nèi)容都對應(yīng)不到案例,那么計算就不執(zhí)行,反饋給UI報錯結(jié)果。
如果方案匹配過程中出現(xiàn)匹配多個方案的時候,系統(tǒng)將最優(yōu)匹配評價最高的方案,其他方案稱為備選方案。方案的評價是由決策人員的評價記錄生成的。每執(zhí)行一次,該評價都會有相應(yīng)的變動。
3-4框架系統(tǒng)自動分析適用算法——適用算法的挑選是根據(jù)執(zhí)行案例來的。案例當(dāng)中會明確算法的選擇。其中篩選條件的算法是獨(dú)立區(qū)分存在的。用戶輸入的第三項內(nèi)容中,能夠?qū)?yīng)到的將優(yōu)先執(zhí)行對應(yīng)的篩選條件算法。
3-5系統(tǒng)內(nèi)部根據(jù)目標(biāo)設(shè)定計算方案——系統(tǒng)根據(jù)階段目標(biāo)的確認(rèn)、算法選擇的情況生成計算方案。這個可以稱為本次計算案例。如果案例最終被決策人員評價為有作用以上等級,那就將存儲到過往案例庫當(dāng)中。生成計算方案時如果多個算法之間的順序能夠調(diào)動,那么系統(tǒng)會能夠合理的選擇最優(yōu)性能的執(zhí)行方案。
3-6啟動算法執(zhí)行——系統(tǒng)自動將方案分發(fā)到整個集群進(jìn)行執(zhí)行。
3-7系統(tǒng)觸發(fā)計算終止設(shè)定條件,給出結(jié)果——當(dāng)?shù)竭_(dá)終止條件時系統(tǒng)立即會反饋結(jié)果,無論結(jié)果是否符合預(yù)期。
實(shí)際應(yīng)用當(dāng)中,在核心功能基礎(chǔ)上,對這個功能進(jìn)行多次應(yīng)用,就能夠逐漸得出更有利于決策的結(jié)果。
3-8針對時間維度逐步精確結(jié)果。
3-8-1搜索排除——目標(biāo)為大數(shù)據(jù)中的一個目標(biāo)或某些目標(biāo);計算過的沒有中標(biāo)的數(shù)據(jù)塊,將標(biāo)示為已計算的無結(jié)果區(qū)域。設(shè)定的時間點(diǎn)到期后,反饋這些無結(jié)果區(qū)域為階段結(jié)果給決策人員。如果決策人員仍然需要計算決策幫助,可以開始第二次計算,計算之初就能夠?qū)⒁淹瓿傻慕Y(jié)果排除在外。以此類推,直到?jīng)Q策人員不需要再進(jìn)行計算輔助或者計算結(jié)果完全計算完成。該方案可以用于目標(biāo)搜素,如:通緝犯追捕、肇事逃逸抓捕、走失兒童尋找。
3-9針對數(shù)據(jù)量逐步給出計算結(jié)果。
3-9-1范圍精確——目標(biāo)為大數(shù)據(jù)中的所有數(shù)據(jù)的一種計算統(tǒng)計(如平均值、方差等統(tǒng)計學(xué)結(jié)果)。采用統(tǒng)計學(xué)中抽樣調(diào)查的方法。抽取數(shù)據(jù)進(jìn)行計算,計算過的數(shù)據(jù)將從數(shù)據(jù)源中轉(zhuǎn)移到其他位置,不作為下一次計算的數(shù)據(jù)來源。第二次計算及最后的計算終止條件都和搜索排除法類同。
3-9-2分類計算——如果用戶輸入時的篩選條件中注明大數(shù)據(jù)中的數(shù)據(jù)可以區(qū)分類別及類別主次,可以按照類別先計算重要性比較高的數(shù)據(jù)。反饋結(jié)果按照計算順序,依次反饋。
3-9-3先易后難計算——當(dāng)數(shù)據(jù)源獲取條件不一致時,先計算較容易獲得的數(shù)據(jù)。因為數(shù)據(jù)下載和算法計算消耗的是不同硬件,這樣做有利于性能的提升。這樣的做法在對于數(shù)據(jù)源有明顯群組的情況下。
圖4是根據(jù)本發(fā)明實(shí)施例的單個流程的任務(wù)執(zhí)行流程圖,如圖4所示,為內(nèi)部算法計算時進(jìn)行的操作流程。這3步流程由核心控制組件自動調(diào)取其他組件執(zhí)行。直到所有的觸發(fā)條件都觸發(fā),并且所有的運(yùn)算都執(zhí)行完畢才會停止;例外情況是可以由人為通過UI直接強(qiáng)行停止任務(wù)。
圖5是根據(jù)本發(fā)明實(shí)施例的大數(shù)據(jù)不完全計算的框架組件圖,下面對圖5進(jìn)行說明:
4-2-1框架交互組件——用于溝通用戶。
任務(wù)開始時,幫助用戶錄入任務(wù)決策目標(biāo),提供若干階段目標(biāo)和適用算法供用戶選擇。提供任務(wù)定時器,讓用戶選擇執(zhí)行時間。該組件能夠啟動任務(wù)執(zhí)行,也能夠暫?;蚺R時終止任務(wù)。
任務(wù)執(zhí)行過程中及時反饋,任務(wù)結(jié)束后提供若干不完全或完全結(jié)果給用戶決策參考。
4-2-2框架核心控制組件——用于控制任務(wù)運(yùn)行。
控制算法運(yùn)算。
控制結(jié)果輸出,結(jié)果排序。
控制分布式集群負(fù)載均衡。
組件是一個分布式的集群。
4-2-3任務(wù)執(zhí)行方案組件——用于將調(diào)取的過往案例庫數(shù)據(jù)和算法庫數(shù)據(jù)進(jìn)行組裝,生成本次運(yùn)算的執(zhí)行方案。
按結(jié)果方面分為兩類:一類是序列反饋結(jié)果,一類是維度結(jié)束后返回不完全結(jié)果。其他還可以設(shè)置階段的定義,反饋哪些需要的結(jié)果。
4-2-4過往案例集成庫及外部成功案例導(dǎo)入庫。
執(zhí)行一次案例,案例基本信息將保存在案例庫中,并附帶決策人員的評價。也可以從外部導(dǎo)入他人的案例。這樣可以借助過往的案例,對評價較高的案例可以拿來復(fù)用。不完全匹配的案例,也可以拿來借助組合成執(zhí)行方案。
4-2-5算法庫中算法一部分基礎(chǔ)算法由框架開發(fā)人員開發(fā)。其他一部分可以由有具體應(yīng)用需求的人員開發(fā)。
圖6是根據(jù)本發(fā)明實(shí)施例的運(yùn)行調(diào)度流程圖,如圖6所示,該流程包括如下步驟:
步驟S602:交互組件接到任務(wù)信息,通知核心組件做出動作。
步驟S604:核心組件發(fā)往過往案例庫,查詢與任務(wù)信息關(guān)聯(lián)的過往案例。如果有完全匹配的案例將直接執(zhí)行步驟S606,然后運(yùn)算,執(zhí)行步驟S618。如果不完全匹配,那么將執(zhí)行步驟S610、步驟S612、步驟S614、步驟S616、步驟S618。
步驟S606:調(diào)用算法庫。
步驟S608:查詢反饋。
步驟S610:核心組件將現(xiàn)有信息(包括終止計算觸發(fā)條件序列的一個)輸入任務(wù)執(zhí)行方案組件,組件調(diào)用過往案例庫(步驟S612),調(diào)用算法庫(步驟S614),然后綜 合所有信息組裝為執(zhí)行方案。
步驟S612:調(diào)用過往案例。
步驟S614:調(diào)用算法庫。
步驟S616:執(zhí)行方案組件反饋執(zhí)行方案,核心組件開始執(zhí)行。
步驟S618:核心組件執(zhí)行完成后,反饋給交互組件。
當(dāng)任務(wù)是多階段多次任務(wù)的情況下,步驟S618完成后,自動啟動步驟S604的操作,按照以上順序(除步驟S602外)進(jìn)行重復(fù)過程。
圖7是根據(jù)本發(fā)明實(shí)施例的搜索排除的例圖,下面根據(jù)圖7進(jìn)行說明:
計算目標(biāo)是需要在搜索數(shù)據(jù)中找到一個或多個目標(biāo)。(圖7只針對一個目標(biāo))
(用戶輸入內(nèi)容為單個明確結(jié)果;以時間為終止計算觸發(fā)條件;篩選條件不涉及執(zhí)行方案和算法選擇)
以時間為終止計算觸發(fā)條件,第一輪計算完成后,如果沒有發(fā)現(xiàn)目標(biāo),已計算完沒有目標(biāo)的數(shù)據(jù)塊的信息將反饋給用戶作為不完全的結(jié)果。如果找到目標(biāo)那么反饋目標(biāo)所在信息即可。
找到目標(biāo)可以終止計算,沒有找到目標(biāo)的情況下,則將已計算完成的數(shù)據(jù)源排除在外進(jìn)行下一輪的計算。
圖8是根據(jù)本發(fā)明實(shí)施例的范圍精確的例圖,下面根據(jù)圖8進(jìn)行說明:
計算目的是統(tǒng)計整個數(shù)據(jù)源的統(tǒng)計學(xué)上一些可以統(tǒng)計的結(jié)果,例如:平均數(shù)、和、某個限定類別的平均數(shù)、某個限定類別的和等。
(用戶輸入內(nèi)容為單個統(tǒng)計結(jié)果;以數(shù)據(jù)量為終止計算觸發(fā)條件;篩選條件不涉及執(zhí)行方案和算法選擇)
使用樣本調(diào)查的方法,抽取所有數(shù)據(jù)中的一部分作為整個數(shù)據(jù)集的代表進(jìn)行計算。顯而易見的是樣本占所有數(shù)據(jù)的比例越大,結(jié)果越精確。而且計算過一次后,后續(xù)還能夠繼續(xù)將已計算的數(shù)據(jù)排除后進(jìn)行多次計算,這樣不對數(shù)據(jù)重復(fù)計算,即能及時給出需要的結(jié)果又能不浪費(fèi)性能的情況下使結(jié)果越來越精確。
圖9是根據(jù)本發(fā)明實(shí)施例的分類計算的例圖,下面根據(jù)圖9進(jìn)行說明;
本例的計算目的結(jié)果不限定。確定計算執(zhí)行方案和算法時,不以計算目的作為判斷。
(用戶輸入計算結(jié)果樣式不涉及執(zhí)行方案和算法選擇;終止計算條件為類別,且加入類別按照主次排列的序列;篩選條件不涉及執(zhí)行方案和算法選擇)
圖10是根據(jù)本發(fā)明實(shí)施例的先易后難計算的例圖,下面根據(jù)圖10進(jìn)行說明:
本例計算目的結(jié)果不限定。確定計算執(zhí)行方案和算法時,不以計算目的作為判斷。
(用戶輸入計算結(jié)果樣式不涉及執(zhí)行方案和算法選擇;終止計算條件為數(shù)據(jù)組;篩選條件中涉及數(shù)據(jù)組的區(qū)分方法)
數(shù)據(jù)組的區(qū)分方法典型的可以為數(shù)據(jù)的存儲地點(diǎn);數(shù)據(jù)來源(不同運(yùn)營商等);數(shù)據(jù)存儲格式。
圖10中的計算過程是首先截取每組數(shù)據(jù)的一個片段(相同大小)進(jìn)行難易度測試計算。生成的結(jié)果用于對數(shù)據(jù)組的計算順序排隊,然后可以使用圖9的批量計算方法進(jìn)行計算。
衍生的使用方法:可以每計算完一組數(shù)據(jù)后,剩余數(shù)據(jù)都進(jìn)行一次難易度排序。
在一個可選實(shí)施例中,框架交互組件需要可靠性較高的機(jī)器,建議雙機(jī)安裝??蚣芎诵目刂平M件實(shí)行分布式安裝,安裝到每個分布式節(jié)點(diǎn)。內(nèi)部機(jī)制會自動選舉一個管理節(jié)點(diǎn),該節(jié)點(diǎn)不會滿負(fù)荷進(jìn)行運(yùn)算。管理節(jié)點(diǎn)直接和交互組件通信,其他節(jié)點(diǎn)除從數(shù)據(jù)源調(diào)取數(shù)據(jù)外不與管理節(jié)點(diǎn)外的機(jī)器通信。任務(wù)執(zhí)行方案組件、算法庫、過往案例集成庫及外部成功案例導(dǎo)入庫可以分開安裝也可以合設(shè)。數(shù)據(jù)源可以是各種常見形式如:hadoop的hdfs,nfs,ftp等
綜上所述,通過本發(fā)明提供的大數(shù)據(jù)不完全計算系統(tǒng),決策人員在需要做出重大決策的時候,往往有各種限制條件,比如時間。本發(fā)明能夠在這些限制條件內(nèi)以最大的可能對決策進(jìn)行幫助,以減少決策所帶來的風(fēng)險。同時本發(fā)明提供歷史方案的復(fù)用,能夠減少方案及算法方面的開發(fā)成本。歷史方案的累積能夠?qū)ο到y(tǒng)的計算成功率和方案匹配率不斷的提升。本發(fā)明是一個可以自學(xué)習(xí)、自進(jìn)步的算法框架。
在另外一個實(shí)施例中,還提供了一種軟件,該軟件用于執(zhí)行上述實(shí)施例及優(yōu)選實(shí)施方式中描述的技術(shù)方案。
在另外一個實(shí)施例中,還提供了一種存儲介質(zhì),該存儲介質(zhì)中存儲有上述軟件,該存儲介質(zhì)包括但不限于:光盤、軟盤、硬盤、可擦寫存儲器等。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實(shí)現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。