一种数据查询方法和系统、存储介质与流程

文档序号:16248121发布日期:2018-12-11 23:46阅读:236来源:国知局
一种数据查询方法和系统、存储介质与流程

本发明实施例涉及数据处理技术领域,尤其涉及一种数据查询方法和系统、存储介质。

背景技术

随着科学技术的发展,大数据时代已经来临。当然,工业数据的量也越发增加,即工业大数据时代也已经到来。工业运行数据库规模已达到百万点变量以上。

然而,随着工业大数据的发展,怎样从规模巨大的运行数据库中找到需求的数据成了当下的技术难题。在现有技术中,依然是采用传统的逐个比较字符串查找方法对目标数据进行查找。而采用现有技术中的方式,必然会导致耗费时间长的技术弊端。于是,实现怎样从规模巨大的运行数据库中快速查询到目标数据成了亟待解决的问题。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种数据查询方法和系统、存储介质。

根据本发明实施例的一个方面,本发明实施例提供了一种数据查询方法,所述方法包括:

根据获取到的数据查询请求确定目标变量名;

对所述目标变量名进行计算,得到目标crc值;

根据所述目标crc值与预设的映射表确定目标索引号;

对所述目标索引号进行计算,得到初始数据存储地址,以便从所述初始数据存储地址中读取目标数据。

通过本实施例提供的:在根据数据查询请求确定目标变量名后,对目标变量名进行计算,得到目标crc值,根据目标crc值和映射表确定目标索引号,对索引号进行计算,得到初始数据存储地址,从而实现从初始数据存储地址中读取目标数据的技术方案,一方面,避免了现有技术中耗时较多,耗费资源的技术弊端;另一方面,实现了精准且高效的对目标数据进行读取的技术效果。

根据本发明实施例的另一个方面,本发明实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上所述的方法。

根据本发明实施例的另一个方面,本发明实施例提供了一种数据查询系统,所述系统包括:确定模块、计算模块,其中,

所述确定模块用于:根据获取到的数据查询请求确定目标变量名;

所述计算模块用于:对所述目标变量名进行计算,得到目标crc值;

所述确定模块还用于:根据所述目标crc值与预设的映射表确定目标索引号;

所述计算模块还用于:对所述目标索引号进行计算,得到初始数据存储地址,以便从所述初始数据存储地址中读取目标数据。

附图说明

图1为本发明实施例提供的一种数据查询方法的流程示意图;

图2为本发明实施例提供的一种数据查询系统的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明实施例提供了一种数据查询方法和系统、存储介质。

根据本发明实施例的一个方面,本发明实施例提供了一种数据查询方法。

第一实施例:

请参阅图1,图1为本发明实施例提供的一种数据查询方法的流程示意图。

如图1所示,该方法包括:

s100:根据获取到的数据查询请求确定目标变量名。

可以理解的是,不同的数据查询请求对应不同的变量名。

当需要对某数据进行查询时,需要发送数据查询请求。当接收到数据查询请求后,可根据该数据查询请求确定目标变量名。

s200:对目标变量名进行计算,得到目标crc值。

s300:根据目标crc值与预设的映射表确定目标索引号。

映射表中体现了目标crc值与目标索引号之间的对应关系。

所以,将目标crc值在映射表中进行匹配,匹配得到目标索引号。

s400:对目标索引号进行计算,得到初始数据存储地址,以便从初始数据存储地址中读取目标数据。

为使对本申请的技术方案以及技术效果进行更透彻的理解,现结合现有技术对本申请的方案进行详细的阐述。

在现有技术中,当需要对某数据进行读取时,如从百万点规模的运行数据库中查询出1万个变量,通过现有技术方案,即通过逐个比对字符串的查找方法对目标数据进行查找,需要耗费的时间为:20秒至30秒。

而通过本实施例提供的技术方案,当需要读取1万个变量的数据时,在确定目标变量名后,对1万个目标变量名同时进行计算,得到1万个目标crc值,将1万个目标crc值在映射表中进行匹配,得到1万个目标索引号,对1万个目标索引号进行计算,得到1万个初始数据存储地址,从而实现数据的查询和读取。而,通过本实施例提供的技术方案,只需要200毫秒至300毫秒。

通过本实施例提供的:在根据数据查询请求确定目标变量名后,对目标变量名进行计算,得到目标crc值,根据目标crc值和映射表确定目标索引号,对索引号进行计算,得到初始数据存储地址,从而实现从初始数据存储地址中读取目标数据的技术方案,一方面,避免了现有技术中耗时较多,耗费资源的技术弊端;另一方面,实现了精准且高效的对目标数据进行读取的技术效果。

第二实施例:

本实施例以第一实施例为基础。在本实施例中,对s200进行了具体的阐述,其中,s200具体包括:

将目标变量名转换为字符串组。

对目标变量名进行转换,得到字符串组。

对字符串组中的每个字符串依次进行crc校验计算,得到目标crc值。

第三实施例:

本实施例以第一或第二实施例为基础。在本实施例中,该方法还包括:

根据crc值与变量名之间的对应关系以及,索引号与数据存储地址之间的对应关系,以及数据存储地址与所述变量名之间的对应关系,建立crc值与索引号的索引对应关系。

crc值与索引号的索引对应关系是分别根据crc值与变量名之间的对应关系,以及索引号与数据存储地址之间的对应关系进行建立的。

根据索引对应关系构建映射表。

其中,变量名包括目标变量名,crc值包括目标crc值,索引号包括目标索引号,数据存储地址包括初始数据存储地址。

第四实施例:

本实施例以第一或第三实施例为基础。在本实施例中,当目标索引号的数量和初始数据存储地址的数量均为n个时,则方法还包括:

根据目标变量名以及每个初始数据存储地址对应的变量名确定目标数据存储地址,以便从目标数据存储地址中读取目标数据;

其中,n为大于1的整数,一个目标索引号对应一个初始数据存储地址。

可以理解的是,crc值取1-65535。也就是说,存在一个crc值对应多个数据存储地址的情况。

当初始数据存储地址的数量为多个时,则将目标变量名以及每个初始数据存储地址对应的变量名确定目标数据存储地址,从而实现目标数据的读取。

第五实施例:

本实施例以第一或第四实施例为基础。在本实施例中,s400具体包括:

根据目标索引号与预设的偏移系数确定初始数据存储地址;

其中,偏移系数是根据数据存储地址对应的内存容量进行确定的。

例如,当内存容量为100时,则初始数据存储地址=目标索引号*100。

根据本发明实施例的另一个方面,本发明实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上任一实施例所述的方法。

根据本发明实施例的另一个方面,本发明实施例提供了与一种数据查询系统。

请参阅图2,图2为本发明实施例提供的一种数据查询系统的结构示意图。

如图2所示,该系统包括:确定模块、计算模块,其中,

确定模块用于:根据获取到的数据查询请求确定目标变量名;

计算模块用于:对目标变量名进行计算,得到目标crc值;

确定模块还用于:根据目标crc值与预设的映射表确定目标索引号;

计算模块还用于:对目标索引号进行计算,得到初始数据存储地址,以便从初始数据存储地址中读取目标数据。

在一种可能实现的技术方案中,计算模块具体用于:

将目标变量名转换为字符串组;

对字符串组中的每个字符串依次进行crc校验计算,得到目标crc值。

在一种可能实现的技术方案中,该系统还包括:建立模块、构建模块,其中,

建立模块用于:根据crc值与变量名之间的对应关系以及,索引号与数据存储地址之间的对应关系,以及数据存储地址与变量名之间的对应关系,建立crc值与索引号的索引对应关系;

建模块用于:根据索引对应关系构建映射表;

其中,变量名包括目标变量名,crc值包括目标crc值,索引号包括目标索引号,数据存储地址包括初始数据存储地址。

在一种可能实现的技术方案中,该计算模块具体用于:

根据目标索引号与预设的偏移系数确定初始数据存储地址;

其中,偏移系数是根据数据存储地址对应的内存容量进行确定的。

在一种可能实现的技术方案中,当目标索引号的数量和初始数据存储地址的数量均为n个时,则确定模块还用于:

根据目标变量名以及每个初始数据存储地址对应的变量名确定目标数据存储地址,以便从目标数据存储地址中读取目标数据;

其中,n为大于1的整数,一个目标索引号对应一个初始数据存储地址。

读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

还应理解,在本发明各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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