书签 分享 收藏 举报 版权申诉 / 13

数据转换的方法和系统.pdf

  • 上传人:zhu****69
  • 文档编号:6165950
  • 上传时间:2019-05-16
  • 格式:PDF
  • 页数:13
  • 大小:1.32MB
  • 摘要
    申请专利号:

    CN201310635242.3

    申请日:

    2013.11.29

    公开号:

    CN103593199A

    公开日:

    2014.02.19

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 9/44申请日:20131129|||公开

    IPC分类号:

    G06F9/44

    主分类号:

    G06F9/44

    申请人:

    迈普通信技术股份有限公司

    发明人:

    杨斌

    地址:

    610041 四川省成都市高新区九兴大道16号迈普大厦

    优先权:

    专利代理机构:

    成都宏顺专利代理事务所(普通合伙) 51227

    代理人:

    周永宏

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种数据结构转换的方法和系统,属于计算机应用软件技术领域,包括以下步骤:A、创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;B、创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系。本发明的有益效果:采用脚本解释执行的特性,采用脚本做数据转换,避免重新编译和发布的过程。降低重新编译和发布带来的时间开销,提高了效率,特别适用于调试场景下的数据转换测试,能够及时响应需求的变化。

    权利要求书

    权利要求书
    1.  一种数据转换的方法,其特征在于,包括以下步骤:
    A、创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;
    B、创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;
    C、第一系统通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    D、由第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;
    E、在所述扩展脚本中,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;
    F、第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。

    2.  根据权利要求1所述的方法,其特征在于,步骤A中所述的第一系统需求的数据结构是固定无变化的。

    3.  根据权利要求1或2所述的方法,其特征在于,所述步骤B中,所述的待兼容的第二系统至少有一个,为每一个待兼容的第二系统分别创建一一对应的扩展脚本。

    4.  根据权利要求3所述的方法,其特征在于,所述步骤D具体包括:第一 系统的基础脚本调用所述扩展脚本,将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。

    5.  根据权利要求4所述的方法,其特征在于,所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。

    6.  一种数据转换的系统,其特征在于,包括第一系统和至少一个待兼容的第二系统,其中,
    所述第一系统,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;所述基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;在所述扩展脚本中,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;所述基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据;
    所述至少一个待兼容的第二系统,用于向第一系统提供获取数据的接口。

    7.  根据权利要求6所述的系统,其特征在于:所述第一系统具体包括:
    脚本创建模块,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第 二系统与所述扩展脚本的对应关系;
    数据获取模块,用于通过待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    数据转换模块,用于利用第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;利用所述扩展脚本,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;利用第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。

    8.  根据权利要求6或7所述的系统,其特征在于:所述待兼容的第二系统至少有一个,为每一个待兼容的第二系统创建分别创建一一对应的扩展脚本。

    9.  根据权利要求8所述的系统,其特征在于:所述数据转换模块还用于,通过基础脚本调用所述扩展脚本,将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。

    10.  根据权利要求9所述的系统,其特征在于:所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。

    说明书

    说明书数据转换的方法和系统
    技术领域
    本发明涉及计算机应用软件技术领域,尤其涉及一种数据结构转换的方法和系统。
    背景技术
    随着网络的普及,应用类软件进入了高速发展期,应用软件系统之间的关系也逐渐紧密,多个应用系统之间相互协助提供丰富功能的需求也越来越强烈。但是,多个不同应用系统之间在交换数据的过程中,常常出现系统之间数据结构不匹配的情况。针对这种情况,常用的方法是做数据转换,当前较常用的方式是采用系统开发使用的语言进行数据转换,然而,这种方式存在一定的局限性。
    针对不同系统之间的数据转换一般是采用系统使用的编程语言进行编程开发,做相应的数据转换编码,然后编译生成目标文件进行支持,例如:系统采用java语言开发,当系统与其它系统进行数据转换时,一般是就采用java语言编程做数据转换处理,然后对编程产生的源代码进行编译,生成目标文件即class文件进行支持。这种方式的缺点在于:在编码完毕后需要进行编译,并且重新发布、运行系统,才能进行数据兼容性支撑。
    对于应用类软件而言,客户的需求变化比较频繁,特别是对于在客户处现场演示、调试等操作过程是非常困难的,将严重影响调试效率,其可测试性非常差。
    尤其是针对如下场景:开发人员在室内进行支持,演示、调试人员在客户处无法进行编码、编译、打包、发布等动作,需要室内开发人员进行技术支持,就必然要将需求提交给室内,室内进行对应开发并更新版本后提交给室外,室 外演示、调试人员再重新部署、运行,如果此时客户需求再次变化,那么必然需要再次重复该过程。而该过程非常耗费时间,其投入产出比非常低,严重影响效率并且无法及时响应客户的需求。
    当前通用的数据转换方法虽然可行,但是无法做到快速转换。因为现阶段大多数的系统开发采用的编程语言都需要编译、链接等过程,对这些系统而言,做数据转换就意味着需要重新编译、发布版本,这种方式效率低下,特别是调试场景中的数据转换,无法保证实时性。
    发明内容
    本发明的目的在于为了改善多系统之间数据转换时需要进行重新编译、发布的低效而提出的一种数据转换的方法和系统。
    为了实现以上发明目的,本发明采取的技术方案如下:一种数据转换的方法,包括以下步骤:
    A、创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;
    B、创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;
    C、第一系统通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    D、由第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;
    E、在所述扩展脚本中,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;
    F、第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。进一步的,步骤A中所述的第一系统需求的数据结构是固定无变化的。
    进一步的,所述步骤B中,所述的待兼容的第二系统至少有一个,为每一个待兼容的第二系统分别创建一一对应的扩展脚本。
    进一步的,所述步骤D具体包括:第一系统的基础脚本调用所述扩展脚本,将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。
    进一步的,所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。
    为了解决上述问题,本发明还提出了一种数据转换的系统,包括第一系统和至少一个待兼容的第二系统,其中,
    所述第一系统,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;所述基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;在所述扩展脚本中,将传入的所述第一系统的数据结构 与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;所述基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据;
    所述至少一个待兼容的第二系统,用于向第一系统提供获取数据的接口。
    进一步的,所述第一系统具体包括:
    脚本创建模块,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;
    数据获取模块,用于通过待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    数据转换模块,用于利用第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;利用所述扩展脚本,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;利用第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。
    进一步的,所述待兼容的第二系统至少有一个,为每一个待兼容的第二系统创建分别创建一一对应的扩展脚本。
    进一步的,所述数据转换模块还用于,通过基础脚本调用所述扩展脚本,将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。
    进一步的,所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。
    本发明的有益效果:本发明采用脚本解释执行的特性,采用脚本做数据转换,避免重新编译和发布的过程。降低重新编译和发布带来的时间开销,提高了效率,特别适用于调试场景下的数据转换测试,能够及时响应需求的变化。
    详细说明:1.脚本基于解释执行,无须进行重新编译和发布,具有良好的实时性;2.通过扩展脚本可以同时与不同系统的数据进行转换,有良好的扩展性;3.非常适用于客户现场调试,能够快速响应客户需求的变化。
    附图说明
    图1为本发明的方法流程图;
    图2为本发明的系统架构示意图。
    具体实施方式
    为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
    如图1所示,一种数据转换的方法,包括以下步骤:
    A、创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;
    B、创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;
    C、第一系统通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    D、由第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;
    E、在所述扩展脚本中,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;
    F、第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。
    步骤A中所述的第一系统需求的数据结构是固定无变化的。
    所述步骤B中,所述的待兼容的第二系统至少有一个,为每一个待兼容的第二系统分别创建一一对应的扩展脚本。
    所述步骤D具体包括:第一系统的基础脚本调用所述扩展脚本,将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。
    所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。
    为了解决上述问题,本发明还提出了一种数据转换的系统,包括第一系统和至少一个待兼容的第二系统,其中,
    所述第一系统,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;通过所述待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;所述基础脚本调用所述扩展脚本,并且将第一系 统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;在所述扩展脚本中,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;所述基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据;
    所述至少一个待兼容的第二系统,用于向第一系统提供获取数据的接口。
    参见图2所示,所述第一系统具体包括:
    脚本创建模块,用于创建第一系统的基础脚本,并在所述基础脚本中定义第一系统需求的数据结构;创建与待兼容的第二系统对应的扩展脚本,在所述扩展脚本中定义所述待兼容的第二系统需求的数据结构,保存所述待兼容的第二系统与所述扩展脚本的对应关系;
    数据获取模块,用于通过待兼容的第二系统提供的接口获取数据,并调用第一系统的基础脚本,将从所述待兼容的第二系统获取的数据传入到第一系统的基础脚本;
    数据转换模块,用于利用第一系统的基础脚本调用所述扩展脚本,并且将第一系统的数据结构以及从所述待兼容的第二系统获取到的数据通过参数传递的方式传入所述扩展脚本中;利用所述扩展脚本,将传入的所述第一系统的数据结构与所述待兼容的第二系统的数据结构进行映射,并且将从所述待兼容的第二系统获取到的数据进行映射转换后,存入第一系统的数据结构中;利用第一系统的基础脚本向第一系统的脚本调用程序返回经过映射转换后的数据。
    所述待兼容的第二系统至少有一个,为每一个待兼容的第二系统创建分别创建一一对应的扩展脚本。
    所述数据转换模块还用于,通过基础脚本调用所述扩展脚本,将第一系统 的数据结构以及从所述待兼容的第二系统获取到的数据经过格式转换后,通过参数传递的方式传入所述扩展脚本中。
    所述格式转换,是指转换为字符串和/或键值表结构和/或JSON对象。
    具体实施例一:第一系统的数据结构与待兼容的第二系统的数据结构做映射的具体过程,举例说明如下:在第一系统的基础脚本中定义一个用户数据结构如下:userName,userAge;而另一个待兼容的待兼容的第二系统相对应的扩展脚本中定义的用户数据结构如下:name,age;此时将name映射为userName,将age映射为userAge;并且,将传入扩展脚本的对应的其他系统的数据经过映射转换,存入第一系统的数据结构中。比如:该其他系统的数据经过格式转换后传入扩展脚本的数据为:[{name:’张三’,age:20}],在做映射转换时,将name的值赋予userName,将age的值赋予userName,最终映射转换后的数据为:[{username:’张三’,userAge:20}];
    数据结构在做映射时,可以通过将其他系统获取的数据转换为字符串、键值表结构等,当然也可以是其他脚本可以理解的数据结构,比如轻量级的数据交换格式(JSON,JavaScript Object Notation)。
    以上本发明的实施例,将待兼容的第二系统的数据结构向第一系统进行转换,同时,也可以将第一系统的数据结构向待兼容的第二系统进行转换,其转换方式相同,差异点在于以上所述的是从待兼容的第二系统获取数据后向第一系统进行转换。下述说明如何将第一系统的数据结构向待兼容的第二系统进行转换,通过调用待兼容的第二系统提供的接口,向待兼容的第二系统发送转换后的数据;具体实施例如下:
    第一系统有人员信息的数据为:


    在第一系统中存储的数据结构为:
    {name:“张三”,age:22,job:“IT”}。
    现在要将第一系统的这些数据推送到待兼容的第二系统,比如第二系统为QQ,作为其基础数据的一部分,如果按常规方式,要么在第一系统中将数据结构先转换成第二系统要求的数据格式,要么第二系统自己将收到的数据格式转换成自己需要的格式;而通常以上做法都是在系统内部采用编译性语言编写,比如java、c、c++等,这些方式不利于动态扩展。比如,还需要将这些数据推送到待兼容的第三系统、第四系统…就需要在系统内做非常多的编译、发布等动作,特别不适合于客户现场测试、修改的场景。
    本发明采用的做法是,采用解释性语言,比如javaScript,进行编写做数据转换,这样做具有非常好的扩展性。比如:
    姓名年龄工作性质张三22IT
    在第二系统程序中存储的数据结构为:
    {userName:“张三”,userAge:22,UserJob:“IT”}
    可以看出,两个系统的数据结构是不相同的。第一系统的数据无法直接给第二系统使用。这时就需要进行数据转换。
    本发明采用如下方式进行转换,例如在javaScript脚本中:


    具体实施例三:当然,对于更复杂的情况,比如同一个数据需要推送到不同的系统时,可以通过做扩展脚本的方式进行。
    比如:
    数据被推送到第二系统、第三系统、第四系统…
    做法如下:

    第二系统的扩展脚本如下:

    第三系统的扩展脚本如下:


    以此类推。这些扩展脚本和第一系统的主体脚本都存储在第一系统上,需
    要时可以随意扩展。
    一种数据转换的方法和系统,其主要目的是将不同系统之间的数据通过脚本的方式进行相互转换,解决不同系统之间数据结构的差异问题,使得不同系统的数据可以相互兼容。
    本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

    关 键  词:
    数据 转换 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:数据转换的方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6165950.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1