СПОСОБ И УСТРОЙСТВО ОПРЕДЕЛЕНИЯ НАСЕЛЕННОГО ПУНКТА, В КОТОРОМ УСТАНОВЛЕН ТЕРМИНАЛ
METHOD AND DEVICE FOR DETERMINING SETTLEMENT IN WHICH TERMINAL IS INSTALLED

ОБЛАСТЬ ТЕХНИКИ
[0001] Представленное техническое решение относится, в общем, к области вычислительной техники, а в частности к способу и устройству определения населенного пункта, в котором установлен терминал, и может быть использовано для определения на основе данных о транзакциях местоположения терминала, в частности населенного пункта, в котором установлен терминал.
УРОВЕНЬ ТЕХНИКИ
[0002] Из уровня техники известны решения, позволяющие определить местоположение терминалов, предназначенных для выполнения операций, связанных с транзакциями.
[0003] Например, известна автоматизированная система управления сетью устройств самообслуживания (УС), раскрытая в патенте RU 2676030 С1, опубл. 25.12.2018. Известная система содержит модуль планирования, осуществляющий обработку данных УС для автоматизированного генерирования бизнес-планов развития сети УС и контроль выполнения бизнес-планов, модуль геомоделирования сети УС, обеспечивающий обработку данных и анализ географических местоположений для размещений УС, модуль аудита, модуль управления активами, модуль формирования отчетности, модуль администрирования, выполняющий обработку процессов доступа к системе, модуль управления закупками УС, осуществляющий обработку информации по договорам поставщиков, модуль ведения ключевых показателей эффективности (КПЭ), осуществляющий ведение реестра КПЭ, формирование на основании показателей КПЭ матрицы КПЭ для отчетных периодов, отслеживание достижения КПЭ, модуль управления справочниками, осуществляющий реализацию механизма защиты целостности данных.
[0004] Также известны способ и аппарат для определения информации о местоположении устройства осуществления транзакции, раскрытые в патенте RU 2680198 С2, опубл. 18.02.2019. В известном решении получают данные транзакции, выгруженные терминалом, когда электронный платеж относительно транзакции выполняется терминалом, отображающим уникальный идентификатор цифрового объекта, и устройством осуществления транзакции, сканирующим отображенный уникальный идентификатор цифрового объекта и передающим информацию о платеже, ассоциированную с уникальным идентификатором цифрового объекта, на сервер для завершения транзакции, причем данные транзакции являются ассоциированными с транзакцией, после чего определяют идентификатор устройства осуществления транзакций и информацию об адресе транзакции, также включенные в данные транзакции, причем идентификатор устройства осуществления транзакций содержит идентификатор самого устройства осуществления транзакций, и при этом информация об адресе транзакции содержит местоположение терминала одновременно с транзакцией, и определяют и сохраняют информацию о местоположении терминала, в качестве местоположения устройства осуществления транзакций, соответствующую идентификатору устройства осуществления транзакций.
[0005] Недостатком известных решений является отсутствие возможности определения населенного пункта, в котором установлен терминал, на основе данных о транзакциях.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[0006] Технической проблемой или технической задачей, поставленной в данном техническом решении, является создание нового эффективного, простого и надежного решения для определения населенного пункта, в котором установлен терминал.
[0007] Техническим результатом, достигаемым при решении вышеуказанной технической проблемы или технической задачи, является расширение функциональных возможностей вычислительного устройства за счет обеспечения возможности определения населенного пункта, в котором установлен терминал, на основе данных о транзакциях.
[0008] Указанный технический результат достигается благодаря осуществлению способа определения населенного пункта, в котором установлен терминал, выполняемого по меньшей мере одним вычислительным устройством, содержащего этапы, на которых:
- извлекают из данных о транзакциях названия всех населенных пунктов, в которых клиент совершал транзакций;
- извлекают из данных о транзакциях названия всех населенных пунктов, в которых были выполнены транзакции посредством терминала, для которого следует определить населенный пункт, в котором он установлен;
- определяют общее количество транзакций в каждом населенном пункте, выполненные при помощи терминала, для которого следует определить населенный пункт, в котором он установлен;
- определяют коэффициенты совпадения символов посредством попарного сравнения названий всех населенных пунктов, в которых по меньшей мере один клиент совершал транзакций, с названиями населенных пунктов, в которых были выполнены транзакции посредством терминала, для которого следует определить населенный пункт;
- на основе коэффициентов совпадения символов и значений общего количество транзакций в каждом населенном пункте определяют для терминала населенный пункт, в котором он установлен.
[0009] В одном из частных примеров осуществления способа дополнительно выполняют этапы, на которых: переводят названия населенных пунктов на латиницу с помощью алгоритма транслитерации; выполняют очистку текста от лишних символов и сокращений определяют дифтонги в переведенном названии населенного пункта на латиницу; заменяют дифтонги на один символ для получения упрощенного названия населенного пункта; причем для упомянутого попарного сравнения используются упрощенные названия населенных пунктов. [0010] В другом частном примере осуществления способа названия населенных пунктов дополнительно содержат названия регионов.
[0011] В другом частном примере осуществления способа в результате попарного сравнения названий населенных пунктов: при совпадении первых 5 символов при условии, что оба слова состоят из 5 символов, присваивают коэффициент совпадения символов - 100; при совпадении первых 4 символов при условии, что оба слова состоят из 4 символов, присваивают коэффициент совпадения символов - 100; при совпадении первых 3 символов при условии, что оба слова состоят из 3 символов, присваивают коэффициент совпадения символов - 50; при совпадении первых 5 символов присваивают коэффициент совпадения символов 50; при совпадении первых 4 символов присваивают коэффициент совпадения символов - 20; при совпадении первых 3 символов присваивают коэффициент совпадения символов - 10; при несовпадении присваивают коэффициент совпадения символов - 1.
[0012] В другом частном примере осуществления способа этап, на котором определяют для терминала населенный пункт, в котором он установлен, на основе коэффициентов совпадения символов и значений общего количество транзакций в каждом населенном пункте, содержит этапы, на которых: рассчитывают метрику, полученную посредством умножения упомянутых коэффициентов совпадения символов на значения общего количества транзакций; выбирают максимальное значение метрики; причем определение населенного пункта для терминала выполняется посредством назначения терминалу населенного пункта, в котором по меньшей мере один клиент совершал транзакций, в результате сравнения с которой получилось максимальное значение метрики.
[0013] В другом предпочтительном варианте осуществления заявленного решения представлено устройство определения населенного пункта, в котором установлен терминал, содержащее по меньшей мере одно вычислительное устройство и по меньшей мере одну память, содержащую машиночитаемые инструкции, которые при их исполнении по меньшей мере одним вычислительным устройством выполняют вышеуказанный способ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания технического решения и прилагаемых чертежей, на которых:
[0015] На Фиг. 1 представлена схема системы обработки данных.
[0016] На Фиг. 2 представлена схема способа обработки данных.
[0017] На Фиг. 3 пример общего вида вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[0018] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.
[0019] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[0020] Под устройством обработки команд подразумевается электронный блок, вычислительное устройство, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[0021] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.
[0022] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[0023] Терминал - конечная часть некой системы, которая обеспечивает связь системы с внешней средой. В системах приема платежей платежный терминал используется для взаимодействия пользователя с системой, причем операцию производит пользователь карточки. Также терминал может представлять собой POS-терминал - устройство для оплаты товаров (услуг) с помощью платежных карточек, причем операцию производит кассир.
[0024] Транслит (название произведено сокращением слова «транслитерация») - передача текста с помощью чужого алфавита.
[0025] В соответствии схемой, представленной на Фиг. 1, система 100 обработки данных содержит по меньше мере один терминал 1 и устройство 10 определения населенного пункта.
[0026] Терминал 1 может представлять собой любое устройство, обеспечивающее возможность осуществления транзакций, например, POS - терминал (торговый терминал) - электронное устройство, устанавливаемое рядом с кассовым аппаратом торгово-сервисного предприятия и позволяющее считывать информацию с магнитной полосы или чипа карточки и осуществлять связь с банком для проведения авторизации с целью осуществления операции по банковской карточке.
[0027] Устройство 10 определения населенного пункта может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 11 сбора данных, модуль 12 обработки данных о клиентах, модуль 13 обработки данных о терминалах, и модуль 14 определения населенного пункта. Упомянутые модули могут быть реализованы на базе программно-аппаратных средств вычислительного устройства, конструкция которого далее будет раскрыта в описании со ссылкой на Фиг. 3.
[0028] Соответственно, терминал 1 предоставляет пользователю возможность выполнить транзакцию, связанную со снятием денежных средств, их зачислением на счет, переводом денежных средств между счетами и прочей операцией. После того, как транзакция выполнена, терминал 1 направляет данные транзакции (этап 100, см. Фиг. 2) в устройство 10 определения населенного пункта для их хранения в модуле 11 сбора данных. Данные транзакции могут содержать идентификатор (ID) клиента, ID терминала, время транзакции, параметр населенного пункта, заданный владельцем терминала, и прочую информацию. Параметр населенного пункта, заданный владельцем терминала, может представлять собой текстовую информацию, представленную транслитом, и для одного и того же населенного пункта принимать совершенно разные значения. Например, для Мытищ упомянутая текстовая информация может представлять: MUTISHI, MITISCHI, MYTISCSHI. Кроме того, данная текстовая информация не указывает на регион, к которому относится населенный пункт, в связи с чем могут возникнуть проблемы при идентификации городов и поселков с одинаковыми названиями.
[0029] При сохранении данных транзакции в модуле 11 сбора данных в данные транзакции также включается название населенного пункта и региона, определенные на основе параметра населенного пункта. Параметры населенных пунктов и соответствующие им названия населенных пунктов и регионов могут быть заранее заданы в памяти модуля 11 сбора данных.
[0030] Далее по запросу пользователя устройства 10 определения населенного пункта или в соответствии с заложенным разработчиком в устройство 10 алгоритмов инициируется процесс определения населенного пункта, в котором установлен терминал. На первом этапе определения населенного пункта осуществляют извлечение из данных о транзакциях названия всех населенных пунктов, в которых клиент совершал транзакций (Фиг. 2, этап 101). В частности, модуль 12 обработки данных о клиентах извлекает из модуля 11 сбора данных по меньшей мере один ID клиента, названия населенных пунктов, в которых клиент совершал транзакции, после чего упомянутый модуль 12 определяет количество транзакции в каждом населенном пункте, совершенных клиентом. Количество транзакции может быть определено на основе данных о транзакциях, например, выполненные клиентом за последние 3 месяца.
[0031] Названия населенных пунктов упомянутым модулем 12 могут быть переведены на латиницу с помощью алгоритма транслитерации и упрощены посредством определения дифтонгов и их замены на один символ. Дифтонг - звуки, артикуляция которых подразумевает переход от одного гласного звукотипа к другому. Например, символы «АА» заменяются на символ «А», символы «ОО» - на «О», символы «UU» - на «U», символы «ЕЕ» - на «Е», символы «WW» - на «W», символы «ΙΑ» - на «I», символы «IO» - на «I», символы «IU» - на «I», символы «ΙΕ» - на «I», символы «ΑΙ» - на «I», символы «ΟΙ» - на «I», символы «UI» - на «I», символы «ΕΙ» - на «I», символы «II» - на «I». Дополнительно перед заменой дифтонгов на один символ модуль 12 может известными из уровня техники выполнить очистку текста от лишних символов и сокращений.
[0032] Таким образом, в модуле 12 обработки данных о клиентах формируется набор данных о по меньшей мере одном клиенте, содержащий названия всех населенных пунктов, в которых клиент совершал транзакций, который может быть представлен в следующем виде:
где в столбце «Клиент» приведены примеры ID клиента, в столбце «Регион» приведены примеры названий регионов, в столбце «Нас. пункт» приведены примеры названий населенных пунктов, в столбце «Кол-во транзакций» приведены примеры количества транзакций, совершенных клиентом в каждом населенном пункте, в столбце «Город упрощенный» приведены примеры названий упрощенных населенных пунктов. Полученные набор данных о по меньшей мере одном клиенте направляется в модуль 14 определения населенного пункта. [0033] Параллельно с процессом формирования набора данных о по меньшей мере одном клиенте, либо после формирования упомянутого набора данных, извлекают из данных о транзакциях названия всех населенных пунктов, в которых были выполнены транзакции посредством терминала, для которого следует определить населенный пункт, в котором он установлен (Фиг. 2, этап 102). В частности, модуль 13 обработки данных о терминалах извлекает из модуля 11 сбора данных по меньшей мере один ID терминала, ID клиентов, которые совершали транзакции при помощи данного терминала, названия населенных пунктов, в которых клиенты совершали упомянутые транзакции, после чего упомянутый модуль 13 определяет количество транзакции в каждом населенном пункте, совершенных посредством терминала. Таким образом, в упомянутом модуле 13 формируется набор данных о по меньшей мере одном терминале, содержащий названия всех населенных пунктов, в которых были выполнены транзакции посредством терминала, для которого следует определить населенный пункт, в котором он установлен, который может быть представлен, например, в следующем виде:
где в столбце «Терминал» приведены примеры ID терминала, в столбце «Клиент» приведены примеры ID клиента, в столбце «Регион» приведены примеры названия региона, в котором находится населенный пункт, в столбце «Нас. пункт» приведены примеры названия населенного пункта, в котором была выполнена транзакция посредством терминала, в столбце «Кол-во транзакций» приведены примеры количества транзакций, выполненные клиентом в населенном пункте при помощи терминала. Количество транзакции может быть определено на основе данных о транзакциях, например, выполненные за последние 3 месяца.
[0034] Также модуль 13 обработки данных о терминалах определяет общее количество транзакций в каждом населенном пункте, выполненные при помощи терминала, для которого следует определить населенный пункт, в котором он установлен (Фиг. 2, этап 103). Соответственно, для приведенного выше примера общее количество транзакции будет представлять собой следующие значения:
где в столбце «Общ. кол-во транзакций» приведены примеры значений общего количество транзакции в каждом населенном пункте по всем клиентам.
[0035] Далее названия населенных пунктов модуль 13 обработки данных о терминалах описанным ранее способом переводит на латиницу с помощью алгоритма транслитерации и упрощает названия населенных пунктов посредством определения дифтонгов и их замены на один символ, после чего упомянутый модуль 13 включает упрощенные названия населенных пунктов в набор данных о по меньшей мере одном терминале и направляет набор данных о по меньшей мере одном терминале и значения общего количества транзакции в каждом населенном пункте в модуль 14 определения населенного пункта.
[0036] При получении набор данных о по меньшей мере одном клиенте и набор данных о по меньшей мере одном терминале модуль 14 определения населенного пункта извлекает и попарно сравнивает для по меньшей мере одного терминала названия населенных пунктов (в частности, упрощенные названия населенных пунктов), содержащиеся в наборе данных о по меньшей мере одном клиенте, с названиями населенных пунктов (в частности, упрощенными названиями населенных пунктов), содержащимися в наборе данных о по меньшей мере одном терминале, после чего на основе результатов сравнения определяет коэффициент совпадения символов. Например, при совпадении первых 6 символов паре присваивается коэффициент 100, при совпадении первых 5 символов при условии, что оба слова состоят из 5 символов присваивается коэффициент 100, при совпадении первых 4 символов при условии, что оба слова состоят из 4 символов присваивается коэффициент 100, при совпадении первых 3 символов при условии, что оба слова состоят из 3 символов присваивается коэффициент 50, при совпадении первых 5 символов присваивается коэффициент 50, при совпадении первых 4 символов присваивается коэффициент 20, при совпадении первых 3 символов присваивается коэффициент 10, при несовпадении присваивается коэффициент 1.
[0037] Далее модуль 14 определения населенного пункта на основе значений коэффициентов совпадения символов и значений общего количества транзакций в каждом населенном пункте определяет для терминала населенный пункт, в котором этот терминал установлен (Фиг. 2, этап 104). Например, на основе значений коэффициентов совпадения символов и значений общего количества транзакций в каждом населенном пункте модулем 14 может быть рассчитана метрика, полученная посредством умножения упомянутых коэффициентов на значения общего количества транзакций, после чего модуль 14 выбирает максимальное значение метрики и назначает терминалу населенный пункт, соответствующий названию населенного пункта (в частности, упрощенному названию населенного пункта), содержащемуся в наборе данных о по меньшей мере одном клиенте. Таким образом, обеспечивается определение населенного пункта для терминала посредством назначения терминалу населенного пункта, в котором по меньшей мере один клиент совершал транзакций, в результате сравнения с которой получилось максимальное значение метрики.
[0038] Например, в соответствии с приведенными выше примерами набора данных о по меньшей мере одном клиенте и набора данных о по меньшей мере одном терминале, коэффициенты совпадения символов могут представлять собой следующие значения:
где в столбце «Нас. пункт» приведены примеры названий населенных пунктов, соответствующих упрощенному названию населенного пункта, содержащегося в наборе данных о по меньшей мере одном клиенте, в столбце «Нас. пункт» приведены примеры значений общего количество транзакции в каждом населенном пункте, в столбце «Город клиента упрощенный» приведены примеры упрощенных на названий населенных пунктов, содержащиеся в наборе данных о по меньшей мере одном клиенте, в столбце «Город терминала упрощенный» приведены примеры упрощенных на названий населенных пунктов, содержащихся в наборе данных о по меньшей мере одном терминале, в столбце «Коэффициент» приведены значения коэффициентов совпадения символов, в столбце «метрика» приведены значения метрики.
[0039] Таким образом, осуществляется определение населенного пункта терминала, в котором установлен терминал, на основе данных о транзакциях. Полученные названия населенных пунктов для терминалов могут быть сохранены в модуле 11 сбора данных и ведены по меньшей мере одному пользователю по соответствующему запросу на средства вывода данных, которые будут раскрыты ниже.
[0040] В общем виде (см. Фиг. 3) вычислительное устройство (200) содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203) и интерфейсы ввода/вывода (204).
[0041] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (200) также необходимо учитывать графический процессор, например, GPU NVIDIA с программной моделью, совместимой с CUDA, или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах.
[0042] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора.
[0043] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0044] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0045] Для обеспечения взаимодействия пользователя с устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0046] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0047] Конкретный выбор элементов устройства (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[0048] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы.