CN113220759A - 大数据存储服务共享方法、装置、计算机设备和存储介质 - Google Patents

大数据存储服务共享方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113220759A
CN113220759A CN202110457297.4A CN202110457297A CN113220759A CN 113220759 A CN113220759 A CN 113220759A CN 202110457297 A CN202110457297 A CN 202110457297A CN 113220759 A CN113220759 A CN 113220759A
Authority
CN
China
Prior art keywords
message
data
target
service
storage cluster
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
CN202110457297.4A
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.)
Shenzhen Yunwangwandian Technology Co ltd
Original Assignee
Shenzhen Yunwangwandian Technology 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 Shenzhen Yunwangwandian Technology Co ltd filed Critical Shenzhen Yunwangwandian Technology Co ltd
Priority to CN202110457297.4A priority Critical patent/CN113220759A/zh
Publication of CN113220759A publication Critical patent/CN113220759A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及大数据应用领域,具体涉及一种大数据存储服务共享方法、装置。该方法包括:获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;确定出报文数据对应的数据操作类型;获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方,从而降低大数据存储技术的准入难度,各使用方只需实现标准化接口即可使用大数据存储技术。

Description

大数据存储服务共享方法、装置、计算机设备和存储介质
技术领域
本申请涉及大数据应用领域,特别是涉及一种大数据存储服务共享方法、装置、计算机设备和存储介质。
背景技术
在电商领域,每天都会产生大量的数据,而普通数据库很难支撑住几十上百亿的数据量,为此一套大数据存储方式成了各业务***必不可少的选择,目前大数据相关技术类别多,使用方式和难度各有不同,业界各***的大部分做法,都是由各***独立进行调研、学习、开发和运维,这会导致很多重复的工作,加上一些技术运用不当可能还会带来一系列的问题。
目前各***遇到的一些共性问题至少包括以下内容:
(1)不了解大数据相关技术,如ES、hbase等技术特性和语法,开发需要花大量的精力去熟知;
(2)由于缺乏成熟的技术支持,在部分异常发生时,无法快速定位问题,运维效率低下,有些问题可以在开发阶段就直接避免的,但却带到了线上,发生问题时才知道;
(3)同一类技术,每个***都要重复性学习、开发,人效成本浪费;
(4)有专门的大数据部门提供大数据集群的管理和搭建、运维,但该集群的使用还是各业务***,中间的问题还是使用方才能发现,且每个使用方都需要了解该套技术和相关特性,以及语法规则,各个***同样都要去独立开发。
发明内容
本发明针对现有技术的缺点,提供了一种大数据存储服务共享方法、装置、计算机设备和存储介质,本发明实施例能够降低大数据存储技术的准入难度,各服务使用方几乎无感知大数据的相关技术和语法,只需要实现标准化接口即可使用大数据存储服务,而不需要专门进行开发。
本发明根据第一方面提供了一种大数据存储服务共享方法,在一个实施例中,该方法包括:
获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;
确定出报文数据对应的数据操作类型;
获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;
根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;
将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
在一个实施例中,来自任一服务使用方的报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,或者是该服务使用方推送到消息中间件的中间件报文。
在一个实施例中,若报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则确定出报文数据对应的数据操作类型的步骤,包括:
确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,若报文数据是该服务使用方推送到消息中间件的中间件报文,则报文数据中还包括事件类型,相应地,确定出报文数据对应的数据操作类型的步骤,包括:将事件类型对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,目标工作单元配置信息包括目标存储集群确定信息和目标索引确定信息;根据目标工作单元配置信息确定出目标存储集群的步骤,包括:
根据目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取目标存储集群的集群连接;
将操作报文发送给目标存储集群的步骤,包括:
根据目标索引确定信息确定出目标存储集群中的目标索引;
通过目标存储集群的集群连接将操作报文发送给目标索引。
在一个实施例中,目标索引确定信息包括索引路由规则、索引指定信息;根据目标索引确定信息确定出目标存储集群中的目标索引的步骤,包括:
确定出目标存储集群中与索引指定信息对应的多个索引;
根据索引路由规则从多个索引中确定出一个索引作为目标索引。
在一个实施例中,每条中间件报文中还包括服务使用方标识和业务标识;方法还包括:
根据消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;
将目标业务对应的中间件报文分发至缓存中间件中;
启动异步线程对缓存中间件中的中间件报文进行处理,异步线程的数据处理速率低于用于处理消息中间件中的中间件报文的线程。
本发明根据第二方面提供了一种大数据存储服务共享装置,在一个实施例中,该装置包括:
报文数据获取模块,用于获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;
数据操作类型确定模块,用于确定出报文数据对应的数据操作类型;
目标存储集群确定模块,用于获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;
操作报文组装模块,用于根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;
响应模块,用于将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,预先搭建了包括适配器控制中心和多个存储集群的服务***为各个服务使用方提供大数据存储服务,各个服务使用方只需要实现服务***提供的通用接口以及通过其提供的工作单元配置功能为实现的各个通用接口配置相应的工作单元配置信息即可接入服务***,这样不需要专门开发大数据存储***就能应用大数据存储技术,降低了大数据存储技术的准入难度。
附图说明
图1为一个实施例中一种大数据存储服务共享方法的应用环境图;
图2为一个实施例中工作单元的配置页面示意图;
图3为一个实施例中数据写入接口的报文格式示意图;
图4为一个实施例中一种大数据存储服务共享方法的流程示意图;
图5为一个实施例中一种大数据存储服务共享装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本发明提供了一种大数据存储服务共享方法。在一个实施例中,该方法可以应用于如图1所示的应用环境中。其中,服务***整合封装了ElasSticsearch、Hbase等常用大数据存储技术,以及用于对不同存储集群进行管理、操作和监控的业务逻辑,其通过适配器控制中心与各服务使用方对接,适配器控制中心开发了一套标准通用的供各服务使用方调用的rsf接口(即实时操作接口,rsf的目的是为了提供一种高效的远程服务访问方式),不同的接口用于提供不同的服务,比如,数据写入接口提供的服务只是数据存储服务、查询接口提供的服务只是数据查询服务,接口的类型和数量可以根据具体应用场景进行开发,本实施例对此不进行限定,各服务使用方可以根据自己的业务需求来实现相应的接口,以获得相应的服务,有的服务使用方可能有多种业务,由于各个业务都有自己的特性,为了更灵活地为获得服务***的服务,服务使用方可以根据各业务的业务需求为各业务实现相应的接口,比如,A业务需要存入数据,那么就为A业务实现数据写入接口,B业务需要查询数据,那么就为B业务实现查询接口。
除了为业务实现相应的接口,服务使用方还需要通过适配器控制中心提供的工作单元配置功能为业务所实现的各接口配置工作单元,在工作单元中,服务使用方可以配置业务需要操作的数据属于哪个存储集群、属于哪个索引、如果该存储集群中有多个索引时,该使用哪个索引路由规则来找到目标索引等,以业务需要调用数据写入接口为存储数据为例,服务使用方可以通过为该业务配置工作单元,以指定该业务的数据要写入哪个存储集群中的哪个索引,以及在该存储集群中有多个索引时,使用哪种索引路由规则来确定出要写入数据的索引,此外,业务需要扩展索引或者切换存储集群时,也只需要在该业务对应的工作单元中更改相关配置即可实时生效。每个工作单元都会对应一个全局唯一标识(即工作单元调用编码),该全局唯一标识可以由服务使用方与适配器控制中心约定确定,各工作单元对应的配置信息(即工作单元配置信息)保存于适配器控制中心(当然也可以存于其他位置,本实施例对此不进行限制)。示例性地,工作单元的配置页面及其中的需要配置的字段可以如图2所示,其中,需要配置的字段包括“调用编码”、“业务描述”、“***”(即服务使用方标识)、“优先级”、“集群”(集群标识,用于确定出目标存储集群)、“路由规则”(即索引路由规则)、“索引别名”和“索引明细”(即索引明细列表),工作单元中需要配置的字段可以根据实际应用场景来进行调整。
任一业务所实现的接口所对应的工作单元的配置信息是可以灵活修改的,这样有利于各服务使用方基于各种业务需求及时进行调整。各需求的场景举例如下:
场景1:当服务使用方的某个业务的数据需要存储进存储集群,该业务的数据刚开始存储于一个索引即可,后来发现一个索引无法满足存储需求,需要创建多个索引,或者切换新的索引,此时只需要在该存储集群中新建一个索引,并将新建索引的索引标识(如索引名)配置到工作单元,将老的索引标识从工作单元中去除,即可完成切换,全程服务使用方无任何感知。
场景2:当用于存储某个业务的数据的存储集群由于存储空间不足,需要被新搭建的存储集群替换,但是老的存储集群还需要提供查询服务时,只需要服务使用方为该业务所实现的数据写入接口配置一个新的工作单元,并将该新的存储集群的集群标识配置到新的工作单元中,这样业务的数据会被存储到该新的存储集群中,而查询接口所对应的工作单元不需要更改,其中配置的集群标识仍是老的存储集群的集群标识,这样老的存储集群仍可对外提供历史数据搜索。
场景3:当某个业务的索引是按年进行创建的,如从2013年到2020年每年一个索引,当到2021年后,之前2013-2015年的索引数据不再想被热服务查询到,而是更改为历史查询接口来查,此时可以将提供热服务查询的接口的工作单元进行修改,即在工作单元中的索引明细列表里面将2013-2015年对应的索引直接去除,为历史查询接口配置一个新的工作单元,将2013-2015年的索引加入到该新的工作单元中的索引明细列表中,即可完成冷热数据查询的切换。
服务使用方在为业务实现接口并为接口配置了工作单元之后,就可以调用接口以将业务数据发送给适配器控制中心,适配器控制中心会实时进行处理。需要说明的是,适配器控制中心提供的不同类型(比如,可以有增删查改等类型,增删查改是指数据写入、数据删除、数据查询、数据更新)的各接口都有对应的固定的报文格式,具体报文格式的制定可以根据场景需求来调整,本实施例对此不进行限制,示例性地,数据写入接口的报文格式可以如图3所示,“输入参数”部分是服务使用方通过数据写入接口发送给适配器控制中心的报文数据的格式,“输出参数”部分是适配器控制中心响应服务使用方时发送的报文数据的格式,报文数据中的各个字段如“syscode”等的描述请参见图3;可以理解的,由于不同的接口用于提供不同的服务,因而不同的接口需要传的入参(一条报文中会有多个字段的信息,一个入参即是一个报文字段)有所不同,比如,查询接口需要服务使用方传送“sql”(即查询语句字段),而数据写入接口则不需要服务使用方传送该入参。
服务***还可以设置消息中间件,这样服务使用方除了通过适配器控制中心提供的接口向其直接发送报文数据,还可以将报文数据推入消息中间件,适配器控制中心会自动消费消息中间件中的报文数据。
服务使用方推送到消息中间件的报文数据与通过适配器控制中心提供的接口发送的报文数据中都包含工作单元调用编码,从而适配器控制中心获得报文数据后可以获取工作单元调用编码对应的工作单元配置信息,进而根据该工作单元配置信息进行相应的处理流程。
其中,服务***可以为各服务使用方,各服务使用方不需要自己专门开发大数据存储***,只需要通过标准化接口直接发送给适配器控制中心发送报文数据,或者将报文数据推送到消息中间件中,以间接给适配器控制中心发送报文数据,适配器控制中心会处理其通过标准化接口接收到的报文数据以及消息中间件中的报文数据。
上述的服务使用方可以是企业内部或者外部的业务***;消息中间件的数量可以根据具体应用场景进行调整,可以是一个或多个,其可以用kafka中间件来实现;存储集群可以用ElasSticsearch、Hbase等常用数据库来实现,服务***中的存储集群的数量也是可以根据具体应用场景来进行调整,本实施例对此不进行限定;适配器控制中心可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
下面以该方法应用于图1中的适配器控制中心为例对该方法进行说明,如图4所示,该方法包括以下步骤:
S110:获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码。
S120:确定出报文数据对应的数据操作类型。
S130:获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群。
S140:根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文。
S150:将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
传统做法中,开发人员需要了解开发技术再进行开发,开发周期少则几天多则几十天,而本实施例通过搭建可供各服务使用方共享的服务***以及提供工作单元配置功能,能够降低大数据存储技术的准入难度,各服务使用方几乎无感知大数据的相关技术和语法,通过标准化的接口即可调用服务***为其提供相应的大数据存储服务,各服务使用方的开发人员可以快速上手,基本上几分钟就能看懂如何请求调用。此外,该配置功能也.增加了灵活性,随着数据量的增长,后期不可避免的需要扩展存储集群的索引,甚至需要切换存储集群等,现有做法都是改程序,发布,数据迁移,而本实施例中的各服务使用方可以通过动态配置相关业务的工作单元,即可实现瞬间切换存储集群和索引的效果,基本上能达到线上不停机,无感知操作。
以下对该方法进行详细说明。
在本实施例中,来自任一服务使用方的报文数据可以是该服务使用方通过调用标准化的实时操作接口发送的报文(即接口报文),或者是该服务使用方推送到消息中间件的报文(即中间件报文)。尽管不同的接口对应的报文格式、以及消息中间件的接口的报文格式有所区别,不过其中都包含操作信息和工作单元调用编码,需要说明的是,操作信息可以是报文中的一个或多个字段的信息,而不同接口的报文中的操作信息也有所区别。
示例性地,该任一服务使用方调用的实时操作接口的接口类型为数据写入接口、数据删除接口、查询接口或数据更新接口;若所述服务使用方调用的实时操作接口的接口类型为数据写入接口,则所述接口报文中包含的操作信息为待写入数据(即需要存入存储集群的数据);若所述服务使用方调用的实时操作接口的接口类型为数据删除接口,则所述接口报文中包含的操作信息为待删除数据确定信息(即用于确定出需要删除的数据的信息);若所述服务使用方调用的实时操作接口的接口类型为查询接口,则所述接口报文中包含的操作信息为查询指令信息(即查询sql语句。此外,某些场景中还可以包括查询语法类型);若所述服务使用方调用的实时操作接口的接口类型为数据更新接口,则所述接口报文中包含的操作信息为待更新数据确定信息(即用于确定出需要更新的数据的信息)和待写入数据。
适配器控制中心获取到报文数据后,需要确定出报文数据对应的数据操作类型,以为后续生成操作报文做准备。由于报文数据可以是服务使用方通过实时操作接口实时发送的报文,也可以是服务使用方异步推入消息中间件的报文,对于报文数据的不同来源,适配器控制中心会有不同的处理逻辑。若报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则确定出报文数据对应的数据操作类型的步骤,包括:确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为报文数据对应的数据操作类型。示例性地,数据写入接口、数据删除接口、查询接口和数据更新接口分别对应的数据操作类型可以是数据写入类型、数据删除类型、数据查询类型、数据更新类型。若报文数据是该服务使用方推送到消息中间件的中间件报文,因为推入消息中间件的接口是通用的,因此报文数据中还包括事件类型,以便告知适配器控制中心该报文数据要做什么操作,示例性地,事件类型可以包括初始化init、新增insert、更新update和删除delete等4类,不同的事件类型就如同适配器控制中心提供的不同类型的实时操作接口(如新增insert对应数据写入类型,更新update对应数据删除类型),适配器控制中心会自动根据不同的事件类型进行对应的处理。相应地,确定出报文数据对应的数据操作类型的步骤,包括:将事件类型对应的数据操作类型确定为报文数据对应的数据操作类型。
确定出报文数据对应的数据操作类型,获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群,以及根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文。
以存储集群为ES集群(即用ElasSticsearch实现的存储集群)为例,在ES中,一个索引类似于一个存储数据的数据表。在本示例中,目标工作单元配置信息中会包括目标存储集群确定信息和目标索引确定信息(用于确定出目标索引的信息),其中,服务***中的每个存储集群都分配有唯一的集群标识,因此目标存储集群确定信息可以是存储集群的集群标识。基于此,根据目标工作单元配置信息确定出目标存储集群的步骤,可以包括:根据目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取目标存储集群的集群连接。将操作报文发送给目标存储集群的步骤,可以包括:根据目标索引确定信息确定出目标存储集群中的目标索引;通过目标存储集群的集群连接将操作报文发送给目标索引。
其中,集群连接工厂用于存放各存储集群的集群连接(数据库连接),集群连接是比较宝贵的资源,通过集群连接工厂可以方便地进行资源复用。
进一步地,每个工作单元可以支持配置多个索引,比如在数据存储场景中,如果数据量很大,那么服务使用方通常会按年建多个索引,一般每年一个,这样就会有很多索引,但是数据过来时每条数据只能写到其中一个索引中,具体写到哪个索引,就需要根据预先制定的索引路由规则来从该多个索引中确定出一个索引来存储数据。因此,目标索引确定信息可以包括索引路由规则、索引指定信息;相应地,根据目标索引确定信息确定出目标存储集群中的目标索引的步骤,可以包括:确定出目标存储集群中与索引指定信息对应的多个索引;根据索引路由规则从多个索引中确定出一个索引作为目标索引。其中,适配器控制中心中预先定义的索引路由规则可以包括单索引规则、按年分索引规则、按月分索引规则以及按取模方式分索引规则,每套索引规则,都封装了一套对应出入参格式,服务使用方在接口调用时可以通过预先封装的工具方法,直接将索引路由规则这一数据的格式转换成适配器控制中心所需要的格式。
再进一步地,索引指定信息可以是索引别名和/或索引明细列表,索引别名为某多条索引的具体标识的简写,索引明细列表中包括服务使用方配置的想要进行操作的多条索引。比如,存储集群中按月建立了4个索引,其具体标识分别为log_month_01,log_month_02、log_month_03和log_month_04,这4个索引的索引别名可以是log_month,以数据存储场景为例,如果服务使用方想将某业务的数据存储到上述4个索引中,其可以在配置该业务对应的工作单元时,只配置索引别名,也可以同时配置索引别名和索引明细列表(即将该四个索引的具体标识都配置到索引明细列表中),而假如服务使用方只想将某业务的数据存储到上述部分索引如log_month_01和log_month_02中,那么需要配置索引别名和在索引明细列表中配置log_month_01和log_month_02,从而适配器控制中心可以调用与索引路由规则对应的路由引擎从索引明细列表对应的多个索引中计算出一个索引来作为目标索引。
服务使用方发给适配器控制中心的报文数据是按照适配器控制中心规定的报文格式来组装的,这并不符合目标存储集群的报文格式要求,因此适配器控制中心需要根据数据操作类型将报文数据中的操作信息重新组装为符合目标存储集群的报文格式要求的报文(即操作报文),比如,如果报文数据的数据操作类型为数据写入类型,那么需要将报文数据中的待写入数据组装为请求存储数据的报文,之后才将操作报文发送给目标存储集群。目标存储集群会在接收到操作报文后,基于操作报文进行相应的处理,比如存储数据、删除数据、更新数据、或者查询数据等,然后将处理后的信息(比如存储成功的通知信息、查询到的数据)反馈给适配器控制中心,从而适配器控制中心可以基于反馈信息对服务使用方进行响应,即向服务使用方反馈相应的报文。
在一个实施方式中,每条中间件报文中还包括服务使用方标识和业务标识;相应地,该方法还包括:根据消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;将目标业务对应的中间件报文分发至缓存中间件中;启动异步线程对缓存中间件中的中间件报文进行处理,异步线程的数据处理速率低于用于处理消息中间件中的中间件报文的线程。
在本实施方式中,一般一套大数据存储集群中会存储大量不同业务的数据,考虑到有些特别的应用场景,比如电商***大促时会出现流量集体爆发,而存储集群能力是有限的,此种场景下很容易导致存储集群瞬间不可用,为此本实施例为服务***增加智能分流功能,通过预设阀值,当各类业务的数据被推送到消息中间件时,会实时监控各类业务的数据流量,当业务的综合流量达到该预设阈值时,将该业务确定为目标业务,并将其数据分流到缓存中间件,如用于缓冲数据的另一个kafka中间件中,这样能保证各存储集群的稳定。进一步地,中间件报文中还可以包括优先级信息,从而可以根据各业务的优先级,将高优先级的业务的数据优先处理,低优先级的业务的数据的滞后处理。而对于缓存中间件中的报文数据,可以启动异步线程(异步线程的并发数量可以根据具体场景来设置)来进行消费,需要说明的是,该异步线程需要进行速率控制,防止并发过大对存储集群造成堵塞。
目前不同业务在流量高峰期,可能会出现堵塞,对于这一问题,目前要么在事前停止部分业务写入,要么干脆直接流控拦截,不管哪一种,都需要人为花费大量精力去操作,且事后还得补数据,而本实施方式的智能分流功能可以结合各存储集群的可承载能力、流量大小以及各业务的等级,自动将部分流量分流出去,错峰消费,显著降低了存储集群洪峰压力所带来不可用的风险。
图4为一个实施例中大数据存储服务共享方法的流程示意图。应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同的发明构思,本发明还提供了一种大数据存储服务共享装置。在一个实施例中,如图5所示,该大数据存储服务共享装置包括以下模块:
报文数据获取模块110,用于获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;
数据操作类型确定模块120,用于确定出报文数据对应的数据操作类型;
目标存储集群确定模块130,用于获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;
操作报文组装模块140,用于根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;
响应模块150,用于将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
在一个实施例中,来自任一服务使用方的报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,或者是该服务使用方推送到消息中间件的中间件报文。
在一个实施例中,若报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则数据操作类型确定模块,具体用于确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,若报文数据是该服务使用方推送到消息中间件的中间件报文,则报文数据中还包括事件类型,相应地,数据操作类型确定模块,具体用于将事件类型对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,目标工作单元配置信息包括目标存储集群确定信息和目标索引确定信息;目标存储集群确定模块,具体用于根据目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取目标存储集群的集群连接;
响应模块包括:
目标索引确定子模块,用于根据目标索引确定信息确定出目标存储集群中的目标索引;
操作报文发送子模块,用于通过目标存储集群的集群连接将操作报文发送给目标索引。
在一个实施例中,目标索引确定信息包括索引路由规则、索引指定信息;
目标索引确定子模块,具体用于确定出目标存储集群中与索引指定信息对应的多个索引,根据索引路由规则从多个索引中确定出一个索引作为目标索引。
在一个实施例中,每条中间件报文中还包括服务使用方标识和业务标识;该装置还包括:
目标业务确定模块,用于根据消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;
分流模块,用于将目标业务对应的中间件报文分发至缓存中间件中;
异步处理模块,用于,启动异步线程对缓存中间件中的中间件报文进行处理,异步线程的数据处理速率低于用于处理消息中间件中的中间件报文的线程。
关于大数据存储服务共享装置的具体限定可以参见上文中对于大数据存储服务共享方法的限定,在此不再赘述。上述大数据存储服务共享装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储工作单元配置信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种大数据存储服务共享方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;确定出报文数据对应的数据操作类型;获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
在一个实施例中,来自任一服务使用方的报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,或者是该服务使用方推送到消息中间件的中间件报文。
若报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则处理器执行计算机程序,实现确定出报文数据对应的数据操作类型时,还实现以下步骤:确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为报文数据对应的数据操作类型。
若报文数据是该服务使用方推送到消息中间件的中间件报文,则报文数据中还包括事件类型,相应地,处理器执行计算机程序,实现确定出报文数据对应的数据操作类型时,还实现以下步骤:将事件类型对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,目标工作单元配置信息包括目标存储集群确定信息和目标索引确定信息;处理器执行计算机程序,实现根据目标工作单元配置信息确定出目标存储集群时,还实现以下步骤:根据目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取目标存储集群的集群连接。相应地,处理器执行计算机程序,实现将操作报文发送给目标存储集群的步骤,包括:根据目标索引确定信息确定出目标存储集群中的目标索引;通过目标存储集群的集群连接将操作报文发送给目标索引。
在一个实施例中,目标索引确定信息包括索引路由规则、索引指定信息;处理器执行计算机程序,实现根据目标索引确定信息确定出目标存储集群中的目标索引时,还实现以下步骤:
确定出目标存储集群中与索引指定信息对应的多个索引;根据索引路由规则从多个索引中确定出一个索引作为目标索引。
在一个实施例中,每条中间件报文中还包括服务使用方标识和业务标识;处理器执行计算机程序,还实现以下步骤:
根据消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;将目标业务对应的中间件报文分发至缓存中间件中;启动异步线程对缓存中间件中的中间件报文进行处理,异步线程的数据处理速率低于用于处理消息中间件中的中间件报文的线程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取来自任一服务使用方的报文数据,报文数据包括操作信息和工作单元调用编码;确定出报文数据对应的数据操作类型;获取与工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据目标工作单元配置信息确定出目标存储集群;根据报文数据对应的数据操作类型将操作信息组装为符合目标存储集群的报文格式要求的操作报文;将操作报文发送给目标存储集群,并在接收到目标存储集群处理操作报文后返回的反馈信息时,根据反馈信息响应该服务使用方。
在一个实施例中,来自任一服务使用方的报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,或者是该服务使用方推送到消息中间件的中间件报文。
若报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则计算机程序被处理器执行,确定出报文数据对应的数据操作类型时,还实现以下步骤:确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为报文数据对应的数据操作类型。
若报文数据是该服务使用方推送到消息中间件的中间件报文,则报文数据中还包括事件类型,相应地,计算机程序被处理器执行,确定出报文数据对应的数据操作类型时,还实现以下步骤:将事件类型对应的数据操作类型确定为报文数据对应的数据操作类型。
在一个实施例中,目标工作单元配置信息包括目标存储集群确定信息和目标索引确定信息;计算机程序被处理器执行,根据目标工作单元配置信息确定出目标存储集群时,还实现以下步骤:根据目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取目标存储集群的集群连接。相应地,计算机程序被处理器执行,将操作报文发送给目标存储集群的步骤,包括:根据目标索引确定信息确定出目标存储集群中的目标索引;通过目标存储集群的集群连接将操作报文发送给目标索引。
在一个实施例中,目标索引确定信息包括索引路由规则、索引指定信息;计算机程序被处理器执行,根据目标索引确定信息确定出目标存储集群中的目标索引时,还实现以下步骤:
确定出目标存储集群中与索引指定信息对应的多个索引;根据索引路由规则从多个索引中确定出一个索引作为目标索引。
在一个实施例中,每条中间件报文中还包括服务使用方标识和业务标识;计算机程序被处理器执行时,还实现以下步骤:
根据消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;将目标业务对应的中间件报文分发至缓存中间件中;启动异步线程对缓存中间件中的中间件报文进行处理,异步线程的数据处理速率低于用于处理消息中间件中的中间件报文的线程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种大数据存储服务共享方法,其特征在于,所述方法包括:
获取来自任一服务使用方的报文数据,所述报文数据包括操作信息和工作单元调用编码;
确定出所述报文数据对应的数据操作类型;
获取与所述工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据所述目标工作单元配置信息确定出目标存储集群;
根据所述报文数据对应的数据操作类型将所述操作信息组装为符合所述目标存储集群的报文格式要求的操作报文;
将所述操作报文发送给所述目标存储集群,并在接收到所述目标存储集群处理所述操作报文后返回的反馈信息时,根据所述反馈信息响应该服务使用方。
2.如权利要求1所述的方法,其特征在于,来自任一服务使用方的报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,或者是该服务使用方推送到消息中间件的中间件报文。
3.如权利要求2所述的方法,其特征在于,若所述报文数据是该服务使用方通过调用标准化的实时操作接口发送的接口报文,则所述确定出所述报文数据对应的数据操作类型的步骤,包括:
确定出该服务使用方调用的实时操作接口对应的数据操作类型,将该实时操作接口对应的数据操作类型确定为所述报文数据对应的数据操作类型。
4.如权利要求2所述的方法,其特征在于,若所述报文数据是该服务使用方推送到消息中间件的中间件报文,则所述报文数据中还包括事件类型,相应地,所述确定出所述报文数据对应的数据操作类型的步骤,包括:将所述事件类型对应的数据操作类型确定为所述报文数据对应的数据操作类型。
5.如权利要求1所述的方法,其特征在于,所述目标工作单元配置信息包括目标存储集群确定信息和目标索引确定信息;
所述根据所述目标工作单元配置信息确定出目标存储集群的步骤,包括:
根据所述目标存储集群确定信息从多个存储集群中确定出目标存储集群,并从集群连接工厂中获取所述目标存储集群的集群连接;
所述将所述操作报文发送给所述目标存储集群的步骤,包括:
根据所述目标索引确定信息确定出所述目标存储集群中的目标索引;
通过所述目标存储集群的集群连接将所述操作报文发送给所述目标索引。
6.如权利要求5所述的方法,其特征在于,所述目标索引确定信息包括索引路由规则、索引指定信息;
所述根据所述目标索引确定信息确定出所述目标存储集群中的目标索引的步骤,包括:
确定出所述目标存储集群中与所述索引指定信息对应的多个索引;
根据所述索引路由规则从所述多个索引中确定出一个索引作为目标索引。
7.如权利要求2所述的方法,其特征在于,每条中间件报文中还包括服务使用方标识和业务标识;所述方法还包括:
根据所述消息中间件中的每条中间件报文包括的服务使用方标识和业务标识,对各个所述服务使用方的各个业务的数据流量进行统计,确定出数据流量满足分流条件的目标业务;
将目标业务对应的中间件报文分发至缓存中间件中;
启动异步线程对所述缓存中间件中的中间件报文进行处理,所述异步线程的数据处理速率低于用于处理所述消息中间件中的中间件报文的线程。
8.一种大数据存储服务共享装置,其特征在于,所述装置包括:
报文数据获取模块,用于获取来自任一服务使用方的报文数据,所述报文数据包括操作信息和工作单元调用编码;
数据操作类型确定模块,用于确定出所述报文数据对应的数据操作类型;
目标存储集群确定模块,用于获取与所述工作单元调用编码对应的该服务使用方预先配置好的目标工作单元配置信息,根据所述目标工作单元配置信息确定出目标存储集群;
操作报文组装模块,用于根据所述报文数据对应的数据操作类型将所述操作信息组装为符合所述目标存储集群的报文格式要求的操作报文;
响应模块,用于将所述操作报文发送给所述目标存储集群,并在接收到所述目标存储集群处理所述操作报文后返回的反馈信息时,根据所述反馈信息响应该服务使用方。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110457297.4A 2021-04-27 2021-04-27 大数据存储服务共享方法、装置、计算机设备和存储介质 Pending CN113220759A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110457297.4A CN113220759A (zh) 2021-04-27 2021-04-27 大数据存储服务共享方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110457297.4A CN113220759A (zh) 2021-04-27 2021-04-27 大数据存储服务共享方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113220759A true CN113220759A (zh) 2021-08-06

Family

ID=77089513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110457297.4A Pending CN113220759A (zh) 2021-04-27 2021-04-27 大数据存储服务共享方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113220759A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946362A (zh) * 2021-09-02 2022-01-18 北京房江湖科技有限公司 消费数据处理方法及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194495A (zh) * 2018-06-29 2019-01-11 平安科技(深圳)有限公司 服务器、报文处理方法和计算机可读存储介质
CN110764700A (zh) * 2019-10-12 2020-02-07 上海陆家嘴国际金融资产交易市场股份有限公司 数据存储方法、装置、计算机设备和存储介质
CN110781007A (zh) * 2019-10-31 2020-02-11 广州市网星信息技术有限公司 任务处理方法、装置、服务器、客户端、***和存储介质
CN111736775A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 多源存储方法、装置、计算机***及存储介质
CN112689003A (zh) * 2020-12-18 2021-04-20 平安普惠企业管理有限公司 服务请求转发方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194495A (zh) * 2018-06-29 2019-01-11 平安科技(深圳)有限公司 服务器、报文处理方法和计算机可读存储介质
CN110764700A (zh) * 2019-10-12 2020-02-07 上海陆家嘴国际金融资产交易市场股份有限公司 数据存储方法、装置、计算机设备和存储介质
CN110781007A (zh) * 2019-10-31 2020-02-11 广州市网星信息技术有限公司 任务处理方法、装置、服务器、客户端、***和存储介质
CN111736775A (zh) * 2020-06-22 2020-10-02 平安医疗健康管理股份有限公司 多源存储方法、装置、计算机***及存储介质
CN112689003A (zh) * 2020-12-18 2021-04-20 平安普惠企业管理有限公司 服务请求转发方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946362A (zh) * 2021-09-02 2022-01-18 北京房江湖科技有限公司 消费数据处理方法及存储介质
CN113946362B (zh) * 2021-09-02 2022-08-16 贝壳找房(北京)科技有限公司 消费数据处理方法及存储介质

Similar Documents

Publication Publication Date Title
WO2020147392A1 (zh) 数据库之间的数据同步方法和***
CN107508795B (zh) 跨容器集群的访问处理装置及方法
CN111258565B (zh) 小程序的生成方法、***、服务器及存储介质
CN109697112B (zh) 分布式集约化一站式作业***和实现方法
CN109460252B (zh) 基于git的配置文件处理方法、装置和计算机设备
US20160241635A1 (en) M2m data querying and invoking methods, querying and invoking devices, and system
WO2020248375A1 (zh) 数据库间数据同步方法、***、计算机设备及存储介质
CN112751772B (zh) 数据传输方法和***
CN112506870B (zh) 数据仓库增量更新方法、装置及计算机设备
CN110413845B (zh) 基于物联网操作***的资源存储方法及装置
CN111447143B (zh) 业务服务数据传输方法、装置、计算机设备和存储介质
EP3174318B1 (en) Method for realizing resource attribute notification, and common service entity
CN111459676B (zh) 一种节点资源管理方法、装置及存储介质
CN112632375A (zh) 会话信息处理方法、服务器及存储介质
CN113220759A (zh) 大数据存储服务共享方法、装置、计算机设备和存储介质
CN110688284A (zh) 一种管理和监控RabbitMq消息队列的方法及***
CN112363838A (zh) 数据处理方法及装置、存储介质、电子装置
CN113407560A (zh) 更新消息处理方法、数据同步方法、配置信息配置方法
CN112507010A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN112711606A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN116467336A (zh) 数据处理方法及装置、电子设备、存储介质
CN114338502B (zh) 网关数据处理方法、装置、设备和存储介质
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质
CN114598662A (zh) 消息队列集群联邦管理***以及方法
CN109189786B (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