CN112799859B - 一种混合云的数据交互方法 - Google Patents
一种混合云的数据交互方法 Download PDFInfo
- Publication number
- CN112799859B CN112799859B CN202110101938.2A CN202110101938A CN112799859B CN 112799859 B CN112799859 B CN 112799859B CN 202110101938 A CN202110101938 A CN 202110101938A CN 112799859 B CN112799859 B CN 112799859B
- Authority
- CN
- China
- Prior art keywords
- data
- local
- hybrid cloud
- interaction method
- relation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种混合云的数据交互方法,具体包括:S1,发送方系统监听自身业务获取数据;S2,根据数据规范进行数据格式组装;S3,将组装后的数据发送给接收方;S4,接收方根据协议规则进行数据的拆解;S5,将解析后的数据进行数据的存储。通过本发明使得SaaS服务系统可以接纳同系统业务中不同的数据格式,而且能够根据数据协议定义好数据与数据之间的关联关系。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种混合云的数据交互方法。
背景技术
随着互联网技术的发展和应用软件的成熟,SaaS(Software-as-a-Service,软件即服务)化的软件应用模式,是软件科技发展的最新趋势,SaaS作为新兴的软件应用模式,是一种软件布局模型,其应用专为网络交付而设计,便于用户通过互联网托管、部署及接入,传统软件,尤其是专业领域的软件,在交付之前,就得经过调研、方案制定、产品研发、调试等相当繁琐的过程。而SaaS省去了这些环节,只要你有电脑和网络,直接登录即可使用,甚为快捷、方便。
SaaS服务通常是基于一套标准软件系统为成百上千的不同用户(又称租户)提供服务。这要求SaaS服务要能够支持不同租户之间数据和配置的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面、业务逻辑、数据结构等的个性化需求。
从已有的成熟领域的定制化系统转向SaaS服务的问题点在于已有系统内存在的业务数据,不同的定制化系统针对同一个业务的业务数据存在一定的差异化,而这些差异化的数据需要SaaS服务能够同时容纳接收,通过硬编码的方式实现各个系统的适配必然导致后期巨大的维护成本。现有技术中,处理方式大多是将收集到的定制化系统的数据按照所要求的格式封装成XML格式或者JSON格式的数据包上传到服务器,服务端根据已知的数据格式需要提前手工将数据字段定义好在关系型数据库中,最终将收到的数据存储到对应的表中,这种方法存在两种弊端,一种是随着定制化业务的增加,同一业务在数据库中的冗余字段越来越多,一种是无法实时提供新增的表格或者字段存储内容给到定制系统,导致需要硬编码的方式实现各个系统的适配,最终导致后期巨大的维护成本。
发明内容
本发明的目的是提供一种混合云的数据交互方法,通过在定制化的系统与SaaS服务之间提供通用的数据交互格式,SaaS服务根据该数据格式对数据进行解析,实现定制化数据结构动态实时接收并存储的能力,以解决上述现有技术存在的问题。
为实现上述目的,本发明提供了如下方案:
本发明提供一种混合云的数据交互方法,包括以下步骤:
S1,构建本地系统、本地数据库、公共组件、消息队列、监听者、数据协议规范、SaaS服务端和文档型数据库;
S2,在所述本地系统上部署所述公共组件获取所述本地数据库中的本地数据,然后将所述本地数据投递到消息队列中;
S3,所述监听者监听消息队列中的本地数据并获取,对所述本地数据根据定义好的数据协议规范进行封装,获得封装后的本地数据,其中所述数据协议规范包括:关联关系relation、表名table、外键关联的Key:foreignKey、需要填充的字段field;
S4,将所述封装后的本地数据发送到所述SaaS服务端;
S5,所述SaaS服务端根据所述relation字段的描述信息判断所述封装后的本地数据中是否有需要保存的数据,将所述需要保存的数据进行保存;
S6,通过文档型数据库对所述需要保存的数据进行存储,对于不存在的表格或者字段,则动态创建,对于已经存在的数据,则采取更新操作。
进一步地,所述S2中的消息队列具体为开放公共组件的消息队列RabbitMQ。
进一步地,所述S3中封装的本地数据格式使用JSON对象。
进一步地,所述S3中的数据协议规范还包括:协议版本version、租户Id:tenantId、时间戳Timestamp、表格主键Id:pk、动作:action、数据data。
进一步地,所述S5中的判断方法为:所述relation包括table和foreignKey,用所述table定位到数据所在的表,用所述foreignKey主要定位到表中对应的数据,定位到数据后,根据action字段的内容对数据进行增加、修改或者删除的操作。
进一步地,所述S5中的:relation字段的为关联关系,用于定义该数据与关联表之间的关系;
外键关联的主键字段foreignkey起到关联关系;
table信息为表名信息,用于定义把数据更新到对应的表名中,如果数据中不存在该表,则会自动创建一个新的表。
进一步地,所述S6中的文档型数据库为半结构化的。
本发明公开了以下技术效果:
通过本发明使得SaaS服务系统可以接纳同系统业务中不同的数据格式,而且能够根据数据协议定义好数据与数据之间的关联关系。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种混合云的数据交互方法的流程示意图;
图2为一种混合云的数据交互方法的网络示意图;
图3为一种混合云的数据交互方法的储存结构示意图。
具体实施方式
现详细说明本发明的多种示例性实施方式,该详细说明不应认为是对本发明的限制,而应理解为是对本发明的某些方面、特性和实施方案的更详细的描述。
应理解本发明中所述的术语仅仅是为描述特别的实施方式,并非用于限制本发明。另外,对于本发明中的数值范围,应理解为还具体公开了该范围的上限和下限之间的每个中间值。在任何陈述值或陈述范围内的中间值以及任何其他陈述值或在所述范围内的中间值之间的每个较小的范围也包括在本发明内。这些较小范围的上限和下限可独立地包括或排除在范围内。
除非另有说明,否则本文使用的所有技术和科学术语具有本发明所属领域的常规技术人员通常理解的相同含义。虽然本发明仅描述了优选的方法和材料,但是在本发明的实施或测试中也可以使用与本文所述相似或等同的任何方法和材料。本说明书中提到的所有文献通过引用并入,用以公开和描述与所述文献相关的方法和/或材料。在与任何并入的文献冲突时,以本说明书的内容为准。
在不背离本发明的范围或精神的情况下,可对本发明说明书的具体实施方式做多种改进和变化,这对本领域技术人员而言是显而易见的。由本发明的说明书得到的其他实施方式对技术人员而言是显而易见得的。本申请说明书和实施例仅是示例性的。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
本发明的技术方案包括一整套完整的协议格式规范,其包括:
协议需要包含version,tenantId,timestamp,table,pk,action,relation,foreignKey,field,data:
version:协议版本,用于规范协议版本的信息;
tenantId:租户Id,用于规范每个数据归属的租户Id;
Timestamp:时间戳;
table:表名,用于定义把数据更新到对应的表名中,如果数据中不存在该表,则会自动创建一个新的表;
pk:表格主键Id,用于规范定义数据的主键字段;
action:动作,用于规范该条数据操作的操作类型:1.add:新增,2.modify:修改,3.delete:删除;
relation:关联关系,用于定义该数据与关联表之间的关系;
foreignKey:外键关联的Key,起到关联关系;
field:需要填充的字段;
data:数据,用于存储到数据库中的数据,该数据可以支持同一个表名下多种数据格式的定义。
具体的数据储存方法为:
1.利用公共组件DataX进行业务数据的获取
系统部署公共组件DataX进行业务数据的批量抽取,然后将其消息投递到消息队列中,具体的实现可以使用开放公共组件的消息队列,如RabbitMQ,Kafka等消息中间件;
2.根据数据规范进行数据格式组装
系统部署一个监听者,监听消息中间件的消息,监听者从消息中间件获取数据后,根据上述披露的数据格式规范进行数据格式的封装,让数据本身具有描述性,系统交互数据的格式统一使用JSON对象;
3.将组装后的数据发送给接收方
将组装后的消息发送给SaaS服务端;
4.接收方根据协议规则进行数据的拆解
服务端根据发送过来的数据根据relation字段的描述信息,判断需要自动保存到的table信息,以及外键关联的主键字段foreignkey,根据这两个字段信息获取到对应的table信息,并根据foreignkey获取对应唯一数据,并将需要保存的field字段保存下来;
其中所述relation包括table和foreignKey,用所述table定位到数据所在的表,用所述foreignKey主要定位到表中对应的数据,定位到数据后,根据action字段的内容对数据进行增加、修改或者删除的操作;
5.将解析后的数据进行数据的存储
根据步骤4解析出来的数据,利用公共组件,使用半结构化的文档型数据库(MongoDB)进行数据的存储,对于不存在的表格或者字段,则动态创建,对于已经存在的数据,则采取更新操作。
利用本发明,系统可以根据自定义的relation信息进行任意位置的数据存储,并利用MongoDB对象性文档的特性可以达到根据不同的业务需要,进行不同字段的数据存储,达到动态的业务变化,图3表述了数据存储后的数据格式。
以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (7)
1.一种混合云的数据交互方法,其特征在于:包括以下步骤:
S1,构建本地系统、本地数据库、公共组件、消息队列、监听者、数据协议规范、SaaS服务端和文档型数据库;
S2,在所述本地系统上部署所述公共组件获取所述本地数据库中的本地数据,然后将所述本地数据投递到消息队列中;
S3,所述监听者监听消息队列中的本地数据并获取,对所述本地数据根据定义好的数据协议规范进行封装,获得封装后的本地数据,其中所述数据协议规范包括:关联关系relation、表名table、外键关联的Key:foreignKey、需要填充的字段field;
S4,将所述封装后的本地数据发送到所述SaaS服务端;
S5,所述SaaS服务端根据所述relation字段的描述信息判断所述封装后的本地数据中是否有需要保存的数据,将所述需要保存的数据进行保存;
S6,通过文档型数据库对所述需要保存的数据进行存储,对于不存在的表格或者字段,则动态创建,对于已经存在的数据,则采取更新操作。
2.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S2中的消息队列具体为开放公共组件的消息队列RabbitMQ。
3.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S3中封装的本地数据格式使用JSON对象。
4.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S3中的数据协议规范还包括:协议版本version、租户Id:tenantId、时间戳Timestamp、表格主键Id:pk、动作:action、数据data。
5.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S5中的判断方法为:所述relation包括table和foreignKey,用所述table定位到数据所在的表,用所述foreignKey主要定位到表中对应的数据,定位到数据后,根据action字段的内容对数据进行增加、修改或者删除的操作。
6.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S5中的:relation字段的为关联关系,用于定义该数据与关联表之间的关系;
外键关联的主键字段foreignkey起到关联关系;
table信息为表名信息,用于定义把数据更新到对应的表名中,如果数据中不存在该表,则会自动创建一个新的表。
7.根据权利要求1所述的一种混合云的数据交互方法,其特征在于:所述S6中的文档型数据库为半结构化的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101938.2A CN112799859B (zh) | 2021-01-26 | 2021-01-26 | 一种混合云的数据交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101938.2A CN112799859B (zh) | 2021-01-26 | 2021-01-26 | 一种混合云的数据交互方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799859A CN112799859A (zh) | 2021-05-14 |
CN112799859B true CN112799859B (zh) | 2021-09-07 |
Family
ID=75811732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110101938.2A Active CN112799859B (zh) | 2021-01-26 | 2021-01-26 | 一种混合云的数据交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799859B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
CN101977164A (zh) * | 2010-11-04 | 2011-02-16 | 杭州世导通讯有限公司 | 一种SaaS模式下的数据交互方法及系统 |
US8037108B1 (en) * | 2009-07-22 | 2011-10-11 | Adobe Systems Incorporated | Conversion of relational databases into triplestores |
CN102929664A (zh) * | 2012-10-16 | 2013-02-13 | 南京通达海信息技术有限公司 | 一种基于xsd结构的通用数据交换方法 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl系统及调度方法 |
CN106339498A (zh) * | 2016-09-05 | 2017-01-18 | 北京微播易科技股份有限公司 | 数据同步方法、装置和系统 |
CN107423142A (zh) * | 2017-06-28 | 2017-12-01 | 北京明朝万达科技股份有限公司 | 一种基于发布、订阅模式的数据库消息通知方法及系统 |
CN108287886A (zh) * | 2018-01-16 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 同步数据变更信息的方法及装置 |
CN111159188A (zh) * | 2019-12-28 | 2020-05-15 | 北京慧博科技有限公司 | 基于DataWorks实现准实时大数据量的处理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411907A (zh) * | 2016-10-13 | 2017-02-15 | 广西咪付网络技术有限公司 | 一种数据传输方法和系统 |
CN110377666B (zh) * | 2019-07-26 | 2023-03-31 | 浪潮软件股份有限公司 | 基于cmsp消息中间件进行异源数据库间数据同步的方法 |
-
2021
- 2021-01-26 CN CN202110101938.2A patent/CN112799859B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
US8037108B1 (en) * | 2009-07-22 | 2011-10-11 | Adobe Systems Incorporated | Conversion of relational databases into triplestores |
CN101977164A (zh) * | 2010-11-04 | 2011-02-16 | 杭州世导通讯有限公司 | 一种SaaS模式下的数据交互方法及系统 |
CN102929664A (zh) * | 2012-10-16 | 2013-02-13 | 南京通达海信息技术有限公司 | 一种基于xsd结构的通用数据交换方法 |
CN103440273A (zh) * | 2013-08-06 | 2013-12-11 | 北京航空航天大学 | 一种数据跨平台迁移方法及装置 |
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl系统及调度方法 |
CN106339498A (zh) * | 2016-09-05 | 2017-01-18 | 北京微播易科技股份有限公司 | 数据同步方法、装置和系统 |
CN107423142A (zh) * | 2017-06-28 | 2017-12-01 | 北京明朝万达科技股份有限公司 | 一种基于发布、订阅模式的数据库消息通知方法及系统 |
CN108287886A (zh) * | 2018-01-16 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 同步数据变更信息的方法及装置 |
CN111159188A (zh) * | 2019-12-28 | 2020-05-15 | 北京慧博科技有限公司 | 基于DataWorks实现准实时大数据量的处理方法 |
Non-Patent Citations (2)
Title |
---|
DataX工具在新冠肺炎数据上报中的应用;田翠姣,苏义武;《计算机技术与发展》;20201130;第30卷(第11期);全文 * |
基于Datax的数据同步方案研究;陈宇收;《电脑编程技巧与维护》;20180930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112799859A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971614A (zh) | 物联网适配方法、系统、计算机设备及存储介质 | |
CN101409614B (zh) | 一种数据同步方法、系统和设备 | |
US8230040B2 (en) | Open mobile business supporting system and method | |
CN101902473B (zh) | 基于网格gis的数据同步更新实现方法 | |
EP2492808A1 (en) | System and method for extending business systems to a mobile workforce | |
US8001150B2 (en) | Device management method using nodes having additional attribute and device management client thereof | |
CN102368261A (zh) | 一种可扩展的运维报表生成方法 | |
CN111683066B (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN101472140A (zh) | 一种多媒体分发点播系统及其实现方法 | |
CN104468274A (zh) | 一种集群监控管理方法及系统 | |
CN112217656A (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
CN104660617A (zh) | 一种数据传输系统及方法 | |
CN101222451A (zh) | 一种在即时通信工具中获取联系人数据的方法 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
CN112631884A (zh) | 基于数据同步的压测方法、装置、计算机设备及存储介质 | |
CN103491522A (zh) | 终端适配方法和装置 | |
CN105245369A (zh) | 一种支持多传输协议的组件发布容器方法 | |
CN113486095A (zh) | 一种民航空管跨网安全数据交换管理平台 | |
CN102594874A (zh) | 一种同步处理方法和装置 | |
CN117453280B (zh) | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 | |
CN101610225B (zh) | 一种同步处理方法、系统和装置 | |
CN112799859B (zh) | 一种混合云的数据交互方法 | |
CN111045928A (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN107493251A (zh) | 一种登录目标服务器的方法及终端 | |
CN110569456B (zh) | Web端数据离线缓存方法及装置、电子设备 |
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 |