一種積分發(fā)放的方法、系統(tǒng)和裝置的制造方法
【專利摘要】本發(fā)明提供一種積分發(fā)放的方法,包括:接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求;驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。并且,還提供了與該方法對(duì)應(yīng)的系統(tǒng)和裝置。解決在用戶積分發(fā)放過(guò)程中出現(xiàn)的數(shù)據(jù)安全問(wèn)題、重復(fù)發(fā)放問(wèn)題、同步發(fā)放效率問(wèn)題,避免用戶積分的多發(fā)及漏發(fā)的情況,提高服務(wù)端的高可用性,保證數(shù)據(jù)傳輸安全。
【專利說(shuō)明】
一種積分發(fā)放的方法、系統(tǒng)和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及積分發(fā)放技術(shù)領(lǐng)域,尤其涉及一種積分發(fā)放的方法、系統(tǒng)和裝置。
【背景技術(shù)】
[0002]目前大多數(shù)用戶積分發(fā)放方式都分為積分發(fā)放服務(wù)端接口與客戶端接口調(diào)用模式或直接調(diào)用本地接口的模式。服務(wù)端提供對(duì)外的用戶積分發(fā)放的處理接口即用戶積分發(fā)放服務(wù),客戶端通過(guò)引用服務(wù)端接口在發(fā)放過(guò)程中向服務(wù)端發(fā)送請(qǐng)求,如果服務(wù)端在內(nèi)網(wǎng)而客戶端在外網(wǎng)由于存在防火墻或網(wǎng)絡(luò)不通,可能會(huì)造成服務(wù)端無(wú)法接收到客戶端請(qǐng)求的問(wèn)題,導(dǎo)致用戶積分發(fā)放失敗,同時(shí)由于這種用戶積分發(fā)放方式是和其他業(yè)務(wù)串行同步進(jìn)行的,則可能導(dǎo)致依賴的業(yè)務(wù)整體的失敗,且無(wú)法進(jìn)行補(bǔ)償發(fā)送。這種用戶積分發(fā)放方式由于需要調(diào)用服務(wù)端或本地接口所以對(duì)接口本身依賴較深,代碼耦合較為嚴(yán)重,一旦服務(wù)接口發(fā)生變化則客戶端或調(diào)用方也需要一起修改代碼,增加了工作量及維護(hù)成本。用戶積分發(fā)放過(guò)程中還可能出現(xiàn)由于用戶連續(xù)點(diǎn)擊客戶端驗(yàn)證不及時(shí)造成的同一個(gè)訂單多次進(jìn)行積分發(fā)放的情況。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于提供一種積分發(fā)放的方法、系統(tǒng)和裝置,旨在提供一種安全高效的用戶積分發(fā)放方式,解決在用戶積分發(fā)放過(guò)程中出現(xiàn)的數(shù)據(jù)安全問(wèn)題、重復(fù)發(fā)放問(wèn)題、同步發(fā)放效率問(wèn)題,解決事務(wù)并發(fā)帶來(lái)的數(shù)據(jù)一致性問(wèn)題,數(shù)據(jù)一致性指的是一個(gè)訂單只能發(fā)放一次積分,避免用戶積分的多發(fā)及漏發(fā)的情況,提高服務(wù)端的高可用性,保證數(shù)據(jù)傳輸安全。
[0004]為達(dá)到上述目的,本發(fā)明一方面提供了一種積分發(fā)放的方法,包括:
[0005]接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求;
[0006]驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。
[0007]進(jìn)一步的,該方法還包括:
[0008]對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。
[0009]進(jìn)一步的,所述加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,包括:
[0010]對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密;
[0011]其中,加密方式包括但不限于MD5、sha-l、RIPEMD或Haval。
[0012]進(jìn)一步的,所述驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性之前,還包括:
[0013]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0014]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0015]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。
[0016]進(jìn)一步的,所述生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),包括:
[0017]識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息;
[0018]生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。
[0019]進(jìn)一步的,所述對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則,包括:
[0020]查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí)后,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí),向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。
[0021]進(jìn)一步的,所述對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,包括:
[0022]實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù),記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求,對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記。
[0023]進(jìn)一步的,所述對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,包括:
[0024]查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。
[0025]本發(fā)明另一方面提供了一種積分發(fā)放的系統(tǒng),包括:
[0026]發(fā)送端,用于接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求;
[0027]處理端,用于驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。
[0028]進(jìn)一步的,該系統(tǒng)還包括:
[0029]接收端,用于對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。
[°03°]進(jìn)一步的,所述發(fā)送端包括:
[0031 ]加密單元,用于對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密;其中,加密方式包括但不限于MD5、sha-l、RIPEMD或Haval。
[0032]進(jìn)一步的,所述處理端還包括:
[0033]第一驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0034]第二驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0035]第三驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。
[0036]進(jìn)一步的,所述發(fā)送端還包括:
[0037]識(shí)別單元,用于識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息;
[0038]生成單元,用于生成基于所述識(shí)別單元識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。
[0039]進(jìn)一步的,所述處理端包括:
[0040]第一查找單元,用于查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí);
[0041]存儲(chǔ)單元,用于在查找單元查找到數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí)后,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí);
[0042]匹配單元,用于向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。
[0043]進(jìn)一步的,所述處理端還包括:
[0044]監(jiān)聽(tīng)單元,用于實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù);
[0045]記錄單元,用于記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求;
[0046]補(bǔ)償單元,用于對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記。
[0047]進(jìn)一步的,所述處理端還包括:
[0048]第二查找單元,用于查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。
[0049]本發(fā)明另一方面還提供了一種積分發(fā)放的裝置,包括所述的系統(tǒng)。
[0050]本發(fā)明通過(guò)接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù);通過(guò)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,防止漏發(fā)情況發(fā)生;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理,防止多發(fā)的情況發(fā)生。本實(shí)施例提供的技術(shù)方案,在發(fā)放過(guò)程不依賴服務(wù)端接口,而是只將加密后的訂單ID推送到對(duì)應(yīng)的消息處理服務(wù)器,不管消息接收端是否已經(jīng)接受到消息都結(jié)束相應(yīng)操作,不影響主要業(yè)務(wù)流程得進(jìn)行,保持在高并發(fā)下數(shù)據(jù)的一致性,保證一個(gè)訂單只發(fā)一次積分,提高了系統(tǒng)處理的效率。
【附圖說(shuō)明】
[0051 ]圖1為根據(jù)本發(fā)明的一種積分發(fā)放的方法一實(shí)施例的流程圖;
[0052]圖2為根據(jù)本發(fā)明的方案的一實(shí)施例的操作示意圖之一;
[0053]圖3為根據(jù)本發(fā)明的一種積分發(fā)放的系統(tǒng)一實(shí)施例的結(jié)構(gòu)框圖;
[0054]圖4為根據(jù)本發(fā)明的一種積分發(fā)放的系統(tǒng)另一實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0055]下面結(jié)合附圖1-4對(duì)本發(fā)明實(shí)施例提供的一種積分發(fā)放的方法、系統(tǒng)和裝置進(jìn)行詳細(xì)描述。
[0056]本發(fā)明實(shí)施例的發(fā)明構(gòu)思是:接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求;驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。本發(fā)明提供的一種積分發(fā)放的方法、系統(tǒng)和裝置,是一種安全高效的用戶積分發(fā)放方式,解決在用戶積分發(fā)放過(guò)程中出現(xiàn)的數(shù)據(jù)安全問(wèn)題、重復(fù)發(fā)放問(wèn)題、同步發(fā)放效率問(wèn)題。提高服務(wù)端的高可用性,保證數(shù)據(jù)傳輸安全可用,用戶積分?jǐn)?shù)據(jù)事務(wù)一致性,避免用戶積分的多發(fā)及漏發(fā)。
[0057]以下將結(jié)合附圖,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0058]實(shí)施例一
[0059]參照?qǐng)D1,圖1示出了本發(fā)明的方的一實(shí)施例的流程圖。
[0060]在步驟SI10中,接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求。
[0061]在一個(gè)實(shí)施方式中,服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求,該積分發(fā)放請(qǐng)求為至少一個(gè)客戶端提交并發(fā)送的積分發(fā)放指令,該指令觸發(fā)服務(wù)器中積分發(fā)放消息到處理端。如,用戶通過(guò)網(wǎng)絡(luò)平臺(tái)購(gòu)買(mǎi)產(chǎn)品或服務(wù)產(chǎn)生電子消費(fèi)記錄,用戶通過(guò)客戶端向服務(wù)器發(fā)送該電子消費(fèi)記錄對(duì)應(yīng)的積分發(fā)放指令,服務(wù)器接收該積分發(fā)放指令,該指令觸發(fā)服務(wù)器中積分發(fā)放消息到處理端進(jìn)行處理。
[0062]進(jìn)一步的,服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求后,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,為了防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù)。
[0063]具體的,服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求后,對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密;其中,加密方式包括但不限于MD5、sha-1、RIPEMD或Haval,以解決數(shù)據(jù)傳輸?shù)陌踩詥?wèn)題。
[0064]一個(gè)【具體實(shí)施方式】中,以MD5為例,Message Digest Algorithm MD5(中文名為消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。該算法的文件號(hào)為RFC 1321 (R.Rivest,MIT Laboratory for Computer Scienceand RSA Data Security Inc.April 1992)。加密的規(guī)則包括:
[0065]為每個(gè)積分發(fā)放請(qǐng)求的消息發(fā)送一個(gè)MD5安全標(biāo)識(shí)(加密標(biāo)識(shí))或使用渠道生成一個(gè)MD5安全標(biāo)識(shí)(加密標(biāo)識(shí)),為了防止黑客劫持篡改積分發(fā)放請(qǐng)求中http請(qǐng)求中的參數(shù),要求客戶端發(fā)送的請(qǐng)求信息不能使用明文,并對(duì)http請(qǐng)求中的參數(shù)綁定安全標(biāo)識(shí)后進(jìn)行md5加密,并將加密后的字符串作為安全參數(shù)的一部分進(jìn)行傳遞。服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求后,按照上述規(guī)則對(duì)參數(shù)進(jìn)行md5加密。
[0066]其中,生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求;包括:
[0067]識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。
[0068]在步驟S120中驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。
[0069]所述標(biāo)識(shí)信息,包括但不限于:訂單編號(hào)和/或訂單ID。
[0070]具體的,生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)后,查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí),判斷為首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí),向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。
[0071 ]在一【具體實(shí)施方式】中,以標(biāo)識(shí)信息為訂單ID為例:
[0072]如圖2所示,建立數(shù)據(jù)庫(kù)級(jí)別的發(fā)放訂單鎖定表,并在表中建立訂單ID字段,并為訂單ID字段建立唯一索引,所述數(shù)據(jù)庫(kù)優(yōu)選為mysql數(shù)據(jù)庫(kù),生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)后,查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí),判斷為首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求,將訂單ID插入發(fā)放訂單鎖定表,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí),向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則,并向匹配積分發(fā)送規(guī)則的積分發(fā)放請(qǐng)求發(fā)放積分發(fā)送規(guī)則內(nèi)的積分。
[0073]在另一【具體實(shí)施方式】中,基于上一實(shí)施方式,還包括實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù),異常數(shù)據(jù)為,因程序異常導(dǎo)致未執(zhí)行發(fā)放的數(shù)據(jù),如:數(shù)據(jù)庫(kù)無(wú)法連接,類型轉(zhuǎn)換失敗等。
[0074]記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求,可對(duì)該記錄的標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求進(jìn)行掃描存儲(chǔ),對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記或以其他標(biāo)記進(jìn)行區(qū)分,如標(biāo)記“已發(fā)放”等標(biāo)簽。
[0075]在另一【具體實(shí)施方式】中,生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理。以標(biāo)識(shí)信息為訂單ID為例:
[0076]如圖2所示,建立數(shù)據(jù)庫(kù)級(jí)別的發(fā)放訂單鎖定表,并在表中建立訂單ID字段,并為訂單ID字段建立唯一索引,由于數(shù)據(jù)庫(kù)唯一索引的特性,當(dāng)?shù)诙螌?duì)同一列插入相同數(shù)據(jù)時(shí)會(huì)發(fā)生異常,積分發(fā)放程序捕獲到該異常后,對(duì)該操作進(jìn)行事務(wù)回滾。不再繼續(xù)后續(xù)的操作,這樣就實(shí)現(xiàn)了簡(jiǎn)單的鎖定控制。對(duì)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)后,查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),判斷為非首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求,對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,不在進(jìn)行積分發(fā)放規(guī)則的匹配和積分的發(fā)放。解決事務(wù)并發(fā)帶來(lái)的數(shù)據(jù)一致性問(wèn)題。
[0077]進(jìn)一步的,該方法還包括:
[0078]只對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。
[0079]本實(shí)施例提供的方法,通過(guò)接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù);通過(guò)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求,對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,防止漏發(fā)情況發(fā)生;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,防止多發(fā)的情況發(fā)生。本實(shí)施例提供的技術(shù)方案,在發(fā)放過(guò)程不依賴服務(wù)端接口,而是只將加密后的訂單ID推送到對(duì)應(yīng)的消息處理服務(wù)器,不管消息接收端是否已經(jīng)接受到消息都結(jié)束相應(yīng)操作,不影響主要業(yè)務(wù)流程得進(jìn)行,保持在高并發(fā)下數(shù)據(jù)的一致性,保證一個(gè)訂單只發(fā)一次積分,提高了系統(tǒng)處理的效率。
[0080] 實(shí)施例二
[0081 ]本實(shí)施例與實(shí)施例一的區(qū)別如下,
[0082]所述驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性之前,還包括:
[0083]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0084]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0085]驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。
[0086]一應(yīng)用實(shí)例,以MD5為例,驗(yàn)證接收至少一個(gè)積分發(fā)放請(qǐng)求的時(shí)間是否在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),如果在這個(gè)時(shí)間段內(nèi),則對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證;如果不在這個(gè)時(shí)間段內(nèi),則對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;
[0087]MD5的一致性驗(yàn)證是對(duì)一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多軟件在下載的時(shí)候都有一個(gè)文件名相同,文件擴(kuò)展名為.md5的文件,在這個(gè)文件中通常只有一行文本,大致結(jié)構(gòu)如:
[0088]MD5(tanaj iya.tar.gz)=38b8c2cl093dd0fec383a9d9ac940515
[0089]這就是tanaj iya.tar.gz文件的數(shù)字簽名。MD5將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的MD5信息摘要。
[0090]對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證,驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性;驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理。
[0091]本實(shí)施例提供的方法,除了可以達(dá)到實(shí)施例一的效果之外,通過(guò)多次驗(yàn)證,保證數(shù)據(jù)傳輸?shù)陌踩浴?br>[0092]實(shí)施例三
[0093]如圖3所示,本發(fā)明另一實(shí)施例還提供了一種積分發(fā)放的系統(tǒng),包括:
[0094]發(fā)送端21,用于接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求,具體實(shí)現(xiàn)的功能和處理方式參見(jiàn)步驟S110。
[0095]在一個(gè)實(shí)施方式中,服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求,該積分發(fā)放請(qǐng)求為至少一個(gè)客戶端提交并發(fā)送的積分發(fā)放指令,該指令觸發(fā)服務(wù)器中積分發(fā)放消息到處理端。如,用戶通過(guò)網(wǎng)絡(luò)平臺(tái)購(gòu)買(mǎi)產(chǎn)品或服務(wù)產(chǎn)生電子消費(fèi)記錄,用戶通過(guò)客戶端向服務(wù)器發(fā)送該電子消費(fèi)記錄對(duì)應(yīng)的積分發(fā)放指令,服務(wù)器接收該積分發(fā)放指令,該指令觸發(fā)服務(wù)器中積分發(fā)放消息到處理端進(jìn)行處理。
[0096]進(jìn)一步的,服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求后,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,為了防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù)。
[0097]進(jìn)一步的,所述發(fā)送端21包括:
[0098]加密單元211,用于對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密;其中,加密方式包括但不限于MD5、sha-l、RIPEMD或Haval,解決數(shù)據(jù)傳輸?shù)陌踩詥?wèn)題。
[0099]—個(gè)【具體實(shí)施方式】中,以MD5為例,加密的規(guī)則包括:
[0100]為每個(gè)積分發(fā)放請(qǐng)求的消息發(fā)送一個(gè)MD5安全標(biāo)識(shí)(加密標(biāo)識(shí))或使用渠道生成一個(gè)MD5安全標(biāo)識(shí)(加密標(biāo)識(shí)),為了防止黑客劫持篡改積分發(fā)放請(qǐng)求中http請(qǐng)求中的參數(shù),要求客戶端發(fā)送的請(qǐng)求信息不能使用明文,并對(duì)http請(qǐng)求中的參數(shù)綁定安全標(biāo)識(shí)后進(jìn)行md5加密,并將加密后的字符串作為安全參數(shù)的一部分進(jìn)行傳遞。服務(wù)器接收至少一個(gè)積分發(fā)放請(qǐng)求后,按照上述規(guī)則對(duì)參數(shù)進(jìn)行md5加密。
[0101]識(shí)別單元212,用于識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息。
[0102]生成單元213,用于生成基于所述識(shí)別單元識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。
[0103]具體的,對(duì)加密后的積分發(fā)放請(qǐng)求進(jìn)行一致性驗(yàn)證;驗(yàn)證成功后,識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并和客戶端傳遞的安全參數(shù)進(jìn)行比較驗(yàn)證,如果發(fā)現(xiàn)不一致時(shí),證明該請(qǐng)求違法,則不進(jìn)行后續(xù)操作。
[0104]處理端22,用于驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。具體實(shí)現(xiàn)的功能和處理方式參見(jiàn)步驟S120。
[0105]所述標(biāo)識(shí)信息,包括但不限于:訂單編號(hào)和/或訂單ID。
[0106]所述處理端22包括:
[0107]第一查找單元221,用于查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí);
[0108]存儲(chǔ)單元222,用于在查找單元查找到數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí)后,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí);
[0109]匹配單元223,用于向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。
[0110]在一【具體實(shí)施方式】中,以標(biāo)識(shí)信息為訂單ID為例:
[0111]如圖2所示,建立數(shù)據(jù)庫(kù)級(jí)別的發(fā)放訂單鎖定表,并在表中建立訂單ID字段,并為訂單ID字段建立唯一索引,所述數(shù)據(jù)庫(kù)優(yōu)選為mysql數(shù)據(jù)庫(kù),生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)后,查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí),判斷為首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求,將訂單ID插入發(fā)放訂單鎖定表,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí),向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則,并向匹配積分發(fā)送規(guī)則的積分發(fā)放請(qǐng)求發(fā)放積分發(fā)送規(guī)則內(nèi)的積分。
[0112]進(jìn)一步的,所述處理端22還包括:
[0113]監(jiān)聽(tīng)單元224,用于實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù);
[0114]記錄單元225,用于記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求;
[0115]補(bǔ)償單元226,用于對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記。
[0116]在一【具體實(shí)施方式】中,基于上一實(shí)施方式,還包括實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù),異常數(shù)據(jù)為,因程序異常導(dǎo)致未執(zhí)行發(fā)放的數(shù)據(jù),如:數(shù)據(jù)庫(kù)無(wú)法連接,類型轉(zhuǎn)換失敗等。
[0117]記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求,可對(duì)該記錄的標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求進(jìn)行掃描存儲(chǔ),對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記或以其他標(biāo)記進(jìn)行區(qū)分,如標(biāo)記“已發(fā)放”等標(biāo)簽。
[0118]進(jìn)一步的,所述處理端22還包括:
[0119]第二查找單元227,用于查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理。
[0120]在一【具體實(shí)施方式】中,生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理。以標(biāo)識(shí)信息為訂單ID為例:
[0121]如圖2所示,建立數(shù)據(jù)庫(kù)級(jí)別的發(fā)放訂單鎖定表,并在表中建立訂單ID字段,并為訂單ID字段建立唯一索引,由于數(shù)據(jù)庫(kù)唯一索引的特性,當(dāng)?shù)诙螌?duì)同一列插入相同數(shù)據(jù)時(shí)會(huì)發(fā)生異常,積分發(fā)放程序捕獲到該異常后,對(duì)該操作進(jìn)行事務(wù)回滾。不再繼續(xù)后續(xù)的操作,這樣就實(shí)現(xiàn)了簡(jiǎn)單的鎖定控制。對(duì)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)后,查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),判斷為非首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求,對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,不在進(jìn)行積分發(fā)放規(guī)則的匹配和積分的發(fā)放。解決事務(wù)并發(fā)帶來(lái)的數(shù)據(jù)一致性問(wèn)題。
[0122]進(jìn)一步的,該系統(tǒng)還包括:
[0123]接收端23,用于只對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。
[0124]本實(shí)施例提供的系統(tǒng),通過(guò)發(fā)送端接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù);通過(guò)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求,處理端對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,防止漏發(fā)情況發(fā)生;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,防止多發(fā)的情況發(fā)生。本實(shí)施例提供的技術(shù)方案,在發(fā)放過(guò)程不依賴服務(wù)端接口,而是只將加密后的訂單ID推送到對(duì)應(yīng)的消息處理服務(wù)器,不管消息接收端是否已經(jīng)接受到消息都結(jié)束相應(yīng)操作,不影響主要業(yè)務(wù)流程得進(jìn)行,保持在高并發(fā)下數(shù)據(jù)的一致性,保證一個(gè)訂單只發(fā)一次積分,提高了系統(tǒng)處理的效率。具體實(shí)現(xiàn)的功能和處理方式參見(jiàn)方法實(shí)施例描述的具體步驟。
[0125]由于本實(shí)施例的系統(tǒng)所實(shí)現(xiàn)的處理及功能基本相應(yīng)于前述圖1至圖2所示的方法的實(shí)施例、原理和實(shí)例,故本實(shí)施例的描述中未詳盡之處,可以參見(jiàn)前述實(shí)施例中的相關(guān)說(shuō)明,在此不做贅述。
[0126]實(shí)施例四
[0127]如圖4所示,本實(shí)施例與實(shí)施例三的區(qū)別在于,所述處理端還包括:
[0128]第一驗(yàn)證單元228,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0129]第二驗(yàn)證單元229,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或
[0130]第三驗(yàn)證單元2210,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。
[0131 ] 一應(yīng)用實(shí)例,第一驗(yàn)證單元驗(yàn)證接收至少一個(gè)積分發(fā)放請(qǐng)求的時(shí)間是否在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),如果在這個(gè)時(shí)間段內(nèi),則對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證;對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理。
[0132]MD5的一致性驗(yàn)證是對(duì)一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多軟件在下載的時(shí)候都有一個(gè)文件名相同,文件擴(kuò)展名為.md5的文件,在這個(gè)文件中通常只有一行文本,大致結(jié)構(gòu)如:
[0133]MD5(tanaj iya.tar.gz)=38b8c2cl093dd0fec383a9d9ac940515
[0134]這就是tanaj iya.tar.gz文件的數(shù)字簽名。MD5將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過(guò)其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的MD5信息摘要。
[0135]第二驗(yàn)證單元,驗(yàn)證接收至少一個(gè)積分發(fā)放請(qǐng)求的時(shí)間是否在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),如果不在這個(gè)時(shí)間段內(nèi),則對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;
[0136]第三驗(yàn)證單元,接收至少一個(gè)積分發(fā)放請(qǐng)求的時(shí)間是否在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),如果在這個(gè)時(shí)間段內(nèi),對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證,驗(yàn)證成功后,對(duì)加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性進(jìn)行驗(yàn)證,觸發(fā)處理端22工作。
[0137]本實(shí)施例提供的系統(tǒng),除了可以達(dá)到實(shí)施例三的效果之外,通過(guò)多次驗(yàn)證,保證數(shù)據(jù)傳輸?shù)陌踩浴?br>[0138]實(shí)施例五
[0139]本發(fā)明實(shí)施例還提供了一種積分發(fā)放的裝置,包括所述的系統(tǒng)。
[0140]具體地,該裝置包括但不限于手機(jī)、筆記本電腦等智能設(shè)備。
[0141]本實(shí)施例提供的裝置,通過(guò)該裝置接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,防止黑客劫持篡改積分發(fā)放請(qǐng)求中的參數(shù);通過(guò)生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí);所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求,對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,防止漏發(fā)情況發(fā)生;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,防止多發(fā)的情況發(fā)生。本實(shí)施例提供的技術(shù)方案,在發(fā)放過(guò)程不依賴服務(wù)端接口,而是只將加密后的訂單ID推送到對(duì)應(yīng)的消息處理服務(wù)器,不管消息接收端是否已經(jīng)接受到消息都結(jié)束相應(yīng)操作,不影響主要業(yè)務(wù)流程得進(jìn)行,保持在高并發(fā)下數(shù)據(jù)的一致性,保證一個(gè)訂單只發(fā)一次積分,提高了系統(tǒng)處理的效率。
[0142]需要指出,根據(jù)實(shí)施的需要,可將本申請(qǐng)中描述的各個(gè)步驟/部件拆分為更多步驟/部件,也可將兩個(gè)或多個(gè)步驟/部件或者步驟/部件的部分操作組合成新的步驟/部件,以實(shí)現(xiàn)本發(fā)明的目的。
[0143]上述根據(jù)本發(fā)明的方法可在硬件、固件中實(shí)現(xiàn),或者被實(shí)現(xiàn)為可存儲(chǔ)在記錄介質(zhì)(諸如CD R0M、RAM、軟盤(pán)、硬盤(pán)或磁光盤(pán))中的軟件或計(jì)算機(jī)代碼,或者被實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)下載的原始存儲(chǔ)在遠(yuǎn)程記錄介質(zhì)或非暫時(shí)機(jī)器可讀介質(zhì)中并將被存儲(chǔ)在本地記錄介質(zhì)中的計(jì)算機(jī)代碼,從而在此描述的方法可被存儲(chǔ)在使用通用計(jì)算機(jī)、專用處理器或者可編程或?qū)S糜布?諸如ASIC或FPGA)的記錄介質(zhì)上的這樣的軟件處理。可以理解,計(jì)算機(jī)、處理器、微處理器控制器或可編程硬件包括可存儲(chǔ)或接收軟件或計(jì)算機(jī)代碼的存儲(chǔ)組件(例如,RAM、ROM、閃存等),當(dāng)所述軟件或計(jì)算機(jī)代碼被計(jì)算機(jī)、處理器或硬件訪問(wèn)且執(zhí)行時(shí),實(shí)現(xiàn)在此描述的處理方法。此外,當(dāng)通用計(jì)算機(jī)訪問(wèn)用于實(shí)現(xiàn)在此示出的處理的代碼時(shí),代碼的執(zhí)行將通用計(jì)算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專用計(jì)算機(jī)。
[0144]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種積分發(fā)放的方法,其特征在于,包括: 接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求; 驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。2.如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 優(yōu)選的,對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。3.如權(quán)利要求1或2所述的方法,其特征在于,所述加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,包括: 對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密; 其中,加密方式包括但不限于MD5、sha-1、RIPEMD或Haval。4.如權(quán)利要求1或2所述的方法,其特征在于,所述驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性之前,還包括: 驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或 驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或 驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。5.如權(quán)利要求1所述的方法,其特征在于,所述生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),包括: 識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息; 生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。6.如權(quán)利要求1-5之一所述的方法,其特征在于,所述對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則,包括: 查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí)后,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí),向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。7.如權(quán)利要求1-6之一所述的方法,其特征在于,所述對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則,包括: 實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù),記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求,對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記。8.如權(quán)利要求1-7之一所述的方法,其特征在于,所述對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求不做處理,包括: 查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。9.一種積分發(fā)放的系統(tǒng),其特征在于,包括: 發(fā)送端,用于接收至少一個(gè)積分發(fā)放請(qǐng)求,加密所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息,并生成基于所述標(biāo)識(shí)信息的唯一索引標(biāo)識(shí),所述索引標(biāo)識(shí)用于識(shí)別攜帶所述標(biāo)記信息的積分發(fā)放請(qǐng)求; 處理端,用于驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性,包括:對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)放規(guī)則并對(duì)匹配積分發(fā)放規(guī)則失敗的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則;對(duì)至少兩次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。10.如權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)還包括: 接收端,用于對(duì)匹配積分發(fā)放規(guī)則的積分發(fā)放請(qǐng)求發(fā)放所述積分發(fā)放規(guī)則規(guī)定的積分。11.如權(quán)利要求9或10所述的系統(tǒng),其特征在于,所述發(fā)送端包括: 加密單元,用于對(duì)接收至少一個(gè)積分發(fā)放請(qǐng)求綁定安全標(biāo)識(shí)后通過(guò)密文加密;其中,加密方式包括但不限于MD5、sha-1、RIPEMD或Haval。12.如權(quán)利要求9或10所述的方法,其特征在于,所述處理端還包括: 第一驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證失敗后,對(duì)接收的至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或 第二驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段外,對(duì)接收的所述至少一個(gè)積分發(fā)放請(qǐng)求丟棄處理;和/或 第三驗(yàn)證單元,用于驗(yàn)證當(dāng)前時(shí)間在觸發(fā)積分發(fā)放指令的預(yù)定時(shí)間段內(nèi),且對(duì)加密后的積分發(fā)放請(qǐng)求一致性驗(yàn)證成功后,驗(yàn)證加密后的所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一性。13.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述發(fā)送端還包括: 識(shí)別單元,用于識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息; 生成單元,用于生成基于所述識(shí)別單元識(shí)別所述積分發(fā)放請(qǐng)求攜帶的標(biāo)識(shí)信息的唯一索引標(biāo)識(shí)。14.如權(quán)利要求8-13之一所述的系統(tǒng),其特征在于,所述處理端包括: 第一查找單元,用于查找數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí); 存儲(chǔ)單元,用于在查找單元查找到數(shù)據(jù)庫(kù)中未存在相同索引標(biāo)識(shí)后,存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí); 匹配單元,用于向所述存儲(chǔ)基于所述標(biāo)識(shí)信息的索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求匹配積分發(fā)送規(guī)則。15.如權(quán)利要求8-14之一所述的系統(tǒng),其特征在于,所述處理端還包括: 監(jiān)聽(tīng)單元,用于實(shí)時(shí)監(jiān)聽(tīng)對(duì)存儲(chǔ)的首次生成索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求未匹配積分發(fā)放規(guī)則的異常數(shù)據(jù); 記錄單元,用于記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求; 補(bǔ)償單元,用于對(duì)記錄標(biāo)記異常數(shù)據(jù)的積分發(fā)放請(qǐng)求重新匹配積分發(fā)放規(guī)則后,取消異常數(shù)據(jù)標(biāo)記。16.如權(quán)利要求8-15之一所述的系統(tǒng),其特征在于,所述處理端還包括: 第二查找單元,用于查找數(shù)據(jù)庫(kù)中已存在相同索引標(biāo)識(shí),對(duì)所述已存在相同索引標(biāo)識(shí)的積分發(fā)放請(qǐng)求丟棄處理。17.—種積分發(fā)放的裝置,其特征在于,包括如權(quán)利要求9-16之一所述的系統(tǒng)。
【文檔編號(hào)】G06Q30/02GK105933295SQ201610225261
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月12日
【發(fā)明人】曹杰, 馮雨暉, 蘇建輝, 許文山, 宋鑫
【申請(qǐng)人】北京紅馬傳媒文化發(fā)展有限公司