掌桥专利:专业的专利平台
掌桥专利
首页

数据缓存方法、装置、设备、介质和程序产品

文献发布时间:2024-04-18 20:02:18


数据缓存方法、装置、设备、介质和程序产品

技术领域

本公开涉及无线通信领域及金融领域,具体地涉及一种数据缓存方法、装置、设备、介质和程序产品。

背景技术

随着银行业数字转型的不断深入,银行业的业务数据量也越来越大,从海量的业务数据中查找需要的数据变得越来越困难。5G技术中的缓存技术通过将热点数据或热点视频提前缓存在本地缓存中,可以以消耗最少的资源服务有需求的客户,被广泛应用于无线资源网络中。

传统的银行业务数据分发主要采用集中式部署,通过总行的主机向分行服务器分发,其中很多业务数据并不是所有分行都需要的,因而当前的银行业务数据分发方式,越来越不能契合实际的用户需求。

另外,银行网点的能源消耗在网点的日常支出中占比越来越高,尤其是随着当前电费不断上涨,银行网点因使用各种自助设备、终端、网络设备等,对电量的消耗量也在不断增加,站在绿色网点的发展角度,如何减少银行网点的电量消耗变得尤为重要。

发明内容

鉴于上述问题,本公开提供了提高无线通信能效的数据缓存方法、装置、设备、介质和程序产品,用于至少部分解决以上技术问题。

根据本公开的第一个方面,提供了一种数据缓存方法,包括:响应于客户请求,确定一个或多个请求传输链路,每个请求传输链路包括至少一个路由器;遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答;分别确定从每个请求传输链路中获取全部业务数据包的总耗电量;最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包;以及将多个业务数据包缓存至目标路由器;其中,多个业务数据包在目标路由器中的空间占用量大于预设阈值。

根据本公开的实施例,遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答包括:确定接收客户请求的初始路由器;以初始路由器为出发点,沿一个或多个请求传输链路依次检查各路由器中所缓存的业务数据包;在匹配到与客户请求相对应的目标业务数据包的情况下,由存储目标业务数据包的源路由器或数据源服务器作出应答,并记录从初始路由器到源路由器或数据源服务器的访问跳数。

根据本公开的实施例,分别确定从每个请求传输链路中获取全部业务数据包的总耗电量包括:确定多个初始路由器;确定各业务数据包的被请求概率;根据被请求概率,确定各路由器缓存各业务数据包的第一耗电量;根据访问跳数和被请求概率,确定从多个初始路由器获取各业务数据包的第二耗电量;以及根据第一耗电量和第二耗电量,确定总耗电量。

根据本公开的实施例,根据访问跳数,确定从多个初始路由器获取各业务数据包的第二耗电量包括:根据访问跳数和被请求概率,确定各业务数据包从源路由器或数据源服务器到多个初始路由器的传输耗电量;根据访问跳数和被请求概率,确定从多个初始路由器到源路由器或数据源服务器的链路中,各路由器对各业务数据包的处理耗电量;以及根据传输耗电量和处理耗电量,确定第二耗电量。

根据本公开的实施例,确定各业务数据包的被请求概率包括:根据Zipf分布,确定各业务数据包的被请求概率。

根据本公开的实施例,最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包包括:确定最小化总耗电量的限制条件,限制条件包括目标路由器的缓存空间大于等于多个业务数据包所占用的空间之和;根据限制条件,采用贪婪算法确定目标路由器和存入目标路由器的多个业务数据包。

根据本公开的实施例,根据限制条件,采用贪婪算法确定目标路由器和存入目标路由器的多个业务数据包包括:根据限制条件,确定目标路由器的缓存空间;在目标路由器的缓存空间不为空的情况下,迭代缓存全部业务数据包到目标路由器,直到目标路由器的缓存空间占用量大于预设阈值;以及在迭代完成后,确定目标路由器和存入目标路由器的多个业务数据包。

根据本公开的实施例,多个请求传输链路从属于网络模型,方法还包括:构建网络模型;其中,网络模型包括数据源服务器和N个无向连接的路由器,且数据源服务器中存储有K个业务数据包。

本公开的第二方面提供了一种数据缓存装置,包括:第一确定模块,用于响应于客户请求,确定一个或多个请求传输链路,每个请求传输链路包括至少一个路由器;遍历模块,用于遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答;第二确定模块,用于分别确定从每个请求传输链路中获取全部业务数据包的总耗电量;最小化模块,用于最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包;以及缓存模块,用于将多个业务数据包缓存至目标路由器;其中,多个业务数据包在目标路由器中的空间占用量大于预设阈值。

本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的方法。

本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述任一实施例的方法。

本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例的方法。

与现有技术相比,本公开提供的数据缓存方法、装置、电子设备、存储介质和程序产品,至少具有以下有益效果:

(1)本公开的数据缓存方法,通过计算在分别将各业务数据包缓存在请求传输链路中的各个路由器上的条件下,从各个路由器获取各业务数据包的耗电量,然后计算最小耗电量,以此找到最佳的存储各业务数据包的目标路由器,以及将各业务数据包最大限度地缓存在该目标路由器中,可以降低客户获取业务数据包的能耗,提高了分行网点的无线通信能效。

(2)本公开的数据缓存方法,采用分布式缓存的方式,适用于与多个分行网点对应的多个初始路由器向对应链路中的源路由器或数据源服务器发出业务请求,不同链路中的业务数据包可以进行定制化或差异化处理,满足了不同分行的不同业务需求,提高了数据分发效率和客户体验。

(3)本公开的数据缓存方法,通过计算各路由器的缓存耗电量、业务数据包的传输耗电量及路由器对业务数据包的传输处理耗电量来确定总的获取业务数据包耗电量,并采用贪婪算法确定最小总耗电量,增强了多路由器之间的协作,并且将业务数据包进行集中化缓存,提高了数据的通信效率。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1A示意性示出了根据本公开实施例的数据缓存方法、装置、设备、介质和程序产品的应用场景图;图1B示意性示出了根据本公开实施例的数据缓存方法、装置、设备、介质和程序产品的应用场景网络架构图;

图2示意性示出了根据本公开实施例的数据缓存方法的流程图;

图3示意性示出了根据本公开实施例的遍历路由器的方法流程图;

图4示意性示出了根据本公开实施例的确定总耗电量的方法流程图;

图5示意性示出了根据本公开实施例的确定第二耗电量的方法流程图;

图6示意性示出了根据本公开实施例的确定被请求概率的方法流程图;

图7示意性示出了根据本公开实施例的最小化总耗电量的方法流程图;

图8A示意性示出了根据本公开实施例的实施贪婪算法的方法流程图;图8B示意性示出了根据本公开实施例的实施贪婪算法的方法流程方框图;

图9示意性示出了根据本公开另一实施例的数据缓存方法的流程图;

图10示意性示出了根据本公开实施例的数据缓存装置的结构框图;以及

图11示意性示出了根据本公开实施例的适于实现数据缓存方法的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开实施例提供一种数据缓存方法、装置、设备、介质和程序产品,可用于金融领域或其他领域。需要说明的是,本公开的数据缓存方法、装置、设备、介质和程序产品可用于金融领域,也可用于除金融领域之外的任意领域,本公开的数据缓存方法、装置、设备、介质和程序产品的应用领域不做限定。

在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。

本公开的实施例提供了一种数据缓存方法,包括:响应于客户请求,确定一个或多个请求传输链路,每个请求传输链路包括至少一个路由器;遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答;分别确定从每个请求传输链路中获取全部业务数据包的总耗电量;最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包;以及将多个业务数据包缓存至目标路由器;其中,多个业务数据包在目标路由器中的空间占用量大于预设阈值。本公开的方法可以降低客户获取业务数据包的能耗,提高了分行网点的无线通信能效。

图1A示意性示出了根据本公开实施例的数据缓存方法、装置、设备、介质和程序产品的应用场景图。图1B示意性示出了根据本公开实施例的数据缓存方法、装置、设备、介质和程序产品的应用场景网络架构图。

如图1A所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。如图1B所示,网络104可以是由多个无向连接的路由器组成的分布式架构网络。用户可以与其中的部分路由器建立连接,并通过该分布式架构网络获取数据源服务器中的业务数据包或者获取该分布式架构网络中各个路由器中缓存的业务数据包。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。特别地,服务器105可以是总行存储有业务数据包的数据源服务器,可以通过分布式架构网络向多个分行网点提供数据分发服务。

需要说明的是,本公开实施例所提供的数据缓存方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据缓存装置一般可以设置于服务器105中。本公开实施例所提供的数据缓存方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据缓存装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

以下将基于图1描述的场景,通过图2~图9对公开实施例的数据缓存方法进行详细描述。

图2示意性示出了根据本公开实施例的数据缓存方法的流程图。

如图2所示,该实施例的数据缓存方法例如包括操作S210~操作S250,该数据缓存方法可以由计算机程序在相应计算机硬件上执行。

在操作S210,响应于客户请求,确定一个或多个请求传输链路,每个请求传输链路包括至少一个路由器。

在操作S220,遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答。

在操作S230,分别确定从每个请求传输链路中获取全部业务数据包的总耗电量。

在操作S240,最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包。

在操作S250,将多个业务数据包缓存至目标路由器。其中,多个业务数据包在目标路由器中的空间占用量大于预设阈值。

例如,一家大型银行拥有多个分行,每个分行都需要从总行获取业务数据包来进行日常业务处理。为了提高数据传输效率和网络性能,采用数据缓存的方法,将业务数据包存储在多个路由器中,以便更快地向分行提供数据。

首先,可以确定多个请求传输链路,每个链路对应一个分行的路由器。例如,假设总行有3个分行(F1,F2,F3),每个分行都有一个对应的路由器(R1,R2,R3)。

接下来,可以遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答。在这个例子中,总行需要向各个分行分发业务数据包,因此可以确定每个路由器上存储的业务数据包,并将它们缓存到相应的路由器中。

然后,可以分别确定从每个请求传输链路中获取全部业务数据包的总耗电量。在这个例子中,需要考虑到各个分行的地理位置和网络拓扑结构,以最小化总耗电量。例如,如果从总行到F1的链路比到F2和F3的链路更短且更加稳定,那么可以将更多的业务数据包缓存到R1中,以减少总的传输耗电量。

接着,可以最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包。在这个例子中,目标路由器可以是具有最低耗电量的路由器。例如,如果R1的耗电量最低,那么总行可以将更多的业务数据包缓存到R1中。

最后,需要确保多个业务数据包在目标路由器中的空间占用量大于预设阈值。在这个例子中,如果R1的存储容量不足以缓存所有的业务数据包,那么总行需要将部分数据包存储在其他的路由器中,或者考虑增加R1的存储容量。

通过采用数据缓存的方法,总行可以更快地向各个分行提供业务数据包,提高网络性能和数据处理效率。同时,通过最小化总耗电量和确保足够的存储空间,银行可以降低运营成本和避免数据存储问题。

在操作S210,响应于客户请求,涉及获取用户信息。

在本公开的实施例中,在获取用户的信息之前,可以获得用户的同意或授权。例如,在操作S210之前,可以向用户发出获取用户信息的请求。在用户同意或授权可以获取用户信息的情况下,执行所述操作S210。

图3示意性示出了根据本公开实施例的遍历路由器的方法流程图。

根据本公开的实施例,如图3所示,例如通过操作S321~操作S323来遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答。

在操作S321,确定接收客户请求的初始路由器。

在操作S322,以初始路由器为出发点,沿一个或多个请求传输链路依次检查各路由器中所缓存的业务数据包。

在操作S323,在匹配到与客户请求相对应的目标业务数据包的情况下,由存储目标业务数据包的源路由器或数据源服务器作出应答,并记录从初始路由器到源路由器或数据源服务器的访问跳数。

在一些实施例中,当网点客户需要某一业务数据包时,该客户将首先向与之连接的路由器发送业务数据包请求,这个请求将沿着路由传递路径直到数据源服务器对请求进行应答。在此过程中,该请求途径的每个路由器首先检查所请求的业务数据包是否进行了缓存,如果路由器的本地缓存中包括该业务数据包,则由此路由器应答客户的请求,请求也到此为止;反之,请求将继续传递,直到被应答后才能停止。将两个路由器之间的距离定义为一跳,

例如,总行需要向各地多个分支机构(分行)分发业务数据包。为了提高数据传输效率和网络性能,采用了分布式架构网络,将部分路由器部署在各个分行中作为初始路由器,与用户直接相连。其他中间路由器则位于总行和各个分行之间,用于连接总行的数据源服务器和各个分行的初始路由器。

在这个网络中,每个分行的初始路由器负责向总行的数据源服务器发出请求,并接收来自总行的业务数据包。然后,这些业务数据包被缓存到相应的路由器中,以便后续的请求能够快速地得到响应。

具体实施步骤如下:

确定接收客户请求的初始路由器:在每个分行,都有一个或多个初始路由器负责接收来自用户的请求。这些初始路由器直接与用户相连,并作为与总行数据源服务器的中继节点。

以初始路由器为出发点,沿一个或多个请求传输链路依次检查各路由器中所缓存的业务数据包:当一个用户向某个分行的初始路由器发出请求时,该路由器会检查其缓存中是否有对应的业务数据包。如果缓存中没有所需的数据包,则该路由器会向其上游的中间路由器发出请求。这个过程会依次进行,直到找到匹配的业务数据包或到达总行的数据源服务器。

在匹配到与客户请求相对应的目标业务数据包的情况下,由存储目标业务数据包的源路由器或数据源服务器作出应答,并记录从初始路由器到源路由器或数据源服务器的访问跳数:当找到匹配的业务数据包时,存储该数据包的路由器会向发出请求的初始路由器作出应答。同时,路由器之间会记录下从初始路由器到目标业务数据包的源路由器的访问跳数。这些信息可用于后续的数据传输和路由优化。

在这个例子中,假设有一个用户向分行的初始路由器发出请求。初始路由器检查其缓存中没有找到相应的业务数据包。于是,初始路由器向其上游的中间路由器发出请求。这个中间路由器同样没有找到所需的数据包,于是它向其上游的另一个中间路由器发出请求。这个过程会依次进行,直到找到匹配的业务数据包或到达总行的数据源服务器。

假设在最后一个中间路由器处找到了目标业务数据包。这个中间路由器会向分行的初始路由器作出应答,同时记录下从分行的初始路由器到目标业务数据包的源路由器的访问跳数为3(经过了两个中间路由器)。这个信息可以用于后续的数据传输和路由优化。

通过这种方式,可以实现分布式架构网络中的数据缓存和优化传输路径,从而提高网络性能和数据处理效率。

图4示意性示出了根据本公开实施例的确定总耗电量的方法流程图。

根据本公开的实施例,如图4所示,例如通过操作S431~操作S435来分别确定从每个请求传输链路中获取全部业务数据包的总耗电量。

在操作S431,确定多个初始路由器。

在操作S432,确定各业务数据包的被请求概率。

在操作S433,根据被请求概率,确定各路由器缓存各业务数据包的第一耗电量。

在操作S434,根据访问跳数和被请求概率,确定从多个初始路由器获取各业务数据包的第二耗电量。以及

在操作S435,根据第一耗电量和第二耗电量,确定总耗电量。

在一些实施例中,本公开能量消耗主要由两部分组成:一是每个路由器缓存业务数据包时产生的缓存电量消耗,二是业务数据包的传输电量消耗,即业务数据包在网络传递过程中途经各链路产生的传输电量消耗和途经路由器时产生的处理电量消耗。

当网点客户1对业务数据包f

其中,P

其中,

例如,总行需要向三个分行(F1,F2,F3)分发业务数据包,确定三个初始路由器(R1,R2,R3)分别对应三个分行的请求传输链路。

确定多个初始路由器:选择R1,R2和R3作为初始路由器,分别对应F1,F2和F3的分行请求传输链路。

确定各业务数据包的被请求概率:假设各业务数据包的被请求概率分别为P(F1)=0.4,P(F2)=0.3,P(F3)=0.3。这些概率可以根据历史数据或业务需求进行估算。

根据被请求概率,确定各路由器缓存各业务数据包的第一耗电量:各路由器需要缓存的业务数据包是根据其在对应的分行被请求的概率来确定的。假设R1需要缓存的业务数据包为A,B,C;R2需要缓存的业务数据包为D,E;R3需要缓存的业务数据包为M,G。各路由器缓存各业务数据包的第一耗电量可以表示为:

R1:0.4×(耗电量A+耗电量B+耗电量C)

R2:0.3×(耗电量D+耗电量E)

R3:0.3×(耗电量M+耗电量G)

其中,耗电量A、耗电量B、耗电量C、耗电量D、耗电量E、耗电量M、耗电量G为相应路由器缓存业务数据包的耗电量。

根据访问跳数和被请求概率,确定从多个初始路由器获取各业务数据包的第二耗电量:当一个分行的初始路由器没有找到对应的业务数据包时,它需要向其上游的中间路由器发出请求。假设从R1到总行的访问跳数为h1=2,从R2到总行的访问跳数为h2=3,从R3到总行的访问跳数为h3=1。各分行初始路由器获取各业务数据包的第二耗电量可以表示为:

R1:0.4×(h1×(耗电量A’+耗电量B’+耗电量C’))

R2:0.3×(h2×(耗电量D’+耗电量E’))

R3:0.3×(h3×(耗电量M’+耗电量G’))

其中,耗电量A’、耗电量B’、耗电量C’、耗电量D’、耗电量E’、耗电量M’、耗电量G’为相应路由器传递及处理业务数据包的耗电量。

根据第一耗电量和第二耗电量,确定总耗电量:总耗电量是各路由器第一耗电量和第二耗电量的总和。假设缓存耗电量与传递、处理耗电量相同,则各路由器第一耗电量和第二耗电量的计算结果分别为:

R1:第一耗电量=0.4×(1+2+3)=0.4×6=2.4焦耳,第二耗电量=0.4×(2×(1+2+3))=0.4×16=6.4焦耳,总耗电量=2.4+6.4=8.8焦耳。

R2:第一耗电量=0.3×(4+5)=0.3×9=2.7焦耳,第二耗电量=0.3×(3×(4+5))=0.3×54=16.2焦耳,总耗电量=2.7+16.2=18.9焦耳。

R3:第一耗电量=0.3×(6+7)=0.3×13=3.9焦耳,第二耗电量=0.3×(1×(6+7))=0.3×13=3.9焦耳,总耗电量=3.9+3.9=7.8焦耳。

通过以上步骤,可以分别确定从每个请求传输链路中获取全部业务数据包的总耗电量。这些信息可以用于优化网络性能和负载均衡。

图5示意性示出了根据本公开实施例的确定第二耗电量的方法流程图。

根据本公开的实施例,如图5所示,例如通过操作S5341~操作S5343来根据访问跳数,确定从多个初始路由器获取各业务数据包的第二耗电量。

在操作S5341,根据访问跳数和被请求概率,确定各业务数据包从源路由器或数据源服务器到多个初始路由器的传输耗电量。

在操作S5342,根据访问跳数和被请求概率,确定从多个初始路由器到源路由器或数据源服务器的链路中,各路由器对各业务数据包的处理耗电量。以及

在操作S5343,根据传输耗电量和处理耗电量,确定第二耗电量。

在一些实施例中,在业务数据包的传递过程中,途经网络链路传输的电量消耗,即路由器传输电量消耗为:

其中,P

业务数据包在传递过程中会经过链路中的各个路由器,与此同时各路由器会对业务数据包进行加工处理,被称为处理电量消耗,表示为:

其中,P

此时,可以得到网络内部在传输业务数据包过程中产生的总电量消耗为:

通过以上推导得到整个网络的网点客户获取业务数据包时路由器的总电量消耗为:

例如,总行需要向三个分行(F1,F2,F3)分发业务数据包,总行确定三个初始路由器(R1,R2,R3)分别对应三个分行的请求传输链路。

根据访问跳数和被请求概率,确定各业务数据包从源路由器或数据源服务器到多个初始路由器的传输耗电量:

对于R1,由于其到总行的访问跳数为2,且其对应的F1分行的业务数据包被请求概率为0.4,所以传输耗电量为:2*0.4*(传输电量A+传输电量B+传输电量C)。

对于R2,由于其到总行的访问跳数为3,且其对应的F2分行的业务数据包被请求概率为0.3,所以传输耗电量为:3*0.3*(传输电量D+传输电量E)。

对于R3,由于其到总行的访问跳数为1,且其对应的F3分行的业务数据包被请求概率为0.3,所以传输耗电量为:1*0.3*(传输电量M+传输电量G)。

根据访问跳数和被请求概率,确定从多个初始路由器到源路由器或数据源服务器的链路中,各路由器对各业务数据包的处理耗电量:

对于R1,由于其到总行的访问跳数为2,且其对应的F1分行的业务数据包被请求概率为0.4,所以处理耗电量为:2*0.4*(处理电量A+处理电量B+处理电量C)。

对于R2,由于其到总行的访问跳数为3,且其对应的F2分行的业务数据包被请求概率为0.3,所以处理耗电量为:3*0.3*(处理电量D+处理电量E)。

对于R3,由于其到总行的访问跳数为1,且其对应的F3分行的业务数据包被请求概率为0.3,所以处理耗电量为:1*0.3*(处理电量M+处理电量G)。

根据传输耗电量和处理耗电量,确定第二耗电量:

对于R1,第二耗电量=传输电量+处理电量=2*0.4*(传输电量A+传输电量B+传输电量C)+2*0.4*(处理电量A+处理电量B+处理电量C)。

对于R2,第二耗电量=传输电量+处理电量=3*0.3*(传输电量D+传输电量E)+3*0.3*(处理电量D+处理电量E)。

对于R3,第二耗电量=传输电量+处理电量=1*0.3*(传输电量F+传输电量G)+1*0.3*(处理电量M+处理电量G)。

通过以上步骤,可以根据访问跳数确定从多个初始路由器获取各业务数据包的第二耗电量。这些信息可以用于优化网络性能和负载均衡。

图6示意性示出了根据本公开实施例的确定被请求概率的方法流程图。

根据本公开的实施例,如图6所示,例如通过操作S6321来确定各业务数据包的被请求概率。

在操作S6321,根据Zipf分布,确定各业务数据包的被请求概率。

在一些实施例中,网点客户根据Zipf分布对业务数据包发出数据请求,对于业务数据集合中的一个业务数据包,它的流行度(概率)表示为:

其中,α是Zipf分布的固定参数,且α=[0,1]可描述业务数据包流行度的偏斜程度,α从0递增至1意味着重要的业务数据包越来越少,越来越集中在少部分业务数据包上。

例如,Zipf分布是一种概率分布模型,可以用于描述在互联网中网页的访问概率分布。根据Zipf分布,一个网页的被请求概率与其在网站中的排名有关。假设银行总行的业务数据包也符合Zipf分布,可以根据业务数据包的排名来估算其被请求概率。

所有业务数据包的集合为F,第一个业务数据包的编号为1,其他业务数据包的编号为2,3,…K。同时,我们已知Zipf分布的固定参数α。

首先,需要计算所有业务数据包的α次方的倒数之和。可以使用循环遍历所有业务数据包,计算每个业务数据包的α次方的倒数,并将其加入到一个累加和中。

公式表示为:Sum=∑(1/x^α),其中x为业务数据包的编号。

接下来,需要计算第一个业务数据包的α次方的倒数。

公式表示为:1st_prob=(1/1^α)。

最后,可以通过以下公式计算第一个业务数据包的被访问概率:

1st_prob_final=1st_prob/Sum。

例如,总行有100个业务数据包,每个数据包都有一个唯一的编号(从1到100)。根据Zipf分布,一个数据包的被请求概率可以按照以下方式计算:

P(被请求概率)=x st_prob/Sum,其中,x=[1,100]。

根据这个公式,可以计算出每个业务数据包的被请求概率。

然后,可以将这些被请求概率分配到各个路由器上。假设R1对应F1分行的业务数据包被请求概率为P(F1),R2对应F2分行的业务数据包被请求概率为P(F2),R3对应F3分行的业务数据包被请求概率为P(F3)。这些概率可以根据历史数据或业务需求进行估算。

通过以上步骤,可以确定第一个业务数据包的被访问概率。类似地,可以计算其他业务数据包的被访问概率。针对分布式网络布局,采用zipf分布模型可以准确得到网络中的业务数据包的被请求概率,提高了方法的可靠性。

图7示意性示出了根据本公开实施例的最小化总耗电量的方法流程图。

根据本公开的实施例,如图7所示,例如通过操作S741~S742来最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包。

在操作S741,确定最小化总耗电量的限制条件,限制条件包括目标路由器的缓存空间大于等于多个业务数据包所占用的空间之和。

在操作S742,根据限制条件,采用贪婪算法确定目标路由器和存入目标路由器的多个业务数据包。

在一些实施例中,以最小化整个网络的电量消耗为优化目标,建立优化问题:

min E

其中,限制条件s.t.C1表示路由器i的缓存空间限制。

例如,有一个网络,其中包含多个路由器,每个路由器都有一定的缓存空间。需要将多个业务数据包从数据源服务器或源路由器发送到目标路由器,并最小化总耗电量。为了实现这个目标,可以采用贪婪算法来确定目标路由器和存入目标路由器的多个业务数据包。

首先,确定最小化总耗电量的限制条件。在这个例子中,限制条件包括目标路由器的缓存空间大于等于多个业务数据包所占用的空间之和。这意味着目标路由器必须有足够的缓存空间来容纳所有的业务数据包,以避免数据包被缓存溢出或丢弃的情况发生。

接下来,可以采用贪婪算法来确定目标路由器和存入目标路由器的多个业务数据包。贪婪算法的思想是每次选择最优的选择,直到达到某个停止条件。在这个例子中,可以按照以下步骤进行:

第一,计算每个路由器的缓存空间和业务数据包所占用的空间之和。

第二,选择缓存空间最大的路由器作为目标路由器。

第三,将业务数据包按照顺序依次存入目标路由器中,直到目标路由器的缓存空间不足以容纳下一个数据包为止。

如果还有剩余的业务数据包,可以选择下一个缓存空间最大的路由器作为新的目标路由器,并将剩余的业务数据包存入其中。重复以上步骤,直到所有的业务数据包都被存入目标路由器中。

图8A示意性示出了根据本公开实施例的实施贪婪算法的方法流程图。图8B示意性示出了根据本公开实施例的实施贪婪算法的方法流程方框图。

根据本公开的实施例,如图8A所示,例如通过操作S8421~S8423来根据限制条件,采用贪婪算法确定目标路由器和存入目标路由器的多个业务数据包。

在操作S8421,根据限制条件,确定目标路由器的缓存空间。

在操作S8422,在目标路由器的缓存空间不为空的情况下,迭代缓存全部业务数据包到目标路由器,直到目标路由器的缓存空间占用量大于预设阈值。以及

在操作S8423,在迭代完成后,确定目标路由器和存入目标路由器的多个业务数据包。

在一些实施例中,如图8B所示,提出一种多路由协作缓存算法进行求解,得到每个路由器对业务数据包的缓存结果,以路由器i为例,包括:

(1)设定初始参数。

1.1设定网络内路由器数量及业务数据包数量,设定路由器设备的缓存空间。

(2)迭代求解过程。

2.1判断路由器i缓存空间是否为空,如果路由器i缓存空间为空,进行步骤2.4,如果路由器i缓存空间不为空,进行步骤2.2。

2.2路由器i将网络中所有业务数据包缓存下来。为达到使消耗电量最小的目标,每一次迭代都将满足目标的业务数据包加入到内容包缓存放置集合。

2.3每次迭代后需要判断路由器i缓存空间是否满了,若路由器i缓存空间满了,进行步骤2.4,若路由器i缓存空间未满,进行步骤2.2,直到路由器i没有缓存空间为止。

2.4迭代结束。

(3)输出路由器i需要缓存的业务数据包。

通过本算法的求解,可以优先将数据存入已经缓存有数据的路由器中,以减少数据的传输以及其他路由器的缓存,提高了无线通信的能效。

例如,有一个网络,其中包含多个路由器,每个路由器都有不同的缓存空间。需要将10个业务数据包从数据源服务器或源路由器发送到目标路由器,并最小化总耗电量。在这个例子中,可以按照以下步骤进行:

首先,确定目标路由器的缓存空间。可以根据限制条件来选择缓存空间最大的路由器作为目标路由器。假设当前目标路由器的缓存空间为100MB。

接下来,迭代将业务数据包缓存到目标路由器,直到目标路由器的缓存空间占用量大于预设阈值。在这个例子中,预设阈值可以设定为80%,即占用量大于80MB时停止缓存。

在迭代过程中,首先选择缓存空间最大的路由器作为目标路由器,并将第一个业务数据包缓存到目标路由器中。然后,继续选择下一个缓存空间最大的路由器,并将下一个业务数据包缓存到该路由器中,直到所有业务数据包都被缓存到目标路由器中或者目标路由器的缓存空间占用量大于预设阈值。

在迭代完成后,可以确定目标路由器和存入目标路由器的业务数据包。在这个例子中,假设将前8个业务数据包缓存到了目标路由器中,而第9个和第10个业务数据包无法缓存到目标路由器中。

通过采用贪婪算法,可以确定最小化总耗电量的目标路由器和存入目标路由器的多个业务数据包。同时,由于限制条件的约束,可以确保目标路由器有足够的缓存空间来容纳所有的业务数据包,从而避免不必要的丢弃或缓存溢出情况发生。

需要说明的是,贪婪算法只是一种近似最优解的方法,也可以采用其他更优的解法。因此,在实际应用中,需要根据具体情况综合考虑各种因素,并调整算法参数以获得最优的结果。

图9示意性示出了根据本公开另一实施例的数据缓存方法的流程图。

如图9所示,多个请求传输链路从属于网络模型,该实施例的数据缓存方法例如还包括操作S910。

在操作S910,构建网络模型。其中,网络模型包括数据源服务器和N个无向连接的路由器,且数据源服务器中存储有K个业务数据包。

在一些实施例中,本网络模型中共有N个具有缓存功能的路由器。整个网络的拓扑结构建模成无向的连接图G=(V,L),且V={v

例如,有一个网络模型,其中包括一个数据源服务器和十个无向连接的路由器,数据源服务器中存储了100个业务数据包。这个网络模型可以用于支持多个请求传输链路。

在实际应用中,可以根据具体情况构建不同的网络模型,并调整路由器数量和业务数据包数量以获得最优的性能。例如,如果网络需要支持更多的请求传输链路,可以增加路由器的数量。如果业务数据包数量不足以满足需求,可以增加数据源服务器中的业务数据包数量。构建由多个路由器进行无向连接的分布式网络模型,可以实现总行对各地分行的灵活数据分发。

需要注意的是,这个例子只是一种可能的场景,实际应用中还需要考虑其他因素,如网络拓扑结构、传输协议、负载均衡等。因此,在实际应用中,需要根据具体情况综合考虑各种因素,以获得最优的结果。

基于上述数据缓存方法,本公开还提供了一种数据缓存装置。以下将结合图10对该数据缓存装置进行详细描述。

图10示意性示出了根据本公开实施例的数据缓存装置的结构框图。

如图10所示,该实施例的数据缓存装置1000例如包括:第一确定模块1010、遍历模块1020、第二确定模块1030、最小化模块1040和缓存模块1050。

第一确定模块1010用于响应于客户请求,确定一个或多个请求传输链路,每个请求传输链路包括至少一个路由器。在一实施例中,第一确定模块1010可以用于执行前文描述的操作S210,在此不再赘述。

遍历模块1020用于遍历每个请求传输链路上的各个路由器,直至具有与客户请求相对应业务数据包的路由器或数据源服务器作出应答。在一实施例中,遍历模块1020可以用于执行前文描述的操作S220,在此不再赘述。

第二确定模块1030用于分别确定从每个请求传输链路中获取全部业务数据包的总耗电量。在一实施例中,第二确定模块1030可以用于执行前文描述的操作S230,在此不再赘述。

最小化模块1040用于最小化总耗电量,以确定目标路由器和存入目标路由器的多个业务数据包。在一实施例中,最小化模块1040可以用于执行前文描述的操作S240,在此不再赘述。

缓存模块1050用于将多个业务数据包缓存至目标路由器。其中,多个业务数据包在目标路由器中的空间占用量大于预设阈值。在一实施例中,缓存模块1050可以用于执行前文描述的操作S250,在此不再赘述。

根据本公开的实施例,第一确定模块1010、遍历模块1020、第二确定模块1030、最小化模块1040和缓存模块1050中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一确定模块1010、遍历模块1020、第二确定模块1030、最小化模块1040和缓存模块1050中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块1010、遍历模块1020、第二确定模块1030、最小化模块1040和缓存模块1050中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图11示意性示出了根据本公开实施例的适于实现数据缓存方法的电子设备的方框图。

如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1103中,存储有电子设备1100操作所需的各种程序和数据。处理器1101、ROM 1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。电子设备1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的数据缓存方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM 1102和RAM 1103以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的数据缓存方法。

在该计算机程序被处理器1101执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 数据缓存方法、装置、计算机设备及存储介质
  • 数据缓存方法、装置、计算机设备及存储介质
  • 一种数据缓存方法、装置、设备及存储介质
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 数据缓存方法、装置、软件程序、设备及存储介质
  • 数据缓存方法、装置、设备、介质及产品
技术分类

06120116581186