CN111552735A - 基于数据链路的数据同步方法、装置、计算机设备和介质 - Google Patents
基于数据链路的数据同步方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN111552735A CN111552735A CN202010235390.6A CN202010235390A CN111552735A CN 111552735 A CN111552735 A CN 111552735A CN 202010235390 A CN202010235390 A CN 202010235390A CN 111552735 A CN111552735 A CN 111552735A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- synchronized
- real
- text data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于数据处理领域,公开了一种基于数据链路的数据同步方法、装置、计算机设备及可读存储介质。所述方法包括从待同步数据源中获取日志文件,并将所述日志文件中的日志数据转换为文本数据;为每一行所述文本数据增加预设标识,并基于所述待同步数据源对应的数据链路将所述文本数据写入文件数据库中,作为目标文本数据;将所述目标文本数据封装成消息数据,并指示实时处理程序进行解析;基于数据链链路将解析后的消息数据发送至实时数据仓库实现数据同步。采用本方法解决了现有技术中在数据同步过程中定位出错数据比较困难的技术问题。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种基于数据链路的数据同步方法、装置、计算机设备和存储介质。
背景技术
数据同步是系统与系统之间或者模块与模块之间的数据保持完整性与一致性的方式,现有的数据同步技术可以根据实时处理程序同步系统中的某个数据库中所有表的数据,但是控制单个表的数据同步不方便,而且如果某个表的数据有缺失,想要定位缺失或者出错数据的位置以及找回数据就比较困难,再者现有的数据同步方案只能处理固定的几个数据源,导致不能实时发现新的数据源并及时对新数据源上的数据进行同步处理。
发明内容
基于此,有必要针对上述技术问题,本申请提供一种基于数据链路的数据同步方法、装置、计算机设备及存储介质,以解决在数据同步过程中定位出错数据比较困难的技术问题。
一种基于数据链路的数据同步方法,所述方法包括:
从待同步数据源中获取日志文件,并将所述日志文件中的日志数据转换为文本数据;
为每一行所述文本数据增加预设标识,并基于所述待同步数据源对应的数据链路将所述文本数据写入文件数据库中,作为目标文本数据;
将所述目标文本数据封装成消息数据,并指示实时处理程序对接收到的所述消息数据进行实时解析;
基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
一种基于数据链路的数据同步装置,所述装置包括:
数据转换模块,用于从待同步数据源中获取日志文件,并将所述日志文件中的日志数据转换为文本数据;
数据标记模块,用于为每一行所述文本数据增加预设标识,并基于所述待同步数据源对应的数据链路将所述文本数据写入文件数据库中,作为目标文本数据;
数据封装模块,用于将所述目标文本数据封装成消息数据,并指示实时处理程序对接收到的所述消息数据进行实时解析;
数据同步模块,用于基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于数据链路的数据同步方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于数据链路的数据同步方法的步骤。
上述基于数据链路的数据同步方法、装置、计算机设备和存储介质,通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于数据链路的数据同步方法的应用环境示意图;
图2为基于数据链路的数据同步方法的流程示意图;
图3为另一实施例的基于数据链路的数据同步方法的流程示意图;
图4为图3中步骤302的流程示意图;
图5为图2中步骤204的流程示意图;
图6为图2中步骤208的另一流程示意图;
图7为另一实施例中图2中步骤208的流程示意图;
图8为图7中步骤704的流程示意图;
图9为基于数据链路的数据同步装置的示意图;
图10为一个实施例中计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于数据链路的数据同步方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、106网络以及服务端104,网络用于在终端102、106和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102、106通过网络与服务端104交互,以接收或发送消息等。终端102、106上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端102、106可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的基于数据链路的数据同步方法一般由服务端/终端执行,相应地,基于数据链路的数据同步装置一般设置于服务端/终端设备中。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信。服务端104从终端102获取日志文件,并将日志文件中的日志数据转换为文本数据,再将日志数据生成的时间戳、在日志文件中的行号作为预设标识增加到文本数据中,基于待同步数据源已建立的数据链路将文本数据写入文件数据库中,作为目标文本数据。最后对目标文本数据进行封装、解析发送至实时数据仓库实现数据同步。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于数据链路的数据同步方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:
步骤202,从待同步数据源中获取日志文件,并将日志文件中的日志数据转换为文本数据。
待同步数据源是指数据库应用程序所使用的数据库或者数据库服务器。示例性的,所述数据源可以包括亚马逊的跨科学云数据平台、国家数据、中华人民共和国国家统计局以及公开数据集(Awesome Public Datasets)等。
日志文件是记录在操作系统或其他软件运行中发生的事件或在通信软件的不同用户之间的消息文件,对于处理历史数据、诊断问题的追踪以及理解系统的活动等具有重要作用。
本实施例中获取待同步数据源的日志文件是指:根据数据源的数据库从数据库中获取日志文件。数据库在数据源上,日志文件保存在数据库中,比如在某一后台服务器上的数据库中保存有某进程工作的日志文件,我们可以通过爬虫程序从该数据库中爬取所需要的日志文件进行处理,这里的数据源可以是包括日志文件的服务器、终端。
因为获取到的日志文件都是二进制日志文件,二进制日志文件里的数据都是二进制数据,其中,二进制数据的可读性较弱,同时在日志文件中定位丢失的二进制数据或出错的二进制数据比较困难,因此需要将日志文件中的二进制数据转换为文本数据。
进一步地,可以获取二进制数据对应的字符串,并将得到的字符串作为文本数据。该操作可以通过JavaScript实现,JavaScript中有将二进制数据转换为文本数据的函数,比如可以使用toString()函数用户将二进制数据以字符串的形式返回。
步骤204,为每一行文本数据增加预设标识,并基于待同步数据源对应的数据链路将文本数据写入文件数据库中,作为目标文本数据。
本实施例中将从数据源到实时数据仓库的数据流、数据同步任务成为一条数据链路,即可以将数据链路视为数据同步的通道,其中,实时数据仓库是指可以进行实时的插入更新以及单个或批量查询的数据仓库。目标文本数据即是写入文件数据库中包括了预设标识的文本数据。消息系统是用来存储多条消息的系统,本实施例中主要是暂存消息的作用,比如kafka,这里的kafka即是文件数据库。
预设标识可以是文本数据的唯一识别号,可以根据文本数据的生成时间和/或文本数据的偏移量得到。
步骤206,将目标文本数据封装成消息数据,并指示实时处理程序对接收到的消息数据进行实时解析。
根据目标文本数据的每一行文本数据,将得到的每一行文本数据通过数据链路上的实时处理程序封装成多条消息,然后将封装后的多条消息数据通过实时处理程序进行消息传递。本实施例中,实时处理程序是可以进行文本数据以及消息数据类型转换的控件。此外,实时处理程序还对消息数据进行解析,并将解析后的信息数据发送至实时数据仓库。其中,实时处理程序是在数据处理系统中(Data Process)运行,数据处理系统是一个流失的处理系统,实时处理程序将每一条消息数据从文件数据库(kafka)同步到实时数据仓库中。
数据仓库(Data WareHouse)是用于存储数据的仓库,数据来源于外部,并且可以开放给外部应用,数据仓库本身不产生数据;实时数据仓库是指可以进行实时的插入更新以及单个或批量查询的数据仓库。
步骤208,基于数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
实时数据仓库是指可以进行实时的插入更新以及单个或批量查询的数据仓库。成功地将解析后的信息数据发送到实时数据仓库则说明数据同步成功。
本实施例通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。
在一个实施例中,如图3所示,在步骤202之前,还包括:
步骤302,判断待同步数据源是否为新增数据源。
新增数据源是尚未构建数据链路进行数据同步的数据源;若待同步数据源的名称与目标数据源的名称不同,则判断待同步数据源的IP地址与目标数据源的目标协议地址是否相同;若待同步数据源的IP地址(互联网协议地址)与目标协议地址不同,则确定待同步数据源为新增数据源。其中,目标数据源是正在进行同步或者已经同步完成的数据源。
步骤304,若待同步数据源为新增数据源,则根据待同步数据源的源名称、互联网协议地址构建新增数据源的数据链路。
在进行数据同步之前需要判断一下该待同步数据源是否为已经同步过或者正在同步的目标数据源,目标数据源已经构建了数据链路,无需重新构建,但是需要为新的数据源构建数据链路,以保证数据同步通路的顺畅。
本实施例通过数据源的名称以及数据源的IP地址构建数据链路,通过数据链路可以实时发现新增的数据源以及动态增加数据源,避免了数据同步只能处理已知的数据源以及固定数量的数据源的问题。
在一个实施例中,如图4所示,步骤302,包括:
步骤402,判断待同步数据源的源名称与目标数据源的名称是否相同,其中,目标数据源为正在进行同步或者已经同步完成的数据源。
步骤404,若源名称与目标数据源的名称不同,则判断互联网协议地址与目标数据源的目标协议地址是否相同。
步骤406,若互联网协议地址与目标协议地址不同,则确定待同步数据源为新增数据源。
目标数据源的名称被存储在数据源数据库中,新加入的数据源只要在该数据源数据库中进行判断,判断其源名称是否与目标数据源的相同,因为目标数据源的名称可能会有重复或者后续更改,所有只有当待同步数据源的源名称与互联网协议地址都与目标数据源的不同时,才说明待同步数据源是新增数据源。
本实施例实现了在数据同步过程中,当有新增的数据源加入同步或者实时发现新增的数据源时,能够通过及时为新增数据源建立数据链路达到对其上的日志文件进行及时同步处理的目的。
在一个实施例中,如图5所示,步骤204,包括:
步骤502,获取每一行文本数据的时间戳,其中,时间戳为文本数据对应的日志数据在待同步数据源中生成的时间。
步骤504,获取文本数据的行号,其中,行号为文本数据对应的日志数据在日志文件中所在位置。
步骤506,将行号、时间戳作为预设标识加入到文本数据中。
行号是文本数据在日志文件中所在的行数,时间戳是一个能表示文本数据在某个特定时间之前已经存在的、完整的、可验证的数据,可以唯一的标识该文本数据在某一刻的时间。当出现某一段时间内解析出现异常,而数据的行数有比较多,无法单纯通过行数进行准确定位的时候或者通过行数进行异常定位所耗费的时间比较多的时候,就需要获取从时间戳点A-到-时间戳点B之间的数据,进行回溯解析了,这样在数据量比较大的情况下,可以时间戳与行号结合准确定位出问题文本数据,节省了数据处理时间。
示例性的,预设标识为“行号”:“1000091”,“时间戳”:2019-09-02-23:39:08.180。
目标文本数据可以为:
″数据″:[{″数据项标识″:″3″,″名称″:″leo_test″}],
″数据库名″:″cdc″,
″日志生成时间戳″:2019-09-02:14:22:02.128,
″是否改变表结构″:否,
″数据类型″:{″数据项标识″:″字符串类型长度20″,″姓名″:″字符串类型″},
″旧数据″:无,
″主键名″:[″数据项标识″],
″数据库操作类型″:{″数据项标识长度″:12字节,″姓名长度″:12字节},
″表名″:″cdc_link″,
″ts″:1560223631621,
″类型″:″插入操作″,
″行号″:″1000091″,
″写入文件系统时间戳″:2019-09-02-23:39:08.180。
本实施例中,通过对二进制转换后的文本数据增加预设标识(行号、时间戳),可以更准确的定位日志文件中的文本数据。
在一个实施例中,如图6所示,步骤208,包括:
步骤602,判断解析后的消息数据是否异常。
步骤604,若解析后的消息数据异常,则指示实时处理程序重复解析消息数据的操作,并基于数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
若在将解析后的消息数据发送到实时数据仓库中后,实时数据仓库提示存在异常,比如抛出异常,一般地,根据throws Exception()判断是否抛出异常,若出现throwsException(),确定抛出异常,判定存在解析错误的消息数据。
本实施例通过重新对消息数据进行解析,可以保证数据同步的准确性。
在一个实施例中,如图7所示,步骤208,还包括:
步骤702,判断解析后的消息数据是否异常。
步骤704,若解析后的消息数据异常,则根据预设标识定位解析错误的消息数据对应的目标文本数据。
步骤706,将定位到的目标文本数据重新封装、指示实时处理程序解析后发送至实时数据仓库实现数据同步。
当出现某一段时间内解析出现异常,而数据的行数有比较多,无法单纯通过行数进行准确定位的时候或者通过行数进行异常定位所耗费的时间比较多的时候,就需要获取从时间戳点A-到-时间戳点B之间的数据,进行回溯解析了,这样在数据量比较大的情况下,可以时间戳与行号结合准确定位出问题文本数据,节省了数据处理时间。
换一种说法就是,时间戳限定回溯范围、行数定位范围内的问题文本数据。
具体可通过数据回溯追踪系统来实现数据定位,数据回溯追踪系统可在目标文本数据解析出错的情况下,定位出错数据在目标文本数据中的具体位置。
本实施例中,上述的数据处理系统把定位到的解析错误的目标文本数据发送到数据回溯追踪系统(track),数据回溯追踪系统会将解析错误的目标文本数据通过发送控件(sender)重新发送处理,提高了处理目标文本数据的准确性。而且通过重复解析消息数据还可以获取解析错误的信息数据所对应的目标文本数据重新进行封装后解析,保证数据同步的准确性。
在一个实施例中,如图8所示,步骤704,包括:
步骤802,根据时间戳限定解析错误的消息数据对应的目标文本数据的回溯范围。
步骤804,根据行号从回溯范围内对解析错误的消息数据进行具体位置定位,并得到解析错误的消息数据对应的目标文本数据。
当出现某一段时间内解析出现异常,而数据的行数有比较多,无法单纯通过行数进行准确定位的时候或者通过行数进行异常定位所耗费的时间比较多的时候,就需要获取从时间戳点A-到-时间戳点B之间的数据,进行回溯解析了,这样在数据量比较大的情况下,可以时间戳与行号结合准确定位出问题文本数据,节省了数据处理时间。
换一种说法就是,时间戳限定回溯范围、行数定位范围内的问题文本数据。
具体可通过数据回溯追踪系统来实现数据定位,数据回溯追踪系统可在目标文本数据解析出错的情况下,定位出错数据在目标文本数据中的具体位置。
本实施例中,上述的数据处理系统把定位到的解析错误的目标文本数据发送到数据回溯追踪系统(track),所述数据回溯追踪系统会将解析错误的目标文本数据通过发送控件(sender)重新发送处理,提高了处理目标文本数据的准确性。
应该理解的是,虽然图2-图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种基于数据链路的数据同步装置,该基于数据链路的数据同步装置与上述实施例中基于数据链路的数据同步方法一一对应。该基于数据链路的数据同步装置包括:
数据转换模块902,用于从待同步数据源中获取日志文件,并将日志文件中的日志数据转换为文本数据。
数据标记模块904,用于为每一行文本数据增加预设标识,并基于待同步数据源对应的数据链路将文本数据写入文件数据库中,作为目标文本数据。
数据封装模块906,用于将目标文本数据封装成消息数据,并指示实时处理程序进行实时解析。
数据同步模块908,用于基于数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
进一步地,在数据转换模块902之前,还包括:
新增判断子模块,用于判断待同步数据源是否为新增数据源。
链路构建子模块,用于若待同步数据源为新增数据源,则获根据待同步数据源的源名称、互联网协议地址构建新增数据源的数据链路。
进一步地,新增判断子模块,包括:
名称判断单元,用于待同步数据源的判断源名称与目标数据源的名称是否相同,其中,目标数据源为正在进行同步或者已经同步完成的数据源。
地址判断单元,用于若源名称与目标数据源的名称不同,则判断互联网协议地址与目标数据源的目标协议地址是否相同。
类型确认单元,用于若互联网协议地址与目标数据源的协议地址不同,则确定待同步数据源为新增数据源。
进一步地,数据标记模块904,包括:
时间获取子模块,用于获取每一行所述文本数据的时间戳,其中,时间戳为文本数据对应的日志数据在待同步数据源中生成的时间。
行号获取子模块,用于获取文本数据的行号,其中,行号为文本数据对应的日志数据在日志文件中所在位置。
标识添加子模块,用于将行号、时间戳作为预设标识加入到文本数据中。
进一步地,数据同步模块908,包括:
异常判断子模块,用于判断解析后的消息数据是否异常。
重复解析子模块,用于若解析后的消息数据异常,则指示实时处理程序重复解析消息数据的操作,并基于数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
进一步地,数据同步模块908,还包括:
异常定位子模块,用于若解析后的消息数据异常,则根据预设标识定位解析错误的消息数据对应的目标文本数据;并
其中,重复解析子模块,还用于将定位到的目标文本数据重新封装、指示实时处理程序解析后发送至实时数据仓库实现数据同步。
进一步地,异常定位子模块,包括:
范围限定单元,用于根据所述时间戳限定解析错误的消息数据对应的目标文本数据的回溯范围。
具体定位单元,用于根据行号从回溯范围内对解析错误的消息数据进行具体位置定位,并得到解析错误的消息数据对应的目标文本数据。
上述基于数据链路的数据同步装置,通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户订单数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于数据链路的数据同步方法。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于数据链路的数据同步方法的步骤,例如图2所示的步骤202至步骤208,或者,处理器执行计算机程序时实现上述实施例中基于数据链路的数据同步装置的各模块/单元的功能,例如图9所示模块902至模块908的功能,通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。为避免重复,此处不再赘述。通过为每一行文本数据增加预设标识,写入文件数据库中作为目标文本数据,并将目标文本数据进行封装、解析后发送至实时数据仓库实现数据同步。解决了在数据同步过程中定位出错数据比较困难的技术问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于数据链路的数据同步方法,其特征在于,所述方法包括:
从待同步数据源中获取日志文件,并将所述日志文件中的日志数据转换为文本数据;
为每一行所述文本数据增加预设标识,并基于所述待同步数据源对应的数据链路将所述文本数据写入文件数据库中,作为目标文本数据;
将所述目标文本数据封装成消息数据,并指示实时处理程序对接收到的所述消息数据进行实时解析;
基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
2.根据权利要求1所述的方法,其特征在于,在所述从待同步数据源中获取日志文件之前,还包括:
判断所述待同步数据源是否为新增的数据源;
若所述待同步数据源为新增数据源,则根据所述待同步数据源的源名称、互联网协议地址构建所述新增数据源的所述数据链路。
3.根据权利要求2所述的方法,其特征在于,所述判断所述待同步数据源是否为新增的数据源,包括:
判断所述待同步数据源的源名称与目标数据源的名称是否相同,其中,所述目标数据源为正在进行同步或者已经同步完成的数据源;
若所述源名称与所述目标数据源的名称不同,则判断所述待同步数据源的互联网协议地址与所述目标数据源的目标协议地址是否相同;
若所述互联网协议地址与所述目标协议地址不同,则确定所述待同步数据源为所述新增数据源。
4.根据权利要求1所述的方法,其特征在于,所述为每一行所述文本数据增加预设标识,包括:
获取每一行所述文本数据的时间戳,其中,所述时间戳为所述文本数据对应的日志数据在所述待同步数据源中生成的时间;
获取所述文本数据的行号,其中,所述行号为所述文本数据对应的日志数据在所述日志文件中所在位置;
将所述行号、所述时间戳作为预设标识加入到所述文本数据中。
5.根据权利要求1所述的方法,其特征在于,所述基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步,包括:
判断解析后的消息数据是否异常;
若解析后的消息数据异常,则指示所述实时处理程序重复解析所述消息数据的操作,并基于所述数据链路将解析后的消息数据发送至所述实时数据仓库实现数据同步。
6.根据权利要求5所述的方法,其特征在于,所述基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步,还包括:
若解析后的消息数据异常,则根据所述预设标识定位解析错误的消息数据对应的目标文本数据;并
将定位到的目标文本数据重新封装、指示所述实时处理程序解析后发送至所述实时数据仓库实现数据同步。
7.根据权利要求6所述的方法,其特征在于,所述根据所述预设标识定位解析错误的消息数据对应的目标文本数据,包括:
根据所述时间戳限定解析错误的消息数据对应的目标文本数据的回溯范围;
根据所述行号从所述回溯范围内对所述解析错误的消息数据进行具体位置定位,得到所述解析错误的消息数据对应的目标文本数据。
8.一种基于数据链路的数据同步装置,其特征在于,包括:
数据转换模块,用于从待同步数据源中获取日志文件,并将所述日志文件中的日志数据转换为文本数据;
数据标记模块,用于为每一行所述文本数据增加预设标识,并基于所述待同步数据源对应的数据链路将所述文本数据写入文件数据库中,作为目标文本数据;
数据封装模块,用于将所述目标文本数据封装成消息数据,并指示实时处理程序对接收到的所述消息数据进行实时解析;
数据同步模块,用于基于所述数据链路将解析后的消息数据发送至实时数据仓库实现数据同步。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235390.6A CN111552735A (zh) | 2020-03-27 | 2020-03-27 | 基于数据链路的数据同步方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235390.6A CN111552735A (zh) | 2020-03-27 | 2020-03-27 | 基于数据链路的数据同步方法、装置、计算机设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111552735A true CN111552735A (zh) | 2020-08-18 |
Family
ID=72005527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010235390.6A Pending CN111552735A (zh) | 2020-03-27 | 2020-03-27 | 基于数据链路的数据同步方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552735A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069137A (zh) * | 2020-09-02 | 2020-12-11 | 北京百度网讯科技有限公司 | 生成信息的方法、装置、电子设备及计算机可读存储介质 |
CN112084265A (zh) * | 2020-09-11 | 2020-12-15 | 北京金山云网络技术有限公司 | 一种日志数据同步方法、装置、服务器及存储介质 |
CN113010426A (zh) * | 2021-03-19 | 2021-06-22 | 汇链通供应链科技(上海)有限公司 | 基于数据回溯的产品性能分析方法及装置 |
CN113742376A (zh) * | 2020-10-28 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种同步数据的方法、第一服务器以及同步数据的系统 |
CN113760920A (zh) * | 2020-08-20 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、电子设备和存储介质 |
-
2020
- 2020-03-27 CN CN202010235390.6A patent/CN111552735A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760920A (zh) * | 2020-08-20 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、电子设备和存储介质 |
CN113760920B (zh) * | 2020-08-20 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、电子设备和存储介质 |
CN112069137A (zh) * | 2020-09-02 | 2020-12-11 | 北京百度网讯科技有限公司 | 生成信息的方法、装置、电子设备及计算机可读存储介质 |
CN112069137B (zh) * | 2020-09-02 | 2024-05-17 | 阿波罗智联(北京)科技有限公司 | 生成信息的方法、装置、电子设备及计算机可读存储介质 |
CN112084265A (zh) * | 2020-09-11 | 2020-12-15 | 北京金山云网络技术有限公司 | 一种日志数据同步方法、装置、服务器及存储介质 |
CN113742376A (zh) * | 2020-10-28 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种同步数据的方法、第一服务器以及同步数据的系统 |
CN113010426A (zh) * | 2021-03-19 | 2021-06-22 | 汇链通供应链科技(上海)有限公司 | 基于数据回溯的产品性能分析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552735A (zh) | 基于数据链路的数据同步方法、装置、计算机设备和介质 | |
CN110008118A (zh) | 页面数据测试方法、装置、计算机设备和存储介质 | |
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN111310427A (zh) | 业务数据配置处理方法、装置、计算机设备和存储介质 | |
CN113365106B (zh) | 一种多媒体资源生成方法、装置、电子设备及存储介质 | |
CN109787974B (zh) | 报文数据流生成方法、装置、计算机设备和存储介质 | |
CN111400378A (zh) | 基于ElasticSearch的日志实时显示方法、装置、计算机设备和介质 | |
CN110069413B (zh) | 测试数据通信、测试方法、装置、设备及存储介质 | |
CN113221522B (zh) | 报表生成方法、装置、系统、电子设备及存储介质 | |
CN113435608A (zh) | 联邦学习模型的生成方法、装置、计算机设备及存储介质 | |
CN112416458A (zh) | 基于ReactNative的预加载方法、装置、计算机设备及存储介质 | |
CN112241298A (zh) | 页面显示方法及装置、存储介质、电子装置 | |
CN112615759A (zh) | 全链路压测组件、全链路压测方法及装置 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112115337A (zh) | 展示数据的方法及装置、电子设备、计算机可读存储介质 | |
CN111813685A (zh) | 自动化测试方法和装置 | |
CN112631884A (zh) | 基于数据同步的压测方法、装置、计算机设备及存储介质 | |
CN111552696A (zh) | 基于大数据的数据处理方法、装置、计算机设备和介质 | |
CN112817816B (zh) | 埋点处理方法、装置、计算机设备和存储介质 | |
CN108737487B (zh) | 数据同步方法和装置、存储介质及电子装置 | |
CN114153703A (zh) | 微服务的异常定位方法、装置、电子设备和程序产品 | |
CN110765610B (zh) | Pdm集成方法、装置、计算机设备及存储介质 | |
CN109788010A (zh) | 一种数据本地化存取的方法和装置 | |
CN109614592B (zh) | 文本的处理方法、装置、存储介质和电子设备 | |
CN112905464B (zh) | 应用运行环境数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |