数据查询处理方法、平台、系统及可读存储介质与流程

文档序号:17721385发布日期:2019-05-22 02:11阅读:160来源:国知局
数据查询处理方法、平台、系统及可读存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种数据查询处理方法、平台、系统及可读存储介质。



背景技术:

随着信息化技术的快速发展,大型数据库系统需要处理和存储的数据量越来越大,为了适应应用业务的发展需要,分布式数据库将数据分布在计算机网络的不同节点上,而这些数据在逻辑上属于同一个系统。每个节点代表一台服务器,并采用分布式部署架构,集中起来形成集群服务。由于各个服务器都可以独立处理数据,导致数据是动态变化的,因而查询数据数量的结果不准确,各服务器之间的数据不一致,进而使分布式数据库对外提供集群服务的整体性能大幅下降,影响了用户的使用体验。



技术实现要素:

本发明的主要目的在于提供一种数据查询处理方法、平台、系统及可读存储介质,旨在解决如何提高分布式数据库中数据数量的查询效率和准确性的技术问题。

为实现上述目的,本发明提供的一种数据查询处理方法,应用于分布式数据库系统,所述分布式数据库系统设有多个服务器,所述数据查询处理方法包括以下步骤:

监听各个服务器以获取各服务器基于预设方式创建的目录节点;

当接收到数据查询指令时,对各服务器所维护的数据库进行数据锁定处理,并根据所述数据查询指令携带的数据信息,查找各目录节点中是否存在与所述数据信息对应的文件目录;

若目录节点中存在与所述数据信息对应的文件目录,则读取所述文件目录中的数据以确定数据量,并将所述数据量作为查询结果进行反馈。

可选地,所述预设方式包括:

在接收到外部终端提交的数据写入操作时,根据所述数据写入操作的数据,创建文件并写入本地数据库中和/或修改本地数据库中的文件;

根据本地数据库储存的文件所对应的文件名和储存位置,生成文件目录;

将每个文件对应生成的文件目录,按预设树形结构分级进行录入,汇总得到目录节点。

可选地,在所述监听各个服务器以获取各服务器基于预设方式创建的目录节点的操作之后,还包括:

监控各目录节点在预设时间内文件目录的项数变化值是否大于或等于预设阈值;

若目录节点在预设时间内文件目录的项数变化值大于或等于预设阈值,则根据文件目录的生成时间和文件名,触发生成数据查询指令。

可选地,在所述若目录节点中存在与所述数据信息对应的文件目录,则读取所述文件目录中的数据以确定数据量的同时,还包括:

若目录节点中不存在与所述数据信息对应的文件目录,则根据读取的所述文件目录中的数据更新本地目录节点,以同步数据。

可选地,在所述若目录节点中不存在与所述数据信息对应的文件目录,则根据读取的所述文件目录中的数据更新本地目录节点,以同步数据的操作之后,还包括:

当各目录节点均存在与所述数据信息对应的文件目录时,对各服务器所维护的数据库进行数据解锁处理。

可选地,所述对各服务器所维护的数据库进行数据锁定处理,包括:允许外部终端在访问服务器时对其所在数据库进行的数据读取操作、禁止外部终端在访问服务器时对其所在数据库进行的数据写入操作;

所述对各服务器所维护的数据库进行数据解锁处理,包括:允许外部终端在访问服务器时对其所在数据库进行的数据读取操作和数据写入操作。

可选地,所述若目录节点中存在与所述数据信息对应的文件目录,则读取所述文件目录中的数据以确定数据量,包括:

若目录节点中存在与所述数据信息对应的文件目录,则根据所述文件目录记录的储存位置,跳转至储存的文件并读取所述文件中的数据以确定数据量。

此外,为实现上述目的,本发明还提供一种数据查询处理平台,所述数据查询处理平台包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据查询处理程序,所述数据查询处理程序被所述处理器执行时实现如上述中任一项所述的数据查询处理方法的步骤。

此外,为实现上述目的,本发明还提供一种分布式数据库系统,所述分布式数据库系统设有多个服务器,所述分布式数据库系统还包括如权利要求8所述的数据查询处理平台、外部终端;

所述服务器用于,与所述数据查询处理平台建立通信连接,以供所述数据查询处理平台进行监听和/或数据查询;

所述服务器还用于,根据所述数据查询处理平台的控制指令,允许或禁止所述外部终端进行访问的使用权限。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据查询处理程序,所述数据查询处理程序被处理器执行时实现如上述中任一项所述的数据查询处理方法的步骤。

本发明是应用于设有多个服务器的分布式数据库系统,首先通过监听各个服务器以获取各服务器基于预设方式创建的目录节点,然后当接收到数据查询指令时,对各服务器所维护的数据库进行数据锁定处理,并根据数据查询指令携带的数据信息,查找各目录节点中是否存在与数据信息对应的文件目录,最后当存在与数据信息对应的文件目录时,读取文件目录中的数据以确定数据量,并将数据量作为查询结果进行反馈。本发明在查询数据时,采用数据处理技术中的的锁机制,对各数据库进行数据锁定处理,能够防止各服务器并发操作引起的数据不一致和不稳定,并通过创建的目录节点快速定位到目标数据,进而提高了查询效率和准确性。

附图说明

图1为本发明实施例方案涉及的数据查询处理平台运行环境的结构示意图;

图2为本发明数据查询处理方法一实施例的流程示意图;

图3为本发明分布式数据库系统统一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的数据查询处理平台运行环境的结构示意图。

如图1所示,该数据查询处理平台包括:处理器1001,例如cpu,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的数据查询处理平台的硬件结构并不构成对数据查询处理平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。其中,操作系统是管理和控制数据查询处理平台和软件资源的程序,支持数据查询处理程序以及其它软件和/或程序的运行。

在图1所示的数据查询处理平台的硬件结构中,网络接口1004主要用于接入网络;用户接口1003主要用于侦测确认指令和编辑指令等。而处理器1001可以用于调用存储器1005中存储的数据查询处理程序,并执行以下数据查询处理方法的各实施例的操作。

基于上述数据查询处理平台硬件结构,提出本发明数据查询处理方法的各个实施例。

参照图2,图2为本发明数据查询处理方法一实施例的流程示意图。

本实施例中,数据查询处理方法包括:

步骤s10,监听各个服务器以获取各服务器基于预设方式创建的目录节点;

本实施例中,多个服务器采用分布式部署架构,集中起来一起进行同一种服务,形成集群。集群中的任意一台服务器均可向同一服务平台请求服务,也就是向本数据查询处理平台发送业务请求。而业务请求的处理类型包括查询、交易、上传日志、订阅、下订单、注册等,具体可根据实际应用场景需要进行设置。每个服务器对外提供给用户相应的业务服务,即用户通过手机、电脑等终端与服务器建立连接并交互数据。系统中每个服务器有独立的数据库用于存储数据。为方便管理和监控各个服务器储存的数据,监听各个服务器以得到对应的目录节点。

需要补充说明的是,服务器基于预设方式创建目录节点,具体地,包括:1)在接收到外部终端提交的数据写入操作时,根据数据写入操作的数据,创建文件并写入本地数据库中和/或修改本地数据库中的文件;比如接收到交易订单时,将交易订单写入数据库中并以文件形式储存;或者接收到撤销订单时,将在该订单对应的文件中写入订单撤销;或者接收到更改订单时,在对应文件中将订单进行相应更改,具体根据实际业务情况而定。须知,数据不同其数据量也不同。每个服务器独立操作,导致各数据库数据的不一致性。2)根据本地数据库储存的文件所对应的文件名和储存位置,生成文件目录;服务器所维护的数据库中有成千上万个文件,为了便于文件进行存取和管理,建立文件的索引,即文件名和文件物理储存位置之间的映射关系,这种文件的索引称为文件目录。3)将每个文件对应生成的文件目录,按预设树形结构分级进行录入,汇总得到目录节点。每一个文件在文件目录中登记一项,作为文件系统建立和维护文件的清单。而目录节点是由多个文件目录组成的汇总,各文件目录可划分为一级目录、二级目录等多级子目录,这种多级子目录结构采用的是树形结构的建立方式。服务器默认约定了一套通用的目录结构,并以这套目录结构作为模板创建文件目录。通过监听各个服务器,即可获得每个服务器创建的目录节点,进而通过目录节点监管各个数据库中的数据。可以理解的是,本发明中的服务器、本地数据库以及创建的目录节点是一一对应的。

步骤s20,当接收到数据查询指令时,对各服务器所维护的数据库进行数据锁定处理,并根据数据查询指令携带的数据信息,查找各目录节点中是否存在与数据信息对应的文件目录;

本实施例中,由于各服务器能够独立运作,并在写入数据时约定结构创建文件目录,因而根据数据查询指令携带的数据信息,如订单名称、订单编号等,查找各目录节点中是否存在与之对应的文件目录。查找各目录节点也就是查找各服务器数据库是否存在与之对应的文件目录,并通过目录节点进行索引,能够更快定位文件,提升查找效率。

本实施例中,对各服务器所维护的数据库进行数据锁定处理,能够防止并发操作引起的数据不一致。数据锁定处理,具体地,包括:允许外部终端在访问服务器时对其所在数据库进行的数据读取操作、禁止外部终端在访问服务器时对其所在数据库进行的数据写入操作。外部终端访问分布式数据库系统时,可就近选择任意一台服务器,并由该服务器提供集群服务。外部终端向服务器请求获取数据(读),提交数据(写)等,须知读与写操作是有实质性区别的。请求获取数据是由服务器将本地存储的数据反馈给外部终端,而写入数据是将数据提交至服务器并写入服务器数据库中。因写操作这一特性,在查数量时,数量动态变化,各服务器并发操作导致了各数据库数据的不一致性,进而查询数量结果不准确。而数据锁定处理是指各数据库中的数据只能由系统进行修改和增删,而其他外部终端在请求集群服务时只享有读取数据,而不能写入数据,即系统独占读写以防数据错乱,进而对服务器维护的数据库进行管控,防止并发操作引起的数据不一致,从而提高查询数据数量的准确性。

步骤s30,若目录节点中存在与数据信息对应的文件目录,则读取文件目录中的数据以确定数据量,并将数据量作为查询结果进行反馈。

本实施例中,在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。数据是信息的表现形式和载体,可以是符号、文字、数字、语音、图像、视频等。而信息是数据的内涵,信息是加载于数据之上,对数据作具有含义的解释。而数据量根据业务概念,指活动记录的条数(几十万条数据),或存储单位(2mb数据)。读取到多少数据就可以确定有多少数据量。通过锁定处理,系统独占读写以防数据错乱,进而查询到的数据量不受外部终端影响,保证了数据量的准确性。查询数据量可满足不同应用场景的业务需求,比如交易订单,当查询到数据量满足预设条件时自动触发并进入下一业务环节。

本实施例中,是应用于设有多个服务器的分布式数据库系统,首先通过监听各个服务器以获取各服务器基于预设方式创建的目录节点,然后当接收到数据查询指令时,对各服务器所维护的数据库进行数据锁定处理,并根据数据查询指令携带的数据信息,查找各目录节点中是否存在与数据信息对应的文件目录,最后当存在与数据信息对应的文件目录时,读取文件目录中的数据以确定数据量,并将数据量作为查询结果进行反馈。也就是在查询数据时,采用数据处理技术中的的锁机制,对各数据库进行数据锁定处理,能够防止各服务器并发操作引起的数据不一致和不稳定,并通过创建的目录节点快速定位到目标数据,进而提高了查询效率和准确性。

进一步可选地,在本发明另一实施例中,在步骤s10之后,数据查询处理方法还包括:

1、监控各目录节点在预设时间内文件目录的项数变化值是否大于或等于预设阈值;

2、若目录节点在预设时间内文件目录的项数变化值大于或等于预设阈值,则根据文件目录的生成时间和文件名,触发生成数据查询指令。

本实施例中,数据查询指令由系统触发,比如交易订单,各个服务器都可以独立进行订单处理,当某一服务器接收订单,将订单写入数据库并按约定目录结构在目录节点中创建文件目录。系统监听各目录节点的项数,当项数发生变化,且项数变化值大于或等于预设阈值时,触发生成数据查询指令,该数据查询指令携带数据信息,比如订单名称、订单编号等,可根据变化项文件目录的生成时间和文件名而定。比如监听到某一服务器创建的目录节点中的文件目录在近三天内的项数由1200增加到1308,变化值=1308-1200=108大于预设阈值100,进而根据文件目录的生成时间,即新增加的文件目录对应的文件名,触发生成数据查询指令。系统根据数据查询指令携带的数据信息查询定位到该服务器数据库下对应储存的文件,确定数据量,并将读取的文件中的数据同步更新到其他服务器中。预设阈值的设置根据实际情况而设置,在此不再赘述。通过监控项数变化值,触发生成数据查询指令,进而自动查询数据数量,满足订单、交易等业务需求,同时同步更新各个数据库,使之数据一致。进一步地,数据查询指令还可以是由系统工作人员触发,用以查询某个订单的数据量。

进一步可选地,基于上述实施例,本实施例中,在步骤s30,若目录节点中存在与数据信息对应的文件目录,则读取文件目录中的数据以确定数据量的同时,还包括:若目录节点中不存在与数据信息对应的文件目录,则根据读取的文件目录中的数据更新本地目录节点,以同步数据。

本实施例中,为使分布式数据库中各数据库保持数据一致,当其中一个目录节点(服务器)没有,而其他目录节点有文件目录时,需要根据其他目录节点有的文件目录来更新本地的数据库。需要补充说明的是,在实际使用中,存在以下情况a.外部终端访问分布式数据库系统时是与其中一台服务器z交互写入数据x的,此时只有该服务器z有这个数据x,因而系统就需要查找各目录节点以找到该服务器z存储的文件目录,同时将数据x同步到其他服务器中;b.系统中各服务器均存储有某一数据,即在同步后,系统在查询时读取任意一台即可得到该数据x;c.同步后外部终端在下次访问时连接服务器c,同样可得到该数据x。可以理解的是,分布式数据库中各数据库数据同步后,外部终端在下次访问时,连接任意一台服务器,均可得到相同的数据,进一步地,外部终端也可以通过本地服务器创建的目录节点,跳过全量文件查找,直接定位到所需的目标数据,实现快速响应的有益效果,进而提升了用户的使用体验。

进一步地,在同步数据后,还包括:当各目录节点均存在与数据信息对应的文件目录时,对各服务器所维护的数据库进行数据解锁处理。数据解锁处理,就是允许外部终端在访问服务器时对其所在数据库进行的数据读取操作和数据写入操作。各目录节点均存在与所述数据信息对应的文件目录时,说明分布式数据库中各数据库数据一致,保证下次外部终端读取任意一台服务器储存的数据的准确性。数据解锁处理也就是释放出锁,使得外部终端在请求集群服务时不仅享有读取数据,还可以写入数据。同时由于分布式数据同步,外部终端在访问分布式数据库时通过目录节点可以跳过全量文件查找,实现快速响应的有益效果,提升了用户的使用体验。

基于上述实施例,本实施例中,步骤s30中,若目录节点中存在与数据信息对应的文件目录,则读取文件目录中的数据以确定数据量,包括:若目录节点中存在与数据信息对应的文件目录,则根据文件目录记录的储存位置,跳转至储存的文件并读取文件中的数据以确定数据量。

本实施例中,储存位置,也叫做存储或者保存路径,就是将文件或数据保存在硬盘某个分区或该分区某个文件夹内。由于文件实际是储存在服务器的,而服务器在系统中又有多个,储存的文件更是成千上万。通过目录节点锁定文件目录,再跟进文件目录记录的储存位置,直接跳转至储存的文件,再读取文件中的数据,即可确定文件数据中的数据量,从而跳过全量文件查找,实现快速定位到目标查询数据,进而提高查询效率。

参照图3,图3为本发明分布式数据库系统一实施例的功能模块示意图。

本实施例中,分布式数据库系统设有多个服务器10,还包括如上所述的数据查询处理平台20,以及外部终端30;

所述服务器10用于,与所述数据查询处理平台20建立通信连接,以供所述数据查询处理平台20进行监听和/或数据查询;

所述服务器10还用于,根据所述数据查询处理平台20的控制指令,允许或禁止所述外部终端30进行访问的使用权限。

本实施例中,多个服务器10采用分布式部署架构,集中起来一起进行同一种服务,形成集群。每个服务器10均可独立操作,分别与数据查询处理平台20、外部终端30建立通信连接,实现信息数据交互。外部终端30包括手机、笔记本电脑、平板电脑、智能手环等终端,用户通过外部终端30访问分布式数据库系统时,可就近选择任意一台服务器10,并由该服务器10提供集群服务。外部终端30向服务器10请求获取数据(读取),提交数据(写入)。数据查询处理平台20对服务器10进行监听,并基于上述实施例查询服务器10中的数据。需要补充说明的是,数据查询处理平台20在查询服务器10储存的数据时,对各服务器10的数据库进行锁定/解锁处理,也就是服务器10响应锁定/解锁处理,从而允许或禁止外部终端30进行访问的使用权限(读写操作权限)。

此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据查询处理程序,所述数据查询处理程序被处理器执行时实现如上述中任一项所述的数据查询处理方法的步骤。

本发明计算机可读存储介质具体实施例与上述数据查询处理方法的各实施例基本相同,在此不再详细赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1