卫星频段资源规划设计

问题

在通信卫星的组网场景中,如何规划卫星频段资源,让不同的子网可以在不同的时间内进行资源复用,并提供一种办法来量化资源的使用率。

Liquibase管理数据库版本

Liquibase是一个用于用于跟踪和管理应用数据库变化的开源工具,通过changelog日志的形式来记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种与数据库类型无关的解决方案,主要优点包括:

  • 支持几乎所有主流的数据库,包括Oracle、Sql Server、DB2、MySql、Sybase、PostgreSQL等,这样在数据库的部署和升级环节可以支持多数据库;
  • 日志文件支持多种格式,如XML、YAML、JSON、SQL等;
  • 支持回滚功能,可以按时间、数量、标签回滚变化;

官网文档:https://docs.liquibase.com/home.html

smart-doc生成接口文档

smart-doc是一款支持Java Rest Api和Apache Dubbo Rpc接口文档生成的工具,官方文档已经介绍得很好,就不过多赘述了。相比swagger基于注解生成接口文档,它基于注释来生成,将代码无侵入这一目标进行的更加彻底,生成的接口文档画风也非常简单干净,而且支持JSR-303规范,可以解析Validation API相关的参数校验。这里记录一下在springboot应用中通过maven插件来生成smart接口文档的具体实践。

官网文档:https://smart-doc-group.github.io/#/zh-cn/?id=smart-doc

Maven应用构建打包

Maven是Java应用中一种很常见的构建方式,这里记录下我们使用Maven来构建springboot应用的一次实践以及遇到的问题

springboot应用配置和脚本

在springboot中,推荐的方式是直接打包成可执行JAR,这样简单、方便,并且使应用的部署和运行更加一致和可靠,非常适用于应用容器化部署。但我们希望也能兼容旧的打包部署方式,在一些非容器化部署的环境中,可能有直接修改应用配置文件甚至替换jar包的行为。所以我们还是保持以前的打包目录结构,在应用部署之后分为bin、config、lib、log4个子目录,区别只是lib中从原来的多个jar变成了现在的一个jar。