A. QQ在線時間怎麼劃分等級
計算
新版計算方法
一、基礎加速
QQ等級由用戶積累的QQ活躍天數決定,每天只需登錄QQ, 即可按在線時長累積對應的活躍天數以獲取QQ等級。還可通過活躍行為獲得追加的基礎活躍天。
B. super junior marry u歌詞是什麼意思
大概是講述sj 要對elf 們求婚並承諾歌詞所提及的承諾
歌詞如下
【銀赫】Love~ oh baby my girl~
그댄 나의 전부
geu daen na e jeon bbu
你是我的全部
눈부시게 아름다운 나의 신부 신이 주신 선물
nun bu si ge a reum dda woon na e sin bu si ni ju sin seon mul
光芒四射的新娘是上天賜予我的禮物
행복한가요 그대의 까만 눈에서 눈물이 흐르죠
haeng bo kan gga yo geu dae e gga man nu ne seo nun mu ri heu reu jyo
幸福嗎你水汪汪的眼睛裡流下淚來
까만 머리 파뿌리 될 때까지도
gga man meo ri pa bbu ri doel ddae gga ji do
就算白發蒼蒼我只愛你
나의 사랑 나의 그대
na e sa rang na e geu dae
全世界獨一無二的你
사랑할 것을 나 맹세할게요
sa rang hal geo seul na maeng se hal ge yo
我對天發誓
【晟敏】그대를 사랑한다는 말 평생 매일 해주고 싶어
geu dae reul sa rang han dda neun mal pyeong saeng mae i rae ju go si peo
「我愛你」這句話我要天天對你說
【厲旭】Would you marry me?
널 사랑하고 아끼며 살아가고 싶어
neol sa rang ha go a ggi myeo sa ra ga go si peo
我的願望就是愛你一輩子愛護你
【強仁】그대가 잠이 들 때마다 내 팔에 재워주고 싶어
geu dae ga ja mi deul ddae ma da nae pa re jae wo ju go si peo
你要進入夢鄉時我的手臂就是你的枕頭
【希澈】 Would you marry me?
이런 나의 마음 허락해줄래?
i reon na e ma eum heo ra kae jul rae?
我這顆真誠的心可被你認定嗎
【奎賢】평생 곁에 있을게 I do 널 사랑하는 걸 I do
pyeong saeng gyeo te it seul ge I do neol sa rang ha neun geol I do
這一生我要守在你身邊I DO我真的好愛你I DO
【藝聲】눈과 비가 와도 아껴주면서 I do 너를 지켜줄게 My love
nun ggwa bi ga wa do a ggyeo ju myeon seo I do neo reul ji kyeo jul ge My love
飄大雪下大雨我永遠守護你I DO永遠保護著你My love
【東海】RAP
하얀 드레스를 입은 그대
ha yang deu re seu reu ri beun geu dae
身穿白色婚紗的你
턱시도를 입은 나의 모습
tok ssi do reu ri beun na e mo seub
還有穿著禮服的我
발걸음을 맞추며 걷는 우리 저 달님과 별에 I swear
bal geo reu meul mat chu myeo geot neun woo ri jeo dal rim ggwa byeo re I swear
我們跟著彼此的步伐向那月亮和星星I swear
거짓말 싫어 의심싫어
geo jit mal si reo ui sim si reo
不喜歡謊言不要去猜忌
사랑하는 나의 공주 Stay with me
sa rang ha neun na e gong ju Stay with me
我的小公主Stay with me
C. 誰知道微信群自動喊話機器人是什麼軟體有統計邀請人人數和歡迎語的,知道的可以告訴一下嗎
可以統計邀請人數和入群歡迎語的機器人就是一種微信群管理工具,比如聊天狗頭可以在新人入群時發送歡迎語,也能幫助群主進行群動態監控,在有人發廣告可以實現自動踢人,也能對群數據進行統計,包括新入群數量,消息活躍數量等等。
D. 滔滔怎麼開通~!
現在點亮滔滔方法變了只要 滿足3個條件即可點亮QQ滔滔圖標了: A .成功上傳頭像獲得叨客身份證 B. 成功邀請5名QQ好友加入滔滔且成為自己的叨友 C、在滔滔的活躍天數達到15天以上 還要每周發表一次..
滿意請採納
E. 如何處理大量數據並發操作
處理大量數據並發操作可以採用如下幾種方法:
1.使用緩存:使用程序直接保存到內存中。或者使用緩存框架: 用一個特定的類型值來保存,以區別空數據和未緩存的兩種狀態。
2.資料庫優化:表結構優化;SQL語句優化,語法優化和處理邏輯優化;分區;分表;索引優化;使用存儲過程代替直接操作。
3.分離活躍數據:可以分為活躍用戶和不活躍用戶。
4.批量讀取和延遲修改: 高並發情況可以將多個查詢請求合並到一個。高並發且頻繁修改的可以暫存緩存中。
5.讀寫分離: 資料庫伺服器配置多個,配置主從資料庫。寫用主資料庫,讀用從資料庫。
6.分布式資料庫: 將不同的表存放到不同的資料庫中,然後再放到不同的伺服器中。
7.NoSql和Hadoop: NoSql,not only SQL。沒有關系型資料庫那麼多限制,比較靈活高效。Hadoop,將一個表中的數據分層多塊,保存到多個節點(分布式)。每一塊數據都有多個節點保存(集群)。集群可以並行處理相同的數據,還可以保證數據的完整性。
拓展資料:
大數據(big data),指無法在一定時間范圍內用常規軟體工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。
在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數據時代》中大數據指不用隨機分析法(抽樣調查)這樣捷徑,而採用所有數據進行分析處理。大數據的5V特點(IBM提出):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。
F. 何為克蘇魯神話
注: 本文資料均來自網路,若有建議還請在評論區里留言,要了解更多還請上網路。
克蘇魯神話(Cthulhu Mythos)是以美國作家霍華德·菲利普·洛夫克拉夫特的小說世界為基礎,由奧古斯特·威廉·德雷斯整理完善,並由諸多作者所共同創造的架空神話體系。
克蘇魯神話
Cthulhu Mythos
死靈之書、伊波恩之書、納克特抄本等
外神、舊日支配者、舊神(地球諸神)
阿撒托斯、克蘇魯
「我所有的故事,都建立在這樣一個基本前提之上,那就是人類共同的法則、興趣和情感在廣闊的宇宙中毫無意義……要想了解那世界以外的真相,無論是時間、空間還是維度,人們必須忘記諸如有機生命、善與惡、愛與恨,以及人類這個種族所有的微不足道的臨時特性。這些東西是存在的,只有人類的場景和人物才會具備人類的特性,我們必須用無情的現實主義來處理這些問題。但當我們越過界限,進入到無邊無際、陰影籠罩的可怕未知世界時,我們必須記住,把我們的人性和地球主義拋在腦後。」
——H.P.洛夫克拉夫特
克蘇魯神話(Cthulhu Mythos)是以美國作家霍華德·菲利普·洛夫克拉夫特的小說世界為基礎,由奧古斯特·威廉·德雷斯整理完善,並由諸多作者所共同創造的架空神話體系。洛夫克拉夫特作品的共同主題是:在宇宙中人類的價值毫無意義,並且所有對神秘未知的探求都會招致災難的結局。宇宙中隱藏著許多超乎想像、不可名狀的強大存在,然而這些存在對人類卻毫無興趣——除非是懷有某種目的進行利用。它詮釋了人類在宇宙中的微不足道和對恐懼的探討,正如作者本人所述:「人類最古老、最強烈的情感是恐懼;而最古老、最強烈的恐懼,是對未知的恐懼」。
和現實宗教、神話或其他文學作品中的神不同,克蘇魯神話中的神祇不僅不存在通常意義上的善惡,甚至能否為人類所理解都是個問題。它們給人類帶來的陌生、怪誕、恐怖以及瘋狂的感覺,正代表著人類對於這個陌生宇宙的感覺。當洛夫克拉夫特在小說創作中試著將這些感覺加諸在某一個特定存在的身上時,它也就等於獲得了這個陌生宇宙某些方面的特徵。因此,與基督教與伊斯蘭教創造和支配世間萬物的上帝與真主,或是希臘神話和中國神話那些擁有各自職務的主要神明不同,克蘇魯神話中的神並沒有明確的司職,也不需要為任何事物負責。它們並不是宇宙萬物的創造者和支配者,而是整個宇宙的代言人。
發展
羅伯特·M·普萊斯(Robert M. Price)在他的作品《洛夫克拉夫特與克蘇魯神話》中提到了克蘇魯神話發展的兩個階段。第一階段,也就是普萊斯所說的「真正的克蘇魯神話」,在洛夫克拉夫特的有生之年就已經成形,並受到他的指導。洛夫克拉夫特去世後,作家理查德·L·蒂爾尼(Richard L. Tierney)試圖對神話進行分類和擴展,並用「德雷斯神話」一詞來區分洛夫克拉夫特的作品和德雷斯的故事。
在洛夫克拉夫特後半生的作品中,有許多借鑒「洛夫克拉夫特圈子」的作者們的故事元素,那是一個與洛夫克拉夫特通信的作家集團。這個小團體包括克拉克·阿什頓·史密斯,羅伯特·E·霍華德,羅伯特·布洛克,弗蘭克·貝克納普·朗,亨利·庫特納等人。此時的神話作品以洛夫克拉夫特的「宇宙主義」為理念,即「人類的存在對於這個冷漠的宇宙來說毫無意義」。這也是克蘇魯神話的精髓所在。
洛夫克拉夫特意識到,每個作家都有自己的故事系列,一個故事系列中的元素並不一定會因為作者在他的故事中使用了它而成為另一個故事的一部分。例如,盡管史密斯在他的「終北大陸(Hyperborean)」系列作品中提到「克圖爾特(Kthulhut)」(克蘇魯)和「尤格·索托特(Iog-Sotot)」 (猶格·索托斯),但這並不意味著克蘇魯是終北大陸系列的一部分。然而,一個值得注意的例外是史密斯筆下的撒托古亞(Tsathoggua),洛夫克拉夫特將它用於和齊里亞·畢夏普合著的《丘》(1940)當中。洛夫克拉夫特通過將撒托古亞與地下城市昆揚(K'n-Yan)中的圖魯(Tulu)、伊格(Yig)、莎布·尼古拉絲(Shub-Niggurath)、納格(Nug)、耶布(Yeb)等實體放在一起,有效地將史密斯的創作與他的故事聯系起來。
「洛夫克拉夫特神話」中的大部分元素並不是洛夫克拉夫特作品中各種系列作品的交叉融合,而是由每個作家有意地創造出來,成為神話的一部分——最著名的例子就是各種關於禁忌傳說的神秘魔法書。例如,在《夜之子》(1931)中,羅伯特·E·霍華德讓他的角色弗德里希·馮·容茲閱讀洛夫克拉夫特筆下的《死靈之書》,而洛夫克拉夫特在《超越萬古》(1935)和《超越時間之影》(1936)中也提到了霍華德筆下的《無名祭祀書》(The Unaussprechlichen Kulten)。 霍華德經常與洛夫克拉夫特通信,兩人有時會在各自的作品中插入對方的背景或元素。因此霍華德筆下的「蠻王柯南」系列有時被認為是克蘇魯神話的一部分。
值得注意的是,在1933年4月27日寫給詹姆斯·F·莫頓(James F. Morton)的信中,洛夫克拉夫特闡述了自己對克蘇魯神話體系的一些基礎性構想。但洛夫克拉夫特本人生前並沒有想過對他所創造的神話作一個系統的整理,在他去世之後,奧古斯特·威廉·德雷斯對他的體系進行了整理,並提出了「克蘇魯神話」這一稱謂。
第二階段始於奧古斯特·威廉·德雷斯(August William Derleth),作為洛夫克拉夫特的繼承者之一,德雷斯為克蘇魯神話添加了大量設定,將萬神殿與四元素聯系在一起:風、地、火、水。想要理解德雷斯對洛夫克拉夫特神話所做出的改變,區分洛夫克拉夫特的故事很重要。普萊斯認為洛夫克拉夫特的作品可以分為三個獨立的組別:鄧薩尼勛爵、阿卡姆和克蘇魯系列。德雷斯沒有區分洛夫克拉夫特的各種故事設定,而是將它們結合起來,忽略了個體的區別,從而創造了一個龐大、獨特的故事。所以,例如,德雷斯從洛夫克拉夫特的作品中挪用了諾登斯(Nodens),並讓他與舊神結盟對抗舊日支配者。德雷斯還將善與惡的二元論引入神話中,這與洛夫克拉夫特及其圈子的「宇宙主義」願景背道而馳。
德雷斯進一步忽視了洛夫克拉夫特的故事系列和其他作家的故事系列之間的區別。如果洛夫克拉夫特引用了另一個作者的名字,那麼德雷斯就以此為由將另一個作者的故事設定納入到克蘇魯神話中。例如,他將哈斯塔描述為一個舊日支配者,將羅伯特·W·錢伯斯筆下的黃衣之王設定為哈斯塔的化身。德雷斯還將洛夫克拉夫特在《暗夜呢喃》中提到的黃印與哈斯塔聯系在一起。
最後,德雷斯顯然將任何提到神話元素的故事歸為克蘇魯神話——因此,故事中的任何其他元素也成為神話的一部分。例如,由於洛夫克拉夫特引用了克拉克·阿什頓·史密斯作品中的《伊波恩之書》,德雷斯也在他的作品《庫文街上的小屋》中加入了史密斯筆下的外神烏波·薩斯拉(Ubbo-Sathla)。
有很多洛夫克拉夫特的愛好者對德雷斯的世界觀抱著強烈的蔑視態度,認為它違背了洛夫克拉夫特的本意(事實的確如此),把一個奔放且充滿想像力的恐怖世界變成了庸俗的「只會羅列名詞的」現代奇幻冒險故事的舞台;在極端情況下,這種爭議甚至導致了愛好者間派別的對立,有些愛好者完全不將非洛夫克拉夫特的創作包含入克蘇魯神話的范疇。
除此之外,林·卡特、科林·威爾遜、拉姆齊·坎貝爾、布萊恩·拉姆利等作家所寫的故事也為克蘇魯神話注入了新的血液。在這個過程中,更多的神、書籍和地點被創造出來,並相互聯系。德雷斯去世之後,林·卡特接任了他的職務。卡特為克蘇魯神話添加了大量設定,並在自己的作品中盡可能的把所有的克蘇魯神話作品(主要是洛夫克拉夫特的)從情節上串連起來。今天的TRPG作品中的大量設定幾乎都來自他的筆下。
另一個影響是美國混沌元素出版社於1981年發行的TRPG游戲《克蘇魯的呼喚》以及之後的各類規則書。這個版本的神話主要由桑迪·彼得森(Sandy Petersen)發展,它將洛夫克拉夫特筆下的諸神進一步細分為若干個類別:外神、舊日支配者、舊神和夢境諸神。混沌元素社整合出來的克蘇魯神話體系可能是目前流傳最廣,最廣為人知的設定體系,包括諸多內容——舊神、舊日支配者、神話生物、神話書籍、傳奇歷史年表……這是一個海量的工作,來自這些來源的素材慢慢地回到了主流神話小說中,如混沌元素出版的與游戲玩家相關或由游戲玩家寫的小說。
許多新一代的神話作家都從這個更客觀、更注重持續的神話品牌中得到了啟示,而不是洛夫克拉夫特那個更神秘的版本。然而,隨著神話的發展,任何一個作者都越來越難以熟悉所有的元素,此時的克蘇魯神話可以被看作是一系列相互聯系的故事合集。這類衍生出來的作品數量巨大,但在設定上有許多與洛夫克拉夫特的作品背道而馳的地方,有時還會相互沖突。
經過以上發展,當今的克蘇魯神話已經是一個多元化的體系。雖然與最初相比大有不同,但洛夫克拉夫特的虛構宇宙觀從來不是一個靜止的體系,而是一種具有藝術價值的構想,它始終適應其創造者的發展個性和改變利益。克蘇魯神話從來不是一個僵化的系統,神話的本質不在於想像中的萬神殿,也不在於失落書本的蛛網化知識,而是存在於某種令人信服的宇宙觀之中。
外神在整個克蘇魯神話系統中可說是最為強大的存在,但洛夫克拉夫特本人並無具體的使用過外神這樣的稱呼。舊日支配者與外神時常無法很明確的區分,在中日兩地也常直接將外神歸類在舊日支配者中。真要說的話,外神可以當成是相對強大的舊日支配者(這個"比較"的差距是難以想像的程度)。據小說描述,外神是來自外層空間的強大神靈,它們無目的、無序、不可名狀、偉大而盲目痴愚,是遠超宇宙之外的存在,其能力是舊日支配者遠遠比不上的。多數外神置身於時空彼方的阿撒托斯宮廷中,也有部分外神棲息於地球和其他異星世界。奈亞拉托提普是它們的信使及代言人,每當外神遇到令它們不快的事情時,奈亞拉托提普就會出面解決。
其中最主要的統治者「盲目痴愚之神」阿撒托斯,宇宙源初之混沌,與其後誕生的「孕育千萬子孫的森之黑山羊」莎布·尼古拉絲、「萬物歸一者」猶格·索托斯」、「伏行之混沌」奈亞拉托提普」三柱原神可說是克蘇魯神話中心最重要的存在。
舊日支配者是宇宙中強大而古老的存在,其存在多數都是由遠超凡間的不明物質組成,盡管它們不如外神般強大,其能力依然遠遠超過人類想像,普通的人類只是看到它們就會陷入瘋狂;但仍有一些外星種族、古代文明或瘋狂的神秘宗教崇拜它們,希望得到它們的力量。依照奧古斯特·威廉·德雷斯的設定,舊日支配者們與外神因在遠古時代反叛古神而被禁錮,無法自由行動,但當繁星的位置正確之時,可以被咒語召喚到這個世界上來。
按照奧古斯特·威廉·德雷斯的分類,所有舊日支配者都依其象徵的水、火、風、地四元素分為四個陣營。其中,象徵水與風的舊日支配者之間、以及象徵火與地的舊日支配者之間互為對立,它們均將對方視為死敵。
舊神
早期舊神在不同的小說故事中有不同的稱呼方式,諸如Great Old Ones、Ancient Ones等等,起因於當時還未將克蘇魯神話體系化,隨作者的喜好用詞而不同,用語之混亂連帶導致中文資料也有混淆不清的情形,直到後來整理出一個系統後才統一都使用舊神(Elder Gods)來稱呼。多數的舊神正體不明,諾登斯(Nodens)為其中較為活躍的存在之一。而根據布萊恩‧拉姆利(Brian Lumley)的設定,克塔尼德(Kthanid)帶領著舊神與以克蘇魯為主的舊日支配者們敵對。
種族
鑽地魔蟲(Chthonian)
星之彩(Colors Out of Space)
巨噬蠕蟲(Dhole)
飛天水螅(Flying Polyp)
諾弗·刻(Gnoph-Keh)
古老者(The Old Ones)
伊斯之偉大種族(Great Race of Yith)
廷達羅斯之獵犬(Hound of Tindalos)
廷達羅斯之主(Lords of Tindalos)
羅伊格爾(Lloigor)
無形之駿馬(Horses of the invisible)
耶庫伯人(Yekubians)
修格斯領主(Lords Shoggoth)
死之藤蔓(Death-Vines)
綠淵眷族(Spawn of the Green Abyss)
空鬼(Dimensional Shambler)
妖鬼(Ghast)
食屍鬼(Ghoul)
新偉大種族(Great Race New)
古革巨人(Gug)
冷蛛(Leng Spider)
米·戈(Mi-Go)
月獸(Moon-Beast)
蛇人(Serpent People)
夏蓋蟲族(Insect from Shaggai)
星之精(Star Vampire)
努格·索斯(Nug-Soth)
奈漢·格瑞(Ny'ghan-Grii)
原初修格斯(Proto-Shoggoth)
昆揚人(K'n-yan)
精神寄生蟲(Mind Parasites)
奈歐斯·克歐格亥(Nioth-Korghai)
沃米人(Voormis)
三尖樹(Triffids)
風之子(Children of The Wind)
空魚(Desh)
邪惡真菌(Evile Fungus)
空間食魔(Space Eaters)
地底掘進者(Tunnelers Below)
阿爾斯卡里(Alskali)
黑山羊幼仔(Dark Young)
恐怖獵手(Hunting Horror)
外神之僕役(Servitor of the Outer Gods)
克蘇魯的星之眷族(Star-Spawn of Cthulhu)
恩萊斯·格爾(N'rath-Gol)
修格斯(Shoggoth)
深淵之民(Dwellers in the Depths)
黯藻(Dark Sargas)
看守者(Watcher)
古異子嗣(Fosterlings of The Old Ones)
風之眷屬(Spawn of the Winds)
拜亞基(Byakhee)
深潛者(Deep One)
炎之精(Fire Vampire)
無形之子(Formless Spawn)
夜魘(Nightgaunt)
人面鼠(Rat-Thing)
潛砂怪(Sand-Dweller)
格拉基之仆從(Servant of Glaaki)
夏塔克鳥(Shantak)
丘丘人(Tcho-Tcho)
塞克洛托爾星怪(Being from Xiclotl)
星海釣客(Fishers from Outside)
蠕行者(The Crawling
G. 如何實現大數據量資料庫的歷史數據歸檔
使用工具pt-archiver
原理解析
作為MySQL DBA,可以說應該沒有不知道pt-archiver了,作為pt-toolkit套件中的重要成員,往往能夠輕松幫助DBA解決數據歸檔的問題。例如線上一個流水表,業務僅僅只需要存放最近3個月的流水數據,三個月前的數據做歸檔即可,那麼pt-archiver就可以輕松幫你完成這件事情,甚至你可以配置成自動任務,無需人工干預。
作為DBA,我們應該知其然更應該知其所以然,這樣我們也能夠放心地使用pt工具。相信很多DBA都研究過pt-online-schema-change的原理,那麼今天我們深入刨一刨pt-archiver的工作原理。
一、原理觀察
土人有土辦法,我們直接開啟general log來觀察pt-archiver是如何完成歸檔的。
命令
pt-archiver --source h=127.0.0.1,u=xucl,p=xuclxucl,P=3306,D=xucl,t=t1 --dest h=127.0.0.1,P=3306,u=xucl,p=xuclxucl,D=xucl_archive,t=t1 --progress 5000 \
--statistics --charset=utf8mb4 --limit=10000 --txn-size 1000 --sleep 30
常用選項
--analyze
指定工具完成數據歸檔後對表執行'ANALYZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目標端表,也可以單獨指定。
--ask-pass
命令行提示密碼輸入,保護密碼安全,前提需安裝模塊perl-TermReadKey。
--buffer
指定緩沖區數據刷新到選項'--file'指定的文件並且在提交時刷新。
只有當事務提交時禁用自動刷新到'--file'指定的文件和刷新文件到磁碟,這意味著文件是被操作系統塊進行刷新,因此在事務進行提交之前有一些數據隱式刷新到磁碟。默認是每一行操作後進行文件刷新到磁碟。
--bulk-delete
指定單個語句刪除chunk的方式來批量刪除行,會隱式執行選項'--commit-each'。
使用單個DELETE語句刪除每個chunk對應的錶行,通常的做法是通過主鍵進行逐行的刪除,批量刪除在速度上會有很大的提升,但如果有復雜的'WHERE'條件就可能會更慢。
--[no]bulk-delete-limit
默認值:yes
指定添加選項'--bulk-delete'和'--limit'到進行歸檔的語句中。
--bulk-insert
使用LOAD DATA LOCAL INFILE的方法,通過批量插入chunk的方式來插入行(隱式指定選項'--bulk-delete'和'--commit-each')
而不是通過逐行單獨插入的方式進行,它比單行執行INSERT語句插入的速度要快。通過隱式創建臨時表來存儲需要批量插入的行(chunk),而不是直接進行批量插入操作,當臨時表中完成每個chunk之後再進行統一數據載入。為了保證數據的安全性,該選項會強制使用選項'--bulk-delete',這樣能夠有效保證刪除是在插入完全成功之後進行的。
--channel
指定當主從復制環境是多源復制時需要進行歸檔哪個主庫的數據,適用於多源復制中多個主庫對應一個從庫的情形。
--charset,-A
指定連接字元集。
--[no]check-charset
默認值:yes
指定檢查確保資料庫連接時字元集和表字元集相同。
--[no]check-columns
默認值:yes
指定檢查確保選項'--source'指定的源端表和'--dest'指定的目標表具有相同的欄位。
不檢查欄位在表的排序和欄位類型,只檢查欄位是否在源端表和目標表當中都存在,如果有不相同的欄位差異,則工具報錯退出。如果需要禁用該檢查,則指定'--no-check-columns'。
--check-slave-lag
指定主從復制延遲大於選項'--max-lag'指定的值之後暫停歸檔操作。默認情況下,工具會檢查所有的從庫,但該選項只作用於指定的從庫(通過DSN連接方式)。
--check-interval
默認值:1s
如果同時指定了選項'--check-slave-lag',則該選項指定的時間為工具發現主從復制延遲時暫停的時間。每進行操作100行時進行一次檢查。
--columns,-c
指定需要歸檔的表欄位,如有多個則用','(逗號)隔開。
--commit-each
指定按每次獲取和歸檔的行數進行提交,該選項會禁用選項'--txn-size'。
在每次獲取表數據並進行歸檔之後,在獲取下一次數據和選項'--sleep'指定的休眠時間之前,進行事務提交和刷新選項'--file'指定的文件,通過選項'--limit'控制事務的大小。
--host,-h
指定連接的資料庫IP地址。
--port,-P
指定連接的資料庫Port埠。
--user,-u
指定連接的資料庫用戶。
--password,-p
指定連接的資料庫用戶密碼。
--socket,-S
指定使用SOCKET文件連接。
--databases,-d
指定連接的資料庫
--source
指定需要進行歸檔操作的表,該選項是必須指定的選項,使用DSN方式表示。
--dest
指定要歸檔到的目標端表,使用DSN方式表示。
如果該選項沒有指定的話,則默認與選項'--source'指定源端表為相同表。
--where
指定通過WHERE條件語句指定需要歸檔的數據,該選項是必須指定的選項。不需要加上'WHERE'關鍵字,如果確實不需要WHERE條件進行限制,則指定'--where 1=1'。
--file
指定表數據需要歸檔到的文件。使用類似MySQL DATE_FORMAT()格式化命名方式。
文件內容與MySQL中SELECT INTO OUTFILE語句使用相同的格式,文件命名選項如下所示:
%Y:年,4位數(Year, numeric, four digits)
%m:月,2位數(Month, numeric (01..12))
%d:日,2位數(Day of the month, numeric (01..31))
%H:小時(Hour (00..23))
%i:分鍾(Minutes, numeric (00..59))
%s:秒(Seconds (00..59))
%D:資料庫名(Database name)
%t:表名(Table name)
二、原理解析
根據general log的輸出,我們整理出時序表格如下
三、其他說明
咋一看這個過程貌似也沒有什麼問題,但是,假如在原表掃描出數據,插入到新表的過程中,舊數據發生了變化怎麼辦?
帶著這個疑問,我們進行了源碼的跟蹤,我們在pt-archiver的6839行打上了斷點
然後我分別在幾個session窗口做了如下動作
最後pt-archiver輸出如下:
# A software update is available:
TIME ELAPSED COUNT
2020-04-08T09:13:21 0 0
2020-04-08T09:13:21 0 1
Started at 2020-04-08T09:13:21, ended at 2020-04-08T09:13:51
Source: A=utf8mb4,D=xucl,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
Dest: A=utf8mb4,D=xucl_archive,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
SELECT 1
INSERT 1
DELETE 1
Action Count Time Pct
sleep 1 30.0002 99.89
inserting 1 0.0213 0.07
commit 2 0.0080 0.03
select 2 0.0017 0.01
deleting 1 0.0005 0.00
other 0 0.0008 0.00
很明顯,id=3這條記錄並沒有進行歸檔(我們這里是改了條件列,實際生產中可能是更改了其他列,造成歸檔數據不準確)
那麼如何來解決這種情況的發生呢?
顯然,資料庫在資料庫中可以通過加排它鎖來防止其他程序修改對應的數據,pt-archiver其實早就已經幫我們考慮到了這樣的情況,pt-archiver提供了兩種選擇
--for-update:Adds the FOR UPDATE modifier to SELECT statements
--share-lock:Adds the LOCK IN SHARE MODE modifier to SELECT statements
四、總結
pt-archiver作為歸檔工具無疑是MySQL DBA日常運維的大利器之一,在使用過程中在知道如何使用的基礎上也能夠知曉其原理
歸檔過程中最好能對歸檔記錄進行加鎖操作,以免造成歸檔數據不準確
在主從環境中,歸檔過程最好控制速度,以免造成主從延遲
盡量控制好chunk的大小,不要過大,造成大事務
H. 智能優化演算法:生物地理學優化演算法
@[toc]
摘要:Alfred Wallace和Charles Darwin在19世紀提出了生物地理學理論,研究生物物種棲息地的分布、遷移和滅絕規律。Simon受到生物地理學理論的啟發,在對生物物種遷移數學模型的研究基礎上,於 2008年提出了一種新的智能優化演算法 — 生物地理學優化演算法(Biogeography-Based Optimization,BBO)。BBO演算法是一種基於生物地理學理論的新型演算法,具有良好的收斂性和穩定性,受到越來越多學者的關注。
BO演算法的基本思想來源於生物地理學理論。如圖1所示,生物物種生活在多個棲息地(Habitat)上,每個棲息地用棲息適宜指數(Habitat Suitability Index,HSI)表示,與HSI相關的因素有降雨量、植被多樣性、地貌特徵、土地面積、溫度和濕度等,將其稱為適宜指數變數(Suitability Index Variables,SIV)。
HSI是影響棲息地上物種分布和遷移的重要因素之一。較高 HSI的棲息地物種種類多;反之,較低 HSI的棲息地物種種類少。可見,棲息地的HSI與生物多樣性成正比。高 HSI的棲息地由於生存空間趨於飽和等
問題會有大量物種遷出到相鄰棲息地,並伴有少量物種遷入;而低 HSI的棲息地其物種數量較少,會有較多物種的遷入和較少物種的遷出。但是,當某一棲息地HSI一直保持較低水平時,則該棲息地上的物種會趨於滅絕,或尋找另外的棲息地,也就是突變。遷移和突變是BBO演算法的兩個重要操作。棲息地之間通過遷移和突變操作,增強物種間信息的交換與共享,提高物種的多樣性。
BBO演算法具有一般進化演算法簡單有效的特性,與其他進化演算法具有類似特點。
(1)棲息適宜指數HSI表示優化問題的適應度函數值,類似於遺傳演算法中的適應度函數。HSI是評價解集好壞的標准。
(2)棲息地表示候選解,適宜指數變數 SIV 表示解的特徵,類似於遺傳演算法中的「基因」。
(3)棲息地的遷入和遷出機制提供了解集中信息交換機制。高 HSI的解以一定的遷出率將信息共享給低HSI的解。
(4)棲息地會根據物種數量進行突變操作,提高種群多樣性,使得演算法具有較強的自適應能力。
BBO演算法的具體流程為:
步驟1 初始化BBO演算法參數,包括棲息地數量 、遷入率最大值 和遷出率最大值 、最大突變率 等參數。
步驟2 初始化棲息地,對每個棲息地及物種進行隨機或者啟發式初始化。
步驟3 計算每個棲息地的適宜指數HSI;判斷是否滿足停止准則,如果滿足就停止,輸出最優解;否則轉步驟4。
步驟4 執行遷移操作,對每個棲息地計算其遷入率和遷出率,對SIV進行修改,重新計算適宜指數HSI。
步驟5 執行突變操作,根據突變運算元更新棲息地物種,重新計算適宜指數HSI。
步驟6 轉到步驟3進行下一次迭代。
1.1 遷移操作
如圖2所示,該模型為單個棲息地的物種遷移模型。
橫坐標為棲息地種群數量 S ,縱坐標為遷移比率 η,λ(s) 和 μ(s) 分別為種群數量的遷入率和遷出率。當種群數量為 0 時,種群的遷出率 μ(s) 為 0,種群的遷入率λ(s) 最大;當種群數量達到 S max 時,種群的遷入率 λ(s)為0,種群遷出率 u(s) 達到最大。當種群數量為 S 0 時,遷出率和遷入率相等,此時達到動態平衡狀態。根據圖2,得出遷入率和遷出率為:
遷移操作的步驟可以描述為:
Step1:for i= 1 to N do
Step2: 用遷入率 選取
Step3: if (0,1)之間的均勻隨機數小於 then
Step4: for j= 1 to N do
Step5: 用遷出率 選取
Step6: if (0,1)之間的均勻隨機數小於 then
Step7: 從 中隨機選取一個變數SIV
Step8: 用SIV替換 中的一個隨機SIV
Step9: end if
Step10: end for
Step11: end if
Step12:end for
1.2 突變(Mutation)操作
突變操作是模擬棲息地生態環境的突變,改變棲息地物種的數量,為棲息地提供物種的多樣性,為演算法提供更多的搜索目標。棲息地的突變概率與其物種數量概率成反比。即
其中: 為最大突變率; 為棲息地中物種數量為 對應的概率; 為 的最大值; 是棲息地中物種數量為 對應的突變概率。
突變操作的步驟可以描述為:
Step1:for i= 1 to N do
Step2: 計算突變概率
Step3: 用突變概率 選取一個變數
Step4: if (0,1)之間的均勻隨機數小於 then
Step5: 隨機一個變數代替 中的SIV
Step6: end if
Step7:end for
[1] Simon D.Biogeography-based optimization[J].IEEE Trans-
actions on Evolutionary Computation,2008(6):702-713.
[2]張國輝,聶黎,張利平.生物地理學優化演算法理論及其應用研究綜述[J].計算機工程與應用,2015,51(03):12-17.
https://mianbaoo.com/o/bread/aJqZmZ8=
https://mianbaoo.com/o/bread/YZaXmJpq