沈文亮
摘要:针对目前现代化联合作战的参战军种多元化、作战原则统一等特点,提出了一种基于B/S架构的军事想定文书的协同编辑方法,通过建立长连接、操作转换等技术,实现了想定文书的实时在线协同编辑,支持多人既独立又联动地编辑自己的想定文书部分,最终构建成一个完整的军事想定,该方法已经通过技术验证,投入生产使用。
关键词:军事想定;协同编辑;联合作战
中图分类号:TP393文献标志码:A文章编号:1008-1739(2023)04-46-4
在军事演习的准备阶段,需要拟制军事想定,想定[1]是指敌我双方基本态势、作战企图和作战发展情况的设想,是根据训练课题、目的、敌我编制与作战特点结合实际地形而拟制的,组织和诱导战役、战术演习和作战的基本文书。
随着我国军事改革的深入进行,对作战指挥体制的联合性、时效性、精确性要求越来越高,对于作战前军事想定的编辑也有了新的需求,跨平台、分布式、实时性成为了拟制想定文书软件发展的必然趋势。因此,本文提出了一种基于浏览器/服务器(B/S)架构的集成分布式文件系统的想定文书协同编辑系统的方法,并且已经通过技术验证投入应用。
1.1当前作战形式特点
在一体化联合作战的大环境下,作战训练具有参战军种多元化、作战目的明确、作战原则统一和作战体系完整等特点,联合作战的特点也决定了想定文书编辑时不同军种、不同专业的人既需要分工合作,又需要遵循統一的作战原则,在共同原则的指导下筹划组织作战和指挥控制部队行动,使各作战力量和作战行动形成一个相互支持、相互联动的统一整体。
1.2想定编辑软件的实现方式
想定文书编辑一般有3种实现方式:
①单机独立编辑:由单个计算机实现完成某个想定文书的编辑,或者由多个计算机相互独立完成各自的想定文书。这种实现方式的优点是实现简单、操作简单,一人负责文书的编辑,适合小型单一化训练作战。但是,在新的作战形式下并不适用于这种单机方式,并且文书的编辑工作对人员综合素质要求极高,工作量也会很大,如果是多人在同一计算机上编辑想定文书,则会大大降低工作效率。
②异步协同编辑[2]:解决了单机编辑的协同问题,能够支持多人共同编辑想定文书,每位编辑人员在个人计算机上承担各自的编辑任务,最后将编辑好的想定文书提交到集中服务器上,由服务器对总想定进行冲突检测和汇总。异步协同的方式虽然达到了多人协同编辑的目的,但是编辑人员无法实时看到其他编辑人员编写内容的情况,如果有内容冲突还需返还给编辑人员重新编辑,因此,这种方式适合于各军种、各专业、各装备之间耦合度不高的军事想定。显然,这是不符合现代化军事作战理念的。
③同步协同编辑:也是协同工作的一种方式,与异步协同相比,满足了异步协同无法实现的需求,支持多方、多角色实时在线协同编辑,每位编辑人员所编写的内容会实时展现在其他所有共同编辑人员的计算机上,新打开文书的编辑人员也可以看到最新的实时编辑内容,既满足了多人共同编辑想定的需求,又实现了多方相互辅助、相互联动进行实时编辑的情况,达到真正的军事想定文书协同编辑的目的,本文采用这种方式实现了军事想定的协同编辑。
2.1基于Java实现的B/S架构
B/S架构[3-4]是一种基于Web的网络结构模式,前端显示界面为浏览器客户端,后端为Web服务器,采取浏览器请求,服务器响应的工作模式,称为3层C/S架构。B/S架构如图1所示。
第1层为浏览器客户端,用于向用户展示界面,用户可以通过操作浏览器界面进行交互。
第2层为Web服务器,接收浏览器客户端发来的请求,并在本层进行业务逻辑处理,再和数据库服务器进行数据交互,作为整个架构的核心,起到一个承上启下的作用。
第3层为数据库服务器,存储了整个服务的数据,是软件的根基,接收Web服务器的请求,并将执行完SQL后的结果返回给Web服务器。
使用B/S架构有以下几个优点:
①免安装、共享性强:在安装部署时用户无需每台计算机都安装客户端软件,只要有浏览器即可访问,方便快捷。
②交互性强:通过Web服务器可以轻松实现多客户端的同步更新和实时交互。
③可扩展性高、维护简单方便:软件更新时,无需升级客户端,只需要升级服务器,就可以实现软件更新。
由于想定协同编辑软件涉及多军种、多角色共同编辑想定文书,客户端数量庞大,实时在线协同编辑对共享性、交互性要求高,因此使用B/S架构实现更加合适,并且考虑到想定编辑软件服务可能部署在Windows、Linux等不同系统平台上,使用Java开发Web服务器可以实现与平台无关,具有高可移植性。
2.2实时协同编辑服务
2.2.1工作原理
实时协同编辑服务,是整个软件的核心,其工作原理如下:
①当某个想定文书通过浏览器被首次打开时,实时协同编辑服务(以下简称为服务端)会将该文书下载到服务端生成一个临时副本,并与客户端建立起一个长连接,用于将修改过的文书副本实时更新到客户端上,然后将文书副本响应给浏览器。
②第二个编辑人员通过浏览器客户端打开该想定文书,服务端与其建立长连接后将该文书副本响应给该浏览器客户端。当有人编辑文书时,编辑后的文书会被与之前的副本进行比对,并将修改结果发送给服务端,服务端收到后更新文书副本,然后通过长连接将修改结果通知给其他正在编辑该文书的客户端,其他客户端收到后更新本地文书副本。
③当有2个以上客户端同时编辑某一处内容时,服务端通过操作转换(Operational Transformation,OT)技术解决编辑冲突,避免产生数据不一致问题。
④在一个编辑人员退出编辑后,会与服务端断开长连接,此时不会对文书副本进行保存。直到最后一个编辑人员退出对该文书的编辑,服务端会在10 s后将文书副本保存到本地磁盘或云服务器上,进行持久化。如果在这10 s期間有人再次打开编辑该文书,则取消保存操作。这样实现是为了减少I/O操作,节省系统资源,降低开销。
2.2.2操作转换技术
OT是协同技术中用来保持不同的数据副本一致性的一种方法,在不同的终端,根据操作顺序的不同,对操作进行调整,以保持数据一致性。协同编辑冲突问题示例如图2所示。
用户1往索引0处输入" ",用户2往索引3处输入" ",由于存在网络延迟,不同用户的操作可能在各端有不同的执行顺序,从而产生了不同的结果。OT正是解决这个问题,操作转换不是一个算法,而是对一类算法的统称。解决的问题是:基于同一个状态的2个操作,如何调整一个操作的参数,使得它可以在另一个操作之后执行,表达同样的用户意图。在引入操作转换之后,就解决了协同编辑中数据一致性的问题。OT操作转换示例如图3所示,用户的修改操作经过一定算法的操作转换之后,使得用户1和用户2最终的结果保持一致。
2.3分布式文件系统
如果默认情况下将文书存储和应用服务器放在一起,在文书资源的不断扩展下,代码和静态资源耦合在一起,使得管理混乱,并且文书访问会占据一定的资源,影响应用服务的正常运行。因此引入独立文书服务器,前端通过统一资源定位器(Uniform Resource Locator,URL)的形式访问该服务器,获取文书资源。但是,单机存在性能瓶颈,而且容灾、垂直扩展性较差,分布式文件系统则解决了这些问题。分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连[5-6]。文件存储的位置和后端代码不再耦合在一个服务器上,文件将单独存储在其他服务器上,消除了对应用服务器的资源竞争,分布式文件系统一般分为3个子系统,仲裁系统相当于文件服务器的大脑,根据一定的算法来决定文件存储的位置,文件存储系统负责保存文件,容灾系统负责文件系统之间的相互备份。
3.1系统软件层次架构
想定文书协同编辑系统采用了B/S架构,文书数据存储在分布式文件系统上,文书存储的URL路径持久化在关系型数据库中,据此技术构成和功能需求,将系统划分为4个层次,包括展现层、业务逻辑层、数据访问层和数据存储层。系统软件层次架构如图4所示。
(1)展现层
想定文书协同编辑系统的展示界面,通过浏览器的形式将操作页面展示给用户,编辑人员可以通过浏览器直接和展现层界面进行交互。
(2)业务逻辑层
业务逻辑层是整个系统功能实现的核心层,主要通过算法计算处理协同编辑系统的各个功能逻辑,其中包括想定文书冲突操作转换、文书变动实时通知、文书存储、文书副本拷贝、文书导入导出等。业务逻辑层将处理好的数据交给展现层。
(3)数据访问层
数据访问层是访问数据存储层的方式,业务逻辑层通过URL的方式访问数据存储层中文书系统的资源,通过HTTP请求的方式将文书资源存储到分布式文件系统中,通过结构化查询语言(Structured Query Language,SQL)语句与数据存储层中的关系型数据库进行数据增、删、改、查的操作。
(4)数据存储层
数据存储层有2种存储方式:分布式文件系统用来存储文书资源,通过URL来访问;关系型数据库则用来存储文书的URL访问路径。
3.2系统总体结构
系统的总体结构主要分为4个组件:客户端页面、想定文书协同编辑应用服务器、分布式文件系统存储服务器和关系型数据库。系统总体结构如图5所示,描绘了整体结构和各组件之间的关系。
客户端页面通过浏览器展示,各浏览器客户端与想定文书协同编辑应用服务器建立长连接,完成实时协同编辑;当应用服务中没有要编辑的文书副本时,先从关系型数据库中查询文书的URL路径,然后根据URL路径从分布式文件系统中拷贝文书副本。当最后一个用户退出文书编辑页面后,应用服务默认10 s后调用文书保存操作,将文书副本保存到文件存储服务中,然后将返回的新URL存储到数据库中;用户在浏览器可以通过URL直接访问分布式文件系统中的资源,将想定文书下载到本地。
本文提出的B/S架构的想定文书协同编辑系统,满足了共享性强、实时性强、可扩展性高、可移植性高的想定编辑新需求,顺应现代化指挥作战趋势,真正地实现了想定文书实时在线协同编辑。目前,本系统已得到技术验证并且投入到实际应用中去,为想定协同编辑的研究方法提供了新的思路。
参考文献
[1]中国人民解放军军事科学院.中国人民解放军军语[M].北京:军事科学出版社,2011.
[2]毕学军,张扬,刘海宁,等.电子对抗仿真想定编辑的协同技术[J].兵工自动化,2012,31(8):69-71,77.
[3]刘波.关于B/S和C/S架构的分析[J].人民检察,2004(9): 77-78.
[4]王虎.基于B/S模式的信息管理平台[D].天津:天津大学, 2018.
[5]王雪涛,刘伟杰.分布式文件系统[J].科技信息(学术研究), 2006(11):406-407.
[6]肖蓉.分布式文件系统负载均衡技术探讨[J].电子世界,2020, 591 (9):51-52.