一种物联网业务网关数据处理方法和系统的制作方法

文档序号:8004323阅读:214来源:国知局
专利名称:一种物联网业务网关数据处理方法和系统的制作方法
技术领域
本发明涉及物联网技术领域,尤其涉及一种物联网业务网关数据处理方法和系统。
背景技术
物联网网关作为一个开放的平台,能够将终端的能力和平台的能力开发给应用,应用可以使用这些能力进行终端基本信息查询、终端监控信息查询等操作。物联网网关收到应用的查询请求时,一般是在数据库中进行查询,这种实现方式的性能较低,无法达到良好的用户体验。
如今,多数的大型网站为了提高用户的访问速度,都采用了 memcached服务器来缓存用户经常访问的信息,memcached服务器是一个分布式缓存服务器,具有读写性能高和可扩展性强等优点。物联网网关也可以采用memcached服务器来存储终端的相关信息,以便提高应用查询的性能。
由于memcached服务器是将数据存储在内存中,一旦memcached服务器岩机时,所有存储的数据就都丢失了。所以通常memcached服务器都是与数据库搭配使用的,即存储在memcached服务器中的信息同时再存储到数据库中一份,当memcached服务器岩机时,则从数据库中查找到相关数据,并存储到其他的memcached服务器中。
但是当访问量非常大时,这种方案就造成了 memcached服务器岩机时给数据库带来了巨大压力的问题,甚至会导致数据库被压垮。发明内容
本发明的目的是针对以上现有技术方案中memcached服务器宕机时对数据库造成压力的问题而提出的一种物联网业务网关数据处理方法和系统,能够提高应用查询性能,并且避免memcached服务器出现故障时对数据库造成较大的压力。
为实现本发明的目的,采用了以下技术方案:
本发明的一个具体实施方式
提供了一种物联网业务网关数据处理方法,包括以下步骤:
将物联网数据存储在不少于两个Memcached服务器中,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器;
客户端从所述主Memcached服务器获取所述物联网数据;
当所述主Memcached服务器岩机时,客户端从所述备份Memcached服务器获取所述物联网数据。
所述物联网数据包括终端的状态信息、终端的位置信息和终端采集的当前业务数据。
进一步,还包括以下步骤:
将终端的msisdn、序列号、厂商信息、型号和配置信息保存在数据库中。
优选地,当添加物联网数据时,客户端对所述物联网数据的键值进行一致性哈希算法处理;
选取主Memcached服务器,将所述物联网数据及其键值存储到所述主Memcached服务器;
选取备份Memcached服务器,根据所述备份Memcached服务器的数量,对所述物联网数据的键值自增后的结果进行一致性哈希算法处理,并将所述物联网数据异步地存储到所述备份Memcached服务器;
将对主Memcached服务器的操作结果作为返回值返回给客户端。
优选地,当获取物联网数据时,客户端将要查询的所述物联网数据的键值作为输入参数,从主Memcached服务器获取所述物联网数据;
如果从主Memcached服务器没有获取所述物联网数据,客户端则从备份Memcached服务器获取所述物联网数据;
客户端将获取的所述物联网数据存放到主Memcached服务器,并存储到其他备份Memcached 服务器。
优选地,当修改物联网数据时,客户端将所述物联网数据及其键值作为输入参数,同步更新主Memcached服务器,并异步更新备份Memcached服务器,并将对主Memcached服务器的操作结果作为返回值返回给客户端。
优选地,更新所述物联网数据时,采用cas的版本控制机制。
优选地,当删除物联网数据时,客户端将所述物联网数据的键值作为输入参数,同步从主Memcached服务器和备份Memcached服务器删除所述物联网数据;
将对主Memcached服务器的操作结果作为返回值返回给客户端。
进一步地,所述主Memcached服务器和所述备份Memcached服务器位于物联网业务网关的数据层子系统。
进一步地,所述客户端位于物联网业务网关的应用层子系统。
本发明的另一个具体实施方式
提供了一种物联网业务网关数据处理系统,包括客户端和不少于两个的Memcached服务器,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器,其中,
所述主Memcached服务器用于存储物联网数据,并提供给客户端;
所述备份Memcached服务器用于存储物联网数据,并当所述主Memcached服务器宕机时,提供物联网数据给客户端。
进一步地,还包括数据库,所述数据库用于存储终端的msisdn、序列号、厂商信息、型号和配置信息。
进一步地,所述主Memcached服务器和所述备份Memcached服务器位于物联网业务网关的数据层子系统。
进一步地,所述客户端位于物联网业务网关的应用层子系统。
采用了本发明的技术方案,由于在多个Memcached服务器中对物联网数据进行了冗余备份,因此当主Memcached服务器出现故障无法获取物联网数据时,可以从备份的Memcached服务器获取物联网数据,从而避免了对数据库造成压力,并且确保了物联网能力调用的高性能。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施方式,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施方式一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明技术方案中使用的物联网业务网关系统的结构示意图。
图2是本发明具体实施方式
一中物联网业务网关数据处理系统的结构示意图。
图3是本发明具体实施方式
二中物联网业务网关数据处理流程图。
图4是本发明具体实施方式
二中物联网业务网关数据处理的序列图。
具体实施方式
以下结合附图对本发明的优选实施方式进行说明,应当理解,此处所描述的优选实施方式仅用于说明和解释本发明,并不用于限定本发明。
为了实施本发明的物联网业务网关数据处理,需要对物联网业务网关系统进行说明。图1是本发明技术方案中使用的物联网业务网关系统的结构示意图。如图1所示,该物联网业务网关系统包括终端接入适配层子系统、核心层子系统、数据层子系统、能力层子系统和应用层子系统。
终端接入适配层子系统进一步包括终端接入网关模块和短信代理模块。终端接入网关模块标准化以GPRS方式接入终端,对终端进行鉴权,维护终端在线状态,将终端上报的业务数据标准化后传送给核心层子系统的路由控制模块和数据存储模块,供其实现核心业务逻辑。短信代理模块标准化以短信方式接入终端,将终端发送的M0(MobileOriginate)消息中业务数据取出,转发给终端接入网关模块,同时,将应用以短信方式下发的消息封装成终端接收的MT (Mobile Terminated)消息,以物联网网关的特服号码发送给行业网关,行业网关转发给终端,并且向应用提供短信代理的功能,应用可以使用自己的特服号码连接短信代理模块,短信代理模块负责控制MO消息和MT消息的路由,这样物联网网关对应用屏蔽了其他网元,应用只需要与物联网网关通信即可。
核心层子系统进一步包括路由控制模块、数据存储模块和告警处理模块。路由控制模块控制上下行消息的路由,可以控制消息发送的频率和优先级,同时对终端上报的业务数据进行持久化处理,当应用离线时,确保上行消息不丢失。数据存储模块存储终端接入网关模块发来的终端的配置信息、告警信息、统计信息、监控信息和/或业务数据,并向能力层子系统提供业务数据查询。告警处理模块当终端或者应用出现告警时根据预设的告警规则,以短信或者邮件的形式向配置的联系人发出告警通知。
数据层子系统进一步包括数据同步模块、内存型数据库NOSQL和数据库。当BOSS产生开销户信息时,数据同步模块会与BOSS系统进行用户数据同步,BOSS系统每天向数据同步模块同步BOSS系统的终端余额信息。内存型数据库NOSQL和/或数据库用于存储
能力层子系统进一步包括能力网关模块和实时数据分发模块。能力网关模块向应用层子系统提供能力调用,物联网网关将平台的能力开放给应用,应用可以通过调用这些能力快速构建其业务,提供终端信息查询、终端远程控制、终端配置和告警通知等能力。实时数据分发模块将业务应用订阅的业务数据内容以TCP的方式实时发送给应用层子系统。
应用层子系统进一步包括应用开发工具模块和自助服务门户模块。应用开发工具模块封装能力调用,提供应用开发。自助服务门户模块下载开发包和/或管理终端。
图2是本发明具体实施方式
一中物联网业务网关数据处理系统的结构示意图。如图2所示,该物联网业务网关数据处理系统包括包括客户端、数据库和多个的Memcached服务器,其中一个Memcached服务器作为主Memcached服务器,其他Memcached服务器作为备份Memcached服务器,所有Memcached服务器位于物联网业务网关的数据层子系统,客户端位于物联网业务网关的应用层子系统。
所有的Memcached服务器都存储物联网数据,由主Memcached服务器提供物联网数据给客户端,但当主Memcached服务器岩机时,由备份Memcached服务器提供物联网数据给客户端。
数据库则用于存储终端的msisdn、序列号、厂商信息、型号和配置信息等不经常发生变化的信息。
终端通过终端接入网关模块将物联网数据发送到路由控制模块,路由控制模块根据数据路由规则将数据转发给数据存储模块,数据存储模块将这些数据存储到Memcached服务器中。当应用调用平台能力时,能力网关模块会从Memcached服务器中查询出结果并返回给应用。
为了应用能够快速地从物联网业务网关中查询数据,网关使用了 memcached服务器来存储应用经常访问的数据,并解决了 Memcached服务器宕机时对数据库造成压力的问题。具体解决方案如下。
图3是本发明具体实施方式
二中物联网业务网关数据处理流程图。如图3所示,该物联网业务网关数据处理流程包括以下步骤:
步骤301、将终端发送来的物联网数据存储在多个Memcached服务器中,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器。主Memcached服务器和备份Memcached服务器都位于物联网业务网关的数据层子系统。
这里的物联网数据包括终端的状态信息、终端的位置信息和终端采集的当前业务数据等信息,这部分信息因为经常发生变化,所以存储在Memcached服务器中。
步骤302、对于终端的msisdn、序列号、厂商信息、型号和配置信息等不经常发生变化的信息,则存储在数据库中,称之为skeleton信息。
步骤303、位于物联网业务网关的应用层子系统的客户端从主Memcached服务器获取物联网数据。
步骤304、当主Memcached服务器出现故障岩机时,客户端从备份Memcached服务器获取物联网数据。
物联网业务网关使用的是开源的Xmemcached Client来与Memcached服务器进行交互,Xmemcached Client中使用了一致性哈希的算法来存储数据,以保证在Memcached服务器节点增加或者宕机时仍然能够保证较高的命中率。物联网网关在一致性Hash的算法上进行了优化,实现了数据的冗余备份。这样,当某一个Memcached服务器节点岩机时,客户端会从备份的服务器节点取出数据并返回,这样就避免了 Memcached服务器宕机时,对数据库的压力。为了实现这一过程,需要对物联网数据进行各种处理。
图4是本发明具体实施方式
二中物联网业务网关数据处理的序列图。如图4所示,当添加物联网数据时,先往数据库中加载要存放的物联网数据的skeleton信息,然后调用memcached client的add方法,客户端对要存放的物联网数据的键值进行一致性哈希算法处理,选取主Memcached服务器,将物联网数据及其键值存储到主Memcached服务器中,再选取备份Memcached服务器,根据备份Memcached服务器的数量,对物联网数据的键值自增后的结果进行一致性哈希算法处理,并将物联网数据异步地存储到各备份Memcached服务器,最后将对主Memcached服务器的操作结果作为返回值返回给客户端。
当获取物联网数据时,调用client的get方法,客户端将要查询的物联网数据的键值作为输入参数,从主Memcached服务器获取物联网数据,如果从主Memcached服务器没有获取物联网数据,客户端则从备份Memcached服务器获取物联网数据,并调用add方法,客户端将获取的物联网数据存放到主Memcached服务器,并存储到其他备份Memcached服务器;如果从备份Memcached服务器也没有获取物联网数据,则返回NULL。
当修改物联网数据时,调用client的update方法,客户端将物联网数据及其键值作为输入参数,同步更新主Memcached服务器,并异步更新备份Memcached服务器,更新物联网数据时,采用cas的版本控制机制,并将对主Memcached服务器的操作结果作为返回值返回给客户端。
当删除物联网数据时,调用client的delete方法,客户端将物联网数据的键值作为输入参数,同步从主Memcached服务器和备份Memcached服务器删除物联网数据,并将对主Memcached服务器的操作结果作为返回值返回给客户端。
最后应说明的是:以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,尽管参照前述实施方式对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种物联网业务网关数据处理方法,其特征在于,包括以下步骤: 将物联网数据存储在不少于两个Memcached服务器中,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器; 客户端从所述主Memcached服务器获取所述物联网数据; 当所述主Memcached服务器岩机时,客户端从所述备份Memcached服务器获取所述物联网数据。
2.根据权利要求1所述的一种物联网业务网关数据处理方法,其特征在于,所述物联网数据包括终端的状态信息、终端的位置信息和终端采集的当前业务数据。
3.根据权利要求1所述的一种物联网业务网关数据处理方法,其特征在于,还包括以下步骤: 将终端的msisdn、序列号、厂商信息、型号和配置信息保存在数据库中。
4.根据权利要求1所述的一种物联网业务网关数据处理方法,其特征在于,当添加物联网数据时,客户端对所述物联网数据的键值进行一致性哈希算法处理; 选取主Memcached服务器,将所述物联网数据及其键值存储到所述主Memcached服务器; 选取备份Memcached服务器,根据所述备份Memcached服务器的数量,对所述物联网数据的键值自增后的结果进行一致性哈希算法处理,并将所述物联网数据异步地存储到所述备份Memcached服务器; 将对主Memcached服务器的操作结果作为返回值返回给客户端。
5.根据权利要求4所述的一种物联网业务网关数据处理方法,其特征在于,当获取物联网数据时,客户端将要查询的所述物联网数据的键值作为输入参数,从主Memcached服务器获取所述物联网数据; 如果从主Memcached服务器没有获取所述物联网数据,客户端则从备份Memcached服务器获取所述物联网数据; 客户端将获取的所述物联网数据存放到主Memcached服务器,并存储到其他备份Memcached 服务器。
6.根据权利要求4所述的一种物联网业务网关数据处理方法,其特征在于,当修改物联网数据时,客户端将所述物联网数据及其键 值作为输入参数,同步更新主Memcached服务器,并异步更新备份Memcached服务器,并将对主Memcached服务器的操作结果作为返回值返回给客户端。
7.根据权利要求6所述的一种物联网业务网关数据处理方法,其特征在于,更新所述物联网数据时,采用cas的版本控制机制。
8.根据权利要求4所述的一种物联网业务网关数据处理方法,其特征在于,当删除物联网数据时,客户端将所述物联网数据的键值作为输入参数,同步从主Memcached服务器和备份Memcached服务器删除所述物联网数据; 将对主Memcached服务器的操作结果作为返回值返回给客户端。
9.根据权利要求1-8中任一权利要求所述的一种物联网业务网关数据处理方法,其特征在于,所述主Memcached服务器和所述备份Memcached服务器位于物联网业务网关的数据层子系统。
10.根据权利要求4-8中任一权利要求所述的一种物联网业务网关数据处理方法,其特征在于,所述客户端位于物联网业务网关的应用层子系统。
11.一种物联网业务网关数据处理系统,其特征在于,包括客户端和不少于两个的Memcached服务器,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器,其中, 所述主Memcached服务器用于存储物联网数据,并提供给客户端; 所述备份Memcached服务器用于存储物联网数据,并当所述主Memcached服务器宕机时,提供物联网数据给客户端。
12.根据权利要求11所述的一种物联网业务网关数据处理系统,其特征在于,还包括数据库,所述数据库用于存储终端的msisdn、序列号、厂商信息、型号和配置信息。
13.根据权利要求11所述的一种物联网业务网关数据处理系统,其特征在于,所述主Memcached服务器和所述备份Memcached服务器位于物联网业务网关的数据层子系统。
14.根据权利要求11所述的一种物联网业务网关数据处理系统,其特征在于,所述客户端位于物联网 业务网关的应用层子系统。
全文摘要
本发明公开了一种物联网业务网关数据处理方法和系统,首先将物联网数据存储在不少于两个Memcached服务器中,其中一个Memcached服务器是主Memcached服务器,其他Memcached服务器是备份Memcached服务器;客户端从主Memcached服务器获取物联网数据;当主Memcached服务器宕机时,客户端从备份Memcached服务器获取物联网数据。采用了本发明的技术方案,当主Memcached服务器出现故障无法获取物联网数据时,可以从备份的Memcached服务器获取物联网数据,从而避免了对数据库造成压力,并且确保了物联网能力调用的高性能。
文档编号H04L12/24GK103152191SQ20111040309
公开日2013年6月12日 申请日期2011年12月6日 优先权日2011年12月6日
发明者黄海辉, 潘嘉, 孟桂芳 申请人:中国移动通信集团福建有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1