首页> 中国专利> 一种web微服务集群中数据的读写方法及相关装置

一种web微服务集群中数据的读写方法及相关装置

摘要

本申请公开了一种web微服务集群中数据的读写方法,包括为每个存储服务定义对应的存储区域;当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。该方法能够保障在多点存储下读写操作的正常有效进行,保证整个业务的正常运行。本申请还公开了一种web微服务集群中数据的读写装置、设备及计算机可读存储介质,均具有上述技术效果。

著录项

  • 公开/公告号CN112506434A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 杭州安恒信息技术股份有限公司;

    申请/专利号CN202011453183.4

  • 发明设计人 杨孔顺;范渊;苗春雨;

    申请日2020-12-11

  • 分类号G06F3/06(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人高勇

  • 地址 310000 浙江省杭州市滨江区西兴街道联慧街188号

  • 入库时间 2023-06-19 10:16:30

说明书

技术领域

本申请涉及服务器技术领域,特别涉及一种web微服务集群中数据的读写方法;还涉及一种web微服务集群中数据的读写装置、设备以及计算机可读存储介质。

背景技术

Web微服务具有高速、稳定、可靠、服务能力可动态扩展等特点,对企业业务具有重大价值。在web微服务集群中,可能发生数据量巨大的情况,在数据量巨大的情况下,存储与读取数据就会产生瓶颈。单点存储往往会造成数据不稳定,存在数据丢失无法找回的风险,为此需要采取多点存储的方式存储数据。然而在多点存储的情况下,保障读写操作的正常有效进行,保证整个业务的正常运行是Web微服务的关键,而如何保障读写操作的正常有效进行,保证整个业务的正常运行显然成为本领域技术人员亟待解决的技术问题。

发明内容

本申请的目的是提供一种web微服务集群中数据的读写方法,能够保障在多点存储下读写操作的正常有效进行,保证整个业务的正常运行。本申请的另一个目的是提供一种web微服务集群中数据的读写装置、设备以及计算机可读存储介质,均具有上述技术效果。

为解决上述技术问题,本申请提供了一种web微服务集群中数据的读写方法,包括:

为每个存储服务定义对应的存储区域;

当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;

在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;

当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

可选的,当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据包括:

若各所述存储区域均正在进行写操作,则在所述存储区域完成写操作后,选择一个完成写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

若各所述存储区域均未进行写操作,则随机选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

若部分所述存储区域未进行写操作,部分所述存储区域正在进行写操作,则选择一个未进行写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据。

可选的,还包括:

若所述存储区域中不存在要读取的数据,则反馈数据不存在信息。

可选的,还包括:

接收请求后,分析确认所接收的请求的类型。

为解决上述技术问题,本申请还提供了一种web微服务集群中数据的读写装置,包括:

定义模块,用于为每个存储服务定义对应的存储区域;

写操作处理模块,用于当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;

通知模块,用于在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;

读操作处理模块,用于当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

可选的,所述读操作处理模块包括:

第一读操作处理单元,用于若各所述存储区域均正在进行写操作,则在所述存储区域完成写操作后,选择一个完成写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

第二读操作处理单元,用于若各所述存储区域均未进行写操作,则随机选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

第三读操作处理单元,用于若部分所述存储区域未进行写操作,部分所述存储区域正在进行写操作,则选择一个未进行写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据。

可选的,还包括:

反馈模块,用于若所述存储区域中不存在要读取的数据,则反馈数据不存在信息。

可选的,还包括:

分析模块,用于接收请求后,分析确认所接收的请求的类型。

为解决上述技术问题,本申请还提供了一种web微服务集群中数据的读写设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述的web微服务集群中数据的读写方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的web微服务集群中数据的读写方法的步骤。

本申请所提供的web微服务集群中数据的读写方法,包括:为每个存储服务定义对应的存储区域;当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

可见,本申请所提供的web微服务集群中数据的读写方法,采用数据多点存储的方式,对每一存储服务定义其对应的存储区域,各存储服务负责其对应的存储区域的读写,并且各存储区域之间进行数据同步。当写入数据时,可随机选取一个存储服务进行写操作。当读取数据时,也可随机选择一个存储服务进行读操作。由此,可以保障即使有存储服务被占用也可以通过其他存储服务正常写入与读取数据,使读写操作正常有效进行,保证整个业务的正常运行。

本申请所提供的web微服务集群中数据的读写装置、设备以及计算机可读存储介质均具有上述技术效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种web微服务集群中数据的读写方法的流程示意图;

图2为本申请实施例所提供的一种web微服务集群中数据的读写装置的示意图;

图3为本申请实施例所提供的一种web微服务集群中数据的读写设备的示意图。

具体实施方式

本申请的核心是提供一种web微服务集群中数据的读写方法,能够保障在多点存储下读写操作的正常有效进行,保证整个业务的正常运行。本申请的另一个核心是提供一种web微服务集群中数据的读写装置、设备以及计算机可读存储介质,均具有上述技术效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种web微服务集群中数据的读写方法的流程示意图,参考图1所示,该方法主要包括:

S101:为每个存储服务定义对应的存储区域;

具体的,本申请为每个存储服务定义对应的存储区域,每个存储服务负责向其所对应的存储区域的写入数据以及从其所对应的存储区域里读取数据。

例如,存储服务1对应的存储区域为存储区域1,存储服务2对应的存储区域为存储区域2,存储服务3对应的存储区域为存储区域3。由此,存储服务1负责向存储区域1中写入数据以及从存储区域1里读取数据。存储服务2负责向存储区域2中写入数据以及从存储区域2里读取数据。同理,存储服务3负责向存储区域3中写入数据以及从存储区域3里读取数据。

S102:当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;

S103:在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;

具体的,web微服务终端接收到请求后,处理程序首先分析确认所接收的请求的类型,即分析确认所接收的请求为写请求还是读请求。当web微服务终端接收到的是写请求时,处理程序从各存储服务中随机选择一个存储服务,将要写入的数据发送给所选择的存储服务,由所选择的存储服务将要写入的数据写入其对应的存储区域。当所选择的存储服务完成数据写入后,所选择的存储服务将已写入完成信息反馈给处理程序,进而处理程序通知其他的存储服务更新各自对应的存储区域,在各自对应的存储区域中写入同样的数据,实现各存储区域的数据同步。

例如,存储服务1向其对应的存储区域1中写入数据A后,存储服务1将已写入完成信息反馈给处理程序,进而处理程序通知存储服务2与存储服务3更新各自对应的存储区域,存储服务2在自身对应的存储区域2中写入数据A,同样存储服务3在自身对应的存储区域3中写入数据A。

S104:当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

具体的,当web微服务终端接收到的是读请求时,处理程序从各存储服务中选择一个存储服务,由所选择的存储服务从其对应的存储区域中读取数据。

其中,在一种具体的实施方式中,上述当接收到读请求时,选择一个存储服务,使所选择的存储服务从对应的存储区域读取数据包括:

若各存储区域均正在进行写操作,则在存储区域完成写操作后,选择一个完成写操作的存储区域对应的存储服务,使所选择的存储服务从对应的存储区域中读取数据;若各存储区域均未进行写操作,则随机选择一个存储服务,使所选择的存储服务从对应的存储区域中读取数据;若部分存储区域未进行写操作,部分存储区域正在进行写操作,则选择一个未进行写操作的存储区域对应的存储服务,使所选择的存储服务从对应的存储区域中读取数据。

具体而言,web微服务终端接收到读请求,要读取数据时,可能存在各存储区域均正在进行写操作、各存储区域均未进行写操作以及部分存储区域未进行写操作,部分存储区域正在进行写操作几种情况。

若要读取数据时,各存储区域均正在进行写操作,则此时暂不进行数据读取,而在存储区域完成写操作后,随机选择一个完成写操作的存储区域对应的存储服务,由所选择的存储服务从对应的存储区域中读取数据。

例如,要读取数据时,存储区域1、存储区域2以及存储区域3均正在进行写操作,则暂时不进行数据读取,当存储区域1、存储区域2以及存储区域3中的任意一个存储区域完成写操作后,由其中一个完成写操作的存储区域对应的存储服务进行数据读取。如存储区域1完成写操作后,由存储区域1对应的存储服务1从其对应的存储区域1中读取数据。

若要读取数据时,各存储区域均未进行写操作,则此时直接随机选择一个存储服务,由所选择的存储服务从对应的存储区域中读取数据。

例如,要读取数据时,存储区域1、存储区域2以及存储区域3均未进行写操作,则此时直接从存储服务1、存储服务2以及存储服务3中随机选择一个存储服务,由所选择的存储服务从对应的存储区域中读取数据。如选择存储服务1,由存储服务1从其对应的存储区域1中读取数据。

若要读取数据时,部分存储区域未进行写操作,而部分存储区域正在进行写操作,则此时从未进行写操作的存储区域对应的存储服务中选择一个进行数据读取。

例如,要读取数据时,存储区域1与存储区域2未进行写操作,存储区域3正在进行写操作,则此时从存储服务1与存储服务2中随机选择一个存储服务,由所选择的存储服务从对应的存储区域中读取数据。如选择存储服务1,由存储服务1从其对应的存储区域1中读取数据。

进一步,在上述实施例的基础上,还包括:若存储区域中不存在要读取的数据,则反馈数据不存在信息。

具体而言,web微服务终端接收到读请求后进行数据读取时,还可能存在各存储区域不存在所要读取的数据的情况。在此情况下,当所选择的要进行数据读取的存储服务发现存储区域内不存在要读取的数据时,存储服务进一步向处理程序反馈数据不存在信息,以便web微服务终端进一步向发送读请求的终端反馈数据不存在的相关信息。

综上所述,本申请所提供的web微服务集群中数据的读写方法,包括:为每个存储服务定义对应的存储区域;当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,以由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。该读写方法,采用数据多点存储的方式,对每一存储服务定义其对应的存储区域,各存储服务负责其对应的存储区域的读写,并且各存储区域之间进行数据同步。当写入数据时,可随机选取一个存储服务进行写操作。当读取数据时,也可随机选择一个存储服务进行读操作。由此,可以保障即由有存储服务被占用也可以通过其他存储服务正常写入与读取数据,由读写操作正常有效进行,保证整个业务的正常运行。

本申请还提供了一种web微服务集群中数据的读写装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图2,图2为本申请实施例所提供的一种web微服务集群中数据的读写装置的示意图,结合图2所示,该装置包括:

定义模块10,用于为每个存储服务定义对应的存储区域;

写操作处理模块20,用于当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;

通知模块30,用于在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;

读操作处理模块40,用于当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

在上述实施例的基础上,可选的,所述读操作处理模块40包括:

第一读操作处理单元,用于若各所述存储区域均正在进行写操作,则在所述存储区域完成写操作后,选择一个完成写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

第二读操作处理单元,用于若各所述存储区域均未进行写操作,则随机选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据;

第三读操作处理单元,用于若部分所述存储区域未进行写操作,部分所述存储区域正在进行写操作,则选择一个未进行写操作的所述存储区域对应的存储服务,由所选择的所述存储服务从对应的所述存储区域中读取数据。

在上述实施例的基础上,可选的,还包括:

反馈模块,用于若所述存储区域中不存在要读取的数据,则反馈数据不存在信息。

在上述实施例的基础上,可选的,还包括:

分析模块,用于接收请求后,分析确认所接收的请求的类型。

本申请还提供了一种web微服务集群中数据的读写设备,参考图3所示,该设备包括存储器1和处理器2。

存储器1,用于存储计算机程序;

处理器2,用于执行计算机程序实现如下的步骤:

为每个存储服务定义对应的存储区域;当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

对于本申请所提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:

为每个存储服务定义对应的存储区域;当接收到写请求时,选择一个所述存储服务,将要写入的数据发送给所选择的所述存储服务,由所选择的所述存储服务将要写入的数据写入对应的所述存储区域;在所选择的所述存储服务完成数据写入后,通知其他存储服务更新各自对应的所述存储区域;当接收到读请求时,选择一个所述存储服务,由所选择的所述存储服务从对应的所述存储区域读取数据。

该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请所提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的web微服务集群中数据的读写方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号