发明名称 多线程元数据的处理方法
摘要 本发明公开了一种多线程元数据的处理方法,客户端分别将文件服务的元数据请求发送给元数据服务器,文件服务的数据请求发送给数据服务器;元数据服务器中的元数据服务进程控制多个文件服务线程对元数据请求进行处理。本发明对两类请求分别使用不同的服务器进行处理,提高了机群系统的可扩展性;简化了存储服务器的结构,增强了整个机群文件系统的稳定性和机群文件系统对读写操作的处理能力。本发明采用多线程处理元数据请求,提高了元数据服务器CPU的利用率,能够支持更多的客户端并发访问。本发明有效地解决了共享文件的处理问题,保证了共享文件元数据的一致性,提高了线程处理元数据请求的吞吐率。
申请公布号 CN100375093C 申请公布日期 2008.03.12
申请号 CN200510055299.1 申请日期 2005.03.18
申请人 联想(北京)有限公司 发明人 史小冬;宋冬梅;刘洋;肖利民
分类号 G06F17/30(2006.01);G06F9/46(2006.01) 主分类号 G06F17/30(2006.01)
代理机构 北京同立钧成知识产权代理有限公司 代理人 刘芳
主权项 1.一种多线程元数据的处理方法,其特征在于:当客户端发送文件服务请求时,分别将文件服务的元数据请求发送给元数据服务器,文件服务的数据请求发送给数据服务器;所述的元数据服务器中的元数据服务进程在创建所述多个文件服务线程时,同时建立一空闲文件服务线程队列,所述元数据服务进程控制多个文件服务线程对所接收的元数据请求进行处理;所述元数据服务进程控制多个文件服务线程的处理包括:步骤10:元数据服务进程检测是否接收到客户端发送的元数据请求;步骤11:如果没有,执行步骤10;否则启动一个处于空闲状态的文件服务线程对所述的元数据请求进行处理;执行步骤10;所述文件服务线程对所接收的元数据请求进行的处理包括:步骤20:根据所述元数据请求所对应的被处理文件的唯一编号,生成所述被处理文件的处理状态值;步骤21:察看在处理状态值存储区中是否保存有所述被处理文件的处理状态值,如果在处理状态值存储区中未保存有该处理状态值,则将该处理状态值存放到处理状态值存储区,建立元数据请求队列,用于保存当前被处理文件的后续元数据请求;否则执行步骤25;步骤22:根据当前被处理的元数据请求对所述的被处理文件进行相应的处理;步骤23:在完成对当前元数据请求的处理后,察看当前被处理文件的元数据请求队列中是否还有后续元数据请求,如果当前被处理文件的元数据请求队列中还有后续元数据请求,则向所述的元数据服务进程发起所述请求队列保存的所有后续元数据请求中最先保存的后续元数据请求;执行步骤26;步骤24;如果当前被处理文件的元数据请求队列中没有后续元数据请求,则从所述处理状态值存储区删除该被处理文件的处理状态值,执行步骤26;步骤25:将所述的元数据请求作为后续元数据请求保存到当前被处理文件的元数据请求队列中;步骤26:结束该文件服务线程,并向所述空闲文件服务线程队列中加入该文件服务线程。
地址 100085北京市海淀区上地信息产业基地创业路6号