Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!

Программа на Python по парсингу данных из лог файла

истекло время актуальности


Имеется некое стороннее приложение, которое взаимодействует со внешним устройством через DLL файл. Этот DLL файл имеет 14 экспортируемых функций (описаны в файле j2534.h). При помощи сторонней программы был записан лог файл взаимодействия между приложением и этой DLL c расшифровкой всех передаваемых и возвращаемых параметров. Задача состоит в том, чтобы повторить работу стороннего приложения, путем вызова функций DLL через Python и контроля результата проигрывания по сравнению с оригиналом.

Задачу нужно разбить на несколько этапов:

  1. Преобразование лог файла в файл формата JSON (возможно вы предложите более удобный формат файла для хранения данных парсинга)
  2. Проигрывание полученного JSON файла для имитации работы стороннего приложения


Преобразование лог файла в файл формата JSON

Некоторые данные, которые передаются или принимаются из DLL находятся в виде указателей на структуры данных (описаны в файле j2534.h), в лог файле они расшифрованы. В JSON файле должны быть отображены все передаваемые и возвращаемые данные/структуры, включая относительное время вызова функции DLL.


Проигрывание полученного JSON файла

На основе полученного в предыдущем этапе JSON файла программа должна уметь его воспроизвести, путем вызова DLL функций (имя DLL задается пользователем). При этом, должны быть соблюдены временные интервалы между вызовом DLL функций.


Некоторые DLL функции возвращают следующие указатели: pDeviceID, pChannelID. В последствии эти значения передаются в качестве входных параметров DLL функции. Однако, проблема в том, что возвращаемые pDeviceID, pChannelID в разные моменты времени могут быть разными, и чтобы все корректно работало, при проигрывании лога необходимо сохранять полученные значения указателей pDeviceID, pChannelID, и использовать именно их при вызове функций DLL, в которые они передаются, игнорируя данные из JSON файла


Также учесть возможность контроля (задается пользователем при необходимости) выходных значений DLL функции, путем сравнения с данными о выходных значениях из JSON файла. Если данные не совпадают, выводить в лог файл подробную информацию о месте возникновения проблемы в отдельный файл. Предусмотреть параметр в JSON файле, по которому можно принудительно отключить данный контроль для каждого конкретного вызова DLL функции.


Файл j2534.h можно скачать отсюда: https://github.com/fenugrec/oj2534-fw/blob/master/src/j2534.h

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


Оплата WebMoney по договоренности.

Приложения 1

Просмотр приложений доступен только зарегистрированным пользователям.

Сделать ставку!

Заказчик не желает делать предоплату? Предложите оплату через Сейф, чтобы избежать возможного мошенничества.

  1. 10 дней10000 ₴
    Микола Ф.
     2029  проверен   51   1

    Привет готов помочь вам! Напишите мне , начну прям щас. Можете поговорить в скайпе со мной , нужно уточнить детали?

    Украина Киев | 13 сентября в 18:45 |
  2.  735 
    10   8   0

    8 дней1280 ₴

    На питоне не стану писать, вместо этого могу предложить готовый exe-шник под Windows от ХР до 10 на С-подобном языке, без передачи исходников.
    При необходимости в будущем изменить что-то -- переделаю скорее всего бесплатно или за небольшую сумму (т.к. сложно назвать эту программу ультрасложной или масштабной).

    Также вместо JSON предпочел бы использовать XML, который таки намного менее м***цкий.

    Если все это подходит - готов взяться с указанной стоимостью/сроками.

    Украина Киев | 14 сентября в 05:27 |
  3. 7 дней10000 ₴
    Владислав Иванов
     365 

    Добрый день, Владимир!
    Есть опыт работы в похожих проектах.
    С формированием и читкой JSON проблем не вижу!
    Предлагаю обсудить проект при встрече или по скайпу!

    Украина Киев | 14 сентября в 11:08 |
  4. 8 дней10000 ₴
    Art System
     499   3   0

    Качественно выполним поставленную задачу
    Skype: Team ArtSystem
    E-Mail: [email protected]
    Viber/Telegram:+380997983974
    http://artsystem.company/#

    Украина Херсон | 14 сентября в 23:05 |
  5.  1522 
       18   0

    15 дней6000 ₴

    Насколько я понял, нужно две консольные утилиты.
    Одна - конвертор лога в набор инструкций, другая - исполнитель файла инструкций.
    Согласен с Python и JSON.
    Готов помочь.

    Украина Запорожье | 16 сентября в 14:29 |
  • Обязательно Python? Чем это обусловлено?

    Обязательно нужен посредник в виде JSON файла?

  • Владимирович Денис — заказчик проекта
    Пожаловаться | 13 сентября в 23:28 |

    Промежуточный файл в человеческом виде нужен для того, чтобы вручную можно было создать нужный файл и потом проиграть его. Все это нужно для целей автоматизации тестирования. Монолитного приложения тут не требуется.

    Питон прост и хорошо подходит для целей парсинга. Чтобы не завязываться на нескольких разных технологиях проще все это делать на чем-то одном.

  • Добавить

Заказчик
Проект опубликован
13 сентября в 11:13
152 просмотра
Способы оплаты
Метки
Поделиться