CN107729504A - 一种处理大数据对象的方法及系统 - Google Patents
一种处理大数据对象的方法及系统 Download PDFInfo
- Publication number
- CN107729504A CN107729504A CN201710992008.4A CN201710992008A CN107729504A CN 107729504 A CN107729504 A CN 107729504A CN 201710992008 A CN201710992008 A CN 201710992008A CN 107729504 A CN107729504 A CN 107729504A
- Authority
- CN
- China
- Prior art keywords
- file
- interface
- interface routine
- write
- call request
- 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
Links
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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种处理大数据对象的方法及系统,能够简单、快速、准确地对大数据对象进行处理。包括如下步骤:调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;所述接口程序返回文件路径至所述调用端;所述调用端接收文件路径写入数据库。本发明使用一个应用接口,接口提供产生文件,访问文件的方法,通过调用此接口实现对文件的读写操作。通过接口处理方式代替直接在数据库中处理文件,从而达到节省数据库存储空间、减轻数据库压力,同时提高数据读写速度的目的。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种处理大数据对象的方法及系统。
背景技术
随着信息技术的发展,越来越多的企业开始利用信息技术为其生产经营服务,信息系统的建立与维护成为企业活动的一个重要组成部分,其重要性日益显著。
信息可以划分为两大类。一类信息能够用数据或统一的结构加以表示,我们称之为结构化数据,如数字、符号;而另一类信息无法用数字或统一的结构表示,如文本、图像、声音、网页等,我们称之为非结构化数据。结构化数据也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。结构化数据可以方便的进行检索,分析,统计。
数据库提供了大字段类型用于存储非结构化数据,LOB字段是Oracle数据库用于存储大数据对象的字段类型,包括BLOB、CLOB、NLOB、BFILE。
对于MySql,BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。
在Oracle中当LOB字段大小超过4k时,数据库会单独为该LOB字段分配额外的BLOBSegments存储BLOB对象,存储在lobsegment中的lob缺省不在缓冲区缓存,对于lob的读写都是物理IO,代价非常高,所以对于大于4kb的lob字段更新效率非常低。
被删除或更新的BLOB字段所占用空间不会自动批量回收,当所在表有大量的删除、更新操作时,BLOB所在Segments会迅速耗尽空间,新的INSERT需要空间时,会在高水位线上加锁后,回收曾使用但已经过期的BLOB空间,由于该操作效率很低,此时数据库就会有大量的‘enq:HW – contention’等待,相关SQL会由于该等待而串行执行,业务受影响十分严重。因此LOB字段不适合在有大批量删除、更新操作的并发场合使用。
MySql在操作数据的时候,以page为单位,不管是更新,插入,删除一行数据,都需要将那行数据所在的page读到内存中,然后再进行操作,这样就存在一个命中率的问题,如果一个page中能够相对的存放足够多的行,那么命中率就会相对高一些,性能就会有提升。
由于一个page的size(16k)有限,当记录中存在大字段时,不必要的数据(大字段)也会随着需要操作的数据一同被读取到内存中来,这样带来的问题由于大字段会占用较大的内存(相比其他小字段),使得内存利用率较差,造成更多的随机读取。
综上所述,直接使用数据库存取大数据对象有其适用场景,在数据量不大,读写速度要求不高时,可以简化设计,直接访问数据库数据,不用做额外的操作。
在对数据读写速度要求比较高的场景,直接在数据库存取大数据对象需要对数据库底层原理有相当了解,设计出合适的方案以提高效率,且效率的提升有其瓶颈。
发明内容
为了解决上述技术问题,本发明提供了一种处理大数据对象的方法及系统,能够简单、快速、准确地对大数据对象进行处理。
作为第一方面:一种处理大数据对象的方法,包括如下步骤:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
本发明使用一个应用接口,接口提供产生文件,访问文件的方法,通过调用此接口实现对文件的读写操作。
结合第一方面,在第一方面的第一种可能的实现方式中,所述调用请求的请求参数为json字符串,所述json字符串包含bussID(业务ID)、fileName(文件名)、extName(文件扩展名)、existOp(写入方式)、atePath(文件日期)、content(文件内容)中的一种或多种。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述调用端向接口程序发起调用请求后,所述接口程序校验请求参数合法性。
结合第一方面,在第一方面的第三种可能的实现方式中,所述调用端向接口程序发起调用请求后,所述接口程序获取文件句柄;所述文件句柄用于读取文件数据流。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述接口程序获取文件句柄后,所述接口程序根据文件名及存储空间判断文件是否写入文件服务器。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述接口程序将文件写入文件服务器前,保持接口程序文件写一致性状态;
所述接口程序将文件写入文件服务器后,解除接口程序文件写一致性状态。
作为第二方面,本发明提供了一种处理大数据对象的系统,包括调用模块、接口模块、文件服务模块、数据库模块;
所述调用模块用于向所述接口模块发送调用请求,请求调用接口模块的接口程序进行文件写入文件服务模块操作;
所述接口模块用于实现对文件的读写操作,并生成所述文件的访问链接;
所述文件服务模块用于存储所述文件;
所述数据库模块用于存储所述文件的访问链接。
作为第三方面,本发明提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行,其特征在于所述指令为:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
作为第四方面,本发明提供了一种终端设备,包括:处理器,适于实现各种指令;存储设备,适于存储有多条指令,所述指令适于由处理器加载并执行,其特征在于所述指令为:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
有益效果:本发明使用一个应用接口,接口提供产生文件,访问文件的方法,通过调用此接口实现对文件的读写操作。同时会提供文件的访问链接,通过http方式和接口调用端式都可以访问文件,非常高效便捷。本发明的核心接口是写文件接口,通过接口处理方式代替直接在数据库中处理文件,从而达到节省数据库存储空间、减轻数据库压力,同时提高数据读写速度的目的。
附图说明
图1为本发明执行第1实施例写操作接口调用流程示意图;
图2为本发明执行第2实施例写操作接口调用流程示意图;
图3为调用接口写文本的请求参数
图4为写文件接口返回值;
图5为通过http方式访问文件示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1:如图1所示,为本发明所述的一种数据文件的处理方法,其步骤如下:
步骤S101,调用端对接口发出调用请求,请求参数是json字符串,包含:bussId(业务id):此文件是属于那个业务;
fileName(文件名):文件名称;
extName(文件扩展名):标识文件类型;
existOp(写入方式):是追加写还是覆盖写;
datePath(文件日期):日期做为文件路径的一部分;
content(文件内容): 文件内容。
步骤S102,接口方收到调用端请求后,对请求参数进行检验:如json串是否格式正确、业务id是否存在;参数合法则进行下一步,不合法则返回错误代码给调用端。
步骤S103,接口程序将文件写入文件服务器,并生成文件路径;所述文件路径可为:
url:可以直接访问的http地址;
path:可以通过taf服务获取内容时需要的相对路径。
步骤S104,接口程序将文件路径返回调用端。
步骤S105,调用端接收文件路径写入数据库。
实施例2:如图2所示实施例,已股票行业的基金公告为例进行说明。现有一基金公告表需要记录基金公告相关信息,包含发布时间、标题、证券代码、公告附件等。附件需要调用接口处理,将附件存储在文件服务器,数据库里只记录附件路径。产生一条记录时应用程序发起调用请求,按以下步骤进行:
步骤s201,调用端根据向接口发起调用请求。
步骤s202,接口程序校验参数合法性。
步骤s203,接口程序获取公告附件句柄,句柄可理解为I/O通道,通过句柄对文件数据流进行读取。
步骤s204,接口程序判断文件是否可以写入,如判断同名文件有没有被占用,磁盘空间是否足够。
步骤s205,保持文件写一致性状态。
步骤s206,接口程序将公告附件写入文件服务器,生成文件路径;所述文件路径可为:
url:可以直接访问的http地址;
path:可以通过taf服务获取内容时需要的相对路径。
步骤s207,解除文件写一致性状态。
步骤s208,调用端接收接口程序发送的文件路径写入数据库。
实施例3:如图3所示,结合实施例2中的例子,所述调用端向所述接口程序发送的请求参数是json字符串,所述调用请求包含如下参数:
bussId(业务id):“dc_com_que_ans.ans_cont”;
fileName(文件名):“9059fe3efd3741e7efaab5ae23666c67.txt”;
extName(文件扩展名):“txt”;
existOp(写入方式):“0”;“0”表示写入方式为覆盖,指替换同名文件;“1”表示返回错误,“2”表示写入方式为追加写,指在原有的基础上追加写入;
datePath(文件日期):“2016/08/10”,做为文件路径的一部分;
content(文件内容):“感谢您对公司的关注!现就您关注的问题回复如下:标的资产华商传媒······”。
实施例4:如图4所示,结合实施例2中的例子,所述步骤S103和步骤S206中提到的文件路径可为:
url:可以直接访问的http地址;
path:可以通过taf服务获取内容时需要的相对路径。
调用端可以根据上述文件路径直接读取文件服务器中的文件(比如文本文件等),因为一个page的size(16k)有限,当记录中存在大字段时,不必要的数据(大字段)也会随着需要操作的数据一同被读取到内存中来,这样带来的问题由于大字段会占用较大的内存(相比其他小字段),使得内存利用率较差,造成更多的随机读取。而通过所述文件路径替代所述大字段这一方法,可以大大缩小其内存占用量,提高内存利用率,从而提高了读取速率。
实施例5:如图5所示,结合实施例3和实施例4中所述例子,当用户在调用端输入url文件路径后可直接访问文件服务器中对应文件路径的文本文件。图5为在浏览器的地址栏输入url文件路径后访问的文本文件界面。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (9)
1.一种处理大数据对象的方法,其特征在于包括:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
2.根据权利要求1所述的一种处理大数据对象的方法,其特征在于:所述调用请求的请求参数为json字符串,所述json字符串包含bussId(业务id)、fileName(文件名)、extName(文件扩展名)、existOp(写入方式)、atePath(文件日期)、content(文件内容)中的一种或多种。
3.根据权利要求2所述的一种处理大数据对象的方法,其特征在于:所述调用端向接口程序发起调用请求后,所述接口程序校验请求参数合法性。
4.根据权利要求1所述的一种处理大数据对象的方法,其特征在于:所述调用端向接口程序发起调用请求后,所述接口程序获取文件句柄;所述文件句柄用于读取文件数据流。
5.根据权利要求4所述的一种处理大数据对象的方法,其特征在于:所述接口程序获取文件句柄后,所述接口程序根据文件名及存储空间判断文件是否写入文件服务器。
6.根据权利要求5所述的一种处理大数据对象的方法,其特征在于:所述接口程序将文件写入文件服务器前,保持接口程序文件写一致性状态;
所述接口程序将文件写入文件服务器后,解除接口程序文件写一致性状态。
7.一种处理大数据对象的系统,其特征在于:包括调用模块、接口模块、文件服务模块、数据库模块;
所述调用模块用于向所述接口模块发送调用请求,请求调用接口模块的接口程序进行文件写入文件服务模块操作;
所述接口模块用于实现对文件的读写操作,并生成所述文件的访问链接;
所述文件服务模块用于存储所述文件;
所述数据库模块用于存储所述文件的访问链接。
8.一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行,其特征在于所述指令为:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
9.一种终端设备,包括:处理器,适于实现各种指令;存储设备,适于存储有多条指令,所述指令适于由处理器加载并执行,其特征在于所述指令为:
调用端向接口程序发起调用请求,所述接口程序提供文件的读、写操作;
所述接口程序接收调用请求写入文件至文件服务器,生成文件路径;
所述接口程序返回文件路径至所述调用端; 所述调用端接收文件路径写入数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710992008.4A CN107729504A (zh) | 2017-10-23 | 2017-10-23 | 一种处理大数据对象的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710992008.4A CN107729504A (zh) | 2017-10-23 | 2017-10-23 | 一种处理大数据对象的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107729504A true CN107729504A (zh) | 2018-02-23 |
Family
ID=61212331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710992008.4A Pending CN107729504A (zh) | 2017-10-23 | 2017-10-23 | 一种处理大数据对象的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729504A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359144A (zh) * | 2018-08-24 | 2019-02-19 | 中国建设银行股份有限公司 | 数据存储方法及系统、装置和存储介质 |
CN110209685A (zh) * | 2019-06-12 | 2019-09-06 | 北京九章云极科技有限公司 | 一种数据实时处理方法及系统 |
CN111611011A (zh) * | 2020-04-13 | 2020-09-01 | 中国科学院计算机网络信息中心 | 一种支持Blob数据类型的JSON语法扩展方法和解析方法及装置 |
CN113468167A (zh) * | 2020-03-31 | 2021-10-01 | 中国移动通信集团湖南有限公司 | 一种数据库高水位回收方法、装置及电子设备 |
CN113656474A (zh) * | 2021-08-05 | 2021-11-16 | 京东科技控股股份有限公司 | 业务数据的接入方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001011486A2 (en) * | 1999-08-05 | 2001-02-15 | Oracle Corporation | Internet file system |
CN105824932A (zh) * | 2016-03-18 | 2016-08-03 | 浪潮软件集团有限公司 | 一种基于阿里云对象存储oss的档案系统 |
CN106254466A (zh) * | 2016-08-05 | 2016-12-21 | 河海大学常州校区 | 基于局域网的hdfs分布式文件共享方法 |
-
2017
- 2017-10-23 CN CN201710992008.4A patent/CN107729504A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001011486A2 (en) * | 1999-08-05 | 2001-02-15 | Oracle Corporation | Internet file system |
CN105824932A (zh) * | 2016-03-18 | 2016-08-03 | 浪潮软件集团有限公司 | 一种基于阿里云对象存储oss的档案系统 |
CN106254466A (zh) * | 2016-08-05 | 2016-12-21 | 河海大学常州校区 | 基于局域网的hdfs分布式文件共享方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359144A (zh) * | 2018-08-24 | 2019-02-19 | 中国建设银行股份有限公司 | 数据存储方法及系统、装置和存储介质 |
CN110209685A (zh) * | 2019-06-12 | 2019-09-06 | 北京九章云极科技有限公司 | 一种数据实时处理方法及系统 |
CN110209685B (zh) * | 2019-06-12 | 2020-04-21 | 北京九章云极科技有限公司 | 一种数据实时处理方法及系统 |
CN113468167A (zh) * | 2020-03-31 | 2021-10-01 | 中国移动通信集团湖南有限公司 | 一种数据库高水位回收方法、装置及电子设备 |
CN113468167B (zh) * | 2020-03-31 | 2023-04-11 | 中国移动通信集团湖南有限公司 | 一种数据库高水位回收方法、装置及电子设备 |
CN111611011A (zh) * | 2020-04-13 | 2020-09-01 | 中国科学院计算机网络信息中心 | 一种支持Blob数据类型的JSON语法扩展方法和解析方法及装置 |
CN113656474A (zh) * | 2021-08-05 | 2021-11-16 | 京东科技控股股份有限公司 | 业务数据的接入方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729504A (zh) | 一种处理大数据对象的方法及系统 | |
US9990276B2 (en) | Read-write control method for memory, and corresponding memory and server | |
US10705735B2 (en) | Method and device for managing hash table, and computer program product | |
CN103577339A (zh) | 一种数据存储方法及系统 | |
US11314689B2 (en) | Method, apparatus, and computer program product for indexing a file | |
CN107391544B (zh) | 列式存储数据的处理方法、装置、设备及计算机储存介质 | |
US10789170B2 (en) | Storage management method, electronic device and computer readable medium | |
CN106980665A (zh) | 数据字典实现方法、装置及数据字典管理系统 | |
US20240086332A1 (en) | Data processing method and system, device, and medium | |
CN109918352B (zh) | 存储器系统和存储数据的方法 | |
CN107480074A (zh) | 一种缓存方法、装置及电子设备 | |
CN105653720A (zh) | 一种可灵活配置的数据库分层存储优化方法 | |
US9928259B2 (en) | Deleted database record reuse | |
CN116257523A (zh) | 一种基于非易失存储器的列式存储索引方法及装置 | |
CN107766258A (zh) | 内存存储方法与装置、内存查询方法与装置 | |
CN116431080B (zh) | 一种数据落盘方法、系统、设备及计算机可读存储介质 | |
CN104391947A (zh) | 海量gis数据实时处理方法及系统 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
US11474981B2 (en) | Database dual-core storage system based on optical disk and method using the system | |
US20230409235A1 (en) | File system improvements for zoned storage device operations | |
CN113157692B (zh) | 一种关系型内存数据库系统 | |
CN101373473B (zh) | 减少嵌入式系统闪存中文件数量的方法及系统 | |
US11314430B2 (en) | Reading data in sub-blocks using data state information | |
CN106649135A (zh) | 一种单控存储的缓存管理方法及装置 | |
CN114625713A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180223 |
|
WD01 | Invention patent application deemed withdrawn after publication |