2012-11-09 16 views
6

Podsumowanie: Czy istnieją dobre opcje HTML5/javascript do selektywnego odczytywania fragmentów danych (powiedzmy, że są ostatecznie konwertowane na JSON) z dużego lokalnego pliku?HTML5: uzyskiwanie dostępu do danych lokalnych o dużej strukturze

Problem usiłuję rozwiązać:
Niektóre Istniejący program lokalnie i wyprowadza mnóstwo danych. Chcę udostępnić przeglądarce interaktywną przeglądarkę, która pozwoli użytkownikom przeglądać te wyniki. Mam kontrolę nad sposobem zapisywania danych. Mogę napisać to wszystko w jednym dużym pliku, ale ponieważ jest dość duży, nie mogę po prostu odczytać tego wszystkiego w pamięci. Dlatego szukam jakiegoś indeksu lub db-jak dostęp do tego z mojej aplikacji internetowej.

Myśli o rozwiązaniach:
1. brute-force: HTML5 FileReader API ma ładny kawałek (metoda) dla dostępu przypadkowego. Mógłbym więc napisać jakiś indeks na początku pliku, użyć go do wyszukiwania pozycji innych przechowywanych obiektów i czytać je, gdy są potrzebne. Pomyślałem, że zapytam, czy istnieją już biblioteki javascript, które robią coś takiego (lub lepiej), zanim spróbują zaimplementować tę paskudną rzecz.

2. Lokalna baza danych HTML5. Zasadniczo szukam analogowego wywołania openDatabase() HTML5, które mogłoby otworzyć (tylko do odczytu) połączenie z bazą danych na podstawie lokalnego pliku określonego przez użytkownika. Z tego co rozumiem, nie ma możliwości określenia pliku ze wstępnie załadowaną bazą danych. Co więcej, nawet jeśli był taki hack, nie jest jasne, czy lokalny format pliku byłby taki sam w różnych przeglądarkach. Widziałem rozwiązanie do gry w phonegap, które zapełnia lokalną bazę danych przeglądarki na podstawie instrukcji SQL. Mogę to zrobić, ale dane, o których mówię, są dość duże (5-10 GB): ładowanie zajmie trochę czasu, a takie powielanie wydaje się raczej bezcelowe.

+0

jest to opcja podziału pliku w lokalnym systemie plików na porcje do zarządzania? – collapsar

Odpowiedz

1

HTML5 nie brzmi jak odpowiednia odpowiedź na twoje potrzeby. Kładziemy nacisk na HTML5 po stronie klienta i w oparciu o Twój opis bardzo często żądasz od przeglądarek, najprawdopodobniej więcej, niż potrafią.

Zamiast tego polecam przyjrzeć się rozwiązaniu opartemu na serwerze, aby dostarczyć pożądany cel/wyniki do widoku klienta, coś takiego jak Splunk byłoby dobrym produktem do rozważenia.

Powiązane problemy