一种支持异构融合的分布式系统及通信方法与流程

文档序号:34983386发布日期:2023-08-03 17:01阅读:82来源:国知局
一种支持异构融合的分布式系统及通信方法与流程

本发明属于设备网络通信、工业控制、智能制造领域,具体涉及一种支持异构融合的分布式系统及通信方法。


背景技术:

1、随着工业制造智能化和云端协同思想的发展,信息化技术不断地推广应用,在现代化的制造业工厂中,基本实现了设备的联网运行,和数据的实时监测、预警、收集、和共享。

2、在传统的设备协同模型中,主要重视设备间的数据通讯、动作协调等,通过私有协议传输数据和控制命令,达到协同工作的目的。在功能的相互调用和共享上,还没有成熟的架构。

3、在传统的工业制造服务模型中,通常采用cs架构,由服务器下达命令给终端设备,并获取返回的数据和状态。

4、在传统的工业制造嵌入式终端设备的软件架构中,往往以终端设备原生开发为主要手段,通常采用c语言开发本地程序软件,然后通过总线或数据接口与上位机或者服务器进行通讯。

5、在传统的工业制造嵌入式设备软件系统中,在异构架构的设备之间共享业务逻辑层应用软件,几乎是不可能的。同一个应用层软件,通常都要经过交叉开发,进行平台移植,然后才能在不同的软硬件平台上实现适配,可以得到正常的运行。

6、在传统的工业制造嵌入式设备软硬件系统中,分布式系统,通常需要在异构设备上进行原生开发,然后再共同进行联调,架构一旦确定下来,如果更换其中某一个组成单元的软硬件架构,需要进行移植开发,在新的软硬件架构上进行适配,原有软件才能得到正常运行,组成新的分布式系统。

7、以实际的工厂车间内的应用为例,在工厂车间内部署分布式生产环境,由服务器和终端设备组成。终端设备是由不同的硬件平台和软件平台共同组成。

8、当需要开发本车间独有的业务软件的时候。首先需要在服务器上开发软件的总体结构和服务模块,然后在终端设备上开发软件的终端应用软件,通过网络和服务器通讯,形成c/s结构的分布式系统。

9、由于业务逻辑只有本车间的工作人员比较熟悉,因此,在这种架构下,就有两种传统的开发模式:

10、其一,是本车间的开发人员,学习这种嵌入式终端设备的开发方法,并在其上开发终端应用软件;

11、本方法的问题是,本车间的工作人员需要学习各种终端设备的开发方法,比较耗时耗力。

12、其二,是将终端软件的开发工作外包给专业的嵌入式开发人员进行开发。

13、本方法的问题是,本车间的工作人员需要向外包人员解释整个业务逻辑,外包人员在充分理解该业务逻辑的基础上,才能开展开发工作。

14、通常,终端设备通过串口与执行器设备进行通讯,都是采用下述连接方式进行工作:

15、由终端设备的网口或者无线网络连接服务器再连接云平台,或者直接连接云平台,同时由终端设备的串口连接执行器设备,并通过串口对该设备进行控制。设备厂商一般会提供通过串口初始化和控制设备的一系列命令,并同时提供针对不同软硬件平台开发该设备驱动程序的指导或者源代码例程。该执行器设备的用户,则需要在自己选定的终端设备上(例如stm32平台)在特定的软件系统支持下(例如freertos、hal库),参考执行器设备厂商提供的例程,编写代码,完成对该设备驱动程序的编写。

16、该执行器每连接一种新的终端设备,就需要在这种终端设备上进行原生开发,编写驱动程序,以支持对设备的操作。为此,设备厂商必须将驱动例程适配尽可能多的软硬件平台,以便支持更多的用户使用该执行器。

17、当本车间的业务软件开发完成并部署到分布式系统后,如果某一终端设备失效需要更换时,只能更换一模一样的主板。如果终端设备替换不同的主板,因为新主板与旧主板的架构不同或者开发环境不同,就需要重新开发移植终端业务软件。


技术实现思路

1、本发明的目的在于克服现有技术边缘服务器与终端设备进行通信与终端设备的硬件架构和操作系统紧耦合的缺陷。

2、为了实现上述目的,本发明提出了一种支持异构融合的分布式系统,所述系统包括:

3、边缘服务器,用于解释并运行业务逻辑代码,调用终端设备上的分布式编程接口,接收执行结果;和

4、多个终端设备,用于由所述边缘服务器调用,执行计算和/或通过执行器设备执行操作,将执行结果反馈给边缘服务器;与所述边缘服务器连接的多个所述终端设备支持不同的硬件架构和不同的操作系统;

5、所述调用终端设备上的分布式编程接口,是将一段业务逻辑代码发送到终端设备上运行。

6、作为上述系统的一种改进,所述边缘服务器和所述终端设备支持相同的分布式编程接口;

7、所述分布式编程接口,定义了业务逻辑代码的编写规范。

8、作为上述系统的一种改进,所述执行器设备的驱动代码符合分布式编程接口。

9、作为上述系统的一种改进,所述边缘服务器包括:

10、分布式边缘操作系统,用于管理边缘服务器的软、硬件资源;

11、分布式编程接口管理模块,用于注册和调用终端设备所支持的分布式编程接口,接收执行结果;

12、命令解释器,用于解释和运行业务逻辑代码,通过分布式编程接口管理模块,调用终端设备的分布式编程接口。

13、作为上述系统的一种改进,所述终端设备包括:

14、网络服务层,用于接收所述边缘服务器发送的业务逻辑代码;

15、分布式编程接口调度模块,用于按照业务逻辑代码的分类将业务逻辑代码分发给支持库进行业务逻辑代码的执行和结果的回送;

16、命令解释器,用于解释和运行业务逻辑代码;

17、支持库,用于实现终端设备所具有的具体功能,包括对执行器设备的操作和/或数据的计算;

18、嵌入式操作系统,用于管理终端设备的软、硬件资源。

19、作为上述系统的一种改进,所述支持库包括:

20、工业接口,用于实现执行器设备的操作;

21、功能函数,包括终端设备上支持的基本运算和操作功能的函数的封装;

22、服务函数,包括终端设备上支持的业务功能的服务的封装。

23、作为上述系统的一种改进,所述工业接口包括:

24、接口映射层,在业务逻辑代码的配置文件中进行配置,用于使逻辑接口支持被转向和再分配;

25、逻辑接口层,按照统一的规范对工业接口进行二次封装,用于使接口的名称、配置和使用方法得到统一的定义,使工业接口实现跨平台应用;

26、驱动支持层,用于在操作系统的驱动层面,实现对硬件接口的抽象化,按照操作系统的规范,实现对硬件接口的配置和读写动作的封装;

27、硬件接口层,用于实现工业接口的上电驱动和初始化操作。

28、作为上述系统的一种改进,所述系统还包括:

29、云平台,用于接收终端设备支持的分布式编程接口的注册,由边缘服务器通过云平台调用远程终端设备提供的分布式编程接口。

30、本发明还提供一种支持异构融合的分布式系统通信方法,基于上述系统实现,所述边缘服务器端的通信方法包括:

31、步骤s1:边缘服务器解释并运行业务逻辑代码;

32、步骤s2:边缘服务器按照业务逻辑代码的描述解析终端设备的标识,查找终端设备;

33、步骤s3:边缘服务器向终端设备发送连接请求,与终端设备建立连接;

34、步骤s4:边缘服务器向终端设备发送调用分布式编程接口的命令,接收执行结果;

35、步骤s5:边缘服务器向终端设备发送断开连接请求。

36、作为上述方法的一种改进,所述查找终端设备,具体为:根据终端设备的标识查找,或者查找空闲的支持被调用的分布式编程接口的终端设备。

37、作为上述方法的一种改进,所述终端设备端的通信方法包括:

38、步骤c1:终端设备等待边缘服务器的连接请求;

39、步骤c2:终端设备收到边缘服务器的连接请求,建立连接,等待命令;

40、步骤c3:终端设备接收到边缘服务器的调用命令,接收输入参数,执行相应的功能;需要使用硬件接口时,调用设备接口协议,进行通讯;需要执行动作时,调用本地驱动,控制执行器设备完成动作;业务逻辑代码执行完毕,通过连接返回最终的结果数据;

41、步骤c4:终端设备等待下一个命令;如果收到断开连接请求,则断开连接,返回执行步骤c1。

42、与现有技术相比,本发明的优势在于:

43、1、在嵌入式系统上实现分布式编程接口的支持系统,不需要了解上层的业务逻辑。而且,该支持系统无需根据终端设备的变化而变化。当上层业务逻辑发生修改,或者该终端设备拆除迁移到其他车间的工作环境中时,该支持系统仍然有效。终端设备只需要进行简单地配置后,就可以平滑接入新的环境,开展工作。

44、业务应用软件的开发人员只需要集中精力使用分布式编程接口开发业务软件,实现业务逻辑即可。不需要学习嵌入式系统的开发方法。

45、2、分布式系统中,当某一终端设备失效需要更换时,可以更换同类型不同架构的主板,而不一定要更换一模一样的主板。只要新的主板上具备分布式编程接口的支持系统就可以直接接入分布式系统。

46、3、采用分布式编程接口支持模块,执行器设备厂商可以摆脱大范围适配智能终端平台的问题。

47、在终端设备上建立分布式编程接口支持模块,是每个终端设备厂商应该完成的工作。这项工作完成后,会为很多使用分布式编程接口编程开发的用户提供方便。

48、执行器设备厂商,只需要使用分布式编程接口编写一份驱动代码,以文本的形式发布,提供给最终用户使用即可。

49、最终用户使用分布式编程接口编写业务应用软件,并直接调用执行器厂家的驱动代码,就可以操作执行器进行需要的动作。

50、4、用户可以在业务逻辑层的软件代码中,发送指令,动态地将该驱动程序下发到目标终端设备上去,让驱动程序在终端设备本地运行。然后远程调用其驱动程序提供的接口,完成执行器设备的初始化和读写操作等。本发明使得业务软件编程的代码可以不受限制的跨平台在异构的软硬件平台间自由流动。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1