本申請涉及移動互聯網技術領域,尤其涉及應用程序的刷量識別方法、裝置。
背景技術:
隨著移動互聯網技術的發展,各種基于該移動互聯網的移動端應用程序層出不窮,為人們的工作和學習帶來諸多便利。但同時,對應用程序的下載刷量現象也隨之產生,即,應用程序開發者或惡意利益相關者通過刷下載量或更新量,甚至偽造下載、更新,造成相應應用程序很受歡迎的假象,從中獲取利益。
現有應用應用程序的刷量行為識別方法雖然很多,但都或多或少存在一些缺點。其中一種識別方法為:通過對應用程序或者提供各種應用程序的渠道的群體下載行為進行監控及分析,判斷相應群體是否存在刷量行為;具體的,如果分析發現同一開發者開發的多個應用程序出現非常接近的下載趨勢,或者某應用程序在多個省份和地域的下載量一樣或非常接近,或者某應用程序某段時間的下載量和卸載量幾乎一致,等等,都可以判定存在刷量行為。但這種方法是針對群體的分析,所以無法針對某個用戶甚至某個下載行為,做出是否刷量的判斷。現有另一種識別方法,通過獲取閾值時間段內各個用戶操作應用程序的操作數據,分析出每個用戶是否存在多次下載同一應用程序的刷量行為;但這種方法只能識別出同一個用戶的反復刷量行為,如果惡意用戶通過不斷虛擬新的設備偽裝成初次下載來進行刷量,該方法將完全失效。
因此,如何準確識別各類應用程序刷量行為,已成為本領域技術人員亟需解決的問題。
技術實現要素:
為克服相關技術中存在的問題,本申請提供一種應用程序的反刷量方法、裝置。
本申請第一方面,提供一種應用程序的刷量識別方法,包括:
獲取每次用戶操作行為發生時相應移動終端中各個傳感器的狀態采樣值;
根據所述狀態采樣值計算所述用戶操作行為的可信度;
判斷所述用戶操作行為的可信度是否在預設范圍內,如果是,則判定所述用戶操作行為為刷量行為。
結合第一方面,在第一方面第一種可行的實施方式中,獲取每次用戶操作行為發生 時相應的移動終端中各個傳感器的狀態采樣值,包括:
在發生用戶操作行為時,獲取相應移動終端中各個傳感器的可訪問狀態;
對于可訪問狀態為允許訪問的傳感器,按照預設采樣周期對其狀態值進行采樣得到對應的狀態采樣值。
結合第一方面,或者第一方面第一種可行的實施方式,在第一方面第二種可行的實施方式中,在根據所述狀態采樣值計算所述用戶操作行為的可信度之前,所述方法還包括:
獲取狀態值正樣本和狀態值負樣本,并根據所述狀態值正樣本和狀態值負樣本進行訓練,確定預設神經網絡模型的模型參數。
結合第一方面第二種可行的實施方式,在第一方面第三種可行的實施方式中,根據所述狀態采樣值計算所述用戶操作行為的可信度,包括:
根據所述狀態采樣值計算各個傳感器的采樣值標準差;
根據所述采樣值標準差生成對應于所述用戶操作行為的特征向量;
將所述特征向量輸入預設神經網絡模型,并根據所述預設神經網絡模型的模型參數計算所述用戶操作行為的可信度。
結合第一方面,或者第一方面第一種可行的實施方式,在第一方面第四種可行的實施方式中,所述方法還包括:
在獲取到所述狀態采樣值后,將所述狀態采樣值與對應的傳感器標識碼和移動終端標識碼以打點日志的形式進行存儲。
本申請第二方面,提供一種應用程序的刷量識別裝置,包括:
數據采樣單元,用于獲取每次用戶操作行為發生時相應移動終端中各個傳感器的狀態采樣值;
數據處理單元,用于根據所述狀態采樣值計算所述用戶操作行為的可信度;
刷量識別單元,用于判斷所述用戶操作行為的可信度是否在預設范圍內,如果是,則判定所述用戶操作行為為刷量行為。
結合第二方面,在第二方面第一種可行的實施方式中,所述數據采樣單元包括:
訪問狀態確定模塊,用于在發生用戶操作行為時,獲取相應移動終端中各個傳感器的可訪問狀態;
數據采樣模塊,用于對于可訪問狀態為允許訪問的傳感器,按照預設采樣周期對其 狀態值進行采樣得到對應的狀態采樣值。
結合第二方面,或者第二方面第一種可行的實施方式,在第二方面第二種可行的實施方式中,所述裝置還包括:
模型訓練單元,用于獲取狀態值正樣本和狀態值負樣本,并根據所述狀態值正樣本和狀態值負樣本進行訓練,確定預設神經網絡模型的模型參數。
結合第二方面第二種可行的實施方式,在第二方面第三種可行的實施方式中,所述數據處理單元包括:
標準差計算模塊,用于根據所述狀態采樣值計算各個傳感器的采樣值標準差;
特征向量生成模塊,用于根據所述采樣值標準差生成對應于所述用戶操作行為的特征向量;
可信度計算模塊,用于將所述特征向量生成單元生成的特征向量輸入預設神經網絡模型,并根據所述預設神經網絡模型的模型參數計算所述用戶操作行為的可信度。
結合第二方面,或者第二方面第一種可行的實施方式,在第二方面第四種可行的實施方式中,所述裝置還包括:
打點記錄單元,用于在獲取到所述狀態采樣值后,將所述狀態采樣值與對應的傳感器標識碼和移動終端標識碼以打點日志的形式進行存儲。
由以上技術方案可知,本申請實施例通過獲取每次用戶操作行為發生時相應的移動終端各個傳感器的狀態采樣值,進而根據各個傳感器的狀態采樣值計算該用操作行為的可信度,如果該可信度在預設范圍內,則判定相應的用戶操作行為是刷量行為。可見,相對于現有技術,上述刷量識別方法顆粒度更細,可以具體到對某個群體的某個用戶的某個操作行為進行識別,且不被惡意用戶偽裝的操作行為所欺騙,能有效應對偽裝成單次或少量下載的欺詐刷量行為;且不需要用戶的歷史操作信息,不需要用戶的賬戶信息,具有識別準確率高,反刷量能力好的優點。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本申請。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并與說明書一起用于解釋本發明的原理。
圖1是本申請實施例提供的一種應用程序的反刷量方法的流程圖。
圖2是本申請實施例提供的另一種應用程序的反刷量方法的流程圖。
圖3是本申請實施例提供的一種應用程序的反刷量裝置的結構框圖。
圖4是本申請實施例提供的一種應用程序的反刷量裝置在實際應用中的配置框圖;
圖5是本申請實施例提供的另一種應用程序的反刷量裝置的結構框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
為解決準確識別各類刷量行為的問題,申請人對現有刷量操作方式進行的研究總結,發現其可以概括為如下兩種:(1)通過虛擬機,用軟件模擬出一個或者多個移動終端,并通過這些虛擬出的移動終端進行刷量作弊;(2)通過在真實移動終端上,用軟件虛擬出用戶的操作行為進行刷量作弊;進而將上述刷量操作與在真實移動終端上的實際操作進行比較,發現主要區別在于,真實移動終端上的實際操作,不可避免地會人為造成移動終端抖動(如,位置變化、放置形態變化等),即使是很微小的抖動也可以被移動終端中內置的各種高靈敏度傳感器(如,加速度計、陀螺儀、磁力計、方位傳感器等)感應到;而上述第一種刷量操作不存在真是的移動終端,故也不存在可以感應抖動的傳感器,第二種刷量操作雖然通過真實的移動終端實現,但由于其是通過軟件模擬用戶操作行為,故不會導致移動終端的抖動,相應的也不會對傳感器造成影響。
基于以上發現,本申請提供一種基于移動終端傳感器的刷量識別方法。圖1為本申請一個實施例提供的方法流程圖。參照圖1,該方法包括以下步驟。
s11、獲取每次用戶操作行為發生時相應的移動終端中各個傳感器狀態采樣值。
s12、根據所述狀態采樣值計算所述用戶操作行為的可信度。
s13、判斷所述用戶操作行為的可信度是否在預設范圍內,如果是,則判定所述用戶操作行為為刷量行為。
移動終端中內置的傳感器感應到移動終端抖動后的直接表現為其狀態值的變化,即,移動終端靜置時,其傳感器的狀態值固定不變,或者僅存在傳感器自身的誤差變化,當移動終端發生抖動時,傳感器的狀態值才會發生較大變化。而對于上述第一種刷量操作,由于其是通過軟件在虛擬機中虛擬得到的移動終端,故其不存在傳感器,或者其也可以同時虛擬出傳感器,但狀態值始終為固定值,而對于第二種刷量操作,雖然其在真實的移動終端上實現,但由于其操作過程也是通過軟件虛擬的,不需要用戶手持操作移動終端,故不會造成移動終端的抖動,移動終端的傳感器也就不會感應到變化,傳感器 的狀態值也會保持在一定范圍內,不會發生較大變化。有鑒于此,本申請實施例通過獲取每次用戶操作行為發生時相應的移動終端各個傳感器的狀態采樣值,進而以獲取到的各個傳感器的狀態采樣值為變量值,計算該用戶操作行為的可信度,根據該可信度即可判定相應的用戶操作行為是刷量行為還是用戶實際操作行為。
其中,上述預設范圍具體可以根據實際情況而定;假設可信度的取值范圍為[0,1],且設定可信度取值越小,表明相應的用戶操作行為是刷量行為的可能性越大,進而可以設定上述預設范圍為[0,0.8),即當可行度小于0.8時,即判定相應的用戶操作行為為刷量行為。
由以上技術方案可知,本申請實施例通過獲取每次用戶操作行為發生時相應的移動終端各個傳感器的狀態采樣值,進而根據各個傳感器的狀態采樣值計算該用操作行為的可信度,如果該可行度在預設范圍內,則判定相應的用戶操作行為是刷量行為。可見,相對于現有技術,上述刷量識別方法顆粒度更細,可以具體到對某個群體的某個用戶的某個操作行為進行識別,且不被惡意用戶偽裝的操作行為所欺騙,能有效應對偽裝成單次或少量下載的欺詐刷量行為;且不需要用戶的歷史操作信息,不需要用戶的賬戶信息,具有識別準確率高,反刷量能力好的優點。
在本申請一個可行的實施例中,上述步驟s11中獲取狀態采樣值的過程,具體可以包括:
s111、在發生用戶操作行為時,獲取相應移動終端中各個傳感器的可訪問狀態;
s112、對于可訪問狀態為允許訪問的傳感器,按照預設采樣周期對其狀態值進行采樣得到對應的狀態采樣值。
具體的,可以對移動終端進行實時監聽,當監聽到移動終端發生用戶操作行為時,嘗試訪問各個傳感器的設備信息,如果能訪問該傳感器的設備信息,則標記該傳感器的可訪問狀態為“1”,即允許訪問,否則標記為“0”,即不允許訪問。
對可訪問狀態標記為“1”的傳感器,可以在預設時間段內按照預設采樣周期對其狀態值進行采樣,例如:在監聽到用戶操作行為的隨后1秒(預設時間段)內,以100毫秒的時間間隔(預設采用周期),對該傳感器的狀態值進行采樣,得到對應的狀態采樣值。而對可訪問狀態標記為“0”的傳感器,則不獲取其狀態采樣值(因不可訪問,故無法對其狀態值進行采樣)。
在本申請一個可行的實施例中,為便于利用狀態采樣值進行綜合分析計算,上述刷量識別方法還可以包括:
s11’、在獲取到所述狀態采樣值后,將所述狀態采樣值與對應的傳感器標識碼和移動終端標識碼以打點日志的形式進行存儲。
根據上述步驟s111和s112所述的采樣方法,上述打點日志的存儲內容可以包括:每次用戶操作行為對應的移動終端標識碼(如手機序列號(internationalmobileequipmentidentity,imei)等)、各個傳感器對應的傳感器標識碼、可訪問狀態及狀態采樣值,具體可參考下表所示(表中具體數據僅為一種可行性示例,實際數據不限于此):
每個預設采樣周期采樣一次,則存儲一條打點記錄;由于存在多個傳感器,故每條打點記錄依次存儲每個傳感器的標識碼、可訪問狀態及采樣值,例如,可以將加速度計(即accelerometer,以縮略形式acc作為其標識碼)作為第一傳感器、陀螺儀(即gyroscope,以縮略形式gy作為其標識碼)作為第二傳感器……,然后按順序將各個傳感器的標識碼、可訪問狀態和采樣值記錄于上表中。
可選的,實時或定時將打點日志上傳至服務器,并通過服務器繼續執行上述步驟s12和s13,實現對每個用戶操作行為的統一進行分析識別。
參照圖2,在本申請一個可行的實施例中,在步驟s12之前,上述刷量識別方法還包括以下步驟:
s14、獲取狀態值正樣本和狀態值負樣本,并根據所述狀態值正樣本和狀態值負樣本進行訓練,確定預設神經網絡模型的模型參數。
本實施例中,可以預先選取適量的正樣本打點記錄和負樣本打點記錄,也即所述狀態值正樣本和狀態值負樣本,將其輸入預設神經網絡模型進行學習訓練,采用梯度下降法確定各個模型參數。該預設神經網絡模型相當于一個關于傳感器采樣值標準差的非線性函數,模型參數則相當于構成該非線性函數中的各個參量,該非線性函數的計算結果即為相應用戶操作行為的可信度。
相應的,步驟s12具體可以包括:
s121、根據所述狀態采樣值計算各個傳感器的采樣值標準差;
s122、根據所述采樣值標準差生成對應于所述用戶操作行為的特征向量;
s123、將所述特征向量輸入預設神經網絡模型,并根據所述預設神經網絡模型的模型參數計算所述用戶操作行為的可信度。
其中,特征向量的每個維度代表一種參數;實際應用中,每個傳感器的采樣值可以包括x軸、y軸和z軸三個方向的數值,故每個傳感器在特征向量中的參數至少可以包括:該傳感器在x軸、y軸和z軸三個方向上的標準差;還可以在特征向量中記錄各個傳感器的可訪問狀態標記(“1”或“0”)。
例如,對于加速度計,其參數可以包括:加速度計可訪問標識(acc_v)、加速度計x方向標準差(acc_std_x)、加速度計y方向標準差(acc_std_y)、加速度計z方向標準差(acc_std_z)。
如果加速度計的可訪問狀態為允許訪問,則:
acc_v=1;
acc_std_x=加速度計x方向采樣值的標準差;
acc_std_y=加速度計y方向采樣值的標準差;
acc_std_z=加速度計z方向采樣值的標準差。
如果加速度計的可訪問狀態為不允許訪問,則其所有參數值都相應記為0,即:
acc_v=0;
acc_std_x=0;
acc_std_y=0;
acc_std_z=0。
同理,對于陀螺儀,其參數可以包括:陀螺儀可訪問標識(gy_v)、陀螺儀x方向標準差(gy_std_x)、陀螺儀y方向標準差(gy_std_y)、陀螺儀z方向標準差(gy_std_z)。
對于磁力計(即magnetometer),其參數可以包括:磁力計可訪問標識(mag_v)、磁力計x方向標準差(mag_std_x)、磁力計y方向標準差(mag_std_y)、磁力計z方向標準差(mag_std_z)。
對于方位傳感器(即orientationsensor),其參數可以包括:方位傳感器可訪問標識(ori_v)、方位傳感器x方向標準差(ori_std_x)、方位傳感器y方向標準差 (ori_std_y)、方位傳感器z方向標準差(ori_std_z)。
其中,以加速度計x方向為例,假設針對某個用戶操作行為,在加速度計x方向上各個采樣周期得到的狀態采樣值為xi,(其中,i=1,2,…,n,n為采樣周期總個數),則其標準差計算公式為
基于以上各個傳感器參數,可以得到相應的特征向量:
vt=[acc_v,acc_std_x,acc_std_y,acc_std_z,gy_v,gy_std_x,gy_std_y,gy_std_z,mag_std_x,mag_std_y,mag_std_z,ori_v,ori_std_x,ori_std_y,ori_std_z]。
將步驟s122轉化得到的特征向量輸入步驟s14訓練得到的預設神經網絡模型,即將所述特征向量作為變量值輸入上述非線性函數,解析該非線性函數得到對應的函數計算結果,該函數計算結果即為步驟s11獲取到的狀態采樣值對應的用戶操作行為的可信度。
由以上步驟可知,本申請實施例將獲取到的狀態采樣值最終轉化為用戶操作行為的特征向量,并通過神經網絡模型來確定該特征向量對應的用戶操作行為的可信度,進而可以根據該可行度判斷該用戶操作行為是否為刷量行為,整個識別過程可以完全采用計算機進行分析處理,可以提高識別效率;同時,上述預設神經網絡模型的模型參數由大量樣本數據訓練得到的,可以保證識別準確率。
可選的,在步驟s13得到識別結果,判定某個用戶操作行為為刷量行為后,還可以進一步根據打點日志確定該用戶操作行為對應的標識碼和移動設備標識碼等信息,以便于對相關設備或用戶進行警告或限制,避免其繼續進行刷量。
另外,本申請實施例還提供了一種計算機存儲介質,例如可以是rom、隨機存取存儲器(ram)、cd-rom、磁帶、軟盤和光數據存儲設備等;該計算機存儲介質中存儲有程序,當所述存儲介質中的程序由相應處理器執行時,使得該處理器能夠執行上述方法實施例中記載的部分或全部步驟。
相應于上述應用程序的刷量識別方法,本申請實施例還提供了一種應用程序的刷量識別裝置。圖3為該裝置的一種結構框圖,具體包括:數據采樣單元100、數據處理單元200和刷量識別單元300。
其中,該數據采樣單元100用于,獲取每次用戶操作行為發生時相應移動終端中各個傳感器的狀態采樣值。
該數據處理單元200用于,根據所述狀態采樣值計算所述用戶操作行為的可信度。
該刷量識別單元300用于,判斷所述用戶操作行為的可信度是否在預設范圍內,如果是,則判定所述用戶操作行為為刷量行為。
由以上裝置結構可知,本申請實施例通過獲取每次用戶操作行為發生時相應的移動終端各個傳感器的狀態采樣值,進而根據各個傳感器的狀態采樣值計算該用操作行為的可信度,如果該可信度在預設范圍內,則判定相應的用戶操作行為是刷量行為。可見,相對于現有技術,上述刷量識別方法顆粒度更細,可以具體到對某個群體的某個用戶的某個操作行為進行識別,且不被惡意用戶偽裝的操作行為所欺騙,能有效應對偽裝成單次或少量下載的欺詐刷量行為;且不需要用戶的歷史操作信息,不需要用戶的賬戶信息,具有識別準確率高,反刷量能力好的優點。
在本申請一個可行的實施例中,上述應用程序的刷量識別裝置在實際應用中的配置方式如圖4所示,上述數據采樣單元1001可以直接設置在移動終端中,數據處理單元200和刷量識別單元300設置于服務器中;數據采樣單元100實時或定時將用戶操作行為對應的狀態采樣值上傳至服務器,進而有服務器中的數據處理單元200和刷量識別單元300對每個移動終端或每個用戶對應的每次操作行為進行識別。
在本申請一個可行的實施例中,上述數據采樣單元100具體可以包括:
訪問狀態確定模塊,用于在發生用戶操作行為時,獲取相應移動終端中各個傳感器的可訪問狀態;
數據采樣模塊,用于對于可訪問狀態為允許訪問的傳感器,按照預設采樣周期對其狀態值進行采樣得到對應的狀態采樣值。
進一步的,上述刷量識別裝置還可以包括:打點記錄單元。
該打點記錄單元具體可以與數據采樣單元共同設置于移動終端中,用于在數據采樣單元獲取到所述狀態采樣值后,將所述狀態采樣值與對應的傳感器標識碼和移動終端標識碼以打點日志的形式進行存儲。
參照圖5,在本申請一個可行的實施例中,上述裝置還可以包括:
模型訓練單元400,用于獲取狀態值正樣本和狀態值負樣本,并根據所述狀態值正 樣本和狀態值負樣本進行訓練,確定預設神經網絡模型的模型參數。
具體的,該模型訓練單元400可以與上述數據處理單元200和刷量識別單元300共同設置于服務器中。
相應的,數據處理單元200可以包括:
標準差計算模塊201,用于根據所述狀態采樣值計算各個傳感器的采樣值標準差;
特征向量生成模塊202,用于根據所述采樣值標準差生成對應于所述用戶操作行為的特征向量;
可信度計算模塊203,用于將所述特征向量生成單元生成的特征向量輸入預設神經網絡模型,并根據所述預設神經網絡模型的模型參數計算所述用戶操作行為的可信度。
其中,采樣值標準差的計算方式可參照上文方法實施例,此處不再贅述。
本申請實施例將獲取到的狀態采樣值最終轉化為用戶操作行為的特征向量,進而通過基于大量樣本數據訓練得到的預設神經網絡模型以上述特征向量為輸入計算得到相應用戶操作行為的可信度,基于該可信度實現對用戶操作行為的識別,確定其是否為刷量行為,可以提高識別效率和準確率。
關于上述實施例中的裝置,其中各個單元執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本發明的其它實施方案。本申請旨在涵蓋本發明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發明的一般性原理并包括本申請未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發明的真正范圍和精神由下面的權利要求指出。
應當理解的是,本發明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發明的范圍僅由所附的權利要求來限制。