Automatyczny licznik postępu

0

Witam,
Szukam bezskutecznie narzędzia które będzie działało na zasadzie takiej, żeby wskazywało postęp na podstawie określonego wcześniej przedziału w HEX.
Załóżmy, że ustalę próg 2FFFFFFFFFFFFFF-4FFFFFFFFFFFFFF (od - do) - które będzie tworzyło 100% (nazwijmy to Work#1)
Do Work#1 raz dziennie będę wysyłał w tej samej formie (od - do) przedział, który ma zostać oznaczony jako zaliczony i odjęty od puli.
Dodatkowo będę mógł otrzymać wykaz pozostałych przedziałów w tej samej formie (od - do) które dotychczas pozostają nie oznaczone jako zaliczone.

Istnieje coś takiego?

0

Czy przedziały, którymi chcesz operować są jakoś określone - np. mają stały rozmiar, albo są gdzieś zapisane?

Czy potrzebna Ci historia zapełniania, czy po prostu dla Ciebie jest istotna informacja, że dla przedziału wejściowego -999 do 999 zostały wykonane zadania z zakresu -999 do -155, w związku z czym pozostało do wykonania -155 do 999?

Czy zapełnianie ma być w sposób ciągły, czy możliwe są dziury? Przykładowo - dla przedziału wejściowego -999 do 999 zapełniasz najpierw przedział -999 do -876, a następnie chcesz zapełnić -400 do 110. Co w takiej sytuacji? Czy pozwalasz na dziurę -876 do -400?

Napisz może do czego jest Ci to potrzebne, wtedy łatwiej będzie Ci coś doradzić.

Czy podany przez Ciebie zakres naprawdę musi być tak duży? Przy wielkich liczbach nie da się pracować w oparciu o wbudowane typu, ale są do tego stworzone biblioteki - chociażby GMP http://php.net/manual/en/intro.gmp.php. Rzuć jeszcze okiem na https://stackoverflow.com/questions/1273484/large-hex-values-with-php-hexdec

0
cerrato napisał(a):

Czy przedziały, którymi chcesz operować są jakoś określone - np. mają stały rozmiar, albo są gdzieś zapisane?

Czy potrzebna Ci historia zapełniania, czy po prostu dla Ciebie jest istotna informacja, że dla przedziału wejściowego -999 do 999 zostały wykonane zadania z zakresu -999 do -155, w związku z czym pozostało do wykonania -155 do 999?

Czy zapełnianie ma być w sposób ciągły, czy możliwe są dziury? Przykładowo - dla przedziału wejściowego -999 do 999 zapełniasz najpierw przedział -999 do -876, a następnie chcesz zapełnić -400 do 110. Co w takiej sytuacji? Czy pozwalasz na dziurę -876 do -400?

Napisz może do czego jest Ci to potrzebne, wtedy łatwiej będzie Ci coś doradzić.

Czy podany przez Ciebie zakres naprawdę musi być tak duży?

  • Przedziały nie mają określonej stałej wartości
  • Historia zapełniania nie jest mi potrzebna, natomiast druga z opcji jak najbardziej odzwierciedla to co właśnie chcę osiągnąć.
  • Zapełnianie nie będzie miało systematycznej ciągłości... właśnie w tym celu jest mi to potrzebne...

Konkretniej: badam określony (główny) zakres HEX na kilku komputerach (każda posiada po 5-6 procesów badających inny przedział) .
Jako że ilość maszyn wzrastała z biegiem czasu - na części komputerów z uwagi na odległość od obecnego punktu - wprowadzałem końcowe (odległe) zakresy już objętych skanowaniem przedziałów i niebawem (o ile nie już): będą zbędnie badane drugi raz te same zakresy.
Chciałbym tego uniknąć z pomocą takiego właśnie skryptu do którego wprowadzę znane mi wartości z wszystkich procesów (tj. zakres który docelowo ma ustalony oraz punkt w którym obecnie się znajduje) i na postawie tego pozyskać wiedzę:

  • jaki zakres całego zadania nie został jeszcze przydzielony
  • czy jakikolwiek z procesów nie bada obszaru już wcześniej zbadanego

Jeszcze konkretniej:
Obecnie głównym przedziałem badania jest zakres HEX 0400000000000000-07FFFFFFFFFFFFFF (...więc można mówić tu o tym , że zakres jest duży) :-)
Badanie odbywa się łącznie na 14 komputerach (wdrażanych do udziału z biegiem czasu) których podprzedział wygląda następująco:

  1. 400000000000000-449999999999999
  2. 450000000000000-499999999999999
  3. 4A0000000000000-4FFFFFFFFFFFFFF
  4. 500000000000000-549999999999999
  5. 550000000000000-599999999999999
  6. 5A0000000000000-5FFFFFFFFFFFFFF
  7. 600000000000000-6FFFFFFFFFFFFFF [ustawiany jako pierwszy - wówczas nie brałem pod uwagę zwiększania zasobów do pracy]
  8. 6A0000000000000-6FFFFFFFFFFFFFF [przykład o którym pisałem wcześniej: przeznaczenie na skanowanie górnego zakresu z poprzedniego punktu w celu wsparcia/przyspieszenia realizacji zadania]
  9. 700000000000000-749999999999999
  10. 750000000000000-799999999999999
  11. 7A0000000000000-7FFFFFFFFFFFFFF
  12. 707000000000000-756999999999999
  13. 754000000000000-799999999999999
  14. 7D0000000000000-7FFFFFFFFFFFFFF

Jak widać najbardziej narażone na zbędne badania ponowne są ostatnie z komputerów.
Z pozoru niby łatwo byłoby stwierdzić taki fakt, ale jak wcześniej wspomniałem każda z tych maszyn ma uruchomionych po 5-6 procesów na które aplikacja rozdzieliła dany przedział na części i każdy z procesów bada kolejno: 1/6 , 2/6 , 3/6 , 4/6 , 5/6 , 6/6 przedziału a więc bez udziału narzędzia o którym stworzony został temat - nie ma szans na odnalezienie się i oszczędność zmarnowanego czasu. Oj... ale się rozpisałem :-)

1

ale się rozpisałem

Akurat to jest bardzo fajna rzecz. Nie ma niczego bardziej wkurzającego, niż osoba oczekująca pomocy, której nie chce się dwóch zdań napisać, z której trzeba wszystko wyciągać i która ogólnie sprawia wrażenie, że sprawia nam przysługę pozwalając sobie pomóc ;)

Odnosząc się do tego, co napisałeś - rozumiem o co chodzi, fajnie wyjaśniłeś. Natomiast odpowiadając na Twoje pytanie z pierwszego postu - "Szukam bezskutecznie narzędzia [...] Istnieje coś takiego?" - może inni coś skojarzą, ale mi nic nie przychodzi do głowy, więc obawiam się, że będziesz musiał to sobie sam napisać. Aczkolwiek - może ktoś mnie wyprowadzi z błędu i podeśle jakiś ciekawy link ;)

0
cerrato napisał(a):

ale się rozpisałem

Akurat to jest bardzo fajna rzecz. Nie ma niczego bardziej wkurzającego, niż osoba oczekująca pomocy, której nie chce się dwóch zdań napisać, z której trzeba wszystko wyciągać i która ogólnie sprawia wrażenie, że sprawia nam przysługę pozwalając sobie pomóc ;)

Odnosząc się do tego, co napisałeś - rozumiem o co chodzi, fajnie wyjaśniłeś. Natomiast odpowiadając na Twoje pytanie z pierwszego postu - "Szukam bezskutecznie narzędzia [...] Istnieje coś takiego?" - może inni coś skojarzą, ale mi nic nie przychodzi do głowy, więc obawiam się, że będziesz musiał to sobie sam napisać. Aczkolwiek - może ktoś mnie wyprowadzi z błędu i podeśle jakiś ciekawy link ;)

Dzięki za odpowiedź. Byłbyś w stanie odpłatnie takie rozwiązanie przygotować?

1 użytkowników online, w tym zalogowanych: 0, gości: 1