Pengarang: Cao Zhenweiyuan
Pasukan R&D platform pangkalan data Meituan menghadapi keperluan yang semakin mendesak untuk menemui anomali pangkalan data Untuk menemui, mencari dan menghentikan kerugian dengan lebih cepat dan bijak, kami telah membangunkan pangkalan data pada perkhidmatan pengesanan Anomali.
Pangkalan data digunakan secara meluas dalam senario perniagaan teras Meituan, dengan keperluan kestabilan yang tinggi dan toleransi yang sangat rendah untuk pengecualian. Oleh itu, penemuan anomali pangkalan data yang cepat, lokasi dan stop loss menjadi semakin penting. Sebagai tindak balas kepada masalah pemantauan yang tidak normal, kaedah penggera ambang tetap tradisional memerlukan pengalaman pakar untuk mengkonfigurasi peraturan, dan tidak boleh melaraskan ambang secara fleksibel dan dinamik mengikut senario perniagaan yang berbeza, yang boleh mengubah masalah kecil menjadi kegagalan besar dengan mudah.
Keupayaan penemuan anomali pangkalan data berasaskan AI boleh menjalankan 7*24 jam pemeriksaan penunjuk utama berdasarkan prestasi sejarah pangkalan data, dan boleh mengesan risiko dalam tunas anomali, Ia mendedahkan keabnormalan dan membantu kakitangan R&D dalam mengesan dan menghentikan kehilangan sebelum masalah menjadi lebih teruk. Berdasarkan pertimbangan faktor di atas, pasukan R&D platform pangkalan data Meituan memutuskan untuk membangunkan sistem perkhidmatan pengesanan anomali pangkalan data. Seterusnya, artikel ini akan menghuraikan beberapa pemikiran dan amalan kami dari beberapa dimensi seperti analisis ciri, pemilihan algoritma, latihan model dan pengesanan masa nyata.
Sebelum meneruskan pembangunan dan pengekodan khusus, terdapat tugas yang sangat penting , iaitu Daripada penunjuk pemantauan sejarah sedia ada, kita boleh menemui corak perubahan data siri masa, dan kemudian memilih algoritma yang sesuai berdasarkan ciri pengedaran data. Berikut ialah beberapa carta pengedaran penunjuk wakil yang kami pilih daripada data sejarah:
Rajah 1 Borang penunjuk pangkalan data
Daripada rajah di atas , kita dapat melihat bahawa corak data terutamanya membentangkan tiga keadaan: kitaran, hanyut dan pegun [1]. Oleh itu, kita boleh memodelkan sampel dengan ciri biasa ini pada peringkat awal, yang boleh merangkumi kebanyakan senario. Seterusnya, kami menganalisisnya dari tiga perspektif: berkala, drift dan pegun, dan membincangkan proses reka bentuk algoritma.
Dalam banyak senario perniagaan, penunjuk akan turun naik dengan kerap disebabkan oleh puncak pagi dan petang atau beberapa tugas yang dijadualkan. Kami percaya bahawa ini adalah turun naik tetap yang wujud bagi data, dan model harus mempunyai keupayaan untuk mengenal pasti komponen berkala dan mengesan anomali kontekstual. Untuk penunjuk siri masa yang tidak mempunyai komponen arah aliran jangka panjang, apabila penunjuk mempunyai komponen kitaran, , dengan T mewakili rentang tempoh siri masa. Gambar rajah autokorelasi boleh dikira, iaitu, nilai apabila t mengambil nilai yang berbeza, dan kemudian periodicity boleh ditentukan dengan menganalisis selang puncak autokorelasi Proses utama termasuk langkah berikut:
Proses khusus adalah seperti berikut:
Rajah 2 Skema proses pengekstrakan kitaran
Untuk model dimodelkan Jujukan biasanya diperlukan untuk tidak mempunyai arah aliran jangka panjang atau hanyut global yang jelas, jika tidak model yang dijana biasanya tidak dapat menyesuaikan diri dengan baik kepada arah aliran terkini penunjuk [2]. Kami merujuk kepada situasi di mana nilai min siri masa berubah dengan ketara dari semasa ke semasa atau terdapat titik mutasi global, secara kolektif dirujuk sebagai senario hanyut. Untuk menangkap trend terkini siri masa dengan tepat, kita perlu menentukan sama ada terdapat hanyut dalam data sejarah pada peringkat awal pemodelan. Siri hanyut global dan berkala bermakna hanyut, seperti yang ditunjukkan dalam contoh berikut:
Rajah 3 Gambar rajah hanyut data
Penunjuk pangkalan data dipengaruhi oleh faktor kompleks seperti aktiviti perniagaan Banyak data akan mempunyai perubahan tidak berkala dan pemodelan perlu bertolak ansur dengan perubahan ini. Oleh itu, berbeza daripada masalah pengesanan titik perubahan klasik, dalam senario pengesanan anomali, kita hanya perlu mengesan keadaan di mana data stabil dalam sejarah dan kemudian hanyut. Berdasarkan prestasi algoritma dan prestasi sebenar, kami menggunakan kaedah pengesanan drift berdasarkan penapisan median Proses utama termasuk pautan berikut:
1
a. Mengikut saiz tetingkap yang diberikan, ekstrak median dalam tetingkap untuk mendapatkan komponen trend siri masa.
b. Tetingkap perlu cukup besar untuk mengelakkan pengaruh faktor berkala dan melakukan pembetulan kelewatan penapis.
c. Sebab penggunaan median berbanding pelicinan min adalah untuk mengelakkan pengaruh sampel yang tidak normal.
2 Tentukan sama ada jujukan terlicin meningkat atau berkurang
a setiap titik lebih besar daripada ( kurang daripada ) titik sebelumnya, jujukan ialah jujukan meningkat ( ) menurun.
b. Jika jujukan meningkat atau menurun dengan ketara, maka penunjuk itu jelas mempunyai arah aliran jangka panjang, dan ia boleh ditamatkan lebih awal.
3 Lintas urutan lancar dan gunakan dua peraturan berikut untuk menentukan sama ada terdapat hanyut
a. Jika nilai maksimum jujukan di sebelah kiri titik sampel semasa adalah kurang daripada nilai minimum jujukan di sebelah kanan titik sampel semasa, terdapat hanyut mengejut (aliran menaik).
b Jika nilai minimum jujukan di sebelah kiri titik sampel semasa adalah lebih besar daripada nilai maksimum jujukan di sebelah kanan titik sampel semasa, terdapat satu. hanyut jatuh secara tiba-tiba (Arus bawah).
2.1.3 Perubahan pegunUntuk penunjuk siri masa, jika sifatnya tidak berubah dengan perubahan masa cerapan pada bila-bila masa, kami percaya bahawa ini siri masa adalah stabil. Oleh itu, untuk siri masa dengan komponen arah aliran jangka panjang atau komponen kitaran, semuanya tidak pegun. Contoh khusus ditunjukkan dalam rajah di bawah:
Rajah 4 Petunjuk kepegunan data
Dalam pandangan daripada situasi ini, Kita boleh menentukan sama ada siri masa tertentu adalah pegun melalui ujian punca unit (Ujian Dickey-Fuller Augmented)[3]. Khususnya, untuk sekeping data sejarah penunjuk julat masa tertentu, kami percaya bahawa siri masa adalah stabil apabila syarat berikut dipenuhi pada masa yang sama:
Dengan memahami pengesanan anomali data siri masa beberapa yang terkenal syarikat dalam industri Menurut pengenalan produk yang diterbitkan di laman web, ditambah dengan pengalaman sejarah terkumpul kami dan analisis pensampelan beberapa penunjuk sebenar dalam talian, fungsi ketumpatan kebarangkalian mereka mematuhi pengedaran berikut:
Rajah 5 Perwakilan skematik pencongan pengedaran
Untuk pengedaran di atas, kami menyiasat beberapa algoritma biasa dan menentukan plot kotak, perbezaan median mutlak dan Extreme teori nilai sebagai algoritma pengesanan anomali muktamad. Berikut ialah jadual perbandingan algoritma untuk pengesanan data siri masa biasa:
Sebab utama kami tidak memilih 3Sigma ialah ia mempunyai toleransi yang rendah untuk anomali, manakala Perbezaan median mutlak secara teorinya mempunyai toleransi yang lebih baik untuk anomali, jadi apabila data menunjukkan taburan yang sangat simetri, perbezaan median mutlak (MAD) digunakan dan bukannya 3Sigma untuk pengesanan. Kami menggunakan algoritma pengesanan yang berbeza untuk pengedaran data yang berbeza (Untuk prinsip algoritma yang berbeza, sila rujuk lampiran di penghujung artikel dan saya tidak akan menghuraikan terlalu banyak di sini):
Rajah 6 Proses pemodelan algoritma
Proses pemodelan keseluruhan algoritma ialah ditunjukkan dalam rajah di atas, yang merangkumi terutamanya cabang berikut: pengesanan drift masa, kestabilan masa Analisis seksualiti, analisis berkala siri masa dan pengiraan kecondongan. Yang berikut diperkenalkan masing-masing:
Kes : Diberi siri masa ts={t0,t1,⋯ , tn}, dengan mengandaikan bahawa terdapat berkala dan jangka masa ialah T, untuk indeks masa j, di mana j∈{0,1,⋯,T−1}, adalah perlu untuk memodelkannya. titik sampel terdiri daripada selang [tj−kT−m, tj−kT+m], dengan m ialah parameter, mewakili saiz tetingkap, dan k ialah integer, memuaskan j− kT−m≥0, j−kT+m≤n. Sebagai contoh, dengan mengandaikan bahawa siri masa yang diberikan bermula dari 2022/03/01 00:00:00 hingga 2022/03/08 00:00:00, saiz tetingkap yang diberikan ialah 5, dan jangka masa adalah satu hari, kemudian untuk indeks masa 30 Dalam erti kata lain, titik sampel yang diperlukan untuk memodelkannya akan datang daripada tempoh masa berikut: [03/01 00:25:00, 03/01 00:35:00]
[03/02 00 :25:00, 03/02 00:35:00]
...
[03/07 00:25:00, 03/07 00:35:00]
Satu kes dipilih di sini untuk menunjukkan analisis data dan proses pemodelan untuk memudahkan pemahaman yang lebih jelas tentang proses di atas. Rajah (a) ialah jujukan asal, Rajah (b) ialah jujukan yang dilipat mengikut rentang hari, Rajah (c) ialah prestasi arah aliran yang dikuatkan bagi sampel dalam selang indeks masa tertentu dalam Rajah (b), Rajah ( d) ) ialah ambang bawah yang sepadan dengan indeks masa dalam rajah (c). Berikut ialah kes pemodelan sampel sejarah bagi siri masa tertentu:
Rajah 7 Pemodelan kes
Histogram taburan sampel dan ambang dalam kawasan (c) rajah di atas (Beberapa sampel tidak normal telah dihapuskan Dapat dilihat bahawa dalam senario pengedaran yang sangat condong ini, ambang dikira oleh algoritma EVT adalah lebih Untuk menjadi munasabah.
Rajah 8 Perbandingan ambang pengedaran serong
Berikut ialah latihan luar talian khusus dan reka bentuk teknologi pengesanan dalam talian: Rajah 9 Latihan luar talian dan reka bentuk teknologi pengesanan dalam talian Algoritma pengesanan anomali mengguna pakai idea bahagi-dan-takluk secara keseluruhan dalam latihan model peringkat, ciri diekstrak berdasarkan pengenalan data sejarah Pilih algoritma pengesanan yang sesuai. Ini dibahagikan kepada dua bahagian: latihan luar talian dan pengesanan dalam talian terutamanya melaksanakan prapemprosesan data, pengelasan siri masa dan pemodelan siri masa berdasarkan keadaan sejarah. Dalam talian terutamanya memuatkan dan menggunakan model terlatih luar talian untuk pengesanan anomali masa nyata dalam talian. Reka bentuk khusus ditunjukkan dalam rajah di bawah: Rajah 10 Proses pengesanan anomali Untuk meningkatkan kecekapan algoritma lelaran pengoptimuman dan meneruskan operasi untuk meningkatkan ketepatan dan mengingat semula, kami menggunakan Horae ( data siri masa berskala dalaman Meituan keupayaan semakan kes sistem pengesanan anomali ) membolehkan gelung tertutup pengesanan dalam talian, pemeliharaan kes, analisis dan pengoptimuman, penilaian keputusan dan keluaran dalam talian. Rajah 11 Proses operasi Pada masa ini, penunjuk algoritma pengesanan anomali adalah seperti berikut : Pada masa ini, keupayaan pemantauan anomali pangkalan data Meituan pada dasarnya telah selesai, dan kami akan meneruskan mengusahakan produk pada masa hadapan. Optimumkan dan kembangkan, arahan khusus termasuk: Perbezaan median mutlak, iaitu, Sisihan Mutlak Median(MAD), ialah ukuran teguh bagi bias sampel data berangka univariate [6], biasanya dikira dengan formula berikut: Apabila prior adalah normal pengedaran, secara amnya C memilih 1.4826 dan k memilih 3. MAD mengandaikan bahawa 50% tengah sampel adalah sampel biasa, manakala sampel abnormal berada dalam 50% kawasan di kedua-dua belah. Apabila sampel mematuhi taburan normal, penunjuk MAD lebih mampu menyesuaikan diri dengan outlier dalam set data daripada sisihan piawai. Untuk sisihan piawai, kuasa dua jarak dari data ke min digunakan Sisihan yang lebih besar mempunyai berat yang lebih besar daripada eksperimen. Algoritma MAD mempunyai kesan yang lebih besar pada data Terdapat keperluan yang lebih tinggi untuk kenormalan. Plot kotak terutamanya menerangkan diskret dan simetri taburan sampel melalui beberapa statistik, termasuk: Rajah 12 Plot kotak Bandingkan Q1 dengan Q3 Jarak antara dipanggil IQR. Apabila sampel menyimpang daripada IQR sebanyak 1.5 kali kuartil atas ( atau menyimpang daripada IQR sebanyak 1.5 kali kuartil bawah ) , menganggap sampel sebagai outlier. Tidak seperti tiga sisihan piawai berdasarkan andaian kenormalan, plot kotak secara amnya tidak membuat sebarang andaian tentang pengagihan data asas sampel, boleh menerangkan situasi diskret sampel, dan mempunyai keyakinan yang lebih tinggi terhadap kemungkinan sampel abnormal yang terkandung dalam sampel. Toleransi. Untuk data berat sebelah, pemodelan ditentukur Boxplot lebih konsisten dengan pengedaran data [7]. Data dunia sebenar sukar untuk digeneralisasikan dengan pengedaran yang diketahui, contohnya, untuk beberapa peristiwa melampau (Anomali ), model kebarangkalian ( seperti taburan Gaussian ) cenderung memberikan kebarangkalian 0. Teori nilai melampau[8] adalah untuk membuat kesimpulan taburan peristiwa melampau yang mungkin kita perhatikan tanpa sebarang andaian taburan berdasarkan data asal Ini ialah taburan nilai melampau (EVD ). Ungkapan matematiknya adalah seperti berikut (Formula fungsi taburan kumulatif pelengkap): di mana t mewakili ambang empirikal bagi sampel Nilai yang berbeza boleh ditetapkan untuk senario yang berbeza, yang merupakan parameter bentuk dan parameter skala dalam taburan Pareto umum Apabila sampel yang diberikan melebihi empirikal yang ditetapkan ambang Dalam kes t, pembolehubah rawak X-t mematuhi taburan Pareto umum. Melalui kaedah anggaran kemungkinan maksimum, kita boleh mengira anggaran parameter dan , dan mendapatkan ambang model melalui formula berikut: Dalam formula di atas q mewakili parameter risiko, n ialah bilangan semua sampel, dan Nt ialah bilangan sampel yang memenuhi x-t>0. Oleh kerana biasanya tiada maklumat apriori untuk menganggar ambang empirikal t, kuantiti empirikal sampel boleh digunakan untuk menggantikan nilai berangka t Nilai kuantil empirik di sini boleh dipilih mengikut situasi sebenar. [1] Ren, H., Xu, B., Wang, Y., Yi, C., Huang, C., Kou , X., ... & Zhang, Q. (2019, Julai perkhidmatan pengesanan anomali siri masa di microsoft Dalam Prosiding persidangan antarabangsa ACM SIGKDD ke-25 mengenai penemuan pengetahuan & perlombongan data (ms. 3009-3017). [2] Lu, J., Liu, A., Dong, F., Gu, F., Gama, J., & Zhang, G. (2018). : Kajian semula. IEEE Transactions on Knowledge and Data Engineering, 31(12), 2346-2363. [3] Mushtaq, R. (2011 Augmented dickey fuller test. [4] Ma, M., Yin, Z., Zhang, S., Wang, S., Zheng, C., Jiang, X., ... & Pei, D. (2020) . Mendiagnosis punca pertanyaan lambat terputus-putus dalam pangkalan data awan Prosiding Endowmen VLDB, 1176-1189. [5] Holzinger, A. (2016). informatika kesihatan: bilakah kita memerlukan Informatik Otak manusia, 3(2), 119-131. [6] Leys, C., Ley, C . , Klein, O., Bernard, P., & Licata, L. (2013 Mengesan penyimpangan: Jangan gunakan sisihan piawai di sekitar min, gunakan sisihan mutlak di sekitar median Journal of experimental social psychology, 49(4). 764-766. [7] Hubert, M., & Vandervieren, E. (2008). 5201. [8] Siffer, A., Fouque, P. A., Termier, A., & Largouet, C. (2017, Ogos pengesanan dalam aliran dengan teori nilai melampau daripada Persidangan Antarabangsa ACM SIGKDD ke-23 mengenai Penemuan Pengetahuan dan Perlombongan Data (ms. 1067-1075).
4.2 Proses pengesanan anomali
5. Operasi Produk
6 Tinjauan Masa Depan
7. Lampiran
7.1 Perbezaan median mutlak
7.2 Plot kotak
7.3 Teori Nilai Terlampau
8. Rujukan
Atas ialah kandungan terperinci Reka bentuk dan pelaksanaan sistem pemantauan anomali pangkalan data berdasarkan algoritma AI. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!