Kompüterdəki tarix və vaxt itdi: nə etməli. Keşin bitmə seçimləri

Demək olar ki, bütün layihələr tarix və vaxtın düzgün idarə edilməməsi və saxlanması nəticəsində yaranan problemlərlə qarşılaşır. Layihə eyni saat qurşağında istifadə olunsa belə, qış/yay vaxtına keçdikdən sonra yenə də xoşagəlməz sürprizlər əldə edə bilərsiniz. Eyni zamanda, az adam əvvəldən düzgün mexanizmin tətbiqi ilə çaşqındır, çünki görünür, bununla heç bir problem ola bilməz, çünki hər şey mənasızdır. Təəssüf ki, sonrakı reallıqlar bunun belə olmadığını göstərir.

Məntiqi olaraq tarix və vaxtla əlaqəli aşağıdakı dəyərlər növlərini ayırd etmək olar:


Hər bir məqamı ayrıca nəzərdən keçirək, unutmadan.

Tarix və saat

Tutaq ki, analiz üçün material toplayan laboratoriya +2 ​​saat qurşağında, analizlərin vaxtında başa çatdırılmasına nəzarət edən mərkəzi filial isə +1 zonasındadır. Nümunədə göstərilən vaxtlar materialın birinci laboratoriya tərəfindən toplandığı zaman qeyd edilmişdir. Sual yaranır - mərkəzi ofis hansı saat rəqəmini görməlidir? Aydındır ki, mərkəzi ofis proqram təminatı 15 yanvar 2014-cü il saat 12:17:15 - bir saat az göstərməlidir, çünki onların saatına görə hadisə elə həmin anda baş verib.

Verilənlərin müştəridən serverə və geriyə keçməsi mümkün olan hərəkət zəncirlərindən birini nəzərdən keçirək ki, bu da müştərinin cari saat qurşağına uyğun olaraq həmişə tarixi/saatı düzgün göstərməyə imkan verir:

  1. Dəyər müştəri üzərində yaradılmışdır, məsələn, 2 mart 2016-cı il 15 :13:36, müştəri +2 saat qurşağındadır.
  2. Dəyər serverə ötürülmək üçün simli təsvirə çevrilir - “2016-03-02T 15 :13:36+02:00”.
  3. Seriallaşdırılmış məlumatlar serverə göndərilir.
  4. Server vaxtı tarix/vaxt obyektinə silərək onu cari saat qurşağına gətirir. Məsələn, server +1-də işləyirsə, o zaman obyekt 2 mart 2016-cı il tarixini ehtiva edəcəkdir 14 :13:36.
  5. Server verilənlər bazasında məlumatları saxlayır, lakin orada saat qurşağı haqqında heç bir məlumat yoxdur - ən çox istifadə olunan tarix/vaxt növləri bu barədə heç nə bilmir. Beləliklə, 2 mart 2016-cı il məlumat bazasında saxlanacaq 14 :13:36 "naməlum" saat qurşağında.
  6. Server verilənlər bazasından məlumatları oxuyur və 2 mart 2016-cı il dəyəri ilə uyğun obyekt yaradır 14 :13:36. Server +1 saat qurşağında işlədiyi üçün bu dəyər də eyni vaxt zonasında şərh olunacaq.
  7. Dəyər müştəriyə ötürülmək üçün simli təsvirə çevrilir - “2016-03-02T 14 :13:36+01:00”.
  8. Seriallaşdırılmış məlumatlar müştəriyə göndərilir.
  9. Müştəri qəbul edilmiş dəyəri cari saat qurşağına köçürərək tarix/saat obyektinə silir. Məsələn, -5 olarsa, göstərilən dəyər 2 mart 2016-cı il olmalıdır 09 :13:36.
Hər şey toxunulmaz görünür, amma gəlin bu prosesdə nəyin səhv ola biləcəyini düşünək. Əslində burada problemlər demək olar ki, hər addımda baş verə bilər.
  • Müştəridə vaxt ümumiyyətlə saat qurşağı olmadan yaradıla bilər - məsələn, DateTimeKind.Unspecified ilə .NET-də DateTime növü.
  • Serializasiya mühərriki vaxt zonasının ofsetini daxil etməyən formatdan istifadə edə bilər.
  • Obyektə seriyadan çıxarıldıqda, vaxt zonasının ofsetinə, xüsusən də "ev istehsalı" seriyalı deserializatorlarda - həm serverdə, həm də müştəridə məhəl qoyula bilər.
  • Verilənlər bazasından oxuyarkən, tarix/saat obyekti ümumiyyətlə saat qurşağı olmadan yaradıla bilər - məsələn, DateTimeKind.Unspecified ilə .NET-də DateTime növü. Üstəlik, .NET-də DateTime ilə, praktikada, korrektədən dərhal sonra başqa DateTimeKind-i açıq şəkildə göstərməsəniz, bu, baş verənlərdir.
  • Ümumi verilənlər bazası ilə işləyən proqram serverləri müxtəlif vaxt zonalarında yerləşərsə, vaxtın ofsetlərində ciddi çaşqınlıq yaranacaq. A serveri tərəfindən verilənlər bazasına yazılan və B serveri tərəfindən oxunan tarix/vaxt dəyəri B serverinin yazdığı və A serverinin oxuduğu eyni orijinal dəyərdən nəzərəçarpacaq dərəcədə fərqli olacaq.
  • Tətbiq serverlərinin bir zonadan digərinə ötürülməsi artıq saxlanmış tarix/vaxt dəyərlərinin səhv şərhinə gətirib çıxaracaq.
Lakin yuxarıda təsvir edilən zəncirdə ən ciddi çatışmazlıq serverdə yerli saat qurşağının istifadəsidir. Əgər yay/qış vaxtına keçid olmasa, əlavə problem olmayacaq. Ancaq əks halda çoxlu xoşagəlməz sürprizlər əldə edə bilərsiniz.

Yay/qış vaxtına keçid qaydaları, daha dəqiq desək, dəyişkəndir. Fərqli ölkələr vaxtaşırı öz qaydalarını dəyişə bilər və bu dəyişikliklər əvvəlcədən sistem yeniləmələrinə daxil edilməlidir. Təcrübədə biz dəfələrlə bu mexanizmin düzgün işləmədiyi vəziyyətlərlə qarşılaşmışıq və nəticədə əməliyyat sistemi və ya istifadə olunan üçüncü tərəf kitabxanaları üçün düzəlişlər quraşdırmaq yolu ilə həll edilmişdir. Eyni problemlərin təkrarlanma ehtimalı sıfır deyil, buna görə də onların qarşısını almaq üçün bir yol tapmaq daha yaxşıdır.

Yuxarıda təsvir edilən mülahizələri nəzərə alaraq, vaxtın ötürülməsi və saxlanması üçün ən etibarlı və sadə yanaşmanı tərtib edəcəyik: serverdə və verilənlər bazasında bütün dəyərlər UTC vaxt qurşağına çevrilməlidir.

Bu qaydanın bizə nə verdiyinə baxaq:

  • Serverə məlumat göndərərkən müştəri vaxt zonasının ofsetini keçməlidir ki, server vaxtı UTC-yə düzgün çevirə bilsin. Alternativ seçim müştərini bu çevrilməni etməyə məcbur etməkdir, lakin birinci variant daha çevikdir. Serverdən məlumatları geri qəbul edərkən, müştəri istənilən halda vaxtı UTC-də alacağını bilərək tarix və vaxtı yerli vaxt zonasına çevirəcək.
  • UTC-də yay və qış vaxtı arasında keçid yoxdur, buna görə də bununla bağlı problemlər aktual olmayacaq.
  • Serverdə, verilənlər bazasından oxuyarkən, vaxt dəyərlərini çevirmək lazım deyil, sadəcə UTC-yə uyğun olduğunu açıq şəkildə göstərməlisiniz. Məsələn, .NET-də buna vaxt obyektində DateTimeKind-i DateTimeKind.Utc təyin etməklə nail olmaq olar.
  • Ümumi verilənlər bazası ilə işləyən serverlər arasında vaxt zonalarının fərqi, həmçinin serverlərin bir zonadan digərinə ötürülməsi alınan məlumatların düzgünlüyünə heç bir şəkildə təsir göstərməyəcək.
Belə bir qaydanı həyata keçirmək üçün üç şeyə diqqət yetirmək kifayətdir:
  1. Serializasiya və sıradan çıxarma mexanizmini elə edin ki, tarix/saat dəyərləri UTC-dən yerli saat qurşağına və geriyə düzgün tərcümə olunsun.
  2. Əmin olun ki, server tərəfi deserializer UTC-də tarix/saat obyektləri yaradır.
  3. Verilənlər bazasından oxuyarkən UTC-də tarix/saat obyektlərinin yaradıldığına əmin olun. Bu element bəzən kod dəyişikliyi olmadan təqdim olunur - sadəcə olaraq bütün serverlərdə sistem saat qurşağı UTC olaraq təyin olunur.
Yuxarıdakı mülahizələr və tövsiyələr əla işləyir iki şərt birləşdirildikdə:
  • Sistem tələbləri yerli vaxtın və/və ya saat qurşağının ofsetinin saxlandığı kimi göstərilməsini tələb etmir. Məsələn, aviabiletlərdə hava limanının yerləşdiyi yerə uyğun saat qurşağında gediş və enmə vaxtları çap edilməlidir. Və ya server müxtəlif ölkələrdə yaradılmış fakturaları çap edərsə, hər biri yerli vaxtla bitməli və serverin saat qurşağına çevrilməməlidir.
  • Sistemdəki bütün tarix və vaxt dəyərləri "mütləqdir" - yəni. UTC-də bir dəyərə uyğun gələn gələcək və ya keçmiş zaman nöqtəsini təsvir edin. Məsələn, “reaktiv raket Kiyev vaxtı ilə saat 23:00-da baş verib” və ya “görüş Minsk vaxtı ilə 13:30-dan 14:30-a kimi baş tutacaq”. Bu hadisələr üçün rəqəmlər müxtəlif vaxt zonalarında fərqli olacaq, lakin onlar eyni vaxt nöqtəsini təsvir edəcəklər. Lakin ola bilər ki, proqram tələbləri bəzi hallarda "nisbi" yerli vaxtı nəzərdə tutur. Məsələn, “bu televiziya proqramı televiziya kanalının filialı olan hər bir ölkədə səhər saat 9:00-dan 10:00-a qədər efirə çıxacaq”. Belə çıxır ki, verilişin yayımı bir hadisə deyil, bir neçə hadisədir və potensial olaraq onların hamısı “mütləq” miqyasda müxtəlif vaxtlarda baş verə bilər.
Birinci şərtin pozulduğu hallarda, problem həm serverdə, həm də verilənlər bazasında vaxt zonasını ehtiva edən məlumat növlərindən istifadə etməklə həll edilə bilər. Aşağıda müxtəlif platformalar və DBMS-lər üçün nümunələrin kiçik siyahısı verilmişdir.
.NET DateTimeOffset
Java org.joda.time.DateTime, java.time.ZonedDateTime
MS SQL datetimeoffset
Oracle, PostgreSQL VAXT BÖLGƏSİ İLƏ VAXT ŞAMPASI
MySQL

İkinci şərtin pozulması daha mürəkkəb bir haldır. Əgər bu “nisbi” vaxtı sadəcə göstərmək üçün saxlamaq lazımdırsa və hadisənin baş verdiyi və ya müəyyən bir saat qurşağı üçün baş verəcəyi “mütləq” anı müəyyən etmək üçün heç bir tapşırıq yoxdursa, sadəcə olaraq vaxtın çevrilməsini söndürmək kifayətdir. Məsələn, istifadəçi 25 mart 2016-cı il tarixində saat 9:00-da televiziya şirkətinin bütün filialları üçün verilişin başlanğıcına daxil olub və bu formada ötürüləcək, saxlanılacaq və nümayiş etdiriləcək. Ancaq ola bilər ki, bəzi planlaşdırıcılar hər bir proqramın başlamasından bir saat əvvəl avtomatik olaraq xüsusi hərəkətlər etməlidir (bildirişlər göndərin və ya televiziya şirkətinin verilənlər bazasında bəzi məlumatların olub-olmadığını yoxlayın). Belə bir planlaşdırıcının etibarlı şəkildə həyata keçirilməsi əhəmiyyətsiz bir iş deyil. Deyək ki, planlaşdırıcı hər filialın hansı saat qurşağında olduğunu bilir. Və filialı olan ölkələrdən biri müəyyən müddətdən sonra saat qurşağını dəyişməyə qərar verir. Bu, göründüyü qədər nadir deyil - bu və əvvəlki iki il ərzində mən 10-dan çox oxşar hadisə saydım (http://www.timeanddate.com/news/time/). Belə çıxır ki, ya istifadəçilər vaxt qurşağı bağlamalarını yeni saxlamalı, ya da planlaşdırıcı bu məlumatı avtomatik olaraq Google Maps Time Zone API kimi qlobal mənbələrdən götürməlidir. Mən belə hallar üçün universal bir həll təklif etməyi öhdəmə götürmürəm, sadəcə qeyd edim ki, belə hallar ciddi araşdırma tələb edir.

Yuxarıdakılardan göründüyü kimi, halların 100%-ni əhatə edən vahid yanaşma yoxdur. Buna görə də, ilk növbədə sisteminizdə yuxarıda qeyd olunan vəziyyətlərdən hansının baş verəcəyini tələblərdən aydın şəkildə başa düşməlisiniz. Çox güman ki, hər şey UTC-də saxlama ilə ilk təklif olunan yanaşma ilə məhdudlaşacaq. Yaxşı, təsvir edilən müstəsna hallar onu ləğv etmir, sadəcə xüsusi hallar üçün başqa həllər əlavə edir.

Vaxtsız tarix

Deyək ki, müştərinin saat qurşağını nəzərə alaraq tarix və vaxtın düzgün göstərilməsini sıraladıq. Vaxtı olmayan tarixlərə və əvvəldə bu iş üçün verilən nümunəyə keçək - “yeni müqavilə 2 fevral 2016-cı il tarixindən qüvvəyə minir”. "Normal" tarixlər və vaxtlar kimi dəyərlər üçün eyni növlər və eyni mexanizm istifadə edilərsə nə olacaq?

Bütün platformaların, dillərin və DBMS-lərin yalnız tarix növləri yoxdur. Məsələn, .NET-də yalnız DateTime növü var, ayrıca "yalnız Tarix" növü yoxdur. Belə bir obyekt yaratarkən yalnız bir tarix göstərilsə belə, vaxt hələ də mövcuddur və 00:00:00-a bərabərdir. “2 fevral 2016-cı il 00:00:00” dəyərini +2-dən +1-ə ofset olan zonadan köçürsək, “1 fevral 2016-cı il 23:00:00” alırıq. Yuxarıdakı misal üçün bu, bir saat qurşağında fevralın 2-də, digərində isə fevralın 1-də başlayan yeni müqaviləyə bərabər olacaq. Hüquqi baxımdan bu, absurddur və təbii ki, belə də olmamalıdır. "Saf" tarixlər üçün ümumi qayda olduqca sadədir - bu cür dəyərlər saxlama və oxumaq üçün heç bir addımda çevrilməməlidir.

Tarixlər üçün çevrilmənin qarşısını almağın bir neçə yolu var:

  • Platforma vaxtı olmayan tarixi təmsil edən bir növü dəstəkləyirsə, ondan istifadə edilməlidir.
  • Obyekt metadatasına xüsusi atribut əlavə edin ki, serializatora verilən dəyər üçün vaxt qurşağına məhəl qoyulmamalıdır.
  • Tarixi müştəridən və geriyə sətir kimi ötürün və tarix kimi saxlayın. Müştəridə nəinki tarixi göstərmək, həm də onun üzərində bəzi əməliyyatları yerinə yetirmək lazımdırsa, bu yanaşma əlverişsizdir: müqayisə, çıxma və s.
  • Sətir kimi keçin və saxlayın və müştərinin regional parametrlərinə əsasən formatlaşdırma üçün tarixə çevirin. Əvvəlki seçimdən daha çox çatışmazlıqlara malikdir - məsələn, saxlanılan sətirdəki tarixin hissələri "il, ay, gün" qaydasında deyilsə, tarix diapazonu üzrə effektiv indeksləşdirilmiş axtarış etmək mümkün olmayacaq.
Siz, əlbəttə ki, əks misal göstərməyə cəhd edə və deyə bilərsiniz ki, müqavilə yalnız bağlandığı ölkə daxilində məna kəsb edir, ölkə eyni saat qurşağındadır və buna görə də onun qüvvəyə minməsi anı birmənalı olaraq müəyyən etmək olar. Ancaq bu halda belə, digər saat qurşaqlarından olan istifadəçilər bu hadisənin yerli vaxtlarının hansı anında baş verəcəyi ilə maraqlanmayacaqlar. Və hətta bu anı vaxtında göstərmək zərurəti yaransaydı, o, təkcə tarixi deyil, həm də ilkin vəziyyətə zidd olan vaxtı göstərməli idi.

Vaxt intervalı

Vaxt intervallarının saxlanması və işlənməsi ilə hər şey sadədir: onların dəyəri vaxt zonasından asılı deyil, buna görə burada xüsusi tövsiyələr yoxdur. Onlar bir sıra vaxt vahidləri (tələb olunan dəqiqlikdən asılı olaraq tam və ya üzən nöqtə) kimi saxlanıla və ötürülə bilər. Əgər ikinci dəqiqlik vacibdirsə, onda saniyələrin sayı kimi, millisaniyəlik dəqiqlik vacibdirsə, millisaniyələrin sayı kimi və s.

Ancaq intervalın hesablanması tələlərə səbəb ola bilər. Deyək ki, iki hadisə arasındakı vaxt intervalını hesablayan bəzi nümunə C# kodumuz var:

DateTime start = DateTime.Now; //... DateTime end = DateTime.Now; ikiqat saat = (son - başlanğıc).TotalHours;
İlk baxışdan burada heç bir problem yoxdur, amma bu belə deyil. Birincisi, belə kodun vahid sınaqdan keçirilməsi ilə bağlı problemlər ola bilər, lakin bu barədə bir az sonra danışacağıq. İkincisi, təsəvvür edək ki, zamanın ilk anı qış vaxtına, son an isə yay vaxtına düşür (məsələn, iş saatlarının sayı belə ölçülür, işçilərin gecə növbəsi var).

Fərz edək ki, kodun 2016-cı ildə yay vaxtının 27 mart gecəsinə təsadüf etdiyi vaxt qurşağında işləyir və yuxarıda təsvir olunan vəziyyəti simulyasiya edək:

DateTime start = DateTime.Parse("2016-03-26T20:00:15+02"); DateTime end = DateTime.Parse("2016-03-27T05:00:15+03"); ikiqat saat = (son - başlanğıc).TotalHours;
Bu kod 9 saat ərzində nəticələnəcək, baxmayaraq ki, əslində bu anlar arasında 8 saat keçib. Kodu belə dəyişdirərək bunu asanlıqla yoxlaya bilərsiniz:

DateTime start = DateTime.Parse("2016-03-26T20:00:15+02").ToUniversalTime(); DateTime end = DateTime.Parse("2016-03-27T05:00:15+03").ToUniversalTime(); ikiqat saat = (son - başlanğıc).TotalHours;
Beləliklə, nəticə - tarix və vaxt ilə hər hansı hesab əməliyyatları ya UTC dəyərlərindən, ya da saat qurşağı məlumatlarını saxlayan növlərdən istifadə etməklə aparılmalıdır. Və sonra lazım olduqda yerlilərə köçürün. Bu baxımdan DateTime.Now-u DateTime.UtcNow-a dəyişdirməklə orijinal nümunəni asanlıqla düzəltmək olar.

Bu nüans konkret platformadan və ya dildən asılı deyil. Budur Java-da eyni problemi olan oxşar kod:

LocalDateTime start = LocalDateTime.now(); //... LocalDateTime sonu = LocalDateTime.now(); uzun saatlar = ChronoUnit.HOURS.arasında(başlanğıc, son);
O, həmçinin asanlıqla düzəldilə bilər - məsələn, LocalDateTime əvəzinə ZonedDateTime istifadə etməklə.

Planlaşdırılmış tədbirlərin cədvəli

Planlaşdırılmış tədbirlərin planlaşdırılması daha mürəkkəb bir vəziyyətdir. Standart kitabxanalarda cədvəlləri saxlamağa imkan verən universal tip yoxdur. Ancaq belə bir vəzifə çox nadir hallarda yaranmır, buna görə də hazır həllər problemsiz tapıla bilər. Yaxşı bir nümunə, Kvars kimi digər həllər tərəfindən bu və ya digər formada istifadə olunan cron planlaşdırıcı formatıdır: http://quartz-scheduler.org/api/2.2.0/org/quartz/CronExpression.html. Bu, demək olar ki, bütün planlaşdırma ehtiyaclarını, o cümlədən "ayın ikinci cümə günü" kimi seçimləri əhatə edir.

Əksər hallarda, öz planlayıcınızı yazmağın mənası yoxdur, çünki çevik, vaxtla sınaqdan keçirilmiş həllər var, lakin nədənsə öz mexanizminizi yaratmağa ehtiyac varsa, heç olmasa cədvəl formatını götürə bilərsiniz. crondan.

Müxtəlif növ vaxt dəyərlərinin saxlanması və emalı ilə bağlı yuxarıda təsvir edilən tövsiyələrə əlavə olaraq, qeyd etmək istədiyim bir neçə başqa şey də var.

Birincisi, cari vaxtı əldə etmək üçün statik sinif üzvlərindən istifadə ilə bağlı - DateTime.UtcNow, ZonedDateTime.now() və s. Deyildiyi kimi, onlardan birbaşa kodda istifadə vahid testini ciddi şəkildə çətinləşdirə bilər, çünki xüsusi istehza çərçivələri olmadan cari vaxtı əvəz etmək mümkün olmayacaqdır. Buna görə də, vahid testləri yazmağı planlaşdırırsınızsa, bu cür metodların tətbiqinin dəyişdirilə biləcəyinə əmin olmalısınız. Bu problemi həll etməyin ən azı iki yolu var:

  • Cari vaxtı qaytaran tək metodla IDateTimeProvider interfeysi təmin edin. Sonra cari vaxtı almaq üçün lazım olan bütün kod vahidlərində bu interfeysdən asılılıq əlavə edin. Proqramın normal icrası zamanı “standart” tətbiq real cari vaxtı qaytaran bütün bu yerlərə və vahid testlərində isə hər hansı digər zəruri həyata keçirəcək. Bu üsul sınaq baxımından ən çevikdir.
  • Cari vaxtı əldə etmək üçün bir üsul və bu metodun hər hansı bir tətbiqini kənardan quraşdırmaq imkanı ilə öz statik sinifinizi yaradın. Məsələn, C# kodu vəziyyətində bu sinif UtcNow xassəsini və SetImplementation(Func) metodunu ifşa edə bilər. impl). Cari vaxtı əldə etmək üçün statik xassədən və ya metoddan istifadə hər yerdə əlavə interfeysdən asılılığın açıq şəkildə göstərilməsinə ehtiyacı aradan qaldırır, lakin OOP prinsipləri baxımından bu ideal həll yolu deyil. Ancaq nədənsə əvvəlki seçim uyğun deyilsə, ondan istifadə edə bilərsiniz.
Cari vaxt provayderinizin tətbiqinə keçərkən həll edilməli olan əlavə bir məsələ, heç kimin standart siniflərdən "köhnə üslubda" istifadə etməyə davam etməməsinə əmin olmaqdır. Bu vəzifəni əksər kod keyfiyyətinə nəzarət sistemlərində həll etmək asandır. Əsasən, "defolt" tətbiqetmənin elan olunduğundan başqa bütün fayllarda "arzuolunmaz" alt sətir axtarmağa gəlir.

Cari vaxtı əldə etmək üçün ikinci xəbərdarlıq budur müştəriyə etibar etmək olmaz. İstifadəçilərin kompüterlərindəki cari vaxt real vaxtdan çox fərqli ola bilər və ona bağlı məntiq varsa, bu fərq hər şeyi məhv edə bilər. Cari vaxtı əldə etməyə ehtiyac olan bütün yerlər, mümkünsə, server tərəfində aparılmalıdır. Və əvvəllər qeyd edildiyi kimi, vaxtla bağlı bütün hesab əməliyyatları ya UTC dəyərlərində, ya da vaxt zonasının ofsetini saxlayan növlərdən istifadə etməklə yerinə yetirilməlidir.

Və qeyd etmək istədiyim daha bir şey məlumat mübadiləsi üçün tarix və vaxt formatını təsvir edən ISO 8601 standartıdır. Xüsusilə, potensial uyğunluq problemlərinin qarşısını almaq üçün seriallaşdırmada istifadə olunan tarix və vaxtın sətir təsviri bu standarta uyğun olmalıdır. Praktikada formatlaşdırmanı özünüz həyata keçirməyiniz olduqca nadirdir, buna görə də standartın özü əsasən məlumat məqsədləri üçün faydalı ola bilər.

Teqlər: Teqlər əlavə edin

IBM® Web Məzmun Meneceri teqlərində və URL-lərində "müddəti bitdi" parametrindən istifadə etməklə siz verilənlərin keşdə nə qədər müddət saxlanılacağını təyin edə bilərsiniz. Keşdəki məlumat köhnəldikdən sonra növbəti dəfə tələb olunduqda serverdən götürülür. Saxlama müddəti parametri isteğe bağlıdır.

Xüsusi keş yaş parametrləri yalnız serverin standart veb məzmunu keşi qabaqcıl keşləmə üçün konfiqurasiya edildikdə və ya söndürüldükdə istifadə edilə bilər. Defolt Normal Veb Məzmununun Keşlənməsidirsə, o zaman xüsusi istifadə müddəti tətbiq edilə bilməz. Əsas keşləmə aktiv olduqda fərdi saxlama parametrlərindən istifadə edilə bilməsə də, Normal keşdə verilənlərin nə qədər müddət saxlanılacağını müəyyən etmək üçün Qabaqcıl keşləmə aktiv olduqda istifadə edilə bilər.

Saxlama müddəti dəyərləri ya nisbi dövr, ya da mütləq tarix və vaxt dəyəri ola bilər. Normal keşləmə

  • EXPIRES="ABS (tarix və vaxt)"
  • EXPIRES="REL (tam dəyər)(vahidlər)"
Qabaqcıl keşləmə
  • CONTENTCACHEEXPIRES="ABS (tarix və vaxt)"
  • CONTENTCACHEEXPIRES="REL (tam dəyər)(vahidlər)"
Məlumatların keşləşdirilməsi
  • CONNECTORCACHEEXPIRES="ABS (tarix və vaxt)"
  • CONNECTORCACHEEXPIRES="REL (tam dəyər)(vahidlər)"

Nümunələr: http://host:port/wps/wcm/connect/library/sitearea/content?cache=site&expires="REL 9000s"

Fərdi raf ömrü strategiyaları

  • Qoşulma teqi və ya URL sorğusundan istifadə edərək xarici məlumatları əldə edərkən fərdi saxlama seçimlərini təyin edərkən CONNECTORCACHEEXPIRY= istifadə etməlisiniz.
  • Defolt adi keşdirsə və ya əlaqə teqində və ya URL sorğusunda CACHE= göstərilibsə, EXPIRES= istifadə etməlisiniz.
  • Defolt uzadılmış keşdirsə və ya əlaqə teqində və ya URL sorğusunda CONTENTCACHE= göstərilibsə, CONTENTCACHEEXPIRES= istifadə etməlisiniz.
  • Defolt keş yoxdursa və əlaqə teqində və ya URL sorğusunda yalnız CACHE= və ya CONTENTCACHE= göstərilibsə, saxlama müddətini müəyyən etmək üçün WCM WCMConfigService-in connect.connector.httpconnector.defaultcacheexpires xassəsindən istifadə edilir.

Mütləq vaxtı təyin etmək

Mütləq dəyər sənədin saxlanma müddətinin bitdiyi tarix və vaxtı müəyyən edir.

Tarix və vaxt aşağıdakı formatda göstərilmişdir:

  • ABS (tarix və vaxt)

Misal üçün:

  • ABS Bazar ertəsi, 29 May 2000 03:04:18 GMT

Bu müddətdən sonra sənəd sorğusu keşi təmizləyəcək və xarici mənbədən sənədin yeni nüsxəsini alacaq.

Mütləq tarixdən əvvəl ABS simvolları olmalıdır; Tarix aşağıdakı formatlardan birində göstərilməlidir:

  • Bazar ertəsi, 06 Noyabr 2000 09:00:00 GMT
  • Bazar ertəsi, 06-noyabr-00 09:00:00 GMT
  • Bazar ertəsi 6 noyabr 09:00:00 2000.
  • 6 noyabr 2000-ci il saat 9:00.

İlk üç tarix formatı standart HTTP formatında istifadə olunur, sonuncu qısa format isə rahatlıq üçün təqdim olunur.

Saxlama müddətini müəyyən etmək üçün mütləq tarix və vaxt dəyərindən istifadə etdiyiniz zaman, saxlama müddəti bitənə qədər keşlənmiş elementlər keşdə qalır. Saxlama müddəti başa çatdıqdan sonra orijinal element növbəti sorğuda götürülür və surəti keş yaddaşa yerləşdirilir, lakin mütləq tarix və vaxt artıq baş verdiyi üçün element dərhal köhnələcək. Başqa sözlə, mütləq tarix və vaxt dəyərlərindən istifadə edərkən, saxlama müddəti başa çatdıqdan sonra elementi keşə qaytarmaq olmaz. Bütün mütləq vaxt dəyərləri GMT formatındadır.

Nisbi dövr təyini

Mütləq tarix və vaxt əvəzinə, sənədin keşdə saxlanmalı olduğu nisbi müddəti təyin edə bilərsiniz. Bu halda, sona çatma tarixi və vaxtı sənədin yaddaşda saxlandığı vaxta əsasən hesablanır.

Sənədin keşdə saxlanması üçün nisbi müddət, məsələn, saatlarla və ya günlərlə göstərilə bilər.

Nisbi dövr aşağıdakı formatda göstərilir:

  • REL (tam)(vahid)

Qeyd: REL-dən sonra boşluq tələb olunur.

Tam dəyər zaman vahidlərinin tam sayını göstərməlidir. Ondalık dəyərlər dəstəklənmir. Vahidlər tək simvol kimi göstərilib və hərflərə həssas deyil:

  • S: saniyə
  • H: bax
  • D: gün
  • M: aylar

Birinci nümunədə saxlama müddəti iki aydır. İkincidə 9000 saniyədir (2,5 saat).

Siz yalnız saniyə, saat, gün və ya ayları təyin edə bilərsiniz. İnterfeysi sadə saxlamaq üçün dəqiqələr dəstəklənmir (M hərfi ayları təmsil etmək üçün istifadə olunur). Aydındır ki, dəqiqələr həmişə saniyələrlə göstərilə bilər (məsələn, 5 dəqiqə 300 saniyədir).

Windows əməliyyat sistemindən Linux-a yenicə keçən və hələ də vaxtaşırı bu sistemi işlədən bir çox yeni istifadəçilər Ubuntu-da Windows-u yüklədikdən sonra vaxtın bir neçə saat geri və ya irəli getməsi, sonra bir neçə yenidən yükləmədən sonra problemlə üzləşirlər. indi saatın neçə olduğunu anlamaq artıq çətindir.

Bütün bunlar bu əməliyyat sistemlərində vaxt saxlama formatındakı fərqlər səbəbindən baş verir. Düzgün vaxtı nə qədər təyin etsəniz də, bu, hər dəfə yenidən başladığınız zaman baş verəcək. Amma bu problemi həll etmək olar. Və hətta bir neçə yolla. Bu yazıda Ubuntu və Windows-da vaxt itkisi problemini necə həll edəcəyimizə baxacağıq.

Artıq dediyim kimi, problem vaxtı saxlamaq və bərpa etmək üçün müxtəlif formatlardadır. Kompüterdə iki növ saat var. Aparat saatları, hətta kompüter söndürüldükdə və proqram saatı nüvəyə quraşdırıldıqda belə həmişə işləyir. Kompüter işə salındıqda, aparat saatının dəyəri proqram saatına yazılır və sonradan əməliyyat sistemi oradan vaxtı alır. Lakin Windows və Linux bu iki saatla fərqli işləyir. İşləmək üçün iki yol var:

  • UTC- həm aparat, həm də proqram təminatı saatları Qrinviç Saatına əsaslanır. Yəni, saat sıfır saat qurşağında universal vaxtı verir. Məsələn, saat qurşağınız GMT+3, Kiyevdirsə, onda saat üç saat geridə qalacaq. Və istifadəçilər yerli olaraq bu vaxta saat qurşağı üçün düzəliş əlavə edirlər, məsələn, +3. Hər bir istifadəçi ehtiyac duyduğu düzəlişi əlavə edir. Bu, serverlərdə edilir ki, hər bir istifadəçi öz saat qurşağı üçün düzgün vaxtı ala bilsin.
  • yerli vaxt- bu versiyada proqram saatı da Qrinviç Orta Saatına uyğun işləyir, lakin aparat saatı yerli saat qurşağının vaxtına uyğun işləyir. İstifadəçi üçün heç bir fərq yoxdur, siz hələ də vaxt qurşağınıza düzəliş əlavə etməlisiniz. Lakin vaxtı yükləyərkən və sinxronlaşdırarkən, Windows proqram təminatı vaxtının düzgün olması üçün aparat vaxtından 3 saatı (və ya başqa vaxt zonasının tənzimlənməsini) çıxarır.

Bəs niyə Ubuntu və Windows vaxtı itirilir? Tutaq ki, Windows işləyir və zaman keçdikcə orada hər şey qaydasındadır, yerli vaxt formatında saxlanılır. Lakin siz Linux-a yenidən başladığınız zaman əməliyyat sistemi Localtime-ı götürür və onun UTC olduğunu düşünür. Beləliklə, istifadəçi artıq düzgün vaxtı alacaq və ona vaxt qurşağı üçün düzəliş əlavə edəcək. Ona görə də vaxt artıq düzgün olmayacaq.

Sonra vaxtı düzəltdiniz və indi aparat saatı UTC-də işləyir. Ancaq sonra Windows-u yükləyin. Sistem bunun Yerli vaxt olduğunu düşünür və proqram təminatının düzgün vaxtını təyin etmək üçün aparata saat qurşağı düzəlişini əlavə edir, məsələn, bizim vəziyyətimizdə +3. Sonra hər bir istifadəçi bu korreksiyanı yenidən tətbiq edir və vaxt yenidən sönür.

Bu problemi həll etməyin yeganə əmin yolu hər iki sistemin eyni formatda işləməsini təmin etməkdir və bu heç də çətin deyil. Üstəlik, siz iki yolla gedə bilərsiniz: ya Windows-u UTC-də, ya da Linux-u Localtime formatında işlədin, bu tamamilə düzgün deyil, lakin olduqca mümkündür. Beləliklə, gəlin Ubuntu-da itən vaxt probleminin həllinə keçək.

UTC-də işləmək üçün Windows-un konfiqurasiyası

Beləliklə, əgər əməliyyat sistemləri arasında keçid zamanı windows və linux vaxtı ilə bağlı problemlər yaşayırsınızsa, ən yaxşı yol Windows-u daha düzgün və məntiqli formatda işləməyə məcbur etməkdir. Bunu etmək üçün sadəcə bir qeyd açarı əlavə edin. Bunu konsolda bir əmrlə edə bilərsiniz. Windows 10-da konsolu açmaq üçün siçanınızı aşağı sol küncə aparın, sonra sağ düyməni basın. Kontekst menyusundan seçin Komanda xətti (İdarəçi):

> Reg əlavə edin HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

64-bit üçün isə REG_QWORD dəyər növündən istifadə etməlisiniz:

> Reg əlavə edin HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

Demək olar ki, hazırdır, lakin Windows vaxt xidməti, bu parametrdən asılı olmayaraq, İnternet vasitəsilə yenilənərkən vaxtı yerli formatda yazacaq, ona görə də bu xidməti söndürmək rahatdır. Bunu etmək üçün çalıştırın:

> sc konfiqurasiyası w32time start= deaktivdir

Mən onu necə geri ala bilərəm?

Hər şeyi olduğu kimi qaytarmaq istəyirsinizsə, bu, mümkün qədər asanlıqla edilə bilər. Əvvəlcə qeyd defteri açarını düzgün mövqeyə qaytarırıq:

> Reg əlavə edin HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0

Və sinxronizasiya xidmətini yenidən başladın:

> sc konfiqurasiyası w32time start= tələb

Lokal vaxtı işə salmaq üçün Linux konfiqurasiya edilir

Varsayılan olaraq, Linux UTC vaxt formatından istifadə edir, lakin Ubuntu 16.04 Windows vaxtı ilə qarışarsa, sistemi çox asanlıqla yerli vaxtı aparat taymerində saxlamağa məcbur edə bilərsiniz. Ubuntu 16.04 daxil olmaqla Systemd istifadə edən bütün paylamalarda sizə lazım olan tək şey əmri yerinə yetirməkdir:

sudo timedatectl set-local-rtc 1 --sistem saatını tənzimləyin

Aparat və proqram təminatı saatlarının cari vəziyyətinə baxmaq üçün aşağıdakıları yerinə yetirin:

sudo timedatectl

Bitdi, indi kompüterinizi yenidən başladın və yenidən başladıqda vaxtın itirilməməsinə əmin olmaq üçün Windows-u işə sala bilərsiniz. Köhnə Ubuntu sistemlərində siz /etc/default/rcS faylını redaktə etməli və UTC=yes-i UTC=no ilə əvəz etməlisiniz. Bunu əmrlə edə bilərsiniz:

sudo sed -i "s/UTC=bəli/UTC=yox/" /etc/default/rcS

Mən onu necə geri ala bilərəm?

Yenə də hər şeyi bir əmrlə olduğu kimi qaytara bilərsiniz:

sudo timedatectl set-local-rtc 0

Və köhnə Ubuntu paylamalarında:

sudo sed -i "s/UTC=yox/UTC=bəli/" /etc/default/rcS

nəticələr

Hamısı budur. İndi, Windows 10-da bir problemlə qarşılaşsanız - Ubuntu və ya hər hansı digər Linux paylamasında vaxt itirilirsə, iki tamamilə işləyən üsuldan istifadə edərək onu necə həll edəcəyinizi artıq biləcəksiniz. Hər hansı bir sualınız varsa, şərhlərdə soruşun!
Ubuntu və Windows-da saat qurşağının qarışmaması üçün düzgün vaxtı necə təyin edəcəyimizi anladıq, amma saat qurşaqları nədir və bu barədə videonu bitirək:

Əgər kompüterinizdə vaxt və tarix sıfırlanır. Əgər BIOS parametrləri sıfırlanır. Windows-un yüklənməsi pozulursa (məsələn, Windows ikinci dəfə yüklənir). gəldi CMOS batareyasını dəyişdirmək vaxtı sistem blokunuzdakı ana platada! Sualın cavabı budur: “Kompüterdə vaxt niyə səhv gedir?”!

Batareyanı dəyişdirdikdən sonra, kompüteri ilk dəfə yandırdığınız zaman, BIOS-da saxlanılan zavod parametrləri CMOS yaddaşına "sıfırlanacaq". Bu, yeri gəlmişkən, BIOS parametrləri ilə çox ağıllı olsanız, problemi həll etməyin yollarından biridir. Bunu etmək üçün kompüteri söndürməli, batareyanı ana platadan 30 saniyəyə çıxarmalı, yenidən quraşdırmalısınız və zavod BIOS parametrləri bərpa ediləcək və kompüter yenidən işləyəcəkdir.

CMOS Batareya Ömrü

Batareyanın ömrü 3-5 ildir. Bununla belə, istisnalar var - bəzi batareyalar daha uzun (yüksək keyfiyyətli) və ya daha az (nöqsanlara görə) işləyir. Səbəb batareyadırsa, çox güman ki, digər istifadəçi parametrləri saatla birlikdə itəcək.

BIOS və CMOS nədir

BIOS sözü ilə ilk dəfə qarşılaşanlar üçün izah edəcəyəm. BIOS(İngilis: basic input/output system - “basic input/output system”), həmçinin BSVV, mikroproqramlar şəklində həyata keçirilən sistem proqram təminatının bir hissəsidir və əməliyyat sistemini kompüter avadanlığına və API girişinə təmin etmək üçün nəzərdə tutulmuşdur. ona qoşulmuş cihazlar.
CMOS(çipin istehsal edildiyi texnologiyanın adı: Tamamlayıcı Metal-Oksid-Yarımkeçirici - tamamlayıcı metal oksid yarımkeçirici və ya CMOS). BIOS parametrlərinə əlavə olaraq, CMOS kompüter konfiqurasiya parametrlərini saxlayır.

Tarixi və vaxtı sıfırlamaq üçün başqa bir səbəb

İkinci Kompüterdəki vaxtın itirilməsinin səbəbi, saat qurşağının səhv seçilməsi ola bilər sizin bölgəniz. Təyin etdiyiniz vaxtın saat qurşağınıza uyğun olması vacibdir. Saat qurşağı düzgün qurulubsa, batareya yaxşıdır və kompüterinizdəki vaxt hələ də sönükdürsə, sisteminizdə ən son yeniləmələrin olmadığını və İnternetdəki vaxt serveri ilə fikir ayrılıqlarının olduğunu güman edə bilərik. Kompüterinizdə vaxtın səhv getməməsini təmin etmək üçün aşağıdakıları etməlisiniz.
Tepsidəki saatda sağ klikləyin və kontekst menyusu açılacaq. Sonra, elementi seçin Tarix və vaxtın qurulması.

Tarix və Saat sekmesinde seçin - Saat qurşağını dəyişdirin.

Yay vaxtı və geriyə avtomatik keçid seçimindən işarəni çıxarın və OK düyməsini basın.


Sonra İnternet Saatı sekmesine keçin və vurun - Parametrləri dəyişdirin.

Bu təlimatda sizə Android əsaslı smartfonu zavod parametrlərinə necə sıfırlayacağınızı söyləyəcəyik, həmçinin gadgetı necə düzgün hazırlamaq və təsadüfən silməzdən əvvəl bütün lazımi məlumatları saxlamaq barədə sual üzərində dayanacağıq.

Android sıfırlaması nədir və niyə edilir?

Bir çoxumuz cihazın daimi donması, proqram təminatının nasazlığı, rabitə itkisi və s. problemi ilə qarşılaşmışıq. Bu cür çətinliklərdən qurtulmaq üçün gadgetı Android-də zavod parametrlərinə sıfırlamaq xilasetmə işinə gəlir. Bu nə deməkdir? Cihaz parametrlərinin sıfırlanması, zavod proqram təminatının xüsusiyyətlərini bərpa etməyə imkan verir ki, bu da sonradan cihazın işinə müsbət təsir göstərir və əlavə "Glitches" olmaması.

Parametrləri sıfırlamazdan əvvəl ilk olaraq hansı faylları və məlumatları yadda saxlamaq lazımdır?

Android parametrlərini zavod parametrlərinə qaytarmağın çoxlu yolu var, lakin onların yeganə ortaq cəhəti cihazın yaddaşından bütün faylların və məlumatların tamamilə silinməsidir. Buna görə də, siz saxlamaq istədiyiniz vacib media faylları və əlaqə məlumatı, qeydlər və digər sənədlərlə əvvəlcədən diqqətli olmalısınız. Bunu necə düzgün etmək olar, oxuyun.

Android üçün kontaktların və notebookun düzgün ehtiyat nüsxəsi

Gəlin qadcetimizdən “uzaqda olan” kontaktları əvvəlcədən saxlamaq və köçürməklə başlayaq. Ən asan yol kontaktları SİM karta köçürməkdir. Təlimatlarımıza əməl etməklə bunu etmək asandır. Kontaktlar menyusuna gedin və "İdxal/İxrac" seçin. Görünən pəncərədə kontaktları sizin üçün əlverişli olan istənilən mühitə ixrac edin: SİM kart və ya SD yaddaş cihazı.

Ən etibarlı yol kontaktlarınızı notebooka köçürməkdir, lakin texnologiya və qadcetlərin “kənar” dövrümüzdə bu seçim hər kəs üçün uyğun deyil. Biz Android-də kontaktların ehtiyat nüsxəsini çıxarmaq üçün effektiv və səmərəli üsuldan istifadə etməyi tövsiyə edirik - məlumatları Google hesabınız və ya onun bulud yaddaşı ilə sinxronizasiya edin. Kontaktlara əlavə olaraq, bulud saxlama xidməti istənilən Android cihazından SMS mesajlarını, qeydləri və təqvim qeydlərini sinxronizasiya etməyi təklif edir.

Başlamaq üçün Google xidmətində qeydiyyatdan keçməli, sadəcə olaraq yeni hesab yaratmalı və ya köhnə hesaba daxil olmalısınız. Bu barədə ətraflı danışmayacağıq, çünki belə sadə hərəkətlər şərhə ehtiyac duymur. Lazımi məlumatların Google serverləri ilə düzgün sinxronizasiyası barədə sizə məlumat verəcəyik.

Telefon parametrlərinə, "Hesablar" bölməsinə keçin. Google hesablarını seçin. Açılan pəncərədə bir neçə element olacaq

    Təhlükəsizlik və giriş;

    Məxfilik;

    Hesabın qurulması;

Hesabınız (Google hesabı) cihaz ekranının yuxarı küncündə görünəcək, üzərinə vurun.

Addımları tamamladıqdan sonra sinxronizasiya seçimlərini təklif edən bir pəncərə görünəcək. Bizə lazım olan əşyaların yanındakı qutuları yoxlayırıq. Məlumatların Google serverinə əl ilə ehtiyat nüsxəsini çıxarmaq istəyirsinizsə, ekran görüntüsündə göstərildiyi kimi dairəvi qara oxları vurun.

Təbrik edirik! Lazımi məlumat və məlumatlar Google serverinə yüklənib və hesabınızla sinxronlaşdırılıb. Cihazınızı sıfırladıqdan sonra smartfonun notebook və ya qeydlərini bərpa etmək sizin üçün çətin olmayacaq.

Biz Android-də fotoşəkillərin, videoların, musiqilərin və sənədlərin ehtiyat nüsxələrini tez surətdə çıxarırıq.

Sadə bir yol, cihazı USB kabel vasitəsilə kompüterinizə qoşmaq və lazımi məlumatları ona ötürməkdir. Kiçik bir nüans var - bütün telefonlar "Flash drive" rejimində PC ilə sinxronlaşmır. Gadgetı kompüterə qoşarkən "USB sürücüsü kimi istifadə et" rejimini seçin.

Lazımi faylların ehtiyat nüsxəsini çıxarmağın ikinci yolu onları cihazın yaddaşından flash karta köçürməkdir. Fayl menecerini açın.

Menecer pəncərəsində telefonun yaddaşında olan şəkilləri seçin. SD kart fərqli yerdə göstərilir (sdcard1).

Flaş sürücüyə köçürülməsi lazım olan fotoşəkilləri qeyd edin (onay işarəsi görünənə qədər barmağınızı istədiyiniz fayla basın).

Yuxarı sağ küncdə "Menyu" düyməsi var. Birdən çox fayl seçmək lazımdırsa, Hamısını Seç düyməsini klikləyin ki, hər bir fotoşəkili seçməyə vaxt itirməyəsiniz. Növbəti addımda, "Köçür" elementinə toxunun və SD kartı fayllarınızın yerləşməsi üçün son nöqtə kimi göstərin. Çaşqınlığın qarşısını almaq üçün (+) düyməsinə basaraq əlavə qovluq yarada və oradakı məlumatları saxlaya bilərsiniz.

Əgər bu fayllar sizin üçün vacibdirsə, video, musiqi və sənədlərlə də eyni şeyi edin.

Parametrləri sıfırlamadan əvvəl Andorid-də məlumat saxlamaq üçün üçüncü yol bulud yaddaşından istifadə etməkdir. Hərəkətlərin alqoritmi əvvəlki nöqtədən fərqlənmir, sadəcə olaraq oyun bazarından əlavə proqramlar yükləmək lazımdır: Google Disk, Yandex Disk və s. Biz sizə Google Diskdən istifadə etməyi məsləhət görürük, çünki... gadgetdakı parametrləri sıfırladıqdan sonra avtomatik olaraq hesab məlumatlarınızla sinxronizasiya edir.

Google Diskə gedin, "+" düyməsini basın və "Yüklə" seçin.

Bulud yaddaşına yükləmək üçün şəkilləri və qovluğu qeyd edin. Qalan media məlumatları ilə təsvir olunan hərəkətləri edin.

Android parametrlərini zavod parametrlərinə sıfırlamaq üçün ətraflı təlimatlar

Parametrləri sıfırlamağın ilk və ən asan yolu standart telefon menyusundan istifadə etməkdir, çünki... cihazın özü sizə nə edəcəyinizi söyləyəcək. Əvvəlcə smartfon menyusuna getməli və "Parametrlər" bölməsini tapmalısınız. Bir qayda olaraq, bu "Gear" dır.

Məsləhət! Təcrübəli istifadəçilər deyə bilər ki, hər bir Android cihazında parametrlərin addım-addım sıfırlanması alqoritm və hərəkətlərin ardıcıllığı ilə fərqlənir. Əslində bu doğru deyil. "Stok" və ya "Standart Android" parametrlərin və məlumatların sıfırlanması strategiyasında fərqlənmir.

"Parametrlər", "Yedəkləmə və Sıfırlama" maddəsini tapırıq. "Telefon parametrlərini sıfırla" - "Hər şeyi sil" seçin.

Məsələn, Samsung smartfonunuz varsa, "Bərpa" menyu elementi əvəzinə "Yedəkləmə və sıfırlama" var.

Başqa bir halda, Xiaomi, Meizu və Huawei smartfonları ilə alqoritm fərqli deyil, lakin düymələrin adı dəyişikliklərə məruz qalıb. "Parametrlər" - "Qabaqcıl" - "Parametrləri sıfırla" bölməsinə keçin.

Sıfırlama uğurla başa çatdıqdan sonra gadgetın performansı ən yaxşı səviyyədə olacaq və siz xətaları və prosessorun yavaşlamasını həmişəlik unutacaqsınız.

Parametrləri yenidən qurmağın ikinci yolu, əsasən smartfon təmiri üzrə mütəxəssislər tərəfindən istifadə edilən gizli kodlardan istifadə etməkdir. Ancaq ən sadə istifadəçi belə onlardan hər hansı bir problem olmadan istifadə edə bilər. Bunun üçün “Çıx” düyməsini sıxmalı və ekranda nömrələr görünəndə “Gizli Kod”u yığmalıyıq.

*2767*3855# - bu kod proqram təminatını tamamilə yenidən quraşdıraraq telefonunuzu yeni edir. Bəli, belə bir qaçılmaz hadisə riski var, amma təslim olmamalısınız. Bu halda, cihazın firmware proqramını yeniləməlisiniz.

*#*#7780#*#* - bu kodla parametrlər sıfırlanacaq. Proqramlar silinəcək, lakin məlumatların qalan hissəsi qalacaq.

Hard Reset və ya Android parametrlərinin sərt sıfırlanması.

Üçüncü üsul ən maraqlıdır. Əsas hobbisi Android cihazında proqram təminatını yeniləmək olan istifadəçilər üçün yaradılmışdır. Bu, Bərpa vasitəsilə zavod parametrlərinə sıfırlamadır. Sözdə "Çətin Metod" və ya "Zavod parametrlərinə sıfırlama". Nüanslar və incəliklər var, bunları sizə daha ətraflı izah edəcəyik və məqalənin şərhlərindəki bütün suallara cavab verməyə çalışacağıq.

Bu “Sıfırlama” üsulu adətən müəyyən düymələr kombinasiyasından istifadə edərək cihazın ekranı söndürüldükdə baş verir.

İstinad üçün! Cihazınızı ən azı 80% doldurduğunuzdan əmin olun.

Gəlin başlayaq. Cihazı söndürün.

Hər bir Android smartfon istehsalçısı cihazı "Bərpa" rejiminə daxil etmək üçün fərqli düymələr kombinasiyasına malikdir. İndi sizə xəbər verəcəyimiz mümkün variantlarla əvvəlcədən tanış olmağı məsləhət görürük. Tipik olaraq, əsas birləşmə var: Səsi azaltma (-) düyməsi və cihazı ON/OFF düyməsi. Bərpa görünənə qədər onları basın (aşağıdakı fotoşəkildə olduğu kimi).

Əgər HOME düyməsi (Ev düyməsi) olmayan Samsung smartfonunuz varsa, o zaman səs səviyyəsi düyməsini (+) basın və cihazı ON/OFF vəziyyətinə qoyun.

Əks halda, “Ev” varsa, düymələr kombinasiyası aşağıdakı kimi olacaq: “+”, “Ev” və “On/Off” düymələrini eyni vaxtda basıb saxlayın. Samsung görünən kimi basılan düymələri buraxın.

Bəzi LG modelləri üçün (-) və "ON/OFF" düyməsini sıxmalısınız, lakin loqo göründükdən sonra güc düyməsi buraxılmalı və yenidən basılmalıdır.

Bəzi SONY telefonlarında (-), (+) və “ON/OFF” düyməsini eyni vaxtda basın.

Hərəkətlərimizdən sonra "Bərpa" menyusu aşağıdakı fotoşəkildə göstərilən kimi görünəcək.

Sonra, səs düymələrindən istifadə edərək Bərpa menyusuna keçməlisiniz və "məlumatları silmək/zavod parametrlərini sıfırla" və ya "eMMC-ni sil", "Flaşı sil" seçimini ON/OFF istifadə edərək həyata keçirin və "bəli" düyməsini basın ” və ya “ bəli - bütün istifadəçi məlumatlarını silin." Telefon sərt sıfırlamanı tamamladıqdan sonra "Sistemi İndi yenidən başladın" seçimini seçin. Bu nöqtədə "Sərt Reset" prosesi başa çatmış hesab edilə bilər.

Samsung cihazlarının sahiblərinin düşə biləcəyi vəziyyəti ayrıca bir məqam kimi vurğuladıq. Gadgetın "Bərpa" rejiminə girməməsi baş verir. Bu vəziyyətdə Ging adapteri sizə kömək edəcəkdir. O, şarj yuvasına daxil edilir və 3 saniyə ərzində smartfon Bərpa rejiminə keçir.

Bir kompüterdən istifadə edərək Android-də parametrləri yenidən qurmaq üçün bir proqram da hazırlanmışdır - Android Debug Bridge (ADB). O, kompüterinizdə quraşdırılmalı və telefonda ADB rejimi aktivləşdirilməlidir (tercihen orijinal kabel vasitəsilə).

Anrdoida parametrlərini kompüterinizdən sıfırlamaq üçün "Başlat" - "Çalış" düyməsini basın və "cmd" daxil edin. Əmr satırını işə saldıqdan sonra əmr satırında adb reboot recovery yazaraq proqramı açın. Smartfonu Bərpa rejiminə daxil etdikdən sonra yuxarıda təsvir olunan təlimatları izləyin.

nəticələr

Bu təlimatda biz Android smartfonlarında parametrləri yenidən qurmağın ən məşhur yollarına baxdıq. Məlumatı silmədən və ya sərt sıfırlamadan əvvəl məlumatlarınızın ehtiyat nüsxəsini hazırlamağa və ya cihazınızı Google hesabınızla sinxronlaşdırmağa çalışın.

Hər hansı bir sualınız varsa, bu məqalənin şərhlərində onlardan soruşun.

Təfərrüatlar Benks Yaradıldı: 28 oktyabr 2017-ci il Yenilənib: 11 noyabr 2017-ci il