专利申请典型案例-权利要求书.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
权 利 要 求 书 1.一种基于共享内存池的通用数据存储方法,其步骤包括: 1)为目标应用申请一块共享内存,根据该目标应用要存储内容类别的不同将该共享内存 分为m 个内存块;其中,每一个内存块的头部存储该内存块的管理者结构,内存块剩 余空间分为n 个内存单元,在每一内存块中构建一个共享内存池; 2 )在每一内存块里构建两个双向循环链表,即空闲链表和繁忙链表;其中空闲链表用于 维护内存块的空闲内存单元,繁忙链表用于维护内存块的繁忙内存单元;初始化时所 有内存单元属于空闲链表,繁忙链表为空,管理者结构的空闲链表索引 iFree 指向当 前内存块的空闲链表头节点,繁忙链表索引iBusy 指向繁忙链表头节点索引; 3 )当该目标应用每次存储数据时,调用一次存储接口;在存储接口内根据待存储数据大 小从该共享内存中进行若干次内存单元申请直至本次数据存储完成,并将本次申请到 的内存单元形成单链表,将本次申请到的第一个内存单元作为首节点加入繁忙链表, 后续申请到的内存单元作为子节点,挂在首节点后形成单链表,将单链表中的节点通 过子索引串联起来。 2 .如权利要求 1 所述的方法,其特征在于,所述管理者结构记录当前内存块内存单元总数 totalNum 、空闲单元数freeNum、繁忙单元数busyNum 、空闲链表头索引iFree、繁忙链表 头索引iBusy 和内存块编号信息;每一所述内存单元中具有一内存单元结构,用于记录内 存单元在当前内存块中的索引值index 、内存单元的前驱节点索引pre 、内存单元的后继节 点索引next 、存储数据的key 值、key 值长度、数据内容、数据内容长度、写入时间、子 节点个数subCnt、节点子索引subIndex 以及子节点后继索引值subNextIndex ;节点子索引 subIndex 是指节点在单链表中的索引。 3 .如权利要求2 所述的方法,其特征在于,步骤3 )中,每次存储数据时,先根据待存储数 据大小和内存单元数据区大小计算此次存储所需内存单元数,如果所需内存单元数超过空 闲单元数,则此次申请失败;若申请的内存单元数小于或等于空闲单元数,则根据内存单 元的需求数量循环申请空闲单元,每次申请时直接取管理者结构空闲链表头索引iFree 指 向的节点,如果是存储接口第一次申请空闲单元,则将取到的节点插入到繁忙链表头索引 iBusy 指向的节点之前作为新的头节点;通过双向循环链表增删操作,使加入新单元的繁 忙链表和摘掉iFree 节点的空闲链表重新形成双向循环链表;如果存储接口不是第一次申 请空闲单元,则把申请到的内存单元依次挂到单链表首节点后面;每次申请空闲单元后修 改管理者结构的空闲单元数freeNum 减一,繁忙单元数busyNum 数量加一;然后向申请 到的内存单元写入数据key 值和key 长度,向数据区写入数据片段,如果当前所申请的内 存单元是此次申请所需的最后一个内存单元,则数据长度为剩余的数据长度,否则数据长 100001 1 2016.4 权 利 要 求 书 度为内存单元数据区长度。 4 .如权利要求3 所述的方法,其特征在于,存储数据时更新对应内存单元的内存单元结构的 子节点个数 subCnt 和子节点索引 subIndex,同时将内存单元的索引值记录到数组中,直 到申请完本次存储全部所需内存单元。 5 .如权利要求1 所述的方法,其特征在于,将内存块的编号作为该内存块对应的内存池编号, 各内存池共用信号量编号 semid ,将内存池编号作为对应内存池的信号量数组索引 sem_num 值。 6 .如权利要求1 所述的方法,其特征在于,当进行检索数据时,根据输入的内存块编号、key 值和查找顺序搜索繁忙链表,匹配到存储数据的首节点后,依靠该首节点中记录的后继节 点信息找到下一个数据片段的存储位置,再把不同片段连接起来返回。 7 .如权利要求1 所述的方法,其特征在于,通过一删除接口释放存内存单元,其方法为:首 先定位待释放内存单元对应的目标节点,然后找到要删除数据的首节点,然后逐个删除

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档