Перейти к публикации

Описан ли где-то официально алгоритм генерации идентификаторов в Teamcenter?


Рекомендованные сообщения

Добрый день!

 

В документации на Teamcenter встречается упоминание, что site id используется для генерации идентификаторов объектов (UID).

А описан ли где-то сам алгоритм генерации UID?

Или есть ли где-то описание итоговой "структуры" UID?

Яндекс/гугл ничего не дают, искал я долго.

 

P.S.: Да, я в курсе, что лицензионное соглашение на Teamcenter очень много чего запрещает и что с большой вероятностью описание алгоритма/структуры если и есть, то носит закрытый характер, а самостоятельный реверсинжиниринг, скорее всего, преследуется по закону. Но если вдруг информация где-то есть и она открытая, то был бы благодарен за информацию или ссылку.  :smile:

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах


а зачем вам знать алгоритм генерации UID? что это вам даст на практике?

если нужно - есть код генерации item_id - он в sample-ах

Ссылка на сообщение
Поделиться на других сайтах
а зачем вам знать алгоритм генерации UID? что это вам даст на практике?

 

На данный момент больше академический интерес, но не только.  :smile:

 

На практике иногда по UID надо быстро навскидку (без бюрократических проволочек) определить где именно этот UID генерировался.

Т.е. выяснить какое предприятие создавало объект (связка "косвенное значение site id-конкретное предприятие" известна).

А сайт-владелец может запросто не совпадать с создателем, т.е. разглядывание POM_imc может ничего не дать.

 

Для себя, в принципе, я задачу то решил, но хочется знать и теорию.

В документации находил только функции а-ля TIE_get_hashed_uid, но но описание алгоритма их работы.

 

Не подскажете как хотя бы примерно исходник называется или к какому разделу он относится или какие-нибудь ключевые слова, по которым его можно найти?

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

исходник относится тольк ок item_id а не к uid.

называется он вроде user_part_no.c

а выяснить на каком предприяти создался - за это и отвечает атрибут site_id - зачем вам uid тут нужен?

uid это тот же puid что в таблицах oracle.

Ссылка на сообщение
Поделиться на других сайтах

Попробую по-другому изложить ситуацию.

 

Есть Item.

Есть его UID.

Надо по UID восстановить site id (разумеется если это чего-нибудь не нарушает, а то с этими соглашениями и законами голову можно сломать), достаточно только исходного числового значения, всякие там другие подробности не нужны.

У item'а, конечно, есть свойство owning_site, которое указывает на POM_imc (в котором есть site id), но это в данном случае не подходит, так как сайт-владелец и сайт-создатель это иногда разные вещи.

Например если объект получен через промежуточный сайт средствами Multisite.

В общем нужен site id сайта-создателя (который и шифруется в UID), а не текущего сайта-владельца.

 

Или допустим есть в формате Excel какой-нибудь отчёт, в котором только столбец с UID, никаких других данных нет.

В столбце несколько сотен/тысяч/десятков тысяч объектов.

Надо посчитать (средствами Excel), имея только UID, сколько разных БД с разными site id "засветились" в этом списке и сколько к каждой БД (site id) объектов из списка относится.

Получать какую-то ещё информацию не нужно.

Только site id и статистические данные. :smile:

 

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

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

Хороший у вас аватар

Истину ищу! :biggrin:

UID, нужен для того, что бы чисто гипотетически в мире не было двух одинаковых "айтемов", что в него вложено дело не столь критичное, как мне кажется, ну вас же не парит, что в файлах NX явным образом хранится история (и вы ее можете поглядеть) на какой машине с какой ОС и пр. была рождена та деталь с который вы сейчас возитесь.

 

add-

прикрутите какой нить дизассемблер к правильной длл-ке генерирующей UID-ы и изучайте;)

Ссылка на сообщение
Поделиться на других сайтах
UID, нужен для того, что бы чисто гипотетически в мире не было двух одинаковых "айтемов", что в него вложено дело не столь критичное, как мне кажется, ну вас же не парит, что в файлах NX явным образом хранится история (и вы ее можете поглядеть) на какой машине с какой ОС и пр. была рождена та деталь с который вы сейчас возитесь.

 

Про обеспечение уникальности я понимаю, про это в документации написано.

 

add- прикрутите какой нить дизассемблер к правильной длл-ке генерирующей UID-ы и изучайте;)

 

Противозаконно. :smile:

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

 

Всем спасибо!

Ссылка на сообщение
Поделиться на других сайтах

Что, даже чаю не попьете?!

Меня заинтересовала ваша идея про возможность "отследить", как следящая сторона поймет, что эти "uid-ы" ваши?

Если в их генерации участвует site_id, то он тоже генерируется случайно...

Про противозаконно, и тем не менее джарки тимцентровские без специального "коверканья" (забыл как по научному называется)

Изменено пользователем Krusty
Ссылка на сообщение
Поделиться на других сайтах

Взято с житака
https://solutions.industrysoftware.automation.siemens.com/view.php?sort=desc&q=generate+uid&dt=faq&file_type=html&i=002-7004831&k=8&o=0

/*------------------*/
Unique Identifier (UID)is an 80 bit value, made up of
- a 16 bit count,
- a 32 bit timestamp (seconds since 1972, so we will blow up in 2038)
- a 32 bit site id unique to this database (actually allocated by a random
number on installation)

Uids are based on timestamps. They are never reused in Teamcenter.

Ссылка на сообщение
Поделиться на других сайтах

Меня заинтересовала ваша идея про возможность "отследить", как следящая сторона поймет, что эти "uid-ы" ваши?

 
Да нет же, я не боюсь что какая-то сторона поймёт что объекты наши. :smile:
Я вообще ничего пересылать никуда не собираюсь и чего-то другого противозаконного делать тоже, тем более что моя личность на этом форуме не является анонимной для коллег.
Может я сумбурно изложил.
Наоборот, у меня есть какой-то Item, UID которого я вижу в print_object, либо же у меня изначально есть перечень UID.
Я наоборот хочу понять чьи это UID не задалбывая вопросами других специалистов и не влазя в какие-нибудь бюрократические проволочки.
Одним предложением - есть Item, есть его UID и я хочу понять кто сгенерировал Item.
Мне не нужен результат вида "UID сгенерировал Василий Пупкий, г. Кагалым, Красноармейская, 1", такого всё равно невозможно получить только из UID без дополнительной внешней информации.
Мне достаточно только site id.
 

Если в их генерации участвует site_id, то он тоже генерируется случайно...

 
Про это я знаю, читал документацию.
Вот только как я понял site id генерируется утилитой generate_site_id.exe и утилита эта, как я понимаю, конечный id берёт с какого-то сименсовского сервера, либо же генерирует его, а затем согласовывает с сименсом.
А иначе как бы они генерировали уникальный id, должна быть какая-то центральная БД по уже выделенным значениям.
Плюс сименсы  в одном из документов пишут что в 2010-м положительные значения для int уже были исчерпаны, теперь выдают отрицательные (хотя я может так криво сименсовский английский понял и они просто писали про смену алгоритма).
Это ж какой объём установок должен быть, чтоб пару миллиардов значений исчерпать?
С другой стороны при настройке сайта всё равно можно своё значение забить, тогда уникальности не будет.
 
 

Про противозаконно, и тем не менее джарки тимцентровские без специального "коверканья" (забыл как по научному называется)

 
Вроде бы обфускация это, если я не путаю.
Да по законодательным тенденциям нынешних времён скоро за сам факт запуска  инструментов а-ля OllyDbg будут отрубать руки, а знание ассемблера автоматически будет приравниваться к уголовному преступлению.  :biggrin:
А по жабе я ни разу не специалист, последний раз ковырял её лет десять назад во времена версии 1.2.
Язык оставил мерзостное впечатление (может сейчас всё по другому, я не знаю), и я его забросил.
 

Взято с житака https://solutions.in...7004831&k=8&o=0 /*------------------*/ Unique Identifier (UID)is an 80 bit value, made up of - a 16 bit count, - a 32 bit timestamp (seconds since 1972, so we will blow up in 2038) - a 32 bit site id unique to this database (actually allocated by a random number on installation) Uids are based on timestamps. They are never reused in Teamcenter.

 
О как, большое спасибо!
У меня нет доступа к GTAC, к сожалению, полной статьи посмотреть не могу.  :sad:
Про 80-битность, значит, я правильно вывод сделал (по моим догадкам 10 "с половиной" байт выходило).
Вот только тут описан изначальный вклад каждой составляющей, но алгоритма "хеширующей" функции нет, тут у меня только догадки есть.
Т.е. непонятно как восстановить из конечного значения функции её аргументы .
И ещё может какой-нибудь ключ хеширования в деле учавствует.
Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

Не могу отредактировать предыдущий пост из-за ограничения по таймауту.

Вообще конкретную фирму отследить можно только если у вас есть таблица а-ля "site id - конкретная контора".

Но лично мне это и не нужно.

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах
к сожалению, полной статьи посмотреть не могу

А там (в этой статье) больше ничего и нет. 
Ссылка на сообщение
Поделиться на других сайтах
Про это я знаю, читал документацию. Вот только как я понял site id генерируется утилитой generate_site_id.exe и утилита эта, как я понимаю, конечный id берёт с какого-то сименсовского сервера, либо же генерирует его, а затем согласовывает с сименсом. А иначе как бы они генерировали уникальный id, должна быть какая-то центральная БД по уже выделенным значениям. Плюс сименсы в одном из документов пишут что в 2010-м положительные значения для int уже были исчерпаны, теперь выдают отрицательные (хотя я может так криво сименсовский английский понял и они просто писали про смену алгоритма). Это ж какой объём установок должен быть, чтоб пару миллиардов значений исчерпать? С другой стороны при настройке сайта всё равно можно своё значение забить, тогда уникальности не будет.

вы не о том, на сайте сименса вы берете утилиту для генерации composite_id, эта цифирь генерируется на основе данных о сервере на котором велась генерация, сии данные нужны для выпуска файла лицензии привязанного к конкретной железной машине.

 

а генерация site_id это дело лично ваше и ничье более, ну и руками сами можете - да.

У меня нет доступа к GTAC, к сожалению, полной статьи посмотреть не могу.

а это все, какая статья:) просто был вопрос от какого-то пользователя, ему и ответили.

 

Вот только тут описан изначальный вклад каждой составляющей

да позаморачивайтесь вы о чем нить другом:)

Ссылка на сообщение
Поделиться на других сайтах
вы не о том, на сайте сименса вы берете утилиту для генерации composite_id, эта цифирь генерируется на основе данных о сервере на котором велась генерация, сии данные нужны для выпуска файла лицензии привязанного к конкретной железной машине.

 

Не знаю, в документации пишут именно про site id. Про лицензирование я бегло тоже читал, про лицензии вопросы отдельно описываются, даже в папочку отдельную PDF положили. :-)

Хотя двухзвенки/четырёхзвенки я в отличии от Вас не разворачивал, сервер лицензии не поднимал, конечно же, может быть где-то я и не прав. :-)

 

 

да позаморачивайтесь вы о чем нить другом:)

 

Да тема уже, по сути, подошла к логическому концу.

Мне для своей задачи пока хватает и того, что я накопал.

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

вы берете утилиту для генерации composite_id, эта цифирь генерируется на основе данных о сервере на котором велась генерация, сии данные нужны для выпуска файла лицензии привязанного к конкретной железной машине.

 

 

у меня вопрос по composite_id утилите - она сканирует всю конфигурацию железа (процессор память, разрядность ОС итд) или только отталкивается от MAC адреса и конкретной сетевой карты?

 

при запуске утилита выводит данные MAC и сетевую карту. больше ничего

 

просто у нас есть проблемы с разворачиванием лицензии на одной машине. вроде данные все верны но сервер статус -97 выдает

Изменено пользователем lexx174
Ссылка на сообщение
Поделиться на других сайтах

Не знаю, в документации пишут именно про site id. Про лицензирование я бегло тоже читал, про лицензии вопросы отдельно описываются, даже в папочку отдельную PDF положили. :-)

Хотя двухзвенки/четырёхзвенки я в отличии от Вас не разворачивал, сервер лицензии не поднимал, конечно же, может быть где-то я и не прав. :-)

Да тема уже, по сути, подошла к логическому концу.

Мне для своей задачи пока хватает и того, что я накопал.

неполенитесь ткнуть в документацию, пожалуйста
Ссылка на сообщение
Поделиться на других сайтах
неполенитесь ткнуть в документацию, пожалуйста

 

 

Давайте сначала Вы про composite_id ткните.

Вы профессионал, вы быстрее найдёте.

И  это не сарказм.

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...