CN112364049B - 数据同步脚本生成方法、系统、终端及存储介质 - Google Patents

数据同步脚本生成方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN112364049B
CN112364049B CN202011247352.9A CN202011247352A CN112364049B CN 112364049 B CN112364049 B CN 112364049B CN 202011247352 A CN202011247352 A CN 202011247352A CN 112364049 B CN112364049 B CN 112364049B
Authority
CN
China
Prior art keywords
data
script
data synchronization
synchronization script
target
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.)
Active
Application number
CN202011247352.9A
Other languages
English (en)
Other versions
CN112364049A (zh
Inventor
李广翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202011247352.9A priority Critical patent/CN112364049B/zh
Publication of CN112364049A publication Critical patent/CN112364049A/zh
Application granted granted Critical
Publication of CN112364049B publication Critical patent/CN112364049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种数据同步脚本生成方法、系统、终端及存储介质,其中方法包括:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构;根据源数据类型选取对应的源数据处理组件;根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板;将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本;将数据同步脚本按预设规则部署至相应的平台。通过上述方式,本发明能够自动生成数据同步脚本,并按照预设规则将数据同步脚本部署至相应的平台,降低了开发人员的工作量,提升了开发效率。

Description

数据同步脚本生成方法、系统、终端及存储介质
技术领域
本申请涉及数据同步技术领域,特别是涉及一种数据同步脚本生成方法、系统、终端及存储介质。
背景技术
大数据同步的需要主要来源于两方面,一方面是组件技术架构的原因,另一方面是业务安全隔离的原因。通常来说,我们不能直接对线上业务系统所存储或生产的数据进行各种运算或检索处理,需要同步到大数据平台处理,这个过程叫导入;相反的,有时候不能或者不适合在大数据库开发服务中直接使用的,需要反馈回线上业务系统中,这个过程导出。另外,即使在大数据平台内部各组件之间,因为读写方式、业务需求和架构等方面的原因,也存在数据传输同步的需求。
大数据开发环境下的数据同步,从本质上来说,主要处理的是不同系统组件之间的数据导入导出工作,目的是让数据可以以适合业务需求的方式,在不同系统中用各自擅长的方式运转。大数据技术在应用过程中,从数据来源上来说,总是需要与业务系统对接数据或者从第三方同步数据,不管是同构还是异构的数据源,虽然有各种各样针对不同的业务目的和应用场景的大数据同步工具和框架,如基于定时任务创建数据库连接的方式,或使用SQL语句实现数据同步等,这些数据同步方法虽然可以达到数据同步的目的,但是如果遇到大批量的数据库表或者文件需要同步时,需要手工编写大量的数据库连接脚本或SQL语句脚本,在造成巨大的工作量的同时,也容易出现错误,增加了调试的时间。
发明内容
本申请提供一种数据同步脚本生成方法、系统、终端及存储介质,以解决现有的数据同步脚本的编写和调试需要耗费大量人力和时间的问题。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种数据同步脚本生成方法,包括:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构;根据源数据类型选取对应的源数据处理组件;根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板;将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本;将数据同步脚本按预设规则部署至相应的平台。
作为本申请的进一步改进,源数据类型包括文件数据、网站查询数据和数据库数据;根据源数据类型选取对应的源数据处理组件,包括:当源数据类型为文件数据时,选取文件数据处理组件,文件数据处理组件用于获取文件数据,并对文件数据进行文件切割和key-value映射;当源数据类型为网站查询数据时,选取网站查询数据处理组件,网站查询数据处理组件用于执行查询指令以获取网站查询结果,并对查询结果进行解析;当源数据类型为数据库数据时,选取数据库数据处理组件,数据库数据处理组件用于执行预先配置的数据库查询语句以查询对应的数据。
作为本申请的进一步改进,将数据同步脚本按预设规则部署至相应的平台,包括:根据名称信息和预先设定的脚本名称定义规则生成数据同步脚本的脚本名称,脚本名称包括平台标识信息和特征识别信息;基于平台标识信息将数据同步脚本自动部署至相应的平台。
作为本申请的进一步改进,得到数据同步脚本之后,还包括:向数据同步脚本中添加插件接口,插件接口用于添加开发人员开发的功能插件。
作为本申请的进一步改进,向数据同步脚本中添加插件接口之后,还包括:接收到用户发起的添加插件请求时,检测用户是否具备权限;若具备,则备份数据同步脚本后,获取用户请求添加的目标插件,并将目标插件通过插件接口添加至数据同步脚本;执行添加目标插件后的数据同步脚本,并检测运行阶段是否报错;若是,则反馈报错信息至用户;若否,则完成对数据同步脚本的更新。
作为本申请的进一步改进,将数据同步脚本按预设规则部署至相应的平台之后,还包括:当使用数据同步脚本同步数据库数据时,调用预设的建表脚本,参照目标数据结构建立目标数据库表,目标数据结构包括表结构,目标数据库表用于存储数据同步脚本同步的目标数据。
作为本申请的进一步改进,将数据同步脚本按预设规则部署至相应的平台之后,还包括:将数据同步脚本上传至区块链中。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种数据同步脚本生成系统,包括:接收模块,用于接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构;组件选取模块,用于根据源数据类型选取对应的源数据处理组件;模板选取模块,用于根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板;生成模块,用于将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本;部署模块,用于将数据同步脚本按预设规则部署至相应的平台。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种终端,该终端包括处理器、与处理器耦接的存储器,其中,存储器存储有用于实现上述数据同步脚本生成方法的程序指令;处理器用于执行存储器存储的程序指令以生成数据同步脚本并部署至相应的平台。
为解决上述技术问题,本申请采用的再一个技术方案是:提供一种存储介质,存储有用于实现上述数据同步脚本生成方法的程序文件。
本申请的有益效果是:本申请的数据同步脚本生成方法通过根据开发人员输入的数据同步脚本生成请求,选取适合源数据类型的源数据处理组件,以及脚本模板,再将源数据处理组件、元数据信息、目标数据结构填充至脚本模板中,自动生成数据同步脚本,其不需要开发人员逐行代码的编写实现该数据同步脚本的代码逻辑,降低了开发人员的工作量,并且,自动化生成的方式相比于人工开发,避免了人工开发过程中容易出现的错误,脚本开发完成之后不需要进行测试工作或只需要进行少量的测试工作,省去了脚本开发人员复杂、冗长、繁琐的脚本开发调试过程,可以保证数据同步脚本快速上线使用,提升了开发效率。并且,其通过自动化部署数据同步脚本的方式,进一步减少了开发人员的工作量。
附图说明
图1是本发明第一实施例的数据同步脚本生成方法的流程示意图;
图2是本发明第二实施例的数据同步脚本生成方法的流程示意图;
图3是本发明第三实施例的数据同步脚本生成方法的流程示意图;
图4是本发明第四实施例的数据同步脚本生成方法的流程示意图;
图5是本发明实施例的数据同步脚本生成系统的功能模块示意图;
图6是本发明实施例的终端的结构示意图;
图7是本发明实施例的存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1是本发明第一实施例的数据同步脚本生成方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。本实施例中,该数据同步脚本生成方法适用于数据同步脚本生成系统,该数据同步脚本生成系统可以部署到分布式微服务平台上,以WEB UI(网络产品界面设计)的形式提供给开发人员使用,免去了传统的GUI(图形用户界面)程序的安装过程,开发人员可以直接从分布式微服务平台上调用该数据同步脚本生成系统。如图1所示,该方法包括步骤:
步骤S101:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构。
需要说明的是,源数据类型是指需要同步的数据的类型,其可以为RDBMS数据库、hive大数据仓库、文件、网站查询数据、消息中间件等类型的数据类型中的一种;目标数据类型是指同步之后的数据的类型,其同样为RDBMS数据库、hive大数据仓库、文件、网站查询数据、消息中间件等类型的数据类型中的一种。源数据类型和目标数据类型可以相同或不同,即RDBMS数据库类型的数据可以同步为文件类型的数据。元数据信息是指数据的特征信息,例如,源数据和目标数据的数据库名、URL链接、数据库中表的名字、字段名字、字段类型、所需生成的数据类型等信息。目标数据结构可以为一个或多个,例如,如果是RDBMS数据库类型的数据则需要同步的数据库表结构,其包括字段、数据类型、主键、索引等信息;如果是文件类型的数据则需要源文件路径、文件名称、文件分隔符、文件格式等信息;如果是消息中间件类型的数据则需要消息的topic、时间范围等信息。
步骤S102:根据源数据类型选取对应的源数据处理组件。
在步骤S102中,确认源数据类型之后,为了提升获取源数据的效率,本实施例中,通过为每种类型的数据分别预先设置一个源数据处理组件来获取并预处理源数据。该源数据处理组件是根据源数据的类型针对性设计的,因此,通过该源数据处理组件可以快速获取到源数据并进行预处理。
进一步的,本实施例中,以文件数据、网站查询数据、数据库数据三种类型的数据来说明本实施例的根据源数据类型选取对应的源数据处理组件,具体包括:
1、当源数据类型为文件数据时,选取文件数据处理组件,文件数据处理组件用于获取文件数据,并对文件数据进行文件切割和key-value映射。
其中,key是关键字,value是值,key-value映射即关键字和值之间的映射关系。
2、当源数据类型为网站查询数据时,选取网站查询数据处理组件,网站查询数据处理组件用于执行查询指令以获取网站查询结果,并对查询结果进行解析。
3、当源数据类型为数据库数据时,选取数据库数据处理组件,数据库数据处理组件用于执行预先配置的数据库查询语句以查询对应的数据。
需要说明的是,该数据库查询语句为SQL查询语句。
具体地,文件数据、网站查询数据、数据库数据分别对应文件数据处理组件、网站查询数据处理组件、数据库数据处理组件。通过选取源数据类型对应的源数据处理组件,并将其添加至数据同步脚本中,在使用该数据同步脚本时,可以通过源数据处理组件快速对源数据进行处理,提取出其中的信息,从而提升数据同步脚本的同步效率。
步骤S103:根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板。
在步骤S103中,确认源数据类型和目标数据类型之后,结合源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板,其中,模板库中存储有适用于相同或不同类型之间数据同步所需的脚本模板。需要说明的是,该脚本模板是利用同步工具生成的,例如通过sqoop、kettle、canal等同步工具预先生成脚本模板。
进一步的,当一组源数据类型与目标数据类型在模板库中对应存在多个脚本模板时,可以通过多个脚本模板中每个脚本模板的使用频率,选取使用频率最高的脚本模板,或者是,将多个脚本模板输出展示,以供开发人员选取。
步骤S104:将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本。
具体地,在选取脚本模板之后,将先前获取的源数据处理组件、元数据信息、目标数据结构填充至脚本模板中,从而生成可以用于源数据与目标数据之间进行同步的数据同步脚本。
进一步的,在一些实施例中,所述数据同步脚本生成请求包括存储路径,步骤S104之后,还包括:将所述数据同步脚本按所述存储路径存储至指定位置以进行备份。
步骤S105:将数据同步脚本按预设规则部署至相应的平台。
具体地,本实施例中,在得到数据同步脚本之后,还可根据预设规则将数据同步脚本自动部署至相应的平台,以供开发人员直接使用,不需要人为进行部署。其中,该预设规则由开发人员预先设定,例如,可以根据平台的IP地址自动将数据同步脚本部署至相应的平台。
进一步的,所述数据同步脚本生成请求还包括名称信息,本实施例还可根据数据同步脚本的名称自动部署数据同步脚本,因此,该步骤S105具体包括:
1、根据名称信息和预先设定的脚本名称定义规则生成数据同步脚本的脚本名称,脚本名称包括平台标识信息和特征识别信息。
具体地,该脚本名称定义规则是为了自动化部署平台而设定的,因此,该脚本名称定义规则中记录了各个平台的特征识别信息,例如记录平台的名称、地址等信息,名称信息由开发人员输入,例如,当开发人员需要将数据同步脚本自动部署至A平台时,则名称信息需包括A平台的特征识别信息,然后结合预设的脚本名称定义规则,自动生成数据同步脚本的脚本名称。该平台标识信息用于与平台进行一一对应,特征识别信息用于将本数据同步脚本与其他数据同步脚本区分,需要说明的是,该特征识别信息具备唯一性。例如,需要在“金管家”的数据库部署一个数据同步脚本,其脚本名称按照预设的脚本名称定义规则可以定义为“金管家0001号脚本”,其中,金管家为平台标识信息,0001号脚本为特征识别信息。
2、基于平台标识信息将数据同步脚本自动部署至相应的平台。
具体地,通过平台标识信息自动将数据同步脚本部署至平台,若平台中存在多个脚本,则可通过特征识别信息将数据同步脚本与其他脚本区别开来。
本实施例中,在生成数据同步脚本之后,利用结合名称信息和脚本名称定义规则自动生成脚本名称,再通过该脚本名称中的平台标识信息自动将数据同步脚本部署至相应的平台,不需要人为部分,进一步提升了自动化处理能力,降低开发人员的工作量。
本发明第一实施例的数据同步脚本生成方法通过根据开发人员输入的数据同步脚本生成请求,选取适合源数据类型的源数据处理组件,以及脚本模板,再将源数据处理组件、元数据信息、目标数据结构填充至脚本模板中,自动生成数据同步脚本,其不需要开发人员逐行代码的编写实现该数据同步脚本的代码逻辑,降低了开发人员的工作量,并且,自动化生成的方式相比于人工开发,避免了人工开发过程中容易出现的错误,脚本开发完成之后不需要进行测试工作或只需要进行少量的测试工作,省去了脚本开发人员复杂、冗长、繁琐的脚本开发调试过程,可以保证数据同步脚本快速上线使用,提升了开发效率。并且,其通过自动化部署数据同步脚本的方式,进一步减少了开发人员的工作量。
图2是本发明第二实施例的数据同步脚本生成方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限。如图2所示,该方法包括步骤:
步骤S201:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构。
在本实施例中,图2中的步骤S201和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S202:根据源数据类型选取对应的源数据处理组件。
在本实施例中,图2中的步骤S202和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S203:根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板。
在本实施例中,图2中的步骤S203和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S204:将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本。
在本实施例中,图2中的步骤S204和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S205:向数据同步脚本中添加插件接口,插件接口用于添加开发人员开发的功能插件。
在步骤S205中,该插件接口用于添加开发人员自己定义的新的功能插件,使得数据同步脚本的功能更为强大,或者是更为符合开发人员的需求。其中,该添加的功能插件可以是新增功能的插件,也可以是替换掉数据同步脚本中某一部分功能的功能插件。
步骤S206:将数据同步脚本按预设规则部署至相应的平台。
在本实施例中,图2中的步骤S206和图1中的步骤S105类似,为简约起见,在此不再赘述。
本发明第二实施例的数据同步脚本生成方法在第一实施例的基础上,通过在数据同步脚本中增加插件接口,从而方便开发人员根据自身需求对数据同步脚本进行定制化的设计,满足开发人员多样化的需求,并且插件接口的设计使得数据同步脚本的可扩展性更强,进而增强了该数据同步脚本的适用情形。
图3是本发明第三实施例的数据同步脚本生成方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S301:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构。
在本实施例中,图3中的步骤S301和图2中的步骤S201类似,为简约起见,在此不再赘述。
步骤S302:根据源数据类型选取对应的源数据处理组件。
在本实施例中,图3中的步骤S302和图2中的步骤S202类似,为简约起见,在此不再赘述。
步骤S303:根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板。
在本实施例中,图3中的步骤S303和图2中的步骤S203类似,为简约起见,在此不再赘述。
步骤S304:将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本。
在本实施例中,图3中的步骤S304和图2中的步骤S204类似,为简约起见,在此不再赘述。
步骤S305:向数据同步脚本中添加插件接口,插件接口用于添加开发人员开发的功能插件。
在本实施例中,图3中的步骤S305和图2中的步骤S205类似,为简约起见,在此不再赘述。
步骤S306:接收到用户发起的添加插件请求时,检测用户是否具备权限。若具备,则执行步骤S307。
在步骤S306中,在数据同步脚本上添加功能插件时,首先验证用户是否具备相应的权限,防止不具备权限的人员修改功能插件。
步骤S307:备份数据同步脚本后,获取用户请求添加的目标插件,并将目标插件通过插件接口添加至数据同步脚本。
在步骤S307中,当用户具备权限时,先对数据同步脚本进行备份,防止后续添加操作对数据同步脚本造成破坏。然后获取用户需要添加的目标插件,再将目标插件通过插件接口添加至数据同步脚本,从而完成对数据同步脚本的更新。
步骤S308:执行添加目标插件后的数据同步脚本,并检测运行阶段是否报错。若是,则执行步骤S309;若否,则执行步骤S310~步骤S311。
在步骤S308中,不同于数据同步脚本的生成过程,功能插件都是由用户自行定义和开发的组件,其中可能存在错误,因此,在对数据同步脚本进行插件上的添加或删除操作之后,需要验证数据同步脚本是否仍能够正常运行。
步骤S309:反馈报错信息至用户。
在步骤S309中,通过反馈报错信息给用户,从而提醒用户去测试目标插件。
步骤S310:完成对数据同步脚本的更新。
步骤S311:将数据同步脚本按预设规则部署至相应的平台。
在本实施例中,图3中的步骤S311和图2中的步骤S206类似,为简约起见,在此不再赘述。
本发明第三实施例的数据同步脚本生成方法在第二实施例的基础上,通过权限验证,以防止不具备权限的人员擅自修改数据同步脚本,并且,在用户添加目标插件至数据同步脚本后,对数据同步脚本进行运行测试,从而验证该目标插件是否能够正常工作,防止出现用户自定义开发的目标插件存在错误而导致数据同步失败的情况。
图4是本发明第四实施例的数据同步脚本生成方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。如图4所示,该方法包括步骤:
步骤S401:接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构。
在本实施例中,图4中的步骤S401和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S402:根据源数据类型选取对应的源数据处理组件。
在本实施例中,图4中的步骤S402和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S403:根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板。
在本实施例中,图4中的步骤S403和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S404:将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本。
在本实施例中,图4中的步骤S404和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S405:将数据同步脚本按预设规则部署至相应的平台。
在本实施例中,图4中的步骤S405和图1中的步骤S105类似,为简约起见,在此不再赘述。
步骤S406:当使用数据同步脚本同步数据库数据时,调用预设的建表脚本,参照目标数据结构建立目标数据库表,目标数据结构包括表结构,目标数据库表用于存储数据同步脚本同步的目标数据。
在步骤S406中,当使用该数据同步脚本同步数据库数据是,目标数据结构还包括表结构,在同步数据库数据时,该数据同步脚本还可直接调用预设的建表脚本,利用该建表脚本根据该表结构自动创建目标数据库表,用以保存数据同步脚本同步过来的目标数据。
本发明第四实施例的数据同步脚本生成方法在第一实施例的基础上,通过当同步的源数据类型为数据库数据时,自动调用预先设置的建表脚本参照源数据库中源数据表的表结构建立目标数据库表,再利用该目标数据库表保存数据同步脚本同步的目标数据,进一步减少开发人员的工作量。
进一步的,在一些实施例中,在将数据同步脚本按预设规则部署至相应的平台之后,还包括:将数据同步脚本上传至区块链中。
具体地,基于数据同步脚本得到对应的摘要信息,具体来说,摘要信息由数据同步脚本进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证数据同步脚本是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
图5是本发明实施例的数据同步脚本生成系统的功能模块示意图。如图5所示,该数据同步脚本生成系统50包括接收模块51、组件选取模块52、模板选取模块53、生成模块54和部署模块55。
接收模块51,用于接收数据同步脚本生成请求,数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构。
组件选取模块52,用于根据源数据类型选取对应的源数据处理组件。
模板选取模块53,用于根据源数据类型和目标数据类型从预设的模板库中选取对应的脚本模板。
生成模块54,用于将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚本。
部署模块55,用于将数据同步脚本按预设规则部署至相应的平台。
可选地,源数据类型包括文件数据、网站查询数据和数据库数据;组件选取模块52根据源数据类型选取对应的源数据处理组件的操作还可以为:当源数据类型为文件数据时,选取文件数据处理组件,文件数据处理组件用于获取文件数据,并对文件数据进行文件切割和key-value映射;当源数据类型为网站查询数据时,选取网站查询数据处理组件,网站查询数据处理组件用于执行查询指令以获取网站查询结果,并对查询结果进行解析;当源数据类型为数据库数据时,选取数据库数据处理组件,数据库数据处理组件用于执行预先配置的数据库查询语句以查询对应的数据。
可选地,部署模块55将数据同步脚本按预设规则部署至相应的平台的操作还可以为:根据名称信息和预先设定的脚本名称定义规则生成数据同步脚本的脚本名称,脚本名称包括平台标识信息和特征识别信息;基于平台标识信息将数据同步脚本自动部署至相应的平台。
可选地,生成模块54将源数据处理组件、元数据信息和目标数据结构填充至脚本模板,得到数据同步脚的操作之后,还用于:向数据同步脚本中添加插件接口,插件接口用于添加开发人员开发的功能插件。
可选地,生成模块54向数据同步脚本中添加插件接口操作之后,还用于:接收到用户发起的添加插件请求时,检测用户是否具备权限;若具备,则备份数据同步脚本后,获取用户请求添加的目标插件,并将目标插件通过插件接口添加至数据同步脚本;执行添加目标插件后的数据同步脚本,并检测运行阶段是否报错;若是,则反馈报错信息至用户;若否,则完成对数据同步脚本的更新。
可选地,部署模块55将数据同步脚本按预设规则部署至相应的平台的操作之后,还用于:当使用数据同步脚本同步数据库数据时,调用预设的建表脚本,参照目标数据结构建立目标数据库表,目标数据结构包括表结构,目标数据库表用于存储数据同步脚本同步的目标数据。
可选地,部署模块55将数据同步脚本按预设规则部署至相应的平台的操作之后,还用于:将数据同步脚本上传至区块链中。
关于上述实施例数据同步脚本生成系统中各模块实现技术方案的其他细节,可参见上述实施例中的数据同步脚本生成方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
请参阅图6,图6为本发明实施例的终端的结构示意图。如图6所示,该终端60包括处理器61及和处理器61耦接的存储器62。
存储器62存储有用于实现上述任一实施例所述的数据同步脚本生成方法的程序指令。
处理器61用于执行存储器62存储的程序指令以生成数据同步脚本并部署至相应的平台。
其中,处理器61还可以称为CPU(Central Processing Unit,中央处理单元)。处理器61可能是一种集成电路芯片,具有信号的处理能力。处理器61还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图7,图7为本发明实施例的存储介质的结构示意图。本发明实施例的存储介质存储有用于实现上述所有方法的程序文件71,其中,该程序文件71可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (8)

1.一种数据同步脚本生成方法,其特征在于,包括:
接收数据同步脚本生成请求,所述数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构;
根据所述源数据类型选取对应的源数据处理组件;
根据所述源数据类型和所述目标数据类型从预设的模板库中选取对应的脚本模板;
将所述源数据处理组件、所述元数据信息和所述目标数据结构填充至所述脚本模板,得到数据同步脚本;
根据名称信息和预先设定的脚本名称定义规则生成所述数据同步脚本的脚本名称,所述脚本名称包括平台标识信息和特征识别信息;
基于所述平台标识信息将所述数据同步脚本自动部署至相应的平台;
当使用所述数据同步脚本同步数据库数据时,调用预设的建表脚本,参照所述目标数据结构建立目标数据库表,所述目标数据结构包括表结构,所述目标数据库表用于存储所述数据同步脚本同步的目标数据。
2.根据权利要求1所述的数据同步脚本生成方法,其特征在于,所述源数据类型包括文件数据、网站查询数据和数据库数据;所述根据所述源数据类型选取对应的源数据处理组件,包括:
当所述源数据类型为所述文件数据时,选取文件数据处理组件,所述文件数据处理组件用于获取所述文件数据,并对所述文件数据进行文件切割和key-value映射;
当所述源数据类型为所述网站查询数据时,选取网站查询数据处理组件,所述网站查询数据处理组件用于执行查询指令以获取网站查询结果,并对所述查询结果进行解析;
当所述源数据类型为所述数据库数据时,选取数据库数据处理组件,所述数据库数据处理组件用于执行预先配置的数据库查询语句以查询对应的数据。
3.根据权利要求1所述的数据同步脚本生成方法,其特征在于,所述得到数据同步脚本之后,还包括:
向所述数据同步脚本中添加插件接口,所述插件接口用于添加开发人员开发的功能插件。
4.根据权利要求3所述的数据同步脚本生成方法,其特征在于,所述向所述数据同步脚本中添加插件接口之后,还包括:
接收到用户发起的添加插件请求时,检测所述用户是否具备权限;
若具备,则备份所述数据同步脚本后,获取所述用户请求添加的目标插件,并将所述目标插件通过所述插件接口添加至所述数据同步脚本;
执行添加所述目标插件后的所述数据同步脚本,并检测运行阶段是否报错;
若是,则反馈报错信息至所述用户;
若否,则完成对所述数据同步脚本的更新。
5.根据权利要求1所述的数据同步脚本生成方法,其特征在于,所述基于所述平台标识信息将所述数据同步脚本自动部署至相应的平台之后,还包括:
将所述数据同步脚本上传至区块链中。
6.一种数据同步脚本生成系统,其特征在于,包括:
接收模块,用于接收数据同步脚本生成请求,所述数据同步脚本生成请求包括源数据类型、目标数据类型、元数据信息和目标数据结构;
组件选取模块,用于根据所述源数据类型选取对应的源数据处理组件;
模板选取模块,用于根据所述源数据类型和所述目标数据类型从预设的模板库中选取对应的脚本模板;
生成模块, 用于将所述源数据处理组件、所述元数据信息和所述目标数据结构填充至所述脚本模板,得到数据同步脚本;
部署模块,用于根据名称信息和预先设定的脚本名称定义规则生成所述数据同步脚本的脚本名称,所述脚本名称包括平台标识信息和特征识别信息;基于所述平台标识信息将所述数据同步脚本自动部署至相应的平台;所述部署模块基于所述平台标识信息将所述数据同步脚本自动部署至相应的平台的操作之后,还用于当使用所述数据同步脚本同步数据库数据时,调用预设的建表脚本,参照所述目标数据结构建立目标数据库表,所述目标数据结构包括表结构,所述目标数据库表用于存储所述数据同步脚本同步的目标数据。
7.一种终端,其特征在于,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现如权利要求1-5中任一项所述的数据同步脚本生成方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以生成数据同步脚本并部署至相应的平台。
8.一种存储介质,其特征在于,存储有用于实现如权利要求1-5中任一项所述的数据同步脚本生成方法的程序文件。
CN202011247352.9A 2020-11-10 2020-11-10 数据同步脚本生成方法、系统、终端及存储介质 Active CN112364049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011247352.9A CN112364049B (zh) 2020-11-10 2020-11-10 数据同步脚本生成方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011247352.9A CN112364049B (zh) 2020-11-10 2020-11-10 数据同步脚本生成方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN112364049A CN112364049A (zh) 2021-02-12
CN112364049B true CN112364049B (zh) 2024-05-17

Family

ID=74508616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011247352.9A Active CN112364049B (zh) 2020-11-10 2020-11-10 数据同步脚本生成方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112364049B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515549B (zh) * 2021-09-14 2021-12-10 江西科技学院 财务数据查询方法、装置及可读存储介质
CN114756217B (zh) * 2022-03-22 2022-10-25 北京云枢创新软件技术有限公司 基于插件的脚本生成系统
CN116204509A (zh) * 2023-02-14 2023-06-02 中电金信软件有限公司 数据接入脚本生成方法、装置、电子设备及存储介质
CN117453964B (zh) * 2023-10-08 2024-04-30 北京融和云链科技有限公司 基于模板的数据结构获取和目标模板生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967316A (zh) * 2017-11-22 2018-04-27 平安科技(深圳)有限公司 一种数据同步方法、设备及计算机可读存储介质
CN109614446A (zh) * 2018-11-23 2019-04-12 金色熊猫有限公司 数据同步方法、装置、电子设备及存储介质
CN111324610A (zh) * 2020-02-19 2020-06-23 深圳市融壹买信息科技有限公司 一种数据同步的方法及装置
CN111367883A (zh) * 2020-02-25 2020-07-03 平安科技(深圳)有限公司 数据同步方法、装置、设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6292810B2 (ja) * 2013-10-02 2018-03-14 キヤノン株式会社 データ同期方法、データ同期装置およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967316A (zh) * 2017-11-22 2018-04-27 平安科技(深圳)有限公司 一种数据同步方法、设备及计算机可读存储介质
CN109614446A (zh) * 2018-11-23 2019-04-12 金色熊猫有限公司 数据同步方法、装置、电子设备及存储介质
CN111324610A (zh) * 2020-02-19 2020-06-23 深圳市融壹买信息科技有限公司 一种数据同步的方法及装置
CN111367883A (zh) * 2020-02-25 2020-07-03 平安科技(深圳)有限公司 数据同步方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112364049A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN112364049B (zh) 数据同步脚本生成方法、系统、终端及存储介质
CN110400142B (zh) 数据处理方法、装置及存储介质
CN110019215B (zh) 多重租赁数据库系统中的键模式管理
CN110147369B (zh) 多重租赁数据库系统中的数据分离和写入重新定向
WO2018219178A1 (zh) 数据同步方法、装置、服务器及存储介质
EP2834759B1 (en) Telemetry system for a cloud synchronization system
CN109522363B (zh) 基于区块链的云平台同步方法、系统、设备及存储介质
CN111401029B (zh) 一种基于文档分区和协同编辑的文档版本更新系统和方法
CN103019874B (zh) 基于数据同步实现异常处理的方法及装置
TW200842627A (en) Techniques to cross-synchronize data
CN101702158A (zh) 一种索引文件创建同步方法和搜索系统
CN111984239A (zh) 一种页面配置方法、装置、服务器及存储介质
CN111737227A (zh) 数据修改方法及系统
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN110532006B (zh) 一种基于状态机的复杂配置文件升级方法
CN113010328A (zh) 信息分享方法、装置、终端设备及存储介质
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
US7739232B2 (en) Programming system for occasionally-connected mobile business applications
CN112988879A (zh) 访问数据库的方法、系统、装置、存储介质及处理器
CN109462661A (zh) 数据同步方法、装置、计算机设备和存储介质
CN112506590A (zh) 接口调用方法、装置及电子设备
CN112000816B (zh) 数据处理方法和装置
CN107679195B (zh) 基于https协议传输的半主从数据库同步方法及系统
CN113806327A (zh) 一种数据库设计方法、装置及相关设备
CN111079199B (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
GR01 Patent grant
GR01 Patent grant