用戶卡黑名單存儲、查詢方法
【專利摘要】本發(fā)明涉及一種用戶卡黑名單存儲、查詢方法,包括如下步驟:為每張用戶卡分配一個唯一對應(yīng)的索引號;站控下發(fā)黑名單表,黑名單表為一個按照索引號從小到大對應(yīng)存儲器偏移位地址空間存儲黑名單標志的有序表。終端機查詢某張卡是否是黑名單:首先,終端機讀取該卡的索引號,并計算該卡的索引號對應(yīng)的字節(jié)地址以及字節(jié)內(nèi)位地址,在黑名單表中檢索該卡的索引號對應(yīng)的字節(jié)地址以及字節(jié)內(nèi)位地址;如果該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲的標志為第一標志,則該卡不是黑名單,如果該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲的標志為第二標志,則該卡是黑名單。其可以大大節(jié)省存儲空間,提升終端黑名單容量,加快黑名單檢索速度。
【專利說明】
用戶卡黑名單存儲、查詢方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及用戶卡管理領(lǐng)域,特別涉及一種用戶卡黑名單存儲、查詢方法。【背景技術(shù)】
[0002]加氣站、加油站等(以下以加氣站為例)為了方便管理用戶加氣卡(以下稱用戶卡),針對掛失卡、異??ǖ冉⒘撕诿麊螜C制,即上述用戶卡到任何加氣站加氣,都將被自動判別為黑名單不準加氣。為保證加氣機在脫機時(與控制中心失去連接)也能正常識別黑名單,對于這一功能要求,目前控制系統(tǒng)軟件的傳統(tǒng)方法是:站控中心即控制中心把該卡卡號列入黑名單表,再將黑名單表下發(fā)至所有加氣機,加氣機將新增加的黑名單保存到該加氣機本地存儲器,以便脫機時本地查詢黑名單。
[0003]在這里,就涉及到加氣機對黑名單的存儲和查詢;由于1張卡的卡號是10個字節(jié)(1 字節(jié)=8位),故存儲1個卡號所需存儲空間為10*8=80位,浪費存儲空間;查詢某張卡是否是黑名單時,加氣機將卡號和存儲器內(nèi)有序黑名單表進行一一對比查找(折半查找),查詢消耗時間長。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的不足,提供一種用戶卡黑名單存儲、查詢方法,其可以大大節(jié)省存儲空間,提升終端黑名單容量,加快黑名單檢索速度。
[0005]本發(fā)明的目的是采用下述方案實現(xiàn)的:一種用戶卡黑名單存儲、查詢方法,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號;2)在終端機的存儲器所提供的地址空間中,設(shè)定一個索引號對應(yīng)一個存儲器偏移位地址空間;3)終端機接收控制中心發(fā)來的索引號以及索引號對應(yīng)的黑名單狀態(tài),根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,并按照索引號對應(yīng)的黑名單狀態(tài)在索引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表;如果索引號對應(yīng)的某卡不是黑名單, 則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志;4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志, 則該卡是黑名單。
[0006]另一種用戶卡黑名單存儲、查詢方法,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號; 2)在控制中心生成黑名單表:設(shè)定一個索引號對應(yīng)一個存儲器偏移位地址空間,在索引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表;如果索引號對應(yīng)的某卡不是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志;3)控制中心將步驟2)生成的黑名單表下發(fā)給終端機,終端機接收控制中心下發(fā)的黑名單表,并存儲。[〇〇〇7] 4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志,則該卡是黑名單。[〇〇〇8]黑名單表為一個按照索引號從小到大對應(yīng)存儲器偏移位地址空間存儲設(shè)定標志的有序表。
[0009]第一標志為0,第二標志為1。
[0010]索引號對應(yīng)的存儲器偏移位地址空間的檢索公式為:Addr.Byte = StartAddr + INDEX/8; Addr.Bi t = INDEX%8;其中,Addr.Byte為字節(jié)地址,Addr.Bi t為字節(jié)內(nèi)位偏移地址,StartAddr為黑名單表在存儲器起始地址,INDEX為索引號。
[0011]步驟1)中所述索引號從〇開始,發(fā)卡機構(gòu)每發(fā)一張卡,索引號就增加1,使每張卡都將一一對應(yīng)從0到發(fā)卡數(shù)范圍內(nèi)的唯一一個索引號。
[0012]所述終端機為加氣機或加油機。[〇〇13]本發(fā)明具有的優(yōu)點是:(1)因為本發(fā)明一個索引號對應(yīng)存儲單元的一個位,且一一對應(yīng)。在每個位存儲設(shè)定的標志(0或1),如果索引號對應(yīng)的某卡不是黑名單,則該卡的索引號對應(yīng)的位存儲第一標志如0,如果索引號對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的位存儲第二標志如1,采用上述方法,使得本發(fā)明減少黑名單的存儲空間,提升終端黑名單容量。比如,以200K字節(jié)作為黑名單存儲空間大小為例,傳統(tǒng)方法存儲黑名單個數(shù)Num01d=200,000/10=20,00個;本發(fā)明方法存儲黑名單個數(shù)NumNeW=200,000*8=1,600,000個;意味著,同樣的存儲空間下,本發(fā)明方法存儲的黑名單個數(shù)是傳統(tǒng)方法的80倍。
[0014](2)本發(fā)明減少檢索時間,加快黑名單檢索速度,傳統(tǒng)方法中,黑名單表為一個按照卡號從小到大排列的有序表,一般采用折半查找,時間復雜度為O(logn);本發(fā)明方法查詢黑名單時,直接根據(jù)卡索引號(INDEX)按照上述計算公式得出,時間復雜度僅為0(1)?!靖綀D說明】
[0015]圖1為本發(fā)明實施例一的方法流程圖;圖2為本發(fā)明的黑名單表的示意圖。【具體實施方式】
[0016]實施例一參見圖1,一種用戶卡黑名單存儲、查詢方法,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號。 本實施例在用戶卡卡信息上建立4個字節(jié)字段作為卡ID索引號(INDEX),索引號從0開始,發(fā)卡機構(gòu)每發(fā)一張卡,索引號就增加1,使每張卡都將一一對應(yīng)從〇到發(fā)卡數(shù)范圍內(nèi)的唯一一個索引號。
[0017]2)在終端機的存儲器所提供的地址空間中,設(shè)定一個索引號對應(yīng)一個存儲器偏移位地址空間。本方法用于加氣站時,所述終端機為加氣機??刂浦行臑榧託庹菊究刂行?。本方法用于加油站時,終端機為加油機??刂浦行臑榧佑驼菊究刂行?。
[0018]3)終端機接收控制中心發(fā)來的索引號以及索引號對應(yīng)的黑名單狀態(tài),根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,并按照索引號對應(yīng)的黑名單狀態(tài)在索引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表。本發(fā)明的終端機上黑名單表不再是存儲卡號。黑名單表為一個按照索引號從小到大的有序表,其索引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定標志。如果索引號對應(yīng)的某卡不是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志;第一標志為0,第二標志為1。
[0019]4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志,則該卡是黑名單。
[0020]索引號對應(yīng)的存儲器偏移位地址空間的檢索公式為:Addr.Byte = StartAddr + INDEX/8; Addr.Bi t = INDEX%8;其中,Addr.Byte為字節(jié)地址,Addr.Bi t為字節(jié)內(nèi)位偏移地址,StartAddr為黑名單表在存儲器起始地址,INDEX為索引號。例如:如圖2所示,黑名單表起始地址為100,黑名單卡索引號為12(其他卡都不是黑名單),則該卡黑名單在加氣機檢索地址:字節(jié)地址=100+12/8=101;字節(jié)內(nèi)位偏移地址=12%8=4。
[0021]實施例二一種用戶卡黑名單存儲、查詢方法,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號。 本實施例在用戶卡卡信息上建立4個字節(jié)字段作為卡ID索引號(INDEX),索引號從0開始,發(fā)卡機構(gòu)每發(fā)一張卡,索引號就增加1,使每張卡都將一一對應(yīng)從〇到發(fā)卡數(shù)范圍內(nèi)的唯一一個索引號。[〇〇22]2)在控制中心生成黑名單表:設(shè)定一個索引號對應(yīng)一個存儲器偏移位地址空間,在索引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表;如果索引號對應(yīng)的某卡不是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志。 本發(fā)明的終端機上黑名單表不再是存儲卡號。黑名單表為一個按照索引號從小到大對應(yīng)存儲器偏移位地址空間存儲設(shè)定標志的有序表。[〇〇23]3 )控制中心將步驟2 )生成的黑名單表下發(fā)給終端機,終端機接收控制中心下發(fā)的黑名單表,并存儲。所述終端機為加氣機或加油機。
[0024]4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志, 則該卡是黑名單。第一標志為0,第二標志為1。
[0025]索引號對應(yīng)的存儲器偏移位地址空間的檢索公式為:Addr.Byte = StartAddr + INDEX/8; Addr.Bi t = INDEX%8;其中,Addr.Byte為字節(jié)地址,Addr.Bi t為字節(jié)內(nèi)位偏移地址,StartAddr為黑名單表在存儲器起始地址,INDEX為索引號。例如:如圖2所示,黑名單表起始地址為100,黑名單卡索引號為12(其他卡都不是黑名單),則該卡黑名單在加氣機檢索地址:字節(jié)地址=100+12/8=101;字節(jié)內(nèi)位偏移地址=12%8=4。
[0026]實施例二與實施例一區(qū)別在于黑名單表的生成位置不同,實施例一的黑名單表是在終端機上生成的,實施例二的黑名單表是在控制中心上生成的。[〇〇27]本發(fā)明和傳統(tǒng)方法對比:存儲量對比:以200K字節(jié)作為黑名單存儲空間大小為例,傳統(tǒng)方法存儲黑名單個數(shù) Num01d=200,000/10=20,000個;本發(fā)明方法存儲黑名單個數(shù) NumNew=200,000*8=1,600,000 個;意味著,同樣的存儲空間下,本發(fā)明方法存儲的黑名單個數(shù)是傳統(tǒng)方法的80倍。
[0028]查詢時間復雜度:傳統(tǒng)方法中,黑名單表為一個按照卡號從小到大排列的有序表, 一般采用折半查找,時間復雜度為0(l〇gn);本發(fā)明方法查詢黑名單時,直接根據(jù)卡索引號 (INDEX)按照上述計算公式得出,時間復雜度僅為0( 1)。
[0029]以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,本發(fā)明的方法不僅僅適用于加氣、加油用戶卡領(lǐng)域,也可以用于其他領(lǐng)域的用戶卡黑名單的存儲、查詢,如水卡、 電卡等。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【主權(quán)項】
1.一種用戶卡黑名單存儲、查詢方法,其特征在于,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號;2)在終端機的存儲器所提供的地址空間中,設(shè)定一個索引號對應(yīng)一個存儲器偏移位地 址空間;3)終端機接收控制中心發(fā)來的索引號以及索引號對應(yīng)的黑名單狀態(tài),根據(jù)索引號檢索 索引號對應(yīng)的存儲器偏移位地址空間,并按照索引號對應(yīng)的黑名單狀態(tài)在索引號對應(yīng)的存 儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表;如果索引號對應(yīng)的某卡不是黑名單, 則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號對應(yīng)的某卡是黑 名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志;4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢 索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲 的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志, 則該卡是黑名單。2.—種用戶卡黑名單存儲、查詢方法,其特征在于,包括如下步驟:1)為每張用戶卡分配一個唯一對應(yīng)的索引號,每張用戶卡中存儲各自對應(yīng)的索引號;2)在控制中心生成黑名單表:設(shè)定一個索引號對應(yīng)一個存儲器偏移位地址空間,在索 引號對應(yīng)的存儲器偏移位地址空間存儲設(shè)定的標志,生成黑名單表;如果索引號對應(yīng)的某 卡不是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第一標志,如果索引號 對應(yīng)的某卡是黑名單,則該卡的索引號對應(yīng)的存儲器偏移位地址空間存儲第二標志;3)控制中心將步驟2)生成的黑名單表下發(fā)給終端機,終端機接收控制中心下發(fā)的黑名 單表,并存儲;4)終端機查詢某張卡是否是黑名單時,首先,終端機讀取該卡的索引號,根據(jù)索引號檢 索索引號對應(yīng)的存儲器偏移位地址空間,判斷該索引號對應(yīng)的存儲器偏移位地址空間存儲 的標志是第一標志還是第二標志;如果是第一標志,則該卡不是黑名單,如果是第二標志, 則該卡是黑名單。3.根據(jù)權(quán)利要求1或2所述的用戶卡黑名單存儲、查詢方法,其特征在于:黑名單表為一 個按照索引號從小到大對應(yīng)存儲器偏移位地址空間存儲設(shè)定標志的有序表。4.根據(jù)權(quán)利要求1或2所述的用戶卡黑名單存儲、查詢方法,其特征在于:第一標志為0, 第二標志為1。5.根據(jù)權(quán)利要求1或2所述的用戶卡黑名單存儲、查詢方法,其特征在于:索引號對應(yīng)的 存儲器偏移位地址空間的檢索公式為:Addr.Byte = StartAddr + INDEX/8;Addr.Bit = INDEX%8;其中,Addr.By te為字節(jié)地址,Addr.Bi t為字節(jié)內(nèi)位偏移地址,StartAddr為黑名單 表在存儲器起始地址,INDEX為索引號。6.根據(jù)權(quán)利要求1或2所述的用戶卡黑名單存儲、查詢方法,其特征在于:步驟1)中所述 索引號從〇開始,發(fā)卡機構(gòu)每發(fā)一張卡,索引號就增加1,使每張卡都將一一對應(yīng)從〇到發(fā)卡 數(shù)范圍內(nèi)的唯一一個索引號。7.根據(jù)權(quán)利要求1或2所述的用戶卡黑名單存儲、查詢方法,其特征在于:所述終端機為 加氣機或加油機。
【文檔編號】G06F17/30GK106021520SQ201610350141
【公開日】2016年10月12日
【申請日】2016年5月24日
【發(fā)明人】王波, 沈陽, 謝興友, 喬偉, 周樂亮
【申請人】重慶通暢無憂信息技術(shù)有限公司