1. Kuelewa chanzo na athari za data inayorudiwa
Kwanza, ni lazima tuelewe kwa nini data nyingi zinazorudiwa hutolewa. Wakati wa ujenzi wa faili ya kamusi, data inaweza kukusanywa kutoka kwa vyanzo vingi vya data, na kuna mwingiliano wa sehemu kati ya vyanzo hivi vya data. Kwa mfano, wakati wa kukusanya data kutoka kwa orodha tofauti za maneno, seti za kawaida za nenosiri, orodha mbalimbali za mchanganyiko wa wahusika, nk, baadhi ya maneno ya msingi au mchanganyiko rahisi wa nenosiri unaweza kuwepo katika vyanzo vingi.
Data hii inayorudiwa itakuwa na athari nyingi mbaya. Kutoka kwa mtazamo wa kuhifadhi, nafasi ya 2T tayari ni kubwa sana Ikiwa kuna kiasi kikubwa cha maudhui yanayorudiwa ndani yake, ni sawa na kupoteza nafasi ya thamani ya kuhifadhi. Unapotumia faili hii ya kamusi kwa kupasuka kwa nenosiri au shughuli nyingine, maudhui ya kurudia yanaweza kusababisha shughuli zisizohitajika za utafutaji na kulinganisha. Kwa mfano, ikiwa algorithm inahitaji kulinganisha maudhui katika kamusi na nenosiri lengwa moja baada ya nyingine wakati wa kupasuka kwa nenosiri, maudhui yanayorudiwa yataongeza idadi ya ulinganisho, na hivyo kupunguza kasi ya mchakato mzima wa kupasuka.
2. Mbinu ya kuchuja kulingana na zana za usindikaji wa maandishi
Tumia zana chini ya mfumo wa Windows
-Tumia PowerShell
-Katika mfumo wa Windows, PowerShell hutoa kazi nyingi za usindikaji wa maandishi. Tunaweza kutumia script zifuatazo za PowerShell ili kuondoa mistari ya duplicate:
```powershell
$lines = get-content " dictionary.txt "
$uniqueLines = @ ()
foreach ($line in $lines) {
if ($uniquelines-notcontains $line) {
$uniqueLines + = $line
{
```
Hati hii kwanza inasoma mistari yote katika "dictionary.txt" kwenye safu "$ mistari". Kisha, kupitia kila mstari kwa kitanzi, na ikiwa mstari hauko katika safu mpya "$ uniqueLines", uongeze kwenye safu mpya. Hatimaye, hifadhi yaliyomo katika safu mpya kwa "unique_dictionary.txt".
Algorithm ya kugawanya na kushinda
-Kwa sababu faili zetu za kamusi ni kubwa sana (2T), usindikaji wa moja kwa moja unaweza kukutana na matatizo kama vile kumbukumbu ya kutosha. Algorithm ya kugawanya na kushinda inaweza kutatua tatizo hili vizuri. Tunaweza kugawanya faili hii kubwa katika files ndogo ndogo. Kwa mfano, tunaweza kuigawanya kulingana na idadi fulani ya mistari au ukubwa wa faili.
-Kisha, rudia uchujaji kwa kila faili ndogo tofauti. Unganisha tena files ndogo zilizochakatwa kwenye faili moja. Wakati wa mchakato wa kuunganisha, unahitaji pia kuangalia tena kwa maudhui ya duplicate, kwa sababu maudhui sawa yanaweza kuwepo kati ya files ndogo tofauti.
4. Thibitisha matokeo ya kuchuja
Baada ya kukamilisha uchujaji unaorudiwa, tunahitaji kuthibitisha kama matokeo ni sahihi. Unaweza kutumia mbinu rahisi, kama vile kuchagua mistari kwa nasibu, na uangalie idadi ya matukio ya mistari hii katika faili ya awali na faili iliyochujwa. Ikiwa inaonekana mara nyingi katika faili ya awali na mara moja tu katika faili iliyochujwa, chujio ni halali.
Kwa kuongeza, unaweza kulinganisha ukubwa wa faili asili na faili zilizochujwa. Ikiwa saizi ya faili iliyochujwa ni ndogo sana kuliko faili asili, na inafanya vizuri katika majaribio yanayofuata (kama vile kutumia faili hii ya kamusi kufanya jaribio rahisi la utafutaji wa nenosiri ili kuona kama inafanya kazi vizuri na hakuna nenosiri linalopaswa kuwepo linalokosekana), inaweza pia kuelezea kurudia Kazi ya kuchuja imepata matokeo mazuri.
Seva yetu hutumia kumbukumbu ya 512G na seva ya diski ngumu ya itifaki ya kasi ya juu Ilichukua nusu mwezi kukamilisha usindikaji kwa mafanikio na kugundua seti ya hati bora za usindikaji huduma kwa wateja wa tovuti ili kuwasiliana, Chuja mitego iliyokumbwa wakati wa mchakato wa kurudia, na uandike hati za usindikaji kiotomatiki!
Kuchuja nakala katika faili ya kamusi ya aina ya maandishi ya 2T ni kazi ngumu lakini muhimu sana. Kwa kuchagua zana na algoriti ipasavyo, tunaweza kuondoa maudhui yanayorudiwa kwa ufanisi na kuboresha ubora na ufanisi wa matumizi ya faili za kamusi, ambayo ni ya umuhimu mkubwa katika kupasuka kwa nenosiri au hali zingine za maombi kulingana na faili hii ya kamusi.