CN112118295A - 文件缓存方法、装置、边缘节点以及计算机可读存储介质 - Google Patents
文件缓存方法、装置、边缘节点以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112118295A CN112118295A CN202010847657.7A CN202010847657A CN112118295A CN 112118295 A CN112118295 A CN 112118295A CN 202010847657 A CN202010847657 A CN 202010847657A CN 112118295 A CN112118295 A CN 112118295A
- Authority
- CN
- China
- Prior art keywords
- file
- gradient
- global model
- internet
- server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 239000013598 vector Substances 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000003064 k means clustering Methods 0.000 claims description 6
- 230000006855 networking Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请适用于物联网技术领域,尤其涉及一种文件缓存方法、装置、边缘节点以及计算机可读存储介质。该方法通过边缘节点连接服务器和N个物联网设备,从服务器中获取全局模型,从物联网设备中获取文件请求历史记录,将文件请求历史记录输入全局模型后得到文件推荐列表,以此文件推荐列表从服务器中获取并缓存目标文件,使得边缘节点可以预先缓存与物联网设备的关联性较高的文件,从而可以提高物联网设备从边缘节点请求文件时命中边缘节点中缓存的文件的概率,有助于解决数据传输的网络延迟问题。
Description
技术领域
本申请属于物联网技术领域,尤其涉及一种文件缓存方法、装置、边缘节点以及计算机可读存储介质。
背景技术
对于物联网设备而言,以远程云服务器为中心的计算平台将导致数据传输的高延迟,从而无法满足实时应用程序的需求。边缘计算作为一种新的计算平台,被认为能够解决数据传输的网络延迟问题,在边缘计算中,文件缓存可以将物联网设备请求的文件存储在边缘节点中,从而减少物联网设备通过网络向远程云服务器发送请求的次数,以缓解回程链路拥塞。然而由于边缘节点的存储空间有限,能够缓存的文件较少,导致边缘节点中缓存文件被物联网设备请求并命中的概率较低,影响边缘计算的使用效果。
发明内容
本申请实施例提供了一种文件缓存方法、装置、边缘节点以及计算机可读存储介质,可以解决现有技术的边缘节点中缓存文件被物联网设备请求并命中的概率较低的问题。
第一方面,本申请实施例提供了一种文件缓存方法,所述文件缓存方法应用于边缘节点,所述边缘节点连接服务器和N个物联网设备,N为大于零的整数,所述文件缓存方法包括:
获取所述服务器的全局模型;
获取所述N个物联网设备的文件请求历史记录;
将所述文件请求历史记录输入至所述全局模型,获取所述全局模型输出的文件推荐列表;
根据所述文件推荐列表,从所述服务器中获取目标文件,并缓存所述目标文件。
第二方面,本申请实施例提供了一种文件缓存装置,所述文件缓存装置应用于边缘节点,所述边缘节点连接服务器和N个物联网设备,N为大于零的整数,所述文件缓存装置包括:
模型获取模块,用于获取所述服务器的全局模型;
历史记录获取模块,用于获取所述N个物联网设备的文件请求历史记录;
列表获取模块,用于将所述文件请求历史记录输入至所述全局模型,获取所述全局模型输出的文件推荐列表;
缓存模块,用于根据所述文件推荐列表,从所述服务器中获取目标文件,并缓存所述目标文件。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的文件缓存方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的文件缓存方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得所述终端设备执行如上述第一方面所述的文件缓存方法。
本申请实施例与现有技术相比存在的有益效果是:本申请通过边缘节点连接服务器和N个物联网设备,从服务器中获取全局模型,从物联网设备中获取文件请求历史记录,将文件请求历史记录输入全局模型后得到文件推荐列表,以此文件推荐列表从服务器中获取并缓存目标文件,使得边缘节点可以预先缓存与物联网设备的关联性较高的文件,从而可以提高物联网设备从边缘节点请求文件时命中边缘节点中缓存的文件的概率,有助于解决数据传输的网络延迟问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的文件缓存方法的流程示意图;
图2是本申请实施例二提供的文件缓存方法的流程示意图;
图3是本申请实施例三提供的梯度压缩的聚类示意图;
图4是本申请实施例三提供的文件缓存装置的结构示意图;
图5是本申请实施例四提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的一种文件缓存方法可以应用于桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请实施例一提供的一种文件缓存方法的流程示意图,该文件缓存方法应用于边缘节点,该边缘节点连接服务器和N个物联网设备,N为大于零的整数,如图1所示,该文件缓存方法可以包括以下步骤:
步骤S101,获取服务器的全局模型。
其中,边缘节点可以是指类似于边缘服务器的具有计算能力的节点,边缘节点与服务器连接,以获取服务器中的文件、全局模型等数据,而服务器可以是指远程云服务器,该服务器连接多个边缘节点,以获取边缘节点的数据并用于更新服务器中全局模型。
全局模型为训练好的自动编码器网络模型,通过训练包含单个隐层神经网络层的机器学习模型来重构输入数据,从而使得训练好的自动编码器网络模型可以很好地获取数据的特征向量。自动编码器网络模型的编码器,用于将输入的数据映射到其特征向量,自动编码器网络模型的解码器,用于将获取的特征向量重新映射回输入的数据,利用给定的数据集和编码解码来训练自动编码器网络模型,从而使得该自动编码器网络模型能很好地获取数据的特征向量。
在训练模型的过程中,给定m个数据样本{x1,x2,…,xm},每个样本是n维向量,即xi∈Rn。定义编码器为h1,该编码器h1能将n维的输入数据映射到d维的特征向量,解码器为h2,该解码器h2能借助d维的特征向量重构输入数据,因此,本质上训练的模型为h2(h1(xi))≈xi。
例如,给定的数据集为文件请求历史记录,假设有a个物联网设备,总共有b个文件,根据文件请求历史记录可以知道历史中每个物联网设备请求了哪些文件以及每个文件被哪些物联网设备请求了。在求解物联网设备特征时,构建a个维度为b个向量,其中,向量i代表第i个物联网设备请求的文件的基本情况,利用这a个向量来训练物联网设备的自动编码器网络模型,从而使该物联网设备的自动编码器网络模型能根据物联网设备请求文件的情况来提取物联网设备的特征向量;在求解文件特征时,构建b个维度为a的向量,其中,向量i代表第i个文件被物联网设备请求的情况,利用这b个向量来训练文件的自动编码器网络模型,从而使该文件的自动编码器网络模型能根据文件被物联网设备请求的情况来提取文件的特征向量;其中,特征向量可以是指能够代表物联网设备或者文件的特征,即物联网设备或者文件的主要特征。利用a个物联网设备的特征向量得到不同物联网设备之间的特征向量,利用b个文件的特征向量得到不同文件之间的特征向量,使用余弦相似度来计算物联网设备之间的相似度和文件之间的相似度,从而构建物联网设备的相似度矩阵和文件的相似度矩阵。
步骤S102,获取N个物联网设备的文件请求历史记录。
其中,物联网设备可以是指收集、电脑、智能汽车等能够进行网络连接的设备,边缘节点可能覆盖有多个物联网设备,即,该多个物联网设备向该边缘节点发送文件请求并接收相应的文件;一个物联网设备包括一个文件请求历史记录,文件请求历史记录可以为物联网设备中记录的历史的文件请求类的数据信息,例如,发送文件请求的物联网设备、文件的名称、类型和时间等。
步骤S103,将文件请求历史记录输入至全局模型,获取全局模型输出的文件推荐列表。
其中,每一个物联网设备对应一个文件请求历史记录,当边缘节点覆盖的物联网设备大于1个时,存在多个文件请求历史记录,将每一个文件请求历史记录输入全局模型均可以输出一个文件推荐列表,根据实际需求边缘节点可以将每一个文件请求历史记录的文件推荐列表中的文件从服务器获取并缓存,也可以从每一个文件请求历史记录的文件推荐列表选取一个或者多个文件推荐列表,再将该一个或者多个文件推荐列表中的文件从服务器获取并缓存。
可选的是,将文件请求历史记录输入至全局模型,获取全局模型输出的文件推荐列表包括:
将文件请求历史记录输入至全局模型,获取文件请求历史记录对应的物联网设备的设备特征向量和文件请求历史记录的文件特征向量;
获取全局模型的设备相似度矩阵和文件相似度矩阵;
根据设备特征向量和设备相似度矩阵,确定目标物联网设备,目标物联网设备为与文件请求历史记录对应的物联网设备相似度大于目标相似度的物联网设备;
获取目标物联网设备的文件请求历史记录;
根据文件特征向量、文件相似度矩阵和目标物联网设备的文件请求历史记录,确定文件推荐列表。
其中,文件请求历史记录输入至全局模型可以得到对应该文件请求历史记录的物联网设备的设备特征向量,以及文件请求历史记录的文件特征向量;本申请中全局模型包括两个模型,一个模型用于设备特征向量的求解,一个模型用于文件特征向量的求解。
将多个物联网设备的文件请求历史记录输入至全局模型可以得到多个物联网设备的设备特征向量和多个文件的特征向量,使用余弦相似度来计算物联网设备之间的相似度和文件之间的相似度,从而得到物联网设备的设备相似度矩阵和文件相似度矩阵。该设备相似度矩阵和文件相似度可以为预先存储在边缘节点中,也可以是在执行文件缓存方法之前,利用边缘节点本地的用户请求历史数据计算得到,其中,用户请求历史数据包括边缘节点从其他设备获取的文件请求历史记录,其他设备是指除边缘节点之外的设备。
根据设备特征向量和设备相似度矩阵,可以确定与文件请求历史记录的物联网设备的最近邻的K个物联网设备(即与文件请求历史记录的物联网设备的相似度大于目标相似度的物联网设备),K为大于零的整数,K的取值与目标相似度的大小相关,目标相似度可以根据实际需求调整。
由于设备相似度矩阵为边缘节点本地的用户请求历史数据得到,因此,K个物联网设备均为向边缘节点发送过文件请求历史记录的设备,也就是边缘节点中存储有该K个物联网设备的文件请求历史记录。
根据文件特征向量、文件相似度矩阵和K个物联网设备的文件请求历史记录,计算文件请求历史记录中每个文件的记录信息与K个物联网设备的文件请求历史记录中任一文件的记录信息的相似度,并对任一文件的记录信息得到的相似度求和,得到文件请求历史记录与任一文件的记录信息的相似度,对该相似度进行排序,选择相似度较高的M个文件的记录信息,根据该M个文件的记录信息生成文件推荐列表。
步骤S104,根据文件推荐列表,从服务器中获取目标文件,并缓存目标文件。
其中,边缘节点将文件推荐列表发送至服务器,服务器根据文件推荐列表的指示将目标文件(即文件推荐列表中指出文件)发送至边缘节点,边缘节点接收目标文件并缓存,用于根据N个物联网设备发送的文件请求发送对应的文件。
本申请实施例提高了边缘节点缓存的文件与物联网设备的关联性,从而可以提高物联网设备从边缘节点请求文件并命中的概率,有效地降低了网络延迟。
参见图2,是本申请实施例二提供的一种文件缓存方法的流程示意图,如图2所示,在获取N个物联网设备的文件请求历史记录之后,该文件缓存方法还可以包括以下步骤:
步骤S201,获取边缘节点本地的用户请求历史数据。
其中,用户请求历史数据包括边缘节点从其他设备获取的文件请求历史记录,其他设备是指除该边缘节点之外的设备,例如,边缘节点历史上覆盖的物联网设备;边缘节点覆盖的物联网设备可能会发生变化,即,经过一段时间,边缘节点中从其他设备获取的文件请求历史记录会增加,因此,在获取N个物联网设备的文件请求历史纪录之后获取本地的用户请求历史数据,该N个物联网设备为边缘节点在当前运算中覆盖物联网设备。
步骤S202,根据用户请求历史数据训练全局模型,获取全局模型的梯度。
其中,全局模型采用了联邦学习框架,联邦学习是一种学习模式,借助该学习模式每个边缘节点可以在不上传原始数据的情况下协作训练全局模型,在本申请中原始数据指的是用户请求历史数据,若直接将所有边缘节点中的用户请求历史数据上传到服务器中训练全局模型,则很可能会泄露将文件请求历史记录发送给边缘节点的物联网设备的数据隐私。因此,为了避免这种情况,采用联邦学习框架训练边缘节点中的全局模型,训练过程中的数据来源为边缘节点本地的用户请求历史数据。
联邦学习的过程如下:两个或两个以上的边缘节点在本地安装初始化的模型,每个边缘节点拥有相同的模型,之后每个边缘节点可以使用本地的数据训练模型,由于每个边缘节点有不同的数据,最终每个边缘节点所训练的模型也拥有不同的模型参数。将不同的模型参数将同时上传到服务器,服务器将完成模型参数的聚合与更新,并且将更新好的参数返回到边缘节点,各个边缘节点开始下一次的迭代,重复直到整个训练过程的收敛。
可选的是,在获取全局模型的梯度之后,还包括:
对全局模型的梯度进行压缩处理,获取压缩后的全局模型的梯度;
相应地,将全局模型的梯度发送至服务器包括:
将压缩后的全局模型的梯度发送至服务器。
其中,压缩处理可以降低全局模型的梯度的数据量,例如,选取全局模型梯度中相对重要的梯度,剔除非重要梯度,梯度的重要程度可以根据实际需求设置。
由于神经网络模型中的参数量通常比较庞大,对应的梯度的数据量比较大,而且边缘节点的网络情况是上传的速度要远低于下载的速度,因此,将全部的更新的梯度上传会耗时较长,通过压缩上传梯度数据,可以有效地降低通信开销,加快服务器中全局模型训练的速度。
可选的是,对全局模型的梯度进行压缩处理,获取压缩后的全局模型的梯度包括:
利用K-Means聚类算法将全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值;
对全局模型的梯度中绝对值不满足预设条件的梯度求平均,得到第一梯度平均值;
将每一个一次类的质心值替代所属类的梯度,将第一梯度平均值替代绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
其中,全局模型的梯度中绝对值满足预设条件的梯度可以是指梯度中绝对值远大于0的梯度(即重要梯度),而梯度中绝对值接近0的梯度为不满足预设条件(即非重要梯度),可以采用K-means算法对所有的全局模型的梯度进行第一次聚类分析,在对所有的梯度绝对值聚类结束后,将质心值按大小进行排序,并分析质心值大小的分布情况,对于质心值远大于0的一次类,将对应的一次类中的梯度定义为对全局模型的更新影响比较大的重要梯度,将这部分梯度进行精确地上传或者用质心值代替对应的一次类中梯度后上传,而其余梯度(即质心值接近0的一次类中的梯度)由于对模型更新影响不大,因此,可以使用其余梯度的平均值替代其余梯度。
使用K-means算法将绝对值彼此接近的梯度分类到同一个聚类中,该K-means算法通过最小化每个梯度与其最近质心之间的距离,将梯度划分到给定数目的类别中;聚类的类别数目可以根据实际需求设置,也可以使用手肘法枚举不同的聚类数目,然后根据聚类结束后计算的损失函数值来选择合适的聚类数目。
可选的是,在利用K-Means聚类算法将全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值之后,还包括:
获取质心值最大的一次类;
对质心值最大的一次类进行第二次聚类,获取每一个二次类的质心值;
对其他一次类的每一个类的梯度求平均,得到其他一次类中每一个一次类的第二梯度平均值,其中,其他一次类为除质心值最大的一次类以外的一次类;
相应地,将每一个一次类的质心值替代所属类的梯度,将第一平均值替代绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度包括:
将每一个二次类的质心值替代所属类的梯度,将每一个一次类的第二梯度平均值替代所属类的梯度,将第一梯度平均值替代绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
其中,在筛选得到重要的梯度(即一次类的梯度)后,根据网络传输的实际情况和训练的全局模型性能权衡是否进行第二次聚类以及第二次聚类的类别数目。如需要进行第二次聚类,则对一次类中质心值最大的类进行第二次聚类,得到二次类以及每个二次类的质心值,对于一次类中其他的类,使用该类的质心值对这部分梯度进行替代,在上传梯度时不需要上传每个梯度值,而只需要上传质心值和每个梯度所属的类身份标识号(Identitydocument,ID)即可。
如图3所示,假设原本需要上传16个梯度,每个梯度表示为32位的浮点数,则需要上传的数据量为16×32比特,将其聚类为4个类别后,每个梯度的类ID只需要使用2位比特进行表示,还需要上传四个质心值,因此,上传的数据量为16×2+4×32比特,上传的数据量大大减少,且对于训练的全局模型的精度影响不大。
步骤S203,将全局模型的梯度发送至服务器。
其中,全局模型的梯度用于更新服务器中的全局模型;由于训练的全局模型只借助了边缘节点本地的用户请求历史数据,具有一定的局限性,为了使训练得到的模型能适应全局情况,在训练的全局模型得到对应的梯度之后,将该全局模型的梯度上传至服务器,服务器在接收到所有边缘节点上传的梯度更新后,对所有边缘节点上传的梯度进行全局聚合,并使用聚合后的梯度来更新服务器中的全局模型,其中,全局聚合过程中会以每个边缘节点数据量在总数据量之中的占比作为边缘节点上传的更新的权重。
服务器在更新全局模型后会将该全局模型下载到边缘节点中,然后边缘节点再利用本地数据训练该全局模型。通过不断的迭代,每个边缘节点可以在只上传梯度数据情况下参与训练服务器的全局模型。
可选的是,将全局模型的梯度发送至服务器包括:
将全局模型的梯度发送至区块链,全局模型的梯度用于指示区块链通过智能合约验证全局模型的梯度,并在存在验证通过的梯度时,将验证通过的梯度发送至服务器。
在上传梯度的过程中,边缘节点不会直接将梯度发送到服务器,而是将梯度通过智能合约的验证后上传到区块链,服务器将从区块链中获取相应的梯度数据,可以有效地防止恶意的边缘节点上传错误的梯度数据,其中,智能合约可以有多个,例如四个,四个智能合约均为根据实际需求设计,但本申请不做限定。区块链在这个过程中充当分布式账本,根据模型和训练参数记录交易,分散的实体将其数据提交给区块链,并定期进行验证过程,以确保系统的安全性。
本申请实施例可以在服务器训练全局模型时避免上传边缘节点的原始数据,从而避免数据信息的泄露,并通过联邦学习框架将边缘节点的原始数据转换为梯度上传至服务器,使得服务器可以从全局的角度训练全局模型,避免了边缘节点的数据孤岛,提高了全局模型的有效性和适用性。
对应于上文实施例的文件缓存方法,图4示出了本申请实施例三提供的文件缓存装置的结构示意图,该文件缓存装置应用于边缘节点,边缘节点连接服务器和N个物联网设备,N为大于零的整数,为了便于说明,仅示出了与本申请实施例相关的部分。
参见图4,该文件缓存装置包括:
模型获取模块41,用于获取服务器的全局模型;
历史记录获取模块42,用于获取N个物联网设备的文件请求历史记录;
列表获取模块43,用于将文件请求历史记录输入至全局模型,获取全局模型输出的文件推荐列表;
缓存模块44,用于根据文件推荐列表,从服务器中获取目标文件,并缓存目标文件。
可选的是,该文件缓存装置还包括:
历史数据获取模块,用于获取边缘节点本地的用户请求历史数据,用户请求历史数据包括边缘节点从其他设备获取的文件请求历史记录,其他设备是指除边缘节点之外的设备;
梯度获取模块,用于根据用户请求历史数据训练全局模型,获取全局模型的梯度;
梯度发送模块,用于将全局模型的梯度发送至服务器,其中,全局模型的梯度用于更新服务器中的全局模型。
可选的是,梯度发送模块具体用于:
将全局模型的梯度发送至区块链,全局模型的梯度用于指示区块链通过智能合约验证全局模型的梯度,并在存在验证通过的梯度时,将验证通过的梯度发送至服务器。
可选的是,该文件缓存装置还包括:
压缩处理模块,用于对全局模型的梯度进行压缩处理,获取压缩后的全局模型的梯度;
相应地,梯度发送模块具体用于:
将压缩后的全局模型的梯度发送至服务器。
可选的是,压缩处理模块包括:
质心值获取单元,用于利用K-Means聚类算法将全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值;
平均值获取单元,用于对全局模型的梯度中绝对值不满足预设条件的梯度求平均,得到第一梯度平均值;
压缩梯度获取单元,用于将每一个一次类的质心值替代所属类的梯度,将第一梯度平均值替代绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
可选的是,在利用K-Means聚类算法将全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值之后,压缩处理模块还用于:
获取质心值最大的一次类;
对质心值最大的一次类进行第二次聚类,获取每一个二次类的质心值;
对其他一次类的每一个类的梯度求平均,得到其他一次类中每一个一次类的第二梯度平均值,其中,其他一次类为除质心值最大的一次类以外的一次类;
相应地,压缩梯度获取单元具体用于:
将每一个二次类的质心值替代所属类的梯度,将每一个一次类的第二梯度平均值替代所属类的梯度,将第一梯度平均值替代绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
可选的是,列表获取模块43包括:
向量获取单元,用于将文件请求历史记录输入至全局模型,获取文件请求历史记录对应的物联网设备的设备特征向量和文件请求历史记录的文件特征向量;
矩阵获取单元,用于获取全局模型的设备相似度矩阵和文件相似度矩阵;
目标确定单元,用于根据设备特征向量和设备相似度矩阵,确定目标物联网设备,目标物联网设备为与文件请求历史记录对应的物联网设备相似度大于目标相似度的物联网设备;
目标记录获取单元,用于获取目标物联网设备的文件请求历史记录;
列表确定单元,用于根据文件特征向量、文件相似度矩阵和目标物联网设备的文件请求历史记录,确定文件推荐列表。
需要说明的是,上述服务器与N个数据节点之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图5为本申请实施例四提供的一种终端设备的结构示意图。如图5所示,该实施例的终端设备5包括:至少一个处理器50(图5中仅示出一个处理器)、存储器51以及存储在存储器51中并可在至少一个处理器50上运行的计算机程序52,处理器50执行计算机程序52时实现上述实施例的文件缓存方法的步骤。
该终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是终端设备5的举例,并不构成对终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),该处理器50还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51在一些实施例中可以是终端设备5的内部存储单元,例如终端设备5的硬盘或内存。所述存储器51在另一些实施例中也可以是终端设备5的外部存储设备,例如终端设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行时实现可实现上述方法实施例一中的步骤,或者,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行时实现可实现上述方法实施例二中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种文件缓存方法,其特征在于,所述文件缓存方法应用于边缘节点,所述边缘节点连接服务器和N个物联网设备,N为大于零的整数,所述文件缓存方法包括:
获取所述服务器的全局模型;
获取所述N个物联网设备的文件请求历史记录;
将所述文件请求历史记录输入至所述全局模型,获取所述全局模型输出的文件推荐列表;
根据所述文件推荐列表,从所述服务器中获取目标文件,并缓存所述目标文件。
2.根据权利要求1所述的文件缓存方法,其特征在于,在所述获取所述N个物联网设备的文件请求历史记录之后,还包括:
获取所述边缘节点本地的用户请求历史数据,所述用户请求历史数据包括所述边缘节点从其他设备获取的文件请求历史记录,所述其他设备是指除所述边缘节点之外的设备;
根据所述用户请求历史数据训练所述全局模型,获取所述全局模型的梯度;
将所述全局模型的梯度发送至所述服务器,其中,所述全局模型的梯度用于更新所述服务器中的所述全局模型。
3.根据权利要求2所述的文件缓存方法,其特征在于,所述将所述全局模型的梯度发送至所述服务器包括:
将所述全局模型的梯度发送至区块链,所述全局模型的梯度用于指示所述区块链通过智能合约验证所述全局模型的梯度,并在存在验证通过的梯度时,将所述验证通过的梯度发送至所述服务器。
4.根据权利要求2所述的文件缓存方法,其特征在于,在所述获取全局模型的梯度之后,还包括:
对所述全局模型的梯度进行压缩处理,获取压缩后的全局模型的梯度;
相应地,所述将所述全局模型的梯度发送至所述服务器包括:
将所述压缩后的全局模型的梯度发送至所述服务器。
5.根据权利要求4所述的文件缓存方法,其特征在于,所述对所述全局模型的梯度进行压缩处理,获取压缩后的全局模型的梯度包括:
利用K-Means聚类算法将所述全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值;
对所述全局模型的梯度中绝对值不满足预设条件的梯度求平均,得到第一梯度平均值;
将所述每一个一次类的质心值替代所属类的梯度,将所述第一梯度平均值替代所述绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
6.根据权利要求5所述的文件缓存方法,其特征在于,在所述利用K-Means聚类算法将所述全局模型的梯度中绝对值满足预设条件的梯度进行第一次聚类,获取每一个一次类的质心值之后,还包括:
获取质心值最大的一次类;
对所述质心值最大的一次类进行第二次聚类,获取每一个二次类的质心值;
对其他一次类的每一个类的梯度求平均,得到所述其他一次类中每一个一次类的第二梯度平均值,其中,其他一次类为除所述质心值最大的一次类以外的一次类;
相应地,所述将所述每一个一次类的质心值替代所属类的梯度,将所述第一平均值替代所述绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度包括:
将所述每一个二次类的质心值替代所属类的梯度,将所述每一个一次类的第二梯度平均值替代所属类的梯度,将所述第一梯度平均值替代所述绝对值不满足预设条件的梯度,得到压缩后的全局模型的梯度。
7.根据权利要求1至6任一项所述的文件缓存方法,其特征在于,所述将所述文件请求历史记录输入至所述全局模型,获取所述全局模型输出的文件推荐列表包括:
将所述文件请求历史记录输入至所述全局模型,获取所述文件请求历史记录对应的物联网设备的设备特征向量和所述文件请求历史记录的文件特征向量;
获取所述全局模型的设备相似度矩阵和文件相似度矩阵;
根据所述设备特征向量和所述设备相似度矩阵,确定目标物联网设备,所述目标物联网设备为与所述文件请求历史记录对应的物联网设备相似度大于目标相似度的物联网设备;
获取所述目标物联网设备的文件请求历史记录;
根据所述文件特征向量、所述文件相似度矩阵和所述目标物联网设备的文件请求历史记录,确定文件推荐列表。
8.一种文件缓存装置,其特征在于,所述文件缓存装置应用于边缘节点,所述边缘节点连接服务器和N个物联网设备,N为大于零的整数,所述文件缓存装置包括:
模型获取模块,用于获取所述服务器的全局模型;
历史记录获取模块,用于获取所述N个物联网设备的文件请求历史记录;
列表获取模块,用于将所述文件请求历史记录输入至所述全局模型,获取所述全局模型输出的文件推荐列表;
缓存模块,用于根据所述文件推荐列表,从所述服务器中获取目标文件,并缓存所述目标文件。
9.一种边缘节点,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的文件缓存方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的文件缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010847657.7A CN112118295A (zh) | 2020-08-21 | 2020-08-21 | 文件缓存方法、装置、边缘节点以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010847657.7A CN112118295A (zh) | 2020-08-21 | 2020-08-21 | 文件缓存方法、装置、边缘节点以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112118295A true CN112118295A (zh) | 2020-12-22 |
Family
ID=73805266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010847657.7A Pending CN112118295A (zh) | 2020-08-21 | 2020-08-21 | 文件缓存方法、装置、边缘节点以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118295A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052331A (zh) * | 2021-02-19 | 2021-06-29 | 北京航空航天大学 | 一种基于区块链的物联网个性化联邦学习方法 |
CN113076339A (zh) * | 2021-03-18 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN113259333A (zh) * | 2021-04-29 | 2021-08-13 | 深圳大学 | 联邦学习数据压缩方法、系统、终端、服务器及存储介质 |
CN113315978A (zh) * | 2021-05-13 | 2021-08-27 | 江南大学 | 一种基于联邦学习的协作式在线视频边缘缓存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241444A (zh) * | 2018-10-11 | 2019-01-18 | 平安科技(深圳)有限公司 | 基于状态机的内容推荐方法、装置、设备和存储介质 |
CN110753126A (zh) * | 2019-10-28 | 2020-02-04 | 国网河南省电力公司信息通信公司 | 服务节点选择方法、设备管理方法、装置、系统和介质 |
US20200218937A1 (en) * | 2019-01-03 | 2020-07-09 | International Business Machines Corporation | Generative adversarial network employed for decentralized and confidential ai training |
-
2020
- 2020-08-21 CN CN202010847657.7A patent/CN112118295A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241444A (zh) * | 2018-10-11 | 2019-01-18 | 平安科技(深圳)有限公司 | 基于状态机的内容推荐方法、装置、设备和存储介质 |
US20200218937A1 (en) * | 2019-01-03 | 2020-07-09 | International Business Machines Corporation | Generative adversarial network employed for decentralized and confidential ai training |
CN110753126A (zh) * | 2019-10-28 | 2020-02-04 | 国网河南省电力公司信息通信公司 | 服务节点选择方法、设备管理方法、装置、系统和介质 |
Non-Patent Citations (2)
Title |
---|
LAIZHONG CUI等: ""CREAT: Blockchain-Assisted Compression Algorithm of Federated Learning for Content Caching in Edge Computing"", 《IEEE》 * |
梁玉珠等: "一种基于边缘计算的传感云低耦合方法", 《计算机研究与发展》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052331A (zh) * | 2021-02-19 | 2021-06-29 | 北京航空航天大学 | 一种基于区块链的物联网个性化联邦学习方法 |
CN113076339A (zh) * | 2021-03-18 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN113259333A (zh) * | 2021-04-29 | 2021-08-13 | 深圳大学 | 联邦学习数据压缩方法、系统、终端、服务器及存储介质 |
CN113259333B (zh) * | 2021-04-29 | 2022-10-21 | 深圳大学 | 联邦学习数据压缩方法、系统、终端、服务器及存储介质 |
CN113315978A (zh) * | 2021-05-13 | 2021-08-27 | 江南大学 | 一种基于联邦学习的协作式在线视频边缘缓存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118295A (zh) | 文件缓存方法、装置、边缘节点以及计算机可读存储介质 | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
CN110532417B (zh) | 基于深度哈希的图像检索方法、装置及终端设备 | |
CN108280477B (zh) | 用于聚类图像的方法和装置 | |
US20140289171A1 (en) | Automatic Event Categorization for Event Ticket Network Systems | |
US20230289828A1 (en) | Data processing method, computer device, and readable storage medium | |
CN110689368B (zh) | 一种移动应用内广告点击率预测系统设计方法 | |
WO2022105496A1 (zh) | 智能回访方法、装置、电子设备及可读存储介质 | |
CN111797320B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN114205690A (zh) | 流量预测、模型训练方法及装置、电子设备、存储介质 | |
CN110046155B (zh) | 特征数据库的更新、数据特征的确定方法、装置及设备 | |
CN115237802A (zh) | 基于人工智能的模拟测试方法及相关设备 | |
CN114707041B (zh) | 消息推荐方法、装置、计算机可读介质及电子设备 | |
CN114896067A (zh) | 任务请求信息的自动生成方法、装置、计算机设备及介质 | |
CN108664605B (zh) | 一种模型评估方法及系统 | |
CN113869420A (zh) | 基于对比学习的文本推荐方法及相关设备 | |
CN116703659A (zh) | 一种应用于工程咨询的数据处理方法、装置及电子设备 | |
CN114926082A (zh) | 基于人工智能的数据波动预警方法及相关设备 | |
CN113704236A (zh) | 政务系统数据质量评估方法、装置、终端及存储介质 | |
CN109885504B (zh) | 推荐系统的测试方法、装置、介质及电子设备 | |
US11989243B2 (en) | Ranking similar users based on values and personal journeys | |
JP6065001B2 (ja) | データ検索装置、データ検索方法およびデータ検索用プログラム | |
CN114077858A (zh) | 向量数据处理方法、装置、设备及存储介质 | |
CN112214387B (zh) | 基于知识图谱的用户操作行为预测方法及装置 | |
US11941056B2 (en) | Method for weighting a graph |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201222 |
|
RJ01 | Rejection of invention patent application after publication |