数据同步方法、系统、介质及设备与流程
- 国知局
- 2024-07-31 23:01:57
本发明涉及数据同步,具体地说是一种数据同步方法、系统、介质及设备。
背景技术:
1、数据同步是一个宽泛的概念,主要指的是在不同数据源之间保持数据的一致性和实时性。它可以在多种场景下应用,包括但不限于数仓、数据湖、上游业务库、软件、硬件、发布服务器和订阅服务器等。
2、在数据库和大数据领域,数据同步通常涉及change data capture(cdc)场景,即当上游业务库内的数据发生变更后,下游的数仓或数据湖能够立即感知并同步这些变化。实现cdc的方案有多种,包括定期批量merge方式和上游源表输出binlog的方式。前者通过捕获上游原始表的增量更新,将更新的数据输出到一个新的表中,然后下游仓库利用merge或upsert语法将增量表与已有表进行合并。后者则是上游源表输出binlog,下游仓库进行binlog的回放。
3、在软件同步方面,一种常见的方式是依靠操作系统对获取的数据打时间戳,然后根据时间戳进行数据的同步和融合。这种方式实现简单,但可能存在较大的误差。硬件同步则可以通过将设备交由同一处理器平台采集和控制,或者基于不同平台间的时间精确同步来实现。
4、此外,在数据库复制的场景中,数据同步涉及在发布服务器和订阅服务器之间传播数据和架构更改的过程。这可以根据不同的复制类型(如快照复制、事务复制和合并复制)以不同的方式发生。
5、数据同步是当今信息系统中至关重要的任务之一,通常需要从多个数据源采集数据,并将其集成到中央数据库中。传统数据同步工具需要手动创建表结构并编写数据插入代码,这在数据结构频繁变化的情况下变得复杂且难以维护。
6、故如何将获取的数据自动生成数据库表结构并存储数据,简化数据同步过程是目前亟待解决的技术问题。
技术实现思路
1、本发明的技术任务是提供一种数据同步方法、系统、介质及设备,来解决如何将获取的数据自动生成数据库表结构并存储数据,简化数据同步过程的问题。
2、本发明的技术任务是按以下方式实现的,一种数据同步方法,该方法具体如下:
3、s1、获取数据:从指定api端点通过http请求获取数据,将返回的数据映射为一个数据列表;
4、s2、提取字段:提取数据中的字段名称,并判断是否不重复,并将提取的数据中的字段名称存储在字段名称集合中;
5、s3、创建表结构:根据字段名称动态创建数据库表结构;其中,数据库表结构包括自动生成主键和字段;
6、s4、数据插入:批量将从api获取的数据插入到数据库表中,保证数据的完整性和一致性。
7、作为优选,步骤s1中的获取数据具体如下:
8、s101、发起http请求到指定api端点;
9、s102、判断是否成功获取数据:
10、①若是,则执行步骤s103;
11、②若否,则提示获取数据失败;
12、s103、将返回的数据映射为数据列表,以列表的形式存储返回的数据;
13、s104、存储返回的数据列表;
14、s105、结束。
15、作为优选,步骤s2中的提取字段具体如下:
16、s201、获取字段名称集合;
17、s202、初始化空的数据库表结构;
18、s203、判断字段是否已经存在于字段名称集合中:
19、①若是,则跳过重复字段,并执行步骤s204;
20、②若否,将字段添加到字段名称集合中;
21、s204、提取下一个字段名称,并跳转至步骤s203。
22、作为优选,步骤s3中的创建表结构具体如下:
23、s301、获取字段名称集合;
24、s302、初始化空的数据库表结构;
25、s303、判断是否存在字段名称:
26、①若否,则生成主键字段,并将主键字段添加到数据库表结构中,创建数据库表结构;
27、②若是,则执行步骤s304;
28、s304、提起下一个字段名称;
29、s305、为字段名称生成表字段定义;
30、s306、将表字段添加到数据库表结构中,并跳转至步骤s303。
31、作为优选,步骤s4中的数据插入具体如下:
32、s401、从api端点获取数据;
33、s402、将数据插入到数据库表中;
34、s403、验证数据完整性和一致性;
35、s404、处理数据以满足设定需求。
36、更优地,获取数据时,通过配置文件指定api的位置和数据映射规则。
37、一种数据同步系统,该系统包括:
38、数据获取模块,用于从指定api端点通过http请求获取数据,将返回的数据映射为一个数据列表;
39、字段提取模块,用于提取数据中的字段名称,并判断是否不重复,并将提取的数据中的字段名称存储在字段名称集合中;
40、表结构创建模块,用于根据字段名称动态创建数据库表结构;其中,数据库表结构包括自动生成主键和字段;
41、数据插入模块,用于批量将从api获取的数据插入到数据库表中,保证数据的完整性和一致性。
42、作为优选,该系统的工作过程具体如下:
43、(1)发起http请求到指定api端点;
44、(2)判断是否成功获取数据:
45、①若是,则执行步骤(3);
46、②若否,则提示获取数据失败;
47、(3)将返回的数据映射为数据列表,以列表的形式存储返回的数据;
48、(4)存储返回的数据列表;
49、(5)数据源准备就绪;
50、(6)获取字段名称集合;
51、(7)初始化空的数据库表结构;
52、(8)判断字段是否已经存在于字段名称集合中:
53、①若是,则跳过重复字段,并执行步骤(9);
54、②若否,将跳转至步骤(12)
55、(9)提取下一个字段名称;
56、(10)为字段名称生成表字段定义;
57、(11)将表字段添加到数据库表结构中,并跳转至步骤(8)。
58、(12)生成主键字段;
59、(13)将主键字段添加到数据库表结构中;
60、(14)创建数据库表结构;
61、(15)从api获取数据;
62、(16)将数据插入到数据库表中;
63、(17)验证数据完整性和一致性;
64、(18)处理数据以满足设定需求。
65、一种电子设备,包括:存储器和至少一个处理器;
66、其中,所述存储器存储计算机执行指令;
67、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上述的数据同步方法。
68、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如上述的数据同步方法。
69、本发明的数据同步方法、系统、介质及设备具有以下优点:
70、(一)本发明通过http请求从特定api端点获取数据,然后动态生成数据库表结构,最终将数据存储于这些表中;相对于传统方法,本发明在灵活性和自动化程度方面有明显优势,极大地简化了数据同步流程;
71、(二)本发明能够根据从api获取的数据自动生成数据库表结构并存储数据,从而简化数据同步过程;
72、(三)本发明能够实现自动化数据同步:本发明消除了大量的手动工作,降低了人工干预的需求,显著提高了工作效率;
73、(四)本发能够实现动态表结构生成:本发明能够根据数据源的变化自动调整表结构,增强了系统的灵活性;
74、(五)本发明实现了数据完整性与一致性:本发明保证了数据同步过程中的数据完整性和一致性,减少了潜在的错误;
75、(六)本发明支持多数据源:本发明能够适用于多种数据源和数据库系统,提高了通用性;
76、(七)本发明支持定时任务:本发明支持定时执行数据同步任务,以确保数据的实时性;
77、(八)本发明能够实现数据表的维护:本发明能够对已存在的数据库表进行更新和维护,以适应数据结构的变化。
78、(九)本发明能够自动适应不同数据结构的变化,以动态生成数据库表结构;
79、(十)本发明能够自动检测和处理数据同步过程中的错误,并提供错误日志;
80、(十一)本发明具有用户界面,以便用户配置和监控数据同步任务。
本文地址:https://www.jishuxx.com/zhuanli/20240730/195693.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。