CN113434118A - 基于Java平台的集中器的分层架构系统 - Google Patents

基于Java平台的集中器的分层架构系统 Download PDF

Info

Publication number
CN113434118A
CN113434118A CN202110606203.5A CN202110606203A CN113434118A CN 113434118 A CN113434118 A CN 113434118A CN 202110606203 A CN202110606203 A CN 202110606203A CN 113434118 A CN113434118 A CN 113434118A
Authority
CN
China
Prior art keywords
java
concentrator
library
platform
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110606203.5A
Other languages
English (en)
Other versions
CN113434118B (zh
Inventor
王祥
赵成文
武占侠
冯少力
杨其赞
孔建州
陆欣
何晓蓉
冷安辉
李占杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Gridcom Co Ltd
Original Assignee
China Gridcom Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Gridcom Co Ltd filed Critical China Gridcom Co Ltd
Priority to CN202110606203.5A priority Critical patent/CN113434118B/zh
Publication of CN113434118A publication Critical patent/CN113434118A/zh
Application granted granted Critical
Publication of CN113434118B publication Critical patent/CN113434118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

基于Java平台的集中器的分层架构系统
技术领域
本申请涉及工业控制技术领域,尤其涉及一种基于Java平台的集中器的分层架构系统。
背景技术
在目前电力行业的集中器均使用linux平台,每个厂商的硬件环境各不相同,现有的集中器,采用的是各个厂商生产设计自家的产品,在系统软件架构的实现方式上均不相同导致应用开发调用也不尽相同,会导致应用的重复开发。同时由于linux kernel需要遵循GPL开源协议,如果用于商业用途,就需要开源部分硬件相关的参数,这样对于厂商是不利的。
发明内容
为了解决系统软件架构无法统一、不能跨平台使用的问题,本申请提供一种基于Java平台的集中器的分层架构系统。
根据本申请的一个方面,提供一种基于Java平台的集中器的分层架构系统,包括集中器信息单元,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。
在一些实施方式中,操作系统为嵌入式操作系统。
在一些实施方式中,平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。
在一些实施方式中,应用层的业务逻辑计算包括以下步骤:
通过Java的JNI技术,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。
在一些实施方式中,本地动态链接库文件的接口定义在所述平台功能库。
在一些实施方式中,平台功能库中还设置有与所述集中器的硬件对应的映射表,所述平台功能库通过所述映射表,并通过接口调用动态链接库对所述电力集中器信息单元中相应的硬件进行操作。
在一些实施方式中,Java的JNI技术包括以下步骤:
1)在平台功能库中定义Java本地调用接口,用于java应用程序业务逻辑调用;
2)根据定义java本地调用接口,生成对应的电力集中器的串口JNI接口头文件;
3)使用C语言实现对串口的操作API,包含sgd_uart.h和sgd_uart.c文件;
4)结合C接口函数和java本地调用接口,编写实现接口函数转换调用;
5)编写Makefile文件,用以编译整个工程,生成动态库和测试java程序;
6)拷贝动态库到终端的系统库路径,拷贝java程序到终端,运行java程序,java程序可以使用JNI提供的接口函数加载动态库对相应的硬件进行操作。
本申请相对于现有技术的有益效果是:
本申请通过Java技术,采用统一的java平台架构,实现操作系统软件分层设计架构,有利于应用程序的开发,可以使不同厂商开发的应用,在不同的硬件平台使用,减低了应用程序开发的耦合性,便于应用的管理和使用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例的基于Java平台的集中器的分层架构系统的框架示意图;
图2是本申请一实施例的基于Java平台的集中器的分层架构系统的Java的JNI技术包括以下步骤流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说什么的是,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
实施例1
参照图1,提供一种基于Java平台的集中器的分层架构系统,包括集中器信息单元04,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;平台功能库02,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;应用层01,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;硬件抽象层03,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。
优选地,操作系统为嵌入式操作系统。
优选地,平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。
优选地,应用层的业务逻辑计算包括以下步骤:
通过Java的JNI技术,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。
优选地,本地动态链接库文件的接口定义在所述平台功能库。
优选地,平台功能库中还设置有与所述集中器的硬件对应的映射表,所述平台功能库通过所述映射表,并通过接口调用动态链接库对所述电力集中器信息单元中相应的硬件进行操作。
优选地,参照图2,Java的JNI技术包括以下步骤:
S1:在平台功能库中定义Java本地调用接口,用于java应用程序业务逻辑调用;。
举例而言,可以将Java本地调用接口进行定义,文件名为:Uart.java可以在其中定义这些函数:
public static native int sgd_uart_open(String port);打开串口设备;
public static native int sgd_uart_close(int fd);关闭串口设备;
public static native int sgd_uart_set(int fd,int speed,int flow_ctrl,int databits,int stopbits,int parity);设置串口参数(波特率、流控、数据位、停止位,奇偶校验位);
public static native byte[]sgd_uart_recv(int fd);串口接收函数;
public static native int sgd_uart_send(int fd,byte send_buf[],intdata_len);串口发送函数;
以上函数当中的串口设备可以为本申请的集中器。
S2:根据定义java本地调用接口,生成对应的电力集中器的串口JNI头文件(Uart.h)。
具体而言,可以在ubuntu命令行执行如下命令:
javac Uart.java
javah Uart
执行完成之后会生成头文件Uart.h。
S3:使用C语言实现串口的C操作API,主要文件为sgd_uart.c(c语言串口函数接口)和sgd_uart.h(c语言函数功能实现)文件。
其中,sgd_uart.c文件中有:
int sgd_uart_open(char*port)及相关执行;
nt sgd_uart_close(int fd)及相关执行;
int sgd_uart_set(int fd,int speed,int flow_ctrl,int databits,intstopbits,int parity)及相关执行;
int sgd_uart_recv(int fd,unsigned char*rcv_buf,int data_len)及相关执行;
int sgd_uart_send(int fd,unsigned char*send_buf,int data_len)及相关执行。
其中,sgd_uart.h文件举例如下:
#ifndef__SGD__UART_H
#define__SGD__UART_H
int sgd_uart_open(char*port);
int sgd_uart_close(int fd);
int sgd_uart_set(int fd,int speed,int flow_ctrl,int databits,intstopbits,int parity);
int sgd_uart_recv(int fd,unsigned char*rcv_buf,int data_len);
int sgd_uart_send(int fd,unsigned char*send_buf,int data_len);
#endif
以上两个文件与前面文件中的函数对应,以方便将来的函数调用。
S4:结合C接口函数(sgd_uart.h头文件)和java本地调用接口(Uart.h头文件),编写实现接口函数转换调用(Uart.c文件)
举例而言,“串口设备打开”可以如以下程序:
*Class:Uart
*Method:sgd_uart_open
*Signature:(Ljava/lang/String;)I
*/
JNIEXPORT jint JNICALL Java_Uart_sgd_1uart_1open。
同样方式可以编写与前述步骤对应的Uart.c。
S5:编写Makefile文件,用于编译整个工程;执行make命令生成动态库和测试java程序;
S6:拷贝动态库到终端的系统库路径(/lib文件夹下),拷贝java程序到终端,运行java程序,java程序可以使用JNI提供的接口函数加载动态库对相应的硬件进行操作。
本申请相对于现有技术的有益效果是:
本申请通过Java技术,采用统一的java平台架构,实现操作系统软件分层设计架构,有利于应用程序的开发,可以使不同厂商开发的应用,在不同的硬件平台使用,减低了应用程序开发的耦合性,便于应用的管理和使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种基于Java平台的集中器的分层架构系统,其特征在于,包括
集中器信息单元,用于提供与集中器的硬件、操作系统以及驱动库的基础信息并独立出来;
平台功能库,其为平台标准化封装接口,用于接收集中器的硬件、操作系统以及驱动库相关操作的信息;
应用层,用于提供产品业务功能,并进行业务逻辑计算,其与所述平台功能库进行交互;
硬件抽象层,用于将集中器信息单元独立出来的基础信息封装到平台功能库中。
2.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,
所述操作系统为嵌入式操作系统。
3.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述平台功能库包括基础业务库,为业务逻辑进行标准化封装接口,以库的形式发布并供应用层调用。
4.根据权利要求1所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述应用层的业务逻辑计算包括以下步骤:
通过Java的JNI通信方法,调用本地动态链接库文件的接口以实现平台功能库与集中器信息单元之间的交互。
5.根据权利要求4所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述本地动态链接库文件的接口定义在所述平台功能库。
6.根据权利要求5所述的一种基于Java平台的集中器的分层架构系统,其特征在于,
所述平台功能库中还设置有与所述集中器的硬件对应的映射表,所述平台功能库通过所述映射表,并通过接口调用动态链接库对所述电力集中器信息单元中相应的硬件进行操作。
7.根据权利要求4所述的一种基于Java平台的集中器的分层架构系统,其特征在于,所述的Java的JNI通信方法包括以下步骤:
1)在平台功能库中定义Java本地调用接口,用于java应用程序业务逻辑调用;
2)根据定义java本地调用接口,生成对应的电力集中器的串口JNI接口头文件;
3)使用C语言实现对串口的操作API,包含sgd_uart.h和sgd_uart.c文件;
4)结合C接口函数和java本地调用接口,编写实现接口函数转换调用;
5)编写Makefile文件,用以编译整个工程,生成动态库和测试java程序;
6)拷贝动态库到终端的系统库路径,拷贝java程序到终端,运行java程序,java程序可以使用JNI提供的接口函数加载动态库对相应的硬件进行操作。
CN202110606203.5A 2021-05-31 2021-05-31 基于Java平台的集中器的分层架构系统 Active CN113434118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110606203.5A CN113434118B (zh) 2021-05-31 2021-05-31 基于Java平台的集中器的分层架构系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110606203.5A CN113434118B (zh) 2021-05-31 2021-05-31 基于Java平台的集中器的分层架构系统

Publications (2)

Publication Number Publication Date
CN113434118A true CN113434118A (zh) 2021-09-24
CN113434118B CN113434118B (zh) 2024-01-12

Family

ID=77803278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110606203.5A Active CN113434118B (zh) 2021-05-31 2021-05-31 基于Java平台的集中器的分层架构系统

Country Status (1)

Country Link
CN (1) CN113434118B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816347A (zh) * 2022-04-15 2022-07-29 巨翊科技(上海)有限公司 一种软件架构的搭建方法、装置及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353839A (zh) * 2013-06-07 2013-10-16 杭州竞天数码科技有限公司 一种基于Android系统的通用串行设备通信模块
CN103795814A (zh) * 2014-02-13 2014-05-14 浪潮软件股份有限公司 一种基于全国产cpu和os的短信设备通用通信接口
CN103812953A (zh) * 2014-02-25 2014-05-21 中标软件有限公司 一种微控制单元与 arm 处理器的通信接口系统
CN103970545A (zh) * 2014-05-26 2014-08-06 天津七一二通信广播有限公司 采用JNI调用方式在Android系统中使用LTE Modem的方法
WO2016127495A1 (zh) * 2015-02-12 2016-08-18 无锡识凌科技有限公司 一种智能终端中的设备驱动架构开发方法
CN105978929A (zh) * 2016-04-15 2016-09-28 北京思特奇信息技术股份有限公司 不同移动终端平台与后端服务器的数据交互方法及系统
US20190087210A1 (en) * 2017-09-20 2019-03-21 Citrix Systems, Inc. Java native interface and windows universal app hooking
CN110413264A (zh) * 2019-07-30 2019-11-05 南京市晨枭软件技术有限公司 一种软件应用架构及其配置单元
CN112463262A (zh) * 2020-11-30 2021-03-09 福州汇思博信息技术有限公司 一种安卓系统gps模块自适应方法及终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353839A (zh) * 2013-06-07 2013-10-16 杭州竞天数码科技有限公司 一种基于Android系统的通用串行设备通信模块
CN103795814A (zh) * 2014-02-13 2014-05-14 浪潮软件股份有限公司 一种基于全国产cpu和os的短信设备通用通信接口
CN103812953A (zh) * 2014-02-25 2014-05-21 中标软件有限公司 一种微控制单元与 arm 处理器的通信接口系统
CN103970545A (zh) * 2014-05-26 2014-08-06 天津七一二通信广播有限公司 采用JNI调用方式在Android系统中使用LTE Modem的方法
WO2016127495A1 (zh) * 2015-02-12 2016-08-18 无锡识凌科技有限公司 一种智能终端中的设备驱动架构开发方法
CN105978929A (zh) * 2016-04-15 2016-09-28 北京思特奇信息技术股份有限公司 不同移动终端平台与后端服务器的数据交互方法及系统
US20190087210A1 (en) * 2017-09-20 2019-03-21 Citrix Systems, Inc. Java native interface and windows universal app hooking
CN110413264A (zh) * 2019-07-30 2019-11-05 南京市晨枭软件技术有限公司 一种软件应用架构及其配置单元
CN112463262A (zh) * 2020-11-30 2021-03-09 福州汇思博信息技术有限公司 一种安卓系统gps模块自适应方法及终端

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
FIUENT: "Java跨平台开发神器之JNI", Retrieved from the Internet <URL:《https://blog.csdn.net/fIuent/article/details/47733471》> *
冉德纲: "Android平台下虚拟多串口并发通信的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 4, pages 136 - 28 *
王云棣 等: "1.8GHz电力无线专网远程通信终端设计", 《电子技术应用》, vol. 46, no. 5, pages 88 - 92 *
罗尹奇 等: "基于JNI的Java串口通信系统的设计与实现——以Windows平台为例", 《电脑知识与技术》, vol. 13, no. 34, pages 51 - 56 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114816347A (zh) * 2022-04-15 2022-07-29 巨翊科技(上海)有限公司 一种软件架构的搭建方法、装置及系统

Also Published As

Publication number Publication date
CN113434118B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
US6484214B1 (en) Method for distributed object communications based on dynamically acquired and assembled software components
JPH10240531A (ja) 分散型コンピューターシステムフレームワークのためのシステム、方法及び製品
JPH10254705A (ja) インタープライズコンピューティングフレームワークシステムにおけるクライアント−サーバーセッションウェブアクセスのためのオブジェクト指向システム、方法及び製品
JPH10254702A (ja) インタープライズコンピューティングフレームワークシステムにおけるクライアント−サーバーステートマシンのためのオブジェクト指向システム、方法及び製品
JPH10228438A (ja) インタープライズコンピューティングフレームワークシステムにおけるクライアント−サーバーセッション管理プログラムのためのオブジェクト指向システム、方法及び製品
JPH10254704A (ja) インタープライズコンピューティングフレームワークシステムにおけるクライアント−サーバーグラフィカルユーザーインターフェースフレームワークのためのオブジェクト指向システム、方法及び製品
JPH10312285A (ja) インタープライズコンピューティングフレームワークシステムにおけるクライアント−サーバーイベント駆動メッセージフレームワークのためのオブジェクト指向システム、方法及び製品
JPH10312287A (ja) クライアント−サーバーアプリケーションを移行するためのオブジェクト指向システム、方法及び製品
JPH10254706A (ja) クライアント−サーバーステートマシーンフレームワークのためのオブジェクト指向システム、方法及び製品
JPH10312286A (ja) クライアント−サーバー通信フレームワークのためのオブジェクト指向システム、方法及び製品
JPH10312284A (ja) クライアント−サーバーアプリケーション使用可能なシステムのためのオブジェクト指向システム、方法及び製品
JPH10171672A (ja) クライアントプログラムキャッシュを有するクライアント−サーバーのためのオブジェクト指向システム、方法及び製品
EP4002121A1 (en) Middleware interface and middleware interface generator
Thramboulidis et al. Model driven development of distributed control applications
CN111158690B (zh) 桌面应用框架、构建方法、桌面应用运行方法及存储介质
JPH10240532A (ja) クライアント−サーバー−中央のインタープライズコンピューティングフレームワークシステムのためのオブジェクト指向システム、方法及び製品
CN111045668B (zh) 一种跨平台的移动端系统开发方法及装置
US8141042B2 (en) Extending portability of java code through the use of AOP
CN112235357B (zh) 跨平台应用开发系统
CN112416453B (zh) 一种面向信创环境下国产化外部设备统一数据集成的方法和存储设备
CN110716720A (zh) 一种实现应用热部署的方法和装置
JPH10301784A (ja) インタープライズコンピューティングフレームワークシステムにおけるプレゼンテーション装置のためのオブジェクト指向システム、方法及び製品
CN113434118B (zh) 基于Java平台的集中器的分层架构系统
CN116860266A (zh) 应用容器化部署方法、装置、电子设备及存储介质
CN108037924A (zh) glibc和bionic的驱动自适配系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant