hjælpe med at udrydde korruption (

, hjælpe med til at eliminere (korruption med en udstationering motor,,,,, foxtalk,,,, maj 1999, ophavsret pinnacle forlagsvirksomhed, inc. alle rettigheder forbeholdt., hjælpe med at udrydde korruption med en udstationering motor (,,,,,, steve zimmelman,,,,,,,, (sag har været hos os i ca. 15 år og mens jeg virkelig gerne åbne struktur for struktur, der ', altid været et iboende problem med indeks og data korruption - - især i et net.problemet synes at være med antallet af data og' er sendt op og ned af netværket ledning.sammen med flere brugere, og det betyder ' t tage lang tid at springe et indeks.på den anden side enkelt bruger systemer synes at være langt mere stabilt og lad ' ikke udviser samme korruption niveauer som deres netværksforbundet fætre.en løsning, der ofte anvendes af entreprenører (herunder jeg selv, har været at reindex eller genskabe indeks filer, når et indeks med fejl, stikker hovedet frem.men det kan blive umulig, når datasættene begynder at tilgang, de fire millioner rekord, mark.en langsigtet løsning kunne være at tvinge multi-user ansøgning om at opføre sig som en enkelt bruger systemet ved at udvikle, hvad ' der er blevet kendt som en udstationering motor.,, teorien bag udstationering motor er faktisk ret enkelt.den grundlæggende regel aldrig at lade brugerne til at sende noget direkte til delt bord.i stedet for brugeren stillinger til en skygge.efter skyggen tabel er befolket, og ingen fejl er sket under den post, ansøgningen passerer et direktiv om udstationering af motor, som i virkeligheden siger motoren, hvad det ' skulle gøre.i dette tilfælde er det ajourfører de vigtigste tabel fra data i skyggen.så hvad ' s, der faktisk sker, er, at udstationering motor eller en enkelt arbejdsplads, er kun en udstationering til hovedbordet.det er præcis, hvad en enkelt bruger system.,, anatomi af en motor, er de fleste af udstationering motorer og' har set er i stand til at behandle en række anmodninger ved hjælp af en tabel til modtager sine direktiver.et enkelt direktiv skema kan have en struktur, som denne:,,,,,,, fieldname, type, størrelse, 1 id karakter 10 2 program karakter 50 3 params karakter 60 4 shadowtabl karakter 50 5 datereqest dato 8 6 datedone dato, 8 7 7 8 8 start_time karakter end_time karakter 8 9 gjort logisk 1 10 brugeridentifikation karakter. 5. motoren sidder i en sløjfe, og ser frem til data, hvor gjort område er falsk.når man ser en, vil begynde at behandle det ved hjælp af de oplysninger, der er lagret i referatet. f.eks. lad ' s sige en ansøgning skal ajourføre en klient ' s rekord.anvendelsen vil få en kopi af protokollen og opbevarer det i en skygge.efter at brugeren får de ønskede ændringer, han eller hun klik på post - eller begå knap, og ansøgningen skriver en plade til direktivet.The code might look something like this:,,, *-- Copy customer record to shadow-table, *-- for editing., *,,, Select Customer, If Seek(m.CustNo),    cTempTable = 'Temp'+Right(Sys(3),4)+'.dbf',    Copy To (m.cTempTable);,       While Customer.CustNo=m.CustNo, Endif ,,, *, *-- When editing is complete, add record to, *-- Posting Directive Table., *,,, Insert Into Directive;,    (ID,Program,Parms,ShadowTabl,;,     DateReqest,UserID,Done);,    Values (SYS(2015),'CustUpDt.fxp',;,            m.CustNo,m.cTempTable,Date(),m.UserID,.F.), ,, When the posting engine sees the record, it starts to process the record something like this:,,, If Seek(.F.,'Directiv'),,,    Replace Directiv.start_time med time(),     hvis!tom (direktiv. shadowtabl),        hvis fil (direktiv. shadowtabl),           anvendelse (direktiv. shadowtabl) alias skygge i 0,        endif,     endif,     hvis!tom (direktiv. program), og,                fil (alltrim (direktiv. program),        hvis!tom (direktiv. parms),           pparms = di­rektiv. parms,           (direktiv. program) med pparms,        andet,           (direktiv. program),        endif,     endif,,,,     *,     * - - tæt på skyggen.,     *,,,    , hvis de anvendes (' skygge '),        anvendelse i skygge,     endif,,,     *,     * - ajourføre direktiv tabel.,     *,,,     udvælge di­rektiv,     erstatte færdig. t.,;,             datedone med date(),,,             end_time med time(),,, endif, motoren kan være en ikke - synlige eller synlige anvendelse.jeg foretrækker en synlig motor, så jeg kan overvåge motorens ' fremskridt, hvis det er nødvendigt., anvendelse af en udstationering motor er tydeligvis ikke for mindre anlæg, og det kræver lidt reengineering.men for store anlæg, hvor data integritet skal sikres, og det er den vej, vi skal gå.,,



Previous:
Next Page: