数据处理方法、装置、电子设备及介质制造方法及图纸

技术编号:36876059 阅读:14 留言:0更新日期:2023-03-15 20:36
本发明专利技术公开了一种数据处理方法、装置、电子设备及介质,涉及计算机技术领域。该方法包括:获取待更新数据,确定所述待更新数据的标识;确定所述待更新数据的标识是否被标记;在所述待更新数据的标识未被标记的情况下,查询Clickhouse数据表中是否存在所述待更新数据的标识;在所述Clickhouse数据表中不存在所述待更新数据的标识的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。该方法通过对待更新数据的标识进行两次判断可以保证数据的唯一性,克服了数据更新、删除时的重复、丢失的技术问题,且该方法操作简单,响应迅速,提高了响应率和效率,适用于数据高并发的情况。适用于数据高并发的情况。适用于数据高并发的情况。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种数据处理方法、装置、电子设备及介质。

技术介绍

[0002]Clickhouse是开源的列式存储数据库(Column

oriented DBMS),主要用于在线分析处理查询(OLAP),能够使用结构化查询语句(Structured Query Language,SQL)查询,实时生成分析数据报告。Clickhouse具备很多特性,例如:它是一个真正的列式数据库管理系统,Clickhouse不单单是一个数据库,它还是一个数据库管理系统。因为它允许在运行时创建表和数据库、加载数据和运行查询,而无需重新配置或重启服务,具备数据压缩、数据磁盘存储特性。Clickhouse被设计用于工作在传统磁盘上的系统,而且数据压缩特性使它每GB数据量消耗更低的存储成本;还支持多核并行处理以及实时数据更新等特性,而且具有多种库引擎和表引擎。然而,Clickhouse的删除操作、更新操作是异步执行的,相关技术方案对待更新的每一条数据都会查询Clickhouse表,效率较低,在并发较高的情况下,不能完全保证Clickhouse表中数据的唯一性,也会出现偶发性数据丢失现象,从而导致数据混乱引发错误。

技术实现思路

[0003]为解决上述技术问题或至少部分地解决上述技术问题,本专利技术实施例提供一种数据处理方法、装置、电子设备及介质。
[0004]第一方面,本专利技术实施例提供了一种数据处理方法,包括:
[0005]获取待更新数据,确定所述待更新数据的标识;
[0006]确定所述待更新数据的标识是否被标记;
[0007]在所述待更新数据的标识未被标记的情况下,查询Clickhouse数据表中是否存在所述待更新数据的标识;
[0008]在所述Clickhouse数据表中不存在所述待更新数据的标识的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。
[0009]在可选的实施例中,所述方法还包括:
[0010]在所述待更新数据的标识未被标记,且所述Clickhouse数据表中存在所述待更新数据的标识的情况下,删除所述Clickhouse数据表中与所述待更新数据的标识对应的数据;
[0011]确定是否删除成功;
[0012]在删除成功的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。
[0013]在可选的实施例中,所述方法还包括:在所述待更新数据的标识被标记的情况下,基于所述待更新数据更新所述Clickhouse数据表中相应的数据。
[0014]在可选的实施例中,所述确定所述待更新数据的标识是否被标记,包括:
[0015]基于所述待更新数据的标识查询预设的Redis数据库,确定所述Redis数据库中是否存在所述待更新数据的标识,以确定所述待更新数据的标识是否被标记。
[0016]第二方面,本专利技术实施例还提供了一种数据处理装置,包括:
[0017]获取模块,用于获取待更新数据,确定所述待更新数据的标识;
[0018]第一确定模块,用于确定所述待更新数据的标识是否被标记;
[0019]第二确定模块,用于在所述待更新数据的标识未被标记的情况下,查询Clickhouse数据表中是否存在所述待更新数据的标识;
[0020]处理模块,用于在所述Clickhouse数据表中不存在所述待更新数据的标识的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。
[0021]在可选的实施例中,所述处理模块还用于:
[0022]在所述待更新数据的标识未被标记,且所述Clickhouse数据表中存在所述待更新数据的标识的情况下,删除所述Clickhouse数据表中与所述待更新数据的标识对应的数据;
[0023]确定是否删除成功;
[0024]在删除成功的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。
[0025]在可选的实施例中,所述处理模块还用于:在所述待更新数据的标识被标记的情况下,基于所述待更新数据更新所述Clickhouse数据表中相应的数据。
[0026]在可选的实施例中,所述第一确定模块还用于:基于所述待更新数据的标识查询预设的Redis数据库,确定所述Redis数据库中是否存在所述待更新数据的标识,以确定所述待更新数据的标识是否被标记。
[0027]第三方面,本专利技术实施例还提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任一实施例所述的数据处理方法。
[0028]第四方面,本专利技术实施例还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术任一实施例所述的数据处理方法。
[0029]上述专利技术中的一个实施例具有如下优点或有益效果:
[0030]本专利技术实施例的数据处理方法,通过确定待更新数据的标识是否被标记首次判断待更新数据的唯一性,通过查询Clickhouse数据表中是否存在所述待更新数据的标识二次判断待更新数据的唯一性,在待更新数据的标识未被标记且Clickhouse数据表中不存在待更新数据的标识的情况下,确定待更新数据具备唯一性,则可以将待更新数据插入Clickhouse数据表中,本实施例通过两次判断操作,可以保证数据的唯一性,避免出现偶发性数据丢失现象,克服了Clickhouse数据异步更新出现数据重复、异步删除出现数据丢失的技术问题,并且克服了因特殊原因导致已获取到的数据未被标记或标记丢失的技术问题;且,该方法操作简单,响应迅速,提高了响应率和效率,适用于数据高并发的情况。
[0031]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0032]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0033]图1示出了本专利技术实施例的数据处理方法的流程示意图;
[0034]图2示出了本专利技术另一实施例的数据处理方法的流程示意图;
[0035]图3示出了本专利技术又一实施例的数据处理方法的流程示意图;
[0036]图4示出了本专利技术实施例的数据处理装置的结构示意图;
[0037]图5示出了本专利技术实施例的电子设备的结构示意图。
具体实施方式
[0038]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0039]在相关技术中,通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取待更新数据,确定所述待更新数据的标识;确定所述待更新数据的标识是否被标记;在所述待更新数据的标识未被标记的情况下,查询Clickhouse数据表中是否存在所述待更新数据的标识;在所述Clickhouse数据表中不存在所述待更新数据的标识的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述待更新数据的标识未被标记,且所述Clickhouse数据表中存在所述待更新数据的标识的情况下,删除所述Clickhouse数据表中与所述待更新数据的标识对应的数据;确定是否删除成功;在删除成功的情况下,标记所述待更新数据的标识,并将所述更新数据插入所述Clickhouse数据表中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述待更新数据的标识被标记的情况下,基于所述待更新数据更新所述Clickhouse数据表中相应的数据。4.根据权利要求1

3任一项所述的方法,其特征在于,所述确定所述待更新数据的标识是否被标记,包括:基于所述待更新数据的标识查询预设的Redis数据库,确定所述Redis数据库中是否存在所述待更新数据的标识,以确定所述待更新数据的标识是否被标记。5.一种数据处理装置,其特征在于,包括:获取模块,用于获取待更新数据,确定所述待更新数据的标识;第一确定模块,用于确定所述待更新数据的标识是否被标记;第二确定模块,用于在所述待更新数据的标识未被标记的情况下,查询Clickho...

【专利技术属性】
技术研发人员:陈立朝王世彪喻波王志海董晓斌
申请(专利权)人:北京明朝万达科技股份有限公司
类型:发明
国别省市:

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

1