【QNX】pps开发指南(3):持久性

                                    第三章: 持久性

        PPS在运行时是在内存中维护它的对象的。如有需要,它将:

             (1)将其对象保存到持久存储中,可以在运行时按需保存,也可以在关闭时保存

             (2)在启动时恢复其对象,或者立即恢复,也可在第一次加载时(延迟加载)

     ( 注:PPS也可以用于创建很少(或从未)被发布或被订阅,但需要持久性的对象。“关机”指的是PPS服务器进程的有序退出。有序退出可以由SIGTERM、SIGINT或SIGQUIT触发。由于其他信号(例如SIGKILL、SIGSEGV和SIGABRT)不会导致有序退出,因此它们不会构成持久性目的的“关闭”。)


一:持久存储

        PPS支持跨重启的持久存储。这种存储需要可靠的文件系统。

        PPS使用的底层持久存储依赖于一个可靠的文件系统,例如:

        (1) disk — Power-Safe filesystem

        (2)NAND Flash — ETFS filesystem

        (3)Nor Flash — FFS3 filesystem

        (4)other — customer-generated filesystem

        如果需要将对象持久化到专用的硬件,比如小型NVRAM(不支持文件系统),那么可以创建自己的客户端,订阅要保存的PPS对象。在每个对象更改时,PPS将通知您的客户端,允许客户端实时更新NVRAM。

        持久性和文件系统的限制

        存储PPS对象的持久性目录使用与PPS根目录完全相同的目录层次结构。因此,对象持久性受到路径和文件名长度以及底层文件系统的目录嵌套限制的限制。

        例如,QNX Neutrino NFS服务器支持最大嵌套深度为15个级别。此限制也适用于使用此服务的PPS。


二:保存对象

       在关闭时,PPS总是将修改后的对象保存在一个持久的文件系统中。你还可以通过调用对象上的fsync()接口来强制PPS在任何时候保存对象。

       当PPS将其数据保存在持久文件系统中时,它将每个对象保存在自己的文件中,保存在复制PPS对象树的层次结构的目录层次结构中。例如,对于默认配置,PPS对象/ PPS /example/object1存储在/var/pps/example/object1.

       PPS目录的默认位置是/var/pps.可以使用PPS -p选项更改此位置.

      您 可以编辑PPS文件的持久版本。如果安全性对您的系统很重要,您应该让PPS将其数据保存在加密的文件系统中。

       您可以设置对象和属性限定符,使PPS不保存特定的对象或属性。

       为持久存储更改目录

       root PPS对象树(默认为/ PPS)看起来像这样:


      PPS从持久化树(默认情况下为/var/PPS)填充根对象树,其中存储您希望持久化的对象和属性。

       当需要要指定一个不同的目录作为持久存储时:

      (1)创建您自己的持久性目录(如mkdir /myobjects)。

      (2)从不同的挂载点(例如/fs/ PPS)启动PPS服务,并指定新的持久性目录:

               pps -m /fs/pps -p /myobjects


三:加载对象

       当PPS启动时,它会立即从持久文件系统上以已编码的文件名构建目录层次结构。

       在其默认配置中,PPS到第一次访问某个文件时才会延迟加载目录中的对象。访问对象可以通过对PPS对象的进行open()调用,也可以是对PPS目录的进行readdir()调用。

       您可以通过在启动时提供-l(“el”)选项来更改配置,以拥有PPS。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 225,124评论 6 523
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,453评论 3 404
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 172,386评论 0 368
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 61,136评论 1 301
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 70,142评论 6 400
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,593评论 1 315
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,958评论 3 429
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,944评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,477评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,512评论 3 346
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,639评论 1 355
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 37,227评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,971评论 3 340
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,397评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,550评论 1 277
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 50,203评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,713评论 2 366