CN112783049A - 一种基于微服务的灯联网远程控制系统 - Google Patents

一种基于微服务的灯联网远程控制系统 Download PDF

Info

Publication number
CN112783049A
CN112783049A CN202011638626.7A CN202011638626A CN112783049A CN 112783049 A CN112783049 A CN 112783049A CN 202011638626 A CN202011638626 A CN 202011638626A CN 112783049 A CN112783049 A CN 112783049A
Authority
CN
China
Prior art keywords
service
netty
server
client
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011638626.7A
Other languages
English (en)
Other versions
CN112783049B (zh
Inventor
王博
舒新峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Posts and Telecommunications
Original Assignee
Xian University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Posts and Telecommunications filed Critical Xian University of Posts and Telecommunications
Priority to CN202011638626.7A priority Critical patent/CN112783049B/zh
Publication of CN112783049A publication Critical patent/CN112783049A/zh
Application granted granted Critical
Publication of CN112783049B publication Critical patent/CN112783049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23051Remote control, enter program remote, detachable programmer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/40Control techniques providing energy savings, e.g. smart controller or presence detection

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提出的一种基于微服务的灯联网远程控制系统,系统采用微服务构架实现对灯能源的管控,系统具有动态演进、系统耦合度低、易于扩充等特征,该系统给用户控制灯带来了较大的方便性,用户可以远程访问该系统,在该系统中即可对灯进行控制,同时可以对各个微服务进行监控。

Description

一种基于微服务的灯联网远程控制系统
技术领域
本发明属于物联网技术领域,具体涉及一种基于微服务的灯联网远程控制系统。
背景技术
当今社会,城市照明已成为对外展示城市魅力的名片和窗口,然而灯的管理、维护,特别是用电问题,越来越受到人们广泛的关注,尤其是在电力能源紧张的背景下,因此,更智能更环保更节能的城市照明系统将成为发展的必然趋势。灯联网是物联网在灯具行业的具体应用,在传统灯具上添加传感器,实现相应的检测功能,由微控制器对传感器采集的数据进行处理。它接收远程监控中心控制数据或提取灯具内部设置的控制数据,完成对灯具的实时控制,其目的是实现对单灯监控和节能管理的效益最大化,以使所有的灯具可以实现与因特网的连接,方便识别、管理和控制。
传统的灯联网技术方案采用单体、垂直或者SOA的架构方式,将一个大型项目进行垂直划分,即拆分为一个个的单体结构,项目和项目之间数据存在大量的冗余,且耦合程度高。项目所实现的功能全部包含在一个工程中,这对以后的需求变更和项目扩展带来了较大的不便和挑战。在系统性能方面,垂直结构只能通过扩展集群结点的方式来有限的提高系统性能,这种方式成本高,容易产生瓶颈。随着业务的不断发展,开发变得越来越复杂,修改或新增某个功能时,需要对整个系统进行测试和重新部署,一个模块出现问题,很可能导致整个系统崩溃。同时,多个开发团队对数据进行管理,容易产生安全漏洞。项目的多个模块使用同一种技术进行开发,各个模块很难根据实际情况选择合适的技术框架,因此对技术的使用局限性很大。由于模块过于复杂和庞大,工作的交接任务量较大,耗时较长。
传统方式中的灯联网SOA架构中,将项目公用的部分抽象为组件,以此来为各个功能应用提供相应的服务。各系统之间采用WebServices或RPC进通信,项目和服务之间采用总线的方式进行连接。这种架构下,系统和服务之间没有明显的界限,不利于后期的开发和维护,且服务之间进行通信的协议不固定,种类繁多,增加了开发的难度,使得开发人员需要将一部分精力放在服务通信协议的设计和开发中,还会出现抽取服务粒度过大,系统和服务之间耦合度较高的问题,使得开发更加苦难。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种基于微服务的灯联网远程控制系统。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供的一种基于微服务的灯联网远程控制系统,包括:前端服务器、Netty客户端、Netty服务器以及数据集中控制器,前端服务器与用户终端相连,
所述前端服务器,用于当接收用户终端发送的登录请求后,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于将所述登录请求发送给Netty服务器;
所述Netty服务器,用于基于所述登录请求,查询自身的数据库,确定发送该登录请求的用户终端是否是合法,当所述用户终端合法时,向所述数据集中控制器获取被控灯的状态,并将被控灯的状态转发给Netty客户端;
所述Netty客户端,用于通过前端服务器向用户终端展示被控灯的状态;
其中,所述状态包括:控制端口以及被控灯的开关情况;
所述前端服务器,用于接收用户在用户终端上操作控制端口,产生的控制请求后,将所述控制请求转发给所述Netty客户端;
所述Netty客户端,用于将所述控制请求转发给所述Netty服务器;
所述Netty服务器,用于将所述控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态;
其中,所述登录请求中携带有用户终端信息,一个用户终端信息对应至少一个被控灯,所述Netty服务器内采用Spring Cloud搭建微服务架构。
可选的,在所述前端服务器上设置有UI界面,所述UI界面包括:用户登录界面、主页、灯控制界面、服务注册中心界面,
所述前端服务器,用于当用户通过用户终端点击用户登录界面后,产生登录请求,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于在接收到被控灯的状态后,转发给所述前端服务器;
所述前端服务器,用于在灯控制界面展示被控灯的状态,当接收到用户在所述灯控制界面点击/输入后,产生控制请求,并将该控制请求发送给所述Netty客户端,并在灯控制界面更新被控灯的状态。
可选的,所述Netty服务器,用于将所述控制请求封装成JSON格式,并将该封装后的控制请求发送给数据集中控制器。
可选的,采用Spring Cloud搭建微服务架构,将所述Netty服务器按照功能划分。
可选的,所述微服务架构包括:Eureka注册中心、Netty客户端服务、Netty服务端服务以及Account服务,
所述微服务架构中的Netty客户端服务,用于当接收到登录请求后,向所述Netty服务端服务发送调用请求并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将登录请求通过所述注册中心发送给Account服务;
所述Account服务,用于在所述数据库中查询是否存在用户终端信息,如果存在,则确定该用户终端是合法用户,并向所述Netty服务端服务发送登录成功的响应;
所述Netty服务端服务,用于将所述响应转发给所述Netty客户端服务;
所述Netty客户端服务,用于将所述响应转发给所述Netty客户端;
所述Netty客户端,用于通过所述前端服务器展示所述用户终端登录成功。
可选的,所述Account服务,还用于在所述用户终端登录成功后,生成Token存入Redis中。
可选的,所述微服务架构中的Netty客户端服务,用于当接收到控制请求后,调用所述Netty服务端服务并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态,并将被控灯的状态发送给所述Netty服务端服务;
所述Netty服务端服务,用于将被控灯的状态发送给Netty客户端服务;
所述Netty客户端服务,用于将被控灯的状态发送给Netty客户端。
可选的,所述微服务架构还包括:配置中心、Hystrix服务、Ribbon服务和Zuul服务。本发明实施例提出的一种基于微服务的灯联网远程控制系统,系统采用微服务构架实现对灯能源的管控,系统具有动态演进、系统耦合度低、易于扩充等特征,该系统给用户控制灯带来了较大的方便性,用户可以远程访问该系统,在该系统中即可对灯进行控制,同时可以对各个微服务进行监控。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于微服务的灯联网远程控制系统的结构图;
图2是本发明实施例提供的三层架构的结构示意图;
图3是本发明实施例提供的微服务调度的关系图;
图4是本发明实施例提供的微服务架构中微服务启动的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
如图1所示,本发明实施例提供的一种基于微服务的灯联网远程控制系统,包括:前端服务器、Netty客户端、Netty服务器以及数据集中控制器,前端服务器与用户终端相连,
其中,用户终端与前端服务器、前端服务器与Netty客户端之间的通信协议为HTTP协议,Netty客户端与Netty服务器、Netty服务器与数据集中控制器之间的通信协议为HTTP协议。
所述前端服务器,用于当接收用户终端发送的登录请求后,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于将所述登录请求发送给Netty服务器;
所述Netty服务器,用于基于所述登录请求,查询自身的数据库,确定发送该登录请求的用户终端是否是合法,当所述用户终端合法时,向所述数据集中控制器获取被控灯的状态,并将被控灯的状态转发给Netty客户端;
所述Netty客户端,用于通过前端服务器向用户终端展示被控灯的状态;
其中,所述状态包括:控制端口以及被控灯的开关情况;
示例性的,控制端口与被控灯一一对应,假设控制灯1,灯1的控制端口是A,通过控制端口A就可以控制灯1开启或者关闭。
所述前端服务器,用于接收用户在用户终端上操作控制端口,产生的控制请求后,将所述控制请求转发给所述Netty客户端;
所述Netty客户端,用于将所述控制请求转发给所述Netty服务器;
所述Netty服务器,用于将所述控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态;
其中,所述登录请求中携带有用户终端信息,一个用户终端信息对应至少一个被控灯,所述Netty服务器内采用Spring Cloud搭建微服务架构。
用户终端信息包括但是不限于用户终端ID,用户终端的账号,用户终端的串码,可以实现本发明的方式都属于本发明的保护范围。
如图2所示,本系统在逻辑架构上,采用经典的三层架构,分别为UI界面层、业务逻辑层和数据持久化层。分层架构使得代码更容易维护,组织清晰,可用率高。
UI界面层:该层实现系统与用户交互的界面,应满足界面美观,操作简单方便的要求。同时UI层也会做一些简单的数据校验,如:用户在登录界面进行登录操作时,UI层会对用户输入的数据做简单的校验,使得用户向后端提交的数据满足一定的要求。
在所述前端服务器上设置有UI界面,所述UI界面包括:用户登录界面、主页、灯控制界面、服务注册中心界面,
业务逻辑层:通过从UI层传入的数据执行相关的业务处理,用户对灯的控制请求会由Controller转发给客户端,客户端转发给服务器,进而实现设备的相关操作。
数据化持久层:主要为数据库相关操作。用户登录时,查询数据库中是否有用户的信息;用户登录成功后,将用户的Token存储在Redis中。
本发明实施例提出的一种基于微服务的灯联网远程控制系统,系统采用微服务构架实现对灯能源的管控,系统具有动态演进、系统耦合度低、易于扩充等特征,该系统给用户控制灯带来了较大的方便性,用户可以远程访问该系统,在该系统中即可对灯进行控制,同时可以对各个微服务进行监控。
实施例二
作为本发明可选的一种实施例,所述前端服务器,用于当用户通过用户终端点击用户登录界面后,产生登录请求,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于在接收到被控灯的状态后,转发给所述前端服务器;
所述前端服务器,用于在灯控制界面展示被控灯的状态,当接收到用户在所述灯控制界面点击/输入后,产生控制请求,并将该控制请求发送给所述Netty客户端,并在灯控制界面更新被控灯的状态。
实施例三
作为本发明可选的一种实施例,所述Netty服务器,用于将所述控制请求封装成JSON格式,并将该封装后的控制请求发送给数据集中控制器。
实施例四
作为本发明可选的一种实施例,采用Spring Cloud搭建微服务架构,将所述Netty服务器按照功能划分。
实施例五
作为本发明可选的一种实施例,所述微服务架构包括:Eureka注册中心、Netty客户端服务、Netty服务端服务、Account服务,配置中心、Hystrix服务、Ribbon服务和Zuul服务,
所述微服务架构中的Netty客户端服务,用于当接收到登录请求后,向所述Netty服务端服务发送调用请求并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将登录请求通过所述注册中心发送给Account服务;
所述Account服务,用于在所述数据库中查询是否存在用户终端信息,如果存在,则确定该用户终端是合法用户,并向所述Netty服务端服务发送登录成功的响应;
所述Netty服务端服务,用于将所述响应转发给所述Netty客户端服务;
所述Netty客户端服务,用于将所述响应转发给所述Netty客户端;
所述Netty客户端,用于通过所述前端服务器展示所述用户终端登录成功。
其中,所述Account服务,还用于在所述用户终端登录成功后,生成Token存入Redis中。
参考图3,Eureka注册中心主要负责服务注册和服务发现,其他的服务都需要将自己的信息注册到Eureka注册中心去,当服务消费者需要调用服务提供者时,首先要到服务注册中心查找服务提供者的信息,然后才能进行服务调用。
配置中心主要负责其他服务配置信息的拉取。开发过程中,首先需要将其他服务所需要的配置信息上传至GitHub上,然后配置ConfigServer中关于GitHub的相关信息,包括GitHub账号、密码、分支和路径选择等,最后ConfigServer也需要将自身的信息在Eureka中进行注册。在系统后端启动时,首先启动Eureka注册中心,接着启动ConfigServer,然后才能启动其他服务。只有按该顺序启动,其他服务才能获取到配置信息,进而正确启动。
Netty客户端主要负责接收前端的请求,并调用Netty服务器服务,将请求转发至Netty服务器。在开发时,首先将Netty客户端服务在Eureka注册中心进行注册,接着开发Controller层,用于接收前端发来的请求[13]。Netty客户端会与Netty服务器建立连接,将请求发给Netty服务器。
Netty服务器主要用于接收和处理Netty客户端连接和服务请求。同时,Netty也会与数据集中控制器建立连接,将客户端发来的请求转发给数据集中控制器,并接收数据集中控制器的响应,并将响应转发给客户端。
Account服务主要用于实现用户登录。前端发来登录请求后,Account服务会进行处理,通过MyBatis连接MySQL数据库,在数据库中查询用户信息。用户登录成功后,后端将生成的Token存入Redis中,以便后续验证用户身份。
Hystrix服务主要用于服务熔断。在调用某个服务时,超时次数超过某个界限,或者失败率超过一定值后,Hystrix会打开该服务的断路器,返回一个开发者预期的FallBack,以免影响其他服务的正常运行。
Zuul服务主要实现后端整个系统的网关。Zuul是整个微服务的API网关,作为服务的入口,所有的请求都要先经过Zuul。因此,Zuul可以向用户屏蔽系统内部服务的细节,只需给用户暴露一个外部API即可。此外,Zuul还提供了动态路由、用户身份的认证等功能。在本系统中,Zuul服务暴露自己的8030端口,接收用户的请求,对用户的请求路由进行分析,解析出路由中需要请求的服务名,然后将用户的请求转发至Ribbon。Ribbon服务主要用于实现负载均衡。当请求由Zuul转发来时,Ribbon会查询注册中心服务提供者的信息,如果某个服务提供者在注册中心注册了多个服务,它会根据某种负载均衡算法,如:轮询、随机访问、加权随机等方法选择一个服务地址,将请求转发至相应服务,从而实现负载均衡。这使得在并发量比较大的情况下,用户的请求可以被分发至相同服务的不同地址,以减轻某个服务的压力。
各个服务在注册中心进行注册,服务启动时,先启动注册中心,然后启动配置中心,最后启动其他服务。其他服务需要在注册中心查找配置服务的IP和端口,接着去调用配置中心提供的配置服务,配置中心从GitHub上该项目所在仓库的config目录下拉取相应的配置。
本系统在日志记录方面使用了Spring Cloud集成Logback技术。Logback是一款开源的日志框架,是对log4j的改进。日志的级别有:ERROR、WARN、INFO、DEBUG和TRACE,使用该技术可以灵活方便地进行日志记录。本系统使用该技术将日志记录在每个服务下,同时框架会自动进行打包压缩,以节省所占用的空间,同时也不会使得单个日志文件过大。在Spring Cloud框架中使用Logback时,首先在Maven中引入相关依赖,接着在config服务中配置日志路径信息。在每个服务需要记录日志的地方直接打印即可。
如图4所示,在微服务架构需要启动各个服务,其启动步骤如下:
步骤a:启动Eureka服务注册中心
首先应启动是Eureka注册中心,这是系统的基础服务。它主要提供以下功能:服务注册、服务续约、服务下线、获取服务注册信息和远程调用。
步骤b:启动ConfigServer配置中心
ConfigServer是整个系统的配置中心,由它来统一管理系统的配置文件。
步骤c:启动NettyServer服务
NettyServer服务是本系统的核心服务之一,主要用于接收并处理Netty客户端的请求,将请求转发至数据集中控制器,将数据集中控制器的响应过滤出并转存到Redis中。
步骤d:启动NettyClient服务
NettyClient服务也是该系统的核心服务之一,主要用于接收前端的请求,并将请求转发至Netty服务器,接着从Redis中读取响应数据。
步骤e:启动Account服务
Account服务主要用于用户身份的鉴定,用户在登录本系统时需要请求Account服务。
步骤f:启动Ribbon服务
Ribbon服务主要用于选择服务时实现负载均衡。
步骤g:启动Hystrix服务
Hystrix服务主要用于服务熔断。当请求一个服务时间超时时,Hystrix会自动将该服务断路,使得该服务的请求不会一直积累并占用资源,同时不会影响到其他服务。
步骤h:启动Zuul服务
Zuul服务是整个微服务的网关,即整个系统的入口,所有的请求都会首先访问Zuul服务,并由Zuul服务进行请求分发。
步骤i:服务消费者和服务提供者
在微服务架构系统中,核心服务主要为Account服务、NettyClient服务和NettyServer客户端服务。Account服务和NettyServer服务是服务提供者,前者是为用户登录提供服务,后者是为Netty客户端提供服务。Netty客户端既是服务消费者,又是服务提供者,一方面,NettyClient作为服务提供者来接收、处理和响应前端的请求;另一方面,NettyClient作为服务消费者调用NettyServer的服务来完成设备的相关操作。
实施例六
作为本发明可选的一种实施例,所述微服务架构中的Netty客户端服务,用于当接收到控制请求后,调用所述Netty服务端服务并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态,并将被控灯的状态发送给所述Netty服务端服务;
所述Netty服务端服务,用于将被控灯的状态发送给Netty客户端服务;
所述Netty客户端服务,用于将被控灯的状态发送给Netty客户端。
可以理解,本发明采用异于当前灯联网控制系统采用微服务+Netty服务器的技术构架组合,本发明提供的灯联网远程控制系统易于扩充、易于调试,系统的耦合度较低,并且还使用Redis存储用户登录态Token和数据集中控制器的响应数据,采用了Logback进行日志的记录,包括各个服务运行信息,灯控命令和网关返回数据的记录。提高系统的安全性和可靠性。
本发明提供的一种基于微服务的灯联网远程控制系统,可以低成本实施多用户的物联网云端化,实现用户查阅能源状况并进行实时管控、管理,采用微服务+Netty服务器的技术构架和组合的方案,可以提高系统的质量、提升可用性和用户满意度以实现较大的节省了电力能源的浪费,尤其实施于用电量巨大的企事业单位,更加能节约单位的电力成本;
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (8)

1.一种基于微服务的灯联网远程控制系统,其特征在于,包括:前端服务器、Netty客户端、Netty服务器以及数据集中控制器,前端服务器与用户终端相连,
所述前端服务器,用于当接收用户终端发送的登录请求后,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于将所述登录请求发送给Netty服务器;
所述Netty服务器,用于基于所述登录请求,查询自身的数据库,确定发送该登录请求的用户终端是否是合法,当所述用户终端合法时,向所述数据集中控制器获取被控灯的状态,并将被控灯的状态转发给Netty客户端;
所述Netty客户端,用于通过前端服务器向用户终端展示被控灯的状态;
其中,所述状态包括:控制端口以及被控灯的开关情况;
所述前端服务器,用于接收用户在用户终端上操作控制端口,产生的控制请求后,将所述控制请求转发给所述Netty客户端;
所述Netty客户端,用于将所述控制请求转发给所述Netty服务器;
所述Netty服务器,用于将所述控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态;
其中,所述登录请求中携带有用户终端信息,一个用户终端信息对应至少一个被控灯,所述Netty服务器内采用Spring Cloud搭建微服务架构。
2.根据权利要求1所述的基于微服务的灯联网远程控制系统,其特征在于,在所述前端服务器上设置有UI界面,所述UI界面包括:用户登录界面、主页、灯控制界面、服务注册中心界面,
所述前端服务器,用于当用户通过用户终端点击用户登录界面后,产生登录请求,将所述登录请求发送给Netty客户端;
所述Netty客户端,用于在接收到被控灯的状态后,转发给所述前端服务器;
所述前端服务器,用于在灯控制界面展示被控灯的状态,当接收到用户在所述灯控制界面点击/输入后,产生控制请求,并将该控制请求发送给所述Netty客户端,并在灯控制界面更新被控灯的状态。
3.根据权利要求1所述的基于微服务的灯联网远程控制系统,其特征在于,
所述Netty服务器,用于将所述控制请求封装成JSON格式,并将该封装后的控制请求发送给数据集中控制器。
4.根据权利要求1所述的基于微服务的灯联网远程控制系统,其特征在于,采用SpringCloud搭建微服务架构,将所述Netty服务器按照功能划分。
5.根据权利要求1所述的基于微服务的灯联网远程控制系统,其特征在于,所述微服务架构包括:Eureka注册中心、Netty客户端服务、Netty服务端服务以及Account服务,
所述微服务架构中的Netty客户端服务,用于当接收到登录请求后,向所述Netty服务端服务发送调用请求并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将登录请求通过所述注册中心发送给Account服务;
所述Account服务,用于在所述数据库中查询是否存在用户终端信息,如果存在,则确定该用户终端是合法用户,并向所述Netty服务端服务发送登录成功的响应;
所述Netty服务端服务,用于将所述响应转发给所述Netty客户端服务;
所述Netty客户端服务,用于将所述响应转发给所述Netty客户端;
所述Netty客户端,用于通过所述前端服务器展示所述用户终端登录成功。
6.根据权利要求5所述的基于微服务的灯联网远程控制系统,其特征在于,
所述Account服务,还用于在所述用户终端登录成功后,生成Token存入Redis中。
7.根据权利要求5所述的基于微服务的灯联网远程控制系统,其特征在于,
所述微服务架构中的Netty客户端服务,用于当接收到控制请求后,调用所述Netty服务端服务并将所述登录请求发送给所述Netty服务端服务;
所述Netty服务端服务,用于将控制请求发送给数据集中控制器;
所述数据集中控制器,用于基于所述控制请求,控制被控灯的状态,并将被控灯的状态发送给所述Netty服务端服务;
所述Netty服务端服务,用于将被控灯的状态发送给Netty客户端服务;
所述Netty客户端服务,用于将被控灯的状态发送给Netty客户端。
8.根据权利要求5所述的基于微服务的灯联网远程控制系统,其特征在于,所述微服务架构还包括:配置中心、Hystrix服务、Ribbon服务和Zuul服务。
CN202011638626.7A 2020-12-31 2020-12-31 一种基于微服务的灯联网远程控制系统 Active CN112783049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011638626.7A CN112783049B (zh) 2020-12-31 2020-12-31 一种基于微服务的灯联网远程控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011638626.7A CN112783049B (zh) 2020-12-31 2020-12-31 一种基于微服务的灯联网远程控制系统

Publications (2)

Publication Number Publication Date
CN112783049A true CN112783049A (zh) 2021-05-11
CN112783049B CN112783049B (zh) 2022-08-26

Family

ID=75755094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011638626.7A Active CN112783049B (zh) 2020-12-31 2020-12-31 一种基于微服务的灯联网远程控制系统

Country Status (1)

Country Link
CN (1) CN112783049B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697371A (zh) * 2022-04-13 2022-07-01 中国农业银行股份有限公司 一种远程调用方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166094A1 (zh) * 2016-03-30 2017-10-05 李昕光 服务器前置方法
CN108924197A (zh) * 2018-06-21 2018-11-30 北京京东金融科技控股有限公司 电子价签系统及其数据通信方法
CN110120946A (zh) * 2019-04-29 2019-08-13 武汉理工大学 一种Web与微服务的统一认证系统及方法
CN110182092A (zh) * 2019-04-26 2019-08-30 上海电享信息科技有限公司 一种智能充电桩通信协议的实现方法
WO2019228515A1 (zh) * 2018-05-31 2019-12-05 华为技术有限公司 一种远程过程调用协议自适应方法、相关装置及服务器
CN111262847A (zh) * 2020-01-13 2020-06-09 万庆文 一种应用于微服务架构的访问客户端认证系统
CN111262821A (zh) * 2018-12-01 2020-06-09 星际空间(天津)科技发展有限公司 一种基于微服务的认证鉴权方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017166094A1 (zh) * 2016-03-30 2017-10-05 李昕光 服务器前置方法
WO2019228515A1 (zh) * 2018-05-31 2019-12-05 华为技术有限公司 一种远程过程调用协议自适应方法、相关装置及服务器
CN108924197A (zh) * 2018-06-21 2018-11-30 北京京东金融科技控股有限公司 电子价签系统及其数据通信方法
CN111262821A (zh) * 2018-12-01 2020-06-09 星际空间(天津)科技发展有限公司 一种基于微服务的认证鉴权方法
CN110182092A (zh) * 2019-04-26 2019-08-30 上海电享信息科技有限公司 一种智能充电桩通信协议的实现方法
CN110120946A (zh) * 2019-04-29 2019-08-13 武汉理工大学 一种Web与微服务的统一认证系统及方法
CN111262847A (zh) * 2020-01-13 2020-06-09 万庆文 一种应用于微服务架构的访问客户端认证系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
夏文治: "基于Netty的新风设备控制系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 工程科技II辑》 *
王雄兵: "基于netty的智慧路灯系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697371A (zh) * 2022-04-13 2022-07-01 中国农业银行股份有限公司 一种远程调用方法及装置

Also Published As

Publication number Publication date
CN112783049B (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
CN111130892B (zh) 一种企业级微服务的管理系统及方法
CN109559258B (zh) 教育资源公共服务系统
CN112968943B (zh) 一种电力协同平台
US20090300180A1 (en) Systems and methods for remote management of networked systems using secure modular platform
CN102891877B (zh) 实现终端应用的在线处理系统及方法
US20210240497A1 (en) Plugin framework to support zero touch management of heterogeneous infrastructure elements across distributed data centers
CN114553873A (zh) 基于soa的车云协同控制系统、方法及可读存储介质
CN103220167B (zh) 一种分布式监控系统及其数据存储方法
CN101808051B (zh) 应用整合网关及其控制方法
CN112769602B (zh) 一种白盒交换机统一配置管理系统、方法和网络操作系统
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN111552568B (zh) 云服务调用方法和装置
CN112149079A (zh) 基于微服务架构的规划评审管理平台及用户访问授权方法
CN116633775B (zh) 一种多容器网络接口的容器通信方法及系统
CN111885439A (zh) 一种光网络综合管理和值勤管理系统
CN112783049B (zh) 一种基于微服务的灯联网远程控制系统
US10536397B2 (en) Packet count-based object locking protocol
CN105897884B (zh) 基于XMPP协议的Android手机推送平台
CN103001962B (zh) 业务支撑方法和系统
CN110011984A (zh) 一种基于rest和rpc的分布式集群系统及方法
CN112448909A (zh) 电子锁管理方法、装置、系统及存储介质
CN109274715A (zh) 车载多通道通信系统的平台资源管理系统
CN112737821B (zh) 数据采集方法及装置
CN112367297B (zh) 一种业务控制方法及装置
Luo et al. Study on computing grid distributed middleware and its application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant