新四季網

一種快速查找投注組合的方法與流程

2023-05-30 08:50:11


本發明涉及競猜投注管理技術領域,特別涉及一種快速查找投注組合的方法。



背景技術:

在競猜投注過程中,當需要在現有投注組合中查找出當前投注組合是否已經存在,現有技術採用平衡二叉樹原理進行搜索,即需要從根節點搜索到葉節點,若以現有投注組合為152萬的話,採用以下計算式便很容易得出平均需要進行20次比較的結果。計算式為log21520000=20,才能在現有投注組合中找到當前投注組合。

而由於平衡二叉樹的數學特性,其左右兩個子樹的高度差的絕對值不超過1,當不符合上述條件時,便需要進行數據平衡,而在數據平衡時則需要大量的數據移動。由此,一來耽誤查找效率,二來由於增加了運算量以及存儲地址,也就無形中增加了成本。



技術實現要素:

有鑑於此,本發明的主要目的在於,提供一種快速查找投注組合的方法,包括步驟:

A1、逐一確定現有各投注組合的串關數以及獎池;

A2、對於各投注組合,將其獎池依據其串關數進行累加,計算得出現有各投注組合的標識;

A3、將所述所有現有各投注組合的標識進行排列,分別針對各標識,逐一列出計算出該標識的所有投注組合的鍊表,以組成查找序列;

B、將本次所選獎池依據本次所選串關數進行累加,計算當前投注組合的標識;

C、依據所述當前投注組合的標識,在步驟A3所建立的查找序列中查找出當前投注組合。

由上,將當前投注組合以串關數和獎池為計算依據進行標識,將相同計算結果的不同投注組合進行排序,從而可以在數量巨大的投注組合中快速查找出當前投注組合。

可選的,步驟A2包括:

預先設定一組彼此不相同的質數primeq;

計算得出現有各投注組合的標識包括:式中hash_value_p表示當前投注組合的標識;m_pool_idq表示當前投注組合中各獎池的序號,1≤q≤e;e表示當前投注組合的串關數,primeq表示質數的序號。

由上,採用不同質數與獎池乘積,再結合串關數,可以儘量多的區分出不同的投注組合,以分別進行標識,從而可以在數量巨大的投注組合中快速查找出當前投注組合。

可選的,當所述q取值為1時,對應的質數prime1=1。

由上,噹噹前投注組合為單關時,在計算過程中不需要考慮質數因素,從而可以在一定程度上降低運算量,從而進一步提高查找速度。

可選的,所述獎池和所述各投注組合的標識分別按一定數值取模。

可選的,所述獎池按1024取模,所述各投注組合的標識按1000000取模。

由上,通過取模的方式限定計算數量,雖然在一定程度上降低了查找速度,但是取模後可以降低存儲成本,以百萬投注組合為例,一個投注組合的存儲地址佔用8位元組,總共僅需佔用8M存儲空間。

可選的,噹噹前投注組合併不在步驟A3所建立的查找序列時,依據當前投注組合的標識,將當前投注組合添加於該標識的查找序列。

可選的,步驟C後包括,查找出當前投注組合後,利用計數器對統計數據進行累加更新。

附圖說明

圖1為本發明的流程圖。

具體實施方式

本發明所述一種實時快速查找投注組合的方法,在現有已銷售的所有投注組合中快速查找出當前所銷售的投注組合。

在投注競彩領域中,包含獎池以及投注組合等概念,所述獎池表示任意包含兩個以上投注選項的投註標的,如一場A球隊對陣B球隊比賽,競猜其比賽結果(勝、平、負),另一場為C球隊對陣D球隊的比賽,競猜其比賽結果,那麼上述兩場比賽分別為兩個獎池。各獎池用一個唯一整型數值pool_id進行標識,pool_id按在系統中生成的時間順序以步長1遞增。

投注組合表示多個獎池進行串關投注。本實施例中,最少為1個獎池,例如僅競猜一場比賽,該類投注組合為單關;最多為8個獎池,例如同時競猜8場比賽,該類投注組合為8串1。

如圖1所示為本發明的流程圖,包括以下步驟:

S10:依據當前的投注組合,計算出代表其標識hash_value。

一般來說,競彩預售期約1周,同時在售獎池數約為1000個。基於此,對在售的獎池按1024取模,得出m_pool_idn,作為各個獎池的序號分配給各個獎池,n表示當前獎池的序號,n取值為1~1024。

上述分配方式可以儘可能的保證每一個序號代表唯一獎池,降低同一序號代表多個獎池的可能性,從而在後期計算時可以提高查找速度,具體原理將在後文詳述。不難理解,當投注選項更多時,以足球比賽為例,假如增加競猜比分、總進球數、角球數甚至紅黃牌數等等獎池時,還可對獎池按2048、4096等取模。

獲取當前的投注組合各個獎池的序號,即獲取各個獎池的m_pool_idn,由於本實施例中的投注組合最多為8串1,基於此,預先設置8個彼此不同的質數,分別命名為prime1、prime2、……、prime8。實際使用中,還可依據串關數的增加,對應增加質數的數量,即prime1、prime2、……、primem,m表述質數的序號。

依據當前投注組合的串關數,計算得出當前投注組合的標識hash_value_p。

假如當前投注組合僅為單關,則hash_value_p=m_pool_id1*prime1;

假如當前投注組合為2串1,則hash_value_p=m_pool_id1*prime1+m_pool_id2*prime2;

依上述規律類推,當前投注組合為8串1時,則hash_value_p=m_pool_id1*prime1+m_pool_id2*prime2+……+m_pool_id8*prime8。

上述公式可以總結為:式中m_pool_idq表示當前投注組合中各獎池的序號(1≤q≤e),e表示當前投注組合串關數的最大值,也可以理解為串關數,primeq表示質數的序號。依據公式原理不難理解,q實質為串關數。

較佳的,還可對上述公式進行優化,當q取值為1時,對應的質數prime1=1。由於在單關時,僅包含一個獎池,故無需設置質數,由此可以較少運算量。由上述公式可以看出,設置多個彼此不同的質數的目的在於,可以降低所計算出的hash_value_p數值相同的可能性。使同一hash_value_p對應更少的投注組合。

對所計算出的hash_value_p按100萬取模,得出hash_value。這樣做的目的在於,使計算結果儘可能的對應至不同的投注組合,從而提高查找當前投注組合的速度。不難理解,當獎池的數量增多以後,hash_value_p可以按千萬乃至億取模。

S20:建立所有已有投注組合的查找序列。

如下表1所示,針對已有的hash_value,按100萬取模,並建立查找序列,分別將hash_value記為序號0~999999,並將不同的hash_value存儲於不同的地址,地址分別表示為地址1~地址999999,即表1中的縱向列表。

下面以hash_value值序號為1為例進行說明,從表1給出的例子可見,hash_value值序號為1時,其投注組合鍊表中共包括4組「投注組合KEY」,分別表示為①、②、③、④,即表1中序號為1所對應的橫向列表。其中,「投注組合KEY」表示現存共有4種投注組合計算出來的hash_value值相同,包括各投注組合的串關數(單關、2串1、3串1、……、8串1)、各關的獎池以及計數器;「NEXT_LINK」表示序號為1的序列中下一節點(投注組合KEY)的地址。

表1

另外,在每組「投注組合KEY」中,還包括:「投注組合Data」(未圖示),表示各投注組合中各串關獎池的投注選項。例如A球隊對陣B球隊,競猜A球隊勝時,投注組合Data表示為3,A球隊平時表示為1,A球隊負時表示為0。

S30:依據步驟S20的查找序列,查找出當前投注組合,或將當前投注組合添加至所述查找序列。

將步驟10所計算的當前投注組合的hash_value值,在步驟20所建立的序列(表1)中縱向查找,以查找出該計算結果(hash_value值)是否已存在。例如步驟10所計算出當前投注組合的hash_value值序號為1,則進一步在在步驟20所建立的序列(表1)中找到hash_value值為1的投注組合鍊表,在其中查找是否已含有當前投注組合。

具體方法可包括:首先確定串關數。例如當前投注組合為2串1,則需查看hash_value值序號為1的投注組合鍊表中是否已有2串1的組合,若有,進一步確認在2串1的組合中是否與當前投注組合的獎池相同,若相同,則表示在hash_value值為1的鍊表中已有當前投注組合,在該投注組合的計數器中累加。

反之,噹噹前投注組合與表1中hash_value值序號為1的投注組合鍊表中現有的投注組合均不相同時(串關數、獎池數任一不相同即為與現有投注組合不同),將前投注組合作為「⑤投注組合KEY」,添加於hash_value值序號為1的投注組合鍊表中,並將計數器加1。

本發明根據投注組合數據的特點,計算出一個與全部投注組合大小相當,分布均勻的查找序列,利用hash_value作為投注組合數據鍊表的首地址,通過較少的數據比對便可迅速查找出當前投注組合,與現有技術需要在百萬級投注組合中通過逐一比較直至找到當前投注組合的技術方案相比,大大減少了比較次數,由其針對從巨大數據節點進行數據查找,提高了查找效率。

附表2是依據本發明所提供的方法,針對某一日銷售的所有投注組合(152萬個)進行查找的統計情況。

第一列「各hash_value對應投注組合鍊表的長度」表示計算出相同hash_value值的不同投注組合的數量,由表2可見,在100萬個hash_value值中,計算出相同hash_value值較多出現的是1~5種投注組合,計算出相同hash_value值最多為12種投注組合,且進出現一次。可見,採用本發明方法,在將各投注組合組建查詢列表時,排列較為分散,從而便於快速比較查詢。

第二列「出現次數」表示各hash_value對應投注組合鍊表的長度所出現的次數。

第三列「節點數」表示投注組合的數量,顯然,第三列為第一列與第二列的乘積。

第四列「在各hash_value下的平均比較次數」表示在已確認hash_value值後,從表1所示已有的查找序列中查找出當前投注組合所統計出的平均比較次數。

第五列「在各hash_value下的比較次數」表示在在已確認hash_value值後,從表1所示已有的查找序列中查找出當前投注組合的比較次數,即第五列為第三列與第四列的乘積。

第六列「平均比較次數」表示針對152萬個投注組合,找出當前投注組合所用的平均比較的次數。

從表中可見,在152萬個投注組合中找出當前投注組合平均僅需要不到2次比較即可,而極端情況下,最大比較次數僅為12。相比於現有技術少則20次的比較,提高查找速度至少達到10倍。

並且,本實施例中,建立如表1所示的投注組合的查找序列所佔存儲空間極小,以百萬投注組合為例,一個投注組合的存儲地址佔用8位元組,總共需佔用8M存儲空間。即便將投注組合以億計,總共需佔用800M存儲空間,在實現快速查找的前提下,可以節省存儲成本。

表2

以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀