CN116628274A - 一种针对图数据库的数据写入方法、设备及介质 - Google Patents
一种针对图数据库的数据写入方法、设备及介质 Download PDFInfo
- Publication number
- CN116628274A CN116628274A CN202310911862.9A CN202310911862A CN116628274A CN 116628274 A CN116628274 A CN 116628274A CN 202310911862 A CN202310911862 A CN 202310911862A CN 116628274 A CN116628274 A CN 116628274A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- writing
- intermediate storage
- graph database
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012432 intermediate storage Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000004140 cleaning Methods 0.000 claims abstract description 6
- 238000003860 storage Methods 0.000 claims description 27
- 238000005192 partition Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000005111 flow chemistry technique Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 241000475481 Nebula Species 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种针对图数据库的数据写入方法、设备及介质,方法包括:通过流式处理引擎中的信息来源组件,接入对应的多种类型的数据源,并从数据源获取对应的待处理数据;确定图数据库对应的模式,对待处理数据进行转换清洗,得到已处理数据;通过流式处理引擎中数据写入组件,将已处理数据写入指定格式的中间存储文件中;对中间存储文件进行文件管理;通过指定数据加载程序读取中间存储文件,将已处理数据导入图数据库的指定节点中。通过流式处理引擎能够灵活处理离线及实时数据,实现精确的事件时间处理,提供窗口操作和状态管理机制,能够满足大量数据的快速录入。
Description
技术领域
本申请涉及电数字数据处理领域,具体涉及一种针对图数据库的数据写入方法、设备及介质。
背景技术
随着计算机技术的发展,数据量增长,而图数据库作为一种能够高效存储和查询复杂关系数据的数据库类型,受到了广泛关注。
在传统的方案中,由于图数据库的数据源及文件格式繁多,通常可以使用数据集成工具(比如,Nebula Exchange)进行数据处理,通过工具中包含的多种服务执行相应的动作。比如,通过通过Reader服务接入各种数据源及不同格式的离线文件,通过Processor服务进行转换处理,通过Writer服务输出到图数据库(比如,NebulaGraph)中。
上述方案能够在少量数据量的前提下,解决图数据库的数据采集与写入的问题,但是其仍然具有一些不足:
1、对于大量数据的采集及写入功能较差,难以满足大量数据的快速录入。
2、对特定计算引擎(比如,Spark)的依赖较强,当该计算引擎基于内存计算时,需要较大的内存空间来存储和处理数据,一旦数据量过大,超过了可用内存的容量,容易导致性能下降或程序崩溃。
3、并且基于内存计算,对于小数据集的处理可能会出现过度分配资源的情况,导致性能浪费。
发明内容
为了解决上述问题,本申请提出了一种针对图数据库的数据写入方法,包括:
通过流式处理引擎中的信息来源组件,接入对应的多种类型的数据源,并从所述数据源获取对应的待处理数据,所述数据源至少包括离线数据源、实时数据源;
确定图数据库对应的模式,并根据所述模式,对所述待处理数据进行转换清洗,得到已处理数据,以使所述已处理数据能够符合所述图数据库中,指定实体或关系所要求的所述模式;
通过所述流式处理引擎中数据写入组件,将所述已处理数据写入指定格式的中间存储文件中,所述指定格式为基于LSM树有序键值对的存储引擎;
对所述中间存储文件进行文件管理,所述文件管理至少包括命名管理、存储位置管理、文件切分管理;
将所述中间存储文件导入所述图数据库中,以通过指定数据加载程序读取所述中间存储文件,将所述已处理数据导入所述图数据库的指定节点中。
另一方面,本申请还提出了一种针对图数据库的数据写入设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:上述示例中所述的针对图数据库的数据写入方法。
另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:上述示例中所述的针对图数据库的数据写入方法。
通过本申请提出针对图数据库的数据写入方法能够带来如下有益效果:
通过流式处理引擎能够灵活处理离线及实时数据,实现精确的事件时间处理,提供窗口操作和状态管理机制,能够满足大量数据的快速录入。基于流式处理引擎框架,可以灵活选择数据写入的目的地,对外部系统的依赖比较自由,减少导致性能下降或程序崩溃的概率。
在数据写入过程中,采用事务的方式进行写入操作,保证了数据的准确性和一致性。在写入失败或者发生故障时,可以进行故障恢复和重试操作,确保数据的完整性。
通过中间存储文件,使用异步的写入方式,将写入操作放入异步线程池中进行,以减少写入操作对主线程的阻塞,并同时降低了出现过度分配资源的概率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中针对图数据库的数据写入方法的流程示意图;
图2为本申请实施例中一种场景下,针对图数据库的数据写入方法的示意图;
图3为本申请实施例中针对图数据库的数据写入设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,本申请实施例提供一种针对图数据库的数据写入方法,包括:
S101:通过流式处理引擎中的信息来源组件,接入对应的多种类型的数据源,并从所述数据源获取对应的待处理数据,所述数据源至少包括离线数据源、实时数据源。
图2为本申请实施例中一种场景下,针对图数据库的数据写入方法的示意图,在此结合图1和图2对本申请进行解释说明。
流式处理引擎可以是Flink,信息来源组件可以包括Source组件,其能够通过数据集API以及数据流API获取待处理数据。流式处理引擎可以对接多个数据源,从多个数据源获取数据,并导入图数据库(比如,NebulaGraph)中。在Flink中,其包含丰富的Source组件,故而可以借助Flink中Source组件的数据源读取功能,实现各种类型数据的灵活读取。
具体地,根据数据源,在预设数据类型中,确定本次需要获取的待处理数据的指定数据类型,其中,数据类型包括流式数据(数据流)、离线文件、数据库数据、分布式存储系统。根据指定数据类型,在信息来源组件中,选取匹配的信息来源组件,以通过匹配的信息来源组件,从数据源获取对应的待处理数据。比如,使用Kafka Source、Scoket Source、Flume Source等对接流式数据,使用File Source对接离线文件,使用JDBC Source对接各种数据库数据。
然而在一些情况下,可能包含一些特殊类型的数据,并不在预设数据类型中,此时,在指定数据类型不属于预设数据类型时,通过自定义的方式得到自定义信息来源组件,以通过自定义信息来源组件获取对应的待处理数据。比如,通过Custom Source自定义Source组件读取特殊类型的文件。
S102:确定图数据库对应的模式,并根据所述模式,对所述待处理数据进行转换清洗,得到已处理数据,以使所述已处理数据能够符合所述图数据库中,指定实体或关系所要求的所述模式。
具体地,确定图数据库的实体或关系的模式(Schema),模式信息可以用于描述文档结构以及保护数据通信,其可以包含视图、索引、数据类型、函数和操作符等。
通过流式处理引擎中包含的算子(比如,Flink算子),将待处理数据中的无效数据过滤,得到已过滤数据。无效数据可以包括,属性为空的数据、内容异常的数据等。对已过滤数据,按照预设规则进行排序,得到排序数据。预设规则可以是,按照接收的时间顺序、指定字段的大小顺序、指定字段的数据的所属类型等。对排序数据进行格式转换,得到已处理数据。
经过转换清洗后的已处理数据,能够符合图数据库中指定实体或关系所要求的Schema结构。
S103:通过所述流式处理引擎中数据写入组件,将所述已处理数据写入指定格式的中间存储文件中,所述指定格式为基于LSM树有序键值对的存储引擎。
中间存储文件可以是SSTable格式(简称为SST格式)的文件。SST格式是一种基于LSM树(LSM Tree)有序键值对的存储引擎,它通过数据排序、数据划分、块索引、压缩和合并等技术来提供高效的键值存储和查询能力。这使得SST格式在处理大规模数据、支持范围查询和迭代操作时具有较好的性能和存储效率,在处理同类型同规模的数据时效率较高。
具体地,通过流式处理引擎中数据写入组件(比如,使用Flink的Sink组件)将已处理数据写入中间存储文件,在写入过程中,可以设置一个缓冲区,将批量数据暂存到缓冲区中,当缓冲区达到设置的缓存阈值时,再将数据写入中间存储文件中,如此能够可以减少读写次数(IO次数),从而进一步提高数据写入的效率。此外,还可以使用Flink的窗口操作(比如,滚动窗口或滑动窗口)来控制批量写入的时机,可以根据程序的需求灵活设置,没有硬性限制,比如,控制多长时间间隔写入文件,或者文件数量达到多少数量写入文件等。
进一步地,在每次向缓冲区写入已处理数据时,可以根据已处理数据对应的数据源、指定数据类型,选取对应的分隔符,比如,将分隔符设置为两位的字符,第一位字符表示对应的数据源,第二位字符表示对应的指定数据类型,其中,每位字符预设多个字符值,不同的字符值表示不同的数据源或者数据类型。而若指定数据类型不属于预设数据类型时,则将分隔符的第二位字符设置为固定的特定分隔符。
通过流式处理引擎中数据写入组件,每次写入新的已处理数据时,首先将选取的分隔符写入缓冲区后,再将已处理数据写入缓冲区中,以通过分隔符,将已处理数据与之前的写入数据分隔。从而能够通过分隔符来区分不同的数据源或者指定数据类型。
此时,在写入中间存储文件中,不同的图数据库,以及每个图数据库中不同的指定节点可能均具有相应的需求,故而确定待写入的中间存储文件需要导入的图数据库,以及图数据库中需要导入的指定节点。并获取指定节点对应的文件需求,文件需求至少包括第一类需求、第二类需求以及第三类需求。每个图数据库、每个指定节点所设置的需求,然后传输至流式处理引擎中。
针对第一类需求,写入中间存储文件时要求最为严格,需要同时满足数据源和数据类型的要求,以保证该图数据库和指定节点在收到数据后的数据处理和分类。读取已写入缓冲区的分隔符,若该分隔符与上一个分隔符相同(分隔符的第一位字符和第二位字符均相同),则说明两者来源同一数据源,且数据类型也相同,则将该分隔符之后的已处理数据,继续写入与上一已处理数据相同的,同一个中间存储文件中;否则,将已处理数据写入新的中间存储文件中。
针对第二类需求,其要求相对宽松一些,需要两者中满足之一,读取已写入缓冲区的分隔符,若该分隔符与上一个分隔符,对应于同一数据源或同一指定数据类型(分隔符的第一位字符和第二位字符,只要有一位相同),则继续将该分隔符之后的已处理数据,继续写入同一个指定格式的中间存储文件中。否则,将已处理数据写入新的指定格式的中间存储文件中。
针对第三类需求,其要求最为宽松,不对每个中间存储文件中包含的已处理数据的数据源或数据类型做限制,将已处理数据写入中间存储文件,直至中间存储文件达到预设容量。
S104:对所述中间存储文件进行文件管理,所述文件管理至少包括命名管理、存储位置管理、文件切分管理。
具体地,确定中间存储文件需要导入的图数据库,以及图数据库中需要导入的指定节点。根据预设的命名规则,对中间存储文件进行命名,命名规则包括中间存储文件对应的数据源、数据类型、需要导入的图数据库、需要导入的指定节点。其中,对应的数据源、数据类型、需要导入的图数据库、需要导入的指定节点均可以通过预设的字符进行代替。通过设计合理的文件命名规则,方便后续的数据导入和查询。
并根据需要导入的图数据库、需要导入的指定节点,将中间存储文件存储至对应的分区,每个分区对应于一个图数据库或者一个指定节点。各分区之间可以通过分布式文件系统、对象存储系统或本地文件系统实现,从而保证高可靠,高可用,以及文件太大时对文件进行切分等管理工作。
S105:将所述中间存储文件导入所述图数据库中,以通过指定数据加载程序读取所述中间存储文件,将所述已处理数据导入所述图数据库的指定节点中。
图数据库可以为NebulaGraph,通过指定数据加载程序(比如,BULK LOAD程序,从而实现以批文件的形式处理文件,相对于传统的单条数据写入能够高效快速地将大量数据批量导入图数据库中),以批文件的形式读取中间存储文件,以获取已处理数据。在NebulaGraph中,提供相应的存储服务,每个存储服务对应于多个分区,相互之间能够通过RAFT协议实现数据同步。
将已处理数据分发到图数据库的各指定节点中,并以批量数据文件的形式,将已处理数据导入到图数据库的底层存储服务引擎(比如,RocksDB)中。
在数据源接入方面,使用Flink流批一体技术框架可以灵活处理离线及实时数据,实现精确的事件时间处理,提供窗口操作和状态管理机制。
在外部系统依赖方面,相比于传统方案中使用Spark生成SST格式文件,必须要保存到HDFS分布式文件系统当中,对外部存储系统依赖过重,本申请实施例中基于Flink框架,可以灵活选择数据的Sink目的地,对外部系统的依赖比较自由。
在容错与数据一致性方面,在数据写入过程中,为了保证数据的一致性,采用事务的方式进行写入操作。保证了数据的准确性和一致性。在写入失败或者发生故障时,可以进行故障恢复和重试操作,确保数据的完整性。
在性能优化方面,对数据进行分区和分片,将不同的数据写入到不同的NebulaGraph的分区或者副本中,以提高写入的并发度和性能。本申请实施例中使用异步写入方式,将写入操作放入异步线程池中进行,以减少写入操作对主线程的阻塞。
如图3所示,本申请实施例还提供了一种针对图数据库的数据写入设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:上述任一实施例所述的针对图数据库的数据写入方法。
本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:上述任一实施例所述的针对图数据库的数据写入方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种针对图数据库的数据写入方法,其特征在于,包括:
通过流式处理引擎中的信息来源组件,接入对应的多种类型的数据源,并从所述数据源获取对应的待处理数据,所述数据源至少包括离线数据源、实时数据源;
确定图数据库对应的模式,并根据所述模式,对所述待处理数据进行转换清洗,得到已处理数据,以使所述已处理数据能够符合所述图数据库中,指定实体或关系所要求的所述模式;
通过所述流式处理引擎中数据写入组件,将所述已处理数据写入指定格式的中间存储文件中,所述指定格式为基于LSM树有序键值对的存储引擎;
对所述中间存储文件进行文件管理,所述文件管理至少包括命名管理、存储位置管理、文件切分管理;
将所述中间存储文件导入所述图数据库中,以通过指定数据加载程序读取所述中间存储文件,将所述已处理数据导入所述图数据库的指定节点中。
2.根据权利要求1所述的方法,其特征在于,从所述数据源获取对应的待处理数据,具体包括:
根据所述数据源,在预设数据类型中,确定本次需要获取的待处理数据的指定数据类型,所述数据类型包括流式数据、离线文件、数据库数据;
根据所述指定数据类型,在所述信息来源组件中,选取匹配的信息来源组件,以通过匹配的信息来源组件,从所述数据源获取对应的待处理数据;
并在所述指定数据类型不属于所述预设数据类型时,通过自定义的方式得到自定义信息来源组件,以通过所述自定义信息来源组件获取对应的待处理数据。
3.根据权利要求1所述的方法,其特征在于,根据所述模式,对所述待处理数据进行转换清洗,得到已处理数据,具体包括:
通过所述流式处理引擎中包含的算子,将所述待处理数据中的无效数据过滤,得到已过滤数据;
对所述已过滤数据,按照预设规则进行排序,得到排序数据;
对所述排序数据进行格式转换,得到已处理数据。
4.根据权利要求1所述的方法,其特征在于,通过所述流式处理引擎中数据写入组件,将所述已处理数据写入指定格式的中间存储文件中,具体包括:
确定已设置的缓冲区;
通过所述流式处理引擎中数据写入组件,将所述已处理数据写入所述缓冲区中;
确定所述缓冲区达到已设置的缓存阈值,将缓冲区中的所述已处理数据写入指定格式的中间存储文件中。
5.根据权利要求4所述的方法,其特征在于,通过所述流式处理引擎中数据写入组件,将所述已处理数据写入所述缓冲区中,具体包括:
根据所述已处理数据对应的数据源、指定数据类型,选取对应的分隔符,其中,所述指定数据类型不属于预设数据类型时,对应于特定的分隔符;
通过所述流式处理引擎中数据写入组件,将选取的分隔符写入所述缓冲区后,再将所述已处理数据写入所述缓冲区中,以通过所述分隔符,将所述已处理数据与之前的写入数据分隔。
6.根据权利要求5所述的方法,其特征在于,将所述已处理数据写入指定格式的中间存储文件中,具体包括:
确定待写入的中间存储文件需要导入的图数据库,以及所述图数据库中需要导入的指定节点;
获取所述指定节点对应的文件需求,所述文件需求至少包括第一类需求、第二类需求以及第三类需求;
针对所述第一类需求,读取已写入所述缓冲区的所述分隔符,若该分隔符与上一个分隔符相同,则将该分隔符之后的所述已处理数据,继续写入同一个中间存储文件中;否则,将所述已处理数据写入新的中间存储文件中;
针对所述第二类需求,读取已写入所述缓冲区的所述分隔符,若该分隔符与上一个分隔符,对应于同一数据源或同一指定数据类型,则将该分隔符之后的所述已处理数据,继续写入同一个中间存储文件中;否则,将所述已处理数据写入新的中间存储文件中;
针对所述第三类需求,将所述已处理数据写入中间存储文件,直至所述中间存储文件达到预设容量。
7.根据权利要求1所述的方法,其特征在于,对所述中间存储文件进行文件管理,具体包括:
确定所述中间存储文件需要导入的图数据库,以及所述图数据库中需要导入的指定节点;
根据预设的命名规则,对所述中间存储文件进行命名,所述命名规则包括所述中间存储文件对应的数据源、数据类型、需要导入的图数据库、需要导入的指定节点;
并根据所述需要导入的图数据库、所述需要导入的指定节点,将所述中间存储文件存储至对应的分区。
8.根据权利要求1所述的方法,其特征在于,通过指定数据加载程序读取所述中间存储文件,将所述已处理数据导入所述图数据库的指定节点中,具体包括:
通过指定数据加载程序,以批文件的形式读取所述中间存储文件,以获取所述已处理数据;
将所述已处理数据分发到所述图数据库的各指定节点中,并以批量数据文件的形式,将所述已处理数据导入到所述图数据库的底层存储服务引擎中。
9.一种针对图数据库的数据写入设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:权利要求1~8中任一项权利要求所述的针对图数据库的数据写入方法。
10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:权利要求1~8中任一项权利要求所述的针对图数据库的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310911862.9A CN116628274B (zh) | 2023-07-25 | 2023-07-25 | 一种针对图数据库的数据写入方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310911862.9A CN116628274B (zh) | 2023-07-25 | 2023-07-25 | 一种针对图数据库的数据写入方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116628274A true CN116628274A (zh) | 2023-08-22 |
CN116628274B CN116628274B (zh) | 2023-09-22 |
Family
ID=87603032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310911862.9A Active CN116628274B (zh) | 2023-07-25 | 2023-07-25 | 一种针对图数据库的数据写入方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628274B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394852A (zh) * | 2024-06-26 | 2024-07-26 | 支付宝(杭州)信息技术有限公司 | 用于在线导入图数据的方法、装置和图数据库系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104319A1 (en) * | 2006-10-30 | 2008-05-01 | Microsoft Corporation | Dynamic database memory management policies |
CN110515957A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 一种区块链数据存储的方法、系统、设备及可读存储介质 |
CN111552628A (zh) * | 2020-03-20 | 2020-08-18 | 北京海致星图科技有限公司 | 一种针对图数据库及图服务接口进行分布式压测系统及方法 |
WO2020233037A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN112507029A (zh) * | 2020-12-18 | 2021-03-16 | 上海哔哩哔哩科技有限公司 | 数据处理系统及数据实时处理方法 |
US20210173831A1 (en) * | 2015-10-28 | 2021-06-10 | Qomplx, Inc. | System and method for analysis of graph databases using intelligent reasoning systems |
US11080262B1 (en) * | 2019-09-27 | 2021-08-03 | Amazon Technologies, Inc. | Optimistic atomic multi-page write operations in decoupled multi-writer databases |
CN114647689A (zh) * | 2022-03-10 | 2022-06-21 | 杭州欧若数网科技有限公司 | 一种图数据库数据导入的方法、系统、装置和介质 |
WO2022151593A1 (zh) * | 2021-01-13 | 2022-07-21 | 华为云计算技术有限公司 | 一种数据恢复方法、装置、设备、介质及程序产品 |
CA3150183A1 (en) * | 2021-02-25 | 2022-08-25 | 10353744 Canada Ltd. | Flink streaming processing engine method and device for real-time recommendation and computer equipment |
US20220398254A1 (en) * | 2020-12-25 | 2022-12-15 | Boe Technology Group Co., Ltd. | Data processing method, platform, computer-readable storage medium and electronic device |
CN115577028A (zh) * | 2022-10-09 | 2023-01-06 | 齐鲁工业大学 | 一种基于模块可编程扩展的etl工具构建方法 |
CN115658978A (zh) * | 2022-11-14 | 2023-01-31 | 杭州欧若数网科技有限公司 | 图数据库系统多源数据导入方法和装置 |
WO2023109964A1 (zh) * | 2021-12-16 | 2023-06-22 | 中移(苏州)软件技术有限公司 | 一种数据分析方法、装置、设备及计算机可读存储介质 |
CN116450890A (zh) * | 2023-03-23 | 2023-07-18 | 中电金信软件有限公司 | 图数据处理方法、装置、系统、电子设备及存储介质 |
-
2023
- 2023-07-25 CN CN202310911862.9A patent/CN116628274B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104319A1 (en) * | 2006-10-30 | 2008-05-01 | Microsoft Corporation | Dynamic database memory management policies |
US20210173831A1 (en) * | 2015-10-28 | 2021-06-10 | Qomplx, Inc. | System and method for analysis of graph databases using intelligent reasoning systems |
WO2020233037A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置及存储介质 |
CN110515957A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 一种区块链数据存储的方法、系统、设备及可读存储介质 |
US11080262B1 (en) * | 2019-09-27 | 2021-08-03 | Amazon Technologies, Inc. | Optimistic atomic multi-page write operations in decoupled multi-writer databases |
CN111552628A (zh) * | 2020-03-20 | 2020-08-18 | 北京海致星图科技有限公司 | 一种针对图数据库及图服务接口进行分布式压测系统及方法 |
CN112507029A (zh) * | 2020-12-18 | 2021-03-16 | 上海哔哩哔哩科技有限公司 | 数据处理系统及数据实时处理方法 |
US20220398254A1 (en) * | 2020-12-25 | 2022-12-15 | Boe Technology Group Co., Ltd. | Data processing method, platform, computer-readable storage medium and electronic device |
WO2022151593A1 (zh) * | 2021-01-13 | 2022-07-21 | 华为云计算技术有限公司 | 一种数据恢复方法、装置、设备、介质及程序产品 |
CA3150183A1 (en) * | 2021-02-25 | 2022-08-25 | 10353744 Canada Ltd. | Flink streaming processing engine method and device for real-time recommendation and computer equipment |
WO2023109964A1 (zh) * | 2021-12-16 | 2023-06-22 | 中移(苏州)软件技术有限公司 | 一种数据分析方法、装置、设备及计算机可读存储介质 |
CN114647689A (zh) * | 2022-03-10 | 2022-06-21 | 杭州欧若数网科技有限公司 | 一种图数据库数据导入的方法、系统、装置和介质 |
CN115577028A (zh) * | 2022-10-09 | 2023-01-06 | 齐鲁工业大学 | 一种基于模块可编程扩展的etl工具构建方法 |
CN115658978A (zh) * | 2022-11-14 | 2023-01-31 | 杭州欧若数网科技有限公司 | 图数据库系统多源数据导入方法和装置 |
CN116450890A (zh) * | 2023-03-23 | 2023-07-18 | 中电金信软件有限公司 | 图数据处理方法、装置、系统、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
施洪美;徐华;徐源;: "大理计量、调度数据接入阿里云平台的研究和实现", 中国管理信息化, no. 01 * |
肖克辉;倪德明;: "文件系统备份的流式处理算法设计与实现", 现代计算机, no. 06 * |
葛贤军;艾明浩;李志宏;汪旭;陈乃仕;: "基于CEP引擎的配电网运行监控信号大数据ETL方法", 电工电能新技术, no. 09 * |
陈崇成;林剑峰;吴小竹;巫建伟;连惠群;: "基于NoSQL的海量空间数据云存储与服务方法", 地球信息科学学报, no. 02 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118394852A (zh) * | 2024-06-26 | 2024-07-26 | 支付宝(杭州)信息技术有限公司 | 用于在线导入图数据的方法、装置和图数据库系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116628274B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533551B (zh) | 数据块级别的大数据统计 | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN107038207B (zh) | 一种数据查询方法、数据处理方法及装置 | |
CN110019218B (zh) | 数据存储与查询方法及设备 | |
CN106528787B (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
CN109241159B (zh) | 一种数据立方体的分区查询方法、系统及终端设备 | |
CN107168977B (zh) | 一种数据查询的优化方法及装置 | |
CN116628274B (zh) | 一种针对图数据库的数据写入方法、设备及介质 | |
US9389913B2 (en) | Resource assignment for jobs in a system having a processing pipeline that satisfies a data freshness query constraint | |
US20150286748A1 (en) | Data Transformation System and Method | |
CN103246749A (zh) | 面向分布式计算的矩阵数据库系统及其查询方法 | |
CN111221813B (zh) | 数据库索引以及数据库查询的处理方法、装置及设备 | |
CN111680017A (zh) | 一种数据同步的方法及装置 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
EP4209918A1 (en) | Data query method and apparatus, device, and storage medium | |
CN110019169B (zh) | 一种数据处理的方法及装置 | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
CN117609181A (zh) | 一种用于TChouse数据库迁移方法和系统 | |
CN108121807B (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
CN111221814B (zh) | 二级索引的构建方法、装置及设备 | |
CN116226043A (zh) | 日志的查询方法、系统、装置、处理器及电子设备 | |
CN114817226A (zh) | 政府数据的处理方法及装置 | |
CN113590623A (zh) | 一种用于数据深分页查询的方法、装置及设备 | |
CN112307272A (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN104252486B (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 |