微信分享次數統計

2022-08-01 09:15:10 字數 1477 閱讀 7667

關係,指的是在海報傳播過程中,使用者之間形成的傳播關係,比如使用者a將海報傳播給c。

1. 早期服務

2. neo4j的嘗試

於是,我們思考,有沒有可能在後端直接構建完整的傳播資訊,後期使用時直接根據條件就可以查詢出所需的資料,前端上報時也不用攜帶傳播鏈資訊,我們想到了圖形資料庫儲存技術。 

圖形資料庫是一種非關係型資料庫,它應用圖形理論儲存實體之間的關係資訊。在文章開頭的那張傳播圖中,使用者的行為資料其實可以歸結為使用者與海報之間的關係資料,這樣,這個系統其實就包含兩種實體:使用者、海報,三種關係:使用者開啟海報、使用者分享海報、使用者之間的傳播。在諸多圖形資料庫中,我們決定選擇比較成熟、文件相對豐富的neo4j來做demo。採用neo4j的查詢語法,很簡單的就可以查詢出所需資料,簡單示例一下。

# 查詢1度分享者

match (u:user) - [:forward] -> (p:poster) return u

# 查詢瀏覽情況

然而,一切並非預期的那麼完美,在demo過程中,我們發現有兩點問題不能很好的滿足我們的需求:

# 查詢2度分享者

雖然這些問題可以想辦法繞過去,比如根據時間建立不同的實體節點等等,但是這樣會把資料儲存做複雜化,經過權衡,我們暫時擱置了這個方案。

3. 基於使用者行為資料採集系統的方案

資料接入kafka後,一方面直接將原始資料儲存到elasticsearch,另一方面,以worker的形式來消費資料,根據相應的業務需求提取出所需的資料存入格式化資料表中,用於統計和獎勵活動。當某個推廣活動結束後,將其所屬的worker停掉即可。 

通過這樣的改進,我們暫時解決了前端上報混亂和後端業務邏輯膨脹的問題,將資料上報和業務需求隔離開。資料方面,實時資料流在kafka中,歷史資料也在elasticsearch中有儲存;業務需求方面,來了乙個新的需求後,我們只需新增乙個新的worker來實現消費邏輯,活動結束後停掉worker。

IOS微信分享

ios開發工具包,解壓後得到 libwechatsdk.a wxapi.h wxapiobject.h 三個檔案。將這3個檔案拖到你的工程裡。然後 選擇你的工程設定項,選中 targets 一欄,在 info 標籤欄的 url type 新增 url scheme 為你所註冊的應用程式id。如圖然後...

nodeJS微信分享

二 js請求node後台簽名 隨機數 時間戳之類的 function getwxsignature success function jsons 三 nodejs express 路由 分享 router.post activitywxshaer function req,res,next 簽名 p...

微信分享功能

最近在做手機端頁面,需要乙個分享功能,其實自身分享是可以的,但是為了分享出的內容豐富,比如縮圖了,描述了等等,如下圖所示 步驟一 繫結網域名稱步驟二 引入js檔案 在需要呼叫js介面的頁面引入如下js檔案,支援https 獲得access token 和 jsapi ticket這些需要後台去做 a...