System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于使程序适应互操作性的方法和系统及其适配器技术方案_技高网

用于使程序适应互操作性的方法和系统及其适配器技术方案

技术编号:40946728 阅读:4 留言:0更新日期:2024-04-18 20:19
一种根据实施例的方法和系统实现通用程序到程序的互操作性。该方法和系统采用自动或基本自动的变换适配器,以使用给定的交换标准与程序进行双向通信。为了使该适配器采用该交换标准,发现管理器可以学习该程序的数据通信结构和/或格式,并且可以从该程序中学习数据含义信息。适配器创建器可以得出将该程序的数据通信结构和数据含义转换成该交换标准的变换。该适配器可以使用该变换来实现与类似地采用该给定交换标准的任何适配器和/或程序的双向通信,以实现互操作性。

【技术实现步骤摘要】

本专利技术总体上涉及一种用于使软件程序适应互操作性的方法和系统。本专利技术还涉及用于使不同程序实现互操作性的适配器。


技术介绍

1、不承认本章节中公开的
技术介绍
在法律上构成现有技术。

2、目前,诸如数据库程序之类的程序采用了各种不同的数据模型、接口语言、命名惯例、数据语义、模式和数据表示。因此,基本问题是在各种资源之间共享异构信息。来自不同程序的数据之间的多样性可能会产生严重的障碍,在这些障碍中,这些不同程序之间的互操作性可能是令人高度期望的,但迄今为止是无法实现的。

3、尽管已经有许多针对异构数据库的尝试,但继续存在对设计应用、工程应用和制造应用的显著需求,以便能够以高效且有效的方式轻松访问和导入数据。开发全球查询语言的努力并不能令人满意地解决大量用户的问题,这些用户可能希望看到外部数据世界,就像该外部数据世界是他们的现有系统及其专用表示的扩展一样。这些用户可能不希望学习不同的全局表示,并且更重要的是,他们昂贵的设计工具可能仅对他们的一个专用表示起作用。

4、数据库网关、公共对象请求代理(cobra)和开放数据库连接(odbc)接口试图解决异构性,但只是在相对肤浅的层面上这样做。因此,即使刚开始实现通用程序互操作性,也存在严重的缺点。

5、在所有这些情况下,程序员仍然必须编写应用代码来调用在程序之间的接口中设计的若干函数,以某种方式使它们能够相互操作,从而产生不想要的和不期望的费用和时间延迟。应用程序接口(api)的源侧、api的目标侧上可能需要数据转换和重新格式化,或通常在这两侧上都需要。所有这些都留给了程序员,他们必须根据具体情况实现这种互操作性功能,并且因此为所期望的实施付出巨大的代价。不幸的是,很少有或没有预先存在的软件可以在其中构建这些翻译器,并且每一项努力通常都是从头开始。虽然一些供应商供应了几种常见格式的导入翻译器,但一般来说,这些并不能提供足够的互操作性。

6、此外,如果数据的目标使用期望非关系数据(例如,链接、嵌套或其它格式),则可能需要另外的数据转换。通常,这也可能涉及显著昂贵令人望而却步地的编程工作,该编程工作具有不必要的耗时要求。即使在关系数据模式内,通常也存在若干不同的方法来设计关系表,也就是说,通常有不止一种方法来规范化数据。如果应用需要不同于api所提供的数据的数据,那么通常需要数据转换。因此,对于组织来说,针对他们的特殊需求编写昂贵且耗时的专业翻译器常常是必要的。

7、其它互操作性缺陷频繁出现在大型现代企业中。不可避免的是,组织的不同部分可能使用不同的系统来生产、存储和搜索他们的关键数据。这种数据来源的多样性可能是由许多因素造成的,包括公司单位之间缺乏协调、采用新技术的速率不同、合并和收购以及合作团体的地理分离。然而,仅通过结合来自这些不同系统的信息,企业才可能能够实现它们所包含的数据的完全价值。因此,在现代大型企业中,程序互操作性越来越令人费解。

8、例如,在金融行业或医疗行业,发生合并几乎是常见的事情。由合并产生的公司继承一个或多个原机构的数据存储。这些数据存储中的许多数据存储通常来自不同的制造商。获取者和目标均可能已经具有一个或多个用于存储文本文档的文档管理系统。每一个文档管理系统可能已经具有计算重要信息的应用,例如,向给定客户发放贷款的风险,或挖掘有关客户购买模式的信息。

9、在合并之后,新公司可能需要访问两组数据存储中的客户信息,使用现有的和新的应用分析其新的产品组合,并且通常通过公共接口使用两个机构的已组合资源。该公司可能还需要识别共同客户并整合其账户的能力,即使客户数据可能存储在不同的数据库中并采用不同的格式。这些都是程序互操作性的各个方面,并且所有这些都可能在实施过程中带来沉重且代价过高的挑战。而且,该实施方式通常需要不必要的长时间延迟来实现所期望的互操作性。

10、互操作性的另一个尝试是建立数据仓库,它通常是通过将一个或多个数据源中的数据加载至仓库数据库中新定义的模式(schema)中来构建的。数据常常在加载过程中被清理和转换。底层源的改变可能会导致加载过程的改变,并且应用中处理数据分析的部分必须受到保护。新数据源可能会引入对模式的更改,这需要定义针对新数据的新的加载过程。然而,不是仓库数据库管理系统标准部分的新数据源的任何功能通常必须在仓库数据库系统中或作为应用的一部分重新实施,这通常会产生不必要的费用并浪费安装时间。

11、仅仅基于仓储的解决方案可能不切实际,或由于各种其它原因不符合成本效益。例如,将数据从其原始位置移动至数据仓库并不总是可行的,并且如以上所描述的,仓储有其自身的维护成本和实施成本。

12、数据库联邦系统的使用是实现通用互操作性的又一个尝试。术语“数据库联邦”是指这样一种架构,其中数据库管理系统提供对多个异构数据源的统一访问。然而,设计和实施此类系统的时间和费用通常是不期望的和不必要的。即使这样,它通常也仅限于关系数据库,并且不局限于其它格式,诸如分层或其它形式。因此,此类有限的架构根本不适合用于通用互操作性。通过添加先前不知道的已填充数据源来扩大规模,即使对某些应用程序来说不完全不切实际,也最多是一个外部挑战。

13、一般而言,创建接口来实现某种程度的程序互操作性需要不必要的费用和时间,例如,在采用大量异构数据源的情况下。程序员的此类手动工作通常是完全不期望的和不必要的,如果不是令人生畏的话。

14、令人极度期望的是具有这样的系统和方法:能够以自动或基本自动、以及高效且有效的方式实现任何数量的不同程序的互操作性。这样的系统和方法应该安全地防范人为错误。另外,令人高度期望的是具有程序适配器来帮助促进不同程序之间的通用互操作性。适配器将以自动或基本自动的方式运行,以消除或大大减少程序员为先前未知的程序开发接口的需要。适配器应该能够实现甚至在具有先前未知的数据排列和含义的程序之间的互操作性,并且该实施可以基本上在没有人工干预的情况下完成。因此,先前未知的程序可以容易地被其它程序访问,以用于互操作性目的,以基本上无限制的方式和快速且有效的方法在全球范围内扩展系统。

15、适配器已经被用来帮助访问数据库实现与其它程序的访问。例如,可以参考以下美国专利:us 9,201,874 b2;us 9,135,297 b2;us 6,880,151b2;us 6,792,431 b2;us 5,970,490;以及已公开的美国专利申请2014/0032608a1。

16、并且,以下是非专利公开文章:

17、freir,andreas,hofestadt,ralf,lange,matthias,scholz uwe,stephanik,andreas,“biodataserver;基于sql的生命科学数据在线集成服务(biodataserver;a sql-based service for the online integration of life science data)”,载于《电子生物学期刊(in silico 本文档来自技高网...

【技术保护点】

1.一种创建用于使不同程序能够交互操作的适配器的方法,包括:

2.根据权利要求1所述的方法,还包括提供发现管理器。

3.根据权利要求2所述的方法,其中,确定所接收的程序含义是否显著等同于交换标准的预定数据含义的步骤包括经由所述发现管理器搜索针对存储在所述程序中的数据的数据含义。

4.根据权利要求3所述的方法,其中,所述接收包括经由所述发现管理器接收应用程序接口(API)。

5.根据权利要求3所述的方法,其中,所述搜索包括经由所述发现管理器从所述程序接收元数据。

6.根据权利要求1所述的方法,其中,确定所接收的程序含义是否显著等同于交换标准的预定数据含义的步骤包括经由所述发现管理器将预定交换标准含义与所接收的程序数据含义进行比较,以确定所述交换标准含义是否等同于对应的程序数据含义。

7.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括经由包括卷积神经网络的发现管理器确定是否存在程序数据简档以及是否存在交换数据简档。

8.根据权利要求7所述的方法,还包括经由所述发现管理器确定所述程序数据简档与所述交换标准数据简档之间的一致性。

9.根据权利要求7所述的方法,如果所述发现管理器确定所述数据含义的等效性和/或所述数据简档的一致性存在,则由所述适配器创建器创建所述变换,除非(1)所述程序数据含义等同于所述交换标准数据含义,并且(2)所述程序数据简档与所述交换标准数据简档不一致。

10.根据权利要求1所述的方法,还包括创建包括用于数据读取和/或数据写入的规则的通信传输变换。

11.根据权利要求10所述的方法,其中,所述数据变换和所述通信传输变换由所述适配器创建器针对所述交换标准适配器组装。

12.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括等同于交换标准数据含义(ES-DM)的程序数据含义(P-DM)。

13.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括确定程序数据(P-DATA)是否在所述交换标准中所述的数据范围之外。

14.根据权利要求13所述的方法,其中,所述程序数据包括一个或多个固有特性:数据值范围、数据分层结构和数据统计分布。

15.根据权利要求1所述的方法,其中,如果确定了显著等同性或显著一致性则创建双向功能数据变换的步骤包括开发功能数据变换(T),该功能数据变换(T)是交换标准数据结构/格式(ES-DSF)和程序数据结构/格式(P-DSF)两者的函数。

16.一种用于促进不同的第一程序与第二程序之间的互操作性的系统,包括:

17.根据权利要求16所述的系统,其中,所述第一双向交换标准适配器包括一个或多个超对象,每个超对象具有规则,所述规则定义所述第一数据功能变换和所述第一通信传输变换。

18.根据权利要求16所述的系统,其中,所述第二双向交换标准适配器包括一个或多个超对象,每个超对象具有规则,所述规则定义所述第二数据功能变换和所述第二通信传输变换。

19.根据权利要求16所述的系统,其中,所述第一程序包含第一语言的信息,并且其中,所述第二程序包含不同于所述第一语言的第二语言的信息。

20.根据权利要求19所述的系统,其中,通过所述公共通信链路传送的所述交换标准信息包含不同于所述第一语言和所述第二语言的第三语言的信息。

21.一种用于使不同程序能够以自动或显著自动的方式进行互操作的方法,包括:

22.根据权利要求21所述的方法,其中,通过所述发现管理器接收第一程序的第一程序数据含义和对应的数据位置的步骤包括接收应用程序编程接口。

23.根据权利要求21所述的方法,其中,通过所述发现管理器接收第一程序的第一程序数据含义和对应的数据位置的步骤包括从所述第一程序接收元数据。

24.根据权利要求21所述的方法,其中,通过所述发现管理器搜索存储在所述第一程序中的数据的所述第一程序数据含义以确定所述第一程序数据含义是否显著等同于交换标准的预定数据含义包括将所述交换标准的预定数据含义与所接收的第一程序数据含义进行比较以确定所述交换标准的预定数据含义是否显著等同于对应的第一程序数据含义。

25.根据权利要求21所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤是通过经由所述发现管理器确定程序...

【技术特征摘要】

1.一种创建用于使不同程序能够交互操作的适配器的方法,包括:

2.根据权利要求1所述的方法,还包括提供发现管理器。

3.根据权利要求2所述的方法,其中,确定所接收的程序含义是否显著等同于交换标准的预定数据含义的步骤包括经由所述发现管理器搜索针对存储在所述程序中的数据的数据含义。

4.根据权利要求3所述的方法,其中,所述接收包括经由所述发现管理器接收应用程序接口(api)。

5.根据权利要求3所述的方法,其中,所述搜索包括经由所述发现管理器从所述程序接收元数据。

6.根据权利要求1所述的方法,其中,确定所接收的程序含义是否显著等同于交换标准的预定数据含义的步骤包括经由所述发现管理器将预定交换标准含义与所接收的程序数据含义进行比较,以确定所述交换标准含义是否等同于对应的程序数据含义。

7.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括经由包括卷积神经网络的发现管理器确定是否存在程序数据简档以及是否存在交换数据简档。

8.根据权利要求7所述的方法,还包括经由所述发现管理器确定所述程序数据简档与所述交换标准数据简档之间的一致性。

9.根据权利要求7所述的方法,如果所述发现管理器确定所述数据含义的等效性和/或所述数据简档的一致性存在,则由所述适配器创建器创建所述变换,除非(1)所述程序数据含义等同于所述交换标准数据含义,并且(2)所述程序数据简档与所述交换标准数据简档不一致。

10.根据权利要求1所述的方法,还包括创建包括用于数据读取和/或数据写入的规则的通信传输变换。

11.根据权利要求10所述的方法,其中,所述数据变换和所述通信传输变换由所述适配器创建器针对所述交换标准适配器组装。

12.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括等同于交换标准数据含义(es-dm)的程序数据含义(p-dm)。

13.根据权利要求1所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤包括确定程序数据(p-data)是否在所述交换标准中所述的数据范围之外。

14.根据权利要求13所述的方法,其中,所述程序数据包括一个或多个固有特性:数据值范围、数据分层结构和数据统计分布。

15.根据权利要求1所述的方法,其中,如果确定了显著等同性或显著一致性则创建双向功能数据变换的步骤包括开发功能数据变换(t),该功能数据变换(t)是交换标准数据结构/格式(es-dsf)和程序数据结构/格式(p-dsf)两者的函数。

16.一种用于促进不同的第一程序与第二程序之间的互操作性的系统,包括:

17.根据权利要求16所述的系统,其中,所述第一双向交换标准适配器包括一个或多个超对象,每个超对象具有规则,所述规则定义所述第一数据功能变换和所述第一通信传输变换。

18.根据权利要求16所述的系统,其中,所述第二双向交换标准适配器包括一个或多个超对象,每个超对象具有规则,所述规则定义所述第二数据功能变换和所述第二通信传输变换。

19.根据权利要求16所述的系统,其中,所述第一程序包含第一语言的信息,并且其中,所述第二程序包含不同于所述第一语言的第二语言的信息。

20.根据权利要求19所述的系统,其中,通过所述公共通信链路传送的所述交换标准信息包含不同于所述第一语言和所述第二语言的第三语言的信息。

21.一种用于使不同程序能够以自动或显著自动的方式进行互操作的方法,包括:

22.根据权利要求21所述的方法,其中,通过所述发现管理器接收第一程序的第一程序数据含义和对应的数据位置的步骤包括接收应用程序编程接口。

23.根据权利要求21所述的方法,其中,通过所述发现管理器接收第一程序的第一程序数据含义和对应的数据位置的步骤包括从所述第一程序接收元数据。

24.根据权利要求21所述的方法,其中,通过所述发现管理器搜索存储在所述第一程序中的数据的所述第一程序数据含义以确定所述第一程序数据含义是否显著等同于交换标准的预定数据含义包括将所述交换标准的预定数据含义与所接收的第一程序数据含义进行比较以确定所述交换标准的预定数据含义是否显著等同于对应的第一程序数据含义。

25.根据权利要求21所述的方法,其中,确定来自所述程序的所接收的数据位置的数据是否与所述交换标准的对应数据显著一致的步骤是通过经由所述发现管理器确定程序数据简档和交换标准数据简档是否存在来执行的。

26.根据权利要求25所述的方法,其中,所述发现管理器包括卷积神经网络。

27.根据权利要求21所述的方法,还包括创建通信传输变换,所述通信传输变换包括用于数据读取和/或数据写入的规则。

28.根据权利要求27所述的方法,其中,所述数据变换和所述通信传输变换由所述交换标准适配器的适配器创建器组装。

29.根据权利要求21所述的方法,其中,确定来自所接收...

【专利技术属性】
技术研发人员:克里斯·A·豪登斯奇德
申请(专利权)人:科林尼克姆国际公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1