как реализовать сетевую систему запросов книг

0

Обратите внимание, что если я не хочу использовать базу данных.

Теперь я изучаю сетевое программирование Unix. И у меня есть библиотека университетских книг, в которой хранятся все списки книг в разделенных файлах txt. например, начальные книги "b" хранятся в b.txt. все az количество книг составляет около 1 миллиона записей. строка для названия книги и подробная другая информация.

Теперь я хочу сделать программу для предоставления услуги запроса списка книг, например, давая имя книги, она может вернуть подробную информацию об этом bool, существует ли она.

Поэтому мне нужно сначала создать модуль для выполнения функции запроса.

Затем запишите серверную сторону, чтобы вызвать модуль запроса, и получить результат и отправить результат в клиентский модуль.

Мой вопрос: если я не использую базу данных. Как реализовать модуль запроса с помощью c/c++, просто сначала найдя первую букву, например, имя H.txt книги H должно найти в H.txt или H1.txt и H2.txt, используя fopen откройте файл, затем прочитайте line by line, затем сравните с запрошенным именем книги, используя strFind strCmp аналогичную функцию strCmp, если затем вернуть результат. я просто думаю, что это трудоемкая вещь и не понимает, что использовать. И если какая-либо такая система запросов могла бы ссылаться на не использующую базу данных, но была бы терпимой во времени?

  • 0
    C или C ++? Выбери один. Обратите внимание, что "c / c ++" не существует.
Теги:

2 ответа

1
Лучший ответ

Существует несколько вариантов. Самый дешевый вариант (= низкое время разработки, низкое обслуживание, низкие требования к оборудованию), IMO, заключается в создании html-страницы на отдельном сайте, который ссылается на все файлы данных. Затем вы настраиваете другую страницу, которая использует google.com для поиска этого сайта. Затем вы просто скажите веб-пауку google, чтобы индексировать ваш сайт. Таким образом, вы получаете отличную производительность с минимальной работой. Но... вы не можете запрограммировать любую C.

Простое решение с использованием C:

Делайте, как вы сами предлагаете. Если у вас много памяти для кеширования файлов, производительность не будет такой плохой, если загрузка не будет высокой. Все остальное будет по-прежнему работать с остальной частью решения, поскольку вы должны делегировать поиск рабочим потокам.

Промежуточный раствор с использованием C:

Найдите стороннюю поисковую систему и интегрируйте ее с сетевым кодом.

Расширенное решение с использованием C:

Внедрите свою собственную поисковую систему.

  • 0
    Можете ли вы объяснить простое решение с помощью с? Теперь мой уровень может читать файл построчно и сравнивать с ключевыми словами. особенно в «кэшировании файлов» и «рабочих потоках», вы имеете в виду, что это многопоточность?
  • 0
    Теперь вы должны найти эти термины и изучить их.
Показать ещё 4 комментария
0

Проблема заключается в том, почему НЕ ХОТИТЕ ИСПОЛЬЗОВАТЬ БАЗА ДАННЫХ?

1. упростить развертывание?

sqlite может быть хорошим выбором.

2. Пробовать другой метод?

lucene - хороший выбор для поиска информации, который написан java.

clucene - кто-то переписывает lucene к c.

Вам также может понадобиться инструмент стэммера (получить корень слов), ictclas (выдержка терминов китайских слов) и т.д.

3. хотел бы что-нибудь сделать сам?

Легко управлять текстовым файлом в системе, в то время как для "системы запросов" хранилища недостаточно, основной проблемой является IR (поиск информации). Вы можете узнать что-то о построении индекса, сохранить и запросить индекс

Ещё вопросы

Сообщество Overcoder
Наверх
Меню