基于适应度函数的微服务平台增量式开发系统设计
2022-01-25刘明伟罗欢张凌志
刘明伟,罗欢,张凌志
(南方电网数字电网研究院有限公司,广东广州 510700)
目前,一些普通服务业务通过平台就可以解决,极大地便利了大众的生活,因此人们对于平台的功能要求越来越高、越来越严格,微服务平台仍然存在一些功能等待开发[1-2]。
传统的微服务平台是通过云服务技术和智能终端设备构建而成的,由于云服务技术应用范围有限,因此在使用过程中暴露出许多漏洞,最主要的问题就是功能过于单一。适应度函数是遗传算法中的重要函数,能够利用最大值和最小值实现信息增强。
该文基于适应度函数算法设计了一种新的微服务平台增量式开发系统,在此基础上,以增量式技术为核心研究并设计微服务的硬件和软件,延伸微服务平台的功能,提高平台的体验效果。
1 系统架构设计
微服务架构的特点一方面是微服务框架的各个组成模块是独立运行的,方便各个模块的更新和更改,微服务框架的操作者和开发者可以同时操作平台,提高微服务框架的工作效率;另一方面微服务架构每一个组件的更改方式简单,具有较强的功能延伸性,有利于框架的升级和删除[3-4]。
基于适应度函数的微服务平台增量式开发系统架构如图1 所示。
由图1 可知,微服务架构主要由网关、负载组件以及服务通信设备组成。网关以一个服务器的身份存在于微服务平台增量式开发系统硬件区域内部,同时也是系统的信息通道入口,网关存在的目的是在数据通信过程中,解决客户端和微服务端通信卡顿的问题,提高微服务框架的工作效率。网关的工作原理是第一时间接收微服务平台客户端发出的服务请求数据,根据网关的身份快速完成服务业务,最后将结果发回接收服务业务的实际服务器上[5-6]。网关的独特优势是最先捕获客户端发出的服务请求,一个网关可以负责多个请求服务,并且一个请求服务可以调用多个网关[7-8]。根据网关特性和数据封装性,直接连接客户端和微服务架构,减少微服务架构的工作量,提高微服务框架的工作效率。
服务通信组件的工作任务是维护客户端和微服务平台增量式开发系统的正常通信,通信服务组件采用远程访问路由的方法,组件客户端请求服务时只需要识别出请求服务的请求地址、请求数据以及服务类型即可,缩短平台解决服务业务的时间。
负载组件的功能是平衡微服务平台的资源负载强度,负载组件通过对网关和任务的进度进行监测,平衡各个网关的工作量,避免出现服务缓冲时间过长的情况,使服务请求和网关接收无缝衔接。
2 系统硬件设计
硬件模块由请求探测器、效应器、抽象器、推理器、策略评估器组成。系统硬件结构如图2 所示。
图2 中,请求探测器用来感知微服务平台增量式开发系统内部的请求环境状态,因为平台由许多传感设备构成,传感器发出的信号波对于客户端的请求信号存在排斥性,因此请求探测器可以降低传感设备的信号波强度,扩大请求信号的强度[9]。
效应器的主要工作是调节微服务平台内部的资源分配情况,平衡各个组件的负载强度。
抽象器是处理客户端发出的抽象请求服务信号,将此请求信号转化为普通请求,后续则进行普通微服务请求的运行。推理器的目的是根据请求服务语句按照规则进行推理,深入剖析请求服务内容[10-11]。
策略评估器负责对请求服务数据的上下文请求感知策略进行评估,如果一条策略经过评估后具有可行性,则执行其动作部分,策略评估器还需进一步驱动应用环境体的执行部分,最后完成策略所规定的动作。微服务平台增量式开发系统硬件电路图如图3 所示。
图3 开发系统硬件电路图
在系统硬件中,该文还设计了增量开发模块,增量开发模块是基于适应度函数的微服务平台增量式开发系统研究的核心,可实现对新开发得到的各个适应性功能的在线动态部署。增量开发模块的任务是将微服务平台各个模块赋予功能延展性,以此提高微服务平台的工作服务效率,增量开发模块的工作流程分为两个阶段,分别为服务请求初始化阶段和增量开发处理阶段。服务请求初始化阶段的主要内容包括请求服务环境建模、服务平台状态建模、请求服务数据逻辑性分析[12-13]。第二阶段为平台增量开发处理阶段,首先在微服务平台各个组件插入一个组件槽,然后对微服务平台内部组件信息进行感知提取,与相应领域的实时技术相匹配,如果不匹配,则在组件槽里对其组件进行升级替换。
3 系统软件设计
3.1 系统登录页面设计
客户使用微服务平台增量式开发系统时,客户最直观的感知来源于系统登录页面,因此系统登录页面的设计十分重要。系统登录页面设计的要求是格式简单,并且将系统的功能百分百地呈现给使用者,为此,该文登录页面设计了两部分,一部分是微服务平台增量式开发系统点击功能区域;另一部分是主动搜索功能区域。在系统登录页面的各个功能处都设定一个功能触发点,一旦用户点击后,系统立刻跳转页面,完成功能的实现[14]。系统登录流程如图4所示。
图4 系统登录流程
3.2 系统数据库设计
为了提高微服务平台增量式开发系统的数据调用速度,数据库功能的设计是必不可少的,数据库是一个有组织、具有一定扩展性、可共享的存储数据集合。数据库语言一方面可以直观明了地表达微服务平台增量式开发系统界面中的数据以及数据之间的关系,同时也是设计人员与用户进行数据交流的一项重要方式[15-16]。为了提高微服务平台增量式开发系统的服务体验效果,该文对数据库中的表和列进行相应规范设计。数据库结构如图5 所示。
图5 数据库结构
为了减少微服务平台内部增量式开发系统的缓存资源,该文设计的系统数据库规范一是各表的属性不允许列存在空数据的情况,因为数据库各个有效表中存储数据信息的各个属性都明确时,才是一个有效的功能,如果表中的列存在空,那么微服务平台的功能模块属性不全,则无法进行调用,只能无效地存储在微服务平台中,占据平台的有效空间。数据库规范二是数据库表中不允许出现重复的列,因为重复的列会增加微服务平台内部资源数据的冗余情况,表中数据应该有唯一的标识符。
3.3 适应度函数算法
适应度函数算法是微服务平台增量式开发系统软件区域的核心功能,适应度函数控制遗传算法的收敛速度和最优解的选择,降低计算机的计算复杂度,提高运算能力。适应度函数的计算原理是根据项目的要求,对其设定一个适应度值,通过对比衡量数据与适应度的值,选择最优的解决路径,其本质是“适者生存”。对于微服务平台增量式开发系统,适应度函数通过对客户端请求数据进行快速识别调用,在开发系统的数据库中调用适应度函数算法,对客户端的服务请求命令进行分析,缩短完成用户请求的时间。具体的适应度函数算法表达式如下:
其中,k为被测程序的实际执行路径与目标路径中较短的一条路径上的请求数据长度,AP(L) 和OP(L)分别为被测程序的实际执行路径和目标路径数据,OP-Ap为两条路径长度的差值,n为服务请求数据个数。
以上两个公式都是适应度函数算法,算法识别平台接收到的请求,分别进行计算,f(a)、f(b)的数值差值越小,则服务方法的效果越好。适应度函数对微服务平台增量式开发系统提出的服务应对路径进行分析,选择出最优的服务功能,提交给客户端,完成系统的软件工作。
4 实验研究
为了研究该文提出的基于适应度函数的微服务平台增量式开发系统的有效性,与传统基于数据挖掘的微服务平台增量式开发系统、基于神经网络的微服务平台增量式开发系统进行对比实验,设置实验参数如表1 所示。
表1 实验参数
根据表1 的实验参数进行实验,得到的开发时间实验结果如图6 所示。
图6 开发时间实验结果
根据图6 可知,对于相同能量的服务平台,该文的开发时间更短,因为该文引入了适应度函数,利用遗传算法,在短时间内确定最大值、最小值,明确开发范围,而传统的方法由于需要采集过量信息,所以开发时间过长。
系统适应性如表2 所示。
表2 系统适应性实验结果
由表2 可知,目前开发的系统适应性都难以达到90%以上,这是由于不同的微服务平台都存在一定的局限性,但是在3 种系统中,该文提出的系统适应性更广。由于该文的系统开发耗时短,所以可以针对不同微服务平台的特点进行分析,适应范围更广。
5 结束语
该文研究的基于适应度函数的微服务平台增量式开发系统,硬件区域由微服务框架、增量开发模块和硬件实体设计模块构成,软件区域包括数据库、系统登录软件以及适应度函数算法,共同构成一个全新的微服务平台增量式开发系统。通过该文的微服务平台增量式开发系统的研究,对于微服务平台的发展有重大影响,并且提高微服务平台使用者的体验感,便利大众的生活。