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

文档序号:9887308阅读:240来源:国知局
数据指令处理方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体涉及一种数据指令处理方法、装置及系统。
【背景技术】
[0002]单机存储引擎是一种支持数据在线压缩的存储引擎,然而当其提供数据读写服务时,其单机句柄被占用,无法提供数据压缩服务,而且现有技术方案中是由一个进程处理数据读写指令和数据压缩指令,一般情况下,数据压缩将耗费很长时间,当对数据压缩指令进行处理时,就容易造成读写指令不能被及时处理,或者是,在单机存储引擎对数据压缩指令时,数据读写进程将数据读写指令和数据压缩指令存储至任务队列,由于对数据压缩指令的处理比较耗时,而导致任务队列已满,不能再接收数据写指令而造成数据不一致,或者是,数据读写进程不能再接收数据读写指令,导致数据读写指令被认定为超时,而被抛掉。
[0003]分布式数据存储系统就是将数据分散存储在多台独立的设备上。单机存储引擎虽然可以应用于分布式数据存储系统,但是由于上述缺陷,导致现有的分布式数据存储系统并不支持数据在线压缩,当需要进行数据压缩时,需要将分布式数据存储系统所提供的业务服务全部停止之后,对每个单机进行数据压缩。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据指令处理方法、数据指令处理装置和相应的数据指令处理系统。
[0005]根据本发明的一个方面,提供了一种数据指令处理方法,包括:
[0006]接收调度系统发送的数据压缩指令;
[0007]创建用于处理数据压缩指令的压缩进程,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立;
[0008]其中,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。
[0009]根据本发明的另一方面,提供了一种数据指令处理装置,包括:进程处理系统以及单机存储引擎;
[0010]进程处理系统包括:
[0011]读写进程模块,适于预先创建数据读写进程处理接收到的数据读写指令;以及
[0012]压缩进程模块,适于在接收到调度系统发送的数据压缩指令之后,创建用于处理数据压缩指令的压缩进程,压缩进程与数据读写进程相互独立;
[0013]单机存储引擎,适于启动数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令;以及,对数据读写指令和数据压缩指令进行处理。
[0014]根据本发明的另一方面,提供了一种数据指令处理系统,包括上述数据指令处理装置和调度系统。
[0015]根据本发明提供的方案,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,从而避免了由于处理数据压缩指令较为耗时而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写边压缩,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0016]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0017]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0018]图1示出了根据本发明一个实施例的数据指令处理方法的流程示意图;
[0019]图2示出了根据本发明另一个实施例的数据指令处理方法的流程示意图;
[0020]图3示出了根据本发明一个实施例的数据指令处理装置的功能框图;
[0021]图4示出了根据本发明另一个实施例的数据指令处理装置的功能框图;
[0022]图5示出了根据本发明一个实施例的数据指令处理系统的功能框图。
【具体实施方式】
[0023]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0024]图1示出了根据本发明一个实施例的数据指令处理方法的流程示意图。如图1所示,该方法包括以下步骤:
[0025]步骤S100,接收调度系统发送的数据压缩指令。
[0026]其中,调度系统用于管理发送对数据的操作指令,例如数据读指令、数据写指令或数据压缩指令等,也就是说,对数据执行的操作,是要求读数据或是写数据或是压缩数据。
[0027]步骤SlOl,创建用于处理数据压缩指令的压缩进程。
[0028]现有的技术方案中,只创建了一个数据读写进程,由数据读写进程对调度系统发送的数据读写指令和数据压缩指令进行处理,数据读写进程是将接收到的数据操作指令存储到任务队列中,由单机存储引擎从数据读写进程启动的任务队列中获取待执行的数据操作指令来对数据进行操作,一般情况下,单机存储引擎在对数据压缩指令的处理会耗费很长时间,而数据读写指令的处理会比较快,因此,当对数据压缩指令进行处理时,就容易造成读写指令不能被及时处理,或者是,在单机存储引擎对数据压缩指令时,数据读写进程将数据读写指令和数据压缩指令存储至任务队列,由于对数据压缩指令的处理比较耗时,而导致任务队列已满,不能再接收数据读写指令。
[0029]因此,在本发明实施例中,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理所接收到的数据压缩指令,其中,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立,也就是说,压缩进程仅处理数据压缩指令,数据读写进程仅处理数据读写指令,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况。
[0030]步骤S102,在单机存储引擎中启动有数个并发线程,数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令以供单机存储引擎对数据读写指令和数据压缩指令进行处理。
[0031 ]具体地,单机存储引擎主要是指在单机内部提供一个存储介质的界面,单机存储引擎支持数据在线压缩,并应用于分布式数据存储系统,从而可以对分布式数据存储系统中的数据进行在线压缩,无需停止对外服务。
[0032]单机存储引擎中启动有数个并发线程,该数个并发线程分别从数据读写进程和压缩进程中读取数据读写指令和数据压缩指令,将所读取的数据读写指令和数据压缩指令存储至相应的任务队列中,以供单机存储引擎对数据读写指令和数据压缩指令进行处理。
[0033]根据本发明上述实施例提供的方法,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理数据压缩指令,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况,实现了对分布式数据存储系统中数据的在线压缩,实现了边读写数据边压缩数据,无需将分布式数据存储系统所提供的业务服务全部停止,给分布式数据存储系统的业务造成影响。
[0034]图2示出了根据本发明另一个实施例的数据指令处理方法的流程示意图。如图2所示,该方法包括以下步骤:
[0035]步骤S200,接收调度系统发送的数据压缩指令。
[0036]其中,调度系统用于管理发送对数据的操作指令,例如数据读指令、数据写指令或数据压缩指令等,也就是说,对数据执行的操作,是要求读数据或是写数据或是压缩数据。
[0037]步骤S201,创建用于处理数据压缩指令的压缩进程。
[0038]在本发明实施例中,在接收到调度系统发送的数据压缩指令后,创建压缩进程,用于处理所接收到的数据压缩指令,其中,压缩进程与预先创建的处理数据读写指令的数据读写进程相互独立,而且仅用一个数据读写进程对调度系统发送的数据读写指令进行处理,也就是说,压缩进程仅处理数据压缩指令,数据读写进程仅处理数据读写指令,从而避免了数据读写进程既处理数据读写指令又处理数据压缩指令而对数据的读写造成影响,克服了因数据读写指令不能被及时处理而导致数据不一致的情况。
[0039]步骤S202,将数据压缩指令存储到压缩进程启动的压缩任务队列中。
[0040]在根据步骤S201创建压缩进程后
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1