CN113905097A - 一种数据传输方法和装置 - Google Patents

一种数据传输方法和装置 Download PDF

Info

Publication number
CN113905097A
CN113905097A CN202111127858.0A CN202111127858A CN113905097A CN 113905097 A CN113905097 A CN 113905097A CN 202111127858 A CN202111127858 A CN 202111127858A CN 113905097 A CN113905097 A CN 113905097A
Authority
CN
China
Prior art keywords
data
cache
target data
node
target
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
CN202111127858.0A
Other languages
English (en)
Other versions
CN113905097B (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.)
Hefei Shenwei Ruisi Information Technology Co ltd
Original Assignee
Weixun Boray Data Technology Beijing 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 Weixun Boray Data Technology Beijing Co ltd filed Critical Weixun Boray Data Technology Beijing Co ltd
Priority to CN202111127858.0A priority Critical patent/CN113905097B/zh
Priority to US18/267,251 priority patent/US20240045869A1/en
Priority to PCT/CN2021/139205 priority patent/WO2023045134A1/zh
Publication of CN113905097A publication Critical patent/CN113905097A/zh
Application granted granted Critical
Publication of CN113905097B publication Critical patent/CN113905097B/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/24552Database cache management
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据传输方法和装置,应用于包括多个节点的分布式数据库中,至少两个节点中设置有加速卡,各加速卡的高速接口相互连接组成数据传输通路,该方法包括:当加速卡接收到节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求;若加速卡根据数据请求检测高速缓存中命中目标数据,加速卡从高速缓存中获取目标数据;否则加速卡将与数据请求对应的数据请求报文经数据传输通路发送到远端的目的节点,并基于从目的节点返回的数据包获取目标数据,从而降低了跨节点的加速卡间通信时延。

Description

一种数据传输方法和装置
技术领域
本申请涉及数据库技术领域,更具体地,涉及一种数据传输方法和装置。
背景技术
随着5G、云计算、万物互联和人工智能时代的到来,数据的产生、传输、存储和分析处理的要求却越来越高。在数据库领域,湖仓一体的大数据量伴随着对于系统性能、可扩展性和成本的新需求,分布式数据库是关键的解决方案。同时,在节点内,采用GPU(graphicsprocessing unit,图形处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)或定制的ASIC(Application Specific Integrated Circuit,专用集成电路)芯片等加速卡,通过专门设计的硬件电路来实现数据库中的关键处理步骤,进一步满足整体性能,以及成本和可扩展性需求。
目前单节点内加速卡通过PCIe(peripheral component interconnect express,周边设备高速连接)接口与CPU(central processing unit,中央处理器)进行通信,PCIe接口时延较大,很大程度抵消了加速卡所带来的处理时延增益。当前众多的行业组织基于PCIe接口,开发了CXL(Compute Express Link,计算快速链接),CCIX(Cache CoherentInterconnect for Accelerators,用于加速器的缓存一致性协议)等接口协议规范,用于降低加速卡与CPU间的通信时延。但当加速卡部署到分布式数据库场景中时,例如,节点A传输数据到节点B,节点A数据需要通过PCIe接口传递主机,再到网卡并传送到目的节点B,目的节点B再从网卡取数据,再通过PCIe接口送到加速卡,加速卡间的通信时延进一步加大。
现有技术中,基于PCIe接口扩展新的事务层实现新的接口协议,来降低加速卡和CPU间的接口通信时延。CXL为其中一种。其通过内置缓存一致性协议,并将CPU内存和加速卡内存统一池化管理来达到目的。但CXL仅解决了节点内的通信时延,跨节点通信并不在其解决范围内,非针对数据库应用设计。
另外,为了减小跨节点访问时延,现有技术还采用直接存取远程的其他节点内存。RDMA(Remote Direct Memory Access,远程直接数据存取)通常将TCP/IP等协议层都交由硬件实现,同时数据的搬移也无需软件多次拷贝。在整个RDMA数据传输过程中,绕过操作系统,无需CPU参与,大大提升了传输效率,降低了传输时延。但RDMA仅解决了跨节点间的访存时延,未解决节点内加速卡的时延,且也非针对数据库应用设计。
因此,如何在分布式环境下降低加速卡间的通信时延,是目前亟待解决的技术问题。
发明内容
本发明提供一种数据传输方法,用以解决现有技术中在分布式环境下无法有效降低加速卡间的通信时延的技术问题。
该方法应用于包括多个节点的分布式数据库中,至少两个所述节点中设置有加速卡,各所述加速卡的高速接口相互连接组成数据传输通路,所述方法包括:
当所述加速卡接收到所述节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求;
所述加速卡根据所述数据请求检测所述高速缓存中是否命中目标数据;
若命中,所述加速卡从所述高速缓存中获取目标数据;
若未命中,所述加速卡将与所述数据请求对应的数据请求报文经所述数据传输通路发送到远端的目的节点,并基于从所述目的节点返回的数据包获取目标数据;
其中,所述获取数据操作包括scan动作,所述修改数据操作包括insert、update和delete动作,所述数据请求包括所述目的节点的信息、目标数据的内容和目标数据的数据量。
在本申请一些实施例中,基于从所述目的节点返回的数据包获取目标数据,具体为:
所述生成数据请求的操作根据目标数据各分片的分布信息、所述加速卡中高速缓存的缓存数据信息、各所述节点的通信带宽和时延信息、以及与目标数据对应的后继执行操作进行实施和执行;
所述加速卡将从所述数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在所述高速缓存中。
在本申请一些实施例中,基于所述缓存一致性协议保存的所述目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。
在本申请一些实施例中,所述方法还包括:
所述加速卡基于RDMA协议完成内存注册和队列管理。
在本申请一些实施例中,所述方法还包括:
当所述加速卡接收到从远端的请求节点发送的数据请求报文时,基于数据请求报文检测所述高速缓存中是否命中目标数据;
若命中,所述加速卡从所述高速缓存中提取目标数据并将目标数据经所述数据传输通路传回所述请求节点;
若未命中,所述加速卡从外挂的内存中获取目标数据,并基于所述缓存一致性协议将目标数据保存在所述高速缓存中,并从所述高速缓存中提取目标数据后将目标数据经所述数据传输通路传回所述请求节点。
在本申请一些实施例中,所述方法还包括:
当所述加速卡接收到所述CPU下发的对临时中间结果进行修改的数据库操作指令时,根据所述高速缓存中的内容完成对临时中间结果的修改;
当所述加速卡接收到所述CPU下发的对原始数据进行修改的数据库操作指令时,根据原始数据的分片信息对原始数据进行修改,并根据缓存一致性协议将修改后的原始数据保存到所述高速缓存中。
相应的,本发明还提供了一种数据传输装置,应用于包括多个节点的分布式数据库中,至少两个所述节点中设置有加速卡,各所述加速卡的高速接口相互连接组成数据传输通路,所述装置设置在所述加速卡中,包括:
数据管理模块,根据获取数据操作或修改数据操作生成数据请求,将所述数据请求发送到缓存内存管理模块并接收所述缓存内存管理模块返回的接收到目标数据指示;
数据分片模块,按预设分片原则完成对数据库数据的分片后将各分片存放到各节点外挂的内存中,并向所述数据管理模块提供各分片的分布信息;
所述缓存内存管理模块,根据所述数据请求检测所述高速缓存中是否命中目标数据,以及在命中时从所述高速缓存中获取目标数据,在未命中时将所述数据请求发送到所述数据传输模块并获取所述数据传输模块从目的节点接收的目标数据;
所述数据传输模块,对数据进行封包和解包,以及通过所述数据传输通路发送和接收与所述数据请求对应的数据请求报文,并根据所述高速接口的类型按预设数据颗粒度进行数据传输;
其中,所述获取数据操作包括scan动作,所述修改数据操作包括insert、update和delete动作,所述数据请求包括所述目的节点的信息、目标数据的内容和目标数据的数据量。
在本申请一些实施例中,所述数据管理模块、所述数据分片模块、所述缓存内存管理模块、所述数据传输模块和所述高速缓存组成所述加速卡的存储引擎,所述加速卡还包括执行引擎,所述数据管理模块将所述目标数据、或修改后的临时中间结果、或修改后的原始数据返回所述执行引擎,以使所述执行引擎执行所述节点的CPU下发的数据库操作指令;
其中,所述缓存内存管理模块根据原始数据的分片信息对原始数据进行修改,并将修改后的原始数据保存在所述高速缓存中。
在本申请一些实施例中,所述缓存内存管理模块接收从所述目的节点返回的数据包并将从所述数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在所述高速缓存中,以及基于RDMA协议完成内存注册和队列管理;
其中,基于所述缓存一致性协议保存的所述目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。
在本申请一些实施例中,所述数据传输模块基于OTN接口预先为每一对节点建立保证带宽的OSUFlex/ODUflex管道,或基于OTN接口在ODUflex/OSUflex帧头增加节点ID标识用于路由。
在本申请一些实施例中,所述加速卡基于PCIe接口连接所述CPU,所述加速卡还连接固态硬盘。
通过应用以上技术方案,在包括多个节点的分布式数据库中,至少两个节点中设置有加速卡,各加速卡的高速接口相互连接组成数据传输通路,当加速卡接收到节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求;加速卡根据数据请求检测高速缓存中是否命中目标数据;若命中,加速卡从高速缓存中获取目标数据;若未命中,加速卡将与数据请求对应的数据请求报文经数据传输通路发送到远端的目的节点,并基于从目的节点返回的数据包获取目标数据;其中,数据请求包括目的节点的信息、目标数据的内容和目标数据的数据量,通过各加速卡的高速接口直接互联,使各加速卡可缓存远端节点数据,降低了跨节点的加速卡间通信时延,提升了分布式数据库分片间的数据共享效率,降低了数据分片的约束。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地 ,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种数据传输方法的流程示意图;
图2示出了本发明实施例中分布式数据库的结构示意图;
图3示出了本发明实施例中分布式数据库的单节点架构示意图;
图4示出了本发明实施例中一SQL语句示意图;
图5示出了与图4中SQL语句对应执行树的示意图;
图6示出了本发明实施例中另一SQL语句示意图;
图7示出了与图6中SQL语句对应执行树的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据传输方法,应用于包括多个节点的分布式数据库中,至少两个所述节点中设置有加速卡,各所述加速卡的高速接口相互连接组成数据传输通路。所述加速卡可以为外部硬件加速器,是基于硬件实现加速的设备,包括GPU、或FPGA、或ASIC。高速接口可以为以太网接口,Infiniband接口,FC(Fiber Channel,光纤通道)接口,也可以是OTN(Optical Transport Network,光传送网)接口。
如图2所示为本发明一实施例中分布式数据库的结构示意图,包括多个节点(节点A、节点B、节点M和节点X),各节点通过网卡NIC连接数据中心网络,其中,节点A、节点B和节点M中设置有加速卡,加速卡与CPU通过PCIe接口连接,各加速卡的高速接口TX/RX通过外部的交换机Switch相互连接组成高速互联的数据传输通路。
如图1所示,所述方法包括以下步骤:
步骤S101,当所述加速卡接收到所述节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求。
本实施例中,加速卡连接所属节点的CPU,各加速卡中设置高速缓存,各加速卡的高速接口相互连接组成数据传输通路,数据库数据按照预设分片原则分布在分布式数据库的各节点中,预设分片原则可以为按范围分片,也可以是按一致性哈希算法进行分片。
在接收到CPU下发的要求获取目标数据的数据库操作指令时,加速卡根据获取数据操作或修改数据操作生成数据请求,获取数据操作包括scan动作,修改数据操作包括insert、update和delete动作,数据请求包括目的节点的信息、目标数据的内容和目标数据的数据量。
步骤S102,所述加速卡根据所述数据请求检测所述高速缓存中是否命中目标数据,若命中,则执行步骤S103;否则执行步骤S104。
本实施例中,加速卡生成数据请求后先检测高速缓存中是否命中目标数据。
步骤S103,所述加速卡从所述高速缓存中获取目标数据。
本实施例中,若检测到高速缓存中命中目标数据,加速卡可直接从高速缓存中获取目标数据,提高了数据获取效率。
步骤S104,所述加速卡将与所述数据请求对应的数据请求报文经所述数据传输通路发送到远端的目的节点,并基于从所述目的节点返回的数据包获取目标数据。
本实施例中,若在高速缓存未命中目标数据,说明本节点中不存在目标数据,则根据数据请求生成数据请求报文,并将数据请求报文经数据传输通路发送到存储有目标数据远端的目的节点,目的节点中的加速卡收到数据请求报文后将经数据传输通路返回带有目标数据的数据包,从而获取目标数据。
为了保证缓存一致性,在本申请一些实施例中,基于从所述目的节点返回的数据包获取目标数据,具体为:
所述生成数据请求的操作根据目标数据各分片的分布信息、所述加速卡中高速缓存的缓存数据信息、各所述节点的通信带宽和时延信息、以及与目标数据对应的后继执行操作进行实施和执行;
所述加速卡将从所述数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在所述高速缓存中。
本实施例中,根据目标数据各分片的分布信息、加速卡中高速缓存的缓存数据信息、各所述节点的通信带宽和时延信息、以及与目标数据对应的后继执行操作进行实施和执行生成数据请求的操作,加速卡接收到从目的节点返回的数据包后,提取数据包中的数据净荷作为目标数据,然后基于缓存一致性协议将目标数据保存在高速缓存中。
其中,目标数据各分片存储的分布信息为目标数据在各节点的分布情况;高速缓存的缓存数据信息可包括当前空间容量信息、已缓存数据信息(与数据相关的节点、表和数据块);与目标数据对应的后继执行操作为在执行数据库操作指令时需要执行的后继操作,如扫描,连接,排序和汇聚操作。
为了保证缓存一致性,在本申请一些实施例中,基于所述缓存一致性协议保存的所述目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。本实施例中相应的缓存一致性并非通常的CPU内与内存地址相关的的缓存一致性。
为了进一步提高数据处理效率,在本申请一些实施例中,所述方法还包括:
所述加速卡基于RDMA协议完成内存注册和队列管理。
为了提高数据传输效率,在本申请一些实施例中,所述方法还包括:
当所述加速卡接收到从远端的请求节点发送的数据请求报文时,基于数据请求报文检测所述高速缓存中是否命中目标数据;
若命中,所述加速卡从所述高速缓存中提取目标数据并将目标数据经所述数据传输通路传回所述请求节点;
若未命中,所述加速卡从外挂的内存中获取目标数据,并基于所述缓存一致性协议将目标数据保存在所述高速缓存中,并从所述高速缓存中提取目标数据后将目标数据经所述数据传输通路传回所述请求节点。
本实施例中,当加速卡接收到从远端的请求节点发送的数据请求报文时,说明远端的请求节点请求获取本加速卡中的目标数据,加速卡所属的节点此时为目的节点,先检测高速缓存中是否命中目标数据,若命中,加速卡从高速缓存中提取目标数据并将目标数据经数据传输通路传回请求节点;若未命中,加速卡先从外挂的内存中获取目标数据,然后基于缓存一致性协议将目标数据保存在高速缓存中,再从高速缓存中提取目标数据后将目标数据经数据传输通路传回请求节点。
可以理解的是,加速卡通过所述数据传输通路接收从远端的请求节点发送的数据请求报文。
为了可靠的执行需要进行数据修改的数据库操作指令,在本申请一些实施例中,所述方法还包括:
当所述加速卡接收到所述CPU下发的对临时中间结果进行修改的数据库操作指令时,根据所述高速缓存中的内容完成对临时中间结果的修改;
当所述加速卡接收到所述CPU下发的对原始数据进行修改的数据库操作指令时,根据原始数据的分片信息对原始数据进行修改,并将修改后的原始数据保存到所述高速缓存中。
本实施例中,数据修改的数据库操作包括对数据进行增、删、改,将数据修改分为对临时中间结果进行修改和对原始数据进行修改,当加速卡接收到CPU下发的对临时中间结果进行修改的数据库操作指令时,由于临时中间结果为本地数据,没有一致性问题,直接操作高速缓存中的内容完成对临时中间结果的修改;当加速卡接收到CPU下发的对原始数据进行修改的数据库操作指令时,先根据原始数据的分片信息对原始数据进行修改,然后根据缓存一致性协议将修改后的原始数据保存到高速缓存中,保证高速缓存的数据一致性。
通过应用以上技术方案,在包括多个节点的分布式数据库中,至少两个节点中设置有加速卡,各加速卡的高速接口相互连接组成数据传输通路,当加速卡接收到节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求;加速卡根据数据请求检测高速缓存中是否命中目标数据;若命中,加速卡从高速缓存中获取目标数据;若未命中,加速卡将与数据请求对应的数据请求报文经数据传输通路发送到远端的目的节点,并基于从目的节点返回的数据包获取目标数据;其中,数据请求包括目的节点的信息、目标数据的内容和目标数据的数据量,本方案通过各加速卡的高速接口直接互联,使各加速卡可缓存远端节点数据,降低了跨节点的加速卡间通信时延,提升了分布式数据库分片间的数据共享效率,降低了数据分片的约束。
本申请实施例还提出了一种数据传输装置,应用于包括多个节点的分布式数据库中,至少两个节点中设置有加速卡,各加速卡的高速接口相互连接组成数据传输通路,装置设置在加速卡中,如图3所示,数据传输装置221包括:
数据管理模块2211,根据获取数据操作或修改数据操作生成数据请求,将数据请求发送到缓存内存管理模块2213并接收缓存内存管理模块2213返回的接收到目标数据指示;
数据分片模块2212,按预设分片原则完成对数据库数据的分片后将各分片存放到各节点外挂的内存400中,并向数据管理模块2211提供各分片的分布信息;
缓存内存管理模块2213,根据数据请求检测高速缓存222中是否命中目标数据,以及在命中时从高速缓存222中获取目标数据,在未命中时将数据请求发送到数据传输模块2214并获取数据传输模块2214从目的节点接收的目标数据;
数据传输模块2214,对数据进行封包和解包,以及通过数据传输通路发送和接收与数据请求对应的数据请求报文,并根据高速接口230的类型按预设数据颗粒度进行数据传输;
其中,获取数据操作包括scan动作,修改数据操作包括insert、update和delete动作,数据请求包括目的节点的信息、目标数据的内容和目标数据的数据量。
本实施例中,数据管理模块2211分别与高速缓存222、数据分片模块2212、缓存内存管理模块2213连接,数据分片模块2212还连接缓存内存管理模块2213,缓存内存管理模块2213还连接数据传输模块2214和高速缓存222。
生成数据请求的操作根据目标数据各分片的分布信息、加速卡200中高速缓存222的缓存数据信息、各节点的通信带宽和时延信息、以及与目标数据对应的后继执行操作进行实施和执行,数据管理模块2211可生成数据请求并将数据请求发送到缓存内存管理模块2213,还用于根据累计的数据读取信息其可以进步发起数据重分布的请求,降低数据远程传输的带宽消耗。数据管理模块2211还用于完成高速缓存数据的老化、换出和脏页的写回。数据分片模块2212还用于负责分片数据复制备份,以保证数据的可靠性。缓存管理模块保证缓存一致性和实现RDMA部分功能。数据传输模块2214依赖不同的高速接口的类型实现不同的传输能力,举例来说,如果接口类型为Eth,则实现对应的PCS/PMA/PMD,如果接口类型为RoCEv2,则实现其对应的协议栈。预设数据颗粒度与数据库存储引擎数据组织方式相关。例如,如果为PostgreSQL,则预设数据颗粒度为8KB的整数倍。
高速缓存222中的数据也可按照数据组织方式存放,比如存放的也是8KB大小的整数个数据块。数据管理模块2211生成的请求数据大小,也是以对应预设数据颗粒度为基本单位。
为了可靠的执行数据库操作指令,在本申请一些实施例中,如图3所示,数据管理模块2211、数据分片模块2212、缓存内存管理模块2213、数据传输模块2214和高速缓存222组成加速卡200的存储引擎220,加速卡200还包括执行引擎210,数据管理模块2211将目标数据、或修改后的临时中间结果、或修改后的原始数据返回执行引擎210,以使执行引擎210执行节点的CPU100下发的数据库操作指令;
其中,缓存内存管理模块2213根据原始数据的分片信息对原始数据进行修改,并将修改后的原始数据保存在高速缓存222中。
为了保证缓存一致性和数据传输效率,在本申请一些实施例中,缓存内存管理模块2213接收从目的节点返回的数据包并将从数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在高速缓存222中,以及基于RDMA协议完成内存注册和队列管理;
其中,基于缓存一致性协议保存的目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。
为了进一步提高数据传输效率,在本申请一些实施例中,数据传输模块2214基于OTN接口预先为每一对节点建立保证带宽的OSUFlex(Flexible Optical Service Unit,灵活光业务单元)/ODUflex(Flexible Optical Data Unit,灵活光数据单元)管道,或基于OTN接口在ODUflex/OSUflex帧头增加节点ID标识用于路由。
具体的,OTN作为传统的时分复用的传输接口,在传输时延上相比基于统计复用的分组端口具有一定的优势,相对于以太接口或FC、IB(InfiniBand,无线带宽)接口,OTN接口能进一步降低传输时延,保证业务带宽和数据无损。
为了可靠的进行数据传输,在本申请一些实施例中,如图3所示,加速卡200基于PCIe接口连接CPU100,加速卡200还连接固态硬盘500,CPU100还连接网卡300。
通过应用以上技术方案,在包括多个节点的分布式数据库中,至少两个节点中设置有加速卡,各加速卡的高速接口相互连接组成数据传输通路,数据传输装置设置在加速卡中,包括:数据管理模块,根据获取数据操作或修改数据操作生成数据请求,将数据请求发送到缓存内存管理模块并接收缓存内存管理模块返回的接收到目标数据指示;数据分片模块,按预设分片原则完成对数据库数据的分片后将各分片存放到各节点外挂的内存中,并向数据管理模块提供各分片的分布信息;缓存内存管理模块,根据数据请求检测高速缓存中是否命中目标数据,以及在命中时从高速缓存中获取目标数据,在未命中时将数据请求发送到数据传输模块并获取数据传输模块从目的节点接收的目标数据;数据传输模块,对数据进行封包和解包,以及通过数据传输通路发送和接收与数据请求对应的数据请求报文,并根据高速接口的类型按预设数据颗粒度进行数据传输;其中,数据请求包括目的节点的信息、目标数据的内容和目标数据的数据量,从而降低了跨节点的加速卡间通信时延,提升了分布式数据库分片间的数据共享效率,降低了数据分片的约束。
为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
以TPC-C测试为例,数据库分析引擎、优化引擎和部分执行引擎采用PostgreSQL。以按语句分布并行为例。但分布式数据库的并发粒度和策略并非仅此一种,这里仅按此种策略进行说明。
开始查询仓库库存状况SQL语句如图4所示。
将对应参数设值后,输出的执行树如图5所示。
表bmsql_district数据量小,表bmsql_stock和bmsql_order_line数据量大,数据分片模块将bmsql_district完整存放于多个节点;将表bmsql_stock和bmsql_order_line按照关键列(关键索引和主键)进行一致性哈希分片,则两表数据分布在多个节点。
假定该计划树整体发送到某一个节点开始执行。
执行引擎要求获取bmsql_district和bmsql_order_line数据,同时下发了后继操作列表,包括Join-获取bmsql_stock数据-Join-Aggr,数据管理模块向数据分片模块获取数据分布信息,得到bmsql_district全部在本节点,以及bmsql_order_line的分布;同时获取得到高速缓存Cache当前空间容量信息,已缓存数据信息(来自什么节点,哪个表,哪些数据块等)。
进一步的,数据管理模块依据和各个节点的通信带宽和通信时延信息,结合表数据的分布信息,得到Scan数据的时延代价,再结合Join的执行吞吐量和Scan(bmsql_stock)的代价,数据管理模块生成对应的数据请求,数据请求包括依次向哪些节点,获取多少数据块,在获取到多少数据量后向执行引擎开始返回数据。比如这里可能增加了获取bmsql_stock的数据请求。
数据管理模块将生成的数据请求发向缓存内存管理模块,Cache未命中,则将数据请求进一步发向数据传输模块,数据传输模块依据目的节点信息,完成相应处理生成数据请求报文后,将数据请求报文通过加速卡的高速接口发出。
远端的目的节点接收到数据请求报文后,传递给目的节点中加速卡的缓存内存管理模块,其首先获取Cache数据,如未命中,则向外挂内存RAM(Random Access Memory)获取数据,并保存在Cache中,同时需要根据缓存一致性协议完成对应操作。同时保存缓存相关信息,供数据管理模块使用。数据获取后再通过数据传输模块传回请求节点。
当数据传输模块接收到目的节点返回的数据包。提取出数据净荷后,传递给缓存内存管理模块,缓存内存管理模块将获取到的数据保存在Cache中,完成缓存一致性协议处理后,向数据管理模块返回接收到数据指示。
当接收到的数据满足数据管理模块设定的阈值后,开始向执行引擎返回数据。
当该节点再分配执行TPC-C的又一条SQL语句时,语句如图6所示。
将对应参数设值后,输出的执行树如图7所示。
当数据管理模块接收到执行引擎发送的数据请求和命令列表后,同样向数据分片模块和缓存内存管理模块获取相关信息,生成相关数据请求传输给缓存内存管理模块。此次数据请求可直接命中Cache,缓存内存管理模块完成一致性协议处理后,直接向数据管理模块返回接收到数据指示。
当前片内Cache已经可以集成GB量级容量。虽然已经足够大,但仍面临缓存数据需要换出的情况,以及Cache数据写回RAM的情况,这些都由数据管理模块完成。其缓存替换替换策略除通常LRU(Least Recently Used,最近最少使用)方案外,还需结合命令列表一同判断。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种数据传输方法,应用于包括多个节点的分布式数据库中,至少两个所述节点中设置有加速卡,其特征在于,各所述加速卡的高速接口相互连接组成数据传输通路,所述方法包括:
当所述加速卡接收到所述节点的CPU下发的要求获取目标数据的数据库操作指令时,根据获取数据操作或修改数据操作生成数据请求;
所述加速卡根据所述数据请求检测所述高速缓存中是否命中目标数据;
若命中,所述加速卡从所述高速缓存中获取目标数据;
若未命中,所述加速卡将与所述数据请求对应的数据请求报文经所述数据传输通路发送到远端的目的节点,并基于从所述目的节点返回的数据包获取目标数据;
其中,所述获取数据操作包括scan动作,所述修改数据操作包括insert、update和delete动作,所述数据请求包括所述目的节点的信息、目标数据的内容和目标数据的数据量。
2.如权利要求1所述的方法,其特征在于,基于从所述目的节点返回的数据包获取目标数据,具体为:
所述生成数据请求的操作根据目标数据各分片的分布信息、所述加速卡中高速缓存的缓存数据信息、各所述节点的通信带宽和时延信息、以及与目标数据对应的后继执行操作进行实施和执行;
所述加速卡将从所述数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在所述高速缓存中。
3.如权利要求2所述的方法,其特征在于,基于所述缓存一致性协议保存的所述目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述加速卡基于RDMA协议完成内存注册和队列管理。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述加速卡接收到从远端的请求节点发送的数据请求报文时,基于数据请求报文检测所述高速缓存中是否命中目标数据;
若命中,所述加速卡从所述高速缓存中提取目标数据并将目标数据经所述数据传输通路传回所述请求节点;
若未命中,所述加速卡从外挂的内存中获取目标数据,并基于所述缓存一致性协议将目标数据保存在所述高速缓存中,并从所述高速缓存中提取目标数据后将目标数据经所述数据传输通路传回所述请求节点。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述加速卡接收到所述CPU下发的对临时中间结果进行修改的数据库操作指令时,根据所述高速缓存中的内容完成对临时中间结果的修改;
当所述加速卡接收到所述CPU下发的对原始数据进行修改的数据库操作指令时,根据原始数据的分片信息对原始数据进行修改,并根据缓存一致性协议将修改后的原始数据保存到所述高速缓存中。
7.一种数据传输装置,应用于包括多个节点的分布式数据库中,至少两个所述节点中设置有加速卡,其特征在于,各所述加速卡的高速接口相互连接组成数据传输通路,所述装置设置在所述加速卡中,包括:
数据管理模块,根据获取数据操作或修改数据操作生成数据请求,将所述数据请求发送到缓存内存管理模块并接收所述缓存内存管理模块返回的接收到目标数据指示;
数据分片模块,按预设分片原则完成对数据库数据的分片后将各分片存放到各节点外挂的内存中,并向所述数据管理模块提供各分片的分布信息;
所述缓存内存管理模块,根据所述数据请求检测所述加速卡中高速缓存中是否命中目标数据,以及在命中时从所述高速缓存中获取目标数据,在未命中时将所述数据请求发送到所述数据传输模块并获取所述数据传输模块从目的节点接收的目标数据;
所述数据传输模块,对数据进行封包和解包,以及通过所述数据传输通路发送和接收与所述数据请求对应的数据请求报文,并根据所述高速接口的类型按预设数据颗粒度进行数据传输;
其中,所述获取数据操作包括scan动作,所述修改数据操作包括insert、update和delete动作,所述数据请求包括所述目的节点的信息、目标数据的内容和目标数据的数据量。
8.如权利要求7所述的装置,其特征在于,所述数据管理模块、所述数据分片模块、所述缓存内存管理模块、所述数据传输模块和所述高速缓存组成所述加速卡的存储引擎,所述加速卡还包括执行引擎,所述数据管理模块将所述目标数据、或修改后的临时中间结果、或修改后的原始数据返回所述执行引擎,以使所述执行引擎执行所述节点的CPU下发的数据库操作指令;
其中,所述缓存内存管理模块根据原始数据的分片信息对原始数据进行修改,并将修改后的原始数据保存在所述高速缓存中。
9.如权利要求7所述的装置,其特征在于,所述缓存内存管理模块接收从所述目的节点返回的数据包并将从所述数据包中提取的数据净荷作为目标数据,并基于缓存一致性协议将目标数据保存在所述高速缓存中,以及基于RDMA协议完成内存注册和队列管理;
其中,基于所述缓存一致性协议保存的所述目标数据由所在分片节点标识、事务ID、事务状态、数据库ID、表ID、所在数据块、所在元组进行标识。
10.如权利要求7-9任一项所述的装置,其特征在于,所述数据传输模块基于OTN接口预先为每一对节点建立保证带宽的OSUFlex/ODUflex管道,或基于OTN接口在ODUflex/OSUflex帧头增加节点ID标识用于路由。
CN202111127858.0A 2021-09-26 2021-09-26 一种数据传输方法和装置 Active CN113905097B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111127858.0A CN113905097B (zh) 2021-09-26 2021-09-26 一种数据传输方法和装置
US18/267,251 US20240045869A1 (en) 2021-09-26 2021-12-17 A method and device of data transmission
PCT/CN2021/139205 WO2023045134A1 (zh) 2021-09-26 2021-12-17 一种数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111127858.0A CN113905097B (zh) 2021-09-26 2021-09-26 一种数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN113905097A true CN113905097A (zh) 2022-01-07
CN113905097B CN113905097B (zh) 2022-07-05

Family

ID=79029259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111127858.0A Active CN113905097B (zh) 2021-09-26 2021-09-26 一种数据传输方法和装置

Country Status (3)

Country Link
US (1) US20240045869A1 (zh)
CN (1) CN113905097B (zh)
WO (1) WO2023045134A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430366A (zh) * 2022-01-25 2022-05-03 北京百度网讯科技有限公司 信息采集应用下发方法、相关装置及计算机程序产品
CN114567683A (zh) * 2022-02-28 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种内存互连方法、系统及相关装置
CN115827682A (zh) * 2023-02-10 2023-03-21 山东浪潮科学研究院有限公司 一种数据库查询加速引擎装置、方法及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370621B1 (en) * 1998-12-21 2002-04-09 Advanced Micro Devices, Inc. Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation
US6490661B1 (en) * 1998-12-21 2002-12-03 Advanced Micro Devices, Inc. Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US20040003126A1 (en) * 1998-08-27 2004-01-01 Alacritech, Inc. TCP/IP offload network interface device
US20050195635A1 (en) * 2004-03-08 2005-09-08 Conley Kevin M. Flash controller cache architecture
US20090210626A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Method, system and computer program product for cache coherency protocol with built in avoidance for conflicting responses
US20090240664A1 (en) * 2008-03-20 2009-09-24 Schooner Information Technology, Inc. Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory
US20100199049A1 (en) * 2009-02-04 2010-08-05 Yokogawa Electric Corporation Parameter copying method and parameter copying device
US8386713B2 (en) * 2007-09-12 2013-02-26 Sony Corporation Memory apparatus, memory control method, and program
CN205983466U (zh) * 2016-07-27 2017-02-22 四川迈实通科技有限责任公司 一种基于fpga的算法加速卡
WO2018090315A1 (zh) * 2016-11-18 2018-05-24 华为技术有限公司 数据请求的处理方法及缓存系统
CN109343896A (zh) * 2018-09-26 2019-02-15 山东超越数控电子股份有限公司 一种大数据处理系统
CN112087471A (zh) * 2020-09-27 2020-12-15 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法及fpga云平台
CN112269656A (zh) * 2020-10-16 2021-01-26 山东云海国创云计算装备产业创新中心有限公司 一种基于多核处理器的应用配置方法、装置和系统
CN112286688A (zh) * 2020-11-05 2021-01-29 北京深维科技有限公司 一种内存管理和使用方法、装置、设备和介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441948B (zh) * 2013-07-03 2017-09-05 华为技术有限公司 一种数据访问方法、网卡及存储系统
US10078613B1 (en) * 2014-03-05 2018-09-18 Mellanox Technologies, Ltd. Computing in parallel processing environments
KR102017880B1 (ko) * 2014-07-16 2019-09-03 한국전자통신연구원 ODUflex(GFP)신호를 지원하는 광 전달망에서의 보호절체 장치 및 보호절체 방법
WO2016080953A1 (en) * 2014-11-17 2016-05-26 Hitachi, Ltd. Method and apparatus for data cache in converged system
US10404800B2 (en) * 2016-07-15 2019-09-03 Hewlett Packard Enterprise Development Lp Caching network fabric for high performance computing
US10326663B2 (en) * 2017-06-02 2019-06-18 Cisco Technology, Inc. Fabric-wide bandth management
CN109714292B (zh) * 2017-10-25 2021-05-11 华为技术有限公司 传输报文的方法与装置
CN108183961A (zh) * 2018-01-04 2018-06-19 中电福富信息科技有限公司 一种基于Redis的分布式缓存方法
US11138196B2 (en) * 2018-08-17 2021-10-05 Salesforce.Com, Inc. Maintaining data across query executions of a long-running query
US10862758B2 (en) * 2019-01-02 2020-12-08 Hewlett Packard Enterprise Development Lp Generation of network configuration and configuration commands for impacted nodes of a software defined wide area network
US11269745B2 (en) * 2019-10-29 2022-03-08 International Business Machines Corporation Two-node high availability storage system
CN111464615B (zh) * 2020-03-30 2023-06-20 北京达佳互联信息技术有限公司 请求处理方法、装置、服务器及存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003126A1 (en) * 1998-08-27 2004-01-01 Alacritech, Inc. TCP/IP offload network interface device
US6490661B1 (en) * 1998-12-21 2002-12-03 Advanced Micro Devices, Inc. Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US6370621B1 (en) * 1998-12-21 2002-04-09 Advanced Micro Devices, Inc. Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation
US20050195635A1 (en) * 2004-03-08 2005-09-08 Conley Kevin M. Flash controller cache architecture
US8386713B2 (en) * 2007-09-12 2013-02-26 Sony Corporation Memory apparatus, memory control method, and program
US20090210626A1 (en) * 2008-02-15 2009-08-20 International Business Machines Corporation Method, system and computer program product for cache coherency protocol with built in avoidance for conflicting responses
US20090240664A1 (en) * 2008-03-20 2009-09-24 Schooner Information Technology, Inc. Scalable Database Management Software on a Cluster of Nodes Using a Shared-Distributed Flash Memory
US20100199049A1 (en) * 2009-02-04 2010-08-05 Yokogawa Electric Corporation Parameter copying method and parameter copying device
CN205983466U (zh) * 2016-07-27 2017-02-22 四川迈实通科技有限责任公司 一种基于fpga的算法加速卡
WO2018090315A1 (zh) * 2016-11-18 2018-05-24 华为技术有限公司 数据请求的处理方法及缓存系统
CN109343896A (zh) * 2018-09-26 2019-02-15 山东超越数控电子股份有限公司 一种大数据处理系统
CN112087471A (zh) * 2020-09-27 2020-12-15 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法及fpga云平台
CN112269656A (zh) * 2020-10-16 2021-01-26 山东云海国创云计算装备产业创新中心有限公司 一种基于多核处理器的应用配置方法、装置和系统
CN112286688A (zh) * 2020-11-05 2021-01-29 北京深维科技有限公司 一种内存管理和使用方法、装置、设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
单祥茹: "英特尔深度布局5G网络服务,新一代加速卡打造端到端解决方案", 《中国电子商情(基础电子)》 *
郭进阳;邵传明;王靖;李超;朱浩瑾;过敏意: "FPGA图计算的编程与开发环境:综述和探索", 《计算机研究与发展》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430366A (zh) * 2022-01-25 2022-05-03 北京百度网讯科技有限公司 信息采集应用下发方法、相关装置及计算机程序产品
CN114430366B (zh) * 2022-01-25 2024-05-14 北京百度网讯科技有限公司 信息采集应用下发方法、相关装置及计算机程序产品
CN114567683A (zh) * 2022-02-28 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种内存互连方法、系统及相关装置
CN115827682A (zh) * 2023-02-10 2023-03-21 山东浪潮科学研究院有限公司 一种数据库查询加速引擎装置、方法及存储介质
CN115827682B (zh) * 2023-02-10 2023-04-18 山东浪潮科学研究院有限公司 一种数据库查询加速引擎装置、方法及存储介质

Also Published As

Publication number Publication date
US20240045869A1 (en) 2024-02-08
CN113905097B (zh) 2022-07-05
WO2023045134A1 (zh) 2023-03-30

Similar Documents

Publication Publication Date Title
CN113905097B (zh) 一种数据传输方法和装置
CN108268208B (zh) 一种基于rdma的分布式内存文件系统
CN109313644B (zh) 数据库代理所用的系统和方法
CN110402568B (zh) 一种通信的方法及装置
US8850101B2 (en) System and method to reduce memory access latencies using selective replication across multiple memory ports
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN107179878B (zh) 基于应用优化的数据存储的方法和装置
CN111277616B (zh) 一种基于rdma的数据传输方法和分布式共享内存系统
US10805392B2 (en) Distributed gather/scatter operations across a network of memory nodes
US11349922B2 (en) System and method for a database proxy
US20240039995A1 (en) Data access system and method, device, and network adapter
CN114201421B (zh) 一种数据流处理方法、存储控制节点及可读存储介质
CN110119304B (zh) 一种中断处理方法、装置及服务器
WO2020199760A1 (zh) 数据存储方法、存储器和服务器
JP2022530873A (ja) 機械学習アクセラレータに対する機械学習モデル更新
CN111400307A (zh) 支持远程并发访问的持久哈希表访问系统
CN110069431A (zh) 基于RDMA和HTM的弹性Key-Value键值对数据存储方法
CN115129621B (zh) 一种内存管理方法、设备、介质及内存管理模块
US11258887B2 (en) Payload cache
WO2015015727A1 (ja) ストレージ装置、データアクセス方法およびプログラム記録媒体
CN111541624B (zh) 空间以太网缓存处理方法
CN116257521B (zh) 一种基于fpga的kv存储方法
CN114327262A (zh) 一种用于智能网卡的维护端口映射的方法和装置
WO2024041140A1 (zh) 数据处理方法、加速器及计算设备
CN117075823B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 701, floor 7, building 3, courtyard 6, lizexi street, Chaoyang District, Beijing 100102

Applicant after: Beijing birui Data Technology Co.,Ltd.

Address before: Room 701, floor 7, building 3, courtyard 6, lizexi street, Chaoyang District, Beijing 100102

Applicant before: WEIXUN BORAY DATA TECHNOLOGY (BEIJING) Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220621

Address after: 231283 room 207, building F1, phase II, Hefei Innovation Industrial Park, No. 2800, innovation Avenue, high tech Zone, China (Anhui) pilot Free Trade Zone, Hefei, Anhui

Applicant after: Hefei Shenwei Ruisi Information Technology Co.,Ltd.

Address before: Room 701, floor 7, building 3, courtyard 6, lizexi street, Chaoyang District, Beijing 100102

Applicant before: Beijing birui Data Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20220107

Assignee: Beijing birui Data Technology Co.,Ltd.

Assignor: Hefei Shenwei Ruisi Information Technology Co.,Ltd.

Contract record no.: X2022990000524

Denomination of invention: A data transmission method and device

Granted publication date: 20220705

License type: Common License

Record date: 20220819