一种基于物联网的数据处理方法、装置、设备及存储介质
技术领域
本申请涉及物联网技术领域,尤其涉及一种基于物联网的数据处理方法、装置、设备及存储介质。
背景技术
作为新一代信息技术的重要组成部分,物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。随着接入物联网的设备越来越多,不计其数的设备正在共享数据,与其他系统通信,并向终端提供控制,传统的中心化系统已经不能满足海量数据处理需求。越来越多的物联网用户希望自己的计算能力能接近收集信息的设备,此时以云存储和边缘计算为技术支持的物联网网络应运而生。
现有的边缘计算设备产品的部署和配置均由云平台控制,如果需要修改配置,需要管理员登陆云平台修改并重新部署,不仅效率低下,并且缺乏灵活性。
发明内容
本申请实施例提供一种基于物联网的数据处理方法、装置及存储介质,能够提高边缘计算设备的智能性,并且能够降低服务器的人力管理成本。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于物联网的数据处理方法,包括:
接收数据采集设备采集到的第一数据;
当确定自身不具备所述第一数据的第一处理程序时,向服务器发送获取第一处理程序的第一请求消息,其中,所述第一请求消息中至少携带有所述第一数据的数据类型;
接收服务器发送的第一处理程序,并基于所述第一处理程序对所述第一数据进行处理,得到第一处理结果;
将所述第一处理结果发送至服务器。
本申请实施例提供一种基于物联网的数据处理装置,包括:
第一接收模块,用于接收数据采集设备采集到的第一数据;
第一发送模块,用于当确定自身不具备所述第一数据的第一处理程序时,向服务器发送获取第一处理程序的第一请求消息,其中,所述第一请求消息中至少携带有所述第一处理程序的第一标识;
第二接收模块,用于接收服务器发送的第一处理程序,并基于所述第一处理程序对所述第一数据进行处理,得到第一处理结果;
第二发送模块,用于将所述第一处理结果发送至服务器。
本申请实施例提供基于物联网的数据处理设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。
本申请实施例具有以下有益效果:
在本申请实施例提供的基于物联网的数据处理方法中,边缘计算设备(物联网网关)在接收到数据采集设备采集到的第一数据,且确定自身没有处理第一数据对应的第一处理程序时,可以主动向服务器发送获取第一处理程序的请求,而不是被动的等待服务器向自身部署一定的处理程序,从而能够提高边缘计算设备的智能化;并且边缘计算设备在接收到第一处理程序后,对第一数据进行处理,并向服务器返回第一处理结果,从而可以保证服务器可以及时获取到对第一数据的处理结果,进一步增强了边缘计算设备与服务器以及与数据采集设备之间的协同交互。
附图说明
图1A为相关技术中基于物联网的数据处理方法的实现流程示意图;
图1B为本申请实施例基于物联网的数据处理方法的网络架构示意图;
图2是本申请实施例提供的边缘计算设备100的组成结构示意图;
图3为本申请实施例提供的基于物联网的数据处理方法的一种实现流程示意图;
图4为本申请实施例提供的基于物联网的数据处理方法的另一种实现流程示意图;
图5为本申请实施例提供的基于物联网的数据处理方法的再一种实现流程示意图;
图6为本申请实施例提供的基于物联网的数据处理方法的再一种实现流程示意图;
图7为本申请实施例边缘计算设备从云平台拉取的功能的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)物联网:一个基于互联网、传统电信网等的信息承载体,让所有能够被独立寻址的普通物理对象形成互联互通的网络;通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。
2)云存储(Cloud storage):一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上;
3)云平台:能够提供云服务的平台,也可以称为云服务器,是一种能够提供简单高效、安全可靠、处理能力可弹性伸缩的计算服务的平台。
4)边缘计算:起源于传媒领域,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。
5)边缘计算设备:提供边缘计算服务的设备,在本申请实施例中也可以认为是物联网网关。
6)物联网网关:连接感知网络与传统通信网络的纽带,可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。
为了更好地理解本申请实施例,首先对相关技术中基于物联网的数据处理方法及存在的缺点进行说明。
图1A为相关技术中基于物联网的数据处理方法的实现流程示意图,如图1A所示,所述方法包括:
步骤S101,管理员将传感器1的功能部署至云平台。
这里,传感器1的功能也即为能够处理传感器1采集到的数据的处理程序。在本申请实施例中,处理程序可以是规则引擎,还可以是具有函数计算作用的软件等。
步骤S102,云平台将传感器1的功能部署至边缘计算设备。
步骤S103,边缘计算设备存储并处理传感器1发送的数据。
这里,当在边缘计算设备部署了传感器1的功能之后,那么在边缘计算设备接收到传感器1发送的数据之后,就可以利用传感器1的功能处理传感器1发送的数据。
步骤S104,边缘计算设备仅存储传感器2发送的数据。
这里,由于边缘计算设备中还未部署传感器2的功能,因此当边缘计算设备接收到传感器2发送的数据时,不能对数据进行处理,仅可以进行存储。
步骤S105,管理员将传感器2的功能部署至云平台,并删除传感器1的功能。
步骤S106,云平台根据管理员的操作,重新部署边缘计算设备的功能。
步骤S107,边缘计算设备仅存储传感器1发送的数据。
这里,由于边缘计算设备中已经将传感器1的功能删除,那么在接收到传感器1发送的数据时,仅仅只能对接收到的数据进行存储,而不能处理。
步骤S108,边缘计算设备存储并处理传感器2发送的数据。
由于管理员将传感器2的功能通过云平台部署到了边缘计算设备中,因此此时边缘计算设备在接收到传感器2发送的数据后,可以利用传感器2的功能对数据进行处理。
上述基于物联网的数据处理方法方案存在的缺点主要包括:边缘计算设备添加功能、数据或删除这些功能、数据等动作,均需要从云平台来操作,缺乏灵活性,因此不够智能。而边缘计算设备的存储空间有限,无法存储所有场景所需的功能,当需要处理其他种类或场景的数据时,需要管理员从云平台重新配置并部署。例如一个边缘计算设备同时有摄像头,温度传感器等设备接入,但边缘计算设备的硬件资源不支持同时存储处理图像和处理温度传感器数据的功能,需要管理员手动配置,切换功能,费时费力。
基于此,在本申请实施例中,边缘计算设备拥有动态调度调整数据,规则引擎,函数计算功能(以下统称功能),能够根据接收到的数据类型来判断需要调用的功能,动态从云端拉取、下载这些功能。如果内存空间不够下载该功能,边缘计算设备会判断并且删除一些不需要的数据或功能来腾出足够的空间。在相关操作后也会向云端上传自身所作的修改,以告知管理员。
下面说明实现本申请实施例的装置的示例性应用,本申请实施例提供的装置可以实施为终端设备。下面,将说明装置实施为终端设备时涵盖终端设备的示例性应用。
参见图1B,图1B为本申请实施例基于物联网的数据处理方法的网络架构示意图,如图1B所示,在该网络架构中至少包括边缘计算设备100、服务器200、网络300-1、网络300-2、数据采集设备400(示例性地,在图1中示出了数据采集设备400-1和数据采集设备400-2)和执行设备500(示例性地,在图1中示出了执行设备500-1和执行设备500-2)。为实现支撑一个示例性应用,边缘计算设备100通过网络300-1连接服务器200,网络300-1可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输,数据采集设备400和执行设备500分别通过网络300-2连接边缘计算设备100,网络300-2可以是物联网。
当数据采集设备400将采集到的数据通过网络300-2发送至边缘计算设备100后,边缘计算设备100根据数据类型确定自身是否存储有处理这一数据类型的数据的处理程序,当自身存储有相应的处理程序时,边缘计算设备100存储收到的数据并利用处理程序处理这些数据,进而将处理结果发送至服务器200,当处理结果表明需要执行设备500执行相关动作时,边缘计算设备100还可以通过网络300-2将执行动作对应的操作指令发送至执行设备500,进而由执行设备500根据操作指令执行相关动作。
当边缘计算设备100中没有存储处理这些数据的处理程序时,边缘计算设备100通过网络300-1向服务器200发送获取处理程序的请求消息,并在接收到服务器200发送的处理程序时,利用处理程序对数据进行处理,并将处理结果发送至服务器200,当处理结果表明需要执行设备500执行相关动作时,边缘计算设备100还可以通过网络300-2将执行动作对应的操作指令发送至执行设备500,进而由执行设备500根据操作指令执行相关动作。
在下文的描述中,为了描述方便,将上述各种可能方式的服务器都统称为服务器,因此服务器200不应简单理解为一个或一类服务器,还可以是服务器集群、云服务器等。
本申请实施例提供的装置可以实施为硬件或者软硬件结合的方式,下面说明本申请实施例提供的装置的各种示例性实施。
根据图2示出的边缘计算设备100的示例性结构,可以预见边缘计算设备100的其他的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图2所示的边缘计算设备100包括:至少一个处理器110、存储器140、至少一个网络接口120和用户接口130。边缘计算设备100中的每个组件通过总线系统150耦合在一起。可理解,总线系统150用于实现这些组件之间的连接通信。总线系统150除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统150。
用户接口130可以包括显示器、键盘、鼠标、触感板和触摸屏等。
存储器140可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Acces s Memory)。本申请实施例描述的存储器140旨在包括任意适合类型的存储器。
本申请实施例中的存储器140能够存储数据以支持边缘计算设备100的操作。这些数据的示例包括:用于在边缘计算设备100上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
作为本申请实施例提供的方法采用软件实施的示例,本申请实施例所提供的方法可以直接体现为由处理器110执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器140,处理器110读取存储器140中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器110以及连接到总线150的其他组件)完成本申请实施例提供的方法。
作为示例,处理器110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的页面加载时长的统计方法。
参见图3,图3为本申请实施例提供的基于物联网的数据处理方法的一种实现流程示意图,应用于图1B所示的边缘计算设备,将结合图3示出的步骤进行说明。
步骤S101,边缘计算设备接收数据采集设备采集到的第一数据。
这里,边缘计算设备可以是物联网网关,是连接感知网络与传统通信网络的纽带。作为网关设备,物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,并且可以实现广域互联,也可以实现局域互联。
数据采集设备可以是图1B所示的数据采集设备400-1,也可以是图1B所示的数据采集设备400-2,进一步地,数据采集设备可以是传感器,例如可以是温度传感器、湿度传感器,光强传感器等,可以采集诸如温度、湿度、光照强度等数据。边缘计算设备和数据采集设备可以是通过感知网络(物联网)建立有通信连接的,数据采集设备在采集到数据后,通过感知网络发送至边缘计算设备。
在一些实施例中,边缘计算设备在接收到数据采集设备采集到的第一数据之后,当有足够的存储空间时,至少可以存储第一数据,至于是否对第一数据进行后续的处理,由边缘计算设备中是否具备第一数据对应的第一处理程序决定,也即由边缘计算设备是否存储有第一处理程序决定。
在一些实施例中,边缘计算设备在接收到第一数据之后,可以根据第一数据的数据类型,确定自身是否具备对应的第一处理程序,当自身存储有第一处理程序时,利用第一处理程序对第一数据进行处理;当自身没有存储第一处理程序时,进入步骤S102,向服务器请求获取第一处理程序。
步骤S102,当确定自身不具备所述第一数据的第一处理程序时,边缘计算设备向服务器发送获取第一处理程序的第一请求消息。
这里,自身不具备第一数据对应的第一处理程序,也就表明自身没有存储第一处理程序。第一处理程序可以是处理规则、处理函数等等。第一请求消息中至少携带有第一处理程序的第一标识。服务器在接收到第一请求消息后,基于第一标识获取第一处理程序,并将第一处理程序发送给编辑计算设备。
在一些实施例中,所述第一请求消息中还可以携带有所述第一数据的数据类型,服务器在接收到第一请求消息后,基于第一数据的数据类型,查询自身存储的数据类型与处理程序之间的耦合度信息,并确定第一数据的数据类型对应的处理程序,再进一步判断自身确定出的处理程序的标识是否与边缘计算设备发送的第一标识匹配,如果自身确定出的处理程序的标识与第一标识匹配,那么将第一标识对应的第一处理程序发送给边缘计算设备。
步骤S103,边缘计算设备接收服务器发送的第一处理程序,并基于所述第一处理程序对所述第一数据进行处理,得到第一处理结果。
这里,第一处理结果可以是不执行任何动作,还可以是执行动作,当第一处理结果表明需要执行动作时,第一处理结果可以包括执行动作和执行设备。
举例来说,当数据采集设备为温度传感器时,采集到的温度数据为30摄氏度(℃),数据采集设备将温度数据发送给边缘计算设备后,边缘计算设备获取到第一处理程序为,当温度大于26℃时,启动空调,并调节至制冷模式,制冷温度为25℃;此时边缘计算设备判断得到接收到的温度数据30℃大于26℃,那么第一处理结果就为:启动空调,并调节至制冷模式,制冷温度为25℃。其中,执行动作为启动至制冷模式,且制冷温度为25℃,执行设备为空调。
步骤S104,边缘计算设备将所述第一处理结果发送至服务器。
这里,为了保证服务器能够获取到物联网中各个设备的控制以及被控制情况,边缘计算设备在确定出第一处理结果后,需要将第一处理结果发送至服务器。
在一些实施例中,当确定第一处理结果表明需要执行动作时,边缘计算设备还需要将执行动作对应的操作指令发送给执行设备。承接上述举例,边缘计算设备会向空调发送启动指令,并调节至制冷模式,制冷温度为25℃。
在本申请实施例提供的基于物联网的数据处理方法中,边缘计算设备(物联网网关)在接收到数据采集设备采集到的第一数据,且确定自身没有处理第一数据的第一处理程序时,可以主动向服务器发送获取第一处理程序的请求,而不是被动的等待服务器向自身部署一定的处理程序,从而能够提高边缘计算设备的智能化;并且边缘计算设备在接收到第一处理程序后,对第一数据进行处理,并向服务器返回第一处理结果,从而可以保证服务器可以及时获取到对第一数据的处理结果,进一步增强了边缘计算设备与服务器以及与数据采集设备之间的协同交互。
在一些实施例中,如图4所示,在步骤S101之后,还可以执行以下步骤,以确定边缘计算设备中是否存储有第一处理程序:
步骤S211,获取所述第一数据的数据类型。
这里,数据采集设备在向边缘计算设备发送第一数据中,可以同时发送第一数据的数据类型,以便边缘计算设备可以根据第一数据的数据类型来确定第一处理程序。在一些实施例中,还可以是边缘计算设备根据数据采集设备的标识,来确定第一数据的数据类型
步骤S212,基于所述数据类型,确定处理所述第一数据的第一处理程序的第一标识。
这里,边缘计算设备中可以存储有数据类型与处理程序之间的耦合度信息,边缘计算设备在获取到第一数据的数据类型之后,可以根据数据类型与处理程序之间的耦合度信息确定出与第一数据的数据类型耦合度最高的处理程序,并将该处理程序确定为第一处理程序,并确定第一处理程序的第一标识。
步骤S213,基于所述第一标识,确定自身是否具备所述第一处理程序。
这里,当自身未存储第一处理程序时,说明自身不具备第一处理程序,此时进入步骤S102;当自身存储有第一处理程序时,利用第一处理程序对第一数据进行处理,得到第一处理结果。
在步骤S211至步骤S213中,边缘计算设备在接收到数据采集设备发送的第一数据之后,可以根据预先规定的数据类型与处理程序之间的耦合度信息,智能地确定出第一数据对应的第一处理程序,并进一步确定自身是否存储有第一处理程序,在没有存储第一处理程序时,向服务器发送获取第一处理程序的第一请求消息,而不再被动等待服务器的管理人员部署处理程序,提高了自身的智能性,并且减少了人为操作。
在一些实施例中,如图4所示,在步骤S102之后,还可以执行以下步骤,以保证边缘计算设备中有足够的存储空间存储第一处理程序:
步骤S311,确定第一处理程序所需的第一占用空间大小和自身剩余的第一可用空间大小。
步骤S312,判断第一占用空间大小是否大于第一可用空间大小。
这里,当第一占用空间大小大于第一可用空间大小时,说明边缘计算设备中没有足够的空间存储第一处理程序,因此需要删除一定的数据或处理程序来保证有足够的空间存储第一处理程序,此时进入步骤S313;当第一占用空间大小小于第一可用空间大小时,说明边缘计算设备中有足够的空间存储第一处理程序,此时进入步骤S103,接收服务器发送第一处理程序,并对第一数据进行处理。
步骤S313,当第一占用空间大小大于第一可用空间大小时,确定待删除的目标数据和/或目标处理程序。
这里,步骤S313在实现时,需要获取各个数据和各个处理程序的权重赋值,并且权重赋值是根据数据的存储时长或处理程序的最后一次调用时间与当前时间的间隔实诚确定的,存储时长越大,相应的权重赋值越高,确定出的目标数据和/或目标处理程序为权重赋值高的数据和/或处理程序。
步骤S314,删除所述目标数据和/或目标处理程序。
这里,删除目标数据和/或目标处理程序之后,边缘计算设备中就有足够的空间存储第一处理程序,此时进入步骤S103,接收服务器发送第一处理程序,并对第一数据进行处理,从而使得硬件资源受限的边缘计算设备更加充分的利用本地资源处理接收到的数据。
在一些实施例中,确定出第一占用空间大小后,还可以确定第一占用空间大小与边缘计算设备的最大存储空间大小之间的比值,当该比值大于预设的比值阈值时,那么可以不再向服务器发送第一请求消息,而是将第一数据发送给服务器,由服务器对第一数据进行处理。
举例来说,第一占用空间大小为200mb,而边缘计算设备最大存储空间为200mb,此时该比值为1,那么也就是说需要将边缘计算设备中已存储的所有数据和处理程序都删除才足够存储第一处理程序,假设比值阈值为80%,由于该比值大于比值阈值,此时边缘处理设备将第一数据发送给服务器,由服务器对第一数据进行处理。
在一些实施例中,图4所示的步骤S313“当第一占用空间大小大于第一可用空间大小时,确定待删除的目标数据和/或目标处理程序”可用通过以下步骤S3131至步骤S3133实现,以下结合各步骤进行相关说明。
步骤S3131,当第一占用空间大小大于第一可用空间大小时,确定需要删除数据的第二占用空间大小。
这里,需要删除数据的第一占用空间大小即为第一占用空间大小减去第一可用空间大小。例如,第一占用空间大小为15兆比特(million bite,mb),第一可用空间大小为5mb,那么第二占用空间大小为10mb。
步骤S3132,获取自身已存储的各个数据和各个处理程序的权重赋值。
这里,各个数据和各个处理程序的权重赋值是根据占用空间大小和存储时长等信息确定出的,占用空间大小越大、存储时长越长,那么权重赋值就越高。
步骤S3133,基于各个数据和各个处理程序的权重赋值、各个数据和各个处理程序的占用空间大小以及第二占用空间大小,确定待删除的目标数据和/或目标处理程序。
这里,步骤S3133在实现时,可以是将各个数据和各个处理程序按照权重赋值进行排序,比如说可以按照从高到低进行排序,然后根据第二占用空间大小和各个数据和各个处理程序的占用空间大小将权重赋值最高的前一个或前几个作为目标数据和/或目标处理程序,并且待删除的目标数据和/或目标处理程序占用空间大小之和应该大于或者等于第二占用空间大小。
举例来说,假设第二占用空间大小为10mb,将权重赋值按照从大到小的顺序排序后,得到:5mb的处理程序p1、3mb的数据d1、1mb的数据d2、3mb的处理程序p2、2mb的数据d3、5mb的处理程序p3…,那么,由于待删除的目标数据和/或目标处理程序占用空间大小之和应该大于或者等于第二占用空间大小,因此,但删除的目标数据为d1、d2,目标处理程序为p1、p2。
在一些实施例中,还可以设置赋值阈值,在确定目标数据或目标处理程序时,可以要求目标数据和目标处理程序的权重赋值要高于赋值阈值,从而能够避免调用率较高的处理程序或存储时间不长的数据被删除。
在一些实施例中,各个数据和各个处理程序的权重赋值是根据占用空间大小和存储时长等信息确定出的,以下对确定各个数据和各个处理程序的权重赋值的实现方式结合下述的步骤S41至步骤S44进行说明。
步骤S41,确定自身已存储的各个数据的存储时长。
这里,存储时长为存储数据的时间与当前时间的时间间隔,例如,一组3mb的数据是2019年10月1日15点存储的,当前时间为2019年10月14日15点,那么该3mb数据的存储时长为13天。
步骤S42,根据各个数据的存储时长和各个数据的占用空间大小,确定各个数据的权重赋值。
这里,步骤S42可以按照公式(1-1)实现:
Pdata=Sdata*weight*103 (1-1);
其中,在公式(1-1)中,Pdata为数据的权重赋值,Sdata为数据的大小,单位为kb,weight为存储时长对应的权重,存储时长越长,权重越高。由于数据占用的空间和规则引擎、函数计算功能占用的空间不是一个量级(数据一般为kb,规则引擎、函数计算功能一般是mb),所以在公式(1-1)中确定数据的权重赋值时会乘以103,以减小数据与其他功能权重赋值的差距。
步骤S43,确定各个处理程序的调用率和各个处理程序对应的间隔时长。
这里,所述间隔时长为处理程序的最后调用时间与当前时间之间的时长。例如,处理程序的最后调用时间为2019年9月1日15点,当前时间为2019年10月14日15点,那么该处理程序对应的间隔时长为43天。
在一些实施例中,确定各个处理程序的调用率可以通过以下步骤实现:
步骤S431,确定各个处理程序的调用次数和所有处理程序的调用总次数;
步骤S432,将各个处理程序的调用次数和所述调用总次数的比值,确定为各个处理程序的调用率。
这里,举例来说,处理程序p1的调用次数为200次,调用总次数为1000次,那么处理程序p1的调用率为0.2。
步骤S44,根据各个处理程序的调用率、间隔时长和各个处理程序的占用空间大小,确定各个处理程序的权重赋值。
这里,步骤S44可以通过公式(1-2)实现:
Pfunc=Sfunc*weight*(1-θ) (1-2);
其中,在公式(1-2)中,Pfunc为处理程序的权重赋值,Sfunc为处理程序占用空间的大小,单位为kb,weight为间隔时长对应的权重,θ为处理程序的调用率。
在一些实施例中,在计算各个数据的权重赋值和各个处理程序的权重赋值时,还可以统一乘以一个倍数,比如都乘以103,从而能够使得权重赋值更精确,更容易比较。
在一些实施例中,在步骤S104之前,还可以执行以下步骤:
步骤S105,确定第一处理结果是否表明要执行动作。
这里,当第一处理结果表明要执行动作时,进入步骤S106;当第一处理结果表明不需要执行动作时,进入步骤S104,将第一处理结果发送至服务器即可。
步骤S106,确定所述第一处理结果对应的执行动作和执行设备。
这里,第一处理结果可以为控制报警器发出1号警报,那么执行设备为报警器,执行动作为发出1号警报。
步骤S107,将所述执行动作对应的操作指令发送给所述执行设备,以使得所述执行设备执行所述执行动作。
在一些实施例中,步骤S105至步骤S107还可以是在步骤S104之后执行的,还可以是步骤S105是在步骤S104之前执行的,步骤S106和步骤S107是在步骤S104之后执行的,步骤S106还可以是和步骤S104同时执行的,在本申请实施例中对于合理的执行顺序均不进行限定。
基于上述的实施例,本申请实施例再提供一种基于物联网的数据处理方法,应用于图1所示的网络架构,图5为本申请实施例基于物联网的数据处理方法的再一种实现流程示意图,如图5所示,所述方法包括:
步骤S501,第二数据采集设备采集第二数据。
这里,第二数据采集设备可以是红外传感器,用于探测是否有人员出现。
步骤S502,第二数据采集设备将第二数据发送给边缘计算设备。
步骤S503,边缘计算设备接收到第二数据后,确定自身是否存储有第二数据对应的第二处理程序。
这里,边缘计算设备在出厂时,会预先部署一些常用的处理程序,假设在本申请实施例中,边缘计算设备中存储有第二数据对应的第二处理程序,此时进入步骤S504;当边缘计算设备中没有存储第二处理程序时,需要执行与步骤S509至步骤S515类似的步骤。
步骤S504,边缘计算设备基于第二处理程序对第二数据进行处理,得到第二处理结果。
这里,假设第二处理程序为当在0:00至凌晨5:00探测到有人员出现时,控制报警器报警,第二数据为16:30分采集到的数据,即便探测到有人员出现,也不执行报警,此时第二处理结果为不执行报警。
步骤S505,边缘计算设备将第二处理结果发送给服务器。
这里,在一些实施例中,边缘计算设备还可以将第二数据和第二处理结果一并发送给服务器,服务器可以对第二数据及第二处理结果进行核查并存储。
步骤S506,第一数据采集设备采集第一数据。
这里,假设第一数据采集设备为温度传感器,第一数据可以是温度数据,例如第一数据可以是30℃。
步骤S507,第一数据采集设备将第一数据发送给边缘计算设备。
步骤S508,边缘计算设备确定自身是否存储有第一数据对应的第一处理程序。
这里,步骤S508在实现时,首先要获取第一数据的第一数据类型,并基于所述第一数据类型,确定处理所述第一数据的第一处理程序的第一标识;进而基于所述第一标识,确定自身是否具备所述第一处理程序。当自身存储有第一处理程序时,进入步骤S516,利用第一处理程序对第一数据进行处理;当自身未存储有第一处理程序时进入步骤S509。
步骤S509,边缘计算设备向服务器发送第一请求消息。
这里,第一请求消息中至少包括第一处理程序的标识,在一些实施例中,第一请求消息中还可以包括第一数据的数据类型,亦或者第一请求消息中可以携带有第一数据。
步骤S510,服务器接收到第一请求消息后,确定待发送的第一处理程序。
这里,当第一请求消息中仅包括第一处理程序的第一标识时,步骤S510在实现时,可以是根据第一标识确定待发送的第一处理程序;当第一请求消息中包括第一处理程序的第一标识和第一数据的数据类型时,步骤S510在实现时,可以是服务器根据自身存储的数据类型和处理程序之间的耦合度信息确定第一数据的数据类型对应的处理程序的标识,并将该处理程序的标识和第一标识进行匹配,在匹配成功时,获取第一标识对应的第一处理程序,如果匹配失败时,将服务器自身确定出的处理程序作为待发送的第一处理程序,这样能够避免边缘服务器中存储的耦合信息被恶意篡改后,而导致确定出的处理程序错误的问题。
步骤S511,边缘计算设备确定第一处理程序所需的第一占用空间大小和自身剩余的第一可用空间大小。
步骤S512,边缘计算设备确定第一占用空间大小是否大于第一可用空间大小。
这里,当第一占用空间大小大于第一可用空间大小时,说明边缘计算设备中没有足够的空间存储第一处理程序,因此需要删除一定的数据或处理程序来保证有足够的空间存储第一处理程序,此时进入步骤S513;当第一占用空间大小小于第一可用空间大小时,说明边缘计算设备中有足够的空间存储第一处理程序,此时进入步骤S515,接收服务器发送第一处理程序。
步骤S513,当第一占用空间大小大于第一可用空间大小时,边缘计算设备确定待删除的目标数据和/或目标处理程序。
步骤S514,边缘计算设备删除所述目标数据和/或目标处理程序。
需要说明的是,步骤S511至步骤S514还可以是在步骤S509之后执行,以保证在接收到第一处理程序之前,边缘计算设备有足够的存储空间存储第一处理程序。
步骤S515,边缘计算设备接收服务器发送的第一处理程序。
这里,边缘设备在接收到服务器发送的第一处理程序后,会将第一处理程序存储在自身的存储空间中。
步骤S516,边缘计算设备基于所述第一处理程序对所述第一数据进行处理,得到第一处理结果。
这里,第一处理结果可以是不执行任何动作,还可以是执行动作,当第一处理结果表明需要执行动作时,第一处理结果可以包括执行动作和执行设备。
举例来说,当第一数据为19℃,第一处理程序为,当温度大于26℃时,启动空调,并调节至制冷模式,制冷温度为25℃,当温度低于22℃时,启动空调,并调节至制热模型,制热温度为25℃;此时边缘计算设备判断得到接收到的温度数据19℃低于22℃,那么第一处理结果就为:启动空调,并调节至制热模式,制热温度为25℃。
步骤S517,边缘计算设备将所述第一处理结果发送至服务器。
步骤S518,边缘计算设备确定所述第一处理结果对应的执行动作和执行设备。
这里,承接上述的举例,执行动作为启动至制热模式,且制热温度为25℃,执行设备为空调。
步骤S519,边缘计算设备将所述执行动作对应的操作指令发送给所述执行设备。
步骤S520,执行设备基于所述操作指令执行所述执行动作。
在本申请实施例提供的基于物联网的数据处理方法中,当边缘计算设备接收到第二数据采集设备采集到的第二数据,且边缘计算设备中存储有对应的第二处理程序时,那么边缘计算设备可以直接利用第二处理程序对第二数据进行处理;当边缘计算设备接收到第一数据采集设备采集的第一数据时,若边缘计算设备中没有对应的第一处理程序,那么边缘计算设备会向服务器发送第一请求消息,以获取第一处理程序,并在自身没有足够的存储空间存储第一处理程序时,根据已存储的数据以及处理程序的权重赋值来确定待删除的目标数据和/或目标处理程序,并进行删除,以保证有足够的存储空间存储第一处理程序,进而在边缘计算设备接收到第一处理程序后,利用第一处理程序对第一数据进行处理,并控制执行设备执行相应的执行动作。如此,不仅能够使得边缘计算设备更加智能,更容易部署,进而减少维护的人力和成本,并且还能够及时删除数据和处理程序,使硬件资源受限的边缘计算设备更加充分的利用本地资源。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种基于物联网的数据处理方法,图6为本申请实施例提供的数据处理方法的再一种实现流程示意图,如图6所示,所述方法包括:
步骤S601,管理员将传感器1和传感器2的功能上传至云平台。
这里,在本申请实施例中的提及的功能对应于其他实施例中的处理程序。传感器1的功能能够处理传感器1采集到的数据。
步骤S602,云平台将传感器1的功能部署至边缘计算设备。
这里,边缘计算设备在出厂时可以预先部署一些常用的功能,在本申请实施例中,假设边缘计算设备初始部署有传感器1的功能。
步骤S603,边缘计算设备存储并处理传感器1发送的数据。
这里,由于边缘计算设备中部署有传感器1的功能,那么边缘计算设备能够利用传感器1的功能对传感器1发送的数据进行处理。
步骤S604,边缘计算设备仅存储传感器2发送的数据。
这里,由于边缘计算设备中没有部署传感器2的功能,那么边缘计算设备在接收到传感器2发送的数据后,仅能进行存储,而不能进行处理。
步骤S605,边缘计算设备向云平台请求传感器2的功能。
这里,边缘计算设备中存储于数据类型与功能之间的耦合度信息,使边缘计算设备在收到特定数据类型时,确定出对应的功能,并主动去云端(云平台)拉取相关功能。
步骤S606,如果边缘计算设备内存不足,边缘计算设备自主删除传感器1的功能。
这里,如果边缘计算设备内容不足,且传感器1的功能满足删除条件时,删除传感器1的功能。
步骤S607,云平台将传感器2的功能部署至边缘计算设备。
步骤S608,云平台将修改日志上报至管理员。
步骤S609,边缘计算设备存储并处理传感器2发送的数据。
这里,当边缘计算设备中部署有传感器2功能后,那么边缘计算设备可以处理传感器2发送的数据。在实际实现中,由于边缘计算设备还未部署传感器2功能时已经存储有传感器2发送的数据,并且这些数据一般是以队列的形式存储的,那么在边缘计算设备中部署有传感器2功能后,边缘计算设备会优先处理之前存储的传感器2发送的数据。
步骤S610,边缘计算设备仅存储传感器1发送的数据。
这里,由于已经将边缘计算设备中传感器1功能删除,因此边缘计算设备在接收到传感器1发送的数据后,仅能进行存储而不能进行处理。
在本申请实施例中,边缘计算设备会根据收到的数据类型来确定需要从云平台拉取的功能。如图7所示,在步骤S701中,当边缘计算设备收到摄像头传来的图像数据时,会执行步骤S702,边缘计算设备向云平台请求图像处理功能,以从云平台拉取图像处理功能。接着在步骤S703中,当边缘计算设备又收到温度传感器传来的温度数据时,会执行步骤S704,边缘计算设备会向云平台请求温度数据处理功能,以从云平台拉取温度数据处理功能;以此类推,当边缘计算设备接收到传感器N的数据,会向云平台请求传感器N的功能。
在本申请实施例中,当边缘计算设备存储空间不足以存储需要拉取的功能时,边缘计算设备会根据所需拉取的功能所占用的存储空间大小和边缘计算设备所剩存储空间大小来确定需要删除的数据,功能,并基于以下规则对部署在边缘计算设备上的功能和数据根据时间进行权重赋值,从而根据其权重赋值的大小来决定删除的优先顺序(优先删除赋值高的)。
表1为数据添加时间或功能最后调用时间与权重(weight)的对应规则,如表1所示,最后调用时间距当前时间的时长越长,权重越高。
表1、数据添加时间或功能最后调用时间与权重的对应规则
数据的权重赋值规则,可以通过公式(3-1)实现:
Pdata=(Sdata*weight*103)*103 (3-1);
其中,在公式(3-1)中,Pdata为数据的权重赋值,Sdata为数据的大小,单位为kb。由于数据占用的空间和规则引擎、函数计算功能占用的空间不是一个量级(数据一般为kb,规则引擎、函数计算功能一般是mb),所以在公式(3-1)中确定数据的权重赋值时会乘以103,以减小数据与其他功能权重赋值的差距。
规则引擎、函数计算功能的权重赋值规则可以通过公式(3-2)实现:
其中,在公式(3-2)中,Pfunc为规则引擎、函数计算功能的权重赋值,Sfunc为规则引擎、函数计算功能占用空间的大小,单位为kb,∑Fcall为规则引擎或函数计算功能的总调用次数,∑Ftotal为所有规则引擎和函数计算功能的调用总次数。
在公式(3-2)中将总结果乘以103是为了让权重赋值更精确,更容易比较。
以下对数据的权重赋值和规则引擎、函数计算功能的权重赋值的计算方式进行举例说明:
假设需要拉取并下载的功能大小为20mb,而现在边缘计算设备可用储存空间仅为10mb,需要删除至少10mb的数据或功能来保证有足够的存储空间存储新功能。
表2、数据、规则引擎、函数计算以及对应的权重赋值
在上述的表2中,1000个数据的权重赋值最高,因此最优先删除,从而释放空间3kb*1000=3mb,未达到存储空间最小规定值(10mb),继续删除;规则引擎2的权重赋值其次,删除后释放3mb空间,总共释放6mb空间,仍未达到储存空间小于规定值,继续删除;进而再删除函数计算2,总共释放9.5mb空间,仍未达到存储空间最小规定值,因此需要继续删除;最后删除规则引擎1,总共释放11.5mb空间,达到存储空间最小规定值,此时无需再删除数据。
通过本申请实施例提供的基于物联网的数据处理方法,能够使得现有的边缘计算设备更加智能,从而增强边缘计算设备和末端设备(如传感器)的协同交互;并且由于边缘计算设备的智能化,因此不再需要云平台的管理员一直进行监控和操作,进而能够进一步减少云端的人工管理成本;另外边缘计算设备还能够自动删除不需要的数据、功能等,以使硬件资源受限的边缘计算设备更加充分的利用本地资源。
下面继续说明本申请实施例提供的基于物联网的数据处理装置80(以下简称数据处理装置)的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器140的数据处理装置80中的软件模块可以包括:
第一接收模块81,用于接收数据采集设备采集到的第一数据;
第一发送模块82,用于当确定自身不具备所述第一数据的第一处理程序时,向服务器发送获取第一处理程序的第一请求消息,其中,所述第一请求消息中至少携带有所述第一处理程序的第一标识;
第二接收模块83,用于接收服务器发送的第一处理程序,并基于所述第一处理程序对所述第一数据进行处理,得到第一处理结果;
第二发送模块84,用于将所述第一处理结果发送至服务器。
在一些实施例中,所述数据处理装置还包括:
第一获取模块,用于获取所述第一数据的第一数据类型;
第一确定模块,用于基于所述第一数据类型,确定处理所述第一数据的第一处理程序的第一标识;
第二确定模块,用于基于所述第一标识,确定自身是否具备所述第一处理程序,其中,当确定自身未存储所述第一处理程序时,向服务器发送所述第一请求消息。
在一些实施例中,所述数据处理装置还包括:
第三确定模块,用于确定第一处理程序所需的第一占用空间大小和自身剩余的第一可用空间大小;
第四确定模块,用于当第一占用空间大小大于第一可用空间大小时,确定待删除的目标数据和/或目标处理程序;
删除模块,用于删除所述目标数据和/或目标处理程序。
在一些实施例中,第四确定模块进一步包括:
第一确定单元,用于当第一占用空间大小大于第一可用空间大小时,确定需要删除数据的第二占用空间大小;
第一获取单元,用于获取自身已存储的各个数据和各个处理程序的权重赋值;
第二确定单元,用于基于各个数据和各个处理程序的权重赋值、各个数据和各个处理程序的占用空间大小以及第二占用空间大小,确定待删除的目标数据和/或目标处理程序。
在一些实施例中,所述数据处理装置还包括:
第五确定模块,用于确定自身已存储的各个数据的存储时长;
第六确定模块,用于根据各个数据的存储时长和各个数据的占用空间大小,确定各个数据的权重赋值;
第七确定模块,用于确定各个处理程序的调用率和各个处理程序对应的间隔时长,其中,所述间隔时长为处理程序的最后调用时间与当前时间之间的时长;
第八确定模块,用于根据各个处理程序的调用率、间隔时长和各个处理程序的占用空间大小,确定各个处理程序的权重赋值。
在一些实施例中,第七确定模块进一步包括:
第三确定单元,用于确定各个处理程序的调用次数和所有处理程序的调用总次数;
第四确定单元,用于将各个处理程序的调用次数和所述调用总次数的比值,确定为各个处理程序的调用率。
在一些实施例中,所述数据处理装置还包括:
第九确定模块,用于确定所述第一处理结果对应的执行动作和执行设备;
第三发送模块,用于将所述执行动作对应的操作指令发送给所述执行设备,以使得所述执行设备执行所述执行动作。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3、图4和图5示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。