Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!

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

project expired


Имеется некое стороннее приложение, которое взаимодействует со внешним устройством через 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 по договоренности.

Applications 1

Only registered users can view attachments.

Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.

  1. 10 days10000 ₴
    Микола Ф.
     1932  verified   50   1

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

    Ukraine Kyiv | 13 September at 18:45 |
  2. 8 days1280 ₴
    Сергей Новиков
     603   9   0

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

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

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

    Ukraine Kyiv | 14 September at 05:27 |
  3. 7 days10000 ₴
    Владислав Иванов
     356 

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

    Ukraine Kyiv | 14 September at 11:08 |
  4. 8 days10000 ₴
    Art System
     594   4   0

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

    Ukraine Herson | 14 September at 23:05 |
  5.  1792 
       24   0

    15 days6000 ₴

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

    Ukraine Zaporozhe | 16 September at 14:29 |
  • Александр Малыгин
    Complain | 13 September at 22:16 |

    Обязательно Python? Чем это обусловлено?

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

  • Владимирович Денис — project author
    Complain | 13 September at 23:28 |

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

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

  • Add

Client
Project published
13 September at 11:13
157 views
Payment methods
Share