Rumah > Artikel > Peranti teknologi > Model kualiti dan amalan sistem pengesyoran perniagaan komprehensif Meituan
Pengarang: Yong Haogengen, Wang Xin dan lain-lain
Perniagaan dalam kedai Meituan yang komprehensif (selepas ini dirujuk sebagai perniagaan komprehensif) ialah perniagaan teras Meituan Salah satu sektor penting perniagaan dalam kedai, meliputi berpuluh-puluh sub-industri utama seperti mandian, KTV, industri kecantikan, kecantikan perubatan, ibu bapa-anak, perkahwinan, sukan dan kecergasan, hiburan, pendidikan dan latihan, kelengkapan rumah, haiwan peliharaan, bar, perkhidmatan kehidupan, dsb., memenuhi keperluan Keperluan kehidupan tempatan yang pelbagai daripada ratusan juta pengguna.
Sistem pengesyoran ialah pautan penting dalam mencapai pemadanan bekalan dan permintaan yang cekap Ia merupakan saluran untuk menghantar nilai data, dan kualiti sistem pengesyoran menentukan kehilangan pemadanan kesan. Seperti yang ditunjukkan dalam Rajah 1 di bawah, data diproses oleh gudang data dan algoritma, dan kemudian dihantar ke pelbagai sistem perniagaan melalui perkhidmatan data Akhirnya, ia dipindahkan kembali ke gudang data melalui pelanggan, membentuk "kesan roda tenaga". data, dan kualiti adalah betul-betul perkara ini Perkara utama dalam menjalin gear dalam pautan adalah prasyarat penting untuk meningkatkan kecekapan dan memastikan keberkesanan.
Jaminan kualiti mesti dijalankan di sekitar pengukuran supaya ia boleh "kelihatan", "diperjelaskan" dan "diperbetulkan dengan tepat". Walau bagaimanapun, penunjuk kualiti perkhidmatan bahagian belakang tradisional tidak dapat menggambarkan dengan baik kualiti "roda tenaga data" semasa. Kami berharap melalui pembinaan model kualiti untuk sistem pengesyoran perniagaan yang komprehensif, kami dapat menyediakan perspektif pemikiran baharu dan rujukan praktikal untuk pengukuran kualiti sistem berbilang perniagaan yang serupa, berorientasikan kesan.
Rajah 1 "Data Flywheel" sistem pengesyoran
Sistem pengesyoran ialah sistem berasaskan kesan, dan ciri kualitinya berbeza daripada sistem berfungsi. Secara amnya, sistem berfungsi akan mempengaruhi pengalaman pengguna dengan ketara selepas diturunkan taraf Walau bagaimanapun, jika keputusan pengesyoran mengembalikan A atau A', sukar untuk pengguna menyedarinya dengan jelas. Tetapi sebenarnya, jika kesan padanan menjadi lebih teruk, ia secara langsung akan menjejaskan pengalaman tersirat pengguna dan perlu dikenal pasti. Sistem berfungsi secara amnya membina sistem indeks kualiti dengan kebolehgunaan sebagai teras Dalam amalan perniagaan sistem pengesyoran perniagaan yang komprehensif, kami mendapati bahawa kebolehgunaan dan penunjuk lain mempunyai had berikut:
Dalam pembinaan berkualiti, tahap kesalahan digunakan sebagai sasaran pada masa lalu Kitaran pengesahan adalah panjang dan luar jangka, dan hubungan antara sasaran dan terbitan logik tindakan tidak kuat. Di samping itu, kesalahan itu sendiri adalah suatu yang difikirkan selepas itu, dan pendekatan yang didorong oleh masalah ini tidak kondusif untuk operasi yang berterusan. Secara umum, dengan kebolehgunaan sebagai matlamat, terdapat pelbagai masalah dalam pengiraan pelaksanaan sebenar, jadi kami mempertimbangkan untuk membina model kualiti untuk sistem pengesyoran, berdasarkan kebolehgunaan, dan kemudian melaraskan kaedah pengiraan untuk membimbing operasi kualiti yang diperhalusi.
Untuk membina model yang berkualiti, mula-mula kembali kepada pemahaman tentang intipati kualiti. Menurut takrifan International Organization for Standardization (ISO), kualiti ialah jumlah ciri yang mencerminkan keupayaan entiti untuk memenuhi "keperluan" yang jelas atau tersirat. Satu lagi konsep kualiti yang biasa digunakan ialah kestabilan Teras kestabilan adalah untuk membolehkan sistem berjalan dalam keadaan "jangkaan" untuk masa yang lama. Sama ada kualiti atau kestabilan, adalah penting untuk memahami keperluan dan jangkaan siapa yang perlu dipenuhi oleh sistem. Dalam senario pengesyoran, objek ini ialah produk dan algoritma. Produk perniagaan memahami senario pengguna, keperluan pengguna abstrak dan mencadangkan keperluan produk kepada pasukan pengesyoran, yang dicerminkan dalam lelaran produk luaran Pada masa yang sama, pasukan sistem pengesyoran bekerjasama antara satu sama lain untuk mempelajari strategi model pengoptimuman terbaik, iaitu dicerminkan dalam lelaran algoritma dalam pasukan data.
Seperti yang ditunjukkan dalam Rajah 2 di bawah, dalam formula pengiraan ketersediaan, masa yang lama dititikberatkan, manakala "keperluan" dan "dijangka" hanya dicerminkan dalam penyediaan perkhidmatan luar. Terdapat rasionaliti tertentu di sini Pertama, ketersediaan adalah penunjuk biasa dalam industri, dan definisi mesti digeneralisasikan. dan kebanyakan perkhidmatan luaran disediakan dalam "mempunyai" "Antara" dan "tiada", terdapat juga beberapa ruang untuk kemerosotan perkhidmatan. Walau bagaimanapun, untuk sistem pengesyoran yang berkuat kuasa sebagai matlamat teras, terdapat spektrum panjang kesan "baik" dan "buruk" antara fungsi "dengan" dan "tanpa". Dalam lelaran kami memikirkan tentang kualiti sistem pengesyoran, perubahan teras adalah daripada "ya" dan "tidak" perkhidmatan luaran kepada "baik" dan "buruk" perkhidmatan luaran Ini juga merupakan titik permulaan untuk mengubah kaedah pengiraan kebolehgunaan.
Rajah 2 Kesan kognitif kecacatan pada metrik kualiti
Kegagalan untuk memenuhi "keperluan" atau "jangkaan" akan mengakibatkan kecacatan, yang merupakan punca kehilangan kualiti. Model Kualiti Perisian ISO/IEC 25010 (2011) Model kualiti perisian mentakrifkan kecacatan perisian dan boleh dianggap sebagai set lengkap kecacatan Ia termasuk kesesuaian fungsi, kecekapan prestasi, keserasian, ketersediaan, kebolehpercayaan, keselamatan dan kebolehselenggaraan , 8 ciri dan 31 sub-ciri mudah alih. Terdapat beberapa ciri kualiti yang tidak diliputi oleh perkhidmatan bahagian belakang (Estetika antara muka pengguna, kemudahan pembelajaran, dll.), dan terdapat beberapa elemen cemerlang yang tidak membentuk kualiti sisi C dalam persepsi semasa (Modulariti, kewujudan bersama , bukan penolakan, kebolehgunaan semula, dsb. ). Menggabungkan ciri perniagaan dan isu kualiti frekuensi tinggi sistem pengesyoran, pada peringkat ini kami menumpukan pada mempertimbangkan ciri kualiti seperti yang ditunjukkan dalam Rajah 3 di bawah sebagai punca kecacatan.
Rajah 3 Ciri kualiti sistem pengesyoran
Kami mendapati bahawa ukuran kebolehgunaan tradisional kebanyakannya tertumpu dalam kebolehpercayaan, kesempurnaan fungsi dan ketepatan, tetapi terdapat kekurangan ukuran untuk kebanyakan ketepatan, kecukupan dan keselamatan fungsian, yang berkait rapat dengan kualiti dan keberkesanan pengesyoran. Kesan ketepatan dan kesesuaian pada kesannya agak intuitif, manakala yang lain lebih tidak langsung. Sebagai contoh, dalam keselamatan, ambil capaian perangkak dalam keselamatan sebagai contoh Oleh kerana gelagat capaian perangkak tidak mematuhi tabiat gelagat manusia yang sebenar, ia akan menjejaskan kitar semula penunjuk teras seperti UVCTR, mengakibatkan salah menilai kesan pada masa yang sama, jika data perangkak tidak dapat dikenal pasti dan dihapuskan, Kebisingan akan menjejaskan lagi ketepatan latihan model. Isu kualiti data ialah "pil racun" dalam "kesan roda tenaga" data, yang akan menjana maklum balas positif dan terus meningkatkan kecacatan. Kami akan mengukur kecacatan di atas dan mengembangkan skop kebolehgunaan dalam Bab 4 Peraturan Pengiraan.
Ketersediaan boleh dibahagikan kepada kaedah pengukuran dan kaedah pengiraan: pengukuran ialah apa yang sering kita panggil N nines, dan pengiraan menggunakan min kegagalan Measured sebagai fungsi masa selang dan masa pemulihan purata. Dari segi kaedah pengukuran, kaedah pengukuran kualiti yang biasa digunakan dalam industri ditunjukkan dalam Rajah 4 di bawah:
Rajah 4 Kaedah pengukuran
Kaedah pengukuran bukanlah fokus skor kualiti pada peringkat ini N nines yang digunakan untuk kebolehgunaan itu sendiri cukup mudah dan setanding, jadi kami fokus pada kaedah pengiraan. Oleh kerana bilangan barisan perniagaan bersepadu yang besar dan sistem pengesyoran sebagai produk platform, hubungan antara sistem dan perniagaan adalah N:N Sukar untuk mengira ketersediaan sistem semasa untuk setiap industri, projek dan perniagaan. Kedudukan trafik boleh dikaitkan dengan perniagaan masa lapang dan hiburan, kepada projek membunuh skrip, kepada sebahagian daripada laluan utama paparan teras atau kepada jenis pengesyoran kandungan jenis atribusi fleksibel ini boleh digunakan Permintaan untuk pengiraan agregat adalah paling sesuai. Seperti yang ditunjukkan dalam Rajah 5 di bawah, jika ketersediaan ialah fungsi permintaan, ia boleh merangkumi bukan sahaja ciri kualiti yang kami ambil berat dalam bahagian sebelumnya, tetapi juga statistik kualiti bermakna perniagaan dalam pelbagai dimensi.
Rajah 5 Mengukur kualiti dari perspektif permintaan
Berdasarkan idea pembinaan dalam bab sebelumnya, daripada kerosakan kepada kecacatan, daripada keputusan pengesyoran "ya" atau "tidak" kepada kesan pengesyoran "baik" atau "buruk", daripada keseluruhan kepada setiap perniagaan, kami menerangkan ciri kualiti yang baik. mata yang sepatutnya ada. Dalam bab ini, kami menumpukan pada logik pengiraan penunjuk, memilih kecacatan utama, mentakrifkan "tindak balas permintaan yang berjaya", dan menambah dimensi pengagregatan perniagaan bagi skor kualiti.
Digabungkan dengan ciri kualiti yang diterangkan dalam Bab 3.2, kualiti sistem dinilai dari sudut perkadaran permintaan yang berjaya dalam pengiraan pelaksanaan sebenar , ia boleh dibahagikan kepada empat Kecacatan berikut pada setiap peringkat:
Permintaan yang mengalami kecacatan pada mana-mana bahagian kitaran hayat ditakrifkan sebagai tindak balas kecacatan dalam keputusan Pautan kecacatan khusus ialah dimensi analisis dan gerudi. turun. Kami memilih masalah biasa (Masalah sakit perniagaan, masalah kualiti frekuensi tinggi) daripada ciri kualiti dalam Bab 3.2 dan empat aspek kecacatan di atas untuk pengiraan Ambil Rajah 6 di bawah sebagai contoh:
Rajah 6 Kaedah Pengiraan Skor Kualiti
Ciri perniagaan bagi sistem pengesyoran yang komprehensif ialah Barisan berbilang perniagaan, perbezaan industri adalah besar, dan terdapat banyak lokasi bahan yang disyorkan Ini ditunjukkan dalam pengukuran kualiti Kami memerlukan analisis agregat di semua peringkat untuk membimbing operasi yang diperhalusi, seperti yang ditunjukkan dalam Rajah 7 di bawah:
Rajah 7 Analisis pengagregatan setiap peringkat perniagaan
Terdapat banyak perkhidmatan frekuensi sederhana dan rendah Di kali ini, turun naik nisbah sangat dipengaruhi oleh nilai mutlak permintaan . Untuk senario ini, beberapa bit trafik kecil boleh diagregatkan dan hanya dipantau pada peringkat industri atau projek pada peringkat minit.
Seperti yang ditunjukkan dalam Rajah 8 di bawah, kami menganggap permintaan yang dijawab oleh sistem pengesyoran sebagai tingkah laku penghantaran produk Perkadaran permintaan ini yang bebas kecacatan ialah skor kualiti sistem pengesyoran , ialah penunjuk keluaran kualiti peringkat atas. Berdasarkan kitaran hayat permintaan, penunjuk input peringkat pertama boleh diwujudkan untuk mengukur status kualiti proses teras, seperti kadar kecacatan penarikan semula, kadar kecacatan pengisihan, dsb. Penunjuk peringkat pertama juga boleh dibongkar lagi untuk mendapatkan penunjuk input peringkat kedua Contohnya, apabila kadar kecacatan panggil semula agak tinggi, kadar batal panggil balik, kadar tamat masa panggil semula, dll. boleh diukur. Permintaan pengguna juga boleh diagregatkan secara menegak, mendatar dan dalam dimensi masa berdasarkan perniagaan untuk mendapatkan skor kualiti dengan atribut perniagaan, yang akan lebih disasarkan dan terfokus.
Rajah 8 Sistem penunjuk kualiti
Set skor kualiti yang dipertingkatkan ini adalah berdasarkan permintaan Berbanding dengan kaedah pengiraan ketersediaan asal, unit menyelesaikan hadnya pada tahap tertentu: ia sensitif terhadap kecacatan, boleh merangkumi kesan pautan data dan memudahkan analisis agregat bagi pelbagai dimensi perniagaan.
Kualiti dikira berdasarkan butiran permintaan Dalam perkhidmatan aplikasi data, permintaan hanyalah salah satu daripada bentuk data luaran keluaran. Selepas melengkapkan skor kualiti asas, kitaran hayat permintaan hendaklah dilanjutkan ke seluruh pautan data, supaya pengukuran kualiti selesai. Pada masa ini, kami bergantung pada pertalian darah data untuk mengaitkan jadual data - sistem perniagaan - trafik sisi C untuk membina potret kualiti panorama, seperti yang ditunjukkan dalam Rajah 9 di bawah:
Rajah 9 Data sistem pengesyoran Hubungan darah
Hubungan darah ialah hubungan interpersonal yang dihasilkan oleh perkahwinan dan kelahiran dalam masyarakat manusia, seperti hubungan antara ibu bapa dan anak-anak, hubungan antara adik-beradik, dan hubungan kekeluargaan lain yang diperoleh daripadanya Data juga boleh menjana hubungan kekeluargaan data melalui gabungan dan penukaran. Hubungan darah data dibahagikan kepada pangkalan data, jadual data dan medan pada tahap yang berbeza, yang biasanya digunakan untuk aset data (Pengiraan populariti petikan, memahami konteks data), pembangunan data (Analisis kesan , analisis atribusi ), tadbir urus data (penjejakan status pautan, pengurusan gudang data) dan keselamatan data (pemeriksaan pematuhan keselamatan, penyebaran label). Di bawah idea semasa skor kualiti sistem yang disyorkan, analisis impak digunakan terutamanya untuk mengembangkan skor kualiti, dan semua permintaan daripada nod yang rosak ditandakan dan skor yang sepadan ditolak.
Di bawah semantik perniagaan sistem pengesyoran, kami telah menentukan enam jenis metadata perniagaan: gambar, penyelesaian, komponen, indeks, model, ciri, kami membina garis keturunan, yang boleh dibahagikan kepada Menyediakan akses tugas, analisis garis keturunan, dan eksport data. Akses tugas dibahagikan kepada modul pengumpulan dan modul pergudangan Apabila akses tugas selesai, nod dan hubungannya akan disimpan dalam pangkalan data graf, dan algoritma graf akan digunakan untuk mewujudkan hubungan darah. Selepas hubungan darah diwujudkan, keabnormalan nod itu sendiri menyokong penemuan sistem dan penandaan manual, dan analisis impak boleh diselesaikan secara automatik. Apabila keabnormalan berlaku dalam nod, mesej dimaklumkan dan maklumat tidak normal akan disebarkan di sepanjang garis keturunan, yang kemudiannya akan menjejaskan pengiraan skor kualiti pautan hiliran.
Apabila pengecualian menjejaskan hujung pengguna, kami cuba menerangkan semula kerugian dalam bahasa perniagaan. Berdasarkan model hasil komprehensif, nilai setiap UV niat bagi setiap baris perniagaan boleh dikira (lawatan pengguna ke halaman butiran pedagang dan halaman butiran pesanan kumpulan dipanggil lawatan niat), dan kemudian gunakan trafik ini untuk mengira status Lawatan tahun ke tahun dan membuat kesimpulan kerugian perniagaan secara automatik.
Kaedah pelaksanaan sistem skor kualiti bergantung pada titik terkubur dan diagnosis. Adalah disyorkan bahawa pautan penuh memasukkan input parameter, memanggil semula pra-pemprosesan, mengingat semula, memanggil semula pasca-pemprosesan, pengisihan kasar, pengisihan halus, penyusunan semula, dll. Setiap pautan mungkin gagal, jadi pengumpulan data perlu meliputi pengecualian masa jalan , input utama dan maklumat output setiap pautan, dsb. Seperti yang ditunjukkan dalam Rajah 10 di bawah, kami mengumpul data tersembunyi secara tidak segerak melalui Kafka, dan kemudian melaksanakan pemprosesan data mengikut senario: dalam persekitaran pengeluaran, ES hampir masa nyata membina indeks untuk menyediakan perkhidmatan pertanyaan pantas selama 4 hari yang lalu dan log 4 hari yang lalu diarkibkan dalam Hive Selain itu, Data titik terkubur dihuraikan melalui enjin Flink Selepas diagnosis yang diperlukan, markah dikira dalam masa nyata dan maklumat penggera ditolak dalam persekitaran ujian dalam masa nyata untuk memudahkan ujian dan penyelesaian masalah. Akhir sekali, paparan berstruktur bagi kualiti pengesyoran pada peringkat yang berbeza meningkatkan kebolehbacaan keputusan.
Rajah 10 Pelaksanaan sistem skor kualiti
Peningkatan sistem skor perlu dilakukan secara beransur-ansur dinaikkan pangkat, untuk pengesyoran Sistem, kegagalan untuk mengesyorkan keputusan adalah masalah kualiti yang paling serius. Perkara pertama yang kami kumpulkan dan hitung ialah keputusan nol cadangan, yang sepadan dengan kadar kecacatan hasil dan kadar kecacatan ingat semula dalam penunjuk tahap pertama dan kadar nol hasil dan kadar nol ingat dalam penunjuk tahap kedua. Pada masa yang sama, disebabkan oleh ciri-ciri perniagaan perniagaan yang komprehensif, terdapat banyak industri, dan bekalan diagihkan secara tidak sekata dalam masa dan ruang, sejumlah besar keadaan penapisan bersilang juga akan mempunyai hasil yang kosong, menjejaskan pengiraan skor kualiti .
Bagaimana untuk menghapuskan keputusan kosong yang memenuhi jangkaan perniagaan dan menghapuskan bunyi yang berkualiti Atas dasar merealisasikan perkara tersembunyi, diagnosis menjadi sangat penting. Mengambil keputusan kosong sebagai contoh, kami terutamanya mengenal pastinya daripada tiga aspek: diagnosis parameter, diagnosis data dan diagnosis pautan. Diagnosis data merujuk kepada apabila keadaan penapisan dalam talian menghasilkan hasil kosong, kembali ke sumber untuk mengesahkan data asas untuk kali kedua dan bertanya sama ada data jadual bawah kosong. Jika memang tiada bekalan yang berkaitan dalam jadual bawah, peraturan bebas penggera akan dicetuskan dan tempoh sah bebas penggera akan ditetapkan dalam tempoh masa tertentu, industri semasa di bandar semasa memang kekurangan bekalan yang relevan, dan keputusan kosong tidak akan dimasukkan dalam pengiraan skor kualiti.
Jika terdapat bekalan di bahagian bawah jadual, ini bermakna terdapat keabnormalan dalam pemprosesan data atau proses perkhidmatan, yang menyebabkan ia tidak dapat ditarik balik. Maka pautan ralat akan menjadi ditentukan melalui diagnosis pautan dan dimasukkan dalam pengiraan skor kualiti yang sepadan. Cara mewujudkan mekanisme pemadanan peraturan ( iaitu enjin peraturan ) adalah kunci untuk mendiagnosis enjin. Terdapat banyak pilihan untuk enjin peraturan hari ini, seperti EasyRule, Drools, Zools, Aviator, dsb. Menurut analisis di atas, enjin diagnostik perlu dapat melakukan diagnosis peraturan pada parameter permintaan, pautan yang disyorkan dan data asas. Diagnosis parameter permintaan dan pautan yang disyorkan boleh dilakukan melalui parameter memori, manakala diagnosis data memerlukan maklumat daripada storan pihak ketiga, jadi sebahagian daripadanya mesti disesuaikan dan dibangunkan. Memandangkan kematangan dan kemudahan alatan manusia, enjin ekspresi Aviator adalah lebih sesuai. Untuk menyesuaikan kandungan yang perlu didiagnosis, diagnosis ekspresi yang direka bentuk primitif adalah seperti berikut:
<span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//参数诊断-原语表达</span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//是否符合一定参数的诊断原语</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cityId</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">include</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">string</span>.<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">split</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'1,2,3,4,5,6,7,8,9,10,16,17'</span>,<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">','</span>),<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">str</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cityId</span>))]<br><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//链路诊断-原语表达</span><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//1、召回异常诊断原语</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallException</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">param</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recall</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#exception</span>#}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallException</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallException</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span> ]<br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//2、召回空无异常的诊断原语</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmpty</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">param</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recall</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#after</span>#}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmpty</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmpty</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span> ]<br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//3、召回不为空,过滤规则执行后为空的诊断原语</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmptyCode</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">param</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recall</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#after</span>#}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">predictFiltersEmptyCode</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">param</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">predict</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#after</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#filters</span>#}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmptyCode</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">==</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">||</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">recallEmptyCode</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">==</span><span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span>)<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">predictFiltersEmptyCode</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span>]<br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//4、执行某一具体过滤规则后,导致无结果的匹配</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">filterEmptyCode</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">param</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">PredictStage</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#filter</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#after</span><span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#_compSkRef</span>#}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">filterEmptyCode</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">filterEmptyCode</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">==</span><span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'deleteItemByConditionalFilter'</span> ]<br><br><span style="color: rgb(106, 115, 125); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">//数据诊断-原语表达(判断底层是否有数据,若没有则为true,否则为false)</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">keys</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">keySpread</span>[<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">@</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">prefix</span> <span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">138_</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">ymtags_</span>][<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">@</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">crossOrder</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">city_$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cityId</span>}<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">_platform_$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">platformNo</span>}<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">_surgery_prj_$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">genericLvlIds</span>}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cnt</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cellar</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">@</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cellar</span>[<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">@</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">count</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">$</span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">keys</span>}],<br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">global</span>:<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">check</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">aviator</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cnt</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">nil</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cnt</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">!=</span><span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">''</span> <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">&&</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">long</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">cnt</span>) <span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">0</span> ]</span>
Skor kualiti boleh digunakan untuk pemantauan dan operasi masa nyata Semakan memerlukan ahli pasukan untuk membuat susulan terhadap perubahan tepat pada masanya. Secara amnya, sistem penggera yang biasa digunakan oleh syarikat mengkonfigurasi penerima penggera berdasarkan butiran nama perkhidmatan. Perkhidmatan platform seperti sistem pengesyoran menyediakan perkhidmatan melalui antara muka bersatu, tetapi strategi model dikekalkan oleh pelajar yang berbeza, dan terdapat ambang tertentu pengetahuan dan pemahaman industri antara perniagaan. Penggera jenis siaran lalai boleh menyebabkan ribut penggera dengan mudah Semua orang tidak boleh memfokuskan pada masalah modul mereka sendiri, dan kadangkala terlepas penggera. Demi kadar susulan (seperti yang ditunjukkan dalam Rajah 11 di bawah), kami membangunkan fungsi susulan berdasarkan penggera sedia ada, penghalaan penggera untuk tahap trafik tertentu kepada orang yang bertanggungjawab berdedikasi dan rakaman aliran Status susulan memudahkan pemberitahuan tepat pada masanya dan semakan seterusnya. Dari segi operasi, kami membina papan pemuka berkualiti melalui laporan data dan sentiasa menyemak turun naik kualiti perniagaan yang berbeza.
Rajah 11 Proses susulan penggera
Kualiti skor Pelaksanaan bermula dengan kadar nol hasil Ia menyahhimpun dan mengumpul kadar nol panggil semula, kadar nol ramalan model dan kadar nol operator penyusunan semula mengikut proses, dan mengagregatkannya ke dalam platform, perniagaan, borang, projek dan kedudukan trafik dengan. perniagaan. Tindakan dan keputusan tadbir urus dibahagikan kepada aspek berikut:
Selepas pengurusan dan pengenalpastian keputusan batal, kadar nol trafik teras semasa ialah 0.01%, bermakna 99.99% permintaan trafik teras dijamin mendapat hasil analisis kualiti pembinaan Pada masa yang sama, ia memastikan kadar penemuan sistem dan kadar susulan penggera.
Apa yang disampaikan oleh sistem pengesyoran ialah nilai data Hanya apabila data dipermodalkan nilai ini boleh mampan dan menambah nilai. Proses membina model kualiti sistem pengesyoran sebenarnya juga mengenai pengumpulan aset data. Selepas data dikumpul, ia menjadi aset dan secara amnya mesti memenuhi empat syarat berikut: boleh mengalir, boleh diukur, boleh dikawal dan nilai tambah Ini semua diliputi dalam kaedah pengiraan dalam Bab 4. Proses operasi penunjuk juga merupakan proses mengumpul aset pengetahuan yang berkualiti. Bagaimanakah model kecacatan perisian mempengaruhi kualiti penghantaran produk akhir? Adakah terdapat sebarang korelasi atau kausaliti antara mereka? Semasa proses sub-operasi kualiti, kita boleh mengisi secara beransur-ansur peta kualiti dalam minda kita dan membentuk hubungan topologi antara penunjuk, kecacatan, dan penunjuk dan kecacatan. Ini adalah proses mempermodalkan kualiti. Sebagai contoh, melalui amalan perniagaan sistem pengesyoran, kami mendapati bahawa 80% daripada kegagalan dalam talian disebabkan oleh keluaran, dan 80% daripada kegagalan keluaran disebabkan oleh keluaran data Ini boleh membimbing kami untuk mengurangkan kegagalan dalam talian melalui tadbir urus keluaran data.
Berdasarkan kebolehgunaan, kami melaraskan kaedah pengiraan dan mewujudkan skor kualiti sistem pengesyoran berbilang peringkat, dan mengembangkannya kepada pelbagai bahan yang disyorkan dan pelbagai Teras modul perniagaan ialah kami telah melengkapkan lelaran kognitif daripada "ketersediaan" perkhidmatan luaran kepada "baik atau buruk" perkhidmatan luaran, yang juga merupakan asas untuk operasi yang berkualiti dan diperhalusi. Pelan susulan adalah untuk terus memperkayakan pengiraan dan liputan pautan model kualiti sebaliknya, kami akan melakukan lebih banyak kerja tadbir urus yang berkualiti berdasarkan model kualiti yang akan kami fokuskan dan ulangi masa depan termasuk:
Yong Hao, Gengen, Wang Xin, He He, Li Cong, dsb. semuanya daripada jabatan teknologi platform dalam gedung Meituan/pasukan data perniagaan komprehensif dalam kedai.
Atas ialah kandungan terperinci Model kualiti dan amalan sistem pengesyoran perniagaan komprehensif Meituan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!