基于物联网的服务处理方法、装置和系统与流程

文档序号:15980403发布日期:2018-11-17 00:15阅读:315来源:国知局

本发明涉及物联网技术领域,尤其涉及一种基于物联网的服务处理方法、装置和系统。

背景技术

物联网(internetofthings,简称iot)是在互联网基础上延伸和扩展的网络,通过射频识别、红外感应器、全球定位系统、激光扫描器、气体感应器等信息传感设备,按照约定的协议,把任何物品与互联网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网技术可应用于智能交通、环境监测、工业监测、公共安全、水系监测、医疗以及家庭生活等多个领域。在部署物联网系统时,一般根据物联网设备的数量等相关信息预先配置相应的物联网服务器,并为物联网服务器分配固定的资源,处理物联网设备发出的业务请求,其中,物联网设备的规模越大,所需的物联网服务器的数量也越多。

现有技术中,物联网设备在使用前需要预先配置所需物联网服务器的地址、数量以及配置相应的软件模块等,当运行环境改变或者进行物联网设备扩充导致物联网设备数量增加时,则需要重新安装物联网服务器的运营环境,以使物联网服务器能够更好地完成物联网设备的服务请求,从而造成了物联网系统无法快速扩展,灵活性低的问题。



技术实现要素:

本发明提供一种基于物联网的服务处理方法、装置和系统,以实现物联网系统能够快速扩展,提高灵活性。

第一方面,本发明提供一种基于物联网的服务处理方法,该方法包括:

接收物联网设备发送的服务应用请求;

根据当前容器的容器状态,确定目标容器,其中,所述目标容器的容器状态为空闲状态;

将所述服务应用请求发送给所述目标容器,以供所述目标容器根据所述服务应用请求,执行相应地处理。

进一步地,上述根据当前容器的容器状态,确定目标容器,包括:

根据当前容器的状态,确定容器的状态为空闲状态的待分配容器;

若所述待分配的容器数量为0,则建立一个新的容器为所述目标容器;

若所述待分配的容器数量大于或等于2,则选择一个待分配的容器确定为所述目标容器,和/或选择与所述服务应用请求的类型对应的一个待分配的容器确定为所述目标容器。

进一步地,根据所述目标容器,以及所述容器返回的请求完成响应,更新所述容器的容器状态。

进一步地,所述目标容器根据所述服务应用请求,执行相应地处理,包括:

所述目标容器判断本地是否存在与所述服务应用请求对应的应用程序;

若存在,则根据所述应用程序,执行相应地处理。

进一步地,若不存在,则从服务镜像处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理。

第二方面,本发明提供一种基于物联网的服务处理装置,该装置包括:

容器编排器,用于接收物联网设备发送的服务应用请求;

所述容器编排器还用于根据当前容器的容器状态,确定目标容器,其中,所述目标容器的容器状态为空闲状态;

容器,用于接收所述容器编排器下发的所述服务应用请求,并根据所述服务应用请求,执行相应地处理。

进一步地,上述容器编排器包括:

状态确定模块,用于根据当前容器的状态,确定容器的状态为空闲状态的待分配容器;

容器分配模块,用于若所述待分配的容器数量为0,则建立一个新的容器为所述目标容器;若所述待分配的容器数量大于或等于2,则选择一个待分配的容器确定为所述目标容器,和/或选择与所述服务器请求的类型对应的一个待分配的容器确定为所述目标容器。

进一步地,上述状态确定模块还用于根据所述目标容器,以及所述容器返回的请求完成响应,更新所述容器的容器状态。

进一步地,所述装置还包括:服务镜像,则所述容器具体用于:

所述目标容器判断本地是否存在与所述服务应用请求对应的应用程序;

若存在,则根据所述应用程序,执行相应地处理。

若不存在,则从服务镜像处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理。

第三方面,本发明还提供一种基于物联网的服务处理系统,该系统包括:物联网设备和本发明提供的任一种基于物联网的服务处理装置。

本发明提供的基于物联网的服务处理方法、装置和系统,通过接收物联网设备发送的服务应用请求,然后,根据当前容器的容器状态,确定目标容器,进一步将服务应用请求发送给所述目标容器,以供目标容器根据服务应用请求,执行相应地处理。通过将微服务架构与容器技术结合,提供一种新的服务器资源共享方式,解决了现有技术中物联网系统无法快速扩展,灵活性低的问题。

附图说明

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

图1为本发明提供的基于物联网的服务处理系统的结构示意图;

图2为本发明提供的基于物联网的服务处理方法实施例一的流程示意图;

图3为本发明提供的基于物联网的服务处理方法实施例二的流程示意图;

图4为本发明提供的基于物联网的服务处理方法实施例三的流程示意图;

图5为本发明提供的基于物联网的服务处理装置实施例一的结构示意图;

图6为本发明提供的基于物联网的服务处理装置实施例二的结构示意图。

具体实施方式

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

图1为本发明提供的基于物联网的服务处理方法所基于的系统架构示意图,如图1所示,该系统架构主要包括:物联网设备11以及基于物联网的服务处理装置12。

其中,每个基于物联网的服务处理装置12可以与多个物联网设备11连接,可以同步处理多个物联网设备11发出的服务应用请求。多个物联网设备11发出的服务应用请求可以相同,也可以不同,本发明对此不做限定。

例如,在基于物联网的智能家居系统中,物联网设备可以为照明电灯、洗衣机、空调等等。而基于物联网的服务处理装置可以为能够处理物联网设备发送的各种不同的服务应用请求。

图2为本发明提供的基于物联网的服务处理方法实施例一的流程图,本实施例所提供的方法的执行主体为本发明所提供的基于物联网的服务处理装置,本实施例中以基于物联网的服务处理装置为虚拟机进行说明。请继续参照图2所示,该方法包括以下步骤:

s201、接收物联网设备发送的服务应用请求。

本步骤中,虚拟机接收物联网设备发送的服务应用请求,例如,可以是一个物联网设备发送一个服务应用请求,也可以是多个物联网设备同时分别发送服务应用请求。若是一个物联网设备发送一个服务应用请求,则虚拟机接收唯一的一个服务应用请求,若是多个物联网设备同时分别发送服务应用请求,则虚拟机可接收多个服务应用请求。

可选地,物联网设备发送的上述服务应用请求可以为服务应用启动请求。

s202、根据当前容器的容器状态,确定目标容器。

其中,容器状态包括空闲状态和非空闲状态两种,空闲状态是指该容器当前状态下并未执行任何操作,处于非工作状态,非空闲状态是指该容器正在执行物联网设备发出的服务应用请求。

本步骤中根据当前所有预先部署的容器的容器状态,确定用于处理物联网设备发送的服务应用请求的目标容器,其中,目标容器的容器状态为空闲状态。

需要说明的是,每个上述容器只能够对应一个服务,也就是说一个容器在同一时刻只能够执行物联网设备发出的一个服务应用请求,无法同时并行执行多个服务应用请求。

s203、将所述服务应用请求发送给所述目标容器,以供所述目标容器根据所述服务应用请求,执行相应地处理。

具体地,将物联网设备发出的服务应用请求发送给步骤s202中确定的目标容器,目标容器根据接收到的服务应用请求,执行相应地处理。

例如,物联网设备发送的是服务应用启动请求,则将该服务应用启动请求发送至目标容器后,目标容器根据接收到的请求启动相应的应用程序。

通过使用容器虚拟化技术,可以在同一台服务器上创建多个虚拟机实例,预先在每个虚拟机实例中部署多个可扩展的容器,每个容器可用于处理一个对应的服务应用请求,同时启动多个虚拟机实例不会对网络和存储带来很大的负载,能够提升服务器处理物联网设备发送的服务应用请求的效率,同时使物联网系统在无需增加新的物理设备的条件下,即可快速进行扩展,减小物联网系统的投入成本。

本实施例提供的方法,通过将接收物联网设备发送的服务应用请求,然后,根据当前容器的容器状态,确定目标容器,进一步将服务应用请求发送给所述目标容器,以供目标容器根据服务应用请求,执行相应地处理。通过将为服务架构与容器技术结合,提供一种新的服务器资源共享方式,解决了现有技术中物联网系统无法快速扩展,灵活性低的问题。

下面采用几个具体的实施例,对图2所示方法实施例的技术方案进行详细说明。

图3为本发明提供的基于物联网的服务处理方法实施例二的流程图,如图3所示,本实施例的方法可以包括:

s301、接收物联网设备发送的服务应用请求。

本步骤与图2所示实施例中s201步骤中类似,在此不再赘述。

s302、根据当前容器的状态,确定容器的状态为空闲状态的待分配容器。

具体地,根据当前所有容器的容器状态,将虚拟机实例中所有空闲状态的容器作为待分配容器。

进一步地,可根据待分配容器的数量确定目标容器。具体地,当上述待分配的容器数量为0时,则执行步骤s303,当待分配容器数量大于或等于2时,则执行步骤s304。

需要说明的是,当上述空闲状态的待分配容器的数量为1时,则将当前状态下所有所述容器中唯一的空闲状态的待分配容器确定为目标容器。

s303、建立一个新的容器为所述目标容器。

由于待分配容器的数量为0,则说明当前状态下没有空闲容器可以直接用于处理物联网设备发出的服务应用请求,则可创建一个新的容器作为目标容器。部署一个新的容器来处理物联网设备发送的服务应用请求,无需进行物理设备上的扩展。

另外,当同时有多个物联网设备分别发送服务应用请求且待分配的容器数量位0时,则可部署多个容器分别处理多个物联网设备发送的服务应用请求,其中多个容器的数量与多个物联网设备的数量相同。

s304、选择一个待分配的容器确定为所述目标容器。

在本步骤中,待分配的容器数量大于或者等于2,说明当前状态下有多个可以用于处理物联网设备发送的服务应用请求的容器,那么可根据以下实现方式确定目标容器。具体地,在多个待分配容器中选择任意一个作为目标容器用于处理物联网设备发送的服务应用请求。

可选地,当同时有多个物联网设备分别发送服务应用请求且待分配的容器数量大于或者等于2时,则可判断待分配的容器数量是否满足多个物联网设备分别发送多个服务应用请求数量,若满足,则选择与多个服务应用请求数量相等的多个待分配容器作为目标容器,多个目标容器分别用于处理多个服务应用请求。

s305、所述目标容器判断本地是否存在与所述服务应用请求对应的应用程序。

若存在,则执行步骤s306。若不存在,则执行步骤s307。

可选地一种实现方式中,根据预先设定的规则,每个空闲状态的容器都不存在应用程序,当任一空闲状态的待分配容器作为目标容器时,目标容器则执行步骤s307。目标容器在执行一个服务应用请求处理之后,将该容器中缓存的应用程序删除,当目标容器接收到服务应用请求之后,可直接执行步骤s307。

s306、根据所述应用程序,执行相应地处理。

s307、从服务镜像处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理。

其中,服务镜像中存储有该物联网系统中能够为物联网设备提供的所有服务的应用程序,其中,通过以外部文件为基础创建镜像服务,镜像服务中镜像文件格式为vmdk、vhd、qcow2、raw、vhdx、qed、vdi、qcow、zvhd2和zvhd,可以按照需要选择不同格式的镜像文件创建镜像服务,提供了较高的数据安全性和可用性,减小了所需的物理内存。

例如,物联网设备发送的是服务应用启动请求,则目标容器从镜像服务处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,启动该应用程序。

s308、根据所述目标容器,以及所述容器返回的请求完成响应,更新所述容器的容器状态。

通过及时更新所有容器的容器状态,能够在接收到下一个服务应用请求时,准确判断哪些容器是空闲状态的容器。

本实施例中,通过接收物联网设备发送的服务应用请求,进一步根据当前的容器状态,确定容器的状态为空闲状态的待分配容器,根据待分配容器的数量确定建立新的容器为目标容器,或者,选择一个待分配的容器确定为所述目标容器,进一步根据目标容器中是否存在与所述服务应用请求对应的应用程序,选择是否需要从服务镜像处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理,并且及时更新所有容器状态的变化。具体通过根据待分配容器数量灵活决定是否需要部署新的容器,并将基于物联网的服务处理系统中与所有服务应用请求对应的应用程序存储与服务镜像中,提高了数据的安全性和可用性,解决了现有技术中物联网系统无法快速扩展、灵活性低的问题。

图4为本发明提供的基于物联网的服务应用处理方法实施例三的流程图,如图4所示,本实施例的方法可以包括:

s401、接收物联网设备发送的服务应用请求。

本步骤与图2所示实施例中s201步骤中相同,此处不进行赘述。

s402、根据当前容器的状态,确定容器的状态为空闲状态的待分配容器,选择与所述服务器请求的类型对应的一个待分配的容器确定为所述目标容器。

可选地另一种实现方式中,可预先将部署的所有容器划分为多个组,不同的组用于处理不同类型的服务应用请求,其中,这些不同类型的服务应用请求为预设时间段内物联网设备所发送的频率最高的服务应用请求。相应地,上述物联网设备发送的服务应用请求中携带有标识信息,该标识信息用于确定物联网设备发送的服务应用请求的类型,将用于确定物联网设备发送的服务应用请求的类型的标识信息与预先划分的每个组能够处理的服务应用请求的标识信息进行匹配,来确定目标容器组,当目标容器组中存在空闲状态容器时,则选择目标容器组中任一空闲状态容器作为目标容器,当目标容器组中的多个容器均为非空闲状态时,可以等待目标容器组中的目标容器执行完上一个服务应用请求之后,将当前服务应用请求发送给目标容器进行处理。可选地另一种实现方式中,可创建一个新的容器作为目标容器,将当前服务应用请求发送给目标容器进行处理。

这里举例说明将预先部署的容器划分为多个组,每个组处理不同类型的服务应用请求。例如,有10个容器,将10个容器划分为5个组,这5个组分别对应处理5种不同类型的服务应用请求a、b、c、d、e,即第1组中的两个容器处理对应的服务应用请求a,第2组中的两个容器处理对应的服务应用请求b,第3组中的两个容器处理对应的服务应用请求c,第4组中的两个容器处理对应的服务应用请求d,第5组中的两个容器处理对应的服务请求e。

另外,还可以对物联网设备发送的不同类型的服务应用请求的使用频率进行统计分析,定期地将每个容器组处理的对应的服务应用请求类型进行更新,以提高容器处理服务应用请求的效率。

s403、所述目标容器判断本地是否存在与所述服务应用请求对应的应用程序。

若存在,则执行步骤s404。若不存在,则执行步骤s405。

s404、根据所述应用程序,执行相应地处理。

s405、从服务镜像处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理。

由于与所述服务器请求的类型对应的一个待分配的容器中预先缓存有应用程序,因此,步骤s403判断结果是存在,则执行s404。

若是当前与所述服务器请求的类型对应容器组中无空闲容器也可创建新的容器作为目标容器,则目标容器从服务镜像处获取与所述服务应用请求对应的应用程序,然后执行相应地处理。

s406、根据所述目标容器,以及所述容器返回的请求完成响应,更新所述容器的容器状态。

本实施例中,通过对物联网设备发送的服务应用请求类型进行统计分析,获取物联网设备使用频率较高的服务应用请求类型,并预先在相应的容器中缓存对应的应用程序,可以减少容器在接受到服务应用请求后从服务镜像中下载应用程序的步骤,解决了现有技术中物联网系统无法快速扩展、灵活性低的问题,同时,提高了服务应用请求的处理效率。

图5为本发明提供的基于物联网的服务处理装置实施例一的结构示意图,如图5所示,本实施例的装置包括:容器编排器51和容器52。其中,

容器编排器51,用于接收物联网设备发送的服务应用请求。

容器编排器51还用于根据当前容器的容器状态,确定目标容器,其中,所述目标容器的状态为空闲状态。

容器52,用于接收所述容器编排器51下发的所述服务应用请求,并根据所述服务应用请求,执行相应地处理。

本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图6为本发明提供的基于物联网的服务处理装置实施例二的结构示意图,如图6所示,本实施例的装置在图5所示装置结构的基础上,容器编排器51包括:状态确定模块511和容器分配模块512。

其中,状态确定模块511,用于根据当前容器的状态,确定容器的状态为空闲状态的待分配容器。

容器分配模块512,用于若所述待分配的容器数量为0,则建立一个新的容器为所述目标容器;若所述待分配的容器数量大于或等于2,则选择一个待分配的容器确定为所述目标容器,和/或选择与所述服务应用请求的类型对应的一个待分配的容器确定为所述目标容器。

进一步地,状态确定模块511还用于根据所述目标容器,以及所述容器返回的请求完成响应,更新所述容器的容器状态。

进一步地,所述装置还包括:服务镜像53,则所述容器具体用于:

所述目标容器判断本地是否存在与所述服务应用请求对应的应用程序;

若存在,则根据所述应用程序,执行相应地处理。

若不存在,则从服务镜像53处获取与所述服务应用请求对应的应用程序,并根据所述应用程序,执行相应地处理。

本实施例提供的装置,可以用于执行图3和图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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