APP下载

基于微服务架构的信息系统开发技术研究

2022-12-14

信息记录材料 2022年2期
关键词:中间件夹具应用程序

喻 会

(长江职业学院 湖北 武汉 430074)

0 引言

在现如今的互联网时代背景中,国内大部分的行业领域都已经逐渐步入了全面的信息化转换的过程,然而目前来说部分企业中的信息系统并不够智能化,其系统对于各类数据和信息的收集以及处理较为复杂和缓慢,从而导致企业的运营效益和生产效率并不能获得有效的提升。同时各个企业对于自身的信息系统的检修和更新的时候所需要耗费的精力和资金也较多,让企业的发展进步受到了较多的阻碍。因此将微服务架构应用到其信息系统的开发中,可以有效地帮助信息系统进行更新和监测,让信息系统能够更加灵活,更加智能化,运行也会更加快捷,对于数据的收集和处理也更加精准。

软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。目前制造业的发展趋势,如工艺模块化,要求现代装配系统集成大量的子系统,如装配站、固定装置、人机界面控制(HMI)等,这导致了信息交换的增加,同时对灵活性和可重构性的要求也越来越高。本文综述了DDS标准及其在精密装配领域的潜在优势,描述了基于DDS的应用程序的基本概念,并对建立数据传输实体的体系结构进行了概述,随后讨论了3个可以促进开发精密装配平台的功能,最后通过一个简单的应用实例来说明DDS中间件的一些优点[1]。

1 微服务架构概述

1.1 微服务架构的含义

微服务架构,主要是指性质为高内聚性的,按照业务范围确定服务范围的较小协同工作单位。而其中的每个单位所具备的自治度相对来说都比较高,能够作为独立实体并在系统里独立运作,并且还能够将其当作系统进程,服务间采用网络调用方法,这种方法能够有效提升服务间的隔离性,从而预防紧耦合现象的产生。微服务构架模式为适配性结构,按照业务的上下文来选择其所对应的适配性语言和工具,接着把单独的应用程序进行拆解,把程序里的服务划分为组,在和服务互相协调配合的情况下,让服务能够按照其业务的实际情况来进行构造,并且让其能够在独立的进程里顺利运转。

1.2 微服务架构的特征

微服务架构所具备的特征大致有3类,而它所具备的这些特征能够帮助它在和以往的组件比较中彰显更多的优异之处,其3类特征主要内容如下。

1.2.1 分解化服务处理

根据相关的技术方面来说,把微服务当作组件,这种类型的组件和以往的组件相比,其优势就在于它的运作更加快捷方便,在系统中所占的内存更少。以往的组件会把业务独立部分隔离或者会将公用的部分进行抽取,从而让整个程序模块化,以此来达成复用和解耦的操作。而如今的微服务架构就会把系统直接分离成若干服务,并让这些服务间能够具备些许耦合关系,从而让应用程序中功能只用把单一系统改变,接着再把相应的服务进行重构部署就可以了。

1.2.2 复杂程度减小

微服务构架的原理就是把单体应用根据组别分割成若干单独的服务,从而让程序里各种复杂的数据处理问题得到有效的解决,并且能够有效防止一些垃圾信息占据进程空间,导致系统的执行速度降低。如若在保持功能不变的环境中,应用分割为若干个单独的服务过后,利用微服务构架就能够实现将复杂功能模块化的操作。以此来让单体应用编码复杂造成应用编码方式不易完成的问题得以解决,让服务的检修和开发工作能够更加迅速和简便。

1.2.3 技术多样化

以往的组件研发方法中对于应用的构建方法是采用同类技术,但是微服务构架的关键技术是无中心化的组织架构,构建方式没有侧重点,并且在实际运用里服务按照其行业发展的状态和其自己的服务范围能够得到相对的判定,并将其技术类型确立之后展开对口服务,从而让整体的服务能够具备更多的专业性、系统性和科学性,并且还能够让服务对于各种数据信息的处理速度更加迅速,对于信息整理识别的精准度更高,让其服务的整体运行效率能够更快。

2 XML-使用发布-订阅方法的消息

软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通信。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口来实现。另一个面向消息的发布订阅中间件是Java消息传递服务(Java MessagingService,JMS)。尽管这些系统被允许在多个节点之间进行健壮的通信,然而面向消息的通信似乎占用了大量的处理时间来转换节点中的各种消息。尤其是JMS仅限于Java编程语言,因此会缺乏平台无关性。除此之外,JMS不支持以即插即用的方式动态发现新组件,因为应用发现是管理和集中的。数据分发服务标准(Direct Digital Synthesizer,DDS)同DSP(数字信号处理)一样,是一项关键的数字化技术。DS芯片中主要包括频率控制寄存器、高速相位累加器和正弦计算器三个部分(如Q2220)。DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。随着DDS的广泛应用,对象管理小组(OMG)最近发布了一个独立于平台的标准,用于以数据为中心的发布-订阅中间件,该标准专门针对资源有限的实时应用程序的需求。与以前提到的方法不同,DDS不交换封装在消息中的数据。相反,要交换的数据结构是用形式接口定义语言(IDL)建模的。在此数据定义的基础上,自动生成用于准确发送和接收信息的所有源代码,这样信息交流的速度就可以大大加快[2]。

3 数据分发标准

DDS提供了公共的应用层接口,允许进程(所谓的参与者)以主题的形式交换信息。后者是具有标识符和数据类型的数据流,DDS应用程序的典型体系结构,希望编写数据的应用程序声明它们的意图是成为主题的“发布者”。同样,希望从主题中读取数据的应用程序声明它们的意图是成为“订阅者”。在下面,DDS中间件负责在不同数量的发布者和订阅者之间分发信息。它管理这些声明,自动为匹配的主题在发布者和订阅者之间建立连接,并动态地检测系统中的新参与者。此外,DDS允许使用服务质量(Qos)概念精确地配置信息交换的属性,这对于资源有限的实时系统尤其重要[3]。

3.1 建筑概述

DDS规范的核心是以数据为中心的发布订阅模型(DCPS),它组织了通信参与者之间的数据交换,完成通信的所有类都是从中心类实体扩展的,该类提供了以下功能:使用服务质量参数配置、侦听器对象通知事件和附加应用程序可以等待的条件。实体的所有子类都有一套专门的QoS策略,它提供了微调数据交换的能力。作为应用程序发行者的类型化访问器,并且是特定于要发送的数据类型的访问器,如果应用程序希望发送agiven类型的数据,则应用程序必须使用此对象,然后该数据将触发发布服务器根据服务质量设置发出数据。通信的订阅端具有类似的结构,订户在内部负责接收已发布的数据,并根据qossttings使其可用。应用程序可以通过为每种数据类型生成的DataReader对象访问接收的数据[4]。

发布和订阅之间的关联是通过主题对象来完成的,主题将与数据本身相关的唯一名称、数据类型和服务质量关联起来。DDS中间件实现提供工具,在数据类型定义的基础上自动生成这些类的代码。为了实现通信,应用程序必须使用这些方法并调用所提供的方法。

通信的发布端由发布服务器和一个或多个DataWriter对象之间的关联表示。发布服务器在内部被DDS中间件用来发布要发送的数据[5]。

3.2 精密装配平台开发的相关特征

精确组合平台被越来越多地实现为动态分布式系统,其中许多组件需要以健壮、平台无关和确定性的方式交换数据。根据Joshi的说法,开发suchsystem的关键技术挑战是:(1)阻抗失配;(2)动态实时适配;(3)增量和独立开发。第1个挑战涉及应用程序的集成问题,这些应用程序对数据交换提出了不同的要求,例如数据量、数据速率或时间限制,动态实时适配解决了随着组件从平台中添加或删除而发现拓扑更改的需要。第3个挑战是装配平台的各个子系统,通常是由独立方开发的,它们在逐步升级组件的同时,也会对组件进行升级。

现代制造系统的组件通常是由不同的供应商开发的。因此,这些子系统可以在不同的硬件架构、操作系统和编程语言的基础上实现,这增加了将它们集成到一个工作系统中的挑战,而且每个组件都可能受到增量更改或升级的影响。

DDS由平台无关模型(PIM)定义,可以实现处理器体系结构、编程语言和操作系统的任意组合。商用DDS中间件实现为编程语言C、C++和Java以及各种操作系统(如VxWorks、Windows、Lynx和Unix派生程序)提供了解决方案。由于DDS从应用程序代码中隐藏了通信方面的内容,它允许在VxWorks上运行的C语言编写的应用程序与在Windows PC上运行的Java开发的应用程序无缝集成,因此使用DDS作为组装系统内部通信的骨干可以大大减少系统集成任务的难度。此外,以数据为中心的发布-订阅模式比传统的面向对象或客户机-服务器方法引入了更少的应用程序之间的依赖关系。这是因为在以数据为中心的体系结构中,应用程序仅由数据模型连接,不公开行为。由于数据模型通常是应用程序中最常使用的方面,因此DDS支持子系统的增量和独立开发[6]。

4 示例应用

本文通过一个简化的示例应用程序来说明上面提到的DDS的一些特性。它是利用实时创新公司提供的DDS实现开发的,称为RTI DDS 4.le。该示例使用DDS标准实现了基于传感器的主动固定系统[7]。

该系统由可变数量的物理夹具模块、夹具控制软件、可变数量的人机界面(HMI)组成。为了简单起见,CACH模块由1个线性执行器和3个传感器组成,前者充当工件的定位和夹紧销,而传感器则反馈接触点的反作用力、位置和温度。夹具模块被实现为具有本地控制例程的智能设备[8]。

它们有嵌入式传感器/执行器设备。进一步假定每个固定模块都配置了一个独特的枚举标识符,并对其传感器和执行器进行了配置,这样该模块能够将来自传感器(例如电压)的信号转换成有意义的信息(例如牛顿中的反作用力),然后通过DDS发布。夹具控制实现了夹具的全局控制例程。它处理来自各个模块的数据,并通过发布它们的期望状态来控制执行器的运动。为了演示DDS的一些特性,我们定义了整个系统的下列要求。

在初始启动时,每个夹具模块发布关于其传感器和执行机构的元信息,以便订阅应用程序来解释传感器数据。迟交申请应自动收到此信息[9]。

HMI应用程序应每500 ms接收一次力传感器读数,每1 000 ms接收一次温度读数,无论模块发布此信息的速度有多快。

夹具控制及连接的HMI应用程序一次只考虑一个夹具模块的温度读数。如果在4 000 ms内没有从这个最受信任的传感器源接收数据,温度数据将自动从另一个模块接收,从而允许无障碍故障转移。本文未详细描述此应用程序的控制逻辑。相反,描述集中在数据建模和QoS-sttings的定义上,以满足需求[10]。

以数据为中心的应用程序的开发从定义应用程序之间应该交换的数据结构开始。在我们的简单示例中,我们为每种传感器类型创建了两个数据结构。第一数据结构包含要在组装过程中传输的实际传感器数据,包含唯一标识传感器的字段和当前传感器读取的字段。为了正确解释传感器值,订户需要额外的元信息。这些细节是在另一个结构中建模的,只需要在应用程序启动或传感器交换时发布。

5 结语

微服务可以将传统应用程序里所存在的各种问题进行妥善的处理,并且能够让其信息系统拥有更加多样化和方便快捷的特性,并且其所囊括的服务范围更加广泛,自治性更高,让信息系统对于信息化和智能化的转变更加迅速,让其能够满足社会发展的需求。本文提出了一种新的以数据为中心的发布-订阅通信标准,并将其应用于下一代精密装配平台的开发。该标准称为数据分发服务,特别是针对需要管理数据传输的资源消耗和及时性的实时应用程序。DDS允许平台无关、多到多的通信,并缓解了一些对分布式装配系统的发展特别有意义的常见问题。

猜你喜欢

中间件夹具应用程序
焊装夹具定位销管理控制方法
方形夹具在线切割切槽的应用
弹性夹具在轴承磨床中的应用
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
车身焊装夹具调整
云计算环境下中间件的负载均衡机制研究
三星电子将开设应用程序下载商店