Art. 01 – Vol. 22 – Nr. 2 – 2012

BAZĂ DE DATE PENTRU UN SISTEM DE CONTROL AUTOMAT
AL ACCESULUI AUTOVEHICULELOR

Mihnea Horia VREJOIU
mihnea@dossv1.ici.ro
Institutul Naţional de Cercetare-Dezvoltare în Informatică – ICI Bucureşti

Rezumat: S-a imaginat, proiectat şi implementat un model de structură de bază de date destinată stocării datelor de identificare, autorizare şi restricţii privind accesul într-o facilitate de tip garaj sau parcare cu permisiune de acces selectivă, ca parte a unei aplicaţii experimentale de tip control automat al accesului (Automatic Access Control) autovehiculelor pe baza recunoaşterii numărului de înmatriculare (License Plate Recognition – LPR) [1]. A fost dezvoltat un modul operaţional pentru crearea, actualizarea şi respectiv consultarea cu multiple opţiuni a acesteia, utilizându-se motorul de sistem de gestiune / management de baze de date relaţionale (SGBDR) SQLite [2],[3] versiunea 3, compatibil SQL [4] şi ACID (Atomicity, Consistency, Isolation, Durability), creat de D. Richard Hipp, disponibil liber (sursele fiind public domain) şi oferind o bibliotecă de funcţii de interfaţare (API) Win32, scrisă în şi pentru limbajul C.

Cuvinte cheie: Automatic Access Control, Relational Database, SQL, License Plate Recognition (LPR), Automatic Number Plate Recognition (ANPR).

Introducere:

Articolul de faţă prezintă câteva aspecte legate de proiectarea şi implementarea structurii şi logicii funcţionale a unei baze de date relaţionale conţinând informaţii privind deţinătorul, autorizarea şi restricţiile aplicabile autovehiculelor înregistrate, bază de date propusă pentru cazul unei aplicaţii de control automat al accesului autovehiculelor pe baza recunoaşterii automate a numărului de înmatriculare.

Vom enumera mai întâi câteva considerente generale de la care s-a pornit. Astfel, am considerat că în practică, într-o aplicaţie de gestiune şi management de parcare / garaj de reşedinţă sau companie cu permisiune de acces pe bază de preînregistrare, este util şi necesar ca pe lângă „cheia” de identificare strictă a unui autovehicul la un moment dat, reprezentată de numărul său de înmatriculare, să fie stocate în baza de date şi informaţii privind deţinătorul acestuia, inclusiv un cod unic, atribuit automat secvenţial, de identificare neechivocă a sa în baza de date, pentru facilitarea unor operaţiuni contractuale, de plată şi/sau comunicare, precum şi pentru diverse activităţi de raportare etc. În plus, este posibil ca aceluiaşi deţinător – eventual o companie – să-i corespundă în baza de date mai multe numere de înmatriculare autorizate, simultan sau nu. De asemenea, poate fi utilă şi păstrarea unor imagini reprezentând maşina şi respectiv şoferul acesteia, pentru confruntarea vizuală, dacă este cazul, de către operatorul uman, în situaţii speciale. În altă ordine de idei, menţinerea actualizată a unui atribut privind starea „activă” sau „suspendată” a autorizării de acces pentru un autovehicul a apărut ca potrivită pentru filtrarea şi eficientizarea căutărilor în baza de date. Totodată, am considerat că ar putea fi de interes şi asocierea încă unui atribut de tipul „autorizare permanentă” versus „temporară”, în sensul autorizării accesului unui vehicul pe durate contractuale mai lungi sau doar ocazionale (vizitatori). În ceea ce priveşte autorizarea propriu-zisă de acces, am avut în vedere posibilitatea definirii unor restricţii specifice, privind o perioadă de timp exprimată prin data de început şi opţional de expirare, posibil nuanţată la rândul ei pe baza unui anumit interval orar zilnic, fie închis, fie deschis prin specificarea numai a orei de început sau respectiv de terminare, precum şi eventual de prestabilirea valabilităţii numai pentru anumite zile din săptămână. În plus, am prevăzut şi un atribut care să indice situaţia curentă pentru un număr autorizat, în sensul existenţei vreunei restricţii temporale speciale sau nu. Astfel, verificarea autorizării accesului pentru o anumită plăcuţă de înmatriculare se va putea face, dacă este cazul, cu testarea încadrării concurente în toate criteriile curent definite în baza de date, pe baza numărului de înmatriculare şi, eventual şi a momentului la / pentru care se solicită verificarea respectivă.

Vizualizează articolul complet

S-a mai avut în vedere asigurarea posibilităţilor de actualizare / întreţinere a bazei de date prin adăugare de noi înregistrări, modificare a conţinutului unor câmpuri sau chiar ştergere integrală a unora dintre acestea. Pentru adăugarea unui nou deţinător, s-a prevăzut alocarea automată a primului cod de identificare secvenţial disponibil în baza de date, astfel încât să fie completate posibile „goluri” de continuitate în secvenţialitate, apărute prin ştergerea de înregistrări. În ceea ce priveşte aceasta din urmă, subliniem faptul că ştergerea trebuie făcută cu atenţie, numai de personal autorizat în acest sens, şi numai relativ la cea mai recentă înregistrare privind un anumit număr de înmatriculare, pentru a nu se compromite completitudinea şi consistenţa istorică a bazei de date. Pentru acelaşi deţinător deja înregistrat pot fi adăugate eventuale noi numere de înmatriculare, autorizate fiecare corespunzător. De asemenea, pentru un acelaşi număr de înmatriculare, pot fi definite multiple perioade de autorizare, obligatoriu disjuncte între ele dacă există discontinuităţi temporale, istoria fostelor autorizări păstrându-se implicit şi consistent în baza de date. Eventualele modificări / actualizări privind durata şi restricţiile afectează numai autorizarea curentă, în timp ce datele comune (nume deţinător, adresă şi informaţii de contact, imagini), odată actualizate, sunt reţinute în baza de date ca valabile pentru toate perioadele istorice de autorizare.

Din punctul de vedere al posibilităţilor de consultare, s-a urmărit păstrarea unei flexibilităţi maxime, realizabilă atât prin selectarea câmpurilor care sunt dorite a fi raportate, cât şi prin stabilirea criteriilor de căutare de la caz la caz, într-un mod uşor şi intuitiv, prin selectarea şi respectiv editarea unor opţiuni specifice de către operator.

Concluzii

Avându-se în minte posibilele cerinţe ale unei aplicaţii de tip control automat al accesului (Automated Access Control) autovehiculelor pe baza recunoaşterii numărului de înmatriculare (License Plate Recognition – LPR), s-a imaginat, proiectat şi implementat un model de structură de bază de date relaţională organizată sub forma a trei tabele legate, destinate stocării datelor de identificare, autorizare şi eventuale restricţii privind accesul într-o facilitate de tip parcare / garaj cu permisiune de acces selectiv.

A fost dezvoltat totodată şi un modul operaţional pentru crearea, actualizarea şi respectiv consultarea cu multiple opţiuni a acestei baze de date. Pentru implementare s-a utilizat limbajul C, iar ca motor SGBDR, SQLite ver. 3 şi interfaţa de programare (API) C Win32 oferită de acesta.

S-au efectuat teste pentru toate funcţiile implementate şi combinaţiile posibile de parametri ai acestora, teste care au validat valabilitatea structurii şi corectitudinea implementării, precum şi funcţionalitatea propusă.

Se poate afirma astfel că s-a realizat o structură de bază de date funcţională, flexibilă, cu potenţial de aplicabilitate pentru un sistem real de control automat al accesului autovehiculelor.

Bibliografie

  1. Vrejoiu, M. H.: Sistem pentru control automat acces autovehicule, bazat pe identificarea plăcuţelor de înmatriculare, folosind tehnici şi algoritmi de vedere artificială şi OCR, faza
    a V-a: Integrare, implementare şi testare sistem experimental de control automat acces autovehicule, Raport de cercetare, Institutul Naţional de Cercetare – Dezvoltare în Informatică – ICI Bucureşti, România, proiectul PN06-19 0207, dec. 2008
  2. *** SQLite, wikipedia.org/wiki/SQLite
  3. *** SQLite Home Page, http://www.sqlite.org/
  4. *** SQL Tutorial, http://www.w3schools.com/sql/default.asp

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.