CN115297120A - 一种面向应用服务的轻量化终端资源预装方法 - Google Patents
一种面向应用服务的轻量化终端资源预装方法 Download PDFInfo
- Publication number
- CN115297120A CN115297120A CN202210812466.6A CN202210812466A CN115297120A CN 115297120 A CN115297120 A CN 115297120A CN 202210812466 A CN202210812466 A CN 202210812466A CN 115297120 A CN115297120 A CN 115297120A
- Authority
- CN
- China
- Prior art keywords
- service
- resource
- package
- data
- terminal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 238000005538 encapsulation Methods 0.000 claims abstract description 14
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000009434 installation Methods 0.000 claims description 72
- 238000007726 management method Methods 0.000 claims description 61
- 238000009826 distribution Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 24
- 230000010354 integration Effects 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000002776 aggregation Effects 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 8
- 230000008520 organization Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012800 visualization Methods 0.000 claims description 7
- 238000013468 resource allocation Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 4
- 238000013523 data management Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 2
- 238000013439 planning Methods 0.000 claims description 2
- 230000004927 fusion Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 abstract description 5
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000009471 action Effects 0.000 description 7
- 238000011068 loading method Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000009924 canning Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000009449 lightweight packaging Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息应用领域,涉及到一种面向应用服务的轻量化终端资源预装方法。该方法首先对资源进行封装,形成对服务、终端APP、数据三种类型的资源封装;通过多维数据智能融合技术形成预装资源清单;预装资源清单通过预装资源动态可视化定制形成预装计划,预装计划中定义了需要预装的服务、APP和数据资源;根据预装计划,预装包形成服务器预装资源包和终端预装资源包;通过微服务平台在线下载或者离线导入服务器预装资源包;通过终端对终端预装资源包统一管理与更新。本发明实现了轻量化终端资源预装的高度可扩展、可伸缩、可定制、高可靠保障,满足通信条件较差情况下的情报使用保障任务需求,提升情报与平台的铰链效能,提升末端情报处理能力。
Description
技术领域
本发明属于信息应用领域,涉及到一种面向应用服务的轻量化终端资源预装方法。
背景技术
在未来的信息化应急行动中,精准、全面、及时的情报保障是取得行动成功的关键因素之一。情报保障需要汇聚多源产品,面向特定单元形成桌面、移动、嵌入式等多种形式终端服务,支撑各种任务行动应用。面向传输网络带宽受限的环境,需要根据行动单元及任务特点,分解信息支援数据中已有的基础数据量与实时更新的数据增量,建立在任务准备阶段进行任务基础数据预装载、任务过程轻量化情报实时推送更新的机制,实现一种面向应用的轻量化终端资源预装方法,最大化降低网络实时传输的数据量,降低网络传输压力,为实现行动单元的实时信息支援应用服务提供保障。
而解决该问题存在着以下挑战:
轻量化终端资源预装云端平台要求可扩展性、服务定制能力、和高可靠性,具体包含:(1)平台需要具有高度的可扩展性,能够在运行时动态添加新的处理算法,新的在线服务,接入新的数据;(2)平台需要弹性伸缩的能力,能够在运行时对特定的服务动态增加资源来应对繁忙的分发任务,也能够在运行时对计算量小的服务回收资源,来提高资源利用率。(3)平台需要能够提供足够的定制能力,依据终端平台差异和网络条件,能够应对多样的个性化、轻量化的封装加载需求。
发明内容
鉴于上述技术问题,本发明提供了一种面向应用服务的轻量化终端资源预装方法。
本发明的技术方案如下:
本发明的一个方面提供了一种面向应用服务的轻量化终端资源预装方法,该方法包括以下步骤:
(1)对服务、终端APP和数据三种类型资源进行封装,形成资源的预装包;所述资源的预装包包括微服务、数据预装包、终端APP的预装包;
(2)信息化中多源异构数据经过多维数据智能聚合后,得到针对特定任务的预装资源清单;清单中给出各个任务参与单位完成任务所需要的数据、服务和终端APP列表;
(3)形成的预装资源清单在通过预装资源动态可视化定制下,使用虚拟资源盒来规划展示各个任务参与单位的服务器和终端已有的资源和需要预装的增量资源,规划人员动态调整资源,生成针对不同任务单位的服务器和终端的预装计划;所述预装计划中定义了需要预装的服务、APP和数据资源;
(4)根据预装资源可视化形成的预装计划,基于资源封装规范,从数据库、信息服务库与终端APP库中获取资源,生成预装资源包,再进行在线下载和离线导出来实现分发;所述预装资源包分为针对固定单元的服务器预装资源包和针对移动单元的终端预装资源包两类;
(5)通过微服务平台,可以在线下载或者离线导入服务器预装资源包,并对预装资源包中的服务动态部署到固定单元的服务器上,并将预装资源包中的数据动态融合到服务器的信息数据库中;
同时,通过终端对终端预装资源包统一管理与更新;终端预装资源包中的APP通过预装脚本自动化安装到终端,终端预装资源包中的数据自动汇集到指定APP的预装目录中。
进一步地,所述步骤(1)中,应用服务将应用的各种算法模型使用微服务技术,封装为可以动态部署装载和注册发现的信息微服务;数据封装则是将数据体及其元数据封装为支持自动接入和整合的数据包;终端APP封装则是将终端APP打包,添加自动安装脚本,成为可以自动安装的终端应用包。
进一步地,所述步骤(1)中,信息微服务动态部署发布到容器或者虚拟机中。
进一步地,所述步骤(1)中,信息微服务包括空间信息算法模块、服务封装与发布SDK、微服务的实现代码模块三个部分;所述空间信息算法模块,包括以不同的编程语言编写的算法程序;所述服务封装与发布SDK,用于提供一系列服务运行和管理所需要的类库,来实现服务调度和服务治理功能;所述微服务的实现代码模块存储服务的封装者编写的代码,包括服务接口实现代码、服务元信息标注、任务启动代码、任务完成、出错事件处理代码,以及服务的配置。
进一步地,所述步骤(4)中,资源预装包的生成过程分为如下步骤:
根据预装计划,在资源中心的数据管理平台中检索并选择需要封装的数据,得到预装数据及其元数据列表;
根据预装计划,在资源中心的微服务镜像库中检索,选择需要封装的微服务镜像,得到微服务镜像列表;
根据预装计划,在资源中心的APP库中检索,选择对应的APP,得到终端APP列表;
将预装数据、预装的微服务或预装APP进行打包,形成服务器预装资源包和终端预装资源包。
进一步地,所述步骤(4)中,预装包可以通过在线分发或者离线分发:
在线分发是预装包将推送到资源中心的各个单位工作空间中,各个单位可以在工作空间直接进行动态预装,实现动态的预装包下载与集成;
离线分发模式可以将预装包导出到存储设备上,然后在被预装服务器或终端上离线导入进行预装和集成。
进一步地,所述步骤(5)中,在终端中安装一个对预装包统一管理与更新的APP,可以通过APP连接到远程或本地服务器上下载预装包,对预装包进行管理,实现预装APP的自动化安装和预装数据的自动化组织。
进一步地,所述步骤(5)进一步包括:预装平台中,通过一个微服务管理平台用来实现微服务的集成,应用以信息微服务的形式在微服务管理平台中部署,在信息微服务启动之后,自动连接到微服务管理平台中,实现自动化的服务发现、注册、监控,并可以通过服务网关动态调用服务,通过任务调度接口实现任务调度。
进一步地,所述步骤(5)进一步包括:采取自动化的元数据汇集技术来实现元数据的整合,预装包上线后,预装平台通过与预装包中的运维子***进行***,对分布式动态接入的预装包的元数据进行汇集,并通过数据关联映射、数据聚类、元数据规范转换,构建数据的全局索引,基于全局索引实现一体化的数据检索,检索出分散在各个预装包中的数据;
通过使用服务网关来实现对于预装包中的数据访问代理,预装包内的对象存储服务、关系型数据库都将在服务网关中进行注册,当外部请求访问数据时,实现自动化的转发。
本发明的第二个方面提供了一种轻量化终端资源预装云端平台,即预装平台,包括服务网关、docker容器、微服务管理平台、基于Eureka的服务注册中心和流程引擎;
所述微服务管理平台,用于自动化的服务发现、注册、监控;所述微服务管理平台包括异步消息管理模块、分配资源模块、服务监控接口、服务发现接口、任务调度接口、心跳接口、消息通知接口、任务管理接口、服务调用接口;分配资源模块,用于调度执行任务;异步消息管理模块,用于对服务的任务状态和各种事件进行统一的管理,实现消息的推送、记录和查询;所述服务监控接口,用于收集服务运行信息,供微服务管理平台进行调用来监控服务状态;所述服务发现接口,用于自动化发现服务、注册服务元信息;所述任务调度接口,用于实现任务调度;所述心跳接口,用于监测服务的上线状态;所述消息通知接口,用于实时通知任务执行状态,以及接收外部的通知消息;所述任务管理接口,与微服务管理平台进行交互,用于自动调度执行任务、并提供任务执行状态查看;所述服务调用接口,提供基于HTTP的接口,支持服务的功能调用;
所述服务网关,主要负责在服务注册中心中获取在Eureka中注册的服务,当外部有服务调用的请求时,自动转发到对应的内网服务上,实现动态调用服务;
所述docker容器,用于存储服务、数据;
所述流程引擎在docker容器中运行,流程引擎完成流程的可定制化。
本发明方法中,基于微服务架构技术来实现轻量化终端资源预装云端平台的高度可扩展、可伸缩、可定制、高可靠保障,如图1所示。(1)功能可扩展:行动应用中的功能模块通过合理的分解,开发成一组独立运行、测试和维护的微服务。微服务可以动态部署发布到容器中,从而可以在不停机的情况下,动态扩展***的功能。(2)性能可伸缩:平台提供了支持动态负载均衡的服务网关,相同的服务部署在多个容器中时,会自动被发现并形成一个集群。当服务请求过多时,可以增加服务的容器实例数目,实现动态负载均衡;服务请求较少时,可以停止或移除服务实例。(3)业务可定制:***提供了资源微服务的流程编排功能,可以通过对各种信息处理的微服务进行组合编排,定制参数,实现针对用户特定需求的个性化资源定制封装。
针对现有难题,本发明的有益效果是:前出平台由于受限于硬件平台,不能安装大容量存储设备以及高性能的计算处理设备,数据存储、数据处理和分析能力较弱,可以通过事先加载方式、快速部署方式,按需为前出平台提供资源数据以及知识、模型和先验数据,满足通信条件较差情况下的情报使用保障任务需求,提升情报与平台的铰链效能,提升末端情报处理能力。
附图说明
图1轻量化终端资源预装云端平台架构;
图2轻量化增量资源封装与加载流程图;
图3资源动态可视化定制示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明提供的轻量化终端资源预装云端平台,包括服务网关、docker容器、微服务管理平台、基于Eureka的服务注册中心以及流程引擎,如图1所示;
所述微服务管理平台,用于自动化的服务发现、注册、监控;所述微服务管理平台包括异步消息管理模块、分配资源模块、服务监控接口、服务发现接口、任务调度接口、心跳接口、消息通知接口、任务管理接口、服务调用接口;分配资源模块,用于调度执行任务;异步消息管理模块,用于对服务的任务状态和各种事件进行统一的管理,实现消息的推送、记录和查询;所述服务监控接口,用于收集服务运行信息,供微服务管理平台进行调用来监控服务状态;所述服务发现接口,用于自动化发现服务、注册服务元信息;所述任务调度接口,用于实现任务调度;所述心跳接口,用于监测服务的上线状态;所述消息通知接口,用于实时通知任务执行状态,以及接收外部的通知消息;所述任务管理接口,与微服务管理平台进行交互,用于自动调度执行任务、并提供任务执行状态查看;所述服务调用接口,提供基于HTTP的接口,支持服务的功能调用;
所述服务网关,主要负责在服务注册中心中获取在Eureka中注册的服务,当外部有服务调用的请求时,自动转发到对应的内网服务上,实现动态调用服务;
所述docker容器,用于存储服务、数据;
所述流程引擎在docker容器中运行,流程引擎完成流程的可定制化。
轻量化增量资源封装与加载技术的总体方案如图2所示。
此总体方案中的资源中心模块主要包含以下流程:对多维数据智能聚合、对预装资源动态可视化定制、对预装资源包的生成与分发等;在可移动和固定单元端可实现预装数据、服务的动态融合和更新。具体流程介绍如下:
(1)对服务、终端APP和数据三种类型资源进行封装,形成资源的预装包;所述资源的预装包包括微服务、数据预装包、终端APP的预装包;
(2)首先,信息化中多源异构数据经过多维数据智能聚合后,得到针对特定任务的预装资源清单。清单中给出各个任务参与单位完成任务所需要的数据、服务和终端APP列表。实现突破不同属地、不同数据源、不同网络、不同任务的数据融合,打造可规模化行动应用的解决方案。实现现场各种数据在同一平台下打通多维数据的聚合分析,为预装资源的可视化功能展现做好前期融合和分析工作。
(3)多维数据通过同一平台的融合和分析后形成的预装资源清单,在通过预装资源动态可视化定制下,使用虚拟资源盒来规划展示各个任务参与单位的服务器和终端已有的资源和需要预装的增量资源,规划人员可以动态调整资源,生成针对不同任务单位的服务器和终端的预装计划;所述预装计划中定义了需要预装的服务、APP和数据资源。
(4)通过预装资源可视化形成的预装计划,基于资源封装规范,从数据库、信息服务库与终端APP库中获取资源,生成预装资源包,再进行在线下载和离线导出来实现分发;资源包推送到各个任务参与单位的云盘中,提供在线下载和离线导出来实现分发。所述预装资源包分为两类:针对固定单元的服务器预装资源包和针对移动单元的终端预装资源包。
(5)预装资源包通过分发形成的服务器预装资源包(在固定单元形态下),通过微服务平台,可以在线下载或者离线导入服务器预装资源包;并对预装资源包中的服务进行动态部署到固定单元的服务器上,并将预装资源包中的数据动态融合到服务器的信息数据库中。
同时,预装资源包通过分发形成的终端预装资源包(在移动单元形态下),通过终端对终端预装资源包统一管理与更新;终端预装资源包中的APP会通过预装脚本自动化安装,终端预装资源包中的数据会自动汇集到指定APP的预装目录中。
具体方法如下:
首先对资源进行封装,形成对服务、终端APP、数据三种类型的资源封装。同时通过多维数据智能融合技术形成预装资源清单;预装资源清单通过预装资源动态可视化的机制,形成预装计划;预装计划中定义了需要预装的服务、APP和数据资源,作为预装包的生成基础;预装包通过预装资源包的生成和分发技术,形成服务器预装资源包和终端预装资源包。预装资源包分为两类:预装服务资源包和预装数据资源包。
详细技术如下介绍:
(1)资源的规范封装
资源包括服务、终端APP和数据三种类型。在指挥所、武器平台中,资源预装在有数据处理能力的服务器上,预装包中包括服务和数据两种资源。在单兵终端中,资源预装在Android平板中,预装包中包括终端APP和数据两种资源。
资源的预装包需要将三类不同的资源封装在一起进行分发。其中,应用服务将应用的各种算法模型使用微服务技术,封装为可以动态部署装载和注册发现的信息微服务。数据封装则是将数据体及其元数据封装为支持自动接入和整合的数据包。终端APP封装则是将终端APP打包,添加自动安装脚本,成为可以自动安装的终端应用包。
1)微服务模型
信息应用中的各种算法模块通过合理的分解,可以封装成一组独立运行、测试和维护的微服务。微服务可以动态部署发布到容器或者虚拟机中,从而可以在不停机的情况下,动态扩展***的功能。
一个信息微服务将对外暴露五类接口:除了实现服务自身功能的服务调用接口之外,还包括任务管理接口、消息通知接口、服务发现接口、服务监控接口:
a)服务调用接口:提供基于HTTP的接口,支持服务的功能调用;
b)任务管理接口:可以与微服务管理平台进行交互,自动调度执行任务、并提供任务执行状态查看接口;
c)消息通知接口:提供任务执行状态的实时通知,以及接收外部的通知消息的功能;
d)服务发现接口:提供自动化发现服务、注册服务元信息功能;
e)服务监控接口:提供服务运行信息收集的功能,供微服务管理平台进行调用来监控服务状态。
信息微服务的内部结构包括三个部分:
a)空间信息算法模块:是以不同的编程语言编写的算法程序。程序以可执行文件或者库文件形式,来执行和调用;
b)服务封装与发布SDK:提供一系列服务运行和管理所需要的类库,来实现服务调度和服务治理功能。包括:服务注册、服务监控、任务调度、消息通知、数据访问、空间数据处理等;
c)微服务的实现代码:服务的封装者编写的代码,包括服务接口实现代码、服务元信息标注、任务启动代码、任务完成、出错事件处理代码,以及服务的配置。
预装平台将提供服务封装SDK,提供通用的服务封装代码框架,以及服务输入数据、输出管理API、工作空间管理API、异步任务调度API,来实现快速服务封装。利用SDK,开发人员可以快速封装、调试服务封装代码。封装后的服务可以通过Docker或者虚拟机进行部署,并支持自动化的服务发现、负载均衡和服务监控。
2)数据预装包模型
数据预装包中包括需要预装的数据实体及其元数据:
a)数据实体包括文件型数据和关系数据库中的数据。文件型数据依然以文件形式存放,关系数据库数据则导出为SQL脚本文件;
b)元数据部分包括所有预装数据的元数据描述文件。通过元数据可以支持预装时的数据动态导入与整合。
由于不同的服务/APP对于数据的组织方式有特殊的要求,在天基数据预装包中需要包括微服务/APP的数据配置文件,以便在预装时将文件和数据进行正确的导入和整合。
3)终端APP的封装
终端APP的预装包中包括一组APP的安装文件、APP的配置信息:
a)APP的安装文件以Android的APK安装文件形式存放;
b)APP的配置信息主要配置了APP对应的预装数据的文件夹位置。在预装时,可以根据这个配置文件,将APP所需的数据放置到正确的文件夹下。
(2)预装资源动态可视化定制
在预装资源动态可视化定制阶段(如图3所示),使用虚拟资源盒来规划展示各个任务参与单位的服务器和终端的已有资源和需要预装的增量资源,规划人员可以动态调整资源,形成最终的预装计划。
虚拟资源盒模拟参与单位的服务器和终端的配置信息,包括CPU、内存、操作***、存储空间等。这些信息可以用来定制预装的应用类型和数据类型。同时虚拟资源盒中描述了目前已有的预装服务器/终端中的已有服务、APP和数据资源,用来支持增量的预装计划。
在预装平台中,将提供可视化的定制功能,将各个单位的服务器和终端以资源盒形式展示,根据预装计划,展示需要预装的数据、服务或APP。利用虚拟资源盒,可以模拟最终的预装效果,分析可能存在的问题,并可以人工调整预装资源,来处理特殊的预装要求。
通过可视化的虚拟资源盒定制,可以生成针对不同任务单位的服务器和终端的预装计划。预装计划中定义了需要预装的服务、APP和数据资源,作为预装包的生成基础。
预装包罐装需要经过两个步骤:预装应用、罐装数据。预装应用阶段选择自主应用对应的容器镜像,创建一组容器。罐装数据阶段在容器中罐装数据、元数据以及发布数据服务。
(3)预装资源包的生成与分发
1)预装包生成过程
在完成了预装包定制之后,各种异构的数据和元数据都存储在容器的数据卷中,也就是存放到对应的文件夹下面。我们将各个自主应用的镜像文件,连同数据卷对应的文件夹进行整体打包,生成一个可以进行部署允许的预装包。该镜像可以进一步在预装环境中部署集成。
如图2所示,资源预装包的生成过程分为如下步骤:
·根据预装计划,在资源中心的数据管理平台中检索并选择需要封装的数据,得到预装数据及其元数据列表;
·根据预装计划,在资源中心的微服务镜像库中检索,选择需要封装的微服务镜像,得到微服务镜像列表;
·根据预装计划,在资源中心的APP库中检索,选择对应的APP,得到终端APP列表;
·将预装数据、预装的微服务或预装APP进行打包,形成服务器预装资源包和终端预装资源包。
2)预装包分发模式
预装包可以通过进行在线分发或者离线分发:
a)在线分发是预装包将推送到被资源中心的各个单位工作空间中。各个单位可以在工作空间直接进行动态预装,实现动态的预装包下载与集成;
b)离线分发模式可以将预装包导出到存储设备上,然后在被预装服务器或终端上离线导入进行预装和集成。
通过云+端协同,为用户提供请求模式、订阅模式、推送模式和浏览模式四种服务模式的多样化、智能化、精准化、主动化的资源分发服务:
a)请求模式:资源用户单位根据其任务,主动检索和请求预装包。如果不存预装包,则请求资源中心定制预装包;
b)订阅模式:资源用户单位在资源中心注册服务器或者终端,订阅预装包,当有新的预装包时,会通知用户进行获取;
c)推送模式:资源中心根据用户的任务,主动推送用户需要的或者感兴趣的卫星产品;
d)浏览模式:用户可以浏览查询已有的卫星信息产品,并自己下载对应的数据预装到本地服务器或者终端。
3)预装包更新与通知推送
预装包利用消息中间件来实现跨服务、跨应用的预装包更新和消息推送功能。
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流:通过提供消息传递和消息排队模型,它可以在分布式环境下实现应用间的通信。消息的发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在消息的接收者在线时转发给接收者。
消息中间件一般有两种消息传递模式:点对点模式和发布-订阅模式。点对点模型用于一对一的消息传递,而发布-订阅模式可以用于一对多的消息分发。在资源中心模块中,事件通知需要采用发布-订阅模式进行多点分发,消息推送可以根据实际需求采用点对点模式和发布-订阅模式;而在预装平台中,事件通知采用方式需要根据事件的类型来定:
①预装服务器/终端信息采集事件:在定制预装资源前,需要采集各个预装服务器/终端的配置信息以及已经预装的资源,通过该事件,通知各个预装单位联机上报各个预装服务器/终端的信息。
②预装包分发通知:新的预装包生成后,需要通知到各个服务器/终端,进行在线下载或者离线导出。
③预装包更新事件:在预装包中有增量的数据和APP更新时,通知到各个服务器/终端,进行在线更新或者离线导出。
(4)预装服务的动态部署与装载
当预装包在预装平台中部署后,可以自动化云化整合到预装平台中,由预装平台对预装包中的数据和应用进行统一的管理。云化整合包括应用整合和数据整合两个方面。
预装包可以在预装平台中动态启动、停止。在启动过程中需要自主应用可以自动被发现、自动注册。预装包是动态部署运行在云的内网中,没有直接可以外部访问的端口,因此需要预装平台可以自动为预装包提供反向代理功能,由预装平台转发外部的请求到预装包中,来访问预装包内部署的应用微服务。同时,预装包需要支持多实例启动,并通过预装平台进行集群调度,实现弹性的伸缩。
预装平台中,被预装的服务器需要提供一个微服务管理平台用来实现微服务的集成。应用以信息微服务的形式在微服务管理平台中部署。在信息微服务启动之后,可以自动连接到微服务管理平台中,实现自动化的服务发现、注册、监控,并可以通过服务网关动态调用服务,通过任务调度接口实现任务调度。服务微服务管理平台实现服务治理的主要的功能模块及其运行机制如下:
1)自动服务发现与注册:当服务上线后,会自动的连接并通知微服务管理平台完成服务的发现,并通过心跳接口来监测服务的上线状态。在服务上线后,服务的元信息会自动在微服务管理平台中注册,可以供管理和调用人员查询和调用。
2)服务网关:服务上线并注册后,在服务网关可以提供反向代理功能,来实现服务的调用。当服务有多个实例时,可以自动化的实现服务的集群和负载均衡。在新服务实例上线下线时,会自动在服务集群节点列表中添加删除,从而实现动态伸缩。
3)任务调度与管理:服务调用时,会启动一个任务,该任务将由微服务管理平台分配资源进行调度执行。任务执行的状态和执行的结果可以通过在微服务管理平台中监控和查看。
4)异步消息管理:服务的任务状态和各种事件,在微服务管理平台的异步消息管理模块进行统一的管理,实现消息的推送、记录和查询。
5)自动化的服务监控:微服务管理平台通过服务的监控接口自动化采集监控信息,对服务所耗费的资源、服务性能、服务的可靠性进行监控,并提供实时预警功能。
针对预装平台与预装包的应用整合需求,本发明采用微服务技术中的服务发现、服务网关技术来实现:
a)预装平台中内置了基于Eureka的服务注册中心,而预装包的运维子***开发为Eureka客户端,这样当预装包启动后,其状态会被实时发现。当预装包离线时,平台会实时发现,并及时将对应的元数据进行剥离,同时对自主应用进行反注册。我们使用一个服务网关Zuul来实现反向代理功能;
b)服务网关可以在服务注册中心中获取在Eureka中注册的服务,当外部有服务调用(数据访问)的请求时,会自动转发到对应的内网服务上。利用服务发现引擎,服务网关Zuul可以将Eureka中的服务信息来自动配置代理的路由,零配置的实现服务代理。
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
Eureka包括两个组件:Eureka Server和Eureka Client。
a)Eureka Server:提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,包括主机与端口号、服务版本号、通讯协议等。这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。Eureka服务端支持集群模式部署,首尾相连形成一个闭环即可,集群中的的不同服务注册中心通过异步模式互相复制各自的状态,这也意味着在给定的时间点每个实例关于所有服务的状态可能存在不一致的现象。
b)Eureka客户端,主要处理服务的注册和发现。客户端服务通过注册和参数配置的方式,嵌入在客户端应用程序的代码中。在应用程序启动时,Eureka客户端向服务注册中心注册自身提供的服务,并周期性的发送心跳来更新它的服务租约。同时,他也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期行的刷新服务状态。
(5)预装数据的动态接入与更新
预装包内的数据需要在预装平台中进行通过的访问,因此需要实现自动化的元数据转换汇集,从而可以在预装平台中进行统一的数据检索、推荐、分发。预装包内的数据实体虽然存放在预装包中,但需要预装平台提供外部的访问代理,来支持数据的下载、处理、可视化等操作。
针对预装平台与预装包的数据整合需求,本发明采取自动化的元数据汇集技术来实现元数据的整合。预装包上线后,预装平台通过与预装包中的运维子***进行***,对分布式动态接入的预装包的元数据进行汇集,并通过数据关联映射、数据聚类、元数据规范转换,构建数据的全局索引。基于全局索引可以实现一体化的数据检索,检索出分散在各个预装包中的数据。对于预装包中的数据访问代理问题,本发明通过使用服务网关来实现,预装包内的对象存储服务、关系型数据库都将在服务网关中进行注册,当外部请求访问数据时,实现自动化的转发。
在被预装的服务器上,预装包中的数据被动态汇聚,利用统一的遥感共享元数据规范进行描述,在其基础上进一步实现聚合和虚拟化组织。动态汇聚分为两大部分:多源遥感共享信息规范化、信息聚合和虚拟化组织。
多源遥感共享信息规范化主要包括多源异构信息的统一表示,以及描述信息的去重、补全和集成。多源异构信息统一表示将多源异构信息使用同一种规范方法进行统一表示,主要参考ISO19115及ISO19115-2规范,这是后续信息聚合的基础。信息的去重、补全和集成是指筛除重复的信息、补全缺失信息、将描述同一个对象不同属性的信息进行集成,从而提高信息的规范性和完整性。信息聚合和虚拟化组织指对规范化后的信息进一步处理,将信息按照不同的主题进行聚类,并为数据定义不同的标签,建立各类数据之间的关联关系,按照不同的应用需求,形成不同的虚拟化文件,动态关联不同类型遥感数据,从而提高信息的组织效率。
1)元数据预处理技术
为了构建元数据的各种索引,需要对文本形式的原始元数据进行预处理,主要包括:为支持元数据全文检索而进行的元数据分词处理,为支持元数据空间查询而进行的元数据空间化处理、为支持关联查询而进行的元数据关联关系抽取。
①分词处理
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在本部分分词是对元数据进行全文检索的基础,也是进行元数据空间信息和关联信息提供的前提条件。采用基于统计机器学习的方法进行元数据的分词处理。给出大量已经分词的文本,利用统计机器学习模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。
②元数据空间化
元数据空间化的主要任务是将元数据与空间建立映射关系,以便进行可视化的查询与分析。由于遥感元数据所描述的数据覆盖范围信息实质上是一种空间信息,因此,由这种空间信息我们可以得到一个最为简单的元数据空间映射法则,即以空间覆盖范围惟一确定元数据与坐标空间的映射关系,从而将元数据映射到一个统一的空间坐标系中。如果在同一个数据集系列中,元数据的覆盖范围信息所使用的坐标***不一致,则在空间化时需要转换到一个统一的坐标***中。对于其他类型的元数据,则需要根据具体情况,建立相应的空间映射法则,将元数据映射到坐标空间中去。
③关联关系抽取
从元数据中发现相应的时空关联规则,是进行智能关联查询的基础,本项目通过空间数据挖掘模型,结合关联规则挖掘算法,将概念格技术引入到时间关联模型中,从数据中发现多个空间实体之间的关联关系。
2)一体化数据查询索引
数据的检索包括全文检索和空间检索两大类,全文检索与空间查询从软件的角度看,是两类实现不同信息功能的计算机软件***。全文检索长于对文档类信息的索引、检索,空间查询长于对空间信息的索引与检索。遥感元数据蕴含有丰富的空间信息,它本身是一种描述性文字,比较适合于人的阅读和进行全文检索,不适合于直接用来进行空间查询。为了充分利用遥感元数据中的空间信息,我们提出了一种全文检索与空间查询一体化的高效检索机制。
为实现数据层面和功能层面等两个层面的全文检索与空间查询一体化,通过对元数据进行空间化这一技术手段,从元数据中提取出直接可用于空间查询的空间数据,然后利用这些空间数据进行空间检索和查询,同时结合全文检索技术实现属性查询和关键字检索,其核心是要一体化元数据索引的建立。
(6)预装包的统一管理与更新
在移动平台的预装中,需要在终端中安装一个对预装包统一管理与更新的APP,该APP可以连接到远程或本地服务器上下载预装包,然后对预装包进行管理,实现预装APP的自动化安装和预装数据的自动化组织。
当有新的预装包下载成功后,预装包启动自动预装过程。在预装包中的APP将会通过预装脚本自动化安装到终端。预装包中的数据资源将会被抽取,并根据预装包中APP的预装数据配置,自动将数据存放在APP可以正确访问的文件夹。
当预装成功后,被预装的APP启动后,会优先在预装文件夹中寻找数据文件,只有当数据文件不存在时,才会从服务器上获取数据。
服务器端推送到终端的实时增量数据,也将通过自动推送到预装文件夹下。APP可以获取增量的数据文件获取实时的任务信息。
利用预装包统一管理与更新APP来实现移动平台的APP与数据预装,满足对终端的资源的全局视图,可以获得APP以及数据预装现状,从而为增量式预装提供必要的信息。
Claims (10)
1.一种面向应用服务的轻量化终端资源预装方法,其特征在于,该方法包括以下步骤:
(1)对服务、终端APP和数据三种类型资源进行封装,形成资源的预装包;所述资源的预装包包括微服务、数据预装包、终端APP的预装包;
(2)信息化中多源异构数据经过多维数据智能聚合后,得到针对特定任务的预装资源清单;清单中给出各个任务参与单位完成任务所需要的数据、服务和终端APP列表;
(3)形成的预装资源清单在通过预装资源动态可视化定制下,使用虚拟资源盒来规划展示各个任务参与单位的服务器和终端已有的资源和需要预装的增量资源,规划人员动态调整资源,生成针对不同任务单位的服务器和终端的预装计划;所述预装计划中定义了需要预装的服务、APP和数据资源;
(4)根据预装资源可视化形成的预装计划,基于资源封装规范,从数据库、信息服务库与终端APP库中获取资源,生成预装资源包,再进行在线下载和离线导出来实现分发;所述预装资源包分为针对固定单元的服务器预装资源包和针对移动单元的终端预装资源包两类;
(5)通过微服务平台,可以在线下载或者离线导入服务器预装资源包,并对预装资源包中的服务动态部署到固定单元的服务器上,并将预装资源包中的数据动态融合到服务器的信息数据库中;
同时,通过终端对终端预装资源包统一管理与更新;终端预装资源包中的APP通过预装脚本自动化安装到终端,终端预装资源包中的数据自动汇集到指定APP的预装目录中。
2.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(1)中,应用服务将应用的各种算法模型使用微服务技术,封装为可以动态部署装载和注册发现的信息微服务;数据封装则是将数据体及其元数据封装为支持自动接入和整合的数据包;终端APP封装则是将终端APP打包,添加自动安装脚本,成为可以自动安装的终端应用包。
3.如权利要求2所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(1)中,信息微服务动态部署发布到容器或者虚拟机中。
4.如权利要求2所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(1)中,信息微服务包括空间信息算法模块、服务封装与发布SDK、微服务的实现代码模块三个部分;所述空间信息算法模块,包括以不同的编程语言编写的算法程序;所述服务封装与发布SDK,用于提供一系列服务运行和管理所需要的类库,来实现服务调度和服务治理功能;所述微服务的实现代码模块存储服务的封装者编写的代码,包括服务接口实现代码、服务元信息标注、任务启动代码、任务完成、出错事件处理代码,以及服务的配置。
5.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(4)中,资源预装包的生成过程分为如下步骤:
根据预装计划,在资源中心的数据管理平台中检索并选择需要封装的数据,得到预装数据及其元数据列表;
根据预装计划,在资源中心的微服务镜像库中检索,选择需要封装的微服务镜像,得到微服务镜像列表;
根据预装计划,在资源中心的APP库中检索,选择对应的APP,得到终端APP列表;
将预装数据、预装的微服务或预装APP进行打包,形成服务器预装资源包和终端预装资源包。
6.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(4)中,预装包可以通过在线分发或者离线分发:
在线分发是预装包将推送到资源中心的各个单位工作空间中,各个单位可以在工作空间直接进行动态预装,实现动态的预装包下载与集成;
离线分发模式可以将预装包导出到存储设备上,然后在被预装服务器或终端上离线导入进行预装和集成。
7.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(5)中,在终端中安装一个对预装包统一管理与更新的APP,可以通过APP连接到远程或本地服务器上下载预装包,对预装包进行管理,实现预装APP的自动化安装和预装数据的自动化组织。
8.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(5)进一步包括:预装平台中,通过一个微服务管理平台用来实现微服务的集成,应用以信息微服务的形式在微服务管理平台中部署,在信息微服务启动之后,自动连接到微服务管理平台中,实现自动化的服务发现、注册、监控,并可以通过服务网关动态调用服务,通过任务调度接口实现任务调度。
9.如权利要求1所述的面向应用服务的轻量化终端资源预装方法,其特征在于,所述步骤(5)进一步包括:采取自动化的元数据汇集技术来实现元数据的整合,预装包上线后,预装平台通过与预装包中的运维子***进行***,对分布式动态接入的预装包的元数据进行汇集,并通过数据关联映射、数据聚类、元数据规范转换,构建数据的全局索引,基于全局索引实现一体化的数据检索,检索出分散在各个预装包中的数据;
通过使用服务网关来实现对于预装包中的数据访问代理,预装包内的对象存储服务、关系型数据库都将在服务网关中进行注册,当外部请求访问数据时,实现自动化的转发。
10.一种实现权利要求1至9中任一项所述的轻量化终端资源预装云端平台,其特征在于,包括服务网关、docker容器、微服务管理平台、基于Eureka的服务注册中心以及流程引擎;
所述微服务管理平台,用于自动化的服务发现、注册、监控;所述微服务管理平台包括异步消息管理模块、分配资源模块、服务监控接口、服务发现接口、任务调度接口、心跳接口、消息通知接口、任务管理接口、服务调用接口;分配资源模块,用于调度执行任务;异步消息管理模块,用于对服务的任务状态和各种事件进行统一的管理,实现消息的推送、记录和查询;所述服务监控接口,用于收集服务运行信息,供微服务管理平台进行调用来监控服务状态;所述服务发现接口,用于自动化发现服务、注册服务元信息;所述任务调度接口,用于实现任务调度;所述心跳接口,用于监测服务的上线状态;所述消息通知接口,用于实时通知任务执行状态,以及接收外部的通知消息;所述任务管理接口,与微服务管理平台进行交互,用于自动调度执行任务、并提供任务执行状态查看;所述服务调用接口,提供基于HTTP的接口,支持服务的功能调用;
所述服务网关,主要负责在服务注册中心中获取在Eureka中注册的服务,当外部有服务调用的请求时,自动转发到对应的内网服务上,实现动态调用服务;
所述docker容器,用于存储服务、数据;
所述流程引擎在docker容器中运行,流程引擎完成流程的可定制化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210812466.6A CN115297120A (zh) | 2022-07-11 | 2022-07-11 | 一种面向应用服务的轻量化终端资源预装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210812466.6A CN115297120A (zh) | 2022-07-11 | 2022-07-11 | 一种面向应用服务的轻量化终端资源预装方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115297120A true CN115297120A (zh) | 2022-11-04 |
Family
ID=83822921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210812466.6A Pending CN115297120A (zh) | 2022-07-11 | 2022-07-11 | 一种面向应用服务的轻量化终端资源预装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297120A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969391A (zh) * | 2010-10-27 | 2011-02-09 | 北京邮电大学 | 一种支持融合网络业务的云平台及其工作方法 |
US20130145348A1 (en) * | 2011-12-01 | 2013-06-06 | Amer Agovic | Universal and adaptive software development platform for data-driven applications |
CN108234612A (zh) * | 2017-12-23 | 2018-06-29 | 北京卫星信息工程研究所 | 多终端模式的高分资源动态分配与按需服务发布*** |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN113268319A (zh) * | 2021-05-07 | 2021-08-17 | 中国电子科技集团公司第五十四研究所 | 基于微服务架构的业务流程定制与分布式流程调度方法 |
-
2022
- 2022-07-11 CN CN202210812466.6A patent/CN115297120A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969391A (zh) * | 2010-10-27 | 2011-02-09 | 北京邮电大学 | 一种支持融合网络业务的云平台及其工作方法 |
US20130145348A1 (en) * | 2011-12-01 | 2013-06-06 | Amer Agovic | Universal and adaptive software development platform for data-driven applications |
CN108234612A (zh) * | 2017-12-23 | 2018-06-29 | 北京卫星信息工程研究所 | 多终端模式的高分资源动态分配与按需服务发布*** |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN113268319A (zh) * | 2021-05-07 | 2021-08-17 | 中国电子科技集团公司第五十四研究所 | 基于微服务架构的业务流程定制与分布式流程调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | An open IoT framework based on microservices architecture | |
CN109245931B (zh) | 基于kubernetes的容器云平台的日志管理和监控报警的实现方法 | |
CN110099099B (zh) | 针对地面信息港的空间信息微服务封装及服务集成方法 | |
US8204870B2 (en) | Unwired enterprise platform | |
CN113176875B (zh) | 一种基于微服务的资源共享服务平台架构 | |
Malik et al. | Cloud computing and internet of things integration: Architecture, applications, issues, and challenges | |
CN112600891B (zh) | 一种基于信息物理融合的边云协同***及工作方法 | |
CN111381983B (zh) | 虚拟试验靶场验证***的轻量级消息中间件***及方法 | |
CN102880503A (zh) | 数据分析***及数据分析方法 | |
CN111563018B (zh) | 一种人机物融合云计算平台的资源管理和监控方法 | |
CN112788125A (zh) | 一种基于数据接入、流转及联动的物联网平台以及方法 | |
CN108885641A (zh) | 高性能查询处理和数据分析 | |
Jeong et al. | An IoT platform for civil infrastructure monitoring | |
CN112698921A (zh) | 一种逻辑代码运行方法、装置、计算机设备和存储介质 | |
JP2023506239A (ja) | ハイブリッドエネルギー管理における自律的モニタリング及びリカバリのためのシステム及び方法 | |
Zeydan et al. | Recent advances in data engineering for networking | |
CN113127526A (zh) | 一种基于Kubernetes的分布式数据存储和检索*** | |
Großmann et al. | SensIoT: an extensible and general Internet of Things monitoring framework | |
Xiao et al. | RETRACTED ARTICLE: Cloud platform wireless sensor network detection system based on data sharing | |
CN115297120A (zh) | 一种面向应用服务的轻量化终端资源预装方法 | |
Hamida et al. | Integrated CHOReOS middleware-Enabling large-scale, QoS-aware adaptive choreographies | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件*** | |
CN112351079B (zh) | 一种基于数据盒的空间应用和数据一体化封装***及方法 | |
CN116383223A (zh) | 资产数据处理方法、相关装置及存储介质 | |
Nakagawa et al. | Dripcast--Server-less Java Programming Framework for Billions of IoT Devices |
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 |