数据指令处理方法、装置及系统的制作方法_2

文档序号:9887308阅读:来源:国知局
,压缩进程启动了用于存储压缩指令的压缩任务队列,并将调度系统发送的数据压缩指令存储于压缩任务队列中,以供单机存储引擎中的线程从压缩任务队列中读取数据压缩指令。
[0041]此外,数据读写进程用于对调度系统发送的数据读写指令进行处理,并将数据读写指令存储至数据读写进程启动地读写任务队列中。
[0042]步骤S203,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。
[0043]在本发明实施例中,单机存储引擎包括:Level DB,Rocks DB、和/或SSDB,这三种单机存储引擎支持数据在线压缩,也就是说,可以同时进行数据的读写和数据压缩,不影响分布式数据存储系统的业务服务。
[0044]单机存储引擎支持多线程处理数据操作指令,也就是说,单机存储引擎中的线程可以并发地从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令,使得单机存储引擎可以同时对多个数据读写指令和/或数据压缩指令进行处理,从而及时处理掉数据读写指令和数据压缩指令,避免造成阻塞。
[0045]在单机存储引擎对数据压缩指令处理过程中,调度系统可能会再次发送数据压缩指令,也就是说,再次接收到调度系统发送的一个或多个数据压缩指令,则另行创建一个或多个压缩进程分别用于处理一个或多个数据压缩指令,即,可以根据接收的数据压缩指令的数量创建对应数量的压缩进程,来处理数据压缩指令,防止调度系统发送的数据压缩指令未被及时处理而造成阻塞。
[0046]步骤S204,当数据压缩指令处理完成后,根据单机存储引擎反馈的处理结果,销毁压缩进程。
[0047]在对数据完成数据压缩后,调度系统将不再发送数据压缩指令,单机存储引擎在处理完压缩进程启动的压缩任务队列中的数据压缩指令后,将反馈已完成数据压缩的处理结果,根据单机存储引擎反馈的处理结果,销毁压缩进程,以免对分布式数据存储系统造成影响。
[0048]根据本发明上述实施例提供的方法,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,将数据压缩指令存储到压缩进程启动的压缩任务队列中,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,并且能够及时处理掉数据读写指令和数据压缩指令,避免造成阻塞,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0049]图3示出了根据本发明一个实施例的数据指令处理装置的功能框图。如图3所示,该装置300包括:进程处理系统310以及单机存储引擎320。
[0050]该进程处理系统310包括:读写进程模块311和压缩进程模块312。
[0051 ]读写进程模块311,适于预先创建数据读写进程处理接收到的数据读写指令。
[0052]压缩进程模块312,适于在接收到调度系统发送的数据压缩指令之后,创建用于处理数据压缩指令的压缩进程,压缩进程与数据读写进程相互独立。
[0053]单机存储引擎320,适于启动数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令;以及,对数据读写指令和数据压缩指令进行处理。
[0054]根据本发明上述实施例提供的装置,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0055]图4示出了根据本发明另一个实施例的数据指令处理装置的功能框图。如图4所示,该装置400包括:进程处理系统410以及单机存储引擎420。
[0056]该进程处理系统410包括:读写进程模块411和压缩进程模块412。
[0057]读写进程模块411,适于预先创建数据读写进程处理接收到的数据读写指令。
[0058]压缩进程模块412,适于在接收到调度系统发送的数据压缩指令之后,创建用于处理数据压缩指令的压缩进程,压缩进程与数据读写进程相互独立。
[0059]单机存储引擎420,适于启动数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令;以及,对数据读写指令和数据压缩指令进行处理。
[0060]可选地,装置还包括:销毁模块430,适于当数据压缩指令处理完成后,根据单机存储引擎反馈的处理结果,销毁压缩进程。
[0061 ]可选地,装置还包括:存储模块440,适于将数据压缩指令存储到压缩进程启动的压缩任务队列中。
[0062]此外,数据读写进程用于对调度系统发送的数据读写指令进行处理,其中,存储模块440还将数据读写指令存储至数据读写进程启动地读写任务队列中。
[0063]可选地,压缩进程模块412进一步适于:在数据压缩指令处理过程中,再次接收到调度系统发送的一个或多个数据压缩指令,则另行创建一个或多个压缩进程分别用于处理一个或多个数据压缩指令。
[0064]可选地,单机存储引擎420包括:Level DB、Rocks DB、和/或SSDB。
[0065]根据本发明上述实施例提供的装置,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,将数据压缩指令存储到压缩进程启动的压缩任务队列中,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,并且能够及时处理掉数据读写指令和数据压缩指令,避免造成阻塞,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0066]图5示出了根据本发明一个实施例的数据指令处理系统的功能框图。如图5所示,该系统500包括:数据指令处理装置400和调度系统510。
[0067]其中,数据指令处理装置为多个。
[0068]根据本发明上述实施例提供的系统,避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,并且能够及时处理掉数据读写指令和数据压缩指令,避免造成阻塞,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0069]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0070]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0071]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0072]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1