Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
HIGH EFFICIENT READING AND WRITING METHOD OF FIRST IN FIRST OUT DATA POOL
Document Type and Number:
WIPO Patent Application WO/2011/015022
Kind Code:
A1
Abstract:
A high efficient reading and writing method of a first in first out (FIFO) data pool includes: comprising steps to write data: step 1, establishing one data buffer pool, wherein, the buffer pool is several buffer blocks divided from the buffer, the data is written in a buffer block from the header, management data is established at the end, a cyclic linked list is comprised of the buffer blocks; step 2, when a user requests a buffer with size of buffer.len, deciding whether the present buffer block meets a condition according to order of the linked list, if yes, performing step 3, otherwise, performing step 4; step 3: writing data into the present buffer block which meets the condition, establishing corresponding management data at the end of the buffer block, the management data occupies byte number with fixed size; step4: continuing to decide whether next buffer block meets the condition, if yes, performing the step 3, otherwise continuing to decide whether next buffer block meets the condition, until when all buffer block don't meet the condition, then ending.

Inventors:
TANG MIN (CN)
Application Number:
PCT/CN2009/076292
Publication Date:
February 10, 2011
Filing Date:
December 30, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHENZHEN TEMOBI SCI & TECH DEV (CN)
TANG MIN (CN)
International Classes:
G06F12/08
Foreign References:
CN1740975A2006-03-01
CN1936859A2007-03-28
US7330956B12008-02-12
US7555579B22009-06-30
CN101673246A2010-03-17
Attorney, Agent or Firm:
SHENZHEN STANDARD PATENT & TRADEMARK AGENT LTD. (CN)
深圳市顺天达专利商标代理有限公司 (CN)
Download PDF:
Claims:
要求

Ca 1、 高 的先 先 方法 其特 在于

包括如下步驟

步驟一、 建立一介 內 內 是 內存中 若干內 內 由 由尾部建立管理數 由 內 成一介

步驟二、 用戶 清大小 b e.e 的內 依 順序判斷 前內 是否滿足余 是則 步驟 否則 步驟 步驟三、 向 滿足余 的 前內 b e.e 在 內 尾部建立相 的管理數 管理數 占用固定大小的 字

步驟 、 判斷下一介內 是否滿足余 是則 步驟 否則 判斷下一介內 是否滿足余 直到所有內 均 不滿足余 。

Ca 2 2、 要求1 的高 的先 先 方法 其特 在于 步驟一中內 由4 不 的內 其中 內 的大小 64 。

Ca 3] 3、 要求 的高 的先 先 方法 其特 在于 管理數 占用4 通 地址 w pos 向管理數 的位置 其中w pos包括2字市 于 汞 的 量的 w pos Pos)和 于 汞 的 w pos (e ) Ca 4 4、 要求3 的高 的先 先 方法 其特 在于 步驟 中判斷內 是否滿足余 的 如下 如果 (b e.e <64 (w pos Pos)+W pos (e ) ) 4可以 否則 不可以 。

Ca 5] 5、 要求1 的高 的先 先 方法 其特 在于 步驟 中 在 前內 需要再 同 先判斷 前內 是否滿足余 。

Ca 6] 6、 要求3 的高 的先 先 方法 其特 在于

淺出 地址 _pos 向管理數 的位置 其中_p s包 括字市 于 汞淺出 的 量的 _pos Pos)和 于 汞淺出 的 _pos (e )

Ca 7] 7、 要求3 的高 的先 先 方法 其特 在于 所述步驟一中內 由4 的內 其中 內 的大小可以自 又。

Description:
T e O ve o 高 的先 先 方法 領域

本 涉及 領域 尤其是一 高 的先 先 算法。

背景 水

□ 在 上升 休 用程序 我們 合遇到一介 那就是內 的 和釋放的 頻繁的 和釋放內 合 出現內 碎片 而增加 不 定因素。

3] 、 A等 終端的 非常 由于 終端的貨源的限制 且內 使用頻率很高 如何 頻繁 和釋放內 的 而提高手 等內 受限 上 用的 定性 是人們一直 的 。

4] 目前 于 、 A等 終端的內 分配方法主要有 是固定 度的內 分配策略 另一 是可 度的內 分配策略。

5] 于固定 度的內 分配策略 方法是先把內 分力 又 分力大小相等的內 例如第一介 的內 32 第二 的內 64 等 用戶 一定大小的內 各 內 找到不小于一定大小的 內 所在的 中提取一介內 分配 用戶 用戶釋放內 再 將 內 其所在的 。 方法的 是 如果滿足余 內 的內 用完 則內 。 即使其它 有更大的內 也不合分配 用戶。 使得內 得不到充分利用而造成浪費。

6] 于可 的內 分配策略 方法將 的內 以 表的形式排列 用 戶 一定大小的內 就 表的 搜索 內 若 內 小于一定大小 則 搜索 直到找到足 大小的 內 分配 用戶 用戶釋放內 就將釋放的內 放在 表的尾部。 方法有明 的 。 由于在 、 A等終端中 內 的分配 釋放非常頻繁 而且存在大量 小內 的分配。 使用 方法 一段 同的污 小 內 將散布在 內 必然 生大量的內 碎片 然 有很多 余內 用戶 即 不到 造成內 浪費 甚至 崩潰。

7] 于此 有必要提出一 的方法以克服現有 水的缺陷。

內容

8] 本 所要 的 水河 在于克服現有 水中頻繁的 和釋放內 合

出現內 碎片的 。

9] 本 提供 高 的先 先 方法 其特 在于 包 括如下步驟

10] 步驟一、 建立一介 內 內 是 內存中 若干內 內 由 由尾部建立管理數 由內 成一介

11] 步驟二、 用戶 清大小 b e.e 的內 依 順序判斷 前內 是 否滿足余 是則 步驟 否則 步驟

12] 步驟三、 向 滿足余 的 前內 b e.e 在 內 尾部建 立相 的管理數 管理數 占用固定大小的字

13] 步驟 、 判斷下一介內 是否滿足余 是則 步驟 否則 判 斷下一介內 是否滿足余 直到所有內 均不滿足余 。

14] 算法我們 的解 頻繁 和釋放內 的 而提高手 等內 受限 上 用的 定性 15] 1力本 內 的示意

16] 2力本內 A 的 示意

17] 3 中第一 往第一介內 A 1000 20 的示意18] 4 內 A第二 1600 的數 40 的示意

19] 5力本 方法流程 。

休 方式

20] 合 1至 5 明本 休 。

21] 1所示 首先建立一介內 100 內 由4 內 b _bo c )A、 B、 C、 其中 內 容量均力64 然 將 4 64 的內 b _boc ) 成一介 的 其中 各 內 內部是 的64 內 而 A、 B、 C、 之同可以 也可以不 。 如下方先建立一些 的 C晤言 令

22] S c b _boc /*內

23]

24] S c b _boc ex /* 向下一介內

25] pos 操作管理數 地址

26] pos 操作管理數 地址

27] }

28] S c b _poo *內

29]

30] S c b _boc Sa 內 化

S c b _boc * boc 內 淺出

32] S c b _boc W boc /*內

33] }

34] 1中內 A所示 建立的內 A容量力64 b 內 的起始位置

(或者 是 部位置) 始存儲 而在 存儲 的同 在內 A的 尾部分 4 的 同 于管理數 管理數 出所 存儲 的存 儲的 和存儲 的 直到內 A內 容量不能滿足需求 例如 第 一 存儲 在內 A的 部位置 分配存儲 同 于存儲第 一數 而在內 A的尾部分 4 同 于存儲第一數 管理數 在第 二 存儲 第一 存儲 同的末尾作力第二 存儲 的起始位 置 在內 A的尾部仍然 4 同 于存儲第一管理數 和第二管理 數 。 同 內 B、 C、 每一 存儲 同 也分別在內 的尾 部分 4 的 同 于管理數 。 尋找內 的順序依照 順序 即A C A A滿足內 需求 A 如果A不滿足則看B是 否滿足 如果是 則 B 依 。

35] 吹向b _boc 入儲存 的大小都不一致 所以我們 汞 存儲 的大小 在 我們利用 b boc 的尾部作力 反向 即 內 的尾部 保存管理數 管理數 保存 內 的大小和保 存的位置我們將 反向 你力管理數 反向 的 你力管 理數 的 管理數 的 即上 所占用的4 字 。

36] 以下先 往 的

37] 參照 1 的 100包含的內 A、 B、 C、 的 同 全部力空 b _poo- _boc b _poo- w b>c b _poo >sa 即 內 A內的 和 都 化。 此 內 b _boc 的w p s和 pos都 0。

38] 在 前 我們先 判斷 的 前內 A的數 大 b e.e 判 斷方法如下

39] (b e.e <64 (w pos (pos) +W pos (e ) )-4) ( )

40] 可以

41] Ese

42] 不可以

43] 其中w pos 操作 的管理數 4 包括 2 于 汞 w pos ( os) 和2 于 汞 w pos (e ) W pos ( pos) +W pos (e ) 的是將 和數 相加。

44] 更好地稅 的 如 2所示 第一 往 b _poo1中 我們找到第一介b _b c 即內 A 內 的w pos _pos 0所措 位置均是內 A尾部的起始位置 中10是 pos所措位置 102是w pos所措 位置 b _b c是新的 先通 公式 (1) 先判斷內 A的

w pos w pos (Pos) w pos

(e ) 都 0 因此第一 存入 b e e 滿足的余 是

45] b e.e <64 (w pos (pos) +W pos (e ) ) 4

46] b e.e <64 0+0)

47] 我們在64 W pos 4的地方 汞存入 存放的 起始位置 (或者 是 起始位置) 和 。 存入 存放的 即 存入 在內 中

0 同 w pos將 4 即 4 pos 是0。 48] 3所示 內 A第一 1000 的數 20 的示意 。 由于是 操作 因此的 操作管理數 pos不 101所示仍然 0 而 操作管理數 w pos地址10 4 此 管理數 30包括字市 于 汞 w pos ( os) 301 量力0 和2 于 汞 w pos (e ) 302 1000。 另外 201是 20的起始位置 即w pos ( os) 301所 措的 202是 20的 位置。

49] 在上 第一 第二 1600 依然是依 公式 (1) 先判斷內 A 不 同 即如果64 的 占用的 同 即w pos所措 的w pos (Pos) +W pos (e ) 此 w pos (Pos) 0 W pos (e ) 1000 再 管理數 需要占用的 同4 如果大于第二

則 可以 否則直接跳到下一介b _boc 中 。 第二 判斷余 如下

50] b e.e <64 0+1000) 4

51] 由于第二 的數 大小 1600<64 0+1000) 4 因此可以 。

52] 4所示 內 A第二 1600 的數 40 的示意 。 由于是 操作 因此的 操作管理數 pos不 101所示仍然 0 而 操作管理數 w pos地址102再 4 8 此 管理數 50包括2字市 于 汞 w po s ( os) 301 量力1000 和2 于 汞 w pos (e ) 302 1600。 另外 202是第一 20的 位置同 是 第二 40的起始位置 即w pos ( os) 501所措的 。 此 建立 管理數 30和50 管理數 30和50只 4 但w pos的值 8 即 向第二 管理數 。

53] 以后第三 的判斷余 如下

54] b e.e <64 (w pos (pos) +W pos (e ) ) 4

55] b e.e <64 1000+6000) 4

56] 依 直到內 A不能存入 則依 內 B、 C、

內 A 不再 。

57] 和 相反 需要先找到 前的b _boc 即b _poo > b oc 然 淺出 pos的值 第一 pos的值 0 我們 64 4的位 置 pos和e 參照 1 我們淺出的pos 0 e 000 即告 我們 內 的 量力0的地方 100 bye即可 同 pos由0 4 第二 pos的值 4 我們 64 4的位置 pos Pos)和「 pos e ) 參照 4 我們淺出的 pos Pos) 1000 pos e ) 1600 即告 我們 內 的 量力1000的地方 1600 bye即可 同 pos由4 8 依此

58] 上 可以看出本 用的是一 先 先出的數 方法。 以上 步驟一中內 可以由4 的內 其中 內 的大小可以自 又。

59] 由此我們看出 算法很巧妙的利用b _b c 的尾部的的內存空同 保存 b e的位置和 而省去 頻繁 和釋放內 的工作 加強 的 定性。

60] 以上 力本 的較佳 而已 不用以限制本 凡在本 的 精神和原則之內所作的任何修改、 等同替換和 等 包含在本 的保 之內。