我拋一個(gè)公司最近的技術(shù)難點(diǎn)播演,各位幫忙想想冀瓦。 兩個(gè)隊(duì)列,一個(gè)隊(duì)列100萬(wàn)數(shù)據(jù)左右写烤,一個(gè)隊(duì)列10萬(wàn)數(shù)據(jù)左右翼闽,這兩個(gè)隊(duì)列都在動(dòng)態(tài)補(bǔ)充和消耗。 第一個(gè)隊(duì)列需要多維排序洲炊,取出最優(yōu)的與第二個(gè)隊(duì)列的數(shù)據(jù)一起處理感局, 處理完成后如果沒有用光,還會(huì)回到第一個(gè)隊(duì)列暂衡。 希望能夠盡可能取出更優(yōu)的和速度較快蓝厌。[北京-陰空]
北京-陰空(-) 15:51:14
這是個(gè)投標(biāo)的場(chǎng)景。 如果標(biāo)的資產(chǎn)是1萬(wàn)古徒,但是第一個(gè)隊(duì)列里有100萬(wàn),就會(huì)用1萬(wàn)读恃,還生99萬(wàn)繼續(xù)回到隊(duì)列隧膘。
深圳-平凡(-) 15:51:42
你們是做優(yōu)先匹配嗎?
北京-陰空(-) 15:51:49
我本來(lái)想到用多維樹來(lái)解決寺惫,但是疹吃,因?yàn)殛?duì)列一直變化, 用樹就不合適了西雀。我們根據(jù)這個(gè)隊(duì)列去向存管銀行發(fā)請(qǐng)求萨驶。
北京-哇咔咔(-) 15:53:52
似乎 應(yīng)該從隊(duì)列2拿出數(shù)據(jù),從隊(duì)列1取頭數(shù)據(jù)艇肴,算完了腔呜,再把隊(duì)列1的數(shù)據(jù)放回去;重復(fù)這個(gè)過(guò)程
深圳-平凡(-) 15:54:43
問(wèn)題就在第一個(gè)隊(duì)列的動(dòng)態(tài)多維排序里
北京-哇咔咔(-) 15:54:55
從隊(duì)列1拿出數(shù)據(jù)再悼,再?gòu)年?duì)列2遍歷數(shù)據(jù)并計(jì)算核畴,就不對(duì)了。因?yàn)橛?jì)算完一條隊(duì)列2的數(shù)據(jù)以后冲九,這時(shí)候從隊(duì)列1拿到的數(shù)據(jù)可能就不是最優(yōu)值了
北京-哇咔咔(-) 15:55:24
不過(guò)為什么要有隊(duì)列2
北京-陰空(-) 15:55:27
會(huì)導(dǎo)致匹配速度過(guò)慢吧谤草。 每次都要等處理完了重新排序是吧。
北京-陰空(-) 15:55:43
相當(dāng)于隊(duì)列一是錢,二是資產(chǎn)丑孩。
成都-梅小西(-) 15:56:16
隊(duì)列1是資金冀宴,隊(duì)列2是標(biāo),對(duì)不對(duì)
深圳-平凡(-) 15:56:20
第一個(gè)隊(duì)列是用戶買你們的產(chǎn)品温学,第二個(gè)隊(duì)列是產(chǎn)品資金對(duì)接到真實(shí)債權(quán)略贮?
北京-陰空(-) 15:56:20
對(duì)的
成都-梅小西(-) 15:56:28
就是隊(duì)列1的資金去投隊(duì)列2
成都-梅小西(-) 15:56:36
還要最優(yōu)組合
成都-梅小西(-) 15:56:47
這個(gè)東西涉及并發(fā)啊,要注意安全, 錢要是出問(wèn)題了就麻煩
北京-陰空(-) 15:56:47
恩枫浙,多維排序∨偎啵現(xiàn)在的解決方案是。 都放到數(shù)據(jù)庫(kù)里箩帚。真友。。order by多個(gè)字段紧帕。盔然。
深圳-平凡(-) 15:57:54
多維排序是P2P的匹配規(guī)則,比如監(jiān)管要求的不能期限錯(cuò)配是嗜,公司的利率差最優(yōu)值這些
北京-陰空(-) 15:58:30
比如愈案,a.b 兩個(gè)用戶來(lái)公司投資。 這兩個(gè)人投資的產(chǎn)品分別是預(yù)期8,9的利率鹅搪,(第一個(gè)維度)站绪,然后每個(gè)人投資的錢只有一部分投到了標(biāo)的上(第二個(gè)維度),每個(gè)人的錢到期的時(shí)間不同(第三個(gè)維度),現(xiàn)在希望根據(jù)上面幾個(gè)維度丽柿,把這些錢投到恢准,資產(chǎn)端過(guò)來(lái)的標(biāo)的上。就是兩個(gè)隊(duì)列出來(lái)的數(shù)據(jù)match下甫题。 然后做出來(lái)馁筐。 第一個(gè)隊(duì)列的數(shù)據(jù),如果還有錢剩下來(lái)還要回去坠非。
北京-Easy哥(-) 15:59:53
a b就是那2個(gè)隊(duì)列敏沉? 一個(gè)是決策 一個(gè)資產(chǎn)轉(zhuǎn)移
北京-陰空(-) 16:00:01
我想到用多維樹做。 但是每次回來(lái)修改都需要鎖住樹炎码。盟迟。。還是 隊(duì)列是 <源 利率 投的錢 到期時(shí)間> 另一個(gè)隊(duì)列是 <標(biāo)>, 決策 的部分你加個(gè)時(shí)窗就好了潦闲,不要是實(shí)時(shí)的, 這個(gè)意思队萤? 比如每5s排一次序,排完之后矫钓,轉(zhuǎn)移一次資產(chǎn), 然后 產(chǎn)出 2個(gè)的結(jié)合要尔?
北京-哇咔咔(-) 16:00:18
ignite舍杜、disruptor、hazelcast可以研究一下
北京-陰空(-) 16:01:04
基本喜神的意思吧, 對(duì)的
北京-Easy哥(-) 16:01:57
標(biāo)有自己的屬性么赵辕?比如 錢 到期時(shí)間 利率既绩?
北京-陰空(-) 16:02:20
標(biāo)的問(wèn)題不用考慮。
北京-陰空(-) 16:02:46
恩还惠,easy個(gè)說(shuō)的大概就是那樣饲握。 就是這個(gè)隊(duì)列里都是對(duì)象,排序根據(jù)這個(gè)對(duì)象的多個(gè)屬性蚕键。
成都-梅小西(-) 16:02:53
他的意思是救欧,按照各種維度排序后去投標(biāo)。比如按照錢多錢少排序锣光,然后投標(biāo)笆怠,還有剩下的,就按到期時(shí)間排序誊爹,再去投標(biāo)
北京-Easy哥(-) 16:03:01
感覺 根據(jù)這個(gè)幾個(gè)緯度做倒排索引 然后 做個(gè)交集就出來(lái)了
北京-陰空(-) 16:03:19
@成都-梅小西
是根據(jù)多個(gè)維度排好序了蹬刷。。投標(biāo)频丘。
北京-Easy哥(-) 16:03:33
反過(guò)來(lái)做就好做很多
成都-梅小西(-) 16:03:53
哦办成,你是說(shuō)排序都搞好了?
成都-梅小西(-) 16:04:04
每個(gè)維度排序都搞好了搂漠?
北京-陰空(-) 16:04:08
沒有迂卢。。排序是個(gè)麻煩的地方桐汤。主要是不能等太久
北京-陰空(-) 16:05:01
因?yàn)檫@個(gè)排序涉及到了用戶的投資是否能夠接近預(yù)期年利率而克。
北京-Easy哥(-) 16:05:02
用標(biāo)的特性去過(guò)濾投標(biāo)的隊(duì)列
北京-陰空(-) 16:06:04
@深圳-平凡 現(xiàn)在這個(gè)內(nèi)存的方案還沒有可以執(zhí)行的。 因?yàn)橛脩粢恢痹谕顿Y惊科。 匹配玩后的資產(chǎn)還可能回來(lái)。鎖的話頻率太高了
北京-喜(-) 16:06:06
鎖的這個(gè)事情亮钦,改成定期排期吧馆截,不然你根本沒法處理,沒有快照現(xiàn)場(chǎng)蜂莉,一直是動(dòng)態(tài)的
北京-陰空(-) 16:06:40
定期排期蜡娶,按照次優(yōu)處理是吧, 定期排期是不是也得鎖一下。
成都-梅小西(-) 16:07:55
你打算作為job定期運(yùn)行么映穗?
北京-陰空(-) 16:07:56
@北京-Easy哥 我猜測(cè)是擔(dān)心如果這么做窖张。 導(dǎo)致某些用戶的收益率夠了,有些用戶的不夠蚁滋。
北京-喜(-) 16:08:20
還有個(gè)點(diǎn)是:你是想把錢都投出去宿接,還是想把標(biāo)的都賣出去( 不太懂業(yè)務(wù)赘淮,用詞不太準(zhǔn))
北京-陰空(-) 16:09:06
標(biāo)的都賣出去,因?yàn)橐话沐X都比標(biāo)的多睦霎。(目前來(lái)說(shuō))然后梢卸,還要讓用戶的預(yù)期收益率盡可能達(dá)標(biāo)。
北京-喜(-) 16:09:06
改決策模型, 也就是說(shuō), 你的排序權(quán)重里副女,其實(shí)還有一列, 根據(jù)用戶的已投和回報(bào)率蛤高,來(lái)計(jì)算下一次該如何投的, 這一次給他比如2萬(wàn)10%匯報(bào)的,用戶期望9%碑幅。下一次可能可以給他一個(gè)8.5%的, 歷史投的情況戴陡,也是決策因子
天津-coffee(-) 16:09:11
我們匹配就沒這么多維度
深圳-平凡(-) 16:09:15
完全實(shí)時(shí)是做不到的,受影響的數(shù)據(jù)時(shí)刻在變化沟涨。換成三個(gè)隊(duì)列可以嗎恤批?
一個(gè)排序
一個(gè)排序后的數(shù)據(jù)
一個(gè)處理排序后的數(shù)據(jù)
北京-陰空(-) 16:10:50
北京-喜(332069183) 16:10:53
當(dāng)然, C端看到的和B端資產(chǎn) 不是一個(gè)維度的
北京-陰空(799036779) 16:11:19
北京-陰空(-) 16:11:48
第一幅圖左側(cè)的利率是不一定的开皿。 所有的標(biāo)的都會(huì)優(yōu)先給資產(chǎn)去匹配, 之后才考慮是否展示到前臺(tái)篮昧。
北京-喜(-) 16:11:51
用戶維度是按筆算的赋荆?每一筆里的歷史投遞情況,需要作為下一次的決策依據(jù)的懊昨。 你看下決策樹
北京-陰空(-) 16:12:14
一個(gè)產(chǎn)品一個(gè)用戶窄潭。 是一條數(shù)據(jù)
廣州-小護(hù)士<-> 16:12:56
沒懂業(yè)務(wù)背景, 主要是業(yè)務(wù)背景沒介紹清楚,突然來(lái)一段動(dòng)態(tài)匹配問(wèn)題酵颁,不好搞
北京-喜(-) 16:14:01
廣州-小護(hù)士<-> 16:14:21
感覺這個(gè)不是決策樹問(wèn)題, 決策樹只是做用戶分群
北京-喜(-) 16:14:30
比如相親相了很多之后嫉你,后來(lái)決策可能變,比如去他媽的躏惋,長(zhǎng)相不看了
北京-陰空(-) 16:14:59
@北京-喜 我也是你這個(gè)想法幽污,打算把所有的數(shù)據(jù)壓倒這個(gè)樹里, 然后從中取數(shù)據(jù)去匹配簿姨。
北京-喜(-) 16:15:00
算法我是渣渣, 我只是告訴他 歷史因子是要加進(jìn)來(lái)的
北京-陰空(-) 16:15:22
可是距误。 就是修改太頻繁。扁位。每次修改涉及到了樹結(jié)構(gòu)的變化准潭。。
北京-喜(-) 16:15:34
改成定期的, 只要最后能達(dá)標(biāo)即可, 實(shí)時(shí)是需要計(jì)算能力的
北京-陰空(-) 16:16:08
定期的也去給樹上鎖嗎
北京-喜(-) 16:16:29
需要優(yōu)化你的投遞窗口, 排一次序域仇,并行投刑然。 投完之后,在排下一次暇务,新排序泼掠,使用以前的投遞結(jié)果, 即便用戶不改怔软,你的模型也是變化的
北京-陰空(-) 16:18:30
定期的時(shí)候是要上鎖是吧。 你說(shuō)的優(yōu)化投遞窗口有什么辦法嗎
北京-喜(-) 16:18:44
排和投 都需要改成并行的, 并行計(jì)算武鲁、逐級(jí)歸并, 提高效率 這不是鎖的問(wèn)題
成都-梅小西(-) 16:20:04
讓你跑定期跑job爽雄,不需要鎖, 要實(shí)時(shí)的話,難度大
北京-喜(-) 16:21:22
排的時(shí)候不投沐鼠,或者分批次投, 這個(gè)看你是并行之后挚瘟,100W數(shù)據(jù)歸并完畢,再投. 還是說(shuō)分段饲梭,比如分成128段并行排序乘盖,排到比如4段 就停止, 然后依次投, 第一段投完之后, 第1段如果有剩余憔涉,繼續(xù)排订框。 期間并行投第2端
北京-陰空(-) 16:22:44
廣州-小護(hù)士<-> 16:23:22
用戶投的錢兜叨,然后呢, 這個(gè)東西對(duì)應(yīng)用戶每一筆錢還是多筆錢穿扳?
北京-陰空(-) 16:24:23
@北京-喜 這里沒懂,沒有排序的情況下就分成128段了嗎
北京-喜(-) 16:24:50
對(duì)
北京-陰空(-) 16:24:54
我們也是擔(dān)心并行的話算錯(cuò)了国旷。矛物。
北京-喜(-) 16:25:07
你要看你的目標(biāo)是什么
北京-陰空(-) 16:25:09
不是排好序了再分堆嗎。跪但。
北京-喜(-) 16:25:16
這個(gè)目標(biāo)是多次達(dá)成的 還是 單次達(dá)成的
北京-陰空(-) 16:25:23
多次
北京-喜(-) 16:25:34
那就是最終是對(duì)的就可以了
北京-陰空(-) 16:25:48
恩履羞,最終盡可能優(yōu)
北京-喜(-) 16:25:50
你可以加一個(gè)風(fēng)險(xiǎn)區(qū)間控制, 不斷優(yōu)化這個(gè)流程
北京-陰空(-) 16:27:40
有個(gè)地方?jīng)]懂, 數(shù)據(jù)一開始分成128段屡久。 那么都不能隨便從某一段取吧忆首。都不知道哪段的是更優(yōu)的。
北京-喜(-) 16:27:51
單次沒有最優(yōu)解, 比如也可以按照排序 把錢分幾個(gè)檔被环,依據(jù)檔分標(biāo)的, 我的意思是糙及,比如有100W用戶, 50W一個(gè)批次投筛欢,50W一個(gè)批次投, 第一個(gè)50W整體 比如執(zhí)行6個(gè)周期搞定, 這個(gè)你得提前排好序吧浸锨。第二個(gè)50W比如執(zhí)行10個(gè)周期搞定
北京-陰空(-) 16:30:59
我懂了你的意思了。 在這五十萬(wàn)內(nèi), 追求最優(yōu)是吧悴能。
北京-喜(-) 16:31:09
對(duì)的, 但是你要有風(fēng)控
北京-陰空(-) 16:31:23
我靠消别。 牛逼啊
北京-喜(-) 16:31:30
就是標(biāo)的端能不能滿足 用戶端的訴求
北京-陰空(-) 16:31:35
明白
北京-喜(-) 16:31:36
這個(gè)你們應(yīng)該是有的吧 是題外的
北京-陰空(-) 16:31:49
別到最后判导。宪哩。就這五十萬(wàn)的人投了最好的了砖瞧。拒啰。相當(dāng)于把原本資產(chǎn)端的排序擴(kuò)展到了標(biāo)的端
北京-喜(-) 16:32:16
如果你嫌排序慢, 可以并行排, 如果你嫌投遞慢 可以并行投, 單機(jī)搞不定荞怒,就分布式排轴或,分布式投尝哆。 分布式排 就是大數(shù)據(jù)計(jì)算.
北京-陰空(-) 16:35:19
有兩個(gè)問(wèn)題。 第一個(gè)是投完的數(shù)據(jù)夫凸,是不是直接放到最后的隊(duì)位浑劳,接著排就好。第二個(gè)問(wèn)題是夭拌,這樣還需要定時(shí)嗎
北京-喜(-) 16:35:53
段位是你定的, 段不足的話魔熏,可以補(bǔ)位, 也可以不補(bǔ), 比如新用戶的數(shù)據(jù),補(bǔ)到第一個(gè)段, 假如段都滿了鸽扁,可以加段, 第3個(gè)段產(chǎn)生了, 后面再優(yōu)化蒜绽,讓每個(gè)段內(nèi)的數(shù)據(jù)分布,盡可能均勻, 比如你的排序桶现,其實(shí)是計(jì)算 以及 權(quán)重累計(jì)的過(guò)程, 后續(xù)讓每個(gè)段內(nèi)的權(quán)重分布趨勢(shì) 基本一致就可以了, 然后在把標(biāo)的 也分成3段, 第一段錢躲雅,用第一段標(biāo)的,或者標(biāo)的的1/3. 你也可以把用戶的每筆投骡和,切成幾段相赁,比如用戶投的5W,8%回報(bào):你切成1W6%慰于,1W7%钮科,1W8%,1W9%东囚,1W10%
北京-陰空(-) 16:42:48
我感覺這個(gè)就太復(fù)雜了跺嗽。 我們公司不一定能承受這個(gè)方法了
北京-喜(-) 16:43:30
這個(gè)是逐漸的,后面為了最求利潤(rùn)页藻,可能要切, 早期的話桨嫁,是先滿足業(yè)務(wù)
北京-陰空(-) 16:43:54
假定已經(jīng)按照預(yù)料的段位分好了。 用戶資產(chǎn)的隊(duì)列有10段份帐。 第一段第一個(gè)去投璃吧,還有剩余這個(gè)時(shí)候要回到隊(duì)列。這個(gè)時(shí)候要重排序嗎
北京-喜(-) 16:44:40
要的
北京-陰空(-) 16:44:53
就是每一個(gè)重拍一次是吧废境。
北京-喜(-) 16:44:54
因?yàn)橥哆f結(jié)果畜挨,是下一次計(jì)算/排序的因子, 會(huì)影響對(duì)標(biāo)的的選擇
北京-陰空(-) 16:45:53
北京-喜(-) 16:46:18
因?yàn)槟惆延脩舻腻X拆了嘛
北京-陰空(-) 16:46:20
我一開始的想法是這樣。 把隊(duì)列的數(shù)據(jù)壓倒這個(gè)樹里面噩凹。
北京-喜(-) 16:47:01
不用, 每個(gè)計(jì)算項(xiàng)巴元, 你給個(gè)權(quán)重, 最后加權(quán)出來(lái) 整體按權(quán)重排即可
北京-陰空(-) 16:47:38
這個(gè)權(quán)重給不了好像
北京-喜(-) 16:47:49
權(quán)重值早期粗,后續(xù)不斷優(yōu)化, 比如過(guò)期
北京-陰空(-) 16:48:10
這個(gè)好像公司給不出來(lái)這個(gè)東西驮宴,缺少對(duì)應(yīng)的數(shù)據(jù)支持
北京-喜(-) 16:48:21
早期一刀切, 后期可能差幾天 都要算進(jìn)去, 你的if else 逮刨,也是一刀切,也不是精細(xì)的堵泽。 本質(zhì)上還不如權(quán)重
北京-陰空(-) 16:49:57
我記得之前我提過(guò)一個(gè)思路修己,就是算個(gè)分出來(lái)恢总。 然后將多維度變成單維度排序。應(yīng)該是類似你說(shuō)的權(quán)重了
北京-喜(-) 16:50:49
對(duì)的, 你代碼寫出來(lái)的 和權(quán)重一樣的, 比如一個(gè)分支走if +1, 走else+0
北京-陰空(-) 16:51:20
對(duì), 你模擬下你最簡(jiǎn)單的場(chǎng)景, 就是這個(gè). 但是在往后睬愤,權(quán)重能做的事情片仿,可不是if else能搞定的
北京-陰空(-) 16:52:06
上次說(shuō)分的情況。 沒有推動(dòng)尤辱。砂豌。不知道是我人微言輕還是思路上不好。 我說(shuō)下我理解的你的方法哈光督。兩邊隊(duì)列都分割成同樣的比例奸鸯。 然后可以并行排序和并行投遞。 有新增的數(shù)據(jù)或者可以繼續(xù)使用的數(shù)據(jù)可帽,先考慮回到原有的段娄涩,超額的話,新增段映跟。不能新增吧蓄拣。。新增的話兩邊不匹配了努隙。球恤。
北京-喜(-) 16:54:19
這個(gè)看標(biāo)的 質(zhì)量和配比了
北京-陰空(-) 16:54:39
不是打算兩邊切割成同樣數(shù)量嗎
北京-喜(-) 16:54:44
會(huì)不會(huì)導(dǎo)致 資金饑餓,不達(dá)標(biāo), 做的越細(xì)荸镊,結(jié)果越好. 我原來(lái)的思路是 咽斧,假如資金是3段, 那么針對(duì)具體的標(biāo)的躬存,每個(gè)段投標(biāo)的時(shí)候张惹,只允許它最多投到1/3。 剩下的2/3預(yù)留給另外2個(gè)段.
北京-陰空(-) 16:57:05
北京-喜(-) 16:59:28
這個(gè)和你整體當(dāng)做一段 問(wèn)題是一樣的, 分段是提高程序效率,不是質(zhì)量
, 所以盾剩,會(huì)希望把整體排序來(lái)保證優(yōu)先投遞質(zhì)量雷激,需要額外細(xì)化對(duì)標(biāo)的做權(quán)重, 對(duì)錢做權(quán)重2個(gè)之間如果匹配告私,做個(gè)規(guī)則
北京-陰空(-) 17:00:30
滿足規(guī)則成交是吧
北京-喜(-) 17:00:32
各自的權(quán)重模型和匹配規(guī)則屎暇,未來(lái)都是不斷優(yōu)化的
北京-陰空(-) 17:01:54
那有可能b投了一個(gè)后,因?yàn)椴粷M足規(guī)則驻粟。 只有a段在一直投標(biāo)了是吧根悼。如果每個(gè)段都沒有滿足。
北京-陰空(-) 17:01:58
在降低標(biāo)準(zhǔn)。番挺。
北京-喜(-) 17:02:17
這個(gè)就是饑餓的情況, 要么給每個(gè)段都留點(diǎn)餅, 這個(gè)是指的,對(duì)于一個(gè)標(biāo)的屯掖,不允許1個(gè)段吃完, 要么就是把標(biāo)的分一分段玄柏,每個(gè)段內(nèi)的質(zhì)量基本差不多, 然后段對(duì)段去投, 段內(nèi)的質(zhì)量,你需要量化的贴铜,某個(gè)回報(bào)率明顯缺失(被投完)粪摘,是需要補(bǔ)的,或者重排
北京-陰空(-) 17:06:19
兩個(gè)隊(duì)列分段都盡量保持質(zhì)量均勻嗎
北京-陰空(-) 17:08:53
有個(gè)地方我覺得是有問(wèn)題的绍坝。 分詞a徘意,b,c三段,三段分別投遞轩褐。 然后a段普遍其實(shí)優(yōu)先級(jí)都大于b如果每個(gè)段投遞的都是相當(dāng)數(shù)量的椎咧,肯定是不行。 所以要有規(guī)則把介。b段不滿足的話勤讽,就只允許a段投遞,之后再降低規(guī)則拗踢。 但是假如你降低規(guī)則后脚牍,有新的滿足高級(jí)規(guī)則的進(jìn)來(lái)了。 這個(gè)就有可能一直沉著了巢墅。
北京-喜(-) 17:09:57
北京-陰空(-) 17:15:44
好多了诸狭。 喜神的字和我風(fēng)格好像啊。君纫。
北京-喜(-) 17:16:16
新數(shù)據(jù)來(lái)驯遇,是計(jì)算,然后加入資源池, 段區(qū)對(duì)接業(yè)務(wù),資源不足蓄髓,跟中間的管理區(qū)申請(qǐng)
北京-陰空(-) 17:17:06
兩個(gè)隊(duì)列都這么處理妹懒。 然后分值一樣的區(qū)間進(jìn)行撮合交易是吧。
北京-喜(-) 17:17:33
分值這個(gè) 按照業(yè)務(wù)了, 不一定是一對(duì)一, 同一個(gè)標(biāo)的 基本是什么分值是固定的, 錢不是双吆,因?yàn)殄X被拆了, 當(dāng)然標(biāo)的也可以變啊眨唬, 比如同比下,標(biāo)的可以是2個(gè)分值,
北京-陰空(-) 17:19:09
恩好乐,因?yàn)槲覔?dān)心段二整體都比段一差匾竿, 結(jié)果段二查的部分給投光了,所以考慮分值相近的部分去撮合蔚万。
北京-喜(-) 17:19:27
所以優(yōu)化, 不斷優(yōu)化
北京-陰空(-) 17:20:24
優(yōu)化即指打分的模型岭妖,也指兩個(gè)隊(duì)列的撮合規(guī)則是吧。
北京-喜(-) 17:21:32
對(duì), 新資源是不是可以入段,取決于段內(nèi)現(xiàn)狀, 出現(xiàn)空缺昵慌,去向資源層申請(qǐng)假夺,或者資源層監(jiān)控, 有資源就補(bǔ)位
北京-陰空(-) 17:22:29
喜神非常感謝。 感覺有了一個(gè)整體思路斋攀。 以我對(duì)公司的了解已卷。。這么復(fù)雜的方式公司肯定不會(huì)采用的淳蔼。侧蘸。。鹉梨。我自己嘗試練習(xí)下.
北京-喜(-) 17:22:34
資源沒有讳癌。質(zhì)量斷層之后,可能需要重新分, 只有重新分的時(shí)候存皂,才需要鎖資源晌坤。單純的增量入隊(duì)入段,是不需要的
北京-陰空(-) 17:23:35
資源層監(jiān)控是指起個(gè)job去監(jiān)控每個(gè)段位數(shù)據(jù)的減少是嗎
北京-喜(-) 17:23:47
是的
北京-陰空(-) 17:24:49
北京-喜(-) 17:25:06
是的, 錢端泡仗,計(jì)算過(guò)程多, 沒被投一次 肯定要重新計(jì)算一次
北京-陰空(-) 17:25:38
我自己抽空寫一下,寫成功了的話猜憎,拿數(shù)據(jù)跑一下娩怎,如果真的性能比數(shù)據(jù)庫(kù)好,領(lǐng)導(dǎo)應(yīng)該會(huì)采用胰柑。
北京-喜(-) 17:25:49
數(shù)據(jù)庫(kù)是另外一個(gè)事
北京-陰空(-) 17:25:55
是的截亦,放回去需要重算。重新放回是放回資源層柬讨,還是放回哪里
北京-喜(-) 17:27:40
這個(gè)看你的入隊(duì)策略, 允不允許插隊(duì)崩瓤、還是天維度做完即可, 這里也是可以細(xì)化的
北京-陰空(-) 17:30:10
感覺每個(gè)段里面不同分值區(qū)間和另一個(gè)隊(duì)列里的進(jìn)行匹配好麻煩。踩官。既要考慮盡可能讓高分去投高分却桶。。又要避免高分的一直停著沒有投出去蔗牡。颖系。
北京-喜(-) 17:30:54
可以只投一部分, 下一次他的分值就變了, 這個(gè)是前面提到的 是不是預(yù)拆:6% 7% 8% 各來(lái)1W, 這樣是參差不齊都有
北京-陰空(-) 17:32:13
你這個(gè)方案把錢也拆了是吧。
北京-喜(-) 17:32:21
我沒拆錢, 這個(gè)是分層 和 匹配, 整體還比較粗 實(shí)現(xiàn)不了細(xì)粒度的投遞質(zhì)量
北京-喜(-) 17:33:26
這個(gè)重分配的那個(gè)辩越,假如這個(gè)是錢, 回來(lái)的時(shí)候嘁扼,你可以讓他重新排隊(duì),就是4那個(gè)線黔攒。 也可以插隊(duì)趁啸,就是5那個(gè)線, 對(duì)于錢强缘,假如現(xiàn)在得分是80, 你可以拆成 70 80 90不傅。 假如是70 旅掂,你可以拆成60 70 80。 假如是90访娶,你可以拆成80 90 100, 80的話商虐,就是好壞都有,70的話就是2個(gè)壞的1個(gè)中的震肮。 90的話就是1個(gè)中的2個(gè)好的
北京-陰空(-) 17:36:59
北京-喜(-) 17:37:22
會(huì)的, 這個(gè)時(shí)候標(biāo)的端 要補(bǔ)標(biāo)的, 沒有可用標(biāo)的,就要重新分配, 重新分配還不行留拾,那你只能接受了
北京-陰空(-) 17:38:06
整體重排嗎
北京-喜(-) 17:38:11
這個(gè)情況就是資產(chǎn)端與標(biāo)的端 對(duì)不齊. 不用, 改分段規(guī)則即可, 從中間往右側(cè)去的時(shí)候戳晌,你可以理解成有個(gè)shard方式
北京-陰空(-) 17:39:11
原本段一匹配段一改成 段二匹配段一這種是嗎
北京-喜(-) 17:39:24
這個(gè)不好, 最好是自治
北京-喜(-) 17:39:59
在這里解決, 以這個(gè)框?yàn)槔? 右側(cè)段內(nèi)的標(biāo)的,都是左側(cè)資源內(nèi)的痴柔,是關(guān)聯(lián)的, 所以你可以清空右側(cè)段, 重新分段, 按照分值 和 分值內(nèi)的標(biāo)的數(shù)目沦偎,決定如何分.
北京-陰空(-) 17:41:23
懂了應(yīng)該均勻分布。 如果是正好匹配剩余幾個(gè)的情況呢? 比如咳蔚,資產(chǎn)端段1 100分的有10個(gè)豪嚎, 標(biāo)的的段1有9個(gè)。
北京-喜(-) 17:43:00
理論是看你的積分規(guī)則谈火,你怎么積分的侈询,基本決定標(biāo)的能不能被投, 這個(gè)不是啊, 是錢數(shù)啊, 不是這個(gè)數(shù)量
北京-陰空(-) 17:43:34
我是說(shuō)最后撮合的時(shí)候。
北京-喜(-) 17:43:35
是錢的total值, 你也可以作為積分的計(jì)算因子加進(jìn)來(lái), 積分 -> 分值, 名詞對(duì)齊下, 你也可以引入批次的概念糯耍。 一個(gè)批次投完之后(段內(nèi)完成一次)扔字,重新計(jì)算標(biāo)的分值,來(lái)解決標(biāo)的和資產(chǎn)的對(duì)齊關(guān)系
北京-陰空(-) 17:49:07
每個(gè)分?jǐn)?shù)段的標(biāo)的是一定會(huì)小于資產(chǎn)的温技。
北京-喜(-) 17:50:03
那你們不是負(fù)債了么, 還是有資產(chǎn)端的一部分優(yōu)勢(shì)產(chǎn)品革为,內(nèi)部投,沒開放給用戶
北京-陰空(-) 17:51:19
資產(chǎn)就是用戶投資來(lái)的錢舵鳞。 資產(chǎn)是債權(quán)震檩。債權(quán)一般是少于資金的。
北京-喜(-) 17:52:01
那你需要拿到一個(gè)數(shù)值, 這個(gè)負(fù)債會(huì)影響 資產(chǎn)和標(biāo)的如何對(duì)接, 所以需要有個(gè)量化的數(shù)字 ,然后整體的計(jì)算和分配模型蜓堕,一直保持在負(fù)債區(qū)間內(nèi)抛虏,那么就是個(gè)好策略
廣州-小護(hù)士<-> 18:25:03
今天沒看懂喜神的分享
北京-喜(-) 18:34:52
簡(jiǎn)單說(shuō):源數(shù)據(jù) -> 預(yù)計(jì)算 -> 實(shí)際用 ,分了這三層(每一層都有自己的資源池套才,資源不足嘉蕾,跟上一級(jí)要), 這樣資源就是隔離的了, 極端最壞情況下,場(chǎng)景會(huì)回退到不分層霜旧,只有1個(gè)層的情況下的效率. 可以拿多級(jí)緩存來(lái)比對(duì)错忱。每層緩存放的是不同維度的數(shù)據(jù)儡率,上一級(jí)緩存沒有數(shù)據(jù)的時(shí)候,跟下一級(jí)要以清,都沒有儿普,最后從DB拿。
最壞情況是掷倔,緩存全失效眉孩,需要重新從DB向各個(gè)緩存預(yù)熱(計(jì)算、處理勒葱、刷存儲(chǔ))浪汪。除了這個(gè)情況,其他都算健康的凛虽。
所以比只有一個(gè)數(shù)據(jù)源(DB)效率要好很多(分層隔離死遭、獨(dú)立計(jì)算、獨(dú)立邏輯)
北京-陰空(-) 18:53:31
喜神凯旋。呀潭。你這樣解讀感覺太震撼了。至非。钠署。剛才拿外賣的時(shí)候有個(gè)想法。能不能荒椭,從計(jì)算層拿固定數(shù)額的到使用層谐鼎。 先從頭部取。 然后從標(biāo)的隊(duì)列去對(duì)應(yīng)的數(shù)量趣惠。 這樣可以減少撮合時(shí)候的不匹配该面。
北京-喜(-) 18:56:31
可以的。流量信卡、流速都可以控制, 質(zhì)量隔缀、匹配規(guī)則 也可以, 無(wú)非是哪里做厚哪里做薄的事
北京-陰空(-) 18:58:37
再問(wèn)個(gè)low的問(wèn)題。這樣比數(shù)據(jù)庫(kù)order by, 好在哪里呢
北京-喜(-) 19:00:40
資源隔離的, 資源不隔離傍菇,就有競(jìng)爭(zhēng)問(wèn)題猾瘸,你的這個(gè)場(chǎng)景
北京-陰空(-) 19:03:31
公司打算單線程做。 所以丢习,可能沒有考慮競(jìng)爭(zhēng)問(wèn)題
北京-喜(-) 19:04:04
因?yàn)樵獢?shù)據(jù)不是元數(shù)據(jù), 源數(shù)據(jù)不是元數(shù)據(jù), 無(wú)法直接用, 要排序 計(jì)算 分配
北京-陰空(-) 19:04:54
我們現(xiàn)在的模型是可以的牵触。 我理解排序計(jì)算分配是為了更加高效。 我懂了你的意思了, 源數(shù)據(jù)是不能直接使用咐低。沒有排序揽思。 所以,他們加入到數(shù)據(jù)庫(kù) , 通過(guò)數(shù)據(jù)庫(kù)orderby了
北京-喜(-) 19:05:36
是的, 所以你需要保護(hù)他
北京-陰空(-) 19:06:08
所以见擦,直接用數(shù)據(jù)庫(kù)缺點(diǎn)是什么?
北京-喜(-) 19:06:44
慢是一方面, 取決于排序復(fù)雜度和存量數(shù)據(jù)大小, 另外還有個(gè)問(wèn)題是風(fēng)險(xiǎn), DB掛了的話钉汗,上層其實(shí)可以有次優(yōu)解, 把自己的資源池耗空 能抗一會(huì)業(yè)務(wù), 不從DB補(bǔ)位標(biāo)的而已, 另外架構(gòu)上 建議讀寫分離羹令,這個(gè)有空再說(shuō).
北京-喜(-) 19:10:50
你的排序和計(jì)算 都是讀邏輯, 但是放在源庫(kù)上了, 源庫(kù)做寫業(yè)務(wù)比較好,比如實(shí)際的投的結(jié)果和新標(biāo)的入庫(kù)
北京-陰空(-) 19:10:43
明白
北京-喜(-) 19:13:53
大數(shù)據(jù)計(jì)算 好像有個(gè)模型并行和數(shù)據(jù)并行损痰?
北京-陰空(-) 19:13:59
是的福侈。
北京-喜(-) 19:14:15
模型并行那個(gè)適合你的場(chǎng)景好像. 思路是類似, 三層模型. 并行 隔離.