周春云 周思远 朱洪斌
随着国产化进程的不断推进,信息系统建设力度的逐步加大,现役信息系统急需进行国产化适配改造,针对这一建设,急需结合自主可控发展现状,开展自主可控基础支撑环境研究与设计,加快解决制约信息系统自主可控发展中的瓶颈,推动信息系统的国产化替代进程,从根本上摆脱对国外基础软硬件的依赖。
信息系统主要由终端、服务器、交换机以及业务系统等要素组成,其中在基础软硬件方面,以美国为主的发达国家拥有巨大的“技术阀门”优势,在体系标准、重点软件和关键技术等方面领先于其他各国,牢牢占据信息技术的“制高点”。长期以来,我国绝大部分信息系统都是运行在国外设备上,信息系统的安全性问题日渐突出。
随着我国信息技术的发展,自主可控生态环境正逐步完善,但是在推进过程中还存在实际问题,仅从信息系统的基础支撑环境来看,国产Linux操作系统未能实现类似Windows SDK或者Android SDK的开发和运行支撑能力,基础软硬件多线发展、兼容性差,难以形成整体合力,不利于信息系统的升级发展。
针对信息系统“强内聚、松耦合”的设计特点,结合自主可控发展现状,构建公共基础支撑环境,制定统一的开发、运行标准规范,整合系统基础设施,为各类信息系统提供通用的基础环境,实现不同系统之间的信息共享和互操作,全面保障信息系统的自主可控建设和升级发展。
自主可控基础支撑环境总体设计
总体结构
自主可控基础支撑环境在信息系统建设中发挥着“基础底座”的作用。该环境依托自主可控基础软硬件发展成果,结合分布式、云计算、人工智能、自动化运维和高性能计算等先进技术,以实现信息系统“分层解耦、兼容统一、通用共享、安全高效、持续发展”为目标,开展系统基础环境、平台模块和服务插件的设计,研制通用化、标准化、集成化、服务化和模块化的基础支撑环境。
通过深入分析信息系统开发、运行使用要求,按照系统体系架构进行分层设计,包括基础资源层、基础环境层、基础平台层及应用层,各层之间接口标准化、规范化,可供上层调用引接。自主可控基础支撑环境主要涵盖基础环境层和基础平台层。
1.基础资源层
资源层提供系统运行的硬件、固件、操作系统等各类基础资源,支持集成公共基础设施,兼容终端计算机、服务器、模块化组合设备等各类硬件环境,通过对基础资源的深度适配优化,充分发挥国产设备基础性能。
2.基础环境层
根据信息系统使用要求,自主可控支撑环境需要实现信息系统快速开发和兼容运行。通过构建应用基础运行环境和开发环境实现应用系统开发适配和部署运行的层次解耦,提升系统研制运行效率,保障应用系统稳定可靠。
3.基础平台层
基础平台层提供信息系统运行所需的平台支撑能力,包括云计算平台、大数据平台、并行计算平台和地理信息平台等。通过研制专用平台和专用环境提升信息系统的中间层支撑能力,对上层应用提供标准统一、通用集成、安全高效的平台层支撑。
4.应用层
应用层主要面向现役、在研的办公、情报、决策支持、数据处理及综合保障等各类信息系统的研制和建设过程,提供业务应用所需的基础支撑环境,提升自主可控开发适配和兼容运行能力。
作用特点
信息系统自主可控基础支撑环境具备如下特点:
提供统一架构、统一标准、统一规范、统一接口的运行环境和开发环境,解决国产平台适配周期长、效率低,中间件不完备和支撑能力弱等问题。
对信息系统急需的基础库和开发工具进行补齐、优化及版本接口统一,有效提升各类信息系统开发效率、降低集成联调难度、缩短建设周期。
研制最小化基础环境,针对信息系统业务软件中不同的应用场景,在支撑环境中选择安装相应的软件包,这种安装方式既不额外增加应用响应延时,也便于应用的快速部署、升级维护和跨平台迁移。
信息系统自主可控研制过程中使用大量的无法预估风险的第三方插件和開源代码,缺乏绝对安全、绝对可靠的运行保障,通过构建基础支撑环境,检测并重构不可控插件或源码,通过代码安全性检测技术保障基础环境的可靠、稳定使用。
自主可控基础支撑环境技术实现
自主可控基础支撑环境是信息系统的重要支撑底座,采用“集研结合、继承拓展”的设计思路进行研制开发,主要功能模块包括基础支撑库、运行环境、开发环境、云计算平台、大数据平台、并行计算平台和地理信息平台等。
基础支撑库
基础支撑库主要由计算加速库、图形处理库、音网络传输库、消息通信库、数据存储库、分布式处理库和智能算法库组成。基础支撑库提供信息系统软件开发、适配和集成过程所需的基础库集合。解决信息系统基础库缺失、版本不统一、应用性能薄弱和缺乏统一管理等问题。
基础支撑库在构建时,会根据国产平台特点进行定制优化,逐级进行基础库性能提升,通过构建统一、通用且完善的基础支撑库,全面支撑应用自主可控的适配需求。
运行环境
运行环境主要面向前端业务插件和后端服务,提供统一的应用运行环境,研制集成C/C++/JDK、Web、分布式集群等基础运行环境,从版本、功能和接口等方面实现一致性,兼容国产飞腾、龙芯等基础平台,并通过逐级优化、内核调优以及源码裁剪等技术手段提升了运行效率,满足应用高效、稳定的运行要求。
应用运行环境具备强大的应用运行支撑与集成应用能力,支持多平台、多应用的国产化运行,采用先进、科学的统一打包技术设计,将运行环境与应用进行统一打包封装,形成统一格式文件,有效地改变了应用部署、运行模式,提升应用部署效率。
开发环境
开发环境是业务软件开发的必备条件,包括集成开发、编译构建、代码迁移、代码检测等功能模块。通过开发环境实现对软件的开发、调试、集成和测试,方便用户的操作使用,提供软件迁移改造功能,提升软件从非国产平台向国产平台迁移效率。
开发环境是以国产Linux编译工具或开源工具为基础,提供自主可控平台下的完整开发模式和开发工具,针对不同自主可控平台提供同一版本,同一接口规范的基础环境,实现多平台差异下的快速开发适配验证。
云计算平台
云计算平台主要包括虚拟化支撑引擎和云平台资源管理调度软件。通过在国产平台上研制并适配虚拟化支撑引擎,将国产基础软硬件资源形成虚拟资源,通过资源管理调度软件实现虚拟资源的一体化管理调度,实现国产基础软硬件的集中管控和集群构建,完成对应用服务的封装,保障应用快速部署和高效升级维护。云计算平台提供可配置、按需调度的计算、存储和网络资源共享池,对上提供服务主机或容器。
大数据平台
大数据平台主要用于支撑信息系统海量数据处理需求,完成海量多源异构数据的存储、计算、分析和检索等功能,核心模块包括分布式存储软件、分布式计算软件和数据分析挖掘软件。
大数据平台以分布式文件存储和分布式计算为基础,将检索查询、图算、机器学习、数据挖掘和实时数据处理等大数据基础业务统一到一个基础平台下,并以一致的接口API公开,配套业务应用存储、计算、数据库管理以及集群监控管理等模块,支持开发各类大数据处理、分析、多源数据提取和融合处理的相关应用,为多源数据管理、多任务处理、决策支持等业务系统提供有效支撑。
并行计算平台
并行计算平台需要结合国产并行计算技术和自主可控发展现状,重点分析研究基于OpenMP、MPI等传统并行计算和基于异构众核并行計算的技术架构、工作原理和实现途径,结合信息系统业务应用需求进行定制化产品开发,形成具有国产化特色的并行计算能力,全面提升信息系统典型业务计算效率。
在平台设计时,重点解决分布式资源调度与并行计算调度框架之间的动态协商和资源分配问题,满足计算资源动态平衡和计算任务的热备。同时,在应用程序并行迁移改造过程中,通过代码分析扫描,快速分析出应用程序性能瓶颈,找出热点函数,仅需少量人工查验和修改,即可完成程序并行化改造,极大地降低了用户并行程序改造难度。
地理信息平台
地理信息平台通过集成二维GIS、三维GIS功能,实现空间数据采集、管理、处理、分析、建模和显示,以便解决空间信息复杂的规划和管理问题。
地理信息平台研制过程中,重点突破国产硬件图形加速、图形库优化、图像加载效率和二三维联动显示等技术难点,定制化图形显示驱动、应用插件和API接口,支持二维、三维、2.5维可视化显示,实现基于全球影像开发的空天地一体化信息展示平台。
国产自主可控的基础产品已经具备相当的规模,急需在信息系统平台推广,但是在实际应用过程中,还存在适配性、兼容性、稳定性和易用性等问题,急需开展自主可控基础支撑环境的设计和应用,推进信息系统在国产平台上高效、稳定运行。下一步除了需要继续完善基础支撑环境的功能性能,更需要充分调研信息系统实际使用需要,从应用需求入手,重视用户的实用性和便捷性,打造更高效、更可靠、更全面的基础支撑环境。