不同设备间的消息处理方法、服务器和计算机存储介质与流程

文档序号:21478400发布日期:2020-07-14 17:04阅读:230来源:国知局
不同设备间的消息处理方法、服务器和计算机存储介质与流程

本申请实施例涉及互联网通信领域,尤其涉及一种不同设备间的消息处理方法、服务器和计算机存储介质。



背景技术:

智能手机、平板电脑和手持设备等等各种智能终端,像个人计算机一样,具有独立的操作系统、独立的运行空间,可以由用户自行安装软件、游戏、导航等第三方服务商提供的程序,即应用(application,app)软件,并可以通过移动通讯网络来实现无线网络接入。

物联网(theinternetofthings,iot)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。

因此,物联网可以通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。

移动通信系统中的智能终端的操作系统和物联网设备的操作系统是不同的。

例如,目前应用在智能终端上的操作系统主要有google公司的安卓(android)操作系统、苹果公司的ios操作系统、微软公司的windowsphone操作系统、诺基亚公司的塞班(symbian)操作系统、黑莓公司的blackberryos操作系统、webos操作系统、微软公司的windowsmobile操作系统、华为公司的鸿蒙(harmony)操作系统等。

物联网设备的操作系统比较碎片化,不同领域或不同业务的物联网设备安装不同的操作系统,因此,物联网设备可以是以传统嵌入式操作系统和实时操作系统为基础,通过增加设备联网等功能,满足物联网接入设备互联需求,形成新的物联网操作系统,例如实时多任务操作系统(realtimeoperatingsystem,rtos)。

目前的通信技术,一般都是终端设备与网络服务器进行消息连接,由网络服务器下发消息指令,不同操作系统的终端设备之间的相互通信,均是通过网络服务器进行通信。

一种现有技术是,android设备发送的消息通过网络服务器向保持着长连接的rtos嵌入式设备转发,因此,rtos嵌入式设备需要与网络服务器建立一个长连接的套接字(socket)来监听网络服务器下发的消息。这种长连接很容易造成消息堵塞,网络服务器要不断的发送心跳检测来判断rtos嵌入式设备是否保持长连接,连接的数量会受到限制,并且随着业务的快速发展,国外的流量资费较贵会造成大流量消耗,同时网络不可靠,有一定的消息丢失风险。

另一现有技术是rtos嵌入式设备进行轮询,不间断的到网络服务器查询最新的消息,当android设备下发消息指令后,保存在网络服务器,当rtos嵌入式设备来轮询查询最新消息时返回,反之亦然,这种方法虽然确保了消息不会丢失但实时性较差,并且因为大量的轮询对网络服务器造成很大的压力,设备规模数量同样受限。

综上所述,现有技术中实现不同操作系统设备之间的通信,均存在通信不及时的问题以及需要大量的网路资源的问题。



技术实现要素:

鉴于上述问题,本申请实施例提供了一种不同设备间的消息处理方法、服务器和计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。

本申请的第一方面提供一种不同设备间的消息处理方法,所述不同设备包括采用不同操作系统的第一设备和第二设备,所述第一设备和所述第二设备均与消息队列遥测传输mqtt服务器通信,所述mqtt服务器还连接物联网iot服务器,所述处理方法包括:

所述iot服务器确定所述第一设备成功登录所述iot服务器;

所述iot服务器接收由所述第一设备发送给所述mqtt服务器并由所述mqtt服务器转发的任务请求,所述任务请求携带所述第一设备的业务内容;

所述iot服务器根据所述业务内容生成对应的业务任务,推送所述业务任务给所述mqtt服务器以便所述mqtt服务器将所述业务任务进行推送以便订阅该业务任务的所述第二设备执行所述业务任务。

可选地,所述iot服务器确定所述第二设备成功登录所述iot服务器后,接收所述第二设备发送且通过所述mqtt服务器转发的订阅主题请求,其中,所述订阅主题请求包括的主题为该业务任务指示的所述业务内容。

可选地,所述iot服务器接收所述第一/第二设备发送且通过所述mqtt服务器转发的设备注册请求,所述设备注册请求携带所述第一/第二设备的设备号;所述iot服务器为所述第一/第二设备建立设备注册信息,所述设备注册信息包括所述第一/第二设备的设备号。

可选地,所述iot服务器接收所述第一/第二设备发送且通过所述mqtt服务器转发的设备注册请求,所述设备注册请求携带所述第一/第二设备的设备号;所述iot服务器根据所述第一/第二设备的设备号生成该第一/第二设备的全局唯一设备注册id,然后通过所述mqtt服务器发送给所述第一/第二设备;所述iot服务器为所述第一/第二设备建立设备注册信息,所述设备注册信息包括所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册id。

可选地,所述设备注册请求还携带所述第一/第二设备的地址和端口号,所述设备注册信息还包括所述第一/第二设备的地址和端口号。

可选地,所述iot服务器接收所述第一/第二设备发送且通过所述mqtt服务器转发的业务注册请求,所述第一/第二业务注册请求携带使用所述第一/第二设备登录的第一/第二用户的身份资料信息和业务内容;所述iot服务器为所述第一/第二用户建立业务注册信息,所述业务注册信息包括所述第一/第二用户的身份资料信息和业务内容。

可选地,所述第一/第二业务注册请求还携带所述第一/第二用户的功能权限信息和/或所述第一/第二设备的设备码和/或所述第一/第二设备的全局唯一设备注册id,所述业务注册信息还包括所述第一/第二用户的功能权限信息和/或所述第一/第二设备的设备码和/或所述第一/第二设备的全局唯一设备注册id。

可选地,所述iot服务器确定所述第一/第二设备成功登录所述iot服务器具体包括:所述iot服务器接收所述第一/第二设备通过所述mqtt服务器发送的接入请求,所述接入请求携带所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号id和使用所述第一/第二设备进行登录的第一/第二用户在所述iot服务器的账号和密码;所述iot服务器根据所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号确定所述第一/第二设备是否能接入所述iot服务器;当所述iot服务器确定所述第一/第二设备能接入所述iot服务器时,所述iot服务器根据所述第一/第二用户的账号和密码,确定所述第一/第二用户是否能登录所述iot服务器。

可选地,所述iot服务器根据所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号确定所述第一/第二设备是否能接入所述iot服务器具体包括:所述iot服务器判断所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号是否在所述iot服务器为所述第一/第二设备建立的设备注册信息内;所述iot服务器根据所述第一/第二用户的账号和密码,确定所述第一/第二用户是否能登录所述iot服务器具体包括:所述iot服务器判断所述第一/第二用户的账号和密码是否在所述iot服务器为所述第一/第二用户建立的业务注册信息内。

可选地,所述任务请求还包括所述第一设备的身份信息,所述第一设备的身份信息包括如下至少之一:所述第一设备的设备号、所述第一设备的全局唯一设备注册识别号(id)和使用所述第一设备登录的第一用户在所述iot服务器的账号,所述方法还包括:所述iot服务器根据所述第一设备的身份信息和所述业务内容确定所述第一用户是否已经在所述iot服务器开通所述任务请求所包括的业务内容;如果所述iot服务器确定所述业务内容没有由所述第一用户在所述iot服务器开通,所述iot服务器拒绝所述任务请求和/或指示所述第一设备进行业务开通;所述iot服务器根据所述业务内容生成对应的业务任务具体包括:如果所述iot服务器确定所述业务内容已经由所述第一用户在所述iot服务器开通,所述iot服务器生成该业务内容对应的所述业务任务。

可选地,所述订阅主题请求还包括所述第二设备的身份信息,所述第二设备的身份信息包括如下至少之一:所述第二设备的设备号、所述第二设备的全局唯一设备注册识别号(id)和使用所述第二设备进行订阅的第二用户在所述iot服务器的账号,所述方法还包括:所述iot服务器根据所述第二设备的身份信息和所述主题确定所述第二用户是否已经在所述iot服务器开通所述主题;如果所述订阅主题请求所包括的主题已经由所述第二用户在所述iot服务器开通,则所述iot服务器生成订阅成功消息;如果所述订阅主题请求所包括的主题没有由所述第二用户在所述iot服务器开通,所述iot服务器生成订阅失败消息或生成开通指示。

本申请的第二方面提供一种接物联网iot服务器,所述iot服务器与消息队列遥测传输mqtt服务器通信,所述mqtt服务器与采用不同操作系统的第一设备和第二设备通信,所述iot服务器包括:

安全模块,用于确定所述第一设备是否成功登录所述iot服务器;

收发模块,用于当所述安全模块确定所述第一设备成功登录所述iot服务器后,接收由所述第一设备发送给所述mqtt服务器并由所述mqtt服务器转发的任务请求,所述任务请求携带所述第一设备的业务内容;

处理器,用于根据所述第一设备的所述业务内容生成对应的业务任务;

所述收发模块,还用于推送所述业务任务给所述mqtt服务器以便所述mqtt服务器将所述业务任务进行推送以便订阅该业务任务的所述第二设备执行所述业务任务。

可选地,所述安全模块,还用于确定所述第二设备是否成功登录所述iot服务器;所述收发模块,还用于当所述安全模块确定所述第二设备成功登录所述iot服务器后,接收所述第二设备发送且通过所述mqtt服务器转发的订阅主题请求,其中,所述订阅主题请求包括的主题为该业务任务指示的所述业务内容。

可选地,所述收发模块,还用于接收所述第一/第二设备发送且通过所述mqtt服务器转发的设备注册请求,所述设备注册请求携带所述第一/第二设备的设备号;所述iot服务器还包括:设备注册模块,用于为所述第一/第二设备建立设备注册信息,所述设备注册信息包括所述第一/第二设备的设备号;存储器,用于存储所述设备注册信息。

可选地,所述收发模块,还用于接收所述第一/第二设备发送且通过所述mqtt服务器转发的设备注册请求,所述设备注册请求携带所述第一/第二设备的设备号;所述处理器,还用于根据所述第一/第二设备的设备号生成该第一/第二设备的全局唯一设备注册id;所述收发模块,还用于向所述mqtt服务器发送所述第一/第二设备的全局唯一设备注册id以通过所述mqtt服务器发送给所述第一/第二设备;所述iot服务器还包括:设备注册模块,用于为所述第一/第二设备建立设备注册信息,所述设备注册信息包括所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册id;存储器,用于存储所述设备注册信息。

可选地,所述收发模块还用于接收所述第一/第二设备发送且通过所述mqtt服务器转发的业务注册请求,所述第一/第二业务注册请求携带使用所述第一/第二设备登录的第一/第二用户的身份资料信息和业务内容;所述iot服务器还包括:业务注册模块,用于为所述第一/第二用户建立业务注册信息,所述业务注册信息包括所述第一/第二用户的身份资料信息和业务内容;存储器,用于存储所述业务注册信息。

可选地,所述收发模块,还用于接收所述第一/第二设备通过所述mqtt服务器发送的接入请求,所述接入请求携带所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号id和使用所述第一/第二设备进行登录的第一/第二用户在所述iot服务器的账号和密码;所述安全模块还用于根据所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号确定所述第一/第二设备是否能接入所述iot服务器;当确定所述第一/第二设备能接入所述iot服务器时,根据所述第一/第二用户的账号和密码,确定所述第一/第二用户是否能登录所述iot服务器。

可选地,所述安全模块为根据所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号确定所述第一/第二设备是否能接入所述iot服务器,所述安全模块用于:判断所述第一/第二设备的设备号和/或所述第一/第二设备的全局唯一设备注册识别号是否在所述iot服务器为所述第一/第二设备建立的设备注册信息内;所述安全模块为根据所述第一/第二用户的账号和密码,确定所述第一/第二用户是否能登录所述iot服务器,所述安全模块用于:判断所述第一/第二用户的账号和密码是否在所述iot服务器为所述第一/第二用户建立的业务注册信息内。

可选地,所述任务请求还包括所述第一设备的身份信息,所述第一设备的身份信息包括如下至少之一:所述第一设备的设备号、所述第一设备的全局唯一设备注册识别号(id)和使用所述第一设备登录的第一用户在所述iot服务器的账号;所述安全模块,还用于根据所述第一设备的身份信息和所述业务内容确定所述第一用户是否已经在所述iot服务器开通所述任务请求所包括的业务内容;如果确定所述业务内容没有由所述第一用户在所述iot服务器开通,拒绝所述任务请求和/或指示所述第一设备进行业务开通;所述处理器为根据所述业务内容生成对应的业务任务,所述处理器用于:当所述安全模块确定所述业务内容已经由所述第一用户在所述iot服务器开通,生成该业务内容对应的所述业务任务。

可选地,所述订阅主题请求还包括所述第二设备的身份信息,所述第二设备的身份信息包括如下至少之一:所述第二设备的设备号、所述第二设备的全局唯一设备注册识别号(id)和使用所述第二设备进行订阅的第二用户在所述iot服务器的账号;所述安全模块,还用于根据所述第二设备的身份信息和所述主题确定所述第二用户是否已经在所述iot服务器开通所述主题;所述处理器还用于,当所述安全模块确定所述订阅主题请求所包括的主题已经由所述第二用户在所述iot服务器开通,生成订阅成功消息;当所述安全模块确定所述订阅主题请求所包括的主题没有由所述第二用户在所述iot服务器开通,生成订阅失败消息或生成开通指示。

本申请的第三方面提供一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的不同设备间的消息处理方法的步骤。

本申请的第四方面提供一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器所述的不同设备间的消息处理方法的步骤。

上述实施例描述的不同设备间的消息处理方法、服务器和计算机存储介质,mqtt服务器连接采用不同操作系统的第一、第二设备,第二设备通过mqtt服务器在iot服务器订阅主题,iot服务器通过mqtt服务器接收第一设备发送的任务请求并向mqtt服务器推送任务,再由mqtt服务器推送所述任务给第二设备执行,由于第一、第二设备不需要持续连接iot服务器,而是通过不间断(例如周期性地)的获取iot服务器通过mqtt服务器推送的任务,因此,可以兼顾消息实时性,降低网络资源的利用,降低网络流量消耗。

上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例的一种系统架构100的结构示意图;

图2为本申请一实施例的一种不同设备间的消息处理方法的流程示意图;

图3为本发明另一实施例的一种设备接入mqtt服务器的流程过程示意图;

图4为本申请另一实施例的一种第一设备向iot服务器发起设备注册和业务注册的流程示意图;

图5为本申请另一实施例的一种第二设备向iot服务器发起设备注册和业务注册的流程示意图;

图6为本申请另一实施例的一种任务处理过程流程示意图;

图7为本申请另一实施例的一种不同设备间消息处理系统的结构示意图;

图8为本申请另一实施例的一种计算机设备基本结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。另外,本文中术语“系统”和“网络”在本文中常被可互换使用。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括第一设备101、第二设备102、网络103、消息队列遥测传输(messagequeuingtelemetrytransport,mqtt)服务器104和iot服务器105。

所述第一设备101和所述第二设备102均通过mqtt协议与所述mqtt服务器104通信。所述mqtt服务器104与所述iot服务器105通过超文本传输协议(hypertexttransferprotocol,http)通信。

所述第一设备101和所述第二设备102可以采用安卓(android)、rtos、微软(windows)或ios操作系统,且所述第一设备101和所述第二设备102所采用的操作系统互不相同,例如,所述第一设备101安装android操作系统,所述第二设备102安装rtos,反之亦然,例如,所述第一设备101和所述第二设备102其中一个设备为通信网络中的智能终端,另一个设备为物联网设备。

在本申请的另一实施例中,所述第一设备101和所述第二设备102可以安装各种通讯客户端应用(app),例如打印应用、网页浏览器应用、购物类应用、搜索类应用、即时通信应用、邮箱客户端和社交平台软件等。

所述第一设备101和所述第二设备102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于移动终端、网络设备或移动终端与网络设备通过网络相集成所构成的设备。所述移动终端包括但不限于任何一种可与用户通过触摸板进行人机交互的电子设备,例如智能手机、平板电脑和物联网设备。例如,所述物联网设备包括条码、射频识别(radiofrequencyidentification,rfid)、传感设备、定位设备或激光扫描器等。所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。

所述网络103用以在第一设备101、第二设备102和mqtt服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等组成的互联网或移动通信网络,所述网络103包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)或无线自组织网络(adhoc网络)等。

所述mqtt服务器104可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。其也可以是提供各种服务的服务器,例如,为第一设备101和第二设备102提供发布/订阅服务。

所述iot服务器105也可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,为所述第一设备101和所述第二设备102提供业务注册、业务运行和业务管理。

当然,本领域技术人员应能理解上述第一设备101、第二设备102、网络103、mqtt服务器104和iot服务器105仅为举例,其他现有的或今后可能出现的设备、网络、mqtt服务器和iot服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

应该理解,图1中的第一设备101、第二设备102、网络103、mqtt服务器104和iot服务器105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一设备101、第二设备102、网络103、mqtt服务器104和iot服务器105。

如图2所示,为本申请一实施例的一种不同设备间的消息处理方法的流程示意图,所述不同设备包括第一设备和第二设备,第一设备和第二设备采用不同的操作系统,例如,所述第一设备安装android操作系统,所述第二设备安装rtos,反之亦然,第一设备和第二设备分别与mqtt服务器连接,mqtt服务器还连接iot服务器,所述不同设备间的消息处理方法主要如下所述。

步骤21,第一设备和第二设备分别与mqtt服务器进行接入认证。

所述第一设备和所述第二设备为和iot服务器通信,需要先接入所述mqtt服务器,例如如图3所示,为本发明另一实施例的一种设备接入mqtt服务器的流程过程示意图。

步骤211,第一设备向mqtt服务器发送第一接入认证请求。

例如,所述第一接入认证请求携带所述第一设备的身份标识和/或携带所述第一设备的mqtt接入用户名和mqtt接入密码。在本申请的另一实施例中,所述第一接入认证请求还可以携带所述第一设备的地址(例如ip地址)和所述第一设备的端口号,例如,所述第一设备的身份标识可以是所述第一设备的设备号或所述第一设备根据预定函数生成的临时标识符。在本申请的另一实施例中,所述第一接入认证请求还可以包括连接服务器的超时时间,例如,30秒(s)。

在本申请的另一方面,所述接服务器的超时时间可以不由所述第一接入认证请求携带,可以由mqtt服务器设定。

步骤212,mqtt服务器向所述第一设备发送第一接入认证反馈消息。

所述mqtt服务器收到所述第一设备的所述第一接入认证请求后,根据所述第一接入认证请求携带信息进行验证,例如,所述mqtt服务器验证所述第一接入认证请求携带的第一设备的身份标识是否与mqtt服务器允许的身份标识是否相同,例如预先保存的或根据预定函数生成的且允许的身份标识是否相同,所述mqtt服务器验证所述第一接入认证请求携带的所述第一设备的mqtt接入用户名和mqtt接入密码是否分别与其保存的所述第一设备的mqtt接入用户名和mqtt接入密码相同,如果所有验证信息相同,则验证通过,当至少一个验证信息不相同时,验证失败。

当验证通过时,第一接入认证反馈消息为第一接入认证成功消息,即所述mqtt服务器向所述第一设备发送第一接入认证成功消息。

当验证不通过时,第一接入认证反馈消息为第一接入认证失败消息,即所述mqtt服务器向所述第一设备发送第一接入认证失败消息。在本申请的另一实施例中,所述第一接入认证失败消息还可以携带接入失败原因,例如,接入失败原因为第一设备的身份标识错误、mqtt接入用户名错误和/或mqtt接入密码错误。

在本申请的另一实施例中,在所述mqtt服务器收到所述第一设备发送的所述第一接入认证请求时,启动连接服务器的超时时间。在连接服务器的超时时间届满之前,当所述第一设备收到所述mqtt服务器发送的第一接入认证失败消息后,还可以再次发起新的接入认证,直到连接服务器的超时时间届满之前接入成功,或者当连接服务器的超时时间届满时,第一设备依然没有接入成功,则所述mqtt服务器向所述第一设备发送接人认证失败消息。

在本申请的另一实施例中,当连接服务器的超时时间届满时,如果第一设备依然没有接入成功,所述mqtt服务器也可以拒绝所述第一设备的后续接入或拒绝预定时间段内所述第一设备的接入。

为方便后续过程的描述,本实施例中,所述mqtt服务器向所述第一设备发送的第一接入认证反馈消息为第一接入认证成功消息。

步骤213,第二设备向mqtt服务器发送第二接入认证请求。

例如,所述第二接入认证请求携带所述第二设备的身份标识和/或携带所述第二设备的mqtt接入用户名和mqtt接入密码。在本申请的另一实施例中,所述第二接入认证请求还可以携带所述第二设备的地址(例如ip地址)和所述第二设备的端口号,例如,所述第二设备的身份标识可以是所述第二设备的设备号或所述第二设备根据预定函数生成的临时标识符。在本申请的另一实施例中,所述第二接入认证请求还可以包括连接服务器的超时时间,例如,30秒(s)。

在本申请的另一方面,所述接服务器的超时时间可以不由所述第二接入认证请求携带,可以由mqtt服务器设定。

步骤214,mqtt服务器向所述第二设备发送第二接入认证反馈消息。

所述mqtt服务器收到所述第二设备的所述第二接入认证请求后,根据所述第二接入认证请求携带信息进行验证,例如,所述mqtt服务器验证所述第二接入认证请求携带的第二设备的身份标识是否与mqtt服务器允许的身份标识是否相同,例如预先保存的或根据预定函数生成的且允许的身份标识是否相同,所述mqtt服务器验证所述第二接入认证请求携带的所述第二设备的mqtt接入用户名和mqtt接入密码是否分别与其保存的所述第二设备的mqtt接入用户名和mqtt接入密码相同,如果所有验证信息相同,则验证通过,当至少一个验证信息不相同时,验证失败。

当验证通过时,第二接入认证反馈消息为第二接入认证成功消息,即所述mqtt服务器向所述第二设备发送第二接入认证成功消息。

当验证不通过时,第二接入认证反馈消息为第二接入认证失败消息,即所述mqtt服务器向所述第二设备发送第二接入认证失败消息。在本申请的另一实施例中,所述第二接入认证失败消息还可以携带接入失败原因,例如,接入失败原因为第二设备的身份标识错误、mqtt接入用户名错误和/或mqtt接入密码错误。

在本申请的另一实施例中,在所述mqtt服务器收到所述第二设备发送的所述第二接入认证请求时,启动连接服务器的超时时间。在连接服务器的超时时间届满之前,当所述第二设备收到所述mqtt服务器发送的第二接入认证失败消息后,还可以再次发起新的接入认证,直到连接服务器的超时时间届满之前接入成功,或者当连接服务器的超时时间届满时,第二设备依然没有接入成功,则所述mqtt服务器向所述第二设备发送接人认证失败消息。

在本申请的另一实施例中,当连接服务器的超时时间届满时,如果第二设备依然没有接入成功,所述mqtt服务器也可以拒绝所述第二设备的后续接入或拒绝预定时间段内所述第二设备的接入。

为方便后续过程的描述,本实施例中,所述mqtt服务器向所述第二设备发送的第二接入认证反馈消息为第二接入认证成功消息。

上述描述的第一设备和第二设备发起的接入认证的时机相互之间并没有先后关系,既可以同时发起,也可以在不同的时机发起,例如,所述第一设备发起的接入认证可以在所述第二设备发起的接入认证之前或之后,上述描述的步骤211-214的步骤序列号,仅仅是为描述方便。

步骤22,所述第一设备和第二设备通过所述mqtt服务器分别向iot服务器发起设备注册和业务注册。

当所述第一设备和所述第二设备均通过所述mqtt服务器的接入认证后,所述第一设备和第二设备可以通过所述mqtt服务器分别向iot服务器发起设备注册和业务注册其中,业务注册也可以称为业务权限开通。

例如,如图4所示,为本申请另一实施例的一种第一设备向iot服务器发起设备注册和业务注册的流程示意图。

步骤2211,第一设备通过mqtt服务器向iot服务器发送设备注册请求。

所述第一设备为与iot服务器建立通信连接,所述第一设备需要向所述iot服务器发送设备注册请求,所述设备注册请求携带所述第一设备的设备号。

在本申请的另一实施例中,所述设备注册请求还可以携带所述第一设备的地址(例如ip地址)和端口号。

步骤2212,所述iot服务器通过所述mqtt服务器向所述第一设备返回所述第一设备的全局唯一设备注册识别号(id)。

所述iot服务器接收所述第一设备的设备注册请求后,根据所述第一设备的设备号生成该第一设备的全局唯一设备注册id,然后通过所述mqtt服务器发送给所述第一设备。

在本申请的另一实施例中,所述iot服务器还为所述第一设备建立设备注册信息,例如,该设备注册信息包括所述第一设备的全局唯一设备注册id和/或设备号,可选的,该设备注册信息还可以包括所述第一设备的地址和端口号。

这样,所述第一设备和所述iot服务器完成设备注册,以便后续的相互之间的通信。

步骤2213,所述第一设备通过所述mqtt服务器向所述iot服务器发送第一业务注册请求。

当用户需要在所述iot服务器进行业务,需要先在所述iot服务器进行业务注册,例如,所述第一用户使用所述第一设备通过mqtt服务器登录iot服务器进行业务注册,即所述第一设备通过所述mqtt服务器向所述iot服务器发送第一业务注册请求。

所述第一业务注册请求携带使用所述第一设备登录的第一用户的身份资料信息和业务内容,可选的,所述第一业务注册请求还可以携带所述第一用户的功能权限信息和/或第一设备的设备码和/或第一设备的全局唯一设备注册id。

在本申请的另一实施例中,所述第一业务注册请求还可以携带如下至少之一:所述第一设备的地址、所述第一设备的端口号、所述第一用户在所述iot服务器的账号和密码。

所述第一用户的身份资料信息可以包括第一用户的如下至少之一:用户名称、身份识别码、邮箱、手机号、营业执照、工商材料、联系人和法人信息等。所述功能权限包括对用户信息、权限和/或账号的管理,例如,是否可以查看用户信息和/或编辑用户信息,是否可以开启和/或关闭用户的某项权限,例如,是否开通某项业务,是否可以为用户开启子账号等。所述业务内容可以是打印业务、电表数据读取业务和/或定位业务等等,本实施例并不限定。

步骤2214,所述iot服务器向所述第一设备返回第一业务注册反馈消息。

审核人员在后台管理系统对所述第一业务注册请求中的信息进行审核,并通过所述iot服务器以及所述mqtt服务器向所述第一设备返回第一业务注册反馈消息。

例如,如果审核通过,所述第一业务注册反馈消息为第一业务注册成功消息。第一用户可以通过所述第一设备登录所述iot服务器,根据权限进行查看、编辑和管理等。可选地,审核人员也可以通过所述后台管理系统对所述第一用户的业务进行查看、编辑和管理等,例如,对用户的信息、权限、账号做管理,可以查看和编辑用户信息、开启或关闭第一用户某项功能权限、是否开通某项业务和/或为用户开启子账号等。

在本申请的另一实施例中,当审核通过时,所述iot服务器还可以为所述第一用户建立业务注册信息,所述业务注册信息可以包括所述第一业务注册请求所携带的内容,例如,所述业务注册信息包括第一用户的身份资料、功能权限信息、业务内容和第一设备的设备码/第一设备的全局唯一设备注册id。在本申请的另一实施例中,所述业务注册信息还可以包括所述第一设备的地址、所述第一设备的端口号、所述第一用户在所述iot服务器的账号和密码。

如何审核不通过,所述第一业务注册反馈消息为所述第一业务注册失败消息。在本申请的另一实施例中,所述iot服务器还可以向所述第一设备返回业务注册失败的原因、要求重新提交的信息和/或要求修改的信息。

为方便后续过程的描述,本实施例中,所述iot服务器向所述第一设备返回的第一业务注册反馈消息为第一业务注册成功消息。

相对应的,所述第二设备也需要向iot服务器发起与所述第一设备相同的设备注册和业务注册,其中,业务注册也可以称为业务权限开通,例如,如图5所示,为本申请另一实施例的一种第二设备向iot服务器发起设备注册和业务注册的流程示意图。

步骤2221,第二设备通过mqtt服务器向iot服务器发送设备注册请求。

所述第二设备为与iot服务器建立通信连接,所述第二设备需要向所述iot服务器发送设备注册请求,所述设备注册请求携带所述第二设备的设备号。

在本申请的另一实施例中,所述设备注册请求还可以携带所述第二设备的地址(例如ip地址)和端口号。

步骤2222,所述iot服务器通过所述mqtt服务器向所述第二设备返回所述第二设备的全局唯一设备注册识别号(id)。

所述iot服务器接收所述第二设备的设备注册请求后,根据所述第二设备的设备号生成该第二设备的全局唯一设备注册id,然后通过所述mqtt服务器发送给所述第二设备。

在本申请的另一实施例中,所述iot服务器还为所述第二设备建立设备注册信息,例如,该设备注册信息包括所述第二设备的全局唯一设备注册id和/或设备号,可选的,该设备注册信息还可以包括所述第二设备的地址和端口号。

这样,所述第二设备和所述iot服务器完成设备注册,以便后续的相互之间的通信。

步骤2223,所述第二设备通过所述mqtt服务器向所述iot服务器发送第二业务注册请求。

当用户需要在所述iot服务器进行业务,需要先在所述iot服务器进行业务注册,例如,所述第二用户使用所述第二设备通过mqtt服务器登录iot服务器进行业务注册,即所述第二设备通过所述mqtt服务器向所述iot服务器发送第二业务注册请求。

所述第二业务注册请求携带使用所述第二设备登录的第二用户的身份资料信息和业务内容,可选的,所述第二业务注册请求还可以携带所述第二用户的功能权限信息和/或第二设备的设备码和/或第二设备的全局唯一设备注册id。

在本申请的另一实施例中,所述第二业务注册请求还可以携带如下至少之一:所述第二设备的地址、所述第二设备的端口号、所述第二用户在所述iot服务器的账号和密码。

所述第二用户的身份资料信息可以包括第二用户的如下至少之一:用户名称、身份识别码、邮箱、手机号、营业执照、工商材料、联系人和法人信息等。所述功能权限包括对用户信息、权限和/或账号的管理,例如,是否可以查看用户信息和/或编辑用户信息,是否可以开启和/或关闭用户的某项权限,例如,是否开通某项业务,是否可以为用户开启子账号等。所述业务内容可以是打印业务、电表数据读取业务和/或定位业务等等,本实施例并不限定。

步骤2224,所述iot服务器向所述第二设备返回第二业务注册反馈消息。

审核人员在后台管理系统对所述第二业务注册请求中的信息进行审核,并通过所述iot服务器以及所述mqtt服务器向所述第二设备返回第二业务注册反馈消息。

例如,如果审核通过,所述第二业务注册反馈消息为第二业务注册成功消息。第二用户可以通过所述第二设备登录所述iot服务器,根据权限进行查看、编辑和管理等。可选地,审核人员也可以通过所述后台管理系统对所述第二用户的业务进行查看、编辑和管理等,例如,对用户的信息、权限、账号做管理,可以查看和编辑用户信息、开启或关闭第二用户某项功能权限、是否开通某项业务和/或为用户开启子账号等。

在本申请的另一实施例中,当审核通过时,所述iot服务器还可以为所述第二用户建立业务注册信息,所述业务注册信息可以包括所述第二业务注册请求所携带的内容,例如,所述业务注册信息包括第二用户的身份资料、功能权限信息、业务内容和第二设备的设备码/第二设备的全局唯一设备注册id。在本申请的另一实施例中,所述业务注册信息还可以包括所述第二设备的地址、所述第二设备的端口号、所述第二用户在所述iot服务器的账号和密码。

如何审核不通过,所述第二业务注册反馈消息为所述第二业务注册失败消息。在本申请的另一实施例中,所述iot服务器还可以向所述第二设备返回业务注册失败的原因、要求重新提交的信息和/或要求修改的信息。

为方便后续过程的描述,本实施例中,所述iot服务器向所述第二设备返回的第二业务注册反馈消息为第二业务注册成功消息。

步骤23,所述iot服务器确定所述第一设备成功登录所述iot服务器后,接收所述第一设备发送给所述mqtt服务器并通过所述mqtt服务器转发的任务请求,iot服务器根据所述任务请求生成对应的业务任务并推送给所述mqtt服务器,所述mqtt服务器将所述业务任务进行推送以便订阅该业务任务的所述第二设备执行所述业务任务。

所述第一设备和所述第二设备只要在iot服务器注册了业务,均可以发布任务请求,也均可以在所述mqtt服务器订阅该任务请求对应的业务任务以执行业务任务,即所述第一设备和所述第二设备其中之一发布任务请求,所述mqtt服务器将该任务请求推送给iot服务器,由iot服务器根据所述任务请求调用对应的已经注册的业务任务,并发送给所述mqtt服务器,由所述mqtt服务器进行业务任务的推送,如果另一设备已经在所述mqtt服务器订阅该任务请求对应的业务任务的主题,则所述另一设备根据所述mqtt服务器的业务任务推送执行该任务请求对应的业务任务。

为描述方便,本实施例以所述第一设备发布任务请求,所述第二设备订阅和执行该任务请求对应的业务任务为例进行说明,例如,所述第一设备向所述mqtt服务器发布任务请求,所述mqtt服务器将所述任务请求转发给所述iot服务器,当所述iot服务器确定所述任务请求对应的业务已经由所述第一设备在所述iot服务器开通时,所述iot服务器根据所述任务请求生成对应的业务任务并推送给所述mqtt服务器,由所述mqtt服务器推送该业务任务,所述第二设备已经在所述mqtt服务器订阅该任务请求对应的业务任务的主题,所述第二设备根据所述mqtt服务器的推送执行该任务请求对应的业务任务。

例如,业务的处理过程可以如图6所示,为本申请另一实施例的一种任务处理过程流程示意图。

步骤231,第一设备成功登录所述iot服务器后,通过所述mqtt服务器向所述iot服务器发布任务请求。

所述第一设备和所述第二设备采用不同的操作系统,例如,所述第一设备采用安卓操作系统,所述第二设备采用非安卓操作系统,例如,rtos操作系统,即所述第二设备可以为物联网设备。

所述第一设备为在所述iot服务器发布任务,必须先登录所述iot服务器。例如,所述第一设备通过所述mqtt服务器向所述iot服务器发送接入请求,所述接入请求可以携带所述第一设备的设备号/所述第一设备的全局唯一设备注册识别号(id)和使用所述第一设备进行登录的第一用户在所述iot服务器的账号和密码。在本申请的另一实施例中,所述接入请求还可以携带所述第一设备的地址和端口号。

例如,所述iot服务器根据所述接入请求携带的所述第一设备的设备号/所述第一设备的全局唯一设备注册识别号(id)确定所述第一设备是否能接入所述iot服务器,例如,所述iot服务器判断所述第一设备的设备号/所述第一设备的全局唯一设备注册识别号(id)是否在设备注册信息里,如果所述第一设备的设备号/所述第一设备的全局唯一设备注册识别号(id)在设备注册信息里,则所述iot服务器确定所述第一设备已经完成了设备注册,即所述第一设备能接入所述iot服务器,如果所述第一设备的设备号/所述第一设备的全局唯一设备注册识别号(id)没有在设备注册信息里,则所述iot服务器确定所述第一设备没有进行设备注册,即所述第一设备不能接入所述iot服务器,所述iot服务器可以拒绝所述第一设备的接入和/或指示所述第一设备发起设备注册。

在本申请的另一实施例中,所述iot服务器也可以根据所述接入请求携带的所述第一设备的地址和/或端口号确定所述第一设备是否能接入所述iot服务器。例如,所述iot服务器判断所述第一设备的地址和/或端口号是否在所述设备注册信息里,当所述第一设备的地址和/或端口号在所述设备注册信息里时,所述iot服务器确定所述第一设备能接入所述iot服务器,当所述第一设备的地址和/或端口号不在所述设备注册信息里时,所述iot服务器确定所述第一设备不能接入所述iot服务器,所述iot服务器可以拒绝所述第一设备的接入和/或指示所述第一设备发起设备注册。

当所述iot服务器确定所述第一设备能接入所述iot服务器时,所述iot服务器进一步根据所述接入请求携带的所述第一用户的账号和密码,确定所述第一用户是否能登录所述iot服务器,例如,所述iot服务器验证所述第一用户的账号和密码是否分别与注册的所述第一用户的账号和密码相同,如果相同,所述iot服务器确定所述第一用户能登录所述iot服务器,如果不同,所述iot服务器确定所述第一用户不能登录所述iot服务器,所述iot服务器可以拒绝所述第一用户的登录和/或指示所述第一用户重新登录。

在本申请的另一实施例中,所述iot服务器也可以根据所述接入请求携带的所述第一用户的身份资料信息所包括的一项或多项信息确定所述第一用户是否能登录所述iot服务器,例如,所述iot服务器验证所述第一用户的身份资料信息所包括的一项或多项信息是否分别与注册的第一用户的身份资料信息所包括的一项或多项信息相同,如果相同,所述iot服务器确定所述第一用户能登录所述iot服务器,如果不同,所述iot服务器确定所述第一用户不能登录所述iot服务器,所述iot服务器可以拒绝所述第一用户的登录和/或指示所述第一用户重新登录。

当所述第一设备成功登录所述iot服务器后,所述第一设备向mqtt服务器发布所述任务请求,所述mqtt服务器将所述任务请求推送给所述iot服务器,其中,所述任务请求可以携带所述第一设备的身份信息和所述第一设备的业务内容,所述第一设备的身份信息包括如下至少之一:所述第一设备的设备号、所述第一设备的全局唯一设备注册识别号(id)和所述第一用户在所述iot服务器的账号。

在本申请的另一实施例中,所述任务请求还可以携带所述第一用户的身份资料和第一用户的功能权限信息。

在本申请的另一实施例中,所述第一用户的业务内容可以为打印某个文件的打印业务。

步骤232,所述iot服务器确定所述第一用户已经在所述iot服务器开通所述任务请求所包括的业务内容时,生成该任务请求对应的业务任务并向所述mqtt服务器发送该业务任务。

所述iot服务器接收并解析所述任务请求,根据所述第一设备的身份信息和业务内容确定所述第一用户是否已经在所述iot服务器开通所述任务请求所包括的业务内容,即所述iot服务器验证所述第一用户的业务在所述iot服务器的权限是否开通,例如,所述iot服务器根据所述第一设备的身份信息和业务内容在所述第一设备的业务注册信息里查询所述第一用户是否已经在所述iot服务器开通所述任务请求所包括的业务内容。

如果所述任务请求所包括的业务内容已经由所述第一用户在所述iot服务器开通,则所述iot服务器生成该业务内容对应的业务任务,例如,生成打印业务任务,并发送给所述mqtt服务器,由所述mqtt服务器推送该业务内容对应的业务任务;如果所述任务请求所包括的业务内容没有由所述第一用户在所述iot服务器开通,所述iot服务器可以拒绝所述任务请求和/或指示所述第一用户进行业务开通。

步骤233,所述mqtt服务器根据所述iot服务器的处理结果,向所述第一设备发布反馈消息。

例如,所述反馈消息可以为所述iot服务器拒绝所述任务请求和/或指示所述第一用户进行业务注册的信息,或,所述mqtt服务器已经推送该业务内容对应的业务任务的信息。

本实施例的,为方便后续描述,所述反馈信息为所述mqtt服务器已经推送该业务内容对应的业务任务的信息。

步骤234,所述第二设备在成功登录所述iot服务器后,通过所述mqtt服务器向所述iot服务器发送订阅主题请求。

例如,所述第二设备在开机或所述第二设备根据其第二用户的输入的登录号和密码向所述iot服务器发送接入请求。

例如,所述第二设备通过所述mqtt服务器向所述iot服务器发送接入请求,所述接入请求可以携带所述第二设备的设备号/所述第二设备的全局唯一设备注册识别号(id)、所述第二用户在所述iot服务器的账号和密码。在本申请的另一实施例中,所述接入请求还可以携带所述第二设备的地址和端口号。

例如,所述iot服务器根据所述接入请求携带的所述第二设备的设备号/所述第二设备的全局唯一设备注册识别号(id)确定所述第二设备是否能接入所述iot服务器,例如,所述iot服务器判断所述第二设备的设备号/所述第二设备的全局唯一设备注册识别号(id)是否在设备注册信息里,如果所述第二设备的设备号/所述第二设备的全局唯一设备注册识别号(id)在设备注册信息里,则所述iot服务器确定所述第二设备已经完成了设备注册,即所述第二设备能接入所述iot服务器,如果所述第二设备的设备号/所述第二设备的全局唯一设备注册识别号(id)没有在设备注册信息里,则所述iot服务器确定所述第二设备没有进行设备注册,即所述第二设备不能接入所述iot服务器,所述iot服务器可以拒绝所述第二设备的接入和/或指示所述第二设备发起设备注册。

在本申请的另一实施例中,所述iot服务器也可以根据所述接入请求携带的所述第二设备的地址和/或端口号确定所述第二设备是否能接入所述iot服务器。例如,所述iot服务器判断所述第二设备的地址和/或端口号是否在所述设备注册信息里,当所述第二设备的地址和/或端口号在所述设备注册信息里时,所述iot服务器确定所述第二设备能接入所述iot服务器,当所述第二设备的地址和/或端口号不在所述设备注册信息里时,所述iot服务器确定所述第二设备不能接入所述iot服务器,所述iot服务器可以拒绝所述第二设备的接入和/或指示所述第二设备发起设备注册。

当所述iot服务器确定所述第二设备能接入所述iot服务器时,所述iot服务器进一步根据所述接入请求携带的所述第二用户的账号和密码,确定所述第二用户是否能登录所述iot服务器,例如,所述iot服务器验证所述第二用户的账号和密码是否分别与注册的所述第二用户的账号和密码相同,如果相同,所述iot服务器确定所述第二用户能登录所述iot服务器,如果不同,所述iot服务器确定所述第二用户不能登录所述iot服务器,所述iot服务器可以拒绝所述第二用户的登录和/或指示所述第二用户重新登录。

在本申请的另一实施例中,所述iot服务器也可以根据所述接入请求携带的所述第二用户的身份资料信息所包括的一项或多项信息确定所述第二用户是否能登录所述iot服务器,例如,所述iot服务器验证所述第二用户的身份资料信息所包括的一项或多项信息是否分别与注册的第二用户的身份资料信息所包括的一项或多项信息相同,如果相同,所述iot服务器确定所述第二用户能登录所述iot服务器,如果不同,所述iot服务器确定所述第二用户不能登录所述iot服务器,所述iot服务器可以拒绝所述第二用户的登录和/或指示所述第二用户重新登录。

当所述第二设备在成功登录所述iot服务器后,所述第二设备向所述mqtt服务器发送订阅主题请求,所述mqtt服务器将所述订阅主题请求推送给所述iot服务器。

在本申请的另一实施例中,所述第二设备发送所述订阅主题请求的时机与所述第一设备发送任务请求的时机没有任何关系,例如,可以在所述第一设备发送任务请求之前、同时或之后,所述第二设备发送所述订阅主题请求,步骤序列号仅仅用于描述方便。例如,所述第二设备可以在开机后自动通过所述mqtt服务器向所述iot服务器发送所述订阅主题请求。

所述订阅主题请求可以携带所述第二设备的身份信息和主题。

所述第二设备的身份信息包括如下至少之一:所述第二设备的设备号、所述第二设备的全局唯一设备注册识别号(id)和所述第二用户在所述iot服务器的账号。

主题有自定义主题及系统主题,自定义主题由所述第二用户自己定义,通过“/”分割层级,支持“+”,“#”通配符,系统主题由$sys开头。例如,所述第二设备发送的订阅主题请求的格式可以为:$sys/设备的身份信息/主题/#,$sys表示系统主题,设备的身份信息可以为设备的设备号或全局唯一设备注册识别号,主题为需要订阅的主题内容,#通配符。例如,如果所述第二设备需要订阅第一用户的所有打印业务,则所述第二设备发送的订阅主题请求的格式可以为:$sys/第一设备的身份信息/print/#,其中,$sys表示系统主题,第一设备的身份信息可以为第一设备的设备号(例如n0001)或全局唯一设备注册识别号(例如,sn00001),例如,print表示打印,#表示打印所有内容。

步骤235,所述iot服务器通过所述mqtt服务器向所述第二设备发送订阅反馈消息。

所述iot服务器解析所述订阅主题请求,根据所述第二设备的身份信息和主题确定所述第二设备是否已经在所述iot服务器开通所述主题,即所述iot服务器验证所述第二设备的订阅的主题在所述iot服务器的权限是否开通,例如,所述iot服务器根据所述第二设备的身份信息和主题在第二设备的业务注册信息里查询所述第二设备是否已经在所述iot服务器开通所述主题。

如果所述订阅主题请求所包括的主题已经由所述第二用户在所述iot服务器开通,则所述iot服务器生成订阅成功消息;如果所述订阅主题请求所包括的主题没有由所述第二用户在所述iot服务器开通,所述iot服务器生成订阅失败消息或生成开通指示。

例如,所述订阅反馈消息指示所述第二设备是否成功订阅某个主题,例如,是否成功订阅第一设备的打印业务。

本实施例中,所述订阅反馈消息为指示所述第二设备已经成功订阅某个主题。

步骤236,所述mqtt服务器推送所述任务请求对应的业务任务以便所述第二设备在订阅该业务任务时,从所述mqtt服务器获取该业务任务并执行该业务任务。

根据前述步骤231-232的描述,所述第一设备发布任务请求至所述iot服务器,所述iot服务器生成该任务请求对应的业务任务并发送给所述mqtt服务器进行推送,例如,所述mqtt服务器周期性或按照预定时间推送该业务任务。

当所述第二设备已经成功订阅该业务任务时,即所述第二设备的订阅主题请求包括该业务任务指示的业务内容,当所述mqtt服务器周期性或按照预定时间推送该业务任务时,所述第二设备从所述mqtt服务器获取该业务任务并执行该业务任务。

例如,所述第二设备根据所述mqtt服务器推送的业务任务携带的指令,进行对应的业务逻辑处理。例如,所述mqtt服务器推送的业务任务为打印所述第一设备发布的文件,则所述第二设备打印所述第一设备发布的文件。例如,所述mqtt服务器推送的消息为携带语音数据的语音指令,所述第二设备读取该推送消息中的语音数据并进行语音播报。所述mqtt服务器推送的消息为重启指令,所述第二设备根据该推送消息自动重启。

步骤237,所述第二设备通过所述mqtt服务器向所述iot服务器发送任务反馈消息。

所述任务反馈消息用于指示所述第二设备已经执行完所述业务任务。

在本申请的另一实施例中,所述第二设备也可以不发送所述任务反馈消息。

步骤238,所述iot服务器通过所述mqtt服务器向所述第一设备发送任务完成通知消息。

当所述iot服务器收到所述第二设备发送的任务反馈消息后,可以进一步通过所述mqtt服务器向所述第一设备发送所述任务完成通知消息,所述任务完成通知消息用于指示所述第二设备已经执行完所述业务任务,例如,所述任务完成通知消息为所述任务反馈消息。

在本申请的另一实施例中,所述iot服务器也可以不发送所述任务完成通知消息。

在本申请的另一实施例中,所述iot服务器还可以统计业务任务的推送情况,例如,根据预先设定的项目而进行数据统计,例如,所述iot服务器统计如下至少之一:执行业务任务的设备在预定时间内容(例如一天)接收推送业务任务成功或失败多少次,第一设备和/或第二设备的在线状态,例如,第一设备和/或第二设备的上线时间、在线时长和/或离线时间等。

综上所述,上述描述的不同设备间的消息处理方法,mqtt服务器连接采用不同操作系统的第一、第二设备,第二设备通过mqtt服务器在iot服务器订阅主题,iot服务器通过mqtt服务器接收第一设备发送的任务请求并向mqtt服务器推送任务,再由mqtt服务器推送所述任务给第二设备执行,由于mqtt服务器与第一、第二设备的通信是采用间断式的订阅主题推送方式进行,因此第一、第二设备不需要持续与网络进行连接,也不需要采用轮询方式与网络连接,即第一、第二设备不需要持续连接iot服务器,因此可以降低网络资源的利用,降低网络流量消耗,也不需要采用轮询方式访问iot服务器,即可以避免长时间获取消息,第一、第二设备通过订阅主题而不间断(例如周期性地)的获取iot服务器通过mqtt服务器推送的任务,因此,可以避免长时间连接以降低网络资源的利用,降低网络流量消耗,采用订阅方式就可以兼顾消息实时性,避免长时间查询任务。

如图7所示,为本申请另一实施例的一种不同设备间消息处理系统的结构示意图,所述不同设备间消息处理系统包括通过网络连接iot服务器31、mqtt服务器32、第一设备33和第二设备34,所述网络可以为互联网、局域网或者移动通信系统。

所述第一设备33和所述第二设备34均通过mqtt协议与所述mqtt服务器104通信。所述mqtt服务器32与所述iot服务器31通过http通信。

所述第一设备33和所述第二设备34可以采用安卓(android)、rtos、windows操作系统或ios操作系统,且所述第一设备33和所述第二设备34所采用的操作系统互不相同,例如,所述第一设备33安装android操作系统,所述第二设备34安装rtos,反之亦然,例如,所述第一设备33和所述第二设备34其中一个设备为通信网络中的智能终端,另一个设备为物联网设备。

如图7所示,所述iot服务器31包括收发模块310、存储器311、存储控制器312、一个或多个(图中仅示出一个)处理器313、安全模块314、设备注册模块315、业务注册模块316、统计模块317、音频模块318、触控屏幕319以、按键模块320和外设接口322。这些组件通过一条或多条通讯总线/信号线321相互通讯。

可以理解,图7所示的结构仅为示意,所述iot服务器31还可包括比图7中所示更多或者更少的组件,例如还可以通过外设接口322连接无线模块,例如wifi模块或蓝牙模块,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。

所述收发模块310用于接收所述iot服务器31之外的设备发送的数据或向所述iot服务器31之外的设备发送数据。

所述存储器311可用于存储软件程序以及模块,如本发明实施例中的在iot服务器31内处理具有不同操作系统的设备间的消息的方法对应的程序指令/模块,所述处理器313通过运行存储在所述存储器311内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的在iot服务器31内处理不同操作系统的设备间的消息的方法。

所述存储器311可包括高速随机存储器,还可包括非易失性存储器(non-volatilememory)或易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器,例如,闪存(flashmemory)、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦写可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦写可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、可编程只读存储器(programmableread-onlymemory,prom)、磁性存储器、磁盘、光盘等,所述ram可以包括静态ram或动态ram。在一些实施例中,所述存储器311可以是所述iot服务器31的内部存储单元,例如,该所述iot服务器31的硬盘或内存。在另一些实施例中,所述存储器311也可以是所述iot服务器31的外部存储设备,例如该所述iot服务器31上配备的插接式硬盘,智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡或闪存卡(flashcard)等。在一些实例中,所述存储器311可进一步包括相对于所述iot服务器31远程设置的存储器,这些远程存储器可以通过网络连接至iot服务器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述处理器313以及其他可能的组件对所述存储器311的访问可在所述存储控制器312的控制下进行。

所述外设接口322将各种输入/输入装置耦合至收发模块310、存储器311、存储控制器312、处理器313以及安全模块314。所述处理器313运行所述存储器311内的各种软件、指令以执行iot服务器31的各种功能以及进行数据处理。

在一些实施例中,所述收发模块310、所述存储器311、所述存储控制器312、所述处理器313以及所述安全模块314可以在单个芯片中实现。在其他一些实例中,它们可以分别由独立的芯片实现。

在本申请实施例中,该处理器313可以是中央处理单元(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器313还可以是其他通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。

收发模块310用于接收以及发送信号,从而与通讯网络或者其他设备进行通讯。所述收发模块310可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(subscriberidentitymodule,sim)卡、存储器等等。收发模块310可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm)、增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,w-cdma),码分多址技术(codedivisionaccess,cdma)、时分多址技术(timedivisionmultipleaccess,tdma),蓝牙,无线保真技术(wirelessfidelity,wifi)(如美国电气和电子工程师协会标准ieee802.11a,ieee802.11b,ieee802.11g和/或ieee802.11n)、网络电话(voiceoverinternetprotocol,voip)、全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

音频模块318向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口322处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口322中以进行进一步的处理。音频数据可以从存储器311处或者通过收发模块310获取。此外,音频数据也可以存储至存储器311中或者通过收发模块310进行发送。在一些实例中,音频模块318还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。

触控屏幕319在iot服务器31与用户之间同时提供一个输出及输入界面。具体地,触控屏幕319向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕319还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕319的显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。

按键模块320同样提供用户向iot服务器31进行输入的接口,用户可以通过按下不同的按键以使iot服务器31执行不同的功能。

本文描述的总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

所述安全模块314,用于确定所述第一设备33是否成功登录所述iot服务器31。

例如,所述收发模块310,还用于接收所述第一设备33通过所述mqtt服务器32发送的接入请求,所述接入请求携带所述第一设备33的设备号和/或所述第一设备33的全局唯一设备注册识别号id和使用所述第一设备33进行登录的第一用户在所述iot服务器31的账号和密码;所述安全模块314还用于根据所述第一设备33的设备号和/或所述第一设备33的全局唯一设备注册识别号确定所述第一设备33是否能接入所述iot服务器31;当确定所述第一设备33能接入所述iot服务器31时,根据所述第一用户的账号和密码,确定所述第一用户是否能登录所述iot服务器31。

例如,在本申请的另一实施例中,所述安全模块314用于:判断所述第一设备33的设备号和/或所述第一设备33的全局唯一设备注册识别号是否在所述iot服务器31为所述第一设备33建立的设备注册信息内;所述安全模块314为根据所述第一用户的账号和密码,确定所述第一用户是否能登录所述iot服务器31,所述安全模块314用于:判断所述第一用户的账号和密码是否在所述iot服务器31为所述第一用户建立的业务注册信息内。

所述安全模块314确定所述第一设备33是否能接入所述iot服务器31以及所述第一用户是否能登录所述iot服务器31的具体过程,可以参考书前述图6实施例步骤231具体描述的内容,在此不再赘述。

所述收发模块310,用于当所述安全模块314确定所述第一设备33成功登录所述iot服务器31后,接收由所述第一设备33发送给所述mqtt服务器32并由所述mqtt服务器32转发的任务请求,所述任务请求携带所述第一设备33的业务内容。所述任务请求的具体描述,可以参考书前述图6实施例步骤231具体描述的内容,在此不再赘述。

所述处理器313,用于根据所述第一设备33的所述业务内容生成对应的业务任务。所述处理器313生成所述业务任务的具体过程,可以参考书前述图6实施例步骤232具体描述的内容,在此不再赘述。

所述收发模块310,还用于推送所述业务任务给所述mqtt服务器32以便所述mqtt服务器32将所述业务任务进行推送以便订阅该业务任务的所述第二设备34执行所述业务任务。

在本申请的另一实施例中,所述安全模块314,还用于确定所述第二设备34是否成功登录所述iot服务器31。

例如,所述收发模块310,还用于接收所述第二设备34通过所述mqtt服务器32发送的接入请求,所述接入请求携带所述第二设备34的设备号和/或所述第二设备34的全局唯一设备注册识别号id和使用所述第二设备34进行登录的第二用户在所述iot服务器31的账号和密码;所述安全模块314还用于根据所述第二设备34的设备号和/或所述第二设备34的全局唯一设备注册识别号确定所述第二设备34是否能接入所述iot服务器31;当确定所述第二设备34能接入所述iot服务器31时,根据所述第二用户的账号和密码,确定所述第二用户是否能登录所述iot服务器31。

例如,在本申请的另一实施例中,所述安全模块314用于:判断所述第二设备34的设备号和/或所述第二设备34的全局唯一设备注册识别号是否在所述iot服务器31为所述第二设备34建立的设备注册信息内;所述安全模块314为根据所述第二用户的账号和密码,确定所述第二用户是否能登录所述iot服务器31,所述安全模块314用于:判断所述第二用户的账号和密码是否在所述iot服务器31为所述第二用户建立的业务注册信息内。

所述安全模块314确定所述第二设备34是否能接入所述iot服务器31以及所述第二用户是否能登录所述iot服务器31的具体过程,可以参考书前述图6实施例步骤234具体描述的内容,在此不再赘述。

所述收发模块310,还用于当所述安全模块314确定所述第二设备34成功登录所述iot服务器31后,接收所述第二设备34发送且通过所述mqtt服务器32转发的订阅主题请求,其中,所述订阅主题请求包括的主题为该业务任务指示的所述业务内容。关于所述订阅主题请求的处理过程和内容描述,可以参考书前述图6实施例步骤234具体描述的内容,在此不再赘述。

在本申请的另一实施例中,所述收发模块310,还用于接收所述第一设备33/所述第二设备34发送且通过所述mqtt服务器32转发的设备注册请求,所述设备注册请求携带所述第一设备33/所述第二设备34的设备号;所述设备注册模块315,用于为所述第一设备33/所述第二设备34建立设备注册信息,所述设备注册信息包括所述第一设备33/所述第二设备34的设备号;所述存储器311,用于存储所述设备注册信息。

在本申请的另一实施例中,所述收发模块310,还用于接收所述第一设备33/所述第二设备34发送且通过所述mqtt服务器32转发的设备注册请求,所述设备注册请求携带所述第一设备33/所述第二设备34的设备号;所述处理器313,还用于根据所述第一设备33/所述第二设备34的设备号生成该第一设备33/所述第二设备34的全局唯一设备注册id;所述收发模块310,还用于向所述mqtt服务器32发送所述第一设备33/所述第二设备34的全局唯一设备注册id以通过所述mqtt服务器32发送给所述第一设备33/所述第二设备34;所述设备注册模块315,用于为所述第一设备33/所述第二设备34建立设备注册信息,所述设备注册信息包括所述第一设备33/所述第二设备34的设备号和/或所述第一设备33/所述第二设备34的全局唯一设备注册id;所述存储器311,用于存储所述设备注册信息。

关于所述第一设备33的设备注册过程以及所述第一设备33的设备注册信息的描述,具体可以参考图4实施例的步骤2211-2214的相关描述,在此不再赘述。

关于所述第二设备34的设备注册过程以及所述第二设备34的设备注册信息的描述,具体可以参考图5实施例的步骤2221-2224的相关描述,在此不再赘述。

在本申请的另一实施例中,所述收发模块310还用于接收所述第一设备33/所述第二设备34发送且通过所述mqtt服务器32转发的业务注册请求,所述第一/第二业务注册请求携带使用所述第一设备33/所述第二设备34登录的第一/第二用户的身份资料信息和业务内容;所述业务注册模块316,用于为所述第一/第二用户建立业务注册信息,所述业务注册信息包括所述第一/第二用户的身份资料信息和业务内容;所述存储器311,用于存储所述业务注册信息。

关于所述第一设备33的业务注册过程以及所述第一设备33的业务注册信息的描述,具体可以参考图4实施例的步骤2211-2214的相关描述,在此不再赘述。

关于所述第二设备34的业务注册过程以及所述第二设备34的业务注册信息的描述,具体可以参考图5实施例的步骤2221-2224的相关描述,在此不再赘述。

在本申请的另一实施例中,所述任务请求还包括所述第一设备33的身份信息,所述第一设备33的身份信息包括如下至少之一:所述第一设备33的设备号、所述第一设备33的全局唯一设备注册识别号(id)和使用所述第一设备33登录的第一用户在所述iot服务器31的账号;所述安全模块314,还用于根据所述第一设备33的身份信息和所述业务内容确定所述第一用户是否已经在所述iot服务器31开通所述任务请求所包括的业务内容;如果确定所述业务内容没有由所述第一用户在所述iot服务器31开通,拒绝所述任务请求和/或指示所述第一设备33进行业务开通;所述处理器313为根据所述业务内容生成对应的业务任务,所述处理器313用于:当所述安全模块314确定所述业务内容已经由所述第一用户在所述iot服务器31开通,生成该业务内容对应的所述业务任务。

在本申请的另一实施例中,所述订阅主题请求还包括所述第二设备34的身份信息,所述第二设备34的身份信息包括如下至少之一:所述第二设备34的设备号、所述第二设备34的全局唯一设备注册识别号(id)和使用所述第二设备34进行订阅的第二用户在所述iot服务器31的账号;所述安全模块314,还用于根据所述第二设备34的身份信息和所述主题确定所述第二用户是否已经在所述iot服务器31开通所述主题;所述处理器313还用于,当所述安全模块314确定所述订阅主题请求所包括的主题已经由所述第二用户在所述iot服务器31开通,生成订阅成功消息;当所述安全模块314确定所述订阅主题请求所包括的主题没有由所述第二用户在所述iot服务器31开通,生成订阅失败消息或生成开通指示。

在本申请的另一实施例中,所述统计模块317用于统计业务任务的推送情况,例如,所述统计模块317用于根据预先设定的项目而进行数据统计,例如,所述统计模块317用于统计如下至少之一:执行业务任务的第二设备34在预定时间内容(例如一天)接收推送业务任务成功或失败多少次,第一设备33和/或第二设备34的在线状态,例如,第一设备33和/或第二设备34的上线时间、在线时长和/或离线时间等。

综上所述,mqtt服务器连接采用不同操作系统的第一、第二设备,第二设备通过mqtt服务器在iot服务器订阅主题,iot服务器通过mqtt服务器接收第一设备发送的任务请求并向mqtt服务器推送任务,再由mqtt服务器推送所述任务给第二设备执行,由于mqtt服务与第一、第二设备的通信是采用间断式的订阅主题推送方式进行,因此第一、第二设备不需要持续与网络进行连接,也不需要采用轮询方式与网络连接,即第一、第二设备不需要持续连接iot服务器,因此可以降低网络资源的利用,降低网络流量消耗,也不需要采用轮询方式访问iot服务器,即可以避免长时间获取消息,第一、第二设备通过订阅主题而不间断(例如周期性地)的获取iot服务器通过mqtt服务器推送的任务,因此,可以避免长时间连接以降低网络资源的利用,降低网络流量消耗,采用订阅方式就可以兼顾消息实时性,避免长时间查询任务。

为解决上述技术问题,本申请实施例还提供一种计算机设备,具体请参阅图8,图8为本申请另一实施例的一种计算机设备基本结构框图。

所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42和网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的所述计算机设备4是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备4可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括非易失性存储器或易失性存储器,例如,闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、ram、rom、eprom、eeprom、prom、磁性存储器、磁盘、光盘等,所述ram可以包括静态ram或动态ram。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如,该所述计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该所述计算机设备4上配备的插接式硬盘,smc,sd卡或闪存卡等。在一些实例中,所述存储器41还可进一步包括相对于所述计算机设备4远程设置的存储器,这些远程存储器可以通过网络连接至所述计算机设备4。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如用于执行不同设备间的消息处理方法的程序代码等,所述处理器42执行这些代码。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

在本申请实施例中,该处理器42可以是cpu、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42还可以是其他通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,例如单片机等。

该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述存储器41用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器42用于执行所述存储器41存储的程序代码或指令或者处理数据,例如运行执行不同设备间的消息处理方法的程序代码。

本文描述的总线可以是isa总线、pci总线或eisa总线等。该总线系统可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

本申请的另一实施例还提供一种计算机可读介质,计算机可读介质可以是计算机可读信号介质或者计算机可读介质。计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图2-6对应的执行不同设备间的消息处理方法中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。

计算机可读介质包含但不限于电子、磁性、光学、电磁、红外的存储器或半导体系统、设备或者装置,或者前述的任意适当组合,所述存储器用于存储程序代码或指令,所述程序代码包括计算机操作指令,所述处理器用于执行所述存储器存储的程序代码或指令。

所述存储器和所述处理器的定义,可以参考前述计算机设备实施例的描述,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、服务器、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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