[发明专利]一种面向接口编程实现通用数据交换的方法在审
申请号: | 201710081650.7 | 申请日: | 2017-02-15 |
公开(公告)号: | CN106844746A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 赵文龙;何潇洋;苏芳 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 姜明 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 接口 编程 实现 通用 数据 交换 方法 | ||
技术领域
本发明涉及软件系统集成领域,具体地说是一种面向接口编程实现通用数据交换的方法。
背景技术
数据交换涉及到数据发送方系统和数据接收方系统,传统的数据交换实现方法,主要有以下几种方式:
(1)基于数据库实现的数据交换
数据库对数据库的数据交换,利用数据库之间的联通技术比如Oracle的DBLink作为不同数据库之间通信的桥梁,通过SQL或者存储过程实现数据发送方系统与数据接收方系统之间的数据处理。这种实现方式虽然不依赖应用程序,实现过程简单,但所有的功能都需要通过SQL或者存储过程实现,数据库中的SQL或者存储过程调试困难,不适用于复杂的业务逻辑处理。此外,需要将数据库暴露出来,安全性会受到一定的威胁。
(2)基于消息中间件实现的数据交换
数据发送方系统通过消息中间件给数据接收方系统发送接收数据的指令消息,然后再以消息内容为载体,将数据也以消息的形式传送给数据接收方,数据接收方接收到数据接收指令消息之后,调用本地的程序接收来自数据发送方传送消息中包含的数据。这种实现实现方式虽然和数据库层解耦,但又必须依赖于消息中间件,数据发送方和数据接收方都需要对数据进行加工处理才能完成数据的交换,并且这种实现方式通常不支持事务控制,数据一致性无法保证。
(3)直接调用程序实现的数据交换
数据接收方提供接收数据的程序包以及程序说明文档,数据发送方按照程序说明文档传递对应的数据交换参数,直接调用数据接收方提供的数据接收程序实现数据交换。这种方式虽然和数据库层解耦,并且实现方式简单,但是不符合依赖倒置原则,不适用于面向对象开发,如果针对同一个数据接收方的系统有很多数据接收程序需要调用,当数据接收程序一旦发生变化时,数据发送方系统的代码维护将会变得非常复杂,增大了后期代码维护的成本。
发明内容
本发明的技术任务是针对以上不足之处,提供一种面向接口编程实现通用数据交换的方法,以面向接口的编程方式调用数据交换实现程序、数据,记录数据交换程序的调用参数和调用结果。
本发明解决其技术问题所采用的技术方案是:
一种面向接口编程实现通用数据交换的方法,其特征在于以面向接口编程的方式调用数据交换程序;持久化保存数据交换信息支持失败重新调用;事务控制数据交换过程保证数据一致性;分布式数据交换状态机支持应用集群;
以面向接口的方式调用数据交换程序,数据接收方以接口方式定义数据交换程序对象的构造方法、数据交换程序参数接收方法以及执行数据交换的方法,具体实现过程在内部封装,对外不可见,并将接口调用方式和需要的参数说明提供给数据发送方;数据发送方以面向接口编程的方式先调用数据交换程序对象的构造方法获取数据交换的执行对象,然后再调用数据交换程序参数接收方法传递数据交换参数,最后调用数据交换对象执行数据交换的方法完成数据交换过程;
不是所有的数据交换过程都需要和业务逻辑处理过程组成一个事务,即有些数据交换即使失败了,也不能影响整个业务过程的继续执行,因此在这种数据交换失败的情况下,首先保证整个业务过程可以继续成功执行,而调用失败的数据交换需要支持重新再次调用,直到最终调用成功为止。为了实现数据交换失败之后能够重新调用,系统需要持久化保存数据交换的必要信息,包括数据交换调用的接口、调用参数等;
事务控制数据交换过程,将数据发送方系统业务逻辑处理的代码和调用数据接收方数据交换的代码都放在同一个事务控制的程序块中,数据交换和业务逻辑处理这两个子操作过程组成一个事务,当数据交换失败回滚之后,对应的业务逻辑处理成功结果也进行回滚,这样当任意一个子过程失败整个事务过程都将失败,只有所有的子过程都成功,整个事务过程才成功,事务的回滚机制有效地保证了数据发送方系统和数据接收方系统的数据一致性;
当应用集群时,同一个系统的应用程序会被部署到多个分布式的应用节点,不同应用节点的程序版本是相同的,如果每一个应用节点包含的数据交换代码都执行,相同的数据交换代码将会被执行多次,导致数据交换过程重复执行;分布式数据交换状态机,通过数据交换集群控制中心记录各节点数据交换程序开始执行和结束执行的状态,当一个数据交换开始执行前,首先到数据交换集群控制中心检测数据交换执行状态,如果已有应用节点开始执行或者执行完毕,本节点将不再执行,如果还没有应用节点执行,数据交换集群控制中心记录开始执行状态并在本节点开始执行,当数据交换执行完成之后,数据交换集群控制中心再记录结束执行的状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710081650.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于减速机的自润滑齿轮轴
- 下一篇:防锈简易谐波刚轮