午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

數(shù)據(jù)處理的方法和系統(tǒng)的制作方法

文檔序號(hào):10666422閱讀:518來(lái)源:國(guó)知局
數(shù)據(jù)處理的方法和系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)公開(kāi)了一種數(shù)據(jù)處理的方法,應(yīng)用于由多個(gè)服務(wù)器構(gòu)成的分布式系統(tǒng)中,該方法包括:所述分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。該方法利用分布式系統(tǒng)中的多個(gè)服務(wù)器同步并行運(yùn)算,從而可以快速處理復(fù)雜的拓?fù)浣Y(jié)構(gòu)圖。因此,該方法應(yīng)用范圍廣、執(zhí)行效率高。
【專利說(shuō)明】
數(shù)據(jù)處理的方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001]本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理的方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著科技的不斷進(jìn)步,互聯(lián)網(wǎng)已經(jīng)成為當(dāng)今社會(huì)日常工作、生活不可或缺的重要組成部分?;ヂ?lián)網(wǎng)的網(wǎng)絡(luò)規(guī)模在飛速擴(kuò)展,同時(shí)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也在不斷變化。從超大規(guī)模的復(fù)雜網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,提取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的主要特征對(duì)于指導(dǎo)網(wǎng)絡(luò)建設(shè)和互聯(lián)網(wǎng)信息利用具有重要意義。
[0003]—個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以抽象為一張由節(jié)點(diǎn)集和鏈路集組成的拓?fù)浣Y(jié)構(gòu)圖。
[0004]節(jié)點(diǎn)的度值是指與其連接的其他節(jié)點(diǎn)的數(shù)目,反映的是節(jié)點(diǎn)的相鄰節(jié)點(diǎn)的多少,從一個(gè)方面說(shuō)明了該節(jié)點(diǎn)的重要性。
[0005]拓?fù)浣Y(jié)構(gòu)圖的K-核是指在拓?fù)浣Y(jié)構(gòu)圖中反復(fù)去掉節(jié)點(diǎn)的度值小于等于K的節(jié)點(diǎn)及與其連接的鏈路后剩余的拓?fù)浣Y(jié)構(gòu)圖的子圖。K值越大,反映了該子圖在拓?fù)浣Y(jié)構(gòu)圖中處于更加核心的層次。
[0006]節(jié)點(diǎn)的核數(shù)值表明了該節(jié)點(diǎn)在拓?fù)浣Y(jié)構(gòu)圖中的層次,從另一個(gè)方面說(shuō)明了該節(jié)點(diǎn)的重要性。核數(shù)值為K的節(jié)點(diǎn)存在于拓?fù)浣Y(jié)構(gòu)圖的K-核中,而不會(huì)存在于拓?fù)浣Y(jié)構(gòu)圖的(K+1)-核中。
[0007]現(xiàn)有的提取網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的主要特征的實(shí)現(xiàn)方式是:保存拓?fù)浣Y(jié)構(gòu)圖及其各級(jí)K-核的子圖,迭代刪除節(jié)點(diǎn)的度值小于等于K的節(jié)點(diǎn)及與節(jié)點(diǎn)連接的鏈路,最終運(yùn)算得到每個(gè)節(jié)點(diǎn)的核數(shù)值。
[0008]容易想到的是,隨著拓?fù)浣Y(jié)構(gòu)圖的復(fù)雜度的增大,而計(jì)算機(jī)的硬件和軟件資源是有限的,必然會(huì)出現(xiàn)瓶頸環(huán)節(jié)。現(xiàn)實(shí)中當(dāng)節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)級(jí)別時(shí),計(jì)算機(jī)依靠?jī)?nèi)存、處理器保存拓?fù)浣Y(jié)構(gòu)圖及其各級(jí)K-核的子圖、迭代運(yùn)算進(jìn)行刪除節(jié)點(diǎn)的度值小于等于某一數(shù)值的節(jié)點(diǎn)及與節(jié)點(diǎn)連接的鏈路,尚可勉力完成提取拓?fù)浣Y(jié)構(gòu)圖的主要特征。而當(dāng)節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在十億級(jí)別時(shí),則會(huì)導(dǎo)致內(nèi)存溢出,而無(wú)法完成提取拓?fù)浣Y(jié)構(gòu)的主要特征。因此,現(xiàn)有的數(shù)據(jù)處理的方法應(yīng)用范圍窄、執(zhí)行效率低。
[0009]因此,發(fā)明人在對(duì)現(xiàn)有的互聯(lián)網(wǎng)的拓?fù)浣Y(jié)構(gòu)進(jìn)行研究的基礎(chǔ)上提供一種應(yīng)用范圍廣、執(zhí)行效率高的數(shù)據(jù)處理的方法和系統(tǒng)。

【發(fā)明內(nèi)容】

[0010]本申請(qǐng)實(shí)施例提供一種應(yīng)用范圍寬、執(zhí)行效率高的數(shù)據(jù)處理的方法,具體的,一種數(shù)據(jù)處理的方法,應(yīng)用于由多個(gè)服務(wù)器構(gòu)成的分布式系統(tǒng)中,該方法包括:
[0011]所述分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;
[0012]各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;
[0013]根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。
[0014]本申請(qǐng)實(shí)施例還提供一種數(shù)據(jù)處理的系統(tǒng),由多個(gè)服務(wù)器按照整體同步并行計(jì)算模型構(gòu)成分布式系統(tǒng),包括:
[0015]服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;用于根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。
[0016]本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法和系統(tǒng),至少具有如下有益效果:
[0017]該方法利用分布式系統(tǒng)中的多個(gè)服務(wù)器同步并行運(yùn)算,從而可以快速處理復(fù)雜的拓?fù)浣Y(jié)構(gòu)圖。因此,該方法應(yīng)用范圍廣、執(zhí)行效率高。
【附圖說(shuō)明】
[0018]此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0019]圖1為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒虉D。
[0020]圖2為本申請(qǐng)實(shí)施例提供的分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖的流程圖。
[0021]圖3為本申請(qǐng)實(shí)施例提供的各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別的流程圖。
[0022]圖4為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖。
[0023]圖5為本申請(qǐng)實(shí)施例提供的服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟的流程圖。
[0024]圖6為本申請(qǐng)實(shí)施例提供的服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟中啟動(dòng)操作的流程圖。
[0025]圖7為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第一過(guò)程圖。
[0026]圖8為本申請(qǐng)實(shí)施例提供的服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟的流程圖。
[0027]圖9為本申請(qǐng)實(shí)施例提供的服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟中循環(huán)操作的流程圖。
[0028]圖10為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第二過(guò)程圖。
[0029]圖11為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第三過(guò)程圖。
[0030]圖12為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第四過(guò)程圖。
[0031]圖13為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第五過(guò)程圖。
[0032]圖14為本申請(qǐng)實(shí)施例提供的拓?fù)浣Y(jié)構(gòu)圖的示例圖處理中的第六過(guò)程圖。
[0033]圖15為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)傳輸?shù)南到y(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0034]為了解決現(xiàn)有的數(shù)據(jù)處理的方法,無(wú)法提取節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)以上拓?fù)浣Y(jié)構(gòu)圖的主要特征的技術(shù)問(wèn)題。本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法,利用分布式系統(tǒng)中的多個(gè)服務(wù)器同步并行運(yùn)算,從而可以快速處理節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)以上拓?fù)浣Y(jié)構(gòu)圖。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法對(duì)于節(jié)點(diǎn)和鏈路在十億數(shù)量級(jí)的拓?fù)浣Y(jié)構(gòu)圖,可以在分鐘數(shù)量級(jí)上實(shí)現(xiàn)提取拓?fù)浣Y(jié)構(gòu)圖的主要特征。因此,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法應(yīng)用范圍廣、執(zhí)tx效率尚。
[0035]為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)具體實(shí)施例及相應(yīng)的附圖對(duì)本申請(qǐng)技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0036]圖1為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法的流程圖,具體包括以下步驟:
[0037]SlOO:分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成。
[0038]正如【背景技術(shù)】中所載,網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以抽象為一張由節(jié)點(diǎn)集和鏈路集組成的拓?fù)浣Y(jié)構(gòu)圖。對(duì)于拓?fù)浣Y(jié)構(gòu)圖在各服務(wù)器之間如何拆分,后面會(huì)進(jìn)行詳細(xì)描述,此處不再贅述。
[0039]本申請(qǐng)實(shí)施例提供拓?fù)浣Y(jié)構(gòu)圖的一種應(yīng)用,該應(yīng)用涉及商品交易系統(tǒng)。對(duì)于商品交易系統(tǒng)而言,節(jié)點(diǎn)集主要是由商戶標(biāo)識(shí)、商品標(biāo)識(shí)、用戶標(biāo)識(shí)等節(jié)點(diǎn)組成。而鏈路集主要是由表征商戶標(biāo)識(shí)、用戶標(biāo)識(shí)之間的資金流轉(zhuǎn)關(guān)系的資金鏈路,以及表征商戶標(biāo)識(shí)、用戶標(biāo)識(shí)、用戶標(biāo)識(shí)之間的位置變動(dòng)的運(yùn)輸鏈路等鏈路組成。
[0040]本申請(qǐng)實(shí)施例還提供拓?fù)浣Y(jié)構(gòu)圖的另一種應(yīng)用,該應(yīng)用涉及案件主體查找系統(tǒng)。對(duì)于案件主體查找系統(tǒng)而言,節(jié)點(diǎn)集主要是由證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)、通訊設(shè)備標(biāo)識(shí)、被害人標(biāo)識(shí)、嫌疑人標(biāo)識(shí)、金融賬戶標(biāo)識(shí)等節(jié)點(diǎn)組成。而鏈路集主要是由多個(gè)嫌疑人標(biāo)識(shí)之間發(fā)生的資金流轉(zhuǎn)關(guān)系的資金鏈路、嫌疑人標(biāo)識(shí)與受害人標(biāo)識(shí)之間發(fā)生的資金流轉(zhuǎn)關(guān)系的資金鏈路、多個(gè)嫌疑人標(biāo)識(shí)之間發(fā)生的通訊聯(lián)系的通訊鏈路、在各種筆錄上面記載的證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)與嫌疑人標(biāo)識(shí)之間的記錄鏈路等鏈路組成。
[0041]這里的分布式系統(tǒng),由若干服務(wù)器按照并行計(jì)算框架組織在一起。在處理節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)以上拓?fù)浣Y(jié)構(gòu)圖時(shí),分布式系統(tǒng)中的各服務(wù)器分別獲取其中一部分,并同步進(jìn)行處理,從而可以實(shí)現(xiàn)復(fù)雜的拓?fù)浣Y(jié)構(gòu)圖的快速處理。因此,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法應(yīng)用范圍廣、執(zhí)行效率高。
[0042]S200:各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別。
[0043]正如【背景技術(shù)】中所記載,節(jié)點(diǎn)的核數(shù)值表明了該節(jié)點(diǎn)在拓?fù)浣Y(jié)構(gòu)圖中的層次,說(shuō)明了該節(jié)點(diǎn)的重要性。節(jié)點(diǎn)的核數(shù)值在一定程度上反映了節(jié)點(diǎn)的級(jí)別。在本申請(qǐng)實(shí)施例提供的技術(shù)方案中,主要通過(guò)核數(shù)值來(lái)表征節(jié)點(diǎn)的級(jí)別。容易理解的是,通過(guò)其他參數(shù),例如【背景技術(shù)】中所記載的節(jié)點(diǎn)的度值來(lái)表征節(jié)點(diǎn)的級(jí)別也是可以的,當(dāng)然,綜合節(jié)點(diǎn)的核數(shù)值與度值來(lái)表征節(jié)點(diǎn)的級(jí)別也是可以的。本申請(qǐng)實(shí)施例提供的技術(shù)方案中,之所以采用核數(shù)值作為表征節(jié)點(diǎn)的級(jí)別,是因?yàn)?,核?shù)值反應(yīng)的是節(jié)點(diǎn)的層次性,是一種核心的參數(shù)。并且根據(jù)實(shí)際的研究結(jié)果,一個(gè)節(jié)點(diǎn)的度值的最大有可能超過(guò)千的數(shù)量級(jí),而節(jié)點(diǎn)的核數(shù)值即便在復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖中,核數(shù)值超過(guò)30的節(jié)點(diǎn)都極少,波動(dòng)性小,便于拓?fù)浣Y(jié)構(gòu)圖的研究及應(yīng)用。
[0044]如何計(jì)算節(jié)點(diǎn)的級(jí)別,對(duì)于本申請(qǐng)實(shí)施例而言,即如何計(jì)算節(jié)點(diǎn)的核數(shù)值,后面會(huì)進(jìn)行專門描述,此處不在贅述。
[0045]仍以商品交易系統(tǒng)為例,介紹一種針對(duì)該商品交易系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算拓?fù)浣Y(jié)構(gòu)圖中節(jié)點(diǎn)的級(jí)別的應(yīng)用。具體的,是從商品交易系統(tǒng)的數(shù)據(jù)中查找一款熱銷的商品。對(duì)于正常的交易而言,一款商品的銷售必然對(duì)應(yīng)商品的運(yùn)輸及資金的流轉(zhuǎn)。然而,在交易活動(dòng)中,有時(shí)會(huì)發(fā)生商品的退訂,或者惡意刷新交易記錄的情形。真實(shí)的熱銷商品,必然在整個(gè)拓?fù)浣Y(jié)構(gòu)圖中處于核心的層次。因而,通過(guò)確定各節(jié)點(diǎn)的核數(shù)值,可以計(jì)算各節(jié)點(diǎn)的級(jí)別,從而識(shí)別出真實(shí)熱銷的商品。
[0046]再以案件主體查找系統(tǒng)為例,介紹一種針對(duì)該案件主體查找系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算拓?fù)浣Y(jié)構(gòu)圖中節(jié)點(diǎn)的級(jí)別的應(yīng)用。具體的,從多個(gè)案件主體的關(guān)聯(lián)圖中查找真實(shí)的嫌疑人。多個(gè)嫌疑人共同犯罪時(shí),共同犯罪的嫌疑人之間通常會(huì)進(jìn)行通訊聯(lián)絡(luò)、分贓、出現(xiàn)在同一地點(diǎn)等行為。因而,共同犯罪的嫌疑人在整個(gè)拓?fù)浣Y(jié)構(gòu)圖中處于核心的層次。因而,通過(guò)確定各節(jié)點(diǎn)的核數(shù)值,可以計(jì)算各節(jié)點(diǎn)的級(jí)別,從而識(shí)別出真實(shí)的嫌疑人。
[0047]S300:根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。
[0048]根據(jù)計(jì)算出的節(jié)點(diǎn)的級(jí)別,確定出拓?fù)浣Y(jié)構(gòu)圖中的處于核心層次的節(jié)點(diǎn),再根據(jù)這些節(jié)點(diǎn)描述出拓?fù)浣Y(jié)構(gòu)圖的主要特征。
[0049]例如,從商品交易系統(tǒng)的數(shù)據(jù)中查找一款熱銷的商品的應(yīng)用。核數(shù)值大的商品標(biāo)識(shí),是拓?fù)浣Y(jié)構(gòu)圖中處于核心層次的節(jié)點(diǎn),該商品標(biāo)識(shí)所表征的商品是真實(shí)的熱銷商品。
[0050]再例如,從多個(gè)案件主體的關(guān)聯(lián)圖中查找真實(shí)的嫌疑人的應(yīng)用,核數(shù)值大的嫌疑人標(biāo)識(shí),是拓?fù)浣Y(jié)構(gòu)圖中處于核心層次的節(jié)點(diǎn),該嫌疑人標(biāo)識(shí)所表征的是真實(shí)的嫌疑人。
[0051]在本申請(qǐng)實(shí)施例中,分布式系統(tǒng)中的多個(gè)服務(wù)器同步并行運(yùn)算,從而可以快速處理復(fù)雜的拓?fù)浣Y(jié)構(gòu)圖。在實(shí)際使用中,該方法可以快速處理節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)以上拓?fù)浣Y(jié)構(gòu)圖。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法對(duì)于節(jié)點(diǎn)和鏈路在十億數(shù)量級(jí)的拓?fù)浣Y(jié)構(gòu)圖,可以在分鐘數(shù)量級(jí)上實(shí)現(xiàn)提取拓?fù)浣Y(jié)構(gòu)圖的主要特征。因此,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法應(yīng)用范圍廣、執(zhí)行效率高。
[0052]進(jìn)一步的,根據(jù)拓?fù)浣Y(jié)構(gòu)圖的主要特征對(duì)拓?fù)浣Y(jié)構(gòu)圖進(jìn)行優(yōu)化。
[0053]例如,從商品交易系統(tǒng)的數(shù)據(jù)中查找一款熱銷的商品的應(yīng)用。統(tǒng)計(jì)核數(shù)值最大的節(jié)點(diǎn)的最大度值,定義為極限度值。假設(shè),根據(jù)拓?fù)浣Y(jié)構(gòu)圖,存在一些節(jié)點(diǎn)的度值顯著大于該極限度值。則,可以判斷出這些節(jié)點(diǎn)中的商戶標(biāo)識(shí)所代表的商戶在惡意刷新交易記錄。將這些節(jié)點(diǎn)、以及與這些節(jié)點(diǎn)存在鏈路的節(jié)點(diǎn)刪除,以便優(yōu)化拓?fù)浣Y(jié)構(gòu)圖,使其表示真實(shí)的交易記錄。商品交易系統(tǒng)可以對(duì)這些節(jié)點(diǎn)中的商戶標(biāo)識(shí)所代表的商戶進(jìn)行查封商戶標(biāo)識(shí)的處理。
[0054]下面對(duì)于拓?fù)浣Y(jié)構(gòu)圖在各服務(wù)器之間如何拆分進(jìn)行詳細(xì)描述。
[0055]進(jìn)一步的,所述服務(wù)器包括主服務(wù)器和從服務(wù)器。
[0056]請(qǐng)參照?qǐng)D2,分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括:
[0057]SlOl:主服務(wù)器將節(jié)點(diǎn)集中的各節(jié)點(diǎn)的識(shí)別碼生成哈希值,并根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器;
[0058]S102:各服務(wù)器分別獲取到拆分后的拓?fù)浣Y(jié)構(gòu)圖,其中,拆分后的拓?fù)浣Y(jié)構(gòu)圖由分布于其上的節(jié)點(diǎn)集、相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路集構(gòu)成。
[0059]在本申請(qǐng)實(shí)施例中,分布式系統(tǒng)中的各服務(wù)器可以選擇一臺(tái)服務(wù)器固定作為主服務(wù)器,也可以任意指定一臺(tái)服務(wù)器作為主服務(wù)器。優(yōu)選的,設(shè)定保存拆分前的拓?fù)浣Y(jié)構(gòu)圖的服務(wù)器為主服務(wù)器。這樣,既加快了拓?fù)浣Y(jié)構(gòu)圖載入時(shí)間,也減少了服務(wù)器之間進(jìn)行網(wǎng)絡(luò)傳輸?shù)臅r(shí)間。
[0060]哈希(Hash)函數(shù),即散列函數(shù)。哈希函數(shù)可以將任意長(zhǎng)度的輸入經(jīng)過(guò)變化以后得到固定長(zhǎng)度的輸出。在本申請(qǐng)實(shí)施例中,主服務(wù)器將所有節(jié)點(diǎn)的識(shí)別碼通過(guò)哈希函數(shù)算得每一個(gè)節(jié)點(diǎn)的哈希值。例如,將商戶標(biāo)識(shí)或通訊設(shè)備標(biāo)識(shí)轉(zhuǎn)化為哈希值。然后將這些哈希值對(duì)應(yīng)的節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器。分布式系統(tǒng)中的各服務(wù)器則分別獲取節(jié)點(diǎn)集的子集,同時(shí)兩個(gè)節(jié)點(diǎn)之間的關(guān)系則構(gòu)成鏈路集的子集。
[0061]應(yīng)當(dāng)指出的是,這里提到的分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,對(duì)應(yīng)某個(gè)服務(wù)器保存了統(tǒng)一的拆分前的拓?fù)浣Y(jié)構(gòu)圖的情形。而對(duì)于由各服務(wù)器已經(jīng)各自分別保存一部分拓?fù)浣Y(jié)構(gòu)圖的情形,則可以視為各服務(wù)器已經(jīng)分別獲取到了拆分的拓?fù)浣Y(jié)構(gòu)圖。
[0062]進(jìn)一步的,根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體包括:
[0063]將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)均勻發(fā)布到主服務(wù)器和各從服務(wù)器。
[0064]進(jìn)一步的,根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體包括:
[0065]將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)隨機(jī)發(fā)布到主服務(wù)器和各從服務(wù)器。
[0066]在本申請(qǐng)實(shí)施例中,假設(shè),節(jié)點(diǎn)數(shù)量為N,服務(wù)器數(shù)量M,則根據(jù)均勻發(fā)布的預(yù)設(shè)分布規(guī)則,每個(gè)服務(wù)器大致獲得INT (N/M)個(gè)節(jié)點(diǎn)。INT (N/M),即節(jié)點(diǎn)數(shù)量與服務(wù)器數(shù)量比值取整。有的服務(wù)器獲得INT(N/M)個(gè)節(jié)點(diǎn),有的服務(wù)器獲得INT(N/M)+1個(gè)節(jié)點(diǎn)。本申請(qǐng)實(shí)施例優(yōu)選的采用均勻發(fā)布的預(yù)設(shè)分布規(guī)則,這樣,每個(gè)服務(wù)器的負(fù)載大致平衡,節(jié)省整體處理時(shí)間,執(zhí)行效率高。
[0067]而根據(jù)隨機(jī)發(fā)布的預(yù)設(shè)分布規(guī)則,每個(gè)服務(wù)器隨機(jī)獲得小于N的若干個(gè)節(jié)點(diǎn)。
[0068]請(qǐng)參照?qǐng)D3,進(jìn)一步的,各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體包括:
[0069]S201:各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖;
[0070]S202:基于初始化后的拓?fù)浣Y(jié)構(gòu)圖,運(yùn)行設(shè)定的運(yùn)算模型,計(jì)算各節(jié)點(diǎn)的級(jí)別。
[0071]服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,可以使得拆分后的拓?fù)浣Y(jié)構(gòu)圖具有規(guī)范的格式,從而便于運(yùn)行設(shè)定的運(yùn)算模型,獲得各節(jié)點(diǎn)的核數(shù)值,計(jì)算出各節(jié)點(diǎn)的級(jí)別。
[0072]下面來(lái)介紹服務(wù)器如何初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖。
[0073]進(jìn)一步的,各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括:
[0074]各服務(wù)器設(shè)置所有節(jié)點(diǎn)的初始值為零值。
[0075]進(jìn)一步的,相鄰兩個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn)。
[0076]各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括:
[0077]各服務(wù)器將相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路設(shè)置為由第一節(jié)點(diǎn)指向第二節(jié)點(diǎn)的鏈路和由第二節(jié)點(diǎn)指向第一節(jié)點(diǎn)的鏈路;
[0078]設(shè)置所述鏈路的初始值為非值。
[0079]在初始化過(guò)程中,每一個(gè)服務(wù)器將分布于其上的所有節(jié)點(diǎn),賦予零值的初始值;將所有的鏈路,賦予非值的初始值。下面以圖4為例,來(lái)說(shuō)明初始化過(guò)程。初始化過(guò)程中,設(shè)定節(jié)點(diǎn)N1?節(jié)點(diǎn)N8的初始值為零值。并且,設(shè)定拓?fù)浣Y(jié)構(gòu)圖中的所有鏈路的初始值為非值,用虛線來(lái)表示。
[0080]應(yīng)當(dāng)指出的是,這些被賦予的初始值僅僅是多種選擇中的一種選擇,當(dāng)然,還可以賦予其他的初始值。例如,賦予節(jié)點(diǎn)“-1”的初始值,賦予鏈路真值的初始值。這些具體的賦予數(shù)值的方式,不應(yīng)當(dāng)理解為對(duì)本申請(qǐng)實(shí)施例的保護(hù)范圍的實(shí)質(zhì)性限定。
[0081]進(jìn)一步的,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體包括:
[0082]各服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟、循環(huán)步驟和結(jié)束步驟,生成所有節(jié)點(diǎn)的級(jí)別。
[0083]服務(wù)器通過(guò)對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型來(lái)生成所有節(jié)點(diǎn)的級(jí)別。運(yùn)算模型具體的運(yùn)算過(guò)程分為啟動(dòng)步驟、循環(huán)步驟和結(jié)束步驟。這樣,可以根據(jù)拓?fù)浣Y(jié)構(gòu)圖運(yùn)算過(guò)程中每一個(gè)步驟的特性,來(lái)執(zhí)行適合的算法,從而提高運(yùn)算效率。下面對(duì)運(yùn)算模型的每一個(gè)步驟進(jìn)行詳細(xì)描述。
[0084]請(qǐng)參照?qǐng)D5,進(jìn)一步的,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟,具體包括:
[0085]S2021:各服務(wù)器設(shè)定步驟值為零值;
[0086]S2022:服務(wù)器對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作;
[0087]S2023:步驟值增加一。
[0088]首先,設(shè)定步驟值為零值,即設(shè)定superstep = O。
[0089]接著,服務(wù)器對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作。
[0090]最后,步驟值增加一,即superstep = I。
[0091]下面來(lái)詳細(xì)介紹服務(wù)器對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作。
[0092]請(qǐng)參照?qǐng)D6,其中,啟動(dòng)操作為:
[0093]S2024:計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù);
[0094]S2025:設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù);
[0095]S2026:判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一;
[0096]S2027:若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。
[0097]具體的,請(qǐng)參見(jiàn)圖4,在啟動(dòng)操作時(shí),計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù),設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù)。計(jì)算結(jié)果如下:節(jié)點(diǎn)N1的計(jì)數(shù)值為3,節(jié)點(diǎn)N 2的計(jì)數(shù)值為3,節(jié)點(diǎn)N 3的計(jì)數(shù)值為5,節(jié)點(diǎn)N 4的計(jì)數(shù)值為3,節(jié)點(diǎn)N5的計(jì)數(shù)值為2,節(jié)點(diǎn)N 6的計(jì)數(shù)值為4,節(jié)點(diǎn)N 7的計(jì)數(shù)值為I,節(jié)點(diǎn)N 8的計(jì)數(shù)值為I。
[0098]然后,判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一。
[0099]若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。
[0100]請(qǐng)參見(jiàn)圖7,此時(shí),判斷出節(jié)點(diǎn)N7的計(jì)數(shù)值為1,等于步驟值加一。設(shè)定節(jié)點(diǎn)N 7的節(jié)點(diǎn)值為I。設(shè)定節(jié)點(diǎn)隊(duì)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,即節(jié)點(diǎn)隊(duì)指向節(jié)點(diǎn)^的鏈路值為真值,用實(shí)線表示,并向節(jié)點(diǎn)^所在服務(wù)器發(fā)送消息。該消息為節(jié)點(diǎn)N7對(duì)節(jié)點(diǎn)N 6的消息。節(jié)點(diǎn)N7退出運(yùn)算。
[0101]請(qǐng)參見(jiàn)圖7,同樣,設(shè)定節(jié)點(diǎn)N8的節(jié)點(diǎn)值為I。節(jié)點(diǎn)N8指向節(jié)點(diǎn)N6的鏈路值為真值,用實(shí)線表示。并向節(jié)點(diǎn)乂所在服務(wù)器發(fā)送消息。該消息為節(jié)點(diǎn)N8對(duì)節(jié)點(diǎn)^的消息。節(jié)點(diǎn)N8退出運(yùn)算。
[0102]假設(shè),若經(jīng)判斷所有節(jié)點(diǎn)的計(jì)數(shù)值均不等于步驟值加一,則步驟值直接增加一。
[0103]進(jìn)一步的,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟,具體包括:
[0104]請(qǐng)參照?qǐng)D8,各服務(wù)器在對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟后,同步循環(huán)執(zhí)行下述步驟:
[0105]S2121:各服務(wù)器對(duì)參與運(yùn)算的節(jié)點(diǎn)逐一進(jìn)行循環(huán)操作;
[0106]S2122:服務(wù)器對(duì)參與運(yùn)算的所有節(jié)點(diǎn)進(jìn)行完畢一次循環(huán)操作后,步驟值增加一。
[0107]本申請(qǐng)實(shí)施例中,在啟動(dòng)步驟后,執(zhí)行循環(huán)步驟。需要指出的是,不僅上面的啟動(dòng)步驟,還包括這里的循環(huán)步驟,在各服務(wù)器之間是同步并行執(zhí)行的。在執(zhí)行循環(huán)步驟的過(guò)程中,每執(zhí)行一次循環(huán)步驟,步驟值遞次增加一。在一次循環(huán)步驟中,服務(wù)器對(duì)參與運(yùn)算的節(jié)點(diǎn)逐一進(jìn)行一次循環(huán)操作。
[0108]請(qǐng)參照?qǐng)D9,其中,循環(huán)操作為:
[0109]S2123:服務(wù)器針對(duì)當(dāng)前節(jié)點(diǎn),判斷是否收到相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的消息;
[0110]S2124:若收到,則將當(dāng)前節(jié)點(diǎn)指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)的鏈路值設(shè)定為真值;
[0111]S2125:計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù);
[0112]S2126:設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù);
[0113]S2127:判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一;
[0114]S2128:若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。
[0115]請(qǐng)參照?qǐng)D7,服務(wù)器對(duì)節(jié)點(diǎn)N1?節(jié)點(diǎn)N6執(zhí)行逐一進(jìn)行循環(huán)操作,因?yàn)楣?jié)點(diǎn)N7和節(jié)點(diǎn)隊(duì)已經(jīng)退出運(yùn)算。
[0116]在步驟值為I時(shí),即super step = L.
[0117]針對(duì)節(jié)點(diǎn)N1,經(jīng)判斷未收到相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)對(duì)當(dāng)前節(jié)點(diǎn)1^的消息。計(jì)算節(jié)點(diǎn)N1連接的、由節(jié)點(diǎn)N1指向相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)的鏈路值為非值的所有鏈路的條數(shù)。設(shè)定節(jié)點(diǎn)N1的計(jì)數(shù)值為所述的條數(shù),即數(shù)值3。判斷節(jié)AN1的計(jì)數(shù)值不等于步驟值加一。針對(duì)節(jié)點(diǎn)&的該次循環(huán)操作完成。同樣,節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4情形類似。
[0118]請(qǐng)參照?qǐng)D7,針對(duì)節(jié)點(diǎn)N6,節(jié)點(diǎn)N6收到相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 7、節(jié)點(diǎn)N8)對(duì)節(jié)點(diǎn)乂的消息,將節(jié)點(diǎn)N6指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N7、節(jié)點(diǎn)N8)的鏈路值設(shè)定為真值,此時(shí),請(qǐng)參見(jiàn)圖10。計(jì)算節(jié)點(diǎn)N6連接的、由節(jié)點(diǎn)N6指向相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N7、節(jié)點(diǎn)N8、節(jié)點(diǎn)N3、節(jié)點(diǎn)N5)鏈路值為非值的所有鏈路的條數(shù),即數(shù)值2。判斷節(jié)點(diǎn)乂的計(jì)數(shù)值等于步驟值加一。設(shè)定節(jié)點(diǎn)乂的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,即設(shè)定節(jié)點(diǎn)Nf^節(jié)點(diǎn)值為數(shù)值2。設(shè)定節(jié)點(diǎn)N6指向其連接的所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 7、節(jié)點(diǎn)N8、節(jié)點(diǎn)N3、節(jié)點(diǎn)N5)的鏈路值為真值,此時(shí),請(qǐng)參照?qǐng)D11。并向所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N7、節(jié)點(diǎn)N8、節(jié)點(diǎn)N3、節(jié)點(diǎn)N5)所在服務(wù)器發(fā)送消息。消息為節(jié)點(diǎn)N6對(duì)相鄰節(jié)點(diǎn)的消息。節(jié)點(diǎn)N6退出運(yùn)算。針對(duì)節(jié)AN6的該次循環(huán)操作完成。
[0119]請(qǐng)參照?qǐng)D7,針對(duì)節(jié)點(diǎn)N5,經(jīng)判斷未收到相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N6、節(jié)點(diǎn)N3)對(duì)節(jié)點(diǎn)乂的消息。計(jì)算節(jié)點(diǎn)乂連接的、由節(jié)點(diǎn)N 5指向相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 6、節(jié)點(diǎn)N3)的鏈路值為非值的所有鏈路的條數(shù)。設(shè)定節(jié)點(diǎn)N5的計(jì)數(shù)值為所述的條數(shù),即數(shù)值2。判斷節(jié)AN 5的計(jì)數(shù)值等于步驟值加一。設(shè)定節(jié)點(diǎn)N5的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,即設(shè)定節(jié)點(diǎn)&的節(jié)點(diǎn)值為數(shù)值
2。設(shè)定節(jié)點(diǎn)N5指向其連接的所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N6、節(jié)點(diǎn)N3)的鏈路值為真值,請(qǐng)參見(jiàn)圖
12。并向所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N6、節(jié)點(diǎn)N3)所在服務(wù)器發(fā)送消息。消息為節(jié)點(diǎn)乂對(duì)相鄰節(jié)點(diǎn)的消息。節(jié)點(diǎn)N5退出運(yùn)算。針對(duì)節(jié)點(diǎn)N 5的該次循環(huán)操作完成。
[0120]服務(wù)器對(duì)參與運(yùn)算的所有節(jié)點(diǎn)進(jìn)行完畢一次循環(huán)操作后,此時(shí)形成的拓?fù)浣Y(jié)構(gòu)圖請(qǐng)參見(jiàn)圖13,步驟值增加一。此時(shí),步驟值遞次增加1,即superstep = 2。然后,進(jìn)行下一次循環(huán)操作。
[0121]請(qǐng)參照?qǐng)D13,針對(duì)節(jié)點(diǎn)N1,經(jīng)判斷未收到相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)對(duì)當(dāng)前節(jié)點(diǎn)&的消息。計(jì)算節(jié)點(diǎn)N:連接的、由節(jié)點(diǎn)N:指向相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)的鏈路值為非值的所有鏈路的條數(shù)。設(shè)定節(jié)點(diǎn)N1的計(jì)數(shù)值為所述的條數(shù),即數(shù)值3。判斷節(jié)點(diǎn)N1的計(jì)數(shù)值等于步驟值加一。設(shè)定節(jié)點(diǎn)N i的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,即設(shè)定節(jié)點(diǎn)&的節(jié)點(diǎn)值為數(shù)值3。設(shè)定節(jié)點(diǎn)N i指向其連接的所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4)所在服務(wù)器發(fā)送消息。消息為節(jié)點(diǎn)N1對(duì)相鄰節(jié)點(diǎn)的消息。節(jié)點(diǎn)N1退出運(yùn)算。針對(duì)節(jié)點(diǎn)N ^勺該次循環(huán)操作完成。同樣,節(jié)點(diǎn)N2、節(jié)點(diǎn)N4情形類似。
[0122]請(qǐng)參照?qǐng)D13,針對(duì)節(jié)點(diǎn)N3,節(jié)點(diǎn)N3收到相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 5、節(jié)點(diǎn)N6)對(duì)節(jié)點(diǎn)隊(duì)的消息,將節(jié)點(diǎn)N3指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N 5、節(jié)點(diǎn)N6)的鏈路值設(shè)定為真值,此時(shí),請(qǐng)參見(jiàn)圖14。計(jì)算節(jié)點(diǎn)N3連接的、由節(jié)點(diǎn)N3指向相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N1、節(jié)點(diǎn)N2、節(jié)點(diǎn)N4、節(jié)點(diǎn)N6、節(jié)點(diǎn)N5、)鏈路值為非值的所有鏈路的條數(shù),即數(shù)值3。判斷節(jié)點(diǎn)隊(duì)的計(jì)數(shù)值等于步驟值加一。設(shè)定節(jié)點(diǎn)N3的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,即設(shè)定節(jié)點(diǎn)N3的節(jié)點(diǎn)值為數(shù)值3。設(shè)定節(jié)點(diǎn)N3指向其連接的所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N:、節(jié)點(diǎn)N2、節(jié)點(diǎn)N4、節(jié)點(diǎn)N6、節(jié)點(diǎn)N5)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)(節(jié)點(diǎn)N1、節(jié)點(diǎn)N2、節(jié)點(diǎn)N4、節(jié)點(diǎn)N6、節(jié)點(diǎn)N5)所在服務(wù)器發(fā)送消息。消息為節(jié)點(diǎn)N3對(duì)相鄰節(jié)點(diǎn)的消息。節(jié)點(diǎn)N3退出運(yùn)算。針對(duì)節(jié)點(diǎn)1^3的該次循環(huán)操作完成。
[0123]在本次循環(huán)操作中,算得節(jié)點(diǎn)N1、節(jié)點(diǎn)N2、節(jié)點(diǎn)N3、節(jié)點(diǎn)N4的節(jié)點(diǎn)值均為數(shù)值3。
[0124]進(jìn)一步的,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的結(jié)束步驟,具體包括:
[0125]各服務(wù)器判斷是否存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn);
[0126]若不存在,則根據(jù)節(jié)點(diǎn)值確定節(jié)點(diǎn)的級(jí)別。
[0127]在執(zhí)行完畢一次循環(huán)步驟后,進(jìn)行一次結(jié)束步驟的執(zhí)行,用以決定是否應(yīng)當(dāng)結(jié)束循環(huán)步驟。具體的,在superstep = O或I時(shí),存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn),不結(jié)束循環(huán)步驟。而在superstep = 2中,不存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn),結(jié)束循環(huán)步驟。此時(shí),根據(jù)節(jié)點(diǎn)值確定節(jié)點(diǎn)的級(jí)別。此處的節(jié)點(diǎn)值,即為上述核數(shù)值。
[0128]進(jìn)一步的,所述節(jié)點(diǎn)至少包括商戶標(biāo)識(shí)、商品標(biāo)識(shí)、用戶標(biāo)識(shí)中的一種;
[0129]所述鏈路至少包括資金鏈路、運(yùn)輸鏈路中的一種。
[0130]對(duì)于從商品交易系統(tǒng)的數(shù)據(jù)中查找一款熱銷的商品的應(yīng)用,假設(shè),節(jié)點(diǎn)N1為商戶標(biāo)識(shí),節(jié)點(diǎn)N2為商品標(biāo)識(shí)。根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征,可以描述為節(jié)點(diǎn)&對(duì)應(yīng)的商戶標(biāo)識(shí)(商戶)經(jīng)營(yíng)的節(jié)點(diǎn)N2對(duì)應(yīng)商品標(biāo)識(shí)(商品)熱銷。
[0131 ] 進(jìn)一步的,所述節(jié)點(diǎn)至少包括證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)、通訊設(shè)備標(biāo)識(shí)、嫌疑人標(biāo)識(shí)、金融賬戶標(biāo)識(shí)中的一種;
[0132]所述鏈路至少包括資金鏈路、通訊鏈路、記錄鏈路中的一種。
[0133]對(duì)于從多個(gè)案件主體的關(guān)聯(lián)圖中查找真實(shí)的嫌疑人的應(yīng)用,假設(shè),節(jié)點(diǎn)N1為嫌疑人標(biāo)識(shí),節(jié)點(diǎn)N2同樣為嫌疑人標(biāo)識(shí)。根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征,可以描述為節(jié)點(diǎn)N1對(duì)應(yīng)的嫌疑人標(biāo)識(shí)(嫌疑人)和節(jié)點(diǎn)N2對(duì)應(yīng)的嫌疑人(嫌疑人)共同參與了犯罪。
[0134]以上為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法,基于同樣的思路,本申請(qǐng)實(shí)施例還提供了一種數(shù)據(jù)處理的系統(tǒng)。
[0135]請(qǐng)參照?qǐng)D15,為本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)處理的系統(tǒng)的結(jié)構(gòu)示意圖。一種數(shù)據(jù)處理的系統(tǒng),由多個(gè)服務(wù)器按照整體同步并行計(jì)算模型構(gòu)成,包括:
[0136]服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;用于根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。
[0137]進(jìn)一步的,服務(wù)器包括主服務(wù)器和從服務(wù)器。
[0138]服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于:
[0139]主服務(wù)器將節(jié)點(diǎn)集中的各節(jié)點(diǎn)的識(shí)別碼生成哈希值,并根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器;
[0140]各服務(wù)器分別獲取到拆分后的拓?fù)浣Y(jié)構(gòu)圖,其中,拆分后的拓?fù)浣Y(jié)構(gòu)圖由分布于其上的節(jié)點(diǎn)集、相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路集構(gòu)成。
[0141]由多個(gè)服務(wù)器按照整體同步并行計(jì)算模型構(gòu)成,包括:
[0142]服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;用于根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。所述服務(wù)器包括主服務(wù)器和從服務(wù)器;
[0143]服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于:
[0144]主服務(wù)器將節(jié)點(diǎn)集中的各節(jié)點(diǎn)的識(shí)別碼生成哈希值,并根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器;
[0145]各服務(wù)器分別獲取到拆分后的拓?fù)浣Y(jié)構(gòu)圖,其中,拆分后的拓?fù)浣Y(jié)構(gòu)圖由分布于其上的節(jié)點(diǎn)集、相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路集構(gòu)成。
[0146]進(jìn)一步的,所述主服務(wù)器,用于根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體用于:
[0147]將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)均勻發(fā)布到主服務(wù)器和各從服務(wù)器。
[0148]進(jìn)一步的,所述主服務(wù)器,用于根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體用于:
[0149]將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)隨機(jī)發(fā)布到主服務(wù)器和各從服務(wù)器。
[0150]進(jìn)一步的,所述服務(wù)器,用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體用于:
[0151]初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖;
[0152]基于初始化后的拓?fù)浣Y(jié)構(gòu)圖,運(yùn)行設(shè)定的運(yùn)算模型,計(jì)算各節(jié)點(diǎn)的級(jí)別。
[0153]進(jìn)一步的,所述服務(wù)器,用于初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于:
[0154]設(shè)置所有節(jié)點(diǎn)的初始值為零值。
[0155]進(jìn)一步的,相鄰兩個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn);
[0156]所述服務(wù)器,用于初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于:
[0157]將相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路設(shè)置為由第一節(jié)點(diǎn)指向第二節(jié)點(diǎn)的鏈路和由第二節(jié)點(diǎn)指向第一節(jié)點(diǎn)的鏈路;
[0158]設(shè)置所述鏈路的初始值為非值。
[0159]進(jìn)一步的,所述服務(wù)器,用于計(jì)算各節(jié)點(diǎn)的級(jí)別,具體用于:
[0160]對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟、循環(huán)步驟和結(jié)束步驟,生成所有節(jié)點(diǎn)的級(jí)別。
[0161]進(jìn)一步的,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟,具體用于:
[0162]設(shè)定步驟值為零值;
[0163]對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作;
[0164]步驟值增加一;
[0165]其中,所述啟動(dòng)操作為:
[0166]計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù);
[0167]設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù);
[0168]判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一;
[0169]若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。
[0170]進(jìn)一步的,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟,具體用于:
[0171]對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟后,同步循環(huán)執(zhí)行下述步驟:
[0172]對(duì)參與運(yùn)算的節(jié)點(diǎn)逐一進(jìn)行循環(huán)操作;
[0173]對(duì)參與運(yùn)算的所有節(jié)點(diǎn)進(jìn)行完畢一次循環(huán)操作后,步驟值增加一;
[0174]其中,所述循環(huán)操作為:
[0175]服務(wù)器針對(duì)當(dāng)前節(jié)點(diǎn),判斷是否收到相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的消息;
[0176]若收到,則將當(dāng)前節(jié)點(diǎn)指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)的鏈路值設(shè)定為真值;
[0177]計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù);
[0178]設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù);
[0179]判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一;
[0180]若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。
[0181]進(jìn)一步的,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的結(jié)束步驟,具體用于:
[0182]判斷是否存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn);
[0183]若不存在,則根據(jù)節(jié)點(diǎn)值確定節(jié)點(diǎn)的級(jí)別。
[0184]進(jìn)一步的,所述節(jié)點(diǎn)至少包括商戶標(biāo)識(shí)、商品標(biāo)識(shí)、用戶標(biāo)識(shí)中的一種;
[0185]所述鏈路至少包括資金鏈路、運(yùn)輸鏈路中的一種。
[0186]進(jìn)一步的,所述節(jié)點(diǎn)至少包括證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)、通訊設(shè)備標(biāo)識(shí)、嫌疑人標(biāo)識(shí)、金融賬戶標(biāo)識(shí)中的一種;
[0187]所述鏈路至少包括資金鏈路、通訊鏈路、記錄鏈路中的一種。
[0188]在本申請(qǐng)實(shí)施例中,分布式系統(tǒng)中的多個(gè)服務(wù)器同步并行運(yùn)算,從而可以快速處理復(fù)雜的拓?fù)浣Y(jié)構(gòu)圖。在實(shí)際使用中,該方法可以快速處理節(jié)點(diǎn)和鏈路的數(shù)量級(jí)在百萬(wàn)以上拓?fù)浣Y(jié)構(gòu)圖。經(jīng)實(shí)驗(yàn)驗(yàn)證,該方法對(duì)于節(jié)點(diǎn)和鏈路在十億數(shù)量級(jí)的拓?fù)浣Y(jié)構(gòu)圖,可以在分鐘數(shù)量級(jí)上實(shí)現(xiàn)提取拓?fù)浣Y(jié)構(gòu)圖的主要特征。因此,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)處理的方法應(yīng)用范圍廣、執(zhí)行效率高。
[0189]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0190]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)值處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)值處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0191]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)值處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0192]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)值處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0193]在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0194]內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
[0195]計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)值結(jié)構(gòu)、程序的模塊或其他數(shù)值。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)值信號(hào)和載波。
[0196]還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0197]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0198]以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)處理的方法,其特征在于,所述方法應(yīng)用于由多個(gè)服務(wù)器構(gòu)成的分布式系統(tǒng)中,所述方法包括: 所述分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成; 各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別; 根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。2.如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器包括主服務(wù)器和從服務(wù)器; 分布式系統(tǒng)中的各服務(wù)器分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括: 主服務(wù)器將節(jié)點(diǎn)集中的各節(jié)點(diǎn)的識(shí)別碼生成哈希值,并根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器; 各服務(wù)器分別獲取到拆分后的拓?fù)浣Y(jié)構(gòu)圖,其中,拆分后的拓?fù)浣Y(jié)構(gòu)圖由分布于其上的節(jié)點(diǎn)集、相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路集構(gòu)成。3.如權(quán)利要求2所述的方法,其特征在于,根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體包括: 將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)均勻發(fā)布到主服務(wù)器和各從服務(wù)器。4.如權(quán)利要求2所述的方法,其特征在于,根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體包括: 將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)隨機(jī)發(fā)布到主服務(wù)器和各從服務(wù)器。5.如權(quán)利要求1所述的方法,其特征在于,各服務(wù)器處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體包括: 各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖; 基于初始化后的拓?fù)浣Y(jié)構(gòu)圖,運(yùn)行設(shè)定的運(yùn)算模型,計(jì)算各節(jié)點(diǎn)的級(jí)別。6.如權(quán)利要求5所述的方法,其特征在于,各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括: 各服務(wù)器設(shè)置所有節(jié)點(diǎn)的初始值為零值。7.如權(quán)利要求5所述的方法,其特征在于,相鄰兩個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn); 各服務(wù)器初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體包括: 各服務(wù)器將相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路設(shè)置為由第一節(jié)點(diǎn)指向第二節(jié)點(diǎn)的鏈路和由第二節(jié)點(diǎn)指向第一節(jié)點(diǎn)的鏈路; 設(shè)置所述鏈路的初始值為非值。8.如權(quán)利要求5所述的方法,其特征在于,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體包括: 各服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟、循環(huán)步驟和結(jié)束步驟,生成所有節(jié)點(diǎn)的級(jí)別。9.如權(quán)利要求8所述的方法,其特征在于,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟,具體包括: 各服務(wù)器設(shè)定步驟值為零值; 服務(wù)器對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作; 步驟值增加一; 其中,所述啟動(dòng)操作為: 計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù); 設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù); 判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一; 若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。10.如權(quán)利要求9所述的方法,其特征在于,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟,具體包括: 各服務(wù)器在對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟后,同步循環(huán)執(zhí)行下述步驟: 各服務(wù)器對(duì)參與運(yùn)算的節(jié)點(diǎn)逐一進(jìn)行循環(huán)操作; 服務(wù)器對(duì)參與運(yùn)算的所有節(jié)點(diǎn)進(jìn)行完畢一次循環(huán)操作后,步驟值增加一; 其中,所述循環(huán)操作為: 服務(wù)器針對(duì)當(dāng)前節(jié)點(diǎn),判斷是否收到相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的消息; 若收到,則將當(dāng)前節(jié)點(diǎn)指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)的鏈路值設(shè)定為真值; 計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù); 設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù); 判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一; 若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。11.如權(quán)利要求10所述的方法,其特征在于,服務(wù)器對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的結(jié)束步驟,具體包括: 各服務(wù)器判斷是否存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn); 若不存在,則根據(jù)節(jié)點(diǎn)值確定節(jié)點(diǎn)的級(jí)別。12.如權(quán)利要求1所述的方法,其特征在于,所述節(jié)點(diǎn)至少包括商戶標(biāo)識(shí)、商品標(biāo)識(shí)、用戶標(biāo)識(shí)中的一種; 所述鏈路至少包括資金鏈路、運(yùn)輸鏈路中的一種。13.如權(quán)利要求1所述的方法,其特征在于,所述節(jié)點(diǎn)至少包括證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)、通訊設(shè)備標(biāo)識(shí)、嫌疑人標(biāo)識(shí)、金融賬戶標(biāo)識(shí)中的一種; 所述鏈路至少包括資金鏈路、通訊鏈路、記錄鏈路中的一種。14.一種數(shù)據(jù)處理的系統(tǒng),其特征在于,由多個(gè)服務(wù)器按照整體同步并行計(jì)算模型構(gòu)成,包括: 服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,所述拓?fù)浣Y(jié)構(gòu)圖由節(jié)點(diǎn)集和鏈路集構(gòu)成;用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別;用于根據(jù)各節(jié)點(diǎn)的級(jí)別提取所述拓?fù)浣Y(jié)構(gòu)圖的主要特征。15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述服務(wù)器包括主服務(wù)器和從服務(wù)器; 服務(wù)器,用于分別獲取拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于: 主服務(wù)器將節(jié)點(diǎn)集中的各節(jié)點(diǎn)的識(shí)別碼生成哈希值,并根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器; 各服務(wù)器分別獲取到拆分后的拓?fù)浣Y(jié)構(gòu)圖,其中,拆分后的拓?fù)浣Y(jié)構(gòu)圖由分布于其上的節(jié)點(diǎn)集、相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路集構(gòu)成。16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述主服務(wù)器,用于根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體用于: 將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)均勻發(fā)布到主服務(wù)器和各從服務(wù)器。17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述主服務(wù)器,用于根據(jù)哈希值將各節(jié)點(diǎn)根據(jù)預(yù)設(shè)分布規(guī)則發(fā)布到主服務(wù)器和各從服務(wù)器,具體用于: 將各哈希值對(duì)應(yīng)的節(jié)點(diǎn)隨機(jī)發(fā)布到主服務(wù)器和各從服務(wù)器。18.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述服務(wù)器,用于處理拆分后的拓?fù)浣Y(jié)構(gòu)圖,計(jì)算各節(jié)點(diǎn)的級(jí)別,具體用于: 初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖; 基于初始化后的拓?fù)浣Y(jié)構(gòu)圖,運(yùn)行設(shè)定的運(yùn)算模型,計(jì)算各節(jié)點(diǎn)的級(jí)別。19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述服務(wù)器,用于初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于: 設(shè)置所有節(jié)點(diǎn)的初始值為零值。20.如權(quán)利要求18所述的系統(tǒng),其特征在于,相鄰兩個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn); 所述服務(wù)器,用于初始化拆分后的拓?fù)浣Y(jié)構(gòu)圖,具體用于: 將相鄰兩個(gè)節(jié)點(diǎn)之間的鏈路設(shè)置為由第一節(jié)點(diǎn)指向第二節(jié)點(diǎn)的鏈路和由第二節(jié)點(diǎn)指向第一節(jié)點(diǎn)的鏈路; 設(shè)置所述鏈路的初始值為非值。21.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述服務(wù)器,用于計(jì)算各節(jié)點(diǎn)的級(jí)別,具體用于: 對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟、循環(huán)步驟和結(jié)束步驟,生成所有節(jié)點(diǎn)的級(jí)別。22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟,具體用于: 設(shè)定步驟值為零值; 對(duì)獲取到的拆分后的拓?fù)浣Y(jié)構(gòu)圖中包含的所有節(jié)點(diǎn)逐一進(jìn)行啟動(dòng)操作; 步驟值增加一; 其中,所述啟動(dòng)操作為: 計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù); 設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù); 判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一; 若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的循環(huán)步驟,具體用于: 對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的啟動(dòng)步驟后,同步循環(huán)執(zhí)行下述步驟: 對(duì)參與運(yùn)算的節(jié)點(diǎn)逐一進(jìn)行循環(huán)操作; 對(duì)參與運(yùn)算的所有節(jié)點(diǎn)進(jìn)行完畢一次循環(huán)操作后,步驟值增加一; 其中,所述循環(huán)操作為: 服務(wù)器針對(duì)當(dāng)前節(jié)點(diǎn),判斷是否收到相鄰節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的消息; 若收到,則將當(dāng)前節(jié)點(diǎn)指向作為所述消息來(lái)源的相鄰節(jié)點(diǎn)的鏈路值設(shè)定為真值; 計(jì)算當(dāng)前節(jié)點(diǎn)連接的、由當(dāng)前節(jié)點(diǎn)指向相鄰節(jié)點(diǎn)的鏈路值為非值的所有鏈路的條數(shù); 設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為所述的條數(shù); 判斷當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值是否等于步驟值加一; 若是,則設(shè)定當(dāng)前節(jié)點(diǎn)的計(jì)數(shù)值為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)值,設(shè)定當(dāng)前節(jié)點(diǎn)指向其連接的所有相鄰節(jié)點(diǎn)的鏈路值為真值,并向所有相鄰節(jié)點(diǎn)所在服務(wù)器發(fā)送消息,所述消息為當(dāng)前節(jié)點(diǎn)對(duì)相鄰節(jié)點(diǎn)的消息,當(dāng)前節(jié)點(diǎn)退出運(yùn)算。24.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述服務(wù)器,用于對(duì)拆分后的拓?fù)浣Y(jié)構(gòu)圖執(zhí)行運(yùn)算模型中的結(jié)束步驟,具體用于: 判斷是否存在節(jié)點(diǎn)值等于零值的節(jié)點(diǎn); 若不存在,則根據(jù)節(jié)點(diǎn)值確定節(jié)點(diǎn)的級(jí)別。25.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)至少包括商戶標(biāo)識(shí)、商品標(biāo)識(shí)、用戶標(biāo)識(shí)中的一種; 所述鏈路至少包括資金鏈路、運(yùn)輸鏈路中的一種。26.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)至少包括證人標(biāo)識(shí)、證據(jù)標(biāo)識(shí)、通訊設(shè)備標(biāo)識(shí)、嫌疑人標(biāo)識(shí)、金融賬戶標(biāo)識(shí)中的一種; 所述鏈路至少包括資金鏈路、通訊鏈路、記錄鏈路中的一種。
【文檔編號(hào)】H04L29/08GK106034145SQ201510109319
【公開(kāi)日】2016年10月19日
【申請(qǐng)日】2015年3月12日
【發(fā)明人】毛仁歆
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1