СИСТЕМА ОБНОВЛЕНИЯ КАРТЫ И ПРОГРАММА ОБНОВЛЕНИЯ КАРТЫ С ИСПОЛЬЗОВАНИЕМ ДИНАМИЧЕСКОЙ КЭШ-ПАМЯТИ
MAP UPDATING SYSTEM AND MAP UPDATING PROGRAM USING DYNAMIC CACHE MEMORY

Область техники, к которой относится изобретение
Настоящее изобретение относится к системе обновления карты, которая включает в себя базу данных карты, хранящую данные карты, и в которой выполняется обработка обновления базы данных карты после приема данных для обновления, и к программе обновления карты для выполнения этой обработки обновления базы данных карты.
Уровень техники
Обычно требуется, чтобы карта точно отражала текущие состояния постоянно изменяющихся дорог, сооружений и так далее. Следовательно, в известной системе, применяемой в базе данных карты, хранящей данные карты в виде электронных данных для использования в навигационном устройстве и т.п., например, данные для обновления обеспечиваются соответственно через сеть связи, носитель записи данных и т.п., и база данных карты обновляется с использованием этих данных для обновления. Такая система обновления, как нижеследующая, описана в японской публикации патентной заявки 2007-328739 (страницы 17-21, фиг.1) в качестве примера этого типа системы обновления базы данных карты.
Эта система обновления состоит из терминального устройства, например навигационного устройства, которое управляется в соответствии с предопределенной действующей программой, и серверного устройства, которое обеспечивает разностный файл данных в качестве данных для обновления. Терминальное устройство включает в себя базу данных для локального хранения данных, хранящую данные карты в формате данных для обновления, для выполнения разностного обновления в соответствии с разностным файлом данных и справочную базу данных, хранящую данные карты в формате справочных данных, для обращения действующей программы. После приема разностного файла данных терминальное устройство выполняет разностное обновление данных карты, хранящихся в базе данных для локального хранения данных в формате данных для обновления, и после этого выполняет обработку для преобразования обновленных данных карты в данные карты в формате справочных данных и сохраняет преобразованные данные в справочной базе данных. Соответственно, данные карты в справочной базе данных, к которой обращается действующая программа, обновляются.
В системе обновления базы данных карты, описанной выше, большой объем доступа к файлу выполняется на базах данных карты, в том числе на базе данных для локального хранения данных, для считывания требуемых данных, когда выполняется разностное обновление данных карты в базе данных для локального хранения данных в соответствии с разностным файлом данных, когда обновленные данные карты в базе данных для локального хранения данных преобразуются в данные карты в формате справочных данных и так далее. Следовательно, время, требуемое для этого доступа к файлу, занимает большую часть времени, требуемого для обработки обновления базы данных карты. Одним эффективным решением для уменьшения времени доступа к файлу является хранение считанных данных в области памяти кэша и затем считывания идентичных данных из этой области кэша по требованию.
Однако в случаях, когда в терминальном устройстве не может быть установлена память большой емкости из-за ограничений по размеру или стоимости и так далее, то может быть трудно обеспечить область кэша, имеющую достаточно большую емкость. В терминальном устройстве, например навигационном устройстве, устанавливаемом в транспортное средство, ограничения по размеру и так далее являются особенно строгими по сравнению со стационарным терминальным устройством, например персональным компьютером, и, следовательно, трудно установить память большой емкости. Соответственно, не легко обеспечить в памяти область кэша большой емкости. В результате, не может быть сохранен большой объем данных в области кэша, и доля кэша, используемого для доступа к файлу, не может быть увеличена, при этом становится невозможным достичь большого уменьшения времени доступа к файлу.
Раскрытие изобретения
Настоящее изобретение разработано с учетом проблемы, описанной выше, и его целью является обеспечение системы обновления карты и программы обновления карты, посредством которых время, требуемое для обработки обновления базы данных карты, может быть сокращено с обеспечением области кэша посредством эффективного использования памяти, имеющей ограниченную емкость.
Отличающимся устройством настоящего изобретения для достижения цели, описанной выше, является система обновления карты, которая включает в себя базу данных карты, хранящую данные карты, и выполняет обработку обновления базы данных карты после приема данных для обновления. Система обновления карты включает в себя: память, содержащую область для обработки обновления, используемую для обработки обновления, и область кэша, используемую в качестве кэша, блок обработки обновления для выполнения обработки обновления посредством считывания данных, требуемых в обработке обновления, из области кэша, когда эти данные сохранены в области кэша, и из базы данных карты, когда эти данные не сохранены в области кэша, блок сохранения в кэше для сохранения данных, считываемых блоком обработки обновления, в области кэша, блок определения емкости памяти для обработки для определения емкости памяти для обработки, которая является емкостью памяти, требуемой в качестве области для обработки обновления, на основе содержимого данных карты, которые должны подвергнуться обработке обновления, и блок определения емкости кэша для определения емкости кэша, которая является емкостью памяти, выделенной для области кэша, на основе емкости памяти для обработки.
Согласно этому отличающемуся устройству область кэша, обеспеченная в памяти, используется для считывания данных, требуемых в обработке обновления, и, следовательно, когда идентичные данные считываются многократно, скорость обработки считывания может быть увеличена по сравнению со случаем, когда все данные считываются непосредственно из базы данных карты. Также согласно этому отличающемуся устройству, емкость кэша, которая является емкостью памяти, выделенной для области кэша, используемой во время обработки считывания, определяется на основе емкости памяти для обработки, которая определяется на основе содержимого данных карты, которые должны быть подвергнуты обработке обновления. Следовательно, соответствующая емкость памяти для обработки может устанавливаться переменно в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления, и емкость кэша может устанавливаться переменно в соответствии с установленной емкостью памяти для обработки, и в результате, в случаях, когда емкость памяти для обработки не должна быть большой, емкость кэша может быть увеличена соответственно. Следовательно, по сравнению со случаем, когда емкость кэша является фиксированной, сравнительно большая область кэша может обеспечиваться посредством эффективного использования ограниченной емкости памяти, и, следовательно, время, требуемое для обновления карты, может быть сокращено.
Здесь блок определения емкости кэша предпочтительно устанавливает избыточную емкость памяти, определяемую на основе емкости, получаемой посредством вычитания емкости памяти для обработки из общей емкости памяти, в качестве емкости кэша.
Согласно этому устройству требуемая емкость памяти для обработки обеспечивается в качестве области для обработки обновления, и, следовательно, емкость кэша может быть установлена соответственно на уровне верхней границы в соответствии с изменением в емкости памяти для обработки, которая определяется в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления.
Кроме того, блок определения емкости памяти для обработки предпочтительно определяет емкость памяти для обработки на основе одного из или обоих из количества дорог и количества перекрестков, включенных в данные карты, которые должны быть подвергнуты обработке обновления.
Согласно этому устройству емкость памяти для обработки определяется в соответствии с одним или обоими из количества дорог и количества перекрестков, т.е. (в соответствии с) содержимым данных карты, которое значительно влияет на емкость памяти, требуемую в качестве области для обработки обновления, и, следовательно, емкость памяти для обработки, требуемая во время обработки обновления данных карты, может быть определена соответственно.
Кроме того, данные карты предпочтительно включают в себя данные дорожной сети, состоящие из множества узлов, соответствующих перекресткам, и множества соединений, соответствующих дорогам, которые соединяют узлы, и блок определения емкости памяти для обработки предпочтительно определяет емкость памяти для обработки на основе одного из или обоих из количества соединений и количества узлов, включенных в данные карты, которые должны быть подвергнуты обработке обновления.
Согласно этому устройству, когда данные карты включают в себя данные дорожной сети, состоящие из узлов и соединений, емкость памяти для обработки определяется в соответствии с одним или обоими из количества соединений и количества узлов, т.е. (в соответствии с) содержимым данных карты, которое значительно влияет на емкость памяти, требуемой в качестве области для обработки обновления, и, следовательно, емкость памяти для обработки, требуемая во время обработки обновления данных карты, может быть определена соответственно.
Кроме того, блок определения емкости памяти для обработки предпочтительно определяет емкость памяти для обработки на основе количества данных карты, которые должны быть подвергнуты обработке обновления.
Согласно этому устройству емкость памяти для обработки определяется в соответствии с количеством данных карты, т.е. (в соответствии с) содержимым данных карты, которое значительно влияет на емкость памяти, требуемую в качестве области для обработки обновления, и, следовательно, емкость памяти для обработки, требуемая во время обработки обновления данных карты, может быть определена соответственно.
Кроме того, в базе данных карты предпочтительно хранятся данные карты в каждой из множества секций, получаемых посредством разделения географической области интереса на множество секций, и блок обработки обновления предпочтительно устанавливает данные карты в каждой из секций в качестве объекта обработки обновления.
Согласно этому устройству данные карты в каждой секции могут устанавливаться последовательно в качестве объекта обработки обновления, и, следовательно, обработка обновления может выполняться соответствующим образом.
Кроме того, когда объект обработки обновления перемещается к данным карты в следующей секции, блок определения емкости памяти для обработки предпочтительно заново определяет емкость памяти для обработки на основе содержимого данных карты в этой следующей секции.
Согласно этому устройству, когда обновление данных карты в одной секции-объекте обновления завершается, и обработка обновления выполняется на данных карты в следующей секции-объекте обновления, емкость памяти для обработки может быть определена соответственно в соответствии с содержимым следующих данных карты. Следовательно, соответствующая емкость памяти для обработки может устанавливаться переменно в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления, на каждый момент времени, и емкость кэша может быть установлена соответственно в соответствии с установленной емкостью памяти для обработки.
Система обновления карты согласно настоящему изобретению предпочтительно также включает в себя: блок навигационной обработки для выполнения предопределенной навигационной обработки, и блок определения емкости памяти для навигации для определения емкости памяти для навигации, которая является емкостью, требуемой в качестве области памяти, используемой в навигационной обработке, на основе содержимого обработки, исполняемой в качестве навигационной обработки, причем устройство определения емкости кэша определяет емкость кэша на основе емкости памяти для обработки и емкости памяти для навигации.
Согласно этому устройству емкость кэша, которая является емкостью памяти, выделенной для области кэша, используемой во время обработки считывания, определяется на основе как емкости памяти для обработки, которая определяется на основе содержимого данных карты, которые должны быть подвергнуты обработке обновления, так и емкости памяти для навигации, которая определяется на основе содержимого обработки, исполняемой в качестве навигационной обработки. Следовательно, соответствующая емкость памяти для обработки может устанавливаться переменно в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления, соответствующая емкость памяти для навигации может устанавливаться переменно в соответствии с содержимым обработки, исполняемым в качестве навигационной обработки, и емкость кэша может устанавливаться переменно в соответствии с установленными емкостью памяти для обработки и емкостью памяти для навигации. В результате, в случаях, когда емкость памяти для обработки и емкость памяти для навигации не должны быть большими, емкость кэша может быть увеличена соответственно. Следовательно, по сравнению со случаем, когда емкость кэша является фиксированной, или случаем, когда емкость кэша устанавливается переменно на основе одной только емкости памяти для обработки, сравнительно большая область кэша может обеспечиваться посредством эффективного использования ограниченной емкости памяти, и, следовательно, время, требуемое для обновления карты, может быть сокращено еще больше.
Здесь блок определения емкости кэша предпочтительно устанавливает избыточную емкость памяти, определяемую на основе емкости, получаемой посредством вычитания емкости памяти для обработки и емкости памяти для навигации из общей емкости памяти, в качестве емкости кэша.
Согласно этому устройству требуемая емкость памяти для обработки обеспечивается в качестве области для обработки обновления, и требуемая емкость памяти для навигации обеспечивается в качестве области для навигационной обработки, и, следовательно, емкость кэша может быть установлена соответственно на уровне верхней границы в соответствии с изменением емкости памяти для обработки, которая определяется в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления, и изменением емкости памяти для навигации, которая определяется в соответствии с содержимым обработки, исполняемым в качестве навигационной обработки.
Кроме того, блок определения емкости памяти для навигации предпочтительно определяет емкость памяти для навигации на основе одного из или обоих из типа и количества прикладных процессов, которые осуществляются в качестве навигационной обработки.
Согласно этому устройству емкость памяти для навигации определяется в соответствии с одним или обоими из типа и количества прикладных процессов, которые осуществляются, оба из которых значительно влияют на емкость памяти, требуемой в качестве области для навигационной обработки, и, следовательно, требуемая емкость памяти для навигации может быть определена соответственно в соответствии с рабочим состоянием навигационного блока обработки.
Кроме того, блок определения емкости памяти для навигации предпочтительно заново определяет емкость памяти для навигации, когда начинается или завершается исполнение соответствующих прикладных процессов.
Согласно этому устройству каждый раз, когда начинается или завершается исполнение одного из прикладных процессов, служащих навигационной обработкой, емкость памяти для навигации может быть определена соответственно в соответствии с состоянием исполнения соответствующих прикладных процессов на этот момент времени. Следовательно, соответствующая емкость памяти для навигации может устанавливаться переменно в соответствии с состоянием исполнения прикладных процессов на каждый момент времени, и емкость кэша может устанавливаться соответственно в соответствии с установленной емкостью памяти для навигации.
Кроме того, блок сохранения в кэше предпочтительно удаляет самые старые сохраненные данные в порядке сохранения из области кэша, когда новые данные сохраняются в области кэша.
Согласно этому устройству данные, которые относительно маловероятно будут считываться снова, могут быть удалены, так что новые данные могут быть сохранены в области кэша, и, следовательно, данные могут соответственно сохраняться в ограниченной области кэша.
Система обновления карты согласно настоящему изобретению предпочтительно также включает в себя блок управления кэшем для управления данными, сохраняемыми в области КЭШа, ассоциированными с адресом файла, который хранится в базе данных карты и включает в себя упомянутые данные.
Согласно этому устройству, когда считывание данных выполняется с заданием адреса файла, включающего в себя данные, требуемые в обработке обновления, упомянутые данные можно легко считать из области кэша. Следовательно, можно достичь дальнейшего увеличения скорости обработки считывания данных.
Кроме того, база данных карты предпочтительно включает в себя базу данных для обновления, хранящую данные карты для обновления, которые обновляются данными для обновления, и справочную базу данных, хранящую справочные данные карты, к которым обращается прикладной процесс, который использует данные карты, и блок обработки обновления после обновления данных карты для обновления посредством данных для обновления предпочтительно формирует обновленные справочные данные карты посредством преобразования обновленных данных карты для обновления в обновленные справочные данные карты, и сохраняет обновленные справочные данные карты в справочной базе данных.
Согласно этому устройству данные карты для обновления, сохраненные в базе данных для обновления, обновляются данными для обновления и, следовательно, обработка обновления данных карты посредством данных для обновления может выполняться легко и быстро. Кроме того, при преобразовании обновленных данных карты для обновления в справочные данные карты для обращения во время прикладной обработки, прикладная обработка может выполняться согласно данным карты в подходящем формате для обращения. В результате можно сдерживать ухудшение производительности функционирования прикладной обработки наряду с тем, что обновление данных карты посредством данных для обновления может выполняться легко и быстро.
Другим отличающимся устройством настоящего изобретения является система обновления карты, которая включает в себя базу данных карты, хранящую данные карты, и выполняет обработку обновления базы данных карты после приема данных для обновления. Система обновления карты включает в себя: блок навигационной обработки для выполнения предопределенной навигационной обработки, память, содержащую область для навигационной обработки, используемую в навигационной обработке, и область кэша, используемую в качестве кэша, блок обработки обновления для выполнения обработки обновления посредством считывания данных, требуемых в обработке обновления, из области кэша, когда эти данные сохранены в области кэша, и из базы данных карты, когда эти данные не сохранены в области кэша, блок сохранения в кэше для сохранения данных, считываемых блоком обработки обновления, в области кэша, блок определения емкости памяти для навигации для определения емкости памяти для навигации, которая является емкостью памяти, требуемой в качестве области для навигационной обработки, на основе содержимого обработки, исполняемой в качестве навигационной обработки, и блок определения емкости кэша для определения емкости кэша, которая является емкостью памяти, выделенной для области кэша на основе емкости памяти для навигации.
Согласно этому отличающемуся устройству область кэша, обеспеченная в памяти, используется для считывания данных, требуемых в обработке обновления, и, следовательно, когда идентичные данные считываются многократно, скорость обработки считывания может быть увеличена по сравнению со случаем, когда все данные считываются непосредственно из базы данных карты. Также согласно этому отличающемуся устройству емкость кэша, которая является емкостью памяти, выделенной для области кэша, используемой во время обработки считывания, определяется на основе емкости памяти для навигации, которая определяется на основе содержимого обработки, исполняемой в качестве навигационной обработки. Следовательно, соответствующая емкость памяти для навигации может устанавливаться переменно в соответствии с содержимым обработки, исполняемой в качестве навигационной обработки, и емкость кэша может устанавливаться переменно в соответствии с установленной емкостью памяти для навигации. В результате, в случаях, когда емкость памяти для навигации не должна быть большой, емкость кэша может быть увеличена соответственно. Следовательно, по сравнению со случаем, когда емкость кэша является фиксированной, сравнительно большая область кэша может обеспечиваться посредством эффективного использования ограниченной емкости памяти и, следовательно, время, требуемое для обновления карты, может быть сокращено.
Техническое устройство системы обновления карты согласно настоящему изобретению, содержащее соответствующие устройства, описанные выше, может быть применено к способу обновления карты и к программе обновления карты, и, следовательно, настоящее изобретение также претендует на защиту объектов изобретения этого типа, как способа и программы.
В этом случае отличающееся устройство настоящего изобретения является программой обновления карты для выполнения обработки обновления базы данных карты, хранящей данные карты, после приема данных для обновления, причем эта программа обновления карты побуждает компьютер к реализации: функции обработки обновления для выполнения обработки обновления посредством считывания данных, требуемых в обработке обновления, из области памяти кэша, когда эти данные сохранены в области кэша, и из базы данных карты, когда эти данные не сохранены в области кэша, функции сохранения в кэше для сохранения данных, считываемых во время исполнения функции обработки обновления, в области кэша, функции определения емкости памяти для обработки для определения емкости памяти для обработки, которая является емкостью памяти, требуемой в качестве области памяти для обработки обновления, которая используется в обработке обновления, на основе содержимого данных карты, которые должны быть подвергнуты обработке обновления, и функции определения емкости кэша для определения емкости кэша, которая является емкостью памяти, выделенной для области кэша, на основе емкости памяти для обработки.
Другое отличающееся устройство по настоящему изобретению является программой обновления карты для выполнения обработки обновления базы данных карты, хранящей данные карты, после приема данных для обновления, причем эта программа обновления карты побуждает компьютер к реализации: функции навигационной обработки для выполнения предопределенной навигационной обработки, функции обработки обновления для выполнения обработки обновления посредством считывания данных, требуемых в обработке обновления, из области памяти кэша, когда эти данные сохранены в области кэша, и из базы данных карты, когда эти данные не сохранены в области кэша, функции сохранения в кэше для сохранения данных, считываемых во время исполнения функции обработки обновления, в области кэша, функции определения емкости памяти для навигации для определения емкости памяти для навигации, которая является емкостью памяти, требуемой в качестве области памяти для навигационной обработки, которая используется в навигационной обработке, на основе содержимого обработки, исполняемой в качестве навигационной обработки, и функции определения емкости кэша для определения емкости кэша, которая является емкостью памяти, выделенной для области кэша на основе емкости памяти для навигации.
Не вызывает сомнения, что с помощью этих программ обновления карты также можно добиться выполнения действий и достижения результатов системы обновления карты, описанной выше, и, кроме того, эти несколько способов, приведенных как предпочтительные примеры, относящиеся к устройству, могут быть включены в них.
Краткое описание чертежей
Фиг.1 - блок-схема, на которой изображено в виде схемы функциональное устройство навигационного устройства согласно одному варианту осуществления настоящего изобретения.
Фиг.2 - блок-схема, на которой изображено содержимое данных карты для обновления.
Фиг.3 - блок-схема, на которой изображено устройство блока управления кэшем.
Фиг.4 - вид, на котором изображен конкретный пример установки областей во внутренней области памяти.
Фиг.5 - вид, на котором изображен конкретный пример установки областей во внутренней области памяти.
Фиг.6 - блок-схема последовательности операций способа, на которой изображена процедура обработки обновления карты.
Фиг.7 - блок-схема последовательности операций способа, на которой изображена процедура обработки считывания файла.
Фиг.8 - блок-схема последовательности операций способа, на которой изображена процедура обработки обеспечения достоверности данных кэша.
Фиг.9 - блок-схема последовательности операций способа, на которой изображена процедура обработки управления памятью.
Фиг.10 - блок-схема последовательности операций способа, на которой изображена процедура обработки определения емкости памяти для обработки.
Фиг.11 - блок-схема последовательности операций способа, на которой изображена процедура обработки определения емкости памяти для навигации.
Осуществление изобретения
Далее описывается вариант осуществления настоящего изобретения на основе чертежей. В этом варианте осуществления, описан случай, в котором система обновления карты согласно настоящему изобретению применена к навигационному устройству 1, служащему терминальным устройством, устанавливаемым в транспортное средство, которое установлено в транспортное средство. Фиг.1 является блок-схемой, на которой изображено в виде схемы функциональное устройство навигационного устройства 1 согласно этому варианту осуществления. Навигационное устройство 1 включает в себя справочную базу данных 70 и базу данных 80 для локального хранения данных, служащую базой данных 2 карты, которая соответственно сохраняет справочные данные 71 карты и данные 81 карты для обновления, служащие данными 3 карты. Навигационное устройство 1 выполняет обработку обновления справочных данных 71 карты и данных 81 карты для обновления после приема файла 4 данных для обновления из серверного устройства 5. Навигационное устройство 1 выполнено с возможностью установки емкости области 51 кэша (смотрите фиг.4 и фиг.5) переменно на данный момент времени в соответствии с емкостью памяти 50, требуемой в обработке обновления карты и навигационной обработке. Тем самым навигационное устройство 1 может обеспечивать область 51 кэша посредством эффективного использования ограниченной емкости памяти 50 и в результате время, требуемое для выполнения обработки обновления справочной базы данных 70 и базы данных 80 для локального хранения данных, может быть сокращено.
Блок 10 управления доступом к файлу, блок 40 обработки обновления и блок 60 навигационной обработки, которые составляют функциональные блоки навигационного устройства 1, изображенного на фиг.1, сформированы функциональными блоками, изготовленными в виде комплекта, для выполнения различных способов обработки над входными данными в аппаратном обеспечении, программном обеспечении или обоих с использованием вычислительного устройства обработки, например CPU, которое совместно используется упомянутыми функциональными блоками или обеспечивается в каждом функциональном блоке в качестве элемента ядра. Кроме того, устройства для обеспечения функции приемопередающего блока 91 и блока 92 воспроизведения носителя записи, которые также служат функциональными блоками навигационного устройства 1, могут быть реализованы с помощью аппаратного обеспечения или комбинации аппаратного обеспечения и программного обеспечения (программ). Эти функциональные блоки соединены, как изображено, стрелками на фиг.1 для обеспечения возможности обмена данными и информацией различных типов. Память 50 является запоминающим устройством, выполненным с возможностью считывания и записи со сравнительно высокой скоростью с использованием вычислительных устройств обработки соответствующих функциональных блоков, и состоит из энергозависимой памяти, например DRAM (Динамическая RAM) или SRAM (Статическая RAM), например. Кроме того, справочная база данных 70 и база данных 80 для локального хранения данных состоят из аппаратных устройств, содержащих перезаписываемый носитель записи для записи данных и привод для него, например накопитель на жестких дисках, или энергонезависимой полупроводниковой памяти, например EEPROM. Ниже последовательно описаны устройства соответствующих частей навигационного устройства 1.
Блок навигационной обработки
Блок 60 навигационной обработки является блоком обработки для исполнения навигационной обработки в качестве функции навигационного устройства 1. В этом варианте осуществления блок 60 навигационной обработки соответствует блоку навигационной обработки настоящего изобретения. Несмотря на то, что на чертежах это не изображено, блок измерения позиции транспортного средства, функциональный блок, дисплей, блок речевого вывода и так далее соединены с блоком 60 навигационной обработки для обеспечения возможности обмена данными и информацией различного типа посредством соединения. Здесь блок измерения позиции транспортного средства является функциональным блоком для измерения текущей позиции (местоположения) навигационного устройства 1 и включает в себя, например, приемник GPS, датчик азимута, датчик расстояния и так далее. Функциональный блок состоит, например, из сенсорной панели, выключателя рабочего места, блока дистанционного управления и т.п. и управляется пользователем для ввода и выбора информации. Дисплей состоит, например, из жидкокристаллического дисплея и т.п. и выводит на экран различные типы информации, относящиеся к навигационной обработке, например карты и маршруты вождения. Блок речевого вывода состоит, например, из динамика и т.п. и выводит различные типы информации, относящейся к навигационной обработке, например прокладка маршрута, посредством голоса.
В этом варианте осуществления блок 60 навигационной обработки включает в себя блок 61 обработки дисплея, блок 62 обработки согласования с картой, блок 63 обработки поиска маршрута и блок 64 обработки прокладки маршрута. Эти блоки соответствуют блокам прикладной обработки для исполнения различных прикладных процессов, служащих навигационной обработкой. Соответствующие блоки 61-64 прикладной обработки обычно состоят из вычислительного устройства обработки и программы для вызова выполнения вычислительной обработки вычислительным устройством обработки. Здесь блок 61 обработки дисплея выполняет обработку для вывода на экран различных типов информации, относящейся к навигационной обработке, например вывод на экран карты, вывод на экран позиции транспортного средства на карте и вывод на экран маршрута вождения с использованием дисплея. Блок 62 обработки согласования с картой выполняет обработку согласования с картой для согласования позиции транспортного средства, измеренной блоком измерения позиции транспортного средства, с дорогой на карте. Блок 63 обработки поиска маршрута выполняет обработку для поиска маршрут вождения и т.п. от исходной точки, например позиции транспортного средства, до пункта назначения, введенного через функциональный блок. Блок 64 обработки прокладки маршрута выполняет обработку для проведения пользователя по соответствующему маршруту в соответствии с маршрутом до пункта назначения, поиск которого ведется блоком 63 обработки поиска маршрута, с использованием вывода на экран дисплея маршрута вождения, голосовых указаний блоком речевого вывода и так далее. Отметим, что конкретное содержимое различных навигационных процессов, исполняемых блоками 61-64 обработки, известно, и, следовательно, подробное описание опущено. В этом варианте осуществления обработка вывода на экран, обработка согласования с картой, обработка поиска маршрута и обработка прокладки маршрута, исполняемые соответственно блоками 61-64 прикладной обработки, соответствуют прикладной обработке согласно настоящему изобретению. Во время выполнения прикладной обработки блоки 61-64 прикладной обработки обращаются к справочным данным 71 карты в справочной базе данных 70.
Кроме того, блоки 61-64 прикладной обработки используют память 50 во время выполнения прикладной обработки. С этой целью в памяти 50 обеспечена область 53 для навигационной обработки, которая является областью памяти 50, используемой для навигационной обработки, выполняемой блоком 60 навигационной обработки, как изображено на фиг.4 и фиг.5. Здесь область 54 для обработки вывода на экран, область 55 для обработки согласования с картой, область 56 для обработки поиска маршрута и область 57 для обработки прокладки маршрута могут быть установлены в качестве области 53 для навигационной обработки в соответствии с прикладной обработкой, исполняемой соответствующими блоками 61-64 прикладной обработки блока 60 навигационной обработки. В этом варианте осуществления только область, которая соответствует исполняемой обработке, устанавливается в качестве области 53 для навигационной обработки блоком 30 управления памятью, описанным ниже, в соответствии с состоянием исполнения прикладной обработки, выполняемой блоками 61-64 прикладной обработки. Соответственно, емкость памяти области 53 для навигационной обработки устанавливается переменной.
Справочная база данных
Справочная база данных 70 является базой данных, хранящей справочные данные 71 карты, к которым обращаются блоки 61-64 прикладной обработки во время исполнения прикладной обработки, описанной выше, с использованием данных карты. Здесь справочные данные 71 карты являются данными карты в формате справочных данных, подходящем для обращения блоков 61-64 прикладной обработки. Более конкретно, справочные данные 71 карты состоят, например, из общих данных карты, к которым обращаются вместе блоки 61-64 прикладной обработки, данных карты для согласования с картой/вывода на экран, к которым обращаются блок 61 обработки дисплея и блок 62 обработки согласования с картой, данных карты для поиска маршрута, к которым обращается блок 63 обработки поиска маршрута, и данных карты для прокладки маршрута, к которым обращается блок 64 обработки прокладки маршрута. Данные карты, составляющие справочные данные 71 карты, принимают формат данных, подходящий для обращения блоков 61-64 прикладной обработки, которые обращаются к соответствующим данным карты. Упомянутый формат данных соответствует формату данных, в котором скомпонованы различные данные, в последовательности, идентичной последовательности, в которой эти различные данные обрабатываются блоками 61-64 прикладной обработки, например.
Данные карты, составляющие справочные данные 71 карты, обеспечиваются в каждой из множества секций P, формируемых разделением географической области интереса на множество секций P, аналогично данным 81 карты для обновления, описанным ниже (смотрите фиг.2). Кроме того, данные карты соответственно включают в себя данные дорожной сети, состоящие из множества узлов N, соответствующих соответственно множеству перекрестков, существующих внутри каждой секции P, и множества соединений L, соответствующих дорогам, соединяющим узлы N, аналогично данным 81 карты для обновления, описанным ниже. Наряду с данными дорожной сети справочные данные 71 карты включают в себя информацию визуализации, которая включает в себя различные типы информации, требуемые в обработке вывода на экран, выполняемой блоком 61 обработки дисплея, различные типы информации маршрутовождения, требуемой в обработке прокладки маршрута, выполняемой блоком 64 обработки прокладки маршрута, и так далее. Здесь информация визуализации включает в себя такую информацию как фоновая информация, требуемая для вывода на экран форм дорог, зданий, рек и так далее, текстовая информация, требуемая для вывода на экран названий деревень и городов, наименований дорог и так далее. Информация маршрутовождения включает в себя информацию о перекрестках, которая состоит из подробной информации, относящейся к перекресткам, и так далее.
База данных для локального хранения данных
База данных 80 для локального хранения данных является базой данных, хранящей данные 81 карты для обновления, используемые во время обновления в соответствии с файлом 4 данных для обновления. В этом варианте осуществления база данных 80 для локального хранения данных соответствует базе данных для обновления согласно настоящему изобретению. Здесь данные 81 карты для обновления являются данными карты в формате данных для обновления, подходящем для обновления с использованием файла 4 данных для обновления. Формат данных для обновления соответствует формату данных, в котором данные различных типов, составляющие данные карты, скомпонованы согласно типу данных, например. Примеры этих типов данных включают в себя сведения о дорожной сети, которые являются данными различных типов, относящимися к соединениям, соответствующим дорогам, данными о перекрестках, которые являются данными различных типов, относящимися к узлам, соответствующим перекресткам, данными о форме, которые являются данными различных типов, относящимися к соответствующим формам соединений, и данными о соединениях, которые являются данными различных типов, относящимися к соединениям, связанным с узлами.
Кроме того, как изображено на фиг.2, данные 81 карты для обновления обеспечиваются в каждой из множества секций P, формируемых разделением географической области интереса на множество секций P. Здесь секции P сформированы как прямоугольники идентичного размера. В случае, когда вся Япония является целевой географической областью, например в базе данных 80 для локального хранения данных сохраняются данные 81 карты для обновления в каждой из множества секций P, сформированных разделением данных карты в диапазоне, включающем в себя всю Японию, на m×n (причем m и n являются натуральными числами). Кроме того, данные 81 карты для обновления соответственно включают в себя данные дорожной сети, состоящие из множества узлов N, соответствующих соответственно множеству перекрестков, существующих внутри каждой секции P, и множества соединений L, соответствующих дорогам, соединяющим узлы N.
Здесь, узлы N соответствуют перекресткам существующих дорог, и соединения L соответствуют дорогам, соединяющим перекрестки. Каждый узел N включает в себя информацию, относящуюся к позиции (координатам) на карте, выраженную долготой и широтой. Кроме того, узел N включает в себя информацию, относящуюся к правилам движения, светофорам и так далее, в качестве информации свойств узла. Каждое соединение L включает в себя такую информацию, как длина дороги, тип дороги, ширина дороги, количество полос движения и точки интерполяции формы для выражения форм соединений, в качестве информации свойств соединения. Здесь тип дороги является информацией классификации дорог, используемой при отнесении дорог к разным категориям, множеству типов, например скоростные автомагистрали, государственные дороги, дороги префектурного значения, дороги местного значения, узкие городские улицы и вводные дороги. Отметим, что на фиг.2, данные дорожной сети изображены только в одной из секций P, а другие секции P были опущены. После преобразования в справочные данные 71 карты, данные 81 карты для обновления также включают в себя информацию визуализации, которая является информацией различных типов, требуемой для обработки вывода на экран, выполняемой блоком 61 обработки дисплея, различные типы информации маршрутовождения, требуемой для обработки прокладки маршрута, выполняемой блоком 64 обработки прокладки маршрута, и так далее. Как описано выше, информация визуализации включает в себя такую информацию, как фоновая информация, требуемая для вывода на экран форм дорог, зданий, рек и так далее, текстовая информация, требуемая для вывода на экран названий деревень и городов, наименований дорог и так далее. Кроме того, информация маршрутовождения включает в себя информацию о перекрестках, которая состоит из подробной информации, относящейся к перекресткам, и так далее.
Приемопередающий блок/блок воспроизведения носителя записи
Навигационное устройство 1 согласно этому варианту осуществления включает в себя приемопередающий блок 91 и блок 92 воспроизведения носителя записи в качестве блоков для приема файла 4 данных для обновления. Приемопередающий блок 91 выполняет прием и передачу данных посредством серверного устройства 5, например беспроводной базовой станции, через беспроводную связь, и выполнен с возможностью приема файла 4 данных для обновления через беспроводную связь. Такая известная сеть связи, такая как портативная телефонная сеть или беспроводная LAN (локальная сеть), например, может использоваться в качестве способа беспроводной связи. Кроме того, блок 92 воспроизведения носителя записи выполнен с возможностью воспроизведения носителя 8 записи, например оптического диска или магнитного диска, и считывания файла 4 данных для обновления записанного на этом носителе 8 записи. Как изображено на фиг.1, например, носитель 8 записи формируется, когда пользователь загружает файл 4 данных для обновления в свое собственное терминальное устройство, например персональный компьютер, из серверного устройства 5 через сеть 6 связи, например, Internet, и записывает загруженный файла 4 данных для обновления на носитель 8 записи.
Здесь полученный файл 4 данных для обновления является файлом, собирающим вместе различные данные, представляющие содержимое для обновления данных 81 карты для обновления, хранящихся в базе данных 80 для локального хранения данных. Файл 4 данных для обновления является разностным файлом данных, представляющим содержимое модификации, например дорогу или сооружение, которые фактически модифицированы как разность с использованием содержимого данных 81 карты для обновления, хранящихся в базе данных 80 для локального хранения данных в качестве ссылки. Файл 4 данных для обновления включает в себя данные для обновления, соответствующие данным 81 карты для обновления, в каждой из одной или нескольких секций P, служащих в качестве объекта обновления. Кроме того, в этом варианте осуществления файл 4 данных для обновления разделен на виды обновления, относящиеся к данным 81 карты для обновления, например, добавление, модификация и удаление, и имеет формат данных, в котором данные, представляющие содержимое обновления каждого вида обновления, скомпонованы согласно типу данных, аналогично данным 81 карты для обновления. Как описано выше, примеры типа данных включают в себя сведения о дорожной сети, данные о перекрестках, данные о форме и данные о соединении.
Блок обработки обновления
Блок 40 обработки обновления является блоком обработки для исполнения обработки обновления базы данных 80 для локального хранения данных и справочной базы данных 70 с использованием файла 4 данных для обновления. В этом варианте осуществления блок 40 обработки обновления включает в себя блок 41 разностного синтеза, блок 42 преобразования в справочные данные и таблицу 43 адресов имен. Сначала блок 40 обработки обновления использует блок 41 разностного синтеза для обновления данных 81 карты для обновления, хранящихся в базе данных 80 для локального хранения данных в соответствии с файлом 4 данных для обновления. Далее, блок 40 обработки обновления использует блок 42 преобразования в справочные данные для преобразования обновленных данных карты 81 для обновления для формирования обновленных справочных данных 71 карты и сохранения обновленных справочных данных 71 карты в справочной базе данных 70. В результате база данных 80 для локального хранения данных и справочная база данных 70 обновляются. В этом варианте осуществления блок 40 обработки обновления соответствует блоку обработки обновления согласно настоящему изобретению.
Блок 41 разностного синтеза является блоком обработки для выполнения обработки для обновления данных 81 карты для обновления, хранящихся в базе данных 80 для локального хранения данных с использованием файла 4 данных для обновления, полученного приемопередающим блоком 91 или блоком 92 воспроизведения носителя записи. Как описано выше, данные 81 карты для обновления обеспечиваются в каждой из секций P, и данные для обновления, включенные в файл 4 данных для обновления, также обеспечиваются в каждой из секций P. Блок 41 разностного синтеза выбирает одну секцию P из одной или нескольких секций P, которая должна быть подвергнута обновлению данными для обновления, включенными в файл 4 данных для обновления, и устанавливает выбранную секцию P в качестве секции-объекта обновления. Данные 81 карты для обновления в секции-объекте обновления после этого обновляются данными для обновления, относящимися к этой секции P. Когда файл 4 данных для обновления включает в себя данные для обновления, относящиеся к множеству секций P, обработка обновления выполняется в каждой секции P с модификацией секции-объекта обновления последовательно, причем каждый раз выполнение обновления данных 81 карты для обновления в одной секции P завершается.
Кроме того, как описано выше, файл 4 данных для обновления является разностным файлом данных, который использует содержимое данных 81 карты для обновления хранящихся в базе данных 80 для локального хранения данных в качестве ссылки. Следовательно, блок 41 разностного синтеза выполняет разностное обновление данных 81 карты для обновления через разностный синтез, в котором разностные данные обновления каждой секции P, включенные в файл 4 данных для обновления, синтезируются с данными 81 карты для обновления. Более конкретно, блок 41 разностного синтеза выполняет обработку обновления, например добавление содержимого разностных данных к данным 81 карты для обновления, модификацию содержимого данных 81 карты для обновления в содержимое данных для обновления или удаление данных, указанных содержимым разностных данных, из данных 81 карты для обновления в соответствии с видами обновления, например добавление, модификация и удаление. Обновленные данные 81 карты для обновления после этого возвращаются в базу данных 80 для локального хранения данных и сохраняются в ней.
Блок 42 преобразования в справочные данные является блоком обработки для выполнения обработки для преобразования данных 81 карты для обновления, обновленных блоком 41 разностного синтеза, в справочные данные 71 карты. Как описано выше, блок 41 разностного синтеза обновляет данные 81 карты для обновления в каждой секции P. Следовательно, блок 42 преобразования в справочные данные последовательно устанавливает данные 81 карты для обновления, для которых завершено обновление блоком 41 разностного синтеза, в качестве объекта, и последовательно преобразует обновленные данные 81 карты для обновления в каждой секции P для формирования справочных данных 71 карты. Соответственно, обновление данных 81 карты для обновления и формирование обновленных справочных данных 71 карты на основе обновленных данных 81 карты для обновления может выполняться постоянно в каждой из секций P, установленных в качестве секции-объекта обновления.
Здесь блок 42 преобразования в справочные данные выполняет обработку для преобразования данных 81 карты для обновления в формате данных для обновления в справочные данные 71 карты в формате справочных данных, который является подходящим для обращения соответствующими блоками 61-64 прикладной обработки. Как описано выше, справочные данные 71 карты состоят из множества данных карты, например общих данных карты, данных карты для согласования с картой/вывода на экран, данных карты для поиска маршрута и данных карты для прокладки маршрута, которые являются подходящими для обращения соответствующими блоками 61-64 прикладной обработки. Следовательно, блок 42 преобразования в справочные данные выполняет обработку для формирования множества данных карты преобразованием одной части данных 81 карты для обновления. Обновленные справочные данные 71 карты, сформированные блоком 42 преобразования в справочные данные, сохраняются в справочной базе данных 70. В это время ранее обновленные справочные данные 71 карты, соответствующие обновленным справочным данным 71 карты, удаляются из справочной базы данных 70.
Соответственно, данные 81 карты для обновления, хранящиеся в базе данных 80 для локального хранения данных, и справочные данные 71 карты, хранящиеся в справочной базе данных 70, обновляются на основе файла 4 данных для обновления. Блок 40 обработки обновления считывает необходимые данные из базы данных 80 для локального хранения данных во время этой обработки обновления, и для увеличения скорости обработки считывания данных в это время область 51 кэша, обеспеченная в памяти 50, используется в качестве кэша. Более конкретно, блок 40 обработки обновления выполняет обработку обновления после считывания данных, требуемых для обработки обновления, из области 51 кэша памяти 50, когда данные обеспечены в области 51 кэша, или считывания упомянутых данных из базы данных 80 для локального хранения данных, когда данные не обеспечены в области 51 кэша. Обработка для считывания данных, требуемых блоком 40 обработки обновления, выполняется блоком 20 считывания файла, который описан ниже. В этом варианте осуществления блок 40 обработки обновления вызывает считывание данных в файле, требуемых для обработки обновления, блоком 20 считывания файла посредством сообщения блоку 20 считывания файла адреса файла.
В данном случае блок 41 разностного синтеза и блок 42 преобразования в справочные данные блока 40 обработки обновления обрабатывают файлы, требуемые в обработке (обработке обновления), выполняемой соответственно ими с использованием имен файлов. Следовательно, блок 40 обработки обновления включает в себя таблицу 43 адресов имен файла для определения адреса файла, требуемого обработкой обновления, из имени файла. Здесь адрес файла является информацией (информацией адреса), указывающей местоположение базы данных 80 для локального хранения данных, в которой хранится файл. Другими словами, таблица 43 адресов имен файлов является таблицей, обеспечивающей ассоциации между именами файлов и адресами в отношении всех файлов, хранящихся в базе данных 80 для локального хранения данных.
Блок 41 разностного синтеза и блок 42 преобразования в справочные данные блока 40 обработки обновления используют память 50 во время исполнения обработки, выполняемой соответственно ими. Следовательно, как изображено на фиг.4 и фиг.5, в памяти 50 устанавливается область 52 для обработки обновления, которая является областью памяти 50, используемой в обработке обновления, выполняемой блоком 40 обработки обновления. В этом варианте осуществления емкость памяти области 52 для обработки обновления устанавливается переменной в соответствии с содержимым данных 81 карты для обновления, которые должны быть подвергнуты обработке обновления блоком 40 обработки обновления, с использованием блока 30 управления памятью, описанного ниже.
Блок управления доступом к файлу
Блок 10 управления доступом к файлу является блоком обработки для выполнения управления в отношении доступа к файлу из блока 40 обработки обновления к базе данных 80 для локального хранения данных и памяти 50, например обработка считывания, когда блок 40 обработки обновления считывает данные, требуемые в обработке обновления, и управление памятью 50, когда память 50 функционирует в качестве кэша во время обработки считывания. В этом варианте осуществления блок 10 управления доступом к файлу включает в себя блок 20 считывания файла и блок 30 управления памятью. Устройство блока 10 управления доступом к файлу является отличающейся частью настоящего изобретения. Следовательно, устройства блока 20 считывания файла и блока 30 управления памятью, составляющие блок 10 управления доступом к файлу, описаны подробно ниже.
Блок считывания файла
Блок 20 считывания файла является блоком обработки для выполнения обработки, относящейся к считыванию, выполняющемуся, когда блок 40 обработки обновления считывает данные, требуемые в обработке обновления. В этом варианте осуществления блок 20 считывания файла включает в себя блок 21 обработки считывания, блок 22 сохранения в кэше и блок 23 управления кэшем, которые служат функциональными блоками, отвечающими за обработку, относящуюся к этому считыванию. Как описано ниже, кэш, который используется во время считывания данных, устанавливается в качестве области 51 кэша памяти 50. Наряду с областью 51 кэша, память 50 включает в себя область 52 для обработки обновления, используемую блоком 40 обработки обновления, и область 53 для навигационной обработки, используемую блоком 60 навигационной обработки.
Блок 21 обработки считывания является блоком обработки для выполнения обработки считывания, в котором данные, составляющие файл, требуемый для обработки обновления, задаваемые блоком 40 обработки обновления, считываются из области 51 кэша, обеспечиваемой в памяти 50, или базы данных 80 для локального хранения данных. Блок 21 обработки считывания выполняет обработку для считывания данных, составляющих файл, требуемых для обработки обновления, из области 51 кэша памяти 50, когда данные обеспечены в области 51 кэша, и из базы данных 80 для локального хранения данных, когда данные не обеспечены в области 51 кэша. Более конкретно, сначала блок 21 обработки считывания ведет поиск в области 51 кэша для определения, существуют или не существуют данные, составляющие файл, требуемый для обработки обновления, и когда такие данные существуют блок 21 обработки считывания считывает эти данные из области 51 кэша. Когда данные, составляющие файл, требуемый для обработки обновления, не существуют в области 51 кэша, напротив, эти данные считываются из базы данных 80 для локального хранения данных.
В это время файл, требуемый для обработки обновления, задается блоком 40 обработки обновления посредством адреса файла. Соответственно, блок 21 обработки считывания выполняет обработку на основе адреса файла для поиска в области 51 кэша или базе данных 80 для локального хранения данных упомянутых данных, составляющих файл, и считывания этих данных. В данном случае адрес файла, обеспечиваемого в блок 21 обработки считывания из блока 40 обработки обновления, указывает местоположение базы данных 80 для локального хранения данных, в которой хранится файл. Следовательно, блок 20 считывания файла может считывать заданный файл из базы данных 80 для локального хранения данных непосредственно на основе адреса. Однако трудно вести поиск в области 51 кэша для определения того, хранятся или нет в ней данные, составляющие заданный файл, или считывать данные из области 51 кэша непосредственно на основе адреса. Следовательно, при поиске и считывании данных из области 51 кэша блок 21 обработки считывания использует управляющую информацию в блоке 23 управления кэшем. Блок 23 управления кэшем включает в себя управляющую информацию для управления данными, хранящимися в области 51 кэша, ассоциированными с адресом файла, включающего в себя упомянутые данные, в базе данных 80 для локального хранения данных. В этом варианте осуществления блок 23 управления кэшем соответствует блоку управления кэшем согласно настоящему изобретению.
Фиг.3 является блок-схемой, на которой изображено устройство блока 23 управления кэшем. Как изображено на чертеже, область 51 кэша из памяти 50 разделена на множество ячеек, причем каждая ячейка, служащая областью хранения данных, имеет предопределенную единичную емкость данных (например, 64 [килобайт], 128 [килобайт] и т.п.). В примере, изображенном на чертеже, область 51 кэша разделена на n ячеек. Как описано ниже, емкость памяти области 51 кэша является переменной, и, следовательно, количество ячеек, имеющих единичную емкость данных, может устанавливаться переменно в соответствии с емкостью памяти области 51 кэша. Блок 23 управления кэшем включает в себя информацию, указывающую адрес данных, хранящихся в каждой ячейке области 51 кэша, ассоциированными с каждой ячейкой, в качестве управляющей информации. Более конкретно, как изображено на чертеже, блок 23 управления кэшем включает в себя управляющую информацию для управления данными в каждой ячейке области 51 кэша, ассоциированными с адресом ad001-ad003 файла, включающим в себя данные и смещение of001-of006 относительно каждого адреса.
Здесь адрес ad001-ad003 является информацией, указывающей адрес файла, включающего в себя данные в каждой ячейке, внутри базы данных 80 для локального хранения данных. Более конкретно, адрес ad001-ad003 является информацией, указывающей место хранения внутри базы данных 80 для локального хранения данных исходной позиции всех данных, составляющих файл, который включает в себя упомянутые данные. Кроме того, смещение of001-of006 является информацией, указывающей величину смещения данных в каждой ячейке относительно адреса ad001-ad003. Смещение of001-of006 является информацией, предоставляемой, когда данные, составляющие каждый файл, фрагментированы и хранятся в каждой ячейке области 51 кэша, и выражает смещение позиции данных внутри файла относительно исходной позиции файла, выраженной адресом ad001-ad003. С включением информации, указывающей смещение of001-of006, блок 23 управления кэшем может управлять данными в каждой ячейке, ассоциированными с адресом файла, включающего в себя упомянутые данные, даже тогда, когда все или часть данных, составляющих один файл, фрагментированы и хранятся отдельно в области 51 кэша. Здесь смещение of001-of006 может обеспечиваться в качестве информации, указывающей величину смещения относительно адреса ad001-ad003 как размер данных, например 64 [килобайт] или 256 [килобайт].
Согласно фиг.1 блок 22 сохранения в кэше является блоком обработки для выполнения обработки для сохранения данных, считываемых блоком 21 обработки считывания, в области 51 кэша. В этом варианте осуществления блок 22 сохранения в кэше выполняет обработку для сохранения данных, заново считанных из базы данных 80 для локального хранения данных блоком 21 обработки считывания, в области 51 кэша. Другими словами, когда данные считываются из области 51 кэша блоком 21 обработки считывания, блок 22 сохранения в кэше не выполняет обработку для сохранения этих данных в области 51 кэша. Как изображено на фиг.3, блок 22 сохранения в кэше сохраняет данные, считанные блоком 21 обработки считывания, в каждой ячейке области 51 кэша после разделения данных на единичные объемы данных, соответствующие каждой ячейке. В это время блок 22 сохранения в кэше также выполняет обработку для удаления старых данных в объеме данных, соответствующем объему заново сохраняемых данных, из области 51 кэша. Здесь блок 22 сохранения в кэше выполняет обработку для удаления самых старых данных из данных, хранящихся в области 51 кэша, в порядке сохранения. Для реализации этого устройства область 51 кэша предпочтительно имеет структуру памяти FIFO (первым пришел, первым вышел), например. В качестве альтернативы, к данным в каждой ячейке области 51 кэша могут присоединяться данные, указывающие время сохранения, так что данные должны удаляться по порядку, начиная с данных с самым ранним временем сохранения. В этом варианте осуществления блок 22 сохранения в кэше соответствует блоку сохранения в кэше согласно настоящему изобретению.
Кроме того, в этом варианте осуществления блок 22 сохранения в кэше выполняет обработку обеспечения достоверности данных кэша для устранения несоответствия содержимого между данными 81 карты для обновления, сохраненными в базе данных 80 для локального хранения данных после обновления, и данными, сохраненными в области 51 кэша, соответствующими файлу обновленных данных 81 карты для обновления, которое происходит в результате обработки обновления, выполняемой на данных 81 карты для обновления блоком 41 разностного синтеза блока 40 обработки обновления. В этой обработке обеспечения достоверности данных кэша, когда обнаружено, что файл, составляющий данные 81 карты для обновления, обновляемые блоком 41 разностного синтеза, записан в базу данных 80 для локального хранения данных, и в области 51 кэша существуют данные, имеющие адрес, идентичный записанному файлу (т.е. идентичный файл), упомянутые данные удаляются из области 51 кэша. С выполнением этой обработки обеспечения достоверности данных кэша, может быть устранена ситуация, в которой блок 21 обработки считывания намеревается считать данные в файле, составляющем обновленные данные 81 карты для обновления, но по ошибке считывает данные в файле, соответствующем старым, ранее обновленным данным 81 карты для обновления из области 51 кэша.
Как описано выше, с использованием блоком 21 обработки считывания области 51 кэша памяти 50 в качестве кэша данные, которые считываются многократно, могут считываться из области 51 кэша, а не из базы данных 80 для локального хранения данных. Следовательно, обработка считывания может выполняться быстрее, чем в случае, когда все данные считываются непосредственно из базы данных 80 для локального хранения данных. В этом варианте осуществления ситуации, в которых идентичные данные считываются многократно, происходят особенно часто, когда обновленные данные 81 карты для обновления преобразуются в справочные данные 71 карты блоком 42 преобразования в справочные данные. Ниже приведен пример причины для этого. Блок 42 преобразования в справочные данные преобразует множество типов данных карты, например общие данные карты, данные карты для согласования с картой/вывода на экран и данные карты для поиска маршрута, в справочные данные 71 карты на основе одной части данных 81 карты для обновления, и, следовательно, содержимое идентичных данных 81 карты для обновления считывается многократно. Кроме того, справочные данные 71 карты в каждой секции P включают в себя информацию, относящуюся к смежной секции P, для обеспечения вывода на экран, поиска, маршрутовождения и так далее, около границы между секциями P, и, следовательно, содержимое идентичных данных 81 карты для обновления считывается многократно для получения информации, относящейся к смежной секции P. Следовательно, в навигационном устройстве 1 согласно этому варианту осуществления увеличение скорости обработки может достигаться с использованием области 51 кэша, в частности при считывании данных в файле, задаваемом блоком 42 преобразования в справочные данные.
Блок управления памятью
Согласно фиг.1 блок 30 управления памятью используется, когда блок 40 обработки обновления исполняет обработку обновления, и, блок 60 навигационной обработки исполняет соответствующие прикладные процессы, а также управляет памятью 50, которая используется в качестве кэша во время обработки считывания данных блока 20 считывания файла. В этом варианте осуществления блок 30 управления памятью включает в себя блок 31 определения емкости памяти для обработки, блок 32 определения емкости памяти для навигации, блок 33 определения емкости кэша и блок 34 определения области памяти. Здесь блок 31 определения емкости памяти для обработки соответствует блоку определения емкости памяти для обработки согласно настоящему изобретению, блок 32 определения емкости памяти для навигации соответствует блоку определения емкости памяти для навигации согласно настоящему изобретению и блок 33 определения емкости кэша соответствует блоку определения емкости кэша согласно настоящему изобретению.
Фиг.4A, фиг.4B, фиг.5A и фиг.5B являются видами, изображающими конкретный пример установки областей во внутренней области памяти 50, служащей объектом управления блока 30 управления памятью. Как изображено на чертежах, в памяти 50 устанавливается область 51 кэша, которая используется в качестве кэша во время обработки считывания данных блока 20 считывания файла, область 52 для обработки обновления, используемая во время обработки обновления блока 40 обработки обновления, и область 53 для навигационной обработки, используемая во время навигационной обработки блока 60 навигационной обработки. В примере, изображенном на чертежах, вся область или часть области 54 для обработки вывода на экран, области 55 для обработки согласования с картой, области 56 для обработки поиска маршрута и области 57 для обработки прокладки маршрута могут быть установлены в качестве области 53 для навигационной обработки.
Блок 31 определения емкости памяти для обработки является блоком обработки для выполнения обработки для определения емкости памяти для обработки, т.е. емкости памяти, требуемой в качестве области 52 для обработки обновления, на основе содержимого данных 81 карты для обновления, служащей в качестве объекта обработки обновления блока 40 обработки обновления. В этом варианте осуществления блок 31 определения емкости памяти для обработки определяет емкость памяти для обработки на основе количества дорог и количества перекрестков, включенных в данные 81 карты для обновления в секции-объекте обновления, служащей объектом обработки обновления. Как описано выше, данные 81 карты для обновления, хранящиеся в базе данных 80 для локального хранения данных, включают в себя данные дорожной сети, состоящие из множества узлов N, соответствующих соответственно множеству перекрестков, существующих внутри секции P объекта данных 81 карты для обновления, и множества соединений L, соответствующих дорогам, соединяющих узлы N (смотрите фиг.2). Следовательно, блок 31 определения емкости памяти для обработки использует количество соединений, т.е. количество соединений L, включенных в данные 81 карты для обновления, для представления количества дорог в секции-объекте обновления и использует количество узлов, т.е. количество узлов N, включенных в данные 81 карты для обновления, для представления количества перекрестков в секции-объекте обновления. Другими словами, блок 31 определения емкости памяти для обработки согласно этому варианту осуществления определяет емкость памяти для обработки на основе количества соединений и количества узлов, включенных в данные 81 карты для обновления, в секции-объекте обновления.
Более конкретно, блок 31 определения емкости памяти для обработки определяет емкость памяти для обработки в соответствии со следующим уравнением (1).
(Емкость памяти для обработки)=(количество соединений)×D1+(количество узлов)×D2+C (1)
В этом уравнении D1 - емкость памяти области 52 для обработки обновления, требуемая для каждого соединения, и D2 - емкость памяти области 52 для обработки обновления, требуемая для каждого узла. Кроме того, C является фиксированным значением, представляющим требуемую емкость памяти области 52 для обработки обновления, независимо от количества соединений и количества узлов. Здесь значения D1, D2 и C могут быть определены посредством эксперимента на основе емкости памяти для обработки, требуемой во время обработки обновления данных 81 карты для обновления с различными количествами соединений и количествами узлов.
Следовательно, когда данные 81 карты для обновления в секции P, имеющей большое количество соединений (количество дорог) и большое количество узлов (количество перекрестков) и высокую плотность дорог, например данные 81 карты для обновления секции P, соответствующей городу, подвергаются обработке обновления, блок 31 определения емкости памяти для обработки устанавливает емкость памяти для обработки в большое значение. В этом случае, как изображено на фиг.4A, блок 34 определения области памяти устанавливает область 52 для обработки обновления внутри памяти 50 сравнительно большой. Напротив, когда данные 81 карты для обновления в секции P, имеющей небольшое количество соединений (количество дорог) и небольшое количество узлов (количество перекрестков) и низкую плотность дорог, например данные 81 карты для обновления секции P, соответствующей области за городом, подвергаются обработке обновления, блок 31 определения емкости памяти для обработки устанавливает емкость памяти для обработки в небольшое значение. В этом случае, как изображено на фиг.4B, блок 34 определения области памяти устанавливает область 52 для обработки обновления внутри памяти 50 сравнительно небольшой.
Кроме того, когда обработка обновления данных 81 карты для обновления одной секции-объекта обновления завершается и объект обработки обновления перемещается к данным 81 карты для обновления в следующей секции-объекте обновления, блок 31 определения емкости памяти для обработки заново определяет емкость памяти для обработки на основе количества соединений (количества дорог) и количества узлов (количества перекрестков) в данных 81 карты для обновления этой следующей секции-объекте обновления. Соответственно, емкость памяти для обработки может быть определена соответственно в соответствии с содержимым данных 81 карты для обновления в секции-объекте обновления на каждый момент времени. Соответственно, область 52 для обработки обновления может устанавливаться переменно внутри памяти 50 в соответствующий размер блоком 34 определения области памяти в соответствии с содержимым данных 81 карты для обновления в секции-объекте обновления на каждый момент времени.
Блок 32 определения емкости памяти для навигации является блоком обработки для выполнения обработки для определения емкость памяти для навигации, т.е. емкости памяти 50, требуемой в качестве области 53 для навигационной обработки, на основе содержимого обработки, исполняемой блоком 60 навигационной обработки в качестве навигационной обработки. В этом варианте осуществления блок 32 определения емкости памяти для навигации определяет емкость памяти для навигации на основе типа прикладной обработки, которая осуществляется в качестве навигационной обработки. Как описано выше, блок 60 навигационной обработки включает в себя блок 61 обработки дисплея, блок 62 обработки согласования с картой, блок 63 обработки поиска маршрута и блок 64 обработки прокладки маршрута, и обработка вывода на экран, обработка согласования с картой, обработка поиска маршрута и обработка прокладки маршрута, исполняемые соответственно блоками 61-64 прикладной обработки, служат прикладными процессами. Следовательно, блок 32 определения емкости памяти для навигации определяет емкость памяти 50, требуемую для исполнения прикладной обработки в отношении каждого из прикладных процессов. Более конкретно, блок 32 определения емкости памяти для навигации соответственно определяет емкость памяти для обработки вывода на экран, требуемую для обработки вывода на экран, емкость памяти для обработки согласования с картой, требуемую для обработки согласования с картой, емкость памяти для обработки поиска маршрута, требуемую для обработки поиска маршрута и емкость памяти для обработки прокладки маршрута, требуемую для обработки прокладки маршрута. Блок 32 определения емкости памяти для навигации после этого получает информацию, относящуюся к состоянию исполнения каждого прикладного процесса, и определяет емкость памяти для навигации на основе общей емкости памяти, требуемой для прикладных процессов, которые осуществляются.
А именно, блок 32 определения емкости памяти для навигации заранее устанавливает емкость памяти для обработки вывода на экран, емкость памяти для обработки согласования с картой, емкость памяти для обработки поиска маршрута и емкость памяти для обработки прокладки маршрута в качестве фиксированного значения. Блок 32 определения емкости памяти для навигации после этого определяет общую емкость памяти, которая получается суммированием емкости памяти, относящейся ко всем прикладным процессам, которые осуществляются, в качестве емкости памяти для навигации. Другими словами, емкость памяти, относящаяся к прикладным процессам, которые не осуществляются, не добавляется к емкости памяти для навигации. Здесь значения емкости памяти для обработки вывода на экран, емкости памяти для обработки согласования с картой, емкости памяти для обработки поиска маршрута и емкости памяти для обработки прокладки маршрута, которые установлены заранее как фиксированные значения, могут все быть определены посредством эксперимента на основе типичного рабочего состояния каждого прикладного процесса.
Следовательно, когда количество прикладных процессов, которые осуществляются, является большим, и емкость памяти, требуемая для прикладных процессов, которые осуществляются, является большой, блок 32 определения емкости памяти для навигации устанавливает емкость памяти для навигации в большое значение. В этом случае, как изображено на фиг.5A, например, блок 34 определения области памяти устанавливает область 53 для навигационной обработки памяти 50 сравнительно большой. Напротив, когда количество прикладных процессов, которые осуществляются, является небольшим и емкость памяти, требуемая для прикладных процессов, которые осуществляются, является небольшой, блок 32 определения емкости памяти для навигации устанавливает емкость памяти для навигации в небольшое значение. В этом случае, как изображено на фиг.5B, например, блок 34 определения области памяти устанавливает область 53 для навигационной обработки памяти 50 сравнительно небольшой. Здесь на фиг.5 изображен пример установки области в памяти 50 в случае, когда все прикладные процессы, т.е. обработка вывода на экран, обработка согласования с картой, обработка поиска маршрута и обработка прокладки маршрута, осуществляются. В этом примере область 54 для обработки вывода на экран, область 55 для обработки согласования с картой, область 56 для обработки поиска маршрута и область 57 для обработки прокладки маршрута - все устанавливаются в качестве области 53 для навигационной обработки, и, следовательно, область 53 для навигационной обработки устанавливается в максимальную емкость. С другой стороны, на фиг.5B изображен пример установки области в памяти 50 в случае, когда осуществляется только часть прикладных процессов, а именно обработка вывода на экран и обработка согласования с картой. В этом примере только область 54 для обработки вывода на экран и область 55 для обработки согласования с картой устанавливаются в качестве области 53 для навигационной обработки, и, следовательно, область 53 для навигационной обработки устанавливается сравнительно небольшой. Отметим, что фиг.5A соответствует состоянию, в котором устанавливается маршрут вождения, в то время как фиг.5B соответствует состоянию, в котором маршрут вождения не устанавливается, а только выводится на экран позиция транспортного средства на карте.
Кроме того, когда исполнение каждого прикладного процесса начинается или завершается, блок 32 определения емкости памяти для навигации заново определяет емкость памяти для навигации. Более конкретно, когда заново начинается исполнение одного из прикладных процессов или завершается исполнение прикладного процесса, который осуществляется, блок 32 определения емкости памяти для навигации определяет новую емкость памяти для навигации с учетом начала или завершения соответствующего прикладного процесса. Соответственно, емкость памяти для навигации может быть определена соответственно в соответствии с состоянием исполнения соответствующих прикладных процессов на каждый момент времени. Следовательно, область 53 для навигационной обработки может устанавливаться переменно внутри памяти 50 в соответствующий размер блоком 34 определения области памяти в соответствии с состоянием исполнения соответствующих прикладных процессов на каждый момент времени.
Блок 33 определения емкости кэша является блоком обработки для выполнения обработки для определения емкости кэша, т.е. емкости памяти 50, выделенной для области 51 кэша, на основе емкости памяти для обработки, определяемой блоком 31 определения емкости памяти для обработки, и емкости памяти для навигации, определяемой блоком 32 определения емкости памяти для навигации. В этом варианте осуществления блок 33 определения емкости кэша устанавливает избыточную емкость памяти, определяемую на основе емкости, получаемой посредством вычитания емкости памяти для обработки и емкости памяти для навигации из общей емкости памяти 50, в качестве емкости кэша. Соответственно, блок 33 определения емкости кэша устанавливает емкость кэша постоянно меньшей, когда общая сумма емкости памяти для обработки и емкости памяти для навигации увеличивается, и постоянно большей, когда общая сумма емкости памяти для обработки и емкости памяти для навигации уменьшается.
Блок 34 определения области памяти после этого определяет область 51 кэша памяти 50 в соответствии с емкостью кэша, т.е. избыточной емкостью памяти после установления области 52 для обработки обновления, соответствующей емкости памяти для обработки, и области 53 для навигационной обработки, соответствующей емкости памяти для навигации. Соответственно, блок 34 определения области памяти устанавливает область 51 кэша постоянно меньшей, когда общая сумма области 52 для обработки обновления и области 53 для навигационной обработки увеличивается, и постоянно большей, когда общая сумма области 52 для обработки обновления и области 53 для навигационной обработки уменьшается. В данном случае, когда размер области 51 кэша не устанавливается переменным, в отличие от этого варианта осуществления, область 52 для обработки обновления должна устанавливаться на основе максимальной емкости памяти, требуемой для обработки обновления блока 40 обработки обновления, и область 53 для навигационной обработки должна устанавливаться на основе максимальной емкости памяти, требуемой для навигационной обработки блока 60 навигационной обработки. В этом случае емкость памяти области 51 кэша устанавливается в минимальную емкость, при этом трудно достичь увеличения скорости обработки обновления. Согласно устройству этого варианта осуществления, однако, емкость памяти области 51 кэша может обеспечиваться соответственно на уровне верхней границы после обеспечения емкости памяти, требуемой для обработки обновления, и емкости памяти, требуемой для исполнения навигационной обработки, и, следовательно, может быть достигнуто увеличение скорости обработки обновления.
Обработка обновления карты
Далее, описана процедура обработки обновления карты, исполняемая блоком 40 обработки обновления, на основе блок-схемы последовательности операций способа, изображенной на фиг.6. После получения файла 4 данных для обновления (этап № 01: Да), блок 40 обработки обновления начинает обработку обновления (этап № 02). Когда обработка обновления начинается, включается индикатор обработки обновления, в результате чего становится понятно, что другие блоки обработки, например, блок 30 управления памятью, также начал обработку обновления. Далее, блок 41 разностного синтеза определяет секцию-объект обновления (этап № 03). Секция-объект обновления определяется посредством выбора одной секции P из одной или нескольких секций P, в которых должны быть обновлены данные для обновления, включенные в файл 4 данных для обновления. Далее, блок 41 разностного синтеза обновляет данные 81 карты для обновления в секции-объекте обновления посредством синтеза разностей с данными для обновления, включенными в полученный файл 4 данных для обновления (этап № 04). В это время блок 41 разностного синтеза сообщает блоку 20 считывания файла адрес файла, который составляет данные 81 карты для обновления объекта обновления после считывания файла. Соответственно, блок 20 считывания файла исполняет обработку считывания файла, которая будет описана ниже, для считывания данных, содержащих заданный адрес, из области 51 кэша памяти 50 или базы данных 80 для локального хранения данных. Блок 41 разностного синтеза далее сохраняет обновленные данные 81 карты для обновления в базе данных 80 для локального хранения данных (этап № 05). Соответственно, база данных 80 для локального хранения данных обновляется.
Далее, блок 42 преобразования в справочные данные считывает обновленные данные 81 карты для обновления из базы данных 80 для локального хранения данных и преобразует считанные данные 81 карты для обновления в справочные данные 71 карты для формирования обновленных справочных данных 71 карты (этап № 06). В это время блок 42 преобразования в справочные данные сообщает блоку 20 считывания файла адрес файла, который составляет обновленные данные 81 карты для обновления, подвергаемые обработке преобразования после считывания файла. Соответственно, блок 20 считывания файла исполняет обработку считывания файла, которая будет описана ниже, для считывания данных, содержащих заданный адрес, из области 51 кэша памяти 50 или базы данных 80 для локального хранения данных. Блок 42 преобразования в справочные данные далее сохраняет обновленные справочные данные 71 карты в справочной базе данных 70. Соответственно, справочная база данных 70 обновляется. Далее, блок 40 обработки обновления определяет, была ли обработка обновления завершена во всех секциях P, относящихся к полученному файлу 4 данных для обновления (этап № 08). Если обработка обновления не была завершена во всех секциях P (этап № 08: Нет), то обработка возвращается к этапу № 03, на котором блок 41 разностного синтеза определяет следующую новую секцию-объект обновления. Данные 81 карты для обновления и справочные данные 71 карты, относящиеся к новой секции-объекту обновления далее обновляются с использованием обработки, аналогичной той, которая описана выше (этап № 04 - этап № 07). Когда обработка обновления закончена во всех секциях P, относящихся к полученному файлу 4 данных для обновления, наоборот (этап № 08: Да), блок 40 обработки обновления заканчивает обработку обновления (этап № 09). Когда обработка обновления заканчивается, выключается индикатор обработки обновления, при этом становится понятно, что другие блоки обработки, например блок 30 управления памятью, также закончил обработку обновления. Процедура обработки обновления карты после этого заканчивается.
Обработка считывания файла
Далее, описана процедура обработки считывания файла, исполняемая блоком 20 считывания файла, на основе блок-схемы последовательности операций способа, изображенной на фиг.7. После получения адреса файла объекта считывания из блока 40 обработки обновления (этап № 11: Да), сначала блок 21 обработки считывания осуществляет поиск данных по заданному адресу в блоке 23 управления кэшем (этап № 12). Блок 23 управления кэшем сохраняет управляющую информацию для управления данными, хранящимися в области 51 памяти 50 кэша, ассоциированной с адресом в базе данных 80 для локального хранения данных файла, включающего в себя упомянутые данные. Следовательно, когда данные по заданному адресу найдены в блоке 23 управления кэшем, то может быть определено, что, по меньшей мере, часть данных в заданном файле хранится в области 51 кэша. Соответственно, когда данные по заданному адресу найдены в блоке 23 управления кэшем (этап № 13: Да), блок 21 обработки считывания считывает данные по заданному адресу из области 51 кэша памяти 50 (этап № 14).
Когда не существует данных по заданному адресу в блоке 23 управления кэшем, наоборот (этап № 13: Нет), блок 21 обработки считывания считывает данные по заданному адресу из базы данных 80 для локального хранения данных (этап № 15). Блок 22 сохранения в кэше после этого удаляет старые данные из области 51 кэша и сохраняет данные, заново считанные на этапе № 15, в области 51 кэша (этап № 16). В это время блок 22 сохранения в кэше удаляет старые данные в объеме данных, соответствующем объему заново сохраняемых данных последовательно, начиная с данных, имеющих самое раннее время сохранения. Процедура обработки считывания файла после этого заканчивается.
Обработка обеспечения достоверности данных кэша
Далее, описана процедура обработки обеспечения достоверности данных кэша, исполняемая блоком 22 сохранения в кэше, на основе блок-схемы последовательности операций способа, изображенной на фиг.8. Блок 22 сохранения в кэше определяет, были ли данные 81 карты для обновления, обновленные блоком 41 разностного синтеза, на этапе № 05 по фиг.6 записаны в базу данных 80 для локального хранения данных (этап № 21). Если обновленные данные были записаны (этап № 21: Да), то блок 22 сохранения в кэше осуществляет поиск в блоке 23 управления кэшем данных, имеющих адрес, идентичный адресу файла, составляющего записанные данные (этап № 22). Если данные, имеющие адрес, идентичный адресу файла, составляющего обновленные данные 81 карты для обновления, записанного в базу данных 80 для локального хранения данных, найдены в блоке 23 управления кэшем, то может быть определено, что старые, ранее обновленные данные, соответствующие упомянутым обновленным данным, хранятся в области 51 кэша. Следовательно, если данные, имеющие идентичный адрес, найдены в блоке 23 управления кэшем (этап № 23: Да), то блок 22 сохранения в кэше удаляет соответствующие данные, имеющие идентичный адрес в области 51 кэша, из области 51 кэша (этап № 24). Соответственно, несоответствие между обновленными данными 81 карты для обновления, сохраненными в базе данных 80 для локального хранения данных в результате обработки обновления, выполненной на данных 81 карты для обновления, и данными, хранящимися в области 51 кэша, может быть устранено.
Обработка управления памятью
Далее, описана процедура обработки управления памятью, исполняемая блоком 30 управления памятью, на основе блок-схемы последовательности операций способа, изображенной на фиг.9. Сначала блок 30 управления памятью определяет, началась ли обработка обновления (этап № 31). Это решение принимается на основе того, был ли включен индикатор обработки обновления на этапе № 02 по фиг.6, описанном выше. Если обработка обновления началась (этап № 31: Да), то блок 33 определения емкости кэша получает емкость памяти для обработки, определенную блоком 31 определения емкости памяти для обработки (этап № 32). Обработка определения емкости памяти для обработки, выполняемая блоком 31 определения емкости памяти для обработки, описана подробно ниже на основе блок-схемы последовательности операций способа, изображенной на фиг.10. Кроме того, блок 33 определения емкости кэша получает емкость памяти для навигации, определенную блоком 32 определения емкости памяти для навигации (этап № 33). Обработка определения емкости памяти для навигации, выполняемая блоком 32 определения емкости памяти для навигации, описана подробно ниже на основе блок-схемы последовательности операций способа, изображенной на фиг.11. Далее, блок 33 определения емкости кэша определяет емкость кэша на основе емкости памяти для обработки, полученной на этапе № 32, и емкости памяти для навигации, полученной на этапе № 33 (этап № 34). В результате емкость памяти для обработки, емкость памяти для навигации и емкость кэша определены и, следовательно, блок 34 определения области памяти устанавливает область 52 для обработки обновления, область 53 для навигационной обработки и область 51 кэша в памяти 50 в соответствии с емкостью памяти для обработки, емкостью памяти для навигации и емкостью кэша соответственно (этап № 35).
Как описано ниже со ссылкой на блок-схемы последовательностей операций способа, изображенные на фиг.10 и фиг.11, блок 31 определения емкости памяти для обработки определяет новую емкость памяти для обработки каждый раз, когда определяется новая секция-объект обновления, и блок 32 определения емкости памяти для навигации определяет новую емкость памяти для навигации каждый раз, когда исполнение одного из прикладных процессов начинается или заканчивается. Следовательно, когда емкость памяти для обработки или емкость памяти для навигации модифицированы таким способом, блок 33 определения емкости кэша заново определяет емкость кэша в соответствии с упомянутой модификацией. В результате емкость кэша может быть модифицирована соответственно в соответствии с емкостью памяти для обработки и емкостью памяти для навигации, требуемых в каждый момент времени, и в каждый момент времени в области 51 кэша может устанавливаться максимум емкости кэша, который можно обеспечить.
Соответственно, блок 33 определения емкости кэша определяет, была ли емкость памяти для обработки заново определена (этап № 36). Если емкость памяти для обработки была заново определена (этап № 36: Да), то блок 33 определения емкости кэша получает новую емкость памяти для обработки (этап № 37). Обработка после этого возвращается к этапу № 34, на котором блок 33 определения емкости кэша определяет новую емкость кэша на основе новой емкости памяти для обработки. Далее, если емкость памяти для обработки не была определена заново (этап № 36: Нет), то блок 33 определения емкости кэша определяет, была ли заново определена емкость памяти для навигации (этап № 38). Если емкость памяти для навигации была заново определена (этап № 38: Да), то блок 33 определения емкости кэша получает новую емкость памяти для навигации (этап № 39). Обработка после этого возвращается к этапу № 34, на котором блок 33 определения емкости кэша определяет новую емкость кэша на основе новой емкости памяти для навигации. Отметим, что, если заново определенная емкость кэша отличается от предыдущей емкости кэша, то блок 34 определения области памяти предпочтительно выполняет обработку для присоединения (к) емкости памяти области 51 кэша каждой предопределенной единичной емкости памяти или удаления ее из нее.
Если емкость памяти для обработки и емкость памяти для навигации не были определены заново (этап № 38: Нет), то блок 30 управления памятью определяет, завершена ли обработка обновления (этап № 40). Это решение принимается на основе того, был ли выключен индикатор обработки обновления на этапе № 09 по фиг.6, описанном выше. Если обработка обновления не завершена (этап № 40: Нет), то обработка возвращается к этапу № 36. Если обработка обновления завершена (этап № 40: Да), то процедура обработки управления памятью заканчивается.
Обработка определения емкости памяти для обработки
Далее, описана процедура обработки определения емкости памяти для обработки, исполняемая блоком 31 определения емкости памяти для обработки, на основе блок-схемы, изображенной на фиг.10. Сначала блок 31 определения емкости памяти для обработки определяет, была ли определена секция-объект обновления (этап № 51). Это решение принимается на основе того, была ли определена секция-объект обновления на этапе № 03 по фиг.6, описанном выше. Если секция-объект обновления была определена (этап № 51: Да), то блок 31 определения емкости памяти для обработки получает количество соединений и количество узлов из данных 81 карты для обновления в определенной секции-объекте обновления (этап № 52). Блок 31 определения емкости памяти для обработки после этого определяет емкость памяти для обработки на основе количества соединений и количества узлов, полученных на этапе № 52 (этап № 53). Соответственно, блок 31 определения емкости памяти для обработки определяет емкость памяти для обработки, соответствующую данным 81 карты для обновления в секции-объекте обновления каждый раз, когда определяется секция-объект обновления. Соответственно, емкость памяти для обработки может быть установлена соответственно в соответствии с данными 81 карты для обновления, которые должны быть подвергнуты обработке обновления, на каждый момент времени.
Обработка определения емкости памяти для навигации
Далее, описана процедура обработки определения емкости памяти для навигации, исполняемая блоком 32 определения емкости памяти для навигации, на основе блок-схемы последовательности операций способа, изображенной на фиг.11. Сначала блок 32 определения емкости памяти для навигации определяет, началось или закончилось исполнение одного из прикладных процессов (этап № 61). Это решение принимается посредством осуществления текущего контроля блоком 32 определения емкости памяти для навигации за состоянием исполнения соответствующих прикладных процессов, выполняемых блоком 61 обработки дисплея, блоком 62 обработки согласования с картой, блоком 63 обработки поиска маршрута и блоком 64 обработки прокладки маршрута блока 60 навигационной обработки. Если исполнение одного из прикладных процессов началось или закончилось (этап № 61: Да), то блок 32 определения емкости памяти для навигации получает тип прикладного процесса, который осуществляется в настоящее время (этап 62). Блок 32 определения емкости памяти для навигации после этого определяет емкость памяти для навигации на основе типа прикладного процесса, который осуществляется, полученного на этапе № 62 (этап № 63). Соответственно, блок 32 определения емкости памяти для навигации определяет емкость памяти для навигации, соответствующую типу прикладного процесса, который осуществляется в настоящее время, каждый раз, когда один из прикладных процессов начинается или заканчивается. Соответственно, емкость памяти для навигации может быть установлена соответственно в соответствии с типом прикладного процесса, который осуществляется, на каждый момент времени.
Другие варианты осуществления
(1) В вышеупомянутом варианте осуществления описан пример, в котором блок 31 определения емкости памяти для обработки определяет емкость памяти для обработки на основе как количества дорог (количества соединений), так и количества перекрестков (количества узлов), включенных в данные 81 карты для обновления, которые должны быть подвергнуты обработке обновления. Однако настоящее изобретение не ограничивается этим вариантом осуществления. В другом предпочтительном варианте осуществления настоящего изобретения блок 31 определения емкости памяти для обработки может определять емкость памяти для обработки на основе одного из количества дорог и количества перекрестков, включенных в данные 81 карты для обновления, которые должны быть подвергнуты обработке обновления, или на основе одного из количества соединений и количества узлов. В этом случае емкость памяти для обработки может быть установлена способом, аналогичным способу варианта осуществления, описанного выше, посредством удаления элемента, относящегося к количеству соединений или количеству узлов, из уравнения (1) и установки значения коэффициента D1 или D2 соответственно.
(2) В следующем предпочтительном варианте осуществления настоящего изобретения блок 31 определения емкости памяти для обработки может определять емкость памяти для обработки на основе содержимого данных 81 карты для обновления, отличного от количества дорог (количества соединений) и количества перекрестков (количества узлов). Примеры этого содержимого данных 81 карты для обновления включают в себя объем данных карты 81 для обновления, которые должны быть подвергнуты обработке обновления (т.е. данных 81 карты для обновления в секции-объекте обновления). В этом случае блок 31 определения емкости памяти для обработки предпочтительно определяет емкость памяти для обработки, соразмерную с объемом данных 81 карты для обновления, например.
(3) В вышеупомянутом варианте осуществления описан пример, в котором блок 32 определения емкости памяти для навигации определяет емкость памяти для навигации на основе типа прикладного процесса, который осуществляется. Однако настоящее изобретение не ограничивается этим вариантом осуществления. В другом предпочтительном варианте осуществления блок 32 определения емкости памяти для навигации может определять емкость памяти для навигации на основе количества прикладных процессов, которые осуществляются, или и типов и количества прикладных процессов, которые осуществляются. Когда емкость памяти для навигации определяется на основе количества прикладных процессов, которые осуществляются, то блок 32 определения емкости памяти для навигации может устанавливать предопределенную емкость памяти в качестве емкости памяти для навигации в соответствии с количеством прикладных процессов, которые осуществляются, например.
(4) В следующем предпочтительном варианте осуществления настоящего изобретения блок 32 определения емкости памяти для навигации определяет емкость памяти для навигации на основе содержимого обработки, исполняемой в качестве навигационной обработки, отличной от типов и количества прикладных процессов, которые осуществляются. Примеры содержимого обработки, исполняемой в качестве навигационной обработки, включают в себя объем справочных данных 71 карты, которые считываются из справочной базы данных 70 всеми прикладными процессами, которые осуществляются, и так далее, например. В этом случае блок 32 определения емкости памяти для навигации предпочтительно определяет емкость памяти для навигации, соразмерную с объемом считываемых справочных данных 71 карты.
(5) В вышеупомянутом варианте осуществления описан пример, в котором навигационное устройство 1, служащее системой обновления карты, включает в себя как блок 31 определения емкости памяти для обработки, так и блок 32 определения емкости памяти для навигации, и блок 33 определения емкости кэша определяет емкость кэша как на основе емкости памяти для обработки, так и на основе емкости памяти для навигации, определяемых посредством них. Однако настоящее изобретение не ограничивается этим вариантом осуществления. В другом предпочтительном варианте осуществления настоящего изобретения, когда память, используемая блоком 60 навигационной обработки, обеспечивается независимо от памяти 50, используемой для обработки обновления и т.п., например, система обновления карты не обязательно включает в себя блок 32 определения емкости памяти для навигации, и блок 33 определения емкости кэша может определять емкость кэша на основе емкости памяти для обработки, определяемой блоком 31 определения емкости памяти для обработки. В этом случае блок 33 определения емкости кэша предпочтительно устанавливает избыточную емкость памяти, определяемую на основе емкости, получаемой посредством вычитания емкости памяти для обработки из общей емкости памяти 50, в качестве емкости кэша.
(6) В следующем предпочтительном варианте осуществления настоящего изобретения, когда емкость памяти для обработки, требуемая для области для обработки обновления, не изменяется значительно в соответствии с содержимым данных карты, которые должны быть подвергнуты обработке обновления и т.п., например система обновления карты не обязательно включает в себя блок 31 определения емкости памяти для обработки, и блок 33 определения емкости кэша может определять емкость кэша на основе емкости памяти для навигации, определяемой блоком 32 определения емкости памяти для навигации. В этом случае блок 33 определения емкости кэша предпочтительно устанавливает избыточную емкость памяти, определяемую на основе емкости, получаемой посредством вычитания емкости памяти для навигации из общей емкости памяти 50, в качестве емкости кэша. В это время избыточная емкость памяти также предпочтительно определяется посредством вычитания емкости памяти для обработки, имеющей фиксированное значение, из общей емкости памяти 50.
(7) В вышеупомянутом варианте осуществления описан пример, в котором блок 40 обработки обновления подвергает данные 81 карты для обновления и справочные 71 данные карты обработке обновления последовательно в блоках секции P. Однако настоящее изобретение не ограничено этим вариантом осуществления, и может использоваться блок, отличный от секции P, в качестве блоков данных карты, подвергаемых обработке обновления. Следовательно, в другом предпочтительном варианте осуществления настоящего изобретения обработка обновления может выполняться в другом делимом блоке данных карты, например слое или типе данных.
(8) В вышеупомянутом варианте осуществления описан пример, в котором блок 22 сохранения в кэше удаляет ранее сохраненные данные в порядке (времени сохранения) при сохранении новых данных в области 51 кэша. Однако настоящее изобретение не ограничено этим вариантом осуществления, в другом предпочтительном варианте осуществления настоящего изобретения ранее сохраненные данные, которые считаны недавно, могут быть исключены из удаления, или данные, последнее время считывания которых является самым ранним, могут удаляться под контролем, например.
(9) В вышеупомянутом варианте осуществления описан пример, в котором навигационное устройство 1, служащее системой обновления карты, включает в себя базу данных 80 для локального хранения данных, хранящую данные 81 карты для обновления, которые обновляются данными для обновления, и справочную базу 70 данных, хранящую справочные данные 71 карты, к которым обращается блок 60 навигационной обработки. Однако настоящее изобретение не ограничивается этим вариантом осуществления. В другом предпочтительном варианте осуществления настоящего изобретения система обновления карты включает в себя одну базу данных карты для хранения данных карты, и данные карты, хранящиеся в этой одной базе данных карты, обновляются данными для обновления, например.
(10) В вышеупомянутом варианте осуществления описан пример, в котором система обновления карты согласно настоящему изобретению применяется к навигационному устройству 1, служащему терминальным устройством, установленным в транспортное средство. Однако настоящее изобретение не ограничено этим вариантом осуществления, и система обновления карты согласно настоящему изобретению может также быть применена к навигационному устройству, не установленному в транспортное средство, или к другой системе обновления базы данных карты для навигационного устройства.
Промышленная применимость
Настоящее изобретение может предпочтительно использоваться в системе обновления карты, которая включает в себя базу данных карты, хранящую данные карты, и выполняет обработку обновления базы данных карты после приема данных для обновления и в программе обновления карты для выполнения этого типа обработки обновления базы данных карты.