数据库可重复读实现方法、装置及数据库管理系统的制作方法

文档序号:6610363阅读:281来源:国知局
专利名称:数据库可重复读实现方法、装置及数据库管理系统的制作方法
技术领域
本发明涉及数据库管理系统(DBMS),尤其涉及事务隔离级别,特别是 多事务并发执行时数据可重复读的实现方法、装置及应用其的数据库管理系 统。
背景技术
数据库管理系统中事务必须确保四种属性原子性,即事务中所有动作或 者全部执行或者全不执行; 一致性,即每个事务必须保持数据库的一致性;隔 离性,即每个事务的执行不受正在执行的其它事务的影响;持久性,即事务一 旦提交成功,所有对数据库的改变应能持久保存在存储介质上。设有事务T1、 T2,并发执行时可能存在三种冲突WR冲突,即T2可能 会读Tl刚修改过且未提交的数据,这样T2读入的数据是脏数据,称作"脏 读";RW冲突,即T2可能会修改刚被T1读入的数据且T1尚未结束,这样 如果T1再次读入同一对象,会有不同的值,也称"不可重复读";WW冲突, 即T2可能会覆写刚被T1修改过的值且T1尚未结束,这样会导致数据的不一 致性。串行调度可以保证数据的一致性,但不利于系统性能,因此SQL (Structured Query Language,结构化查询语言)标准中定义了四种隔离级别 可串行化读,这种隔离级别保证事务T只读其它已提交事务的修改,在T提 交之前,其它事务不得修改已被T读或修改的对象,并且,如果T基于某些 搜索条件读一组对象,在T完成之前,其它事务不得修改该组对象;可重复读, 这种隔离级别保证事务T只读其它已提交事务的修改,在T提交之前,其它 事务不得修改已被T读或修改的对象;提交读,这种隔离级别保证事务T只 读其它已提交事务的修改,在T提交之前,其它事务不得修改已被T修改的 对象;未提交读,这种隔离级别保证事务T只读其它已提交事务的修改。中国专利申请号为200310124201的对比文件公开了一种在数据库里快速 定位数据页中记录的方法,包括在数据页的末端设置一个目录结构,该目录
结构由一组记录偏移构成,记录偏移是某条记录在页里的位置偏移;该目录结构中的每个目录称之为d i r—s 1 o t,每个d i r—s 1 o t存放一个记录位置的偏移;采用快速二分法定位算法在d i r— S 1 O t中查找相关记录,在定位到某个d i r_s 1 o t后,根据该d i r—s 1 o t中存放的记 录偏移,顺序查找这相关的这一组记录,准确地定位到要找的那条记录。该方 法采用査询过程和本专利中查询过程类似,都需要从索引根节点开始,采用二 分査找定位到记录组,再遍历记录组,找到满足条件的记录,取得子节点,如 此重复重复直至到达叶子节点。但是,该专利中实现的隔离级别是可串行化读, 如果事务读到某条记录时,其它事务正在修改,则需要等待其它事务提交完成。
国际公开号为WO2004/025519 A2的对比文件也公开了一种相关方法,如 果当前记录的事务ID大于读视图中最大事务ID,说明记录是后来插入的,所 以该记录不可见,如果当前记录的事务ID小于读视图中最小事务ID或介于事 务列表中任意相邻两个事务ID之间,说明修改该记录的事务已提交,所以该 记录可见,这与本发明是--致的;但是遇到未提交事务修改的记录,该发明仅 将其标记为不可见而丢弃,本发明则是从记录中取出回滚指针,解码回滚指针 获得撤销日志的地址,从而由撤销日志构造出一条读视图看得见的记录。
总之,目前的数据库管理系统都允许多用户、多事务并发执行,因此不可 避免会遇到上述三种冲突。解决冲突最简单的方法是采用锁机制,读或写之前 先对表加意向共享锁或意向排它锁、对记录加共享锁或排它锁,但这样损害了 事务的并发性,牺牲了系统性能。

发明内容
本发明所要解决的技术问题在于,提供一种高效率的数据库可重复读的实 现方法、装置及应用其的数据库管理系统,可以增大事务并发性,提高系统性 能。
为了实现上述目的,本发明提供了一种数据库可重复读实现方法,用于一 种多用户、多事务并发的数据库管理系统,所述系统维护一事务列表、 一回滚 段及一索引树,该方法包括步骤一,在遍历所述系统维护的事务列表时利用索引快速定位到满足条件 的页,其中,所述事务列表,用于保存当前正在并发执行且未提交的事务;
步骤二,遍历页记录时检查当前事务是否看得见当前记录,如果看得见, 则将当前记录加入到结果集中,如果看不见则利用所述系统维护的回滚段中的 撤销日志,构造出该记录的原始版本并添加到结果集中,其中所述回滚段用于 记录事务所做的修改。上述数据库可重复读实现方法,所述系统维护一个回滚段的步骤,进一步 包括步骤11,所述系统在磁盘上生成回滚段日志文件,同时在高速缓存中保 存相应页,并使每次插入一撤销日志仅针对所述高速缓存中的页; 步骤12,定期清理所述高速缓存中旧的撤销日志; 步骤13,定期将所述高速缓存中的页存在到磁盘文件中。 上述数据库可重复读实现方法,所述回滚段的内存结构信息包括回滚段 ID、表空间ID、页号。上述数据库可重复读实现方法,所述系统每次启动一个事务,将该事务信 息插入到所述事务列表中;每次事务提交或回滚,将该事务从所述事务列表中删除,以实现所述事务列表中只保存未提交事务。上述数据库可重复读实现方法,所述事务信息包括事务ID、事务类型、 指向事务列表中前后节点的指针、撤销号、分配给事务的回滚段、插入撤销指 针、更新撤销指针、读视图指针。上述数据库可重复读实现方法,所述检查当前事务是否看得见当前记录 时,需要在查询节点中保存读视图结构,该读视图结构保存当前事务执行时系统中并发执行的其它事务ID、最大事务ID和最小事务ID,同时保存所述撤销 日志清理相关信息,如果修改记录的事务ID小于所述事务列表看中的最小事 务ID,则当前事务看得见当前记录;如果修改记录的事务ID大于事务列表中 的最大事务ID,则当前事务看不见当前记录;如果修改记录的事务ID等于事 务列表中任一事务ID,则当前事务看不见当前记录。上述数据库可重复读实现方法,所述系统维护一索引树的步骤,进一步包括步骤21,接收到査询请求后,从索引树的根节点开始沿着索引树定位到 页节点;步骤22,定位到页节点后开始构造结果集; 步骤23,遍历页中所有记录,检查当前事务中的事务ID,遍历所述读视图 中的事务列表,查看所述读视图是否看得见当前记录,如看得见,则将当前记 录加入到结果集中,如看不见,则从记录中取出回滚指针,从所述回滚指针中 解码出所述撤销日志在所述回滚段中的位置,然后从该回滚段中取出相关数据构造出前一次版本,并添加到结果集中;步骤24,获取到所述前一个版本,检查所述读视图是否看的见该版本记 录,如果看不见,再构造更前一次的版本,如此重复,直至所述读视图看得见 某版本记录为止,将该版本记录加入到所述结果集中;步骤25,检查是否有下一条记录,如果有,重复执行步骤23 24,直至遍 历完数据页链表,如果没有,本次査询结束。上述数据库可重复读实现方法,所述步骤21进一歩包括步骤211,检査所述根节点是否在高速缓存中,如在,执行步骤212;如 不在,将所述根节点换入所述高速缓存中,执行步骤212;步骤212,检查当前节点是否是叶子节点,如不是,采用二分查找定位到 满足查询条件的索引项;步骤213,沿着所述索引项中指针定位到子节点,循环执行歩骤212直至 定位到所述页节点。上述数据库可重复读实现方法,所述记录中包含回滚指针,该回滚指针中 编码了回滚ID、回滚段表空间ID、页号、页内偏移、回滚类型。上述数据库可重复读实现方法,在所述歩骤ll中,所述日志文件分为若 干大小相等的页,所述页中存储所述撤销日志,所述撤销日志中包含撤销类 型、撤销号、表ID、各字段值,任何插入、修改、删除操作均生成一条撤销 曰志。进一步的,本发明还提供了一种应用上述数据库可重复i卖实现方法的实现 装置,用于一种多用户、多事务并发的数据库管理系统,所述装置包括一事务列表维护模块,用于维护一个事务列表,其中所述事务列表用于保 存当前正在并发执行且未提交的事务;一回滚段维护模块,用于维护一个回滚段,其中所述回滚段用于记录事务 所做的修改;一索引树维护模块,用于在执行查询操作时,遍历所述事务列表利用索引 快速定位到满足条件的页,遍历页记录时检査当前事务是否看得见当前记录, 如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述回滚段中 的撤销日志,构造出该记录的原始版本并添加到结果集中。更进一步的,本发明还提供了一种应用上述方法和装置的数据库管理系 统,包括一数据库可重复读实现装置,该装置包括一事务列表维护模块,用于维护一个事务列表,其中所述事务列表用于保 存当前正在并发执行且未提交的事务;一回滚段维护模块,用于维护一个回滚段,其中所述回滚段用于记录事务 所做的修改;一索引树维护模块,用于在执行査询操作时,遍历所述事务列表利用索引 快速定位到满足条件的页,遍历页记录时检査当前事务是否看得见当前记录, 如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述回滚段中 的撤销日志,构造出该记录的原始版本并添加到结果集中。与现有技术相比,本发明提供的数据库可重复读实现方法,数据库管理系 统对数据做修改会在回滚段中记录撤销日志,以便系统"回滚"。为了实现可 重复读,本发明也利用撤销日志保存了原始数据,如果当前读视图"看不见" 当前记录时,则从撤销日志中构建原始版本添加到结果集中,保证了一个事务 査看相同的信息不会看到两个不同的版本,即如果一个事务在某个时刻读了一 条记录,接下来自己如果没有修改,再读该记录应该得到同样的值,不管有没 有其它事务修改过该记录。因此,本发明的应用增大了事务并发性,有效的提高了系统性能。


图1为本发明数据库可重复读的实现方法流程图; 图2为本发明的一实施例可重复读查询过程图; 图3为本发明的B-树聚集索引结构图; 图4为本发明数据库可重复读实现装置示意框图。
具体实施方式
下面结合附图和具体实施例详细描述本发明,以更进一步了解本发明 之目的、方案及功效,但并非作为对本发明所附权利要求保护范围的限制。参考图l,详细说明本发明数据库可重复读的实现方法,该方法用于一种多用户、多事务并发的数据库管理系统,其中,该系统维护一回滚段, 一索引树, 一事务列表和一读视图结构。该数据库可重复读的实现方法包括步骤SIO,在遍历所述系统维护的事务列表时利用索引快速定位到满足条 件的页,其中,所述事务列表,用于保存当前正在并发执行且未提交的事务;步骤S20,遍历页记录时检查当前事务是否看得见当前记录,如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述系统维护的回滚段中的 撤销日志,构造出该记录的原始版本并添加到结果集中,其中所述回滚段用于 记录事务所做的修改。在所述系统维护一个回滚段的步骤中系统在磁盘上生成回滚段日志文 件,同时在高速缓存中保存相应页,并使每次插入一撤销日志仅针对所述高速 缓存中的页;为保证系统故障重启时,可以恢复到最新状态,系统要定期清理所述高速缓存中旧的撤销日志,并定期将所述高速缓存中的页存在到磁盘文件 中。所述回滚段对应磁盘上的一个日志文件,文件划分为若干大小相等的页,页中存储撤销日志,撤销日志中包含了撤销类型、撤销号、表ID、各字段值 等信息。任何插入、修改、删除操作均生成一条撤销日志,同时将回滚段ID、页号、页内偏移等信息编码成回滚指针,同时将回滚指针保存在记录中。在所述系统维护一棵索引树的步骤进一步包括步骤S201,系统接收到査询请求后,从索引树的根节点开始沿着索引树 定位到页节点;步骤S202,定位到页节点后开始构造结果集;步骤S203,遍历页中所有记录,检査当前事务中的事务ID,遍历读视图中 的事务列表,査看所述读视图是否看得见当前记录,如看得见,则将当前记录 加入到结果集中,如看不见,则从记录中取出回滚指针,从回滚指针中解码出 撤销日志在回滚段中的位置,然后从该回滚段中取出相关数据构造出前一次版 本,并添加到结果集中;步骤S204,获取到所述前一个版本,检査读视图是否看的见该版本记录,
如果看不见,再构造更前一次的版本,如此重复,直至读视图看得见某版本记 录为止,将该版本记录加入到结果集中;步骤S205,检査是否有下一条记录,如果有,重复执行步骤S203 S204, 直至遍历完数据页链表,如果没有,本次查询结束。 上述步骤S201进一步包括歩骤S211,检查所述根节点是否在高速缓存中,如在,执行步骤S212; 如不在,将所述根节点换入所述高速缓存中,执行步骤S212;步骤S212,检查当前节点是否是叶子节点,如不是,采用二分查找定位 到满足查询条件的索引项;歩骤S213,沿着所述索引项中指针定位到子节点,循环执行步骤S212直 至定位到所述页节点。在所述系统维护一个事务列表的步骤中,事务列表记录当前事务执行时系 统中并发执行的其它事务,按照后来者插入到队头的原则插入,同时分配一个 读视图结构,该结构保存当前事务执行时系统中并发执行的其它事务的ID以 及最大事务ID、最小事务ID,同时保存撤销日志清理相关信息。系统每次启 动一个事务,将事务插入到事务列表中;每次事务提交或回滚,都从事务列表 中删除相应的事务,保证事务列表中只保存未提交事务。其中,事务信息包括 事务ID、事务类型、指向事务列表中前后节点的指针、撤销号、分配给事务 的回滚段、插入(insert)撤销指针、更新(update)撤销指针、读视图指针 等。在上述步骤S202中,每次收到客户端请求,生成一个事务,构造出结果 集,返回给客户端。最后结束本次事务,释放本次事务所分配的资源。在上述步骤S203中,检查当前事务是否看得见当前记录中,如果修改记 录的事务ID小于事务列表中最小事务ID,则当前事务看得见当前记录,因为 读时修改记录的事务已提交;如果修改记录的事务ID大于事务列表中最大事 务ID,说明修改记录的是某个后来发生的事务,所以当前事务不应该看得见 当前记录;如果修改记录的事务ID等于事务列表中任一事务ID,说明修改记 录的是某个未提交事务,所以当前事务不应该看得见当前记录。图2为本发明的一实施例可重复读査询过程图,这里描述了其中可能的一 种情况,即用户没有建普通索引。下面介绍其流程
步骤S301,监听线程接收査询请求,并分配一工作线程处理査询请求。步骤S302,工作线程执行查询分析和査询优化,生成执行计划。步骤S303,工作线程取出査询所用的聚集索引,首先定位到聚集索引的 根节点,检査根节点是否在高速缓存中,如果不在则将其换入。步骤S304,工作线程检查当前节点是否是叶子节点,如果不是,则采用 二分查找,定位出满足条件的记录组,然后在记录组中遍历记录,取得满足条 件的记录,然后取出子节点,如此重复,直至定位到页节点;如果是叶节点, 则从步骤S305继续执行。步骤S305,工作线程取出当前页的下一条记录(如果是第一次访问本页, 则定位到首记录),并检査读视图是否看得见当前记录,如果看得见,则将记 录加入到结果集中。如果看不见,则从当前记录中取出回滚指针,从回滚指针 解码出撤销日志的地址,然后读出撤销日志,并从撤销日志构造出前一次版本, 再检查读视图是否看得见该版本记录,如此重复,直至读视图看得见某个版本 的记录。检查是否有下一条记录(如果本页记录已遍历完,则取下一页),如 果有,则重复步骤S305,直至遍历完所有记录;如果没有,执行步骤S306。步骤S306,本次査询结束,返回结果集。图3为B-树聚集索引结构示意图,索引由页节点构造成树,页节点分为 索引页和数据页。索引页中存放数据项,数据项由索引键和指向子节点的指针 组成,每若干条索引项构成一组,便于快速査找,数据页中存放实际的数据, 数据按照索引键有序存放,记录中包含每个字段的偏移、标记信息(字段偏移 是一字节还是二字节、记录是否被删除、记录字段数、下一记录偏移等)、字 段值。参考图4,本发明还提供了一种应用上述数据库可重复读实现方法的实现 装置400,用于一种多用户、多事务并发的数据库管理系统4,所述装置包括一事务列表维护模块401,用于维护一个事务列表,其中所述事务列表用 于保存当前正在并发执行且未提交的事务; 一回滚段维护模块402,用于维护 一个回滚段,其中所述回滚段用于记录事务所做的修改; 一索引树维护模块 403,用于在执行査询操作时,遍历所述事务列表利用索引快速定位到满足条 件的页,遍历页记录时检査当前事务是否看得见当前记录,如果看得见,则将 当前记录加入到结果集中,如果看不见则利用所述回滚段中的撤销日志,构造
出该记录的原始版本并添加到结果集中。所述回滚段中记录撤销日志,撤销曰 志中包含了撤销类型、撤销号、表ID、各字段值等信息。任何插入、修改、 删除操作均生成一条撤销日志,同时将回滚段ID、页号、页内偏移等信息编 码成回滚指针,同时将回滚指针保存在记录中。本发明为了实现可重复读,数据库管理系统对数据做修改会在回滚段中记 录撤销日志,以便系统回滚,撤销日志中保存了原始数据,如果当前读视图看 不见当前记录时,则从撤销日志中构建原始版本添加到结果集中,从而保证了 一个事务查看相同的信息不会看到两个不同的版本,即如果一个事务在某个时 刻读了一条记录,接下来自己如果没有修改,再读该记录应该得到同样的值, 不管有没有其它事务修改过该记录。采用这种方法,有效的提升了系统性能,当然在一定程度上牺牲了数据正 确性,但对有些事务,这是可以接受的。在数据正确性和事务并发程度上做权 衡,隔离级别越高,数据正确性越高,但性能也越差。虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,在 不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明 作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的 权利要求的保护范围。
权利要求
1、一种数据库可重复读实现方法,用于一种多用户、多事务并发的数据库管理系统,所述系统维护一事务列表、一回滚段及一索引树,特征在于,该方法包括步骤一,在遍历所述系统维护的事务列表时利用索引快速定位到满足条件的页,其中,所述事务列表,用于保存当前正在并发执行且未提交的事务;步骤二,遍历页记录时检查当前事务是否看得见当前记录,如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述系统维护的回滚段中的撤销日志,构造出该记录的原始版本并添加到结果集中,其中所述回滚段用于记录事务所做的修改。
2、 根据权利要求1所述的数据库可重复读实现方法,其特征在于,所述 系统维护一个回滚段的步骤,进一步包括步骤11,所述系统在磁盘上生成回滚段日志文件,同时在高速缓存中保 存相应页,并使每次插入一撤销日志仅针对所述高速缓存中的页; 步骤12,定期清理所述高速缓存中旧的撤销日志; 步骤13,定期将所述高速缓存中的页存在到磁盘文件中。
3、 根据权利要求1所述的数据库可重复读实现方法,其特征在于,所述 回滚段的内存结构信息包括回滚段ID、表空间ID、页号。
4、 根据权利要求1所述的数据库可重复读实现方法,其特征在于,所述 系统每次启动一个事务,将该事务信息插入到所述事务列表中;每次事务提交 或回滚,将该事务从所述事务列表中删除,以实现所述事务列表中只保存未提 交事务。
5、 根据权利要求4所述的数据库可重复读实现方法,其特征在于,所述 事务信息包括事务ID、事务类型、指向事务列表中前后节点的指针、撤销 号、分配给事务的回滚段、插入撤销指针、更新撤销指针、读视图指针。
6、 根据权利要求1所述的数据库可重复读实现方法,其特征在于,所述 检查当前事务是否看得见当前记录时,需要在查询节点中保存读视图结构,该 读视图结构保存当前事务执行时系统中并发执行的其它事务ID、最大事务ID 和最小事务ID,同时保存所述撤销日志清理相关信息,如果修改记录的事务ID 小于所述事务列表看中的最小事务ID,则当前事务看得见当前记录;如果修 改记录的事务ID大于事务列表中的最大事务ID,则当前事务看不见当前记录; 如果修改记录的事务ID等于事务列表中任一事务ID,则当前事务看不见当前 记录。
7、 根据权利要求1所述的数据库可重复读实现方法,其特征在于,所述系统维护一索引树的步骤,进一步包括步骤21,接收到査询请求后,从索引树的根节点开始沿着索引树定位到 页节点;歩骤22,定位到页节点后开始构造结果集;歩骤23,遍历页中所有记录,检査当前事务中的事务ID,遍历所述读视图 中的事务列表,査看所述读视图是否看得见当前记录,如看得见,则将当前记 录加入到结果集中,如看不见,则从记录中取出回滚指针,从所述回滚指针中 解码出所述撤销日志在所述回滚段中的位置,然后从该回滚段中取出相关数据 构造出前一次版本,并添加到结果集中;步骤24,获取到所述前一个版本,检査所述读视图是否看的见该版本记 录,如果看不见,再构造更前一次的版本,如此重复,直至所述读视图看得见 某版本记录为止,将该版本记录加入到所述结果集中;歩骤25,检查是否有下一条记录,如果有,重复执行步骤23 24,直至遍 历完数据页链表,如果没有,本次查询结束。
8、 根据权利要求7所述的数据库可重复读实现方法,其特征在于,所述 步骤21进一步包括步骤211,检査所述根节点是否在高速缓存中,如在,执行步骤212;如 不在,将所述根节点换入所述高速缓存中,执行步骤212;步骤212,检査当前节点是否是叶子节点,如不是,采用二分査找定位到 满足査询条件的索引项;步骤213,沿着所述索引项中指针定位到子节点,循环执行步骤212直至 定位到所述页节点。
9、 根据权利要求7所述的数据库可重复读实现方法,其特征在于,所述 记录中包含回滚指针,该回滚指针中编码了回滚ID、回滚段表空间ID、页号、 页内偏移、回滚类型。
10、 根据权利要求2所述的数据库可重复读实现方法,其特征在于,在所 述歩骤11中,所述日志文件分为若干大小相等的页,所述页中存储所述撤销 日志,所述撤销日志中包含撤销类型、撤销号、表ID、各字段值,任何插 入、修改、删除操作均生成一条撤销曰志。
11、 一种应用上述权利要求1 10中任一项所述的数据库可重复读实现方 法的实现装置,用于一种多用户、多事务并发的数据库管理系统,其特征在于, 所述装置包括一事务列表维护模块,用于维护一个事务列表,其中所述事务列表用于保 存当前正在并发执行且未提交的事务;一回滚段维护模块,用于维护一个回滚段,其中所述回滚段用于记录事务 所做的修改;一索引树维护模块,用于在执行査询操作时,遍历所述事务列表利用索引 快速定位到满足条件的页,遍历页记录时检查当前事务是否看得见当前记录, 如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述回滚段中 的撤销日志,构造出该记录的原始版本并添加到结果集中。
12、 一种应用权利要求11所述的装置的数据库管理系统,包括一数据库 可重复读实现装置,其特征在于,该装置包括一事务列表维护模块,用于维护一个事务列表,其中所述事务列表用于保存当前正在并发执行且未提交的事务;一回滚段维护模块,用于维护一个回滚段,其中所述回滚段用于记录事务所做的修改;一索引树维护模块,用于在执行査询操作时,遍历所述事务列表利用索引 快速定位到满足条件的页,遍历页记录时检查当前事务是否看得见当前记录, 如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述回滚段中 的撤销日志,构造出该记录的原始版本并添加到结果集中。
全文摘要
本发明公开了一种数据库可重复读实现方法,用于一种多用户、多事务并发的数据库管理系统,所述系统维护一事务列表、一回滚段及一索引树,该方法包括步骤一,在遍历所述系统维护的事务列表时利用索引快速定位到满足条件的页,其中,所述事务列表,用于保存当前正在并发执行且未提交的事务;步骤二,遍历页记录时检查当前事务是否看得见当前记录,如果看得见,则将当前记录加入到结果集中,如果看不见则利用所述系统维护的回滚段中的撤销日志,构造出该记录的原始版本并添加到结果集中,其中所述回滚段用于记录事务所做的修改。本发明还公开了一种应用上述方法的实现装置,及一种应用所述方法和装置的数据库管理系统。
文档编号G06F17/30GK101127045SQ20071012241
公开日2008年2月20日 申请日期2007年9月25日 优先权日2007年9月25日
发明者卢勤元, 印和平, 常二鹏, 李世亮 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1