CN117056033A - 数据处理方法、装置、mec服务器及存储介质 - Google Patents

数据处理方法、装置、mec服务器及存储介质 Download PDF

Info

Publication number
CN117056033A
CN117056033A CN202210492324.6A CN202210492324A CN117056033A CN 117056033 A CN117056033 A CN 117056033A CN 202210492324 A CN202210492324 A CN 202210492324A CN 117056033 A CN117056033 A CN 117056033A
Authority
CN
China
Prior art keywords
data
database
local memory
stored
mec 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
Application number
CN202210492324.6A
Other languages
English (en)
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.)
China Mobile Communications Group Co Ltd
China Mobile Chengdu ICT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Chengdu ICT 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 China Mobile Communications Group Co Ltd, China Mobile Chengdu ICT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210492324.6A priority Critical patent/CN117056033A/zh
Publication of CN117056033A publication Critical patent/CN117056033A/zh
Pending legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据处理方法、装置、移动边缘计算(MEC)服务器及存储介质。方法包括:获取第一请求,所述第一请求用于请求获取第一数据;响应所述第一请求,在本地内存存储有所述第一数据的情况下,从本地内存获取第一数据,在本地内存未存储有所述第一数据的情况下,从数据库获取第二数据;所述第一数据为MEC服务器得到的原始数据,所述第二数据为MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中的静态的数据;将获取的所述第一数据发出。通过本申请,能够减少数据处理量,提升数据处理效率。

Description

数据处理方法、装置、MEC服务器及存储介质
技术领域
本申请涉及边缘云技术领域,尤其涉及一种数据处理方法、装置、移动边缘计算(MEC,Mobile Edge Computing)服务器及存储介质。
背景技术
边缘云是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。边缘云能够在接入网络边缘部署计算和存储能力,当终端设备请求调用服务数据时,能够直接从边缘云中获取相关数据,从而减轻网络压力,降低访问时延。
相关技术中,数据存储到边缘云时,需要先转换为适合存储的数据格式,也就是先将数据进行序列化处理再存储;相应地,从边缘云中调用数据时,需要先将获取的数据转换为适合读取的格式,也就是先将数据进行反序列化处理再读取。
然而,大量的数据处理任务给服务器带来了巨大压力,影响服务器的数据处理效率和性能。
发明内容
为解决相关技术问题,本申请实施例主要提供一种数据处理方法、装置、MEC服务器及存储介质。
本申请实施例的技术方案是这样实现的:
一种数据处理方法,应用于移动边缘计算MEC服务器,包括:
获取第一请求,所述第一请求用于请求获取第一数据;
响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
将获取的所述第一数据发出。
上述方案中,所述从所述第二数据中分离出动态变化的第三数据,包括:
确定所述第二数据中至少一个数据对象被引用的次数;
基于每个数据对象被引用的次数,确定每个数据对象的属性;所述属性表征数据对象对应的数据是动态的数据或是静态的数据;
基于所有数据对象的属性,从所述第二数据中分离出动态变化的第三数据。
上述方案中,所述从数据库获取第二数据,包括:
从第一数据库或第二数据库获取所述第二数据;所述第一数据库存储所述MEC服务器得到的部分数据,所述第二数据库存储所述MEC服务器得到的所有数据。
上述方案中,所述从第一数据库或第二数据库获取所述第二数据,包括:
在所述第一数据库存储所述第二数据的情况下,从所述第一数据库获取所述第二数据;
或者,在所述第一数据库未存储所述第二数据的情况下,从所述第二数据库获取所述第二数据。
上述方案中,所述方法还包括:
获取所述第一数据的相关信息;所述相关信息表征所述第一数据被请求的次数;
基于获取的相关信息,判断所述第一数据是否是热点数据;
在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。
上述方案中,所述基于获取的相关信息,判断所述第一数据是否是热点数据,包括:
当所述第一数据被请求的次数大于预设阈值时,将所述第一数据作为热点数据。
上述方案中,所述方法还包括:
更新所述本地内存和所述数据库。
本申请实施例还提供一种数据处理装置,包括:
第一获取单元,用于获取第一请求,所述第一请求用于请求获取第一数据;
第二获取单元,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
发送单元,用于将获取的所述第一数据发出。
本申请实施例还提供一种MEC服务器,包括:
通信接口,用于获取第一请求,所述第一请求用于请求获取第一数据;以及将获取的第一数据发出;
处理器,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,通过所述通信接口从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,通过所述通信接口从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据。
本申请实施例还提供一种MEC服务器,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。
本申请实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本申请实施例提供的数据处理方法、装置、MEC服务器及存储介质,获取第一请求,所述第一请求用于请求获取第一数据;响应所述第一请求,通过以下方式之一获取所述第一数据:在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;将获取的所述第一数据发出。本申请实施例提供的方案,在本地内存存储有第一数据的情况下,通过本地内存直接读取数据,读取的数据为MEC服务器得到的原始数据,不需要进行反序列化处理,从而提高数据获取的效率,同时不需要访问数据库,就不需要在数据库和服务器之间传输网络数据,从而减少网络资源占用量;在本地内存未存储第一数据的情况下,通过数据库获取数据,对读取的数据中动态变化的数据进行反序列化处理,从而减少反序列化处理对象,进而减少服务器的数据处理量,提升数据处理效率。
附图说明
图1为相关技术中数据处理的方法流程图;
图2为本申请实施例数据处理的方法流程示意图;
图3为本申请应用实施例数据处理系统的架构示意图;
图4为本申请应用实施例数据处理的方法流程示意图;
图5为本申请实施例数据处理装置结构示意图;
图6为本申请实施例MEC服务器结构示意图。
具体实施方式
下面结合附图及实施例对本申请再作进一步详细的描述。
终端设备向MEC服务器请求调用服务数据时,在边缘云存储有该服务数据的情况下,MEC服务器可以直接从边缘云中快速读取相关数据,在边缘云未存储该服务数据的情况下,MEC服务器从中心云中调用该服务数据并存储在边缘云中,以使终端设备后续可以从边缘云直接读取该服务数据。比如,在云边协同系统中,第五代移动通信技术(5G)应用需要调用服务数据时,可以直接从边缘云中读取相关数据,当边缘云中没有相关数据时,则MEC服务器先从中心云调用相关数据,并将调用的数据存储在边缘云中,以使5G应用后续可以通过边缘云快速读写该服务数据,从而减少终端设备对中心云的访问量。
其中,实际应用时,边缘云的数据库通常包括第一数据库和第二数据库,第一数据库存储了MEC服务器得到的部分数据,第二数据库存储了MEC服务器得到的所有数据;其中,第一数据库存储的数据通常是使用频率较高的部分数据,比如,热点数据;在获取数据时,MEC服务器可以先通过第一数据库读取数据,从而减少对第二数据库的数据访问量。相关技术中,通常采用缓存作为第一数据库,比如,采用远程字典服务器(Redis,RemoteDictionary Serve)、MemCache等缓存,其中,MemCache是一套分布式的高速缓存系统;缓存多采用分片存储架构,也就是按照一定的规则将数据分布到不同的分片,当通过第一数据库读写数据时,根据数据关键字(key)的哈希值(hash)确定对应的分片,从而以键值对(key-value)的形式在对应分片上存取数据。
图1为相关技术中数据处理的方法流程示意图,如图1所示,用户通过Nginx服务器向MEC服务器发送全球广域网(Web)应用的访问请求,其中,Nginx服务器是一种高性能的超文本传输协议(HTTP,Hyper Text Transfer Protocol)和反向代理Web服务器;MEC服务器从数据库中获取用户请求访问的服务数据;在此过程中,MEC服务器先查询Redis(即第一数据库)是否存储该数据,在Redis存储该数据的情况下,从Redis中获取数据,在Redis中未存储该数据的情况下,则从DB(即第二数据库)中获取该数据。这里,DB代表的是持久化存储MEC服务器得到的全部数据的数据库。
然而,在实际应用时,MEC服务器需要处理的数据处理数量较多,尤其是针对热点数据的数据处理,这大大增加了EMC服务器的数据处理量,且服务器和数据库之间存在大量的数据传输,还会造成网络资源被占用的问题,加剧网络竞争。
针对上述问题,可以通过部署第一数据库的方式来解决上述问题。
具体地,通常采用以下两种方式来解决上述问题:
第一种方式,先预测热点数据,并提前在第一数据库和第二数据库中加载热点数据,也就是先将热点数据存储到第一数据库和第二数据库,以使终端设备可以通过边缘云快速读取热点数据,进而提升数据处理效率。
第二种方式,可以通过搭建集群的方式对热点数据进行同步复制,也就是将热点数据存储到不同的缓存中,以降低对单一缓存的访问量;或者将热点数据分散存储至不同的分片,以降低对单个分片的访问压力。
然而,上述两种方式中,获取的数据依然需要进行反序列化处理,且获取的全部数据都需要进行反序列处理,服务器数据处理量较大,影响了服务器数据处理效率,同时,从数据库中获取的数据都需要经过网络传输才能到达服务器,造成网络资源被大量占用。
基于此,在本申请的各种实施例中,对于MEC服务器,在本地内存存储有第一数据的情况下,通过本地内存直接读取数据,读取的数据为MEC服务器得到的原始数据,不需要进行反序列化处理,从而提高数据获取的效率,同时不需要访问数据库,就不需要在数据库和服务器之间传输网络数据,从而减少网络资源占用量;在本地内存未存储第一数据的情况下,通过数据库获取数据,对读取的数据中动态变化的数据进行反序列化处理,从而减少反序列化处理对象,进而减少服务器的数据处理量,提升数据处理效率。
本申请实施例提供了一种数据处理方法,应用于MEC服务器,如图2所示,该方法包括:
步骤201:获取第一请求,所述第一请求用于请求获取第一数据;
步骤202:响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
步骤203:将获取的所述第一数据发出。
其中,实际应用时,步骤201中,终端设备可以通过Nginx服务器等应用服务器向MEC服务器发送请求,也就是说,获取第一请求可以通过接收Nginx服务器发送的访问请求实现。
实际应用时,MEC服务器得到原始数据后,先对原始数据进行序列化处理后再进行存储,在此过程中,原始数据中动态变化的数据会因为序列化处理转换为字节数组形式,而静态数据则不会被序列化,也就是说,静态的数据经过反序列化处理后不产生变化;而本申请实施例中,从所述第二数据中分离出动态变化的第三数据,并将反序列化处理后的第三数据返回,而对于静态的数据,则不需要再进行反序列化处理过程,从而减少了数据处理量,并能够提高数据获取效率,进而提高用户体验。
实际应用时,所述本地内存可以部署在MEC服务器内,可以是服务器内存的一部分,也可以是独立部署的内存。
在一实施例中,所述从数据库获取第二数据,包括:
从第一数据库或第二数据库获取所述第二数据;所述第一数据库存储所述MEC服务器得到的部分数据,所述第二数据库存储所述MEC得到的全部数据。这里,实际应用时,所述第一数据库的形式可以包括Redis、MemCache等,本申请实施例对此不作限定。
实际应用时,所述第一数据库中存储的是MEC服务器得到的部分数据,优先从第一数据库中获取所述第二数据,能够降低了对第二数据库的访问量。
基于此,在一实施例中,所述从第一数据库或第二数据库获取所述第二数据,包括:
在所述第一数据库存储所述第二数据的情况下,从所述第一数据库获取所述第二数据;或者,在所述第一数据库未存储所述第二数据的情况下,从所述第二数据库获取所述第二数据。
实际应用时,可以将所述第二数据中的具体数据可以按照一定规律进行分类,也就是说,所述第二数据可以包括至少一个数据对象,每个数据对象对应不同类别的数据,当数据对象被引用时,也就代表该数据对象所对应的数据发生变化。因此,根据数据对象被引用的次数,能够将动态变化的数据从所述第二数据中分离出来。
基于此,在一实施例中,所述从所述第二数据中分理处动态变化的第三数据,包括:
确定所述第二数据中至少一个数据对象被引用的次数;
基于每个数据对象被引用的次数,确定每个数据对象的属性;所述属性表征数据对象对应的数据是动态变化的数据或是静态的数据;
基于所有数据对象的属性,从所述第二数据中分离出动态变化的第三数据。
其中,所述第二数据中分离出动态变化的第三数据,可以称为对所述第二数据进行动静分离,还可以称为对所述第二数据进行动静拆分,可理解为,将所述第二数据中的动态数据和静态数据进行分离;其中,所述动态数据也就是动态变化的数据,比如,网站的访问量,网页滚动展示的图片等,所述静态数据也就是静态不变的数据,比如,结构信息类型的数据。
示例性地,在数据对象被引用的次数为“0”时,表征该数据对象未被引用过,可以认为该数据对象对应的数据为静态的数据;相应地,在数据对象被引用的次数不为“0”时,表征该数据对象被引用过,可以认为该数据对象对应的数据为动态变化的数据。
实际应用时,对热点数据的请求数量较多,因此,相较于请求获取其他数据,请求获取热点数据时,更容易产生服务器数据处理量过大和网络资源占用量过大的问题,因此,为了有效缓解服务器数据处理量大的问题和网络资源占用量大的问题,可以将所述本地内存用于存储热点数据;具体地,所述本地内存可以只存储热点数据。这里,实际应用时,所述本地内存存储的数据可以与所述第一数据库存储的数据一致,也可以是所述第一数据库存储的数据的一部分。
实际应用时,为了减少对网络资源的占用,可以只在所述第一数据为热点数据时,判断所述本地内存是否存储第一数据。
基于此,在一实施例中,所述方法还可以包括:
获取所述第一数据的相关信息;所述相关信息表征所述第一数据被请求的次数;
基于获取的相关信息,判断所述第一数据是否是热点数据;
在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。相应地,在所述第一数据不是热点数据的情况下,则不再确定所述本地内存是否存储所述第一数据,而是直接去所述数据库获取所述第一数据。
这里,由于所述本地内存存储的是所述MEC服务器得到的原始数据,可理解为,所述本地内存存储的是可以被终端设备直接读取的数据,因此,从所述本地内存获取的数据不需要再经过反序列化的处理过程,从而提高数据获取的效率,同时不需要访问数据库,就不需要在数据库和服务器之间传输网络数据,减少了网络传输的数据量,从而缓解热点数据的访问请求对服务器性能的影响,并能够有效提高数据获取速率,降低时延。
实际应用时,往往根据经验或历史数据来预测热点数据,采用这种方式得到的热点数据不够完整,且不够准确,从而导致所述本地内存和所述数据库中缓存的热点数据不够完整,进而在终端设备请求获取热点数据时,大量的热点数据仍然需要从中心云获取,不能够从本质上缓解热点数据对数据服务器访问的压力。而相较于预测热点数据的方式,根据数据被请求的次数来确定热点数据,能够大大提高热点数据确定结果的完整性和准确性,从而真正缓解服务器的访问压力。
基于此,在一实施例中,所述方法还可以包括:
获取所述第一数据的相关信息;所述相关信息表征所述第一数据被请求的次数;
基于获取的相关信息,判断所述第一数据是否是热点数据;
在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。
实际应用时,数据被请求的次数越多,则代表该数据的热度越高,因此,可以将被请求的次数达到一定数量的数据作为热点数据。
基于此,在一实施例中,所述基于获取的相关信息,判断所述第一数据是否是热点数据,包括:
当所述第一数据被请求的次数大于预设阈值时,将所述第一数据作为热点数据。
实际应用时,存储在所述本地内存和所述数据库的数据对象可能会存在变更,比如,确定的热点数据发生变化、数据对象对应的具体数据产生变化等;因此,为了保证获取到的第一数据是最新的数据,需要对所述本地内存和所述第一数据进行更新。
基于此,在一实施例中,所述方法还包括:
更新所述本地内存和所述数据库。
实际应用时,可以采用以下两种更新方式更新所述本地内存和所述数据库:
第一种更新方式,按照预设频率更新所述本地内存和所述数据库;具体地,所述MEC服务器根据预设频率更新所述本地内存和所述数据库,具体的频率根据实际使用需求进行设置,本申请实施例在此不作限定。
第二种更新方式,在获取第一请求的时候更新所述本地内存和所述数据库。
需要指出的是,实际采用的更新方式可以是以上两种更新方式之一,也可以是以上两种更新方式的组合,具体采用哪种方式根据实际使用需求进行设定,本申请对此不作限定。
示例性地,按照5min/次的频率更新所述本地内存和所述数据库,接收到所述第一请求时,假设下一次更新还差1min,但此时第二数据可能已经发生变更,因此,为了保证获取的第二数据是最新的数据,可以接收到所述第一请求时再对所述数据库进行一次更新。
本申请实施例提供的数据处理方法,获取第一请求,所述第一请求用于请求获取第一数据;响应所述第一请求,通过以下方式之一获取所述第一数据:在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;将获取的所述第一数据发出。本申请实施例提供的方案,在本地内存存储有第一数据的情况下,通过本地内存直接读取数据,读取的数据为MEC得到的原始数据,不需要进行反序列化处理,从而提高数据获取的效率,同时不需要访问数据库,就不需要在数据库和服务器之间传输网络数据,从而减少网络资源占用量;在本地内存未存储第一数据的情况下,通过数据库获取数据,对读取的数据中动态变化的数据进行反序列化处理,从而减少反序列化处理对象,进而减少服务器的数据处理量,提升数据处理效率。
下面结合应用实施例对本申请再作进一步详细的描述。
如图3所示,本申请应用实施例数据处理系统的架构主要包括:数据读取策略模块301、对象引用计数模块302、实例对象处理模块303、业务逻辑处理模块304。
下面对数据读取策略模块301、对象引用计数模块302、实例对象处理模块303和业务逻辑处理模块304的功能分别进行介绍。
数据读取策略模块301,用于管理数据库,也就是管理所述本地内存和所述数据库;具体地,用于获取第一请求,响应于所述第一请求,以及确定是从所述本地内存直接读取所述第一数据或者从所述数据库中获取所述第二数据,以及监控外部对象的变更。
其中,数据读取策略模块301可以利用事件监视器监控外部对象的变更,也就是外部数据的变更,比如,采用分布式协调服务(Zookeeper)的watcher事件进行监控;通过监控外部对象的变更,能够实现所述本地内存和所述数据库所存储数据的准时更新。
这里,实际应用时,由于存储于所述本地内存的数据可能来源于不同的平台,不同数据的数据源类型也可能不同,比如,数据源类型可以包括链接跳转、文本框、图片等,这将导致不同数据的变更机制也不相同;基于此,为了便于数据管理,所述本地内存在存储数据时,可以按照不同数据源类型分别进存储,也就是实现本地内存对数据的细粒度化管理。
对象引用计数模块302,用于统计实例对象的引用次数,也就是计算对所述第二数据中的每个数据对象被引用的次数。实际应用时,所述对象引用计数模块302可以通过计数器实现,具体地,可以为每个数据对象设置一个计数器,用于统计对应数据对象被引用的次数。
实例对象处理模块303,用于对获取的数据进行处理和发送;具体地,根据对象引用计数模块302发送的对象引用计数对实例对象进行动静分离和反序列化,也就是基于每个数据对象被引用的次数,确定每个数据对象的属性,以及基于所有数据对象的属性,从第二数据中分离出动态变化的第三数据,并对所述第三数据进行反序列化处理,得到第四数据,根据第四数据和第二数据中静态的数据,得到第一数据,以及发出所述第一数据。
这里,实际应用时,所述实例对象处理模块303可以在权衡拆分的收益后,根据实际需求对数据进行动静分离。比如,当请求调用的数据量较大,也就是所述第二数据的数据量较大,若对这些数据全部进行拆分处理,拆分过程将会耗费较长时间,使得数据处理效率反而低于直接对第二数据中的所有数据进行反序列化,此时,则可以选择不拆分第二数据,而是对第二数据直接进行反序列化处理。这里,具体的拆分策略根据MEC服务器的实际使用情况进行设置,本申请对此不作限定。
业务逻辑处理模块304,用于为实例对象处理模块303和对象引用计数模块302提供处理策略,例如,为实例对象处理模块303提供动静分离的策略,为对象引用计数模块302提供引用计数的策略。
基于上述架构,如图4所示,本申请应用实施例数据处理方法,包括以下步骤:
步骤401:用户通过Nginx服务器向MEC服务器发送访问请求;所述访问请求用于请求获取应用数据。具体地,Nginx服务器确定用户请求访问的Web应用,并通过确定的Web应用向MEC服务器发送访问请求。
步骤402:获取访问请求,统计热点数据,也就是获取第一请求;具体地,数据读取策略模块301根据所述访问请求,确定用户请求访问的第一数据,并通过对象引用计数模块302统计所述第一数据被访问的次数。示例性地,可以通过计数器对所述第一数据的key进行计数,每当第一数据被访问一次,对应key的值加一,key的值也就是对应数据被访问的次数。
步骤403:数据读取策略模块301判断本地缓存中是否存储所述第一数据;也就是判断本地内存是否存储所述第一数据。
步骤404:若所述本地缓存存储所述第一数据,实例对象处理模块303从所述本地缓存中获取所述第一数据;也就是在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据。其中,所述本地缓存存储的数据是热点数据。由于本地内存存储的数据是MEC服务器获取的原始数据,因此,读取数据时不需要再经过反序列化操作,从而提高数据访问效率,并减少服务器数据处理量。
步骤405:若所述本地缓存没有存储所述第一数据,实例对象处理模块303判断缓存集群中是否存储所述第二数据;也就是查询第一数据库中是否存储所述第二数据。其中,所述缓存集群采用的形式是Redis。
步骤406:若所述缓存集群中存储所述第二数据,实例对象处理模块303从所述缓存集群中获取所述第二数据;也就是在所述第一数据库存储所述第二数据的情况下,从所述第一数据库获取所述第二数据。
步骤407:若所述缓存集群中未存储所述第二数据,实例对象处理模块303从DB中获取所述第二数据;也就是在所述第一数据库未存储所述第二数据的情况下,从所述第二数据库获取所述第二数据。这里,DB代表的是持久化存储MEC服务器得到的全部的数据的数据库。
步骤408:实例对象处理模块303将获取的所述第二数据进行动静分离,得到动态数据和静态数据;也就是从所述第二数据中分离出动态变化的第三数据。具体地,对象引用计数模块302确定所述第二数据中至少一个数据对象被引用的次数,实例对象处理模块303基于所述第二数据中所有数据对象被引用的次数,从所述第二数据中分理出动态变化的数据;示例性地,将引用次数等于“0”的数据对象作为静态的数据,也就是静态数据,将引用次数不等于“0”的数据对象作为动态变化的数据,也就是动态数据。
步骤409:实例对象处理模块303将所述动态数据进行反序列化处理;也就是对所述第三数据进行反序列化处理,得到第四数据。
步骤410:实例对象处理模块303根据所述静态数据和反序列化处理后的动态数据得到第一数据;也就是所述第一数据包含第四数据和第二数据中静态的数据。这里,由于静态数据在序列化处理后不存在变化,是可以直接读取的数据,因此,在将动态数据和静态数据分离后,只需要将动态变化的数据对象复制拷贝到实例对象处理模块303中进行反序列化处理,其他静态数据则直接从对应数据库中引用,减少了复制拷贝和反序列化处理的数据量,避免服务器CPU和网络资源等资源的浪费。
步骤411:实例对象处理模块303发送所述第一数据。
本申请应用实施例提供的数据处理系统,通过部署本地缓存并在本地缓存存储MEC服务器得到的原始数据,不仅能对数据库的数据访问量进行分流,并且从本地缓存获取数据时不需要对数据进行反序列化,加快数据访问速度,提高数据处理性能,同时,相较于通过网络传输获取数据库的数据,从本地缓存获取数据,能够加快数据访问速度,还能减少数据传输占用的网络资源;通过对第二数据进行动静分离,并仅对动态变化的数据进行局部拷贝和处理,也就是从数据库中拷贝到实例对象处理模块中作反序列化处理,而对于静态的数据,则可以直接读取,减少了服务器的数据处理量,避免服务器CPU等资源的浪费,还能够提高数据处理效率。
为了实现本申请实施例的方法,本申请实施例还提供了一种数据处理装置,设置在MEC服务器上,如图5所示,该装置包括:
第一获取单元501,用于获取第一请求,所述第一请求用于请求获取第一数据;
第二获取单元502,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
发送单元503,用于将获取的所述第一数据发出。
在一实施例中,所述第二获取单元502,具体用于:
确定所述第二数据中至少一个数据对象被引用的次数;
基于每个数据对象被引用的次数,确定每个数据对象的属性;所述属性表征数据对象对应的数据是动态的数据或是静态的数据;
基于所有数据对象的属性,从所述第二数据中分离出动态变化的第三数据。
在一实施例中,所述第二获取单元502,具体用于:
从第一数据库或第二数据库获取所述第二数据;所述第一数据库存储MEC服务器得到的部分数据,所述第二数据库存储MEC服务器得到的所有数据。
在一实施例中,所述第二获取单元502,具体用于:
在所述第一数据库存储所述第二数据的情况下,从所述第一数据库获取所述第二数据;
或者,在所述第一数据库未存储所述第二数据的情况下,从所述服务器数据库获取所述第二数据。
在一实施例中,所述装置还包括:
确定单元,用于获取所述第一数据的相关信息;所述相关信息表征所述所述第一数据被请求的次数;以及基于获取的相关信息,判断所述第一数据是否是热点数据;
所述第二获取单元502,用于在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。
在一实施例中,所述确定单元,具体用于:
当所述第一数据被请求的次数大于预设阈值时,判断所述第一数据是热点数据。
在一实施例中,所述装置还包括:
更新单元,用于更新所述本地内存和所述数据库。
实际应用时,所述第一获取单元501和发送单元503可由数据处理装置中的通信接口实现,所述第二获取单元502可由数据处理装置中的处理器结合通信接口实现,所述确定单元可由数据处理装置中的处理器实现。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分为不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例数据处理方法,本申请实施例还提供了一种MEC服务器,如图6所示,该MEC服务器600包括:
通信接口601,能够与终端设备进行信息交互;其中,所述终端设备可以包括应用服务器、移动终端、智能终端、手持终端、车载终端等。
处理器602,与所述第一通信接口601连接,以实现与网络侧进行信息交互,用于运行计算机程序时,执行上述终端侧一个或多个技术方案提供的方法;
存储器603,所述计算机程序存储在所述存储器603上。
具体地,所述通信接口,用于获取所述第一请求,所述第一请求用于请求获取第一数据;以及发出所述第一数据。
所述处理器602,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,通过所述通信接口601从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,通过所述通信接口601从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据。
其中,在一实施例中,所述处理器602,具体用于:
确定所述第二数据中至少一个数据对象被引用的次数;
基于每个数据对象被引用的次数,确定每个数据对象的属性;所述属性表征数据对象对应的数据是动态的数据或是静态的数据;
基于所有数据对象的属性,从所述第二数据中分离出动态变化的第三数据。
在一实施例中,所述处理器602,具体用于:
从第一数据库或第二数据库获取所述第二数据;所述第一数据库存储MEC服务器得到的部分数据,所述第二数据库存储MEC服务器得到的所有数据。
在一实施例中,所述处理器602,具体用于:
在所述第一数据库存储所述第二数据的情况下,通过所述通信接口601从所述第一数据库获取所述第二数据;或者,在所述第一数据库未存储所述第二数据的情况下通过所述通信接口601从所述第二数据库获取所述第二数据。
在一实施例中,所述处理器602,还用于:
获取所述第一数据的相关信息;所述相关信息表征所述所述第一数据被请求的次数;
基于获取的相关信息,判断所述第一数据是否是热点数据;
在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。
在一实施例中,所述处理器602,具体用于:
当所述第一数据被请求的次数大于预设阈值时,判断所述第一数据是热点数据。
在一实施例中,所述处理器602,还用于:
更新所述本地内存和所述数据库。
需要说明的是:所述通信接口601和所述处理器602的具体处理过程可参照上述方法理解。
当然,实际应用时,MEC服务器600中的各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。
本申请实施例中的存储器603用于存储各种类型的数据以支持MEC服务器600的操作。这些数据的示例包括:用于在MEC服务器600上操作的任何计算机程序。
上述本申请实施例揭示的方法可以应用于所述处理器602中,或者由所述处理器602实现。所述处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述处理器602可以是通用处理器、数字信号处理器(DSP,Digital SignalProcessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器602可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器603,所述处理器602读取存储器603中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,MEC服务器600可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,本申请实施例的存储器603可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器603,上述计算机程序可由MEC服务器600的处理器602执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (11)

1.一种数据处理方法,应用于移动边缘计算MEC服务器,其特征在于,所述方法包括:
获取第一请求,所述第一请求用于请求获取第一数据;
响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
将获取的所述第一数据发出。
2.根据权利要求1所述的方法,其特征在于,所述从所述第二数据中分离出动态变化的第三数据,包括:
确定所述第二数据中至少一个数据对象被引用的次数;
基于每个数据对象被引用的次数,确定每个数据对象的属性;所述属性表征数据对象对应的数据是动态的数据或是静态的数据;
基于所有数据对象的属性,从所述第二数据中分离出动态变化的第三数据。
3.根据权利要求1或2所述的方法,其特征在于,所述从数据库获取第二数据,包括:
从第一数据库或第二数据库获取所述第二数据;所述第一数据库存储所述MEC服务器得到的部分数据,所述第二数据库存储所述MEC服务器得到的所有数据。
4.根据权利要求3所述的方法,其特征在于,所述从第一数据库或第二数据库获取所述第二数据,包括:
在所述第一数据库存储所述第二数据的情况下,从所述第一数据库获取所述第二数据;
或者,在所述第一数据库未存储所述第二数据的情况下,从所述第二数据库获取所述第二数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一数据的相关信息;所述相关信息表征所述第一数据被请求的次数;
基于获取的相关信息,判断所述第一数据是否是热点数据;
在所述第一数据是热点数据的情况下,响应所述第一请求,获取第一数据。
6.根据权利要求5所述的方法,其特征在于,所述基于获取的相关信息,判断所述第一数据是否是热点数据,包括:
当所述第一数据被请求的次数大于预设阈值时,将所述第一数据作为热点数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
更新所述本地内存和所述数据库。
8.一种数据处理装置,其特征在于,包括:
第一获取单元,用于获取第一请求,所述第一请求用于请求获取第一数据;
第二获取单元,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据;
发送单元,用于将获取的所述第一数据发出。
9.一种MEC服务器,其特征在于,包括:
通信接口,用于获取第一请求,所述第一请求用于请求获取第一数据;以及将获取的第一数据发出;
处理器,用于响应所述第一请求,通过以下方式之一获取所述第一数据:
在本地内存存储有所述第一数据的情况下,通过所述通信接口从所述本地内存直接读取所述第一数据,本地内存存储的数据为所述MEC服务器得到的原始数据;
在本地内存未存储所述第一数据的情况下,通过所述通信接口从数据库获取第二数据,所述数据库存储的数据为所述MEC服务器得到的原始数据进行序列化处理后的数据;从所述第二数据中分离出动态变化的第三数据;对所述第三数据进行反序列化处理,得到第四数据;所述第一数据包含第四数据和第二数据中静态的数据。
10.一种MEC服务器,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述方法的步骤。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
CN202210492324.6A 2022-05-07 2022-05-07 数据处理方法、装置、mec服务器及存储介质 Pending CN117056033A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210492324.6A CN117056033A (zh) 2022-05-07 2022-05-07 数据处理方法、装置、mec服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210492324.6A CN117056033A (zh) 2022-05-07 2022-05-07 数据处理方法、装置、mec服务器及存储介质

Publications (1)

Publication Number Publication Date
CN117056033A true CN117056033A (zh) 2023-11-14

Family

ID=88663212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210492324.6A Pending CN117056033A (zh) 2022-05-07 2022-05-07 数据处理方法、装置、mec服务器及存储介质

Country Status (1)

Country Link
CN (1) CN117056033A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270794A (zh) * 2023-11-22 2023-12-22 成都大成均图科技有限公司 一种基于Redis的数据存储方法、介质及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270794A (zh) * 2023-11-22 2023-12-22 成都大成均图科技有限公司 一种基于Redis的数据存储方法、介质及设备
CN117270794B (zh) * 2023-11-22 2024-02-23 成都大成均图科技有限公司 一种基于Redis的数据存储方法、介质及设备

Similar Documents

Publication Publication Date Title
US10831562B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
CN109690512B (zh) 具有触发操作的gpu远程通信
CN110597739A (zh) 一种配置的管理方法、系统及设备
WO2017050014A1 (zh) 一种数据存储处理方法和装置
CN111767143A (zh) 交易数据处理方法、装置、设备及系统
CN106713028B (zh) 业务降级方法、装置和分布式任务调度系统
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN109871498B (zh) 后端接口响应方法、装置、电子设备及存储介质
CN110765165B (zh) 一种跨系统数据同步处理的方法、装置及系统
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
WO2024027548A1 (zh) 一种节点选举的方法、装置、存储介质及电子设备
CN117056033A (zh) 数据处理方法、装置、mec服务器及存储介质
EP4390646A1 (en) Data processing method in distributed system, and related system
CN113051244B (zh) 数据访问方法和装置、数据获取方法和装置
CN112765503A (zh) 页面加载数据的静态化处理方法和装置
CN115827745A (zh) 内存数据库集群的实现方法、装置及内存数据库集群
CN112163176A (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN113010816A (zh) 网页缓存更新方法、装置、电子设备及存储介质
US7823110B2 (en) Method and system for processing geometrical layout design data
CN113849255B (zh) 一种数据处理方法、设备以及存储介质
US20220164317A1 (en) Remote file access apparatus and method thereof
CN112948206B (zh) 基于云计算的时序日志管理系统及包含该系统的电子设备
CN116795531A (zh) 一种资源调度方法、装置、电子设备及存储介质
CN114237893A (zh) 缓存方法、装置、系统、服务器以及存储介质
CN113094178A (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