Я ищу идеи / примеры того, как хранить шаблоны путей от пользователей - с целью анализа их поведения и оптимизации «наиболее часто используемых путей», когда мы можем каким-либо образом их обнаружить.
Например. какое действие они выполняют после чего, так что мы позже сможем проверить, выполняются ли определенные действия снова и снова, - поэтому разрабатывают ярлык или объединяют некоторые действия в комбинированное мультиакция.
Моим первым предположением будет какой-то "простой журнал", возможно, сохраненный каким-то способом SQL, где мы можем сохранить каждое действие в качестве индекса, а затем просто записать все.
Проблема в том, что путь / действие может быть динамически изменен - даже во время регистрации - поэтому мы должны быть в состоянии позаботиться и об этом, когда будем искать шаблоны позже.
Будете ли вы сначала регистрировать что-то «большое время», а затем через некоторое время обрабатывать каждую деталь, или у вас есть большой опыт работы с другими тактиками?
Меня беспокоит, что это займет много места, БОЛЬШОЕ ВРЕМЯ, при этом регистрируя 1000 пользователей каждый день в течение месяца или более.
Надеюсь, это имеет смысл, и мне любопытно посмотреть, сможет ли кто-нибудь предоставить пример кода, псевдокод или, возможно, ссылки на что-нибудь полезное.
Нашими инструментами будут C #, SQL-база данных, XML и .NET 3.5 - клиенты также могут получить .NET 4.0, если необходимо.
Примеры шаблонов в том виде, в каком мы их ожидаем
...
User #1001: A-B-A-A-A-B-C-E-F-G-H-A-A-A-C-B-A
User #1002: B-A-A-B-C-E-F
User #1003: F-B-B-A-E-C-A-A-A
User #1002: C-E-F
...
и т.д.. нет реального способа узнать, что они делают дальше, и сколько они будут использовать, как часто они будут это делать.
Вторичная цель, если это возможно, если мы позже добавим новое «действие» под названием G (просто пример, чтобы проиллюстрировать, что будут сотни действий), как мы можем обнаружить влияние этих новых поведений на предыдущие шаблоны.
Чтобы объяснить это лучше, я подумал, что здесь будет какой-то способ обнаружить «шаблоны внутри шаблонов», что-то вроде того, как работают сжатия, так что «повторяющиеся шаблоны» являются точечными. Мы не знаем, как долго эти модели могут быть, и как часто они могут появиться. Как мы можем разбить это на «мелкие кусочки» - какой лучший подход вы думаете?