一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理的方法、系统、设备及可读存储介质与流程

2021-10-24 05:03:00 来源:中国专利 TAG:数据处理 可读 特别 方法 设备


1.本技术涉及数据处理领域,特别涉及一种数据处理的方法、系统、设备及可读存储介质。


背景技术:

2.单一关系型数据库横纵表,检索能力差,对于大数据量的存储也有瓶颈。而nosql对事务的支持不够友好,因此一般使用elasticsearch(简称es)数据库进行数据存储和检索,es是面向文档型数据库,一条数据在这里就是一个文档,用json作为文档序列化的格式,可动态的扩展文档中的字段,存储数据量大,检索性能也比较优秀。
3.但是es数据库的弊端在于1000个默认字段的上限。现有的解决方案大致分为如下三种:
4.1)可以通过配置扩大文档字段的上限,但是此种方案会降低检索elasticsearch的效率。
5.2)与业务方和用户沟通,将不常用字段删除,然而c端系统面相市场无法控制用户的使用。
6.3)设置多维度存储和计算(例如hive),然而此种方案涉及代码重构,数据迁移等问题,改造成本大,而且数据处理效率较低。
7.因此,如何在突破es数据库限制的基础上提高es数据库的数据处理效率是本领域技术人员目前需要解决的技术问题。


技术实现要素:

8.本技术的目的是提供一种数据处理的方法、系统、设备及可读存储介质,用于在突破es数据库限制的基础上提高es数据库的数据处理效率。
9.为解决上述技术问题,本技术提供一种数据处理的方法,该方法包括:
10.根据输入的数据处理请求确定待处理数据名称及对应的处理操作;
11.按照预设字段映射关系表确定所述待处理数据名称对应的es字段名称;其中,所述es字段名称与es字段的对应关系为多对一;
12.在es数据库中查找所述es字段名称对应的es数据,并执行所述处理操作对所述es数据进行处理。
13.可选的,在按照预设字段映射关系表确定所述待处理数据名称对应的es字段名称之前,还包括:
14.根据输入的数据存储请求确定待存储数据的es字段类型;
15.判断所述预设字段映射关系表中是否存在所述es字段类型对应的es字段名称;
16.若存在,则依据预设命名规则创建所述es字段类型对应的新es字段名称,并将所述待存储数据存储至所述新es字段名称中;
17.若不存在,则创建所述es字段名称,并将所述待存储数据存储至所述es字段名称
中。
18.可选的,在创建所述es字段类型对应的新es字段名称之前,还包括:
19.判断所述es字段类型对应的es字段名称的数量是否超过第一阈值;
20.若超过,则禁止创建所述新es字段名称,并输出所述es字段类型对应的es字段名称数量超过所述第一阈值的提示信息。
21.可选的,还包括:
22.依据所述待存储数据与所述es字段名称或所述新es字段名称的对应关系建立所述预设字段映射关系表。
23.可选的,还包括:
24.依据接收到的字段名称修改命令对所述预设字段映射关系表进行修改。
25.可选的,在依据接收到的字段名称修改命令对所述预设字段映射关系表进行修改之后,还包括:
26.利用zookeeper程序广播通知每台机器清理本地缓存的所述预设字段映射关系表,并拉取修改之后的预设字段映射关系表进行缓存。
27.可选的,还包括:
28.定期扫描所述预设字段映射关系表,并将存储时间超过第二阈值的es数据删除。
29.本技术还提供一种数据处理的系统,该系统包括:
30.第一确定模块,用于根据输入的数据处理请求确定待处理数据名称及对应的处理操作;
31.第二确定模块,用于按照预设字段映射关系表确定所述待处理数据名称对应的es字段名称;其中,所述es字段名称与es字段的对应关系为多对一;
32.数据处理模块,用于在es数据库中查找所述es字段名称对应的es数据,并执行所述处理操作对所述es数据进行处理。
33.本技术还提供一种数据处理设备,该数据处理设备包括:
34.存储器,用于存储计算机程序;
35.处理器,用于执行所述计算机程序时实现如上述任一项所述数据处理的方法的步骤。
36.本技术还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述数据处理的方法的步骤。
37.本技术所提供数据处理的方法,包括:根据输入的数据处理请求确定待处理数据名称及对应的处理操作;按照预设字段映射关系表确定待处理数据名称对应的es字段名称;其中,es字段名称与es字段的对应关系为多对一;在es数据库中查找es字段名称对应的es数据,并执行处理操作对es数据进行处理。
38.本技术所提供的技术方案,通过设置es字段名称与es字段的对应关系为多对一,解决了es数据库存在的默认字段上限的问题,相对于通过es配置更改上限等其他解决方案来说,本技术实现更加简单,而且本技术是在进行es数据处理操作之前进行的待处理数据名称与es字段名称的映射,不会降低es检索性能,进而对上层业务处理不构成侵扰,上层业务处理并无感知,因此并不会影响业务处理的响应速度,达到了在突破es数据库限制的基础上提高es数据库的数据处理效率的效果。本技术同时还提供了一种数据处理的系统、设
备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
40.图1为本技术实施例所提供的一种数据处理的方法的流程图;
41.图2为本技术实施例所提供的一种预设字段映射关系表的示意图;
42.图3本技术实施例所提供的另一种数据处理的方法的流程图;
43.图4为本技术实施例所提供的一种预设命名规则的示意图;
44.图5为本技术实施例所提供的一种数据处理的系统的结构图;
45.图6为本技术实施例所提供的一种数据处理设备的结构图。
具体实施方式
46.本技术的核心是提供一种数据处理的方法、系统、设备及可读存储介质,用于在突破es数据库限制的基础上提高es数据库的数据处理效率。
47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.单一关系型数据库横纵表,检索能力差,对于大数据量的存储也有瓶颈。而nosql对事务的支持不够友好,因此一般使用elasticsearch(简称es)数据库进行数据存储和检索,es是面向文档型数据库,一条数据在这里就是一个文档,用json作为文档序列化的格式,可动态的扩展文档中的字段,存储数据量大,检索性能也比较优秀。
49.但是es数据库的弊端在于1000个默认字段的上限。现有的解决方案大致分为如下三种:
50.1)可以通过配置扩大文档字段的上限,但是此种方案会降低检索elasticsearch的效率。
51.2)与业务方和用户沟通,将不常用字段删除,然而c端系统面相市场无法控制用户的使用。
52.3)设置多维度存储和计算(例如hive),然而此种方案涉及代码重构,数据迁移等问题,改造成本大,而且数据处理效率较低。
53.故本技术提供了一种数据处理的方法,用于解决上述问题。
54.请参考图1,图1为本技术实施例所提供的一种数据处理的方法的流程图。
55.其具体包括如下步骤:
56.s101:根据输入的数据处理请求确定待处理数据名称及对应的处理操作;
57.在一个具体实施例中,这里提到的处理操作可以包括增加操作、修改操作、删除操作、查询操作中的至少一项。
58.s102:按照预设字段映射关系表确定待处理数据名称对应的es字段名称;
59.这里提到的es字段名称与es字段的对应关系为多对一,其目的在于使得自定义的es字段名称不一样,但是最终存储在es数据库中的字段类型一样,那么不同es字段名称、同一字段类型的字段在es数据库中就为同一字段,进而可以达到节省es字段使用的效果。
60.请参考图2,图2为本技术实施例所提供的一种预设字段映射关系表的示意图,如图2所示,在一个具体实施例中,这里提到的待处理数据名称具体可以为mysql数据名称,其目的在于令上层业务处理并不需要关心底层elasticsearch存储的是什么字段,对字段的处理还是按照用户自己创建的字段逻辑处理,以使无需对上层业务处理进行修改。
61.在一个具体实施例中,在执行步骤s102之前,还可以执行图3所示的步骤,以实现预设字段映射关系表中es字段名称与数据的存储,下面请参考图3,图3本技术实施例所提供的另一种数据处理的方法的流程图。
62.其具体包括以下步骤:
63.s301:根据输入的数据存储请求确定待存储数据的es字段类型;
64.s302:判断预设字段映射关系表中是否存在该es字段类型对应的es字段名称;
65.若存在,则进入步骤s303;若不存在,则进入步骤s304;
66.当预设字段映射关系表中存在es字段类型对应的es字段名称时,则证明之前已经有用户在预设字段映射关系表中建立过该es字段类型对应的es字段名称,此时执行步骤s303,依据预设命名规则创建es字段类型对应的新es字段名称,并将待存储数据存储至新es字段名称中;
67.当预设字段映射关系表中不存在该es字段类型对应的es字段名称时,则证明之前没有用户在预设字段映射关系表中建立过该es字段类型对应的es字段名称,此时执行步骤s304,创建该es字段名称,并将待存储数据存储至es字段名称中。
68.s303:依据预设命名规则创建es字段类型对应的新es字段名称,并将待存储数据存储至新es字段名称中;
69.在一个具体实施例中,请参考图4,图4为本技术实施例所提供的一种预设命名规则的示意图,如图4所示,本技术预先定义了预设命名规则,其具体可以为按es字段类型(包括long字段类型,float字段类型,date字段类型,keyword字段类型,text字段类型)生成,例如按照类型名称与数字结合的形式存储在数据库中。
70.例如,es_field_float 1,最终存储到es数据库中的字段名为es_field_float_1,这样就实现了不同用户间虽然自定义字段的名称不一样,但是最终存储在es数据库中只要类型一样的字段,那么可认为是同一字段,这样便可以达到节省es字段使用的效果。
71.在一个具体实施例中,在创建es字段类型对应的新es字段名称之前,还可以执行如下步骤:
72.判断es字段类型对应的es字段名称的数量是否超过第一阈值;
73.若超过,则禁止创建新es字段名称,并输出es字段类型对应的es字段名称数量超过第一阈值的提示信息。
74.虽然不同的用户间使用了公共的es字段,但是为了避免单一的用户无限创建es字段名称,本技术还设置了一个es字段创建的上限,例如可以设置一种字段类型的上限是50个。
75.s303:创建该es字段名称,并将待存储数据存储至es字段名称中。
76.在一个具体实施例中,还可以通过执行如下步骤实现预设字段映射关系表的建立:
77.依据待存储数据与es字段名称或新es字段名称的对应关系建立该预设字段映射关系表。
78.在一个具体实施例中,还可以通过执行如下步骤实现预设字段映射关系表中映射关系的修改:
79.依据接收到的字段名称修改命令对预设字段映射关系表进行修改。
80.在一个具体实施例中,针对于集群应用中预设字段映射关系表的修改,还可以执行如下步骤:
81.利用zookeeper程序广播通知每台机器清理本地缓存的预设字段映射关系表,并拉取修改之后的预设字段映射关系表进行缓存。
82.在一个具体实施例中,还可以执行如下步骤:
83.定期扫描预设字段映射关系表,并将存储时间超过第二阈值的es数据删除。
84.用户操作删除重建字段还是会导致最终创建的字段数量大于1000,所以必须重复使用已删除的字段,在一个具体实施例中,清除字段的过程可以为:
85.清除已删除的字段的数据空出字段名称;
86.异步定时任务清除已删除字段es存储的值;
87.通过检索出该字段有值的数据把该字段的值更新成空,达到清除值的效果。
88.s103:在es数据库中查找es字段名称对应的es数据,并执行处理操作对es数据进行处理。
89.基于上述技术方案,本技术所提供的一种数据处理的方法,通过设置es字段名称与es字段的对应关系为多对一,解决了es数据库存在的默认字段上限的问题,相对于通过es配置更改上限等其他解决方案来说,本技术实现更加简单,而且本技术是在进行es数据处理操作之前进行的待处理数据名称与es字段名称的映射,不会降低es检索性能,进而对上层业务处理不构成侵扰,上层业务处理并无感知,因此并不会影响业务处理的响应速度,达到了在突破es数据库限制的基础上提高es数据库的数据处理效率的效果。
90.请参考图5,图5为本技术实施例所提供的一种数据处理的系统的结构图。
91.该系统可以包括:
92.第一确定模块100,用于根据输入的数据处理请求确定待处理数据名称及对应的处理操作;
93.第二确定模块200,用于按照预设字段映射关系表确定待处理数据名称对应的es字段名称;其中,es字段名称与es字段的对应关系为多对一;
94.数据处理模块300,用于在es数据库中查找es字段名称对应的es数据,并执行处理操作对es数据进行处理。
95.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
96.第三确定模块,用于根据输入的数据存储请求确定待存储数据的es字段类型;
97.第一判断模块,用于判断预设字段映射关系表中是否存在es字段类型对应的es字段名称;
98.第一创建模块,用于若存在,则依据预设命名规则创建es字段类型对应的新es字段名称,并将待存储数据存储至新es字段名称中;
99.第二创建模块,用于若不存在,则创建es字段名称,并将待存储数据存储至es字段名称中。
100.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
101.第二判断模块,用于判断es字段类型对应的es字段名称的数量是否超过第一阈值;
102.输出模块,用于若超过,则禁止创建新es字段名称,并输出es字段类型对应的es字段名称数量超过第一阈值的提示信息。
103.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
104.建立模块,用于依据待存储数据与es字段名称或新es字段名称的对应关系建立预设字段映射关系表。
105.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
106.修改模块,用于依据接收到的字段名称修改命令对预设字段映射关系表进行修改。
107.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
108.通知模块,用于利用zookeeper程序广播通知每台机器清理本地缓存的预设字段映射关系表,并拉取修改之后的预设字段映射关系表进行缓存。
109.在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:
110.删除模块,用于定期扫描预设字段映射关系表,并将存储时间超过第二阈值的es数据删除。
111.由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
112.请参考图6,图6为本技术实施例所提供的一种数据处理设备的结构图。
113.该数据处理设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器622可以设置为与存储介质630通信,在数据处理设备600上执行存储介质630中的一系列指令操作。
114.数据处理设备600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
115.上述图1至图4所描述的数据处理的方法中的步骤由数据处理设备基于该图6所示的结构实现。
116.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
117.在本技术所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
118.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
119.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
120.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上对本技术所提供的一种数据处理的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围内。
122.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜