CN113076331A - 中台数据处理方法、装置、设备、存储介质及程序产品 - Google Patents

中台数据处理方法、装置、设备、存储介质及程序产品 Download PDF

Info

Publication number
CN113076331A
CN113076331A CN202110308296.3A CN202110308296A CN113076331A CN 113076331 A CN113076331 A CN 113076331A CN 202110308296 A CN202110308296 A CN 202110308296A CN 113076331 A CN113076331 A CN 113076331A
Authority
CN
China
Prior art keywords
data
data operation
operation request
execution
client
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.)
Granted
Application number
CN202110308296.3A
Other languages
English (en)
Other versions
CN113076331B (zh
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 United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202110308296.3A priority Critical patent/CN113076331B/zh
Publication of CN113076331A publication Critical patent/CN113076331A/zh
Application granted granted Critical
Publication of CN113076331B publication Critical patent/CN113076331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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/242Query formulation
    • G06F16/2433Query languages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请提供一种中台数据处理方法、装置、设备、存储介质及程序产品。中台包括:多个数据中心的客户端、服务器和数据库,数据库中存储有多个数据中心的业务数据。方法应用于服务器,包括:接收来自数据中心的客户端的数据操作请求;数据操作请求用于请求对数据库中的目标数据执行目标操作;根据数据操作请求,获取数据操作请求对应的数据操作执行语句,并确定数据操作请求对应的数据操作执行语句是否属于同一事务;若数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向数据库执行数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果;向数据中心的客户端发送执行结果。本申请降低了中台的交互量。

Description

中台数据处理方法、装置、设备、存储介质及程序产品
技术领域
本申请涉及数据处理技术,尤其涉及一种中台数据处理方法、装置、设备、存储介质及程序产品。
背景技术
中台指的是将数据处理以后封装成的一个公共的数据服务系统。中台包括多个数据中心。在现有中台中,各个数据中心的业务数据存储在各数据中心的服务器中。若数据中心A需要对数据中心B的业务数据进行操作,则需要向数据中心B发送数据操作请求。然后数据中心B可以根据接收到数据操作请求,对自身的业务数据进行操作,并将数据操作结果返回给数据中心A。
其中,不同的数据中心存储的部分业务数据可能相同。对不同的数据中心存储的同一项业务数据进行的数据操作,属于同一事务的数据操作。在对不同的数据中心存储的同一项业务数据进行数据操作时,现有的中台数据处理方法是数据中心A需要向上述各数据中心均发送数据操作请求。然后,接收到数据操作请求的数据中心对自身存储的业务数据进行操作。
因此,在使用现有的中台数据处理方法处理属于同一事务的多个数据操作时,中台内交互量较大。
发明内容
本申请提供一种中台数据处理方法、装置、设备、存储介质及程序产品,以降低中台内交互量。
第一方面,本申请提供一种中台数据处理方法,所述中台包括:多个数据中心的客户端、服务器和数据库,所述数据库中存储有所述多个数据中心的业务数据,所述方法应用于所述服务器,所述方法包括:
接收来自所述数据中心的客户端的数据操作请求;所述数据操作请求用于请求对所述数据库中的目标数据执行目标操作;
根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,并确定所述数据操作请求对应的数据操作执行语句是否属于同一事务;
若确定所述数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果;
向所述数据中心的客户端发送所述执行结果。
可选的,所述确定所述数据操作请求对应的数据操作执行语句是否属于同一事务,包括:
根据所述数据操作请求中是否携带有事务流水线的标识,确定所述数据操作请求对应的数据操作执行语句是否属于同一事务。
可选的,所述确定所述数据操作请求对应的数据操作执行语句是否属于同一事务之后,还包括:
若确定所述数据操作请求对应的数据操作执行语句不属于同一事务,则判断所述数据操作请求对应的数据操作执行语句的数量是否大于预设阈值;
若所述数据操作请求对应的数据操作执行语句的数量大于所述预设阈值,则放弃向所述数据库执行所述数据操作请求对应的数据操作执行语句;
向所述数据中心的客户端发送提示信息,所述提示信息用于指示所述数据操作请求执行失败。
可选的,所述判断所述数据操作请求对应的数据操作执行语句的数量是否大于预设阈值之后,所述方法还包括:
若所述数据操作请求对应的数据操作执行语句的数量小于或等于所述预设阈值,则向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所述数据操作执行语句的执行结果;
向所述数据中心的客户端发送所述执行结果。
可选的,所述方法还包括:
存储所述数据操作请求的操作日志,所述操作日志包括下述至少一项信息:所述数据操作请求对应的数据操作执行语句、所述执行结果,以及,所述数据中心的客户端的标识。
可选的,所述根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,包括:
对所述数据中心的客户端进行鉴权;
若对所述数据中心的客户端的鉴权通过,则根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句。
可选的,所述数据操作请求携带有登录所述数据中心的客户端的用户的密钥,所述对所述数据中心的客户端进行鉴权,包括:
根据所述密钥,对所述数据中心的客户端进行身份验证,并根据所述数据操作请求所请求执行的目标操作,确定所述数据中心是否具有所述目标操作的权限。
第二方面,本申请提供一种中台数据处理装置,所述中台包括:多个数据中心的客户端、服务器和数据库,所述数据库中存储有所述多个数据中心的业务数据,所述装置应用于所述服务器,所述装置包括:
接收模块,用于接收来自所述数据中心的客户端的数据操作请求;所述数据操作请求用于请求对所述数据库中的目标数据执行目标操作;
处理模块,用于根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,并确定所述数据操作请求对应的数据操作执行语句是否属于同一事务;若确定所述数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果;
发送模块,用于向所述数据中心的客户端发送所述执行结果。
第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
第六方面,本申请提供一种中台,所述中台包括:多个数据中心的客户端、数据库,以及,如第一方面任一项所述的服务器。
本申请提供的中台数据处理方法、装置、设备、存储介质及程序产品,通过数据中心的客户端发送的数据操作请求,获取该数据中心需要对目标数据执行的目标操作。然后对属于同一事务的数据操作执行语句,采用事务流水线,向数据库执行属于同一事务的数据操作执行语句。在得到同一事务的所有的数据操作执行语句的执行结果之后,将该执行结果返回给相应的数据中心的客户端。通过该方法,当属于同一事务的数据操作执行语句是对多个数据中心的目标数据进行的目标操作时,避免了各数据中心之间频繁交互,减少了交互量。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种中台的结构示意图;
图2为本申请提供的一种中台数据处理方法的流程示意图;
图3为本申请提供的另一种中台数据处理方法的流程示意图;
图4为本申请提供的一种中台数据处理装置的结构示意图;
图5为本申请提供的一种电子设备结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请涉及到的部分概念进行解释:
数据操作权限级别:关系型数据库管理系统有五个级别的数据操作权限,分别为全局权限、数据库级别的权限,表级别的权限,表中某一行(或列)级别的权限,以及,针对函数和存储过程的权限。
现有中台中的各个数据中心的业务数据存储在各数据中心的服务器中。若数据中心A需要对数据中心B的业务数据进行操作,则需要向数据中心B发送数据操作请求。然后数据中心B可以根据接收到数据操作请求,对自身的业务数据进行操作。其中,该操作的权限级别是表级别的权限,即不能对表中的某一行(或列)的数据进行操作。
其中,不同的数据中心存储的部分业务数据可能相同。对不同的数据中心存储的同一项业务数据进行的数据操作,属于同一事务的数据操作。在对不同的数据中心存储的同一项业务数据进行数据操作时,现有的中台数据处理方法是数据中心A需要向上述各数据中心均发送数据操作请求。然后,接收到数据操作请求的数据中心对自身存储的业务数据进行操作。
例如,假设数据中心B、数据中心C,以及,数据中心D均存储有业务数据x。对该业务数据x进行的数据操作,属于同一事务的数据操作。若数据中心A需要修改该业务数据x,则数据中心A需要向数据中心B、数据中心C,以及,数据中心D三个数据中心发送数据操作请求。然后,数据中心B、数据中心C,以及,数据中心D在接收到数据操作请求之后,可以对自身存储的业务数据x进行修改。
因此,在使用现有的中台数据处理方法处理属于同一事务的多个数据操作时,中台内交互量较大。
考虑到现有的中台数据处理方法存在上述问题,图1为本申请提供的一种中台的结构示意图。如图1所示,该中台包括多个数据中心的客户端(图1中所示的客户端1到客户端m,其中m为大于1的正整数)、服务器,以及,数据库。
其中,数据库用于存储上述各数据中心的业务数据。通过将各数据中心的业务数据存储到数据库中,避免了中台因为某个数据中心的故障,导致其他数据中心无法对该数据中心的业务数据进行操作,降低了中台各个数据中心的耦合性,提高了中台的容错率。示例性的,该数据库例如可以是通过甲骨文(一种关系数据库管理系统的名称,英文名称为Oracle)、结构化查询语言(My Structured Query Language,MySQL)、SQL服务(SQLServer)等建立的数据库。
上述各数据中心的客户端,可以向服务器发送数据操作请求。该数据操作请求用于对上述数据库中的目标数据执行目标操作。
服务器用于在接收到数据中心的客户端发送的数据操作请求之后,可以根据该数据操作请求,对数据库中的业务数据执行操作。基于本申请提出的中台,本申请还提出一种中台数据处理方法。在使用该方法对中台数据进行处理时,对于属于同一事务的多个数据操作,即便该多个数据操作是对多个数据中心的业务数据进行的操作,数据中心只需向服务器发送数据操作请求。然后,服务器可以根据数据操作请求,对数据库中的数据执行属于同一事务的多个数据操作。避免了各数据中心之间频繁交互,减少了交互量。该方法的执行主体即为如图1中所示的服务器。
下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请提供的一种中台数据处理方法的流程示意图。如图2所示,该方法包括以下步骤:
S101、接收来自数据中心的客户端的数据操作请求。
其中,数据操作请求用于请求对数据库中的目标数据执行目标操作。该目标数据例如可以是多表关联数据等。该目标操作类型例如可以是增加新的数据到目标数据中、删除目标数据、修改目标数据、查看目标数据等。该目标操作的权限级别例如可以是表级别的权限,和/或表中某一行(或列)级别的权限等。
可选的,服务器例如可以通过网络服务(Web Service)接口、或者超文本传输协议(Hypertext Transfer Protocol,http)轻量级接口等,接收来自数据中心的客户端的数据操作请求。
S102、根据数据操作请求,获取数据操作请求对应的数据操作执行语句。
其中,上述数据操作执行语句指的是能够对数据库进行数据操作的语句。示例性的,该数据操作执行语句例如可以是SQL语句等。
可选的,服务器可以在接收到数据操作请求之后,根据该数据操作请求,通过预设在服务器中的逻辑算法,生成对应的数据操作执行语句。
或者,服务器在接收到数据操作请求之后,还可以通过数据操作请求,以及,数据操作请求与数据操作执行语句的映射关系,获取数据操作请求对应的数据操作执行语句。可选的,该映射关系还可以是存储在能够与服务器进行通信连接的数据库中的。在服务器接收到数据操作请求之后,可以将该数据操作请求发送给该数据库。该数据库可以根据接收到的数据操作请求,以及,上述映射关系,获取该数据操作请求对应的数据操作执行语句,并将该数据操作执行语句发送给服务器。相应的,服务器可以接收该数据操作执行语句。
S103、判断数据操作请求对应的数据操作执行语句是否属于同一事务。若是,则执行步骤S104;若否,可选的,服务器可以执行步骤S106。
可选的,服务器在获取数据操作请求之后,可以根据数据操作请求中是否携带有事务流水线的标识,确定数据操作请求对应的数据操作执行语句是否属于同一事务。其中,携带有相同的事务流水线的标识的数据操作请求对应的数据操作执行语句属于同一事务。
或者,服务器例如还可以在获取数据操作请求对应的数据操作执行语句之后,根据得到的数据操作执行语句,判断数据操作请求对应的数据操作执行语句是否属于同一事务。示例性的,服务器例如可以判断各数据操作执行语句中指示的目标数据是否为同一项目标数据。其中,指示的目标数据为同一项目标数据的数据操作执行语句属于同一事务。或者,服务器还可以判断各数据操作执行语句的执行顺序是否有关联。其中执行顺序有关联的数据操作执行语句属于同一事务。
S104、采用事务流水线,向数据库执行数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果。
在确定数据操作请求对应的数据操作执行语句属于同一事务之后,可选的,服务器可以对数据操作执行语句之间是否有预设的执行顺序进行判断。若数据操作执行语句之间有预设的执行顺序,则服务器可以按照预设的执行顺序向数据库执行属于同一事务的各数据操作执行语句。若数据操作执行语句之间没有预设的执行顺序,则服务器可以同时向数据库执行属于同一事务的所有数据操作执行语句。
或者,服务器还可以直接同时向数据库执行属于同一事务的所有数据操作执行语句,以保证对数据库中的目标数据进行目标操作的一致性。
可选的,数据库可以在完成属于同一事务的所有的数据操作执行语句之后,向服务器发送属于同一事务的所有的数据操作执行语句的执行结果。相应的,服务器可以获取属于同一事务的所有的数据操作执行语句的执行结果。或者,数据库还可以是每完成一项数据操作执行语句,便向服务器发送该数据操作执行语句的执行结果。
服务器在接收到同一事务的所有的数据操作执行语句的执行结果之后,执行步骤S105。
S105、向数据中心的客户端发送执行结果。
示例性的,上述执行结果例如可以包括目标数据的总条数、目标操作的类型、事务流水线的标识、数据操作请求是否执行成功等信息。服务器在得到所有数据操作执行语句的执行结果之后,例如可以通过报文等方式向上述相应的发出数据操作请求的数据中心的客户端发送执行结果。
S106、向数据库执行数据操作请求对应的数据操作执行语句,得到该数据操作执行语句的执行结果之后,向数据中心的客户端发送执行结果。
若数据操作请求对应的数据操作执行语句不属于同一事务,可选的,则服务器可以直接向数据库执行数据操作请求对应的数据操作执行语句。然后服务器可以不需等待该数据操作请求对应的其他数据操作执行语句的执行结果,即每接收到一个数据操作执行语句的执行结果,便向数据中心的客户端发送该执行结果。
在本实施例中,根据数据中心的客户端发送的数据操作请求,获取该数据中心需要对目标数据执行的目标操作。然后对属于同一事务的数据操作执行语句,采用事务流水线,向数据库执行属于同一事务的数据操作执行语句。在得到同一事务的所有的数据操作执行语句的执行结果之后,将该执行结果返回给相应的数据中心的客户端。通过该方法,当属于同一事务的数据操作执行语句是对多个数据中心的目标数据进行的目标操作时,避免了各数据中心之间频繁交互,减少了交互量。
进一步的,在确定数据操作请求对应的数据操作执行语句不属于同一事务之后,服务器还可以对数据操作执行语句的数量与预设阈值的大小进行判断。具体的,若数据操作请求对应的数据操作执行语句的数量大于预设阈值,则服务器可以放弃向数据库执行数据操作请求对应的数据操作执行语句,以避免对数据库中的数据执行的操作过多,进而减少中台运行出现错误的可能性。
然后服务器可以向上述发出数据操作请求的数据中心的客户端发送提示信息,以提醒该数据中心不能对过多的目标数据执行目标操作。其中,该提示信息用于指示数据操作请求执行失败。
若数据操作请求对应的数据操作执行语句的数量小于或等于预设阈值,可选的,服务器可以直接向数据库执行数据操作请求对应的数据操作执行语句,并获取数据操作执行语句的执行结果。
进一步的,在得到数据操作执行语句的执行结果之后,服务器还可以存储数据操作请求的操作日志,以为各数据中心或者中台维护人员等提供数据支撑,并保证各数据中心对数据库的操作信息有据可查。其中,该操作日志可以包括下述至少一项信息:数据操作请求对应的数据操作执行语句、执行结果,以及,数据中心的客户端的标识。
示例性的,服务器例如可以通过消息队列(Message Queue,MQ)发送数据操作请求的操作日志主题,到数据操作日志服务器。各数据中心的客户端可以通过订阅该操作日志主题,接收上述操作日志并进行检索。可选的,上述数据操作日志服务器还可以将操作日志存储到数据库操作日志库中。或者,上述服务器还可以直接将数据操作请求的操作日志直接存储到数据库操作日志库中。再或者,上述服务器例如还可以将数据操作请求的操作日志存储在本地等。
进一步的,在前述步骤S102根据数据操作请求,获取数据操作请求对应的数据操作执行语句之前,作为一种可能的实现方式,服务器还可以先对数据中心的客户端进行鉴权。若对数据中心的客户端的鉴权通过,则根据数据操作请求,获取数据操作请求对应的数据操作执行语句。
可选的,上述数据操作请求中可以携带有登录数据中心的客户端的用户的密钥。服务器在接收到数据操作请求之后,可以根据数据操作请求中的用户的密钥是否正确,实现对数据中心的客户端进行鉴权。若数据操作请求中携带的用户的密钥是正确的,则服务器可以确定数据中心的客户端的鉴权通过。若数据操作请求中携带的用户的密钥是错误的,则服务器可以确定数据中心的客户端的鉴权不通过,则服务器可以不处理该数据操作请求,并向该数据中心的客户端发送密钥错误的提示信息。
或者,上述对数据中心的客户端进行鉴权的步骤例如还可以是服务器根据密钥,对数据中心的客户端进行身份验证,以及,根据数据操作请求所请求执行的目标操作,确定数据中心是否具有目标操作的权限。示例性的,服务器可以判断接收到的数据操作请求所请求执行的目标操作,是否在各数据中心的操作权限范围内,以确定该数据中心是否具有目标操作的权限。
在本实施例中,通过对数据中心的客户端进行鉴权,当鉴权通过之后再获取数据操作请求对应的数据操作执行语句,保证了数据中心的客户端的身份的安全性,进而提高了服务器对数据库中的目标数据进行目标操作的安全性。
基于前述各实施例提供的中台数据处理方法,图3为本申请提供的另一种中台数据处理方法的流程示意图。如图3所示,该方法包括以下步骤:
步骤201:服务器通过网络服务接口,或者http接口等,接收来自数据中心的客户端的数据操作请求。
其中,数据操作请求用于请求对数据库中的目标数据执行目标操作。数据操作请求中携带有登录数据中心的客户端的用户的密钥。
可选的,上述数据操作请求的规范例如可以如表1所示:
表1
Figure BDA0002988754140000101
Figure BDA0002988754140000111
Figure BDA0002988754140000121
步骤202:服务器根据数据操作请求中的用户的密钥是否正确,实现对数据中心的客户端进行鉴权,以及,根据数据操作请求所请求执行的目标操作,确定数据中心是否具有目标操作的权限。
若数据中心的客户端的鉴权通过,且数据中心具有目标操作的权限。则服务器可以执行步骤203。若不满足上述条件,则服务器可以向数据中心的客户端发送该数据中心不具有该目标操作权限的提示。
步骤203:服务器根据数据操作请求,获取数据操作请求对应的数据操作执行语句。
示例性的,服务器可以按照预设的映射规则,获取数据操作请求对应的数据操作执行语句。
示例性的,上述映射规则例如可以是:
(1)数据操作请求通过鉴权后,通过数据操作请求所指示的目标数据的目标操作,获取数据操作请求与数据操作执行语句的映射关系。以该数据操作执行语句为SQL语句为例,上述映射关系包括分配SQL主体,SQL入参,以及,SQL出参。
(2)SQL主体为数据集合体。例如select*from表A,表B where A.id=B.id andA.state=’0’中的表A,表B where A.id=B.id and A.state=’0’中的或者select*from表A中的A。
(3)SQL出参为服务器需要查询的字段。例如select A.name Name from表A中的Name。
(4)SQL入参为SQL中的条件。例如select*from A where A.Id=?中的A.Id,根据上述映射关系A.id映射为ID。
(5)由数据操作请求,获取的SQL语句例如可以为:select SQL出参from(SQL主体)where 1=1and SQL入参;
(6)若服务器在执行将数据操作请求映射为数据操作执行语句时,根据预设的映射关系无法获取该数据操作请求对应的数据操作执行语句(例如上述映射关系中不存在该数据操作请求对应的数据操作执行语句),则服务器可以向数据中心的客户端发送该数据操作请求无法执行的提示信息。
步骤204:服务器判断数据操作请求对应的数据操作执行语句是否属于同一事务。
示例性的,服务器在获取数据操作请求之后,可以根据数据操作请求中是否携带有事务流水线的标识,确定数据操作请求对应的数据操作执行语句是否属于同一事务。
若数据操作请求对应的数据操作执行语句属于同一事务,则服务器可以执行步骤205。若数据操作请求对应的数据操作执行语句不属于同一事务,则服务器可以执行步骤207。
步骤205:采用事务流水线,向数据库执行数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果。
步骤206:向数据中心的客户端发送执行结果。
示例性的,服务器例如可以按照表2所示的报文规范,将执行结果发从到数据中心的客户端。
表2
Figure BDA0002988754140000141
步骤207:判断数据操作执行语句的数量是否小于预设阈值。若是,则执行步骤208;若否,则执行步骤209。
步骤208:向数据库执行数据操作请求对应的数据操作执行语句,得到该数据操作执行语句的执行结果。
步骤209:服务器向数据中心发送请求失败的提示信息。
步骤210:通过MQ将数据操作请求的操作日志存储到数据操作日志服务器。数据操作日志服务器向各数据中心提供检索,并将数据操作请求的操作日志存储到数据库操作日志库。
图4为本申请提供的一种中台数据处理装置的结构示意图。如图4所示,该装置包括:接收模块31、处理模块32,以及,发送模块33。其中,
接收模块31,用于接收来自所述数据中心的客户端的数据操作请求;所述数据操作请求用于请求对所述数据库中的目标数据执行目标操作。
处理模块32,用于根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,并确定所述数据操作请求对应的数据操作执行语句是否属于同一事务;若确定所述数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果。
发送模块33,用于向所述数据中心的客户端发送所述执行结果。
可选的,处理模块32具体用于根据所述数据操作请求中是否携带有事务流水线的标识,确定所述数据操作请求对应的数据操作执行语句是否属于同一事务。
可选的,处理模块32还用于若确定所述数据操作请求对应的数据操作执行语句不属于同一事务,则判断所述数据操作请求对应的数据操作执行语句的数量是否大于预设阈值;若所述数据操作请求对应的数据操作执行语句的数量大于所述预设阈值,则放弃向所述数据库执行所述数据操作请求对应的数据操作执行语句;向所述数据中心的客户端发送提示信息,所述提示信息用于指示所述数据操作请求执行失败。
可选的,处理模块32还用于若所述数据操作请求对应的数据操作执行语句的数量小于或等于所述预设阈值,则向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所述数据操作执行语句的执行结果;
向所述数据中心的客户端发送所述执行结果。
可选的,该装置还可以包括存储模块34,用于存储所述数据操作请求的操作日志,所述操作日志包括下述至少一项信息:所述数据操作请求对应的数据操作执行语句、所述执行结果,以及,所述数据中心的客户端的标识。
可选的,处理模块32具体用于对所述数据中心的客户端进行鉴权;若对所述数据中心的客户端的鉴权通过,则根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句。
可选的,所述数据操作请求携带有登录所述数据中心的客户端的用户的密钥,在该实现方式下,处理模块32具体用于根据所述密钥,对所述数据中心的客户端进行身份验证,并根据所述数据操作请求所请求执行的目标操作,确定所述数据中心是否具有所述目标操作的权限。
本申请提供的中台数据处理装置,用于执行前述中台数据处理方法实施例,其实现原理与技术效果类似,对此不再赘述。
图5为本申请提供的一种电子设备结构示意图。如图5所示,该电子设备400可以包括:至少一个处理器401和存储器402。
存储器402,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器402可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器401用于执行存储器402存储的计算机执行指令,以实现前述方法实施例所描述的中台数据处理方法。其中,处理器401可能是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,该电子设备400还可以包括通信接口403。在具体实现上,如果通信接口403、存储器402和处理器401独立实现,则通信接口403、存储器402和处理器401可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口403、存储器402和处理器401集成在一块芯片上实现,则通信接口403、存储器402和处理器401可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的中台数据处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (12)

1.一种中台数据处理方法,其特征在于,所述中台包括:多个数据中心的客户端、服务器和数据库,所述数据库中存储有所述多个数据中心的业务数据,所述方法应用于所述服务器,所述方法包括:
接收来自所述数据中心的客户端的数据操作请求;所述数据操作请求用于请求对所述数据库中的目标数据执行目标操作;
根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,并确定所述数据操作请求对应的数据操作执行语句是否属于同一事务;
若确定所述数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果;
向所述数据中心的客户端发送所述执行结果。
2.根据权利要求1所述的方法,其特征在于,所述确定所述数据操作请求对应的数据操作执行语句是否属于同一事务,包括:
根据所述数据操作请求中是否携带有事务流水线的标识,确定所述数据操作请求对应的数据操作执行语句是否属于同一事务。
3.根据权利要求1所述的方法,其特征在于,所述确定所述数据操作请求对应的数据操作执行语句是否属于同一事务之后,还包括:
若确定所述数据操作请求对应的数据操作执行语句不属于同一事务,则判断所述数据操作请求对应的数据操作执行语句的数量是否大于预设阈值;
若所述数据操作请求对应的数据操作执行语句的数量大于所述预设阈值,则放弃向所述数据库执行所述数据操作请求对应的数据操作执行语句;
向所述数据中心的客户端发送提示信息,所述提示信息用于指示所述数据操作请求执行失败。
4.根据权利要求3所述的方法,其特征在于,所述判断所述数据操作请求对应的数据操作执行语句的数量是否大于预设阈值之后,所述方法还包括:
若所述数据操作请求对应的数据操作执行语句的数量小于或等于所述预设阈值,则向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所述数据操作执行语句的执行结果;
向所述数据中心的客户端发送所述执行结果。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
存储所述数据操作请求的操作日志,所述操作日志包括下述至少一项信息:所述数据操作请求对应的数据操作执行语句、所述执行结果,以及,所述数据中心的客户端的标识。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,包括:
对所述数据中心的客户端进行鉴权;
若对所述数据中心的客户端的鉴权通过,则根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句。
7.根据权利要求6所述的方法,其特征在于,所述数据操作请求携带有登录所述数据中心的客户端的用户的密钥,所述对所述数据中心的客户端进行鉴权,包括:
根据所述密钥,对所述数据中心的客户端进行身份验证,并根据所述数据操作请求所请求执行的目标操作,确定所述数据中心是否具有所述目标操作的权限。
8.一种中台数据处理装置,其特征在于,所述中台包括:多个数据中心的客户端、服务器和数据库,所述数据库中存储有所述多个数据中心的业务数据,所述装置应用于所述服务器,所述装置包括:
接收模块,用于接收来自所述数据中心的客户端的数据操作请求;所述数据操作请求用于请求对所述数据库中的目标数据执行目标操作;
处理模块,用于根据所述数据操作请求,获取所述数据操作请求对应的数据操作执行语句,并确定所述数据操作请求对应的数据操作执行语句是否属于同一事务;若确定所述数据操作请求对应的数据操作执行语句属于同一事务,则采用事务流水线,向所述数据库执行所述数据操作请求对应的数据操作执行语句,得到所有数据操作执行语句的执行结果;
发送模块,用于向所述数据中心的客户端发送所述执行结果。
9.一种电子设备,其特征在于,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-7任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
12.一种中台,其特征在于,所述中台包括:多个数据中心的客户端、数据库,以及,如权利要求1-7任一项所述的服务器。
CN202110308296.3A 2021-03-23 2021-03-23 中台数据处理方法、装置、设备、存储介质及程序产品 Active CN113076331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110308296.3A CN113076331B (zh) 2021-03-23 2021-03-23 中台数据处理方法、装置、设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110308296.3A CN113076331B (zh) 2021-03-23 2021-03-23 中台数据处理方法、装置、设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN113076331A true CN113076331A (zh) 2021-07-06
CN113076331B CN113076331B (zh) 2023-06-02

Family

ID=76613446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110308296.3A Active CN113076331B (zh) 2021-03-23 2021-03-23 中台数据处理方法、装置、设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN113076331B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845263A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 一种访问数据库的方法、装置及电子设备
CN107016016A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN109347941A (zh) * 2018-10-10 2019-02-15 南京简诺特智能科技有限公司 一种基于区块链的数据共享平台及其实现方法
CN112084161A (zh) * 2020-09-16 2020-12-15 腾讯科技(深圳)有限公司 基于数据库的数据处理方法、装置以及可读存储介质
CN112131205A (zh) * 2020-09-21 2020-12-25 上海上讯信息技术股份有限公司 一种数据库阻断方法及设备
CN112395307A (zh) * 2019-08-16 2021-02-23 华为技术有限公司 执行语句的方法、装置、服务器及存储介质
CN112416895A (zh) * 2020-11-16 2021-02-26 杭州安恒信息技术股份有限公司 数据库信息处理方法、装置、可读存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845263A (zh) * 2015-12-04 2017-06-13 阿里巴巴集团控股有限公司 一种访问数据库的方法、装置及电子设备
CN107016016A (zh) * 2016-10-10 2017-08-04 阿里巴巴集团控股有限公司 一种数据处理的方法及装置
CN109347941A (zh) * 2018-10-10 2019-02-15 南京简诺特智能科技有限公司 一种基于区块链的数据共享平台及其实现方法
CN112395307A (zh) * 2019-08-16 2021-02-23 华为技术有限公司 执行语句的方法、装置、服务器及存储介质
CN112084161A (zh) * 2020-09-16 2020-12-15 腾讯科技(深圳)有限公司 基于数据库的数据处理方法、装置以及可读存储介质
CN112131205A (zh) * 2020-09-21 2020-12-25 上海上讯信息技术股份有限公司 一种数据库阻断方法及设备
CN112416895A (zh) * 2020-11-16 2021-02-26 杭州安恒信息技术股份有限公司 数据库信息处理方法、装置、可读存储介质及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D CHERRY 等: "Additional Security for an Internet Facing SQL Server and Application", 《SECURING SQL SERVER》, pages 127 - 148 *
米向荣: "高可用MySQL同步集群的研究与设计", 《忻州师范学院学报》, vol. 35, no. 05, pages 26 - 32 *
贾大宇 等: "存储容量可扩展区块链系统的高效查询模型", 《软件学报》, vol. 30, no. 09, pages 2655 - 2670 *

Also Published As

Publication number Publication date
CN113076331B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US11716357B2 (en) Data access policies
US10460123B1 (en) System and method for automatically securing sensitive data in public cloud using a serverless architecture
US11068964B2 (en) Method and device for processing service request
CN110602052A (zh) 微服务处理方法及服务器
US10778603B2 (en) Systems and methods for controlling access to broker resources
CN111756644B (zh) 热点限流方法、系统、设备及存储介质
CN110839014B (zh) 一种认证方法、装置、计算机设备及可读存储介质
CN112511316B (zh) 单点登录接入方法、装置、计算机设备及可读存储介质
CN112541009B (zh) 数据查询方法、装置、电子设备及存储介质
WO2020000716A1 (zh) 大数据分析系统、服务器、数据处理方法、程序和存储介质
CN109088858B (zh) 一种基于权限管理的医疗系统及方法
CN112835885A (zh) 一种分布式表格存储的处理方法、装置及系统
CN111125168B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113076331A (zh) 中台数据处理方法、装置、设备、存储介质及程序产品
CN114328731A (zh) 信息处理方法、装置、电子设备和存储介质
CN116136844A (zh) 实体标识信息的生成方法、装置、介质及电子设备
CN112487400A (zh) 基于多页面的单点登录方法、装置、电子设备及存储介质
CN116975893A (zh) 访问请求处理方法及装置、存储介质、计算机设备
CN115484093A (zh) 单点登录方法及装置
CN115842818A (zh) 大数据传输方法、装置、计算机设备及存储介质
CN106293932B (zh) 资源分配的方法及系统
CN114676399A (zh) 数据安全访问方法、装置、电子设备和服务器
CN114443937A (zh) 订单查询方法、装置、系统以及计算机可读存储介质
CN116484326A (zh) 基于nft的多账户访问权限管理方法及相关装置
CN116954823A (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
GR01 Patent grant
GR01 Patent grant