一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

阻止边缘计算系统中的数据溢出的制作方法

2022-10-22 05:50:32 来源:中国专利 TAG:


1.本公开一般涉及阻止存储器设备中的数据溢出。更具体地,但不作为限制,本公开涉及阻止边缘计算系统中的数据溢出。


背景技术:

2.分布式计算系统(例如,云计算系统、数据网格和计算集群)最近越来越受欢迎,因为它们相比传统计算系统具有提高灵活性、响应性和速度的能力。在某些情况下,通过采用边缘计算解决方案,可以进一步提高分布式计算系统的响应速度。边缘计算是一种网络理念,侧重于将计算能力和数据存储尽可能靠近数据源,以减少延迟和带宽使用。通常,边缘计算可以涉及在位于分布式计算系统的物理边缘处的节点上执行服务。这种服务的示例可以包括数据处理服务和数据存储服务。将节点定位在分布式计算系统的物理边缘处会导致节点在物理上更靠近向分布式计算系统提供数据的客户端设备。边缘节点与客户端设备的这种相对紧密的物理接近可以减少延迟并提高服务的感知质量。
附图说明
3.图1是根据本公开的一些方面的分布式计算系统的示例的框图。
4.图2是根据本公开的一些方面的边缘计算系统的示例的框图。
5.图3是根据本公开的一些方面的用于阻止数据溢出的过程的示例的流程图。
具体实施方式
6.分布式计算系统可以包括边缘计算系统,用来提高提供给客户端设备的服务的响应性和速度。边缘计算系统可以是位于分布式计算系统的物理边缘处的计算系统,使得边缘计算系统在物理上比分布式计算系统的非边缘部分更靠近客户端设备。边缘计算系统可以包括一个或多个边缘节点,这些边缘节点是位于分布式计算系统的物理边缘处的节点(例如,服务器)。边缘节点能够以比没有这种边缘计算系统时更快的速度向客户端设备提供服务。尽管边缘计算系统具有这些和其他优点,但边缘计算系统也有局限性。例如,考虑到维护大量地理上分散的边缘计算系统的管理和财务负担,边缘计算系统的计算能力和数据存储能力通常是有限的。作为一个特定的示例,亚马逊网络服务(amazon web)提供的边缘节点可能只有两个中央处理器、4gb(gigabytes)的存储器和8tb(terabytes)的可用存储空间。随着5g和其他技术的进步,这些能力限制将变得更加明显,因为数据在边缘处以指数速率生成和传输。
7.在计算和存储能力有限的情况下,向边缘节点快速生成和传输数据会导致许多问题。例如,边缘计算系统可以被配置为从客户端设备接收数据,将数据存储在本地存储设备中达一段时间(例如,对数据执行某些处理操作),然后将数据复制到远程存储设备(诸如云存储),使得数据可以从本地存储设备中移除,以释放空间用于来自客户端设备的新数据。将数据复制到远程存储可以涉及将数据从本地存储设备拷贝到远程存储设备,并且一旦拷
贝过程完成,就从本地存储设备中移除数据。但是,如果客户端设备向边缘计算系统传输数据的速度快于边缘计算系统将其存储的数据复制到远程存储的速度,则可能发生数据溢出。数据溢出可以指本地存储设备中没有足够的可用空间来写入来自客户端设备的新数据的情况,这可能导致本地存储设备中的至少一些现有数据(例如,非复制数据)被重写。除其他问题外,这可能导致被覆盖数据的损坏或丢失。
8.本公开的某些方面和特征可以通过提供一种边缘计算系统来克服一个或多个上述问题,该边缘计算系统可以在网络堆栈的传送层使用存储器缓冲区来阻止边缘计算系统的本地存储设备溢出。例如,边缘计算系统可以包括本地存储设备,该本地存储设备可以是边缘计算系统本地的存储设备。边缘计算系统可以与本地存储设备通信,以确定本地存储设备中的可用存储空间量是高于还是低于预定阈值量(例如,5%)。如果可用存储空间量低于预定阈值量,则边缘计算系统可以在网络堆栈的传送层接收来自客户端设备的传入数据,并将传入数据保持在与网络堆栈的传送层相关联的一个或多个存储器缓冲区中,而不是立即将传入数据拷贝到本地存储设备。当传入数据被保持在存储器缓冲区时,边缘计算系统还可以将数据从本地存储设备复制到远程存储设备。由于此复制过程,本地存储设备中的可用存储空间量最终将增加到预定阈值量以上。一旦本地存储设备中的可用存储空间量高于预定阈值量,边缘计算系统就可以从存储器缓冲区中取回(retrieve)传入数据,将其存储在本地存储设备中,并将其从存储器缓冲区中移除(例如,删除)。在一些示例中,一旦传入数据已经被写入本地存储设备,边缘计算系统可以仅向客户端设备确认(acknowledge)接收到传入数据,使得客户端设备将在存储器缓冲区溢出的情况下重发数据。每当本地存储设备中的可用存储空间量低于预定阈值量时,可以重复该过程,以帮助阻止关于本地存储设备的数据溢出。
9.在一些示例中,边缘计算系统可以使用一种或多种附加的或替代的技术来帮助阻止关于本地存储设备的数据溢出。例如,边缘计算系统可以确定存储速率和移除速率。存储速率可以是边缘计算系统将来自客户端设备的传入数据存储到本地存储设备的第一速率。移除速率可以是存储的数据从本地存储设备被移除(例如,在被复制到远程存储设备之后)的第二速率。边缘计算系统可以监控这些速率,以确定存储速率是否超过移除速率(这可能导致数据溢出)。如果是,边缘计算系统可以调整存储速率或移除速率。例如,边缘计算系统可以通过向客户端设备传输通信来调整存储速率,以使客户端设备减慢其向边缘计算系统进行数据传输的速率。作为另一个示例,边缘计算系统可以通过从(i)将存储的数据异步复制到远程存储的第一模式切换到(ii)将存储的数据同步复制到远程存储的第二模式,来调整移除速率。从第一模式切换到第二模式可以致使对存储的数据进行更快的复制,有助于阻止关于本地存储设备的数据溢出。
10.在一些示例中,边缘计算系统可以预测本地存储设备在未来时间点是否将具有小于预定阈值量的可用存储空间,如果是,则主动执行一个或多个操作来阻止这种事件。例如,边缘计算系统可以访问与过去从客户端设备接收的数据相关联的历史信息。历史信息可以包括过去从客户端设备接收数据的速率、过去从客户端设备接收的数据的类型(例如,音乐、电影、图像或文本文件)、过去的存储速率、过去的移除速率,或这些的任意组合。作为一个特定示例,历史信息可以是指示在先前时间跨度上由客户端设备向边缘计算系统传输的数据量的时间序列。边缘计算系统可以分析历史信息,以预测本地存储设备在未来时间
点是否将具有小于预定阈值量的可用存储空间。例如,边缘计算系统可以提供历史信息作为模型(例如,神经网络、自回归集成移动平均模型,或回归模型)的输入,以生成对在未来不同时间点本地存储设备中空闲空间量的预测。边缘计算系统然后可以分析预测,以确定本地存储设备中空闲空间量在未来时间点是否将小于或等于阈值量。如果是,边缘计算系统可以执行一个或多个操作,诸如降低存储速率或增加移除速率,以帮助阻止关于本地存储设备的数据溢出。边缘计算系统可以周期性间隔或基本连续地重复该过程,以帮助阻止数据溢出的发生。
11.给出这些说明性示例是为了向读者介绍本文讨论的一般主题,而不意图限制所公开概念的范围。以下部分参照附图描述了各种附加特征和示例,其中相同的数字表示相同的元素,但是,与说明性示例一样,不应用于限制本公开。
12.图1是根据本公开的一些方面的分布式计算系统100的示例的框图。分布式计算系统100包括边缘计算系统104和非边缘计算系统134。边缘计算系统104可以位于分布式计算系统100的物理边缘,并且在地理上比非边缘计算系统134更靠近客户端设备102a-b。边缘计算系统104可以被配置为向任意数量的客户端设备102a-b及其组合提供服务,诸如数据处理服务或数据存储服务。客户端设备102a-b的示例可以包括移动电话、物联网设备、传感器、膝上型计算机、台式计算机、可穿戴设备、服务器或这些设备的任意组合。
13.边缘计算系统104可以包括被配置为向客户端设备102提供服务的节点。这些节点可以被称为边缘节点,因为它们是边缘计算系统104的一部分,并且它们位于分布式计算系统100的物理边缘。尽管图1中为简单起见,仅示出了一个边缘节点106,边缘计算系统104可以包括任意数量的边缘节点及其组合,这些边缘节点可以单独或共同实现本文描述的一些或全部功能。因此,本文描述的边缘节点106可以代表一个边缘节点或多个边缘节点。
14.边缘节点106可以接收来自客户端设备102a-b的传入数据114a-b,并将传入数据114a-b存储在本地存储设备112中。在一些示例中,传入数据114a-b可以包括数据对象,并且本地存储设备可以包括对象存储。如本文中所使用的,术语“传入数据”可以包括由客户端设备102a-b提供的原始数据或者由边缘计算系统104生成的原始数据的经处理版本。例如,边缘节点106可以从客户端设备102a-b接收原始数据,处理该原始数据以生成经处理的数据,并将经处理的数据存储在本地存储设备112中。在这样的示例中,经处理的数据仍然可以被认为是“传入数据”15.本地存储设备112可以是边缘计算系统104内部的任何合适的存储设备。本地存储设备112的示例可以包括硬盘和固态驱动器(ssd)。尽管本地存储设备112在图1中被示出为与边缘节点106分离并通信耦合到边缘节点106(例如,经由局域网或直接通信线路),但在其他示例中,本地存储设备112可以在边缘节点106内部。
16.边缘节点106还可以将本地存储设备112中存储的数据130传输(例如,复制)到远程存储设备118,该远程存储设备118可以形成非边缘计算系统134的一部分。远程存储设备118可以是在边缘计算系统104外部的任何合适的存储设备,并且可由边缘计算系统104经由网络120(诸如广域网或互联网)访问。远程存储设备118的示例可以包括硬盘和固态驱动器(ssd)。在一些示例中,边缘节点106可以周期性地将本地存储设备112中存储的数据130传输到远程存储设备118。附加地或替代地,边缘节点106可以响应于一个或多个事件而将存储的数据130传输到远程存储设备118。响应于接收到存储的数据130,远程存储设备118
可以将对存储的数据130的确认136传输回边缘节点106。边缘节点106可以接收确认136,并相应地从本地存储设备112移除存储的数据130,以释放存储器空间。
17.在一些示例中,边缘节点106可以同时将传入数据114a-b存储到本地存储设备112,并将存储的数据130从本地存储设备112传输到远程存储设备118。例如,边缘节点106可以并行执行两个处理线程,其中一个处理线程可以将传入数据114a-b存储到本地存储设备112,而另一个处理线程可以将存储的数据130从本地存储设备112传输到远程存储设备118。
18.如上所述,传统的边缘计算系统可能在各种情况下(诸如如果客户端设备102a-b正在以比存储的数据130从本地存储设备112移除更快的速率来传输传入数据114a-b)经历关于本地存储设备112的数据溢出。这种数据溢出可能会导致数据损坏或删除。为了帮助避免这些或其他问题,在一些示例中,边缘节点106可以包括监控模块138和一个或多个存储器缓冲区110。监控模块138可以使用存储器缓冲区110来实现一个或多个节流过程,这可以阻止或减少数据溢出。
19.更具体地,监控模块138是软件模块,其可以例如从互联网被下载并安装在边缘节点106上。存储器缓冲区110可以位于边缘节点106的网卡108、边缘节点106的主机存储器(例如,随机存取存储器、高速缓存或硬盘),或边缘节点106中的其他地方。存储器缓冲区110可以与网络堆栈的传送层相关联,其中传送层可以指开放系统互连(osi)模型的第四层。例如,网卡108可以在网卡108处接收来自客户端设备102a-b的传入数据114a-b,并将传入数据114a-b存储(例如,临时存储)在存储器缓冲区110中。
20.监控模块138可以监控本地存储设备112中的可用存储空间量126。例如,监控模块138可以周期性地与本地存储设备112通信,以确定本地存储设备112中的已用空间量124和/或本地存储设备112中的可用存储空间量126。监控模块138然后可以确定在给定时间点本地存储设备112中的可用存储空间量126是否大于预定阈值量122。预定阈值量122可以由用户设置或者由监控模块138的开发者预设。如果本地存储设备112中的可用存储空间量126大于预定阈值量122,则监控模块138可以从存储器缓冲区110中取回传入数据114a-b,并将传入数据114a-b存储在本地存储设备112中(例如,在处理之前或之后)。监控模块138然后可以从存储器缓冲区110中移除传入数据114a-b。如果本地存储设备112中的可用存储空间量126小于预定阈值量122,则监控模块138可以实施节流(throttling)过程。节流过程可以涉及监控模块138将传入数据114a-b保持在存储器缓冲区110中,并且不将传入数据114a-b存储在本地存储设备112中,至少直到本地存储设备112中的可用存储空间量126大于或等于预定阈值量122。这样,在可用存储空间量126低于预定阈值量122的情况下,监控模块138可以阻止传入数据114a-b被存储在本地存储设备112中,这可以阻止数据溢出。
21.在一些示例中,监控模块138还可以阻止边缘节点106传输对传入数据的确认116,直到传入数据114a-b从存储器缓冲区110被传送到本地存储设备112。这可以帮助解决存储器缓冲区110中的数据溢出,因为如果客户端设备102a-b没有接收到对数据的确认116,则它们可以向边缘节点106重发传入数据114a-b。
22.在一些示例中,多个边缘节点可以相互协调,以在它们的存储器缓冲区之中分配传入数据114a-b,这可以帮助阻止存储器缓冲区中的数据溢出。例如,边缘计算系统104可以包括多个边缘节点,每个边缘节点可以具有一个或多个存储器缓冲区。边缘节点可以将
传入数据114a-b存储到本地存储设备112,该本地存储设备112可以用作可由多个边缘节点使用的集中式存储设备。如果边缘节点106之一接收到传入数据114a,并且其(一个或多个)存储器缓冲区110已满,则边缘节点106可以与其他边缘节点通信,以确定其他边缘节点中的哪个具有足够能力来存储传入数据114a的存储器缓冲区。边缘节点106然后可以将传入数据114转发到具有足够能力的另一个边缘节点。另一个边缘节点可以接收传入数据114并将其存储在其存储器缓冲区中,这可以阻止边缘节点106的存储器缓冲区110中的数据溢出。另一个边缘节点然后可以实现本文描述的一个或多个节流过程。例如,另一个边缘节点可以将传入数据114a保持在其存储器缓冲区中,直到本地存储设备112中的可用存储空间量126大于预定阈值量122,此时另一个边缘节点可以从其存储器缓冲区中取回传入数据114a,并将传入数据114a存储在本地存储设备112中。
23.尽管上文描述了特定的节流过程,但是监控模块138可以附加地或替代地实现其他节流过程,以帮助阻止关于本地存储设备112的数据溢出。例如,监控模块138可以确定与本地存储设备112相关联的存储速率和移除速率。存储速率可以是边缘节点106将来自客户端设备102a-b的传入数据114a-b存储到本地存储设备112的第一速率。移除速率可以是边缘节点106从本地存储设备112中移除存储的数据130的第二速率(例如,在被传输到远程存储设备118之后)。监控模块138可以监控这些速率,以确定存储速率是否超过移除速率(这可能导致数据溢出)。如果是,监控模块138可以调整存储速率或移除速率。例如,监控模块138可以通过向客户端设备102a-b传输通信142来调整存储速率,以使客户端设备102a-b减慢其向边缘节点106进行数据传输的速率。作为另一个示例,监控模块138可以通过从(i)将存储的数据130异步传输到远程存储设备118的第一模式切换到(ii)将存储的数据130同步传输到远程存储设备118的第二模式,来调整移除速率。从第一模式切换到第二模式可以致使对存储的数据130进行更快的传输,这可以帮助阻止关于本地存储设备112的数据溢出。
24.在一些示例中,监控模块138可以实现预测节流过程。例如,监控模块138可以预测本地存储设备112将来是否将具有小于预定阈值量122的可用存储空间,如果是,则执行一个或多个操作来阻止这种情况发生。例如,监控模块138可以访问与过去从客户端设备接收的数据相关联的历史信息140。历史信息140可以位于本地存储设备112、边缘节点106的主机存储器,或分布式计算系统100中的其他地方。历史信息140可以包括过去从客户端设备102a-b接收数据的速率、过去从客户端设备102a-b接收的数据的类型(例如,音乐、电影、图像或文本文件)、过去的存储速率、过去的移除速率,或这些的任意组合。例如,历史信息140可以是指示由客户端设备102a-b在先前时间跨度上传输到边缘节点106的数据量的时间序列。监控模块138可以使用历史信息140来预测本地存储设备112将来是否将具有小于预定阈值量122的可用存储空间。如果是,监控模块138可以执行一个或多个操作来帮助阻止关于本地存储设备112的数据溢出。这种操作的示例可以包括降低存储速率或增加移除速率。监控模块138可以周期性间隔、基本连续地或者响应于某些事件来重复该预测节流过程,以便帮助阻止关于本地存储设备112发生数据溢出。
25.监控模块138可以以多种方式使用历史信息140来预测本地存储设备112将来是否将具有小于预定阈值量122的可用存储空间。例如,监控模块138可以提供历史信息140作为模型132(诸如神经网络、自回归综合移动平均(arima)模型、指数平滑模型或回归模型)的输入。基于该输入,模型132可以生成指示在未来时间点本地存储设备112中的空闲空间量
的输出预测。作为另一个示例,模型132可以是基于历史信息140训练的机器学习模型。在模型132被训练之后,监控模块138可以向模型132提供输入。该输入可以指定例如与传入数据相关联的当前速率、类型、客户端设备或用户。附加地或替代地,输入可以指定当前存储速率或当前移除速率。基于该输入,模型132可以生成指示在未来时间点本地存储设备112中的空闲空间量的输出预测。
26.在一些示例中,取决于与传入数据114a-b相关联的优先级,监控模块138可以或可以不节流传入数据114a-b,或者可以以不同的方式节流传入数据114a-b。例如,优先级数据128可以指定客户端设备102a具有比与客户端设备102b相关联的第二优先级更高的第一优先级。客户端设备102a可能具有比客户端设备102b更高的优先级的原因可能是客户端设备102a的用户已经支付了比客户端设备102b的用户更高的订阅级别。基于该优先化方案,监控模块138可以将来自客户端设备102a的传入数据114a优先于来自客户端设备104b的传入数据114b。例如,监控模块138可以将本文描述的一个或多个节流过程应用于传入数据114b,而不应用于传入数据114a。可选地,监控模块138可以将本文描述的第一节流过程应用于传入数据114b,并将本文描述的第二节流过程应用于传入数据114a。作为另一个示例,传入数据114a可以是第一类型(例如,视频文件或音乐文件),而另一个传入数据114b可以是第二类型(例如,文本文件)。并且优先化数据128指定第一类型数据具有高于与第二类型数据相关联的第二优先级的第一优先级。基于该优先化方案,监控模块138可以将传入数据114a优先于传入数据114b。例如,监控模块138可以将本文描述的一个或多个节流过程应用于传入数据114b,而不是传入数据114a。可选地,监控模块138可以将本文描述的第一节流过程应用于传入数据114b,并将本文描述的第二节流过程应用于传入数据114a。
27.尽管图1中示出了一定数量和排列的组件,但这是说明性的而非限制性的。其他示例可以涉及更多的组件、更少的组件、不同的组件或者与图1所示组件不同的布置。此外,尽管为了简单起见,仅示出了某些组件中的一个(例如,本地存储设备112和网卡108),但是这些块中的每一个都可以表示任何数量的其对应组件和组合。
28.图2是根据本公开的一些方面的边缘计算系统104的示例的框图。边缘计算系统104包括通信耦合到存储器204的处理器202。在一些示例中,处理器202和存储器204可以是同一计算设备(诸如图1的边缘节点106)的一部分。在其他示例中,处理器202和存储器204可以彼此分散(例如,远离)。
29.处理器202可以包括一个处理器或多个处理器。处理器202的非限制性示例包括现场可编程门阵列、专用集成电路、微处理器等。处理器202可以运行存储在存储器204中的指令206以执行操作。指令206可以包括由编译器或解释器从以任何合适的计算机编程语言(诸如c、c 、c#等)编写的代码中生成的处理器专用指令。在一些示例中,指令206可以对应于图1的监控模块138。
30.存储器204可以包括一个存储器或多个存储器。存储器204可以是非易失性的,并且可以包括在断电时保留存储信息的任何类型的存储器。存储器204的非限制性示例包括电可擦除可编程只读存储器(eeprom)、闪存或任何其他类型的非易失性存储器。至少一些存储器204可以包括处理器202可以从中读取指令206的非暂时性计算机可读介质。计算机可读介质可以包括能够向处理器202提供计算机可读指令或其他程序代码的电子、光学、磁性或其他存储设备。计算机可读介质的非限制性示例包括(一个或多个)磁盘、(一个或多
个)存储芯片、只读存储器(rom)、随机存取存储器(ram)、专用集成电路(asic)、经配置的处理器、光存储器,或计算机处理器可以从中读取指令206的任何其他介质。
31.处理器202还可以通信耦合到存储器缓冲区110和本地存储设备112。存储器缓冲区110可以位于边缘计算系统104中的任何合适的位置。例如,存储器缓冲区110可以位于存储器204、本地存储设备112、网卡(例如,网卡108)或其他地方。本地存储设备112也可以位于边缘计算系统104中的任何合适的位置。例如,本地存储设备112可以在存储器204的内部或外部。
32.处理器202可以执行指令206来执行操作。例如,处理器202可以确定本地存储设备112中的可用存储空间量126小于预定阈值量122。基于确定可用存储空间量126小于预定阈值量122,处理器202可以阻止从存储器缓冲区110中取回来自客户端设备102a-b的传入数据114a-b,直到可用存储空间量126大于或等于预定阈值量122。例如,处理器202可以不从存储器缓冲区110取回传入数据114a-b,直到可用存储空间量126大于或等于预定阈值量122。一旦可用存储空间量126大于或等于预定阈值量122,处理器202就可以从存储器缓冲区110中取回传入数据114a-b,并将传入数据114a-b存储在本地存储设备112中。处理器202然后可以从存储器缓冲区110中擦除传入数据114a-b。处理器202还可以将对传入数据114a-b的确认传输回客户端设备102a-b。
33.在一些示例中,处理器402可以实现图3所示的过程3。其他示例可以包括比图3所示更多的步骤、更少的步骤、不同的步骤或不同顺序的步骤。图3的步骤将在下面参考上面结合图2讨论的组件进行讨论。
34.在框302中,处理器202确定边缘计算系统104的本地存储设备112中的可用存储空间量126小于预定阈值量122。在一些示例中,处理器202可以通过向与本地存储设备112相关联的控制器通信一个或多个命令来确定本地存储设备112中的可用存储空间量126。处理器202然后可以将可用存储空间量126与预定阈值量122进行比较,以确定可用存储空间量126是否大于或等于预定阈值量122。
35.在框304中,处理器202阻止从存储器缓冲区110中取回来自客户端设备102a-b的传入数据114a-b,直到可用存储空间量126大于或等于预定阈值量122。处理器202可以基于确定可用存储空间量126小于预定阈值量122来执行这种阻止措施。
36.在框306中,基于确定可用存储空间量126大于或等于预定阈值量122,处理器202从存储器缓冲区110取回传入数据114a-b,并将传入数据114a-b存储在本地存储设备112中。例如,如果本地存储设备112中的可用存储空间量126增加到预定阈值量122以上,则处理器202可以从存储器缓冲区110中取回传入数据114a-b并将该传入数据114a-b存储在本地存储设备112中。
37.尽管以上示例是针对边缘计算系统描述的,但是应当理解,类似的原理可以应用于具有有限计算资源的其他类型的计算系统。例如,类似的原理可以应用于接收的数据比可以同时存储在本地存储设备中的数据更多的非边缘计算系统,以阻止数据溢出。
38.包括所示示例在内的某些示例的前述描述仅出于说明和描述的目的,并不旨在穷举或将本公开限制于所公开的精确形式。对于本领域技术人员来说,在不脱离本公开的范围的情况下,对其的许多修改、改动和使用将是显而易见的。例如,本文描述的示例可以组合在一起以产生更多的示例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献