亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

文章采集器

文章采集器

優(yōu)采云SEO優(yōu)化功能不斷完善即將上市(圖)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 91 次瀏覽 ? 2023-01-12 19:15 ? 來(lái)自相關(guān)話(huà)題

  今天,互聯(lián)網(wǎng)的發(fā)展已經(jīng)迅速,以至于人們可以在短時(shí)間內獲得海量的信息。但是,這些信息中有很多是無(wú)用的,而有用的信息又有時(shí)候不容易找到。針對這種情況,文章采集器就出現了,它可以幫助人們快速、準確地尋找有用的信息。
  
  文章采集器是一種特殊的軟件,它可以幫助人們快速、準確地采集來(lái)自各個(gè)網(wǎng)站的文章,包括新聞、博客、圖片、音樂(lè )、視頻等各種內容。它能夠根據用戶(hù)需求自動(dòng)搜索文章并將其存儲到本地,大大降低人們尋找有用信息的時(shí)間成本。此外,文章采集器還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化,使得采集的文章在搜索引擎中能夠被更好地識別和優(yōu)先顯示。
  
  目前,市面上已有多種文章采集器可供選擇,其中最受用戶(hù)青睞的是優(yōu)采云。優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,它不僅能夠快速準確地尋找有用信息,而且還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化。此外,優(yōu)采云還具有強大的數據庫存儲能力、便捷的使用方式和實(shí)時(shí)數據分析功能。因此,不論是大公司還是小企業(yè),都可以使用優(yōu)采云來(lái)快速準確地尋找需要的信息。而且優(yōu)采云也將不斷升級其產(chǎn)品功能,使得其能夠應對市場(chǎng)上各類(lèi)數字化應用需要。
  
  總之,文章采集器是一個(gè)非常實(shí)用而又方便好用的工具。特別是當前浩如煙海中海量信息中找尋真正有效信息時(shí),文章采集器就顯得尤為重要。相信隨著(zhù)優(yōu)采云SEO優(yōu)化功能不斷完善即將上市之后(官網(wǎng) www.hqbet6457.com ),將大大方便人們尋找真正有效信息,并最大化利用這些信息,使之贏(yíng)得市場(chǎng)競爭優(yōu)勢,更好地開(kāi)發(fā)市場(chǎng),創(chuàng )造出意想不到的效益。 查看全部

  今天,互聯(lián)網(wǎng)的發(fā)展已經(jīng)迅速,以至于人們可以在短時(shí)間內獲得海量的信息。但是,這些信息中有很多是無(wú)用的,而有用的信息又有時(shí)候不容易找到。針對這種情況,文章采集器就出現了,它可以幫助人們快速、準確地尋找有用的信息。
  
  文章采集器是一種特殊的軟件,它可以幫助人們快速、準確地采集來(lái)自各個(gè)網(wǎng)站的文章,包括新聞、博客、圖片、音樂(lè )、視頻等各種內容。它能夠根據用戶(hù)需求自動(dòng)搜索文章并將其存儲到本地,大大降低人們尋找有用信息的時(shí)間成本。此外,文章采集器還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化,使得采集的文章在搜索引擎中能夠被更好地識別和優(yōu)先顯示。
  
  目前,市面上已有多種文章采集器可供選擇,其中最受用戶(hù)青睞的是優(yōu)采云。優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,它不僅能夠快速準確地尋找有用信息,而且還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化。此外,優(yōu)采云還具有強大的數據庫存儲能力、便捷的使用方式和實(shí)時(shí)數據分析功能。因此,不論是大公司還是小企業(yè),都可以使用優(yōu)采云來(lái)快速準確地尋找需要的信息。而且優(yōu)采云也將不斷升級其產(chǎn)品功能,使得其能夠應對市場(chǎng)上各類(lèi)數字化應用需要。
  
  總之,文章采集器是一個(gè)非常實(shí)用而又方便好用的工具。特別是當前浩如煙海中海量信息中找尋真正有效信息時(shí),文章采集器就顯得尤為重要。相信隨著(zhù)優(yōu)采云SEO優(yōu)化功能不斷完善即將上市之后(官網(wǎng) www.hqbet6457.com ),將大大方便人們尋找真正有效信息,并最大化利用這些信息,使之贏(yíng)得市場(chǎng)競爭優(yōu)勢,更好地開(kāi)發(fā)市場(chǎng),創(chuàng )造出意想不到的效益。

“優(yōu)采云”文章采集器是企業(yè)發(fā)展的最佳方式

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 137 次瀏覽 ? 2023-01-12 14:14 ? 來(lái)自相關(guān)話(huà)題

  現如今,互聯(lián)網(wǎng)在人們生活中起著(zhù)越來(lái)越重要的作用,網(wǎng)絡(luò )營(yíng)銷(xiāo)成為企業(yè)發(fā)展的最佳方式。而文章采集器是企業(yè)進(jìn)行網(wǎng)絡(luò )營(yíng)銷(xiāo)活動(dòng)的必備工具,它可以幫助企業(yè)快速收集各種信息,并將其分類(lèi)整理,便于企業(yè)進(jìn)行文章內容分析、信息整合、SEO優(yōu)化等工作。
  
  近幾年來(lái),文章采集器在市場(chǎng)上得到了廣泛應用,不少企業(yè)都將其作為一項重要的信息獲取工具,但是目前市面上的文章采集器大多存在一定的問(wèn)題,既不能快速準確地獲取信息,又不能有效地進(jìn)行SEO優(yōu)化。
  
  對此,來(lái)自中國的軟件開(kāi)發(fā)商“優(yōu)采云”公司推出了一款全新的文章采集器——“優(yōu)采云”,它可以幫助企業(yè)快速準確地收集各種信息,并將其整理成有序的文章內容。此外,該采集器還具備SEO優(yōu)化功能,可以幫助企業(yè)針對特定關(guān)鍵詞進(jìn)行SEO優(yōu)化,使文章內容更加有吸引力、對應性強。
  
  此外,“優(yōu)采云”文章采集器還具備一套安全機制,能夠幫助用戶(hù)預防各種安全問(wèn)題。例如通過(guò)IP代理、Cookie保存功能、瀏覽隱形功能等手段來(lái)避免斷流、封IP、封cookie、封電子郵件等情況的發(fā)生。此外,該采集器也具備超強的斷點(diǎn)續傳功能,能夠有效地避免因斷流而對數據造成影響。
  總之,“優(yōu)采云”文章采集器是一款既能快速準確地獲取信息又能有效進(jìn)行SEO優(yōu)化的工具。它由中國開(kāi)發(fā)商“優(yōu)采云”打造而成(官網(wǎng)www.hqbet6457.com ),無(wú)論是從功能性還是從安全性上都得到了大幅度的升華。如今,該產(chǎn)品已成為市場(chǎng)上最受歡迎的文章采集工具之一。 查看全部

  現如今,互聯(lián)網(wǎng)在人們生活中起著(zhù)越來(lái)越重要的作用,網(wǎng)絡(luò )營(yíng)銷(xiāo)成為企業(yè)發(fā)展的最佳方式。而文章采集器是企業(yè)進(jìn)行網(wǎng)絡(luò )營(yíng)銷(xiāo)活動(dòng)的必備工具,它可以幫助企業(yè)快速收集各種信息,并將其分類(lèi)整理,便于企業(yè)進(jìn)行文章內容分析、信息整合、SEO優(yōu)化等工作。
  
  近幾年來(lái),文章采集器在市場(chǎng)上得到了廣泛應用,不少企業(yè)都將其作為一項重要的信息獲取工具,但是目前市面上的文章采集器大多存在一定的問(wèn)題,既不能快速準確地獲取信息,又不能有效地進(jìn)行SEO優(yōu)化。
  
  對此,來(lái)自中國的軟件開(kāi)發(fā)商“優(yōu)采云”公司推出了一款全新的文章采集器——“優(yōu)采云”,它可以幫助企業(yè)快速準確地收集各種信息,并將其整理成有序的文章內容。此外,該采集器還具備SEO優(yōu)化功能,可以幫助企業(yè)針對特定關(guān)鍵詞進(jìn)行SEO優(yōu)化,使文章內容更加有吸引力、對應性強。
  
  此外,“優(yōu)采云”文章采集器還具備一套安全機制,能夠幫助用戶(hù)預防各種安全問(wèn)題。例如通過(guò)IP代理、Cookie保存功能、瀏覽隱形功能等手段來(lái)避免斷流、封IP、封cookie、封電子郵件等情況的發(fā)生。此外,該采集器也具備超強的斷點(diǎn)續傳功能,能夠有效地避免因斷流而對數據造成影響。
  總之,“優(yōu)采云”文章采集器是一款既能快速準確地獲取信息又能有效進(jìn)行SEO優(yōu)化的工具。它由中國開(kāi)發(fā)商“優(yōu)采云”打造而成(官網(wǎng)www.hqbet6457.com ),無(wú)論是從功能性還是從安全性上都得到了大幅度的升華。如今,該產(chǎn)品已成為市場(chǎng)上最受歡迎的文章采集工具之一。

優(yōu)采云為企業(yè)快速、有效地進(jìn)行內容營(yíng)銷(xiāo)工作

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 112 次瀏覽 ? 2023-01-12 10:22 ? 來(lái)自相關(guān)話(huà)題

  隨著(zhù)互聯(lián)網(wǎng)的發(fā)展,內容營(yíng)銷(xiāo)已成為企業(yè)提升形象、擴大品牌影響力的重要手段。然而,企業(yè)在內容營(yíng)銷(xiāo)中也遇到了一些困難,比如內容優(yōu)化、原創(chuàng )文章采集等。這時(shí),文章采集器就可以派上用場(chǎng)了。
  
  優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,旨在幫助企業(yè)快速、有效地進(jìn)行文章采集。其可以根據用戶(hù)的關(guān)鍵詞或者網(wǎng)頁(yè)地址,從相關(guān)網(wǎng)站中獲取有價(jià)值的內容,并提供多種方式對其進(jìn)行整理和分類(lèi),如根據標題、作者、時(shí)間等進(jìn)行排序。此外,該工具還能夠將采集的內容進(jìn)行SEO優(yōu)化,使得內容能夠得到更好的排名。同時(shí),該工具還能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。
  
  此外,優(yōu)采云還提供了一整套內容營(yíng)銷(xiāo)服務(wù)體系,不僅可以幫助用戶(hù)快速采集有價(jià)值的原創(chuàng )內容,而且可以將其發(fā)布到各大平臺上去。各大平臺包括微信、微博、QQ空間、Baidu Tieba等社交平臺。此外,該工具也能夠幫助用戶(hù)將內容發(fā)布到博客、門(mén)戶(hù)網(wǎng)站上去。
  
  總之,優(yōu)采云是一款功能強大的文章采集器。它不僅能夠幫助用戶(hù)快速、有效地獲取有價(jià)值的原創(chuàng )內容,而且還能夠將內容SEO優(yōu)化并將其發(fā)布到各大平臺上去。此外,該工具也能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。如果你想要快速、有效地開(kāi)展內容營(yíng)銷(xiāo)工作,不妨試試使用優(yōu)采云(www.hqbet6457.com)吧! 查看全部

  隨著(zhù)互聯(lián)網(wǎng)的發(fā)展,內容營(yíng)銷(xiāo)已成為企業(yè)提升形象、擴大品牌影響力的重要手段。然而,企業(yè)在內容營(yíng)銷(xiāo)中也遇到了一些困難,比如內容優(yōu)化、原創(chuàng )文章采集等。這時(shí),文章采集器就可以派上用場(chǎng)了。
  
  優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,旨在幫助企業(yè)快速、有效地進(jìn)行文章采集。其可以根據用戶(hù)的關(guān)鍵詞或者網(wǎng)頁(yè)地址,從相關(guān)網(wǎng)站中獲取有價(jià)值的內容,并提供多種方式對其進(jìn)行整理和分類(lèi),如根據標題、作者、時(shí)間等進(jìn)行排序。此外,該工具還能夠將采集的內容進(jìn)行SEO優(yōu)化,使得內容能夠得到更好的排名。同時(shí),該工具還能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。
  
  此外,優(yōu)采云還提供了一整套內容營(yíng)銷(xiāo)服務(wù)體系,不僅可以幫助用戶(hù)快速采集有價(jià)值的原創(chuàng )內容,而且可以將其發(fā)布到各大平臺上去。各大平臺包括微信、微博、QQ空間、Baidu Tieba等社交平臺。此外,該工具也能夠幫助用戶(hù)將內容發(fā)布到博客、門(mén)戶(hù)網(wǎng)站上去。
  
  總之,優(yōu)采云是一款功能強大的文章采集器。它不僅能夠幫助用戶(hù)快速、有效地獲取有價(jià)值的原創(chuàng )內容,而且還能夠將內容SEO優(yōu)化并將其發(fā)布到各大平臺上去。此外,該工具也能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。如果你想要快速、有效地開(kāi)展內容營(yíng)銷(xiāo)工作,不妨試試使用優(yōu)采云(www.hqbet6457.com)吧!

解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 117 次瀏覽 ? 2022-12-27 13:21 ? 來(lái)自相關(guān)話(huà)題

  解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具
  
  文章采集器是一種自動(dòng)化的文章抓取工具,它可以從互聯(lián)網(wǎng)上的各種資源中抓取并采集文章,使用者可以根據自己的需求,設定不同的采集條件,實(shí)現快速、有效、準確地獲取到相應的文章內容。
  
  早在20世紀90年代,就有人開(kāi)始嘗試利用文章采集器來(lái)采集新聞內容。隨著(zhù)互聯(lián)網(wǎng)的發(fā)展和技術(shù)進(jìn)步,文章采集器也逐漸得到了廣泛應用,如今已成為企業(yè)、機構、學(xué)校、個(gè)人都必不可少的一項網(wǎng)絡(luò )工具。它不僅能夠幫助用戶(hù)快速找到所需要的信息,而且還可以有效地避免手動(dòng)瀏覽大量網(wǎng)頁(yè)耗費大量時(shí)間的尷尬。
  優(yōu)采云采集器是一款功能強大的文章采集器,它能夠幫助用戶(hù)快速地從互聯(lián)網(wǎng)上抓取并采集新聞、博客、帖子、圖片、視頻等信息內容,并且可以根據用戶(hù)不同的需要進(jìn)行多樣化地分析。例如,優(yōu)采云采集器能夠幫助用戶(hù)快速地尋找到想要看到的信息內容、關(guān)鍵詞相關(guān)的新聞內容、對特定作者寫(xiě)作風(fēng)格進(jìn)行評估等。此外,優(yōu)采云采集器還具備強大的數據存儲功能,將用戶(hù)所需要的信息內容存儲在“優(yōu)采云”上方便之后使用。 查看全部

  解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具
  
  文章采集器是一種自動(dòng)化的文章抓取工具,它可以從互聯(lián)網(wǎng)上的各種資源中抓取并采集文章,使用者可以根據自己的需求,設定不同的采集條件,實(shí)現快速、有效、準確地獲取到相應的文章內容。
  
  早在20世紀90年代,就有人開(kāi)始嘗試利用文章采集來(lái)采集新聞內容。隨著(zhù)互聯(lián)網(wǎng)的發(fā)展和技術(shù)進(jìn)步,文章采集器也逐漸得到了廣泛應用,如今已成為企業(yè)、機構、學(xué)校、個(gè)人都必不可少的一項網(wǎng)絡(luò )工具。它不僅能夠幫助用戶(hù)快速找到所需要的信息,而且還可以有效地避免手動(dòng)瀏覽大量網(wǎng)頁(yè)耗費大量時(shí)間的尷尬。
  優(yōu)采云采集器是一款功能強大的文章采集器,它能夠幫助用戶(hù)快速地從互聯(lián)網(wǎng)上抓取并采集新聞、博客、帖子、圖片、視頻等信息內容,并且可以根據用戶(hù)不同的需要進(jìn)行多樣化地分析。例如,優(yōu)采云采集器能夠幫助用戶(hù)快速地尋找到想要看到的信息內容、關(guān)鍵詞相關(guān)的新聞內容、對特定作者寫(xiě)作風(fēng)格進(jìn)行評估等。此外,優(yōu)采云采集器還具備強大的數據存儲功能,將用戶(hù)所需要的信息內容存儲在“優(yōu)采云”上方便之后使用。

解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 111 次瀏覽 ? 2022-12-27 10:19 ? 來(lái)自相關(guān)話(huà)題

  解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  
  隨著(zhù)信息技術(shù)的發(fā)展,無(wú)論是個(gè)人還是企業(yè)都面臨著(zhù)信息日益豐富的困境。企業(yè)的各部門(mén)之間需要進(jìn)行大量的信息共享,而且信息量急劇增加,使得傳統的手工采集成為不可能完成任務(wù)的一件事。因此,文章采集器應運而生,它可以解決企業(yè)信息共享中存在的大量問(wèn)題。
  文章采集器作為一種計算機應用軟件,可以利用先進(jìn)的信息處理技術(shù)來(lái)實(shí)現對各大新聞、博客、論壇、RSS源、微博、微信公眾號等多種不同來(lái)源上的內容進(jìn)行快速、高效地采集。它通常包含多樣性引擎、分布式海量數據存儲、關(guān)鍵詞匹配以及AI情感分析等核心功能,能夠快速獲取海量數據并將其存儲在一個(gè)中央數據庫中作為各部門(mén)之間的信息共享和使用。
  
  優(yōu)采云采集器是一種前所未有的文章采集工具,能夠在幾乎所有平臺上快速準確地將內容進(jìn)行歸集。該產(chǎn)品能夠通過(guò)海量數據快速判斷出相關(guān)性強低弱,并使用AI情感分析來(lái)評估內容好壞;此外,該工具還能根據用戶(hù)需要將文章內容帶入不同語(yǔ)義中去(例如正面、負面情感判斷)并盡力減少干擾因子對內容判斷影響。
  此外,優(yōu)采云采集器還能根據用戶(hù)想要獲取內容的時(shí)效性來(lái)對內容進(jìn)行歸集輸出;如此一來(lái)就能有效避免浪費時(shí)間去尋找相應內容。而該工具還能根據不同場(chǎng)合去匹配不同風(fēng)格、不同主題方式去帶出相應內容;如此一來(lái)就可以很好地將不同應用場(chǎng)合中所需要內容帶出來(lái)便于使用者使用。
  總之,隨著(zhù)大數據時(shí)代的不斷發(fā)展壯大,使用文章采集器已然成為一件必然之事。特別是隨著(zhù)優(yōu)采云采集器憑借AI情感分析功能而得到大眾的注意之后;該工具早已成為當前市場(chǎng)上有效快速歸集海量信息打印出相應內容板式最佳選項。 查看全部

  解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  
  隨著(zhù)信息技術(shù)的發(fā)展,無(wú)論是個(gè)人還是企業(yè)都面臨著(zhù)信息日益豐富的困境。企業(yè)的各部門(mén)之間需要進(jìn)行大量的信息共享,而且信息量急劇增加,使得傳統的手工采集成為不可能完成任務(wù)的一件事。因此,文章采集應運而生,它可以解決企業(yè)信息共享中存在的大量問(wèn)題。
  文章采集器作為一種計算機應用軟件,可以利用先進(jìn)的信息處理技術(shù)來(lái)實(shí)現對各大新聞、博客、論壇、RSS源、微博、微信公眾號等多種不同來(lái)源上的內容進(jìn)行快速、高效地采集。它通常包含多樣性引擎、分布式海量數據存儲、關(guān)鍵詞匹配以及AI情感分析等核心功能,能夠快速獲取海量數據并將其存儲在一個(gè)中央數據庫中作為各部門(mén)之間的信息共享和使用。
  
  優(yōu)采云采集器是一種前所未有的文章采集工具,能夠在幾乎所有平臺上快速準確地將內容進(jìn)行歸集。該產(chǎn)品能夠通過(guò)海量數據快速判斷出相關(guān)性強低弱,并使用AI情感分析來(lái)評估內容好壞;此外,該工具還能根據用戶(hù)需要將文章內容帶入不同語(yǔ)義中去(例如正面、負面情感判斷)并盡力減少干擾因子對內容判斷影響。
  此外,優(yōu)采云采集器還能根據用戶(hù)想要獲取內容的時(shí)效性來(lái)對內容進(jìn)行歸集輸出;如此一來(lái)就能有效避免浪費時(shí)間去尋找相應內容。而該工具還能根據不同場(chǎng)合去匹配不同風(fēng)格、不同主題方式去帶出相應內容;如此一來(lái)就可以很好地將不同應用場(chǎng)合中所需要內容帶出來(lái)便于使用者使用。
  總之,隨著(zhù)大數據時(shí)代的不斷發(fā)展壯大,使用文章采集器已然成為一件必然之事。特別是隨著(zhù)優(yōu)采云采集器憑借AI情感分析功能而得到大眾的注意之后;該工具早已成為當前市場(chǎng)上有效快速歸集海量信息打印出相應內容板式最佳選項。

技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 147 次瀏覽 ? 2022-12-25 07:15 ? 來(lái)自相關(guān)話(huà)題

  技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?
  文章采集器有很多,比如多抓魚(yú),金數據,伙牛網(wǎng)等等,但是我推薦一個(gè)叫seniorarg的工具。它是一個(gè)用來(lái)爬取文章信息的采集器,在大多數小的搜索引擎都能搜索到它的分享,并且爬蟲(chóng)正在不斷完善中。seniorarg的特色在于一鍵觸發(fā)規則,關(guān)鍵詞分析。但是我希望每一篇文章都有自己的價(jià)值。這個(gè)才是我的需求。目前我還只會(huì )爬一些考試題,上課教材等,人氣不夠大家可以去看看。
  
  最近在學(xué)python,順便看到了知乎上很多大佬們都推薦了nodejs,比如netbeans、pybuilder、pyspider等等。很多大佬說(shuō)nodejs和erlang都是從另一個(gè)場(chǎng)景切入了python,并非python語(yǔ)言自己創(chuàng )造了nodejs,但nodejs確實(shí)有著(zhù)nginx等這樣的技術(shù)加持,確實(shí)是很有吸引力。
  所以在這里可以大致總結一下python語(yǔ)言+nodejs的一些場(chǎng)景。1.計算機視覺(jué):語(yǔ)義分割、人臉識別、語(yǔ)義分割、ocr、文本檢測等。2.爬蟲(chóng):文本處理、文本摘要、翻譯等。3.自然語(yǔ)言處理:文本摘要、命名實(shí)體識別、對話(huà)機器人、知識圖譜等。4.其他計算機(網(wǎng)絡(luò ))操作系統:fortran、c等。5.云:阿里云、騰訊云等。而python語(yǔ)言+nodejs確實(shí)可以解決python語(yǔ)言定位標簽。
  
  兩者沒(méi)有必然聯(lián)系
  【
  有些要懂點(diǎn)python才能做,但是,python有notepad++與vs運行環(huán)境,可以利用localization等命令進(jìn)行各種數據預處理,然后轉換為nodejs格式的數據,很好用,且nodejs有編譯模塊,可以做網(wǎng)頁(yè)。兩者配合還可以用web工具開(kāi)發(fā),java與pythonpyqt不錯,還有django。有些要懂一點(diǎn)編程語(yǔ)言,但是我覺(jué)得最關(guān)鍵的還是數據結構與算法,掌握并掌握兩門(mén)語(yǔ)言,學(xué)的很快。 查看全部

  技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?
  文章采集有很多,比如多抓魚(yú),金數據,伙牛網(wǎng)等等,但是我推薦一個(gè)叫seniorarg的工具。它是一個(gè)用來(lái)爬取文章信息的采集器,在大多數小的搜索引擎都能搜索到它的分享,并且爬蟲(chóng)正在不斷完善中。seniorarg的特色在于一鍵觸發(fā)規則,關(guān)鍵詞分析。但是我希望每一篇文章都有自己的價(jià)值。這個(gè)才是我的需求。目前我還只會(huì )爬一些考試題,上課教材等,人氣不夠大家可以去看看。
  
  最近在學(xué)python,順便看到了知乎上很多大佬們都推薦了nodejs,比如netbeans、pybuilder、pyspider等等。很多大佬說(shuō)nodejs和erlang都是從另一個(gè)場(chǎng)景切入了python,并非python語(yǔ)言自己創(chuàng )造了nodejs,但nodejs確實(shí)有著(zhù)nginx等這樣的技術(shù)加持,確實(shí)是很有吸引力。
  所以在這里可以大致總結一下python語(yǔ)言+nodejs的一些場(chǎng)景。1.計算機視覺(jué):語(yǔ)義分割、人臉識別、語(yǔ)義分割、ocr、文本檢測等。2.爬蟲(chóng):文本處理、文本摘要、翻譯等。3.自然語(yǔ)言處理:文本摘要、命名實(shí)體識別、對話(huà)機器人、知識圖譜等。4.其他計算機(網(wǎng)絡(luò ))操作系統:fortran、c等。5.云:阿里云、騰訊云等。而python語(yǔ)言+nodejs確實(shí)可以解決python語(yǔ)言定位標簽。
  
  兩者沒(méi)有必然聯(lián)系
  【
  有些要懂點(diǎn)python才能做,但是,python有notepad++與vs運行環(huán)境,可以利用localization等命令進(jìn)行各種數據預處理,然后轉換為nodejs格式的數據,很好用,且nodejs有編譯模塊,可以做網(wǎng)頁(yè)。兩者配合還可以用web工具開(kāi)發(fā),java與pythonpyqt不錯,還有django。有些要懂一點(diǎn)編程語(yǔ)言,但是我覺(jué)得最關(guān)鍵的還是數據結構與算法,掌握并掌握兩門(mén)語(yǔ)言,學(xué)的很快。

最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 401 次瀏覽 ? 2022-12-22 10:19 ? 來(lái)自相關(guān)話(huà)題

  最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版
  1.在設置中心打開(kāi)福利。
  2. 重啟軟件,確認安裝證書(shū)。
  3、登錄電腦微信,選擇公眾號下載,查看歷史記錄或點(diǎn)擊某文章,返回軟件查看軟件底部提示是否變紅。
  4.分析完成后會(huì )自動(dòng)下載。注意事項
  1.如果太頻繁,請重新?lián)芴柅@取新的IP地址...
  2.應該能滿(mǎn)足大多數人的需求。 以后可能會(huì )迭代更新,調整為年度更新……
  3、net4.5運行環(huán)境安裝軟件無(wú)法運行...
  
  4.如果殺毒軟件報毒...解決方法是:殺! !
  5.只能通過(guò)微信公眾號一一獲取,不要多開(kāi)軟件,否則會(huì )出現意想不到的問(wèn)題! ! !
  6、如果發(fā)現網(wǎng)絡(luò )不可用,請正確關(guān)閉軟件。 如果沒(méi)有,請重新打開(kāi)軟件并再次關(guān)閉。
  7、后臺分析的文章數和下載的文章數在大多數情況下是不一致的,因為有些文章被刪除或屏蔽了,但是找到的文章數總是大于下載的文章數。
  8. 雞蛋 (2)
  v3.261(年度更新)
  新增微信號文章下載所有文章
  下載單文章時(shí)同時(shí)添加微信文章全文和下載評論(不支持自定義粘貼鏈接下載)
  
  第三次優(yōu)化線(xiàn)程底層代碼,提升下載速度和穩定性
  增加多種關(guān)鍵點(diǎn)匹配,讓軟件使用時(shí)間盡可能長(cháng)
  修復部分已知bug,調整軟件整體穩定性
  添加第三方庫文件,使其功能更加強大
  優(yōu)化下載生成的word和pdf排版問(wèn)題
  修復word和pdf下載圖片被無(wú)情剪切越界的問(wèn)題
  新增下載文章時(shí)刪除文章中所有圖片的功能(針對部分只關(guān)注心靈雞湯的用戶(hù))
  分享文章:什么是公眾號文章采集器?怎么采集微信公眾號的文章?
  
  什么是公眾號文章采集器? 如何采集微信公眾號的文章? 關(guān)鍵詞: 如何采集微信公眾號的文章說(shuō)明: 有專(zhuān)門(mén)的采集公眾號文章的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,如何采集微信公眾號的文章? 下面就和拓途數據小編一起來(lái)了解一下一對公眾號的文章采集吧。 有專(zhuān)門(mén)的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,微信公眾號怎么采集文章? 下面就和拓途數據小編一起來(lái)了解一下吧。 什么是公眾號文章采集器? 拓圖數據公眾號文章采集器是一款非常好用的微信公眾號文章采集輔助工具。 這款微信公眾號文章采集工具功能強大全面,簡(jiǎn)單易用。 使用后,可以幫助用戶(hù)更加輕松便捷地采集文章。 該軟件可以幫助有需要的用戶(hù)大量采集文章中的內容、圖片等。 如何采集微信公眾號文章如何采集微信公眾號文章A:關(guān)鍵詞批量搜索和采集可以粘貼關(guān)鍵詞批量搜索,選擇采集內容日期,偽原創(chuàng )標題和內容,識別文章是否原創(chuàng ),支持文章一篇發(fā)到網(wǎng)站。 對于一些做SEO的人來(lái)說(shuō),在標題或內容中隨機插入長(cháng)尾詞。 可以下載帶索引的長(cháng)尾詞,導??入獲取流量。 B:指定公眾號采集。 大家可以通過(guò)公眾號排行榜或者自己搜索自己所在行業(yè)的公眾號,然后粘貼進(jìn)去。其他功能和第一項一樣,還是可以的。 比如你是教育或者稅務(wù)公司,專(zhuān)業(yè)的SEO,可以利用這個(gè)功能獲取流量或者高質(zhì)量的原創(chuàng )文章。 C:熱門(mén)行業(yè)采集按行業(yè)分類(lèi)采集,功能同第一項。 D:自動(dòng)采集發(fā)布 自動(dòng)采集發(fā)布還是批量搜索關(guān)鍵詞等功能圖中沒(méi)有顯示,重點(diǎn)是有個(gè)優(yōu)點(diǎn),不同的關(guān)鍵詞或者微信號采集可以選擇全選,會(huì )繼續按順序采集,例如 例子:你有10列,那么你可以為每一列設置一個(gè)與該列相關(guān)的詞的采集,當第一個(gè)采集完成后,會(huì )自動(dòng)采集并存儲第二個(gè)列。 如何采集微信公眾號的文章關(guān)于什么是公眾號文章采集器,以及如何采集微信公眾號的文章,拓圖數據小編就先介紹到這里。 使用文章采集器,您可以輕松采集一些好看的文章,然后發(fā)布到您的公眾號平臺。 持續關(guān)注更多資訊和知識點(diǎn),后續知識點(diǎn)如公眾號分析工具、湖南分析公眾號最好用的工具、公眾號分析數據工具、如何采集公眾號文章、如何采集自媒體公眾號文章。
   查看全部

  最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版
  1.在設置中心打開(kāi)福利。
  2. 重啟軟件,確認安裝證書(shū)。
  3、登錄電腦微信,選擇公眾號下載,查看歷史記錄或點(diǎn)擊某文章,返回軟件查看軟件底部提示是否變紅。
  4.分析完成后會(huì )自動(dòng)下載。注意事項
  1.如果太頻繁,請重新?lián)芴柅@取新的IP地址...
  2.應該能滿(mǎn)足大多數人的需求。 以后可能會(huì )迭代更新,調整為年度更新……
  3、net4.5運行環(huán)境安裝軟件無(wú)法運行...
  
  4.如果殺毒軟件報毒...解決方法是:殺! !
  5.只能通過(guò)微信公眾號一一獲取,不要多開(kāi)軟件,否則會(huì )出現意想不到的問(wèn)題! ! !
  6、如果發(fā)現網(wǎng)絡(luò )不可用,請正確關(guān)閉軟件。 如果沒(méi)有,請重新打開(kāi)軟件并再次關(guān)閉。
  7、后臺分析的文章數和下載的文章數在大多數情況下是不一致的,因為有些文章被刪除或屏蔽了,但是找到的文章數總是大于下載的文章數。
  8. 雞蛋 (2)
  v3.261(年度更新)
  新增微信號文章下載所有文章
  下載單文章時(shí)同時(shí)添加微信文章全文和下載評論(不支持自定義粘貼鏈接下載)
  
  第三次優(yōu)化線(xiàn)程底層代碼,提升下載速度和穩定性
  增加多種關(guān)鍵點(diǎn)匹配,讓軟件使用時(shí)間盡可能長(cháng)
  修復部分已知bug,調整軟件整體穩定性
  添加第三方庫文件,使其功能更加強大
  優(yōu)化下載生成的word和pdf排版問(wèn)題
  修復word和pdf下載圖片被無(wú)情剪切越界的問(wèn)題
  新增下載文章時(shí)刪除文章中所有圖片的功能(針對部分只關(guān)注心靈雞湯的用戶(hù))
  分享文章:什么是公眾號文章采集器?怎么采集微信公眾號的文章?
  
  什么是公眾號文章采集器? 如何采集微信公眾號的文章? 關(guān)鍵詞: 如何采集微信公眾號的文章說(shuō)明: 有專(zhuān)門(mén)的采集公眾號文章的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,如何采集微信公眾號的文章? 下面就和拓途數據小編一起來(lái)了解一下一對公眾號的文章采集吧。 有專(zhuān)門(mén)的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,微信公眾號怎么采集文章? 下面就和拓途數據小編一起來(lái)了解一下吧。 什么是公眾號文章采集器? 拓圖數據公眾號文章采集器是一款非常好用的微信公眾號文章采集輔助工具。 這款微信公眾號文章采集工具功能強大全面,簡(jiǎn)單易用。 使用后,可以幫助用戶(hù)更加輕松便捷地采集文章。 該軟件可以幫助有需要的用戶(hù)大量采集文章中的內容、圖片等。 如何采集微信公眾號文章如何采集微信公眾號文章A:關(guān)鍵詞批量搜索和采集可以粘貼關(guān)鍵詞批量搜索,選擇采集內容日期,偽原創(chuàng )標題和內容,識別文章是否原創(chuàng ),支持文章一篇發(fā)到網(wǎng)站。 對于一些做SEO的人來(lái)說(shuō),在標題或內容中隨機插入長(cháng)尾詞。 可以下載帶索引的長(cháng)尾詞,導??入獲取流量。 B:指定公眾號采集。 大家可以通過(guò)公眾號排行榜或者自己搜索自己所在行業(yè)的公眾號,然后粘貼進(jìn)去。其他功能和第一項一樣,還是可以的。 比如你是教育或者稅務(wù)公司,專(zhuān)業(yè)的SEO,可以利用這個(gè)功能獲取流量或者高質(zhì)量的原創(chuàng )文章。 C:熱門(mén)行業(yè)采集按行業(yè)分類(lèi)采集,功能同第一項。 D:自動(dòng)采集發(fā)布 自動(dòng)采集發(fā)布還是批量搜索關(guān)鍵詞等功能圖中沒(méi)有顯示,重點(diǎn)是有個(gè)優(yōu)點(diǎn),不同的關(guān)鍵詞或者微信號采集可以選擇全選,會(huì )繼續按順序采集,例如 例子:你有10列,那么你可以為每一列設置一個(gè)與該列相關(guān)的詞的采集,當第一個(gè)采集完成后,會(huì )自動(dòng)采集并存儲第二個(gè)列。 如何采集微信公眾號的文章關(guān)于什么是公眾號文章采集器,以及如何采集微信公眾號的文章,拓圖數據小編就先介紹到這里。 使用文章采集器,您可以輕松采集一些好看的文章,然后發(fā)布到您的公眾號平臺。 持續關(guān)注更多資訊和知識點(diǎn),后續知識點(diǎn)如公眾號分析工具、湖南分析公眾號最好用的工具、公眾號分析數據工具、如何采集公眾號文章、如何采集自媒體公眾號文章。
  

干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 142 次瀏覽 ? 2022-12-20 06:47 ? 來(lái)自相關(guān)話(huà)題

  干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)
  優(yōu)采云萬(wàn)能文章采集器,一款無(wú)技術(shù)門(mén)檻即可上手的免費采集工具。 優(yōu)采云萬(wàn)能文章采集器通過(guò)使用CSS選擇器識別HTML頁(yè)面中的信息,協(xié)助網(wǎng)站定義規則和任務(wù)。 將根據網(wǎng)站指定的執行計劃采集信息,并將結果以表格的形式存儲在瀏覽器中,以后可以保存為CSV或XLS文件。
  站長(cháng)只需要打開(kāi)一個(gè)頁(yè)面, 優(yōu)采云萬(wàn)能文章采集器會(huì )自動(dòng)識別表格數據或選擇需要手動(dòng)抓取的元素,然后告訴插件如何在頁(yè)面之間(甚至站點(diǎn)之間)導航(它還會(huì )嘗試自動(dòng)查找導航按鈕) 優(yōu)采云 Universal 文章 采集器還可以通過(guò)自動(dòng)導航頁(yè)面智能理解數據模式并提取所有數據。
  
  另外, 優(yōu)采云萬(wàn)能文章采集器安裝后即可啟動(dòng)使用,以最快的速度完成多頁(yè)采集。 強大的多層次網(wǎng)頁(yè)采集,無(wú)需任何編碼,可視化創(chuàng )建,跨多個(gè)頁(yè)面采集信息。 自動(dòng)規則,所有數據安全存儲在異地,雙重維護,定時(shí)任務(wù)自動(dòng)運行,無(wú)需學(xué)習python、javascript、xpath、json、iframe等技術(shù),快速上手。
  優(yōu)采云萬(wàn)能文章采集器可以自動(dòng)識別表格數據,自動(dòng)采集或轉換多網(wǎng)頁(yè)數據。 數據變化監控和實(shí)時(shí)通知,動(dòng)態(tài)頁(yè)面爬取,多種明細格式采集,支持無(wú)限滾動(dòng)。 優(yōu)采云萬(wàn)能文章采集器支持多種分頁(yè)方式、跨網(wǎng)站采集或數據轉換、增量采集、自動(dòng)生成采集規則、可視化采集規則編輯。
  優(yōu)采云萬(wàn)能文章采集器的無(wú)限數據導出到 Excel 或 CSV 文件,外加國際語(yǔ)言支持。 高度隱私:所有數據都存儲在用戶(hù)本地。 保密性高:多層加密保護,不接觸任何目標采集網(wǎng)站的用戶(hù)賬號或cookie信息。
  
  互聯(lián)網(wǎng)上有海量的數據資源。 想要抓取這些數據,就離不開(kāi)優(yōu)采云萬(wàn)能文章采集器。 速度和數據質(zhì)量:由于時(shí)間通常是限制因素,大規模爬取需要優(yōu)采云 Universal 文章 采集器的爬蟲(chóng)在不影響數據質(zhì)量的情況下高速爬取網(wǎng)頁(yè)。 這種對速度的要求使得爬取大規模的產(chǎn)品數據極具挑戰性。
  網(wǎng)站格式多變:網(wǎng)頁(yè)本身是基于HTML等松散規范建立的,各個(gè)網(wǎng)頁(yè)之間互不兼容,導致網(wǎng)頁(yè)結構復雜多變。 在 Ucai 優(yōu)采云 Universal 文章 采集器的規模上進(jìn)行爬取時(shí),您不僅要瀏覽數百個(gè)代碼草率的網(wǎng)站,而且還要被迫應對不斷變化的網(wǎng)站。 *** 訪(fǎng)問(wèn)不穩定:如果某一時(shí)刻網(wǎng)站訪(fǎng)問(wèn)壓力過(guò)大,或者服務(wù)器出現問(wèn)題,可能無(wú)法正常響應用戶(hù)瀏覽網(wǎng)頁(yè)的需求。 對于優(yōu)采云 Universal 文章 采集器來(lái)說(shuō),一旦出現意外情況,很可能會(huì )因為不知道如何處理而崩潰或邏輯中斷。
  網(wǎng)頁(yè)內容魚(yú)龍混雜:網(wǎng)頁(yè)顯示的內容除了有用的數據外,還有各種無(wú)效的信息; 有效信息的呈現方式也多種多樣,網(wǎng)頁(yè)上出現的數據格式也多種多樣。 網(wǎng)頁(yè)訪(fǎng)問(wèn)限制:網(wǎng)頁(yè)有訪(fǎng)問(wèn)頻率限制,如果網(wǎng)站訪(fǎng)問(wèn)頻率過(guò)高,將面臨IP被封的風(fēng)險。 網(wǎng)頁(yè)防采集機制:一些網(wǎng)站為了阻斷某些惡意采集,采取了防采集措施。 數據分析難度大: 優(yōu)采云大型萬(wàn)能文章采集器保證數據質(zhì)量,完整的數據輕松流入你的數據流,從而提升數據分析的效果。
  解決方案:SEO搜索引擎優(yōu)化:基礎、案例與實(shí)戰(第2版) Kindle電子書(shū)
  
  作者簡(jiǎn)介:楊任、程鵬、姚亞峰(主編)、羅世軒、閆涵(副主編)。 作者團隊既有長(cháng)期從事高職電子商務(wù)專(zhuān)業(yè)網(wǎng)絡(luò )營(yíng)銷(xiāo)教學(xué)的教師,也有具有豐富實(shí)踐經(jīng)驗的搜索引擎優(yōu)化人員。
  
  內容介紹:本書(shū)系統地介紹了搜索引擎優(yōu)化(SEO)的方法。 全書(shū)共11章,包括SEO概述、搜索引擎概述、SEO準備工作、網(wǎng)站關(guān)鍵詞優(yōu)化、網(wǎng)站結構優(yōu)化、網(wǎng)站頁(yè)面優(yōu)化、網(wǎng)站內容優(yōu)化、網(wǎng)站鏈接優(yōu)化、常用SEO工具、數據監控SEO與分析移動(dòng)網(wǎng)站。 本書(shū)內容豐富,實(shí)踐性強,以數據思維為導向,以成功的實(shí)際案例進(jìn)行講解。 它不僅能讓讀者了解SEO的基本知識,還能幫助讀者掌握利用SEO提高網(wǎng)站排名和流量的方法。 查看全部

  干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)
  優(yōu)采云萬(wàn)能文章采集器,一款無(wú)技術(shù)門(mén)檻即可上手的免費采集工具。 優(yōu)采云萬(wàn)能文章采集器通過(guò)使用CSS選擇器識別HTML頁(yè)面中的信息,協(xié)助網(wǎng)站定義規則和任務(wù)。 將根據網(wǎng)站指定的執行計劃采集信息,并將結果以表格的形式存儲在瀏覽器中,以后可以保存為CSV或XLS文件。
  站長(cháng)只需要打開(kāi)一個(gè)頁(yè)面, 優(yōu)采云萬(wàn)能文章采集器會(huì )自動(dòng)識別表格數據或選擇需要手動(dòng)抓取的元素,然后告訴插件如何在頁(yè)面之間(甚至站點(diǎn)之間)導航(它還會(huì )嘗試自動(dòng)查找導航按鈕) 優(yōu)采云 Universal 文章 采集器還可以通過(guò)自動(dòng)導航頁(yè)面智能理解數據模式并提取所有數據。
  
  另外, 優(yōu)采云萬(wàn)能文章采集器安裝后即可啟動(dòng)使用,以最快的速度完成多頁(yè)采集。 強大的多層次網(wǎng)頁(yè)采集,無(wú)需任何編碼,可視化創(chuàng )建,跨多個(gè)頁(yè)面采集信息。 自動(dòng)規則,所有數據安全存儲在異地,雙重維護,定時(shí)任務(wù)自動(dòng)運行,無(wú)需學(xué)習python、javascript、xpath、json、iframe等技術(shù),快速上手。
  優(yōu)采云萬(wàn)能文章采集器可以自動(dòng)識別表格數據,自動(dòng)采集或轉換多網(wǎng)頁(yè)數據。 數據變化監控和實(shí)時(shí)通知,動(dòng)態(tài)頁(yè)面爬取,多種明細格式采集,支持無(wú)限滾動(dòng)。 優(yōu)采云萬(wàn)能文章采集器支持多種分頁(yè)方式、跨網(wǎng)站采集或數據轉換、增量采集、自動(dòng)生成采集規則、可視化采集規則編輯。
  優(yōu)采云萬(wàn)能文章采集器的無(wú)限數據導出到 Excel 或 CSV 文件,外加國際語(yǔ)言支持。 高度隱私:所有數據都存儲在用戶(hù)本地。 保密性高:多層加密保護,不接觸任何目標采集網(wǎng)站的用戶(hù)賬號或cookie信息。
  
  互聯(lián)網(wǎng)上有海量的數據資源。 想要抓取這些數據,就離不開(kāi)優(yōu)采云萬(wàn)能文章采集器。 速度和數據質(zhì)量:由于時(shí)間通常是限制因素,大規模爬取需要優(yōu)采云 Universal 文章 采集器的爬蟲(chóng)在不影響數據質(zhì)量的情況下高速爬取網(wǎng)頁(yè)。 這種對速度的要求使得爬取大規模的產(chǎn)品數據極具挑戰性。
  網(wǎng)站格式多變:網(wǎng)頁(yè)本身是基于HTML等松散規范建立的,各個(gè)網(wǎng)頁(yè)之間互不兼容,導致網(wǎng)頁(yè)結構復雜多變。 在 Ucai 優(yōu)采云 Universal 文章 采集器的規模上進(jìn)行爬取時(shí),您不僅要瀏覽數百個(gè)代碼草率的網(wǎng)站,而且還要被迫應對不斷變化的網(wǎng)站。 *** 訪(fǎng)問(wèn)不穩定:如果某一時(shí)刻網(wǎng)站訪(fǎng)問(wèn)壓力過(guò)大,或者服務(wù)器出現問(wèn)題,可能無(wú)法正常響應用戶(hù)瀏覽網(wǎng)頁(yè)的需求。 對于優(yōu)采云 Universal 文章 采集器來(lái)說(shuō),一旦出現意外情況,很可能會(huì )因為不知道如何處理而崩潰或邏輯中斷。
  網(wǎng)頁(yè)內容魚(yú)龍混雜:網(wǎng)頁(yè)顯示的內容除了有用的數據外,還有各種無(wú)效的信息; 有效信息的呈現方式也多種多樣,網(wǎng)頁(yè)上出現的數據格式也多種多樣。 網(wǎng)頁(yè)訪(fǎng)問(wèn)限制:網(wǎng)頁(yè)有訪(fǎng)問(wèn)頻率限制,如果網(wǎng)站訪(fǎng)問(wèn)頻率過(guò)高,將面臨IP被封的風(fēng)險。 網(wǎng)頁(yè)防采集機制:一些網(wǎng)站為了阻斷某些惡意采集,采取了防采集措施。 數據分析難度大: 優(yōu)采云大型萬(wàn)能文章采集器保證數據質(zhì)量,完整的數據輕松流入你的數據流,從而提升數據分析的效果。
  解決方案:SEO搜索引擎優(yōu)化:基礎、案例與實(shí)戰(第2版) Kindle電子書(shū)
  
  作者簡(jiǎn)介:楊任、程鵬、姚亞峰(主編)、羅世軒、閆涵(副主編)。 作者團隊既有長(cháng)期從事高職電子商務(wù)專(zhuān)業(yè)網(wǎng)絡(luò )營(yíng)銷(xiāo)教學(xué)的教師,也有具有豐富實(shí)踐經(jīng)驗的搜索引擎優(yōu)化人員。
  
  內容介紹:本書(shū)系統地介紹了搜索引擎優(yōu)化(SEO)的方法。 全書(shū)共11章,包括SEO概述、搜索引擎概述、SEO準備工作、網(wǎng)站關(guān)鍵詞優(yōu)化、網(wǎng)站結構優(yōu)化、網(wǎng)站頁(yè)面優(yōu)化、網(wǎng)站內容優(yōu)化、網(wǎng)站鏈接優(yōu)化、常用SEO工具、數據監控SEO與分析移動(dòng)網(wǎng)站。 本書(shū)內容豐富,實(shí)踐性強,以數據思維為導向,以成功的實(shí)際案例進(jìn)行講解。 它不僅能讓讀者了解SEO的基本知識,還能幫助讀者掌握利用SEO提高網(wǎng)站排名和流量的方法。

匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 113 次瀏覽 ? 2022-12-19 05:12 ? 來(lái)自相關(guān)話(huà)題

  匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?
  
  RQKXARXm
  
  優(yōu)采云采集器 dede 列列出采集問(wèn)題?,F在我用 V9,用軟件自帶的 dede 5.7 文章,跟著(zhù)自己網(wǎng)站的地址,用自己網(wǎng)站的用戶(hù)名和密碼,其實(shí)登錄成功了,還可以不時(shí)獲取列表目錄 ID 和名稱(chēng)。然后構建自己的 Web 發(fā)布模塊,粘貼并復制代碼直接獲取列 ID 和名稱(chēng),但無(wú)法獲取列 ID 和列表。我喝醉了!!!!!!!!!!如何獲取此列列表 ID?現在關(guān)于訪(fǎng)問(wèn)有兩種混淆:首先,從生成菜單中,生成列HTML獲取方法。如果有案例就好了。其次,從添加的文章和列列表中獲取方法。如果有案例就好了。
  干貨教程:NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文獻采集工具
  NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文檔采集工具
  發(fā)布者:shen1045
  2022-07-11
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...
  NoteExpress網(wǎng)絡(luò )捕手插件開(kāi)發(fā)后臺
  
  作為一些科研工作者或者學(xué)生黨,閱讀文獻幾乎是很多人每天需要做的事情。很多人喜歡用Chrome瀏覽器閱讀文檔,那么如何才能一鍵保存有價(jià)值的內容,并進(jìn)行有效的管理呢?畢竟隨著(zhù)時(shí)間的積累,瀏覽的文檔會(huì )越來(lái)越多。
  因此,一款簡(jiǎn)單實(shí)用的文檔管理軟件必不可少。這款NoteExpress網(wǎng)絡(luò )捕手插件可以幫助用戶(hù)將Chrome瀏覽器中任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄,有助于構建知識網(wǎng)絡(luò ),提高科研效率。
  NoteExpress網(wǎng)絡(luò )捕手插件功能介紹
  NoteExpress網(wǎng)頁(yè)捕手插件作為一款簡(jiǎn)單高效的NoteExpress知識庫文檔采集工具,不僅支持多屏、跨平臺協(xié)同工作,還可以讓用戶(hù)直接利用碎片時(shí)間在不同平臺之間編輯文檔屏幕和不同平臺高效地完成跟蹤和采集工作。
  NoteExpress網(wǎng)絡(luò )捕手插件支持傳統的樹(shù)結構分類(lèi)和靈活的標簽分類(lèi)。靈活多樣的分類(lèi)方式,讓用戶(hù)輕松管理文檔。同時(shí),該插件還支持智能識別全文關(guān)鍵信息,并可自動(dòng)更新補全參考書(shū)目。
  此外,這款插件不僅是一個(gè)強大的期刊管理器,還支持Microsoft Office Word或金山WPS。內置JCR近5年期刊影響因子、國內外主流期刊收錄范圍和中科院期刊分部數據。當用戶(hù)直接添加文檔并自動(dòng)匹配并填寫(xiě)相關(guān)信息時(shí),還可以在寫(xiě)作時(shí)直接引用參考文獻。
  NoteExpress網(wǎng)捕手插件使用方法
  1.安裝插件
  如果可能,您可以直接從 Google Chrome 商店下載并安裝它。如果您無(wú)法訪(fǎng)問(wèn)Chrome商店,請從擴展風(fēng)扇下載NoteExpress網(wǎng)絡(luò )捕手插件安裝包,解壓并在您的谷歌瀏覽器上安裝crx文件。
  
  2.使用方法
  NoteExpress網(wǎng)絡(luò )捕手插件安裝后,需要配合本地NoteExpress程序使用。如果本地NoteExpress程序沒(méi)有啟動(dòng),直接點(diǎn)擊瀏覽器上方工具欄中的插件圖標即可啟動(dòng)本地NoteExpress程序。
  值得注意的是,此類(lèi)操作需要用戶(hù)授權才能執行。如果出現提示,請在選中“記住我對此類(lèi)鏈接的選擇”后單擊“啟動(dòng)應用程序”。NoteExpress程序啟動(dòng)后,再次點(diǎn)擊插件即可正常使用。
  如果要保存網(wǎng)頁(yè)內容,首先需要點(diǎn)擊瀏覽器上方工具欄中的插件圖標,選擇要保存的文件夾位置,然后選擇要保存的內容,最后點(diǎn)擊【保存]在右上角彈出的小窗口中]按鈕。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻... 查看全部

  匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?
  
  RQKXARXm
  
  優(yōu)采云采集器 dede 列列出采集問(wèn)題?,F在我用 V9,用軟件自帶的 dede 5.7 文章,跟著(zhù)自己網(wǎng)站的地址,用自己網(wǎng)站的用戶(hù)名和密碼,其實(shí)登錄成功了,還可以不時(shí)獲取列表目錄 ID 和名稱(chēng)。然后構建自己的 Web 發(fā)布模塊,粘貼并復制代碼直接獲取列 ID 和名稱(chēng),但無(wú)法獲取列 ID 和列表。我喝醉了!!!!!!!!!!如何獲取此列列表 ID?現在關(guān)于訪(fǎng)問(wèn)有兩種混淆:首先,從生成菜單中,生成列HTML獲取方法。如果有案例就好了。其次,從添加的文章和列列表中獲取方法。如果有案例就好了。
  干貨教程:NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文獻采集工具
  NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文檔采集工具
  發(fā)布者:shen1045
  2022-07-11
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...
  NoteExpress網(wǎng)絡(luò )捕手插件開(kāi)發(fā)后臺
  
  作為一些科研工作者或者學(xué)生黨,閱讀文獻幾乎是很多人每天需要做的事情。很多人喜歡用Chrome瀏覽器閱讀文檔,那么如何才能一鍵保存有價(jià)值的內容,并進(jìn)行有效的管理呢?畢竟隨著(zhù)時(shí)間的積累,瀏覽的文檔會(huì )越來(lái)越多。
  因此,一款簡(jiǎn)單實(shí)用的文檔管理軟件必不可少。這款NoteExpress網(wǎng)絡(luò )捕手插件可以幫助用戶(hù)將Chrome瀏覽器中任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄,有助于構建知識網(wǎng)絡(luò ),提高科研效率。
  NoteExpress網(wǎng)絡(luò )捕手插件功能介紹
  NoteExpress網(wǎng)頁(yè)捕手插件作為一款簡(jiǎn)單高效的NoteExpress知識庫文檔采集工具,不僅支持多屏、跨平臺協(xié)同工作,還可以讓用戶(hù)直接利用碎片時(shí)間在不同平臺之間編輯文檔屏幕和不同平臺高效地完成跟蹤和采集工作。
  NoteExpress網(wǎng)絡(luò )捕手插件支持傳統的樹(shù)結構分類(lèi)和靈活的標簽分類(lèi)。靈活多樣的分類(lèi)方式,讓用戶(hù)輕松管理文檔。同時(shí),該插件還支持智能識別全文關(guān)鍵信息,并可自動(dòng)更新補全參考書(shū)目。
  此外,這款插件不僅是一個(gè)強大的期刊管理器,還支持Microsoft Office Word或金山WPS。內置JCR近5年期刊影響因子、國內外主流期刊收錄范圍和中科院期刊分部數據。當用戶(hù)直接添加文檔并自動(dòng)匹配并填寫(xiě)相關(guān)信息時(shí),還可以在寫(xiě)作時(shí)直接引用參考文獻。
  NoteExpress網(wǎng)捕手插件使用方法
  1.安裝插件
  如果可能,您可以直接從 Google Chrome 商店下載并安裝它。如果您無(wú)法訪(fǎng)問(wèn)Chrome商店,請從擴展風(fēng)扇下載NoteExpress網(wǎng)絡(luò )捕手插件安裝包,解壓并在您的谷歌瀏覽器上安裝crx文件。
  
  2.使用方法
  NoteExpress網(wǎng)絡(luò )捕手插件安裝后,需要配合本地NoteExpress程序使用。如果本地NoteExpress程序沒(méi)有啟動(dòng),直接點(diǎn)擊瀏覽器上方工具欄中的插件圖標即可啟動(dòng)本地NoteExpress程序。
  值得注意的是,此類(lèi)操作需要用戶(hù)授權才能執行。如果出現提示,請在選中“記住我對此類(lèi)鏈接的選擇”后單擊“啟動(dòng)應用程序”。NoteExpress程序啟動(dòng)后,再次點(diǎn)擊插件即可正常使用。
  如果要保存網(wǎng)頁(yè)內容,首先需要點(diǎn)擊瀏覽器上方工具欄中的插件圖標,選擇要保存的文件夾位置,然后選擇要保存的內容,最后點(diǎn)擊【保存]在右上角彈出的小窗口中]按鈕。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...

匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 288 次瀏覽 ? 2022-12-16 10:19 ? 來(lái)自相關(guān)話(huà)題

  匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端
  文章采集器新媒體管家新媒體管家官網(wǎng)是一款編輯器軟件工具,支持包括騰訊新聞客戶(hù)端、新浪新聞客戶(hù)端、百度新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、阿里新聞客戶(hù)端、騰訊新聞客戶(hù)端等新聞客戶(hù)端自媒體平臺網(wǎng)站的自媒體平臺數據采集工具、新聞評論、公眾號實(shí)時(shí)排行榜、熱文追蹤等功能,一鍵全網(wǎng)采集頭條新聞熱文,即使用手機端也能輕松抓熱點(diǎn)。
  
  一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端新聞客戶(hù)端一般每月出現3次左右的熱點(diǎn),分別是7日新聞、14日新聞和21日新聞。這三次的熱點(diǎn)流量是最大的,一般自媒體寫(xiě)文,哪怕沒(méi)有提前掌握熱點(diǎn),只要碰上寫(xiě)一篇新聞評論也能有不錯的閱讀量。而一個(gè)月出現3次熱點(diǎn),算是熱點(diǎn)界限的標準了,做新聞需要的是針對某個(gè)敏感時(shí)段,抓住關(guān)鍵點(diǎn),作為自己的內容發(fā)布出去。
  
  快速從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端的新聞內容一般關(guān)鍵詞=話(huà)題詞+新聞客戶(hù)端從12個(gè)新聞客戶(hù)端中采集頭條、21日、14日、21日新聞14日新聞=搜狗、360、搜狐三大新聞客戶(hù)端21日新聞=騰訊新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、搜狐新聞客戶(hù)端六大新聞客戶(hù)端熱文采集相關(guān)熱文新聞評論追蹤平臺一鍵全網(wǎng)采集頭條新聞熱文被封的文章,可以按照被封原因在新聞評論中回復。
  全網(wǎng)采集針對字數限制200字以?xún)?,字數比較多的文章,可以設置字數限制,并且采集字數后再更新熱文評論追蹤平臺一鍵全網(wǎng)采集0字符文章回復不建議采集的文章:直接發(fā)布到公眾號的文章;文章標題帶有網(wǎng)址鏈接,在微信中直接打開(kāi);關(guān)鍵詞帶有微信號/電話(huà)號碼,在微信公眾號發(fā)布。一鍵全網(wǎng)采集一些要求比較高的熱文。 查看全部

  匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端
  文章采集器新媒體管家新媒體管家官網(wǎng)是一款編輯器軟件工具,支持包括騰訊新聞客戶(hù)端、新浪新聞客戶(hù)端、百度新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、阿里新聞客戶(hù)端、騰訊新聞客戶(hù)端等新聞客戶(hù)端自媒體平臺網(wǎng)站的自媒體平臺數據采集工具、新聞評論、公眾號實(shí)時(shí)排行榜、熱文追蹤等功能,一鍵全網(wǎng)采集頭條新聞熱文,即使用手機端也能輕松抓熱點(diǎn)。
  
  一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端新聞客戶(hù)端一般每月出現3次左右的熱點(diǎn),分別是7日新聞、14日新聞和21日新聞。這三次的熱點(diǎn)流量是最大的,一般自媒體寫(xiě)文,哪怕沒(méi)有提前掌握熱點(diǎn),只要碰上寫(xiě)一篇新聞評論也能有不錯的閱讀量。而一個(gè)月出現3次熱點(diǎn),算是熱點(diǎn)界限的標準了,做新聞需要的是針對某個(gè)敏感時(shí)段,抓住關(guān)鍵點(diǎn),作為自己的內容發(fā)布出去。
  
  快速從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端的新聞內容一般關(guān)鍵詞=話(huà)題詞+新聞客戶(hù)端從12個(gè)新聞客戶(hù)端中采集頭條、21日、14日、21日新聞14日新聞=搜狗、360、搜狐三大新聞客戶(hù)端21日新聞=騰訊新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、搜狐新聞客戶(hù)端六大新聞客戶(hù)端熱文采集相關(guān)熱文新聞評論追蹤平臺一鍵全網(wǎng)采集頭條新聞熱文被封的文章,可以按照被封原因在新聞評論中回復。
  全網(wǎng)采集針對字數限制200字以?xún)?,字數比較多的文章,可以設置字數限制,并且采集字數后再更新熱文評論追蹤平臺一鍵全網(wǎng)采集0字符文章回復不建議采集的文章:直接發(fā)布到公眾號的文章;文章標題帶有網(wǎng)址鏈接,在微信中直接打開(kāi);關(guān)鍵詞帶有微信號/電話(huà)號碼,在微信公眾號發(fā)布。一鍵全網(wǎng)采集一些要求比較高的熱文。

技巧:快速上手 Pythond 采集器的最佳實(shí)踐

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 159 次瀏覽 ? 2022-12-07 22:38 ? 來(lái)自相關(guān)話(huà)題

  技巧:快速上手 Pythond 采集器的最佳實(shí)踐
  Pythond 是一組完整的場(chǎng)景,用于定期觸發(fā)用戶(hù)定義的 Python 采集腳本。本文以“獲取每小時(shí)登錄用戶(hù)數”為指標向中心上報。
  1.1. 商務(wù)演示簡(jiǎn)介
  業(yè)務(wù)流程大致如下:采集數據庫中的數據(Python 腳本)->pythond 采集器觸發(fā)腳本定期上報數據(datakit)->指標可以從中心(web)看到。
  數據庫現在有一個(gè)名為“客戶(hù)”的表,其中收錄以下字段:
  ● 名稱(chēng):名稱(chēng)(字符串)。
  ● last_logined_time:登錄時(shí)間(時(shí)間戳)。
  表創(chuàng )建語(yǔ)句如下:
  創(chuàng )建表客戶(hù)
 ?。?br />   idBIGINT(20) 不為空 AUTO_INCREMENT 注釋 '增量 ID',
  last_logined_time BIGINT(20) 不為空 默認 0COMMENT '登錄時(shí)間(時(shí)間戳),
  名稱(chēng)VARCHAR(48) 不為空 默認值 ''注釋 '名稱(chēng)',
  主鍵,
  關(guān)鍵idx_last_logined_time(last_logined_time)
 ?。?引擎=InnoDB 默認字符集=utf8mb4;
  將測試數據插入上表中:
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(1、1645600127、“張山”);
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(2、1645600127、“l(fā)isi”);
  插入客戶(hù)(ID、last_logined_time、姓名)值(3、1645600127、“王武”);
  使用以下 SQL 語(yǔ)句獲取每小時(shí)登錄的用戶(hù)數:
  從客戶(hù)中選擇 count(1),其中 last_logined_time>=(unix_timestamp()-3600);
  以上數據以指標形式上報中心。
  下面詳細介紹了實(shí)現此目的的步驟。
  1.2. 前提條件 1.2.1.蟒蛇環(huán)境
  蟒
  需要安裝,Pythond 采集器目前處于 alpha 階段,并且與 Python 2.7+ 和 Python 3+ 兼容。不過(guò)為了以后的兼容性,強烈建議使用 Python 3,畢竟官方不支持 Python 2。以下演示也使用 Python 3。
  1.2.2. Python 依賴(lài)項
  需要安裝以下依賴(lài)項:
  ● 請求(運營(yíng)網(wǎng)絡(luò ),用于報告指標)。
  pymySQL(操作MySQL數據庫,用于連接到數據庫以獲取業(yè)務(wù)數據)。
  安裝方法如下:
  蟒蛇3
  python3 -m pip 安裝請求
  python3 -m pip install pymysql
  上面的安裝需要安裝 pip,如果沒(méi)有,可以參考以下方法(來(lái)自:這里):
  Linux/MacOS
  python3 -m ensurepip --upgrade
  窗戶(hù)
  py -m ensurepip --upgrade
  1.3. 編寫(xiě)用戶(hù)自定義腳本
  用戶(hù)需要繼承 DataKitFramework 類(lèi),然后重寫(xiě) run 方法。DataKitFramework 類(lèi)源代碼文件datakit_framework.py,路徑為 datakit/python.d/core/datakit_framework.py。
  有關(guān)具體用法,請參閱源代碼文件 datakit/python.d/core/demo.py。
  根據上述要求,我們在這里編寫(xiě)以下 Python 腳本,命名為 hellopythond.py:
  從 datakit_framework 導入 DataKitFramework
  導入 pymysql
  進(jìn)口再
  導入日志記錄
  類(lèi) MysqlConn():
  def __init__(self, logger, config):
self.logger = logger
self.config = config
self.re_errno = re.compile(r'^\((\d+),')
try:
self.conn = pymysql.Connect(**self.config)
self.logger.info("pymysql.Connect() ok, {0}".format(id(self.conn)))
except Exception as e:
raise e
def __del__(self):
self.close()
def close(self):
if self.conn:
self.logger.info("conn.close() {0}".format(id(self.conn)))
self.conn.close()
def execute_query(self, sql_str, sql_params=(), first=True):
res_list = None
cur = None
try:
cur = self.conn.cursor()
cur.execute(sql_str, sql_params)
res_list = cur.fetchall()
<p>
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_query(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return res_list
def execute_write(self, sql_str, sql_params=(), first=True):
cur = None
n = None
err = None
try:
cur = self.conn.cursor()
n = cur.execute(sql_str, sql_params)
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_write(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return n, err
def _deal_with_network_exception(self, stre):
errno_str = self._get_errorno_str(stre)
if errno_str != '2006' and errno_str != '2013' and errno_str != '0':
return False
try:
self.conn.ping()
except Exception as e:
return False
return True
def _get_errorno_str(self, stre):
searchObj = self.re_errno.search(stre)
if searchObj:
errno_str = searchObj.group(1)
else:
errno_str = '-1'
return errno_str
def _is_duplicated(self, stre):
errno_str = self._get_errorno_str(stre)
# 1062:字段值重復,入庫失敗
# 1169:字段值重復,更新記錄失敗
if errno_str == "1062" or errno_str == "1169":
return True
return False
</p>
  類(lèi)HelloPythond(DataKitFramework):
  =(unix_timestamp()-%s)“sql_params = ('3600')n = mysql_conn.execute_query(query_str, sql_params)data = [{”measurement“: ”hour_logined_customers_count“, # 指標名稱(chēng)?!皹撕灐保?{“tag_name”: “tag_value”, # 自定義標簽,根據要標記的內容填寫(xiě),我在這里隨便寫(xiě)}, “字段”: {“計數”: n[0][0], # 指標,這里是每小時(shí)登錄的用戶(hù)數},},]in_data = {'M':d ata,'input': “pyfromgit”}返回self.report( in_data) # 你必須在這里調用self.report“ title=”“ data-bs-original-title=”copy“ aria-label=”copy“ >
  __name = 'HelloPythond'
interval = 10 # 每 10 秒鐘采集上報一次。這個(gè)根據實(shí)際業(yè)務(wù)進(jìn)行調節,這里僅作演示。
# if your datakit ip is 127.0.0.1 and port is 9529, you won't need use this,
# just comment it.
# def __init__(self, **kwargs):
# super().__init__(ip = '127.0.0.1', port = 9529)
def run(self):
config = {
"host": "172.16.2.203",
"port": 30080,
"user": "root",
"password": "Kx2ADer7",
"db": "df_core",
"autocommit": True,
# "cursorclass": pymysql.cursors.DictCursor,
<p>
"charset": "utf8mb4"
}
mysql_conn = MysqlConn(logging.getLogger(''), config)
query_str = "select count(1) from customers where last_logined_time>=(unix_timestamp()-%s)"
sql_params = ('3600')
n = mysql_conn.execute_query(query_str, sql_params)
data = [
{
"measurement": "hour_logined_customers_count", # 指標名稱(chēng)。
"tags": {
"tag_name": "tag_value", # 自定義 tag,根據自己想要標記的填寫(xiě),我這里是隨便寫(xiě)的
},
"fields": {
"count": n[0][0], # 指標,這里是每個(gè)小時(shí)登錄的用戶(hù)數
},
},
]
in_data = {
'M':data,
'input': "pyfromgit"
}
return self.report(in_data) # you must call self.report here
</p>
  1.4. 將自定義腳本放置在正確的位置
  在 Datakit 安裝目錄的 python.d 目錄中創(chuàng )建一個(gè)新文件夾,并命名為 hellopythond,這個(gè)文件夾名應該和上面寫(xiě)的類(lèi)名一樣,即 hellopythond。
  然后將上面寫(xiě) hellopythond.py 腳本放在這個(gè)文件夾下,即最終的目錄結構如下:
  ├── ...
  ├── 資料套件
  └── 蟒蛇
  ├── core
│?? ├── datakit_framework.py
│?? └── demo.py
└── hellopythond
└── hellopythond.py
  上面的核心文件夾是 Python 的核心文件夾,不要動(dòng)。
  以上是未啟用 gitrepos 功能,
  如果啟用了 gitrepos 函數,則路徑結構如下所示:
  ├── ...
  ├── 資料套件
  ├── 蟒蛇
  ├── 吉曲波斯
  │ └── 您的項目
  │├── 確認
  │├── 流水線(xiàn)
  │└── 蟒蛇
  │└── 你好蟒蛇
  │└── hellopythond.py
  1.5. 啟用 pythond 配置文件
  復制 Pythond 配置文件。將 pythond.conf.sample 復制為 conf.d/pythond 目錄中的 pythond.conf,然后按如下方式配置:[
  [inputs.pythond]]
  # Python 采集器名稱(chēng)
name = 'some-python-inputs' # required
# 運行 Python 采集器所需的環(huán)境變量
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
# Python 采集器可執行程序路徑(盡可能寫(xiě)絕對路徑)
cmd = "python3" # required. python3 is recommended.
# 用戶(hù)腳本的相對路徑(填寫(xiě)文件夾,填好后該文件夾下一級目錄的模塊和 py 文件都將得到應用)
dirs = ["hellopythond"] # 這里填的是文件夾名,即類(lèi)名
  1.6. 重啟數據工具包
  sudo datakit --restart
  1.7. 效果圖
  如果一切順利,我們將能夠在大約 1 分鐘內看到中間的指標圖。
  1.8. 參考文檔
  ● 官方手冊:用 Python 開(kāi)發(fā)自定義采集器
  ● 官方手冊:通過(guò) Git 管理配置文件
  秘密:信息收集組合拳之從廢棄接口中尋找漏洞
  使用OneForAll工具按域名采集url和ip
  工具地址:GitHub - shmilylty/OneForAll:OneForAll是一款強大的子域名采集工具
  常用命令:python oneforall.py --targets targets.txt run
  將需要掃描的域名放在targets.txt中,運行后會(huì )在results文件夾下生成掃描結果
  在運行結果中,我們可以看到有url,子域名,ip
  其中,運行結果中的ip多行重復。我們需要把ip提取出來(lái),轉換成txt文本,每行一個(gè)ip,不重復,方便其他工具掃描
  腳本:刪除重復的 ip
  #!/usr/bin/env python# conding:utf-8<br />##把同一行的ip換行,然后寫(xiě)進(jìn)result.txt的文件里with open('ip.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): with open('result.txt','a',encoding='utf-8') as writelist: b = dirs.replace(",", '\n') writelist.write(b)<br />#去除重復ip,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://blog.csdn.net/qq_22764 ... s%3D1
  提取成這樣的一行只有一個(gè)ip,沒(méi)有重復的文字,我們可以放到goby,fscan,小米風(fēng)扇等工具中掃描
  fscan工具掃描ip
  工具地址:GitHub - shadow1ng/fscan:一款全面的內網(wǎng)掃描工具,方便一鍵自動(dòng)化,全方位漏掃。
  本工具主要用于內網(wǎng)掃描、資產(chǎn)發(fā)現、漏洞掃描和弱口令爆破。它運行得非???。對于一些網(wǎng)絡(luò )資產(chǎn)的外部網(wǎng)絡(luò )檢測和發(fā)現,它也是一個(gè)不錯的選擇。
  常用命令:全端口掃描 fscan64.exe -hf ip.txt -p 1-65535 -o result.txt
  將要掃描的ip地址放在ip.txt中,result.txt就是運行結果
  
  小米風(fēng)扇
  工具地址:我的小工具-標簽-范世強-博客園
 ?。ㄈ绻也坏竭@個(gè)版本的地址,就貼出作者博客的地址)
  JSFinder掃描js和url
  工具地址:GitHub - Threezh1/JSFinder:JSFinder是一款快速從網(wǎng)站JS文件中提取URL和子域名的工具。
  常用命令:python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt
  將要掃描的url放在targets.txt中,運行后會(huì )生成兩個(gè)txt文本,JSurl.txt為URL,JSdomain.txt為子域名
  上述工具的掃描結果收錄大量的url。如果我們需要更高效,我們可以先從參數入手,這樣我們就需要對收錄參數的url進(jìn)行過(guò)濾。
  腳本:帶參數提取url
  #!/usr/bin/env python# conding:utf-8<br />#字符串中有“?”且不在字符串的結尾的就寫(xiě)入result.txt中with open('JSurl.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): # re_result=re.search(r"'?'",dirs) # re_result=str(re_result) if "?" in dirs :#判斷字符中是否有“?”,如果有則返回該字符串的位置,是從坐標0開(kāi)始算的 re = dirs.find("?") # a=len(dirs)-2是為了判斷“?”是不是在最后一個(gè)字符,len()與find()不同是從一開(kāi)始算字符串的長(cháng)度的,在加上每行字符中\n換行符也占了一個(gè)字符,所以要減2 a=len(dirs)-2#判斷字符串中“?”是不是在字符的最后 if re < a : with open('result.txt','a',encoding='utf-8') as writelist: writelist.write(dirs)<br />#去除result.txt中的重復字符串,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://www.cnblogs.com/luguankun/p/11846401.html(判斷一個(gè)字符是否在一個(gè)字符串中)
  <br style="outline: 0px;" />
  腳本運行后生成的帶參數的url如下
  從已棄用的接口中查找漏洞
  有的網(wǎng)站經(jīng)過(guò)多輪滲透,正常業(yè)務(wù)測試很差,連邏輯漏洞都找不到。經(jīng)過(guò)以上信息采集,一般就可以采集到網(wǎng)站url的歷史業(yè)務(wù)了。
  然后我們使用腳本對url進(jìn)行處理和篩選,批量放入sqlmap中運行。還有一些敏感接口可以嘗試發(fā)現未授權訪(fǎng)問(wèn)、信息泄露等。
  sqlmap批量掃描
  
  常用命令:python sqlmap.py -m urls.txt --batch
  在 urls.txt 文件中,放入我們使用腳本“Extract url with parameters”過(guò)濾的 url
  除了參數,還可以用同樣的思路修改腳本,找到敏感接口和url跳轉參數等。
  通用敏感接口
  常用跳轉參數
  toUrl=
  登錄網(wǎng)址=
  注冊網(wǎng)址
  重定向網(wǎng)址=
  加載網(wǎng)址=
  proxy_url=
  文件網(wǎng)址=
  跳轉網(wǎng)址=
  在某個(gè)項目中,客戶(hù)想知道我是如何找到接口的
  侵權請私聊公眾號刪文 查看全部

  技巧:快速上手 Pythond 采集器的最佳實(shí)踐
  Pythond 是一組完整的場(chǎng)景,用于定期觸發(fā)用戶(hù)定義的 Python 采集腳本。本文以“獲取每小時(shí)登錄用戶(hù)數”為指標向中心上報。
  1.1. 商務(wù)演示簡(jiǎn)介
  業(yè)務(wù)流程大致如下:采集數據庫中的數據(Python 腳本)->pythond 采集器觸發(fā)腳本定期上報數據(datakit)->指標可以從中心(web)看到。
  數據庫現在有一個(gè)名為“客戶(hù)”的表,其中收錄以下字段:
  ● 名稱(chēng):名稱(chēng)(字符串)。
  ● last_logined_time:登錄時(shí)間(時(shí)間戳)。
  表創(chuàng )建語(yǔ)句如下:
  創(chuàng )建表客戶(hù)
 ?。?br />   idBIGINT(20) 不為空 AUTO_INCREMENT 注釋 '增量 ID',
  last_logined_time BIGINT(20) 不為空 默認 0COMMENT '登錄時(shí)間(時(shí)間戳),
  名稱(chēng)VARCHAR(48) 不為空 默認值 ''注釋 '名稱(chēng)',
  主鍵,
  關(guān)鍵idx_last_logined_time(last_logined_time)
 ?。?引擎=InnoDB 默認字符集=utf8mb4;
  將測試數據插入上表中:
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(1、1645600127、“張山”);
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(2、1645600127、“l(fā)isi”);
  插入客戶(hù)(ID、last_logined_time、姓名)值(3、1645600127、“王武”);
  使用以下 SQL 語(yǔ)句獲取每小時(shí)登錄的用戶(hù)數:
  從客戶(hù)中選擇 count(1),其中 last_logined_time>=(unix_timestamp()-3600);
  以上數據以指標形式上報中心。
  下面詳細介紹了實(shí)現此目的的步驟。
  1.2. 前提條件 1.2.1.蟒蛇環(huán)境
  蟒
  需要安裝,Pythond 采集器目前處于 alpha 階段,并且與 Python 2.7+ 和 Python 3+ 兼容。不過(guò)為了以后的兼容性,強烈建議使用 Python 3,畢竟官方不支持 Python 2。以下演示也使用 Python 3。
  1.2.2. Python 依賴(lài)項
  需要安裝以下依賴(lài)項:
  ● 請求(運營(yíng)網(wǎng)絡(luò ),用于報告指標)。
  pymySQL(操作MySQL數據庫,用于連接到數據庫以獲取業(yè)務(wù)數據)。
  安裝方法如下:
  蟒蛇3
  python3 -m pip 安裝請求
  python3 -m pip install pymysql
  上面的安裝需要安裝 pip,如果沒(méi)有,可以參考以下方法(來(lái)自:這里):
  Linux/MacOS
  python3 -m ensurepip --upgrade
  窗戶(hù)
  py -m ensurepip --upgrade
  1.3. 編寫(xiě)用戶(hù)自定義腳本
  用戶(hù)需要繼承 DataKitFramework 類(lèi),然后重寫(xiě) run 方法。DataKitFramework 類(lèi)源代碼文件datakit_framework.py,路徑為 datakit/python.d/core/datakit_framework.py。
  有關(guān)具體用法,請參閱源代碼文件 datakit/python.d/core/demo.py。
  根據上述要求,我們在這里編寫(xiě)以下 Python 腳本,命名為 hellopythond.py:
  從 datakit_framework 導入 DataKitFramework
  導入 pymysql
  進(jìn)口再
  導入日志記錄
  類(lèi) MysqlConn():
  def __init__(self, logger, config):
self.logger = logger
self.config = config
self.re_errno = re.compile(r'^\((\d+),')
try:
self.conn = pymysql.Connect(**self.config)
self.logger.info("pymysql.Connect() ok, {0}".format(id(self.conn)))
except Exception as e:
raise e
def __del__(self):
self.close()
def close(self):
if self.conn:
self.logger.info("conn.close() {0}".format(id(self.conn)))
self.conn.close()
def execute_query(self, sql_str, sql_params=(), first=True):
res_list = None
cur = None
try:
cur = self.conn.cursor()
cur.execute(sql_str, sql_params)
res_list = cur.fetchall()
<p>
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_query(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return res_list
def execute_write(self, sql_str, sql_params=(), first=True):
cur = None
n = None
err = None
try:
cur = self.conn.cursor()
n = cur.execute(sql_str, sql_params)
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_write(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return n, err
def _deal_with_network_exception(self, stre):
errno_str = self._get_errorno_str(stre)
if errno_str != '2006' and errno_str != '2013' and errno_str != '0':
return False
try:
self.conn.ping()
except Exception as e:
return False
return True
def _get_errorno_str(self, stre):
searchObj = self.re_errno.search(stre)
if searchObj:
errno_str = searchObj.group(1)
else:
errno_str = '-1'
return errno_str
def _is_duplicated(self, stre):
errno_str = self._get_errorno_str(stre)
# 1062:字段值重復,入庫失敗
# 1169:字段值重復,更新記錄失敗
if errno_str == "1062" or errno_str == "1169":
return True
return False
</p>
  類(lèi)HelloPythond(DataKitFramework):
  =(unix_timestamp()-%s)“sql_params = ('3600')n = mysql_conn.execute_query(query_str, sql_params)data = [{”measurement“: ”hour_logined_customers_count“, # 指標名稱(chēng)?!皹撕灐保?{“tag_name”: “tag_value”, # 自定義標簽,根據要標記的內容填寫(xiě),我在這里隨便寫(xiě)}, “字段”: {“計數”: n[0][0], # 指標,這里是每小時(shí)登錄的用戶(hù)數},},]in_data = {'M':d ata,'input': “pyfromgit”}返回self.report( in_data) # 你必須在這里調用self.report“ title=”“ data-bs-original-title=”copy“ aria-label=”copy“ >
  __name = 'HelloPythond'
interval = 10 # 每 10 秒鐘采集上報一次。這個(gè)根據實(shí)際業(yè)務(wù)進(jìn)行調節,這里僅作演示。
# if your datakit ip is 127.0.0.1 and port is 9529, you won't need use this,
# just comment it.
# def __init__(self, **kwargs):
# super().__init__(ip = '127.0.0.1', port = 9529)
def run(self):
config = {
"host": "172.16.2.203",
"port": 30080,
"user": "root",
"password": "Kx2ADer7",
"db": "df_core",
"autocommit": True,
# "cursorclass": pymysql.cursors.DictCursor,
<p>
"charset": "utf8mb4"
}
mysql_conn = MysqlConn(logging.getLogger(''), config)
query_str = "select count(1) from customers where last_logined_time>=(unix_timestamp()-%s)"
sql_params = ('3600')
n = mysql_conn.execute_query(query_str, sql_params)
data = [
{
"measurement": "hour_logined_customers_count", # 指標名稱(chēng)。
"tags": {
"tag_name": "tag_value", # 自定義 tag,根據自己想要標記的填寫(xiě),我這里是隨便寫(xiě)的
},
"fields": {
"count": n[0][0], # 指標,這里是每個(gè)小時(shí)登錄的用戶(hù)數
},
},
]
in_data = {
'M':data,
'input': "pyfromgit"
}
return self.report(in_data) # you must call self.report here
</p>
  1.4. 將自定義腳本放置在正確的位置
  在 Datakit 安裝目錄的 python.d 目錄中創(chuàng )建一個(gè)新文件夾,并命名為 hellopythond,這個(gè)文件夾名應該和上面寫(xiě)的類(lèi)名一樣,即 hellopythond。
  然后將上面寫(xiě) hellopythond.py 腳本放在這個(gè)文件夾下,即最終的目錄結構如下:
  ├── ...
  ├── 資料套件
  └── 蟒蛇
  ├── core
│?? ├── datakit_framework.py
│?? └── demo.py
└── hellopythond
└── hellopythond.py
  上面的核心文件夾是 Python 的核心文件夾,不要動(dòng)。
  以上是未啟用 gitrepos 功能,
  如果啟用了 gitrepos 函數,則路徑結構如下所示:
  ├── ...
  ├── 資料套件
  ├── 蟒蛇
  ├── 吉曲波斯
  │ └── 您的項目
  │├── 確認
  │├── 流水線(xiàn)
  │└── 蟒蛇
  │└── 你好蟒蛇
  │└── hellopythond.py
  1.5. 啟用 pythond 配置文件
  復制 Pythond 配置文件。將 pythond.conf.sample 復制為 conf.d/pythond 目錄中的 pythond.conf,然后按如下方式配置:[
  [inputs.pythond]]
  # Python 采集器名稱(chēng)
name = 'some-python-inputs' # required
# 運行 Python 采集器所需的環(huán)境變量
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
# Python 采集器可執行程序路徑(盡可能寫(xiě)絕對路徑)
cmd = "python3" # required. python3 is recommended.
# 用戶(hù)腳本的相對路徑(填寫(xiě)文件夾,填好后該文件夾下一級目錄的模塊和 py 文件都將得到應用)
dirs = ["hellopythond"] # 這里填的是文件夾名,即類(lèi)名
  1.6. 重啟數據工具包
  sudo datakit --restart
  1.7. 效果圖
  如果一切順利,我們將能夠在大約 1 分鐘內看到中間的指標圖。
  1.8. 參考文檔
  ● 官方手冊:用 Python 開(kāi)發(fā)自定義采集器
  ● 官方手冊:通過(guò) Git 管理配置文件
  秘密:信息收集組合拳之從廢棄接口中尋找漏洞
  使用OneForAll工具按域名采集url和ip
  工具地址:GitHub - shmilylty/OneForAll:OneForAll是一款強大的子域名采集工具
  常用命令:python oneforall.py --targets targets.txt run
  將需要掃描的域名放在targets.txt中,運行后會(huì )在results文件夾下生成掃描結果
  在運行結果中,我們可以看到有url,子域名,ip
  其中,運行結果中的ip多行重復。我們需要把ip提取出來(lái),轉換成txt文本,每行一個(gè)ip,不重復,方便其他工具掃描
  腳本:刪除重復的 ip
  #!/usr/bin/env python# conding:utf-8<br />##把同一行的ip換行,然后寫(xiě)進(jìn)result.txt的文件里with open('ip.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): with open('result.txt','a',encoding='utf-8') as writelist: b = dirs.replace(",", '\n') writelist.write(b)<br />#去除重復ip,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://blog.csdn.net/qq_22764 ... s%3D1
  提取成這樣的一行只有一個(gè)ip,沒(méi)有重復的文字,我們可以放到goby,fscan,小米風(fēng)扇等工具中掃描
  fscan工具掃描ip
  工具地址:GitHub - shadow1ng/fscan:一款全面的內網(wǎng)掃描工具,方便一鍵自動(dòng)化,全方位漏掃。
  本工具主要用于內網(wǎng)掃描、資產(chǎn)發(fā)現、漏洞掃描和弱口令爆破。它運行得非???。對于一些網(wǎng)絡(luò )資產(chǎn)的外部網(wǎng)絡(luò )檢測和發(fā)現,它也是一個(gè)不錯的選擇。
  常用命令:全端口掃描 fscan64.exe -hf ip.txt -p 1-65535 -o result.txt
  將要掃描的ip地址放在ip.txt中,result.txt就是運行結果
  
  小米風(fēng)扇
  工具地址:我的小工具-標簽-范世強-博客園
 ?。ㄈ绻也坏竭@個(gè)版本的地址,就貼出作者博客的地址)
  JSFinder掃描js和url
  工具地址:GitHub - Threezh1/JSFinder:JSFinder是一款快速從網(wǎng)站JS文件中提取URL和子域名的工具。
  常用命令:python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt
  將要掃描的url放在targets.txt中,運行后會(huì )生成兩個(gè)txt文本,JSurl.txt為URL,JSdomain.txt為子域名
  上述工具的掃描結果收錄大量的url。如果我們需要更高效,我們可以先從參數入手,這樣我們就需要對收錄參數的url進(jìn)行過(guò)濾。
  腳本:帶參數提取url
  #!/usr/bin/env python# conding:utf-8<br />#字符串中有“?”且不在字符串的結尾的就寫(xiě)入result.txt中with open('JSurl.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): # re_result=re.search(r"'?'",dirs) # re_result=str(re_result) if "?" in dirs :#判斷字符中是否有“?”,如果有則返回該字符串的位置,是從坐標0開(kāi)始算的 re = dirs.find("?") # a=len(dirs)-2是為了判斷“?”是不是在最后一個(gè)字符,len()與find()不同是從一開(kāi)始算字符串的長(cháng)度的,在加上每行字符中\n換行符也占了一個(gè)字符,所以要減2 a=len(dirs)-2#判斷字符串中“?”是不是在字符的最后 if re < a : with open('result.txt','a',encoding='utf-8') as writelist: writelist.write(dirs)<br />#去除result.txt中的重復字符串,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://www.cnblogs.com/luguankun/p/11846401.html(判斷一個(gè)字符是否在一個(gè)字符串中)
  <br style="outline: 0px;" />
  腳本運行后生成的帶參數的url如下
  從已棄用的接口中查找漏洞
  有的網(wǎng)站經(jīng)過(guò)多輪滲透,正常業(yè)務(wù)測試很差,連邏輯漏洞都找不到。經(jīng)過(guò)以上信息采集,一般就可以采集到網(wǎng)站url的歷史業(yè)務(wù)了。
  然后我們使用腳本對url進(jìn)行處理和篩選,批量放入sqlmap中運行。還有一些敏感接口可以嘗試發(fā)現未授權訪(fǎng)問(wèn)、信息泄露等。
  sqlmap批量掃描
  
  常用命令:python sqlmap.py -m urls.txt --batch
  在 urls.txt 文件中,放入我們使用腳本“Extract url with parameters”過(guò)濾的 url
  除了參數,還可以用同樣的思路修改腳本,找到敏感接口和url跳轉參數等。
  通用敏感接口
  常用跳轉參數
  toUrl=
  登錄網(wǎng)址=
  注冊網(wǎng)址
  重定向網(wǎng)址=
  加載網(wǎng)址=
  proxy_url=
  文件網(wǎng)址=
  跳轉網(wǎng)址=
  在某個(gè)項目中,客戶(hù)想知道我是如何找到接口的
  侵權請私聊公眾號刪文

完美:優(yōu)采云采集器 V3.0.2.6 綠色版

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 160 次瀏覽 ? 2022-12-07 22:36 ? 來(lái)自相關(guān)話(huà)題

  完美:優(yōu)采云采集器 V3.0.2.6 綠色版
  優(yōu)采云采集器綠色版是一款功能強大的網(wǎng)頁(yè)數據采集工具,該軟件可以幫助用戶(hù)采集從網(wǎng)頁(yè)獲取各種數據,并自動(dòng)生成Excel表格,API數據庫等內容為用戶(hù)提供觀(guān)看數據。目前,該軟件支持大多數網(wǎng)站。軟件也可以按計劃定時(shí)運行,無(wú)需人工操作,非常方便。
  軟件功能
  1、一鍵式數據提?。汉?jiǎn)單易學(xué),通過(guò)可視化界面,點(diǎn)擊鼠標即可抓取數據。
  2、快速高效:內置高速瀏覽器內核,配合HTTP引擎模式,實(shí)現快速采集數據。
  3、適用于各類(lèi)網(wǎng)站:能夠采集99%的互聯(lián)網(wǎng)網(wǎng)站,包括單頁(yè)應用、Ajax加載等動(dòng)態(tài)類(lèi)型網(wǎng)站。
  4、導出數據類(lèi)型豐富,采集的數據可以導出到Csv、Excel和各種數據庫,支持API導出。
  軟件特色
  1.精靈模式
  簡(jiǎn)單易用,輕松通過(guò)鼠標點(diǎn)擊自動(dòng)生成腳本。
  2、定時(shí)操作
  無(wú)需人工即可按計劃定時(shí)運行。
  
  3.獨創(chuàng )高速核心
  自研瀏覽器內核速度快,遠超競品。
  4、智能識別
  可以智能識別網(wǎng)頁(yè)中的列表和表單結構(多選框下拉列表等)。
  5.廣告攔截
  自定義廣告攔截模塊,兼容AdblockPlus語(yǔ)法,可添加自定義規則。
  6. 多種數據導出
  支持Txt、Excel、MySQL、SQLServer、SQlite、Access、網(wǎng)站等。
  指示
  1. 運行優(yōu)采云采集器,這是主功能界面。
  2.任務(wù)編輯界面。
  
  3.任務(wù)數據管理界面。
  4.數據導出工具截圖。
  安裝方法
  1. 從本站下載優(yōu)采云采集器綠色版安裝包。
  2、使用壓縮軟件解壓(推薦WinRAR)。
  3、點(diǎn)擊“PashanhuV3.0.2.3Setup.exe”文件開(kāi)始安裝。
  4. 然后點(diǎn)擊下一步直到完成。
  5、安裝完成后,可以看到優(yōu)采云采集器的主界面。
  外媒:優(yōu)采云采集媒體助手
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  相關(guān)軟件大小版本說(shuō)明下載位置
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  功能介紹
  廣告素材搜索
  提高內容編寫(xiě)效率
  整合來(lái)自主要平臺的數據,以及
  只需輸入關(guān)鍵詞,即可從今日頭條、知乎、百家等主流自媒體平臺獲取文章、圖片、段落等文字素材,提高文章質(zhì)量
  實(shí)時(shí)搜索引擎,精準過(guò)濾,內容過(guò)濾
  AI算法將文章內容搜索結果集成到列表中并顯示給您,支持多種過(guò)濾條件,內容批量處理,提高文章寫(xiě)作效率
  文章原創(chuàng )
  提高文章收錄和排名
  
  除了偽原創(chuàng ),還利用深度神經(jīng)網(wǎng)絡(luò )算法重構文章,降低文章重復性,既保證了文章的可讀性,又繞過(guò)了一些重復性檢測算法
  分詞算法、DNN算法、TensorFlow人工智能引擎
  分詞算法拆分文章,自動(dòng)調整段落中單詞的順序,并替換整個(gè)句子,以確保最大的文章原創(chuàng ),同時(shí)保持可讀性
  原創(chuàng )文章發(fā)電機
  一鍵群發(fā)
  一鍵發(fā)布
  智能賬戶(hù)分配
  管理100+自媒體賬號發(fā)布只需2分鐘,可選擇定時(shí)、平臺模式創(chuàng )建發(fā)布任務(wù),滿(mǎn)足個(gè)性化運營(yíng)需求
  7*24小時(shí)為您服務(wù)
  使用 優(yōu)采云采集,您擁有 24/7 全天候運營(yíng)人員,無(wú)論節假日和周末如何,他們都可以執行您的發(fā)布任務(wù)
  軟件功能
  網(wǎng)站建設者的cms 文章助手
  一站式網(wǎng)站文章采集、原創(chuàng )文章生成器、群組發(fā)送工具,快速提升網(wǎng)站收錄、排名、體重
  
  專(zhuān)為cms網(wǎng)站建設系統而構建
  在“內容為王”的時(shí)代,高效優(yōu)質(zhì)的更新文章尤為重要,優(yōu)采云采集目前支持數十種主流cms建站系統,快速解決網(wǎng)站文章搜索、原創(chuàng )、發(fā)布等需求為己任
  不僅僅是“采集、原創(chuàng )、發(fā)布”
  采集不是目標,找到有流量文章材料是關(guān)鍵;原創(chuàng )不是結果,增加網(wǎng)站收錄才是王道;發(fā)布不是手段,效率和智能才是關(guān)鍵
  適用場(chǎng)景
  自媒體/官方網(wǎng)站運營(yíng)
  內容資產(chǎn)搜索
  文章智能更新
  一鍵賬戶(hù)分發(fā)
  內容定期發(fā)布
  基礎
  廣告素材搜索/文章原創(chuàng )
  實(shí)時(shí)熱點(diǎn)跟蹤
  監控競爭對手 查看全部

  完美:優(yōu)采云采集器 V3.0.2.6 綠色版
  優(yōu)采云采集器綠色版是一款功能強大的網(wǎng)頁(yè)數據采集工具,該軟件可以幫助用戶(hù)采集從網(wǎng)頁(yè)獲取各種數據,并自動(dòng)生成Excel表格,API數據庫等內容為用戶(hù)提供觀(guān)看數據。目前,該軟件支持大多數網(wǎng)站。軟件也可以按計劃定時(shí)運行,無(wú)需人工操作,非常方便。
  軟件功能
  1、一鍵式數據提?。汉?jiǎn)單易學(xué),通過(guò)可視化界面,點(diǎn)擊鼠標即可抓取數據。
  2、快速高效:內置高速瀏覽器內核,配合HTTP引擎模式,實(shí)現快速采集數據。
  3、適用于各類(lèi)網(wǎng)站:能夠采集99%的互聯(lián)網(wǎng)網(wǎng)站,包括單頁(yè)應用、Ajax加載等動(dòng)態(tài)類(lèi)型網(wǎng)站。
  4、導出數據類(lèi)型豐富,采集的數據可以導出到Csv、Excel和各種數據庫,支持API導出。
  軟件特色
  1.精靈模式
  簡(jiǎn)單易用,輕松通過(guò)鼠標點(diǎn)擊自動(dòng)生成腳本。
  2、定時(shí)操作
  無(wú)需人工即可按計劃定時(shí)運行。
  
  3.獨創(chuàng )高速核心
  自研瀏覽器內核速度快,遠超競品。
  4、智能識別
  可以智能識別網(wǎng)頁(yè)中的列表和表單結構(多選框下拉列表等)。
  5.廣告攔截
  自定義廣告攔截模塊,兼容AdblockPlus語(yǔ)法,可添加自定義規則。
  6. 多種數據導出
  支持Txt、Excel、MySQL、SQLServer、SQlite、Access、網(wǎng)站等。
  指示
  1. 運行優(yōu)采云采集器,這是主功能界面。
  2.任務(wù)編輯界面。
  
  3.任務(wù)數據管理界面。
  4.數據導出工具截圖。
  安裝方法
  1. 從本站下載優(yōu)采云采集器綠色版安裝包。
  2、使用壓縮軟件解壓(推薦WinRAR)。
  3、點(diǎn)擊“PashanhuV3.0.2.3Setup.exe”文件開(kāi)始安裝。
  4. 然后點(diǎn)擊下一步直到完成。
  5、安裝完成后,可以看到優(yōu)采云采集器的主界面。
  外媒:優(yōu)采云采集媒體助手
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  相關(guān)軟件大小版本說(shuō)明下載位置
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  功能介紹
  廣告素材搜索
  提高內容編寫(xiě)效率
  整合來(lái)自主要平臺的數據,以及
  只需輸入關(guān)鍵詞,即可從今日頭條、知乎、百家等主流自媒體平臺獲取文章、圖片、段落等文字素材,提高文章質(zhì)量
  實(shí)時(shí)搜索引擎,精準過(guò)濾,內容過(guò)濾
  AI算法將文章內容搜索結果集成到列表中并顯示給您,支持多種過(guò)濾條件,內容批量處理,提高文章寫(xiě)作效率
  文章原創(chuàng )
  提高文章收錄和排名
  
  除了偽原創(chuàng ),還利用深度神經(jīng)網(wǎng)絡(luò )算法重構文章,降低文章重復性,既保證了文章的可讀性,又繞過(guò)了一些重復性檢測算法
  分詞算法、DNN算法、TensorFlow人工智能引擎
  分詞算法拆分文章,自動(dòng)調整段落中單詞的順序,并替換整個(gè)句子,以確保最大的文章原創(chuàng ),同時(shí)保持可讀性
  原創(chuàng )文章發(fā)電機
  一鍵群發(fā)
  一鍵發(fā)布
  智能賬戶(hù)分配
  管理100+自媒體賬號發(fā)布只需2分鐘,可選擇定時(shí)、平臺模式創(chuàng )建發(fā)布任務(wù),滿(mǎn)足個(gè)性化運營(yíng)需求
  7*24小時(shí)為您服務(wù)
  使用 優(yōu)采云采集,您擁有 24/7 全天候運營(yíng)人員,無(wú)論節假日和周末如何,他們都可以執行您的發(fā)布任務(wù)
  軟件功能
  網(wǎng)站建設者的cms 文章助手
  一站式網(wǎng)站文章采集、原創(chuàng )文章生成器、群組發(fā)送工具,快速提升網(wǎng)站收錄、排名、體重
  
  專(zhuān)為cms網(wǎng)站建設系統而構建
  在“內容為王”的時(shí)代,高效優(yōu)質(zhì)的更新文章尤為重要,優(yōu)采云采集目前支持數十種主流cms建站系統,快速解決網(wǎng)站文章搜索、原創(chuàng )、發(fā)布等需求為己任
  不僅僅是“采集、原創(chuàng )、發(fā)布”
  采集不是目標,找到有流量文章材料是關(guān)鍵;原創(chuàng )不是結果,增加網(wǎng)站收錄才是王道;發(fā)布不是手段,效率和智能才是關(guān)鍵
  適用場(chǎng)景
  自媒體/官方網(wǎng)站運營(yíng)
  內容資產(chǎn)搜索
  文章智能更新
  一鍵賬戶(hù)分發(fā)
  內容定期發(fā)布
  基礎
  廣告素材搜索/文章原創(chuàng )
  實(shí)時(shí)熱點(diǎn)跟蹤
  監控競爭對手

解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 150 次瀏覽 ? 2022-12-07 01:43 ? 來(lái)自相關(guān)話(huà)題

  解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解
  寫(xiě)在前面
  蝕刻
  是 Kubernetes 控制平面的重要組成部分和依賴(lài)關(guān)系,各種 Kubernetes 信息都存儲在 ETCD 中,因此監控 ETCD 尤為重要。ETCD 在 Kubernetes 中的架構角色如下(僅與 APIServer 交互):
  ETCD是一個(gè)類(lèi)似Zookeeper的產(chǎn)品,通常由多個(gè)節點(diǎn)的集群組成,使用raft協(xié)議來(lái)確保節點(diǎn)之間的一致性。ETCD具有以下特點(diǎn):
  閱讀 /metrics 界面
  蝕刻
  這樣的云原生組件,明明內置了對 /metrics 接口的支持,但 ETCD 非常注重安全,默認訪(fǎng)問(wèn) 2379 端口是使用證書(shū),我先測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-k?https://localhost:2379/metrics<br style="box-sizing: border-box;" />curl:?(35)?error:14094412:SSL?routines:ssl3_read_bytes:sslv3?alert?bad?certificate<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?ls?/etc/kubernetes/pki/etcd<br style="box-sizing: border-box;" />ca.crt??ca.key??healthcheck-client.crt??healthcheck-client.key??peer.crt??peer.key??server.crt??server.key<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?curl?-s?--cacert?/etc/kubernetes/pki/etcd/ca.crt?--cert?/etc/kubernetes/pki/etcd/server.crt?--key?/etc/kubernetes/pki/etcd/server.key?https://localhost:2379/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  對于使用 kubeadm 安裝的 Kubernetes 集群,相關(guān)證書(shū)在 /etc/kubernetes/pki/etcd 目錄中,并且為 curl 命令指定了相關(guān)證書(shū),可以訪(fǎng)問(wèn)。之后,使用 Categraf 的普羅米修斯插件直接采集相關(guān)數據。
  但是,真的沒(méi)有必要對指標數據做這么強的安全控制,整體相當麻煩,事實(shí)上,ETCD 確實(shí)提供了另一個(gè)端口來(lái)獲取指標數據,而無(wú)需經(jīng)過(guò)這套證書(shū)認證機制。我們來(lái)看看 ETCD 啟動(dòng)命令,在 Kubernetes 系統中,直接導出 ETCD pod 的 yaml 信息:
  kubectl?get?pod?-n?kube-system?etcd-10.206.0.16?-o?yaml<br style="box-sizing: border-box;" />
  
  在上面的例子中,etcd-10.206.0.16 是我的 ETCD 的 pod 名稱(chēng),你的可能是另一個(gè)名字,只需自己替換它即可。ETCD 的啟動(dòng)命令可以在輸出中看到:
  spec:<br style="box-sizing: border-box;" />??containers:<br style="box-sizing: border-box;" />??-?command:<br style="box-sizing: border-box;" />????-?etcd<br style="box-sizing: border-box;" />????-?--advertise-client-urls=https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--cert-file=/etc/kubernetes/pki/etcd/server.crt<br style="box-sizing: border-box;" />????-?--client-cert-auth=true<br style="box-sizing: border-box;" />????-?--data-dir=/var/lib/etcd<br style="box-sizing: border-box;" />????-?--initial-advertise-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--initial-cluster=10.206.0.16=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--key-file=/etc/kubernetes/pki/etcd/server.key<br style="box-sizing: border-box;" />????-?--listen-client-urls=https://127.0.0.1:2379,https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--listen-metrics-urls=http://0.0.0.0:2381<br style="box-sizing: border-box;" />????-?--listen-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--name=10.206.0.16<br style="box-sizing: border-box;" />????-?--peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt<br style="box-sizing: border-box;" />????-?--peer-client-cert-auth=true<br style="box-sizing: border-box;" />????-?--peer-key-file=/etc/kubernetes/pki/etcd/peer.key<br style="box-sizing: border-box;" />????-?--peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????-?--snapshot-count=10000<br style="box-sizing: border-box;" />????-?--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????image:?registry.aliyuncs.com/google_containers/etcd:3.5.1-0<br style="box-sizing: border-box;" />注意 --
  listen-metrics-urls=:2381 這一行,它實(shí)際上指定了端口 2381 直接獲取指標數據,我們來(lái)測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-s?localhost:2381/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  非常好
  好,那么我們就可以通過(guò)這個(gè)接口直接獲取數據。
  更多監控相關(guān)知識和SRE相關(guān)知識,歡迎加入我的學(xué)習
  數據采集
  ETCD的數據采集通常通過(guò)3種方式完成:
  apiVersion:?v1<br style="box-sizing: border-box;" />kind:?Service<br style="box-sizing: border-box;" />metadata:<br style="box-sizing: border-box;" />??namespace:?kube-system<br style="box-sizing: border-box;" />??name:?etcd<br style="box-sizing: border-box;" />??labels:<br style="box-sizing: border-box;" />????k8s-app:?etcd<br style="box-sizing: border-box;" />spec:<br style="box-sizing: border-box;" />??selector:<br style="box-sizing: border-box;" />????component:?etcd<br style="box-sizing: border-box;" />??type:?ClusterIP<br style="box-sizing: border-box;" />??clusterIP:?None<br style="box-sizing: border-box;" />??ports:<br style="box-sizing: border-box;" />????-?name:?http<br style="box-sizing: border-box;" />??????port:?2381<br style="box-sizing: border-box;" />??????targetPort:?2381<br style="box-sizing: border-box;" />??????protocol:?TCP<br style="box-sizing: border-box;" />
  
  如果您遵循 Prometheus Agent 模式采集方式,請注意抓取規則部分與前面提到的組件不同,并且您不需要使用 HTTPS:
  -?job_name:?'etcd'<br style="box-sizing: border-box;" />??kubernetes_sd_configs:<br style="box-sizing: border-box;" />??-?role:?endpoints<br style="box-sizing: border-box;" />??scheme:?http<br style="box-sizing: border-box;" />??relabel_configs:<br style="box-sizing: border-box;" />??-?source_labels:?[__meta_kubernetes_namespace,?__meta_kubernetes_service_name,?__meta_kubernetes_endpoint_port_name]<br style="box-sizing: border-box;" />????action:?keep<br style="box-sizing: border-box;" />????regex:?kube-system;etcd;http<br style="box-sizing: border-box;" />
  擋泥板
  此前,孔飛先生整理了ETCD的儀表盤(pán),地址在,可以直接導入到夜鶯中使用。
  關(guān)鍵指標
  ETCD也采集了很多指標,部分關(guān)鍵指標有以下含義,謝謝孔飛整理:
  #?HELP?etcd_server_is_leader?Whether?or?not?this?member?is?a?leader.?1?if?is,?0?otherwise.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_is_leader?gauge<br style="box-sizing: border-box;" />etcd?leader?表示?,1?leader?0?learner<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_success?The?total?number?of?successful?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_success?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查成功次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_failures?The?total?number?of?failed?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_failures?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查失敗次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_defrag_inflight?Whether?or?not?defrag?is?active?on?the?member.?1?means?active,?0?means?not.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_defrag_inflight?gauge<br style="box-sizing: border-box;" />是否啟動(dòng)數據壓縮,1表示壓縮,0表示沒(méi)有啟動(dòng)壓縮<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_snapshot_apply_in_progress_total?1?if?the?server?is?applying?the?incoming?snapshot.?0?if?none.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_snapshot_apply_in_progress_total?gauge<br style="box-sizing: border-box;" />是否再快照中,1?快照中,0?沒(méi)有<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_leader_changes_seen_total?The?number?of?leader?changes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_leader_changes_seen_total?counter<br style="box-sizing: border-box;" />集群leader切換的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?grpc_server_handled_total?Total?number?of?RPCs?completed?on?the?server,?regardless?of?success?or?failure.<br style="box-sizing: border-box;" />#?TYPE?grpc_server_handled_total?counter<br style="box-sizing: border-box;" />grpc?調用總數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_wal_fsync_duration_seconds?The?latency?distributions?of?fsync?called?by?WAL.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_wal_fsync_duration_seconds?histogram<br style="box-sizing: border-box;" />etcd?wal同步耗時(shí)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_failed_total?The?total?number?of?failed?proposals?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_failed_total?counter<br style="box-sizing: border-box;" />etcd?proposal(提議)失敗總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_pending?The?current?number?of?pending?proposals?to?commit.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_pending?gauge<br style="box-sizing: border-box;" />etcd?proposal(提議)pending總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_read_indexes_failed_total?The?total?number?of?failed?read?indexes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_read_indexes_failed_total?counter<br style="box-sizing: border-box;" />讀取索引失敗的次數統計(v3索引為所有key都建了索引,索引是為了加快range操作)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_slow_read_indexes_total?The?total?number?of?pending?read?indexes?not?in?sync?with?leader's?or?timed?out?read?index?requests.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_slow_read_indexes_total?counter<br style="box-sizing: border-box;" />讀取到過(guò)期索引或者讀取超時(shí)的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_quota_backend_bytes?Current?backend?storage?quota?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_quota_backend_bytes?gauge<br style="box-sizing: border-box;" />當前后端的存儲quota(db大小的上限)<br style="box-sizing: border-box;" />通過(guò)參數quota-backend-bytes調整大小,默認2G,官方建議不超過(guò)8G<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_bytes?Total?size?of?the?underlying?database?physically?allocated?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?分配的db大?。ㄊ褂昧看笮?空閑大?。?lt;br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_use_in_bytes?Total?size?of?the?underlying?database?logically?in?use?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_use_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?db的使用量大小<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_range_total?Total?number?of?ranges?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_range_total?counter<br style="box-sizing: border-box;" />etcd執行range的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_put_total?Total?number?of?puts?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_put_total?counter<br style="box-sizing: border-box;" />etcd執行put的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_txn_total?Total?number?of?txns?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_txn_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行事務(wù)的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_delete_total?Total?number?of?deletes?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_delete_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行delete操作的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_cpu_seconds_total?Total?user?and?system?CPU?time?spent?in?seconds.<br style="box-sizing: border-box;" />#?TYPE?process_cpu_seconds_total?counter<br style="box-sizing: border-box;" />etcd?cpu使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_resident_memory_bytes?Resident?memory?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?process_resident_memory_bytes?gauge<br style="box-sizing: border-box;" />etcd?內存使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_open_fds?Number?of?open?file?descriptors.<br style="box-sizing: border-box;" />#?TYPE?process_open_fds?gauge<br style="box-sizing: border-box;" />etcd?打開(kāi)的fd數目<br style="box-sizing: border-box;" />
  相關(guān)文章 作者簡(jiǎn)介
  本文的作者,Flashcat合作伙伴,文章
  內容是Flashcat技術(shù)團隊聯(lián)合沉淀的結晶,作者經(jīng)過(guò)編輯整理,我們將不斷輸出監控、穩定保障相關(guān)技術(shù)文章,文章可轉載,請注明出處,尊重技術(shù)人員的成果。
  如果您對南丁格爾、Categraf、普羅米修斯等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)拉入部落,與社區同事討論監控技術(shù)。
  核心方法:SEO優(yōu)化師推薦:什么方法可以有效提升網(wǎng)站排名?
  構建您自己的 網(wǎng)站,您如何才能使您的 網(wǎng)站 更易于搜索?此時(shí),您需要針對 SEO 優(yōu)化 網(wǎng)站。網(wǎng)站關(guān)鍵詞 排名優(yōu)化是SEO優(yōu)化人員的日常工作。做SEO優(yōu)化并不難。如果要優(yōu)化網(wǎng)站的關(guān)鍵詞在百度首頁(yè)的排名,還取決于關(guān)鍵詞競爭強度、優(yōu)化時(shí)間、網(wǎng)站權重、seoer經(jīng)驗等因素,和優(yōu)化技術(shù)。網(wǎng)站關(guān)鍵詞 排名優(yōu)化到百度首頁(yè)。那么如何優(yōu)化 網(wǎng)站 以提高排名呢?
  1.確定網(wǎng)站的主要關(guān)鍵詞并優(yōu)化
  總的來(lái)說(shuō),關(guān)鍵詞 是網(wǎng)站 的靈魂。找到正確的關(guān)鍵詞,就會(huì )找到正確的優(yōu)化方向。關(guān)鍵詞的質(zhì)量直接影響網(wǎng)站的曝光率和轉化率:關(guān)鍵詞越多越好,而不是越少越好。如果是小的網(wǎng)站,建議關(guān)鍵詞的個(gè)數不要太多,太多容易分散權重,不易優(yōu)化,增加工作量和成本的優(yōu)化。當然,我們不建議太少。太少的話(huà),會(huì )降低網(wǎng)站的宣傳力度,不利于網(wǎng)站的引流。
  
  2、做好網(wǎng)站內部?jì)?yōu)化。
  網(wǎng)站內部?jì)?yōu)化包括網(wǎng)站結構優(yōu)化、網(wǎng)站地圖制作、網(wǎng)頁(yè)偽靜態(tài)處理、死鏈接提交、404頁(yè)面制作、網(wǎng)站內容優(yōu)化等更多其中重要的是優(yōu)化網(wǎng)站結構和網(wǎng)站內容。
  搜索引擎優(yōu)化
  哪些方法可以有效提高網(wǎng)站排名?
  首先說(shuō)一下網(wǎng)站結構的優(yōu)化。網(wǎng)站結構應該是扁平的或者樹(shù)狀的,這樣更容易被搜索引擎抓取。同時(shí)盡量使用靜態(tài)頁(yè)面,因為搜索引擎喜歡靜態(tài)頁(yè)面。然后是內容優(yōu)化。網(wǎng)站內容的優(yōu)化可以有多種形式,比如文字、動(dòng)畫(huà)、圖片等。
  
  軟文 帶有文本錨文本可以很容易地將流量從一個(gè)頁(yè)面引導到另一個(gè)頁(yè)面,這是一種非常實(shí)用的內部?jì)?yōu)化方法。當然圖片優(yōu)化也是必須的,比如給圖片添加關(guān)鍵詞名字,添加ALT標簽等。
  3.站外優(yōu)化。
  首先,發(fā)布外鏈要注意鏈接內容的相關(guān)性。相關(guān)度越高,外鏈質(zhì)量越好,流量越容易進(jìn)來(lái),轉化率也會(huì )提高。相反,相關(guān)性低或內容不相關(guān)的外鏈是垃圾外鏈,不利于搜索引擎抓取和網(wǎng)站優(yōu)化。下一步是交換友情鏈接。友情鏈接的交換也應該選擇相關(guān)性高、質(zhì)量好、權重高的網(wǎng)站進(jìn)行交流。另外,應該對這些友情鏈接進(jìn)行注冊和跟蹤,以便及時(shí)發(fā)現和處理意想不到的問(wèn)題。
  網(wǎng)站的文章內容應該和網(wǎng)站的主關(guān)鍵詞相關(guān),或者寫(xiě)在主關(guān)鍵詞的長(cháng)尾關(guān)鍵詞周?chē)?。越有?chuàng )意越好。讓您的 文章 內容保持最新和大量,以便搜索引擎更有可能抓住您的 網(wǎng)站。同時(shí),頁(yè)面的標題要與頁(yè)面的內容有一定的相關(guān)性。如果更新后的文章相關(guān)性不高,主題不突出,那么網(wǎng)站的關(guān)鍵詞排名前期不會(huì )有太大優(yōu)勢,這也是綜合大多數 網(wǎng)站 頁(yè)面的排名 理由很充分??刂凭W(wǎng)頁(yè)的相關(guān)性和關(guān)鍵字密度也可以提高關(guān)鍵字排名。 查看全部

  解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解
  寫(xiě)在前面
  蝕刻
  是 Kubernetes 控制平面的重要組成部分和依賴(lài)關(guān)系,各種 Kubernetes 信息都存儲在 ETCD 中,因此監控 ETCD 尤為重要。ETCD 在 Kubernetes 中的架構角色如下(僅與 APIServer 交互):
  ETCD是一個(gè)類(lèi)似Zookeeper的產(chǎn)品,通常由多個(gè)節點(diǎn)的集群組成,使用raft協(xié)議來(lái)確保節點(diǎn)之間的一致性。ETCD具有以下特點(diǎn):
  閱讀 /metrics 界面
  蝕刻
  這樣的云原生組件,明明內置了對 /metrics 接口的支持,但 ETCD 非常注重安全,默認訪(fǎng)問(wèn) 2379 端口是使用證書(shū),我先測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-k?https://localhost:2379/metrics<br style="box-sizing: border-box;" />curl:?(35)?error:14094412:SSL?routines:ssl3_read_bytes:sslv3?alert?bad?certificate<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?ls?/etc/kubernetes/pki/etcd<br style="box-sizing: border-box;" />ca.crt??ca.key??healthcheck-client.crt??healthcheck-client.key??peer.crt??peer.key??server.crt??server.key<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?curl?-s?--cacert?/etc/kubernetes/pki/etcd/ca.crt?--cert?/etc/kubernetes/pki/etcd/server.crt?--key?/etc/kubernetes/pki/etcd/server.key?https://localhost:2379/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  對于使用 kubeadm 安裝的 Kubernetes 集群,相關(guān)證書(shū)在 /etc/kubernetes/pki/etcd 目錄中,并且為 curl 命令指定了相關(guān)證書(shū),可以訪(fǎng)問(wèn)。之后,使用 Categraf 的普羅米修斯插件直接采集相關(guān)數據。
  但是,真的沒(méi)有必要對指標數據做這么強的安全控制,整體相當麻煩,事實(shí)上,ETCD 確實(shí)提供了另一個(gè)端口來(lái)獲取指標數據,而無(wú)需經(jīng)過(guò)這套證書(shū)認證機制。我們來(lái)看看 ETCD 啟動(dòng)命令,在 Kubernetes 系統中,直接導出 ETCD pod 的 yaml 信息:
  kubectl?get?pod?-n?kube-system?etcd-10.206.0.16?-o?yaml<br style="box-sizing: border-box;" />
  
  在上面的例子中,etcd-10.206.0.16 是我的 ETCD 的 pod 名稱(chēng),你的可能是另一個(gè)名字,只需自己替換它即可。ETCD 的啟動(dòng)命令可以在輸出中看到:
  spec:<br style="box-sizing: border-box;" />??containers:<br style="box-sizing: border-box;" />??-?command:<br style="box-sizing: border-box;" />????-?etcd<br style="box-sizing: border-box;" />????-?--advertise-client-urls=https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--cert-file=/etc/kubernetes/pki/etcd/server.crt<br style="box-sizing: border-box;" />????-?--client-cert-auth=true<br style="box-sizing: border-box;" />????-?--data-dir=/var/lib/etcd<br style="box-sizing: border-box;" />????-?--initial-advertise-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--initial-cluster=10.206.0.16=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--key-file=/etc/kubernetes/pki/etcd/server.key<br style="box-sizing: border-box;" />????-?--listen-client-urls=https://127.0.0.1:2379,https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--listen-metrics-urls=http://0.0.0.0:2381<br style="box-sizing: border-box;" />????-?--listen-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--name=10.206.0.16<br style="box-sizing: border-box;" />????-?--peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt<br style="box-sizing: border-box;" />????-?--peer-client-cert-auth=true<br style="box-sizing: border-box;" />????-?--peer-key-file=/etc/kubernetes/pki/etcd/peer.key<br style="box-sizing: border-box;" />????-?--peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????-?--snapshot-count=10000<br style="box-sizing: border-box;" />????-?--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????image:?registry.aliyuncs.com/google_containers/etcd:3.5.1-0<br style="box-sizing: border-box;" />注意 --
  listen-metrics-urls=:2381 這一行,它實(shí)際上指定了端口 2381 直接獲取指標數據,我們來(lái)測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-s?localhost:2381/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  非常好
  好,那么我們就可以通過(guò)這個(gè)接口直接獲取數據。
  更多監控相關(guān)知識和SRE相關(guān)知識,歡迎加入我的學(xué)習
  數據采集
  ETCD的數據采集通常通過(guò)3種方式完成:
  apiVersion:?v1<br style="box-sizing: border-box;" />kind:?Service<br style="box-sizing: border-box;" />metadata:<br style="box-sizing: border-box;" />??namespace:?kube-system<br style="box-sizing: border-box;" />??name:?etcd<br style="box-sizing: border-box;" />??labels:<br style="box-sizing: border-box;" />????k8s-app:?etcd<br style="box-sizing: border-box;" />spec:<br style="box-sizing: border-box;" />??selector:<br style="box-sizing: border-box;" />????component:?etcd<br style="box-sizing: border-box;" />??type:?ClusterIP<br style="box-sizing: border-box;" />??clusterIP:?None<br style="box-sizing: border-box;" />??ports:<br style="box-sizing: border-box;" />????-?name:?http<br style="box-sizing: border-box;" />??????port:?2381<br style="box-sizing: border-box;" />??????targetPort:?2381<br style="box-sizing: border-box;" />??????protocol:?TCP<br style="box-sizing: border-box;" />
  
  如果您遵循 Prometheus Agent 模式采集方式,請注意抓取規則部分與前面提到的組件不同,并且您不需要使用 HTTPS:
  -?job_name:?'etcd'<br style="box-sizing: border-box;" />??kubernetes_sd_configs:<br style="box-sizing: border-box;" />??-?role:?endpoints<br style="box-sizing: border-box;" />??scheme:?http<br style="box-sizing: border-box;" />??relabel_configs:<br style="box-sizing: border-box;" />??-?source_labels:?[__meta_kubernetes_namespace,?__meta_kubernetes_service_name,?__meta_kubernetes_endpoint_port_name]<br style="box-sizing: border-box;" />????action:?keep<br style="box-sizing: border-box;" />????regex:?kube-system;etcd;http<br style="box-sizing: border-box;" />
  擋泥板
  此前,孔飛先生整理了ETCD的儀表盤(pán),地址在,可以直接導入到夜鶯中使用。
  關(guān)鍵指標
  ETCD也采集了很多指標,部分關(guān)鍵指標有以下含義,謝謝孔飛整理:
  #?HELP?etcd_server_is_leader?Whether?or?not?this?member?is?a?leader.?1?if?is,?0?otherwise.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_is_leader?gauge<br style="box-sizing: border-box;" />etcd?leader?表示?,1?leader?0?learner<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_success?The?total?number?of?successful?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_success?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查成功次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_failures?The?total?number?of?failed?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_failures?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查失敗次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_defrag_inflight?Whether?or?not?defrag?is?active?on?the?member.?1?means?active,?0?means?not.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_defrag_inflight?gauge<br style="box-sizing: border-box;" />是否啟動(dòng)數據壓縮,1表示壓縮,0表示沒(méi)有啟動(dòng)壓縮<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_snapshot_apply_in_progress_total?1?if?the?server?is?applying?the?incoming?snapshot.?0?if?none.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_snapshot_apply_in_progress_total?gauge<br style="box-sizing: border-box;" />是否再快照中,1?快照中,0?沒(méi)有<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_leader_changes_seen_total?The?number?of?leader?changes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_leader_changes_seen_total?counter<br style="box-sizing: border-box;" />集群leader切換的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?grpc_server_handled_total?Total?number?of?RPCs?completed?on?the?server,?regardless?of?success?or?failure.<br style="box-sizing: border-box;" />#?TYPE?grpc_server_handled_total?counter<br style="box-sizing: border-box;" />grpc?調用總數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_wal_fsync_duration_seconds?The?latency?distributions?of?fsync?called?by?WAL.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_wal_fsync_duration_seconds?histogram<br style="box-sizing: border-box;" />etcd?wal同步耗時(shí)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_failed_total?The?total?number?of?failed?proposals?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_failed_total?counter<br style="box-sizing: border-box;" />etcd?proposal(提議)失敗總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_pending?The?current?number?of?pending?proposals?to?commit.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_pending?gauge<br style="box-sizing: border-box;" />etcd?proposal(提議)pending總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_read_indexes_failed_total?The?total?number?of?failed?read?indexes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_read_indexes_failed_total?counter<br style="box-sizing: border-box;" />讀取索引失敗的次數統計(v3索引為所有key都建了索引,索引是為了加快range操作)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_slow_read_indexes_total?The?total?number?of?pending?read?indexes?not?in?sync?with?leader's?or?timed?out?read?index?requests.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_slow_read_indexes_total?counter<br style="box-sizing: border-box;" />讀取到過(guò)期索引或者讀取超時(shí)的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_quota_backend_bytes?Current?backend?storage?quota?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_quota_backend_bytes?gauge<br style="box-sizing: border-box;" />當前后端的存儲quota(db大小的上限)<br style="box-sizing: border-box;" />通過(guò)參數quota-backend-bytes調整大小,默認2G,官方建議不超過(guò)8G<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_bytes?Total?size?of?the?underlying?database?physically?allocated?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?分配的db大?。ㄊ褂昧看笮?空閑大?。?lt;br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_use_in_bytes?Total?size?of?the?underlying?database?logically?in?use?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_use_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?db的使用量大小<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_range_total?Total?number?of?ranges?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_range_total?counter<br style="box-sizing: border-box;" />etcd執行range的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_put_total?Total?number?of?puts?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_put_total?counter<br style="box-sizing: border-box;" />etcd執行put的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_txn_total?Total?number?of?txns?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_txn_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行事務(wù)的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_delete_total?Total?number?of?deletes?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_delete_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行delete操作的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_cpu_seconds_total?Total?user?and?system?CPU?time?spent?in?seconds.<br style="box-sizing: border-box;" />#?TYPE?process_cpu_seconds_total?counter<br style="box-sizing: border-box;" />etcd?cpu使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_resident_memory_bytes?Resident?memory?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?process_resident_memory_bytes?gauge<br style="box-sizing: border-box;" />etcd?內存使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_open_fds?Number?of?open?file?descriptors.<br style="box-sizing: border-box;" />#?TYPE?process_open_fds?gauge<br style="box-sizing: border-box;" />etcd?打開(kāi)的fd數目<br style="box-sizing: border-box;" />
  相關(guān)文章 作者簡(jiǎn)介
  本文的作者,Flashcat合作伙伴,文章
  內容是Flashcat技術(shù)團隊聯(lián)合沉淀的結晶,作者經(jīng)過(guò)編輯整理,我們將不斷輸出監控、穩定保障相關(guān)技術(shù)文章,文章可轉載,請注明出處,尊重技術(shù)人員的成果。
  如果您對南丁格爾、Categraf、普羅米修斯等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)拉入部落,與社區同事討論監控技術(shù)。
  核心方法:SEO優(yōu)化師推薦:什么方法可以有效提升網(wǎng)站排名?
  構建您自己的 網(wǎng)站,您如何才能使您的 網(wǎng)站 更易于搜索?此時(shí),您需要針對 SEO 優(yōu)化 網(wǎng)站。網(wǎng)站關(guān)鍵詞 排名優(yōu)化是SEO優(yōu)化人員的日常工作。做SEO優(yōu)化并不難。如果要優(yōu)化網(wǎng)站的關(guān)鍵詞在百度首頁(yè)的排名,還取決于關(guān)鍵詞競爭強度、優(yōu)化時(shí)間、網(wǎng)站權重、seoer經(jīng)驗等因素,和優(yōu)化技術(shù)。網(wǎng)站關(guān)鍵詞 排名優(yōu)化到百度首頁(yè)。那么如何優(yōu)化 網(wǎng)站 以提高排名呢?
  1.確定網(wǎng)站的主要關(guān)鍵詞并優(yōu)化
  總的來(lái)說(shuō),關(guān)鍵詞 是網(wǎng)站 的靈魂。找到正確的關(guān)鍵詞,就會(huì )找到正確的優(yōu)化方向。關(guān)鍵詞的質(zhì)量直接影響網(wǎng)站的曝光率和轉化率:關(guān)鍵詞越多越好,而不是越少越好。如果是小的網(wǎng)站,建議關(guān)鍵詞的個(gè)數不要太多,太多容易分散權重,不易優(yōu)化,增加工作量和成本的優(yōu)化。當然,我們不建議太少。太少的話(huà),會(huì )降低網(wǎng)站的宣傳力度,不利于網(wǎng)站的引流。
  
  2、做好網(wǎng)站內部?jì)?yōu)化。
  網(wǎng)站內部?jì)?yōu)化包括網(wǎng)站結構優(yōu)化、網(wǎng)站地圖制作、網(wǎng)頁(yè)偽靜態(tài)處理、死鏈接提交、404頁(yè)面制作、網(wǎng)站內容優(yōu)化等更多其中重要的是優(yōu)化網(wǎng)站結構和網(wǎng)站內容。
  搜索引擎優(yōu)化
  哪些方法可以有效提高網(wǎng)站排名?
  首先說(shuō)一下網(wǎng)站結構的優(yōu)化。網(wǎng)站結構應該是扁平的或者樹(shù)狀的,這樣更容易被搜索引擎抓取。同時(shí)盡量使用靜態(tài)頁(yè)面,因為搜索引擎喜歡靜態(tài)頁(yè)面。然后是內容優(yōu)化。網(wǎng)站內容的優(yōu)化可以有多種形式,比如文字、動(dòng)畫(huà)、圖片等。
  
  軟文 帶有文本錨文本可以很容易地將流量從一個(gè)頁(yè)面引導到另一個(gè)頁(yè)面,這是一種非常實(shí)用的內部?jì)?yōu)化方法。當然圖片優(yōu)化也是必須的,比如給圖片添加關(guān)鍵詞名字,添加ALT標簽等。
  3.站外優(yōu)化。
  首先,發(fā)布外鏈要注意鏈接內容的相關(guān)性。相關(guān)度越高,外鏈質(zhì)量越好,流量越容易進(jìn)來(lái),轉化率也會(huì )提高。相反,相關(guān)性低或內容不相關(guān)的外鏈是垃圾外鏈,不利于搜索引擎抓取和網(wǎng)站優(yōu)化。下一步是交換友情鏈接。友情鏈接的交換也應該選擇相關(guān)性高、質(zhì)量好、權重高的網(wǎng)站進(jìn)行交流。另外,應該對這些友情鏈接進(jìn)行注冊和跟蹤,以便及時(shí)發(fā)現和處理意想不到的問(wèn)題。
  網(wǎng)站的文章內容應該和網(wǎng)站的主關(guān)鍵詞相關(guān),或者寫(xiě)在主關(guān)鍵詞的長(cháng)尾關(guān)鍵詞周?chē)?。越有?chuàng )意越好。讓您的 文章 內容保持最新和大量,以便搜索引擎更有可能抓住您的 網(wǎng)站。同時(shí),頁(yè)面的標題要與頁(yè)面的內容有一定的相關(guān)性。如果更新后的文章相關(guān)性不高,主題不突出,那么網(wǎng)站的關(guān)鍵詞排名前期不會(huì )有太大優(yōu)勢,這也是綜合大多數 網(wǎng)站 頁(yè)面的排名 理由很充分??刂凭W(wǎng)頁(yè)的相關(guān)性和關(guān)鍵字密度也可以提高關(guān)鍵字排名。

解決方案:優(yōu)采云批量文章采集器

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 163 次瀏覽 ? 2022-12-06 06:14 ? 來(lái)自相關(guān)話(huà)題

  解決方案:優(yōu)采云批量文章采集器
  最近有很多站長(cháng)朋友問(wèn)我網(wǎng)站采集什么軟件好用,優(yōu)采云萬(wàn)能文章采集軟件好用。今天我要談?wù)勎覀儚?優(yōu)采云、優(yōu)采云、免費 采集 工具中學(xué)到了什么。不做任何推薦,只分析它們的特點(diǎn)和適用場(chǎng)景。
  為什么使用文章采集工具
  站長(cháng)們都知道,大網(wǎng)站基本上都有自己的開(kāi)放采集點(diǎn),很少用到工具。作為SEO,我們沒(méi)有那么強大的技術(shù)支持,只能使用市面上常見(jiàn)的一些。采集 工具來(lái)實(shí)現 采集。
  文章采集 會(huì )影響 網(wǎng)站 質(zhì)量嗎?
  首先,它不能是純粹的采集。純采集是百度等搜索引擎嚴厲打擊的行為。文章 確保在發(fā)布之前返工 文章,例如使用 文章 偽原創(chuàng ) 工具。達到接近原創(chuàng )的目的,然后做相應的站內站外優(yōu)化。這樣使用文章采集是沒(méi)有問(wèn)題的。但是想要做好SEO,內容很重要,因為SEO是一個(gè)內容為王的行業(yè)。
  
  關(guān)于 優(yōu)采云Magnum文章采集器
  讓我們先談?wù)剝?yōu)采云通用文章采集軟件。優(yōu)采云通用文章采集器是一款文章采集軟件,您只需輸入關(guān)鍵詞、采集各大搜索引擎網(wǎng)站和新聞。但優(yōu)采云僅適用于一些常見(jiàn)的新聞源如:百度、搜狗、360、今日頭條、微信、google、百度新聞、搜狗新聞、360新聞、一點(diǎn)新聞、雅虎新聞、谷歌新聞、必應新聞等。 Less比指定的 網(wǎng)站采集。另外,網(wǎng)站是為不同的cms制作的,每次使用優(yōu)采云采集到本地,都必須使用不同的優(yōu)采云發(fā)布軟件來(lái)發(fā)布。還有一點(diǎn)就是優(yōu)采云是收費的,站長(cháng)朋友可以根據自己的情況自行安排。
  哪個(gè)免費的采集工具好用
  首先要根據自己的情況來(lái)選擇。在我使用的眾多文章采集工具中,我覺(jué)得下面這個(gè)比較方便我使用。最重要的是 采集 是完全免費的。
  1、依托軟件獨有的通用文字識別智能算法,可實(shí)現對任意網(wǎng)頁(yè)文字的自動(dòng)提取,準確率達95%以上。
  2. 輸入關(guān)鍵詞即可采集進(jìn)入微信文章、今日頭條、一點(diǎn)新聞、百度新聞和網(wǎng)頁(yè)、搜狗新聞和網(wǎng)頁(yè)、360新聞和網(wǎng)頁(yè)、谷歌新聞和頁(yè)面、必應新聞和頁(yè)面、雅虎新聞和頁(yè)面;批量關(guān)鍵詞自動(dòng)采集可用。
  3、指定網(wǎng)站欄目列表下的所有文章(如百度經(jīng)驗、百度貼吧)均可定位到采集,智能匹配,無(wú)需編寫(xiě)復雜的規則.
  
  4、文章翻譯功能可以將采集好的文章翻譯成英文再翻譯回中文,實(shí)現翻譯偽原創(chuàng ),支持谷歌和有道翻譯。
  5. 有史以來(lái)最簡(jiǎn)單、最智能的 文章采集器,最重要的是,它是免費的!自由的!自由的!
  6、cms支持:支持帝國、易友、ZBLOG、織夢(mèng)、WP、PB、Apple、搜外等各大cms,可同時(shí)管理和發(fā)布時(shí)間
  對應欄目:不同的文章可以發(fā)布不同的欄目
  定時(shí)發(fā)布:可以控制多少分鐘發(fā)布一篇文章
  監控數據:已發(fā)布,待發(fā)布,是否為原創(chuàng ),發(fā)布狀態(tài),URL,程序等。
  操作步驟非常簡(jiǎn)單。該軟件幫助站點(diǎn)所有者和網(wǎng)站 管理員解決許多繁瑣復雜的任務(wù)。真正意義上的第一款軟件同時(shí)實(shí)現了與各大cms版本的無(wú)縫對接,并且支持本地偽原創(chuàng )!并且發(fā)布完成后可以在同一個(gè)軟件上直接推送百度、搜狗、360、神馬,實(shí)現cms全平臺發(fā)布管理,批量偽原創(chuàng ),全平臺自動(dòng)批量推送,軟件功能強大,不止一點(diǎn)!
  解決方案:深入淺出 Performance 工具 & API
  概述
  在日常的開(kāi)發(fā)任務(wù)中,性能優(yōu)化都會(huì )或多或少接觸到一些內容,也可能會(huì )參考雅虎的35條軍規進(jìn)行相關(guān)的性能優(yōu)化,但是具體的優(yōu)化結果和實(shí)際頁(yè)面速度如何看待呢?羊毛布?還有性能問(wèn)題,如何通過(guò)現有工具定位解決?也就是今天要給大家介紹的內容主題是“性能”,主題偏向于工具類(lèi)的介紹。我主要從以下四個(gè)方面介紹今天的內容。
  Chrome 性能工具使用
  上圖可以看到Chrome中的性能,主要分為幾個(gè)部分
  控制面板(控制)
  開(kāi)始錄制,停止錄制,配置錄制過(guò)程中需要錄制的內容。
  操作主要分為兩個(gè)區域,操作區域1從左到右依次為“Record/Stop”、“Reload”和“Clear”。
  操作區2可選擇報表顯示內容,從左到右依次為Screenshots、Memory、Web Vitals
  概覽面板(Overview)
  該區域主要是頁(yè)面行為的概述,由三個(gè)圖形記錄組成。
  每個(gè)條形的淺色部分代表延遲(從發(fā)送資源請求到收到第一個(gè)響應字節之間的時(shí)間),深色部分代表文件傳輸時(shí)間(從收到第一個(gè)字節到資源完成消費)。下載好)
  藍色代表HTML文件,黃色代表Script文件,紫色代表Stylesheets文件,綠色代表Media文件,灰色代表其他資源Flame Chart(火焰圖)
  其實(shí)這里我們主要需要關(guān)注Main,因為它是對主線(xiàn)程執行的一個(gè)監控。點(diǎn)擊之后,我們可以看到當前線(xiàn)程中一些任務(wù)的耗時(shí)執行棧。我們需要關(guān)注一些標記為紅色(即耗時(shí)高)的任務(wù)。
  詳細資料
  選擇特定事件后,此面板會(huì )顯示有關(guān)該事件的更多詳細信息。如果未選擇任何事件,此面板將顯示當前所選時(shí)間段的一些信息。詳細面板支持精確到毫秒級的分析,詳細面板主要分為
  Bottom-Up面板:Bottom-Up中有三列數據
  Performance Api 監控網(wǎng)頁(yè)性能
  除了瀏覽器提供的性能檢測和調試工具外,W3C還定義了一套性能標準。每個(gè)瀏覽器制造商都根據標準提供了一系列用于監控網(wǎng)絡(luò )性能的基本API。屏幕時(shí)間、用戶(hù)可操作的時(shí)間節點(diǎn)、頁(yè)面總下載時(shí)間、DNS查詢(xún)時(shí)間、TCP連接時(shí)間等。我們可以以此來(lái)構建一個(gè)簡(jiǎn)單的性能監控工具。當然,監控系統包括數據采集-&gt;數據存儲-&gt;清洗-&gt;監控等幾個(gè)流程,但是這里我們暫時(shí)簡(jiǎn)單使用Performance Api,只考慮采集階段。
  提供的能力屬性
  performance的所有Api&amp;properties都掛載在window下的performance屬性中??梢钥吹疆斍疤峁┑囊幌盗袑傩?。各個(gè)屬性的介紹可以參考網(wǎng)上關(guān)于aip的解釋。有很多資料可供查詢(xún)。
  如上圖所示,performance收錄三個(gè)對象,分別是memory、navigation、timing
  navigation:意思是頁(yè)面的來(lái)源信息,表示頁(yè)面是如何被重定向的,這個(gè)對象有2個(gè)屬性值
  timing:提供頁(yè)面加載過(guò)程中一系列關(guān)鍵時(shí)間點(diǎn)的高精度測量。包括網(wǎng)絡(luò )、解析、加載等一系列時(shí)間數據。我們對網(wǎng)頁(yè)性能的監控也是基于這個(gè)提供的屬性。為了方便理解,從網(wǎng)上找了一張圖來(lái)解釋一下關(guān)鍵節點(diǎn)的含義。
  如上圖所示,Performance提供了部分截取的圖片。這里主要介紹now()方法和getEntries()方法。其他網(wǎng)上資料也很多很全,可以參考/post/68449133#heading-54
  我們可以通過(guò)這種方式來(lái)衡量函數的執行時(shí)間,從而達到監控函數執行效率的效果
  
  const fun = () => {
// do something
}
const startExcuteTime = window.performance.now();
fun();
const endExcuteTime = window.performance.now();
console.log("fun函數執行了" + (endExcuteTime - startExcuteTime) + "毫秒.")
  點(diǎn)擊數組中的元素,每個(gè)元素都詳細記錄了資源請求關(guān)鍵節點(diǎn)的時(shí)間,我們可以借此實(shí)現對資源的請求監控。
  更多Api細節,可以參考文章再看Performance接口
  指標計算的簡(jiǎn)單實(shí)現
  一個(gè)監控系統大致可以分為以下幾個(gè)階段。讓我們首先關(guān)注數據的 采集 階段。數據采集階段設計有兩點(diǎn),一是數據采集,二是數據上報。
  下面是Slardar的源代碼截圖??梢钥吹剿麄兿仁褂胹endBecan上報監控數據,降級策略是XHR請求。
  我們經(jīng)常關(guān)注的一些指標的計算和上報都可以通過(guò)性能api來(lái)實(shí)現
  重定向耗時(shí) = redirectEnd - redirectStart;
DNS查詢(xún)耗時(shí) = domainLookupEnd - domainLookupStart;
TCP鏈接耗時(shí) = connectEnd - connectStart;
HTTP請求耗時(shí) = responseEnd - responseStart;
解析dom樹(shù)耗時(shí) = domComplete - domInteractive;
白屏時(shí)間 = responseStart - navigationStart;
<p>
DOMready時(shí)間 = domContentLoadedEventEnd - navigationStart;
onload時(shí)間 = loadEventEnd - navigationStart;
</p>
  現有的一些網(wǎng)頁(yè)性能測試工具
  除了前面兩種可以檢測頁(yè)面性能的方法之外,還有一些第三方工具或者平臺也為我們提供了檢測能力。
  下面是使用 LightHouse 的截圖。Lighthouse 生成的不僅僅是一些與性能相關(guān)的數據。除了為我們提供頁(yè)面性能檢測外,還為我們列出了一系列的優(yōu)化建議。我們有 網(wǎng)站 或頁(yè)面的優(yōu)化,可以根據建議逐步優(yōu)化。
  提供組件級渲染分析
  React 性能測量與分析
  介紹 React Profiler – React 博客
  性能工具測驗
  雪浪的教師端項目代碼目前運行在“CEF shell”和“瀏覽器”兩大宿主環(huán)境中。一期項目,整體項目采用單入口多渠道的方式,再說(shuō)說(shuō)項目的打包 沒(méi)有優(yōu)化,整體
  以上一系列的問(wèn)題導致了雪浪的整體頁(yè)面加載速度很慢。后來(lái)雪浪專(zhuān)門(mén)組織了一次重大的重構優(yōu)化,進(jìn)行了項目入口的拆分&amp;打包過(guò)程的拆分。雪浪項目結構多入口多路由,區分宿主環(huán)境。從目前的表現來(lái)看,頁(yè)面的加載速度相比之前有了很大的提升。目前在我當前網(wǎng)絡(luò )情況下DomContentLoad的加載時(shí)間約為2S
  是否有優(yōu)化空間來(lái)縮短頁(yè)面加載時(shí)間?我們可以通過(guò)Performance的NetWork火焰圖來(lái)查看哪些文件加載??時(shí)間比較長(cháng),導致DomContentLoad的觸發(fā)時(shí)間變長(cháng)。首先,DomContentLoad事件的觸發(fā)因素包括html下載、dom解析、js腳本下載&amp;執行,這些都會(huì )影響DomContentLoad的觸發(fā)。
  通過(guò)觀(guān)察NetWork的情況,很明顯DCL的時(shí)機是在一個(gè)encoding.js文件加載后觸發(fā)的,而這個(gè)文件的加載時(shí)間長(cháng)達2.13s,可以說(shuō)占到了80%左右主頁(yè)的加載。時(shí)間,那么如何優(yōu)化這個(gè)腳本的加載時(shí)間呢?有幾個(gè)想法
  找到了原因和思路,于是開(kāi)始追查文件的背景,發(fā)現因為這個(gè)文件是為了處理一些課堂SDK在不同瀏覽器中的pollfiy,但是目前由于大包的拆分&amp; 第一階段入口,課堂 瀏覽器環(huán)境下不會(huì )加載sdk的相關(guān)資源,所以不再在瀏覽器環(huán)境下使用。我們可以直接刪除godless看看效果。(實(shí)際上encoding.js文件并沒(méi)有被壓縮,如果實(shí)際使用的文件,我們可以使用壓縮后的文件)
  總體來(lái)說(shuō),DCL的觸發(fā)時(shí)間從2.13s減少到972ms,效果還是比較明顯的。通過(guò)一個(gè)小分析案例+小優(yōu)化來(lái)說(shuō)明Performance面板中相關(guān)模塊的使用。
  總結
  本文主要介紹使用工具定位性能問(wèn)題,以及通過(guò)Performance Api對部分指標進(jìn)行計算統計。目前公司內的Sladar已經(jīng)為我們提供了比較全面的數據分析,但是對于一些定位頁(yè)面性能的基礎工具和基礎能力的了解在日常工作中也有一定的幫助。
  參考文件
  /郵報/68449133
  /p/29879682
  /郵報/68449469
  /文章/daf1e22b0b48d27282633dd8d
  /lizheng0515/ignore/issues/31
  /zh-CN/docs/Web/API/性能
  React 性能測量與分析
  介紹 React Profiler – React 博客
  ??感謝您的支持
  以上就是本次分享的全部?jì)热?,希望對大家有所幫助^_^ 查看全部

  解決方案:優(yōu)采云批量文章采集
  最近有很多站長(cháng)朋友問(wèn)我網(wǎng)站采集什么軟件好用,優(yōu)采云萬(wàn)能文章采集軟件好用。今天我要談?wù)勎覀儚?優(yōu)采云、優(yōu)采云、免費 采集 工具中學(xué)到了什么。不做任何推薦,只分析它們的特點(diǎn)和適用場(chǎng)景。
  為什么使用文章采集工具
  站長(cháng)們都知道,大網(wǎng)站基本上都有自己的開(kāi)放采集點(diǎn),很少用到工具。作為SEO,我們沒(méi)有那么強大的技術(shù)支持,只能使用市面上常見(jiàn)的一些。采集 工具來(lái)實(shí)現 采集。
  文章采集 會(huì )影響 網(wǎng)站 質(zhì)量嗎?
  首先,它不能是純粹的采集。純采集是百度等搜索引擎嚴厲打擊的行為。文章 確保在發(fā)布之前返工 文章,例如使用 文章 偽原創(chuàng ) 工具。達到接近原創(chuàng )的目的,然后做相應的站內站外優(yōu)化。這樣使用文章采集是沒(méi)有問(wèn)題的。但是想要做好SEO,內容很重要,因為SEO是一個(gè)內容為王的行業(yè)。
  
  關(guān)于 優(yōu)采云Magnum文章采集器
  讓我們先談?wù)剝?yōu)采云通用文章采集軟件。優(yōu)采云通用文章采集器是一款文章采集軟件,您只需輸入關(guān)鍵詞、采集各大搜索引擎網(wǎng)站和新聞。但優(yōu)采云僅適用于一些常見(jiàn)的新聞源如:百度、搜狗、360、今日頭條、微信、google、百度新聞、搜狗新聞、360新聞、一點(diǎn)新聞、雅虎新聞、谷歌新聞、必應新聞等。 Less比指定的 網(wǎng)站采集。另外,網(wǎng)站是為不同的cms制作的,每次使用優(yōu)采云采集到本地,都必須使用不同的優(yōu)采云發(fā)布軟件來(lái)發(fā)布。還有一點(diǎn)就是優(yōu)采云是收費的,站長(cháng)朋友可以根據自己的情況自行安排。
  哪個(gè)免費的采集工具好用
  首先要根據自己的情況來(lái)選擇。在我使用的眾多文章采集工具中,我覺(jué)得下面這個(gè)比較方便我使用。最重要的是 采集 是完全免費的。
  1、依托軟件獨有的通用文字識別智能算法,可實(shí)現對任意網(wǎng)頁(yè)文字的自動(dòng)提取,準確率達95%以上。
  2. 輸入關(guān)鍵詞即可采集進(jìn)入微信文章、今日頭條、一點(diǎn)新聞、百度新聞和網(wǎng)頁(yè)、搜狗新聞和網(wǎng)頁(yè)、360新聞和網(wǎng)頁(yè)、谷歌新聞和頁(yè)面、必應新聞和頁(yè)面、雅虎新聞和頁(yè)面;批量關(guān)鍵詞自動(dòng)采集可用。
  3、指定網(wǎng)站欄目列表下的所有文章(如百度經(jīng)驗、百度貼吧)均可定位到采集,智能匹配,無(wú)需編寫(xiě)復雜的規則.
  
  4、文章翻譯功能可以將采集好的文章翻譯成英文再翻譯回中文,實(shí)現翻譯偽原創(chuàng ),支持谷歌和有道翻譯。
  5. 有史以來(lái)最簡(jiǎn)單、最智能的 文章采集器,最重要的是,它是免費的!自由的!自由的!
  6、cms支持:支持帝國、易友、ZBLOG、織夢(mèng)、WP、PB、Apple、搜外等各大cms,可同時(shí)管理和發(fā)布時(shí)間
  對應欄目:不同的文章可以發(fā)布不同的欄目
  定時(shí)發(fā)布:可以控制多少分鐘發(fā)布一篇文章
  監控數據:已發(fā)布,待發(fā)布,是否為原創(chuàng ),發(fā)布狀態(tài),URL,程序等。
  操作步驟非常簡(jiǎn)單。該軟件幫助站點(diǎn)所有者和網(wǎng)站 管理員解決許多繁瑣復雜的任務(wù)。真正意義上的第一款軟件同時(shí)實(shí)現了與各大cms版本的無(wú)縫對接,并且支持本地偽原創(chuàng )!并且發(fā)布完成后可以在同一個(gè)軟件上直接推送百度、搜狗、360、神馬,實(shí)現cms全平臺發(fā)布管理,批量偽原創(chuàng ),全平臺自動(dòng)批量推送,軟件功能強大,不止一點(diǎn)!
  解決方案:深入淺出 Performance 工具 & API
  概述
  在日常的開(kāi)發(fā)任務(wù)中,性能優(yōu)化都會(huì )或多或少接觸到一些內容,也可能會(huì )參考雅虎的35條軍規進(jìn)行相關(guān)的性能優(yōu)化,但是具體的優(yōu)化結果和實(shí)際頁(yè)面速度如何看待呢?羊毛布?還有性能問(wèn)題,如何通過(guò)現有工具定位解決?也就是今天要給大家介紹的內容主題是“性能”,主題偏向于工具類(lèi)的介紹。我主要從以下四個(gè)方面介紹今天的內容。
  Chrome 性能工具使用
  上圖可以看到Chrome中的性能,主要分為幾個(gè)部分
  控制面板(控制)
  開(kāi)始錄制,停止錄制,配置錄制過(guò)程中需要錄制的內容。
  操作主要分為兩個(gè)區域,操作區域1從左到右依次為“Record/Stop”、“Reload”和“Clear”。
  操作區2可選擇報表顯示內容,從左到右依次為Screenshots、Memory、Web Vitals
  概覽面板(Overview)
  該區域主要是頁(yè)面行為的概述,由三個(gè)圖形記錄組成。
  每個(gè)條形的淺色部分代表延遲(從發(fā)送資源請求到收到第一個(gè)響應字節之間的時(shí)間),深色部分代表文件傳輸時(shí)間(從收到第一個(gè)字節到資源完成消費)。下載好)
  藍色代表HTML文件,黃色代表Script文件,紫色代表Stylesheets文件,綠色代表Media文件,灰色代表其他資源Flame Chart(火焰圖)
  其實(shí)這里我們主要需要關(guān)注Main,因為它是對主線(xiàn)程執行的一個(gè)監控。點(diǎn)擊之后,我們可以看到當前線(xiàn)程中一些任務(wù)的耗時(shí)執行棧。我們需要關(guān)注一些標記為紅色(即耗時(shí)高)的任務(wù)。
  詳細資料
  選擇特定事件后,此面板會(huì )顯示有關(guān)該事件的更多詳細信息。如果未選擇任何事件,此面板將顯示當前所選時(shí)間段的一些信息。詳細面板支持精確到毫秒級的分析,詳細面板主要分為
  Bottom-Up面板:Bottom-Up中有三列數據
  Performance Api 監控網(wǎng)頁(yè)性能
  除了瀏覽器提供的性能檢測和調試工具外,W3C還定義了一套性能標準。每個(gè)瀏覽器制造商都根據標準提供了一系列用于監控網(wǎng)絡(luò )性能的基本API。屏幕時(shí)間、用戶(hù)可操作的時(shí)間節點(diǎn)、頁(yè)面總下載時(shí)間、DNS查詢(xún)時(shí)間、TCP連接時(shí)間等。我們可以以此來(lái)構建一個(gè)簡(jiǎn)單的性能監控工具。當然,監控系統包括數據采集-&gt;數據存儲-&gt;清洗-&gt;監控等幾個(gè)流程,但是這里我們暫時(shí)簡(jiǎn)單使用Performance Api,只考慮采集階段。
  提供的能力屬性
  performance的所有Api&amp;properties都掛載在window下的performance屬性中??梢钥吹疆斍疤峁┑囊幌盗袑傩?。各個(gè)屬性的介紹可以參考網(wǎng)上關(guān)于aip的解釋。有很多資料可供查詢(xún)。
  如上圖所示,performance收錄三個(gè)對象,分別是memory、navigation、timing
  navigation:意思是頁(yè)面的來(lái)源信息,表示頁(yè)面是如何被重定向的,這個(gè)對象有2個(gè)屬性值
  timing:提供頁(yè)面加載過(guò)程中一系列關(guān)鍵時(shí)間點(diǎn)的高精度測量。包括網(wǎng)絡(luò )、解析、加載等一系列時(shí)間數據。我們對網(wǎng)頁(yè)性能的監控也是基于這個(gè)提供的屬性。為了方便理解,從網(wǎng)上找了一張圖來(lái)解釋一下關(guān)鍵節點(diǎn)的含義。
  如上圖所示,Performance提供了部分截取的圖片。這里主要介紹now()方法和getEntries()方法。其他網(wǎng)上資料也很多很全,可以參考/post/68449133#heading-54
  我們可以通過(guò)這種方式來(lái)衡量函數的執行時(shí)間,從而達到監控函數執行效率的效果
  
  const fun = () => {
// do something
}
const startExcuteTime = window.performance.now();
fun();
const endExcuteTime = window.performance.now();
console.log("fun函數執行了" + (endExcuteTime - startExcuteTime) + "毫秒.")
  點(diǎn)擊數組中的元素,每個(gè)元素都詳細記錄了資源請求關(guān)鍵節點(diǎn)的時(shí)間,我們可以借此實(shí)現對資源的請求監控。
  更多Api細節,可以參考文章再看Performance接口
  指標計算的簡(jiǎn)單實(shí)現
  一個(gè)監控系統大致可以分為以下幾個(gè)階段。讓我們首先關(guān)注數據的 采集 階段。數據采集階段設計有兩點(diǎn),一是數據采集,二是數據上報。
  下面是Slardar的源代碼截圖??梢钥吹剿麄兿仁褂胹endBecan上報監控數據,降級策略是XHR請求。
  我們經(jīng)常關(guān)注的一些指標的計算和上報都可以通過(guò)性能api來(lái)實(shí)現
  重定向耗時(shí) = redirectEnd - redirectStart;
DNS查詢(xún)耗時(shí) = domainLookupEnd - domainLookupStart;
TCP鏈接耗時(shí) = connectEnd - connectStart;
HTTP請求耗時(shí) = responseEnd - responseStart;
解析dom樹(shù)耗時(shí) = domComplete - domInteractive;
白屏時(shí)間 = responseStart - navigationStart;
<p>
DOMready時(shí)間 = domContentLoadedEventEnd - navigationStart;
onload時(shí)間 = loadEventEnd - navigationStart;
</p>
  現有的一些網(wǎng)頁(yè)性能測試工具
  除了前面兩種可以檢測頁(yè)面性能的方法之外,還有一些第三方工具或者平臺也為我們提供了檢測能力。
  下面是使用 LightHouse 的截圖。Lighthouse 生成的不僅僅是一些與性能相關(guān)的數據。除了為我們提供頁(yè)面性能檢測外,還為我們列出了一系列的優(yōu)化建議。我們有 網(wǎng)站 或頁(yè)面的優(yōu)化,可以根據建議逐步優(yōu)化。
  提供組件級渲染分析
  React 性能測量與分析
  介紹 React Profiler – React 博客
  性能工具測驗
  雪浪的教師端項目代碼目前運行在“CEF shell”和“瀏覽器”兩大宿主環(huán)境中。一期項目,整體項目采用單入口多渠道的方式,再說(shuō)說(shuō)項目的打包 沒(méi)有優(yōu)化,整體
  以上一系列的問(wèn)題導致了雪浪的整體頁(yè)面加載速度很慢。后來(lái)雪浪專(zhuān)門(mén)組織了一次重大的重構優(yōu)化,進(jìn)行了項目入口的拆分&amp;打包過(guò)程的拆分。雪浪項目結構多入口多路由,區分宿主環(huán)境。從目前的表現來(lái)看,頁(yè)面的加載速度相比之前有了很大的提升。目前在我當前網(wǎng)絡(luò )情況下DomContentLoad的加載時(shí)間約為2S
  是否有優(yōu)化空間來(lái)縮短頁(yè)面加載時(shí)間?我們可以通過(guò)Performance的NetWork火焰圖來(lái)查看哪些文件加載??時(shí)間比較長(cháng),導致DomContentLoad的觸發(fā)時(shí)間變長(cháng)。首先,DomContentLoad事件的觸發(fā)因素包括html下載、dom解析、js腳本下載&amp;執行,這些都會(huì )影響DomContentLoad的觸發(fā)。
  通過(guò)觀(guān)察NetWork的情況,很明顯DCL的時(shí)機是在一個(gè)encoding.js文件加載后觸發(fā)的,而這個(gè)文件的加載時(shí)間長(cháng)達2.13s,可以說(shuō)占到了80%左右主頁(yè)的加載。時(shí)間,那么如何優(yōu)化這個(gè)腳本的加載時(shí)間呢?有幾個(gè)想法
  找到了原因和思路,于是開(kāi)始追查文件的背景,發(fā)現因為這個(gè)文件是為了處理一些課堂SDK在不同瀏覽器中的pollfiy,但是目前由于大包的拆分&amp; 第一階段入口,課堂 瀏覽器環(huán)境下不會(huì )加載sdk的相關(guān)資源,所以不再在瀏覽器環(huán)境下使用。我們可以直接刪除godless看看效果。(實(shí)際上encoding.js文件并沒(méi)有被壓縮,如果實(shí)際使用的文件,我們可以使用壓縮后的文件)
  總體來(lái)說(shuō),DCL的觸發(fā)時(shí)間從2.13s減少到972ms,效果還是比較明顯的。通過(guò)一個(gè)小分析案例+小優(yōu)化來(lái)說(shuō)明Performance面板中相關(guān)模塊的使用。
  總結
  本文主要介紹使用工具定位性能問(wèn)題,以及通過(guò)Performance Api對部分指標進(jìn)行計算統計。目前公司內的Sladar已經(jīng)為我們提供了比較全面的數據分析,但是對于一些定位頁(yè)面性能的基礎工具和基礎能力的了解在日常工作中也有一定的幫助。
  參考文件
  /郵報/68449133
  /p/29879682
  /郵報/68449469
  /文章/daf1e22b0b48d27282633dd8d
  /lizheng0515/ignore/issues/31
  /zh-CN/docs/Web/API/性能
  React 性能測量與分析
  介紹 React Profiler – React 博客
  ??感謝您的支持
  以上就是本次分享的全部?jì)热?,希望對大家有所幫助^_^

分享:文章采集器的話(huà),可以用壹圖或拾柒

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 113 次瀏覽 ? 2022-12-02 16:34 ? 來(lái)自相關(guān)話(huà)題

  分享:文章采集器的話(huà),可以用壹圖或拾柒
  文章采集器的話(huà),可以用壹圖或拾柒圖片采集器,壹圖的客戶(hù)端、手機客戶(hù)端都可以采集圖片的;拾柒圖片采集器的話(huà),首先會(huì )打開(kāi)一個(gè)瀏覽器,然后就可以采集手機上已有的圖片了,可以采集朋友圈和其他朋友圈的圖片。
  答案正是采集知乎采集器用于知乎采集圖片,你將獲得圖片的清晰度。
  
  壹圖采集器,
  請問(wèn),
  用微網(wǎng)站制作網(wǎng)站采集器微信圈圖片采集器同樣可以實(shí)現知乎圖片的采集,包括知乎其他主流平臺。原理:訪(fǎng)問(wèn)知乎分享的微信分享網(wǎng)站,獲取分享鏈接,導入到微網(wǎng)站制作工具。
  
  我百度了下,還真有這個(gè)知乎采集器。應該不算很知名,應該是比較新起的。大概過(guò)程是,點(diǎn)開(kāi)那個(gè)鏈接后把鏈接復制到網(wǎng)站采集器里,就能采集那個(gè)鏈接里的圖片了。
  應該沒(méi)有知乎現成的圖片庫,所以你用壹圖采集器采集到的圖片都是采集網(wǎng)站自己的圖片。所以你要用我的話(huà),推薦的肯定是yeeyi圖片。
  百度搜索:搜搜知乎采集器
  壹圖采集器的成功率高一些。你所謂的帶水印,是指下載后采集圖片的水印,這個(gè)是有辦法去掉的,設置一下瀏覽器的過(guò)濾規則就行。 查看全部

  分享:文章采集器的話(huà),可以用壹圖或拾柒
  文章采集器的話(huà),可以用壹圖或拾柒圖片采集器,壹圖的客戶(hù)端、手機客戶(hù)端都可以采集圖片的;拾柒圖片采集器的話(huà),首先會(huì )打開(kāi)一個(gè)瀏覽器,然后就可以采集手機上已有的圖片了,可以采集朋友圈和其他朋友圈的圖片。
  答案正是采集知乎采集器用于知乎采集圖片,你將獲得圖片的清晰度。
  
  壹圖采集器,
  請問(wèn),
  用微網(wǎng)站制作網(wǎng)站采集器微信圈圖片采集器同樣可以實(shí)現知乎圖片的采集,包括知乎其他主流平臺。原理:訪(fǎng)問(wèn)知乎分享的微信分享網(wǎng)站,獲取分享鏈接,導入到微網(wǎng)站制作工具。
  
  我百度了下,還真有這個(gè)知乎采集器。應該不算很知名,應該是比較新起的。大概過(guò)程是,點(diǎn)開(kāi)那個(gè)鏈接后把鏈接復制到網(wǎng)站采集器里,就能采集那個(gè)鏈接里的圖片了。
  應該沒(méi)有知乎現成的圖片庫,所以你用壹圖采集器采集到的圖片都是采集網(wǎng)站自己的圖片。所以你要用我的話(huà),推薦的肯定是yeeyi圖片。
  百度搜索:搜搜知乎采集器
  壹圖采集器的成功率高一些。你所謂的帶水印,是指下載后采集圖片的水印,這個(gè)是有辦法去掉的,設置一下瀏覽器的過(guò)濾規則就行。

解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 181 次瀏覽 ? 2022-11-30 16:45 ? 來(lái)自相關(guān)話(huà)題

  解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案
  Python采集器、CKSpider、杰奇linux采集優(yōu)質(zhì)解決方案
  linux下捷奇cms的獲取一直是各大站長(cháng)頭疼的問(wèn)題。網(wǎng)上有很多方法,比如wine和samba,還有遠程磁盤(pán)映射。該方法和相同的特點(diǎn)對新手非常不友好,而且還受限于設備的配置、位置和系統環(huán)境??傊?,很麻煩。成功的配置不能不折騰就解決,還是容易出問(wèn)題。上面的很多我都親自測試過(guò),有幾個(gè)配置都成功了,但是說(shuō)白了,jieqi對于很多站長(cháng)來(lái)說(shuō)都離不開(kāi)custom collector,而優(yōu)采云
在jieqi中使用規則的情況并不多需要發(fā)行,操作必然復雜。
  本文僅供學(xué)習研究,請勿用于侵權
  那么,有什么辦法可以解決嗎?
  【注意,這個(gè)采集
器的官方開(kāi)發(fā)者已經(jīng)出風(fēng)頭了,linux采集
器使用了新的解決方案】
  杰奇linux遠程采集,采集器網(wǎng)站分離
  
  本文非廣告[霧]
  CK Collector,又名CKSpider,是一款由python開(kāi)發(fā)的跨平臺采集工具。官方的描述很簡(jiǎn)單,“這可能是捷奇CMS Linux采集
的最佳解決方案!”。這句話(huà)沒(méi)有錯,它完美支持捷奇1.7、捷奇1.8、捷奇2.2、捷奇2.3的快速采集
。你只需要根據站點(diǎn)進(jìn)行配置,設置規則,就可以直觀(guān)的開(kāi)始收書(shū)了。
  與幫助Linux站點(diǎn)采集的Guanguan Collector相比,CK Collector更簡(jiǎn)單,更快速,并且不受延遲或環(huán)境的影響。官網(wǎng)文檔有詳細解釋。
  配置過(guò)程比較簡(jiǎn)單。只需進(jìn)行一些基本操作即可在linux下使用。這篇文章我就不寫(xiě)安裝教程了,大家可以直接去采集
機關(guān)網(wǎng)。
  地址:無(wú)(官網(wǎng)關(guān)閉)
  采集到的截圖如下:
  
  速度非???。其實(shí)和我之前介紹的易大師采集
器長(cháng)得差不多,不過(guò)這個(gè)不會(huì )有BUG的。采集過(guò)程和關(guān)關(guān)差不多,在linux下效率更高。
  配置截圖:
  可以說(shuō)基本的功能都有了,完全可以滿(mǎn)足采集
的需要,至少很多操作是傻瓜式的,只要信息填寫(xiě)正確即可。具體可以去官網(wǎng)看安裝文檔,里面有詳細的介紹。
  最后附上官網(wǎng)截圖
  如果你是在linux上做網(wǎng)站,或者考慮做linux下杰基小說(shuō)的站長(cháng),不想做各種采集配置又想快速采集的可以使用CKSpider。您只需支付少量授權費即可使用。向上。
  當前頁(yè)面是本網(wǎng)站的“Google AMP”版本。查看和評論請點(diǎn)擊:完整版?
  解決方案:基于linux的嵌入式數據采集系統軟件設計與實(shí)現
  湖南大學(xué)碩士學(xué)位論文基于Linux的嵌入式數據采集系統軟件設計與實(shí)現姓名:****請學(xué)位級別:碩士專(zhuān)業(yè):電子與通信工程指導教師:**清;鄭小平20080401工程碩士學(xué)位論文摘要隨著(zhù)信息技術(shù)的飛速發(fā)展,人們需要能夠準確、快速和便捷地獲得大量數據并能從中迅速提取出有用的信息。近年來(lái),嵌入式計算機正在深入應用到工業(yè)、農業(yè)、教育、囡防、科研以及日常生活等各個(gè)領(lǐng)域。人們對于嵌入式計算機的需求在迅速增長(cháng),并且對其功耗、成本、開(kāi)發(fā)怒期、可靠性等多方面都提戡了更高的要求。目前,將嵌入式Linux技術(shù)與數據采集技術(shù)及數字信號處理技術(shù)結合起來(lái),正是適應了這一趨勢。采用Linux技術(shù)的嵌入式系統是一種體積小、便于攜帶、易于網(wǎng)絡(luò )化、造價(jià)相對較低,集信號采集、處理為一體的設備,其有廣泛的應用前論文首先討論數據采集系統需要達到的性能指標,著(zhù)重研究數據采集技術(shù)中關(guān)鍵的微弱信號檢測和噪聲抑制技術(shù),分析嵌入式Linux在數據采集和頻譜分析應用中的優(yōu)勢和意義。本文提出采用嵌入式Linux作為操作系統,針對Atmel公司的AT9lRM9200嵌入式處理器,設計~個(gè)嵌入式數據采集系統。論文在分析了Linux設備驅動(dòng)程序的基本工作原理基礎上,討論了開(kāi)發(fā)中經(jīng)常會(huì )碰到的中斷處理、I/0端悶,并在此基礎上實(shí)現了基予AT9lRM9200嵌入式處理器系統的讀、寫(xiě)外部RAM的字符設備驅動(dòng)和網(wǎng)絡(luò )驅動(dòng)。
  實(shí)驗證明,構造基于ARM的嵌入式Linux系統,并將其應用于工業(yè)測控等領(lǐng)域,在技術(shù)上憲全可行。關(guān)鍵詞:嵌入式系統;數據采集;嵌入式Llnux;Llnux設備驅動(dòng)基予毯n濺的嵌入式數據采集系統軟譬}設詩(shī)與實(shí)現AbstractWiththerapiddevelopmentoftheinformationtechnology,largeamountofdata,蠡。撒w矗ie董ll歉euse斑lin南f撒alione鑫nbedefived,ne{謄dlobeobt采玨edaecuf貳ely,convenientlyandtimely.Inrecentyears,embeddedLinuxhasbeenusedinmany蠡eldssuchasi魏d玨s專(zhuān)ly,agrie毽l{毪fe,ed毽e鑫lio曩,致鑫lio鑫鑫ldefe玨se,scientiflefeseafehdailylife.Thedemandoftheembeddedconlputerhasbeingincreasedrapidly.A玨dlnofefequifementoftheelllbeddedcomput。rpowefconsulnption,productioncost,researchperiodreliabilityhasbeenraised.Now,thecombinationoftheembeddedsysteminI—inuxandthetechnologiesofdatacollectionanddigitalsignalpfocessingleads乏oatasktodeVelopasmallandpoft£凼ledeVice,、他ichhasfhnctionsofdatacollecting,processing,storingdisplaying.Itcanalsobeconnectedeasilyloweos寶.下hefeseafe董lhasaniI建pQrtantearningpOtent主ala觳dabrig董llprospeetbeingwidelyused.l瓤esis,專(zhuān)heper萎3f搬a建eei黷dexofdataae鼗娃isi{ionsys{el鞋lsan越yzed。
 ?。牛恚穑瑁幔簦椋悖幔欤欤?,theweaksignaldetectionandantinoisetechnologyarestudied.The8dvantageselnbeddedLinuxtec量lnol。gydatacollec專(zhuān)ionfrequencyspectrumanalysisarealsodiscussed.TheembeddedLinuxoperalingsystenlpaper.TheAtlnelAT91RM9200isselectedtheCPUofthesystem.TheelementaryoperatingprincipleofthedevicedriverinLinuxisanalyzed.TheinterruptprocessingandI/Opor專(zhuān)arealso纛iseussed.Atlast,basedo穗th。selheories,鑫c量lardriVerand8ne專(zhuān)driVerofthesystemdeVeloped.薹魏conel毽sio建,itis{ec董l建ieallyf毫asiblelob毽ildel建bedde蓮£i致毽xo致AR涯systel廷applyittOthemeasurementandcontrolfieldinindustry.Keywords:Embeddedsystern;Dataacquisition;EmbeddedLinux;LinuxdeVicedrivell湖南大學(xué)學(xué)位論文原創(chuàng )性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進(jìn)行研究所取得的研究成果。
  除了文中特別加以標注引用的內容外,本論文不收錄
任何其他個(gè)人或集體己經(jīng)發(fā)表或撰寫(xiě)的成果作品。對本文的研究做出重要貢獻的個(gè)人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名:巷夕夸學(xué)位論文版權使用授權書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規定,同意學(xué)校保留并向國家有關(guān)部門(mén)或機構送交論文的復印件幫電子版,允許論文被查閱和借閱。本人授權湖南大學(xué)可以將本學(xué)位論文的全部或部分內容編入有關(guān)數據庫進(jìn)行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于l、保密口,在年解密后適用本授權書(shū)。2、不保密耐。(請在以上相應方框內打“”)作者簽名:0爭夕琴工程碩士學(xué)位論文重。l選題的背景與意義第l章緒論隨著(zhù)現代化大規模生產(chǎn)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,現代設備的功能越來(lái)越完善,自動(dòng)化程度越來(lái)越高,生產(chǎn)設備朝著(zhù)高度自動(dòng)化和高度集成化的方向發(fā)展,同時(shí)設備結構圓益復雜化,致使設備維修費用和停產(chǎn)損失與日俱增。如何提高設備的安全可靠性,保障設備穩定、長(cháng)期滿(mǎn)負荷運行,防止和消除設備故障,對設備進(jìn)行全壽命管理,已成為亟待解決的課題Hj。狀態(tài)監測與故障診斷技術(shù)就是在這種背景下提趲并發(fā)展起來(lái)的,通過(guò)在工程中的應用,為設備的管理和維修提供了重要的依據,取得了巨大的經(jīng)濟效益12J。
  要實(shí)現對設備狀態(tài)的監測與故障診斷,首先必須將設備中的各種信號(稱(chēng)為模擬信號)轉化為計算機可以識剮、存儲的信號(稱(chēng)為數字信號),這一過(guò)程鏊罐數據采集【孔。數據采集技術(shù)是以前端的模擬信號處理、模擬信號數字化、數字信號處理 和計算機控制技術(shù)為基礎而形成的一門(mén)綜合技術(shù),它在許多領(lǐng)域得到了廣泛的應 用辨l。在科學(xué)研究中,應用信號采集系統可以獲得大量的有用信息。在現代科學(xué) 技術(shù)不斷應用予日常生活的今天,數據采集技術(shù)也為創(chuàng )造一個(gè)更加舒適、健康的 生活環(huán)境,提高生活質(zhì)量發(fā)揮重要作用。 數據采集系統的任務(wù),具體地說(shuō),就是采集傳感器輸出的模擬信號并轉換成 計算枧能識別的數字信號。數據采集的最終目的是要從采集到的關(guān)于被測對象的 大量數據中提取出有用的,反映被測量特征的信息來(lái),這就需要對數據進(jìn)行處理。 數字信號處理技術(shù)是利用計算機或專(zhuān)用處理設備,以數值計算的方法對信號進(jìn)行 交換、綜合、估值與識別等加工處理,借以達到提取信息和便于應潮為目的的一 種技術(shù)。一個(gè)大型的數據采集系統由以下幾個(gè)部分組成【5J:數據測量、數據采集、 數據傳送、數據存儲、數據處理、分析和顯示等。 目前,嵌入式數據采集系統成為數據采集系統的研究熱點(diǎn){6j。
  嵌入式技術(shù),特 別是嵌入式操{乍系統的發(fā)展使褥開(kāi)發(fā)嵌入式系統變得容易,開(kāi)發(fā)成本降低,產(chǎn)燕通用 性提高,可更新?lián)Q代。結合傳統嵌入式系統體積小、耗能少、抗干擾能力強、穩定的 特點(diǎn),開(kāi)發(fā)嵌入式數據采集系統的應用產(chǎn)品,不管是作為一個(gè)獨立的產(chǎn)晶,還是某一 系統的某個(gè)功麓模塊,都是十分有意義的J。 1.2嵌入式系統概述 1.2.1嵌入式系統定義及特點(diǎn) 嵌入式系統是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應 應用系統,對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統博J。 它將操作系統和功能軟件集成于計算機硬件系統之中,簡(jiǎn)而言之就是系統的應用 軟件與系統的硬件一體化,類(lèi)似于BIOS的工作方式,具有軟件代碼小,高度自動(dòng) 化,響應速度快等特點(diǎn)。特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統是將 先進(jìn)的計算機技術(shù)、半導體技術(shù)、電子技術(shù)和各個(gè)行業(yè)實(shí)際應用相結合的產(chǎn)物。 嵌入式系統的結構由兩大模塊組成:硬件平臺和軟件平臺,其結構如圖1.1 所示: 圖1.1嵌入式系統結構圖 嵌入式系統的硬件平臺通常以緊湊、專(zhuān)用性強的處理器為核心,同時(shí)結合少 量的外圍設備,具有應用相關(guān)性、多樣性的特點(diǎn);嵌入式系統軟件平臺通常收錄
嵌入式應用程序和嵌入式操作系統。
  其中嵌入式操作系統介于硬件和應用程序之 間,負責任務(wù)調度并管理實(shí)時(shí)應用程序,完成對硬件的控制和操作。實(shí)時(shí)應用程 序是基于嵌入式實(shí)時(shí)操作系統、利用操作系統提供的實(shí)時(shí)機制完成特定嵌入式系 統具體功能的應用程序。 嵌入式系統不同于一般計算機系統,它具有其他應用系統所沒(méi)有的一些特性: l體積?。涸谇度胧较到y的主體應用場(chǎng)合,如手持設備,智能儀器儀表,家用 電器等均對體積有較高限制,要求盡量少占用空間。 2存儲容量?。呵度胧较到y一般以ROM,FLAsHMEMORY、RAM等作為存 儲介質(zhì),由于價(jià)格及嵌入式系統體積等因素限制,因而不可能有太大的存儲容量。 3良好的性能價(jià)格比:很多嵌入式設備是嵌入于宿主設備以輔助宿主設備高效 地完成其功能,因而性?xún)r(jià)比要求較高,以防止過(guò)分提高宿主設備成本。 嵌入式操作系統具有以下幾個(gè)特點(diǎn):小的系統內核、較強的實(shí)時(shí)性、多任務(wù) 正程碩士學(xué)位論文 功能、能夠提供各種設備驅動(dòng)程序、網(wǎng)絡(luò )協(xié)議等的支持。作為硬件資源的管理者, 嵌入式操作系統最小構成應收錄
如下幾部分【9dl】: l任務(wù)調度 對一個(gè)復雜的嵌入式應用而言,用單任務(wù)來(lái)實(shí)現是不合適的,因此多任務(wù)調 度策略的優(yōu)劣至關(guān)重要。任務(wù)調度方法一般可分為優(yōu)先級調度、輪轉調度、時(shí)間 片調度三種。
  優(yōu)先級調度又可以分為:優(yōu)先級搶占和優(yōu)先級不搶占。優(yōu)先級搶占 是指當有更高的優(yōu)先級進(jìn)程被激活后,則立即終止當前運行的進(jìn)程,使其搶占CPu 運行。優(yōu)先級不搶占是指當有更高的優(yōu)先級進(jìn)程被激活后,并不立即終止當前運 行的進(jìn)程使其搶占CPU,而是將其放到進(jìn)程就緒隊列中,在當前運行的進(jìn)程結束 焉,再從進(jìn)程就緒隊列中選擇優(yōu)先級最高的進(jìn)程運行。輪轉調度是進(jìn)程管理者按 照一個(gè)固定的時(shí)間間隔讓就緒進(jìn)程輪流運行。時(shí)間片調度則是根據每個(gè)進(jìn)程各自 的實(shí)際情況,分給每個(gè)進(jìn)程一個(gè)時(shí)間片,進(jìn)程開(kāi)始運行后,運行的時(shí)間長(cháng)短由這 個(gè)時(shí)聞片決定。 在一般的操作系統中,通常固定采用其中的一種或幾種方法進(jìn)行任務(wù)調度。 例如在Unix和Linux中,采用了優(yōu)先級不搶占、輪轉和時(shí)間片三種方法。在實(shí)時(shí) 操作系統中,優(yōu)先級搶占策略則是必不可缺少的。而在嵌入式搡作系統中,很難 明確地說(shuō)哪一種調度策略更好,焉要根據實(shí)際系統的需求進(jìn)行選擇。 2存儲管理 一般操作系統的存儲管理非常復雜,虛擬存儲器管理技術(shù)被廣泛地采用,這 樣各應用程序被分隔在各自的地址空間運行,不致相互干擾。 嵌入式操作系統的存儲管理通常比較簡(jiǎn)單。因為在具體的嵌入式應用中,進(jìn) 程或線(xiàn)程的數量和各自可能使用的內存容量是可以在開(kāi)發(fā)時(shí)預測的,因此嵌入式 操作系統通常采用靜態(tài)內存分配。
  另外,在實(shí)時(shí)嵌入式應用中,如采采用虛擬存 儲技術(shù),因為頁(yè)交換的時(shí)間不可預測,所以也是不可取的。 在內存分配的策略上,嵌入式操作系統依賴(lài)于實(shí)際的被嵌入的硬件系統。對 于一個(gè)通用的嵌入式操作系統一般可提供幾種分配策略,由用戶(hù)在實(shí)際開(kāi)發(fā)系統 時(shí)進(jìn)行選擇,這就是嵌入式操作系統的可裁剪性。 存儲管理的另一個(gè)重要特性就是內存保護。在一般的操作系統中,每個(gè)應用 程序都有融己的地址空間。不允許任意訪(fǎng)問(wèn)其它應用程序的地址空間,這樣,當 一個(gè)斑用程序崩潰時(shí),不會(huì )對其它程序產(chǎn)生影響。麗在一些低端嵌入式系統中, 因受到應用環(huán)境的限制,不能大量使用存儲器,這時(shí)嵌入式操{乍系統的代碼量就 受到嚴格限制,必然制約了其功能的完善性。例如有的嵌入式操作系統只有幾十 KB,使其在處理內存保護方面就非常薄弱,這樣的嵌入式操作系統一般只能應用 于一些即使系統崩潰,也不致造成重大損失的領(lǐng)域,例如手枧等。 3中斷響應 計算機系統接受事件通常采用兩種方法:查詢(xún)和中斷。由于采用查詢(xún)方式處 理事件或響應I/0請求會(huì )消耗大量的CpU時(shí)間,騷此無(wú)論在一般的操作系統還是 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 嵌入式操作系統中都廣泛采用中斷方式來(lái)處理事件或I/O請求。
   在嵌入式操作系統中,對中斷處理十分重視,一般在中斷處理程序中僅執行 一些必要的狀態(tài)轉換,對于事件的真正處理則利用中斷任務(wù)來(lái)完成。這樣使得中 斷處理程序的運行時(shí)聞盡可能短,以便系統可以處理其它中斷事件。 在中斷處理上,一般的操作系統與嵌入式操作系統的不同之處是現場(chǎng)保護。 一般的操作系統的中斷現場(chǎng)保護是豳操作系統來(lái)完成的,在中斷處理完成之后, 也由操作系統自動(dòng)恢復現場(chǎng)。兩在嵌入式操作系統中,由予受到代碼量的限制, 中斷現場(chǎng)的保護往往由中斷處理程序來(lái)完成。進(jìn)入中斷處理程序后。應馬上保護 在中斷處理程序中要用到的寄存器,在中斷處理完成后再恢復。這樣~方面減少 了操作系統的代碼量,另~方面提高了中斷響應時(shí)闖,但是卻損失了系統的安全 性,同時(shí)也增加了調試的難度。這是在嵌入式操l乍系統的設計中應該予以關(guān)注的 問(wèn)題。 4操作系統與用戶(hù)的接口 操作系統提供給用戶(hù)使用的有兩類(lèi)接口。 一類(lèi)是人機界面,無(wú)論是視窗形式還是命令行形式,這個(gè)接口確切地說(shuō)并不 能作為操作系統的一部分,而僅僅是操作系統的一個(gè)外殼,這個(gè)界面完全是為了 方便用戶(hù)使用操作系統兩設的,麗這個(gè)接口在嵌入式操作系統中一般是不存在的。 另一類(lèi)接口就是操作系統提供給用戶(hù)開(kāi)發(fā)應用程序的接口(API),也就是系 統調用。
  無(wú)論是一般的操作系統還是嵌入式操作系統都應具有這個(gè)接口。每一個(gè) 操作系統提供的系統調用的功能和種類(lèi)都不同,當然,對于一個(gè)操作系統來(lái)說(shuō), 它提供的系統調用越多,則功能越強,對于應用程序的開(kāi)發(fā),也就越能提供高效 而簡(jiǎn)單的支持。為了適應不斷復雜的應用程序開(kāi)發(fā)的需求,操作系統中設計的系 統調用也就越來(lái)越多,功能越來(lái)越強大。但是這一規律并不適用于嵌入式操作系 統,因為嵌入式操作系統的應用領(lǐng)域非常廣,嵌入式操作系統所提供的系統調用 的數量和功能遠遠不可能滿(mǎn)足應用的需要。盡管可采用前面提到的可裁剪性,但 是任何一個(gè)嵌入式操作系統都不可能從具有各種完善功能、代碼達幾百KB的操 作系統,裁剪到只具有簡(jiǎn)單操作的幾KB代碼。所以嵌入式操作系統只能根據實(shí) 際的被嵌入系統的具體需求來(lái)確定系統調用,以便達到最有效性。 1.2。2嵌入式操作系統簡(jiǎn)介 從20世紀80年代開(kāi)始,出現了各種各樣的商用嵌入式操作系統,這些操作 系統大部分都是為專(zhuān)有系統開(kāi)發(fā)的,從而逐步演化成現在多種形式的商用嵌入式 操作系統百家爭鳴的局面,這些操作系統主要有如下一些強瑟Hj: VxWbfksVxWorks是WindRiver公司專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統設計開(kāi)發(fā)的操作系統軟 件,為程序員提供了高效的實(shí)時(shí)任務(wù)調度、中斷管理、實(shí)時(shí)的系統資源以及實(shí)時(shí) 的任務(wù)聞逶信。
  
  應用程序員可以將盡可熊多的精力放在應用程序本身,麗不必褥 去關(guān)心系統資源的管理。該系統主要應饅在單板飆、數據隧終{:以太嬲交換梃、路豳器)和通信等多方面。其核心功黥主要有: 網(wǎng)絡(luò )支持豢文件系統幫差鰳管理 POSlX標準實(shí)時(shí)擴展 C專(zhuān)專(zhuān)以及其他標準支持 這些核心功能可以與Wind硒ver系統的其他附件和bmado合作伙伴的產(chǎn)品結 會(huì )在~起使臻。誰(shuí)都不熊否認這是一個(gè)非常優(yōu)秀的實(shí)對系統,健其昂貴的徐格使 不少廠(chǎng)商塑?chē)疼Р健?QNX泌X也是一釋實(shí)對撩籜系統,奎擻拿大QNX軟件系統有隈公霹開(kāi)發(fā)。廣泛 應用予自動(dòng)化、控制、機器人科學(xué)、電信、數據逯信、航空靛天、計算桃網(wǎng)絡(luò )系 統、醫療儀器設備、交通運輸、安全防衛系統、POS概、零售楓等飪務(wù)關(guān)鍵型應 焉領(lǐng)域。20雀紀90年代囂期,QNX系統在高速灞長(cháng)的Internet終端設備、信息 家電及掌上電腦等領(lǐng)域也得到了廣泛的癍用。 QNX鵑體系結構決定了它暴宥遺}常好酶律縮犍,耀戶(hù)可越把應臻程序代鸚熟 QNx內核贏(yíng)接編譯在一起,使之為簡(jiǎn)單的嵌入式應用生成一個(gè)單一的多線(xiàn)程映像。 它也是鳘賽上第一個(gè)遵循PS差鴦3.1標準觚零設詩(shī)鰓微蠹棱,匿戴暴膏菲鬻好 的可移植性。
   3Nuele毽s 它是美藿著(zhù)名廠(chǎng)商斛重公鐲靜實(shí)時(shí)操俸系統產(chǎn)晶,該系統豁模塊性設計健它 具有比較好的寵制能力。它的主要特點(diǎn)翁以下一些: 該系統購買(mǎi)時(shí),霹獲蔣全螯豹漾代碼。并且一次性手雩費不用藉為應震系統的發(fā)售提供每套應用系統的版稅。這~點(diǎn)與某熱商業(yè)的嵌入式操作系統不 它提供一個(gè)有較好實(shí)時(shí)性?xún)群司W(wǎng)絡(luò )模塊功能比較完善,同時(shí)還提供了W曲產(chǎn)晶 工具。易學(xué)易耀,較好的支持了產(chǎn)照開(kāi)發(fā)。薅Wi鼗纛wse囂 MicrosoftWindow8CE是一個(gè)簡(jiǎn)潔的,嵩效率的多平臺操作系統。它是從熬 體上蔻有限資源鶼平龕設詩(shī)懿多線(xiàn)程、寵整撬先投、多任務(wù)懿搡終系統。它的模 塊優(yōu)設計允許它對于從掌上電腦到專(zhuān)用的工業(yè)控制器等電子設備進(jìn)行定鍘。它的 主要特點(diǎn)有: 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現支持Will32API的一個(gè)子集。同時(shí),為開(kāi)發(fā)人員提供熟悉開(kāi)發(fā)平臺,包 括EmbeddedVisual C++和EmbeddedVisualBasic,使得有經(jīng)驗的 Windows開(kāi)發(fā)人員可以很快地掌握Window薔CE的開(kāi)發(fā)。這也為Windows 平臺上的一些應用程序移植到Wi玨dowsCE提供了方便。這是Wi魏dows CE的一個(gè)很好的優(yōu)勢 支持多種的用戶(hù)界面硬件,包括可以達到32bit色深的彩色顯示器,支持 多種串行和網(wǎng)絡(luò )通訊技術(shù) 支持COM/OLE,OLE自動(dòng)操作和其它的進(jìn)程聞通訊的先進(jìn)方法 5PalmOS PalmOS是~種32位嵌入式操作系統,用于掌上電腦。
  此系統是3Com公司 的Pal搬Co搬puting部開(kāi)發(fā)的(PalmCompuling目前已經(jīng)獨立為一家公司)。它運行 在一個(gè)搶占式的多任務(wù)內核之上,與同步軟件HotSync結合可以使掌上電腦與PC 上的信息實(shí)現同步,把臺式機的功能擴展到了手掌上,同其它嵌入式操作系統相 比,Pal撒具有更大的靈活性和移動(dòng)性,是一款非常流行的掌上電腦操{乍系統。 1.23嵌入式Li建濺系統 Linux是1991年4月由芬蘭人LinusTorvalds所獨立首創(chuàng )的類(lèi)UNIX操作系統, 在全世界愛(ài)好者的共同努力下,借助于Internet,Linux歷經(jīng)無(wú)數版本的演進(jìn),目前 已發(fā)展成為一個(gè)完整的遵從POSIX規范操作系統,與SystemV以及BSDUNIX實(shí)現了 源碼級或二進(jìn)制相容,它是一個(gè)真正的多任務(wù)、多用戶(hù)、多平臺系統,支持多處理器, 安全可靠,性能卓越。最重要的是Linux不是商業(yè)化操作系統,它遵循GNU公共許可 協(xié)議,源代碼全部開(kāi)放,任何入均可自由獲得源碼并進(jìn)行分析研究。Linux由于自身 的優(yōu)點(diǎn)是非常適合于作為嵌入式操作系統,主要表現為以下幾點(diǎn)‘挖謝】: l免許可證費用 大多數商業(yè)操作系統,如winCE,Vxworks等對每套操作系統均收取一定的許可 證使用費用。
  相對而言,乙inux是一個(gè)免費的優(yōu)良操作系統,公開(kāi)源代碼,只要不違 反G跬協(xié)議,任何人都可以使用、修改稆發(fā)布Linux. 2高度穩定性 和目前流行的桌面操作系統相比,Linux是非常穩定和可靠的,并且由于內核的 穩定性使得L主玨毪x在移植到特定平臺詹與通用平臺具有一樣的高穩定性,雖然薪平臺 下的外圍設備可能完全不同。 3移植容易 L主nux是一個(gè)多平臺的操作系統,可以運行子X86,P0并£RPC,麓王PS等多種處理 器之上,對嵌入式應用方面這一點(diǎn)尤為重要,據統計一個(gè)設計優(yōu)良的嵌入式系統移植 到另一平臺只需改動(dòng)其中的4%代碼。同時(shí)由于Linux采用的模塊機制,使設備驅動(dòng)程 序只需要做部分修改就可適用于其它平臺,方便移植。 4強大的霹絡(luò )功能 工程碩士學(xué)位論文 L主nux天生就是一個(gè)網(wǎng)絡(luò )操作系統。幾乎所有的網(wǎng)絡(luò )協(xié)議和網(wǎng)絡(luò )接口都已經(jīng)被定 制在Linux中。 5良好的開(kāi)發(fā)工具 Li稚毯x提供e、£爭、弘訟以及其他很多的開(kāi)發(fā)工具。更重要的是,愛(ài)好者可以 免費獲得,并且這些開(kāi)發(fā)工具設計時(shí)已經(jīng)考慮到支持各種不同的微處理器結構和調試 環(huán)境。Linux基于GNU的工具包,此工具包提供了完整與無(wú)縫交叉平臺開(kāi)發(fā)工具,從 編輯器到底層調試,其e編譯器產(chǎn)生更有效率的執行代碼。
   6全面的技術(shù)支持 對于實(shí)際開(kāi)發(fā)過(guò)程來(lái)說(shuō),完善的文檔和及時(shí)的技術(shù)支持是解決實(shí)際問(wèn)題、提高開(kāi) 發(fā)效率所必不可少的。由于Linux的開(kāi)源特性和各方面的優(yōu)異表現,越來(lái)越多的程序 員深入其中,開(kāi)發(fā)過(guò)程中遇到的任何閬題,均可通過(guò)王nternet褥到及時(shí)解答。 越來(lái)越多的科研機構、廠(chǎng)商的不斷推動(dòng),使得其在新興的嵌入式系統領(lǐng)域內 也獲得了飛速發(fā)展。所以,研究和分析嵌入式Linux操作系統理論和應用,開(kāi)發(fā) 相關(guān)的嵌入式班致ux系統和應用軟件,具有重大的意義。 1.3數據采集系統的研究現狀 國內現在有不少數據測量和采集的系統。在硬件實(shí)現上,主要通過(guò)單片機、 DSP【15】等完成,有基于PCI總線(xiàn)【161、基于VXI總線(xiàn)【17】的高速數據采集系統等。在 軟件實(shí)現上,有LabView圖形化編程軟件f1引、VBfl引,VCfl91可視開(kāi)發(fā)工具等。 以數據采集卡為核心的數據采集系統,采用的數據采集卡幾乎都是PCI卡, 必須插在上位機(PC機)上的PCI槽上,由上位機(PC機)控制完成數據采集 工作。因此信號必須從信號現場(chǎng)傳送到上位機(PC機)上,由于各種工業(yè)現場(chǎng)條 件的限制,現場(chǎng)到上位機(PC機)往往有很長(cháng)的一段距離,信號在傳送的過(guò)程中 會(huì )衰減,失真,混入干擾信號,產(chǎn)生誤差,這是傳統數據采集系統的一個(gè)缺點(diǎn)。
   為了解決這一矛盾,人們開(kāi)始使用工業(yè)現場(chǎng)總線(xiàn)互聯(lián),例如RS.485串行總線(xiàn)【2…, CAN總線(xiàn)12l】等,將現場(chǎng)采集的數據送到異地的中心處理機做迸一步處理。但是這 種方法只適用于現場(chǎng)與中心距離不是很遠的情況,而且這些通信總線(xiàn)的數據傳輸 速度慢,布線(xiàn)也不方便。 這些數據測量和采集系統的研制成功解決了用戶(hù)需要,但這些系統存在功能 單一、可測量的種類(lèi)少、可測量的范圍小、采集通道少、采集速率低、操作復雜, 并對測試環(huán)境要求較高,安裝、布線(xiàn)不方便等問(wèn)題。在當今網(wǎng)絡(luò )化時(shí)代,以Illte豫el 為代表的計算機網(wǎng)絡(luò )通信的發(fā)展和應用取得了前所未有的突破和成功,網(wǎng)絡(luò )化測 量、采集和(對網(wǎng)中儀器設備的)控制技術(shù)正隨著(zhù)網(wǎng)絡(luò )技術(shù)的發(fā)展而迅速發(fā)展瞄曩。 網(wǎng)絡(luò )化、分布式的數據采集優(yōu)勢體現在:采集范圍擴大,處理能力增強,信息索 取更加方便,并且能夠適應場(chǎng)合變更的需要。憑借這些優(yōu)良的性能,網(wǎng)絡(luò )化測量 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 和控制已經(jīng)成為數據采集技術(shù)發(fā)展的必然趨勢。傳統的數據采集系統顯然不能滿(mǎn) 足對測試系統靈活、高效、高速、多通道、網(wǎng)絡(luò )化等要求和適應復雜測量環(huán)境的 需要。 1.4本文的主要工作 本文的數據采集系統采用嵌入式技術(shù),應用于大型設備狀態(tài)監測系統中,完 成對設備監測,為設備的故障診斷提供第一手可靠、準確的數據。
  系統平臺以基 于ARM9核的AT91RM9200為處理器,FPGA輔助邏輯控制和信號預處理,采用 嵌入式系統開(kāi)發(fā)技術(shù),應用嵌入式操體系統,模塊化設計,提高了系統的實(shí)時(shí)性 和可靠性以及系統的可擴展性。在結構設計上,采用插卡式結構,可根據不同需 要,接入不同的信號調理通道板,實(shí)現靈活的信號采集;具有與上位機的通訊功 能,能結合配套軟件對設備進(jìn)行監測、分析與數據僳存,最終實(shí)現對設備的故障 診斷。 第一章緒論。主要介紹課題的背景和意義,簡(jiǎn)要概述嵌入式系統的定義和特 點(diǎn),闡述了嵌入式操作系統及嵌入式Linux的優(yōu)點(diǎn),分析當前數據采集系統存在 的闖題、研究現狀,貪綴本文所作的工作。 第二章基于嵌入式Linu)(的數據采集系統的整體方案。該裝置主要由信號輸入 電路、模數轉換電路、邏輯控制器件FPGA、數據處理運算核心ARM芯片、通信電 路等部分構成,本章給出了系統框圖。 第三章構建嵌入式Linux系統。本章研究了構建嵌入式Li歉玨x系統的關(guān)鍵技 術(shù),主要介紹嵌入式Linux內核軟件平臺的構建及內核裁剪原理和具體過(guò)程。 第四章嵌入式Linux內核驅動(dòng)程序的設計。主要介紹Linux下字符設備驅動(dòng) 程穿的實(shí)現方法及本系統的字符設備驅動(dòng)的具體實(shí)現。
   第五章嵌入式Linux與網(wǎng)絡(luò )驅動(dòng)的實(shí)現。首先分析Linux網(wǎng)絡(luò )協(xié)議棧(TCP/IP) 整體結構及Linux網(wǎng)絡(luò )設備驅動(dòng)程序,然后本針對系統硬件編寫(xiě)網(wǎng)絡(luò )驅動(dòng)程序, 并測試驗證霹絡(luò )驅動(dòng)的可靠性。 工纛贛圭學(xué)位論文 第2章嵌入式數據采集系統的整體設計 2.1信號采樣處理技術(shù)基礎 在動(dòng)態(tài)信號中蘊含著(zhù)設備的狀態(tài)變化和故障特征的豐富信息,信號處理是提 取故障特征信號的主要手段,麗故障特征信息則是進(jìn)一步診斷設備故障原因并采 取防治對策的依據【23】。 工程領(lǐng)域中的各種物理信號隨著(zhù)融闐的變化過(guò)程表現力多種形式,如簡(jiǎn)諧的、 周期的、瞬態(tài)、隨機的等等,這些被檢測到的信號由于系統傳遞路徑的影響,環(huán) 境噪聲的影響和各種機械原件的聯(lián)合作用,構成信號的成分就很復雜。因此,必 須對檢測到的信號進(jìn)行加工處理,以便更全面、更深刻地揭示出動(dòng)態(tài)信號中所包 含的各種信息。 動(dòng)態(tài)信號的處瑾方法很多,如時(shí)聞?dòng)蛱幚?、頻域處理、幅僮域處理等【24藝朝。 經(jīng)過(guò)信號處理,可以實(shí)現時(shí)域和頻域的相互轉換,從而揭示出信號中某些實(shí)質(zhì)性 2.1.1信號分析系統的組成和數字處理方法暈期的信號分析主要通過(guò)模擬式分析儀器進(jìn)行。隨著(zhù)數字計算機的迅速發(fā)展, 現代信號分析都采用數字分析方法。
  所采用的分析系統,一種是以專(zhuān)用數字信號 處理器為核心的專(zhuān)用數字式信號分析儀器;另一種是采用通用計算機,以軟件方 式進(jìn)行信號分析。兩種分析方式雖然在形式上有所差別,但信號分析的基本手段 和方法是一致的。 信號分析系統的組成如圖2。l所示。系統備部分的功能是: 圖2.1信號分析系統的組成1傳感器 傳感器是將待分析的物理量(一般是電量、溫度、壓力、流量以及振動(dòng)位移、 速度、加速度等)轉化為電信號(如電壓、電流或其它參數)。 2預處理單元 ~般信號在在被采樣之前須經(jīng)預處理,勉放大、濾波等。信號采樣之前的低 通濾波常稱(chēng)為抗混疊濾波。按照采樣定理,采樣頻率必須大于信號最高頻率的兩倍, 否則將引起頻率混疊現象。因此,采用低通濾波器濾去不需要的高頻成分,將信 基于“nux的嵌入式數搖采集系統軟{睪設計與實(shí)璦 號頻帶限制在一定范基之蠹,以防止產(chǎn)生混疊現象。 3模數轉換(A國) 信號可分為模擬信號和數字信號兩類(lèi)。模擬信號是隨時(shí)間連續變化的,一般 傳感器輸出的電信號器器位模擬信號。數字信號是由一系列離散的數字組成。當用 計算機做信號處理時(shí),信號必須是數字化的,因此需要將檢測到的模擬信號轉變 為數字信號供計算祝處理。
  這一過(guò)程是通過(guò)模數轉換器(A國)來(lái)實(shí)現的。 4信號分析單元 這是信號分析系統中的核心環(huán)節,也是本文重點(diǎn)研究的環(huán)節。其可以通過(guò)專(zhuān) 用的數字信號處理器(DSP)來(lái)實(shí)現,也可以通過(guò)通用處理器(CpU)實(shí)現。其分 析內容十分廣泛,本文將在后續章節作深入探討。主要包括對信號的時(shí)域、幅值 域和頻率域的特性分析。也包括對信號所依據的各種形式豹系統特性分析。 5數模轉換(D/A) p,A轉換是將計算機分析處理結果以模擬量形式輸出,供波形顯示或其它用 途。但現代在線(xiàn)監測系統已不用此方法,而是直接在監視器上顯示處理結果。 2。羔.2信號分析的主要內容 從信號分析的基礎方法和功能上來(lái)看,可以將信號分析的主要內容概括如下: l時(shí)域分析 以時(shí)間為變量的各種函數和圖形,如瞬態(tài)記錄、時(shí)域平均、自相關(guān)函數、互 相關(guān)函數。 2幅值域分析 概率密度及概率分布函數、均值計算、方差和峭度計算等。 3頻域分析 通過(guò)傅立葉等變換以頻域的形式來(lái)描述信號。如傅立葉正、逆變換自功率譜 翻互功率譜,細化FFT技術(shù),窗邈數加權,三維坐標圖,倍頻分板等。 2.1.3實(shí)時(shí)分析 所謂實(shí)時(shí)分析就是指分析信號的時(shí)間與信號出現的時(shí)聞幾乎是同時(shí)的。通常 的含意是指信號分析的速度能趕上信號輸入的速度,使信號在分析處理過(guò)程中不 產(chǎn)生數據積壓,也不使數據丟失。
  因為計算機的分析計算工作是在采樣聞隔中進(jìn) 行的,如果計算工作量太大或者采樣間隔&太短,計算機處理不完應做的工作, 將造成數據丟失。因此,在計算機CPU處理速度一定的情況下,就限制了采樣頻 率。按照采樣定理(z=(2.56~4)五雛)‘2稍,也就決定了實(shí)時(shí)分析信號豹最高分析 頻率范圍。對于一個(gè)分析系統來(lái)說(shuō),能夠進(jìn)行實(shí)時(shí)分析的最高頻率與系統的處理 速度、采樣點(diǎn)多少和采樣頻率有關(guān)。如實(shí)時(shí)分折系統在T時(shí)間蠹能夠進(jìn)行N點(diǎn)數 據分析,采樣頻率為.f,則可得到最高分析頻率為: (2.1),一2.56r 工程顴亡學(xué)位論文2.1.4數字信號處理技術(shù)的特點(diǎn) 由于電子計算技術(shù)迅速發(fā)展,信號處理技術(shù)向數字化方向發(fā)展。數字信號處 理技術(shù)具有以下一系列優(yōu)點(diǎn): l功能豐富 以微處理器為核心的現代數字信號分析儀器或裝置,它的處理功能主要通過(guò) 軟件實(shí)現。許多功能軟件可以存儲在體積很小的存儲器內供選用,提供數十種測 試分析項目。因此,以微處理器為核心的分析系統,其特點(diǎn)是能夠充分地、高效 地利用硬件及軟件資源,這是一般模擬電路很難傲到的。 2高度靈活 微處理器化的監測系統操作十分靈活方便,如欲調整參數或修改功能,可以 在軟件上進(jìn)行修改,硬件電路可以不改動(dòng)或者改動(dòng)很少,這樣就節省了資金和時(shí) 間。
  比如本系統,系統操作都可以在瀏覽器中完成,極大地節約了客戶(hù)端軟硬件 的成本,麗且操作更簡(jiǎn)單直觀(guān)。 3高精度 模擬電路所能達到的精度是有限的,要將精度提嵩一個(gè)數量級往往不太容易。 數字信號系統得精度取決于字長(cháng)和設計方案,它容易滿(mǎn)足對高精度的要求。采用 微處理器,在頻率域可以大幅度地提高分辨能力,如低頻可到lHz以下,若有細 化(Zoom)功能,則低頻可到0.1Hz。高頻段可到達lOOkHz。 4高可靠性 數字電路易于大規模集成化制造。一片A脒32位或者CO己DFl袋囂32位處理 器只需要進(jìn)行很少的擴展就可以構成完整的單元系統。這樣的系統由于硬件和擴 展模塊少,大大加強了系統得可靠性。 數字信號分析運算速度自從出現了快速傅立葉(FFT)變換之后,有了數百倍的 提高。各種快速數字信號算法的出現加上硬件技術(shù)的飛速發(fā)展,完全可以做到實(shí)時(shí)處 理各種工業(yè)現場(chǎng)信號,從麗實(shí)現了實(shí)時(shí)分析,使得數字信號處理速度進(jìn)入了一個(gè)嶄新 的階段。 2.2嵌入式數據采集系統的總體結構設計 基于Linux的嵌入式數據采集系統采用板卡式設計,主要由9個(gè)插件和一個(gè) 母板組成。各插件全部采用3U背插式結構,備模件采用雙插座連接方式,各模件 之間通過(guò)系統內部母板相聯(lián)系,提高了整個(gè)裝置的可靠性。
  
  其中一個(gè)插件為信號 采集、處理板;另外的8個(gè)插件為信號調理通道板(一塊板上三路調理電路,總 共2霹路,可以根據傳感器的信號路數,增減信號調理通道板)。系統的結構緊湊, 整面板設計,外形美觀(guān)大方。其布局如圖2.2所示。 基子Linux的嵌入式數據采集系統軟侔設詩(shī)與實(shí)璃 圖2.2裝置連接布局圖 嵌入式數據采集單元系統由信號調理系統和信號采集、處理系統兩部分構成。 信號調理系統由電荷放大或電壓放大或電流放大電路(視健感器類(lèi)型定)、程控放 大、程控低通濾波、緩沖放大等四級電路組成,其中由單片機控制上位機要求的 程控放大、程控低通濾波等參數。信號采集、處理系統擬采用ARMFPGA結構 來(lái)實(shí)現,此種結構的好處是:硬件開(kāi)發(fā)平臺難度較小,系統軟件升級容易實(shí)現。 矗Dcl蠡重鎊系統| |奄源系統| 控制參數通信 圖2。3嵌入式數據采集裝置的總體結構圖 此種嵌入式數據采集裝置的總體結構圖如圖2.3所示,圖中各個(gè)標記說(shuō)明如 DB代表數據總線(xiàn)(DataBus),AB代表地址總線(xiàn)(AddressBus),CB代表控蕩l總線(xiàn)(Control8us)。 信號調理電路:其功能是將傳感器送來(lái)的小信號進(jìn)行放大、低通濾波(有必 要時(shí)需要進(jìn)行模擬濾波),方便蜃續的ADC進(jìn)行模數轉換; ADC:模數變換,用于實(shí)現基帶信號的數字化; FPGA:在該系統中,主要功能是實(shí)現整個(gè)系統的控制和數據的預處理; ARM:與PC機之間進(jìn)行數據通信; SDRAM:完成系統數據的緩沖存儲,運行Linux內核、文件系統及ARM的 應用程序; 丁程碩十學(xué)位論文 FLASH:一種存儲器,該系統用來(lái)存放引導ARM啟動(dòng)的程序,存放壓縮的Linux 內核、文件系統及應用程序。
   嵌入式數據采集系統的硬件平臺實(shí)物圖如圖2.4所示: 圖2.4嵌入式數據采集系統硬件平臺 2.2.1嵌入式數據采集系統信號流程設計 1信號調理通道板信號流程 取自現場(chǎng)設備的各種傳感器信號通過(guò)低噪音電纜送入信號調理通道板,每個(gè) 信號調理通道板上收錄
三個(gè)信號調理通道。根據不同的傳感器類(lèi)型配備不同的信 號調理通道板,各種信號經(jīng)過(guò)信號調理后都變換為同一規格的電壓信號。信號處 理流程如下:傳感器輸出的信號經(jīng)過(guò)電壓放大或電流放大或電荷放大等(視傳感 器類(lèi)型定)變換為電壓信號,該電壓信號經(jīng)程控放大、程控低通濾波,最后再經(jīng) 過(guò)緩沖放大處理,輸出電壓信號送給信號采集、處理板。 信號調理通道板信號流 程如圖2.5所示。 圖2.5信號調理通道板信號流程 2信號采集、處理板 信號采集、處理板的輸入信號是信號調理通道板的輸出信號,該板的信號流 程如圖2.6所示。FPGA控制24路采樣通道的切換,并且將數據讀入片上RAM。 然后采集控制主處理器CPU將采樣信號從FPGA片上RAM中讀出,以TCP/IP協(xié) 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 議格式打包,并發(fā)送出去。 第1通道信號 FPGA 第2通道信號 24 分析結采輸超ARM ADC 信號數據一 方法第24通道信號 處理 圈2.6信號采集、處理板信號流程 2.2.2嵌入式數據采集系統的主要技術(shù)指標 本系統是一套基于Lin毽x的嵌入式操作系統數據采集和監控設備:采用32位 ATMEL離性能ARM9處理器作為采集前端的控制核心,該處理器適應環(huán)境熊力 強,可靠性高。
 ?。玻赐ǖ佬盘栞斎耄òM、計數器信號、開(kāi)關(guān)量等信號)的同 步、高速、高精度采集,TCp,IP通信方式。是基于“nuX的嵌入式系統軟件。 系統工作環(huán)境要求如下: (1)工作電源:AC220V(10%),50Hz(蟲(chóng)1Hz)。工作環(huán)境溫度:。5~+50 (2)相對濕度:5%~95%;(3)大氣壓力:86kPa~106kPa。 基于Linux的嵌入式操作系統數據采集和監控設備具有如下技術(shù)指標: (1)采樣頻率、采樣長(cháng)度和采樣信號的路數可以靈活設置。采樣頻率范圍: lOOHz~20l(Hz;采樣長(cháng)度為了分析方便一般?。病?,照前穩范豳:9~14;采樣信 號的路數:1~24路可以任意設置; (2)實(shí)現對各種類(lèi)型的傳感器輸出信號的調理。信號經(jīng)過(guò)調理后輸出為電壓 信號,輸瞧范圍:。5V~+5V; (3)可以設置連續采集和不連續采集兩種方式; (4)具有以太網(wǎng)接入功能,以太網(wǎng)通信帶寬可達10M/100M; (5)自檢功能:檢測信息通過(guò)RS232瑟輸密; (6)系統具備在線(xiàn)升級功能; (7)溫度范圍(一20一十70)、抗震、電磁兼容等指標符合工業(yè)環(huán)境下的 相關(guān)標準; (8)電源輸入:220V,有防電壓浪涌、電源反接、電源短路等保護措施; (9)系統軟件的可移植性強; (10)系統看門(mén)狗防死機。
   工程磺學(xué)位論文 2.3本章小結 本章從信號采樣的原理入手,弓|出了信號分輯系統的一般組成和流行的實(shí)現 方法。接著(zhù)詳細討論了嵌入式數據采集系統的設計方案。此系統是一套基于Linux 的嵌入式操作系統數據采集和監控設備,采用32位ATMEL離性能處理器作為采 集前端的控制核心。采樣系統具有穩定、高速、高精度等特點(diǎn)。 基予Linux酶嵌入式數據袋集系統軟{睪設計與實(shí)現 第3章構建嵌入式Linux軟件平臺 嵌入式操作系統作為整個(gè)嵌入式系統的核心,是實(shí)現系統功能的關(guān)鍵。嵌入 式乞i玨ux系統從軟件的角度看通??梢苑骤螅磦€(gè)層次‘29】:(1)弓|導加載程序;(2) 內核;(3)文件系統;(4)用戶(hù)應用程序。 3.1引導加載程序 3.1.1引導加載程序 嵌入式系統的引導代碼是嵌入式系統開(kāi)發(fā)的難點(diǎn)之一,同時(shí)是系統運行的一 個(gè)基本前提條件。嵌入式系統的啟動(dòng)代碼與處理器體系結構緊密相關(guān),通常C語(yǔ) 言和匯編語(yǔ)言聯(lián)合使用。 當一個(gè)微處理器第一次窟動(dòng)的時(shí)候,它開(kāi)始在預先設置的地址上執行指令。 通常在那里有一些只讀內存,包括初始化或引導代碼。在PC上,這就是BIOS。 B10S首先執行一些低水平的ePU初始化其他硬件的配置,接著(zhù)辨認哪個(gè)磁盤(pán)里 有操作系統,把操作系統復制到RAM并且轉向它。
  在PC上運行的Linux就是依 靠PC的籽IOS來(lái)提供相關(guān)配置和加載OS功能。 在一個(gè)嵌入式系統里通常沒(méi)有BIOS,這就需要開(kāi)發(fā)者提供同等的啟動(dòng)代碼。 而嵌入式系統并不需要PCBIOS引導程序那樣的靈活性,因為它通常只需處理一 個(gè)硬件的配置,因此,痘動(dòng)代碼只是一個(gè)指令清單,將固定的數字塞到硬件寄存 器中去。這個(gè)代碼更簡(jiǎn)單也更枯燥,然而卻非常關(guān)鍵,因為這些數值要與硬件相 符而且要按照特定的順序進(jìn)孳亍。所以在大多數情況下,一個(gè)最小的通電自檢模塊 可以檢查內存的正常運行、讓?zhuān)蹋牛拈W爍,并且驅動(dòng)其他的硬件以使主LinuxOS 啟動(dòng)和運行。 嵌入式系統中啟動(dòng)代碼通常放在Flash或EPROM芯片上。具體如何實(shí)現,要 根據目標硬件和工具來(lái)定。一種常用的方法是把F1ash或EPROM芯片插入EPROM 或Flas魏燒制器,把啟動(dòng)代碼燒入芯片,然后將芯片插入墨標板插座,這種方法要 求目標板上配有插座。另一種方法是通過(guò)~個(gè)JTAG界面,~些芯片有JTAG界面 可以用來(lái)對芯片進(jìn)行編程,這樣芯片就可以被焊在主板上。 目前可供選擇的引導程序有很多,韓國的VIVIf3稍、開(kāi)源項目U.Bootf31l是其 中的佼佼者。
   3.1.2U.Boot及其移植 3.1.2。1 U一800t 工程聯(lián)學(xué)醢論文 U—Boot,全稱(chēng)Umversal轉ootLo磚er,是遵循GPL條款的開(kāi)放源碼項目。它從 FADSROM、8xxROM、PPC800T逐步發(fā)展演化而來(lái),其源碼目錄、編譯形式與 Linux內核很相似。事實(shí)上,不少U.Boot源碼就是相應的Linux內核源程序的簡(jiǎn) 化,尤其是一些設備的驅動(dòng)程序,這從U.Bool源碼的注釋中能體現這一點(diǎn)。假是 U.Boot不僅僅支持嵌入式Linux系統的引導,當前,它還支持NetBSD、VxWbrks、 QNX、RTEMS、A肼OS、迎致xOS嵌入式操作系統。英西前要支持的黧標操作系 統是OpenBSD、NetBSD、FreeBSD、Linux、SVR4、Esix、Solaris、I“x、SC0、 NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS、ARTOS。這是U.Boot中Univefsal 的一層含義,另外一層含義則是U.Boot除了支持PowerPC系列的處理器外,還能 支持MIPS、x86、ARM、N10S、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正 是U—Boo圭項隧的開(kāi)發(fā)匿標,馨支持盡可能多的嵌入式處理器和嵌入式操彳乍系統。
   U.Boot主要目錄結構boa斑目標扳相關(guān)文件,主要收錄
SD黜M、FLASH驅動(dòng) common獨立于處理器體系結構的通用代碼,如內存大小探測與故障檢測 cpu與處理器相關(guān)的文件。如mpc8)()(予目錄下含串口、網(wǎng)口、LCD驅動(dòng) 及中斷初始化等文件 examples可在U.Boot下運行的示例程序;如helloworld.c,timer.cincl硼e U.Bo桃頭文件;尤其con蠡gs子匿錄下與基標板相關(guān)的配置頭文件是 移植過(guò)程中經(jīng)常要修改的文件 lib-xXX處理器體系相關(guān)的文件,如lib_ppc,lib-燃目錄分別收錄
與 PowerPC、A戳涯體系結構相關(guān)的文件 net與網(wǎng)絡(luò )功能相關(guān)的文件目錄,如bootp,nfs,t邱 posl上電魯檢文件目錄。淹有待于進(jìn)一步完善 tools用于創(chuàng )建U.Boot、S—RECORD和8鏡像文件的工具2U.Boot支持的主要功能 (1)系統引導,支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系 (2)支持NFS掛載、從FLASH中引導壓縮或非壓縮系統內核;(3)基本輔助功熊強大的操作系統接口功戇;可靈活設置、傳遞多個(gè)關(guān)鍵參數 給操作系統,適合系統在不同開(kāi)發(fā)階段的調試要求與產(chǎn)品發(fā)布,尤對Linux支持最為 強勁; (4)支持目標板環(huán)境參數多種存儲方式,如FLASH、NVRAM、?。校遥希停?(5)CRC32校驗,可校驗FLASH中內核、RAMDISK鏡像文件是否完好; (6)設備驅動(dòng)串髓、SD黜醚、F乳ASH、以太兩、己CD、NVRAM、EEPROM、 墓予Linux靜嵌入式數據采集系統軟釋設詩(shī)與實(shí)現 鍵盤(pán)、USl3I、PCMCIA、PCI、RTe等驅動(dòng)支持; (7)上電自檢功能SDRAM、FLASH大小自動(dòng)檢測;SDRAM故障檢測;CPU 型號; 3。
 ?。?。2。2U一800t移植方法及過(guò)程 u—B00t源碼相當復雜,覆蓋各種常用的目標板配置。U.Boot移植一般都是針對 嵌入式冒標板的硬件資源,主要是CpU、FLAS冀和SDRAM等情況,以盡可熊~致的 原則,在U.Boot源碼中找出一個(gè)與目標板為同一個(gè)或同一系列處理器的目標板模板, 即采用基本符合或者接近懿標板的配置目錄,移植相關(guān)的源程序。本文采用U.Bootl.1。 2版本,該版本支持基于AT9lRM9200的處理器配置,并提供一個(gè)目標板模板,即 U.Boot源碼的/board/at91蝴9200dk目錄。與目標板模板相比,本系統中有部分硬件 器件不同如表3。l新示,因此需要針對硬件傲相應的修改。 表3.1本系統與目標板模板用到的不同硬件資源 基于本系統的硬件,先在U.Boot源代碼的/bor彭at9l懿睨00霉錄中修改或添加如 下源碼文件: (1)重寫(xiě)FLAS囂的設備控制程序爨as魏.c。U國。跌讀、寫(xiě)和刪除Fl鑫建設備的源代 碼文件,由于在不同的目標板中FLASH存儲器種類(lèi)各不相同,參照Am29LV320D的 datasheet重寫(xiě)FLASH的設備控制程序jflash。c,該程序完成的功能包括FLASH初始化, 打?。蹋粒樱刃畔?、FLASH擦除和FLASH寫(xiě)入等操作。
   (2)重寫(xiě)DATAFLASH的設備控制程序at45。c。 (3)添加memsetllp。s該匯編源碼文件初始純時(shí)鐘、SMC控翎器和SDRAM控制器. (4)添加網(wǎng)卡芯片CS8900A的設備控制程序cs8900a.c和cs8900a。h,程序 es8900a.c完成的功能是配置聚9l蕊9200的MDl接口以實(shí)現對雅{Y進(jìn)行控制。 (5)修改Mal(efile文件,對上述修改或添加的源代碼文件編譯后,在MakefiIe里 面主要作如下修改: OBJS:=at9lm9200dk.oat45.ocs8900a.oflash.o SOBJS:=memset up.o (6)U.800{。Lds,設黌U.Boot中各個(gè)西標文件盼連接地址,其縫基本不終修改。 (7)config.Mk,根據目標板的~級boot來(lái)修改,修改后TEXTBASE=Ox2lfloooo。 其次,修改囂錄泌el砸ee越gs的頭文件a19l灘92dk.H,根據目標板的資源配置, 修改內容包括CPU、系統時(shí)鐘、RAM、Flash等配置信息以及內存映射相關(guān)參數。該頭 文件還定義了U.Boot的一些環(huán)境變量和內核啟動(dòng)參數??稍冢眨拢铮铮魡?dòng)后通過(guò)setenv 和s鰣eenv命令修改。
 ?。眨拢铮铮簦玻保保舶姹緦ε梗炫矗梗玻埃疤幚砥魈峁┝己玫闹С?,因此對于目錄/cp彬at9lm9200中的源碼基本不做修改。 最后,在U2Boot21.1.2的Makefile中加入如下代碼: 羽l式玨9200噬-co熊g:鼬n鑫g畫(huà)嫩eon堍¥(@jon蠡g=),黜at91蕊920Q /at91rm9200dk 其中, “a潮"是CPU的種類(lèi),拳9l強9200是A姒CPU對應的代碼量錄, at91蝴9200dk是目標板對應的目錄。 在主機上運行redhat9.OLinuX操作系統,編譯移植后的U.Boot源代碼,生成的 U—Boot島in是二進(jìn)制bin文件,純粹的U.Boot二進(jìn)制執行代碼,不保存ELF格式和調試 信息。主機通過(guò)JTAG口將U.Boot.bin下載到目標板的FLASH,目標板復位后運行 U.B墳。如果運行正常,就會(huì )從終端返回,如圖3。l所示。 豳3.1 u咱oot引導扁動(dòng)信息 此時(shí)在U.Boot命令模式下可做進(jìn)一步測試,設置系統啟動(dòng)的環(huán)境變量,并在主機 啟動(dòng)邗醒服務(wù)器,用交叉網(wǎng)線(xiàn)連接主機和目標板,將準備好的LinuX內核映像文件 kemel和文件系統映像文件r鋤disk2一mk7分別下載到SDRAM中正確的地址空間。
  如 果一切運行正常,就可以在冒標板上開(kāi)始刪毛i蘸玨x系統的調試。 3。2創(chuàng )建文件系統 3.2.1文件系統簡(jiǎn)介 許多嵌入式系統沒(méi)有磁盤(pán)或者文件系統,Linux不需要它們也能運行。在這種 情況下,應用程序任務(wù)可以和內核一起編寫(xiě),并且在引導時(shí)作為一個(gè)映像加載。 對于簡(jiǎn)單的系統來(lái)說(shuō),這足夠了,但是缺乏靈活性。實(shí)際上,許多商業(yè)性嵌入式 操作系統,提供文件系統作為選項。Linux提供MS.DOS.Compatible以及其他功 能更強大的文件系統。 文件系統可以被放在傳統的磁盤(pán)驅動(dòng)器、FlashMemory或其他這類(lèi)的介質(zhì)上, 如果用于暫時(shí)保存文件,一個(gè)?。遥粒捅P(pán)就足夠了。FlashMemog通常是這樣保 基予Linux的嵌入式數據袋集系統軟佟設詩(shī)與實(shí)琨 存文件系統的,FlashMemory被分割成塊,其中有~塊是當CPU盛動(dòng)運行時(shí)的引 導塊,里面存放Linux引導代碼,剩余的Flash可以用來(lái)存放文件系統。Linux內 核有兩種加載方式:一是把內核的可執行映像存儲到Flash的一個(gè)獨立部分,系統 扁動(dòng)時(shí),從Flash的某個(gè)地址開(kāi)始逐旬執行;另一種方式是把內核的壓縮文件敖在 F1ash上,系統啟動(dòng)時(shí)通過(guò)引導代碼把內核壓縮文件從Flash復制到RAM里,解 篷執行。
  因先RAM懿存取速度快予Flash,所以惹一種方式旋運行速度更快一些, 標準Linux就是采用這種方式【3孫。 創(chuàng )建文件系統主要是基于兩個(gè)方面的原因133】:首先,現有Linux文件系統全 集實(shí)在太大,不可能把上酉兆的文件系統下載到嵌入式系統上;其次,要改寫(xiě)現 有Linux文件系統中的配置文件以滿(mǎn)足應用程序的要求?!珎€(gè)根文件系統必須包 含對于支持一個(gè)完整的Li懿馘系統所必須的所有內容,如Li娃較x內核、驅動(dòng)程序、 相關(guān)的設備以及相關(guān)的配置文件等等。 最小嵌入式Li瓣濺根文件系統必須收錄
以下幾部分: (1)基本的文件系統結構: (2)最小的目錄集:/dev,/proc,/bin,/etc,/lib,/usr,觸np; (3)基本的命令集:sh,ls,cp,etc; (4)最小的配鼴文件集:i舭ab,fStab,etc; (6)相關(guān)的動(dòng)態(tài)鏈接庫。3.2.2在Flash上實(shí)現根文件系統 1建立相關(guān)的目錄 注意這些冒錄靜名字要與己i蘸馘文件系統原來(lái)的相同。因為Li致ux的鬣置文 件中涉及到的目錄,這些目錄名是固定的,如果更改了,系統可能找不到自己需 要的東西麗不能正確執行。這些目錄包括【34】/約ot, /bill,/sbin,愆ev,/或c,mb, /mnt,/proc,/mp,/usr。
   2將需要的文件拷貝到相關(guān)的目錄下 文件系統各兩錄的內容如下瑟碡l: (1)/root 系統窟動(dòng)文件,內核在其中。該謦錄需要雹含boo{。b,Syste撒.m神和bzl掰agea。 boot.b:合并System.map和bzImage的文件 System。map:與內核映象有關(guān)的函數定位信息 bzlmage:重要的內核映像 (2)/bin 曩錄下收錄
了常用的用戶(hù)命令,主要寄:ea專(zhuān),ehmod,b鑫sll,d臻e,盤(pán),lo西玨, 查看全部

  解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案
  Python采集器、CKSpider、杰奇linux采集優(yōu)質(zhì)解決方案
  linux下捷奇cms的獲取一直是各大站長(cháng)頭疼的問(wèn)題。網(wǎng)上有很多方法,比如wine和samba,還有遠程磁盤(pán)映射。該方法和相同的特點(diǎn)對新手非常不友好,而且還受限于設備的配置、位置和系統環(huán)境??傊?,很麻煩。成功的配置不能不折騰就解決,還是容易出問(wèn)題。上面的很多我都親自測試過(guò),有幾個(gè)配置都成功了,但是說(shuō)白了,jieqi對于很多站長(cháng)來(lái)說(shuō)都離不開(kāi)custom collector,而優(yōu)采云
在jieqi中使用規則的情況并不多需要發(fā)行,操作必然復雜。
  本文僅供學(xué)習研究,請勿用于侵權
  那么,有什么辦法可以解決嗎?
  【注意,這個(gè)采集
器的官方開(kāi)發(fā)者已經(jīng)出風(fēng)頭了,linux采集
器使用了新的解決方案】
  杰奇linux遠程采集,采集器網(wǎng)站分離
  
  本文非廣告[霧]
  CK Collector,又名CKSpider,是一款由python開(kāi)發(fā)的跨平臺采集工具。官方的描述很簡(jiǎn)單,“這可能是捷奇CMS Linux采集
的最佳解決方案!”。這句話(huà)沒(méi)有錯,它完美支持捷奇1.7、捷奇1.8、捷奇2.2、捷奇2.3的快速采集
。你只需要根據站點(diǎn)進(jìn)行配置,設置規則,就可以直觀(guān)的開(kāi)始收書(shū)了。
  與幫助Linux站點(diǎn)采集的Guanguan Collector相比,CK Collector更簡(jiǎn)單,更快速,并且不受延遲或環(huán)境的影響。官網(wǎng)文檔有詳細解釋。
  配置過(guò)程比較簡(jiǎn)單。只需進(jìn)行一些基本操作即可在linux下使用。這篇文章我就不寫(xiě)安裝教程了,大家可以直接去采集
機關(guān)網(wǎng)。
  地址:無(wú)(官網(wǎng)關(guān)閉)
  采集到的截圖如下:
  
  速度非???。其實(shí)和我之前介紹的易大師采集
器長(cháng)得差不多,不過(guò)這個(gè)不會(huì )有BUG的。采集過(guò)程和關(guān)關(guān)差不多,在linux下效率更高。
  配置截圖:
  可以說(shuō)基本的功能都有了,完全可以滿(mǎn)足采集
的需要,至少很多操作是傻瓜式的,只要信息填寫(xiě)正確即可。具體可以去官網(wǎng)看安裝文檔,里面有詳細的介紹。
  最后附上官網(wǎng)截圖
  如果你是在linux上做網(wǎng)站,或者考慮做linux下杰基小說(shuō)的站長(cháng),不想做各種采集配置又想快速采集的可以使用CKSpider。您只需支付少量授權費即可使用。向上。
  當前頁(yè)面是本網(wǎng)站的“Google AMP”版本。查看和評論請點(diǎn)擊:完整版?
  解決方案:基于linux的嵌入式數據采集系統軟件設計與實(shí)現
  湖南大學(xué)碩士學(xué)位論文基于Linux的嵌入式數據采集系統軟件設計與實(shí)現姓名:****請學(xué)位級別:碩士專(zhuān)業(yè):電子與通信工程指導教師:**清;鄭小平20080401工程碩士學(xué)位論文摘要隨著(zhù)信息技術(shù)的飛速發(fā)展,人們需要能夠準確、快速和便捷地獲得大量數據并能從中迅速提取出有用的信息。近年來(lái),嵌入式計算機正在深入應用到工業(yè)、農業(yè)、教育、囡防、科研以及日常生活等各個(gè)領(lǐng)域。人們對于嵌入式計算機的需求在迅速增長(cháng),并且對其功耗、成本、開(kāi)發(fā)怒期、可靠性等多方面都提戡了更高的要求。目前,將嵌入式Linux技術(shù)與數據采集技術(shù)及數字信號處理技術(shù)結合起來(lái),正是適應了這一趨勢。采用Linux技術(shù)的嵌入式系統是一種體積小、便于攜帶、易于網(wǎng)絡(luò )化、造價(jià)相對較低,集信號采集、處理為一體的設備,其有廣泛的應用前論文首先討論數據采集系統需要達到的性能指標,著(zhù)重研究數據采集技術(shù)中關(guān)鍵的微弱信號檢測和噪聲抑制技術(shù),分析嵌入式Linux在數據采集和頻譜分析應用中的優(yōu)勢和意義。本文提出采用嵌入式Linux作為操作系統,針對Atmel公司的AT9lRM9200嵌入式處理器,設計~個(gè)嵌入式數據采集系統。論文在分析了Linux設備驅動(dòng)程序的基本工作原理基礎上,討論了開(kāi)發(fā)中經(jīng)常會(huì )碰到的中斷處理、I/0端悶,并在此基礎上實(shí)現了基予AT9lRM9200嵌入式處理器系統的讀、寫(xiě)外部RAM的字符設備驅動(dòng)和網(wǎng)絡(luò )驅動(dòng)。
  實(shí)驗證明,構造基于ARM的嵌入式Linux系統,并將其應用于工業(yè)測控等領(lǐng)域,在技術(shù)上憲全可行。關(guān)鍵詞:嵌入式系統;數據采集;嵌入式Llnux;Llnux設備驅動(dòng)基予毯n濺的嵌入式數據采集系統軟譬}設詩(shī)與實(shí)現AbstractWiththerapiddevelopmentoftheinformationtechnology,largeamountofdata,蠡。撒w矗ie董ll歉euse斑lin南f撒alione鑫nbedefived,ne{謄dlobeobt采玨edaecuf貳ely,convenientlyandtimely.Inrecentyears,embeddedLinuxhasbeenusedinmany蠡eldssuchasi魏d玨s專(zhuān)ly,agrie毽l{毪fe,ed毽e鑫lio曩,致鑫lio鑫鑫ldefe玨se,scientiflefeseafehdailylife.Thedemandoftheembeddedconlputerhasbeingincreasedrapidly.A玨dlnofefequifementoftheelllbeddedcomput。rpowefconsulnption,productioncost,researchperiodreliabilityhasbeenraised.Now,thecombinationoftheembeddedsysteminI—inuxandthetechnologiesofdatacollectionanddigitalsignalpfocessingleads乏oatasktodeVelopasmallandpoft£凼ledeVice,、他ichhasfhnctionsofdatacollecting,processing,storingdisplaying.Itcanalsobeconnectedeasilyloweos寶.下hefeseafe董lhasaniI建pQrtantearningpOtent主ala觳dabrig董llprospeetbeingwidelyused.l瓤esis,專(zhuān)heper萎3f搬a建eei黷dexofdataae鼗娃isi{ionsys{el鞋lsan越yzed。
 ?。牛恚穑瑁幔簦椋悖幔欤欤?,theweaksignaldetectionandantinoisetechnologyarestudied.The8dvantageselnbeddedLinuxtec量lnol。gydatacollec專(zhuān)ionfrequencyspectrumanalysisarealsodiscussed.TheembeddedLinuxoperalingsystenlpaper.TheAtlnelAT91RM9200isselectedtheCPUofthesystem.TheelementaryoperatingprincipleofthedevicedriverinLinuxisanalyzed.TheinterruptprocessingandI/Opor專(zhuān)arealso纛iseussed.Atlast,basedo穗th。selheories,鑫c量lardriVerand8ne專(zhuān)driVerofthesystemdeVeloped.薹魏conel毽sio建,itis{ec董l建ieallyf毫asiblelob毽ildel建bedde蓮£i致毽xo致AR涯systel廷applyittOthemeasurementandcontrolfieldinindustry.Keywords:Embeddedsystern;Dataacquisition;EmbeddedLinux;LinuxdeVicedrivell湖南大學(xué)學(xué)位論文原創(chuàng )性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進(jìn)行研究所取得的研究成果。
  除了文中特別加以標注引用的內容外,本論文不收錄
任何其他個(gè)人或集體己經(jīng)發(fā)表或撰寫(xiě)的成果作品。對本文的研究做出重要貢獻的個(gè)人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名:巷夕夸學(xué)位論文版權使用授權書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規定,同意學(xué)校保留并向國家有關(guān)部門(mén)或機構送交論文的復印件幫電子版,允許論文被查閱和借閱。本人授權湖南大學(xué)可以將本學(xué)位論文的全部或部分內容編入有關(guān)數據庫進(jìn)行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于l、保密口,在年解密后適用本授權書(shū)。2、不保密耐。(請在以上相應方框內打“”)作者簽名:0爭夕琴工程碩士學(xué)位論文重。l選題的背景與意義第l章緒論隨著(zhù)現代化大規模生產(chǎn)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,現代設備的功能越來(lái)越完善,自動(dòng)化程度越來(lái)越高,生產(chǎn)設備朝著(zhù)高度自動(dòng)化和高度集成化的方向發(fā)展,同時(shí)設備結構圓益復雜化,致使設備維修費用和停產(chǎn)損失與日俱增。如何提高設備的安全可靠性,保障設備穩定、長(cháng)期滿(mǎn)負荷運行,防止和消除設備故障,對設備進(jìn)行全壽命管理,已成為亟待解決的課題Hj。狀態(tài)監測與故障診斷技術(shù)就是在這種背景下提趲并發(fā)展起來(lái)的,通過(guò)在工程中的應用,為設備的管理和維修提供了重要的依據,取得了巨大的經(jīng)濟效益12J。
  要實(shí)現對設備狀態(tài)的監測與故障診斷,首先必須將設備中的各種信號(稱(chēng)為模擬信號)轉化為計算機可以識剮、存儲的信號(稱(chēng)為數字信號),這一過(guò)程鏊罐數據采集【孔。數據采集技術(shù)是以前端的模擬信號處理、模擬信號數字化、數字信號處理 和計算機控制技術(shù)為基礎而形成的一門(mén)綜合技術(shù),它在許多領(lǐng)域得到了廣泛的應 用辨l。在科學(xué)研究中,應用信號采集系統可以獲得大量的有用信息。在現代科學(xué) 技術(shù)不斷應用予日常生活的今天,數據采集技術(shù)也為創(chuàng )造一個(gè)更加舒適、健康的 生活環(huán)境,提高生活質(zhì)量發(fā)揮重要作用。 數據采集系統的任務(wù),具體地說(shuō),就是采集傳感器輸出的模擬信號并轉換成 計算枧能識別的數字信號。數據采集的最終目的是要從采集到的關(guān)于被測對象的 大量數據中提取出有用的,反映被測量特征的信息來(lái),這就需要對數據進(jìn)行處理。 數字信號處理技術(shù)是利用計算機或專(zhuān)用處理設備,以數值計算的方法對信號進(jìn)行 交換、綜合、估值與識別等加工處理,借以達到提取信息和便于應潮為目的的一 種技術(shù)。一個(gè)大型的數據采集系統由以下幾個(gè)部分組成【5J:數據測量、數據采集、 數據傳送、數據存儲、數據處理、分析和顯示等。 目前,嵌入式數據采集系統成為數據采集系統的研究熱點(diǎn){6j。
  嵌入式技術(shù),特 別是嵌入式操{乍系統的發(fā)展使褥開(kāi)發(fā)嵌入式系統變得容易,開(kāi)發(fā)成本降低,產(chǎn)燕通用 性提高,可更新?lián)Q代。結合傳統嵌入式系統體積小、耗能少、抗干擾能力強、穩定的 特點(diǎn),開(kāi)發(fā)嵌入式數據采集系統的應用產(chǎn)品,不管是作為一個(gè)獨立的產(chǎn)晶,還是某一 系統的某個(gè)功麓模塊,都是十分有意義的J。 1.2嵌入式系統概述 1.2.1嵌入式系統定義及特點(diǎn) 嵌入式系統是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應 應用系統,對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統博J。 它將操作系統和功能軟件集成于計算機硬件系統之中,簡(jiǎn)而言之就是系統的應用 軟件與系統的硬件一體化,類(lèi)似于BIOS的工作方式,具有軟件代碼小,高度自動(dòng) 化,響應速度快等特點(diǎn)。特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統是將 先進(jìn)的計算機技術(shù)、半導體技術(shù)、電子技術(shù)和各個(gè)行業(yè)實(shí)際應用相結合的產(chǎn)物。 嵌入式系統的結構由兩大模塊組成:硬件平臺和軟件平臺,其結構如圖1.1 所示: 圖1.1嵌入式系統結構圖 嵌入式系統的硬件平臺通常以緊湊、專(zhuān)用性強的處理器為核心,同時(shí)結合少 量的外圍設備,具有應用相關(guān)性、多樣性的特點(diǎn);嵌入式系統軟件平臺通常收錄
嵌入式應用程序和嵌入式操作系統。
  其中嵌入式操作系統介于硬件和應用程序之 間,負責任務(wù)調度并管理實(shí)時(shí)應用程序,完成對硬件的控制和操作。實(shí)時(shí)應用程 序是基于嵌入式實(shí)時(shí)操作系統、利用操作系統提供的實(shí)時(shí)機制完成特定嵌入式系 統具體功能的應用程序。 嵌入式系統不同于一般計算機系統,它具有其他應用系統所沒(méi)有的一些特性: l體積?。涸谇度胧较到y的主體應用場(chǎng)合,如手持設備,智能儀器儀表,家用 電器等均對體積有較高限制,要求盡量少占用空間。 2存儲容量?。呵度胧较到y一般以ROM,FLAsHMEMORY、RAM等作為存 儲介質(zhì),由于價(jià)格及嵌入式系統體積等因素限制,因而不可能有太大的存儲容量。 3良好的性能價(jià)格比:很多嵌入式設備是嵌入于宿主設備以輔助宿主設備高效 地完成其功能,因而性?xún)r(jià)比要求較高,以防止過(guò)分提高宿主設備成本。 嵌入式操作系統具有以下幾個(gè)特點(diǎn):小的系統內核、較強的實(shí)時(shí)性、多任務(wù) 正程碩士學(xué)位論文 功能、能夠提供各種設備驅動(dòng)程序、網(wǎng)絡(luò )協(xié)議等的支持。作為硬件資源的管理者, 嵌入式操作系統最小構成應收錄
如下幾部分【9dl】: l任務(wù)調度 對一個(gè)復雜的嵌入式應用而言,用單任務(wù)來(lái)實(shí)現是不合適的,因此多任務(wù)調 度策略的優(yōu)劣至關(guān)重要。任務(wù)調度方法一般可分為優(yōu)先級調度、輪轉調度、時(shí)間 片調度三種。
  優(yōu)先級調度又可以分為:優(yōu)先級搶占和優(yōu)先級不搶占。優(yōu)先級搶占 是指當有更高的優(yōu)先級進(jìn)程被激活后,則立即終止當前運行的進(jìn)程,使其搶占CPu 運行。優(yōu)先級不搶占是指當有更高的優(yōu)先級進(jìn)程被激活后,并不立即終止當前運 行的進(jìn)程使其搶占CPU,而是將其放到進(jìn)程就緒隊列中,在當前運行的進(jìn)程結束 焉,再從進(jìn)程就緒隊列中選擇優(yōu)先級最高的進(jìn)程運行。輪轉調度是進(jìn)程管理者按 照一個(gè)固定的時(shí)間間隔讓就緒進(jìn)程輪流運行。時(shí)間片調度則是根據每個(gè)進(jìn)程各自 的實(shí)際情況,分給每個(gè)進(jìn)程一個(gè)時(shí)間片,進(jìn)程開(kāi)始運行后,運行的時(shí)間長(cháng)短由這 個(gè)時(shí)聞片決定。 在一般的操作系統中,通常固定采用其中的一種或幾種方法進(jìn)行任務(wù)調度。 例如在Unix和Linux中,采用了優(yōu)先級不搶占、輪轉和時(shí)間片三種方法。在實(shí)時(shí) 操作系統中,優(yōu)先級搶占策略則是必不可缺少的。而在嵌入式搡作系統中,很難 明確地說(shuō)哪一種調度策略更好,焉要根據實(shí)際系統的需求進(jìn)行選擇。 2存儲管理 一般操作系統的存儲管理非常復雜,虛擬存儲器管理技術(shù)被廣泛地采用,這 樣各應用程序被分隔在各自的地址空間運行,不致相互干擾。 嵌入式操作系統的存儲管理通常比較簡(jiǎn)單。因為在具體的嵌入式應用中,進(jìn) 程或線(xiàn)程的數量和各自可能使用的內存容量是可以在開(kāi)發(fā)時(shí)預測的,因此嵌入式 操作系統通常采用靜態(tài)內存分配。
  另外,在實(shí)時(shí)嵌入式應用中,如采采用虛擬存 儲技術(shù),因為頁(yè)交換的時(shí)間不可預測,所以也是不可取的。 在內存分配的策略上,嵌入式操作系統依賴(lài)于實(shí)際的被嵌入的硬件系統。對 于一個(gè)通用的嵌入式操作系統一般可提供幾種分配策略,由用戶(hù)在實(shí)際開(kāi)發(fā)系統 時(shí)進(jìn)行選擇,這就是嵌入式操作系統的可裁剪性。 存儲管理的另一個(gè)重要特性就是內存保護。在一般的操作系統中,每個(gè)應用 程序都有融己的地址空間。不允許任意訪(fǎng)問(wèn)其它應用程序的地址空間,這樣,當 一個(gè)斑用程序崩潰時(shí),不會(huì )對其它程序產(chǎn)生影響。麗在一些低端嵌入式系統中, 因受到應用環(huán)境的限制,不能大量使用存儲器,這時(shí)嵌入式操{乍系統的代碼量就 受到嚴格限制,必然制約了其功能的完善性。例如有的嵌入式操作系統只有幾十 KB,使其在處理內存保護方面就非常薄弱,這樣的嵌入式操作系統一般只能應用 于一些即使系統崩潰,也不致造成重大損失的領(lǐng)域,例如手枧等。 3中斷響應 計算機系統接受事件通常采用兩種方法:查詢(xún)和中斷。由于采用查詢(xún)方式處 理事件或響應I/0請求會(huì )消耗大量的CpU時(shí)間,騷此無(wú)論在一般的操作系統還是 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 嵌入式操作系統中都廣泛采用中斷方式來(lái)處理事件或I/O請求。
   在嵌入式操作系統中,對中斷處理十分重視,一般在中斷處理程序中僅執行 一些必要的狀態(tài)轉換,對于事件的真正處理則利用中斷任務(wù)來(lái)完成。這樣使得中 斷處理程序的運行時(shí)聞盡可能短,以便系統可以處理其它中斷事件。 在中斷處理上,一般的操作系統與嵌入式操作系統的不同之處是現場(chǎng)保護。 一般的操作系統的中斷現場(chǎng)保護是豳操作系統來(lái)完成的,在中斷處理完成之后, 也由操作系統自動(dòng)恢復現場(chǎng)。兩在嵌入式操作系統中,由予受到代碼量的限制, 中斷現場(chǎng)的保護往往由中斷處理程序來(lái)完成。進(jìn)入中斷處理程序后。應馬上保護 在中斷處理程序中要用到的寄存器,在中斷處理完成后再恢復。這樣~方面減少 了操作系統的代碼量,另~方面提高了中斷響應時(shí)闖,但是卻損失了系統的安全 性,同時(shí)也增加了調試的難度。這是在嵌入式操l乍系統的設計中應該予以關(guān)注的 問(wèn)題。 4操作系統與用戶(hù)的接口 操作系統提供給用戶(hù)使用的有兩類(lèi)接口。 一類(lèi)是人機界面,無(wú)論是視窗形式還是命令行形式,這個(gè)接口確切地說(shuō)并不 能作為操作系統的一部分,而僅僅是操作系統的一個(gè)外殼,這個(gè)界面完全是為了 方便用戶(hù)使用操作系統兩設的,麗這個(gè)接口在嵌入式操作系統中一般是不存在的。 另一類(lèi)接口就是操作系統提供給用戶(hù)開(kāi)發(fā)應用程序的接口(API),也就是系 統調用。
  無(wú)論是一般的操作系統還是嵌入式操作系統都應具有這個(gè)接口。每一個(gè) 操作系統提供的系統調用的功能和種類(lèi)都不同,當然,對于一個(gè)操作系統來(lái)說(shuō), 它提供的系統調用越多,則功能越強,對于應用程序的開(kāi)發(fā),也就越能提供高效 而簡(jiǎn)單的支持。為了適應不斷復雜的應用程序開(kāi)發(fā)的需求,操作系統中設計的系 統調用也就越來(lái)越多,功能越來(lái)越強大。但是這一規律并不適用于嵌入式操作系 統,因為嵌入式操作系統的應用領(lǐng)域非常廣,嵌入式操作系統所提供的系統調用 的數量和功能遠遠不可能滿(mǎn)足應用的需要。盡管可采用前面提到的可裁剪性,但 是任何一個(gè)嵌入式操作系統都不可能從具有各種完善功能、代碼達幾百KB的操 作系統,裁剪到只具有簡(jiǎn)單操作的幾KB代碼。所以嵌入式操作系統只能根據實(shí) 際的被嵌入系統的具體需求來(lái)確定系統調用,以便達到最有效性。 1.2。2嵌入式操作系統簡(jiǎn)介 從20世紀80年代開(kāi)始,出現了各種各樣的商用嵌入式操作系統,這些操作 系統大部分都是為專(zhuān)有系統開(kāi)發(fā)的,從而逐步演化成現在多種形式的商用嵌入式 操作系統百家爭鳴的局面,這些操作系統主要有如下一些強瑟Hj: VxWbfksVxWorks是WindRiver公司專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統設計開(kāi)發(fā)的操作系統軟 件,為程序員提供了高效的實(shí)時(shí)任務(wù)調度、中斷管理、實(shí)時(shí)的系統資源以及實(shí)時(shí) 的任務(wù)聞逶信。
  
  應用程序員可以將盡可熊多的精力放在應用程序本身,麗不必褥 去關(guān)心系統資源的管理。該系統主要應饅在單板飆、數據隧終{:以太嬲交換梃、路豳器)和通信等多方面。其核心功黥主要有: 網(wǎng)絡(luò )支持豢文件系統幫差鰳管理 POSlX標準實(shí)時(shí)擴展 C專(zhuān)專(zhuān)以及其他標準支持 這些核心功能可以與Wind硒ver系統的其他附件和bmado合作伙伴的產(chǎn)品結 會(huì )在~起使臻。誰(shuí)都不熊否認這是一個(gè)非常優(yōu)秀的實(shí)對系統,健其昂貴的徐格使 不少廠(chǎng)商塑?chē)疼Р健?QNX泌X也是一釋實(shí)對撩籜系統,奎擻拿大QNX軟件系統有隈公霹開(kāi)發(fā)。廣泛 應用予自動(dòng)化、控制、機器人科學(xué)、電信、數據逯信、航空靛天、計算桃網(wǎng)絡(luò )系 統、醫療儀器設備、交通運輸、安全防衛系統、POS概、零售楓等飪務(wù)關(guān)鍵型應 焉領(lǐng)域。20雀紀90年代囂期,QNX系統在高速灞長(cháng)的Internet終端設備、信息 家電及掌上電腦等領(lǐng)域也得到了廣泛的癍用。 QNX鵑體系結構決定了它暴宥遺}常好酶律縮犍,耀戶(hù)可越把應臻程序代鸚熟 QNx內核贏(yíng)接編譯在一起,使之為簡(jiǎn)單的嵌入式應用生成一個(gè)單一的多線(xiàn)程映像。 它也是鳘賽上第一個(gè)遵循PS差鴦3.1標準觚零設詩(shī)鰓微蠹棱,匿戴暴膏菲鬻好 的可移植性。
   3Nuele毽s 它是美藿著(zhù)名廠(chǎng)商斛重公鐲靜實(shí)時(shí)操俸系統產(chǎn)晶,該系統豁模塊性設計健它 具有比較好的寵制能力。它的主要特點(diǎn)翁以下一些: 該系統購買(mǎi)時(shí),霹獲蔣全螯豹漾代碼。并且一次性手雩費不用藉為應震系統的發(fā)售提供每套應用系統的版稅。這~點(diǎn)與某熱商業(yè)的嵌入式操作系統不 它提供一個(gè)有較好實(shí)時(shí)性?xún)群司W(wǎng)絡(luò )模塊功能比較完善,同時(shí)還提供了W曲產(chǎn)晶 工具。易學(xué)易耀,較好的支持了產(chǎn)照開(kāi)發(fā)。薅Wi鼗纛wse囂 MicrosoftWindow8CE是一個(gè)簡(jiǎn)潔的,嵩效率的多平臺操作系統。它是從熬 體上蔻有限資源鶼平龕設詩(shī)懿多線(xiàn)程、寵整撬先投、多任務(wù)懿搡終系統。它的模 塊優(yōu)設計允許它對于從掌上電腦到專(zhuān)用的工業(yè)控制器等電子設備進(jìn)行定鍘。它的 主要特點(diǎn)有: 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現支持Will32API的一個(gè)子集。同時(shí),為開(kāi)發(fā)人員提供熟悉開(kāi)發(fā)平臺,包 括EmbeddedVisual C++和EmbeddedVisualBasic,使得有經(jīng)驗的 Windows開(kāi)發(fā)人員可以很快地掌握Window薔CE的開(kāi)發(fā)。這也為Windows 平臺上的一些應用程序移植到Wi玨dowsCE提供了方便。這是Wi魏dows CE的一個(gè)很好的優(yōu)勢 支持多種的用戶(hù)界面硬件,包括可以達到32bit色深的彩色顯示器,支持 多種串行和網(wǎng)絡(luò )通訊技術(shù) 支持COM/OLE,OLE自動(dòng)操作和其它的進(jìn)程聞通訊的先進(jìn)方法 5PalmOS PalmOS是~種32位嵌入式操作系統,用于掌上電腦。
  此系統是3Com公司 的Pal搬Co搬puting部開(kāi)發(fā)的(PalmCompuling目前已經(jīng)獨立為一家公司)。它運行 在一個(gè)搶占式的多任務(wù)內核之上,與同步軟件HotSync結合可以使掌上電腦與PC 上的信息實(shí)現同步,把臺式機的功能擴展到了手掌上,同其它嵌入式操作系統相 比,Pal撒具有更大的靈活性和移動(dòng)性,是一款非常流行的掌上電腦操{乍系統。 1.23嵌入式Li建濺系統 Linux是1991年4月由芬蘭人LinusTorvalds所獨立首創(chuàng )的類(lèi)UNIX操作系統, 在全世界愛(ài)好者的共同努力下,借助于Internet,Linux歷經(jīng)無(wú)數版本的演進(jìn),目前 已發(fā)展成為一個(gè)完整的遵從POSIX規范操作系統,與SystemV以及BSDUNIX實(shí)現了 源碼級或二進(jìn)制相容,它是一個(gè)真正的多任務(wù)、多用戶(hù)、多平臺系統,支持多處理器, 安全可靠,性能卓越。最重要的是Linux不是商業(yè)化操作系統,它遵循GNU公共許可 協(xié)議,源代碼全部開(kāi)放,任何入均可自由獲得源碼并進(jìn)行分析研究。Linux由于自身 的優(yōu)點(diǎn)是非常適合于作為嵌入式操作系統,主要表現為以下幾點(diǎn)‘挖謝】: l免許可證費用 大多數商業(yè)操作系統,如winCE,Vxworks等對每套操作系統均收取一定的許可 證使用費用。
  相對而言,乙inux是一個(gè)免費的優(yōu)良操作系統,公開(kāi)源代碼,只要不違 反G跬協(xié)議,任何人都可以使用、修改稆發(fā)布Linux. 2高度穩定性 和目前流行的桌面操作系統相比,Linux是非常穩定和可靠的,并且由于內核的 穩定性使得L主玨毪x在移植到特定平臺詹與通用平臺具有一樣的高穩定性,雖然薪平臺 下的外圍設備可能完全不同。 3移植容易 L主nux是一個(gè)多平臺的操作系統,可以運行子X86,P0并£RPC,麓王PS等多種處理 器之上,對嵌入式應用方面這一點(diǎn)尤為重要,據統計一個(gè)設計優(yōu)良的嵌入式系統移植 到另一平臺只需改動(dòng)其中的4%代碼。同時(shí)由于Linux采用的模塊機制,使設備驅動(dòng)程 序只需要做部分修改就可適用于其它平臺,方便移植。 4強大的霹絡(luò )功能 工程碩士學(xué)位論文 L主nux天生就是一個(gè)網(wǎng)絡(luò )操作系統。幾乎所有的網(wǎng)絡(luò )協(xié)議和網(wǎng)絡(luò )接口都已經(jīng)被定 制在Linux中。 5良好的開(kāi)發(fā)工具 Li稚毯x提供e、£爭、弘訟以及其他很多的開(kāi)發(fā)工具。更重要的是,愛(ài)好者可以 免費獲得,并且這些開(kāi)發(fā)工具設計時(shí)已經(jīng)考慮到支持各種不同的微處理器結構和調試 環(huán)境。Linux基于GNU的工具包,此工具包提供了完整與無(wú)縫交叉平臺開(kāi)發(fā)工具,從 編輯器到底層調試,其e編譯器產(chǎn)生更有效率的執行代碼。
   6全面的技術(shù)支持 對于實(shí)際開(kāi)發(fā)過(guò)程來(lái)說(shuō),完善的文檔和及時(shí)的技術(shù)支持是解決實(shí)際問(wèn)題、提高開(kāi) 發(fā)效率所必不可少的。由于Linux的開(kāi)源特性和各方面的優(yōu)異表現,越來(lái)越多的程序 員深入其中,開(kāi)發(fā)過(guò)程中遇到的任何閬題,均可通過(guò)王nternet褥到及時(shí)解答。 越來(lái)越多的科研機構、廠(chǎng)商的不斷推動(dòng),使得其在新興的嵌入式系統領(lǐng)域內 也獲得了飛速發(fā)展。所以,研究和分析嵌入式Linux操作系統理論和應用,開(kāi)發(fā) 相關(guān)的嵌入式班致ux系統和應用軟件,具有重大的意義。 1.3數據采集系統的研究現狀 國內現在有不少數據測量和采集的系統。在硬件實(shí)現上,主要通過(guò)單片機、 DSP【15】等完成,有基于PCI總線(xiàn)【161、基于VXI總線(xiàn)【17】的高速數據采集系統等。在 軟件實(shí)現上,有LabView圖形化編程軟件f1引、VBfl引,VCfl91可視開(kāi)發(fā)工具等。 以數據采集卡為核心的數據采集系統,采用的數據采集卡幾乎都是PCI卡, 必須插在上位機(PC機)上的PCI槽上,由上位機(PC機)控制完成數據采集 工作。因此信號必須從信號現場(chǎng)傳送到上位機(PC機)上,由于各種工業(yè)現場(chǎng)條 件的限制,現場(chǎng)到上位機(PC機)往往有很長(cháng)的一段距離,信號在傳送的過(guò)程中 會(huì )衰減,失真,混入干擾信號,產(chǎn)生誤差,這是傳統數據采集系統的一個(gè)缺點(diǎn)。
   為了解決這一矛盾,人們開(kāi)始使用工業(yè)現場(chǎng)總線(xiàn)互聯(lián),例如RS.485串行總線(xiàn)【2…, CAN總線(xiàn)12l】等,將現場(chǎng)采集的數據送到異地的中心處理機做迸一步處理。但是這 種方法只適用于現場(chǎng)與中心距離不是很遠的情況,而且這些通信總線(xiàn)的數據傳輸 速度慢,布線(xiàn)也不方便。 這些數據測量和采集系統的研制成功解決了用戶(hù)需要,但這些系統存在功能 單一、可測量的種類(lèi)少、可測量的范圍小、采集通道少、采集速率低、操作復雜, 并對測試環(huán)境要求較高,安裝、布線(xiàn)不方便等問(wèn)題。在當今網(wǎng)絡(luò )化時(shí)代,以Illte豫el 為代表的計算機網(wǎng)絡(luò )通信的發(fā)展和應用取得了前所未有的突破和成功,網(wǎng)絡(luò )化測 量、采集和(對網(wǎng)中儀器設備的)控制技術(shù)正隨著(zhù)網(wǎng)絡(luò )技術(shù)的發(fā)展而迅速發(fā)展瞄曩。 網(wǎng)絡(luò )化、分布式的數據采集優(yōu)勢體現在:采集范圍擴大,處理能力增強,信息索 取更加方便,并且能夠適應場(chǎng)合變更的需要。憑借這些優(yōu)良的性能,網(wǎng)絡(luò )化測量 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 和控制已經(jīng)成為數據采集技術(shù)發(fā)展的必然趨勢。傳統的數據采集系統顯然不能滿(mǎn) 足對測試系統靈活、高效、高速、多通道、網(wǎng)絡(luò )化等要求和適應復雜測量環(huán)境的 需要。 1.4本文的主要工作 本文的數據采集系統采用嵌入式技術(shù),應用于大型設備狀態(tài)監測系統中,完 成對設備監測,為設備的故障診斷提供第一手可靠、準確的數據。
  系統平臺以基 于ARM9核的AT91RM9200為處理器,FPGA輔助邏輯控制和信號預處理,采用 嵌入式系統開(kāi)發(fā)技術(shù),應用嵌入式操體系統,模塊化設計,提高了系統的實(shí)時(shí)性 和可靠性以及系統的可擴展性。在結構設計上,采用插卡式結構,可根據不同需 要,接入不同的信號調理通道板,實(shí)現靈活的信號采集;具有與上位機的通訊功 能,能結合配套軟件對設備進(jìn)行監測、分析與數據僳存,最終實(shí)現對設備的故障 診斷。 第一章緒論。主要介紹課題的背景和意義,簡(jiǎn)要概述嵌入式系統的定義和特 點(diǎn),闡述了嵌入式操作系統及嵌入式Linux的優(yōu)點(diǎn),分析當前數據采集系統存在 的闖題、研究現狀,貪綴本文所作的工作。 第二章基于嵌入式Linu)(的數據采集系統的整體方案。該裝置主要由信號輸入 電路、模數轉換電路、邏輯控制器件FPGA、數據處理運算核心ARM芯片、通信電 路等部分構成,本章給出了系統框圖。 第三章構建嵌入式Linux系統。本章研究了構建嵌入式Li歉玨x系統的關(guān)鍵技 術(shù),主要介紹嵌入式Linux內核軟件平臺的構建及內核裁剪原理和具體過(guò)程。 第四章嵌入式Linux內核驅動(dòng)程序的設計。主要介紹Linux下字符設備驅動(dòng) 程穿的實(shí)現方法及本系統的字符設備驅動(dòng)的具體實(shí)現。
   第五章嵌入式Linux與網(wǎng)絡(luò )驅動(dòng)的實(shí)現。首先分析Linux網(wǎng)絡(luò )協(xié)議棧(TCP/IP) 整體結構及Linux網(wǎng)絡(luò )設備驅動(dòng)程序,然后本針對系統硬件編寫(xiě)網(wǎng)絡(luò )驅動(dòng)程序, 并測試驗證霹絡(luò )驅動(dòng)的可靠性。 工纛贛圭學(xué)位論文 第2章嵌入式數據采集系統的整體設計 2.1信號采樣處理技術(shù)基礎 在動(dòng)態(tài)信號中蘊含著(zhù)設備的狀態(tài)變化和故障特征的豐富信息,信號處理是提 取故障特征信號的主要手段,麗故障特征信息則是進(jìn)一步診斷設備故障原因并采 取防治對策的依據【23】。 工程領(lǐng)域中的各種物理信號隨著(zhù)融闐的變化過(guò)程表現力多種形式,如簡(jiǎn)諧的、 周期的、瞬態(tài)、隨機的等等,這些被檢測到的信號由于系統傳遞路徑的影響,環(huán) 境噪聲的影響和各種機械原件的聯(lián)合作用,構成信號的成分就很復雜。因此,必 須對檢測到的信號進(jìn)行加工處理,以便更全面、更深刻地揭示出動(dòng)態(tài)信號中所包 含的各種信息。 動(dòng)態(tài)信號的處瑾方法很多,如時(shí)聞?dòng)蛱幚?、頻域處理、幅僮域處理等【24藝朝。 經(jīng)過(guò)信號處理,可以實(shí)現時(shí)域和頻域的相互轉換,從而揭示出信號中某些實(shí)質(zhì)性 2.1.1信號分析系統的組成和數字處理方法暈期的信號分析主要通過(guò)模擬式分析儀器進(jìn)行。隨著(zhù)數字計算機的迅速發(fā)展, 現代信號分析都采用數字分析方法。
  所采用的分析系統,一種是以專(zhuān)用數字信號 處理器為核心的專(zhuān)用數字式信號分析儀器;另一種是采用通用計算機,以軟件方 式進(jìn)行信號分析。兩種分析方式雖然在形式上有所差別,但信號分析的基本手段 和方法是一致的。 信號分析系統的組成如圖2。l所示。系統備部分的功能是: 圖2.1信號分析系統的組成1傳感器 傳感器是將待分析的物理量(一般是電量、溫度、壓力、流量以及振動(dòng)位移、 速度、加速度等)轉化為電信號(如電壓、電流或其它參數)。 2預處理單元 ~般信號在在被采樣之前須經(jīng)預處理,勉放大、濾波等。信號采樣之前的低 通濾波常稱(chēng)為抗混疊濾波。按照采樣定理,采樣頻率必須大于信號最高頻率的兩倍, 否則將引起頻率混疊現象。因此,采用低通濾波器濾去不需要的高頻成分,將信 基于“nux的嵌入式數搖采集系統軟{睪設計與實(shí)璦 號頻帶限制在一定范基之蠹,以防止產(chǎn)生混疊現象。 3模數轉換(A國) 信號可分為模擬信號和數字信號兩類(lèi)。模擬信號是隨時(shí)間連續變化的,一般 傳感器輸出的電信號器器位模擬信號。數字信號是由一系列離散的數字組成。當用 計算機做信號處理時(shí),信號必須是數字化的,因此需要將檢測到的模擬信號轉變 為數字信號供計算祝處理。
  這一過(guò)程是通過(guò)模數轉換器(A國)來(lái)實(shí)現的。 4信號分析單元 這是信號分析系統中的核心環(huán)節,也是本文重點(diǎn)研究的環(huán)節。其可以通過(guò)專(zhuān) 用的數字信號處理器(DSP)來(lái)實(shí)現,也可以通過(guò)通用處理器(CpU)實(shí)現。其分 析內容十分廣泛,本文將在后續章節作深入探討。主要包括對信號的時(shí)域、幅值 域和頻率域的特性分析。也包括對信號所依據的各種形式豹系統特性分析。 5數模轉換(D/A) p,A轉換是將計算機分析處理結果以模擬量形式輸出,供波形顯示或其它用 途。但現代在線(xiàn)監測系統已不用此方法,而是直接在監視器上顯示處理結果。 2。羔.2信號分析的主要內容 從信號分析的基礎方法和功能上來(lái)看,可以將信號分析的主要內容概括如下: l時(shí)域分析 以時(shí)間為變量的各種函數和圖形,如瞬態(tài)記錄、時(shí)域平均、自相關(guān)函數、互 相關(guān)函數。 2幅值域分析 概率密度及概率分布函數、均值計算、方差和峭度計算等。 3頻域分析 通過(guò)傅立葉等變換以頻域的形式來(lái)描述信號。如傅立葉正、逆變換自功率譜 翻互功率譜,細化FFT技術(shù),窗邈數加權,三維坐標圖,倍頻分板等。 2.1.3實(shí)時(shí)分析 所謂實(shí)時(shí)分析就是指分析信號的時(shí)間與信號出現的時(shí)聞幾乎是同時(shí)的。通常 的含意是指信號分析的速度能趕上信號輸入的速度,使信號在分析處理過(guò)程中不 產(chǎn)生數據積壓,也不使數據丟失。
  因為計算機的分析計算工作是在采樣聞隔中進(jìn) 行的,如果計算工作量太大或者采樣間隔&太短,計算機處理不完應做的工作, 將造成數據丟失。因此,在計算機CPU處理速度一定的情況下,就限制了采樣頻 率。按照采樣定理(z=(2.56~4)五雛)‘2稍,也就決定了實(shí)時(shí)分析信號豹最高分析 頻率范圍。對于一個(gè)分析系統來(lái)說(shuō),能夠進(jìn)行實(shí)時(shí)分析的最高頻率與系統的處理 速度、采樣點(diǎn)多少和采樣頻率有關(guān)。如實(shí)時(shí)分折系統在T時(shí)間蠹能夠進(jìn)行N點(diǎn)數 據分析,采樣頻率為.f,則可得到最高分析頻率為: (2.1),一2.56r 工程顴亡學(xué)位論文2.1.4數字信號處理技術(shù)的特點(diǎn) 由于電子計算技術(shù)迅速發(fā)展,信號處理技術(shù)向數字化方向發(fā)展。數字信號處 理技術(shù)具有以下一系列優(yōu)點(diǎn): l功能豐富 以微處理器為核心的現代數字信號分析儀器或裝置,它的處理功能主要通過(guò) 軟件實(shí)現。許多功能軟件可以存儲在體積很小的存儲器內供選用,提供數十種測 試分析項目。因此,以微處理器為核心的分析系統,其特點(diǎn)是能夠充分地、高效 地利用硬件及軟件資源,這是一般模擬電路很難傲到的。 2高度靈活 微處理器化的監測系統操作十分靈活方便,如欲調整參數或修改功能,可以 在軟件上進(jìn)行修改,硬件電路可以不改動(dòng)或者改動(dòng)很少,這樣就節省了資金和時(shí) 間。
  比如本系統,系統操作都可以在瀏覽器中完成,極大地節約了客戶(hù)端軟硬件 的成本,麗且操作更簡(jiǎn)單直觀(guān)。 3高精度 模擬電路所能達到的精度是有限的,要將精度提嵩一個(gè)數量級往往不太容易。 數字信號系統得精度取決于字長(cháng)和設計方案,它容易滿(mǎn)足對高精度的要求。采用 微處理器,在頻率域可以大幅度地提高分辨能力,如低頻可到lHz以下,若有細 化(Zoom)功能,則低頻可到0.1Hz。高頻段可到達lOOkHz。 4高可靠性 數字電路易于大規模集成化制造。一片A脒32位或者CO己DFl袋囂32位處理 器只需要進(jìn)行很少的擴展就可以構成完整的單元系統。這樣的系統由于硬件和擴 展模塊少,大大加強了系統得可靠性。 數字信號分析運算速度自從出現了快速傅立葉(FFT)變換之后,有了數百倍的 提高。各種快速數字信號算法的出現加上硬件技術(shù)的飛速發(fā)展,完全可以做到實(shí)時(shí)處 理各種工業(yè)現場(chǎng)信號,從麗實(shí)現了實(shí)時(shí)分析,使得數字信號處理速度進(jìn)入了一個(gè)嶄新 的階段。 2.2嵌入式數據采集系統的總體結構設計 基于Linux的嵌入式數據采集系統采用板卡式設計,主要由9個(gè)插件和一個(gè) 母板組成。各插件全部采用3U背插式結構,備模件采用雙插座連接方式,各模件 之間通過(guò)系統內部母板相聯(lián)系,提高了整個(gè)裝置的可靠性。
  
  其中一個(gè)插件為信號 采集、處理板;另外的8個(gè)插件為信號調理通道板(一塊板上三路調理電路,總 共2霹路,可以根據傳感器的信號路數,增減信號調理通道板)。系統的結構緊湊, 整面板設計,外形美觀(guān)大方。其布局如圖2.2所示。 基子Linux的嵌入式數據采集系統軟侔設詩(shī)與實(shí)璃 圖2.2裝置連接布局圖 嵌入式數據采集單元系統由信號調理系統和信號采集、處理系統兩部分構成。 信號調理系統由電荷放大或電壓放大或電流放大電路(視健感器類(lèi)型定)、程控放 大、程控低通濾波、緩沖放大等四級電路組成,其中由單片機控制上位機要求的 程控放大、程控低通濾波等參數。信號采集、處理系統擬采用ARMFPGA結構 來(lái)實(shí)現,此種結構的好處是:硬件開(kāi)發(fā)平臺難度較小,系統軟件升級容易實(shí)現。 矗Dcl蠡重鎊系統| |奄源系統| 控制參數通信 圖2。3嵌入式數據采集裝置的總體結構圖 此種嵌入式數據采集裝置的總體結構圖如圖2.3所示,圖中各個(gè)標記說(shuō)明如 DB代表數據總線(xiàn)(DataBus),AB代表地址總線(xiàn)(AddressBus),CB代表控蕩l總線(xiàn)(Control8us)。 信號調理電路:其功能是將傳感器送來(lái)的小信號進(jìn)行放大、低通濾波(有必 要時(shí)需要進(jìn)行模擬濾波),方便蜃續的ADC進(jìn)行模數轉換; ADC:模數變換,用于實(shí)現基帶信號的數字化; FPGA:在該系統中,主要功能是實(shí)現整個(gè)系統的控制和數據的預處理; ARM:與PC機之間進(jìn)行數據通信; SDRAM:完成系統數據的緩沖存儲,運行Linux內核、文件系統及ARM的 應用程序; 丁程碩十學(xué)位論文 FLASH:一種存儲器,該系統用來(lái)存放引導ARM啟動(dòng)的程序,存放壓縮的Linux 內核、文件系統及應用程序。
   嵌入式數據采集系統的硬件平臺實(shí)物圖如圖2.4所示: 圖2.4嵌入式數據采集系統硬件平臺 2.2.1嵌入式數據采集系統信號流程設計 1信號調理通道板信號流程 取自現場(chǎng)設備的各種傳感器信號通過(guò)低噪音電纜送入信號調理通道板,每個(gè) 信號調理通道板上收錄
三個(gè)信號調理通道。根據不同的傳感器類(lèi)型配備不同的信 號調理通道板,各種信號經(jīng)過(guò)信號調理后都變換為同一規格的電壓信號。信號處 理流程如下:傳感器輸出的信號經(jīng)過(guò)電壓放大或電流放大或電荷放大等(視傳感 器類(lèi)型定)變換為電壓信號,該電壓信號經(jīng)程控放大、程控低通濾波,最后再經(jīng) 過(guò)緩沖放大處理,輸出電壓信號送給信號采集、處理板。 信號調理通道板信號流 程如圖2.5所示。 圖2.5信號調理通道板信號流程 2信號采集、處理板 信號采集、處理板的輸入信號是信號調理通道板的輸出信號,該板的信號流 程如圖2.6所示。FPGA控制24路采樣通道的切換,并且將數據讀入片上RAM。 然后采集控制主處理器CPU將采樣信號從FPGA片上RAM中讀出,以TCP/IP協(xié) 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 議格式打包,并發(fā)送出去。 第1通道信號 FPGA 第2通道信號 24 分析結采輸超ARM ADC 信號數據一 方法第24通道信號 處理 圈2.6信號采集、處理板信號流程 2.2.2嵌入式數據采集系統的主要技術(shù)指標 本系統是一套基于Lin毽x的嵌入式操作系統數據采集和監控設備:采用32位 ATMEL離性能ARM9處理器作為采集前端的控制核心,該處理器適應環(huán)境熊力 強,可靠性高。
 ?。玻赐ǖ佬盘栞斎耄òM、計數器信號、開(kāi)關(guān)量等信號)的同 步、高速、高精度采集,TCp,IP通信方式。是基于“nuX的嵌入式系統軟件。 系統工作環(huán)境要求如下: (1)工作電源:AC220V(10%),50Hz(蟲(chóng)1Hz)。工作環(huán)境溫度:。5~+50 (2)相對濕度:5%~95%;(3)大氣壓力:86kPa~106kPa。 基于Linux的嵌入式操作系統數據采集和監控設備具有如下技術(shù)指標: (1)采樣頻率、采樣長(cháng)度和采樣信號的路數可以靈活設置。采樣頻率范圍: lOOHz~20l(Hz;采樣長(cháng)度為了分析方便一般?。病?,照前穩范豳:9~14;采樣信 號的路數:1~24路可以任意設置; (2)實(shí)現對各種類(lèi)型的傳感器輸出信號的調理。信號經(jīng)過(guò)調理后輸出為電壓 信號,輸瞧范圍:。5V~+5V; (3)可以設置連續采集和不連續采集兩種方式; (4)具有以太網(wǎng)接入功能,以太網(wǎng)通信帶寬可達10M/100M; (5)自檢功能:檢測信息通過(guò)RS232瑟輸密; (6)系統具備在線(xiàn)升級功能; (7)溫度范圍(一20一十70)、抗震、電磁兼容等指標符合工業(yè)環(huán)境下的 相關(guān)標準; (8)電源輸入:220V,有防電壓浪涌、電源反接、電源短路等保護措施; (9)系統軟件的可移植性強; (10)系統看門(mén)狗防死機。
   工程磺學(xué)位論文 2.3本章小結 本章從信號采樣的原理入手,弓|出了信號分輯系統的一般組成和流行的實(shí)現 方法。接著(zhù)詳細討論了嵌入式數據采集系統的設計方案。此系統是一套基于Linux 的嵌入式操作系統數據采集和監控設備,采用32位ATMEL離性能處理器作為采 集前端的控制核心。采樣系統具有穩定、高速、高精度等特點(diǎn)。 基予Linux酶嵌入式數據袋集系統軟{睪設計與實(shí)現 第3章構建嵌入式Linux軟件平臺 嵌入式操作系統作為整個(gè)嵌入式系統的核心,是實(shí)現系統功能的關(guān)鍵。嵌入 式乞i玨ux系統從軟件的角度看通??梢苑骤螅磦€(gè)層次‘29】:(1)弓|導加載程序;(2) 內核;(3)文件系統;(4)用戶(hù)應用程序。 3.1引導加載程序 3.1.1引導加載程序 嵌入式系統的引導代碼是嵌入式系統開(kāi)發(fā)的難點(diǎn)之一,同時(shí)是系統運行的一 個(gè)基本前提條件。嵌入式系統的啟動(dòng)代碼與處理器體系結構緊密相關(guān),通常C語(yǔ) 言和匯編語(yǔ)言聯(lián)合使用。 當一個(gè)微處理器第一次窟動(dòng)的時(shí)候,它開(kāi)始在預先設置的地址上執行指令。 通常在那里有一些只讀內存,包括初始化或引導代碼。在PC上,這就是BIOS。 B10S首先執行一些低水平的ePU初始化其他硬件的配置,接著(zhù)辨認哪個(gè)磁盤(pán)里 有操作系統,把操作系統復制到RAM并且轉向它。
  在PC上運行的Linux就是依 靠PC的籽IOS來(lái)提供相關(guān)配置和加載OS功能。 在一個(gè)嵌入式系統里通常沒(méi)有BIOS,這就需要開(kāi)發(fā)者提供同等的啟動(dòng)代碼。 而嵌入式系統并不需要PCBIOS引導程序那樣的靈活性,因為它通常只需處理一 個(gè)硬件的配置,因此,痘動(dòng)代碼只是一個(gè)指令清單,將固定的數字塞到硬件寄存 器中去。這個(gè)代碼更簡(jiǎn)單也更枯燥,然而卻非常關(guān)鍵,因為這些數值要與硬件相 符而且要按照特定的順序進(jìn)孳亍。所以在大多數情況下,一個(gè)最小的通電自檢模塊 可以檢查內存的正常運行、讓?zhuān)蹋牛拈W爍,并且驅動(dòng)其他的硬件以使主LinuxOS 啟動(dòng)和運行。 嵌入式系統中啟動(dòng)代碼通常放在Flash或EPROM芯片上。具體如何實(shí)現,要 根據目標硬件和工具來(lái)定。一種常用的方法是把F1ash或EPROM芯片插入EPROM 或Flas魏燒制器,把啟動(dòng)代碼燒入芯片,然后將芯片插入墨標板插座,這種方法要 求目標板上配有插座。另一種方法是通過(guò)~個(gè)JTAG界面,~些芯片有JTAG界面 可以用來(lái)對芯片進(jìn)行編程,這樣芯片就可以被焊在主板上。 目前可供選擇的引導程序有很多,韓國的VIVIf3稍、開(kāi)源項目U.Bootf31l是其 中的佼佼者。
   3.1.2U.Boot及其移植 3.1.2。1 U一800t 工程聯(lián)學(xué)醢論文 U—Boot,全稱(chēng)Umversal轉ootLo磚er,是遵循GPL條款的開(kāi)放源碼項目。它從 FADSROM、8xxROM、PPC800T逐步發(fā)展演化而來(lái),其源碼目錄、編譯形式與 Linux內核很相似。事實(shí)上,不少U.Boot源碼就是相應的Linux內核源程序的簡(jiǎn) 化,尤其是一些設備的驅動(dòng)程序,這從U.Bool源碼的注釋中能體現這一點(diǎn)。假是 U.Boot不僅僅支持嵌入式Linux系統的引導,當前,它還支持NetBSD、VxWbrks、 QNX、RTEMS、A肼OS、迎致xOS嵌入式操作系統。英西前要支持的黧標操作系 統是OpenBSD、NetBSD、FreeBSD、Linux、SVR4、Esix、Solaris、I“x、SC0、 NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS、ARTOS。這是U.Boot中Univefsal 的一層含義,另外一層含義則是U.Boot除了支持PowerPC系列的處理器外,還能 支持MIPS、x86、ARM、N10S、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正 是U—Boo圭項隧的開(kāi)發(fā)匿標,馨支持盡可能多的嵌入式處理器和嵌入式操彳乍系統。
   U.Boot主要目錄結構boa斑目標扳相關(guān)文件,主要收錄
SD黜M、FLASH驅動(dòng) common獨立于處理器體系結構的通用代碼,如內存大小探測與故障檢測 cpu與處理器相關(guān)的文件。如mpc8)()(予目錄下含串口、網(wǎng)口、LCD驅動(dòng) 及中斷初始化等文件 examples可在U.Boot下運行的示例程序;如helloworld.c,timer.cincl硼e U.Bo桃頭文件;尤其con蠡gs子匿錄下與基標板相關(guān)的配置頭文件是 移植過(guò)程中經(jīng)常要修改的文件 lib-xXX處理器體系相關(guān)的文件,如lib_ppc,lib-燃目錄分別收錄
與 PowerPC、A戳涯體系結構相關(guān)的文件 net與網(wǎng)絡(luò )功能相關(guān)的文件目錄,如bootp,nfs,t邱 posl上電魯檢文件目錄。淹有待于進(jìn)一步完善 tools用于創(chuàng )建U.Boot、S—RECORD和8鏡像文件的工具2U.Boot支持的主要功能 (1)系統引導,支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系 (2)支持NFS掛載、從FLASH中引導壓縮或非壓縮系統內核;(3)基本輔助功熊強大的操作系統接口功戇;可靈活設置、傳遞多個(gè)關(guān)鍵參數 給操作系統,適合系統在不同開(kāi)發(fā)階段的調試要求與產(chǎn)品發(fā)布,尤對Linux支持最為 強勁; (4)支持目標板環(huán)境參數多種存儲方式,如FLASH、NVRAM、?。校遥希停?(5)CRC32校驗,可校驗FLASH中內核、RAMDISK鏡像文件是否完好; (6)設備驅動(dòng)串髓、SD黜醚、F乳ASH、以太兩、己CD、NVRAM、EEPROM、 墓予Linux靜嵌入式數據采集系統軟釋設詩(shī)與實(shí)現 鍵盤(pán)、USl3I、PCMCIA、PCI、RTe等驅動(dòng)支持; (7)上電自檢功能SDRAM、FLASH大小自動(dòng)檢測;SDRAM故障檢測;CPU 型號; 3。
 ?。?。2。2U一800t移植方法及過(guò)程 u—B00t源碼相當復雜,覆蓋各種常用的目標板配置。U.Boot移植一般都是針對 嵌入式冒標板的硬件資源,主要是CpU、FLAS冀和SDRAM等情況,以盡可熊~致的 原則,在U.Boot源碼中找出一個(gè)與目標板為同一個(gè)或同一系列處理器的目標板模板, 即采用基本符合或者接近懿標板的配置目錄,移植相關(guān)的源程序。本文采用U.Bootl.1。 2版本,該版本支持基于AT9lRM9200的處理器配置,并提供一個(gè)目標板模板,即 U.Boot源碼的/board/at91蝴9200dk目錄。與目標板模板相比,本系統中有部分硬件 器件不同如表3。l新示,因此需要針對硬件傲相應的修改。 表3.1本系統與目標板模板用到的不同硬件資源 基于本系統的硬件,先在U.Boot源代碼的/bor彭at9l懿睨00霉錄中修改或添加如 下源碼文件: (1)重寫(xiě)FLAS囂的設備控制程序爨as魏.c。U國。跌讀、寫(xiě)和刪除Fl鑫建設備的源代 碼文件,由于在不同的目標板中FLASH存儲器種類(lèi)各不相同,參照Am29LV320D的 datasheet重寫(xiě)FLASH的設備控制程序jflash。c,該程序完成的功能包括FLASH初始化, 打?。蹋粒樱刃畔?、FLASH擦除和FLASH寫(xiě)入等操作。
   (2)重寫(xiě)DATAFLASH的設備控制程序at45。c。 (3)添加memsetllp。s該匯編源碼文件初始純時(shí)鐘、SMC控翎器和SDRAM控制器. (4)添加網(wǎng)卡芯片CS8900A的設備控制程序cs8900a.c和cs8900a。h,程序 es8900a.c完成的功能是配置聚9l蕊9200的MDl接口以實(shí)現對雅{Y進(jìn)行控制。 (5)修改Mal(efile文件,對上述修改或添加的源代碼文件編譯后,在MakefiIe里 面主要作如下修改: OBJS:=at9lm9200dk.oat45.ocs8900a.oflash.o SOBJS:=memset up.o (6)U.800{。Lds,設黌U.Boot中各個(gè)西標文件盼連接地址,其縫基本不終修改。 (7)config.Mk,根據目標板的~級boot來(lái)修改,修改后TEXTBASE=Ox2lfloooo。 其次,修改囂錄泌el砸ee越gs的頭文件a19l灘92dk.H,根據目標板的資源配置, 修改內容包括CPU、系統時(shí)鐘、RAM、Flash等配置信息以及內存映射相關(guān)參數。該頭 文件還定義了U.Boot的一些環(huán)境變量和內核啟動(dòng)參數??稍冢眨拢铮铮魡?dòng)后通過(guò)setenv 和s鰣eenv命令修改。
 ?。眨拢铮铮簦玻保保舶姹緦ε梗炫矗梗玻埃疤幚砥魈峁┝己玫闹С?,因此對于目錄/cp彬at9lm9200中的源碼基本不做修改。 最后,在U2Boot21.1.2的Makefile中加入如下代碼: 羽l式玨9200噬-co熊g:鼬n鑫g畫(huà)嫩eon堍¥(@jon蠡g=),黜at91蕊920Q /at91rm9200dk 其中, “a潮"是CPU的種類(lèi),拳9l強9200是A姒CPU對應的代碼量錄, at91蝴9200dk是目標板對應的目錄。 在主機上運行redhat9.OLinuX操作系統,編譯移植后的U.Boot源代碼,生成的 U—Boot島in是二進(jìn)制bin文件,純粹的U.Boot二進(jìn)制執行代碼,不保存ELF格式和調試 信息。主機通過(guò)JTAG口將U.Boot.bin下載到目標板的FLASH,目標板復位后運行 U.B墳。如果運行正常,就會(huì )從終端返回,如圖3。l所示。 豳3.1 u咱oot引導扁動(dòng)信息 此時(shí)在U.Boot命令模式下可做進(jìn)一步測試,設置系統啟動(dòng)的環(huán)境變量,并在主機 啟動(dòng)邗醒服務(wù)器,用交叉網(wǎng)線(xiàn)連接主機和目標板,將準備好的LinuX內核映像文件 kemel和文件系統映像文件r鋤disk2一mk7分別下載到SDRAM中正確的地址空間。
  如 果一切運行正常,就可以在冒標板上開(kāi)始刪毛i蘸玨x系統的調試。 3。2創(chuàng )建文件系統 3.2.1文件系統簡(jiǎn)介 許多嵌入式系統沒(méi)有磁盤(pán)或者文件系統,Linux不需要它們也能運行。在這種 情況下,應用程序任務(wù)可以和內核一起編寫(xiě),并且在引導時(shí)作為一個(gè)映像加載。 對于簡(jiǎn)單的系統來(lái)說(shuō),這足夠了,但是缺乏靈活性。實(shí)際上,許多商業(yè)性嵌入式 操作系統,提供文件系統作為選項。Linux提供MS.DOS.Compatible以及其他功 能更強大的文件系統。 文件系統可以被放在傳統的磁盤(pán)驅動(dòng)器、FlashMemory或其他這類(lèi)的介質(zhì)上, 如果用于暫時(shí)保存文件,一個(gè)?。遥粒捅P(pán)就足夠了。FlashMemog通常是這樣保 基予Linux的嵌入式數據袋集系統軟佟設詩(shī)與實(shí)琨 存文件系統的,FlashMemory被分割成塊,其中有~塊是當CPU盛動(dòng)運行時(shí)的引 導塊,里面存放Linux引導代碼,剩余的Flash可以用來(lái)存放文件系統。Linux內 核有兩種加載方式:一是把內核的可執行映像存儲到Flash的一個(gè)獨立部分,系統 扁動(dòng)時(shí),從Flash的某個(gè)地址開(kāi)始逐旬執行;另一種方式是把內核的壓縮文件敖在 F1ash上,系統啟動(dòng)時(shí)通過(guò)引導代碼把內核壓縮文件從Flash復制到RAM里,解 篷執行。
  因先RAM懿存取速度快予Flash,所以惹一種方式旋運行速度更快一些, 標準Linux就是采用這種方式【3孫。 創(chuàng )建文件系統主要是基于兩個(gè)方面的原因133】:首先,現有Linux文件系統全 集實(shí)在太大,不可能把上酉兆的文件系統下載到嵌入式系統上;其次,要改寫(xiě)現 有Linux文件系統中的配置文件以滿(mǎn)足應用程序的要求?!珎€(gè)根文件系統必須包 含對于支持一個(gè)完整的Li懿馘系統所必須的所有內容,如Li娃較x內核、驅動(dòng)程序、 相關(guān)的設備以及相關(guān)的配置文件等等。 最小嵌入式Li瓣濺根文件系統必須收錄
以下幾部分: (1)基本的文件系統結構: (2)最小的目錄集:/dev,/proc,/bin,/etc,/lib,/usr,觸np; (3)基本的命令集:sh,ls,cp,etc; (4)最小的配鼴文件集:i舭ab,fStab,etc; (6)相關(guān)的動(dòng)態(tài)鏈接庫。3.2.2在Flash上實(shí)現根文件系統 1建立相關(guān)的目錄 注意這些冒錄靜名字要與己i蘸馘文件系統原來(lái)的相同。因為Li致ux的鬣置文 件中涉及到的目錄,這些目錄名是固定的,如果更改了,系統可能找不到自己需 要的東西麗不能正確執行。這些目錄包括【34】/約ot, /bill,/sbin,愆ev,/或c,mb, /mnt,/proc,/mp,/usr。
   2將需要的文件拷貝到相關(guān)的目錄下 文件系統各兩錄的內容如下瑟碡l: (1)/root 系統窟動(dòng)文件,內核在其中。該謦錄需要雹含boo{。b,Syste撒.m神和bzl掰agea。 boot.b:合并System.map和bzImage的文件 System。map:與內核映象有關(guān)的函數定位信息 bzlmage:重要的內核映像 (2)/bin 曩錄下收錄
了常用的用戶(hù)命令,主要寄:ea專(zhuān),ehmod,b鑫sll,d臻e,盤(pán),lo西玨,

分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 241 次瀏覽 ? 2022-11-30 12:24 ? 來(lái)自相關(guān)話(huà)題

  分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!
  文章采集器請采用mac自帶的requests采集器。另外這里推薦一下這位大神@sherryli,她寫(xiě)了一系列采集網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏。1.爬取網(wǎng)易云音樂(lè )歌詞查詢(xún)頁(yè)代碼格式:/[歌詞]/g[參數]/content(無(wú)參數說(shuō)明:代表最新/已有/upgrade網(wǎng)易云用戶(hù)用戶(hù)名。有參數說(shuō)明:需要參數的歌詞。
 ?。┪业母柙~存儲路徑:/[歌詞]//[歌詞]/[ad'm歌詞]>{[你想要顯示的歌詞]}:path='/[歌詞]/ad'meta='hello'filename='m.py'url_count=''min_words=10headers={'user-agent':'mozilla/5.0(macintosh;intelmacosx10_10_。
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}最后一行是爬取url的個(gè)數,輸入url就能遍歷歌詞信息,并從中返回結果:歌詞信息主要由歌詞、評論、歌曲id構成。歌詞:link的文本,包含歌曲名、作者名、歌詞翻譯、歌詞所在音樂(lè )下載、歌詞內容等;評論:link的文本,包含歌曲名、作者名、評論內容、作者簡(jiǎn)介等;歌曲id:歌曲id,是評論正文第一個(gè)字母的后三位;歌曲詳情:link(歌曲id)+歌曲簡(jiǎn)介。字符串中的第一個(gè)字符一般是空格,也可以使用tab屬性指定單元格空格的寬度。
  所以,我們可以通過(guò)定義遍歷每個(gè)字符串,然后遍歷評論,
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}urls=[''.join(requests.get(url,headers=headers),
  1)forurlinurls]print(headers)res=requests。get(url,headers=headers)soup=beautifulsoup(res。text,'lxml')foriinsoup。find_all('a',class_='special'):item=item[0]embed_text=str(item[1])+'|'print(embed_text)print(''。
  join(embed_text))print('\n'。join(embed_text))mutate={'embed_text':embed_text,'person':''。join((embed_text,text))}forpersoninmutate:person_text=''。join((embed_text,text))print(person_text)formutationinmutate:person_name=mutate[0]person_choice=m。 查看全部

  分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!
  文章采集請采用mac自帶的requests采集器。另外這里推薦一下這位大神@sherryli,她寫(xiě)了一系列采集網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏。1.爬取網(wǎng)易云音樂(lè )歌詞查詢(xún)頁(yè)代碼格式:/[歌詞]/g[參數]/content(無(wú)參數說(shuō)明:代表最新/已有/upgrade網(wǎng)易云用戶(hù)用戶(hù)名。有參數說(shuō)明:需要參數的歌詞。
 ?。┪业母柙~存儲路徑:/[歌詞]//[歌詞]/[ad'm歌詞]>{[你想要顯示的歌詞]}:path='/[歌詞]/ad'meta='hello'filename='m.py'url_count=''min_words=10headers={'user-agent':'mozilla/5.0(macintosh;intelmacosx10_10_。
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}最后一行是爬取url的個(gè)數,輸入url就能遍歷歌詞信息,并從中返回結果:歌詞信息主要由歌詞、評論、歌曲id構成。歌詞:link的文本,包含歌曲名、作者名、歌詞翻譯、歌詞所在音樂(lè )下載、歌詞內容等;評論:link的文本,包含歌曲名、作者名、評論內容、作者簡(jiǎn)介等;歌曲id:歌曲id,是評論正文第一個(gè)字母的后三位;歌曲詳情:link(歌曲id)+歌曲簡(jiǎn)介。字符串中的第一個(gè)字符一般是空格,也可以使用tab屬性指定單元格空格的寬度。
  所以,我們可以通過(guò)定義遍歷每個(gè)字符串,然后遍歷評論,
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}urls=[''.join(requests.get(url,headers=headers),
  1)forurlinurls]print(headers)res=requests。get(url,headers=headers)soup=beautifulsoup(res。text,'lxml')foriinsoup。find_all('a',class_='special'):item=item[0]embed_text=str(item[1])+'|'print(embed_text)print(''。
  join(embed_text))print('\n'。join(embed_text))mutate={'embed_text':embed_text,'person':''。join((embed_text,text))}forpersoninmutate:person_text=''。join((embed_text,text))print(person_text)formutationinmutate:person_name=mutate[0]person_choice=m。

詳細分析:監控Kubernetes APIServer,講解最透的文章

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 149 次瀏覽 ? 2022-11-30 10:40 ? 來(lái)自相關(guān)話(huà)題

  詳細分析:監控Kubernetes APIServer,講解最透的文章
  寫(xiě)在前面
  如果使用公有云托管的Kubernetes集群,控制面的組件全部由云廠(chǎng)商托管,那么作為客戶(hù)的我們就省事了,基本不用擔心APIServer的運維問(wèn)題。我個(gè)人也比較推薦使用云廠(chǎng)商的服務(wù)。畢竟 Kubernetes 還是有點(diǎn)復雜,升級也不是那么容易。我們自己維護整個(gè)集群,性?xún)r(jià)比有點(diǎn)低。當然,如果我們因為各種原因還是要維護控制面的組件,那我們還是好好看看這個(gè)系列接下來(lái)的幾篇博文吧。
  黑盒測試
  APIServer在Kubernetes架構中非常核心,是所有API的入口。APIServer 還公開(kāi)指標數據。讓我們試著(zhù)得到它:
  [root@tt-fc-dev01.nj etcd]# ss -tlpn|grep apiserver<br />LISTEN 0 128 *:6443 *:* users:(("kube-apiserver",pid=164445,fd=7))<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s http://localhost:6443/metrics<br />Client sent an HTTP request to an HTTPS server.<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s -k https://localhost:6443/metrics<br />{<br /> "kind": "Status",<br /> "apiVersion": "v1",<br /> "metadata": {},<br /> "status": "Failure",<br /> "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",<br /> "reason": "Forbidden",<br /> "details": {},<br /> "code": 403<br />}<br />
  解釋上面的命令和結果。首先我通過(guò)ss命令查看了apiserver模塊監聽(tīng)了哪些端口,發(fā)現進(jìn)程監聽(tīng)的是6443端口,然后用curl命令請求6443的metrics接口,結果發(fā)現這是一個(gè)HTTPS服務(wù)器,不能用HTTP協(xié)議請求。ok,那我用HTTPS協(xié)議請求,自簽名證書(shū),加上-k參數,返回Forbidden,說(shuō)我無(wú)權訪(fǎng)問(wèn)/metrics接口。OK,看來(lái)需要Token認證,我們創(chuàng )建一個(gè)相關(guān)的ServiceAccount吧。
  準備認證資料
  以下內容可以保存為auth-server.yaml。
  ---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRole<br />metadata:<br /> name: categraf<br />rules:<br /> - apiGroups: [""]<br /> resources:<br /> - nodes<br /> - nodes/metrics<br /> - nodes/stats<br /> - nodes/proxy<br /> - services<br /> - endpoints<br /> - pods<br /> verbs: ["get", "list", "watch"]<br /> - apiGroups:<br /> - extensions<br /> - networking.k8s.io<br /> resources:<br /> - ingresses<br /> verbs: ["get", "list", "watch"]<br /> - nonResourceURLs: ["/metrics", "/metrics/cadvisor"]<br /> verbs: ["get"]<br />---<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> name: categraf<br /> namespace: flashcat<br />---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRoleBinding<br />metadata:<br /> name: categraf<br />roleRef:<br /> apiGroup: rbac.authorization.k8s.io<br /> kind: ClusterRole<br /> name: categraf<br />subjects:<br />- kind: ServiceAccount<br /> name: categraf<br /> namespace: flashcat<br />
  在上一節《Kubernetes監控手冊05-監控Kubelet》中,我們?yōu)閐aemonset創(chuàng )建了鑒權信息,主要用于調用kubelet的接口。但是這次我們要調用apiserver接口,所以加了一些權限點(diǎn)。當然,上面例子yaml給的權限點(diǎn)有點(diǎn)多,沒(méi)關(guān)系,反正都是只讀的,以后需要其他權限的時(shí)候,保存新建ServiceAccount。與上一講相比,這次ServiceAccount的名稱(chēng)改為categraf,與上一講使用的ServiceAccount不同。
  通過(guò)以下命令創(chuàng )建相關(guān)內容,然后查看是否創(chuàng )建成功:
  [root@tt-fc-dev01.nj yamls]# kubectl apply -f auth-server.yaml -n flashcat<br />clusterrole.rbac.authorization.k8s.io/categraf unchanged<br />serviceaccount/categraf unchanged<br />clusterrolebinding.rbac.authorization.k8s.io/categraf unchanged<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat<br />NAME SECRETS AGE<br />categraf 1 7h13m<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat -o yaml<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> annotations:<br /> kubectl.kubernetes.io/last-applied-configuration: |<br /> {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"categraf","namespace":"flashcat"}}<br /> creationTimestamp: "2022-11-28T05:00:17Z"<br /> name: categraf<br /> namespace: flashcat<br /> resourceVersion: "127151612"<br /> uid: 8b473b31-ce09-4abe-ae55-ea799160a9d5<br />secrets:<br />- name: categraf-token-6whbs<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get secret categraf-token-6whbs -n flashcat<br />NAME TYPE DATA AGE<br />categraf-token-6whbs kubernetes.io/service-account-token 3 7h15m<br />
  
  在上面的例子中,因為我之前創(chuàng )建過(guò),所以顯示為未更改。獲取sa的時(shí)候可以看到AGE已經(jīng)超過(guò)七個(gè)小時(shí)了。通過(guò)-o yaml可以看到sa對應的secret的名稱(chēng)。在最后一行,您可以看到秘密名稱(chēng)是 categraf-token-6whbs。然后我們使用這個(gè)秘密中的令牌來(lái)調用 APIServer 并嘗試:
  [root@tt-fc-dev01.nj yamls]# token=`kubectl get secret categraf-token-6whbs -n flashcat -o jsonpath={.data.token} | base64 -d`<br />[root@tt-fc-dev01.nj yamls]# curl -s -k -H "Authorization: Bearer $token" https://localhost:6443/metrics > metrics<br />[root@tt-fc-dev01.nj yamls]# head -n 6 metrics<br /># HELP aggregator_openapi_v2_regeneration_count [ALPHA] Counter of OpenAPI v2 spec regeneration count broken down by causing APIService name and reason.<br /># TYPE aggregator_openapi_v2_regeneration_count counter<br />aggregator_openapi_v2_regeneration_count{apiservice="*",reason="startup"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="k8s_internal_local_delegation_chain_0000000002",reason="update"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="add"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="update"} 0<br />
  OK,這個(gè)新的Token可以拿到數據了,權限認證通過(guò)。
  采集原理
  既然Token已經(jīng)存在,那么采集器在抓取APIServer的數據時(shí),理論上只需要在Header中傳入Token就可以拿到數據了。如果APIServer是以二進(jìn)制方式部署的,我們可以直接通過(guò)Categraf的Prometheus插件來(lái)抓取。如果APIServer部署在Kubernetes容器中,我們最好使用服務(wù)發(fā)現機制來(lái)做。
  支持 Kubernetes 服務(wù)發(fā)現的代理有很多,但最正宗的還是 Prometheus 本身。Prometheus新版本(v2.32.0)支持代理模式模式,即使用Prometheus進(jìn)程作為采集
器代理。采集數據后,通過(guò)remote write的方式發(fā)送到中心(這里使用早就準備好的Nightingale作為數據接收服務(wù)器)。那么這里我使用Prometheus的代理模式來(lái)采集
APIServer。
  部署代理模式prometheus
  首先準備Prometheus agent需要的配置文件,我們做一個(gè)ConfigMap:
  apiVersion: v1<br />kind: ConfigMap<br />metadata:<br /> name: prometheus-agent-conf<br /> labels:<br /> name: prometheus-agent-conf<br /> namespace: flashcat<br />data:<br /> prometheus.yml: |-<br /> global:<br /> scrape_interval: 15s<br /> evaluation_interval: 15s<br /> scrape_configs:<br /> - job_name: 'apiserver'<br /> kubernetes_sd_configs:<br /> - role: endpoints<br /> scheme: https<br /> tls_config:<br /> ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt<br /> bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token<br /> relabel_configs:<br /> - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]<br /> action: keep<br /> regex: default;kubernetes;https<br /> remote_write:<br /> - url: 'http://10.206.0.16:19000/prometheus/v1/write' <br />
  可以將以上內容保存為prometheus-agent-configmap.yaml,然后使用kubectl -f prometheus-agent-configmap.yaml創(chuàng )建。
  配置完成后,我們就可以在下面部署Prometheus了。要使用 Prometheus 進(jìn)程作為代理,我們需要啟用此功能??梢酝ㄟ^(guò)命令行參數 --enable-feature=agent 輕松啟用。我們使用agent模式方式將Prometheus部署為一個(gè)單副本的Deployment。
  apiVersion: apps/v1<br />kind: Deployment<br />metadata:<br /> name: prometheus-agent<br /> namespace: flashcat<br /> labels:<br /> app: prometheus-agent<br />spec:<br /> replicas: 1<br /> selector:<br /> matchLabels:<br /> app: prometheus-agent<br /> template:<br /> metadata:<br /> labels:<br /> app: prometheus-agent<br /> spec:<br /> serviceAccountName: categraf<br /> containers:<br /> - name: prometheus<br /> image: prom/prometheus<br /> args:<br /> - "--config.file=/etc/prometheus/prometheus.yml"<br /> - "--web.enable-lifecycle"<br /> - "--enable-feature=agent"<br /> ports:<br /> - containerPort: 9090<br /> resources:<br /> requests:<br /> cpu: 500m<br /> memory: 500M<br /> limits:<br /> cpu: 1<br /> memory: 1Gi<br /> volumeMounts:<br /> - name: prometheus-config-volume<br /> mountPath: /etc/prometheus/<br /> - name: prometheus-storage-volume<br /> mountPath: /prometheus/<br /> volumes:<br /> - name: prometheus-config-volume<br /> configMap:<br /> defaultMode: 420<br /> name: prometheus-agent-conf<br /> - name: prometheus-storage-volume<br /> emptyDir: {}<br />
  
  請特別注意行 serviceAccountName: categraf。別忘了將上面的yaml內容保存為prometheus-agent-deployment.yaml,然后應用:
  [work@tt-fc-dev01.nj yamls]$ kubectl apply -f prometheus-agent-deployment.yaml<br />deployment.apps/prometheus-agent created<br />
  您可以通過(guò) kubectl 日志
  -n flashcat 查看剛剛創(chuàng )建的prometheus-agent-xx的Pod的log,如果沒(méi)有報錯,理論上沒(méi)有大問(wèn)題。
  查看監控數據
  查看實(shí)時(shí)查詢(xún)中的apiserver_request_total指標。如果能找到,說(shuō)明數據上報正常??罪w老師之前整理過(guò)Nightingale的Kubernetes/Apiserver監控dashboard,大家可以導入測試。地址在這里。效果如下:
  另外,孔飛老師還整理了Apiserver的關(guān)鍵指標含義,我也扒了扒:
  # HELP apiserver_request_duration_seconds [STABLE] Response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.<br /># TYPE apiserver_request_duration_seconds histogram<br />apiserver響應的時(shí)間分布,按照url 和 verb 分類(lèi)<br />一般按照instance和verb+時(shí)間 匯聚<br /><br /># HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.<br /># TYPE apiserver_request_total counter<br />apiserver的請求總數,按照verb、 version、 group、resource、scope、component、 http返回碼分類(lèi)統計<br /><br /># HELP apiserver_current_inflight_requests [STABLE] Maximal number of currently used inflight request limit of this apiserver per request kind in last second.<br /># TYPE apiserver_current_inflight_requests gauge<br />最大并發(fā)請求數, 按mutating(非get list watch的請求)和readOnly(get list watch)分別限制<br />超過(guò)max-requests-inflight(默認值400)和max-mutating-requests-inflight(默認200)的請求會(huì )被限流<br />apiserver變更時(shí)要注意觀(guān)察,也是反饋集群容量的一個(gè)重要指標<br /><br /># HELP apiserver_response_sizes [STABLE] Response size distribution in bytes for each group, version, verb, resource, subresource, scope and component.<br /># TYPE apiserver_response_sizes histogram<br />apiserver 響應大小,單位byte, 按照verb、 version、 group、resource、scope、component分類(lèi)統計<br /><br /># HELP watch_cache_capacity [ALPHA] Total capacity of watch cache broken by resource type.<br /># TYPE watch_cache_capacity gauge<br />按照資源類(lèi)型統計的watch緩存大小<br /><br /># HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.<br /># TYPE process_cpu_seconds_total counter<br />每秒鐘用戶(hù)態(tài)和系統態(tài)cpu消耗時(shí)間, 計算apiserver進(jìn)程的cpu的使用率<br /><br /># HELP process_resident_memory_bytes Resident memory size in bytes.<br /># TYPE process_resident_memory_bytes gauge<br />apiserver的內存使用量(單位:Byte)<br /><br /># HELP workqueue_adds_total [ALPHA] Total number of adds handled by workqueue<br /># TYPE workqueue_adds_total counter<br />apiserver中包含的controller的工作隊列,已處理的任務(wù)總數<br /><br /># HELP workqueue_depth [ALPHA] Current depth of workqueue<br /># TYPE workqueue_depth gauge<br />apiserver中包含的controller的工作隊列深度,表示當前隊列中要處理的任務(wù)的數量,數值越小越好 <br />例如APIServiceRegistrationController admission_quota_controller<br />
  關(guān)于作者的相關(guān)文章
  本文作者秦曉暉是Flashcat的合伙人。本文內容是Flashcat技術(shù)團隊共同沉淀的結晶。作者進(jìn)行了編輯整理。我們會(huì )持續輸出監控和維保相關(guān)的技術(shù)文章。技術(shù)人員的結果。
  如果你對Nightingale、Categraf、Prometheus等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)加入部落,與社區同仁共同探討監控技術(shù)。
  解讀:搜索引擎判斷文章是否為原創(chuàng )的方法是什么?
  簡(jiǎn)述:在這個(gè)內容為王的時(shí)代,最感人的莫過(guò)于原創(chuàng )文章對一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。雖然我們知道原創(chuàng )文章的重要性,但是大家也都知道一篇文章和兩篇原創(chuàng )文章
  在這個(gè)內容為王的時(shí)代,最讓人感動(dòng)的莫過(guò)于原創(chuàng )文章對于一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。
  雖然我們知道原創(chuàng )文章的重要性,但大家也都知道,一兩篇原創(chuàng )文章問(wèn)題不大。網(wǎng)站文章的原創(chuàng )性是很難長(cháng)期保持的,除非那些大站長(cháng)的下屬有一批專(zhuān)職的撰稿人或編輯。那么沒(méi)有這樣優(yōu)厚條件的站長(cháng)怎么辦呢?只能是偽原創(chuàng )和抄襲。
  但是偽原創(chuàng )和抄襲的方法真的有用嗎?今天濟南東商資訊就來(lái)和大家分享一下搜索引擎判斷重復內容的知識: 問(wèn)題一:搜索引擎是如何判斷重復內容的?1、一般的基本判斷原則是逐頁(yè)比對數字指紋。這種方法雖然可以找到一些重復的內容,但是缺點(diǎn)是需要消耗大量的資源,而且運行速度慢,效率低。
  
  2. 基于全局特征的I-Match 該算法的原理是對所有出現在文本中的詞進(jìn)行排序,然后再進(jìn)行評分。目的是刪除文中不相關(guān)的關(guān)鍵詞,保留重要的關(guān)鍵詞。該方法去重效果高,效果明顯。
  比如我們在偽原創(chuàng )的時(shí)候可能會(huì )交換文章的文字和段落。這種方法根本騙不了I-Match算法,依然會(huì )判斷重復。
  3.如果基于停用詞的Spotsig文檔中使用了大量的停用詞,如語(yǔ)氣詞、副詞、介詞、連詞等,這些都會(huì )干擾有效信息,搜索引擎在去重時(shí)會(huì )處理這些停用詞。先做刪除,再做文檔匹配。因此,我們在做優(yōu)化時(shí)不妨降低停用詞出現頻率,增加頁(yè)面關(guān)鍵詞密度,更有利于搜索引擎抓取。
  4、基于多重Hash的Simhash算法涉及到幾何原理,解釋起來(lái)比較困難。簡(jiǎn)單地說(shuō),相似的文本具有相似的哈希值。如果兩個(gè)文本的 simhash 越接近,即漢明距離越小,則文本越相似。因此,海量文本查重任務(wù)轉化為如何快速判斷海量simhash中是否存在海明距離小的指紋。
  我們只需要知道,通過(guò)這種算法,搜索引擎可以在極短的時(shí)間內對大型網(wǎng)頁(yè)進(jìn)行近似的重復檢查。目前,該算法在識別效果和查重效率上互為補充。
  問(wèn)題二、重復內容在搜索引擎眼中有哪些表現形式?1.形式和內容相似。這種情況在電子商務(wù)網(wǎng)站上比較常見(jiàn),盜圖現象比比皆是。
  
  2.只是格式相似。3.只是內容相似。
  4.格式和內容部分相似。這種情況通常比較常見(jiàn),尤其是企業(yè)類(lèi)網(wǎng)站。
  問(wèn)題 3. 為什么搜索引擎會(huì )積極處理重復內容?1. 節省抓取、索引和分析內容的空間和時(shí)間。一句話(huà),搜索引擎的資源是有限的,但用戶(hù)的需求是無(wú)限的。. 大量的重復內容消耗了搜索引擎的寶貴資源,所以從成本的角度來(lái)說(shuō),必須對重復內容進(jìn)行處理。
  2. 有助于避免重復采集
重復內容。從識別采集的內容中歸納出最符合用戶(hù)查詢(xún)意圖的信息,既可以提高效率,又可以避免重復采集重復的內容。3、重復的頻率可以作為判斷優(yōu)秀內容的標準。搜索引擎既然可以識別出重復的內容,當然可以更有效地識別出哪些內容是原創(chuàng )的、高質(zhì)量的。重復頻率越低,文章原創(chuàng )內容的質(zhì)量就越高。高的。
  4、提升用戶(hù)體驗 其實(shí)這也是搜索引擎最看重的一點(diǎn)。只有妥善處理重復內容,將更有用的信息呈現給用戶(hù),用戶(hù)才能購買(mǎi)。 查看全部

  詳細分析:監控Kubernetes APIServer,講解最透的文章
  寫(xiě)在前面
  如果使用公有云托管的Kubernetes集群,控制面的組件全部由云廠(chǎng)商托管,那么作為客戶(hù)的我們就省事了,基本不用擔心APIServer的運維問(wèn)題。我個(gè)人也比較推薦使用云廠(chǎng)商的服務(wù)。畢竟 Kubernetes 還是有點(diǎn)復雜,升級也不是那么容易。我們自己維護整個(gè)集群,性?xún)r(jià)比有點(diǎn)低。當然,如果我們因為各種原因還是要維護控制面的組件,那我們還是好好看看這個(gè)系列接下來(lái)的幾篇博文吧。
  黑盒測試
  APIServer在Kubernetes架構中非常核心,是所有API的入口。APIServer 還公開(kāi)指標數據。讓我們試著(zhù)得到它:
  [root@tt-fc-dev01.nj etcd]# ss -tlpn|grep apiserver<br />LISTEN 0 128 *:6443 *:* users:(("kube-apiserver",pid=164445,fd=7))<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s http://localhost:6443/metrics<br />Client sent an HTTP request to an HTTPS server.<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s -k https://localhost:6443/metrics<br />{<br /> "kind": "Status",<br /> "apiVersion": "v1",<br /> "metadata": {},<br /> "status": "Failure",<br /> "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",<br /> "reason": "Forbidden",<br /> "details": {},<br /> "code": 403<br />}<br />
  解釋上面的命令和結果。首先我通過(guò)ss命令查看了apiserver模塊監聽(tīng)了哪些端口,發(fā)現進(jìn)程監聽(tīng)的是6443端口,然后用curl命令請求6443的metrics接口,結果發(fā)現這是一個(gè)HTTPS服務(wù)器,不能用HTTP協(xié)議請求。ok,那我用HTTPS協(xié)議請求,自簽名證書(shū),加上-k參數,返回Forbidden,說(shuō)我無(wú)權訪(fǎng)問(wèn)/metrics接口。OK,看來(lái)需要Token認證,我們創(chuàng )建一個(gè)相關(guān)的ServiceAccount吧。
  準備認證資料
  以下內容可以保存為auth-server.yaml。
  ---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRole<br />metadata:<br /> name: categraf<br />rules:<br /> - apiGroups: [""]<br /> resources:<br /> - nodes<br /> - nodes/metrics<br /> - nodes/stats<br /> - nodes/proxy<br /> - services<br /> - endpoints<br /> - pods<br /> verbs: ["get", "list", "watch"]<br /> - apiGroups:<br /> - extensions<br /> - networking.k8s.io<br /> resources:<br /> - ingresses<br /> verbs: ["get", "list", "watch"]<br /> - nonResourceURLs: ["/metrics", "/metrics/cadvisor"]<br /> verbs: ["get"]<br />---<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> name: categraf<br /> namespace: flashcat<br />---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRoleBinding<br />metadata:<br /> name: categraf<br />roleRef:<br /> apiGroup: rbac.authorization.k8s.io<br /> kind: ClusterRole<br /> name: categraf<br />subjects:<br />- kind: ServiceAccount<br /> name: categraf<br /> namespace: flashcat<br />
  在上一節《Kubernetes監控手冊05-監控Kubelet》中,我們?yōu)閐aemonset創(chuàng )建了鑒權信息,主要用于調用kubelet的接口。但是這次我們要調用apiserver接口,所以加了一些權限點(diǎn)。當然,上面例子yaml給的權限點(diǎn)有點(diǎn)多,沒(méi)關(guān)系,反正都是只讀的,以后需要其他權限的時(shí)候,保存新建ServiceAccount。與上一講相比,這次ServiceAccount的名稱(chēng)改為categraf,與上一講使用的ServiceAccount不同。
  通過(guò)以下命令創(chuàng )建相關(guān)內容,然后查看是否創(chuàng )建成功:
  [root@tt-fc-dev01.nj yamls]# kubectl apply -f auth-server.yaml -n flashcat<br />clusterrole.rbac.authorization.k8s.io/categraf unchanged<br />serviceaccount/categraf unchanged<br />clusterrolebinding.rbac.authorization.k8s.io/categraf unchanged<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat<br />NAME SECRETS AGE<br />categraf 1 7h13m<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat -o yaml<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> annotations:<br /> kubectl.kubernetes.io/last-applied-configuration: |<br /> {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"categraf","namespace":"flashcat"}}<br /> creationTimestamp: "2022-11-28T05:00:17Z"<br /> name: categraf<br /> namespace: flashcat<br /> resourceVersion: "127151612"<br /> uid: 8b473b31-ce09-4abe-ae55-ea799160a9d5<br />secrets:<br />- name: categraf-token-6whbs<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get secret categraf-token-6whbs -n flashcat<br />NAME TYPE DATA AGE<br />categraf-token-6whbs kubernetes.io/service-account-token 3 7h15m<br />
  
  在上面的例子中,因為我之前創(chuàng )建過(guò),所以顯示為未更改。獲取sa的時(shí)候可以看到AGE已經(jīng)超過(guò)七個(gè)小時(shí)了。通過(guò)-o yaml可以看到sa對應的secret的名稱(chēng)。在最后一行,您可以看到秘密名稱(chēng)是 categraf-token-6whbs。然后我們使用這個(gè)秘密中的令牌來(lái)調用 APIServer 并嘗試:
  [root@tt-fc-dev01.nj yamls]# token=`kubectl get secret categraf-token-6whbs -n flashcat -o jsonpath={.data.token} | base64 -d`<br />[root@tt-fc-dev01.nj yamls]# curl -s -k -H "Authorization: Bearer $token" https://localhost:6443/metrics > metrics<br />[root@tt-fc-dev01.nj yamls]# head -n 6 metrics<br /># HELP aggregator_openapi_v2_regeneration_count [ALPHA] Counter of OpenAPI v2 spec regeneration count broken down by causing APIService name and reason.<br /># TYPE aggregator_openapi_v2_regeneration_count counter<br />aggregator_openapi_v2_regeneration_count{apiservice="*",reason="startup"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="k8s_internal_local_delegation_chain_0000000002",reason="update"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="add"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="update"} 0<br />
  OK,這個(gè)新的Token可以拿到數據了,權限認證通過(guò)。
  采集原理
  既然Token已經(jīng)存在,那么采集器在抓取APIServer的數據時(shí),理論上只需要在Header中傳入Token就可以拿到數據了。如果APIServer是以二進(jìn)制方式部署的,我們可以直接通過(guò)Categraf的Prometheus插件來(lái)抓取。如果APIServer部署在Kubernetes容器中,我們最好使用服務(wù)發(fā)現機制來(lái)做。
  支持 Kubernetes 服務(wù)發(fā)現的代理有很多,但最正宗的還是 Prometheus 本身。Prometheus新版本(v2.32.0)支持代理模式模式,即使用Prometheus進(jìn)程作為采集
器代理。采集數據后,通過(guò)remote write的方式發(fā)送到中心(這里使用早就準備好的Nightingale作為數據接收服務(wù)器)。那么這里我使用Prometheus的代理模式來(lái)采集
APIServer。
  部署代理模式prometheus
  首先準備Prometheus agent需要的配置文件,我們做一個(gè)ConfigMap:
  apiVersion: v1<br />kind: ConfigMap<br />metadata:<br /> name: prometheus-agent-conf<br /> labels:<br /> name: prometheus-agent-conf<br /> namespace: flashcat<br />data:<br /> prometheus.yml: |-<br /> global:<br /> scrape_interval: 15s<br /> evaluation_interval: 15s<br /> scrape_configs:<br /> - job_name: 'apiserver'<br /> kubernetes_sd_configs:<br /> - role: endpoints<br /> scheme: https<br /> tls_config:<br /> ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt<br /> bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token<br /> relabel_configs:<br /> - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]<br /> action: keep<br /> regex: default;kubernetes;https<br /> remote_write:<br /> - url: 'http://10.206.0.16:19000/prometheus/v1/write' <br />
  可以將以上內容保存為prometheus-agent-configmap.yaml,然后使用kubectl -f prometheus-agent-configmap.yaml創(chuàng )建。
  配置完成后,我們就可以在下面部署Prometheus了。要使用 Prometheus 進(jìn)程作為代理,我們需要啟用此功能??梢酝ㄟ^(guò)命令行參數 --enable-feature=agent 輕松啟用。我們使用agent模式方式將Prometheus部署為一個(gè)單副本的Deployment。
  apiVersion: apps/v1<br />kind: Deployment<br />metadata:<br /> name: prometheus-agent<br /> namespace: flashcat<br /> labels:<br /> app: prometheus-agent<br />spec:<br /> replicas: 1<br /> selector:<br /> matchLabels:<br /> app: prometheus-agent<br /> template:<br /> metadata:<br /> labels:<br /> app: prometheus-agent<br /> spec:<br /> serviceAccountName: categraf<br /> containers:<br /> - name: prometheus<br /> image: prom/prometheus<br /> args:<br /> - "--config.file=/etc/prometheus/prometheus.yml"<br /> - "--web.enable-lifecycle"<br /> - "--enable-feature=agent"<br /> ports:<br /> - containerPort: 9090<br /> resources:<br /> requests:<br /> cpu: 500m<br /> memory: 500M<br /> limits:<br /> cpu: 1<br /> memory: 1Gi<br /> volumeMounts:<br /> - name: prometheus-config-volume<br /> mountPath: /etc/prometheus/<br /> - name: prometheus-storage-volume<br /> mountPath: /prometheus/<br /> volumes:<br /> - name: prometheus-config-volume<br /> configMap:<br /> defaultMode: 420<br /> name: prometheus-agent-conf<br /> - name: prometheus-storage-volume<br /> emptyDir: {}<br />
  
  請特別注意行 serviceAccountName: categraf。別忘了將上面的yaml內容保存為prometheus-agent-deployment.yaml,然后應用:
  [work@tt-fc-dev01.nj yamls]$ kubectl apply -f prometheus-agent-deployment.yaml<br />deployment.apps/prometheus-agent created<br />
  您可以通過(guò) kubectl 日志
  -n flashcat 查看剛剛創(chuàng )建的prometheus-agent-xx的Pod的log,如果沒(méi)有報錯,理論上沒(méi)有大問(wèn)題。
  查看監控數據
  查看實(shí)時(shí)查詢(xún)中的apiserver_request_total指標。如果能找到,說(shuō)明數據上報正常??罪w老師之前整理過(guò)Nightingale的Kubernetes/Apiserver監控dashboard,大家可以導入測試。地址在這里。效果如下:
  另外,孔飛老師還整理了Apiserver的關(guān)鍵指標含義,我也扒了扒:
  # HELP apiserver_request_duration_seconds [STABLE] Response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.<br /># TYPE apiserver_request_duration_seconds histogram<br />apiserver響應的時(shí)間分布,按照url 和 verb 分類(lèi)<br />一般按照instance和verb+時(shí)間 匯聚<br /><br /># HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.<br /># TYPE apiserver_request_total counter<br />apiserver的請求總數,按照verb、 version、 group、resource、scope、component、 http返回碼分類(lèi)統計<br /><br /># HELP apiserver_current_inflight_requests [STABLE] Maximal number of currently used inflight request limit of this apiserver per request kind in last second.<br /># TYPE apiserver_current_inflight_requests gauge<br />最大并發(fā)請求數, 按mutating(非get list watch的請求)和readOnly(get list watch)分別限制<br />超過(guò)max-requests-inflight(默認值400)和max-mutating-requests-inflight(默認200)的請求會(huì )被限流<br />apiserver變更時(shí)要注意觀(guān)察,也是反饋集群容量的一個(gè)重要指標<br /><br /># HELP apiserver_response_sizes [STABLE] Response size distribution in bytes for each group, version, verb, resource, subresource, scope and component.<br /># TYPE apiserver_response_sizes histogram<br />apiserver 響應大小,單位byte, 按照verb、 version、 group、resource、scope、component分類(lèi)統計<br /><br /># HELP watch_cache_capacity [ALPHA] Total capacity of watch cache broken by resource type.<br /># TYPE watch_cache_capacity gauge<br />按照資源類(lèi)型統計的watch緩存大小<br /><br /># HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.<br /># TYPE process_cpu_seconds_total counter<br />每秒鐘用戶(hù)態(tài)和系統態(tài)cpu消耗時(shí)間, 計算apiserver進(jìn)程的cpu的使用率<br /><br /># HELP process_resident_memory_bytes Resident memory size in bytes.<br /># TYPE process_resident_memory_bytes gauge<br />apiserver的內存使用量(單位:Byte)<br /><br /># HELP workqueue_adds_total [ALPHA] Total number of adds handled by workqueue<br /># TYPE workqueue_adds_total counter<br />apiserver中包含的controller的工作隊列,已處理的任務(wù)總數<br /><br /># HELP workqueue_depth [ALPHA] Current depth of workqueue<br /># TYPE workqueue_depth gauge<br />apiserver中包含的controller的工作隊列深度,表示當前隊列中要處理的任務(wù)的數量,數值越小越好 <br />例如APIServiceRegistrationController admission_quota_controller<br />
  關(guān)于作者的相關(guān)文章
  本文作者秦曉暉是Flashcat的合伙人。本文內容是Flashcat技術(shù)團隊共同沉淀的結晶。作者進(jìn)行了編輯整理。我們會(huì )持續輸出監控和維保相關(guān)的技術(shù)文章。技術(shù)人員的結果。
  如果你對Nightingale、Categraf、Prometheus等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)加入部落,與社區同仁共同探討監控技術(shù)。
  解讀:搜索引擎判斷文章是否為原創(chuàng )的方法是什么?
  簡(jiǎn)述:在這個(gè)內容為王的時(shí)代,最感人的莫過(guò)于原創(chuàng )文章對一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。雖然我們知道原創(chuàng )文章的重要性,但是大家也都知道一篇文章和兩篇原創(chuàng )文章
  在這個(gè)內容為王的時(shí)代,最讓人感動(dòng)的莫過(guò)于原創(chuàng )文章對于一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。
  雖然我們知道原創(chuàng )文章的重要性,但大家也都知道,一兩篇原創(chuàng )文章問(wèn)題不大。網(wǎng)站文章的原創(chuàng )性是很難長(cháng)期保持的,除非那些大站長(cháng)的下屬有一批專(zhuān)職的撰稿人或編輯。那么沒(méi)有這樣優(yōu)厚條件的站長(cháng)怎么辦呢?只能是偽原創(chuàng )和抄襲。
  但是偽原創(chuàng )和抄襲的方法真的有用嗎?今天濟南東商資訊就來(lái)和大家分享一下搜索引擎判斷重復內容的知識: 問(wèn)題一:搜索引擎是如何判斷重復內容的?1、一般的基本判斷原則是逐頁(yè)比對數字指紋。這種方法雖然可以找到一些重復的內容,但是缺點(diǎn)是需要消耗大量的資源,而且運行速度慢,效率低。
  
  2. 基于全局特征的I-Match 該算法的原理是對所有出現在文本中的詞進(jìn)行排序,然后再進(jìn)行評分。目的是刪除文中不相關(guān)的關(guān)鍵詞,保留重要的關(guān)鍵詞。該方法去重效果高,效果明顯。
  比如我們在偽原創(chuàng )的時(shí)候可能會(huì )交換文章的文字和段落。這種方法根本騙不了I-Match算法,依然會(huì )判斷重復。
  3.如果基于停用詞的Spotsig文檔中使用了大量的停用詞,如語(yǔ)氣詞、副詞、介詞、連詞等,這些都會(huì )干擾有效信息,搜索引擎在去重時(shí)會(huì )處理這些停用詞。先做刪除,再做文檔匹配。因此,我們在做優(yōu)化時(shí)不妨降低停用詞出現頻率,增加頁(yè)面關(guān)鍵詞密度,更有利于搜索引擎抓取。
  4、基于多重Hash的Simhash算法涉及到幾何原理,解釋起來(lái)比較困難。簡(jiǎn)單地說(shuō),相似的文本具有相似的哈希值。如果兩個(gè)文本的 simhash 越接近,即漢明距離越小,則文本越相似。因此,海量文本查重任務(wù)轉化為如何快速判斷海量simhash中是否存在海明距離小的指紋。
  我們只需要知道,通過(guò)這種算法,搜索引擎可以在極短的時(shí)間內對大型網(wǎng)頁(yè)進(jìn)行近似的重復檢查。目前,該算法在識別效果和查重效率上互為補充。
  問(wèn)題二、重復內容在搜索引擎眼中有哪些表現形式?1.形式和內容相似。這種情況在電子商務(wù)網(wǎng)站上比較常見(jiàn),盜圖現象比比皆是。
  
  2.只是格式相似。3.只是內容相似。
  4.格式和內容部分相似。這種情況通常比較常見(jiàn),尤其是企業(yè)類(lèi)網(wǎng)站。
  問(wèn)題 3. 為什么搜索引擎會(huì )積極處理重復內容?1. 節省抓取、索引和分析內容的空間和時(shí)間。一句話(huà),搜索引擎的資源是有限的,但用戶(hù)的需求是無(wú)限的。. 大量的重復內容消耗了搜索引擎的寶貴資源,所以從成本的角度來(lái)說(shuō),必須對重復內容進(jìn)行處理。
  2. 有助于避免重復采集
重復內容。從識別采集的內容中歸納出最符合用戶(hù)查詢(xún)意圖的信息,既可以提高效率,又可以避免重復采集重復的內容。3、重復的頻率可以作為判斷優(yōu)秀內容的標準。搜索引擎既然可以識別出重復的內容,當然可以更有效地識別出哪些內容是原創(chuàng )的、高質(zhì)量的。重復頻率越低,文章原創(chuàng )內容的質(zhì)量就越高。高的。
  4、提升用戶(hù)體驗 其實(shí)這也是搜索引擎最看重的一點(diǎn)。只有妥善處理重復內容,將更有用的信息呈現給用戶(hù),用戶(hù)才能購買(mǎi)。

解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 131 次瀏覽 ? 2022-11-30 07:09 ? 來(lái)自相關(guān)話(huà)題

  解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!
  文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能:原來(lái)的機構賬號并不是每個(gè)都可以直接采集,而是有特定的和服務(wù)器賬號關(guān)聯(lián),如果你的賬號無(wú)法直接提供api服務(wù),那就無(wú)法采集,需要解決的問(wèn)題是:賬號實(shí)名,并且可以綁定多個(gè)api服務(wù);對于文章采集器,還需要支持熱文和長(cháng)期文章采集;文章采集器支持檢測文章下載地址,只有綁定了真實(shí)地址才可以直接下載,是否支持enhanced地址是與手動(dòng)模擬目標網(wǎng)址采集的方法不同的;文章采集器可以下載微信、微博、頭條等不同平臺的文章,除了采集單篇外,也支持批量整站下載;文章采集器支持多個(gè)采集器同時(shí)同步,一個(gè)采集器未完成的功能不會(huì )延遲;機構賬號將來(lái)還可以整合在一起,機構賬號未來(lái)可能都會(huì )是免費的(機構賬號的服務(wù)并不是一個(gè)完整的采集系統,僅僅是提供接口,如果需要模擬不同的平臺,就需要購買(mǎi)不同的采集器或服務(wù));以上所有功能,都不開(kāi)放給個(gè)人使用,對于對于精準采集有極大需求的個(gè)人或團隊,infoq已經(jīng)提供高度靈活的方案,可以購買(mǎi)可以部署個(gè)人獨立的采集系統,其中主要的就是使用微信公眾號采集機器人采集文章,或者在公眾號中提供文章采集功能,對于對精準采集有極大需求的用戶(hù)來(lái)說(shuō),可以完全免費提供整套采集系統。
  
  為什么需要這些功能?在機器人這里的采集功能(采集頭條、長(cháng)期文章等)不僅僅是文章采集器需要采集,同時(shí)用戶(hù)需要提供熱文采集,即熱文采集是相對無(wú)限圖文,只要有一篇不符合要求就不能采集(采集不了發(fā)布平臺,發(fā)布平臺的圖文就不能采集),這讓很多需要采集的機構和用戶(hù)都十分頭疼,因為很多機構和用戶(hù)的要求無(wú)法滿(mǎn)足,都需要采集無(wú)限篇文章的情況(前提是熱文文章還得是正常發(fā)布的文章)。
  
  而且發(fā)布平臺還是文章發(fā)布平臺;發(fā)布平臺可以采集文章,那么把發(fā)布平臺上的熱文所有文章采集下來(lái),所有文章都能采集(而且把熱文全部采集,這樣就能滿(mǎn)足熱文采集需求),但是發(fā)布平臺就有限,機構和用戶(hù)如果無(wú)法在發(fā)布平臺上采集所有文章,這就會(huì )十分不利于采集需求;那么如何滿(mǎn)足機構和用戶(hù)更多的采集需求呢?發(fā)布平臺太有限,那么就有解決方案了,infoq的全網(wǎng)熱文采集有兩種采集方案(infoq機構賬號的熱文采集方案和個(gè)人獨立的文章采集方案)。
  1、使用機構賬號直接采集在infoq的全網(wǎng)熱文采集方案中,可以采集機構賬號自動(dòng)發(fā)布的所有熱文,即可滿(mǎn)足機構采集無(wú)限篇文章的需求,同時(shí)infoq服務(wù)器端采集熱文服務(wù)器非常難滿(mǎn)足需求(infoq服務(wù)器占用相對機構賬號高,服務(wù)器太慢或者根本沒(méi)有,采集速度還比不上機構賬號本地e。 查看全部

  解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!
  文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能:原來(lái)的機構賬號并不是每個(gè)都可以直接采集,而是有特定的和服務(wù)器賬號關(guān)聯(lián),如果你的賬號無(wú)法直接提供api服務(wù),那就無(wú)法采集,需要解決的問(wèn)題是:賬號實(shí)名,并且可以綁定多個(gè)api服務(wù);對于文章采集,還需要支持熱文和長(cháng)期文章采集;文章采集器支持檢測文章下載地址,只有綁定了真實(shí)地址才可以直接下載,是否支持enhanced地址是與手動(dòng)模擬目標網(wǎng)址采集的方法不同的;文章采集器可以下載微信、微博、頭條等不同平臺的文章,除了采集單篇外,也支持批量整站下載;文章采集器支持多個(gè)采集器同時(shí)同步,一個(gè)采集器未完成的功能不會(huì )延遲;機構賬號將來(lái)還可以整合在一起,機構賬號未來(lái)可能都會(huì )是免費的(機構賬號的服務(wù)并不是一個(gè)完整的采集系統,僅僅是提供接口,如果需要模擬不同的平臺,就需要購買(mǎi)不同的采集器或服務(wù));以上所有功能,都不開(kāi)放給個(gè)人使用,對于對于精準采集有極大需求的個(gè)人或團隊,infoq已經(jīng)提供高度靈活的方案,可以購買(mǎi)可以部署個(gè)人獨立的采集系統,其中主要的就是使用微信公眾號采集機器人采集文章,或者在公眾號中提供文章采集功能,對于對精準采集有極大需求的用戶(hù)來(lái)說(shuō),可以完全免費提供整套采集系統。
  
  為什么需要這些功能?在機器人這里的采集功能(采集頭條、長(cháng)期文章等)不僅僅是文章采集器需要采集,同時(shí)用戶(hù)需要提供熱文采集,即熱文采集是相對無(wú)限圖文,只要有一篇不符合要求就不能采集(采集不了發(fā)布平臺,發(fā)布平臺的圖文就不能采集),這讓很多需要采集的機構和用戶(hù)都十分頭疼,因為很多機構和用戶(hù)的要求無(wú)法滿(mǎn)足,都需要采集無(wú)限篇文章的情況(前提是熱文文章還得是正常發(fā)布的文章)。
  
  而且發(fā)布平臺還是文章發(fā)布平臺;發(fā)布平臺可以采集文章,那么把發(fā)布平臺上的熱文所有文章采集下來(lái),所有文章都能采集(而且把熱文全部采集,這樣就能滿(mǎn)足熱文采集需求),但是發(fā)布平臺就有限,機構和用戶(hù)如果無(wú)法在發(fā)布平臺上采集所有文章,這就會(huì )十分不利于采集需求;那么如何滿(mǎn)足機構和用戶(hù)更多的采集需求呢?發(fā)布平臺太有限,那么就有解決方案了,infoq的全網(wǎng)熱文采集有兩種采集方案(infoq機構賬號的熱文采集方案和個(gè)人獨立的文章采集方案)。
  1、使用機構賬號直接采集在infoq的全網(wǎng)熱文采集方案中,可以采集機構賬號自動(dòng)發(fā)布的所有熱文,即可滿(mǎn)足機構采集無(wú)限篇文章的需求,同時(shí)infoq服務(wù)器端采集熱文服務(wù)器非常難滿(mǎn)足需求(infoq服務(wù)器占用相對機構賬號高,服務(wù)器太慢或者根本沒(méi)有,采集速度還比不上機構賬號本地e。

分享文章:文章采集器-快用全文檢索引擎,采集你感興趣

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 122 次瀏覽 ? 2022-11-28 11:31 ? 來(lái)自相關(guān)話(huà)題

  分享文章:文章采集器-快用全文檢索引擎,采集你感興趣
  文章采集器-快用全文檢索引擎,采集你感興趣的文章(從微信公眾號、知乎、朋友圈、長(cháng)圖文等角度查找文章,自己試下吧,我收到過(guò)十幾份問(wèn)卷調查,各有偏向,看自己需求選擇了,
  
  我們公司有做企業(yè)級的文章采集,
  企業(yè)定制采集平臺是個(gè)不錯的選擇,技術(shù)團隊很強大,針對自媒體、網(wǎng)站、app、微信等,
  
  用了采真的sdk可以手機直接爬的,
  就說(shuō)我服務(wù)商家的情況。采真采集器,品牌是美國appamazar,算是國內比較早開(kāi)始針對移動(dòng)端渠道的采集器。工作內容涉及到和移動(dòng)app開(kāi)發(fā)商的合作,目前appamazar的應用也比較廣泛,用戶(hù)也很多。至于會(huì )不會(huì )覺(jué)得普遍高估了?我覺(jué)得價(jià)格比較高、性能上沒(méi)有吹牛的那么牛,也沒(méi)有特別的差,且對合作的移動(dòng)商家也一般般。大規模短時(shí)間的批量合作,也不太適合。
  你可以看看采真sdk和采真saas的:采真定制采集器,只要你想采,提供一站式服務(wù),不怕比較麻煩(這點(diǎn)上,采真是國內“絕對”第一),也不怕比較太貴。全國百萬(wàn)移動(dòng)運營(yíng)商和手機行業(yè)深耕者。成就百萬(wàn)運營(yíng)商渠道采集真實(shí)高效運營(yíng)。全國多地運營(yíng)商大規模采集,一鍵全網(wǎng)抓?。〝祿@取量10億級),多語(yǔ)言抓取,一站式生成批量發(fā)布出口app。 查看全部

  分享文章:文章采集器-快用全文檢索引擎,采集你感興趣
  文章采集器-快用全文檢索引擎,采集你感興趣的文章(從微信公眾號、知乎、朋友圈、長(cháng)圖文等角度查找文章,自己試下吧,我收到過(guò)十幾份問(wèn)卷調查,各有偏向,看自己需求選擇了,
  
  我們公司有做企業(yè)級的文章采集,
  企業(yè)定制采集平臺是個(gè)不錯的選擇,技術(shù)團隊很強大,針對自媒體、網(wǎng)站、app、微信等,
  
  用了采真的sdk可以手機直接爬的,
  就說(shuō)我服務(wù)商家的情況。采真采集器,品牌是美國appamazar,算是國內比較早開(kāi)始針對移動(dòng)端渠道的采集器。工作內容涉及到和移動(dòng)app開(kāi)發(fā)商的合作,目前appamazar的應用也比較廣泛,用戶(hù)也很多。至于會(huì )不會(huì )覺(jué)得普遍高估了?我覺(jué)得價(jià)格比較高、性能上沒(méi)有吹牛的那么牛,也沒(méi)有特別的差,且對合作的移動(dòng)商家也一般般。大規模短時(shí)間的批量合作,也不太適合。
  你可以看看采真sdk和采真saas的:采真定制采集器,只要你想采,提供一站式服務(wù),不怕比較麻煩(這點(diǎn)上,采真是國內“絕對”第一),也不怕比較太貴。全國百萬(wàn)移動(dòng)運營(yíng)商和手機行業(yè)深耕者。成就百萬(wàn)運營(yíng)商渠道采集真實(shí)高效運營(yíng)。全國多地運營(yíng)商大規模采集,一鍵全網(wǎng)抓?。〝祿@取量10億級),多語(yǔ)言抓取,一站式生成批量發(fā)布出口app。

優(yōu)采云SEO優(yōu)化功能不斷完善即將上市(圖)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 91 次瀏覽 ? 2023-01-12 19:15 ? 來(lái)自相關(guān)話(huà)題

  今天,互聯(lián)網(wǎng)的發(fā)展已經(jīng)迅速,以至于人們可以在短時(shí)間內獲得海量的信息。但是,這些信息中有很多是無(wú)用的,而有用的信息又有時(shí)候不容易找到。針對這種情況,文章采集器就出現了,它可以幫助人們快速、準確地尋找有用的信息。
  
  文章采集器是一種特殊的軟件,它可以幫助人們快速、準確地采集來(lái)自各個(gè)網(wǎng)站的文章,包括新聞、博客、圖片、音樂(lè )、視頻等各種內容。它能夠根據用戶(hù)需求自動(dòng)搜索文章并將其存儲到本地,大大降低人們尋找有用信息的時(shí)間成本。此外,文章采集器還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化,使得采集的文章在搜索引擎中能夠被更好地識別和優(yōu)先顯示。
  
  目前,市面上已有多種文章采集器可供選擇,其中最受用戶(hù)青睞的是優(yōu)采云。優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,它不僅能夠快速準確地尋找有用信息,而且還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化。此外,優(yōu)采云還具有強大的數據庫存儲能力、便捷的使用方式和實(shí)時(shí)數據分析功能。因此,不論是大公司還是小企業(yè),都可以使用優(yōu)采云來(lái)快速準確地尋找需要的信息。而且優(yōu)采云也將不斷升級其產(chǎn)品功能,使得其能夠應對市場(chǎng)上各類(lèi)數字化應用需要。
  
  總之,文章采集器是一個(gè)非常實(shí)用而又方便好用的工具。特別是當前浩如煙海中海量信息中找尋真正有效信息時(shí),文章采集器就顯得尤為重要。相信隨著(zhù)優(yōu)采云SEO優(yōu)化功能不斷完善即將上市之后(官網(wǎng) www.hqbet6457.com ),將大大方便人們尋找真正有效信息,并最大化利用這些信息,使之贏(yíng)得市場(chǎng)競爭優(yōu)勢,更好地開(kāi)發(fā)市場(chǎng),創(chuàng )造出意想不到的效益。 查看全部

  今天,互聯(lián)網(wǎng)的發(fā)展已經(jīng)迅速,以至于人們可以在短時(shí)間內獲得海量的信息。但是,這些信息中有很多是無(wú)用的,而有用的信息又有時(shí)候不容易找到。針對這種情況,文章采集器就出現了,它可以幫助人們快速、準確地尋找有用的信息。
  
  文章采集器是一種特殊的軟件,它可以幫助人們快速、準確地采集來(lái)自各個(gè)網(wǎng)站的文章,包括新聞、博客、圖片、音樂(lè )、視頻等各種內容。它能夠根據用戶(hù)需求自動(dòng)搜索文章并將其存儲到本地,大大降低人們尋找有用信息的時(shí)間成本。此外,文章采集器還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化,使得采集的文章在搜索引擎中能夠被更好地識別和優(yōu)先顯示。
  
  目前,市面上已有多種文章采集器可供選擇,其中最受用戶(hù)青睞的是優(yōu)采云。優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,它不僅能夠快速準確地尋找有用信息,而且還能夠根據用戶(hù)要求進(jìn)行SEO優(yōu)化。此外,優(yōu)采云還具有強大的數據庫存儲能力、便捷的使用方式和實(shí)時(shí)數據分析功能。因此,不論是大公司還是小企業(yè),都可以使用優(yōu)采云來(lái)快速準確地尋找需要的信息。而且優(yōu)采云也將不斷升級其產(chǎn)品功能,使得其能夠應對市場(chǎng)上各類(lèi)數字化應用需要。
  
  總之,文章采集器是一個(gè)非常實(shí)用而又方便好用的工具。特別是當前浩如煙海中海量信息中找尋真正有效信息時(shí),文章采集器就顯得尤為重要。相信隨著(zhù)優(yōu)采云SEO優(yōu)化功能不斷完善即將上市之后(官網(wǎng) www.hqbet6457.com ),將大大方便人們尋找真正有效信息,并最大化利用這些信息,使之贏(yíng)得市場(chǎng)競爭優(yōu)勢,更好地開(kāi)發(fā)市場(chǎng),創(chuàng )造出意想不到的效益。

“優(yōu)采云”文章采集器是企業(yè)發(fā)展的最佳方式

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 137 次瀏覽 ? 2023-01-12 14:14 ? 來(lái)自相關(guān)話(huà)題

  現如今,互聯(lián)網(wǎng)在人們生活中起著(zhù)越來(lái)越重要的作用,網(wǎng)絡(luò )營(yíng)銷(xiāo)成為企業(yè)發(fā)展的最佳方式。而文章采集器是企業(yè)進(jìn)行網(wǎng)絡(luò )營(yíng)銷(xiāo)活動(dòng)的必備工具,它可以幫助企業(yè)快速收集各種信息,并將其分類(lèi)整理,便于企業(yè)進(jìn)行文章內容分析、信息整合、SEO優(yōu)化等工作。
  
  近幾年來(lái),文章采集器在市場(chǎng)上得到了廣泛應用,不少企業(yè)都將其作為一項重要的信息獲取工具,但是目前市面上的文章采集器大多存在一定的問(wèn)題,既不能快速準確地獲取信息,又不能有效地進(jìn)行SEO優(yōu)化。
  
  對此,來(lái)自中國的軟件開(kāi)發(fā)商“優(yōu)采云”公司推出了一款全新的文章采集器——“優(yōu)采云”,它可以幫助企業(yè)快速準確地收集各種信息,并將其整理成有序的文章內容。此外,該采集器還具備SEO優(yōu)化功能,可以幫助企業(yè)針對特定關(guān)鍵詞進(jìn)行SEO優(yōu)化,使文章內容更加有吸引力、對應性強。
  
  此外,“優(yōu)采云”文章采集器還具備一套安全機制,能夠幫助用戶(hù)預防各種安全問(wèn)題。例如通過(guò)IP代理、Cookie保存功能、瀏覽隱形功能等手段來(lái)避免斷流、封IP、封cookie、封電子郵件等情況的發(fā)生。此外,該采集器也具備超強的斷點(diǎn)續傳功能,能夠有效地避免因斷流而對數據造成影響。
  總之,“優(yōu)采云”文章采集器是一款既能快速準確地獲取信息又能有效進(jìn)行SEO優(yōu)化的工具。它由中國開(kāi)發(fā)商“優(yōu)采云”打造而成(官網(wǎng)www.hqbet6457.com ),無(wú)論是從功能性還是從安全性上都得到了大幅度的升華。如今,該產(chǎn)品已成為市場(chǎng)上最受歡迎的文章采集工具之一。 查看全部

  現如今,互聯(lián)網(wǎng)在人們生活中起著(zhù)越來(lái)越重要的作用,網(wǎng)絡(luò )營(yíng)銷(xiāo)成為企業(yè)發(fā)展的最佳方式。而文章采集器是企業(yè)進(jìn)行網(wǎng)絡(luò )營(yíng)銷(xiāo)活動(dòng)的必備工具,它可以幫助企業(yè)快速收集各種信息,并將其分類(lèi)整理,便于企業(yè)進(jìn)行文章內容分析、信息整合、SEO優(yōu)化等工作。
  
  近幾年來(lái),文章采集器在市場(chǎng)上得到了廣泛應用,不少企業(yè)都將其作為一項重要的信息獲取工具,但是目前市面上的文章采集器大多存在一定的問(wèn)題,既不能快速準確地獲取信息,又不能有效地進(jìn)行SEO優(yōu)化。
  
  對此,來(lái)自中國的軟件開(kāi)發(fā)商“優(yōu)采云”公司推出了一款全新的文章采集器——“優(yōu)采云”,它可以幫助企業(yè)快速準確地收集各種信息,并將其整理成有序的文章內容。此外,該采集器還具備SEO優(yōu)化功能,可以幫助企業(yè)針對特定關(guān)鍵詞進(jìn)行SEO優(yōu)化,使文章內容更加有吸引力、對應性強。
  
  此外,“優(yōu)采云”文章采集器還具備一套安全機制,能夠幫助用戶(hù)預防各種安全問(wèn)題。例如通過(guò)IP代理、Cookie保存功能、瀏覽隱形功能等手段來(lái)避免斷流、封IP、封cookie、封電子郵件等情況的發(fā)生。此外,該采集器也具備超強的斷點(diǎn)續傳功能,能夠有效地避免因斷流而對數據造成影響。
  總之,“優(yōu)采云”文章采集器是一款既能快速準確地獲取信息又能有效進(jìn)行SEO優(yōu)化的工具。它由中國開(kāi)發(fā)商“優(yōu)采云”打造而成(官網(wǎng)www.hqbet6457.com ),無(wú)論是從功能性還是從安全性上都得到了大幅度的升華。如今,該產(chǎn)品已成為市場(chǎng)上最受歡迎的文章采集工具之一。

優(yōu)采云為企業(yè)快速、有效地進(jìn)行內容營(yíng)銷(xiāo)工作

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 112 次瀏覽 ? 2023-01-12 10:22 ? 來(lái)自相關(guān)話(huà)題

  隨著(zhù)互聯(lián)網(wǎng)的發(fā)展,內容營(yíng)銷(xiāo)已成為企業(yè)提升形象、擴大品牌影響力的重要手段。然而,企業(yè)在內容營(yíng)銷(xiāo)中也遇到了一些困難,比如內容優(yōu)化、原創(chuàng )文章采集等。這時(shí),文章采集器就可以派上用場(chǎng)了。
  
  優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,旨在幫助企業(yè)快速、有效地進(jìn)行文章采集。其可以根據用戶(hù)的關(guān)鍵詞或者網(wǎng)頁(yè)地址,從相關(guān)網(wǎng)站中獲取有價(jià)值的內容,并提供多種方式對其進(jìn)行整理和分類(lèi),如根據標題、作者、時(shí)間等進(jìn)行排序。此外,該工具還能夠將采集的內容進(jìn)行SEO優(yōu)化,使得內容能夠得到更好的排名。同時(shí),該工具還能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。
  
  此外,優(yōu)采云還提供了一整套內容營(yíng)銷(xiāo)服務(wù)體系,不僅可以幫助用戶(hù)快速采集有價(jià)值的原創(chuàng )內容,而且可以將其發(fā)布到各大平臺上去。各大平臺包括微信、微博、QQ空間、Baidu Tieba等社交平臺。此外,該工具也能夠幫助用戶(hù)將內容發(fā)布到博客、門(mén)戶(hù)網(wǎng)站上去。
  
  總之,優(yōu)采云是一款功能強大的文章采集器。它不僅能夠幫助用戶(hù)快速、有效地獲取有價(jià)值的原創(chuàng )內容,而且還能夠將內容SEO優(yōu)化并將其發(fā)布到各大平臺上去。此外,該工具也能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。如果你想要快速、有效地開(kāi)展內容營(yíng)銷(xiāo)工作,不妨試試使用優(yōu)采云(www.hqbet6457.com)吧! 查看全部

  隨著(zhù)互聯(lián)網(wǎng)的發(fā)展,內容營(yíng)銷(xiāo)已成為企業(yè)提升形象、擴大品牌影響力的重要手段。然而,企業(yè)在內容營(yíng)銷(xiāo)中也遇到了一些困難,比如內容優(yōu)化、原創(chuàng )文章采集等。這時(shí),文章采集器就可以派上用場(chǎng)了。
  
  優(yōu)采云是一款專(zhuān)業(yè)的文章采集器,旨在幫助企業(yè)快速、有效地進(jìn)行文章采集。其可以根據用戶(hù)的關(guān)鍵詞或者網(wǎng)頁(yè)地址,從相關(guān)網(wǎng)站中獲取有價(jià)值的內容,并提供多種方式對其進(jìn)行整理和分類(lèi),如根據標題、作者、時(shí)間等進(jìn)行排序。此外,該工具還能夠將采集的內容進(jìn)行SEO優(yōu)化,使得內容能夠得到更好的排名。同時(shí),該工具還能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。
  
  此外,優(yōu)采云還提供了一整套內容營(yíng)銷(xiāo)服務(wù)體系,不僅可以幫助用戶(hù)快速采集有價(jià)值的原創(chuàng )內容,而且可以將其發(fā)布到各大平臺上去。各大平臺包括微信、微博、QQ空間、Baidu Tieba等社交平臺。此外,該工具也能夠幫助用戶(hù)將內容發(fā)布到博客、門(mén)戶(hù)網(wǎng)站上去。
  
  總之,優(yōu)采云是一款功能強大的文章采集器。它不僅能夠幫助用戶(hù)快速、有效地獲取有價(jià)值的原創(chuàng )內容,而且還能夠將內容SEO優(yōu)化并將其發(fā)布到各大平臺上去。此外,該工具也能夠將采集的內容保存到Word文件或PDF文件中,方便用戶(hù)進(jìn)行保存和打印。如果你想要快速、有效地開(kāi)展內容營(yíng)銷(xiāo)工作,不妨試試使用優(yōu)采云(www.hqbet6457.com)吧!

解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 117 次瀏覽 ? 2022-12-27 13:21 ? 來(lái)自相關(guān)話(huà)題

  解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具
  
  文章采集器是一種自動(dòng)化的文章抓取工具,它可以從互聯(lián)網(wǎng)上的各種資源中抓取并采集文章,使用者可以根據自己的需求,設定不同的采集條件,實(shí)現快速、有效、準確地獲取到相應的文章內容。
  
  早在20世紀90年代,就有人開(kāi)始嘗試利用文章采集器來(lái)采集新聞內容。隨著(zhù)互聯(lián)網(wǎng)的發(fā)展和技術(shù)進(jìn)步,文章采集器也逐漸得到了廣泛應用,如今已成為企業(yè)、機構、學(xué)校、個(gè)人都必不可少的一項網(wǎng)絡(luò )工具。它不僅能夠幫助用戶(hù)快速找到所需要的信息,而且還可以有效地避免手動(dòng)瀏覽大量網(wǎng)頁(yè)耗費大量時(shí)間的尷尬。
  優(yōu)采云采集器是一款功能強大的文章采集器,它能夠幫助用戶(hù)快速地從互聯(lián)網(wǎng)上抓取并采集新聞、博客、帖子、圖片、視頻等信息內容,并且可以根據用戶(hù)不同的需要進(jìn)行多樣化地分析。例如,優(yōu)采云采集器能夠幫助用戶(hù)快速地尋找到想要看到的信息內容、關(guān)鍵詞相關(guān)的新聞內容、對特定作者寫(xiě)作風(fēng)格進(jìn)行評估等。此外,優(yōu)采云采集器還具備強大的數據存儲功能,將用戶(hù)所需要的信息內容存儲在“優(yōu)采云”上方便之后使用。 查看全部

  解決方案:優(yōu)采云采集器是一種自動(dòng)化的文章抓取工具
  
  文章采集器是一種自動(dòng)化的文章抓取工具,它可以從互聯(lián)網(wǎng)上的各種資源中抓取并采集文章,使用者可以根據自己的需求,設定不同的采集條件,實(shí)現快速、有效、準確地獲取到相應的文章內容。
  
  早在20世紀90年代,就有人開(kāi)始嘗試利用文章采集來(lái)采集新聞內容。隨著(zhù)互聯(lián)網(wǎng)的發(fā)展和技術(shù)進(jìn)步,文章采集器也逐漸得到了廣泛應用,如今已成為企業(yè)、機構、學(xué)校、個(gè)人都必不可少的一項網(wǎng)絡(luò )工具。它不僅能夠幫助用戶(hù)快速找到所需要的信息,而且還可以有效地避免手動(dòng)瀏覽大量網(wǎng)頁(yè)耗費大量時(shí)間的尷尬。
  優(yōu)采云采集器是一款功能強大的文章采集器,它能夠幫助用戶(hù)快速地從互聯(lián)網(wǎng)上抓取并采集新聞、博客、帖子、圖片、視頻等信息內容,并且可以根據用戶(hù)不同的需要進(jìn)行多樣化地分析。例如,優(yōu)采云采集器能夠幫助用戶(hù)快速地尋找到想要看到的信息內容、關(guān)鍵詞相關(guān)的新聞內容、對特定作者寫(xiě)作風(fēng)格進(jìn)行評估等。此外,優(yōu)采云采集器還具備強大的數據存儲功能,將用戶(hù)所需要的信息內容存儲在“優(yōu)采云”上方便之后使用。

解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 111 次瀏覽 ? 2022-12-27 10:19 ? 來(lái)自相關(guān)話(huà)題

  解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  
  隨著(zhù)信息技術(shù)的發(fā)展,無(wú)論是個(gè)人還是企業(yè)都面臨著(zhù)信息日益豐富的困境。企業(yè)的各部門(mén)之間需要進(jìn)行大量的信息共享,而且信息量急劇增加,使得傳統的手工采集成為不可能完成任務(wù)的一件事。因此,文章采集器應運而生,它可以解決企業(yè)信息共享中存在的大量問(wèn)題。
  文章采集器作為一種計算機應用軟件,可以利用先進(jìn)的信息處理技術(shù)來(lái)實(shí)現對各大新聞、博客、論壇、RSS源、微博、微信公眾號等多種不同來(lái)源上的內容進(jìn)行快速、高效地采集。它通常包含多樣性引擎、分布式海量數據存儲、關(guān)鍵詞匹配以及AI情感分析等核心功能,能夠快速獲取海量數據并將其存儲在一個(gè)中央數據庫中作為各部門(mén)之間的信息共享和使用。
  
  優(yōu)采云采集器是一種前所未有的文章采集工具,能夠在幾乎所有平臺上快速準確地將內容進(jìn)行歸集。該產(chǎn)品能夠通過(guò)海量數據快速判斷出相關(guān)性強低弱,并使用AI情感分析來(lái)評估內容好壞;此外,該工具還能根據用戶(hù)需要將文章內容帶入不同語(yǔ)義中去(例如正面、負面情感判斷)并盡力減少干擾因子對內容判斷影響。
  此外,優(yōu)采云采集器還能根據用戶(hù)想要獲取內容的時(shí)效性來(lái)對內容進(jìn)行歸集輸出;如此一來(lái)就能有效避免浪費時(shí)間去尋找相應內容。而該工具還能根據不同場(chǎng)合去匹配不同風(fēng)格、不同主題方式去帶出相應內容;如此一來(lái)就可以很好地將不同應用場(chǎng)合中所需要內容帶出來(lái)便于使用者使用。
  總之,隨著(zhù)大數據時(shí)代的不斷發(fā)展壯大,使用文章采集器已然成為一件必然之事。特別是隨著(zhù)優(yōu)采云采集器憑借AI情感分析功能而得到大眾的注意之后;該工具早已成為當前市場(chǎng)上有效快速歸集海量信息打印出相應內容板式最佳選項。 查看全部

  解決方案:文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  文章采集器:利用計算機技術(shù)實(shí)現自動(dòng)采集網(wǎng)絡(luò )上的文章
  
  隨著(zhù)信息技術(shù)的發(fā)展,無(wú)論是個(gè)人還是企業(yè)都面臨著(zhù)信息日益豐富的困境。企業(yè)的各部門(mén)之間需要進(jìn)行大量的信息共享,而且信息量急劇增加,使得傳統的手工采集成為不可能完成任務(wù)的一件事。因此,文章采集應運而生,它可以解決企業(yè)信息共享中存在的大量問(wèn)題。
  文章采集器作為一種計算機應用軟件,可以利用先進(jìn)的信息處理技術(shù)來(lái)實(shí)現對各大新聞、博客、論壇、RSS源、微博、微信公眾號等多種不同來(lái)源上的內容進(jìn)行快速、高效地采集。它通常包含多樣性引擎、分布式海量數據存儲、關(guān)鍵詞匹配以及AI情感分析等核心功能,能夠快速獲取海量數據并將其存儲在一個(gè)中央數據庫中作為各部門(mén)之間的信息共享和使用。
  
  優(yōu)采云采集器是一種前所未有的文章采集工具,能夠在幾乎所有平臺上快速準確地將內容進(jìn)行歸集。該產(chǎn)品能夠通過(guò)海量數據快速判斷出相關(guān)性強低弱,并使用AI情感分析來(lái)評估內容好壞;此外,該工具還能根據用戶(hù)需要將文章內容帶入不同語(yǔ)義中去(例如正面、負面情感判斷)并盡力減少干擾因子對內容判斷影響。
  此外,優(yōu)采云采集器還能根據用戶(hù)想要獲取內容的時(shí)效性來(lái)對內容進(jìn)行歸集輸出;如此一來(lái)就能有效避免浪費時(shí)間去尋找相應內容。而該工具還能根據不同場(chǎng)合去匹配不同風(fēng)格、不同主題方式去帶出相應內容;如此一來(lái)就可以很好地將不同應用場(chǎng)合中所需要內容帶出來(lái)便于使用者使用。
  總之,隨著(zhù)大數據時(shí)代的不斷發(fā)展壯大,使用文章采集器已然成為一件必然之事。特別是隨著(zhù)優(yōu)采云采集器憑借AI情感分析功能而得到大眾的注意之后;該工具早已成為當前市場(chǎng)上有效快速歸集海量信息打印出相應內容板式最佳選項。

技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 147 次瀏覽 ? 2022-12-25 07:15 ? 來(lái)自相關(guān)話(huà)題

  技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?
  文章采集器有很多,比如多抓魚(yú),金數據,伙牛網(wǎng)等等,但是我推薦一個(gè)叫seniorarg的工具。它是一個(gè)用來(lái)爬取文章信息的采集器,在大多數小的搜索引擎都能搜索到它的分享,并且爬蟲(chóng)正在不斷完善中。seniorarg的特色在于一鍵觸發(fā)規則,關(guān)鍵詞分析。但是我希望每一篇文章都有自己的價(jià)值。這個(gè)才是我的需求。目前我還只會(huì )爬一些考試題,上課教材等,人氣不夠大家可以去看看。
  
  最近在學(xué)python,順便看到了知乎上很多大佬們都推薦了nodejs,比如netbeans、pybuilder、pyspider等等。很多大佬說(shuō)nodejs和erlang都是從另一個(gè)場(chǎng)景切入了python,并非python語(yǔ)言自己創(chuàng )造了nodejs,但nodejs確實(shí)有著(zhù)nginx等這樣的技術(shù)加持,確實(shí)是很有吸引力。
  所以在這里可以大致總結一下python語(yǔ)言+nodejs的一些場(chǎng)景。1.計算機視覺(jué):語(yǔ)義分割、人臉識別、語(yǔ)義分割、ocr、文本檢測等。2.爬蟲(chóng):文本處理、文本摘要、翻譯等。3.自然語(yǔ)言處理:文本摘要、命名實(shí)體識別、對話(huà)機器人、知識圖譜等。4.其他計算機(網(wǎng)絡(luò ))操作系統:fortran、c等。5.云:阿里云、騰訊云等。而python語(yǔ)言+nodejs確實(shí)可以解決python語(yǔ)言定位標簽。
  
  兩者沒(méi)有必然聯(lián)系
  【
  有些要懂點(diǎn)python才能做,但是,python有notepad++與vs運行環(huán)境,可以利用localization等命令進(jìn)行各種數據預處理,然后轉換為nodejs格式的數據,很好用,且nodejs有編譯模塊,可以做網(wǎng)頁(yè)。兩者配合還可以用web工具開(kāi)發(fā),java與pythonpyqt不錯,還有django。有些要懂一點(diǎn)編程語(yǔ)言,但是我覺(jué)得最關(guān)鍵的還是數據結構與算法,掌握并掌握兩門(mén)語(yǔ)言,學(xué)的很快。 查看全部

  技巧:python語(yǔ)言+nodejs的一些場(chǎng)景,你知道幾個(gè)?
  文章采集有很多,比如多抓魚(yú),金數據,伙牛網(wǎng)等等,但是我推薦一個(gè)叫seniorarg的工具。它是一個(gè)用來(lái)爬取文章信息的采集器,在大多數小的搜索引擎都能搜索到它的分享,并且爬蟲(chóng)正在不斷完善中。seniorarg的特色在于一鍵觸發(fā)規則,關(guān)鍵詞分析。但是我希望每一篇文章都有自己的價(jià)值。這個(gè)才是我的需求。目前我還只會(huì )爬一些考試題,上課教材等,人氣不夠大家可以去看看。
  
  最近在學(xué)python,順便看到了知乎上很多大佬們都推薦了nodejs,比如netbeans、pybuilder、pyspider等等。很多大佬說(shuō)nodejs和erlang都是從另一個(gè)場(chǎng)景切入了python,并非python語(yǔ)言自己創(chuàng )造了nodejs,但nodejs確實(shí)有著(zhù)nginx等這樣的技術(shù)加持,確實(shí)是很有吸引力。
  所以在這里可以大致總結一下python語(yǔ)言+nodejs的一些場(chǎng)景。1.計算機視覺(jué):語(yǔ)義分割、人臉識別、語(yǔ)義分割、ocr、文本檢測等。2.爬蟲(chóng):文本處理、文本摘要、翻譯等。3.自然語(yǔ)言處理:文本摘要、命名實(shí)體識別、對話(huà)機器人、知識圖譜等。4.其他計算機(網(wǎng)絡(luò ))操作系統:fortran、c等。5.云:阿里云、騰訊云等。而python語(yǔ)言+nodejs確實(shí)可以解決python語(yǔ)言定位標簽。
  
  兩者沒(méi)有必然聯(lián)系
  【
  有些要懂點(diǎn)python才能做,但是,python有notepad++與vs運行環(huán)境,可以利用localization等命令進(jìn)行各種數據預處理,然后轉換為nodejs格式的數據,很好用,且nodejs有編譯模塊,可以做網(wǎng)頁(yè)。兩者配合還可以用web工具開(kāi)發(fā),java與pythonpyqt不錯,還有django。有些要懂一點(diǎn)編程語(yǔ)言,但是我覺(jué)得最關(guān)鍵的還是數據結構與算法,掌握并掌握兩門(mén)語(yǔ)言,學(xué)的很快。

最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 401 次瀏覽 ? 2022-12-22 10:19 ? 來(lái)自相關(guān)話(huà)題

  最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版
  1.在設置中心打開(kāi)福利。
  2. 重啟軟件,確認安裝證書(shū)。
  3、登錄電腦微信,選擇公眾號下載,查看歷史記錄或點(diǎn)擊某文章,返回軟件查看軟件底部提示是否變紅。
  4.分析完成后會(huì )自動(dòng)下載。注意事項
  1.如果太頻繁,請重新?lián)芴柅@取新的IP地址...
  2.應該能滿(mǎn)足大多數人的需求。 以后可能會(huì )迭代更新,調整為年度更新……
  3、net4.5運行環(huán)境安裝軟件無(wú)法運行...
  
  4.如果殺毒軟件報毒...解決方法是:殺! !
  5.只能通過(guò)微信公眾號一一獲取,不要多開(kāi)軟件,否則會(huì )出現意想不到的問(wèn)題! ! !
  6、如果發(fā)現網(wǎng)絡(luò )不可用,請正確關(guān)閉軟件。 如果沒(méi)有,請重新打開(kāi)軟件并再次關(guān)閉。
  7、后臺分析的文章數和下載的文章數在大多數情況下是不一致的,因為有些文章被刪除或屏蔽了,但是找到的文章數總是大于下載的文章數。
  8. 雞蛋 (2)
  v3.261(年度更新)
  新增微信號文章下載所有文章
  下載單文章時(shí)同時(shí)添加微信文章全文和下載評論(不支持自定義粘貼鏈接下載)
  
  第三次優(yōu)化線(xiàn)程底層代碼,提升下載速度和穩定性
  增加多種關(guān)鍵點(diǎn)匹配,讓軟件使用時(shí)間盡可能長(cháng)
  修復部分已知bug,調整軟件整體穩定性
  添加第三方庫文件,使其功能更加強大
  優(yōu)化下載生成的word和pdf排版問(wèn)題
  修復word和pdf下載圖片被無(wú)情剪切越界的問(wèn)題
  新增下載文章時(shí)刪除文章中所有圖片的功能(針對部分只關(guān)注心靈雞湯的用戶(hù))
  分享文章:什么是公眾號文章采集器?怎么采集微信公眾號的文章?
  
  什么是公眾號文章采集器? 如何采集微信公眾號的文章? 關(guān)鍵詞: 如何采集微信公眾號的文章說(shuō)明: 有專(zhuān)門(mén)的采集公眾號文章的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,如何采集微信公眾號的文章? 下面就和拓途數據小編一起來(lái)了解一下一對公眾號的文章采集吧。 有專(zhuān)門(mén)的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,微信公眾號怎么采集文章? 下面就和拓途數據小編一起來(lái)了解一下吧。 什么是公眾號文章采集器? 拓圖數據公眾號文章采集器是一款非常好用的微信公眾號文章采集輔助工具。 這款微信公眾號文章采集工具功能強大全面,簡(jiǎn)單易用。 使用后,可以幫助用戶(hù)更加輕松便捷地采集文章。 該軟件可以幫助有需要的用戶(hù)大量采集文章中的內容、圖片等。 如何采集微信公眾號文章如何采集微信公眾號文章A:關(guān)鍵詞批量搜索和采集可以粘貼關(guān)鍵詞批量搜索,選擇采集內容日期,偽原創(chuàng )標題和內容,識別文章是否原創(chuàng ),支持文章一篇發(fā)到網(wǎng)站。 對于一些做SEO的人來(lái)說(shuō),在標題或內容中隨機插入長(cháng)尾詞。 可以下載帶索引的長(cháng)尾詞,導??入獲取流量。 B:指定公眾號采集。 大家可以通過(guò)公眾號排行榜或者自己搜索自己所在行業(yè)的公眾號,然后粘貼進(jìn)去。其他功能和第一項一樣,還是可以的。 比如你是教育或者稅務(wù)公司,專(zhuān)業(yè)的SEO,可以利用這個(gè)功能獲取流量或者高質(zhì)量的原創(chuàng )文章。 C:熱門(mén)行業(yè)采集按行業(yè)分類(lèi)采集,功能同第一項。 D:自動(dòng)采集發(fā)布 自動(dòng)采集發(fā)布還是批量搜索關(guān)鍵詞等功能圖中沒(méi)有顯示,重點(diǎn)是有個(gè)優(yōu)點(diǎn),不同的關(guān)鍵詞或者微信號采集可以選擇全選,會(huì )繼續按順序采集,例如 例子:你有10列,那么你可以為每一列設置一個(gè)與該列相關(guān)的詞的采集,當第一個(gè)采集完成后,會(huì )自動(dòng)采集并存儲第二個(gè)列。 如何采集微信公眾號的文章關(guān)于什么是公眾號文章采集器,以及如何采集微信公眾號的文章,拓圖數據小編就先介紹到這里。 使用文章采集器,您可以輕松采集一些好看的文章,然后發(fā)布到您的公眾號平臺。 持續關(guān)注更多資訊和知識點(diǎn),后續知識點(diǎn)如公眾號分析工具、湖南分析公眾號最好用的工具、公眾號分析數據工具、如何采集公眾號文章、如何采集自媒體公眾號文章。
   查看全部

  最新版:WeChatDownload(微信公眾號文章采集器)綠色正式版
  1.在設置中心打開(kāi)福利。
  2. 重啟軟件,確認安裝證書(shū)。
  3、登錄電腦微信,選擇公眾號下載,查看歷史記錄或點(diǎn)擊某文章,返回軟件查看軟件底部提示是否變紅。
  4.分析完成后會(huì )自動(dòng)下載。注意事項
  1.如果太頻繁,請重新?lián)芴柅@取新的IP地址...
  2.應該能滿(mǎn)足大多數人的需求。 以后可能會(huì )迭代更新,調整為年度更新……
  3、net4.5運行環(huán)境安裝軟件無(wú)法運行...
  
  4.如果殺毒軟件報毒...解決方法是:殺! !
  5.只能通過(guò)微信公眾號一一獲取,不要多開(kāi)軟件,否則會(huì )出現意想不到的問(wèn)題! ! !
  6、如果發(fā)現網(wǎng)絡(luò )不可用,請正確關(guān)閉軟件。 如果沒(méi)有,請重新打開(kāi)軟件并再次關(guān)閉。
  7、后臺分析的文章數和下載的文章數在大多數情況下是不一致的,因為有些文章被刪除或屏蔽了,但是找到的文章數總是大于下載的文章數。
  8. 雞蛋 (2)
  v3.261(年度更新)
  新增微信號文章下載所有文章
  下載單文章時(shí)同時(shí)添加微信文章全文和下載評論(不支持自定義粘貼鏈接下載)
  
  第三次優(yōu)化線(xiàn)程底層代碼,提升下載速度和穩定性
  增加多種關(guān)鍵點(diǎn)匹配,讓軟件使用時(shí)間盡可能長(cháng)
  修復部分已知bug,調整軟件整體穩定性
  添加第三方庫文件,使其功能更加強大
  優(yōu)化下載生成的word和pdf排版問(wèn)題
  修復word和pdf下載圖片被無(wú)情剪切越界的問(wèn)題
  新增下載文章時(shí)刪除文章中所有圖片的功能(針對部分只關(guān)注心靈雞湯的用戶(hù))
  分享文章:什么是公眾號文章采集器?怎么采集微信公眾號的文章?
  
  什么是公眾號文章采集器? 如何采集微信公眾號的文章? 關(guān)鍵詞: 如何采集微信公眾號的文章說(shuō)明: 有專(zhuān)門(mén)的采集公眾號文章的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,如何采集微信公眾號的文章? 下面就和拓途數據小編一起來(lái)了解一下一對公眾號的文章采集吧。 有專(zhuān)門(mén)的工具。 你聽(tīng)說(shuō)過(guò)公眾號文章采集器嗎? 那么什么是公眾號文章采集器呢? 還有,微信公眾號怎么采集文章? 下面就和拓途數據小編一起來(lái)了解一下吧。 什么是公眾號文章采集器? 拓圖數據公眾號文章采集器是一款非常好用的微信公眾號文章采集輔助工具。 這款微信公眾號文章采集工具功能強大全面,簡(jiǎn)單易用。 使用后,可以幫助用戶(hù)更加輕松便捷地采集文章。 該軟件可以幫助有需要的用戶(hù)大量采集文章中的內容、圖片等。 如何采集微信公眾號文章如何采集微信公眾號文章A:關(guān)鍵詞批量搜索和采集可以粘貼關(guān)鍵詞批量搜索,選擇采集內容日期,偽原創(chuàng )標題和內容,識別文章是否原創(chuàng ),支持文章一篇發(fā)到網(wǎng)站。 對于一些做SEO的人來(lái)說(shuō),在標題或內容中隨機插入長(cháng)尾詞。 可以下載帶索引的長(cháng)尾詞,導??入獲取流量。 B:指定公眾號采集。 大家可以通過(guò)公眾號排行榜或者自己搜索自己所在行業(yè)的公眾號,然后粘貼進(jìn)去。其他功能和第一項一樣,還是可以的。 比如你是教育或者稅務(wù)公司,專(zhuān)業(yè)的SEO,可以利用這個(gè)功能獲取流量或者高質(zhì)量的原創(chuàng )文章。 C:熱門(mén)行業(yè)采集按行業(yè)分類(lèi)采集,功能同第一項。 D:自動(dòng)采集發(fā)布 自動(dòng)采集發(fā)布還是批量搜索關(guān)鍵詞等功能圖中沒(méi)有顯示,重點(diǎn)是有個(gè)優(yōu)點(diǎn),不同的關(guān)鍵詞或者微信號采集可以選擇全選,會(huì )繼續按順序采集,例如 例子:你有10列,那么你可以為每一列設置一個(gè)與該列相關(guān)的詞的采集,當第一個(gè)采集完成后,會(huì )自動(dòng)采集并存儲第二個(gè)列。 如何采集微信公眾號的文章關(guān)于什么是公眾號文章采集器,以及如何采集微信公眾號的文章,拓圖數據小編就先介紹到這里。 使用文章采集器,您可以輕松采集一些好看的文章,然后發(fā)布到您的公眾號平臺。 持續關(guān)注更多資訊和知識點(diǎn),后續知識點(diǎn)如公眾號分析工具、湖南分析公眾號最好用的工具、公眾號分析數據工具、如何采集公眾號文章、如何采集自媒體公眾號文章。
  

干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 142 次瀏覽 ? 2022-12-20 06:47 ? 來(lái)自相關(guān)話(huà)題

  干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)
  優(yōu)采云萬(wàn)能文章采集器,一款無(wú)技術(shù)門(mén)檻即可上手的免費采集工具。 優(yōu)采云萬(wàn)能文章采集器通過(guò)使用CSS選擇器識別HTML頁(yè)面中的信息,協(xié)助網(wǎng)站定義規則和任務(wù)。 將根據網(wǎng)站指定的執行計劃采集信息,并將結果以表格的形式存儲在瀏覽器中,以后可以保存為CSV或XLS文件。
  站長(cháng)只需要打開(kāi)一個(gè)頁(yè)面, 優(yōu)采云萬(wàn)能文章采集器會(huì )自動(dòng)識別表格數據或選擇需要手動(dòng)抓取的元素,然后告訴插件如何在頁(yè)面之間(甚至站點(diǎn)之間)導航(它還會(huì )嘗試自動(dòng)查找導航按鈕) 優(yōu)采云 Universal 文章 采集器還可以通過(guò)自動(dòng)導航頁(yè)面智能理解數據模式并提取所有數據。
  
  另外, 優(yōu)采云萬(wàn)能文章采集器安裝后即可啟動(dòng)使用,以最快的速度完成多頁(yè)采集。 強大的多層次網(wǎng)頁(yè)采集,無(wú)需任何編碼,可視化創(chuàng )建,跨多個(gè)頁(yè)面采集信息。 自動(dòng)規則,所有數據安全存儲在異地,雙重維護,定時(shí)任務(wù)自動(dòng)運行,無(wú)需學(xué)習python、javascript、xpath、json、iframe等技術(shù),快速上手。
  優(yōu)采云萬(wàn)能文章采集器可以自動(dòng)識別表格數據,自動(dòng)采集或轉換多網(wǎng)頁(yè)數據。 數據變化監控和實(shí)時(shí)通知,動(dòng)態(tài)頁(yè)面爬取,多種明細格式采集,支持無(wú)限滾動(dòng)。 優(yōu)采云萬(wàn)能文章采集器支持多種分頁(yè)方式、跨網(wǎng)站采集或數據轉換、增量采集、自動(dòng)生成采集規則、可視化采集規則編輯。
  優(yōu)采云萬(wàn)能文章采集器的無(wú)限數據導出到 Excel 或 CSV 文件,外加國際語(yǔ)言支持。 高度隱私:所有數據都存儲在用戶(hù)本地。 保密性高:多層加密保護,不接觸任何目標采集網(wǎng)站的用戶(hù)賬號或cookie信息。
  
  互聯(lián)網(wǎng)上有海量的數據資源。 想要抓取這些數據,就離不開(kāi)優(yōu)采云萬(wàn)能文章采集器。 速度和數據質(zhì)量:由于時(shí)間通常是限制因素,大規模爬取需要優(yōu)采云 Universal 文章 采集器的爬蟲(chóng)在不影響數據質(zhì)量的情況下高速爬取網(wǎng)頁(yè)。 這種對速度的要求使得爬取大規模的產(chǎn)品數據極具挑戰性。
  網(wǎng)站格式多變:網(wǎng)頁(yè)本身是基于HTML等松散規范建立的,各個(gè)網(wǎng)頁(yè)之間互不兼容,導致網(wǎng)頁(yè)結構復雜多變。 在 Ucai 優(yōu)采云 Universal 文章 采集器的規模上進(jìn)行爬取時(shí),您不僅要瀏覽數百個(gè)代碼草率的網(wǎng)站,而且還要被迫應對不斷變化的網(wǎng)站。 *** 訪(fǎng)問(wèn)不穩定:如果某一時(shí)刻網(wǎng)站訪(fǎng)問(wèn)壓力過(guò)大,或者服務(wù)器出現問(wèn)題,可能無(wú)法正常響應用戶(hù)瀏覽網(wǎng)頁(yè)的需求。 對于優(yōu)采云 Universal 文章 采集器來(lái)說(shuō),一旦出現意外情況,很可能會(huì )因為不知道如何處理而崩潰或邏輯中斷。
  網(wǎng)頁(yè)內容魚(yú)龍混雜:網(wǎng)頁(yè)顯示的內容除了有用的數據外,還有各種無(wú)效的信息; 有效信息的呈現方式也多種多樣,網(wǎng)頁(yè)上出現的數據格式也多種多樣。 網(wǎng)頁(yè)訪(fǎng)問(wèn)限制:網(wǎng)頁(yè)有訪(fǎng)問(wèn)頻率限制,如果網(wǎng)站訪(fǎng)問(wèn)頻率過(guò)高,將面臨IP被封的風(fēng)險。 網(wǎng)頁(yè)防采集機制:一些網(wǎng)站為了阻斷某些惡意采集,采取了防采集措施。 數據分析難度大: 優(yōu)采云大型萬(wàn)能文章采集器保證數據質(zhì)量,完整的數據輕松流入你的數據流,從而提升數據分析的效果。
  解決方案:SEO搜索引擎優(yōu)化:基礎、案例與實(shí)戰(第2版) Kindle電子書(shū)
  
  作者簡(jiǎn)介:楊任、程鵬、姚亞峰(主編)、羅世軒、閆涵(副主編)。 作者團隊既有長(cháng)期從事高職電子商務(wù)專(zhuān)業(yè)網(wǎng)絡(luò )營(yíng)銷(xiāo)教學(xué)的教師,也有具有豐富實(shí)踐經(jīng)驗的搜索引擎優(yōu)化人員。
  
  內容介紹:本書(shū)系統地介紹了搜索引擎優(yōu)化(SEO)的方法。 全書(shū)共11章,包括SEO概述、搜索引擎概述、SEO準備工作、網(wǎng)站關(guān)鍵詞優(yōu)化、網(wǎng)站結構優(yōu)化、網(wǎng)站頁(yè)面優(yōu)化、網(wǎng)站內容優(yōu)化、網(wǎng)站鏈接優(yōu)化、常用SEO工具、數據監控SEO與分析移動(dòng)網(wǎng)站。 本書(shū)內容豐富,實(shí)踐性強,以數據思維為導向,以成功的實(shí)際案例進(jìn)行講解。 它不僅能讓讀者了解SEO的基本知識,還能幫助讀者掌握利用SEO提高網(wǎng)站排名和流量的方法。 查看全部

  干貨教程:優(yōu)采云萬(wàn)能文章采集器教程(優(yōu)采云萬(wàn)能文章采集軟件)
  優(yōu)采云萬(wàn)能文章采集器,一款無(wú)技術(shù)門(mén)檻即可上手的免費采集工具。 優(yōu)采云萬(wàn)能文章采集器通過(guò)使用CSS選擇器識別HTML頁(yè)面中的信息,協(xié)助網(wǎng)站定義規則和任務(wù)。 將根據網(wǎng)站指定的執行計劃采集信息,并將結果以表格的形式存儲在瀏覽器中,以后可以保存為CSV或XLS文件。
  站長(cháng)只需要打開(kāi)一個(gè)頁(yè)面, 優(yōu)采云萬(wàn)能文章采集器會(huì )自動(dòng)識別表格數據或選擇需要手動(dòng)抓取的元素,然后告訴插件如何在頁(yè)面之間(甚至站點(diǎn)之間)導航(它還會(huì )嘗試自動(dòng)查找導航按鈕) 優(yōu)采云 Universal 文章 采集器還可以通過(guò)自動(dòng)導航頁(yè)面智能理解數據模式并提取所有數據。
  
  另外, 優(yōu)采云萬(wàn)能文章采集器安裝后即可啟動(dòng)使用,以最快的速度完成多頁(yè)采集。 強大的多層次網(wǎng)頁(yè)采集,無(wú)需任何編碼,可視化創(chuàng )建,跨多個(gè)頁(yè)面采集信息。 自動(dòng)規則,所有數據安全存儲在異地,雙重維護,定時(shí)任務(wù)自動(dòng)運行,無(wú)需學(xué)習python、javascript、xpath、json、iframe等技術(shù),快速上手。
  優(yōu)采云萬(wàn)能文章采集器可以自動(dòng)識別表格數據,自動(dòng)采集或轉換多網(wǎng)頁(yè)數據。 數據變化監控和實(shí)時(shí)通知,動(dòng)態(tài)頁(yè)面爬取,多種明細格式采集,支持無(wú)限滾動(dòng)。 優(yōu)采云萬(wàn)能文章采集器支持多種分頁(yè)方式、跨網(wǎng)站采集或數據轉換、增量采集、自動(dòng)生成采集規則、可視化采集規則編輯。
  優(yōu)采云萬(wàn)能文章采集器的無(wú)限數據導出到 Excel 或 CSV 文件,外加國際語(yǔ)言支持。 高度隱私:所有數據都存儲在用戶(hù)本地。 保密性高:多層加密保護,不接觸任何目標采集網(wǎng)站的用戶(hù)賬號或cookie信息。
  
  互聯(lián)網(wǎng)上有海量的數據資源。 想要抓取這些數據,就離不開(kāi)優(yōu)采云萬(wàn)能文章采集器。 速度和數據質(zhì)量:由于時(shí)間通常是限制因素,大規模爬取需要優(yōu)采云 Universal 文章 采集器的爬蟲(chóng)在不影響數據質(zhì)量的情況下高速爬取網(wǎng)頁(yè)。 這種對速度的要求使得爬取大規模的產(chǎn)品數據極具挑戰性。
  網(wǎng)站格式多變:網(wǎng)頁(yè)本身是基于HTML等松散規范建立的,各個(gè)網(wǎng)頁(yè)之間互不兼容,導致網(wǎng)頁(yè)結構復雜多變。 在 Ucai 優(yōu)采云 Universal 文章 采集器的規模上進(jìn)行爬取時(shí),您不僅要瀏覽數百個(gè)代碼草率的網(wǎng)站,而且還要被迫應對不斷變化的網(wǎng)站。 *** 訪(fǎng)問(wèn)不穩定:如果某一時(shí)刻網(wǎng)站訪(fǎng)問(wèn)壓力過(guò)大,或者服務(wù)器出現問(wèn)題,可能無(wú)法正常響應用戶(hù)瀏覽網(wǎng)頁(yè)的需求。 對于優(yōu)采云 Universal 文章 采集器來(lái)說(shuō),一旦出現意外情況,很可能會(huì )因為不知道如何處理而崩潰或邏輯中斷。
  網(wǎng)頁(yè)內容魚(yú)龍混雜:網(wǎng)頁(yè)顯示的內容除了有用的數據外,還有各種無(wú)效的信息; 有效信息的呈現方式也多種多樣,網(wǎng)頁(yè)上出現的數據格式也多種多樣。 網(wǎng)頁(yè)訪(fǎng)問(wèn)限制:網(wǎng)頁(yè)有訪(fǎng)問(wèn)頻率限制,如果網(wǎng)站訪(fǎng)問(wèn)頻率過(guò)高,將面臨IP被封的風(fēng)險。 網(wǎng)頁(yè)防采集機制:一些網(wǎng)站為了阻斷某些惡意采集,采取了防采集措施。 數據分析難度大: 優(yōu)采云大型萬(wàn)能文章采集器保證數據質(zhì)量,完整的數據輕松流入你的數據流,從而提升數據分析的效果。
  解決方案:SEO搜索引擎優(yōu)化:基礎、案例與實(shí)戰(第2版) Kindle電子書(shū)
  
  作者簡(jiǎn)介:楊任、程鵬、姚亞峰(主編)、羅世軒、閆涵(副主編)。 作者團隊既有長(cháng)期從事高職電子商務(wù)專(zhuān)業(yè)網(wǎng)絡(luò )營(yíng)銷(xiāo)教學(xué)的教師,也有具有豐富實(shí)踐經(jīng)驗的搜索引擎優(yōu)化人員。
  
  內容介紹:本書(shū)系統地介紹了搜索引擎優(yōu)化(SEO)的方法。 全書(shū)共11章,包括SEO概述、搜索引擎概述、SEO準備工作、網(wǎng)站關(guān)鍵詞優(yōu)化、網(wǎng)站結構優(yōu)化、網(wǎng)站頁(yè)面優(yōu)化、網(wǎng)站內容優(yōu)化、網(wǎng)站鏈接優(yōu)化、常用SEO工具、數據監控SEO與分析移動(dòng)網(wǎng)站。 本書(shū)內容豐富,實(shí)踐性強,以數據思維為導向,以成功的實(shí)際案例進(jìn)行講解。 它不僅能讓讀者了解SEO的基本知識,還能幫助讀者掌握利用SEO提高網(wǎng)站排名和流量的方法。

匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 113 次瀏覽 ? 2022-12-19 05:12 ? 來(lái)自相關(guān)話(huà)題

  匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?
  
  RQKXARXm
  
  優(yōu)采云采集器 dede 列列出采集問(wèn)題?,F在我用 V9,用軟件自帶的 dede 5.7 文章,跟著(zhù)自己網(wǎng)站的地址,用自己網(wǎng)站的用戶(hù)名和密碼,其實(shí)登錄成功了,還可以不時(shí)獲取列表目錄 ID 和名稱(chēng)。然后構建自己的 Web 發(fā)布模塊,粘貼并復制代碼直接獲取列 ID 和名稱(chēng),但無(wú)法獲取列 ID 和列表。我喝醉了!!!!!!!!!!如何獲取此列列表 ID?現在關(guān)于訪(fǎng)問(wèn)有兩種混淆:首先,從生成菜單中,生成列HTML獲取方法。如果有案例就好了。其次,從添加的文章和列列表中獲取方法。如果有案例就好了。
  干貨教程:NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文獻采集工具
  NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文檔采集工具
  發(fā)布者:shen1045
  2022-07-11
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...
  NoteExpress網(wǎng)絡(luò )捕手插件開(kāi)發(fā)后臺
  
  作為一些科研工作者或者學(xué)生黨,閱讀文獻幾乎是很多人每天需要做的事情。很多人喜歡用Chrome瀏覽器閱讀文檔,那么如何才能一鍵保存有價(jià)值的內容,并進(jìn)行有效的管理呢?畢竟隨著(zhù)時(shí)間的積累,瀏覽的文檔會(huì )越來(lái)越多。
  因此,一款簡(jiǎn)單實(shí)用的文檔管理軟件必不可少。這款NoteExpress網(wǎng)絡(luò )捕手插件可以幫助用戶(hù)將Chrome瀏覽器中任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄,有助于構建知識網(wǎng)絡(luò ),提高科研效率。
  NoteExpress網(wǎng)絡(luò )捕手插件功能介紹
  NoteExpress網(wǎng)頁(yè)捕手插件作為一款簡(jiǎn)單高效的NoteExpress知識庫文檔采集工具,不僅支持多屏、跨平臺協(xié)同工作,還可以讓用戶(hù)直接利用碎片時(shí)間在不同平臺之間編輯文檔屏幕和不同平臺高效地完成跟蹤和采集工作。
  NoteExpress網(wǎng)絡(luò )捕手插件支持傳統的樹(shù)結構分類(lèi)和靈活的標簽分類(lèi)。靈活多樣的分類(lèi)方式,讓用戶(hù)輕松管理文檔。同時(shí),該插件還支持智能識別全文關(guān)鍵信息,并可自動(dòng)更新補全參考書(shū)目。
  此外,這款插件不僅是一個(gè)強大的期刊管理器,還支持Microsoft Office Word或金山WPS。內置JCR近5年期刊影響因子、國內外主流期刊收錄范圍和中科院期刊分部數據。當用戶(hù)直接添加文檔并自動(dòng)匹配并填寫(xiě)相關(guān)信息時(shí),還可以在寫(xiě)作時(shí)直接引用參考文獻。
  NoteExpress網(wǎng)捕手插件使用方法
  1.安裝插件
  如果可能,您可以直接從 Google Chrome 商店下載并安裝它。如果您無(wú)法訪(fǎng)問(wèn)Chrome商店,請從擴展風(fēng)扇下載NoteExpress網(wǎng)絡(luò )捕手插件安裝包,解壓并在您的谷歌瀏覽器上安裝crx文件。
  
  2.使用方法
  NoteExpress網(wǎng)絡(luò )捕手插件安裝后,需要配合本地NoteExpress程序使用。如果本地NoteExpress程序沒(méi)有啟動(dòng),直接點(diǎn)擊瀏覽器上方工具欄中的插件圖標即可啟動(dòng)本地NoteExpress程序。
  值得注意的是,此類(lèi)操作需要用戶(hù)授權才能執行。如果出現提示,請在選中“記住我對此類(lèi)鏈接的選擇”后單擊“啟動(dòng)應用程序”。NoteExpress程序啟動(dòng)后,再次點(diǎn)擊插件即可正常使用。
  如果要保存網(wǎng)頁(yè)內容,首先需要點(diǎn)擊瀏覽器上方工具欄中的插件圖標,選擇要保存的文件夾位置,然后選擇要保存的內容,最后點(diǎn)擊【保存]在右上角彈出的小窗口中]按鈕。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻... 查看全部

  匯總:優(yōu)采云采集dedecms無(wú)法獲取分類(lèi)列表?
  
  RQKXARXm
  
  優(yōu)采云采集器 dede 列列出采集問(wèn)題?,F在我用 V9,用軟件自帶的 dede 5.7 文章,跟著(zhù)自己網(wǎng)站的地址,用自己網(wǎng)站的用戶(hù)名和密碼,其實(shí)登錄成功了,還可以不時(shí)獲取列表目錄 ID 和名稱(chēng)。然后構建自己的 Web 發(fā)布模塊,粘貼并復制代碼直接獲取列 ID 和名稱(chēng),但無(wú)法獲取列 ID 和列表。我喝醉了!!!!!!!!!!如何獲取此列列表 ID?現在關(guān)于訪(fǎng)問(wèn)有兩種混淆:首先,從生成菜單中,生成列HTML獲取方法。如果有案例就好了。其次,從添加的文章和列列表中獲取方法。如果有案例就好了。
  干貨教程:NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文獻采集工具
  NoteExpress網(wǎng)絡(luò )捕手插件,NoteExpress知識庫文檔采集工具
  發(fā)布者:shen1045
  2022-07-11
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress網(wǎng)絡(luò )捕手插件是一款簡(jiǎn)單實(shí)用的NoteExpress知識庫采集工具。該插件可以幫助用戶(hù)將Chrome瀏覽器中的任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄。有效協(xié)助用戶(hù)高效采集數據。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...
  NoteExpress網(wǎng)絡(luò )捕手插件開(kāi)發(fā)后臺
  
  作為一些科研工作者或者學(xué)生黨,閱讀文獻幾乎是很多人每天需要做的事情。很多人喜歡用Chrome瀏覽器閱讀文檔,那么如何才能一鍵保存有價(jià)值的內容,并進(jìn)行有效的管理呢?畢竟隨著(zhù)時(shí)間的積累,瀏覽的文檔會(huì )越來(lái)越多。
  因此,一款簡(jiǎn)單實(shí)用的文檔管理軟件必不可少。這款NoteExpress網(wǎng)絡(luò )捕手插件可以幫助用戶(hù)將Chrome瀏覽器中任意網(wǎng)頁(yè)內容一鍵保存到NoteExpress當前數據庫中的任意指定目錄,有助于構建知識網(wǎng)絡(luò ),提高科研效率。
  NoteExpress網(wǎng)絡(luò )捕手插件功能介紹
  NoteExpress網(wǎng)頁(yè)捕手插件作為一款簡(jiǎn)單高效的NoteExpress知識庫文檔采集工具,不僅支持多屏、跨平臺協(xié)同工作,還可以讓用戶(hù)直接利用碎片時(shí)間在不同平臺之間編輯文檔屏幕和不同平臺高效地完成跟蹤和采集工作。
  NoteExpress網(wǎng)絡(luò )捕手插件支持傳統的樹(shù)結構分類(lèi)和靈活的標簽分類(lèi)。靈活多樣的分類(lèi)方式,讓用戶(hù)輕松管理文檔。同時(shí),該插件還支持智能識別全文關(guān)鍵信息,并可自動(dòng)更新補全參考書(shū)目。
  此外,這款插件不僅是一個(gè)強大的期刊管理器,還支持Microsoft Office Word或金山WPS。內置JCR近5年期刊影響因子、國內外主流期刊收錄范圍和中科院期刊分部數據。當用戶(hù)直接添加文檔并自動(dòng)匹配并填寫(xiě)相關(guān)信息時(shí),還可以在寫(xiě)作時(shí)直接引用參考文獻。
  NoteExpress網(wǎng)捕手插件使用方法
  1.安裝插件
  如果可能,您可以直接從 Google Chrome 商店下載并安裝它。如果您無(wú)法訪(fǎng)問(wèn)Chrome商店,請從擴展風(fēng)扇下載NoteExpress網(wǎng)絡(luò )捕手插件安裝包,解壓并在您的谷歌瀏覽器上安裝crx文件。
  
  2.使用方法
  NoteExpress網(wǎng)絡(luò )捕手插件安裝后,需要配合本地NoteExpress程序使用。如果本地NoteExpress程序沒(méi)有啟動(dòng),直接點(diǎn)擊瀏覽器上方工具欄中的插件圖標即可啟動(dòng)本地NoteExpress程序。
  值得注意的是,此類(lèi)操作需要用戶(hù)授權才能執行。如果出現提示,請在選中“記住我對此類(lèi)鏈接的選擇”后單擊“啟動(dòng)應用程序”。NoteExpress程序啟動(dòng)后,再次點(diǎn)擊插件即可正常使用。
  如果要保存網(wǎng)頁(yè)內容,首先需要點(diǎn)擊瀏覽器上方工具欄中的插件圖標,選擇要保存的文件夾位置,然后選擇要保存的內容,最后點(diǎn)擊【保存]在右上角彈出的小窗口中]按鈕。
  NoteExpress 網(wǎng)絡(luò )捕手
  量產(chǎn)工具插件 2021-12-213.6
  從 Chrome 瀏覽器一鍵保存文檔到 NoteExpress!NoteExpress幫助您高效地采集、管理、分析和引用文獻...

匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 288 次瀏覽 ? 2022-12-16 10:19 ? 來(lái)自相關(guān)話(huà)題

  匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端
  文章采集器新媒體管家新媒體管家官網(wǎng)是一款編輯器軟件工具,支持包括騰訊新聞客戶(hù)端、新浪新聞客戶(hù)端、百度新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、阿里新聞客戶(hù)端、騰訊新聞客戶(hù)端等新聞客戶(hù)端自媒體平臺網(wǎng)站的自媒體平臺數據采集工具、新聞評論、公眾號實(shí)時(shí)排行榜、熱文追蹤等功能,一鍵全網(wǎng)采集頭條新聞熱文,即使用手機端也能輕松抓熱點(diǎn)。
  
  一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端新聞客戶(hù)端一般每月出現3次左右的熱點(diǎn),分別是7日新聞、14日新聞和21日新聞。這三次的熱點(diǎn)流量是最大的,一般自媒體寫(xiě)文,哪怕沒(méi)有提前掌握熱點(diǎn),只要碰上寫(xiě)一篇新聞評論也能有不錯的閱讀量。而一個(gè)月出現3次熱點(diǎn),算是熱點(diǎn)界限的標準了,做新聞需要的是針對某個(gè)敏感時(shí)段,抓住關(guān)鍵點(diǎn),作為自己的內容發(fā)布出去。
  
  快速從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端的新聞內容一般關(guān)鍵詞=話(huà)題詞+新聞客戶(hù)端從12個(gè)新聞客戶(hù)端中采集頭條、21日、14日、21日新聞14日新聞=搜狗、360、搜狐三大新聞客戶(hù)端21日新聞=騰訊新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、搜狐新聞客戶(hù)端六大新聞客戶(hù)端熱文采集相關(guān)熱文新聞評論追蹤平臺一鍵全網(wǎng)采集頭條新聞熱文被封的文章,可以按照被封原因在新聞評論中回復。
  全網(wǎng)采集針對字數限制200字以?xún)?,字數比較多的文章,可以設置字數限制,并且采集字數后再更新熱文評論追蹤平臺一鍵全網(wǎng)采集0字符文章回復不建議采集的文章:直接發(fā)布到公眾號的文章;文章標題帶有網(wǎng)址鏈接,在微信中直接打開(kāi);關(guān)鍵詞帶有微信號/電話(huà)號碼,在微信公眾號發(fā)布。一鍵全網(wǎng)采集一些要求比較高的熱文。 查看全部

  匯總:一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端
  文章采集器新媒體管家新媒體管家官網(wǎng)是一款編輯器軟件工具,支持包括騰訊新聞客戶(hù)端、新浪新聞客戶(hù)端、百度新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、阿里新聞客戶(hù)端、騰訊新聞客戶(hù)端等新聞客戶(hù)端自媒體平臺網(wǎng)站的自媒體平臺數據采集工具、新聞評論、公眾號實(shí)時(shí)排行榜、熱文追蹤等功能,一鍵全網(wǎng)采集頭條新聞熱文,即使用手機端也能輕松抓熱點(diǎn)。
  
  一鍵從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端新聞客戶(hù)端一般每月出現3次左右的熱點(diǎn),分別是7日新聞、14日新聞和21日新聞。這三次的熱點(diǎn)流量是最大的,一般自媒體寫(xiě)文,哪怕沒(méi)有提前掌握熱點(diǎn),只要碰上寫(xiě)一篇新聞評論也能有不錯的閱讀量。而一個(gè)月出現3次熱點(diǎn),算是熱點(diǎn)界限的標準了,做新聞需要的是針對某個(gè)敏感時(shí)段,抓住關(guān)鍵點(diǎn),作為自己的內容發(fā)布出去。
  
  快速從頭條新聞熱文全網(wǎng)采集8個(gè)新聞客戶(hù)端的新聞內容一般關(guān)鍵詞=話(huà)題詞+新聞客戶(hù)端從12個(gè)新聞客戶(hù)端中采集頭條、21日、14日、21日新聞14日新聞=搜狗、360、搜狐三大新聞客戶(hù)端21日新聞=騰訊新聞客戶(hù)端、網(wǎng)易新聞客戶(hù)端、鳳凰新聞客戶(hù)端、搜狐新聞客戶(hù)端六大新聞客戶(hù)端熱文采集相關(guān)熱文新聞評論追蹤平臺一鍵全網(wǎng)采集頭條新聞熱文被封的文章,可以按照被封原因在新聞評論中回復。
  全網(wǎng)采集針對字數限制200字以?xún)?,字數比較多的文章,可以設置字數限制,并且采集字數后再更新熱文評論追蹤平臺一鍵全網(wǎng)采集0字符文章回復不建議采集的文章:直接發(fā)布到公眾號的文章;文章標題帶有網(wǎng)址鏈接,在微信中直接打開(kāi);關(guān)鍵詞帶有微信號/電話(huà)號碼,在微信公眾號發(fā)布。一鍵全網(wǎng)采集一些要求比較高的熱文。

技巧:快速上手 Pythond 采集器的最佳實(shí)踐

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 159 次瀏覽 ? 2022-12-07 22:38 ? 來(lái)自相關(guān)話(huà)題

  技巧:快速上手 Pythond 采集器的最佳實(shí)踐
  Pythond 是一組完整的場(chǎng)景,用于定期觸發(fā)用戶(hù)定義的 Python 采集腳本。本文以“獲取每小時(shí)登錄用戶(hù)數”為指標向中心上報。
  1.1. 商務(wù)演示簡(jiǎn)介
  業(yè)務(wù)流程大致如下:采集數據庫中的數據(Python 腳本)->pythond 采集器觸發(fā)腳本定期上報數據(datakit)->指標可以從中心(web)看到。
  數據庫現在有一個(gè)名為“客戶(hù)”的表,其中收錄以下字段:
  ● 名稱(chēng):名稱(chēng)(字符串)。
  ● last_logined_time:登錄時(shí)間(時(shí)間戳)。
  表創(chuàng )建語(yǔ)句如下:
  創(chuàng )建表客戶(hù)
 ?。?br />   idBIGINT(20) 不為空 AUTO_INCREMENT 注釋 '增量 ID',
  last_logined_time BIGINT(20) 不為空 默認 0COMMENT '登錄時(shí)間(時(shí)間戳),
  名稱(chēng)VARCHAR(48) 不為空 默認值 ''注釋 '名稱(chēng)',
  主鍵,
  關(guān)鍵idx_last_logined_time(last_logined_time)
 ?。?引擎=InnoDB 默認字符集=utf8mb4;
  將測試數據插入上表中:
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(1、1645600127、“張山”);
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(2、1645600127、“l(fā)isi”);
  插入客戶(hù)(ID、last_logined_time、姓名)值(3、1645600127、“王武”);
  使用以下 SQL 語(yǔ)句獲取每小時(shí)登錄的用戶(hù)數:
  從客戶(hù)中選擇 count(1),其中 last_logined_time>=(unix_timestamp()-3600);
  以上數據以指標形式上報中心。
  下面詳細介紹了實(shí)現此目的的步驟。
  1.2. 前提條件 1.2.1.蟒蛇環(huán)境
  蟒
  需要安裝,Pythond 采集器目前處于 alpha 階段,并且與 Python 2.7+ 和 Python 3+ 兼容。不過(guò)為了以后的兼容性,強烈建議使用 Python 3,畢竟官方不支持 Python 2。以下演示也使用 Python 3。
  1.2.2. Python 依賴(lài)項
  需要安裝以下依賴(lài)項:
  ● 請求(運營(yíng)網(wǎng)絡(luò ),用于報告指標)。
  pymySQL(操作MySQL數據庫,用于連接到數據庫以獲取業(yè)務(wù)數據)。
  安裝方法如下:
  蟒蛇3
  python3 -m pip 安裝請求
  python3 -m pip install pymysql
  上面的安裝需要安裝 pip,如果沒(méi)有,可以參考以下方法(來(lái)自:這里):
  Linux/MacOS
  python3 -m ensurepip --upgrade
  窗戶(hù)
  py -m ensurepip --upgrade
  1.3. 編寫(xiě)用戶(hù)自定義腳本
  用戶(hù)需要繼承 DataKitFramework 類(lèi),然后重寫(xiě) run 方法。DataKitFramework 類(lèi)源代碼文件datakit_framework.py,路徑為 datakit/python.d/core/datakit_framework.py。
  有關(guān)具體用法,請參閱源代碼文件 datakit/python.d/core/demo.py。
  根據上述要求,我們在這里編寫(xiě)以下 Python 腳本,命名為 hellopythond.py:
  從 datakit_framework 導入 DataKitFramework
  導入 pymysql
  進(jìn)口再
  導入日志記錄
  類(lèi) MysqlConn():
  def __init__(self, logger, config):
self.logger = logger
self.config = config
self.re_errno = re.compile(r'^\((\d+),')
try:
self.conn = pymysql.Connect(**self.config)
self.logger.info("pymysql.Connect() ok, {0}".format(id(self.conn)))
except Exception as e:
raise e
def __del__(self):
self.close()
def close(self):
if self.conn:
self.logger.info("conn.close() {0}".format(id(self.conn)))
self.conn.close()
def execute_query(self, sql_str, sql_params=(), first=True):
res_list = None
cur = None
try:
cur = self.conn.cursor()
cur.execute(sql_str, sql_params)
res_list = cur.fetchall()
<p>
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_query(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return res_list
def execute_write(self, sql_str, sql_params=(), first=True):
cur = None
n = None
err = None
try:
cur = self.conn.cursor()
n = cur.execute(sql_str, sql_params)
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_write(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return n, err
def _deal_with_network_exception(self, stre):
errno_str = self._get_errorno_str(stre)
if errno_str != '2006' and errno_str != '2013' and errno_str != '0':
return False
try:
self.conn.ping()
except Exception as e:
return False
return True
def _get_errorno_str(self, stre):
searchObj = self.re_errno.search(stre)
if searchObj:
errno_str = searchObj.group(1)
else:
errno_str = '-1'
return errno_str
def _is_duplicated(self, stre):
errno_str = self._get_errorno_str(stre)
# 1062:字段值重復,入庫失敗
# 1169:字段值重復,更新記錄失敗
if errno_str == "1062" or errno_str == "1169":
return True
return False
</p>
  類(lèi)HelloPythond(DataKitFramework):
  =(unix_timestamp()-%s)“sql_params = ('3600')n = mysql_conn.execute_query(query_str, sql_params)data = [{”measurement“: ”hour_logined_customers_count“, # 指標名稱(chēng)?!皹撕灐保?{“tag_name”: “tag_value”, # 自定義標簽,根據要標記的內容填寫(xiě),我在這里隨便寫(xiě)}, “字段”: {“計數”: n[0][0], # 指標,這里是每小時(shí)登錄的用戶(hù)數},},]in_data = {'M':d ata,'input': “pyfromgit”}返回self.report( in_data) # 你必須在這里調用self.report“ title=”“ data-bs-original-title=”copy“ aria-label=”copy“ >
  __name = 'HelloPythond'
interval = 10 # 每 10 秒鐘采集上報一次。這個(gè)根據實(shí)際業(yè)務(wù)進(jìn)行調節,這里僅作演示。
# if your datakit ip is 127.0.0.1 and port is 9529, you won't need use this,
# just comment it.
# def __init__(self, **kwargs):
# super().__init__(ip = '127.0.0.1', port = 9529)
def run(self):
config = {
"host": "172.16.2.203",
"port": 30080,
"user": "root",
"password": "Kx2ADer7",
"db": "df_core",
"autocommit": True,
# "cursorclass": pymysql.cursors.DictCursor,
<p>
"charset": "utf8mb4"
}
mysql_conn = MysqlConn(logging.getLogger(''), config)
query_str = "select count(1) from customers where last_logined_time>=(unix_timestamp()-%s)"
sql_params = ('3600')
n = mysql_conn.execute_query(query_str, sql_params)
data = [
{
"measurement": "hour_logined_customers_count", # 指標名稱(chēng)。
"tags": {
"tag_name": "tag_value", # 自定義 tag,根據自己想要標記的填寫(xiě),我這里是隨便寫(xiě)的
},
"fields": {
"count": n[0][0], # 指標,這里是每個(gè)小時(shí)登錄的用戶(hù)數
},
},
]
in_data = {
'M':data,
'input': "pyfromgit"
}
return self.report(in_data) # you must call self.report here
</p>
  1.4. 將自定義腳本放置在正確的位置
  在 Datakit 安裝目錄的 python.d 目錄中創(chuàng )建一個(gè)新文件夾,并命名為 hellopythond,這個(gè)文件夾名應該和上面寫(xiě)的類(lèi)名一樣,即 hellopythond。
  然后將上面寫(xiě) hellopythond.py 腳本放在這個(gè)文件夾下,即最終的目錄結構如下:
  ├── ...
  ├── 資料套件
  └── 蟒蛇
  ├── core
│?? ├── datakit_framework.py
│?? └── demo.py
└── hellopythond
└── hellopythond.py
  上面的核心文件夾是 Python 的核心文件夾,不要動(dòng)。
  以上是未啟用 gitrepos 功能,
  如果啟用了 gitrepos 函數,則路徑結構如下所示:
  ├── ...
  ├── 資料套件
  ├── 蟒蛇
  ├── 吉曲波斯
  │ └── 您的項目
  │├── 確認
  │├── 流水線(xiàn)
  │└── 蟒蛇
  │└── 你好蟒蛇
  │└── hellopythond.py
  1.5. 啟用 pythond 配置文件
  復制 Pythond 配置文件。將 pythond.conf.sample 復制為 conf.d/pythond 目錄中的 pythond.conf,然后按如下方式配置:[
  [inputs.pythond]]
  # Python 采集器名稱(chēng)
name = 'some-python-inputs' # required
# 運行 Python 采集器所需的環(huán)境變量
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
# Python 采集器可執行程序路徑(盡可能寫(xiě)絕對路徑)
cmd = "python3" # required. python3 is recommended.
# 用戶(hù)腳本的相對路徑(填寫(xiě)文件夾,填好后該文件夾下一級目錄的模塊和 py 文件都將得到應用)
dirs = ["hellopythond"] # 這里填的是文件夾名,即類(lèi)名
  1.6. 重啟數據工具包
  sudo datakit --restart
  1.7. 效果圖
  如果一切順利,我們將能夠在大約 1 分鐘內看到中間的指標圖。
  1.8. 參考文檔
  ● 官方手冊:用 Python 開(kāi)發(fā)自定義采集器
  ● 官方手冊:通過(guò) Git 管理配置文件
  秘密:信息收集組合拳之從廢棄接口中尋找漏洞
  使用OneForAll工具按域名采集url和ip
  工具地址:GitHub - shmilylty/OneForAll:OneForAll是一款強大的子域名采集工具
  常用命令:python oneforall.py --targets targets.txt run
  將需要掃描的域名放在targets.txt中,運行后會(huì )在results文件夾下生成掃描結果
  在運行結果中,我們可以看到有url,子域名,ip
  其中,運行結果中的ip多行重復。我們需要把ip提取出來(lái),轉換成txt文本,每行一個(gè)ip,不重復,方便其他工具掃描
  腳本:刪除重復的 ip
  #!/usr/bin/env python# conding:utf-8<br />##把同一行的ip換行,然后寫(xiě)進(jìn)result.txt的文件里with open('ip.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): with open('result.txt','a',encoding='utf-8') as writelist: b = dirs.replace(",", '\n') writelist.write(b)<br />#去除重復ip,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://blog.csdn.net/qq_22764 ... s%3D1
  提取成這樣的一行只有一個(gè)ip,沒(méi)有重復的文字,我們可以放到goby,fscan,小米風(fēng)扇等工具中掃描
  fscan工具掃描ip
  工具地址:GitHub - shadow1ng/fscan:一款全面的內網(wǎng)掃描工具,方便一鍵自動(dòng)化,全方位漏掃。
  本工具主要用于內網(wǎng)掃描、資產(chǎn)發(fā)現、漏洞掃描和弱口令爆破。它運行得非???。對于一些網(wǎng)絡(luò )資產(chǎn)的外部網(wǎng)絡(luò )檢測和發(fā)現,它也是一個(gè)不錯的選擇。
  常用命令:全端口掃描 fscan64.exe -hf ip.txt -p 1-65535 -o result.txt
  將要掃描的ip地址放在ip.txt中,result.txt就是運行結果
  
  小米風(fēng)扇
  工具地址:我的小工具-標簽-范世強-博客園
 ?。ㄈ绻也坏竭@個(gè)版本的地址,就貼出作者博客的地址)
  JSFinder掃描js和url
  工具地址:GitHub - Threezh1/JSFinder:JSFinder是一款快速從網(wǎng)站JS文件中提取URL和子域名的工具。
  常用命令:python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt
  將要掃描的url放在targets.txt中,運行后會(huì )生成兩個(gè)txt文本,JSurl.txt為URL,JSdomain.txt為子域名
  上述工具的掃描結果收錄大量的url。如果我們需要更高效,我們可以先從參數入手,這樣我們就需要對收錄參數的url進(jìn)行過(guò)濾。
  腳本:帶參數提取url
  #!/usr/bin/env python# conding:utf-8<br />#字符串中有“?”且不在字符串的結尾的就寫(xiě)入result.txt中with open('JSurl.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): # re_result=re.search(r"'?'",dirs) # re_result=str(re_result) if "?" in dirs :#判斷字符中是否有“?”,如果有則返回該字符串的位置,是從坐標0開(kāi)始算的 re = dirs.find("?") # a=len(dirs)-2是為了判斷“?”是不是在最后一個(gè)字符,len()與find()不同是從一開(kāi)始算字符串的長(cháng)度的,在加上每行字符中\n換行符也占了一個(gè)字符,所以要減2 a=len(dirs)-2#判斷字符串中“?”是不是在字符的最后 if re < a : with open('result.txt','a',encoding='utf-8') as writelist: writelist.write(dirs)<br />#去除result.txt中的重復字符串,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://www.cnblogs.com/luguankun/p/11846401.html(判斷一個(gè)字符是否在一個(gè)字符串中)
  <br style="outline: 0px;" />
  腳本運行后生成的帶參數的url如下
  從已棄用的接口中查找漏洞
  有的網(wǎng)站經(jīng)過(guò)多輪滲透,正常業(yè)務(wù)測試很差,連邏輯漏洞都找不到。經(jīng)過(guò)以上信息采集,一般就可以采集到網(wǎng)站url的歷史業(yè)務(wù)了。
  然后我們使用腳本對url進(jìn)行處理和篩選,批量放入sqlmap中運行。還有一些敏感接口可以嘗試發(fā)現未授權訪(fǎng)問(wèn)、信息泄露等。
  sqlmap批量掃描
  
  常用命令:python sqlmap.py -m urls.txt --batch
  在 urls.txt 文件中,放入我們使用腳本“Extract url with parameters”過(guò)濾的 url
  除了參數,還可以用同樣的思路修改腳本,找到敏感接口和url跳轉參數等。
  通用敏感接口
  常用跳轉參數
  toUrl=
  登錄網(wǎng)址=
  注冊網(wǎng)址
  重定向網(wǎng)址=
  加載網(wǎng)址=
  proxy_url=
  文件網(wǎng)址=
  跳轉網(wǎng)址=
  在某個(gè)項目中,客戶(hù)想知道我是如何找到接口的
  侵權請私聊公眾號刪文 查看全部

  技巧:快速上手 Pythond 采集器的最佳實(shí)踐
  Pythond 是一組完整的場(chǎng)景,用于定期觸發(fā)用戶(hù)定義的 Python 采集腳本。本文以“獲取每小時(shí)登錄用戶(hù)數”為指標向中心上報。
  1.1. 商務(wù)演示簡(jiǎn)介
  業(yè)務(wù)流程大致如下:采集數據庫中的數據(Python 腳本)->pythond 采集器觸發(fā)腳本定期上報數據(datakit)->指標可以從中心(web)看到。
  數據庫現在有一個(gè)名為“客戶(hù)”的表,其中收錄以下字段:
  ● 名稱(chēng):名稱(chēng)(字符串)。
  ● last_logined_time:登錄時(shí)間(時(shí)間戳)。
  表創(chuàng )建語(yǔ)句如下:
  創(chuàng )建表客戶(hù)
 ?。?br />   idBIGINT(20) 不為空 AUTO_INCREMENT 注釋 '增量 ID',
  last_logined_time BIGINT(20) 不為空 默認 0COMMENT '登錄時(shí)間(時(shí)間戳),
  名稱(chēng)VARCHAR(48) 不為空 默認值 ''注釋 '名稱(chēng)',
  主鍵,
  關(guān)鍵idx_last_logined_time(last_logined_time)
 ?。?引擎=InnoDB 默認字符集=utf8mb4;
  將測試數據插入上表中:
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(1、1645600127、“張山”);
  插入客戶(hù)(ID、last_logined_time、名稱(chēng))值(2、1645600127、“l(fā)isi”);
  插入客戶(hù)(ID、last_logined_time、姓名)值(3、1645600127、“王武”);
  使用以下 SQL 語(yǔ)句獲取每小時(shí)登錄的用戶(hù)數:
  從客戶(hù)中選擇 count(1),其中 last_logined_time>=(unix_timestamp()-3600);
  以上數據以指標形式上報中心。
  下面詳細介紹了實(shí)現此目的的步驟。
  1.2. 前提條件 1.2.1.蟒蛇環(huán)境
  蟒
  需要安裝,Pythond 采集器目前處于 alpha 階段,并且與 Python 2.7+ 和 Python 3+ 兼容。不過(guò)為了以后的兼容性,強烈建議使用 Python 3,畢竟官方不支持 Python 2。以下演示也使用 Python 3。
  1.2.2. Python 依賴(lài)項
  需要安裝以下依賴(lài)項:
  ● 請求(運營(yíng)網(wǎng)絡(luò ),用于報告指標)。
  pymySQL(操作MySQL數據庫,用于連接到數據庫以獲取業(yè)務(wù)數據)。
  安裝方法如下:
  蟒蛇3
  python3 -m pip 安裝請求
  python3 -m pip install pymysql
  上面的安裝需要安裝 pip,如果沒(méi)有,可以參考以下方法(來(lái)自:這里):
  Linux/MacOS
  python3 -m ensurepip --upgrade
  窗戶(hù)
  py -m ensurepip --upgrade
  1.3. 編寫(xiě)用戶(hù)自定義腳本
  用戶(hù)需要繼承 DataKitFramework 類(lèi),然后重寫(xiě) run 方法。DataKitFramework 類(lèi)源代碼文件datakit_framework.py,路徑為 datakit/python.d/core/datakit_framework.py。
  有關(guān)具體用法,請參閱源代碼文件 datakit/python.d/core/demo.py。
  根據上述要求,我們在這里編寫(xiě)以下 Python 腳本,命名為 hellopythond.py:
  從 datakit_framework 導入 DataKitFramework
  導入 pymysql
  進(jìn)口再
  導入日志記錄
  類(lèi) MysqlConn():
  def __init__(self, logger, config):
self.logger = logger
self.config = config
self.re_errno = re.compile(r'^\((\d+),')
try:
self.conn = pymysql.Connect(**self.config)
self.logger.info("pymysql.Connect() ok, {0}".format(id(self.conn)))
except Exception as e:
raise e
def __del__(self):
self.close()
def close(self):
if self.conn:
self.logger.info("conn.close() {0}".format(id(self.conn)))
self.conn.close()
def execute_query(self, sql_str, sql_params=(), first=True):
res_list = None
cur = None
try:
cur = self.conn.cursor()
cur.execute(sql_str, sql_params)
res_list = cur.fetchall()
<p>
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_query(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return res_list
def execute_write(self, sql_str, sql_params=(), first=True):
cur = None
n = None
err = None
try:
cur = self.conn.cursor()
n = cur.execute(sql_str, sql_params)
except Exception as e:
err = str(e)
self.logger.error('execute_query: {0}'.format(err))
if first:
retry = self._deal_with_network_exception(err)
if retry:
return self.execute_write(sql_str, sql_params, False)
finally:
if cur is not None:
cur.close()
return n, err
def _deal_with_network_exception(self, stre):
errno_str = self._get_errorno_str(stre)
if errno_str != '2006' and errno_str != '2013' and errno_str != '0':
return False
try:
self.conn.ping()
except Exception as e:
return False
return True
def _get_errorno_str(self, stre):
searchObj = self.re_errno.search(stre)
if searchObj:
errno_str = searchObj.group(1)
else:
errno_str = '-1'
return errno_str
def _is_duplicated(self, stre):
errno_str = self._get_errorno_str(stre)
# 1062:字段值重復,入庫失敗
# 1169:字段值重復,更新記錄失敗
if errno_str == "1062" or errno_str == "1169":
return True
return False
</p>
  類(lèi)HelloPythond(DataKitFramework):
  =(unix_timestamp()-%s)“sql_params = ('3600')n = mysql_conn.execute_query(query_str, sql_params)data = [{”measurement“: ”hour_logined_customers_count“, # 指標名稱(chēng)?!皹撕灐保?{“tag_name”: “tag_value”, # 自定義標簽,根據要標記的內容填寫(xiě),我在這里隨便寫(xiě)}, “字段”: {“計數”: n[0][0], # 指標,這里是每小時(shí)登錄的用戶(hù)數},},]in_data = {'M':d ata,'input': “pyfromgit”}返回self.report( in_data) # 你必須在這里調用self.report“ title=”“ data-bs-original-title=”copy“ aria-label=”copy“ >
  __name = 'HelloPythond'
interval = 10 # 每 10 秒鐘采集上報一次。這個(gè)根據實(shí)際業(yè)務(wù)進(jìn)行調節,這里僅作演示。
# if your datakit ip is 127.0.0.1 and port is 9529, you won't need use this,
# just comment it.
# def __init__(self, **kwargs):
# super().__init__(ip = '127.0.0.1', port = 9529)
def run(self):
config = {
"host": "172.16.2.203",
"port": 30080,
"user": "root",
"password": "Kx2ADer7",
"db": "df_core",
"autocommit": True,
# "cursorclass": pymysql.cursors.DictCursor,
<p>
"charset": "utf8mb4"
}
mysql_conn = MysqlConn(logging.getLogger(''), config)
query_str = "select count(1) from customers where last_logined_time>=(unix_timestamp()-%s)"
sql_params = ('3600')
n = mysql_conn.execute_query(query_str, sql_params)
data = [
{
"measurement": "hour_logined_customers_count", # 指標名稱(chēng)。
"tags": {
"tag_name": "tag_value", # 自定義 tag,根據自己想要標記的填寫(xiě),我這里是隨便寫(xiě)的
},
"fields": {
"count": n[0][0], # 指標,這里是每個(gè)小時(shí)登錄的用戶(hù)數
},
},
]
in_data = {
'M':data,
'input': "pyfromgit"
}
return self.report(in_data) # you must call self.report here
</p>
  1.4. 將自定義腳本放置在正確的位置
  在 Datakit 安裝目錄的 python.d 目錄中創(chuàng )建一個(gè)新文件夾,并命名為 hellopythond,這個(gè)文件夾名應該和上面寫(xiě)的類(lèi)名一樣,即 hellopythond。
  然后將上面寫(xiě) hellopythond.py 腳本放在這個(gè)文件夾下,即最終的目錄結構如下:
  ├── ...
  ├── 資料套件
  └── 蟒蛇
  ├── core
│?? ├── datakit_framework.py
│?? └── demo.py
└── hellopythond
└── hellopythond.py
  上面的核心文件夾是 Python 的核心文件夾,不要動(dòng)。
  以上是未啟用 gitrepos 功能,
  如果啟用了 gitrepos 函數,則路徑結構如下所示:
  ├── ...
  ├── 資料套件
  ├── 蟒蛇
  ├── 吉曲波斯
  │ └── 您的項目
  │├── 確認
  │├── 流水線(xiàn)
  │└── 蟒蛇
  │└── 你好蟒蛇
  │└── hellopythond.py
  1.5. 啟用 pythond 配置文件
  復制 Pythond 配置文件。將 pythond.conf.sample 復制為 conf.d/pythond 目錄中的 pythond.conf,然后按如下方式配置:[
  [inputs.pythond]]
  # Python 采集器名稱(chēng)
name = 'some-python-inputs' # required
# 運行 Python 采集器所需的環(huán)境變量
#envs = ['LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH',]
# Python 采集器可執行程序路徑(盡可能寫(xiě)絕對路徑)
cmd = "python3" # required. python3 is recommended.
# 用戶(hù)腳本的相對路徑(填寫(xiě)文件夾,填好后該文件夾下一級目錄的模塊和 py 文件都將得到應用)
dirs = ["hellopythond"] # 這里填的是文件夾名,即類(lèi)名
  1.6. 重啟數據工具包
  sudo datakit --restart
  1.7. 效果圖
  如果一切順利,我們將能夠在大約 1 分鐘內看到中間的指標圖。
  1.8. 參考文檔
  ● 官方手冊:用 Python 開(kāi)發(fā)自定義采集器
  ● 官方手冊:通過(guò) Git 管理配置文件
  秘密:信息收集組合拳之從廢棄接口中尋找漏洞
  使用OneForAll工具按域名采集url和ip
  工具地址:GitHub - shmilylty/OneForAll:OneForAll是一款強大的子域名采集工具
  常用命令:python oneforall.py --targets targets.txt run
  將需要掃描的域名放在targets.txt中,運行后會(huì )在results文件夾下生成掃描結果
  在運行結果中,我們可以看到有url,子域名,ip
  其中,運行結果中的ip多行重復。我們需要把ip提取出來(lái),轉換成txt文本,每行一個(gè)ip,不重復,方便其他工具掃描
  腳本:刪除重復的 ip
  #!/usr/bin/env python# conding:utf-8<br />##把同一行的ip換行,然后寫(xiě)進(jìn)result.txt的文件里with open('ip.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): with open('result.txt','a',encoding='utf-8') as writelist: b = dirs.replace(",", '\n') writelist.write(b)<br />#去除重復ip,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://blog.csdn.net/qq_22764 ... s%3D1
  提取成這樣的一行只有一個(gè)ip,沒(méi)有重復的文字,我們可以放到goby,fscan,小米風(fēng)扇等工具中掃描
  fscan工具掃描ip
  工具地址:GitHub - shadow1ng/fscan:一款全面的內網(wǎng)掃描工具,方便一鍵自動(dòng)化,全方位漏掃。
  本工具主要用于內網(wǎng)掃描、資產(chǎn)發(fā)現、漏洞掃描和弱口令爆破。它運行得非???。對于一些網(wǎng)絡(luò )資產(chǎn)的外部網(wǎng)絡(luò )檢測和發(fā)現,它也是一個(gè)不錯的選擇。
  常用命令:全端口掃描 fscan64.exe -hf ip.txt -p 1-65535 -o result.txt
  將要掃描的ip地址放在ip.txt中,result.txt就是運行結果
  
  小米風(fēng)扇
  工具地址:我的小工具-標簽-范世強-博客園
 ?。ㄈ绻也坏竭@個(gè)版本的地址,就貼出作者博客的地址)
  JSFinder掃描js和url
  工具地址:GitHub - Threezh1/JSFinder:JSFinder是一款快速從網(wǎng)站JS文件中提取URL和子域名的工具。
  常用命令:python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt
  將要掃描的url放在targets.txt中,運行后會(huì )生成兩個(gè)txt文本,JSurl.txt為URL,JSdomain.txt為子域名
  上述工具的掃描結果收錄大量的url。如果我們需要更高效,我們可以先從參數入手,這樣我們就需要對收錄參數的url進(jìn)行過(guò)濾。
  腳本:帶參數提取url
  #!/usr/bin/env python# conding:utf-8<br />#字符串中有“?”且不在字符串的結尾的就寫(xiě)入result.txt中with open('JSurl.txt','r',encoding='utf-8') as readlist: for dirs in readlist.readlines(): # re_result=re.search(r"'?'",dirs) # re_result=str(re_result) if "?" in dirs :#判斷字符中是否有“?”,如果有則返回該字符串的位置,是從坐標0開(kāi)始算的 re = dirs.find("?") # a=len(dirs)-2是為了判斷“?”是不是在最后一個(gè)字符,len()與find()不同是從一開(kāi)始算字符串的長(cháng)度的,在加上每行字符中\n換行符也占了一個(gè)字符,所以要減2 a=len(dirs)-2#判斷字符串中“?”是不是在字符的最后 if re < a : with open('result.txt','a',encoding='utf-8') as writelist: writelist.write(dirs)<br />#去除result.txt中的重復字符串,然后把結果寫(xiě)進(jìn)only.txt文件里with open('result.txt','r',encoding='utf-8') as readlist: lines_seen = set() for line in readlist.readlines(): if line not in lines_seen: lines_seen.add(line) with open('only.txt','a',encoding='utf-8') as writelist: writelist.write(line)<br />#參考文章:https://www.cnblogs.com/luguankun/p/11846401.html(判斷一個(gè)字符是否在一個(gè)字符串中)
  <br style="outline: 0px;" />
  腳本運行后生成的帶參數的url如下
  從已棄用的接口中查找漏洞
  有的網(wǎng)站經(jīng)過(guò)多輪滲透,正常業(yè)務(wù)測試很差,連邏輯漏洞都找不到。經(jīng)過(guò)以上信息采集,一般就可以采集到網(wǎng)站url的歷史業(yè)務(wù)了。
  然后我們使用腳本對url進(jìn)行處理和篩選,批量放入sqlmap中運行。還有一些敏感接口可以嘗試發(fā)現未授權訪(fǎng)問(wèn)、信息泄露等。
  sqlmap批量掃描
  
  常用命令:python sqlmap.py -m urls.txt --batch
  在 urls.txt 文件中,放入我們使用腳本“Extract url with parameters”過(guò)濾的 url
  除了參數,還可以用同樣的思路修改腳本,找到敏感接口和url跳轉參數等。
  通用敏感接口
  常用跳轉參數
  toUrl=
  登錄網(wǎng)址=
  注冊網(wǎng)址
  重定向網(wǎng)址=
  加載網(wǎng)址=
  proxy_url=
  文件網(wǎng)址=
  跳轉網(wǎng)址=
  在某個(gè)項目中,客戶(hù)想知道我是如何找到接口的
  侵權請私聊公眾號刪文

完美:優(yōu)采云采集器 V3.0.2.6 綠色版

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 160 次瀏覽 ? 2022-12-07 22:36 ? 來(lái)自相關(guān)話(huà)題

  完美:優(yōu)采云采集器 V3.0.2.6 綠色版
  優(yōu)采云采集器綠色版是一款功能強大的網(wǎng)頁(yè)數據采集工具,該軟件可以幫助用戶(hù)采集從網(wǎng)頁(yè)獲取各種數據,并自動(dòng)生成Excel表格,API數據庫等內容為用戶(hù)提供觀(guān)看數據。目前,該軟件支持大多數網(wǎng)站。軟件也可以按計劃定時(shí)運行,無(wú)需人工操作,非常方便。
  軟件功能
  1、一鍵式數據提?。汉?jiǎn)單易學(xué),通過(guò)可視化界面,點(diǎn)擊鼠標即可抓取數據。
  2、快速高效:內置高速瀏覽器內核,配合HTTP引擎模式,實(shí)現快速采集數據。
  3、適用于各類(lèi)網(wǎng)站:能夠采集99%的互聯(lián)網(wǎng)網(wǎng)站,包括單頁(yè)應用、Ajax加載等動(dòng)態(tài)類(lèi)型網(wǎng)站。
  4、導出數據類(lèi)型豐富,采集的數據可以導出到Csv、Excel和各種數據庫,支持API導出。
  軟件特色
  1.精靈模式
  簡(jiǎn)單易用,輕松通過(guò)鼠標點(diǎn)擊自動(dòng)生成腳本。
  2、定時(shí)操作
  無(wú)需人工即可按計劃定時(shí)運行。
  
  3.獨創(chuàng )高速核心
  自研瀏覽器內核速度快,遠超競品。
  4、智能識別
  可以智能識別網(wǎng)頁(yè)中的列表和表單結構(多選框下拉列表等)。
  5.廣告攔截
  自定義廣告攔截模塊,兼容AdblockPlus語(yǔ)法,可添加自定義規則。
  6. 多種數據導出
  支持Txt、Excel、MySQL、SQLServer、SQlite、Access、網(wǎng)站等。
  指示
  1. 運行優(yōu)采云采集器,這是主功能界面。
  2.任務(wù)編輯界面。
  
  3.任務(wù)數據管理界面。
  4.數據導出工具截圖。
  安裝方法
  1. 從本站下載優(yōu)采云采集器綠色版安裝包。
  2、使用壓縮軟件解壓(推薦WinRAR)。
  3、點(diǎn)擊“PashanhuV3.0.2.3Setup.exe”文件開(kāi)始安裝。
  4. 然后點(diǎn)擊下一步直到完成。
  5、安裝完成后,可以看到優(yōu)采云采集器的主界面。
  外媒:優(yōu)采云采集媒體助手
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  相關(guān)軟件大小版本說(shuō)明下載位置
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  功能介紹
  廣告素材搜索
  提高內容編寫(xiě)效率
  整合來(lái)自主要平臺的數據,以及
  只需輸入關(guān)鍵詞,即可從今日頭條、知乎、百家等主流自媒體平臺獲取文章、圖片、段落等文字素材,提高文章質(zhì)量
  實(shí)時(shí)搜索引擎,精準過(guò)濾,內容過(guò)濾
  AI算法將文章內容搜索結果集成到列表中并顯示給您,支持多種過(guò)濾條件,內容批量處理,提高文章寫(xiě)作效率
  文章原創(chuàng )
  提高文章收錄和排名
  
  除了偽原創(chuàng ),還利用深度神經(jīng)網(wǎng)絡(luò )算法重構文章,降低文章重復性,既保證了文章的可讀性,又繞過(guò)了一些重復性檢測算法
  分詞算法、DNN算法、TensorFlow人工智能引擎
  分詞算法拆分文章,自動(dòng)調整段落中單詞的順序,并替換整個(gè)句子,以確保最大的文章原創(chuàng ),同時(shí)保持可讀性
  原創(chuàng )文章發(fā)電機
  一鍵群發(fā)
  一鍵發(fā)布
  智能賬戶(hù)分配
  管理100+自媒體賬號發(fā)布只需2分鐘,可選擇定時(shí)、平臺模式創(chuàng )建發(fā)布任務(wù),滿(mǎn)足個(gè)性化運營(yíng)需求
  7*24小時(shí)為您服務(wù)
  使用 優(yōu)采云采集,您擁有 24/7 全天候運營(yíng)人員,無(wú)論節假日和周末如何,他們都可以執行您的發(fā)布任務(wù)
  軟件功能
  網(wǎng)站建設者的cms 文章助手
  一站式網(wǎng)站文章采集、原創(chuàng )文章生成器、群組發(fā)送工具,快速提升網(wǎng)站收錄、排名、體重
  
  專(zhuān)為cms網(wǎng)站建設系統而構建
  在“內容為王”的時(shí)代,高效優(yōu)質(zhì)的更新文章尤為重要,優(yōu)采云采集目前支持數十種主流cms建站系統,快速解決網(wǎng)站文章搜索、原創(chuàng )、發(fā)布等需求為己任
  不僅僅是“采集、原創(chuàng )、發(fā)布”
  采集不是目標,找到有流量文章材料是關(guān)鍵;原創(chuàng )不是結果,增加網(wǎng)站收錄才是王道;發(fā)布不是手段,效率和智能才是關(guān)鍵
  適用場(chǎng)景
  自媒體/官方網(wǎng)站運營(yíng)
  內容資產(chǎn)搜索
  文章智能更新
  一鍵賬戶(hù)分發(fā)
  內容定期發(fā)布
  基礎
  廣告素材搜索/文章原創(chuàng )
  實(shí)時(shí)熱點(diǎn)跟蹤
  監控競爭對手 查看全部

  完美:優(yōu)采云采集器 V3.0.2.6 綠色版
  優(yōu)采云采集器綠色版是一款功能強大的網(wǎng)頁(yè)數據采集工具,該軟件可以幫助用戶(hù)采集從網(wǎng)頁(yè)獲取各種數據,并自動(dòng)生成Excel表格,API數據庫等內容為用戶(hù)提供觀(guān)看數據。目前,該軟件支持大多數網(wǎng)站。軟件也可以按計劃定時(shí)運行,無(wú)需人工操作,非常方便。
  軟件功能
  1、一鍵式數據提?。汉?jiǎn)單易學(xué),通過(guò)可視化界面,點(diǎn)擊鼠標即可抓取數據。
  2、快速高效:內置高速瀏覽器內核,配合HTTP引擎模式,實(shí)現快速采集數據。
  3、適用于各類(lèi)網(wǎng)站:能夠采集99%的互聯(lián)網(wǎng)網(wǎng)站,包括單頁(yè)應用、Ajax加載等動(dòng)態(tài)類(lèi)型網(wǎng)站。
  4、導出數據類(lèi)型豐富,采集的數據可以導出到Csv、Excel和各種數據庫,支持API導出。
  軟件特色
  1.精靈模式
  簡(jiǎn)單易用,輕松通過(guò)鼠標點(diǎn)擊自動(dòng)生成腳本。
  2、定時(shí)操作
  無(wú)需人工即可按計劃定時(shí)運行。
  
  3.獨創(chuàng )高速核心
  自研瀏覽器內核速度快,遠超競品。
  4、智能識別
  可以智能識別網(wǎng)頁(yè)中的列表和表單結構(多選框下拉列表等)。
  5.廣告攔截
  自定義廣告攔截模塊,兼容AdblockPlus語(yǔ)法,可添加自定義規則。
  6. 多種數據導出
  支持Txt、Excel、MySQL、SQLServer、SQlite、Access、網(wǎng)站等。
  指示
  1. 運行優(yōu)采云采集器,這是主功能界面。
  2.任務(wù)編輯界面。
  
  3.任務(wù)數據管理界面。
  4.數據導出工具截圖。
  安裝方法
  1. 從本站下載優(yōu)采云采集器綠色版安裝包。
  2、使用壓縮軟件解壓(推薦WinRAR)。
  3、點(diǎn)擊“PashanhuV3.0.2.3Setup.exe”文件開(kāi)始安裝。
  4. 然后點(diǎn)擊下一步直到完成。
  5、安裝完成后,可以看到優(yōu)采云采集器的主界面。
  外媒:優(yōu)采云采集媒體助手
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  相關(guān)軟件大小版本說(shuō)明下載位置
  優(yōu)采云采集媒體助手是一個(gè)新的媒體寫(xiě)作輔助插件,可以幫助用戶(hù)創(chuàng )建文章、提供自媒體素材、一鍵發(fā)布內容和內容后期維護等,優(yōu)采云采集媒體助手可以幫助用戶(hù)更好地運營(yíng)新媒體賬號。
  功能介紹
  廣告素材搜索
  提高內容編寫(xiě)效率
  整合來(lái)自主要平臺的數據,以及
  只需輸入關(guān)鍵詞,即可從今日頭條、知乎、百家等主流自媒體平臺獲取文章、圖片、段落等文字素材,提高文章質(zhì)量
  實(shí)時(shí)搜索引擎,精準過(guò)濾,內容過(guò)濾
  AI算法將文章內容搜索結果集成到列表中并顯示給您,支持多種過(guò)濾條件,內容批量處理,提高文章寫(xiě)作效率
  文章原創(chuàng )
  提高文章收錄和排名
  
  除了偽原創(chuàng ),還利用深度神經(jīng)網(wǎng)絡(luò )算法重構文章,降低文章重復性,既保證了文章的可讀性,又繞過(guò)了一些重復性檢測算法
  分詞算法、DNN算法、TensorFlow人工智能引擎
  分詞算法拆分文章,自動(dòng)調整段落中單詞的順序,并替換整個(gè)句子,以確保最大的文章原創(chuàng ),同時(shí)保持可讀性
  原創(chuàng )文章發(fā)電機
  一鍵群發(fā)
  一鍵發(fā)布
  智能賬戶(hù)分配
  管理100+自媒體賬號發(fā)布只需2分鐘,可選擇定時(shí)、平臺模式創(chuàng )建發(fā)布任務(wù),滿(mǎn)足個(gè)性化運營(yíng)需求
  7*24小時(shí)為您服務(wù)
  使用 優(yōu)采云采集,您擁有 24/7 全天候運營(yíng)人員,無(wú)論節假日和周末如何,他們都可以執行您的發(fā)布任務(wù)
  軟件功能
  網(wǎng)站建設者的cms 文章助手
  一站式網(wǎng)站文章采集、原創(chuàng )文章生成器、群組發(fā)送工具,快速提升網(wǎng)站收錄、排名、體重
  
  專(zhuān)為cms網(wǎng)站建設系統而構建
  在“內容為王”的時(shí)代,高效優(yōu)質(zhì)的更新文章尤為重要,優(yōu)采云采集目前支持數十種主流cms建站系統,快速解決網(wǎng)站文章搜索、原創(chuàng )、發(fā)布等需求為己任
  不僅僅是“采集、原創(chuàng )、發(fā)布”
  采集不是目標,找到有流量文章材料是關(guān)鍵;原創(chuàng )不是結果,增加網(wǎng)站收錄才是王道;發(fā)布不是手段,效率和智能才是關(guān)鍵
  適用場(chǎng)景
  自媒體/官方網(wǎng)站運營(yíng)
  內容資產(chǎn)搜索
  文章智能更新
  一鍵賬戶(hù)分發(fā)
  內容定期發(fā)布
  基礎
  廣告素材搜索/文章原創(chuàng )
  實(shí)時(shí)熱點(diǎn)跟蹤
  監控競爭對手

解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 150 次瀏覽 ? 2022-12-07 01:43 ? 來(lái)自相關(guān)話(huà)題

  解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解
  寫(xiě)在前面
  蝕刻
  是 Kubernetes 控制平面的重要組成部分和依賴(lài)關(guān)系,各種 Kubernetes 信息都存儲在 ETCD 中,因此監控 ETCD 尤為重要。ETCD 在 Kubernetes 中的架構角色如下(僅與 APIServer 交互):
  ETCD是一個(gè)類(lèi)似Zookeeper的產(chǎn)品,通常由多個(gè)節點(diǎn)的集群組成,使用raft協(xié)議來(lái)確保節點(diǎn)之間的一致性。ETCD具有以下特點(diǎn):
  閱讀 /metrics 界面
  蝕刻
  這樣的云原生組件,明明內置了對 /metrics 接口的支持,但 ETCD 非常注重安全,默認訪(fǎng)問(wèn) 2379 端口是使用證書(shū),我先測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-k?https://localhost:2379/metrics<br style="box-sizing: border-box;" />curl:?(35)?error:14094412:SSL?routines:ssl3_read_bytes:sslv3?alert?bad?certificate<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?ls?/etc/kubernetes/pki/etcd<br style="box-sizing: border-box;" />ca.crt??ca.key??healthcheck-client.crt??healthcheck-client.key??peer.crt??peer.key??server.crt??server.key<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?curl?-s?--cacert?/etc/kubernetes/pki/etcd/ca.crt?--cert?/etc/kubernetes/pki/etcd/server.crt?--key?/etc/kubernetes/pki/etcd/server.key?https://localhost:2379/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  對于使用 kubeadm 安裝的 Kubernetes 集群,相關(guān)證書(shū)在 /etc/kubernetes/pki/etcd 目錄中,并且為 curl 命令指定了相關(guān)證書(shū),可以訪(fǎng)問(wèn)。之后,使用 Categraf 的普羅米修斯插件直接采集相關(guān)數據。
  但是,真的沒(méi)有必要對指標數據做這么強的安全控制,整體相當麻煩,事實(shí)上,ETCD 確實(shí)提供了另一個(gè)端口來(lái)獲取指標數據,而無(wú)需經(jīng)過(guò)這套證書(shū)認證機制。我們來(lái)看看 ETCD 啟動(dòng)命令,在 Kubernetes 系統中,直接導出 ETCD pod 的 yaml 信息:
  kubectl?get?pod?-n?kube-system?etcd-10.206.0.16?-o?yaml<br style="box-sizing: border-box;" />
  
  在上面的例子中,etcd-10.206.0.16 是我的 ETCD 的 pod 名稱(chēng),你的可能是另一個(gè)名字,只需自己替換它即可。ETCD 的啟動(dòng)命令可以在輸出中看到:
  spec:<br style="box-sizing: border-box;" />??containers:<br style="box-sizing: border-box;" />??-?command:<br style="box-sizing: border-box;" />????-?etcd<br style="box-sizing: border-box;" />????-?--advertise-client-urls=https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--cert-file=/etc/kubernetes/pki/etcd/server.crt<br style="box-sizing: border-box;" />????-?--client-cert-auth=true<br style="box-sizing: border-box;" />????-?--data-dir=/var/lib/etcd<br style="box-sizing: border-box;" />????-?--initial-advertise-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--initial-cluster=10.206.0.16=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--key-file=/etc/kubernetes/pki/etcd/server.key<br style="box-sizing: border-box;" />????-?--listen-client-urls=https://127.0.0.1:2379,https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--listen-metrics-urls=http://0.0.0.0:2381<br style="box-sizing: border-box;" />????-?--listen-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--name=10.206.0.16<br style="box-sizing: border-box;" />????-?--peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt<br style="box-sizing: border-box;" />????-?--peer-client-cert-auth=true<br style="box-sizing: border-box;" />????-?--peer-key-file=/etc/kubernetes/pki/etcd/peer.key<br style="box-sizing: border-box;" />????-?--peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????-?--snapshot-count=10000<br style="box-sizing: border-box;" />????-?--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????image:?registry.aliyuncs.com/google_containers/etcd:3.5.1-0<br style="box-sizing: border-box;" />注意 --
  listen-metrics-urls=:2381 這一行,它實(shí)際上指定了端口 2381 直接獲取指標數據,我們來(lái)測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-s?localhost:2381/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  非常好
  好,那么我們就可以通過(guò)這個(gè)接口直接獲取數據。
  更多監控相關(guān)知識和SRE相關(guān)知識,歡迎加入我的學(xué)習
  數據采集
  ETCD的數據采集通常通過(guò)3種方式完成:
  apiVersion:?v1<br style="box-sizing: border-box;" />kind:?Service<br style="box-sizing: border-box;" />metadata:<br style="box-sizing: border-box;" />??namespace:?kube-system<br style="box-sizing: border-box;" />??name:?etcd<br style="box-sizing: border-box;" />??labels:<br style="box-sizing: border-box;" />????k8s-app:?etcd<br style="box-sizing: border-box;" />spec:<br style="box-sizing: border-box;" />??selector:<br style="box-sizing: border-box;" />????component:?etcd<br style="box-sizing: border-box;" />??type:?ClusterIP<br style="box-sizing: border-box;" />??clusterIP:?None<br style="box-sizing: border-box;" />??ports:<br style="box-sizing: border-box;" />????-?name:?http<br style="box-sizing: border-box;" />??????port:?2381<br style="box-sizing: border-box;" />??????targetPort:?2381<br style="box-sizing: border-box;" />??????protocol:?TCP<br style="box-sizing: border-box;" />
  
  如果您遵循 Prometheus Agent 模式采集方式,請注意抓取規則部分與前面提到的組件不同,并且您不需要使用 HTTPS:
  -?job_name:?'etcd'<br style="box-sizing: border-box;" />??kubernetes_sd_configs:<br style="box-sizing: border-box;" />??-?role:?endpoints<br style="box-sizing: border-box;" />??scheme:?http<br style="box-sizing: border-box;" />??relabel_configs:<br style="box-sizing: border-box;" />??-?source_labels:?[__meta_kubernetes_namespace,?__meta_kubernetes_service_name,?__meta_kubernetes_endpoint_port_name]<br style="box-sizing: border-box;" />????action:?keep<br style="box-sizing: border-box;" />????regex:?kube-system;etcd;http<br style="box-sizing: border-box;" />
  擋泥板
  此前,孔飛先生整理了ETCD的儀表盤(pán),地址在,可以直接導入到夜鶯中使用。
  關(guān)鍵指標
  ETCD也采集了很多指標,部分關(guān)鍵指標有以下含義,謝謝孔飛整理:
  #?HELP?etcd_server_is_leader?Whether?or?not?this?member?is?a?leader.?1?if?is,?0?otherwise.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_is_leader?gauge<br style="box-sizing: border-box;" />etcd?leader?表示?,1?leader?0?learner<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_success?The?total?number?of?successful?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_success?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查成功次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_failures?The?total?number?of?failed?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_failures?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查失敗次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_defrag_inflight?Whether?or?not?defrag?is?active?on?the?member.?1?means?active,?0?means?not.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_defrag_inflight?gauge<br style="box-sizing: border-box;" />是否啟動(dòng)數據壓縮,1表示壓縮,0表示沒(méi)有啟動(dòng)壓縮<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_snapshot_apply_in_progress_total?1?if?the?server?is?applying?the?incoming?snapshot.?0?if?none.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_snapshot_apply_in_progress_total?gauge<br style="box-sizing: border-box;" />是否再快照中,1?快照中,0?沒(méi)有<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_leader_changes_seen_total?The?number?of?leader?changes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_leader_changes_seen_total?counter<br style="box-sizing: border-box;" />集群leader切換的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?grpc_server_handled_total?Total?number?of?RPCs?completed?on?the?server,?regardless?of?success?or?failure.<br style="box-sizing: border-box;" />#?TYPE?grpc_server_handled_total?counter<br style="box-sizing: border-box;" />grpc?調用總數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_wal_fsync_duration_seconds?The?latency?distributions?of?fsync?called?by?WAL.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_wal_fsync_duration_seconds?histogram<br style="box-sizing: border-box;" />etcd?wal同步耗時(shí)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_failed_total?The?total?number?of?failed?proposals?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_failed_total?counter<br style="box-sizing: border-box;" />etcd?proposal(提議)失敗總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_pending?The?current?number?of?pending?proposals?to?commit.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_pending?gauge<br style="box-sizing: border-box;" />etcd?proposal(提議)pending總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_read_indexes_failed_total?The?total?number?of?failed?read?indexes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_read_indexes_failed_total?counter<br style="box-sizing: border-box;" />讀取索引失敗的次數統計(v3索引為所有key都建了索引,索引是為了加快range操作)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_slow_read_indexes_total?The?total?number?of?pending?read?indexes?not?in?sync?with?leader's?or?timed?out?read?index?requests.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_slow_read_indexes_total?counter<br style="box-sizing: border-box;" />讀取到過(guò)期索引或者讀取超時(shí)的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_quota_backend_bytes?Current?backend?storage?quota?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_quota_backend_bytes?gauge<br style="box-sizing: border-box;" />當前后端的存儲quota(db大小的上限)<br style="box-sizing: border-box;" />通過(guò)參數quota-backend-bytes調整大小,默認2G,官方建議不超過(guò)8G<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_bytes?Total?size?of?the?underlying?database?physically?allocated?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?分配的db大?。ㄊ褂昧看笮?空閑大?。?lt;br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_use_in_bytes?Total?size?of?the?underlying?database?logically?in?use?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_use_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?db的使用量大小<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_range_total?Total?number?of?ranges?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_range_total?counter<br style="box-sizing: border-box;" />etcd執行range的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_put_total?Total?number?of?puts?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_put_total?counter<br style="box-sizing: border-box;" />etcd執行put的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_txn_total?Total?number?of?txns?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_txn_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行事務(wù)的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_delete_total?Total?number?of?deletes?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_delete_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行delete操作的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_cpu_seconds_total?Total?user?and?system?CPU?time?spent?in?seconds.<br style="box-sizing: border-box;" />#?TYPE?process_cpu_seconds_total?counter<br style="box-sizing: border-box;" />etcd?cpu使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_resident_memory_bytes?Resident?memory?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?process_resident_memory_bytes?gauge<br style="box-sizing: border-box;" />etcd?內存使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_open_fds?Number?of?open?file?descriptors.<br style="box-sizing: border-box;" />#?TYPE?process_open_fds?gauge<br style="box-sizing: border-box;" />etcd?打開(kāi)的fd數目<br style="box-sizing: border-box;" />
  相關(guān)文章 作者簡(jiǎn)介
  本文的作者,Flashcat合作伙伴,文章
  內容是Flashcat技術(shù)團隊聯(lián)合沉淀的結晶,作者經(jīng)過(guò)編輯整理,我們將不斷輸出監控、穩定保障相關(guān)技術(shù)文章,文章可轉載,請注明出處,尊重技術(shù)人員的成果。
  如果您對南丁格爾、Categraf、普羅米修斯等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)拉入部落,與社區同事討論監控技術(shù)。
  核心方法:SEO優(yōu)化師推薦:什么方法可以有效提升網(wǎng)站排名?
  構建您自己的 網(wǎng)站,您如何才能使您的 網(wǎng)站 更易于搜索?此時(shí),您需要針對 SEO 優(yōu)化 網(wǎng)站。網(wǎng)站關(guān)鍵詞 排名優(yōu)化是SEO優(yōu)化人員的日常工作。做SEO優(yōu)化并不難。如果要優(yōu)化網(wǎng)站的關(guān)鍵詞在百度首頁(yè)的排名,還取決于關(guān)鍵詞競爭強度、優(yōu)化時(shí)間、網(wǎng)站權重、seoer經(jīng)驗等因素,和優(yōu)化技術(shù)。網(wǎng)站關(guān)鍵詞 排名優(yōu)化到百度首頁(yè)。那么如何優(yōu)化 網(wǎng)站 以提高排名呢?
  1.確定網(wǎng)站的主要關(guān)鍵詞并優(yōu)化
  總的來(lái)說(shuō),關(guān)鍵詞 是網(wǎng)站 的靈魂。找到正確的關(guān)鍵詞,就會(huì )找到正確的優(yōu)化方向。關(guān)鍵詞的質(zhì)量直接影響網(wǎng)站的曝光率和轉化率:關(guān)鍵詞越多越好,而不是越少越好。如果是小的網(wǎng)站,建議關(guān)鍵詞的個(gè)數不要太多,太多容易分散權重,不易優(yōu)化,增加工作量和成本的優(yōu)化。當然,我們不建議太少。太少的話(huà),會(huì )降低網(wǎng)站的宣傳力度,不利于網(wǎng)站的引流。
  
  2、做好網(wǎng)站內部?jì)?yōu)化。
  網(wǎng)站內部?jì)?yōu)化包括網(wǎng)站結構優(yōu)化、網(wǎng)站地圖制作、網(wǎng)頁(yè)偽靜態(tài)處理、死鏈接提交、404頁(yè)面制作、網(wǎng)站內容優(yōu)化等更多其中重要的是優(yōu)化網(wǎng)站結構和網(wǎng)站內容。
  搜索引擎優(yōu)化
  哪些方法可以有效提高網(wǎng)站排名?
  首先說(shuō)一下網(wǎng)站結構的優(yōu)化。網(wǎng)站結構應該是扁平的或者樹(shù)狀的,這樣更容易被搜索引擎抓取。同時(shí)盡量使用靜態(tài)頁(yè)面,因為搜索引擎喜歡靜態(tài)頁(yè)面。然后是內容優(yōu)化。網(wǎng)站內容的優(yōu)化可以有多種形式,比如文字、動(dòng)畫(huà)、圖片等。
  
  軟文 帶有文本錨文本可以很容易地將流量從一個(gè)頁(yè)面引導到另一個(gè)頁(yè)面,這是一種非常實(shí)用的內部?jì)?yōu)化方法。當然圖片優(yōu)化也是必須的,比如給圖片添加關(guān)鍵詞名字,添加ALT標簽等。
  3.站外優(yōu)化。
  首先,發(fā)布外鏈要注意鏈接內容的相關(guān)性。相關(guān)度越高,外鏈質(zhì)量越好,流量越容易進(jìn)來(lái),轉化率也會(huì )提高。相反,相關(guān)性低或內容不相關(guān)的外鏈是垃圾外鏈,不利于搜索引擎抓取和網(wǎng)站優(yōu)化。下一步是交換友情鏈接。友情鏈接的交換也應該選擇相關(guān)性高、質(zhì)量好、權重高的網(wǎng)站進(jìn)行交流。另外,應該對這些友情鏈接進(jìn)行注冊和跟蹤,以便及時(shí)發(fā)現和處理意想不到的問(wèn)題。
  網(wǎng)站的文章內容應該和網(wǎng)站的主關(guān)鍵詞相關(guān),或者寫(xiě)在主關(guān)鍵詞的長(cháng)尾關(guān)鍵詞周?chē)?。越有?chuàng )意越好。讓您的 文章 內容保持最新和大量,以便搜索引擎更有可能抓住您的 網(wǎng)站。同時(shí),頁(yè)面的標題要與頁(yè)面的內容有一定的相關(guān)性。如果更新后的文章相關(guān)性不高,主題不突出,那么網(wǎng)站的關(guān)鍵詞排名前期不會(huì )有太大優(yōu)勢,這也是綜合大多數 網(wǎng)站 頁(yè)面的排名 理由很充分??刂凭W(wǎng)頁(yè)的相關(guān)性和關(guān)鍵字密度也可以提高關(guān)鍵字排名。 查看全部

  解決方案:Kubernetes 核心依賴(lài)組件 ETCD 的監控詳解
  寫(xiě)在前面
  蝕刻
  是 Kubernetes 控制平面的重要組成部分和依賴(lài)關(guān)系,各種 Kubernetes 信息都存儲在 ETCD 中,因此監控 ETCD 尤為重要。ETCD 在 Kubernetes 中的架構角色如下(僅與 APIServer 交互):
  ETCD是一個(gè)類(lèi)似Zookeeper的產(chǎn)品,通常由多個(gè)節點(diǎn)的集群組成,使用raft協(xié)議來(lái)確保節點(diǎn)之間的一致性。ETCD具有以下特點(diǎn):
  閱讀 /metrics 界面
  蝕刻
  這樣的云原生組件,明明內置了對 /metrics 接口的支持,但 ETCD 非常注重安全,默認訪(fǎng)問(wèn) 2379 端口是使用證書(shū),我先測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-k?https://localhost:2379/metrics<br style="box-sizing: border-box;" />curl:?(35)?error:14094412:SSL?routines:ssl3_read_bytes:sslv3?alert?bad?certificate<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?ls?/etc/kubernetes/pki/etcd<br style="box-sizing: border-box;" />ca.crt??ca.key??healthcheck-client.crt??healthcheck-client.key??peer.crt??peer.key??server.crt??server.key<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />[root@tt-fc-dev01.nj?~]#?curl?-s?--cacert?/etc/kubernetes/pki/etcd/ca.crt?--cert?/etc/kubernetes/pki/etcd/server.crt?--key?/etc/kubernetes/pki/etcd/server.key?https://localhost:2379/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  對于使用 kubeadm 安裝的 Kubernetes 集群,相關(guān)證書(shū)在 /etc/kubernetes/pki/etcd 目錄中,并且為 curl 命令指定了相關(guān)證書(shū),可以訪(fǎng)問(wèn)。之后,使用 Categraf 的普羅米修斯插件直接采集相關(guān)數據。
  但是,真的沒(méi)有必要對指標數據做這么強的安全控制,整體相當麻煩,事實(shí)上,ETCD 確實(shí)提供了另一個(gè)端口來(lái)獲取指標數據,而無(wú)需經(jīng)過(guò)這套證書(shū)認證機制。我們來(lái)看看 ETCD 啟動(dòng)命令,在 Kubernetes 系統中,直接導出 ETCD pod 的 yaml 信息:
  kubectl?get?pod?-n?kube-system?etcd-10.206.0.16?-o?yaml<br style="box-sizing: border-box;" />
  
  在上面的例子中,etcd-10.206.0.16 是我的 ETCD 的 pod 名稱(chēng),你的可能是另一個(gè)名字,只需自己替換它即可。ETCD 的啟動(dòng)命令可以在輸出中看到:
  spec:<br style="box-sizing: border-box;" />??containers:<br style="box-sizing: border-box;" />??-?command:<br style="box-sizing: border-box;" />????-?etcd<br style="box-sizing: border-box;" />????-?--advertise-client-urls=https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--cert-file=/etc/kubernetes/pki/etcd/server.crt<br style="box-sizing: border-box;" />????-?--client-cert-auth=true<br style="box-sizing: border-box;" />????-?--data-dir=/var/lib/etcd<br style="box-sizing: border-box;" />????-?--initial-advertise-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--initial-cluster=10.206.0.16=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--key-file=/etc/kubernetes/pki/etcd/server.key<br style="box-sizing: border-box;" />????-?--listen-client-urls=https://127.0.0.1:2379,https://10.206.0.16:2379<br style="box-sizing: border-box;" />????-?--listen-metrics-urls=http://0.0.0.0:2381<br style="box-sizing: border-box;" />????-?--listen-peer-urls=https://10.206.0.16:2380<br style="box-sizing: border-box;" />????-?--name=10.206.0.16<br style="box-sizing: border-box;" />????-?--peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt<br style="box-sizing: border-box;" />????-?--peer-client-cert-auth=true<br style="box-sizing: border-box;" />????-?--peer-key-file=/etc/kubernetes/pki/etcd/peer.key<br style="box-sizing: border-box;" />????-?--peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????-?--snapshot-count=10000<br style="box-sizing: border-box;" />????-?--trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt<br style="box-sizing: border-box;" />????image:?registry.aliyuncs.com/google_containers/etcd:3.5.1-0<br style="box-sizing: border-box;" />注意 --
  listen-metrics-urls=:2381 這一行,它實(shí)際上指定了端口 2381 直接獲取指標數據,我們來(lái)測試一下:
  [root@tt-fc-dev01.nj?~]#?curl?-s?localhost:2381/metrics?|?head?-n?6<br style="box-sizing: border-box;" />#?HELP?etcd_cluster_version?Which?version?is?running.?1?for?'cluster_version'?label?with?current?cluster?version<br style="box-sizing: border-box;" />#?TYPE?etcd_cluster_version?gauge<br style="box-sizing: border-box;" />etcd_cluster_version{cluster_version="3.5"}?1<br style="box-sizing: border-box;" />#?HELP?etcd_debugging_auth_revision?The?current?revision?of?auth?store.<br style="box-sizing: border-box;" />#?TYPE?etcd_debugging_auth_revision?gauge<br style="box-sizing: border-box;" />etcd_debugging_auth_revision?1<br style="box-sizing: border-box;" />
  非常好
  好,那么我們就可以通過(guò)這個(gè)接口直接獲取數據。
  更多監控相關(guān)知識和SRE相關(guān)知識,歡迎加入我的學(xué)習
  數據采集
  ETCD的數據采集通常通過(guò)3種方式完成:
  apiVersion:?v1<br style="box-sizing: border-box;" />kind:?Service<br style="box-sizing: border-box;" />metadata:<br style="box-sizing: border-box;" />??namespace:?kube-system<br style="box-sizing: border-box;" />??name:?etcd<br style="box-sizing: border-box;" />??labels:<br style="box-sizing: border-box;" />????k8s-app:?etcd<br style="box-sizing: border-box;" />spec:<br style="box-sizing: border-box;" />??selector:<br style="box-sizing: border-box;" />????component:?etcd<br style="box-sizing: border-box;" />??type:?ClusterIP<br style="box-sizing: border-box;" />??clusterIP:?None<br style="box-sizing: border-box;" />??ports:<br style="box-sizing: border-box;" />????-?name:?http<br style="box-sizing: border-box;" />??????port:?2381<br style="box-sizing: border-box;" />??????targetPort:?2381<br style="box-sizing: border-box;" />??????protocol:?TCP<br style="box-sizing: border-box;" />
  
  如果您遵循 Prometheus Agent 模式采集方式,請注意抓取規則部分與前面提到的組件不同,并且您不需要使用 HTTPS:
  -?job_name:?'etcd'<br style="box-sizing: border-box;" />??kubernetes_sd_configs:<br style="box-sizing: border-box;" />??-?role:?endpoints<br style="box-sizing: border-box;" />??scheme:?http<br style="box-sizing: border-box;" />??relabel_configs:<br style="box-sizing: border-box;" />??-?source_labels:?[__meta_kubernetes_namespace,?__meta_kubernetes_service_name,?__meta_kubernetes_endpoint_port_name]<br style="box-sizing: border-box;" />????action:?keep<br style="box-sizing: border-box;" />????regex:?kube-system;etcd;http<br style="box-sizing: border-box;" />
  擋泥板
  此前,孔飛先生整理了ETCD的儀表盤(pán),地址在,可以直接導入到夜鶯中使用。
  關(guān)鍵指標
  ETCD也采集了很多指標,部分關(guān)鍵指標有以下含義,謝謝孔飛整理:
  #?HELP?etcd_server_is_leader?Whether?or?not?this?member?is?a?leader.?1?if?is,?0?otherwise.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_is_leader?gauge<br style="box-sizing: border-box;" />etcd?leader?表示?,1?leader?0?learner<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_success?The?total?number?of?successful?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_success?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查成功次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_health_failures?The?total?number?of?failed?health?checks<br style="box-sizing: border-box;" />#?TYPE?etcd_server_health_failures?counter<br style="box-sizing: border-box;" />etcd?server?健康檢查失敗次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_defrag_inflight?Whether?or?not?defrag?is?active?on?the?member.?1?means?active,?0?means?not.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_defrag_inflight?gauge<br style="box-sizing: border-box;" />是否啟動(dòng)數據壓縮,1表示壓縮,0表示沒(méi)有啟動(dòng)壓縮<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_snapshot_apply_in_progress_total?1?if?the?server?is?applying?the?incoming?snapshot.?0?if?none.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_snapshot_apply_in_progress_total?gauge<br style="box-sizing: border-box;" />是否再快照中,1?快照中,0?沒(méi)有<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_leader_changes_seen_total?The?number?of?leader?changes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_leader_changes_seen_total?counter<br style="box-sizing: border-box;" />集群leader切換的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?grpc_server_handled_total?Total?number?of?RPCs?completed?on?the?server,?regardless?of?success?or?failure.<br style="box-sizing: border-box;" />#?TYPE?grpc_server_handled_total?counter<br style="box-sizing: border-box;" />grpc?調用總數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_disk_wal_fsync_duration_seconds?The?latency?distributions?of?fsync?called?by?WAL.<br style="box-sizing: border-box;" />#?TYPE?etcd_disk_wal_fsync_duration_seconds?histogram<br style="box-sizing: border-box;" />etcd?wal同步耗時(shí)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_failed_total?The?total?number?of?failed?proposals?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_failed_total?counter<br style="box-sizing: border-box;" />etcd?proposal(提議)失敗總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_proposals_pending?The?current?number?of?pending?proposals?to?commit.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_proposals_pending?gauge<br style="box-sizing: border-box;" />etcd?proposal(提議)pending總次數(proposal就是完成raft協(xié)議的一次請求)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_read_indexes_failed_total?The?total?number?of?failed?read?indexes?seen.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_read_indexes_failed_total?counter<br style="box-sizing: border-box;" />讀取索引失敗的次數統計(v3索引為所有key都建了索引,索引是為了加快range操作)<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_slow_read_indexes_total?The?total?number?of?pending?read?indexes?not?in?sync?with?leader's?or?timed?out?read?index?requests.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_slow_read_indexes_total?counter<br style="box-sizing: border-box;" />讀取到過(guò)期索引或者讀取超時(shí)的次數<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_server_quota_backend_bytes?Current?backend?storage?quota?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_server_quota_backend_bytes?gauge<br style="box-sizing: border-box;" />當前后端的存儲quota(db大小的上限)<br style="box-sizing: border-box;" />通過(guò)參數quota-backend-bytes調整大小,默認2G,官方建議不超過(guò)8G<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_bytes?Total?size?of?the?underlying?database?physically?allocated?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?分配的db大?。ㄊ褂昧看笮?空閑大?。?lt;br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_db_total_size_in_use_in_bytes?Total?size?of?the?underlying?database?logically?in?use?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_db_total_size_in_use_in_bytes?gauge<br style="box-sizing: border-box;" />etcd?db的使用量大小<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_range_total?Total?number?of?ranges?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_range_total?counter<br style="box-sizing: border-box;" />etcd執行range的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_put_total?Total?number?of?puts?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_put_total?counter<br style="box-sizing: border-box;" />etcd執行put的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_txn_total?Total?number?of?txns?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_txn_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行事務(wù)的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?etcd_mvcc_delete_total?Total?number?of?deletes?seen?by?this?member.<br style="box-sizing: border-box;" />#?TYPE?etcd_mvcc_delete_total?counter<br style="box-sizing: border-box;" />etcd實(shí)例執行delete操作的數量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_cpu_seconds_total?Total?user?and?system?CPU?time?spent?in?seconds.<br style="box-sizing: border-box;" />#?TYPE?process_cpu_seconds_total?counter<br style="box-sizing: border-box;" />etcd?cpu使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_resident_memory_bytes?Resident?memory?size?in?bytes.<br style="box-sizing: border-box;" />#?TYPE?process_resident_memory_bytes?gauge<br style="box-sizing: border-box;" />etcd?內存使用量<br style="box-sizing: border-box;" /><br style="box-sizing: border-box;" />#?HELP?process_open_fds?Number?of?open?file?descriptors.<br style="box-sizing: border-box;" />#?TYPE?process_open_fds?gauge<br style="box-sizing: border-box;" />etcd?打開(kāi)的fd數目<br style="box-sizing: border-box;" />
  相關(guān)文章 作者簡(jiǎn)介
  本文的作者,Flashcat合作伙伴,文章
  內容是Flashcat技術(shù)團隊聯(lián)合沉淀的結晶,作者經(jīng)過(guò)編輯整理,我們將不斷輸出監控、穩定保障相關(guān)技術(shù)文章,文章可轉載,請注明出處,尊重技術(shù)人員的成果。
  如果您對南丁格爾、Categraf、普羅米修斯等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)拉入部落,與社區同事討論監控技術(shù)。
  核心方法:SEO優(yōu)化師推薦:什么方法可以有效提升網(wǎng)站排名?
  構建您自己的 網(wǎng)站,您如何才能使您的 網(wǎng)站 更易于搜索?此時(shí),您需要針對 SEO 優(yōu)化 網(wǎng)站。網(wǎng)站關(guān)鍵詞 排名優(yōu)化是SEO優(yōu)化人員的日常工作。做SEO優(yōu)化并不難。如果要優(yōu)化網(wǎng)站的關(guān)鍵詞在百度首頁(yè)的排名,還取決于關(guān)鍵詞競爭強度、優(yōu)化時(shí)間、網(wǎng)站權重、seoer經(jīng)驗等因素,和優(yōu)化技術(shù)。網(wǎng)站關(guān)鍵詞 排名優(yōu)化到百度首頁(yè)。那么如何優(yōu)化 網(wǎng)站 以提高排名呢?
  1.確定網(wǎng)站的主要關(guān)鍵詞并優(yōu)化
  總的來(lái)說(shuō),關(guān)鍵詞 是網(wǎng)站 的靈魂。找到正確的關(guān)鍵詞,就會(huì )找到正確的優(yōu)化方向。關(guān)鍵詞的質(zhì)量直接影響網(wǎng)站的曝光率和轉化率:關(guān)鍵詞越多越好,而不是越少越好。如果是小的網(wǎng)站,建議關(guān)鍵詞的個(gè)數不要太多,太多容易分散權重,不易優(yōu)化,增加工作量和成本的優(yōu)化。當然,我們不建議太少。太少的話(huà),會(huì )降低網(wǎng)站的宣傳力度,不利于網(wǎng)站的引流。
  
  2、做好網(wǎng)站內部?jì)?yōu)化。
  網(wǎng)站內部?jì)?yōu)化包括網(wǎng)站結構優(yōu)化、網(wǎng)站地圖制作、網(wǎng)頁(yè)偽靜態(tài)處理、死鏈接提交、404頁(yè)面制作、網(wǎng)站內容優(yōu)化等更多其中重要的是優(yōu)化網(wǎng)站結構和網(wǎng)站內容。
  搜索引擎優(yōu)化
  哪些方法可以有效提高網(wǎng)站排名?
  首先說(shuō)一下網(wǎng)站結構的優(yōu)化。網(wǎng)站結構應該是扁平的或者樹(shù)狀的,這樣更容易被搜索引擎抓取。同時(shí)盡量使用靜態(tài)頁(yè)面,因為搜索引擎喜歡靜態(tài)頁(yè)面。然后是內容優(yōu)化。網(wǎng)站內容的優(yōu)化可以有多種形式,比如文字、動(dòng)畫(huà)、圖片等。
  
  軟文 帶有文本錨文本可以很容易地將流量從一個(gè)頁(yè)面引導到另一個(gè)頁(yè)面,這是一種非常實(shí)用的內部?jì)?yōu)化方法。當然圖片優(yōu)化也是必須的,比如給圖片添加關(guān)鍵詞名字,添加ALT標簽等。
  3.站外優(yōu)化。
  首先,發(fā)布外鏈要注意鏈接內容的相關(guān)性。相關(guān)度越高,外鏈質(zhì)量越好,流量越容易進(jìn)來(lái),轉化率也會(huì )提高。相反,相關(guān)性低或內容不相關(guān)的外鏈是垃圾外鏈,不利于搜索引擎抓取和網(wǎng)站優(yōu)化。下一步是交換友情鏈接。友情鏈接的交換也應該選擇相關(guān)性高、質(zhì)量好、權重高的網(wǎng)站進(jìn)行交流。另外,應該對這些友情鏈接進(jìn)行注冊和跟蹤,以便及時(shí)發(fā)現和處理意想不到的問(wèn)題。
  網(wǎng)站的文章內容應該和網(wǎng)站的主關(guān)鍵詞相關(guān),或者寫(xiě)在主關(guān)鍵詞的長(cháng)尾關(guān)鍵詞周?chē)?。越有?chuàng )意越好。讓您的 文章 內容保持最新和大量,以便搜索引擎更有可能抓住您的 網(wǎng)站。同時(shí),頁(yè)面的標題要與頁(yè)面的內容有一定的相關(guān)性。如果更新后的文章相關(guān)性不高,主題不突出,那么網(wǎng)站的關(guān)鍵詞排名前期不會(huì )有太大優(yōu)勢,這也是綜合大多數 網(wǎng)站 頁(yè)面的排名 理由很充分??刂凭W(wǎng)頁(yè)的相關(guān)性和關(guān)鍵字密度也可以提高關(guān)鍵字排名。

解決方案:優(yōu)采云批量文章采集器

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 163 次瀏覽 ? 2022-12-06 06:14 ? 來(lái)自相關(guān)話(huà)題

  解決方案:優(yōu)采云批量文章采集器
  最近有很多站長(cháng)朋友問(wèn)我網(wǎng)站采集什么軟件好用,優(yōu)采云萬(wàn)能文章采集軟件好用。今天我要談?wù)勎覀儚?優(yōu)采云、優(yōu)采云、免費 采集 工具中學(xué)到了什么。不做任何推薦,只分析它們的特點(diǎn)和適用場(chǎng)景。
  為什么使用文章采集工具
  站長(cháng)們都知道,大網(wǎng)站基本上都有自己的開(kāi)放采集點(diǎn),很少用到工具。作為SEO,我們沒(méi)有那么強大的技術(shù)支持,只能使用市面上常見(jiàn)的一些。采集 工具來(lái)實(shí)現 采集。
  文章采集 會(huì )影響 網(wǎng)站 質(zhì)量嗎?
  首先,它不能是純粹的采集。純采集是百度等搜索引擎嚴厲打擊的行為。文章 確保在發(fā)布之前返工 文章,例如使用 文章 偽原創(chuàng ) 工具。達到接近原創(chuàng )的目的,然后做相應的站內站外優(yōu)化。這樣使用文章采集是沒(méi)有問(wèn)題的。但是想要做好SEO,內容很重要,因為SEO是一個(gè)內容為王的行業(yè)。
  
  關(guān)于 優(yōu)采云Magnum文章采集器
  讓我們先談?wù)剝?yōu)采云通用文章采集軟件。優(yōu)采云通用文章采集器是一款文章采集軟件,您只需輸入關(guān)鍵詞、采集各大搜索引擎網(wǎng)站和新聞。但優(yōu)采云僅適用于一些常見(jiàn)的新聞源如:百度、搜狗、360、今日頭條、微信、google、百度新聞、搜狗新聞、360新聞、一點(diǎn)新聞、雅虎新聞、谷歌新聞、必應新聞等。 Less比指定的 網(wǎng)站采集。另外,網(wǎng)站是為不同的cms制作的,每次使用優(yōu)采云采集到本地,都必須使用不同的優(yōu)采云發(fā)布軟件來(lái)發(fā)布。還有一點(diǎn)就是優(yōu)采云是收費的,站長(cháng)朋友可以根據自己的情況自行安排。
  哪個(gè)免費的采集工具好用
  首先要根據自己的情況來(lái)選擇。在我使用的眾多文章采集工具中,我覺(jué)得下面這個(gè)比較方便我使用。最重要的是 采集 是完全免費的。
  1、依托軟件獨有的通用文字識別智能算法,可實(shí)現對任意網(wǎng)頁(yè)文字的自動(dòng)提取,準確率達95%以上。
  2. 輸入關(guān)鍵詞即可采集進(jìn)入微信文章、今日頭條、一點(diǎn)新聞、百度新聞和網(wǎng)頁(yè)、搜狗新聞和網(wǎng)頁(yè)、360新聞和網(wǎng)頁(yè)、谷歌新聞和頁(yè)面、必應新聞和頁(yè)面、雅虎新聞和頁(yè)面;批量關(guān)鍵詞自動(dòng)采集可用。
  3、指定網(wǎng)站欄目列表下的所有文章(如百度經(jīng)驗、百度貼吧)均可定位到采集,智能匹配,無(wú)需編寫(xiě)復雜的規則.
  
  4、文章翻譯功能可以將采集好的文章翻譯成英文再翻譯回中文,實(shí)現翻譯偽原創(chuàng ),支持谷歌和有道翻譯。
  5. 有史以來(lái)最簡(jiǎn)單、最智能的 文章采集器,最重要的是,它是免費的!自由的!自由的!
  6、cms支持:支持帝國、易友、ZBLOG、織夢(mèng)、WP、PB、Apple、搜外等各大cms,可同時(shí)管理和發(fā)布時(shí)間
  對應欄目:不同的文章可以發(fā)布不同的欄目
  定時(shí)發(fā)布:可以控制多少分鐘發(fā)布一篇文章
  監控數據:已發(fā)布,待發(fā)布,是否為原創(chuàng ),發(fā)布狀態(tài),URL,程序等。
  操作步驟非常簡(jiǎn)單。該軟件幫助站點(diǎn)所有者和網(wǎng)站 管理員解決許多繁瑣復雜的任務(wù)。真正意義上的第一款軟件同時(shí)實(shí)現了與各大cms版本的無(wú)縫對接,并且支持本地偽原創(chuàng )!并且發(fā)布完成后可以在同一個(gè)軟件上直接推送百度、搜狗、360、神馬,實(shí)現cms全平臺發(fā)布管理,批量偽原創(chuàng ),全平臺自動(dòng)批量推送,軟件功能強大,不止一點(diǎn)!
  解決方案:深入淺出 Performance 工具 & API
  概述
  在日常的開(kāi)發(fā)任務(wù)中,性能優(yōu)化都會(huì )或多或少接觸到一些內容,也可能會(huì )參考雅虎的35條軍規進(jìn)行相關(guān)的性能優(yōu)化,但是具體的優(yōu)化結果和實(shí)際頁(yè)面速度如何看待呢?羊毛布?還有性能問(wèn)題,如何通過(guò)現有工具定位解決?也就是今天要給大家介紹的內容主題是“性能”,主題偏向于工具類(lèi)的介紹。我主要從以下四個(gè)方面介紹今天的內容。
  Chrome 性能工具使用
  上圖可以看到Chrome中的性能,主要分為幾個(gè)部分
  控制面板(控制)
  開(kāi)始錄制,停止錄制,配置錄制過(guò)程中需要錄制的內容。
  操作主要分為兩個(gè)區域,操作區域1從左到右依次為“Record/Stop”、“Reload”和“Clear”。
  操作區2可選擇報表顯示內容,從左到右依次為Screenshots、Memory、Web Vitals
  概覽面板(Overview)
  該區域主要是頁(yè)面行為的概述,由三個(gè)圖形記錄組成。
  每個(gè)條形的淺色部分代表延遲(從發(fā)送資源請求到收到第一個(gè)響應字節之間的時(shí)間),深色部分代表文件傳輸時(shí)間(從收到第一個(gè)字節到資源完成消費)。下載好)
  藍色代表HTML文件,黃色代表Script文件,紫色代表Stylesheets文件,綠色代表Media文件,灰色代表其他資源Flame Chart(火焰圖)
  其實(shí)這里我們主要需要關(guān)注Main,因為它是對主線(xiàn)程執行的一個(gè)監控。點(diǎn)擊之后,我們可以看到當前線(xiàn)程中一些任務(wù)的耗時(shí)執行棧。我們需要關(guān)注一些標記為紅色(即耗時(shí)高)的任務(wù)。
  詳細資料
  選擇特定事件后,此面板會(huì )顯示有關(guān)該事件的更多詳細信息。如果未選擇任何事件,此面板將顯示當前所選時(shí)間段的一些信息。詳細面板支持精確到毫秒級的分析,詳細面板主要分為
  Bottom-Up面板:Bottom-Up中有三列數據
  Performance Api 監控網(wǎng)頁(yè)性能
  除了瀏覽器提供的性能檢測和調試工具外,W3C還定義了一套性能標準。每個(gè)瀏覽器制造商都根據標準提供了一系列用于監控網(wǎng)絡(luò )性能的基本API。屏幕時(shí)間、用戶(hù)可操作的時(shí)間節點(diǎn)、頁(yè)面總下載時(shí)間、DNS查詢(xún)時(shí)間、TCP連接時(shí)間等。我們可以以此來(lái)構建一個(gè)簡(jiǎn)單的性能監控工具。當然,監控系統包括數據采集-&gt;數據存儲-&gt;清洗-&gt;監控等幾個(gè)流程,但是這里我們暫時(shí)簡(jiǎn)單使用Performance Api,只考慮采集階段。
  提供的能力屬性
  performance的所有Api&amp;properties都掛載在window下的performance屬性中??梢钥吹疆斍疤峁┑囊幌盗袑傩?。各個(gè)屬性的介紹可以參考網(wǎng)上關(guān)于aip的解釋。有很多資料可供查詢(xún)。
  如上圖所示,performance收錄三個(gè)對象,分別是memory、navigation、timing
  navigation:意思是頁(yè)面的來(lái)源信息,表示頁(yè)面是如何被重定向的,這個(gè)對象有2個(gè)屬性值
  timing:提供頁(yè)面加載過(guò)程中一系列關(guān)鍵時(shí)間點(diǎn)的高精度測量。包括網(wǎng)絡(luò )、解析、加載等一系列時(shí)間數據。我們對網(wǎng)頁(yè)性能的監控也是基于這個(gè)提供的屬性。為了方便理解,從網(wǎng)上找了一張圖來(lái)解釋一下關(guān)鍵節點(diǎn)的含義。
  如上圖所示,Performance提供了部分截取的圖片。這里主要介紹now()方法和getEntries()方法。其他網(wǎng)上資料也很多很全,可以參考/post/68449133#heading-54
  我們可以通過(guò)這種方式來(lái)衡量函數的執行時(shí)間,從而達到監控函數執行效率的效果
  
  const fun = () => {
// do something
}
const startExcuteTime = window.performance.now();
fun();
const endExcuteTime = window.performance.now();
console.log("fun函數執行了" + (endExcuteTime - startExcuteTime) + "毫秒.")
  點(diǎn)擊數組中的元素,每個(gè)元素都詳細記錄了資源請求關(guān)鍵節點(diǎn)的時(shí)間,我們可以借此實(shí)現對資源的請求監控。
  更多Api細節,可以參考文章再看Performance接口
  指標計算的簡(jiǎn)單實(shí)現
  一個(gè)監控系統大致可以分為以下幾個(gè)階段。讓我們首先關(guān)注數據的 采集 階段。數據采集階段設計有兩點(diǎn),一是數據采集,二是數據上報。
  下面是Slardar的源代碼截圖??梢钥吹剿麄兿仁褂胹endBecan上報監控數據,降級策略是XHR請求。
  我們經(jīng)常關(guān)注的一些指標的計算和上報都可以通過(guò)性能api來(lái)實(shí)現
  重定向耗時(shí) = redirectEnd - redirectStart;
DNS查詢(xún)耗時(shí) = domainLookupEnd - domainLookupStart;
TCP鏈接耗時(shí) = connectEnd - connectStart;
HTTP請求耗時(shí) = responseEnd - responseStart;
解析dom樹(shù)耗時(shí) = domComplete - domInteractive;
白屏時(shí)間 = responseStart - navigationStart;
<p>
DOMready時(shí)間 = domContentLoadedEventEnd - navigationStart;
onload時(shí)間 = loadEventEnd - navigationStart;
</p>
  現有的一些網(wǎng)頁(yè)性能測試工具
  除了前面兩種可以檢測頁(yè)面性能的方法之外,還有一些第三方工具或者平臺也為我們提供了檢測能力。
  下面是使用 LightHouse 的截圖。Lighthouse 生成的不僅僅是一些與性能相關(guān)的數據。除了為我們提供頁(yè)面性能檢測外,還為我們列出了一系列的優(yōu)化建議。我們有 網(wǎng)站 或頁(yè)面的優(yōu)化,可以根據建議逐步優(yōu)化。
  提供組件級渲染分析
  React 性能測量與分析
  介紹 React Profiler – React 博客
  性能工具測驗
  雪浪的教師端項目代碼目前運行在“CEF shell”和“瀏覽器”兩大宿主環(huán)境中。一期項目,整體項目采用單入口多渠道的方式,再說(shuō)說(shuō)項目的打包 沒(méi)有優(yōu)化,整體
  以上一系列的問(wèn)題導致了雪浪的整體頁(yè)面加載速度很慢。后來(lái)雪浪專(zhuān)門(mén)組織了一次重大的重構優(yōu)化,進(jìn)行了項目入口的拆分&amp;打包過(guò)程的拆分。雪浪項目結構多入口多路由,區分宿主環(huán)境。從目前的表現來(lái)看,頁(yè)面的加載速度相比之前有了很大的提升。目前在我當前網(wǎng)絡(luò )情況下DomContentLoad的加載時(shí)間約為2S
  是否有優(yōu)化空間來(lái)縮短頁(yè)面加載時(shí)間?我們可以通過(guò)Performance的NetWork火焰圖來(lái)查看哪些文件加載??時(shí)間比較長(cháng),導致DomContentLoad的觸發(fā)時(shí)間變長(cháng)。首先,DomContentLoad事件的觸發(fā)因素包括html下載、dom解析、js腳本下載&amp;執行,這些都會(huì )影響DomContentLoad的觸發(fā)。
  通過(guò)觀(guān)察NetWork的情況,很明顯DCL的時(shí)機是在一個(gè)encoding.js文件加載后觸發(fā)的,而這個(gè)文件的加載時(shí)間長(cháng)達2.13s,可以說(shuō)占到了80%左右主頁(yè)的加載。時(shí)間,那么如何優(yōu)化這個(gè)腳本的加載時(shí)間呢?有幾個(gè)想法
  找到了原因和思路,于是開(kāi)始追查文件的背景,發(fā)現因為這個(gè)文件是為了處理一些課堂SDK在不同瀏覽器中的pollfiy,但是目前由于大包的拆分&amp; 第一階段入口,課堂 瀏覽器環(huán)境下不會(huì )加載sdk的相關(guān)資源,所以不再在瀏覽器環(huán)境下使用。我們可以直接刪除godless看看效果。(實(shí)際上encoding.js文件并沒(méi)有被壓縮,如果實(shí)際使用的文件,我們可以使用壓縮后的文件)
  總體來(lái)說(shuō),DCL的觸發(fā)時(shí)間從2.13s減少到972ms,效果還是比較明顯的。通過(guò)一個(gè)小分析案例+小優(yōu)化來(lái)說(shuō)明Performance面板中相關(guān)模塊的使用。
  總結
  本文主要介紹使用工具定位性能問(wèn)題,以及通過(guò)Performance Api對部分指標進(jìn)行計算統計。目前公司內的Sladar已經(jīng)為我們提供了比較全面的數據分析,但是對于一些定位頁(yè)面性能的基礎工具和基礎能力的了解在日常工作中也有一定的幫助。
  參考文件
  /郵報/68449133
  /p/29879682
  /郵報/68449469
  /文章/daf1e22b0b48d27282633dd8d
  /lizheng0515/ignore/issues/31
  /zh-CN/docs/Web/API/性能
  React 性能測量與分析
  介紹 React Profiler – React 博客
  ??感謝您的支持
  以上就是本次分享的全部?jì)热?,希望對大家有所幫助^_^ 查看全部

  解決方案:優(yōu)采云批量文章采集
  最近有很多站長(cháng)朋友問(wèn)我網(wǎng)站采集什么軟件好用,優(yōu)采云萬(wàn)能文章采集軟件好用。今天我要談?wù)勎覀儚?優(yōu)采云、優(yōu)采云、免費 采集 工具中學(xué)到了什么。不做任何推薦,只分析它們的特點(diǎn)和適用場(chǎng)景。
  為什么使用文章采集工具
  站長(cháng)們都知道,大網(wǎng)站基本上都有自己的開(kāi)放采集點(diǎn),很少用到工具。作為SEO,我們沒(méi)有那么強大的技術(shù)支持,只能使用市面上常見(jiàn)的一些。采集 工具來(lái)實(shí)現 采集。
  文章采集 會(huì )影響 網(wǎng)站 質(zhì)量嗎?
  首先,它不能是純粹的采集。純采集是百度等搜索引擎嚴厲打擊的行為。文章 確保在發(fā)布之前返工 文章,例如使用 文章 偽原創(chuàng ) 工具。達到接近原創(chuàng )的目的,然后做相應的站內站外優(yōu)化。這樣使用文章采集是沒(méi)有問(wèn)題的。但是想要做好SEO,內容很重要,因為SEO是一個(gè)內容為王的行業(yè)。
  
  關(guān)于 優(yōu)采云Magnum文章采集器
  讓我們先談?wù)剝?yōu)采云通用文章采集軟件。優(yōu)采云通用文章采集器是一款文章采集軟件,您只需輸入關(guān)鍵詞、采集各大搜索引擎網(wǎng)站和新聞。但優(yōu)采云僅適用于一些常見(jiàn)的新聞源如:百度、搜狗、360、今日頭條、微信、google、百度新聞、搜狗新聞、360新聞、一點(diǎn)新聞、雅虎新聞、谷歌新聞、必應新聞等。 Less比指定的 網(wǎng)站采集。另外,網(wǎng)站是為不同的cms制作的,每次使用優(yōu)采云采集到本地,都必須使用不同的優(yōu)采云發(fā)布軟件來(lái)發(fā)布。還有一點(diǎn)就是優(yōu)采云是收費的,站長(cháng)朋友可以根據自己的情況自行安排。
  哪個(gè)免費的采集工具好用
  首先要根據自己的情況來(lái)選擇。在我使用的眾多文章采集工具中,我覺(jué)得下面這個(gè)比較方便我使用。最重要的是 采集 是完全免費的。
  1、依托軟件獨有的通用文字識別智能算法,可實(shí)現對任意網(wǎng)頁(yè)文字的自動(dòng)提取,準確率達95%以上。
  2. 輸入關(guān)鍵詞即可采集進(jìn)入微信文章、今日頭條、一點(diǎn)新聞、百度新聞和網(wǎng)頁(yè)、搜狗新聞和網(wǎng)頁(yè)、360新聞和網(wǎng)頁(yè)、谷歌新聞和頁(yè)面、必應新聞和頁(yè)面、雅虎新聞和頁(yè)面;批量關(guān)鍵詞自動(dòng)采集可用。
  3、指定網(wǎng)站欄目列表下的所有文章(如百度經(jīng)驗、百度貼吧)均可定位到采集,智能匹配,無(wú)需編寫(xiě)復雜的規則.
  
  4、文章翻譯功能可以將采集好的文章翻譯成英文再翻譯回中文,實(shí)現翻譯偽原創(chuàng ),支持谷歌和有道翻譯。
  5. 有史以來(lái)最簡(jiǎn)單、最智能的 文章采集器,最重要的是,它是免費的!自由的!自由的!
  6、cms支持:支持帝國、易友、ZBLOG、織夢(mèng)、WP、PB、Apple、搜外等各大cms,可同時(shí)管理和發(fā)布時(shí)間
  對應欄目:不同的文章可以發(fā)布不同的欄目
  定時(shí)發(fā)布:可以控制多少分鐘發(fā)布一篇文章
  監控數據:已發(fā)布,待發(fā)布,是否為原創(chuàng ),發(fā)布狀態(tài),URL,程序等。
  操作步驟非常簡(jiǎn)單。該軟件幫助站點(diǎn)所有者和網(wǎng)站 管理員解決許多繁瑣復雜的任務(wù)。真正意義上的第一款軟件同時(shí)實(shí)現了與各大cms版本的無(wú)縫對接,并且支持本地偽原創(chuàng )!并且發(fā)布完成后可以在同一個(gè)軟件上直接推送百度、搜狗、360、神馬,實(shí)現cms全平臺發(fā)布管理,批量偽原創(chuàng ),全平臺自動(dòng)批量推送,軟件功能強大,不止一點(diǎn)!
  解決方案:深入淺出 Performance 工具 & API
  概述
  在日常的開(kāi)發(fā)任務(wù)中,性能優(yōu)化都會(huì )或多或少接觸到一些內容,也可能會(huì )參考雅虎的35條軍規進(jìn)行相關(guān)的性能優(yōu)化,但是具體的優(yōu)化結果和實(shí)際頁(yè)面速度如何看待呢?羊毛布?還有性能問(wèn)題,如何通過(guò)現有工具定位解決?也就是今天要給大家介紹的內容主題是“性能”,主題偏向于工具類(lèi)的介紹。我主要從以下四個(gè)方面介紹今天的內容。
  Chrome 性能工具使用
  上圖可以看到Chrome中的性能,主要分為幾個(gè)部分
  控制面板(控制)
  開(kāi)始錄制,停止錄制,配置錄制過(guò)程中需要錄制的內容。
  操作主要分為兩個(gè)區域,操作區域1從左到右依次為“Record/Stop”、“Reload”和“Clear”。
  操作區2可選擇報表顯示內容,從左到右依次為Screenshots、Memory、Web Vitals
  概覽面板(Overview)
  該區域主要是頁(yè)面行為的概述,由三個(gè)圖形記錄組成。
  每個(gè)條形的淺色部分代表延遲(從發(fā)送資源請求到收到第一個(gè)響應字節之間的時(shí)間),深色部分代表文件傳輸時(shí)間(從收到第一個(gè)字節到資源完成消費)。下載好)
  藍色代表HTML文件,黃色代表Script文件,紫色代表Stylesheets文件,綠色代表Media文件,灰色代表其他資源Flame Chart(火焰圖)
  其實(shí)這里我們主要需要關(guān)注Main,因為它是對主線(xiàn)程執行的一個(gè)監控。點(diǎn)擊之后,我們可以看到當前線(xiàn)程中一些任務(wù)的耗時(shí)執行棧。我們需要關(guān)注一些標記為紅色(即耗時(shí)高)的任務(wù)。
  詳細資料
  選擇特定事件后,此面板會(huì )顯示有關(guān)該事件的更多詳細信息。如果未選擇任何事件,此面板將顯示當前所選時(shí)間段的一些信息。詳細面板支持精確到毫秒級的分析,詳細面板主要分為
  Bottom-Up面板:Bottom-Up中有三列數據
  Performance Api 監控網(wǎng)頁(yè)性能
  除了瀏覽器提供的性能檢測和調試工具外,W3C還定義了一套性能標準。每個(gè)瀏覽器制造商都根據標準提供了一系列用于監控網(wǎng)絡(luò )性能的基本API。屏幕時(shí)間、用戶(hù)可操作的時(shí)間節點(diǎn)、頁(yè)面總下載時(shí)間、DNS查詢(xún)時(shí)間、TCP連接時(shí)間等。我們可以以此來(lái)構建一個(gè)簡(jiǎn)單的性能監控工具。當然,監控系統包括數據采集-&gt;數據存儲-&gt;清洗-&gt;監控等幾個(gè)流程,但是這里我們暫時(shí)簡(jiǎn)單使用Performance Api,只考慮采集階段。
  提供的能力屬性
  performance的所有Api&amp;properties都掛載在window下的performance屬性中??梢钥吹疆斍疤峁┑囊幌盗袑傩?。各個(gè)屬性的介紹可以參考網(wǎng)上關(guān)于aip的解釋。有很多資料可供查詢(xún)。
  如上圖所示,performance收錄三個(gè)對象,分別是memory、navigation、timing
  navigation:意思是頁(yè)面的來(lái)源信息,表示頁(yè)面是如何被重定向的,這個(gè)對象有2個(gè)屬性值
  timing:提供頁(yè)面加載過(guò)程中一系列關(guān)鍵時(shí)間點(diǎn)的高精度測量。包括網(wǎng)絡(luò )、解析、加載等一系列時(shí)間數據。我們對網(wǎng)頁(yè)性能的監控也是基于這個(gè)提供的屬性。為了方便理解,從網(wǎng)上找了一張圖來(lái)解釋一下關(guān)鍵節點(diǎn)的含義。
  如上圖所示,Performance提供了部分截取的圖片。這里主要介紹now()方法和getEntries()方法。其他網(wǎng)上資料也很多很全,可以參考/post/68449133#heading-54
  我們可以通過(guò)這種方式來(lái)衡量函數的執行時(shí)間,從而達到監控函數執行效率的效果
  
  const fun = () => {
// do something
}
const startExcuteTime = window.performance.now();
fun();
const endExcuteTime = window.performance.now();
console.log("fun函數執行了" + (endExcuteTime - startExcuteTime) + "毫秒.")
  點(diǎn)擊數組中的元素,每個(gè)元素都詳細記錄了資源請求關(guān)鍵節點(diǎn)的時(shí)間,我們可以借此實(shí)現對資源的請求監控。
  更多Api細節,可以參考文章再看Performance接口
  指標計算的簡(jiǎn)單實(shí)現
  一個(gè)監控系統大致可以分為以下幾個(gè)階段。讓我們首先關(guān)注數據的 采集 階段。數據采集階段設計有兩點(diǎn),一是數據采集,二是數據上報。
  下面是Slardar的源代碼截圖??梢钥吹剿麄兿仁褂胹endBecan上報監控數據,降級策略是XHR請求。
  我們經(jīng)常關(guān)注的一些指標的計算和上報都可以通過(guò)性能api來(lái)實(shí)現
  重定向耗時(shí) = redirectEnd - redirectStart;
DNS查詢(xún)耗時(shí) = domainLookupEnd - domainLookupStart;
TCP鏈接耗時(shí) = connectEnd - connectStart;
HTTP請求耗時(shí) = responseEnd - responseStart;
解析dom樹(shù)耗時(shí) = domComplete - domInteractive;
白屏時(shí)間 = responseStart - navigationStart;
<p>
DOMready時(shí)間 = domContentLoadedEventEnd - navigationStart;
onload時(shí)間 = loadEventEnd - navigationStart;
</p>
  現有的一些網(wǎng)頁(yè)性能測試工具
  除了前面兩種可以檢測頁(yè)面性能的方法之外,還有一些第三方工具或者平臺也為我們提供了檢測能力。
  下面是使用 LightHouse 的截圖。Lighthouse 生成的不僅僅是一些與性能相關(guān)的數據。除了為我們提供頁(yè)面性能檢測外,還為我們列出了一系列的優(yōu)化建議。我們有 網(wǎng)站 或頁(yè)面的優(yōu)化,可以根據建議逐步優(yōu)化。
  提供組件級渲染分析
  React 性能測量與分析
  介紹 React Profiler – React 博客
  性能工具測驗
  雪浪的教師端項目代碼目前運行在“CEF shell”和“瀏覽器”兩大宿主環(huán)境中。一期項目,整體項目采用單入口多渠道的方式,再說(shuō)說(shuō)項目的打包 沒(méi)有優(yōu)化,整體
  以上一系列的問(wèn)題導致了雪浪的整體頁(yè)面加載速度很慢。后來(lái)雪浪專(zhuān)門(mén)組織了一次重大的重構優(yōu)化,進(jìn)行了項目入口的拆分&amp;打包過(guò)程的拆分。雪浪項目結構多入口多路由,區分宿主環(huán)境。從目前的表現來(lái)看,頁(yè)面的加載速度相比之前有了很大的提升。目前在我當前網(wǎng)絡(luò )情況下DomContentLoad的加載時(shí)間約為2S
  是否有優(yōu)化空間來(lái)縮短頁(yè)面加載時(shí)間?我們可以通過(guò)Performance的NetWork火焰圖來(lái)查看哪些文件加載??時(shí)間比較長(cháng),導致DomContentLoad的觸發(fā)時(shí)間變長(cháng)。首先,DomContentLoad事件的觸發(fā)因素包括html下載、dom解析、js腳本下載&amp;執行,這些都會(huì )影響DomContentLoad的觸發(fā)。
  通過(guò)觀(guān)察NetWork的情況,很明顯DCL的時(shí)機是在一個(gè)encoding.js文件加載后觸發(fā)的,而這個(gè)文件的加載時(shí)間長(cháng)達2.13s,可以說(shuō)占到了80%左右主頁(yè)的加載。時(shí)間,那么如何優(yōu)化這個(gè)腳本的加載時(shí)間呢?有幾個(gè)想法
  找到了原因和思路,于是開(kāi)始追查文件的背景,發(fā)現因為這個(gè)文件是為了處理一些課堂SDK在不同瀏覽器中的pollfiy,但是目前由于大包的拆分&amp; 第一階段入口,課堂 瀏覽器環(huán)境下不會(huì )加載sdk的相關(guān)資源,所以不再在瀏覽器環(huán)境下使用。我們可以直接刪除godless看看效果。(實(shí)際上encoding.js文件并沒(méi)有被壓縮,如果實(shí)際使用的文件,我們可以使用壓縮后的文件)
  總體來(lái)說(shuō),DCL的觸發(fā)時(shí)間從2.13s減少到972ms,效果還是比較明顯的。通過(guò)一個(gè)小分析案例+小優(yōu)化來(lái)說(shuō)明Performance面板中相關(guān)模塊的使用。
  總結
  本文主要介紹使用工具定位性能問(wèn)題,以及通過(guò)Performance Api對部分指標進(jìn)行計算統計。目前公司內的Sladar已經(jīng)為我們提供了比較全面的數據分析,但是對于一些定位頁(yè)面性能的基礎工具和基礎能力的了解在日常工作中也有一定的幫助。
  參考文件
  /郵報/68449133
  /p/29879682
  /郵報/68449469
  /文章/daf1e22b0b48d27282633dd8d
  /lizheng0515/ignore/issues/31
  /zh-CN/docs/Web/API/性能
  React 性能測量與分析
  介紹 React Profiler – React 博客
  ??感謝您的支持
  以上就是本次分享的全部?jì)热?,希望對大家有所幫助^_^

分享:文章采集器的話(huà),可以用壹圖或拾柒

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 113 次瀏覽 ? 2022-12-02 16:34 ? 來(lái)自相關(guān)話(huà)題

  分享:文章采集器的話(huà),可以用壹圖或拾柒
  文章采集器的話(huà),可以用壹圖或拾柒圖片采集器,壹圖的客戶(hù)端、手機客戶(hù)端都可以采集圖片的;拾柒圖片采集器的話(huà),首先會(huì )打開(kāi)一個(gè)瀏覽器,然后就可以采集手機上已有的圖片了,可以采集朋友圈和其他朋友圈的圖片。
  答案正是采集知乎采集器用于知乎采集圖片,你將獲得圖片的清晰度。
  
  壹圖采集器,
  請問(wèn),
  用微網(wǎng)站制作網(wǎng)站采集器微信圈圖片采集器同樣可以實(shí)現知乎圖片的采集,包括知乎其他主流平臺。原理:訪(fǎng)問(wèn)知乎分享的微信分享網(wǎng)站,獲取分享鏈接,導入到微網(wǎng)站制作工具。
  
  我百度了下,還真有這個(gè)知乎采集器。應該不算很知名,應該是比較新起的。大概過(guò)程是,點(diǎn)開(kāi)那個(gè)鏈接后把鏈接復制到網(wǎng)站采集器里,就能采集那個(gè)鏈接里的圖片了。
  應該沒(méi)有知乎現成的圖片庫,所以你用壹圖采集器采集到的圖片都是采集網(wǎng)站自己的圖片。所以你要用我的話(huà),推薦的肯定是yeeyi圖片。
  百度搜索:搜搜知乎采集器
  壹圖采集器的成功率高一些。你所謂的帶水印,是指下載后采集圖片的水印,這個(gè)是有辦法去掉的,設置一下瀏覽器的過(guò)濾規則就行。 查看全部

  分享:文章采集器的話(huà),可以用壹圖或拾柒
  文章采集器的話(huà),可以用壹圖或拾柒圖片采集器,壹圖的客戶(hù)端、手機客戶(hù)端都可以采集圖片的;拾柒圖片采集器的話(huà),首先會(huì )打開(kāi)一個(gè)瀏覽器,然后就可以采集手機上已有的圖片了,可以采集朋友圈和其他朋友圈的圖片。
  答案正是采集知乎采集器用于知乎采集圖片,你將獲得圖片的清晰度。
  
  壹圖采集器,
  請問(wèn),
  用微網(wǎng)站制作網(wǎng)站采集器微信圈圖片采集器同樣可以實(shí)現知乎圖片的采集,包括知乎其他主流平臺。原理:訪(fǎng)問(wèn)知乎分享的微信分享網(wǎng)站,獲取分享鏈接,導入到微網(wǎng)站制作工具。
  
  我百度了下,還真有這個(gè)知乎采集器。應該不算很知名,應該是比較新起的。大概過(guò)程是,點(diǎn)開(kāi)那個(gè)鏈接后把鏈接復制到網(wǎng)站采集器里,就能采集那個(gè)鏈接里的圖片了。
  應該沒(méi)有知乎現成的圖片庫,所以你用壹圖采集器采集到的圖片都是采集網(wǎng)站自己的圖片。所以你要用我的話(huà),推薦的肯定是yeeyi圖片。
  百度搜索:搜搜知乎采集器
  壹圖采集器的成功率高一些。你所謂的帶水印,是指下載后采集圖片的水印,這個(gè)是有辦法去掉的,設置一下瀏覽器的過(guò)濾規則就行。

解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 181 次瀏覽 ? 2022-11-30 16:45 ? 來(lái)自相關(guān)話(huà)題

  解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案
  Python采集器、CKSpider、杰奇linux采集優(yōu)質(zhì)解決方案
  linux下捷奇cms的獲取一直是各大站長(cháng)頭疼的問(wèn)題。網(wǎng)上有很多方法,比如wine和samba,還有遠程磁盤(pán)映射。該方法和相同的特點(diǎn)對新手非常不友好,而且還受限于設備的配置、位置和系統環(huán)境??傊?,很麻煩。成功的配置不能不折騰就解決,還是容易出問(wèn)題。上面的很多我都親自測試過(guò),有幾個(gè)配置都成功了,但是說(shuō)白了,jieqi對于很多站長(cháng)來(lái)說(shuō)都離不開(kāi)custom collector,而優(yōu)采云
在jieqi中使用規則的情況并不多需要發(fā)行,操作必然復雜。
  本文僅供學(xué)習研究,請勿用于侵權
  那么,有什么辦法可以解決嗎?
  【注意,這個(gè)采集
器的官方開(kāi)發(fā)者已經(jīng)出風(fēng)頭了,linux采集
器使用了新的解決方案】
  杰奇linux遠程采集,采集器網(wǎng)站分離
  
  本文非廣告[霧]
  CK Collector,又名CKSpider,是一款由python開(kāi)發(fā)的跨平臺采集工具。官方的描述很簡(jiǎn)單,“這可能是捷奇CMS Linux采集
的最佳解決方案!”。這句話(huà)沒(méi)有錯,它完美支持捷奇1.7、捷奇1.8、捷奇2.2、捷奇2.3的快速采集
。你只需要根據站點(diǎn)進(jìn)行配置,設置規則,就可以直觀(guān)的開(kāi)始收書(shū)了。
  與幫助Linux站點(diǎn)采集的Guanguan Collector相比,CK Collector更簡(jiǎn)單,更快速,并且不受延遲或環(huán)境的影響。官網(wǎng)文檔有詳細解釋。
  配置過(guò)程比較簡(jiǎn)單。只需進(jìn)行一些基本操作即可在linux下使用。這篇文章我就不寫(xiě)安裝教程了,大家可以直接去采集
機關(guān)網(wǎng)。
  地址:無(wú)(官網(wǎng)關(guān)閉)
  采集到的截圖如下:
  
  速度非???。其實(shí)和我之前介紹的易大師采集
器長(cháng)得差不多,不過(guò)這個(gè)不會(huì )有BUG的。采集過(guò)程和關(guān)關(guān)差不多,在linux下效率更高。
  配置截圖:
  可以說(shuō)基本的功能都有了,完全可以滿(mǎn)足采集
的需要,至少很多操作是傻瓜式的,只要信息填寫(xiě)正確即可。具體可以去官網(wǎng)看安裝文檔,里面有詳細的介紹。
  最后附上官網(wǎng)截圖
  如果你是在linux上做網(wǎng)站,或者考慮做linux下杰基小說(shuō)的站長(cháng),不想做各種采集配置又想快速采集的可以使用CKSpider。您只需支付少量授權費即可使用。向上。
  當前頁(yè)面是本網(wǎng)站的“Google AMP”版本。查看和評論請點(diǎn)擊:完整版?
  解決方案:基于linux的嵌入式數據采集系統軟件設計與實(shí)現
  湖南大學(xué)碩士學(xué)位論文基于Linux的嵌入式數據采集系統軟件設計與實(shí)現姓名:****請學(xué)位級別:碩士專(zhuān)業(yè):電子與通信工程指導教師:**清;鄭小平20080401工程碩士學(xué)位論文摘要隨著(zhù)信息技術(shù)的飛速發(fā)展,人們需要能夠準確、快速和便捷地獲得大量數據并能從中迅速提取出有用的信息。近年來(lái),嵌入式計算機正在深入應用到工業(yè)、農業(yè)、教育、囡防、科研以及日常生活等各個(gè)領(lǐng)域。人們對于嵌入式計算機的需求在迅速增長(cháng),并且對其功耗、成本、開(kāi)發(fā)怒期、可靠性等多方面都提戡了更高的要求。目前,將嵌入式Linux技術(shù)與數據采集技術(shù)及數字信號處理技術(shù)結合起來(lái),正是適應了這一趨勢。采用Linux技術(shù)的嵌入式系統是一種體積小、便于攜帶、易于網(wǎng)絡(luò )化、造價(jià)相對較低,集信號采集、處理為一體的設備,其有廣泛的應用前論文首先討論數據采集系統需要達到的性能指標,著(zhù)重研究數據采集技術(shù)中關(guān)鍵的微弱信號檢測和噪聲抑制技術(shù),分析嵌入式Linux在數據采集和頻譜分析應用中的優(yōu)勢和意義。本文提出采用嵌入式Linux作為操作系統,針對Atmel公司的AT9lRM9200嵌入式處理器,設計~個(gè)嵌入式數據采集系統。論文在分析了Linux設備驅動(dòng)程序的基本工作原理基礎上,討論了開(kāi)發(fā)中經(jīng)常會(huì )碰到的中斷處理、I/0端悶,并在此基礎上實(shí)現了基予AT9lRM9200嵌入式處理器系統的讀、寫(xiě)外部RAM的字符設備驅動(dòng)和網(wǎng)絡(luò )驅動(dòng)。
  實(shí)驗證明,構造基于ARM的嵌入式Linux系統,并將其應用于工業(yè)測控等領(lǐng)域,在技術(shù)上憲全可行。關(guān)鍵詞:嵌入式系統;數據采集;嵌入式Llnux;Llnux設備驅動(dòng)基予毯n濺的嵌入式數據采集系統軟譬}設詩(shī)與實(shí)現AbstractWiththerapiddevelopmentoftheinformationtechnology,largeamountofdata,蠡。撒w矗ie董ll歉euse斑lin南f撒alione鑫nbedefived,ne{謄dlobeobt采玨edaecuf貳ely,convenientlyandtimely.Inrecentyears,embeddedLinuxhasbeenusedinmany蠡eldssuchasi魏d玨s專(zhuān)ly,agrie毽l{毪fe,ed毽e鑫lio曩,致鑫lio鑫鑫ldefe玨se,scientiflefeseafehdailylife.Thedemandoftheembeddedconlputerhasbeingincreasedrapidly.A玨dlnofefequifementoftheelllbeddedcomput。rpowefconsulnption,productioncost,researchperiodreliabilityhasbeenraised.Now,thecombinationoftheembeddedsysteminI—inuxandthetechnologiesofdatacollectionanddigitalsignalpfocessingleads乏oatasktodeVelopasmallandpoft£凼ledeVice,、他ichhasfhnctionsofdatacollecting,processing,storingdisplaying.Itcanalsobeconnectedeasilyloweos寶.下hefeseafe董lhasaniI建pQrtantearningpOtent主ala觳dabrig董llprospeetbeingwidelyused.l瓤esis,專(zhuān)heper萎3f搬a建eei黷dexofdataae鼗娃isi{ionsys{el鞋lsan越yzed。
 ?。牛恚穑瑁幔簦椋悖幔欤欤?,theweaksignaldetectionandantinoisetechnologyarestudied.The8dvantageselnbeddedLinuxtec量lnol。gydatacollec專(zhuān)ionfrequencyspectrumanalysisarealsodiscussed.TheembeddedLinuxoperalingsystenlpaper.TheAtlnelAT91RM9200isselectedtheCPUofthesystem.TheelementaryoperatingprincipleofthedevicedriverinLinuxisanalyzed.TheinterruptprocessingandI/Opor專(zhuān)arealso纛iseussed.Atlast,basedo穗th。selheories,鑫c量lardriVerand8ne專(zhuān)driVerofthesystemdeVeloped.薹魏conel毽sio建,itis{ec董l建ieallyf毫asiblelob毽ildel建bedde蓮£i致毽xo致AR涯systel廷applyittOthemeasurementandcontrolfieldinindustry.Keywords:Embeddedsystern;Dataacquisition;EmbeddedLinux;LinuxdeVicedrivell湖南大學(xué)學(xué)位論文原創(chuàng )性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進(jìn)行研究所取得的研究成果。
  除了文中特別加以標注引用的內容外,本論文不收錄
任何其他個(gè)人或集體己經(jīng)發(fā)表或撰寫(xiě)的成果作品。對本文的研究做出重要貢獻的個(gè)人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名:巷夕夸學(xué)位論文版權使用授權書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規定,同意學(xué)校保留并向國家有關(guān)部門(mén)或機構送交論文的復印件幫電子版,允許論文被查閱和借閱。本人授權湖南大學(xué)可以將本學(xué)位論文的全部或部分內容編入有關(guān)數據庫進(jìn)行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于l、保密口,在年解密后適用本授權書(shū)。2、不保密耐。(請在以上相應方框內打“”)作者簽名:0爭夕琴工程碩士學(xué)位論文重。l選題的背景與意義第l章緒論隨著(zhù)現代化大規模生產(chǎn)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,現代設備的功能越來(lái)越完善,自動(dòng)化程度越來(lái)越高,生產(chǎn)設備朝著(zhù)高度自動(dòng)化和高度集成化的方向發(fā)展,同時(shí)設備結構圓益復雜化,致使設備維修費用和停產(chǎn)損失與日俱增。如何提高設備的安全可靠性,保障設備穩定、長(cháng)期滿(mǎn)負荷運行,防止和消除設備故障,對設備進(jìn)行全壽命管理,已成為亟待解決的課題Hj。狀態(tài)監測與故障診斷技術(shù)就是在這種背景下提趲并發(fā)展起來(lái)的,通過(guò)在工程中的應用,為設備的管理和維修提供了重要的依據,取得了巨大的經(jīng)濟效益12J。
  要實(shí)現對設備狀態(tài)的監測與故障診斷,首先必須將設備中的各種信號(稱(chēng)為模擬信號)轉化為計算機可以識剮、存儲的信號(稱(chēng)為數字信號),這一過(guò)程鏊罐數據采集【孔。數據采集技術(shù)是以前端的模擬信號處理、模擬信號數字化、數字信號處理 和計算機控制技術(shù)為基礎而形成的一門(mén)綜合技術(shù),它在許多領(lǐng)域得到了廣泛的應 用辨l。在科學(xué)研究中,應用信號采集系統可以獲得大量的有用信息。在現代科學(xué) 技術(shù)不斷應用予日常生活的今天,數據采集技術(shù)也為創(chuàng )造一個(gè)更加舒適、健康的 生活環(huán)境,提高生活質(zhì)量發(fā)揮重要作用。 數據采集系統的任務(wù),具體地說(shuō),就是采集傳感器輸出的模擬信號并轉換成 計算枧能識別的數字信號。數據采集的最終目的是要從采集到的關(guān)于被測對象的 大量數據中提取出有用的,反映被測量特征的信息來(lái),這就需要對數據進(jìn)行處理。 數字信號處理技術(shù)是利用計算機或專(zhuān)用處理設備,以數值計算的方法對信號進(jìn)行 交換、綜合、估值與識別等加工處理,借以達到提取信息和便于應潮為目的的一 種技術(shù)。一個(gè)大型的數據采集系統由以下幾個(gè)部分組成【5J:數據測量、數據采集、 數據傳送、數據存儲、數據處理、分析和顯示等。 目前,嵌入式數據采集系統成為數據采集系統的研究熱點(diǎn){6j。
  嵌入式技術(shù),特 別是嵌入式操{乍系統的發(fā)展使褥開(kāi)發(fā)嵌入式系統變得容易,開(kāi)發(fā)成本降低,產(chǎn)燕通用 性提高,可更新?lián)Q代。結合傳統嵌入式系統體積小、耗能少、抗干擾能力強、穩定的 特點(diǎn),開(kāi)發(fā)嵌入式數據采集系統的應用產(chǎn)品,不管是作為一個(gè)獨立的產(chǎn)晶,還是某一 系統的某個(gè)功麓模塊,都是十分有意義的J。 1.2嵌入式系統概述 1.2.1嵌入式系統定義及特點(diǎn) 嵌入式系統是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應 應用系統,對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統博J。 它將操作系統和功能軟件集成于計算機硬件系統之中,簡(jiǎn)而言之就是系統的應用 軟件與系統的硬件一體化,類(lèi)似于BIOS的工作方式,具有軟件代碼小,高度自動(dòng) 化,響應速度快等特點(diǎn)。特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統是將 先進(jìn)的計算機技術(shù)、半導體技術(shù)、電子技術(shù)和各個(gè)行業(yè)實(shí)際應用相結合的產(chǎn)物。 嵌入式系統的結構由兩大模塊組成:硬件平臺和軟件平臺,其結構如圖1.1 所示: 圖1.1嵌入式系統結構圖 嵌入式系統的硬件平臺通常以緊湊、專(zhuān)用性強的處理器為核心,同時(shí)結合少 量的外圍設備,具有應用相關(guān)性、多樣性的特點(diǎn);嵌入式系統軟件平臺通常收錄
嵌入式應用程序和嵌入式操作系統。
  其中嵌入式操作系統介于硬件和應用程序之 間,負責任務(wù)調度并管理實(shí)時(shí)應用程序,完成對硬件的控制和操作。實(shí)時(shí)應用程 序是基于嵌入式實(shí)時(shí)操作系統、利用操作系統提供的實(shí)時(shí)機制完成特定嵌入式系 統具體功能的應用程序。 嵌入式系統不同于一般計算機系統,它具有其他應用系統所沒(méi)有的一些特性: l體積?。涸谇度胧较到y的主體應用場(chǎng)合,如手持設備,智能儀器儀表,家用 電器等均對體積有較高限制,要求盡量少占用空間。 2存儲容量?。呵度胧较到y一般以ROM,FLAsHMEMORY、RAM等作為存 儲介質(zhì),由于價(jià)格及嵌入式系統體積等因素限制,因而不可能有太大的存儲容量。 3良好的性能價(jià)格比:很多嵌入式設備是嵌入于宿主設備以輔助宿主設備高效 地完成其功能,因而性?xún)r(jià)比要求較高,以防止過(guò)分提高宿主設備成本。 嵌入式操作系統具有以下幾個(gè)特點(diǎn):小的系統內核、較強的實(shí)時(shí)性、多任務(wù) 正程碩士學(xué)位論文 功能、能夠提供各種設備驅動(dòng)程序、網(wǎng)絡(luò )協(xié)議等的支持。作為硬件資源的管理者, 嵌入式操作系統最小構成應收錄
如下幾部分【9dl】: l任務(wù)調度 對一個(gè)復雜的嵌入式應用而言,用單任務(wù)來(lái)實(shí)現是不合適的,因此多任務(wù)調 度策略的優(yōu)劣至關(guān)重要。任務(wù)調度方法一般可分為優(yōu)先級調度、輪轉調度、時(shí)間 片調度三種。
  優(yōu)先級調度又可以分為:優(yōu)先級搶占和優(yōu)先級不搶占。優(yōu)先級搶占 是指當有更高的優(yōu)先級進(jìn)程被激活后,則立即終止當前運行的進(jìn)程,使其搶占CPu 運行。優(yōu)先級不搶占是指當有更高的優(yōu)先級進(jìn)程被激活后,并不立即終止當前運 行的進(jìn)程使其搶占CPU,而是將其放到進(jìn)程就緒隊列中,在當前運行的進(jìn)程結束 焉,再從進(jìn)程就緒隊列中選擇優(yōu)先級最高的進(jìn)程運行。輪轉調度是進(jìn)程管理者按 照一個(gè)固定的時(shí)間間隔讓就緒進(jìn)程輪流運行。時(shí)間片調度則是根據每個(gè)進(jìn)程各自 的實(shí)際情況,分給每個(gè)進(jìn)程一個(gè)時(shí)間片,進(jìn)程開(kāi)始運行后,運行的時(shí)間長(cháng)短由這 個(gè)時(shí)聞片決定。 在一般的操作系統中,通常固定采用其中的一種或幾種方法進(jìn)行任務(wù)調度。 例如在Unix和Linux中,采用了優(yōu)先級不搶占、輪轉和時(shí)間片三種方法。在實(shí)時(shí) 操作系統中,優(yōu)先級搶占策略則是必不可缺少的。而在嵌入式搡作系統中,很難 明確地說(shuō)哪一種調度策略更好,焉要根據實(shí)際系統的需求進(jìn)行選擇。 2存儲管理 一般操作系統的存儲管理非常復雜,虛擬存儲器管理技術(shù)被廣泛地采用,這 樣各應用程序被分隔在各自的地址空間運行,不致相互干擾。 嵌入式操作系統的存儲管理通常比較簡(jiǎn)單。因為在具體的嵌入式應用中,進(jìn) 程或線(xiàn)程的數量和各自可能使用的內存容量是可以在開(kāi)發(fā)時(shí)預測的,因此嵌入式 操作系統通常采用靜態(tài)內存分配。
  另外,在實(shí)時(shí)嵌入式應用中,如采采用虛擬存 儲技術(shù),因為頁(yè)交換的時(shí)間不可預測,所以也是不可取的。 在內存分配的策略上,嵌入式操作系統依賴(lài)于實(shí)際的被嵌入的硬件系統。對 于一個(gè)通用的嵌入式操作系統一般可提供幾種分配策略,由用戶(hù)在實(shí)際開(kāi)發(fā)系統 時(shí)進(jìn)行選擇,這就是嵌入式操作系統的可裁剪性。 存儲管理的另一個(gè)重要特性就是內存保護。在一般的操作系統中,每個(gè)應用 程序都有融己的地址空間。不允許任意訪(fǎng)問(wèn)其它應用程序的地址空間,這樣,當 一個(gè)斑用程序崩潰時(shí),不會(huì )對其它程序產(chǎn)生影響。麗在一些低端嵌入式系統中, 因受到應用環(huán)境的限制,不能大量使用存儲器,這時(shí)嵌入式操{乍系統的代碼量就 受到嚴格限制,必然制約了其功能的完善性。例如有的嵌入式操作系統只有幾十 KB,使其在處理內存保護方面就非常薄弱,這樣的嵌入式操作系統一般只能應用 于一些即使系統崩潰,也不致造成重大損失的領(lǐng)域,例如手枧等。 3中斷響應 計算機系統接受事件通常采用兩種方法:查詢(xún)和中斷。由于采用查詢(xún)方式處 理事件或響應I/0請求會(huì )消耗大量的CpU時(shí)間,騷此無(wú)論在一般的操作系統還是 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 嵌入式操作系統中都廣泛采用中斷方式來(lái)處理事件或I/O請求。
   在嵌入式操作系統中,對中斷處理十分重視,一般在中斷處理程序中僅執行 一些必要的狀態(tài)轉換,對于事件的真正處理則利用中斷任務(wù)來(lái)完成。這樣使得中 斷處理程序的運行時(shí)聞盡可能短,以便系統可以處理其它中斷事件。 在中斷處理上,一般的操作系統與嵌入式操作系統的不同之處是現場(chǎng)保護。 一般的操作系統的中斷現場(chǎng)保護是豳操作系統來(lái)完成的,在中斷處理完成之后, 也由操作系統自動(dòng)恢復現場(chǎng)。兩在嵌入式操作系統中,由予受到代碼量的限制, 中斷現場(chǎng)的保護往往由中斷處理程序來(lái)完成。進(jìn)入中斷處理程序后。應馬上保護 在中斷處理程序中要用到的寄存器,在中斷處理完成后再恢復。這樣~方面減少 了操作系統的代碼量,另~方面提高了中斷響應時(shí)闖,但是卻損失了系統的安全 性,同時(shí)也增加了調試的難度。這是在嵌入式操l乍系統的設計中應該予以關(guān)注的 問(wèn)題。 4操作系統與用戶(hù)的接口 操作系統提供給用戶(hù)使用的有兩類(lèi)接口。 一類(lèi)是人機界面,無(wú)論是視窗形式還是命令行形式,這個(gè)接口確切地說(shuō)并不 能作為操作系統的一部分,而僅僅是操作系統的一個(gè)外殼,這個(gè)界面完全是為了 方便用戶(hù)使用操作系統兩設的,麗這個(gè)接口在嵌入式操作系統中一般是不存在的。 另一類(lèi)接口就是操作系統提供給用戶(hù)開(kāi)發(fā)應用程序的接口(API),也就是系 統調用。
  無(wú)論是一般的操作系統還是嵌入式操作系統都應具有這個(gè)接口。每一個(gè) 操作系統提供的系統調用的功能和種類(lèi)都不同,當然,對于一個(gè)操作系統來(lái)說(shuō), 它提供的系統調用越多,則功能越強,對于應用程序的開(kāi)發(fā),也就越能提供高效 而簡(jiǎn)單的支持。為了適應不斷復雜的應用程序開(kāi)發(fā)的需求,操作系統中設計的系 統調用也就越來(lái)越多,功能越來(lái)越強大。但是這一規律并不適用于嵌入式操作系 統,因為嵌入式操作系統的應用領(lǐng)域非常廣,嵌入式操作系統所提供的系統調用 的數量和功能遠遠不可能滿(mǎn)足應用的需要。盡管可采用前面提到的可裁剪性,但 是任何一個(gè)嵌入式操作系統都不可能從具有各種完善功能、代碼達幾百KB的操 作系統,裁剪到只具有簡(jiǎn)單操作的幾KB代碼。所以嵌入式操作系統只能根據實(shí) 際的被嵌入系統的具體需求來(lái)確定系統調用,以便達到最有效性。 1.2。2嵌入式操作系統簡(jiǎn)介 從20世紀80年代開(kāi)始,出現了各種各樣的商用嵌入式操作系統,這些操作 系統大部分都是為專(zhuān)有系統開(kāi)發(fā)的,從而逐步演化成現在多種形式的商用嵌入式 操作系統百家爭鳴的局面,這些操作系統主要有如下一些強瑟Hj: VxWbfksVxWorks是WindRiver公司專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統設計開(kāi)發(fā)的操作系統軟 件,為程序員提供了高效的實(shí)時(shí)任務(wù)調度、中斷管理、實(shí)時(shí)的系統資源以及實(shí)時(shí) 的任務(wù)聞逶信。
  
  應用程序員可以將盡可熊多的精力放在應用程序本身,麗不必褥 去關(guān)心系統資源的管理。該系統主要應饅在單板飆、數據隧終{:以太嬲交換梃、路豳器)和通信等多方面。其核心功黥主要有: 網(wǎng)絡(luò )支持豢文件系統幫差鰳管理 POSlX標準實(shí)時(shí)擴展 C專(zhuān)專(zhuān)以及其他標準支持 這些核心功能可以與Wind硒ver系統的其他附件和bmado合作伙伴的產(chǎn)品結 會(huì )在~起使臻。誰(shuí)都不熊否認這是一個(gè)非常優(yōu)秀的實(shí)對系統,健其昂貴的徐格使 不少廠(chǎng)商塑?chē)疼Р健?QNX泌X也是一釋實(shí)對撩籜系統,奎擻拿大QNX軟件系統有隈公霹開(kāi)發(fā)。廣泛 應用予自動(dòng)化、控制、機器人科學(xué)、電信、數據逯信、航空靛天、計算桃網(wǎng)絡(luò )系 統、醫療儀器設備、交通運輸、安全防衛系統、POS概、零售楓等飪務(wù)關(guān)鍵型應 焉領(lǐng)域。20雀紀90年代囂期,QNX系統在高速灞長(cháng)的Internet終端設備、信息 家電及掌上電腦等領(lǐng)域也得到了廣泛的癍用。 QNX鵑體系結構決定了它暴宥遺}常好酶律縮犍,耀戶(hù)可越把應臻程序代鸚熟 QNx內核贏(yíng)接編譯在一起,使之為簡(jiǎn)單的嵌入式應用生成一個(gè)單一的多線(xiàn)程映像。 它也是鳘賽上第一個(gè)遵循PS差鴦3.1標準觚零設詩(shī)鰓微蠹棱,匿戴暴膏菲鬻好 的可移植性。
   3Nuele毽s 它是美藿著(zhù)名廠(chǎng)商斛重公鐲靜實(shí)時(shí)操俸系統產(chǎn)晶,該系統豁模塊性設計健它 具有比較好的寵制能力。它的主要特點(diǎn)翁以下一些: 該系統購買(mǎi)時(shí),霹獲蔣全螯豹漾代碼。并且一次性手雩費不用藉為應震系統的發(fā)售提供每套應用系統的版稅。這~點(diǎn)與某熱商業(yè)的嵌入式操作系統不 它提供一個(gè)有較好實(shí)時(shí)性?xún)群司W(wǎng)絡(luò )模塊功能比較完善,同時(shí)還提供了W曲產(chǎn)晶 工具。易學(xué)易耀,較好的支持了產(chǎn)照開(kāi)發(fā)。薅Wi鼗纛wse囂 MicrosoftWindow8CE是一個(gè)簡(jiǎn)潔的,嵩效率的多平臺操作系統。它是從熬 體上蔻有限資源鶼平龕設詩(shī)懿多線(xiàn)程、寵整撬先投、多任務(wù)懿搡終系統。它的模 塊優(yōu)設計允許它對于從掌上電腦到專(zhuān)用的工業(yè)控制器等電子設備進(jìn)行定鍘。它的 主要特點(diǎn)有: 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現支持Will32API的一個(gè)子集。同時(shí),為開(kāi)發(fā)人員提供熟悉開(kāi)發(fā)平臺,包 括EmbeddedVisual C++和EmbeddedVisualBasic,使得有經(jīng)驗的 Windows開(kāi)發(fā)人員可以很快地掌握Window薔CE的開(kāi)發(fā)。這也為Windows 平臺上的一些應用程序移植到Wi玨dowsCE提供了方便。這是Wi魏dows CE的一個(gè)很好的優(yōu)勢 支持多種的用戶(hù)界面硬件,包括可以達到32bit色深的彩色顯示器,支持 多種串行和網(wǎng)絡(luò )通訊技術(shù) 支持COM/OLE,OLE自動(dòng)操作和其它的進(jìn)程聞通訊的先進(jìn)方法 5PalmOS PalmOS是~種32位嵌入式操作系統,用于掌上電腦。
  此系統是3Com公司 的Pal搬Co搬puting部開(kāi)發(fā)的(PalmCompuling目前已經(jīng)獨立為一家公司)。它運行 在一個(gè)搶占式的多任務(wù)內核之上,與同步軟件HotSync結合可以使掌上電腦與PC 上的信息實(shí)現同步,把臺式機的功能擴展到了手掌上,同其它嵌入式操作系統相 比,Pal撒具有更大的靈活性和移動(dòng)性,是一款非常流行的掌上電腦操{乍系統。 1.23嵌入式Li建濺系統 Linux是1991年4月由芬蘭人LinusTorvalds所獨立首創(chuàng )的類(lèi)UNIX操作系統, 在全世界愛(ài)好者的共同努力下,借助于Internet,Linux歷經(jīng)無(wú)數版本的演進(jìn),目前 已發(fā)展成為一個(gè)完整的遵從POSIX規范操作系統,與SystemV以及BSDUNIX實(shí)現了 源碼級或二進(jìn)制相容,它是一個(gè)真正的多任務(wù)、多用戶(hù)、多平臺系統,支持多處理器, 安全可靠,性能卓越。最重要的是Linux不是商業(yè)化操作系統,它遵循GNU公共許可 協(xié)議,源代碼全部開(kāi)放,任何入均可自由獲得源碼并進(jìn)行分析研究。Linux由于自身 的優(yōu)點(diǎn)是非常適合于作為嵌入式操作系統,主要表現為以下幾點(diǎn)‘挖謝】: l免許可證費用 大多數商業(yè)操作系統,如winCE,Vxworks等對每套操作系統均收取一定的許可 證使用費用。
  相對而言,乙inux是一個(gè)免費的優(yōu)良操作系統,公開(kāi)源代碼,只要不違 反G跬協(xié)議,任何人都可以使用、修改稆發(fā)布Linux. 2高度穩定性 和目前流行的桌面操作系統相比,Linux是非常穩定和可靠的,并且由于內核的 穩定性使得L主玨毪x在移植到特定平臺詹與通用平臺具有一樣的高穩定性,雖然薪平臺 下的外圍設備可能完全不同。 3移植容易 L主nux是一個(gè)多平臺的操作系統,可以運行子X86,P0并£RPC,麓王PS等多種處理 器之上,對嵌入式應用方面這一點(diǎn)尤為重要,據統計一個(gè)設計優(yōu)良的嵌入式系統移植 到另一平臺只需改動(dòng)其中的4%代碼。同時(shí)由于Linux采用的模塊機制,使設備驅動(dòng)程 序只需要做部分修改就可適用于其它平臺,方便移植。 4強大的霹絡(luò )功能 工程碩士學(xué)位論文 L主nux天生就是一個(gè)網(wǎng)絡(luò )操作系統。幾乎所有的網(wǎng)絡(luò )協(xié)議和網(wǎng)絡(luò )接口都已經(jīng)被定 制在Linux中。 5良好的開(kāi)發(fā)工具 Li稚毯x提供e、£爭、弘訟以及其他很多的開(kāi)發(fā)工具。更重要的是,愛(ài)好者可以 免費獲得,并且這些開(kāi)發(fā)工具設計時(shí)已經(jīng)考慮到支持各種不同的微處理器結構和調試 環(huán)境。Linux基于GNU的工具包,此工具包提供了完整與無(wú)縫交叉平臺開(kāi)發(fā)工具,從 編輯器到底層調試,其e編譯器產(chǎn)生更有效率的執行代碼。
   6全面的技術(shù)支持 對于實(shí)際開(kāi)發(fā)過(guò)程來(lái)說(shuō),完善的文檔和及時(shí)的技術(shù)支持是解決實(shí)際問(wèn)題、提高開(kāi) 發(fā)效率所必不可少的。由于Linux的開(kāi)源特性和各方面的優(yōu)異表現,越來(lái)越多的程序 員深入其中,開(kāi)發(fā)過(guò)程中遇到的任何閬題,均可通過(guò)王nternet褥到及時(shí)解答。 越來(lái)越多的科研機構、廠(chǎng)商的不斷推動(dòng),使得其在新興的嵌入式系統領(lǐng)域內 也獲得了飛速發(fā)展。所以,研究和分析嵌入式Linux操作系統理論和應用,開(kāi)發(fā) 相關(guān)的嵌入式班致ux系統和應用軟件,具有重大的意義。 1.3數據采集系統的研究現狀 國內現在有不少數據測量和采集的系統。在硬件實(shí)現上,主要通過(guò)單片機、 DSP【15】等完成,有基于PCI總線(xiàn)【161、基于VXI總線(xiàn)【17】的高速數據采集系統等。在 軟件實(shí)現上,有LabView圖形化編程軟件f1引、VBfl引,VCfl91可視開(kāi)發(fā)工具等。 以數據采集卡為核心的數據采集系統,采用的數據采集卡幾乎都是PCI卡, 必須插在上位機(PC機)上的PCI槽上,由上位機(PC機)控制完成數據采集 工作。因此信號必須從信號現場(chǎng)傳送到上位機(PC機)上,由于各種工業(yè)現場(chǎng)條 件的限制,現場(chǎng)到上位機(PC機)往往有很長(cháng)的一段距離,信號在傳送的過(guò)程中 會(huì )衰減,失真,混入干擾信號,產(chǎn)生誤差,這是傳統數據采集系統的一個(gè)缺點(diǎn)。
   為了解決這一矛盾,人們開(kāi)始使用工業(yè)現場(chǎng)總線(xiàn)互聯(lián),例如RS.485串行總線(xiàn)【2…, CAN總線(xiàn)12l】等,將現場(chǎng)采集的數據送到異地的中心處理機做迸一步處理。但是這 種方法只適用于現場(chǎng)與中心距離不是很遠的情況,而且這些通信總線(xiàn)的數據傳輸 速度慢,布線(xiàn)也不方便。 這些數據測量和采集系統的研制成功解決了用戶(hù)需要,但這些系統存在功能 單一、可測量的種類(lèi)少、可測量的范圍小、采集通道少、采集速率低、操作復雜, 并對測試環(huán)境要求較高,安裝、布線(xiàn)不方便等問(wèn)題。在當今網(wǎng)絡(luò )化時(shí)代,以Illte豫el 為代表的計算機網(wǎng)絡(luò )通信的發(fā)展和應用取得了前所未有的突破和成功,網(wǎng)絡(luò )化測 量、采集和(對網(wǎng)中儀器設備的)控制技術(shù)正隨著(zhù)網(wǎng)絡(luò )技術(shù)的發(fā)展而迅速發(fā)展瞄曩。 網(wǎng)絡(luò )化、分布式的數據采集優(yōu)勢體現在:采集范圍擴大,處理能力增強,信息索 取更加方便,并且能夠適應場(chǎng)合變更的需要。憑借這些優(yōu)良的性能,網(wǎng)絡(luò )化測量 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 和控制已經(jīng)成為數據采集技術(shù)發(fā)展的必然趨勢。傳統的數據采集系統顯然不能滿(mǎn) 足對測試系統靈活、高效、高速、多通道、網(wǎng)絡(luò )化等要求和適應復雜測量環(huán)境的 需要。 1.4本文的主要工作 本文的數據采集系統采用嵌入式技術(shù),應用于大型設備狀態(tài)監測系統中,完 成對設備監測,為設備的故障診斷提供第一手可靠、準確的數據。
  系統平臺以基 于ARM9核的AT91RM9200為處理器,FPGA輔助邏輯控制和信號預處理,采用 嵌入式系統開(kāi)發(fā)技術(shù),應用嵌入式操體系統,模塊化設計,提高了系統的實(shí)時(shí)性 和可靠性以及系統的可擴展性。在結構設計上,采用插卡式結構,可根據不同需 要,接入不同的信號調理通道板,實(shí)現靈活的信號采集;具有與上位機的通訊功 能,能結合配套軟件對設備進(jìn)行監測、分析與數據僳存,最終實(shí)現對設備的故障 診斷。 第一章緒論。主要介紹課題的背景和意義,簡(jiǎn)要概述嵌入式系統的定義和特 點(diǎn),闡述了嵌入式操作系統及嵌入式Linux的優(yōu)點(diǎn),分析當前數據采集系統存在 的闖題、研究現狀,貪綴本文所作的工作。 第二章基于嵌入式Linu)(的數據采集系統的整體方案。該裝置主要由信號輸入 電路、模數轉換電路、邏輯控制器件FPGA、數據處理運算核心ARM芯片、通信電 路等部分構成,本章給出了系統框圖。 第三章構建嵌入式Linux系統。本章研究了構建嵌入式Li歉玨x系統的關(guān)鍵技 術(shù),主要介紹嵌入式Linux內核軟件平臺的構建及內核裁剪原理和具體過(guò)程。 第四章嵌入式Linux內核驅動(dòng)程序的設計。主要介紹Linux下字符設備驅動(dòng) 程穿的實(shí)現方法及本系統的字符設備驅動(dòng)的具體實(shí)現。
   第五章嵌入式Linux與網(wǎng)絡(luò )驅動(dòng)的實(shí)現。首先分析Linux網(wǎng)絡(luò )協(xié)議棧(TCP/IP) 整體結構及Linux網(wǎng)絡(luò )設備驅動(dòng)程序,然后本針對系統硬件編寫(xiě)網(wǎng)絡(luò )驅動(dòng)程序, 并測試驗證霹絡(luò )驅動(dòng)的可靠性。 工纛贛圭學(xué)位論文 第2章嵌入式數據采集系統的整體設計 2.1信號采樣處理技術(shù)基礎 在動(dòng)態(tài)信號中蘊含著(zhù)設備的狀態(tài)變化和故障特征的豐富信息,信號處理是提 取故障特征信號的主要手段,麗故障特征信息則是進(jìn)一步診斷設備故障原因并采 取防治對策的依據【23】。 工程領(lǐng)域中的各種物理信號隨著(zhù)融闐的變化過(guò)程表現力多種形式,如簡(jiǎn)諧的、 周期的、瞬態(tài)、隨機的等等,這些被檢測到的信號由于系統傳遞路徑的影響,環(huán) 境噪聲的影響和各種機械原件的聯(lián)合作用,構成信號的成分就很復雜。因此,必 須對檢測到的信號進(jìn)行加工處理,以便更全面、更深刻地揭示出動(dòng)態(tài)信號中所包 含的各種信息。 動(dòng)態(tài)信號的處瑾方法很多,如時(shí)聞?dòng)蛱幚?、頻域處理、幅僮域處理等【24藝朝。 經(jīng)過(guò)信號處理,可以實(shí)現時(shí)域和頻域的相互轉換,從而揭示出信號中某些實(shí)質(zhì)性 2.1.1信號分析系統的組成和數字處理方法暈期的信號分析主要通過(guò)模擬式分析儀器進(jìn)行。隨著(zhù)數字計算機的迅速發(fā)展, 現代信號分析都采用數字分析方法。
  所采用的分析系統,一種是以專(zhuān)用數字信號 處理器為核心的專(zhuān)用數字式信號分析儀器;另一種是采用通用計算機,以軟件方 式進(jìn)行信號分析。兩種分析方式雖然在形式上有所差別,但信號分析的基本手段 和方法是一致的。 信號分析系統的組成如圖2。l所示。系統備部分的功能是: 圖2.1信號分析系統的組成1傳感器 傳感器是將待分析的物理量(一般是電量、溫度、壓力、流量以及振動(dòng)位移、 速度、加速度等)轉化為電信號(如電壓、電流或其它參數)。 2預處理單元 ~般信號在在被采樣之前須經(jīng)預處理,勉放大、濾波等。信號采樣之前的低 通濾波常稱(chēng)為抗混疊濾波。按照采樣定理,采樣頻率必須大于信號最高頻率的兩倍, 否則將引起頻率混疊現象。因此,采用低通濾波器濾去不需要的高頻成分,將信 基于“nux的嵌入式數搖采集系統軟{睪設計與實(shí)璦 號頻帶限制在一定范基之蠹,以防止產(chǎn)生混疊現象。 3模數轉換(A國) 信號可分為模擬信號和數字信號兩類(lèi)。模擬信號是隨時(shí)間連續變化的,一般 傳感器輸出的電信號器器位模擬信號。數字信號是由一系列離散的數字組成。當用 計算機做信號處理時(shí),信號必須是數字化的,因此需要將檢測到的模擬信號轉變 為數字信號供計算祝處理。
  這一過(guò)程是通過(guò)模數轉換器(A國)來(lái)實(shí)現的。 4信號分析單元 這是信號分析系統中的核心環(huán)節,也是本文重點(diǎn)研究的環(huán)節。其可以通過(guò)專(zhuān) 用的數字信號處理器(DSP)來(lái)實(shí)現,也可以通過(guò)通用處理器(CpU)實(shí)現。其分 析內容十分廣泛,本文將在后續章節作深入探討。主要包括對信號的時(shí)域、幅值 域和頻率域的特性分析。也包括對信號所依據的各種形式豹系統特性分析。 5數模轉換(D/A) p,A轉換是將計算機分析處理結果以模擬量形式輸出,供波形顯示或其它用 途。但現代在線(xiàn)監測系統已不用此方法,而是直接在監視器上顯示處理結果。 2。羔.2信號分析的主要內容 從信號分析的基礎方法和功能上來(lái)看,可以將信號分析的主要內容概括如下: l時(shí)域分析 以時(shí)間為變量的各種函數和圖形,如瞬態(tài)記錄、時(shí)域平均、自相關(guān)函數、互 相關(guān)函數。 2幅值域分析 概率密度及概率分布函數、均值計算、方差和峭度計算等。 3頻域分析 通過(guò)傅立葉等變換以頻域的形式來(lái)描述信號。如傅立葉正、逆變換自功率譜 翻互功率譜,細化FFT技術(shù),窗邈數加權,三維坐標圖,倍頻分板等。 2.1.3實(shí)時(shí)分析 所謂實(shí)時(shí)分析就是指分析信號的時(shí)間與信號出現的時(shí)聞幾乎是同時(shí)的。通常 的含意是指信號分析的速度能趕上信號輸入的速度,使信號在分析處理過(guò)程中不 產(chǎn)生數據積壓,也不使數據丟失。
  因為計算機的分析計算工作是在采樣聞隔中進(jìn) 行的,如果計算工作量太大或者采樣間隔&太短,計算機處理不完應做的工作, 將造成數據丟失。因此,在計算機CPU處理速度一定的情況下,就限制了采樣頻 率。按照采樣定理(z=(2.56~4)五雛)‘2稍,也就決定了實(shí)時(shí)分析信號豹最高分析 頻率范圍。對于一個(gè)分析系統來(lái)說(shuō),能夠進(jìn)行實(shí)時(shí)分析的最高頻率與系統的處理 速度、采樣點(diǎn)多少和采樣頻率有關(guān)。如實(shí)時(shí)分折系統在T時(shí)間蠹能夠進(jìn)行N點(diǎn)數 據分析,采樣頻率為.f,則可得到最高分析頻率為: (2.1),一2.56r 工程顴亡學(xué)位論文2.1.4數字信號處理技術(shù)的特點(diǎn) 由于電子計算技術(shù)迅速發(fā)展,信號處理技術(shù)向數字化方向發(fā)展。數字信號處 理技術(shù)具有以下一系列優(yōu)點(diǎn): l功能豐富 以微處理器為核心的現代數字信號分析儀器或裝置,它的處理功能主要通過(guò) 軟件實(shí)現。許多功能軟件可以存儲在體積很小的存儲器內供選用,提供數十種測 試分析項目。因此,以微處理器為核心的分析系統,其特點(diǎn)是能夠充分地、高效 地利用硬件及軟件資源,這是一般模擬電路很難傲到的。 2高度靈活 微處理器化的監測系統操作十分靈活方便,如欲調整參數或修改功能,可以 在軟件上進(jìn)行修改,硬件電路可以不改動(dòng)或者改動(dòng)很少,這樣就節省了資金和時(shí) 間。
  比如本系統,系統操作都可以在瀏覽器中完成,極大地節約了客戶(hù)端軟硬件 的成本,麗且操作更簡(jiǎn)單直觀(guān)。 3高精度 模擬電路所能達到的精度是有限的,要將精度提嵩一個(gè)數量級往往不太容易。 數字信號系統得精度取決于字長(cháng)和設計方案,它容易滿(mǎn)足對高精度的要求。采用 微處理器,在頻率域可以大幅度地提高分辨能力,如低頻可到lHz以下,若有細 化(Zoom)功能,則低頻可到0.1Hz。高頻段可到達lOOkHz。 4高可靠性 數字電路易于大規模集成化制造。一片A脒32位或者CO己DFl袋囂32位處理 器只需要進(jìn)行很少的擴展就可以構成完整的單元系統。這樣的系統由于硬件和擴 展模塊少,大大加強了系統得可靠性。 數字信號分析運算速度自從出現了快速傅立葉(FFT)變換之后,有了數百倍的 提高。各種快速數字信號算法的出現加上硬件技術(shù)的飛速發(fā)展,完全可以做到實(shí)時(shí)處 理各種工業(yè)現場(chǎng)信號,從麗實(shí)現了實(shí)時(shí)分析,使得數字信號處理速度進(jìn)入了一個(gè)嶄新 的階段。 2.2嵌入式數據采集系統的總體結構設計 基于Linux的嵌入式數據采集系統采用板卡式設計,主要由9個(gè)插件和一個(gè) 母板組成。各插件全部采用3U背插式結構,備模件采用雙插座連接方式,各模件 之間通過(guò)系統內部母板相聯(lián)系,提高了整個(gè)裝置的可靠性。
  
  其中一個(gè)插件為信號 采集、處理板;另外的8個(gè)插件為信號調理通道板(一塊板上三路調理電路,總 共2霹路,可以根據傳感器的信號路數,增減信號調理通道板)。系統的結構緊湊, 整面板設計,外形美觀(guān)大方。其布局如圖2.2所示。 基子Linux的嵌入式數據采集系統軟侔設詩(shī)與實(shí)璃 圖2.2裝置連接布局圖 嵌入式數據采集單元系統由信號調理系統和信號采集、處理系統兩部分構成。 信號調理系統由電荷放大或電壓放大或電流放大電路(視健感器類(lèi)型定)、程控放 大、程控低通濾波、緩沖放大等四級電路組成,其中由單片機控制上位機要求的 程控放大、程控低通濾波等參數。信號采集、處理系統擬采用ARMFPGA結構 來(lái)實(shí)現,此種結構的好處是:硬件開(kāi)發(fā)平臺難度較小,系統軟件升級容易實(shí)現。 矗Dcl蠡重鎊系統| |奄源系統| 控制參數通信 圖2。3嵌入式數據采集裝置的總體結構圖 此種嵌入式數據采集裝置的總體結構圖如圖2.3所示,圖中各個(gè)標記說(shuō)明如 DB代表數據總線(xiàn)(DataBus),AB代表地址總線(xiàn)(AddressBus),CB代表控蕩l總線(xiàn)(Control8us)。 信號調理電路:其功能是將傳感器送來(lái)的小信號進(jìn)行放大、低通濾波(有必 要時(shí)需要進(jìn)行模擬濾波),方便蜃續的ADC進(jìn)行模數轉換; ADC:模數變換,用于實(shí)現基帶信號的數字化; FPGA:在該系統中,主要功能是實(shí)現整個(gè)系統的控制和數據的預處理; ARM:與PC機之間進(jìn)行數據通信; SDRAM:完成系統數據的緩沖存儲,運行Linux內核、文件系統及ARM的 應用程序; 丁程碩十學(xué)位論文 FLASH:一種存儲器,該系統用來(lái)存放引導ARM啟動(dòng)的程序,存放壓縮的Linux 內核、文件系統及應用程序。
   嵌入式數據采集系統的硬件平臺實(shí)物圖如圖2.4所示: 圖2.4嵌入式數據采集系統硬件平臺 2.2.1嵌入式數據采集系統信號流程設計 1信號調理通道板信號流程 取自現場(chǎng)設備的各種傳感器信號通過(guò)低噪音電纜送入信號調理通道板,每個(gè) 信號調理通道板上收錄
三個(gè)信號調理通道。根據不同的傳感器類(lèi)型配備不同的信 號調理通道板,各種信號經(jīng)過(guò)信號調理后都變換為同一規格的電壓信號。信號處 理流程如下:傳感器輸出的信號經(jīng)過(guò)電壓放大或電流放大或電荷放大等(視傳感 器類(lèi)型定)變換為電壓信號,該電壓信號經(jīng)程控放大、程控低通濾波,最后再經(jīng) 過(guò)緩沖放大處理,輸出電壓信號送給信號采集、處理板。 信號調理通道板信號流 程如圖2.5所示。 圖2.5信號調理通道板信號流程 2信號采集、處理板 信號采集、處理板的輸入信號是信號調理通道板的輸出信號,該板的信號流 程如圖2.6所示。FPGA控制24路采樣通道的切換,并且將數據讀入片上RAM。 然后采集控制主處理器CPU將采樣信號從FPGA片上RAM中讀出,以TCP/IP協(xié) 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 議格式打包,并發(fā)送出去。 第1通道信號 FPGA 第2通道信號 24 分析結采輸超ARM ADC 信號數據一 方法第24通道信號 處理 圈2.6信號采集、處理板信號流程 2.2.2嵌入式數據采集系統的主要技術(shù)指標 本系統是一套基于Lin毽x的嵌入式操作系統數據采集和監控設備:采用32位 ATMEL離性能ARM9處理器作為采集前端的控制核心,該處理器適應環(huán)境熊力 強,可靠性高。
 ?。玻赐ǖ佬盘栞斎耄òM、計數器信號、開(kāi)關(guān)量等信號)的同 步、高速、高精度采集,TCp,IP通信方式。是基于“nuX的嵌入式系統軟件。 系統工作環(huán)境要求如下: (1)工作電源:AC220V(10%),50Hz(蟲(chóng)1Hz)。工作環(huán)境溫度:。5~+50 (2)相對濕度:5%~95%;(3)大氣壓力:86kPa~106kPa。 基于Linux的嵌入式操作系統數據采集和監控設備具有如下技術(shù)指標: (1)采樣頻率、采樣長(cháng)度和采樣信號的路數可以靈活設置。采樣頻率范圍: lOOHz~20l(Hz;采樣長(cháng)度為了分析方便一般?。病?,照前穩范豳:9~14;采樣信 號的路數:1~24路可以任意設置; (2)實(shí)現對各種類(lèi)型的傳感器輸出信號的調理。信號經(jīng)過(guò)調理后輸出為電壓 信號,輸瞧范圍:。5V~+5V; (3)可以設置連續采集和不連續采集兩種方式; (4)具有以太網(wǎng)接入功能,以太網(wǎng)通信帶寬可達10M/100M; (5)自檢功能:檢測信息通過(guò)RS232瑟輸密; (6)系統具備在線(xiàn)升級功能; (7)溫度范圍(一20一十70)、抗震、電磁兼容等指標符合工業(yè)環(huán)境下的 相關(guān)標準; (8)電源輸入:220V,有防電壓浪涌、電源反接、電源短路等保護措施; (9)系統軟件的可移植性強; (10)系統看門(mén)狗防死機。
   工程磺學(xué)位論文 2.3本章小結 本章從信號采樣的原理入手,弓|出了信號分輯系統的一般組成和流行的實(shí)現 方法。接著(zhù)詳細討論了嵌入式數據采集系統的設計方案。此系統是一套基于Linux 的嵌入式操作系統數據采集和監控設備,采用32位ATMEL離性能處理器作為采 集前端的控制核心。采樣系統具有穩定、高速、高精度等特點(diǎn)。 基予Linux酶嵌入式數據袋集系統軟{睪設計與實(shí)現 第3章構建嵌入式Linux軟件平臺 嵌入式操作系統作為整個(gè)嵌入式系統的核心,是實(shí)現系統功能的關(guān)鍵。嵌入 式乞i玨ux系統從軟件的角度看通??梢苑骤螅磦€(gè)層次‘29】:(1)弓|導加載程序;(2) 內核;(3)文件系統;(4)用戶(hù)應用程序。 3.1引導加載程序 3.1.1引導加載程序 嵌入式系統的引導代碼是嵌入式系統開(kāi)發(fā)的難點(diǎn)之一,同時(shí)是系統運行的一 個(gè)基本前提條件。嵌入式系統的啟動(dòng)代碼與處理器體系結構緊密相關(guān),通常C語(yǔ) 言和匯編語(yǔ)言聯(lián)合使用。 當一個(gè)微處理器第一次窟動(dòng)的時(shí)候,它開(kāi)始在預先設置的地址上執行指令。 通常在那里有一些只讀內存,包括初始化或引導代碼。在PC上,這就是BIOS。 B10S首先執行一些低水平的ePU初始化其他硬件的配置,接著(zhù)辨認哪個(gè)磁盤(pán)里 有操作系統,把操作系統復制到RAM并且轉向它。
  在PC上運行的Linux就是依 靠PC的籽IOS來(lái)提供相關(guān)配置和加載OS功能。 在一個(gè)嵌入式系統里通常沒(méi)有BIOS,這就需要開(kāi)發(fā)者提供同等的啟動(dòng)代碼。 而嵌入式系統并不需要PCBIOS引導程序那樣的靈活性,因為它通常只需處理一 個(gè)硬件的配置,因此,痘動(dòng)代碼只是一個(gè)指令清單,將固定的數字塞到硬件寄存 器中去。這個(gè)代碼更簡(jiǎn)單也更枯燥,然而卻非常關(guān)鍵,因為這些數值要與硬件相 符而且要按照特定的順序進(jìn)孳亍。所以在大多數情況下,一個(gè)最小的通電自檢模塊 可以檢查內存的正常運行、讓?zhuān)蹋牛拈W爍,并且驅動(dòng)其他的硬件以使主LinuxOS 啟動(dòng)和運行。 嵌入式系統中啟動(dòng)代碼通常放在Flash或EPROM芯片上。具體如何實(shí)現,要 根據目標硬件和工具來(lái)定。一種常用的方法是把F1ash或EPROM芯片插入EPROM 或Flas魏燒制器,把啟動(dòng)代碼燒入芯片,然后將芯片插入墨標板插座,這種方法要 求目標板上配有插座。另一種方法是通過(guò)~個(gè)JTAG界面,~些芯片有JTAG界面 可以用來(lái)對芯片進(jìn)行編程,這樣芯片就可以被焊在主板上。 目前可供選擇的引導程序有很多,韓國的VIVIf3稍、開(kāi)源項目U.Bootf31l是其 中的佼佼者。
   3.1.2U.Boot及其移植 3.1.2。1 U一800t 工程聯(lián)學(xué)醢論文 U—Boot,全稱(chēng)Umversal轉ootLo磚er,是遵循GPL條款的開(kāi)放源碼項目。它從 FADSROM、8xxROM、PPC800T逐步發(fā)展演化而來(lái),其源碼目錄、編譯形式與 Linux內核很相似。事實(shí)上,不少U.Boot源碼就是相應的Linux內核源程序的簡(jiǎn) 化,尤其是一些設備的驅動(dòng)程序,這從U.Bool源碼的注釋中能體現這一點(diǎn)。假是 U.Boot不僅僅支持嵌入式Linux系統的引導,當前,它還支持NetBSD、VxWbrks、 QNX、RTEMS、A肼OS、迎致xOS嵌入式操作系統。英西前要支持的黧標操作系 統是OpenBSD、NetBSD、FreeBSD、Linux、SVR4、Esix、Solaris、I“x、SC0、 NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS、ARTOS。這是U.Boot中Univefsal 的一層含義,另外一層含義則是U.Boot除了支持PowerPC系列的處理器外,還能 支持MIPS、x86、ARM、N10S、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正 是U—Boo圭項隧的開(kāi)發(fā)匿標,馨支持盡可能多的嵌入式處理器和嵌入式操彳乍系統。
   U.Boot主要目錄結構boa斑目標扳相關(guān)文件,主要收錄
SD黜M、FLASH驅動(dòng) common獨立于處理器體系結構的通用代碼,如內存大小探測與故障檢測 cpu與處理器相關(guān)的文件。如mpc8)()(予目錄下含串口、網(wǎng)口、LCD驅動(dòng) 及中斷初始化等文件 examples可在U.Boot下運行的示例程序;如helloworld.c,timer.cincl硼e U.Bo桃頭文件;尤其con蠡gs子匿錄下與基標板相關(guān)的配置頭文件是 移植過(guò)程中經(jīng)常要修改的文件 lib-xXX處理器體系相關(guān)的文件,如lib_ppc,lib-燃目錄分別收錄
與 PowerPC、A戳涯體系結構相關(guān)的文件 net與網(wǎng)絡(luò )功能相關(guān)的文件目錄,如bootp,nfs,t邱 posl上電魯檢文件目錄。淹有待于進(jìn)一步完善 tools用于創(chuàng )建U.Boot、S—RECORD和8鏡像文件的工具2U.Boot支持的主要功能 (1)系統引導,支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系 (2)支持NFS掛載、從FLASH中引導壓縮或非壓縮系統內核;(3)基本輔助功熊強大的操作系統接口功戇;可靈活設置、傳遞多個(gè)關(guān)鍵參數 給操作系統,適合系統在不同開(kāi)發(fā)階段的調試要求與產(chǎn)品發(fā)布,尤對Linux支持最為 強勁; (4)支持目標板環(huán)境參數多種存儲方式,如FLASH、NVRAM、?。校遥希停?(5)CRC32校驗,可校驗FLASH中內核、RAMDISK鏡像文件是否完好; (6)設備驅動(dòng)串髓、SD黜醚、F乳ASH、以太兩、己CD、NVRAM、EEPROM、 墓予Linux靜嵌入式數據采集系統軟釋設詩(shī)與實(shí)現 鍵盤(pán)、USl3I、PCMCIA、PCI、RTe等驅動(dòng)支持; (7)上電自檢功能SDRAM、FLASH大小自動(dòng)檢測;SDRAM故障檢測;CPU 型號; 3。
 ?。?。2。2U一800t移植方法及過(guò)程 u—B00t源碼相當復雜,覆蓋各種常用的目標板配置。U.Boot移植一般都是針對 嵌入式冒標板的硬件資源,主要是CpU、FLAS冀和SDRAM等情況,以盡可熊~致的 原則,在U.Boot源碼中找出一個(gè)與目標板為同一個(gè)或同一系列處理器的目標板模板, 即采用基本符合或者接近懿標板的配置目錄,移植相關(guān)的源程序。本文采用U.Bootl.1。 2版本,該版本支持基于AT9lRM9200的處理器配置,并提供一個(gè)目標板模板,即 U.Boot源碼的/board/at91蝴9200dk目錄。與目標板模板相比,本系統中有部分硬件 器件不同如表3。l新示,因此需要針對硬件傲相應的修改。 表3.1本系統與目標板模板用到的不同硬件資源 基于本系統的硬件,先在U.Boot源代碼的/bor彭at9l懿睨00霉錄中修改或添加如 下源碼文件: (1)重寫(xiě)FLAS囂的設備控制程序爨as魏.c。U國。跌讀、寫(xiě)和刪除Fl鑫建設備的源代 碼文件,由于在不同的目標板中FLASH存儲器種類(lèi)各不相同,參照Am29LV320D的 datasheet重寫(xiě)FLASH的設備控制程序jflash。c,該程序完成的功能包括FLASH初始化, 打?。蹋粒樱刃畔?、FLASH擦除和FLASH寫(xiě)入等操作。
   (2)重寫(xiě)DATAFLASH的設備控制程序at45。c。 (3)添加memsetllp。s該匯編源碼文件初始純時(shí)鐘、SMC控翎器和SDRAM控制器. (4)添加網(wǎng)卡芯片CS8900A的設備控制程序cs8900a.c和cs8900a。h,程序 es8900a.c完成的功能是配置聚9l蕊9200的MDl接口以實(shí)現對雅{Y進(jìn)行控制。 (5)修改Mal(efile文件,對上述修改或添加的源代碼文件編譯后,在MakefiIe里 面主要作如下修改: OBJS:=at9lm9200dk.oat45.ocs8900a.oflash.o SOBJS:=memset up.o (6)U.800{。Lds,設黌U.Boot中各個(gè)西標文件盼連接地址,其縫基本不終修改。 (7)config.Mk,根據目標板的~級boot來(lái)修改,修改后TEXTBASE=Ox2lfloooo。 其次,修改囂錄泌el砸ee越gs的頭文件a19l灘92dk.H,根據目標板的資源配置, 修改內容包括CPU、系統時(shí)鐘、RAM、Flash等配置信息以及內存映射相關(guān)參數。該頭 文件還定義了U.Boot的一些環(huán)境變量和內核啟動(dòng)參數??稍冢眨拢铮铮魡?dòng)后通過(guò)setenv 和s鰣eenv命令修改。
 ?。眨拢铮铮簦玻保保舶姹緦ε梗炫矗梗玻埃疤幚砥魈峁┝己玫闹С?,因此對于目錄/cp彬at9lm9200中的源碼基本不做修改。 最后,在U2Boot21.1.2的Makefile中加入如下代碼: 羽l式玨9200噬-co熊g:鼬n鑫g畫(huà)嫩eon堍¥(@jon蠡g=),黜at91蕊920Q /at91rm9200dk 其中, “a潮"是CPU的種類(lèi),拳9l強9200是A姒CPU對應的代碼量錄, at91蝴9200dk是目標板對應的目錄。 在主機上運行redhat9.OLinuX操作系統,編譯移植后的U.Boot源代碼,生成的 U—Boot島in是二進(jìn)制bin文件,純粹的U.Boot二進(jìn)制執行代碼,不保存ELF格式和調試 信息。主機通過(guò)JTAG口將U.Boot.bin下載到目標板的FLASH,目標板復位后運行 U.B墳。如果運行正常,就會(huì )從終端返回,如圖3。l所示。 豳3.1 u咱oot引導扁動(dòng)信息 此時(shí)在U.Boot命令模式下可做進(jìn)一步測試,設置系統啟動(dòng)的環(huán)境變量,并在主機 啟動(dòng)邗醒服務(wù)器,用交叉網(wǎng)線(xiàn)連接主機和目標板,將準備好的LinuX內核映像文件 kemel和文件系統映像文件r鋤disk2一mk7分別下載到SDRAM中正確的地址空間。
  如 果一切運行正常,就可以在冒標板上開(kāi)始刪毛i蘸玨x系統的調試。 3。2創(chuàng )建文件系統 3.2.1文件系統簡(jiǎn)介 許多嵌入式系統沒(méi)有磁盤(pán)或者文件系統,Linux不需要它們也能運行。在這種 情況下,應用程序任務(wù)可以和內核一起編寫(xiě),并且在引導時(shí)作為一個(gè)映像加載。 對于簡(jiǎn)單的系統來(lái)說(shuō),這足夠了,但是缺乏靈活性。實(shí)際上,許多商業(yè)性嵌入式 操作系統,提供文件系統作為選項。Linux提供MS.DOS.Compatible以及其他功 能更強大的文件系統。 文件系統可以被放在傳統的磁盤(pán)驅動(dòng)器、FlashMemory或其他這類(lèi)的介質(zhì)上, 如果用于暫時(shí)保存文件,一個(gè)?。遥粒捅P(pán)就足夠了。FlashMemog通常是這樣保 基予Linux的嵌入式數據袋集系統軟佟設詩(shī)與實(shí)琨 存文件系統的,FlashMemory被分割成塊,其中有~塊是當CPU盛動(dòng)運行時(shí)的引 導塊,里面存放Linux引導代碼,剩余的Flash可以用來(lái)存放文件系統。Linux內 核有兩種加載方式:一是把內核的可執行映像存儲到Flash的一個(gè)獨立部分,系統 扁動(dòng)時(shí),從Flash的某個(gè)地址開(kāi)始逐旬執行;另一種方式是把內核的壓縮文件敖在 F1ash上,系統啟動(dòng)時(shí)通過(guò)引導代碼把內核壓縮文件從Flash復制到RAM里,解 篷執行。
  因先RAM懿存取速度快予Flash,所以惹一種方式旋運行速度更快一些, 標準Linux就是采用這種方式【3孫。 創(chuàng )建文件系統主要是基于兩個(gè)方面的原因133】:首先,現有Linux文件系統全 集實(shí)在太大,不可能把上酉兆的文件系統下載到嵌入式系統上;其次,要改寫(xiě)現 有Linux文件系統中的配置文件以滿(mǎn)足應用程序的要求?!珎€(gè)根文件系統必須包 含對于支持一個(gè)完整的Li懿馘系統所必須的所有內容,如Li娃較x內核、驅動(dòng)程序、 相關(guān)的設備以及相關(guān)的配置文件等等。 最小嵌入式Li瓣濺根文件系統必須收錄
以下幾部分: (1)基本的文件系統結構: (2)最小的目錄集:/dev,/proc,/bin,/etc,/lib,/usr,觸np; (3)基本的命令集:sh,ls,cp,etc; (4)最小的配鼴文件集:i舭ab,fStab,etc; (6)相關(guān)的動(dòng)態(tài)鏈接庫。3.2.2在Flash上實(shí)現根文件系統 1建立相關(guān)的目錄 注意這些冒錄靜名字要與己i蘸馘文件系統原來(lái)的相同。因為Li致ux的鬣置文 件中涉及到的目錄,這些目錄名是固定的,如果更改了,系統可能找不到自己需 要的東西麗不能正確執行。這些目錄包括【34】/約ot, /bill,/sbin,愆ev,/或c,mb, /mnt,/proc,/mp,/usr。
   2將需要的文件拷貝到相關(guān)的目錄下 文件系統各兩錄的內容如下瑟碡l: (1)/root 系統窟動(dòng)文件,內核在其中。該謦錄需要雹含boo{。b,Syste撒.m神和bzl掰agea。 boot.b:合并System.map和bzImage的文件 System。map:與內核映象有關(guān)的函數定位信息 bzlmage:重要的內核映像 (2)/bin 曩錄下收錄
了常用的用戶(hù)命令,主要寄:ea專(zhuān),ehmod,b鑫sll,d臻e,盤(pán),lo西玨, 查看全部

  解決方案:python采集器,CKSpider,杰奇linux采集優(yōu)質(zhì)方案
  Python采集器、CKSpider、杰奇linux采集優(yōu)質(zhì)解決方案
  linux下捷奇cms的獲取一直是各大站長(cháng)頭疼的問(wèn)題。網(wǎng)上有很多方法,比如wine和samba,還有遠程磁盤(pán)映射。該方法和相同的特點(diǎn)對新手非常不友好,而且還受限于設備的配置、位置和系統環(huán)境??傊?,很麻煩。成功的配置不能不折騰就解決,還是容易出問(wèn)題。上面的很多我都親自測試過(guò),有幾個(gè)配置都成功了,但是說(shuō)白了,jieqi對于很多站長(cháng)來(lái)說(shuō)都離不開(kāi)custom collector,而優(yōu)采云
在jieqi中使用規則的情況并不多需要發(fā)行,操作必然復雜。
  本文僅供學(xué)習研究,請勿用于侵權
  那么,有什么辦法可以解決嗎?
  【注意,這個(gè)采集
器的官方開(kāi)發(fā)者已經(jīng)出風(fēng)頭了,linux采集
器使用了新的解決方案】
  杰奇linux遠程采集,采集器網(wǎng)站分離
  
  本文非廣告[霧]
  CK Collector,又名CKSpider,是一款由python開(kāi)發(fā)的跨平臺采集工具。官方的描述很簡(jiǎn)單,“這可能是捷奇CMS Linux采集
的最佳解決方案!”。這句話(huà)沒(méi)有錯,它完美支持捷奇1.7、捷奇1.8、捷奇2.2、捷奇2.3的快速采集
。你只需要根據站點(diǎn)進(jìn)行配置,設置規則,就可以直觀(guān)的開(kāi)始收書(shū)了。
  與幫助Linux站點(diǎn)采集的Guanguan Collector相比,CK Collector更簡(jiǎn)單,更快速,并且不受延遲或環(huán)境的影響。官網(wǎng)文檔有詳細解釋。
  配置過(guò)程比較簡(jiǎn)單。只需進(jìn)行一些基本操作即可在linux下使用。這篇文章我就不寫(xiě)安裝教程了,大家可以直接去采集
機關(guān)網(wǎng)。
  地址:無(wú)(官網(wǎng)關(guān)閉)
  采集到的截圖如下:
  
  速度非???。其實(shí)和我之前介紹的易大師采集
器長(cháng)得差不多,不過(guò)這個(gè)不會(huì )有BUG的。采集過(guò)程和關(guān)關(guān)差不多,在linux下效率更高。
  配置截圖:
  可以說(shuō)基本的功能都有了,完全可以滿(mǎn)足采集
的需要,至少很多操作是傻瓜式的,只要信息填寫(xiě)正確即可。具體可以去官網(wǎng)看安裝文檔,里面有詳細的介紹。
  最后附上官網(wǎng)截圖
  如果你是在linux上做網(wǎng)站,或者考慮做linux下杰基小說(shuō)的站長(cháng),不想做各種采集配置又想快速采集的可以使用CKSpider。您只需支付少量授權費即可使用。向上。
  當前頁(yè)面是本網(wǎng)站的“Google AMP”版本。查看和評論請點(diǎn)擊:完整版?
  解決方案:基于linux的嵌入式數據采集系統軟件設計與實(shí)現
  湖南大學(xué)碩士學(xué)位論文基于Linux的嵌入式數據采集系統軟件設計與實(shí)現姓名:****請學(xué)位級別:碩士專(zhuān)業(yè):電子與通信工程指導教師:**清;鄭小平20080401工程碩士學(xué)位論文摘要隨著(zhù)信息技術(shù)的飛速發(fā)展,人們需要能夠準確、快速和便捷地獲得大量數據并能從中迅速提取出有用的信息。近年來(lái),嵌入式計算機正在深入應用到工業(yè)、農業(yè)、教育、囡防、科研以及日常生活等各個(gè)領(lǐng)域。人們對于嵌入式計算機的需求在迅速增長(cháng),并且對其功耗、成本、開(kāi)發(fā)怒期、可靠性等多方面都提戡了更高的要求。目前,將嵌入式Linux技術(shù)與數據采集技術(shù)及數字信號處理技術(shù)結合起來(lái),正是適應了這一趨勢。采用Linux技術(shù)的嵌入式系統是一種體積小、便于攜帶、易于網(wǎng)絡(luò )化、造價(jià)相對較低,集信號采集、處理為一體的設備,其有廣泛的應用前論文首先討論數據采集系統需要達到的性能指標,著(zhù)重研究數據采集技術(shù)中關(guān)鍵的微弱信號檢測和噪聲抑制技術(shù),分析嵌入式Linux在數據采集和頻譜分析應用中的優(yōu)勢和意義。本文提出采用嵌入式Linux作為操作系統,針對Atmel公司的AT9lRM9200嵌入式處理器,設計~個(gè)嵌入式數據采集系統。論文在分析了Linux設備驅動(dòng)程序的基本工作原理基礎上,討論了開(kāi)發(fā)中經(jīng)常會(huì )碰到的中斷處理、I/0端悶,并在此基礎上實(shí)現了基予AT9lRM9200嵌入式處理器系統的讀、寫(xiě)外部RAM的字符設備驅動(dòng)和網(wǎng)絡(luò )驅動(dòng)。
  實(shí)驗證明,構造基于ARM的嵌入式Linux系統,并將其應用于工業(yè)測控等領(lǐng)域,在技術(shù)上憲全可行。關(guān)鍵詞:嵌入式系統;數據采集;嵌入式Llnux;Llnux設備驅動(dòng)基予毯n濺的嵌入式數據采集系統軟譬}設詩(shī)與實(shí)現AbstractWiththerapiddevelopmentoftheinformationtechnology,largeamountofdata,蠡。撒w矗ie董ll歉euse斑lin南f撒alione鑫nbedefived,ne{謄dlobeobt采玨edaecuf貳ely,convenientlyandtimely.Inrecentyears,embeddedLinuxhasbeenusedinmany蠡eldssuchasi魏d玨s專(zhuān)ly,agrie毽l{毪fe,ed毽e鑫lio曩,致鑫lio鑫鑫ldefe玨se,scientiflefeseafehdailylife.Thedemandoftheembeddedconlputerhasbeingincreasedrapidly.A玨dlnofefequifementoftheelllbeddedcomput。rpowefconsulnption,productioncost,researchperiodreliabilityhasbeenraised.Now,thecombinationoftheembeddedsysteminI—inuxandthetechnologiesofdatacollectionanddigitalsignalpfocessingleads乏oatasktodeVelopasmallandpoft£凼ledeVice,、他ichhasfhnctionsofdatacollecting,processing,storingdisplaying.Itcanalsobeconnectedeasilyloweos寶.下hefeseafe董lhasaniI建pQrtantearningpOtent主ala觳dabrig董llprospeetbeingwidelyused.l瓤esis,專(zhuān)heper萎3f搬a建eei黷dexofdataae鼗娃isi{ionsys{el鞋lsan越yzed。
 ?。牛恚穑瑁幔簦椋悖幔欤欤?,theweaksignaldetectionandantinoisetechnologyarestudied.The8dvantageselnbeddedLinuxtec量lnol。gydatacollec專(zhuān)ionfrequencyspectrumanalysisarealsodiscussed.TheembeddedLinuxoperalingsystenlpaper.TheAtlnelAT91RM9200isselectedtheCPUofthesystem.TheelementaryoperatingprincipleofthedevicedriverinLinuxisanalyzed.TheinterruptprocessingandI/Opor專(zhuān)arealso纛iseussed.Atlast,basedo穗th。selheories,鑫c量lardriVerand8ne專(zhuān)driVerofthesystemdeVeloped.薹魏conel毽sio建,itis{ec董l建ieallyf毫asiblelob毽ildel建bedde蓮£i致毽xo致AR涯systel廷applyittOthemeasurementandcontrolfieldinindustry.Keywords:Embeddedsystern;Dataacquisition;EmbeddedLinux;LinuxdeVicedrivell湖南大學(xué)學(xué)位論文原創(chuàng )性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進(jìn)行研究所取得的研究成果。
  除了文中特別加以標注引用的內容外,本論文不收錄
任何其他個(gè)人或集體己經(jīng)發(fā)表或撰寫(xiě)的成果作品。對本文的研究做出重要貢獻的個(gè)人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名:巷夕夸學(xué)位論文版權使用授權書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規定,同意學(xué)校保留并向國家有關(guān)部門(mén)或機構送交論文的復印件幫電子版,允許論文被查閱和借閱。本人授權湖南大學(xué)可以將本學(xué)位論文的全部或部分內容編入有關(guān)數據庫進(jìn)行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于l、保密口,在年解密后適用本授權書(shū)。2、不保密耐。(請在以上相應方框內打“”)作者簽名:0爭夕琴工程碩士學(xué)位論文重。l選題的背景與意義第l章緒論隨著(zhù)現代化大規模生產(chǎn)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,現代設備的功能越來(lái)越完善,自動(dòng)化程度越來(lái)越高,生產(chǎn)設備朝著(zhù)高度自動(dòng)化和高度集成化的方向發(fā)展,同時(shí)設備結構圓益復雜化,致使設備維修費用和停產(chǎn)損失與日俱增。如何提高設備的安全可靠性,保障設備穩定、長(cháng)期滿(mǎn)負荷運行,防止和消除設備故障,對設備進(jìn)行全壽命管理,已成為亟待解決的課題Hj。狀態(tài)監測與故障診斷技術(shù)就是在這種背景下提趲并發(fā)展起來(lái)的,通過(guò)在工程中的應用,為設備的管理和維修提供了重要的依據,取得了巨大的經(jīng)濟效益12J。
  要實(shí)現對設備狀態(tài)的監測與故障診斷,首先必須將設備中的各種信號(稱(chēng)為模擬信號)轉化為計算機可以識剮、存儲的信號(稱(chēng)為數字信號),這一過(guò)程鏊罐數據采集【孔。數據采集技術(shù)是以前端的模擬信號處理、模擬信號數字化、數字信號處理 和計算機控制技術(shù)為基礎而形成的一門(mén)綜合技術(shù),它在許多領(lǐng)域得到了廣泛的應 用辨l。在科學(xué)研究中,應用信號采集系統可以獲得大量的有用信息。在現代科學(xué) 技術(shù)不斷應用予日常生活的今天,數據采集技術(shù)也為創(chuàng )造一個(gè)更加舒適、健康的 生活環(huán)境,提高生活質(zhì)量發(fā)揮重要作用。 數據采集系統的任務(wù),具體地說(shuō),就是采集傳感器輸出的模擬信號并轉換成 計算枧能識別的數字信號。數據采集的最終目的是要從采集到的關(guān)于被測對象的 大量數據中提取出有用的,反映被測量特征的信息來(lái),這就需要對數據進(jìn)行處理。 數字信號處理技術(shù)是利用計算機或專(zhuān)用處理設備,以數值計算的方法對信號進(jìn)行 交換、綜合、估值與識別等加工處理,借以達到提取信息和便于應潮為目的的一 種技術(shù)。一個(gè)大型的數據采集系統由以下幾個(gè)部分組成【5J:數據測量、數據采集、 數據傳送、數據存儲、數據處理、分析和顯示等。 目前,嵌入式數據采集系統成為數據采集系統的研究熱點(diǎn){6j。
  嵌入式技術(shù),特 別是嵌入式操{乍系統的發(fā)展使褥開(kāi)發(fā)嵌入式系統變得容易,開(kāi)發(fā)成本降低,產(chǎn)燕通用 性提高,可更新?lián)Q代。結合傳統嵌入式系統體積小、耗能少、抗干擾能力強、穩定的 特點(diǎn),開(kāi)發(fā)嵌入式數據采集系統的應用產(chǎn)品,不管是作為一個(gè)獨立的產(chǎn)晶,還是某一 系統的某個(gè)功麓模塊,都是十分有意義的J。 1.2嵌入式系統概述 1.2.1嵌入式系統定義及特點(diǎn) 嵌入式系統是以應用為中心、以計算機技術(shù)為基礎、軟件硬件可裁剪、適應 應用系統,對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統博J。 它將操作系統和功能軟件集成于計算機硬件系統之中,簡(jiǎn)而言之就是系統的應用 軟件與系統的硬件一體化,類(lèi)似于BIOS的工作方式,具有軟件代碼小,高度自動(dòng) 化,響應速度快等特點(diǎn)。特別適合于要求實(shí)時(shí)和多任務(wù)的體系。嵌入式系統是將 先進(jìn)的計算機技術(shù)、半導體技術(shù)、電子技術(shù)和各個(gè)行業(yè)實(shí)際應用相結合的產(chǎn)物。 嵌入式系統的結構由兩大模塊組成:硬件平臺和軟件平臺,其結構如圖1.1 所示: 圖1.1嵌入式系統結構圖 嵌入式系統的硬件平臺通常以緊湊、專(zhuān)用性強的處理器為核心,同時(shí)結合少 量的外圍設備,具有應用相關(guān)性、多樣性的特點(diǎn);嵌入式系統軟件平臺通常收錄
嵌入式應用程序和嵌入式操作系統。
  其中嵌入式操作系統介于硬件和應用程序之 間,負責任務(wù)調度并管理實(shí)時(shí)應用程序,完成對硬件的控制和操作。實(shí)時(shí)應用程 序是基于嵌入式實(shí)時(shí)操作系統、利用操作系統提供的實(shí)時(shí)機制完成特定嵌入式系 統具體功能的應用程序。 嵌入式系統不同于一般計算機系統,它具有其他應用系統所沒(méi)有的一些特性: l體積?。涸谇度胧较到y的主體應用場(chǎng)合,如手持設備,智能儀器儀表,家用 電器等均對體積有較高限制,要求盡量少占用空間。 2存儲容量?。呵度胧较到y一般以ROM,FLAsHMEMORY、RAM等作為存 儲介質(zhì),由于價(jià)格及嵌入式系統體積等因素限制,因而不可能有太大的存儲容量。 3良好的性能價(jià)格比:很多嵌入式設備是嵌入于宿主設備以輔助宿主設備高效 地完成其功能,因而性?xún)r(jià)比要求較高,以防止過(guò)分提高宿主設備成本。 嵌入式操作系統具有以下幾個(gè)特點(diǎn):小的系統內核、較強的實(shí)時(shí)性、多任務(wù) 正程碩士學(xué)位論文 功能、能夠提供各種設備驅動(dòng)程序、網(wǎng)絡(luò )協(xié)議等的支持。作為硬件資源的管理者, 嵌入式操作系統最小構成應收錄
如下幾部分【9dl】: l任務(wù)調度 對一個(gè)復雜的嵌入式應用而言,用單任務(wù)來(lái)實(shí)現是不合適的,因此多任務(wù)調 度策略的優(yōu)劣至關(guān)重要。任務(wù)調度方法一般可分為優(yōu)先級調度、輪轉調度、時(shí)間 片調度三種。
  優(yōu)先級調度又可以分為:優(yōu)先級搶占和優(yōu)先級不搶占。優(yōu)先級搶占 是指當有更高的優(yōu)先級進(jìn)程被激活后,則立即終止當前運行的進(jìn)程,使其搶占CPu 運行。優(yōu)先級不搶占是指當有更高的優(yōu)先級進(jìn)程被激活后,并不立即終止當前運 行的進(jìn)程使其搶占CPU,而是將其放到進(jìn)程就緒隊列中,在當前運行的進(jìn)程結束 焉,再從進(jìn)程就緒隊列中選擇優(yōu)先級最高的進(jìn)程運行。輪轉調度是進(jìn)程管理者按 照一個(gè)固定的時(shí)間間隔讓就緒進(jìn)程輪流運行。時(shí)間片調度則是根據每個(gè)進(jìn)程各自 的實(shí)際情況,分給每個(gè)進(jìn)程一個(gè)時(shí)間片,進(jìn)程開(kāi)始運行后,運行的時(shí)間長(cháng)短由這 個(gè)時(shí)聞片決定。 在一般的操作系統中,通常固定采用其中的一種或幾種方法進(jìn)行任務(wù)調度。 例如在Unix和Linux中,采用了優(yōu)先級不搶占、輪轉和時(shí)間片三種方法。在實(shí)時(shí) 操作系統中,優(yōu)先級搶占策略則是必不可缺少的。而在嵌入式搡作系統中,很難 明確地說(shuō)哪一種調度策略更好,焉要根據實(shí)際系統的需求進(jìn)行選擇。 2存儲管理 一般操作系統的存儲管理非常復雜,虛擬存儲器管理技術(shù)被廣泛地采用,這 樣各應用程序被分隔在各自的地址空間運行,不致相互干擾。 嵌入式操作系統的存儲管理通常比較簡(jiǎn)單。因為在具體的嵌入式應用中,進(jìn) 程或線(xiàn)程的數量和各自可能使用的內存容量是可以在開(kāi)發(fā)時(shí)預測的,因此嵌入式 操作系統通常采用靜態(tài)內存分配。
  另外,在實(shí)時(shí)嵌入式應用中,如采采用虛擬存 儲技術(shù),因為頁(yè)交換的時(shí)間不可預測,所以也是不可取的。 在內存分配的策略上,嵌入式操作系統依賴(lài)于實(shí)際的被嵌入的硬件系統。對 于一個(gè)通用的嵌入式操作系統一般可提供幾種分配策略,由用戶(hù)在實(shí)際開(kāi)發(fā)系統 時(shí)進(jìn)行選擇,這就是嵌入式操作系統的可裁剪性。 存儲管理的另一個(gè)重要特性就是內存保護。在一般的操作系統中,每個(gè)應用 程序都有融己的地址空間。不允許任意訪(fǎng)問(wèn)其它應用程序的地址空間,這樣,當 一個(gè)斑用程序崩潰時(shí),不會(huì )對其它程序產(chǎn)生影響。麗在一些低端嵌入式系統中, 因受到應用環(huán)境的限制,不能大量使用存儲器,這時(shí)嵌入式操{乍系統的代碼量就 受到嚴格限制,必然制約了其功能的完善性。例如有的嵌入式操作系統只有幾十 KB,使其在處理內存保護方面就非常薄弱,這樣的嵌入式操作系統一般只能應用 于一些即使系統崩潰,也不致造成重大損失的領(lǐng)域,例如手枧等。 3中斷響應 計算機系統接受事件通常采用兩種方法:查詢(xún)和中斷。由于采用查詢(xún)方式處 理事件或響應I/0請求會(huì )消耗大量的CpU時(shí)間,騷此無(wú)論在一般的操作系統還是 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 嵌入式操作系統中都廣泛采用中斷方式來(lái)處理事件或I/O請求。
   在嵌入式操作系統中,對中斷處理十分重視,一般在中斷處理程序中僅執行 一些必要的狀態(tài)轉換,對于事件的真正處理則利用中斷任務(wù)來(lái)完成。這樣使得中 斷處理程序的運行時(shí)聞盡可能短,以便系統可以處理其它中斷事件。 在中斷處理上,一般的操作系統與嵌入式操作系統的不同之處是現場(chǎng)保護。 一般的操作系統的中斷現場(chǎng)保護是豳操作系統來(lái)完成的,在中斷處理完成之后, 也由操作系統自動(dòng)恢復現場(chǎng)。兩在嵌入式操作系統中,由予受到代碼量的限制, 中斷現場(chǎng)的保護往往由中斷處理程序來(lái)完成。進(jìn)入中斷處理程序后。應馬上保護 在中斷處理程序中要用到的寄存器,在中斷處理完成后再恢復。這樣~方面減少 了操作系統的代碼量,另~方面提高了中斷響應時(shí)闖,但是卻損失了系統的安全 性,同時(shí)也增加了調試的難度。這是在嵌入式操l乍系統的設計中應該予以關(guān)注的 問(wèn)題。 4操作系統與用戶(hù)的接口 操作系統提供給用戶(hù)使用的有兩類(lèi)接口。 一類(lèi)是人機界面,無(wú)論是視窗形式還是命令行形式,這個(gè)接口確切地說(shuō)并不 能作為操作系統的一部分,而僅僅是操作系統的一個(gè)外殼,這個(gè)界面完全是為了 方便用戶(hù)使用操作系統兩設的,麗這個(gè)接口在嵌入式操作系統中一般是不存在的。 另一類(lèi)接口就是操作系統提供給用戶(hù)開(kāi)發(fā)應用程序的接口(API),也就是系 統調用。
  無(wú)論是一般的操作系統還是嵌入式操作系統都應具有這個(gè)接口。每一個(gè) 操作系統提供的系統調用的功能和種類(lèi)都不同,當然,對于一個(gè)操作系統來(lái)說(shuō), 它提供的系統調用越多,則功能越強,對于應用程序的開(kāi)發(fā),也就越能提供高效 而簡(jiǎn)單的支持。為了適應不斷復雜的應用程序開(kāi)發(fā)的需求,操作系統中設計的系 統調用也就越來(lái)越多,功能越來(lái)越強大。但是這一規律并不適用于嵌入式操作系 統,因為嵌入式操作系統的應用領(lǐng)域非常廣,嵌入式操作系統所提供的系統調用 的數量和功能遠遠不可能滿(mǎn)足應用的需要。盡管可采用前面提到的可裁剪性,但 是任何一個(gè)嵌入式操作系統都不可能從具有各種完善功能、代碼達幾百KB的操 作系統,裁剪到只具有簡(jiǎn)單操作的幾KB代碼。所以嵌入式操作系統只能根據實(shí) 際的被嵌入系統的具體需求來(lái)確定系統調用,以便達到最有效性。 1.2。2嵌入式操作系統簡(jiǎn)介 從20世紀80年代開(kāi)始,出現了各種各樣的商用嵌入式操作系統,這些操作 系統大部分都是為專(zhuān)有系統開(kāi)發(fā)的,從而逐步演化成現在多種形式的商用嵌入式 操作系統百家爭鳴的局面,這些操作系統主要有如下一些強瑟Hj: VxWbfksVxWorks是WindRiver公司專(zhuān)門(mén)為實(shí)時(shí)嵌入式系統設計開(kāi)發(fā)的操作系統軟 件,為程序員提供了高效的實(shí)時(shí)任務(wù)調度、中斷管理、實(shí)時(shí)的系統資源以及實(shí)時(shí) 的任務(wù)聞逶信。
  
  應用程序員可以將盡可熊多的精力放在應用程序本身,麗不必褥 去關(guān)心系統資源的管理。該系統主要應饅在單板飆、數據隧終{:以太嬲交換梃、路豳器)和通信等多方面。其核心功黥主要有: 網(wǎng)絡(luò )支持豢文件系統幫差鰳管理 POSlX標準實(shí)時(shí)擴展 C專(zhuān)專(zhuān)以及其他標準支持 這些核心功能可以與Wind硒ver系統的其他附件和bmado合作伙伴的產(chǎn)品結 會(huì )在~起使臻。誰(shuí)都不熊否認這是一個(gè)非常優(yōu)秀的實(shí)對系統,健其昂貴的徐格使 不少廠(chǎng)商塑?chē)疼Р健?QNX泌X也是一釋實(shí)對撩籜系統,奎擻拿大QNX軟件系統有隈公霹開(kāi)發(fā)。廣泛 應用予自動(dòng)化、控制、機器人科學(xué)、電信、數據逯信、航空靛天、計算桃網(wǎng)絡(luò )系 統、醫療儀器設備、交通運輸、安全防衛系統、POS概、零售楓等飪務(wù)關(guān)鍵型應 焉領(lǐng)域。20雀紀90年代囂期,QNX系統在高速灞長(cháng)的Internet終端設備、信息 家電及掌上電腦等領(lǐng)域也得到了廣泛的癍用。 QNX鵑體系結構決定了它暴宥遺}常好酶律縮犍,耀戶(hù)可越把應臻程序代鸚熟 QNx內核贏(yíng)接編譯在一起,使之為簡(jiǎn)單的嵌入式應用生成一個(gè)單一的多線(xiàn)程映像。 它也是鳘賽上第一個(gè)遵循PS差鴦3.1標準觚零設詩(shī)鰓微蠹棱,匿戴暴膏菲鬻好 的可移植性。
   3Nuele毽s 它是美藿著(zhù)名廠(chǎng)商斛重公鐲靜實(shí)時(shí)操俸系統產(chǎn)晶,該系統豁模塊性設計健它 具有比較好的寵制能力。它的主要特點(diǎn)翁以下一些: 該系統購買(mǎi)時(shí),霹獲蔣全螯豹漾代碼。并且一次性手雩費不用藉為應震系統的發(fā)售提供每套應用系統的版稅。這~點(diǎn)與某熱商業(yè)的嵌入式操作系統不 它提供一個(gè)有較好實(shí)時(shí)性?xún)群司W(wǎng)絡(luò )模塊功能比較完善,同時(shí)還提供了W曲產(chǎn)晶 工具。易學(xué)易耀,較好的支持了產(chǎn)照開(kāi)發(fā)。薅Wi鼗纛wse囂 MicrosoftWindow8CE是一個(gè)簡(jiǎn)潔的,嵩效率的多平臺操作系統。它是從熬 體上蔻有限資源鶼平龕設詩(shī)懿多線(xiàn)程、寵整撬先投、多任務(wù)懿搡終系統。它的模 塊優(yōu)設計允許它對于從掌上電腦到專(zhuān)用的工業(yè)控制器等電子設備進(jìn)行定鍘。它的 主要特點(diǎn)有: 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現支持Will32API的一個(gè)子集。同時(shí),為開(kāi)發(fā)人員提供熟悉開(kāi)發(fā)平臺,包 括EmbeddedVisual C++和EmbeddedVisualBasic,使得有經(jīng)驗的 Windows開(kāi)發(fā)人員可以很快地掌握Window薔CE的開(kāi)發(fā)。這也為Windows 平臺上的一些應用程序移植到Wi玨dowsCE提供了方便。這是Wi魏dows CE的一個(gè)很好的優(yōu)勢 支持多種的用戶(hù)界面硬件,包括可以達到32bit色深的彩色顯示器,支持 多種串行和網(wǎng)絡(luò )通訊技術(shù) 支持COM/OLE,OLE自動(dòng)操作和其它的進(jìn)程聞通訊的先進(jìn)方法 5PalmOS PalmOS是~種32位嵌入式操作系統,用于掌上電腦。
  此系統是3Com公司 的Pal搬Co搬puting部開(kāi)發(fā)的(PalmCompuling目前已經(jīng)獨立為一家公司)。它運行 在一個(gè)搶占式的多任務(wù)內核之上,與同步軟件HotSync結合可以使掌上電腦與PC 上的信息實(shí)現同步,把臺式機的功能擴展到了手掌上,同其它嵌入式操作系統相 比,Pal撒具有更大的靈活性和移動(dòng)性,是一款非常流行的掌上電腦操{乍系統。 1.23嵌入式Li建濺系統 Linux是1991年4月由芬蘭人LinusTorvalds所獨立首創(chuàng )的類(lèi)UNIX操作系統, 在全世界愛(ài)好者的共同努力下,借助于Internet,Linux歷經(jīng)無(wú)數版本的演進(jìn),目前 已發(fā)展成為一個(gè)完整的遵從POSIX規范操作系統,與SystemV以及BSDUNIX實(shí)現了 源碼級或二進(jìn)制相容,它是一個(gè)真正的多任務(wù)、多用戶(hù)、多平臺系統,支持多處理器, 安全可靠,性能卓越。最重要的是Linux不是商業(yè)化操作系統,它遵循GNU公共許可 協(xié)議,源代碼全部開(kāi)放,任何入均可自由獲得源碼并進(jìn)行分析研究。Linux由于自身 的優(yōu)點(diǎn)是非常適合于作為嵌入式操作系統,主要表現為以下幾點(diǎn)‘挖謝】: l免許可證費用 大多數商業(yè)操作系統,如winCE,Vxworks等對每套操作系統均收取一定的許可 證使用費用。
  相對而言,乙inux是一個(gè)免費的優(yōu)良操作系統,公開(kāi)源代碼,只要不違 反G跬協(xié)議,任何人都可以使用、修改稆發(fā)布Linux. 2高度穩定性 和目前流行的桌面操作系統相比,Linux是非常穩定和可靠的,并且由于內核的 穩定性使得L主玨毪x在移植到特定平臺詹與通用平臺具有一樣的高穩定性,雖然薪平臺 下的外圍設備可能完全不同。 3移植容易 L主nux是一個(gè)多平臺的操作系統,可以運行子X86,P0并£RPC,麓王PS等多種處理 器之上,對嵌入式應用方面這一點(diǎn)尤為重要,據統計一個(gè)設計優(yōu)良的嵌入式系統移植 到另一平臺只需改動(dòng)其中的4%代碼。同時(shí)由于Linux采用的模塊機制,使設備驅動(dòng)程 序只需要做部分修改就可適用于其它平臺,方便移植。 4強大的霹絡(luò )功能 工程碩士學(xué)位論文 L主nux天生就是一個(gè)網(wǎng)絡(luò )操作系統。幾乎所有的網(wǎng)絡(luò )協(xié)議和網(wǎng)絡(luò )接口都已經(jīng)被定 制在Linux中。 5良好的開(kāi)發(fā)工具 Li稚毯x提供e、£爭、弘訟以及其他很多的開(kāi)發(fā)工具。更重要的是,愛(ài)好者可以 免費獲得,并且這些開(kāi)發(fā)工具設計時(shí)已經(jīng)考慮到支持各種不同的微處理器結構和調試 環(huán)境。Linux基于GNU的工具包,此工具包提供了完整與無(wú)縫交叉平臺開(kāi)發(fā)工具,從 編輯器到底層調試,其e編譯器產(chǎn)生更有效率的執行代碼。
   6全面的技術(shù)支持 對于實(shí)際開(kāi)發(fā)過(guò)程來(lái)說(shuō),完善的文檔和及時(shí)的技術(shù)支持是解決實(shí)際問(wèn)題、提高開(kāi) 發(fā)效率所必不可少的。由于Linux的開(kāi)源特性和各方面的優(yōu)異表現,越來(lái)越多的程序 員深入其中,開(kāi)發(fā)過(guò)程中遇到的任何閬題,均可通過(guò)王nternet褥到及時(shí)解答。 越來(lái)越多的科研機構、廠(chǎng)商的不斷推動(dòng),使得其在新興的嵌入式系統領(lǐng)域內 也獲得了飛速發(fā)展。所以,研究和分析嵌入式Linux操作系統理論和應用,開(kāi)發(fā) 相關(guān)的嵌入式班致ux系統和應用軟件,具有重大的意義。 1.3數據采集系統的研究現狀 國內現在有不少數據測量和采集的系統。在硬件實(shí)現上,主要通過(guò)單片機、 DSP【15】等完成,有基于PCI總線(xiàn)【161、基于VXI總線(xiàn)【17】的高速數據采集系統等。在 軟件實(shí)現上,有LabView圖形化編程軟件f1引、VBfl引,VCfl91可視開(kāi)發(fā)工具等。 以數據采集卡為核心的數據采集系統,采用的數據采集卡幾乎都是PCI卡, 必須插在上位機(PC機)上的PCI槽上,由上位機(PC機)控制完成數據采集 工作。因此信號必須從信號現場(chǎng)傳送到上位機(PC機)上,由于各種工業(yè)現場(chǎng)條 件的限制,現場(chǎng)到上位機(PC機)往往有很長(cháng)的一段距離,信號在傳送的過(guò)程中 會(huì )衰減,失真,混入干擾信號,產(chǎn)生誤差,這是傳統數據采集系統的一個(gè)缺點(diǎn)。
   為了解決這一矛盾,人們開(kāi)始使用工業(yè)現場(chǎng)總線(xiàn)互聯(lián),例如RS.485串行總線(xiàn)【2…, CAN總線(xiàn)12l】等,將現場(chǎng)采集的數據送到異地的中心處理機做迸一步處理。但是這 種方法只適用于現場(chǎng)與中心距離不是很遠的情況,而且這些通信總線(xiàn)的數據傳輸 速度慢,布線(xiàn)也不方便。 這些數據測量和采集系統的研制成功解決了用戶(hù)需要,但這些系統存在功能 單一、可測量的種類(lèi)少、可測量的范圍小、采集通道少、采集速率低、操作復雜, 并對測試環(huán)境要求較高,安裝、布線(xiàn)不方便等問(wèn)題。在當今網(wǎng)絡(luò )化時(shí)代,以Illte豫el 為代表的計算機網(wǎng)絡(luò )通信的發(fā)展和應用取得了前所未有的突破和成功,網(wǎng)絡(luò )化測 量、采集和(對網(wǎng)中儀器設備的)控制技術(shù)正隨著(zhù)網(wǎng)絡(luò )技術(shù)的發(fā)展而迅速發(fā)展瞄曩。 網(wǎng)絡(luò )化、分布式的數據采集優(yōu)勢體現在:采集范圍擴大,處理能力增強,信息索 取更加方便,并且能夠適應場(chǎng)合變更的需要。憑借這些優(yōu)良的性能,網(wǎng)絡(luò )化測量 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 和控制已經(jīng)成為數據采集技術(shù)發(fā)展的必然趨勢。傳統的數據采集系統顯然不能滿(mǎn) 足對測試系統靈活、高效、高速、多通道、網(wǎng)絡(luò )化等要求和適應復雜測量環(huán)境的 需要。 1.4本文的主要工作 本文的數據采集系統采用嵌入式技術(shù),應用于大型設備狀態(tài)監測系統中,完 成對設備監測,為設備的故障診斷提供第一手可靠、準確的數據。
  系統平臺以基 于ARM9核的AT91RM9200為處理器,FPGA輔助邏輯控制和信號預處理,采用 嵌入式系統開(kāi)發(fā)技術(shù),應用嵌入式操體系統,模塊化設計,提高了系統的實(shí)時(shí)性 和可靠性以及系統的可擴展性。在結構設計上,采用插卡式結構,可根據不同需 要,接入不同的信號調理通道板,實(shí)現靈活的信號采集;具有與上位機的通訊功 能,能結合配套軟件對設備進(jìn)行監測、分析與數據僳存,最終實(shí)現對設備的故障 診斷。 第一章緒論。主要介紹課題的背景和意義,簡(jiǎn)要概述嵌入式系統的定義和特 點(diǎn),闡述了嵌入式操作系統及嵌入式Linux的優(yōu)點(diǎn),分析當前數據采集系統存在 的闖題、研究現狀,貪綴本文所作的工作。 第二章基于嵌入式Linu)(的數據采集系統的整體方案。該裝置主要由信號輸入 電路、模數轉換電路、邏輯控制器件FPGA、數據處理運算核心ARM芯片、通信電 路等部分構成,本章給出了系統框圖。 第三章構建嵌入式Linux系統。本章研究了構建嵌入式Li歉玨x系統的關(guān)鍵技 術(shù),主要介紹嵌入式Linux內核軟件平臺的構建及內核裁剪原理和具體過(guò)程。 第四章嵌入式Linux內核驅動(dòng)程序的設計。主要介紹Linux下字符設備驅動(dòng) 程穿的實(shí)現方法及本系統的字符設備驅動(dòng)的具體實(shí)現。
   第五章嵌入式Linux與網(wǎng)絡(luò )驅動(dòng)的實(shí)現。首先分析Linux網(wǎng)絡(luò )協(xié)議棧(TCP/IP) 整體結構及Linux網(wǎng)絡(luò )設備驅動(dòng)程序,然后本針對系統硬件編寫(xiě)網(wǎng)絡(luò )驅動(dòng)程序, 并測試驗證霹絡(luò )驅動(dòng)的可靠性。 工纛贛圭學(xué)位論文 第2章嵌入式數據采集系統的整體設計 2.1信號采樣處理技術(shù)基礎 在動(dòng)態(tài)信號中蘊含著(zhù)設備的狀態(tài)變化和故障特征的豐富信息,信號處理是提 取故障特征信號的主要手段,麗故障特征信息則是進(jìn)一步診斷設備故障原因并采 取防治對策的依據【23】。 工程領(lǐng)域中的各種物理信號隨著(zhù)融闐的變化過(guò)程表現力多種形式,如簡(jiǎn)諧的、 周期的、瞬態(tài)、隨機的等等,這些被檢測到的信號由于系統傳遞路徑的影響,環(huán) 境噪聲的影響和各種機械原件的聯(lián)合作用,構成信號的成分就很復雜。因此,必 須對檢測到的信號進(jìn)行加工處理,以便更全面、更深刻地揭示出動(dòng)態(tài)信號中所包 含的各種信息。 動(dòng)態(tài)信號的處瑾方法很多,如時(shí)聞?dòng)蛱幚?、頻域處理、幅僮域處理等【24藝朝。 經(jīng)過(guò)信號處理,可以實(shí)現時(shí)域和頻域的相互轉換,從而揭示出信號中某些實(shí)質(zhì)性 2.1.1信號分析系統的組成和數字處理方法暈期的信號分析主要通過(guò)模擬式分析儀器進(jìn)行。隨著(zhù)數字計算機的迅速發(fā)展, 現代信號分析都采用數字分析方法。
  所采用的分析系統,一種是以專(zhuān)用數字信號 處理器為核心的專(zhuān)用數字式信號分析儀器;另一種是采用通用計算機,以軟件方 式進(jìn)行信號分析。兩種分析方式雖然在形式上有所差別,但信號分析的基本手段 和方法是一致的。 信號分析系統的組成如圖2。l所示。系統備部分的功能是: 圖2.1信號分析系統的組成1傳感器 傳感器是將待分析的物理量(一般是電量、溫度、壓力、流量以及振動(dòng)位移、 速度、加速度等)轉化為電信號(如電壓、電流或其它參數)。 2預處理單元 ~般信號在在被采樣之前須經(jīng)預處理,勉放大、濾波等。信號采樣之前的低 通濾波常稱(chēng)為抗混疊濾波。按照采樣定理,采樣頻率必須大于信號最高頻率的兩倍, 否則將引起頻率混疊現象。因此,采用低通濾波器濾去不需要的高頻成分,將信 基于“nux的嵌入式數搖采集系統軟{睪設計與實(shí)璦 號頻帶限制在一定范基之蠹,以防止產(chǎn)生混疊現象。 3模數轉換(A國) 信號可分為模擬信號和數字信號兩類(lèi)。模擬信號是隨時(shí)間連續變化的,一般 傳感器輸出的電信號器器位模擬信號。數字信號是由一系列離散的數字組成。當用 計算機做信號處理時(shí),信號必須是數字化的,因此需要將檢測到的模擬信號轉變 為數字信號供計算祝處理。
  這一過(guò)程是通過(guò)模數轉換器(A國)來(lái)實(shí)現的。 4信號分析單元 這是信號分析系統中的核心環(huán)節,也是本文重點(diǎn)研究的環(huán)節。其可以通過(guò)專(zhuān) 用的數字信號處理器(DSP)來(lái)實(shí)現,也可以通過(guò)通用處理器(CpU)實(shí)現。其分 析內容十分廣泛,本文將在后續章節作深入探討。主要包括對信號的時(shí)域、幅值 域和頻率域的特性分析。也包括對信號所依據的各種形式豹系統特性分析。 5數模轉換(D/A) p,A轉換是將計算機分析處理結果以模擬量形式輸出,供波形顯示或其它用 途。但現代在線(xiàn)監測系統已不用此方法,而是直接在監視器上顯示處理結果。 2。羔.2信號分析的主要內容 從信號分析的基礎方法和功能上來(lái)看,可以將信號分析的主要內容概括如下: l時(shí)域分析 以時(shí)間為變量的各種函數和圖形,如瞬態(tài)記錄、時(shí)域平均、自相關(guān)函數、互 相關(guān)函數。 2幅值域分析 概率密度及概率分布函數、均值計算、方差和峭度計算等。 3頻域分析 通過(guò)傅立葉等變換以頻域的形式來(lái)描述信號。如傅立葉正、逆變換自功率譜 翻互功率譜,細化FFT技術(shù),窗邈數加權,三維坐標圖,倍頻分板等。 2.1.3實(shí)時(shí)分析 所謂實(shí)時(shí)分析就是指分析信號的時(shí)間與信號出現的時(shí)聞幾乎是同時(shí)的。通常 的含意是指信號分析的速度能趕上信號輸入的速度,使信號在分析處理過(guò)程中不 產(chǎn)生數據積壓,也不使數據丟失。
  因為計算機的分析計算工作是在采樣聞隔中進(jìn) 行的,如果計算工作量太大或者采樣間隔&太短,計算機處理不完應做的工作, 將造成數據丟失。因此,在計算機CPU處理速度一定的情況下,就限制了采樣頻 率。按照采樣定理(z=(2.56~4)五雛)‘2稍,也就決定了實(shí)時(shí)分析信號豹最高分析 頻率范圍。對于一個(gè)分析系統來(lái)說(shuō),能夠進(jìn)行實(shí)時(shí)分析的最高頻率與系統的處理 速度、采樣點(diǎn)多少和采樣頻率有關(guān)。如實(shí)時(shí)分折系統在T時(shí)間蠹能夠進(jìn)行N點(diǎn)數 據分析,采樣頻率為.f,則可得到最高分析頻率為: (2.1),一2.56r 工程顴亡學(xué)位論文2.1.4數字信號處理技術(shù)的特點(diǎn) 由于電子計算技術(shù)迅速發(fā)展,信號處理技術(shù)向數字化方向發(fā)展。數字信號處 理技術(shù)具有以下一系列優(yōu)點(diǎn): l功能豐富 以微處理器為核心的現代數字信號分析儀器或裝置,它的處理功能主要通過(guò) 軟件實(shí)現。許多功能軟件可以存儲在體積很小的存儲器內供選用,提供數十種測 試分析項目。因此,以微處理器為核心的分析系統,其特點(diǎn)是能夠充分地、高效 地利用硬件及軟件資源,這是一般模擬電路很難傲到的。 2高度靈活 微處理器化的監測系統操作十分靈活方便,如欲調整參數或修改功能,可以 在軟件上進(jìn)行修改,硬件電路可以不改動(dòng)或者改動(dòng)很少,這樣就節省了資金和時(shí) 間。
  比如本系統,系統操作都可以在瀏覽器中完成,極大地節約了客戶(hù)端軟硬件 的成本,麗且操作更簡(jiǎn)單直觀(guān)。 3高精度 模擬電路所能達到的精度是有限的,要將精度提嵩一個(gè)數量級往往不太容易。 數字信號系統得精度取決于字長(cháng)和設計方案,它容易滿(mǎn)足對高精度的要求。采用 微處理器,在頻率域可以大幅度地提高分辨能力,如低頻可到lHz以下,若有細 化(Zoom)功能,則低頻可到0.1Hz。高頻段可到達lOOkHz。 4高可靠性 數字電路易于大規模集成化制造。一片A脒32位或者CO己DFl袋囂32位處理 器只需要進(jìn)行很少的擴展就可以構成完整的單元系統。這樣的系統由于硬件和擴 展模塊少,大大加強了系統得可靠性。 數字信號分析運算速度自從出現了快速傅立葉(FFT)變換之后,有了數百倍的 提高。各種快速數字信號算法的出現加上硬件技術(shù)的飛速發(fā)展,完全可以做到實(shí)時(shí)處 理各種工業(yè)現場(chǎng)信號,從麗實(shí)現了實(shí)時(shí)分析,使得數字信號處理速度進(jìn)入了一個(gè)嶄新 的階段。 2.2嵌入式數據采集系統的總體結構設計 基于Linux的嵌入式數據采集系統采用板卡式設計,主要由9個(gè)插件和一個(gè) 母板組成。各插件全部采用3U背插式結構,備模件采用雙插座連接方式,各模件 之間通過(guò)系統內部母板相聯(lián)系,提高了整個(gè)裝置的可靠性。
  
  其中一個(gè)插件為信號 采集、處理板;另外的8個(gè)插件為信號調理通道板(一塊板上三路調理電路,總 共2霹路,可以根據傳感器的信號路數,增減信號調理通道板)。系統的結構緊湊, 整面板設計,外形美觀(guān)大方。其布局如圖2.2所示。 基子Linux的嵌入式數據采集系統軟侔設詩(shī)與實(shí)璃 圖2.2裝置連接布局圖 嵌入式數據采集單元系統由信號調理系統和信號采集、處理系統兩部分構成。 信號調理系統由電荷放大或電壓放大或電流放大電路(視健感器類(lèi)型定)、程控放 大、程控低通濾波、緩沖放大等四級電路組成,其中由單片機控制上位機要求的 程控放大、程控低通濾波等參數。信號采集、處理系統擬采用ARMFPGA結構 來(lái)實(shí)現,此種結構的好處是:硬件開(kāi)發(fā)平臺難度較小,系統軟件升級容易實(shí)現。 矗Dcl蠡重鎊系統| |奄源系統| 控制參數通信 圖2。3嵌入式數據采集裝置的總體結構圖 此種嵌入式數據采集裝置的總體結構圖如圖2.3所示,圖中各個(gè)標記說(shuō)明如 DB代表數據總線(xiàn)(DataBus),AB代表地址總線(xiàn)(AddressBus),CB代表控蕩l總線(xiàn)(Control8us)。 信號調理電路:其功能是將傳感器送來(lái)的小信號進(jìn)行放大、低通濾波(有必 要時(shí)需要進(jìn)行模擬濾波),方便蜃續的ADC進(jìn)行模數轉換; ADC:模數變換,用于實(shí)現基帶信號的數字化; FPGA:在該系統中,主要功能是實(shí)現整個(gè)系統的控制和數據的預處理; ARM:與PC機之間進(jìn)行數據通信; SDRAM:完成系統數據的緩沖存儲,運行Linux內核、文件系統及ARM的 應用程序; 丁程碩十學(xué)位論文 FLASH:一種存儲器,該系統用來(lái)存放引導ARM啟動(dòng)的程序,存放壓縮的Linux 內核、文件系統及應用程序。
   嵌入式數據采集系統的硬件平臺實(shí)物圖如圖2.4所示: 圖2.4嵌入式數據采集系統硬件平臺 2.2.1嵌入式數據采集系統信號流程設計 1信號調理通道板信號流程 取自現場(chǎng)設備的各種傳感器信號通過(guò)低噪音電纜送入信號調理通道板,每個(gè) 信號調理通道板上收錄
三個(gè)信號調理通道。根據不同的傳感器類(lèi)型配備不同的信 號調理通道板,各種信號經(jīng)過(guò)信號調理后都變換為同一規格的電壓信號。信號處 理流程如下:傳感器輸出的信號經(jīng)過(guò)電壓放大或電流放大或電荷放大等(視傳感 器類(lèi)型定)變換為電壓信號,該電壓信號經(jīng)程控放大、程控低通濾波,最后再經(jīng) 過(guò)緩沖放大處理,輸出電壓信號送給信號采集、處理板。 信號調理通道板信號流 程如圖2.5所示。 圖2.5信號調理通道板信號流程 2信號采集、處理板 信號采集、處理板的輸入信號是信號調理通道板的輸出信號,該板的信號流 程如圖2.6所示。FPGA控制24路采樣通道的切換,并且將數據讀入片上RAM。 然后采集控制主處理器CPU將采樣信號從FPGA片上RAM中讀出,以TCP/IP協(xié) 基于Linux的嵌入式數據采集系統軟件設計與實(shí)現 議格式打包,并發(fā)送出去。 第1通道信號 FPGA 第2通道信號 24 分析結采輸超ARM ADC 信號數據一 方法第24通道信號 處理 圈2.6信號采集、處理板信號流程 2.2.2嵌入式數據采集系統的主要技術(shù)指標 本系統是一套基于Lin毽x的嵌入式操作系統數據采集和監控設備:采用32位 ATMEL離性能ARM9處理器作為采集前端的控制核心,該處理器適應環(huán)境熊力 強,可靠性高。
 ?。玻赐ǖ佬盘栞斎耄òM、計數器信號、開(kāi)關(guān)量等信號)的同 步、高速、高精度采集,TCp,IP通信方式。是基于“nuX的嵌入式系統軟件。 系統工作環(huán)境要求如下: (1)工作電源:AC220V(10%),50Hz(蟲(chóng)1Hz)。工作環(huán)境溫度:。5~+50 (2)相對濕度:5%~95%;(3)大氣壓力:86kPa~106kPa。 基于Linux的嵌入式操作系統數據采集和監控設備具有如下技術(shù)指標: (1)采樣頻率、采樣長(cháng)度和采樣信號的路數可以靈活設置。采樣頻率范圍: lOOHz~20l(Hz;采樣長(cháng)度為了分析方便一般?。病?,照前穩范豳:9~14;采樣信 號的路數:1~24路可以任意設置; (2)實(shí)現對各種類(lèi)型的傳感器輸出信號的調理。信號經(jīng)過(guò)調理后輸出為電壓 信號,輸瞧范圍:。5V~+5V; (3)可以設置連續采集和不連續采集兩種方式; (4)具有以太網(wǎng)接入功能,以太網(wǎng)通信帶寬可達10M/100M; (5)自檢功能:檢測信息通過(guò)RS232瑟輸密; (6)系統具備在線(xiàn)升級功能; (7)溫度范圍(一20一十70)、抗震、電磁兼容等指標符合工業(yè)環(huán)境下的 相關(guān)標準; (8)電源輸入:220V,有防電壓浪涌、電源反接、電源短路等保護措施; (9)系統軟件的可移植性強; (10)系統看門(mén)狗防死機。
   工程磺學(xué)位論文 2.3本章小結 本章從信號采樣的原理入手,弓|出了信號分輯系統的一般組成和流行的實(shí)現 方法。接著(zhù)詳細討論了嵌入式數據采集系統的設計方案。此系統是一套基于Linux 的嵌入式操作系統數據采集和監控設備,采用32位ATMEL離性能處理器作為采 集前端的控制核心。采樣系統具有穩定、高速、高精度等特點(diǎn)。 基予Linux酶嵌入式數據袋集系統軟{睪設計與實(shí)現 第3章構建嵌入式Linux軟件平臺 嵌入式操作系統作為整個(gè)嵌入式系統的核心,是實(shí)現系統功能的關(guān)鍵。嵌入 式乞i玨ux系統從軟件的角度看通??梢苑骤螅磦€(gè)層次‘29】:(1)弓|導加載程序;(2) 內核;(3)文件系統;(4)用戶(hù)應用程序。 3.1引導加載程序 3.1.1引導加載程序 嵌入式系統的引導代碼是嵌入式系統開(kāi)發(fā)的難點(diǎn)之一,同時(shí)是系統運行的一 個(gè)基本前提條件。嵌入式系統的啟動(dòng)代碼與處理器體系結構緊密相關(guān),通常C語(yǔ) 言和匯編語(yǔ)言聯(lián)合使用。 當一個(gè)微處理器第一次窟動(dòng)的時(shí)候,它開(kāi)始在預先設置的地址上執行指令。 通常在那里有一些只讀內存,包括初始化或引導代碼。在PC上,這就是BIOS。 B10S首先執行一些低水平的ePU初始化其他硬件的配置,接著(zhù)辨認哪個(gè)磁盤(pán)里 有操作系統,把操作系統復制到RAM并且轉向它。
  在PC上運行的Linux就是依 靠PC的籽IOS來(lái)提供相關(guān)配置和加載OS功能。 在一個(gè)嵌入式系統里通常沒(méi)有BIOS,這就需要開(kāi)發(fā)者提供同等的啟動(dòng)代碼。 而嵌入式系統并不需要PCBIOS引導程序那樣的靈活性,因為它通常只需處理一 個(gè)硬件的配置,因此,痘動(dòng)代碼只是一個(gè)指令清單,將固定的數字塞到硬件寄存 器中去。這個(gè)代碼更簡(jiǎn)單也更枯燥,然而卻非常關(guān)鍵,因為這些數值要與硬件相 符而且要按照特定的順序進(jìn)孳亍。所以在大多數情況下,一個(gè)最小的通電自檢模塊 可以檢查內存的正常運行、讓?zhuān)蹋牛拈W爍,并且驅動(dòng)其他的硬件以使主LinuxOS 啟動(dòng)和運行。 嵌入式系統中啟動(dòng)代碼通常放在Flash或EPROM芯片上。具體如何實(shí)現,要 根據目標硬件和工具來(lái)定。一種常用的方法是把F1ash或EPROM芯片插入EPROM 或Flas魏燒制器,把啟動(dòng)代碼燒入芯片,然后將芯片插入墨標板插座,這種方法要 求目標板上配有插座。另一種方法是通過(guò)~個(gè)JTAG界面,~些芯片有JTAG界面 可以用來(lái)對芯片進(jìn)行編程,這樣芯片就可以被焊在主板上。 目前可供選擇的引導程序有很多,韓國的VIVIf3稍、開(kāi)源項目U.Bootf31l是其 中的佼佼者。
   3.1.2U.Boot及其移植 3.1.2。1 U一800t 工程聯(lián)學(xué)醢論文 U—Boot,全稱(chēng)Umversal轉ootLo磚er,是遵循GPL條款的開(kāi)放源碼項目。它從 FADSROM、8xxROM、PPC800T逐步發(fā)展演化而來(lái),其源碼目錄、編譯形式與 Linux內核很相似。事實(shí)上,不少U.Boot源碼就是相應的Linux內核源程序的簡(jiǎn) 化,尤其是一些設備的驅動(dòng)程序,這從U.Bool源碼的注釋中能體現這一點(diǎn)。假是 U.Boot不僅僅支持嵌入式Linux系統的引導,當前,它還支持NetBSD、VxWbrks、 QNX、RTEMS、A肼OS、迎致xOS嵌入式操作系統。英西前要支持的黧標操作系 統是OpenBSD、NetBSD、FreeBSD、Linux、SVR4、Esix、Solaris、I“x、SC0、 NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS、ARTOS。這是U.Boot中Univefsal 的一層含義,另外一層含義則是U.Boot除了支持PowerPC系列的處理器外,還能 支持MIPS、x86、ARM、N10S、XScale等諸多常用系列的處理器。這兩個(gè)特點(diǎn)正 是U—Boo圭項隧的開(kāi)發(fā)匿標,馨支持盡可能多的嵌入式處理器和嵌入式操彳乍系統。
   U.Boot主要目錄結構boa斑目標扳相關(guān)文件,主要收錄
SD黜M、FLASH驅動(dòng) common獨立于處理器體系結構的通用代碼,如內存大小探測與故障檢測 cpu與處理器相關(guān)的文件。如mpc8)()(予目錄下含串口、網(wǎng)口、LCD驅動(dòng) 及中斷初始化等文件 examples可在U.Boot下運行的示例程序;如helloworld.c,timer.cincl硼e U.Bo桃頭文件;尤其con蠡gs子匿錄下與基標板相關(guān)的配置頭文件是 移植過(guò)程中經(jīng)常要修改的文件 lib-xXX處理器體系相關(guān)的文件,如lib_ppc,lib-燃目錄分別收錄
與 PowerPC、A戳涯體系結構相關(guān)的文件 net與網(wǎng)絡(luò )功能相關(guān)的文件目錄,如bootp,nfs,t邱 posl上電魯檢文件目錄。淹有待于進(jìn)一步完善 tools用于創(chuàng )建U.Boot、S—RECORD和8鏡像文件的工具2U.Boot支持的主要功能 (1)系統引導,支持NFS掛載、RAMDISK(壓縮或非壓縮)形式的根文件系 (2)支持NFS掛載、從FLASH中引導壓縮或非壓縮系統內核;(3)基本輔助功熊強大的操作系統接口功戇;可靈活設置、傳遞多個(gè)關(guān)鍵參數 給操作系統,適合系統在不同開(kāi)發(fā)階段的調試要求與產(chǎn)品發(fā)布,尤對Linux支持最為 強勁; (4)支持目標板環(huán)境參數多種存儲方式,如FLASH、NVRAM、?。校遥希停?(5)CRC32校驗,可校驗FLASH中內核、RAMDISK鏡像文件是否完好; (6)設備驅動(dòng)串髓、SD黜醚、F乳ASH、以太兩、己CD、NVRAM、EEPROM、 墓予Linux靜嵌入式數據采集系統軟釋設詩(shī)與實(shí)現 鍵盤(pán)、USl3I、PCMCIA、PCI、RTe等驅動(dòng)支持; (7)上電自檢功能SDRAM、FLASH大小自動(dòng)檢測;SDRAM故障檢測;CPU 型號; 3。
 ?。?。2。2U一800t移植方法及過(guò)程 u—B00t源碼相當復雜,覆蓋各種常用的目標板配置。U.Boot移植一般都是針對 嵌入式冒標板的硬件資源,主要是CpU、FLAS冀和SDRAM等情況,以盡可熊~致的 原則,在U.Boot源碼中找出一個(gè)與目標板為同一個(gè)或同一系列處理器的目標板模板, 即采用基本符合或者接近懿標板的配置目錄,移植相關(guān)的源程序。本文采用U.Bootl.1。 2版本,該版本支持基于AT9lRM9200的處理器配置,并提供一個(gè)目標板模板,即 U.Boot源碼的/board/at91蝴9200dk目錄。與目標板模板相比,本系統中有部分硬件 器件不同如表3。l新示,因此需要針對硬件傲相應的修改。 表3.1本系統與目標板模板用到的不同硬件資源 基于本系統的硬件,先在U.Boot源代碼的/bor彭at9l懿睨00霉錄中修改或添加如 下源碼文件: (1)重寫(xiě)FLAS囂的設備控制程序爨as魏.c。U國。跌讀、寫(xiě)和刪除Fl鑫建設備的源代 碼文件,由于在不同的目標板中FLASH存儲器種類(lèi)各不相同,參照Am29LV320D的 datasheet重寫(xiě)FLASH的設備控制程序jflash。c,該程序完成的功能包括FLASH初始化, 打?。蹋粒樱刃畔?、FLASH擦除和FLASH寫(xiě)入等操作。
   (2)重寫(xiě)DATAFLASH的設備控制程序at45。c。 (3)添加memsetllp。s該匯編源碼文件初始純時(shí)鐘、SMC控翎器和SDRAM控制器. (4)添加網(wǎng)卡芯片CS8900A的設備控制程序cs8900a.c和cs8900a。h,程序 es8900a.c完成的功能是配置聚9l蕊9200的MDl接口以實(shí)現對雅{Y進(jìn)行控制。 (5)修改Mal(efile文件,對上述修改或添加的源代碼文件編譯后,在MakefiIe里 面主要作如下修改: OBJS:=at9lm9200dk.oat45.ocs8900a.oflash.o SOBJS:=memset up.o (6)U.800{。Lds,設黌U.Boot中各個(gè)西標文件盼連接地址,其縫基本不終修改。 (7)config.Mk,根據目標板的~級boot來(lái)修改,修改后TEXTBASE=Ox2lfloooo。 其次,修改囂錄泌el砸ee越gs的頭文件a19l灘92dk.H,根據目標板的資源配置, 修改內容包括CPU、系統時(shí)鐘、RAM、Flash等配置信息以及內存映射相關(guān)參數。該頭 文件還定義了U.Boot的一些環(huán)境變量和內核啟動(dòng)參數??稍冢眨拢铮铮魡?dòng)后通過(guò)setenv 和s鰣eenv命令修改。
 ?。眨拢铮铮簦玻保保舶姹緦ε梗炫矗梗玻埃疤幚砥魈峁┝己玫闹С?,因此對于目錄/cp彬at9lm9200中的源碼基本不做修改。 最后,在U2Boot21.1.2的Makefile中加入如下代碼: 羽l式玨9200噬-co熊g:鼬n鑫g畫(huà)嫩eon堍¥(@jon蠡g=),黜at91蕊920Q /at91rm9200dk 其中, “a潮"是CPU的種類(lèi),拳9l強9200是A姒CPU對應的代碼量錄, at91蝴9200dk是目標板對應的目錄。 在主機上運行redhat9.OLinuX操作系統,編譯移植后的U.Boot源代碼,生成的 U—Boot島in是二進(jìn)制bin文件,純粹的U.Boot二進(jìn)制執行代碼,不保存ELF格式和調試 信息。主機通過(guò)JTAG口將U.Boot.bin下載到目標板的FLASH,目標板復位后運行 U.B墳。如果運行正常,就會(huì )從終端返回,如圖3。l所示。 豳3.1 u咱oot引導扁動(dòng)信息 此時(shí)在U.Boot命令模式下可做進(jìn)一步測試,設置系統啟動(dòng)的環(huán)境變量,并在主機 啟動(dòng)邗醒服務(wù)器,用交叉網(wǎng)線(xiàn)連接主機和目標板,將準備好的LinuX內核映像文件 kemel和文件系統映像文件r鋤disk2一mk7分別下載到SDRAM中正確的地址空間。
  如 果一切運行正常,就可以在冒標板上開(kāi)始刪毛i蘸玨x系統的調試。 3。2創(chuàng )建文件系統 3.2.1文件系統簡(jiǎn)介 許多嵌入式系統沒(méi)有磁盤(pán)或者文件系統,Linux不需要它們也能運行。在這種 情況下,應用程序任務(wù)可以和內核一起編寫(xiě),并且在引導時(shí)作為一個(gè)映像加載。 對于簡(jiǎn)單的系統來(lái)說(shuō),這足夠了,但是缺乏靈活性。實(shí)際上,許多商業(yè)性嵌入式 操作系統,提供文件系統作為選項。Linux提供MS.DOS.Compatible以及其他功 能更強大的文件系統。 文件系統可以被放在傳統的磁盤(pán)驅動(dòng)器、FlashMemory或其他這類(lèi)的介質(zhì)上, 如果用于暫時(shí)保存文件,一個(gè)?。遥粒捅P(pán)就足夠了。FlashMemog通常是這樣保 基予Linux的嵌入式數據袋集系統軟佟設詩(shī)與實(shí)琨 存文件系統的,FlashMemory被分割成塊,其中有~塊是當CPU盛動(dòng)運行時(shí)的引 導塊,里面存放Linux引導代碼,剩余的Flash可以用來(lái)存放文件系統。Linux內 核有兩種加載方式:一是把內核的可執行映像存儲到Flash的一個(gè)獨立部分,系統 扁動(dòng)時(shí),從Flash的某個(gè)地址開(kāi)始逐旬執行;另一種方式是把內核的壓縮文件敖在 F1ash上,系統啟動(dòng)時(shí)通過(guò)引導代碼把內核壓縮文件從Flash復制到RAM里,解 篷執行。
  因先RAM懿存取速度快予Flash,所以惹一種方式旋運行速度更快一些, 標準Linux就是采用這種方式【3孫。 創(chuàng )建文件系統主要是基于兩個(gè)方面的原因133】:首先,現有Linux文件系統全 集實(shí)在太大,不可能把上酉兆的文件系統下載到嵌入式系統上;其次,要改寫(xiě)現 有Linux文件系統中的配置文件以滿(mǎn)足應用程序的要求?!珎€(gè)根文件系統必須包 含對于支持一個(gè)完整的Li懿馘系統所必須的所有內容,如Li娃較x內核、驅動(dòng)程序、 相關(guān)的設備以及相關(guān)的配置文件等等。 最小嵌入式Li瓣濺根文件系統必須收錄
以下幾部分: (1)基本的文件系統結構: (2)最小的目錄集:/dev,/proc,/bin,/etc,/lib,/usr,觸np; (3)基本的命令集:sh,ls,cp,etc; (4)最小的配鼴文件集:i舭ab,fStab,etc; (6)相關(guān)的動(dòng)態(tài)鏈接庫。3.2.2在Flash上實(shí)現根文件系統 1建立相關(guān)的目錄 注意這些冒錄靜名字要與己i蘸馘文件系統原來(lái)的相同。因為Li致ux的鬣置文 件中涉及到的目錄,這些目錄名是固定的,如果更改了,系統可能找不到自己需 要的東西麗不能正確執行。這些目錄包括【34】/約ot, /bill,/sbin,愆ev,/或c,mb, /mnt,/proc,/mp,/usr。
   2將需要的文件拷貝到相關(guān)的目錄下 文件系統各兩錄的內容如下瑟碡l: (1)/root 系統窟動(dòng)文件,內核在其中。該謦錄需要雹含boo{。b,Syste撒.m神和bzl掰agea。 boot.b:合并System.map和bzImage的文件 System。map:與內核映象有關(guān)的函數定位信息 bzlmage:重要的內核映像 (2)/bin 曩錄下收錄
了常用的用戶(hù)命令,主要寄:ea專(zhuān),ehmod,b鑫sll,d臻e,盤(pán),lo西玨,

分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 241 次瀏覽 ? 2022-11-30 12:24 ? 來(lái)自相關(guān)話(huà)題

  分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!
  文章采集器請采用mac自帶的requests采集器。另外這里推薦一下這位大神@sherryli,她寫(xiě)了一系列采集網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏。1.爬取網(wǎng)易云音樂(lè )歌詞查詢(xún)頁(yè)代碼格式:/[歌詞]/g[參數]/content(無(wú)參數說(shuō)明:代表最新/已有/upgrade網(wǎng)易云用戶(hù)用戶(hù)名。有參數說(shuō)明:需要參數的歌詞。
 ?。┪业母柙~存儲路徑:/[歌詞]//[歌詞]/[ad'm歌詞]>{[你想要顯示的歌詞]}:path='/[歌詞]/ad'meta='hello'filename='m.py'url_count=''min_words=10headers={'user-agent':'mozilla/5.0(macintosh;intelmacosx10_10_。
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}最后一行是爬取url的個(gè)數,輸入url就能遍歷歌詞信息,并從中返回結果:歌詞信息主要由歌詞、評論、歌曲id構成。歌詞:link的文本,包含歌曲名、作者名、歌詞翻譯、歌詞所在音樂(lè )下載、歌詞內容等;評論:link的文本,包含歌曲名、作者名、評論內容、作者簡(jiǎn)介等;歌曲id:歌曲id,是評論正文第一個(gè)字母的后三位;歌曲詳情:link(歌曲id)+歌曲簡(jiǎn)介。字符串中的第一個(gè)字符一般是空格,也可以使用tab屬性指定單元格空格的寬度。
  所以,我們可以通過(guò)定義遍歷每個(gè)字符串,然后遍歷評論,
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}urls=[''.join(requests.get(url,headers=headers),
  1)forurlinurls]print(headers)res=requests。get(url,headers=headers)soup=beautifulsoup(res。text,'lxml')foriinsoup。find_all('a',class_='special'):item=item[0]embed_text=str(item[1])+'|'print(embed_text)print(''。
  join(embed_text))print('\n'。join(embed_text))mutate={'embed_text':embed_text,'person':''。join((embed_text,text))}forpersoninmutate:person_text=''。join((embed_text,text))print(person_text)formutationinmutate:person_name=mutate[0]person_choice=m。 查看全部

  分享:爬取網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏!
  文章采集請采用mac自帶的requests采集器。另外這里推薦一下這位大神@sherryli,她寫(xiě)了一系列采集網(wǎng)易云音樂(lè )歌詞的實(shí)用工具,值得收藏。1.爬取網(wǎng)易云音樂(lè )歌詞查詢(xún)頁(yè)代碼格式:/[歌詞]/g[參數]/content(無(wú)參數說(shuō)明:代表最新/已有/upgrade網(wǎng)易云用戶(hù)用戶(hù)名。有參數說(shuō)明:需要參數的歌詞。
 ?。┪业母柙~存儲路徑:/[歌詞]//[歌詞]/[ad'm歌詞]>{[你想要顯示的歌詞]}:path='/[歌詞]/ad'meta='hello'filename='m.py'url_count=''min_words=10headers={'user-agent':'mozilla/5.0(macintosh;intelmacosx10_10_。
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}最后一行是爬取url的個(gè)數,輸入url就能遍歷歌詞信息,并從中返回結果:歌詞信息主要由歌詞、評論、歌曲id構成。歌詞:link的文本,包含歌曲名、作者名、歌詞翻譯、歌詞所在音樂(lè )下載、歌詞內容等;評論:link的文本,包含歌曲名、作者名、評論內容、作者簡(jiǎn)介等;歌曲id:歌曲id,是評論正文第一個(gè)字母的后三位;歌曲詳情:link(歌曲id)+歌曲簡(jiǎn)介。字符串中的第一個(gè)字符一般是空格,也可以使用tab屬性指定單元格空格的寬度。
  所以,我們可以通過(guò)定義遍歷每個(gè)字符串,然后遍歷評論,
  
  6)applewebkit/537.36(khtml,likegecko)chrome/61.0.2739.153safari/537.36'}urls=[''.join(requests.get(url,headers=headers),
  1)forurlinurls]print(headers)res=requests。get(url,headers=headers)soup=beautifulsoup(res。text,'lxml')foriinsoup。find_all('a',class_='special'):item=item[0]embed_text=str(item[1])+'|'print(embed_text)print(''。
  join(embed_text))print('\n'。join(embed_text))mutate={'embed_text':embed_text,'person':''。join((embed_text,text))}forpersoninmutate:person_text=''。join((embed_text,text))print(person_text)formutationinmutate:person_name=mutate[0]person_choice=m。

詳細分析:監控Kubernetes APIServer,講解最透的文章

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 149 次瀏覽 ? 2022-11-30 10:40 ? 來(lái)自相關(guān)話(huà)題

  詳細分析:監控Kubernetes APIServer,講解最透的文章
  寫(xiě)在前面
  如果使用公有云托管的Kubernetes集群,控制面的組件全部由云廠(chǎng)商托管,那么作為客戶(hù)的我們就省事了,基本不用擔心APIServer的運維問(wèn)題。我個(gè)人也比較推薦使用云廠(chǎng)商的服務(wù)。畢竟 Kubernetes 還是有點(diǎn)復雜,升級也不是那么容易。我們自己維護整個(gè)集群,性?xún)r(jià)比有點(diǎn)低。當然,如果我們因為各種原因還是要維護控制面的組件,那我們還是好好看看這個(gè)系列接下來(lái)的幾篇博文吧。
  黑盒測試
  APIServer在Kubernetes架構中非常核心,是所有API的入口。APIServer 還公開(kāi)指標數據。讓我們試著(zhù)得到它:
  [root@tt-fc-dev01.nj etcd]# ss -tlpn|grep apiserver<br />LISTEN 0 128 *:6443 *:* users:(("kube-apiserver",pid=164445,fd=7))<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s http://localhost:6443/metrics<br />Client sent an HTTP request to an HTTPS server.<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s -k https://localhost:6443/metrics<br />{<br /> "kind": "Status",<br /> "apiVersion": "v1",<br /> "metadata": {},<br /> "status": "Failure",<br /> "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",<br /> "reason": "Forbidden",<br /> "details": {},<br /> "code": 403<br />}<br />
  解釋上面的命令和結果。首先我通過(guò)ss命令查看了apiserver模塊監聽(tīng)了哪些端口,發(fā)現進(jìn)程監聽(tīng)的是6443端口,然后用curl命令請求6443的metrics接口,結果發(fā)現這是一個(gè)HTTPS服務(wù)器,不能用HTTP協(xié)議請求。ok,那我用HTTPS協(xié)議請求,自簽名證書(shū),加上-k參數,返回Forbidden,說(shuō)我無(wú)權訪(fǎng)問(wèn)/metrics接口。OK,看來(lái)需要Token認證,我們創(chuàng )建一個(gè)相關(guān)的ServiceAccount吧。
  準備認證資料
  以下內容可以保存為auth-server.yaml。
  ---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRole<br />metadata:<br /> name: categraf<br />rules:<br /> - apiGroups: [""]<br /> resources:<br /> - nodes<br /> - nodes/metrics<br /> - nodes/stats<br /> - nodes/proxy<br /> - services<br /> - endpoints<br /> - pods<br /> verbs: ["get", "list", "watch"]<br /> - apiGroups:<br /> - extensions<br /> - networking.k8s.io<br /> resources:<br /> - ingresses<br /> verbs: ["get", "list", "watch"]<br /> - nonResourceURLs: ["/metrics", "/metrics/cadvisor"]<br /> verbs: ["get"]<br />---<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> name: categraf<br /> namespace: flashcat<br />---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRoleBinding<br />metadata:<br /> name: categraf<br />roleRef:<br /> apiGroup: rbac.authorization.k8s.io<br /> kind: ClusterRole<br /> name: categraf<br />subjects:<br />- kind: ServiceAccount<br /> name: categraf<br /> namespace: flashcat<br />
  在上一節《Kubernetes監控手冊05-監控Kubelet》中,我們?yōu)閐aemonset創(chuàng )建了鑒權信息,主要用于調用kubelet的接口。但是這次我們要調用apiserver接口,所以加了一些權限點(diǎn)。當然,上面例子yaml給的權限點(diǎn)有點(diǎn)多,沒(méi)關(guān)系,反正都是只讀的,以后需要其他權限的時(shí)候,保存新建ServiceAccount。與上一講相比,這次ServiceAccount的名稱(chēng)改為categraf,與上一講使用的ServiceAccount不同。
  通過(guò)以下命令創(chuàng )建相關(guān)內容,然后查看是否創(chuàng )建成功:
  [root@tt-fc-dev01.nj yamls]# kubectl apply -f auth-server.yaml -n flashcat<br />clusterrole.rbac.authorization.k8s.io/categraf unchanged<br />serviceaccount/categraf unchanged<br />clusterrolebinding.rbac.authorization.k8s.io/categraf unchanged<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat<br />NAME SECRETS AGE<br />categraf 1 7h13m<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat -o yaml<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> annotations:<br /> kubectl.kubernetes.io/last-applied-configuration: |<br /> {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"categraf","namespace":"flashcat"}}<br /> creationTimestamp: "2022-11-28T05:00:17Z"<br /> name: categraf<br /> namespace: flashcat<br /> resourceVersion: "127151612"<br /> uid: 8b473b31-ce09-4abe-ae55-ea799160a9d5<br />secrets:<br />- name: categraf-token-6whbs<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get secret categraf-token-6whbs -n flashcat<br />NAME TYPE DATA AGE<br />categraf-token-6whbs kubernetes.io/service-account-token 3 7h15m<br />
  
  在上面的例子中,因為我之前創(chuàng )建過(guò),所以顯示為未更改。獲取sa的時(shí)候可以看到AGE已經(jīng)超過(guò)七個(gè)小時(shí)了。通過(guò)-o yaml可以看到sa對應的secret的名稱(chēng)。在最后一行,您可以看到秘密名稱(chēng)是 categraf-token-6whbs。然后我們使用這個(gè)秘密中的令牌來(lái)調用 APIServer 并嘗試:
  [root@tt-fc-dev01.nj yamls]# token=`kubectl get secret categraf-token-6whbs -n flashcat -o jsonpath={.data.token} | base64 -d`<br />[root@tt-fc-dev01.nj yamls]# curl -s -k -H "Authorization: Bearer $token" https://localhost:6443/metrics > metrics<br />[root@tt-fc-dev01.nj yamls]# head -n 6 metrics<br /># HELP aggregator_openapi_v2_regeneration_count [ALPHA] Counter of OpenAPI v2 spec regeneration count broken down by causing APIService name and reason.<br /># TYPE aggregator_openapi_v2_regeneration_count counter<br />aggregator_openapi_v2_regeneration_count{apiservice="*",reason="startup"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="k8s_internal_local_delegation_chain_0000000002",reason="update"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="add"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="update"} 0<br />
  OK,這個(gè)新的Token可以拿到數據了,權限認證通過(guò)。
  采集原理
  既然Token已經(jīng)存在,那么采集器在抓取APIServer的數據時(shí),理論上只需要在Header中傳入Token就可以拿到數據了。如果APIServer是以二進(jìn)制方式部署的,我們可以直接通過(guò)Categraf的Prometheus插件來(lái)抓取。如果APIServer部署在Kubernetes容器中,我們最好使用服務(wù)發(fā)現機制來(lái)做。
  支持 Kubernetes 服務(wù)發(fā)現的代理有很多,但最正宗的還是 Prometheus 本身。Prometheus新版本(v2.32.0)支持代理模式模式,即使用Prometheus進(jìn)程作為采集
器代理。采集數據后,通過(guò)remote write的方式發(fā)送到中心(這里使用早就準備好的Nightingale作為數據接收服務(wù)器)。那么這里我使用Prometheus的代理模式來(lái)采集
APIServer。
  部署代理模式prometheus
  首先準備Prometheus agent需要的配置文件,我們做一個(gè)ConfigMap:
  apiVersion: v1<br />kind: ConfigMap<br />metadata:<br /> name: prometheus-agent-conf<br /> labels:<br /> name: prometheus-agent-conf<br /> namespace: flashcat<br />data:<br /> prometheus.yml: |-<br /> global:<br /> scrape_interval: 15s<br /> evaluation_interval: 15s<br /> scrape_configs:<br /> - job_name: 'apiserver'<br /> kubernetes_sd_configs:<br /> - role: endpoints<br /> scheme: https<br /> tls_config:<br /> ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt<br /> bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token<br /> relabel_configs:<br /> - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]<br /> action: keep<br /> regex: default;kubernetes;https<br /> remote_write:<br /> - url: 'http://10.206.0.16:19000/prometheus/v1/write' <br />
  可以將以上內容保存為prometheus-agent-configmap.yaml,然后使用kubectl -f prometheus-agent-configmap.yaml創(chuàng )建。
  配置完成后,我們就可以在下面部署Prometheus了。要使用 Prometheus 進(jìn)程作為代理,我們需要啟用此功能??梢酝ㄟ^(guò)命令行參數 --enable-feature=agent 輕松啟用。我們使用agent模式方式將Prometheus部署為一個(gè)單副本的Deployment。
  apiVersion: apps/v1<br />kind: Deployment<br />metadata:<br /> name: prometheus-agent<br /> namespace: flashcat<br /> labels:<br /> app: prometheus-agent<br />spec:<br /> replicas: 1<br /> selector:<br /> matchLabels:<br /> app: prometheus-agent<br /> template:<br /> metadata:<br /> labels:<br /> app: prometheus-agent<br /> spec:<br /> serviceAccountName: categraf<br /> containers:<br /> - name: prometheus<br /> image: prom/prometheus<br /> args:<br /> - "--config.file=/etc/prometheus/prometheus.yml"<br /> - "--web.enable-lifecycle"<br /> - "--enable-feature=agent"<br /> ports:<br /> - containerPort: 9090<br /> resources:<br /> requests:<br /> cpu: 500m<br /> memory: 500M<br /> limits:<br /> cpu: 1<br /> memory: 1Gi<br /> volumeMounts:<br /> - name: prometheus-config-volume<br /> mountPath: /etc/prometheus/<br /> - name: prometheus-storage-volume<br /> mountPath: /prometheus/<br /> volumes:<br /> - name: prometheus-config-volume<br /> configMap:<br /> defaultMode: 420<br /> name: prometheus-agent-conf<br /> - name: prometheus-storage-volume<br /> emptyDir: {}<br />
  
  請特別注意行 serviceAccountName: categraf。別忘了將上面的yaml內容保存為prometheus-agent-deployment.yaml,然后應用:
  [work@tt-fc-dev01.nj yamls]$ kubectl apply -f prometheus-agent-deployment.yaml<br />deployment.apps/prometheus-agent created<br />
  您可以通過(guò) kubectl 日志
  -n flashcat 查看剛剛創(chuàng )建的prometheus-agent-xx的Pod的log,如果沒(méi)有報錯,理論上沒(méi)有大問(wèn)題。
  查看監控數據
  查看實(shí)時(shí)查詢(xún)中的apiserver_request_total指標。如果能找到,說(shuō)明數據上報正常??罪w老師之前整理過(guò)Nightingale的Kubernetes/Apiserver監控dashboard,大家可以導入測試。地址在這里。效果如下:
  另外,孔飛老師還整理了Apiserver的關(guān)鍵指標含義,我也扒了扒:
  # HELP apiserver_request_duration_seconds [STABLE] Response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.<br /># TYPE apiserver_request_duration_seconds histogram<br />apiserver響應的時(shí)間分布,按照url 和 verb 分類(lèi)<br />一般按照instance和verb+時(shí)間 匯聚<br /><br /># HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.<br /># TYPE apiserver_request_total counter<br />apiserver的請求總數,按照verb、 version、 group、resource、scope、component、 http返回碼分類(lèi)統計<br /><br /># HELP apiserver_current_inflight_requests [STABLE] Maximal number of currently used inflight request limit of this apiserver per request kind in last second.<br /># TYPE apiserver_current_inflight_requests gauge<br />最大并發(fā)請求數, 按mutating(非get list watch的請求)和readOnly(get list watch)分別限制<br />超過(guò)max-requests-inflight(默認值400)和max-mutating-requests-inflight(默認200)的請求會(huì )被限流<br />apiserver變更時(shí)要注意觀(guān)察,也是反饋集群容量的一個(gè)重要指標<br /><br /># HELP apiserver_response_sizes [STABLE] Response size distribution in bytes for each group, version, verb, resource, subresource, scope and component.<br /># TYPE apiserver_response_sizes histogram<br />apiserver 響應大小,單位byte, 按照verb、 version、 group、resource、scope、component分類(lèi)統計<br /><br /># HELP watch_cache_capacity [ALPHA] Total capacity of watch cache broken by resource type.<br /># TYPE watch_cache_capacity gauge<br />按照資源類(lèi)型統計的watch緩存大小<br /><br /># HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.<br /># TYPE process_cpu_seconds_total counter<br />每秒鐘用戶(hù)態(tài)和系統態(tài)cpu消耗時(shí)間, 計算apiserver進(jìn)程的cpu的使用率<br /><br /># HELP process_resident_memory_bytes Resident memory size in bytes.<br /># TYPE process_resident_memory_bytes gauge<br />apiserver的內存使用量(單位:Byte)<br /><br /># HELP workqueue_adds_total [ALPHA] Total number of adds handled by workqueue<br /># TYPE workqueue_adds_total counter<br />apiserver中包含的controller的工作隊列,已處理的任務(wù)總數<br /><br /># HELP workqueue_depth [ALPHA] Current depth of workqueue<br /># TYPE workqueue_depth gauge<br />apiserver中包含的controller的工作隊列深度,表示當前隊列中要處理的任務(wù)的數量,數值越小越好 <br />例如APIServiceRegistrationController admission_quota_controller<br />
  關(guān)于作者的相關(guān)文章
  本文作者秦曉暉是Flashcat的合伙人。本文內容是Flashcat技術(shù)團隊共同沉淀的結晶。作者進(jìn)行了編輯整理。我們會(huì )持續輸出監控和維保相關(guān)的技術(shù)文章。技術(shù)人員的結果。
  如果你對Nightingale、Categraf、Prometheus等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)加入部落,與社區同仁共同探討監控技術(shù)。
  解讀:搜索引擎判斷文章是否為原創(chuàng )的方法是什么?
  簡(jiǎn)述:在這個(gè)內容為王的時(shí)代,最感人的莫過(guò)于原創(chuàng )文章對一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。雖然我們知道原創(chuàng )文章的重要性,但是大家也都知道一篇文章和兩篇原創(chuàng )文章
  在這個(gè)內容為王的時(shí)代,最讓人感動(dòng)的莫過(guò)于原創(chuàng )文章對于一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。
  雖然我們知道原創(chuàng )文章的重要性,但大家也都知道,一兩篇原創(chuàng )文章問(wèn)題不大。網(wǎng)站文章的原創(chuàng )性是很難長(cháng)期保持的,除非那些大站長(cháng)的下屬有一批專(zhuān)職的撰稿人或編輯。那么沒(méi)有這樣優(yōu)厚條件的站長(cháng)怎么辦呢?只能是偽原創(chuàng )和抄襲。
  但是偽原創(chuàng )和抄襲的方法真的有用嗎?今天濟南東商資訊就來(lái)和大家分享一下搜索引擎判斷重復內容的知識: 問(wèn)題一:搜索引擎是如何判斷重復內容的?1、一般的基本判斷原則是逐頁(yè)比對數字指紋。這種方法雖然可以找到一些重復的內容,但是缺點(diǎn)是需要消耗大量的資源,而且運行速度慢,效率低。
  
  2. 基于全局特征的I-Match 該算法的原理是對所有出現在文本中的詞進(jìn)行排序,然后再進(jìn)行評分。目的是刪除文中不相關(guān)的關(guān)鍵詞,保留重要的關(guān)鍵詞。該方法去重效果高,效果明顯。
  比如我們在偽原創(chuàng )的時(shí)候可能會(huì )交換文章的文字和段落。這種方法根本騙不了I-Match算法,依然會(huì )判斷重復。
  3.如果基于停用詞的Spotsig文檔中使用了大量的停用詞,如語(yǔ)氣詞、副詞、介詞、連詞等,這些都會(huì )干擾有效信息,搜索引擎在去重時(shí)會(huì )處理這些停用詞。先做刪除,再做文檔匹配。因此,我們在做優(yōu)化時(shí)不妨降低停用詞出現頻率,增加頁(yè)面關(guān)鍵詞密度,更有利于搜索引擎抓取。
  4、基于多重Hash的Simhash算法涉及到幾何原理,解釋起來(lái)比較困難。簡(jiǎn)單地說(shuō),相似的文本具有相似的哈希值。如果兩個(gè)文本的 simhash 越接近,即漢明距離越小,則文本越相似。因此,海量文本查重任務(wù)轉化為如何快速判斷海量simhash中是否存在海明距離小的指紋。
  我們只需要知道,通過(guò)這種算法,搜索引擎可以在極短的時(shí)間內對大型網(wǎng)頁(yè)進(jìn)行近似的重復檢查。目前,該算法在識別效果和查重效率上互為補充。
  問(wèn)題二、重復內容在搜索引擎眼中有哪些表現形式?1.形式和內容相似。這種情況在電子商務(wù)網(wǎng)站上比較常見(jiàn),盜圖現象比比皆是。
  
  2.只是格式相似。3.只是內容相似。
  4.格式和內容部分相似。這種情況通常比較常見(jiàn),尤其是企業(yè)類(lèi)網(wǎng)站。
  問(wèn)題 3. 為什么搜索引擎會(huì )積極處理重復內容?1. 節省抓取、索引和分析內容的空間和時(shí)間。一句話(huà),搜索引擎的資源是有限的,但用戶(hù)的需求是無(wú)限的。. 大量的重復內容消耗了搜索引擎的寶貴資源,所以從成本的角度來(lái)說(shuō),必須對重復內容進(jìn)行處理。
  2. 有助于避免重復采集
重復內容。從識別采集的內容中歸納出最符合用戶(hù)查詢(xún)意圖的信息,既可以提高效率,又可以避免重復采集重復的內容。3、重復的頻率可以作為判斷優(yōu)秀內容的標準。搜索引擎既然可以識別出重復的內容,當然可以更有效地識別出哪些內容是原創(chuàng )的、高質(zhì)量的。重復頻率越低,文章原創(chuàng )內容的質(zhì)量就越高。高的。
  4、提升用戶(hù)體驗 其實(shí)這也是搜索引擎最看重的一點(diǎn)。只有妥善處理重復內容,將更有用的信息呈現給用戶(hù),用戶(hù)才能購買(mǎi)。 查看全部

  詳細分析:監控Kubernetes APIServer,講解最透的文章
  寫(xiě)在前面
  如果使用公有云托管的Kubernetes集群,控制面的組件全部由云廠(chǎng)商托管,那么作為客戶(hù)的我們就省事了,基本不用擔心APIServer的運維問(wèn)題。我個(gè)人也比較推薦使用云廠(chǎng)商的服務(wù)。畢竟 Kubernetes 還是有點(diǎn)復雜,升級也不是那么容易。我們自己維護整個(gè)集群,性?xún)r(jià)比有點(diǎn)低。當然,如果我們因為各種原因還是要維護控制面的組件,那我們還是好好看看這個(gè)系列接下來(lái)的幾篇博文吧。
  黑盒測試
  APIServer在Kubernetes架構中非常核心,是所有API的入口。APIServer 還公開(kāi)指標數據。讓我們試著(zhù)得到它:
  [root@tt-fc-dev01.nj etcd]# ss -tlpn|grep apiserver<br />LISTEN 0 128 *:6443 *:* users:(("kube-apiserver",pid=164445,fd=7))<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s http://localhost:6443/metrics<br />Client sent an HTTP request to an HTTPS server.<br /><br />[root@tt-fc-dev01.nj etcd]# curl -s -k https://localhost:6443/metrics<br />{<br /> "kind": "Status",<br /> "apiVersion": "v1",<br /> "metadata": {},<br /> "status": "Failure",<br /> "message": "forbidden: User \"system:anonymous\" cannot get path \"/metrics\"",<br /> "reason": "Forbidden",<br /> "details": {},<br /> "code": 403<br />}<br />
  解釋上面的命令和結果。首先我通過(guò)ss命令查看了apiserver模塊監聽(tīng)了哪些端口,發(fā)現進(jìn)程監聽(tīng)的是6443端口,然后用curl命令請求6443的metrics接口,結果發(fā)現這是一個(gè)HTTPS服務(wù)器,不能用HTTP協(xié)議請求。ok,那我用HTTPS協(xié)議請求,自簽名證書(shū),加上-k參數,返回Forbidden,說(shuō)我無(wú)權訪(fǎng)問(wèn)/metrics接口。OK,看來(lái)需要Token認證,我們創(chuàng )建一個(gè)相關(guān)的ServiceAccount吧。
  準備認證資料
  以下內容可以保存為auth-server.yaml。
  ---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRole<br />metadata:<br /> name: categraf<br />rules:<br /> - apiGroups: [""]<br /> resources:<br /> - nodes<br /> - nodes/metrics<br /> - nodes/stats<br /> - nodes/proxy<br /> - services<br /> - endpoints<br /> - pods<br /> verbs: ["get", "list", "watch"]<br /> - apiGroups:<br /> - extensions<br /> - networking.k8s.io<br /> resources:<br /> - ingresses<br /> verbs: ["get", "list", "watch"]<br /> - nonResourceURLs: ["/metrics", "/metrics/cadvisor"]<br /> verbs: ["get"]<br />---<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> name: categraf<br /> namespace: flashcat<br />---<br />apiVersion: rbac.authorization.k8s.io/v1<br />kind: ClusterRoleBinding<br />metadata:<br /> name: categraf<br />roleRef:<br /> apiGroup: rbac.authorization.k8s.io<br /> kind: ClusterRole<br /> name: categraf<br />subjects:<br />- kind: ServiceAccount<br /> name: categraf<br /> namespace: flashcat<br />
  在上一節《Kubernetes監控手冊05-監控Kubelet》中,我們?yōu)閐aemonset創(chuàng )建了鑒權信息,主要用于調用kubelet的接口。但是這次我們要調用apiserver接口,所以加了一些權限點(diǎn)。當然,上面例子yaml給的權限點(diǎn)有點(diǎn)多,沒(méi)關(guān)系,反正都是只讀的,以后需要其他權限的時(shí)候,保存新建ServiceAccount。與上一講相比,這次ServiceAccount的名稱(chēng)改為categraf,與上一講使用的ServiceAccount不同。
  通過(guò)以下命令創(chuàng )建相關(guān)內容,然后查看是否創(chuàng )建成功:
  [root@tt-fc-dev01.nj yamls]# kubectl apply -f auth-server.yaml -n flashcat<br />clusterrole.rbac.authorization.k8s.io/categraf unchanged<br />serviceaccount/categraf unchanged<br />clusterrolebinding.rbac.authorization.k8s.io/categraf unchanged<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat<br />NAME SECRETS AGE<br />categraf 1 7h13m<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get sa categraf -n flashcat -o yaml<br />apiVersion: v1<br />kind: ServiceAccount<br />metadata:<br /> annotations:<br /> kubectl.kubernetes.io/last-applied-configuration: |<br /> {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"categraf","namespace":"flashcat"}}<br /> creationTimestamp: "2022-11-28T05:00:17Z"<br /> name: categraf<br /> namespace: flashcat<br /> resourceVersion: "127151612"<br /> uid: 8b473b31-ce09-4abe-ae55-ea799160a9d5<br />secrets:<br />- name: categraf-token-6whbs<br /><br />[root@tt-fc-dev01.nj yamls]# kubectl get secret categraf-token-6whbs -n flashcat<br />NAME TYPE DATA AGE<br />categraf-token-6whbs kubernetes.io/service-account-token 3 7h15m<br />
  
  在上面的例子中,因為我之前創(chuàng )建過(guò),所以顯示為未更改。獲取sa的時(shí)候可以看到AGE已經(jīng)超過(guò)七個(gè)小時(shí)了。通過(guò)-o yaml可以看到sa對應的secret的名稱(chēng)。在最后一行,您可以看到秘密名稱(chēng)是 categraf-token-6whbs。然后我們使用這個(gè)秘密中的令牌來(lái)調用 APIServer 并嘗試:
  [root@tt-fc-dev01.nj yamls]# token=`kubectl get secret categraf-token-6whbs -n flashcat -o jsonpath={.data.token} | base64 -d`<br />[root@tt-fc-dev01.nj yamls]# curl -s -k -H "Authorization: Bearer $token" https://localhost:6443/metrics > metrics<br />[root@tt-fc-dev01.nj yamls]# head -n 6 metrics<br /># HELP aggregator_openapi_v2_regeneration_count [ALPHA] Counter of OpenAPI v2 spec regeneration count broken down by causing APIService name and reason.<br /># TYPE aggregator_openapi_v2_regeneration_count counter<br />aggregator_openapi_v2_regeneration_count{apiservice="*",reason="startup"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="k8s_internal_local_delegation_chain_0000000002",reason="update"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="add"} 0<br />aggregator_openapi_v2_regeneration_count{apiservice="v1beta1.metrics.k8s.io",reason="update"} 0<br />
  OK,這個(gè)新的Token可以拿到數據了,權限認證通過(guò)。
  采集原理
  既然Token已經(jīng)存在,那么采集器在抓取APIServer的數據時(shí),理論上只需要在Header中傳入Token就可以拿到數據了。如果APIServer是以二進(jìn)制方式部署的,我們可以直接通過(guò)Categraf的Prometheus插件來(lái)抓取。如果APIServer部署在Kubernetes容器中,我們最好使用服務(wù)發(fā)現機制來(lái)做。
  支持 Kubernetes 服務(wù)發(fā)現的代理有很多,但最正宗的還是 Prometheus 本身。Prometheus新版本(v2.32.0)支持代理模式模式,即使用Prometheus進(jìn)程作為采集
器代理。采集數據后,通過(guò)remote write的方式發(fā)送到中心(這里使用早就準備好的Nightingale作為數據接收服務(wù)器)。那么這里我使用Prometheus的代理模式來(lái)采集
APIServer。
  部署代理模式prometheus
  首先準備Prometheus agent需要的配置文件,我們做一個(gè)ConfigMap:
  apiVersion: v1<br />kind: ConfigMap<br />metadata:<br /> name: prometheus-agent-conf<br /> labels:<br /> name: prometheus-agent-conf<br /> namespace: flashcat<br />data:<br /> prometheus.yml: |-<br /> global:<br /> scrape_interval: 15s<br /> evaluation_interval: 15s<br /> scrape_configs:<br /> - job_name: 'apiserver'<br /> kubernetes_sd_configs:<br /> - role: endpoints<br /> scheme: https<br /> tls_config:<br /> ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt<br /> bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token<br /> relabel_configs:<br /> - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]<br /> action: keep<br /> regex: default;kubernetes;https<br /> remote_write:<br /> - url: 'http://10.206.0.16:19000/prometheus/v1/write' <br />
  可以將以上內容保存為prometheus-agent-configmap.yaml,然后使用kubectl -f prometheus-agent-configmap.yaml創(chuàng )建。
  配置完成后,我們就可以在下面部署Prometheus了。要使用 Prometheus 進(jìn)程作為代理,我們需要啟用此功能??梢酝ㄟ^(guò)命令行參數 --enable-feature=agent 輕松啟用。我們使用agent模式方式將Prometheus部署為一個(gè)單副本的Deployment。
  apiVersion: apps/v1<br />kind: Deployment<br />metadata:<br /> name: prometheus-agent<br /> namespace: flashcat<br /> labels:<br /> app: prometheus-agent<br />spec:<br /> replicas: 1<br /> selector:<br /> matchLabels:<br /> app: prometheus-agent<br /> template:<br /> metadata:<br /> labels:<br /> app: prometheus-agent<br /> spec:<br /> serviceAccountName: categraf<br /> containers:<br /> - name: prometheus<br /> image: prom/prometheus<br /> args:<br /> - "--config.file=/etc/prometheus/prometheus.yml"<br /> - "--web.enable-lifecycle"<br /> - "--enable-feature=agent"<br /> ports:<br /> - containerPort: 9090<br /> resources:<br /> requests:<br /> cpu: 500m<br /> memory: 500M<br /> limits:<br /> cpu: 1<br /> memory: 1Gi<br /> volumeMounts:<br /> - name: prometheus-config-volume<br /> mountPath: /etc/prometheus/<br /> - name: prometheus-storage-volume<br /> mountPath: /prometheus/<br /> volumes:<br /> - name: prometheus-config-volume<br /> configMap:<br /> defaultMode: 420<br /> name: prometheus-agent-conf<br /> - name: prometheus-storage-volume<br /> emptyDir: {}<br />
  
  請特別注意行 serviceAccountName: categraf。別忘了將上面的yaml內容保存為prometheus-agent-deployment.yaml,然后應用:
  [work@tt-fc-dev01.nj yamls]$ kubectl apply -f prometheus-agent-deployment.yaml<br />deployment.apps/prometheus-agent created<br />
  您可以通過(guò) kubectl 日志
  -n flashcat 查看剛剛創(chuàng )建的prometheus-agent-xx的Pod的log,如果沒(méi)有報錯,理論上沒(méi)有大問(wèn)題。
  查看監控數據
  查看實(shí)時(shí)查詢(xún)中的apiserver_request_total指標。如果能找到,說(shuō)明數據上報正常??罪w老師之前整理過(guò)Nightingale的Kubernetes/Apiserver監控dashboard,大家可以導入測試。地址在這里。效果如下:
  另外,孔飛老師還整理了Apiserver的關(guān)鍵指標含義,我也扒了扒:
  # HELP apiserver_request_duration_seconds [STABLE] Response latency distribution in seconds for each verb, dry run value, group, version, resource, subresource, scope and component.<br /># TYPE apiserver_request_duration_seconds histogram<br />apiserver響應的時(shí)間分布,按照url 和 verb 分類(lèi)<br />一般按照instance和verb+時(shí)間 匯聚<br /><br /># HELP apiserver_request_total [STABLE] Counter of apiserver requests broken out for each verb, dry run value, group, version, resource, scope, component, and HTTP response code.<br /># TYPE apiserver_request_total counter<br />apiserver的請求總數,按照verb、 version、 group、resource、scope、component、 http返回碼分類(lèi)統計<br /><br /># HELP apiserver_current_inflight_requests [STABLE] Maximal number of currently used inflight request limit of this apiserver per request kind in last second.<br /># TYPE apiserver_current_inflight_requests gauge<br />最大并發(fā)請求數, 按mutating(非get list watch的請求)和readOnly(get list watch)分別限制<br />超過(guò)max-requests-inflight(默認值400)和max-mutating-requests-inflight(默認200)的請求會(huì )被限流<br />apiserver變更時(shí)要注意觀(guān)察,也是反饋集群容量的一個(gè)重要指標<br /><br /># HELP apiserver_response_sizes [STABLE] Response size distribution in bytes for each group, version, verb, resource, subresource, scope and component.<br /># TYPE apiserver_response_sizes histogram<br />apiserver 響應大小,單位byte, 按照verb、 version、 group、resource、scope、component分類(lèi)統計<br /><br /># HELP watch_cache_capacity [ALPHA] Total capacity of watch cache broken by resource type.<br /># TYPE watch_cache_capacity gauge<br />按照資源類(lèi)型統計的watch緩存大小<br /><br /># HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.<br /># TYPE process_cpu_seconds_total counter<br />每秒鐘用戶(hù)態(tài)和系統態(tài)cpu消耗時(shí)間, 計算apiserver進(jìn)程的cpu的使用率<br /><br /># HELP process_resident_memory_bytes Resident memory size in bytes.<br /># TYPE process_resident_memory_bytes gauge<br />apiserver的內存使用量(單位:Byte)<br /><br /># HELP workqueue_adds_total [ALPHA] Total number of adds handled by workqueue<br /># TYPE workqueue_adds_total counter<br />apiserver中包含的controller的工作隊列,已處理的任務(wù)總數<br /><br /># HELP workqueue_depth [ALPHA] Current depth of workqueue<br /># TYPE workqueue_depth gauge<br />apiserver中包含的controller的工作隊列深度,表示當前隊列中要處理的任務(wù)的數量,數值越小越好 <br />例如APIServiceRegistrationController admission_quota_controller<br />
  關(guān)于作者的相關(guān)文章
  本文作者秦曉暉是Flashcat的合伙人。本文內容是Flashcat技術(shù)團隊共同沉淀的結晶。作者進(jìn)行了編輯整理。我們會(huì )持續輸出監控和維保相關(guān)的技術(shù)文章。技術(shù)人員的結果。
  如果你對Nightingale、Categraf、Prometheus等技術(shù)感興趣,歡迎加入我們的微信群,聯(lián)系我(皮字節)加入部落,與社區同仁共同探討監控技術(shù)。
  解讀:搜索引擎判斷文章是否為原創(chuàng )的方法是什么?
  簡(jiǎn)述:在這個(gè)內容為王的時(shí)代,最感人的莫過(guò)于原創(chuàng )文章對一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。雖然我們知道原創(chuàng )文章的重要性,但是大家也都知道一篇文章和兩篇原創(chuàng )文章
  在這個(gè)內容為王的時(shí)代,最讓人感動(dòng)的莫過(guò)于原創(chuàng )文章對于一個(gè)網(wǎng)站的重要性。如果一個(gè)網(wǎng)站在某個(gè)時(shí)間段,如果網(wǎng)頁(yè)內容質(zhì)量不夠好,那么直接的結果就是網(wǎng)站降級,網(wǎng)站流量下降。
  雖然我們知道原創(chuàng )文章的重要性,但大家也都知道,一兩篇原創(chuàng )文章問(wèn)題不大。網(wǎng)站文章的原創(chuàng )性是很難長(cháng)期保持的,除非那些大站長(cháng)的下屬有一批專(zhuān)職的撰稿人或編輯。那么沒(méi)有這樣優(yōu)厚條件的站長(cháng)怎么辦呢?只能是偽原創(chuàng )和抄襲。
  但是偽原創(chuàng )和抄襲的方法真的有用嗎?今天濟南東商資訊就來(lái)和大家分享一下搜索引擎判斷重復內容的知識: 問(wèn)題一:搜索引擎是如何判斷重復內容的?1、一般的基本判斷原則是逐頁(yè)比對數字指紋。這種方法雖然可以找到一些重復的內容,但是缺點(diǎn)是需要消耗大量的資源,而且運行速度慢,效率低。
  
  2. 基于全局特征的I-Match 該算法的原理是對所有出現在文本中的詞進(jìn)行排序,然后再進(jìn)行評分。目的是刪除文中不相關(guān)的關(guān)鍵詞,保留重要的關(guān)鍵詞。該方法去重效果高,效果明顯。
  比如我們在偽原創(chuàng )的時(shí)候可能會(huì )交換文章的文字和段落。這種方法根本騙不了I-Match算法,依然會(huì )判斷重復。
  3.如果基于停用詞的Spotsig文檔中使用了大量的停用詞,如語(yǔ)氣詞、副詞、介詞、連詞等,這些都會(huì )干擾有效信息,搜索引擎在去重時(shí)會(huì )處理這些停用詞。先做刪除,再做文檔匹配。因此,我們在做優(yōu)化時(shí)不妨降低停用詞出現頻率,增加頁(yè)面關(guān)鍵詞密度,更有利于搜索引擎抓取。
  4、基于多重Hash的Simhash算法涉及到幾何原理,解釋起來(lái)比較困難。簡(jiǎn)單地說(shuō),相似的文本具有相似的哈希值。如果兩個(gè)文本的 simhash 越接近,即漢明距離越小,則文本越相似。因此,海量文本查重任務(wù)轉化為如何快速判斷海量simhash中是否存在海明距離小的指紋。
  我們只需要知道,通過(guò)這種算法,搜索引擎可以在極短的時(shí)間內對大型網(wǎng)頁(yè)進(jìn)行近似的重復檢查。目前,該算法在識別效果和查重效率上互為補充。
  問(wèn)題二、重復內容在搜索引擎眼中有哪些表現形式?1.形式和內容相似。這種情況在電子商務(wù)網(wǎng)站上比較常見(jiàn),盜圖現象比比皆是。
  
  2.只是格式相似。3.只是內容相似。
  4.格式和內容部分相似。這種情況通常比較常見(jiàn),尤其是企業(yè)類(lèi)網(wǎng)站。
  問(wèn)題 3. 為什么搜索引擎會(huì )積極處理重復內容?1. 節省抓取、索引和分析內容的空間和時(shí)間。一句話(huà),搜索引擎的資源是有限的,但用戶(hù)的需求是無(wú)限的。. 大量的重復內容消耗了搜索引擎的寶貴資源,所以從成本的角度來(lái)說(shuō),必須對重復內容進(jìn)行處理。
  2. 有助于避免重復采集
重復內容。從識別采集的內容中歸納出最符合用戶(hù)查詢(xún)意圖的信息,既可以提高效率,又可以避免重復采集重復的內容。3、重復的頻率可以作為判斷優(yōu)秀內容的標準。搜索引擎既然可以識別出重復的內容,當然可以更有效地識別出哪些內容是原創(chuàng )的、高質(zhì)量的。重復頻率越低,文章原創(chuàng )內容的質(zhì)量就越高。高的。
  4、提升用戶(hù)體驗 其實(shí)這也是搜索引擎最看重的一點(diǎn)。只有妥善處理重復內容,將更有用的信息呈現給用戶(hù),用戶(hù)才能購買(mǎi)。

解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 131 次瀏覽 ? 2022-11-30 07:09 ? 來(lái)自相關(guān)話(huà)題

  解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!
  文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能:原來(lái)的機構賬號并不是每個(gè)都可以直接采集,而是有特定的和服務(wù)器賬號關(guān)聯(lián),如果你的賬號無(wú)法直接提供api服務(wù),那就無(wú)法采集,需要解決的問(wèn)題是:賬號實(shí)名,并且可以綁定多個(gè)api服務(wù);對于文章采集器,還需要支持熱文和長(cháng)期文章采集;文章采集器支持檢測文章下載地址,只有綁定了真實(shí)地址才可以直接下載,是否支持enhanced地址是與手動(dòng)模擬目標網(wǎng)址采集的方法不同的;文章采集器可以下載微信、微博、頭條等不同平臺的文章,除了采集單篇外,也支持批量整站下載;文章采集器支持多個(gè)采集器同時(shí)同步,一個(gè)采集器未完成的功能不會(huì )延遲;機構賬號將來(lái)還可以整合在一起,機構賬號未來(lái)可能都會(huì )是免費的(機構賬號的服務(wù)并不是一個(gè)完整的采集系統,僅僅是提供接口,如果需要模擬不同的平臺,就需要購買(mǎi)不同的采集器或服務(wù));以上所有功能,都不開(kāi)放給個(gè)人使用,對于對于精準采集有極大需求的個(gè)人或團隊,infoq已經(jīng)提供高度靈活的方案,可以購買(mǎi)可以部署個(gè)人獨立的采集系統,其中主要的就是使用微信公眾號采集機器人采集文章,或者在公眾號中提供文章采集功能,對于對精準采集有極大需求的用戶(hù)來(lái)說(shuō),可以完全免費提供整套采集系統。
  
  為什么需要這些功能?在機器人這里的采集功能(采集頭條、長(cháng)期文章等)不僅僅是文章采集器需要采集,同時(shí)用戶(hù)需要提供熱文采集,即熱文采集是相對無(wú)限圖文,只要有一篇不符合要求就不能采集(采集不了發(fā)布平臺,發(fā)布平臺的圖文就不能采集),這讓很多需要采集的機構和用戶(hù)都十分頭疼,因為很多機構和用戶(hù)的要求無(wú)法滿(mǎn)足,都需要采集無(wú)限篇文章的情況(前提是熱文文章還得是正常發(fā)布的文章)。
  
  而且發(fā)布平臺還是文章發(fā)布平臺;發(fā)布平臺可以采集文章,那么把發(fā)布平臺上的熱文所有文章采集下來(lái),所有文章都能采集(而且把熱文全部采集,這樣就能滿(mǎn)足熱文采集需求),但是發(fā)布平臺就有限,機構和用戶(hù)如果無(wú)法在發(fā)布平臺上采集所有文章,這就會(huì )十分不利于采集需求;那么如何滿(mǎn)足機構和用戶(hù)更多的采集需求呢?發(fā)布平臺太有限,那么就有解決方案了,infoq的全網(wǎng)熱文采集有兩種采集方案(infoq機構賬號的熱文采集方案和個(gè)人獨立的文章采集方案)。
  1、使用機構賬號直接采集在infoq的全網(wǎng)熱文采集方案中,可以采集機構賬號自動(dòng)發(fā)布的所有熱文,即可滿(mǎn)足機構采集無(wú)限篇文章的需求,同時(shí)infoq服務(wù)器端采集熱文服務(wù)器非常難滿(mǎn)足需求(infoq服務(wù)器占用相對機構賬號高,服務(wù)器太慢或者根本沒(méi)有,采集速度還比不上機構賬號本地e。 查看全部

  解決方案:文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能!
  文章采集器infoq機構賬號開(kāi)放了四個(gè)新功能:原來(lái)的機構賬號并不是每個(gè)都可以直接采集,而是有特定的和服務(wù)器賬號關(guān)聯(lián),如果你的賬號無(wú)法直接提供api服務(wù),那就無(wú)法采集,需要解決的問(wèn)題是:賬號實(shí)名,并且可以綁定多個(gè)api服務(wù);對于文章采集,還需要支持熱文和長(cháng)期文章采集;文章采集器支持檢測文章下載地址,只有綁定了真實(shí)地址才可以直接下載,是否支持enhanced地址是與手動(dòng)模擬目標網(wǎng)址采集的方法不同的;文章采集器可以下載微信、微博、頭條等不同平臺的文章,除了采集單篇外,也支持批量整站下載;文章采集器支持多個(gè)采集器同時(shí)同步,一個(gè)采集器未完成的功能不會(huì )延遲;機構賬號將來(lái)還可以整合在一起,機構賬號未來(lái)可能都會(huì )是免費的(機構賬號的服務(wù)并不是一個(gè)完整的采集系統,僅僅是提供接口,如果需要模擬不同的平臺,就需要購買(mǎi)不同的采集器或服務(wù));以上所有功能,都不開(kāi)放給個(gè)人使用,對于對于精準采集有極大需求的個(gè)人或團隊,infoq已經(jīng)提供高度靈活的方案,可以購買(mǎi)可以部署個(gè)人獨立的采集系統,其中主要的就是使用微信公眾號采集機器人采集文章,或者在公眾號中提供文章采集功能,對于對精準采集有極大需求的用戶(hù)來(lái)說(shuō),可以完全免費提供整套采集系統。
  
  為什么需要這些功能?在機器人這里的采集功能(采集頭條、長(cháng)期文章等)不僅僅是文章采集器需要采集,同時(shí)用戶(hù)需要提供熱文采集,即熱文采集是相對無(wú)限圖文,只要有一篇不符合要求就不能采集(采集不了發(fā)布平臺,發(fā)布平臺的圖文就不能采集),這讓很多需要采集的機構和用戶(hù)都十分頭疼,因為很多機構和用戶(hù)的要求無(wú)法滿(mǎn)足,都需要采集無(wú)限篇文章的情況(前提是熱文文章還得是正常發(fā)布的文章)。
  
  而且發(fā)布平臺還是文章發(fā)布平臺;發(fā)布平臺可以采集文章,那么把發(fā)布平臺上的熱文所有文章采集下來(lái),所有文章都能采集(而且把熱文全部采集,這樣就能滿(mǎn)足熱文采集需求),但是發(fā)布平臺就有限,機構和用戶(hù)如果無(wú)法在發(fā)布平臺上采集所有文章,這就會(huì )十分不利于采集需求;那么如何滿(mǎn)足機構和用戶(hù)更多的采集需求呢?發(fā)布平臺太有限,那么就有解決方案了,infoq的全網(wǎng)熱文采集有兩種采集方案(infoq機構賬號的熱文采集方案和個(gè)人獨立的文章采集方案)。
  1、使用機構賬號直接采集在infoq的全網(wǎng)熱文采集方案中,可以采集機構賬號自動(dòng)發(fā)布的所有熱文,即可滿(mǎn)足機構采集無(wú)限篇文章的需求,同時(shí)infoq服務(wù)器端采集熱文服務(wù)器非常難滿(mǎn)足需求(infoq服務(wù)器占用相對機構賬號高,服務(wù)器太慢或者根本沒(méi)有,采集速度還比不上機構賬號本地e。

分享文章:文章采集器-快用全文檢索引擎,采集你感興趣

采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 122 次瀏覽 ? 2022-11-28 11:31 ? 來(lái)自相關(guān)話(huà)題

  分享文章:文章采集器-快用全文檢索引擎,采集你感興趣
  文章采集器-快用全文檢索引擎,采集你感興趣的文章(從微信公眾號、知乎、朋友圈、長(cháng)圖文等角度查找文章,自己試下吧,我收到過(guò)十幾份問(wèn)卷調查,各有偏向,看自己需求選擇了,
  
  我們公司有做企業(yè)級的文章采集,
  企業(yè)定制采集平臺是個(gè)不錯的選擇,技術(shù)團隊很強大,針對自媒體、網(wǎng)站、app、微信等,
  
  用了采真的sdk可以手機直接爬的,
  就說(shuō)我服務(wù)商家的情況。采真采集器,品牌是美國appamazar,算是國內比較早開(kāi)始針對移動(dòng)端渠道的采集器。工作內容涉及到和移動(dòng)app開(kāi)發(fā)商的合作,目前appamazar的應用也比較廣泛,用戶(hù)也很多。至于會(huì )不會(huì )覺(jué)得普遍高估了?我覺(jué)得價(jià)格比較高、性能上沒(méi)有吹牛的那么牛,也沒(méi)有特別的差,且對合作的移動(dòng)商家也一般般。大規模短時(shí)間的批量合作,也不太適合。
  你可以看看采真sdk和采真saas的:采真定制采集器,只要你想采,提供一站式服務(wù),不怕比較麻煩(這點(diǎn)上,采真是國內“絕對”第一),也不怕比較太貴。全國百萬(wàn)移動(dòng)運營(yíng)商和手機行業(yè)深耕者。成就百萬(wàn)運營(yíng)商渠道采集真實(shí)高效運營(yíng)。全國多地運營(yíng)商大規模采集,一鍵全網(wǎng)抓?。〝祿@取量10億級),多語(yǔ)言抓取,一站式生成批量發(fā)布出口app。 查看全部

  分享文章:文章采集器-快用全文檢索引擎,采集你感興趣
  文章采集器-快用全文檢索引擎,采集你感興趣的文章(從微信公眾號、知乎、朋友圈、長(cháng)圖文等角度查找文章,自己試下吧,我收到過(guò)十幾份問(wèn)卷調查,各有偏向,看自己需求選擇了,
  
  我們公司有做企業(yè)級的文章采集,
  企業(yè)定制采集平臺是個(gè)不錯的選擇,技術(shù)團隊很強大,針對自媒體、網(wǎng)站、app、微信等,
  
  用了采真的sdk可以手機直接爬的,
  就說(shuō)我服務(wù)商家的情況。采真采集器,品牌是美國appamazar,算是國內比較早開(kāi)始針對移動(dòng)端渠道的采集器。工作內容涉及到和移動(dòng)app開(kāi)發(fā)商的合作,目前appamazar的應用也比較廣泛,用戶(hù)也很多。至于會(huì )不會(huì )覺(jué)得普遍高估了?我覺(jué)得價(jià)格比較高、性能上沒(méi)有吹牛的那么牛,也沒(méi)有特別的差,且對合作的移動(dòng)商家也一般般。大規模短時(shí)間的批量合作,也不太適合。
  你可以看看采真sdk和采真saas的:采真定制采集器,只要你想采,提供一站式服務(wù),不怕比較麻煩(這點(diǎn)上,采真是國內“絕對”第一),也不怕比較太貴。全國百萬(wàn)移動(dòng)運營(yíng)商和手機行業(yè)深耕者。成就百萬(wàn)運營(yíng)商渠道采集真實(shí)高效運營(yíng)。全國多地運營(yíng)商大規模采集,一鍵全網(wǎng)抓?。〝祿@取量10億級),多語(yǔ)言抓取,一站式生成批量發(fā)布出口app。

官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久