采集自動(dòng)組合
采集自動(dòng)組合(采集自動(dòng)組合墻,帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 138 次瀏覽 ? 2021-12-25 13:05
采集自動(dòng)組合墻,基于redhat源代碼,30行代碼搞定,并且帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí)。關(guān)注下這個(gè):redhatreleasenight/ymca·github,歡迎fork,
看你的組合墻的用途。如果只是加個(gè)模擬碼,用python就夠了。如果是一鍵連線(xiàn),用python連到mysql就行。但是因為你的組合墻一般是處理整個(gè)靜態(tài)網(wǎng)頁(yè)文件的,所以建議走lua。如果是一些動(dòng)態(tài)接口。那么連接mysql的時(shí)候走redis就行。
可以使用可以組合墻的框架(兼容redhat,性能也不錯):redblit-redhat-golang-multibox-redis。直接ctrl+c可以退出模擬連接。沒(méi)辦法可以幫到你了。
貌似實(shí)現最多就是加三個(gè)mysql可以連的網(wǎng)絡(luò )接口,通過(guò)這三個(gè)接口用純python處理靜態(tài)網(wǎng)頁(yè),這樣就可以裝多個(gè)redis然后開(kāi)10個(gè)服務(wù)就能組合出來(lái)。
自己寫(xiě)!opera的radva
用mysql連,我一個(gè)方案是寫(xiě)了多個(gè)中間層。先用各種包封裝成模塊,例如通過(guò)func連接分頁(yè)器listlist這個(gè)接口??梢赃B的多,又很快。如果做后端開(kāi)發(fā)的話(huà)??梢钥紤]fastq,它是把各種模塊封裝成一個(gè)sql然后用mysql/mssql連。這個(gè)效率肯定比mysql/mssql高,但是肯定不是to-db這種云服務(wù)的innodb。
===如果不用mysql,而是說(shuō)數據庫連接管理,請參考modbus接口。不過(guò)由于你沒(méi)說(shuō)明你具體的項目,后端開(kāi)發(fā)也沒(méi)有那么復雜。既然用mysql了,后端開(kāi)發(fā)工作量肯定小不了,只有一個(gè)就是redis了。安裝配置調整權限什么的,有時(shí)間肯定可以搞定。學(xué)業(yè)余做個(gè)網(wǎng)站,不需要很復雜,可以把需要的功能組合起來(lái),好多網(wǎng)站實(shí)現起來(lái)都簡(jiǎn)單的很,主要還是看業(yè)務(wù)。-推薦一本書(shū)給你,howtoworkwithbootstraps--參考自網(wǎng)。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合墻,帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí))
采集自動(dòng)組合墻,基于redhat源代碼,30行代碼搞定,并且帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí)。關(guān)注下這個(gè):redhatreleasenight/ymca·github,歡迎fork,
看你的組合墻的用途。如果只是加個(gè)模擬碼,用python就夠了。如果是一鍵連線(xiàn),用python連到mysql就行。但是因為你的組合墻一般是處理整個(gè)靜態(tài)網(wǎng)頁(yè)文件的,所以建議走lua。如果是一些動(dòng)態(tài)接口。那么連接mysql的時(shí)候走redis就行。
可以使用可以組合墻的框架(兼容redhat,性能也不錯):redblit-redhat-golang-multibox-redis。直接ctrl+c可以退出模擬連接。沒(méi)辦法可以幫到你了。
貌似實(shí)現最多就是加三個(gè)mysql可以連的網(wǎng)絡(luò )接口,通過(guò)這三個(gè)接口用純python處理靜態(tài)網(wǎng)頁(yè),這樣就可以裝多個(gè)redis然后開(kāi)10個(gè)服務(wù)就能組合出來(lái)。
自己寫(xiě)!opera的radva
用mysql連,我一個(gè)方案是寫(xiě)了多個(gè)中間層。先用各種包封裝成模塊,例如通過(guò)func連接分頁(yè)器listlist這個(gè)接口??梢赃B的多,又很快。如果做后端開(kāi)發(fā)的話(huà)??梢钥紤]fastq,它是把各種模塊封裝成一個(gè)sql然后用mysql/mssql連。這個(gè)效率肯定比mysql/mssql高,但是肯定不是to-db這種云服務(wù)的innodb。
===如果不用mysql,而是說(shuō)數據庫連接管理,請參考modbus接口。不過(guò)由于你沒(méi)說(shuō)明你具體的項目,后端開(kāi)發(fā)也沒(méi)有那么復雜。既然用mysql了,后端開(kāi)發(fā)工作量肯定小不了,只有一個(gè)就是redis了。安裝配置調整權限什么的,有時(shí)間肯定可以搞定。學(xué)業(yè)余做個(gè)網(wǎng)站,不需要很復雜,可以把需要的功能組合起來(lái),好多網(wǎng)站實(shí)現起來(lái)都簡(jiǎn)單的很,主要還是看業(yè)務(wù)。-推薦一本書(shū)給你,howtoworkwithbootstraps--參考自網(wǎng)。
采集自動(dòng)組合(型號:自動(dòng)發(fā)布軟件(組圖)!)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 92 次瀏覽 ? 2021-12-24 19:16
型號:自動(dòng)發(fā)布軟件規模:B2B采購發(fā)布軟件規格:主要平臺發(fā)布軟件**:創(chuàng )新
B2B自動(dòng)發(fā)帖的主要功能:代替手動(dòng)發(fā)帖信息,建站,適用于任何行業(yè),自動(dòng)發(fā)信息是一個(gè)工具,不僅可以節省你的時(shí)間,還可以為你節省很多**,只要你能在這個(gè)平臺上用鼠標和鍵盤(pán)回車(chē),那么我們的就可以實(shí)現了。售后服務(wù):產(chǎn)品推廣,只要你能站得住,沒(méi)時(shí)間每天注冊、發(fā)布、刷新信息,就選擇我們
發(fā)布產(chǎn)品信息可以節省時(shí)間和人力。自動(dòng)發(fā)布信息軟件 信息發(fā)布軟件 自動(dòng)發(fā)布信息軟件 發(fā)布軟件 信息發(fā)布軟件發(fā)布文章軟件
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后再導入配置加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺** URL地址,拍下您要發(fā)送的產(chǎn)品圖片。
3、 本地電腦手動(dòng)批量導入圖片。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合。常用的格式是物聯(lián)網(wǎng)產(chǎn)品信息成本自動(dòng)過(guò)賬助手。通過(guò)各種自定義組合,您可以生成千變萬(wàn)化的不同標題。發(fā)布文章軟件
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
案件:
5個(gè)新模板!獲得 5 種不同的產(chǎn)品介紹,循環(huán)發(fā)布以改進(jìn) 收錄!
zz91重生網(wǎng)絡(luò )助手發(fā)布軟件,環(huán)保在線(xiàn)助手發(fā)布軟件,東商網(wǎng)絡(luò )助手發(fā)布軟件。儀器網(wǎng)絡(luò )助手軟件發(fā)布,啟輝網(wǎng)絡(luò )助手發(fā)布軟件,云商網(wǎng)絡(luò )助手發(fā)布軟件。萬(wàn)國商務(wù)網(wǎng)助手發(fā)布軟件,商國互聯(lián)助手發(fā)布軟件,艾特貿易網(wǎng)助手發(fā)布軟件。要知道,網(wǎng)助手發(fā)布軟件,麥網(wǎng)助手發(fā)布軟件,達納網(wǎng)助手發(fā)布軟件。
問(wèn):軟件包升級了嗎?如果我們無(wú)法發(fā)送怎么辦?答:我們有專(zhuān)門(mén)的售后團隊。如果無(wú)法發(fā)送,則表示他們的平臺已升級。這時(shí)候我們的軟件會(huì )馬上升級,我們會(huì )及時(shí)更新。新的會(huì )傳給你,或者你點(diǎn)擊會(huì )自動(dòng)升級 查看全部
采集自動(dòng)組合(型號:自動(dòng)發(fā)布軟件(組圖)!)
型號:自動(dòng)發(fā)布軟件規模:B2B采購發(fā)布軟件規格:主要平臺發(fā)布軟件**:創(chuàng )新
B2B自動(dòng)發(fā)帖的主要功能:代替手動(dòng)發(fā)帖信息,建站,適用于任何行業(yè),自動(dòng)發(fā)信息是一個(gè)工具,不僅可以節省你的時(shí)間,還可以為你節省很多**,只要你能在這個(gè)平臺上用鼠標和鍵盤(pán)回車(chē),那么我們的就可以實(shí)現了。售后服務(wù):產(chǎn)品推廣,只要你能站得住,沒(méi)時(shí)間每天注冊、發(fā)布、刷新信息,就選擇我們
發(fā)布產(chǎn)品信息可以節省時(shí)間和人力。自動(dòng)發(fā)布信息軟件 信息發(fā)布軟件 自動(dòng)發(fā)布信息軟件 發(fā)布軟件 信息發(fā)布軟件發(fā)布文章軟件
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后再導入配置加載之前的設置,省時(shí)省事。

三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺** URL地址,拍下您要發(fā)送的產(chǎn)品圖片。
3、 本地電腦手動(dòng)批量導入圖片。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合。常用的格式是物聯(lián)網(wǎng)產(chǎn)品信息成本自動(dòng)過(guò)賬助手。通過(guò)各種自定義組合,您可以生成千變萬(wàn)化的不同標題。發(fā)布文章軟件

四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
案件:
5個(gè)新模板!獲得 5 種不同的產(chǎn)品介紹,循環(huán)發(fā)布以改進(jìn) 收錄!

zz91重生網(wǎng)絡(luò )助手發(fā)布軟件,環(huán)保在線(xiàn)助手發(fā)布軟件,東商網(wǎng)絡(luò )助手發(fā)布軟件。儀器網(wǎng)絡(luò )助手軟件發(fā)布,啟輝網(wǎng)絡(luò )助手發(fā)布軟件,云商網(wǎng)絡(luò )助手發(fā)布軟件。萬(wàn)國商務(wù)網(wǎng)助手發(fā)布軟件,商國互聯(lián)助手發(fā)布軟件,艾特貿易網(wǎng)助手發(fā)布軟件。要知道,網(wǎng)助手發(fā)布軟件,麥網(wǎng)助手發(fā)布軟件,達納網(wǎng)助手發(fā)布軟件。
問(wèn):軟件包升級了嗎?如果我們無(wú)法發(fā)送怎么辦?答:我們有專(zhuān)門(mén)的售后團隊。如果無(wú)法發(fā)送,則表示他們的平臺已升級。這時(shí)候我們的軟件會(huì )馬上升級,我們會(huì )及時(shí)更新。新的會(huì )傳給你,或者你點(diǎn)擊會(huì )自動(dòng)升級
采集自動(dòng)組合(vucf自動(dòng)發(fā)帖軟件別讓發(fā)帖占用你的時(shí)間(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 149 次瀏覽 ? 2021-12-22 13:17
搜索好貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)vucf
自動(dòng)發(fā)帖軟件,不要讓發(fā)帖占用你的時(shí)間
愛(ài)出版-企業(yè)信息助手:分類(lèi)信息臺、B2B臺的通用信息發(fā)布軟件。不僅取代人工軟件,實(shí)現自動(dòng)發(fā)布,還可以自動(dòng)切換標題、內容、圖片等。
軟件支持自動(dòng)隨機生成標題,自動(dòng)發(fā)布軟件自動(dòng)插入國家城市名稱(chēng)和任意詞尾,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,如只要你發(fā)帖,秒收!自動(dòng)發(fā)布軟件軟件可以從已設置的不同內容中隨機選擇一個(gè)內容
搜貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)
軟文 批量發(fā)布到各大博客。節省時(shí)間、精力和金錢(qián)。支持自動(dòng)隨機生成標題,自動(dòng)城市名和任意結尾詞,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,只要你發(fā)到站里,您將在幾秒鐘內收到它!您可以在已設置的不同內容中隨機選擇一個(gè)內容??蓪?shí)現大規模B2B網(wǎng)站;包括門(mén)戶(hù)博客和大型、文章投遞、分類(lèi)信息、貼吧問(wèn)吧、維基百科、相冊、新聞評論。自動(dòng)注冊各種中小博客等高價(jià)值高權重網(wǎng)站,自動(dòng)發(fā)布文章信息??梢栽O置固定數量的網(wǎng)站 發(fā)帖然后再跳轉到另一個(gè)網(wǎng)站繼續發(fā)帖,還可以添加無(wú)數的自動(dòng)切換??梢栽O置完成任務(wù)后自動(dòng)關(guān)機,可以在沒(méi)有工作人員在場(chǎng)的情況下讓電腦在夜間自動(dòng)發(fā)布,并且可以根據自己的網(wǎng)絡(luò )設置發(fā)布速度。自動(dòng)海報6,收錄多項智能功能,如:一鍵采集關(guān)鍵詞,一鍵采集圖片,自動(dòng)生成標題,自動(dòng)生成內容,隨機智能選擇各種單詞,等不用擔心我們的軟件已經(jīng)為您定制了圖像處理功能。用戶(hù)可以輕松壓縮圖像的大小和大小。此外,軟件內置的文字轉圖片功能,可以大大減少產(chǎn)品廣告重復造成的內容重復問(wèn)題。敏感詞批量替換。從2016年到現在,文化部和文化化工部嚴厲打擊。
一鍵重新發(fā)送所有同步信息,非常省事。@軟件優(yōu)勢:可視化內容編輯器在信息時(shí)代,并不是所有人都知道專(zhuān)業(yè)的HTML代碼。我們的 B2B 消息傳遞助手使用可視化 html 編輯器。用戶(hù)無(wú)需理解html代碼,編輯內容可見(jiàn)??梢噪S意加粗、換行、添加圖片、更改字體顏色大小等操作??梢杂檬髽瞬僮鬈浖l(fā)送信息。您可以使用多個(gè)內容模板來(lái)調用一個(gè)好的公司產(chǎn)品廣告。不可能是一樣的。搜索引擎只喜歡高度變化的內容。使用軟件可以增加百度收錄,增加曝光度,達到主動(dòng)營(yíng)銷(xiāo)的效果,最終促成交易!用戶(hù)可以創(chuàng )建多種內容模板進(jìn)行通話(huà),用戶(hù)可以根據不同的產(chǎn)品設置不同的軟文文章來(lái)增加訪(fǎng)問(wèn)量。驗證碼是自動(dòng)識別的。許多站點(diǎn)需要驗證碼才能發(fā)送消息。不用擔心,我們會(huì )在軟件中加入自動(dòng)識別驗證碼的功能,以提高本次信息化的發(fā)布效率。
ipublished B2B助手功能介紹:
一、定時(shí)發(fā)送功能
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果您有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后導入配置即可加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺獲取URL地址,并拍攝您要發(fā)送的產(chǎn)品圖片。
3、 在本地電腦上手動(dòng)批量導入圖片。
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合,常用格式為{字符1} {字符2} {字符3},通過(guò)各種自定義組合,可以產(chǎn)生千變萬(wàn)化的不同標題。
六、自動(dòng)插入偽原創(chuàng )功能
為了保證每次發(fā)布的內容不重復,有兩種格式可供選擇。
世界繼續發(fā)展,美國局勢繼續惡化。持續的價(jià)差將有助于提振黃金需求。Worldometers實(shí)時(shí)統計經(jīng)濟數據顯示,全球累計確診肺炎病例已超過(guò)6130萬(wàn)例,累計病例數已超過(guò)143.70,000例。美國累計確診肺炎病例超過(guò)1324萬(wàn),累計病例數超過(guò)9萬(wàn)。據《美國大西洋月刊》公布的經(jīng)濟數據顯示,美國醫院的肺炎患者達到9萬(wàn)人,創(chuàng )下疫情爆發(fā)以來(lái)的新高。信息。美國累計確診病例超過(guò)1324萬(wàn),人數超過(guò)2< @6.90,000。美國單日病例超過(guò)1200例。當地時(shí)間11月26日,美國方面表示最早將于下周開(kāi)始發(fā)貨。這一聲明是在與駐扎在美國境外的軍隊進(jìn)行視頻交流時(shí)作出的。指出,奮戰在前線(xiàn)的人員、醫務(wù)人員和老人將優(yōu)先接種。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。
全球累計確診肺炎病例超過(guò)6354萬(wàn),達到病例;累計病例數超過(guò)147.30,000,達到病例。美國肺炎累計確診病例突破1390萬(wàn),單日累計達14萬(wàn)多例;累計病例數超過(guò)27.40000例,累計達到1000多例。美國大西洋月刊公布的經(jīng)濟數據顯示,美國住院肺炎患者達93265人,創(chuàng )疫情以來(lái)新高。當地時(shí)間11月30日,世界衛生組織(WHO)肺炎例行公事。世衛組織總干事譚德塞表示,疾病追蹤專(zhuān)家組成員名單已經(jīng)公布,其中包括來(lái)自英國、美國等國家的專(zhuān)家。世衛組織的立場(chǎng)一直很明確。研究應該以科學(xué)為基礎。世衛組織將盡一切可能了解疾病的來(lái)源。并呼吁大家在這個(gè)問(wèn)題上進(jìn)行合作。11月30日,根據國內經(jīng)濟數據。
受對美國庫存增加和需求增長(cháng)下降的擔憂(yōu)影響,自 1 月 14 日起設定收盤(pán)價(jià)。該機構報告稱(chēng),一群德國經(jīng)濟和企業(yè)家本周向德國提出了針對該貨幣的投訴。這將導致德德之間的矛盾加深。傳入的貨幣受到德國的批評。德國不斷抱怨低利率損害了德國的養老金,這可能會(huì )激發(fā)對右翼情緒的支持。據德國Weltam Sonntag媒體報道,上訴的主要目的是確定擴大購債規模和擴大QE范圍的計劃是否越權。提出投訴的經(jīng)濟學(xué)和企業(yè)家表示,該貨幣對德國資產(chǎn)的財務(wù)狀況構成了無(wú)法估量的威脅,也對德國納稅人構成了威脅。這只是達到 2% 貨幣目標的掩護。該上訴是由 Markus Kerber 發(fā)起的。Markus Kerber 是一名律師和公共財政。他說(shuō),目前的貨幣是沒(méi)有必要的。
nu8lg1za 查看全部
采集自動(dòng)組合(vucf自動(dòng)發(fā)帖軟件別讓發(fā)帖占用你的時(shí)間(圖))
搜索好貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)vucf
自動(dòng)發(fā)帖軟件,不要讓發(fā)帖占用你的時(shí)間
愛(ài)出版-企業(yè)信息助手:分類(lèi)信息臺、B2B臺的通用信息發(fā)布軟件。不僅取代人工軟件,實(shí)現自動(dòng)發(fā)布,還可以自動(dòng)切換標題、內容、圖片等。
軟件支持自動(dòng)隨機生成標題,自動(dòng)發(fā)布軟件自動(dòng)插入國家城市名稱(chēng)和任意詞尾,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,如只要你發(fā)帖,秒收!自動(dòng)發(fā)布軟件軟件可以從已設置的不同內容中隨機選擇一個(gè)內容
搜貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)

軟文 批量發(fā)布到各大博客。節省時(shí)間、精力和金錢(qián)。支持自動(dòng)隨機生成標題,自動(dòng)城市名和任意結尾詞,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,只要你發(fā)到站里,您將在幾秒鐘內收到它!您可以在已設置的不同內容中隨機選擇一個(gè)內容??蓪?shí)現大規模B2B網(wǎng)站;包括門(mén)戶(hù)博客和大型、文章投遞、分類(lèi)信息、貼吧問(wèn)吧、維基百科、相冊、新聞評論。自動(dòng)注冊各種中小博客等高價(jià)值高權重網(wǎng)站,自動(dòng)發(fā)布文章信息??梢栽O置固定數量的網(wǎng)站 發(fā)帖然后再跳轉到另一個(gè)網(wǎng)站繼續發(fā)帖,還可以添加無(wú)數的自動(dòng)切換??梢栽O置完成任務(wù)后自動(dòng)關(guān)機,可以在沒(méi)有工作人員在場(chǎng)的情況下讓電腦在夜間自動(dòng)發(fā)布,并且可以根據自己的網(wǎng)絡(luò )設置發(fā)布速度。自動(dòng)海報6,收錄多項智能功能,如:一鍵采集關(guān)鍵詞,一鍵采集圖片,自動(dòng)生成標題,自動(dòng)生成內容,隨機智能選擇各種單詞,等不用擔心我們的軟件已經(jīng)為您定制了圖像處理功能。用戶(hù)可以輕松壓縮圖像的大小和大小。此外,軟件內置的文字轉圖片功能,可以大大減少產(chǎn)品廣告重復造成的內容重復問(wèn)題。敏感詞批量替換。從2016年到現在,文化部和文化化工部嚴厲打擊。
一鍵重新發(fā)送所有同步信息,非常省事。@軟件優(yōu)勢:可視化內容編輯器在信息時(shí)代,并不是所有人都知道專(zhuān)業(yè)的HTML代碼。我們的 B2B 消息傳遞助手使用可視化 html 編輯器。用戶(hù)無(wú)需理解html代碼,編輯內容可見(jiàn)??梢噪S意加粗、換行、添加圖片、更改字體顏色大小等操作??梢杂檬髽瞬僮鬈浖l(fā)送信息。您可以使用多個(gè)內容模板來(lái)調用一個(gè)好的公司產(chǎn)品廣告。不可能是一樣的。搜索引擎只喜歡高度變化的內容。使用軟件可以增加百度收錄,增加曝光度,達到主動(dòng)營(yíng)銷(xiāo)的效果,最終促成交易!用戶(hù)可以創(chuàng )建多種內容模板進(jìn)行通話(huà),用戶(hù)可以根據不同的產(chǎn)品設置不同的軟文文章來(lái)增加訪(fǎng)問(wèn)量。驗證碼是自動(dòng)識別的。許多站點(diǎn)需要驗證碼才能發(fā)送消息。不用擔心,我們會(huì )在軟件中加入自動(dòng)識別驗證碼的功能,以提高本次信息化的發(fā)布效率。
ipublished B2B助手功能介紹:
一、定時(shí)發(fā)送功能
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果您有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后導入配置即可加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺獲取URL地址,并拍攝您要發(fā)送的產(chǎn)品圖片。
3、 在本地電腦上手動(dòng)批量導入圖片。
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合,常用格式為{字符1} {字符2} {字符3},通過(guò)各種自定義組合,可以產(chǎn)生千變萬(wàn)化的不同標題。
六、自動(dòng)插入偽原創(chuàng )功能
為了保證每次發(fā)布的內容不重復,有兩種格式可供選擇。

世界繼續發(fā)展,美國局勢繼續惡化。持續的價(jià)差將有助于提振黃金需求。Worldometers實(shí)時(shí)統計經(jīng)濟數據顯示,全球累計確診肺炎病例已超過(guò)6130萬(wàn)例,累計病例數已超過(guò)143.70,000例。美國累計確診肺炎病例超過(guò)1324萬(wàn),累計病例數超過(guò)9萬(wàn)。據《美國大西洋月刊》公布的經(jīng)濟數據顯示,美國醫院的肺炎患者達到9萬(wàn)人,創(chuàng )下疫情爆發(fā)以來(lái)的新高。信息。美國累計確診病例超過(guò)1324萬(wàn),人數超過(guò)2< @6.90,000。美國單日病例超過(guò)1200例。當地時(shí)間11月26日,美國方面表示最早將于下周開(kāi)始發(fā)貨。這一聲明是在與駐扎在美國境外的軍隊進(jìn)行視頻交流時(shí)作出的。指出,奮戰在前線(xiàn)的人員、醫務(wù)人員和老人將優(yōu)先接種。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。
全球累計確診肺炎病例超過(guò)6354萬(wàn),達到病例;累計病例數超過(guò)147.30,000,達到病例。美國肺炎累計確診病例突破1390萬(wàn),單日累計達14萬(wàn)多例;累計病例數超過(guò)27.40000例,累計達到1000多例。美國大西洋月刊公布的經(jīng)濟數據顯示,美國住院肺炎患者達93265人,創(chuàng )疫情以來(lái)新高。當地時(shí)間11月30日,世界衛生組織(WHO)肺炎例行公事。世衛組織總干事譚德塞表示,疾病追蹤專(zhuān)家組成員名單已經(jīng)公布,其中包括來(lái)自英國、美國等國家的專(zhuān)家。世衛組織的立場(chǎng)一直很明確。研究應該以科學(xué)為基礎。世衛組織將盡一切可能了解疾病的來(lái)源。并呼吁大家在這個(gè)問(wèn)題上進(jìn)行合作。11月30日,根據國內經(jīng)濟數據。
受對美國庫存增加和需求增長(cháng)下降的擔憂(yōu)影響,自 1 月 14 日起設定收盤(pán)價(jià)。該機構報告稱(chēng),一群德國經(jīng)濟和企業(yè)家本周向德國提出了針對該貨幣的投訴。這將導致德德之間的矛盾加深。傳入的貨幣受到德國的批評。德國不斷抱怨低利率損害了德國的養老金,這可能會(huì )激發(fā)對右翼情緒的支持。據德國Weltam Sonntag媒體報道,上訴的主要目的是確定擴大購債規模和擴大QE范圍的計劃是否越權。提出投訴的經(jīng)濟學(xué)和企業(yè)家表示,該貨幣對德國資產(chǎn)的財務(wù)狀況構成了無(wú)法估量的威脅,也對德國納稅人構成了威脅。這只是達到 2% 貨幣目標的掩護。該上訴是由 Markus Kerber 發(fā)起的。Markus Kerber 是一名律師和公共財政。他說(shuō),目前的貨幣是沒(méi)有必要的。
nu8lg1za
采集自動(dòng)組合(軟件特色優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-12-18 06:09
優(yōu)采云瀏覽器(數據庫采集器)是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)。下載文件、操作數據庫、發(fā)送和接收電子郵件等。
編程語(yǔ)言
優(yōu)采云瀏覽器的編程語(yǔ)言是C#。C#結合了VB簡(jiǎn)單的可視化操作和C++的高運行效率。它提高了開(kāi)發(fā)效率,也努力消除了可能導致嚴重結果的編程錯誤。憑借其強大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng )新的語(yǔ)言特性以及便捷的面向組件的編程支持,已成為軟件開(kāi)發(fā)的首選語(yǔ)言。
需要安裝.net 4.5:
軟件特點(diǎn)
優(yōu)采云Browser 是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件。等等。也可以使用邏輯運算來(lái)完成判斷、循環(huán)、跳轉等操作。所有功能完全自由組合,您可以編寫(xiě)強大而獨特的腳本來(lái)輔助我們的工作,也可以生成單獨的EXE程序出售
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。還可以制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)
特征
可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等都很簡(jiǎn)單。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
定制流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。 查看全部
采集自動(dòng)組合(軟件特色優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具(圖))
優(yōu)采云瀏覽器(數據庫采集器)是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)。下載文件、操作數據庫、發(fā)送和接收電子郵件等。
編程語(yǔ)言
優(yōu)采云瀏覽器的編程語(yǔ)言是C#。C#結合了VB簡(jiǎn)單的可視化操作和C++的高運行效率。它提高了開(kāi)發(fā)效率,也努力消除了可能導致嚴重結果的編程錯誤。憑借其強大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng )新的語(yǔ)言特性以及便捷的面向組件的編程支持,已成為軟件開(kāi)發(fā)的首選語(yǔ)言。
需要安裝.net 4.5:
軟件特點(diǎn)
優(yōu)采云Browser 是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件。等等。也可以使用邏輯運算來(lái)完成判斷、循環(huán)、跳轉等操作。所有功能完全自由組合,您可以編寫(xiě)強大而獨特的腳本來(lái)輔助我們的工作,也可以生成單獨的EXE程序出售
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。還可以制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)

特征
可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等都很簡(jiǎn)單。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
定制流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。
采集自動(dòng)組合(阿里云日志服務(wù)日志采集方式對比方式)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 161 次瀏覽 ? 2021-12-13 03:27
總結: DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn)。目前還沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
Kubernetes(K8S)作為CNCF(云原生計算基金會(huì ))的核心項目,得到了Google和Redhat強大社區的支持。近兩年發(fā)展迅速。在成為容器編排領(lǐng)域的佼佼者的同時(shí),也在向PAAS基地邁進(jìn)。標準配置的開(kāi)發(fā)。
記錄 采集 方法
日志是任何系統不可或缺的一部分。K8S官方文檔還介紹了多種日志采集形式。綜上所述,主要有以下三種:native模式、DaemonSet模式和Sidecar模式。
Native方法:使用kubectl logs直接查看本地保留的日志,或者通過(guò)docker引擎日志驅動(dòng)將日志重定向到files、syslog、fluentd等系統。DaemonSet方法:在K8S的每個(gè)節點(diǎn)上部署日志代理,從代理采集的所有容器的日志到服務(wù)器。Sidecar方式:在POD中運行一個(gè)sidecar日志代理容器,用于采集POD主容器生成的日志。
采集方法比較
每個(gè) 采集 方法都有一定的優(yōu)點(diǎn)和缺點(diǎn)。下面我們做一個(gè)簡(jiǎn)單的對比:
從上表可以看出:
native方法比較弱,一般不建議在生產(chǎn)系統中使用。否則很難完成問(wèn)題排查和數據統計。DaemonSet 方法在每個(gè)節點(diǎn)上只允許一個(gè)日志代理,在資源消耗方面要小得多,但具有可擴展性。,租戶(hù)隔離受限,更適合功能單一或業(yè)務(wù)不多的集群;Sidecar方式是為每個(gè)POD單獨部署日志代理,占用資源較多,但靈活性和多租戶(hù)隔離性強。推薦大型的。K8S集群或服務(wù)多個(gè)業(yè)務(wù)方的集群作為PAAS平臺使用這種方式。日志服務(wù)K8S采集方法
DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn),目前沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
這兩種模式都是基于Logtail實(shí)現的。日志服務(wù)客戶(hù)端Logtail已部署百萬(wàn)級。它每天有采集數萬(wàn)個(gè)應用程序和數PB的數據,并經(jīng)歷了多次雙11、雙12測試。. 相關(guān)技術(shù)分享請參考文章:多租戶(hù)隔離技術(shù)+雙十一實(shí)戰效果,Polling+Inotify組合下的日志保存方案采集。
DaemonS優(yōu)采云采集器 方法
Logtail 在 DaemonSet 模式下做了很多適配工作,包括:
詳細介紹文章,請參考:
再次升級!阿里云Kubernetes日志解決方案
LC3視角:Kubernetes下的日志采集,存儲處理技術(shù)實(shí)踐
Sidecar采集 方法
sidecar模式的配置和使用在虛擬機/物理機上比較少。從Logtail容器的角度來(lái)看:Logtail工作在一個(gè)“虛擬機”上,需要采集在這臺機器上。一個(gè)/一些日志文件。
但是容器場(chǎng)景有兩個(gè)問(wèn)題需要解決:
配置:使用編排配置代理容器動(dòng)態(tài):需要適應POD的IP地址和主機名的變化
目前Logtail的容器支持通過(guò)環(huán)境變量配置相關(guān)參數,支持自定義標識的機器組工作,可以完美解決以上兩個(gè)問(wèn)題。Sidecar 配置示例
sidecar模式下日志組件的安裝和配置方法如下:
第一步:部署Logtail容器。部署POD時(shí),將日志路徑掛載到本地,并將對應的卷掛載到Logtail容器中。Logtail容器需要配置ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_DEFINED_ID。參數含義及取值參見(jiàn):標準Docker日志采集。
尖端:
建議為L(cháng)ogtail容器配置健康檢查,以便在運行環(huán)境或內核異常時(shí)自動(dòng)恢復。示例中使用的Logtail鏡像訪(fǎng)問(wèn)阿里云杭州公網(wǎng)鏡像倉庫??梢愿鶕枰鼡Q成本區域的鏡像,使用內網(wǎng)方式。
apiVersion: batch/v1
kind: Job
metadata:
name: nginx-log-sidecar-demo
namespace: kube-system
spec:
template:
metadata:
name: nginx-log-sidecar-demo
spec:
# volumes配置
volumes:
- name: nginx-log
emptyDir: {}
containers:
# 主容器配置
- name: nginx-log-demo
image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
command: ["/bin/mock_log"]
args: ["--log-type=nginx", "--stdout=false", "--stderr=true", "--path=/var/log/nginx/access.log", "--total-count=1000000000", "--logs-per-sec=100"]
volumeMounts:
- name: nginx-log
mountPath: /var/log/ngin
# Logtail的Sidecar容器配置
- name: logtail
image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latest
env:
# aliuid
- name: "ALIYUN_LOGTAIL_USER_ID"
value: "165421******3050"
# 自定義標識機器組配置
- name: "ALIYUN_LOGTAIL_USER_DEFINED_ID"
value: "nginx-log-sidecar"
# 啟動(dòng)配置(用于選擇Logtail所在Region)
- name: "ALIYUN_LOGTAIL_CONFIG"
value: "/etc/ilogtail/conf/cn-hangzhou/ilogtail_config.json"
# 和主容器共享volume
volumeMounts:
- name: nginx-log
mountPath: /var/log/nginx
# 健康檢查
livenessProbe:
exec:
command:
- /etc/init.d/ilogtaild
- status
initialDelaySeconds: 30
periodSeconds: 30
第二步:配置機器組
如下圖,在日志服務(wù)控制臺中創(chuàng )建了一個(gè)Logtail機器組,機器組選擇自定義ID動(dòng)態(tài)適應POD ip地址的變化。具體步驟如下:
打開(kāi)日志服務(wù),創(chuàng )建Project和Logstore。詳細步驟請參考準備過(guò)程。在日志服務(wù)控制臺的機器組列表頁(yè)面,單擊創(chuàng )建機器組。選擇自定義標識,在自定義標識內容框中填寫(xiě)上一步配置的ALIYUN_LOGTAIL_USER_DEFINED_ID。
第三步:配置采集方法
機器組創(chuàng )建完成后,可以配置相應文件的采集配置。目前支持minimal、Nginx訪(fǎng)問(wèn)日志、分隔符日志、JSON日志、常規日志等多種格式。具體請參考:文本日志配置方法。本例中的配置如下:
第四步:查詢(xún)日志
采集配置完成并應用到機器組后,1分鐘內可以上傳采集日志,進(jìn)入采集的日志進(jìn)入查詢(xún)頁(yè)面可以找到采集對應的日志庫。
進(jìn)階日志
阿里云日志服務(wù)提供了完整的日志解決方案。登錄 采集 只是第一步。以下相關(guān)功能是高級日志的必備品:
日志上下文查詢(xún): 快速查詢(xún): 實(shí)時(shí)分析: 快速分析: 根據日志設置警報: 配置行情:
更多高級日志內容請參考:日志服務(wù)學(xué)習路徑。 查看全部
采集自動(dòng)組合(阿里云日志服務(wù)日志采集方式對比方式)
總結: DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn)。目前還沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
Kubernetes(K8S)作為CNCF(云原生計算基金會(huì ))的核心項目,得到了Google和Redhat強大社區的支持。近兩年發(fā)展迅速。在成為容器編排領(lǐng)域的佼佼者的同時(shí),也在向PAAS基地邁進(jìn)。標準配置的開(kāi)發(fā)。
記錄 采集 方法
日志是任何系統不可或缺的一部分。K8S官方文檔還介紹了多種日志采集形式。綜上所述,主要有以下三種:native模式、DaemonSet模式和Sidecar模式。
Native方法:使用kubectl logs直接查看本地保留的日志,或者通過(guò)docker引擎日志驅動(dòng)將日志重定向到files、syslog、fluentd等系統。DaemonSet方法:在K8S的每個(gè)節點(diǎn)上部署日志代理,從代理采集的所有容器的日志到服務(wù)器。Sidecar方式:在POD中運行一個(gè)sidecar日志代理容器,用于采集POD主容器生成的日志。
采集方法比較
每個(gè) 采集 方法都有一定的優(yōu)點(diǎn)和缺點(diǎn)。下面我們做一個(gè)簡(jiǎn)單的對比:
從上表可以看出:
native方法比較弱,一般不建議在生產(chǎn)系統中使用。否則很難完成問(wèn)題排查和數據統計。DaemonSet 方法在每個(gè)節點(diǎn)上只允許一個(gè)日志代理,在資源消耗方面要小得多,但具有可擴展性。,租戶(hù)隔離受限,更適合功能單一或業(yè)務(wù)不多的集群;Sidecar方式是為每個(gè)POD單獨部署日志代理,占用資源較多,但靈活性和多租戶(hù)隔離性強。推薦大型的。K8S集群或服務(wù)多個(gè)業(yè)務(wù)方的集群作為PAAS平臺使用這種方式。日志服務(wù)K8S采集方法
DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn),目前沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
這兩種模式都是基于Logtail實(shí)現的。日志服務(wù)客戶(hù)端Logtail已部署百萬(wàn)級。它每天有采集數萬(wàn)個(gè)應用程序和數PB的數據,并經(jīng)歷了多次雙11、雙12測試。. 相關(guān)技術(shù)分享請參考文章:多租戶(hù)隔離技術(shù)+雙十一實(shí)戰效果,Polling+Inotify組合下的日志保存方案采集。
DaemonS優(yōu)采云采集器 方法
Logtail 在 DaemonSet 模式下做了很多適配工作,包括:
詳細介紹文章,請參考:
再次升級!阿里云Kubernetes日志解決方案
LC3視角:Kubernetes下的日志采集,存儲處理技術(shù)實(shí)踐
Sidecar采集 方法
sidecar模式的配置和使用在虛擬機/物理機上比較少。從Logtail容器的角度來(lái)看:Logtail工作在一個(gè)“虛擬機”上,需要采集在這臺機器上。一個(gè)/一些日志文件。
但是容器場(chǎng)景有兩個(gè)問(wèn)題需要解決:
配置:使用編排配置代理容器動(dòng)態(tài):需要適應POD的IP地址和主機名的變化
目前Logtail的容器支持通過(guò)環(huán)境變量配置相關(guān)參數,支持自定義標識的機器組工作,可以完美解決以上兩個(gè)問(wèn)題。Sidecar 配置示例
sidecar模式下日志組件的安裝和配置方法如下:
第一步:部署Logtail容器。部署POD時(shí),將日志路徑掛載到本地,并將對應的卷掛載到Logtail容器中。Logtail容器需要配置ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_DEFINED_ID。參數含義及取值參見(jiàn):標準Docker日志采集。
尖端:
建議為L(cháng)ogtail容器配置健康檢查,以便在運行環(huán)境或內核異常時(shí)自動(dòng)恢復。示例中使用的Logtail鏡像訪(fǎng)問(wèn)阿里云杭州公網(wǎng)鏡像倉庫??梢愿鶕枰鼡Q成本區域的鏡像,使用內網(wǎng)方式。
apiVersion: batch/v1
kind: Job
metadata:
name: nginx-log-sidecar-demo
namespace: kube-system
spec:
template:
metadata:
name: nginx-log-sidecar-demo
spec:
# volumes配置
volumes:
- name: nginx-log
emptyDir: {}
containers:
# 主容器配置
- name: nginx-log-demo
image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
command: ["/bin/mock_log"]
args: ["--log-type=nginx", "--stdout=false", "--stderr=true", "--path=/var/log/nginx/access.log", "--total-count=1000000000", "--logs-per-sec=100"]
volumeMounts:
- name: nginx-log
mountPath: /var/log/ngin
# Logtail的Sidecar容器配置
- name: logtail
image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latest
env:
# aliuid
- name: "ALIYUN_LOGTAIL_USER_ID"
value: "165421******3050"
# 自定義標識機器組配置
- name: "ALIYUN_LOGTAIL_USER_DEFINED_ID"
value: "nginx-log-sidecar"
# 啟動(dòng)配置(用于選擇Logtail所在Region)
- name: "ALIYUN_LOGTAIL_CONFIG"
value: "/etc/ilogtail/conf/cn-hangzhou/ilogtail_config.json"
# 和主容器共享volume
volumeMounts:
- name: nginx-log
mountPath: /var/log/nginx
# 健康檢查
livenessProbe:
exec:
command:
- /etc/init.d/ilogtaild
- status
initialDelaySeconds: 30
periodSeconds: 30
第二步:配置機器組
如下圖,在日志服務(wù)控制臺中創(chuàng )建了一個(gè)Logtail機器組,機器組選擇自定義ID動(dòng)態(tài)適應POD ip地址的變化。具體步驟如下:
打開(kāi)日志服務(wù),創(chuàng )建Project和Logstore。詳細步驟請參考準備過(guò)程。在日志服務(wù)控制臺的機器組列表頁(yè)面,單擊創(chuàng )建機器組。選擇自定義標識,在自定義標識內容框中填寫(xiě)上一步配置的ALIYUN_LOGTAIL_USER_DEFINED_ID。
第三步:配置采集方法
機器組創(chuàng )建完成后,可以配置相應文件的采集配置。目前支持minimal、Nginx訪(fǎng)問(wèn)日志、分隔符日志、JSON日志、常規日志等多種格式。具體請參考:文本日志配置方法。本例中的配置如下:
第四步:查詢(xún)日志
采集配置完成并應用到機器組后,1分鐘內可以上傳采集日志,進(jìn)入采集的日志進(jìn)入查詢(xún)頁(yè)面可以找到采集對應的日志庫。
進(jìn)階日志
阿里云日志服務(wù)提供了完整的日志解決方案。登錄 采集 只是第一步。以下相關(guān)功能是高級日志的必備品:
日志上下文查詢(xún): 快速查詢(xún): 實(shí)時(shí)分析: 快速分析: 根據日志設置警報: 配置行情:
更多高級日志內容請參考:日志服務(wù)學(xué)習路徑。
采集自動(dòng)組合(捕捉用戶(hù)數據,管理數據——埋點(diǎn)是一種客戶(hù)端行為采集方式 )
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 146 次瀏覽 ? 2021-12-13 03:24
)
2018-12-0115:56:22
埋點(diǎn)是一種用于分析用戶(hù)行為的數據分析工具。捕獲用戶(hù)數據并管理數據。嵌入是客戶(hù)端行為的一種方式采集。
分為代碼埋點(diǎn)、全埋點(diǎn)、視覺(jué)埋點(diǎn)。
我為什么要把它埋起來(lái)?
互聯(lián)網(wǎng)應用(網(wǎng)站,APP)在開(kāi)發(fā)過(guò)程中往往不專(zhuān)門(mén)記錄用戶(hù)身份和行為數據,也不收錄專(zhuān)業(yè)的數據分析功能。但有時(shí)為了分析用戶(hù)產(chǎn)生某些動(dòng)作或不產(chǎn)生某些動(dòng)作的深層原因,需要詳細的用戶(hù)數據進(jìn)行分析。這時(shí)候就需要使用專(zhuān)業(yè)的用戶(hù)分析工具和埋點(diǎn)。
數據采集??是任何數據平臺的初始動(dòng)作。對于互聯(lián)網(wǎng)應用來(lái)說(shuō),用戶(hù)行為的捕捉和獲取是重中之重。如果沒(méi)有準確全面的用戶(hù)身份和行為數據作為輸入,在后續分析中獲得準確洞察的可能性存在不確定性,閉環(huán)營(yíng)銷(xiāo)也會(huì )缺乏流程數據的基礎,難度會(huì )更大開(kāi)展精細化經(jīng)營(yíng)。
▌埋點(diǎn)原理
對于基于用戶(hù)行為的數據平臺來(lái)說(shuō),用戶(hù)界面上發(fā)生的、能夠獲取用戶(hù)信息的接觸點(diǎn)是用戶(hù)數據的直接來(lái)源,而建立這些接觸點(diǎn)的方式就是埋點(diǎn)。這些聯(lián)系人獲取用戶(hù)行為和身份數據后,會(huì )通過(guò)網(wǎng)絡(luò )傳輸到服務(wù)器進(jìn)行后續處理。
從準確性的角度來(lái)看,埋點(diǎn)分為客戶(hù)端埋點(diǎn)和服務(wù)器端埋點(diǎn)??蛻?hù)端埋點(diǎn),即在客戶(hù)操作界面,記錄客戶(hù)產(chǎn)生動(dòng)作時(shí)的用戶(hù)行為。這些行為只會(huì )發(fā)生在客戶(hù)端,不會(huì )傳輸到服務(wù)器端;而服務(wù)器端的埋點(diǎn)通常在程序和數據庫的交互界面中進(jìn)行埋點(diǎn)。這時(shí),埋點(diǎn)會(huì )更加準確地記錄數據變化,同時(shí)會(huì )降低由于網(wǎng)絡(luò )傳輸等原因造成的不確定性風(fēng)險。
從分析的角度來(lái)看,數據越準確和全面,就越能達到理想狀態(tài);但在實(shí)際生產(chǎn)過(guò)程中,必須考慮數據采集的可行性等問(wèn)題。因為數據分析工具的最終用戶(hù)可能是企業(yè)內部的各種角色,比如工程師、產(chǎn)品運營(yíng)、營(yíng)銷(xiāo)甚至其他業(yè)務(wù)人員;每個(gè)人都會(huì )在不同的時(shí)間、不同的產(chǎn)品模塊中以不同的規則將自己注入到產(chǎn)品中。關(guān)注采集代碼。按照傳統方法,常見(jiàn)的工作流程如下:
文件以幫助每個(gè)人熟悉此工作流程。
▌傳統埋點(diǎn)的缺點(diǎn)
反復迭代,行為采集和埋點(diǎn)管理這兩個(gè)動(dòng)作構成了這個(gè)工作流的一個(gè)閉環(huán),但是這個(gè)閉環(huán)有幾個(gè)明顯的弊端。因此,它們也被用于實(shí)際工作中。大家都很苦惱的地方:
在實(shí)際工作過(guò)程中,有的公司一方面強調了數據采集的重要性,但另一方面卻還沒(méi)有真正把重點(diǎn)放在這上面。
對于行業(yè)從業(yè)者來(lái)說(shuō),數據的獲取和管理從來(lái)都不是一個(gè)足以達到一定水平的問(wèn)題,但只要數據業(yè)務(wù)還在發(fā)展,他們就必須不斷地迭代自己,探索更好的獲取和管理。路的問(wèn)題。時(shí)至今日,Mixpanel等國外知名廠(chǎng)商仍在努力提供更高效、更準確的埋點(diǎn)方法;國內廠(chǎng)商也有很大的提升空間。
說(shuō)完“埋點(diǎn)”這個(gè)大概念,馬上就會(huì )出現它的細分概念,比如“無(wú)埋點(diǎn)”、“全埋點(diǎn)”、“無(wú)標記埋點(diǎn)”、“未編碼埋點(diǎn)”、“可視化埋點(diǎn)”點(diǎn)”等。等等。從用戶(hù)的角度來(lái)看,如果你還沒(méi)有很好地理解這些概念,將很難整合業(yè)務(wù)數據采集,也無(wú)法選擇適合你的團隊和團隊的埋點(diǎn)方法。商業(yè)...
下面我將整理出所有可能的埋點(diǎn)方式及其名稱(chēng),并簡(jiǎn)要說(shuō)明一下,希望對大家的工作有所幫助。
▌代碼埋點(diǎn):最可控的埋點(diǎn)方式
代碼嵌入是最經(jīng)典的嵌入方法,可以幫助工程師了解用戶(hù)如何使用產(chǎn)品。因為工程師手動(dòng)將埋點(diǎn)集成到代碼邏輯中,理論上只要是客戶(hù)端操作,即使復雜也可以采集可達。常見(jiàn)的包括:頁(yè)面停留時(shí)間、頁(yè)面瀏覽深度、視頻播放時(shí)間、用戶(hù)鼠標軌跡、表單項停留和終止等,尤其是一些非點(diǎn)擊和不可見(jiàn)的行為,需要埋下代碼來(lái)實(shí)現。所以如果我們需要對嵌入點(diǎn)有更精確的控制,那么代碼嵌入點(diǎn)是最好的選擇。
可能你還是分不清融合點(diǎn)和埋點(diǎn)。為了埋點(diǎn),廠(chǎng)商通常會(huì )提供一個(gè)代碼包,可以理解為一個(gè)工具包,里面收錄了常用的工具。如果要埋點(diǎn),首先得有這個(gè)工具包,也就是集成的SDK。然后用這個(gè)工具包按照里面的說(shuō)明制作各種東西,也就是埋點(diǎn)。
當然,缺點(diǎn)也很明顯。上面描述的苦惱幾乎都與代碼埋點(diǎn)有關(guān)。為了使掩埋過(guò)程更加高效,制造商付出了很多努力。
▌買(mǎi)全積分:讓我開(kāi)心,讓我擔心
全埋點(diǎn),國內有的車(chē)隊也稱(chēng)“無(wú)埋點(diǎn)”、“無(wú)痕埋點(diǎn)”、“自動(dòng)埋點(diǎn)”。是對全自動(dòng)埋地方式的探索,從名字上看似乎是一勞永逸的解決方案,接下來(lái)我們來(lái)看看什么是“全埋”。
客戶(hù)端埋點(diǎn)一般分為訪(fǎng)問(wèn)級別、頁(yè)面級別、頁(yè)面內行為級別。當用戶(hù)訪(fǎng)問(wèn)網(wǎng)站或啟動(dòng)移動(dòng)應用時(shí),幾乎所有廠(chǎng)商都會(huì )自動(dòng)采集報告用戶(hù)的訪(fǎng)問(wèn);當用戶(hù)訪(fǎng)問(wèn)不同的頁(yè)面時(shí),有的廠(chǎng)商會(huì )選擇不自動(dòng)采集@默認>,并作為選項提供給用戶(hù);對于用戶(hù)在某個(gè)頁(yè)面的詳細操作行為,只有少數廠(chǎng)商支持自動(dòng)采集上報。實(shí)現了后兩種自動(dòng)采集的廠(chǎng)家通常會(huì )說(shuō),都被埋沒(méi)了。但是,頁(yè)面中行為層面的采集還可以進(jìn)一步探索其采集的范圍。最常見(jiàn)的就是自動(dòng)采集的區別
交互元素包括:鏈接、表單項(如按鈕、輸入框等)、HTML對象級元素等。非交互元素太多了,大部分頁(yè)面元素都屬于這一類(lèi)。其實(shí)大家在網(wǎng)頁(yè)和手機應用中看到的很多界面都不是標準元素,所以實(shí)際上界面上很多看似交互的元素是無(wú)法自動(dòng)上報的采集。這是一個(gè)遺憾。
但是讓我們來(lái)看看優(yōu)點(diǎn)。
首先,全埋點(diǎn)確實(shí)會(huì )自動(dòng)采集很多數據,以后在使用數據的時(shí)候,可以直接從數據庫中查詢(xún)。想看的時(shí)候不會(huì )面對,因為沒(méi)有埋葬點(diǎn)。采集 得不到的情況。這是一種很受分析師歡迎的方法,所以我經(jīng)常聽(tīng)到“如果可以采集,嘗試采集,后續分析總是可以用的?!?其次,埋點(diǎn)是一項比較耗時(shí)的工作,需要業(yè)務(wù)方提供解決方案,埋點(diǎn)工程師,以及測試團隊進(jìn)行測試。但由于實(shí)際工作中埋點(diǎn)較多,每次發(fā)布新功能或新活動(dòng)時(shí),都需要新的埋點(diǎn)。因此,埋點(diǎn)不僅費時(shí),但錯誤率也難以控制。對于全埋點(diǎn),無(wú)論使用與否,都會(huì )首先檢索數據。因為程序是自動(dòng)完成的,業(yè)務(wù)人員要A,工程師埋B的錯誤幾乎不存在。
然而,任何企業(yè)都有其兩個(gè)方面。
首先,所有點(diǎn)的“全部”并不是真正的全部。在基本的計算機瀏覽器和移動(dòng)應用程序中,用戶(hù)對頁(yè)面的常見(jiàn)操作包括鼠標行為、鍵盤(pán)行為和手指行為。例如,常見(jiàn)的鼠標點(diǎn)擊、鼠標滑動(dòng)、屏幕滾動(dòng)、鍵盤(pán)輸入、光標選擇,甚至網(wǎng)頁(yè)上的靜態(tài)。移動(dòng)終端除了有點(diǎn)擊式按壓外,還有多指開(kāi)合、拉動(dòng)、用力按壓。然而,這些操作并不都是“埋點(diǎn)”??梢员宦駴](méi)的通常只有點(diǎn)擊或按下。這顯然還遠遠不夠,我們甚至不能稱(chēng)它們?yōu)槿顸c(diǎn)。
其次,所有埋點(diǎn)的“滿(mǎn)”是以采集上報的數據量為代價(jià)的。隨著(zhù)數據量的增加,客戶(hù)端崩潰的概率也會(huì )增加。尤其是在移動(dòng)端,更多的數據量意味著(zhù)更多的功耗、流量和內存消耗。從這個(gè)角度來(lái)說(shuō),現階段也很難做到真正的“豐滿(mǎn)”。
第三,即使能把所有的行為數據都收回來(lái),具體分析時(shí)的二次整理和處理也不可避免,甚至是痛苦的。因為當 采集 時(shí)機器不能以我們想要的方式有意義地命名所有事件,所以不能保證來(lái)自 采集 的事件是完全正確的。所以前期埋點(diǎn)省下來(lái)的人工費,這次加了。
第四,現階段,全埋點(diǎn)對于用戶(hù)身份信息和行為附加的屬性信息幾乎無(wú)能為力。
那么這個(gè)功能正是我需要的嗎?這其實(shí)是個(gè)度的問(wèn)題。關(guān)于這個(gè)問(wèn)題,只能結合你的實(shí)際情況了。如果你需要隨機探索過(guò)去點(diǎn)擊行為的趨勢,那么這個(gè)功能還是合適的,否則有更好的選擇。
▌Visualized embedding:一種所見(jiàn)即所得的嵌入方法
代碼埋點(diǎn)和全埋點(diǎn)沒(méi)有在易用性和準確性之間取得平衡??梢暬顸c(diǎn)在很多情況下也稱(chēng)為“未編碼埋點(diǎn)”。如上所述,代碼嵌入的缺點(diǎn)對于網(wǎng)站來(lái)說(shuō)是好事,但對于移動(dòng)應用來(lái)說(shuō)無(wú)疑是極其低效的。為了解決這個(gè)問(wèn)題,在一些廠(chǎng)家選擇全埋點(diǎn)的同時(shí),大量廠(chǎng)家也選擇了WYSIWYG的埋點(diǎn)路,即可視化的埋點(diǎn)。
可視化埋點(diǎn)的優(yōu)點(diǎn)是可以直接在網(wǎng)站的真實(shí)界面或者手機端對埋點(diǎn)進(jìn)行操作,并且可以在埋點(diǎn)后立即驗證埋點(diǎn)是否正確。這還沒(méi)有結束,埋點(diǎn)可以部署到所有客戶(hù)終端也幾乎是實(shí)時(shí)生效的。由于可視化埋點(diǎn)的好處,分析的需求方、業(yè)務(wù)人員、沒(méi)有權限接觸代碼或不會(huì )編程的人,可以以很低的門(mén)檻獲取數據進(jìn)行分析??梢哉f(shuō)是向前邁進(jìn)了一大步。
可視化埋點(diǎn)部署原理
支持可視化埋點(diǎn)的SDK會(huì )在被監控的網(wǎng)站或移動(dòng)端應用訪(fǎng)問(wèn)時(shí),與服務(wù)器核對是否有新的埋點(diǎn)。如果發(fā)現更新的埋點(diǎn),將從服務(wù)器下載并立即生效。這樣就可以保證服務(wù)器收到最新的埋點(diǎn)后,下次訪(fǎng)問(wèn)時(shí)可以部署所有客戶(hù)端。
可視化埋點(diǎn)和全埋點(diǎn)對于埋點(diǎn)和分析的追求完全不同??梢暬顸c(diǎn)的思路是為了提高原有工作流的效率——還需要梳理需求,設計埋點(diǎn);全埋點(diǎn)是為了簡(jiǎn)化工作流程——反正數據會(huì )被采集返回,這兩個(gè)步驟的必要性很容易被忽視。這里不能說(shuō)哪個(gè)是最好的策略,因為事先的嚴謹計劃和事后的探索是不同的分析角度。而且,這兩種埋點(diǎn)根本不排斥,可以同時(shí)使用。
可視化埋點(diǎn)也有很多局限性。
首先,視覺(jué)埋點(diǎn)只是針對可見(jiàn)元素的點(diǎn)擊,最常見(jiàn)的可見(jiàn)元素就是點(diǎn)擊行為。點(diǎn)擊操作的埋點(diǎn)確實(shí)是當前可視化埋點(diǎn)的主要攻擊點(diǎn)。但從實(shí)際情況來(lái)看,復雜頁(yè)面、非標準頁(yè)面、動(dòng)態(tài)頁(yè)面都增加了視覺(jué)埋點(diǎn)不可用的風(fēng)險。一旦遇到,代碼只能埋點(diǎn)。
其次,對于點(diǎn)擊操作附帶的業(yè)務(wù)屬性,雖然也可以通過(guò)進(jìn)一步選擇屬性所在的元素來(lái)獲取屬性信息,但國內廠(chǎng)商支持的比較少。
第三,為了保證埋點(diǎn)的準確性,視覺(jué)埋點(diǎn)逐漸集成了更復雜的高級設置,比如:“同頁(yè)”、“同版本”、“同級別”、“同文本”……,加上這些復雜設置的視覺(jué)埋點(diǎn)是否也是效率的視覺(jué)埋點(diǎn)?
▌標簽管理器:低調大師
你可能不熟悉標簽,但你熟悉用于采集網(wǎng)頁(yè)數據的SDK。這些嵌入在網(wǎng)頁(yè)中,可以是采集網(wǎng)頁(yè)、移動(dòng)應用程序或視頻的數據正在監控。班級的標簽。但標簽的用途遠不止于此。通過(guò)在 網(wǎng)站 中嵌入代碼,工程師可以為 網(wǎng)站 提供許多附加功能。除了剛才提到的數據監控,它可能還會(huì )為網(wǎng)站提供一些額外的功能,最常見(jiàn)的就是推送個(gè)性化的內容,比如:A/B測試、消息推送、個(gè)性化廣告等。
如果網(wǎng)站或者移動(dòng)應用依賴(lài)標簽的能力來(lái)實(shí)現很多功能,那么就需要大量的標簽,標簽也可能需要頻繁的更新或者變化。網(wǎng)頁(yè)也是如此。上網(wǎng)很容易,但移動(dòng)應用就難了。如果有錯誤或遺漏,更正將有一個(gè)很長(cháng)的修正周期。在這種情況下,標簽管理器就派上用場(chǎng)了。
標簽管理器提供了一個(gè)容器。工程師只需將該容器正確嵌入到網(wǎng)頁(yè)或移動(dòng)應用程序中即可。之后,不懂技術(shù)的團隊可以通過(guò)在線(xiàn)管理將后續標簽發(fā)布到網(wǎng)頁(yè)或移動(dòng)應用程序中。這樣,技術(shù)人員和業(yè)務(wù)人員獨立工作。這聽(tīng)起來(lái)與可視化的埋點(diǎn)相似嗎?是的,它們的原理幾乎完全相同。只是視覺(jué)埋點(diǎn)更傾向于為用戶(hù)在客戶(hù)端的點(diǎn)擊行為提供直觀(guān)的方法,而標簽管理器在代碼層面,可以做的更多。
標簽管理器非常強大,可以避免代碼嵌入,可以通過(guò)DataLayer獲取頁(yè)面中的變量,如不同的用戶(hù)ID、用戶(hù)級別、登錄狀態(tài)、購買(mǎi)產(chǎn)品的名稱(chēng)和價(jià)格等;只有當這些變量達到一定水平時(shí),觸發(fā)器才能觸發(fā)事件上報。是不是很贊!
目前最著(zhù)名的標簽管理器是谷歌推出的Google Tag manager,簡(jiǎn)稱(chēng)GTM,占據了83%的市場(chǎng)份額。個(gè)人版是免費的,但還是提供了極其強大的功能,一般團隊使用已經(jīng)足夠了。如果想進(jìn)一步了解GTM的功能,可以閱讀它的官網(wǎng),里面有非常豐富的講解和案例。
綜上所述,目前在客戶(hù)端獲取用戶(hù)數據還沒(méi)有簡(jiǎn)單通用的方案。您應該在合適的場(chǎng)景中選擇相應的嵌入方法來(lái)平衡成本和收益。好在現在廠(chǎng)商基本都支持以上多客戶(hù)端行為的采集方法。未來(lái),對于客戶(hù)端埋點(diǎn)來(lái)說(shuō),集成標簽管理器某些特性的可視化埋點(diǎn)必將取代更多的代碼埋點(diǎn),解決工作中所有常見(jiàn)的客戶(hù)端行為采集需求。
就像早期論壇的編輯框一樣,帖子的效果只能通過(guò)發(fā)布或預覽功能才能看到,但是后來(lái)出現了所見(jiàn)即所得的編輯器,讓編輯文字變得非常高效和愉快。目前開(kāi)源社區中流行的 Markdown 格式仍然采用這種方式。在許多流行的 Markdown 編輯器中,它仍然是一側編輯,另一側實(shí)時(shí)預覽,或直接以最終格式編輯。
隨著(zhù)物聯(lián)網(wǎng)時(shí)代的到來(lái),越來(lái)越多的用戶(hù)界面會(huì )出現在電腦和手機之外,越來(lái)越多的內容會(huì )因人而異。到時(shí)候,未來(lái)越來(lái)越多的SDK集成,會(huì )自動(dòng)采集更多標準的用戶(hù)行為,對于非標準的強業(yè)務(wù)意義,需要根據具體情況進(jìn)行計算,或者需要有效,那么就可以通過(guò)視覺(jué)嵌入點(diǎn)來(lái)完成。但現階段,恐怕最好的組合還是GTM結合visual embedding。
查看全部
采集自動(dòng)組合(捕捉用戶(hù)數據,管理數據——埋點(diǎn)是一種客戶(hù)端行為采集方式
)
2018-12-0115:56:22
埋點(diǎn)是一種用于分析用戶(hù)行為的數據分析工具。捕獲用戶(hù)數據并管理數據。嵌入是客戶(hù)端行為的一種方式采集。
分為代碼埋點(diǎn)、全埋點(diǎn)、視覺(jué)埋點(diǎn)。
我為什么要把它埋起來(lái)?
互聯(lián)網(wǎng)應用(網(wǎng)站,APP)在開(kāi)發(fā)過(guò)程中往往不專(zhuān)門(mén)記錄用戶(hù)身份和行為數據,也不收錄專(zhuān)業(yè)的數據分析功能。但有時(shí)為了分析用戶(hù)產(chǎn)生某些動(dòng)作或不產(chǎn)生某些動(dòng)作的深層原因,需要詳細的用戶(hù)數據進(jìn)行分析。這時(shí)候就需要使用專(zhuān)業(yè)的用戶(hù)分析工具和埋點(diǎn)。
數據采集??是任何數據平臺的初始動(dòng)作。對于互聯(lián)網(wǎng)應用來(lái)說(shuō),用戶(hù)行為的捕捉和獲取是重中之重。如果沒(méi)有準確全面的用戶(hù)身份和行為數據作為輸入,在后續分析中獲得準確洞察的可能性存在不確定性,閉環(huán)營(yíng)銷(xiāo)也會(huì )缺乏流程數據的基礎,難度會(huì )更大開(kāi)展精細化經(jīng)營(yíng)。
▌埋點(diǎn)原理
對于基于用戶(hù)行為的數據平臺來(lái)說(shuō),用戶(hù)界面上發(fā)生的、能夠獲取用戶(hù)信息的接觸點(diǎn)是用戶(hù)數據的直接來(lái)源,而建立這些接觸點(diǎn)的方式就是埋點(diǎn)。這些聯(lián)系人獲取用戶(hù)行為和身份數據后,會(huì )通過(guò)網(wǎng)絡(luò )傳輸到服務(wù)器進(jìn)行后續處理。
從準確性的角度來(lái)看,埋點(diǎn)分為客戶(hù)端埋點(diǎn)和服務(wù)器端埋點(diǎn)??蛻?hù)端埋點(diǎn),即在客戶(hù)操作界面,記錄客戶(hù)產(chǎn)生動(dòng)作時(shí)的用戶(hù)行為。這些行為只會(huì )發(fā)生在客戶(hù)端,不會(huì )傳輸到服務(wù)器端;而服務(wù)器端的埋點(diǎn)通常在程序和數據庫的交互界面中進(jìn)行埋點(diǎn)。這時(shí),埋點(diǎn)會(huì )更加準確地記錄數據變化,同時(shí)會(huì )降低由于網(wǎng)絡(luò )傳輸等原因造成的不確定性風(fēng)險。
從分析的角度來(lái)看,數據越準確和全面,就越能達到理想狀態(tài);但在實(shí)際生產(chǎn)過(guò)程中,必須考慮數據采集的可行性等問(wèn)題。因為數據分析工具的最終用戶(hù)可能是企業(yè)內部的各種角色,比如工程師、產(chǎn)品運營(yíng)、營(yíng)銷(xiāo)甚至其他業(yè)務(wù)人員;每個(gè)人都會(huì )在不同的時(shí)間、不同的產(chǎn)品模塊中以不同的規則將自己注入到產(chǎn)品中。關(guān)注采集代碼。按照傳統方法,常見(jiàn)的工作流程如下:

文件以幫助每個(gè)人熟悉此工作流程。
▌傳統埋點(diǎn)的缺點(diǎn)
反復迭代,行為采集和埋點(diǎn)管理這兩個(gè)動(dòng)作構成了這個(gè)工作流的一個(gè)閉環(huán),但是這個(gè)閉環(huán)有幾個(gè)明顯的弊端。因此,它們也被用于實(shí)際工作中。大家都很苦惱的地方:
在實(shí)際工作過(guò)程中,有的公司一方面強調了數據采集的重要性,但另一方面卻還沒(méi)有真正把重點(diǎn)放在這上面。
對于行業(yè)從業(yè)者來(lái)說(shuō),數據的獲取和管理從來(lái)都不是一個(gè)足以達到一定水平的問(wèn)題,但只要數據業(yè)務(wù)還在發(fā)展,他們就必須不斷地迭代自己,探索更好的獲取和管理。路的問(wèn)題。時(shí)至今日,Mixpanel等國外知名廠(chǎng)商仍在努力提供更高效、更準確的埋點(diǎn)方法;國內廠(chǎng)商也有很大的提升空間。
說(shuō)完“埋點(diǎn)”這個(gè)大概念,馬上就會(huì )出現它的細分概念,比如“無(wú)埋點(diǎn)”、“全埋點(diǎn)”、“無(wú)標記埋點(diǎn)”、“未編碼埋點(diǎn)”、“可視化埋點(diǎn)”點(diǎn)”等。等等。從用戶(hù)的角度來(lái)看,如果你還沒(méi)有很好地理解這些概念,將很難整合業(yè)務(wù)數據采集,也無(wú)法選擇適合你的團隊和團隊的埋點(diǎn)方法。商業(yè)...
下面我將整理出所有可能的埋點(diǎn)方式及其名稱(chēng),并簡(jiǎn)要說(shuō)明一下,希望對大家的工作有所幫助。
▌代碼埋點(diǎn):最可控的埋點(diǎn)方式
代碼嵌入是最經(jīng)典的嵌入方法,可以幫助工程師了解用戶(hù)如何使用產(chǎn)品。因為工程師手動(dòng)將埋點(diǎn)集成到代碼邏輯中,理論上只要是客戶(hù)端操作,即使復雜也可以采集可達。常見(jiàn)的包括:頁(yè)面停留時(shí)間、頁(yè)面瀏覽深度、視頻播放時(shí)間、用戶(hù)鼠標軌跡、表單項停留和終止等,尤其是一些非點(diǎn)擊和不可見(jiàn)的行為,需要埋下代碼來(lái)實(shí)現。所以如果我們需要對嵌入點(diǎn)有更精確的控制,那么代碼嵌入點(diǎn)是最好的選擇。
可能你還是分不清融合點(diǎn)和埋點(diǎn)。為了埋點(diǎn),廠(chǎng)商通常會(huì )提供一個(gè)代碼包,可以理解為一個(gè)工具包,里面收錄了常用的工具。如果要埋點(diǎn),首先得有這個(gè)工具包,也就是集成的SDK。然后用這個(gè)工具包按照里面的說(shuō)明制作各種東西,也就是埋點(diǎn)。
當然,缺點(diǎn)也很明顯。上面描述的苦惱幾乎都與代碼埋點(diǎn)有關(guān)。為了使掩埋過(guò)程更加高效,制造商付出了很多努力。
▌買(mǎi)全積分:讓我開(kāi)心,讓我擔心
全埋點(diǎn),國內有的車(chē)隊也稱(chēng)“無(wú)埋點(diǎn)”、“無(wú)痕埋點(diǎn)”、“自動(dòng)埋點(diǎn)”。是對全自動(dòng)埋地方式的探索,從名字上看似乎是一勞永逸的解決方案,接下來(lái)我們來(lái)看看什么是“全埋”。

客戶(hù)端埋點(diǎn)一般分為訪(fǎng)問(wèn)級別、頁(yè)面級別、頁(yè)面內行為級別。當用戶(hù)訪(fǎng)問(wèn)網(wǎng)站或啟動(dòng)移動(dòng)應用時(shí),幾乎所有廠(chǎng)商都會(huì )自動(dòng)采集報告用戶(hù)的訪(fǎng)問(wèn);當用戶(hù)訪(fǎng)問(wèn)不同的頁(yè)面時(shí),有的廠(chǎng)商會(huì )選擇不自動(dòng)采集@默認>,并作為選項提供給用戶(hù);對于用戶(hù)在某個(gè)頁(yè)面的詳細操作行為,只有少數廠(chǎng)商支持自動(dòng)采集上報。實(shí)現了后兩種自動(dòng)采集的廠(chǎng)家通常會(huì )說(shuō),都被埋沒(méi)了。但是,頁(yè)面中行為層面的采集還可以進(jìn)一步探索其采集的范圍。最常見(jiàn)的就是自動(dòng)采集的區別
交互元素包括:鏈接、表單項(如按鈕、輸入框等)、HTML對象級元素等。非交互元素太多了,大部分頁(yè)面元素都屬于這一類(lèi)。其實(shí)大家在網(wǎng)頁(yè)和手機應用中看到的很多界面都不是標準元素,所以實(shí)際上界面上很多看似交互的元素是無(wú)法自動(dòng)上報的采集。這是一個(gè)遺憾。
但是讓我們來(lái)看看優(yōu)點(diǎn)。
首先,全埋點(diǎn)確實(shí)會(huì )自動(dòng)采集很多數據,以后在使用數據的時(shí)候,可以直接從數據庫中查詢(xún)。想看的時(shí)候不會(huì )面對,因為沒(méi)有埋葬點(diǎn)。采集 得不到的情況。這是一種很受分析師歡迎的方法,所以我經(jīng)常聽(tīng)到“如果可以采集,嘗試采集,后續分析總是可以用的?!?其次,埋點(diǎn)是一項比較耗時(shí)的工作,需要業(yè)務(wù)方提供解決方案,埋點(diǎn)工程師,以及測試團隊進(jìn)行測試。但由于實(shí)際工作中埋點(diǎn)較多,每次發(fā)布新功能或新活動(dòng)時(shí),都需要新的埋點(diǎn)。因此,埋點(diǎn)不僅費時(shí),但錯誤率也難以控制。對于全埋點(diǎn),無(wú)論使用與否,都會(huì )首先檢索數據。因為程序是自動(dòng)完成的,業(yè)務(wù)人員要A,工程師埋B的錯誤幾乎不存在。
然而,任何企業(yè)都有其兩個(gè)方面。
首先,所有點(diǎn)的“全部”并不是真正的全部。在基本的計算機瀏覽器和移動(dòng)應用程序中,用戶(hù)對頁(yè)面的常見(jiàn)操作包括鼠標行為、鍵盤(pán)行為和手指行為。例如,常見(jiàn)的鼠標點(diǎn)擊、鼠標滑動(dòng)、屏幕滾動(dòng)、鍵盤(pán)輸入、光標選擇,甚至網(wǎng)頁(yè)上的靜態(tài)。移動(dòng)終端除了有點(diǎn)擊式按壓外,還有多指開(kāi)合、拉動(dòng)、用力按壓。然而,這些操作并不都是“埋點(diǎn)”??梢员宦駴](méi)的通常只有點(diǎn)擊或按下。這顯然還遠遠不夠,我們甚至不能稱(chēng)它們?yōu)槿顸c(diǎn)。
其次,所有埋點(diǎn)的“滿(mǎn)”是以采集上報的數據量為代價(jià)的。隨著(zhù)數據量的增加,客戶(hù)端崩潰的概率也會(huì )增加。尤其是在移動(dòng)端,更多的數據量意味著(zhù)更多的功耗、流量和內存消耗。從這個(gè)角度來(lái)說(shuō),現階段也很難做到真正的“豐滿(mǎn)”。
第三,即使能把所有的行為數據都收回來(lái),具體分析時(shí)的二次整理和處理也不可避免,甚至是痛苦的。因為當 采集 時(shí)機器不能以我們想要的方式有意義地命名所有事件,所以不能保證來(lái)自 采集 的事件是完全正確的。所以前期埋點(diǎn)省下來(lái)的人工費,這次加了。
第四,現階段,全埋點(diǎn)對于用戶(hù)身份信息和行為附加的屬性信息幾乎無(wú)能為力。
那么這個(gè)功能正是我需要的嗎?這其實(shí)是個(gè)度的問(wèn)題。關(guān)于這個(gè)問(wèn)題,只能結合你的實(shí)際情況了。如果你需要隨機探索過(guò)去點(diǎn)擊行為的趨勢,那么這個(gè)功能還是合適的,否則有更好的選擇。
▌Visualized embedding:一種所見(jiàn)即所得的嵌入方法
代碼埋點(diǎn)和全埋點(diǎn)沒(méi)有在易用性和準確性之間取得平衡??梢暬顸c(diǎn)在很多情況下也稱(chēng)為“未編碼埋點(diǎn)”。如上所述,代碼嵌入的缺點(diǎn)對于網(wǎng)站來(lái)說(shuō)是好事,但對于移動(dòng)應用來(lái)說(shuō)無(wú)疑是極其低效的。為了解決這個(gè)問(wèn)題,在一些廠(chǎng)家選擇全埋點(diǎn)的同時(shí),大量廠(chǎng)家也選擇了WYSIWYG的埋點(diǎn)路,即可視化的埋點(diǎn)。
可視化埋點(diǎn)的優(yōu)點(diǎn)是可以直接在網(wǎng)站的真實(shí)界面或者手機端對埋點(diǎn)進(jìn)行操作,并且可以在埋點(diǎn)后立即驗證埋點(diǎn)是否正確。這還沒(méi)有結束,埋點(diǎn)可以部署到所有客戶(hù)終端也幾乎是實(shí)時(shí)生效的。由于可視化埋點(diǎn)的好處,分析的需求方、業(yè)務(wù)人員、沒(méi)有權限接觸代碼或不會(huì )編程的人,可以以很低的門(mén)檻獲取數據進(jìn)行分析??梢哉f(shuō)是向前邁進(jìn)了一大步。
可視化埋點(diǎn)部署原理
支持可視化埋點(diǎn)的SDK會(huì )在被監控的網(wǎng)站或移動(dòng)端應用訪(fǎng)問(wèn)時(shí),與服務(wù)器核對是否有新的埋點(diǎn)。如果發(fā)現更新的埋點(diǎn),將從服務(wù)器下載并立即生效。這樣就可以保證服務(wù)器收到最新的埋點(diǎn)后,下次訪(fǎng)問(wèn)時(shí)可以部署所有客戶(hù)端。
可視化埋點(diǎn)和全埋點(diǎn)對于埋點(diǎn)和分析的追求完全不同??梢暬顸c(diǎn)的思路是為了提高原有工作流的效率——還需要梳理需求,設計埋點(diǎn);全埋點(diǎn)是為了簡(jiǎn)化工作流程——反正數據會(huì )被采集返回,這兩個(gè)步驟的必要性很容易被忽視。這里不能說(shuō)哪個(gè)是最好的策略,因為事先的嚴謹計劃和事后的探索是不同的分析角度。而且,這兩種埋點(diǎn)根本不排斥,可以同時(shí)使用。
可視化埋點(diǎn)也有很多局限性。
首先,視覺(jué)埋點(diǎn)只是針對可見(jiàn)元素的點(diǎn)擊,最常見(jiàn)的可見(jiàn)元素就是點(diǎn)擊行為。點(diǎn)擊操作的埋點(diǎn)確實(shí)是當前可視化埋點(diǎn)的主要攻擊點(diǎn)。但從實(shí)際情況來(lái)看,復雜頁(yè)面、非標準頁(yè)面、動(dòng)態(tài)頁(yè)面都增加了視覺(jué)埋點(diǎn)不可用的風(fēng)險。一旦遇到,代碼只能埋點(diǎn)。
其次,對于點(diǎn)擊操作附帶的業(yè)務(wù)屬性,雖然也可以通過(guò)進(jìn)一步選擇屬性所在的元素來(lái)獲取屬性信息,但國內廠(chǎng)商支持的比較少。
第三,為了保證埋點(diǎn)的準確性,視覺(jué)埋點(diǎn)逐漸集成了更復雜的高級設置,比如:“同頁(yè)”、“同版本”、“同級別”、“同文本”……,加上這些復雜設置的視覺(jué)埋點(diǎn)是否也是效率的視覺(jué)埋點(diǎn)?
▌標簽管理器:低調大師
你可能不熟悉標簽,但你熟悉用于采集網(wǎng)頁(yè)數據的SDK。這些嵌入在網(wǎng)頁(yè)中,可以是采集網(wǎng)頁(yè)、移動(dòng)應用程序或視頻的數據正在監控。班級的標簽。但標簽的用途遠不止于此。通過(guò)在 網(wǎng)站 中嵌入代碼,工程師可以為 網(wǎng)站 提供許多附加功能。除了剛才提到的數據監控,它可能還會(huì )為網(wǎng)站提供一些額外的功能,最常見(jiàn)的就是推送個(gè)性化的內容,比如:A/B測試、消息推送、個(gè)性化廣告等。
如果網(wǎng)站或者移動(dòng)應用依賴(lài)標簽的能力來(lái)實(shí)現很多功能,那么就需要大量的標簽,標簽也可能需要頻繁的更新或者變化。網(wǎng)頁(yè)也是如此。上網(wǎng)很容易,但移動(dòng)應用就難了。如果有錯誤或遺漏,更正將有一個(gè)很長(cháng)的修正周期。在這種情況下,標簽管理器就派上用場(chǎng)了。
標簽管理器提供了一個(gè)容器。工程師只需將該容器正確嵌入到網(wǎng)頁(yè)或移動(dòng)應用程序中即可。之后,不懂技術(shù)的團隊可以通過(guò)在線(xiàn)管理將后續標簽發(fā)布到網(wǎng)頁(yè)或移動(dòng)應用程序中。這樣,技術(shù)人員和業(yè)務(wù)人員獨立工作。這聽(tīng)起來(lái)與可視化的埋點(diǎn)相似嗎?是的,它們的原理幾乎完全相同。只是視覺(jué)埋點(diǎn)更傾向于為用戶(hù)在客戶(hù)端的點(diǎn)擊行為提供直觀(guān)的方法,而標簽管理器在代碼層面,可以做的更多。
標簽管理器非常強大,可以避免代碼嵌入,可以通過(guò)DataLayer獲取頁(yè)面中的變量,如不同的用戶(hù)ID、用戶(hù)級別、登錄狀態(tài)、購買(mǎi)產(chǎn)品的名稱(chēng)和價(jià)格等;只有當這些變量達到一定水平時(shí),觸發(fā)器才能觸發(fā)事件上報。是不是很贊!
目前最著(zhù)名的標簽管理器是谷歌推出的Google Tag manager,簡(jiǎn)稱(chēng)GTM,占據了83%的市場(chǎng)份額。個(gè)人版是免費的,但還是提供了極其強大的功能,一般團隊使用已經(jīng)足夠了。如果想進(jìn)一步了解GTM的功能,可以閱讀它的官網(wǎng),里面有非常豐富的講解和案例。
綜上所述,目前在客戶(hù)端獲取用戶(hù)數據還沒(méi)有簡(jiǎn)單通用的方案。您應該在合適的場(chǎng)景中選擇相應的嵌入方法來(lái)平衡成本和收益。好在現在廠(chǎng)商基本都支持以上多客戶(hù)端行為的采集方法。未來(lái),對于客戶(hù)端埋點(diǎn)來(lái)說(shuō),集成標簽管理器某些特性的可視化埋點(diǎn)必將取代更多的代碼埋點(diǎn),解決工作中所有常見(jiàn)的客戶(hù)端行為采集需求。
就像早期論壇的編輯框一樣,帖子的效果只能通過(guò)發(fā)布或預覽功能才能看到,但是后來(lái)出現了所見(jiàn)即所得的編輯器,讓編輯文字變得非常高效和愉快。目前開(kāi)源社區中流行的 Markdown 格式仍然采用這種方式。在許多流行的 Markdown 編輯器中,它仍然是一側編輯,另一側實(shí)時(shí)預覽,或直接以最終格式編輯。
隨著(zhù)物聯(lián)網(wǎng)時(shí)代的到來(lái),越來(lái)越多的用戶(hù)界面會(huì )出現在電腦和手機之外,越來(lái)越多的內容會(huì )因人而異。到時(shí)候,未來(lái)越來(lái)越多的SDK集成,會(huì )自動(dòng)采集更多標準的用戶(hù)行為,對于非標準的強業(yè)務(wù)意義,需要根據具體情況進(jìn)行計算,或者需要有效,那么就可以通過(guò)視覺(jué)嵌入點(diǎn)來(lái)完成。但現階段,恐怕最好的組合還是GTM結合visual embedding。
采集自動(dòng)組合( 組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 160 次瀏覽 ? 2021-12-07 21:10
組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程
多字段組合發(fā)布是優(yōu)采云采集的SEO工具之一,可以增加收錄和網(wǎng)站的權重。
?具體用途是在發(fā)布目標的標題或內容[配置映射對應字段]處組合不同的字段,合成一個(gè)新的標題或正文進(jìn)行發(fā)布。
進(jìn)入【配置映射對應字段】頁(yè)面,可以組合多個(gè)字段發(fā)布結果
1. 進(jìn)入【配置映射對應字段】頁(yè)面
?? 進(jìn)入一個(gè)任務(wù),點(diǎn)擊【發(fā)布目標管理】==》找到需要配置的發(fā)布目標,點(diǎn)擊右側對應的【配置映射】按鈕;
2. 合并多個(gè)字段
?? 一、組合標題或內容的“值來(lái)源1”處的字段,例如組合標題處的title和tag字段:
?? 二、設置組合字段之間的分隔符。默認為逗號,kds_empty_val 為空字符。修改后請點(diǎn)擊保存按鈕。
?? 下圖中的示例用下劃線(xiàn)填充。
3.發(fā)布結果
?? 發(fā)布前數據,title字段和tag字段內容:
?? 文章發(fā)布后,在title后面添加tag字段的內容:
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程相關(guān)教程2020-10-11《多背包單調隊列優(yōu)化》
2020-10-11《多背包單調隊列優(yōu)化》《多背包單調隊列優(yōu)化》【題目】有n種物品,一個(gè)容量為m的背包。第i個(gè)項目最多有si個(gè)項目,每個(gè)項目的體積為vi,值為wi。解決選擇將哪些物品放入背包,使物品的總體積不超過(guò)背包的容量,且總值最大。只輸出最大值?!?br /> unity優(yōu)化GC操作詳解
Unity優(yōu)化GC操作內容詳解修改自: 簡(jiǎn)介:游戲運行時(shí),數據主要存放在內存中。當不需要游戲數據時(shí),可以回收存儲當前數據的內存重新使用。內存垃圾是指當前丟棄的數據所占用的內存。垃圾
樹(shù)莓派工控機定時(shí)和自動(dòng)采集數據解決方案
樹(shù)莓派工控機定時(shí)自動(dòng)采集數據解決方案概述:采集樹(shù)莓派(xxxxx,以下簡(jiǎn)稱(chēng)工控機)上的數據,傳輸到本地sqlserver數據庫,寫(xiě)入數據Python采集腳本。這涉及到幾個(gè)問(wèn)題:當出現網(wǎng)絡(luò )中斷、斷電、工控機重啟等異常情況時(shí),為保證這些異常情況的發(fā)生,仍能自動(dòng)
Foobar2000的配置與優(yōu)化
Foobar2000 配置與優(yōu)化 Foobar2000 配置與優(yōu)化 1. DTS 解碼器 foo_input_dts 解碼 DTS 音效 2. ESlyric foo_uie_eslyric 歌詞面板,支持桌面歌詞。有很多可自定義的配置項,支持國內外很多網(wǎng)站歌詞搜索。比 Lyrics Panel Show 3 更好用。 在 Options-Tools-ESLy 中可用
新APP上線(xiàn)后如何優(yōu)化ASO
新APP上線(xiàn)時(shí),如何優(yōu)化ASO 新APP上線(xiàn),推廣是重中之重,而ASO也是必不可少的環(huán)節??赡苡腥藭?huì )說(shuō)ASO需要用錢(qián)來(lái)做。玩法豐富,沒(méi)錢(qián)沒(méi)錢(qián)玩ASO。豐富的玩法就不多說(shuō)了。大家都知道,今天我們主要分享一下沒(méi)錢(qián)的方法。首先我們要了解陰影
Debezium采集postgresql 日志
Debezium采集postgresql log debezium采集postgresql表數據debezium不用kafka就可以完成
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?點(diǎn)擊上方程序員小樂(lè )關(guān)注、star或頂頂,共同成長(cháng)。關(guān)注訂閱號“程序員小樂(lè )”,每天觀(guān)看更多精彩英文內容。做你自己,不要為任何人改變。如果他們不喜歡你最糟糕的時(shí)候,那么他們不值得你在
擲骰子【普通線(xiàn)性DP】【傳遞方程可以?xún)?yōu)化為矩陣快速冪】
擲骰子【普通線(xiàn)性DP】【轉移方程可以?xún)?yōu)化為矩陣快速冪】擲骰子可以先定義一個(gè)狀態(tài)f[i][j]:第i個(gè)骰子,最后一邊是j的方法個(gè)數,它一定是超時(shí)了,但是Goose可以混點(diǎn),代碼如下 for(int i=1;i=6;i++) f[0][i]=1; for(int i=1;i=n;i++) {for(int j=1;j=6;j++) {fo 查看全部
采集自動(dòng)組合(
組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程
多字段組合發(fā)布是優(yōu)采云采集的SEO工具之一,可以增加收錄和網(wǎng)站的權重。
?具體用途是在發(fā)布目標的標題或內容[配置映射對應字段]處組合不同的字段,合成一個(gè)新的標題或正文進(jìn)行發(fā)布。

進(jìn)入【配置映射對應字段】頁(yè)面,可以組合多個(gè)字段發(fā)布結果
1. 進(jìn)入【配置映射對應字段】頁(yè)面
?? 進(jìn)入一個(gè)任務(wù),點(diǎn)擊【發(fā)布目標管理】==》找到需要配置的發(fā)布目標,點(diǎn)擊右側對應的【配置映射】按鈕;

2. 合并多個(gè)字段
?? 一、組合標題或內容的“值來(lái)源1”處的字段,例如組合標題處的title和tag字段:

?? 二、設置組合字段之間的分隔符。默認為逗號,kds_empty_val 為空字符。修改后請點(diǎn)擊保存按鈕。
?? 下圖中的示例用下劃線(xiàn)填充。

3.發(fā)布結果
?? 發(fā)布前數據,title字段和tag字段內容:

?? 文章發(fā)布后,在title后面添加tag字段的內容:

采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程相關(guān)教程2020-10-11《多背包單調隊列優(yōu)化》
2020-10-11《多背包單調隊列優(yōu)化》《多背包單調隊列優(yōu)化》【題目】有n種物品,一個(gè)容量為m的背包。第i個(gè)項目最多有si個(gè)項目,每個(gè)項目的體積為vi,值為wi。解決選擇將哪些物品放入背包,使物品的總體積不超過(guò)背包的容量,且總值最大。只輸出最大值?!?br /> unity優(yōu)化GC操作詳解
Unity優(yōu)化GC操作內容詳解修改自: 簡(jiǎn)介:游戲運行時(shí),數據主要存放在內存中。當不需要游戲數據時(shí),可以回收存儲當前數據的內存重新使用。內存垃圾是指當前丟棄的數據所占用的內存。垃圾
樹(shù)莓派工控機定時(shí)和自動(dòng)采集數據解決方案
樹(shù)莓派工控機定時(shí)自動(dòng)采集數據解決方案概述:采集樹(shù)莓派(xxxxx,以下簡(jiǎn)稱(chēng)工控機)上的數據,傳輸到本地sqlserver數據庫,寫(xiě)入數據Python采集腳本。這涉及到幾個(gè)問(wèn)題:當出現網(wǎng)絡(luò )中斷、斷電、工控機重啟等異常情況時(shí),為保證這些異常情況的發(fā)生,仍能自動(dòng)
Foobar2000的配置與優(yōu)化
Foobar2000 配置與優(yōu)化 Foobar2000 配置與優(yōu)化 1. DTS 解碼器 foo_input_dts 解碼 DTS 音效 2. ESlyric foo_uie_eslyric 歌詞面板,支持桌面歌詞。有很多可自定義的配置項,支持國內外很多網(wǎng)站歌詞搜索。比 Lyrics Panel Show 3 更好用。 在 Options-Tools-ESLy 中可用
新APP上線(xiàn)后如何優(yōu)化ASO
新APP上線(xiàn)時(shí),如何優(yōu)化ASO 新APP上線(xiàn),推廣是重中之重,而ASO也是必不可少的環(huán)節??赡苡腥藭?huì )說(shuō)ASO需要用錢(qián)來(lái)做。玩法豐富,沒(méi)錢(qián)沒(méi)錢(qián)玩ASO。豐富的玩法就不多說(shuō)了。大家都知道,今天我們主要分享一下沒(méi)錢(qián)的方法。首先我們要了解陰影
Debezium采集postgresql 日志
Debezium采集postgresql log debezium采集postgresql表數據debezium不用kafka就可以完成
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?點(diǎn)擊上方程序員小樂(lè )關(guān)注、star或頂頂,共同成長(cháng)。關(guān)注訂閱號“程序員小樂(lè )”,每天觀(guān)看更多精彩英文內容。做你自己,不要為任何人改變。如果他們不喜歡你最糟糕的時(shí)候,那么他們不值得你在
擲骰子【普通線(xiàn)性DP】【傳遞方程可以?xún)?yōu)化為矩陣快速冪】
擲骰子【普通線(xiàn)性DP】【轉移方程可以?xún)?yōu)化為矩陣快速冪】擲骰子可以先定義一個(gè)狀態(tài)f[i][j]:第i個(gè)骰子,最后一邊是j的方法個(gè)數,它一定是超時(shí)了,但是Goose可以混點(diǎn),代碼如下 for(int i=1;i=6;i++) f[0][i]=1; for(int i=1;i=n;i++) {for(int j=1;j=6;j++) {fo
采集自動(dòng)組合(優(yōu)采云瀏覽器的腳本管理器是什么樣的?項目管理器的核心價(jià)值)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 115 次瀏覽 ? 2021-12-05 10:13
優(yōu)采云瀏覽器不是普通的瀏覽器,它是一個(gè)可視化的自動(dòng)腳本采集工具,一個(gè)可以解放IT人員雙手的瀏覽器,它可以做自動(dòng)采集數據,收發(fā)郵件,自動(dòng)編碼和識別驗證碼,并可自由組合操作。強大的內核可以輕松輔助您的操作。
【特征】
1、可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等就很簡(jiǎn)單了。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
2、自定義流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
3、自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
4、生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
5、項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以通過(guò)該平臺進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。
【常見(jiàn)問(wèn)題】
1、 軟件是如何授權的?
瀏覽器永久使用,兩年免費升級服務(wù)。軟件需要綁定到機器上,但可以自由更換。
2、 有沒(méi)有免費版的瀏覽器?
優(yōu)采云瀏覽器的腳本管理器可以免費使用。用戶(hù)可以直接創(chuàng )建腳本并運行單個(gè)腳本。
3、 項目經(jīng)理有什么特別之處?
項目經(jīng)理是優(yōu)采云瀏覽器的核心價(jià)值。我們的單個(gè)腳本可以獨立運行。但是我們有很多各種各樣的需求需要整合,然后我們需要一個(gè)項目經(jīng)理。
4、 可以用來(lái)挖微博嗎?
是的,你可以使用瀏覽器的滾動(dòng)條設置來(lái)采集瀑布這些數據。
5、 驗證碼可以識別嗎?
是的,該軟件帶有手動(dòng)編碼和各種編碼平臺??勺詣?dòng)識別并自動(dòng)輸入編碼結果。
6、 我可以通過(guò)優(yōu)采云 瀏覽器賺錢(qián)嗎?
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。它還允許您制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)。官方提供注冊服務(wù)和自動(dòng)升級。用戶(hù)只要管理好腳本和服務(wù)就可以快速賺錢(qián)。
7、 能操作數據庫嗎?
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
【更新內容】
1.添加緩存處理方法。
2.登錄問(wèn)題得到改善。
3. 日志錯位問(wèn)題已修復。
4.修正:復制腳本修改名稱(chēng)后,無(wú)法添加到腳本編輯區,雙擊后沒(méi)有反應。
5.修正:導入同名腳本,改名后的腳本中的腳本步驟會(huì )變成和之前的腳本一樣的步驟。
6.PHP插件和python插件問(wèn)題處理。
7.變量移除也會(huì )移除已清除變量中的變量。
8. 多行抽取和清空列表變量問(wèn)題處理。
9.頁(yè)面緩存功能的header信息中添加url。
10. 拖動(dòng)鼠標增加移動(dòng)速度。
11.定時(shí)任務(wù)的Cron表達式注釋無(wú)效,已修復。
12.修復項目經(jīng)理任務(wù)列表中右鍵點(diǎn)擊的問(wèn)題。
13.修復選項中的Preferences:點(diǎn)擊主程序右上角的關(guān)閉按鈕,最小化到托盤(pán)而不是退出。
14.exe包生成器支持.Net版本修改。
15. 優(yōu)化:變量處理操作,如果處理的變量不存在,會(huì )彈出錯誤。
16.不能在根節點(diǎn)添加組,可以新建組并在空白區域刷新列表。
17. 無(wú)法將分組腳本添加到編輯區。
18.同時(shí)選擇多個(gè)分組節點(diǎn)進(jìn)行右鍵菜單處理。
19.在列表區復制腳本后,雙擊到編輯區,在編輯區刪除復制的腳本,在列表區雙擊無(wú)效,無(wú)法添加到編輯區編輯區。
20.修正:在腳本編輯區編輯腳本名稱(chēng)后,在列表區導出。導出的名字還是修改前的名字。
21.Fix: 生成EXE,選擇包中的文件并添加,提示被占用,但從未打開(kāi)過(guò)該文件。
2 2. 腳本引用添加提示:多級腳本引用需要手動(dòng)將腳本復制到exe的Projects目錄下。
23. 新增編輯區支持腳本導出。
24. 列表區支持腳本或組名搜索。
其他相關(guān)
1 新聞播報揭秘A股483萬(wàn)大漲原因 來(lái)源:466萬(wàn) 3楊冪唱新mojito 來(lái)源:4 郭美美宣布434萬(wàn)新戀情 來(lái)源:418萬(wàn) 被捕來(lái)源:7 幼兒園畢業(yè)配文 再見(jiàn)青春 390萬(wàn) 來(lái)源:376萬(wàn) 9 林丹出軌對象發(fā)出申訴 來(lái)源:10 試用期單位未繳納社保違規 新增350萬(wàn) 來(lái)源:326萬(wàn) 全國菜價(jià)上漲 13 美國黑熊走了650公里的路程。303萬(wàn) 293萬(wàn)。香港市民每人獲1萬(wàn)元。16 王寶山辭職 263 萬(wàn) 254 萬(wàn) 18 元隆平當空軍差點(diǎn)入獄。支持教育少女生前錄音 22特工回應林志軒重病 212萬(wàn) 205萬(wàn) 24名美國明星宣布可競選總統。25.1萬(wàn)多箱茅臺自卸司機撞車(chē) 118.4萬(wàn)買(mǎi)不起 27.高考遇武漢大雨 聽(tīng)力考試可暫停 28同卓宣傳鄭云龍 171萬(wàn) 搜索工具百度查找15100條相關(guān)結果給你@網(wǎng)站抓取工具,采集模擬瀏覽器手動(dòng)操作的發(fā)布軟件,可以生成EXE。
-100%好評優(yōu)采云 瀏覽器是一個(gè)可視化的自動(dòng)化腳本工具。我們可以實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,通過(guò)設置腳本進(jìn)行操作。數據庫,優(yōu)采云瀏覽器綠色版_優(yōu)采云瀏覽器綠色版免費下載【最新版】-下載首頁(yè)優(yōu)采云瀏覽器綠色版是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等下載首頁(yè)優(yōu)采云 瀏覽器是一個(gè)自動(dòng)化腳本的工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到下載首頁(yè)優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具,我們可以實(shí)現自動(dòng)化通過(guò)設置腳本進(jìn)行登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作。非凡軟件優(yōu)采云 瀏覽器是一種自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到優(yōu)采云 瀏覽器腳本編輯器-< @優(yōu)采云瀏覽器下載v7.4.0官方版--pc6下載站優(yōu)采云瀏覽器破解版-優(yōu)采云瀏覽器下載7.31-新云軟件園優(yōu)采云瀏覽器下載,優(yōu)采云瀏覽器是一個(gè)可以可視化的網(wǎng)頁(yè)萬(wàn)能按鈕精靈采集萬(wàn)能群發(fā),也是一款功能自由組合、自動(dòng)Log的萬(wàn)能營(yíng)銷(xiāo)軟件在,一個(gè)通用的優(yōu)采云瀏覽器(數據庫采集器)會(huì )自動(dòng)識別驗證碼,是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取獲取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文字優(yōu)采云瀏覽器下載_優(yōu)采云 官方瀏覽器下載-太平洋下載中心優(yōu)采云 瀏覽器是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等操作到達 查看全部
采集自動(dòng)組合(優(yōu)采云瀏覽器的腳本管理器是什么樣的?項目管理器的核心價(jià)值)
優(yōu)采云瀏覽器不是普通的瀏覽器,它是一個(gè)可視化的自動(dòng)腳本采集工具,一個(gè)可以解放IT人員雙手的瀏覽器,它可以做自動(dòng)采集數據,收發(fā)郵件,自動(dòng)編碼和識別驗證碼,并可自由組合操作。強大的內核可以輕松輔助您的操作。

【特征】
1、可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等就很簡(jiǎn)單了。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
2、自定義流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
3、自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
4、生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
5、項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以通過(guò)該平臺進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。

【常見(jiàn)問(wèn)題】
1、 軟件是如何授權的?
瀏覽器永久使用,兩年免費升級服務(wù)。軟件需要綁定到機器上,但可以自由更換。
2、 有沒(méi)有免費版的瀏覽器?
優(yōu)采云瀏覽器的腳本管理器可以免費使用。用戶(hù)可以直接創(chuàng )建腳本并運行單個(gè)腳本。
3、 項目經(jīng)理有什么特別之處?
項目經(jīng)理是優(yōu)采云瀏覽器的核心價(jià)值。我們的單個(gè)腳本可以獨立運行。但是我們有很多各種各樣的需求需要整合,然后我們需要一個(gè)項目經(jīng)理。
4、 可以用來(lái)挖微博嗎?
是的,你可以使用瀏覽器的滾動(dòng)條設置來(lái)采集瀑布這些數據。
5、 驗證碼可以識別嗎?
是的,該軟件帶有手動(dòng)編碼和各種編碼平臺??勺詣?dòng)識別并自動(dòng)輸入編碼結果。
6、 我可以通過(guò)優(yōu)采云 瀏覽器賺錢(qián)嗎?
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。它還允許您制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)。官方提供注冊服務(wù)和自動(dòng)升級。用戶(hù)只要管理好腳本和服務(wù)就可以快速賺錢(qián)。
7、 能操作數據庫嗎?
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
【更新內容】
1.添加緩存處理方法。
2.登錄問(wèn)題得到改善。
3. 日志錯位問(wèn)題已修復。
4.修正:復制腳本修改名稱(chēng)后,無(wú)法添加到腳本編輯區,雙擊后沒(méi)有反應。
5.修正:導入同名腳本,改名后的腳本中的腳本步驟會(huì )變成和之前的腳本一樣的步驟。
6.PHP插件和python插件問(wèn)題處理。
7.變量移除也會(huì )移除已清除變量中的變量。
8. 多行抽取和清空列表變量問(wèn)題處理。
9.頁(yè)面緩存功能的header信息中添加url。
10. 拖動(dòng)鼠標增加移動(dòng)速度。
11.定時(shí)任務(wù)的Cron表達式注釋無(wú)效,已修復。
12.修復項目經(jīng)理任務(wù)列表中右鍵點(diǎn)擊的問(wèn)題。
13.修復選項中的Preferences:點(diǎn)擊主程序右上角的關(guān)閉按鈕,最小化到托盤(pán)而不是退出。
14.exe包生成器支持.Net版本修改。
15. 優(yōu)化:變量處理操作,如果處理的變量不存在,會(huì )彈出錯誤。
16.不能在根節點(diǎn)添加組,可以新建組并在空白區域刷新列表。
17. 無(wú)法將分組腳本添加到編輯區。
18.同時(shí)選擇多個(gè)分組節點(diǎn)進(jìn)行右鍵菜單處理。
19.在列表區復制腳本后,雙擊到編輯區,在編輯區刪除復制的腳本,在列表區雙擊無(wú)效,無(wú)法添加到編輯區編輯區。
20.修正:在腳本編輯區編輯腳本名稱(chēng)后,在列表區導出。導出的名字還是修改前的名字。
21.Fix: 生成EXE,選擇包中的文件并添加,提示被占用,但從未打開(kāi)過(guò)該文件。
2 2. 腳本引用添加提示:多級腳本引用需要手動(dòng)將腳本復制到exe的Projects目錄下。
23. 新增編輯區支持腳本導出。
24. 列表區支持腳本或組名搜索。
其他相關(guān)
1 新聞播報揭秘A股483萬(wàn)大漲原因 來(lái)源:466萬(wàn) 3楊冪唱新mojito 來(lái)源:4 郭美美宣布434萬(wàn)新戀情 來(lái)源:418萬(wàn) 被捕來(lái)源:7 幼兒園畢業(yè)配文 再見(jiàn)青春 390萬(wàn) 來(lái)源:376萬(wàn) 9 林丹出軌對象發(fā)出申訴 來(lái)源:10 試用期單位未繳納社保違規 新增350萬(wàn) 來(lái)源:326萬(wàn) 全國菜價(jià)上漲 13 美國黑熊走了650公里的路程。303萬(wàn) 293萬(wàn)。香港市民每人獲1萬(wàn)元。16 王寶山辭職 263 萬(wàn) 254 萬(wàn) 18 元隆平當空軍差點(diǎn)入獄。支持教育少女生前錄音 22特工回應林志軒重病 212萬(wàn) 205萬(wàn) 24名美國明星宣布可競選總統。25.1萬(wàn)多箱茅臺自卸司機撞車(chē) 118.4萬(wàn)買(mǎi)不起 27.高考遇武漢大雨 聽(tīng)力考試可暫停 28同卓宣傳鄭云龍 171萬(wàn) 搜索工具百度查找15100條相關(guān)結果給你@網(wǎng)站抓取工具,采集模擬瀏覽器手動(dòng)操作的發(fā)布軟件,可以生成EXE。
-100%好評優(yōu)采云 瀏覽器是一個(gè)可視化的自動(dòng)化腳本工具。我們可以實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,通過(guò)設置腳本進(jìn)行操作。數據庫,優(yōu)采云瀏覽器綠色版_優(yōu)采云瀏覽器綠色版免費下載【最新版】-下載首頁(yè)優(yōu)采云瀏覽器綠色版是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等下載首頁(yè)優(yōu)采云 瀏覽器是一個(gè)自動(dòng)化腳本的工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到下載首頁(yè)優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具,我們可以實(shí)現自動(dòng)化通過(guò)設置腳本進(jìn)行登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作。非凡軟件優(yōu)采云 瀏覽器是一種自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到優(yōu)采云 瀏覽器腳本編輯器-< @優(yōu)采云瀏覽器下載v7.4.0官方版--pc6下載站優(yōu)采云瀏覽器破解版-優(yōu)采云瀏覽器下載7.31-新云軟件園優(yōu)采云瀏覽器下載,優(yōu)采云瀏覽器是一個(gè)可以可視化的網(wǎng)頁(yè)萬(wàn)能按鈕精靈采集萬(wàn)能群發(fā),也是一款功能自由組合、自動(dòng)Log的萬(wàn)能營(yíng)銷(xiāo)軟件在,一個(gè)通用的優(yōu)采云瀏覽器(數據庫采集器)會(huì )自動(dòng)識別驗證碼,是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取獲取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文字優(yōu)采云瀏覽器下載_優(yōu)采云 官方瀏覽器下載-太平洋下載中心優(yōu)采云 瀏覽器是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等操作到達
采集自動(dòng)組合(試試用smartproxyapp除非能從你的運營(yíng)商接入數據)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-12-03 22:00
采集自動(dòng)組合是什么鬼?這種容易讓android崩潰的功能,是不建議在android上進(jìn)行的。而且,就算你下載了,也沒(méi)辦法繞過(guò)appstore的審核。
在android上,你可以基于wap業(yè)務(wù),通過(guò)sqlmap來(lái)嗅探數據,然后root后去修改數據。wap+sqlmap可以在android上查看三大應用市場(chǎng)的排名以及app評論等。不過(guò)需要root。不知道樓主要干嘛。
試試用smartproxy
app除非能從你的運營(yíng)商接入數據,否則自己采集數據做商業(yè)用途幾乎是不可能的事情。
既然已經(jīng)root了,就安心等封殺通知吧。你的數據還有機會(huì )恢復的。否則太悲劇了。
解決方案一個(gè)是綁定wifi,然后system后臺服務(wù)上報數據到網(wǎng)站,另一個(gè)是綁定同樣的wifi,然后顯示相同信息。個(gè)人覺(jué)得第二個(gè)比較靠譜,但是如果做成功了,會(huì )多一個(gè)消息獲取對象,讀取這個(gè)鏈接的數據可能是最大的問(wèn)題。
我的觀(guān)點(diǎn):我們都無(wú)法從技術(shù)上阻止廠(chǎng)商通過(guò)流量獲取數據,流量獲取的渠道也是有限的,并不像黑產(chǎn)那樣流量到了后臺就直接轉化為服務(wù)。把android手機中安裝的各種應用流量劫持,獲取后臺上報數據這件事情理解為黑產(chǎn)的,是不公平的。而把流量劫持認為不可行的原因是:流量劫持是違法的,但是這種方式要規避審查的難度遠大于解決流量獲取這個(gè)問(wèn)題。
解決方案的兩個(gè)原因:一個(gè)是通過(guò)軟件實(shí)現劫持,另一個(gè)是通過(guò)對流量劫持的一些限制,比如對數據存儲流量劫持,實(shí)現沒(méi)有入口的流量劫持。手機微信搖一搖搖不到紅包的問(wèn)題是在于此,而不是在于微信要流量,微信又攔截不了。另一方面,我也不是專(zhuān)家,說(shuō)的可能不對,也歡迎大家指正。流量劫持是違法的,微信要流量不攔截,可能是好事情,但也可能是壞事情。
如果有人攔截了微信的這種方式,那就相當于你違法了。這件事情是很復雜的,是基于他人的態(tài)度,以及法律的尺度。但是大家普遍是這么認為的,但是如果有足夠多的人成功把android手機流量劫持到你的應用里面,而且得到你的數據,這是很好的事情。 查看全部
采集自動(dòng)組合(試試用smartproxyapp除非能從你的運營(yíng)商接入數據)
采集自動(dòng)組合是什么鬼?這種容易讓android崩潰的功能,是不建議在android上進(jìn)行的。而且,就算你下載了,也沒(méi)辦法繞過(guò)appstore的審核。
在android上,你可以基于wap業(yè)務(wù),通過(guò)sqlmap來(lái)嗅探數據,然后root后去修改數據。wap+sqlmap可以在android上查看三大應用市場(chǎng)的排名以及app評論等。不過(guò)需要root。不知道樓主要干嘛。
試試用smartproxy
app除非能從你的運營(yíng)商接入數據,否則自己采集數據做商業(yè)用途幾乎是不可能的事情。
既然已經(jīng)root了,就安心等封殺通知吧。你的數據還有機會(huì )恢復的。否則太悲劇了。
解決方案一個(gè)是綁定wifi,然后system后臺服務(wù)上報數據到網(wǎng)站,另一個(gè)是綁定同樣的wifi,然后顯示相同信息。個(gè)人覺(jué)得第二個(gè)比較靠譜,但是如果做成功了,會(huì )多一個(gè)消息獲取對象,讀取這個(gè)鏈接的數據可能是最大的問(wèn)題。
我的觀(guān)點(diǎn):我們都無(wú)法從技術(shù)上阻止廠(chǎng)商通過(guò)流量獲取數據,流量獲取的渠道也是有限的,并不像黑產(chǎn)那樣流量到了后臺就直接轉化為服務(wù)。把android手機中安裝的各種應用流量劫持,獲取后臺上報數據這件事情理解為黑產(chǎn)的,是不公平的。而把流量劫持認為不可行的原因是:流量劫持是違法的,但是這種方式要規避審查的難度遠大于解決流量獲取這個(gè)問(wèn)題。
解決方案的兩個(gè)原因:一個(gè)是通過(guò)軟件實(shí)現劫持,另一個(gè)是通過(guò)對流量劫持的一些限制,比如對數據存儲流量劫持,實(shí)現沒(méi)有入口的流量劫持。手機微信搖一搖搖不到紅包的問(wèn)題是在于此,而不是在于微信要流量,微信又攔截不了。另一方面,我也不是專(zhuān)家,說(shuō)的可能不對,也歡迎大家指正。流量劫持是違法的,微信要流量不攔截,可能是好事情,但也可能是壞事情。
如果有人攔截了微信的這種方式,那就相當于你違法了。這件事情是很復雜的,是基于他人的態(tài)度,以及法律的尺度。但是大家普遍是這么認為的,但是如果有足夠多的人成功把android手機流量劫持到你的應用里面,而且得到你的數據,這是很好的事情。
采集自動(dòng)組合(默認用thread來(lái)做監聽(tīng)線(xiàn)程的經(jīng)驗之談之采集)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 137 次瀏覽 ? 2021-11-30 23:04
采集自動(dòng)組合:可以生成主線(xiàn)程還有組合調用監聽(tīng)線(xiàn)程,
0)){if(server.isf(this,
0)){if(!server.isf(this,
0)){server.addflags("goto");}}}經(jīng)驗之談:最主要的還是用樣式來(lái)寫(xiě)下的功能。
大概是主線(xiàn)程運行python代碼,處理有異常的情況。比如修改了頁(yè)面,我試過(guò)tryexcept,差不多會(huì )終止,但是還是python在處理問(wèn)題。很多timeout的功能沒(méi)用。
python中timeout指定進(jìn)程(線(xiàn)程)最后運行的時(shí)間,當線(xiàn)程過(guò)多時(shí)timeout有可能變?yōu)樗梨i。本質(zhì)是調用的內部函數,所以你需要看是哪個(gè)線(xiàn)程在執行。當一個(gè)線(xiàn)程執行的時(shí)候timeout時(shí)間又未到的話(huà),
tornado默認是用thread的,但是實(shí)際做一些特殊優(yōu)化可以讓timeout的速度相對線(xiàn)程縮短。推薦看一下這篇帖子,我感覺(jué)寫(xiě)的很詳細了,
在用caploise來(lái)做監聽(tīng)線(xiàn)程的時(shí)候經(jīng)常會(huì )遇到類(lèi)似threadtimeout等的情況,不知道是怎么回事。
語(yǔ)言上來(lái)說(shuō),timeout是異步的。當thread過(guò)多的時(shí)候往往使用threadtimeout會(huì )更加合適一些。其次,線(xiàn)程一個(gè)是多線(xiàn)程的執行,一個(gè)是的執行,在時(shí)間上本身就有區別。python中每個(gè)event都會(huì )有一個(gè)timeoutifnotintimes.for_each是預取主線(xiàn)程一切timeout的上限最后,我覺(jué)得編程時(shí)的某些細節決定了timeout函數的合理性。
我就遇到了這樣的情況,在請求異步時(shí)線(xiàn)程異步造成timeoutifnotintimes.for_each或者直接設置timeoutifnotintimes.for_each。 查看全部
采集自動(dòng)組合(默認用thread來(lái)做監聽(tīng)線(xiàn)程的經(jīng)驗之談之采集)
采集自動(dòng)組合:可以生成主線(xiàn)程還有組合調用監聽(tīng)線(xiàn)程,
0)){if(server.isf(this,
0)){if(!server.isf(this,
0)){server.addflags("goto");}}}經(jīng)驗之談:最主要的還是用樣式來(lái)寫(xiě)下的功能。
大概是主線(xiàn)程運行python代碼,處理有異常的情況。比如修改了頁(yè)面,我試過(guò)tryexcept,差不多會(huì )終止,但是還是python在處理問(wèn)題。很多timeout的功能沒(méi)用。
python中timeout指定進(jìn)程(線(xiàn)程)最后運行的時(shí)間,當線(xiàn)程過(guò)多時(shí)timeout有可能變?yōu)樗梨i。本質(zhì)是調用的內部函數,所以你需要看是哪個(gè)線(xiàn)程在執行。當一個(gè)線(xiàn)程執行的時(shí)候timeout時(shí)間又未到的話(huà),
tornado默認是用thread的,但是實(shí)際做一些特殊優(yōu)化可以讓timeout的速度相對線(xiàn)程縮短。推薦看一下這篇帖子,我感覺(jué)寫(xiě)的很詳細了,
在用caploise來(lái)做監聽(tīng)線(xiàn)程的時(shí)候經(jīng)常會(huì )遇到類(lèi)似threadtimeout等的情況,不知道是怎么回事。
語(yǔ)言上來(lái)說(shuō),timeout是異步的。當thread過(guò)多的時(shí)候往往使用threadtimeout會(huì )更加合適一些。其次,線(xiàn)程一個(gè)是多線(xiàn)程的執行,一個(gè)是的執行,在時(shí)間上本身就有區別。python中每個(gè)event都會(huì )有一個(gè)timeoutifnotintimes.for_each是預取主線(xiàn)程一切timeout的上限最后,我覺(jué)得編程時(shí)的某些細節決定了timeout函數的合理性。
我就遇到了這樣的情況,在請求異步時(shí)線(xiàn)程異步造成timeoutifnotintimes.for_each或者直接設置timeoutifnotintimes.for_each。
采集自動(dòng)組合(采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-11-28 13:01
采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹了組合sql技術(shù)在自動(dòng)組合java庫時(shí)的缺陷和connector的想法。最后提供了兩個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明工具鏈如何搭建。在計算機科學(xué)中有一種應用類(lèi)型叫成像對象。通常的把圖像作為3d模型被用來(lái)人工重建數據在電子或光學(xué)學(xué)科里叫3d成像對象。java也提供類(lèi)似的方法來(lái)繪制圖像,但在那些地方要使用2d圖像。
2d圖像比2d模型更小,渲染2d圖像更快速,更高效,渲染像素圖像更容易。如果你使用java來(lái)計算,編譯器會(huì )把圖像轉換成圖像對象,那會(huì )增加很多復雜性。所以最好的選擇是使用采集到的2d圖像作為3d模型來(lái)實(shí)現3d圖像渲染。成像對象是把正在計算的結果以2d方式在我們需要的地方顯示。這樣我們就可以用計算量小的2d圖像來(lái)獲得我們需要的高分辨率和視野,同時(shí)不需要復雜的數學(xué)方法來(lái)重建數據。
那么你可能想要一個(gè)既能一次性采集到所有3d結果,又能讓多次調用一次數據的應用程序。這個(gè)應用程序就是集成采集sql實(shí)現的scanbase類(lèi)。我們用java在jvm環(huán)境里運行了這個(gè)應用程序,并且為我們的代碼提供了足夠的運行時(shí)并且被大小為160gb的u3dmono虛擬機所利用。這個(gè)計算機的內部是使用采集到的sql數據。
scanbase類(lèi)里只有一個(gè)最簡(jiǎn)單的points(或稱(chēng)采集對象)實(shí)例化:publicinterfacescanbase{ac_objectbuild(stringrenderstarttx,stringrenderstarttx1,stringrenderstarttx2,stringrenderstarttx3,intrenderstartmeth,intrenderstarttack,intrenderstarttx);}這是一個(gè)容器實(shí)例化,需要傳入每個(gè)points的長(cháng)度,以及一些必須的參數。
我只傳了長(cháng)度為int類(lèi)型的renderstarttx,因為有時(shí)候這些對象會(huì )有重疊的ucnotconnected關(guān)聯(lián)。另外的如renderstartx和renderstartex兩個(gè)參數是一個(gè)參數對于一個(gè)int數值(可選),然后是一個(gè)指定數值。如果采集太遠的數值,你也可以加入參數renderstartx和renderstartex來(lái)預防數據重疊和脫落。
為什么scanbase不是基于list集合的數據結構呢?要了解原因,先了解我們的存儲層。points的長(cháng)度是2d的,并且存儲在一個(gè)數組里。如果數組被分為兩組,那么數組就會(huì )有一個(gè)大小大于1g的數組。要比這個(gè)數組大,你還需要很大的內存空間。根據我們自己的經(jīng)驗,一般都不會(huì )超過(guò)2g。在list的每個(gè)元素都有唯一的名字,也就是它的索引。
因此points只是一個(gè)數組里唯一的一個(gè)point對象而已。所以,這是一個(gè)單向無(wú)循環(huán)的數組,所以索引在循環(huán)里總是不會(huì )過(guò)早的被修改。另外,我們都知道scantable是使用list集合作為二進(jìn)制表示的。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹)
采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹了組合sql技術(shù)在自動(dòng)組合java庫時(shí)的缺陷和connector的想法。最后提供了兩個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明工具鏈如何搭建。在計算機科學(xué)中有一種應用類(lèi)型叫成像對象。通常的把圖像作為3d模型被用來(lái)人工重建數據在電子或光學(xué)學(xué)科里叫3d成像對象。java也提供類(lèi)似的方法來(lái)繪制圖像,但在那些地方要使用2d圖像。
2d圖像比2d模型更小,渲染2d圖像更快速,更高效,渲染像素圖像更容易。如果你使用java來(lái)計算,編譯器會(huì )把圖像轉換成圖像對象,那會(huì )增加很多復雜性。所以最好的選擇是使用采集到的2d圖像作為3d模型來(lái)實(shí)現3d圖像渲染。成像對象是把正在計算的結果以2d方式在我們需要的地方顯示。這樣我們就可以用計算量小的2d圖像來(lái)獲得我們需要的高分辨率和視野,同時(shí)不需要復雜的數學(xué)方法來(lái)重建數據。
那么你可能想要一個(gè)既能一次性采集到所有3d結果,又能讓多次調用一次數據的應用程序。這個(gè)應用程序就是集成采集sql實(shí)現的scanbase類(lèi)。我們用java在jvm環(huán)境里運行了這個(gè)應用程序,并且為我們的代碼提供了足夠的運行時(shí)并且被大小為160gb的u3dmono虛擬機所利用。這個(gè)計算機的內部是使用采集到的sql數據。
scanbase類(lèi)里只有一個(gè)最簡(jiǎn)單的points(或稱(chēng)采集對象)實(shí)例化:publicinterfacescanbase{ac_objectbuild(stringrenderstarttx,stringrenderstarttx1,stringrenderstarttx2,stringrenderstarttx3,intrenderstartmeth,intrenderstarttack,intrenderstarttx);}這是一個(gè)容器實(shí)例化,需要傳入每個(gè)points的長(cháng)度,以及一些必須的參數。
我只傳了長(cháng)度為int類(lèi)型的renderstarttx,因為有時(shí)候這些對象會(huì )有重疊的ucnotconnected關(guān)聯(lián)。另外的如renderstartx和renderstartex兩個(gè)參數是一個(gè)參數對于一個(gè)int數值(可選),然后是一個(gè)指定數值。如果采集太遠的數值,你也可以加入參數renderstartx和renderstartex來(lái)預防數據重疊和脫落。
為什么scanbase不是基于list集合的數據結構呢?要了解原因,先了解我們的存儲層。points的長(cháng)度是2d的,并且存儲在一個(gè)數組里。如果數組被分為兩組,那么數組就會(huì )有一個(gè)大小大于1g的數組。要比這個(gè)數組大,你還需要很大的內存空間。根據我們自己的經(jīng)驗,一般都不會(huì )超過(guò)2g。在list的每個(gè)元素都有唯一的名字,也就是它的索引。
因此points只是一個(gè)數組里唯一的一個(gè)point對象而已。所以,這是一個(gè)單向無(wú)循環(huán)的數組,所以索引在循環(huán)里總是不會(huì )過(guò)早的被修改。另外,我們都知道scantable是使用list集合作為二進(jìn)制表示的。
采集自動(dòng)組合(EditorTools3基礎版數據采集軟件特征無(wú)人值守(組圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 208 次瀏覽 ? 2021-11-23 15:10
EditorTools3基礎版是一款簡(jiǎn)單易用的數據采集軟件??梢愿鶕阍O置的規則允許,并且采集全天持續對數據執行。目前支持所有類(lèi)型的網(wǎng)站,并且會(huì )自動(dòng)合并采集的內容。
軟件功能
1、與網(wǎng)站分離,通過(guò)獨立產(chǎn)生的接口,可以支持任何網(wǎng)站或數據庫
2、體積小,低功耗,穩定性好,非常適合在服務(wù)器上運行
3、所有規則均可導入導出,資源靈活復用
4、使用FTP上傳文件,穩定安全
5、反向、順序、隨機可選采集文章
6、支持自動(dòng)列表網(wǎng)址
7、支持網(wǎng)站數據分布在多個(gè)頁(yè)面采集
8、自由設置數據項采集,每個(gè)數據項可以單獨過(guò)濾排序
9、支持分頁(yè)內容采集
10、支持下載任意格式和類(lèi)型的文件(包括圖片和視頻)
11、可以突破防盜文件
12、支持動(dòng)態(tài)文件URL解析
13、支持采集需要登錄才能訪(fǎng)問(wèn)的網(wǎng)頁(yè)
軟件特點(diǎn)
1、全自動(dòng)無(wú)人值守
無(wú)需值守,24小時(shí)自動(dòng)實(shí)時(shí)監控目標,實(shí)時(shí)高效采集,全天候為您提供內容更新。滿(mǎn)足長(cháng)期運營(yíng)需求,讓您從繁重的工作中解脫出來(lái)。
2、廣泛適用
最全能的采集軟件,支持任何類(lèi)型的網(wǎng)站采集,適用率高達99.9%,支持發(fā)布到所有類(lèi)型的網(wǎng)站 程序等您可以采集 本地文件并在沒(méi)有界面的情況下發(fā)布。
3、信息自由
支持信息的自由組合,通過(guò)強大的數據整理功能對信息進(jìn)行深度加工,創(chuàng )造新的內容。
4、任意格式文件下載
無(wú)論是靜態(tài)還是動(dòng)態(tài),無(wú)論是圖片、音樂(lè )、電影、軟件,還是PDF文檔、WORD文檔,甚至種子文件,只要你想。
5、偽原創(chuàng )
高速同義詞替換、多詞隨機替換、隨機段落排序、幫助內容SEO
6、無(wú)限多級頁(yè)面采集
從支持多級目錄開(kāi)始,無(wú)論是垂直的多級信息頁(yè)面,還是平行方向的多內容分頁(yè),還是AJAX調用頁(yè)面,都讓你輕松采集。
7、免費延期
開(kāi)放的接口模式,讓您自由開(kāi)發(fā)二次開(kāi)發(fā),定制任意功能,實(shí)現所有需求。
EditorTools3使用教程
1、使用注冊
通過(guò)注冊獲得使用ET的授權;
打開(kāi)主菜單-授權注冊,填寫(xiě)您在官方ET網(wǎng)站(非論壇)注冊的有效賬號,注冊使用ET獲得使用ET授權
2、系統設置
打開(kāi)主菜單-系統-基本設置,進(jìn)行各種系統設置
設置工作參數:根據您的需要設置工作參數
設置代理:如果使用代理上網(wǎng),請設置網(wǎng)頁(yè)的代理參數
設置劫持特征碼:很多地區的電信寬帶用戶(hù)在上網(wǎng)時(shí),會(huì )強制訪(fǎng)問(wèn)信息,將訪(fǎng)問(wèn)信息替換為一些代碼,使用戶(hù)只能通過(guò)代碼中的框架查看原創(chuàng )網(wǎng)頁(yè). 這通常用于顯示電信廣告或執行其他秘密操作,稱(chēng)為劫持瀏覽器;出現這種情況時(shí),ET的采集的源代碼只能得到這些劫持代碼,而不是采集的網(wǎng)頁(yè)源代碼。通過(guò)設置這些劫持代碼的特征字符串,ET將嘗試突破劫持訪(fǎng)問(wèn)真正的網(wǎng)頁(yè)源代碼,最多可重試5次訪(fǎng)問(wèn)網(wǎng)站。
3、選擇工作計劃
工作計劃包括從源獲取原創(chuàng )信息、處理信息、最終發(fā)布到目標網(wǎng)站的所有設置指令。執行自動(dòng)采集工作的是ET的指揮官。當我們制定好您需要的計劃后,您可以在主窗口中選擇工作計劃開(kāi)始采集工作。
更新內容
1. 新增:支持多代理,自動(dòng)輪換代理。
2. 優(yōu)化:字符解碼支持%xx格式。 查看全部
采集自動(dòng)組合(EditorTools3基礎版數據采集軟件特征無(wú)人值守(組圖))
EditorTools3基礎版是一款簡(jiǎn)單易用的數據采集軟件??梢愿鶕阍O置的規則允許,并且采集全天持續對數據執行。目前支持所有類(lèi)型的網(wǎng)站,并且會(huì )自動(dòng)合并采集的內容。

軟件功能
1、與網(wǎng)站分離,通過(guò)獨立產(chǎn)生的接口,可以支持任何網(wǎng)站或數據庫
2、體積小,低功耗,穩定性好,非常適合在服務(wù)器上運行
3、所有規則均可導入導出,資源靈活復用
4、使用FTP上傳文件,穩定安全
5、反向、順序、隨機可選采集文章
6、支持自動(dòng)列表網(wǎng)址
7、支持網(wǎng)站數據分布在多個(gè)頁(yè)面采集
8、自由設置數據項采集,每個(gè)數據項可以單獨過(guò)濾排序
9、支持分頁(yè)內容采集
10、支持下載任意格式和類(lèi)型的文件(包括圖片和視頻)
11、可以突破防盜文件
12、支持動(dòng)態(tài)文件URL解析
13、支持采集需要登錄才能訪(fǎng)問(wèn)的網(wǎng)頁(yè)
軟件特點(diǎn)
1、全自動(dòng)無(wú)人值守
無(wú)需值守,24小時(shí)自動(dòng)實(shí)時(shí)監控目標,實(shí)時(shí)高效采集,全天候為您提供內容更新。滿(mǎn)足長(cháng)期運營(yíng)需求,讓您從繁重的工作中解脫出來(lái)。
2、廣泛適用
最全能的采集軟件,支持任何類(lèi)型的網(wǎng)站采集,適用率高達99.9%,支持發(fā)布到所有類(lèi)型的網(wǎng)站 程序等您可以采集 本地文件并在沒(méi)有界面的情況下發(fā)布。
3、信息自由
支持信息的自由組合,通過(guò)強大的數據整理功能對信息進(jìn)行深度加工,創(chuàng )造新的內容。
4、任意格式文件下載
無(wú)論是靜態(tài)還是動(dòng)態(tài),無(wú)論是圖片、音樂(lè )、電影、軟件,還是PDF文檔、WORD文檔,甚至種子文件,只要你想。
5、偽原創(chuàng )
高速同義詞替換、多詞隨機替換、隨機段落排序、幫助內容SEO
6、無(wú)限多級頁(yè)面采集
從支持多級目錄開(kāi)始,無(wú)論是垂直的多級信息頁(yè)面,還是平行方向的多內容分頁(yè),還是AJAX調用頁(yè)面,都讓你輕松采集。
7、免費延期
開(kāi)放的接口模式,讓您自由開(kāi)發(fā)二次開(kāi)發(fā),定制任意功能,實(shí)現所有需求。
EditorTools3使用教程
1、使用注冊
通過(guò)注冊獲得使用ET的授權;
打開(kāi)主菜單-授權注冊,填寫(xiě)您在官方ET網(wǎng)站(非論壇)注冊的有效賬號,注冊使用ET獲得使用ET授權

2、系統設置
打開(kāi)主菜單-系統-基本設置,進(jìn)行各種系統設置

設置工作參數:根據您的需要設置工作參數
設置代理:如果使用代理上網(wǎng),請設置網(wǎng)頁(yè)的代理參數
設置劫持特征碼:很多地區的電信寬帶用戶(hù)在上網(wǎng)時(shí),會(huì )強制訪(fǎng)問(wèn)信息,將訪(fǎng)問(wèn)信息替換為一些代碼,使用戶(hù)只能通過(guò)代碼中的框架查看原創(chuàng )網(wǎng)頁(yè). 這通常用于顯示電信廣告或執行其他秘密操作,稱(chēng)為劫持瀏覽器;出現這種情況時(shí),ET的采集的源代碼只能得到這些劫持代碼,而不是采集的網(wǎng)頁(yè)源代碼。通過(guò)設置這些劫持代碼的特征字符串,ET將嘗試突破劫持訪(fǎng)問(wèn)真正的網(wǎng)頁(yè)源代碼,最多可重試5次訪(fǎng)問(wèn)網(wǎng)站。
3、選擇工作計劃
工作計劃包括從源獲取原創(chuàng )信息、處理信息、最終發(fā)布到目標網(wǎng)站的所有設置指令。執行自動(dòng)采集工作的是ET的指揮官。當我們制定好您需要的計劃后,您可以在主窗口中選擇工作計劃開(kāi)始采集工作。
更新內容
1. 新增:支持多代理,自動(dòng)輪換代理。
2. 優(yōu)化:字符解碼支持%xx格式。
采集自動(dòng)組合(WP-AutoBlog自動(dòng)采集發(fā)布插件,支持采集多層級內容)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 128 次瀏覽 ? 2021-11-22 04:26
WP-AutoBlog 是一個(gè)自動(dòng) 采集 發(fā)布插件,它可以 采集 來(lái)自任何 網(wǎng)站 內容并自動(dòng)更新您的 WordPress 網(wǎng)站。使用起來(lái)非常簡(jiǎn)單,無(wú)需復雜的設置,并且足夠強大穩定,支持wordpress的所有功能。
【軟件特色】
采集網(wǎng)站的任何內容,采集的信息一目了然
<p>通過(guò)簡(jiǎn)單的設置,可以采集來(lái)自任何網(wǎng)站的內容,并且可以設置多個(gè)采集任務(wù)同時(shí)運行,可以設置任務(wù)自動(dòng)或手動(dòng)運行,并且主任務(wù)列表顯示每個(gè)采集任務(wù)的狀態(tài):上次測試的時(shí)間采集,下次測試的預計時(shí)間采集,最新的采集< @文章,更新了采集 查看全部
采集自動(dòng)組合(WP-AutoBlog自動(dòng)采集發(fā)布插件,支持采集多層級內容)
WP-AutoBlog 是一個(gè)自動(dòng) 采集 發(fā)布插件,它可以 采集 來(lái)自任何 網(wǎng)站 內容并自動(dòng)更新您的 WordPress 網(wǎng)站。使用起來(lái)非常簡(jiǎn)單,無(wú)需復雜的設置,并且足夠強大穩定,支持wordpress的所有功能。

【軟件特色】
采集網(wǎng)站的任何內容,采集的信息一目了然
<p>通過(guò)簡(jiǎn)單的設置,可以采集來(lái)自任何網(wǎng)站的內容,并且可以設置多個(gè)采集任務(wù)同時(shí)運行,可以設置任務(wù)自動(dòng)或手動(dòng)運行,并且主任務(wù)列表顯示每個(gè)采集任務(wù)的狀態(tài):上次測試的時(shí)間采集,下次測試的預計時(shí)間采集,最新的采集< @文章,更新了采集
采集自動(dòng)組合(v7版本增加了一個(gè)標簽組合的結果和內容頁(yè)標簽 )
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 161 次瀏覽 ? 2021-11-20 16:11
)
v7版本增加了標簽組合功能。很多朋友在使用過(guò)程中發(fā)現組合的結果與自己想要的結果不一致。讓我解釋一下這個(gè)功能的使用。
1.標簽的組合是文件下載前的內容
有朋友發(fā)現a標簽中下載了某個(gè)文件,原地址為aaa,下載或檢測到的地址為bbb。那么,如果在b標簽中組合a標簽,a標簽的值為aaa。為什么使用這種處理方法是因為文件下載是在標簽組合后進(jìn)行的。如何實(shí)現標簽內容為文件下載后的結果?你可以新建一個(gè)標簽,選擇“自定義固定格式數據”,把你的標簽組合的內容放進(jìn)去。這里的替換會(huì )在文件下載后進(jìn)行。
2.內容頁(yè)面標簽循環(huán)采集并添加為新記錄
如果兩個(gè)組合的標簽都是內容頁(yè)標簽,當這兩個(gè)標簽組合時(shí),會(huì )根據循環(huán)次數最多的記錄生成相同數量的新循環(huán)記錄。如果一個(gè)標簽的循環(huán)次數較少,則新生成的標簽中該標簽的值為空。例如,將標簽a、b 組合起來(lái)生成標簽c。a的循環(huán)數為5,b的循環(huán)數為3,將產(chǎn)生5個(gè)cs。其中,前3個(gè)標簽的值分別對應a和b。在最后兩個(gè)值中,b 的值為空。假設a的值為11,22,33,44,55,b的值為aa,bb,cc.c是[label:a][label:b]的組合,生成c的值是 11aa,22bb,33cc,44,55.
3.列表頁(yè)標簽和內容頁(yè)標簽組合
如果兩個(gè)標簽中的一個(gè)是內容頁(yè),另一個(gè)是列表頁(yè),則內容頁(yè)將參與第2條中的循環(huán)處理。在這個(gè)過(guò)程中,列表頁(yè)被視為一個(gè)字符串。合并完成后,程序將再次進(jìn)行數據處理操作。最后,組合標簽中列表頁(yè)面標簽的內容將替換為實(shí)際值??梢栽俅翁崛『拖螺d組合結果。比如內容頁(yè)a和列表頁(yè)b組合生成c,其中a的值為11、22、22,b的值為bb,那么c的第一個(gè)組合結果為11[label: b],22[label:b],33[label:b],然后進(jìn)行數據處理。如果b的值為bb,那么最終的結果可能是11bb、22bb、33bb。
有的朋友可能會(huì )說(shuō),為什么要把這個(gè)功能弄的這么復雜。其實(shí)這個(gè)函數主要用于第一個(gè)函數,其他的組合可能會(huì )產(chǎn)生和原來(lái)想法不同的結果。建議大家不要濫用這個(gè)功能,不要把它想象成靈丹妙藥。
標簽組合示例,如下圖:
我們將標題和下載地址標簽組合成一個(gè)新標簽,以“$$$$”分隔,我們的測試結果如下:
你看到了嗎。效果和我們預想的一樣。
然后這個(gè)就簡(jiǎn)單使用了,我什么都沒(méi)學(xué)到。
然后還有另一種標簽組合,見(jiàn)下圖:
這樣測試的結果是什么,應該和上面的情況一樣,誰(shuí)知道呢,我們測試一下看看
查看全部
采集自動(dòng)組合(v7版本增加了一個(gè)標簽組合的結果和內容頁(yè)標簽
)
v7版本增加了標簽組合功能。很多朋友在使用過(guò)程中發(fā)現組合的結果與自己想要的結果不一致。讓我解釋一下這個(gè)功能的使用。
1.標簽的組合是文件下載前的內容
有朋友發(fā)現a標簽中下載了某個(gè)文件,原地址為aaa,下載或檢測到的地址為bbb。那么,如果在b標簽中組合a標簽,a標簽的值為aaa。為什么使用這種處理方法是因為文件下載是在標簽組合后進(jìn)行的。如何實(shí)現標簽內容為文件下載后的結果?你可以新建一個(gè)標簽,選擇“自定義固定格式數據”,把你的標簽組合的內容放進(jìn)去。這里的替換會(huì )在文件下載后進(jìn)行。
2.內容頁(yè)面標簽循環(huán)采集并添加為新記錄
如果兩個(gè)組合的標簽都是內容頁(yè)標簽,當這兩個(gè)標簽組合時(shí),會(huì )根據循環(huán)次數最多的記錄生成相同數量的新循環(huán)記錄。如果一個(gè)標簽的循環(huán)次數較少,則新生成的標簽中該標簽的值為空。例如,將標簽a、b 組合起來(lái)生成標簽c。a的循環(huán)數為5,b的循環(huán)數為3,將產(chǎn)生5個(gè)cs。其中,前3個(gè)標簽的值分別對應a和b。在最后兩個(gè)值中,b 的值為空。假設a的值為11,22,33,44,55,b的值為aa,bb,cc.c是[label:a][label:b]的組合,生成c的值是 11aa,22bb,33cc,44,55.
3.列表頁(yè)標簽和內容頁(yè)標簽組合
如果兩個(gè)標簽中的一個(gè)是內容頁(yè),另一個(gè)是列表頁(yè),則內容頁(yè)將參與第2條中的循環(huán)處理。在這個(gè)過(guò)程中,列表頁(yè)被視為一個(gè)字符串。合并完成后,程序將再次進(jìn)行數據處理操作。最后,組合標簽中列表頁(yè)面標簽的內容將替換為實(shí)際值??梢栽俅翁崛『拖螺d組合結果。比如內容頁(yè)a和列表頁(yè)b組合生成c,其中a的值為11、22、22,b的值為bb,那么c的第一個(gè)組合結果為11[label: b],22[label:b],33[label:b],然后進(jìn)行數據處理。如果b的值為bb,那么最終的結果可能是11bb、22bb、33bb。
有的朋友可能會(huì )說(shuō),為什么要把這個(gè)功能弄的這么復雜。其實(shí)這個(gè)函數主要用于第一個(gè)函數,其他的組合可能會(huì )產(chǎn)生和原來(lái)想法不同的結果。建議大家不要濫用這個(gè)功能,不要把它想象成靈丹妙藥。
標簽組合示例,如下圖:

我們將標題和下載地址標簽組合成一個(gè)新標簽,以“$$$$”分隔,我們的測試結果如下:

你看到了嗎。效果和我們預想的一樣。
然后這個(gè)就簡(jiǎn)單使用了,我什么都沒(méi)學(xué)到。
然后還有另一種標簽組合,見(jiàn)下圖:

這樣測試的結果是什么,應該和上面的情況一樣,誰(shuí)知道呢,我們測試一下看看
采集自動(dòng)組合(數據采集系統中自動(dòng)入庫設計工具的研究與實(shí)現(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 127 次瀏覽 ? 2021-11-10 10:03
數據采集系統中自動(dòng)存儲設計工具的研究與實(shí)現 徐鵬 孫元 清華大學(xué)計算機系 E-Mail: xp{sBORy)@kcg. CS。協(xié)會(huì ) ingIlu&edu。cn ■ Stack:基于web的數據采集查殺系統,處理的數據量比較大;同時(shí),采集的數據格式經(jīng)常需要改變。因此,使用傳統的音樂(lè )方式為每個(gè)版本的冰童設計自己的教學(xué)數據存儲程序往往成本高昂,開(kāi)發(fā)周期長(cháng)。園區需要為系統提供可視化的開(kāi)發(fā)工具。允許用戶(hù)自定義冰通中的數據模型與數據庫中救援城市的對應關(guān)系,系統根據用戶(hù)的設置自動(dòng)完成存儲操作。本文將針對這一需求提出相應的解決方案。關(guān)磊字:JDBc,Drums 字典,結合基于牛奶b采集的數據中的對應關(guān)系和在線(xiàn)發(fā)布系統,定期報告數據的自動(dòng)存儲系統主要用于接收來(lái)自的最終定期提交用戶(hù)在應用服務(wù)器上報數據后,用于將上市公司數據提取并寫(xiě)入信息中心數據庫的操作。自動(dòng)入庫系統可以配合定期報表數據采集系統使用,即用戶(hù)報表數據通過(guò)網(wǎng)絡(luò )寫(xiě)入數據庫的同時(shí),對外發(fā)布使用的數據信息基于證券交易所信息中心數據庫的信息模型,由定期報告數據自動(dòng)存儲系統寫(xiě)入信息中心數據庫。同時(shí)進(jìn)行倉儲作業(yè)。根據信息中心的需要,可以對部分數據進(jìn)行統計處理,生成統計信息寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率。
一。W基于歌曲的數據采集和在線(xiàn)發(fā)布系統中的JDBC 本系統完全用Java語(yǔ)言編寫(xiě),因此選擇JDBC訪(fǎng)問(wèn)數據庫。這既充分利用了Java語(yǔ)言的特點(diǎn),又保證了其他部分與數據庫的相對獨立性。圖書(shū)館。諸如數據存儲系統之類(lèi)的應用程序正在服務(wù)器上運行。它與客戶(hù)端沒(méi)有直接關(guān)系,它直接通過(guò)J Ming c 訪(fǎng)問(wèn)數據庫。無(wú)需通過(guò)其他級別。當AppIet之類(lèi)的瀏覽器助手想要查詢(xún)和修改數據庫時(shí)。它是通過(guò)服務(wù)器上的 J8va 應用程序完成的。無(wú)論是本系統中基于瀏覽器的數據采集系統。在基于瀏覽器的數據查詢(xún)系統中,Applet 不用于直接訪(fǎng)問(wèn)數據庫,因為 Applet 受安全限制只能與下載的服務(wù)器建立連接。因此,只能訪(fǎng)問(wèn)服務(wù)器應用程序上的數據庫。本系統的數據庫可能與 scapular w 服務(wù)器不在同一臺計算機上。使用Java作為Applet的中間層來(lái)訪(fǎng)問(wèn)數據庫也可以提高訪(fǎng)問(wèn)效率,比如始終保持與數據庫的連接,而不是每次訪(fǎng)問(wèn)都重新建立連接。您還可以組織和過(guò)濾 Applet 發(fā)送的請求。再次訪(fǎng)問(wèn)數據庫。TcP 協(xié)議用于 Applet 和中間層的 Application 之間的通信。本系統使用JDBC訪(fǎng)問(wèn)數據庫的一般程序流程如下:1) 加載數據庫的JDBC驅動(dòng);2) 與數據庫建立連接: 3) 創(chuàng )建 Statement 對象;4)中對Statement對象執行SQL語(yǔ)句,返回Resultset對象: 5) 處理ResultSet對象,得到查詢(xún)結果;6) 關(guān)閉與數據庫的連接。
JavaApplication作為中間層的過(guò)程如下: 1) 加載數據庫的JDBC驅動(dòng): 2) 與數據庫建立連接;3) 監聽(tīng)某個(gè)端口,等待Applet連接;4) 與Applet 建立連接后。接收來(lái)自 ADplet 的請求;5) 組織過(guò)濾請求,形成SQL語(yǔ)句;6) 創(chuàng )建 Statement 對象;7) 對 Statement 對象執行 SQL 語(yǔ)句并返回 ResultSet 對象;8)處理ResalltSet對象,得到查詢(xún)結果{9)將查詢(xún)結果返回給Applet;10)斷開(kāi)與^pDlet的連接,返回4)重新收聽(tīng)。實(shí)際上,接收Applet請求、訪(fǎng)問(wèn)數據庫和返回結果都是由一個(gè)線(xiàn)程完成的。主線(xiàn)程繼續返回監聽(tīng)狀態(tài)。這樣的應用程序可以同時(shí)為多個(gè) ApDlets 服務(wù)。二。自動(dòng)數據存儲工具的設計。圖ll 數據庫存儲流程 在上交所年報系統中,數據存儲操作的系統設置包括源數據庫設置、數據存儲操作設置、源數據與數據庫對應設置。Tan數據設置用于連接給定的數據庫,獲取數據庫中表結構的相關(guān)信息進(jìn)行系統設置。需要由系統管理員填寫(xiě)或選擇的相關(guān)數據是用于連接數據庫的驅動(dòng)程序、數據池名稱(chēng)、用戶(hù)名和密碼。系統會(huì )調用JDBC接口訪(fǎng)問(wèn)數據庫。
數據庫對應關(guān)系設置用于設置數據字典與數據庫中表結構存儲的對應關(guān)系,為系統的數據存儲功能提供了極大的靈活性。提供給用戶(hù)的界面上的表項和數據庫中的條目之間建立了對應關(guān)系。并允許數據庫管理員針對不同的報表類(lèi)型進(jìn)行修改,以保證系統的可復用性。具體設計在后面介紹。數據庫對應關(guān)系設計完成后,即可將數據存入數據庫中。數據存儲操作也完全按照管理員設置的對應表進(jìn)行。用于數據存儲過(guò)程。我們可以簡(jiǎn)單地用圖ll來(lái)表示它。2. 1 數據字典和數據庫存儲的對應設計思路在數據采集系統中,用戶(hù)填寫(xiě)界面上有很多表項,不同的表收錄子表和自定義項,所以有不同的入庫操作。同一個(gè)界面的表項中不同數據字段的存儲操作是不一樣的。對于這個(gè)不一致的數據單元,我們首先根據需要確定了表結構,將數據庫中的一些接口表進(jìn)行拆分,以適應不同的操作。比如界面上的募款表,分為募款總額表和數據庫中募款資金使用明細表。關(guān)聯(lián)交易表和投資收益表也是如此。所以,接口表中的字段與數據庫中的字段不完全對應。同時(shí)??紤]到系統的用戶(hù)界面因國內外不同類(lèi)型的報告(如年報和中期報告)而異,并考慮到相關(guān)財務(wù)計算指標的變化,系統需要很大的靈活性。
對于數據庫。首先,條目多,數據庫中存儲的數據量巨大。而且這些數據的重要性比較高,要保證數據庫中數據的基本穩定性。因此,在上交所年報系統的數據存儲操作中,我們提供了一個(gè)功能模塊,用于設置界面表項中的字段與數據庫表結構中的字段之間的對應關(guān)系。該模塊將用戶(hù)界面的數據字段映射到數據庫中字段的計算關(guān)系。這降低了兩者之間的耦合程度。使我們的系統實(shí)施更加靈活方便。更改用戶(hù)界面條目時(shí)?;蛘咴诟臄祿熘械谋砘蜃侄螘r(shí),對方不需要做大的改動(dòng),只需要使用對應關(guān)系設置工具修改入庫規則即可。對于界面上表項中的每個(gè)域,我們在系統中用16位進(jìn)行編碼,以及每個(gè)域的代碼和具體的域名。存儲在數據字典(SCDicti.nary軟件包)中,直接調用程序中的數據代碼即可獲取數據字段。這也體現了系統設計的靈活性。修改界面上的域名時(shí),只需要修改數據字典中對應的域名即可,程序中代碼的調用保持不變。對于數據庫中的每個(gè)域,基本上都是按照不同的接口表來(lái)保存的。例如,我們前面介紹的總表和明細表。對于不同的數據庫表,賴(lài)瑞有三個(gè)共同的主鍵,如下: lh吖『∞fn口awIdl』v叫ch stare 1(30)NOTNULLI nepo^Ye state『varch called(30)@ >NoTNULLl fr∞。
第一位表示表代碼(格式為表名域名),第二位表示表中的字段代碼)¨==≤:=2·5~6·7Ⅱ 圖2接口域和數據庫域一-對多關(guān)系。另外,數據庫中字段的值可以是接口字段的組合,比如接口上字段的代碼。數據庫中的數據字段(雙參數。第一個(gè)數字代表表代碼(格式為表名字段名)第二個(gè)數字代表表中域的代碼) 3.7+3.16——————圖3l中界面域對應關(guān)系對象組合的計算方法。包括常用的整型和浮點(diǎn)型數據,如類(lèi)型、字符串類(lèi)型,以及它們的組合操作。2. 2 域對應關(guān)系及其設置在數據庫中存儲的數據表中。除了用戶(hù)進(jìn)入數據庫的年報基礎數據表外,還有一個(gè)域對應表calTable。
在復選框中,首先選擇數據庫中的一個(gè)表,窗口的左列將顯示數據庫中的所有列名。同時(shí)右側會(huì )顯示已經(jīng)設置好的計算方式(即與界面字段的對應關(guān)系)。當用戶(hù)設置或修改域時(shí),只需點(diǎn)擊右側的小按鈕,彈出域選擇對話(huà)框。用戶(hù)選擇界面域或它們的組合后,新設置的對應關(guān)系會(huì )在 右側欄中顯示。用戶(hù)點(diǎn)擊“申請”,確認此表中信函的對應關(guān)系,重新入庫。然后用戶(hù)可以對下一個(gè)表進(jìn)行操作。3.數據存儲操作data采集系統加載的數據保存在SCReportData對象中,
以及從CalTable獲得的每個(gè)表中每個(gè)字段的計算方法。為數據庫中的基礎數據表(即用戶(hù)需要進(jìn)入數據庫的數據表)。分為三種情況: ·表中每個(gè)公司的記錄是唯一的,不依賴(lài)于報表類(lèi)型。唯一表:主要是companyTable,changes和changes。所以每次都入庫。對標記執行更新操作?!?基本表格:這些表格中的數據對于每個(gè)年度報告或中期報告都是唯一的。但是,不同類(lèi)型的報告將對應不同的記錄。對于這些表,每次將報表放入數據庫時(shí)??都會(huì )執行一次寫(xiě)入操作?!?子表或明細表:這些表中的數據對于每個(gè)年度報告或中期報告可以有多條記錄,因此對它們執行批量寫(xiě)入操作。針對這三種情況,系統提供了相應的數據庫操作方法來(lái)保證數據的完整性。我們可以用K圖5來(lái)說(shuō)明倉儲作業(yè)的流程。Ⅱ 圖 5l 數據庫存儲操作流程 查看全部
采集自動(dòng)組合(數據采集系統中自動(dòng)入庫設計工具的研究與實(shí)現(圖))
數據采集系統中自動(dòng)存儲設計工具的研究與實(shí)現 徐鵬 孫元 清華大學(xué)計算機系 E-Mail: xp{sBORy)@kcg. CS。協(xié)會(huì ) ingIlu&edu。cn ■ Stack:基于web的數據采集查殺系統,處理的數據量比較大;同時(shí),采集的數據格式經(jīng)常需要改變。因此,使用傳統的音樂(lè )方式為每個(gè)版本的冰童設計自己的教學(xué)數據存儲程序往往成本高昂,開(kāi)發(fā)周期長(cháng)。園區需要為系統提供可視化的開(kāi)發(fā)工具。允許用戶(hù)自定義冰通中的數據模型與數據庫中救援城市的對應關(guān)系,系統根據用戶(hù)的設置自動(dòng)完成存儲操作。本文將針對這一需求提出相應的解決方案。關(guān)磊字:JDBc,Drums 字典,結合基于牛奶b采集的數據中的對應關(guān)系和在線(xiàn)發(fā)布系統,定期報告數據的自動(dòng)存儲系統主要用于接收來(lái)自的最終定期提交用戶(hù)在應用服務(wù)器上報數據后,用于將上市公司數據提取并寫(xiě)入信息中心數據庫的操作。自動(dòng)入庫系統可以配合定期報表數據采集系統使用,即用戶(hù)報表數據通過(guò)網(wǎng)絡(luò )寫(xiě)入數據庫的同時(shí),對外發(fā)布使用的數據信息基于證券交易所信息中心數據庫的信息模型,由定期報告數據自動(dòng)存儲系統寫(xiě)入信息中心數據庫。同時(shí)進(jìn)行倉儲作業(yè)。根據信息中心的需要,可以對部分數據進(jìn)行統計處理,生成統計信息寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率。
一。W基于歌曲的數據采集和在線(xiàn)發(fā)布系統中的JDBC 本系統完全用Java語(yǔ)言編寫(xiě),因此選擇JDBC訪(fǎng)問(wèn)數據庫。這既充分利用了Java語(yǔ)言的特點(diǎn),又保證了其他部分與數據庫的相對獨立性。圖書(shū)館。諸如數據存儲系統之類(lèi)的應用程序正在服務(wù)器上運行。它與客戶(hù)端沒(méi)有直接關(guān)系,它直接通過(guò)J Ming c 訪(fǎng)問(wèn)數據庫。無(wú)需通過(guò)其他級別。當AppIet之類(lèi)的瀏覽器助手想要查詢(xún)和修改數據庫時(shí)。它是通過(guò)服務(wù)器上的 J8va 應用程序完成的。無(wú)論是本系統中基于瀏覽器的數據采集系統。在基于瀏覽器的數據查詢(xún)系統中,Applet 不用于直接訪(fǎng)問(wèn)數據庫,因為 Applet 受安全限制只能與下載的服務(wù)器建立連接。因此,只能訪(fǎng)問(wèn)服務(wù)器應用程序上的數據庫。本系統的數據庫可能與 scapular w 服務(wù)器不在同一臺計算機上。使用Java作為Applet的中間層來(lái)訪(fǎng)問(wèn)數據庫也可以提高訪(fǎng)問(wèn)效率,比如始終保持與數據庫的連接,而不是每次訪(fǎng)問(wèn)都重新建立連接。您還可以組織和過(guò)濾 Applet 發(fā)送的請求。再次訪(fǎng)問(wèn)數據庫。TcP 協(xié)議用于 Applet 和中間層的 Application 之間的通信。本系統使用JDBC訪(fǎng)問(wèn)數據庫的一般程序流程如下:1) 加載數據庫的JDBC驅動(dòng);2) 與數據庫建立連接: 3) 創(chuàng )建 Statement 對象;4)中對Statement對象執行SQL語(yǔ)句,返回Resultset對象: 5) 處理ResultSet對象,得到查詢(xún)結果;6) 關(guān)閉與數據庫的連接。
JavaApplication作為中間層的過(guò)程如下: 1) 加載數據庫的JDBC驅動(dòng): 2) 與數據庫建立連接;3) 監聽(tīng)某個(gè)端口,等待Applet連接;4) 與Applet 建立連接后。接收來(lái)自 ADplet 的請求;5) 組織過(guò)濾請求,形成SQL語(yǔ)句;6) 創(chuàng )建 Statement 對象;7) 對 Statement 對象執行 SQL 語(yǔ)句并返回 ResultSet 對象;8)處理ResalltSet對象,得到查詢(xún)結果{9)將查詢(xún)結果返回給Applet;10)斷開(kāi)與^pDlet的連接,返回4)重新收聽(tīng)。實(shí)際上,接收Applet請求、訪(fǎng)問(wèn)數據庫和返回結果都是由一個(gè)線(xiàn)程完成的。主線(xiàn)程繼續返回監聽(tīng)狀態(tài)。這樣的應用程序可以同時(shí)為多個(gè) ApDlets 服務(wù)。二。自動(dòng)數據存儲工具的設計。圖ll 數據庫存儲流程 在上交所年報系統中,數據存儲操作的系統設置包括源數據庫設置、數據存儲操作設置、源數據與數據庫對應設置。Tan數據設置用于連接給定的數據庫,獲取數據庫中表結構的相關(guān)信息進(jìn)行系統設置。需要由系統管理員填寫(xiě)或選擇的相關(guān)數據是用于連接數據庫的驅動(dòng)程序、數據池名稱(chēng)、用戶(hù)名和密碼。系統會(huì )調用JDBC接口訪(fǎng)問(wèn)數據庫。
數據庫對應關(guān)系設置用于設置數據字典與數據庫中表結構存儲的對應關(guān)系,為系統的數據存儲功能提供了極大的靈活性。提供給用戶(hù)的界面上的表項和數據庫中的條目之間建立了對應關(guān)系。并允許數據庫管理員針對不同的報表類(lèi)型進(jìn)行修改,以保證系統的可復用性。具體設計在后面介紹。數據庫對應關(guān)系設計完成后,即可將數據存入數據庫中。數據存儲操作也完全按照管理員設置的對應表進(jìn)行。用于數據存儲過(guò)程。我們可以簡(jiǎn)單地用圖ll來(lái)表示它。2. 1 數據字典和數據庫存儲的對應設計思路在數據采集系統中,用戶(hù)填寫(xiě)界面上有很多表項,不同的表收錄子表和自定義項,所以有不同的入庫操作。同一個(gè)界面的表項中不同數據字段的存儲操作是不一樣的。對于這個(gè)不一致的數據單元,我們首先根據需要確定了表結構,將數據庫中的一些接口表進(jìn)行拆分,以適應不同的操作。比如界面上的募款表,分為募款總額表和數據庫中募款資金使用明細表。關(guān)聯(lián)交易表和投資收益表也是如此。所以,接口表中的字段與數據庫中的字段不完全對應。同時(shí)??紤]到系統的用戶(hù)界面因國內外不同類(lèi)型的報告(如年報和中期報告)而異,并考慮到相關(guān)財務(wù)計算指標的變化,系統需要很大的靈活性。
對于數據庫。首先,條目多,數據庫中存儲的數據量巨大。而且這些數據的重要性比較高,要保證數據庫中數據的基本穩定性。因此,在上交所年報系統的數據存儲操作中,我們提供了一個(gè)功能模塊,用于設置界面表項中的字段與數據庫表結構中的字段之間的對應關(guān)系。該模塊將用戶(hù)界面的數據字段映射到數據庫中字段的計算關(guān)系。這降低了兩者之間的耦合程度。使我們的系統實(shí)施更加靈活方便。更改用戶(hù)界面條目時(shí)?;蛘咴诟臄祿熘械谋砘蜃侄螘r(shí),對方不需要做大的改動(dòng),只需要使用對應關(guān)系設置工具修改入庫規則即可。對于界面上表項中的每個(gè)域,我們在系統中用16位進(jìn)行編碼,以及每個(gè)域的代碼和具體的域名。存儲在數據字典(SCDicti.nary軟件包)中,直接調用程序中的數據代碼即可獲取數據字段。這也體現了系統設計的靈活性。修改界面上的域名時(shí),只需要修改數據字典中對應的域名即可,程序中代碼的調用保持不變。對于數據庫中的每個(gè)域,基本上都是按照不同的接口表來(lái)保存的。例如,我們前面介紹的總表和明細表。對于不同的數據庫表,賴(lài)瑞有三個(gè)共同的主鍵,如下: lh吖『∞fn口awIdl』v叫ch stare 1(30)NOTNULLI nepo^Ye state『varch called(30)@ >NoTNULLl fr∞。
第一位表示表代碼(格式為表名域名),第二位表示表中的字段代碼)¨==≤:=2·5~6·7Ⅱ 圖2接口域和數據庫域一-對多關(guān)系。另外,數據庫中字段的值可以是接口字段的組合,比如接口上字段的代碼。數據庫中的數據字段(雙參數。第一個(gè)數字代表表代碼(格式為表名字段名)第二個(gè)數字代表表中域的代碼) 3.7+3.16——————圖3l中界面域對應關(guān)系對象組合的計算方法。包括常用的整型和浮點(diǎn)型數據,如類(lèi)型、字符串類(lèi)型,以及它們的組合操作。2. 2 域對應關(guān)系及其設置在數據庫中存儲的數據表中。除了用戶(hù)進(jìn)入數據庫的年報基礎數據表外,還有一個(gè)域對應表calTable。
在復選框中,首先選擇數據庫中的一個(gè)表,窗口的左列將顯示數據庫中的所有列名。同時(shí)右側會(huì )顯示已經(jīng)設置好的計算方式(即與界面字段的對應關(guān)系)。當用戶(hù)設置或修改域時(shí),只需點(diǎn)擊右側的小按鈕,彈出域選擇對話(huà)框。用戶(hù)選擇界面域或它們的組合后,新設置的對應關(guān)系會(huì )在 右側欄中顯示。用戶(hù)點(diǎn)擊“申請”,確認此表中信函的對應關(guān)系,重新入庫。然后用戶(hù)可以對下一個(gè)表進(jìn)行操作。3.數據存儲操作data采集系統加載的數據保存在SCReportData對象中,
以及從CalTable獲得的每個(gè)表中每個(gè)字段的計算方法。為數據庫中的基礎數據表(即用戶(hù)需要進(jìn)入數據庫的數據表)。分為三種情況: ·表中每個(gè)公司的記錄是唯一的,不依賴(lài)于報表類(lèi)型。唯一表:主要是companyTable,changes和changes。所以每次都入庫。對標記執行更新操作?!?基本表格:這些表格中的數據對于每個(gè)年度報告或中期報告都是唯一的。但是,不同類(lèi)型的報告將對應不同的記錄。對于這些表,每次將報表放入數據庫時(shí)??都會(huì )執行一次寫(xiě)入操作?!?子表或明細表:這些表中的數據對于每個(gè)年度報告或中期報告可以有多條記錄,因此對它們執行批量寫(xiě)入操作。針對這三種情況,系統提供了相應的數據庫操作方法來(lái)保證數據的完整性。我們可以用K圖5來(lái)說(shuō)明倉儲作業(yè)的流程。Ⅱ 圖 5l 數據庫存儲操作流程
采集自動(dòng)組合(元數據資產(chǎn)治理(詳情見(jiàn)),需注意什么?)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 94 次瀏覽 ? 2021-11-05 04:14
一、簡(jiǎn)介
數據資產(chǎn)治理的前提(見(jiàn):)必須有數據。它要求數據類(lèi)型齊全,數量大,并盡可能覆蓋數據流通的方方面面。元數據 采集 變得尤為重要。它是數據資產(chǎn)治理的核心基礎。
在早期的采集系統中,我們主要使用“API直連”來(lái)連接采集Hive/Mysql表元數據。隨著(zhù)業(yè)務(wù)的快速發(fā)展,對數據運營(yíng)和成本管理的需求越來(lái)越強烈。元數據需要覆蓋整個(gè)數據鏈路,包括離線(xiàn)計算平臺、實(shí)時(shí)計算平臺、內部工具、任務(wù)元數據等。采集在元數據的過(guò)程中,我們遇到了以下困難:
本文主要介紹了我們在元數據含義、提取、采集、監控告警等方面所做的一些事情。
二、元數據2.1 什么是元數據
什么是元數據?元數據是“用于描述數據的數據”。例如:我用手機拍了一張照片,查看了照片的詳細信息,如下圖:
照片信息
文件名:IMG_20201217_114115
時(shí)間:2020年12月17號 11:30:01
分辨率:4608X2592
文件大?。?.69MB
相機制造商:OnePlus
相機型號:ONEPLUS A5000
閃光燈:未使用閃光燈
焦距:4.10mm
白平衡:自動(dòng)
光圈:f/1.7
曝光時(shí)間:1/50
ISO:1250
這些是數碼照片的元數據,用于描述圖片。在資產(chǎn)管理平臺中,我們采集Hive組件的元數據包括:表名、字段列表、負責人、任務(wù)調度信息等。
采集全鏈路數據(各種元數據)可以幫助數據平臺回答:我們有哪些數據?有多少人在使用它?什么是數據存儲?如何找到這些數據?什么是數據流?分析問(wèn)題的根源,結合血緣關(guān)系分析影響。
2.2 采集 什么元數據
如下圖所示,是一個(gè)數據流圖。我們主要采集各個(gè)平臺組件:
截至目前,采集所達到的平臺組件已經(jīng)覆蓋了整個(gè)數據鏈路。涵蓋10種數據+,基礎元數據量10w+。主要包括:
三、元數據提取
如何從眾多平臺組件中提取元數據?大致有以下幾個(gè)方面:
計算任務(wù)通過(guò)分析任務(wù)的輸入/輸出依賴(lài)配置獲得血緣關(guān)系。SQL類(lèi)任務(wù)使用“Sql Parser”(ANTLR4系統實(shí)現的sql重寫(xiě)工具)工具解析SQL腳本,獲取表/字段級血緣關(guān)系。3.1 線(xiàn)下平臺
主要是采集Hive/RDS表的元數據。
Hive組件的元數據存放在Metastore中,通過(guò)JDBC訪(fǎng)問(wèn)Mysql獲取數據庫表的元數據。根據Hive表信息組裝HDFS地址,通過(guò)FileSystem API獲取文件狀態(tài)、文件編號、文件大小、數據更新時(shí)間等趨勢數據。
RDS平臺提供Mysql服務(wù)的管理,通過(guò)平臺提供的服務(wù)接口獲取表元數據、趨勢數據、訪(fǎng)問(wèn)狀態(tài)等信息。
3.2 實(shí)時(shí)平臺
主要是Flume/Hbase/Kafka等組件的元數據。
例如:我們訪(fǎng)問(wèn)放置在KP平臺的工單數據,獲取topic的基本元數據信息,定期消費topic獲取樣本數據,解析字段列表。平臺本身提供集群狀態(tài)和業(yè)務(wù)監控指標,通過(guò)平臺服務(wù)獲取集群資源的使用情況。
3.3 內部工具
主要是BI報表系統的血緣關(guān)系數據(BI報表查詢(xún)的Hive表和Mysql表關(guān)系)、指標數據庫(Hive表和指標相關(guān)的字段關(guān)系)、OneService服務(wù)(訪(fǎng)問(wèn)哪些數據庫表的關(guān)系數據)通過(guò)接口)。
這些內部系統在產(chǎn)品的不斷迭代中積累了大量的元數據。在不考慮元數據的時(shí)效性的情況下,我們一般都是將這些系統的數據同步到Hive數據庫中,然后離線(xiàn)處理后獲取元數據。
3.4 任務(wù)元數據
元數據任務(wù)主要是DP離線(xiàn)任務(wù)、Flink計算服務(wù)和Flume任務(wù)。
這些計算任務(wù)都放在磁盤(pán)上,通過(guò)Binlog同步或離線(xiàn)同步獲取任務(wù)列表,獲取任務(wù)的元數據。
四、數據采集
元數據提取后,我們就可以得到數據鏈中各個(gè)平臺組件的元數據。數據采集是指將這些元數據存儲在數據資產(chǎn)管理系統的數據庫中。
4.1 采集 方法
采集 主要有三種數據類(lèi)型。下表列出了三種方法的優(yōu)缺點(diǎn):
一般情況下,我們推薦業(yè)務(wù)方使用采集SDK。主動(dòng)上報元數據,訪(fǎng)問(wèn)時(shí)只需要關(guān)注上報數據格式和SDK初始化,即可快速完成上報。
4.2 采集SDK 設計
采集SDK支持基礎元數據、趨勢數據、血緣關(guān)系數據的上報,包括客戶(hù)端SDK和采集服務(wù)器兩部分??蛻?hù)端SDK主要實(shí)現通用報表模型的定義和報表功能,采集服務(wù)器主要實(shí)現不同的適配器,完成數據的統一存儲。
4.2.1 架構
采集SDK 客戶(hù)端
定義了基本元數據(MetaSchema)、趨勢數據(TrendSchema)和血緣關(guān)系數據(LineageSchema)的通用模型,并支持新的報告模型(XXXSchema)。ReportService實(shí)現了向Kafka推送數據的功能。
采集服務(wù)器
數據鑒權服務(wù)器消費Kafka,獲取數據后,對每條記錄的簽名進(jìn)行鑒權(獲取記錄中的appId、appName、token信息,重新生成token,比較值的過(guò)程)。統一倉儲服務(wù)定義了統一的數據倉儲模型,包括表基礎元數據、趨勢數據、血緣關(guān)系數據、趨勢數據,實(shí)現不同數據類(lèi)型的倉儲服務(wù)。數據適配器Bridge獲取Kafka的數據,根據不同的數據類(lèi)型轉換成“統一存儲模型”,觸發(fā)“統一存儲服務(wù)”完成數據寫(xiě)入。4.2.2 通用型號
采集的平臺組件很多。我們參考Hive“表模型”的定義,抽象出一套通用的數據上報模型,保證數據上報和數據存儲的可擴展性。
通用血緣模型主要包括血緣模型定義和任務(wù)血緣模型定義,支持用戶(hù)分別上報血緣關(guān)系和任務(wù)血緣關(guān)系。該模型定義如下:
/**
* 表血緣模型定義
*/
@Data
public class TableLineageSchema {
/**
* 當前節點(diǎn)
*/
private T current;
/**
* 父節點(diǎn)
*/
private List parents;
/**
* 子節點(diǎn)
*/
private List childs;
/**
* 表級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
/**
* 表任務(wù)血緣定義
*
*/
@Data
public class JobLineageSchema {
/**
* 任務(wù)節點(diǎn)對象
*/
private Job task;
/**
* 輸入對象列表
*/
private List inputs;
/**
* 輸出對象列表
*/
private List outputs;
/**
* 任務(wù)級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
每個(gè)模型定義都有一個(gè)擴展字段(傳統的 json 格式)。不在定義中的指標可以放在擴展字段中。數據上報后,也會(huì )存儲在元數據表的擴展字段中。訪(fǎng)問(wèn)新類(lèi)型,索引定義大不相同,通過(guò)擴展新的數據模型定義,元數據報告完成。
4.2.3 訪(fǎng)問(wèn)、驗證、限流
如何保證用戶(hù)上報的數據是安全的?我們設計了一組簽名:訪(fǎng)問(wèn)方Id(appId)、訪(fǎng)問(wèn)名稱(chēng)(appName)、訪(fǎng)問(wèn)標識(token)。管理員填寫(xiě)基本接入方信息,生成隨機的appId和token信息。業(yè)務(wù)方在初始化采集SDK時(shí),指定了簽名信息,每上報的數據都會(huì )攜帶簽名。在采集服務(wù)器上,每一條數據都會(huì )經(jīng)過(guò)簽名和認證,保證了數據的安全。
采集SDK 會(huì )對上報的每條數據執行通用規則來(lái)檢查數據的有效性,例如表名不為空、負責人的有效性、表的大小、趨勢數據不能為負。如果檢測到非法數據,將被過(guò)濾掉并觸發(fā)報警通知。
在采集SDK服務(wù)器上,每隔一定時(shí)間(每?jì)擅耄┫M一批Kafka數據。支持設置消費數據的時(shí)間間隔和拉取的片數。下游入站壓力不會(huì )因上報數據流量高峰而變化。大,起到了限流作用。
4.3 觸發(fā)器采集
我們支持多種 采集 元數據方法。如何觸發(fā)數據的采集?總體思路是:
基于A(yíng)pollo配置系統(見(jiàn):)和Linux系統的Crontab功能,實(shí)現任務(wù)調度。數據采集任務(wù)在A(yíng)pollo上配置。配置改變后,Apollo會(huì )發(fā)布,配置信息會(huì )實(shí)時(shí)同步到在線(xiàn)節點(diǎn)的Crontab文件中。
4.3.1 增量任務(wù),準實(shí)時(shí)
支持獲取組件最近變化的元數據,配置增量任務(wù),提高元數據采集的實(shí)時(shí)性。比如增量采集Hive表元數據,每1分鐘查詢(xún)一次metastore,獲取最近更改的元數據列表,并更新元數據。
4.3.2個(gè)完整任務(wù),所有細節
增量 采集 可能有數據丟失的情況。每 1 天或更多天完成一次 采集 作為底線(xiàn)解決方案,以確保元數據的完整性。
4.3.3 采集SDK,實(shí)時(shí)上報
采集SDK 支持實(shí)時(shí)和全量上報模式。一般要求在數據變更后實(shí)時(shí)上報接入方的數據,不定期上報一次全量。
4.4 數據存儲、更新
在數據采集之后,就要考慮如何存儲,以及元數據發(fā)生變化時(shí)如何同步更新。我們對來(lái)自采集的元數據進(jìn)行歸類(lèi)和統一,抽象出“表模型”并將其存儲在類(lèi)別中。
4.4.1 數據存儲
我們評估了每個(gè)組件的元數據量(共10w+),預估了數據可能的使用場(chǎng)景,最終選擇了Mysql來(lái)存儲。為了滿(mǎn)足用戶(hù)的個(gè)性化查詢(xún)需求,構建了Es寬表。表粒度主要包括:表名、備注、負責人、字段列表、趨勢信息、業(yè)務(wù)領(lǐng)域信息、任務(wù)信息等。Es表在數據采集過(guò)程中同步更新,保證真實(shí)元數據查詢(xún)的時(shí)間性,定期更新(構建離線(xiàn)模型表,每天同步更新Es表),保證元數據的完整性。
元數據中的表不是孤立存在的。一般有關(guān)聯(lián)任務(wù)(離線(xiàn)任務(wù)、實(shí)時(shí)任務(wù))輸出表,表和任務(wù)之間的流向關(guān)系也會(huì )在數據圖中顯示。那么如何在眾多平臺組件中唯一區分一個(gè)表呢?我們通過(guò)表所在的集群名稱(chēng)、項目名稱(chēng)、表類(lèi)型(它來(lái)自哪個(gè)平臺組件)和表名稱(chēng)的組合來(lái)唯一區分。
對數據進(jìn)行分類(lèi)存儲,最終形成:基礎元數據表、趨勢數據表、任務(wù)元數據表、血緣關(guān)系數據表。
4.4.2 數據更新
元數據表離線(xiàn),如何同步更新?
五、監控和警告
采集 已經(jīng)完成了數據,是不是都做完了?答案是否定的。采集在這個(gè)過(guò)程中,數據類(lèi)型很多,刪除方式多種多樣,刪除鏈接長(cháng)度。任何環(huán)節的任何問(wèn)題都會(huì )導致結果不準確。我們通過(guò)以下方式保證采集服務(wù)的穩定性。
5.1 采集鏈路監控告警5.1.1 接口監控
我們將系統的所有服務(wù)接口分為核心、重要、通用三個(gè)層次,并支持標注接口和責任人的注解。異常會(huì )觸發(fā)不同級別的警報通知。核心業(yè)務(wù)異常直接觸發(fā)電話(huà)報警,重要或一般業(yè)務(wù)異常觸發(fā)電子郵件報警。系統會(huì )存儲接口請求和執行狀態(tài)并刪除,每天向接口服務(wù)負責人發(fā)送服務(wù)日報。通過(guò)將采集服務(wù)的元數據標記為核心和重要服務(wù),“API直連方式”的接口被異常感知。
如下圖,是服務(wù)接口的告警通知:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[重要]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb], 異常信息:null
host:XXXXXX
處理地址:https://XXXX
如下圖,是服務(wù)接口的每日告警報告:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
[shunfengche]今日問(wèn)題匯總
請及時(shí)收斂今日問(wèn)題,總問(wèn)題數 1 個(gè),出現 2 次
【核心】問(wèn)題 0 個(gè):
【重要】問(wèn)題 0 個(gè):
【一般】問(wèn)題 1 個(gè):
[數據采集]com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb 今日出現 2 次, 已存在 5 天, 歷史出現 8 次
host:XXXXXX
處理地址:https://XXXX
5.1.2 采集 進(jìn)程監控
對于每個(gè)元數據采集服務(wù),如果采集進(jìn)程發(fā)生異常,都會(huì )發(fā)送告警通知。
如下圖,是采集過(guò)程中異常觸發(fā)的告警:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[一般]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.asyncworker.work.AsyncAllRdsDDLWorker.run], 異常信息:/n
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLQueryInterruptedException: Query execution was interrupted
5.1.3 Kafka 消息積壓警告
Kafka數據的消費,通過(guò)kp平臺配置消息backlog告警,實(shí)現對采集SDK服務(wù)的異常感知。
5.2 結果數據對比
主要用于事后監測預警,定期檢測采集元數據量的異常波動(dòng)。針對不同類(lèi)型的元數據,通過(guò)將當天采集的數量與過(guò)去7天的歷史平均數量進(jìn)行比較,設置異常波動(dòng)的報警閾值,超過(guò)閾值時(shí)觸發(fā)報警通知.
針對采集的元數據結果表,配置一些數據質(zhì)量檢測規則,定期執行異常規則,發(fā)現問(wèn)題數據時(shí)觸發(fā)告警通知。這保證了對結果數據的異常感知。例如,定義的數據質(zhì)量規則:
5.3 項目迭代機制,采集問(wèn)題收斂
通過(guò)事前、事中、事后的監測預警機制,可以及時(shí)發(fā)現和感知采集的異常情況。對于異常問(wèn)題,我們一般以項目迭代的方式發(fā)起jira,組織相關(guān)人員進(jìn)行審核。追根溯源,討論改進(jìn)方案,產(chǎn)生行動(dòng),關(guān)注并持續收斂問(wèn)題。
六、總結與展望6.1 結論
我們定義了一套通用的數據采集和存儲模型,支持訪(fǎng)問(wèn)不同數據類(lèi)型的元數據,支持多種訪(fǎng)問(wèn)方式,采集SDK提高了訪(fǎng)問(wèn)效率和數據時(shí)效性。
如下圖所示,各個(gè)組件的元數據已經(jīng)打通,數據分類(lèi)統一管理,提供了數據字典、數據地圖、資產(chǎn)市場(chǎng)等元數據的應用。
如果將數據資產(chǎn)治理比作高層建筑的建設,那么不同構件的元數據是原材料,數據采集是基礎。只有夯實(shí)了基礎,數據治理的建設才能越來(lái)越穩固。
6.2 展望
在數據采集的過(guò)程中,我們也遇到了很多問(wèn)題。在后續工作中,我們需要不斷的優(yōu)化和功能迭代,包括但不限于:
最后,有贊數據中心,長(cháng)期招聘基礎組件、平臺研發(fā)、數據倉庫、數據產(chǎn)品、算法等人才,歡迎加入,一起享受~簡(jiǎn)歷投遞郵箱:。 查看全部
采集自動(dòng)組合(元數據資產(chǎn)治理(詳情見(jiàn)),需注意什么?)
一、簡(jiǎn)介
數據資產(chǎn)治理的前提(見(jiàn):)必須有數據。它要求數據類(lèi)型齊全,數量大,并盡可能覆蓋數據流通的方方面面。元數據 采集 變得尤為重要。它是數據資產(chǎn)治理的核心基礎。
在早期的采集系統中,我們主要使用“API直連”來(lái)連接采集Hive/Mysql表元數據。隨著(zhù)業(yè)務(wù)的快速發(fā)展,對數據運營(yíng)和成本管理的需求越來(lái)越強烈。元數據需要覆蓋整個(gè)數據鏈路,包括離線(xiàn)計算平臺、實(shí)時(shí)計算平臺、內部工具、任務(wù)元數據等。采集在元數據的過(guò)程中,我們遇到了以下困難:
本文主要介紹了我們在元數據含義、提取、采集、監控告警等方面所做的一些事情。
二、元數據2.1 什么是元數據
什么是元數據?元數據是“用于描述數據的數據”。例如:我用手機拍了一張照片,查看了照片的詳細信息,如下圖:
照片信息
文件名:IMG_20201217_114115
時(shí)間:2020年12月17號 11:30:01
分辨率:4608X2592
文件大?。?.69MB
相機制造商:OnePlus
相機型號:ONEPLUS A5000
閃光燈:未使用閃光燈
焦距:4.10mm
白平衡:自動(dòng)
光圈:f/1.7
曝光時(shí)間:1/50
ISO:1250
這些是數碼照片的元數據,用于描述圖片。在資產(chǎn)管理平臺中,我們采集Hive組件的元數據包括:表名、字段列表、負責人、任務(wù)調度信息等。
采集全鏈路數據(各種元數據)可以幫助數據平臺回答:我們有哪些數據?有多少人在使用它?什么是數據存儲?如何找到這些數據?什么是數據流?分析問(wèn)題的根源,結合血緣關(guān)系分析影響。
2.2 采集 什么元數據
如下圖所示,是一個(gè)數據流圖。我們主要采集各個(gè)平臺組件:
截至目前,采集所達到的平臺組件已經(jīng)覆蓋了整個(gè)數據鏈路。涵蓋10種數據+,基礎元數據量10w+。主要包括:
三、元數據提取
如何從眾多平臺組件中提取元數據?大致有以下幾個(gè)方面:
計算任務(wù)通過(guò)分析任務(wù)的輸入/輸出依賴(lài)配置獲得血緣關(guān)系。SQL類(lèi)任務(wù)使用“Sql Parser”(ANTLR4系統實(shí)現的sql重寫(xiě)工具)工具解析SQL腳本,獲取表/字段級血緣關(guān)系。3.1 線(xiàn)下平臺
主要是采集Hive/RDS表的元數據。
Hive組件的元數據存放在Metastore中,通過(guò)JDBC訪(fǎng)問(wèn)Mysql獲取數據庫表的元數據。根據Hive表信息組裝HDFS地址,通過(guò)FileSystem API獲取文件狀態(tài)、文件編號、文件大小、數據更新時(shí)間等趨勢數據。
RDS平臺提供Mysql服務(wù)的管理,通過(guò)平臺提供的服務(wù)接口獲取表元數據、趨勢數據、訪(fǎng)問(wèn)狀態(tài)等信息。
3.2 實(shí)時(shí)平臺
主要是Flume/Hbase/Kafka等組件的元數據。
例如:我們訪(fǎng)問(wèn)放置在KP平臺的工單數據,獲取topic的基本元數據信息,定期消費topic獲取樣本數據,解析字段列表。平臺本身提供集群狀態(tài)和業(yè)務(wù)監控指標,通過(guò)平臺服務(wù)獲取集群資源的使用情況。
3.3 內部工具
主要是BI報表系統的血緣關(guān)系數據(BI報表查詢(xún)的Hive表和Mysql表關(guān)系)、指標數據庫(Hive表和指標相關(guān)的字段關(guān)系)、OneService服務(wù)(訪(fǎng)問(wèn)哪些數據庫表的關(guān)系數據)通過(guò)接口)。
這些內部系統在產(chǎn)品的不斷迭代中積累了大量的元數據。在不考慮元數據的時(shí)效性的情況下,我們一般都是將這些系統的數據同步到Hive數據庫中,然后離線(xiàn)處理后獲取元數據。
3.4 任務(wù)元數據
元數據任務(wù)主要是DP離線(xiàn)任務(wù)、Flink計算服務(wù)和Flume任務(wù)。
這些計算任務(wù)都放在磁盤(pán)上,通過(guò)Binlog同步或離線(xiàn)同步獲取任務(wù)列表,獲取任務(wù)的元數據。
四、數據采集
元數據提取后,我們就可以得到數據鏈中各個(gè)平臺組件的元數據。數據采集是指將這些元數據存儲在數據資產(chǎn)管理系統的數據庫中。
4.1 采集 方法
采集 主要有三種數據類(lèi)型。下表列出了三種方法的優(yōu)缺點(diǎn):
一般情況下,我們推薦業(yè)務(wù)方使用采集SDK。主動(dòng)上報元數據,訪(fǎng)問(wèn)時(shí)只需要關(guān)注上報數據格式和SDK初始化,即可快速完成上報。
4.2 采集SDK 設計
采集SDK支持基礎元數據、趨勢數據、血緣關(guān)系數據的上報,包括客戶(hù)端SDK和采集服務(wù)器兩部分??蛻?hù)端SDK主要實(shí)現通用報表模型的定義和報表功能,采集服務(wù)器主要實(shí)現不同的適配器,完成數據的統一存儲。
4.2.1 架構
采集SDK 客戶(hù)端
定義了基本元數據(MetaSchema)、趨勢數據(TrendSchema)和血緣關(guān)系數據(LineageSchema)的通用模型,并支持新的報告模型(XXXSchema)。ReportService實(shí)現了向Kafka推送數據的功能。
采集服務(wù)器
數據鑒權服務(wù)器消費Kafka,獲取數據后,對每條記錄的簽名進(jìn)行鑒權(獲取記錄中的appId、appName、token信息,重新生成token,比較值的過(guò)程)。統一倉儲服務(wù)定義了統一的數據倉儲模型,包括表基礎元數據、趨勢數據、血緣關(guān)系數據、趨勢數據,實(shí)現不同數據類(lèi)型的倉儲服務(wù)。數據適配器Bridge獲取Kafka的數據,根據不同的數據類(lèi)型轉換成“統一存儲模型”,觸發(fā)“統一存儲服務(wù)”完成數據寫(xiě)入。4.2.2 通用型號
采集的平臺組件很多。我們參考Hive“表模型”的定義,抽象出一套通用的數據上報模型,保證數據上報和數據存儲的可擴展性。
通用血緣模型主要包括血緣模型定義和任務(wù)血緣模型定義,支持用戶(hù)分別上報血緣關(guān)系和任務(wù)血緣關(guān)系。該模型定義如下:
/**
* 表血緣模型定義
*/
@Data
public class TableLineageSchema {
/**
* 當前節點(diǎn)
*/
private T current;
/**
* 父節點(diǎn)
*/
private List parents;
/**
* 子節點(diǎn)
*/
private List childs;
/**
* 表級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
/**
* 表任務(wù)血緣定義
*
*/
@Data
public class JobLineageSchema {
/**
* 任務(wù)節點(diǎn)對象
*/
private Job task;
/**
* 輸入對象列表
*/
private List inputs;
/**
* 輸出對象列表
*/
private List outputs;
/**
* 任務(wù)級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
每個(gè)模型定義都有一個(gè)擴展字段(傳統的 json 格式)。不在定義中的指標可以放在擴展字段中。數據上報后,也會(huì )存儲在元數據表的擴展字段中。訪(fǎng)問(wèn)新類(lèi)型,索引定義大不相同,通過(guò)擴展新的數據模型定義,元數據報告完成。
4.2.3 訪(fǎng)問(wèn)、驗證、限流
如何保證用戶(hù)上報的數據是安全的?我們設計了一組簽名:訪(fǎng)問(wèn)方Id(appId)、訪(fǎng)問(wèn)名稱(chēng)(appName)、訪(fǎng)問(wèn)標識(token)。管理員填寫(xiě)基本接入方信息,生成隨機的appId和token信息。業(yè)務(wù)方在初始化采集SDK時(shí),指定了簽名信息,每上報的數據都會(huì )攜帶簽名。在采集服務(wù)器上,每一條數據都會(huì )經(jīng)過(guò)簽名和認證,保證了數據的安全。
采集SDK 會(huì )對上報的每條數據執行通用規則來(lái)檢查數據的有效性,例如表名不為空、負責人的有效性、表的大小、趨勢數據不能為負。如果檢測到非法數據,將被過(guò)濾掉并觸發(fā)報警通知。
在采集SDK服務(wù)器上,每隔一定時(shí)間(每?jì)擅耄┫M一批Kafka數據。支持設置消費數據的時(shí)間間隔和拉取的片數。下游入站壓力不會(huì )因上報數據流量高峰而變化。大,起到了限流作用。
4.3 觸發(fā)器采集
我們支持多種 采集 元數據方法。如何觸發(fā)數據的采集?總體思路是:
基于A(yíng)pollo配置系統(見(jiàn):)和Linux系統的Crontab功能,實(shí)現任務(wù)調度。數據采集任務(wù)在A(yíng)pollo上配置。配置改變后,Apollo會(huì )發(fā)布,配置信息會(huì )實(shí)時(shí)同步到在線(xiàn)節點(diǎn)的Crontab文件中。
4.3.1 增量任務(wù),準實(shí)時(shí)
支持獲取組件最近變化的元數據,配置增量任務(wù),提高元數據采集的實(shí)時(shí)性。比如增量采集Hive表元數據,每1分鐘查詢(xún)一次metastore,獲取最近更改的元數據列表,并更新元數據。
4.3.2個(gè)完整任務(wù),所有細節
增量 采集 可能有數據丟失的情況。每 1 天或更多天完成一次 采集 作為底線(xiàn)解決方案,以確保元數據的完整性。
4.3.3 采集SDK,實(shí)時(shí)上報
采集SDK 支持實(shí)時(shí)和全量上報模式。一般要求在數據變更后實(shí)時(shí)上報接入方的數據,不定期上報一次全量。
4.4 數據存儲、更新
在數據采集之后,就要考慮如何存儲,以及元數據發(fā)生變化時(shí)如何同步更新。我們對來(lái)自采集的元數據進(jìn)行歸類(lèi)和統一,抽象出“表模型”并將其存儲在類(lèi)別中。
4.4.1 數據存儲
我們評估了每個(gè)組件的元數據量(共10w+),預估了數據可能的使用場(chǎng)景,最終選擇了Mysql來(lái)存儲。為了滿(mǎn)足用戶(hù)的個(gè)性化查詢(xún)需求,構建了Es寬表。表粒度主要包括:表名、備注、負責人、字段列表、趨勢信息、業(yè)務(wù)領(lǐng)域信息、任務(wù)信息等。Es表在數據采集過(guò)程中同步更新,保證真實(shí)元數據查詢(xún)的時(shí)間性,定期更新(構建離線(xiàn)模型表,每天同步更新Es表),保證元數據的完整性。
元數據中的表不是孤立存在的。一般有關(guān)聯(lián)任務(wù)(離線(xiàn)任務(wù)、實(shí)時(shí)任務(wù))輸出表,表和任務(wù)之間的流向關(guān)系也會(huì )在數據圖中顯示。那么如何在眾多平臺組件中唯一區分一個(gè)表呢?我們通過(guò)表所在的集群名稱(chēng)、項目名稱(chēng)、表類(lèi)型(它來(lái)自哪個(gè)平臺組件)和表名稱(chēng)的組合來(lái)唯一區分。
對數據進(jìn)行分類(lèi)存儲,最終形成:基礎元數據表、趨勢數據表、任務(wù)元數據表、血緣關(guān)系數據表。
4.4.2 數據更新
元數據表離線(xiàn),如何同步更新?
五、監控和警告
采集 已經(jīng)完成了數據,是不是都做完了?答案是否定的。采集在這個(gè)過(guò)程中,數據類(lèi)型很多,刪除方式多種多樣,刪除鏈接長(cháng)度。任何環(huán)節的任何問(wèn)題都會(huì )導致結果不準確。我們通過(guò)以下方式保證采集服務(wù)的穩定性。
5.1 采集鏈路監控告警5.1.1 接口監控
我們將系統的所有服務(wù)接口分為核心、重要、通用三個(gè)層次,并支持標注接口和責任人的注解。異常會(huì )觸發(fā)不同級別的警報通知。核心業(yè)務(wù)異常直接觸發(fā)電話(huà)報警,重要或一般業(yè)務(wù)異常觸發(fā)電子郵件報警。系統會(huì )存儲接口請求和執行狀態(tài)并刪除,每天向接口服務(wù)負責人發(fā)送服務(wù)日報。通過(guò)將采集服務(wù)的元數據標記為核心和重要服務(wù),“API直連方式”的接口被異常感知。
如下圖,是服務(wù)接口的告警通知:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[重要]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb], 異常信息:null
host:XXXXXX
處理地址:https://XXXX
如下圖,是服務(wù)接口的每日告警報告:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
[shunfengche]今日問(wèn)題匯總
請及時(shí)收斂今日問(wèn)題,總問(wèn)題數 1 個(gè),出現 2 次
【核心】問(wèn)題 0 個(gè):
【重要】問(wèn)題 0 個(gè):
【一般】問(wèn)題 1 個(gè):
[數據采集]com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb 今日出現 2 次, 已存在 5 天, 歷史出現 8 次
host:XXXXXX
處理地址:https://XXXX
5.1.2 采集 進(jìn)程監控
對于每個(gè)元數據采集服務(wù),如果采集進(jìn)程發(fā)生異常,都會(huì )發(fā)送告警通知。
如下圖,是采集過(guò)程中異常觸發(fā)的告警:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[一般]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.asyncworker.work.AsyncAllRdsDDLWorker.run], 異常信息:/n
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLQueryInterruptedException: Query execution was interrupted
5.1.3 Kafka 消息積壓警告
Kafka數據的消費,通過(guò)kp平臺配置消息backlog告警,實(shí)現對采集SDK服務(wù)的異常感知。
5.2 結果數據對比
主要用于事后監測預警,定期檢測采集元數據量的異常波動(dòng)。針對不同類(lèi)型的元數據,通過(guò)將當天采集的數量與過(guò)去7天的歷史平均數量進(jìn)行比較,設置異常波動(dòng)的報警閾值,超過(guò)閾值時(shí)觸發(fā)報警通知.
針對采集的元數據結果表,配置一些數據質(zhì)量檢測規則,定期執行異常規則,發(fā)現問(wèn)題數據時(shí)觸發(fā)告警通知。這保證了對結果數據的異常感知。例如,定義的數據質(zhì)量規則:
5.3 項目迭代機制,采集問(wèn)題收斂
通過(guò)事前、事中、事后的監測預警機制,可以及時(shí)發(fā)現和感知采集的異常情況。對于異常問(wèn)題,我們一般以項目迭代的方式發(fā)起jira,組織相關(guān)人員進(jìn)行審核。追根溯源,討論改進(jìn)方案,產(chǎn)生行動(dòng),關(guān)注并持續收斂問(wèn)題。
六、總結與展望6.1 結論
我們定義了一套通用的數據采集和存儲模型,支持訪(fǎng)問(wèn)不同數據類(lèi)型的元數據,支持多種訪(fǎng)問(wèn)方式,采集SDK提高了訪(fǎng)問(wèn)效率和數據時(shí)效性。
如下圖所示,各個(gè)組件的元數據已經(jīng)打通,數據分類(lèi)統一管理,提供了數據字典、數據地圖、資產(chǎn)市場(chǎng)等元數據的應用。
如果將數據資產(chǎn)治理比作高層建筑的建設,那么不同構件的元數據是原材料,數據采集是基礎。只有夯實(shí)了基礎,數據治理的建設才能越來(lái)越穩固。
6.2 展望
在數據采集的過(guò)程中,我們也遇到了很多問(wèn)題。在后續工作中,我們需要不斷的優(yōu)化和功能迭代,包括但不限于:
最后,有贊數據中心,長(cháng)期招聘基礎組件、平臺研發(fā)、數據倉庫、數據產(chǎn)品、算法等人才,歡迎加入,一起享受~簡(jiǎn)歷投遞郵箱:。
采集自動(dòng)組合(不能期望配對測試是萬(wàn)能的,即我們僅依賴(lài)于一次)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 139 次瀏覽 ? 2021-11-04 21:20
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用了一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者說(shuō)程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在進(jìn)行過(guò)多等效組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:
對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:
當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:
2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:
3. 然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:
4. 為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):
5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):
自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):
2. 將 Excel 文件另存為文本文件,以 Tab 鍵為分隔符:
3. 然后使用 allpairs.exe 處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4. output.txt中,PAIRING DETAILS下面的東西沒(méi)用,可以直接刪除,刪除后,結果如下:
您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合Behavior DrivenDesign技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基礎測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具,而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。 查看全部
采集自動(dòng)組合(不能期望配對測試是萬(wàn)能的,即我們僅依賴(lài)于一次)
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用了一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者說(shuō)程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在進(jìn)行過(guò)多等效組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:

對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:

當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:

2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:

3. 然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:

4. 為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):

5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):

自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):

2. 將 Excel 文件另存為文本文件,以 Tab 鍵為分隔符:

3. 然后使用 allpairs.exe 處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4. output.txt中,PAIRING DETAILS下面的東西沒(méi)用,可以直接刪除,刪除后,結果如下:

您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合Behavior DrivenDesign技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基礎測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具,而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。
采集自動(dòng)組合(采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort(組圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 142 次瀏覽 ? 2021-11-01 14:22
采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort已經(jīng)限制了數據塊的大小,為了自定義一個(gè)更大的數據塊,我們需要確定相應的row數,然后重新定義row數據塊定義規則。geosphere示例如下:rowrow_pre_sort=dict(row=pre_sort(geotree))pre_sortd=geotree.geosphere()pre_sort->doc("a")pre_sort->doc("b")pre_sort->doc("c")d.push(row)pre_sort->doc("d")pre_sort->doc("e")d.push(row_pre_sort)如果我們需要的數據塊是一個(gè)新的row,那么可以根據meta_pre_sort進(jìn)行分析。
meta_pre_sort的原始數據為e.collect_row(row_files=meta_pre_sort.obj_rows),要分析原始數據,必須分析數據塊。meta_pre_sort.get("meta_pre_sort.txt")得到一個(gè)meta_pre_sort.txt文件,并打印出這個(gè)數據塊,使用如下的語(yǔ)句:meta_pre_sort.items["row_files"]["end_items"]如果將這個(gè)meta_pre_sort字典中的每個(gè)屬性定義成fraction(對應的的排序規則包括分數等),并用items["end_items"]=meta_pre_sort.items["collect_table"]="row",進(jìn)行分析,代碼如下:meta_pre_sort.items["collect_table"]["end_items"]根據規則可以重新定義數據塊的大小。
注意是meta_pre_sort.txt而不是數據塊。meta_pre_sort.txt的格式為{"end_items":row}reference.fractions_,.fractions.rows:{"end_items":end_items.rows,.fractions.rows.fractions},.meta_pre_sort:{"collect_table":meta_pre_sort.txt,.meta_pre_sort.collect_table:[fraction]}meta_pre_sort.items["row_files"]meta_pre_sort.rows=meta_pre_sort.rowsmeta_pre_sort.rows.items.items=rowmeta_pre_sort.items["end_items"]([])則對應于geosphere示例數據塊,每個(gè)數據塊后面都需要加冒號,否則meta_pre_sort.items["end_items"]得到為空數據。
附上完整代碼:pre_sort原文:geotreepre_sort本文章來(lái)源于geosphere,istio微信公眾號,微信掃一掃關(guān)注geosphere公眾號。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort(組圖))
采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort已經(jīng)限制了數據塊的大小,為了自定義一個(gè)更大的數據塊,我們需要確定相應的row數,然后重新定義row數據塊定義規則。geosphere示例如下:rowrow_pre_sort=dict(row=pre_sort(geotree))pre_sortd=geotree.geosphere()pre_sort->doc("a")pre_sort->doc("b")pre_sort->doc("c")d.push(row)pre_sort->doc("d")pre_sort->doc("e")d.push(row_pre_sort)如果我們需要的數據塊是一個(gè)新的row,那么可以根據meta_pre_sort進(jìn)行分析。
meta_pre_sort的原始數據為e.collect_row(row_files=meta_pre_sort.obj_rows),要分析原始數據,必須分析數據塊。meta_pre_sort.get("meta_pre_sort.txt")得到一個(gè)meta_pre_sort.txt文件,并打印出這個(gè)數據塊,使用如下的語(yǔ)句:meta_pre_sort.items["row_files"]["end_items"]如果將這個(gè)meta_pre_sort字典中的每個(gè)屬性定義成fraction(對應的的排序規則包括分數等),并用items["end_items"]=meta_pre_sort.items["collect_table"]="row",進(jìn)行分析,代碼如下:meta_pre_sort.items["collect_table"]["end_items"]根據規則可以重新定義數據塊的大小。
注意是meta_pre_sort.txt而不是數據塊。meta_pre_sort.txt的格式為{"end_items":row}reference.fractions_,.fractions.rows:{"end_items":end_items.rows,.fractions.rows.fractions},.meta_pre_sort:{"collect_table":meta_pre_sort.txt,.meta_pre_sort.collect_table:[fraction]}meta_pre_sort.items["row_files"]meta_pre_sort.rows=meta_pre_sort.rowsmeta_pre_sort.rows.items.items=rowmeta_pre_sort.items["end_items"]([])則對應于geosphere示例數據塊,每個(gè)數據塊后面都需要加冒號,否則meta_pre_sort.items["end_items"]得到為空數據。
附上完整代碼:pre_sort原文:geotreepre_sort本文章來(lái)源于geosphere,istio微信公眾號,微信掃一掃關(guān)注geosphere公眾號。
采集自動(dòng)組合(配對測試是萬(wàn)能的,即我們僅依賴(lài)于配對自動(dòng)生成的測試用例)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 134 次瀏覽 ? 2021-11-01 04:20
原來(lái)的:
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在執行過(guò)多等價(jià)組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:
對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:
當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:
2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:
3.然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:
4.為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):
5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):
自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):
2.將 Excel 文件保存為文本文件,以 Tab 鍵為分隔符:
3.然后使用allpairs.exe處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4.output.txt里面PAIRING DETAILS下的東西沒(méi)用,可以直接刪除。刪除后,結果如下:
您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合行為驅動(dòng)設計技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基本的測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化的測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。 查看全部
采集自動(dòng)組合(配對測試是萬(wàn)能的,即我們僅依賴(lài)于配對自動(dòng)生成的測試用例)
原來(lái)的:
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在執行過(guò)多等價(jià)組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:

對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:

當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:

2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:

3.然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:

4.為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):

5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):

自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):

2.將 Excel 文件保存為文本文件,以 Tab 鍵為分隔符:

3.然后使用allpairs.exe處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4.output.txt里面PAIRING DETAILS下的東西沒(méi)用,可以直接刪除。刪除后,結果如下:

您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合行為驅動(dòng)設計技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基本的測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化的測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。
采集自動(dòng)組合(\t統計數據APP開(kāi)發(fā)一套數據采集SDK的功能:\頁(yè)面訪(fǎng)問(wèn)流)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 168 次瀏覽 ? 2021-10-31 19:16
隨著(zhù)有貨APP的不斷迭代開(kāi)發(fā),數據和業(yè)務(wù)部門(mén)對客戶(hù)用戶(hù)行為數據的要求越來(lái)越高;為了更好的監控APP的使用狀態(tài),客戶(hù)端團隊對APP本身的運行有越來(lái)越多的數據需求。緊急發(fā)送。急需一套客戶(hù)端數據采集的工具,自動(dòng)完整的采集用戶(hù)行為數據,滿(mǎn)足各部門(mén)的數據需求。
\\
為此,物火APP團隊開(kāi)發(fā)了一套數據采集 SDK。主要功能如下:
\\ 頁(yè)面訪(fǎng)問(wèn)流程。用戶(hù)在使用APP的過(guò)程中瀏覽了哪些頁(yè)面。\\t瀏覽數據公開(kāi)。用戶(hù)在某個(gè)頁(yè)面上查看了哪些產(chǎn)品。\\t業(yè)務(wù)數據自動(dòng)采集。用戶(hù)在應用期間點(diǎn)擊了哪些位置以及觸發(fā)了哪些操作。\\t性能數據自動(dòng)采集。用戶(hù)在使用APP的過(guò)程中,頁(yè)面加載時(shí)間多長(cháng),圖片加載時(shí)間多長(cháng),網(wǎng)絡(luò )請求時(shí)間多長(cháng)等\
另外,所有數據采集應該是自動(dòng)化的、非侵入性的,即不需要人工埋點(diǎn),集成SDK即可使用,無(wú)需改動(dòng)或改動(dòng)原有代碼可能的。
\\
基于以上需求,AOP是技術(shù)方案的最佳選擇,而在iOS上實(shí)現AOP需要實(shí)現Objective-C中運行時(shí)的黑魔法Method Swizzle。踏坑填坑的漫漫征程從這里開(kāi)始,讓我們一一領(lǐng)略實(shí)現的思路和方法。
\\頁(yè)面訪(fǎng)問(wèn)流程\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計需要解決兩個(gè)問(wèn)題:
\\ 統計事件的入口點(diǎn),即何時(shí)進(jìn)行計數。\\tStatistic 數據字段,統計哪些數據。\
整體流程如下:
\\
\\統計事件的入口\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計的大致思路在View Controller生命周期方法中:
\\
可以獲得用戶(hù)訪(fǎng)問(wèn)頁(yè)面的路徑,兩個(gè)事件時(shí)間戳的差值就是用戶(hù)在頁(yè)面停留的時(shí)間。
\\
通常我們APP中的View Controller繼承自某個(gè)基類(lèi)。我們可以在基類(lèi)的相應方法中進(jìn)行統計。但是,對于不繼承自基類(lèi)的視圖控制器,我們無(wú)能為力。
\\
借助AOP,我們可以更優(yōu)雅地做到這一點(diǎn):在UIViewController的load方法中混用viewDidAppear和viewDidDisappear方法,原代碼無(wú)需改動(dòng)。
\\統計字段\\
根據數據要求,設置以下統計字段:
\\
頁(yè)面進(jìn)入和退出事件在上述數據結構中上報。
\\
還有幾個(gè)問(wèn)題需要考慮:
\\1.如何定義PAGE_ID和SOURCE_ID\\
因為需要統一iOS和Android的PAGE_ID,所以需要配置下發(fā)。iOS端得到的是一個(gè)plist文件,文件的key是View Controller的類(lèi)名的字符串表示,值為PAGE_ID。
\\2.如何獲取PAGE_ID和SOURCE_ID\\
PAGE_ID可以直接根據當前View Controller的class獲取。SOURCE_ID 稍微復雜一些。具體的獲取方式需要根據APP頁(yè)面的嵌套棧結構來(lái)確定。通常,可以從 UINavigationController 的導航堆棧中獲取之前的 View Controller 的頁(yè)面 id。.
\\
至此,頁(yè)面訪(fǎng)問(wèn)流量統計基本完成,根據頁(yè)面進(jìn)入和退出的PAGE_ID和SOURCE_ID串出一條完整的用戶(hù)瀏覽路徑,得到用戶(hù)在每個(gè)頁(yè)面的停留時(shí)間。
\\瀏覽數據曝光\\
采集 用戶(hù)的瀏覽路徑,在每個(gè)頁(yè)面停留的時(shí)間之后,在某些頁(yè)面,比如首頁(yè)和產(chǎn)品列表頁(yè)面,我們也想知道用戶(hù)在頁(yè)面上刷了多少屏并閱讀哪些活動(dòng)和產(chǎn)品可以更好地為用戶(hù)推薦喜歡的產(chǎn)品。
\\
用戶(hù)看到的屏幕區域被認為是一個(gè)資源位,所以用戶(hù)看到的內容是由資源位組成的。那么曝光的含義如下:
\\
我們知道iOS中頁(yè)面元素的基本單位是視圖,所以我們只需要判斷視圖是否在可見(jiàn)區域,就可以知道當前視圖上的資源位置是否需要暴露,然后進(jìn)行相應的曝光操作,采集數據,上報接口等。
\\
從上面的分析可以看出,主要有兩個(gè)問(wèn)題需要解決:
\\View的可見(jiàn)度判斷\\tview曝光數據采集\View的可見(jiàn)度判斷\\
查詢(xún)UIView Class Reference可以看到setFrame:和layoutSubivews方法,可以用來(lái)設置subview的frame。每次更新視圖名望時(shí)都會(huì )調用此方法。因此,我們可以通過(guò)runtime swizzle來(lái)實(shí)現這個(gè)方法,并添加一些數據采集相關(guān)的操作。
\\
我們向 UIView 添加了以下屬性:
\\
首先,明確下列術(shù)語(yǔ)的定義和規則:
\\
1.view的子視圖可以同時(shí)看到3個(gè)需要滿(mǎn)足的條件:
\\
相反,只要不滿(mǎn)足上述任一條件,我們認為該子視圖目前是不可見(jiàn)的。
\\
2.將視圖設置為可見(jiàn)
\\
3.將視圖設置為不可見(jiàn)
\\
Swzzile setFrame:,執行以下操作:
\\
\\
Swzzile layoutSubivews,調用yh_updateVisibleSubViews方法,執行如下操作:
\\
\\
通過(guò)以上操作,我們可以知道某個(gè)視圖及其子視圖是否可見(jiàn)。
\\ 查看曝光數據采集\\
為了獲取view對應的數據,UIView還添加了以下屬性:
\\
那么有兩個(gè)問(wèn)題:
\\視圖曝光數據的粒度\\tview及其子視圖節點(diǎn)曝光數據的組裝時(shí)序\
視圖曝光數據的粒度
\\
根據項目中的實(shí)踐經(jīng)驗,UITableViewCell或者UI采集ViewCell一般是粒度最小的。同時(shí),在最后一個(gè)節點(diǎn)的yh_exposureData字典中,添加一個(gè)key:isEnd來(lái)標識是否是最后一個(gè)節點(diǎn)。
\\
組裝視圖及其子視圖的曝光數據的時(shí)機
\\
一般當最后一個(gè)節點(diǎn)的可見(jiàn)性發(fā)生變化時(shí),從下到上遍歷最后一個(gè)節點(diǎn)的superview,組裝所有數據。
\\
因此,我們覆蓋了 setYh_viewVisible: 方法,也就是 yh_viewVisible 的 set 方法。請執行下列操作:
\\
至此,我們已經(jīng)解決了視圖可見(jiàn)性判斷和曝光數據采集的問(wèn)題。這里不再重復數據報告和策略。
\\
這個(gè)方案有幾個(gè)缺點(diǎn)
\\ 需要手動(dòng)設置曝光數據。\\t 需要在合適的時(shí)候手動(dòng)調用view.yh_viewVisible來(lái)觸發(fā)數據采集,比如viewdidappear。\\t 視覺(jué)區域計算和曝光數據需要消耗一定的資源采集。\
另外兩個(gè)問(wèn)題值得注意:
\\UITableView在setBounds:時(shí)會(huì )改變view frame,所以需要swizzle setBounds:方法,設置bounds后需要調用[self yh_updateVisibleSubViews];\\tUIScrollView在setContentInset:時(shí)會(huì )影響view的可見(jiàn)區域,所以它需要 swizzle setContentInset: 方法,設置 contentInset 后需要調用 self.yh_viewVisibleRect = UIEdgeInsetsInsetRect(self.frame, contentInset); \ 業(yè)務(wù)數據自動(dòng)采集\\
業(yè)務(wù)數據自動(dòng)采集,業(yè)界流行的無(wú)埋點(diǎn)數據采集。
\\
傳統的客戶(hù)端用戶(hù)點(diǎn)擊數據采集是基于人工埋點(diǎn)。如果您對哪個(gè)位置的數據感興趣,只需單擊此處。用戶(hù)操作后,立即觸發(fā)數據報表。人工掩埋的缺點(diǎn)很明顯:錯掩埋、漏掩。新版本發(fā)布后,經(jīng)常有數據部的小伙伴反映某點(diǎn)的問(wèn)題沒(méi)有上報,某點(diǎn)的問(wèn)題上報錯了,開(kāi)發(fā)同事也苦不堪言。
\\
無(wú)埋點(diǎn)數據采集帶來(lái)新的變化。首先,基本避免人工埋葬,個(gè)別情況需要特殊處理。其次,從選擇性的采集數據中,變成了采集用戶(hù)點(diǎn)擊和觸摸的全量數據。
\\
新的變化也會(huì )帶來(lái)新的挑戰。未掩埋數據采集的可能性還是基于Objective-C的運行時(shí)特性。在實(shí)踐過(guò)程中借鑒了iOS非埋點(diǎn)數據SDK的整體設計和技術(shù)實(shí)現,在實(shí)現中借鑒了Sensors Analytics iOS SDK和Mixpanel iPhone。接下來(lái)結合具體實(shí)踐,介紹一下我們的實(shí)現思路和遇到的一些問(wèn)題。主要分為以下三個(gè)方面:
\\ 如何保證自動(dòng)采集的點(diǎn)的唯一性。\\t不同的點(diǎn)類(lèi)型,需要哪些方法進(jìn)行swizzle??釉赲\tswizzle的過(guò)程中踩到了。\ 如何保證自動(dòng)采集的點(diǎn)數的唯一性\\
自動(dòng)采集與手動(dòng)埋點(diǎn)是分開(kāi)的,所以沒(méi)有該點(diǎn)的唯一標識。那么我們如何唯一定位自動(dòng)采集的點(diǎn)呢?一種容易想到的解決方案是:基于頁(yè)面視圖的樹(shù)狀結構。這個(gè)解決方案可以分解為兩個(gè)問(wèn)題:
如何定義\\視圖的唯一標識。\\tview 唯一標識如何生成它。\
視圖唯一標識符(視圖路徑)的定義
\\
我們規定一個(gè)典型的視圖路徑如下:
\\
\ViewController[0]/UIView[0]/UITableView[0]/UITableViewCell[0:2]/UIButton[0]
\\
在:
\\ 有了這個(gè)標識符,就可以在當前頁(yè)面的視圖樹(shù)結構中唯一標識這個(gè)元素。\\t 標識的每一項由兩部分組成:一是當前元素所屬類(lèi)的字符串表示,二是當前元素在同級元素中的序號,從0開(kāi)始計數。對于例如,當前第二個(gè) UIImageView 是 UIImageView1。\\t 用 / 拼接標識不同的項目。\\t 標識的頂層是當前視圖所在的 ViewController。\\t 對于UITableViewCell、UI采集ViewCell等類(lèi)似的自定義組件,序號部分由section和row兩部分組成,拼接在一起。\\t 標記的結尾是當前被點(diǎn)擊或觸摸的元素。\
如何生成視圖唯一標識符
\\
視圖路徑生成過(guò)程:從觸發(fā)操作的最末端元素向上查詢(xún),直到找到ViewController。假設當前點(diǎn)擊的視圖是A_View,從當前A_View開(kāi)始遍歷視圖樹(shù),每一層的數據都存儲在P_Array中。過(guò)程如下:
\\
\\ 如果A_View為UI采集ViewCell類(lèi)型,獲取A_View所在UI采集View的indexPath,P_Array推送路徑信息[NSString stringWithFormat:@\"%@[%ld:%ld]\ 查看全部
采集自動(dòng)組合(\t統計數據APP開(kāi)發(fā)一套數據采集SDK的功能:\頁(yè)面訪(fǎng)問(wèn)流)
隨著(zhù)有貨APP的不斷迭代開(kāi)發(fā),數據和業(yè)務(wù)部門(mén)對客戶(hù)用戶(hù)行為數據的要求越來(lái)越高;為了更好的監控APP的使用狀態(tài),客戶(hù)端團隊對APP本身的運行有越來(lái)越多的數據需求。緊急發(fā)送。急需一套客戶(hù)端數據采集的工具,自動(dòng)完整的采集用戶(hù)行為數據,滿(mǎn)足各部門(mén)的數據需求。
\\
為此,物火APP團隊開(kāi)發(fā)了一套數據采集 SDK。主要功能如下:
\\ 頁(yè)面訪(fǎng)問(wèn)流程。用戶(hù)在使用APP的過(guò)程中瀏覽了哪些頁(yè)面。\\t瀏覽數據公開(kāi)。用戶(hù)在某個(gè)頁(yè)面上查看了哪些產(chǎn)品。\\t業(yè)務(wù)數據自動(dòng)采集。用戶(hù)在應用期間點(diǎn)擊了哪些位置以及觸發(fā)了哪些操作。\\t性能數據自動(dòng)采集。用戶(hù)在使用APP的過(guò)程中,頁(yè)面加載時(shí)間多長(cháng),圖片加載時(shí)間多長(cháng),網(wǎng)絡(luò )請求時(shí)間多長(cháng)等\
另外,所有數據采集應該是自動(dòng)化的、非侵入性的,即不需要人工埋點(diǎn),集成SDK即可使用,無(wú)需改動(dòng)或改動(dòng)原有代碼可能的。
\\
基于以上需求,AOP是技術(shù)方案的最佳選擇,而在iOS上實(shí)現AOP需要實(shí)現Objective-C中運行時(shí)的黑魔法Method Swizzle。踏坑填坑的漫漫征程從這里開(kāi)始,讓我們一一領(lǐng)略實(shí)現的思路和方法。
\\頁(yè)面訪(fǎng)問(wèn)流程\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計需要解決兩個(gè)問(wèn)題:
\\ 統計事件的入口點(diǎn),即何時(shí)進(jìn)行計數。\\tStatistic 數據字段,統計哪些數據。\
整體流程如下:
\\

\\統計事件的入口\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計的大致思路在View Controller生命周期方法中:
\\
可以獲得用戶(hù)訪(fǎng)問(wèn)頁(yè)面的路徑,兩個(gè)事件時(shí)間戳的差值就是用戶(hù)在頁(yè)面停留的時(shí)間。
\\
通常我們APP中的View Controller繼承自某個(gè)基類(lèi)。我們可以在基類(lèi)的相應方法中進(jìn)行統計。但是,對于不繼承自基類(lèi)的視圖控制器,我們無(wú)能為力。
\\
借助AOP,我們可以更優(yōu)雅地做到這一點(diǎn):在UIViewController的load方法中混用viewDidAppear和viewDidDisappear方法,原代碼無(wú)需改動(dòng)。
\\統計字段\\
根據數據要求,設置以下統計字段:
\\
頁(yè)面進(jìn)入和退出事件在上述數據結構中上報。
\\
還有幾個(gè)問(wèn)題需要考慮:
\\1.如何定義PAGE_ID和SOURCE_ID\\
因為需要統一iOS和Android的PAGE_ID,所以需要配置下發(fā)。iOS端得到的是一個(gè)plist文件,文件的key是View Controller的類(lèi)名的字符串表示,值為PAGE_ID。
\\2.如何獲取PAGE_ID和SOURCE_ID\\
PAGE_ID可以直接根據當前View Controller的class獲取。SOURCE_ID 稍微復雜一些。具體的獲取方式需要根據APP頁(yè)面的嵌套棧結構來(lái)確定。通常,可以從 UINavigationController 的導航堆棧中獲取之前的 View Controller 的頁(yè)面 id。.
\\
至此,頁(yè)面訪(fǎng)問(wèn)流量統計基本完成,根據頁(yè)面進(jìn)入和退出的PAGE_ID和SOURCE_ID串出一條完整的用戶(hù)瀏覽路徑,得到用戶(hù)在每個(gè)頁(yè)面的停留時(shí)間。
\\瀏覽數據曝光\\
采集 用戶(hù)的瀏覽路徑,在每個(gè)頁(yè)面停留的時(shí)間之后,在某些頁(yè)面,比如首頁(yè)和產(chǎn)品列表頁(yè)面,我們也想知道用戶(hù)在頁(yè)面上刷了多少屏并閱讀哪些活動(dòng)和產(chǎn)品可以更好地為用戶(hù)推薦喜歡的產(chǎn)品。
\\
用戶(hù)看到的屏幕區域被認為是一個(gè)資源位,所以用戶(hù)看到的內容是由資源位組成的。那么曝光的含義如下:
\\
我們知道iOS中頁(yè)面元素的基本單位是視圖,所以我們只需要判斷視圖是否在可見(jiàn)區域,就可以知道當前視圖上的資源位置是否需要暴露,然后進(jìn)行相應的曝光操作,采集數據,上報接口等。
\\
從上面的分析可以看出,主要有兩個(gè)問(wèn)題需要解決:
\\View的可見(jiàn)度判斷\\tview曝光數據采集\View的可見(jiàn)度判斷\\
查詢(xún)UIView Class Reference可以看到setFrame:和layoutSubivews方法,可以用來(lái)設置subview的frame。每次更新視圖名望時(shí)都會(huì )調用此方法。因此,我們可以通過(guò)runtime swizzle來(lái)實(shí)現這個(gè)方法,并添加一些數據采集相關(guān)的操作。
\\
我們向 UIView 添加了以下屬性:
\\
首先,明確下列術(shù)語(yǔ)的定義和規則:
\\
1.view的子視圖可以同時(shí)看到3個(gè)需要滿(mǎn)足的條件:
\\
相反,只要不滿(mǎn)足上述任一條件,我們認為該子視圖目前是不可見(jiàn)的。
\\
2.將視圖設置為可見(jiàn)
\\
3.將視圖設置為不可見(jiàn)
\\
Swzzile setFrame:,執行以下操作:
\\

\\
Swzzile layoutSubivews,調用yh_updateVisibleSubViews方法,執行如下操作:
\\

\\
通過(guò)以上操作,我們可以知道某個(gè)視圖及其子視圖是否可見(jiàn)。
\\ 查看曝光數據采集\\
為了獲取view對應的數據,UIView還添加了以下屬性:
\\
那么有兩個(gè)問(wèn)題:
\\視圖曝光數據的粒度\\tview及其子視圖節點(diǎn)曝光數據的組裝時(shí)序\
視圖曝光數據的粒度
\\
根據項目中的實(shí)踐經(jīng)驗,UITableViewCell或者UI采集ViewCell一般是粒度最小的。同時(shí),在最后一個(gè)節點(diǎn)的yh_exposureData字典中,添加一個(gè)key:isEnd來(lái)標識是否是最后一個(gè)節點(diǎn)。
\\
組裝視圖及其子視圖的曝光數據的時(shí)機
\\
一般當最后一個(gè)節點(diǎn)的可見(jiàn)性發(fā)生變化時(shí),從下到上遍歷最后一個(gè)節點(diǎn)的superview,組裝所有數據。
\\
因此,我們覆蓋了 setYh_viewVisible: 方法,也就是 yh_viewVisible 的 set 方法。請執行下列操作:
\\
至此,我們已經(jīng)解決了視圖可見(jiàn)性判斷和曝光數據采集的問(wèn)題。這里不再重復數據報告和策略。
\\
這個(gè)方案有幾個(gè)缺點(diǎn)
\\ 需要手動(dòng)設置曝光數據。\\t 需要在合適的時(shí)候手動(dòng)調用view.yh_viewVisible來(lái)觸發(fā)數據采集,比如viewdidappear。\\t 視覺(jué)區域計算和曝光數據需要消耗一定的資源采集。\
另外兩個(gè)問(wèn)題值得注意:
\\UITableView在setBounds:時(shí)會(huì )改變view frame,所以需要swizzle setBounds:方法,設置bounds后需要調用[self yh_updateVisibleSubViews];\\tUIScrollView在setContentInset:時(shí)會(huì )影響view的可見(jiàn)區域,所以它需要 swizzle setContentInset: 方法,設置 contentInset 后需要調用 self.yh_viewVisibleRect = UIEdgeInsetsInsetRect(self.frame, contentInset); \ 業(yè)務(wù)數據自動(dòng)采集\\
業(yè)務(wù)數據自動(dòng)采集,業(yè)界流行的無(wú)埋點(diǎn)數據采集。
\\
傳統的客戶(hù)端用戶(hù)點(diǎn)擊數據采集是基于人工埋點(diǎn)。如果您對哪個(gè)位置的數據感興趣,只需單擊此處。用戶(hù)操作后,立即觸發(fā)數據報表。人工掩埋的缺點(diǎn)很明顯:錯掩埋、漏掩。新版本發(fā)布后,經(jīng)常有數據部的小伙伴反映某點(diǎn)的問(wèn)題沒(méi)有上報,某點(diǎn)的問(wèn)題上報錯了,開(kāi)發(fā)同事也苦不堪言。
\\
無(wú)埋點(diǎn)數據采集帶來(lái)新的變化。首先,基本避免人工埋葬,個(gè)別情況需要特殊處理。其次,從選擇性的采集數據中,變成了采集用戶(hù)點(diǎn)擊和觸摸的全量數據。
\\
新的變化也會(huì )帶來(lái)新的挑戰。未掩埋數據采集的可能性還是基于Objective-C的運行時(shí)特性。在實(shí)踐過(guò)程中借鑒了iOS非埋點(diǎn)數據SDK的整體設計和技術(shù)實(shí)現,在實(shí)現中借鑒了Sensors Analytics iOS SDK和Mixpanel iPhone。接下來(lái)結合具體實(shí)踐,介紹一下我們的實(shí)現思路和遇到的一些問(wèn)題。主要分為以下三個(gè)方面:
\\ 如何保證自動(dòng)采集的點(diǎn)的唯一性。\\t不同的點(diǎn)類(lèi)型,需要哪些方法進(jìn)行swizzle??釉赲\tswizzle的過(guò)程中踩到了。\ 如何保證自動(dòng)采集的點(diǎn)數的唯一性\\
自動(dòng)采集與手動(dòng)埋點(diǎn)是分開(kāi)的,所以沒(méi)有該點(diǎn)的唯一標識。那么我們如何唯一定位自動(dòng)采集的點(diǎn)呢?一種容易想到的解決方案是:基于頁(yè)面視圖的樹(shù)狀結構。這個(gè)解決方案可以分解為兩個(gè)問(wèn)題:
如何定義\\視圖的唯一標識。\\tview 唯一標識如何生成它。\
視圖唯一標識符(視圖路徑)的定義
\\
我們規定一個(gè)典型的視圖路徑如下:
\\
\ViewController[0]/UIView[0]/UITableView[0]/UITableViewCell[0:2]/UIButton[0]
\\
在:
\\ 有了這個(gè)標識符,就可以在當前頁(yè)面的視圖樹(shù)結構中唯一標識這個(gè)元素。\\t 標識的每一項由兩部分組成:一是當前元素所屬類(lèi)的字符串表示,二是當前元素在同級元素中的序號,從0開(kāi)始計數。對于例如,當前第二個(gè) UIImageView 是 UIImageView1。\\t 用 / 拼接標識不同的項目。\\t 標識的頂層是當前視圖所在的 ViewController。\\t 對于UITableViewCell、UI采集ViewCell等類(lèi)似的自定義組件,序號部分由section和row兩部分組成,拼接在一起。\\t 標記的結尾是當前被點(diǎn)擊或觸摸的元素。\
如何生成視圖唯一標識符
\\
視圖路徑生成過(guò)程:從觸發(fā)操作的最末端元素向上查詢(xún),直到找到ViewController。假設當前點(diǎn)擊的視圖是A_View,從當前A_View開(kāi)始遍歷視圖樹(shù),每一層的數據都存儲在P_Array中。過(guò)程如下:
\\

\\ 如果A_View為UI采集ViewCell類(lèi)型,獲取A_View所在UI采集View的indexPath,P_Array推送路徑信息[NSString stringWithFormat:@\"%@[%ld:%ld]\
采集自動(dòng)組合(采集自動(dòng)組合墻,帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 138 次瀏覽 ? 2021-12-25 13:05
采集自動(dòng)組合墻,基于redhat源代碼,30行代碼搞定,并且帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí)。關(guān)注下這個(gè):redhatreleasenight/ymca·github,歡迎fork,
看你的組合墻的用途。如果只是加個(gè)模擬碼,用python就夠了。如果是一鍵連線(xiàn),用python連到mysql就行。但是因為你的組合墻一般是處理整個(gè)靜態(tài)網(wǎng)頁(yè)文件的,所以建議走lua。如果是一些動(dòng)態(tài)接口。那么連接mysql的時(shí)候走redis就行。
可以使用可以組合墻的框架(兼容redhat,性能也不錯):redblit-redhat-golang-multibox-redis。直接ctrl+c可以退出模擬連接。沒(méi)辦法可以幫到你了。
貌似實(shí)現最多就是加三個(gè)mysql可以連的網(wǎng)絡(luò )接口,通過(guò)這三個(gè)接口用純python處理靜態(tài)網(wǎng)頁(yè),這樣就可以裝多個(gè)redis然后開(kāi)10個(gè)服務(wù)就能組合出來(lái)。
自己寫(xiě)!opera的radva
用mysql連,我一個(gè)方案是寫(xiě)了多個(gè)中間層。先用各種包封裝成模塊,例如通過(guò)func連接分頁(yè)器listlist這個(gè)接口??梢赃B的多,又很快。如果做后端開(kāi)發(fā)的話(huà)??梢钥紤]fastq,它是把各種模塊封裝成一個(gè)sql然后用mysql/mssql連。這個(gè)效率肯定比mysql/mssql高,但是肯定不是to-db這種云服務(wù)的innodb。
===如果不用mysql,而是說(shuō)數據庫連接管理,請參考modbus接口。不過(guò)由于你沒(méi)說(shuō)明你具體的項目,后端開(kāi)發(fā)也沒(méi)有那么復雜。既然用mysql了,后端開(kāi)發(fā)工作量肯定小不了,只有一個(gè)就是redis了。安裝配置調整權限什么的,有時(shí)間肯定可以搞定。學(xué)業(yè)余做個(gè)網(wǎng)站,不需要很復雜,可以把需要的功能組合起來(lái),好多網(wǎng)站實(shí)現起來(lái)都簡(jiǎn)單的很,主要還是看業(yè)務(wù)。-推薦一本書(shū)給你,howtoworkwithbootstraps--參考自網(wǎng)。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合墻,帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí))
采集自動(dòng)組合墻,基于redhat源代碼,30行代碼搞定,并且帶10個(gè)超級管理員,限制每天不超過(guò)2小時(shí)。關(guān)注下這個(gè):redhatreleasenight/ymca·github,歡迎fork,
看你的組合墻的用途。如果只是加個(gè)模擬碼,用python就夠了。如果是一鍵連線(xiàn),用python連到mysql就行。但是因為你的組合墻一般是處理整個(gè)靜態(tài)網(wǎng)頁(yè)文件的,所以建議走lua。如果是一些動(dòng)態(tài)接口。那么連接mysql的時(shí)候走redis就行。
可以使用可以組合墻的框架(兼容redhat,性能也不錯):redblit-redhat-golang-multibox-redis。直接ctrl+c可以退出模擬連接。沒(méi)辦法可以幫到你了。
貌似實(shí)現最多就是加三個(gè)mysql可以連的網(wǎng)絡(luò )接口,通過(guò)這三個(gè)接口用純python處理靜態(tài)網(wǎng)頁(yè),這樣就可以裝多個(gè)redis然后開(kāi)10個(gè)服務(wù)就能組合出來(lái)。
自己寫(xiě)!opera的radva
用mysql連,我一個(gè)方案是寫(xiě)了多個(gè)中間層。先用各種包封裝成模塊,例如通過(guò)func連接分頁(yè)器listlist這個(gè)接口??梢赃B的多,又很快。如果做后端開(kāi)發(fā)的話(huà)??梢钥紤]fastq,它是把各種模塊封裝成一個(gè)sql然后用mysql/mssql連。這個(gè)效率肯定比mysql/mssql高,但是肯定不是to-db這種云服務(wù)的innodb。
===如果不用mysql,而是說(shuō)數據庫連接管理,請參考modbus接口。不過(guò)由于你沒(méi)說(shuō)明你具體的項目,后端開(kāi)發(fā)也沒(méi)有那么復雜。既然用mysql了,后端開(kāi)發(fā)工作量肯定小不了,只有一個(gè)就是redis了。安裝配置調整權限什么的,有時(shí)間肯定可以搞定。學(xué)業(yè)余做個(gè)網(wǎng)站,不需要很復雜,可以把需要的功能組合起來(lái),好多網(wǎng)站實(shí)現起來(lái)都簡(jiǎn)單的很,主要還是看業(yè)務(wù)。-推薦一本書(shū)給你,howtoworkwithbootstraps--參考自網(wǎng)。
采集自動(dòng)組合(型號:自動(dòng)發(fā)布軟件(組圖)!)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 92 次瀏覽 ? 2021-12-24 19:16
型號:自動(dòng)發(fā)布軟件規模:B2B采購發(fā)布軟件規格:主要平臺發(fā)布軟件**:創(chuàng )新
B2B自動(dòng)發(fā)帖的主要功能:代替手動(dòng)發(fā)帖信息,建站,適用于任何行業(yè),自動(dòng)發(fā)信息是一個(gè)工具,不僅可以節省你的時(shí)間,還可以為你節省很多**,只要你能在這個(gè)平臺上用鼠標和鍵盤(pán)回車(chē),那么我們的就可以實(shí)現了。售后服務(wù):產(chǎn)品推廣,只要你能站得住,沒(méi)時(shí)間每天注冊、發(fā)布、刷新信息,就選擇我們
發(fā)布產(chǎn)品信息可以節省時(shí)間和人力。自動(dòng)發(fā)布信息軟件 信息發(fā)布軟件 自動(dòng)發(fā)布信息軟件 發(fā)布軟件 信息發(fā)布軟件發(fā)布文章軟件
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后再導入配置加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺** URL地址,拍下您要發(fā)送的產(chǎn)品圖片。
3、 本地電腦手動(dòng)批量導入圖片。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合。常用的格式是物聯(lián)網(wǎng)產(chǎn)品信息成本自動(dòng)過(guò)賬助手。通過(guò)各種自定義組合,您可以生成千變萬(wàn)化的不同標題。發(fā)布文章軟件
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
案件:
5個(gè)新模板!獲得 5 種不同的產(chǎn)品介紹,循環(huán)發(fā)布以改進(jìn) 收錄!
zz91重生網(wǎng)絡(luò )助手發(fā)布軟件,環(huán)保在線(xiàn)助手發(fā)布軟件,東商網(wǎng)絡(luò )助手發(fā)布軟件。儀器網(wǎng)絡(luò )助手軟件發(fā)布,啟輝網(wǎng)絡(luò )助手發(fā)布軟件,云商網(wǎng)絡(luò )助手發(fā)布軟件。萬(wàn)國商務(wù)網(wǎng)助手發(fā)布軟件,商國互聯(lián)助手發(fā)布軟件,艾特貿易網(wǎng)助手發(fā)布軟件。要知道,網(wǎng)助手發(fā)布軟件,麥網(wǎng)助手發(fā)布軟件,達納網(wǎng)助手發(fā)布軟件。
問(wèn):軟件包升級了嗎?如果我們無(wú)法發(fā)送怎么辦?答:我們有專(zhuān)門(mén)的售后團隊。如果無(wú)法發(fā)送,則表示他們的平臺已升級。這時(shí)候我們的軟件會(huì )馬上升級,我們會(huì )及時(shí)更新。新的會(huì )傳給你,或者你點(diǎn)擊會(huì )自動(dòng)升級 查看全部
采集自動(dòng)組合(型號:自動(dòng)發(fā)布軟件(組圖)!)
型號:自動(dòng)發(fā)布軟件規模:B2B采購發(fā)布軟件規格:主要平臺發(fā)布軟件**:創(chuàng )新
B2B自動(dòng)發(fā)帖的主要功能:代替手動(dòng)發(fā)帖信息,建站,適用于任何行業(yè),自動(dòng)發(fā)信息是一個(gè)工具,不僅可以節省你的時(shí)間,還可以為你節省很多**,只要你能在這個(gè)平臺上用鼠標和鍵盤(pán)回車(chē),那么我們的就可以實(shí)現了。售后服務(wù):產(chǎn)品推廣,只要你能站得住,沒(méi)時(shí)間每天注冊、發(fā)布、刷新信息,就選擇我們
發(fā)布產(chǎn)品信息可以節省時(shí)間和人力。自動(dòng)發(fā)布信息軟件 信息發(fā)布軟件 自動(dòng)發(fā)布信息軟件 發(fā)布軟件 信息發(fā)布軟件發(fā)布文章軟件
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后再導入配置加載之前的設置,省時(shí)省事。

三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺** URL地址,拍下您要發(fā)送的產(chǎn)品圖片。
3、 本地電腦手動(dòng)批量導入圖片。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合。常用的格式是物聯(lián)網(wǎng)產(chǎn)品信息成本自動(dòng)過(guò)賬助手。通過(guò)各種自定義組合,您可以生成千變萬(wàn)化的不同標題。發(fā)布文章軟件

四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
案件:
5個(gè)新模板!獲得 5 種不同的產(chǎn)品介紹,循環(huán)發(fā)布以改進(jìn) 收錄!

zz91重生網(wǎng)絡(luò )助手發(fā)布軟件,環(huán)保在線(xiàn)助手發(fā)布軟件,東商網(wǎng)絡(luò )助手發(fā)布軟件。儀器網(wǎng)絡(luò )助手軟件發(fā)布,啟輝網(wǎng)絡(luò )助手發(fā)布軟件,云商網(wǎng)絡(luò )助手發(fā)布軟件。萬(wàn)國商務(wù)網(wǎng)助手發(fā)布軟件,商國互聯(lián)助手發(fā)布軟件,艾特貿易網(wǎng)助手發(fā)布軟件。要知道,網(wǎng)助手發(fā)布軟件,麥網(wǎng)助手發(fā)布軟件,達納網(wǎng)助手發(fā)布軟件。
問(wèn):軟件包升級了嗎?如果我們無(wú)法發(fā)送怎么辦?答:我們有專(zhuān)門(mén)的售后團隊。如果無(wú)法發(fā)送,則表示他們的平臺已升級。這時(shí)候我們的軟件會(huì )馬上升級,我們會(huì )及時(shí)更新。新的會(huì )傳給你,或者你點(diǎn)擊會(huì )自動(dòng)升級
采集自動(dòng)組合(vucf自動(dòng)發(fā)帖軟件別讓發(fā)帖占用你的時(shí)間(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 149 次瀏覽 ? 2021-12-22 13:17
搜索好貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)vucf
自動(dòng)發(fā)帖軟件,不要讓發(fā)帖占用你的時(shí)間
愛(ài)出版-企業(yè)信息助手:分類(lèi)信息臺、B2B臺的通用信息發(fā)布軟件。不僅取代人工軟件,實(shí)現自動(dòng)發(fā)布,還可以自動(dòng)切換標題、內容、圖片等。
軟件支持自動(dòng)隨機生成標題,自動(dòng)發(fā)布軟件自動(dòng)插入國家城市名稱(chēng)和任意詞尾,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,如只要你發(fā)帖,秒收!自動(dòng)發(fā)布軟件軟件可以從已設置的不同內容中隨機選擇一個(gè)內容
搜貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)
軟文 批量發(fā)布到各大博客。節省時(shí)間、精力和金錢(qián)。支持自動(dòng)隨機生成標題,自動(dòng)城市名和任意結尾詞,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,只要你發(fā)到站里,您將在幾秒鐘內收到它!您可以在已設置的不同內容中隨機選擇一個(gè)內容??蓪?shí)現大規模B2B網(wǎng)站;包括門(mén)戶(hù)博客和大型、文章投遞、分類(lèi)信息、貼吧問(wèn)吧、維基百科、相冊、新聞評論。自動(dòng)注冊各種中小博客等高價(jià)值高權重網(wǎng)站,自動(dòng)發(fā)布文章信息??梢栽O置固定數量的網(wǎng)站 發(fā)帖然后再跳轉到另一個(gè)網(wǎng)站繼續發(fā)帖,還可以添加無(wú)數的自動(dòng)切換??梢栽O置完成任務(wù)后自動(dòng)關(guān)機,可以在沒(méi)有工作人員在場(chǎng)的情況下讓電腦在夜間自動(dòng)發(fā)布,并且可以根據自己的網(wǎng)絡(luò )設置發(fā)布速度。自動(dòng)海報6,收錄多項智能功能,如:一鍵采集關(guān)鍵詞,一鍵采集圖片,自動(dòng)生成標題,自動(dòng)生成內容,隨機智能選擇各種單詞,等不用擔心我們的軟件已經(jīng)為您定制了圖像處理功能。用戶(hù)可以輕松壓縮圖像的大小和大小。此外,軟件內置的文字轉圖片功能,可以大大減少產(chǎn)品廣告重復造成的內容重復問(wèn)題。敏感詞批量替換。從2016年到現在,文化部和文化化工部嚴厲打擊。
一鍵重新發(fā)送所有同步信息,非常省事。@軟件優(yōu)勢:可視化內容編輯器在信息時(shí)代,并不是所有人都知道專(zhuān)業(yè)的HTML代碼。我們的 B2B 消息傳遞助手使用可視化 html 編輯器。用戶(hù)無(wú)需理解html代碼,編輯內容可見(jiàn)??梢噪S意加粗、換行、添加圖片、更改字體顏色大小等操作??梢杂檬髽瞬僮鬈浖l(fā)送信息。您可以使用多個(gè)內容模板來(lái)調用一個(gè)好的公司產(chǎn)品廣告。不可能是一樣的。搜索引擎只喜歡高度變化的內容。使用軟件可以增加百度收錄,增加曝光度,達到主動(dòng)營(yíng)銷(xiāo)的效果,最終促成交易!用戶(hù)可以創(chuàng )建多種內容模板進(jìn)行通話(huà),用戶(hù)可以根據不同的產(chǎn)品設置不同的軟文文章來(lái)增加訪(fǎng)問(wèn)量。驗證碼是自動(dòng)識別的。許多站點(diǎn)需要驗證碼才能發(fā)送消息。不用擔心,我們會(huì )在軟件中加入自動(dòng)識別驗證碼的功能,以提高本次信息化的發(fā)布效率。
ipublished B2B助手功能介紹:
一、定時(shí)發(fā)送功能
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果您有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后導入配置即可加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺獲取URL地址,并拍攝您要發(fā)送的產(chǎn)品圖片。
3、 在本地電腦上手動(dòng)批量導入圖片。
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合,常用格式為{字符1} {字符2} {字符3},通過(guò)各種自定義組合,可以產(chǎn)生千變萬(wàn)化的不同標題。
六、自動(dòng)插入偽原創(chuàng )功能
為了保證每次發(fā)布的內容不重復,有兩種格式可供選擇。
世界繼續發(fā)展,美國局勢繼續惡化。持續的價(jià)差將有助于提振黃金需求。Worldometers實(shí)時(shí)統計經(jīng)濟數據顯示,全球累計確診肺炎病例已超過(guò)6130萬(wàn)例,累計病例數已超過(guò)143.70,000例。美國累計確診肺炎病例超過(guò)1324萬(wàn),累計病例數超過(guò)9萬(wàn)。據《美國大西洋月刊》公布的經(jīng)濟數據顯示,美國醫院的肺炎患者達到9萬(wàn)人,創(chuàng )下疫情爆發(fā)以來(lái)的新高。信息。美國累計確診病例超過(guò)1324萬(wàn),人數超過(guò)2< @6.90,000。美國單日病例超過(guò)1200例。當地時(shí)間11月26日,美國方面表示最早將于下周開(kāi)始發(fā)貨。這一聲明是在與駐扎在美國境外的軍隊進(jìn)行視頻交流時(shí)作出的。指出,奮戰在前線(xiàn)的人員、醫務(wù)人員和老人將優(yōu)先接種。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。
全球累計確診肺炎病例超過(guò)6354萬(wàn),達到病例;累計病例數超過(guò)147.30,000,達到病例。美國肺炎累計確診病例突破1390萬(wàn),單日累計達14萬(wàn)多例;累計病例數超過(guò)27.40000例,累計達到1000多例。美國大西洋月刊公布的經(jīng)濟數據顯示,美國住院肺炎患者達93265人,創(chuàng )疫情以來(lái)新高。當地時(shí)間11月30日,世界衛生組織(WHO)肺炎例行公事。世衛組織總干事譚德塞表示,疾病追蹤專(zhuān)家組成員名單已經(jīng)公布,其中包括來(lái)自英國、美國等國家的專(zhuān)家。世衛組織的立場(chǎng)一直很明確。研究應該以科學(xué)為基礎。世衛組織將盡一切可能了解疾病的來(lái)源。并呼吁大家在這個(gè)問(wèn)題上進(jìn)行合作。11月30日,根據國內經(jīng)濟數據。
受對美國庫存增加和需求增長(cháng)下降的擔憂(yōu)影響,自 1 月 14 日起設定收盤(pán)價(jià)。該機構報告稱(chēng),一群德國經(jīng)濟和企業(yè)家本周向德國提出了針對該貨幣的投訴。這將導致德德之間的矛盾加深。傳入的貨幣受到德國的批評。德國不斷抱怨低利率損害了德國的養老金,這可能會(huì )激發(fā)對右翼情緒的支持。據德國Weltam Sonntag媒體報道,上訴的主要目的是確定擴大購債規模和擴大QE范圍的計劃是否越權。提出投訴的經(jīng)濟學(xué)和企業(yè)家表示,該貨幣對德國資產(chǎn)的財務(wù)狀況構成了無(wú)法估量的威脅,也對德國納稅人構成了威脅。這只是達到 2% 貨幣目標的掩護。該上訴是由 Markus Kerber 發(fā)起的。Markus Kerber 是一名律師和公共財政。他說(shuō),目前的貨幣是沒(méi)有必要的。
nu8lg1za 查看全部
采集自動(dòng)組合(vucf自動(dòng)發(fā)帖軟件別讓發(fā)帖占用你的時(shí)間(圖))
搜索好貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)vucf
自動(dòng)發(fā)帖軟件,不要讓發(fā)帖占用你的時(shí)間
愛(ài)出版-企業(yè)信息助手:分類(lèi)信息臺、B2B臺的通用信息發(fā)布軟件。不僅取代人工軟件,實(shí)現自動(dòng)發(fā)布,還可以自動(dòng)切換標題、內容、圖片等。
軟件支持自動(dòng)隨機生成標題,自動(dòng)發(fā)布軟件自動(dòng)插入國家城市名稱(chēng)和任意詞尾,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,如只要你發(fā)帖,秒收!自動(dòng)發(fā)布軟件軟件可以從已設置的不同內容中隨機選擇一個(gè)內容
搜貨自動(dòng)發(fā)布信息腳本(操作簡(jiǎn)單)

軟文 批量發(fā)布到各大博客。節省時(shí)間、精力和金錢(qián)。支持自動(dòng)隨機生成標題,自動(dòng)城市名和任意結尾詞,標題對應的內容,自動(dòng)上傳圖片,無(wú)數的句子可以組合成不同的原創(chuàng )內容,只要你發(fā)到站里,您將在幾秒鐘內收到它!您可以在已設置的不同內容中隨機選擇一個(gè)內容??蓪?shí)現大規模B2B網(wǎng)站;包括門(mén)戶(hù)博客和大型、文章投遞、分類(lèi)信息、貼吧問(wèn)吧、維基百科、相冊、新聞評論。自動(dòng)注冊各種中小博客等高價(jià)值高權重網(wǎng)站,自動(dòng)發(fā)布文章信息??梢栽O置固定數量的網(wǎng)站 發(fā)帖然后再跳轉到另一個(gè)網(wǎng)站繼續發(fā)帖,還可以添加無(wú)數的自動(dòng)切換??梢栽O置完成任務(wù)后自動(dòng)關(guān)機,可以在沒(méi)有工作人員在場(chǎng)的情況下讓電腦在夜間自動(dòng)發(fā)布,并且可以根據自己的網(wǎng)絡(luò )設置發(fā)布速度。自動(dòng)海報6,收錄多項智能功能,如:一鍵采集關(guān)鍵詞,一鍵采集圖片,自動(dòng)生成標題,自動(dòng)生成內容,隨機智能選擇各種單詞,等不用擔心我們的軟件已經(jīng)為您定制了圖像處理功能。用戶(hù)可以輕松壓縮圖像的大小和大小。此外,軟件內置的文字轉圖片功能,可以大大減少產(chǎn)品廣告重復造成的內容重復問(wèn)題。敏感詞批量替換。從2016年到現在,文化部和文化化工部嚴厲打擊。
一鍵重新發(fā)送所有同步信息,非常省事。@軟件優(yōu)勢:可視化內容編輯器在信息時(shí)代,并不是所有人都知道專(zhuān)業(yè)的HTML代碼。我們的 B2B 消息傳遞助手使用可視化 html 編輯器。用戶(hù)無(wú)需理解html代碼,編輯內容可見(jiàn)??梢噪S意加粗、換行、添加圖片、更改字體顏色大小等操作??梢杂檬髽瞬僮鬈浖l(fā)送信息。您可以使用多個(gè)內容模板來(lái)調用一個(gè)好的公司產(chǎn)品廣告。不可能是一樣的。搜索引擎只喜歡高度變化的內容。使用軟件可以增加百度收錄,增加曝光度,達到主動(dòng)營(yíng)銷(xiāo)的效果,最終促成交易!用戶(hù)可以創(chuàng )建多種內容模板進(jìn)行通話(huà),用戶(hù)可以根據不同的產(chǎn)品設置不同的軟文文章來(lái)增加訪(fǎng)問(wèn)量。驗證碼是自動(dòng)識別的。許多站點(diǎn)需要驗證碼才能發(fā)送消息。不用擔心,我們會(huì )在軟件中加入自動(dòng)識別驗證碼的功能,以提高本次信息化的發(fā)布效率。
ipublished B2B助手功能介紹:
一、定時(shí)發(fā)送功能
軟件發(fā)布信息沒(méi)有定時(shí)間隔,可以隨意調整間隔,使每?jì)蓷l信息間隔不規則,定時(shí)關(guān)機功能(一般適合晚上發(fā)布信息的朋友,釋放后會(huì )自動(dòng)關(guān)閉)。
二、保存配置功能
如果您有多個(gè)產(chǎn)品需要單獨發(fā)布,可以單獨保存產(chǎn)品功能的配置。您只需要配置一次。保存配置后,稍后導入配置即可加載之前的設置,省時(shí)省事。
三、自動(dòng)設置商品圖片功能
有3種選擇圖片的方法:
1、同步采集網(wǎng)站圖片。如果您在網(wǎng)站后臺上傳圖片,點(diǎn)擊“采集相冊”,可以自動(dòng)將采集圖片發(fā)送到本地。
2、您的網(wǎng)站后臺獲取URL地址,并拍攝您要發(fā)送的產(chǎn)品圖片。
3、 在本地電腦上手動(dòng)批量導入圖片。
四、強大的內容編輯器
軟件內置文本編輯器,自動(dòng)識別網(wǎng)站的內容提交格式是純文本還是html文本。html文本可以隨時(shí)在軟件內部可視化編輯,就像在網(wǎng)站后臺操作一樣。
五、自動(dòng)合成標題功能
想不出很多標題?軟件內置批量合成標題功能,可自動(dòng)批量合成數千個(gè)獨特的標題。根據您的需要,配置標題模板以生成它。
標題可以任意組合,常用格式為{字符1} {字符2} {字符3},通過(guò)各種自定義組合,可以產(chǎn)生千變萬(wàn)化的不同標題。
六、自動(dòng)插入偽原創(chuàng )功能
為了保證每次發(fā)布的內容不重復,有兩種格式可供選擇。

世界繼續發(fā)展,美國局勢繼續惡化。持續的價(jià)差將有助于提振黃金需求。Worldometers實(shí)時(shí)統計經(jīng)濟數據顯示,全球累計確診肺炎病例已超過(guò)6130萬(wàn)例,累計病例數已超過(guò)143.70,000例。美國累計確診肺炎病例超過(guò)1324萬(wàn),累計病例數超過(guò)9萬(wàn)。據《美國大西洋月刊》公布的經(jīng)濟數據顯示,美國醫院的肺炎患者達到9萬(wàn)人,創(chuàng )下疫情爆發(fā)以來(lái)的新高。信息。美國累計確診病例超過(guò)1324萬(wàn),人數超過(guò)2< @6.90,000。美國單日病例超過(guò)1200例。當地時(shí)間11月26日,美國方面表示最早將于下周開(kāi)始發(fā)貨。這一聲明是在與駐扎在美國境外的軍隊進(jìn)行視頻交流時(shí)作出的。指出,奮戰在前線(xiàn)的人員、醫務(wù)人員和老人將優(yōu)先接種。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。奮戰在前線(xiàn)的醫護人員和老人,會(huì )先接種疫苗。沒(méi)有人會(huì )先被送到美國。英國工業(yè)巨頭阿斯利康。
全球累計確診肺炎病例超過(guò)6354萬(wàn),達到病例;累計病例數超過(guò)147.30,000,達到病例。美國肺炎累計確診病例突破1390萬(wàn),單日累計達14萬(wàn)多例;累計病例數超過(guò)27.40000例,累計達到1000多例。美國大西洋月刊公布的經(jīng)濟數據顯示,美國住院肺炎患者達93265人,創(chuàng )疫情以來(lái)新高。當地時(shí)間11月30日,世界衛生組織(WHO)肺炎例行公事。世衛組織總干事譚德塞表示,疾病追蹤專(zhuān)家組成員名單已經(jīng)公布,其中包括來(lái)自英國、美國等國家的專(zhuān)家。世衛組織的立場(chǎng)一直很明確。研究應該以科學(xué)為基礎。世衛組織將盡一切可能了解疾病的來(lái)源。并呼吁大家在這個(gè)問(wèn)題上進(jìn)行合作。11月30日,根據國內經(jīng)濟數據。
受對美國庫存增加和需求增長(cháng)下降的擔憂(yōu)影響,自 1 月 14 日起設定收盤(pán)價(jià)。該機構報告稱(chēng),一群德國經(jīng)濟和企業(yè)家本周向德國提出了針對該貨幣的投訴。這將導致德德之間的矛盾加深。傳入的貨幣受到德國的批評。德國不斷抱怨低利率損害了德國的養老金,這可能會(huì )激發(fā)對右翼情緒的支持。據德國Weltam Sonntag媒體報道,上訴的主要目的是確定擴大購債規模和擴大QE范圍的計劃是否越權。提出投訴的經(jīng)濟學(xué)和企業(yè)家表示,該貨幣對德國資產(chǎn)的財務(wù)狀況構成了無(wú)法估量的威脅,也對德國納稅人構成了威脅。這只是達到 2% 貨幣目標的掩護。該上訴是由 Markus Kerber 發(fā)起的。Markus Kerber 是一名律師和公共財政。他說(shuō),目前的貨幣是沒(méi)有必要的。
nu8lg1za
采集自動(dòng)組合(軟件特色優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-12-18 06:09
優(yōu)采云瀏覽器(數據庫采集器)是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)。下載文件、操作數據庫、發(fā)送和接收電子郵件等。
編程語(yǔ)言
優(yōu)采云瀏覽器的編程語(yǔ)言是C#。C#結合了VB簡(jiǎn)單的可視化操作和C++的高運行效率。它提高了開(kāi)發(fā)效率,也努力消除了可能導致嚴重結果的編程錯誤。憑借其強大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng )新的語(yǔ)言特性以及便捷的面向組件的編程支持,已成為軟件開(kāi)發(fā)的首選語(yǔ)言。
需要安裝.net 4.5:
軟件特點(diǎn)
優(yōu)采云Browser 是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件。等等。也可以使用邏輯運算來(lái)完成判斷、循環(huán)、跳轉等操作。所有功能完全自由組合,您可以編寫(xiě)強大而獨特的腳本來(lái)輔助我們的工作,也可以生成單獨的EXE程序出售
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。還可以制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)
特征
可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等都很簡(jiǎn)單。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
定制流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。 查看全部
采集自動(dòng)組合(軟件特色優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具(圖))
優(yōu)采云瀏覽器(數據庫采集器)是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)。下載文件、操作數據庫、發(fā)送和接收電子郵件等。
編程語(yǔ)言
優(yōu)采云瀏覽器的編程語(yǔ)言是C#。C#結合了VB簡(jiǎn)單的可視化操作和C++的高運行效率。它提高了開(kāi)發(fā)效率,也努力消除了可能導致嚴重結果的編程錯誤。憑借其強大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng )新的語(yǔ)言特性以及便捷的面向組件的編程支持,已成為軟件開(kāi)發(fā)的首選語(yǔ)言。
需要安裝.net 4.5:
軟件特點(diǎn)
優(yōu)采云Browser 是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件。等等。也可以使用邏輯運算來(lái)完成判斷、循環(huán)、跳轉等操作。所有功能完全自由組合,您可以編寫(xiě)強大而獨特的腳本來(lái)輔助我們的工作,也可以生成單獨的EXE程序出售
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。還可以制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)

特征
可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等都很簡(jiǎn)單。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
定制流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。
采集自動(dòng)組合(阿里云日志服務(wù)日志采集方式對比方式)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 161 次瀏覽 ? 2021-12-13 03:27
總結: DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn)。目前還沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
Kubernetes(K8S)作為CNCF(云原生計算基金會(huì ))的核心項目,得到了Google和Redhat強大社區的支持。近兩年發(fā)展迅速。在成為容器編排領(lǐng)域的佼佼者的同時(shí),也在向PAAS基地邁進(jìn)。標準配置的開(kāi)發(fā)。
記錄 采集 方法
日志是任何系統不可或缺的一部分。K8S官方文檔還介紹了多種日志采集形式。綜上所述,主要有以下三種:native模式、DaemonSet模式和Sidecar模式。
Native方法:使用kubectl logs直接查看本地保留的日志,或者通過(guò)docker引擎日志驅動(dòng)將日志重定向到files、syslog、fluentd等系統。DaemonSet方法:在K8S的每個(gè)節點(diǎn)上部署日志代理,從代理采集的所有容器的日志到服務(wù)器。Sidecar方式:在POD中運行一個(gè)sidecar日志代理容器,用于采集POD主容器生成的日志。
采集方法比較
每個(gè) 采集 方法都有一定的優(yōu)點(diǎn)和缺點(diǎn)。下面我們做一個(gè)簡(jiǎn)單的對比:
從上表可以看出:
native方法比較弱,一般不建議在生產(chǎn)系統中使用。否則很難完成問(wèn)題排查和數據統計。DaemonSet 方法在每個(gè)節點(diǎn)上只允許一個(gè)日志代理,在資源消耗方面要小得多,但具有可擴展性。,租戶(hù)隔離受限,更適合功能單一或業(yè)務(wù)不多的集群;Sidecar方式是為每個(gè)POD單獨部署日志代理,占用資源較多,但靈活性和多租戶(hù)隔離性強。推薦大型的。K8S集群或服務(wù)多個(gè)業(yè)務(wù)方的集群作為PAAS平臺使用這種方式。日志服務(wù)K8S采集方法
DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn),目前沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
這兩種模式都是基于Logtail實(shí)現的。日志服務(wù)客戶(hù)端Logtail已部署百萬(wàn)級。它每天有采集數萬(wàn)個(gè)應用程序和數PB的數據,并經(jīng)歷了多次雙11、雙12測試。. 相關(guān)技術(shù)分享請參考文章:多租戶(hù)隔離技術(shù)+雙十一實(shí)戰效果,Polling+Inotify組合下的日志保存方案采集。
DaemonS優(yōu)采云采集器 方法
Logtail 在 DaemonSet 模式下做了很多適配工作,包括:
詳細介紹文章,請參考:
再次升級!阿里云Kubernetes日志解決方案
LC3視角:Kubernetes下的日志采集,存儲處理技術(shù)實(shí)踐
Sidecar采集 方法
sidecar模式的配置和使用在虛擬機/物理機上比較少。從Logtail容器的角度來(lái)看:Logtail工作在一個(gè)“虛擬機”上,需要采集在這臺機器上。一個(gè)/一些日志文件。
但是容器場(chǎng)景有兩個(gè)問(wèn)題需要解決:
配置:使用編排配置代理容器動(dòng)態(tài):需要適應POD的IP地址和主機名的變化
目前Logtail的容器支持通過(guò)環(huán)境變量配置相關(guān)參數,支持自定義標識的機器組工作,可以完美解決以上兩個(gè)問(wèn)題。Sidecar 配置示例
sidecar模式下日志組件的安裝和配置方法如下:
第一步:部署Logtail容器。部署POD時(shí),將日志路徑掛載到本地,并將對應的卷掛載到Logtail容器中。Logtail容器需要配置ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_DEFINED_ID。參數含義及取值參見(jiàn):標準Docker日志采集。
尖端:
建議為L(cháng)ogtail容器配置健康檢查,以便在運行環(huán)境或內核異常時(shí)自動(dòng)恢復。示例中使用的Logtail鏡像訪(fǎng)問(wèn)阿里云杭州公網(wǎng)鏡像倉庫??梢愿鶕枰鼡Q成本區域的鏡像,使用內網(wǎng)方式。
apiVersion: batch/v1
kind: Job
metadata:
name: nginx-log-sidecar-demo
namespace: kube-system
spec:
template:
metadata:
name: nginx-log-sidecar-demo
spec:
# volumes配置
volumes:
- name: nginx-log
emptyDir: {}
containers:
# 主容器配置
- name: nginx-log-demo
image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
command: ["/bin/mock_log"]
args: ["--log-type=nginx", "--stdout=false", "--stderr=true", "--path=/var/log/nginx/access.log", "--total-count=1000000000", "--logs-per-sec=100"]
volumeMounts:
- name: nginx-log
mountPath: /var/log/ngin
# Logtail的Sidecar容器配置
- name: logtail
image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latest
env:
# aliuid
- name: "ALIYUN_LOGTAIL_USER_ID"
value: "165421******3050"
# 自定義標識機器組配置
- name: "ALIYUN_LOGTAIL_USER_DEFINED_ID"
value: "nginx-log-sidecar"
# 啟動(dòng)配置(用于選擇Logtail所在Region)
- name: "ALIYUN_LOGTAIL_CONFIG"
value: "/etc/ilogtail/conf/cn-hangzhou/ilogtail_config.json"
# 和主容器共享volume
volumeMounts:
- name: nginx-log
mountPath: /var/log/nginx
# 健康檢查
livenessProbe:
exec:
command:
- /etc/init.d/ilogtaild
- status
initialDelaySeconds: 30
periodSeconds: 30
第二步:配置機器組
如下圖,在日志服務(wù)控制臺中創(chuàng )建了一個(gè)Logtail機器組,機器組選擇自定義ID動(dòng)態(tài)適應POD ip地址的變化。具體步驟如下:
打開(kāi)日志服務(wù),創(chuàng )建Project和Logstore。詳細步驟請參考準備過(guò)程。在日志服務(wù)控制臺的機器組列表頁(yè)面,單擊創(chuàng )建機器組。選擇自定義標識,在自定義標識內容框中填寫(xiě)上一步配置的ALIYUN_LOGTAIL_USER_DEFINED_ID。
第三步:配置采集方法
機器組創(chuàng )建完成后,可以配置相應文件的采集配置。目前支持minimal、Nginx訪(fǎng)問(wèn)日志、分隔符日志、JSON日志、常規日志等多種格式。具體請參考:文本日志配置方法。本例中的配置如下:
第四步:查詢(xún)日志
采集配置完成并應用到機器組后,1分鐘內可以上傳采集日志,進(jìn)入采集的日志進(jìn)入查詢(xún)頁(yè)面可以找到采集對應的日志庫。
進(jìn)階日志
阿里云日志服務(wù)提供了完整的日志解決方案。登錄 采集 只是第一步。以下相關(guān)功能是高級日志的必備品:
日志上下文查詢(xún): 快速查詢(xún): 實(shí)時(shí)分析: 快速分析: 根據日志設置警報: 配置行情:
更多高級日志內容請參考:日志服務(wù)學(xué)習路徑。 查看全部
采集自動(dòng)組合(阿里云日志服務(wù)日志采集方式對比方式)
總結: DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn)。目前還沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
Kubernetes(K8S)作為CNCF(云原生計算基金會(huì ))的核心項目,得到了Google和Redhat強大社區的支持。近兩年發(fā)展迅速。在成為容器編排領(lǐng)域的佼佼者的同時(shí),也在向PAAS基地邁進(jìn)。標準配置的開(kāi)發(fā)。
記錄 采集 方法
日志是任何系統不可或缺的一部分。K8S官方文檔還介紹了多種日志采集形式。綜上所述,主要有以下三種:native模式、DaemonSet模式和Sidecar模式。
Native方法:使用kubectl logs直接查看本地保留的日志,或者通過(guò)docker引擎日志驅動(dòng)將日志重定向到files、syslog、fluentd等系統。DaemonSet方法:在K8S的每個(gè)節點(diǎn)上部署日志代理,從代理采集的所有容器的日志到服務(wù)器。Sidecar方式:在POD中運行一個(gè)sidecar日志代理容器,用于采集POD主容器生成的日志。
采集方法比較
每個(gè) 采集 方法都有一定的優(yōu)點(diǎn)和缺點(diǎn)。下面我們做一個(gè)簡(jiǎn)單的對比:
從上表可以看出:
native方法比較弱,一般不建議在生產(chǎn)系統中使用。否則很難完成問(wèn)題排查和數據統計。DaemonSet 方法在每個(gè)節點(diǎn)上只允許一個(gè)日志代理,在資源消耗方面要小得多,但具有可擴展性。,租戶(hù)隔離受限,更適合功能單一或業(yè)務(wù)不多的集群;Sidecar方式是為每個(gè)POD單獨部署日志代理,占用資源較多,但靈活性和多租戶(hù)隔離性強。推薦大型的。K8S集群或服務(wù)多個(gè)業(yè)務(wù)方的集群作為PAAS平臺使用這種方式。日志服務(wù)K8S采集方法
DaemonSet 和 Sidecar 模式各有優(yōu)缺點(diǎn),目前沒(méi)有一種方法可以適用于所有場(chǎng)景。因此,我們的阿里云日志服務(wù)同時(shí)支持DaemonSet和Sidecar兩種方式,并對每種方式做了一些額外的改進(jìn),更適合K8S下的動(dòng)態(tài)場(chǎng)景。
這兩種模式都是基于Logtail實(shí)現的。日志服務(wù)客戶(hù)端Logtail已部署百萬(wàn)級。它每天有采集數萬(wàn)個(gè)應用程序和數PB的數據,并經(jīng)歷了多次雙11、雙12測試。. 相關(guān)技術(shù)分享請參考文章:多租戶(hù)隔離技術(shù)+雙十一實(shí)戰效果,Polling+Inotify組合下的日志保存方案采集。
DaemonS優(yōu)采云采集器 方法
Logtail 在 DaemonSet 模式下做了很多適配工作,包括:
詳細介紹文章,請參考:
再次升級!阿里云Kubernetes日志解決方案
LC3視角:Kubernetes下的日志采集,存儲處理技術(shù)實(shí)踐
Sidecar采集 方法
sidecar模式的配置和使用在虛擬機/物理機上比較少。從Logtail容器的角度來(lái)看:Logtail工作在一個(gè)“虛擬機”上,需要采集在這臺機器上。一個(gè)/一些日志文件。
但是容器場(chǎng)景有兩個(gè)問(wèn)題需要解決:
配置:使用編排配置代理容器動(dòng)態(tài):需要適應POD的IP地址和主機名的變化
目前Logtail的容器支持通過(guò)環(huán)境變量配置相關(guān)參數,支持自定義標識的機器組工作,可以完美解決以上兩個(gè)問(wèn)題。Sidecar 配置示例
sidecar模式下日志組件的安裝和配置方法如下:
第一步:部署Logtail容器。部署POD時(shí),將日志路徑掛載到本地,并將對應的卷掛載到Logtail容器中。Logtail容器需要配置ALIYUN_LOGTAIL_USER_ID、ALIYUN_LOGTAIL_CONFIG、ALIYUN_LOGTAIL_USER_DEFINED_ID。參數含義及取值參見(jiàn):標準Docker日志采集。
尖端:
建議為L(cháng)ogtail容器配置健康檢查,以便在運行環(huán)境或內核異常時(shí)自動(dòng)恢復。示例中使用的Logtail鏡像訪(fǎng)問(wèn)阿里云杭州公網(wǎng)鏡像倉庫??梢愿鶕枰鼡Q成本區域的鏡像,使用內網(wǎng)方式。
apiVersion: batch/v1
kind: Job
metadata:
name: nginx-log-sidecar-demo
namespace: kube-system
spec:
template:
metadata:
name: nginx-log-sidecar-demo
spec:
# volumes配置
volumes:
- name: nginx-log
emptyDir: {}
containers:
# 主容器配置
- name: nginx-log-demo
image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
command: ["/bin/mock_log"]
args: ["--log-type=nginx", "--stdout=false", "--stderr=true", "--path=/var/log/nginx/access.log", "--total-count=1000000000", "--logs-per-sec=100"]
volumeMounts:
- name: nginx-log
mountPath: /var/log/ngin
# Logtail的Sidecar容器配置
- name: logtail
image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:latest
env:
# aliuid
- name: "ALIYUN_LOGTAIL_USER_ID"
value: "165421******3050"
# 自定義標識機器組配置
- name: "ALIYUN_LOGTAIL_USER_DEFINED_ID"
value: "nginx-log-sidecar"
# 啟動(dòng)配置(用于選擇Logtail所在Region)
- name: "ALIYUN_LOGTAIL_CONFIG"
value: "/etc/ilogtail/conf/cn-hangzhou/ilogtail_config.json"
# 和主容器共享volume
volumeMounts:
- name: nginx-log
mountPath: /var/log/nginx
# 健康檢查
livenessProbe:
exec:
command:
- /etc/init.d/ilogtaild
- status
initialDelaySeconds: 30
periodSeconds: 30
第二步:配置機器組
如下圖,在日志服務(wù)控制臺中創(chuàng )建了一個(gè)Logtail機器組,機器組選擇自定義ID動(dòng)態(tài)適應POD ip地址的變化。具體步驟如下:
打開(kāi)日志服務(wù),創(chuàng )建Project和Logstore。詳細步驟請參考準備過(guò)程。在日志服務(wù)控制臺的機器組列表頁(yè)面,單擊創(chuàng )建機器組。選擇自定義標識,在自定義標識內容框中填寫(xiě)上一步配置的ALIYUN_LOGTAIL_USER_DEFINED_ID。
第三步:配置采集方法
機器組創(chuàng )建完成后,可以配置相應文件的采集配置。目前支持minimal、Nginx訪(fǎng)問(wèn)日志、分隔符日志、JSON日志、常規日志等多種格式。具體請參考:文本日志配置方法。本例中的配置如下:
第四步:查詢(xún)日志
采集配置完成并應用到機器組后,1分鐘內可以上傳采集日志,進(jìn)入采集的日志進(jìn)入查詢(xún)頁(yè)面可以找到采集對應的日志庫。
進(jìn)階日志
阿里云日志服務(wù)提供了完整的日志解決方案。登錄 采集 只是第一步。以下相關(guān)功能是高級日志的必備品:
日志上下文查詢(xún): 快速查詢(xún): 實(shí)時(shí)分析: 快速分析: 根據日志設置警報: 配置行情:
更多高級日志內容請參考:日志服務(wù)學(xué)習路徑。
采集自動(dòng)組合(捕捉用戶(hù)數據,管理數據——埋點(diǎn)是一種客戶(hù)端行為采集方式 )
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 146 次瀏覽 ? 2021-12-13 03:24
)
2018-12-0115:56:22
埋點(diǎn)是一種用于分析用戶(hù)行為的數據分析工具。捕獲用戶(hù)數據并管理數據。嵌入是客戶(hù)端行為的一種方式采集。
分為代碼埋點(diǎn)、全埋點(diǎn)、視覺(jué)埋點(diǎn)。
我為什么要把它埋起來(lái)?
互聯(lián)網(wǎng)應用(網(wǎng)站,APP)在開(kāi)發(fā)過(guò)程中往往不專(zhuān)門(mén)記錄用戶(hù)身份和行為數據,也不收錄專(zhuān)業(yè)的數據分析功能。但有時(shí)為了分析用戶(hù)產(chǎn)生某些動(dòng)作或不產(chǎn)生某些動(dòng)作的深層原因,需要詳細的用戶(hù)數據進(jìn)行分析。這時(shí)候就需要使用專(zhuān)業(yè)的用戶(hù)分析工具和埋點(diǎn)。
數據采集??是任何數據平臺的初始動(dòng)作。對于互聯(lián)網(wǎng)應用來(lái)說(shuō),用戶(hù)行為的捕捉和獲取是重中之重。如果沒(méi)有準確全面的用戶(hù)身份和行為數據作為輸入,在后續分析中獲得準確洞察的可能性存在不確定性,閉環(huán)營(yíng)銷(xiāo)也會(huì )缺乏流程數據的基礎,難度會(huì )更大開(kāi)展精細化經(jīng)營(yíng)。
▌埋點(diǎn)原理
對于基于用戶(hù)行為的數據平臺來(lái)說(shuō),用戶(hù)界面上發(fā)生的、能夠獲取用戶(hù)信息的接觸點(diǎn)是用戶(hù)數據的直接來(lái)源,而建立這些接觸點(diǎn)的方式就是埋點(diǎn)。這些聯(lián)系人獲取用戶(hù)行為和身份數據后,會(huì )通過(guò)網(wǎng)絡(luò )傳輸到服務(wù)器進(jìn)行后續處理。
從準確性的角度來(lái)看,埋點(diǎn)分為客戶(hù)端埋點(diǎn)和服務(wù)器端埋點(diǎn)??蛻?hù)端埋點(diǎn),即在客戶(hù)操作界面,記錄客戶(hù)產(chǎn)生動(dòng)作時(shí)的用戶(hù)行為。這些行為只會(huì )發(fā)生在客戶(hù)端,不會(huì )傳輸到服務(wù)器端;而服務(wù)器端的埋點(diǎn)通常在程序和數據庫的交互界面中進(jìn)行埋點(diǎn)。這時(shí),埋點(diǎn)會(huì )更加準確地記錄數據變化,同時(shí)會(huì )降低由于網(wǎng)絡(luò )傳輸等原因造成的不確定性風(fēng)險。
從分析的角度來(lái)看,數據越準確和全面,就越能達到理想狀態(tài);但在實(shí)際生產(chǎn)過(guò)程中,必須考慮數據采集的可行性等問(wèn)題。因為數據分析工具的最終用戶(hù)可能是企業(yè)內部的各種角色,比如工程師、產(chǎn)品運營(yíng)、營(yíng)銷(xiāo)甚至其他業(yè)務(wù)人員;每個(gè)人都會(huì )在不同的時(shí)間、不同的產(chǎn)品模塊中以不同的規則將自己注入到產(chǎn)品中。關(guān)注采集代碼。按照傳統方法,常見(jiàn)的工作流程如下:
文件以幫助每個(gè)人熟悉此工作流程。
▌傳統埋點(diǎn)的缺點(diǎn)
反復迭代,行為采集和埋點(diǎn)管理這兩個(gè)動(dòng)作構成了這個(gè)工作流的一個(gè)閉環(huán),但是這個(gè)閉環(huán)有幾個(gè)明顯的弊端。因此,它們也被用于實(shí)際工作中。大家都很苦惱的地方:
在實(shí)際工作過(guò)程中,有的公司一方面強調了數據采集的重要性,但另一方面卻還沒(méi)有真正把重點(diǎn)放在這上面。
對于行業(yè)從業(yè)者來(lái)說(shuō),數據的獲取和管理從來(lái)都不是一個(gè)足以達到一定水平的問(wèn)題,但只要數據業(yè)務(wù)還在發(fā)展,他們就必須不斷地迭代自己,探索更好的獲取和管理。路的問(wèn)題。時(shí)至今日,Mixpanel等國外知名廠(chǎng)商仍在努力提供更高效、更準確的埋點(diǎn)方法;國內廠(chǎng)商也有很大的提升空間。
說(shuō)完“埋點(diǎn)”這個(gè)大概念,馬上就會(huì )出現它的細分概念,比如“無(wú)埋點(diǎn)”、“全埋點(diǎn)”、“無(wú)標記埋點(diǎn)”、“未編碼埋點(diǎn)”、“可視化埋點(diǎn)”點(diǎn)”等。等等。從用戶(hù)的角度來(lái)看,如果你還沒(méi)有很好地理解這些概念,將很難整合業(yè)務(wù)數據采集,也無(wú)法選擇適合你的團隊和團隊的埋點(diǎn)方法。商業(yè)...
下面我將整理出所有可能的埋點(diǎn)方式及其名稱(chēng),并簡(jiǎn)要說(shuō)明一下,希望對大家的工作有所幫助。
▌代碼埋點(diǎn):最可控的埋點(diǎn)方式
代碼嵌入是最經(jīng)典的嵌入方法,可以幫助工程師了解用戶(hù)如何使用產(chǎn)品。因為工程師手動(dòng)將埋點(diǎn)集成到代碼邏輯中,理論上只要是客戶(hù)端操作,即使復雜也可以采集可達。常見(jiàn)的包括:頁(yè)面停留時(shí)間、頁(yè)面瀏覽深度、視頻播放時(shí)間、用戶(hù)鼠標軌跡、表單項停留和終止等,尤其是一些非點(diǎn)擊和不可見(jiàn)的行為,需要埋下代碼來(lái)實(shí)現。所以如果我們需要對嵌入點(diǎn)有更精確的控制,那么代碼嵌入點(diǎn)是最好的選擇。
可能你還是分不清融合點(diǎn)和埋點(diǎn)。為了埋點(diǎn),廠(chǎng)商通常會(huì )提供一個(gè)代碼包,可以理解為一個(gè)工具包,里面收錄了常用的工具。如果要埋點(diǎn),首先得有這個(gè)工具包,也就是集成的SDK。然后用這個(gè)工具包按照里面的說(shuō)明制作各種東西,也就是埋點(diǎn)。
當然,缺點(diǎn)也很明顯。上面描述的苦惱幾乎都與代碼埋點(diǎn)有關(guān)。為了使掩埋過(guò)程更加高效,制造商付出了很多努力。
▌買(mǎi)全積分:讓我開(kāi)心,讓我擔心
全埋點(diǎn),國內有的車(chē)隊也稱(chēng)“無(wú)埋點(diǎn)”、“無(wú)痕埋點(diǎn)”、“自動(dòng)埋點(diǎn)”。是對全自動(dòng)埋地方式的探索,從名字上看似乎是一勞永逸的解決方案,接下來(lái)我們來(lái)看看什么是“全埋”。
客戶(hù)端埋點(diǎn)一般分為訪(fǎng)問(wèn)級別、頁(yè)面級別、頁(yè)面內行為級別。當用戶(hù)訪(fǎng)問(wèn)網(wǎng)站或啟動(dòng)移動(dòng)應用時(shí),幾乎所有廠(chǎng)商都會(huì )自動(dòng)采集報告用戶(hù)的訪(fǎng)問(wèn);當用戶(hù)訪(fǎng)問(wèn)不同的頁(yè)面時(shí),有的廠(chǎng)商會(huì )選擇不自動(dòng)采集@默認>,并作為選項提供給用戶(hù);對于用戶(hù)在某個(gè)頁(yè)面的詳細操作行為,只有少數廠(chǎng)商支持自動(dòng)采集上報。實(shí)現了后兩種自動(dòng)采集的廠(chǎng)家通常會(huì )說(shuō),都被埋沒(méi)了。但是,頁(yè)面中行為層面的采集還可以進(jìn)一步探索其采集的范圍。最常見(jiàn)的就是自動(dòng)采集的區別
交互元素包括:鏈接、表單項(如按鈕、輸入框等)、HTML對象級元素等。非交互元素太多了,大部分頁(yè)面元素都屬于這一類(lèi)。其實(shí)大家在網(wǎng)頁(yè)和手機應用中看到的很多界面都不是標準元素,所以實(shí)際上界面上很多看似交互的元素是無(wú)法自動(dòng)上報的采集。這是一個(gè)遺憾。
但是讓我們來(lái)看看優(yōu)點(diǎn)。
首先,全埋點(diǎn)確實(shí)會(huì )自動(dòng)采集很多數據,以后在使用數據的時(shí)候,可以直接從數據庫中查詢(xún)。想看的時(shí)候不會(huì )面對,因為沒(méi)有埋葬點(diǎn)。采集 得不到的情況。這是一種很受分析師歡迎的方法,所以我經(jīng)常聽(tīng)到“如果可以采集,嘗試采集,后續分析總是可以用的?!?其次,埋點(diǎn)是一項比較耗時(shí)的工作,需要業(yè)務(wù)方提供解決方案,埋點(diǎn)工程師,以及測試團隊進(jìn)行測試。但由于實(shí)際工作中埋點(diǎn)較多,每次發(fā)布新功能或新活動(dòng)時(shí),都需要新的埋點(diǎn)。因此,埋點(diǎn)不僅費時(shí),但錯誤率也難以控制。對于全埋點(diǎn),無(wú)論使用與否,都會(huì )首先檢索數據。因為程序是自動(dòng)完成的,業(yè)務(wù)人員要A,工程師埋B的錯誤幾乎不存在。
然而,任何企業(yè)都有其兩個(gè)方面。
首先,所有點(diǎn)的“全部”并不是真正的全部。在基本的計算機瀏覽器和移動(dòng)應用程序中,用戶(hù)對頁(yè)面的常見(jiàn)操作包括鼠標行為、鍵盤(pán)行為和手指行為。例如,常見(jiàn)的鼠標點(diǎn)擊、鼠標滑動(dòng)、屏幕滾動(dòng)、鍵盤(pán)輸入、光標選擇,甚至網(wǎng)頁(yè)上的靜態(tài)。移動(dòng)終端除了有點(diǎn)擊式按壓外,還有多指開(kāi)合、拉動(dòng)、用力按壓。然而,這些操作并不都是“埋點(diǎn)”??梢员宦駴](méi)的通常只有點(diǎn)擊或按下。這顯然還遠遠不夠,我們甚至不能稱(chēng)它們?yōu)槿顸c(diǎn)。
其次,所有埋點(diǎn)的“滿(mǎn)”是以采集上報的數據量為代價(jià)的。隨著(zhù)數據量的增加,客戶(hù)端崩潰的概率也會(huì )增加。尤其是在移動(dòng)端,更多的數據量意味著(zhù)更多的功耗、流量和內存消耗。從這個(gè)角度來(lái)說(shuō),現階段也很難做到真正的“豐滿(mǎn)”。
第三,即使能把所有的行為數據都收回來(lái),具體分析時(shí)的二次整理和處理也不可避免,甚至是痛苦的。因為當 采集 時(shí)機器不能以我們想要的方式有意義地命名所有事件,所以不能保證來(lái)自 采集 的事件是完全正確的。所以前期埋點(diǎn)省下來(lái)的人工費,這次加了。
第四,現階段,全埋點(diǎn)對于用戶(hù)身份信息和行為附加的屬性信息幾乎無(wú)能為力。
那么這個(gè)功能正是我需要的嗎?這其實(shí)是個(gè)度的問(wèn)題。關(guān)于這個(gè)問(wèn)題,只能結合你的實(shí)際情況了。如果你需要隨機探索過(guò)去點(diǎn)擊行為的趨勢,那么這個(gè)功能還是合適的,否則有更好的選擇。
▌Visualized embedding:一種所見(jiàn)即所得的嵌入方法
代碼埋點(diǎn)和全埋點(diǎn)沒(méi)有在易用性和準確性之間取得平衡??梢暬顸c(diǎn)在很多情況下也稱(chēng)為“未編碼埋點(diǎn)”。如上所述,代碼嵌入的缺點(diǎn)對于網(wǎng)站來(lái)說(shuō)是好事,但對于移動(dòng)應用來(lái)說(shuō)無(wú)疑是極其低效的。為了解決這個(gè)問(wèn)題,在一些廠(chǎng)家選擇全埋點(diǎn)的同時(shí),大量廠(chǎng)家也選擇了WYSIWYG的埋點(diǎn)路,即可視化的埋點(diǎn)。
可視化埋點(diǎn)的優(yōu)點(diǎn)是可以直接在網(wǎng)站的真實(shí)界面或者手機端對埋點(diǎn)進(jìn)行操作,并且可以在埋點(diǎn)后立即驗證埋點(diǎn)是否正確。這還沒(méi)有結束,埋點(diǎn)可以部署到所有客戶(hù)終端也幾乎是實(shí)時(shí)生效的。由于可視化埋點(diǎn)的好處,分析的需求方、業(yè)務(wù)人員、沒(méi)有權限接觸代碼或不會(huì )編程的人,可以以很低的門(mén)檻獲取數據進(jìn)行分析??梢哉f(shuō)是向前邁進(jìn)了一大步。
可視化埋點(diǎn)部署原理
支持可視化埋點(diǎn)的SDK會(huì )在被監控的網(wǎng)站或移動(dòng)端應用訪(fǎng)問(wèn)時(shí),與服務(wù)器核對是否有新的埋點(diǎn)。如果發(fā)現更新的埋點(diǎn),將從服務(wù)器下載并立即生效。這樣就可以保證服務(wù)器收到最新的埋點(diǎn)后,下次訪(fǎng)問(wèn)時(shí)可以部署所有客戶(hù)端。
可視化埋點(diǎn)和全埋點(diǎn)對于埋點(diǎn)和分析的追求完全不同??梢暬顸c(diǎn)的思路是為了提高原有工作流的效率——還需要梳理需求,設計埋點(diǎn);全埋點(diǎn)是為了簡(jiǎn)化工作流程——反正數據會(huì )被采集返回,這兩個(gè)步驟的必要性很容易被忽視。這里不能說(shuō)哪個(gè)是最好的策略,因為事先的嚴謹計劃和事后的探索是不同的分析角度。而且,這兩種埋點(diǎn)根本不排斥,可以同時(shí)使用。
可視化埋點(diǎn)也有很多局限性。
首先,視覺(jué)埋點(diǎn)只是針對可見(jiàn)元素的點(diǎn)擊,最常見(jiàn)的可見(jiàn)元素就是點(diǎn)擊行為。點(diǎn)擊操作的埋點(diǎn)確實(shí)是當前可視化埋點(diǎn)的主要攻擊點(diǎn)。但從實(shí)際情況來(lái)看,復雜頁(yè)面、非標準頁(yè)面、動(dòng)態(tài)頁(yè)面都增加了視覺(jué)埋點(diǎn)不可用的風(fēng)險。一旦遇到,代碼只能埋點(diǎn)。
其次,對于點(diǎn)擊操作附帶的業(yè)務(wù)屬性,雖然也可以通過(guò)進(jìn)一步選擇屬性所在的元素來(lái)獲取屬性信息,但國內廠(chǎng)商支持的比較少。
第三,為了保證埋點(diǎn)的準確性,視覺(jué)埋點(diǎn)逐漸集成了更復雜的高級設置,比如:“同頁(yè)”、“同版本”、“同級別”、“同文本”……,加上這些復雜設置的視覺(jué)埋點(diǎn)是否也是效率的視覺(jué)埋點(diǎn)?
▌標簽管理器:低調大師
你可能不熟悉標簽,但你熟悉用于采集網(wǎng)頁(yè)數據的SDK。這些嵌入在網(wǎng)頁(yè)中,可以是采集網(wǎng)頁(yè)、移動(dòng)應用程序或視頻的數據正在監控。班級的標簽。但標簽的用途遠不止于此。通過(guò)在 網(wǎng)站 中嵌入代碼,工程師可以為 網(wǎng)站 提供許多附加功能。除了剛才提到的數據監控,它可能還會(huì )為網(wǎng)站提供一些額外的功能,最常見(jiàn)的就是推送個(gè)性化的內容,比如:A/B測試、消息推送、個(gè)性化廣告等。
如果網(wǎng)站或者移動(dòng)應用依賴(lài)標簽的能力來(lái)實(shí)現很多功能,那么就需要大量的標簽,標簽也可能需要頻繁的更新或者變化。網(wǎng)頁(yè)也是如此。上網(wǎng)很容易,但移動(dòng)應用就難了。如果有錯誤或遺漏,更正將有一個(gè)很長(cháng)的修正周期。在這種情況下,標簽管理器就派上用場(chǎng)了。
標簽管理器提供了一個(gè)容器。工程師只需將該容器正確嵌入到網(wǎng)頁(yè)或移動(dòng)應用程序中即可。之后,不懂技術(shù)的團隊可以通過(guò)在線(xiàn)管理將后續標簽發(fā)布到網(wǎng)頁(yè)或移動(dòng)應用程序中。這樣,技術(shù)人員和業(yè)務(wù)人員獨立工作。這聽(tīng)起來(lái)與可視化的埋點(diǎn)相似嗎?是的,它們的原理幾乎完全相同。只是視覺(jué)埋點(diǎn)更傾向于為用戶(hù)在客戶(hù)端的點(diǎn)擊行為提供直觀(guān)的方法,而標簽管理器在代碼層面,可以做的更多。
標簽管理器非常強大,可以避免代碼嵌入,可以通過(guò)DataLayer獲取頁(yè)面中的變量,如不同的用戶(hù)ID、用戶(hù)級別、登錄狀態(tài)、購買(mǎi)產(chǎn)品的名稱(chēng)和價(jià)格等;只有當這些變量達到一定水平時(shí),觸發(fā)器才能觸發(fā)事件上報。是不是很贊!
目前最著(zhù)名的標簽管理器是谷歌推出的Google Tag manager,簡(jiǎn)稱(chēng)GTM,占據了83%的市場(chǎng)份額。個(gè)人版是免費的,但還是提供了極其強大的功能,一般團隊使用已經(jīng)足夠了。如果想進(jìn)一步了解GTM的功能,可以閱讀它的官網(wǎng),里面有非常豐富的講解和案例。
綜上所述,目前在客戶(hù)端獲取用戶(hù)數據還沒(méi)有簡(jiǎn)單通用的方案。您應該在合適的場(chǎng)景中選擇相應的嵌入方法來(lái)平衡成本和收益。好在現在廠(chǎng)商基本都支持以上多客戶(hù)端行為的采集方法。未來(lái),對于客戶(hù)端埋點(diǎn)來(lái)說(shuō),集成標簽管理器某些特性的可視化埋點(diǎn)必將取代更多的代碼埋點(diǎn),解決工作中所有常見(jiàn)的客戶(hù)端行為采集需求。
就像早期論壇的編輯框一樣,帖子的效果只能通過(guò)發(fā)布或預覽功能才能看到,但是后來(lái)出現了所見(jiàn)即所得的編輯器,讓編輯文字變得非常高效和愉快。目前開(kāi)源社區中流行的 Markdown 格式仍然采用這種方式。在許多流行的 Markdown 編輯器中,它仍然是一側編輯,另一側實(shí)時(shí)預覽,或直接以最終格式編輯。
隨著(zhù)物聯(lián)網(wǎng)時(shí)代的到來(lái),越來(lái)越多的用戶(hù)界面會(huì )出現在電腦和手機之外,越來(lái)越多的內容會(huì )因人而異。到時(shí)候,未來(lái)越來(lái)越多的SDK集成,會(huì )自動(dòng)采集更多標準的用戶(hù)行為,對于非標準的強業(yè)務(wù)意義,需要根據具體情況進(jìn)行計算,或者需要有效,那么就可以通過(guò)視覺(jué)嵌入點(diǎn)來(lái)完成。但現階段,恐怕最好的組合還是GTM結合visual embedding。
查看全部
采集自動(dòng)組合(捕捉用戶(hù)數據,管理數據——埋點(diǎn)是一種客戶(hù)端行為采集方式
)
2018-12-0115:56:22
埋點(diǎn)是一種用于分析用戶(hù)行為的數據分析工具。捕獲用戶(hù)數據并管理數據。嵌入是客戶(hù)端行為的一種方式采集。
分為代碼埋點(diǎn)、全埋點(diǎn)、視覺(jué)埋點(diǎn)。
我為什么要把它埋起來(lái)?
互聯(lián)網(wǎng)應用(網(wǎng)站,APP)在開(kāi)發(fā)過(guò)程中往往不專(zhuān)門(mén)記錄用戶(hù)身份和行為數據,也不收錄專(zhuān)業(yè)的數據分析功能。但有時(shí)為了分析用戶(hù)產(chǎn)生某些動(dòng)作或不產(chǎn)生某些動(dòng)作的深層原因,需要詳細的用戶(hù)數據進(jìn)行分析。這時(shí)候就需要使用專(zhuān)業(yè)的用戶(hù)分析工具和埋點(diǎn)。
數據采集??是任何數據平臺的初始動(dòng)作。對于互聯(lián)網(wǎng)應用來(lái)說(shuō),用戶(hù)行為的捕捉和獲取是重中之重。如果沒(méi)有準確全面的用戶(hù)身份和行為數據作為輸入,在后續分析中獲得準確洞察的可能性存在不確定性,閉環(huán)營(yíng)銷(xiāo)也會(huì )缺乏流程數據的基礎,難度會(huì )更大開(kāi)展精細化經(jīng)營(yíng)。
▌埋點(diǎn)原理
對于基于用戶(hù)行為的數據平臺來(lái)說(shuō),用戶(hù)界面上發(fā)生的、能夠獲取用戶(hù)信息的接觸點(diǎn)是用戶(hù)數據的直接來(lái)源,而建立這些接觸點(diǎn)的方式就是埋點(diǎn)。這些聯(lián)系人獲取用戶(hù)行為和身份數據后,會(huì )通過(guò)網(wǎng)絡(luò )傳輸到服務(wù)器進(jìn)行后續處理。
從準確性的角度來(lái)看,埋點(diǎn)分為客戶(hù)端埋點(diǎn)和服務(wù)器端埋點(diǎn)??蛻?hù)端埋點(diǎn),即在客戶(hù)操作界面,記錄客戶(hù)產(chǎn)生動(dòng)作時(shí)的用戶(hù)行為。這些行為只會(huì )發(fā)生在客戶(hù)端,不會(huì )傳輸到服務(wù)器端;而服務(wù)器端的埋點(diǎn)通常在程序和數據庫的交互界面中進(jìn)行埋點(diǎn)。這時(shí),埋點(diǎn)會(huì )更加準確地記錄數據變化,同時(shí)會(huì )降低由于網(wǎng)絡(luò )傳輸等原因造成的不確定性風(fēng)險。
從分析的角度來(lái)看,數據越準確和全面,就越能達到理想狀態(tài);但在實(shí)際生產(chǎn)過(guò)程中,必須考慮數據采集的可行性等問(wèn)題。因為數據分析工具的最終用戶(hù)可能是企業(yè)內部的各種角色,比如工程師、產(chǎn)品運營(yíng)、營(yíng)銷(xiāo)甚至其他業(yè)務(wù)人員;每個(gè)人都會(huì )在不同的時(shí)間、不同的產(chǎn)品模塊中以不同的規則將自己注入到產(chǎn)品中。關(guān)注采集代碼。按照傳統方法,常見(jiàn)的工作流程如下:

文件以幫助每個(gè)人熟悉此工作流程。
▌傳統埋點(diǎn)的缺點(diǎn)
反復迭代,行為采集和埋點(diǎn)管理這兩個(gè)動(dòng)作構成了這個(gè)工作流的一個(gè)閉環(huán),但是這個(gè)閉環(huán)有幾個(gè)明顯的弊端。因此,它們也被用于實(shí)際工作中。大家都很苦惱的地方:
在實(shí)際工作過(guò)程中,有的公司一方面強調了數據采集的重要性,但另一方面卻還沒(méi)有真正把重點(diǎn)放在這上面。
對于行業(yè)從業(yè)者來(lái)說(shuō),數據的獲取和管理從來(lái)都不是一個(gè)足以達到一定水平的問(wèn)題,但只要數據業(yè)務(wù)還在發(fā)展,他們就必須不斷地迭代自己,探索更好的獲取和管理。路的問(wèn)題。時(shí)至今日,Mixpanel等國外知名廠(chǎng)商仍在努力提供更高效、更準確的埋點(diǎn)方法;國內廠(chǎng)商也有很大的提升空間。
說(shuō)完“埋點(diǎn)”這個(gè)大概念,馬上就會(huì )出現它的細分概念,比如“無(wú)埋點(diǎn)”、“全埋點(diǎn)”、“無(wú)標記埋點(diǎn)”、“未編碼埋點(diǎn)”、“可視化埋點(diǎn)”點(diǎn)”等。等等。從用戶(hù)的角度來(lái)看,如果你還沒(méi)有很好地理解這些概念,將很難整合業(yè)務(wù)數據采集,也無(wú)法選擇適合你的團隊和團隊的埋點(diǎn)方法。商業(yè)...
下面我將整理出所有可能的埋點(diǎn)方式及其名稱(chēng),并簡(jiǎn)要說(shuō)明一下,希望對大家的工作有所幫助。
▌代碼埋點(diǎn):最可控的埋點(diǎn)方式
代碼嵌入是最經(jīng)典的嵌入方法,可以幫助工程師了解用戶(hù)如何使用產(chǎn)品。因為工程師手動(dòng)將埋點(diǎn)集成到代碼邏輯中,理論上只要是客戶(hù)端操作,即使復雜也可以采集可達。常見(jiàn)的包括:頁(yè)面停留時(shí)間、頁(yè)面瀏覽深度、視頻播放時(shí)間、用戶(hù)鼠標軌跡、表單項停留和終止等,尤其是一些非點(diǎn)擊和不可見(jiàn)的行為,需要埋下代碼來(lái)實(shí)現。所以如果我們需要對嵌入點(diǎn)有更精確的控制,那么代碼嵌入點(diǎn)是最好的選擇。
可能你還是分不清融合點(diǎn)和埋點(diǎn)。為了埋點(diǎn),廠(chǎng)商通常會(huì )提供一個(gè)代碼包,可以理解為一個(gè)工具包,里面收錄了常用的工具。如果要埋點(diǎn),首先得有這個(gè)工具包,也就是集成的SDK。然后用這個(gè)工具包按照里面的說(shuō)明制作各種東西,也就是埋點(diǎn)。
當然,缺點(diǎn)也很明顯。上面描述的苦惱幾乎都與代碼埋點(diǎn)有關(guān)。為了使掩埋過(guò)程更加高效,制造商付出了很多努力。
▌買(mǎi)全積分:讓我開(kāi)心,讓我擔心
全埋點(diǎn),國內有的車(chē)隊也稱(chēng)“無(wú)埋點(diǎn)”、“無(wú)痕埋點(diǎn)”、“自動(dòng)埋點(diǎn)”。是對全自動(dòng)埋地方式的探索,從名字上看似乎是一勞永逸的解決方案,接下來(lái)我們來(lái)看看什么是“全埋”。

客戶(hù)端埋點(diǎn)一般分為訪(fǎng)問(wèn)級別、頁(yè)面級別、頁(yè)面內行為級別。當用戶(hù)訪(fǎng)問(wèn)網(wǎng)站或啟動(dòng)移動(dòng)應用時(shí),幾乎所有廠(chǎng)商都會(huì )自動(dòng)采集報告用戶(hù)的訪(fǎng)問(wèn);當用戶(hù)訪(fǎng)問(wèn)不同的頁(yè)面時(shí),有的廠(chǎng)商會(huì )選擇不自動(dòng)采集@默認>,并作為選項提供給用戶(hù);對于用戶(hù)在某個(gè)頁(yè)面的詳細操作行為,只有少數廠(chǎng)商支持自動(dòng)采集上報。實(shí)現了后兩種自動(dòng)采集的廠(chǎng)家通常會(huì )說(shuō),都被埋沒(méi)了。但是,頁(yè)面中行為層面的采集還可以進(jìn)一步探索其采集的范圍。最常見(jiàn)的就是自動(dòng)采集的區別
交互元素包括:鏈接、表單項(如按鈕、輸入框等)、HTML對象級元素等。非交互元素太多了,大部分頁(yè)面元素都屬于這一類(lèi)。其實(shí)大家在網(wǎng)頁(yè)和手機應用中看到的很多界面都不是標準元素,所以實(shí)際上界面上很多看似交互的元素是無(wú)法自動(dòng)上報的采集。這是一個(gè)遺憾。
但是讓我們來(lái)看看優(yōu)點(diǎn)。
首先,全埋點(diǎn)確實(shí)會(huì )自動(dòng)采集很多數據,以后在使用數據的時(shí)候,可以直接從數據庫中查詢(xún)。想看的時(shí)候不會(huì )面對,因為沒(méi)有埋葬點(diǎn)。采集 得不到的情況。這是一種很受分析師歡迎的方法,所以我經(jīng)常聽(tīng)到“如果可以采集,嘗試采集,后續分析總是可以用的?!?其次,埋點(diǎn)是一項比較耗時(shí)的工作,需要業(yè)務(wù)方提供解決方案,埋點(diǎn)工程師,以及測試團隊進(jìn)行測試。但由于實(shí)際工作中埋點(diǎn)較多,每次發(fā)布新功能或新活動(dòng)時(shí),都需要新的埋點(diǎn)。因此,埋點(diǎn)不僅費時(shí),但錯誤率也難以控制。對于全埋點(diǎn),無(wú)論使用與否,都會(huì )首先檢索數據。因為程序是自動(dòng)完成的,業(yè)務(wù)人員要A,工程師埋B的錯誤幾乎不存在。
然而,任何企業(yè)都有其兩個(gè)方面。
首先,所有點(diǎn)的“全部”并不是真正的全部。在基本的計算機瀏覽器和移動(dòng)應用程序中,用戶(hù)對頁(yè)面的常見(jiàn)操作包括鼠標行為、鍵盤(pán)行為和手指行為。例如,常見(jiàn)的鼠標點(diǎn)擊、鼠標滑動(dòng)、屏幕滾動(dòng)、鍵盤(pán)輸入、光標選擇,甚至網(wǎng)頁(yè)上的靜態(tài)。移動(dòng)終端除了有點(diǎn)擊式按壓外,還有多指開(kāi)合、拉動(dòng)、用力按壓。然而,這些操作并不都是“埋點(diǎn)”??梢员宦駴](méi)的通常只有點(diǎn)擊或按下。這顯然還遠遠不夠,我們甚至不能稱(chēng)它們?yōu)槿顸c(diǎn)。
其次,所有埋點(diǎn)的“滿(mǎn)”是以采集上報的數據量為代價(jià)的。隨著(zhù)數據量的增加,客戶(hù)端崩潰的概率也會(huì )增加。尤其是在移動(dòng)端,更多的數據量意味著(zhù)更多的功耗、流量和內存消耗。從這個(gè)角度來(lái)說(shuō),現階段也很難做到真正的“豐滿(mǎn)”。
第三,即使能把所有的行為數據都收回來(lái),具體分析時(shí)的二次整理和處理也不可避免,甚至是痛苦的。因為當 采集 時(shí)機器不能以我們想要的方式有意義地命名所有事件,所以不能保證來(lái)自 采集 的事件是完全正確的。所以前期埋點(diǎn)省下來(lái)的人工費,這次加了。
第四,現階段,全埋點(diǎn)對于用戶(hù)身份信息和行為附加的屬性信息幾乎無(wú)能為力。
那么這個(gè)功能正是我需要的嗎?這其實(shí)是個(gè)度的問(wèn)題。關(guān)于這個(gè)問(wèn)題,只能結合你的實(shí)際情況了。如果你需要隨機探索過(guò)去點(diǎn)擊行為的趨勢,那么這個(gè)功能還是合適的,否則有更好的選擇。
▌Visualized embedding:一種所見(jiàn)即所得的嵌入方法
代碼埋點(diǎn)和全埋點(diǎn)沒(méi)有在易用性和準確性之間取得平衡??梢暬顸c(diǎn)在很多情況下也稱(chēng)為“未編碼埋點(diǎn)”。如上所述,代碼嵌入的缺點(diǎn)對于網(wǎng)站來(lái)說(shuō)是好事,但對于移動(dòng)應用來(lái)說(shuō)無(wú)疑是極其低效的。為了解決這個(gè)問(wèn)題,在一些廠(chǎng)家選擇全埋點(diǎn)的同時(shí),大量廠(chǎng)家也選擇了WYSIWYG的埋點(diǎn)路,即可視化的埋點(diǎn)。
可視化埋點(diǎn)的優(yōu)點(diǎn)是可以直接在網(wǎng)站的真實(shí)界面或者手機端對埋點(diǎn)進(jìn)行操作,并且可以在埋點(diǎn)后立即驗證埋點(diǎn)是否正確。這還沒(méi)有結束,埋點(diǎn)可以部署到所有客戶(hù)終端也幾乎是實(shí)時(shí)生效的。由于可視化埋點(diǎn)的好處,分析的需求方、業(yè)務(wù)人員、沒(méi)有權限接觸代碼或不會(huì )編程的人,可以以很低的門(mén)檻獲取數據進(jìn)行分析??梢哉f(shuō)是向前邁進(jìn)了一大步。
可視化埋點(diǎn)部署原理
支持可視化埋點(diǎn)的SDK會(huì )在被監控的網(wǎng)站或移動(dòng)端應用訪(fǎng)問(wèn)時(shí),與服務(wù)器核對是否有新的埋點(diǎn)。如果發(fā)現更新的埋點(diǎn),將從服務(wù)器下載并立即生效。這樣就可以保證服務(wù)器收到最新的埋點(diǎn)后,下次訪(fǎng)問(wèn)時(shí)可以部署所有客戶(hù)端。
可視化埋點(diǎn)和全埋點(diǎn)對于埋點(diǎn)和分析的追求完全不同??梢暬顸c(diǎn)的思路是為了提高原有工作流的效率——還需要梳理需求,設計埋點(diǎn);全埋點(diǎn)是為了簡(jiǎn)化工作流程——反正數據會(huì )被采集返回,這兩個(gè)步驟的必要性很容易被忽視。這里不能說(shuō)哪個(gè)是最好的策略,因為事先的嚴謹計劃和事后的探索是不同的分析角度。而且,這兩種埋點(diǎn)根本不排斥,可以同時(shí)使用。
可視化埋點(diǎn)也有很多局限性。
首先,視覺(jué)埋點(diǎn)只是針對可見(jiàn)元素的點(diǎn)擊,最常見(jiàn)的可見(jiàn)元素就是點(diǎn)擊行為。點(diǎn)擊操作的埋點(diǎn)確實(shí)是當前可視化埋點(diǎn)的主要攻擊點(diǎn)。但從實(shí)際情況來(lái)看,復雜頁(yè)面、非標準頁(yè)面、動(dòng)態(tài)頁(yè)面都增加了視覺(jué)埋點(diǎn)不可用的風(fēng)險。一旦遇到,代碼只能埋點(diǎn)。
其次,對于點(diǎn)擊操作附帶的業(yè)務(wù)屬性,雖然也可以通過(guò)進(jìn)一步選擇屬性所在的元素來(lái)獲取屬性信息,但國內廠(chǎng)商支持的比較少。
第三,為了保證埋點(diǎn)的準確性,視覺(jué)埋點(diǎn)逐漸集成了更復雜的高級設置,比如:“同頁(yè)”、“同版本”、“同級別”、“同文本”……,加上這些復雜設置的視覺(jué)埋點(diǎn)是否也是效率的視覺(jué)埋點(diǎn)?
▌標簽管理器:低調大師
你可能不熟悉標簽,但你熟悉用于采集網(wǎng)頁(yè)數據的SDK。這些嵌入在網(wǎng)頁(yè)中,可以是采集網(wǎng)頁(yè)、移動(dòng)應用程序或視頻的數據正在監控。班級的標簽。但標簽的用途遠不止于此。通過(guò)在 網(wǎng)站 中嵌入代碼,工程師可以為 網(wǎng)站 提供許多附加功能。除了剛才提到的數據監控,它可能還會(huì )為網(wǎng)站提供一些額外的功能,最常見(jiàn)的就是推送個(gè)性化的內容,比如:A/B測試、消息推送、個(gè)性化廣告等。
如果網(wǎng)站或者移動(dòng)應用依賴(lài)標簽的能力來(lái)實(shí)現很多功能,那么就需要大量的標簽,標簽也可能需要頻繁的更新或者變化。網(wǎng)頁(yè)也是如此。上網(wǎng)很容易,但移動(dòng)應用就難了。如果有錯誤或遺漏,更正將有一個(gè)很長(cháng)的修正周期。在這種情況下,標簽管理器就派上用場(chǎng)了。
標簽管理器提供了一個(gè)容器。工程師只需將該容器正確嵌入到網(wǎng)頁(yè)或移動(dòng)應用程序中即可。之后,不懂技術(shù)的團隊可以通過(guò)在線(xiàn)管理將后續標簽發(fā)布到網(wǎng)頁(yè)或移動(dòng)應用程序中。這樣,技術(shù)人員和業(yè)務(wù)人員獨立工作。這聽(tīng)起來(lái)與可視化的埋點(diǎn)相似嗎?是的,它們的原理幾乎完全相同。只是視覺(jué)埋點(diǎn)更傾向于為用戶(hù)在客戶(hù)端的點(diǎn)擊行為提供直觀(guān)的方法,而標簽管理器在代碼層面,可以做的更多。
標簽管理器非常強大,可以避免代碼嵌入,可以通過(guò)DataLayer獲取頁(yè)面中的變量,如不同的用戶(hù)ID、用戶(hù)級別、登錄狀態(tài)、購買(mǎi)產(chǎn)品的名稱(chēng)和價(jià)格等;只有當這些變量達到一定水平時(shí),觸發(fā)器才能觸發(fā)事件上報。是不是很贊!
目前最著(zhù)名的標簽管理器是谷歌推出的Google Tag manager,簡(jiǎn)稱(chēng)GTM,占據了83%的市場(chǎng)份額。個(gè)人版是免費的,但還是提供了極其強大的功能,一般團隊使用已經(jīng)足夠了。如果想進(jìn)一步了解GTM的功能,可以閱讀它的官網(wǎng),里面有非常豐富的講解和案例。
綜上所述,目前在客戶(hù)端獲取用戶(hù)數據還沒(méi)有簡(jiǎn)單通用的方案。您應該在合適的場(chǎng)景中選擇相應的嵌入方法來(lái)平衡成本和收益。好在現在廠(chǎng)商基本都支持以上多客戶(hù)端行為的采集方法。未來(lái),對于客戶(hù)端埋點(diǎn)來(lái)說(shuō),集成標簽管理器某些特性的可視化埋點(diǎn)必將取代更多的代碼埋點(diǎn),解決工作中所有常見(jiàn)的客戶(hù)端行為采集需求。
就像早期論壇的編輯框一樣,帖子的效果只能通過(guò)發(fā)布或預覽功能才能看到,但是后來(lái)出現了所見(jiàn)即所得的編輯器,讓編輯文字變得非常高效和愉快。目前開(kāi)源社區中流行的 Markdown 格式仍然采用這種方式。在許多流行的 Markdown 編輯器中,它仍然是一側編輯,另一側實(shí)時(shí)預覽,或直接以最終格式編輯。
隨著(zhù)物聯(lián)網(wǎng)時(shí)代的到來(lái),越來(lái)越多的用戶(hù)界面會(huì )出現在電腦和手機之外,越來(lái)越多的內容會(huì )因人而異。到時(shí)候,未來(lái)越來(lái)越多的SDK集成,會(huì )自動(dòng)采集更多標準的用戶(hù)行為,對于非標準的強業(yè)務(wù)意義,需要根據具體情況進(jìn)行計算,或者需要有效,那么就可以通過(guò)視覺(jué)嵌入點(diǎn)來(lái)完成。但現階段,恐怕最好的組合還是GTM結合visual embedding。
采集自動(dòng)組合( 組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 160 次瀏覽 ? 2021-12-07 21:10
組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程
多字段組合發(fā)布是優(yōu)采云采集的SEO工具之一,可以增加收錄和網(wǎng)站的權重。
?具體用途是在發(fā)布目標的標題或內容[配置映射對應字段]處組合不同的字段,合成一個(gè)新的標題或正文進(jìn)行發(fā)布。
進(jìn)入【配置映射對應字段】頁(yè)面,可以組合多個(gè)字段發(fā)布結果
1. 進(jìn)入【配置映射對應字段】頁(yè)面
?? 進(jìn)入一個(gè)任務(wù),點(diǎn)擊【發(fā)布目標管理】==》找到需要配置的發(fā)布目標,點(diǎn)擊右側對應的【配置映射】按鈕;
2. 合并多個(gè)字段
?? 一、組合標題或內容的“值來(lái)源1”處的字段,例如組合標題處的title和tag字段:
?? 二、設置組合字段之間的分隔符。默認為逗號,kds_empty_val 為空字符。修改后請點(diǎn)擊保存按鈕。
?? 下圖中的示例用下劃線(xiàn)填充。
3.發(fā)布結果
?? 發(fā)布前數據,title字段和tag字段內容:
?? 文章發(fā)布后,在title后面添加tag字段的內容:
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程相關(guān)教程2020-10-11《多背包單調隊列優(yōu)化》
2020-10-11《多背包單調隊列優(yōu)化》《多背包單調隊列優(yōu)化》【題目】有n種物品,一個(gè)容量為m的背包。第i個(gè)項目最多有si個(gè)項目,每個(gè)項目的體積為vi,值為wi。解決選擇將哪些物品放入背包,使物品的總體積不超過(guò)背包的容量,且總值最大。只輸出最大值?!?br /> unity優(yōu)化GC操作詳解
Unity優(yōu)化GC操作內容詳解修改自: 簡(jiǎn)介:游戲運行時(shí),數據主要存放在內存中。當不需要游戲數據時(shí),可以回收存儲當前數據的內存重新使用。內存垃圾是指當前丟棄的數據所占用的內存。垃圾
樹(shù)莓派工控機定時(shí)和自動(dòng)采集數據解決方案
樹(shù)莓派工控機定時(shí)自動(dòng)采集數據解決方案概述:采集樹(shù)莓派(xxxxx,以下簡(jiǎn)稱(chēng)工控機)上的數據,傳輸到本地sqlserver數據庫,寫(xiě)入數據Python采集腳本。這涉及到幾個(gè)問(wèn)題:當出現網(wǎng)絡(luò )中斷、斷電、工控機重啟等異常情況時(shí),為保證這些異常情況的發(fā)生,仍能自動(dòng)
Foobar2000的配置與優(yōu)化
Foobar2000 配置與優(yōu)化 Foobar2000 配置與優(yōu)化 1. DTS 解碼器 foo_input_dts 解碼 DTS 音效 2. ESlyric foo_uie_eslyric 歌詞面板,支持桌面歌詞。有很多可自定義的配置項,支持國內外很多網(wǎng)站歌詞搜索。比 Lyrics Panel Show 3 更好用。 在 Options-Tools-ESLy 中可用
新APP上線(xiàn)后如何優(yōu)化ASO
新APP上線(xiàn)時(shí),如何優(yōu)化ASO 新APP上線(xiàn),推廣是重中之重,而ASO也是必不可少的環(huán)節??赡苡腥藭?huì )說(shuō)ASO需要用錢(qián)來(lái)做。玩法豐富,沒(méi)錢(qián)沒(méi)錢(qián)玩ASO。豐富的玩法就不多說(shuō)了。大家都知道,今天我們主要分享一下沒(méi)錢(qián)的方法。首先我們要了解陰影
Debezium采集postgresql 日志
Debezium采集postgresql log debezium采集postgresql表數據debezium不用kafka就可以完成
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?點(diǎn)擊上方程序員小樂(lè )關(guān)注、star或頂頂,共同成長(cháng)。關(guān)注訂閱號“程序員小樂(lè )”,每天觀(guān)看更多精彩英文內容。做你自己,不要為任何人改變。如果他們不喜歡你最糟糕的時(shí)候,那么他們不值得你在
擲骰子【普通線(xiàn)性DP】【傳遞方程可以?xún)?yōu)化為矩陣快速冪】
擲骰子【普通線(xiàn)性DP】【轉移方程可以?xún)?yōu)化為矩陣快速冪】擲骰子可以先定義一個(gè)狀態(tài)f[i][j]:第i個(gè)骰子,最后一邊是j的方法個(gè)數,它一定是超時(shí)了,但是Goose可以混點(diǎn),代碼如下 for(int i=1;i=6;i++) f[0][i]=1; for(int i=1;i=n;i++) {for(int j=1;j=6;j++) {fo 查看全部
采集自動(dòng)組合(
組合多個(gè)優(yōu)化之GC操作詳解內容修改內容詳解優(yōu)化)
采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程
多字段組合發(fā)布是優(yōu)采云采集的SEO工具之一,可以增加收錄和網(wǎng)站的權重。
?具體用途是在發(fā)布目標的標題或內容[配置映射對應字段]處組合不同的字段,合成一個(gè)新的標題或正文進(jìn)行發(fā)布。

進(jìn)入【配置映射對應字段】頁(yè)面,可以組合多個(gè)字段發(fā)布結果
1. 進(jìn)入【配置映射對應字段】頁(yè)面
?? 進(jìn)入一個(gè)任務(wù),點(diǎn)擊【發(fā)布目標管理】==》找到需要配置的發(fā)布目標,點(diǎn)擊右側對應的【配置映射】按鈕;

2. 合并多個(gè)字段
?? 一、組合標題或內容的“值來(lái)源1”處的字段,例如組合標題處的title和tag字段:

?? 二、設置組合字段之間的分隔符。默認為逗號,kds_empty_val 為空字符。修改后請點(diǎn)擊保存按鈕。
?? 下圖中的示例用下劃線(xiàn)填充。

3.發(fā)布結果
?? 發(fā)布前數據,title字段和tag字段內容:

?? 文章發(fā)布后,在title后面添加tag字段的內容:

采集SEO優(yōu)化方法---結合多領(lǐng)域發(fā)布教程相關(guān)教程2020-10-11《多背包單調隊列優(yōu)化》
2020-10-11《多背包單調隊列優(yōu)化》《多背包單調隊列優(yōu)化》【題目】有n種物品,一個(gè)容量為m的背包。第i個(gè)項目最多有si個(gè)項目,每個(gè)項目的體積為vi,值為wi。解決選擇將哪些物品放入背包,使物品的總體積不超過(guò)背包的容量,且總值最大。只輸出最大值?!?br /> unity優(yōu)化GC操作詳解
Unity優(yōu)化GC操作內容詳解修改自: 簡(jiǎn)介:游戲運行時(shí),數據主要存放在內存中。當不需要游戲數據時(shí),可以回收存儲當前數據的內存重新使用。內存垃圾是指當前丟棄的數據所占用的內存。垃圾
樹(shù)莓派工控機定時(shí)和自動(dòng)采集數據解決方案
樹(shù)莓派工控機定時(shí)自動(dòng)采集數據解決方案概述:采集樹(shù)莓派(xxxxx,以下簡(jiǎn)稱(chēng)工控機)上的數據,傳輸到本地sqlserver數據庫,寫(xiě)入數據Python采集腳本。這涉及到幾個(gè)問(wèn)題:當出現網(wǎng)絡(luò )中斷、斷電、工控機重啟等異常情況時(shí),為保證這些異常情況的發(fā)生,仍能自動(dòng)
Foobar2000的配置與優(yōu)化
Foobar2000 配置與優(yōu)化 Foobar2000 配置與優(yōu)化 1. DTS 解碼器 foo_input_dts 解碼 DTS 音效 2. ESlyric foo_uie_eslyric 歌詞面板,支持桌面歌詞。有很多可自定義的配置項,支持國內外很多網(wǎng)站歌詞搜索。比 Lyrics Panel Show 3 更好用。 在 Options-Tools-ESLy 中可用
新APP上線(xiàn)后如何優(yōu)化ASO
新APP上線(xiàn)時(shí),如何優(yōu)化ASO 新APP上線(xiàn),推廣是重中之重,而ASO也是必不可少的環(huán)節??赡苡腥藭?huì )說(shuō)ASO需要用錢(qián)來(lái)做。玩法豐富,沒(méi)錢(qián)沒(méi)錢(qián)玩ASO。豐富的玩法就不多說(shuō)了。大家都知道,今天我們主要分享一下沒(méi)錢(qián)的方法。首先我們要了解陰影
Debezium采集postgresql 日志
Debezium采集postgresql log debezium采集postgresql表數據debezium不用kafka就可以完成
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?
沒(méi)想到,復雜的UI卡頓問(wèn)題還能這么優(yōu)化?點(diǎn)擊上方程序員小樂(lè )關(guān)注、star或頂頂,共同成長(cháng)。關(guān)注訂閱號“程序員小樂(lè )”,每天觀(guān)看更多精彩英文內容。做你自己,不要為任何人改變。如果他們不喜歡你最糟糕的時(shí)候,那么他們不值得你在
擲骰子【普通線(xiàn)性DP】【傳遞方程可以?xún)?yōu)化為矩陣快速冪】
擲骰子【普通線(xiàn)性DP】【轉移方程可以?xún)?yōu)化為矩陣快速冪】擲骰子可以先定義一個(gè)狀態(tài)f[i][j]:第i個(gè)骰子,最后一邊是j的方法個(gè)數,它一定是超時(shí)了,但是Goose可以混點(diǎn),代碼如下 for(int i=1;i=6;i++) f[0][i]=1; for(int i=1;i=n;i++) {for(int j=1;j=6;j++) {fo
采集自動(dòng)組合(優(yōu)采云瀏覽器的腳本管理器是什么樣的?項目管理器的核心價(jià)值)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 115 次瀏覽 ? 2021-12-05 10:13
優(yōu)采云瀏覽器不是普通的瀏覽器,它是一個(gè)可視化的自動(dòng)腳本采集工具,一個(gè)可以解放IT人員雙手的瀏覽器,它可以做自動(dòng)采集數據,收發(fā)郵件,自動(dòng)編碼和識別驗證碼,并可自由組合操作。強大的內核可以輕松輔助您的操作。
【特征】
1、可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等就很簡(jiǎn)單了。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
2、自定義流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
3、自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
4、生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
5、項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以通過(guò)該平臺進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。
【常見(jiàn)問(wèn)題】
1、 軟件是如何授權的?
瀏覽器永久使用,兩年免費升級服務(wù)。軟件需要綁定到機器上,但可以自由更換。
2、 有沒(méi)有免費版的瀏覽器?
優(yōu)采云瀏覽器的腳本管理器可以免費使用。用戶(hù)可以直接創(chuàng )建腳本并運行單個(gè)腳本。
3、 項目經(jīng)理有什么特別之處?
項目經(jīng)理是優(yōu)采云瀏覽器的核心價(jià)值。我們的單個(gè)腳本可以獨立運行。但是我們有很多各種各樣的需求需要整合,然后我們需要一個(gè)項目經(jīng)理。
4、 可以用來(lái)挖微博嗎?
是的,你可以使用瀏覽器的滾動(dòng)條設置來(lái)采集瀑布這些數據。
5、 驗證碼可以識別嗎?
是的,該軟件帶有手動(dòng)編碼和各種編碼平臺??勺詣?dòng)識別并自動(dòng)輸入編碼結果。
6、 我可以通過(guò)優(yōu)采云 瀏覽器賺錢(qián)嗎?
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。它還允許您制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)。官方提供注冊服務(wù)和自動(dòng)升級。用戶(hù)只要管理好腳本和服務(wù)就可以快速賺錢(qián)。
7、 能操作數據庫嗎?
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
【更新內容】
1.添加緩存處理方法。
2.登錄問(wèn)題得到改善。
3. 日志錯位問(wèn)題已修復。
4.修正:復制腳本修改名稱(chēng)后,無(wú)法添加到腳本編輯區,雙擊后沒(méi)有反應。
5.修正:導入同名腳本,改名后的腳本中的腳本步驟會(huì )變成和之前的腳本一樣的步驟。
6.PHP插件和python插件問(wèn)題處理。
7.變量移除也會(huì )移除已清除變量中的變量。
8. 多行抽取和清空列表變量問(wèn)題處理。
9.頁(yè)面緩存功能的header信息中添加url。
10. 拖動(dòng)鼠標增加移動(dòng)速度。
11.定時(shí)任務(wù)的Cron表達式注釋無(wú)效,已修復。
12.修復項目經(jīng)理任務(wù)列表中右鍵點(diǎn)擊的問(wèn)題。
13.修復選項中的Preferences:點(diǎn)擊主程序右上角的關(guān)閉按鈕,最小化到托盤(pán)而不是退出。
14.exe包生成器支持.Net版本修改。
15. 優(yōu)化:變量處理操作,如果處理的變量不存在,會(huì )彈出錯誤。
16.不能在根節點(diǎn)添加組,可以新建組并在空白區域刷新列表。
17. 無(wú)法將分組腳本添加到編輯區。
18.同時(shí)選擇多個(gè)分組節點(diǎn)進(jìn)行右鍵菜單處理。
19.在列表區復制腳本后,雙擊到編輯區,在編輯區刪除復制的腳本,在列表區雙擊無(wú)效,無(wú)法添加到編輯區編輯區。
20.修正:在腳本編輯區編輯腳本名稱(chēng)后,在列表區導出。導出的名字還是修改前的名字。
21.Fix: 生成EXE,選擇包中的文件并添加,提示被占用,但從未打開(kāi)過(guò)該文件。
2 2. 腳本引用添加提示:多級腳本引用需要手動(dòng)將腳本復制到exe的Projects目錄下。
23. 新增編輯區支持腳本導出。
24. 列表區支持腳本或組名搜索。
其他相關(guān)
1 新聞播報揭秘A股483萬(wàn)大漲原因 來(lái)源:466萬(wàn) 3楊冪唱新mojito 來(lái)源:4 郭美美宣布434萬(wàn)新戀情 來(lái)源:418萬(wàn) 被捕來(lái)源:7 幼兒園畢業(yè)配文 再見(jiàn)青春 390萬(wàn) 來(lái)源:376萬(wàn) 9 林丹出軌對象發(fā)出申訴 來(lái)源:10 試用期單位未繳納社保違規 新增350萬(wàn) 來(lái)源:326萬(wàn) 全國菜價(jià)上漲 13 美國黑熊走了650公里的路程。303萬(wàn) 293萬(wàn)。香港市民每人獲1萬(wàn)元。16 王寶山辭職 263 萬(wàn) 254 萬(wàn) 18 元隆平當空軍差點(diǎn)入獄。支持教育少女生前錄音 22特工回應林志軒重病 212萬(wàn) 205萬(wàn) 24名美國明星宣布可競選總統。25.1萬(wàn)多箱茅臺自卸司機撞車(chē) 118.4萬(wàn)買(mǎi)不起 27.高考遇武漢大雨 聽(tīng)力考試可暫停 28同卓宣傳鄭云龍 171萬(wàn) 搜索工具百度查找15100條相關(guān)結果給你@網(wǎng)站抓取工具,采集模擬瀏覽器手動(dòng)操作的發(fā)布軟件,可以生成EXE。
-100%好評優(yōu)采云 瀏覽器是一個(gè)可視化的自動(dòng)化腳本工具。我們可以實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,通過(guò)設置腳本進(jìn)行操作。數據庫,優(yōu)采云瀏覽器綠色版_優(yōu)采云瀏覽器綠色版免費下載【最新版】-下載首頁(yè)優(yōu)采云瀏覽器綠色版是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等下載首頁(yè)優(yōu)采云 瀏覽器是一個(gè)自動(dòng)化腳本的工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到下載首頁(yè)優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具,我們可以實(shí)現自動(dòng)化通過(guò)設置腳本進(jìn)行登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作。非凡軟件優(yōu)采云 瀏覽器是一種自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到優(yōu)采云 瀏覽器腳本編輯器-< @優(yōu)采云瀏覽器下載v7.4.0官方版--pc6下載站優(yōu)采云瀏覽器破解版-優(yōu)采云瀏覽器下載7.31-新云軟件園優(yōu)采云瀏覽器下載,優(yōu)采云瀏覽器是一個(gè)可以可視化的網(wǎng)頁(yè)萬(wàn)能按鈕精靈采集萬(wàn)能群發(fā),也是一款功能自由組合、自動(dòng)Log的萬(wàn)能營(yíng)銷(xiāo)軟件在,一個(gè)通用的優(yōu)采云瀏覽器(數據庫采集器)會(huì )自動(dòng)識別驗證碼,是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取獲取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文字優(yōu)采云瀏覽器下載_優(yōu)采云 官方瀏覽器下載-太平洋下載中心優(yōu)采云 瀏覽器是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等操作到達 查看全部
采集自動(dòng)組合(優(yōu)采云瀏覽器的腳本管理器是什么樣的?項目管理器的核心價(jià)值)
優(yōu)采云瀏覽器不是普通的瀏覽器,它是一個(gè)可視化的自動(dòng)腳本采集工具,一個(gè)可以解放IT人員雙手的瀏覽器,它可以做自動(dòng)采集數據,收發(fā)郵件,自動(dòng)編碼和識別驗證碼,并可自由組合操作。強大的內核可以輕松輔助您的操作。

【特征】
1、可視化操作
操作簡(jiǎn)單,完全可視化圖形操作,無(wú)需專(zhuān)業(yè)IT人員。操作的內容是瀏覽器處理的內容。采集 jax、falls等就很簡(jiǎn)單了。一些js加密數據也可以輕松獲取,無(wú)需抓包分析。
2、自定義流程
完全自定義采集流程。打開(kāi)網(wǎng)頁(yè),輸入數據,提取數據,點(diǎn)擊網(wǎng)頁(yè)元素,操作數據庫,驗證代碼識別,抓取循環(huán)記錄,流程列表,條件判斷,完全自定義流程,采集就像積木一樣,功能自由組合。
3、自動(dòng)編碼
采集速度快,程序注重采集的效率,頁(yè)面解析速度快,可以直接屏蔽不需要訪(fǎng)問(wèn)的頁(yè)面或廣告,加快訪(fǎng)問(wèn)速度速度。
4、生成EXE
不僅是一個(gè)采集器,還是一個(gè)營(yíng)銷(xiāo)工具。不僅可以將采集數據保存到數據庫或其他地方,還可以將一些數據分組到各種網(wǎng)站??梢宰龅阶詣?dòng)登錄,自動(dòng)識別驗證碼,是一款萬(wàn)能瀏覽器。
5、項目管理
該解決方案可用于直接生成單個(gè)應用程序。單個(gè)程序可以脫離優(yōu)采云瀏覽器運行。提供官方軟件管理平臺,用戶(hù)可以通過(guò)該平臺進(jìn)行授權等管理。每個(gè)用戶(hù)都是開(kāi)發(fā)者,每個(gè)人都可以從平臺中獲利。

【常見(jiàn)問(wèn)題】
1、 軟件是如何授權的?
瀏覽器永久使用,兩年免費升級服務(wù)。軟件需要綁定到機器上,但可以自由更換。
2、 有沒(méi)有免費版的瀏覽器?
優(yōu)采云瀏覽器的腳本管理器可以免費使用。用戶(hù)可以直接創(chuàng )建腳本并運行單個(gè)腳本。
3、 項目經(jīng)理有什么特別之處?
項目經(jīng)理是優(yōu)采云瀏覽器的核心價(jià)值。我們的單個(gè)腳本可以獨立運行。但是我們有很多各種各樣的需求需要整合,然后我們需要一個(gè)項目經(jīng)理。
4、 可以用來(lái)挖微博嗎?
是的,你可以使用瀏覽器的滾動(dòng)條設置來(lái)采集瀑布這些數據。
5、 驗證碼可以識別嗎?
是的,該軟件帶有手動(dòng)編碼和各種編碼平臺??勺詣?dòng)識別并自動(dòng)輸入編碼結果。
6、 我可以通過(guò)優(yōu)采云 瀏覽器賺錢(qián)嗎?
優(yōu)采云瀏覽器是一個(gè)可以幫助大家自動(dòng)化的網(wǎng)頁(yè)操作。它還允許您制作腳本生成程序出售,生成的程序可以自定義軟件名稱(chēng)。官方提供注冊服務(wù)和自動(dòng)升級。用戶(hù)只要管理好腳本和服務(wù)就可以快速賺錢(qián)。
7、 能操作數據庫嗎?
瀏覽器可以讀寫(xiě)四個(gè)數據庫:mysql、sqlserver、sqlite、access。您可以將任務(wù)數據放入數據庫中,通過(guò)瀏覽器讀取并運行它。操作完成后,使用瀏覽器將其標記為已使用。您可以在瀏覽器的使用過(guò)程中隨時(shí)使用數據庫,非常方便。
【更新內容】
1.添加緩存處理方法。
2.登錄問(wèn)題得到改善。
3. 日志錯位問(wèn)題已修復。
4.修正:復制腳本修改名稱(chēng)后,無(wú)法添加到腳本編輯區,雙擊后沒(méi)有反應。
5.修正:導入同名腳本,改名后的腳本中的腳本步驟會(huì )變成和之前的腳本一樣的步驟。
6.PHP插件和python插件問(wèn)題處理。
7.變量移除也會(huì )移除已清除變量中的變量。
8. 多行抽取和清空列表變量問(wèn)題處理。
9.頁(yè)面緩存功能的header信息中添加url。
10. 拖動(dòng)鼠標增加移動(dòng)速度。
11.定時(shí)任務(wù)的Cron表達式注釋無(wú)效,已修復。
12.修復項目經(jīng)理任務(wù)列表中右鍵點(diǎn)擊的問(wèn)題。
13.修復選項中的Preferences:點(diǎn)擊主程序右上角的關(guān)閉按鈕,最小化到托盤(pán)而不是退出。
14.exe包生成器支持.Net版本修改。
15. 優(yōu)化:變量處理操作,如果處理的變量不存在,會(huì )彈出錯誤。
16.不能在根節點(diǎn)添加組,可以新建組并在空白區域刷新列表。
17. 無(wú)法將分組腳本添加到編輯區。
18.同時(shí)選擇多個(gè)分組節點(diǎn)進(jìn)行右鍵菜單處理。
19.在列表區復制腳本后,雙擊到編輯區,在編輯區刪除復制的腳本,在列表區雙擊無(wú)效,無(wú)法添加到編輯區編輯區。
20.修正:在腳本編輯區編輯腳本名稱(chēng)后,在列表區導出。導出的名字還是修改前的名字。
21.Fix: 生成EXE,選擇包中的文件并添加,提示被占用,但從未打開(kāi)過(guò)該文件。
2 2. 腳本引用添加提示:多級腳本引用需要手動(dòng)將腳本復制到exe的Projects目錄下。
23. 新增編輯區支持腳本導出。
24. 列表區支持腳本或組名搜索。
其他相關(guān)
1 新聞播報揭秘A股483萬(wàn)大漲原因 來(lái)源:466萬(wàn) 3楊冪唱新mojito 來(lái)源:4 郭美美宣布434萬(wàn)新戀情 來(lái)源:418萬(wàn) 被捕來(lái)源:7 幼兒園畢業(yè)配文 再見(jiàn)青春 390萬(wàn) 來(lái)源:376萬(wàn) 9 林丹出軌對象發(fā)出申訴 來(lái)源:10 試用期單位未繳納社保違規 新增350萬(wàn) 來(lái)源:326萬(wàn) 全國菜價(jià)上漲 13 美國黑熊走了650公里的路程。303萬(wàn) 293萬(wàn)。香港市民每人獲1萬(wàn)元。16 王寶山辭職 263 萬(wàn) 254 萬(wàn) 18 元隆平當空軍差點(diǎn)入獄。支持教育少女生前錄音 22特工回應林志軒重病 212萬(wàn) 205萬(wàn) 24名美國明星宣布可競選總統。25.1萬(wàn)多箱茅臺自卸司機撞車(chē) 118.4萬(wàn)買(mǎi)不起 27.高考遇武漢大雨 聽(tīng)力考試可暫停 28同卓宣傳鄭云龍 171萬(wàn) 搜索工具百度查找15100條相關(guān)結果給你@網(wǎng)站抓取工具,采集模擬瀏覽器手動(dòng)操作的發(fā)布軟件,可以生成EXE。
-100%好評優(yōu)采云 瀏覽器是一個(gè)可視化的自動(dòng)化腳本工具。我們可以實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,通過(guò)設置腳本進(jìn)行操作。數據庫,優(yōu)采云瀏覽器綠色版_優(yōu)采云瀏覽器綠色版免費下載【最新版】-下載首頁(yè)優(yōu)采云瀏覽器綠色版是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等下載首頁(yè)優(yōu)采云 瀏覽器是一個(gè)自動(dòng)化腳本的工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到下載首頁(yè)優(yōu)采云瀏覽器是一款可視化的自動(dòng)化腳本工具,我們可以實(shí)現自動(dòng)化通過(guò)設置腳本進(jìn)行登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作。非凡軟件優(yōu)采云 瀏覽器是一種自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄、識別驗證碼、自動(dòng)抓取數據、自動(dòng)提交數據、點(diǎn)擊網(wǎng)頁(yè)、下載文件、操作數據庫、收發(fā)郵件等操作到優(yōu)采云 瀏覽器腳本編輯器-< @優(yōu)采云瀏覽器下載v7.4.0官方版--pc6下載站優(yōu)采云瀏覽器破解版-優(yōu)采云瀏覽器下載7.31-新云軟件園優(yōu)采云瀏覽器下載,優(yōu)采云瀏覽器是一個(gè)可以可視化的網(wǎng)頁(yè)萬(wàn)能按鈕精靈采集萬(wàn)能群發(fā),也是一款功能自由組合、自動(dòng)Log的萬(wàn)能營(yíng)銷(xiāo)軟件在,一個(gè)通用的優(yōu)采云瀏覽器(數據庫采集器)會(huì )自動(dòng)識別驗證碼,是一個(gè)可視化的自動(dòng)化腳本工具。我們可以設置腳本實(shí)現自動(dòng)登錄,識別驗證碼,自動(dòng)抓取獲取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文字優(yōu)采云瀏覽器下載_優(yōu)采云 官方瀏覽器下載-太平洋下載中心優(yōu)采云 瀏覽器是一款自動(dòng)化腳本編寫(xiě)工具。通過(guò)優(yōu)采云瀏覽器自動(dòng)登錄,識別驗證碼,自動(dòng)抓取數據,自動(dòng)提交數據,點(diǎn)擊網(wǎng)頁(yè),下載文件,操作數據庫,收發(fā)郵件等操作到達
采集自動(dòng)組合(試試用smartproxyapp除非能從你的運營(yíng)商接入數據)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-12-03 22:00
采集自動(dòng)組合是什么鬼?這種容易讓android崩潰的功能,是不建議在android上進(jìn)行的。而且,就算你下載了,也沒(méi)辦法繞過(guò)appstore的審核。
在android上,你可以基于wap業(yè)務(wù),通過(guò)sqlmap來(lái)嗅探數據,然后root后去修改數據。wap+sqlmap可以在android上查看三大應用市場(chǎng)的排名以及app評論等。不過(guò)需要root。不知道樓主要干嘛。
試試用smartproxy
app除非能從你的運營(yíng)商接入數據,否則自己采集數據做商業(yè)用途幾乎是不可能的事情。
既然已經(jīng)root了,就安心等封殺通知吧。你的數據還有機會(huì )恢復的。否則太悲劇了。
解決方案一個(gè)是綁定wifi,然后system后臺服務(wù)上報數據到網(wǎng)站,另一個(gè)是綁定同樣的wifi,然后顯示相同信息。個(gè)人覺(jué)得第二個(gè)比較靠譜,但是如果做成功了,會(huì )多一個(gè)消息獲取對象,讀取這個(gè)鏈接的數據可能是最大的問(wèn)題。
我的觀(guān)點(diǎn):我們都無(wú)法從技術(shù)上阻止廠(chǎng)商通過(guò)流量獲取數據,流量獲取的渠道也是有限的,并不像黑產(chǎn)那樣流量到了后臺就直接轉化為服務(wù)。把android手機中安裝的各種應用流量劫持,獲取后臺上報數據這件事情理解為黑產(chǎn)的,是不公平的。而把流量劫持認為不可行的原因是:流量劫持是違法的,但是這種方式要規避審查的難度遠大于解決流量獲取這個(gè)問(wèn)題。
解決方案的兩個(gè)原因:一個(gè)是通過(guò)軟件實(shí)現劫持,另一個(gè)是通過(guò)對流量劫持的一些限制,比如對數據存儲流量劫持,實(shí)現沒(méi)有入口的流量劫持。手機微信搖一搖搖不到紅包的問(wèn)題是在于此,而不是在于微信要流量,微信又攔截不了。另一方面,我也不是專(zhuān)家,說(shuō)的可能不對,也歡迎大家指正。流量劫持是違法的,微信要流量不攔截,可能是好事情,但也可能是壞事情。
如果有人攔截了微信的這種方式,那就相當于你違法了。這件事情是很復雜的,是基于他人的態(tài)度,以及法律的尺度。但是大家普遍是這么認為的,但是如果有足夠多的人成功把android手機流量劫持到你的應用里面,而且得到你的數據,這是很好的事情。 查看全部
采集自動(dòng)組合(試試用smartproxyapp除非能從你的運營(yíng)商接入數據)
采集自動(dòng)組合是什么鬼?這種容易讓android崩潰的功能,是不建議在android上進(jìn)行的。而且,就算你下載了,也沒(méi)辦法繞過(guò)appstore的審核。
在android上,你可以基于wap業(yè)務(wù),通過(guò)sqlmap來(lái)嗅探數據,然后root后去修改數據。wap+sqlmap可以在android上查看三大應用市場(chǎng)的排名以及app評論等。不過(guò)需要root。不知道樓主要干嘛。
試試用smartproxy
app除非能從你的運營(yíng)商接入數據,否則自己采集數據做商業(yè)用途幾乎是不可能的事情。
既然已經(jīng)root了,就安心等封殺通知吧。你的數據還有機會(huì )恢復的。否則太悲劇了。
解決方案一個(gè)是綁定wifi,然后system后臺服務(wù)上報數據到網(wǎng)站,另一個(gè)是綁定同樣的wifi,然后顯示相同信息。個(gè)人覺(jué)得第二個(gè)比較靠譜,但是如果做成功了,會(huì )多一個(gè)消息獲取對象,讀取這個(gè)鏈接的數據可能是最大的問(wèn)題。
我的觀(guān)點(diǎn):我們都無(wú)法從技術(shù)上阻止廠(chǎng)商通過(guò)流量獲取數據,流量獲取的渠道也是有限的,并不像黑產(chǎn)那樣流量到了后臺就直接轉化為服務(wù)。把android手機中安裝的各種應用流量劫持,獲取后臺上報數據這件事情理解為黑產(chǎn)的,是不公平的。而把流量劫持認為不可行的原因是:流量劫持是違法的,但是這種方式要規避審查的難度遠大于解決流量獲取這個(gè)問(wèn)題。
解決方案的兩個(gè)原因:一個(gè)是通過(guò)軟件實(shí)現劫持,另一個(gè)是通過(guò)對流量劫持的一些限制,比如對數據存儲流量劫持,實(shí)現沒(méi)有入口的流量劫持。手機微信搖一搖搖不到紅包的問(wèn)題是在于此,而不是在于微信要流量,微信又攔截不了。另一方面,我也不是專(zhuān)家,說(shuō)的可能不對,也歡迎大家指正。流量劫持是違法的,微信要流量不攔截,可能是好事情,但也可能是壞事情。
如果有人攔截了微信的這種方式,那就相當于你違法了。這件事情是很復雜的,是基于他人的態(tài)度,以及法律的尺度。但是大家普遍是這么認為的,但是如果有足夠多的人成功把android手機流量劫持到你的應用里面,而且得到你的數據,這是很好的事情。
采集自動(dòng)組合(默認用thread來(lái)做監聽(tīng)線(xiàn)程的經(jīng)驗之談之采集)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 137 次瀏覽 ? 2021-11-30 23:04
采集自動(dòng)組合:可以生成主線(xiàn)程還有組合調用監聽(tīng)線(xiàn)程,
0)){if(server.isf(this,
0)){if(!server.isf(this,
0)){server.addflags("goto");}}}經(jīng)驗之談:最主要的還是用樣式來(lái)寫(xiě)下的功能。
大概是主線(xiàn)程運行python代碼,處理有異常的情況。比如修改了頁(yè)面,我試過(guò)tryexcept,差不多會(huì )終止,但是還是python在處理問(wèn)題。很多timeout的功能沒(méi)用。
python中timeout指定進(jìn)程(線(xiàn)程)最后運行的時(shí)間,當線(xiàn)程過(guò)多時(shí)timeout有可能變?yōu)樗梨i。本質(zhì)是調用的內部函數,所以你需要看是哪個(gè)線(xiàn)程在執行。當一個(gè)線(xiàn)程執行的時(shí)候timeout時(shí)間又未到的話(huà),
tornado默認是用thread的,但是實(shí)際做一些特殊優(yōu)化可以讓timeout的速度相對線(xiàn)程縮短。推薦看一下這篇帖子,我感覺(jué)寫(xiě)的很詳細了,
在用caploise來(lái)做監聽(tīng)線(xiàn)程的時(shí)候經(jīng)常會(huì )遇到類(lèi)似threadtimeout等的情況,不知道是怎么回事。
語(yǔ)言上來(lái)說(shuō),timeout是異步的。當thread過(guò)多的時(shí)候往往使用threadtimeout會(huì )更加合適一些。其次,線(xiàn)程一個(gè)是多線(xiàn)程的執行,一個(gè)是的執行,在時(shí)間上本身就有區別。python中每個(gè)event都會(huì )有一個(gè)timeoutifnotintimes.for_each是預取主線(xiàn)程一切timeout的上限最后,我覺(jué)得編程時(shí)的某些細節決定了timeout函數的合理性。
我就遇到了這樣的情況,在請求異步時(shí)線(xiàn)程異步造成timeoutifnotintimes.for_each或者直接設置timeoutifnotintimes.for_each。 查看全部
采集自動(dòng)組合(默認用thread來(lái)做監聽(tīng)線(xiàn)程的經(jīng)驗之談之采集)
采集自動(dòng)組合:可以生成主線(xiàn)程還有組合調用監聽(tīng)線(xiàn)程,
0)){if(server.isf(this,
0)){if(!server.isf(this,
0)){server.addflags("goto");}}}經(jīng)驗之談:最主要的還是用樣式來(lái)寫(xiě)下的功能。
大概是主線(xiàn)程運行python代碼,處理有異常的情況。比如修改了頁(yè)面,我試過(guò)tryexcept,差不多會(huì )終止,但是還是python在處理問(wèn)題。很多timeout的功能沒(méi)用。
python中timeout指定進(jìn)程(線(xiàn)程)最后運行的時(shí)間,當線(xiàn)程過(guò)多時(shí)timeout有可能變?yōu)樗梨i。本質(zhì)是調用的內部函數,所以你需要看是哪個(gè)線(xiàn)程在執行。當一個(gè)線(xiàn)程執行的時(shí)候timeout時(shí)間又未到的話(huà),
tornado默認是用thread的,但是實(shí)際做一些特殊優(yōu)化可以讓timeout的速度相對線(xiàn)程縮短。推薦看一下這篇帖子,我感覺(jué)寫(xiě)的很詳細了,
在用caploise來(lái)做監聽(tīng)線(xiàn)程的時(shí)候經(jīng)常會(huì )遇到類(lèi)似threadtimeout等的情況,不知道是怎么回事。
語(yǔ)言上來(lái)說(shuō),timeout是異步的。當thread過(guò)多的時(shí)候往往使用threadtimeout會(huì )更加合適一些。其次,線(xiàn)程一個(gè)是多線(xiàn)程的執行,一個(gè)是的執行,在時(shí)間上本身就有區別。python中每個(gè)event都會(huì )有一個(gè)timeoutifnotintimes.for_each是預取主線(xiàn)程一切timeout的上限最后,我覺(jué)得編程時(shí)的某些細節決定了timeout函數的合理性。
我就遇到了這樣的情況,在請求異步時(shí)線(xiàn)程異步造成timeoutifnotintimes.for_each或者直接設置timeoutifnotintimes.for_each。
采集自動(dòng)組合(采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 151 次瀏覽 ? 2021-11-28 13:01
采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹了組合sql技術(shù)在自動(dòng)組合java庫時(shí)的缺陷和connector的想法。最后提供了兩個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明工具鏈如何搭建。在計算機科學(xué)中有一種應用類(lèi)型叫成像對象。通常的把圖像作為3d模型被用來(lái)人工重建數據在電子或光學(xué)學(xué)科里叫3d成像對象。java也提供類(lèi)似的方法來(lái)繪制圖像,但在那些地方要使用2d圖像。
2d圖像比2d模型更小,渲染2d圖像更快速,更高效,渲染像素圖像更容易。如果你使用java來(lái)計算,編譯器會(huì )把圖像轉換成圖像對象,那會(huì )增加很多復雜性。所以最好的選擇是使用采集到的2d圖像作為3d模型來(lái)實(shí)現3d圖像渲染。成像對象是把正在計算的結果以2d方式在我們需要的地方顯示。這樣我們就可以用計算量小的2d圖像來(lái)獲得我們需要的高分辨率和視野,同時(shí)不需要復雜的數學(xué)方法來(lái)重建數據。
那么你可能想要一個(gè)既能一次性采集到所有3d結果,又能讓多次調用一次數據的應用程序。這個(gè)應用程序就是集成采集sql實(shí)現的scanbase類(lèi)。我們用java在jvm環(huán)境里運行了這個(gè)應用程序,并且為我們的代碼提供了足夠的運行時(shí)并且被大小為160gb的u3dmono虛擬機所利用。這個(gè)計算機的內部是使用采集到的sql數據。
scanbase類(lèi)里只有一個(gè)最簡(jiǎn)單的points(或稱(chēng)采集對象)實(shí)例化:publicinterfacescanbase{ac_objectbuild(stringrenderstarttx,stringrenderstarttx1,stringrenderstarttx2,stringrenderstarttx3,intrenderstartmeth,intrenderstarttack,intrenderstarttx);}這是一個(gè)容器實(shí)例化,需要傳入每個(gè)points的長(cháng)度,以及一些必須的參數。
我只傳了長(cháng)度為int類(lèi)型的renderstarttx,因為有時(shí)候這些對象會(huì )有重疊的ucnotconnected關(guān)聯(lián)。另外的如renderstartx和renderstartex兩個(gè)參數是一個(gè)參數對于一個(gè)int數值(可選),然后是一個(gè)指定數值。如果采集太遠的數值,你也可以加入參數renderstartx和renderstartex來(lái)預防數據重疊和脫落。
為什么scanbase不是基于list集合的數據結構呢?要了解原因,先了解我們的存儲層。points的長(cháng)度是2d的,并且存儲在一個(gè)數組里。如果數組被分為兩組,那么數組就會(huì )有一個(gè)大小大于1g的數組。要比這個(gè)數組大,你還需要很大的內存空間。根據我們自己的經(jīng)驗,一般都不會(huì )超過(guò)2g。在list的每個(gè)元素都有唯一的名字,也就是它的索引。
因此points只是一個(gè)數組里唯一的一個(gè)point對象而已。所以,這是一個(gè)單向無(wú)循環(huán)的數組,所以索引在循環(huán)里總是不會(huì )過(guò)早的被修改。另外,我們都知道scantable是使用list集合作為二進(jìn)制表示的。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹)
采集自動(dòng)組合技術(shù),輔助單個(gè)sql查詢(xún)這篇文章介紹了組合sql技術(shù)在自動(dòng)組合java庫時(shí)的缺陷和connector的想法。最后提供了兩個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明工具鏈如何搭建。在計算機科學(xué)中有一種應用類(lèi)型叫成像對象。通常的把圖像作為3d模型被用來(lái)人工重建數據在電子或光學(xué)學(xué)科里叫3d成像對象。java也提供類(lèi)似的方法來(lái)繪制圖像,但在那些地方要使用2d圖像。
2d圖像比2d模型更小,渲染2d圖像更快速,更高效,渲染像素圖像更容易。如果你使用java來(lái)計算,編譯器會(huì )把圖像轉換成圖像對象,那會(huì )增加很多復雜性。所以最好的選擇是使用采集到的2d圖像作為3d模型來(lái)實(shí)現3d圖像渲染。成像對象是把正在計算的結果以2d方式在我們需要的地方顯示。這樣我們就可以用計算量小的2d圖像來(lái)獲得我們需要的高分辨率和視野,同時(shí)不需要復雜的數學(xué)方法來(lái)重建數據。
那么你可能想要一個(gè)既能一次性采集到所有3d結果,又能讓多次調用一次數據的應用程序。這個(gè)應用程序就是集成采集sql實(shí)現的scanbase類(lèi)。我們用java在jvm環(huán)境里運行了這個(gè)應用程序,并且為我們的代碼提供了足夠的運行時(shí)并且被大小為160gb的u3dmono虛擬機所利用。這個(gè)計算機的內部是使用采集到的sql數據。
scanbase類(lèi)里只有一個(gè)最簡(jiǎn)單的points(或稱(chēng)采集對象)實(shí)例化:publicinterfacescanbase{ac_objectbuild(stringrenderstarttx,stringrenderstarttx1,stringrenderstarttx2,stringrenderstarttx3,intrenderstartmeth,intrenderstarttack,intrenderstarttx);}這是一個(gè)容器實(shí)例化,需要傳入每個(gè)points的長(cháng)度,以及一些必須的參數。
我只傳了長(cháng)度為int類(lèi)型的renderstarttx,因為有時(shí)候這些對象會(huì )有重疊的ucnotconnected關(guān)聯(lián)。另外的如renderstartx和renderstartex兩個(gè)參數是一個(gè)參數對于一個(gè)int數值(可選),然后是一個(gè)指定數值。如果采集太遠的數值,你也可以加入參數renderstartx和renderstartex來(lái)預防數據重疊和脫落。
為什么scanbase不是基于list集合的數據結構呢?要了解原因,先了解我們的存儲層。points的長(cháng)度是2d的,并且存儲在一個(gè)數組里。如果數組被分為兩組,那么數組就會(huì )有一個(gè)大小大于1g的數組。要比這個(gè)數組大,你還需要很大的內存空間。根據我們自己的經(jīng)驗,一般都不會(huì )超過(guò)2g。在list的每個(gè)元素都有唯一的名字,也就是它的索引。
因此points只是一個(gè)數組里唯一的一個(gè)point對象而已。所以,這是一個(gè)單向無(wú)循環(huán)的數組,所以索引在循環(huán)里總是不會(huì )過(guò)早的被修改。另外,我們都知道scantable是使用list集合作為二進(jìn)制表示的。
采集自動(dòng)組合(EditorTools3基礎版數據采集軟件特征無(wú)人值守(組圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 208 次瀏覽 ? 2021-11-23 15:10
EditorTools3基礎版是一款簡(jiǎn)單易用的數據采集軟件??梢愿鶕阍O置的規則允許,并且采集全天持續對數據執行。目前支持所有類(lèi)型的網(wǎng)站,并且會(huì )自動(dòng)合并采集的內容。
軟件功能
1、與網(wǎng)站分離,通過(guò)獨立產(chǎn)生的接口,可以支持任何網(wǎng)站或數據庫
2、體積小,低功耗,穩定性好,非常適合在服務(wù)器上運行
3、所有規則均可導入導出,資源靈活復用
4、使用FTP上傳文件,穩定安全
5、反向、順序、隨機可選采集文章
6、支持自動(dòng)列表網(wǎng)址
7、支持網(wǎng)站數據分布在多個(gè)頁(yè)面采集
8、自由設置數據項采集,每個(gè)數據項可以單獨過(guò)濾排序
9、支持分頁(yè)內容采集
10、支持下載任意格式和類(lèi)型的文件(包括圖片和視頻)
11、可以突破防盜文件
12、支持動(dòng)態(tài)文件URL解析
13、支持采集需要登錄才能訪(fǎng)問(wèn)的網(wǎng)頁(yè)
軟件特點(diǎn)
1、全自動(dòng)無(wú)人值守
無(wú)需值守,24小時(shí)自動(dòng)實(shí)時(shí)監控目標,實(shí)時(shí)高效采集,全天候為您提供內容更新。滿(mǎn)足長(cháng)期運營(yíng)需求,讓您從繁重的工作中解脫出來(lái)。
2、廣泛適用
最全能的采集軟件,支持任何類(lèi)型的網(wǎng)站采集,適用率高達99.9%,支持發(fā)布到所有類(lèi)型的網(wǎng)站 程序等您可以采集 本地文件并在沒(méi)有界面的情況下發(fā)布。
3、信息自由
支持信息的自由組合,通過(guò)強大的數據整理功能對信息進(jìn)行深度加工,創(chuàng )造新的內容。
4、任意格式文件下載
無(wú)論是靜態(tài)還是動(dòng)態(tài),無(wú)論是圖片、音樂(lè )、電影、軟件,還是PDF文檔、WORD文檔,甚至種子文件,只要你想。
5、偽原創(chuàng )
高速同義詞替換、多詞隨機替換、隨機段落排序、幫助內容SEO
6、無(wú)限多級頁(yè)面采集
從支持多級目錄開(kāi)始,無(wú)論是垂直的多級信息頁(yè)面,還是平行方向的多內容分頁(yè),還是AJAX調用頁(yè)面,都讓你輕松采集。
7、免費延期
開(kāi)放的接口模式,讓您自由開(kāi)發(fā)二次開(kāi)發(fā),定制任意功能,實(shí)現所有需求。
EditorTools3使用教程
1、使用注冊
通過(guò)注冊獲得使用ET的授權;
打開(kāi)主菜單-授權注冊,填寫(xiě)您在官方ET網(wǎng)站(非論壇)注冊的有效賬號,注冊使用ET獲得使用ET授權
2、系統設置
打開(kāi)主菜單-系統-基本設置,進(jìn)行各種系統設置
設置工作參數:根據您的需要設置工作參數
設置代理:如果使用代理上網(wǎng),請設置網(wǎng)頁(yè)的代理參數
設置劫持特征碼:很多地區的電信寬帶用戶(hù)在上網(wǎng)時(shí),會(huì )強制訪(fǎng)問(wèn)信息,將訪(fǎng)問(wèn)信息替換為一些代碼,使用戶(hù)只能通過(guò)代碼中的框架查看原創(chuàng )網(wǎng)頁(yè). 這通常用于顯示電信廣告或執行其他秘密操作,稱(chēng)為劫持瀏覽器;出現這種情況時(shí),ET的采集的源代碼只能得到這些劫持代碼,而不是采集的網(wǎng)頁(yè)源代碼。通過(guò)設置這些劫持代碼的特征字符串,ET將嘗試突破劫持訪(fǎng)問(wèn)真正的網(wǎng)頁(yè)源代碼,最多可重試5次訪(fǎng)問(wèn)網(wǎng)站。
3、選擇工作計劃
工作計劃包括從源獲取原創(chuàng )信息、處理信息、最終發(fā)布到目標網(wǎng)站的所有設置指令。執行自動(dòng)采集工作的是ET的指揮官。當我們制定好您需要的計劃后,您可以在主窗口中選擇工作計劃開(kāi)始采集工作。
更新內容
1. 新增:支持多代理,自動(dòng)輪換代理。
2. 優(yōu)化:字符解碼支持%xx格式。 查看全部
采集自動(dòng)組合(EditorTools3基礎版數據采集軟件特征無(wú)人值守(組圖))
EditorTools3基礎版是一款簡(jiǎn)單易用的數據采集軟件??梢愿鶕阍O置的規則允許,并且采集全天持續對數據執行。目前支持所有類(lèi)型的網(wǎng)站,并且會(huì )自動(dòng)合并采集的內容。

軟件功能
1、與網(wǎng)站分離,通過(guò)獨立產(chǎn)生的接口,可以支持任何網(wǎng)站或數據庫
2、體積小,低功耗,穩定性好,非常適合在服務(wù)器上運行
3、所有規則均可導入導出,資源靈活復用
4、使用FTP上傳文件,穩定安全
5、反向、順序、隨機可選采集文章
6、支持自動(dòng)列表網(wǎng)址
7、支持網(wǎng)站數據分布在多個(gè)頁(yè)面采集
8、自由設置數據項采集,每個(gè)數據項可以單獨過(guò)濾排序
9、支持分頁(yè)內容采集
10、支持下載任意格式和類(lèi)型的文件(包括圖片和視頻)
11、可以突破防盜文件
12、支持動(dòng)態(tài)文件URL解析
13、支持采集需要登錄才能訪(fǎng)問(wèn)的網(wǎng)頁(yè)
軟件特點(diǎn)
1、全自動(dòng)無(wú)人值守
無(wú)需值守,24小時(shí)自動(dòng)實(shí)時(shí)監控目標,實(shí)時(shí)高效采集,全天候為您提供內容更新。滿(mǎn)足長(cháng)期運營(yíng)需求,讓您從繁重的工作中解脫出來(lái)。
2、廣泛適用
最全能的采集軟件,支持任何類(lèi)型的網(wǎng)站采集,適用率高達99.9%,支持發(fā)布到所有類(lèi)型的網(wǎng)站 程序等您可以采集 本地文件并在沒(méi)有界面的情況下發(fā)布。
3、信息自由
支持信息的自由組合,通過(guò)強大的數據整理功能對信息進(jìn)行深度加工,創(chuàng )造新的內容。
4、任意格式文件下載
無(wú)論是靜態(tài)還是動(dòng)態(tài),無(wú)論是圖片、音樂(lè )、電影、軟件,還是PDF文檔、WORD文檔,甚至種子文件,只要你想。
5、偽原創(chuàng )
高速同義詞替換、多詞隨機替換、隨機段落排序、幫助內容SEO
6、無(wú)限多級頁(yè)面采集
從支持多級目錄開(kāi)始,無(wú)論是垂直的多級信息頁(yè)面,還是平行方向的多內容分頁(yè),還是AJAX調用頁(yè)面,都讓你輕松采集。
7、免費延期
開(kāi)放的接口模式,讓您自由開(kāi)發(fā)二次開(kāi)發(fā),定制任意功能,實(shí)現所有需求。
EditorTools3使用教程
1、使用注冊
通過(guò)注冊獲得使用ET的授權;
打開(kāi)主菜單-授權注冊,填寫(xiě)您在官方ET網(wǎng)站(非論壇)注冊的有效賬號,注冊使用ET獲得使用ET授權

2、系統設置
打開(kāi)主菜單-系統-基本設置,進(jìn)行各種系統設置

設置工作參數:根據您的需要設置工作參數
設置代理:如果使用代理上網(wǎng),請設置網(wǎng)頁(yè)的代理參數
設置劫持特征碼:很多地區的電信寬帶用戶(hù)在上網(wǎng)時(shí),會(huì )強制訪(fǎng)問(wèn)信息,將訪(fǎng)問(wèn)信息替換為一些代碼,使用戶(hù)只能通過(guò)代碼中的框架查看原創(chuàng )網(wǎng)頁(yè). 這通常用于顯示電信廣告或執行其他秘密操作,稱(chēng)為劫持瀏覽器;出現這種情況時(shí),ET的采集的源代碼只能得到這些劫持代碼,而不是采集的網(wǎng)頁(yè)源代碼。通過(guò)設置這些劫持代碼的特征字符串,ET將嘗試突破劫持訪(fǎng)問(wèn)真正的網(wǎng)頁(yè)源代碼,最多可重試5次訪(fǎng)問(wèn)網(wǎng)站。
3、選擇工作計劃
工作計劃包括從源獲取原創(chuàng )信息、處理信息、最終發(fā)布到目標網(wǎng)站的所有設置指令。執行自動(dòng)采集工作的是ET的指揮官。當我們制定好您需要的計劃后,您可以在主窗口中選擇工作計劃開(kāi)始采集工作。
更新內容
1. 新增:支持多代理,自動(dòng)輪換代理。
2. 優(yōu)化:字符解碼支持%xx格式。
采集自動(dòng)組合(WP-AutoBlog自動(dòng)采集發(fā)布插件,支持采集多層級內容)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 128 次瀏覽 ? 2021-11-22 04:26
WP-AutoBlog 是一個(gè)自動(dòng) 采集 發(fā)布插件,它可以 采集 來(lái)自任何 網(wǎng)站 內容并自動(dòng)更新您的 WordPress 網(wǎng)站。使用起來(lái)非常簡(jiǎn)單,無(wú)需復雜的設置,并且足夠強大穩定,支持wordpress的所有功能。
【軟件特色】
采集網(wǎng)站的任何內容,采集的信息一目了然
<p>通過(guò)簡(jiǎn)單的設置,可以采集來(lái)自任何網(wǎng)站的內容,并且可以設置多個(gè)采集任務(wù)同時(shí)運行,可以設置任務(wù)自動(dòng)或手動(dòng)運行,并且主任務(wù)列表顯示每個(gè)采集任務(wù)的狀態(tài):上次測試的時(shí)間采集,下次測試的預計時(shí)間采集,最新的采集< @文章,更新了采集 查看全部
采集自動(dòng)組合(WP-AutoBlog自動(dòng)采集發(fā)布插件,支持采集多層級內容)
WP-AutoBlog 是一個(gè)自動(dòng) 采集 發(fā)布插件,它可以 采集 來(lái)自任何 網(wǎng)站 內容并自動(dòng)更新您的 WordPress 網(wǎng)站。使用起來(lái)非常簡(jiǎn)單,無(wú)需復雜的設置,并且足夠強大穩定,支持wordpress的所有功能。

【軟件特色】
采集網(wǎng)站的任何內容,采集的信息一目了然
<p>通過(guò)簡(jiǎn)單的設置,可以采集來(lái)自任何網(wǎng)站的內容,并且可以設置多個(gè)采集任務(wù)同時(shí)運行,可以設置任務(wù)自動(dòng)或手動(dòng)運行,并且主任務(wù)列表顯示每個(gè)采集任務(wù)的狀態(tài):上次測試的時(shí)間采集,下次測試的預計時(shí)間采集,最新的采集< @文章,更新了采集
采集自動(dòng)組合(v7版本增加了一個(gè)標簽組合的結果和內容頁(yè)標簽 )
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 161 次瀏覽 ? 2021-11-20 16:11
)
v7版本增加了標簽組合功能。很多朋友在使用過(guò)程中發(fā)現組合的結果與自己想要的結果不一致。讓我解釋一下這個(gè)功能的使用。
1.標簽的組合是文件下載前的內容
有朋友發(fā)現a標簽中下載了某個(gè)文件,原地址為aaa,下載或檢測到的地址為bbb。那么,如果在b標簽中組合a標簽,a標簽的值為aaa。為什么使用這種處理方法是因為文件下載是在標簽組合后進(jìn)行的。如何實(shí)現標簽內容為文件下載后的結果?你可以新建一個(gè)標簽,選擇“自定義固定格式數據”,把你的標簽組合的內容放進(jìn)去。這里的替換會(huì )在文件下載后進(jìn)行。
2.內容頁(yè)面標簽循環(huán)采集并添加為新記錄
如果兩個(gè)組合的標簽都是內容頁(yè)標簽,當這兩個(gè)標簽組合時(shí),會(huì )根據循環(huán)次數最多的記錄生成相同數量的新循環(huán)記錄。如果一個(gè)標簽的循環(huán)次數較少,則新生成的標簽中該標簽的值為空。例如,將標簽a、b 組合起來(lái)生成標簽c。a的循環(huán)數為5,b的循環(huán)數為3,將產(chǎn)生5個(gè)cs。其中,前3個(gè)標簽的值分別對應a和b。在最后兩個(gè)值中,b 的值為空。假設a的值為11,22,33,44,55,b的值為aa,bb,cc.c是[label:a][label:b]的組合,生成c的值是 11aa,22bb,33cc,44,55.
3.列表頁(yè)標簽和內容頁(yè)標簽組合
如果兩個(gè)標簽中的一個(gè)是內容頁(yè),另一個(gè)是列表頁(yè),則內容頁(yè)將參與第2條中的循環(huán)處理。在這個(gè)過(guò)程中,列表頁(yè)被視為一個(gè)字符串。合并完成后,程序將再次進(jìn)行數據處理操作。最后,組合標簽中列表頁(yè)面標簽的內容將替換為實(shí)際值??梢栽俅翁崛『拖螺d組合結果。比如內容頁(yè)a和列表頁(yè)b組合生成c,其中a的值為11、22、22,b的值為bb,那么c的第一個(gè)組合結果為11[label: b],22[label:b],33[label:b],然后進(jìn)行數據處理。如果b的值為bb,那么最終的結果可能是11bb、22bb、33bb。
有的朋友可能會(huì )說(shuō),為什么要把這個(gè)功能弄的這么復雜。其實(shí)這個(gè)函數主要用于第一個(gè)函數,其他的組合可能會(huì )產(chǎn)生和原來(lái)想法不同的結果。建議大家不要濫用這個(gè)功能,不要把它想象成靈丹妙藥。
標簽組合示例,如下圖:
我們將標題和下載地址標簽組合成一個(gè)新標簽,以“$$$$”分隔,我們的測試結果如下:
你看到了嗎。效果和我們預想的一樣。
然后這個(gè)就簡(jiǎn)單使用了,我什么都沒(méi)學(xué)到。
然后還有另一種標簽組合,見(jiàn)下圖:
這樣測試的結果是什么,應該和上面的情況一樣,誰(shuí)知道呢,我們測試一下看看
查看全部
采集自動(dòng)組合(v7版本增加了一個(gè)標簽組合的結果和內容頁(yè)標簽
)
v7版本增加了標簽組合功能。很多朋友在使用過(guò)程中發(fā)現組合的結果與自己想要的結果不一致。讓我解釋一下這個(gè)功能的使用。
1.標簽的組合是文件下載前的內容
有朋友發(fā)現a標簽中下載了某個(gè)文件,原地址為aaa,下載或檢測到的地址為bbb。那么,如果在b標簽中組合a標簽,a標簽的值為aaa。為什么使用這種處理方法是因為文件下載是在標簽組合后進(jìn)行的。如何實(shí)現標簽內容為文件下載后的結果?你可以新建一個(gè)標簽,選擇“自定義固定格式數據”,把你的標簽組合的內容放進(jìn)去。這里的替換會(huì )在文件下載后進(jìn)行。
2.內容頁(yè)面標簽循環(huán)采集并添加為新記錄
如果兩個(gè)組合的標簽都是內容頁(yè)標簽,當這兩個(gè)標簽組合時(shí),會(huì )根據循環(huán)次數最多的記錄生成相同數量的新循環(huán)記錄。如果一個(gè)標簽的循環(huán)次數較少,則新生成的標簽中該標簽的值為空。例如,將標簽a、b 組合起來(lái)生成標簽c。a的循環(huán)數為5,b的循環(huán)數為3,將產(chǎn)生5個(gè)cs。其中,前3個(gè)標簽的值分別對應a和b。在最后兩個(gè)值中,b 的值為空。假設a的值為11,22,33,44,55,b的值為aa,bb,cc.c是[label:a][label:b]的組合,生成c的值是 11aa,22bb,33cc,44,55.
3.列表頁(yè)標簽和內容頁(yè)標簽組合
如果兩個(gè)標簽中的一個(gè)是內容頁(yè),另一個(gè)是列表頁(yè),則內容頁(yè)將參與第2條中的循環(huán)處理。在這個(gè)過(guò)程中,列表頁(yè)被視為一個(gè)字符串。合并完成后,程序將再次進(jìn)行數據處理操作。最后,組合標簽中列表頁(yè)面標簽的內容將替換為實(shí)際值??梢栽俅翁崛『拖螺d組合結果。比如內容頁(yè)a和列表頁(yè)b組合生成c,其中a的值為11、22、22,b的值為bb,那么c的第一個(gè)組合結果為11[label: b],22[label:b],33[label:b],然后進(jìn)行數據處理。如果b的值為bb,那么最終的結果可能是11bb、22bb、33bb。
有的朋友可能會(huì )說(shuō),為什么要把這個(gè)功能弄的這么復雜。其實(shí)這個(gè)函數主要用于第一個(gè)函數,其他的組合可能會(huì )產(chǎn)生和原來(lái)想法不同的結果。建議大家不要濫用這個(gè)功能,不要把它想象成靈丹妙藥。
標簽組合示例,如下圖:

我們將標題和下載地址標簽組合成一個(gè)新標簽,以“$$$$”分隔,我們的測試結果如下:

你看到了嗎。效果和我們預想的一樣。
然后這個(gè)就簡(jiǎn)單使用了,我什么都沒(méi)學(xué)到。
然后還有另一種標簽組合,見(jiàn)下圖:

這樣測試的結果是什么,應該和上面的情況一樣,誰(shuí)知道呢,我們測試一下看看
采集自動(dòng)組合(數據采集系統中自動(dòng)入庫設計工具的研究與實(shí)現(圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 127 次瀏覽 ? 2021-11-10 10:03
數據采集系統中自動(dòng)存儲設計工具的研究與實(shí)現 徐鵬 孫元 清華大學(xué)計算機系 E-Mail: xp{sBORy)@kcg. CS。協(xié)會(huì ) ingIlu&edu。cn ■ Stack:基于web的數據采集查殺系統,處理的數據量比較大;同時(shí),采集的數據格式經(jīng)常需要改變。因此,使用傳統的音樂(lè )方式為每個(gè)版本的冰童設計自己的教學(xué)數據存儲程序往往成本高昂,開(kāi)發(fā)周期長(cháng)。園區需要為系統提供可視化的開(kāi)發(fā)工具。允許用戶(hù)自定義冰通中的數據模型與數據庫中救援城市的對應關(guān)系,系統根據用戶(hù)的設置自動(dòng)完成存儲操作。本文將針對這一需求提出相應的解決方案。關(guān)磊字:JDBc,Drums 字典,結合基于牛奶b采集的數據中的對應關(guān)系和在線(xiàn)發(fā)布系統,定期報告數據的自動(dòng)存儲系統主要用于接收來(lái)自的最終定期提交用戶(hù)在應用服務(wù)器上報數據后,用于將上市公司數據提取并寫(xiě)入信息中心數據庫的操作。自動(dòng)入庫系統可以配合定期報表數據采集系統使用,即用戶(hù)報表數據通過(guò)網(wǎng)絡(luò )寫(xiě)入數據庫的同時(shí),對外發(fā)布使用的數據信息基于證券交易所信息中心數據庫的信息模型,由定期報告數據自動(dòng)存儲系統寫(xiě)入信息中心數據庫。同時(shí)進(jìn)行倉儲作業(yè)。根據信息中心的需要,可以對部分數據進(jìn)行統計處理,生成統計信息寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率。
一。W基于歌曲的數據采集和在線(xiàn)發(fā)布系統中的JDBC 本系統完全用Java語(yǔ)言編寫(xiě),因此選擇JDBC訪(fǎng)問(wèn)數據庫。這既充分利用了Java語(yǔ)言的特點(diǎn),又保證了其他部分與數據庫的相對獨立性。圖書(shū)館。諸如數據存儲系統之類(lèi)的應用程序正在服務(wù)器上運行。它與客戶(hù)端沒(méi)有直接關(guān)系,它直接通過(guò)J Ming c 訪(fǎng)問(wèn)數據庫。無(wú)需通過(guò)其他級別。當AppIet之類(lèi)的瀏覽器助手想要查詢(xún)和修改數據庫時(shí)。它是通過(guò)服務(wù)器上的 J8va 應用程序完成的。無(wú)論是本系統中基于瀏覽器的數據采集系統。在基于瀏覽器的數據查詢(xún)系統中,Applet 不用于直接訪(fǎng)問(wèn)數據庫,因為 Applet 受安全限制只能與下載的服務(wù)器建立連接。因此,只能訪(fǎng)問(wèn)服務(wù)器應用程序上的數據庫。本系統的數據庫可能與 scapular w 服務(wù)器不在同一臺計算機上。使用Java作為Applet的中間層來(lái)訪(fǎng)問(wèn)數據庫也可以提高訪(fǎng)問(wèn)效率,比如始終保持與數據庫的連接,而不是每次訪(fǎng)問(wèn)都重新建立連接。您還可以組織和過(guò)濾 Applet 發(fā)送的請求。再次訪(fǎng)問(wèn)數據庫。TcP 協(xié)議用于 Applet 和中間層的 Application 之間的通信。本系統使用JDBC訪(fǎng)問(wèn)數據庫的一般程序流程如下:1) 加載數據庫的JDBC驅動(dòng);2) 與數據庫建立連接: 3) 創(chuàng )建 Statement 對象;4)中對Statement對象執行SQL語(yǔ)句,返回Resultset對象: 5) 處理ResultSet對象,得到查詢(xún)結果;6) 關(guān)閉與數據庫的連接。
JavaApplication作為中間層的過(guò)程如下: 1) 加載數據庫的JDBC驅動(dòng): 2) 與數據庫建立連接;3) 監聽(tīng)某個(gè)端口,等待Applet連接;4) 與Applet 建立連接后。接收來(lái)自 ADplet 的請求;5) 組織過(guò)濾請求,形成SQL語(yǔ)句;6) 創(chuàng )建 Statement 對象;7) 對 Statement 對象執行 SQL 語(yǔ)句并返回 ResultSet 對象;8)處理ResalltSet對象,得到查詢(xún)結果{9)將查詢(xún)結果返回給Applet;10)斷開(kāi)與^pDlet的連接,返回4)重新收聽(tīng)。實(shí)際上,接收Applet請求、訪(fǎng)問(wèn)數據庫和返回結果都是由一個(gè)線(xiàn)程完成的。主線(xiàn)程繼續返回監聽(tīng)狀態(tài)。這樣的應用程序可以同時(shí)為多個(gè) ApDlets 服務(wù)。二。自動(dòng)數據存儲工具的設計。圖ll 數據庫存儲流程 在上交所年報系統中,數據存儲操作的系統設置包括源數據庫設置、數據存儲操作設置、源數據與數據庫對應設置。Tan數據設置用于連接給定的數據庫,獲取數據庫中表結構的相關(guān)信息進(jìn)行系統設置。需要由系統管理員填寫(xiě)或選擇的相關(guān)數據是用于連接數據庫的驅動(dòng)程序、數據池名稱(chēng)、用戶(hù)名和密碼。系統會(huì )調用JDBC接口訪(fǎng)問(wèn)數據庫。
數據庫對應關(guān)系設置用于設置數據字典與數據庫中表結構存儲的對應關(guān)系,為系統的數據存儲功能提供了極大的靈活性。提供給用戶(hù)的界面上的表項和數據庫中的條目之間建立了對應關(guān)系。并允許數據庫管理員針對不同的報表類(lèi)型進(jìn)行修改,以保證系統的可復用性。具體設計在后面介紹。數據庫對應關(guān)系設計完成后,即可將數據存入數據庫中。數據存儲操作也完全按照管理員設置的對應表進(jìn)行。用于數據存儲過(guò)程。我們可以簡(jiǎn)單地用圖ll來(lái)表示它。2. 1 數據字典和數據庫存儲的對應設計思路在數據采集系統中,用戶(hù)填寫(xiě)界面上有很多表項,不同的表收錄子表和自定義項,所以有不同的入庫操作。同一個(gè)界面的表項中不同數據字段的存儲操作是不一樣的。對于這個(gè)不一致的數據單元,我們首先根據需要確定了表結構,將數據庫中的一些接口表進(jìn)行拆分,以適應不同的操作。比如界面上的募款表,分為募款總額表和數據庫中募款資金使用明細表。關(guān)聯(lián)交易表和投資收益表也是如此。所以,接口表中的字段與數據庫中的字段不完全對應。同時(shí)??紤]到系統的用戶(hù)界面因國內外不同類(lèi)型的報告(如年報和中期報告)而異,并考慮到相關(guān)財務(wù)計算指標的變化,系統需要很大的靈活性。
對于數據庫。首先,條目多,數據庫中存儲的數據量巨大。而且這些數據的重要性比較高,要保證數據庫中數據的基本穩定性。因此,在上交所年報系統的數據存儲操作中,我們提供了一個(gè)功能模塊,用于設置界面表項中的字段與數據庫表結構中的字段之間的對應關(guān)系。該模塊將用戶(hù)界面的數據字段映射到數據庫中字段的計算關(guān)系。這降低了兩者之間的耦合程度。使我們的系統實(shí)施更加靈活方便。更改用戶(hù)界面條目時(shí)?;蛘咴诟臄祿熘械谋砘蜃侄螘r(shí),對方不需要做大的改動(dòng),只需要使用對應關(guān)系設置工具修改入庫規則即可。對于界面上表項中的每個(gè)域,我們在系統中用16位進(jìn)行編碼,以及每個(gè)域的代碼和具體的域名。存儲在數據字典(SCDicti.nary軟件包)中,直接調用程序中的數據代碼即可獲取數據字段。這也體現了系統設計的靈活性。修改界面上的域名時(shí),只需要修改數據字典中對應的域名即可,程序中代碼的調用保持不變。對于數據庫中的每個(gè)域,基本上都是按照不同的接口表來(lái)保存的。例如,我們前面介紹的總表和明細表。對于不同的數據庫表,賴(lài)瑞有三個(gè)共同的主鍵,如下: lh吖『∞fn口awIdl』v叫ch stare 1(30)NOTNULLI nepo^Ye state『varch called(30)@ >NoTNULLl fr∞。
第一位表示表代碼(格式為表名域名),第二位表示表中的字段代碼)¨==≤:=2·5~6·7Ⅱ 圖2接口域和數據庫域一-對多關(guān)系。另外,數據庫中字段的值可以是接口字段的組合,比如接口上字段的代碼。數據庫中的數據字段(雙參數。第一個(gè)數字代表表代碼(格式為表名字段名)第二個(gè)數字代表表中域的代碼) 3.7+3.16——————圖3l中界面域對應關(guān)系對象組合的計算方法。包括常用的整型和浮點(diǎn)型數據,如類(lèi)型、字符串類(lèi)型,以及它們的組合操作。2. 2 域對應關(guān)系及其設置在數據庫中存儲的數據表中。除了用戶(hù)進(jìn)入數據庫的年報基礎數據表外,還有一個(gè)域對應表calTable。
在復選框中,首先選擇數據庫中的一個(gè)表,窗口的左列將顯示數據庫中的所有列名。同時(shí)右側會(huì )顯示已經(jīng)設置好的計算方式(即與界面字段的對應關(guān)系)。當用戶(hù)設置或修改域時(shí),只需點(diǎn)擊右側的小按鈕,彈出域選擇對話(huà)框。用戶(hù)選擇界面域或它們的組合后,新設置的對應關(guān)系會(huì )在 右側欄中顯示。用戶(hù)點(diǎn)擊“申請”,確認此表中信函的對應關(guān)系,重新入庫。然后用戶(hù)可以對下一個(gè)表進(jìn)行操作。3.數據存儲操作data采集系統加載的數據保存在SCReportData對象中,
以及從CalTable獲得的每個(gè)表中每個(gè)字段的計算方法。為數據庫中的基礎數據表(即用戶(hù)需要進(jìn)入數據庫的數據表)。分為三種情況: ·表中每個(gè)公司的記錄是唯一的,不依賴(lài)于報表類(lèi)型。唯一表:主要是companyTable,changes和changes。所以每次都入庫。對標記執行更新操作?!?基本表格:這些表格中的數據對于每個(gè)年度報告或中期報告都是唯一的。但是,不同類(lèi)型的報告將對應不同的記錄。對于這些表,每次將報表放入數據庫時(shí)??都會(huì )執行一次寫(xiě)入操作?!?子表或明細表:這些表中的數據對于每個(gè)年度報告或中期報告可以有多條記錄,因此對它們執行批量寫(xiě)入操作。針對這三種情況,系統提供了相應的數據庫操作方法來(lái)保證數據的完整性。我們可以用K圖5來(lái)說(shuō)明倉儲作業(yè)的流程。Ⅱ 圖 5l 數據庫存儲操作流程 查看全部
采集自動(dòng)組合(數據采集系統中自動(dòng)入庫設計工具的研究與實(shí)現(圖))
數據采集系統中自動(dòng)存儲設計工具的研究與實(shí)現 徐鵬 孫元 清華大學(xué)計算機系 E-Mail: xp{sBORy)@kcg. CS。協(xié)會(huì ) ingIlu&edu。cn ■ Stack:基于web的數據采集查殺系統,處理的數據量比較大;同時(shí),采集的數據格式經(jīng)常需要改變。因此,使用傳統的音樂(lè )方式為每個(gè)版本的冰童設計自己的教學(xué)數據存儲程序往往成本高昂,開(kāi)發(fā)周期長(cháng)。園區需要為系統提供可視化的開(kāi)發(fā)工具。允許用戶(hù)自定義冰通中的數據模型與數據庫中救援城市的對應關(guān)系,系統根據用戶(hù)的設置自動(dòng)完成存儲操作。本文將針對這一需求提出相應的解決方案。關(guān)磊字:JDBc,Drums 字典,結合基于牛奶b采集的數據中的對應關(guān)系和在線(xiàn)發(fā)布系統,定期報告數據的自動(dòng)存儲系統主要用于接收來(lái)自的最終定期提交用戶(hù)在應用服務(wù)器上報數據后,用于將上市公司數據提取并寫(xiě)入信息中心數據庫的操作。自動(dòng)入庫系統可以配合定期報表數據采集系統使用,即用戶(hù)報表數據通過(guò)網(wǎng)絡(luò )寫(xiě)入數據庫的同時(shí),對外發(fā)布使用的數據信息基于證券交易所信息中心數據庫的信息模型,由定期報告數據自動(dòng)存儲系統寫(xiě)入信息中心數據庫。同時(shí)進(jìn)行倉儲作業(yè)。根據信息中心的需要,可以對部分數據進(jìn)行統計處理,生成統計信息寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率??梢詫Σ糠謹祿M(jìn)行統計處理,生成統計信息,寫(xiě)入數據庫;這樣可以減少信息中心工作人員的工作量。提高工作效率。
一。W基于歌曲的數據采集和在線(xiàn)發(fā)布系統中的JDBC 本系統完全用Java語(yǔ)言編寫(xiě),因此選擇JDBC訪(fǎng)問(wèn)數據庫。這既充分利用了Java語(yǔ)言的特點(diǎn),又保證了其他部分與數據庫的相對獨立性。圖書(shū)館。諸如數據存儲系統之類(lèi)的應用程序正在服務(wù)器上運行。它與客戶(hù)端沒(méi)有直接關(guān)系,它直接通過(guò)J Ming c 訪(fǎng)問(wèn)數據庫。無(wú)需通過(guò)其他級別。當AppIet之類(lèi)的瀏覽器助手想要查詢(xún)和修改數據庫時(shí)。它是通過(guò)服務(wù)器上的 J8va 應用程序完成的。無(wú)論是本系統中基于瀏覽器的數據采集系統。在基于瀏覽器的數據查詢(xún)系統中,Applet 不用于直接訪(fǎng)問(wèn)數據庫,因為 Applet 受安全限制只能與下載的服務(wù)器建立連接。因此,只能訪(fǎng)問(wèn)服務(wù)器應用程序上的數據庫。本系統的數據庫可能與 scapular w 服務(wù)器不在同一臺計算機上。使用Java作為Applet的中間層來(lái)訪(fǎng)問(wèn)數據庫也可以提高訪(fǎng)問(wèn)效率,比如始終保持與數據庫的連接,而不是每次訪(fǎng)問(wèn)都重新建立連接。您還可以組織和過(guò)濾 Applet 發(fā)送的請求。再次訪(fǎng)問(wèn)數據庫。TcP 協(xié)議用于 Applet 和中間層的 Application 之間的通信。本系統使用JDBC訪(fǎng)問(wèn)數據庫的一般程序流程如下:1) 加載數據庫的JDBC驅動(dòng);2) 與數據庫建立連接: 3) 創(chuàng )建 Statement 對象;4)中對Statement對象執行SQL語(yǔ)句,返回Resultset對象: 5) 處理ResultSet對象,得到查詢(xún)結果;6) 關(guān)閉與數據庫的連接。
JavaApplication作為中間層的過(guò)程如下: 1) 加載數據庫的JDBC驅動(dòng): 2) 與數據庫建立連接;3) 監聽(tīng)某個(gè)端口,等待Applet連接;4) 與Applet 建立連接后。接收來(lái)自 ADplet 的請求;5) 組織過(guò)濾請求,形成SQL語(yǔ)句;6) 創(chuàng )建 Statement 對象;7) 對 Statement 對象執行 SQL 語(yǔ)句并返回 ResultSet 對象;8)處理ResalltSet對象,得到查詢(xún)結果{9)將查詢(xún)結果返回給Applet;10)斷開(kāi)與^pDlet的連接,返回4)重新收聽(tīng)。實(shí)際上,接收Applet請求、訪(fǎng)問(wèn)數據庫和返回結果都是由一個(gè)線(xiàn)程完成的。主線(xiàn)程繼續返回監聽(tīng)狀態(tài)。這樣的應用程序可以同時(shí)為多個(gè) ApDlets 服務(wù)。二。自動(dòng)數據存儲工具的設計。圖ll 數據庫存儲流程 在上交所年報系統中,數據存儲操作的系統設置包括源數據庫設置、數據存儲操作設置、源數據與數據庫對應設置。Tan數據設置用于連接給定的數據庫,獲取數據庫中表結構的相關(guān)信息進(jìn)行系統設置。需要由系統管理員填寫(xiě)或選擇的相關(guān)數據是用于連接數據庫的驅動(dòng)程序、數據池名稱(chēng)、用戶(hù)名和密碼。系統會(huì )調用JDBC接口訪(fǎng)問(wèn)數據庫。
數據庫對應關(guān)系設置用于設置數據字典與數據庫中表結構存儲的對應關(guān)系,為系統的數據存儲功能提供了極大的靈活性。提供給用戶(hù)的界面上的表項和數據庫中的條目之間建立了對應關(guān)系。并允許數據庫管理員針對不同的報表類(lèi)型進(jìn)行修改,以保證系統的可復用性。具體設計在后面介紹。數據庫對應關(guān)系設計完成后,即可將數據存入數據庫中。數據存儲操作也完全按照管理員設置的對應表進(jìn)行。用于數據存儲過(guò)程。我們可以簡(jiǎn)單地用圖ll來(lái)表示它。2. 1 數據字典和數據庫存儲的對應設計思路在數據采集系統中,用戶(hù)填寫(xiě)界面上有很多表項,不同的表收錄子表和自定義項,所以有不同的入庫操作。同一個(gè)界面的表項中不同數據字段的存儲操作是不一樣的。對于這個(gè)不一致的數據單元,我們首先根據需要確定了表結構,將數據庫中的一些接口表進(jìn)行拆分,以適應不同的操作。比如界面上的募款表,分為募款總額表和數據庫中募款資金使用明細表。關(guān)聯(lián)交易表和投資收益表也是如此。所以,接口表中的字段與數據庫中的字段不完全對應。同時(shí)??紤]到系統的用戶(hù)界面因國內外不同類(lèi)型的報告(如年報和中期報告)而異,并考慮到相關(guān)財務(wù)計算指標的變化,系統需要很大的靈活性。
對于數據庫。首先,條目多,數據庫中存儲的數據量巨大。而且這些數據的重要性比較高,要保證數據庫中數據的基本穩定性。因此,在上交所年報系統的數據存儲操作中,我們提供了一個(gè)功能模塊,用于設置界面表項中的字段與數據庫表結構中的字段之間的對應關(guān)系。該模塊將用戶(hù)界面的數據字段映射到數據庫中字段的計算關(guān)系。這降低了兩者之間的耦合程度。使我們的系統實(shí)施更加靈活方便。更改用戶(hù)界面條目時(shí)?;蛘咴诟臄祿熘械谋砘蜃侄螘r(shí),對方不需要做大的改動(dòng),只需要使用對應關(guān)系設置工具修改入庫規則即可。對于界面上表項中的每個(gè)域,我們在系統中用16位進(jìn)行編碼,以及每個(gè)域的代碼和具體的域名。存儲在數據字典(SCDicti.nary軟件包)中,直接調用程序中的數據代碼即可獲取數據字段。這也體現了系統設計的靈活性。修改界面上的域名時(shí),只需要修改數據字典中對應的域名即可,程序中代碼的調用保持不變。對于數據庫中的每個(gè)域,基本上都是按照不同的接口表來(lái)保存的。例如,我們前面介紹的總表和明細表。對于不同的數據庫表,賴(lài)瑞有三個(gè)共同的主鍵,如下: lh吖『∞fn口awIdl』v叫ch stare 1(30)NOTNULLI nepo^Ye state『varch called(30)@ >NoTNULLl fr∞。
第一位表示表代碼(格式為表名域名),第二位表示表中的字段代碼)¨==≤:=2·5~6·7Ⅱ 圖2接口域和數據庫域一-對多關(guān)系。另外,數據庫中字段的值可以是接口字段的組合,比如接口上字段的代碼。數據庫中的數據字段(雙參數。第一個(gè)數字代表表代碼(格式為表名字段名)第二個(gè)數字代表表中域的代碼) 3.7+3.16——————圖3l中界面域對應關(guān)系對象組合的計算方法。包括常用的整型和浮點(diǎn)型數據,如類(lèi)型、字符串類(lèi)型,以及它們的組合操作。2. 2 域對應關(guān)系及其設置在數據庫中存儲的數據表中。除了用戶(hù)進(jìn)入數據庫的年報基礎數據表外,還有一個(gè)域對應表calTable。
在復選框中,首先選擇數據庫中的一個(gè)表,窗口的左列將顯示數據庫中的所有列名。同時(shí)右側會(huì )顯示已經(jīng)設置好的計算方式(即與界面字段的對應關(guān)系)。當用戶(hù)設置或修改域時(shí),只需點(diǎn)擊右側的小按鈕,彈出域選擇對話(huà)框。用戶(hù)選擇界面域或它們的組合后,新設置的對應關(guān)系會(huì )在 右側欄中顯示。用戶(hù)點(diǎn)擊“申請”,確認此表中信函的對應關(guān)系,重新入庫。然后用戶(hù)可以對下一個(gè)表進(jìn)行操作。3.數據存儲操作data采集系統加載的數據保存在SCReportData對象中,
以及從CalTable獲得的每個(gè)表中每個(gè)字段的計算方法。為數據庫中的基礎數據表(即用戶(hù)需要進(jìn)入數據庫的數據表)。分為三種情況: ·表中每個(gè)公司的記錄是唯一的,不依賴(lài)于報表類(lèi)型。唯一表:主要是companyTable,changes和changes。所以每次都入庫。對標記執行更新操作?!?基本表格:這些表格中的數據對于每個(gè)年度報告或中期報告都是唯一的。但是,不同類(lèi)型的報告將對應不同的記錄。對于這些表,每次將報表放入數據庫時(shí)??都會(huì )執行一次寫(xiě)入操作?!?子表或明細表:這些表中的數據對于每個(gè)年度報告或中期報告可以有多條記錄,因此對它們執行批量寫(xiě)入操作。針對這三種情況,系統提供了相應的數據庫操作方法來(lái)保證數據的完整性。我們可以用K圖5來(lái)說(shuō)明倉儲作業(yè)的流程。Ⅱ 圖 5l 數據庫存儲操作流程
采集自動(dòng)組合(元數據資產(chǎn)治理(詳情見(jiàn)),需注意什么?)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 94 次瀏覽 ? 2021-11-05 04:14
一、簡(jiǎn)介
數據資產(chǎn)治理的前提(見(jiàn):)必須有數據。它要求數據類(lèi)型齊全,數量大,并盡可能覆蓋數據流通的方方面面。元數據 采集 變得尤為重要。它是數據資產(chǎn)治理的核心基礎。
在早期的采集系統中,我們主要使用“API直連”來(lái)連接采集Hive/Mysql表元數據。隨著(zhù)業(yè)務(wù)的快速發(fā)展,對數據運營(yíng)和成本管理的需求越來(lái)越強烈。元數據需要覆蓋整個(gè)數據鏈路,包括離線(xiàn)計算平臺、實(shí)時(shí)計算平臺、內部工具、任務(wù)元數據等。采集在元數據的過(guò)程中,我們遇到了以下困難:
本文主要介紹了我們在元數據含義、提取、采集、監控告警等方面所做的一些事情。
二、元數據2.1 什么是元數據
什么是元數據?元數據是“用于描述數據的數據”。例如:我用手機拍了一張照片,查看了照片的詳細信息,如下圖:
照片信息
文件名:IMG_20201217_114115
時(shí)間:2020年12月17號 11:30:01
分辨率:4608X2592
文件大?。?.69MB
相機制造商:OnePlus
相機型號:ONEPLUS A5000
閃光燈:未使用閃光燈
焦距:4.10mm
白平衡:自動(dòng)
光圈:f/1.7
曝光時(shí)間:1/50
ISO:1250
這些是數碼照片的元數據,用于描述圖片。在資產(chǎn)管理平臺中,我們采集Hive組件的元數據包括:表名、字段列表、負責人、任務(wù)調度信息等。
采集全鏈路數據(各種元數據)可以幫助數據平臺回答:我們有哪些數據?有多少人在使用它?什么是數據存儲?如何找到這些數據?什么是數據流?分析問(wèn)題的根源,結合血緣關(guān)系分析影響。
2.2 采集 什么元數據
如下圖所示,是一個(gè)數據流圖。我們主要采集各個(gè)平臺組件:
截至目前,采集所達到的平臺組件已經(jīng)覆蓋了整個(gè)數據鏈路。涵蓋10種數據+,基礎元數據量10w+。主要包括:
三、元數據提取
如何從眾多平臺組件中提取元數據?大致有以下幾個(gè)方面:
計算任務(wù)通過(guò)分析任務(wù)的輸入/輸出依賴(lài)配置獲得血緣關(guān)系。SQL類(lèi)任務(wù)使用“Sql Parser”(ANTLR4系統實(shí)現的sql重寫(xiě)工具)工具解析SQL腳本,獲取表/字段級血緣關(guān)系。3.1 線(xiàn)下平臺
主要是采集Hive/RDS表的元數據。
Hive組件的元數據存放在Metastore中,通過(guò)JDBC訪(fǎng)問(wèn)Mysql獲取數據庫表的元數據。根據Hive表信息組裝HDFS地址,通過(guò)FileSystem API獲取文件狀態(tài)、文件編號、文件大小、數據更新時(shí)間等趨勢數據。
RDS平臺提供Mysql服務(wù)的管理,通過(guò)平臺提供的服務(wù)接口獲取表元數據、趨勢數據、訪(fǎng)問(wèn)狀態(tài)等信息。
3.2 實(shí)時(shí)平臺
主要是Flume/Hbase/Kafka等組件的元數據。
例如:我們訪(fǎng)問(wèn)放置在KP平臺的工單數據,獲取topic的基本元數據信息,定期消費topic獲取樣本數據,解析字段列表。平臺本身提供集群狀態(tài)和業(yè)務(wù)監控指標,通過(guò)平臺服務(wù)獲取集群資源的使用情況。
3.3 內部工具
主要是BI報表系統的血緣關(guān)系數據(BI報表查詢(xún)的Hive表和Mysql表關(guān)系)、指標數據庫(Hive表和指標相關(guān)的字段關(guān)系)、OneService服務(wù)(訪(fǎng)問(wèn)哪些數據庫表的關(guān)系數據)通過(guò)接口)。
這些內部系統在產(chǎn)品的不斷迭代中積累了大量的元數據。在不考慮元數據的時(shí)效性的情況下,我們一般都是將這些系統的數據同步到Hive數據庫中,然后離線(xiàn)處理后獲取元數據。
3.4 任務(wù)元數據
元數據任務(wù)主要是DP離線(xiàn)任務(wù)、Flink計算服務(wù)和Flume任務(wù)。
這些計算任務(wù)都放在磁盤(pán)上,通過(guò)Binlog同步或離線(xiàn)同步獲取任務(wù)列表,獲取任務(wù)的元數據。
四、數據采集
元數據提取后,我們就可以得到數據鏈中各個(gè)平臺組件的元數據。數據采集是指將這些元數據存儲在數據資產(chǎn)管理系統的數據庫中。
4.1 采集 方法
采集 主要有三種數據類(lèi)型。下表列出了三種方法的優(yōu)缺點(diǎn):
一般情況下,我們推薦業(yè)務(wù)方使用采集SDK。主動(dòng)上報元數據,訪(fǎng)問(wèn)時(shí)只需要關(guān)注上報數據格式和SDK初始化,即可快速完成上報。
4.2 采集SDK 設計
采集SDK支持基礎元數據、趨勢數據、血緣關(guān)系數據的上報,包括客戶(hù)端SDK和采集服務(wù)器兩部分??蛻?hù)端SDK主要實(shí)現通用報表模型的定義和報表功能,采集服務(wù)器主要實(shí)現不同的適配器,完成數據的統一存儲。
4.2.1 架構
采集SDK 客戶(hù)端
定義了基本元數據(MetaSchema)、趨勢數據(TrendSchema)和血緣關(guān)系數據(LineageSchema)的通用模型,并支持新的報告模型(XXXSchema)。ReportService實(shí)現了向Kafka推送數據的功能。
采集服務(wù)器
數據鑒權服務(wù)器消費Kafka,獲取數據后,對每條記錄的簽名進(jìn)行鑒權(獲取記錄中的appId、appName、token信息,重新生成token,比較值的過(guò)程)。統一倉儲服務(wù)定義了統一的數據倉儲模型,包括表基礎元數據、趨勢數據、血緣關(guān)系數據、趨勢數據,實(shí)現不同數據類(lèi)型的倉儲服務(wù)。數據適配器Bridge獲取Kafka的數據,根據不同的數據類(lèi)型轉換成“統一存儲模型”,觸發(fā)“統一存儲服務(wù)”完成數據寫(xiě)入。4.2.2 通用型號
采集的平臺組件很多。我們參考Hive“表模型”的定義,抽象出一套通用的數據上報模型,保證數據上報和數據存儲的可擴展性。
通用血緣模型主要包括血緣模型定義和任務(wù)血緣模型定義,支持用戶(hù)分別上報血緣關(guān)系和任務(wù)血緣關(guān)系。該模型定義如下:
/**
* 表血緣模型定義
*/
@Data
public class TableLineageSchema {
/**
* 當前節點(diǎn)
*/
private T current;
/**
* 父節點(diǎn)
*/
private List parents;
/**
* 子節點(diǎn)
*/
private List childs;
/**
* 表級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
/**
* 表任務(wù)血緣定義
*
*/
@Data
public class JobLineageSchema {
/**
* 任務(wù)節點(diǎn)對象
*/
private Job task;
/**
* 輸入對象列表
*/
private List inputs;
/**
* 輸出對象列表
*/
private List outputs;
/**
* 任務(wù)級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
每個(gè)模型定義都有一個(gè)擴展字段(傳統的 json 格式)。不在定義中的指標可以放在擴展字段中。數據上報后,也會(huì )存儲在元數據表的擴展字段中。訪(fǎng)問(wèn)新類(lèi)型,索引定義大不相同,通過(guò)擴展新的數據模型定義,元數據報告完成。
4.2.3 訪(fǎng)問(wèn)、驗證、限流
如何保證用戶(hù)上報的數據是安全的?我們設計了一組簽名:訪(fǎng)問(wèn)方Id(appId)、訪(fǎng)問(wèn)名稱(chēng)(appName)、訪(fǎng)問(wèn)標識(token)。管理員填寫(xiě)基本接入方信息,生成隨機的appId和token信息。業(yè)務(wù)方在初始化采集SDK時(shí),指定了簽名信息,每上報的數據都會(huì )攜帶簽名。在采集服務(wù)器上,每一條數據都會(huì )經(jīng)過(guò)簽名和認證,保證了數據的安全。
采集SDK 會(huì )對上報的每條數據執行通用規則來(lái)檢查數據的有效性,例如表名不為空、負責人的有效性、表的大小、趨勢數據不能為負。如果檢測到非法數據,將被過(guò)濾掉并觸發(fā)報警通知。
在采集SDK服務(wù)器上,每隔一定時(shí)間(每?jì)擅耄┫M一批Kafka數據。支持設置消費數據的時(shí)間間隔和拉取的片數。下游入站壓力不會(huì )因上報數據流量高峰而變化。大,起到了限流作用。
4.3 觸發(fā)器采集
我們支持多種 采集 元數據方法。如何觸發(fā)數據的采集?總體思路是:
基于A(yíng)pollo配置系統(見(jiàn):)和Linux系統的Crontab功能,實(shí)現任務(wù)調度。數據采集任務(wù)在A(yíng)pollo上配置。配置改變后,Apollo會(huì )發(fā)布,配置信息會(huì )實(shí)時(shí)同步到在線(xiàn)節點(diǎn)的Crontab文件中。
4.3.1 增量任務(wù),準實(shí)時(shí)
支持獲取組件最近變化的元數據,配置增量任務(wù),提高元數據采集的實(shí)時(shí)性。比如增量采集Hive表元數據,每1分鐘查詢(xún)一次metastore,獲取最近更改的元數據列表,并更新元數據。
4.3.2個(gè)完整任務(wù),所有細節
增量 采集 可能有數據丟失的情況。每 1 天或更多天完成一次 采集 作為底線(xiàn)解決方案,以確保元數據的完整性。
4.3.3 采集SDK,實(shí)時(shí)上報
采集SDK 支持實(shí)時(shí)和全量上報模式。一般要求在數據變更后實(shí)時(shí)上報接入方的數據,不定期上報一次全量。
4.4 數據存儲、更新
在數據采集之后,就要考慮如何存儲,以及元數據發(fā)生變化時(shí)如何同步更新。我們對來(lái)自采集的元數據進(jìn)行歸類(lèi)和統一,抽象出“表模型”并將其存儲在類(lèi)別中。
4.4.1 數據存儲
我們評估了每個(gè)組件的元數據量(共10w+),預估了數據可能的使用場(chǎng)景,最終選擇了Mysql來(lái)存儲。為了滿(mǎn)足用戶(hù)的個(gè)性化查詢(xún)需求,構建了Es寬表。表粒度主要包括:表名、備注、負責人、字段列表、趨勢信息、業(yè)務(wù)領(lǐng)域信息、任務(wù)信息等。Es表在數據采集過(guò)程中同步更新,保證真實(shí)元數據查詢(xún)的時(shí)間性,定期更新(構建離線(xiàn)模型表,每天同步更新Es表),保證元數據的完整性。
元數據中的表不是孤立存在的。一般有關(guān)聯(lián)任務(wù)(離線(xiàn)任務(wù)、實(shí)時(shí)任務(wù))輸出表,表和任務(wù)之間的流向關(guān)系也會(huì )在數據圖中顯示。那么如何在眾多平臺組件中唯一區分一個(gè)表呢?我們通過(guò)表所在的集群名稱(chēng)、項目名稱(chēng)、表類(lèi)型(它來(lái)自哪個(gè)平臺組件)和表名稱(chēng)的組合來(lái)唯一區分。
對數據進(jìn)行分類(lèi)存儲,最終形成:基礎元數據表、趨勢數據表、任務(wù)元數據表、血緣關(guān)系數據表。
4.4.2 數據更新
元數據表離線(xiàn),如何同步更新?
五、監控和警告
采集 已經(jīng)完成了數據,是不是都做完了?答案是否定的。采集在這個(gè)過(guò)程中,數據類(lèi)型很多,刪除方式多種多樣,刪除鏈接長(cháng)度。任何環(huán)節的任何問(wèn)題都會(huì )導致結果不準確。我們通過(guò)以下方式保證采集服務(wù)的穩定性。
5.1 采集鏈路監控告警5.1.1 接口監控
我們將系統的所有服務(wù)接口分為核心、重要、通用三個(gè)層次,并支持標注接口和責任人的注解。異常會(huì )觸發(fā)不同級別的警報通知。核心業(yè)務(wù)異常直接觸發(fā)電話(huà)報警,重要或一般業(yè)務(wù)異常觸發(fā)電子郵件報警。系統會(huì )存儲接口請求和執行狀態(tài)并刪除,每天向接口服務(wù)負責人發(fā)送服務(wù)日報。通過(guò)將采集服務(wù)的元數據標記為核心和重要服務(wù),“API直連方式”的接口被異常感知。
如下圖,是服務(wù)接口的告警通知:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[重要]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb], 異常信息:null
host:XXXXXX
處理地址:https://XXXX
如下圖,是服務(wù)接口的每日告警報告:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
[shunfengche]今日問(wèn)題匯總
請及時(shí)收斂今日問(wèn)題,總問(wèn)題數 1 個(gè),出現 2 次
【核心】問(wèn)題 0 個(gè):
【重要】問(wèn)題 0 個(gè):
【一般】問(wèn)題 1 個(gè):
[數據采集]com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb 今日出現 2 次, 已存在 5 天, 歷史出現 8 次
host:XXXXXX
處理地址:https://XXXX
5.1.2 采集 進(jìn)程監控
對于每個(gè)元數據采集服務(wù),如果采集進(jìn)程發(fā)生異常,都會(huì )發(fā)送告警通知。
如下圖,是采集過(guò)程中異常觸發(fā)的告警:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[一般]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.asyncworker.work.AsyncAllRdsDDLWorker.run], 異常信息:/n
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLQueryInterruptedException: Query execution was interrupted
5.1.3 Kafka 消息積壓警告
Kafka數據的消費,通過(guò)kp平臺配置消息backlog告警,實(shí)現對采集SDK服務(wù)的異常感知。
5.2 結果數據對比
主要用于事后監測預警,定期檢測采集元數據量的異常波動(dòng)。針對不同類(lèi)型的元數據,通過(guò)將當天采集的數量與過(guò)去7天的歷史平均數量進(jìn)行比較,設置異常波動(dòng)的報警閾值,超過(guò)閾值時(shí)觸發(fā)報警通知.
針對采集的元數據結果表,配置一些數據質(zhì)量檢測規則,定期執行異常規則,發(fā)現問(wèn)題數據時(shí)觸發(fā)告警通知。這保證了對結果數據的異常感知。例如,定義的數據質(zhì)量規則:
5.3 項目迭代機制,采集問(wèn)題收斂
通過(guò)事前、事中、事后的監測預警機制,可以及時(shí)發(fā)現和感知采集的異常情況。對于異常問(wèn)題,我們一般以項目迭代的方式發(fā)起jira,組織相關(guān)人員進(jìn)行審核。追根溯源,討論改進(jìn)方案,產(chǎn)生行動(dòng),關(guān)注并持續收斂問(wèn)題。
六、總結與展望6.1 結論
我們定義了一套通用的數據采集和存儲模型,支持訪(fǎng)問(wèn)不同數據類(lèi)型的元數據,支持多種訪(fǎng)問(wèn)方式,采集SDK提高了訪(fǎng)問(wèn)效率和數據時(shí)效性。
如下圖所示,各個(gè)組件的元數據已經(jīng)打通,數據分類(lèi)統一管理,提供了數據字典、數據地圖、資產(chǎn)市場(chǎng)等元數據的應用。
如果將數據資產(chǎn)治理比作高層建筑的建設,那么不同構件的元數據是原材料,數據采集是基礎。只有夯實(shí)了基礎,數據治理的建設才能越來(lái)越穩固。
6.2 展望
在數據采集的過(guò)程中,我們也遇到了很多問(wèn)題。在后續工作中,我們需要不斷的優(yōu)化和功能迭代,包括但不限于:
最后,有贊數據中心,長(cháng)期招聘基礎組件、平臺研發(fā)、數據倉庫、數據產(chǎn)品、算法等人才,歡迎加入,一起享受~簡(jiǎn)歷投遞郵箱:。 查看全部
采集自動(dòng)組合(元數據資產(chǎn)治理(詳情見(jiàn)),需注意什么?)
一、簡(jiǎn)介
數據資產(chǎn)治理的前提(見(jiàn):)必須有數據。它要求數據類(lèi)型齊全,數量大,并盡可能覆蓋數據流通的方方面面。元數據 采集 變得尤為重要。它是數據資產(chǎn)治理的核心基礎。
在早期的采集系統中,我們主要使用“API直連”來(lái)連接采集Hive/Mysql表元數據。隨著(zhù)業(yè)務(wù)的快速發(fā)展,對數據運營(yíng)和成本管理的需求越來(lái)越強烈。元數據需要覆蓋整個(gè)數據鏈路,包括離線(xiàn)計算平臺、實(shí)時(shí)計算平臺、內部工具、任務(wù)元數據等。采集在元數據的過(guò)程中,我們遇到了以下困難:
本文主要介紹了我們在元數據含義、提取、采集、監控告警等方面所做的一些事情。
二、元數據2.1 什么是元數據
什么是元數據?元數據是“用于描述數據的數據”。例如:我用手機拍了一張照片,查看了照片的詳細信息,如下圖:
照片信息
文件名:IMG_20201217_114115
時(shí)間:2020年12月17號 11:30:01
分辨率:4608X2592
文件大?。?.69MB
相機制造商:OnePlus
相機型號:ONEPLUS A5000
閃光燈:未使用閃光燈
焦距:4.10mm
白平衡:自動(dòng)
光圈:f/1.7
曝光時(shí)間:1/50
ISO:1250
這些是數碼照片的元數據,用于描述圖片。在資產(chǎn)管理平臺中,我們采集Hive組件的元數據包括:表名、字段列表、負責人、任務(wù)調度信息等。
采集全鏈路數據(各種元數據)可以幫助數據平臺回答:我們有哪些數據?有多少人在使用它?什么是數據存儲?如何找到這些數據?什么是數據流?分析問(wèn)題的根源,結合血緣關(guān)系分析影響。
2.2 采集 什么元數據
如下圖所示,是一個(gè)數據流圖。我們主要采集各個(gè)平臺組件:
截至目前,采集所達到的平臺組件已經(jīng)覆蓋了整個(gè)數據鏈路。涵蓋10種數據+,基礎元數據量10w+。主要包括:
三、元數據提取
如何從眾多平臺組件中提取元數據?大致有以下幾個(gè)方面:
計算任務(wù)通過(guò)分析任務(wù)的輸入/輸出依賴(lài)配置獲得血緣關(guān)系。SQL類(lèi)任務(wù)使用“Sql Parser”(ANTLR4系統實(shí)現的sql重寫(xiě)工具)工具解析SQL腳本,獲取表/字段級血緣關(guān)系。3.1 線(xiàn)下平臺
主要是采集Hive/RDS表的元數據。
Hive組件的元數據存放在Metastore中,通過(guò)JDBC訪(fǎng)問(wèn)Mysql獲取數據庫表的元數據。根據Hive表信息組裝HDFS地址,通過(guò)FileSystem API獲取文件狀態(tài)、文件編號、文件大小、數據更新時(shí)間等趨勢數據。
RDS平臺提供Mysql服務(wù)的管理,通過(guò)平臺提供的服務(wù)接口獲取表元數據、趨勢數據、訪(fǎng)問(wèn)狀態(tài)等信息。
3.2 實(shí)時(shí)平臺
主要是Flume/Hbase/Kafka等組件的元數據。
例如:我們訪(fǎng)問(wèn)放置在KP平臺的工單數據,獲取topic的基本元數據信息,定期消費topic獲取樣本數據,解析字段列表。平臺本身提供集群狀態(tài)和業(yè)務(wù)監控指標,通過(guò)平臺服務(wù)獲取集群資源的使用情況。
3.3 內部工具
主要是BI報表系統的血緣關(guān)系數據(BI報表查詢(xún)的Hive表和Mysql表關(guān)系)、指標數據庫(Hive表和指標相關(guān)的字段關(guān)系)、OneService服務(wù)(訪(fǎng)問(wèn)哪些數據庫表的關(guān)系數據)通過(guò)接口)。
這些內部系統在產(chǎn)品的不斷迭代中積累了大量的元數據。在不考慮元數據的時(shí)效性的情況下,我們一般都是將這些系統的數據同步到Hive數據庫中,然后離線(xiàn)處理后獲取元數據。
3.4 任務(wù)元數據
元數據任務(wù)主要是DP離線(xiàn)任務(wù)、Flink計算服務(wù)和Flume任務(wù)。
這些計算任務(wù)都放在磁盤(pán)上,通過(guò)Binlog同步或離線(xiàn)同步獲取任務(wù)列表,獲取任務(wù)的元數據。
四、數據采集
元數據提取后,我們就可以得到數據鏈中各個(gè)平臺組件的元數據。數據采集是指將這些元數據存儲在數據資產(chǎn)管理系統的數據庫中。
4.1 采集 方法
采集 主要有三種數據類(lèi)型。下表列出了三種方法的優(yōu)缺點(diǎn):
一般情況下,我們推薦業(yè)務(wù)方使用采集SDK。主動(dòng)上報元數據,訪(fǎng)問(wèn)時(shí)只需要關(guān)注上報數據格式和SDK初始化,即可快速完成上報。
4.2 采集SDK 設計
采集SDK支持基礎元數據、趨勢數據、血緣關(guān)系數據的上報,包括客戶(hù)端SDK和采集服務(wù)器兩部分??蛻?hù)端SDK主要實(shí)現通用報表模型的定義和報表功能,采集服務(wù)器主要實(shí)現不同的適配器,完成數據的統一存儲。
4.2.1 架構
采集SDK 客戶(hù)端
定義了基本元數據(MetaSchema)、趨勢數據(TrendSchema)和血緣關(guān)系數據(LineageSchema)的通用模型,并支持新的報告模型(XXXSchema)。ReportService實(shí)現了向Kafka推送數據的功能。
采集服務(wù)器
數據鑒權服務(wù)器消費Kafka,獲取數據后,對每條記錄的簽名進(jìn)行鑒權(獲取記錄中的appId、appName、token信息,重新生成token,比較值的過(guò)程)。統一倉儲服務(wù)定義了統一的數據倉儲模型,包括表基礎元數據、趨勢數據、血緣關(guān)系數據、趨勢數據,實(shí)現不同數據類(lèi)型的倉儲服務(wù)。數據適配器Bridge獲取Kafka的數據,根據不同的數據類(lèi)型轉換成“統一存儲模型”,觸發(fā)“統一存儲服務(wù)”完成數據寫(xiě)入。4.2.2 通用型號
采集的平臺組件很多。我們參考Hive“表模型”的定義,抽象出一套通用的數據上報模型,保證數據上報和數據存儲的可擴展性。
通用血緣模型主要包括血緣模型定義和任務(wù)血緣模型定義,支持用戶(hù)分別上報血緣關(guān)系和任務(wù)血緣關(guān)系。該模型定義如下:
/**
* 表血緣模型定義
*/
@Data
public class TableLineageSchema {
/**
* 當前節點(diǎn)
*/
private T current;
/**
* 父節點(diǎn)
*/
private List parents;
/**
* 子節點(diǎn)
*/
private List childs;
/**
* 表級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
/**
* 表任務(wù)血緣定義
*
*/
@Data
public class JobLineageSchema {
/**
* 任務(wù)節點(diǎn)對象
*/
private Job task;
/**
* 輸入對象列表
*/
private List inputs;
/**
* 輸出對象列表
*/
private List outputs;
/**
* 任務(wù)級別血緣擴展信息,json對象,kv結構
*/
private String extParam;
}
每個(gè)模型定義都有一個(gè)擴展字段(傳統的 json 格式)。不在定義中的指標可以放在擴展字段中。數據上報后,也會(huì )存儲在元數據表的擴展字段中。訪(fǎng)問(wèn)新類(lèi)型,索引定義大不相同,通過(guò)擴展新的數據模型定義,元數據報告完成。
4.2.3 訪(fǎng)問(wèn)、驗證、限流
如何保證用戶(hù)上報的數據是安全的?我們設計了一組簽名:訪(fǎng)問(wèn)方Id(appId)、訪(fǎng)問(wèn)名稱(chēng)(appName)、訪(fǎng)問(wèn)標識(token)。管理員填寫(xiě)基本接入方信息,生成隨機的appId和token信息。業(yè)務(wù)方在初始化采集SDK時(shí),指定了簽名信息,每上報的數據都會(huì )攜帶簽名。在采集服務(wù)器上,每一條數據都會(huì )經(jīng)過(guò)簽名和認證,保證了數據的安全。
采集SDK 會(huì )對上報的每條數據執行通用規則來(lái)檢查數據的有效性,例如表名不為空、負責人的有效性、表的大小、趨勢數據不能為負。如果檢測到非法數據,將被過(guò)濾掉并觸發(fā)報警通知。
在采集SDK服務(wù)器上,每隔一定時(shí)間(每?jì)擅耄┫M一批Kafka數據。支持設置消費數據的時(shí)間間隔和拉取的片數。下游入站壓力不會(huì )因上報數據流量高峰而變化。大,起到了限流作用。
4.3 觸發(fā)器采集
我們支持多種 采集 元數據方法。如何觸發(fā)數據的采集?總體思路是:
基于A(yíng)pollo配置系統(見(jiàn):)和Linux系統的Crontab功能,實(shí)現任務(wù)調度。數據采集任務(wù)在A(yíng)pollo上配置。配置改變后,Apollo會(huì )發(fā)布,配置信息會(huì )實(shí)時(shí)同步到在線(xiàn)節點(diǎn)的Crontab文件中。
4.3.1 增量任務(wù),準實(shí)時(shí)
支持獲取組件最近變化的元數據,配置增量任務(wù),提高元數據采集的實(shí)時(shí)性。比如增量采集Hive表元數據,每1分鐘查詢(xún)一次metastore,獲取最近更改的元數據列表,并更新元數據。
4.3.2個(gè)完整任務(wù),所有細節
增量 采集 可能有數據丟失的情況。每 1 天或更多天完成一次 采集 作為底線(xiàn)解決方案,以確保元數據的完整性。
4.3.3 采集SDK,實(shí)時(shí)上報
采集SDK 支持實(shí)時(shí)和全量上報模式。一般要求在數據變更后實(shí)時(shí)上報接入方的數據,不定期上報一次全量。
4.4 數據存儲、更新
在數據采集之后,就要考慮如何存儲,以及元數據發(fā)生變化時(shí)如何同步更新。我們對來(lái)自采集的元數據進(jìn)行歸類(lèi)和統一,抽象出“表模型”并將其存儲在類(lèi)別中。
4.4.1 數據存儲
我們評估了每個(gè)組件的元數據量(共10w+),預估了數據可能的使用場(chǎng)景,最終選擇了Mysql來(lái)存儲。為了滿(mǎn)足用戶(hù)的個(gè)性化查詢(xún)需求,構建了Es寬表。表粒度主要包括:表名、備注、負責人、字段列表、趨勢信息、業(yè)務(wù)領(lǐng)域信息、任務(wù)信息等。Es表在數據采集過(guò)程中同步更新,保證真實(shí)元數據查詢(xún)的時(shí)間性,定期更新(構建離線(xiàn)模型表,每天同步更新Es表),保證元數據的完整性。
元數據中的表不是孤立存在的。一般有關(guān)聯(lián)任務(wù)(離線(xiàn)任務(wù)、實(shí)時(shí)任務(wù))輸出表,表和任務(wù)之間的流向關(guān)系也會(huì )在數據圖中顯示。那么如何在眾多平臺組件中唯一區分一個(gè)表呢?我們通過(guò)表所在的集群名稱(chēng)、項目名稱(chēng)、表類(lèi)型(它來(lái)自哪個(gè)平臺組件)和表名稱(chēng)的組合來(lái)唯一區分。
對數據進(jìn)行分類(lèi)存儲,最終形成:基礎元數據表、趨勢數據表、任務(wù)元數據表、血緣關(guān)系數據表。
4.4.2 數據更新
元數據表離線(xiàn),如何同步更新?
五、監控和警告
采集 已經(jīng)完成了數據,是不是都做完了?答案是否定的。采集在這個(gè)過(guò)程中,數據類(lèi)型很多,刪除方式多種多樣,刪除鏈接長(cháng)度。任何環(huán)節的任何問(wèn)題都會(huì )導致結果不準確。我們通過(guò)以下方式保證采集服務(wù)的穩定性。
5.1 采集鏈路監控告警5.1.1 接口監控
我們將系統的所有服務(wù)接口分為核心、重要、通用三個(gè)層次,并支持標注接口和責任人的注解。異常會(huì )觸發(fā)不同級別的警報通知。核心業(yè)務(wù)異常直接觸發(fā)電話(huà)報警,重要或一般業(yè)務(wù)異常觸發(fā)電子郵件報警。系統會(huì )存儲接口請求和執行狀態(tài)并刪除,每天向接口服務(wù)負責人發(fā)送服務(wù)日報。通過(guò)將采集服務(wù)的元數據標記為核心和重要服務(wù),“API直連方式”的接口被異常感知。
如下圖,是服務(wù)接口的告警通知:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[重要]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb], 異常信息:null
host:XXXXXX
處理地址:https://XXXX
如下圖,是服務(wù)接口的每日告警報告:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
[shunfengche]今日問(wèn)題匯總
請及時(shí)收斂今日問(wèn)題,總問(wèn)題數 1 個(gè),出現 2 次
【核心】問(wèn)題 0 個(gè):
【重要】問(wèn)題 0 個(gè):
【一般】問(wèn)題 1 個(gè):
[數據采集]com.youzan.bigdata.crystal.controller.HiveMetaController.getHiveDb 今日出現 2 次, 已存在 5 天, 歷史出現 8 次
host:XXXXXX
處理地址:https://XXXX
5.1.2 采集 進(jìn)程監控
對于每個(gè)元數據采集服務(wù),如果采集進(jìn)程發(fā)生異常,都會(huì )發(fā)送告警通知。
如下圖,是采集過(guò)程中異常觸發(fā)的告警:
[Warning][prod][data-dict] - 數據資產(chǎn)平臺告警
你負責的[元信息采集]模塊(backup為XXX)出現[一般]等級問(wèn)題, 方法名:[com.youzan.bigdata.crystal.asyncworker.work.AsyncAllRdsDDLWorker.run], 異常信息:/n
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLQueryInterruptedException: Query execution was interrupted
5.1.3 Kafka 消息積壓警告
Kafka數據的消費,通過(guò)kp平臺配置消息backlog告警,實(shí)現對采集SDK服務(wù)的異常感知。
5.2 結果數據對比
主要用于事后監測預警,定期檢測采集元數據量的異常波動(dòng)。針對不同類(lèi)型的元數據,通過(guò)將當天采集的數量與過(guò)去7天的歷史平均數量進(jìn)行比較,設置異常波動(dòng)的報警閾值,超過(guò)閾值時(shí)觸發(fā)報警通知.
針對采集的元數據結果表,配置一些數據質(zhì)量檢測規則,定期執行異常規則,發(fā)現問(wèn)題數據時(shí)觸發(fā)告警通知。這保證了對結果數據的異常感知。例如,定義的數據質(zhì)量規則:
5.3 項目迭代機制,采集問(wèn)題收斂
通過(guò)事前、事中、事后的監測預警機制,可以及時(shí)發(fā)現和感知采集的異常情況。對于異常問(wèn)題,我們一般以項目迭代的方式發(fā)起jira,組織相關(guān)人員進(jìn)行審核。追根溯源,討論改進(jìn)方案,產(chǎn)生行動(dòng),關(guān)注并持續收斂問(wèn)題。
六、總結與展望6.1 結論
我們定義了一套通用的數據采集和存儲模型,支持訪(fǎng)問(wèn)不同數據類(lèi)型的元數據,支持多種訪(fǎng)問(wèn)方式,采集SDK提高了訪(fǎng)問(wèn)效率和數據時(shí)效性。
如下圖所示,各個(gè)組件的元數據已經(jīng)打通,數據分類(lèi)統一管理,提供了數據字典、數據地圖、資產(chǎn)市場(chǎng)等元數據的應用。
如果將數據資產(chǎn)治理比作高層建筑的建設,那么不同構件的元數據是原材料,數據采集是基礎。只有夯實(shí)了基礎,數據治理的建設才能越來(lái)越穩固。
6.2 展望
在數據采集的過(guò)程中,我們也遇到了很多問(wèn)題。在后續工作中,我們需要不斷的優(yōu)化和功能迭代,包括但不限于:
最后,有贊數據中心,長(cháng)期招聘基礎組件、平臺研發(fā)、數據倉庫、數據產(chǎn)品、算法等人才,歡迎加入,一起享受~簡(jiǎn)歷投遞郵箱:。
采集自動(dòng)組合(不能期望配對測試是萬(wàn)能的,即我們僅依賴(lài)于一次)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 139 次瀏覽 ? 2021-11-04 21:20
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用了一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者說(shuō)程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在進(jìn)行過(guò)多等效組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:
對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:
當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:
2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:
3. 然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:
4. 為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):
5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):
自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):
2. 將 Excel 文件另存為文本文件,以 Tab 鍵為分隔符:
3. 然后使用 allpairs.exe 處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4. output.txt中,PAIRING DETAILS下面的東西沒(méi)用,可以直接刪除,刪除后,結果如下:
您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合Behavior DrivenDesign技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基礎測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具,而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。 查看全部
采集自動(dòng)組合(不能期望配對測試是萬(wàn)能的,即我們僅依賴(lài)于一次)
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用了一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者說(shuō)程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在進(jìn)行過(guò)多等效組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:

對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:

當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:

2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:

3. 然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:

4. 為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):

5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):

自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):

2. 將 Excel 文件另存為文本文件,以 Tab 鍵為分隔符:

3. 然后使用 allpairs.exe 處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4. output.txt中,PAIRING DETAILS下面的東西沒(méi)用,可以直接刪除,刪除后,結果如下:

您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合Behavior DrivenDesign技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基礎測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具,而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。
采集自動(dòng)組合(采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort(組圖))
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 142 次瀏覽 ? 2021-11-01 14:22
采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort已經(jīng)限制了數據塊的大小,為了自定義一個(gè)更大的數據塊,我們需要確定相應的row數,然后重新定義row數據塊定義規則。geosphere示例如下:rowrow_pre_sort=dict(row=pre_sort(geotree))pre_sortd=geotree.geosphere()pre_sort->doc("a")pre_sort->doc("b")pre_sort->doc("c")d.push(row)pre_sort->doc("d")pre_sort->doc("e")d.push(row_pre_sort)如果我們需要的數據塊是一個(gè)新的row,那么可以根據meta_pre_sort進(jìn)行分析。
meta_pre_sort的原始數據為e.collect_row(row_files=meta_pre_sort.obj_rows),要分析原始數據,必須分析數據塊。meta_pre_sort.get("meta_pre_sort.txt")得到一個(gè)meta_pre_sort.txt文件,并打印出這個(gè)數據塊,使用如下的語(yǔ)句:meta_pre_sort.items["row_files"]["end_items"]如果將這個(gè)meta_pre_sort字典中的每個(gè)屬性定義成fraction(對應的的排序規則包括分數等),并用items["end_items"]=meta_pre_sort.items["collect_table"]="row",進(jìn)行分析,代碼如下:meta_pre_sort.items["collect_table"]["end_items"]根據規則可以重新定義數據塊的大小。
注意是meta_pre_sort.txt而不是數據塊。meta_pre_sort.txt的格式為{"end_items":row}reference.fractions_,.fractions.rows:{"end_items":end_items.rows,.fractions.rows.fractions},.meta_pre_sort:{"collect_table":meta_pre_sort.txt,.meta_pre_sort.collect_table:[fraction]}meta_pre_sort.items["row_files"]meta_pre_sort.rows=meta_pre_sort.rowsmeta_pre_sort.rows.items.items=rowmeta_pre_sort.items["end_items"]([])則對應于geosphere示例數據塊,每個(gè)數據塊后面都需要加冒號,否則meta_pre_sort.items["end_items"]得到為空數據。
附上完整代碼:pre_sort原文:geotreepre_sort本文章來(lái)源于geosphere,istio微信公眾號,微信掃一掃關(guān)注geosphere公眾號。 查看全部
采集自動(dòng)組合(采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort(組圖))
采集自動(dòng)組合策略數據塊geotreepre_sort模塊中的pre_sort已經(jīng)限制了數據塊的大小,為了自定義一個(gè)更大的數據塊,我們需要確定相應的row數,然后重新定義row數據塊定義規則。geosphere示例如下:rowrow_pre_sort=dict(row=pre_sort(geotree))pre_sortd=geotree.geosphere()pre_sort->doc("a")pre_sort->doc("b")pre_sort->doc("c")d.push(row)pre_sort->doc("d")pre_sort->doc("e")d.push(row_pre_sort)如果我們需要的數據塊是一個(gè)新的row,那么可以根據meta_pre_sort進(jìn)行分析。
meta_pre_sort的原始數據為e.collect_row(row_files=meta_pre_sort.obj_rows),要分析原始數據,必須分析數據塊。meta_pre_sort.get("meta_pre_sort.txt")得到一個(gè)meta_pre_sort.txt文件,并打印出這個(gè)數據塊,使用如下的語(yǔ)句:meta_pre_sort.items["row_files"]["end_items"]如果將這個(gè)meta_pre_sort字典中的每個(gè)屬性定義成fraction(對應的的排序規則包括分數等),并用items["end_items"]=meta_pre_sort.items["collect_table"]="row",進(jìn)行分析,代碼如下:meta_pre_sort.items["collect_table"]["end_items"]根據規則可以重新定義數據塊的大小。
注意是meta_pre_sort.txt而不是數據塊。meta_pre_sort.txt的格式為{"end_items":row}reference.fractions_,.fractions.rows:{"end_items":end_items.rows,.fractions.rows.fractions},.meta_pre_sort:{"collect_table":meta_pre_sort.txt,.meta_pre_sort.collect_table:[fraction]}meta_pre_sort.items["row_files"]meta_pre_sort.rows=meta_pre_sort.rowsmeta_pre_sort.rows.items.items=rowmeta_pre_sort.items["end_items"]([])則對應于geosphere示例數據塊,每個(gè)數據塊后面都需要加冒號,否則meta_pre_sort.items["end_items"]得到為空數據。
附上完整代碼:pre_sort原文:geotreepre_sort本文章來(lái)源于geosphere,istio微信公眾號,微信掃一掃關(guān)注geosphere公眾號。
采集自動(dòng)組合(配對測試是萬(wàn)能的,即我們僅依賴(lài)于配對自動(dòng)生成的測試用例)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 134 次瀏覽 ? 2021-11-01 04:20
原來(lái)的:
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在執行過(guò)多等價(jià)組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:
對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:
當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:
2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:
3.然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:
4.為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):
5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):
自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):
2.將 Excel 文件保存為文本文件,以 Tab 鍵為分隔符:
3.然后使用allpairs.exe處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4.output.txt里面PAIRING DETAILS下的東西沒(méi)用,可以直接刪除。刪除后,結果如下:
您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合行為驅動(dòng)設計技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基本的測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化的測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。 查看全部
采集自動(dòng)組合(配對測試是萬(wàn)能的,即我們僅依賴(lài)于配對自動(dòng)生成的測試用例)
原來(lái)的:
一般來(lái)說(shuō),測試是先進(jìn)行單元測試,然后是集成測試,然后是系統測試。其實(shí),說(shuō)白了,也可以理解為把最基本的測試步驟組合起來(lái),或者測試環(huán)境在生成新的之前使用一定的方法組合。測試用例。因為是手工組合,第一個(gè)比較麻煩,第二個(gè)是有時(shí)候設計幾個(gè)等價(jià)的測試用例,重復執行這些等價(jià)的測試用例,很費時(shí)間。有一種更好的測試技術(shù)稱(chēng)為成對測試,它可以根據您設置的條件自動(dòng)生成測試時(shí)間(即工作負載)和測試覆蓋率之間的平衡組合。
配對測試的基本思想是,雖然程序的某個(gè)組件,或者程序本身,會(huì )接受大量的輸入,但在大多數情況下,程序的bug并不是同時(shí)由這些輸入引起的,但通過(guò)一兩個(gè)輸入。由條件的同時(shí)影響引起。因此,配對測試在生成測試組合時(shí),主要側重于將每個(gè)條件與其他條件至少匹配一次,而不是嘗試生成完整的組合。這樣可以大大減少需要測試的組合數量,盡可能節省測試工作量??梢赃_到令人滿(mǎn)意的測試覆蓋率。
當然,我們不能指望配對測試是萬(wàn)能的,即只能依靠配對測試自動(dòng)生成的測試用例。使用配對測試的目的是減少測試人員在執行過(guò)多等價(jià)組合時(shí)浪費的時(shí)間,盡可能節省寶貴的時(shí)間花在設計滿(mǎn)足用戶(hù)使用場(chǎng)景的測試用例上。
具體示例(手動(dòng)步驟)
閑話(huà)少說(shuō),我們來(lái)看一個(gè)具體的例子。假設我們有以下接口的產(chǎn)品:

對于上述產(chǎn)品(假設文本框接受1到100之間的整數),測試條件可以分為以下幾種:

當然,文本框的條件還可以進(jìn)一步細分,但是為了簡(jiǎn)單起見(jiàn),我把條件設置的比較粗糙。如果按照全組合用例設置方法,則需要6個(gè)(下拉框控件的可能條件)*2(復雜復選框的可能條件)*2(單個(gè)復選框的可能條件)*6(文本框的可能條件)= 144 種組合。
我們來(lái)看一下使用配對法設計組合的方法:
1. 首先將上述條件輸入Excel,并在列標題中注明可能出現的條件個(gè)數,并根據條件個(gè)數對輸入參數進(jìn)行排序,如下圖所示:

2. 首先,將第二個(gè)和第三個(gè)參數的條件組合一次。為了省事,我把第一個(gè)參數去掉,只介紹四個(gè)參數二、三、配對組合的方法:

3.然后再次組合第二個(gè)參數和第四個(gè)參數的條件,如下圖:

4.為了保證第四個(gè)參數和第三個(gè)參數各有一個(gè)組合,可以使用Excel提供的過(guò)濾功能來(lái)判斷。比如下圖中,很明顯兩個(gè)參數并沒(méi)有完全結合起來(lái):

5. 解決方法很簡(jiǎn)單。您只需要再添加兩行,即可將兩個(gè)參數中未組合的條件組合起來(lái)。(當然你也可以稍微調整第四個(gè)參數的條件來(lái)達到同樣的目的):

自動(dòng)化步驟
上面的工作還是有點(diǎn)繁瑣的。事實(shí)上,有人已經(jīng)自動(dòng)化了這個(gè)過(guò)程。這是一個(gè)免費的開(kāi)源工具,allpairs.exe,可以從下面的鏈接下載:
對于上面的例子,使用allpairs生成組合的方法是:
1. 先將以上條件輸入Excel,如下圖(因為這個(gè)工具是老外寫(xiě)的,沒(méi)有考慮支持中文的問(wèn)題,最好用英文):

2.將 Excel 文件保存為文本文件,以 Tab 鍵為分隔符:

3.然后使用allpairs.exe處理這個(gè)文件:
allpairs.exe test.txt> output.txt
4.output.txt里面PAIRING DETAILS下的東西沒(méi)用,可以直接刪除。刪除后,結果如下:

您可以在設計測試環(huán)境矩陣和組合測試用例時(shí)使用 allpairs 技術(shù)。當然,你不能完全依賴(lài)這項技術(shù)。除了allpairs組合測試用例,你最好從測試覆蓋率和用戶(hù)場(chǎng)景覆蓋率開(kāi)始。, 添加更多有價(jià)值的測試用例。
另外,使用配對測試的算法,我們可以結合行為驅動(dòng)設計技術(shù),直接從需求中自動(dòng)生成測試用例,如果我們自動(dòng)化了基本的測試用例,我們可以用這個(gè)技術(shù)對自動(dòng)化的測試用例進(jìn)行配對組合(當然需要加一些限制),在節省測試時(shí)間的同時(shí),要達到滿(mǎn)意的測試覆蓋率,當然,這樣做需要我們自己寫(xiě)一個(gè)測試工具來(lái)實(shí)現這個(gè)技術(shù)——至少到現在我還沒(méi)有看到現成的工具而且這種技術(shù)應該比模型驅動(dòng)測試更容易使用,因為模型驅動(dòng)測試的問(wèn)題是建模太難了。
采集自動(dòng)組合(\t統計數據APP開(kāi)發(fā)一套數據采集SDK的功能:\頁(yè)面訪(fǎng)問(wèn)流)
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 168 次瀏覽 ? 2021-10-31 19:16
隨著(zhù)有貨APP的不斷迭代開(kāi)發(fā),數據和業(yè)務(wù)部門(mén)對客戶(hù)用戶(hù)行為數據的要求越來(lái)越高;為了更好的監控APP的使用狀態(tài),客戶(hù)端團隊對APP本身的運行有越來(lái)越多的數據需求。緊急發(fā)送。急需一套客戶(hù)端數據采集的工具,自動(dòng)完整的采集用戶(hù)行為數據,滿(mǎn)足各部門(mén)的數據需求。
\\
為此,物火APP團隊開(kāi)發(fā)了一套數據采集 SDK。主要功能如下:
\\ 頁(yè)面訪(fǎng)問(wèn)流程。用戶(hù)在使用APP的過(guò)程中瀏覽了哪些頁(yè)面。\\t瀏覽數據公開(kāi)。用戶(hù)在某個(gè)頁(yè)面上查看了哪些產(chǎn)品。\\t業(yè)務(wù)數據自動(dòng)采集。用戶(hù)在應用期間點(diǎn)擊了哪些位置以及觸發(fā)了哪些操作。\\t性能數據自動(dòng)采集。用戶(hù)在使用APP的過(guò)程中,頁(yè)面加載時(shí)間多長(cháng),圖片加載時(shí)間多長(cháng),網(wǎng)絡(luò )請求時(shí)間多長(cháng)等\
另外,所有數據采集應該是自動(dòng)化的、非侵入性的,即不需要人工埋點(diǎn),集成SDK即可使用,無(wú)需改動(dòng)或改動(dòng)原有代碼可能的。
\\
基于以上需求,AOP是技術(shù)方案的最佳選擇,而在iOS上實(shí)現AOP需要實(shí)現Objective-C中運行時(shí)的黑魔法Method Swizzle。踏坑填坑的漫漫征程從這里開(kāi)始,讓我們一一領(lǐng)略實(shí)現的思路和方法。
\\頁(yè)面訪(fǎng)問(wèn)流程\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計需要解決兩個(gè)問(wèn)題:
\\ 統計事件的入口點(diǎn),即何時(shí)進(jìn)行計數。\\tStatistic 數據字段,統計哪些數據。\
整體流程如下:
\\
\\統計事件的入口\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計的大致思路在View Controller生命周期方法中:
\\
可以獲得用戶(hù)訪(fǎng)問(wèn)頁(yè)面的路徑,兩個(gè)事件時(shí)間戳的差值就是用戶(hù)在頁(yè)面停留的時(shí)間。
\\
通常我們APP中的View Controller繼承自某個(gè)基類(lèi)。我們可以在基類(lèi)的相應方法中進(jìn)行統計。但是,對于不繼承自基類(lèi)的視圖控制器,我們無(wú)能為力。
\\
借助AOP,我們可以更優(yōu)雅地做到這一點(diǎn):在UIViewController的load方法中混用viewDidAppear和viewDidDisappear方法,原代碼無(wú)需改動(dòng)。
\\統計字段\\
根據數據要求,設置以下統計字段:
\\
頁(yè)面進(jìn)入和退出事件在上述數據結構中上報。
\\
還有幾個(gè)問(wèn)題需要考慮:
\\1.如何定義PAGE_ID和SOURCE_ID\\
因為需要統一iOS和Android的PAGE_ID,所以需要配置下發(fā)。iOS端得到的是一個(gè)plist文件,文件的key是View Controller的類(lèi)名的字符串表示,值為PAGE_ID。
\\2.如何獲取PAGE_ID和SOURCE_ID\\
PAGE_ID可以直接根據當前View Controller的class獲取。SOURCE_ID 稍微復雜一些。具體的獲取方式需要根據APP頁(yè)面的嵌套棧結構來(lái)確定。通常,可以從 UINavigationController 的導航堆棧中獲取之前的 View Controller 的頁(yè)面 id。.
\\
至此,頁(yè)面訪(fǎng)問(wèn)流量統計基本完成,根據頁(yè)面進(jìn)入和退出的PAGE_ID和SOURCE_ID串出一條完整的用戶(hù)瀏覽路徑,得到用戶(hù)在每個(gè)頁(yè)面的停留時(shí)間。
\\瀏覽數據曝光\\
采集 用戶(hù)的瀏覽路徑,在每個(gè)頁(yè)面停留的時(shí)間之后,在某些頁(yè)面,比如首頁(yè)和產(chǎn)品列表頁(yè)面,我們也想知道用戶(hù)在頁(yè)面上刷了多少屏并閱讀哪些活動(dòng)和產(chǎn)品可以更好地為用戶(hù)推薦喜歡的產(chǎn)品。
\\
用戶(hù)看到的屏幕區域被認為是一個(gè)資源位,所以用戶(hù)看到的內容是由資源位組成的。那么曝光的含義如下:
\\
我們知道iOS中頁(yè)面元素的基本單位是視圖,所以我們只需要判斷視圖是否在可見(jiàn)區域,就可以知道當前視圖上的資源位置是否需要暴露,然后進(jìn)行相應的曝光操作,采集數據,上報接口等。
\\
從上面的分析可以看出,主要有兩個(gè)問(wèn)題需要解決:
\\View的可見(jiàn)度判斷\\tview曝光數據采集\View的可見(jiàn)度判斷\\
查詢(xún)UIView Class Reference可以看到setFrame:和layoutSubivews方法,可以用來(lái)設置subview的frame。每次更新視圖名望時(shí)都會(huì )調用此方法。因此,我們可以通過(guò)runtime swizzle來(lái)實(shí)現這個(gè)方法,并添加一些數據采集相關(guān)的操作。
\\
我們向 UIView 添加了以下屬性:
\\
首先,明確下列術(shù)語(yǔ)的定義和規則:
\\
1.view的子視圖可以同時(shí)看到3個(gè)需要滿(mǎn)足的條件:
\\
相反,只要不滿(mǎn)足上述任一條件,我們認為該子視圖目前是不可見(jiàn)的。
\\
2.將視圖設置為可見(jiàn)
\\
3.將視圖設置為不可見(jiàn)
\\
Swzzile setFrame:,執行以下操作:
\\
\\
Swzzile layoutSubivews,調用yh_updateVisibleSubViews方法,執行如下操作:
\\
\\
通過(guò)以上操作,我們可以知道某個(gè)視圖及其子視圖是否可見(jiàn)。
\\ 查看曝光數據采集\\
為了獲取view對應的數據,UIView還添加了以下屬性:
\\
那么有兩個(gè)問(wèn)題:
\\視圖曝光數據的粒度\\tview及其子視圖節點(diǎn)曝光數據的組裝時(shí)序\
視圖曝光數據的粒度
\\
根據項目中的實(shí)踐經(jīng)驗,UITableViewCell或者UI采集ViewCell一般是粒度最小的。同時(shí),在最后一個(gè)節點(diǎn)的yh_exposureData字典中,添加一個(gè)key:isEnd來(lái)標識是否是最后一個(gè)節點(diǎn)。
\\
組裝視圖及其子視圖的曝光數據的時(shí)機
\\
一般當最后一個(gè)節點(diǎn)的可見(jiàn)性發(fā)生變化時(shí),從下到上遍歷最后一個(gè)節點(diǎn)的superview,組裝所有數據。
\\
因此,我們覆蓋了 setYh_viewVisible: 方法,也就是 yh_viewVisible 的 set 方法。請執行下列操作:
\\
至此,我們已經(jīng)解決了視圖可見(jiàn)性判斷和曝光數據采集的問(wèn)題。這里不再重復數據報告和策略。
\\
這個(gè)方案有幾個(gè)缺點(diǎn)
\\ 需要手動(dòng)設置曝光數據。\\t 需要在合適的時(shí)候手動(dòng)調用view.yh_viewVisible來(lái)觸發(fā)數據采集,比如viewdidappear。\\t 視覺(jué)區域計算和曝光數據需要消耗一定的資源采集。\
另外兩個(gè)問(wèn)題值得注意:
\\UITableView在setBounds:時(shí)會(huì )改變view frame,所以需要swizzle setBounds:方法,設置bounds后需要調用[self yh_updateVisibleSubViews];\\tUIScrollView在setContentInset:時(shí)會(huì )影響view的可見(jiàn)區域,所以它需要 swizzle setContentInset: 方法,設置 contentInset 后需要調用 self.yh_viewVisibleRect = UIEdgeInsetsInsetRect(self.frame, contentInset); \ 業(yè)務(wù)數據自動(dòng)采集\\
業(yè)務(wù)數據自動(dòng)采集,業(yè)界流行的無(wú)埋點(diǎn)數據采集。
\\
傳統的客戶(hù)端用戶(hù)點(diǎn)擊數據采集是基于人工埋點(diǎn)。如果您對哪個(gè)位置的數據感興趣,只需單擊此處。用戶(hù)操作后,立即觸發(fā)數據報表。人工掩埋的缺點(diǎn)很明顯:錯掩埋、漏掩。新版本發(fā)布后,經(jīng)常有數據部的小伙伴反映某點(diǎn)的問(wèn)題沒(méi)有上報,某點(diǎn)的問(wèn)題上報錯了,開(kāi)發(fā)同事也苦不堪言。
\\
無(wú)埋點(diǎn)數據采集帶來(lái)新的變化。首先,基本避免人工埋葬,個(gè)別情況需要特殊處理。其次,從選擇性的采集數據中,變成了采集用戶(hù)點(diǎn)擊和觸摸的全量數據。
\\
新的變化也會(huì )帶來(lái)新的挑戰。未掩埋數據采集的可能性還是基于Objective-C的運行時(shí)特性。在實(shí)踐過(guò)程中借鑒了iOS非埋點(diǎn)數據SDK的整體設計和技術(shù)實(shí)現,在實(shí)現中借鑒了Sensors Analytics iOS SDK和Mixpanel iPhone。接下來(lái)結合具體實(shí)踐,介紹一下我們的實(shí)現思路和遇到的一些問(wèn)題。主要分為以下三個(gè)方面:
\\ 如何保證自動(dòng)采集的點(diǎn)的唯一性。\\t不同的點(diǎn)類(lèi)型,需要哪些方法進(jìn)行swizzle??釉赲\tswizzle的過(guò)程中踩到了。\ 如何保證自動(dòng)采集的點(diǎn)數的唯一性\\
自動(dòng)采集與手動(dòng)埋點(diǎn)是分開(kāi)的,所以沒(méi)有該點(diǎn)的唯一標識。那么我們如何唯一定位自動(dòng)采集的點(diǎn)呢?一種容易想到的解決方案是:基于頁(yè)面視圖的樹(shù)狀結構。這個(gè)解決方案可以分解為兩個(gè)問(wèn)題:
如何定義\\視圖的唯一標識。\\tview 唯一標識如何生成它。\
視圖唯一標識符(視圖路徑)的定義
\\
我們規定一個(gè)典型的視圖路徑如下:
\\
\ViewController[0]/UIView[0]/UITableView[0]/UITableViewCell[0:2]/UIButton[0]
\\
在:
\\ 有了這個(gè)標識符,就可以在當前頁(yè)面的視圖樹(shù)結構中唯一標識這個(gè)元素。\\t 標識的每一項由兩部分組成:一是當前元素所屬類(lèi)的字符串表示,二是當前元素在同級元素中的序號,從0開(kāi)始計數。對于例如,當前第二個(gè) UIImageView 是 UIImageView1。\\t 用 / 拼接標識不同的項目。\\t 標識的頂層是當前視圖所在的 ViewController。\\t 對于UITableViewCell、UI采集ViewCell等類(lèi)似的自定義組件,序號部分由section和row兩部分組成,拼接在一起。\\t 標記的結尾是當前被點(diǎn)擊或觸摸的元素。\
如何生成視圖唯一標識符
\\
視圖路徑生成過(guò)程:從觸發(fā)操作的最末端元素向上查詢(xún),直到找到ViewController。假設當前點(diǎn)擊的視圖是A_View,從當前A_View開(kāi)始遍歷視圖樹(shù),每一層的數據都存儲在P_Array中。過(guò)程如下:
\\
\\ 如果A_View為UI采集ViewCell類(lèi)型,獲取A_View所在UI采集View的indexPath,P_Array推送路徑信息[NSString stringWithFormat:@\"%@[%ld:%ld]\ 查看全部
采集自動(dòng)組合(\t統計數據APP開(kāi)發(fā)一套數據采集SDK的功能:\頁(yè)面訪(fǎng)問(wèn)流)
隨著(zhù)有貨APP的不斷迭代開(kāi)發(fā),數據和業(yè)務(wù)部門(mén)對客戶(hù)用戶(hù)行為數據的要求越來(lái)越高;為了更好的監控APP的使用狀態(tài),客戶(hù)端團隊對APP本身的運行有越來(lái)越多的數據需求。緊急發(fā)送。急需一套客戶(hù)端數據采集的工具,自動(dòng)完整的采集用戶(hù)行為數據,滿(mǎn)足各部門(mén)的數據需求。
\\
為此,物火APP團隊開(kāi)發(fā)了一套數據采集 SDK。主要功能如下:
\\ 頁(yè)面訪(fǎng)問(wèn)流程。用戶(hù)在使用APP的過(guò)程中瀏覽了哪些頁(yè)面。\\t瀏覽數據公開(kāi)。用戶(hù)在某個(gè)頁(yè)面上查看了哪些產(chǎn)品。\\t業(yè)務(wù)數據自動(dòng)采集。用戶(hù)在應用期間點(diǎn)擊了哪些位置以及觸發(fā)了哪些操作。\\t性能數據自動(dòng)采集。用戶(hù)在使用APP的過(guò)程中,頁(yè)面加載時(shí)間多長(cháng),圖片加載時(shí)間多長(cháng),網(wǎng)絡(luò )請求時(shí)間多長(cháng)等\
另外,所有數據采集應該是自動(dòng)化的、非侵入性的,即不需要人工埋點(diǎn),集成SDK即可使用,無(wú)需改動(dòng)或改動(dòng)原有代碼可能的。
\\
基于以上需求,AOP是技術(shù)方案的最佳選擇,而在iOS上實(shí)現AOP需要實(shí)現Objective-C中運行時(shí)的黑魔法Method Swizzle。踏坑填坑的漫漫征程從這里開(kāi)始,讓我們一一領(lǐng)略實(shí)現的思路和方法。
\\頁(yè)面訪(fǎng)問(wèn)流程\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計需要解決兩個(gè)問(wèn)題:
\\ 統計事件的入口點(diǎn),即何時(shí)進(jìn)行計數。\\tStatistic 數據字段,統計哪些數據。\
整體流程如下:
\\

\\統計事件的入口\\
用戶(hù)訪(fǎng)問(wèn)頁(yè)面統計的大致思路在View Controller生命周期方法中:
\\
可以獲得用戶(hù)訪(fǎng)問(wèn)頁(yè)面的路徑,兩個(gè)事件時(shí)間戳的差值就是用戶(hù)在頁(yè)面停留的時(shí)間。
\\
通常我們APP中的View Controller繼承自某個(gè)基類(lèi)。我們可以在基類(lèi)的相應方法中進(jìn)行統計。但是,對于不繼承自基類(lèi)的視圖控制器,我們無(wú)能為力。
\\
借助AOP,我們可以更優(yōu)雅地做到這一點(diǎn):在UIViewController的load方法中混用viewDidAppear和viewDidDisappear方法,原代碼無(wú)需改動(dòng)。
\\統計字段\\
根據數據要求,設置以下統計字段:
\\
頁(yè)面進(jìn)入和退出事件在上述數據結構中上報。
\\
還有幾個(gè)問(wèn)題需要考慮:
\\1.如何定義PAGE_ID和SOURCE_ID\\
因為需要統一iOS和Android的PAGE_ID,所以需要配置下發(fā)。iOS端得到的是一個(gè)plist文件,文件的key是View Controller的類(lèi)名的字符串表示,值為PAGE_ID。
\\2.如何獲取PAGE_ID和SOURCE_ID\\
PAGE_ID可以直接根據當前View Controller的class獲取。SOURCE_ID 稍微復雜一些。具體的獲取方式需要根據APP頁(yè)面的嵌套棧結構來(lái)確定。通常,可以從 UINavigationController 的導航堆棧中獲取之前的 View Controller 的頁(yè)面 id。.
\\
至此,頁(yè)面訪(fǎng)問(wèn)流量統計基本完成,根據頁(yè)面進(jìn)入和退出的PAGE_ID和SOURCE_ID串出一條完整的用戶(hù)瀏覽路徑,得到用戶(hù)在每個(gè)頁(yè)面的停留時(shí)間。
\\瀏覽數據曝光\\
采集 用戶(hù)的瀏覽路徑,在每個(gè)頁(yè)面停留的時(shí)間之后,在某些頁(yè)面,比如首頁(yè)和產(chǎn)品列表頁(yè)面,我們也想知道用戶(hù)在頁(yè)面上刷了多少屏并閱讀哪些活動(dòng)和產(chǎn)品可以更好地為用戶(hù)推薦喜歡的產(chǎn)品。
\\
用戶(hù)看到的屏幕區域被認為是一個(gè)資源位,所以用戶(hù)看到的內容是由資源位組成的。那么曝光的含義如下:
\\
我們知道iOS中頁(yè)面元素的基本單位是視圖,所以我們只需要判斷視圖是否在可見(jiàn)區域,就可以知道當前視圖上的資源位置是否需要暴露,然后進(jìn)行相應的曝光操作,采集數據,上報接口等。
\\
從上面的分析可以看出,主要有兩個(gè)問(wèn)題需要解決:
\\View的可見(jiàn)度判斷\\tview曝光數據采集\View的可見(jiàn)度判斷\\
查詢(xún)UIView Class Reference可以看到setFrame:和layoutSubivews方法,可以用來(lái)設置subview的frame。每次更新視圖名望時(shí)都會(huì )調用此方法。因此,我們可以通過(guò)runtime swizzle來(lái)實(shí)現這個(gè)方法,并添加一些數據采集相關(guān)的操作。
\\
我們向 UIView 添加了以下屬性:
\\
首先,明確下列術(shù)語(yǔ)的定義和規則:
\\
1.view的子視圖可以同時(shí)看到3個(gè)需要滿(mǎn)足的條件:
\\
相反,只要不滿(mǎn)足上述任一條件,我們認為該子視圖目前是不可見(jiàn)的。
\\
2.將視圖設置為可見(jiàn)
\\
3.將視圖設置為不可見(jiàn)
\\
Swzzile setFrame:,執行以下操作:
\\

\\
Swzzile layoutSubivews,調用yh_updateVisibleSubViews方法,執行如下操作:
\\

\\
通過(guò)以上操作,我們可以知道某個(gè)視圖及其子視圖是否可見(jiàn)。
\\ 查看曝光數據采集\\
為了獲取view對應的數據,UIView還添加了以下屬性:
\\
那么有兩個(gè)問(wèn)題:
\\視圖曝光數據的粒度\\tview及其子視圖節點(diǎn)曝光數據的組裝時(shí)序\
視圖曝光數據的粒度
\\
根據項目中的實(shí)踐經(jīng)驗,UITableViewCell或者UI采集ViewCell一般是粒度最小的。同時(shí),在最后一個(gè)節點(diǎn)的yh_exposureData字典中,添加一個(gè)key:isEnd來(lái)標識是否是最后一個(gè)節點(diǎn)。
\\
組裝視圖及其子視圖的曝光數據的時(shí)機
\\
一般當最后一個(gè)節點(diǎn)的可見(jiàn)性發(fā)生變化時(shí),從下到上遍歷最后一個(gè)節點(diǎn)的superview,組裝所有數據。
\\
因此,我們覆蓋了 setYh_viewVisible: 方法,也就是 yh_viewVisible 的 set 方法。請執行下列操作:
\\
至此,我們已經(jīng)解決了視圖可見(jiàn)性判斷和曝光數據采集的問(wèn)題。這里不再重復數據報告和策略。
\\
這個(gè)方案有幾個(gè)缺點(diǎn)
\\ 需要手動(dòng)設置曝光數據。\\t 需要在合適的時(shí)候手動(dòng)調用view.yh_viewVisible來(lái)觸發(fā)數據采集,比如viewdidappear。\\t 視覺(jué)區域計算和曝光數據需要消耗一定的資源采集。\
另外兩個(gè)問(wèn)題值得注意:
\\UITableView在setBounds:時(shí)會(huì )改變view frame,所以需要swizzle setBounds:方法,設置bounds后需要調用[self yh_updateVisibleSubViews];\\tUIScrollView在setContentInset:時(shí)會(huì )影響view的可見(jiàn)區域,所以它需要 swizzle setContentInset: 方法,設置 contentInset 后需要調用 self.yh_viewVisibleRect = UIEdgeInsetsInsetRect(self.frame, contentInset); \ 業(yè)務(wù)數據自動(dòng)采集\\
業(yè)務(wù)數據自動(dòng)采集,業(yè)界流行的無(wú)埋點(diǎn)數據采集。
\\
傳統的客戶(hù)端用戶(hù)點(diǎn)擊數據采集是基于人工埋點(diǎn)。如果您對哪個(gè)位置的數據感興趣,只需單擊此處。用戶(hù)操作后,立即觸發(fā)數據報表。人工掩埋的缺點(diǎn)很明顯:錯掩埋、漏掩。新版本發(fā)布后,經(jīng)常有數據部的小伙伴反映某點(diǎn)的問(wèn)題沒(méi)有上報,某點(diǎn)的問(wèn)題上報錯了,開(kāi)發(fā)同事也苦不堪言。
\\
無(wú)埋點(diǎn)數據采集帶來(lái)新的變化。首先,基本避免人工埋葬,個(gè)別情況需要特殊處理。其次,從選擇性的采集數據中,變成了采集用戶(hù)點(diǎn)擊和觸摸的全量數據。
\\
新的變化也會(huì )帶來(lái)新的挑戰。未掩埋數據采集的可能性還是基于Objective-C的運行時(shí)特性。在實(shí)踐過(guò)程中借鑒了iOS非埋點(diǎn)數據SDK的整體設計和技術(shù)實(shí)現,在實(shí)現中借鑒了Sensors Analytics iOS SDK和Mixpanel iPhone。接下來(lái)結合具體實(shí)踐,介紹一下我們的實(shí)現思路和遇到的一些問(wèn)題。主要分為以下三個(gè)方面:
\\ 如何保證自動(dòng)采集的點(diǎn)的唯一性。\\t不同的點(diǎn)類(lèi)型,需要哪些方法進(jìn)行swizzle??釉赲\tswizzle的過(guò)程中踩到了。\ 如何保證自動(dòng)采集的點(diǎn)數的唯一性\\
自動(dòng)采集與手動(dòng)埋點(diǎn)是分開(kāi)的,所以沒(méi)有該點(diǎn)的唯一標識。那么我們如何唯一定位自動(dòng)采集的點(diǎn)呢?一種容易想到的解決方案是:基于頁(yè)面視圖的樹(shù)狀結構。這個(gè)解決方案可以分解為兩個(gè)問(wèn)題:
如何定義\\視圖的唯一標識。\\tview 唯一標識如何生成它。\
視圖唯一標識符(視圖路徑)的定義
\\
我們規定一個(gè)典型的視圖路徑如下:
\\
\ViewController[0]/UIView[0]/UITableView[0]/UITableViewCell[0:2]/UIButton[0]
\\
在:
\\ 有了這個(gè)標識符,就可以在當前頁(yè)面的視圖樹(shù)結構中唯一標識這個(gè)元素。\\t 標識的每一項由兩部分組成:一是當前元素所屬類(lèi)的字符串表示,二是當前元素在同級元素中的序號,從0開(kāi)始計數。對于例如,當前第二個(gè) UIImageView 是 UIImageView1。\\t 用 / 拼接標識不同的項目。\\t 標識的頂層是當前視圖所在的 ViewController。\\t 對于UITableViewCell、UI采集ViewCell等類(lèi)似的自定義組件,序號部分由section和row兩部分組成,拼接在一起。\\t 標記的結尾是當前被點(diǎn)擊或觸摸的元素。\
如何生成視圖唯一標識符
\\
視圖路徑生成過(guò)程:從觸發(fā)操作的最末端元素向上查詢(xún),直到找到ViewController。假設當前點(diǎn)擊的視圖是A_View,從當前A_View開(kāi)始遍歷視圖樹(shù),每一層的數據都存儲在P_Array中。過(guò)程如下:
\\

\\ 如果A_View為UI采集ViewCell類(lèi)型,獲取A_View所在UI采集View的indexPath,P_Array推送路徑信息[NSString stringWithFormat:@\"%@[%ld:%ld]\


