CN110191148B - 一种面向边缘计算的统计函数分布式执行方法及系统 - Google Patents
一种面向边缘计算的统计函数分布式执行方法及系统 Download PDFInfo
- Publication number
- CN110191148B CN110191148B CN201910251364.XA CN201910251364A CN110191148B CN 110191148 B CN110191148 B CN 110191148B CN 201910251364 A CN201910251364 A CN 201910251364A CN 110191148 B CN110191148 B CN 110191148B
- Authority
- CN
- China
- Prior art keywords
- data
- edge gateway
- internet
- edge
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Abstract
本发明涉及一种面向边缘计算的统计函数分布式执行方法,包括:通过物联网系统的边缘网关,将物联网设备注册为该物联网系统的叶子节点;将该叶子节点所采集的数据资源缓存至该边缘网关;以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至该物联网系统的云端服务器;该云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;在该边缘网关保存的缓存数据中选取对应的数据资源返回给该云端服务器;在该云端服务器整理该中间结果以获得统计结果并反馈给该用户。
Description
技术领域
本发明涉及物联网领域,特别涉及一种适用于物联网边缘计算环境的统计函数分布式执行方法及系统。
背景技术
随着物联网市场的发展,物联网设备数量不断增多,网络带宽逐渐成为物联网系统的发展瓶颈。在目前的物联网应用中,大量数据的收集、发送和处理是物联网系统的核心功能,其中统计型函数的计算则是物联网数据处理的基础之一。实时的统计函数的计算结果能够应用在机器学习等智能计算中,提高物联网系统的智能化水平。统计型函数的计算过程重复性较高易于分解成多个并行的子计算减少计算时间。在物联网系统中,当希望获得实时的统计型计算结果时需要获得物联网设备采集的实时数据资源,大量的网络通信无疑延长了统计形函数的执行时间。边缘计算时相对于云计算的一种分布式计算模型,它将数据处理过程放置在离物联网设备较近的地方进行,以减少网络通信带来的时间开销。
由于物联网设备的限制,将现有的成熟的分布式计算方法应用在物联网系统上面临着一些技术挑战。首先,物联网设备不同于传统分布式的计算设备,物联网设备不仅计算能力和存储能力不尽相同,其生成的数据资源类型也不一样,其独特的异构性是阻止传统分布式计算模式向物联网系统移植的关键;其次,统计函数通常附带时间和空间的约束条件,如何抽象、概括和描述统计函数计算任务是分布式计算的基础;再次,物联网设备受到成本和能耗的制约,通常都采用周期性休眠机制,休眠等因素增加了物联网系统的不稳定性,提高了分布式计算的失败率和错误率;最后,分布式计算涉及到的设备数量较多,相比于云计算模式分布式计算更加复杂,需要独立的方法保证其计算结果的正确性。
针对上述问题,目前国内外已有部分研究成果,例如“面向移动边缘计算的协同任务卸载算法及系统设计方案”(公开号CN108901046A),介绍了一个面向移动边缘计算的协同任务卸载算法及系统设计方案。该专利申请提出了一种任务卸载算法,通过协同利用云计算中心-无线接入点-边缘设备三层网络的计算资源和通信资源,并且结合系统阻塞状态,实现动态调度任务卸载策略,保证系统稳定运行。该方案自底向上分层次的完成计算复杂型任务,并且针对计算资源和通信资源进行了动态调度。但是,该方案的调度算法将重点放在资源的协调分配上,没有考虑到边缘设备以及边缘设备与无线接入点之间的网络状况都是不稳定的,设备休眠、网络中断都有可能导致计算任务失败。“一种分层分布式云计算体系结构及服务提供方法”(公开号CN101977242A),设计了一个由“核心云”、“边缘云”和用户终端组成的分层的分布式云计算体系结构,设置了与“核心云”同构的服务器节点组成“边缘云”,利用通信数据间的相关性使得“边缘云”与“核心云”协同工作,解决云计算对网络带宽的依赖。该发明并不能直接应用在物联网的生态环境中,这是因为该发明面向同构的计算设备,而物联网设备之间存在较强的异构性,边缘网关与云计算中心的差距较大,这些都是设计面向边缘计算的统计函数分布式执行方法时应该考虑的问题。“一种提供边缘计算服务的网关设备建立方法”(公开号CN108667924A),设计实现了一种提供边缘计算服务的网关设备建立方法。该方法处理边缘计算服务的思路也是把一些数据预处理工作放在网关进行,从而实现数据到达网关设备这一层就能完成聚合、优化、筛选,为云端提供高质量的数据打下基础。但是该方法提供的网关设备中提供的数据预处理功能是固定且单一的,不能根据用户的需求进行灵活的处理和响应。
综上所述,现有的分布式计算方法大都围绕着传统的分布式计算环境,忽略了物联网系统中设备异构性、不稳定性等特点带来的问题,不能有效的将分布式计算的方法应用到异构的物联网环境中,而针对统计函数的分布式执行方法也没有相关的成熟研究成果,因此有必要提出一种针对统计函数的物联网系统分布式执行方法。
发明内容
为解决上述物联网边缘计算场景中分布式并行计算面临的设备异构性、系统不稳定性和数据资源收集过程的复杂性等带来的技术问题,本发明利用边缘计算低延时、快速响应的优势,面向统计函数这一基础的、应用广泛的数据处理过程,提出了一种面向边缘计算的统计函数分布式执行方法。
具体来说,本发明的面向边缘计算的统计函数分布式执行方法包括:通过物联网系统的边缘网关,将物联网设备注册为该物联网系统的叶子节点;将该叶子节点所采集的数据资源缓存至该边缘网关;以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至该物联网系统的云端服务器;该云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;根据该查询请求,由该边缘网关选取数据资源以获得中间结果,并返回给该云端服务器;在该云端服务器整理该数据资源以获得统计结果并反馈给该用户。
本发明所述的统计函数分布式执行方法,其中该URL表达形式的格式为 URL:method/[type]/[radio]/[location]/[time],其中method为统计函数;type 为拟查询数据资源统计值的数据类型;radio为参与查询的叶子节点数量占叶子节点总数量的比例;location为该参与查询的叶子节点的位置;time为待查询的时间范围。
本发明所述的统计函数分布式执行方法,其中该边缘网关以向量形式标记该叶子节点能够采集数据资源的类型信息,并通过向量运算选取对应的数据资源。
本发明所述的统计函数分布式执行方法,其中该边缘网关缓存该数据资源的模式包括:主动缓存模式,该边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;被动缓存模式,该叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,该边缘网关将该数据资源与缓存数据进行比较,若该数据资源与该缓存数据相同,则以该数据资源替代该缓存数据并更新该缓存数据的时间戳,反之则将该数据资源保存为缓存数据并标记时间戳。
本发明还提出一种面向边缘计算的统计函数分布式执行系统,包括:节点注册模块,用于通过物联网系统的边缘网关,将物联网设备注册为该物联网系统的叶子节点;数据缓存模块,用于将该叶子节点所采集的数据资源缓存至该边缘网关;数据查询模块,用于以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至该物联网系统的云端服务器;该云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;数据选取模块,用于根据该查询请求,由该边缘网关选取数据资源以获得中间结果,并返回给该云端服务器;数据反馈模块,用于在该云端服务器整理该数据资源以获得统计结果并反馈给该用户。
本发明所述的统计函数分布式执行系统,其中该URL表达形式的格式为 URL:method/[type]/[radio]/[location]/[time],其中method为统计函数;type 为拟查询数据资源统计值的数据类型;radio为参与查询的叶子节点数量占叶子节点总数量的比例;location为该参与查询的叶子节点的位置;time为待查询的时间范围。
本发明所述的统计函数分布式执行系统,其中于该数据缓存模块中,该边缘网关以向量形式标记该叶子节点能够采集数据资源的类型信息,并在该数据选取模块中通过向量运算选取对应的数据资源。
本发明所述的统计函数分布式执行系统,其中该数据缓存模块包括:主动缓存模块,用于该边缘网关主动收集并缓存其所属叶子节点采集的数据资源;其中,该边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;被动缓存模块,用于该边缘网关被动接收其所属叶子节点采集的数据资源;其中,该叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,该边缘网关将该数据资源与缓存数据进行比较,若该数据资源与该缓存数据相同,则以该数据资源替代该缓存数据并更新该缓存数据的时间戳,反之则将该数据资源保存为缓存数据并标记时间戳。
本发明还提出一种可读存储介质,存储有可执行指令,该可执行指令用于执行前述的面向边缘计算的统计函数分布式执行方法。
本发明还提出一种数据处理装置,包括前述的可读存储介质,该数据处理装置调取并执行该可读存储介质中的可执行指令,以进行面向边缘计算的统计函数的分布式执行。
本发明的面向边缘计算的统计函数分布式执行方法,通过将统计函数的计算任务分散至边缘网关,解决因物联网设备数量增加带来的网络带宽瓶颈,获得更高的执行效率。
附图说明
图1是本发明的统计函数分布式执行方法的主动缓存模式流程图。
图2是本发明的统计函数分布式执行方法的被动缓存模式流程图。
图3是本发明的统计函数分布式执行方法的统计函数计算方法流程图。
图4是本发明的物联网系统结构示意图。
图5是本发明的统计函数分布式执行方法流程图。
图6是本发明的统计函数分布式执行系统的数据处理装置示意图。
具体实施方式
为了使本发明的技术方案更加清晰明了,以下结合附图对本发明进一步详细说明,应当理解,此处所描述的具体实例仅仅用以解释本发明,并不限定于本发明。
现有的传统分布式并行计算方法主要由“映射”、“归纳”两个部分组成,主要面向同构的计算节点,由主节点进行任务的分配和管理。而在物联网系统的应用环境中,异构的设备普遍存在,由一个主节点管控所有异构的物联网设备比较困难,海量的物联网设备与主节点进行频繁的网络通信也会使得网络环境更加恶劣,加剧网络带宽瓶颈。并且,在传统的分布式并行计算模型中,数据集一般是大规模的、事先存在的数据文件。而在物联网边缘计算的运行场景中,数据集具有较强的实时性,而不稳定的物联网系统和冗长的数据收集时间无疑拖慢了分布式并行计算的进度。另外,在传统分布式计算中如果一个计算节点上的计算任务失败,主节点会将该计算任务重新分配至其他节点。然而在物联网系统中物联网设备具有各自的地理位置,统计函数的执行通常也与地理位置有关。因此传统分布式计算的计算任务维护方法不再适用。
统计函数不同于其他的函数,其执行逻辑具有良好的复制性,很容易分解成若干子计算并行执行。然而物联网设备的异构性导致传统的分布式计算方法不再适用,休眠等局限带来的不稳定性也提高了计算失败率,云和边缘计算架构的结合则可以更有效地存储和处理数据。
基于上述特性,本发明提出了一种面向边缘计算的统计函数分布式执行方法,方法包括四个部分,详细介绍如下:
一、设备注册和参数设置
物联网设备能够获取的数据资源及其所处的空间位置是统计函数的重要影响因素,并且,在一个完整的物联网系统中通常存在多种物联网设备分别获取不同的数据资源类型。本发明面向的物联网系统由云端-边缘网关-物联网设备(叶子节点)三层结构组成,物联网设备在加入物联网系统时首先需要向其中一个边缘网关注册,成为物联网系统的叶子节点,注册信息包括且不限于其设备能够采集的数据资源类型、数据交换格式、通信模式、所在位置、通信协议等参数。边缘网关负责维护这些向它注册的物联网设备的参数信息,必要的时候物联网设备可以向边缘网关更新参数。
除了物联网设备的注册信息之外,边缘网关的一些运行参数也需要在这个阶段设置。运行参数包括且不限于缓存过期时间、最大并发请求数量、缓存策略的执行模式及其相关设置参数等。这些参数可以在物联网系统运行前直接设置,也可以在运行时进行按需更改。边缘网关需要向云端进行注册,注册信息包括其访问地址、访问端口以及部分或全部运行参数。根据物联网系统的实际需求,边缘网关也可向云端注册其维护的物联网设备的注册信息。
二、统计函数的表达管理方法
本发明使用URL描述统计函数的计算内容。通过对统计计算任务的抽象和表达,将计算任务转移至靠近物联网设备的地方,并且将统计函数计算任务分解成URL的多个参数,这种简单的表达方式能够减少通信开销。该方法提供基于RESTFULWeb的方法接口,可以提高用户的数据访问友好性和数据访问的跨平台性。
常见的统计函数包括且不限于“求和”、“最大值”、“最小值”、“平均值”、“众数”、“中位数”等,统计函数的计算通常围绕着一种数据类型在一定空间范围内和一个固定的时间段内进行。本发明将对统计函数对时间和空间约束条件的描述整合在URL中,并且通过增加RESTful风格的原语(包括但不限于“SUM”、“MAX”、“MIN”、“AVG”、“MODE”、“MEDIAN”等)来支持统计函数的抽象表达。例如:用户向云端发送的统计函数的URL(第一URL)格式为:
Host:http://cloud_address[:port]/
URL:method/[type]/[radio]/[location]/[time]
其中method表示统计函数的抽象表达;type表示数据类型;radio表示参与计算的物联网设备数量占总数量的比例;location表示地理位置并保留关键字“ALL”表示所有区域内的物联网设备;time表示合适的时间跨度。需要解释的是此处的地理位置可以是用经纬度表示的绝对位置也可以是用语言描述的相对位置。
当用户通过第一URL描述统计函数执行任务发送至云端之后,云端根据其维护的边缘网关的参数信息及其访问地址将第一URL转变成第二URL发送至对应边缘网关。第二URL的格式为:
Host:http://edge_address[:port]/
URL:method/[type]/[radio]/[location]/[time]
网关接收到第二URL格式的统计函数执行请求后,在统计函数计算过程中,有可能向某个物联网设备询问相应数据类型的实时数据资源。此时采用第三URL格式转发至对应物联网设备。考虑到边缘网关与物联网设备之间不一定利用HTTP协议栈进行通信,第三URL仅代表了使用HTTP协议的一种情况,除此之外,它意味着此时物联网设备与边缘网关之间的通信内容已经由统计函数的计算任务转变为物联网数据资源的简单访问,其具体的访问形式可根据实际的物联网系统灵活选择。
Host:http://equipment_address[:port]/
URL:GET/[type]
综上所述,统计函数的表达管理方法通过URL描述一个需要执行的统计函数计算任务,并且通过适当的格式变形帮助该计算任务由云端向边缘网关转移,最后完成统计函数的分布式执行。
三、物联网资源的分布式缓存策略
本发明提供“主动”和“被动”两种模式将物联网设备生成的数据资源缓存至边缘网关,可以缓解因物联网设备休眠等因素带来的不确定性,提高数据资源的请求命中率。数据资源缓存在边缘网关中也能减少统计型函数的计算时间,降低响应延迟。
首先由不同的应用决定缓存策略采取“主动”和“被动”哪种模式,所谓“主动”是指由边缘网关按照时间周期收集物联网设备采集的数据资源的过程,而“被动”则是指由物联网设备按照自己的程序逻辑将其采集的数据资源上传至边缘网关的过程。接下来对这两种模式进行详细介绍。
(一)“主动”模式
图1为本发明的统计函数分布式执行方法的主动缓存模式流程图。如图1 所示,主动缓存模式是由边缘网关定期向物联网设备收集其采集的数据资源的过程。收集数据的时间周期预置在网关的运行参数中。对于个别设备若因网络通信等原因造成的收集失败,网关会在该收集周期内再次发起至少一次收集过程,若本收集周期内未能收集到数据资源,则进入下一个收集周期继续进行收集操作。
具体来说,包括:
步骤S101,边缘网关在第n个收集周期内,向所属的物联网设备发出收集数据资源的请求;其中n为正整数;
步骤S102,边缘网关进行数据资源收集,若收集成功,则进入步骤S107,否则进入步骤S103;
步骤S103,判断当前收集过程是否超出本收集周期,若是则进入步骤 S106,否则进入步骤S104;
步骤S104,边缘网关再次向收集失败的物联网设备发出收集请求;
步骤S105,若再次收集成功,则进入步骤S107,否则进入步骤S106;主动缓存在一个收集周期内可以进行一次或多次再请求,具体在请求次数根据边缘网关的数据处理能力、物联网设备的数据采集能力和网络通信畅通程度等确定,于本实施例中,采用仅再请求一次的方式;
步骤S106,本收集周期内的收集操作失败,进入下一个收集周期(n=n+1);
步骤S107,数据资源收集成功,边缘网关对数据资源进行整理,标记时间戳并进行缓存。
(二)“被动”模式
图2为本发明的统计函数分布式执行方法的被动缓存模式流程图。如图2 所示,在该被动缓存模式中物联网设备按照各自的程序逻辑在不同的时间向边缘网关发送其采集的数据资源。首先边缘网关收到由物联网设备发送的数据资源,接着边缘网关进行判断是否保存过该设备的该类型数据。若保存过,为了避免数据冗余,边缘网关需要用新值替换掉旧值并更新时间戳;若没有保存过,边缘网关就将该数据记录下来并标记时间戳。
具体来说,被动缓存模式包括:
步骤S201,物联网设备将自身所采集到的数据资源发送至边缘网关;
步骤S202,边缘网关对收集到的数据资源与保存的缓存数据(历史数据) 进行比较,判断是否存在相同的历史数据,若不存在,则进行步骤S203,若存在,则进行步骤S204;
步骤S203,对收集的数据资源进行缓存,并标记时间戳;
步骤S204,以收集的数据资源替换历史数据,并更新时间戳。
统计函数分布式执行的最终目的是减少数据传输量减少计算时间,因此其主要面向实时数据的应用场景,而非历史数据(历史数据的计算在云端进行更具优势)。因此,为保证数据的“新鲜度”、降低网关的数据存储量,需要边缘网关周期性的删除旧数据。判断一个数据是否为应该被删除的旧数据的条件由同类型数据的最新时间戳与最旧时间戳之间的差值决定。与最新时间戳相差大于一个给定的阈值的数据记录都应该被删除。
综上所述,物联网资源的分布式缓存策略中“主动”和“被动”两种模式适用于不同的物联网系统。“主动”模式的收集过程比较简单适合业务逻辑也不复杂的物联网系统,但是它对物联网设备与边缘网关之间的同步性有较高的要求,需要协调物联网设备的休眠周期以及边缘网关的收集方式,防止因休眠造成的收集失败也避免在收集过程中在同一时间与大量物联网设备进行网络通信,造成边缘网关的计算压力过大以及通信信道过于拥挤。相较之下,“被动模式”的收集过程比较灵活,适合物联网设备数量较多、异构性强,难以达到同步要求的物联网系统。但是为了避免数据冗余,需要边缘网关整理数据并清除“过时”数据。
四、统计型函数计算方法
边缘网关中缓存的数据不一定都能用于当前的统计函数的执行请求,该方法表示了如何利用缓存数据与物联网设备实时采集的数据共同得出统计函数的计算结果,并且通过云端和边缘网关两层验证保证了统计函数分布式执行方法的正确性和完整性。
物联网设备的异构性导致不是所有物联网设备都能产生本次统计函数需要计算的数据类型,因此首先需要根据物联网设备保存在边缘网关的参数设置筛选出符合条件的物联网设备集合。接着就是在边缘网关本地检索是否存在符合时间空间限制条件的设备集合所产生的数据资源的缓存,并利用这些缓存计算出中间结果。然后判断参与计算的数据量是否足够,若足够,则该中间结果是完整、正确的结果,可以直接返回。否则,需要向设备集合中没有参与统计函数计算的其他设备收集实时的数据资源,直到边缘网关完成收集和计算过程后向云端返回结果。存在一定的可能性导致边缘网关迟迟无法得到完整、正确的计算结果,此时需要向云端反馈错误信息。
图3为本发明的统计函数分布式执行方法的统计函数计算方法流程图。如图3所示,本发明的统计函数计算方法具体包括:
步骤S301,根据用户的查询请求,找出符合查询条件的物联网设备,并进一步获取物联网设备在边缘网关上缓存的数据资源;
步骤S302,对数据资源进行处理,获得中间结果;
步骤S303,将中间结果与查询条件进行比对,判断中间结果是否满足查询的要求,若满足要求,则进行步骤S305,若不满足要求,则进行步骤S304;
步骤S304,以主动缓存模式或被动缓存模式,对符合查询条件的物联网设备进行收集数据资源的操作,并返回步骤S302,以再次获得中间结果;
步骤S305,边缘网关将符合查询条件的中间结果发送至云端服务器;
步骤S306,云端服务器将收到的中间结果进行整理,将整理后得到的查询结果反馈给用户。
云端服务器负责收集和验证由边缘网关计算出的中间结果。对没有返回结果或者返回错误结果的边缘网关发起二次请求,直到完成统计函数的执行。如果在一定时间内无法完成统计函数的分布式执行则向上层应用反馈错误信息。
综上所述,统计函数计算方法分为云端-边缘网关-物联网设备三个层次,主要的计算过程由分布式的边缘网关承担。边缘网关与物联网设备在网络上更接近可以降低通信延时,同时也避免了大量物联网设备在同一时刻与云端进行网络通信,加重网络带宽的负担。在计算过程中利用边缘网关本地的缓存数据可以帮助加快计算过程。最后通过边缘网关和云端的两层验证方法保证了统计函数分布式执行的完整性和正确性。
具体来说,本发明的面向边缘计算的统计函数分布式执行方法包括:通过物联网系统的边缘网关,将物联网设备注册为物联网系统的叶子节点;将该叶子节点所采集的数据资源缓存至边缘网关;以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至物联网系统的云端服务器;云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;根据用户的查询请求,由边缘网关选取数据资源以获得中间结果,并返回给云端服务器;在云端服务器整理该中间结果以获得统计结果并反馈给用户。
其中前述URL表达形式的格式为:
URL:method/[type]/[radio]/[location]/[time],method为统计函数;type为拟查询数据资源统计值的数据类型;radio为参与查询的叶子节点数量占叶子节点总数量的比例;location为该参与查询的叶子节点的位置;time为待查询的时间范围。
边缘网关以向量形式标记所属叶子节点能够采集数据资源的类型信息,并通过向量运算选取对应的数据资源。
边缘网关缓存该数据资源的模式包括:
主动缓存模式,即边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;
被动缓存模式,即叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,该边缘网关将该数据资源与缓存数据进行比较,若该数据资源与该缓存数据相同,则以该数据资源替代该缓存数据并更新该缓存数据的时间戳,反之则将该数据资源保存为缓存数据并标记时间戳。
本发明还提出一种面向边缘计算的统计函数分布式执行系统,包括:
节点注册模块,用于通过物联网系统的边缘网关,将物联网设备注册为物联网系统的叶子节点;
数据缓存模块,用于将叶子节点所采集的数据资源缓存至边缘网关;数据查询模块,用于以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至物联网系统的云端服务器;云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;
数据选取模块,用于根据用户的查询请求,由边缘网关选取数据资源以获得中间结果,并返回给云端服务器;
数据反馈模块,用于在云端服务器整理中间结果以获得统计结果,并反馈给用户。
其中数据缓存模块包括:
主动缓存模块,用于边缘网关主动收集并缓存其所属叶子节点采集的数据资源;其中,边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;
被动缓存模块,用于边缘网关被动接收其所属叶子节点采集的数据资源;其中,叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,边缘网关将数据资源与缓存数据进行比较,若数据资源与缓存数据相同,则以该数据资源替代缓存数据并更新该缓存数据的时间戳,反之则将数据资源保存为缓存数据并标记时间戳。
下面结合具体实施例对本发明的面向边缘计算的统计函数分布式执行方法作进一步的描述。
首先介绍一下设备组网及配置初始化的过程。图4是本发明的物联网系统结构示意图。如图4所示,云端服务器主要提供数据存储、查询和展示等功能,具有较强的计算能力和存储能力;边缘网关主要负责协议解析、请求转发和响应,具有一般的计算能力和存储能力,云端服务器的性能通常是边缘网关的几十倍;物联网设备主要负责采集传感数据并响应网关请求,具有较差的计算能力和存储能力。在本实例中物联网系统按照树状结构连接,云端服务器是根节点,连接多个边缘网关节点,一个边缘网关设备管理连接多个物联网设备。物联网设备作为叶子节点,设备之间不直接连接而是通过边缘网关进行通信,一个物联网设备只能属于一个边缘网关。物联网设备在加入网络时需要向边缘网关报告配置信息,包括该设备的访问地址、所在地理位置、能够采集的数据类型及数据上传周期等。边缘网关也需要向云端服务器报告配置信息,包括边缘网关的访问地址、访问端口等,也可以按照实际需要将其管理的物联网设备的配置信息拷贝至云端服务器。
边缘网关以向量的方式保存物联网设备能够采集的数据资源的类型信息。不失一般性,假设本实例存在两种物联网设备,其中一种物联网设备甲能够采集温度和湿度两种数据资源类型,另一种物联网设备乙能够采集湿度、光照强度和风向风速三种数据类型。假设边缘网关按照[温度、湿度、光照强度、风向风速]的顺序保存数据资源,则甲的资源类型描述向量为[1,1,0,0],乙的资源类型描述向量为[0,1,1,1]。采用向量法标记物联网设备采集的数据资源类型不仅能够减少边缘设备的存储开销,还能简化边缘网关根据统计函数需要的数据类型筛选物联网设备的过程。比如,当需要计算当前温度的平均值时对应的需求资源描述向量为[1,0,0,0],将该向量与物联网设备的资源类型描述向量进行按位与运算,计算结果为0的设备即为符合要求的设备。
完成物联网设备向边缘网关注册以及边缘网关向云端注册之后,物联网系统按照物联网资源的分布式缓存策略周期性的将物联网设备采集的数据资源缓存在边缘网关中。边缘网关可以以结构化的内存数据、文件及数据库等方式保存数据资源,具体方式以边缘网关的实际硬件及软件资源决定。不失一般性,本实例以结构化内存数据为例,首先介绍缓存数据的结构格式。缓存数据以[物联网设备id,数据类型id,数据值,数据单位,时间戳]的格式保存数据。其中物联网设备id在设备注册阶段由边缘网关分配;数据类型id与资源类型描述向量的顺序相对应;数据单位以便进行统计函数计算时对数据单位进行归一化。[0001,01,23,c,20180101000000]是一个缓存数据实例,它表示物联网设备0001 在2018年1月1日0时0分0秒采集温度23摄氏度。接下来介绍解释缓存策略的执行过程。
如果采用“主动”模式的缓存策略,就需要在设备组网及配置初始化阶段进行边缘网关与物联网设备的同步参数设置。包括但不限于统一的时钟、周期性收集数据的时间间隔和最大并发数等。完成配置之后就开始进行周期性的数据缓存工作,每个新的缓存周期收集的新数据将直接替换已有的旧数据。
如果采用“被动”模式的缓存策略,边缘网关的工作重点放在管理缓存数据上。边缘网关每接收到一条新的数据资源先将其整理成上述结构化形式,然后判断是否有旧数据需要覆盖,最后保存该条数据资源。由于物联网设备的数据资源发送过程是异步的,每条新的数据资源都会刷新最近的时间戳。假设在本实例中数据过期的时间间隔设置为200秒,那么边缘网关每收到一条新数据都会检查缓存中是否存在时间跨度超过阈值200秒的历史记录,并将其删除。
图5是本发明的统计函数分布式执行方法流程图。设备组网及配置初始化过程与物联网资源的分布式缓存过程独立于统计函数的分布式执行过程,本发明所述的面向边缘计算的统计函数分布式执行方法的详细步骤如图5所示。接下来以计算2018年1月1日0时0分0秒,所有物联网设备覆盖的地区上温度平均值且时间跨度不超过100秒为例,按步骤详细介绍本发明的执行过程。
S1:用户在云端以URL的形式发起对物联网数据统计值的查询。
按照统计函数的表达管理方法,2018年1月1日0时0分0秒,所有物联网设备覆盖的地区上温度平均值且时间跨度不超过100秒对应的URL如下所示。
Host:http://cloud_address[:port]/
URL:AVG/temperature/1/ALL/100
S2:云端进行地址映射,将请求转发至对应边缘网关。
假设在本例中云端管理两个边缘网关a和b,它们的访问地址分别是 192.168.0.1和192.168.0.2,访问端口都是80。根据上述信息,云端将步骤S101 所述的URL转换为如下所示的URL,并且发送至对应边缘网关。
边缘网关a:
Host:http://192.168.0.1:80/
URL:AVG/temperature/1/ALL/100
边缘网关b:
Host:http://192.168.0.2:80/
URL:AVG/temperature/1/ALL/100
S3:边缘网关按照统计型函数计算方法得出计算结果。
为不失一般性,假设边缘网关a维护两种物联网设备a01和a02,边缘网关b也维护着两种物联网设备b01和b02。其中物联网设备a01和b01与上文描述的物联网设备甲相同;物联网设备a02与b02与上文描述的物联网设备乙相同。
首先,边缘网关a和b分别按照资源类型描述矩阵计算出符合条件的物联网设备集合Sa、Sb,显然在本实例中属于a01和b01类型的物联网设备符合条件并加入集合。接着查询边缘本地是否存在由集合中的物联网设备生成的温度数据缓存,并验证缓存的时间跨度是否在100秒以内。假设边缘网关a中维护的缓存完全可用,则边缘网关a根据缓存计算出平均值AVG1,然后响应请求并附上平均值AVG1和参与计算的物联网设备数量Na。假设边缘网关b中维护的缓存部分可用,边缘网关b会把集合Sb中缺失缓存数据的物联网设备组成子集Sb1,并向Sb1中的物联网设备发送对当前温度值的查询。直到Sb1 中所有的物联网设备返回温度值后边缘网关b计算出平均值AVG2,然后响应请求并附上平均值AVG2和参与计算的物联网设备数量Nb。
S4:云端收集边缘网关返回的结果,整理后返回至用户。
云端通过返回的数据AVG1、Na、AVG2、Nb计算出所有区域的温度平均值并返回至用户。假如此时因为网络延时等原因导致云端没有收到边缘网关a 的计算结果,则云端按照步骤S102所述的URL再次请求边缘网关a,直到得出正确结果。
图6是本发明的统计函数分布式执行系统的数据处理装置示意图。如图6 所示,本发明实施例还提供一种可读存储介质,以及一种数据处理装置。本发明的可读存储介质存储有计可执行指令,可执行指令被数据处理装置的处理器执行时,实现上述面向边缘计算的统计函数分布式执行方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
本发明利用边缘计算减少数据传输量、访问延时低等优势,将重复度高且耗时的统计函数计算任务分配给多个边缘网关执行,能够减少网络延时并提高计算效率。首先通过URL描述统计函数的执行任务并且提供基于RESTFUL Web接口的统计函数分布式执行的表达管理方法可以提高分布式计算的互操作性和跨平台性;其次通过将物联网设备产生的数据资源分布式缓存在边缘网关中,从而有效控制请求命中率并提高统计函数的执行效率;最后通过统计型函数计算方法进行函数执行和结果验证,保证计算结果的完整性和正确性。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,在不脱离本发明的精神和范围内,可以做出若干变形和改进,故本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (8)
1.一种面向边缘计算的统计函数分布式执行方法,其特征在于,包括:
通过物联网系统的边缘网关,将物联网设备注册为该物联网系统的叶子节点;
将该叶子节点所采集的数据资源缓存至该边缘网关;
以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至该物联网系统的云端服务器;该云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;该URL表达形式的格式为URL:method/[type]/[radio]/[location]/[time],其中method为统计函数;type为拟查询数据资源统计值的数据类型;radio为参与查询的叶子节点数量占叶子节点总数量的比例;location为该参与查询的叶子节点的位置;time为待查询的时间范围;
根据该查询请求,由该边缘网关选取数据资源以获得中间结果,并返回给该云端服务器;
在该云端服务器整理该中间结果以获得统计结果并反馈给该用户。
2.如权利要求1所述的统计函数分布式执行方法,其特征在于,该边缘网关以向量形式标记该叶子节点能够采集数据资源的类型信息,并通过向量运算选取对应的数据资源。
3.如权利要求1所述的统计函数分布式执行方法,其特征在于,该边缘网关缓存该数据资源的模式包括:
主动缓存模式,该边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;
被动缓存模式,该叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,该边缘网关将该数据资源与缓存数据进行比较,若该数据资源与该缓存数据相同,则以该数据资源替代该缓存数据并更新该缓存数据的时间戳,反之则将该数据资源保存为缓存数据并标记时间戳。
4.一种面向边缘计算的统计函数分布式执行系统,其特征在于,包括:
节点注册模块,用于通过物联网系统的边缘网关,将物联网设备注册为该物联网系统的叶子节点;
数据缓存模块,用于将该叶子节点所采集的数据资源缓存至该边缘网关;
数据查询模块,用于以URL表达形式,将用户发出的对数据资源统计值的查询请求,发送至该物联网系统的云端服务器;该云端服务器将该查询请求进行地址映射后,转发至对应的边缘网关;该URL表达形式的格式为URL:method/[type]/[radio]/[location]/[time],其中method为统计函数;type为拟查询数据资源统计值的数据类型;radio为参与查询的叶子节点数量占叶子节点总数量的比例;location为该参与查询的叶子节点的位置;time为待查询的时间范围;
数据选取模块,用于根据该查询请求,由该边缘网关选取数据资源以获得中间结果,并返回给该云端服务器;
数据反馈模块,用于在该云端服务器整理该中间结果以获得统计结果并反馈给该用户。
5.如权利要求4所述的统计函数分布式执行系统,其特征在于,该数据缓存模块中,该边缘网关以向量形式标记该叶子节点能够采集数据资源的类型信息,并在该数据选取模块中通过向量运算选取对应的数据资源。
6.如权利要求4所述的统计函数分布式执行系统,其特征在于,该数据缓存模块包括:
主动缓存模块,用于该边缘网关主动收集并缓存其所属叶子节点采集的数据资源;其中,该边缘网关按预定的收集周期对其所属叶子节点采集的数据资源进行收集,并在收集失败时,于本收集周期内再次进行至少一次收集操作;
被动缓存模块,用于该边缘网关被动接收其所属叶子节点采集的数据资源;其中,该叶子节点按照其运行程序逻辑,将采集到的数据资源即时发送至所在的边缘网关,该边缘网关将该数据资源与缓存数据进行比较,若该数据资源与该缓存数据相同,则以该数据资源替代该缓存数据并更新该缓存数据的时间戳,反之则将该数据资源保存为缓存数据并标记时间戳。
7.一种可读存储介质,存储有可执行指令,该可执行指令被处理器执行时,实现如权利要求1~3任一项所述的面向边缘计算的统计函数分布式执行方法。
8.一种数据处理装置,包括:处理器,及可读存储介质,该可读存储介质存储有可被该处理器执行的可执行指令,该处理器调取并执行该可执行指令时,实现如权利要求1~3任一项所述的面向边缘计算的统计函数的分布式执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251364.XA CN110191148B (zh) | 2019-03-29 | 2019-03-29 | 一种面向边缘计算的统计函数分布式执行方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910251364.XA CN110191148B (zh) | 2019-03-29 | 2019-03-29 | 一种面向边缘计算的统计函数分布式执行方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110191148A CN110191148A (zh) | 2019-08-30 |
CN110191148B true CN110191148B (zh) | 2020-11-03 |
Family
ID=67714032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910251364.XA Active CN110191148B (zh) | 2019-03-29 | 2019-03-29 | 一种面向边缘计算的统计函数分布式执行方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110191148B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460662A (zh) * | 2019-09-18 | 2019-11-15 | 中用科技有限公司 | 物联网数据的处理方法和系统 |
CN111177178B (zh) * | 2019-12-03 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及相关设备 |
CN111461477A (zh) * | 2019-12-09 | 2020-07-28 | 中国科学院沈阳自动化研究所 | 一种面向边缘计算的协同管理系统 |
CN111526193B (zh) * | 2020-04-17 | 2021-10-01 | 中国科学院上海微系统与信息技术研究所 | 基于雾计算和区块链平台的分布式气象站系统及工作方法 |
CN111970378B (zh) * | 2020-08-28 | 2022-08-30 | 重庆邮电大学 | 一种基于信息年龄度量的边缘协作方法 |
CN112383422B (zh) * | 2020-11-04 | 2021-11-02 | 浙江大学 | 加快一致性分布式算法收敛速度的网络拓扑优化方法 |
CN112583899B (zh) * | 2020-12-02 | 2023-09-15 | 上海新氦类脑智能科技有限公司 | 物联网数据采集系统、方法及边缘计算设备 |
CN113114575A (zh) * | 2021-03-26 | 2021-07-13 | 井芯微电子技术(天津)有限公司 | 网络转发设备和数据转发方法 |
CN113556380A (zh) * | 2021-06-07 | 2021-10-26 | 广东东华发思特软件有限公司 | 物联网设备的边缘分布式多副本处理方法、装置及介质 |
CN113435938B (zh) * | 2021-07-06 | 2023-05-16 | 牡丹江大学 | 电力现货市场中分布式特征数据选择方法 |
CN115190033B (zh) * | 2022-05-22 | 2024-02-20 | 重庆科技学院 | 一种基于强化学习的云边融合网络任务卸载方法 |
CN114819754A (zh) * | 2022-06-24 | 2022-07-29 | 深圳市环国运物流股份有限公司 | 一种基于边缘计算的物流企业碳排放量的检测方法及装置 |
CN115801529B (zh) * | 2023-01-18 | 2023-05-16 | 中冶南方(武汉)自动化有限公司 | 物联网边缘侧应用交互的方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9866637B2 (en) * | 2016-01-11 | 2018-01-09 | Equinix, Inc. | Distributed edge processing of internet of things device data in co-location facilities |
CN105843942B (zh) * | 2016-04-01 | 2019-03-29 | 浙江大学城市学院 | 一种基于大数据技术的城市防汛决策支持方法 |
CN107302562B (zh) * | 2017-05-23 | 2019-12-03 | 中国科学院计算技术研究所 | 一种物联网终端设备的自适应命令处理系统与方法 |
CN108833510B (zh) * | 2018-05-31 | 2020-02-14 | 北京百度网讯科技有限公司 | 消息处理方法和装置 |
CN109246209B (zh) * | 2018-08-30 | 2019-07-09 | 张家口市金诚科技有限责任公司 | 林业物联网安全通信管理方法 |
-
2019
- 2019-03-29 CN CN201910251364.XA patent/CN110191148B/zh active Active
Non-Patent Citations (2)
Title |
---|
Distributed Cloud Service Engine based on Edge Computing;Chen Zhong等;《The 2018 International Conference on Transportation & Logistics,Information & Communication,Smart City(TLICSC 2018)》;20181030;全文 * |
KLRA: A Kernel Level Resource Auditing Tool For IoT Operating System Security;Dong Li等;《2018 IEEE/ACM Symposium on Edge Computing (SEC)》;20181027;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110191148A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191148B (zh) | 一种面向边缘计算的统计函数分布式执行方法及系统 | |
CN108199897B (zh) | 一种支持缓存管理的opc ua多服务器聚合方法 | |
CN111464611B (zh) | 动态复杂场景下固定云和边缘节点之间高效服务访问的方法 | |
CN104539681B (zh) | 分布式gis加速系统和gis服务的处理方法 | |
CN108415048B (zh) | 基于空间聚类的大规模网络rtk定位方法及系统 | |
CN102164184A (zh) | 云计算网络中计算机实体的接入和管理方法及云计算网络 | |
CN103780682B (zh) | 一种面向Ad Hoc网络的信息共享系统 | |
CN109104464A (zh) | 一种边缘计算环境下面向协同存储的分布式数据更新方法 | |
Starks et al. | Mobile distributed complex event processing—Ubi Sumus? Quo vadimus? | |
CN114465945B (zh) | 一种基于sdn的标识解析网络构建方法 | |
CN103401897A (zh) | 一种分布式服务注册中心构建方法 | |
CN100518132C (zh) | 分布式交通信息存储文件系统 | |
Huang et al. | Enabling dnn acceleration with data and model parallelization over ubiquitous end devices | |
CN116684418B (zh) | 基于算力服务网关的算力编排调度方法、算力网络及装置 | |
CN109348486A (zh) | 一种异构无线网络资源分配方法 | |
CN101267449A (zh) | 一种基于移动代理机制的树型结构p2p系统资源传输方法 | |
CN101394418B (zh) | 一种基于移动代理的普适计算数据处理控制方法 | |
CN110138593B (zh) | 基于smc网络的分布式系统仿真通信系统 | |
CN102025622B (zh) | 基于认知网络的实现低功耗路由的方法 | |
Gu et al. | Grouping-based consistency protocol design for end-edge-cloud hierarchical storage system | |
Pu et al. | Practical implementation of an OPC UA multi-server aggregation and management architecture for IIoT | |
Lai et al. | Dynamic adjustment mechanism based on OPC-UA architecture for IIoT applications | |
CN103577424A (zh) | 分布式数据库视图的实现方法及系统 | |
CN112436991A (zh) | 一种基于企业网的能耗感知的虚拟网络映射方法 | |
CN101321354B (zh) | 一种移动通信系统中上报性能数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |