一种智慧小区服务端系统的制作方法

文档序号:17331199发布日期:2019-04-05 22:05阅读:261来源:国知局
一种智慧小区服务端系统的制作方法

本发明涉及一种物联网技术领域,尤其涉及一种智慧小区服务端系统。



背景技术:

目前的智慧小区其通讯方式匮乏,只能通过现有的通讯软件或对讲设备进行通讯,在智慧小区内没有成熟的im即时通讯系统,无法实现多人在线沟通,不利于内部通讯沟通与管控。

而且服务端系统故障频繁,无法保证系统长期稳定工作,遇到故障只能停机整修,不利于智慧小区的安全性监管,系统的运行效率低效,无法长期保证数据项目中企业信息的新鲜程度。



技术实现要素:

本发明的目的就在于提供一种解决了上述问题,基于开源协调服务框架zookeeper和ssh的业务开发框架的智慧小区系统。

为了实现上述目的,本发明采用的技术方案是:一种智慧小区服务端系统,所述系统主要包括在智慧小区中使用的im系统和集成ssh的业务开发框架,

所述im系统采用协调服务技术,基于开源协调服务框架zookeeper进行设计,服务于分布式通信应用程序,将简单易用的接口和性能高效的、功能稳定的协调服务提供给需要的应用程序;

所述业务开发框架分为四层:表示层、业务逻辑层、数据持久层和业务域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的web应用程序,

使用struts作为系统的整体基础架构,负责mvc的分离,在springmvc框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持,springboot做管理,管理springmvc和hibernate。

作为优选,所述开源协调服务框架zookeeper中的zookeeper服务主要由coordinator协调节点组和group集群服务节点组组成。

当有client连接进来时,coordinator协调节点组中协调节点根据hash算法结果,确认由group集群节点组下具体的哪个节点为它服务;

client会通过心跳获取协调时间时序编号,如果心跳发生,且返回的事件时序编号没有变化,说明在这段时间内整个服务集群的状态没有发生任何变化(没有组变化,也没有组内master/slave的变化);

反之,则进行新的连接请求服务,协调节点重新根据hash算法重新分配为其服务的节点。

具体做法是,当某一个客户端需要登录上线时,首先客户端通过请求协调服务节点,协调节点通过hash环算出具体为该客户端服务的im服务器并将该im服务节点信息返回给客户端;客户端获取到im服务器信息后,与im服务器建立长连接,并通过心跳(心跳中通过租约解决一致性问题)检测双方在线情况。

当其中任意一个group集群服务节点组,或者其中任意主从节点发生单点故障时,或者一半以上的slave节点认为master节点故障时,便会进行新的master选举(此系统master节点规则:服务组目录下第一个im服务节点为master节点,当此节点移除时,按照顺序目录下第二个节点成为master节点),集群机构也发生相应的变化,则更新协调服务中的全局集群信息结构。

作为优选,业务开发框架的具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的java对象,然后编写基本的dao(dataaccessobjects)接口,并给出hibernate的dao实现,采用hibernate架构实现的dao类来实现java类与数据库之间的转换和访问,最后由springboot做管理,管理springmvc和hibernate。

作为优选,所述业务开发框架中,

表示层:向上对应用层服务,向下接受来自会话层的服务;

业务逻辑层:进行业务规则的制定、业务流程的实现以及与业务需求有关的系统设计;

所谓业务域模块层:处理数据库获取模型所需的业务数据,被模型返回的数据是中立的,能为多个视图提供数据。

作为优选,本发明的业务开发框架采用keepalived技术,所述keepalived基于vrrp虚拟路由器冗余协议,所述keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟ip地址对外提供服务,当主服务器出现故障时,虚拟ip地址会自动漂移到备份服务器。

作为优选,所述vrrp虚拟路由器冗余协议的基本架构,虚拟路由器由多个路由器组成,每个路由器都有各自的ip和共同的vrid,其中一个vrrp路由器通过竞选成为master,占有vip,对外提供路由服务,其它成为backup,master以ip组播形式发送vrrp协议包,与backup保持心跳连接,若master不可用(或backup接收不到vrrp协议包),则backup通过竞选产生新的master并继续对外提供路由服务,从而实现高可用。

作为优选,在本系统中,采用nginx技术进行http协议的负载均衡处理;

采用acivemq技术在各个子系统间传递非实时性的业务数据;

采用springzuul技术完成多个子系统请求在本系统的中的软性路由;

采用分布式系统/分布式组件,通过ceph分布式存储技术负责系统中非结构化数据的保存工作,利用hadoopmr分布式计算技术,进行分布式计算,通过zookeeper分布式协调技术进行多个子系统间的状态协调器,也负责系统中分布式锁的实现过程。

与现有技术相比,本发明的优点在于:

1.解决智慧小区系统中多人在线沟通、以及通讯前的准备工作;

2.解决智慧小区软件系统24小时稳定工作的问题。

3.系统能够长期保证稳定工作,长期保证数据项目中企业信息的新鲜程度,长期保证业务功能的运行效率。

附图说明

图1为本发明im系统原理框图;

图2为本发明智慧小区im系统的工作流程图;

图3为本发明ssh的业务开发框架的构架图;

图4为本发明负载均衡技术的系统原理框图;

图5为本发明分布式系统/分布式组件的结构框图;

图6为本发明vrrp的基本架构示意图;

图7为本发明ceph设计的系统原理框图。

具体实施方式

下面将对本发明作进一步说明。

实施例:一种智慧小区服务端系统,所述系统主要包括在智慧小区中使用的im系统和集成ssh的业务开发框架,

所述im系统采用协调服务技术,参见图1,基于开源协调服务框架zookeeper进行设计,服务于分布式通信应用程序,将简单易用的接口和性能高效的、功能稳定的协调服务提供给需要的应用程序;

所述开源协调服务框架zookeeper中的zookeeper服务主要由coordinator协调节点组和group集群服务节点组组成。

当有client连接进来时,coordinator协调节点组中协调节点根据hash算法结果,确认由group集群节点组下具体的哪个节点为它服务;

client会通过心跳获取协调时间时序编号,如果心跳发生,且返回的事件时序编号没有变化,说明在这段时间内整个服务集群的状态没有发生任何变化(没有组变化,也没有组内master/slave的变化);

反之,则进行新的连接请求服务,协调节点重新根据hash算法重新分配为其服务的节点。

具体做法是,参见图2,当某一个客户端需要登录上线时,首先客户端通过请求协调服务节点,协调节点通过hash环算出具体为该客户端服务的im服务器并将该im服务节点信息返回给客户端;客户端获取到im服务器信息后,与im服务器建立长连接,并通过心跳(心跳中通过租约解决一致性问题)检测双方在线情况。

当其中任意一个group集群服务节点组,或者其中任意主从节点发生单点故障时,或者一半以上的slave节点认为master节点故障时,便会进行新的master选举(此系统master节点规则:服务组目录下第一个im服务节点为master节点,当此节点移除时,按照顺序目录下第二个节点成为master节点),集群机构也发生相应的变化,则更新协调服务中的全局集群信息结构。

基于互联网技术的im系统,主要解决了智慧小区中多种用户角色之间的实时通信问题,一旦实时通信问题被解决,就代表被这一底层基础问题困扰的一系列业务问题都可以解决了。

所述业务开发框架,分为四层:参见图3,(uilayer)表示层、(businesslayer)业务逻辑层、(persistencelayer)数据持久层和(domainmodelbusinessobjects)业务域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的web应用程序,

所谓表示层:向上对应用层服务,向下接受来自会话层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。

所谓业务逻辑层:业务逻辑层(businesslogiclayer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。

所谓业务域模块层:它可能用像ejbs和coldfusioncomponents这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

使用struts作为系统的整体基础架构,负责mvc的分离,在springmvc框架的模型部分,控制业务跳转,利用hibernate框架对持久层提供支持,springboot做管理,管理springmvc和hibernate。

业务开发框架的具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的java对象,然后编写基本的dao(dataaccessobjects)接口,并给出hibernate的dao实现,采用hibernate架构实现的dao类来实现java类与数据库之间的转换和访问,最后由springboot做管理,管理springmvc和hibernate。

本发明的业务开发框架采用keepalived技术。keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

keepalived是基于vrrp协议的一款高可用软件。keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟ip地址对外提供服务,当主服务器出现故障时,虚拟ip地址会自动漂移到备份服务器。

vrrp(virtualrouterredundancyprotocol,虚拟路由器冗余协议),vrrp是为了解决静态路由的高可用。

vrrp的基本架构:虚拟路由器由多个路由器组成,每个路由器都有各自的ip和共同的vrid(0-255),其中一个vrrp路由器通过竞选成为master,占有vip,对外提供路由服务,其它成为backup,master以ip组播(组播地址:224.0.0.18)形式发送vrrp协议包,与backup保持心跳连接,若master不可用(或backup接收不到vrrp协议包),则backup通过竞选产生新的master并继续对外提供路由服务,从而实现高可用,具体参见图6所示:

保证所有技术节点都有冗余/备份组件,并且能够自发现、自检测运行错误,自动完成故障切换。

本发明在所有技术节点都有负载均衡技术,参见图4,

确保出现流量洪峰时系统能快速消化这些性能峰值。我们在技术方案中加入nginx技术、acivemq技术、springzuul技术等:

nginx技术在本系统中的应用:nginx在本系统中主要用于http协议的负载均衡处理,对于一般的查询请求,本系统中同样使用基于http协议的处理过程。

acivemq技术在本系统中的应用主要是在各个子系统间传递非实时性的业务数据,保证多个系统间的脱藕特性。

springzuul技术在本系统中的应用主要是完成多个子系统请求在本系统的中的软性路由。

本发明还采用分布式系统/分布式组件,参见图5用于保证数据一致性和处理性能得到提高。

例如我们在技术方案中加入的ceph分布式存储技术、hadoopmr分布式计算技术、zookeeper分布式协调技术。

ceph分布式存储技术在本技术方案中主要负责系统中非结构化数据的保存工作。ceph设计总览参见图7:

zookeeper分布式协调技术在本发明中的具体应用主要是充当多个子系统间的状态协调器,也负责系统中分布式锁的实现过程

通过上述技术使发明整个系统能够长期保证稳定工作,长期保证数据项目中企业信息的新鲜程度,长期保证业务功能的运行效率。

以上对本发明所提供的一种智慧小区服务端系统进行了详尽介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,对本发明的变更和改进将是可能的,而不会超出附加权利要求所规定的构思和范围,综上所述,本说明书内容不应理解为对本发明的限制。

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