CN107315752B - 数据结转方法及系统 - Google Patents
数据结转方法及系统 Download PDFInfo
- Publication number
- CN107315752B CN107315752B CN201610270274.1A CN201610270274A CN107315752B CN 107315752 B CN107315752 B CN 107315752B CN 201610270274 A CN201610270274 A CN 201610270274A CN 107315752 B CN107315752 B CN 107315752B
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- forwarding
- keyword
- task
- 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.)
- Active
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- 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
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据结转方法及系统,其中,所述方法包括:配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID;对所述数据表分片,得到多个数据分片;采用多线程异步依次结转所述多个数据分片。所述系统包括配置模块,用于配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID;分片模块;用于将所述数据表分片,得到多个数据分片;和多个结转模块,与所述分片模块连接,用于结转所述多个数据分片。本发明配置简单,结转方便,极大地简化了结转、备份的操作流程,并且,极大地提高了结转、备份的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体地说,涉及一种数据结转方法及系统。
背景技术
对于大多数公司而言,随着公司高速地成长和规模不断地扩大,各种数据量也在疯狂地增长,存放数据的数据库表单容量达到上亿甚至几十亿的规模。如果从这么大数据量的表中查询出想要的数据,会是一个很慢的过程,甚至会导致数据库连接中断或无响应,更严重的会导致数据库崩溃,严重影响系统正常运行与用户体验。
目前的解决方案主要有以下两种:
分库分表:将数据库和数据表拆分成多个,把数据分摊到不同的库和表。
手动结转:手动将数据转移到历史库。
通过分析不同的业务场景,发现上述技术方案存在以下不足:
针对分库分表,首先,由于代码的历史遗留问题,开发成本大。其次,历史数据和近期数据的耦合度不好。再有,维护成本大。
关于手动结转,效率低、耗时长,并且成本大。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种数据结转方法及系统,用于高效率、低成本的完成数据结转。
为解决上述技术问题,根据本发明的一个方面,本发明提供了一种数据结转方法,其中,包括:
配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID;
对所述数据表分片,得到多个数据分片;和
采用多线程异步依次结转所述多个数据分片。
优选地,所述采用多线程异步结转所述多个数据分片的步骤包括:
将每一个数据分片分割成多个子片;
每一子片作为一个子片数据结转线程;
多个子片数据结转线程并行执行;和
当一个数据分片结转完成后,采用上述步骤执行下一个数据分片的结转,直到完成所有数据分片的结转。
优选地,在每一子片数据结转线程执行完之后还包括执行删除本子片数据的线程。
优选地,所述子片数据结转线程包括:
根据所述数据源信息连接到源数据库;
根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据;
将所述待结转数据转换成DLL格式的字符串;和
将所述DLL格式的字符串压缩并上传到目标存储区。
优选地,所述将所述DLL格式的字符串压缩并上传到目标存储区的步骤包括:
根据所述DLL格式的字符串生成字节输入流;
创建字节输出流,并包装成压缩输出流;
将所述字节输入流写入所述压缩输出流;和
将所述压缩输出流转换成字节输入流并上传到目标存储区。
为解决上述技术问题,根据本发明的另一个方面,本发明提供了一种数据结转系统,其中,包括:
配置模块,用于配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID
分片模块;用于将所述数据表分片,得到多个数据分片;和
多个结转模块,分别与所述分片模块连接,用于结转所述多个数据分片。
优选地,所述结转模块包括:
子片分割单元;与所述分片模块连接,用于将一个数据分片分割为多个子片;
多个子片结转单元,分别与所述子片分割单元相连接,用于结转所述多个子片;和
多个数据删除单元;分别与对应的子片结转单元相连接,用于删除已成功结转的子片数据。
优选地,所述子片结转单元包括:
数据查询子单元;用于根据所述数据源信息连接到源数据库,并根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据;
数据转换子单元;与所述数据查询子单元相连接,将所述待结转数据转换成DLL格式的字符串;
压缩子单元;将所述DLL格式的字符串压缩;和
上传子单元,将压缩后的字符串上传到目标存储区。
本发明配置简单,结转方便,极大地简化了结转、备份的操作流程。并且,本发明在后台采用多线程异步分割框架,生成文件不落地等方案,极大地提高了结转、备份的效率。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1为本发明所述数据结转方法及系统的原理示意图;
图2为本发明所述数据结转方法的简要流程图;
图3为本发明所述数据结转系统的原理结构示意图;
图4为本发明所述结转模块的原理结构示意图;
图5为本发明所述结转数据分片的简要流程图;
图6为本发明所述子片结转单元的原理结构示意图;
图7为本发明所述子片数据结转线程的简要流程图;和
图8为本发明所述字符串压缩并上传的简要流程图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
如图1所示,为本发明所述数据结转方法及系统的原理示意图。用A通过页面填写配置信息,所述的配置信息包括数据源信息(包含数据库类型,数据库连接串,用户名,密码)和结转条件(包含开始时间,结束时间,开始序列,即数据表转的起始主键ID,结束序列,即数据表转的结束主键ID)。该配置信息通过nginx发送给配置服务器,由配置服务器将这些配置信息存储到配置数据库Mysql中,并由Zookeeper集群根据用户A的结转指令采用多线程异步的方式分批处理不同的数据,即将需要结转的数据从源数据库中迁移到目标存储区,如Jss。本发明中的每个结转线程经过查询、转换、上传的流程,这个流程采用数据不落地(即不在磁盘生成文件)方案实现快速压缩上传,避免了与磁盘的交互,减少IO操作,所以极大提升了性能。在每一个结转线程完成后,由一个结果线程删除所述结转线程结转的数据,这样可以保证下一批数据的查询始终从0开始,解决了大数据查询缓慢的问题。接着用同样的方式处理下一批数据。当其中一个线程查询无数据时,标明已无数据,等待本批次的其他线程完成工作后,结束结转流程。本发明最大程度地利用系统资源,提升了处理效率。
具体地,参见图2,图2为本发明所述数据结转方法的简要流程图;所述数据结转方法包括以下步骤:
步骤S1,配置待结转数据的数据源信息和结转条件,其中,数据源信息包含数据库类型、数据库连接串(即用于连接到数据库的一个参数,例如数据库的IP地址)、用户名和密码,所述结转条件包括待结转数据表的起始主键ID、结束主键ID、开始时间和结束时间等等;
步骤S2,对所述数据表进行分片,得到多个数据分片;
步骤S3,采用多线程异步依次结转所述多个数据分片。
参见图3,为本发明所述数据结转系统的原理结构示意图。本发明所述的数据结转系统包括:配置模块1、分片模块2和多个结转模块3。其中,所述配置模块1用于实现步骤S1,即配置待结转数据的数据源信息和结转条件。所述分片模块2用于实现步骤S2,即将所述数据表分片,得到多个数据分片。所述多个结转模块3用于实现步骤S3,其与所述分片模块连接,分别结转一个数据分片。
如图4所示,为本发明所述结转模块的原理结构示意图。如图5所示,为本发明所述结转数据分片的简要流程图。结合图4和图5,对本发明如何结转数据分片进行详细说明。所述结转模块3包括:子片分割单元31、多个子片结转单元32和多个数据删除单元33。其中,所述子片分割单元31与所述分片模块2连接,用于将每一个数据分片分割为多个子片;每一个子片结转单元32分别与所述子片分割单元31相连接,用于结转所述多个子片。所述多个数据删除单元33与对应的子片结转单元32相连接,用于删除已成功结转的数据。
采用多线程异步结转所述多个数据分片的具体过程如下:
步骤S31,取一个数据分片。
步骤S32,将每一个数据分片分割成多个子片,每一个子片作为一个任务。
步骤S33,并行执行多个子片数据结转任务,即多线程并行执行。
步骤S34,判断是否全部的线程都执行完成,如果都执行完成,则执行步骤S35,如果没有,则继续步骤S33,并且,如果有线程先执行完,即没有数据时,则等待本批其他线程。
步骤S35,判断是否结转完成所有的数据分片,如果全部的数据分片都结转完成,则结束本次数据结转。如果还有数据分片需要结转,则转回步骤S31,重复上述步骤来执行下一个数据分片的结转,直到完成所有数据分片的结转。
更好地,在每一个子片数据结转线程执行完之后还包括执行删除本子片数据的线程。
如图6所示,为本发明所述子片结转单元32的原理结构示意图。所述子片结转单元32包括:数据查询子单元321、数据转换子单元322、压缩子单元323和上传子单元324。其中,所述数据查询子单元321用于根据所述数据源信息连接到源数据库,并根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据。所述数据转换子单元322与所述数据查询子单元321相连接,将所述待结转数据转换成DLL(Dynamic Link Library,动态链接文件)格式的字符串。所述压缩子单元323将所述DLL格式的字符串压缩。所述上传子单元324用于将压缩后的字符串上传到目标存储区。
图7为本发明所述子片数据结转线程的简要流程图;即单个线程的执行过程。所述子片数据结转线程包括:
步骤S331,根据所述数据源信息连接到源数据库。
步骤S332,根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据.
步骤S333,将所述待结转数据转换成DLL格式的字符串。
步骤S334,将所述DLL格式的字符串压缩并上传到目标存储区。
由于业务逻辑代码以长期增量的方式堆积,导致逻辑极其复杂和臃肿,更严重的是导致程序执行的性能严重降低,为了解决这种问题,本发明在结转所述数据分片时,采用了多线程分割的方法,也就是多任务并行执行,同时单个任务内部可以串行执行的一种框架。具体原理及实现步骤说明如下:
第一步:将多个任务通过begin(开始任务),then(必须在begin之后执行),after(非第一个执行)等关键词关联起来,如begin(A).then(B),after(A).then(C)。
第二步:判断关键词,如果是begin,after,那么将begin,after任务作为key,null作为值存入IdentityHashMap。如果是then,将then线程作为value存入key为begin或者after的IdentityHashMap,构建正向依赖,如果单个任务没有依赖,则添加一个默认的依赖给它。该单个依赖可以认为最后一个执行。如:
begin(A).then(B).then(C);
after(A).then(D).then(E);
after(A).then(F).then(G);
after(C,E,G).then(H);
生成的正向依赖:{E=[H],G=[H],H=[],A=[B,D,F],B=[C],F=[G],D=[E],C=[H]}。
第三步:根据正向依赖生成反向依赖,并保存每个反向依赖的size,如:H的size=3,A的size=0。
正向依赖:{E=[H],G=[H],H=[],A=[B,D,F],B=[C],F=[G],D=[E],C=[H]}。
反向依赖:{A=[],B=[A],E=[D],D=[A],G=[F],H=[E,G,C],C=[B],F=[A]}。
第四步:判断反向依赖的size,如果等于0,那么A第一个开始执行。
第五步:循环正向依赖的任务,并递减反向依赖size,递减后如果等于0,才能运行,这样可以确保H线程最后执行。如:当A运行的时候,循环正向依赖任务[B,D,F],B,D,F的反向依赖size递减一次后都为0,那么BDF可以同时异步运行,B运行的时候,循环正向依赖[C],C的反向依赖size递减一次后为0,那么C开始运行,同理C运行的时候循环[H],H反向依赖的size=3,递减一次后等于2,不满足等于0的条件,那么H不能运行,只有当E,G都运行完成后,H的反向依赖size递减3次后等于0,这时候H开始运行。
第六步:H线程开始运行,运行完成释放锁。
本发明利用上述原理,将数据结转过程分别查询数据库、转换成DDL、压缩并上传到Jss和删除本子片数据4个步骤。那么采用多线程分割框架包装后就变成这样:
begin(前置准备,分片标识);
after(查询数据库,转换成DDL,压缩并上传到Jss).then(删除本子片数据);
after(查询数据库,转换成DDL,压缩并上传到Jss).then(删除本子片数据);
after(查询数据库,转换成DDL,压缩并上传到Jss).then(删除本子片数据);
……。
其中,begin(前置准备,分片标识):表示需要的准备工作,包括维护结转条件、分片信息、任务名称等。只有执行完了这一步骤,才能执行下面的步骤。
after(查询数据库,转换成DDL,压缩并上传到Jss):每个after代表可以并行执行的任务,上面一共有n个after,那么并行执行有n个线程,括号内的描述是任务的具体内容。
then(删除本子片数据):表示这个任务必须在本after之后执行,也就是与本after是串行的关系。
具体的执行过程如前所述的说明,在此不再重复说明。
本发明在结转数据时,采用快速压缩上传技术,具体如图8所示,为本发明所述字符串压缩并上传的简要流程图。
步骤S3341,根据所述DLL格式的字符串生成字节输入流;
步骤S3342,创建字节输出流,并包装成压缩输出流;
步骤S3343,将所述字节输入流写入所述压缩输出流;
步骤S3344,将所述压缩输出流转换成字节输入流并上传到目标存储区。
从上述的处理过程可见,本发明在数据结转时没有生成文件,没有将文件压缩,而是在内存中将字符串压缩并上传,因而极大地提高了上传效率。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据结转方法,其中,包括:
配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID;
对所述数据表分片,得到多个数据分片;和
采用多线程异步依次结转所述多个数据分片,所述多线程异步框架如下:
将多个任务通过多个关键词关联起来,所述多个关键词的种类至少包括以下之一:表示开始任务的第一关键词,表示任务必须在其它任务之后执行的第二关键词,以及,表示任务非第一个执行的第三关键词;
根据各个所述关键词的种类将关联的所述多个任务构建正向依赖,其中,所述第一关键词和所述第三关键词所表示任务作为参数,所述第二关键词所表示任务作为紧跟关键词所表示任务的参数值,且所述正向依赖中没有依赖的任务最后一个执行;
根据所述正向依赖生成反向依赖并确定各个所述关键词的反向依赖长度,其中,所述反向依赖长度等于0的任务第一个开始执行;
循环执行所述正向依赖中所述关键词所表示任务,并在任务执行后递减所述关键词的所述反向依赖长度;
最后一个线程开始运行,运行完成释放锁。
2.如权利要求1所述的数据结转方法,其中,所述采用多线程异步依次结转所述多个数据分片的步骤包括:
将每一个数据分片分割成多个子片;
每一子片作为一个子片数据结转线程;
多个子片数据结转线程并行执行;和
当一个数据分片结转完成后,采用上述步骤执行下一个数据分片的结转,直到完成所有数据分片的结转。
3.如权利要求2所述的数据结转方法,其中,在每一子片数据结转线程执行完之后还包括执行删除本子片数据的线程。
4.如权利要求2或3所述的数据结转方法,其中,所述子片数据结转线程包括:
根据所述数据源信息连接到源数据库;
根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据;
将所述待结转数据转换成DLL格式的字符串;和
将所述DLL格式的字符串压缩并上传到目标存储区。
5.如权利要求4所述的数据结转方法,其中,所述将所述DLL格式的字符串压缩并上传到目标存储区的步骤包括:
根据所述DLL格式的字符串生成字节输入流;
创建字节输出流,并包装成压缩输出流;
将所述字节输入流写入所述压缩输出流;和
将所述压缩输出流转换成字节输入流并上传到目标存储区。
6.一种数据结转系统,其中,包括:
配置模块,用于配置待结转数据的数据源信息和结转条件,其中,所述结转条件包括待结转数据表的起始主键ID和结束主键ID;
分片模块;用于将所述数据表分片,得到多个数据分片;和
多个结转模块,分别与所述分片模块连接,用于采用多线程异步依次结转所述多个数据分片,所述多线程异步框架如下:
将多个任务通过多个关键词关联起来,所述多个关键词的种类至少包括以下之一:表示开始任务的第一关键词,表示任务必须在其它任务之后执行的第二关键词,以及,表示任务非第一个执行的第三关键词;
根据各个所述关键词的种类将关联的所述多个任务构建正向依赖,其中,所述第一关键词和所述第三关键词所表示任务作为参数,所述第二关键词所表示任务作为紧跟关键词所表示任务的参数值,且所述正向依赖中没有依赖的任务最后一个执行;
根据所述正向依赖生成反向依赖并确定各个所述关键词的反向依赖长度,其中,所述反向依赖长度等于0的任务第一个开始执行;
循环执行所述正向依赖中所述关键词所表示任务,并在任务执行后递减所述关键词的所述反向依赖长度;
最后一个线程开始运行,运行完成释放锁。
7.如权利要求6所述的数据结转系统,其中,所述结转模块包括:
子片分割单元;与所述分片模块连接,用于将一个数据分片分割为多个子片;
多个子片结转单元,分别与所述子片分割单元相连接,用于结转所述多个子片;和
多个数据删除单元;分别与对应的子片结转单元相连接,用于删除已成功结转的子片数据。
8.如权利要求7所述的数据结转系统,其中,所述子片结转单元包括:
数据查询子单元;用于根据所述数据源信息连接到源数据库,并根据子片数据表的起始主键ID和结束主键ID,查询所述源数据库,得到待结转数据;
数据转换子单元;与所述数据查询子单元相连接,将所述待结转数据转换成DLL格式的字符串;
压缩子单元;将所述DLL格式的字符串压缩;和
上传子单元,将压缩后的字符串上传到目标存储区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270274.1A CN107315752B (zh) | 2016-04-27 | 2016-04-27 | 数据结转方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270274.1A CN107315752B (zh) | 2016-04-27 | 2016-04-27 | 数据结转方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315752A CN107315752A (zh) | 2017-11-03 |
CN107315752B true CN107315752B (zh) | 2020-07-31 |
Family
ID=60185606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610270274.1A Active CN107315752B (zh) | 2016-04-27 | 2016-04-27 | 数据结转方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315752B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069523B (zh) * | 2017-11-23 | 2023-08-18 | 阿里巴巴集团控股有限公司 | 一种数据查询方法、装置和查询系统 |
CN109408491B (zh) * | 2018-09-29 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种数组规整方法、装置、终端及可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1032175A2 (en) * | 1999-01-07 | 2000-08-30 | Sun Microsystems, Inc. | System and method for transferring partitioned data sets over multiple threads |
CN104166600A (zh) * | 2014-08-01 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 数据备份与恢复方法及装置 |
CN105095384A (zh) * | 2015-07-01 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 数据结转的方法和装置 |
-
2016
- 2016-04-27 CN CN201610270274.1A patent/CN107315752B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1032175A2 (en) * | 1999-01-07 | 2000-08-30 | Sun Microsystems, Inc. | System and method for transferring partitioned data sets over multiple threads |
CN104166600A (zh) * | 2014-08-01 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 数据备份与恢复方法及装置 |
CN105095384A (zh) * | 2015-07-01 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 数据结转的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107315752A (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101320372B (zh) | 一种重复数据的压缩方法 | |
US20180121307A1 (en) | Monitoring processes running on a platform as a service architecture | |
JP5781685B2 (ja) | ログ管理計算機、及びログ管理方法 | |
US10095699B2 (en) | Computer-readable recording medium, execution control method, and information processing apparatus | |
CN107391770B (zh) | 一种处理数据的方法、装置、设备以及存储介质 | |
KR102559290B1 (ko) | 하이브리드 클라우드 기반의 실시간 데이터 아카이빙 방법 및 시스템 | |
CN110851409A (zh) | 一种日志压缩、解压缩方法、设备及存储介质 | |
CN110888842A (zh) | 一种文件存储方法、文件查询方法、装置及设备 | |
CN107315752B (zh) | 数据结转方法及系统 | |
WO2021012162A1 (zh) | 存储系统数据压缩的方法、装置、设备及可读存储介质 | |
CN111858760A (zh) | 一种异构数据库的数据处理方法及装置 | |
CN115905168B (zh) | 基于数据库的自适应压缩方法和装置、设备、存储介质 | |
CN101800761B (zh) | 一种基于网络字典的无损数据压缩方法 | |
CN1598811A (zh) | 数据压缩器、数据解压缩器以及数据管理系统 | |
US11556497B2 (en) | Real-time archiving method and system based on hybrid cloud | |
WO2024103752A1 (zh) | 文件传输方法、装置、系统、电子设备及存储介质 | |
US10083121B2 (en) | Storage system and storage method | |
CN108121807B (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
WO2010017322A1 (en) | Two stage differencing algorithm with adaptive compression | |
CN114896222A (zh) | 日志数据处理方法、装置、计算机设备、系统 | |
US20220245097A1 (en) | Hashing with differing hash size and compression size | |
CN104765790B (zh) | 一种数据查询的方法和装置 | |
JP6809060B2 (ja) | メールデータ管理装置、メールデータ管理方法、及び、メールデータ管理プログラム | |
CN117097717B (zh) | 一种用于仿真结果的文件传输优化方法、系统和电子设备 | |
CN110807092A (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 |