基于Java平台的集中器的分层架构系统技术方案

技术编号:30154556 阅读:19 留言:0更新日期:2021-09-25 15:05
本申请公开了一种基于Java平台的集中器的分层架构系统,包括集中器信息单元,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。由此,本申请通过Java技术,采用统一的java平台架构,实现操作系统软件分层设计架构,有利于应用程序的开发,可以使不同厂商开发的应用,在不同的硬件平台使用,减低了应用程序开发的耦合性,便于应用的管理和使用。便于应用的管理和使用。便于应用的管理和使用。

【技术实现步骤摘要】
基于Java平台的集中器的分层架构系统


[0001]本申请涉及工业控制
,尤其涉及一种基于Java平台的集中器的分层架构系统。

技术介绍

[0002]在目前电力行业的集中器均使用linux平台,每个厂商的硬件环境各不相同,现有的集中器,采用的是各个厂商生产设计自家的产品,在系统软件架构的实现方式上均不相同导致应用开发调用也不尽相同,会导致应用的重复开发。同时由于linux kernel需要遵循GPL开源协议,如果用于商业用途,就需要开源部分硬件相关的参数,这样对于厂商是不利的。

技术实现思路

[0003]为了解决系统软件架构无法统一、不能跨平台使用的问题,本申请提供一种基于Java平台的集中器的分层架构系统。
[0004]根据本申请的一个方面,提供一种基于Java平台的集中器的分层架构系统,包括集中器信息单元,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。
[0005]在一些实施方式中,操作系统为嵌入式操作系统。
[0006]在一些实施方式中,平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。
[0007]在一些实施方式中,应用层的业务逻辑计算包括以下步骤:
[0008]通过Java的JNI技术,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。
[0009]在一些实施方式中,本地动态链接库文件的接口定义在所述平台功能库。
[0010]在一些实施方式中,平台功能库中还设置有与所述集中器的硬件对应的映射表,所述平台功能库通过所述映射表,并通过接口调用动态链接库对所述电力集中器信息单元中相应的硬件进行操作。
[0011]在一些实施方式中,Java的JNI技术包括以下步骤:
[0012]1)在平台功能库中定义Java本地调用接口,用于java应用程序业务逻辑调用;
[0013]2)根据定义java本地调用接口,生成对应的电力集中器的串口JNI接口头文件;
[0014]3)使用C语言实现对串口的操作API,包含sgd_uart.h和sgd_uart.c文件;
[0015]4)结合C接口函数和java本地调用接口,编写实现接口函数转换调用;
[0016]5)编写Makefile文件,用以编译整个工程,生成动态库和测试java程序;
[0017]6)拷贝动态库到终端的系统库路径,拷贝java程序到终端,运行java程序,java程
序可以使用JNI提供的接口函数加载动态库对相应的硬件进行操作。
[0018]本申请相对于现有技术的有益效果是:
[0019]本申请通过Java技术,采用统一的java平台架构,实现操作系统软件分层设计架构,有利于应用程序的开发,可以使不同厂商开发的应用,在不同的硬件平台使用,减低了应用程序开发的耦合性,便于应用的管理和使用。
附图说明
[0020]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本申请一实施例的基于Java平台的集中器的分层架构系统的框架示意图;
[0022]图2是本申请一实施例的基于Java平台的集中器的分层架构系统的Java的JNI技术包括以下步骤流程图。
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]需要说什么的是,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0025]实施例1
[0026]参照图1,提供一种基于Java平台的集中器的分层架构系统,包括集中器信息单元04,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库02,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层01,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层03,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。
[0027]优选地,操作系统为嵌入式操作系统。
[0028]优选地,平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。
[0029]优选地,应用层的业务逻辑计算包括以下步骤:
[0030]通过Java的JNI技术,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。
[0031]优选地,本地动态链接库文件的接口定义在所述平台功能库。
[0032]优选地,平台功能库中还设置有与所述集中器的硬件对应的映射表,所述平台功能库通过所述映射表,并通过接口调用动态链接库对所述电力集中器信息单元中相应的硬
件进行操作。
[0033]优选地,参照图2,Java的JNI技术包括以下步骤:
[0034]S1:在平台功能库中定义Java本地调用接口,用于java应用程序业务逻辑调用;。
[0035]举例而言,可以将Java本地调用接口进行定义,文件名为:Uart.java可以在其中定义这些函数:
[0036]public static native int sgd_uart_open(String port);打开串口设备;
[0037]public static native int sgd_uart_close(int fd);关闭串口设备;
[0038]public static native int sgd_uart_set(int fd,int speed,int flow_ctrl,int databits,int stopbits,int parity);设置串口参数(波特率、流控、数据位、停止位,奇偶校验位);
[0039]public static native byte[]sgd_uart_recv(int fd);串口本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Java平台的集中器的分层架构系统,其特征在于,包括集中器信息单元,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。2.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述操作系统为嵌入式操作系统。3.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。4.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述应用层的业务逻辑计算包括以下步骤:通过Java的JNI通信方法,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。5.根据权利要求4所述的一种基于Java平台的集中器的分层架构系统,其特征在于,...

【专利技术属性】
技术研发人员:王祥赵成文武占侠冯少力杨其赞孔建州陆欣何晓蓉冷安辉李占杰
申请(专利权)人:深圳市国电科技通信有限公司
类型:发明
国别省市:

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

1