数据指令处理方法、装置及系统制造方法及图纸

技术编号:15060009 阅读:51 留言:0更新日期:2017-04-06 09:39
本发明专利技术公开了一种数据指令处理方法、装置及系统。所述方法包括:接收调度系统发送的数据压缩指令;创建用于处理数据压缩指令的压缩进程,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立;其中,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。上述方案实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种数据指令处理方法、装置及系统
技术介绍
单机存储引擎是一种支持数据在线压缩的存储引擎,然而当其提供数据读写服务时,其单机句柄被占用,无法提供数据压缩服务,而且现有技术方案中是由一个进程处理数据读写指令和数据压缩指令,一般情况下,数据压缩将耗费很长时间,当对数据压缩指令进行处理时,就容易造成读写指令不能被及时处理,或者是,在单机存储引擎对数据压缩指令时,数据读写进程将数据读写指令和数据压缩指令存储至任务队列,由于对数据压缩指令的处理比较耗时,而导致任务队列已满,不能再接收数据写指令而造成数据不一致,或者是,数据读写进程不能再接收数据读写指令,导致数据读写指令被认定为超时,而被抛掉。分布式数据存储系统就是将数据分散存储在多台独立的设备上。单机存储引擎虽然可以应用于分布式数据存储系统,但是由于上述缺陷,导致现有的分布式数据存储系统并不支持数据在线压缩,当需要进行数据压缩时,需要将分布式数据存储系统所提供的业务服务全部停止之后,对每个单机进行数据压缩。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的数据指令处理方法、数据指令处理装置和相应的数据指令处理系统。根据本专利技术的一个方面,提供了一种数据指令处理方法,包括:接收调度系统发送的数据压缩指令;创建用于处理数据压缩指令的压缩进程,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立;其中,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。根据本专利技术的另一方面,提供了一种数据指令处理装置,包括:进程处理系统以及单机存储引擎;进程处理系统包括:读写进程模块,适于预先创建数据读写进程处理接收到的数据读写指令;以及压缩进程模块,适于在接收到调度系统发送的数据压缩指令之后,创建用于处理数据压缩指令的压缩进程,压缩进程与数据读写进程相互独立;单机存储引擎,适于启动数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令;以及,对数据读写指令和数据压缩指令进行处理。根据本专利技术的另一方面,提供了一种数据指令处理系统,包括上述数据指令处理装置和调度系统。根据本专利技术提供的方案,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,从而避免了由于处理数据压缩指令较为耗时而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写边压缩,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的数据指令处理方法的流程示意图;图2示出了根据本专利技术另一个实施例的数据指令处理方法的流程示意图;图3示出了根据本专利技术一个实施例的数据指令处理装置的功能框图;图4示出了根据本专利技术另一个实施例的数据指令处理装置的功能框图;图5示出了根据本专利技术一个实施例的数据指令处理系统的功能框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的数据指令处理方法的流程示意图。如图1所示,该方法包括以下步骤:步骤S100,接收调度系统发送的数据压缩指令。其中,调度系统用于管理发送对数据的操作指令,例如数据读指令、数据写指令或数据压缩指令等,也就是说,对数据执行的操作,是要求读数据或是写数据或是压缩数据。步骤S101,创建用于处理数据压缩指令的压缩进程。现有的技术方案中,只创建了一个数据读写进程,由数据读写进程对调度系统发送的数据读写指令和数据压缩指令进行处理,数据读写进程是将接收到的数据操作指令存储到任务队列中,由单机存储引擎从数据读写进程启动的任务队列中获取待执行的数据操作指令来对数据进行操作,一般情况下,单机存储引擎在对数据压缩指令的处理会耗费很长时间,而数据读写指令的处理会比较快,因此,当对数据压缩指令进行处理时,就容易造成读写指令不能被及时处理,或者是,在单机存储引擎对数据压缩指令时,数据读写进程将数据读写指令和数据压缩指令存储至任务队列,由于对数据压缩指令的处理比较耗时,而导致任务队列已满,不能再接收数据读写指令。因此,在本专利技术实施例中,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理所接收到的数据压缩指令,其中,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立,也就是说,压缩进程仅处理数据压缩指令,数据读写进程仅处理数据读写指令,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况。步骤S102,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。具体地,单机存储引擎主要是指在单机内部提供一个存储介质的界面,单机存储引擎支持数据在线压缩,并应用于分布式数据存储系统,从而可以对分布式数据存储系统中的数据进行在线压缩,无需停止对外服务。单机存储引擎中启动有数个并发线程,该数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令,将所读取的数据读写指令和数据压缩指令存储至相应的任务队列中,以供单机存储引擎对数据读写指令和数据压缩指令进行处理。根据本专利技术上述本文档来自技高网...

【技术保护点】
一种数据指令处理方法,包括:接收调度系统发送的数据压缩指令;创建用于处理所述数据压缩指令的压缩进程,所述压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立;其中,在单机存储引擎中启动有数个并发线程,所述数个并发线程分别从所述数据读写进程和所述压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对所述数据读写指令和数据压缩指令进行处理。

【技术特征摘要】
1.一种数据指令处理方法,包括:
接收调度系统发送的数据压缩指令;
创建用于处理所述数据压缩指令的压缩进程,所述压缩进程与预先创建
的处理数据读写指令的数据读写进程相互独立;
其中,在单机存储引擎中启动有数个并发线程,所述数个并发线程分别
从所述数据读写进程和所述压缩进程中读取数据读写指令和数据压缩指令以
供单机存储引擎对所述数据读写指令和数据压缩指令进行处理。
2.根据权利要求1所述的方法,其中,所述方法还包括:
当所述数据压缩指令处理完成后,根据所述单机存储引擎反馈的处理结
果,销毁所述压缩进程。
3.根据权利要求1或2所述的方法,其中,在所述创建用于处理所述数
据压缩指令的压缩进程之后,所述方法还包括:
将所述数据压缩指令存储到所述压缩进程启动的压缩任务队列中。
4.根据权利要求1或2所述的方法,其中,所述方法还包括:
在所述数据压缩指令处理过程中,再次接收到调度系统发送的一个或多
个数据压缩指令,则另行创建一个或多个压缩进程分别用于处理所述一个或
多个数据压缩指令。
5.根据权利要求1-4任一项所述的方法,其中,所述单机存储引擎包括:
LevelDB、RocksDB、和/或SSDB。
6.一种数据指令处理装置,包括:进程处理系统以...

【专利技术属性】
技术研发人员:王文铎陈宗志彭信东宋昭
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1