CN110022300B - 边缘计算实现方法、设备、系统及存储介质 - Google Patents

边缘计算实现方法、设备、系统及存储介质 Download PDF

Info

Publication number
CN110022300B
CN110022300B CN201910168661.8A CN201910168661A CN110022300B CN 110022300 B CN110022300 B CN 110022300B CN 201910168661 A CN201910168661 A CN 201910168661A CN 110022300 B CN110022300 B CN 110022300B
Authority
CN
China
Prior art keywords
data
calculation
stream
edge
function
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
Application number
CN201910168661.8A
Other languages
English (en)
Other versions
CN110022300A (zh
Inventor
白宇
冯景辉
王文琦
孙言真
鲁宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN201910168661.8A priority Critical patent/CN110022300B/zh
Publication of CN110022300A publication Critical patent/CN110022300A/zh
Application granted granted Critical
Publication of CN110022300B publication Critical patent/CN110022300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1013Network architectures, gateways, control or user entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了边缘计算实现方法、设备、系统及存储介质,其中方法可包括:流计算设备获取发送设备传输来的数据流;在数据流传输过程中,流计算设备将获取到的数据传送给流计算容器,并获取流计算容器返回的进行函数计算后的数据,将返回的数据发送给接收设备;其中,流计算设备及流计算容器均部署在网络边缘设备上。应用本发明所述方案,能够有效地解决响应延时等问题。

Description

边缘计算实现方法、设备、系统及存储介质
【技术领域】
本发明涉及计算机应用技术,特别涉及边缘计算实现方法、设备、系统及存储介质。
【背景技术】
边缘计算(edge computing)是一种在物理上靠近数据生成的位置处理数据的方法。
目前的边缘计算产品中,需要获取到全部数据(即完整数据)后再进行函数计算,这样会导致很大的响应延时,而边缘计算对处理时间的要求通常是越快越好。另外,目前的边缘计算产品无法处理超大数据,因为无法将数据全部接收缓存在本地。
【发明内容】
有鉴于此,本发明提供了边缘计算实现方法、设备、系统及存储介质。
具体技术方案如下:
一种边缘计算实现方法,包括:
流计算设备获取发送设备传输来的数据流;
在所述数据流传输过程中,所述流计算设备将获取到的数据传送给流计算容器,并获取所述流计算容器返回的进行函数计算后的数据,将所述返回的数据发送给接收设备;
其中,所述流计算设备及所述流计算容器均部署在网络边缘设备上。
根据本发明一优选实施例,所述获取所述流计算容器返回的进行函数计算后的数据包括:
获取所述流计算容器返回的、由部署在所述流计算容器上的计算函数进行函数计算后的数据。
根据本发明一优选实施例,所述流计算容器的个数至少为一;
当所述流计算容器的个数大于一时,所述流计算设备将获取到的数据传送给流计算容器包括:
所述流计算设备选定一个流计算容器,将获取到的数据传送给所述选定的流计算容器。
根据本发明一优选实施例,不同的流计算容器中分别部署有一个不同的计算函数;
所述选定的流计算容器包括:适用于所述数据流的计算函数所在的流计算容器。
一种边缘计算实现方法,包括:
在发送设备通过流计算设备向接收设备传输数据流的过程中,流计算容器获取所述流计算设备传送来的数据,所述数据为所述流计算设备获取自所述发送设备的数据;
所述流计算容器向所述流计算设备返回进行函数计算后的数据,以便所述流计算设备将所述返回的数据发送给所述接收设备;
其中,所述流计算设备及所述流计算容器均部署在网络边缘设备上。
根据本发明一优选实施例,所述进行函数计算后的数据包括:由所述流计算容器上部署的计算函数进行函数计算后的数据。
根据本发明一优选实施例,所述计算函数在所述数据流传输过程中一直处于运行状态,函数计算产生的中间上下文信息保存在所述计算函数的局部变量中。
根据本发明一优选实施例,不同的流计算容器中分别部署有一个不同的计算函数。
第一边缘计算实现设备,包括:第一数据处理模块以及第二数据处理模块;
所述第一数据处理模块,用于获取发送设备传输来的数据流,并传送给所述第二数据处理模块;
所述第二数据处理模块,用于在所述数据流传输过程中,将获取到的数据传送给第二边缘计算实现设备,并获取所述第二边缘计算实现设备返回的进行函数计算后的数据,将所述返回的数据发送给接收设备;
其中,所述第一边缘计算实现设备及所述第二边缘计算实现设备均部署在网络边缘设备上。
根据本发明一优选实施例,所述第二数据处理模块获取所述第二边缘计算实现设备返回的、由部署在所述第二边缘计算实现设备上的计算函数进行函数计算后的数据。
根据本发明一优选实施例,所述第二边缘计算实现设备的个数至少为一;
所述第二数据处理模块进一步用于,当所述第二边缘计算实现设备的个数大于一时,选定一个第二边缘计算实现设备,将获取到的数据传送给所述选定的第二边缘计算实现设备。
根据本发明一优选实施例,不同的第二边缘计算实现设备中分别部署有一个不同的计算函数;
所述选定的第二边缘计算实现设备包括:适用于所述数据流的计算函数所在的第二边缘计算实现设备。
第二边缘计算实现设备,包括:第三数据处理模块以及第四数据处理模块;
所述第三数据处理模块,用于在发送设备通过第一边缘计算实现设备向接收设备传输数据流的过程中,获取所述第一边缘计算实现设备传送来的数据,所述数据为所述第一边缘计算实现设备获取自所述发送设备的数据;
所述第四数据处理模块,用于向所述第一边缘计算实现设备返回进行函数计算后的数据,以便所述第一边缘计算实现设备将所述返回的数据发送给所述接收设备;
其中,所述第一边缘计算实现设备及所述第二边缘计算实现设备均部署在网络边缘设备上。
根据本发明一优选实施例,所述进行函数计算后的数据包括:由所述第二边缘计算实现设备上部署的计算函数进行函数计算后的数据。
根据本发明一优选实施例,所述计算函数在所述数据流传输过程中一直处于运行状态,函数计算产生的中间上下文信息保存在所述计算函数的局部变量中。
根据本发明一优选实施例,不同的第二边缘计算实现设备中分别部署有一个不同的计算函数。
一种边缘计算实现系统,包括:如上所述的第一边缘计算实现设备以及如上所述的第二边缘计算实现设备。
一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
基于上述介绍可以看出,采用本发明所述方案,不需要等到获取到全部数据后再进行函数计算,而是可在数据流的传输过程中,即对当前获取到的数据进行函数计算,并将处理后的数据即刻发送出去,从而有效地解决了响应延时问题,而且,在对数据流进行处理时,无需将数据缓存到本地,从而可支持超大数据处理,扩大了适用范围,具有广泛适用性。
【附图说明】
图1为本发明所述边缘计算实现方法第一实施例的流程图。
图2为本发明所述边缘计算实现方法第二实施例的流程图。
图3为本发明所述Server向Client传输数据流的过程示意图。
图4为本发明第一边缘计算实现设备实施例的组成结构示意图。
图5为本发明第二边缘计算实现设备实施例的组成结构示意图。
图6示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
【具体实施方式】
为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
另外,应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明所述边缘计算实现方法第一实施例的流程图。如图1所示,包括以下具体实现方式。
在101中,流计算设备获取发送设备传输来的数据流。
在102中,在数据流传输过程中,流计算设备将获取到的数据传送给流计算容器,并获取流计算容器返回的进行函数计算后的数据,将返回的数据发送给接收设备;其中,流计算设备及流计算容器均部署在网络边缘设备上。
流计算设备可部署在网络(如互联网或物联网等)边缘设备上,如可部署在内容分发网络(CDN,Content Delivery Network)节点或移动边缘计算(MEC,Mobile EdgeComputing)设备上等。
流计算设备的形式可为支持各种协议的代理服务器,如超文本传输协议(HTTP,Hyper Text Transfer Protocol)或超文本传输安全协议(HTTPS,Hypertext TransferProtocol Secure)等,客户端设备(Client)和服务器端(Server)之间的所有通信数据均可通过流计算设备进行转发。
流计算容器也可部署在网络边缘设备上。通常来说,流计算设备和流计算容器需要位于同一机房,可以位于该机房的同一设备上,也可位于不同设备上。
流计算容器上还可部署有计算函数,如无服务器(Serverless)函数,或称为函数即服务(FaaS,Function as a Service)函数。
流计算设备可获取发送设备传输来的数据流,在数据流传输过程中(即从数据流传输开始到结束),流计算设备可将获取到的数据传送给流计算容器,并可获取流计算容器返回的、由部署在流计算容器上的计算函数进行函数计算后的数据,将返回的数据发送给接收设备。
在数据流传输过程中,流计算节点可将获取到的数据以数据块的形式传送给流计算容器,如当每次满足触发条件时,则将从上次触发到本次触发之间获取到的数据作为一个数据块传送给流计算容器,触发条件具体为何种条件不作限制,比如,可在当缓冲区(buffer)中的数据已满时,则将buffer中的数据作为一个数据块传送给流计算容器,或者,也可以采用其它触发方式,另外,每次传送的数据块大小可以相同,也可以不同。
相比于现有技术,本实施例所述方式中不需要等到获取到全部数据后再进行函数计算,而是可在数据流的传输过程中,即对当前获取到的数据进行函数计算,并将处理后的数据即刻发送出去,从而有效地解决了响应延时问题,而且,在对数据流进行处理时,无需将数据缓存到本地,从而可支持超大数据处理,理论上可支持无限大数据处理,从而扩大了适用范围,具有广泛适用性。
可在流计算设备和流计算容器之间定义数据流的标准的读(reader)和写(writer)接口,这两个接口可以被计算函数调用,使得计算函数可以控制数据流的接收和发送,并可在接收到数据之后及发送数据之前对数据进行函数计算。函数计算通过流计算容器成为了数据流传输过程中的一部分。
现有技术中,通常通过远程过程调用协议(PRC,Remote Procedure CallProtocol)来进行函数调用,这样会涉及到数据的多次拷贝,从而会导致处理性能的下降,而本实施例所述方式中不需要进行数据拷贝,可实现数据的灵活读取和灵活发送,从而提升了处理性能。
流计算容器的个数可以为一,也可以大于一。当大于一时,流计算设备可首先选定一个流计算容器,之后可将获取到的数据传送给选定的流计算容器。不同的流计算容器中可分别部署有不同的计算函数。相应地,选定的流计算容器可为:适用于当前处理的数据流的计算函数所在的流计算容器。
通常来说,为实现用户的隔离和资源的隔离等,一个流计算容器中只会部署有一个计算函数,不同的流计算容器中可分别部署有不同的计算函数。
流计算容器可支持多种编程语言来编写计算函数,如Node.js、python等,针对不同的语言,可分别实现标准定义的reader和writer接口,即达到对于相同业务不同语言编写的计算函数逻辑和流程是一样的,差异部分可由底层的语言框架屏蔽掉。
如前所述,本实施例所述方式理论上可支持上无限大数据处理,只要数据流不间断就可以对整个流上的数据进行函数计算。从流计算节点获取到发送设备传输来的数据开始,获取到的数据被传送给选定的流计算容器,其中的计算函数被调用,之后这个计算函数就可以一直处于运行状态,即一直处理这条数据流直到传输结束。由于计算函数在数据流传输过程中不会退出,因此可以将函数计算产生的中间状态上下文信息保存在函数的局部变量中,如可以保存已处理数据的计数等,这样在通过reader接口读取到下一块数据时即可使用所保存的中间状态上下文信息。
边缘计算所用的计算函数通常都是无状态的,即函数运行完退出后,再次触发运行相同的函数也没有上一次运行时的状态上下文信息。针对现有技术中无法处理超大数据的问题,现有技术中又提出可将超大数据拆分为多个小数据,分别对每个小数据进行边缘计算,但是由于计算函数的无状态的特点,无法在多次函数计算中共享中间状态上下文信息,因此需要利用额外的外部组件来进行中间状态上下文信息的存储,从而增加了实现复杂度。而本实施例所述方式中可利用一个计算函数来处理整个数据流,中间状态上下文信息可保存在计算函数的局部变量中,无需使用外部组件进行存储等,从而降低了实现复杂度。
另外,基于上述可以利用计算函数的局部变量来保存中间状态上下文信息的特点,可以灵活选择需要对哪些数据进行函数计算。如需要在视频A中插入一段广告,那么可在跳过预定的N个(可通过对已处理数据进行计数实现)视频帧之后,N为正整数,通过函数计算插入一段广告视频数据,之后继续传输视频A。这种方式在现有技术中是无法实现的。当然,也可以对整个数据流中的所有数据均进行函数计算,如分别对视频A中的每一个视频帧画面进行预定调整等。
图2为本发明所述边缘计算实现方法第二实施例的流程图。如图2所示,包括以下具体实现方式。
在201中,在发送设备通过流计算设备向接收设备传输数据流的过程中,流计算容器获取流计算设备传送来的数据,所述数据为流计算设备获取自发送设备的数据。
在202中,流计算容器向流计算设备返回进行函数计算后的数据,以便流计算设备将返回的数据发送给接收设备,其中,流计算设备及流计算容器均部署在网络边缘设备上。
流计算容器上可部署有计算函数,如Serverless函数或称为FaaS函数。相应地,进行函数计算后的数据可为由计算函数进行函数计算后的数据。
每个流计算容器中通常只会部署一个计算函数,不同的流计算容器中可分别部署不同的计算函数。
流计算容器和流计算设备之间可定义有数据流的标准的reader和writer接口,这两个接口可以被计算函数调用,使得计算函数可以控制数据流的接收和发送,并可在接收到数据之后及发送数据之前对数据进行函数计算。
流计算容器可支持多种编程语言来编写计算函数,如Node.js、python等,针对不同的语言,可分别实现标准定义的reader和writer接口,即达到对于相同业务不同语言编写的计算函数逻辑和流程是一样的,差异部分可由底层的语言框架屏蔽掉。
计算函数在数据流传输过程中可一直处于运行状态,函数计算产生的中间上下文信息可保存在计算函数的局部变量中,基于该特点,可以灵活选择需要对哪些数据进行函数计算等。
需要说明的是,对于前述的各方法实施例,为了简单描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
上述各实施例中的发送设备可为Client或Server,若发送设备为Client,那么接收设备可为Server,若发送设备为Server,则接收设备可为Client。
以Server向Client传输数据流为例,如图3所示,图3为本发明所述Server向Client传输数据流的过程示意图,其中的数据1到数据M属于同一数据流,如属于同一个传输控制协议(TCP,Transmission Control Protocol)数据流,M为大于3的正整数,数据1已经传输到Client,数据2正从流计算节点向Client传输,数据3被传送给流计算容器1进行函数计算,数据M正从Server向流计算节点传输。
通过上述处理方式,在数据流的传输过程中,即可对当前获取到的数据进行函数计算,并将处理后的数据即刻发送出去,从而有效地解决了响应延时问题,而且,可支持超大数据处理,理论上可支持无限大数据处理,另外,不需要进行数据拷贝,可以实现数据的灵活读取和灵活发送,提升了处理性能,并且,可利用一个计算函数来处理整个数据流,中间状态上下文信息可保存在计算函数的局部变量中,无需使用外部组件进行存储,从而降低了实现复杂度,并可灵活地选择需要对哪些数据进行函数计算等。
以上是关于方法实施例的介绍,以下通过设备实施例,对本发明所述方案进行进一步说明。
图4为本发明第一边缘计算实现设备实施例的组成结构示意图。如图4所示,包括:第一数据处理模块401以及第二数据处理模块402。
第一数据处理模块401,用于获取发送设备传输来的数据流,并传送给第二数据处理模块402。
第二数据处理模块402,用于在数据流传输过程中,将获取到的数据传送给第二边缘计算实现设备,并获取第二边缘计算实现设备返回的进行函数计算后的数据,将返回的数据发送给接收设备。
第一边缘计算实现设备及第二边缘计算实现设备均可部署在网络边缘设备上。如可部署在CDN节点或MEC设备上等。通常来说,第一边缘计算实现设备及第二边缘计算实现设备需要位于同一机房,可以位于该机房的同一设备上,也可位于不同设备上。
第一数据处理模块401可获取发送设备传输来的数据流,在数据流传输过程中,第二数据处理模块402可将获取到的数据传送给第二边缘计算实现设备,并可获取第二边缘计算实现设备返回的、由部署在第二边缘计算实现设备上的计算函数进行函数计算后的数据,将返回的数据发送给接收设备。
第一边缘计算实现设备和第二边缘计算实现设备之间可定义有数据流的标准的reader和writer接口,这两个接口可以被计算函数调用,使得计算函数可以控制数据流的接收和发送,并可在接收到数据之后及发送数据之前对数据进行函数计算。
第二边缘计算实现设备的个数至少为一,即可以为一,也可以大于一。当第二边缘计算实现设备的个数大于一时,第二数据处理模块402可选定一个第二边缘计算实现设备,并将获取到的数据传送给选定的第二边缘计算实现设备。
不同的第二边缘计算实现设备中可分别部署有一个不同的计算函数。相应地,选定的第二边缘计算实现设备可为:适用于数据流的计算函数所在的第二边缘计算实现设备。
图5为本发明第二边缘计算实现设备实施例的组成结构示意图。如图5所示,包括:第三数据处理模块501以及第四数据处理模块502。
第三数据处理模块501,用于在发送设备通过第一边缘计算实现设备向接收设备传输数据流的过程中,获取第一边缘计算实现设备传送来的数据,所述数据为第一边缘计算实现设备获取自发送设备的数据。
第四数据处理模块502,用于向第一边缘计算实现设备返回进行函数计算后的数据,以便第一边缘计算实现设备将返回的数据发送给接收设备。
第一边缘计算实现设备及第二边缘计算实现设备均可部署在网络边缘设备上。
第二边缘计算实现设备上可部署有计算函数,如Serverless函数或称为FaaS函数。相应地,进行函数计算后的数据可包括:由第二边缘计算实现设备上部署的计算函数进行函数计算后的数据。
不同的第二边缘计算实现设备中可分别部署有一个不同的计算函数。
第二边缘计算实现设备及第一边缘计算实现设备之间可定义有数据流的标准的reader和writer接口,这两个接口可以被计算函数调用,使得计算函数可以控制数据流的接收和发送,并可在接收到数据之后及发送数据之前对数据进行函数计算。
第二边缘计算实现设备可支持多种编程语言来编写计算函数,如Node.js、python等,针对不同的语言,可分别实现标准定义的reader和writer接口,即达到对于相同业务不同语言编写的计算函数逻辑和流程是一样的,差异部分可由底层的语言框架屏蔽掉。
计算函数在数据流传输过程中一直处于运行状态,函数计算产生的中间上下文信息可保存在计算函数的局部变量中,基于该特点,可以灵活选择需要对哪些数据进行函数计算。
本发明中同时公开了一种边缘计算实现系统,包括:如图4所示的第一边缘计算实现设备以及如图5所示的第二边缘计算实现设备。
上述设备及系统实施例的具体工作流程请参照前述方法实施例中的相关说明,不再赘述。
总之,采用本发明设备及系统实施例所述方案,在数据流的传输过程中,即可对当前获取到的数据进行函数计算,并将处理后的数据即刻发送出去,从而有效地解决了响应延时问题,而且,可支持超大数据处理,理论上可支持无限大数据处理,另外,不需要进行数据拷贝,可以实现数据的灵活读取和灵活发送,提升了处理性能,并且,可利用一个计算函数来处理整个数据流,中间状态上下文信息可保存在计算函数的局部变量中,无需使用外部组件进行存储,从而降低了实现复杂度,并可灵活地选择需要对哪些数据进行函数计算等。
图6示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图6显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1或图2所示实施例中的方法。
本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1或图2所示实施例中的方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (19)

1.一种边缘计算实现方法,其特征在于,包括:
流计算设备获取发送设备传输来的数据流;
在所述数据流的传输过程中,所述流计算设备将获取到的数据传送给流计算容器,并获取所述流计算容器返回的进行函数计算后的数据,将所述返回的数据发送给接收设备;
其中,所述流计算设备及所述流计算容器均部署在网络边缘设备上。
2.根据权利要求1所述的方法,其特征在于,
所述获取所述流计算容器返回的进行函数计算后的数据包括:
获取所述流计算容器返回的、由部署在所述流计算容器上的计算函数进行函数计算后的数据。
3.根据权利要求2所述的方法,其特征在于,
所述流计算容器的个数至少为一;
当所述流计算容器的个数大于一时,所述流计算设备将获取到的数据传送给流计算容器包括:
所述流计算设备选定一个流计算容器,将获取到的数据传送给所述选定的流计算容器。
4.根据权利要求3所述的方法,其特征在于,
不同的流计算容器中分别部署有一个不同的计算函数;
所述选定的流计算容器包括:适用于所述数据流的计算函数所在的流计算容器。
5.一种边缘计算实现方法,其特征在于,包括:
在发送设备通过流计算设备向接收设备传输数据流的过程中,流计算容器获取所述流计算设备传送来的数据,所述数据为所述流计算设备获取自所述发送设备的数据;
所述流计算容器向所述流计算设备返回进行函数计算后的数据,以便所述流计算设备将所述返回的数据发送给所述接收设备;
其中,所述流计算设备及所述流计算容器均部署在网络边缘设备上。
6.根据权利要求5所述的方法,其特征在于,
所述进行函数计算后的数据包括:由所述流计算容器上部署的计算函数进行函数计算后的数据。
7.根据权利要求6所述的方法,其特征在于,
所述计算函数在所述数据流的传输过程中一直处于运行状态,函数计算产生的中间上下文信息保存在所述计算函数的局部变量中。
8.根据权利要求6所述的方法,其特征在于,
不同的流计算容器中分别部署有一个不同的计算函数。
9.第一边缘计算实现设备,其特征在于,包括:第一数据处理模块以及第二数据处理模块;
所述第一数据处理模块,用于获取发送设备传输来的数据流,并传送给所述第二数据处理模块;
所述第二数据处理模块,用于在所述数据流的传输过程中,将获取到的数据传送给第二边缘计算实现设备,并获取所述第二边缘计算实现设备返回的进行函数计算后的数据,将所述返回的数据发送给接收设备;
其中,所述第一边缘计算实现设备及所述第二边缘计算实现设备均部署在网络边缘设备上。
10.根据权利要求9所述的第一边缘计算实现设备,其特征在于,
所述第二数据处理模块获取所述第二边缘计算实现设备返回的、由部署在所述第二边缘计算实现设备上的计算函数进行函数计算后的数据。
11.根据权利要求10所述的第一边缘计算实现设备,其特征在于,
所述第二边缘计算实现设备的个数至少为一;
所述第二数据处理模块进一步用于,当所述第二边缘计算实现设备的个数大于一时,选定一个第二边缘计算实现设备,将获取到的数据传送给所述选定的第二边缘计算实现设备。
12.根据权利要求11所述的第一边缘计算实现设备,其特征在于,
不同的第二边缘计算实现设备中分别部署有一个不同的计算函数;
所述选定的第二边缘计算实现设备包括:适用于所述数据流的计算函数所在的第二边缘计算实现设备。
13.第二边缘计算实现设备,其特征在于,包括:第三数据处理模块以及第四数据处理模块;
所述第三数据处理模块,用于在发送设备通过第一边缘计算实现设备向接收设备传输数据流的过程中,获取所述第一边缘计算实现设备传送来的数据,所述数据为所述第一边缘计算实现设备获取自所述发送设备的数据;
所述第四数据处理模块,用于向所述第一边缘计算实现设备返回进行函数计算后的数据,以便所述第一边缘计算实现设备将所述返回的数据发送给所述接收设备;
其中,所述第一边缘计算实现设备及所述第二边缘计算实现设备均部署在网络边缘设备上。
14.根据权利要求13所述的第二边缘计算实现设备,其特征在于,
所述进行函数计算后的数据包括:由所述第二边缘计算实现设备上部署的计算函数进行函数计算后的数据。
15.根据权利要求14所述的第二边缘计算实现设备,其特征在于,
所述计算函数在所述数据流的传输过程中一直处于运行状态,函数计算产生的中间上下文信息保存在所述计算函数的局部变量中。
16.根据权利要求14所述的第二边缘计算实现设备,其特征在于,
不同的第二边缘计算实现设备中分别部署有一个不同的计算函数。
17.一种边缘计算实现系统,其特征在于,包括:
如权利要求9-12中任一项所述的第一边缘计算实现设备以及如权利要求13-16中任一项所述的第二边缘计算实现设备。
18.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~8中任一项所述的方法。
CN201910168661.8A 2019-03-06 2019-03-06 边缘计算实现方法、设备、系统及存储介质 Active CN110022300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910168661.8A CN110022300B (zh) 2019-03-06 2019-03-06 边缘计算实现方法、设备、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910168661.8A CN110022300B (zh) 2019-03-06 2019-03-06 边缘计算实现方法、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110022300A CN110022300A (zh) 2019-07-16
CN110022300B true CN110022300B (zh) 2021-09-21

Family

ID=67189308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910168661.8A Active CN110022300B (zh) 2019-03-06 2019-03-06 边缘计算实现方法、设备、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110022300B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149575B (zh) * 2023-04-20 2023-07-25 北京大学 面向服务器无感知计算的磁盘冗余阵列写入方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106851227A (zh) * 2017-03-30 2017-06-13 安徽四创电子股份有限公司 监控视频添加数字水印的系统及其添加数字水印方法
CN107734558A (zh) * 2017-10-26 2018-02-23 北京邮电大学 一种基于多服务器的移动边缘计算控制及资源调度方法
CN108494612B (zh) * 2018-01-19 2021-06-08 西安电子科技大学 一种提供移动边缘计算服务的网络系统及其服务方法
CN108491253A (zh) * 2018-01-30 2018-09-04 济南浪潮高新科技投资发展有限公司 一种计算任务处理方法以及边缘计算设备
CN108509276B (zh) * 2018-03-30 2021-11-30 南京工业大学 一种边缘计算环境中的视频任务动态迁移方法
CN109067859B (zh) * 2018-07-20 2021-03-16 北京航空航天大学 一种面向跨域协同服务的双层云架构系统及实现方法
CN109041012A (zh) * 2018-08-21 2018-12-18 上海交通大学 基于综合通信与计算能力的基站选择方法和系统
CN109491790B (zh) * 2018-11-02 2021-08-27 中山大学 基于容器的工业物联网边缘计算资源分配方法及系统

Also Published As

Publication number Publication date
CN110022300A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
EP4047934A1 (en) Message sending method and device, readable medium and electronic device
CN108965098B (zh) 基于在线直播的消息推送方法、装置、介质和电子设备
CN112416632B (zh) 事件通信方法、装置、电子设备和计算机可读介质
CN112269770B (zh) 文档共享方法、装置、系统和电子设备
CN112434620B (zh) 场景文字识别方法、装置、设备和计算机可读介质
US20150235320A1 (en) Securities information display method, apparatus, and system
CN110022300B (zh) 边缘计算实现方法、设备、系统及存储介质
US20190370293A1 (en) Method and apparatus for processing information
CN110910469A (zh) 一种绘制笔迹的方法、装置、介质和电子设备
CN108768823B (zh) 用于处理消息、显示消息的方法和设备
CN106878151A (zh) 一种用于传输信息的方法、设备及系统
US20210112025A1 (en) Method and server for processing messages
CN113765772B (zh) 一种风险控制方法、装置、电子设备和存储介质
CN112256221A (zh) 信息显示方法、装置和电子设备
US20230402031A1 (en) Speech processing method and apparatus, and electronic device
CN108494700B (zh) 跨链路数据传输方法、装置、计算机设备及存储介质
CN111143740B (zh) 信息处理方法、装置及电子设备
CN114490718A (zh) 数据输出方法、装置、电子设备和计算机可读介质
CN113127561B (zh) 业务单号的生成方法、装置、电子设备和存储介质
CN114582111A (zh) 基于5g网络的无人机控制方法、装置和电子设备
CN114189518A (zh) 应用于计算机集群的通信方法及通信装置
CN110740152B (zh) 测试任务的处理方法、装置和系统
CN112965778B (zh) 聊天页面展示方法、装置、电子设备和计算机可读介质
CN110708425A (zh) 消息展示方法、装置和电子设备
CN117675720B (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