一种用于水产品质量安全监管系统的微服务框架系统的制作方法

文档序号:16582421发布日期:2019-01-14 18:05阅读:211来源:国知局
一种用于水产品质量安全监管系统的微服务框架系统的制作方法

本发明属于互联网技术领域,特别涉及一种用于水产品质量安全监管系统的微服务框架系统。



背景技术:

随着生活水平的提高,人们对食品安全越来越关注。然而,“疯牛病”“毒生姜”“‘肌溶解’小龙虾”等农产品质量安全事件的发生,让消费者对农产品质量安全产生怀疑。从中央到地方,各级政府部门都把农产品质量安全当做关系百姓民生的大事,出台了多部法律法规来规范农产品生产。在信息化高度发展的今天,中国已将“互联网+”提升为国家发展战略。近年来,我国政府不部门要求利用互联网提升农业管理和服务水平,要求利用信息技术开展农产品质量安全监管。

传统水产养殖存在水域分布广、监管工作难落实等问题,现有技术中水产品质量安全监管系统,其服务框架(如soa)面临多种困境,难以满足柔性、容错、高聚合低耦合、可伸缩性、数据扩展等方面的更高需求,造成水产品监管的信息服务手段严重不足。

微服务框架系统是构成应用系统的“小而自治的服务”。随着系统业务需求日益增加、业务数据快速增长、服务规模不断扩展,软件功能须频繁变化,微服务框架(msa,microservicearchitecture)作为一种新型软件系统,逐渐成为用于解决构建细粒度、松耦合复杂系统的分布式系统架构,它将应用程序分割为多个独立、协同工作的微小服务,每个服务专注于单一业务功能并拥有独立运行的进程,服务之间界限清晰,通过轻量级通信实现完整的应用,满足用户业务扩展变化的需求。

微服务框架能够按照业务拆分服务粒度,通过可伸缩接口控制服务边界,适应实际业务需求变化,使用微服务组合完成具体功能,使应用程序可自由扩展。服务发生变更时可实现自动化按需部署,无需修改、重新部署整个应用程序。微服务框架能够利用去中心化、轻量级交互、敏捷迭代、解耦、故障隔离、容器等机制,满足复杂系统结构变化需要,能够优化it复杂系统效率,同时也不失弹性、平稳和健壮性。

因此,为了解决现有技术中针对水产品质量安全监管系统的不足,需要一种用于水产品质量安全监管系统的微服务框架系统。



技术实现要素:

为了解决现有技术中针对水产品质量安全监管系统的不足,本发明提供一种用于水产品质量安全监管系统的微服务框架系统,将水产品质量安全监管系统的功能分解和离散到微服务框架系统,其中,

所述微服务框架系统包括微服务划分模块、业务组件开发模块、微服务注册表、微服务网关和db数据库;

微服务划分模块,用于通过水平划分和垂直划分对水产品质量安全监管系统进行拆分,提取核心业务,水平方向上把复杂业务抽象出若干业务领域,包括监督检查、执法抽检、案件办理、投诉举报、案件处罚、任务调度等,并作为微服务中心对外提供服务,适应外部需求变化独立伸缩和扩展,与其他业务域解耦;

垂直划分将业务域拆分成多个功能单一、独立的功能单元,确定各单元内外消费的微服务,按业务复杂度来确定服务粒度大小,不同微服务之间相互独立,服务进程相互隔离;

所述业务组件开发模块,用于根据业务需求确定功能单元,并给出微服务描述信息,以及定义微服务接口;

所述微服务注册表,用于对微服务进行注册,以及向微服务网关提供微服务接口;

所述微服务网关,建立客户端与微服务框架系统的连接,用于接收客户端访问请求、对外提供统一服务。

进一步地,所述水产品质量安全监管系统包括基础设施iaas层,为上层应用提供通信网络、数据存储和虚拟化配制;软件开发平台paas层,提供应用程序的开发和运行环境;信息门户saas层,用于针对不同需求提供个性化业务和数据服务。

进一步地,与微服务框架系统的连接的客户端为前端用户,包括水产品质量安全监管办公终端和移动监管执法终端,其中,

所述水产品质量安全监管办公终端,用于业务指导、任务协调以及日常监管查询;

所述移动监管执法终端,用于巡查和/或执法相关数据的采集、处理和传输。

进一步地,所述水产品质量安全监管办公终端通过b/s架构搭建,所述移动监管执法终端通过c/s架构搭建。

进一步地,所述业务组件开发模块根据业务需求确定功能单元,给出微服务描述信息,包括服务类名、存储数据类型、交互协议、数据展现形式和服务契约。

进一步地,所述微服务接口包括持久化数据、请求参数和响应参数。

进一步地,所述微服务注册表,首先定义微服务注册表接口,然后使用微服务注册接口对微服务进行注册,

以及向微服务网关提供微服务接口对微服务进行发布。

进一步地,所述微服务网关采用node.js搭建。

本发明一种用于水产品质量安全监管系统的微服务框架系统,将水产品质量安全监管系统的各个功能,分解到离散的微服务框架系统中,实现对水产品质量安全监管系统解耦。通过梳理业务流程、功能分析,进行微服务划分、业务组件开发、微服务注册,实现整个应用程序持续流水线交付,结合微服务网关、客户端(前端webui)及db数据库的开发,完成面向多部门、多用户需求的功能实现。

本发明一种用于水产品质量安全监管系统的微服务框架系统,具有服务于多部门分级管理、适应新业务扩展变化、信息共享沟通协作、个性化定制、安全隐私保护的优点。

本发明一种用于水产品质量安全监管系统的微服务框架系统,支持多开发者协作开发,开发者独自完成各自的功能,技术选型和工具选择更加灵活,设计、开发和维护更敏捷,有效控制和降低因需求变化带来的成本上升,减小外界环境需求变化带来的风险。

附图说明

图1是适用于本发明微服务框架系的水产品质量安全监管系统框图。

图2是本发明用于水产品质量安全监管系统的微服务框架系统结构框图。

图3是本发明微服务注册、订阅和发现的示意图。

具体实施方式

下面对本发明进行更为详细的描述。应注意,上文的发明内容部分以及下文的详细描述仅为具体阐释本发明之目的,无意于以任何方式对本发明进行限制。在不背离本发明的精神和主旨的情况下,本发明的范围由随附的权利要求书确定。

如上所述,本发明的目的是提供一种用于水产品质量安全监管系统的微服务框架系统,以解决现有水产品质量安全监管系统中存在的信息服务手段不足问题。

下面结合附图以及实施例对本发明进行更为具体和详细的描述。本发明通过对水产品质量安全监管系统的功能进行分解和离散到微服务框架系统,对水产品质量进行安全监管,扩展了信息服务手段,避免了水产品质量安全的监管漏洞。为了更清晰的对本发明进行阐释,首先对用于本发明的水产品质量安全监管系统进行说明,如图1所示适用于本发明微服务框架系统的水产品质量安全监管系统框图,水产品质量安全监管系统100根据分级监管实际业务需求,在逻辑结构上分省、市、县、镇四层,纵向上从各层实际工作及业务流程中逐层提取业务需求,横向展开各层业务功能进行微服务组件化,构建功能模块。针对各级监管单位业务职能,设置用户使用业务组件和数据的权限,实现信息沟通交流、数据共享与交换。

水产品质量安全监管系统,以水产品安全管理法规、网络信息安全为制度保障,采用云环境部署,包括基础设施iaas层101,为上层应用提供通信网络、数据存储和虚拟化配制。软件开发平台paas层102,采用基于ssi的mvc软件分层结构,提供应用程序的开发和运行环境,包括设计、开发、部署应用项目,各部门用户共同使用一套系统。信息门户saas层103,用于针对不同需求提供个性化业务和数据服务。saas层103采用多租户模式针对各级不同需求进行单独定制,使用户获得所需个性化业务和数据服务,为监管部门提供信息采集、加工汇总、统计分析、数据挖掘、辅助决策的便利手段,为用户提供稳定可靠的身份认证与隐私安全服务,实现省、市、区(县)、乡镇各级部门之间协同联动,大幅降低开发、运维成本。

为方便监管和管理,水产品质量安全监管系统的前端用户(信息门户)采用与微服务框架系统连接的客户端,客户端包括包括水产品质量安全监管办公终端和移动监管执法终端。

其中,水产品质量安全监管办公终端(pc端),通过b/s架构搭建,用于业务指导、任务协调以及日常监管查询。移动监管执法终端(手机、pda、便携蓝牙打印机等智能设备等),通过c/s架构搭建,用于巡查和/或执法相关数据的采集、处理和传输,实现现场移动监管执法。水产品质量安全监管办公终端和移动监管执法终端针对具体部门通过多租户方式租用功能相同、软件界面配置不同的系统环境。

如图2所示本发明用于水产品质量安全监管系统的微服务框架系统结构框图,根据本发明的实施例,一种用于水产品质量安全监管系统的微服务框架系统200,将水产品质量安全监管系统100的功能分解和离散(微服务化)到微服务框架系统200。

微服务框架系统200包括微服务划分模块201、业务组件开发模块202、微服务注册表203、微服务网关204和db数据库205。

微服务划分模块201,用于通过水平划分和垂直划分对水产品质量安全监管系统进行拆分,提取核心业务,解决政府主管部门分级执法管理的需求。

微服务划分模块201从业务组件功能需求入手进行微服务的划分,划分原则为功能单一、原子化、细粒度、边界清晰,可独立部署、升级和扩容,解决政府主管部门分级执法管理的需求。水平方向上把复杂业务抽象出若干业务领域,包括监督检查、执法抽检、案件办理、投诉举报、案件处罚、任务调度等,并作为微服务中心对外提供服务,适应外部需求变化独立伸缩和扩展,与其他业务域解耦;

垂直划分将业务域拆分成多个功能单一、独立的功能单元,确定各单元内外消费的微服务,按业务复杂度来确定服务粒度大小,不同微服务之间相互独立,服务进程相互隔离

微服务划分模块201通过水平划分抽象出若干业务领域,包括监督检查、执法抽检、案件办理、投诉举报、案件处罚和任务调度。并且并作为微服务中心对外提供服务,适应外部需求变化独立伸缩和扩展,与其他业务域解耦。

微服务划分模块201通过垂直划分将不同的业务领域拆分成多个功能单元,确定各个单元内外消费的微服务。具体对不同的业务领域拆分成多个功能单一、独立的功能单元,确定各单元内外消费的微服务,按业务复杂度来确定服务粒度大小,不同微服务之间相互独立,服务进程相互隔离。

业务组件开发模块202,用于根据业务需求确定功能单元,并给出微服务描述信息,以及定义微服务接口。业务组件开发模块202根据业务需求确定功能单元,给出微服务描述信息,包括服务类名、存储数据类型、交互协议、数据展现形式和服务契约。在确定出微服务描述信息的基础上定义微服务接口,包括持久化数据、请求参数、响应参数等,并实现微服务。在具体的实施例中,一项业务需要由多个不同微服务协作完成,业务组件通过契约定义来组合这些服务,实现业务功能。根据本发明的实施例,运用springboot框架作为微服务提供者进行微服务组件开发,基于docker容器的微服务封装以及基于jenkins的集成部署。

本发明通过docker容器的可伸缩性配置实现对等集群,使一个节点存储多个微服务实例且无主从之分,单点失效时仍可自动路由切换到其他节点实现服务注册及发现,确保高并发访问时的服务调用。

在iaas环境下分布式集群部署能够使系统的横向扩展性得到大幅提升,但集群节点规模及其服务的增长也带来了系统负载增加、系统整体性能、服务质量降低等问题。针对这一问题,本发明微服务框架系统,采用全局资源配置管理器resourcemananger提高资源利用率,启动任务调度时按需创建和分配资源,减轻节点负载,同时降低资源占用、减轻系统开销。在资源管理功能失效时利用微服务注册接口(zookeeper)进行恢复,确保系统高可用性、可靠性。

实施例以水产品质量抽检业务组件开发为例,组件主要实现县、镇各级监管人员使用pc电脑、智能手机、pad及网络,生成抽检计划、登记上报抽检信息、查询检查结果等功能。

功能单元包括:(1)抽检计划生成。根据指标、权重自定义条件设置,从水产品养殖企业数据库中随机抽取抽检对象生成抽检计划。

(2)抽检任务管理。依据年度抽检计划按指标及权重生成抽检任务表,形成所辖管区县基层监管单位可执行的具体巡查任务。

(3)抽检信息管理。将产品抽检信息及时上传到数据中心,便于实时查询和统计分析。

(4)产品抽检统计。实现对抽检数据汇总统计管理,实时了解水产品质量安全动态,预测监管重点、难点,为决策提供依据。

例如,为“抽检计划生成”功能单元设计微服务,创建微服务inspectionservice.java,设计并实现微服务接口list<enterprice>plangeneration(map<string,object>conditions),用于形成抽检计划,输出符合自定义条件的抽检企业列表,其他服务接口与之类似。设计完成后,使用springboot开发该微服务及其接口,并利用idea、maven对外发布。

微服务注册表203,用于对微服务进行注册,以及向微服务网关提供微服务接口对微服务进行发布。

如图3所示本发明微服务注册、订阅和发现的示意图,微服务注册表203采用去中心化的分布式服务注册表serviceregister对微服务进行注册。微服务注册表首先定义微服务注册表接口,然后使用微服务注册接口(zookeeper)对微服务进行注册。本发明基于iaas采用去中心化的分布式微服务注册接口(zookeeper)集群来横向扩展微服务节点,取代单一服务注册中心部署微服务,确保微服务注册表的高可用性。

微服务注册表203在发布微服务时,通过启动微服务将其服务地址ip、服务端口port等配置信息写入服务注册表中,微服务注册表会通过心跳检测来定期更新已订阅发布的服务,消除失效的服务,确保分布式数据一致性、可用性。当用户执行某个业务操作时,前端用户(客户端)利用统一网关接口程序查找服务注册表中相应服务,调用具体的服务接口进行服务消费,用户完成一项业务通常需要组合多个微服务加以实现。

微服务网关(servicegateway)204,建立客户端与微服务框架系统的连接,用于接收客户端访问请求、对外提供统一服务。根据本发明的实施例,微服务网关采用node.js搭建。

当用户登录移动监管执法终端或水产品质量安全监管办公终端(客户端)后,发送客户端http请求时,微服务网关204通过解析请求信息中的路由路径、服务名称、方法、参数等相关内容,在服务节点中查询对应注册服务的配置信息,定位到指定服务地址及端口、调用所需服务。

为了增强高并发服务消费请求时服务节点高的可用性,一个微服务通常注册为多个实例并实现多节点存储,需要一套服务发现机制,使服务调用端可以获取正确的服务地址。本发明采用node.js搭建微服务网关204,节点包含多个地址时,采用node.js反向代理服务发现,通过轮询、随机等方法选取最近节点并调用服务,为用户呈现结果。

在一些实施例中,对于系统复杂业务的实现,需要调用多个分布在不同节点的微服务,并需要良好服务进程通讯机制来支撑跨域访问。本发明采用rest(表征状态转移)轻量级异步通信协议实现微服务之间通信,取代soap(对象访问协议)、wsdl(网络服务描述语言)等传统方式,以解决异步方式处理客户端并发请求时的服务调用拥塞问题,提升通讯效率。实施例中,rest(表征状态转移)协议格式中网络资源被抽象成为一个地址,功能的实现通过对http资源请求操作来完成,充分实现异构数据web服务共享。同时消除了微服务通信受制于语言、平台的差异和限制,系统内外通信兼容性、灵活性、简单性更好。

本发明针对用户合法性,微服务网关配置ip校验、发送授权代码许可、凭据许可、刷新令牌等多重加固方式,实现客户端及用户身份安全认证。数据安全性针对微服务注册信息的访问控制,配置授权用户对服务及数据使用权限,降低非法用户盗取数据的风险。

此外,针对负载过重因素引起的节点故障失效问题,通过监听、周期性检测、失效节点自动重启恢复、故障隔离,使系统具有高可用性、容错性、健壮性,满足多用户、多业务需要。

本发明一种用于水产品质量安全监管系统的微服务框架系统,将水产品质量安全监管系统的各个功能,分解到离散的微服务框架系统中,实现对水产品质量安全监管系统解耦。通过梳理业务流程、功能分析,进行微服务划分、业务组件开发、微服务注册,实现整个应用程序持续流水线交付,结合微服务网关、客户端(前端webui)及db数据库的开发,完成面向多部门、多用户需求的功能实现。

本发明一种用于水产品质量安全监管系统的微服务框架系统,具有服务于多部门分级管理、适应新业务扩展变化、信息共享沟通协作、个性化定制、安全隐私保护的优点。

本发明一种用于水产品质量安全监管系统的微服务框架系统,支持多开发者协作开发,开发者独自完成各自的功能,技术选型和工具选择更加灵活,设计、开发和维护更敏捷,有效控制和降低因需求变化带来的成本上升,减小外界环境需求变化带来的风险。

本发明一种用于水产品质量安全监管系统的微服务框架系统,采用集群容错技术、异步通信策略、负载均衡、安全性配置等关键技术,系统具有较好的可伸缩扩展性、容错、自动化部署、配置灵活等特点。

本发明一种用于水产品质量安全监管系统的微服务框架系统,运用springboot框架进行微服务组件开发,采用docker封装、jenkins集成、分布式集群,并结合大数据分析,进一步拓展和丰富了系统功能,涵盖基础数据、生产基地监管、水产品质量抽检、巡查执法、三品认证管理、追溯标识监管模块。

上文已经通过一般性说明及具体实施方案对本发明做了详尽的描述,但在本发明基础上,可以对其做一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1