本发明涉及计算机数据处理
技术领域:
,具体地说是一种可变数据结构自动同步匹配的实现方法。
背景技术:
:随着社会信息化的不断发展,大型企业越来越重视企业的信息化建设。企业信息化建设发展到现在,取得了成果,积累了经验。但随着各业务系统之间不同的信息化建设周期、差异的系统规划,并伴随着应用的扩展和不断深入,问题也逐渐显现出来,应用系统之间相互独立,信息资源条块分割、信息难以共享、难以流转的局面。为了提高工作效率,减少财务工作量,同时打破各个系统之间的信息孤岛,实现数据信息共用共享,各个业务系统之间出现越来越多的接口,存在各种各样的数据交换。但是用户的业务需求在不断的变化,各业务系统也在不定期的进行升级,为了满足客户和商业伙伴不断增加的对实时信息的需要,企业往往需要在不同系统之间进行数据的交换来提高数据利用率和数据的可靠性,对接口能够及时满足用户业务需求造成了相当大的挑战。数据交换是各种计算机网络应用的重要组成部分,是应用系统之间交流互换信息的功能支撑层次。企业内部、企业之间的联系日趋紧密,经常需要在网络上进行数据的交换与互访。如何能使不同地域、不同企业、不同类型的数据可以进行快速、有效、灵活、高效的互访,是目前IT技术里的重要研究问题之一。传统的在系统之间实现数据同步的方法有中间库、web服务,无论是中间库还是web服务,接口数据规则是固定的,无法及时适应用户业务需求改变而带来的接口实时信息量的改变,因此用户业务需求的不断发展对接口的数据同步提出了更高,更严格的需求。由于用户业务需求不断变化,数据规则也随之变化,造成接口需要传递的数据结构也要适应其变化,目标系统数据表也要适应变化而不断更新结构。高频度的数据结构变化造成在数据同步的过程中每次的变化都需要人为干预,或重新编码或修改目标库数据结构,造成大量重复、低效率的工作。基于此,现提供一种可变数据结构自动同步匹配的实现方法,来解决业务需求的发展变动导致接口数据规则改变无法及时对接的问题。技术实现要素:本发明的技术任务是针对以上不足之处,提供一种可变数据结构自动同步匹配的实现方法。一种可变数据结构自动同步匹配的实现方法,包括数据源系统和目标系统,其实现过程为:1)数据源系统将xml数据信息发送到目标系统接口;2)该目标系统的接口程序判断接收到的最新数据结构与历史数据结构有无变化:若存在变化则更新数据结构、映射关系,同时完成数据存储;若无变化则根据历史映射关系直接完成数据存储。上述步骤1)的具体实现过程为:A)首先在数据目标系统的数据库中初始化集成数据表结构;B)初始化集成数据字段映射关系,配置数据源系统数据字段与目标系统数据字段的映射关系;C)数据源系统调用目标系统提供的接口,将接口xml数据发送给目标系统。在上述步骤2)中,当数据源系统推送数据时,创建访问控制数据源系统数据库;或者在数据目标系统存储数据时完成初始化,创建访问控制数据目标系统数据库;数据源系统和数据目标系统创建访问控制数据库时,输入管理员编号、密码,将该用户作为数据库的登录用户,并将该用户作为访问控制数据库的数据库属主。上述步骤2)的具体实现过程为:目标系统接收到数据源系统发送过来的xml数据后,根据已经存储的集成数据结构数据进行差异对比,若发现数据结构差异,更新已经存储的集成数据结构数据,同时更新目标数据库中的目标数据表结构,同时根据已经更新后的集成数据结构数据更新已经存储的数据字段映射关系,若未发现数据结构发生变化,进行下一步;通过更新后的数据字段映射关系完成数据的存储。数据目标系统web服务进行初始化时独立访问控制数据目标系统数据库,数据源系统与数据目标系统两者之间通过web服务进行数据的同步。本发明的一种可变数据结构自动同步匹配的实现方法和现有技术相比,具有以下有益效果:本发明的一种可变数据结构自动同步匹配的实现方法,解决了业务需求的发展变动导致接口数据规则改变无法及时对接的问题,减少了同一业务系统的不同xml结构的差异而进行对应的程序开发问题,实现了对不同可变xml数据结构的自动存储,大量减少了程序的重复开发,降低了开发成本,提升了开发效率,双方系统均无法访问对方数据库,系统更加安全;大大加快了开发效率,使开发人员的编码工作量大大减少;能够在连接有效时上传数据,这就可以提高用户的生产率和工作效率,并且提高应用程序的可用性;数据结构可变,接口灵活易用;数据源系统请求目标系统接口后,数据目标系统能够实时完成数据结构的更新以及对照关系的更新,灵活方便;使用人员可以方便的通过界面与权限的严密绑定,在给使用人员提供最大便利性的情况下,仍然可以保证信息的同步更新;数据目标方系统加载数据后完成数据的自动同步更新,实用性强,适用范围广泛,具有很好的推广应用价值。附图说明附图1是本发明方法的数据更新流程图。附图2是本发明实施例中各表的关系图。具体实施方式下面结合附图及具体实施例对本发明作进一步说明。本发明提供一种可变数据结构自动同步匹配的实现方法,本发明的可变数据结构自动同步匹配的实现方法通过保留接口数据xml的数据结构,接口数据中字段与目标系统目标表字段的映射关系,在每次数据源系统将接口数据xml传送给数据目标系统web服务,数据目标系统通过差异比对xml数据结构规则,根据数据结构的变化实时更新数据结构表以及数据字段映射关系表,然后通过最新的数据字段映射表数据完成数据的存储,最终实现数据的自动存储。如附图1所示,本发明方法中,数据源系统从将数据xml发送到目标系统接口,接口程序判断最新数据结构与历史数据结构有无变化,若存在变化则更新数据结构、映射关系,同时完数据存储,若无变化则根据历史映射关系直接完成数据存储。该方法的实现基于数据源系统和目标系统,其实现过程为:A)在数据目标系统数据库中初始化集成数据表结构;B)初始化集成数据字段映射关系,配置数据源系统数据字段与目标系统数据字段的映射关系;C)数据源系统调用目标系统提供的接口,将接口xml数据信息发送给目标系统;D)目标系统接收到数据源系统发送过来的xml数据后,根据已经存储的集成数据结构数据进行差异对比,若发现数据结构差异,更新已经存储的集成数据结构数据,同时更新目标数据库中的目标表结构,并同时根据已经更新后的集成数据结构数据更新已经存储的数据字段映射关系,若未发现数据结构发生变化,进行下一步;E)通过更新后的数据字段映射关系完成数据的存储;F)数据目标系统web服务进行初始化时独立的访问控制数据目标系统数据库,数据源系统与数据目标系统两者之间通过web服务进行数据的同步。上述步骤D中还包括以下步骤:D1)在数据源系统推送数据时,创建访问控制数据源系统数据库;或者在数据目标系统存储数据时需要完成初始化,创建访问控制数据目标系统数据库;D2)数据源系统和数据目标系统创建访问控制数据库时,要求输入管理员编号、密码,将该用户作为数据库的登录用户,并将该用户作为访问控制数据库的数据库属主。在本发明中,数据源系统与数据目标系统对双方的数据库互不访问,通过数据目标系统的web服务完成数据的通信;数据结构可变,数据存储实现自动化。所述数据库可以是现有技术中任意主流数据库。数据库可以进行管理员密码加密,以保证其他用户是无法直接进入数据库进行访问,保证本地数据的安全。为了进一步方便数据更新,目标系统初始完毕后,数据源系统即可访问目标系统接口进行数据接口的同步。数据结构表、数据字段对照表数据并不清空。下面就具体的实施方式做一个详细说明。1、在数据目标系统初始数据结构;2、在目标数据库中初始对照关系表以及目标数据表其中在数据库中至少存在下面几个表结构以及每个表中主要的字段:系统标识表(YWSYSZD):用于标识每个数据来源系统字段编号字段名称字段类型YWIDIDVARCHAR(36)YWCODE系统编号VARCHAR(20)YWNAME系统名称VARCHAR(100)接口数据结构表(DATASTRUCTURE):用于存储接口数据的数据结构字段编号字段名称字段类型DATAIDIDVARCHAR(36)DATASYSCODE数据来源系统编号VARCHAR(20)DATATABLE数据来源表名VARCHAR(40)DATACOLUMN数据来源字段VARCHAR(100)DATACOLTYPE数据来源字段类型VARCHAR(40)接口数据对照组(DATAGROUP):用于存储接口数据分组字段编号字段名称字段类型GROUPIDIDVARCHAR(36)GROUPNAME数据来源系统编号VARCHAR(20)GROUPTABLE数据来源表名VARCHAR(40)GROUPTTABLE数据目标表名VARCHAR(100)数据字段对照表(DATAMAPPING),DM_ID字段自动生成字段编号字段名称字段类型DM_IDIDVARCHAR(36)DM_GROUPID数据分组标识IDVARCHAR(36)DM_SCHUNAME数据XML块名VARCHAR(36)FM_SNODENAME数据XML节点名VARCHAR(36)FM_TTBNAME目标数据表名VARCHAR(36)FM_TFDNAME目标数据源字段名VARCHAR(36)上述各表的表关系如图2所示:系统标识表(YWSYSZD):用于存储数据源系统信息与数据目标系统信息;接口数据结构表(DATASTRUCTURE):用于存储接口xml数据的数据结构,定时根据接口xml的结构变化而变化;接口数据对照组(DATAGROUP):用于存储接口数据的对应关系,xml数据块对应表;数据字段对照表(DATAMAPPING):用于xml数据块中xml节点跟目标表中字段对应关系;3、初始xml数据结构与字段映射关系;4、数据目标系统部署相关的web服务,接收数据源系统发送的xml数据进行存储;5、差异化比对xml数据结构,并实现实时更新数据结构,实时进行数据存储;数据示例如下:初始时xml结构:<?xmlversion="1.0"encoding="UTF-8"?><Resource><Res_ID>ID</Res_ID><Res_CODE>Code</Res_CODE><Res_NAME>Name</Res_NAME><Res_NOTE>Note</Res_NOTE></Resource>初始后的数据结构数据表名数据字段ResourceRes_IDResourceRes_CODEResourceRes_NAMEResourceRes_NOTEResource表存储内容:Res_IDRes_CODERes_NAMERes_NOTEIDCodeNameNote数据结构改变后的xml数据<?xmlversion="1.0"encoding="UTF-8"?><Resource><Res_ID>ID</Res_ID><Res_CODE>Code</Res_CODE><Res_NAME>Name</Res_NAME><Res_NOTE>Note</Res_NOTE><Res_Date>2000-01-0213:22:11</Res_Date><Res_ext>true</Res_ext></Resource><Resource><Res_ID>ID2</Res_ID><Res_CODE>Code2</Res_CODE><Res_NAME>Name2</Res_NAME><Res_NOTE>Note2</Res_NOTE><Res_Date>2001-11-0203:09:51</Res_Date><Res_ext>false</Res_ext>Resource更新后的表结构:数据表名数据字段ResourceRes_IDResourceRes_CODEResourceRes_NAMEResourceRes_NOTEResourceRes_DateResourceRes_extResource表存储内容:Res_IDRes_CODERes_NAMERes_NOTERes_DateRes_extIDCodeNameNote2000-01-0213:22:11trueID2Code2Name2Note22001-11-0203:09:51false上述方法中,在数据目标系统解析数据时,或者在数据目标完成初始化时,创建访问控制数据库;创建访问控制数据库时,要求输入管理员编号、密码,将该用户作为数据库的登录用户,并将该用户作为访问控制数据库的数据库属主。此方法能够减少开发人员对同一接口为适应不同的数据规则数据而重复编码的问题,大大提升了开发人员的工作效率,对不同系统间已存在的web服务数据接口进行了合理化最大价值的利用,接口程序可自适应数据规则的变化而完成数据的存储,降低了软件研发的复杂度,对软件在企业内的应用进行更深层次的集成提供了平台。通过上面具体实施方式,所述
技术领域:
的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述
技术领域:
的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。除说明书所述的技术特征外,均为本专业技术人员的已知技术。当前第1页1 2 3