CN112286666B - 基于回调机制的细粒度数据流可靠卸载方法 - Google Patents
基于回调机制的细粒度数据流可靠卸载方法 Download PDFInfo
- Publication number
- CN112286666B CN112286666B CN202011287136.7A CN202011287136A CN112286666B CN 112286666 B CN112286666 B CN 112286666B CN 202011287136 A CN202011287136 A CN 202011287136A CN 112286666 B CN112286666 B CN 112286666B
- Authority
- CN
- China
- Prior art keywords
- fine
- data stream
- grained data
- edge cloud
- grained
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000007246 mechanism Effects 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 4
- 230000009021 linear effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000002087 whitening effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明属于任务卸载领域,具体涉及一种基于回调机制的细粒度数据流可靠卸载方法;所述卸载方法包括客户端设备与边缘云服务器按照MQTT建立连接;按照数据流类型所对应的第一特定帧片段提取粗粒度数据流;采用卷积神经网络从粗粒度数据流中的第二特定帧片段提取细粒度数据流;客户端将细粒度数据流上传至边缘云服务器中,向客户端设备返回上行回调消息;边缘云服务器进行数据处理后生成结果,并将结果回传至客户端设备中,向边缘云服务器返回下行回调信息;否则直接在客户端设备对细粒度数据流进行本地处理生成结果;本发明基于回调机制保证了数据上行至服务器以及结果下发至客户端,能够显著提升QoE;并提升了计算资源的利用率。
Description
技术领域
本发明属于任务卸载领域,具体涉及一种基于回调机制的细粒度数据流可靠卸载方法。
背景技术
任务卸载技术是边缘计算进行数据处理的主要方式,通过任务卸载技术,使用边缘云的计算资源进行大数据的处理,可以达到减小终端设备的计算量,降低时延和能耗,节约成本的目的。在传统的物联网(Internet of Things,简称IoT)技术基础上,搭载边缘计算可以加快数据的处理速度,提升实时性,进而有效地优化体验质量(Quality ofExperience,简称QoE)。目前,主流的边缘计算任务卸载模型如图1所示,主要包括本地计算和边缘计算;在终端寻找可用的边缘计算节点,对程序进行切割,确定出是否需要进行卸载,若需要卸载则将卸载任务发送给边缘云,边缘云将寻找可用的边缘计算节点,通过可用的边缘计算节点执行卸载并将结果回传至终端,否则终端直接进行本地运算得到计算结果。
目前的任务卸载技术主要的应用场景为搭载移动边缘计算的移动终端,为了应对终端设备对数据处理能力不足、计算资源有限等问题,边缘计算任务卸载即用户终端将计算任务卸载到移动边缘计算网络中,通过边缘云的计算能力,解决了设备在资源存储、计算性能以及能效等方面的不足。
在常规的任务卸载技术中,通常会依据数据量的大小判断数据是否有必要卸载至边缘云,利用其计算能力进行处理,而这些未处理的数据中可能存在大量的冗余数据,这些冗余数据的存在可能会导致计算速度降低,或是影响结果的准确性。并且,在处理这类数据时,需要占用大量的计算资源,导致计算资源的利用率降低,增加了数据处理所用的时长,这对于使用的用户而言,他们更直观的感受就是时延增加所带来的影响,诸如,图像加载速度过慢,语音指令得不到及时的反应,或者是数据的精准程度较低,设备出现故障无法及时告警等;另外,常规的卸载过程在传输数据的过程中,可能会存在数据丢失或者数据发送超时等问题。此外,由于没有设置消息回调,开发者在排查错误的过程中,可能会无法立即确定问题的所在。
发明内容
基于现有技术存在的问题,本发明使用卷积神经网络处理任务数据流来获取其中的获取细粒度数据流,通过CNN提取数据流中的特征值,训练数据模型的方法,可以有效地从大量的数据中,提取用户所需的有效数据。这种方法通能够降低数据冗余度,提升数据精度,从而降低了数据的处理时间并提升了计算资源的利用率。相较于传统的任务卸载技术,本技术从数据来源的角度进行了改良,保证了数据的有效性与准确度,在卸载过程中添加了消息回调,保证了卸载过程中数据传输的可靠性,从而进一步达到了提升QoE的目的。
本发明解决上述技术问题所采用的技术方案具体包括:
一种基于回调机制的细粒度数据流可靠卸载方法,所述卸载方法包括以下步骤:
S1、客户端设备采集设备信息,并向边缘云服务器发送所述设备信息;
S2、所述边缘云设备对所述设备信息进行校验,校验通过后与所述客户端设备建立连接;
S3、根据设备信息,确定所述客户端设备的数据流类型,并按照所述数据流类型所对应的第一特定帧片段提取出粗粒度数据流;
S4、采用卷积神经网络从所述粗粒度数据流中的第二特定帧片段提取出细粒度数据流;
S5、所述客户端设备判断所述细粒度数据流是否需要卸载到服务器;
S6、若需要卸载到服务器,则将所述细粒度数据流上传至所述边缘云服务器中,所述边缘云服务器向所述客户端设备返回上行回调消息;所述边缘云服务器进行数据处理后生成结果,并将所述结果回传至所述客户端设备中,所述客户端设备向所述边缘云服务器返回下行回调信息;
S7、若不需卸载至服务器,则在客户端设备对所述细粒度数据进行本地处理,并生成结果。
进一步的,所述边缘云设备对所述设备信息进行校验的内容包括:
校验目标用户下,客户端设备编号是否正确;
校验目标用户下,客户端设备名是否正确;
校验目标用户下,物联网平台的账号API是否正确;
校验目标用户下,IP地址是否正确。
进一步的,所述客户端设备与所述边缘云之间通过消息队列遥测传输协议MQTT建立连接。
进一步的,所述客户端设备判断所述细粒度数据流是否需要卸载到服务器包括判断细粒度数据流的大小是否超过预设阈值,若超过预设阈值,则将所述细粒度数据流发送到服务器中进行卸载,否则将所述细粒度数据流在所述客户端设备处进行本地处理。
进一步的,所述步骤S6包括:
S61:客户端设备使用发布模式推送细粒度数据流至边缘云服务器进行处理;
S62:边缘云服务器接收到细粒度数据流后,返回一个上行回调信息至客户端设备,告知客户端设备已收到数据流,确保上行的细粒度数据流成功发送至边缘云服务器;
S63:客户端设备通过HTTP请求推送订阅,请求获取数据结果;
S64:边缘云服务器在接受到请求后,向客户端设备推送数据结果;
S65:客户端在接收到结果后,使用发布模式推送一个下行回调信息至边缘云服务器,告知所述边缘云服务器已收到订阅结果;
S66:服务器收到客户端所述下行回调信息后,再返回一个HTTP响应至客户端设备,确保下行的数据结果已成功返回至客户端设备;输出数据结果。
本发明的有益效果:
本发明先根据客户端设备类型,确定出第一特定帧片段,按照所述第一特定帧片段提取出粗粒度数据流;采用卷积神经网络中的残差网络模型对所述粗粒度数据流进行处理,学习所述粗粒度数据流中的各个细粒度所具备的第二特定帧片段,按照所述第二特定帧片段获取细粒度数据流,本发明能够充分利用不同类型的数据帧的特性,利用卷积神经网络对数据帧的学习能力,能够提升计算资源的利用率。对处理后的数据量进行判断,将需要进行任务卸载的数据集,卸载过程采用MQTT长连接卸载数据至边缘云服务器进行处理,得到计算结果后,再通过MQTT长连接返还处理后的结果至客户端设备,本发明在此过程中新增了消息回调,用以确保数据上行至服务器以及结果下发至客户端,便于排查过程中可能存在的问题,能够显著提升QoE。
附图说明
图1是传统的任务卸载流程图;
图2是本发明所采用的任务卸载流程图;
图3是本发明所采用的卷积神经网络的架构图;
图4是本发明所采用的残差网络的架构图;
图5是本发明中采用卷积神经网络的训练过程图;
图6是本发明是采用的MQTT协议的运行机制图;
图7是本发明中在边缘云服务器中采用回调机制的运行过程图;
图8是本发明中数据下行和数据下行过程中消息传输图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例,仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是本发明所采用的一种基于回调机制的细粒度数据流可靠卸载方法流程图,如图2所示,所述卸载方法包括以下步骤:
S1、客户端设备采集设备信息,并向边缘云服务器发送所述设备信息;
客户端设备在物理外形和性能上差异很大,因为其用途各不相同。智能边缘设备提供的功能远超RFID标签、温度探测器、振动传感器。有了内置的处理器,这些智能设备可以容纳先进的功能,如板载分析或人工智能。例如,制造业中使用的智能边缘设备可能包括视觉引导机器人或工业PC。商用车内置的数字驾驶舱***可以帮助提供驾驶员辅助。在医院里,患者监护设备可以发现生命体征的变化,并在需要时通知医务人员。智能城市正在部署物联网设备,以监测天气状况和交通模式,并向市民提供公共交通的实时信息。
在任务的正常运行过程中,客户端会采集设备信息,包括设备ID号、设备类型等等,这些信息完成后,客户端设备可以根据一定的形式传输到边缘云服务器中用以后续验证。
S2、所述边缘云设备对所述设备信息进行校验,校验通过后与所述客户端设备建立连接;
由于本发明是一种针对物联网的技术,所以需要建立客户端设备与边缘云服务器之间的连接,这里的连接我们可以通过物联网平台来实现,举个例子:
用户登录物联网平台,通过校验API来验证用户信息。
创建一个新的客户端设备或者找到一个已存在的客户端设备,校验其设备信息,若校验失败,则返回客户端设备创建失败或者设备不存在。具体校验的过程如下:
校验目标用户下,设备编号是否正确。
校验目标用户下,设备名是否正确。
校验目标用户下,账号API是否正确。
校验目标用户下,IP地址是否正确。
校验设备的目的是为了根据设备信息,判断设备输出的数据流类型,以便后续选取与设备传输的数据流中相匹配的第一特定帧片段。
本发明通过消息队列遥测传输协议MQTT建立客户端设备与边缘云服务器的长连接。本发明采用MQTT协议的原因是考虑到物联网设备在网络环境较差的情况下,可能会对数据结果造成影响,而MQTT建立的长连接可以通过设置心跳、遗愿机制等方法,使连接在设定的等待时间内不会断开,能够有效适配于物联网设备。
S3、根据设备信息,确定所述客户端设备的数据流类型,并按照所述数据流类型所对应的第一特定帧片段提取出粗粒度数据流;
在对任务数据流预处理之前,本实施例需要对任务数据流进行数据清洗,数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。但在实际的工作中一个分析项目70%左右的时间花在清洗数据上面。数据清洗的目的有两个,第一是通过清洗让数据可用。第二是让数据变的更适合进行后续的分析工作。换句话说就是有”脏”数据要洗,干净的数据也要洗。
数据清洗时要先处理空值,例如将空值进行删除、替换或者填充等;例如每行有一个空值就删除该行或者某一行有多个空值就删除该行;替换可以用上下行的值替换或者是用平均值替换;填充可以填0填充符号等等;处理空值完成后,对数据流进行校验,是否还存在重复值和异常值,将重复值删除,将异常值(包括非法数据或者异常数据)替换为0或者其他数值。
数据清洗完成后,获取了标准的任务数据集,本发明需要对标准的任务数据集进行处理,提取出其中的特征值,包括数据流中的帧片段在卷积神经网络中转换为二进制HashCode的值。
本实施例中,将根据设备信息,确定出客户端设备所输出的数据流类型;在本发明的物联网***环境下,客户端设备可以包括多种不同的类型,例如摄像头、智能电表等终端设备,这里终端设备可以传输不同类型的数据;而每种类型的终端设备可以传输一些较为特定的数据信息,例如摄像头主要传输视频图像,所述智能电表主要传输传感器码字信息;因此,我们可以将每种终端设备所对应的数据信息中的特定帧片段提取出来,作为该种类型数据信息的标签;边缘云服务器接收到大量的数据信息后,可以按照设备来源,划分出大致的粗粒度数据流;假设在某一时刻,边缘云服务器接收到来自电视机的数据流A和来自智能电表的数据流B的混合数据流,由于视频图像数据和传感器码字信息各自具有特定的数据帧A1和B1,我们读取数据流时,将按照第一特定帧片段A1和第一特定帧片段B1对数据流进行一个粗略的分类,即为粗粒度数据流。
S4、采用卷积神经网络从所述粗粒度数据流中的第二特定帧片段提取出细粒度数据流;
由于粗粒度数据流仅仅只是对数据进行一个大致的分类,所以本发明还需要对这个粗粒度数据流进行一个详细的划分;例如粗粒度数据流中所包含了图像数据流,这里的图像数据流可以还包括家具图像、人脸图像等等,这些数据流还可以更为细致的再进行划分,本领域技术人员可以根据实际需要,进行具体的设定;本发明就不再一一例举;假设用户需要获取其中的人脸图像,那么本发明就需要采用卷积神经网络去学习每种细粒度数据流中的第二特定帧片段,也就是说需要学习人脸图像作为数据流传输时,其中所具备的第二特定帧片段。
本发明所采用的卷积神经网络其本质为一个多层感知机,而其能够获得成功的原因在于它所采用的局部连接和权值共享的方式,一方面减少了权值的数量使得网络模型更易于优化,另一方面降低了模型的复杂程度,有效地减小了过拟合的风险。这种优点可以广泛的利用于图像数据、声纹数据等数据的处理。所述卷积神经网络的结构如图3所示,包括输入层、卷积层和池化层交替连接的特征提取层、全连接层。
这里的数据输入层主要对任务数据流进行一些处理,比如去均值(把输入数据各个维度都中心化为0,避免数据过多偏差,影响训练效果)、归一化(把所有的数据都归一到同样的范围)、PCA/白化等等。
这里的卷积层主要目的是为了提取数据的特征值,针对图像数据,卷积运算可以保持像素之间的空间关系,通过滤波器矩阵进行特征值提取,通过参数减少与权值共享,大大的减少了需要训练的参数个数。
非线性层的引入是由于使用CNN来解决的问题都是非线性的,而卷积运算是线性运算,所以必须使用一个如ReLU的非线性函数来加入非线性的性质。相较于其他非线性函数,ReLU的性能是最好的。
池化层的使用主要有以下原因:
由于其不变性,使其更关注是否存在某些特征而不是特征的具***置。可以理解为加了一个很强的验证,让学习到的特征能够容忍一些变化。减小下一层的输入大小,减小计算量与参数个数。获得定长输出。防止过拟合或者有可能会带来的欠拟合。
由此可见,使用CNN进行数据预处理,通过提取数据特征值,进行自动训练,可以有效地对数据进行精简,得到细粒度数据流,提升任务卸载方法的效率,从而进一步达到优化QoE的目的。
本发明选取CNN中的ResNet模型进行数据训练,该模型的主要思想是在网络中增加了直连通道,即Highway Network的思想。此前的网络结构是性能输入做一个非线性变换,而Highway Network则允许保留之前网络层的一定比例的输出。ResNet的思想和Highway Network的思想也非常类似,允许原始输入信息直接传到后面的层中。这种方法可以使神经网络不用学习整个输出,而是学习上一层网络的残差,因此,ResNet又称为残差网络,模型图如图4所示:
传统的卷积网络或者全连接网络在信息传递的时候或多或少会存在信息丢失,损耗等问题,同时还有导致梯度消失或者梯度***,导致很深的网络无法训练。而ResNet在一定程度上解决了这个问题,通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络只需要学习输入、输出差别的那一部分,可以有效地避免由于网络深度过大所导致的数据“遗忘”,简化学习目标,降低难度。本发明在ResNet的最后新增一层中间层,用于将数据流中的帧转换为二进制HashCode,得到特征值。
由于数据量的复杂程度很高,因此,针对此类复杂数据流本技术选取CNN算法进行数据预处理,目的是为了从海量数据中匹配用户所需要的数据,尽可能的剔除冗余数据,得到细粒度的数据流,便于后续处理,具体操作如下。
输入数据集,选取数据流中特定的帧为目标阈值,通过匹配数据流中特定的帧获取目标数据,采用ResNet模型进行数据训练,对所述ResNet进行改进,在ResNet的最后新增一层中间层,用于将细粒度数据流中的第二特定帧片段转换为二进制HashCode的值并作为目标阈值进行残差训练,直至输出的第二特定帧片段与真实的第二特定帧片段的误差最小;具体过程分为前向传播和反向传播进行详述。
如图5所示,本发明所采用的卷积神经网络对任务数据流进行训练的过程包括:
在CNN的前向传播下:
初始化数据集。根据给定输入向量与目标输出(此处设定为数据流中特定的帧)求出各个单元的输出。求出目标值与实际输出的误差,并判断其是否在误差的允许范围内。如果实际输出与目标值一致,则输出相应的数据。
针对数据集的训练过程中,存在误差的数据,需要进行反向传播。通过误差梯度,更新权值,提升数据集的准确度。
CNN的反向传播下:
如果实际输出与目标值存在误差较大,需要计算网络层中神经元的误差。求出相关的误差梯度。更新相应的权值,用以筛查后续的数据提升数据流的精度。
S5、所述客户端设备判断所述细粒度数据流是否需要卸载到服务器;
所述客户端设备判断所述细粒度数据流是否需要卸载到服务器包括判断细粒度数据流的大小是否超过本地设备计算力的预设阈值,若超过预设阈值,则将所述细粒度数据流发送到服务器中进行卸载,否则将所述细粒度数据流在所述客户端设备处进行本地处理。
所述预设阈值为本地设备的计算力预设的阈值,根据设备的不同,相应的阈值也会随之发生变化,本领域技术人员可以设备类型对所述预设阈值进行调整。
本发明面向物联网技术,由于在进行任务卸载的过程中,客户端设备与边缘云服务器之间会涉及到数据交互,而物联网技术背景下,考虑到数据传输过程中,可能会遇到网络信号较差等因素,影响数据传输的效率,降低用户体验。这些因素可能会对结果产生影响,也不便于开发者排查问题所在;因此,为了使任务卸载过程中,数据传输的过程更加可靠,本发明采用MQTT长连接进行数据传输,在传输过程中添加了信息回调机制,将数据传输的过程通过可视化的方式反映在客户端,用户可以根据回调消息判断数据是否成功卸载至边缘云以及是否收到边缘云服务器返还的相应的数据结果。下面对本发明使用的MQTT协议进行具体的讲解。
MQTT协议是一种广泛用于物联网的M2M协议,全称消息队列遥测传输协议,与HTTP相似,它的实现也是基于TCP/IP进行的,目前现有的物联网云平台都支持MQTT协议,它也是目前IoT协议中,效率最高的协议之一。
与HTTP常用的C/S架构不同,图6为MQTT消息订阅发布的走向图,发布者向服务发送发布消息,订阅者也向服务器发送订阅消息;服务器接收这些消息后,返回发布消息给订阅者;MQTT是基于Publish/Subscribe模式的轻量级通讯协议,可以通过心跳保活的机制,建立长时段的连接,而且其低开销、低带宽的特点,可以实现以极少的代码和有限的带宽为远程设备提供实时可靠的服务,因此,它可以广泛地应用于物联网相关的应用之上,与本发明面向的物联网智能家居相匹配,本发明选取MQTT协议来实现任务卸载至边缘云的过程。
具体流程如下:
判断处理后的数据集大小,是否超出设定的阈值,根据是否超出阈值来确定是否需要将数据集卸载至边缘云服务器并利用其计算资源进行处理:
如果预处理后的数据集大小,未超出预设阈值,则直接利用终端设备的本地计算资源对数据进行处理。
如果预处理后的数据集大小,超出预设阈值,则将数据流卸载至边缘云服务器进行处理。
S6、若需要卸载到服务器,则将所述细粒度数据流上传至所述边缘云服务器中,所述边缘云服务器向所述客户端设备返回上行回调消息;所述边缘云服务器进行数据处理后生成结果,并将所述结果回传至所述客户端设备中,所述客户端设备向所述边缘云服务器返回下行回调信息;
常规的卸载过程在传输数据的过程中,可能会存在数据丢失或者数据发送超时等问题。此外,由于没有设置消息回调,开发者在排查错误的过程中,可能会无法立即确定问题的所在。针对这个问题,本发明新增了回调机制,用于保障任务卸载过程中数据传输的稳定性,也便于开发者进行错误的排查,有效地提升了任务卸载方法的可靠性。
具体的,如图7所示:
S61:客户端设备使用发布模式推送细粒度数据流至边缘云服务器进行处理;
S62:边缘云服务器接收到细粒度数据流后,返回一个上行回调信息upload_reply至客户端设备,告知客户端设备已收到数据流,确保上行的细粒度数据流成功发送至边缘云服务器;
S63:客户端设备通过HTTP请求推送订阅,请求获取数据结果;
S64:边缘云服务器在接受到请求后,向客户端设备推送数据结果;
S65:客户端在接收到结果后,使用发布模式推送一个下行回调信息get_reply至边缘云服务器,告知所述边缘云服务器已收到订阅结果;
S66:服务器收到客户端所述下行回调信息后,再返回一个HTTP响应至客户端设备,确保下行的数据结果已成功返回至客户端设备;输出数据结果。
S7、若不需卸载至服务器,则在客户端设备对所述细粒度数据进行本地处理,并生成结果。
为了更直观的展示数据上行和数据下行的过程,如图8所示,在整个任务卸载的过程中,边缘云服务器负责了设备校验和数据卸载这两个过程;其余过程都是由客户端设备来负责完成的。
本技术采用CNN中的ResNet模型进行数据预处理,获取细粒度数据流,提升计算资源的利用率。对处理后的数据量进行判断,将需要进行任务卸载的数据集,卸载过程采用MQTT长连接卸载数据至边缘云服务器进行处理,得到计算结果后,再通过MQTT长连接返还处理后的结果至客户端设备,本技术在此过程中新增了消息回调,用以确保数据上行至服务器以及结果下发至客户端,便于排查过程中可能存在的问题,提升QoE。
在本发明的描述中,需要理解的是,术语“同轴”、“底部”、“一端”、“顶部”、“中部”、“另一端”、“上”、“一侧”、“顶部”、“内”、“外”、“前部”、“中央”、“两端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋转”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述卸载方法包括以下步骤:
S1、客户端设备采集设备信息,并向边缘云服务器发送所述设备信息;
S2、所述边缘云设备对所述设备信息进行校验,校验通过后与所述客户端设备建立连接;
S3、根据设备信息,确定所述客户端设备的数据流类型,并按照所述数据流类型所对应的第一特定帧片段提取出粗粒度数据流;
S4、采用卷积神经网络从所述粗粒度数据流中的第二特定帧片段提取出细粒度数据流;
S5、所述客户端设备判断所述细粒度数据流是否需要卸载到服务器;
S6、若需要卸载到服务器,则将所述细粒度数据流上传至所述边缘云服务器中,所述边缘云服务器向所述客户端设备返回上行回调消息;所述边缘云服务器进行数据处理后生成结果,并将所述结果回传至所述客户端设备中,所述客户端设备向所述边缘云服务器返回下行回调信息;
S7、若不需卸载至服务器,则在客户端设备对所述细粒度数据进行本地处理,并生成结果。
2.根据权利要求1所述的一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述边缘云设备对所述设备信息进行校验的内容包括:
校验客户端设备编号是否正确;
校验客户端设备名是否正确;
校验物联网平台的账号API是否正确;
校验IP地址是否正确。
3.根据权利要求1所述的一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述客户端设备与所述边缘云之间通过消息队列遥测传输协议建立连接。
4.根据权利要求1所述的一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述采用卷积神经网络从所述粗粒度数据流中的第二特定帧片段提取出细粒度数据流包括在所述卷积神经网络的训练过程中,利用前向传播预测出粗粒度数据流中的各个细粒度数据流的数据类型,利用后向更新权重进行拟合,在残差网络中的最后一层把输入的目标细粒度数据流中对应的第二特定帧片段标签为一串二进制哈希码字,并将所述哈希码字作为第二特定帧片段的目标阈值与前向传播所预测出的数据类型进行残差学习。
5.根据权利要求1所述的一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述客户端设备判断所述细粒度数据流是否需要卸载到服务器包括判断细粒度数据流的大小是否超过本地设备即所述客户端设备计算力的预设阈值,若超过预设阈值,则将所述细粒度数据流发送到服务器中进行卸载,否则将所述细粒度数据流在所述客户端设备处进行本地处理。
6.根据权利要求1所述的一种基于回调机制的细粒度数据流可靠卸载方法,其特征在于,所述步骤S6包括:
S61:客户端设备使用发布模式推送细粒度数据流至边缘云服务器进行处理;
S62:边缘云服务器接收到细粒度数据流后,返回一个上行回调信息至客户端设备,告知客户端设备已收到数据流,确保上行的细粒度数据流成功发送至边缘云服务器;
S63:客户端设备通过HTTP请求推送订阅,请求获取数据结果;
S64:边缘云服务器在接受到请求后,向客户端设备推送数据结果;
S65:客户端在接收到结果后,使用发布模式推送一个下行回调信息至边缘云服务器,告知所述边缘云服务器已收到订阅结果;
S66:服务器收到客户端所述下行回调信息后,再返回一个HTTP响应至客户端设备,确保下行的数据结果已成功返回至客户端设备;输出数据结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287136.7A CN112286666B (zh) | 2020-11-17 | 2020-11-17 | 基于回调机制的细粒度数据流可靠卸载方法 |
PCT/CN2021/084849 WO2022105090A1 (zh) | 2020-11-17 | 2021-04-01 | 基于回调机制的细粒度数据流可靠卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011287136.7A CN112286666B (zh) | 2020-11-17 | 2020-11-17 | 基于回调机制的细粒度数据流可靠卸载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286666A CN112286666A (zh) | 2021-01-29 |
CN112286666B true CN112286666B (zh) | 2022-07-15 |
Family
ID=74398995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011287136.7A Active CN112286666B (zh) | 2020-11-17 | 2020-11-17 | 基于回调机制的细粒度数据流可靠卸载方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112286666B (zh) |
WO (1) | WO2022105090A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286666B (zh) * | 2020-11-17 | 2022-07-15 | 重庆邮电大学 | 基于回调机制的细粒度数据流可靠卸载方法 |
CN113783716B (zh) * | 2021-07-27 | 2024-06-28 | 国网冀北电力有限公司信息通信分公司 | 基于云边协同框架的流量预测方法及装置 |
CN114462573B (zh) * | 2022-01-20 | 2023-11-14 | 内蒙古工业大学 | 一种面向边缘智能的高效层次化参数传输时延优化方法 |
CN117240887B (zh) * | 2023-10-13 | 2024-03-26 | 山东平安电气集团有限公司 | 一种智慧物联网能源管理平台*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110460638A (zh) * | 2019-07-11 | 2019-11-15 | 深圳职业技术学院 | 消息推送方法及装置 |
CN110955463A (zh) * | 2019-12-03 | 2020-04-03 | 天津大学 | 支持边缘计算的物联网多用户计算卸载方法 |
CN111199740A (zh) * | 2019-12-31 | 2020-05-26 | 重庆大学 | 一种基于边缘计算加速自动语音识别任务的卸载方法 |
CN111445026A (zh) * | 2020-03-16 | 2020-07-24 | 东南大学 | 面向边缘智能应用的深度神经网络多路径推理加速方法 |
CN111656754A (zh) * | 2018-07-13 | 2020-09-11 | 三星电子株式会社 | 用于边缘计算服务的方法及其电子装置 |
CN111797893A (zh) * | 2020-05-26 | 2020-10-20 | 华为技术有限公司 | 一种神经网络的训练方法、图像分类***及相关设备 |
AU2020102437A4 (en) * | 2020-09-25 | 2020-11-12 | Kallam, Suresh Dr | Quantum Machine Learning based Sensor Consolidation Approach for IIoT |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108012121A (zh) * | 2017-12-14 | 2018-05-08 | 安徽大学 | 一种边缘计算和云计算融合的实时视频监控方法及*** |
US11294949B2 (en) * | 2018-09-04 | 2022-04-05 | Toyota Connected North America, Inc. | Systems and methods for querying a distributed inventory of visual data |
US11954453B2 (en) * | 2019-03-12 | 2024-04-09 | International Business Machines Corporation | Natural language generation by an edge computing device |
CN112286666B (zh) * | 2020-11-17 | 2022-07-15 | 重庆邮电大学 | 基于回调机制的细粒度数据流可靠卸载方法 |
-
2020
- 2020-11-17 CN CN202011287136.7A patent/CN112286666B/zh active Active
-
2021
- 2021-04-01 WO PCT/CN2021/084849 patent/WO2022105090A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111656754A (zh) * | 2018-07-13 | 2020-09-11 | 三星电子株式会社 | 用于边缘计算服务的方法及其电子装置 |
CN110460638A (zh) * | 2019-07-11 | 2019-11-15 | 深圳职业技术学院 | 消息推送方法及装置 |
CN110955463A (zh) * | 2019-12-03 | 2020-04-03 | 天津大学 | 支持边缘计算的物联网多用户计算卸载方法 |
CN111199740A (zh) * | 2019-12-31 | 2020-05-26 | 重庆大学 | 一种基于边缘计算加速自动语音识别任务的卸载方法 |
CN111445026A (zh) * | 2020-03-16 | 2020-07-24 | 东南大学 | 面向边缘智能应用的深度神经网络多路径推理加速方法 |
CN111797893A (zh) * | 2020-05-26 | 2020-10-20 | 华为技术有限公司 | 一种神经网络的训练方法、图像分类***及相关设备 |
AU2020102437A4 (en) * | 2020-09-25 | 2020-11-12 | Kallam, Suresh Dr | Quantum Machine Learning based Sensor Consolidation Approach for IIoT |
Non-Patent Citations (5)
Title |
---|
oint Task Offloading, CNN Layer Scheduling, and Resource Allocation in Cooperative Computing System;Rong Chai等;《IEEE Systems Journal》;20200525;第14卷(第4期);第5350-5361页 * |
Secure Distributed Data Management for Fog Computing in Large-Scale IoT Application: A Blockchain-Based Solution;Zunming Chen等;《2020 IEEE International Conference on Communications Workshops》;20200721;第1-6页 * |
基于动态指针链的移动IPv6网络管理研究;尚凤军等;《高技术通讯》;20101020;第25卷(第1期);第1-9页 * |
基于深度强化学习的移动边缘计算任务卸载研究;卢海峰等;《计算机研究与发展》;20200707;第50卷(第7期);第1539-1554页 * |
移动边缘计算中资源受限的串行任务卸载策略;刘伟等;《软件学报》;20200608;第31卷(第6期);第1889-1908页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112286666A (zh) | 2021-01-29 |
WO2022105090A1 (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112286666B (zh) | 基于回调机制的细粒度数据流可靠卸载方法 | |
US11670070B2 (en) | Cloud-edge-end cooperative control method of 5G networked unmanned aerial vehicle for security rescue | |
CN108255605B (zh) | 一种基于神经网络的图像识别协同计算方法及*** | |
CN109990790B (zh) | 一种无人机路径规划方法及装置 | |
EP3471021A1 (en) | Method for determining target intelligently followed by unmanned aerial vehicle, unmanned aerial vehicle and remote controller | |
CN111464627B (zh) | 数据处理方法、边缘服务器、中心服务器及处理*** | |
WO2022228204A1 (zh) | 一种联邦学习方法以及装置 | |
CN112001274B (zh) | 人群密度确定方法、装置、存储介质和处理器 | |
CN111611129B (zh) | PaaS云平台的性能监控方法及装置 | |
CN112346936A (zh) | 应用故障根因定位方法及*** | |
US20220311678A1 (en) | Method and device for execution of deep neural network in iot edge network | |
CN114401447A (zh) | 一种视频卡顿预测方法、装置、设备和介质 | |
US20220400061A1 (en) | Methods and systems for autonomous software defined network | |
Fawzi et al. | Embedded real-time video surveillance system based on multi-sensor and visual tracking | |
CN115718868A (zh) | 模型训练方法、装置及*** | |
CN111988397B (zh) | 一种基于边缘计算的防震减灾救灾方法和*** | |
CN112016380A (zh) | 野生动物监测方法及*** | |
CN115103204B (zh) | 一种支持ai引擎的边缘智能应用实现方法及装置 | |
CN113592003B (zh) | 一种图片传输方法、装置、设备及存储介质 | |
CN115937822A (zh) | 定位建图方法、装置、电子设备及可读存储介质 | |
CN111541864B (zh) | 一种数字视网膜软件定义摄像机方法及*** | |
EP3683733A1 (en) | A method, an apparatus and a computer program product for neural networks | |
CN116600361B (zh) | 无人机组网配置方法、设备和可读存储介质 | |
CN117749836B (zh) | 一种基于人工智能的物联网终端监控方法及*** | |
WO2023207360A1 (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231214 Address after: Unit 523, 5th Floor, Building 1, No. 223 Wenhua North Road, Chancheng District, Foshan City, Guangdong Province, 528200 Patentee after: Foshan Zhongcai Investment Technology Co.,Ltd. Address before: 400065 Chongwen Road, Nanshan Street, Nanan District, Chongqing Patentee before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS |
|
TR01 | Transfer of patent right |