吕征宇, 周亮, 苏叶锋, 吴豪杰
(1.国网上海电力设计有限公司,上海 200002;2.上海金曲信息技术有限公司, 上海 200070)
可行性研究、初步设计阶段报告协同编制系统是一种针对项目调研立项、方案设计的报告协同编制系统,能够对可行性研究报告与初步设计阶段报告进行协同编制,帮助项目展开基础工作。可行性研究、初步设计阶段报告协同编制系统的设计背景为在项目的前期准备与实施阶段,对项目的初步设计与实施方案进行编制,使项目计划具备可操作性,帮助项目进行项目监理与工程招标[1]。当前国内外都在积极开展可研、初设报告协同编制系统的研究与设计。国外由于相关研究的开展较早,因此研究开展的较为深入,主要针对可行性研究、初步设计阶段报告的智能调研进行研究,有学者提出一种基于Apache POI的可研、初设报告协同编制系统,主要通过Apache POI这种Java API对可行性研究、初步设计阶段报告进行读取、创建以及跨平台编制[2]。国内对于可研、初设报告协同编制系统的研究与设计则起步较晚,因此系统开发的相关技术仍然不够成熟,但在可行性研究、初步设计阶段报告的协同方面已经取得很大成绩,主要通过协同技术对项目的创建与设计进行协同[3]。有学者提出一种基于XML技术的可研、初设报告协同编制系统,主要通过XML技术进行可行性研究、初步设计阶段报告的结构化数据读写从而对其进行协同编制;还有学者提出一种基于iText技术的可研、初设报告协同编制系统,主要通过iText技术实现可行性研究、初步设计阶段报告的报表处理与pdf公文动态生成,该系统能够提供格式化的pdf文件拼接功能从而对可行性研究、初步设计阶段报告进行协同编制[4]。针对以上系统受硬件协同性较差的影响,存在无法分解的协同任务,在可研、初设报告项目数据为5-20M时存在数据录入速度过低的问题,研究一种新的可研、初设报告协同编制系统。
可研、初设报告协同编制系统的硬件构成为协同任务分解模块。协同任务分解模块是基于C/S结构设计的,主要由多个客户机与服务器构成,模块能够将可行性研究、初步设计阶段报告分解成多个子任务,由多台服务器分别对各子任务进行执行,实现协同任务的分解[5]。
协同任务分解模块的处理模式为客户机发出请求-服务器进行响应,也就是通过客户机提出可行性研究报告与初步设计阶段报告的数据或应用处理请求,再由服务器对请求进行处理,并将状态信息与处理结果返还至客户机。在协同任务分解过程中,负载由服务器与客户机共同承担,能够实现可行性研究报告与初步设计阶段报告数据的分布式计算[6]。在协同任务分解模块中,客户机的业务能力是独立的,当服务器与客户机的连接断开后,客户机仍然可以再离线状态下独立运行,通过单机模式进行子任务的执行。
协同任务分解模块的架构为集中式架构,数据主要在服务器端存放,能够集中进行可行性研究报告与初步设计阶段报告的数据共享。在协同任务分解模块中,服务器的功能具体如表1所示。
表1 服务器功能
客户机的功能具体如表2所示。
表2 客户机功能
可研、初设报告协同编制系统的软件构成包括数据交互模块、数据管理模块、可研、初设报告编制模块、数据库模块。
1.2.1 设计数据交互模块
数据交互模块主要通过JSON进行可行性研究、初步设计阶段报告数据的交互。JSON是一种数据交换轻量级格式,具备较少冗余数据、易读的特点。通过JSON进行可行性研究、初步设计阶段报告数据交互时不需要其他API工具,可以直接对某组可行性研究、初步设计阶段报告数据进行字符串转换,并在各函数之间对转换的字符串进行轻松的传递,以及将转换的字符串上传至服务端程序,从而实现可行性研究、初步设计阶段报告数据的交互[7]。
1.2.2 设计数据管理模块
通过数据管理模块能够对可行性研究报告与初步设计阶段报告的编制数据进行管理,模块的具体构成如图1所示。
图1 数据管理模块的具体构成
其中,项目计划及技术资料管理单元主要负责针对项目的计划及技术资料进行数据库构建与管理。该单元还可以对相关日志进行保存和备份,以及根据用途与编制日期对新数据进行录入、对老数据进行修改;报告参数生成单元主要负责根据项目数据收集单元获取数据对可行性研究、初步设计阶段报告所需的项目参数进行计算与生成;项目数据收集单元主要负责对于可行性研究、初步设计阶段报告所需的项目数据进行收集,包括项目的创建与设计数据;报告数据导出单元主要负责对可行性研究、初步设计阶段报告的数据进行导出,导出数据类型包括Excel、GIS、CAD等;报告数据录入及修改单元主要负责对报告中涉及的项目数据进行核实,从而对其进行录入与修改;数据查询单元主要负责对项目的业务数据、个性化数据以及统计数据进行查询;报告数据合并及整理单元主要负责进行对报告相关的各种项目数据库进行合并与数据更新;项目数据分解单元主要负责对报告相关的各种项目数据进行细致的分解,包括可行性研究报告的项目数据分解与初步设计阶段报告的项目数据分解[8]。
1.2.3 设计可研及初设报告编制模块
可研、初设报告编制模块主要负责根据其他模块提供的资料进行可行性研究报告与初步设计阶段报告的编制,该模块的构成为准备项目技术资料单元、可行性研究报告与初步设计阶段报告生成单元、可行性研究报告与初步设计阶段报告编制单元[9]。
其中,准备项目技术资料单元的功能及内容构成,具体如表3所示。
表3 准备项目技术资料单元的功能及内容构成
可行性研究报告与初步设计阶段报告生成单元的功能及内容构成具体如表4所示。
表4 报告生成单元的功能及内容构成
可行性研究报告与初步设计阶段报告编制单元的功能及内容构成具体如表5所示。
表5 报告编制单元的功能及内容构成
1.2.4 设计报告项目拓扑排序模块
在可行性研究报告与初步设计阶段报告的编制中,需要对项目的子项目进行拓扑排序,通过报告项目拓扑排序模块能够获取一个开展子项目的拓扑序列,以保障各子项目能够互不冲突的开展,从而使报告更具合理性[10]。报告项目拓扑排序模块主要通过拓扑排序算法进行子项目的拓扑排序,算法的排序流程具体如图2所示。
图2 算法的排序流程
对于有n个子项目与e对项目关系的大项目而言,其拓扑排序的空间复杂度如式(1)。
P=O(n+e)
(1)
其中,P表示大项目拓扑排序的空间复杂度;O表示先进行某子项目的复杂度。
拓扑排序的时间复杂度则如式(2)。
G=O(nlogn+e)
(2)
数据库模块的构成为项目资料表、报告资料表、项目预算表。综上所述,设计的可研、初设报告协同编制系统硬件组成包括协同任务分解模块,软件构成包括数据交互模块、数据管理模块、可研、初设报告编制模块、数据库模块。
对设计的可研、初设报告协同编制系统进行实验验证。实验项目为某建筑项目,利用设计的可研、初设报告协同编制系统对该项目编制。实验项目的具体数据如表6所示。
表6 实验项目的具体数据
项目平面图如图3所示。
图3 建筑项目平面图
其中,项目资料表具体如表7所示。
表7 项目资料表
报告资料表具体如表8所示。
表8 报告资料表
项目预算表具体如表9所示。
表9 项目预算表
为了避免本次实验结果过于单一,缺乏对比性,将原有系统作为本次实验中的对比系统,包括基于Apache POI、基于XML技术、基于iText技术的可研、初设报告协同编制系统。
对比实验系统在可研、初设报告项目数据为5-10M时的数据录入速度实验结果具体如图4所示。
图4 5-10M时的数据录入速度实验结果
根据图4中可研、初设报告项目数据为5-10M时的数据录入速度实验结果可知,设计的可研、初设报告协同编制系统的数据录入速度可达230.04 s,在可研、初设报告项目数据为5-10M时,设计的可研、初设报告协同编制系统的数据录入速度在几种实验系统中最快。
对比实验系统在可研、初设报告项目数据为10-15M时的数据录入速度,实验结果如图5所示。
图5 10-15M时的数据录入速度实验结果
根据图5中可研、初设报告项目数据为10-15M时的数据录入速度实验结果可知,设计的可研、初设报告协同编制系统的数据录入速度可达254.69 s,在可研、初设报告项目数据为10-15M时,设计的可研、初设报告协同编制系统的数据录入速度在几种实验系统中保持最快。
对比实验系统在可研、初设报告项目数据为15-20M时的数据录入速度实验结果具体如图6所示。
根据图6中可研、初设报告项目数据为15-20M时的数据录入速度实验结果可知,设计的可研、初设报告协同编制系统的数据录入速度可达283.68 s,在可研、初设报告项目数据为15-20M时,设计的可研、初设报告协同编制系统的数据录入速度在几种实验系统中保持最快。
图6 15-20M时的数据录入速度实验结果
综上所述,不同报告项目数据下,本文系统的录入速度均最快,主要原因在于本系统的硬件构成为协同任务分解模块,解决了原有系统受硬件协同性较差的影响,存在无法分解的协同任务,导致数据录入速度过低的问题,提高了录入速度。
在实际的网络通信和数字信号处理系统中,由于通信带宽是有限的,因此,信号在传输之前都要经过量化,使用量化器对状态信号和控制输入信号进行量化,编制系统稳定性曲线如图7所示。
图7 系统稳定性测试
由图7可以看出,当网络加入动态量化器后,系统的性能有所提高,也说明了本文给出的控制器设计方法的有效性,系统在本文控制器作用下可以保证渐进稳定。
为测试系统安全性能,设置已知漏洞,对系统检测能力进行测试,采用了以Linux-3.1.2内核为基础的Cent OS 6.4为测试的运行操作系统,如图8所示。
由图8可以看出,扫描出了8 个已知漏洞,证明系统安全性良好。主要原因在于本文系统硬件构成为协同任务分解模块,解决了原有系统受硬件协同性较差的影响,存在无法分解的协同任务,导致数据录入速度过低的问题,保证了系统稳定性,可及时发现系统漏洞。
图8 系统安全性测试
综上所述,设计的可研、初设报告协同编制系统在几种实验系统中数据录入速度始终保持最快,且系统的稳定性与安全性较强。
本文提出可研、初设报告协同编制系统,基于C/S结构设计协同任务分解模块,软件构成包括数据交互模块、数据管理模块、可研、初设报告编制模块、数据库模块,通过JSON设计数据交互模块,该系统实现了数据录入速度的提升,对于各种项目的后期展开都有很大意义。