一种数据存储方法、数据查询方法、计算设备和存储介质技术

技术编号:30448068 阅读:21 留言:0更新日期:2021-10-24 18:41
本发明专利技术公开了一种数据存储方法、数据查询方法、计算设备和存储介质,数据存储方法包括:获取与待存储数据所对应的父类的类别编码,作为第一编码;生成待存储数据在第一编码下的、预设长度的子类别编码,作为第二编码;按照预定的顺序,将第二编码拼接至第一编码后,得到待存储数据的类别编码;将待存储数据与其类别编码关联为一个数据项,存储至分类表。可知,本发明专利技术中类别编码的生成存在规律性,可根据类别编码的生成规律设置单where查询条件,即可通过单where条件SQL语句查询分类数据的所有或任一子类,查询结果中可包括分类数据,提高数据查询效率。据查询效率。据查询效率。

【技术实现步骤摘要】
一种数据存储方法、数据查询方法、计算设备和存储介质


[0001]本专利技术涉及数据处理
,特别涉及一种数据存储方法、数据查询方法、计算设备和存储介质。

技术介绍

[0002]在前端开发中,针对网页内容的分类和关联是比较常见的操作,网页内容一般为分类数据,分类数据指反映事物类别的数据,例如,人按性别分为男、女两类。目前,多通过分类表实现网页内容的分类和关联,常见的分类表的设计结构是为当前分类设定一个类别编码字段,类别编码字段包括父类id,即,当前分类的类别编码与其父类id相关联。当需要查询上述分类表中一个分类数据的所有子类时,需要通过递归方式逐行遍历,查询效率低下。
[0003]为了提高查询效率,将上述分类表中类别编码字段定义为变长字符串,类别编码字段包括当前分类数据的父类的类别编码和父类id,多个id之间以逗号分隔,可见任一指定分类的类别编码字段与其父类的类别编码和父类id相关联。此时,可以通过单where条件SQL语句查询指定分类的所有子类,单where条件SQL语句即遍历一次分类表,此时不需要递归方式。但是,若要查询指定分类的任一子类、根据查询结果得到指定分类对应的树形菜单或使得查询结果包括分类数据自身,需要额外加入where条件,即,需要多次遍历分类表才能实现,但是多次遍历分类表导致查询效率低下。

技术实现思路

[0004]为此,本专利技术提供一种数据存储方法、数据查询方法,以力图解决或者至少缓解上面存在的问题。
[0005]根据本专利技术的一个方面,提供了一种数据存储方法,在计算设备中执行,计算设备与存储装置通信连接,存储装置中存储有分类表,分类表中包括类别编码字段,所述方法包括:获取与待存储数据所对应的父类的类别编码,作为第一编码;生成待存储数据在第一编码下的、预设长度的子类别编码,作为第二编码;按照预定的顺序,将第二编码拼接至第一编码后,得到待存储数据的类别编码;将待存储数据与其类别编码关联为一个数据项,存储至分类表。
[0006]可选地,生成待存储数据在第一编码下的子类别编码的步骤包括:生成待存储数据在第一编码下的唯一子类别编码。
[0007]可选地,生成待存储数据在第一编码下的唯一子类别编码的步骤包括:获取分类表中针对第一编码所生成的所有子类别编码中的最大子类别编码,其中,任一针对第一编码所生成的子类别编码的长度为预设长度;对最大子类别编码进行增加处理,得到待存储数据在第一编码下的子类别编码。
[0008]可选地,预定的顺序为由左至右的顺序,或者为由右至左的顺序。
[0009]根据本专利技术的又一个专利技术,提供了一种数据查询方法,在计算设备中执行,方法适
于从上述的数据存储方法得到的分类表中查询数据,分类表包括一个或多个数据项,每一数据项包括类别编码字段,所述方法包括:获取查询指令,查询指令至少包括第三编码,第三编码为当前输入的类别编码;从分类表中筛选与第三编码相关联的数据项,以得到待查询数据。
[0010]可选地,从分类表中筛选与第三编码相关联的数据项的步骤包括:从分类表中查找以第三编码为开头、类别编码长度不低于第三编码长度的所有数据项。
[0011]可选地,任一数据项中还包括分类数据名称,方法还包括步骤:确定已查找的各数据项的类别编码长度;以类别编码长度作为缩进量、按照类别编码升序排序显示已查找数据项的分类数据名称,得到当前输入的类别编码所对应分类数据的树形菜单。
[0012]可选地,从分类表中筛选与第三编码相关联的数据项的步骤包括:从分类表中查找以第三编码为开头、类别编码长度与预设分类数据类别编码长度相同的数据项。
[0013]可选地,通过如下公式确定预设分类数据类别编码长度:length= (M + N * X)其中,length为预设分类数据类别编码长度,M为第三编码长度N为预设分类数据类别距第三编码对应数据类别的层级,X为每个层级的类别编码长度。
[0014]可选地,从分类表中筛选与第三编码相关联的数据项的步骤包括:从分类表中查找以第三编码为开头、类别编码长度大于第三编码长度的所有数据项。
[0015]根据本专利技术的另一个专利技术,提供了一种数据查询系统,包括客户端、计算设备和存储装置,计算设备分别与客户端、存储装置通信连接;客户端,在监测到输入类别编码的动作时,适于根据输入的类别编码生成查询指令,并发送至计算设备;存储装置,适于存储分类表,分类表由上述的数据存储方法得到的;计算设备,适于获取客户端发送的查询指令,从分类表中筛选与查询指令的类别编码相关联的数据项,以得到待查询数据。
[0016]根据本专利技术的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述方法的指令。
[0017]根据本专利技术的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的方法。
[0018]根据本专利技术的技术方案,提供了一种数据存储方法,该方法首先获取与待存储数据所对应的父类的类别编码,作为第一编码,生成待存储数据在第一编码下的、预设长度的子类别编码,作为第二编码,按照预定的顺序,将第二编码拼接至第一编码后,得到待存储数据的类别编码,将待存储数据与其类别编码关联为一个数据项,存储至分类表。
[0019]可见,本方案中是通过类别编码对数据进行分类,且类别编码由父类的类别编码和父类类别编码下的子类别编码组成,且第二编码长度固定,即,分类等级越高的数据的类别编码长度越小,分类等级越低的数据的类别编码长度越大,且相邻等级分类数据之间相差的编码个数为第二编码的个数。可根据类别编码的上述规律设置单where查询条件,即可通过单where条件SQL语句查询指定分类的所有或任一子类,且查询结果可包括指定分类自身,从而提高数据查询效率。
[0020]本专利技术又提供了一种数据查询方法,该方法中,从分类表中筛选与已输入的类别编码相关联的数据项,以得到待查询分类数据。由上述内容可知,本专利技术是以分类数据的类
别编码和类别编码长度作为单where条件,即,可通过单where条件SQL语句查询与分类数据相关联的任意一个或多个数据,提高了数据查询的效率和灵活性。
[0021]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0022]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0023]图1示出了根据本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,在计算设备中执行,所述计算设备与存储装置通信连接,所述存储装置中存储有分类表,分类表中包括类别编码字段,所述方法包括:获取与待存储数据所对应的父类的类别编码,作为第一编码;生成所述待存储数据在第一编码下的、预设长度的子类别编码,作为第二编码;按照预定的顺序,将所述第二编码拼接至所述第一编码后,得到所述待存储数据的类别编码;将所述待存储数据与其类别编码关联为一个数据项,存储至所述分类表。2.如权利要求1所述的方法,其中,所述生成所述待存储数据在第一编码下的子类别编码的步骤包括:生成所述待存储数据在第一编码下的唯一子类别编码。3.如权利要求2所述的方法,其中,所述生成所述待存储数据在第一编码下的唯一子类别编码的步骤包括:获取所述分类表中针对第一编码所生成的所有子类别编码中的最大子类别编码,其中,任一针对第一编码所生成的子类别编码的长度为所述预设长度;对所述最大子类别编码进行增加处理,得到所述待存储数据在第一编码下的子类别编码。4.如权利要求1至3中任一项所述的方法,其中,所述预定的顺序为由左至右的顺序,或者为由右至左的顺序。5.一种数据查询方法,在计算设备中执行,所述方法适于从由权利要求1至4中任一项所述的数据存储方法得到的分类表中查询数据,所述分类表包括一个或多个数据项,每一数据项包括类别编码字段,所述方法包括:获取查询指令,所述查询指令至少包括第三编码,所述第三编码为当前输入的类别编码;从所述分类表中筛选与所述第三...

【专利技术属性】
技术研发人员:戴洪岩
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

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

1