Структура данных для хранения повторяющихся событий?

Этот парень (), кажется, записал немного класса Java и пакетного файла с хорошими инструкциями сделать это здесь: http://www.crionics.com/products/opensource/faq/signFree.htm#DownloadTools

, Если Вы хотите сделать это сами, ключевые строки в .bat файле, кажется, использование

keytool -export -rfc -keystore %KEYSTORE% -storepass %PASSWORD% -alias %ALIAS% > %CERT_64%
java -classpath %JAVACLASSPATH% ExportPrvKey %KEYSTORE% %PASSWORD% %ALIAS% > %PKEY_8%
openssl enc -in %PKEY_8% -a >> %PKEY_64%
openssl pkcs12 -inkey %PKEY_64% -in %CERT_64% -out %CERT_P12% -export

, где ExportPrvKey делает шаг извлечения закрытого ключа от keystore.

31
задан Daniel Rikowski 10 October 2009 в 14:10
поделиться

3 ответа

Существуют различные документы, описывающие структуры данных и алгоритмы для этого варианта использования. Кроме того, вы можете увидеть код или описания реализации с открытым исходным кодом crontab и Quartz (Java) или Quartz.NET (.NET).

] Это одна из таких статей

http://portal.acm.org/citation.cfm?id=359763.359801&coll=ACM&dl=ACM&CFID=63647367&CFTOKEN=55814330

Например, cron хранит такую ​​информацию ( * означает каждый, поэтому * под месяц означает каждый месяц)


.---------------- minute (0 - 59) 
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
|  |  |  |  |
*  *  *  *  * 

There are several special entries, most of which are just shortcuts, 
that can be used instead of specifying the full cron entry:

Entry      Description                 Equivalent To
@reboot    Run once, at startup.       None
@yearly    Run once a year             0 0 1 1 *
@annually  (same as @yearly)           0 0 1 1 *
@monthly   Run once a month            0 0 1 * *
@weekly    Run once a week             0 0 * * 0
@daily     Run once a day              0 0 * * *
@midnight  (same as @daily)            0 0 * * *
@hourly    Run once an hour            0 * * * *

16
ответ дан 27 November 2019 в 22:31
поделиться
Event:

StartDate
EndDate (calculated on change of NumberOfOccurances)
NumberOfOccurances (calculated on change of EndDate )
Frequency e.g. 1/2hrs, 1/month, 1/day, ....
CorrectionFunction e.g. first Tuesday, last Sunday, ...

bool OccuresOn(day)
Date NextOccurance(date)
6
ответ дан 27 November 2019 в 22:31
поделиться

Поддержка стандартных iCalendar Event types

IETF задумалась над этим при создании Internet Calendaring and Scheduling Core Object Specification, более известного как iCalendar.

Спецификация включает в себя повторение событий.

В качестве дополнительного бонуса ваша база данных будет доступна для обмена данными с другими источниками данных, совместимыми с iCalendar, такими как календари Google и Apple.

http://tools.ietf.org/html/rfc5545

17
ответ дан 27 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: